This project is read-only.

How did the guy made the logo?

Dec 26, 2010 at 3:44 AM
Edited Dec 26, 2010 at 3:49 AM

In the cosmos source there is a project named stevekernel and he somehow made the Cosmos logo in VGA.

How the hell did he do that?I would like to do the same ting for my OS..Help!THX in advance!

And,how do i switch back to the console after the VGA screen?

Btw if you want the code here it is

 

using System;
using System.Collections.Generic;
using System.Text;
using Cosmos.Hardware;

namespace SteveKernel
{
    class CosmosLogo
    {
        static uint width = 220;
        static uint height = 100;

        static byte[] pal = new byte[] {3,7,3,7,10,7,5,9,5,8,11,8,9,12,9,12,14,12,13,16,13,16,17,16,19,20,19,20,22,20,16,19,16,18,20,18,21,23,21,22,24,22,24,25,24,25,27,25,26,28,26,28,29,28,2,6,2,1,6,1,0,6,0,0,6,0,
            3,8,3,2,8,2,5,9,5,2,8,2,8,11,8,12,15,12,0,7,0,0,7,0,0,8,0,0,8,0,0,8,0,0,9,0,14,17,14,16,19,16,18,20,18,20,22,20,22,24,22,23,25,23,25,26,25,24,26,24,27,28,27,25,28,25,29,30,29,28,30,28,30,32,30,30,32,30,30,32,30,32,33,32,
33,34,33,34,36,34,36,37,36,32,34,32,34,36,34,36,38,36,37,38,37,38,40,38,38,40,38,40,41,40,40,42,40,42,44,42,44,45,44,43,44,43,44,46,44,46,48,46,47,49,47,48,50,48,48,50,48,49,52,49,52,54,52,51,53,51,52,54,52,53,56,53,55,58,55,56,58,56,
56,58,56,57,60,57,60,62,60,0,9,0,0,9,0,0,10,0,0,10,0,0,10,0,0,11,0,0,11,0,0,12,0,0,12,0,0,12,0,0,13,0,0,13,0,0,14,0,0,14,0,0,15,0,0,15,0,0,15,0,0,16,0,0,16,0,0,16,0,0,16,0,
0,17,0,0,17,0,0,17,0,0,17,0,0,18,0,0,18,0,0,18,0,0,18,0,59,62,59,60,62,60,61,64,61,62,66,62,64,66,64,64,66,64,65,68,65,68,69,68,66,70,66,69,70,69,69,72,69,70,74,70,72,74,72,72,74,72,73,76,73,
76,78,76,75,79,75,76,78,76,78,80,78,78,82,78,80,81,80,81,82,81,82,84,82,84,86,84,82,86,82,84,86,84,86,88,86,87,90,87,88,90,88,88,90,88,89,92,89,92,93,92,91,94,91,92,94,92,94,96,94,94,98,94,96,98,96,96,98,96,98,101,98,100,102,100,99,103,99,100,102,100,
101,104,101,102,106,102,104,106,104,104,106,104,106,108,106,108,109,108,107,110,107,108,110,108,109,112,109,110,114,110,112,113,112,112,114,112,112,116,112,116,118,116,114,118,114,116,118,116,117,120,117,118,122,118,120,122,120,120,122,120,120,
124,120,124,125,124,122,126,122,124,126,124,126,128,126,128,130,128,128,130,128,130,132,130,132,134,132,134,136,134,136,138,136,138,140,138,139,142,139,140,142,140,141,144,141,143,146,143,144,146,144,144,146,144,146,148,146,148,150,148,147,149,147,148,150,148,150,152,150,151,154,151,152,154,152,152,154,152,154,156,154,155,158,155,156,158,156,158,160,158,
159,161,159,160,162,160,161,164,161,163,165,163,164,166,164,165,168,165,166,169,166,168,170,168,169,172,169,171,174,171,172,174,172,173,176,173,174,177,174,176,178,176,177,180,177,179,181,179,180,182,180,181,184,181,182,185,182,184,186,184,185,188,185,186,
189,186,188,190,188,189,192,189,190,193,190,192,195,192,193,196,193,194,197,194,196,198,196,197,200,197,198,201,198,200,203,200,201,204,201,202,205,202,204,207,204,205,208,205,206,209,206,208,210,208,209,212,209,210,213,210,212,215,212,213,216,213,214,217,214,216,218,216,217,220,217,218,221,218,220,222,220,221,224,221,222,225,222,224,227,224,
225,228,225,227,230,227,228,231,228,229,232,229,230,233,230,232,235,232};
        static byte[] data = new byte[] {107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,105,101,98,97,94,94,95,97,99,101,105,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,104,93,88,82,31,20,22,3,4,34,34,35,35,35,34,6,4,4,24,23,30,33,84,89,97,106,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,101,89,81,25,4,36,43,51,71,125,145,162,176,181,188,191,192,191,
188,181,177,165,149,132,109,58,47,39,34,2,28,82,90,104,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,97,
84,21,27,38,55,122,163,196,220,242,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,251,232,211,184,154,110,54,39,4,30,87,102,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,105,87,25,35,45,112,168,210,244,254,253,254,253,254,254,254,255,255,255,254,253,255,254,255,253,254,255,254,255,255,255,254,254,254,
255,255,255,238,202,162,73,43,5,31,91,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,97,33,26,43,110,176,226,253,255,253,254,255,255,254,255,255,
254,255,255,255,255,255,255,254,255,253,255,255,253,255,255,254,254,255,255,255,253,253,255,254,255,253,253,217,162,65,38,25,96,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,100,31,35,58,146,212,251,254,253,255,253,255,253,253,253,253,253,254,253,253,253,252,253,253,253,253,253,255,253,253,255,253,253,253,254,253,253,253,255,255,253,253,253,255,253,253,254,244,
182,73,6,83,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,100,31,6,63,166,232,253,254,253,254,254,253,253,253,255,253,255,254,255,253,255,254,253,255,253,253,255,255,253,253,
255,253,253,253,253,255,253,253,255,253,253,253,253,254,254,253,255,255,255,253,253,242,140,38,87,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,86,34,58,164,238,253,254,254,255,254,253,
254,254,255,253,253,255,253,253,253,254,253,253,255,252,255,255,253,253,255,253,253,255,253,255,255,253,255,255,253,255,253,253,255,253,255,253,253,253,253,254,254,253,249,138,6,93,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,93,25,42,140,229,253,252,253,253,253,253,253,253,253,253,252,253,253,253,253,253,253,253,253,253,253,253,249,246,241,237,235,238,241,246,250,253,252,253,253,253,253,253,
253,253,253,253,252,253,253,253,253,253,253,253,253,240,71,30,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,86,37,73,202,251,252,252,253,253,253,253,253,253,253,253,253,253,253,253,253,253,249,226,202,
180,162,139,123,112,78,78,78,110,110,78,78,112,120,136,153,173,189,213,235,253,253,253,253,253,253,253,253,253,253,253,253,253,252,176,35,96,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,104,30,43,146,238,251,
253,252,252,252,253,252,252,252,253,253,252,252,252,250,220,181,144,112,78,110,78,112,118,125,131,134,138,138,138,138,138,134,131,126,121,115,110,110,78,78,120,158,189,229,251,253,253,253,252,253,
253,253,252,253,223,53,89,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,104,34,61,188,252,252,252,252,252,252,252,252,252,252,252,252,252,249,214,166,118,78,78,114,130,143,154,166,173,173,173,172,172,172,174,173,171,
170,172,172,172,172,170,168,158,150,138,123,110,110,78,127,181,232,252,252,252,252,252,252,251,247,58,33,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,89,4,74,217,251,251,251,252,251,251,251,251,251,251,251,251,238,182,
123,78,110,123,142,162,172,172,172,172,170,170,172,172,172,172,172,170,170,172,174,170,172,172,172,174,170,172,172,170,172,170,155,138,117,78,110,198,251,251,251,251,251,252,249,65,81,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,93,39,119,234,251,251,251,252,251,251,251,251,251,251,251,234,172,112,78,118,142,163,172,172,172,170,172,170,172,172,172,170,172,170,170,172,172,172,170,170,172,170,170,170,170,172,170,172,172,
170,170,170,172,170,138,78,211,251,251,251,251,251,251,240,55,79,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,86,10,127,240,251,251,251,251,251,250,251,251,251,251,242,178,111,78,126,154,170,170,172,170,172,170,172,170,170,172,
170,170,170,170,172,172,170,170,170,170,172,170,172,172,172,172,170,172,170,170,172,170,172,170,170,130,110,241,251,251,251,251,251,251,211,45,90,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,96,43,132,242,250,251,251,250,251,250,251,
251,251,250,202,122,78,122,158,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,169,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,114,139,252,250,251,
250,251,250,250,175,34,97,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,91,6,124,241,251,250,250,250,251,250,251,250,250,238,156,108,114,148,170,167,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,172,170,170,170,170,170,
170,170,170,170,170,170,170,170,170,170,170,170,170,170,162,78,179,250,251,250,251,250,251,251,132,25,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,38,116,235,250,250,250,250,250,250,250,250,250,217,122,78,131,166,170,170,170,167,170,
168,170,167,170,167,170,170,170,170,167,170,170,170,170,167,170,170,170,170,170,167,170,170,170,170,167,170,170,170,170,170,170,170,170,142,78,213,250,250,250,250,250,250,241,60,32,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,104,23,69,229,
250,250,250,250,250,249,250,250,250,193,108,110,148,170,167,167,168,167,170,167,170,170,170,168,170,167,167,170,170,170,170,170,170,167,167,167,167,167,170,170,167,170,167,167,167,167,170,168,167,170,
167,170,167,170,126,78,243,250,250,250,250,250,250,211,43,89,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,81,61,208,249,249,249,249,250,250,250,250,248,177,108,118,159,167,167,170,167,170,170,167,170,167,167,167,170,167,170,170,166,168,167,
168,166,168,170,170,170,168,170,166,168,170,168,170,170,170,170,168,167,170,166,170,166,170,166,114,142,250,250,250,249,249,250,249,174,6,100,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,86,43,172,249,249,249,249,249,249,249,250,247,170,108,122,
164,167,167,167,167,167,167,167,167,167,167,167,167,167,167,166,166,170,167,167,167,170,167,166,167,166,167,167,170,167,167,167,166,166,167,166,167,167,167,170,167,170,167,158,77,179,249,249,249,249,
249,249,250,130,23,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,43,127,247,249,249,248,249,248,249,248,248,172,77,123,166,167,168,167,167,167,168,167,167,167,167,167,168,167,167,167,167,168,166,167,168,167,167,167,167,166,168,164,162,158,159,
159,162,166,168,167,167,167,167,167,166,168,166,168,142,78,214,247,249,248,249,248,249,241,57,33,107,107,100,89,84,33,39,33,39,30,43,33,81,84,89,96,107,107,107,107,107,107,107,107,107,
104,96,96,96,96,96,96,96,96,96,96,96,96,100,107,107,107,107,107,107,107,107,107,107,107,100,96,96,96,96,96,96,96,96,96,96,96,100,104,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,93,86,81,43,33,43,31,43,81,84,89,100,107,107,104,89,81,48,33,43,33,81,86,100,107,107,107,107,107,107,107,107,107,107,107,91,86,81,43,33,43,31,43,81,81,
86,91,100,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,30,61,223,249,247,249,248,249,249,249,248,182,77,123,164,166,167,166,167,166,167,166,166,167,166,166,
167,166,166,166,167,166,167,166,167,166,164,152,138,126,118,111,77,77,77,77,77,77,78,110,115,123,134,144,158,168,166,167,166,126,112,241,250,247,249,249,248,249,209,43,32,33,4,37,51,61,
116,140,151,162,159,158,147,127,77,57,53,43,43,86,107,107,107,93,34,43,46,51,51,51,51,51,51,51,51,51,51,51,51,43,48,81,106,107,107,107,107,107,86,35,43,46,51,51,51,51,
51,51,51,51,46,51,46,48,48,43,93,107,107,107,107,107,107,107,107,107,107,96,81,35,46,55,69,124,143,156,162,162,148,131,77,61,51,43,15,51,61,116,148,159,162,148,124,65,48,48,
96,107,107,107,107,107,96,33,35,46,57,69,127,143,158,162,162,151,142,120,67,57,48,48,33,93,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,100,47,178,249,248,248,249,
247,249,248,248,202,77,119,164,167,167,166,166,167,166,166,167,166,167,166,167,166,166,167,166,167,167,166,166,146,124,110,77,77,110,130,152,170,178,181,181,181,177,166,150,131,112,77,77,77,111,
127,144,164,110,142,250,247,249,248,248,249,248,174,35,36,60,142,184,220,242,248,249,249,249,249,249,247,249,247,238,211,180,132,58,43,34,30,57,119,179,208,217,218,217,217,217,217,217,217,217,
217,217,217,206,172,77,43,30,107,107,104,43,58,143,189,214,217,218,217,217,217,217,217,220,217,220,220,214,191,132,48,35,96,107,107,107,107,107,107,93,43,58,73,158,197,229,247,247,249,249,
249,248,249,249,247,234,205,172,159,205,238,247,249,247,247,249,249,238,197,127,43,34,100,107,89,43,58,77,162,202,231,247,247,248,249,249,247,249,249,249,247,229,202,167,116,51,43,34,96,107,
107,107,107,107,107,107,107,107,107,107,107,107,105,22,111,242,247,248,249,248,247,249,248,225,111,112,159,166,166,166,166,166,166,166,166,166,166,166,166,166,166,167,166,166,166,162,135,110,77,78,
147,189,221,244,248,248,249,247,249,248,248,247,247,249,248,247,229,205,175,134,78,77,77,77,180,247,249,247,248,248,248,248,130,111,184,236,248,247,248,249,248,247,247,247,249,247,247,249,247,247,
248,248,248,236,193,124,69,193,247,248,248,248,249,249,249,249,249,249,249,249,249,249,249,248,249,241,177,60,39,84,6,119,220,248,249,247,249,249,249,249,249,247,249,247,249,247,248,248,248,248,
217,116,48,105,107,107,107,86,35,54,135,205,244,247,247,249,247,249,247,247,248,247,247,249,247,248,247,248,248,248,248,247,249,249,247,247,249,247,247,249,205,111,38,35,53,140,206,244,249,247,
249,247,249,248,247,249,247,249,247,247,249,247,248,249,247,226,178,111,54,33,107,107,107,107,107,107,107,107,107,107,107,107,91,51,199,247,249,247,247,247,248,247,242,132,78,151,166,164,167,164,
166,166,166,166,166,166,164,167,166,166,166,166,164,164,140,111,77,130,189,238,249,247,249,247,247,249,247,249,247,247,247,249,248,247,248,247,248,249,247,247,234,194,144,78,214,248,247,248,247,248,
248,247,201,244,247,247,247,249,247,248,247,248,248,249,247,247,247,249,247,249,249,248,248,248,247,248,238,247,248,248,248,247,247,247,247,247,247,247,247,247,247,247,247,247,248,247,249,193,53,6,
132,241,247,247,247,248,247,249,247,247,247,247,249,247,249,247,247,248,249,249,247,235,119,34,100,100,43,58,143,218,247,247,247,249,247,249,247,247,247,249,247,249,247,249,247,249,247,247,247,247,
249,247,247,249,247,247,247,249,247,249,248,235,127,135,218,247,247,249,247,247,249,247,247,247,249,247,247,249,247,247,249,247,247,249,247,248,249,244,189,69,6,93,107,107,107,107,107,107,107,107,
107,105,4,122,247,247,247,247,247,248,247,249,177,77,136,166,166,166,164,167,164,166,164,166,164,167,164,166,164,166,164,166,158,120,75,126,202,246,247,247,247,247,247,247,248,247,247,247,248,247,
247,247,247,247,247,247,247,247,248,247,247,247,247,227,243,247,248,247,248,247,247,247,247,248,248,248,247,247,247,247,247,247,247,249,247,247,247,247,247,247,247,247,248,248,247,247,247,247,247,247,
248,247,248,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,167,74,234,247,248,248,247,247,247,247,247,249,247,247,247,247,247,247,247,245,247,248,248,247,226,67,27,34,74,202,247,247,
248,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,248,248,247,247,247,247,247,247,247,247,247,247,247,247,247,244,247,247,248,247,247,247,247,247,247,247,247,247,247,247,247,247,247,
247,247,247,247,247,247,247,247,247,226,111,35,106,107,107,107,107,107,107,107,107,91,51,202,247,247,247,247,247,247,247,223,77,118,164,164,164,164,166,164,164,166,164,164,164,166,164,164,166,164,
164,148,78,78,179,242,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,
247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,248,247,247,247,247,247,247,247,247,247,247,247,248,247,247,247,248,240,208,245,247,247,247,247,247,247,247,247,247,
247,247,247,247,247,247,247,248,248,247,247,247,247,172,55,140,235,247,245,247,247,247,247,247,247,247,247,248,248,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,
247,247,247,247,247,247,247,247,247,247,247,249,247,247,247,247,247,247,247,247,247,247,247,247,248,247,247,247,247,247,223,60,30,107,107,107,107,107,107,107,107,23,116,244,247,247,247,247,247,247,
247,142,78,151,164,166,164,164,166,164,164,166,164,166,164,164,166,164,164,164,142,77,119,214,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,
247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,249,247,247,247,247,247,
247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,230,172,244,248,247,247,247,248,247,247,247,247,247,247,247,247,247,
247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,
247,175,37,97,107,107,107,107,107,107,96,46,185,247,247,247,247,247,247,247,205,77,127,164,164,164,164,164,164,164,166,164,164,166,164,164,166,164,164,143,77,130,231,247,247,247,247,247,247,246,
247,247,246,247,247,245,247,246,247,247,247,245,247,247,247,247,247,247,247,247,246,247,246,247,246,247,246,247,247,247,247,245,247,245,247,247,245,247,247,247,247,247,247,245,247,245,247,247,247,245,
247,247,245,247,245,247,247,247,245,247,247,245,247,245,247,245,247,247,247,247,247,247,247,245,247,247,247,247,247,245,247,247,247,245,247,247,245,247,247,245,247,245,247,245,247,247,247,247,247,245,
247,247,247,245,247,247,247,247,245,247,245,247,247,247,247,247,245,247,245,247,247,247,247,245,247,247,247,245,247,247,247,247,247,245,247,245,247,247,247,245,247,247,245,247,247,245,247,247,247,247,
245,247,245,247,247,247,247,245,247,247,247,247,245,247,247,247,247,245,247,245,247,229,53,81,107,107,107,107,107,107,30,64,238,247,245,247,245,245,247,244,136,78,158,164,164,164,164,163,164,164,
164,164,164,164,164,164,164,164,148,77,126,234,247,245,247,245,245,247,246,245,247,245,247,247,244,226,194,166,142,130,122,126,135,154,179,208,239,245,245,246,239,207,179,164,163,188,233,247,246,245,
245,247,247,247,247,245,247,247,231,197,172,148,132,124,124,127,143,159,180,208,236,245,247,247,247,247,245,245,247,247,247,229,208,208,208,208,208,208,208,209,208,208,232,247,245,247,245,245,247,247,
247,245,247,247,245,247,214,208,208,208,209,208,209,208,208,208,214,245,247,247,245,247,245,247,247,245,247,245,247,247,247,247,245,245,247,226,193,167,143,127,124,124,138,151,178,208,238,247,247,245,
214,175,140,116,116,143,193,244,247,247,247,247,245,247,245,247,245,247,247,244,220,189,162,143,127,124,124,132,148,167,185,217,241,247,245,247,245,247,247,247,245,247,118,25,107,107,107,107,107,106,
10,158,245,245,245,247,245,247,245,208,77,127,164,164,164,163,164,164,164,164,162,164,164,162,164,164,164,158,78,120,229,244,247,245,245,247,246,245,247,245,245,247,238,188,131,75,75,78,78,114,
115,115,112,77,75,77,112,162,205,162,112,75,75,75,75,75,114,208,245,247,247,245,245,245,245,244,205,143,77,77,75,78,111,116,116,112,111,75,77,77,77,143,197,242,245,245,245,247,245,247,
244,177,77,77,77,77,77,77,77,77,77,77,175,247,245,247,245,247,245,245,245,245,245,247,245,238,108,77,77,77,77,73,77,77,77,77,132,247,245,245,245,247,245,245,245,247,245,245,247,245,
245,245,240,189,132,77,77,77,77,116,116,116,111,77,77,77,111,159,184,127,77,77,111,119,119,78,77,158,244,245,245,247,244,247,245,247,245,238,182,124,77,77,74,111,111,116,116,112,78,77,
75,77,116,162,214,247,245,245,245,245,247,245,138,22,107,107,107,107,107,86,43,208,245,247,245,245,245,247,245,144,77,156,162,162,164,162,164,162,164,164,162,164,164,162,164,162,162,120,75,211,
247,245,244,247,245,245,245,245,244,247,245,193,118,75,78,127,143,154,164,162,164,162,164,162,151,138,118,75,75,75,119,138,154,162,162,143,78,110,231,245,245,245,247,247,224,140,75,77,123,140,
156,164,162,162,164,162,162,162,151,143,124,77,111,241,245,247,245,247,245,244,247,170,73,135,138,138,138,138,138,138,140,111,127,245,245,244,247,244,247,245,245,247,245,245,245,202,73,127,138,138,
143,138,138,140,138,111,119,247,245,247,245,245,245,247,245,245,245,247,245,245,245,193,119,77,77,124,143,158,162,162,162,164,162,162,148,138,119,77,73,78,132,151,162,164,162,162,124,77,197,245,
245,245,247,245,245,245,202,116,73,111,127,148,158,164,162,162,164,162,162,159,148,132,119,74,159,244,247,245,247,245,244,247,138,23,107,107,107,107,107,30,73,244,244,245,244,245,245,245,223,73,
122,162,162,164,162,164,162,162,162,162,164,162,164,162,162,164,140,77,172,245,245,244,245,245,247,244,245,245,245,234,147,77,110,138,158,162,164,164,162,164,162,164,162,163,162,162,162,154,130,154,
162,164,162,164,162,162,144,77,181,244,245,245,245,208,110,75,127,158,162,162,164,162,162,164,162,164,162,164,162,162,159,77,148,245,245,244,245,244,245,245,245,159,77,162,162,162,164,164,164,162,
162,127,77,226,247,245,245,245,245,245,245,245,245,245,245,156,74,158,162,162,164,162,162,162,164,119,116,244,244,245,244,245,245,245,245,245,245,245,244,235,148,77,111,138,159,162,162,162,164,162,
164,162,164,162,162,164,162,151,138,162,162,162,164,162,162,162,162,77,148,245,247,244,245,244,244,172,77,111,138,162,162,162,162,162,164,162,164,162,162,164,162,162,143,77,197,244,245,245,244,245,
245,245,108,25,107,107,107,107,104,6,154,244,245,244,247,244,245,244,172,52,111,132,138,143,151,158,162,162,163,162,164,162,162,163,162,159,112,120,240,244,245,244,245,244,244,244,245,244,229,124,
75,124,158,162,164,163,162,162,164,162,163,162,162,164,164,162,164,162,162,162,164,162,164,162,162,164,159,77,156,245,245,245,212,78,78,148,163,162,164,162,164,162,162,164,162,164,162,162,162,162,
148,77,185,244,245,245,245,245,245,244,244,148,77,162,164,162,162,164,162,164,162,143,77,185,247,244,244,244,245,245,245,244,245,244,238,111,119,164,162,164,162,164,162,162,162,124,77,241,244,245,
245,244,245,244,245,245,245,244,229,127,74,124,158,162,164,162,164,162,162,164,162,162,162,164,164,162,162,162,162,164,162,162,164,162,164,162,162,116,127,244,245,244,244,245,175,73,119,159,164,162,
164,164,162,162,162,162,164,164,162,162,164,162,124,77,229,247,244,245,245,244,244,225,46,84,107,107,107,107,90,43,197,245,244,245,244,244,245,244,78,61,119,124,122,122,123,122,124,131,140,143,
151,158,162,162,162,138,75,193,244,244,245,244,247,244,245,244,247,231,123,75,138,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,78,152,245,
245,235,120,78,151,162,162,162,162,159,140,124,116,112,112,120,123,132,143,159,132,73,223,247,244,245,244,245,244,245,247,138,108,162,162,162,162,162,162,162,162,162,77,148,244,244,247,244,245,245,
244,245,244,244,205,77,136,162,162,162,162,162,162,162,162,127,75,238,244,247,244,244,245,247,244,245,244,232,124,77,138,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,
162,162,162,162,162,162,162,116,127,244,244,247,244,208,77,116,162,162,162,162,162,158,136,123,116,112,116,116,123,136,148,162,112,127,244,247,244,244,245,247,244,184,35,91,107,107,107,107,79,51,
232,244,244,245,244,244,244,218,51,73,122,124,119,124,122,122,124,122,124,119,124,123,124,132,136,73,120,241,244,245,244,244,244,244,244,244,240,136,75,139,162,162,162,162,162,162,162,162,162,162,
162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,156,75,167,244,244,175,75,138,162,162,162,162,147,112,75,75,126,136,136,123,78,75,75,77,78,119,244,244,244,244,245,244,244,244,
244,127,111,162,162,162,140,127,127,143,162,162,119,108,238,244,244,245,244,244,245,244,244,244,158,75,151,162,143,127,127,138,162,162,162,132,77,229,244,245,244,244,244,245,244,244,240,138,77,138,
162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,77,151,244,244,244,241,124,77,156,162,162,162,162,136,77,75,78,131,136,136,120,77,77,
75,78,78,172,244,244,244,244,244,244,244,140,24,106,107,107,107,107,25,116,244,244,244,244,244,244,244,178,55,111,122,124,122,122,122,124,122,119,124,122,124,122,122,122,111,55,177,244,244,244,
244,244,244,244,244,244,175,73,130,162,162,162,162,162,162,159,162,162,159,162,159,162,162,159,162,162,162,162,162,162,162,162,162,162,162,162,142,73,194,244,240,111,112,162,162,162,162,151,77,112,
186,235,244,244,244,244,241,223,193,148,75,164,244,244,244,245,244,244,244,244,244,116,116,162,162,162,124,73,75,123,162,162,138,75,205,244,244,244,244,244,244,244,244,240,111,116,162,162,116,75,
75,123,162,162,162,132,73,223,244,244,244,244,244,244,244,244,177,73,132,162,162,162,162,159,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,146,73,184,244,
244,244,206,73,136,162,162,162,159,136,73,132,205,241,244,244,244,244,238,214,180,127,75,208,244,244,244,244,244,244,240,61,31,107,107,107,107,104,6,156,244,244,244,244,244,244,244,130,57,119,
119,122,119,122,122,119,122,122,119,122,122,119,122,122,69,57,229,244,244,244,244,244,244,244,244,220,61,67,135,142,146,151,158,162,162,162,162,162,162,162,162,162,159,162,159,162,159,162,159,162,
159,159,159,159,162,159,123,75,229,244,209,75,134,159,159,159,162,123,77,214,244,244,244,244,244,244,244,244,244,244,229,223,244,244,242,244,244,244,244,244,241,77,119,162,162,162,123,77,119,111,
159,162,156,73,167,244,244,244,244,244,244,244,244,205,73,132,162,159,77,140,73,119,162,162,162,135,73,217,244,244,244,244,244,244,244,223,77,116,158,162,159,162,162,159,162,162,162,162,162,162,
162,162,162,162,159,162,162,162,159,162,162,162,162,159,162,162,124,75,225,244,244,244,167,75,151,159,162,159,158,77,127,235,244,241,244,244,244,244,244,244,244,241,214,238,244,244,244,244,244,244,
205,43,88,107,107,107,107,93,36,184,244,242,244,242,244,244,239,61,64,119,122,122,119,122,119,119,119,122,119,119,119,122,119,119,57,124,244,244,242,244,242,242,244,244,242,142,51,114,119,122,
119,119,119,122,126,132,138,143,146,151,156,158,162,159,162,159,159,159,162,159,162,162,159,162,159,156,77,142,244,242,184,75,146,159,162,159,159,77,142,244,244,244,244,241,244,244,241,244,241,244,
244,244,244,244,244,244,242,244,242,244,235,77,124,162,159,159,119,112,158,73,162,162,159,111,119,241,244,242,244,244,242,244,242,164,77,151,162,143,75,179,75,123,162,162,162,138,73,209,244,242,
244,242,244,244,242,158,73,148,162,159,162,159,162,159,159,159,159,159,162,159,159,159,159,159,159,162,159,159,159,162,158,162,159,159,159,151,77,140,244,244,244,242,138,78,162,162,162,162,143,75,
185,244,244,244,244,241,244,244,241,244,244,244,244,244,241,244,244,244,242,244,164,6,98,107,107,107,107,88,43,209,244,242,244,242,242,242,217,51,73,119,119,119,119,119,119,119,119,119,119,119,
119,119,119,111,55,177,241,244,241,244,242,244,242,242,223,55,67,119,119,119,119,119,119,119,119,119,119,118,119,119,119,122,124,130,134,138,144,148,151,155,159,158,159,158,159,131,75,202,242,244,
175,73,151,159,159,159,159,75,151,244,241,241,244,241,244,244,241,244,241,244,241,241,244,242,241,244,242,241,244,241,229,73,127,158,159,162,116,116,182,73,148,158,162,127,73,220,244,242,242,242,
242,244,240,116,112,158,162,127,75,214,75,119,158,158,162,140,73,202,242,241,244,242,242,244,225,77,119,158,159,158,159,158,159,159,159,159,162,158,159,159,159,158,162,158,162,158,159,158,159,162,
158,159,158,162,162,127,75,205,242,241,244,241,124,111,159,158,159,162,140,75,199,244,241,244,241,244,241,244,241,244,241,241,242,244,244,242,242,242,242,242,116,25,107,107,107,107,107,81,53,231,
241,242,242,244,242,244,185,51,108,119,119,119,119,119,119,119,119,119,119,119,119,119,119,73,51,212,244,241,244,241,244,241,242,244,170,51,78,119,119,119,119,119,119,119,119,118,119,119,118,119,
118,119,118,119,119,119,119,118,119,118,119,124,130,132,138,67,116,241,242,242,177,75,150,158,159,159,158,116,115,235,241,244,244,241,244,241,242,244,241,244,241,244,241,242,244,242,242,244,242,244,
220,75,131,158,162,158,112,127,209,75,136,162,158,143,75,182,241,242,244,242,244,241,211,73,131,162,162,112,112,240,77,120,162,162,158,143,73,193,244,244,241,242,244,242,178,73,148,159,162,158,
162,159,159,159,159,159,158,159,159,159,159,162,158,159,159,158,162,158,162,159,158,162,159,158,158,77,123,241,241,244,241,244,124,111,162,158,162,158,148,75,162,241,241,244,244,241,244,241,244,241,
244,244,241,244,241,241,244,242,244,214,47,81,107,107,107,107,107,31,69,241,242,244,242,242,241,242,164,51,111,118,116,116,119,116,119,116,119,116,116,119,116,119,119,67,57,238,244,242,244,242,
241,244,242,241,112,57,119,116,118,116,118,118,118,118,118,118,118,118,118,116,118,118,119,116,118,118,118,118,119,118,118,120,118,119,118,62,62,240,244,242,182,57,116,130,136,138,142,127,67,148,
235,241,244,241,244,242,241,244,241,244,241,244,244,241,244,241,244,242,241,244,211,73,132,158,158,162,78,131,234,75,119,158,159,158,77,138,244,241,244,241,244,241,170,73,148,158,156,75,151,241,
77,119,158,159,158,148,73,185,244,241,244,241,244,241,127,78,158,158,159,158,158,158,158,158,158,158,158,158,158,158,158,158,158,159,158,158,159,158,158,159,158,158,159,158,158,120,78,238,244,241,
244,241,142,77,159,158,159,162,158,119,77,189,241,241,244,241,244,241,244,241,241,244,241,244,242,244,241,244,241,135,6,100,107,107,107,107,107,25,120,242,241,242,242,242,242,242,138,51,119,116,
119,119,116,119,116,119,119,116,119,119,116,119,116,57,114,241,241,241,242,242,242,242,242,227,51,67,118,118,118,118,118,116,118,118,118,118,116,118,118,118,118,118,118,118,118,116,118,118,116,118,
116,118,116,118,116,73,51,214,241,242,217,51,67,118,118,116,118,116,67,51,78,197,241,241,242,241,244,241,242,242,241,242,241,241,242,242,241,242,242,242,205,75,138,159,158,158,78,136,241,131,
112,159,158,158,119,77,232,241,242,241,242,241,124,78,158,158,138,73,189,241,78,120,158,158,158,148,73,179,241,241,242,241,242,229,77,124,158,159,158,158,158,159,158,159,158,159,159,158,159,158,
158,158,159,158,158,159,158,158,159,158,158,158,159,158,158,132,73,211,241,241,242,241,177,75,143,158,158,158,158,151,112,73,148,220,241,242,242,241,244,241,244,241,241,244,241,242,242,242,205,51,
25,106,107,107,107,107,107,24,141,242,242,242,241,241,244,241,114,57,116,116,116,116,116,116,116,116,116,116,116,116,116,119,116,51,140,241,244,242,241,241,242,241,242,197,51,74,116,116,116,118,
116,118,116,116,116,116,118,116,116,118,116,116,116,118,116,118,116,116,119,116,118,116,118,116,116,77,51,184,242,242,240,111,55,116,116,116,116,119,116,73,51,51,78,180,232,241,242,241,241,244,
241,242,241,244,242,241,242,241,241,241,193,61,127,143,148,148,75,143,241,164,73,151,158,159,136,73,205,241,242,241,241,223,73,124,158,158,124,73,225,241,78,116,158,158,158,151,73,172,244,242,
241,244,241,202,73,138,158,158,158,158,158,158,158,158,158,156,158,158,158,158,158,158,158,158,156,159,158,158,158,158,158,158,158,158,158,143,75,185,241,244,241,241,220,73,119,158,158,158,158,158,
151,123,73,73,148,202,240,241,241,241,241,242,241,241,242,241,241,242,241,164,37,84,107,107,107,107,106,4,154,241,241,241,241,241,241,241,67,61,116,116,116,116,116,116,116,116,116,116,116,116,
116,116,111,51,162,241,241,241,241,242,241,242,241,174,51,108,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,111,51,162,241,241,
241,197,49,64,116,116,116,116,116,116,116,69,51,51,57,143,205,241,241,241,241,241,241,241,241,241,242,241,241,244,182,46,78,116,116,116,51,136,241,189,51,112,124,127,124,61,162,241,241,241,
244,182,67,136,151,151,78,127,241,241,112,116,158,158,158,151,73,164,241,241,241,241,241,182,73,148,158,158,158,158,156,156,158,158,158,158,158,158,158,158,158,158,158,158,158,158,156,158,158,156,
158,158,158,158,158,148,73,170,241,241,241,241,241,158,73,138,158,158,158,158,158,158,148,120,75,73,116,175,225,241,241,242,241,242,241,242,241,241,241,240,136,5,91,107,107,107,101,6,168,241,
241,241,241,241,241,238,51,64,116,116,116,116,116,116,116,116,116,116,116,116,116,116,78,46,175,241,241,241,241,241,241,241,241,151,49,111,116,116,116,116,116,116,116,116,116,116,116,116,116,114,
116,116,116,114,116,116,116,116,114,116,114,116,116,116,116,114,51,144,241,241,241,240,148,46,67,114,116,116,116,116,116,116,116,73,61,51,46,116,202,241,241,241,241,241,241,241,241,241,240,241,
172,51,78,116,116,116,46,143,241,223,51,67,116,111,116,57,111,241,241,240,241,132,51,111,116,77,51,164,241,241,73,67,124,127,127,131,61,148,241,241,241,240,240,162,67,143,148,148,151,151,
158,151,156,158,156,158,158,158,158,158,158,156,158,158,156,158,158,156,158,158,158,156,158,158,158,158,75,156,241,241,241,241,241,231,119,75,138,158,158,158,158,158,158,158,148,131,111,73,73,158,
223,241,241,241,241,241,241,241,241,240,229,69,25,107,107,107,99,34,174,240,240,241,241,241,240,231,46,67,111,116,111,116,111,114,116,111,116,111,116,111,116,111,78,51,180,240,241,240,241,240,
241,240,240,135,51,114,114,114,114,111,114,111,114,114,114,114,111,114,114,114,114,114,114,114,114,111,114,111,116,111,114,114,111,114,114,114,51,134,241,241,241,240,236,132,51,60,108,114,114,111,
114,111,114,111,116,111,67,51,46,132,223,241,241,241,240,241,241,241,240,240,162,51,108,111,116,111,46,148,241,241,73,57,111,111,116,67,46,229,240,240,238,61,61,111,116,69,51,205,241,241,
73,57,116,111,116,116,51,131,241,241,241,241,240,140,51,111,116,116,116,111,116,116,116,116,116,119,119,119,119,124,124,124,127,127,127,127,132,132,132,135,132,138,138,138,138,138,67,138,241,240,
241,241,241,240,220,112,67,124,148,148,148,148,148,148,151,148,151,136,111,70,73,175,238,240,241,241,241,241,241,240,240,182,38,88,107,107,96,34,179,240,241,240,240,241,240,225,46,67,111,114,
111,114,114,111,114,111,114,111,114,111,114,111,77,46,185,240,240,240,240,240,240,241,240,130,51,111,111,111,114,114,111,114,111,111,111,114,114,111,111,114,111,111,114,111,111,114,111,114,111,114,
114,111,114,111,114,111,51,130,241,240,240,240,241,238,158,51,51,67,111,114,111,114,114,111,111,111,111,111,64,46,67,206,240,240,240,240,240,241,240,240,148,51,111,111,111,111,46,158,241,240,
146,51,111,111,111,73,46,197,240,241,205,46,69,111,111,57,67,238,240,241,77,57,111,111,111,111,57,119,241,240,241,241,240,132,51,111,111,111,116,111,111,111,111,116,111,111,116,111,111,111,
111,111,111,116,111,111,116,111,111,116,111,111,111,111,111,116,51,127,241,241,240,240,240,240,241,225,119,46,57,73,111,116,111,111,116,111,116,111,111,77,57,46,119,229,240,240,240,240,241,240,
240,236,108,25,107,107,96,36,180,240,240,240,240,240,240,221,46,67,111,111,114,112,111,111,111,111,114,111,112,111,111,114,75,46,185,241,240,241,240,240,240,240,240,132,49,114,111,114,111,111,
114,111,114,114,111,111,111,114,111,111,111,114,111,111,114,111,114,111,114,111,111,114,111,111,111,114,49,136,240,240,240,240,240,240,240,205,112,46,51,64,77,111,111,111,112,114,111,114,111,75,
51,57,208,241,240,240,240,240,240,240,135,46,111,111,111,78,46,162,241,240,184,46,73,111,111,78,46,158,240,240,167,51,77,111,78,51,143,240,240,240,112,57,111,111,112,116,51,111,241,240,
240,240,240,132,51,111,111,111,111,111,111,116,111,111,111,111,111,111,111,111,111,116,111,111,111,111,116,111,111,111,111,111,111,111,116,111,51,131,240,240,240,240,241,241,240,240,238,175,61,46,
57,69,78,111,111,111,112,111,111,111,111,67,46,116,232,240,240,240,240,240,240,240,175,35,93,107,93,35,180,240,239,240,239,240,240,220,46,67,111,111,111,111,111,111,111,111,111,111,111,111,
111,111,77,46,182,240,239,239,240,239,240,240,240,138,46,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,46,146,240,239,
240,240,240,239,240,239,238,189,116,46,46,57,67,111,111,111,111,111,111,111,74,51,65,229,240,240,239,240,239,240,123,51,111,111,111,78,46,172,240,241,223,46,67,111,111,111,51,116,240,240,
120,51,111,111,69,46,194,240,240,238,120,51,111,111,111,111,57,73,240,238,240,240,240,143,46,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,
111,111,111,111,111,111,46,143,238,240,240,240,238,240,240,238,240,240,229,167,67,46,51,61,73,111,111,111,111,111,111,111,67,46,140,240,239,240,239,240,240,239,220,47,82,107,96,35,179,240,
239,239,240,239,240,221,46,67,111,111,111,110,111,112,111,112,111,111,111,112,111,111,75,46,177,240,238,240,239,240,239,239,239,154,49,108,111,111,110,111,111,111,110,111,111,111,111,111,111,111,
111,111,111,112,111,111,111,111,111,111,112,111,111,112,111,77,46,166,239,240,239,239,239,240,238,240,239,240,240,211,158,67,46,51,67,110,111,111,111,111,111,69,46,156,239,239,239,239,239,240,
111,51,111,111,111,75,46,178,240,240,238,78,51,111,111,111,61,51,232,232,51,61,111,111,57,57,234,240,238,240,123,51,111,111,111,111,57,61,240,240,240,238,240,158,46,78,111,111,111,111,
111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,77,46,162,241,240,238,240,240,240,238,240,240,238,240,240,235,193,136,51,46,57,73,111,112,111,
111,111,111,60,46,205,240,240,239,239,239,239,240,110,25,107,97,10,177,239,240,239,239,239,238,225,46,61,110,110,110,111,110,110,110,110,78,110,110,111,108,111,77,46,164,238,239,239,239,239,
239,240,239,175,46,73,110,110,110,110,110,110,110,108,111,110,110,110,110,110,110,110,110,110,78,110,78,110,78,110,110,110,110,110,110,73,46,185,239,239,239,239,239,239,239,239,238,240,238,240,
238,235,185,77,46,51,77,108,111,108,111,111,55,57,233,239,240,239,238,238,73,51,111,78,111,73,46,182,240,238,240,154,46,77,78,111,67,46,205,202,16,67,111,78,46,136,238,240,238,238,
132,46,78,111,78,111,61,51,238,238,240,238,238,178,46,75,78,111,111,111,78,111,78,111,111,78,111,111,78,111,111,78,111,111,78,111,78,111,78,111,111,111,111,78,111,73,46,184,238,240,
238,240,238,238,240,238,240,238,238,240,238,240,238,225,166,57,46,61,111,108,111,108,111,77,46,135,238,238,240,239,239,239,238,148,26,106,99,6,170,238,239,238,239,238,239,232,46,61,110,78,
108,110,108,78,110,108,110,110,108,78,110,108,108,46,146,239,240,238,239,239,239,238,238,202,46,67,110,78,110,78,108,108,110,110,108,108,108,108,110,108,108,108,108,108,110,108,110,108,110,108,
108,108,108,110,108,64,46,214,238,239,239,239,238,238,239,238,239,238,240,238,238,238,240,235,175,49,51,78,108,108,110,108,67,46,197,239,239,238,238,240,57,57,111,78,110,69,46,189,240,238,
238,197,46,67,78,111,73,46,175,162,46,75,108,67,46,184,238,238,240,238,136,46,78,111,78,111,57,46,234,238,238,238,240,205,46,67,111,78,78,78,108,78,111,78,78,78,111,77,78,111,
78,77,111,78,108,111,77,111,77,111,78,108,108,78,108,64,46,211,238,240,238,238,238,240,238,238,240,238,240,240,238,240,238,240,238,226,131,46,61,78,111,108,108,108,57,57,236,239,238,239,
239,239,240,174,10,98,103,5,160,239,239,239,239,239,239,236,57,57,108,108,108,108,108,78,108,108,78,108,108,108,108,108,108,51,119,238,238,239,238,239,239,239,238,229,49,60,108,108,108,110,
108,108,108,108,110,78,110,108,108,108,110,108,110,108,108,110,108,108,108,110,108,110,108,108,108,55,62,235,240,239,238,240,238,240,238,240,238,238,240,238,240,238,240,238,238,180,46,67,108,108,
108,108,73,46,172,238,238,240,238,234,51,60,78,108,78,67,46,197,238,240,238,231,57,57,108,78,77,46,138,119,46,78,111,57,46,229,238,238,240,238,143,46,77,78,108,78,61,46,226,238,
240,238,238,231,51,57,111,108,108,111,77,111,77,111,108,77,111,108,78,108,111,77,108,108,108,78,77,111,78,77,111,77,111,108,78,51,61,235,238,238,238,240,238,240,238,238,238,238,238,240,
238,238,238,240,238,238,238,127,46,73,108,108,108,108,61,46,218,239,240,238,238,238,238,184,36,93,106,2,146,238,238,239,238,238,238,238,69,52,108,78,108,108,108,108,108,108,108,108,108,108,
108,108,77,57,61,238,238,238,239,238,238,238,239,238,69,49,78,108,108,77,108,108,108,77,78,108,108,78,108,108,108,77,78,108,108,78,108,108,108,77,108,77,108,78,77,46,140,238,238,238,
238,238,238,238,238,238,238,238,238,238,238,238,238,238,240,238,69,51,77,108,77,108,77,46,156,238,238,238,238,229,46,57,77,78,108,67,46,205,238,238,238,238,124,46,77,108,108,51,64,51,
57,78,77,46,123,238,238,238,238,238,148,16,77,108,108,77,64,46,217,238,238,238,238,238,69,46,108,77,77,111,77,77,77,77,108,77,108,77,77,108,77,77,108,108,78,77,108,108,77,77,
108,77,108,77,77,46,138,238,238,240,238,238,238,238,238,238,240,238,238,238,238,238,238,238,238,238,238,209,46,61,108,108,78,108,67,16,208,238,238,238,239,238,239,189,37,91,107,23,128,238,
238,238,238,238,238,238,119,46,77,77,77,77,77,77,77,77,77,77,78,77,77,78,77,61,17,220,238,238,238,238,238,238,238,197,17,61,77,108,77,78,77,77,78,77,108,77,77,77,77,77,
78,77,77,77,77,77,77,77,78,77,78,77,77,77,61,17,197,239,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,123,46,77,108,77,77,73,46,158,238,238,238,238,220,
46,61,108,77,77,61,46,211,238,238,238,238,175,16,73,77,77,57,46,16,67,77,69,16,178,238,238,238,238,238,156,16,77,77,78,77,61,46,211,238,238,238,238,197,46,61,77,77,77,77,
108,77,78,77,77,78,77,108,77,78,77,77,77,108,77,77,77,108,77,108,77,78,77,77,61,46,193,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,229,46,61,
77,77,77,77,65,16,208,238,238,238,238,239,238,192,37,91,107,30,78,238,236,238,238,238,236,238,140,46,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,69,16,184,238,238,238,236,
238,238,238,124,17,75,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,46,73,236,238,238,238,238,238,238,238,238,238,238,238,238,238,
238,238,238,238,236,238,69,46,77,77,77,77,73,16,172,238,238,238,238,209,16,64,77,77,77,64,16,217,238,238,238,238,211,46,61,77,77,77,73,75,77,77,57,46,220,238,238,238,238,238,
162,16,75,77,77,77,67,16,202,238,238,238,238,127,46,73,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,46,69,235,238,238,238,
238,238,238,238,238,238,236,238,238,238,238,238,238,238,238,238,238,211,16,61,77,77,77,77,61,16,220,238,238,238,236,238,236,182,36,93,107,33,57,233,238,238,236,238,238,238,170,16,69,77,
77,77,77,77,77,77,77,77,74,77,77,77,77,73,46,138,236,238,238,238,238,236,223,46,55,77,77,77,77,74,77,77,77,77,74,77,77,77,77,77,74,77,77,77,77,77,77,77,77,77,
77,77,74,61,17,181,238,238,236,238,236,184,179,231,236,238,236,238,236,238,236,238,236,238,236,189,16,61,77,77,77,77,61,46,199,238,236,236,238,202,16,64,77,77,77,61,16,223,238,235,
238,238,235,67,46,77,77,77,77,77,77,77,46,111,238,236,238,238,235,238,170,16,69,77,77,77,67,46,193,238,236,238,226,46,57,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,
77,77,77,77,77,77,77,77,77,77,77,77,77,61,16,179,238,238,236,236,238,236,238,156,202,236,238,236,238,236,238,238,235,238,236,238,235,138,16,69,77,77,77,77,51,60,235,236,236,238,
238,238,238,168,27,98,107,84,45,214,236,236,236,238,236,236,196,16,67,74,77,74,74,77,74,74,74,74,74,74,73,74,74,74,51,60,233,238,236,236,236,236,179,16,65,74,74,74,74,74,
74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,69,16,114,235,236,236,238,236,236,127,16,57,143,189,226,236,236,236,238,236,236,230,172,51,46,73,74,74,
74,74,51,57,232,236,236,238,236,189,16,67,77,73,74,57,46,229,238,235,238,236,236,143,16,73,73,77,73,74,73,69,16,167,235,236,238,235,238,238,172,16,70,75,74,74,67,15,182,238,
235,238,185,16,64,73,77,74,73,77,73,77,73,77,74,74,77,74,77,73,77,77,74,74,77,74,77,74,77,73,74,77,69,16,111,234,235,238,236,238,236,238,229,16,16,73,162,205,232,236,
238,235,238,236,238,218,136,16,57,77,74,77,73,73,16,138,236,238,238,236,236,236,236,138,26,106,107,90,39,192,238,236,238,236,236,238,223,16,57,74,73,74,73,74,73,74,74,73,74,74,
74,74,73,74,61,16,189,236,236,238,236,238,142,16,73,74,74,73,74,74,74,74,73,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,73,74,73,73,46,51,214,236,238,236,238,236,
234,55,49,49,16,16,17,69,127,140,148,142,119,51,16,46,69,74,73,74,73,65,16,151,238,236,236,238,236,180,16,67,74,74,73,55,46,232,238,238,236,236,238,185,16,67,73,74,74,73,
77,57,16,211,236,236,238,235,238,238,179,16,69,74,73,73,69,16,178,238,236,238,159,16,69,77,73,77,73,74,73,77,73,74,73,74,73,73,74,73,74,73,73,73,73,77,73,73,74,73,
73,73,46,46,211,238,238,236,236,238,236,238,197,16,51,46,16,16,46,77,132,143,148,136,78,46,16,55,73,73,74,73,74,55,16,205,236,236,238,236,238,236,236,73,28,107,107,100,6,166,
236,236,238,236,236,238,235,70,46,75,73,74,73,73,74,73,73,74,73,74,73,73,74,73,73,16,119,236,238,236,236,236,118,46,73,73,73,73,73,74,73,73,73,73,73,73,73,73,73,73,
73,73,73,73,73,73,73,73,74,73,69,46,16,185,236,236,236,236,238,236,208,16,61,73,70,61,55,46,17,16,16,16,16,51,64,73,75,73,75,73,69,46,60,225,238,236,238,235,236,172,
16,69,73,73,74,51,51,235,236,236,236,238,235,226,46,51,73,73,73,74,73,46,69,235,238,238,235,238,236,235,182,16,67,73,73,73,69,16,170,236,236,236,140,16,73,73,73,73,74,73,
73,73,73,74,73,74,73,74,73,73,74,73,74,73,73,74,73,74,73,73,69,46,16,184,238,235,236,236,236,236,236,236,162,16,69,73,67,60,55,46,16,16,16,16,46,55,67,73,73,74,
73,74,64,16,132,235,236,236,236,238,236,236,209,42,83,107,107,106,22,130,236,236,235,236,236,236,236,143,16,69,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,57,16,205,235,238,
236,236,116,46,73,73,73,74,73,73,73,73,74,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,65,17,46,179,236,236,236,236,236,235,236,172,15,65,73,73,73,73,73,73,70,
70,73,73,73,73,73,73,73,73,69,46,46,193,236,236,236,235,238,235,162,16,69,73,73,73,51,61,235,238,235,236,236,235,235,111,46,73,73,73,73,69,16,151,235,236,236,235,236,236,235,
189,16,64,73,73,73,69,15,159,236,236,235,148,15,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,67,46,16,177,235,235,238,236,235,238,236,
235,236,116,16,73,73,73,73,73,73,73,73,69,73,73,73,73,73,73,73,73,64,16,67,225,236,236,236,235,236,236,236,158,6,97,107,107,107,31,61,232,236,236,236,236,235,236,189,16,61,
73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,69,16,120,235,235,236,236,146,15,67,73,73,73,70,73,73,69,64,69,73,73,73,73,73,73,73,73,73,73,73,73,73,69,51,16,
57,192,235,236,235,236,235,236,236,236,126,16,73,73,70,73,73,73,73,70,73,70,70,73,70,73,73,69,61,16,46,184,235,238,235,235,236,235,235,148,15,69,73,73,73,46,67,235,236,235,
236,235,236,236,164,15,67,73,73,73,57,15,202,238,235,236,236,235,236,235,193,16,61,73,73,73,69,16,148,235,236,235,182,15,61,69,73,73,73,73,73,69,61,73,73,73,73,73,73,73,
73,73,73,73,73,73,73,69,51,15,51,189,235,238,235,236,235,236,235,235,236,231,46,51,73,73,69,73,73,73,73,73,69,73,73,69,73,73,73,69,51,16,67,217,235,235,236,236,236,236,
236,229,64,21,107,107,107,107,86,43,205,235,235,235,235,235,235,229,46,51,73,69,69,69,73,69,73,69,69,73,69,73,69,69,70,70,55,15,184,235,235,235,202,16,49,69,73,69,69,67,
57,16,15,46,57,65,69,69,69,73,69,69,73,69,69,60,51,16,13,127,218,235,235,235,236,235,235,235,235,234,57,15,17,57,64,69,70,69,70,70,69,73,69,73,69,64,57,16,15,73,
205,235,235,235,235,235,235,235,235,135,15,67,65,67,67,46,77,236,235,235,235,235,235,235,205,13,46,46,46,46,16,57,234,235,235,235,235,235,236,235,199,15,57,67,65,67,67,16,138,235,
235,235,227,67,16,61,69,69,67,61,46,15,15,16,57,67,69,73,69,73,69,73,69,73,67,61,51,15,15,124,217,235,235,236,235,235,235,235,236,235,235,202,15,16,46,57,67,69,69,69,
73,73,69,69,73,73,69,61,51,16,15,132,223,235,235,235,235,235,235,235,235,170,11,90,107,107,107,107,97,6,166,235,235,235,235,235,235,235,132,15,67,69,69,73,69,69,69,69,73,69,
69,73,69,69,73,69,69,16,57,220,235,235,235,154,15,15,46,46,16,15,13,69,154,67,13,15,16,46,51,55,51,51,49,16,15,13,16,127,202,235,235,235,235,235,235,235,235,235,235,235,
215,151,61,15,15,14,16,49,51,51,51,51,51,46,15,15,15,70,178,232,234,235,235,235,235,235,235,235,235,124,13,15,15,13,15,13,111,235,235,235,235,235,235,235,232,67,57,57,57,57,
57,148,235,235,235,235,235,235,235,236,205,15,15,15,13,15,15,13,138,235,235,235,235,208,61,15,13,15,16,15,46,135,167,67,15,13,16,46,51,51,51,51,46,16,15,13,16,124,197,235,
235,235,235,235,235,235,236,235,235,235,235,235,197,132,46,15,15,15,46,46,51,51,51,51,51,16,15,13,16,122,201,234,235,235,235,235,235,235,235,235,218,60,21,107,107,107,107,107,107,23,
114,235,235,234,234,235,235,234,192,15,57,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,70,61,15,114,230,234,234,234,189,124,67,67,116,156,202,234,234,232,202,156,118,57,16,15,
15,15,51,75,138,179,221,234,235,234,235,234,234,234,234,234,235,235,235,234,235,235,234,207,172,134,77,51,16,15,15,15,46,67,124,166,205,234,234,234,235,234,235,235,235,235,235,235,234,179,
162,159,162,162,162,162,180,235,235,235,235,235,235,235,235,235,234,234,235,235,235,235,235,235,235,235,235,234,235,235,220,162,159,162,162,159,162,162,189,235,235,235,235,234,226,178,143,135,159,189,
226,234,234,232,202,158,116,57,16,15,15,15,51,73,138,178,220,235,235,234,234,235,234,235,235,235,234,235,235,235,235,235,235,235,229,193,159,124,67,46,15,15,15,15,51,75,138,177,220,234,
234,234,235,235,235,235,234,234,235,232,124,5,96,107,107,107,107,107,107,82,47,214,234,234,234,235,234,234,232,64,16,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,57,13,
134,232,234,234,235,235,234,234,234,234,234,235,234,234,234,234,234,235,229,223,221,227,232,234,234,235,234,234,234,235,234,234,235,234,234,235,235,234,234,234,234,234,234,234,234,234,234,234,227,223,
221,226,232,234,234,234,235,235,235,235,234,234,234,234,235,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,235,234,234,234,234,234,235,235,234,
234,234,234,235,234,234,234,234,234,234,234,234,235,234,235,234,235,234,234,234,234,234,235,234,235,234,234,235,229,223,223,225,232,235,234,234,235,234,235,234,235,235,234,234,234,234,234,234,234,234,
235,234,234,235,234,235,235,235,234,232,226,223,223,226,234,234,234,234,235,234,235,235,234,234,234,234,235,234,234,159,37,82,106,107,107,107,107,107,107,93,10,166,234,234,234,234,234,234,235,170,
15,57,69,67,69,67,67,69,67,67,67,69,67,69,67,67,67,67,67,51,13,135,231,234,234,234,234,234,234,234,235,233,234,235,234,234,234,234,234,234,234,234,234,234,234,235,234,234,234,234,
234,234,234,235,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,
235,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,235,234,234,234,234,234,234,234,234,234,235,234,234,234,234,234,234,234,234,234,234,234,234,234,235,234,235,234,234,
234,234,234,234,234,234,235,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,170,43,
31,107,107,107,107,107,107,107,107,107,25,73,232,233,234,233,233,234,233,225,52,16,69,67,67,67,67,69,67,67,67,67,65,67,67,67,69,67,67,67,51,13,118,223,233,233,234,234,233,234,
233,234,233,234,233,234,233,234,233,234,234,234,234,233,234,233,234,234,233,234,233,234,233,234,233,233,233,233,233,233,234,234,234,233,234,233,234,233,234,234,234,233,234,233,233,234,234,233,234,233,
234,234,234,233,233,234,233,234,233,234,234,234,233,234,234,234,234,233,234,233,234,233,234,234,233,234,233,234,233,234,234,234,234,234,234,234,233,233,234,234,234,234,234,234,234,234,234,234,233,233,
234,234,233,234,234,234,234,233,234,233,234,234,232,234,234,234,233,234,233,234,234,234,234,234,234,233,234,233,234,234,234,234,233,234,233,193,229,233,234,234,233,234,234,234,234,233,234,234,234,234,
234,233,234,233,234,234,234,234,234,234,234,233,234,233,234,234,231,156,43,21,104,107,107,107,107,107,107,107,107,107,85,42,193,233,233,234,234,232,234,234,166,13,55,67,65,67,67,65,67,65,
65,67,65,67,66,66,65,65,66,65,65,51,13,61,196,234,233,233,234,233,234,233,234,233,234,233,234,233,234,232,234,233,233,234,233,234,233,233,234,233,234,233,234,233,234,234,234,234,234,234,
233,233,233,234,233,234,233,234,233,233,233,234,233,234,234,232,234,233,233,234,233,233,233,234,233,234,233,234,234,234,232,233,234,233,233,232,233,233,234,233,234,234,233,233,233,234,233,234,234,233,
234,233,233,232,233,233,234,234,233,233,233,233,233,233,232,233,233,232,234,234,232,234,234,233,232,234,234,232,234,234,232,234,234,233,233,232,234,234,232,234,232,234,232,234,233,232,234,233,234,233,
233,233,234,221,140,46,127,223,234,234,233,234,233,233,232,234,233,233,232,234,234,232,234,234,233,233,232,234,232,233,233,234,234,233,233,217,124,37,31,105,107,107,107,107,107,107,107,107,107,107,
104,2,126,233,233,233,233,232,233,232,227,67,15,64,64,67,65,64,65,65,65,65,65,65,65,65,65,65,65,65,65,65,57,15,14,131,214,233,233,233,233,233,233,233,233,233,233,233,232,233,
233,233,233,233,233,233,233,233,233,233,233,233,233,233,233,233,233,233,233,233,233,233,233,233,233,233,233,233,232,233,233,232,233,232,232,233,233,233,233,233,234,232,191,151,229,233,233,232,233,232,
233,233,232,233,233,233,234,233,232,233,232,233,233,233,233,232,233,232,233,233,232,232,233,234,233,232,233,233,232,233,233,233,232,233,234,233,233,233,233,232,233,232,233,232,233,233,232,233,233,232,
233,234,232,233,234,232,233,232,233,233,233,234,232,233,232,234,232,233,232,232,233,229,172,65,6,30,10,73,180,229,233,232,233,232,234,233,233,233,233,233,232,233,233,232,233,233,233,232,233,234,
232,233,232,227,172,61,27,83,106,107,107,107,107,107,107,107,107,107,107,107,107,81,45,205,233,233,233,234,233,234,232,185,13,46,65,64,65,65,65,65,64,65,65,64,64,65,64,65,65,65,
64,65,65,61,46,13,16,135,203,232,233,233,233,233,233,233,233,233,233,234,232,233,233,233,233,233,233,233,233,233,233,227,191,135,221,233,233,233,233,233,233,233,233,233,233,233,233,233,234,233,
233,233,234,233,233,234,232,233,232,226,182,119,43,37,127,218,233,233,233,233,233,233,233,233,233,233,232,233,233,233,214,162,214,234,233,233,233,233,233,233,233,234,232,231,197,119,167,230,234,233,
234,233,234,232,233,233,233,234,232,233,233,234,232,233,234,232,233,233,233,233,234,233,233,232,233,234,232,233,233,234,232,233,234,232,233,232,233,233,234,218,170,69,38,25,91,106,91,23,37,73,
164,212,233,233,233,232,233,232,234,232,233,233,233,232,234,232,234,233,233,233,233,220,170,69,35,21,93,107,107,107,107,107,107,107,107,107,107,107,107,107,107,100,4,132,233,232,232,232,232,232,
232,232,130,13,55,64,64,64,64,64,65,64,64,65,64,64,64,64,64,64,64,64,64,65,64,60,17,13,13,69,158,200,229,232,232,232,232,232,232,232,232,232,233,232,232,232,232,223,197,164,
119,46,13,13,193,232,232,232,232,232,232,223,182,211,230,232,232,233,232,232,232,232,232,232,232,231,214,180,143,64,38,24,83,82,6,61,162,205,227,232,233,232,232,232,232,233,232,226,202,151,
57,35,47,116,148,156,156,156,151,156,156,151,140,73,43,1,38,108,178,214,230,232,232,232,232,232,232,232,233,227,205,164,132,180,214,230,232,232,231,220,193,162,151,193,223,232,232,232,232,232,
232,232,232,232,232,230,206,172,124,51,10,23,89,105,107,107,106,106,87,23,10,47,110,158,185,217,232,233,232,232,232,232,232,233,232,232,232,230,206,175,127,51,10,25,89,106,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,81,42,200,233,232,233,232,232,233,232,221,60,13,60,64,64,61,64,64,64,64,64,64,64,64,64,64,64,64,61,64,61,64,64,64,60,46,15,
9,9,15,77,132,158,175,182,188,190,185,181,172,158,138,116,57,9,13,9,13,17,46,9,164,232,232,232,233,232,233,230,62,43,57,114,135,148,159,166,167,164,151,140,119,64,46,37,4,30,
88,104,107,107,91,30,4,43,46,53,47,47,53,47,47,47,47,47,43,6,30,89,81,23,2,1,1,1,3,1,3,1,2,25,84,100,86,22,10,43,47,47,47,53,47,47,47,47,47,46,
43,6,2,10,43,54,69,69,57,43,38,6,6,38,47,77,132,148,162,167,167,162,151,135,116,60,43,10,4,33,91,107,106,107,107,107,107,107,107,107,93,82,23,6,38,46,64,119,135,156,
162,167,167,162,148,135,111,57,43,10,2,33,91,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,101,3,116,229,232,232,232,232,232,232,232,201,15,15,60,61,64,61,
61,61,61,61,61,61,64,61,61,61,64,61,61,64,61,61,61,61,64,61,60,51,17,15,12,12,12,9,12,9,12,9,12,12,9,13,16,46,51,57,61,64,61,12,132,232,232,232,232,232,
231,231,122,0,32,25,24,5,6,6,6,6,5,4,23,31,84,91,102,107,107,107,107,107,107,106,96,84,81,32,33,32,32,33,33,33,33,79,86,96,107,107,106,107,104,104,104,104,104,101,
104,104,105,107,107,106,106,105,91,82,33,33,33,32,33,33,32,33,33,81,84,93,104,91,82,33,30,30,33,81,89,96,100,89,33,25,26,4,6,6,6,10,6,4,25,31,86,93,106,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,100,90,83,30,23,4,6,6,6,6,6,4,2,25,33,84,93,106,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,84,38,176,232,231,231,231,231,232,231,231,175,13,15,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,57,55,55,55,51,
51,55,57,57,61,61,61,61,61,61,61,61,61,14,64,231,232,231,231,232,232,232,152,5,101,107,106,105,100,100,106,106,107,107,107,107,106,106,107,107,107,107,107,107,107,107,106,106,106,107,
106,107,107,106,106,106,106,107,106,107,107,107,107,107,107,106,106,106,106,107,106,107,107,107,107,107,107,107,106,107,107,106,106,106,106,106,107,106,106,106,107,107,107,107,107,106,107,107,106,107,
106,107,106,107,107,107,107,106,106,106,106,107,106,107,107,107,106,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,106,107,107,107,107,107,106,106,106,107,106,107,107,107,106,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,23,63,215,231,231,231,231,231,231,231,231,158,9,15,57,61,61,61,61,61,61,61,61,61,61,61,
61,61,61,61,61,61,61,61,61,60,61,60,61,60,61,61,60,61,60,61,60,61,60,61,60,60,61,60,61,60,61,60,61,16,9,224,232,231,231,231,231,231,180,10,91,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,96,4,124,229,231,230,
230,231,231,230,231,230,151,9,15,57,60,60,60,60,60,60,60,60,60,60,57,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,
60,60,61,49,9,197,230,230,231,230,230,231,208,42,86,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,83,38,166,231,231,230,231,230,231,230,231,230,159,9,13,55,60,60,57,60,60,57,57,60,60,60,60,60,57,60,60,60,60,57,60,
57,60,60,60,58,60,60,60,60,58,60,60,60,60,60,60,60,60,57,60,60,60,60,51,9,170,231,231,231,230,231,230,227,55,31,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,106,21,48,193,230,231,231,230,231,230,231,229,231,177,15,
9,46,57,58,57,57,60,57,57,57,57,57,57,60,57,57,57,57,60,57,57,57,57,57,57,57,57,57,57,57,58,57,57,57,57,57,57,57,60,57,57,57,57,55,8,134,230,230,230,231,
230,231,231,118,25,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,101,23,64,208,230,230,230,229,229,230,229,230,229,202,60,9,13,55,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,
57,57,57,57,57,57,57,57,57,57,57,57,57,57,12,69,230,230,231,230,230,230,229,150,4,104,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,93,2,73,215,230,230,230,230,229,231,229,231,229,223,132,9,9,16,57,55,57,57,55,
57,57,57,55,55,57,55,57,57,55,57,57,57,57,57,57,55,57,57,57,55,57,55,57,55,57,55,57,55,55,57,55,57,57,13,13,225,230,230,230,230,230,229,179,36,96,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,91,27,
108,216,229,229,229,229,229,229,229,229,229,229,193,64,7,9,16,55,51,55,55,55,51,55,55,55,51,55,55,55,55,55,51,55,55,55,55,51,55,55,55,51,55,55,55,55,55,55,55,55,
55,55,55,55,17,8,202,229,229,229,229,229,229,204,38,84,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,106,89,4,108,214,230,230,229,229,229,229,229,229,229,229,226,172,51,7,9,15,51,55,51,55,51,55,51,57,51,55,51,
55,51,55,51,51,51,55,55,51,51,55,55,51,51,55,51,51,51,55,51,51,51,51,51,46,7,172,230,230,229,230,229,230,225,55,81,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,89,4,73,208,227,229,229,229,229,227,
229,229,229,227,229,225,172,64,8,7,9,16,51,51,51,51,55,51,51,51,55,51,55,51,55,55,51,55,51,51,51,55,51,55,51,55,55,51,51,55,55,51,46,16,8,7,138,229,227,230,
227,230,227,229,73,21,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,90,24,61,190,229,229,227,229,229,227,229,229,229,229,227,229,227,193,127,15,7,7,9,15,16,46,51,51,51,51,51,51,51,51,51,51,51,51,51,
51,51,51,51,51,51,51,51,46,15,9,8,8,7,64,158,218,227,230,227,229,229,229,229,73,32,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,93,23,53,164,226,229,229,229,229,229,227,229,227,229,229,229,227,227,
223,184,135,57,7,8,7,7,9,13,13,16,16,17,16,46,46,17,46,46,16,16,15,13,13,9,7,7,7,7,13,110,156,202,229,229,229,229,227,229,228,227,229,220,53,33,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,100,30,10,119,209,227,227,227,227,227,229,227,227,227,227,229,229,227,229,227,229,211,181,148,116,60,13,7,7,7,7,7,7,7,7,7,7,7,7,7,7,13,60,111,142,172,200,
225,227,227,227,227,227,227,227,229,227,229,227,229,184,15,89,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,106,83,27,60,172,226,227,227,229,227,227,229,227,227,227,227,226,227,227,229,227,227,229,227,229,225,
212,199,185,179,172,170,167,167,172,175,182,189,202,214,225,227,229,226,229,227,229,227,229,228,229,228,227,227,227,227,227,227,227,119,22,102,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,96,25,10,111,
193,227,227,226,227,227,227,227,227,227,227,227,226,227,227,227,227,226,226,227,227,227,226,229,227,226,227,227,227,226,227,226,227,229,227,226,227,227,227,226,227,227,226,227,226,227,227,227,227,227,
229,227,172,38,84,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,86,2,43,124,197,227,227,227,226,227,227,227,229,226,227,227,227,226,227,227,227,227,227,227,229,226,227,227,227,227,227,227,
227,227,227,227,226,227,227,227,226,227,227,227,227,227,227,227,227,227,227,227,227,178,47,25,104,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,106,101,81,2,43,119,184,223,227,226,226,226,
226,227,226,226,226,227,226,226,226,226,226,226,226,226,227,226,226,226,226,227,226,227,226,226,226,226,226,226,226,227,226,226,227,226,226,226,227,227,226,209,138,43,23,104,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,100,81,2,38,69,159,205,226,226,226,226,227,226,227,226,226,227,226,226,227,226,226,226,226,226,226,226,226,226,226,226,226,226,227,227,226,226,227,226,
226,227,226,226,227,226,223,188,134,45,4,33,105,106,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,106,106,104,86,23,6,43,111,159,197,223,226,226,226,226,226,226,227,226,
226,226,226,227,226,227,226,226,226,226,226,226,226,227,226,226,226,226,226,226,226,226,225,217,182,143,64,36,2,32,93,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,93,81,23,6,38,61,127,166,191,214,225,225,226,225,225,226,225,225,225,225,225,226,226,225,225,225,226,225,225,225,226,226,218,200,177,146,110,45,35,2,30,87,101,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,106,94,86,31,22,6,37,43,64,119,140,159,174,182,193,200,205,206,208,208,206,205,
197,190,182,174,159,143,122,71,48,38,34,3,25,33,89,101,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
106,107,105,96,89,81,31,23,2,6,34,35,38,38,39,43,43,43,43,38,38,37,10,6,4,1,23,30,33,86,92,102,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,106,107,107,107,105,100,93,91,89,87,84,84,84,83,84,86,88,89,91,96,99,105,107,106,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,
107,107,107,107,107,107};


