diff --git a/programs/modelViewer.c b/programs/modelViewer.c index 61354eb..221e080 100644 --- a/programs/modelViewer.c +++ b/programs/modelViewer.c @@ -31,6 +31,9 @@ #include "chestTexture.h" #include "chestModel.h" +#include "plantTexture.h" +#include "plantModel.h" + #include "cat1Model.h" #include "cat2Model.h" #include "catTexture.h" @@ -40,7 +43,8 @@ S3L_Unit houseNormals[HOUSE_VERTEX_COUNT * 3]; S3L_Unit chestNormals[CHEST_VERTEX_COUNT * 3]; -S3L_Unit catNormals[CHEST_VERTEX_COUNT * 3]; +S3L_Unit catNormals[CAT1_VERTEX_COUNT * 3]; +S3L_Unit plantNormals[PLANT_VERTEX_COUNT * 3]; S3L_Unit catVertices[CAT1_VERTEX_COUNT * 3]; const S3L_Index *catTriangleIndices = cat1TriangleIndices; @@ -127,6 +131,7 @@ S3L_Vec4 toLight; int8_t light = 1; int8_t fog = 0; int8_t noise = 0; +int8_t transparency = 0; int8_t mode = 0; S3L_Vec4 n0, n1, n2, nt; @@ -232,6 +237,8 @@ void drawPixel(S3L_PixelInfo *p) uint8_t r,g,b; + int8_t transparent = 0; + switch (mode) { case 0: // textured mode @@ -246,6 +253,9 @@ void drawPixel(S3L_PixelInfo *p) sampleTexture(uv[0] / 4,uv[1] / 4,&r,&g,&b); + if (transparency && r == 255 && g == 0 && b == 0) + transparent = 1; + break; } @@ -321,6 +331,12 @@ void drawPixel(S3L_PixelInfo *p) b = S3L_clamp(((int16_t) b) + f,0,255); } + if (transparency && transparent) + { + S3L_zBufferWrite(p->x,p->y,p->previousZ); + return; + } + if (noise) setPixel(p->x + rand() % 8,p->y + rand() % 8,r,g,b); else @@ -355,6 +371,7 @@ void setModel(uint8_t index) modelCase(0,house) modelCase(1,chest) modelCase(2,cat) + modelCase(3,plant) default: break; @@ -364,6 +381,17 @@ void setModel(uint8_t index) S3L_initTransoform3D(&(scene.models[0].transform)); S3L_initDrawConfig(&(scene.models[0].config)); + + if (index == 3) + { + scene.models[0].config.backfaceCulling = 0; + transparency = 1; + } + else + { + scene.models[0].config.backfaceCulling = 2; + transparency = 0; + } } int16_t fps = 0; @@ -394,7 +422,7 @@ int main() scene.models = &model; int8_t modelIndex = 0; - int8_t modelsTotal = 3; + int8_t modelsTotal = 4; setModel(0); int running = 1; diff --git a/programs/plantModel.h b/programs/plantModel.h new file mode 100644 index 0000000..92a4c7a --- /dev/null +++ b/programs/plantModel.h @@ -0,0 +1,52 @@ +#ifndef PLANT_MODEL_H +#define PLANT_MODEL_H + +#define PLANT_VERTEX_COUNT 8 +const S3L_Unit plantVertices[PLANT_VERTEX_COUNT * 3] = { + -1604, -1546, 0, // 0 + 1604, -1546, 0, // 3 + -1604, 2293, 0, // 6 + 1604, 2293, 0, // 9 + 0, -1546, -1604, // 12 + 0, -1546, 1604, // 15 + 0, 2293, -1604, // 18 + 0, 2293, 1604 // 21 +}; // plantVertices + +#define PLANT_TRIANGLE_COUNT 4 +const S3L_Index plantTriangleIndices[PLANT_TRIANGLE_COUNT * 3] = { + 1, 2, 0, // 0 + 5, 6, 4, // 3 + 1, 3, 2, // 6 + 5, 7, 6 // 9 +}; // plantTriangleIndices + +#define PLANT_UV_COUNT 8 +const S3L_Unit plantUVs[PLANT_UV_COUNT * 2] = { + 512, 512, // 0 + 0, 0, // 2 + 0, 512, // 4 + 512, 512, // 6 + 0, 0, // 8 + 0, 512, // 10 + 512, 0, // 12 + 512, 0 // 14 +}; // plantUVs + +#define PLANT_UV_INDEX_COUNT 4 +const S3L_Index plantUVIndices[PLANT_UV_INDEX_COUNT * 3] = { + 0, 1, 2, // 0 + 3, 4, 5, // 3 + 0, 6, 1, // 6 + 3, 7, 4 // 9 +}; // plantUVIndices + +S3L_Model3D plantModel = +{ + .vertices = plantVertices, + .vertexCount = PLANT_VERTEX_COUNT, + .triangles = plantTriangleIndices, + .triangleCount = PLANT_TRIANGLE_COUNT +}; + +#endif // guard diff --git a/programs/plantTexture.h b/programs/plantTexture.h new file mode 100644 index 0000000..cc2c81f --- /dev/null +++ b/programs/plantTexture.h @@ -0,0 +1,1814 @@ +#ifndef PLANT_TEXTURE_H +#define PLANT_TEXTURE_H + +#define PLANT_TEXTURE_WIDTH 128 +#define PLANT_TEXTURE_HEIGHT 128 + +uint8_t plantTexture[49152] = { +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,178,158,107,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,110,180,121,105,173,114,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,115, +156,96,255,0,0,255,0,0,103,171,114,100,169,114,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,102,153, +94,121,160,103,255,0,0,100,168,116,98,169,118,178,158,107,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,100, +149,90,99,153,98,255,0,0,94,170,126,97,178,132,255,0,0,255,0,0,105,173,114,155, +170,117,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,212,96,37,255,0,0,255,0,0,255,0, +0,255,0,0,99,151,95,255,0,0,91,164,124,91,165,124,255,0,0,255,0,0,99,162,107, +104,172,113,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,118,122,38,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,103,126,51,255,0, +0,255,0,0,135,152,93,95,138,85,97,149,95,95,179,138,94,178,136,255,0,0,104,165, +107,108,181,119,99,157,103,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,101,114,35,98,112,40,99,132,66,255,0,0,255,0,0,93, +150,98,93,129,82,255,0,0,255,0,0,98,117,48,105,131,54,104,152,90,97,179,136,97, +179,132,95,157,108,99,150,94,107,169,104,99,145,86,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,179,109,33,99,114,41,98,113, +41,255,0,0,255,0,0,90,164,125,91,173,134,178,104,30,255,0,0,98,116,48,106,129, +49,103,150,87,93,170,125,95,169,124,95,151,104,104,158,99,105,156,91,97,134,74, +255,0,0,255,0,0,255,0,0,255,0,0,110,164,102,108,144,71,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,98,110,39,100,114,40,99,111,36,255,0,0,90,163,124,93,176,133,92, +171,130,255,0,0,94,101,36,104,126,52,100,143,84,93,158,111,93,159,112,95,151, +100,101,162,103,104,163,105,97,134,77,255,0,0,255,0,0,255,0,0,255,0,0,109,123, +41,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,98,111,38,101,114, +36,97,107,36,91,139,90,93,172,130,90,162,123,94,140,85,93,100,38,103,119,46,99, +134,73,93,152,104,93,153,105,99,155,104,100,156,99,100,145,82,93,134,81,255,0,0, +255,0,0,255,0,0,100,116,40,98,113,41,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,95,107,39,101,118,34,104,117,29,99,138,79,94,164,120,95,168,125, +92,146,104,93,116,56,99,111,40,97,123,66,92,142,92,91,147,100,97,151,100,99,151, +98,97,144,91,91,130,84,255,0,0,255,0,0,98,113,40,99,114,43,100,117,39,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,209,128,98,92,170,126,209,129,99,255,0,0,94,99,33,101, +108,30,98,127,64,97,147,97,95,162,112,91,149,106,87,117,68,95,110,46,94,123,68, +91,132,86,93,139,91,97,144,88,97,144,91,94,149,99,88,136,92,255,0,0,255,0,0,103, +120,41,99,117,41,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,91,162,118,95, +179,133,92,165,123,92,98,38,92,95,35,97,113,51,95,132,79,93,151,103,91,140,95, +90,118,69,92,95,36,90,107,54,90,127,81,92,133,85,94,136,84,94,138,84,90,137,93, +91,139,92,107,121,41,95,110,42,100,116,40,100,116,39,255,0,0,255,0,0,255,0,0, +255,0,0,209,131,98,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,173,161,120,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,95,145,94,97,159,107,90,152,112,94,158, +108,93,103,42,93,119,65,92,130,81,91,133,85,91,131,80,91,97,38,87,101,47,92,123, +78,92,132,84,92,130,80,92,133,84,255,0,0,255,0,0,92,101,40,100,113,35,94,105,40, +255,0,0,255,0,0,255,0,0,93,171,129,93,172,129,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,93,179,130,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,95,164,115,255,0,0,255,0,0, +255,0,0,92,125,75,97,144,88,95,150,99,86,104,59,87,107,58,91,125,74,92,127,80, +92,124,77,85,85,33,85,93,41,90,118,71,90,123,73,91,120,74,91,126,80,90,112,60, +88,94,39,97,106,30,93,104,35,255,0,0,97,159,107,103,173,118,100,182,133,93,171, +126,93,165,120,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,88,165,120,91,170,123,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,91,162,114,93,153,104,255,0,0,255,0,0,255,0,0,90,114,66, +98,126,72,93,126,73,92,112,56,87,106,59,91,112,66,91,114,67,81,81,38,82,97,49, +86,107,58,88,113,66,87,117,69,88,111,65,91,95,38,94,101,35,95,106,42,90,108,58, +98,156,108,101,165,110,98,173,121,95,176,126,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,94,176,129,95,186,137,93,170,119,255,0,0,255,0,0,255,0,0,255,0,0,91,164, +117,87,153,112,114,170,123,255,0,0,255,0,0,255,0,0,90,114,62,92,119,69,93,121, +71,91,113,61,87,105,55,88,97,52,81,91,46,82,103,53,87,103,53,88,104,56,88,103, +56,85,97,45,88,99,39,90,111,56,93,146,100,94,156,108,98,152,97,100,155,100,90, +144,101,118,166,121,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,90,163,116,99,165, +110,88,145,101,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,93,168,120,86,152,108, +255,0,0,255,0,0,255,0,0,255,0,0,82,105,64,85,106,64,88,112,64,87,101,55,87,93, +46,81,91,41,85,99,52,85,103,60,86,93,48,85,88,36,86,90,36,88,107,58,91,132,84, +95,146,97,98,143,88,97,140,87,93,139,92,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,88,140,98,95,155,103,93,158,108,255,0,0,255,0,0,255,0,0, +255,0,0,92,163,114,92,163,116,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +84,92,52,78,81,48,81,85,43,82,82,33,86,95,51,87,120,79,81,92,49,86,98,49,87,112, +62,91,124,78,92,125,80,94,126,78,94,131,80,86,124,84,255,0,0,101,156,113,91,153, +112,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,120,172,119,98,165,112,101,170,118,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,93,153,106,91,150,104, +93,152,104,94,145,97,85,126,84,255,0,0,255,0,0,255,0,0,93,149,99,92,152,104,84, +133,92,255,0,0,92,151,100,90,142,92,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,80, +85,35,86,114,73,93,146,103,88,120,78,92,113,64,97,125,65,90,116,66,90,110,59,86, +100,55,255,0,0,86,146,103,84,136,98,94,159,117,87,142,105,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,98,164,112,97,162,111,93,165,118,93,168,120,88,156,111,88,152,107,88,150,104, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,87,113,64,87,112,61,85,130,88,92,140,88, +94,136,84,86,117,71,255,0,0,255,0,0,92,142,88,94,139,94,84,126,84,255,0,0,87, +146,103,94,168,116,98,142,80,255,0,0,255,0,0,255,0,0,84,103,49,85,93,40,88,123, +81,104,185,137,92,142,100,99,117,47,100,114,41,87,98,39,87,95,39,82,108,65,85, +124,85,91,146,100,88,146,103,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,99,167,114,92,150,101,100,158,100,95,163,113,92,159,110,93,155,105,87, +131,88,88,136,90,255,0,0,255,0,0,255,0,0,85,95,43,93,106,41,88,118,65,91,123,68, +94,111,47,94,107,42,255,0,0,90,130,81,92,130,78,86,126,79,82,117,73,86,142,98, +94,152,101,95,117,53,255,0,0,255,0,0,120,199,131,103,158,101,80,90,43,86,108,66, +106,195,145,93,138,93,100,111,33,92,106,41,86,108,64,87,113,69,87,130,87,87,130, +86,81,120,86,87,133,94,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,94,151,99,90,134,87,101,134,65,99,136,77,97,138,85,93,133,84,85, +127,82,82,125,81,80,113,69,81,104,58,90,108,51,90,107,49,87,118,66,88,114,61,86, +94,35,84,90,35,87,125,78,90,123,73,91,118,67,255,0,0,86,134,92,92,143,93,91,113, +51,85,110,58,255,0,0,123,198,129,127,205,133,79,98,49,86,114,71,104,178,131,92, +134,88,98,110,41,93,111,52,85,104,61,86,120,80,90,131,91,80,113,79,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,94,110,42,93,106,40,93,119,60,93,124,73,91,124,74,91,125,73,84,117, +71,82,110,65,84,104,54,86,103,51,86,104,53,85,104,54,87,95,39,86,99,40,81,112, +66,84,112,66,91,105,41,90,99,39,86,130,87,88,133,86,88,117,61,85,104,53,255,0,0, +124,179,100,126,198,125,90,118,72,94,143,94,103,171,125,107,162,110,104,119,42, +95,106,41,80,103,67,86,133,97,90,140,99,255,0,0,255,0,0,255,0,0,85,125,82,209, +100,69,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,88,110,58,85,104,55,91,110,53,92,107,54,86,104,54,86,103,56,81, +95,51,81,94,47,85,93,46,84,97,49,85,99,46,85,103,51,80,103,55,81,101,55,88,97, +41,91,99,32,91,131,85,86,126,82,86,107,52,81,97,49,123,176,100,132,188,101,124, +194,121,97,145,92,97,151,104,108,178,127,119,183,118,130,155,56,107,127,59,255, +0,0,93,157,114,90,135,95,255,0,0,255,0,0,95,127,78,110,132,54,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,208,103,70,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,84,92,39,82,88,39,82,88,38,80,85,38,80,84,38,82,82, +32,81,82,36,81,92,42,82,95,45,77,97,51,79,100,55,85,91,30,88,93,28,100,136,66, +91,121,66,86,103,42,82,88,36,124,179,104,130,192,114,124,197,125,105,155,98,101, +155,100,107,169,114,119,175,107,130,146,46,119,145,66,113,211,159,119,229,177, +255,0,0,255,0,0,121,140,47,125,146,47,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,80,134,94,83,140,99,255, +0,0,98,132,87,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,112,124,52,92,106,42,91,104,41,95,105,39,92,105, +41,88,103,43,88,98,41,86,101,47,84,99,51,82,93,43,80,87,38,79,93,46,79,92,45,78, +80,32,78,78,32,78,82,35,78,84,35,80,95,53,81,107,62,82,93,42,82,85,33,105,133, +58,103,125,56,85,94,41,81,85,27,111,165,106,124,173,101,123,185,117,107,163,104, +98,150,97,108,158,99,118,156,84,126,138,41,113,149,79,118,215,158,123,232,175, +116,143,65,125,139,42,123,138,45,126,140,41,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,79,132,95,77,132,97, +255,0,0,98,132,90,88,120,65,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,92,141,85,90,138,85,88,134,84,88,133,85,92,150,95, +92,149,100,90,144,98,88,136,91,90,131,82,88,126,77,84,117,72,82,116,68,82,104, +56,79,98,52,77,86,42,75,75,30,75,73,26,75,73,23,79,98,52,79,95,46,78,91,40,79, +81,33,92,111,51,107,127,53,90,103,40,80,82,29,105,163,111,120,195,134,121,181, +114,118,177,112,114,176,114,110,151,93,114,147,85,120,131,48,113,156,92,120,211, +156,121,209,153,127,151,53,130,146,34,121,132,40,127,143,39,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,79, +131,93,77,142,110,75,133,95,96,134,91,82,119,63,255,0,0,255,0,0,96,111,43,255,0, +0,255,0,0,255,0,0,78,87,25,78,85,30,85,121,66,88,157,112,87,157,116,87,160,121, +86,164,127,85,162,125,85,156,118,86,153,116,85,144,107,81,137,99,84,123,82,81, +125,87,255,0,0,80,94,48,80,84,38,79,81,34,84,86,27,79,80,32,74,74,30,74,72,28, +80,95,51,81,106,61,79,90,46,78,90,46,77,85,45,90,99,40,108,129,42,97,110,43,88, +114,71,105,146,90,116,171,107,117,171,107,113,163,101,104,142,86,108,132,68,110, +121,54,108,160,105,119,201,140,120,184,121,124,138,42,124,125,25,255,0,0,119, +192,123,112,199,145,212,153,113,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,82,129,86,81,127,85,255,0,0,73,131,100,74,136,106,74,120,85,79, +98,47,80,101,46,255,0,0,81,99,43,79,90,29,255,0,0,255,0,0,77,85,33,78,85,32,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,95,110,34,94,104,35,95,107, +34,95,107,30,95,107,30,94,101,28,93,99,28,81,86,36,79,85,36,80,104,56,82,101,55, +78,93,47,78,82,40,79,80,34,87,121,78,101,176,125,104,170,120,86,116,65,73,78,35, +112,120,34,126,147,48,82,80,27,80,91,43,105,145,87,116,159,99,112,160,99,104, +132,73,100,107,43,114,149,85,114,169,107,117,158,95,117,149,81,106,119,56,113, +176,116,123,209,146,125,195,127,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,80,125,81,87,140,92,84,129,81,77,127,91,77,143, +108,75,138,104,85,106,38,81,94,36,255,0,0,78,90,39,75,105,71,255,0,0,255,0,0,80, +87,33,77,84,32,255,0,0,255,0,0,255,0,0,255,0,0,106,148,90,95,110,33,93,106,38, +93,105,38,92,101,36,92,100,38,88,95,36,88,95,35,255,0,0,255,0,0,81,120,79,85, +121,78,85,114,69,85,111,61,84,88,36,80,80,25,74,73,33,77,97,59,93,144,99,105, +178,124,114,184,125,103,155,101,86,101,51,110,117,40,107,113,38,90,93,32,91,108, +54,114,155,91,113,152,90,103,118,60,95,95,38,113,144,82,117,155,95,112,142,79, +108,133,72,123,182,120,124,183,117,113,151,86,255,0,0,255,0,0,255,0,0,132,198, +134,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,182,199,155,133,229,176,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,173,122,78, +82,116,64,84,127,80,77,119,81,75,132,97,74,130,94,79,110,58,82,92,27,255,0,0,72, +134,103,73,134,103,73,104,62,75,86,38,80,87,22,77,80,30,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,88,141,93,91, +138,87,90,137,86,90,127,77,91,119,65,85,98,43,82,92,41,81,86,35,255,0,0,80,101, +58,79,104,54,77,86,40,86,105,58,113,175,116,120,186,119,106,166,112,103,155,101, +108,126,55,101,108,36,94,99,38,106,125,72,111,136,77,106,133,72,98,111,56,111, +131,71,112,133,74,118,144,77,120,152,82,120,153,84,110,140,81,255,0,0,255,0,0, +255,0,0,118,195,131,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,120,231,172,113,215, +159,120,229,170,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,78,106,61,82,134,90,80,130,85,73,123,86,73,123,87,78, +111,66,79,97,40,74,81,38,73,105,68,74,139,106,74,121,79,79,99,42,80,86,16,75,81, +33,255,0,0,72,131,99,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,85, +152,110,93,165,118,91,162,113,92,145,95,86,123,78,255,0,0,255,0,0,255,0,0,255,0, +0,80,113,72,84,120,74,82,112,67,82,105,56,82,86,28,82,78,17,98,130,77,116,171, +110,123,176,112,112,170,111,105,142,84,106,121,56,106,111,45,100,106,48,101,110, +53,107,124,60,104,120,56,111,120,60,113,129,68,116,150,87,117,149,85,110,139,84, +255,0,0,255,0,0,255,0,0,108,196,142,111,202,147,255,0,0,255,0,0,255,0,0,255,0,0, +114,204,144,119,228,169,112,207,151,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,210, +129,92,98,175,123,95,169,119,95,171,121,107,185,133,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,111,127,76,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +80,119,71,79,124,78,74,121,82,72,120,82,77,106,68,77,94,49,75,82,33,73,104,66, +73,130,93,75,118,79,77,100,49,75,78,29,74,104,59,75,142,106,75,132,95,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,88,162,116,85,152,110,82,147,107,87,156, +110,255,0,0,255,0,0,255,0,0,255,0,0,82,130,91,85,133,90,88,134,86,87,126,79,88, +103,43,88,91,22,91,104,45,97,132,77,82,104,58,79,92,49,103,139,81,116,155,93, +113,153,94,110,149,92,110,142,82,100,106,49,97,94,41,108,113,52,107,111,49,108, +118,60,111,120,64,106,129,72,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,118,216, +155,111,197,142,255,0,0,255,0,0,255,0,0,112,183,121,120,203,139,125,202,130,255, +0,0,255,0,0,255,0,0,255,0,0,95,138,81,99,142,81,106,165,101,101,175,117,97,175, +124,131,180,132,255,0,0,255,0,0,255,0,0,211,130,89,107,177,118,105,172,112,106, +174,113,113,178,117,124,178,118,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,78,92,31,78,101,51,255,0,0,255,0,0,255,0,0,74, +105,66,78,118,77,78,118,75,75,116,77,71,105,68,73,99,59,73,78,33,71,87,49,74, +120,84,75,112,73,75,95,51,73,77,34,72,116,82,79,118,77,74,111,75,255,0,0,255,0, +0,120,126,88,255,0,0,255,0,0,255,0,0,255,0,0,79,131,92,78,130,91,255,0,0,255,0, +0,255,0,0,148,155,113,85,140,99,91,152,106,92,147,103,93,123,64,95,107,39,93,92, +16,92,92,26,87,110,62,95,139,90,111,178,120,98,151,99,85,100,49,111,129,54,114, +140,72,112,138,77,110,140,80,110,129,73,104,111,56,108,104,38,108,110,42,100, +100,43,255,0,0,255,0,0,255,0,0,111,173,108,110,170,105,126,168,104,101,159,103, +118,202,140,117,188,129,255,0,0,255,0,0,103,152,95,113,185,124,121,197,132,111, +173,117,123,173,105,92,117,56,95,118,51,101,130,52,101,158,99,98,172,119,94,181, +136,92,166,123,255,0,0,255,0,0,255,0,0,93,164,119,94,172,127,101,173,121,101, +150,91,100,155,97,101,162,104,107,177,117,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,78,88,38,79,93,35,255, +0,0,255,0,0,72,108,77,74,120,84,74,112,68,74,111,67,73,104,66,72,94,58,72,77,32, +73,90,42,73,104,65,73,103,61,71,92,52,71,97,62,75,118,79,75,94,56,98,117,75,255, +0,0,171,110,73,72,126,88,255,0,0,255,0,0,255,0,0,89,125,83,74,120,82,75,111,72, +255,0,0,255,0,0,255,0,0,91,165,117,95,165,113,101,132,60,105,116,35,94,107,38, +90,100,41,92,93,28,255,0,0,255,0,0,255,0,0,100,147,97,110,166,111,117,182,121, +111,159,105,107,126,60,107,125,56,101,110,43,79,80,34,77,75,28,106,101,28,108, +113,41,107,120,53,255,0,0,255,0,0,255,0,0,124,204,133,107,172,108,100,132,64, +111,166,101,118,185,123,110,173,119,97,130,64,97,124,59,116,171,110,119,181,113, +105,168,113,100,119,49,105,120,29,99,119,38,95,143,85,94,149,99,87,166,123,87, +162,123,97,177,129,97,173,126,90,159,112,95,166,116,101,170,116,107,182,124,108, +177,112,100,144,84,100,157,100,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +78,86,34,81,93,30,77,87,36,255,0,0,255,0,0,73,106,69,73,103,64,73,101,62,72,95, +61,67,71,28,67,74,30,72,98,61,71,92,56,68,82,43,73,103,61,74,101,58,255,0,0,255, +0,0,255,0,0,71,124,88,71,118,86,141,125,89,255,0,0,255,0,0,69,111,77,74,125,82, +73,112,75,255,0,0,255,0,0,255,0,0,94,158,106,255,0,0,255,0,0,97,129,77,72,127, +94,73,139,106,255,0,0,255,0,0,255,0,0,80,108,68,81,116,68,84,118,73,120,170,107, +121,172,110,117,153,93,113,144,82,108,132,71,86,87,33,85,79,25,110,111,38,111, +129,62,99,127,75,255,0,0,97,149,97,112,157,86,123,190,119,110,173,104,105,151, +90,113,163,98,119,170,107,106,150,90,99,130,59,105,138,71,113,165,101,108,163, +105,107,124,43,103,113,28,92,112,46,90,124,69,85,145,100,84,151,107,97,171,121, +100,178,126,105,182,126,112,196,137,108,188,130,104,172,114,101,139,68,99,145, +87,104,149,82,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,77,81,34,81,84,17,73,81,34,74,80,28,71,97,59,72,100,62,71,93,56,71,90, +53,66,77,39,65,73,34,69,82,46,68,86,49,72,88,47,73,95,56,72,90,49,255,0,0,255,0, +0,255,0,0,69,118,85,72,124,88,71,120,84,255,0,0,255,0,0,71,117,78,72,118,78,69, +110,77,69,112,80,255,0,0,255,0,0,255,0,0,255,0,0,69,119,84,71,130,94,77,124,82, +73,117,81,255,0,0,255,0,0,84,124,80,84,124,80,84,126,82,80,113,73,255,0,0,111, +143,90,107,134,77,111,133,74,118,137,75,107,113,56,103,98,42,108,118,43,108,126, +56,98,110,55,255,0,0,98,159,105,119,162,86,119,175,108,103,160,100,106,138,78, +119,155,86,108,155,92,98,142,86,103,133,67,108,142,72,111,145,82,112,136,64,110, +131,62,98,124,64,97,143,92,98,145,94,105,164,107,114,170,108,119,177,111,117, +176,108,108,170,108,101,152,92,87,132,88,94,150,100,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,210,127,88,100,175,120,120,176,122,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,74,132,99,77,139,106,75,127,94, +75,123,88,255,0,0,255,0,0,75,82,26,75,79,23,72,75,33,71,80,42,69,86,52,67,85,48, +68,85,45,66,80,41,67,73,35,69,79,41,71,87,48,67,82,53,207,72,42,255,0,0,255,0,0, +255,0,0,69,112,80,73,120,81,72,110,74,255,0,0,255,0,0,74,107,64,73,108,68,71,84, +43,71,79,33,255,0,0,255,0,0,69,93,62,71,108,72,77,108,64,78,105,53,255,0,0,255, +0,0,255,0,0,255,0,0,82,123,81,82,124,84,255,0,0,255,0,0,255,0,0,255,0,0,67,58, +22,69,66,22,73,71,28,93,95,42,95,101,45,108,133,67,110,132,66,98,116,62,80,126, +88,93,139,86,112,150,78,111,165,104,104,169,111,119,129,45,116,131,58,100,137, +80,100,133,75,108,126,61,108,130,66,110,129,64,110,129,64,104,131,72,104,140,82, +112,158,94,118,160,95,121,162,92,120,155,81,110,133,56,101,127,58,86,121,75,87, +131,84,255,0,0,255,0,0,255,0,0,96,135,71,95,137,77,93,137,81,94,142,88,95,150, +95,101,171,114,97,157,104,95,159,106,112,176,121,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,75,134,98,78,142,103,78,139,98,79,130, +86,78,129,87,74,113,77,73,105,66,69,81,35,68,69,23,67,73,34,68,73,36,66,71,34, +66,75,36,66,71,33,67,73,39,66,71,41,255,0,0,255,0,0,74,123,84,73,125,86,255,0,0, +68,103,72,73,113,73,71,113,74,255,0,0,71,82,34,74,98,55,69,99,60,72,80,28,69,78, +36,66,90,58,67,98,60,73,98,59,74,98,56,77,87,27,74,82,39,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,69,64,19,68,62,20,66, +61,20,74,74,23,98,108,49,111,133,67,111,130,64,100,113,53,85,132,90,100,127,59, +112,138,64,107,157,100,103,150,91,108,119,39,103,119,52,97,124,68,103,125,67, +106,123,58,104,117,58,104,116,54,103,117,58,110,126,67,111,132,71,112,132,62, +107,130,62,92,114,56,84,104,58,255,0,0,90,111,53,80,94,49,82,97,47,88,113,51,92, +120,60,94,131,68,95,151,95,97,157,100,100,162,106,101,165,107,92,157,111,99,170, +114,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,74,121,86,73,121,80,78,117,74,79,114,72,78, +118,77,73,106,69,71,92,54,69,82,42,68,74,36,61,64,29,65,66,27,65,67,27,64,66,35, +142,72,32,255,0,0,255,0,0,77,112,69,77,133,91,255,0,0,67,97,61,74,103,60,71,101, +62,66,93,60,68,77,38,69,88,47,68,87,48,69,84,41,66,84,46,66,92,53,71,95,55,72, +92,49,72,87,43,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,68,64,26,68,65,21,66,64,21,86,87,33,105,123,58, +110,133,65,111,130,62,92,112,58,77,118,77,105,121,48,113,132,58,106,142,81,100, +129,69,97,110,45,97,124,64,101,125,65,101,116,52,99,108,48,99,101,42,101,101,38, +104,106,41,95,99,38,81,86,35,66,66,22,61,62,21,66,67,30,69,73,33,78,90,40,78,98, +48,84,113,65,84,125,77,88,133,84,92,142,87,91,144,93,86,155,113,86,145,101,90, +144,93,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +73,103,66,72,103,67,74,103,62,75,94,58,73,98,59,71,94,58,73,92,54,69,77,41,67, +68,30,68,67,22,68,78,39,66,78,47,255,0,0,255,0,0,78,101,49,78,114,67,71,111,78, +82,104,63,74,95,54,69,95,56,66,85,47,67,74,35,68,79,40,67,80,40,65,75,39,64,75, +41,68,79,40,66,78,35,68,78,43,255,0,0,255,0,0,255,0,0,73,82,33,73,81,33,71,115, +71,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,208,52,15,69,64,21,68,65,21, +65,60,20,99,108,43,110,129,60,112,149,84,113,157,90,94,117,61,77,110,68,99,112, +45,110,125,56,110,131,69,103,120,59,99,111,51,100,123,62,98,118,64,99,107,47,98, +100,38,97,97,40,99,116,58,103,124,66,97,117,59,98,117,52,104,129,64,104,127,61, +101,120,52,99,121,55,107,129,55,106,126,52,88,111,59,86,113,64,80,113,71,79,116, +74,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,210,113,71,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,73,108,74,72,110,77,170,103,68,255,0,0,71,82,36,72,77, +27,72,82,35,69,78,32,67,74,41,93,71,23,67,64,17,68,78,34,68,88,48,255,0,0,255,0, +0,75,93,45,77,108,61,69,106,74,69,92,56,73,79,32,68,84,45,65,82,42,68,81,40,64, +73,34,64,69,33,64,65,28,62,66,28,64,64,23,64,65,35,67,80,47,71,79,39,73,87,34, +74,95,48,73,108,60,71,117,72,71,124,92,71,130,100,68,118,84,69,120,82,255,0,0, +255,0,0,255,0,0,255,0,0,68,64,21,67,64,22,65,62,21,91,95,40,105,117,52,107,137, +71,107,134,67,98,104,43,84,100,51,84,106,56,101,111,47,104,118,56,103,127,66, +103,118,58,101,113,54,99,105,42,97,94,34,82,80,29,79,78,27,88,92,35,87,92,36, +101,134,79,103,140,81,107,158,97,113,172,111,117,191,136,118,199,140,114,205, +143,114,199,138,107,175,119,108,176,121,104,156,94,101,145,80,100,134,66,104, +133,58,104,133,56,104,137,62,100,137,72,94,140,84,93,143,87,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,72,114,77,71,110,74,74,119,79,74,116,78,72,105,69,72,99,59, +71,92,53,69,87,51,65,69,32,62,64,27,65,65,22,65,74,28,65,77,36,64,66,38,255,0,0, +72,94,53,72,94,48,68,106,71,67,99,65,71,71,20,66,74,28,60,73,40,60,72,35,62,66, +28,60,59,23,61,59,23,64,67,30,62,77,39,66,80,39,67,94,58,66,101,67,67,116,86,67, +120,91,68,119,88,68,120,92,68,125,91,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,67,62,27,66,61,22,67,62,23,98,98,34,104,106,40,104,123,59,104, +119,55,100,98,35,87,94,41,71,91,51,88,100,46,101,111,48,101,117,53,101,110,48, +98,100,39,86,80,29,88,93,40,95,110,55,93,110,55,101,110,41,105,116,42,99,118,53, +92,116,53,86,106,49,84,114,65,86,132,82,90,134,80,92,143,86,93,144,88,98,150,84, +103,151,85,103,164,95,107,159,88,111,160,90,107,149,72,104,138,66,105,146,78, +108,152,80,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,169,85,43,68, +90,46,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,71,101,67,71,94,61,72,97,59,71,92,55,71,88,52,68,79,41,68,73,39, +65,67,30,65,77,38,66,82,42,65,68,32,61,66,35,255,0,0,69,80,41,68,92,54,66,90,52, +66,69,30,66,72,29,69,105,69,67,93,55,56,53,17,55,49,15,58,59,25,59,66,32,61,73, +41,62,77,48,65,84,48,67,85,43,169,91,50,255,0,0,255,0,0,255,0,0,82,137,105,82, +137,105,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,66,60,21,64,59,21,67,61, +23,101,101,35,104,104,35,103,108,45,104,106,42,99,97,35,87,92,38,86,93,42,93,94, +38,101,113,51,103,114,52,100,111,52,84,88,38,81,77,22,91,94,32,100,125,66,103, +133,77,92,130,84,86,123,77,88,117,64,99,125,64,113,138,61,113,140,60,111,146,72, +106,147,80,98,153,99,94,151,97,93,149,97,90,150,103,91,149,104,92,145,93,92,149, +97,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,65,88,44,169, +85,43,65,89,44,65,87,49,68,89,45,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,67,73,41,67,67,33,65,72,30,66,80,38,65,80,41,62,69,33,67,69,28,255,0,0,69,80, +42,68,90,56,68,88,54,62,67,32,60,64,22,59,67,29,65,79,36,79,120,77,85,114,58,75, +80,28,67,65,15,61,59,15,62,62,16,71,74,14,72,80,19,73,78,17,67,74,16,66,73,27, +66,72,32,71,82,33,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,143,64,24,65, +59,21,64,59,22,62,59,23,95,95,34,103,101,36,101,101,36,101,100,36,100,101,38, +100,112,51,101,113,51,97,97,38,100,100,40,100,101,41,95,117,61,95,119,64,79,90, +38,78,80,28,100,107,42,106,127,61,111,152,91,108,158,99,97,142,92,85,123,75,87, +105,45,88,105,43,92,111,48,95,119,56,99,127,64,94,131,75,91,142,91,92,143,93, +255,0,0,255,0,0,152,155,104,93,147,97,117,161,96,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,65,86,43,255,0,0,64,93,62,64,95,67,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,62,65,34,64,72,33,64,77,36,65, +81,42,61,74,38,99,75,36,75,95,48,87,114,52,81,117,67,77,131,95,71,107,69,58,58, +23,54,51,14,61,72,39,86,149,104,108,173,105,107,158,85,100,126,45,90,113,54,255, +0,0,255,0,0,90,117,56,93,125,62,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,58,43,21,62,56,19,61,56,20,66,60,22,97,97,34,99,100,36, +100,100,35,100,98,35,100,104,39,103,116,49,100,113,52,94,105,47,94,100,40,101, +110,38,107,123,54,110,138,77,110,155,95,106,147,91,75,88,45,77,86,36,93,112,54, +103,126,61,112,158,98,113,172,108,100,158,108,97,146,98,93,134,74,97,133,72,100, +133,59,101,132,58,97,139,86,97,146,95,93,145,97,91,134,82,87,127,78,81,110,60, +80,124,80,255,0,0,255,0,0,101,86,34,255,0,0,255,0,0,141,92,46,68,90,44,65,86,43, +62,111,84,64,105,75,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,60,60,29,62,66,28,62,74,39,66,88,51,65,85,47,55,51,17,61,60,30,91, +108,42,91,105,30,106,156,84,108,177,116,91,153,104,82,126,84,64,78,42,64,87,52, +92,166,121,100,178,126,107,166,97,107,149,73,97,130,60,84,114,65,77,114,71,110, +168,97,129,194,112,114,182,119,255,0,0,255,0,0,255,0,0,189,167,82,255,0,0,255,0, +0,255,0,0,60,56,30,60,49,15,60,55,19,61,56,20,94,92,33,98,97,36,98,98,35,97,95, +35,97,94,34,93,95,38,98,108,51,99,117,59,84,92,42,91,98,38,113,119,35,111,121, +35,110,146,77,111,160,97,108,160,100,101,142,79,87,107,48,85,110,47,85,119,66, +86,133,88,99,178,130,105,195,144,97,178,130,92,170,125,91,172,130,92,173,134,87, +164,123,87,169,130,81,153,114,255,0,0,255,0,0,66,93,61,69,112,75,255,0,0,207,74, +39,64,86,58,255,0,0,66,82,40,65,78,39,64,87,54,60,104,81,60,103,78,255,0,0,67, +101,67,67,101,67,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,61,62,33,60,64,28,62,74,38,61,72,34,59,56,19,59,54,17,255,0,0,59,54,29,65,69, +25,79,93,33,106,149,78,118,179,101,119,202,133,107,183,126,95,151,101,98,169, +119,112,201,145,118,196,133,125,166,77,121,150,54,105,134,58,100,162,103,125, +217,150,132,209,130,120,166,88,255,0,0,255,0,0,130,182,88,130,170,69,127,175,82, +67,77,47,69,105,74,58,48,14,59,52,19,59,52,17,91,91,32,98,97,35,98,97,35,98,95, +35,94,90,33,77,73,23,78,95,48,100,130,74,105,132,75,84,104,59,84,100,49,99,112, +46,114,125,36,118,136,51,116,172,105,113,181,120,108,163,97,103,133,59,99,117, +33,99,118,41,91,145,101,91,140,93,99,145,86,100,152,94,99,162,103,99,165,108,93, +172,127,91,182,144,86,165,127,79,144,108,72,119,84,78,142,103,72,118,82,255,0,0, +59,87,62,60,86,56,255,0,0,64,73,30,67,80,29,60,107,80,59,113,84,60,98,73,66,103, +64,69,111,71,67,98,64,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,59,55,30,60,55,20,68,84,45,68,87,46,64,66,23,60,56,20,55,55,22,55,53,17, +51,46,13,52,46,14,55,47,8,65,78,39,113,172,107,114,181,111,114,177,111,111,171, +111,105,171,116,107,182,129,120,181,117,121,166,90,121,138,39,117,130,34,116, +199,139,121,212,153,126,186,110,123,163,73,255,0,0,255,0,0,133,196,108,134,183, +80,85,125,81,82,136,101,66,80,48,59,52,20,59,54,19,92,90,33,95,94,35,97,97,35, +97,94,35,91,90,34,77,79,35,72,75,25,93,121,64,108,153,90,100,134,79,69,95,60,72, +103,62,80,111,65,91,117,61,108,131,54,116,143,59,116,177,110,114,184,118,103, +132,55,101,119,39,103,130,49,100,137,74,100,142,85,98,146,91,92,156,111,90,162, +120,90,175,136,78,155,119,56,101,78,255,0,0,255,0,0,61,69,19,61,68,17,59,85,56, +58,104,82,59,87,61,79,77,26,64,74,22,62,85,47,58,101,72,58,104,75,62,97,67,65, +101,62,68,94,49,67,99,59,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,62,66,30,62,67,30,255,0,0,255, +0,0,255,0,0,55,54,25,56,54,27,65,84,54,69,95,56,88,118,62,101,153,95,92,129,72, +85,118,61,78,95,45,71,77,26,61,58,13,58,54,12,64,69,25,80,107,60,104,152,95,108, +157,97,101,144,84,95,137,84,99,156,108,106,168,113,113,153,91,114,138,60,110, +133,52,108,177,114,117,192,132,120,179,114,113,149,67,111,153,85,112,183,124, +127,191,114,112,137,54,87,123,68,75,124,90,60,69,35,56,49,17,92,87,30,95,93,33, +97,94,35,97,94,35,92,91,36,75,87,43,73,90,43,85,105,51,106,150,92,101,139,80,84, +95,40,84,95,39,78,114,73,77,121,87,80,131,95,84,137,94,91,145,95,91,156,107,95, +150,98,86,136,91,79,160,122,255,0,0,255,0,0,80,170,132,91,174,132,172,160,127, +255,0,0,255,0,0,58,100,78,58,99,78,255,0,0,60,58,17,61,65,16,59,93,62,58,106,80, +60,84,54,61,68,32,61,74,29,61,86,52,58,98,68,58,97,68,62,103,67,64,105,69,64,86, +52,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,109,163,115,101,147,83,125,145,50,106,130,46,67,73,33,206, +47,15,255,0,0,255,0,0,55,53,32,60,75,46,67,103,74,62,72,38,68,72,16,82,121,79, +101,150,90,119,196,130,121,196,124,121,176,95,112,150,72,98,119,47,88,97,32,84, +91,28,81,92,35,91,120,66,95,126,73,92,121,68,91,123,72,98,138,86,101,137,86,105, +125,60,104,131,61,106,176,121,106,182,126,108,159,99,108,138,75,255,0,0,107,169, +110,121,156,65,114,150,71,87,145,105,74,107,72,59,61,33,82,79,26,95,93,33,95,93, +33,95,92,33,93,94,38,82,101,54,72,107,65,72,105,67,88,129,80,97,142,90,91,108, +41,91,101,27,97,112,29,93,116,42,91,131,74,94,136,78,87,157,112,87,163,121,86, +172,132,82,165,125,75,150,118,79,158,124,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,58,88,61,56,104,74,59,98,74,60,61,32,60,61,16,58,92,61,59,100,72,59, +77,48,60,65,30,60,79,43,60,82,54,56,93,65,60,97,65,64,95,59,62,92,52,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,131,149,92,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,100,169,129,99,143,84,255,0,0,107,133,46,106,132,47, +255,0,0,255,0,0,255,0,0,58,59,30,65,93,62,72,119,86,72,92,43,73,84,20,67,71,19, +82,112,62,75,118,78,111,177,114,121,188,119,118,181,114,116,171,107,111,143,72, +110,131,59,98,105,41,90,95,45,86,88,38,85,86,38,85,91,41,85,92,45,98,120,69,100, +121,65,101,146,85,101,162,107,107,153,97,107,146,87,98,114,54,100,146,91,114, +169,100,104,137,66,87,133,90,77,119,81,61,73,39,82,77,26,94,92,30,93,93,32,93, +91,32,95,90,30,85,92,46,75,119,79,77,120,79,74,120,80,74,123,87,77,111,68,255,0, +0,91,105,38,100,114,33,107,125,35,105,127,36,108,132,45,104,136,55,88,132,84,77, +125,82,81,151,112,85,159,118,79,155,119,75,149,113,255,0,0,55,100,71,255,0,0, +255,0,0,59,82,54,60,81,48,58,97,68,59,62,38,59,61,25,59,85,54,58,90,59,58,67,33, +58,59,23,58,78,48,55,82,53,60,91,58,61,93,58,61,92,60,60,85,53,255,0,0,255,0,0, +255,0,0,65,82,41,68,74,21,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,93,142,88,90,159,120, +255,0,0,255,0,0,255,0,0,255,0,0,88,156,119,92,155,116,104,138,64,110,137,45,111, +139,46,107,131,45,255,0,0,56,62,41,61,86,56,80,132,94,84,131,85,87,103,26,84,98, +23,255,0,0,255,0,0,69,107,69,79,118,75,90,119,67,103,138,75,97,139,90,99,150,99, +93,125,75,92,118,68,90,105,52,85,94,43,81,74,25,79,72,25,79,75,25,82,86,36,90, +106,51,93,123,67,99,143,86,104,139,84,107,120,51,101,118,54,105,169,112,98,131, +68,90,125,75,80,117,73,65,80,46,85,75,22,91,87,29,92,90,32,92,91,32,92,84,30,87, +82,33,75,116,81,78,124,85,82,138,93,81,138,94,59,107,77,53,98,74,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,100,144,79,67,101,62,73,99,56,56,92,59,54,86,60,255,0, +0,255,0,0,58,104,75,56,94,69,255,0,0,255,0,0,255,0,0,60,75,47,60,82,47,58,77,48, +55,68,40,58,78,48,58,82,52,55,66,29,54,59,25,56,78,48,58,85,53,58,86,53,59,86, +53,59,88,64,206,74,52,255,0,0,65,71,22,66,74,32,65,72,32,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,96, +139,76,255,0,0,255,0,0,255,0,0,177,117,53,90,164,125,88,153,117,255,0,0,255,0,0, +255,0,0,255,0,0,94,145,97,100,143,78,114,143,46,117,143,40,105,127,42,255,0,0, +53,46,25,71,111,80,78,126,90,92,118,51,98,121,35,127,153,45,136,166,52,131,171, +71,124,162,68,113,140,51,116,137,47,110,138,60,108,134,60,105,127,58,97,126,71, +90,114,65,92,116,64,77,71,34,81,88,40,81,75,28,81,77,27,82,82,30,86,88,34,91, +112,64,94,121,68,97,120,60,99,118,55,101,142,85,101,139,79,99,137,81,93,140,88, +82,116,68,91,82,28,92,86,32,91,87,32,92,88,32,91,87,30,90,82,29,255,0,0,255,0,0, +79,129,90,82,136,95,82,145,103,72,126,90,55,95,66,55,88,61,255,0,0,255,0,0,255, +0,0,255,0,0,56,87,60,55,82,60,54,90,62,54,81,59,255,0,0,255,0,0,58,95,68,59,100, +74,56,97,69,255,0,0,255,0,0,255,0,0,59,69,40,56,75,41,54,68,34,55,69,43,56,73, +43,52,53,21,55,59,29,55,75,49,56,79,49,58,82,53,58,86,60,255,0,0,255,0,0,66,72, +30,67,75,21,65,71,25,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,92,127,66,95,120,51,154, +126,55,255,0,0,255,0,0,87,144,104,94,169,127,87,147,112,91,152,112,82,126,85,85, +142,104,93,162,120,104,144,81,104,136,55,106,132,41,94,114,42,58,62,42,69,107, +77,74,124,92,78,108,62,79,91,30,85,118,61,69,80,36,126,210,138,125,208,131,127, +199,120,126,195,116,120,191,118,119,190,121,114,176,108,112,169,100,105,150,85, +101,147,84,104,150,92,100,149,93,95,137,85,93,129,75,90,108,60,86,95,48,80,78, +27,86,101,51,88,101,49,93,100,42,94,131,77,92,124,71,92,118,66,84,110,64,72,88, +52,82,75,25,91,87,30,91,87,32,91,88,32,91,87,32,85,80,38,255,0,0,255,0,0,255,0, +0,255,0,0,81,140,103,86,153,112,73,121,81,62,97,61,53,79,52,55,73,49,255,0,0, +255,0,0,56,69,41,55,75,52,58,86,53,58,82,53,255,0,0,255,0,0,58,92,61,55,98,68, +56,92,65,255,0,0,255,0,0,255,0,0,58,69,46,58,74,42,58,74,41,55,65,34,52,59,29, +52,61,32,54,66,34,55,71,42,56,73,46,56,79,49,58,77,52,60,64,30,61,69,22,64,66, +25,65,71,27,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,100,136,89,81,129,82,81,130,86,82,134,90,255,0,0,255,0,0,255,0,0,92,124,62, +110,140,43,101,130,51,85,116,55,82,111,56,87,145,104,91,156,114,90,139,100,85, +123,85,81,121,72,85,136,91,93,151,105,92,144,93,92,130,68,98,119,35,87,106,41, +71,105,74,74,118,85,78,119,81,79,108,60,67,71,13,68,69,26,105,177,117,99,163, +111,111,155,72,107,150,74,110,172,106,112,173,106,116,179,105,114,178,110,104, +160,101,104,160,100,100,155,105,98,146,97,93,131,80,91,118,69,82,95,46,81,85,35, +80,73,25,84,86,38,97,126,77,88,106,55,90,112,60,91,119,68,88,104,53,77,88,45,65, +69,34,86,81,27,91,87,33,91,85,33,91,85,32,87,84,34,87,80,33,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,66,91,58,60,74,36,58,77,46,55,77,47,51,73,47,54,66, +43,55,64,21,55,66,26,55,78,47,58,73,36,255,0,0,255,0,0,59,92,61,58,91,64,58,85, +60,255,0,0,62,98,67,255,0,0,255,0,0,56,65,42,55,64,33,52,58,27,52,58,27,51,62, +32,54,64,34,55,66,38,55,69,39,59,60,27,59,60,20,59,64,19,60,67,33,255,0,0,62, +103,69,62,100,72,61,103,75,62,106,80,61,106,77,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,79,125,82,78,125,85,84,133,85,82,140,95,88,150,101,91,149,99,77,105,59, +77,103,60,97,113,33,106,132,43,98,138,67,93,127,62,82,110,51,81,113,60,88,139, +99,91,140,99,86,132,92,81,121,80,81,126,82,88,132,82,88,123,67,87,107,48,87,107, +40,77,107,64,74,117,81,80,121,84,82,118,72,82,94,27,87,101,26,117,166,92,124, +183,105,123,160,62,129,155,42,119,150,61,123,156,69,125,153,53,123,156,64,121, +158,86,119,155,81,108,147,90,106,144,84,107,130,77,103,126,74,97,111,54,94,99, +36,79,77,38,79,79,39,93,124,72,95,126,74,84,100,51,88,105,54,86,97,46,77,80,34, +64,61,26,79,72,26,88,84,32,88,84,30,87,84,32,92,80,28,85,77,36,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,55,69,37,55,67,33,55,73,38,52,72,42,51, +68,39,54,64,33,55,65,30,54,71,40,55,66,28,206,59,32,55,74,52,58,82,48,56,84,51, +255,0,0,255,0,0,61,95,65,138,104,73,255,0,0,255,0,0,54,58,33,51,53,23,53,55,25, +51,55,26,53,53,26,54,55,26,54,53,20,55,62,28,56,74,40,58,92,60,59,93,64,62,103, +68,61,104,68,61,110,79,61,108,81,61,105,77,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,170,127,91,98,144, +101,255,0,0,255,0,0,255,0,0,255,0,0,71,126,97,71,125,94,72,132,97,77,136,100,82, +140,101,86,138,94,81,113,64,75,97,40,88,105,29,92,117,43,90,119,54,88,113,51,82, +110,59,84,117,73,86,126,86,86,125,82,77,113,73,79,116,72,85,120,78,81,110,69,79, +100,58,84,118,75,81,124,87,81,118,79,84,120,80,77,94,42,72,79,26,80,134,97,98, +176,129,99,155,93,105,151,79,117,201,140,123,214,155,114,194,132,113,189,126, +112,182,129,108,175,123,108,163,101,108,155,95,105,134,72,107,126,55,104,118,43, +105,121,45,106,121,41,100,111,42,91,106,55,92,107,55,90,103,52,88,100,47,86,91, +41,84,82,32,84,80,29,82,82,32,85,82,32,87,84,32,87,84,30,90,82,30,80,82,47,255, +0,0,72,92,55,56,108,80,58,87,56,59,66,30,59,67,35,60,76,36,255,0,0,255,0,0,56, +61,34,54,61,30,52,61,32,49,59,30,53,60,29,54,64,33,55,60,23,55,66,41,54,75,46, +59,78,45,56,75,46,72,101,70,59,98,69,64,87,43,96,103,67,255,0,0,255,0,0,255,0,0, +53,55,20,54,49,17,51,51,23,52,53,28,54,69,38,55,73,42,58,82,55,58,90,61,60,88, +58,62,88,53,59,93,60,61,93,66,64,108,78,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,144,136,98,121,141,101,78,132,91,78,127, +86,80,120,74,82,134,86,80,138,94,77,133,92,75,126,86,71,121,81,68,112,79,67,110, +74,64,111,79,66,110,77,64,108,79,67,117,85,78,133,94,80,133,97,82,129,88,82,119, +78,86,111,56,86,110,52,84,103,45,81,99,45,81,107,67,84,110,68,79,105,67,79,111, +75,79,118,80,84,112,73,79,103,67,73,95,56,78,113,73,80,117,81,81,113,74,78,105, +56,79,119,74,95,179,137,107,207,155,105,190,139,108,188,127,121,202,127,127,216, +142,117,190,121,112,178,116,108,162,94,114,150,71,125,156,54,126,151,48,124,150, +42,123,146,41,119,144,48,116,140,40,112,125,45,107,124,46,97,110,52,88,94,46,84, +85,39,84,85,34,85,80,30,85,84,30,84,82,32,86,82,32,86,82,32,86,82,32,86,81,30, +90,79,25,81,81,40,87,79,30,72,97,60,59,108,84,59,116,90,55,95,67,56,87,56,56,69, +34,55,65,26,60,80,55,58,74,49,49,48,16,49,49,19,49,51,22,49,52,22,49,58,28,53, +61,29,51,65,33,49,67,36,59,65,30,59,64,35,58,85,60,58,92,60,62,79,38,255,0,0, +255,0,0,52,64,40,53,66,39,52,52,14,54,52,14,56,59,35,55,65,36,56,72,40,56,72,42, +59,71,39,59,74,42,58,82,53,60,80,56,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,79,138,95,79,125,77,77,106,58,75,101,55,74,100,53,73,114,72,71,108, +66,69,104,62,68,99,60,65,93,56,59,80,49,56,79,48,55,74,48,58,82,53,72,113,77,78, +123,86,82,124,82,82,118,74,82,112,67,82,106,60,78,93,48,77,90,48,80,94,56,75,91, +58,72,95,64,84,105,68,80,99,67,65,81,55,74,101,66,82,119,84,81,116,78,71,77,28, +67,69,21,75,113,75,88,134,88,97,127,65,98,119,39,108,129,32,106,129,41,126,165, +60,118,157,69,118,151,55,129,157,43,126,152,41,126,152,40,126,151,46,123,150,60, +117,145,72,112,140,73,104,139,82,99,136,84,90,113,66,92,113,65,75,74,23,86,86, +30,88,93,40,86,90,35,86,86,32,85,84,32,85,84,32,85,82,32,85,80,30,86,77,29,84, +79,32,82,82,36,81,84,35,255,0,0,58,104,77,54,87,66,55,80,58,54,97,71,58,103,74, +53,75,45,53,67,35,52,65,30,52,62,28,49,47,17,48,46,16,49,58,27,49,61,30,48,60, +33,49,60,33,55,59,17,56,65,34,54,86,58,58,81,52,60,73,41,255,0,0,255,0,0,49,56, +28,52,66,34,52,48,15,52,47,13,54,55,34,52,54,22,53,60,25,53,61,26,56,61,35,55, +61,29,55,86,59,55,85,60,58,86,61,55,87,59,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,68,106,65,67,98,58,68,79,41, +72,80,36,91,112,34,91,113,34,74,87,27,68,77,25,59,62,21,55,54,19,47,43,14,47,46, +19,55,60,30,59,67,33,64,71,38,64,72,36,68,66,33,67,66,36,64,64,38,69,78,52,72, +82,53,58,71,47,66,81,52,85,105,72,81,105,69,60,77,39,58,62,22,74,110,75,81,119, +85,80,110,62,73,80,27,69,69,29,255,0,0,84,130,91,86,133,91,87,136,92,90,139,93, +104,183,131,107,194,144,106,192,142,107,188,138,103,168,119,106,157,93,116,140, +51,114,137,46,110,125,41,108,120,36,93,110,48,85,104,54,75,90,47,60,61,28,48,43, +19,75,75,27,85,86,34,85,80,32,85,79,32,84,78,29,85,84,30,85,103,35,82,85,35,68, +105,74,65,94,64,61,77,36,64,94,56,68,105,69,59,71,34,64,69,30,71,81,32,61,65,20, +51,49,17,51,68,41,51,74,46,45,49,21,47,52,23,49,65,36,49,60,29,52,58,30,51,66, +36,53,69,36,52,61,25,255,0,0,255,0,0,52,62,43,53,71,42,49,58,30,47,43,17,48,45, +21,48,52,27,49,54,32,49,61,36,51,66,41,52,71,43,53,71,46,56,77,53,55,79,54,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,106,133,92,91,131,90,77,123,81,77,119,80,77,119,81,79,116, +72,81,124,75,78,120,72,75,116,66,74,111,65,71,101,59,69,100,61,65,92,52,64,84, +48,61,78,42,60,73,36,66,78,29,75,91,33,90,110,39,93,113,35,79,90,28,75,82,27,75, +85,29,69,79,30,62,65,22,58,59,21,58,65,34,55,59,34,53,53,32,65,64,39,67,66,40, +51,59,38,54,60,38,84,97,59,82,98,61,60,74,43,58,59,30,74,99,65,81,113,75,69,82, +47,64,68,26,65,69,34,255,0,0,99,173,131,98,177,133,100,178,130,105,183,130,114, +179,110,117,178,98,117,160,79,118,156,78,124,157,68,124,150,46,116,140,42,113, +137,43,103,121,43,94,133,78,95,139,90,92,138,84,67,81,45,54,51,23,49,45,17,75, +84,35,86,90,43,84,79,30,84,78,32,84,82,29,87,100,29,85,112,51,77,121,82,255,0,0, +255,0,0,72,120,92,72,132,100,60,77,45,61,66,29,79,100,30,75,90,26,53,61,28,56, +84,53,55,81,53,49,55,29,45,43,14,45,48,17,48,55,27,48,55,23,48,58,29,49,61,34, +51,53,26,45,48,15,255,0,0,64,105,81,51,80,58,51,73,47,45,54,29,43,42,17,48,43, +29,53,55,33,61,68,36,68,80,38,55,68,43,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,86,131,88,78,124,82,77,121,81,75,120,85,75,108, +65,79,120,69,71,114,81,69,116,80,65,108,79,67,99,61,65,84,52,61,81,54,60,81,58, +60,82,58,64,92,66,74,124,91,75,116,79,74,116,78,74,112,74,78,116,78,85,121,74, +81,114,71,80,107,66,82,111,68,85,110,68,82,105,67,81,98,59,58,54,30,47,43,23,48, +46,27,52,46,25,77,75,42,68,75,47,58,73,48,58,68,43,79,97,58,81,104,65,61,82,53, +65,90,59,62,80,49,255,0,0,85,121,79,85,116,71,77,84,28,82,94,42,101,119,36,104, +121,30,101,125,43,99,134,66,100,132,64,100,120,42,99,124,43,98,127,48,104,159, +103,106,173,120,95,146,99,80,110,69,52,46,17,51,43,19,51,49,20,82,82,34,84,81, +33,81,78,30,81,78,29,82,77,26,81,85,29,77,126,85,73,130,99,255,0,0,68,104,79,71, +121,90,66,106,80,72,92,46,81,103,38,73,94,39,60,85,48,58,101,75,59,99,73,49,59, +34,51,59,27,47,41,13,43,39,10,49,52,25,55,66,35,49,55,30,45,46,22,53,59,21,72, +82,36,84,127,85,79,144,108,71,140,108,43,52,27,41,43,19,47,43,28,255,0,0,65,74, +33,53,58,30,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,79,92,32,77,90,35,77,90,35,77,93,33,82,104,35,81,103,39,79,106,54,79,113,64, +77,119,69,79,119,69,80,120,71,82,117,68,74,106,68,74,105,66,68,85,45,67,84,43, +78,97,62,66,72,35,58,65,25,55,60,26,53,53,22,48,39,17,48,40,20,58,54,30,62,66, +39,53,64,41,55,64,40,82,92,53,77,88,54,60,84,58,65,95,65,67,100,72,81,111,74,86, +114,73,79,101,60,61,71,32,62,73,38,78,85,35,80,94,30,82,116,71,84,121,75,80,110, +71,86,117,61,98,144,84,103,160,107,108,178,116,104,165,107,55,60,30,48,42,15,52, +43,19,52,45,20,52,46,19,73,72,30,82,80,32,82,79,30,81,77,29,81,74,27,77,86,33, +73,123,87,71,113,84,69,101,74,69,108,78,66,104,72,67,97,54,74,92,33,72,90,32,64, +97,61,66,106,73,55,79,51,49,54,22,51,48,19,54,55,25,53,53,29,48,46,25,68,88,42, +81,126,73,46,46,17,39,29,7,68,82,32,114,155,77,87,153,111,79,153,118,65,118,87, +38,41,20,35,32,14,78,88,34,85,100,36,79,91,32,255,0,0,48,56,34,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,78,125,82,75,111,71,75,104,61,85,106,38,85,105,33,84,111,47,81,116,61, +78,119,75,75,118,74,71,119,82,79,125,84,91,129,64,101,134,56,108,137,42,104,132, +42,95,120,49,91,118,49,86,112,43,90,111,38,93,108,34,88,104,30,81,93,32,80,93, +34,78,93,38,77,92,46,80,97,54,82,105,64,81,103,60,71,73,42,59,56,33,47,45,26,51, +46,26,61,65,38,55,65,41,55,68,43,59,77,51,65,92,64,77,97,62,77,88,48,64,69,35, +67,100,68,66,95,69,75,85,42,79,93,39,85,119,75,86,119,77,87,117,68,95,137,77, +105,179,124,103,169,116,90,113,49,82,106,56,54,53,19,52,48,21,52,46,20,52,47,21, +53,47,21,75,75,32,81,78,32,81,78,30,82,78,30,79,78,27,74,85,35,66,101,68,65,88, +65,66,98,67,68,99,68,68,78,27,71,78,20,71,93,49,69,108,73,69,117,90,69,111,81, +255,0,0,255,0,0,77,100,48,71,92,45,43,55,33,43,51,25,91,130,60,81,124,74,38,32, +8,51,48,12,116,150,66,103,143,66,84,158,123,74,134,101,52,74,47,42,40,12,78,91, +25,149,184,51,137,168,43,124,189,118,113,195,144,255,0,0,255,0,0,255,0,0,255,0, +0,113,201,152,114,204,154,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,145,111,59,147,110,49,208,84,36,173,102,46,80,110,53,79,113, +61,75,114,71,73,113,73,72,111,73,73,104,64,78,92,40,79,95,38,75,108,62,80,113, +66,81,114,60,86,112,53,94,120,48,94,124,55,88,116,54,87,120,64,85,120,73,85,123, +78,84,121,78,84,117,75,80,108,69,75,93,52,71,84,43,48,53,27,49,46,20,64,69,40, +74,79,46,74,77,43,60,60,34,51,53,33,52,51,30,61,71,45,74,81,49,71,74,40,55,60, +33,67,111,80,67,113,81,74,90,56,81,98,55,85,112,68,84,113,71,79,104,68,81,108, +64,87,124,74,88,125,73,84,92,32,75,84,34,60,64,23,53,51,21,51,45,19,51,45,20,52, +47,20,78,79,35,80,79,32,80,78,32,80,77,30,81,75,29,75,80,39,62,94,65,64,87,59, +64,81,52,61,77,43,64,75,35,65,82,49,68,101,68,67,103,73,64,91,56,61,87,55,65, +100,60,85,118,53,77,104,46,46,66,36,43,47,22,72,81,23,113,186,123,82,142,99,45, +41,10,73,82,20,107,146,69,99,162,108,77,137,103,49,67,43,35,27,10,90,103,19,125, +150,36,143,186,78,126,192,121,118,190,127,255,0,0,255,0,0,255,0,0,108,192,147, +110,199,152,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,79,112,60,77,105,60, +78,107,62,77,106,66,78,108,62,73,124,86,69,126,94,64,118,91,64,112,90,68,92,56, +74,88,38,75,90,29,73,92,32,72,91,38,74,98,51,75,99,49,74,97,52,72,93,48,69,78, +25,69,75,17,72,75,25,69,75,26,74,90,49,81,103,59,82,106,62,69,80,46,49,43,22,47, +36,19,47,39,20,49,47,29,58,69,45,59,67,43,49,41,22,47,39,20,61,81,54,62,90,64, +66,93,61,77,98,60,80,99,61,77,93,54,72,80,40,73,85,32,85,111,65,84,114,65,78,90, +30,65,67,29,52,47,20,51,46,19,52,46,20,52,46,20,49,45,19,71,74,34,81,79,34,79, +75,32,79,73,30,80,73,29,77,75,36,56,79,54,55,72,49,56,65,38,60,67,36,61,79,52, +64,81,55,62,85,62,61,82,54,66,94,46,78,104,39,93,139,78,111,152,67,80,97,29,53, +55,13,67,69,15,99,120,38,112,185,126,75,125,86,64,67,16,86,101,27,98,146,86,93, +152,111,74,123,88,53,67,34,66,69,12,107,129,40,123,162,75,121,210,151,114,202, +151,255,0,0,255,0,0,112,195,144,117,207,156,107,188,143,255,0,0,255,0,0,134,161, +36,129,152,40,133,157,36,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,101,117,60,83,116,63,255,0,0,71,135,102,69, +129,99,69,146,117,75,137,98,80,131,82,86,114,55,88,112,43,95,118,32,97,119,32, +94,118,33,94,119,40,90,123,54,88,118,56,91,112,43,91,111,35,91,106,32,86,101,33, +82,104,43,86,121,73,85,121,79,81,117,77,79,106,69,148,112,72,255,0,0,43,32,13, +46,36,12,51,45,21,55,53,27,64,66,39,68,71,40,51,46,25,46,38,19,55,68,45,59,77, +51,64,84,55,77,87,53,64,66,29,66,71,40,72,80,43,77,87,41,85,111,69,84,110,61,74, +82,32,60,60,22,52,45,19,51,46,20,51,47,20,51,47,20,49,47,21,71,71,32,80,77,34, +79,74,32,79,75,32,79,72,30,75,73,34,55,64,43,54,61,38,47,46,25,66,75,34,60,67, +36,59,65,32,59,62,19,67,71,15,95,119,36,93,125,55,119,203,142,130,194,104,86, +104,39,69,80,34,116,142,54,132,182,88,101,168,119,78,119,75,99,111,30,104,126, +49,101,158,106,94,157,112,71,100,58,79,87,26,91,99,21,114,144,58,123,178,107, +107,181,126,104,169,121,112,173,124,116,181,129,105,171,126,105,175,127,126,152, +41,124,146,39,142,166,39,131,159,46,255,0,0,255,0,0,136,163,39,133,159,41,132, +161,42,165,148,48,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,69,133,106,71,136,110,72,129,100,73,125,92,81,120,74,92,123,61,110, +131,36,112,133,36,108,138,43,111,140,46,106,145,64,100,140,72,95,131,64,97,125, +54,91,125,58,93,130,68,91,138,82,93,143,93,91,142,95,82,126,87,74,119,82,74,108, +77,255,0,0,78,99,59,77,94,55,73,90,47,77,95,54,82,107,67,82,108,68,81,98,59,72, +78,45,46,34,17,46,35,17,49,49,30,54,61,40,64,69,43,69,68,40,53,45,27,49,46,33, +68,85,49,74,85,45,82,107,65,81,103,64,73,94,47,60,62,30,51,43,19,51,43,20,51,46, +20,51,46,21,48,49,23,73,69,28,80,75,30,79,74,30,79,74,29,77,72,29,71,69,32,41, +43,32,29,28,21,80,100,34,111,143,46,77,100,48,62,85,49,59,87,60,84,120,72,125, +172,81,113,168,98,133,208,136,133,197,110,116,165,88,255,0,0,116,145,49,116,164, +90,106,176,119,105,158,98,108,129,45,108,145,80,99,153,104,94,149,101,78,105,59, +85,99,40,97,119,62,114,162,99,111,166,112,104,159,111,111,162,108,110,169,118, +111,162,111,113,133,54,120,140,39,130,151,35,133,155,34,126,150,42,142,167,38, +123,162,84,118,185,124,132,158,46,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,82,144,115,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,106,138,58,82,132,91,80,125,86,81,114, +68,84,106,36,85,106,36,82,118,73,84,127,85,87,133,88,86,130,87,77,107,67,69,101, +62,79,110,61,84,110,58,85,110,54,87,127,81,90,131,84,87,125,80,85,120,78,80,111, +68,77,104,67,52,54,26,41,33,12,48,40,17,49,43,17,51,43,19,52,46,25,60,58,33,56, +56,33,46,38,20,48,47,28,61,72,48,75,81,52,82,90,52,74,84,51,74,114,65,61,78,42, +53,46,20,49,45,20,49,45,20,49,45,21,51,54,30,67,71,29,75,73,30,77,73,30,75,72, +29,75,71,28,65,60,28,40,40,25,46,49,32,108,145,61,112,147,59,88,140,92,75,126, +98,95,136,75,130,168,66,114,158,75,104,152,88,123,184,111,126,185,107,255,0,0, +90,100,43,105,130,51,111,157,92,114,184,126,112,164,103,92,106,40,98,127,69,101, +152,107,97,146,100,90,110,60,98,120,79,104,139,93,104,152,106,99,147,105,106, +140,92,107,145,94,107,127,62,110,124,36,114,131,38,118,139,52,112,162,90,111, +160,98,113,205,163,113,207,159,131,157,46,137,164,38,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,107,139,58,85,125,78,87, +129,78,85,120,64,80,98,40,82,103,40,86,105,42,106,137,54,113,143,55,112,150,53, +104,144,71,98,142,78,99,144,82,94,147,91,92,143,94,93,143,93,87,137,92,87,130, +86,88,126,78,85,111,64,59,62,25,62,64,20,69,74,30,74,87,45,84,105,61,85,107,62, +84,104,61,86,101,62,85,94,56,74,79,42,43,38,20,49,49,28,54,66,43,62,67,41,59,65, +42,58,68,43,73,116,73,68,105,69,51,43,20,48,43,19,51,43,21,49,43,21,49,47,22,59, +74,43,68,69,33,77,73,30,75,71,29,73,67,28,58,52,21,33,25,17,98,120,48,142,186, +72,134,175,55,105,162,99,90,155,111,93,139,77,112,146,62,99,138,79,103,143,80, +119,179,112,121,188,123,81,97,46,93,108,36,103,121,41,107,145,78,112,178,125, +100,152,103,86,97,38,94,123,68,106,152,105,98,138,90,86,103,71,98,117,81,104, +132,90,91,121,86,95,111,73,98,114,67,98,112,59,104,129,64,105,138,75,111,160, +106,112,176,126,111,188,144,103,172,136,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,101,157,98,98,160,111,95,170, +126,88,172,136,90,166,130,92,168,126,92,157,110,93,150,104,94,149,104,98,119,45, +99,118,36,93,112,41,91,113,48,85,114,62,85,118,69,86,126,78,88,124,78,85,123,78, +84,120,77,90,118,78,90,116,74,79,94,53,60,61,30,48,40,19,52,48,26,60,61,34,59, +56,32,52,53,33,54,53,33,53,53,32,53,55,33,49,43,19,51,45,19,49,45,19,47,42,19, +53,53,28,62,80,51,65,72,39,75,69,29,74,69,29,71,65,28,59,55,28,68,87,46,101,136, +62,119,157,64,112,143,49,98,158,105,95,173,130,106,149,79,108,140,61,87,130,84, +93,127,77,117,172,112,117,176,119,90,116,54,86,101,27,95,106,39,104,139,80,107, +168,120,92,137,93,74,91,43,91,117,74,104,132,87,91,117,74,79,93,64,93,106,68,94, +107,71,92,93,54,95,99,54,92,100,52,97,113,62,100,125,77,97,130,85,98,137,97,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,135,153,51,164,145,48,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,103,162,99,93,149,97,93,144, +93,107,136,55,107,136,49,110,136,48,110,140,49,103,152,86,100,153,92,97,147,92, +95,149,94,91,142,92,85,134,88,85,129,85,82,125,82,80,112,74,79,108,71,85,112,71, +84,106,61,73,82,30,69,74,26,64,62,28,72,74,41,79,82,46,64,61,34,47,36,22,48,39, +22,48,41,22,49,43,22,48,43,20,49,43,19,49,43,19,49,43,19,48,45,22,55,60,38,61, +62,33,73,68,29,72,68,29,68,61,26,65,64,34,100,140,74,119,165,79,125,164,65,123, +150,45,104,165,107,111,177,125,107,140,61,103,127,52,81,113,74,86,112,67,110, +149,86,108,162,100,88,113,52,82,95,29,86,105,54,94,127,84,105,146,98,86,113,71, +74,93,56,91,113,74,100,116,73,80,90,55,69,74,46,84,80,51,82,79,49,62,56,35,66, +67,33,73,81,29,74,85,28,84,93,32,97,107,36,103,114,41,108,124,41,124,145,45,125, +151,46,125,156,46,129,158,46,100,126,51,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,178,148,91,103,160,98,103,151,85,105,146,71,103, +144,73,100,145,81,104,175,121,101,175,123,97,169,121,94,166,118,94,155,106,93, +152,104,81,120,78,66,91,60,46,51,28,53,62,30,64,72,27,68,75,29,77,90,30,80,91, +30,79,90,26,74,84,29,77,87,43,84,99,59,77,97,58,65,74,38,52,46,20,48,40,21,49, +39,20,49,40,22,49,43,22,47,43,21,48,43,20,48,45,20,45,43,22,61,60,32,75,71,30, +73,66,29,71,65,28,68,56,21,66,60,28,105,145,68,120,166,81,120,165,82,106,133,48, +97,140,86,107,158,99,105,136,65,103,123,51,79,106,67,78,104,62,100,125,74,106, +145,92,90,116,64,82,113,66,81,121,85,87,121,82,107,130,79,92,111,67,71,90,61,74, +90,61,80,74,41,69,60,32,59,52,29,59,51,28,69,68,38,107,126,75,110,137,88,106, +138,87,107,137,86,110,150,86,113,156,87,105,143,77,99,138,74,87,129,74,84,138, +90,73,120,87,78,105,60,255,0,0,66,86,39,60,86,47,60,88,55,61,94,67,61,98,71,62, +105,77,62,105,77,69,118,86,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,59,65,19,68, +77,25,78,88,29,78,90,30,81,94,33,86,99,34,80,92,32,79,98,45,86,116,73,87,117,74, +78,111,69,69,103,64,66,86,38,62,73,34,53,59,43,49,56,35,49,43,22,48,42,21,48,43, +20,48,43,21,45,41,21,46,43,22,65,58,27,73,66,29,71,62,27,67,64,30,69,82,48,97, +134,71,110,149,77,111,157,87,100,133,61,98,144,93,108,156,101,107,146,82,97,120, +56,71,95,65,73,111,80,85,100,51,94,110,60,88,123,81,77,121,90,78,112,75,69,93, +61,92,100,59,87,92,52,67,68,45,80,78,48,85,85,46,74,71,38,72,72,33,73,80,38,66, +85,42,62,93,48,75,119,72,101,151,94,111,153,84,104,150,88,93,140,88,92,139,90, +84,139,95,86,149,101,85,149,99,90,125,58,79,99,29,73,95,34,67,90,36,59,85,47,59, +92,54,60,107,79,61,112,84,62,107,79,61,108,80,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,101,125, +47,103,129,45,111,139,39,116,144,41,93,112,33,74,86,28,74,84,28,69,77,26,73,85, +32,78,104,52,85,129,86,85,125,81,84,118,77,71,103,62,66,99,64,66,86,48,61,77,43, +52,68,52,48,55,33,47,40,19,47,40,19,47,41,19,46,42,21,41,39,19,45,41,19,65,59, +26,71,65,26,68,61,25,67,67,34,72,98,66,97,131,69,105,134,65,113,152,87,97,126, +67,82,120,81,101,140,88,106,136,78,91,112,66,72,112,79,77,125,91,69,81,46,82,88, +43,95,108,68,77,91,59,66,71,43,66,72,45,86,85,49,87,85,48,64,56,32,55,45,21,78, +88,51,100,127,79,105,137,86,105,140,82,106,143,82,105,139,72,106,136,61,111,133, +45,111,134,45,110,138,47,112,143,52,119,155,60,121,156,59,121,156,45,114,144,39, +99,127,41,82,108,40,55,84,53,53,86,60,54,99,74,53,100,79,58,91,68,58,95,68,255, +0,0,255,0,0,255,0,0,139,106,72,65,105,67,74,109,68,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,125,154,47,123,150,47,125,154,47,255,0,0, +255,0,0,255,0,0,111,196,144,114,191,134,113,173,110,117,168,95,117,155,75,103, +125,45,103,130,46,103,131,52,121,153,47,101,127,35,51,51,15,35,27,9,29,17,6,49, +53,21,99,149,90,99,156,107,84,130,91,73,100,60,64,80,42,65,84,43,68,87,52,65,80, +48,48,62,42,46,48,29,47,39,19,45,40,19,47,40,19,46,40,17,49,46,23,65,79,45,69, +72,35,67,64,26,67,61,25,65,58,25,66,68,34,90,118,60,101,132,67,107,141,84,98, +122,67,68,102,65,77,105,65,100,121,71,88,111,68,77,106,75,78,105,72,61,54,27,65, +54,26,77,91,58,74,87,56,62,55,30,60,51,27,73,66,33,88,94,54,105,130,75,98,119, +68,75,98,53,75,104,61,75,113,71,75,111,68,79,113,67,91,130,82,91,120,71,86,127, +79,79,107,61,88,132,79,91,124,60,82,104,36,78,95,33,56,73,35,49,66,38,43,65,48, +46,71,51,48,75,54,48,75,52,49,80,53,53,81,54,54,85,56,55,88,59,56,95,62,60,98, +64,61,104,68,62,106,69,66,106,65,67,94,54,65,97,60,65,99,61,99,110,69,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,167,151,48,119,146,49,120,149,51,120, +147,47,255,0,0,104,189,142,106,220,181,124,199,132,134,183,92,118,157,80,112, +164,95,255,0,0,255,0,0,77,107,60,95,117,38,98,119,33,69,79,22,35,33,16,56,74,46, +107,163,95,107,164,101,79,131,91,65,92,58,58,68,34,60,75,33,69,85,26,68,80,34, +48,48,30,42,38,20,45,34,17,46,36,17,46,40,19,43,36,15,50,54,30,66,87,55,70,75, +39,68,65,26,68,63,26,67,55,24,67,68,36,78,113,68,95,121,70,110,143,85,99,121,69, +62,93,62,60,85,55,93,94,47,95,105,65,74,96,63,71,91,59,59,49,25,68,57,29,88,93, +53,81,85,51,67,59,28,60,51,26,51,59,40,51,69,48,78,114,74,95,134,86,110,146,87, +110,139,77,100,119,47,99,113,38,98,112,35,95,112,29,95,116,33,85,103,36,79,101, +39,58,74,29,51,61,25,34,40,21,30,34,23,33,38,23,35,41,25,39,47,27,39,48,27,45, +58,33,48,64,38,52,72,43,53,78,47,53,85,56,54,82,49,58,85,55,60,80,46,62,79,43, +62,82,43,65,104,65,67,107,67,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,124,152,47,130,156,49,129,158,47,110, +129,42,104,156,94,100,201,168,101,194,153,119,170,91,123,155,59,111,133,52,106, +137,68,79,113,68,69,112,79,103,117,27,106,127,33,75,92,36,60,95,65,77,123,85, +101,157,101,106,170,116,84,125,80,69,121,88,59,95,67,72,91,26,79,98,29,60,85,52, +49,50,30,44,35,16,43,35,16,43,37,17,44,36,17,49,49,23,65,80,35,69,74,34,69,61, +27,68,60,26,68,61,28,67,79,46,71,112,77,83,107,67,108,128,73,99,118,69,67,84,58, +59,69,43,71,64,37,73,77,47,65,73,43,61,58,33,60,43,20,57,41,22,89,100,59,105, +131,80,108,144,91,107,139,83,86,109,62,72,94,57,60,81,49,59,72,42,65,92,59,90, +132,87,110,166,108,111,166,106,113,165,95,114,151,68,112,142,58,110,137,43,110, +138,41,107,139,40,104,133,39,91,116,30,87,108,30,65,79,23,61,75,23,46,49,17,46, +47,17,46,52,27,51,53,32,53,65,40,54,71,45,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,120,145,43,111,130,42,113,134,38,112, +132,34,99,126,64,91,150,107,88,163,134,94,155,119,107,139,72,112,133,43,97,149, +98,92,181,144,74,100,55,93,111,34,104,134,52,91,117,52,59,71,28,95,132,75,108, +172,114,100,146,93,82,141,102,73,128,96,40,42,26,61,71,23,86,131,79,64,87,54,43, +32,14,43,35,15,47,45,20,47,43,20,56,65,40,71,108,69,69,83,47,69,60,26,69,60,27, +66,65,31,66,82,48,64,106,72,69,95,64,93,98,58,93,100,58,70,84,54,63,66,37,79,77, +40,97,102,57,94,100,56,89,93,49,81,91,47,72,77,39,50,50,27,65,75,43,90,125,78, +99,142,92,113,163,104,113,165,105,110,159,95,103,138,70,90,113,49,82,104,44,67, +95,54,78,116,72,84,123,73,72,121,87,72,113,72,73,95,38,67,85,34,80,103,38,73,95, +38,59,75,29,74,94,33,97,120,40,66,78,35,48,56,27,45,53,28,46,58,32,49,62,33,54, +69,35,53,72,39,54,75,41,58,77,39,60,80,42,60,80,42,62,87,53,64,90,58,61,98,66, +60,103,73,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,167,151,48,255,0,0,255,0,0,255,0,0,103,119,43,94,97,28,103,114,30,100, +111,40,85,130,93,79,143,114,84,139,110,92,126,81,101,111,34,100,144,82,82,152, +124,72,108,74,100,116,33,103,119,34,60,66,16,66,85,42,107,156,105,104,148,95,86, +132,86,75,137,105,37,44,27,49,55,19,104,167,101,85,145,97,42,26,10,43,31,12,64, +76,26,62,71,29,59,81,52,72,118,80,69,99,67,69,59,27,69,59,25,70,61,25,67,64,32, +67,67,38,72,72,43,68,72,44,77,78,43,72,76,43,67,64,32,68,61,31,89,100,57,108, +142,90,109,148,93,111,152,96,111,154,96,105,141,76,98,126,61,85,98,40,81,100,38, +100,136,76,105,148,86,108,173,118,111,183,131,116,192,132,118,187,122,119,177, +101,118,170,91,117,159,74,118,151,45,116,142,36,87,105,27,72,92,27,62,81,33,60, +85,38,54,79,48,47,69,43,41,54,35,51,62,40,53,65,40,48,58,36,51,61,41,53,65,46, +53,67,46,54,68,41,54,85,55,54,88,64,56,100,72,58,104,74,61,100,65,62,97,59,62, +108,82,62,103,72,61,97,69,60,100,72,96,110,80,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,114,147,61,119,155,71,117,172,100,113,160,88, +255,0,0,88,91,34,84,86,32,86,87,20,85,93,35,75,129,94,79,139,110,84,101,61,85, +94,41,91,140,97,80,143,107,71,87,41,88,98,29,85,95,31,74,97,50,95,138,96,101, +140,96,88,127,77,82,140,96,62,90,63,68,76,35,103,156,89,103,176,114,48,58,36,44, +29,13,70,84,25,69,83,30,64,82,37,69,100,59,68,77,44,69,60,25,69,61,28,69,61,29, +69,61,31,69,60,31,70,59,31,72,58,30,86,80,43,107,116,63,90,93,49,72,73,29,72,80, +41,95,124,79,98,135,89,105,155,103,108,161,109,117,174,116,116,176,115,115,177, +113,117,173,107,113,159,84,113,156,78,105,145,69,99,139,69,97,132,61,101,152,82, +91,149,99,91,151,100,100,166,114,119,191,125,114,189,126,79,111,54,59,73,29,52, +61,33,52,64,35,47,68,40,46,71,46,49,79,53,49,82,54,53,85,53,54,80,48,58,75,33, +59,72,28,61,71,32,61,72,33,59,80,42,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,117,161,82,116,153,75,127,178,91,124,192,117,110, +196,139,104,179,125,77,81,39,74,77,30,69,74,34,72,97,68,81,137,106,79,114,81,73, +86,36,73,113,78,64,100,75,69,89,53,87,94,28,82,96,47,88,121,80,94,123,81,95,127, +75,92,138,84,68,115,89,73,95,55,100,145,77,100,163,97,62,93,63,45,34,16,77,98, +31,72,85,24,67,82,34,70,107,63,67,89,57,68,62,26,67,62,29,70,64,33,73,64,34,69, +63,34,67,65,37,64,81,54,74,94,59,101,131,80,94,116,69,90,103,42,92,107,39,93, +110,40,90,112,49,92,120,66,86,123,77,78,126,86,87,139,96,105,170,111,112,184, +121,123,207,134,125,209,137,125,196,115,120,181,97,120,159,61,125,156,47,126, +157,42,100,123,36,86,105,34,76,90,24,70,84,22,54,62,22,54,57,26,48,62,37,47,67, +45,52,72,46,54,71,41,59,69,33,59,72,40,55,85,58,54,92,61,56,98,69,59,95,65,62, +91,52,64,88,49,65,82,27,68,81,25,67,82,36,67,84,41,61,93,62,60,98,66,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,85,101,28,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,107,136,53,104,131,52,85,123,78,85,126,78,255,0,0,105,155,92,110,171, +105,110,178,113,105,172,116,94,150,101,81,117,73,68,85,47,58,68,47,69,106,78,74, +101,66,70,90,54,56,78,55,56,74,50,84,84,31,82,90,42,82,109,74,88,114,74,91,123, +76,88,135,89,76,135,99,69,122,93,97,158,100,99,170,113,82,141,97,64,109,79,82, +112,53,73,89,32,62,79,34,60,93,59,63,85,56,69,63,31,69,62,29,73,65,30,69,65,32, +50,72,50,50,90,68,49,88,68,57,82,57,106,146,93,106,151,99,93,120,65,93,110,40, +103,126,47,106,129,46,108,132,45,105,129,40,68,75,15,51,51,5,52,54,14,67,85,38, +98,148,89,95,138,76,81,129,74,78,122,71,81,117,59,72,103,50,73,110,65,67,98,55, +52,77,45,53,65,37,53,62,28,56,68,19,59,69,20,61,72,24,58,73,33,52,80,56,52,85, +65,59,86,55,60,85,46,64,75,35,64,77,41,59,90,61,59,92,64,59,97,72,60,99,72,64, +93,60,64,94,61,65,87,49,65,87,47,65,87,47,62,92,56,76,107,76,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,84,100,30,87,106,33,82,103,38,84,99,32,255,0,0,255,0,0, +255,0,0,108,138,54,98,139,78,98,140,78,91,121,62,90,124,71,104,149,81,98,143,82, +91,127,77,92,145,94,91,143,99,87,134,88,69,96,59,68,94,66,73,113,81,73,111,81, +69,109,78,67,105,78,67,76,39,70,73,31,70,88,56,75,96,60,86,109,60,86,124,78,73, +123,91,73,119,84,92,150,94,97,168,113,87,153,111,80,133,93,91,131,68,85,112,46, +67,84,33,58,80,50,67,67,36,70,65,27,71,63,30,69,66,31,68,66,32,53,81,58,50,81, +59,49,36,20,45,35,16,79,117,75,102,162,108,108,168,115,99,144,86,90,116,54,90, +115,46,97,124,46,99,133,47,113,145,51,109,143,49,100,129,45,93,127,54,91,132,64, +86,133,73,71,119,75,61,107,70,64,113,77,60,85,50,51,59,18,52,59,16,51,61,28,44, +76,56,49,77,55,57,74,37,61,72,24,66,77,20,65,77,20,65,75,31,58,83,57,53,98,72, +53,100,75,56,101,75,59,98,66,64,87,54,64,88,58,64,92,64,61,98,69,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,81,95,36,81,99,26,77,97,28,77,92,27,71,85,29,255,0,0,73,100, +65,74,112,77,93,130,67,104,137,61,100,132,62,101,127,59,90,108,48,84,99,44,79, +120,74,78,123,85,78,123,92,73,115,84,73,103,76,69,101,72,65,85,58,65,89,63,64, +86,58,67,66,35,60,63,34,61,69,43,77,93,46,80,107,64,76,113,79,71,102,72,90,139, +85,91,155,106,86,147,101,82,139,95,91,148,92,87,129,69,72,94,42,54,67,42,65,67, +40,73,65,29,71,67,32,73,65,31,72,69,35,56,89,65,53,84,61,52,56,33,54,68,41,57, +90,62,78,130,92,105,181,128,97,171,123,64,123,94,60,118,93,57,116,93,58,118,98, +71,132,96,92,148,90,113,175,105,124,195,112,124,198,115,117,183,105,63,104,76, +49,82,60,47,81,59,55,78,58,59,63,32,60,66,23,61,68,18,55,80,43,53,86,61,51,94, +72,54,92,64,62,78,40,66,74,30,67,80,24,68,81,31,67,87,49,66,93,55,60,107,75,59, +112,87,59,105,81,58,103,78,255,0,0,60,100,71,62,98,63,98,103,62,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,71,129,103,74,126,93,75,116,78,75,108,67,78,98,47,77,95,45,73,92,41,255, +0,0,171,83,28,146,101,30,73,88,41,77,93,32,79,92,22,77,94,26,77,94,26,91,111,40, +85,112,59,66,95,67,64,93,67,82,126,77,98,158,100,100,145,76,97,130,59,86,96,35, +82,95,41,75,86,44,70,88,48,66,83,54,62,76,52,61,73,51,58,63,41,62,88,63,63,94, +66,53,58,33,48,47,24,67,72,32,76,97,60,69,101,67,64,94,67,88,129,81,89,150,101, +82,145,98,80,156,115,94,175,117,91,169,118,71,127,89,55,80,53,66,64,34,71,66,29, +71,65,29,74,69,31,70,72,37,54,64,43,52,48,26,53,50,30,54,73,49,61,91,58,61,90, +60,88,161,117,102,194,141,79,139,95,69,111,70,70,107,63,68,100,53,66,99,53,68, +100,55,89,124,51,97,131,53,111,149,67,105,141,66,255,0,0,56,87,58,48,88,62,49, +89,68,255,0,0,255,0,0,64,76,32,68,80,24,68,80,24,57,93,59,53,103,79,54,105,86, +55,96,75,255,0,0,65,87,37,61,94,66,64,95,62,61,99,70,61,100,74,60,103,79,59,111, +91,59,106,85,58,109,86,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,146,95,30,80,94,29,77,92,28,77,93,27,255,0,0,255,0,0,255,0,0,68, +127,105,62,134,114,65,130,108,69,114,80,72,106,62,74,91,36,73,87,26,66,77,33,64, +87,49,58,110,90,58,103,84,62,95,65,80,99,32,85,105,29,100,124,33,107,138,43,105, +138,61,100,131,56,100,125,49,101,137,62,101,147,79,103,157,95,97,168,115,94,161, +108,84,133,85,75,111,66,70,103,62,70,99,52,61,57,24,56,42,20,58,65,39,72,116,85, +70,110,80,55,68,43,56,53,21,69,77,44,71,78,48,65,70,41,81,98,50,84,121,79,78, +128,87,81,139,98,91,166,113,90,162,109,75,136,96,56,65,43,68,59,29,72,67,30,74, +66,30,75,69,32,70,68,35,54,80,55,55,84,59,62,94,65,65,99,67,69,104,64,68,108,75, +72,128,100,80,159,120,79,149,108,64,108,66,53,59,19,49,56,23,48,39,8,46,40,11, +76,91,35,82,107,44,255,0,0,255,0,0,255,0,0,255,0,0,54,90,71,49,100,75,52,103,79, +255,0,0,255,0,0,92,85,28,67,81,35,68,84,36,69,85,34,59,98,76,55,109,89,55,103, +84,56,98,65,255,0,0,255,0,0,116,112,85,85,113,88,255,0,0,255,0,0,62,114,90,58, +107,84,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,208,72,21,77,91,30,77,90,33,78,92,38,79,94,36,75,88,32,73,85,33,68,84, +42,65,97,65,56,103,79,53,104,86,52,95,79,52,92,74,59,79,46,61,67,27,58,72,34,56, +80,51,55,91,68,53,87,69,52,75,48,56,60,23,61,67,19,90,117,47,98,124,53,97,123, +50,99,127,49,100,130,54,101,126,53,102,128,54,102,137,69,97,155,94,96,156,104, +92,152,105,91,149,104,81,129,87,76,108,68,60,64,33,60,59,33,68,98,69,70,99,71, +60,55,28,65,63,33,65,100,65,52,75,47,69,94,58,77,116,80,69,115,79,70,124,88,85, +155,111,79,156,117,68,143,115,54,50,25,65,55,26,75,67,31,75,69,31,75,69,33,73, +69,30,62,89,55,62,92,61,66,101,69,67,109,77,71,121,88,74,125,90,78,136,98,78, +137,97,65,133,105,63,139,110,61,137,106,58,127,101,51,124,102,67,162,136,115, +129,91,80,125,75,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,54,104,81,55,106,84,52, +104,80,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,68,88,37,255,0,0,54,100,82,54, +102,83,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,77,91,29,73,82,32,69,78,29,68,71,12,67,73,12,65,71,17, +60,68,28,53,73,46,51,75,52,48,85,67,48,84,66,48,69,46,49,56,32,49,54,23,46,68, +49,43,73,58,45,67,47,49,50,23,48,51,23,46,57,35,57,75,42,66,83,38,75,98,47,75, +103,54,71,95,48,74,92,40,68,97,56,64,96,60,71,104,64,72,119,80,71,136,100,74, +136,103,72,126,92,69,111,80,65,94,66,68,99,67,68,90,58,64,63,36,72,119,85,72, +138,107,66,92,55,75,100,63,73,126,92,74,132,95,84,147,105,78,146,105,72,140,106, +60,60,35,66,65,32,77,69,32,77,70,32,78,70,32,73,78,39,59,117,81,58,122,94,77, +102,42,78,106,42,78,111,55,82,113,55,80,118,63,75,114,66,80,118,62,77,133,82,80, +137,86,75,132,88,90,155,93,102,172,106,98,155,95,93,158,102,87,140,82,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,72,108,85,111,106,83,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,60,65,23,60,62,29,58,66,32,52,52,12,51,48,8,43,43,16,41,48,28, +48,79,60,47,78,59,42,65,49,42,55,33,42,57,35,39,60,44,39,61,44,41,41,21,38,37, +15,37,43,28,43,51,30,65,87,42,79,115,62,89,119,52,94,114,44,92,117,49,86,114,49, +87,112,45,87,110,46,75,104,51,73,101,51,78,99,47,79,94,41,75,82,38,70,77,36,70, +68,40,67,61,33,68,76,46,74,123,91,76,124,90,70,95,62,72,115,82,73,120,86,75,141, +101,76,141,106,73,136,104,63,65,33,69,65,32,79,69,33,78,72,33,79,70,32,77,76,40, +59,115,86,62,117,84,77,106,38,76,109,41,77,107,49,152,87,40,67,59,38,54,45,15, +54,56,19,62,59,17,57,55,19,53,50,15,74,105,47,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,72,92, +46,73,103,60,74,125,90,74,125,91,71,116,82,68,111,81,66,105,77,64,99,74,59,86, +62,56,79,55,35,34,19,30,27,13,40,51,36,47,70,52,45,69,50,42,61,43,42,60,43,40, +58,43,41,50,32,37,32,15,33,27,15,49,55,35,50,70,43,46,96,80,54,126,102,90,171, +121,84,169,119,84,161,115,87,156,107,87,155,105,81,148,105,73,127,86,77,127,82, +68,109,72,51,73,43,64,73,40,67,71,37,70,62,27,72,58,27,71,109,75,74,112,78,66, +96,63,72,131,96,75,129,95,71,127,95,72,129,97,63,75,44,73,74,39,78,73,34,79,73, +36,80,71,33,79,78,40,65,125,97,68,132,103,63,129,91,66,120,74,73,102,50,65,78, +44,58,49,18,57,55,20,57,55,21,57,54,21,66,60,36,64,47,24,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,64,98,56,65,92,56,62,85,52,60,80,46, +56,81,52,55,77,51,49,74,51,48,78,57,47,76,57,45,69,49,43,62,45,37,46,34,35,40, +28,33,22,12,35,29,19,45,72,53,43,73,54,36,44,29,40,30,15,43,41,22,50,60,34,106, +141,60,107,140,54,90,120,49,94,133,67,93,141,77,93,137,74,95,156,96,97,155,98, +92,154,105,87,149,105,77,137,92,79,124,83,61,90,57,68,74,41,75,88,53,74,109,75, +72,113,76,74,110,76,73,134,98,76,132,95,71,111,76,52,68,42,70,72,37,79,73,33,80, +72,33,81,71,34,76,84,45,64,136,103,63,139,106,66,150,116,70,158,121,66,152,115, +57,117,88,57,54,20,58,58,25,60,58,25,59,59,26,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,73,108,63,72,105,62,71,99,58,66,92,53,67,80,38,66,79,36,65,75, +36,65,74,36,60,69,36,59,65,33,54,56,23,52,50,15,48,48,16,40,35,9,40,36,13,45,45, +34,48,53,37,39,37,19,37,33,16,37,39,22,38,46,28,43,59,42,45,61,44,41,41,23,43, +31,14,37,76,64,41,88,70,48,67,42,44,62,39,50,89,65,56,102,73,67,106,65,71,109, +65,65,115,75,64,125,92,62,111,78,62,103,68,75,111,73,76,110,69,73,103,67,75,100, +66,73,99,62,72,102,64,72,121,86,72,121,86,71,111,75,58,68,38,68,73,38,80,76,35, +77,77,36,82,74,35,80,75,34,65,92,49,62,102,61,65,116,77,67,147,114,65,184,152, +61,164,133,52,125,98,52,101,72,62,57,27,64,56,25,176,45,19,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,117,97,46,66,82,36,67,86,42,67,90,51,66,90, +54,67,95,56,66,100,64,62,94,62,59,96,66,58,101,69,62,105,70,61,108,76,60,104,71, +59,99,72,55,97,68,51,92,70,49,93,69,48,88,70,44,73,56,42,60,38,44,56,36,46,42, +22,47,33,16,50,85,53,63,135,92,70,153,110,80,175,137,84,181,138,89,190,144,91, +202,152,87,193,149,103,185,133,102,184,128,98,167,114,94,159,109,91,143,98,90, +132,88,77,104,61,71,80,45,79,63,31,78,75,40,78,98,60,80,103,64,78,94,57,79,72, +33,78,77,36,80,75,37,80,75,37,79,77,37,78,78,37,67,102,61,65,106,65,66,89,39,66, +68,27,59,65,33,51,95,69,55,131,102,50,142,114,49,144,117,57,118,92,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,208,74,27, +91,108,37,75,95,41,78,93,40,80,100,38,77,94,29,72,89,29,68,88,37,66,87,44,59,78, +36,57,77,42,55,74,45,56,78,50,58,84,51,58,82,48,55,64,31,55,59,19,53,59,22,60, +63,38,55,65,44,48,59,38,54,66,32,59,76,32,71,92,41,81,114,54,83,123,59,87,129, +64,92,142,72,94,139,70,81,113,57,81,116,60,86,107,44,77,100,46,65,64,25,62,60, +20,58,67,35,60,84,54,67,102,69,74,104,67,79,87,49,83,74,42,81,74,40,80,75,36,80, +75,37,83,77,37,78,78,38,81,78,38,74,84,48,63,103,63,67,94,55,75,73,44,62,62,24, +62,60,23,61,62,27,59,63,28,60,63,29,65,78,49,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,101,93,38,67,84,36,77,95,39,81,103,41,82,104,40, +85,106,34,80,100,30,73,88,29,71,89,31,69,83,28,68,79,33,63,72,34,60,67,33,68,82, +36,69,81,36,70,78,24,69,75,25,66,84,33,58,97,62,57,95,68,56,106,84,56,111,83,53, +103,74,53,98,65,48,86,61,45,75,53,57,41,25,58,44,26,46,63,42,49,58,35,55,54,30, +54,61,34,54,58,34,60,43,24,61,32,20,62,36,19,62,46,24,51,69,42,65,128,97,74,141, +108,73,137,100,68,119,84,78,69,38,80,73,34,81,75,36,80,77,38,84,78,38,83,77,39, +82,78,40,80,78,40,74,82,43,61,88,58,69,88,59,79,69,45,61,62,27,63,64,29,63,63, +29,61,64,29,62,63,28,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,79,97,38,78,95,34,255,0, +0,255,0,0,69,82,31,69,82,37,75,99,48,78,122,66,76,119,67,68,132,92,68,137,106, +66,141,111,64,143,116,62,137,107,63,124,88,61,105,66,63,96,58,61,95,68,58,96,70, +59,91,66,58,89,61,54,89,64,54,85,60,60,72,42,72,61,41,62,50,27,61,56,29,61,44, +20,59,42,17,64,27,23,62,39,17,64,131,98,68,153,122,79,163,126,76,159,119,69,123, +90,65,92,62,70,51,28,63,71,34,69,84,37,83,77,37,83,78,41,83,79,41,83,79,41,81, +77,39,73,77,40,56,73,43,72,77,49,61,65,32,65,65,31,68,62,31,66,63,31,60,67,32, +74,72,45,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,73,120,73,75,115,68,77,115,61,77,112,51,77,106,44,72, +93,49,72,91,48,68,94,53,68,93,57,60,110,84,57,113,87,60,108,78,59,106,76,65,87, +50,69,77,37,255,0,0,55,89,69,50,82,58,56,76,48,62,69,44,63,67,41,60,147,115,66, +162,128,70,175,141,66,163,124,63,140,106,57,116,84,67,62,33,74,51,31,71,57,31, +68,73,33,68,93,40,71,94,48,80,83,43,82,76,38,84,76,38,79,75,38,67,69,35,63,64, +33,65,64,31,66,64,30,62,67,31,68,62,31,67,62,30,79,69,44,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,76,110,55,76,109,54,125,109,50,255,0,0,255,0,0,65,133,106,59,147,119, +59,142,113,70,117,79,66,109,72,70,96,44,75,90,44,255,0,0,255,0,0,60,98,75,53,97, +73,55,95,67,50,108,82,64,154,124,82,212,173,85,232,188,80,207,168,53,98,73,66, +52,30,70,49,30,72,53,31,75,52,31,75,54,32,75,55,32,65,69,35,63,98,60,73,100,61, +78,82,43,82,76,38,81,77,39,83,78,41,79,71,35,64,66,32,62,66,32,64,66,32,65,65, +30,68,63,30,64,64,29,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +70,138,101,69,139,107,70,148,106,75,139,93,76,122,69,79,114,57,75,108,61,92,103, +47,255,0,0,255,0,0,255,0,0,86,114,87,51,113,91,52,112,89,50,119,90,61,147,118, +61,148,117,163,145,115,255,0,0,255,0,0,68,34,23,65,46,23,68,51,25,69,53,30,71, +58,32,73,56,33,77,52,35,61,70,41,57,108,76,70,104,66,79,79,45,83,73,39,83,73,39, +83,78,42,82,78,43,65,67,35,64,66,33,59,66,34,63,65,32,63,63,30,76,59,38,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,70,136,97,72,136,97,73,137,95, +74,134,90,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,68,135,107,58,123,99, +55,126,99,53,121,94,58,112,86,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,80,61,44, +67,49,25,72,53,30,74,53,34,74,57,34,74,57,35,76,57,35,74,60,35,72,80,54,83,85, +52,81,77,42,83,73,39,83,73,42,88,75,45,82,75,45,57,66,33,63,66,33,61,64,33,64, +62,31,68,65,39,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +55,144,117,53,148,116,59,130,107,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,75,63,40,73,52,34,75,56,35,72,61,34,72,61,34,70,61,34,74,58, +35,84,71,48,86,77,43,80,77,40,87,70,42,84,74,42,77,74,40,60,69,38,61,65,32,59, +65,33,61,65,31,62,64,31,146,50,27,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,61,155,127,63,149,122,61,153,126,59,145,120,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,82,65,47,70,57,34,70,61,34,72,63,35,75, +61,35,72,62,35,71,62,34,67,63,34,86,78,48,84,74,39,86,72,39,86,72,39,77,69,37, +63,64,32,60,64,30,63,61,29,69,56,30,66,53,25,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,64,152,124,62,151,124,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,71,58,34,70,63, +35,72,63,35,72,63,35,72,62,35,72,62,35,69,62,34,84,70,40,84,71,40,84,71,40,87, +70,42,77,69,34,63,66,30,60,64,30,62,62,27,64,54,22,110,65,45,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,79,64, +43,72,62,35,72,63,35,72,63,35,72,63,35,72,62,35,77,58,36,85,71,40,85,71,40,87, +69,40,85,71,40,72,66,34,64,64,30,63,60,27,63,60,27,95,71,46,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,82, +69,46,70,63,35,72,63,35,72,63,35,72,63,35,72,62,35,72,62,35,82,70,40,87,69,40, +82,70,40,82,70,40,70,63,32,66,58,29,63,60,27,64,48,18,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +84,71,48,69,62,34,72,63,35,72,63,35,72,63,35,72,62,35,69,65,36,82,70,40,82,70, +40,82,70,40,83,69,40,67,66,33,64,58,29,66,55,25,84,71,45,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,87,69,49,71,62,34,72,63,35,72,63,35,70,63,35,72,62,35,75,66,37,82,70,40,82,70, +40,82,70,40,83,69,40,67,66,33,64,57,27,66,57,27,236,30,17,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,84,71,48,71,62,34,72,63,35,72,63,35,72,62,35,73,64,35,77,66,37,82,70,40,82,70, +40,82,70,40,83,69,40,68,63,33,62,57,25,220,36,19,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,154,53,29,87,69,49,72,63,35,72,63,35,72,62,35,71,64,36,78,70,38,82,70,40,82, +70,40,82,70,40,87,68,40,68,60,31,59,65,34,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,84,71,48,72,63,35,72,63,35,72,62,35,77,62,36,80,69,38,82,70,40,82,70, +40,82,70,40,80,71,40,65,61,30,179,54,33,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,86,71,48,72,63,35,72,63,35,73,64,35,75,66,37,82,69,40,82,70,40,82,70,40, +82,70,40,84,70,40,121,54,26,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,88,70,50,72,63,35,72,63,35,74,64,36,81,66,38,82,70,40,82,70,40,82,70,40,82, +70,40,81,68,38,182,40,18,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,78,68,42,72,63,35,72,63,35,71,64,36,81,67,39,82,70,40,82,70,40,82,70,40,82,70, +40,82,70,40,223,27,10,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +244,15,5,72,62,35,70,63,35,72,62,35,80,68,39,82,70,40,82,70,40,82,70,40,82,70, +40,81,69,39,254,1,1,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,220, +32,16,72,62,35,72,62,35,75,64,36,81,69,40,82,70,40,82,70,40,82,70,40,82,70,40, +79,68,39,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,199, +41,21,72,62,35,72,62,35,75,64,37,81,69,40,82,70,40,82,70,40,81,69,40,82,70,40, +78,67,38,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,214, +35,18,72,62,35,72,62,35,77,66,38,82,70,40,82,70,40,81,69,40,80,68,39,82,70,40, +79,68,39,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,242, +17,7,72,62,35,72,62,35,76,65,37,82,70,40,82,70,40,81,69,40,80,68,39,82,70,40,79, +68,39,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,244,16, +6,72,62,35,72,62,35,72,62,35,80,68,39,82,70,40,82,70,40,81,70,40,82,70,40,77,66, +38,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255, +0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,253,4,1,72, +62,35,76,62,35,72,62,35,73,62,35,76,65,37,82,70,40,80,69,39,82,66,37,75,63,35, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0, +255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,254,2,1,207,38, +19,204,39,20,206,39,20,222,31,15,214,35,18,174,48,26,189,44,23,217,34,17,251,6, +2,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0,255,0, +0,255,0,0,255,0,0,255,0,0,255,0,0,255,0,0 +}; // plantTexture + +#endif // guard diff --git a/small3dlib.h b/small3dlib.h index 9ef3ea3..d6239e7 100644 --- a/small3dlib.h +++ b/small3dlib.h @@ -434,10 +434,11 @@ typedef struct S3L_Index triangleIndex; ///< Triangle index. S3L_Index modelIndex; S3L_Unit depth; ///< Depth (only if depth is turned on). - S3L_Unit previousDepth; /**< Depth that was in the z-buffer on the pixels - position before this pixel was rasterized. This - can be used to set the value back, e.g. for - transparency. */ + S3L_Unit previousZ; /**< Z-buffer value (not necessarily world depth in + S3L_Units!) that was in the z-buffer on the + pixels position before this pixel was + rasterized. This can be used to set the value + back, e.g. for transparency. */ S3L_ScreenCoord triangleSize[2]; /**< Rasterized triangle width and height, can be used e.g. for MIP mapping. */ } S3L_PixelInfo; /**< Used to pass the info about a rasterized pixel @@ -652,10 +653,6 @@ S3L_Unit S3L_zBufferRead(S3L_ScreenCoord x, S3L_ScreenCoord y) void S3L_zBufferWrite(S3L_ScreenCoord x, S3L_ScreenCoord y, S3L_Unit value) { #if S3L_Z_BUFFER - uint32_t index = y * S3L_RESOLUTION_X + x; - - value = S3L_zBufferFormat(value); - S3L_zBuffer[y * S3L_RESOLUTION_X + x] = value; #endif } @@ -663,7 +660,8 @@ void S3L_zBufferWrite(S3L_ScreenCoord x, S3L_ScreenCoord y, S3L_Unit value) #if S3L_STENCIL_BUFFER #define S3L_STENCIL_BUFFER_SIZE\ ((S3L_RESOLUTION_X * S3L_RESOLUTION_Y - 1) / 8 + 1) - uint8_t S3L_stencilBuffer[S3L_STENCIL_BUFFER_SIZE]; + +uint8_t S3L_stencilBuffer[S3L_STENCIL_BUFFER_SIZE]; static inline int8_t S3L_stencilTest( S3L_ScreenCoord x, @@ -1372,7 +1370,7 @@ void S3L_initPixelInfo(S3L_PixelInfo *p) // TODO: maybe non-pointer for p p->barycentric[2] = 0; p->triangleIndex = 0; p->depth = 0; - p->previousDepth = 0; + p->previousZ = 0; } void S3L_initDrawConfig(S3L_DrawConfig *config) @@ -1897,10 +1895,10 @@ void S3L_drawTriangle( #endif #if S3L_Z_BUFFER + p.previousZ = S3L_zBuffer[p.y * S3L_RESOLUTION_X + p.x]; + if (!S3L_zTest(p.x,p.y,p.depth)) - testsPassed = 0; - - p.previousDepth = S3L_zBuffer[p.y * S3L_RESOLUTION_X + p.x]; + testsPassed = 0; #endif if (testsPassed)