diff --git a/programs/houseTexture.h b/programs/houseTexture.h index d982522..eba01f6 100644 --- a/programs/houseTexture.h +++ b/programs/houseTexture.h @@ -1255,16 +1255,16 @@ uint8_t houseTexture[49152] = { 50,90,70,56,113,99,81,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93, 137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93, 137,118,93,137,118,93,171,159,105,171,159,105,171,159,105,171,159,105,171,159, -105,178,169,108,193,185,117,193,185,117,188,181,117,188,180,117,188,180,117,188, -181,117,188,180,115,188,180,115,187,180,112,186,177,113,185,176,112,183,176,110, -176,170,108,176,170,108,176,170,108,176,170,108,176,170,108,175,168,107,175,168, -107,174,166,104,169,164,105,172,165,106,172,165,106,169,164,105,172,166,106,176, -169,107,176,170,107,177,171,108,183,174,110,185,178,111,188,181,112,189,182,113, -189,182,117,189,182,117,188,181,112,189,182,117,191,184,117,189,182,117,189,182, -115,188,181,114,185,178,111,173,164,104,177,171,108,158,147,97,149,138,94,149, -138,94,169,161,104,170,165,105,170,165,105,171,164,106,176,170,107,177,171,108, -183,174,110,186,178,111,189,181,112,189,181,112,189,181,114,190,180,115,188,180, -113,187,177,111,130,113,86,139,126,107,52,49,46,116,104,88,126,112,94,124,108, +105,178,169,108,193,185,117,174,144,99,111,110,114,111,109,114,110,109,113,110, +109,114,110,109,114,114,110,113,115,111,113,114,109,112,114,109,112,114,109,112, +114,109,112,114,109,112,114,109,112,114,109,112,114,109,112,114,109,112,114,109, +112,125,109,108,125,107,107,125,122,112,125,122,112,124,122,112,125,123,112,126, +124,113,125,123,113,125,123,113,127,124,113,128,125,113,129,126,114,129,127,114, +129,127,115,127,125,115,127,124,114,127,125,115,128,125,115,127,125,115,127,125, +114,127,124,114,126,123,113,122,120,112,139,135,112,129,124,108,125,120,107,125, +120,107,134,131,111,135,133,111,132,130,111,132,129,112,135,132,112,135,132,112, +138,134,113,143,139,113,155,150,113,154,149,113,152,147,114,152,146,115,151,146, +113,185,175,111,130,113,86,139,126,107,52,49,46,116,104,88,126,112,94,124,108, 88,111,90,75,91,72,61,119,99,79,129,112,87,128,111,86,123,104,79,91,72,61,134, 117,86,137,120,91,124,106,84,121,97,63,112,89,68,124,101,76,132,109,82,132,112, 85,124,109,92,112,93,71,114,98,81,127,113,94,128,114,94,120,103,82,107,87,67, @@ -1273,7 +1273,7 @@ uint8_t houseTexture[49152] = { 57,117,94,69,124,104,84,91,77,61,106,87,66,124,109,90,137,118,93,137,118,93,137, 118,93,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,137, 118,93,137,118,93,137,118,93,137,118,93,137,118,93,171,159,105,171,159,105,171, -159,105,171,159,105,171,159,105,180,171,110,193,185,117,254,213,124,111,119,127, +159,105,171,159,105,171,159,105,180,171,110,193,185,117,172,97,70,111,119,127, 110,119,128,109,119,128,110,119,128,109,119,128,109,119,128,110,119,128,121,130, 138,109,117,125,109,117,125,109,117,125,108,116,125,108,117,125,108,116,125,108, 117,125,107,115,123,108,115,123,107,115,123,108,115,123,108,115,123,107,115,123, @@ -1292,7 +1292,7 @@ uint8_t houseTexture[49152] = { 80,132,118,98,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93, 137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93, 171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,193,185, -117,193,185,117,233,194,111,157,129,121,156,130,122,156,132,122,156,126,122,156, +117,193,185,117,172,97,70,157,129,121,156,130,122,156,132,122,156,126,122,156, 130,122,156,130,121,158,131,123,156,125,123,157,130,124,159,133,124,157,132,126, 149,125,127,158,134,129,157,134,129,157,134,128,161,132,130,162,139,134,163,140, 135,161,136,134,158,139,133,158,139,133,159,139,134,158,138,136,157,141,138,159, @@ -1300,235 +1300,234 @@ uint8_t houseTexture[49152] = { 163,147,143,163,147,144,163,147,144,162,146,145,163,148,147,163,148,147,160,144, 145,162,148,146,163,149,147,162,148,147,158,145,146,159,145,143,159,145,143,159, 145,142,156,142,146,158,150,151,158,152,154,158,152,153,158,150,153,158,152,154, -159,151,152,158,151,153,156,151,154,158,153,154,157,151,154,155,149,153,206,187, -141,142,134,98,146,133,116,124,106,94,114,102,86,146,130,112,143,128,111,121, -102,83,115,97,83,136,119,96,150,129,102,152,136,108,135,119,93,108,88,76,158, -140,113,156,135,108,124,104,84,111,90,62,110,91,72,113,95,79,118,101,83,117,99, -81,115,96,80,96,78,68,101,82,69,108,89,75,104,87,74,95,74,62,98,78,61,99,79,68, -112,85,70,117,90,72,118,92,78,119,95,79,101,81,72,134,118,95,135,121,99,127,114, -95,107,91,71,138,119,106,199,191,177,158,139,114,149,129,107,89,74,61,204,196, -186,144,129,108,145,132,119,125,109,87,136,123,104,137,118,93,137,118,93,137, -118,93,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,137, -118,93,137,118,93,137,118,93,137,118,93,171,159,105,171,159,105,171,159,105,171, -159,105,171,159,105,171,159,105,193,185,117,193,185,117,238,198,114,153,82,63, -159,92,69,166,99,72,149,79,63,152,86,63,164,95,67,157,88,63,148,80,64,150,88,64, -160,94,71,152,88,63,136,66,58,147,84,64,156,88,64,147,88,62,156,72,58,166,92,65, -168,96,70,159,91,61,147,88,62,163,94,67,159,88,63,147,88,62,155,87,67,163,97,72, -158,96,67,137,63,58,154,89,67,160,94,71,156,91,65,143,71,61,160,92,69,159,98,75, -156,91,65,153,81,62,160,92,69,160,92,69,148,75,61,155,90,64,160,94,71,155,94,66, -142,70,61,142,75,49,149,74,48,142,67,44,138,67,60,151,94,68,158,94,68,151,85,61, -143,72,60,152,92,65,156,90,64,146,76,60,145,82,60,156,89,66,146,89,64,140,80,62, -254,212,120,139,133,99,150,137,120,132,118,102,114,99,86,147,132,113,144,133, -116,136,117,88,129,109,89,152,134,108,162,145,118,159,143,117,135,115,91,132, -117,98,157,142,120,147,125,98,77,58,41,45,40,33,48,45,37,44,41,37,52,48,43,55, -50,45,52,47,43,64,55,48,82,68,57,82,68,55,88,71,58,89,74,62,96,77,61,89,73,59, -91,74,58,95,76,60,89,73,58,74,60,50,70,56,50,147,128,105,152,135,115,143,131, -113,134,116,90,156,143,134,163,146,123,159,143,119,148,127,104,112,96,82,148, -132,110,136,119,96,147,132,113,169,156,143,141,128,113,137,118,93,137,118,93, +159,151,152,158,151,153,156,151,154,158,153,154,157,151,154,155,149,153,172,97, +70,142,134,98,146,133,116,124,106,94,114,102,86,146,130,112,143,128,111,121,102, +83,115,97,83,136,119,96,150,129,102,152,136,108,135,119,93,108,88,76,158,140, +113,156,135,108,124,104,84,111,90,62,110,91,72,113,95,79,118,101,83,117,99,81, +115,96,80,96,78,68,101,82,69,108,89,75,104,87,74,95,74,62,98,78,61,99,79,68,112, +85,70,117,90,72,118,92,78,119,95,79,101,81,72,134,118,95,135,121,99,127,114,95, +107,91,71,138,119,106,199,191,177,158,139,114,149,129,107,89,74,61,204,196,186, +144,129,108,145,132,119,125,109,87,136,123,104,137,118,93,137,118,93,137,118,93, 137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93, -137,118,93,137,118,93,137,118,93,137,118,93,171,159,105,171,159,105,171,159,105, -171,159,105,171,159,105,171,161,105,193,185,117,193,185,117,254,212,120,157,90, -69,161,91,69,163,93,71,157,86,69,157,92,69,163,89,69,159,94,71,157,86,69,157,92, -69,163,93,71,157,92,69,142,66,62,157,92,69,163,93,71,157,92,69,162,79,68,173,95, -67,173,95,67,167,95,67,161,91,69,170,97,72,163,93,71,162,88,68,163,98,69,176,98, -70,163,91,69,141,74,65,162,88,68,167,95,69,159,96,71,142,75,66,163,93,71,164,98, -72,159,94,71,157,86,69,163,95,71,159,92,71,154,78,68,154,88,68,159,96,71,157,92, -69,145,79,63,142,72,48,145,75,51,141,66,43,140,66,60,157,92,69,161,91,69,154,86, -68,153,73,65,159,94,71,157,92,69,150,81,68,151,88,69,153,94,71,149,88,67,140,80, -64,239,189,111,133,129,99,150,146,125,134,121,107,106,93,81,141,127,109,145,130, -111,150,132,92,148,127,106,167,146,119,174,158,128,168,154,128,133,114,89,146, -131,112,160,145,125,114,95,77,50,41,36,94,78,64,91,81,67,103,91,75,119,104,85, -126,112,93,121,107,90,118,107,89,120,106,88,121,108,93,117,101,84,113,96,79,114, -96,78,110,93,74,103,87,71,100,84,71,94,78,66,88,75,60,67,54,48,145,125,101,164, -146,126,149,136,119,134,119,104,133,116,109,190,177,162,162,144,122,153,134,115, -154,139,128,103,94,82,84,75,60,79,70,63,138,125,104,146,132,118,137,118,93,137, +137,118,93,137,118,93,137,118,93,171,159,105,171,159,105,171,159,105,171,159, +105,171,159,105,171,159,105,193,185,117,193,185,117,172,97,70,153,82,63,159,92, +69,166,99,72,149,79,63,152,86,63,164,95,67,157,88,63,148,80,64,150,88,64,160,94, +71,152,88,63,136,66,58,147,84,64,156,88,64,147,88,62,156,72,58,166,92,65,168,96, +70,159,91,61,147,88,62,163,94,67,159,88,63,147,88,62,155,87,67,163,97,72,158,96, +67,137,63,58,154,89,67,160,94,71,156,91,65,143,71,61,160,92,69,159,98,75,156,91, +65,153,81,62,160,92,69,160,92,69,148,75,61,155,90,64,160,94,71,155,94,66,142,70, +61,142,75,49,149,74,48,142,67,44,138,67,60,151,94,68,158,94,68,151,85,61,143,72, +60,152,92,65,156,90,64,146,76,60,145,82,60,156,89,66,146,89,64,140,80,62,172,97, +70,139,133,99,150,137,120,132,118,102,114,99,86,147,132,113,144,133,116,136,117, +88,129,109,89,152,134,108,162,145,118,159,143,117,135,115,91,132,117,98,157,142, +120,147,125,98,77,58,41,45,40,33,48,45,37,44,41,37,52,48,43,55,50,45,52,47,43, +64,55,48,82,68,57,82,68,55,88,71,58,89,74,62,96,77,61,89,73,59,91,74,58,95,76, +60,89,73,58,74,60,50,70,56,50,147,128,105,152,135,115,143,131,113,134,116,90, +156,143,134,163,146,123,159,143,119,148,127,104,112,96,82,148,132,110,136,119, +96,147,132,113,169,156,143,141,128,113,137,118,93,137,118,93,137,118,93,137,118, +93,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93, +137,118,93,137,118,93,171,159,105,171,159,105,171,159,105,171,159,105,171,159, +105,171,161,105,193,185,117,193,185,117,172,97,70,157,90,69,161,91,69,163,93,71, +157,86,69,157,92,69,163,89,69,159,94,71,157,86,69,157,92,69,163,93,71,157,92,69, +142,66,62,157,92,69,163,93,71,157,92,69,162,79,68,173,95,67,173,95,67,167,95,67, +161,91,69,170,97,72,163,93,71,162,88,68,163,98,69,176,98,70,163,91,69,141,74,65, +162,88,68,167,95,69,159,96,71,142,75,66,163,93,71,164,98,72,159,94,71,157,86,69, +163,95,71,159,92,71,154,78,68,154,88,68,159,96,71,157,92,69,145,79,63,142,72,48, +145,75,51,141,66,43,140,66,60,157,92,69,161,91,69,154,86,68,153,73,65,159,94,71, +157,92,69,150,81,68,151,88,69,153,94,71,149,88,67,140,80,64,172,97,70,133,129, +99,150,146,125,134,121,107,106,93,81,141,127,109,145,130,111,150,132,92,148,127, +106,167,146,119,174,158,128,168,154,128,133,114,89,146,131,112,160,145,125,114, +95,77,50,41,36,94,78,64,91,81,67,103,91,75,119,104,85,126,112,93,121,107,90,118, +107,89,120,106,88,121,108,93,117,101,84,113,96,79,114,96,78,110,93,74,103,87,71, +100,84,71,94,78,66,88,75,60,67,54,48,145,125,101,164,146,126,149,136,119,134, +119,104,133,116,109,190,177,162,162,144,122,153,134,115,154,139,128,103,94,82, +84,75,60,79,70,63,138,125,104,146,132,118,137,118,93,137,118,93,137,118,93,137, 118,93,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,137, -118,93,137,118,93,137,118,93,137,118,93,171,159,105,171,159,105,171,159,105,171, -159,105,171,159,105,171,159,105,171,161,105,193,185,117,193,185,117,251,203,119, -136,74,60,140,75,60,140,75,60,136,69,60,136,74,60,140,75,60,136,74,60,134,67,58, -136,74,60,136,74,60,136,74,60,123,55,55,135,77,61,135,77,61,130,75,60,132,70,60, -140,79,60,145,78,57,140,79,60,137,70,61,139,84,65,139,81,65,137,70,61,141,81,65, -142,80,66,141,83,65,125,60,57,139,81,65,139,81,65,135,77,61,126,58,58,137,77,61, -137,77,61,135,71,61,136,74,60,134,70,58,135,77,61,126,58,58,140,66,56,130,71,58, -130,65,58,119,57,57,120,51,40,122,51,42,116,46,42,119,57,57,130,73,58,130,75,60, -123,60,55,130,65,60,126,64,58,130,70,58,125,60,57,130,61,58,126,58,58,126,58,58, -118,54,54,208,160,92,103,100,75,133,142,139,113,123,121,127,130,131,147,149,148, -169,170,169,141,124,93,152,129,110,169,149,123,173,156,129,170,154,128,114,99, -86,154,140,122,154,137,117,98,80,64,44,37,33,113,100,81,89,76,65,103,90,74,111, -98,81,112,100,82,105,90,78,110,96,80,126,112,94,127,111,91,124,107,88,121,103, -84,126,109,87,131,112,90,128,111,90,71,72,70,104,89,73,88,75,62,73,55,50,132, -112,90,169,153,131,156,141,122,140,125,110,130,116,108,168,150,130,169,151,127, -162,143,124,90,77,61,153,160,159,137,146,145,120,128,123,123,132,129,140,148, -145,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,137,118, +118,93,137,118,93,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105, +171,159,105,171,161,105,193,185,117,193,185,117,172,97,70,136,74,60,140,75,60, +140,75,60,136,69,60,136,74,60,140,75,60,136,74,60,134,67,58,136,74,60,136,74,60, +136,74,60,123,55,55,135,77,61,135,77,61,130,75,60,132,70,60,140,79,60,145,78,57, +140,79,60,137,70,61,139,84,65,139,81,65,137,70,61,141,81,65,142,80,66,141,83,65, +125,60,57,139,81,65,139,81,65,135,77,61,126,58,58,137,77,61,137,77,61,135,71,61, +136,74,60,134,70,58,135,77,61,126,58,58,140,66,56,130,71,58,130,65,58,119,57,57, +120,51,40,122,51,42,116,46,42,119,57,57,130,73,58,130,75,60,123,60,55,130,65,60, +126,64,58,130,70,58,125,60,57,130,61,58,126,58,58,126,58,58,118,54,54,172,97,70, +103,100,75,133,142,139,113,123,121,127,130,131,147,149,148,169,170,169,141,124, +93,152,129,110,169,149,123,173,156,129,170,154,128,114,99,86,154,140,122,154, +137,117,98,80,64,44,37,33,113,100,81,89,76,65,103,90,74,111,98,81,112,100,82, +105,90,78,110,96,80,126,112,94,127,111,91,124,107,88,121,103,84,126,109,87,131, +112,90,128,111,90,71,72,70,104,89,73,88,75,62,73,55,50,132,112,90,169,153,131, +156,141,122,140,125,110,130,116,108,168,150,130,169,151,127,162,143,124,90,77, +61,153,160,159,137,146,145,120,128,123,123,132,129,140,148,145,137,118,93,137, +118,93,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,137, +118,93,137,118,93,137,118,93,171,159,105,171,159,105,171,159,105,171,159,105, +171,159,105,171,159,105,171,161,105,177,168,107,193,185,117,193,185,117,172,97, +70,162,85,68,162,85,68,153,71,65,162,88,68,162,88,68,162,88,68,152,66,52,151,68, +49,151,68,49,151,63,49,163,93,71,163,98,69,167,88,69,166,89,68,168,92,68,144,62, +54,174,89,72,155,73,65,174,97,70,174,97,70,174,87,70,164,83,72,175,88,71,175,88, +71,175,88,71,175,88,71,175,88,71,169,90,69,166,82,68,166,82,68,166,90,72,167,88, +69,158,76,70,167,91,73,167,91,73,167,88,69,159,72,65,166,87,68,165,86,67,163,93, +71,163,88,71,163,93,71,163,93,71,163,93,71,163,88,71,163,87,69,163,89,69,157,77, +69,163,87,69,167,95,69,167,90,69,154,74,68,167,95,69,172,97,70,167,95,69,167,88, +69,172,97,74,172,97,70,86,90,60,141,146,143,121,127,124,127,134,130,138,145,143, +162,171,167,123,114,92,150,127,113,170,153,126,171,154,127,165,148,125,121,103, +97,155,138,124,148,131,111,89,72,59,37,32,27,113,100,81,96,83,68,105,108,105, +131,116,99,134,120,100,134,121,101,129,113,95,124,109,91,128,111,90,132,116,95, +126,109,89,125,108,88,119,104,85,124,108,88,121,104,86,103,89,74,102,88,74,50, +43,36,123,101,80,160,143,123,160,144,125,144,133,116,115,111,105,174,160,140, +176,160,136,162,143,123,96,84,64,152,157,157,128,135,134,120,128,125,118,125, +124,146,153,150,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,137,118, 93,137,118,93,137,118,93,137,118,93,137,118,93,171,159,105,171,159,105,171,159, -105,171,159,105,171,159,105,171,159,105,171,161,105,177,168,107,193,185,117,193, -185,117,238,182,102,162,85,68,162,85,68,153,71,65,162,88,68,162,88,68,162,88,68, -152,66,52,151,68,49,151,68,49,151,63,49,163,93,71,163,98,69,167,88,69,166,89,68, -168,92,68,144,62,54,174,89,72,155,73,65,174,97,70,174,97,70,174,87,70,164,83,72, -175,88,71,175,88,71,175,88,71,175,88,71,175,88,71,169,90,69,166,82,68,166,82,68, -166,90,72,167,88,69,158,76,70,167,91,73,167,91,73,167,88,69,159,72,65,166,87,68, -165,86,67,163,93,71,163,88,71,163,93,71,163,93,71,163,93,71,163,88,71,163,87,69, -163,89,69,157,77,69,163,87,69,167,95,69,167,90,69,154,74,68,167,95,69,172,97,70, -167,95,69,167,88,69,172,97,74,250,209,122,86,90,60,141,146,143,121,127,124,127, -134,130,138,145,143,162,171,167,123,114,92,150,127,113,170,153,126,171,154,127, -165,148,125,121,103,97,155,138,124,148,131,111,89,72,59,37,32,27,113,100,81,96, -83,68,105,108,105,131,116,99,134,120,100,134,121,101,129,113,95,124,109,91,128, -111,90,132,116,95,126,109,89,125,108,88,119,104,85,124,108,88,121,104,86,103,89, -74,102,88,74,50,43,36,123,101,80,160,143,123,160,144,125,144,133,116,115,111, -105,174,160,140,176,160,136,162,143,123,96,84,64,152,157,157,128,135,134,120, -128,125,118,125,124,146,153,150,137,118,93,137,118,93,137,118,93,137,118,93,137, -118,93,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,171,159,105,171, -159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,161,105, -180,171,110,193,185,117,191,183,117,234,179,100,163,97,71,163,93,71,151,73,65, -162,88,68,165,97,71,162,88,68,150,64,50,152,72,50,152,74,50,153,69,49,167,95,73, -172,100,72,172,104,74,170,93,72,172,101,70,179,105,79,176,99,72,160,76,68,176, -99,72,180,111,80,176,99,72,174,87,72,181,105,75,180,112,82,180,107,78,179,100, -73,182,105,78,180,105,76,174,94,72,174,103,72,180,103,76,177,106,75,169,78,71, -179,98,73,180,106,80,176,98,74,168,77,70,174,99,76,180,103,72,169,96,73,167,84, -73,167,95,73,166,101,72,165,88,67,165,83,67,172,97,70,163,93,71,153,79,65,163, -98,69,173,100,75,163,98,69,151,75,65,172,97,70,175,106,75,172,97,70,169,104,75, -175,102,73,248,207,119,75,78,53,135,141,137,113,123,120,118,126,122,117,123,122, -131,138,137,126,128,119,147,126,110,168,151,125,168,151,125,170,153,126,127,112, -99,158,144,124,154,136,108,93,79,61,50,40,36,119,105,84,96,84,69,140,124,107,94, -82,66,101,87,69,98,85,67,96,82,65,96,83,66,94,85,68,99,87,69,97,85,68,96,84,66, -102,88,70,96,85,67,144,128,108,97,83,71,112,96,77,41,34,29,115,94,78,152,135, -117,158,144,124,152,134,112,147,130,113,180,166,142,186,174,152,172,157,138,125, -105,81,135,143,140,113,123,122,102,114,109,112,119,116,137,145,142,137,118,93, +105,171,159,105,171,159,105,171,159,105,171,159,105,171,161,105,180,171,110,193, +185,117,191,183,117,172,97,70,163,97,71,163,93,71,151,73,65,162,88,68,165,97,71, +162,88,68,150,64,50,152,72,50,152,74,50,153,69,49,167,95,73,172,100,72,172,104, +74,170,93,72,172,101,70,179,105,79,176,99,72,160,76,68,176,99,72,180,111,80,176, +99,72,174,87,72,181,105,75,180,112,82,180,107,78,179,100,73,182,105,78,180,105, +76,174,94,72,174,103,72,180,103,76,177,106,75,169,78,71,179,98,73,180,106,80, +176,98,74,168,77,70,174,99,76,180,103,72,169,96,73,167,84,73,167,95,73,166,101, +72,165,88,67,165,83,67,172,97,70,163,93,71,153,79,65,163,98,69,173,100,75,163, +98,69,151,75,65,172,97,70,175,106,75,172,97,70,169,104,75,175,102,73,172,97,70, +75,78,53,135,141,137,113,123,120,118,126,122,117,123,122,131,138,137,126,128, +119,147,126,110,168,151,125,168,151,125,170,153,126,127,112,99,158,144,124,154, +136,108,93,79,61,50,40,36,119,105,84,96,84,69,140,124,107,94,82,66,101,87,69,98, +85,67,96,82,65,96,83,66,94,85,68,99,87,69,97,85,68,96,84,66,102,88,70,96,85,67, +144,128,108,97,83,71,112,96,77,41,34,29,115,94,78,152,135,117,158,144,124,152, +134,112,147,130,113,180,166,142,186,174,152,172,157,138,125,105,81,135,143,140, +113,123,122,102,114,109,112,119,116,137,145,142,137,118,93,137,118,93,137,118, +93,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,171,159, +103,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171, +159,105,171,161,105,193,185,117,193,185,117,191,183,113,172,97,70,161,91,69,159, +94,71,145,71,63,162,88,68,165,97,71,161,91,69,147,64,53,158,75,52,163,83,51,159, +71,51,176,95,74,180,107,78,180,103,76,179,92,77,173,91,69,184,112,80,181,103,79, +162,74,68,180,107,82,182,109,80,179,109,81,179,92,83,181,110,85,185,108,81,183, +105,81,180,100,82,188,116,84,182,107,80,180,92,78,180,107,82,183,112,81,183,104, +79,165,81,73,179,105,79,180,106,84,179,103,79,165,74,69,177,100,77,178,106,78, +175,88,71,170,83,72,174,104,76,171,100,75,166,91,68,161,82,67,161,96,71,154,88, +68,142,73,62,154,86,68,157,92,69,153,85,65,136,69,60,157,92,69,163,86,71,151,81, +65,151,81,65,153,85,65,172,97,70,136,129,81,108,120,118,85,96,96,85,97,96,100, +109,107,110,119,118,138,118,95,142,124,108,133,122,113,108,97,86,145,121,105, +117,105,95,157,143,124,136,116,95,88,73,59,60,49,41,126,108,90,96,84,68,157,142, +121,98,86,71,57,42,44,75,54,52,87,67,60,90,71,62,89,70,62,89,70,62,89,70,62,72, +53,52,73,61,47,93,80,64,138,122,100,97,81,68,112,96,78,65,54,47,109,90,74,149, +131,111,163,146,126,159,141,115,150,122,100,183,167,141,190,176,154,179,165,145, +134,118,102,127,114,99,88,79,68,103,91,80,157,142,120,151,138,121,137,118,93, 137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93, -137,118,93,171,159,103,171,159,105,171,159,105,171,159,105,171,159,105,171,159, -105,171,159,105,171,159,105,171,161,105,193,185,117,193,185,117,191,183,113,211, -163,95,161,91,69,159,94,71,145,71,63,162,88,68,165,97,71,161,91,69,147,64,53, -158,75,52,163,83,51,159,71,51,176,95,74,180,107,78,180,103,76,179,92,77,173,91, -69,184,112,80,181,103,79,162,74,68,180,107,82,182,109,80,179,109,81,179,92,83, -181,110,85,185,108,81,183,105,81,180,100,82,188,116,84,182,107,80,180,92,78,180, -107,82,183,112,81,183,104,79,165,81,73,179,105,79,180,106,84,179,103,79,165,74, -69,177,100,77,178,106,78,175,88,71,170,83,72,174,104,76,171,100,75,166,91,68, -161,82,67,161,96,71,154,88,68,142,73,62,154,86,68,157,92,69,153,85,65,136,69,60, -157,92,69,163,86,71,151,81,65,151,81,65,153,85,65,252,210,121,136,129,81,108, -120,118,85,96,96,85,97,96,100,109,107,110,119,118,138,118,95,142,124,108,133, -122,113,108,97,86,145,121,105,117,105,95,157,143,124,136,116,95,88,73,59,60,49, -41,126,108,90,96,84,68,157,142,121,98,86,71,57,42,44,75,54,52,87,67,60,90,71,62, -89,70,62,89,70,62,89,70,62,72,53,52,73,61,47,93,80,64,138,122,100,97,81,68,112, -96,78,65,54,47,109,90,74,149,131,111,163,146,126,159,141,115,150,122,100,183, -167,141,190,176,154,179,165,145,134,118,102,127,114,99,88,79,68,103,91,80,157, -142,120,151,138,121,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,137, -118,93,137,118,93,137,118,93,137,118,93,171,159,105,171,159,105,171,159,105,171, -159,105,171,159,105,171,159,105,171,159,105,171,159,105,173,164,105,193,185,117, -193,185,115,191,183,113,180,137,82,136,76,60,142,77,62,134,59,58,142,77,62,145, -82,63,142,77,62,142,64,54,146,68,50,146,67,46,148,67,46,163,94,73,175,93,77,164, -95,74,160,76,68,161,90,71,165,91,71,166,85,72,147,67,67,169,96,73,172,95,74,172, -91,72,172,84,72,176,93,74,179,97,75,174,84,72,175,81,73,182,99,80,175,102,79, -173,78,71,165,92,73,176,98,74,172,89,70,147,63,63,163,89,69,166,96,74,158,84,66, -141,61,61,158,86,66,158,84,66,156,87,68,157,74,63,158,85,68,155,79,67,159,68,61, -158,72,60,151,82,63,137,79,63,128,61,58,135,77,61,137,77,61,128,71,60,112,56,52, -130,75,60,130,71,60,130,65,58,130,65,58,137,77,61,254,210,124,187,179,112,152, -148,126,156,141,121,68,62,58,128,110,88,159,141,114,153,131,103,169,150,131,183, -170,147,181,167,143,179,164,139,128,114,102,157,139,118,146,125,98,82,64,53,58, -46,37,123,106,84,98,86,71,126,113,92,94,82,67,61,42,47,94,76,65,91,75,65,92,75, -65,92,76,66,91,75,65,88,69,62,98,78,66,65,53,43,98,86,71,135,121,100,93,79,68, -120,105,86,69,59,51,103,84,71,147,127,110,166,151,127,163,141,115,145,125,107, -187,169,139,193,178,157,180,166,148,101,95,87,147,130,113,114,100,86,144,129, -112,163,147,125,152,139,122,137,118,93,137,118,93,137,118,93,137,118,93,137,118, -93,137,118,93,137,118,93,137,118,93,171,159,105,171,159,105,171,159,105,171,159, -105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,173,164,105,193, -185,117,191,183,115,191,183,113,225,171,93,161,91,69,157,92,69,161,91,69,163,93, -71,163,93,71,169,92,71,177,96,75,179,106,83,180,104,84,180,104,84,185,103,81, -176,83,74,188,108,84,184,102,80,191,114,87,193,115,91,198,127,92,197,132,93,200, -127,92,206,124,92,206,127,92,204,128,94,200,111,90,197,126,95,197,119,89,197, -112,93,189,97,85,196,119,92,198,122,92,198,123,90,188,97,88,200,130,92,199,126, -91,192,113,86,185,104,85,186,102,82,185,106,81,185,108,81,185,108,81,182,114,80, -182,97,80,180,93,82,182,114,80,185,108,81,185,108,81,175,85,73,189,108,79,184, -110,78,183,105,71,160,70,52,156,68,50,156,68,50,152,72,50,163,93,71,167,95,69, -172,94,70,163,82,69,219,158,93,177,172,109,163,164,134,160,145,124,112,100,88, -128,108,86,162,144,116,158,140,112,168,146,134,190,178,154,190,176,152,185,172, -141,163,149,125,156,140,115,143,122,95,85,68,56,57,45,35,124,107,88,92,78,68, -138,121,104,96,84,68,52,36,45,91,72,64,115,98,81,117,101,81,117,101,83,117,101, -83,117,100,81,143,129,103,73,63,49,97,84,72,139,124,102,95,81,65,123,104,81,68, -57,48,94,76,62,145,126,107,169,154,128,167,150,125,138,124,112,188,171,144,192, -180,158,178,166,146,102,94,78,147,132,113,119,103,81,150,135,116,161,147,125, -152,139,122,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93, 137,118,93,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159, -105,171,159,105,171,159,105,171,159,105,171,159,105,173,164,105,193,185,117,191, -183,115,190,182,112,220,169,96,163,98,69,167,95,69,172,97,70,167,95,69,171,95, -69,181,106,77,182,107,80,182,114,80,186,109,82,191,117,85,186,109,82,179,81,73, -190,117,88,199,133,93,200,127,92,197,112,93,204,137,96,206,137,96,201,129,93, -210,126,96,212,140,96,208,142,94,202,126,96,198,127,96,198,124,88,198,126,94, -192,100,88,199,135,93,204,137,96,201,126,93,194,104,92,204,134,100,205,141,99, -198,126,90,191,113,89,192,119,90,189,115,89,185,108,81,180,109,84,188,113,84, -182,114,80,179,102,81,185,108,81,188,116,88,185,108,81,177,89,77,199,117,81,199, -119,91,187,113,77,166,76,52,164,77,50,164,78,52,162,76,50,167,90,69,175,106,75, -175,102,73,167,95,69,254,213,124,193,185,117,163,164,134,160,145,124,133,116, -101,127,109,85,162,144,118,158,140,116,164,142,130,192,178,154,192,178,156,184, -170,144,156,140,118,157,139,118,135,114,90,81,64,53,65,53,43,125,107,86,96,82, -70,145,131,109,99,88,73,45,32,40,91,72,64,115,100,81,136,122,96,142,129,102,138, -126,100,119,103,83,140,126,99,75,66,51,96,85,70,142,127,105,101,88,73,131,111, -83,57,48,40,78,60,48,145,124,102,170,156,131,168,151,126,145,129,119,192,179, -152,190,178,158,191,179,161,101,91,85,144,127,108,116,98,74,152,136,116,161,147, -125,152,139,122,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,137,118, -93,137,118,93,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171, -159,105,171,159,105,171,159,105,171,159,105,171,161,105,173,164,105,193,185,117, -191,183,115,187,179,111,231,177,99,167,95,69,176,98,70,180,104,74,167,95,69,177, -102,73,189,120,87,188,113,84,185,108,81,186,109,82,195,128,91,188,116,84,179,81, -73,191,117,85,205,140,97,202,132,94,198,122,96,206,137,96,207,143,105,198,127, -96,206,117,90,212,140,96,208,136,96,200,113,90,198,121,90,212,156,110,200,130, -96,191,99,87,199,135,93,204,143,106,201,126,93,195,105,93,203,134,93,206,137, -100,197,126,95,194,118,92,192,117,88,190,116,84,183,104,79,180,105,82,188,113, -84,180,106,84,179,93,81,180,106,84,188,119,92,182,114,80,179,81,73,195,117,83, -192,117,84,187,107,83,173,80,55,172,80,52,161,85,51,151,71,49,162,88,68,180,104, -74,169,96,71,159,94,71,254,205,120,193,185,117,153,157,133,160,145,124,138,122, -102,123,103,83,161,144,117,156,138,114,147,126,119,192,182,156,195,184,159,188, -174,146,168,152,125,158,143,123,143,122,97,79,63,52,64,52,42,124,107,87,89,75, -65,141,126,105,94,81,70,31,18,26,96,78,67,115,100,81,138,126,100,147,133,107, -140,126,100,117,101,83,143,129,101,75,65,51,97,83,67,136,118,97,95,83,66,133, -113,86,71,58,47,90,72,58,147,126,103,172,157,133,165,149,127,163,143,129,192, -180,156,189,177,155,163,145,133,132,122,106,136,119,100,108,92,66,152,137,116, -159,144,125,152,139,122,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93, -137,118,93,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159, -105,171,159,105,171,159,105,171,159,105,171,159,105,171,161,105,193,185,117,193, -185,117,191,183,115,186,178,110,231,180,99,167,95,69,169,95,69,169,94,71,163,98, -69,175,98,71,185,111,85,182,114,80,180,109,84,182,114,80,185,119,87,183,104,79, -165,74,67,184,106,82,192,125,88,194,126,92,192,100,88,195,126,93,195,122,93,192, -107,88,200,113,90,203,134,93,201,136,93,197,109,89,192,119,90,198,127,96,192, -119,90,180,81,76,192,117,88,195,126,93,192,117,88,183,87,79,192,117,88,196,129, -96,191,106,87,185,103,81,184,111,86,181,105,79,166,89,74,169,94,71,180,102,74, -169,94,71,165,85,69,176,93,74,179,109,81,175,102,77,158,71,66,180,107,82,180, -107,82,180,96,70,155,66,45,153,70,53,143,62,43,137,65,43,141,79,65,150,89,68, -141,81,65,135,77,61,237,188,111,193,185,117,153,157,133,158,144,124,143,125,107, -121,104,83,156,140,114,156,139,118,136,122,118,194,184,158,197,186,161,189,175, -147,162,144,123,161,146,125,143,123,103,80,65,53,70,56,47,121,104,83,92,76,66, -143,130,109,100,88,74,32,17,22,91,73,65,115,100,81,122,106,86,133,119,95,125, -113,89,115,100,81,137,125,99,79,67,52,92,76,62,141,123,101,94,79,64,128,113,85, -67,55,44,92,73,58,152,130,106,173,158,134,161,141,119,171,154,135,192,182,156, -188,175,154,167,145,121,148,130,112,131,113,95,91,79,63,155,138,117,156,143,124, -152,139,122,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,171,159,105, -171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159, -105,171,159,105,171,159,105,171,159,105,171,161,105,193,185,117,193,185,117,191, -183,115,186,178,110,192,134,82,135,70,63,139,76,65,139,76,65,130,65,60,149,80, -69,146,68,64,158,76,68,148,68,64,162,74,68,148,68,64,143,67,63,143,67,63,160,76, -70,163,73,69,183,72,69,167,82,73,163,75,69,174,80,72,180,81,76,174,81,76,169,75, -73,180,85,72,163,69,69,185,77,69,169,73,69,163,69,69,161,67,67,176,79,66,157,77, -71,186,96,84,163,69,69,158,75,66,174,77,72,195,107,93,178,77,72,148,68,68,148, -68,64,158,68,66,148,68,64,136,60,60,136,64,64,136,60,60,148,70,64,136,60,60,136, -64,64,136,64,64,143,63,63,145,65,61,180,93,82,141,61,63,154,68,64,130,54,54,110, -40,40,123,55,55,112,54,55,118,54,54,112,54,55,235,185,107,159,152,99,153,157, -133,153,140,121,147,129,111,115,97,81,151,134,111,154,138,114,119,117,107,195, -184,159,198,185,160,190,179,150,155,135,119,163,147,128,146,126,106,81,64,52,62, -50,42,115,98,79,97,83,71,133,120,100,100,88,73,31,22,16,92,75,65,142,129,102, -144,130,104,141,128,101,147,133,107,147,133,107,124,106,83,88,76,61,97,82,66, -137,120,100,95,80,64,131,109,83,67,55,45,98,79,61,155,134,110,170,156,133,160, -140,102,178,165,144,193,182,159,184,173,150,140,121,96,141,122,104,118,102,86, -70,64,58,157,142,121,153,139,121,152,139,122,137,118,93,137,118,93,137,118,93, -137,118,93,171,159,103,171,159,105,171,159,105,171,159,105,171,159,105,171,159, +105,171,159,105,171,159,105,173,164,105,193,185,117,193,185,115,191,183,113,172, +97,70,136,76,60,142,77,62,134,59,58,142,77,62,145,82,63,142,77,62,142,64,54,146, +68,50,146,67,46,148,67,46,163,94,73,175,93,77,164,95,74,160,76,68,161,90,71,165, +91,71,166,85,72,147,67,67,169,96,73,172,95,74,172,91,72,172,84,72,176,93,74,179, +97,75,174,84,72,175,81,73,182,99,80,175,102,79,173,78,71,165,92,73,176,98,74, +172,89,70,147,63,63,163,89,69,166,96,74,158,84,66,141,61,61,158,86,66,158,84,66, +156,87,68,157,74,63,158,85,68,155,79,67,159,68,61,158,72,60,151,82,63,137,79,63, +128,61,58,135,77,61,137,77,61,128,71,60,112,56,52,130,75,60,130,71,60,130,65,58, +130,65,58,137,77,61,172,97,70,187,179,112,152,148,126,156,141,121,68,62,58,128, +110,88,159,141,114,153,131,103,169,150,131,183,170,147,181,167,143,179,164,139, +128,114,102,157,139,118,146,125,98,82,64,53,58,46,37,123,106,84,98,86,71,126, +113,92,94,82,67,61,42,47,94,76,65,91,75,65,92,75,65,92,76,66,91,75,65,88,69,62, +98,78,66,65,53,43,98,86,71,135,121,100,93,79,68,120,105,86,69,59,51,103,84,71, +147,127,110,166,151,127,163,141,115,145,125,107,187,169,139,193,178,157,180,166, +148,101,95,87,147,130,113,114,100,86,144,129,112,163,147,125,152,139,122,137, +118,93,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,137, +118,93,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105, +171,159,105,171,159,105,171,159,105,173,164,105,193,185,117,191,183,115,191,183, +113,172,97,70,161,91,69,157,92,69,161,91,69,163,93,71,163,93,71,169,92,71,177, +96,75,179,106,83,180,104,84,180,104,84,185,103,81,176,83,74,188,108,84,184,102, +80,191,114,87,193,115,91,198,127,92,197,132,93,200,127,92,206,124,92,206,127,92, +204,128,94,200,111,90,197,126,95,197,119,89,197,112,93,189,97,85,196,119,92,198, +122,92,198,123,90,188,97,88,200,130,92,199,126,91,192,113,86,185,104,85,186,102, +82,185,106,81,185,108,81,185,108,81,182,114,80,182,97,80,180,93,82,182,114,80, +185,108,81,185,108,81,175,85,73,189,108,79,184,110,78,183,105,71,160,70,52,156, +68,50,156,68,50,152,72,50,163,93,71,167,95,69,172,94,70,163,82,69,172,97,70,177, +172,109,163,164,134,160,145,124,112,100,88,128,108,86,162,144,116,158,140,112, +168,146,134,190,178,154,190,176,152,185,172,141,163,149,125,156,140,115,143,122, +95,85,68,56,57,45,35,124,107,88,92,78,68,138,121,104,96,84,68,52,36,45,91,72,64, +115,98,81,117,101,81,117,101,83,117,101,83,117,100,81,143,129,103,73,63,49,97, +84,72,139,124,102,95,81,65,123,104,81,68,57,48,94,76,62,145,126,107,169,154,128, +167,150,125,138,124,112,188,171,144,192,180,158,178,166,146,102,94,78,147,132, +113,119,103,81,150,135,116,161,147,125,152,139,122,137,118,93,137,118,93,137, +118,93,137,118,93,137,118,93,137,118,93,137,118,93,171,159,105,171,159,105,171, +159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105, +171,159,105,173,164,105,193,185,117,191,183,115,190,182,112,172,97,70,163,98,69, +167,95,69,172,97,70,167,95,69,171,95,69,181,106,77,182,107,80,182,114,80,186, +109,82,191,117,85,186,109,82,179,81,73,190,117,88,199,133,93,200,127,92,197,112, +93,204,137,96,206,137,96,201,129,93,210,126,96,212,140,96,208,142,94,202,126,96, +198,127,96,198,124,88,198,126,94,192,100,88,199,135,93,204,137,96,201,126,93, +194,104,92,204,134,100,205,141,99,198,126,90,191,113,89,192,119,90,189,115,89, +185,108,81,180,109,84,188,113,84,182,114,80,179,102,81,185,108,81,188,116,88, +185,108,81,177,89,77,199,117,81,199,119,91,187,113,77,166,76,52,164,77,50,164, +78,52,162,76,50,167,90,69,175,106,75,175,102,73,167,95,69,172,97,70,193,185,117, +163,164,134,160,145,124,133,116,101,127,109,85,162,144,118,158,140,116,164,142, +130,192,178,154,192,178,156,184,170,144,156,140,118,157,139,118,135,114,90,81, +64,53,65,53,43,125,107,86,96,82,70,145,131,109,99,88,73,45,32,40,91,72,64,115, +100,81,136,122,96,142,129,102,138,126,100,119,103,83,140,126,99,75,66,51,96,85, +70,142,127,105,101,88,73,131,111,83,57,48,40,78,60,48,145,124,102,170,156,131, +168,151,126,145,129,119,192,179,152,190,178,158,191,179,161,101,91,85,144,127, +108,116,98,74,152,136,116,161,147,125,152,139,122,137,118,93,137,118,93,137,118, +93,137,118,93,137,118,93,137,118,93,137,118,93,171,159,105,171,159,105,171,159, 105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171, -161,105,193,185,117,193,185,117,190,182,114,186,178,110,225,176,99,180,102,74, -175,102,73,154,74,68,176,103,74,182,111,80,189,120,87,185,106,81,202,124,90,202, -128,88,197,120,87,188,114,88,190,112,88,190,114,84,194,118,92,200,130,92,203, -133,95,201,129,93,192,100,88,199,135,93,201,129,93,201,129,93,198,115,90,199, -135,93,199,135,93,199,135,93,195,96,65,195,99,65,195,94,63,195,94,63,198,121,90, -198,127,96,198,121,90,195,105,93,198,121,90,196,125,94,191,118,89,180,86,76,195, -117,83,190,114,84,188,113,84,182,104,80,185,108,81,185,108,81,188,103,84,188, -113,84,188,113,84,185,108,81,183,99,79,185,108,81,185,108,81,179,108,83,164,79, -72,163,93,71,163,93,71,161,91,69,161,80,69,161,91,69,254,213,124,190,182,114, +161,105,173,164,105,193,185,117,191,183,115,187,179,111,172,97,70,167,95,69,176, +98,70,180,104,74,167,95,69,177,102,73,189,120,87,188,113,84,185,108,81,186,109, +82,195,128,91,188,116,84,179,81,73,191,117,85,205,140,97,202,132,94,198,122,96, +206,137,96,207,143,105,198,127,96,206,117,90,212,140,96,208,136,96,200,113,90, +198,121,90,212,156,110,200,130,96,191,99,87,199,135,93,204,143,106,201,126,93, +195,105,93,203,134,93,206,137,100,197,126,95,194,118,92,192,117,88,190,116,84, +183,104,79,180,105,82,188,113,84,180,106,84,179,93,81,180,106,84,188,119,92,182, +114,80,179,81,73,195,117,83,192,117,84,187,107,83,173,80,55,172,80,52,161,85,51, +151,71,49,162,88,68,180,104,74,169,96,71,159,94,71,172,97,70,193,185,117,153, +157,133,160,145,124,138,122,102,123,103,83,161,144,117,156,138,114,147,126,119, +192,182,156,195,184,159,188,174,146,168,152,125,158,143,123,143,122,97,79,63,52, +64,52,42,124,107,87,89,75,65,141,126,105,94,81,70,31,18,26,96,78,67,115,100,81, +138,126,100,147,133,107,140,126,100,117,101,83,143,129,101,75,65,51,97,83,67, +136,118,97,95,83,66,133,113,86,71,58,47,90,72,58,147,126,103,172,157,133,165, +149,127,163,143,129,192,180,156,189,177,155,163,145,133,132,122,106,136,119,100, +108,92,66,152,137,116,159,144,125,152,139,122,137,118,93,137,118,93,137,118,93, +137,118,93,137,118,93,137,118,93,171,159,105,171,159,105,171,159,105,171,159, +105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171, +161,105,193,185,117,193,185,117,191,183,115,186,178,110,172,97,70,167,95,69,169, +95,69,169,94,71,163,98,69,175,98,71,185,111,85,182,114,80,180,109,84,182,114,80, +185,119,87,183,104,79,165,74,67,184,106,82,192,125,88,194,126,92,192,100,88,195, +126,93,195,122,93,192,107,88,200,113,90,203,134,93,201,136,93,197,109,89,192, +119,90,198,127,96,192,119,90,180,81,76,192,117,88,195,126,93,192,117,88,183,87, +79,192,117,88,196,129,96,191,106,87,185,103,81,184,111,86,181,105,79,166,89,74, +169,94,71,180,102,74,169,94,71,165,85,69,176,93,74,179,109,81,175,102,77,158,71, +66,180,107,82,180,107,82,180,96,70,155,66,45,153,70,53,143,62,43,137,65,43,141, +79,65,150,89,68,141,81,65,135,77,61,172,97,70,193,185,117,153,157,133,158,144, +124,143,125,107,121,104,83,156,140,114,156,139,118,136,122,118,194,184,158,197, +186,161,189,175,147,162,144,123,161,146,125,143,123,103,80,65,53,70,56,47,121, +104,83,92,76,66,143,130,109,100,88,74,32,17,22,91,73,65,115,100,81,122,106,86, +133,119,95,125,113,89,115,100,81,137,125,99,79,67,52,92,76,62,141,123,101,94,79, +64,128,113,85,67,55,44,92,73,58,152,130,106,173,158,134,161,141,119,171,154,135, +192,182,156,188,175,154,167,145,121,148,130,112,131,113,95,91,79,63,155,138,117, +156,143,124,152,139,122,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93, +171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159, +105,171,159,105,171,159,105,171,159,105,171,159,105,171,161,105,193,185,117,193, +185,117,191,183,115,186,178,110,172,97,70,135,70,63,139,76,65,139,76,65,130,65, +60,149,80,69,146,68,64,158,76,68,148,68,64,162,74,68,148,68,64,143,67,63,143,67, +63,160,76,70,163,73,69,183,72,69,167,82,73,163,75,69,174,80,72,180,81,76,174,81, +76,169,75,73,180,85,72,163,69,69,185,77,69,169,73,69,163,69,69,161,67,67,176,79, +66,157,77,71,186,96,84,163,69,69,158,75,66,174,77,72,195,107,93,178,77,72,148, +68,68,148,68,64,158,68,66,148,68,64,136,60,60,136,64,64,136,60,60,148,70,64,136, +60,60,136,64,64,136,64,64,143,63,63,145,65,61,180,93,82,141,61,63,154,68,64,130, +54,54,110,40,40,123,55,55,112,54,55,118,54,54,112,54,55,172,97,70,159,152,99, +153,157,133,153,140,121,147,129,111,115,97,81,151,134,111,154,138,114,119,117, +107,195,184,159,198,185,160,190,179,150,155,135,119,163,147,128,146,126,106,81, +64,52,62,50,42,115,98,79,97,83,71,133,120,100,100,88,73,31,22,16,92,75,65,142, +129,102,144,130,104,141,128,101,147,133,107,147,133,107,124,106,83,88,76,61,97, +82,66,137,120,100,95,80,64,131,109,83,67,55,45,98,79,61,155,134,110,170,156,133, +160,140,102,178,165,144,193,182,159,184,173,150,140,121,96,141,122,104,118,102, +86,70,64,58,157,142,121,153,139,121,152,139,122,137,118,93,137,118,93,137,118, +93,137,118,93,171,159,103,171,159,105,171,159,105,171,159,105,171,159,105,171, +159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105, +171,161,105,193,185,117,193,185,117,190,182,114,186,178,110,172,97,70,180,102, +74,175,102,73,154,74,68,176,103,74,182,111,80,189,120,87,185,106,81,202,124,90, +202,128,88,197,120,87,188,114,88,190,112,88,190,114,84,194,118,92,200,130,92, +203,133,95,201,129,93,192,100,88,199,135,93,201,129,93,201,129,93,198,115,90, +199,135,93,199,135,93,199,135,93,195,96,65,195,99,65,195,94,63,195,94,63,198, +121,90,198,127,96,198,121,90,195,105,93,198,121,90,196,125,94,191,118,89,180,86, +76,195,117,83,190,114,84,188,113,84,182,104,80,185,108,81,185,108,81,188,103,84, +188,113,84,188,113,84,185,108,81,183,99,79,185,108,81,185,108,81,179,108,83,164, +79,72,163,93,71,163,93,71,161,91,69,161,80,69,161,91,69,172,97,70,190,182,114, 150,154,130,142,130,114,144,129,110,101,87,74,143,123,98,148,131,111,147,123, 109,191,178,153,197,184,157,191,178,153,144,126,116,167,155,137,156,138,118,82, 65,52,64,51,41,104,91,74,98,84,71,124,109,90,107,95,80,49,39,26,112,94,76,117, @@ -1538,7 +1537,7 @@ uint8_t houseTexture[49152] = { 122,122,117,122,122,135,146,145,151,157,156,137,118,93,137,118,93,137,118,93, 137,118,93,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159, 105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171, -159,105,193,185,117,193,185,117,191,183,115,184,175,110,225,171,93,185,109,79, +159,105,193,185,117,193,185,117,191,183,115,184,175,110,172,97,70,185,109,79, 173,100,75,153,71,65,172,97,74,186,114,82,186,108,84,188,113,84,204,127,90,208, 130,92,200,117,88,188,113,84,193,123,89,191,125,89,191,117,85,196,125,90,203, 139,97,199,126,91,190,98,86,198,121,90,204,134,96,197,122,93,197,110,93,198,127, @@ -1546,60 +1545,60 @@ uint8_t houseTexture[49152] = { 202,138,96,200,121,90,186,96,84,197,121,91,198,124,92,187,109,85,178,89,72,190, 114,84,199,117,85,190,114,84,183,99,79,188,113,84,188,113,84,182,97,80,188,113, 84,191,122,89,188,113,84,179,90,81,185,108,81,193,123,89,179,108,83,153,81,65, -163,89,69,163,93,71,157,92,69,157,77,69,161,91,69,254,213,124,188,180,112,115, -118,99,125,131,130,113,123,122,137,138,139,156,156,156,170,169,167,161,145,98, -179,162,139,192,179,154,192,178,154,117,105,95,170,156,135,152,135,114,95,77,63, -62,50,42,97,84,68,108,93,79,121,104,86,117,104,84,66,56,41,114,95,77,91,73,65, -91,73,65,91,73,65,91,73,65,144,155,177,109,92,75,86,75,60,103,87,72,134,116,96, -113,99,77,97,80,61,67,53,44,116,94,75,165,147,126,173,160,139,143,129,125,184, -173,154,188,177,156,165,148,134,168,169,170,155,161,160,134,142,140,120,128,125, -113,122,121,144,150,148,149,156,155,137,118,93,137,118,93,137,118,93,171,159, -105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171, -159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,176,165,104, -193,185,117,193,185,117,191,183,115,184,175,110,207,160,93,175,104,73,169,94,71, -151,73,65,167,95,69,176,100,74,180,103,76,184,101,78,197,115,83,199,117,85,188, -113,84,182,114,80,188,116,84,180,106,84,180,105,82,179,110,83,187,115,87,183, -110,85,174,77,72,187,111,85,193,122,91,188,116,88,190,98,86,195,120,91,197,122, -93,194,121,92,189,96,63,195,96,65,191,99,63,189,96,63,192,119,90,198,121,90,194, -125,92,181,86,79,188,116,88,189,117,89,180,93,76,165,78,63,185,113,81,186,109, -78,184,106,78,175,93,77,180,105,82,179,109,81,177,89,77,177,100,77,180,106,84, -177,100,77,165,85,69,179,98,73,179,104,81,166,91,68,139,63,61,145,82,63,151,81, -65,142,77,62,140,66,60,141,79,65,254,201,118,189,181,113,96,99,84,128,135,131, -119,131,124,130,135,131,154,162,160,163,170,167,118,102,85,168,146,128,189,175, -149,188,175,154,134,118,104,169,155,135,150,135,116,98,80,64,46,36,30,86,72,59, -117,102,84,121,105,86,106,94,78,89,77,62,112,93,75,74,57,56,117,101,83,120,103, -84,119,103,83,115,98,81,104,86,73,90,77,63,105,92,75,137,119,96,128,110,85,93, -77,61,71,57,48,127,108,89,164,150,130,162,147,128,152,129,102,103,94,91,156,138, -130,149,133,124,132,139,140,129,133,133,94,100,100,121,129,126,122,129,128,146, -153,149,152,158,156,137,118,93,137,118,93,155,141,97,171,159,105,171,159,105, +163,89,69,163,93,71,157,92,69,157,77,69,161,91,69,172,97,70,188,180,112,115,118, +99,125,131,130,113,123,122,137,138,139,156,156,156,170,169,167,161,145,98,179, +162,139,192,179,154,192,178,154,117,105,95,170,156,135,152,135,114,95,77,63,62, +50,42,97,84,68,108,93,79,121,104,86,117,104,84,66,56,41,114,95,77,91,73,65,91, +73,65,91,73,65,91,73,65,144,155,177,109,92,75,86,75,60,103,87,72,134,116,96,113, +99,77,97,80,61,67,53,44,116,94,75,165,147,126,173,160,139,143,129,125,184,173, +154,188,177,156,165,148,134,168,169,170,155,161,160,134,142,140,120,128,125,113, +122,121,144,150,148,149,156,155,137,118,93,137,118,93,137,118,93,171,159,105, 171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159, -105,171,159,105,171,159,105,171,159,105,171,159,105,189,179,109,193,185,117,193, -185,117,191,183,117,186,178,112,182,145,82,139,76,65,142,80,66,130,61,58,139,76, -65,144,77,66,151,81,69,165,83,69,174,82,70,177,96,71,173,85,67,162,93,74,164,93, -74,156,88,70,158,87,68,156,78,68,161,88,69,153,85,65,139,61,61,156,87,66,165,89, -69,165,93,71,166,79,72,169,95,75,176,94,72,174,91,72,157,66,45,170,81,50,170,83, -62,161,75,49,177,96,75,180,105,76,175,92,73,148,72,64,172,79,66,162,91,72,160, -87,68,136,67,64,158,87,68,158,87,68,156,87,68,158,87,68,156,88,70,158,87,68,156, -78,68,158,87,68,156,88,70,156,87,68,136,64,64,156,87,68,158,86,66,138,80,62,119, -57,57,126,64,58,126,63,58,130,61,58,130,70,60,137,77,61,238,185,110,187,179,110, -72,75,60,123,129,126,116,124,120,115,124,121,121,128,127,133,140,138,101,85,65, -157,137,121,186,171,146,194,182,160,173,155,133,163,147,131,155,139,117,104,86, -68,52,40,33,95,83,65,125,108,88,113,97,78,113,97,78,91,81,63,109,93,75,73,55,54, +105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,176,165,104,193, +185,117,193,185,117,191,183,115,184,175,110,172,97,70,175,104,73,169,94,71,151, +73,65,167,95,69,176,100,74,180,103,76,184,101,78,197,115,83,199,117,85,188,113, +84,182,114,80,188,116,84,180,106,84,180,105,82,179,110,83,187,115,87,183,110,85, +174,77,72,187,111,85,193,122,91,188,116,88,190,98,86,195,120,91,197,122,93,194, +121,92,189,96,63,195,96,65,191,99,63,189,96,63,192,119,90,198,121,90,194,125,92, +181,86,79,188,116,88,189,117,89,180,93,76,165,78,63,185,113,81,186,109,78,184, +106,78,175,93,77,180,105,82,179,109,81,177,89,77,177,100,77,180,106,84,177,100, +77,165,85,69,179,98,73,179,104,81,166,91,68,139,63,61,145,82,63,151,81,65,142, +77,62,140,66,60,141,79,65,172,97,70,189,181,113,96,99,84,128,135,131,119,131, +124,130,135,131,154,162,160,163,170,167,118,102,85,168,146,128,189,175,149,188, +175,154,134,118,104,169,155,135,150,135,116,98,80,64,46,36,30,86,72,59,117,102, +84,121,105,86,106,94,78,89,77,62,112,93,75,74,57,56,117,101,83,120,103,84,119, +103,83,115,98,81,104,86,73,90,77,63,105,92,75,137,119,96,128,110,85,93,77,61,71, +57,48,127,108,89,164,150,130,162,147,128,152,129,102,103,94,91,156,138,130,149, +133,124,132,139,140,129,133,133,94,100,100,121,129,126,122,129,128,146,153,149, +152,158,156,137,118,93,137,118,93,155,141,97,171,159,105,171,159,105,171,159, +105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171, +159,105,171,159,105,171,159,105,171,159,105,189,179,109,193,185,117,193,185,117, +191,183,117,186,178,112,172,97,70,139,76,65,142,80,66,130,61,58,139,76,65,144, +77,66,151,81,69,165,83,69,174,82,70,177,96,71,173,85,67,162,93,74,164,93,74,156, +88,70,158,87,68,156,78,68,161,88,69,153,85,65,139,61,61,156,87,66,165,89,69,165, +93,71,166,79,72,169,95,75,176,94,72,174,91,72,157,66,45,170,81,50,170,83,62,161, +75,49,177,96,75,180,105,76,175,92,73,148,72,64,172,79,66,162,91,72,160,87,68, +136,67,64,158,87,68,158,87,68,156,87,68,158,87,68,156,88,70,158,87,68,156,78,68, +158,87,68,156,88,70,156,87,68,136,64,64,156,87,68,158,86,66,138,80,62,119,57,57, +126,64,58,126,63,58,130,61,58,130,70,60,137,77,61,172,97,70,187,179,110,72,75, +60,123,129,126,116,124,120,115,124,121,121,128,127,133,140,138,101,85,65,157, +137,121,186,171,146,194,182,160,173,155,133,163,147,131,155,139,117,104,86,68, +52,40,33,95,83,65,125,108,88,113,97,78,113,97,78,91,81,63,109,93,75,73,55,54, 136,122,96,146,132,104,137,123,97,115,100,81,104,86,73,92,79,64,110,98,80,133, 116,94,138,121,95,91,77,59,68,53,47,130,111,94,164,148,128,146,126,112,159,144, 126,169,155,135,162,147,130,139,120,105,103,95,84,143,150,149,119,126,126,107, 113,112,115,123,121,137,146,142,144,151,149,137,118,93,137,118,93,171,159,105, 171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159, 105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,193, -185,117,193,185,117,193,185,117,191,183,117,188,178,112,238,182,102,163,98,69, -163,98,69,172,97,70,172,97,70,167,85,69,172,92,70,181,97,75,179,88,79,182,114, -80,183,99,79,182,102,80,179,81,73,185,103,81,183,99,79,182,104,80,180,104,84, -180,104,84,183,99,79,183,99,79,183,98,81,183,98,81,189,104,85,179,92,83,191,117, -85,185,106,81,189,114,85,180,90,78,190,115,86,191,106,87,189,106,87,188,112,88, -187,102,85,188,103,84,184,100,84,186,100,80,185,106,81,188,114,88,188,113,84, -188,113,84,188,113,84,188,114,88,177,84,77,188,114,88,188,114,88,188,113,84,182, -97,80,188,113,84,188,113,84,185,103,81,180,102,78,154,78,60,145,78,55,167,95,69, -185,105,77,182,107,80,194,114,82,159,90,71,225,172,97,164,157,101,79,81,67,100, +185,117,193,185,117,193,185,117,191,183,117,188,178,112,173,98,70,163,98,69,163, +98,69,172,97,70,172,97,70,167,85,69,172,92,70,181,97,75,179,88,79,182,114,80, +183,99,79,182,102,80,179,81,73,185,103,81,183,99,79,182,104,80,180,104,84,180, +104,84,183,99,79,183,99,79,183,98,81,183,98,81,189,104,85,179,92,83,191,117,85, +185,106,81,189,114,85,180,90,78,190,115,86,191,106,87,189,106,87,188,112,88,187, +102,85,188,103,84,184,100,84,186,100,80,185,106,81,188,114,88,188,113,84,188, +113,84,188,113,84,188,114,88,177,84,77,188,114,88,188,114,88,188,113,84,182,97, +80,188,113,84,188,113,84,185,103,81,180,102,78,154,78,60,145,78,55,167,95,69, +185,105,77,182,107,80,194,114,82,159,90,71,172,97,70,164,157,101,79,81,67,100, 112,110,82,94,91,88,101,99,111,119,120,107,112,110,90,79,68,144,127,114,184,168, 148,188,175,154,180,165,128,152,133,122,156,141,122,109,94,79,64,51,38,80,68,52, 124,108,88,110,95,76,123,105,83,89,79,65,108,90,74,73,56,55,134,120,96,147,133, @@ -1609,627 +1608,627 @@ uint8_t houseTexture[49152] = { 151,138,121,152,139,122,137,118,93,171,159,105,171,159,105,171,159,105,171,159, 105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171, 159,105,171,159,105,171,159,105,173,164,105,193,185,117,193,185,117,193,185,117, -193,185,117,191,183,117,191,183,113,250,201,116,163,98,69,172,97,74,172,97,70, -167,95,69,167,95,69,176,100,74,169,101,71,176,93,74,179,106,81,187,111,81,182, -114,80,178,88,78,182,111,80,188,112,82,179,106,81,179,106,81,180,110,76,180,111, -80,178,104,78,180,99,76,186,115,84,184,110,84,182,94,79,186,111,86,190,119,86, -188,113,84,179,84,77,189,113,83,194,127,90,187,109,81,186,102,82,189,113,83,188, -116,88,185,101,81,188,113,84,191,122,89,190,121,88,188,111,88,188,114,88,195, -123,91,188,114,88,177,84,77,191,122,85,197,126,91,188,114,88,188,103,84,188,114, -88,190,120,86,184,110,80,172,94,70,192,121,90,161,89,67,172,97,70,183,101,79, -191,111,79,188,108,80,153,90,71,225,172,97,191,183,113,124,127,103,144,131,115, -141,129,113,56,53,48,100,82,66,123,102,86,129,112,91,148,125,98,187,171,149,190, -179,156,182,168,134,145,128,117,159,145,126,128,110,92,78,60,46,71,59,48,120, -103,83,113,96,78,113,99,79,91,79,65,100,79,68,81,63,59,117,101,83,123,111,89, -119,103,83,102,83,72,96,78,66,90,78,62,127,112,95,117,103,83,133,117,92,74,58, -48,96,78,66,147,126,109,154,137,119,129,109,87,160,140,118,171,156,137,171,155, -135,155,129,99,143,124,101,142,126,106,124,104,68,139,126,111,151,138,121,152, -139,122,152,139,122,137,118,93,171,159,105,171,159,105,171,159,105,171,159,105, +193,185,117,191,183,117,191,183,113,173,98,70,163,98,69,172,97,74,172,97,70,167, +95,69,167,95,69,176,100,74,169,101,71,176,93,74,179,106,81,187,111,81,182,114, +80,178,88,78,182,111,80,188,112,82,179,106,81,179,106,81,180,110,76,180,111,80, +178,104,78,180,99,76,186,115,84,184,110,84,182,94,79,186,111,86,190,119,86,188, +113,84,179,84,77,189,113,83,194,127,90,187,109,81,186,102,82,189,113,83,188,116, +88,185,101,81,188,113,84,191,122,89,190,121,88,188,111,88,188,114,88,195,123,91, +188,114,88,177,84,77,191,122,85,197,126,91,188,114,88,188,103,84,188,114,88,190, +120,86,184,110,80,172,94,70,192,121,90,161,89,67,172,97,70,183,101,79,191,111, +79,188,108,80,153,90,71,172,97,70,191,183,113,124,127,103,144,131,115,141,129, +113,56,53,48,100,82,66,123,102,86,129,112,91,148,125,98,187,171,149,190,179,156, +182,168,134,145,128,117,159,145,126,128,110,92,78,60,46,71,59,48,120,103,83,113, +96,78,113,99,79,91,79,65,100,79,68,81,63,59,117,101,83,123,111,89,119,103,83, +102,83,72,96,78,66,90,78,62,127,112,95,117,103,83,133,117,92,74,58,48,96,78,66, +147,126,109,154,137,119,129,109,87,160,140,118,171,156,137,171,155,135,155,129, +99,143,124,101,142,126,106,124,104,68,139,126,111,151,138,121,152,139,122,152, +139,122,137,118,93,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105, 171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159, -105,171,159,105,180,171,110,193,185,117,193,185,117,193,185,117,193,185,117,193, -185,117,193,185,117,191,183,113,254,212,120,167,95,69,175,102,73,175,106,75,163, -98,69,163,98,69,173,98,71,163,93,71,161,79,71,173,93,71,180,107,82,175,97,73, -166,79,72,173,98,75,179,104,75,168,90,72,167,95,73,174,103,72,179,103,73,167,94, -72,170,92,72,182,109,79,180,106,77,175,90,73,182,107,78,187,117,85,182,105,78, -175,81,71,187,111,81,192,122,88,182,111,80,180,104,84,190,115,86,194,127,90,180, -104,84,185,108,81,191,122,89,191,122,85,185,106,81,185,119,87,195,125,91,185, -119,87,179,81,73,188,116,88,195,128,91,184,110,80,179,103,83,189,120,87,186,119, -86,174,106,76,165,90,67,179,104,75,175,106,75,162,88,68,185,99,73,194,111,82, -186,99,68,154,84,68,220,169,96,191,183,113,138,146,112,156,148,124,151,138,121, -69,63,55,107,91,75,137,120,95,131,114,93,132,113,90,187,172,153,191,179,159,181, -167,135,141,123,115,161,147,129,132,116,99,94,75,53,66,52,43,127,112,88,115,99, -80,120,105,85,91,79,64,97,78,67,146,132,106,147,133,107,147,133,107,147,133,107, -147,133,107,83,63,59,95,81,64,144,130,108,112,100,81,119,103,82,60,48,40,105,86, -69,152,134,112,146,131,112,103,89,77,153,135,113,173,157,135,166,149,128,152, -126,90,145,125,101,147,129,111,114,96,70,139,126,111,151,138,121,152,139,122, -152,139,122,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159, -105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,161,105,180, -171,110,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117, -193,185,117,191,183,115,254,212,122,163,98,69,169,104,75,172,97,70,161,86,69, -162,88,68,163,93,71,157,92,69,153,73,65,159,94,69,162,95,72,155,89,69,144,66,62, -151,79,65,153,79,65,145,82,63,145,82,63,154,88,68,151,83,65,151,79,65,154,85,68, -163,92,70,166,88,67,156,74,66,168,90,70,169,100,70,168,95,72,150,69,62,170,101, -74,175,99,75,170,97,74,172,80,70,174,104,76,176,104,76,173,98,75,177,105,77,178, -110,80,174,102,80,172,94,76,173,100,77,178,106,78,172,101,76,159,64,61,172,101, -76,177,105,77,169,99,75,167,83,69,162,95,72,157,90,69,151,88,69,149,80,67,153, -94,71,134,74,58,145,83,69,157,86,69,166,96,72,153,83,65,120,61,52,211,165,93, -191,183,113,172,173,119,129,122,93,120,108,91,60,51,43,106,92,74,139,121,98,131, -115,93,131,116,86,173,164,139,179,168,149,165,152,126,127,111,102,149,137,119, -133,116,98,83,68,54,63,50,41,105,89,71,106,90,75,120,106,85,92,82,68,87,69,62, -111,94,77,113,95,77,113,96,79,116,97,80,113,96,78,52,39,46,94,83,68,145,132,109, -109,97,78,102,89,73,49,43,39,101,85,71,141,126,107,137,121,101,104,83,74,135, -117,98,148,134,114,139,124,105,129,107,80,139,123,102,137,118,100,101,84,56,103, -87,68,115,98,82,145,132,115,152,139,122,171,159,105,171,159,105,171,159,105,171, +105,180,171,110,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,193, +185,117,191,183,113,172,97,70,167,95,69,175,102,73,175,106,75,163,98,69,163,98, +69,173,98,71,163,93,71,161,79,71,173,93,71,180,107,82,175,97,73,166,79,72,173, +98,75,179,104,75,168,90,72,167,95,73,174,103,72,179,103,73,167,94,72,170,92,72, +182,109,79,180,106,77,175,90,73,182,107,78,187,117,85,182,105,78,175,81,71,187, +111,81,192,122,88,182,111,80,180,104,84,190,115,86,194,127,90,180,104,84,185, +108,81,191,122,89,191,122,85,185,106,81,185,119,87,195,125,91,185,119,87,179,81, +73,188,116,88,195,128,91,184,110,80,179,103,83,189,120,87,186,119,86,174,106,76, +165,90,67,179,104,75,175,106,75,162,88,68,185,99,73,194,111,82,186,99,68,154,84, +68,172,97,70,191,183,113,138,146,112,156,148,124,151,138,121,69,63,55,107,91,75, +137,120,95,131,114,93,132,113,90,187,172,153,191,179,159,181,167,135,141,123, +115,161,147,129,132,116,99,94,75,53,66,52,43,127,112,88,115,99,80,120,105,85,91, +79,64,97,78,67,146,132,106,147,133,107,147,133,107,147,133,107,147,133,107,83, +63,59,95,81,64,144,130,108,112,100,81,119,103,82,60,48,40,105,86,69,152,134,112, +146,131,112,103,89,77,153,135,113,173,157,135,166,149,128,152,126,90,145,125, +101,147,129,111,114,96,70,139,126,111,151,138,121,152,139,122,152,139,122,171, 159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105, -180,171,110,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,193,185, -117,193,185,117,193,185,117,193,185,117,191,183,117,211,154,93,139,76,65,137,77, -61,139,76,65,123,55,56,136,69,60,124,54,55,126,58,58,123,55,55,140,62,56,126,58, -58,123,55,55,119,57,57,123,55,55,126,64,58,130,61,58,125,60,57,112,54,55,126,63, -58,130,61,58,131,69,60,124,55,55,127,58,58,120,57,57,136,63,60,130,61,58,125,60, -57,125,55,55,131,62,59,137,61,59,160,73,66,131,61,59,123,59,59,140,71,62,167,84, -73,145,71,63,120,63,56,119,64,57,139,66,61,139,66,61,121,57,58,127,57,57,131,59, -57,131,62,59,123,59,59,130,61,58,122,64,58,114,55,54,130,70,58,161,86,69,130,61, -58,139,61,55,118,54,54,118,54,54,123,55,55,112,54,55,123,55,55,118,54,54,201, -154,93,156,151,98,62,51,38,127,112,93,107,89,71,103,84,68,102,86,66,110,93,72, -114,102,82,118,106,86,118,101,82,121,107,88,121,104,88,118,102,87,114,97,80,95, -81,66,92,76,62,46,37,31,109,97,77,113,98,78,123,106,86,93,80,65,71,55,54,86,68, -62,83,65,61,77,59,57,75,58,57,75,58,57,49,36,40,93,82,69,148,133,110,117,104,85, -73,62,47,106,89,68,110,95,71,120,106,81,128,114,92,126,112,91,130,115,94,132, -113,93,129,112,91,122,108,91,118,104,87,107,93,77,79,66,55,54,45,36,34,29,24,16, -15,13,151,138,121,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105, -171,159,105,171,159,105,171,159,105,171,159,105,193,185,117,193,185,117,193,185, +171,159,105,171,159,105,171,159,105,171,159,105,171,161,105,180,171,110,193,185, +117,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,191, +183,115,172,97,70,163,98,69,169,104,75,172,97,70,161,86,69,162,88,68,163,93,71, +157,92,69,153,73,65,159,94,69,162,95,72,155,89,69,144,66,62,151,79,65,153,79,65, +145,82,63,145,82,63,154,88,68,151,83,65,151,79,65,154,85,68,163,92,70,166,88,67, +156,74,66,168,90,70,169,100,70,168,95,72,150,69,62,170,101,74,175,99,75,170,97, +74,172,80,70,174,104,76,176,104,76,173,98,75,177,105,77,178,110,80,174,102,80, +172,94,76,173,100,77,178,106,78,172,101,76,159,64,61,172,101,76,177,105,77,169, +99,75,167,83,69,162,95,72,157,90,69,151,88,69,149,80,67,153,94,71,134,74,58,145, +83,69,157,86,69,166,96,72,153,83,65,120,61,52,172,97,70,191,183,113,172,173,119, +129,122,93,120,108,91,60,51,43,106,92,74,139,121,98,131,115,93,131,116,86,173, +164,139,179,168,149,165,152,126,127,111,102,149,137,119,133,116,98,83,68,54,63, +50,41,105,89,71,106,90,75,120,106,85,92,82,68,87,69,62,111,94,77,113,95,77,113, +96,79,116,97,80,113,96,78,52,39,46,94,83,68,145,132,109,109,97,78,102,89,73,49, +43,39,101,85,71,141,126,107,137,121,101,104,83,74,135,117,98,148,134,114,139, +124,105,129,107,80,139,123,102,137,118,100,101,84,56,103,87,68,115,98,82,145, +132,115,152,139,122,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105, +171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,180,171,110,193,185, 117,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,193, -185,117,193,185,117,186,178,112,254,212,122,173,100,75,175,102,73,156,74,68,165, -82,53,159,81,53,156,70,50,162,85,68,162,88,68,167,88,67,162,88,68,173,88,65,179, -91,67,176,94,68,161,75,69,162,88,68,163,89,69,162,88,68,153,71,65,162,88,68,162, -88,68,162,88,68,163,93,71,163,93,71,167,97,69,163,88,71,163,93,71,165,97,71,163, -93,71,161,82,69,167,97,69,167,97,69,163,98,69,153,71,65,167,95,69,172,97,70,168, -94,68,165,86,67,170,95,72,170,95,72,175,98,71,168,95,70,173,100,75,176,98,70, -167,85,69,172,94,70,173,98,71,167,95,69,145,79,63,172,97,70,169,89,71,172,92,70, -163,82,69,172,97,70,173,100,75,167,90,69,172,97,70,172,97,70,241,191,113,181, -174,109,59,48,40,118,104,87,102,86,68,103,87,68,106,89,71,122,103,84,134,119,99, -138,121,102,139,123,102,140,123,103,134,117,101,128,113,95,121,105,87,105,90,72, -100,83,65,22,21,17,106,93,73,108,95,75,110,95,75,107,92,75,109,92,74,125,112,91, -125,112,91,125,112,91,125,112,89,119,103,83,117,105,87,106,94,80,129,115,95,114, -101,79,57,46,35,139,117,87,143,120,91,153,133,106,159,142,115,158,142,116,157, -141,117,160,144,119,159,141,115,155,136,109,144,127,100,124,105,83,95,78,61,77, -63,49,56,45,37,43,38,30,152,139,122,171,159,105,171,159,105,171,159,105,171,159, -105,171,159,105,171,159,105,171,159,105,193,185,117,193,185,117,193,185,117,193, +185,117,193,185,117,191,183,117,172,97,70,139,76,65,137,77,61,139,76,65,123,55, +56,136,69,60,124,54,55,126,58,58,123,55,55,140,62,56,126,58,58,123,55,55,119,57, +57,123,55,55,126,64,58,130,61,58,125,60,57,112,54,55,126,63,58,130,61,58,131,69, +60,124,55,55,127,58,58,120,57,57,136,63,60,130,61,58,125,60,57,125,55,55,131,62, +59,137,61,59,160,73,66,131,61,59,123,59,59,140,71,62,167,84,73,145,71,63,120,63, +56,119,64,57,139,66,61,139,66,61,121,57,58,127,57,57,131,59,57,131,62,59,123,59, +59,130,61,58,122,64,58,114,55,54,130,70,58,161,86,69,130,61,58,139,61,55,118,54, +54,118,54,54,123,55,55,112,54,55,123,55,55,118,54,54,172,97,70,156,151,98,62,51, +38,127,112,93,107,89,71,103,84,68,102,86,66,110,93,72,114,102,82,118,106,86,118, +101,82,121,107,88,121,104,88,118,102,87,114,97,80,95,81,66,92,76,62,46,37,31, +109,97,77,113,98,78,123,106,86,93,80,65,71,55,54,86,68,62,83,65,61,77,59,57,75, +58,57,75,58,57,49,36,40,93,82,69,148,133,110,117,104,85,73,62,47,106,89,68,110, +95,71,120,106,81,128,114,92,126,112,91,130,115,94,132,113,93,129,112,91,122,108, +91,118,104,87,107,93,77,79,66,55,54,45,36,34,29,24,16,15,13,151,138,121,171,159, +105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171, +159,105,171,159,105,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117, +193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,186,178, +112,172,97,70,173,100,75,175,102,73,156,74,68,165,82,53,159,81,53,156,70,50,162, +85,68,162,88,68,167,88,67,162,88,68,173,88,65,179,91,67,176,94,68,161,75,69,162, +88,68,163,89,69,162,88,68,153,71,65,162,88,68,162,88,68,162,88,68,163,93,71,163, +93,71,167,97,69,163,88,71,163,93,71,165,97,71,163,93,71,161,82,69,167,97,69,167, +97,69,163,98,69,153,71,65,167,95,69,172,97,70,168,94,68,165,86,67,170,95,72,170, +95,72,175,98,71,168,95,70,173,100,75,176,98,70,167,85,69,172,94,70,173,98,71, +167,95,69,145,79,63,172,97,70,169,89,71,172,92,70,163,82,69,172,97,70,173,100, +75,167,90,69,172,97,70,172,97,70,172,97,70,181,174,109,59,48,40,118,104,87,102, +86,68,103,87,68,106,89,71,122,103,84,134,119,99,138,121,102,139,123,102,140,123, +103,134,117,101,128,113,95,121,105,87,105,90,72,100,83,65,22,21,17,106,93,73, +108,95,75,110,95,75,107,92,75,109,92,74,125,112,91,125,112,91,125,112,91,125, +112,89,119,103,83,117,105,87,106,94,80,129,115,95,114,101,79,57,46,35,139,117, +87,143,120,91,153,133,106,159,142,115,158,142,116,157,141,117,160,144,119,159, +141,115,155,136,109,144,127,100,124,105,83,95,78,61,77,63,49,56,45,37,43,38,30, +152,139,122,171,159,105,171,159,105,171,159,105,171,159,105,171,159,105,171,159, +105,171,159,105,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,193, 185,117,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117, -193,185,117,193,185,117,193,185,117,189,179,113,254,206,122,175,106,75,169,104, -75,148,73,56,165,82,53,170,91,56,154,74,52,162,85,68,163,98,69,163,98,69,161,86, -69,168,94,68,182,102,70,169,90,69,151,77,63,157,92,69,163,89,69,161,91,69,145, -71,63,161,91,69,163,93,71,157,92,69,157,92,69,162,88,68,167,97,69,162,85,68,162, -88,68,172,97,70,163,89,69,157,77,69,163,89,69,169,94,71,163,93,71,141,74,65,163, -93,71,165,97,71,163,93,71,161,80,69,165,97,71,172,97,70,163,93,71,162,88,68,165, -97,71,165,97,71,163,88,71,162,88,68,173,98,71,163,98,69,140,66,60,162,88,68,169, -94,71,162,88,68,157,77,69,163,93,71,173,98,71,163,88,71,163,98,69,172,97,74,237, -188,111,178,172,108,66,52,43,102,90,74,109,90,72,119,103,78,122,104,81,137,119, -96,153,135,112,163,144,122,168,152,129,173,155,129,165,148,125,157,138,115,151, -132,107,137,117,93,130,107,80,113,91,67,91,76,61,123,109,87,114,100,80,119,106, -85,125,111,91,123,114,94,123,114,94,123,114,94,123,114,94,122,113,93,121,112,92, -115,102,84,125,108,91,120,106,87,55,45,35,160,132,99,167,142,110,173,152,122, -171,150,121,178,156,128,183,163,138,185,164,137,178,159,132,168,148,121,156,135, -111,138,119,96,100,81,61,83,68,51,68,54,41,48,39,32,152,139,122,171,159,105,171, -159,105,171,159,105,171,159,105,171,159,105,171,159,105,193,185,117,193,185,117, -193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,193,185, -117,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,189,179,113,254, -210,124,163,91,69,163,87,69,160,93,72,163,87,69,163,87,69,163,89,69,162,88,68, -157,79,69,157,79,69,157,79,69,163,82,71,163,86,71,159,94,71,159,94,71,159,94,71, -159,94,71,157,90,69,157,90,69,159,82,71,159,82,71,165,85,75,158,78,70,159,82,71, -163,82,69,163,82,69,163,82,69,163,82,69,163,82,69,163,82,69,163,82,69,163,88,71, -167,86,67,163,98,69,167,97,69,163,91,69,157,90,69,157,90,69,157,77,69,163,87,69, -163,88,71,163,88,71,163,82,69,163,82,69,167,85,69,172,87,70,167,85,69,172,92,70, -167,85,69,167,85,69,163,82,69,167,85,69,163,82,69,163,88,71,163,88,71,163,88,71, -163,88,71,162,85,68,212,158,94,177,171,107,74,60,48,144,127,104,119,102,79,130, -109,84,133,112,87,148,125,98,164,142,114,175,153,127,183,162,136,183,162,135, -178,157,132,174,151,123,167,144,115,154,127,98,147,122,92,148,121,91,111,94,76, -118,104,84,113,97,79,117,101,81,122,113,91,123,114,93,123,114,94,123,114,94,123, -114,94,123,114,93,123,112,92,126,114,91,130,118,96,113,100,80,78,62,47,150,122, -91,164,138,109,169,147,119,164,144,118,166,145,118,172,153,125,173,154,128,167, -148,123,160,139,115,146,129,103,128,111,88,100,81,64,84,68,52,73,56,44,44,36,30, -152,139,122,146,124,100,144,122,100,144,122,98,142,117,92,157,122,97,184,156, -122,190,162,128,184,156,122,164,131,104,160,124,102,175,144,121,161,127,103,124, -104,80,169,141,109,163,138,119,169,146,115,192,173,126,180,171,110,193,185,117, -193,185,117,130,88,62,123,77,57,180,108,76,180,111,80,180,111,80,180,111,80,182, -109,80,182,109,80,182,109,80,182,109,80,178,102,82,178,102,82,178,102,82,181,99, -73,177,99,71,177,99,71,175,101,75,180,102,78,180,102,78,180,102,78,180,102,78, -180,102,78,185,111,85,175,101,75,175,101,75,175,101,75,175,101,75,175,101,75, -175,101,75,177,99,71,177,99,71,177,99,71,177,99,71,180,99,74,180,99,74,180,99, -74,180,99,74,175,100,73,175,100,73,175,100,73,175,100,73,175,100,73,175,100,73, -175,100,73,180,99,74,180,99,74,177,104,81,177,104,81,180,111,80,180,111,80,183, -110,81,182,111,86,182,113,86,184,112,84,185,113,85,187,111,85,188,112,86,188, -112,86,194,119,86,123,77,57,123,77,57,71,57,45,124,107,90,129,112,90,123,106,83, -128,109,84,142,122,98,154,135,110,159,140,115,158,139,116,156,137,114,155,137, -113,157,138,113,148,129,104,141,121,94,141,116,89,145,119,89,114,97,77,140,128, -103,133,117,93,122,105,84,122,110,89,123,113,93,123,114,94,123,114,94,123,114, -94,122,113,93,124,113,92,124,110,89,126,111,90,132,118,94,116,96,74,128,105,84, -143,122,102,145,128,106,146,127,107,146,127,107,148,130,109,149,131,110,148,129, -107,153,132,111,135,116,96,120,102,83,97,77,61,84,68,52,68,56,44,66,56,45,152, -139,122,147,126,103,148,126,104,147,126,103,146,121,98,172,144,116,179,153,119, -179,151,121,176,145,118,167,134,105,162,131,108,171,146,125,168,144,124,160,132, -110,169,145,121,160,135,122,198,174,132,175,158,105,193,185,117,193,185,117,123, -77,57,123,77,57,123,77,57,175,102,73,180,104,74,180,104,74,180,104,74,180,107, -78,180,107,78,180,107,78,180,107,78,180,107,78,180,107,78,176,103,78,177,99,71, -156,81,58,172,94,70,169,98,71,169,98,71,172,94,70,172,94,70,172,94,70,172,94,70, -172,94,70,172,94,70,172,94,70,172,94,70,172,94,70,173,98,71,173,98,71,170,100, -72,173,98,71,173,98,71,173,98,71,173,98,71,173,98,71,173,98,71,175,100,73,175, -100,73,180,99,74,180,99,74,180,99,74,175,100,73,175,100,73,180,99,74,180,99,74, -177,104,81,177,104,81,180,111,80,177,104,81,180,111,80,180,111,80,180,111,80, -180,111,80,183,110,81,182,111,86,184,111,82,184,111,82,196,121,92,194,125,92, -123,77,57,123,77,57,123,77,57,168,148,94,174,175,121,169,168,115,180,167,134, -147,133,121,147,134,121,148,136,120,153,140,123,155,142,125,148,133,114,149,132, -109,158,143,118,160,143,118,157,141,117,142,127,106,142,128,110,136,125,104,138, -126,106,137,127,105,136,126,104,136,126,104,136,126,104,136,126,104,136,126,104, -136,126,104,131,122,100,130,120,99,130,120,99,130,120,99,134,121,98,143,123,97, -144,129,103,141,122,99,139,118,91,135,118,91,138,118,92,138,118,92,146,131,107, -152,139,122,172,157,136,172,156,136,166,150,129,138,124,107,149,136,119,152,139, -122,152,139,122,159,135,115,156,132,112,159,136,115,166,141,122,166,141,122,166, -141,122,166,141,122,168,140,120,165,140,121,166,138,120,167,142,121,162,135,122, -160,135,122,160,135,122,200,175,132,181,172,109,193,185,117,136,98,68,123,77,57, -123,77,57,123,77,57,123,77,57,152,72,64,153,71,65,151,75,65,142,80,66,145,83,69, -154,78,68,157,77,69,157,77,69,157,77,69,153,73,65,151,75,65,155,73,65,149,75,65, -154,78,68,153,70,59,141,78,65,142,75,62,141,78,65,140,73,60,140,73,60,140,73,60, -136,69,60,140,66,60,140,66,60,136,69,60,136,63,60,142,66,62,142,73,62,142,75,62, -142,75,62,142,75,62,141,74,65,141,74,65,141,74,65,141,74,65,141,74,65,140,66,60, -140,66,60,140,66,60,140,66,60,142,73,62,145,79,63,139,76,65,139,76,65,141,78,65, -141,78,65,139,76,65,135,75,63,135,70,63,139,67,65,142,73,62,140,66,60,141,76,65, -145,79,63,145,79,63,141,74,65,141,76,65,123,77,57,117,71,53,123,77,57,123,77,57, -123,77,57,189,179,113,193,185,117,189,180,121,160,135,122,160,135,122,160,135, -122,165,137,121,166,141,122,165,140,121,166,141,122,166,141,122,166,141,122,166, -141,122,166,141,122,164,139,120,158,134,114,161,137,117,166,141,122,166,141,122, -166,141,122,166,141,122,148,128,109,148,128,109,148,128,109,148,128,109,148,128, -109,148,128,109,148,128,109,147,127,108,144,119,99,146,118,100,163,131,91,166, -134,93,165,132,91,166,134,93,166,134,93,166,134,93,166,134,93,166,134,93,166, -134,93,166,141,122,166,141,122,166,141,122,166,141,122,166,141,122,166,141,122, -166,141,122,165,138,121,165,138,121,165,138,121,160,135,122,160,135,122,160,135, -122,160,135,122,160,135,122,160,135,122,162,140,122,180,171,110,193,185,117,191, -183,115,123,77,57,123,77,57,124,78,58,122,76,56,93,56,39,123,77,57,180,103,76, -175,102,73,154,74,68,175,102,73,181,108,79,175,102,73,172,97,70,172,97,70,176, -98,70,162,88,68,162,88,68,165,93,71,163,87,69,160,83,66,151,68,49,158,83,50,155, -72,49,144,72,62,162,88,68,167,97,69,162,88,68,171,85,65,175,90,67,175,93,67,168, -94,68,161,86,69,163,89,69,159,94,71,157,90,69,154,88,68,159,94,71,157,92,69,142, -73,62,159,94,71,163,93,71,157,92,69,151,75,65,163,93,71,163,91,69,157,92,69,157, -86,69,162,88,68,161,91,69,157,90,69,169,95,69,177,99,71,169,95,69,158,73,64,161, -86,69,165,97,71,161,86,69,153,73,65,162,88,68,169,94,71,162,88,68,162,85,68,163, -98,69,123,77,57,76,53,40,73,49,35,112,70,52,123,77,57,123,77,57,141,106,71,193, -185,117,190,182,114,177,166,107,165,147,125,160,135,122,160,135,122,160,135,122, -160,135,122,160,135,122,160,135,122,160,135,122,160,135,122,160,135,122,160,135, -122,160,135,122,160,135,122,160,135,122,160,135,122,160,135,122,146,124,109,132, -112,93,112,127,129,102,112,116,121,135,137,125,140,141,129,144,144,132,148,150, -138,154,156,143,157,160,151,159,144,151,159,135,150,154,128,144,151,125,146,148, -122,132,140,113,100,108,93,99,102,87,97,99,84,144,113,83,152,127,114,156,131, -118,159,133,119,160,135,122,160,135,122,160,135,122,160,135,122,160,135,122,160, -135,122,160,135,122,160,135,122,165,147,125,165,147,125,137,118,93,140,139,106, -188,178,112,193,185,117,140,107,72,123,77,57,123,77,57,123,77,57,89,59,41,119, -91,59,113,85,61,123,77,57,176,103,70,172,97,74,154,74,68,172,97,70,173,95,71, -172,97,70,162,88,68,162,88,68,163,89,69,162,88,68,162,88,68,163,87,69,163,87,69, -156,76,68,151,68,49,152,69,50,151,71,49,144,66,56,162,88,68,162,88,68,162,88,68, -173,86,65,175,90,67,175,90,67,173,88,65,162,88,68,163,89,69,167,88,67,162,85,68, -162,88,68,163,89,69,167,86,67,151,73,65,167,86,67,163,89,69,163,88,71,154,78,68, -163,93,71,163,91,69,162,88,68,162,85,68,162,88,68,162,88,68,162,85,68,173,91,65, -175,90,67,173,88,65,162,69,62,162,88,68,163,89,69,162,85,68,145,79,63,167,88,67, -163,89,69,162,88,68,162,85,68,162,88,68,123,77,57,81,56,41,92,74,50,76,49,36,95, -56,41,122,76,56,123,77,57,123,77,57,188,180,114,193,185,117,180,171,110,140,134, -104,165,147,125,165,147,125,165,147,125,160,135,122,160,135,122,160,135,122,160, +193,185,117,189,179,113,172,97,70,175,106,75,169,104,75,148,73,56,165,82,53,170, +91,56,154,74,52,162,85,68,163,98,69,163,98,69,161,86,69,168,94,68,182,102,70, +169,90,69,151,77,63,157,92,69,163,89,69,161,91,69,145,71,63,161,91,69,163,93,71, +157,92,69,157,92,69,162,88,68,167,97,69,162,85,68,162,88,68,172,97,70,163,89,69, +157,77,69,163,89,69,169,94,71,163,93,71,141,74,65,163,93,71,165,97,71,163,93,71, +161,80,69,165,97,71,172,97,70,163,93,71,162,88,68,165,97,71,165,97,71,163,88,71, +162,88,68,173,98,71,163,98,69,140,66,60,162,88,68,169,94,71,162,88,68,157,77,69, +163,93,71,173,98,71,163,88,71,163,98,69,172,97,74,172,97,70,178,172,108,66,52, +43,102,90,74,109,90,72,119,103,78,122,104,81,137,119,96,153,135,112,163,144,122, +168,152,129,173,155,129,165,148,125,157,138,115,151,132,107,137,117,93,130,107, +80,113,91,67,91,76,61,123,109,87,114,100,80,119,106,85,125,111,91,123,114,94, +123,114,94,123,114,94,123,114,94,122,113,93,121,112,92,115,102,84,125,108,91, +120,106,87,55,45,35,160,132,99,167,142,110,173,152,122,171,150,121,178,156,128, +183,163,138,185,164,137,178,159,132,168,148,121,156,135,111,138,119,96,100,81, +61,83,68,51,68,54,41,48,39,32,152,139,122,171,159,105,171,159,105,171,159,105, +171,159,105,171,159,105,171,159,105,193,185,117,193,185,117,193,185,117,193,185, +117,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,193, +185,117,193,185,117,193,185,117,193,185,117,189,179,113,172,97,70,163,91,69,163, +87,69,160,93,72,163,87,69,163,87,69,163,89,69,162,88,68,157,79,69,157,79,69,157, +79,69,163,82,71,163,86,71,159,94,71,159,94,71,159,94,71,159,94,71,157,90,69,157, +90,69,159,82,71,159,82,71,165,85,75,158,78,70,159,82,71,163,82,69,163,82,69,163, +82,69,163,82,69,163,82,69,163,82,69,163,82,69,163,88,71,167,86,67,163,98,69,167, +97,69,163,91,69,157,90,69,157,90,69,157,77,69,163,87,69,163,88,71,163,88,71,163, +82,69,163,82,69,167,85,69,172,87,70,167,85,69,172,92,70,167,85,69,167,85,69,163, +82,69,167,85,69,163,82,69,163,88,71,163,88,71,163,88,71,163,88,71,162,85,68,172, +97,70,177,171,107,74,60,48,144,127,104,119,102,79,130,109,84,133,112,87,148,125, +98,164,142,114,175,153,127,183,162,136,183,162,135,178,157,132,174,151,123,167, +144,115,154,127,98,147,122,92,148,121,91,111,94,76,118,104,84,113,97,79,117,101, +81,122,113,91,123,114,93,123,114,94,123,114,94,123,114,94,123,114,93,123,112,92, +126,114,91,130,118,96,113,100,80,78,62,47,150,122,91,164,138,109,169,147,119, +164,144,118,166,145,118,172,153,125,173,154,128,167,148,123,160,139,115,146,129, +103,128,111,88,100,81,64,84,68,52,73,56,44,44,36,30,152,139,122,146,124,100,144, +122,100,144,122,98,142,117,92,157,122,97,184,156,122,190,162,128,184,156,122, +164,131,104,160,124,102,175,144,121,161,127,103,124,104,80,169,141,109,163,138, +119,169,146,115,192,173,126,180,171,110,193,185,117,193,185,117,130,88,62,125, +78,58,180,108,76,180,111,80,180,111,80,180,111,80,182,109,80,182,109,80,182,109, +80,182,109,80,178,102,82,178,102,82,178,102,82,181,99,73,177,99,71,177,99,71, +175,101,75,180,102,78,180,102,78,180,102,78,180,102,78,180,102,78,185,111,85, +175,101,75,175,101,75,175,101,75,175,101,75,175,101,75,175,101,75,177,99,71,177, +99,71,177,99,71,177,99,71,180,99,74,180,99,74,180,99,74,180,99,74,175,100,73, +175,100,73,175,100,73,175,100,73,175,100,73,175,100,73,175,100,73,180,99,74,180, +99,74,177,104,81,177,104,81,180,111,80,180,111,80,183,110,81,182,111,86,182,113, +86,184,112,84,185,113,85,187,111,85,188,112,86,188,112,86,194,119,86,123,77,57, +123,77,57,71,57,45,124,107,90,129,112,90,123,106,83,128,109,84,142,122,98,154, +135,110,159,140,115,158,139,116,156,137,114,155,137,113,157,138,113,148,129,104, +141,121,94,141,116,89,145,119,89,114,97,77,140,128,103,133,117,93,122,105,84, +122,110,89,123,113,93,123,114,94,123,114,94,123,114,94,122,113,93,124,113,92, +124,110,89,126,111,90,132,118,94,116,96,74,128,105,84,143,122,102,145,128,106, +146,127,107,146,127,107,148,130,109,149,131,110,148,129,107,153,132,111,135,116, +96,120,102,83,97,77,61,84,68,52,68,56,44,66,56,45,152,139,122,147,126,103,148, +126,104,147,126,103,146,121,98,172,144,116,179,153,119,179,151,121,176,145,118, +167,134,105,162,131,108,171,146,125,168,144,124,160,132,110,169,145,121,160,135, +122,198,174,132,175,158,105,193,185,117,193,185,117,123,77,57,123,77,57,123,77, +57,175,102,73,180,104,74,180,104,74,180,104,74,180,107,78,180,107,78,180,107,78, +180,107,78,180,107,78,180,107,78,176,103,78,177,99,71,156,81,58,172,94,70,169, +98,71,169,98,71,172,94,70,172,94,70,172,94,70,172,94,70,172,94,70,172,94,70,172, +94,70,172,94,70,172,94,70,173,98,71,173,98,71,170,100,72,173,98,71,173,98,71, +173,98,71,173,98,71,173,98,71,173,98,71,175,100,73,175,100,73,180,99,74,180,99, +74,180,99,74,175,100,73,175,100,73,180,99,74,180,99,74,177,104,81,177,104,81, +180,111,80,177,104,81,180,111,80,180,111,80,180,111,80,180,111,80,183,110,81, +182,111,86,184,111,82,184,111,82,196,121,92,194,125,92,123,77,57,123,77,57,123, +77,57,168,148,94,174,175,121,169,168,115,180,167,134,147,133,121,147,134,121, +148,136,120,153,140,123,155,142,125,148,133,114,149,132,109,158,143,118,160,143, +118,157,141,117,142,127,106,142,128,110,136,125,104,138,126,106,137,127,105,136, +126,104,136,126,104,136,126,104,136,126,104,136,126,104,136,126,104,131,122,100, +130,120,99,130,120,99,130,120,99,134,121,98,143,123,97,144,129,103,141,122,99, +139,118,91,135,118,91,138,118,92,138,118,92,146,131,107,152,139,122,172,157,136, +172,156,136,166,150,129,138,124,107,149,136,119,152,139,122,152,139,122,159,135, +115,156,132,112,159,136,115,166,141,122,166,141,122,166,141,122,166,141,122,168, +140,120,165,140,121,166,138,120,167,142,121,162,135,122,160,135,122,160,135,122, +200,175,132,181,172,109,193,185,117,136,98,68,123,77,57,123,77,57,123,77,57,123, +77,57,152,72,64,153,71,65,151,75,65,142,80,66,145,83,69,154,78,68,157,77,69,157, +77,69,157,77,69,153,73,65,151,75,65,155,73,65,149,75,65,154,78,68,153,70,59,141, +78,65,142,75,62,141,78,65,140,73,60,140,73,60,140,73,60,136,69,60,140,66,60,140, +66,60,136,69,60,136,63,60,142,66,62,142,73,62,142,75,62,142,75,62,142,75,62,141, +74,65,141,74,65,141,74,65,141,74,65,141,74,65,140,66,60,140,66,60,140,66,60,140, +66,60,142,73,62,145,79,63,139,76,65,139,76,65,141,78,65,141,78,65,139,76,65,135, +75,63,135,70,63,139,67,65,142,73,62,140,66,60,141,76,65,145,79,63,145,79,63,141, +74,65,141,76,65,123,77,57,117,71,53,123,77,57,123,77,57,123,77,57,189,179,113, +193,185,117,189,180,121,160,135,122,160,135,122,160,135,122,165,137,121,166,141, +122,165,140,121,166,141,122,166,141,122,166,141,122,166,141,122,166,141,122,164, +139,120,158,134,114,161,137,117,166,141,122,166,141,122,166,141,122,166,141,122, +148,128,109,148,128,109,148,128,109,148,128,109,148,128,109,148,128,109,148,128, +109,147,127,108,144,119,99,146,118,100,163,131,91,166,134,93,165,132,91,166,134, +93,166,134,93,166,134,93,166,134,93,166,134,93,166,134,93,166,141,122,166,141, +122,166,141,122,166,141,122,166,141,122,166,141,122,166,141,122,165,138,121,165, +138,121,165,138,121,160,135,122,160,135,122,160,135,122,160,135,122,160,135,122, +160,135,122,162,140,122,180,171,110,193,185,117,191,183,115,123,77,57,123,77,57, +124,78,58,122,76,56,93,56,39,123,77,57,180,103,76,175,102,73,154,74,68,175,102, +73,181,108,79,175,102,73,172,97,70,172,97,70,176,98,70,162,88,68,162,88,68,165, +93,71,163,87,69,160,83,66,151,68,49,158,83,50,155,72,49,144,72,62,162,88,68,167, +97,69,162,88,68,171,85,65,175,90,67,175,93,67,168,94,68,161,86,69,163,89,69,159, +94,71,157,90,69,154,88,68,159,94,71,157,92,69,142,73,62,159,94,71,163,93,71,157, +92,69,151,75,65,163,93,71,163,91,69,157,92,69,157,86,69,162,88,68,161,91,69,157, +90,69,169,95,69,177,99,71,169,95,69,158,73,64,161,86,69,165,97,71,161,86,69,153, +73,65,162,88,68,169,94,71,162,88,68,162,85,68,163,98,69,123,77,57,76,53,40,73, +49,35,112,70,52,123,77,57,123,77,57,141,106,71,193,185,117,190,182,114,177,166, +107,165,147,125,160,135,122,160,135,122,160,135,122,160,135,122,160,135,122,160, 135,122,160,135,122,160,135,122,160,135,122,160,135,122,160,135,122,160,135,122, -143,122,109,143,122,109,124,100,87,108,118,122,102,116,119,119,134,135,125,140, -141,129,144,147,135,151,153,146,160,160,150,165,166,154,166,157,159,163,140,151, -157,131,144,151,125,143,147,121,112,119,99,97,102,87,91,96,81,87,91,80,143,108, -78,146,115,84,155,130,117,159,133,119,160,135,122,160,135,122,160,135,122,160, -135,122,165,147,125,165,147,125,165,147,125,137,118,93,137,118,93,140,139,106, -180,171,110,193,185,117,188,178,110,123,77,57,123,77,57,123,77,57,104,60,42,115, -79,53,114,93,62,128,105,68,99,74,51,123,77,57,130,61,58,119,57,57,130,71,58,123, -64,55,126,71,58,104,57,54,123,60,55,126,71,58,118,54,54,105,56,51,98,53,48,114, -58,52,101,53,49,127,61,55,112,55,54,127,62,57,111,45,43,127,70,57,119,63,57,126, -58,58,112,56,52,127,70,57,130,71,58,123,55,55,112,54,55,118,60,54,140,66,56,119, -57,57,130,71,58,125,63,57,140,66,56,119,63,57,136,74,60,130,75,60,136,69,60,114, -49,38,126,50,40,124,55,42,120,52,52,127,61,55,126,71,58,126,64,58,112,54,55,130, -71,58,127,70,57,134,70,58,126,63,58,136,74,60,140,66,56,136,69,60,134,67,58,136, -69,60,136,74,60,130,61,58,136,74,60,140,83,60,140,75,60,123,77,57,72,52,36,116, -92,60,115,93,59,105,88,57,76,51,36,118,72,54,123,77,57,123,77,57,131,91,65,193, -185,117,180,171,110,140,139,106,140,139,106,137,118,93,137,118,93,137,118,93, -137,118,93,165,147,125,162,139,122,162,140,122,162,140,122,162,140,122,160,135, -122,160,135,122,143,122,109,143,122,109,122,99,86,103,118,121,100,115,118,119, -132,135,125,140,141,129,146,147,138,154,156,147,163,165,154,169,170,156,168,163, -163,168,143,153,159,132,144,151,125,138,144,118,113,118,100,96,100,86,81,87,75, -74,80,68,135,102,74,144,113,83,154,129,116,159,133,119,137,118,93,137,118,93, -137,118,93,137,118,93,137,118,93,137,118,93,140,138,104,140,139,106,140,139,106, -193,185,117,190,182,114,126,83,60,123,77,57,123,77,57,122,76,56,88,57,40,131, -109,71,144,118,78,146,120,76,88,66,38,111,88,59,123,77,57,144,81,62,142,73,62, -150,81,68,154,86,68,142,73,62,141,78,65,152,84,66,145,82,63,138,56,54,107,58,47, -108,53,44,96,49,42,104,57,46,138,78,60,154,83,66,145,82,63,145,79,63,152,84,66, -152,84,66,145,82,63,145,82,63,153,79,65,145,82,63,136,63,60,151,79,65,159,90,69, -151,79,65,155,73,65,154,88,68,157,92,69,154,88,68,154,88,68,157,92,69,161,91,69, -154,78,68,142,72,48,146,75,50,145,75,51,131,47,43,153,79,65,156,91,68,151,79,65, -141,74,65,153,85,65,161,91,69,154,88,68,154,88,68,161,91,69,161,91,69,157,86,69, -157,92,69,161,91,69,157,92,69,151,73,65,157,92,69,163,93,71,157,92,69,123,77,57, -80,60,40,128,104,70,147,122,77,149,124,81,111,90,61,106,80,54,78,50,36,122,76, -56,123,77,57,123,77,57,163,150,97,191,183,117,193,185,117,140,139,106,140,139, -106,136,118,94,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,137,118, -93,137,118,93,122,105,80,122,105,80,122,105,80,91,68,53,103,115,118,102,113,116, -118,131,134,125,140,141,132,148,150,143,157,160,154,169,170,162,173,175,160,169, -169,162,168,147,154,160,134,146,153,127,141,146,119,113,118,97,94,97,83,72,81, -69,68,72,64,119,90,64,140,106,78,154,129,116,159,133,119,137,118,93,137,118,93, -137,118,93,137,118,93,140,139,106,140,139,106,189,179,113,193,185,117,193,185, -115,151,132,87,123,77,57,123,77,57,119,75,55,91,59,41,122,100,64,127,101,67,155, -128,85,154,123,80,148,119,78,136,112,74,122,100,66,123,77,57,161,84,67,157,77, -69,163,89,69,172,97,70,157,77,69,162,88,68,173,98,71,162,88,68,119,59,53,255, -148,89,255,133,73,249,121,71,110,57,44,142,74,58,166,96,72,161,91,69,161,86,69, -166,96,72,165,91,71,161,82,69,161,91,69,170,100,72,163,93,71,143,65,59,165,92, -69,174,103,72,168,93,70,167,84,73,168,96,74,176,100,70,165,92,69,163,91,69,164, -94,72,165,97,71,161,82,69,150,73,50,160,82,52,154,76,52,141,57,51,162,88,68,169, -98,71,161,91,69,153,79,65,162,88,68,165,91,65,161,92,71,161,91,69,165,97,71,165, -97,71,162,85,68,161,91,69,163,93,71,162,88,68,153,71,65,163,89,69,170,100,72, -161,91,69,123,77,57,86,65,44,122,100,66,138,108,70,151,123,79,127,105,67,133, -108,69,103,85,57,66,46,34,101,55,39,122,76,56,123,77,57,123,77,57,181,174,109, -193,185,117,193,185,117,153,158,110,140,139,106,140,139,106,137,118,93,137,118, -93,137,118,93,137,118,93,137,118,93,122,105,80,122,105,80,122,105,80,94,78,58, -103,115,118,101,113,116,117,130,133,128,140,141,134,150,151,148,163,163,160,172, -173,166,179,181,162,176,176,159,168,154,156,162,135,146,153,127,141,146,119,110, -113,96,87,91,80,68,77,65,69,72,61,110,87,58,115,93,62,129,111,87,133,115,91,137, -118,93,155,146,103,153,158,110,153,158,110,153,158,110,193,185,117,191,183,115, -171,166,105,123,77,57,123,77,57,123,77,57,110,60,42,86,68,57,88,72,59,123,98,66, -127,101,65,158,128,82,116,86,48,133,106,67,135,109,73,122,95,64,123,77,57,162, -97,68,162,85,68,163,93,71,167,88,67,161,80,69,162,88,68,165,97,71,167,86,67,126, -66,58,108,55,42,255,139,75,255,141,79,108,56,44,161,92,71,163,93,71,162,88,68, -162,88,68,163,91,69,162,88,68,162,85,68,162,88,68,164,94,72,168,90,70,151,77,65, -175,95,73,177,103,77,179,96,73,179,93,73,179,96,73,177,106,75,175,93,71,173,93, -71,170,97,74,169,96,73,167,84,67,156,70,50,162,84,50,156,74,52,143,57,51,165,88, -67,163,93,71,162,88,68,157,86,69,162,88,68,151,85,59,162,88,68,162,88,68,163,93, -71,163,92,71,162,84,68,162,88,68,163,93,71,162,88,68,153,71,65,162,88,68,163,93, -71,162,88,68,123,77,57,90,64,44,120,96,64,131,108,67,140,113,70,153,126,79,124, -102,65,86,69,54,82,68,58,93,75,63,80,52,36,115,72,53,123,77,57,123,77,57,138, -112,78,182,175,110,193,185,117,194,186,116,153,158,110,153,158,110,153,158,110, -147,129,95,137,118,93,137,118,93,122,105,80,122,105,80,122,105,80,94,80,58,103, -115,118,101,113,116,118,130,133,128,140,141,135,150,150,147,163,165,162,173,175, -168,181,182,166,179,179,156,168,165,154,160,135,146,153,127,138,143,116,100,109, -91,80,86,74,65,72,64,69,72,64,109,84,53,116,93,61,129,110,87,133,114,91,153,158, -110,153,158,110,153,158,110,193,185,117,191,183,117,178,172,108,133,103,71,123, -77,57,123,77,57,115,69,51,89,58,39,125,101,77,114,91,70,100,79,64,88,71,58,70, -57,49,155,124,81,176,149,96,147,122,79,120,94,58,115,84,59,123,77,57,161,84,67, -162,85,68,163,88,71,162,85,68,161,80,69,162,88,68,153,77,65,162,88,68,140,73,64, -132,65,52,108,56,44,111,54,43,159,85,65,162,88,68,162,88,68,162,88,68,162,88,68, -161,86,69,162,88,68,159,86,69,168,90,70,161,82,69,176,98,74,165,76,69,181,101, -77,179,100,79,181,100,79,181,100,79,181,98,79,181,98,79,180,102,78,181,95,75, -171,86,75,179,96,73,175,89,75,164,68,52,138,56,40,161,72,51,148,59,52,169,92,71, -155,79,67,167,90,69,159,72,65,167,88,69,158,76,68,162,84,68,161,83,67,157,89,68, -161,86,67,161,82,69,161,83,67,151,75,65,162,88,68,145,73,63,162,88,68,142,73,62, -153,77,65,123,77,57,77,52,37,116,94,60,152,125,82,170,136,92,121,94,64,80,67,58, -99,79,63,111,87,69,123,98,75,128,104,80,128,104,80,80,50,36,117,71,53,122,76,56, -123,77,57,168,160,102,189,179,113,193,185,117,193,185,117,153,158,110,153,158, -110,153,158,110,137,118,93,122,105,80,122,105,80,122,105,80,94,78,58,103,115, -118,101,113,117,119,132,134,128,143,144,137,153,154,150,165,165,162,173,175,168, -181,182,166,179,182,157,169,166,154,160,135,146,153,127,134,141,115,99,102,87, -80,84,75,71,74,65,71,74,65,105,81,55,116,93,61,129,110,87,133,114,91,153,158, -110,193,185,117,193,185,117,190,182,114,166,157,100,123,77,57,123,77,57,119,74, -54,87,56,38,105,86,66,120,99,78,131,106,81,129,104,79,124,99,76,119,95,73,98,80, -66,77,63,55,120,94,64,149,124,81,135,112,73,114,86,62,123,77,57,163,98,69,126, -71,58,119,57,57,130,71,58,140,76,56,126,71,58,126,71,58,126,71,58,135,77,61,134, -65,56,125,61,55,132,63,54,134,65,56,119,57,57,144,58,56,144,62,56,144,71,56,125, -55,55,140,72,58,144,78,62,154,71,60,159,73,61,161,85,61,156,83,66,158,84,66,158, -84,66,158,84,66,158,86,66,144,66,64,158,84,66,162,94,68,156,83,66,136,67,64,156, -83,66,161,84,67,154,83,66,159,68,61,151,73,63,158,67,60,149,63,61,139,65,61,151, -66,59,150,69,58,142,68,58,139,76,61,143,76,61,142,81,62,126,60,57,140,75,60,142, -77,62,140,75,60,128,46,40,130,61,42,131,57,43,130,56,42,141,78,65,142,77,62,123, -77,57,80,57,40,114,93,62,148,119,80,87,68,57,81,67,57,103,80,65,121,94,75,127, -101,77,129,104,81,128,103,80,113,93,73,100,81,66,65,47,39,98,48,36,123,77,57, -123,77,57,128,90,64,184,175,110,193,185,117,193,185,117,193,185,117,153,158,110, -153,158,110,122,105,80,122,105,80,122,105,80,94,78,58,103,115,118,103,116,119, -118,131,134,128,144,147,138,154,156,151,166,166,160,172,173,168,181,182,168,181, -181,163,173,165,156,162,135,146,153,127,135,141,115,99,103,89,81,87,75,71,77,68, -74,78,67,105,81,55,116,91,61,129,110,87,133,114,91,193,185,117,193,185,117,190, -182,112,127,84,61,123,77,57,123,77,57,102,59,42,90,61,42,98,82,55,105,87,62,95, -80,63,115,92,73,121,98,75,128,100,78,126,101,78,119,94,73,108,85,66,88,73,58,84, -70,57,126,101,66,113,90,63,123,77,57,167,95,69,141,79,65,140,66,60,145,82,63, -159,94,71,145,82,63,145,82,63,153,85,65,154,88,68,151,79,65,151,81,65,155,91,69, -155,80,65,138,63,60,164,82,66,170,93,72,166,87,66,150,76,68,168,91,70,177,100, -77,177,90,73,179,88,73,180,104,78,178,108,84,179,98,73,179,91,73,178,108,84,179, -109,81,176,83,74,179,109,81,182,104,80,179,109,81,164,83,74,179,109,81,183,104, -79,179,109,81,177,100,77,178,104,78,178,108,84,177,82,73,176,89,72,179,106,77, -177,105,77,172,85,70,167,98,72,167,89,68,159,92,68,141,66,60,157,91,69,163,93, -71,157,91,69,145,69,51,146,75,50,152,72,50,145,75,51,161,86,69,163,93,71,123,77, -57,80,57,40,109,83,60,86,71,58,99,79,65,114,90,70,122,98,76,128,100,78,124,97, -76,112,93,72,104,86,66,86,70,58,114,95,64,98,82,55,86,72,46,80,52,36,121,75,55, -123,77,57,123,77,57,168,154,100,193,185,117,193,185,117,193,185,117,193,185,117, -134,143,94,122,105,80,122,105,80,94,78,58,102,116,119,105,118,121,119,133,135, -131,147,148,143,157,157,148,165,166,160,172,173,166,181,181,166,181,181,162,173, -173,154,162,140,144,151,125,134,141,115,103,110,93,87,93,78,74,80,71,86,83,68, -105,81,55,116,91,61,129,111,87,134,115,90,193,185,117,171,153,97,123,77,57,123, -77,57,120,65,48,96,62,42,128,107,70,134,110,73,129,105,71,125,103,67,131,110,71, -85,71,57,93,76,61,105,84,67,118,94,72,122,98,76,122,98,74,118,94,72,100,82,64, -86,70,60,102,78,55,123,77,57,167,95,69,157,92,69,154,78,68,163,89,69,164,94,72, -161,91,69,161,91,69,165,97,71,165,93,71,163,87,69,165,92,69,172,99,74,173,93,71, -158,73,66,181,104,73,186,108,80,182,106,76,174,81,76,182,104,80,180,106,84,180, -105,82,180,98,82,183,104,79,184,106,82,184,104,82,184,110,84,189,116,87,188,116, -88,185,98,87,188,112,86,190,117,88,185,111,85,175,83,73,184,107,84,185,113,85, -180,105,82,180,98,82,182,104,80,184,106,82,180,93,82,180,105,82,182,104,80,180, -106,84,180,96,80,179,100,75,175,100,74,168,93,70,149,70,64,162,88,68,163,93,71, -162,88,68,150,66,50,150,76,50,155,72,49,150,73,50,161,86,69,163,89,69,123,77,57, -85,70,55,89,73,61,108,87,68,121,96,75,124,97,76,118,94,72,108,86,68,95,75,61,81, -67,55,132,108,75,132,109,72,102,82,57,144,119,77,145,119,77,112,92,62,105,86,55, -79,53,37,123,77,57,123,77,57,123,79,57,193,185,117,193,185,117,193,185,117,193, -185,117,137,129,90,122,105,80,94,78,58,102,115,119,103,115,120,119,133,135,129, -146,147,141,156,156,147,162,163,160,172,173,166,181,181,166,181,181,160,173,172, -150,159,147,146,153,127,143,147,121,119,124,103,91,94,83,80,84,75,93,81,64,109, -84,53,116,91,61,129,111,87,134,115,90,123,77,57,123,77,57,123,77,57,89,60,41, -124,103,66,123,99,67,140,116,74,159,129,87,160,131,86,171,139,93,117,94,62,138, -116,74,140,123,80,76,62,52,86,70,58,99,79,65,114,91,70,124,99,76,121,96,75,104, -83,66,93,75,61,123,77,57,163,93,71,162,88,68,157,77,69,162,88,68,162,88,68,162, -88,68,162,88,68,165,88,67,166,89,68,169,89,71,175,95,73,180,99,74,180,102,78, -174,82,72,189,108,79,190,105,78,190,105,78,179,88,79,183,104,79,183,104,79,184, -105,80,188,111,84,192,113,86,195,119,89,196,120,90,197,119,89,197,121,91,198, -121,90,194,104,92,198,121,90,198,121,90,198,121,90,181,98,87,196,120,90,196,120, -90,194,115,88,192,113,86,186,108,84,183,104,79,183,104,79,183,104,79,183,104,79, -183,104,79,179,93,81,181,103,79,180,102,78,176,98,74,158,75,68,166,89,68,162,88, -68,162,88,68,151,63,49,151,68,49,158,79,58,151,68,49,162,88,68,162,88,68,123,77, -57,98,79,64,111,89,69,122,98,76,122,98,74,110,87,68,90,73,60,78,64,54,109,94,67, -135,112,74,148,122,78,148,121,76,165,135,90,161,131,85,158,130,86,144,118,76, -101,81,53,101,83,55,63,49,37,111,61,45,123,77,57,123,77,57,181,166,107,193,185, -117,193,185,117,173,169,103,137,127,87,94,78,58,102,115,119,100,113,118,119,133, -135,127,140,141,134,150,151,150,163,165,160,170,173,166,179,179,166,181,181,156, -168,168,147,159,146,144,151,127,146,148,122,124,131,108,96,100,86,83,89,74,97, -81,59,109,86,56,116,91,61,129,111,87,133,114,91,123,77,57,95,78,61,88,74,60,82, -71,58,90,76,60,135,109,73,104,81,48,161,133,89,154,126,82,176,141,92,175,144,91, -171,143,90,170,148,97,147,124,78,138,116,78,75,61,51,89,72,59,108,87,68,122,95, -74,124,99,76,111,89,69,123,77,57,126,63,58,112,54,55,127,58,55,119,57,57,118,54, -54,108,42,40,109,41,39,115,50,39,118,54,54,130,65,58,127,60,57,144,72,64,136,64, -64,144,66,64,136,64,64,148,70,64,136,64,64,148,70,64,144,66,64,138,64,64,143,71, -65,163,75,69,180,85,72,155,69,69,157,77,71,149,67,69,185,84,71,158,66,66,164,60, -46,161,70,63,178,78,62,157,81,71,180,88,76,185,84,71,180,88,76,174,80,72,185,84, -71,177,84,71,148,68,68,151,67,63,145,69,61,144,70,64,141,67,61,148,70,64,148,68, -64,154,72,64,145,69,63,158,72,60,154,72,58,143,69,57,136,69,60,136,69,60,136,69, -60,127,58,55,136,63,60,140,66,60,140,66,60,123,77,57,124,99,76,126,101,78,116, -92,72,100,80,64,81,65,55,69,58,51,141,118,75,150,120,74,156,123,77,174,143,91, -179,146,95,155,124,69,154,123,80,128,102,66,134,111,70,104,80,50,79,69,57,79,67, -57,94,80,64,101,84,63,117,68,51,189,180,115,193,185,117,193,185,117,173,169,103, -137,137,91,112,97,61,102,116,119,103,116,120,119,132,135,125,138,141,132,148, -150,147,162,163,157,169,170,166,178,179,163,176,176,157,168,160,153,160,138,146, -153,127,146,148,122,125,132,109,99,103,89,83,89,74,96,81,61,105,81,55,116,91,61, -129,110,87,133,114,91,121,99,71,122,101,76,117,97,73,107,89,69,92,79,62,85,73, -59,114,92,64,131,109,71,100,77,44,142,113,72,177,147,95,180,151,96,186,158,98, -183,153,95,156,129,81,102,80,46,80,65,53,78,64,54,103,81,65,124,101,78,134,108, -82,123,77,57,140,73,60,140,75,60,141,79,65,140,75,60,137,55,53,131,57,43,139,61, -43,138,59,44,153,62,57,163,88,73,176,90,74,164,89,74,169,94,71,169,94,71,179,91, -73,169,94,71,169,94,71,179,98,73,169,94,71,174,77,72,186,108,84,192,110,88,186, -108,84,164,73,66,191,106,87,192,119,90,191,106,87,188,77,62,186,94,58,189,99,63, -186,91,58,192,119,90,195,126,93,195,126,93,192,107,90,192,119,90,195,126,93,192, -117,88,183,87,79,188,111,84,179,106,83,176,93,74,176,90,74,179,98,73,179,109,81, -177,100,77,181,105,79,182,110,78,176,104,72,165,87,69,157,92,69,161,91,69,157, -92,69,141,72,65,157,92,69,162,88,68,157,77,69,123,77,57,129,104,81,121,96,75,93, -75,61,73,60,51,139,116,76,123,92,48,148,118,74,188,156,101,183,150,99,181,153, -99,176,142,94,130,102,58,111,86,51,129,107,69,104,87,66,87,74,61,98,83,64,113, -95,73,123,101,75,126,107,80,125,103,75,193,185,117,193,185,117,193,185,117,172, -168,99,137,127,87,110,94,59,103,115,118,106,120,123,119,132,135,125,140,141,131, -147,148,143,156,157,151,166,168,160,175,176,163,173,169,166,170,146,156,162,135, -146,153,127,143,147,121,122,129,106,96,100,86,81,84,75,87,83,67,105,81,55,116, -93,61,129,110,87,133,114,91,115,96,71,137,114,83,135,112,85,132,110,82,121,101, -77,108,91,72,93,80,63,88,75,60,131,107,69,129,104,69,143,117,75,167,134,83,183, -158,99,183,155,101,175,142,91,165,130,83,132,104,67,95,71,39,73,58,51,96,80,62, -126,103,78,123,77,57,157,77,69,157,92,69,163,89,69,163,93,71,148,66,60,154,74, -50,163,85,51,160,77,52,175,83,73,183,104,79,186,114,82,180,100,82,180,105,82, -182,104,80,180,106,84,180,100,82,180,105,82,184,109,82,183,105,81,190,98,86,197, -122,93,203,142,97,198,121,90,170,70,62,198,127,96,204,137,96,197,122,93,194,87, -62,192,101,70,195,113,69,194,87,62,197,122,93,203,142,97,198,127,96,197,110,93, -198,121,90,201,129,93,200,121,90,191,99,87,197,122,93,190,121,88,180,106,84,180, -100,82,183,104,79,182,107,80,180,105,82,186,105,80,187,112,83,183,99,73,169,83, -69,161,91,69,169,98,71,161,91,69,151,73,65,163,93,71,167,97,69,161,80,69,123,77, -57,116,94,72,90,72,58,116,92,60,100,73,42,147,112,72,184,152,100,188,161,102, -186,157,106,178,143,94,171,141,89,137,110,69,137,107,71,115,94,65,89,77,61,97, -83,67,112,95,74,123,104,79,135,112,83,137,114,85,135,114,83,115,97,71,128,116, -80,193,185,117,172,166,99,169,165,96,137,127,87,109,94,58,99,113,116,103,115, -118,118,131,134,125,140,141,131,147,148,138,154,156,148,165,166,159,170,172,160, -172,169,166,170,146,156,162,135,146,153,127,137,143,116,116,121,100,87,94,80,74, -80,71,86,81,65,105,81,55,116,93,61,129,110,87,133,114,91,105,88,69,115,97,75, -135,114,85,140,115,86,136,115,86,128,109,82,121,102,79,106,90,72,90,76,62,93,78, -59,131,105,69,129,106,67,156,124,78,148,117,76,178,144,96,180,150,98,171,140,90, -160,126,81,103,78,48,101,80,54,95,78,63,121,76,56,157,77,69,162,88,68,163,89,69, -161,91,69,151,69,63,155,72,49,161,76,53,166,74,52,176,78,70,183,104,79,180,106, -84,183,104,79,183,99,79,183,104,79,183,104,79,183,99,79,183,104,79,180,109,84, -181,110,85,189,98,89,198,121,90,199,125,93,198,121,90,178,71,66,198,127,96,199, -135,93,198,121,90,195,96,65,196,109,66,195,99,65,195,85,63,198,121,90,200,135, -96,198,127,96,198,113,90,198,121,90,199,135,93,198,127,96,191,99,87,198,121,90, -194,123,92,187,106,81,183,104,79,183,104,79,183,104,79,183,104,79,190,105,78, -185,101,75,184,97,70,169,83,69,162,88,68,163,93,71,162,88,68,153,71,65,167,86, -67,163,93,71,162,85,68,120,75,56,85,70,56,105,85,59,103,76,45,167,131,83,173, -141,91,183,151,101,177,142,91,166,130,84,164,129,80,142,117,74,131,106,71,84,71, -58,94,80,64,113,95,73,126,108,82,134,113,84,139,116,87,141,116,87,129,110,81, -113,96,75,108,90,72,162,151,100,173,169,103,169,165,96,169,165,96,137,127,87, -108,93,55,97,112,115,97,107,111,118,129,132,125,138,141,129,144,147,138,153,156, -147,163,165,159,170,172,162,173,168,165,170,146,156,162,135,144,151,125,131,138, -112,103,110,93,87,93,78,72,81,69,94,80,59,105,81,55,116,93,61,129,110,87,133, -114,91,190,182,114,111,92,73,111,94,73,125,106,79,139,116,87,146,124,92,149,126, -93,143,122,89,126,107,80,109,91,71,91,77,61,107,89,61,130,106,68,111,83,49,144, -114,74,170,136,88,172,136,90,172,136,90,155,122,81,117,94,62,81,61,43,119,74,55, -162,85,68,162,85,68,157,77,69,162,85,68,151,73,65,153,64,49,149,72,51,166,74,52, -176,80,70,183,104,79,183,104,79,183,99,79,183,99,79,183,99,79,183,99,79,183,99, -79,183,99,79,179,93,81,183,101,79,185,91,81,198,115,90,198,115,90,195,112,87, -196,106,94,197,119,95,198,115,90,198,122,96,191,91,71,195,94,63,194,93,62,191, -92,69,194,118,92,191,104,89,196,125,94,194,104,92,198,127,96,183,103,81,198,121, -90,192,100,88,198,115,90,189,98,89,185,103,81,180,93,82,183,99,79,180,93,82,183, -99,79,186,96,76,175,83,73,171,84,69,159,77,69,162,85,68,145,71,63,162,85,68,142, -66,62,162,88,68,142,73,62,151,75,65,121,76,56,69,47,34,104,83,56,151,119,78,182, -150,100,172,136,90,170,134,88,165,129,83,124,95,58,131,108,71,64,54,44,99,82,65, -121,100,77,133,111,83,148,125,92,153,128,95,149,126,93,135,114,85,122,102,78, -110,93,72,110,93,72,190,182,114,176,171,103,162,154,86,154,148,78,148,141,69, -105,91,55,91,103,108,96,108,110,101,113,116,117,130,133,124,138,140,129,144,147, -137,154,157,147,163,165,159,170,172,163,173,165,166,172,146,156,162,135,148,154, -128,138,144,118,113,118,97,87,94,80,80,84,75,96,81,61,105,81,55,116,93,61,129, -110,87,133,114,91,187,177,111,193,185,117,151,140,95,107,92,73,117,99,75,130, -110,82,146,124,92,153,128,95,149,125,93,142,117,88,126,106,80,96,80,64,79,68,57, -123,98,65,114,86,50,133,105,61,169,134,85,156,124,78,148,121,78,140,110,73,107, -77,56,122,76,56,134,70,58,126,71,58,119,63,57,130,71,58,136,76,60,130,71,58,133, -73,59,143,79,59,159,70,61,154,74,64,166,79,62,170,80,62,166,79,62,141,61,61,162, -74,62,158,84,66,158,84,66,144,66,64,158,84,66,167,88,69,170,90,72,177,87,75,178, -107,86,179,107,85,175,95,73,185,100,77,183,97,77,181,90,69,146,72,64,165,86,67, -172,94,70,166,89,74,146,66,64,166,75,68,171,95,77,175,81,73,175,78,73,180,88,76, -181,100,79,173,98,75,171,73,65,158,84,66,165,87,69,158,71,66,161,84,67,166,91, -68,153,83,69,140,60,58,143,80,65,151,79,65,141,78,65,141,74,65,141,79,65,145,82, -63,141,78,65,145,82,63,142,77,62,123,77,57,74,50,36,115,91,61,150,119,78,142, -112,70,173,141,95,107,80,45,102,79,46,123,96,65,81,68,57,100,84,66,128,107,82, -144,121,90,149,125,93,149,126,93,143,123,91,124,108,82,115,96,75,106,91,72,193, -185,117,193,185,117,170,165,99,159,153,83,154,146,78,148,141,69,141,132,62,87, -99,103,86,99,102,93,108,110,103,115,118,116,128,129,124,138,140,129,144,147,137, -154,157,147,163,165,159,170,172,163,173,165,166,172,146,156,162,135,146,153,127, -141,147,121,116,122,102,94,97,83,81,87,75,93,81,64,105,81,55,116,91,61,129,110, -87,133,114,91,177,166,95,193,185,117,193,185,117,193,185,117,108,92,74,118,101, -78,132,114,86,130,112,84,142,120,88,149,125,93,145,121,89,132,108,80,115,94,73, -94,79,62,82,65,46,128,101,66,138,108,70,124,98,64,145,116,75,137,108,71,112,82, -58,123,77,57,151,79,65,151,75,65,136,74,60,154,86,68,163,86,71,157,92,69,155,79, -69,166,98,72,173,103,75,176,89,72,183,93,75,186,114,82,185,113,81,167,67,67,177, -100,77,180,106,84,179,104,81,169,80,71,178,108,84,180,106,84,180,106,80,179,106, -81,180,105,82,181,103,79,177,105,77,182,102,78,187,112,83,185,108,81,174,99,76, -179,106,81,180,112,82,179,103,79,162,82,74,181,103,79,186,110,80,180,100,82,179, -103,83,184,112,84,184,106,82,179,106,81,179,88,79,182,104,80,184,103,78,176,85, -76,171,100,75,173,102,71,165,92,69,147,69,63,162,88,68,165,97,71,161,91,69,161, -82,69,163,89,69,165,93,71,161,91,69,162,85,68,163,93,71,123,77,57,75,51,37,111, -88,59,154,123,82,133,106,67,133,107,69,126,101,66,99,82,63,101,83,67,123,100,75, -136,113,84,146,120,90,147,124,91,136,114,86,128,109,82,130,112,86,115,98,75,141, -129,91,193,185,117,193,185,117,181,176,109,157,151,81,151,144,75,146,138,67,91, -103,108,53,61,64,7,7,7,84,96,97,91,105,109,100,115,118,116,128,129,124,138,140, -129,144,147,137,154,157,147,163,165,159,170,172,157,172,172,162,169,150,160,163, -137,148,154,128,146,148,122,124,131,108,99,102,87,83,90,78,93,91,69,105,81,55, -116,93,61,129,110,87,133,114,91,170,157,88,191,181,113,193,185,117,193,185,117, -193,185,117,193,185,117,122,104,80,116,101,76,115,98,75,123,102,79,137,113,85, -141,117,87,142,116,86,127,107,81,104,86,68,92,77,62,127,101,67,130,104,68,138, -108,70,118,91,60,112,83,58,123,77,57,163,93,71,162,85,68,157,92,69,172,97,70, -175,97,73,163,98,69,163,87,69,175,98,71,175,98,71,175,100,77,187,106,81,197,115, -83,189,113,83,179,87,77,181,103,79,185,108,81,179,106,83,178,90,78,183,108,81, -184,111,82,180,102,74,174,94,72,176,100,74,176,100,70,168,96,74,181,101,73,184, -105,78,184,108,78,167,91,73,174,94,72,180,103,76,174,99,76,158,74,68,178,102,78, -183,106,79,182,111,80,182,102,80,181,110,79,183,108,81,178,103,80,178,97,78,180, -104,78,175,106,75,168,92,74,166,89,68,169,94,71,163,89,69,153,71,65,162,88,68, -167,97,69,162,88,68,162,85,68,163,89,69,163,87,69,162,88,68,162,88,68,163,93,71, -123,77,57,78,54,38,90,71,44,134,106,70,127,101,67,123,99,67,94,80,62,108,89,70, -131,110,81,145,119,89,138,114,86,132,110,82,117,97,75,110,93,72,115,97,75,123, -105,81,193,185,117,193,185,117,193,185,117,193,185,117,169,165,96,151,143,75, -146,137,67,89,102,105,7,7,7,7,7,7,7,7,7,81,93,97,91,105,109,99,112,115,117,128, -130,124,138,140,129,144,147,137,153,154,147,163,165,157,169,170,157,172,173,153, -165,160,159,162,137,148,154,128,146,148,122,128,134,110,102,105,90,87,93,78,89, -90,75,105,81,55,113,92,63,129,110,87,133,114,91,115,127,131,189,179,109,193,185, -117,193,185,117,193,185,117,193,185,117,193,185,117,132,118,84,107,90,71,107,90, -71,109,92,73,120,99,76,137,114,85,143,119,87,131,110,83,111,93,71,101,85,67,114, -94,70,126,100,66,119,95,63,106,75,58,123,77,57,167,95,69,172,87,70,150,81,68, -172,92,74,175,102,73,175,102,73,167,90,69,172,97,70,175,98,71,172,97,70,186,103, -74,184,108,74,187,103,77,171,76,69,177,99,75,177,96,75,179,98,73,169,82,73,175, -98,71,172,97,70,171,86,69,168,94,68,172,97,70,163,98,69,163,87,69,184,90,68,185, -98,71,184,96,72,156,72,66,167,90,69,166,89,68,167,90,69,159,74,65,175,98,71,173, -95,71,177,100,73,174,94,72,180,102,74,175,98,71,174,97,70,168,86,70,167,90,69, -166,82,68,161,75,69,167,85,69,161,80,69,163,88,71,153,71,65,163,88,71,161,80,69, -162,85,68,161,82,69,162,88,68,162,88,68,162,85,68,162,85,68,161,82,69,123,77,57, -73,49,37,80,61,38,123,98,65,101,84,69,104,87,68,114,95,74,137,114,85,143,119,87, -134,112,84,116,96,74,106,89,70,107,91,71,106,89,70,188,180,114,193,185,117,193, -185,117,193,185,117,193,185,117,193,185,117,169,165,96,99,113,116,7,7,7,7,7,7,7, -7,7,7,7,7,7,7,7,80,93,96,91,105,109,99,111,114,116,130,131,125,138,141,129,144, -147,137,153,154,148,163,163,157,169,170,157,172,173,151,166,162,159,162,137,148, -154,128,146,148,122,125,132,109,102,105,90,87,93,78,84,90,75,109,84,53,122,103, -80,129,110,87,133,114,91,163,152,81,189,179,109,189,179,109,193,185,117,193,185, -117,193,185,117,193,185,117,193,185,117,193,185,117,107,89,69,103,86,69,105,88, -69,113,94,73,132,109,82,144,118,88,142,120,88,124,103,78,108,91,72,101,87,69, -104,83,56,110,84,56,123,77,57,137,77,61,130,75,60,135,69,61,135,69,61,123,55,55, -135,69,61,136,69,60,130,70,60,119,57,57,135,69,61,139,76,61,139,77,61,137,68,61, -138,78,62,139,76,61,139,70,61,143,77,59,152,80,58,142,77,62,126,58,58,135,78,63, -137,77,61,137,77,61,126,58,58,137,77,61,142,77,62,140,73,60,136,69,60,140,73,60, -140,73,60,140,66,60,140,62,56,137,63,53,132,54,42,130,46,40,140,66,60,139,76,65, -140,75,60,125,60,57,136,69,60,137,77,61,135,77,61,135,66,61,137,77,61,141,81,65, -135,78,63,140,66,60,142,77,62,142,81,62,140,66,60,152,80,58,153,77,59,153,77,59, -119,60,57,142,77,62,142,77,62,142,77,62,123,77,57,75,53,37,84,70,52,104,88,70, -111,94,73,126,106,80,147,122,89,143,119,87,126,105,80,111,93,71,103,88,69,103, -86,69,111,95,73,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,193, -185,117,189,179,109,169,165,96,147,141,71,91,105,109,18,20,21,7,7,7,7,7,7,7,7,7, -80,93,96,91,105,109,103,115,117,117,130,133,125,138,141,129,144,147,137,153,154, -148,163,163,154,169,170,159,170,170,159,168,156,156,162,135,146,153,127,146,148, -122,127,131,110,99,103,89,87,91,80,83,90,75,109,84,53,123,104,81,129,110,87,133, -114,91,169,156,85,189,179,109,189,179,109,189,179,109,193,185,117,193,185,117, -193,185,117,193,185,117,193,185,117,193,185,117,185,176,113,103,86,69,103,86,69, -110,93,72,128,108,82,154,127,96,149,125,93,128,107,80,114,96,74,103,87,69,92,80, -62,123,77,57,150,81,68,150,89,68,159,94,71,159,94,71,139,67,65,153,94,71,163,97, -71,157,90,69,151,73,65,159,92,71,163,93,71,157,92,69,154,78,68,161,91,69,163,98, -69,157,86,69,167,97,69,176,101,68,169,96,71,141,72,65,161,91,69,167,95,69,159, -96,71,153,77,65,161,91,69,172,97,70,157,90,69,157,92,69,161,91,69,163,98,69,162, -88,68,150,69,50,160,77,52,161,75,49,151,63,49,163,98,69,173,98,71,163,98,69,141, -74,65,162,88,68,169,96,71,161,91,69,157,77,69,163,87,69,167,95,69,162,88,68,162, -85,68,163,93,71,165,93,71,161,80,69,167,97,69,177,99,71,167,97,69,140,66,56,157, -92,69,163,93,71,157,92,69,123,77,57,93,80,63,102,86,68,118,100,78,135,116,85, -157,131,97,144,122,90,134,111,86,109,91,71,103,86,69,104,87,68,193,185,117,193, +160,135,122,160,135,122,160,135,122,146,124,109,132,112,93,112,127,129,102,112, +116,121,135,137,125,140,141,129,144,144,132,148,150,138,154,156,143,157,160,151, +159,144,151,159,135,150,154,128,144,151,125,146,148,122,132,140,113,100,108,93, +99,102,87,97,99,84,144,113,83,152,127,114,156,131,118,159,133,119,160,135,122, +160,135,122,160,135,122,160,135,122,160,135,122,160,135,122,160,135,122,160,135, +122,165,147,125,165,147,125,137,118,93,140,139,106,188,178,112,193,185,117,140, +107,72,123,77,57,123,77,57,123,77,57,89,59,41,119,91,59,113,85,61,123,77,57,176, +103,70,172,97,74,154,74,68,172,97,70,173,95,71,172,97,70,162,88,68,162,88,68, +163,89,69,162,88,68,162,88,68,163,87,69,163,87,69,156,76,68,151,68,49,152,69,50, +151,71,49,144,66,56,162,88,68,162,88,68,162,88,68,173,86,65,175,90,67,175,90,67, +173,88,65,162,88,68,163,89,69,167,88,67,162,85,68,162,88,68,163,89,69,167,86,67, +151,73,65,167,86,67,163,89,69,163,88,71,154,78,68,163,93,71,163,91,69,162,88,68, +162,85,68,162,88,68,162,88,68,162,85,68,173,91,65,175,90,67,173,88,65,162,69,62, +162,88,68,163,89,69,162,85,68,145,79,63,167,88,67,163,89,69,162,88,68,162,85,68, +162,88,68,123,77,57,81,56,41,92,74,50,76,49,36,95,56,41,122,76,56,123,77,57,123, +77,57,188,180,114,193,185,117,180,171,110,140,134,104,165,147,125,165,147,125, +165,147,125,160,135,122,160,135,122,160,135,122,160,135,122,160,135,122,160,135, +122,160,135,122,160,135,122,160,135,122,160,135,122,143,122,109,143,122,109,124, +100,87,108,118,122,102,116,119,119,134,135,125,140,141,129,144,147,135,151,153, +146,160,160,150,165,166,154,166,157,159,163,140,151,157,131,144,151,125,143,147, +121,112,119,99,97,102,87,91,96,81,87,91,80,143,108,78,146,115,84,155,130,117, +159,133,119,160,135,122,160,135,122,160,135,122,160,135,122,165,147,125,165,147, +125,165,147,125,137,118,93,137,118,93,140,139,106,180,171,110,193,185,117,188, +178,110,123,77,57,123,77,57,123,77,57,104,60,42,115,79,53,114,93,62,128,105,68, +99,74,51,123,77,57,130,61,58,119,57,57,130,71,58,123,64,55,126,71,58,104,57,54, +123,60,55,126,71,58,118,54,54,105,56,51,98,53,48,114,58,52,101,53,49,127,61,55, +112,55,54,127,62,57,111,45,43,127,70,57,119,63,57,126,58,58,112,56,52,127,70,57, +130,71,58,123,55,55,112,54,55,118,60,54,140,66,56,119,57,57,130,71,58,125,63,57, +140,66,56,119,63,57,136,74,60,130,75,60,136,69,60,114,49,38,126,50,40,124,55,42, +120,52,52,127,61,55,126,71,58,126,64,58,112,54,55,130,71,58,127,70,57,134,70,58, +126,63,58,136,74,60,140,66,56,136,69,60,134,67,58,136,69,60,136,74,60,130,61,58, +136,74,60,140,83,60,140,75,60,123,77,57,72,52,36,116,92,60,115,93,59,105,88,57, +76,51,36,118,72,54,123,77,57,123,77,57,131,91,65,193,185,117,180,171,110,140, +139,106,140,139,106,137,118,93,137,118,93,137,118,93,137,118,93,165,147,125,162, +139,122,162,140,122,162,140,122,162,140,122,160,135,122,160,135,122,143,122,109, +143,122,109,122,99,86,103,118,121,100,115,118,119,132,135,125,140,141,129,146, +147,138,154,156,147,163,165,154,169,170,156,168,163,163,168,143,153,159,132,144, +151,125,138,144,118,113,118,100,96,100,86,81,87,75,74,80,68,135,102,74,144,113, +83,154,129,116,159,133,119,137,118,93,137,118,93,137,118,93,137,118,93,137,118, +93,137,118,93,140,138,104,140,139,106,140,139,106,193,185,117,190,182,114,126, +83,60,123,77,57,123,77,57,122,76,56,88,57,40,131,109,71,144,118,78,146,120,76, +88,66,38,111,88,59,123,77,57,144,81,62,142,73,62,150,81,68,154,86,68,142,73,62, +141,78,65,152,84,66,145,82,63,138,56,54,107,58,47,108,53,44,96,49,42,104,57,46, +138,78,60,154,83,66,145,82,63,145,79,63,152,84,66,152,84,66,145,82,63,145,82,63, +153,79,65,145,82,63,136,63,60,151,79,65,159,90,69,151,79,65,155,73,65,154,88,68, +157,92,69,154,88,68,154,88,68,157,92,69,161,91,69,154,78,68,142,72,48,146,75,50, +145,75,51,131,47,43,153,79,65,156,91,68,151,79,65,141,74,65,153,85,65,161,91,69, +154,88,68,154,88,68,161,91,69,161,91,69,157,86,69,157,92,69,161,91,69,157,92,69, +151,73,65,157,92,69,163,93,71,157,92,69,123,77,57,80,60,40,128,104,70,147,122, +77,149,124,81,111,90,61,106,80,54,78,50,36,122,76,56,123,77,57,123,77,57,163, +150,97,191,183,117,193,185,117,140,139,106,140,139,106,136,118,94,137,118,93, +137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93,122,105,80, +122,105,80,122,105,80,91,68,53,103,115,118,102,113,116,118,131,134,125,140,141, +132,148,150,143,157,160,154,169,170,162,173,175,160,169,169,162,168,147,154,160, +134,146,153,127,141,146,119,113,118,97,94,97,83,72,81,69,68,72,64,119,90,64,140, +106,78,154,129,116,159,133,119,137,118,93,137,118,93,137,118,93,137,118,93,140, +139,106,140,139,106,189,179,113,193,185,117,193,185,115,151,132,87,123,77,57, +123,77,57,119,75,55,91,59,41,122,100,64,127,101,67,155,128,85,154,123,80,148, +119,78,136,112,74,122,100,66,123,77,57,161,84,67,157,77,69,163,89,69,172,97,70, +157,77,69,162,88,68,173,98,71,162,88,68,119,59,53,105,52,40,104,51,40,104,51,40, +110,57,44,142,74,58,166,96,72,161,91,69,161,86,69,166,96,72,165,91,71,161,82,69, +161,91,69,170,100,72,163,93,71,143,65,59,165,92,69,174,103,72,168,93,70,167,84, +73,168,96,74,176,100,70,165,92,69,163,91,69,164,94,72,165,97,71,161,82,69,150, +73,50,160,82,52,154,76,52,141,57,51,162,88,68,169,98,71,161,91,69,153,79,65,162, +88,68,165,91,65,161,92,71,161,91,69,165,97,71,165,97,71,162,85,68,161,91,69,163, +93,71,162,88,68,153,71,65,163,89,69,170,100,72,161,91,69,123,77,57,86,65,44,122, +100,66,138,108,70,151,123,79,127,105,67,133,108,69,103,85,57,66,46,34,101,55,39, +122,76,56,123,77,57,123,77,57,181,174,109,193,185,117,193,185,117,153,158,110, +140,139,106,140,139,106,137,118,93,137,118,93,137,118,93,137,118,93,137,118,93, +122,105,80,122,105,80,122,105,80,94,78,58,103,115,118,101,113,116,117,130,133, +128,140,141,134,150,151,148,163,163,160,172,173,166,179,181,162,176,176,159,168, +154,156,162,135,146,153,127,141,146,119,110,113,96,87,91,80,68,77,65,69,72,61, +110,87,58,115,93,62,129,111,87,133,115,91,137,118,93,155,146,103,153,158,110, +153,158,110,153,158,110,193,185,117,191,183,115,171,166,105,123,77,57,123,77,57, +123,77,57,110,60,42,86,68,57,88,72,59,123,98,66,127,101,65,158,128,82,116,86,48, +133,106,67,135,109,73,122,95,64,123,77,57,162,97,68,162,85,68,163,93,71,167,88, +67,161,80,69,162,88,68,165,97,71,167,86,67,126,66,58,108,55,42,105,52,40,104,51, +40,108,56,44,161,92,71,163,93,71,162,88,68,162,88,68,163,91,69,162,88,68,162,85, +68,162,88,68,164,94,72,168,90,70,151,77,65,175,95,73,177,103,77,179,96,73,179, +93,73,179,96,73,177,106,75,175,93,71,173,93,71,170,97,74,169,96,73,167,84,67, +156,70,50,162,84,50,156,74,52,143,57,51,165,88,67,163,93,71,162,88,68,157,86,69, +162,88,68,151,85,59,162,88,68,162,88,68,163,93,71,163,92,71,162,84,68,162,88,68, +163,93,71,162,88,68,153,71,65,162,88,68,163,93,71,162,88,68,123,77,57,90,64,44, +120,96,64,131,108,67,140,113,70,153,126,79,124,102,65,86,69,54,82,68,58,93,75, +63,80,52,36,115,72,53,123,77,57,123,77,57,138,112,78,182,175,110,193,185,117, +194,186,116,153,158,110,153,158,110,153,158,110,147,129,95,137,118,93,137,118, +93,122,105,80,122,105,80,122,105,80,94,80,58,103,115,118,101,113,116,118,130, +133,128,140,141,135,150,150,147,163,165,162,173,175,168,181,182,166,179,179,156, +168,165,154,160,135,146,153,127,138,143,116,100,109,91,80,86,74,65,72,64,69,72, +64,109,84,53,116,93,61,129,110,87,133,114,91,153,158,110,153,158,110,153,158, +110,193,185,117,191,183,117,178,172,108,133,103,71,123,77,57,123,77,57,115,69, +51,89,58,39,125,101,77,114,91,70,100,79,64,88,71,58,70,57,49,155,124,81,176,149, +96,147,122,79,120,94,58,115,84,59,123,77,57,161,84,67,162,85,68,163,88,71,162, +85,68,161,80,69,162,88,68,153,77,65,162,88,68,140,73,64,132,65,52,108,56,44,110, +54,43,159,85,65,162,88,68,162,88,68,162,88,68,162,88,68,161,86,69,162,88,68,159, +86,69,168,90,70,161,82,69,176,98,74,165,76,69,181,101,77,179,100,79,181,100,79, +181,100,79,181,98,79,181,98,79,180,102,78,181,95,75,171,86,75,179,96,73,175,89, +75,164,68,52,138,56,40,161,72,51,148,59,52,169,92,71,155,79,67,167,90,69,159,72, +65,167,88,69,158,76,68,162,84,68,161,83,67,157,89,68,161,86,67,161,82,69,161,83, +67,151,75,65,162,88,68,145,73,63,162,88,68,142,73,62,153,77,65,123,77,57,77,52, +37,116,94,60,152,125,82,170,136,92,121,94,64,80,67,58,99,79,63,111,87,69,123,98, +75,128,104,80,128,104,80,80,50,36,117,71,53,122,76,56,123,77,57,168,160,102,189, +179,113,193,185,117,193,185,117,153,158,110,153,158,110,153,158,110,137,118,93, +122,105,80,122,105,80,122,105,80,94,78,58,103,115,118,101,113,117,119,132,134, +128,143,144,137,153,154,150,165,165,162,173,175,168,181,182,166,179,182,157,169, +166,154,160,135,146,153,127,134,141,115,99,102,87,80,84,75,71,74,65,71,74,65, +105,81,55,116,93,61,129,110,87,133,114,91,153,158,110,193,185,117,193,185,117, +190,182,114,166,157,100,123,77,57,123,77,57,119,74,54,87,56,38,105,86,66,120,99, +78,131,106,81,129,104,79,124,99,76,119,95,73,98,80,66,77,63,55,120,94,64,149, +124,81,135,112,73,114,86,62,123,77,57,163,98,69,126,71,58,119,57,57,130,71,58, +140,76,56,126,71,58,126,71,58,126,71,58,135,77,61,134,65,56,125,61,55,132,63,54, +134,65,56,119,57,57,144,58,56,144,62,56,144,71,56,125,55,55,140,72,58,144,78,62, +154,71,60,159,73,61,161,85,61,156,83,66,158,84,66,158,84,66,158,84,66,158,86,66, +144,66,64,158,84,66,162,94,68,156,83,66,136,67,64,156,83,66,161,84,67,154,83,66, +159,68,61,151,73,63,158,67,60,149,63,61,139,65,61,151,66,59,150,69,58,142,68,58, +139,76,61,143,76,61,142,81,62,126,60,57,140,75,60,142,77,62,140,75,60,128,46,40, +130,61,42,131,57,43,130,56,42,141,78,65,142,77,62,123,77,57,80,57,40,114,93,62, +148,119,80,87,68,57,81,67,57,103,80,65,121,94,75,127,101,77,129,104,81,128,103, +80,113,93,73,100,81,66,65,47,39,98,48,36,123,77,57,123,77,57,128,90,64,184,175, +110,193,185,117,193,185,117,193,185,117,153,158,110,153,158,110,122,105,80,122, +105,80,122,105,80,94,78,58,103,115,118,103,116,119,118,131,134,128,144,147,138, +154,156,151,166,166,160,172,173,168,181,182,168,181,181,163,173,165,156,162,135, +146,153,127,135,141,115,99,103,89,81,87,75,71,77,68,74,78,67,105,81,55,116,91, +61,129,110,87,133,114,91,193,185,117,193,185,117,190,182,112,127,84,61,123,77, +57,123,77,57,102,59,42,90,61,42,98,82,55,105,87,62,95,80,63,115,92,73,121,98,75, +128,100,78,126,101,78,119,94,73,108,85,66,88,73,58,84,70,57,126,101,66,113,90, +63,123,77,57,167,95,69,141,79,65,140,66,60,145,82,63,159,94,71,145,82,63,145,82, +63,153,85,65,154,88,68,151,79,65,151,81,65,155,91,69,155,80,65,138,63,60,164,82, +66,170,93,72,166,87,66,150,76,68,168,91,70,177,100,77,177,90,73,179,88,73,180, +104,78,178,108,84,179,98,73,179,91,73,178,108,84,179,109,81,176,83,74,179,109, +81,182,104,80,179,109,81,164,83,74,179,109,81,183,104,79,179,109,81,177,100,77, +178,104,78,178,108,84,177,82,73,176,89,72,179,106,77,177,105,77,172,85,70,167, +98,72,167,89,68,159,92,68,141,66,60,157,91,69,163,93,71,157,91,69,145,69,51,146, +75,50,152,72,50,145,75,51,161,86,69,163,93,71,123,77,57,80,57,40,109,83,60,86, +71,58,99,79,65,114,90,70,122,98,76,128,100,78,124,97,76,112,93,72,104,86,66,86, +70,58,114,95,64,98,82,55,86,72,46,80,52,36,121,75,55,123,77,57,123,77,57,168, +154,100,193,185,117,193,185,117,193,185,117,193,185,117,134,143,94,122,105,80, +122,105,80,94,78,58,102,116,119,105,118,121,119,133,135,131,147,148,143,157,157, +148,165,166,160,172,173,166,181,181,166,181,181,162,173,173,154,162,140,144,151, +125,134,141,115,103,110,93,87,93,78,74,80,71,86,83,68,105,81,55,116,91,61,129, +111,87,134,115,90,193,185,117,171,153,97,123,77,57,123,77,57,120,65,48,96,62,42, +128,107,70,134,110,73,129,105,71,125,103,67,131,110,71,85,71,57,93,76,61,105,84, +67,118,94,72,122,98,76,122,98,74,118,94,72,100,82,64,86,70,60,102,78,55,123,77, +57,167,95,69,157,92,69,154,78,68,163,89,69,164,94,72,161,91,69,161,91,69,165,97, +71,165,93,71,163,87,69,165,92,69,172,99,74,173,93,71,158,73,66,181,104,73,186, +108,80,182,106,76,174,81,76,182,104,80,180,106,84,180,105,82,180,98,82,183,104, +79,184,106,82,184,104,82,184,110,84,189,116,87,188,116,88,185,98,87,188,112,86, +190,117,88,185,111,85,175,83,73,184,107,84,185,113,85,180,105,82,180,98,82,182, +104,80,184,106,82,180,93,82,180,105,82,182,104,80,180,106,84,180,96,80,179,100, +75,175,100,74,168,93,70,149,70,64,162,88,68,163,93,71,162,88,68,150,66,50,150, +76,50,155,72,49,150,73,50,161,86,69,163,89,69,123,77,57,85,70,55,89,73,61,108, +87,68,121,96,75,124,97,76,118,94,72,108,86,68,95,75,61,81,67,55,132,108,75,132, +109,72,102,82,57,144,119,77,145,119,77,112,92,62,105,86,55,79,53,37,123,77,57, +123,77,57,123,79,57,193,185,117,193,185,117,193,185,117,193,185,117,137,129,90, +122,105,80,94,78,58,102,115,119,103,115,120,119,133,135,129,146,147,141,156,156, +147,162,163,160,172,173,166,181,181,166,181,181,160,173,172,150,159,147,146,153, +127,143,147,121,119,124,103,91,94,83,80,84,75,93,81,64,109,84,53,116,91,61,129, +111,87,134,115,90,123,77,57,123,77,57,123,77,57,89,60,41,124,103,66,123,99,67, +140,116,74,159,129,87,160,131,86,171,139,93,117,94,62,138,116,74,140,123,80,76, +62,52,86,70,58,99,79,65,114,91,70,124,99,76,121,96,75,104,83,66,93,75,61,123,77, +57,163,93,71,162,88,68,157,77,69,162,88,68,162,88,68,162,88,68,162,88,68,165,88, +67,166,89,68,169,89,71,175,95,73,180,99,74,180,102,78,174,82,72,189,108,79,190, +105,78,190,105,78,179,88,79,183,104,79,183,104,79,184,105,80,188,111,84,192,113, +86,195,119,89,196,120,90,197,119,89,197,121,91,198,121,90,194,104,92,198,121,90, +198,121,90,198,121,90,181,98,87,196,120,90,196,120,90,194,115,88,192,113,86,186, +108,84,183,104,79,183,104,79,183,104,79,183,104,79,183,104,79,179,93,81,181,103, +79,180,102,78,176,98,74,158,75,68,166,89,68,162,88,68,162,88,68,151,63,49,151, +68,49,158,79,58,151,68,49,162,88,68,162,88,68,123,77,57,98,79,64,111,89,69,122, +98,76,122,98,74,110,87,68,90,73,60,78,64,54,109,94,67,135,112,74,148,122,78,148, +121,76,165,135,90,161,131,85,158,130,86,144,118,76,101,81,53,101,83,55,63,49,37, +111,61,45,123,77,57,123,77,57,181,166,107,193,185,117,193,185,117,173,169,103, +137,127,87,94,78,58,102,115,119,100,113,118,119,133,135,127,140,141,134,150,151, +150,163,165,160,170,173,166,179,179,166,181,181,156,168,168,147,159,146,144,151, +127,146,148,122,124,131,108,96,100,86,83,89,74,97,81,59,109,86,56,116,91,61,129, +111,87,133,114,91,123,77,57,95,78,61,88,74,60,82,71,58,90,76,60,135,109,73,104, +81,48,161,133,89,154,126,82,176,141,92,175,144,91,171,143,90,170,148,97,147,124, +78,138,116,78,75,61,51,89,72,59,108,87,68,122,95,74,124,99,76,111,89,69,123,77, +57,126,63,58,112,54,55,127,58,55,119,57,57,118,54,54,108,42,40,109,41,39,115,50, +39,118,54,54,130,65,58,127,60,57,144,72,64,136,64,64,144,66,64,136,64,64,148,70, +64,136,64,64,148,70,64,144,66,64,138,64,64,143,71,65,163,75,69,180,85,72,155,69, +69,157,77,71,149,67,69,185,84,71,158,66,66,164,60,46,161,70,63,178,78,62,157,81, +71,180,88,76,185,84,71,180,88,76,174,80,72,185,84,71,177,84,71,148,68,68,151,67, +63,145,69,61,144,70,64,141,67,61,148,70,64,148,68,64,154,72,64,145,69,63,158,72, +60,154,72,58,143,69,57,136,69,60,136,69,60,136,69,60,127,58,55,136,63,60,140,66, +60,140,66,60,123,77,57,124,99,76,126,101,78,116,92,72,100,80,64,81,65,55,69,58, +51,141,118,75,150,120,74,156,123,77,174,143,91,179,146,95,155,124,69,154,123,80, +128,102,66,134,111,70,104,80,50,79,69,57,79,67,57,94,80,64,101,84,63,117,68,51, +189,180,115,193,185,117,193,185,117,173,169,103,137,137,91,112,97,61,102,116, +119,103,116,120,119,132,135,125,138,141,132,148,150,147,162,163,157,169,170,166, +178,179,163,176,176,157,168,160,153,160,138,146,153,127,146,148,122,125,132,109, +99,103,89,83,89,74,96,81,61,105,81,55,116,91,61,129,110,87,133,114,91,121,99,71, +122,101,76,117,97,73,107,89,69,92,79,62,85,73,59,114,92,64,131,109,71,100,77,44, +142,113,72,177,147,95,180,151,96,186,158,98,183,153,95,156,129,81,102,80,46,80, +65,53,78,64,54,103,81,65,124,101,78,134,108,82,123,77,57,140,73,60,140,75,60, +141,79,65,140,75,60,137,55,53,131,57,43,139,61,43,138,59,44,153,62,57,163,88,73, +176,90,74,164,89,74,169,94,71,169,94,71,179,91,73,169,94,71,169,94,71,179,98,73, +169,94,71,174,77,72,186,108,84,192,110,88,186,108,84,164,73,66,191,106,87,192, +119,90,191,106,87,188,77,62,186,94,58,189,99,63,186,91,58,192,119,90,195,126,93, +195,126,93,192,107,90,192,119,90,195,126,93,192,117,88,183,87,79,188,111,84,179, +106,83,176,93,74,176,90,74,179,98,73,179,109,81,177,100,77,181,105,79,182,110, +78,176,104,72,165,87,69,157,92,69,161,91,69,157,92,69,141,72,65,157,92,69,162, +88,68,157,77,69,123,77,57,129,104,81,121,96,75,93,75,61,73,60,51,139,116,76,123, +92,48,148,118,74,188,156,101,183,150,99,181,153,99,176,142,94,130,102,58,111,86, +51,129,107,69,104,87,66,87,74,61,98,83,64,113,95,73,123,101,75,126,107,80,125, +103,75,193,185,117,193,185,117,193,185,117,172,168,99,137,127,87,110,94,59,103, +115,118,106,120,123,119,132,135,125,140,141,131,147,148,143,156,157,151,166,168, +160,175,176,163,173,169,166,170,146,156,162,135,146,153,127,143,147,121,122,129, +106,96,100,86,81,84,75,87,83,67,105,81,55,116,93,61,129,110,87,133,114,91,115, +96,71,137,114,83,135,112,85,132,110,82,121,101,77,108,91,72,93,80,63,88,75,60, +131,107,69,129,104,69,143,117,75,167,134,83,183,158,99,183,155,101,175,142,91, +165,130,83,132,104,67,95,71,39,73,58,51,96,80,62,126,103,78,123,77,57,157,77,69, +157,92,69,163,89,69,163,93,71,148,66,60,154,74,50,163,85,51,160,77,52,175,83,73, +183,104,79,186,114,82,180,100,82,180,105,82,182,104,80,180,106,84,180,100,82, +180,105,82,184,109,82,183,105,81,190,98,86,197,122,93,203,142,97,198,121,90,170, +70,62,198,127,96,204,137,96,197,122,93,194,87,62,192,101,70,195,113,69,194,87, +62,197,122,93,203,142,97,198,127,96,197,110,93,198,121,90,201,129,93,200,121,90, +191,99,87,197,122,93,190,121,88,180,106,84,180,100,82,183,104,79,182,107,80,180, +105,82,186,105,80,187,112,83,183,99,73,169,83,69,161,91,69,169,98,71,161,91,69, +151,73,65,163,93,71,167,97,69,161,80,69,123,77,57,116,94,72,90,72,58,116,92,60, +100,73,42,147,112,72,184,152,100,188,161,102,186,157,106,178,143,94,171,141,89, +137,110,69,137,107,71,115,94,65,89,77,61,97,83,67,112,95,74,123,104,79,135,112, +83,137,114,85,135,114,83,115,97,71,128,116,80,193,185,117,172,166,99,169,165,96, +137,127,87,109,94,58,99,113,116,103,115,118,118,131,134,125,140,141,131,147,148, +138,154,156,148,165,166,159,170,172,160,172,169,166,170,146,156,162,135,146,153, +127,137,143,116,116,121,100,87,94,80,74,80,71,86,81,65,105,81,55,116,93,61,129, +110,87,133,114,91,105,88,69,115,97,75,135,114,85,140,115,86,136,115,86,128,109, +82,121,102,79,106,90,72,90,76,62,93,78,59,131,105,69,129,106,67,156,124,78,148, +117,76,178,144,96,180,150,98,171,140,90,160,126,81,103,78,48,101,80,54,95,78,63, +121,76,56,157,77,69,162,88,68,163,89,69,161,91,69,151,69,63,155,72,49,161,76,53, +166,74,52,176,78,70,183,104,79,180,106,84,183,104,79,183,99,79,183,104,79,183, +104,79,183,99,79,183,104,79,180,109,84,181,110,85,189,98,89,198,121,90,199,125, +93,198,121,90,178,71,66,198,127,96,199,135,93,198,121,90,195,96,65,196,109,66, +195,99,65,195,85,63,198,121,90,200,135,96,198,127,96,198,113,90,198,121,90,199, +135,93,198,127,96,191,99,87,198,121,90,194,123,92,187,106,81,183,104,79,183,104, +79,183,104,79,183,104,79,190,105,78,185,101,75,184,97,70,169,83,69,162,88,68, +163,93,71,162,88,68,153,71,65,167,86,67,163,93,71,162,85,68,120,75,56,85,70,56, +105,85,59,103,76,45,167,131,83,173,141,91,183,151,101,177,142,91,166,130,84,164, +129,80,142,117,74,131,106,71,84,71,58,94,80,64,113,95,73,126,108,82,134,113,84, +139,116,87,141,116,87,129,110,81,113,96,75,108,90,72,162,151,100,173,169,103, +169,165,96,169,165,96,137,127,87,108,93,55,97,112,115,97,107,111,118,129,132, +125,138,141,129,144,147,138,153,156,147,163,165,159,170,172,162,173,168,165,170, +146,156,162,135,144,151,125,131,138,112,103,110,93,87,93,78,72,81,69,94,80,59, +105,81,55,116,93,61,129,110,87,133,114,91,190,182,114,111,92,73,111,94,73,125, +106,79,139,116,87,146,124,92,149,126,93,143,122,89,126,107,80,109,91,71,91,77, +61,107,89,61,130,106,68,111,83,49,144,114,74,170,136,88,172,136,90,172,136,90, +155,122,81,117,94,62,81,61,43,119,74,55,162,85,68,162,85,68,157,77,69,162,85,68, +151,73,65,153,64,49,149,72,51,166,74,52,176,80,70,183,104,79,183,104,79,183,99, +79,183,99,79,183,99,79,183,99,79,183,99,79,183,99,79,179,93,81,183,101,79,185, +91,81,198,115,90,198,115,90,195,112,87,196,106,94,197,119,95,198,115,90,198,122, +96,191,91,71,195,94,63,194,93,62,191,92,69,194,118,92,191,104,89,196,125,94,194, +104,92,198,127,96,183,103,81,198,121,90,192,100,88,198,115,90,189,98,89,185,103, +81,180,93,82,183,99,79,180,93,82,183,99,79,186,96,76,175,83,73,171,84,69,159,77, +69,162,85,68,145,71,63,162,85,68,142,66,62,162,88,68,142,73,62,151,75,65,121,76, +56,69,47,34,104,83,56,151,119,78,182,150,100,172,136,90,170,134,88,165,129,83, +124,95,58,131,108,71,64,54,44,99,82,65,121,100,77,133,111,83,148,125,92,153,128, +95,149,126,93,135,114,85,122,102,78,110,93,72,110,93,72,190,182,114,176,171,103, +162,154,86,154,148,78,148,141,69,105,91,55,91,103,108,96,108,110,101,113,116, +117,130,133,124,138,140,129,144,147,137,154,157,147,163,165,159,170,172,163,173, +165,166,172,146,156,162,135,148,154,128,138,144,118,113,118,97,87,94,80,80,84, +75,96,81,61,105,81,55,116,93,61,129,110,87,133,114,91,187,177,111,193,185,117, +151,140,95,107,92,73,117,99,75,130,110,82,146,124,92,153,128,95,149,125,93,142, +117,88,126,106,80,96,80,64,79,68,57,123,98,65,114,86,50,133,105,61,169,134,85, +156,124,78,148,121,78,140,110,73,107,77,56,122,76,56,134,70,58,126,71,58,119,63, +57,130,71,58,136,76,60,130,71,58,133,73,59,143,79,59,159,70,61,154,74,64,166,79, +62,170,80,62,166,79,62,141,61,61,162,74,62,158,84,66,158,84,66,144,66,64,158,84, +66,167,88,69,170,90,72,177,87,75,178,107,86,179,107,85,175,95,73,185,100,77,183, +97,77,181,90,69,146,72,64,165,86,67,172,94,70,166,89,74,146,66,64,166,75,68,171, +95,77,175,81,73,175,78,73,180,88,76,181,100,79,173,98,75,171,73,65,158,84,66, +165,87,69,158,71,66,161,84,67,166,91,68,153,83,69,140,60,58,143,80,65,151,79,65, +141,78,65,141,74,65,141,79,65,145,82,63,141,78,65,145,82,63,142,77,62,123,77,57, +74,50,36,115,91,61,150,119,78,142,112,70,173,141,95,107,80,45,102,79,46,123,96, +65,81,68,57,100,84,66,128,107,82,144,121,90,149,125,93,149,126,93,143,123,91, +124,108,82,115,96,75,106,91,72,193,185,117,193,185,117,170,165,99,159,153,83, +154,146,78,148,141,69,141,132,62,87,99,103,86,99,102,93,108,110,103,115,118,116, +128,129,124,138,140,129,144,147,137,154,157,147,163,165,159,170,172,163,173,165, +166,172,146,156,162,135,146,153,127,141,147,121,116,122,102,94,97,83,81,87,75, +93,81,64,105,81,55,116,91,61,129,110,87,133,114,91,177,166,95,193,185,117,193, +185,117,193,185,117,108,92,74,118,101,78,132,114,86,130,112,84,142,120,88,149, +125,93,145,121,89,132,108,80,115,94,73,94,79,62,82,65,46,128,101,66,138,108,70, +124,98,64,145,116,75,137,108,71,112,82,58,123,77,57,151,79,65,151,75,65,136,74, +60,154,86,68,163,86,71,157,92,69,155,79,69,166,98,72,173,103,75,176,89,72,183, +93,75,186,114,82,185,113,81,167,67,67,177,100,77,180,106,84,179,104,81,169,80, +71,178,108,84,180,106,84,180,106,80,179,106,81,180,105,82,181,103,79,177,105,77, +182,102,78,187,112,83,185,108,81,174,99,76,179,106,81,180,112,82,179,103,79,162, +82,74,181,103,79,186,110,80,180,100,82,179,103,83,184,112,84,184,106,82,179,106, +81,179,88,79,182,104,80,184,103,78,176,85,76,171,100,75,173,102,71,165,92,69, +147,69,63,162,88,68,165,97,71,161,91,69,161,82,69,163,89,69,165,93,71,161,91,69, +162,85,68,163,93,71,123,77,57,75,51,37,111,88,59,154,123,82,133,106,67,133,107, +69,126,101,66,99,82,63,101,83,67,123,100,75,136,113,84,146,120,90,147,124,91, +136,114,86,128,109,82,130,112,86,115,98,75,141,129,91,193,185,117,193,185,117, +181,176,109,157,151,81,151,144,75,146,138,67,91,103,108,53,61,64,7,7,7,84,96,97, +91,105,109,100,115,118,116,128,129,124,138,140,129,144,147,137,154,157,147,163, +165,159,170,172,157,172,172,162,169,150,160,163,137,148,154,128,146,148,122,124, +131,108,99,102,87,83,90,78,93,91,69,105,81,55,116,93,61,129,110,87,133,114,91, +170,157,88,191,181,113,193,185,117,193,185,117,193,185,117,193,185,117,122,104, +80,116,101,76,115,98,75,123,102,79,137,113,85,141,117,87,142,116,86,127,107,81, +104,86,68,92,77,62,127,101,67,130,104,68,138,108,70,118,91,60,112,83,58,123,77, +57,163,93,71,162,85,68,157,92,69,172,97,70,175,97,73,163,98,69,163,87,69,175,98, +71,175,98,71,175,100,77,187,106,81,197,115,83,189,113,83,179,87,77,181,103,79, +185,108,81,179,106,83,178,90,78,183,108,81,184,111,82,180,102,74,174,94,72,176, +100,74,176,100,70,168,96,74,181,101,73,184,105,78,184,108,78,167,91,73,174,94, +72,180,103,76,174,99,76,158,74,68,178,102,78,183,106,79,182,111,80,182,102,80, +181,110,79,183,108,81,178,103,80,178,97,78,180,104,78,175,106,75,168,92,74,166, +89,68,169,94,71,163,89,69,153,71,65,162,88,68,167,97,69,162,88,68,162,85,68,163, +89,69,163,87,69,162,88,68,162,88,68,163,93,71,123,77,57,78,54,38,90,71,44,134, +106,70,127,101,67,123,99,67,94,80,62,108,89,70,131,110,81,145,119,89,138,114,86, +132,110,82,117,97,75,110,93,72,115,97,75,123,105,81,193,185,117,193,185,117,193, +185,117,193,185,117,169,165,96,151,143,75,146,137,67,89,102,105,7,7,7,7,7,7,7,7, +7,81,93,97,91,105,109,99,112,115,117,128,130,124,138,140,129,144,147,137,153, +154,147,163,165,157,169,170,157,172,173,153,165,160,159,162,137,148,154,128,146, +148,122,128,134,110,102,105,90,87,93,78,89,90,75,105,81,55,113,92,63,129,110,87, +133,114,91,115,127,131,189,179,109,193,185,117,193,185,117,193,185,117,193,185, +117,193,185,117,132,118,84,107,90,71,107,90,71,109,92,73,120,99,76,137,114,85, +143,119,87,131,110,83,111,93,71,101,85,67,114,94,70,126,100,66,119,95,63,106,75, +58,123,77,57,167,95,69,172,87,70,150,81,68,172,92,74,175,102,73,175,102,73,167, +90,69,172,97,70,175,98,71,172,97,70,186,103,74,184,108,74,187,103,77,171,76,69, +177,99,75,177,96,75,179,98,73,169,82,73,175,98,71,172,97,70,171,86,69,168,94,68, +172,97,70,163,98,69,163,87,69,184,90,68,185,98,71,184,96,72,156,72,66,167,90,69, +166,89,68,167,90,69,159,74,65,175,98,71,173,95,71,177,100,73,174,94,72,180,102, +74,175,98,71,174,97,70,168,86,70,167,90,69,166,82,68,161,75,69,167,85,69,161,80, +69,163,88,71,153,71,65,163,88,71,161,80,69,162,85,68,161,82,69,162,88,68,162,88, +68,162,85,68,162,85,68,161,82,69,123,77,57,73,49,37,80,61,38,123,98,65,101,84, +69,104,87,68,114,95,74,137,114,85,143,119,87,134,112,84,116,96,74,106,89,70,107, +91,71,106,89,70,188,180,114,193,185,117,193,185,117,193,185,117,193,185,117,193, +185,117,169,165,96,99,113,116,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,80,93,96,91,105,109, +99,111,114,116,130,131,125,138,141,129,144,147,137,153,154,148,163,163,157,169, +170,157,172,173,151,166,162,159,162,137,148,154,128,146,148,122,125,132,109,102, +105,90,87,93,78,84,90,75,109,84,53,122,103,80,129,110,87,133,114,91,163,152,81, +189,179,109,189,179,109,193,185,117,193,185,117,193,185,117,193,185,117,193,185, +117,193,185,117,107,89,69,103,86,69,105,88,69,113,94,73,132,109,82,144,118,88, +142,120,88,124,103,78,108,91,72,101,87,69,104,83,56,110,84,56,123,77,57,137,77, +61,130,75,60,135,69,61,135,69,61,123,55,55,135,69,61,136,69,60,130,70,60,119,57, +57,135,69,61,139,76,61,139,77,61,137,68,61,138,78,62,139,76,61,139,70,61,143,77, +59,152,80,58,142,77,62,126,58,58,135,78,63,137,77,61,137,77,61,126,58,58,137,77, +61,142,77,62,140,73,60,136,69,60,140,73,60,140,73,60,140,66,60,140,62,56,137,63, +53,132,54,42,130,46,40,140,66,60,139,76,65,140,75,60,125,60,57,136,69,60,137,77, +61,135,77,61,135,66,61,137,77,61,141,81,65,135,78,63,140,66,60,142,77,62,142,81, +62,140,66,60,152,80,58,153,77,59,153,77,59,119,60,57,142,77,62,142,77,62,142,77, +62,123,77,57,75,53,37,84,70,52,104,88,70,111,94,73,126,106,80,147,122,89,143, +119,87,126,105,80,111,93,71,103,88,69,103,86,69,111,95,73,193,185,117,193,185, +117,193,185,117,193,185,117,193,185,117,193,185,117,189,179,109,169,165,96,147, +141,71,91,105,109,18,20,21,7,7,7,7,7,7,7,7,7,80,93,96,91,105,109,103,115,117, +117,130,133,125,138,141,129,144,147,137,153,154,148,163,163,154,169,170,159,170, +170,159,168,156,156,162,135,146,153,127,146,148,122,127,131,110,99,103,89,87,91, +80,83,90,75,109,84,53,123,104,81,129,110,87,133,114,91,169,156,85,189,179,109, +189,179,109,189,179,109,193,185,117,193,185,117,193,185,117,193,185,117,193,185, +117,193,185,117,185,176,113,103,86,69,103,86,69,110,93,72,128,108,82,154,127,96, +149,125,93,128,107,80,114,96,74,103,87,69,92,80,62,123,77,57,150,81,68,150,89, +68,159,94,71,159,94,71,139,67,65,153,94,71,163,97,71,157,90,69,151,73,65,159,92, +71,163,93,71,157,92,69,154,78,68,161,91,69,163,98,69,157,86,69,167,97,69,176, +101,68,169,96,71,141,72,65,161,91,69,167,95,69,159,96,71,153,77,65,161,91,69, +172,97,70,157,90,69,157,92,69,161,91,69,163,98,69,162,88,68,150,69,50,160,77,52, +161,75,49,151,63,49,163,98,69,173,98,71,163,98,69,141,74,65,162,88,68,169,96,71, +161,91,69,157,77,69,163,87,69,167,95,69,162,88,68,162,85,68,163,93,71,165,93,71, +161,80,69,167,97,69,177,99,71,167,97,69,140,66,56,157,92,69,163,93,71,157,92,69, +123,77,57,93,80,63,102,86,68,118,100,78,135,116,85,157,131,97,144,122,90,134, +111,86,109,91,71,103,86,69,104,87,68,193,185,117,193,185,117,193,185,117,193, +185,117,193,185,117,193,185,117,193,185,117,189,179,109,189,179,109,189,179,109, +151,146,75,146,138,67,138,129,59,83,96,99,7,7,7,7,7,7,84,96,97,93,106,110,107, +118,121,118,128,131,125,138,141,129,144,147,135,151,153,146,162,163,154,166,168, +156,169,166,162,168,147,154,160,134,146,153,127,134,141,115,110,116,99,97,99,84, +87,93,78,89,90,75,109,86,56,123,104,81,129,111,87,133,115,91,174,163,92,189,179, +109,189,179,109,189,179,109,189,179,109,193,185,117,193,185,117,193,185,117,193, +185,117,193,185,117,193,185,117,193,185,117,106,89,70,106,89,70,120,100,76,143, +121,89,157,132,97,155,130,97,139,118,87,122,102,76,102,86,68,122,76,56,165,84, +68,166,99,73,177,105,77,172,104,74,155,76,68,170,103,74,177,106,79,167,102,74, +160,80,67,172,104,74,177,106,79,169,95,69,165,86,68,178,103,73,177,102,73,161, +81,68,182,97,72,190,108,80,188,106,78,155,76,68,170,96,73,175,102,83,170,98,74, +160,80,67,172,100,72,178,106,77,165,89,68,165,93,68,170,98,74,172,104,74,165,93, +68,154,79,49,167,83,54,160,80,55,154,67,49,170,96,69,179,107,78,171,94,70,151, +70,64,171,97,70,178,106,77,170,96,73,161,81,68,173,96,72,175,103,70,165,94,68, +161,86,68,171,99,74,173,99,72,160,84,67,177,92,66,183,101,72,173,92,66,143,70, +62,160,87,67,167,97,70,159,90,68,123,77,57,102,86,68,123,104,79,141,120,87,154, +129,96,153,129,95,141,119,91,109,92,71,105,89,69,165,154,103,193,185,117,193, 185,117,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,189,179,109, -189,179,109,189,179,109,151,146,75,146,138,67,138,129,59,83,96,99,7,7,7,7,7,7, -84,96,97,93,106,110,107,118,121,118,128,131,125,138,141,129,144,147,135,151,153, -146,162,163,154,166,168,156,169,166,162,168,147,154,160,134,146,153,127,134,141, -115,110,116,99,97,99,84,87,93,78,89,90,75,109,86,56,123,104,81,129,111,87,133, -115,91,174,163,92,189,179,109,189,179,109,189,179,109,189,179,109,193,185,117, -193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,106,89, -70,106,89,70,120,100,76,143,121,89,157,132,97,155,130,97,139,118,87,122,102,76, -102,86,68,122,76,56,165,84,68,166,99,73,177,105,77,172,104,74,155,76,68,170,103, -74,177,106,79,167,102,74,160,80,67,172,104,74,177,106,79,169,95,69,165,86,68, -178,103,73,177,102,73,161,81,68,182,97,72,190,108,80,188,106,78,155,76,68,170, -96,73,175,102,83,170,98,74,160,80,67,172,100,72,178,106,77,165,89,68,165,93,68, -170,98,74,172,104,74,165,93,68,154,79,49,167,83,54,160,80,55,154,67,49,170,96, -69,179,107,78,171,94,70,151,70,64,171,97,70,178,106,77,170,96,73,161,81,68,173, -96,72,175,103,70,165,94,68,161,86,68,171,99,74,173,99,72,160,84,67,177,92,66, -183,101,72,173,92,66,143,70,62,160,87,67,167,97,70,159,90,68,123,77,57,102,86, -68,123,104,79,141,120,87,154,129,96,153,129,95,141,119,91,109,92,71,105,89,69, -165,154,103,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,193,185, -117,193,185,117,189,179,109,189,179,109,189,179,109,189,179,109,159,153,83,153, -147,77,148,141,67,103,91,53,99,86,49,84,97,100,87,100,103,96,108,110,108,118, -122,118,131,134,125,138,141,128,144,147,135,151,153,143,157,160,148,165,166,156, -168,159,160,166,140,153,159,132,147,153,124,132,137,110,100,109,91,93,97,83,87, -91,80,90,87,72,110,87,58,125,106,83,130,111,88,135,116,91,183,172,97,189,179, -109,189,179,109,189,179,109,189,179,109,190,180,110,193,185,117,193,185,117,193, -185,117,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,120,100,78, -124,105,82,128,109,82,137,115,87,146,123,90,135,113,85,126,107,82,116,86,73,153, -108,101,152,114,100,152,111,100,150,111,101,141,98,96,150,109,96,154,113,99,149, -110,97,142,99,94,149,110,97,151,108,94,148,106,90,147,100,91,148,105,90,148,105, -90,147,97,88,156,107,92,159,108,91,158,108,92,138,86,85,147,103,87,150,103,88, -146,102,86,138,88,82,147,101,84,146,100,83,143,93,84,144,96,83,144,96,83,144,96, -83,144,96,80,136,85,70,138,88,69,136,85,70,133,74,64,144,96,77,145,96,78,143,95, -77,131,79,75,143,95,77,144,95,77,142,92,77,142,84,73,144,95,75,143,95,76,142,91, -72,138,81,70,142,89,73,142,89,71,135,78,70,148,89,69,149,86,68,144,86,69,127,68, -65,134,80,67,134,84,68,133,80,67,123,77,57,130,109,82,137,115,87,143,119,89,131, -111,83,119,101,77,122,104,80,123,103,79,193,185,117,193,185,117,193,185,117,193, -185,117,193,185,117,193,185,117,193,185,117,193,185,117,189,179,109,189,179,109, -189,179,109,189,179,109,189,179,109,148,133,92,143,128,87,122,108,68,115,102,64, -109,94,58,106,91,55,93,108,110,100,109,109,109,115,112,115,121,116,121,127,122, -124,129,122,129,135,128,132,141,129,137,144,132,146,146,127,156,150,112,148,143, -105,141,129,94,131,118,87,103,96,77,91,89,74,87,84,69,89,77,56,115,91,59,127, -109,85,131,113,89,135,116,91,151,135,95,155,140,99,155,140,99,155,140,99,189, -179,109,189,179,109,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117, -193,185,117,193,185,117,193,185,117,193,185,117,159,145,99,126,107,82,113,96,75, -117,97,75,130,110,82,135,112,83,116,112,114,111,120,128,111,119,128,110,119,128, -110,120,129,111,121,130,111,121,131,111,121,131,112,121,131,112,121,131,112,121, -131,108,117,127,114,124,133,114,124,133,114,124,133,114,124,133,114,124,133,114, +189,179,109,189,179,109,189,179,109,159,153,83,153,147,77,148,141,67,103,91,53, +99,86,49,84,97,100,87,100,103,96,108,110,108,118,122,118,131,134,125,138,141, +128,144,147,135,151,153,143,157,160,148,165,166,156,168,159,160,166,140,153,159, +132,147,153,124,132,137,110,100,109,91,93,97,83,87,91,80,90,87,72,110,87,58,125, +106,83,130,111,88,135,116,91,183,172,97,189,179,109,189,179,109,189,179,109,189, +179,109,190,180,110,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117, +193,185,117,193,185,117,193,185,117,120,100,78,124,105,82,128,109,82,137,115,87, +146,123,90,135,113,85,126,107,82,116,86,73,153,108,101,152,114,100,152,111,100, +150,111,101,141,98,96,150,109,96,154,113,99,149,110,97,142,99,94,149,110,97,151, +108,94,148,106,90,147,100,91,148,105,90,148,105,90,147,97,88,156,107,92,159,108, +91,158,108,92,138,86,85,147,103,87,150,103,88,146,102,86,138,88,82,147,101,84, +146,100,83,143,93,84,144,96,83,144,96,83,144,96,83,144,96,80,136,85,70,138,88, +69,136,85,70,133,74,64,144,96,77,145,96,78,143,95,77,131,79,75,143,95,77,144,95, +77,142,92,77,142,84,73,144,95,75,143,95,76,142,91,72,138,81,70,142,89,73,142,89, +71,135,78,70,148,89,69,149,86,68,144,86,69,127,68,65,134,80,67,134,84,68,133,80, +67,123,77,57,130,109,82,137,115,87,143,119,89,131,111,83,119,101,77,122,104,80, +123,103,79,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,193,185, +117,193,185,117,193,185,117,189,179,109,189,179,109,189,179,109,189,179,109,189, +179,109,148,133,92,143,128,87,122,108,68,115,102,64,109,94,58,106,91,55,93,108, +110,100,109,109,109,115,112,115,121,116,121,127,122,124,129,122,129,135,128,132, +141,129,137,144,132,146,146,127,156,150,112,148,143,105,141,129,94,131,118,87, +103,96,77,91,89,74,87,84,69,89,77,56,115,91,59,127,109,85,131,113,89,135,116,91, +151,135,95,155,140,99,155,140,99,155,140,99,189,179,109,189,179,109,193,185,117, +193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,193,185, +117,193,185,117,159,145,99,126,107,82,113,96,75,117,97,75,130,110,82,135,112,83, +116,112,114,111,120,128,111,119,128,110,119,128,110,120,129,111,121,130,111,121, +131,111,121,131,112,121,131,112,121,131,112,121,131,108,117,127,114,124,133,114, 124,133,114,124,133,114,124,133,114,124,133,114,124,133,114,124,133,114,124,133, -114,124,133,114,124,133,114,124,133,115,125,134,116,126,135,116,126,135,116,126, -135,116,126,135,116,126,135,116,126,135,117,126,134,118,127,136,115,125,134,117, -127,136,118,128,137,118,128,137,118,128,137,118,128,137,118,128,137,120,130,139, -120,130,139,120,130,139,120,130,139,120,130,139,120,130,139,120,130,139,121,131, -140,124,133,142,124,133,142,124,133,142,124,133,142,124,133,142,124,133,142,124, -134,142,123,77,57,132,109,82,127,107,81,113,95,73,111,94,73,107,92,73,193,183, +114,124,133,114,124,133,114,124,133,114,124,133,114,124,133,114,124,133,114,124, +133,115,125,134,116,126,135,116,126,135,116,126,135,116,126,135,116,126,135,116, +126,135,117,126,134,118,127,136,115,125,134,117,127,136,118,128,137,118,128,137, +118,128,137,118,128,137,118,128,137,120,130,139,120,130,139,120,130,139,120,130, +139,120,130,139,120,130,139,120,130,139,121,131,140,124,133,142,124,133,142,124, +133,142,124,133,142,124,133,142,124,133,142,124,134,142,123,77,57,132,109,82, +127,107,81,113,95,73,111,94,73,107,92,73,193,183,117,193,185,117,193,185,117, +193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,193,185, +115,189,179,109,189,179,109,155,140,99,155,140,99,155,140,99,153,137,95,149,134, +93,146,130,90,141,124,85,135,120,81,103,86,66,97,81,61,103,87,64,109,91,69,113, +96,74,119,102,77,122,105,83,125,108,83,128,110,86,131,115,90,138,116,81,143,116, +75,138,112,74,135,108,71,129,105,71,128,102,67,116,93,64,109,89,62,116,93,61, +125,106,83,129,111,87,134,115,90,135,117,93,153,138,97,155,140,99,155,140,99, +155,140,99,155,140,99,155,140,99,155,140,99,193,185,117,193,185,117,193,185,117, +193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,193,185, +117,106,91,72,106,89,70,109,92,71,162,149,98,179,171,109,241,182,129,240,177, +127,240,177,127,240,166,121,229,158,115,226,151,111,226,151,111,222,146,104,203, +131,99,214,141,101,212,139,99,208,132,98,202,134,101,207,137,99,210,139,100,212, +139,99,213,141,102,216,146,104,223,150,111,222,152,113,223,150,111,223,150,111, +216,146,103,211,140,102,202,134,102,200,132,99,199,131,99,197,124,92,194,124,93, +194,124,93,194,126,93,196,123,92,196,124,92,198,124,92,196,133,100,193,132,102, +194,133,101,194,134,101,193,132,102,193,130,100,193,130,100,191,123,94,188,123, +95,184,127,95,184,127,96,180,122,94,179,122,94,179,122,94,181,122,94,182,123,95, +187,122,95,190,123,94,192,133,102,198,136,103,208,142,106,214,152,116,223,162, +121,254,208,118,190,182,112,107,90,69,105,88,69,133,121,85,193,185,117,193,185, 117,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,193, -185,117,193,185,117,193,185,115,189,179,109,189,179,109,155,140,99,155,140,99, -155,140,99,153,137,95,149,134,93,146,130,90,141,124,85,135,120,81,103,86,66,97, -81,61,103,87,64,109,91,69,113,96,74,119,102,77,122,105,83,125,108,83,128,110,86, -131,115,90,138,116,81,143,116,75,138,112,74,135,108,71,129,105,71,128,102,67, -116,93,64,109,89,62,116,93,61,125,106,83,129,111,87,134,115,90,135,117,93,153, -138,97,155,140,99,155,140,99,155,140,99,155,140,99,155,140,99,155,140,99,193, -185,117,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117, -193,185,117,193,185,117,193,185,117,106,91,72,106,89,70,109,92,71,162,149,98, -179,171,109,241,182,129,240,177,127,240,177,127,240,166,121,229,158,115,226,151, -111,226,151,111,222,146,104,203,131,99,214,141,101,212,139,99,208,132,98,202, -134,101,207,137,99,210,139,100,212,139,99,213,141,102,216,146,104,223,150,111, -222,152,113,223,150,111,223,150,111,216,146,103,211,140,102,202,134,102,200,132, -99,199,131,99,197,124,92,194,124,93,194,124,93,194,126,93,196,123,92,196,124,92, -198,124,92,196,133,100,193,132,102,194,133,101,194,134,101,193,132,102,193,130, -100,193,130,100,191,123,94,188,123,95,184,127,95,184,127,96,180,122,94,179,122, -94,179,122,94,181,122,94,182,123,95,187,122,95,190,123,94,192,133,102,198,136, -103,208,142,106,214,152,116,223,162,121,254,208,118,190,182,112,107,90,69,105, -88,69,133,121,85,193,185,117,193,185,117,193,185,117,193,185,117,193,185,117, -193,185,117,193,185,117,193,185,117,193,185,117,153,158,110,155,140,99,155,140, -99,155,140,99,155,140,99,155,140,99,155,140,99,155,138,97,153,137,97,151,136,95, -148,133,92,126,107,84,124,106,82,123,104,81,125,107,83,128,109,86,127,109,86, -119,102,77,122,105,80,122,105,80,125,108,83,125,109,86,137,110,74,138,110,71, -135,109,71,134,106,69,129,105,71,131,105,67,125,99,67,119,96,65,128,109,86,129, -111,87,132,113,90,135,116,91,135,117,93 +185,117,153,158,110,155,140,99,155,140,99,155,140,99,155,140,99,155,140,99,155, +140,99,155,138,97,153,137,97,151,136,95,148,133,92,126,107,84,124,106,82,123, +104,81,125,107,83,128,109,86,127,109,86,119,102,77,122,105,80,122,105,80,125, +108,83,125,109,86,137,110,74,138,110,71,135,109,71,134,106,69,129,105,71,131, +105,67,125,99,67,119,96,65,128,109,86,129,111,87,132,113,90,135,116,91,135,117, +93 }; // houseTexture #endif // guard diff --git a/small3dlib.h b/small3dlib.h index 65750c9..9ef3ea3 100644 --- a/small3dlib.h +++ b/small3dlib.h @@ -433,7 +433,11 @@ typedef struct will always be exactly S3L_FRACTIONS_PER_UNIT. */ S3L_Index triangleIndex; ///< Triangle index. S3L_Index modelIndex; - S3L_Unit depth; ///< Depth (only if depth is turned on). + 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_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 @@ -534,6 +538,9 @@ void S3L_newFrame(); void S3L_zBufferClear(); void S3L_stencilBufferClear(); +void S3L_zBufferWrite(S3L_ScreenCoord x, S3L_ScreenCoord y, S3L_Unit value); +S3L_Unit S3L_zBufferRead(S3L_ScreenCoord x, S3L_ScreenCoord y); + static inline void S3L_rotate2DPoint(S3L_Unit *x, S3L_Unit *y, S3L_Unit angle); /** Predefined vertices of a cube to simply insert in an array. These come with @@ -561,36 +568,36 @@ static inline void S3L_rotate2DPoint(S3L_Unit *x, S3L_Unit *y, S3L_Unit angle); /** Predefined triangle indices of a cube, to be used with S3L_CUBE_VERTICES and S3L_CUBE_TEXCOORDS. */ #define S3L_CUBE_TRIANGLES\ - 0, 3, 2, /* front */\ - 0, 1, 3,\ - 4, 0, 2, /* right */\ - 4, 2, 6,\ - 5, 4, 6, /* back */\ - 6, 7, 5,\ - 7, 3, 1, /* left */\ - 7, 1, 5,\ - 3, 6, 2, /* top */\ - 3, 7, 6,\ - 4, 1, 0, /* bottom */\ - 4, 5, 1 + 3, 0, 2, /* front */\ + 1, 0, 3,\ + 0, 4, 2, /* right */\ + 2, 4, 6,\ + 4, 5, 6, /* back */\ + 7, 6, 5,\ + 3, 7, 1, /* left */\ + 1, 7, 5,\ + 6, 3, 2, /* top */\ + 7, 3, 6,\ + 1, 4, 0, /* bottom */\ + 5, 4, 1 #define S3L_CUBE_TRIANGLE_COUNT 12 /** Predefined texture coordinates of a cube, corresponding to triangles (NOT vertices), to be used with S3L_CUBE_VERTICES and S3L_CUBE_TRIANGLES. */ #define S3L_CUBE_TEXCOORDS(m)\ - m,m, 0,0, m,0,\ - m,m, 0,m, 0,0,\ - m,0, m,m, 0,m,\ - m,0, 0,m, 0,0,\ - 0,0, m,0, m,m,\ - m,m, 0,m, 0,0,\ - 0,m, 0,0, m,0,\ - 0,m, m,0, m,m,\ - m,m, 0,0, m,0,\ - m,m, 0,m, 0,0,\ - 0,m, m,0, m,m,\ - 0,m, 0,0, m,0 + 0,0, m,m, m,0,\ + 0,m, m,m, 0,0,\ + m,m, m,0, 0,m,\ + 0,m, m,0, 0,0,\ + m,0, 0,0, m,m,\ + 0,m, m,m, 0,0,\ + 0,0, 0,m, m,0,\ + m,0, 0,m, m,m,\ + 0,0, m,m, m,0,\ + 0,m, m,m, 0,0,\ + m,0, 0,m, m,m,\ + 0,0, 0,m, m,0 //============================================================================= // privates @@ -633,6 +640,26 @@ static inline int8_t S3L_zTest( } #endif +S3L_Unit S3L_zBufferRead(S3L_ScreenCoord x, S3L_ScreenCoord y) +{ +#if S3L_Z_BUFFER + return S3L_zBuffer[y * S3L_RESOLUTION_X + x]; +#else + return 0; +#endif +} + +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 +} + #if S3L_STENCIL_BUFFER #define S3L_STENCIL_BUFFER_SIZE\ ((S3L_RESOLUTION_X * S3L_RESOLUTION_Y - 1) / 8 + 1) @@ -1345,6 +1372,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; } void S3L_initDrawConfig(S3L_DrawConfig *config) @@ -1871,6 +1899,8 @@ void S3L_drawTriangle( #if S3L_Z_BUFFER if (!S3L_zTest(p.x,p.y,p.depth)) testsPassed = 0; + + p.previousDepth = S3L_zBuffer[p.y * S3L_RESOLUTION_X + p.x]; #endif if (testsPassed)