        // Main entry point of the kernel
        public static void DrawCosmosLogo()
        {


            VGAScreen.SetPalette(0, pal);

            uint left = 160 - width / 2;
            uint top = 100 - height / 2;

            VGAScreen.SetMode320x200x8();

            VGAScreen.Clear(107);

            int d = 0;
            for (uint y = 0; y < height; y++)
            {
                for (uint x = 0; x < width; x++)
                {
                    VGAScreen.SetPixel320x200x8(x + left, y + top, data[d++]);

                    VGAScreen.SetPixel(x + left, y + top, data[d++]);
                }
            }

        }
    }
}
Dec 26, 2010 at 3:44 PM
Edited Dec 26, 2010 at 3:44 PM

 

I just converted it to an 8bit bitmap in a paint program, then wrote a c# app to output the arrays. I think the code for that app is in the source repository somewhere (might have to go back some revisions)

Dec 26, 2010 at 8:40 PM
Edited Dec 26, 2010 at 8:51 PM

Okay...i think i found your program,its named VGAFontMaker.Also my 2nd question how do i switch back to console after vga mode?

Oh and also,whats pal and data.

Sorry if i ask to mutch question...

Thanks.

Dec 26, 2010 at 9:59 PM

to switch back, use VGAScreen.SetTextMode().  the first two colors of your pallet (0 and 1) are the colors for console now.

Dec 26, 2010 at 11:07 PM

Okay thx,now im new to VGA so how do i set my pallet colors?Also,is there any set imadge format i have to use,im using your code and replacing part whit your program output,but i got many error. 

Dec 27, 2010 at 2:22 AM

Hum i experimented a bit whit this VGA ting,i really need help....

Dec 27, 2010 at 5:16 PM

Okay if ound this code,how it work,explain plz...

 

#region

colors

 

for (int u = 0; u < 42; u++) // RED

 

{

 

VGAScreen.SetPaletteEntry((int)u, (byte)(u * 6), (byte)0, (byte)0);

}

 

for (int u = 42; u < 84; u++) // GREEN

{

 

VGAScreen.SetPaletteEntry((int)u, (byte)0, (byte)((u - 42) * 6), (byte)0);

}

 

for (int u = 84; u < 126; u++) // BLUE

{

 

VGAScreen.SetPaletteEntry((int)u, (byte)0, (byte)0, (byte)((u - 84) * 6));

}

 

for (int u = 126; u < 168; u++) // YELLOW

{

 

VGAScreen.SetPaletteEntry((int)u, (byte)((u - 126) * 6), (byte)((u - 126) * 6), (byte)0);

}

 

for (int u = 168; u < 210; u++) // CYAN

{

 

VGAScreen.SetPaletteEntry((int)u, (byte)0, (byte)((u - 168) * 6), (byte)((u - 168) * 6));

}

 

for (int u = 210; u < 213; u++) // MAGENTA

{

 

VGAScreen.SetPaletteEntry((int)u, (byte)((u - 210) * 85), (byte)0, (byte)((u - 210) * 85));

}

 

for (int u = 213; u < 255; u++) // GREYSCALE

{

 

VGAScreen.SetPaletteEntry((int)u, (byte)((u - 213) * 6), (byte)((u - 213) * 6), (byte)((u - 213) * 6));

}

 

VGAScreen.SetPaletteEntry(255, 0x00, 0x00, 0x00);

#endregion

colors

Dec 27, 2010 at 6:30 PM

Okay the color working, VGAScreen.SetPaletteEntry work like a charm,for those who wanna know:

 the first is the pallet ( 0 for the background) and the hoter number are RGB(red green blue) value in order.For exemple if you wanth

to set the first pallet (0) to red ,its VGAScreen.SetPaletteEntry(0 ,63 ,0 ,0); were the first 0 is the pallete,the 2nd is the %(on 63) of

red, the 3rd is the %(on 63) of green and the last is the %(also on 63) of blue.

 

Now,im still stuck whit the imadge , i got this error at eatch variable:

Error 4 An object reference is required for the non-static field, method, or property 'CosmosBoot.LogoGraphic.width' C:\Users\Alex\Documents\Visual Studio 2008\Projects\Xenoh OS\source\CosmosBoot\LogoGraphic.cs 1312 31 CosmosBoot

HELP!

Jan 5, 2011 at 10:47 PM

Sorry for the noob question, but I can't seem to find the dll/namespace for VGAScreen. I am running v4.0.30319

Thanks

Jan 6, 2011 at 12:57 AM

Should be in the cosmos.hardware namespace