Skip to content

Instantly share code, notes, and snippets.

@madig
Created December 11, 2015 07:16
Show Gist options
  • Save madig/c7dca1e242ade375856e to your computer and use it in GitHub Desktop.
Save madig/c7dca1e242ade375856e to your computer and use it in GitHub Desktop.
--- a/pixman/pixman-glyph.c 2014-04-24 06:34:14.000000000 +0200
+++ b/pixman/pixman-glyph.c 2015-08-07 22:34:08.457721370 +0200
@@ -32,4 +31,263 @@
#include <stdlib.h>
+static unsigned char actable[65536] = {
+0,0,1,2,2,3,4,4,5,5,6,7,7,8,9,9,10,11,11,12,13,13,13,14,15,15,16,17,17,18,19,19,20,21,21,22,23,23,24,24,25,26,27,28,28,29,29,30,31,31,32,33,33,34,34,35,36,37,37,38,39,39,40,41,41,42,43,43,44,45,45,46,47,47,48,49,49,50,51,52,52,53,53,55,55,56,57,57,58,58,59,60,61,62,62,63,64,64,65,66,66,67,68,69,70,70,71,72,72,73,74,74,75,76,76,77,78,79,79,80,81,82,83,84,84,85,86,87,88,88,89,90,91,91,91,92,93,94,95,95,96,97,98,99,100,100,101,102,103,104,105,106,107,107,107,108,109,110,111,112,113,114,115,116,116,117,118,119,120,121,122,123,124,124,125,126,127,128,129,129,130,131,132,134,135,135,136,137,138,140,141,141,142,143,144,146,146,147,148,150,150,151,152,154,155,155,157,158,160,160,161,163,164,164,166,168,168,169,171,173,173,175,176,176,178,180,182,182,184,186,186,189,191,191,193,196,196,199,201,201,204,207,207,210,214,214,218,222,222,226,226,232,238,238,246,255,
+0,0,1,2,2,3,4,4,5,5,6,7,7,8,9,9,10,11,11,12,13,13,14,15,15,16,16,17,17,18,19,19,20,21,22,22,23,24,24,25,26,26,27,28,28,29,29,30,31,31,32,33,34,34,35,35,36,37,37,38,39,40,40,41,41,42,43,44,44,45,45,47,47,48,48,49,49,51,51,52,52,53,54,55,56,56,57,57,58,59,59,60,61,62,63,63,64,64,65,66,66,67,68,69,70,71,71,72,73,73,74,75,75,76,77,78,78,79,80,80,81,82,83,84,85,86,86,87,88,89,89,90,91,92,92,93,93,94,95,96,97,97,98,99,100,101,102,103,103,104,105,106,107,108,108,109,110,111,112,113,113,114,115,116,116,117,118,119,120,121,122,123,124,124,125,126,128,129,130,130,131,132,133,134,135,135,136,138,139,140,141,141,142,144,145,146,146,148,149,150,150,152,153,154,156,156,157,159,160,160,162,163,165,165,167,168,168,170,172,173,173,175,177,177,179,181,183,183,185,187,187,189,192,192,194,196,196,199,202,202,205,208,208,211,214,214,218,222,222,227,227,232,238,238,246,255,
+0,0,1,2,2,3,4,4,5,5,6,7,7,8,9,9,10,11,11,12,13,13,14,15,15,16,17,17,18,19,19,20,20,21,22,22,23,24,24,25,26,26,27,28,28,29,29,30,31,32,32,33,34,34,35,35,36,37,38,38,39,40,40,41,42,43,43,44,44,45,46,47,47,48,49,49,50,51,52,52,53,53,54,55,56,56,57,58,58,59,60,60,62,62,63,63,64,65,65,66,67,67,69,69,70,71,72,72,73,74,74,75,76,76,77,78,79,79,80,81,81,82,84,84,85,86,87,88,88,89,90,91,91,92,92,93,94,95,95,96,97,98,99,100,100,101,102,103,104,105,106,107,107,108,108,109,110,111,112,113,114,115,116,117,117,118,119,120,121,122,123,124,125,125,126,127,128,129,130,130,131,132,134,135,136,136,137,138,139,141,142,142,143,144,146,147,147,148,149,151,151,152,154,155,156,156,158,159,161,161,162,164,165,165,167,169,169,170,172,174,174,176,178,178,180,181,183,183,186,188,188,190,192,192,195,197,197,200,202,202,205,208,208,211,215,215,219,223,223,227,227,232,238,238,246,255,
+0,0,1,2,2,3,4,4,5,6,6,7,7,8,9,9,10,11,11,12,13,13,14,15,15,16,17,17,18,19,19,20,20,21,22,22,23,24,24,25,26,26,27,27,28,29,30,30,31,32,32,33,34,34,35,36,37,37,38,38,39,40,41,41,42,42,43,44,45,45,46,46,48,48,49,49,50,51,52,52,53,54,54,55,55,57,57,58,59,59,60,61,61,62,63,64,64,65,66,66,67,68,68,69,70,71,72,73,73,74,75,75,76,77,77,78,79,80,80,81,82,83,83,84,85,86,86,87,88,89,89,90,91,92,93,93,94,95,96,97,98,98,99,100,101,102,103,104,104,105,106,106,107,108,109,110,111,112,113,113,114,115,115,116,117,118,119,120,121,122,123,123,124,125,126,128,129,130,130,131,132,133,134,135,135,136,138,139,140,141,141,142,144,145,146,146,147,149,150,151,151,153,154,156,156,157,158,160,160,161,163,165,165,166,168,169,169,171,173,175,175,176,178,178,180,182,184,184,186,188,188,190,193,193,195,198,198,200,203,203,206,209,209,212,215,215,219,223,223,227,227,233,238,238,246,255,
+0,0,1,2,2,3,4,4,5,6,6,7,7,8,9,9,10,11,11,12,13,13,14,15,15,16,17,17,18,19,19,20,20,21,22,22,23,24,24,25,26,26,27,28,29,29,30,30,31,32,32,33,34,35,35,36,37,37,38,38,39,40,41,41,42,42,44,44,45,45,46,47,48,48,49,50,50,51,52,53,53,54,54,55,56,57,58,58,59,59,60,61,61,62,63,64,65,65,66,67,67,68,69,69,70,71,72,73,74,74,75,76,76,77,78,79,79,80,81,81,82,83,84,84,85,86,87,88,88,89,90,91,91,92,93,94,95,96,96,97,98,99,100,101,101,102,103,104,105,106,107,107,108,108,109,110,111,112,113,114,115,116,116,117,118,119,120,121,122,123,124,124,125,126,127,128,129,130,130,131,132,134,135,136,136,137,138,139,141,142,142,143,144,145,147,147,148,149,151,152,152,153,155,156,156,158,159,161,161,162,164,165,165,167,168,170,170,172,173,175,175,177,179,179,181,183,185,185,187,189,189,191,193,193,196,198,198,201,203,203,206,209,209,212,216,216,219,223,223,228,228,233,239,239,246,255,
+0,0,1,2,2,3,4,4,5,6,6,7,7,8,9,9,10,11,11,12,13,13,14,15,15,16,16,17,18,18,19,20,20,21,22,22,23,24,25,25,26,27,27,28,29,29,30,30,31,32,33,33,34,35,35,36,36,38,38,39,39,40,41,42,42,43,43,44,45,46,46,47,47,49,49,50,50,51,52,53,53,54,55,55,56,57,57,59,59,60,60,61,62,62,63,64,65,66,66,67,68,68,69,70,70,71,72,72,73,75,75,76,77,77,78,79,80,80,81,82,83,83,84,85,86,86,87,88,89,89,90,91,92,93,93,94,95,96,97,98,98,99,100,101,102,103,104,104,104,105,106,107,108,109,110,111,112,113,114,114,114,115,116,117,118,119,120,121,122,122,123,124,125,126,128,129,130,130,131,132,133,134,135,135,136,138,139,140,141,141,142,144,145,146,146,147,149,150,151,151,153,154,155,155,157,158,160,161,161,163,164,166,166,167,169,169,171,172,174,174,176,178,180,180,181,183,183,185,188,188,190,192,194,194,196,199,199,201,204,204,207,210,210,213,216,216,220,220,224,228,228,233,239,239,246,255,
+0,0,1,2,2,3,4,4,5,6,6,7,8,8,9,9,10,11,11,12,13,13,14,15,15,16,16,17,18,18,19,20,20,22,22,23,23,24,25,25,26,27,27,28,29,29,30,31,32,32,33,33,34,35,35,36,37,38,38,39,39,40,41,42,42,43,43,45,45,46,46,47,48,49,49,50,51,51,52,53,54,54,55,56,56,57,57,59,59,60,61,61,62,63,63,64,65,66,67,67,68,69,69,70,71,71,72,73,74,75,76,76,77,78,79,79,80,81,81,82,83,84,84,85,86,87,88,88,89,90,91,91,92,93,94,95,96,96,97,98,99,100,101,101,102,103,104,104,105,106,107,108,108,109,110,111,112,113,114,115,115,116,117,118,119,120,121,122,123,123,124,125,126,127,128,129,130,130,131,132,134,135,136,136,137,138,139,141,142,142,143,144,145,147,147,148,149,151,152,152,153,155,156,156,157,159,160,162,162,163,165,166,166,168,170,170,171,173,175,175,177,178,180,180,182,184,184,186,188,188,190,192,195,195,197,200,200,202,205,205,208,211,211,214,217,217,221,221,224,229,229,234,239,239,246,255,
+0,0,1,2,2,3,4,4,5,6,6,7,8,8,9,9,10,11,11,12,13,13,14,15,15,16,16,17,18,19,20,20,21,22,22,23,23,24,25,25,26,27,27,28,29,30,30,31,32,32,33,33,34,35,36,36,37,38,38,39,40,40,41,42,43,43,44,45,45,46,47,47,48,49,50,50,51,52,52,53,54,55,55,56,56,57,58,59,60,60,61,62,62,63,64,64,66,66,67,68,68,69,70,70,71,72,72,73,74,75,76,77,77,78,79,80,80,81,82,83,83,84,85,86,86,87,88,89,90,90,91,92,93,94,94,95,96,97,98,98,99,100,101,102,103,104,104,104,105,106,107,108,109,110,111,112,113,114,115,115,115,116,117,118,119,120,121,122,123,123,124,125,127,128,129,130,131,131,132,133,134,135,136,136,138,139,140,141,142,142,144,145,146,147,147,149,150,151,153,153,154,155,157,157,158,160,161,163,163,164,166,167,167,169,170,170,172,174,175,175,177,179,181,181,183,185,185,187,189,189,191,193,195,195,198,200,200,203,205,205,208,211,211,214,218,218,221,221,225,229,229,234,240,240,246,255,
+0,0,1,2,2,3,4,4,5,6,6,7,8,8,9,10,10,11,12,12,13,14,14,15,16,16,17,18,18,19,20,20,21,21,22,23,23,24,25,25,26,27,28,28,29,30,30,31,31,32,33,34,34,35,36,36,37,38,39,39,40,40,41,42,43,43,44,44,46,46,47,47,48,49,50,51,51,52,52,53,54,55,56,56,57,57,58,59,59,61,61,62,63,63,64,65,65,66,67,68,69,69,70,71,71,72,73,74,74,75,76,76,77,78,79,80,81,82,82,83,84,85,85,86,87,88,88,89,90,91,92,92,93,94,95,96,96,97,98,99,100,101,101,101,102,103,104,105,106,107,108,109,109,110,111,112,113,114,114,115,116,117,118,119,120,121,122,122,123,124,125,126,127,128,129,129,130,131,132,134,135,136,136,137,138,139,141,142,142,143,144,145,147,147,148,149,151,152,152,153,155,156,157,157,159,160,162,162,163,165,166,166,168,169,171,171,173,174,176,176,178,180,180,182,183,185,185,187,190,190,192,194,194,196,198,201,201,203,206,206,209,212,212,215,218,218,222,222,226,230,230,234,240,240,246,255,
+0,0,1,2,2,3,4,4,5,6,6,7,8,8,9,10,10,11,12,12,13,14,14,15,16,16,17,18,18,19,20,20,21,21,22,23,23,24,25,26,26,27,28,28,29,30,30,31,32,33,33,34,34,35,36,37,37,38,39,39,40,41,41,42,43,44,44,45,46,47,47,48,48,49,50,51,51,52,53,53,54,55,56,56,57,58,58,59,60,61,62,62,63,64,64,65,66,66,68,68,69,70,70,71,72,72,73,74,75,75,76,77,77,78,80,80,81,82,83,83,84,85,86,86,87,88,89,90,90,91,92,93,94,94,95,96,97,98,99,99,100,101,101,102,103,104,105,105,106,107,108,109,110,111,112,113,114,115,115,116,117,117,118,119,120,121,122,122,123,125,126,127,128,129,130,130,131,132,133,134,135,136,136,138,139,140,141,142,142,144,145,146,147,147,149,150,151,152,152,154,155,157,158,158,159,161,162,162,164,165,167,167,169,170,172,172,173,175,177,177,179,180,180,182,184,186,186,188,190,190,192,195,195,197,199,202,202,204,207,207,210,212,212,216,219,219,222,222,226,230,230,235,240,240,247,255,
+0,0,1,2,2,3,4,4,5,6,6,7,8,8,9,10,10,11,12,12,13,14,14,15,16,16,17,18,18,19,19,20,21,21,22,23,24,24,25,26,26,27,28,28,29,29,31,31,32,32,33,34,34,35,36,37,37,38,38,40,40,41,41,42,43,44,44,45,46,46,47,48,49,49,50,50,52,52,53,54,54,55,55,57,57,58,59,59,60,61,61,63,63,64,65,65,66,67,67,68,69,70,71,71,72,73,74,74,75,76,76,77,78,79,79,80,81,82,82,83,84,85,86,87,88,88,89,90,91,92,92,93,94,95,95,96,96,97,98,99,100,101,102,102,103,104,105,106,107,108,109,110,110,111,112,112,113,114,115,116,117,118,119,120,121,121,122,123,124,125,126,127,128,128,129,130,131,133,134,135,135,136,137,138,139,141,141,142,143,144,145,147,147,148,149,150,152,152,153,155,156,157,157,159,160,162,162,163,165,166,166,168,169,171,171,172,174,176,176,178,179,181,181,183,185,185,187,189,191,191,193,195,195,198,200,200,202,205,205,207,210,210,213,216,216,219,223,223,227,231,231,235,241,241,247,255,
+0,0,1,2,2,3,4,4,5,6,6,7,8,8,9,10,10,11,12,12,13,14,14,15,16,16,17,18,18,19,19,20,21,22,23,23,24,24,25,26,26,27,28,29,29,30,31,31,32,32,34,34,35,35,36,37,37,38,39,40,40,41,42,42,43,44,45,45,46,46,48,48,49,49,50,51,52,53,53,54,54,55,56,57,58,58,59,60,60,61,62,63,64,64,65,66,66,67,68,68,69,70,71,72,72,73,74,75,75,76,77,77,78,79,80,80,81,82,83,83,84,85,87,87,88,89,90,90,91,92,93,94,94,95,95,96,97,98,99,99,100,101,102,103,104,105,106,106,107,108,109,110,111,112,113,113,114,115,116,117,118,119,120,121,122,122,123,124,125,126,127,128,129,129,130,131,132,133,134,135,135,137,138,139,140,141,141,142,144,145,146,147,147,149,150,151,153,153,154,155,157,158,158,159,161,162,162,164,165,167,167,168,170,171,171,173,175,177,177,178,180,182,182,184,186,186,188,190,192,192,194,196,196,198,201,201,203,206,206,208,211,211,214,217,217,220,224,224,227,231,231,236,241,241,247,255,
+0,0,1,2,2,3,4,4,5,6,6,7,8,8,9,10,10,11,12,12,13,14,14,15,16,16,17,18,18,19,19,21,21,22,23,23,24,24,25,26,26,27,28,29,29,30,31,31,32,33,34,34,35,35,37,37,38,38,39,40,41,41,42,42,44,44,45,45,46,47,48,48,49,50,50,51,52,53,53,54,55,55,56,57,58,59,59,60,61,61,62,63,64,64,65,66,67,67,68,69,69,71,71,72,73,74,74,75,76,76,77,78,79,79,80,81,82,82,83,84,85,85,87,88,88,89,90,91,92,92,93,94,95,96,96,97,97,98,99,100,101,102,103,103,104,105,106,107,108,109,110,111,111,112,113,113,114,115,116,117,118,119,120,121,122,122,123,124,125,126,127,128,129,129,130,132,133,134,135,136,136,137,138,139,141,142,142,143,144,145,147,148,148,149,151,152,153,153,154,156,157,159,159,160,161,163,163,164,166,167,167,169,171,172,172,174,175,177,177,179,181,183,183,184,186,186,188,190,192,192,195,197,197,199,201,201,204,206,206,209,212,212,215,218,218,221,224,224,228,232,232,236,241,241,247,255,
+0,0,1,2,2,3,4,4,5,6,6,7,8,8,9,10,10,11,12,12,13,14,14,15,16,16,17,18,19,19,20,21,21,22,23,23,24,24,25,26,27,27,28,29,29,30,31,32,32,33,34,34,35,36,36,37,38,38,39,40,41,41,42,43,43,44,45,46,46,47,47,49,49,50,51,51,52,53,54,54,55,56,56,57,58,59,59,60,61,61,62,63,63,65,65,66,67,68,68,69,70,70,71,72,73,74,75,75,76,77,77,78,79,80,80,81,82,83,83,84,85,86,87,87,88,89,90,90,91,92,93,94,95,95,96,97,98,99,100,100,101,102,103,104,105,106,107,107,108,109,110,111,111,112,113,114,115,116,117,118,119,120,121,121,122,123,124,125,126,127,128,129,129,130,131,132,133,134,135,135,137,138,139,140,141,141,142,144,145,146,147,147,149,150,151,152,152,154,155,156,158,158,159,161,162,164,164,165,167,168,168,170,171,173,173,174,176,178,178,180,181,183,183,185,187,187,189,191,193,193,195,197,197,200,202,202,204,207,207,210,212,212,215,218,218,221,225,225,228,232,232,237,242,242,248,255,
+0,0,1,2,2,3,4,4,5,6,6,7,8,8,9,10,10,11,12,12,13,14,14,15,16,17,17,18,19,19,20,21,21,22,23,23,24,25,26,26,27,27,28,29,29,30,31,32,32,33,34,35,35,36,36,37,38,39,39,40,41,42,42,43,43,45,45,46,46,47,48,49,49,50,51,51,52,53,54,55,55,56,56,57,58,59,60,60,61,62,62,63,64,65,66,66,67,68,69,69,70,71,71,72,73,74,75,76,76,77,78,79,79,80,81,82,82,83,84,85,85,86,87,88,89,89,90,91,92,93,93,94,95,96,97,97,98,99,100,101,102,103,103,104,105,106,107,108,109,110,111,112,112,112,113,114,115,116,117,118,119,120,121,121,122,123,124,125,126,127,128,129,129,131,132,133,134,135,136,136,137,138,139,141,142,142,143,144,145,147,148,148,149,150,152,153,153,154,156,157,158,158,160,161,163,164,164,166,167,169,169,170,172,174,174,175,177,179,179,180,182,184,184,186,188,188,190,192,194,194,196,198,198,200,203,203,205,208,208,210,213,213,216,219,219,222,225,225,229,233,233,237,242,242,248,255,
+0,0,1,2,2,3,4,4,5,6,6,7,8,8,9,10,10,11,12,12,13,14,15,15,16,17,17,18,19,19,20,21,21,22,22,24,24,25,25,26,27,27,28,29,30,30,31,32,32,33,34,35,35,36,36,37,38,39,39,40,41,42,42,43,44,44,45,46,47,47,48,48,50,50,51,52,52,53,54,55,55,56,57,57,58,59,60,61,61,62,63,63,64,65,65,67,67,68,69,70,70,71,72,72,73,74,75,75,77,77,78,79,80,80,81,82,83,83,84,85,86,87,87,88,89,90,91,91,92,93,94,95,95,96,97,98,99,100,100,101,102,103,104,105,106,107,107,108,108,109,110,111,112,113,114,115,116,117,118,119,120,120,121,122,123,124,125,126,127,128,128,129,130,131,132,133,134,136,136,137,138,139,140,141,141,142,144,145,146,147,147,149,150,151,152,152,154,155,156,158,158,159,161,162,163,163,165,166,168,168,169,171,173,173,174,176,178,178,179,181,183,183,185,187,188,188,190,192,192,194,197,199,199,201,203,203,206,208,208,211,214,214,216,219,219,223,226,226,230,234,234,238,243,243,248,255,
+0,0,1,2,2,3,4,4,5,6,6,7,8,8,9,10,10,11,12,13,13,14,15,15,16,17,17,18,19,19,20,21,21,22,23,24,24,25,25,26,27,28,28,29,30,30,31,32,33,33,34,35,35,36,37,37,38,39,40,40,41,42,43,43,44,44,46,46,47,47,48,49,50,51,51,52,53,53,54,55,56,56,57,58,58,59,60,61,62,62,63,64,64,65,66,67,68,68,69,70,71,71,72,73,73,74,75,76,77,78,79,79,80,81,82,82,83,84,85,85,86,87,88,89,89,90,91,92,93,93,94,95,96,97,97,98,99,100,101,102,103,104,104,105,106,107,108,109,109,110,111,112,113,113,114,115,116,117,118,119,120,120,121,122,123,124,125,126,127,128,128,129,131,132,133,134,135,136,136,137,138,140,141,142,142,143,144,145,147,148,148,149,150,152,153,153,154,156,157,158,158,160,161,163,164,164,166,167,169,169,170,172,173,173,175,177,178,178,180,182,183,183,185,187,189,189,191,193,193,195,197,199,199,202,204,204,206,209,209,211,214,214,217,220,220,223,227,227,230,234,234,238,243,243,248,255,
+0,0,1,2,2,3,4,4,5,6,6,7,8,8,9,10,10,11,12,13,13,14,15,15,16,17,17,18,19,19,20,21,22,22,23,24,24,25,25,27,27,28,28,29,30,30,31,32,33,33,34,35,36,36,37,37,39,39,40,40,41,42,43,43,44,45,46,46,47,48,48,49,50,51,51,52,53,53,55,55,56,57,57,58,59,59,61,61,62,63,63,64,65,65,66,67,68,69,70,70,71,72,72,73,74,75,75,76,77,78,79,80,80,81,82,83,83,84,85,86,87,87,88,89,90,91,91,92,93,94,95,95,96,97,98,99,100,100,101,102,103,104,105,106,107,108,108,109,109,110,111,112,113,114,115,116,117,118,119,120,121,121,122,123,124,125,126,127,128,129,129,130,131,132,133,134,136,137,137,138,139,140,141,142,142,144,145,146,147,149,149,150,151,152,154,154,155,156,158,159,159,160,162,163,165,165,166,168,169,169,171,172,174,174,176,177,179,179,181,182,184,184,186,188,190,190,192,194,194,196,198,200,200,202,205,205,207,210,210,212,215,215,218,221,221,224,227,227,231,234,234,239,243,243,249,255,
+0,0,1,2,2,3,4,4,5,6,6,7,8,8,9,10,11,11,12,13,13,14,15,15,16,17,17,18,19,20,20,21,22,22,23,24,24,25,26,27,27,28,28,29,30,31,31,32,33,34,34,35,36,36,37,38,38,39,40,41,41,42,43,44,44,45,45,47,47,48,49,49,50,51,52,52,53,54,54,55,56,57,58,58,59,60,60,61,62,63,64,64,65,66,66,67,68,68,70,71,71,72,73,73,74,75,76,76,77,78,79,79,80,82,82,83,84,85,85,86,87,88,89,89,90,91,92,93,93,94,95,96,97,98,98,99,100,101,102,103,104,104,105,105,106,107,108,109,110,111,112,113,114,115,115,116,117,118,118,119,120,121,122,123,124,125,126,127,127,129,130,131,132,133,134,135,135,136,137,138,140,141,142,142,143,144,145,147,148,148,149,150,152,153,153,154,156,157,158,158,160,161,162,164,164,165,167,168,170,170,171,173,175,175,176,178,180,180,181,183,185,185,187,188,188,190,192,194,194,196,199,199,201,203,205,205,208,210,210,213,215,215,218,221,221,224,228,228,231,235,235,239,244,244,249,255,
+0,0,1,2,2,3,4,4,5,6,6,7,8,9,9,10,11,11,12,13,13,14,15,15,16,17,17,18,19,20,20,21,22,22,23,24,25,25,26,27,27,28,28,30,30,31,31,33,33,34,34,35,36,37,37,38,38,40,40,41,41,42,43,44,44,45,46,47,48,48,49,49,50,51,52,53,53,54,55,55,57,57,58,58,59,60,60,61,63,63,64,65,65,66,67,67,68,69,70,71,72,72,73,74,74,75,76,77,77,78,79,80,80,82,83,83,84,85,86,87,87,88,89,90,91,91,92,93,94,95,95,96,97,98,99,100,101,101,102,103,104,105,106,106,107,108,108,109,110,111,112,113,114,115,116,117,118,119,119,120,121,122,123,124,125,126,127,128,128,129,130,131,132,133,134,136,136,137,138,139,140,141,142,142,144,145,146,147,148,148,150,151,152,154,154,155,156,158,159,159,160,162,163,165,165,166,167,169,170,170,172,174,175,175,177,178,180,180,182,184,185,185,187,189,189,191,193,195,195,197,199,199,201,204,206,206,208,211,211,213,216,216,219,222,222,225,228,228,232,235,235,239,244,244,249,255,
+0,0,1,2,2,3,4,4,5,6,7,7,8,9,9,10,11,11,12,13,13,14,15,15,16,17,18,18,19,20,20,21,22,22,23,24,25,25,26,26,27,28,29,29,30,31,32,32,33,34,34,35,36,37,37,38,39,40,40,41,42,42,43,44,45,45,46,46,48,48,49,50,50,51,52,53,54,54,55,55,56,57,58,59,59,60,61,61,62,63,64,65,66,66,67,68,68,69,70,70,71,73,73,74,75,76,76,77,78,79,79,80,81,82,82,83,84,85,85,86,87,89,89,90,91,92,93,93,94,95,96,97,98,98,99,99,100,101,102,103,104,104,105,106,107,108,109,110,111,112,113,114,115,115,116,116,117,118,119,120,121,122,123,124,125,126,126,127,128,130,131,132,133,134,135,135,136,137,138,139,141,142,142,143,144,145,147,148,148,149,150,152,153,153,154,155,157,158,160,160,161,162,164,164,165,167,168,170,170,171,173,174,174,176,177,179,179,181,183,184,184,186,188,190,190,192,194,196,196,198,200,200,202,204,204,206,209,211,211,214,217,217,219,222,222,225,229,229,232,236,236,240,244,244,249,255,
+0,0,1,2,2,3,4,4,5,6,7,7,8,9,9,10,11,11,12,13,13,14,15,15,16,17,18,18,19,20,20,21,22,23,23,24,25,25,26,26,28,28,29,29,31,31,32,32,33,34,35,35,36,37,38,38,39,40,41,41,42,42,43,44,45,45,46,47,48,49,49,50,51,51,52,53,54,54,55,56,56,58,58,59,60,60,61,62,62,63,64,65,66,67,67,68,69,69,70,71,72,73,74,74,75,76,77,77,78,79,80,80,81,82,83,83,84,85,86,87,87,89,90,91,91,92,93,94,95,95,96,97,98,99,100,100,101,101,102,103,104,105,106,107,108,108,109,110,111,112,113,114,115,116,117,117,118,119,120,121,122,123,124,125,126,127,127,128,129,130,131,132,133,134,136,136,137,138,139,140,141,142,142,144,145,146,147,148,148,150,151,152,153,153,155,156,157,159,160,160,162,163,164,164,166,167,169,170,170,172,173,175,175,176,178,180,180,181,183,185,185,187,189,190,190,192,194,196,196,198,200,200,203,205,205,207,209,212,212,214,217,217,220,223,223,226,229,229,232,236,236,240,244,244,249,255,
+0,0,1,2,2,3,4,5,5,6,7,7,8,9,9,10,11,11,12,13,13,14,15,16,16,17,18,18,19,20,20,21,22,23,23,24,25,25,26,27,28,28,29,29,31,31,32,32,34,34,35,35,36,37,38,38,39,40,41,41,42,43,43,44,45,46,46,47,48,49,49,50,51,51,53,53,54,55,55,56,57,58,59,59,60,61,61,62,63,63,65,65,66,67,68,68,69,70,70,71,72,73,74,75,75,76,77,78,78,79,80,81,82,82,83,84,85,85,86,87,88,89,90,91,92,93,93,94,95,96,97,98,98,99,100,100,101,102,103,104,104,105,106,107,108,109,110,111,112,113,114,115,115,116,117,117,118,119,120,121,122,123,124,125,126,127,127,129,130,131,132,133,134,135,136,136,137,138,139,141,142,143,143,144,145,147,148,149,149,150,151,153,154,154,155,157,158,159,161,161,162,163,165,165,166,168,169,171,171,172,174,175,175,177,179,180,180,182,184,186,186,187,189,191,191,193,195,197,197,199,201,201,203,205,205,208,210,212,212,215,218,218,220,223,223,226,230,230,233,237,237,240,245,245,249,255,
+0,0,1,2,2,3,4,5,5,6,7,7,8,9,9,10,11,11,12,13,13,14,15,16,16,17,18,18,19,20,21,21,22,23,23,24,25,26,26,27,28,28,29,30,31,31,32,33,33,34,35,35,36,37,38,39,39,40,41,42,42,43,43,44,45,46,47,47,48,49,50,50,51,52,52,53,54,55,56,56,57,58,58,60,60,61,62,62,63,64,64,65,66,67,68,69,69,70,71,71,72,73,74,74,76,77,77,78,79,80,80,81,82,83,83,84,85,86,87,87,88,89,90,91,91,92,93,94,95,95,96,97,98,99,100,101,101,102,103,104,105,106,107,108,108,109,110,111,112,113,114,115,115,116,117,118,119,120,121,122,123,124,125,126,126,127,128,129,130,131,132,133,134,134,136,137,138,139,140,141,141,142,143,145,146,147,148,148,150,151,152,153,153,155,156,157,159,160,160,161,163,164,166,166,167,168,170,170,171,173,175,176,176,178,179,181,181,183,184,186,186,188,190,192,192,194,195,195,197,199,202,202,204,206,206,208,211,211,213,216,218,218,221,224,224,227,230,230,233,237,237,241,245,245,250,255,
+0,0,1,2,3,3,4,5,5,6,7,7,8,9,9,10,11,11,12,13,14,14,15,16,16,17,18,18,19,20,21,21,22,23,23,24,25,26,26,27,28,29,29,30,31,32,32,33,33,34,35,36,36,37,38,39,39,40,41,42,42,43,44,44,45,46,47,47,48,49,50,51,51,52,53,53,54,55,56,56,57,58,59,60,61,61,62,63,63,64,65,65,67,67,68,69,70,70,71,72,73,73,74,75,76,77,78,78,79,80,81,81,82,83,84,85,85,86,87,88,89,89,90,91,92,93,93,94,95,96,97,98,98,99,100,101,102,103,104,104,105,106,107,108,109,110,111,112,113,114,115,116,116,116,117,118,119,120,121,122,123,124,125,126,126,127,129,130,131,132,133,134,135,135,136,137,138,139,141,142,142,143,144,145,147,148,149,149,150,151,153,154,154,155,157,158,159,161,161,162,163,165,166,166,168,169,171,171,172,174,175,177,177,178,180,182,182,183,185,187,187,189,190,192,192,194,196,196,198,200,202,202,204,207,207,209,211,211,214,216,219,219,221,224,224,227,230,230,234,237,237,241,245,245,250,255,
+0,0,1,2,3,3,4,5,5,6,7,7,8,9,9,10,11,11,12,13,14,14,15,16,16,17,18,19,19,20,21,21,22,23,24,24,25,26,26,27,28,29,29,30,31,32,32,33,33,35,35,36,36,37,38,39,39,40,41,42,43,43,44,44,45,46,47,48,48,49,50,51,51,52,53,53,54,55,56,57,57,58,59,59,60,62,62,63,64,64,65,66,66,67,69,69,70,71,71,72,73,74,74,75,76,77,77,78,80,80,81,82,83,83,84,85,86,87,87,88,89,90,91,91,92,93,94,95,95,96,97,98,99,100,101,101,102,103,104,105,106,107,108,109,109,110,111,112,112,113,114,115,116,117,118,119,120,121,122,123,124,125,125,126,127,128,129,130,131,132,133,133,134,136,137,138,139,140,141,141,142,143,145,146,147,147,148,149,151,152,153,153,155,156,157,158,160,160,161,163,164,165,165,167,168,170,171,171,173,174,176,176,177,179,181,181,182,184,186,186,187,189,191,191,193,195,197,197,199,201,201,203,205,207,207,209,212,212,214,217,217,219,222,225,225,228,231,231,234,238,238,241,245,245,250,255,
+0,0,1,2,3,3,4,5,5,6,7,7,8,9,9,10,11,12,12,13,14,14,15,16,16,17,18,19,19,20,21,21,22,23,24,24,25,26,27,27,28,29,29,30,31,32,32,33,34,35,35,36,37,37,38,39,40,40,41,42,43,43,44,45,45,47,47,48,48,49,50,51,52,52,53,54,54,56,56,57,58,58,59,60,60,62,62,63,64,65,65,66,67,67,69,70,70,71,72,72,73,74,75,75,76,77,78,78,80,81,81,82,83,84,85,85,86,87,88,88,89,90,91,92,93,93,94,95,96,97,98,98,99,100,101,102,103,104,105,105,106,107,108,109,110,111,112,113,113,114,115,116,117,117,118,119,120,121,122,123,124,125,125,126,127,129,130,131,132,133,134,134,135,136,137,138,139,141,142,142,143,144,145,146,148,148,149,150,151,153,154,154,155,156,158,159,160,160,162,163,165,166,166,167,169,170,172,172,173,175,176,176,178,180,181,181,183,184,186,186,188,190,192,192,193,195,197,197,199,201,201,203,205,208,208,210,212,212,215,217,217,220,222,225,225,228,231,231,235,238,238,242,246,246,250,255,
+0,0,1,2,3,3,4,5,5,6,7,7,8,9,9,10,11,12,12,13,14,14,15,16,16,17,18,19,19,20,21,22,22,23,24,24,25,26,27,27,28,29,30,30,31,32,33,33,34,35,36,36,37,37,39,39,40,40,41,42,43,44,44,45,46,47,47,48,49,49,50,51,52,53,53,54,55,56,57,57,58,59,59,60,61,62,63,63,64,65,66,66,67,68,69,70,71,71,72,73,74,74,75,76,76,77,78,79,80,81,82,83,83,84,85,86,87,87,88,89,90,91,91,92,93,94,95,95,96,97,98,99,100,101,101,102,103,104,105,106,107,108,109,109,110,111,112,113,113,114,115,116,117,118,119,120,121,122,123,124,125,126,126,127,128,129,130,131,132,133,134,134,135,137,138,139,140,141,142,142,143,145,146,147,148,148,149,151,152,153,154,154,156,157,158,160,161,161,162,164,165,166,166,168,169,171,172,172,174,175,177,177,178,180,182,182,183,185,187,187,189,190,192,192,194,196,198,198,200,202,202,204,206,208,208,210,213,213,215,218,218,220,223,226,226,229,232,232,235,238,238,242,246,246,250,255,
+0,0,1,2,3,3,4,5,5,6,7,7,8,9,9,10,11,12,12,13,14,14,15,16,17,17,18,19,19,20,21,22,22,23,24,25,25,26,27,27,28,29,30,30,31,32,33,33,34,35,36,36,37,38,38,39,40,41,41,42,43,44,44,45,46,46,48,48,49,50,50,51,52,53,54,54,55,56,56,58,58,59,60,60,61,62,62,64,64,65,66,67,67,68,69,69,70,72,72,73,74,75,75,76,77,78,78,79,80,81,81,82,83,84,85,86,87,88,88,89,90,91,92,93,93,94,95,96,97,98,98,99,100,101,102,103,104,105,105,106,107,108,109,109,110,111,112,113,114,115,116,117,117,118,119,120,121,122,123,123,124,125,126,127,128,130,131,132,133,133,134,135,136,137,138,139,140,140,142,143,144,145,146,147,147,149,150,151,152,154,154,155,156,158,159,160,160,162,163,164,166,166,167,168,170,171,171,173,174,176,176,178,179,181,182,182,184,186,187,187,189,191,193,193,195,196,198,198,200,202,202,204,207,209,209,211,213,213,216,218,218,221,223,226,226,229,232,232,235,239,239,242,246,246,250,255,
+0,0,1,2,3,3,4,5,5,6,7,7,8,9,10,10,11,12,12,13,14,14,16,16,17,17,18,19,19,21,21,22,22,23,24,25,25,26,27,28,28,29,30,30,31,32,33,33,34,35,36,37,37,38,38,40,40,41,41,42,43,44,45,45,46,47,48,48,49,50,50,51,52,53,54,54,55,56,56,58,58,59,60,61,61,62,63,64,65,65,66,67,68,68,69,70,70,72,73,73,74,75,76,76,77,78,79,79,80,81,82,83,83,85,86,86,87,88,89,90,90,91,92,93,94,95,95,96,97,98,99,100,101,101,102,103,104,105,106,107,108,109,109,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,124,125,126,127,128,129,130,131,132,133,133,134,135,137,138,139,140,141,141,142,143,144,146,147,148,148,149,151,152,153,154,154,155,157,158,159,161,161,162,163,165,166,166,168,169,171,172,172,173,175,177,177,178,180,181,183,183,185,186,188,188,190,191,193,193,195,197,199,199,201,203,203,205,207,209,209,212,214,214,216,219,219,221,224,227,227,229,232,232,236,239,239,242,246,246,250,255,
+0,0,1,2,3,3,4,5,5,6,7,7,8,9,10,10,11,12,12,13,14,15,15,16,17,17,18,19,20,20,21,22,22,23,24,25,25,26,27,28,28,29,30,31,31,32,33,34,34,35,35,37,37,38,39,39,40,41,42,42,43,44,45,46,46,47,47,49,49,50,51,51,52,53,54,55,55,56,57,57,59,59,60,61,62,62,63,64,64,66,66,67,68,69,69,70,71,72,72,73,74,75,76,77,77,78,79,80,81,81,82,83,84,84,85,86,87,88,88,89,91,92,92,93,94,95,96,97,98,98,99,100,101,102,103,104,104,104,105,106,107,108,109,110,111,112,113,114,115,115,116,117,118,119,120,121,121,122,123,124,125,126,127,128,130,131,132,132,133,134,135,136,137,138,139,140,140,142,143,144,145,146,147,147,149,150,151,152,154,154,155,156,157,159,160,160,161,163,164,165,165,167,168,170,171,171,173,174,176,177,177,179,180,182,182,183,185,187,187,189,190,192,192,194,196,198,198,199,201,204,204,206,208,208,210,212,214,214,217,219,219,222,224,224,227,230,233,233,236,239,239,243,246,246,250,255,
+0,0,1,2,3,3,4,5,5,6,7,7,8,9,10,10,11,12,12,13,14,15,15,16,17,17,19,19,20,20,21,22,23,23,24,25,25,26,27,28,28,29,30,31,31,32,33,34,34,35,36,37,38,38,39,39,41,41,42,42,43,44,45,46,46,47,48,49,50,50,51,52,52,54,54,55,56,56,57,58,59,60,60,61,62,63,63,64,65,66,67,67,68,69,70,70,71,72,73,73,75,76,76,77,78,79,79,80,81,82,82,83,84,85,86,86,87,88,89,90,91,92,93,94,95,95,96,97,98,99,100,101,101,102,103,104,104,105,106,107,108,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,122,123,124,125,126,127,128,129,130,131,132,132,133,134,135,136,138,139,140,141,141,142,143,144,146,147,148,148,149,150,152,153,154,154,155,157,158,159,161,161,162,163,165,166,166,167,169,170,172,172,173,175,176,178,178,179,181,182,182,184,186,187,187,189,191,193,193,194,196,198,198,200,202,204,204,206,208,208,210,213,215,215,217,220,220,222,225,225,227,230,233,233,236,239,239,243,247,247,251,255,
+0,0,1,2,3,3,4,5,5,6,7,7,8,9,10,10,11,12,12,14,14,15,15,16,17,17,19,19,20,20,21,22,23,23,24,25,26,26,27,28,29,29,30,31,32,32,33,34,35,35,36,37,38,38,39,40,41,41,42,43,43,45,45,46,47,47,48,49,50,51,51,52,52,54,55,55,56,57,57,58,59,60,61,61,62,63,64,64,65,66,67,68,68,69,70,71,71,72,73,74,75,76,77,77,78,79,80,80,81,82,83,84,84,85,86,87,88,88,89,90,92,92,93,94,95,96,97,97,98,99,100,101,102,103,104,104,104,105,106,107,108,109,110,111,112,113,114,114,115,116,117,118,119,120,121,122,122,123,124,125,126,127,128,129,131,132,133,133,134,135,136,137,138,139,140,141,141,143,144,145,146,147,148,148,150,151,152,153,155,155,156,157,158,160,161,161,162,164,165,166,166,168,169,171,172,172,174,175,177,178,178,180,181,183,183,185,186,188,188,190,191,193,193,195,197,199,199,201,203,204,204,207,209,209,211,213,215,215,218,220,220,223,225,225,228,231,233,233,237,240,240,243,247,247,251,255,
+0,0,1,2,3,3,4,5,5,6,7,7,8,9,10,10,11,12,12,14,14,15,15,16,17,18,18,19,20,20,22,22,23,23,25,25,26,26,27,28,29,29,30,31,32,32,33,34,35,35,36,37,38,38,39,40,40,42,42,43,44,44,46,46,47,47,48,49,50,51,51,52,53,53,54,55,56,57,57,58,59,60,61,62,62,63,64,64,65,66,67,68,69,70,70,71,72,72,73,74,75,75,76,78,78,79,80,81,82,82,83,84,85,86,86,87,88,89,90,90,91,92,93,94,95,95,96,97,98,99,100,100,101,102,103,104,105,106,107,108,108,109,110,111,112,113,114,115,116,117,118,119,120,120,121,122,123,124,125,126,127,128,129,130,131,131,132,133,134,135,136,137,139,140,140,141,142,143,144,145,147,147,148,149,150,151,153,154,154,155,156,158,159,160,160,162,163,164,166,166,167,169,170,171,171,173,174,176,177,177,179,180,182,184,184,185,187,188,188,190,192,194,194,195,197,199,199,201,203,203,205,207,209,209,211,213,216,216,218,220,220,223,226,226,228,231,231,234,237,240,240,243,247,247,251,255,
+0,0,1,2,3,3,4,5,5,6,7,8,8,9,10,10,11,12,13,14,14,15,15,17,17,18,18,19,20,21,22,22,23,23,25,25,26,26,28,28,29,29,31,31,32,32,33,34,35,36,36,37,38,39,39,40,41,42,42,43,44,44,46,46,47,48,48,49,50,51,52,52,53,54,54,56,56,57,58,58,59,60,61,62,63,63,64,65,65,66,67,68,69,70,71,71,72,73,74,74,75,76,77,78,79,80,80,81,82,83,84,84,85,86,87,87,88,89,90,91,92,92,93,94,95,96,97,97,98,99,100,101,102,103,104,104,105,106,107,108,109,110,111,112,113,114,115,115,116,117,118,119,120,120,121,122,123,124,125,126,127,128,129,130,131,131,133,134,135,136,137,138,139,140,140,141,143,144,145,146,147,147,148,150,151,152,153,154,154,156,157,158,160,161,161,162,163,165,166,166,168,169,170,172,172,173,175,176,178,178,179,181,182,184,184,186,187,189,189,191,192,194,194,196,198,200,200,202,204,204,206,208,210,210,212,214,216,216,219,221,221,223,226,226,229,231,231,234,237,240,240,244,247,247,251,255,
+0,0,1,2,3,3,4,5,5,6,7,8,8,9,10,10,11,12,13,13,14,15,15,17,17,18,18,19,20,21,21,22,23,24,24,25,26,27,27,28,29,30,30,31,32,33,33,34,35,36,36,37,38,39,39,40,41,41,43,43,44,45,45,47,47,48,49,49,50,51,52,53,53,54,55,55,57,57,58,59,59,60,61,62,63,64,64,65,66,67,67,68,69,70,71,72,72,73,74,75,75,76,77,78,78,79,80,82,82,83,84,85,85,86,87,88,89,90,90,91,92,93,94,94,95,96,97,98,99,100,100,101,102,103,104,105,106,107,108,108,109,110,111,112,113,114,115,116,117,117,118,119,120,121,122,123,124,125,126,127,128,129,130,130,131,132,133,134,135,136,137,138,138,140,141,142,143,144,145,147,147,148,149,150,151,153,154,154,155,156,158,159,160,160,161,163,164,165,165,167,168,170,171,172,172,174,175,177,177,178,180,181,183,183,185,186,188,188,190,191,193,193,195,197,198,198,200,202,204,204,206,208,210,210,212,214,214,217,219,221,221,224,226,226,229,232,232,234,237,237,241,244,247,247,251,255,
+0,0,1,2,3,3,4,5,5,6,7,8,8,9,10,10,12,12,13,13,14,15,16,17,17,18,18,20,20,21,21,23,23,24,24,25,26,27,27,29,29,30,30,32,32,33,33,34,35,36,37,37,38,39,40,40,41,42,43,44,44,45,45,47,47,48,49,49,50,51,52,53,53,54,55,56,57,58,58,59,60,60,61,62,63,64,65,65,66,67,68,68,69,70,71,72,73,73,74,75,76,76,77,78,79,80,80,82,83,83,84,85,86,87,87,88,89,90,91,92,92,93,94,95,96,97,97,98,99,100,101,102,103,103,104,105,106,107,108,109,110,111,112,113,114,114,115,116,117,117,118,119,120,121,122,123,124,125,126,127,128,129,130,130,131,133,134,135,136,137,138,139,139,140,141,142,144,145,146,147,147,148,149,151,152,153,154,154,156,157,158,159,161,161,162,163,165,166,166,167,169,170,172,173,173,174,176,177,177,179,180,182,184,184,185,187,188,188,190,192,194,194,195,197,199,199,201,203,205,205,207,209,211,211,213,215,215,217,219,222,222,224,227,227,229,232,232,235,238,238,241,244,247,247,251,255,
+0,0,1,2,3,3,4,5,5,6,7,8,8,9,10,10,12,12,13,13,14,15,16,17,17,18,19,20,20,21,21,23,23,24,24,26,26,27,27,29,29,30,30,32,32,33,34,34,35,36,37,37,39,39,40,41,41,42,43,44,44,45,46,47,48,48,49,50,50,52,52,53,54,54,55,56,57,58,59,59,60,61,61,62,64,64,65,66,66,67,68,69,69,71,72,72,73,74,75,75,76,77,78,78,79,80,81,82,83,84,85,85,86,87,88,89,89,90,91,92,93,94,94,95,96,97,98,99,100,100,101,102,103,104,105,106,107,108,108,109,110,111,112,113,114,115,116,117,118,118,119,120,121,122,123,124,125,126,127,128,129,130,131,131,132,133,134,135,136,137,138,140,140,141,142,143,144,145,146,148,148,149,150,151,152,154,155,155,156,157,159,160,161,161,163,164,165,167,167,168,169,171,172,174,174,175,176,178,178,179,181,183,184,184,186,187,189,189,191,192,194,194,196,198,199,199,201,203,205,205,207,209,211,211,213,215,215,218,220,222,222,225,227,227,230,232,232,235,238,238,241,244,248,248,251,255,
+0,0,1,2,3,3,4,5,5,6,7,8,8,9,10,11,12,12,13,13,15,15,16,17,17,18,19,20,20,21,22,23,23,24,25,26,26,27,28,29,29,30,31,31,32,33,34,34,36,36,37,38,38,39,40,41,41,42,43,44,45,45,46,47,48,49,49,50,51,51,52,53,54,55,55,56,57,57,59,60,60,61,62,62,63,64,65,66,67,67,68,69,70,70,71,72,73,74,75,76,76,77,78,79,79,80,81,82,83,83,84,85,87,87,88,89,90,91,91,92,93,94,95,96,97,97,98,99,100,101,102,103,103,104,105,106,107,108,109,110,111,112,113,114,114,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,128,129,130,131,132,134,135,136,137,138,138,139,140,141,142,143,145,146,146,147,148,149,150,152,153,153,154,155,157,158,159,160,160,162,163,164,166,166,167,168,170,171,173,173,174,176,177,178,178,180,182,183,183,185,186,188,190,190,191,193,195,195,196,198,200,200,202,204,206,206,208,210,212,212,214,216,216,218,220,223,223,225,227,227,230,233,233,235,238,238,241,244,244,248,251,255,
+0,0,1,2,3,3,4,5,5,6,7,8,8,9,10,11,12,12,13,13,15,15,16,17,18,18,19,20,20,21,22,23,23,24,25,26,27,27,28,29,30,30,31,31,33,33,34,35,36,36,37,38,38,40,40,41,42,42,43,44,45,45,46,47,48,49,49,50,51,52,52,54,54,55,56,56,57,58,59,60,61,61,62,63,63,64,66,66,67,68,68,69,70,71,71,72,74,74,75,76,77,77,78,79,80,81,81,82,83,84,85,85,87,88,89,89,90,91,92,93,94,94,95,96,97,98,99,100,100,101,102,103,104,105,106,107,107,108,109,110,111,112,113,114,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,129,130,131,132,133,134,135,136,137,138,138,139,141,142,143,144,145,146,146,147,149,150,151,152,153,153,155,156,157,158,160,161,161,162,164,165,166,166,168,169,170,172,173,173,175,176,178,179,179,181,182,184,184,185,187,188,190,190,192,193,195,195,197,199,200,200,202,204,206,206,208,210,212,212,214,216,216,218,221,223,223,225,228,228,230,233,233,236,239,239,241,245,245,248,251,255,
+0,0,1,2,3,3,4,5,6,6,7,8,8,10,10,11,11,12,13,14,15,15,16,16,18,18,19,19,21,21,22,23,24,24,25,25,27,27,28,28,30,30,31,32,33,33,34,35,35,37,37,38,39,39,40,41,42,42,43,44,45,46,46,47,48,49,50,50,51,52,52,53,55,55,56,57,57,58,59,60,61,62,62,63,64,64,65,66,67,68,69,70,70,71,72,72,73,74,75,76,77,78,79,79,80,81,82,83,83,84,85,86,87,87,88,89,90,91,91,92,94,95,96,96,97,98,99,100,101,102,103,103,104,105,106,107,107,108,109,110,111,112,113,113,114,115,116,117,118,119,120,121,122,123,124,125,126,126,127,128,129,130,131,132,133,135,136,137,137,138,139,140,141,142,143,144,146,146,147,148,149,150,152,153,153,154,155,156,158,159,160,160,161,163,164,165,165,167,168,169,171,172,172,174,175,177,178,178,180,181,183,184,184,186,187,189,189,190,192,194,194,196,197,199,201,201,203,205,205,207,208,210,210,212,215,217,217,219,221,221,223,226,228,228,231,233,233,236,239,239,242,245,245,248,251,255,
+0,1,1,2,3,3,4,5,6,6,7,8,8,10,10,11,11,12,13,14,15,15,16,17,18,18,19,20,21,21,22,23,24,24,25,26,27,27,28,29,30,30,31,32,33,34,34,35,35,37,37,38,39,39,41,41,42,43,43,44,45,46,47,47,48,49,50,51,51,52,53,53,55,56,56,57,58,58,59,60,61,62,63,63,64,65,65,66,68,68,69,70,71,71,72,73,74,74,75,77,77,78,79,80,80,81,82,83,84,85,85,86,87,88,89,89,90,91,92,93,94,95,96,97,98,99,99,100,101,102,103,104,105,106,107,107,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,127,128,129,130,131,132,133,134,135,136,137,137,138,139,140,142,143,144,145,146,146,147,148,150,151,152,153,153,154,156,157,158,159,161,161,162,163,165,166,166,167,169,170,171,173,173,174,176,177,179,179,180,182,183,185,185,186,188,189,189,191,193,194,194,196,198,200,201,201,203,205,205,207,209,211,211,213,215,217,217,219,221,221,224,226,229,229,231,234,234,236,239,239,242,245,245,248,251,255,
+0,1,1,2,3,3,4,5,6,6,7,8,8,10,10,11,11,13,13,14,15,15,16,17,18,18,19,20,21,21,22,23,24,24,25,26,27,28,28,29,30,31,31,32,33,34,34,35,36,37,38,38,39,40,41,42,42,43,44,44,45,46,47,48,48,50,50,51,52,52,53,54,55,56,56,57,58,59,59,61,61,62,63,64,64,65,66,66,68,69,69,70,71,72,72,73,74,75,75,77,78,79,79,80,81,82,83,83,84,85,86,86,87,88,89,90,91,91,92,93,95,96,96,97,98,99,100,101,102,103,103,104,105,106,107,108,108,109,110,111,112,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,127,128,129,130,131,132,133,134,135,137,138,138,139,140,141,142,143,144,145,147,147,148,149,150,151,153,154,154,155,156,157,159,160,161,161,163,164,165,166,166,168,169,171,172,173,173,175,176,178,179,179,181,182,184,185,185,187,188,190,190,192,193,195,195,197,198,200,202,202,204,206,206,207,209,211,211,213,215,218,218,220,222,222,224,226,229,229,231,234,234,237,239,239,242,245,245,248,251,255,
+0,1,1,2,3,3,4,5,6,6,7,8,8,10,10,11,11,13,13,14,15,16,16,17,18,19,19,20,21,22,22,23,24,25,25,26,27,28,28,29,30,31,31,32,33,34,35,35,36,37,38,38,39,40,40,42,42,43,44,44,45,46,47,48,48,49,50,51,52,53,53,54,55,56,57,57,58,59,60,60,61,62,63,64,65,65,66,67,67,68,70,70,71,72,73,73,74,75,76,77,77,78,80,80,81,82,83,84,84,85,86,87,88,88,89,90,91,92,93,93,94,95,96,97,98,99,99,100,101,102,103,104,105,106,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,125,126,127,128,129,130,131,132,133,134,135,136,136,137,138,139,140,141,143,144,145,145,146,147,148,150,151,152,153,153,154,155,157,158,159,159,160,162,163,164,166,166,167,168,170,171,172,172,174,175,177,178,178,180,181,183,184,184,186,187,189,190,190,192,194,195,195,197,199,201,201,202,204,206,206,208,210,212,212,214,216,218,218,220,222,222,224,227,229,229,232,234,234,237,239,239,242,245,245,248,252,255,
+0,1,1,2,3,3,4,5,6,6,7,8,9,10,10,11,11,13,13,14,15,16,16,17,18,19,19,20,21,22,22,23,24,25,25,26,27,28,28,29,30,31,32,32,33,34,35,35,36,37,38,39,39,40,41,42,43,43,44,45,45,47,47,48,49,49,50,51,52,53,53,54,55,56,57,58,58,59,60,61,61,63,63,64,65,66,66,67,68,69,70,71,72,72,73,74,75,75,76,77,78,78,80,81,82,82,83,84,85,86,86,87,88,89,90,91,91,92,93,94,95,96,96,97,98,99,100,101,102,102,103,104,105,106,107,108,109,110,111,112,113,113,114,115,116,117,118,119,120,121,122,123,124,125,125,126,127,128,129,130,131,132,133,134,135,136,136,138,139,140,141,142,143,144,145,145,147,148,149,150,151,152,154,154,155,156,157,159,160,160,161,162,164,165,166,166,167,169,170,172,173,173,174,176,177,179,179,180,182,183,185,185,186,188,189,191,191,193,194,196,196,198,199,201,201,203,205,206,206,208,210,212,212,214,216,218,218,220,223,223,225,227,230,230,232,234,234,237,240,240,242,245,245,248,252,255,
+0,1,1,2,3,3,4,5,6,6,7,8,9,9,10,11,12,13,13,14,15,16,16,17,18,19,19,20,21,22,22,23,24,25,25,26,27,28,29,29,30,31,32,32,33,34,35,36,36,37,38,39,40,40,41,42,43,43,44,45,46,46,48,48,49,50,50,51,52,53,54,54,55,56,57,58,59,59,60,61,62,62,63,64,65,66,67,67,68,69,70,70,71,73,73,74,75,76,76,77,78,79,80,80,81,82,84,84,85,86,87,88,88,89,90,91,92,93,93,94,95,96,97,98,99,99,100,101,102,103,104,105,106,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,122,123,124,125,125,127,128,129,130,131,132,133,134,134,135,136,137,138,139,140,141,143,144,144,145,146,147,148,149,150,152,152,153,154,155,156,158,159,159,160,162,163,164,165,165,167,168,169,171,172,172,173,175,176,178,178,179,181,182,184,184,185,187,188,190,190,191,193,195,195,196,198,200,201,201,203,205,207,207,209,211,213,213,215,217,217,219,221,223,223,225,227,227,230,232,235,235,237,240,240,243,246,246,249,252,255,
+0,1,1,2,3,3,4,5,6,6,7,8,9,9,10,11,12,13,13,14,15,16,16,17,18,19,19,20,21,22,23,23,24,25,26,26,27,28,29,29,30,31,32,33,33,34,35,36,36,37,38,39,40,40,41,42,43,44,44,45,46,46,48,48,49,50,50,51,53,53,54,55,55,56,57,58,59,60,60,61,62,63,63,65,65,66,67,68,68,69,70,71,71,73,74,74,75,76,77,78,78,79,80,81,82,82,84,85,86,86,87,88,89,90,90,91,92,93,94,95,95,96,97,98,99,100,101,102,102,103,104,105,106,107,108,109,110,111,112,112,113,114,115,116,117,118,119,120,121,122,122,123,124,125,126,127,128,129,130,131,132,133,134,134,135,136,138,139,140,141,142,143,144,144,145,146,148,149,150,151,152,152,153,155,156,157,158,160,160,161,162,163,165,166,166,167,169,170,171,173,173,174,175,177,178,178,180,181,183,184,184,186,187,189,190,190,192,193,195,195,197,198,200,202,202,204,206,207,207,209,211,213,213,215,217,217,219,221,223,223,226,228,228,230,233,235,235,238,240,240,243,246,246,249,252,255,
+0,1,1,2,3,3,4,5,6,6,8,8,9,9,10,11,12,13,14,14,15,16,17,17,18,19,20,20,21,22,23,23,25,25,26,26,27,28,29,30,30,31,32,33,33,34,35,36,37,37,38,39,40,41,41,42,43,44,45,45,46,47,48,49,49,50,51,51,53,54,54,55,56,56,57,59,59,60,61,61,62,63,64,65,66,66,67,68,69,70,70,71,72,73,74,75,76,76,77,78,79,79,80,81,82,83,84,85,86,87,88,88,89,90,91,92,93,93,94,95,96,97,98,99,99,100,101,102,103,104,105,106,106,107,108,109,110,111,112,113,114,115,116,117,118,119,119,121,122,122,122,123,124,125,126,127,129,130,131,132,133,134,135,135,136,137,138,139,140,141,142,143,145,145,146,147,148,149,150,152,153,153,154,155,156,158,159,160,160,161,163,164,165,166,166,168,169,170,172,173,173,174,176,177,179,179,180,182,183,185,185,186,188,189,191,191,192,194,196,196,197,199,201,202,202,204,206,208,208,210,212,213,213,215,217,217,219,222,224,224,226,228,228,230,233,235,235,238,240,240,243,246,246,249,252,255,
+0,1,1,2,3,3,4,5,6,6,8,8,9,9,11,11,12,13,14,14,15,16,17,17,18,19,20,20,21,22,23,23,24,25,26,27,27,28,29,30,30,31,32,33,34,34,36,36,37,37,38,39,40,41,41,42,43,44,45,46,46,47,48,49,50,50,51,52,52,54,55,55,56,57,57,58,60,60,61,62,62,63,64,65,65,67,68,68,69,70,71,71,72,73,74,75,76,77,77,78,79,80,81,81,82,83,84,85,85,86,87,88,90,90,91,92,93,94,95,95,96,97,98,99,100,101,102,102,103,104,105,106,107,108,109,110,111,111,112,113,114,115,116,117,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,133,134,135,136,137,138,140,141,142,143,143,144,145,146,147,149,150,151,152,152,153,154,156,157,158,159,159,161,162,163,164,166,166,167,168,170,171,172,172,174,175,176,178,179,179,181,182,184,185,185,187,188,190,190,191,193,194,196,196,198,199,201,201,203,205,206,206,208,210,212,212,214,216,218,218,220,222,224,224,226,228,228,231,233,236,236,238,241,241,243,246,246,249,252,255,
+0,1,1,2,3,3,4,5,6,6,8,8,9,9,11,11,12,13,14,14,15,16,17,17,18,19,20,20,21,22,23,24,24,25,26,27,27,29,29,30,31,31,32,33,34,34,36,36,37,38,38,40,40,41,42,42,43,44,45,46,46,47,48,49,50,51,51,52,53,54,55,55,56,57,58,58,60,61,61,62,63,63,64,65,66,67,68,69,69,70,71,72,72,73,74,76,76,77,78,79,79,80,81,82,83,83,84,85,86,87,88,88,90,91,92,92,93,94,95,96,97,98,98,99,100,101,102,103,104,105,106,106,107,108,109,110,111,112,113,114,115,116,117,118,118,119,119,120,121,122,123,124,125,126,128,128,129,130,132,132,134,134,135,136,137,138,139,140,141,142,143,143,144,146,147,148,149,150,151,153,153,154,155,156,157,159,160,160,161,162,164,165,166,166,167,169,170,171,173,173,174,176,177,178,180,180,181,183,184,186,186,187,189,190,190,192,193,195,197,197,198,200,202,202,203,205,207,207,209,210,212,212,214,216,218,218,220,222,224,224,227,229,229,231,233,236,236,238,241,241,243,246,246,249,252,255,
+0,1,1,2,3,3,4,5,6,6,8,8,9,9,11,11,12,13,14,14,15,16,17,17,18,19,20,21,21,22,23,24,24,26,26,27,27,28,29,30,31,31,33,33,34,35,35,37,37,38,39,39,41,41,42,43,43,44,45,46,47,47,48,49,50,51,52,52,53,54,55,56,56,57,58,59,59,60,62,62,63,64,64,65,66,67,67,69,70,71,71,72,73,74,74,75,76,77,78,79,80,81,81,82,83,84,85,85,86,87,88,89,90,90,91,92,93,94,95,96,97,98,99,100,101,102,102,103,104,105,106,107,108,109,110,110,111,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,131,132,133,134,135,136,137,138,139,141,142,142,143,144,145,146,147,148,149,151,151,152,153,154,155,157,158,159,159,160,162,163,164,165,165,167,168,169,171,172,172,173,175,176,177,179,179,180,182,183,185,185,186,188,189,191,191,192,194,195,195,197,199,200,202,202,204,206,207,207,209,211,213,213,215,217,219,219,221,223,225,225,227,229,229,231,234,236,236,238,241,241,244,246,246,249,252,255,
+0,1,1,2,3,4,4,5,6,7,8,8,9,10,11,11,12,13,14,14,15,16,17,18,18,19,20,21,21,23,23,24,24,26,26,27,28,28,30,30,31,32,33,33,34,35,35,37,37,38,39,39,41,41,42,43,43,44,46,46,47,48,48,49,50,51,52,53,53,54,55,56,57,58,58,59,60,60,62,63,63,64,65,66,66,67,68,69,70,71,72,72,73,74,75,75,76,77,79,79,80,81,82,83,83,84,85,86,87,87,88,89,90,91,92,92,93,94,95,97,98,98,99,100,101,102,103,104,105,106,106,107,108,109,110,111,112,112,113,114,115,116,117,118,118,119,120,121,122,123,124,125,126,127,128,129,130,131,131,132,134,135,136,137,138,139,140,141,142,142,143,144,145,147,148,149,150,151,151,152,154,155,156,157,158,160,160,161,162,163,165,166,166,167,168,170,171,172,172,174,175,177,178,179,179,181,182,184,185,185,187,188,190,191,191,193,194,196,196,197,199,201,202,202,204,206,208,208,209,211,213,213,215,217,219,219,221,223,225,225,227,229,229,232,234,236,236,239,241,241,244,246,246,249,252,255,
+0,1,1,2,3,4,4,5,6,7,8,8,9,10,11,11,12,13,14,15,15,16,17,18,18,20,20,21,21,23,23,24,25,26,27,27,28,28,30,30,31,32,33,34,34,35,36,37,38,38,39,40,41,42,42,43,44,44,46,47,47,48,49,49,51,51,52,53,53,54,56,56,57,58,59,59,60,61,62,63,64,64,65,66,67,67,68,70,70,71,72,73,73,74,75,76,77,77,79,80,81,81,82,83,84,85,85,86,87,88,89,90,90,91,92,93,94,95,95,97,98,99,100,101,101,102,103,104,105,106,107,108,109,110,110,111,112,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,132,133,134,135,136,137,138,139,140,142,143,143,144,145,146,147,148,149,151,152,152,153,154,155,156,158,159,160,160,161,163,164,165,166,166,168,169,170,172,173,173,174,176,177,178,180,180,181,183,184,186,186,187,189,190,192,192,193,195,196,196,198,200,201,203,203,205,206,208,208,210,212,214,214,215,217,219,219,221,223,225,225,228,230,230,232,234,236,236,239,241,241,244,247,247,249,252,255,
+0,1,1,2,3,4,4,5,6,7,7,8,9,10,11,12,12,13,14,15,15,16,17,18,18,20,20,21,22,23,23,24,25,25,27,27,28,29,30,31,31,32,33,34,35,35,36,37,38,39,39,40,41,42,43,43,44,45,45,47,47,48,49,50,50,52,52,53,54,54,55,56,57,58,59,60,60,61,62,62,64,65,65,66,67,68,68,69,70,71,72,73,74,75,75,76,77,78,79,79,80,81,83,83,84,85,86,87,87,88,89,90,91,92,92,93,94,95,96,97,98,98,99,100,101,102,103,104,104,105,106,107,108,109,110,111,112,113,114,115,116,116,117,118,119,120,121,122,123,124,125,126,127,128,128,129,130,131,132,133,135,136,137,138,139,140,141,141,142,143,144,145,146,148,149,150,150,151,152,153,155,156,157,158,158,159,161,162,163,164,166,166,167,168,169,171,172,172,173,175,176,178,179,179,180,182,183,185,185,186,188,189,191,191,192,194,195,197,197,198,200,202,202,203,205,207,209,209,210,212,214,214,216,218,218,220,222,224,224,226,228,230,230,232,234,234,237,239,242,242,244,247,247,249,252,255,
+0,1,1,2,3,4,4,5,6,7,7,8,9,10,11,12,12,13,14,15,15,16,17,18,19,20,20,21,22,23,24,24,25,26,27,27,28,29,30,31,31,32,33,34,35,35,36,37,38,39,39,40,41,42,43,44,44,45,46,47,48,48,49,50,50,52,53,53,54,55,56,56,58,58,59,60,61,61,62,63,64,65,66,66,67,68,69,70,70,72,73,73,74,75,76,76,77,78,79,80,80,81,83,84,85,85,86,87,88,89,89,90,91,92,93,94,95,95,96,97,98,99,100,101,101,102,103,104,105,106,107,108,109,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,129,130,131,132,133,134,135,136,137,138,139,140,141,141,143,144,145,146,147,148,149,150,150,152,153,154,155,156,157,159,159,160,161,162,164,165,166,166,167,169,170,171,173,173,174,175,177,178,179,179,181,182,184,185,185,187,188,189,191,191,193,194,196,197,197,199,201,202,202,204,205,207,209,209,211,213,214,214,216,218,218,220,222,224,224,226,228,230,230,232,235,235,237,239,242,242,244,247,247,249,252,255,
+0,1,1,2,3,4,4,5,6,7,7,9,9,10,11,12,12,13,14,15,15,16,17,18,19,19,21,21,22,22,24,24,25,26,27,28,28,29,30,31,32,32,33,34,35,36,36,37,38,39,40,40,41,42,43,44,44,45,46,47,48,49,49,50,51,51,53,54,54,55,56,57,57,59,59,60,61,62,62,63,64,65,66,67,68,68,69,70,71,71,72,73,75,75,76,77,78,79,79,80,81,82,82,83,84,85,87,87,88,89,90,91,92,92,93,94,95,96,97,97,98,99,100,101,102,103,104,104,105,106,107,108,109,110,111,112,113,114,115,115,116,117,118,119,120,121,122,123,124,125,125,126,127,128,129,130,131,132,133,134,136,137,138,139,139,140,141,142,143,144,145,146,148,149,149,150,151,152,153,154,156,157,158,158,159,160,162,163,164,165,165,167,168,169,170,172,172,173,174,176,177,178,178,180,181,183,184,184,186,187,188,190,190,191,193,195,196,196,198,199,201,203,203,204,206,208,208,209,211,213,213,215,217,218,218,220,222,224,224,226,228,231,231,233,235,235,237,239,242,242,244,247,247,249,252,255,
+0,1,1,2,3,4,4,6,6,7,7,9,9,10,11,12,12,13,14,15,16,16,17,18,19,19,21,21,22,23,24,25,25,26,27,28,28,29,30,31,32,32,33,34,35,36,36,37,38,39,40,41,41,42,43,44,45,45,46,47,48,49,50,50,51,52,53,54,55,55,56,57,58,59,60,61,61,62,63,63,64,65,66,67,68,69,70,70,71,72,73,73,75,76,76,77,78,79,80,80,81,82,83,84,84,85,87,88,89,89,90,91,92,93,94,95,95,96,97,98,99,100,101,101,102,103,104,105,106,107,108,109,110,111,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,126,127,128,129,130,131,132,133,134,135,136,137,138,139,139,140,141,142,144,145,146,147,148,149,149,150,151,152,154,155,156,157,158,158,160,161,162,163,165,166,166,167,168,170,171,172,172,174,175,176,178,179,179,180,182,183,185,185,186,187,189,190,190,192,193,195,197,197,198,200,201,203,203,205,206,208,208,210,211,213,213,215,217,219,219,221,223,225,225,227,229,231,231,233,235,235,237,240,242,242,244,247,247,250,252,255,
+0,1,1,2,3,4,4,6,6,7,7,9,9,10,11,12,13,13,14,15,16,16,18,18,19,20,21,21,22,23,24,25,25,26,27,28,29,29,30,31,32,33,33,34,35,36,37,37,38,39,40,41,42,42,44,44,45,46,46,47,48,49,50,51,51,52,53,54,55,56,56,57,58,59,60,61,62,62,63,64,65,65,67,68,68,69,70,71,71,72,73,74,75,76,77,78,78,79,80,81,82,82,83,84,85,86,87,88,89,90,91,91,92,93,94,95,96,97,97,98,99,100,101,102,103,104,104,105,106,107,108,109,110,111,112,113,114,115,116,116,117,118,119,120,121,122,123,124,125,126,126,127,128,129,130,131,132,133,134,136,137,138,139,140,140,141,142,143,144,145,146,147,148,150,150,151,152,153,154,155,157,158,159,159,160,161,163,164,165,166,166,168,169,170,171,173,173,174,175,177,178,180,180,181,182,184,185,185,186,188,189,191,191,192,194,195,197,197,199,200,202,203,203,205,207,208,208,210,212,214,214,215,217,219,219,221,223,225,225,227,229,231,231,233,235,235,238,240,242,242,245,247,247,250,252,255,
+0,1,1,2,3,4,4,6,6,7,8,9,9,10,11,12,13,13,15,15,16,16,18,18,19,20,21,22,22,23,24,25,26,26,27,28,29,30,30,32,32,33,34,34,36,36,37,38,38,40,40,41,42,42,43,45,45,46,47,47,48,49,50,51,52,52,53,54,55,56,57,57,58,59,60,61,62,63,63,64,65,66,66,67,69,69,70,71,72,73,73,74,75,76,77,78,79,80,80,81,82,83,84,84,85,86,87,88,89,89,90,92,93,94,94,95,96,97,98,99,100,100,101,102,103,104,105,106,107,108,109,110,110,111,112,113,114,115,116,117,118,119,120,121,122,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,138,139,140,141,142,143,144,146,147,148,148,149,150,151,152,153,155,156,157,157,158,159,161,162,163,164,164,166,167,168,169,171,172,172,173,175,176,177,179,179,180,181,183,184,186,186,187,188,190,191,191,193,194,196,197,197,199,201,202,202,204,205,207,209,209,211,212,214,214,216,218,219,219,221,223,225,225,227,229,231,231,233,236,236,238,240,242,242,245,247,247,250,252,255,
+0,1,1,2,3,4,4,6,6,7,8,9,9,10,11,12,13,13,15,15,16,17,18,18,19,20,21,22,22,23,24,25,26,26,27,28,29,30,30,32,32,33,34,34,36,37,37,38,39,40,41,41,42,43,43,45,46,46,47,48,48,50,50,51,52,53,53,54,56,56,57,58,58,59,60,61,62,63,64,64,65,66,67,68,69,70,71,71,72,73,74,75,75,76,78,78,79,80,81,82,82,83,84,85,86,86,88,88,89,90,91,92,93,94,95,96,97,98,98,99,100,101,102,103,104,105,105,106,107,108,109,110,111,112,113,114,115,116,116,117,118,119,120,121,122,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,138,140,141,142,143,144,145,146,147,148,148,150,151,152,153,154,155,156,158,158,159,160,161,162,164,165,165,166,167,169,170,171,172,172,174,175,176,178,179,179,180,182,183,185,186,186,187,189,190,192,192,193,195,196,198,198,199,201,203,203,204,206,208,209,209,211,213,214,214,216,218,220,220,222,224,226,226,228,230,232,232,234,236,236,238,240,243,243,245,247,247,250,252,255,
+0,1,1,2,3,4,4,6,6,7,8,9,10,10,11,12,13,13,15,15,16,17,18,19,19,20,21,22,23,23,24,25,26,27,27,29,29,30,31,31,33,33,34,35,35,37,37,38,39,40,41,42,42,43,44,44,46,46,47,48,49,49,51,52,52,53,54,54,55,57,57,58,59,60,60,61,62,63,64,65,66,66,67,68,69,69,71,72,72,73,74,75,76,76,77,78,79,80,81,82,83,84,84,85,86,87,88,89,90,90,91,92,93,94,95,95,96,97,98,100,100,101,102,103,104,105,106,107,108,109,109,110,111,112,113,114,115,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,136,137,138,139,140,141,142,143,144,146,147,147,148,149,150,151,152,153,155,156,156,157,158,159,160,162,163,164,164,165,167,168,169,170,172,172,173,174,176,177,178,178,180,181,182,184,185,185,187,188,189,191,191,192,194,195,197,197,198,200,201,203,203,205,206,208,208,210,211,213,213,215,217,218,220,220,222,224,226,226,228,230,230,232,234,236,236,238,240,243,243,245,247,247,250,252,255,
+0,1,1,2,3,4,4,6,6,7,8,9,10,10,11,12,13,14,15,16,16,17,18,19,20,20,21,22,23,23,24,25,26,27,27,29,30,30,31,31,33,33,34,35,36,37,38,38,39,40,41,42,43,43,44,45,46,47,47,48,49,50,51,52,53,53,54,55,55,57,58,58,59,60,61,61,62,64,64,65,66,67,67,68,69,70,71,72,73,74,74,75,76,77,78,78,79,81,82,82,83,84,85,86,87,87,88,89,90,91,92,92,93,94,95,96,97,98,98,100,101,102,103,104,105,106,106,107,108,109,110,111,112,113,114,115,116,116,117,118,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,136,137,138,140,141,142,143,144,145,146,147,147,148,149,150,152,153,154,155,156,156,157,159,160,161,162,163,165,165,166,167,168,170,171,172,172,174,175,176,177,179,179,180,181,183,184,186,186,187,188,190,191,191,193,194,196,197,197,199,200,202,203,203,205,207,208,208,210,212,213,213,215,217,219,221,221,222,224,226,226,228,230,230,232,234,236,236,238,241,243,243,245,247,247,250,252,255,
+0,1,1,2,3,4,5,6,6,7,8,9,10,10,11,12,13,14,15,16,16,17,18,19,20,20,21,22,23,24,24,26,26,27,28,29,30,30,31,32,33,34,34,35,36,37,38,39,39,40,41,42,43,44,44,45,46,47,48,49,49,50,51,52,53,54,54,55,56,57,58,59,59,60,61,62,62,64,65,66,66,67,68,69,69,70,72,72,73,74,75,76,76,77,78,79,80,81,82,83,84,84,85,86,87,88,89,90,90,91,92,93,94,95,95,96,97,98,99,101,102,102,103,104,105,106,107,108,109,110,110,111,112,113,114,115,116,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,137,138,139,140,141,142,143,144,145,147,148,148,149,150,151,152,153,154,156,157,157,158,159,160,161,163,164,165,165,166,168,169,170,171,173,173,174,175,176,178,179,179,181,182,183,185,186,186,187,189,190,192,192,193,195,196,198,198,199,201,202,204,204,206,207,209,209,210,212,214,214,216,217,219,221,221,223,225,226,226,228,230,230,232,234,237,237,239,241,243,243,245,248,248,250,252,255,
+0,1,1,2,3,4,5,6,7,7,8,9,10,10,11,12,13,14,14,16,16,17,18,19,20,20,21,22,23,24,24,26,26,27,28,29,30,31,31,32,32,34,35,35,36,37,38,39,40,40,41,42,43,44,45,45,46,47,48,49,50,50,51,52,53,54,55,55,56,57,58,59,60,61,61,62,63,64,65,66,67,67,68,69,70,70,71,72,74,74,75,76,77,78,78,79,80,81,82,82,83,85,86,87,87,88,89,90,91,91,92,93,94,95,96,97,98,98,99,100,101,102,103,104,105,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,133,134,135,136,137,138,139,141,142,143,144,145,146,146,147,148,149,150,152,153,154,155,156,156,157,158,160,161,162,163,164,164,166,167,168,169,171,172,172,173,174,176,177,178,178,180,181,182,184,185,185,187,188,189,191,191,192,194,195,197,197,198,200,201,203,203,204,206,208,209,209,211,212,214,214,216,218,219,219,221,223,225,225,227,229,231,231,233,235,237,237,239,241,243,243,245,248,248,250,252,255,
+0,1,1,2,3,4,5,6,7,7,8,9,10,11,11,13,13,14,15,16,17,17,18,19,20,21,21,23,23,24,25,26,27,27,28,29,30,31,32,32,33,34,35,36,36,37,38,39,40,41,41,43,43,44,45,46,46,48,48,49,50,51,51,53,54,54,55,56,57,57,59,59,60,61,62,62,63,64,65,66,67,68,69,69,70,71,72,72,74,75,76,76,77,78,79,80,80,81,82,83,84,85,86,87,88,89,90,90,91,92,93,94,95,95,96,97,98,99,100,101,102,102,103,104,105,106,107,108,109,110,110,112,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,134,135,136,137,138,139,140,141,142,143,144,145,147,147,148,149,150,151,152,153,154,155,157,157,158,159,160,161,162,164,165,165,166,167,169,170,171,172,172,174,175,176,177,179,179,180,182,183,184,186,186,187,188,190,191,191,193,194,196,197,197,199,200,202,203,203,205,206,208,210,210,211,213,215,215,216,218,220,220,222,223,225,225,227,229,231,231,233,235,237,237,239,241,243,243,245,248,248,250,253,255,
+0,1,1,2,3,4,5,5,7,7,8,9,10,11,11,13,13,14,15,16,17,17,18,19,20,21,21,23,23,24,25,26,27,28,28,29,30,31,32,32,33,34,35,36,37,37,39,39,40,41,42,42,44,44,45,46,46,47,49,49,50,51,52,52,53,55,55,56,57,58,58,59,60,61,62,63,64,64,65,66,67,68,69,70,70,71,72,73,74,74,75,77,78,78,79,80,81,82,82,83,84,85,86,87,87,89,90,91,92,93,93,94,95,96,97,98,99,99,100,101,102,103,104,105,106,107,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,121,122,123,124,125,126,127,128,129,130,130,131,132,133,134,135,136,137,138,139,141,142,143,144,144,145,146,147,148,149,150,151,153,154,155,155,156,157,158,159,161,162,163,163,164,165,167,168,169,170,170,172,173,174,175,177,178,178,179,181,182,183,185,185,186,187,189,190,192,192,193,195,196,197,197,199,200,202,204,204,205,207,208,208,210,212,213,215,215,217,218,220,220,222,224,225,225,227,229,231,231,233,235,237,237,239,241,241,243,246,248,248,250,253,255,
+0,1,1,2,3,4,5,5,7,7,8,9,10,11,11,13,13,14,15,16,17,18,18,20,20,21,22,23,24,24,25,26,27,28,28,29,31,31,32,33,33,35,35,36,37,38,39,40,40,41,42,42,44,45,45,46,47,48,49,50,51,51,52,53,53,55,56,56,57,58,59,59,61,62,62,63,64,65,66,66,68,69,69,70,71,72,73,73,74,75,76,77,78,79,80,81,81,82,83,84,85,85,86,87,88,90,90,91,92,93,94,95,95,96,97,98,99,100,101,102,102,103,104,105,106,107,108,109,110,111,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,131,132,133,134,135,136,137,138,139,140,141,142,143,144,144,145,146,147,149,150,151,152,153,154,155,155,156,158,159,160,161,162,163,163,165,166,167,168,170,171,171,172,173,175,176,177,179,179,180,181,182,184,185,185,187,188,189,191,192,192,194,195,196,198,198,199,201,202,204,204,206,207,209,209,210,212,214,215,215,217,219,220,220,222,224,226,226,228,230,231,231,233,235,237,237,239,241,241,244,246,248,248,250,253,255,
+0,1,1,2,3,4,5,5,7,7,8,10,10,11,12,13,14,14,15,16,17,18,18,20,20,21,22,23,24,25,25,26,27,28,29,29,31,32,32,33,34,35,36,36,37,38,39,40,41,41,42,43,44,45,46,47,47,48,49,50,51,51,52,53,54,55,56,57,57,58,59,60,61,62,63,64,64,65,66,67,68,69,70,70,71,72,73,74,74,75,76,78,78,79,80,81,82,83,83,84,85,86,87,87,88,90,91,92,92,93,94,95,96,97,98,98,99,100,101,102,103,104,105,106,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,120,121,122,123,124,125,126,127,128,129,130,131,131,132,133,134,135,136,137,139,140,141,142,143,144,145,145,146,147,148,149,150,151,152,154,155,156,156,157,158,159,161,162,163,164,164,165,166,168,169,170,171,171,173,174,175,176,178,179,179,180,182,183,184,186,186,187,188,190,191,193,193,194,195,197,198,198,200,201,203,204,204,206,207,209,209,211,212,214,216,216,217,219,221,221,222,224,226,226,228,230,232,232,234,236,238,238,240,242,242,244,246,248,248,250,253,255,
+0,1,1,2,3,4,5,5,7,8,8,10,10,11,12,13,14,14,15,16,17,18,19,20,21,21,22,23,24,25,25,26,27,28,29,30,30,32,32,33,34,35,36,37,37,38,39,40,41,42,42,43,44,45,46,47,47,48,49,50,51,52,53,53,54,55,56,57,58,58,59,60,61,62,63,64,65,65,66,67,68,69,70,71,72,72,73,74,75,76,76,77,78,80,81,81,82,83,84,85,85,86,87,88,89,90,90,91,92,93,95,96,96,97,98,99,100,101,102,102,103,104,105,106,107,108,109,110,111,112,113,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,143,144,145,146,148,149,150,151,152,153,154,154,155,156,158,159,160,161,162,163,163,164,166,167,168,169,171,171,172,173,174,176,177,178,178,180,181,182,184,185,185,186,187,189,190,192,192,193,194,196,197,197,199,200,202,203,203,205,206,208,209,209,211,213,214,214,216,218,219,221,221,223,225,226,226,228,230,232,232,234,236,238,238,240,242,242,244,246,248,248,250,253,255,
+0,1,1,2,3,4,5,6,7,8,8,10,10,11,12,13,14,15,15,17,17,18,19,20,21,21,22,23,24,25,26,26,28,28,29,30,30,32,33,33,34,35,36,37,38,38,39,41,41,42,43,43,44,46,46,47,48,49,49,51,51,52,53,54,54,55,57,57,58,59,60,60,61,63,64,64,65,66,67,68,68,69,71,71,72,73,74,75,75,76,77,78,79,80,81,82,83,83,84,85,86,87,88,88,89,90,91,92,93,93,95,96,97,98,99,99,100,101,102,103,104,105,106,107,108,108,109,110,111,112,113,114,115,116,117,118,119,120,120,122,122,123,124,125,126,127,127,128,129,130,131,132,133,134,135,136,137,138,140,141,142,142,144,144,145,146,147,148,149,150,151,152,154,155,155,156,157,158,159,160,161,163,164,164,165,166,167,169,170,171,171,172,174,175,176,177,179,179,180,181,182,184,185,185,187,188,189,191,192,192,193,195,196,198,198,199,201,202,204,204,205,207,208,210,210,211,213,215,215,216,218,220,221,221,223,225,227,227,228,230,232,232,234,236,238,238,240,242,242,244,246,248,248,250,253,255,
+0,1,1,2,3,4,5,6,7,8,8,9,11,11,12,13,14,15,15,16,17,18,19,20,21,22,22,23,24,25,26,27,27,29,29,30,31,31,33,34,34,35,36,37,38,39,39,40,41,42,43,44,44,45,47,47,48,49,50,50,52,52,53,54,55,56,56,58,59,59,60,61,62,62,63,65,65,66,67,68,69,69,70,71,72,73,74,75,76,77,77,78,79,80,81,81,83,84,85,85,86,87,88,89,90,91,91,92,93,94,95,96,96,97,98,99,100,101,103,104,104,105,106,107,108,109,110,111,112,113,114,114,115,116,117,118,119,120,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,141,142,143,144,145,146,148,149,150,151,152,152,153,154,155,156,158,159,160,161,162,162,163,164,166,167,168,169,170,170,172,173,174,175,177,178,178,179,180,182,183,184,184,186,187,188,190,191,191,193,194,195,197,197,198,200,201,203,203,204,206,207,209,209,210,212,213,215,215,217,218,220,220,222,223,225,225,227,229,231,232,232,234,236,236,238,240,242,242,244,246,248,248,250,253,255,
+0,1,1,2,4,4,5,6,7,8,9,9,11,11,12,13,14,15,16,16,18,18,19,20,21,22,23,23,25,25,26,27,28,29,30,30,31,32,33,34,35,35,36,38,38,39,40,40,42,42,43,44,45,46,47,48,48,49,50,51,52,53,54,54,55,56,57,58,59,60,61,61,62,63,64,65,66,67,67,68,69,70,71,71,72,74,75,75,76,77,78,79,79,80,81,82,84,84,85,86,87,88,89,89,90,91,92,93,94,95,95,96,97,98,99,100,101,101,103,104,105,106,107,108,109,109,111,111,112,113,114,115,116,117,118,119,120,121,121,122,122,123,124,126,126,127,128,129,130,131,132,133,134,135,137,137,139,140,141,142,142,143,144,145,146,147,148,149,150,151,152,152,153,155,156,157,158,159,160,161,163,163,164,165,166,167,168,170,171,171,172,173,175,176,177,178,178,180,181,182,183,185,185,186,188,189,190,192,192,193,194,196,197,197,199,200,202,203,203,205,206,208,209,209,211,212,214,215,215,217,219,220,220,222,224,225,225,227,229,231,233,233,235,236,236,238,240,242,242,244,246,248,248,251,253,255,
+0,1,1,2,4,4,5,6,7,8,9,9,11,11,12,14,14,15,16,16,18,18,19,20,21,22,23,23,25,26,26,27,28,29,30,31,31,32,33,34,35,36,36,38,38,39,40,41,42,43,44,44,45,46,47,48,49,50,50,51,53,53,54,55,55,56,57,59,59,60,61,62,62,63,64,66,66,67,68,69,69,70,71,72,73,74,75,76,77,77,78,79,80,81,81,82,84,85,86,86,87,88,89,90,91,92,92,93,94,95,96,97,98,98,99,100,101,102,104,105,105,106,107,108,109,110,111,112,113,114,115,116,116,117,118,119,120,121,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,142,143,144,145,146,147,149,150,151,152,153,153,154,155,156,157,159,160,161,162,163,163,164,165,167,168,169,170,171,171,173,174,175,176,177,179,179,180,181,183,184,185,185,187,188,189,191,192,192,193,195,196,198,198,199,201,202,204,204,205,206,208,209,209,211,213,214,216,216,217,219,221,221,222,224,226,226,227,229,231,233,233,235,237,237,238,240,242,242,244,246,248,248,251,253,255,
+0,1,1,2,4,4,5,6,7,8,9,9,11,12,12,13,14,15,16,17,18,19,19,20,22,22,23,24,24,26,27,27,28,29,30,31,32,32,34,34,35,36,37,38,39,40,40,41,42,43,44,45,45,46,47,48,49,50,51,51,52,54,54,55,56,57,57,58,59,61,61,62,63,64,64,65,66,67,68,69,70,71,71,72,73,74,75,76,77,78,79,79,80,81,82,83,84,84,85,86,88,89,89,90,91,92,93,94,95,95,96,97,98,99,100,101,102,102,103,104,105,106,107,108,109,110,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,127,129,129,131,131,132,133,134,136,137,138,138,138,140,141,142,143,144,145,146,147,148,149,150,151,151,152,153,155,156,157,158,159,160,161,161,162,164,165,166,167,168,170,170,171,172,173,174,176,177,178,178,179,181,182,183,185,185,186,187,188,190,191,191,193,194,195,197,198,198,200,201,202,204,204,205,207,208,210,210,211,213,214,214,216,218,219,221,221,223,224,226,226,228,229,231,231,233,235,237,237,239,241,243,243,244,246,249,249,251,253,255,
+0,1,1,2,4,4,5,6,7,8,9,10,11,12,12,13,15,15,16,17,18,19,20,20,22,23,23,24,25,26,27,28,28,30,30,31,32,33,34,35,36,36,37,38,39,40,41,41,42,43,44,45,46,46,47,49,49,50,51,52,53,54,55,56,56,57,58,59,59,61,62,63,63,64,65,65,66,68,69,70,70,71,72,73,74,74,75,77,78,78,79,80,81,82,82,83,84,85,86,87,88,89,90,91,92,93,93,94,95,96,97,98,98,99,100,101,102,103,104,105,106,106,107,108,109,110,111,112,113,114,115,116,117,118,119,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,139,140,141,142,143,144,145,146,148,148,150,151,152,152,153,154,155,156,157,158,160,161,162,162,163,164,165,167,168,169,170,170,171,173,174,175,176,177,179,179,180,181,182,184,185,185,186,188,189,190,192,192,193,194,196,197,199,199,200,201,203,204,204,206,207,209,210,210,212,213,215,215,216,218,220,221,221,223,225,226,226,228,230,232,232,233,235,237,237,239,241,243,243,245,247,249,249,251,253,255,
+0,1,1,2,4,4,5,6,7,8,9,10,11,12,13,13,15,15,16,17,18,19,20,21,22,23,23,24,25,26,27,28,29,29,31,31,32,33,34,35,36,36,37,38,39,40,41,42,42,43,45,45,46,47,48,48,50,51,51,52,53,54,54,56,57,58,58,59,60,61,62,63,64,64,65,66,67,68,69,70,71,72,72,73,74,75,76,76,77,79,80,80,81,82,83,84,85,85,86,87,88,89,90,90,92,93,94,95,96,96,97,98,99,100,101,102,103,104,104,105,106,107,108,109,110,111,112,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,128,130,131,132,133,134,135,136,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,150,151,152,153,155,156,157,158,159,160,160,161,162,163,165,166,167,168,169,169,171,172,173,174,175,177,177,178,179,180,182,183,184,184,185,187,188,189,191,191,192,193,195,196,198,198,199,200,202,203,203,205,206,208,209,209,211,212,214,215,215,217,218,220,222,222,223,225,227,227,228,230,232,232,234,235,237,237,239,241,243,243,245,247,249,249,251,253,255,
+0,1,1,2,4,5,5,6,8,8,9,10,11,12,13,13,15,16,16,17,19,19,20,21,22,23,24,24,25,27,27,28,29,30,31,32,32,33,34,35,36,37,38,38,40,41,41,42,43,44,45,46,47,47,48,49,50,51,52,53,53,54,55,56,57,58,59,60,60,61,62,63,64,65,66,66,67,68,69,71,71,72,73,74,74,75,76,77,78,79,80,81,82,83,83,84,85,86,87,88,89,89,90,91,93,94,94,95,96,97,98,99,100,101,101,102,103,104,105,106,107,108,109,110,110,111,112,113,114,115,116,117,118,119,120,120,121,123,123,124,125,126,127,128,129,130,131,132,133,134,135,136,136,137,138,139,140,141,142,143,145,145,147,148,149,150,151,151,152,153,154,155,156,157,158,160,161,161,162,163,164,165,166,168,169,170,170,171,172,174,175,176,177,177,178,180,181,182,183,185,185,186,187,189,190,191,191,193,194,195,197,198,198,199,201,202,204,204,205,207,208,210,210,211,213,214,216,216,217,219,220,222,222,224,225,227,227,229,230,232,232,234,236,237,237,239,241,243,243,245,247,249,249,251,253,255,
+0,1,2,2,4,5,5,6,8,8,9,10,11,12,13,14,15,16,17,17,19,19,20,21,22,23,24,25,25,27,28,28,29,30,31,32,33,33,34,36,36,37,38,39,40,41,42,42,43,44,46,46,47,48,49,49,51,52,52,53,54,54,55,57,58,58,59,60,61,62,63,64,65,65,66,67,68,69,69,71,72,73,73,74,75,76,77,77,78,80,81,82,82,83,84,85,85,86,87,88,89,90,91,91,93,94,95,96,97,98,98,99,100,101,102,103,104,105,106,106,107,108,109,110,111,112,113,114,115,116,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,151,152,153,155,156,157,158,159,160,161,161,162,163,164,166,167,168,169,171,171,172,173,174,175,176,178,178,179,180,181,183,184,185,185,186,188,189,190,192,192,193,194,196,197,199,199,200,201,203,204,204,205,207,208,210,210,211,213,214,216,216,218,219,221,222,222,224,226,227,227,229,231,232,232,234,236,238,238,239,241,243,243,245,247,249,249,251,253,255,
+0,1,2,2,4,5,5,6,8,8,9,10,11,12,13,14,15,16,17,17,19,20,20,21,22,23,24,25,26,27,28,29,29,30,32,32,33,34,34,35,37,38,38,39,40,41,42,43,44,44,45,47,47,48,49,49,50,52,52,53,54,55,56,56,58,59,59,60,61,62,63,63,65,66,67,68,68,69,70,71,71,73,74,75,75,76,77,78,79,80,80,81,83,84,85,85,86,87,88,89,89,90,91,92,93,94,95,96,96,97,99,100,101,102,102,103,104,105,106,107,108,109,110,110,111,112,113,114,115,116,117,118,119,120,121,122,122,124,124,125,126,127,128,129,130,131,131,132,133,134,135,136,137,138,139,140,142,142,144,144,146,147,148,149,149,150,151,152,153,154,155,156,157,158,160,160,161,162,163,164,165,166,167,169,169,170,171,172,173,175,176,177,177,178,179,181,182,183,184,184,186,187,188,190,191,191,192,193,195,196,198,198,199,200,202,203,203,204,206,207,209,210,210,212,213,215,216,216,218,219,221,221,223,224,226,227,227,229,231,233,233,234,236,238,238,240,241,243,243,245,247,249,249,251,253,255,
+0,1,2,2,4,5,5,6,8,9,9,10,12,12,13,14,15,16,17,18,19,20,21,21,22,24,24,25,26,27,28,29,30,30,32,33,33,34,35,36,37,38,39,39,40,42,42,43,44,45,45,47,48,48,49,50,51,52,53,54,55,55,56,57,58,59,60,61,62,62,63,64,66,66,67,68,69,70,70,71,72,73,74,75,76,77,78,78,79,80,81,82,83,84,85,86,87,87,88,89,90,91,92,93,93,94,95,96,97,98,100,101,101,102,103,104,105,106,107,107,108,109,110,111,112,113,114,115,116,117,118,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,149,150,151,152,154,155,156,157,158,159,160,160,161,162,164,164,166,167,168,169,169,170,172,173,174,175,176,177,177,179,180,181,182,184,185,185,186,187,189,190,191,191,193,194,195,197,198,198,199,201,202,204,204,205,206,208,209,211,211,212,214,215,217,217,218,220,221,221,223,224,226,228,228,229,231,233,233,234,236,238,238,240,242,243,243,245,247,249,249,251,253,255,
+0,1,2,2,4,5,6,6,8,9,10,10,12,13,13,14,16,16,17,18,19,20,21,22,22,24,25,25,26,27,28,29,30,31,31,33,34,34,35,36,37,38,39,40,40,41,43,43,44,45,46,47,48,49,50,50,51,52,54,54,55,56,57,57,58,60,60,61,62,63,64,64,65,66,68,68,69,70,71,72,72,73,74,76,76,77,78,79,80,80,81,82,83,84,85,86,87,88,89,90,90,91,92,93,94,95,96,97,98,98,99,100,101,102,103,104,104,105,107,108,109,110,111,112,113,113,114,115,116,117,118,119,120,121,122,123,124,125,125,126,127,128,129,130,130,132,132,133,134,135,136,137,138,140,141,141,143,144,144,146,147,147,148,149,150,151,152,153,154,155,156,157,158,158,160,161,162,163,164,165,166,167,167,169,170,171,172,173,174,176,177,177,178,179,180,182,183,184,184,185,187,188,189,190,190,192,193,195,196,197,197,198,200,201,202,204,204,205,207,208,210,210,211,212,214,215,215,217,219,220,222,222,223,225,226,226,228,230,231,233,233,235,236,238,238,240,242,244,244,245,247,249,249,251,253,255,
+0,1,2,2,4,5,6,6,8,9,10,10,12,13,13,14,16,17,17,18,19,20,21,22,23,24,25,26,26,27,29,29,30,31,32,33,34,35,35,36,38,39,39,40,41,42,43,44,45,45,46,47,49,49,50,51,52,52,54,55,56,56,57,58,58,60,61,62,63,63,64,65,66,66,68,69,69,70,71,72,73,74,75,76,77,78,79,79,80,81,82,83,84,84,85,87,88,88,90,90,91,92,93,94,95,96,96,97,98,99,100,100,101,102,103,104,105,106,108,109,109,110,111,112,113,114,115,116,117,118,119,120,120,122,123,123,124,125,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,147,148,149,151,151,153,154,155,156,157,158,159,159,160,161,162,164,165,166,167,168,168,169,170,171,173,174,175,176,177,177,179,180,181,182,183,185,185,186,187,189,190,191,191,192,194,195,196,198,198,199,200,202,203,204,204,206,207,209,210,210,211,213,214,216,216,217,219,220,222,222,223,225,227,227,228,230,232,233,233,235,237,238,238,240,242,244,244,245,247,249,249,251,253,255,
+0,1,2,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,18,19,21,21,22,23,24,25,26,27,27,29,30,31,31,32,34,34,35,36,37,38,39,40,40,41,42,44,44,45,46,47,47,49,50,50,51,52,53,54,55,56,57,57,58,59,61,61,62,63,64,64,65,66,67,69,70,70,71,72,73,73,74,75,77,78,78,79,80,81,82,82,83,84,85,86,88,88,89,90,91,92,93,93,94,95,96,97,97,99,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,117,118,119,120,121,122,123,124,125,126,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,148,149,150,151,152,153,154,155,156,158,159,160,160,161,162,163,164,165,166,167,169,169,170,171,172,173,174,176,177,178,178,179,180,182,183,184,185,185,186,188,189,190,192,192,193,194,195,197,198,198,199,201,202,203,205,205,206,208,209,210,210,212,213,215,216,216,218,219,221,222,222,224,225,227,227,229,230,232,233,233,235,237,238,238,240,242,244,244,246,247,249,249,251,253,255,
+0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,15,17,18,19,19,21,22,22,23,24,25,26,27,28,29,30,31,32,32,33,35,36,36,37,38,39,40,41,41,43,43,45,45,46,47,48,49,50,51,52,53,53,54,55,56,57,58,59,59,60,61,63,64,64,65,66,67,67,68,70,71,72,72,73,74,75,76,76,77,78,80,81,81,82,83,84,85,85,86,87,88,89,90,92,92,93,94,95,96,97,97,98,99,100,101,102,103,104,104,105,106,107,108,109,110,111,112,113,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,127,129,129,130,132,132,133,134,135,136,137,138,139,140,142,142,143,144,144,145,146,147,148,150,151,152,153,153,155,156,157,157,158,159,160,161,162,164,165,166,167,168,168,169,170,171,173,174,175,176,176,177,178,180,181,182,183,183,185,186,187,188,189,191,191,192,193,194,196,197,197,198,200,201,202,204,204,205,207,208,209,209,211,212,214,215,217,217,218,219,221,221,223,224,226,227,227,229,230,232,232,234,235,237,239,239,240,242,244,244,246,247,249,249,251,253,255,
+0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,23,24,26,26,27,28,30,30,31,32,33,33,35,36,37,37,38,40,40,41,42,43,43,45,46,47,47,48,49,51,51,52,53,54,54,55,57,58,58,59,60,61,61,63,64,65,66,66,67,68,69,70,71,72,73,74,74,75,76,77,78,79,80,81,82,83,84,84,85,86,87,88,89,89,90,92,93,94,95,95,96,97,98,99,100,101,102,102,103,104,105,106,107,108,109,110,110,111,112,113,114,115,116,117,118,119,120,121,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,145,146,147,148,149,150,151,152,153,154,155,156,157,157,159,160,161,162,163,164,165,166,167,169,169,170,171,172,173,174,175,177,177,178,179,180,181,183,184,184,185,186,187,189,190,191,191,193,194,195,196,198,198,199,200,202,203,204,204,206,207,208,210,210,211,213,214,216,217,217,218,220,221,221,223,224,226,227,227,229,231,232,232,234,235,237,239,239,241,242,244,244,246,248,249,249,251,253,255,
+0,1,2,3,4,5,6,7,9,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,24,26,27,28,28,29,31,31,32,33,34,35,36,37,38,38,39,41,42,42,43,44,45,46,47,48,49,49,50,52,52,53,54,55,56,57,58,59,60,60,61,62,63,64,65,66,67,68,69,69,70,71,72,73,74,75,76,77,77,78,79,80,81,83,83,84,85,86,87,87,88,89,90,91,92,93,94,94,96,97,98,99,99,100,101,102,103,104,105,106,107,107,108,109,110,111,112,113,114,115,116,117,118,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,134,135,136,137,138,139,141,142,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,156,157,158,159,160,161,162,163,165,166,167,167,168,169,170,171,172,174,175,176,176,177,178,179,181,182,183,183,184,186,187,188,189,191,191,192,193,194,196,197,197,198,199,201,202,204,204,205,206,207,209,210,210,212,213,214,216,216,217,219,220,222,222,223,225,226,228,228,229,231,232,232,234,236,237,237,239,241,242,244,244,246,248,249,249,251,253,255,
+0,1,2,3,4,5,6,7,9,9,10,11,12,14,14,15,16,18,18,19,20,22,22,23,24,25,26,27,28,29,30,31,32,33,33,34,36,36,37,38,39,40,41,42,43,44,44,45,47,48,48,49,50,51,52,53,54,55,56,56,57,59,60,60,61,62,63,64,65,66,67,68,68,69,70,71,72,73,74,75,76,76,77,78,79,80,81,81,83,84,85,86,86,87,88,89,90,91,92,92,93,94,95,97,97,98,99,100,101,102,103,104,104,105,106,107,108,109,110,111,112,112,113,114,115,116,117,118,119,120,121,122,123,123,125,126,126,127,129,129,130,131,132,133,134,135,136,137,138,139,140,141,142,142,143,144,145,146,147,148,149,150,151,152,153,154,155,157,157,158,159,160,161,162,163,164,165,166,168,168,169,170,171,172,173,174,175,177,177,178,179,180,181,182,184,184,185,186,187,189,190,191,191,192,193,195,196,197,197,199,200,201,203,204,204,205,207,208,209,211,211,212,213,215,216,216,218,219,221,222,222,224,225,227,228,228,230,231,233,233,234,236,238,238,239,241,243,244,244,246,248,249,249,251,253,255,
+0,1,2,3,4,5,6,7,9,10,11,11,12,14,15,15,16,18,19,19,20,22,23,23,24,25,26,27,28,29,30,32,32,33,34,34,36,37,38,38,39,40,42,43,43,44,45,46,47,48,49,49,50,51,53,53,54,55,56,57,57,59,60,61,62,62,63,64,65,66,67,68,69,70,70,71,72,74,75,75,76,77,78,79,80,80,81,82,84,84,85,86,87,88,89,90,90,91,92,93,94,95,95,97,98,99,100,101,102,103,103,104,105,106,107,108,109,110,111,111,112,113,114,115,116,117,118,119,120,121,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,157,158,159,160,162,162,164,165,166,167,168,168,169,170,171,173,174,175,176,177,177,178,180,181,182,183,184,184,185,187,188,189,190,191,191,193,194,195,196,198,198,199,200,202,203,204,204,206,207,208,210,211,211,212,214,215,217,217,218,220,221,222,222,224,225,227,228,228,230,231,233,233,235,236,238,238,239,241,243,244,244,246,248,250,250,251,253,255,
+0,1,2,3,5,5,6,7,8,10,11,11,12,14,15,16,17,18,19,20,21,21,23,24,25,25,26,28,29,29,30,31,33,33,34,35,36,37,38,39,40,40,42,43,44,45,45,46,47,48,49,50,51,52,52,54,55,56,56,57,58,59,61,61,62,63,64,64,65,66,68,69,69,70,71,72,72,74,74,76,77,77,78,79,80,81,82,82,83,84,85,87,87,88,89,90,91,92,93,93,94,95,96,97,98,99,99,100,102,103,104,105,106,106,108,108,109,110,111,112,113,114,115,116,117,117,119,119,120,121,122,123,124,125,126,127,128,129,130,131,131,132,134,134,136,136,137,137,138,139,140,142,143,143,145,145,146,147,148,149,151,152,152,154,155,155,156,157,158,159,160,161,162,163,164,165,167,167,168,169,170,171,172,173,174,175,175,177,178,179,180,181,182,184,184,185,186,187,188,189,191,191,192,193,194,196,197,198,198,200,201,202,203,205,205,206,207,209,210,210,211,213,214,216,216,217,218,220,221,221,223,224,226,227,227,229,230,232,233,233,235,236,238,238,240,241,243,243,245,246,248,250,250,251,253,255,
+0,1,2,3,5,6,6,7,8,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,26,28,29,30,31,31,33,34,35,36,36,38,39,39,40,41,43,43,44,45,46,47,48,49,50,50,51,52,53,54,55,56,57,58,58,59,61,62,63,63,64,65,66,67,68,69,70,71,72,73,73,74,75,76,77,78,79,80,81,81,82,83,84,85,85,87,88,89,90,91,92,92,93,94,95,96,97,98,99,100,100,101,102,104,105,106,106,107,108,109,110,111,112,113,114,114,116,116,117,118,119,120,121,122,123,124,125,125,127,127,128,129,130,131,132,133,134,135,136,137,138,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,155,156,157,159,159,161,162,163,164,165,166,167,167,168,169,170,172,173,174,175,176,176,177,178,179,181,182,183,184,184,185,187,188,189,190,191,191,193,194,195,196,197,199,199,200,201,203,204,205,205,206,208,209,210,210,212,213,215,216,216,217,219,220,222,222,223,225,226,227,227,229,230,232,233,233,235,237,238,238,240,241,243,243,245,246,248,250,250,251,253,255,
+0,1,2,3,4,6,7,7,8,10,11,12,13,14,15,16,17,19,19,20,21,22,24,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,41,42,44,45,45,46,47,48,49,50,51,52,52,54,54,56,57,57,58,59,60,61,62,63,64,65,66,66,67,68,69,70,71,72,73,74,75,76,76,77,78,80,81,81,82,83,84,85,85,86,87,88,89,91,91,92,93,94,95,96,96,98,98,99,100,101,102,103,104,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,123,124,126,126,127,128,129,130,131,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,153,154,155,156,157,158,159,160,161,162,163,164,164,165,166,168,169,170,171,172,173,174,174,175,177,178,179,180,181,182,182,183,185,186,187,188,189,190,190,192,193,194,195,197,198,198,199,201,202,203,204,204,206,207,208,210,211,211,212,214,215,216,216,218,219,220,222,222,223,225,226,228,228,229,231,232,234,234,235,237,238,238,240,242,243,243,245,246,248,248,250,251,253,255,
+0,1,2,3,4,6,7,8,8,10,11,12,13,15,16,16,17,19,20,21,21,22,24,25,26,26,27,29,30,30,31,32,34,34,35,36,37,39,39,40,41,42,43,44,45,46,47,48,48,50,50,52,52,53,54,55,56,57,58,59,59,60,61,62,64,64,65,66,67,68,69,69,71,72,72,74,74,75,76,77,78,79,80,81,82,83,84,85,85,86,87,88,89,89,91,92,93,94,95,96,96,97,98,99,100,101,101,102,103,104,105,106,107,108,109,109,110,112,113,114,115,116,117,118,119,120,120,121,122,123,124,125,126,127,128,129,130,131,132,132,133,134,135,136,136,138,139,139,140,141,142,144,144,145,147,147,148,149,150,151,152,153,153,155,156,157,158,159,160,161,162,163,164,165,165,166,167,168,169,170,172,173,174,175,175,176,177,178,180,181,182,183,183,184,185,186,187,189,190,191,191,192,193,195,196,197,199,199,200,201,202,204,205,205,206,207,209,210,211,211,213,214,215,217,217,218,219,221,222,222,224,225,227,228,228,229,231,232,234,234,235,237,238,238,240,242,243,243,245,246,248,248,250,252,253,255,
+0,1,2,3,4,6,7,8,9,10,11,12,13,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,32,34,35,36,37,37,39,40,41,41,42,43,45,45,46,47,48,49,51,51,52,53,53,54,55,57,58,59,59,60,61,62,63,64,65,66,67,67,68,69,70,72,72,73,74,75,76,77,77,78,79,81,82,83,83,84,85,86,87,87,88,89,90,92,93,94,94,95,96,97,98,99,100,101,101,102,103,104,105,106,107,108,109,109,110,111,113,114,115,116,117,118,118,120,120,121,122,123,124,125,126,127,127,129,130,130,131,132,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,154,155,156,157,158,159,160,161,163,164,165,165,165,167,168,169,170,171,172,173,174,176,176,177,178,179,180,181,182,183,183,185,186,187,188,189,190,192,192,193,194,195,196,198,199,199,200,201,203,204,205,205,206,208,209,210,212,212,213,214,216,217,217,218,220,221,223,223,224,225,227,228,228,230,231,233,234,234,236,237,239,239,240,242,243,243,245,247,248,248,250,252,253,255,
+0,1,2,3,4,6,7,8,9,11,11,12,13,15,16,17,18,19,20,21,22,23,25,25,26,27,28,30,30,31,32,33,34,35,36,37,38,38,40,41,42,43,44,44,46,47,48,49,49,50,52,53,53,54,55,56,57,58,59,60,61,62,62,63,64,66,66,67,68,69,70,71,71,73,74,74,76,76,77,78,79,80,81,82,83,84,85,86,87,87,88,89,90,91,92,93,93,94,96,97,98,99,99,100,101,102,103,104,105,105,106,107,108,109,110,111,112,113,114,114,115,116,117,118,119,120,121,122,123,124,124,126,127,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,151,152,153,154,155,156,157,158,159,160,161,162,163,164,164,165,166,167,168,170,171,172,173,174,174,175,176,177,178,180,181,182,183,183,184,185,186,187,189,190,191,191,192,193,194,196,197,198,198,199,201,202,203,204,204,206,207,208,210,211,211,212,213,215,216,216,218,219,220,221,223,223,224,226,227,229,229,230,231,233,233,234,236,237,239,239,240,242,244,244,245,247,248,248,250,252,253,255,
+0,1,2,3,4,6,7,8,9,11,12,13,13,15,16,17,18,19,21,21,22,23,25,26,27,27,28,30,31,32,33,33,34,36,37,37,38,39,41,42,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,56,57,59,60,60,61,62,63,64,64,66,67,68,69,70,70,71,72,73,75,76,77,77,78,79,80,81,82,82,84,85,86,86,87,88,89,90,91,92,93,93,94,95,97,97,98,99,100,101,102,103,103,104,105,106,107,108,109,110,111,112,112,113,114,115,116,117,118,119,120,121,122,122,124,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,142,143,144,145,146,147,148,150,151,151,151,152,153,155,156,156,158,159,160,161,162,163,164,165,165,166,167,168,169,170,171,172,173,175,175,176,177,178,179,180,181,182,183,183,184,186,187,188,189,190,192,192,193,194,195,196,198,199,199,200,201,202,204,205,205,206,207,209,210,211,211,212,214,215,217,217,218,219,221,222,223,223,225,226,227,229,229,230,232,233,233,235,236,238,239,239,241,242,244,244,245,247,248,248,250,252,253,255,
+0,1,2,3,4,6,7,8,9,11,12,13,14,16,16,17,18,19,21,22,23,24,24,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,40,42,43,44,44,45,46,48,49,50,50,51,52,54,54,55,56,57,58,59,59,61,62,63,64,64,65,66,67,68,69,70,71,72,73,73,75,75,77,78,78,79,80,81,82,83,84,84,85,87,88,89,90,90,91,92,93,94,95,96,97,97,98,99,101,102,102,103,104,105,106,107,108,109,110,111,111,112,113,114,115,116,117,118,119,120,120,121,122,123,125,125,126,127,128,129,130,131,132,133,134,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,162,163,165,166,166,168,169,170,171,172,173,173,174,175,176,177,178,180,181,182,182,183,184,185,186,187,189,190,190,191,192,193,194,196,197,198,198,199,201,202,203,204,204,205,207,208,209,210,210,212,213,214,216,217,217,218,220,221,222,222,224,225,226,228,228,229,231,232,233,233,235,236,238,239,239,241,242,244,244,245,247,248,248,250,252,253,255,
+0,1,2,3,4,6,7,8,9,11,12,13,14,16,17,18,19,19,21,22,23,24,25,26,27,28,29,30,32,32,33,34,35,37,37,38,39,40,41,43,43,44,45,46,47,48,49,50,51,52,52,54,55,56,57,58,58,59,60,62,62,63,64,65,66,67,67,69,70,71,72,72,73,74,75,76,78,78,79,80,81,82,83,84,84,85,86,88,89,90,90,91,92,93,94,95,96,96,97,98,99,100,101,102,103,104,105,106,107,107,109,110,110,111,112,113,114,115,116,117,118,119,119,120,121,122,123,124,125,126,127,127,129,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,163,164,165,166,167,168,169,170,171,172,174,174,175,176,177,178,179,180,181,182,182,184,185,186,187,188,189,190,190,191,193,194,195,196,197,198,198,200,201,202,203,205,205,206,207,208,210,211,211,212,213,215,216,217,217,219,220,221,223,223,224,225,227,228,228,229,231,232,234,234,235,236,238,239,239,241,242,244,244,245,247,249,249,250,252,253,255,
+0,1,2,3,4,6,7,8,9,11,12,13,14,16,17,18,19,20,22,22,23,24,25,27,28,28,29,30,32,33,34,35,35,37,38,39,40,40,41,43,44,45,46,46,47,49,50,50,51,52,53,55,56,56,57,58,59,60,61,62,63,64,65,66,66,67,68,70,71,71,72,73,74,75,76,76,78,79,80,81,82,82,83,84,85,86,87,89,89,90,91,92,93,94,95,95,96,97,98,99,100,101,102,103,104,105,106,107,108,108,109,110,111,112,113,114,115,116,116,117,118,119,120,121,122,123,124,125,126,127,127,129,129,130,131,132,133,134,135,136,137,138,139,140,141,141,143,144,145,146,147,147,149,150,150,151,151,152,154,155,155,156,158,158,160,161,162,163,164,164,165,165,167,168,169,170,171,172,173,174,174,175,176,177,178,180,181,182,183,183,184,185,186,187,189,190,191,191,192,193,194,195,197,198,199,199,200,202,203,204,205,205,206,208,209,210,211,211,213,214,215,216,218,218,219,220,222,223,223,224,226,227,228,228,230,231,232,234,234,235,237,238,240,240,241,243,244,244,246,247,249,249,250,252,253,255,
+0,1,2,3,4,7,8,9,10,12,13,13,14,15,17,18,19,20,22,23,24,24,25,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,54,55,57,58,59,59,60,61,62,64,65,65,66,67,68,69,70,71,72,73,74,75,76,76,77,78,79,81,81,82,83,84,85,86,86,87,88,89,90,92,93,93,94,95,96,97,98,99,100,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,116,117,118,119,120,121,122,123,123,125,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,140,141,142,143,144,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,161,162,163,164,165,166,167,168,170,171,172,173,173,174,175,176,177,178,179,180,181,182,182,184,185,186,187,188,189,190,190,191,193,194,195,196,197,197,198,200,201,202,203,204,204,205,207,208,209,210,210,212,213,214,215,217,217,218,219,221,222,223,223,225,226,227,229,229,230,231,233,234,234,235,237,238,238,240,241,243,244,244,246,247,249,249,250,252,253,255,
+0,1,2,3,5,7,8,9,10,12,13,14,15,16,18,18,19,20,22,23,24,25,26,28,28,29,30,31,33,34,35,36,36,37,39,40,41,41,42,43,45,46,46,47,48,49,51,52,53,53,54,55,56,58,59,59,60,61,62,63,65,65,66,67,68,68,69,70,72,73,74,74,75,76,77,78,79,80,81,82,83,84,85,85,86,87,88,89,90,91,92,93,94,95,96,97,97,99,99,100,101,101,103,104,105,106,107,107,109,110,111,112,113,114,114,115,116,117,118,119,120,121,121,122,124,124,125,126,127,128,129,130,131,132,133,134,134,135,136,137,138,139,140,141,142,143,144,145,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,162,163,164,165,166,167,168,169,170,171,172,173,173,175,175,177,178,179,180,181,182,183,183,184,185,186,187,189,190,191,191,192,193,194,196,197,198,198,199,200,201,202,204,205,205,206,207,208,210,211,211,212,213,215,216,217,217,218,220,221,222,224,224,225,226,228,229,229,230,232,233,234,234,236,237,239,239,240,241,243,244,244,246,247,249,249,250,252,253,255,
+0,1,2,3,5,7,8,9,10,12,13,14,15,16,18,19,20,21,22,23,24,25,26,27,29,30,31,32,32,34,35,36,37,38,39,40,41,42,43,44,46,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,62,64,64,66,66,68,69,69,70,71,72,73,74,75,76,77,78,78,79,80,81,82,84,85,86,86,87,88,89,90,91,91,93,93,94,96,96,98,98,99,100,101,102,103,104,105,105,106,107,108,109,110,111,112,112,114,114,115,117,118,119,120,121,121,122,123,124,125,126,127,128,129,130,131,132,133,134,134,136,136,137,138,138,139,140,141,142,143,144,145,146,147,147,149,150,151,152,152,154,155,156,157,158,159,160,160,160,162,163,164,165,166,167,168,169,170,171,172,172,173,174,175,176,177,178,179,180,182,182,183,184,185,186,187,188,189,190,190,192,193,194,195,196,197,197,198,199,200,202,203,204,204,205,206,208,209,210,211,211,212,214,215,216,216,218,219,220,221,223,223,224,225,227,228,228,229,231,232,233,233,235,236,237,239,239,240,242,243,244,244,246,247,249,249,250,252,253,255,
+0,1,2,4,5,7,8,9,10,12,13,14,15,16,18,19,20,21,22,24,25,26,27,27,29,30,31,32,33,35,35,36,37,38,39,41,42,43,43,44,46,47,48,49,50,50,51,53,54,54,55,56,57,58,60,61,61,62,63,64,65,66,67,68,69,70,71,72,72,73,75,76,77,78,79,80,80,81,82,83,84,85,86,87,88,89,89,91,91,92,93,94,95,97,98,98,99,100,101,102,102,104,104,105,106,107,108,109,110,110,111,113,113,114,115,116,118,119,120,121,121,122,123,124,125,126,127,127,129,130,131,131,132,133,134,135,136,137,138,139,139,140,141,142,143,144,144,146,147,148,148,149,151,151,152,153,154,155,156,158,158,159,160,160,162,162,163,165,165,166,167,168,169,170,171,172,172,174,174,176,177,178,179,180,181,182,182,183,184,185,186,188,189,190,191,191,192,193,194,195,196,198,198,199,200,201,202,203,204,204,206,207,208,209,211,212,212,213,214,215,217,217,218,219,220,222,223,223,224,226,227,228,228,230,231,232,233,233,235,236,238,239,239,240,242,243,245,245,246,248,249,249,250,252,253,255,
+0,1,2,4,5,7,8,9,10,12,13,14,16,16,18,19,20,21,22,24,25,26,27,28,30,31,31,32,33,35,36,37,38,39,40,42,42,43,44,45,47,47,48,49,50,51,52,54,54,55,56,57,58,59,60,61,62,63,64,65,65,67,68,69,70,71,71,72,73,74,76,77,77,78,79,80,81,82,83,83,85,86,87,88,89,89,90,91,92,93,94,95,95,97,98,99,100,101,102,103,103,104,105,106,107,108,109,109,110,111,112,113,114,115,116,117,119,119,120,121,122,123,124,125,126,127,128,129,129,130,131,132,133,134,135,136,137,138,139,140,140,141,142,142,143,145,145,147,148,148,149,150,151,152,153,154,155,156,157,158,159,160,161,161,162,163,164,165,166,167,168,169,170,171,172,173,173,174,175,176,178,179,179,181,181,183,183,184,185,186,187,188,189,190,192,192,192,194,195,196,197,198,198,199,200,201,203,204,205,205,206,208,209,210,211,212,212,213,215,216,217,217,218,219,221,222,223,223,225,226,227,228,228,230,231,232,234,234,235,236,238,239,239,241,242,243,245,245,246,248,249,249,251,252,253,255,
+0,1,2,4,5,7,8,9,10,13,14,15,16,17,19,20,21,22,23,25,25,26,27,28,30,31,32,33,34,36,36,38,38,39,40,42,43,44,45,45,46,48,49,50,51,52,52,53,55,56,57,57,58,59,60,62,63,64,64,65,66,67,68,70,70,71,72,73,74,75,76,76,78,79,80,81,82,83,83,84,85,86,87,89,89,90,91,92,93,94,94,95,97,97,98,99,100,102,103,103,104,105,106,107,108,109,109,110,111,112,113,114,115,116,116,118,119,119,120,121,122,123,124,125,126,127,127,128,129,130,131,132,133,134,135,136,137,138,139,139,140,142,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,158,159,160,161,162,163,164,165,166,167,168,169,170,171,171,172,173,174,175,176,177,178,179,180,181,181,182,183,184,185,186,188,189,190,190,191,192,193,194,195,196,198,198,199,200,201,202,203,204,204,206,207,208,209,210,211,211,213,214,215,216,217,217,219,220,221,222,224,224,225,226,227,229,229,230,231,233,234,234,235,237,238,239,239,241,242,243,245,245,246,248,249,249,251,252,253,255,
+0,1,3,4,5,7,8,10,11,13,14,15,16,17,19,20,21,22,23,25,26,27,28,29,30,32,32,33,34,36,37,38,39,40,40,42,43,44,45,46,47,49,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,68,70,71,72,73,74,75,75,76,77,79,80,80,81,83,83,84,85,86,87,88,89,90,91,92,93,94,95,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,109,110,111,112,113,114,115,116,116,118,118,119,120,121,122,123,124,125,126,127,127,128,129,130,131,132,133,134,135,136,137,138,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,153,155,156,157,158,158,158,159,161,161,162,163,165,165,166,167,168,169,171,172,172,173,174,175,176,177,178,179,180,181,182,182,183,184,185,186,187,188,189,190,190,191,193,194,195,196,197,198,198,199,200,201,202,204,205,205,206,207,208,210,211,212,212,213,214,215,217,218,218,219,220,222,223,224,224,225,227,228,229,229,230,232,233,234,234,236,237,238,240,240,241,242,244,245,245,246,248,249,249,251,252,254,255,
+0,1,3,4,5,7,9,10,11,12,14,15,16,17,19,20,21,22,23,25,26,27,28,29,30,32,33,34,35,36,37,38,39,40,41,42,44,45,46,47,47,48,50,51,52,53,54,55,55,57,58,59,60,61,61,62,64,65,66,67,68,68,69,70,72,72,73,75,75,76,77,78,79,80,81,82,83,84,84,86,87,87,88,89,90,92,93,93,94,95,96,97,98,99,100,101,101,102,103,104,105,107,108,109,109,110,111,112,113,114,115,116,116,117,118,119,120,121,122,123,124,125,126,127,127,128,129,130,131,132,133,134,134,136,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,152,153,155,155,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,170,171,172,173,174,175,176,177,179,180,181,181,182,183,183,185,186,187,188,189,190,190,191,192,193,194,195,197,198,198,199,200,201,202,203,204,204,205,207,208,209,210,211,211,212,214,215,216,217,217,218,220,221,222,223,223,224,226,227,228,228,229,231,232,233,234,234,236,237,238,240,240,241,242,244,244,245,246,248,249,249,251,252,254,255,
+0,1,3,4,5,8,9,10,11,12,14,15,17,17,20,21,22,23,24,26,27,28,28,30,30,32,33,34,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,58,59,60,61,61,62,63,65,66,67,67,68,69,70,71,73,74,75,75,76,77,78,79,80,80,82,83,84,85,86,86,87,88,89,90,91,92,94,94,95,96,97,98,99,100,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,115,116,117,118,119,120,121,122,123,123,124,126,126,127,128,129,130,131,132,133,133,134,136,136,137,138,139,140,141,142,143,144,145,146,147,147,148,150,150,151,152,153,154,155,156,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,171,172,173,174,175,176,177,178,179,180,181,181,182,183,184,185,186,187,188,190,190,190,192,193,194,195,196,197,198,198,199,200,202,203,204,205,205,206,207,208,209,210,212,212,213,214,215,216,218,218,219,220,221,222,223,223,225,226,227,228,228,230,231,232,234,235,235,236,237,239,240,240,241,243,244,244,245,247,248,249,249,251,252,254,255,
+0,1,3,4,5,8,9,10,11,12,15,16,17,18,20,21,22,23,24,26,27,28,29,30,31,33,34,35,35,37,39,39,40,41,42,43,45,46,47,47,49,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,78,79,80,81,83,84,85,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,100,101,102,103,103,105,106,107,108,109,110,111,112,113,114,115,115,116,117,118,119,120,121,122,122,123,124,125,126,127,128,129,130,131,132,133,133,135,135,136,138,138,139,140,141,142,143,144,145,146,146,147,148,149,150,151,152,153,154,155,156,157,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,172,172,173,175,176,177,178,179,180,181,182,182,183,184,185,186,187,188,189,190,191,191,192,193,194,195,196,198,199,199,200,201,202,203,204,205,205,206,208,209,210,211,212,212,213,214,216,217,218,218,219,220,221,223,224,224,225,226,228,229,229,230,231,232,234,235,235,236,238,239,240,240,241,243,244,244,245,247,248,249,249,251,252,254,255,
+0,1,3,4,5,8,9,10,11,13,15,16,17,18,19,21,22,23,24,25,27,28,29,30,31,33,34,35,36,37,38,40,41,42,43,44,44,46,47,48,49,50,51,53,54,54,56,56,57,58,60,61,62,63,64,64,65,66,68,68,70,70,71,72,74,75,76,77,77,78,79,80,81,82,83,83,86,86,87,88,89,90,91,92,92,93,94,95,97,98,99,100,100,101,102,102,104,105,105,106,107,108,109,110,111,112,113,114,116,116,117,118,119,120,121,121,122,123,124,125,126,127,128,129,130,131,132,132,133,134,135,136,137,138,139,140,140,142,143,143,144,145,146,147,148,149,150,151,152,152,153,154,155,156,157,158,159,160,161,161,162,164,165,165,166,167,168,170,170,170,171,172,174,174,175,176,177,178,179,180,180,181,182,184,184,186,186,188,189,190,190,191,192,193,194,195,196,197,197,198,199,200,202,203,204,205,205,206,207,208,209,210,211,211,213,214,215,216,217,217,218,220,221,222,223,223,224,225,227,228,229,229,230,232,233,234,234,235,236,238,239,239,240,242,243,244,244,245,247,248,250,250,251,252,254,255,
+0,1,3,4,6,8,9,11,12,13,15,16,17,18,20,22,23,24,25,26,28,29,30,31,32,34,35,36,37,38,39,40,41,42,43,44,45,47,48,49,50,51,51,53,54,55,56,57,58,59,61,61,63,63,64,65,66,67,69,70,70,71,72,73,74,75,76,78,78,79,80,81,82,83,84,85,86,87,88,89,90,91,91,92,93,94,95,96,98,99,99,100,101,102,103,103,105,106,107,107,108,109,110,111,112,113,113,115,116,117,118,119,120,121,122,122,123,124,126,126,127,128,129,130,131,131,132,133,134,135,136,137,138,139,140,141,142,142,143,144,146,147,147,148,149,150,151,152,153,153,154,155,156,157,158,158,159,160,161,162,163,164,165,166,167,168,169,170,170,171,172,173,174,175,176,177,178,179,180,181,181,182,184,184,185,186,187,188,189,190,190,191,192,194,194,196,197,198,198,199,200,201,202,203,204,205,205,206,207,208,210,211,212,212,213,214,215,216,218,218,219,220,221,222,223,223,225,226,227,228,229,229,231,232,233,234,234,235,237,238,239,239,241,242,243,244,244,246,247,248,250,250,251,252,254,255,
+0,1,3,4,6,8,10,11,12,13,15,17,18,19,20,22,23,24,25,26,28,30,30,31,32,34,35,36,37,38,39,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,60,62,63,64,65,66,67,68,68,70,71,72,73,74,75,76,77,77,79,80,81,82,83,84,84,85,86,87,89,90,91,91,92,93,94,95,96,97,98,99,99,100,102,103,104,104,106,106,107,108,109,110,111,112,112,114,114,115,116,117,118,119,120,121,121,123,124,125,126,127,128,129,129,130,131,132,133,134,135,136,137,138,139,140,141,142,142,143,144,145,146,146,147,148,149,150,151,152,153,154,154,156,156,157,158,159,160,161,162,163,164,165,166,167,167,168,169,170,171,172,173,174,174,176,177,178,179,180,180,181,182,183,184,185,186,187,188,189,189,190,191,192,193,194,195,196,197,197,198,199,200,201,202,204,205,205,206,207,208,209,210,211,211,212,214,215,216,217,218,218,219,220,221,223,224,224,225,226,227,228,230,230,231,232,233,234,234,236,237,238,239,239,241,242,243,244,244,246,247,248,250,250,251,252,254,255,
+0,1,3,4,6,8,10,11,12,13,16,17,18,19,20,22,24,25,26,27,29,30,31,32,33,35,36,37,38,39,40,42,42,44,45,45,46,48,49,50,51,52,53,54,56,57,58,58,59,60,61,63,64,65,65,67,67,68,69,71,71,73,74,75,76,76,77,78,80,81,82,83,83,84,85,86,87,88,90,91,91,92,93,94,95,96,97,97,98,99,100,101,102,104,105,105,106,107,108,109,110,111,112,113,113,114,115,116,117,118,119,120,120,122,122,124,125,126,127,128,129,130,131,131,132,133,134,135,136,137,137,139,139,140,141,142,143,144,145,146,147,147,148,149,150,151,152,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,166,168,168,169,170,170,172,173,173,174,176,176,177,178,179,180,180,182,183,184,185,186,186,187,189,189,189,190,191,193,194,195,195,197,198,198,199,200,201,202,203,204,205,205,206,207,208,210,211,212,212,213,214,215,216,217,218,218,219,221,222,223,224,224,225,226,228,229,230,230,231,232,234,235,235,236,237,238,240,240,241,242,243,245,245,246,247,248,250,250,251,252,254,255,
+0,2,3,4,6,9,10,11,12,14,16,17,18,20,20,23,24,25,26,27,29,30,31,32,33,35,36,37,38,39,40,42,43,44,45,46,47,49,50,51,52,53,54,54,56,57,58,59,60,61,62,64,65,66,66,67,68,69,70,72,73,74,74,76,76,77,78,79,81,82,83,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,98,99,100,101,101,104,105,105,106,107,108,109,110,111,112,112,113,114,115,116,117,118,119,119,121,121,122,123,125,126,127,128,129,129,130,131,132,133,134,135,136,137,138,138,139,140,141,142,143,144,145,146,147,148,148,149,150,150,151,152,154,154,155,156,157,158,159,160,161,162,163,164,165,166,167,167,168,168,169,171,171,172,173,174,176,176,177,178,179,180,181,181,182,183,184,185,186,187,188,189,190,190,191,192,193,194,195,196,197,198,198,199,200,202,202,204,205,206,206,207,208,209,210,211,212,212,213,214,216,217,218,219,219,220,221,222,223,224,224,226,227,228,229,230,230,231,233,234,235,235,236,237,239,240,240,241,242,244,245,245,246,247,249,250,250,251,252,254,255,
+0,2,3,5,6,9,10,11,13,14,16,17,19,20,21,23,24,25,26,28,30,31,32,33,34,35,37,38,39,40,41,42,44,45,46,47,47,49,50,51,52,53,54,55,56,58,59,60,61,62,63,64,65,66,67,68,69,70,71,71,73,74,75,76,77,78,79,80,80,81,83,84,85,86,86,88,89,89,90,91,92,94,95,96,96,98,98,99,100,101,102,103,104,105,106,106,108,109,110,111,112,113,114,114,115,116,117,118,119,120,121,121,122,123,124,125,126,127,128,128,130,130,131,132,133,134,135,136,137,137,139,139,140,141,142,143,144,145,146,147,148,149,150,150,151,152,153,154,155,156,157,158,159,160,160,162,163,164,164,165,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,179,180,181,182,183,184,185,186,187,188,189,189,190,191,192,193,194,195,196,197,197,198,199,200,201,202,203,204,205,205,206,207,208,209,211,212,212,213,214,215,216,217,218,218,219,220,221,223,224,224,225,226,227,228,229,229,231,232,233,234,235,235,236,238,239,240,240,241,242,244,245,245,246,247,249,250,250,251,252,254,255,
+0,2,3,5,6,9,10,12,13,14,17,18,19,20,21,23,25,26,27,28,30,31,32,33,34,35,37,38,39,40,41,42,44,45,46,47,48,49,51,52,53,54,55,56,57,59,60,60,62,62,63,64,66,67,68,69,70,71,71,73,73,75,76,77,78,79,79,81,81,82,84,85,86,87,88,88,89,90,91,92,93,95,96,97,97,98,99,100,101,102,103,104,105,105,106,107,109,110,111,112,112,113,114,115,116,117,118,119,119,120,121,122,123,124,125,125,127,127,129,130,130,131,132,133,134,135,136,136,138,138,139,140,141,142,143,144,145,146,147,148,148,149,150,151,152,153,154,155,156,157,158,159,160,160,161,162,163,164,165,166,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,180,181,181,182,184,185,185,187,187,188,189,189,190,191,193,193,194,195,196,197,197,198,199,201,201,203,204,205,206,206,207,208,209,210,211,212,212,213,215,215,217,218,219,219,220,221,222,223,224,224,225,226,227,229,230,230,231,232,233,234,235,235,237,238,239,240,240,241,243,244,245,245,246,247,249,250,250,251,252,254,255,
+0,2,3,5,6,9,10,12,13,14,17,18,19,20,22,24,25,26,27,28,29,31,33,34,35,36,37,39,40,41,42,43,44,46,47,48,49,50,51,53,54,55,55,57,57,58,60,61,62,63,64,65,66,67,69,69,71,71,72,73,74,75,77,77,78,79,81,81,82,83,84,85,87,88,88,90,90,91,92,93,94,95,95,97,98,99,100,101,102,103,104,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,120,121,122,123,124,125,125,127,128,128,129,130,131,132,133,134,135,136,136,138,138,139,140,141,142,143,144,145,146,146,148,149,149,150,151,152,153,154,155,156,156,158,158,159,160,161,162,163,163,164,165,166,167,168,169,170,171,172,173,174,174,175,176,177,177,178,179,180,181,182,183,185,185,186,187,188,188,189,190,191,192,193,194,195,196,197,197,198,199,200,201,202,203,204,204,205,206,207,208,209,210,212,212,213,214,215,216,217,218,218,219,220,221,222,223,223,224,226,227,228,229,229,230,231,232,233,235,235,236,237,238,239,240,240,242,243,244,245,245,246,248,249,250,250,251,252,254,255,
+0,2,3,5,6,9,11,12,13,15,17,18,20,21,22,24,25,26,28,29,30,32,33,34,35,36,37,39,40,42,43,43,44,46,47,48,49,51,51,53,54,55,56,57,58,59,61,62,63,64,65,65,67,67,69,70,71,72,73,74,75,76,77,79,79,80,81,82,83,84,85,86,88,88,89,90,91,92,93,94,94,96,96,98,99,100,101,102,102,104,104,105,106,107,108,109,110,111,112,112,114,115,116,117,118,119,119,121,121,122,123,124,125,126,127,128,129,130,130,131,132,133,134,135,135,137,138,138,139,140,141,142,143,144,145,146,146,148,149,149,150,151,152,153,154,155,156,156,157,158,159,160,161,162,163,164,164,165,166,167,168,168,169,171,172,173,173,174,175,176,177,178,178,179,180,181,182,183,184,185,186,187,188,189,189,190,191,192,193,194,195,196,197,198,198,199,200,201,202,203,204,205,205,206,207,208,209,210,211,212,212,213,214,215,216,217,218,218,220,221,222,223,224,224,225,226,227,228,229,229,230,231,233,234,235,235,236,237,238,239,241,241,242,243,244,245,245,246,248,249,250,250,251,253,254,255,
+0,2,3,5,7,9,11,12,14,15,17,19,20,21,22,25,26,26,28,29,30,33,34,35,36,37,38,40,41,42,43,44,45,47,48,49,50,51,52,54,55,56,57,58,59,60,62,62,63,65,65,66,67,68,70,71,72,73,74,75,76,76,78,79,80,81,82,83,84,85,86,87,89,89,90,91,92,93,94,94,95,97,97,98,100,101,102,103,103,105,105,106,107,108,109,110,111,111,113,113,115,116,117,118,119,120,120,121,123,123,124,125,126,127,127,129,129,130,131,132,133,134,134,135,136,137,138,139,140,141,142,143,144,144,145,146,148,148,149,150,151,152,153,154,155,155,157,157,158,159,160,161,162,163,164,164,164,166,166,168,168,169,171,171,172,173,174,175,176,177,178,179,179,180,181,182,183,184,185,185,186,187,188,189,189,190,191,192,193,194,195,196,197,198,198,199,200,201,202,203,204,206,206,207,207,208,209,210,211,213,213,214,215,216,217,218,219,219,220,221,222,223,224,224,225,226,227,228,230,230,231,232,233,234,235,235,236,237,239,240,241,241,242,243,244,245,245,247,248,249,250,250,251,253,254,255,
+0,2,3,5,7,10,11,13,14,15,18,19,20,21,23,24,26,27,28,30,31,33,34,35,36,37,38,40,42,43,44,45,46,48,48,50,51,51,53,54,56,57,58,58,59,60,62,63,64,65,66,67,68,69,70,72,73,74,74,76,77,77,78,79,81,82,83,84,85,86,86,88,88,89,91,92,93,93,95,95,96,97,98,99,100,101,102,104,104,106,106,107,108,109,110,111,111,113,113,114,115,116,117,118,118,120,121,122,123,124,125,126,126,127,129,129,130,131,132,133,134,135,136,136,138,138,139,140,141,142,143,144,145,145,147,147,148,149,150,151,151,152,153,154,156,156,158,158,159,160,160,161,162,163,164,165,165,166,167,168,169,170,171,172,173,174,175,176,177,177,178,179,180,180,181,183,183,184,185,186,187,188,188,189,190,191,192,193,194,195,196,197,197,198,199,200,201,202,203,204,205,205,206,207,208,209,210,211,212,212,213,214,215,216,217,218,218,219,220,221,222,223,225,225,226,227,228,229,230,230,231,232,233,234,235,235,237,238,239,240,240,241,242,243,244,246,246,247,248,249,250,250,251,253,254,255,
+0,2,4,5,7,10,11,13,14,15,18,19,21,22,23,25,27,28,29,30,31,34,35,36,37,38,39,41,42,43,44,45,46,48,49,50,51,52,53,54,56,57,58,59,60,61,62,64,65,66,67,68,69,70,71,73,74,74,75,77,77,78,79,80,82,83,84,85,85,86,87,88,89,90,92,93,94,94,95,97,97,98,99,100,101,101,102,104,105,106,107,108,109,110,111,112,112,114,114,115,116,117,118,119,120,120,122,123,124,124,126,127,127,129,129,130,131,132,133,134,135,135,137,137,139,139,140,141,141,143,144,145,145,146,147,148,149,150,151,151,152,153,154,155,156,157,158,159,160,161,161,162,163,163,165,165,167,167,168,169,170,171,172,173,174,175,175,176,177,177,178,179,180,181,182,183,184,185,186,187,188,189,189,190,191,192,193,194,195,196,197,198,198,198,199,200,201,202,203,204,206,206,206,207,208,209,210,212,212,212,213,214,215,217,218,219,219,219,221,222,223,224,225,225,226,227,228,229,230,230,231,232,233,234,236,236,237,238,239,240,240,241,242,243,245,246,246,247,248,249,250,250,251,253,254,255,
+0,2,4,5,7,10,11,13,14,16,17,20,21,22,23,25,27,28,29,31,32,33,35,36,38,38,39,40,43,44,45,46,47,48,50,51,52,53,54,55,56,58,59,60,61,62,63,63,66,66,68,69,70,71,72,72,74,75,76,77,78,79,80,81,82,83,85,86,87,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,101,102,103,104,105,106,108,109,110,111,111,112,113,114,115,116,117,118,119,120,121,121,122,123,124,125,126,127,127,128,129,131,132,133,134,135,136,137,137,139,139,140,141,142,142,144,144,146,147,147,148,149,150,151,152,153,153,153,154,155,156,157,158,159,160,160,162,163,163,164,165,166,167,168,169,170,171,172,173,174,174,175,175,176,177,178,179,180,181,182,183,184,185,186,187,188,188,189,189,190,192,192,193,194,195,196,196,197,198,199,200,201,202,203,204,205,205,206,207,208,209,210,211,212,212,213,214,215,216,217,218,218,219,220,221,222,223,224,224,225,226,227,228,229,229,231,232,233,234,235,235,236,237,238,239,240,240,241,242,244,245,245,246,247,248,249,250,250,252,253,254,255,
+0,2,4,5,7,10,12,13,15,16,17,20,21,23,24,25,27,29,30,31,32,33,36,37,38,39,40,41,43,44,45,47,47,48,51,52,53,54,55,56,57,59,60,61,62,63,64,65,67,68,68,69,70,71,72,73,75,76,77,78,79,80,81,81,83,83,86,86,87,88,89,90,91,92,93,93,95,96,97,98,99,100,101,101,102,104,105,105,106,107,109,110,111,111,113,113,114,115,116,117,118,119,120,121,122,122,123,124,125,126,127,127,129,129,130,132,133,134,135,136,136,138,138,139,140,141,142,143,144,145,145,146,147,148,149,150,151,151,152,153,154,154,155,156,157,158,159,160,161,162,162,163,164,165,166,167,168,169,170,171,172,172,173,175,175,176,176,177,178,179,180,181,181,183,184,184,185,186,187,188,188,189,190,191,192,193,194,195,196,197,197,198,199,200,201,202,203,203,204,206,206,207,208,208,210,210,211,212,212,213,215,215,216,217,218,218,219,220,222,223,223,225,225,226,227,228,229,230,230,231,232,233,234,235,235,236,237,238,239,240,240,242,243,244,245,245,246,247,248,249,250,250,252,253,254,255,
+0,2,4,5,7,10,12,13,15,16,18,20,22,23,24,26,28,29,30,31,33,34,36,37,38,39,40,42,44,45,46,47,48,49,51,52,53,54,55,56,57,60,61,61,62,64,64,65,67,68,69,70,71,72,73,74,76,77,78,79,80,81,82,83,83,84,86,87,88,89,90,91,92,93,94,94,96,97,98,99,100,100,102,103,104,104,105,106,107,108,110,110,112,113,113,114,115,116,117,118,118,119,121,121,122,123,124,125,126,127,128,129,130,130,131,133,134,135,135,137,137,138,139,140,141,142,143,144,144,145,146,147,148,149,150,151,152,153,153,154,155,155,156,157,158,159,160,161,161,162,163,165,165,166,167,168,169,169,171,171,172,173,174,175,176,177,177,178,179,179,181,182,182,184,184,185,186,187,188,189,189,190,191,192,193,193,195,196,197,197,197,198,199,200,201,202,203,204,205,206,206,207,208,209,210,211,212,213,213,214,215,216,217,218,219,219,220,221,222,223,224,225,225,226,227,228,229,230,230,231,232,233,234,235,235,236,237,239,240,241,241,242,243,244,245,245,246,247,248,249,250,250,252,253,254,255,
+0,2,4,6,7,9,12,14,15,16,18,21,22,23,25,26,28,29,31,32,33,34,37,38,39,40,41,42,44,46,47,47,49,50,51,53,54,55,56,57,58,59,61,62,63,64,65,66,67,69,70,71,72,73,74,75,75,77,78,80,80,81,82,83,84,85,86,87,89,90,91,92,93,93,94,95,96,97,98,100,101,102,103,103,104,105,106,107,108,109,110,111,112,112,114,115,116,117,118,119,120,121,122,122,123,124,125,126,127,127,128,130,130,131,132,133,134,135,136,136,137,138,139,140,141,142,143,143,144,145,147,147,148,149,150,150,151,152,153,154,155,156,157,158,159,160,161,161,162,163,164,165,166,167,168,168,169,170,171,172,173,174,174,175,176,177,178,179,179,180,182,182,184,184,185,186,187,187,188,189,190,191,191,192,193,194,195,196,196,197,198,199,200,201,202,203,204,204,204,206,207,208,209,210,210,211,213,213,214,215,215,216,217,218,218,219,220,221,222,223,224,224,225,226,227,228,229,230,230,231,232,233,235,236,236,237,238,239,240,241,241,242,243,244,245,245,246,247,248,249,249,251,252,253,254,255,
+0,2,4,6,7,9,12,14,15,17,18,21,22,24,25,26,29,30,31,32,33,35,37,38,39,41,42,43,45,46,47,49,49,51,52,53,54,56,57,58,59,60,61,63,64,65,66,67,68,70,71,71,73,74,74,76,76,77,79,80,81,82,83,84,85,86,87,88,89,91,91,92,93,94,95,96,97,98,99,101,101,102,104,104,105,106,107,108,109,110,111,111,112,114,115,116,117,118,119,120,121,122,122,123,124,125,126,127,127,128,129,130,131,132,133,134,135,135,136,137,138,139,140,141,142,143,143,144,145,146,147,148,149,150,151,151,153,153,154,155,156,157,157,158,159,160,161,162,163,164,165,165,166,168,168,169,170,171,172,173,174,175,175,176,177,177,178,179,180,181,182,183,184,185,186,187,187,187,189,189,190,191,192,193,194,195,196,197,197,198,198,200,200,202,202,203,204,205,205,206,207,208,209,210,211,212,213,213,214,215,216,217,218,219,219,220,221,222,223,224,225,225,226,227,228,229,230,231,231,232,233,234,235,236,236,237,238,239,240,241,241,242,243,244,245,245,246,247,248,250,250,251,252,253,254,255,
+0,2,4,6,8,9,13,14,16,17,18,21,23,24,25,27,28,31,31,33,34,35,36,39,40,41,42,43,44,47,48,49,50,51,52,53,55,56,58,58,59,61,61,64,65,66,67,67,68,70,70,72,73,74,76,76,77,78,79,80,82,83,84,85,86,87,88,89,89,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,111,113,114,114,115,115,117,118,119,121,122,122,123,124,125,126,127,127,128,129,130,131,132,133,134,135,135,137,138,138,139,140,141,142,143,143,144,146,146,147,148,149,150,150,151,152,153,154,155,156,157,158,159,159,160,161,162,163,164,164,165,167,168,168,169,170,171,171,172,173,174,175,176,176,177,178,179,180,181,182,183,184,184,186,186,186,187,188,189,190,191,192,193,194,195,196,196,196,197,198,199,200,201,202,203,204,204,205,206,207,208,209,210,211,211,211,213,214,214,215,216,217,218,218,219,220,221,222,223,224,224,225,226,227,228,229,230,230,231,232,233,234,235,235,236,237,238,239,240,240,241,242,243,244,245,245,246,247,249,250,250,251,252,253,254,255,
+0,2,4,6,8,10,13,14,16,17,19,22,23,25,26,27,28,31,32,33,35,36,37,39,40,42,43,44,45,47,48,50,50,52,53,54,56,57,58,59,60,61,62,64,65,66,67,68,69,70,71,73,74,75,76,77,78,79,80,81,83,84,85,86,87,88,88,89,90,91,93,94,95,96,97,98,99,100,101,102,103,103,105,106,107,108,109,109,110,112,113,114,114,115,116,117,118,118,119,121,122,123,124,125,126,127,128,128,130,130,131,132,133,134,135,135,136,137,138,139,140,141,142,143,144,144,145,146,146,148,149,150,151,152,152,153,154,155,156,157,157,158,159,160,161,162,163,164,164,166,167,167,168,169,170,171,172,172,173,173,175,175,176,177,178,179,180,181,182,183,183,184,185,186,186,187,188,189,190,191,192,193,193,194,195,196,196,197,198,199,200,201,202,203,204,204,204,205,206,207,208,209,210,211,212,212,213,214,215,216,217,218,219,219,220,221,222,223,223,224,224,225,226,227,228,229,230,230,231,232,233,234,235,235,236,237,238,239,240,240,241,242,243,244,246,246,247,248,249,250,250,251,252,253,254,255,
+0,2,4,6,8,10,13,15,16,18,19,22,23,25,26,27,29,31,32,34,35,36,37,40,41,42,43,45,45,48,49,50,51,52,53,54,57,58,59,60,61,62,63,65,66,67,68,69,70,71,72,74,75,76,77,78,79,80,81,82,84,84,86,86,88,88,90,90,91,92,94,95,96,97,98,98,100,101,102,103,104,104,106,107,108,108,109,110,111,112,113,114,115,116,117,118,119,119,120,122,123,124,125,126,127,127,129,129,130,131,132,133,134,135,135,136,137,138,139,140,141,142,143,143,145,146,146,147,148,149,149,150,151,152,153,154,155,156,157,158,158,159,160,161,162,163,164,164,166,166,168,168,169,170,171,172,172,172,173,174,175,176,177,178,179,180,181,181,182,183,184,185,186,187,187,188,189,189,190,191,192,193,194,195,196,197,197,198,199,200,200,201,203,203,204,205,205,206,207,208,209,210,211,212,213,213,213,214,215,216,217,218,219,219,220,221,222,223,224,225,225,226,227,228,229,230,231,231,232,233,234,235,236,236,237,238,239,240,241,241,242,243,244,245,246,246,247,248,249,250,250,251,252,253,254,255,
+0,2,4,6,8,10,13,15,16,18,19,22,23,25,26,28,29,32,33,35,35,37,38,40,42,43,44,45,46,49,50,51,52,53,54,55,57,58,60,61,62,62,64,65,66,68,69,70,71,72,73,73,76,77,78,79,80,81,81,82,84,85,86,87,88,89,90,91,92,93,94,95,97,98,98,99,101,101,102,103,104,105,106,107,108,110,110,111,112,114,114,115,116,117,118,119,119,120,121,122,123,124,125,125,127,128,129,130,131,132,133,133,135,135,136,137,138,139,140,141,142,142,144,144,145,146,146,148,149,150,151,152,152,153,154,155,156,157,158,158,159,160,161,162,163,164,164,165,166,167,168,168,169,170,171,172,172,174,174,175,176,177,178,178,180,180,181,182,183,184,185,185,186,187,188,188,189,190,191,192,193,194,194,196,196,197,197,198,199,200,201,202,203,204,205,205,206,207,208,208,209,210,211,212,212,213,214,215,216,217,218,219,219,220,220,222,222,223,224,225,225,226,227,228,229,230,231,231,232,233,234,235,236,236,237,238,239,240,241,241,242,243,244,245,246,246,247,248,249,250,250,251,252,253,254,255,
+0,2,4,6,8,10,13,15,17,18,20,23,24,25,27,28,30,32,33,35,36,37,38,41,42,43,44,46,47,49,50,51,52,53,54,56,58,59,60,61,62,63,64,65,67,68,69,71,71,72,74,74,76,78,79,80,80,82,82,83,84,86,87,88,89,90,91,92,93,94,95,96,98,98,99,100,102,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,119,120,121,122,123,124,125,126,126,128,129,130,131,132,133,134,134,135,136,137,138,139,140,141,142,142,143,144,145,146,147,148,149,150,150,151,152,153,153,155,156,157,157,158,159,160,161,162,163,164,164,165,166,167,168,169,169,170,170,172,172,173,174,175,176,177,178,178,179,180,181,182,183,184,184,185,185,186,187,188,189,190,191,192,193,193,194,195,196,196,197,198,199,200,201,201,203,203,204,205,205,206,207,208,209,210,211,212,213,213,213,214,215,216,217,218,219,219,220,221,222,223,224,225,226,226,226,227,228,229,230,231,231,232,233,234,235,236,236,237,238,239,240,241,241,242,243,244,245,246,246,247,248,249,250,250,251,252,253,254,255,
+0,2,4,6,8,10,14,15,17,18,20,23,25,26,27,28,30,32,34,35,37,38,39,40,43,44,45,46,47,49,51,52,53,55,55,57,57,60,61,62,63,64,65,66,67,69,70,71,72,73,74,75,76,78,79,80,81,82,83,84,85,86,87,89,90,91,92,93,94,95,96,96,97,99,100,101,102,103,104,105,106,106,107,109,110,111,111,112,113,115,116,117,117,118,119,120,121,122,123,124,125,126,127,128,128,129,130,131,132,133,134,135,135,136,138,139,140,141,142,142,143,144,145,146,147,148,148,149,150,151,152,153,154,155,155,156,157,158,159,160,161,162,162,162,163,164,165,166,167,168,169,170,170,171,172,173,174,175,176,176,178,178,179,180,181,182,183,183,184,184,186,186,187,188,189,190,191,191,192,193,194,195,195,196,197,198,199,199,201,201,202,203,204,204,205,206,207,207,208,209,210,211,212,212,213,214,215,216,217,218,218,218,219,221,221,222,223,224,225,225,226,227,228,229,230,231,231,232,232,233,234,235,235,236,237,238,239,240,241,241,242,243,244,245,246,246,247,248,249,250,250,251,252,253,254,255,
+0,2,4,6,8,10,14,16,17,19,20,23,25,26,28,29,30,33,34,36,37,38,39,41,43,44,46,47,48,49,52,53,53,55,56,57,58,60,61,62,63,64,65,66,68,70,71,72,73,74,75,76,77,79,80,81,82,83,84,85,86,87,88,90,90,91,92,93,95,95,97,98,98,99,101,102,103,104,105,105,106,107,109,109,110,111,112,113,114,116,117,117,118,119,120,122,122,123,124,125,126,126,128,129,129,130,131,132,133,134,135,135,136,137,139,140,140,142,143,144,144,145,146,147,147,149,149,150,151,152,153,154,155,156,156,157,158,159,160,161,162,162,162,163,164,165,166,167,168,169,169,170,171,172,173,174,174,176,176,177,178,179,180,181,182,182,183,183,184,185,186,187,188,188,189,190,191,192,193,194,195,196,196,197,197,199,199,200,201,202,203,204,205,205,205,206,207,208,209,210,211,212,213,213,214,214,215,216,217,218,219,219,220,221,222,222,224,224,225,225,226,227,228,229,230,231,231,232,233,234,235,236,236,237,238,238,239,240,241,241,242,243,244,245,246,246,247,248,249,250,250,251,252,253,254,255,
+0,2,5,7,9,10,14,16,17,19,21,24,25,27,28,29,31,33,35,36,38,39,40,41,44,45,46,47,48,49,52,53,54,55,56,58,59,61,62,63,64,65,66,67,68,70,72,72,74,75,76,76,78,80,81,82,83,84,84,86,87,88,89,91,91,92,93,94,95,96,97,98,99,100,102,103,104,105,105,106,107,108,109,110,111,112,113,114,115,117,117,119,119,120,121,122,123,123,125,125,127,127,128,129,130,131,132,133,134,134,136,136,137,138,140,140,141,142,143,144,145,146,147,148,148,149,150,151,152,153,154,154,155,156,157,158,159,160,161,162,162,163,163,164,165,166,167,168,168,169,170,171,172,173,174,174,176,176,177,178,179,179,181,182,183,183,184,184,185,186,187,187,188,189,190,191,192,193,193,194,195,196,196,197,198,199,200,201,202,202,203,204,205,205,206,207,208,209,210,211,211,212,213,213,214,215,216,217,218,218,219,219,220,221,222,223,224,225,226,226,227,228,228,229,230,231,231,232,233,234,235,236,236,237,238,239,240,241,241,241,242,243,244,245,246,246,247,248,249,250,250,251,252,253,254,255,
+0,2,5,7,9,11,14,16,18,19,21,22,26,27,28,30,31,32,35,37,38,39,40,42,44,45,47,48,49,50,52,54,55,56,57,59,59,60,63,64,65,66,67,68,69,70,72,73,74,75,77,77,78,79,80,82,83,85,85,87,87,88,89,91,91,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,110,110,111,112,113,113,115,116,116,118,118,119,121,122,123,124,125,125,126,127,128,129,130,131,132,133,133,134,135,136,137,138,139,140,141,142,142,143,144,145,146,147,148,149,149,150,151,152,153,153,154,155,156,157,158,159,160,161,162,163,163,164,165,166,167,168,168,169,170,171,172,172,173,174,175,176,177,178,179,180,180,181,181,182,183,184,185,186,186,187,188,189,190,191,192,193,194,194,194,195,196,197,198,199,199,200,201,202,203,204,204,205,206,207,207,208,209,210,211,212,212,213,213,215,215,216,217,218,219,219,220,221,222,223,223,224,225,225,226,227,228,229,230,231,231,232,233,233,234,235,236,236,237,238,239,240,241,241,242,243,244,245,245,245,246,247,248,249,250,250,251,252,253,254,255,
+0,2,5,7,9,11,14,16,18,20,21,23,26,27,29,30,32,33,36,37,38,40,41,42,45,46,47,48,50,51,52,54,55,56,58,59,60,61,63,64,65,67,67,69,70,71,73,74,75,76,77,78,79,80,81,83,84,85,86,87,88,89,90,91,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,115,117,117,118,119,120,122,123,123,124,125,127,127,128,129,130,131,132,133,133,134,135,136,137,138,139,140,141,141,142,143,144,145,146,146,147,148,149,150,151,152,153,154,155,155,156,157,158,159,160,161,161,162,163,164,165,166,167,167,168,169,170,171,172,173,173,174,175,176,177,178,179,179,180,181,182,182,183,184,184,185,186,187,188,189,190,191,191,192,193,194,195,195,196,197,197,198,199,200,201,202,202,204,204,204,205,206,207,208,209,210,210,211,212,212,213,214,215,216,217,218,218,219,219,220,221,222,223,224,225,226,226,226,227,228,229,230,231,231,232,233,234,235,235,236,236,237,238,239,240,241,241,242,243,244,245,246,246,246,247,248,249,250,250,251,252,253,254,255,
+0,2,5,7,9,11,15,16,18,20,22,23,26,28,29,31,32,34,36,38,39,40,42,43,44,46,48,49,50,51,53,54,56,57,58,59,61,62,63,65,66,67,68,69,70,72,73,75,76,77,78,79,80,81,82,83,84,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,103,104,105,106,107,108,110,111,112,113,113,115,115,117,117,118,119,120,121,122,123,123,124,125,127,128,129,130,131,131,133,134,135,135,136,137,138,138,140,140,142,142,143,144,145,146,146,147,148,149,150,151,152,153,154,154,155,156,157,158,159,160,160,161,162,163,164,165,166,167,168,168,169,170,171,171,172,173,174,175,176,177,177,178,178,179,180,181,182,183,184,184,185,186,187,188,189,189,190,191,192,193,193,194,195,196,196,197,198,199,200,200,201,203,203,203,204,205,206,207,208,208,209,210,211,211,212,213,214,214,215,216,217,218,219,219,220,221,222,222,223,224,225,225,226,227,228,229,229,230,230,231,232,233,234,235,236,236,237,237,238,239,240,241,241,242,243,244,245,246,246,247,248,249,249,250,250,251,252,253,254,255,
+0,2,5,7,9,11,15,17,18,20,22,23,27,28,29,31,33,34,36,38,39,41,42,43,44,47,48,49,51,52,53,54,57,57,59,60,61,62,63,66,67,68,69,70,71,73,73,76,76,77,79,79,81,82,83,84,85,87,88,89,90,90,92,93,93,95,96,98,99,99,101,101,102,103,104,105,106,107,108,109,111,112,113,114,114,115,116,117,118,119,120,121,122,123,124,124,125,126,128,129,130,131,131,133,133,134,135,136,137,138,139,140,140,141,142,143,144,145,145,147,147,148,149,150,151,151,153,153,155,155,156,157,158,159,160,160,161,162,163,163,164,165,166,167,168,169,170,171,171,172,173,174,175,176,176,177,178,179,179,180,181,182,182,183,184,185,186,187,188,188,189,190,191,192,193,194,194,194,195,196,197,198,199,199,200,201,202,203,204,204,205,206,206,207,208,209,210,211,211,211,212,213,214,215,216,217,218,218,219,219,220,221,222,223,224,225,225,225,226,227,228,229,230,231,231,232,232,233,234,235,236,236,237,238,239,240,240,241,241,242,243,244,245,246,246,247,248,249,250,250,250,251,252,253,254,255,
+0,3,5,7,9,11,15,17,19,21,22,24,27,28,30,31,33,34,37,38,40,41,42,44,45,48,49,50,51,53,54,55,57,59,59,61,62,63,64,66,68,69,70,71,72,73,74,76,77,78,79,80,81,82,83,84,85,88,88,89,90,91,92,93,95,96,96,98,99,100,101,103,103,104,105,106,107,108,109,110,112,112,113,114,116,116,117,118,119,120,121,121,122,123,124,125,126,127,129,130,131,132,132,133,135,135,136,137,138,139,140,141,141,142,143,144,145,145,146,147,148,149,150,151,152,153,153,154,155,156,157,157,158,159,160,161,162,163,164,164,165,166,167,168,169,170,170,171,172,173,174,174,175,176,177,178,179,180,180,181,181,182,183,184,185,185,187,187,188,189,190,191,192,193,193,194,194,195,196,197,197,198,199,200,201,202,202,204,204,204,205,206,207,208,209,210,210,211,212,212,213,214,215,215,216,217,218,219,220,220,221,221,222,223,224,225,226,226,227,227,228,229,230,231,231,232,233,234,234,235,236,236,237,238,239,240,241,241,241,242,243,244,245,246,246,247,248,249,250,250,250,251,252,253,254,255,
+0,3,5,7,9,11,15,17,19,21,22,24,27,29,30,32,33,35,36,39,40,42,43,44,45,48,49,50,52,53,54,55,58,59,60,61,63,64,65,66,68,69,70,71,73,73,75,76,77,79,80,81,82,83,84,85,86,87,89,90,91,92,93,94,95,96,97,98,99,101,102,103,104,105,106,107,108,108,109,110,112,112,113,115,116,117,118,119,120,121,122,122,124,124,125,126,127,128,129,129,130,131,132,133,135,136,137,138,138,139,140,141,142,143,144,145,145,146,147,148,149,150,151,152,152,154,154,155,156,157,157,158,159,160,161,162,163,163,164,165,166,167,168,169,169,170,171,172,173,173,174,175,175,176,177,178,179,180,180,181,182,184,184,184,186,186,187,188,189,190,191,191,192,192,193,194,195,195,196,197,198,199,200,201,201,202,203,203,204,205,206,207,207,208,209,210,211,212,212,212,213,214,215,216,217,217,218,218,219,220,221,222,223,224,224,225,225,226,227,228,229,229,230,231,231,232,233,234,235,236,236,236,237,238,239,240,241,241,242,243,243,244,245,246,246,247,248,249,250,251,251,251,252,253,254,255,
+0,3,5,7,10,12,16,18,19,21,23,24,28,29,30,32,33,35,36,39,41,42,43,45,46,48,50,51,52,53,55,56,59,59,61,62,63,64,65,67,69,70,71,72,73,74,75,76,78,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,103,103,104,106,106,108,108,110,110,111,112,113,114,116,117,118,119,120,120,121,122,123,124,125,126,127,128,129,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,144,145,146,147,148,149,150,151,151,152,153,154,155,156,156,157,158,159,160,161,162,163,163,164,165,166,167,168,169,169,170,171,172,173,173,174,175,176,176,177,178,179,179,180,181,182,183,184,185,185,186,187,188,189,189,190,191,192,193,193,194,194,195,196,197,198,199,200,200,201,202,203,204,204,204,205,206,207,208,209,209,210,211,212,212,213,214,215,215,216,217,218,219,219,219,220,221,222,223,224,225,226,226,226,227,228,229,230,231,232,232,232,233,234,235,236,237,237,238,238,239,240,241,241,242,243,244,244,245,246,246,247,248,249,250,251,251,251,252,253,254,255,
+0,3,5,8,10,12,16,18,19,21,23,25,28,29,31,33,34,35,37,40,41,42,44,45,46,48,50,52,53,54,55,56,58,60,61,62,64,65,66,67,68,70,72,73,73,75,76,77,78,79,81,82,83,85,85,86,87,88,90,91,93,93,95,96,97,97,98,99,101,101,102,103,105,106,107,108,109,110,111,112,113,114,115,116,116,118,118,120,122,122,123,124,125,126,127,128,128,130,130,131,132,133,134,135,136,137,137,138,139,140,141,142,142,144,145,146,147,148,148,150,150,151,152,153,154,155,155,156,157,158,159,160,161,162,162,163,164,165,166,167,168,168,169,169,170,171,172,173,174,174,175,176,177,178,179,179,180,181,182,183,184,184,185,186,187,188,188,189,190,190,191,192,192,193,194,195,196,197,197,198,199,200,201,202,202,203,203,204,205,206,207,208,208,209,210,211,211,212,213,213,214,215,216,217,218,218,218,219,220,221,222,223,223,224,225,225,226,227,228,228,229,230,231,231,232,233,233,234,235,236,236,237,238,239,239,240,241,241,242,243,244,245,245,246,246,247,248,249,250,251,251,252,252,253,254,255,
+0,3,5,8,10,12,16,18,20,21,23,25,28,30,31,33,34,36,37,40,42,43,44,46,47,48,51,52,53,55,56,57,58,61,62,63,64,65,67,68,69,71,72,73,74,76,77,78,79,80,82,83,84,85,86,87,88,90,90,92,93,94,95,96,97,98,99,100,101,102,103,104,106,107,108,109,110,111,112,113,114,114,116,116,117,118,119,121,122,123,124,125,126,126,127,128,129,130,131,132,133,134,135,136,136,137,138,139,140,141,142,143,143,145,146,147,148,149,149,150,151,152,153,154,154,155,156,157,158,159,160,161,161,162,163,164,165,166,166,167,168,169,170,170,171,171,172,173,174,175,176,177,177,178,179,180,181,182,182,183,184,185,186,187,188,188,189,190,191,191,191,192,193,194,195,195,197,197,198,199,200,201,201,202,202,203,204,205,205,206,207,208,209,210,210,211,211,212,213,214,215,215,216,217,218,219,219,220,220,221,222,223,224,225,225,225,226,227,228,229,230,230,231,231,232,233,234,235,235,236,236,237,238,239,240,241,241,241,242,243,244,245,246,246,246,247,248,249,250,251,251,252,252,253,254,255,
+0,3,5,8,10,12,16,18,20,22,23,25,29,30,32,33,35,36,38,40,42,43,45,46,47,49,51,52,54,55,56,57,59,61,62,64,65,66,67,68,69,72,73,74,75,76,77,78,79,80,82,84,85,86,87,88,89,90,91,92,94,95,96,97,98,99,100,101,102,103,104,105,107,108,109,110,111,112,113,113,114,115,116,117,118,119,120,122,123,123,125,126,127,128,128,129,130,131,132,133,134,135,135,136,137,138,139,140,141,141,142,143,144,146,147,148,148,150,150,151,152,153,154,154,156,156,157,158,159,160,160,161,162,163,164,165,166,166,167,168,169,170,171,171,172,172,173,174,174,176,176,177,178,179,180,181,181,182,183,184,185,186,186,187,188,189,189,190,191,191,192,193,194,195,195,196,197,198,198,199,200,201,202,203,203,204,204,205,206,207,208,208,209,210,211,212,212,212,213,214,215,216,216,217,218,219,219,220,221,222,222,223,224,225,226,226,227,227,228,229,230,231,232,232,232,233,234,235,236,236,236,237,238,239,240,241,241,241,242,243,244,245,246,247,247,247,248,249,250,251,251,252,252,253,254,255,
+0,3,5,8,10,12,16,18,20,22,24,26,27,30,32,34,35,37,38,41,42,44,45,46,48,49,50,53,54,56,57,58,59,61,63,64,65,67,68,69,70,71,73,74,76,77,78,79,80,81,82,83,86,86,87,89,90,90,92,93,94,95,97,98,99,100,100,102,103,104,104,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,123,125,126,127,128,129,130,131,132,133,133,134,135,136,137,138,139,140,141,141,142,143,144,145,146,147,148,148,149,150,151,152,153,154,154,155,156,157,158,159,159,160,161,162,163,163,164,165,166,167,168,169,170,170,171,172,173,173,175,176,176,177,178,179,179,180,181,182,183,183,184,185,186,187,188,189,189,189,190,191,192,193,193,194,195,196,197,198,199,199,200,201,201,202,202,203,204,205,206,206,207,208,209,210,210,210,211,212,213,214,215,215,216,217,218,218,219,220,220,221,222,223,224,224,225,225,226,227,228,229,229,230,231,231,232,233,233,234,235,236,236,237,238,238,239,240,241,242,242,242,243,244,245,246,246,247,247,248,249,250,251,251,252,252,253,254,255,
+0,3,5,8,10,13,17,19,20,22,24,26,28,31,32,34,36,37,39,41,43,44,46,47,48,50,51,54,55,56,57,59,60,61,64,65,66,67,68,69,71,72,74,75,76,77,79,80,81,82,83,84,86,87,88,89,90,91,92,93,94,95,97,98,99,101,102,102,103,104,105,106,107,109,109,111,112,113,114,115,116,117,118,118,120,121,121,122,123,124,125,127,128,129,129,131,131,132,133,134,135,136,137,138,139,140,140,141,142,143,144,145,146,146,147,148,149,150,150,152,152,153,154,155,156,157,158,159,159,160,161,162,163,163,164,165,166,167,168,168,169,170,171,172,172,173,174,175,176,177,178,179,179,180,181,182,183,183,184,185,186,187,187,188,189,189,190,191,191,192,193,194,195,196,197,197,198,199,200,201,201,201,202,203,204,205,205,206,207,208,208,210,210,211,211,212,213,213,214,215,216,217,217,218,218,219,220,221,221,222,223,224,225,226,226,226,227,228,229,230,230,231,231,232,233,234,234,235,236,236,237,238,239,239,240,241,242,242,243,243,244,245,246,246,247,248,248,249,250,251,251,252,253,253,254,255,
+0,3,6,8,10,13,15,19,21,23,24,26,28,31,33,34,36,37,39,40,43,45,46,48,49,50,52,54,55,57,58,59,61,62,63,65,66,68,69,70,71,72,73,75,77,78,79,80,81,83,84,85,85,88,89,90,91,92,93,94,95,96,97,98,100,101,102,103,104,105,106,107,108,109,110,111,112,113,115,116,117,117,119,119,120,121,122,123,124,125,126,127,128,128,129,130,132,133,134,135,136,137,138,138,139,140,141,142,143,144,144,145,146,147,148,149,150,151,151,152,153,154,155,156,156,158,158,159,160,161,162,162,163,164,165,166,167,167,168,169,170,171,172,173,173,174,175,176,177,177,178,179,180,181,182,183,183,184,185,185,185,186,187,188,189,190,191,191,192,193,194,195,195,196,197,198,199,199,199,200,201,202,202,203,204,205,206,207,207,208,209,210,210,211,211,212,213,214,215,215,216,217,218,218,219,219,220,221,222,223,223,224,224,225,226,227,228,228,229,230,231,231,231,232,233,234,235,235,236,236,237,238,239,240,240,241,241,242,243,244,244,245,246,246,247,248,248,249,250,250,251,252,253,253,254,255,
+0,3,6,8,11,13,15,19,21,23,25,26,28,31,33,35,36,38,39,41,44,45,46,48,49,51,52,55,56,57,59,60,61,62,64,66,67,68,69,71,72,73,74,75,78,79,80,81,82,83,84,85,86,89,90,90,92,92,94,94,96,97,98,99,101,101,103,104,105,106,107,108,109,110,111,112,112,113,116,116,117,118,119,120,121,122,123,123,125,125,126,127,128,129,130,131,133,134,135,136,136,137,138,139,140,141,142,143,144,144,145,146,147,148,149,149,150,151,152,153,154,155,155,156,157,158,159,160,160,162,162,163,164,165,166,166,167,168,169,170,171,171,172,173,174,175,176,177,177,178,179,180,180,181,182,183,183,184,185,186,186,187,188,188,189,190,191,192,193,193,194,195,196,197,198,198,199,200,200,201,202,202,203,204,205,206,206,207,208,209,209,210,210,211,212,213,213,214,215,216,217,217,218,218,219,220,221,221,222,223,224,225,225,225,226,227,228,228,229,230,231,231,232,233,233,234,235,236,237,237,237,238,239,240,241,241,241,242,243,244,245,245,246,246,247,248,249,249,250,250,251,252,253,253,254,255,
+0,3,6,8,11,13,15,19,21,23,25,27,28,32,33,35,36,38,40,41,44,45,47,48,50,51,52,55,56,58,59,60,61,63,64,66,67,69,70,71,72,73,75,76,78,79,80,81,82,84,85,86,87,89,90,91,92,93,94,95,96,97,98,100,101,103,103,105,105,106,107,108,110,110,111,112,113,114,116,117,118,119,120,121,122,123,124,124,125,126,127,128,129,130,131,132,133,135,135,136,137,138,139,140,141,142,142,143,144,145,146,147,148,148,149,150,151,152,153,154,155,155,156,157,158,159,160,160,161,162,163,164,165,166,166,167,168,169,170,170,171,172,173,174,175,175,176,177,178,178,179,180,181,182,183,183,184,185,186,187,187,187,188,189,190,191,192,192,193,194,195,196,196,197,198,199,200,200,200,201,202,203,203,204,205,206,207,208,208,209,210,211,211,211,212,213,214,215,215,216,217,218,218,218,219,220,221,222,223,223,224,225,225,226,226,227,228,229,230,230,231,231,232,233,234,234,235,236,237,237,237,238,239,240,241,241,241,242,243,244,245,245,246,246,247,248,249,249,250,250,251,252,253,253,254,255,
+0,3,6,8,11,13,15,19,21,23,25,27,29,32,34,35,37,38,40,41,44,46,47,49,50,52,53,54,57,58,60,61,62,63,65,66,68,69,70,72,73,74,75,76,77,80,81,82,83,84,85,86,87,88,90,92,93,94,95,96,97,98,99,100,101,102,103,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,132,133,134,135,136,137,138,140,141,141,142,143,144,145,146,147,147,148,149,150,151,152,152,153,154,155,156,157,158,158,159,160,161,162,163,164,164,165,166,167,168,168,169,170,171,172,173,174,174,175,176,177,178,179,179,180,181,182,182,182,183,184,185,186,186,187,188,189,190,191,191,192,193,194,194,195,196,197,198,198,198,199,200,201,202,202,203,204,205,206,206,207,208,209,209,209,210,211,212,213,213,214,215,216,217,217,217,218,219,220,220,221,222,223,224,224,224,225,226,227,228,228,229,230,231,231,231,232,233,234,235,235,236,236,237,238,239,239,240,241,242,242,242,243,244,245,246,246,246,247,248,249,250,250,250,251,252,253,253,254,255,
+0,3,6,8,11,13,15,20,21,23,25,27,29,32,34,35,37,39,40,42,45,46,48,49,51,52,53,55,57,58,60,61,62,64,65,66,69,70,71,72,73,75,76,77,78,81,82,83,83,84,86,87,88,89,90,92,93,94,95,96,98,99,100,101,101,103,104,106,107,108,109,110,111,112,113,113,115,115,116,117,118,120,121,122,123,124,125,126,127,128,129,129,130,131,132,133,134,135,136,137,138,138,141,141,142,143,144,145,145,146,147,148,149,150,151,151,152,153,154,155,156,157,157,158,159,160,161,161,163,163,164,165,166,167,168,168,169,170,171,172,173,173,174,175,176,176,177,178,179,180,180,181,182,183,183,184,185,186,186,187,188,189,189,190,191,192,193,193,194,195,196,196,197,198,199,199,200,201,201,202,203,204,204,205,206,207,208,208,209,209,210,211,211,212,213,214,215,215,216,217,218,218,219,219,220,221,222,222,223,224,225,225,225,226,227,228,229,229,230,231,231,232,233,233,234,235,235,236,236,237,238,239,239,240,241,242,242,243,243,244,245,246,246,246,247,248,249,250,250,250,251,252,253,253,254,255,
+0,3,6,9,11,13,16,20,22,24,25,27,29,31,34,36,38,39,41,42,44,47,48,49,51,52,53,55,56,59,60,62,63,64,65,67,68,70,72,73,74,75,76,77,79,79,82,83,84,85,86,87,89,90,91,92,93,95,96,97,98,99,100,101,102,103,104,105,106,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,125,126,127,128,129,130,131,132,133,134,135,135,136,138,138,139,140,141,142,143,144,144,145,146,147,148,149,150,151,152,153,154,155,156,157,157,158,159,160,161,161,162,163,164,165,166,166,167,168,169,170,170,171,172,173,174,174,175,175,176,177,178,179,179,180,181,182,183,184,184,185,186,187,187,188,189,190,191,191,192,193,194,195,196,196,196,197,198,199,199,200,201,202,203,203,204,205,206,206,207,208,208,209,210,210,211,212,213,214,214,215,216,217,217,217,218,219,220,220,221,222,223,223,224,224,225,226,226,227,228,229,230,230,230,231,232,233,234,234,235,236,236,237,237,238,239,240,240,241,241,242,243,243,244,245,246,246,246,247,248,249,250,250,250,251,252,253,253,254,255,
+0,3,6,9,11,14,16,20,22,24,26,28,29,31,35,36,38,39,41,43,44,47,48,50,51,53,54,56,57,59,61,62,63,65,66,67,68,71,72,74,74,76,77,78,79,80,83,84,85,86,87,88,89,90,91,92,93,96,97,98,99,100,101,102,103,104,105,106,107,109,110,111,112,113,114,115,116,117,118,119,120,121,122,122,123,125,126,127,128,129,130,131,132,133,133,134,136,136,137,138,139,140,141,141,142,143,144,145,146,147,148,148,150,151,152,153,154,154,155,156,157,158,159,160,161,161,162,163,164,165,166,166,167,168,169,169,170,171,172,173,173,174,175,176,176,177,178,179,179,180,181,182,183,183,184,185,186,186,187,188,189,189,190,191,192,193,193,194,195,196,197,197,197,198,199,200,201,201,202,203,204,204,205,206,207,208,208,208,209,210,211,211,212,213,214,215,215,216,217,217,218,218,219,220,221,222,222,223,224,225,225,225,226,227,228,228,229,230,231,231,231,232,233,234,234,235,236,236,237,237,238,239,240,240,241,241,242,243,244,244,245,246,246,247,247,248,249,250,250,250,251,252,253,254,254,255,
+0,3,6,9,11,14,16,20,22,24,26,28,30,31,35,36,38,40,41,43,45,47,49,50,52,53,54,56,57,60,61,62,64,65,66,68,69,71,72,74,75,76,77,78,80,81,83,84,85,86,88,88,90,91,92,93,94,96,97,98,99,100,101,103,103,104,106,106,107,109,110,112,112,113,114,115,116,117,118,119,120,121,122,123,124,126,127,128,128,129,131,131,132,133,134,135,136,137,137,138,139,140,141,142,143,144,144,146,146,147,148,149,151,152,152,154,154,155,156,157,158,158,159,160,161,162,163,164,164,165,166,167,168,168,169,170,171,172,172,173,174,175,176,177,177,177,178,179,180,181,181,182,183,184,185,185,186,187,188,188,189,190,191,192,192,193,194,195,196,196,197,197,198,199,200,200,201,202,202,203,204,205,206,206,207,208,209,209,210,210,211,212,213,213,214,215,216,216,217,217,218,219,219,220,221,222,223,223,224,225,225,226,226,227,228,228,229,230,231,231,232,232,233,234,235,235,236,236,237,238,238,239,240,241,241,241,242,243,244,244,245,246,246,247,247,248,249,250,250,250,251,252,253,254,254,255,
+0,3,6,9,11,14,16,20,23,24,26,28,30,32,35,37,39,40,42,43,45,46,49,51,52,54,55,56,58,60,62,63,65,66,67,68,69,70,73,74,76,77,78,79,80,81,82,84,86,87,88,89,90,91,93,93,95,96,97,99,100,101,102,103,104,105,106,107,108,109,110,111,113,114,115,116,117,118,119,120,121,122,122,123,124,126,126,127,128,130,131,132,133,134,135,135,136,137,138,139,140,141,142,143,143,145,145,146,147,148,149,150,150,151,152,153,154,155,156,156,157,158,159,160,161,161,162,163,164,165,166,167,167,168,169,170,171,171,172,173,174,175,175,176,177,178,179,180,180,181,182,183,183,184,185,186,187,187,188,189,190,191,191,192,193,194,194,194,195,196,197,198,198,199,200,201,202,202,203,204,205,205,206,207,207,208,208,209,210,211,212,212,213,214,215,215,216,216,217,217,218,219,220,220,221,222,223,224,224,224,225,226,227,227,228,229,229,230,230,231,232,233,233,234,235,236,236,236,237,238,239,239,240,241,241,242,242,243,244,245,245,246,246,247,248,248,249,250,251,251,251,252,253,254,254,255,
+0,3,6,9,12,14,16,21,23,25,27,28,30,32,35,37,39,40,42,43,45,47,50,51,52,54,55,57,58,61,62,63,65,66,67,69,70,71,74,75,76,77,78,79,81,82,83,84,86,87,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,109,110,111,112,113,115,116,117,118,119,119,120,121,122,123,124,125,126,127,128,129,131,132,132,133,134,135,136,137,138,139,140,141,142,142,143,144,145,146,147,147,149,149,150,151,152,153,154,154,155,156,157,158,159,159,160,162,162,163,164,164,165,166,167,168,169,169,170,171,172,173,173,174,175,176,177,178,178,179,180,181,182,182,183,184,185,185,186,187,188,189,190,190,191,192,192,193,194,195,195,196,197,197,198,199,200,200,201,202,203,203,204,205,206,206,207,207,208,209,210,210,211,212,213,213,214,215,216,216,216,217,218,219,219,220,221,222,222,223,224,224,225,225,226,227,228,228,229,230,231,231,231,232,233,234,234,235,236,237,237,237,238,239,239,240,241,241,242,242,243,244,245,245,246,246,247,248,248,249,250,251,251,251,252,253,254,254,255,
+0,3,6,9,12,14,16,21,23,25,27,29,30,32,36,37,39,41,42,44,46,47,50,51,53,54,56,57,58,60,62,64,65,66,68,69,70,72,73,75,76,78,79,80,81,83,83,85,86,88,89,90,91,92,94,94,96,97,98,99,100,102,103,104,105,106,107,108,109,110,111,112,113,114,115,117,118,119,120,121,122,123,124,125,126,127,128,128,129,130,131,132,133,134,136,137,138,139,139,140,141,142,143,144,144,146,146,147,148,149,150,151,151,152,154,154,155,156,157,157,158,159,160,161,162,163,164,164,165,166,167,168,169,169,170,171,172,172,173,174,175,176,176,177,178,179,180,181,181,182,183,184,184,185,186,187,188,188,189,190,191,191,191,192,193,194,195,195,196,197,198,199,199,200,201,202,202,203,204,205,205,205,206,207,208,208,209,210,211,211,212,213,214,214,215,215,216,217,217,218,219,220,220,221,222,223,223,223,224,225,226,226,227,228,228,229,230,230,231,232,232,233,234,235,235,236,236,237,237,238,239,240,240,241,241,242,243,243,244,245,246,246,246,247,248,248,249,250,251,251,251,252,253,254,254,255,
+0,3,6,9,12,14,17,21,23,25,27,29,31,33,36,38,39,41,43,44,46,48,50,52,53,55,56,57,59,60,63,64,65,67,68,69,71,72,73,76,77,78,79,80,82,83,84,85,86,88,89,91,92,93,94,95,96,97,98,99,100,102,104,105,105,107,108,109,110,111,112,113,114,115,116,118,119,119,120,121,122,123,124,126,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,142,144,144,145,146,147,148,149,150,150,151,152,153,154,155,156,157,157,158,159,160,160,161,162,163,164,164,165,166,167,168,169,170,170,171,172,173,174,174,175,176,177,178,178,179,180,181,182,183,183,184,185,186,186,187,188,189,190,190,191,192,192,193,194,194,195,196,196,197,198,199,200,200,201,202,203,204,204,205,206,206,206,207,208,209,209,210,211,212,213,213,214,215,215,215,216,217,218,218,219,220,221,221,222,223,224,224,224,225,226,227,227,228,229,230,230,230,231,232,232,233,234,235,235,236,236,237,238,238,239,240,240,241,241,242,243,243,244,245,246,246,246,247,248,248,249,250,251,251,251,252,253,254,254,255,
+0,3,6,9,12,14,17,21,23,25,27,29,31,33,36,38,40,41,43,45,46,48,51,52,54,55,57,58,59,61,63,65,66,67,69,70,71,73,74,76,78,79,80,81,82,83,84,86,87,89,90,91,92,93,94,96,97,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,114,115,116,118,119,120,121,122,123,124,125,126,127,128,129,130,131,131,132,133,134,135,137,138,139,140,140,141,142,143,144,145,145,147,148,148,149,150,151,152,153,153,154,156,156,157,158,159,160,160,161,162,163,164,165,165,166,167,168,169,170,170,171,172,173,173,174,175,176,177,177,178,179,180,181,181,182,183,184,185,185,186,187,188,188,189,190,191,192,192,192,193,194,194,195,196,197,198,198,199,200,201,201,202,203,204,205,205,206,206,207,208,208,209,210,211,211,212,213,214,214,215,216,216,216,217,218,219,220,220,221,222,222,223,224,224,225,225,226,227,228,228,229,230,230,230,231,232,233,233,234,235,236,236,236,237,238,239,239,240,241,241,241,242,243,243,244,245,246,246,246,247,248,249,249,250,251,251,251,252,253,254,254,255,
+0,3,6,9,12,14,17,21,23,26,27,29,31,33,35,38,40,41,43,45,46,48,50,53,54,55,57,58,60,61,62,65,66,68,69,70,71,73,74,75,76,79,80,81,82,84,85,86,87,88,89,92,93,94,95,96,97,98,99,100,101,102,103,105,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,125,126,127,128,129,130,131,132,133,134,135,136,136,138,138,139,140,141,142,144,144,145,146,147,148,149,150,151,151,153,153,154,155,156,156,158,158,159,160,161,161,162,163,164,165,166,167,167,168,169,170,171,171,172,173,174,175,176,176,177,178,179,180,180,181,182,183,183,184,185,186,187,187,187,188,189,190,190,191,192,193,194,194,195,196,197,197,198,199,200,200,201,202,202,203,204,204,205,206,206,207,208,209,209,210,211,212,212,213,214,215,215,215,216,217,218,218,219,220,220,221,222,223,223,223,224,225,226,226,227,228,228,229,229,230,231,231,232,233,234,234,235,236,236,236,237,238,239,239,240,241,241,242,242,243,244,244,245,246,246,246,247,248,249,249,250,251,251,251,252,253,254,254,255,
+0,3,7,9,12,15,17,21,24,26,28,30,31,33,35,39,40,42,44,45,47,48,50,53,54,56,57,59,60,61,63,66,67,68,69,71,72,73,74,76,77,79,81,82,83,84,85,86,88,89,90,92,93,94,95,96,98,99,100,101,102,103,104,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,131,132,133,134,135,136,137,138,139,139,141,141,142,144,145,146,147,147,148,149,150,151,152,153,154,155,155,156,157,158,159,160,161,161,162,163,164,164,165,166,167,168,169,170,170,171,172,173,174,174,175,176,177,178,178,179,180,181,181,182,183,184,185,185,186,187,188,188,188,189,190,191,191,192,193,194,195,195,196,197,198,198,199,200,201,201,202,203,204,205,205,205,206,207,207,208,209,210,210,211,212,213,213,214,215,215,216,216,217,218,219,219,220,221,221,222,223,223,224,224,225,226,227,227,228,229,229,229,230,231,232,232,233,234,234,235,236,236,237,237,238,239,239,240,241,241,242,242,243,244,244,245,246,246,247,247,248,249,249,250,251,251,251,252,253,254,254,255,
+0,3,7,10,12,15,17,19,24,26,28,30,32,34,35,39,41,42,44,45,47,48,50,53,55,56,58,59,60,62,63,64,67,69,70,71,72,73,75,76,77,79,81,82,83,84,86,87,88,89,90,91,93,95,96,97,98,99,100,101,103,103,105,105,106,108,110,111,112,113,114,115,116,117,118,119,120,121,121,122,124,124,126,127,128,129,130,131,132,133,134,135,136,137,137,138,139,140,141,142,143,144,145,145,147,147,148,149,150,151,152,153,154,155,156,157,157,158,159,160,161,162,163,163,164,165,166,167,168,168,169,170,171,172,173,173,174,175,176,176,177,178,179,180,180,181,181,182,183,184,184,185,186,187,187,188,189,190,191,191,192,193,193,194,195,196,197,197,198,199,200,200,201,202,202,203,203,204,205,206,206,207,208,209,209,210,211,211,212,213,213,214,214,215,216,217,217,218,219,220,220,221,222,222,222,223,224,225,225,226,227,228,228,229,229,230,230,231,232,232,233,234,235,235,235,236,237,237,238,239,240,240,241,241,242,242,243,244,245,245,246,246,247,247,248,249,249,250,250,251,252,252,253,254,254,255,
+0,3,7,10,12,15,17,20,24,26,28,30,32,34,35,39,41,42,44,46,47,49,50,53,55,56,58,59,61,62,63,65,67,69,70,72,73,74,76,77,78,79,81,83,84,85,86,87,88,90,91,92,93,95,96,97,98,100,101,102,103,104,105,106,107,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,127,128,129,130,131,132,132,134,134,135,136,137,138,139,140,141,141,142,143,144,145,146,147,148,149,149,150,151,153,153,154,156,156,157,158,159,160,160,162,162,163,164,164,166,166,167,168,169,169,170,171,172,173,174,174,175,176,177,178,178,179,180,181,182,182,182,183,184,185,185,186,187,188,189,189,190,191,191,192,193,194,195,196,196,197,198,198,199,200,201,202,202,202,203,204,204,205,206,207,208,208,209,209,210,211,212,212,213,213,214,215,215,216,217,218,218,219,220,221,221,222,222,223,223,224,225,226,226,227,228,228,229,229,230,231,231,232,233,233,234,235,236,236,236,237,238,238,239,240,240,241,241,242,242,243,244,245,245,246,246,247,247,248,249,249,250,250,251,252,252,253,254,254,255,
+0,4,7,10,12,15,17,20,24,26,28,30,32,34,36,39,41,43,44,46,47,49,51,54,55,57,58,59,61,62,64,65,68,69,71,72,73,74,75,77,78,79,82,83,84,85,87,87,89,90,91,92,93,96,97,98,99,100,101,102,103,104,105,106,107,109,111,112,112,114,115,115,117,118,119,120,121,122,123,124,125,125,127,128,129,130,131,132,133,134,135,136,137,137,138,139,140,141,142,143,144,144,146,147,147,148,149,150,151,151,153,154,155,156,157,158,158,159,160,161,162,162,163,164,165,166,167,168,168,169,170,171,171,172,173,174,175,176,176,177,178,179,180,180,181,182,182,183,183,184,185,186,187,187,188,189,190,191,191,192,193,194,194,195,196,197,197,198,199,199,200,201,202,202,202,203,204,205,205,206,207,208,209,209,210,211,211,212,213,214,214,214,215,216,217,217,218,219,219,220,221,221,222,222,223,224,224,225,226,227,227,228,228,229,229,230,231,231,232,233,234,234,235,236,236,236,237,238,238,239,240,241,241,241,242,243,243,244,245,245,246,246,247,247,248,249,250,250,250,251,252,252,253,254,254,255,
+0,4,7,10,12,15,18,20,24,26,28,30,32,34,36,38,41,43,45,46,48,50,51,53,56,57,59,60,61,63,64,65,67,69,71,72,73,75,76,77,79,80,81,83,85,86,87,88,89,90,92,93,94,95,96,98,100,100,102,103,104,105,106,107,108,109,110,111,112,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,129,131,133,133,134,135,136,137,138,139,140,140,142,143,143,144,145,146,147,148,149,149,150,151,152,153,154,155,155,156,157,158,159,160,161,161,162,163,164,165,165,166,167,168,169,169,170,171,172,173,174,175,175,176,177,178,178,179,180,181,182,182,183,184,184,185,186,187,188,189,189,190,191,192,192,193,194,195,195,196,197,198,198,199,199,200,201,201,202,203,203,204,205,206,207,207,208,209,209,210,211,212,212,212,213,214,215,215,216,217,217,218,219,220,220,221,221,222,222,223,224,224,225,226,227,227,228,229,229,229,230,231,232,232,233,234,234,235,235,236,236,237,238,239,239,240,241,241,241,242,243,243,244,245,245,245,246,247,248,248,249,250,250,250,251,252,252,253,254,254,255,
+0,4,7,10,13,15,18,20,24,26,29,31,32,34,36,38,41,43,45,46,48,50,51,53,56,57,59,60,62,63,64,66,67,70,71,72,74,75,76,78,79,80,81,84,85,86,87,88,89,91,92,93,94,95,97,98,100,101,102,103,104,105,106,107,108,109,110,112,112,115,116,116,117,118,119,120,121,123,123,124,125,126,127,128,129,130,131,133,134,134,136,136,138,138,139,140,141,142,143,144,145,146,146,147,148,149,150,151,152,153,153,154,155,156,157,158,158,159,160,161,162,163,164,164,165,166,167,167,168,169,170,171,172,172,173,174,175,176,177,177,178,179,179,180,181,182,183,184,184,185,186,187,187,188,189,190,190,191,192,193,193,194,195,196,196,197,198,199,200,200,200,201,202,202,203,204,205,205,206,207,207,208,209,210,210,211,212,212,213,213,214,215,216,216,217,218,218,219,220,220,221,221,222,223,223,224,225,225,226,227,228,228,229,229,230,230,231,232,232,233,234,235,235,235,236,237,237,238,239,239,240,241,241,241,242,243,243,244,245,246,246,246,247,248,248,249,250,250,250,251,252,252,253,254,254,255,
+0,4,7,10,13,15,18,20,25,27,29,31,33,34,36,38,42,44,45,47,48,50,51,53,55,58,59,60,62,63,65,66,68,69,71,73,74,75,77,78,79,80,82,83,84,87,88,89,90,91,92,93,95,96,97,98,99,101,102,104,105,106,107,108,109,110,111,112,113,114,115,116,118,119,120,121,122,123,124,125,125,127,128,129,129,131,131,132,133,134,135,136,138,139,140,141,141,142,143,144,145,146,147,148,148,149,150,151,152,153,154,155,155,156,157,158,159,160,161,161,162,163,164,165,166,167,167,168,169,170,171,171,172,173,174,174,175,176,177,178,178,179,180,181,182,182,183,184,185,185,186,187,188,188,189,190,191,191,192,193,194,195,195,196,196,197,197,198,199,200,200,201,202,203,204,204,205,206,206,207,208,208,209,210,210,211,211,212,213,214,214,215,216,216,217,218,219,219,220,220,221,221,222,223,224,224,225,226,226,227,228,228,228,229,230,230,231,232,233,233,234,235,235,235,236,237,237,238,239,239,240,240,241,242,242,243,244,244,245,246,246,246,247,248,248,249,250,250,250,251,252,252,253,254,254,255,
+0,4,7,10,13,15,18,20,25,27,29,31,33,35,37,38,42,44,45,47,49,50,52,54,55,58,59,61,62,64,65,66,68,69,72,73,74,75,77,78,80,81,82,83,84,87,88,89,90,92,93,94,95,96,97,98,99,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,118,119,120,121,122,123,124,126,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,145,146,147,148,149,150,151,152,153,153,154,155,156,157,157,158,159,160,161,162,162,163,164,165,166,167,168,168,169,170,171,171,172,173,174,175,175,176,177,178,179,179,180,181,182,183,183,184,185,186,186,187,188,189,189,190,191,192,193,193,194,195,196,196,196,197,198,199,199,200,201,202,202,203,204,204,205,206,207,207,208,209,209,210,210,211,212,212,213,214,214,215,216,217,217,218,219,220,220,220,221,222,222,223,224,224,225,226,226,227,228,228,229,229,230,231,231,232,233,233,234,235,235,235,236,237,238,238,239,240,240,240,241,242,242,243,244,244,245,246,246,246,247,248,248,249,250,250,250,251,252,252,253,254,254,255,
+0,4,7,10,13,16,18,20,25,27,29,31,33,35,37,39,42,44,46,47,49,50,52,53,55,58,60,61,63,64,65,67,68,69,72,73,75,76,77,79,80,81,82,84,85,87,88,89,91,92,93,94,95,96,98,99,100,102,103,104,105,106,107,109,109,110,112,113,114,115,116,117,119,120,121,122,123,124,125,126,127,128,128,129,130,131,132,133,134,135,136,137,139,140,141,141,142,144,144,145,146,147,148,149,149,150,151,152,153,154,155,155,156,157,158,159,160,161,161,162,163,164,164,165,166,167,168,169,169,170,171,172,173,173,174,175,176,177,178,178,179,180,180,181,182,183,184,185,185,186,187,188,188,189,190,191,191,192,193,194,194,195,196,197,197,197,198,199,199,200,201,202,202,203,204,205,205,206,207,208,208,209,210,210,210,211,212,213,213,214,215,216,216,217,218,218,219,220,220,220,221,222,223,223,224,225,225,226,227,227,228,228,229,229,230,231,232,232,233,234,234,235,235,236,236,237,238,238,239,240,240,240,241,242,242,243,244,244,245,246,246,246,247,248,248,249,250,250,250,251,252,252,253,254,254,255,
+0,4,7,10,13,16,18,20,25,27,29,31,33,35,37,39,41,44,46,47,49,51,52,54,55,57,60,61,63,64,66,67,68,70,71,72,75,76,78,79,80,81,83,84,85,86,88,90,91,92,93,95,96,97,98,99,100,101,102,104,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,151,152,153,154,155,156,157,158,158,159,160,161,162,163,163,164,165,166,167,167,168,169,170,171,171,172,173,174,175,175,176,177,178,179,179,180,181,182,182,183,184,185,186,186,187,188,189,189,190,191,192,192,192,193,194,195,196,196,197,198,198,199,200,201,201,202,203,204,204,205,206,207,207,208,209,209,209,210,211,211,212,213,214,214,215,216,216,217,218,219,219,219,220,221,221,222,223,223,224,225,226,226,227,227,227,228,229,230,230,231,232,232,233,234,234,234,235,236,236,237,238,238,239,240,240,241,241,242,242,243,244,244,245,245,246,246,247,248,248,249,250,250,250,251,252,252,253,254,254,255,
+0,4,7,10,13,16,18,21,25,27,29,31,33,35,37,39,41,44,46,47,49,51,53,54,56,57,60,62,63,65,66,67,69,70,71,73,75,77,78,79,81,82,83,84,85,87,88,90,91,93,94,95,96,97,98,99,100,102,102,104,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,123,123,125,125,126,127,128,129,130,131,132,133,134,135,136,137,138,138,140,141,141,142,143,144,146,146,147,148,149,150,151,152,153,154,154,155,156,157,158,159,160,160,161,162,163,164,164,165,166,167,168,169,170,170,171,172,173,173,174,175,176,177,177,178,179,180,181,181,182,183,184,184,185,186,187,188,188,189,190,190,191,192,192,193,193,194,195,196,196,197,198,199,200,200,201,202,202,203,204,204,205,206,207,207,208,209,209,210,210,211,212,212,213,214,214,215,216,217,217,218,219,219,219,220,221,222,222,223,224,224,225,226,226,227,227,228,228,229,230,231,231,232,233,233,234,234,235,235,236,236,237,238,239,239,240,240,241,241,242,243,243,244,245,245,245,246,247,247,248,248,249,250,250,250,251,252,252,253,254,254,255,
+0,4,7,10,13,16,18,21,23,27,30,32,34,36,37,39,41,45,46,48,50,51,53,54,56,57,59,62,63,65,66,67,69,70,72,73,74,77,78,79,81,82,83,85,86,87,88,89,92,93,94,95,97,97,99,100,101,102,103,104,105,106,108,109,110,112,113,114,115,116,117,118,119,120,121,122,123,124,125,127,128,129,129,130,131,132,133,134,135,136,137,138,139,140,141,142,142,143,144,146,146,147,148,149,150,151,151,152,153,155,156,156,158,158,159,160,161,162,162,163,164,165,166,166,167,168,169,170,171,171,172,173,174,175,175,176,177,178,178,179,180,181,182,182,183,184,185,185,186,186,187,188,188,189,190,191,191,192,193,194,195,195,196,197,197,198,199,200,200,201,202,203,203,204,205,205,206,206,207,208,208,209,210,210,211,212,213,213,214,215,215,216,217,218,218,218,219,220,220,221,222,222,223,224,224,225,226,227,227,227,228,229,229,230,231,231,232,233,233,233,234,235,235,236,237,237,238,239,239,239,240,241,241,242,243,243,244,245,245,245,246,247,247,248,249,249,250,250,251,251,252,252,253,254,254,255,
+0,4,7,10,13,16,18,21,23,28,30,32,34,36,38,39,41,45,47,48,50,51,53,55,56,58,59,62,64,65,66,68,69,71,72,73,75,77,79,80,81,82,84,85,86,87,88,90,92,93,94,96,97,98,99,100,101,102,104,105,106,107,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,127,128,129,130,131,132,133,133,135,136,136,137,138,139,140,141,142,143,144,144,146,146,147,148,149,150,151,152,153,153,155,156,157,158,159,160,160,161,162,162,164,164,165,166,167,168,168,169,170,171,172,172,173,174,175,176,176,177,178,179,180,180,181,182,183,183,184,185,185,186,186,187,188,189,190,190,191,192,193,193,194,195,196,196,197,198,198,199,200,201,201,202,203,204,204,205,205,207,207,207,208,209,209,210,211,211,212,213,213,214,215,216,216,217,218,218,218,219,220,220,221,222,223,223,224,225,225,226,227,227,227,228,229,229,230,231,231,232,233,233,233,234,235,235,236,237,237,238,239,239,239,240,241,241,242,243,243,244,245,245,245,246,247,247,248,249,249,250,250,251,251,252,252,253,254,254,255,
+0,4,7,10,13,16,19,21,23,28,30,32,34,36,38,40,41,45,47,48,50,52,53,55,56,58,60,62,64,65,67,68,69,71,72,73,75,78,79,80,81,83,84,85,86,88,89,90,92,93,95,96,97,98,99,101,102,103,104,105,106,107,109,110,111,112,113,114,115,116,117,119,119,120,121,122,123,124,125,128,128,129,130,131,132,133,134,135,136,137,137,139,140,140,141,142,143,144,145,146,147,148,149,149,150,151,152,153,154,155,156,157,158,159,160,161,162,162,163,164,164,165,166,167,168,169,169,170,171,172,173,174,174,175,176,177,178,178,179,180,181,181,182,183,184,184,185,185,186,187,187,188,189,190,191,191,192,193,194,194,195,196,196,197,198,199,199,200,201,202,202,203,204,204,205,206,207,207,207,208,209,209,210,211,212,212,213,214,214,215,216,217,217,218,218,219,219,220,221,221,222,223,223,224,225,225,226,227,227,227,228,229,230,230,231,232,232,233,234,234,234,235,236,236,237,237,238,239,240,240,240,241,241,242,243,243,244,245,245,245,246,247,247,248,249,249,250,250,251,251,252,252,253,254,254,255,
+0,4,7,10,13,16,19,21,23,28,30,32,34,36,38,40,42,43,47,49,50,52,53,55,56,58,60,63,64,66,67,68,70,71,72,74,75,76,79,80,82,83,84,85,87,88,89,90,91,92,95,96,97,98,99,101,102,103,104,105,106,107,108,109,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,128,129,131,132,133,134,135,136,137,138,139,140,141,141,143,144,144,145,146,147,148,149,150,150,151,152,153,154,155,156,156,157,158,159,160,161,162,162,164,164,165,166,167,167,168,169,170,171,171,172,173,174,175,175,176,177,178,178,179,180,181,182,183,183,184,185,186,186,187,188,188,189,190,191,192,192,193,194,195,195,196,197,197,198,199,200,200,201,202,203,203,203,204,205,205,206,207,208,208,209,210,210,211,212,212,213,214,215,215,216,216,217,217,218,219,219,220,221,222,222,223,224,224,225,226,226,226,227,228,228,229,230,230,231,232,232,233,233,234,234,235,236,236,237,238,238,239,240,240,240,241,242,242,243,243,244,245,245,245,246,247,247,248,249,249,250,250,251,251,252,252,253,254,254,255,
+0,4,7,11,13,16,19,21,24,28,30,32,34,36,38,40,42,43,47,49,50,52,54,55,57,58,60,63,64,66,67,68,70,71,73,74,75,77,79,81,82,83,84,86,87,88,89,90,92,93,95,96,97,99,100,101,102,103,104,105,106,108,109,110,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,133,134,135,135,137,137,138,139,140,141,142,143,144,145,145,146,147,148,149,150,151,151,152,153,154,155,156,157,158,158,159,160,161,162,163,163,164,165,166,167,168,168,169,170,171,172,173,173,174,175,176,176,177,178,179,180,180,181,182,183,183,184,185,186,187,187,188,189,190,190,191,192,193,193,194,195,195,196,197,198,198,199,200,201,201,202,203,204,204,204,205,206,206,207,208,208,209,210,211,211,212,213,213,214,215,215,216,216,217,217,218,219,220,220,221,222,222,223,224,224,225,226,226,226,227,228,228,229,230,230,231,232,232,233,233,234,234,235,236,236,237,238,238,239,240,240,240,241,242,242,243,244,244,245,245,245,246,247,247,248,249,249,250,250,251,251,252,253,253,254,254,255,
+0,4,7,11,13,16,19,21,24,28,30,32,34,36,38,40,42,44,47,49,51,52,54,56,57,58,60,61,65,66,67,69,70,72,73,74,76,77,78,80,82,84,85,86,87,88,90,91,92,93,94,96,97,99,100,101,102,103,104,106,107,108,109,110,111,112,113,114,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,139,139,141,141,142,143,144,145,146,147,147,148,149,150,151,152,153,154,155,156,156,157,158,159,160,160,161,162,163,164,165,166,166,167,168,169,169,170,171,172,173,174,174,175,176,177,178,178,179,180,181,182,182,183,184,184,185,186,187,187,188,189,190,191,191,192,193,193,194,195,196,196,197,198,199,199,199,200,201,201,202,203,204,204,205,206,207,207,208,209,209,210,211,211,212,213,214,214,214,215,216,216,217,218,218,219,220,220,221,222,223,223,224,224,224,225,226,227,227,228,228,229,230,230,231,232,232,233,233,234,235,235,236,236,237,238,238,239,239,240,240,241,242,242,243,244,244,245,245,246,246,247,247,248,249,249,250,250,251,251,252,253,253,254,254,255,
+0,4,7,11,14,16,19,21,24,28,30,32,34,36,38,40,42,44,47,49,51,52,54,56,57,59,60,62,65,66,68,69,70,72,73,74,76,77,79,80,82,84,85,86,88,89,90,91,92,93,95,96,97,99,100,102,103,103,105,106,107,108,109,110,111,112,113,115,117,118,119,120,121,122,123,124,125,125,127,128,129,130,130,132,132,133,134,135,136,137,139,140,141,142,143,143,144,145,146,147,148,149,150,151,152,152,153,154,155,156,157,157,158,159,160,161,162,162,163,164,165,165,166,167,168,169,170,171,171,172,173,174,175,175,176,177,178,179,179,180,181,182,182,183,184,185,185,186,187,188,188,189,190,191,191,192,193,194,194,195,196,197,197,198,199,199,199,200,201,202,202,203,204,205,205,206,207,207,208,209,210,210,211,212,212,213,214,214,214,215,216,217,217,218,219,219,220,221,221,222,223,223,224,224,225,225,226,227,227,228,229,229,230,231,231,232,232,233,233,234,235,235,236,237,237,238,239,239,239,240,240,241,242,242,243,244,244,245,245,246,246,247,247,248,249,249,250,250,251,251,252,253,253,254,254,255,
+0,4,7,11,14,16,19,22,24,28,31,33,35,37,38,40,42,44,48,49,51,53,54,56,57,59,60,62,65,66,68,69,71,72,73,75,76,77,79,80,83,84,85,86,88,89,90,91,93,94,95,96,97,100,101,102,103,104,105,106,107,108,110,111,112,113,114,115,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,133,134,136,136,137,139,140,141,142,143,144,145,145,146,147,148,149,150,151,152,153,153,154,155,156,157,158,159,159,160,161,162,163,164,164,165,166,167,168,168,169,170,171,172,173,173,174,175,176,176,177,178,179,179,180,181,182,183,183,184,185,186,186,187,188,189,190,190,191,192,192,193,194,195,196,196,197,198,198,199,200,200,201,201,202,203,203,204,205,205,206,207,208,208,209,210,210,211,212,212,213,214,215,215,215,216,217,217,218,219,219,220,221,221,222,223,223,224,224,225,225,226,227,227,228,229,229,230,231,231,232,232,233,233,234,235,235,236,237,237,238,239,239,239,240,241,241,242,242,243,244,244,245,245,246,246,247,248,248,249,249,250,250,251,251,252,253,253,254,254,255,
+0,4,8,11,14,16,19,22,24,28,31,33,35,37,39,41,42,44,46,49,51,53,54,56,57,59,61,62,64,67,68,70,71,72,74,75,76,78,79,80,82,84,85,87,88,89,90,92,93,94,95,96,97,99,100,102,103,104,105,106,108,109,110,111,112,113,114,115,116,117,118,119,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,137,138,139,140,141,142,143,144,146,146,148,148,149,150,151,152,153,154,154,155,156,157,158,159,160,161,161,162,163,164,165,165,166,167,168,169,170,170,171,172,173,174,174,175,176,177,177,178,179,180,181,181,182,183,183,184,185,186,187,187,188,189,190,190,191,192,193,193,194,195,195,195,196,197,198,199,199,200,201,201,202,203,204,204,205,206,206,207,208,208,209,210,211,211,212,212,213,213,214,215,215,216,217,218,218,219,220,220,221,222,222,223,223,224,224,225,226,226,227,228,228,229,230,230,231,232,232,232,233,233,234,235,235,236,237,237,238,239,239,239,240,241,241,242,243,243,244,244,244,245,246,246,247,248,248,249,249,250,250,251,251,252,253,253,254,254,255,
+0,4,8,11,14,17,19,22,24,29,31,33,35,37,39,41,43,44,46,50,51,53,54,56,58,59,61,62,64,67,68,70,71,72,74,75,77,78,79,81,82,84,86,87,88,89,91,92,93,94,95,97,98,99,100,102,103,104,106,107,108,109,110,111,112,113,114,115,116,117,118,119,121,122,123,125,126,126,128,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,142,143,144,146,147,148,149,150,150,151,152,153,154,155,156,156,157,158,159,160,161,162,162,163,164,165,166,167,167,168,169,170,171,171,172,173,174,175,175,176,177,178,178,179,180,181,182,182,183,184,185,185,186,187,188,188,189,190,191,191,192,193,194,194,195,195,196,196,197,198,199,199,200,201,201,202,203,204,204,205,206,207,207,208,209,209,210,211,212,212,212,213,214,214,215,216,216,217,218,218,219,220,220,221,222,222,223,223,224,224,225,226,226,227,228,228,229,230,230,231,232,232,232,233,234,234,235,236,236,237,237,238,239,239,239,240,241,241,242,243,243,244,244,244,245,246,246,247,248,248,249,249,250,250,251,251,252,253,253,254,254,255,
+0,4,8,11,14,17,19,22,24,26,31,33,35,37,39,41,43,45,46,48,52,53,55,56,58,59,61,63,64,66,67,70,71,73,74,75,77,78,79,81,82,83,84,87,88,90,91,92,93,95,96,97,98,99,100,101,102,104,106,107,108,109,110,111,112,113,114,115,117,117,119,120,121,122,123,124,126,126,128,129,129,131,131,132,134,134,135,136,137,138,139,140,141,142,143,144,145,145,146,147,148,149,150,151,152,152,153,155,156,157,158,158,159,160,161,162,162,164,164,165,166,167,168,168,169,170,171,171,172,173,174,175,176,176,177,178,179,179,180,181,182,183,183,184,185,186,186,187,188,188,189,189,190,191,192,192,193,194,195,195,196,197,197,198,199,200,200,201,202,203,203,204,205,205,206,207,207,208,209,209,209,210,211,212,212,213,214,214,215,216,216,217,218,218,219,220,220,221,221,222,222,223,224,224,225,226,226,227,228,228,229,230,230,230,231,232,232,233,234,234,235,236,236,237,238,238,238,239,239,240,241,241,242,243,243,244,244,245,245,246,246,247,248,248,249,250,250,250,251,251,252,253,253,254,254,255,
+0,4,8,11,14,17,19,22,24,27,31,33,35,37,39,41,43,45,46,48,52,53,55,56,58,60,61,63,64,66,67,70,71,73,74,76,77,78,80,81,82,84,85,87,89,90,91,92,93,95,96,97,98,99,100,102,102,104,106,107,108,109,110,111,113,114,115,116,117,118,119,120,121,122,123,124,126,127,128,129,130,131,132,133,134,135,135,136,137,138,139,140,141,142,143,144,145,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,159,160,161,162,163,163,164,165,166,167,168,169,169,170,171,172,172,173,174,175,176,177,177,178,179,180,180,181,182,183,183,184,185,186,187,187,188,188,189,190,190,191,192,192,193,194,195,195,196,197,198,198,199,200,200,201,202,203,203,204,205,205,206,207,208,208,209,210,210,210,211,212,212,213,214,215,215,216,217,217,218,219,219,220,221,221,221,222,223,223,224,225,225,226,227,227,228,229,229,230,230,230,231,232,232,233,234,234,235,236,236,237,238,238,238,239,239,240,241,241,242,243,243,244,244,245,245,246,246,247,248,248,249,250,250,250,251,251,252,253,253,254,254,255,
+0,4,8,11,14,17,19,22,24,27,31,33,35,37,39,41,43,45,47,48,52,53,55,57,58,60,61,63,65,66,67,70,72,73,74,76,77,78,80,81,82,84,85,88,89,90,91,92,94,95,96,97,98,100,101,102,103,104,106,107,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,126,127,128,129,130,131,132,133,134,135,136,137,138,138,139,140,141,142,143,144,145,146,147,148,148,149,150,151,152,153,154,155,156,157,158,159,160,160,161,162,163,164,165,165,166,167,168,169,169,170,171,172,173,174,174,175,176,177,178,178,179,180,181,181,182,183,184,184,185,186,187,187,188,188,189,190,190,191,192,193,193,194,195,196,196,197,198,199,199,200,201,201,202,203,203,204,205,206,206,207,208,208,209,210,210,210,211,212,213,213,214,215,215,216,217,217,218,219,219,220,221,221,221,222,223,223,224,225,225,226,227,227,228,229,229,230,231,231,231,232,233,233,234,234,235,236,236,237,238,238,238,239,240,240,241,241,242,243,243,244,244,245,245,246,246,247,248,248,249,250,250,250,251,251,252,253,253,254,254,255,
+0,4,8,11,14,17,20,22,24,27,31,33,35,37,39,41,43,45,47,48,52,54,55,57,58,60,61,63,65,66,68,69,72,73,75,76,77,79,80,81,83,84,85,87,88,90,91,92,94,95,96,97,99,100,101,102,103,104,105,106,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,131,132,133,134,135,136,137,138,139,140,141,141,142,143,144,145,146,147,148,149,150,150,151,152,153,154,155,156,157,157,158,159,160,161,162,162,163,164,165,166,167,167,168,169,170,171,171,172,173,174,175,175,176,177,178,178,179,180,181,181,182,183,184,185,185,186,187,188,188,189,190,191,191,192,193,194,194,195,196,197,197,198,199,199,200,201,201,202,203,204,204,205,206,206,206,207,208,209,209,210,211,211,212,213,213,214,215,215,216,217,217,218,219,220,220,220,221,222,222,223,223,224,225,225,226,227,227,228,229,229,229,230,231,231,232,233,233,234,235,235,236,236,237,237,238,238,239,240,240,241,242,242,243,243,244,244,245,245,246,246,247,248,248,249,250,250,250,251,251,252,253,253,254,254,255,
+0,4,8,11,14,17,20,22,24,27,31,33,35,37,39,41,43,45,47,49,52,54,55,57,58,60,62,63,65,66,68,69,72,73,75,76,78,79,80,81,83,84,85,87,88,90,92,93,94,95,96,97,99,100,101,102,103,104,106,107,108,110,111,112,113,114,115,116,117,118,120,120,122,123,123,125,126,126,128,128,129,131,132,133,134,135,136,137,138,139,140,141,142,143,144,144,145,146,147,148,149,150,151,151,152,153,154,155,156,157,158,158,159,160,161,162,163,163,164,165,166,167,168,168,169,170,171,172,172,173,174,175,176,176,177,178,179,179,180,181,182,182,183,184,185,186,186,187,188,189,189,190,191,192,192,193,194,194,195,196,197,197,198,199,200,200,201,202,202,203,204,204,205,206,207,207,207,208,209,209,210,211,211,212,213,213,214,215,216,216,217,218,218,219,220,220,220,221,222,222,223,224,224,225,226,226,227,228,228,229,229,229,230,231,231,232,233,233,234,235,235,236,237,237,237,238,238,239,240,240,241,242,242,243,243,244,244,245,245,246,247,247,248,248,249,250,250,250,251,251,252,253,253,254,254,255,
+0,4,8,11,14,17,20,22,25,27,31,33,36,38,40,42,43,45,47,49,51,54,55,57,59,60,62,63,65,66,68,69,71,74,75,76,78,79,81,82,83,84,86,87,88,89,91,93,94,95,97,98,99,100,101,102,103,105,106,107,108,109,110,111,113,114,116,116,118,119,120,121,122,123,124,125,126,126,128,129,130,131,132,133,134,134,135,138,138,139,140,141,142,143,144,145,146,147,147,148,149,150,151,152,153,153,154,155,156,157,158,159,159,160,161,162,163,164,164,165,166,167,168,169,169,170,171,172,173,173,174,175,176,177,177,178,179,180,180,181,182,183,183,184,185,186,187,187,188,189,190,190,191,192,193,193,194,195,195,196,197,197,198,199,200,200,201,202,203,203,203,204,205,205,206,207,207,208,209,210,210,211,212,212,213,214,214,215,216,216,217,218,218,218,219,220,220,221,222,222,223,224,224,225,226,226,227,228,228,228,229,230,230,231,231,232,233,233,234,235,235,236,237,237,237,238,238,239,240,240,241,242,242,243,243,243,244,245,245,246,247,247,248,248,249,250,250,250,251,251,252,253,253,254,254,255,
+0,4,8,11,14,17,20,22,25,27,31,34,36,38,40,42,43,45,47,49,51,54,56,57,59,60,62,64,65,67,68,69,71,74,75,76,78,79,81,82,83,84,86,87,88,89,91,93,94,96,97,98,99,100,101,103,104,105,106,107,108,109,110,111,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,147,148,149,150,151,152,153,154,155,155,156,157,158,159,160,160,161,162,163,164,165,165,166,167,168,169,170,170,171,172,173,174,174,175,176,177,177,178,179,180,180,181,182,183,183,184,185,186,187,187,188,189,190,190,191,192,193,193,194,195,196,196,197,198,198,199,200,201,201,202,203,203,203,204,205,205,206,207,208,208,209,210,210,211,212,212,213,214,214,215,216,216,217,218,218,218,219,220,220,221,222,222,223,224,224,225,226,226,227,228,228,228,229,230,230,231,232,232,233,233,234,235,235,236,237,237,237,238,239,239,240,240,241,242,242,243,243,243,244,245,245,246,247,247,248,248,249,250,250,250,251,251,252,253,253,254,254,255,
+0,4,8,11,14,17,20,22,25,27,31,34,36,38,40,42,44,45,47,49,51,54,56,58,59,60,62,64,65,67,68,70,71,74,75,76,78,79,81,82,83,85,86,87,89,90,91,93,95,96,97,98,99,100,102,103,104,105,106,107,108,109,111,112,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,138,139,139,140,141,142,143,144,145,146,147,148,149,149,150,151,152,153,154,155,156,156,157,158,159,160,161,161,162,163,164,165,166,166,167,168,169,170,171,171,172,173,174,175,175,176,177,177,178,179,180,181,181,182,183,184,184,185,186,187,187,188,189,190,191,191,192,193,193,194,195,196,196,197,198,198,199,200,201,201,202,203,203,203,204,205,206,206,207,208,208,209,210,210,211,212,212,213,214,214,215,216,217,217,218,218,219,219,220,221,221,222,223,223,224,224,225,226,226,227,228,228,228,229,230,230,231,232,232,233,234,234,235,235,236,237,237,237,238,239,239,240,240,241,242,242,243,244,244,244,245,245,246,247,247,248,248,249,250,250,250,251,251,252,253,253,254,254,255,
+0,4,8,11,14,17,20,22,25,27,29,34,36,38,40,42,44,46,47,49,51,52,56,57,59,61,62,64,65,67,68,70,71,73,74,77,78,80,81,82,84,85,86,87,89,90,91,92,93,96,97,98,99,101,102,103,104,105,106,107,109,110,111,112,113,114,115,116,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,142,144,145,146,147,148,149,150,150,151,152,153,154,155,156,157,157,158,159,160,161,162,163,163,164,165,166,167,168,168,169,170,171,171,172,173,174,175,175,176,177,178,178,179,180,181,182,182,183,184,184,185,186,187,188,188,189,190,191,191,192,193,193,194,195,196,196,197,198,198,199,199,200,201,201,202,203,204,204,205,206,206,207,208,209,209,210,211,211,212,213,213,214,215,215,215,216,217,217,218,219,219,220,221,221,222,223,223,224,225,225,226,227,227,227,228,228,229,230,230,231,232,232,233,234,234,235,235,235,236,237,237,238,239,239,240,241,241,242,242,243,243,244,244,245,245,246,247,247,248,248,249,249,250,250,251,251,252,253,253,254,254,255,
+0,4,8,11,14,17,20,22,25,27,29,34,36,38,40,42,44,46,48,49,51,53,56,58,59,61,62,64,65,67,68,70,71,73,74,77,78,80,81,82,84,85,86,87,89,90,91,92,94,96,97,98,99,101,102,103,104,105,106,108,109,110,111,112,113,114,115,116,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,152,153,154,155,156,157,157,158,159,160,161,162,163,163,164,165,166,167,168,168,169,170,171,172,172,173,174,175,176,176,177,178,179,179,180,181,182,182,183,184,185,185,186,187,188,189,189,190,191,191,192,193,194,194,195,196,197,197,198,198,199,199,200,201,202,202,203,204,204,205,206,207,207,208,209,209,210,211,211,212,213,213,214,215,215,215,216,217,217,218,219,219,220,221,221,222,223,223,224,225,225,226,227,227,227,228,229,229,230,230,231,232,232,233,234,234,235,236,236,236,237,237,238,239,239,240,241,241,242,242,243,243,244,244,245,245,246,247,247,248,248,249,249,250,250,251,251,252,253,253,254,254,255,
+0,4,8,11,14,17,20,22,25,27,30,34,36,38,40,42,44,46,48,49,51,53,54,58,59,61,62,64,66,67,68,70,71,73,74,76,78,80,81,83,84,85,86,88,89,90,91,93,94,95,96,97,100,101,102,103,104,105,107,108,109,110,111,112,113,114,115,116,117,118,120,120,122,124,125,126,127,128,128,130,130,132,133,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,147,148,149,150,151,152,153,154,155,156,157,158,159,159,160,161,162,163,164,164,165,166,167,168,168,169,170,171,172,173,173,174,175,176,177,177,178,179,180,180,181,182,183,183,184,185,186,186,187,188,189,189,190,190,191,192,192,193,194,194,195,196,197,197,198,199,200,200,201,202,202,203,204,205,205,206,207,207,208,209,209,210,211,211,212,213,213,213,214,215,215,216,217,218,218,219,219,220,221,221,222,223,223,224,225,225,225,226,227,227,228,229,229,230,231,231,232,232,233,234,234,235,235,236,236,237,237,238,239,239,240,241,241,242,242,242,243,244,244,245,245,246,247,247,248,248,249,249,250,250,251,251,252,253,253,254,254,255,
+0,4,8,11,14,17,20,22,25,27,30,34,36,38,40,42,44,46,48,49,51,53,55,58,59,61,63,64,66,67,69,70,72,73,74,76,79,80,81,83,84,85,86,88,89,90,91,93,94,95,96,97,100,101,102,103,104,105,107,108,109,110,111,112,113,114,115,117,118,119,120,121,123,124,125,126,127,128,129,130,131,132,133,134,135,135,136,137,138,139,140,141,142,143,144,145,146,147,148,148,149,150,151,152,153,154,155,156,157,158,159,160,160,161,162,163,164,165,165,166,167,168,169,170,170,171,172,173,173,174,175,176,177,177,178,179,180,181,181,182,183,184,184,185,186,187,187,188,189,190,190,190,191,192,193,193,194,195,195,196,197,198,198,199,200,200,201,202,202,203,204,205,205,206,207,207,208,209,209,210,211,212,212,213,213,214,214,215,216,216,217,218,218,219,220,220,221,221,222,223,224,224,225,225,225,226,227,227,228,229,229,230,231,231,232,232,233,234,234,235,235,236,236,237,237,238,239,239,240,241,241,242,242,242,243,244,244,245,245,246,247,247,248,249,249,249,250,250,251,251,252,253,253,254,254,255,
+0,4,8,11,14,17,20,23,25,27,30,34,36,38,40,42,44,46,48,49,51,53,55,58,59,61,63,64,66,67,69,70,72,73,75,76,79,80,81,83,84,85,87,88,89,90,92,93,94,95,97,98,100,101,102,104,105,106,107,108,109,110,111,113,113,114,116,117,118,119,120,121,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,138,139,140,141,142,143,144,145,146,147,148,149,149,150,151,152,153,155,155,156,157,158,159,160,161,161,162,163,164,165,166,166,167,168,169,170,170,171,172,173,174,174,175,176,177,177,178,179,180,181,181,182,183,184,184,185,186,187,187,188,189,190,190,190,191,192,193,193,194,195,196,196,197,198,198,199,200,201,201,202,203,203,204,205,205,206,207,207,208,209,210,210,211,212,212,213,213,214,214,215,216,216,217,218,218,219,220,220,221,222,222,223,224,224,225,225,225,226,227,227,228,229,229,230,231,231,232,233,233,234,234,235,235,236,236,237,238,238,239,239,240,241,241,242,243,243,243,244,244,245,246,246,247,247,248,249,249,249,250,250,251,252,252,253,253,254,254,255,
+0,4,8,11,14,17,20,23,25,27,30,32,36,38,40,42,44,46,48,50,51,53,55,56,60,61,63,64,66,67,69,70,72,73,75,76,77,79,82,83,84,85,87,88,89,91,92,93,94,96,97,98,99,100,101,104,105,106,107,108,109,110,111,112,114,115,116,117,118,119,120,121,122,123,124,125,126,128,129,130,131,132,133,134,135,136,137,138,139,140,141,141,142,143,144,145,146,147,148,149,150,150,151,152,153,154,155,155,156,157,158,159,160,161,162,162,163,164,165,166,167,167,168,169,170,170,171,172,173,174,175,175,176,177,178,178,179,180,181,182,182,183,184,185,185,186,187,188,188,189,190,190,191,192,193,193,194,195,196,196,197,198,198,199,200,201,201,202,203,203,204,205,206,206,207,208,208,209,210,210,210,211,212,212,213,214,214,215,216,216,217,218,218,219,220,220,221,222,222,223,224,224,224,225,226,226,227,228,228,229,229,230,231,231,232,233,233,234,234,234,235,236,236,237,238,238,239,239,240,241,241,242,242,243,243,244,244,245,246,246,247,247,248,249,249,249,250,250,251,252,252,253,253,254,254,255,
+0,4,8,11,14,17,20,23,25,28,30,32,36,38,40,42,44,46,48,50,51,53,55,56,60,61,63,65,66,67,69,70,72,73,75,76,77,79,82,83,84,86,87,88,89,91,92,93,94,96,97,98,99,100,101,104,105,106,107,108,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,142,143,144,145,146,147,148,149,150,151,151,152,153,154,155,156,157,157,158,159,160,161,162,162,163,164,165,166,166,167,168,169,170,171,172,172,173,174,175,175,176,177,178,179,179,180,181,182,182,183,184,185,185,186,187,188,188,189,190,191,191,192,193,194,194,195,196,197,197,198,199,199,200,201,201,202,203,203,204,205,206,206,207,208,208,209,210,210,210,211,212,212,213,214,215,215,216,217,217,218,218,219,220,220,221,222,222,223,224,224,224,225,226,226,227,228,228,229,229,230,231,231,232,233,233,234,234,235,235,236,236,237,238,238,239,239,240,241,241,242,242,243,243,244,244,245,246,246,247,247,248,249,249,249,250,250,251,252,252,253,253,254,254,255,
+0,4,8,11,15,17,20,23,25,28,30,32,36,39,41,42,44,46,48,50,52,53,55,57,58,61,63,65,66,68,69,71,72,73,75,76,78,79,80,82,84,86,87,88,89,91,92,93,95,96,97,98,99,100,102,103,104,105,107,108,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,134,135,136,137,138,139,140,141,142,143,143,144,145,146,147,148,149,150,151,152,152,153,154,155,156,157,157,158,159,160,161,162,163,163,164,165,166,167,167,168,169,170,171,172,172,173,174,175,176,176,177,178,179,179,180,181,182,183,183,184,185,186,186,187,188,189,189,190,191,191,192,193,194,194,195,196,197,197,198,199,199,200,201,201,202,203,204,204,205,206,206,206,207,208,208,209,210,211,211,212,212,213,214,215,215,216,217,217,218,218,219,220,220,221,222,222,223,223,224,224,225,226,226,227,228,228,229,229,230,231,231,232,233,233,233,234,235,235,236,236,237,238,238,239,240,240,241,241,241,242,243,243,244,244,245,246,246,247,247,248,249,249,249,250,250,251,252,252,253,253,254,254,255,
+0,4,8,11,15,17,20,23,25,28,30,32,36,39,41,42,45,46,48,50,52,53,55,57,58,62,63,65,66,68,69,71,72,74,75,76,78,79,80,82,84,86,87,88,89,91,92,93,95,96,97,98,99,100,102,103,104,105,107,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,127,127,128,129,130,131,132,134,135,136,137,138,139,140,141,142,143,144,145,145,146,147,148,149,150,151,152,153,153,154,155,156,157,158,159,159,160,161,162,163,164,164,165,166,167,168,169,169,170,171,172,172,173,174,175,176,176,177,178,179,180,180,181,182,183,183,184,185,186,186,187,188,189,189,190,191,191,192,193,194,194,195,196,197,197,198,199,199,200,201,202,202,203,204,204,205,206,206,206,207,208,209,209,210,211,211,212,213,213,214,215,215,216,217,217,218,219,219,220,221,221,222,222,223,223,224,224,225,226,226,227,228,228,229,230,230,231,231,232,233,233,233,234,235,235,236,236,237,238,238,239,240,240,241,241,241,242,243,243,244,244,245,246,246,247,247,248,249,249,249,250,250,251,252,252,253,253,254,254,255,
+0,4,8,12,15,18,20,23,25,28,30,32,37,39,41,43,45,46,48,50,52,53,55,57,58,62,63,65,66,68,69,71,72,74,75,77,78,79,81,82,84,86,87,89,90,91,92,93,95,96,97,98,99,101,102,103,104,105,108,109,110,111,112,113,114,115,116,117,118,119,120,121,123,124,125,126,126,128,129,129,130,132,132,134,135,136,137,138,139,140,141,142,143,144,145,145,147,147,148,149,150,151,152,153,154,154,155,156,157,158,159,159,160,161,162,163,164,165,165,166,167,168,169,169,170,171,172,173,173,174,175,176,177,177,178,179,180,180,181,182,183,183,184,185,186,186,187,188,189,189,190,191,192,192,193,194,195,195,196,197,197,198,199,200,200,201,202,202,203,204,204,205,206,206,207,207,208,209,209,210,211,211,212,213,213,214,215,215,216,217,217,218,219,219,220,221,221,222,222,223,223,224,225,225,226,226,227,228,228,229,230,230,231,232,232,233,233,233,234,235,235,236,237,237,238,238,239,240,240,241,241,241,242,243,243,244,244,245,246,246,247,247,248,249,249,249,250,250,251,252,252,253,253,254,254,255,
+0,4,8,12,15,18,20,23,25,28,30,32,34,39,41,43,45,46,48,50,52,53,55,57,59,60,62,65,66,68,69,71,72,74,75,77,78,79,81,82,83,85,87,89,90,91,92,94,95,96,97,98,100,101,102,103,104,105,107,108,109,110,112,113,114,115,116,117,119,120,120,122,123,124,125,126,127,128,129,130,131,132,133,134,134,135,136,137,138,139,140,142,143,144,145,146,146,148,148,149,150,151,152,153,154,154,155,156,157,158,159,160,160,161,162,163,164,165,165,166,167,168,169,169,170,171,172,173,173,174,175,176,177,177,178,179,180,180,181,182,183,183,184,185,186,187,187,188,189,189,190,191,192,193,193,194,195,195,196,197,197,198,199,200,200,200,201,202,202,203,204,204,205,206,207,207,208,209,209,210,211,211,212,213,213,214,215,215,216,217,217,218,219,219,219,220,221,221,222,223,223,224,225,225,226,226,227,228,228,229,230,230,231,232,232,232,233,233,234,235,235,236,237,237,238,238,239,240,240,240,241,241,242,243,243,244,244,245,246,246,247,247,248,248,249,249,250,250,251,252,252,253,253,254,254,255,
+0,4,8,12,15,18,20,23,25,28,30,32,35,39,41,43,45,47,48,50,52,54,55,57,59,60,62,65,66,68,69,71,72,74,75,77,78,79,81,82,84,85,87,89,90,91,92,94,95,96,97,99,100,101,102,103,104,105,107,108,109,110,112,113,114,115,116,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,137,138,139,140,142,143,144,145,146,146,147,148,149,150,151,152,153,154,155,155,156,157,158,159,160,161,161,162,163,164,165,165,166,167,168,169,170,170,171,172,173,174,174,175,176,177,178,178,179,180,181,181,182,183,184,184,185,186,187,187,188,189,190,190,191,192,193,193,194,195,195,196,197,198,198,199,200,200,200,201,202,203,203,204,205,205,206,207,207,208,209,209,210,211,211,212,213,213,214,215,215,216,217,217,218,219,219,219,220,221,221,222,223,223,224,225,225,226,226,227,228,228,229,230,230,231,232,232,232,233,233,234,235,235,236,237,237,238,238,239,240,240,240,241,241,242,243,243,244,244,245,246,246,247,247,248,248,249,249,250,250,251,252,252,253,253,254,254,255,
+0,4,8,12,15,18,20,23,25,28,30,32,35,39,41,43,45,47,48,50,52,54,55,57,59,60,62,63,67,68,70,71,72,74,75,77,78,79,81,82,83,85,86,87,89,91,93,94,95,96,97,99,100,101,102,103,104,105,107,108,109,110,111,112,113,114,115,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,138,139,140,141,142,143,144,145,146,147,148,148,149,150,152,153,154,155,156,156,157,158,159,160,161,162,162,163,164,165,166,167,167,168,169,170,171,171,172,173,174,174,175,176,177,178,178,179,180,181,181,182,183,184,185,185,186,187,188,188,189,190,190,191,192,193,193,193,194,195,195,196,197,198,198,199,200,201,201,202,203,203,204,205,205,206,207,207,208,209,209,210,211,212,212,213,213,214,215,215,216,216,217,217,218,219,219,220,221,221,222,223,223,224,225,225,226,227,227,228,228,229,230,230,230,231,232,232,233,233,234,235,235,236,237,237,238,238,239,240,240,240,241,241,242,243,243,244,244,245,246,246,247,247,248,248,249,249,250,250,251,252,252,253,253,254,254,255,
+0,4,8,12,15,18,20,23,26,28,30,33,35,39,41,43,45,47,48,50,52,54,56,57,59,60,62,63,67,68,70,71,73,74,75,77,78,80,81,82,83,85,86,88,89,91,93,94,95,96,98,99,100,101,102,103,104,106,107,108,109,110,111,112,113,115,116,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,139,140,141,142,143,144,145,146,147,148,149,150,150,152,153,154,155,156,157,157,158,159,160,161,161,162,163,164,165,166,167,167,168,169,170,171,171,172,173,174,175,175,176,177,178,178,179,180,181,181,182,183,184,184,185,186,187,188,188,189,190,191,191,192,193,193,193,194,195,196,196,197,198,198,199,200,201,201,202,203,203,204,205,205,206,207,208,208,209,210,210,211,212,212,213,214,214,215,216,216,216,217,218,218,219,220,220,221,221,222,223,223,224,225,225,226,227,227,228,229,229,230,230,230,231,232,232,233,234,234,235,235,236,237,237,238,238,239,240,240,240,241,241,242,243,243,244,245,245,246,246,247,247,248,248,249,249,250,250,251,252,252,253,253,254,254,255,
+0,4,8,12,15,18,20,23,26,28,30,33,35,39,41,43,45,47,48,50,52,54,56,57,59,60,62,64,67,68,70,71,73,74,76,77,78,80,81,82,84,85,86,88,89,91,93,94,95,96,98,99,100,101,102,104,105,106,107,108,109,110,111,112,114,115,116,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,141,142,143,144,145,146,147,148,149,150,150,152,153,154,155,156,157,157,158,159,160,161,162,163,163,164,165,166,166,167,168,169,170,171,171,172,173,174,175,175,176,177,178,178,179,180,181,182,182,183,184,185,185,186,187,188,188,189,190,191,191,192,193,193,193,194,195,196,196,197,198,198,199,200,201,201,202,203,203,204,205,205,206,207,208,208,209,210,210,211,212,212,213,214,214,215,216,216,216,217,218,218,219,220,220,221,221,222,223,223,224,225,225,226,227,227,228,229,229,230,230,230,231,232,232,233,234,234,235,235,236,237,237,238,238,239,240,240,240,241,242,242,243,243,244,245,245,246,246,247,247,248,248,249,249,250,250,251,252,252,253,253,254,254,255,
+0,4,8,12,15,18,20,23,26,28,30,33,35,37,41,43,45,47,48,50,52,54,56,57,59,61,62,64,65,68,70,71,73,74,76,77,78,80,81,82,84,85,86,88,89,90,92,93,95,97,98,99,100,101,102,104,105,106,107,108,109,110,112,113,114,115,116,117,118,119,120,121,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,142,143,144,145,146,147,148,149,150,151,151,152,153,154,155,156,157,158,158,159,160,161,162,163,163,164,165,166,167,167,168,169,170,171,172,172,173,174,175,175,176,177,178,179,179,180,181,182,182,183,184,185,185,186,187,188,188,189,190,191,191,192,193,194,194,195,196,196,197,198,199,199,200,201,201,202,203,203,204,205,206,206,207,208,208,209,210,210,211,212,212,213,213,214,214,215,216,216,217,218,218,219,220,220,221,222,222,223,223,224,225,225,226,227,227,228,228,229,229,230,230,231,232,232,233,234,234,235,235,236,237,237,238,238,239,239,240,240,241,242,242,243,243,244,245,245,246,246,247,247,247,248,249,249,250,250,251,252,252,253,253,254,254,255,
+0,4,8,12,15,18,20,23,26,28,30,33,35,37,41,43,45,47,49,50,52,54,56,57,59,61,62,64,65,68,70,71,73,74,76,77,78,80,81,83,84,85,87,88,89,90,92,93,95,97,98,99,100,101,102,104,105,106,107,108,109,110,112,113,114,115,116,117,118,119,120,121,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,143,144,145,146,147,148,149,150,151,151,152,153,154,155,156,157,158,158,159,160,161,162,163,163,164,165,166,167,168,168,169,170,171,172,172,173,174,175,176,176,177,178,179,179,180,181,182,182,183,184,185,186,186,187,188,188,189,190,191,191,192,193,194,194,195,196,196,197,198,199,199,200,201,201,202,203,204,204,205,206,206,207,208,208,209,210,210,211,212,212,213,213,214,214,215,216,216,217,218,218,219,220,220,221,222,222,223,223,224,225,225,226,227,227,228,228,229,229,230,230,231,232,232,233,234,234,235,235,236,237,237,238,238,239,239,240,240,241,242,242,243,243,244,245,245,246,246,247,247,247,248,249,249,250,250,251,252,252,253,253,254,254,255,
+0,4,8,12,15,18,21,23,26,28,30,33,35,37,39,43,45,47,49,51,52,54,56,58,59,61,62,64,65,67,68,71,73,74,76,77,79,80,81,83,84,85,87,88,89,90,92,93,94,95,97,99,100,101,103,104,105,106,107,108,109,111,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,143,144,145,146,147,148,149,150,151,152,152,153,154,155,156,157,158,159,159,160,161,162,163,164,164,165,166,167,168,168,169,170,171,172,172,173,174,175,176,176,177,178,179,179,180,181,182,183,183,184,185,186,186,187,188,189,189,190,191,191,192,193,194,194,195,196,197,197,198,199,199,200,201,201,202,203,204,204,205,206,206,207,208,208,209,209,210,210,211,212,212,213,214,214,215,216,216,217,218,218,219,220,220,221,222,222,223,224,224,225,225,226,226,227,227,228,229,229,230,231,231,232,232,233,234,234,235,235,236,237,237,238,238,239,239,240,240,241,242,242,243,243,244,245,245,246,246,247,247,248,248,249,249,250,250,251,252,252,253,253,254,254,255,
+0,4,8,12,15,18,21,23,26,28,31,33,35,37,39,43,45,47,49,51,52,54,56,58,59,61,62,64,66,67,68,71,73,74,76,77,79,80,81,83,84,85,87,88,89,90,92,93,94,95,97,99,100,101,103,104,105,106,107,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,145,146,147,148,149,150,151,152,153,153,154,155,156,157,158,159,159,160,161,162,163,163,164,165,166,167,168,168,169,170,171,172,173,173,174,175,176,176,177,178,179,179,180,181,182,183,183,184,185,186,186,187,188,189,189,190,191,192,192,193,194,194,195,196,197,197,198,199,199,200,201,202,202,203,204,204,205,206,206,207,208,208,209,209,210,210,211,212,212,213,214,214,215,216,216,217,218,218,219,220,220,221,222,222,223,224,224,225,226,226,226,227,227,228,229,229,230,231,231,232,232,233,234,234,235,236,236,237,237,238,238,239,239,240,240,241,242,242,243,243,244,245,245,246,246,247,247,248,248,249,249,250,250,251,252,252,253,253,254,254,255,
+0,5,8,12,15,18,21,23,26,28,31,33,35,37,39,43,45,47,49,50,52,54,56,57,59,61,62,64,66,67,69,72,73,74,76,77,79,80,81,83,84,86,87,88,89,91,92,93,94,96,97,99,100,101,103,104,105,106,107,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,145,146,147,148,149,150,151,152,153,153,154,155,156,157,158,159,159,160,161,162,163,164,165,165,166,167,168,169,169,170,171,172,173,173,174,175,176,177,177,178,179,180,180,181,182,183,183,184,185,186,186,187,188,189,189,190,191,192,192,193,194,194,195,196,197,197,198,199,199,200,201,202,202,203,204,204,205,206,206,207,208,208,209,209,210,210,211,212,212,213,214,215,215,216,216,217,218,218,219,220,220,221,222,222,223,224,224,225,226,226,226,227,227,228,229,229,230,231,231,232,232,233,234,234,235,236,236,237,237,238,238,239,239,240,240,241,242,242,243,243,244,245,245,246,246,247,247,248,248,249,249,250,250,251,252,252,253,253,254,254,255,
+0,5,8,12,15,18,21,23,26,28,31,33,35,37,39,41,45,47,49,51,52,54,56,58,59,61,62,64,66,67,69,70,72,75,76,77,79,80,81,83,84,86,87,88,89,91,92,93,94,96,97,98,99,101,102,104,105,106,107,108,110,111,112,113,114,115,116,117,118,119,120,121,123,124,124,125,126,128,128,130,131,131,132,133,134,135,136,138,139,140,141,142,143,144,145,146,147,147,148,149,150,151,152,153,154,154,155,156,157,158,159,160,160,161,162,163,164,165,165,166,167,168,169,169,170,171,172,173,174,174,175,176,177,177,178,179,180,180,181,182,183,184,184,185,186,186,187,188,189,189,190,191,192,192,193,194,195,195,196,197,197,198,199,199,200,201,202,202,203,203,204,204,205,206,206,207,208,209,209,210,211,211,212,213,213,214,215,215,216,216,217,218,218,219,220,220,221,222,222,223,224,224,224,225,226,226,227,227,228,229,229,230,231,231,232,232,233,234,234,235,236,236,237,237,237,238,239,239,240,240,241,242,242,243,243,244,245,245,246,246,246,247,248,248,249,249,250,250,251,252,252,253,253,254,254,255,
+0,5,8,12,15,18,21,23,26,28,31,33,35,37,39,41,45,47,49,51,53,54,56,58,59,61,62,64,66,67,69,70,72,75,76,77,79,80,82,83,84,86,87,88,90,91,92,93,94,96,97,98,99,101,102,104,105,106,107,108,110,111,112,113,114,115,116,117,118,120,120,122,123,123,125,126,127,128,129,130,130,132,132,134,134,135,136,138,139,140,141,142,143,144,145,146,147,148,148,149,150,151,152,153,154,155,155,156,157,158,159,160,160,161,162,163,164,165,165,166,167,168,169,170,170,171,172,173,173,174,175,176,177,177,178,179,180,181,181,182,183,184,184,185,186,187,187,188,189,190,190,191,192,192,193,194,195,195,196,197,197,198,199,200,200,201,202,202,203,203,204,205,205,206,207,207,208,209,209,210,211,211,212,213,213,214,215,215,216,217,217,218,219,219,220,220,221,222,222,223,224,224,224,225,226,226,227,228,228,229,229,230,231,231,232,232,233,234,234,235,236,236,237,237,237,238,239,239,240,240,241,242,242,243,243,244,245,245,246,246,246,247,248,248,249,249,250,250,251,252,252,253,253,254,254,255,
+0,5,8,12,15,18,21,23,26,28,31,33,35,37,39,41,43,47,49,51,52,54,56,58,59,61,62,64,66,67,69,70,72,73,75,76,79,80,82,83,84,86,87,88,89,91,92,93,95,96,97,98,99,101,102,103,104,105,106,108,110,111,112,113,114,115,116,117,118,119,121,122,123,124,125,126,127,128,129,130,131,132,133,134,134,136,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,155,156,157,158,159,160,161,161,162,163,164,165,165,166,167,168,169,170,170,171,172,173,174,174,175,176,177,177,178,179,180,181,181,182,183,184,184,185,186,187,187,188,189,190,190,191,192,192,193,194,195,195,195,196,197,197,198,199,200,200,201,202,202,203,204,205,205,206,207,207,208,209,209,210,211,211,212,213,213,214,215,215,216,217,217,218,219,219,220,220,220,221,222,222,223,224,224,225,226,226,227,228,228,229,229,230,231,231,232,233,233,234,234,235,235,236,236,237,237,238,239,239,240,240,241,242,242,243,243,244,245,245,246,246,246,247,248,248,249,249,250,250,251,252,252,253,253,254,254,255,
+0,5,8,12,15,18,21,23,26,28,31,33,35,37,39,41,43,47,49,51,53,54,56,58,59,61,63,64,66,67,69,70,72,73,75,76,79,80,82,83,84,86,87,88,90,91,92,94,95,96,97,98,100,101,102,103,104,105,106,108,110,111,112,113,114,115,116,117,118,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,156,157,158,159,160,161,161,162,163,164,165,166,166,167,168,169,170,170,171,172,173,174,174,175,176,177,177,178,179,180,181,181,182,183,184,184,185,186,187,187,188,189,190,190,191,192,192,193,194,195,195,195,196,197,198,198,199,200,200,201,202,202,203,204,205,205,206,207,207,208,209,209,210,211,211,212,213,213,214,215,215,216,217,217,218,219,219,220,221,221,221,222,222,223,224,224,225,226,226,227,228,228,229,229,230,231,231,232,233,233,234,234,235,235,236,236,237,237,238,239,239,240,240,241,242,242,243,243,244,245,245,246,246,246,247,248,248,249,249,250,250,251,252,252,253,253,254,254,255,
+0,5,8,12,15,18,21,24,26,28,31,33,35,37,39,41,43,47,49,51,53,54,56,58,59,61,63,64,66,67,69,70,72,73,75,76,79,80,82,83,84,86,87,88,90,91,92,94,95,96,97,98,99,101,102,103,104,106,107,108,110,111,112,113,114,115,116,118,118,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,156,157,158,159,160,161,161,162,163,164,165,166,166,167,168,169,170,170,171,172,173,174,174,175,176,177,178,178,179,180,181,181,182,183,184,184,185,186,187,187,188,189,190,190,191,192,193,193,194,195,195,195,196,197,198,198,199,200,200,201,202,202,203,204,205,205,206,207,207,208,209,209,210,211,211,212,213,213,214,215,215,216,217,217,218,219,219,220,221,221,221,222,222,223,224,224,225,226,226,227,228,228,229,229,230,231,231,232,233,233,234,234,235,235,236,236,237,237,238,239,239,240,240,241,242,242,243,243,244,245,245,246,246,246,247,248,248,249,249,250,250,251,252,252,253,253,254,254,255,
+0,5,8,12,15,18,21,24,26,28,31,33,35,37,39,42,43,45,49,51,53,54,56,58,59,61,63,64,66,67,69,71,72,73,75,76,78,79,82,83,85,86,87,88,90,91,92,93,95,96,97,98,100,101,102,103,104,105,107,108,109,110,111,112,113,115,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,140,141,142,143,144,145,146,147,148,149,150,150,151,152,153,154,155,156,156,157,158,159,160,161,162,162,163,164,165,166,166,167,168,169,170,171,171,172,173,174,175,175,176,177,178,178,179,180,181,182,182,183,184,184,185,186,187,188,188,189,190,190,191,192,193,193,194,195,195,196,197,198,198,199,200,200,201,202,203,203,204,205,205,206,207,207,208,209,209,210,211,211,212,213,213,214,215,215,216,217,217,217,218,219,219,220,221,221,222,222,223,224,224,225,226,226,227,228,228,229,229,230,231,231,232,233,233,234,234,234,235,236,236,237,237,238,239,239,240,240,241,242,242,243,243,244,245,245,245,246,246,247,248,248,249,249,250,250,251,252,252,253,253,254,254,255,
+0,5,9,12,15,18,21,24,26,28,31,33,35,37,39,42,43,45,49,51,53,54,56,58,59,61,63,64,66,67,69,71,72,73,75,76,78,79,82,83,84,86,87,88,90,91,92,94,95,96,97,98,100,101,102,103,104,105,107,108,109,110,111,112,113,115,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,139,140,141,142,143,144,145,146,147,148,149,149,150,151,152,153,154,155,156,157,157,158,159,160,161,162,162,163,164,165,166,167,167,168,169,170,171,171,172,173,174,175,175,176,177,178,178,179,180,181,181,182,183,184,185,185,186,187,188,188,189,190,190,191,192,193,193,194,195,196,196,197,198,198,199,200,200,201,202,203,203,204,205,205,206,207,207,208,209,209,210,211,211,212,213,213,214,215,215,216,217,217,217,218,219,219,220,221,221,222,223,223,224,224,225,226,226,227,228,228,229,230,230,231,231,232,233,233,234,234,234,235,236,236,237,237,238,239,239,240,240,241,242,242,243,243,244,245,245,245,246,246,247,248,248,249,249,250,250,251,252,252,253,253,254,254,255,
+0,5,9,12,15,18,21,24,26,29,31,33,35,37,40,42,44,45,47,51,53,54,56,58,60,61,63,64,66,68,69,71,72,73,75,76,78,79,81,82,83,86,87,88,90,91,92,94,95,96,97,99,100,101,102,103,104,106,107,108,109,110,111,112,113,114,116,117,118,119,120,121,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,141,142,143,144,145,146,147,148,149,150,150,151,152,153,154,155,156,157,157,158,159,160,161,162,162,163,164,165,166,167,167,168,169,170,171,171,172,173,174,175,175,176,177,178,178,179,180,181,182,182,183,184,185,185,186,187,188,188,189,190,190,191,192,193,193,194,195,195,196,197,198,198,199,200,201,201,202,203,203,204,205,205,206,207,207,208,209,209,210,211,211,212,213,213,213,214,215,215,216,217,217,218,219,219,220,221,221,222,223,223,224,224,225,226,226,227,228,228,229,230,230,231,231,232,232,233,233,234,234,235,236,236,237,237,238,239,239,240,241,241,242,242,243,243,244,245,245,245,246,246,247,248,248,249,249,250,250,251,252,252,253,253,254,254,255,
+0,5,9,12,15,18,21,24,26,29,31,33,35,37,40,42,44,45,47,51,53,54,56,58,60,61,63,64,66,68,69,71,72,74,75,76,78,79,81,82,83,86,87,88,90,91,92,94,95,96,97,99,100,101,102,103,104,106,107,108,109,110,111,112,113,114,116,117,118,119,120,121,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,140,141,142,143,144,145,146,147,148,149,150,150,151,152,153,154,155,156,157,157,158,159,160,161,162,162,163,164,165,166,167,167,168,169,170,171,171,172,173,174,175,175,176,177,178,179,179,180,181,182,182,183,184,185,185,186,187,188,188,189,190,191,191,192,193,193,194,195,196,196,197,198,198,199,200,201,201,202,203,203,204,205,205,206,207,207,208,209,209,210,211,211,212,213,213,213,214,215,215,216,217,217,218,219,219,220,221,221,222,223,223,224,224,225,226,226,227,228,228,229,230,230,231,231,232,232,233,233,234,234,235,236,236,237,238,238,239,239,240,240,241,242,242,243,243,244,245,245,245,246,246,247,248,248,249,249,250,250,251,252,252,253,253,254,254,255,
+0,5,9,12,15,18,21,24,26,29,31,33,35,38,40,42,44,45,47,51,53,55,56,58,60,61,63,65,66,68,69,71,72,74,75,76,78,79,81,82,83,86,87,89,90,91,92,94,95,96,97,99,100,101,102,103,104,106,107,108,109,110,111,112,114,114,116,117,118,119,120,121,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,142,143,144,145,146,147,148,149,150,151,151,152,153,154,155,156,157,157,158,159,160,161,162,163,163,164,165,166,167,167,168,169,170,171,172,172,173,174,175,175,176,177,178,179,179,180,181,182,182,183,184,185,185,186,187,188,188,189,190,191,191,192,193,193,194,195,196,196,197,198,198,199,200,201,201,202,203,203,204,205,205,206,207,207,208,209,209,210,211,211,212,213,213,213,214,215,215,216,217,217,218,219,219,220,221,221,222,223,223,224,225,225,226,226,227,228,228,229,230,230,231,231,232,232,233,233,234,234,235,236,236,237,238,238,239,239,240,241,241,242,242,243,243,244,245,245,245,246,246,247,248,248,249,249,250,250,251,252,252,253,253,254,254,255,
+0,5,9,12,15,18,21,24,26,29,31,33,35,37,40,42,44,46,47,49,53,55,56,58,60,61,63,65,66,67,69,71,72,74,75,76,78,79,81,82,83,85,86,87,89,91,93,94,95,96,97,99,100,101,102,103,105,106,107,108,109,110,111,112,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,132,133,134,135,136,137,138,139,140,141,142,142,143,144,145,146,147,148,149,150,151,151,152,153,154,155,156,157,158,158,159,160,161,162,163,163,164,165,166,167,168,168,169,170,171,172,172,173,174,175,175,176,177,178,179,179,180,181,182,182,183,184,185,185,186,187,188,188,189,190,191,191,192,193,193,194,195,196,196,197,198,198,199,200,201,201,202,203,203,204,205,205,206,207,207,207,208,209,210,210,211,211,212,213,214,214,215,215,216,217,217,218,219,219,220,221,221,222,223,223,224,225,225,226,226,227,228,228,229,230,230,230,231,231,232,233,233,234,235,235,236,236,237,238,238,239,239,240,241,241,242,242,243,243,244,244,245,245,246,246,247,248,248,249,249,250,250,251,252,252,253,253,254,254,255,
+0,5,9,12,15,18,21,24,26,29,31,33,35,38,40,42,44,46,48,49,53,55,56,58,60,61,63,65,66,68,69,71,72,74,75,76,78,79,81,82,83,85,86,88,89,91,93,94,95,96,97,99,100,101,102,103,105,106,107,108,109,110,111,112,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,132,133,134,135,136,137,138,139,140,141,142,143,144,144,145,146,147,148,149,150,151,152,152,153,154,155,156,157,158,159,159,160,161,162,163,163,164,165,166,167,168,168,169,170,171,172,172,173,174,175,175,176,177,178,179,179,180,181,182,182,183,184,185,185,186,187,188,188,189,190,191,191,192,193,194,194,195,196,196,197,198,199,199,200,201,201,202,203,203,204,205,205,206,207,207,207,208,209,210,210,211,212,212,213,214,214,215,215,216,217,217,218,219,219,220,221,221,222,223,223,224,225,225,226,226,227,228,228,229,230,230,230,231,231,232,233,233,234,234,235,236,236,237,238,238,239,239,240,241,241,242,242,243,243,244,244,245,245,246,246,247,248,248,249,249,250,250,251,252,252,253,253,254,254,255,
+0,5,9,12,15,18,21,24,26,29,31,33,35,38,40,42,44,46,48,49,51,53,56,58,60,61,63,65,66,68,69,71,72,74,75,77,78,79,81,82,83,85,86,88,89,90,91,92,94,96,97,99,100,101,102,103,105,106,107,108,109,110,111,113,113,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,152,153,154,155,156,157,158,158,159,160,161,162,163,163,164,165,166,167,168,168,169,170,171,172,172,173,174,175,175,176,177,178,179,179,180,181,182,182,183,184,185,185,186,187,188,188,189,190,191,191,192,193,194,194,195,196,196,197,198,198,199,199,200,201,201,202,203,203,204,205,206,206,207,208,208,209,210,210,211,212,212,213,214,214,215,216,216,217,218,218,219,219,220,221,221,222,223,223,224,225,225,226,226,227,227,228,228,229,230,230,231,231,232,233,233,234,234,235,236,236,237,238,238,239,239,240,241,241,242,242,243,243,243,244,245,245,246,246,247,248,248,249,249,250,250,251,252,252,253,253,254,254,255,
+0,5,9,12,15,18,21,24,26,29,31,33,36,38,40,42,44,46,47,49,51,53,56,58,60,61,63,65,66,68,69,71,72,74,75,77,78,79,81,82,83,85,86,87,89,90,91,93,94,96,97,99,100,101,102,103,105,106,107,108,109,110,111,112,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,152,153,154,155,156,157,158,158,159,160,161,162,163,164,164,165,166,167,168,168,169,170,171,172,172,173,174,175,176,176,177,178,179,179,180,181,182,182,183,184,185,185,186,187,188,188,189,190,191,191,192,193,194,194,195,196,196,197,198,198,199,199,200,201,201,202,203,203,204,205,205,206,207,208,208,209,210,210,211,212,212,213,214,214,215,216,216,217,218,218,219,219,220,221,221,222,223,223,224,225,225,226,226,227,227,228,228,229,230,230,231,231,232,233,233,234,235,235,236,236,237,238,238,239,239,240,241,241,242,242,243,243,244,244,245,245,246,246,247,248,248,249,249,250,250,251,252,252,253,253,254,254,255,
+0,5,9,12,15,18,21,24,26,29,31,33,36,38,40,42,44,46,48,49,51,53,56,58,60,61,63,65,66,68,69,71,72,74,75,77,78,79,81,82,84,85,86,87,89,90,91,93,94,96,98,99,100,101,102,104,105,106,107,108,109,110,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,153,154,155,156,157,158,159,159,160,161,162,163,163,164,165,166,167,168,168,169,170,171,172,173,173,174,175,176,176,177,178,179,179,180,181,182,182,183,184,185,186,186,187,188,188,189,190,191,191,192,193,194,194,195,196,196,197,198,198,199,199,200,201,201,202,203,203,204,205,206,206,207,208,208,209,210,210,211,212,212,213,214,214,215,216,216,217,218,218,219,219,220,221,221,222,223,223,224,225,225,226,226,227,227,228,228,229,230,230,231,231,232,233,233,234,235,235,236,236,237,238,238,239,239,240,241,241,242,242,243,243,244,244,245,245,246,246,247,248,248,249,249,250,250,251,252,252,253,253,254,254,255,
+0,5,9,12,15,18,21,24,26,29,31,33,36,38,40,42,44,46,48,49,51,53,55,57,60,62,63,65,66,68,69,71,72,74,75,77,78,79,81,82,84,85,86,87,89,90,91,93,94,95,96,98,99,100,101,104,105,106,107,108,109,110,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,145,146,147,148,149,150,151,152,152,153,154,155,156,157,158,159,159,160,161,162,163,164,164,165,166,167,168,168,169,170,171,172,173,173,174,175,176,176,177,178,179,180,180,181,182,183,183,184,185,186,186,187,188,189,189,190,191,191,192,193,194,194,195,196,196,197,198,199,199,200,201,201,202,203,203,204,205,206,206,207,208,208,209,210,210,211,212,212,213,214,214,215,216,216,217,218,218,219,219,220,221,221,222,223,223,223,224,225,225,226,226,227,228,228,229,230,230,231,231,232,233,233,234,235,235,236,236,237,238,238,239,239,240,241,241,242,242,242,243,244,244,245,245,246,246,247,248,248,249,249,250,250,251,252,252,253,253,254,254,255,
+0,5,9,12,15,18,21,24,26,29,31,33,36,38,40,42,44,46,48,50,51,53,55,57,60,62,63,65,66,68,69,71,72,74,75,77,78,80,81,82,84,85,86,88,89,90,92,93,94,95,96,98,99,100,101,104,105,106,107,108,109,110,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,145,146,147,148,149,150,151,152,153,153,154,155,156,157,158,159,159,160,161,162,163,164,164,165,166,167,168,169,169,170,171,172,173,173,174,175,176,176,177,178,179,179,180,181,182,183,183,184,185,186,186,187,188,189,189,190,191,191,192,193,194,194,195,196,196,197,198,199,199,200,201,201,202,203,203,204,205,206,206,207,208,208,209,210,210,211,212,212,213,214,214,215,216,216,217,218,218,219,219,220,221,221,222,223,223,223,224,225,225,226,227,227,228,228,229,230,230,231,231,232,233,233,234,235,235,236,236,237,238,238,239,239,240,241,241,242,242,242,243,244,244,245,245,246,246,247,248,248,249,249,250,250,251,252,252,253,253,254,254,255,
+0,5,9,12,15,18,21,24,26,29,31,33,36,38,40,42,44,46,48,50,51,53,55,57,58,60,62,65,66,68,69,71,72,74,75,77,78,80,81,82,84,85,86,88,89,90,91,93,94,95,96,98,99,100,101,102,104,105,106,107,108,109,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,146,147,148,149,150,151,152,153,153,154,155,156,157,158,159,160,160,161,162,163,164,164,165,166,167,168,169,169,170,171,172,173,173,174,175,176,176,177,178,179,180,180,181,182,183,183,184,185,186,186,187,188,189,189,190,191,192,192,193,194,194,195,196,197,197,198,199,199,200,201,201,202,203,203,204,205,206,206,207,208,208,209,210,210,211,212,212,213,214,214,215,216,216,217,218,218,219,219,220,220,221,221,222,223,223,224,225,225,226,227,227,228,228,229,230,230,231,231,232,233,233,234,235,235,236,236,237,238,238,239,239,240,240,241,241,242,242,243,244,244,245,245,246,246,247,248,248,249,249,250,250,251,252,252,253,253,254,254,255,
+0,5,9,12,15,18,21,24,26,29,31,33,36,38,40,42,44,46,48,50,51,53,55,57,58,60,62,65,66,68,69,71,72,74,75,77,78,80,81,82,84,85,86,88,89,90,92,93,94,95,97,98,99,100,101,103,104,105,106,107,108,109,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,145,146,147,148,149,150,151,152,153,153,154,155,156,157,158,159,160,160,161,162,163,164,165,165,166,167,168,169,169,170,171,172,173,173,174,175,176,176,177,178,179,180,180,181,182,183,183,184,185,186,186,187,188,189,189,190,191,191,192,193,194,194,195,196,197,197,198,199,199,200,201,201,202,203,203,204,205,206,206,207,208,208,209,210,210,211,212,212,213,214,214,215,216,216,217,218,218,219,219,220,220,221,221,222,223,223,224,225,225,226,227,227,228,228,229,230,230,231,232,232,233,233,234,235,235,236,236,237,238,238,239,239,240,240,241,241,242,242,243,244,244,245,245,246,246,247,248,248,249,249,250,251,251,252,252,253,253,254,254,255,
+0,5,9,12,15,18,21,24,26,29,31,33,36,38,40,42,44,46,48,50,51,53,55,57,58,60,62,65,66,68,70,71,73,74,75,77,78,80,81,82,84,85,86,88,89,90,92,93,94,95,97,98,99,100,101,103,104,105,106,107,108,109,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,146,147,148,149,150,151,152,153,154,154,155,156,157,158,159,159,160,161,162,163,164,164,165,166,167,168,169,169,170,171,172,173,173,174,175,176,177,177,178,179,180,180,181,182,183,183,184,185,186,186,187,188,189,189,190,191,192,192,193,194,194,195,196,197,197,198,199,199,200,201,201,202,203,204,204,205,206,206,207,208,208,209,210,210,211,212,212,213,214,214,215,216,216,217,218,218,219,219,220,220,221,221,222,223,223,224,225,225,226,227,227,228,228,229,230,230,231,232,232,233,233,234,235,235,236,236,237,238,238,239,239,240,240,241,241,242,242,243,244,244,245,245,246,246,247,248,248,249,249,250,251,251,252,252,253,253,254,254,255,
+0,5,9,12,15,18,21,24,26,29,31,33,36,38,40,42,44,46,48,50,51,53,55,57,58,60,62,63,65,68,69,71,73,74,75,77,78,80,81,82,84,85,86,88,89,90,92,93,94,95,97,98,99,100,101,103,104,105,106,107,108,109,111,112,113,114,115,116,117,118,119,120,122,123,124,125,127,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,146,147,148,149,150,151,152,153,154,154,155,156,157,158,159,159,160,161,162,163,164,165,165,166,167,168,169,169,170,171,172,173,173,174,175,176,176,177,178,179,180,180,181,182,183,183,184,185,186,186,187,188,189,189,190,191,191,192,193,194,194,195,196,197,197,198,199,199,200,201,201,202,203,204,204,205,206,206,207,208,208,209,210,210,211,212,212,212,213,214,214,215,216,216,217,218,218,219,220,220,221,221,222,223,223,224,225,225,226,227,227,228,228,229,230,230,231,231,232,233,233,234,235,235,236,236,237,238,238,239,239,239,240,241,241,242,242,243,244,244,245,245,246,246,247,248,248,249,249,250,251,251,252,252,253,253,254,254,255,
+0,5,9,12,15,18,21,24,26,29,31,33,36,38,40,42,44,46,48,50,52,53,55,57,58,60,62,63,65,68,70,71,73,74,76,77,78,80,81,82,84,85,87,88,89,90,92,93,94,95,97,98,99,100,101,103,104,105,106,107,108,109,111,112,113,114,115,116,117,118,119,120,122,123,124,125,127,127,128,130,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,147,148,149,150,151,152,153,154,154,155,156,157,158,159,160,160,161,162,163,164,164,165,166,167,168,169,169,170,171,172,173,173,174,175,176,177,177,178,179,180,180,181,182,183,183,184,185,186,186,187,188,189,189,190,191,192,192,193,194,194,195,196,197,197,198,199,199,200,201,202,202,203,204,204,205,206,206,207,208,208,209,210,210,211,212,212,212,213,214,214,215,216,216,217,218,218,219,220,220,221,221,222,223,223,224,225,225,226,227,227,228,228,229,230,230,231,231,232,233,233,234,235,235,236,236,237,238,238,239,239,239,240,241,241,242,242,243,244,244,245,245,246,246,247,248,248,249,249,250,251,251,252,252,253,253,254,254,255,
+0,5,9,12,15,18,21,24,26,29,31,33,36,38,40,42,44,46,48,50,52,53,55,57,58,60,62,63,65,67,68,70,71,74,75,77,78,80,81,82,84,85,87,88,89,90,92,93,94,95,97,98,99,100,101,103,104,105,106,107,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,126,126,128,129,130,131,132,132,133,134,135,137,138,139,140,141,142,143,144,145,146,147,148,148,149,150,151,152,153,154,155,155,156,157,158,159,160,160,161,162,163,164,165,165,166,167,168,169,169,170,171,172,173,173,174,175,176,177,177,178,179,180,180,181,182,183,183,184,185,186,186,187,188,189,189,190,191,191,192,193,194,195,195,196,197,197,198,199,199,200,201,201,202,202,203,204,204,205,206,206,207,208,208,209,210,210,211,212,212,213,214,214,215,216,216,217,218,218,219,220,220,221,221,222,223,223,224,225,225,226,227,227,228,228,229,230,230,231,232,232,233,233,234,235,235,236,236,236,237,238,238,239,239,240,241,241,242,242,243,244,244,245,245,246,246,247,248,248,249,249,250,251,251,252,252,253,253,254,254,255,
+0,5,9,12,15,18,21,24,26,29,31,34,36,38,40,42,44,46,48,50,52,53,55,57,58,60,62,63,65,67,68,70,71,74,75,77,78,80,81,83,84,85,86,88,89,91,92,93,94,96,97,98,99,100,102,103,104,105,106,107,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,125,126,128,129,130,131,132,133,133,134,135,137,138,139,140,141,142,143,144,145,146,147,147,148,149,150,151,152,153,154,154,155,156,157,158,159,160,160,161,162,163,164,165,165,166,167,168,169,169,170,171,172,173,173,174,175,176,177,177,178,179,180,180,181,182,183,183,184,185,186,186,187,188,189,189,190,191,192,192,193,194,194,195,196,197,197,198,199,199,200,201,202,202,202,203,204,204,205,206,206,207,208,208,209,210,210,211,212,212,213,214,214,215,216,216,217,218,218,219,220,220,221,221,222,223,223,224,225,225,226,227,227,228,228,229,230,230,231,232,232,233,233,234,235,235,236,236,236,237,238,238,239,239,240,241,241,242,242,243,244,244,245,245,246,246,247,248,248,249,249,250,251,251,252,252,253,253,254,254,255,
+0,5,9,12,15,18,21,24,26,29,31,34,36,38,40,42,44,46,48,50,52,53,55,57,59,60,62,63,65,66,68,70,71,74,75,77,78,80,81,82,84,85,87,88,89,91,92,93,94,95,97,98,99,100,101,103,104,105,106,107,108,109,111,112,113,114,115,116,117,118,119,120,121,123,123,125,126,127,128,129,129,131,131,132,133,134,135,137,138,139,140,141,142,143,144,145,146,147,147,148,149,150,151,152,153,154,154,155,156,157,158,159,160,161,161,162,163,164,165,165,166,167,168,169,170,170,171,172,173,173,174,175,176,177,177,178,179,180,181,181,182,183,183,184,185,186,186,187,188,189,189,190,191,192,192,193,194,195,195,196,197,197,198,199,199,200,201,201,202,202,203,204,204,205,206,206,207,208,208,209,210,210,211,212,212,213,214,214,215,216,216,217,218,218,219,220,220,221,222,222,223,223,224,225,225,226,227,227,228,228,229,230,230,231,232,232,233,233,234,235,235,236,236,236,237,238,238,239,239,240,241,241,242,242,243,244,244,245,245,246,246,247,248,248,249,249,250,251,251,252,252,253,253,254,254,255,
+0,5,9,12,16,18,21,24,26,29,31,34,36,38,40,42,44,46,48,50,52,53,55,57,59,60,62,63,65,67,68,70,71,73,74,76,77,78,81,83,84,85,87,88,89,90,92,93,94,95,97,98,99,100,102,103,104,105,106,107,108,110,111,112,113,114,115,116,117,118,119,120,121,122,124,124,126,127,128,129,130,131,132,132,133,135,135,136,137,138,139,140,141,142,143,144,145,146,147,148,148,149,150,151,152,153,154,155,155,156,157,158,159,160,160,161,162,163,164,165,166,166,167,168,169,170,170,171,172,173,173,174,175,176,177,177,178,179,180,180,181,182,183,183,184,185,186,186,187,188,189,189,190,191,192,192,193,194,194,195,196,197,197,198,199,199,200,201,202,202,203,204,204,205,206,206,207,208,208,209,210,210,211,212,212,213,214,214,215,216,216,217,218,218,219,220,220,221,222,222,223,223,224,225,225,226,227,227,228,228,229,230,230,231,232,232,233,233,233,234,235,235,236,236,237,238,238,239,239,240,241,241,242,242,243,244,244,245,245,246,246,247,248,248,249,249,250,251,251,252,252,253,253,254,254,255,
+0,5,9,12,15,19,21,24,27,29,31,34,36,38,40,42,44,46,48,50,52,53,55,57,58,60,62,63,65,67,68,70,71,73,74,76,77,78,81,83,84,85,87,88,89,90,92,93,94,95,97,98,99,100,102,103,104,105,106,107,109,110,111,112,113,114,115,116,117,118,119,120,121,122,124,125,125,127,128,129,130,131,131,133,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,148,149,150,151,152,153,154,155,155,156,157,158,159,160,161,161,162,163,164,165,165,166,167,168,169,170,170,171,172,173,174,174,175,176,177,177,178,179,180,181,181,182,183,184,184,185,186,187,187,188,189,189,190,191,192,192,193,194,194,195,196,197,197,198,199,199,200,201,202,202,203,204,204,205,206,206,207,208,208,209,210,210,211,212,212,213,214,214,215,216,216,217,218,218,219,220,220,221,222,222,223,223,224,225,225,226,227,227,228,228,229,230,230,231,232,232,233,233,233,234,235,235,236,236,237,238,238,239,239,240,241,241,242,242,243,244,244,245,245,246,246,247,248,248,249,249,250,251,251,252,252,253,253,254,254,255,
+0,5,9,12,16,19,21,24,27,29,31,34,36,38,40,42,44,46,48,50,52,53,55,57,59,60,62,63,65,67,68,70,71,73,74,76,77,79,80,81,83,84,85,87,88,90,92,93,94,96,97,98,99,100,102,103,104,105,106,107,109,110,111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,148,149,150,151,152,153,154,155,155,156,157,158,159,160,161,161,162,163,164,165,166,166,167,168,169,170,170,171,172,173,173,174,175,176,177,177,178,179,180,181,181,182,183,184,184,185,186,187,187,188,189,190,190,191,192,192,193,194,195,195,196,197,197,198,199,199,200,201,202,202,203,204,204,205,206,206,207,208,208,209,210,210,211,212,212,213,214,214,215,216,216,217,218,218,219,220,220,221,222,222,223,223,224,225,225,226,227,227,228,228,229,229,230,230,231,232,232,233,233,234,235,235,236,236,237,238,238,239,239,240,241,241,242,242,243,244,244,245,245,246,246,247,248,248,249,249,250,251,251,252,252,253,253,254,254,255,
+0,5,9,12,16,19,21,24,27,29,31,34,36,38,40,42,44,46,48,50,52,53,55,57,59,60,62,64,65,67,68,70,71,73,74,76,77,78,80,81,83,84,85,87,88,90,92,93,94,96,97,98,99,100,102,103,104,105,106,107,109,110,111,112,113,114,115,116,117,118,119,120,121,123,124,125,126,127,128,129,130,131,132,133,134,135,136,136,137,138,139,140,141,142,143,144,145,146,147,148,148,149,150,151,152,153,154,155,155,156,157,158,159,160,161,161,162,163,164,165,166,166,167,168,169,170,170,171,172,173,174,174,175,176,177,177,178,179,180,181,181,182,183,184,184,185,186,187,187,188,189,189,190,191,192,192,193,194,195,195,196,197,197,198,199,199,200,201,202,202,203,204,204,205,206,206,207,208,208,209,210,210,211,212,212,213,214,214,215,216,216,217,218,218,219,220,220,221,222,222,223,223,224,225,225,226,227,227,228,228,229,229,230,230,231,232,232,233,233,234,235,235,236,236,237,238,238,239,239,240,241,241,242,242,243,244,244,245,245,246,246,247,248,248,249,249,250,251,251,252,252,253,253,254,254,255,
+0,5,9,12,16,18,21,24,27,29,31,34,36,38,40,42,44,46,48,50,52,53,55,57,59,60,62,64,65,67,68,70,71,73,74,76,77,78,80,81,83,84,85,87,88,90,92,93,94,96,97,98,99,100,102,103,104,105,106,107,109,110,111,112,113,114,115,116,117,118,119,121,122,122,124,125,126,127,128,129,130,131,132,133,134,135,135,136,137,138,139,140,141,142,143,144,145,146,147,148,148,149,150,151,152,153,154,155,155,156,157,158,159,160,161,161,162,163,164,165,166,166,167,168,169,170,170,171,172,173,174,174,175,176,177,177,178,179,180,180,181,182,183,184,184,185,186,187,187,188,189,189,190,191,192,192,193,194,195,195,196,197,197,198,199,200,200,201,202,202,203,204,204,205,206,206,207,208,208,209,210,210,211,212,213,213,214,214,215,216,216,217,218,218,219,220,220,221,222,222,223,223,224,225,225,226,227,227,228,228,229,229,230,230,231,232,232,233,233,234,235,235,236,236,237,238,238,239,239,240,241,241,242,242,243,244,244,245,245,246,246,247,248,248,249,249,250,251,251,252,252,253,253,254,254,255,
+0,5,9,12,16,19,21,24,27,29,31,34,36,38,40,42,44,46,48,50,52,54,55,57,59,60,62,64,65,67,68,70,71,73,74,76,77,79,80,81,83,84,85,87,88,89,91,92,93,94,96,97,98,99,100,103,104,105,106,107,108,110,111,112,113,114,115,116,117,118,119,121,122,122,124,125,126,127,128,129,130,131,132,133,134,135,135,137,137,138,139,140,141,142,143,144,145,146,147,148,148,149,150,151,152,153,154,155,155,156,157,158,159,160,161,161,162,163,164,165,166,166,167,168,169,170,170,171,172,173,174,174,175,176,177,177,178,179,180,181,181,182,183,184,184,185,186,187,187,188,189,189,190,191,192,192,193,194,195,195,196,197,197,198,199,200,200,201,202,202,203,204,204,205,206,206,207,208,208,209,210,210,211,212,212,213,214,214,215,216,216,217,218,218,219,220,220,221,222,222,223,223,223,224,225,225,226,227,227,228,228,229,230,230,231,232,232,233,233,234,235,235,236,236,237,238,238,239,239,240,241,241,242,242,243,244,244,245,245,246,246,247,248,248,249,249,250,251,251,252,252,253,253,254,254,255,
+0,5,9,12,16,19,21,24,27,29,31,34,36,38,40,42,44,46,48,50,52,53,55,57,59,60,62,64,65,67,68,70,71,73,74,76,77,79,80,81,83,84,85,87,88,89,91,92,93,94,96,97,98,99,100,103,104,105,106,107,108,110,111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,137,138,139,140,141,142,143,144,145,146,147,148,148,149,150,151,152,153,154,155,155,156,157,158,159,160,161,161,162,163,164,165,166,166,167,168,169,170,170,171,172,173,174,174,175,176,177,178,178,179,180,180,181,182,183,184,184,185,186,187,187,188,189,190,190,191,192,192,193,194,195,195,196,197,197,198,199,200,200,201,202,202,203,204,204,205,206,206,207,208,208,209,210,210,211,212,212,213,214,214,215,216,216,217,218,218,219,220,220,221,222,222,223,223,223,224,225,225,226,227,227,228,228,229,230,230,231,232,232,233,233,234,235,235,236,236,237,238,238,239,239,240,241,241,242,242,243,244,244,245,245,246,246,247,248,248,249,249,250,251,251,252,252,253,253,254,254,255,
+0,5,9,12,16,19,21,24,27,29,31,34,36,38,40,42,44,46,48,50,52,53,55,57,59,60,62,64,65,67,68,70,71,73,74,76,77,79,80,81,83,84,85,87,88,89,91,92,93,94,96,97,98,99,100,102,103,104,105,106,107,109,110,111,112,113,114,115,116,117,118,119,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,137,138,139,140,141,142,143,144,145,146,147,148,148,149,150,151,152,153,154,155,155,156,157,158,159,160,161,161,162,163,164,165,166,166,167,168,169,170,170,171,172,173,174,174,175,176,177,177,178,179,180,181,181,182,183,184,184,185,186,187,187,188,189,190,190,191,192,192,193,194,195,195,196,197,197,198,199,199,200,201,202,202,203,204,204,205,206,206,207,208,208,209,210,210,211,212,212,212,213,214,214,215,216,216,217,218,218,219,220,220,221,222,222,223,223,224,225,225,226,227,227,228,228,229,230,230,231,232,232,233,233,234,235,235,236,236,237,238,238,239,239,240,241,241,242,242,243,244,244,245,245,246,246,247,248,248,249,249,250,251,251,252,252,253,253,254,254,255,
+0,5,9,12,16,19,21,24,27,29,31,34,36,38,40,42,44,46,48,50,52,53,55,57,59,60,62,64,65,67,68,70,71,73,74,76,77,79,80,81,83,84,85,87,88,89,91,92,93,94,96,97,98,99,100,102,103,104,105,106,107,109,110,111,112,113,114,115,116,117,118,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,138,139,140,141,142,143,144,145,146,147,148,148,150,150,151,152,153,154,155,156,156,157,158,159,160,161,161,162,163,164,165,166,166,167,168,169,170,170,171,172,173,174,174,175,176,177,178,178,179,180,181,181,182,183,184,184,185,186,187,187,188,189,190,190,191,192,192,193,194,195,195,196,197,197,198,199,200,200,201,202,202,203,204,204,205,206,206,207,208,208,209,210,210,211,212,212,212,213,214,214,215,216,216,217,218,218,219,220,220,221,222,222,223,223,224,225,225,226,227,227,228,229,229,230,230,231,232,232,233,233,234,235,235,236,236,237,238,238,239,239,240,241,241,242,242,243,244,244,245,245,246,246,247,248,248,249,249,250,251,251,252,252,253,253,254,254,255,
+0,5,9,12,16,19,21,24,27,29,32,34,36,38,40,42,44,46,48,50,52,54,55,57,59,60,62,64,65,67,68,70,71,73,74,76,77,79,80,81,83,84,85,87,88,89,91,92,93,94,96,97,98,99,101,102,103,104,105,106,107,109,110,111,112,113,114,115,116,117,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,138,139,140,141,142,143,144,145,146,147,148,148,149,150,151,152,153,154,155,156,156,157,158,159,160,161,161,162,163,164,165,166,166,167,168,169,170,170,171,172,173,174,174,175,176,177,178,178,179,180,181,181,182,183,184,184,185,186,187,187,188,189,190,190,191,192,192,193,194,195,195,196,197,197,198,199,200,200,201,202,202,203,204,204,205,206,206,207,208,208,209,210,210,211,212,212,212,213,214,214,215,216,216,217,218,218,219,220,220,221,222,222,223,223,224,225,225,226,227,227,228,228,229,230,230,231,232,232,233,233,234,235,235,236,236,237,238,238,239,239,240,241,241,242,242,243,244,244,245,245,246,246,247,248,248,249,249,250,251,251,252,252,253,253,254,254,255,
+0,5,9,12,16,19,21,24,27,29,32,34,36,38,40,42,44,46,48,50,52,54,55,57,59,60,62,64,65,67,68,70,71,73,74,76,77,79,80,81,83,84,85,87,88,89,91,92,93,94,96,97,98,99,101,102,103,104,105,106,107,109,110,111,112,113,114,115,116,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,138,139,140,141,142,143,144,145,146,147,148,149,149,150,151,152,153,154,155,156,156,157,158,159,160,161,161,162,163,164,165,166,166,167,168,169,170,171,171,172,173,174,174,175,176,177,178,178,179,180,181,181,182,183,184,184,185,186,187,187,188,189,190,190,191,192,192,193,194,195,195,196,197,197,198,199,200,200,201,202,202,203,204,204,205,206,206,207,208,208,209,210,210,211,212,212,213,214,214,215,216,216,217,218,218,219,220,220,221,222,222,223,223,224,225,225,226,227,227,228,229,229,230,230,231,232,232,233,233,234,235,235,236,236,237,238,238,239,239,240,241,241,242,242,243,244,244,245,245,246,246,247,248,248,249,249,250,251,251,252,252,253,253,254,254,255,
+0,5,9,12,16,19,21,24,27,29,32,34,36,38,40,42,44,46,48,50,52,54,55,57,59,60,62,64,65,67,68,70,71,73,74,76,77,79,80,81,83,84,85,87,88,89,91,92,93,94,96,97,98,99,101,102,103,104,105,106,108,109,110,111,112,113,114,115,116,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,136,138,138,139,140,141,142,143,144,145,146,147,148,149,149,150,151,152,153,154,155,156,156,157,158,159,160,161,161,162,163,164,165,166,166,167,168,169,170,170,171,172,173,174,174,175,176,177,178,178,179,180,181,181,182,183,184,184,185,186,187,187,188,189,190,190,191,192,192,193,194,195,195,196,197,197,198,199,200,200,201,202,202,203,204,204,205,206,206,207,208,209,209,210,210,211,212,212,213,214,214,215,216,216,217,218,218,219,220,220,221,222,222,223,223,224,225,225,226,227,227,228,229,229,230,230,231,232,232,233,233,234,235,235,236,236,237,238,238,239,239,240,241,241,242,242,243,244,244,245,245,246,246,247,248,248,249,249,250,251,251,252,252,253,253,254,254,255,
+0,5,9,12,16,19,21,24,27,29,32,34,36,38,40,42,44,46,48,50,52,54,55,57,59,60,62,64,65,67,68,70,71,73,74,76,77,79,80,81,83,84,86,87,88,89,91,92,93,95,96,97,98,99,101,102,103,104,105,106,108,109,110,111,112,113,114,115,116,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,139,140,141,142,143,144,145,146,147,148,149,150,150,151,152,153,154,155,156,156,157,158,159,160,161,161,162,163,164,165,166,166,167,168,169,170,170,171,172,173,174,174,175,176,177,178,178,179,180,181,181,182,183,184,184,185,186,187,187,188,189,190,190,191,192,192,193,194,195,195,196,197,198,198,199,200,200,201,202,202,203,204,204,205,206,206,207,208,208,209,210,210,211,212,213,213,214,214,215,216,216,217,218,218,219,220,220,221,222,222,223,224,224,225,225,226,227,227,228,229,229,230,230,231,232,232,233,233,234,235,235,236,236,237,238,238,239,239,240,241,241,242,242,243,244,244,245,245,246,247,247,248,248,249,249,250,251,251,252,252,253,253,254,254,255,
+0,5,9,12,16,19,22,24,27,29,32,34,36,38,40,42,44,46,48,50,52,54,55,57,59,60,62,64,65,67,69,70,71,73,74,76,77,79,80,82,83,84,86,87,88,89,91,92,93,94,96,97,98,99,101,102,103,104,105,107,108,109,110,111,112,113,114,115,116,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,139,140,141,142,143,144,145,146,147,148,149,149,150,151,152,153,154,155,156,156,157,158,159,160,161,162,162,163,164,165,166,166,167,168,169,170,171,171,172,173,174,174,175,176,177,178,178,179,180,181,181,182,183,184,184,185,186,187,187,188,189,190,190,191,192,193,193,194,195,195,196,197,197,198,199,200,200,201,202,202,203,204,204,205,206,206,207,208,208,209,210,210,211,212,212,213,214,214,215,216,216,217,218,218,219,220,220,221,222,222,223,223,224,225,225,226,227,227,228,229,229,230,230,231,232,232,233,233,234,235,235,236,236,237,238,238,239,239,240,241,241,242,242,243,244,244,245,245,246,247,247,248,248,249,249,250,251,251,252,252,253,253,254,254,255,
+0,5,9,12,16,19,22,24,27,29,32,34,36,38,40,42,44,46,48,50,52,54,55,57,59,60,62,64,65,67,68,70,71,73,74,76,77,79,80,81,83,84,85,87,88,89,91,92,93,94,96,97,98,99,101,102,103,104,105,106,108,109,110,111,112,113,114,115,116,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,138,139,140,141,142,143,144,145,146,147,148,149,150,150,151,152,153,154,155,156,157,157,158,159,160,161,162,162,163,164,165,166,166,167,168,169,170,171,171,172,173,174,174,175,176,177,178,178,179,180,181,181,182,183,184,184,185,186,187,187,188,189,190,190,191,192,192,193,194,195,195,196,197,197,198,199,200,200,201,202,202,203,204,204,205,206,207,207,208,209,209,210,210,211,212,213,213,214,214,215,216,216,217,218,218,219,220,220,221,222,222,223,224,224,225,225,226,227,227,228,229,229,230,230,231,232,232,233,233,234,235,235,236,236,237,238,238,239,239,240,241,241,242,242,243,244,244,245,245,246,246,247,248,248,249,249,250,251,251,252,252,253,253,254,254,255,
+0,5,9,12,16,19,21,24,27,29,32,34,36,38,40,42,44,46,48,50,52,54,55,57,59,61,62,64,65,67,68,70,72,73,74,76,77,79,80,81,83,84,86,87,88,89,91,92,93,95,96,97,98,99,101,102,103,104,105,106,108,109,110,111,112,113,114,115,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,139,140,141,142,143,144,145,146,147,148,149,149,150,151,152,153,154,155,156,157,157,158,159,160,161,161,162,163,164,165,166,166,167,168,169,170,170,171,172,173,174,174,175,176,177,178,178,179,180,181,181,182,183,184,184,185,186,187,187,188,189,190,190,191,192,193,193,194,195,195,196,197,197,198,199,200,200,201,202,202,203,204,204,205,206,206,207,208,208,209,210,211,211,212,213,213,214,214,215,216,216,217,218,218,219,220,220,221,222,222,223,223,224,225,225,226,227,227,228,229,229,230,230,231,232,232,233,233,234,235,235,236,236,237,238,238,239,239,240,241,241,242,242,243,244,244,245,245,246,246,247,248,248,249,249,250,251,251,252,252,253,253,254,254,255,
+0,5,9,12,16,19,22,24,27,29,32,34,36,38,40,42,44,46,48,50,52,54,55,57,59,60,62,64,65,67,69,70,72,73,74,76,77,79,80,82,83,84,86,87,88,89,91,92,93,95,96,97,98,99,101,102,103,104,105,107,108,109,110,111,112,113,114,115,116,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,139,140,141,142,143,144,145,146,147,148,149,150,150,151,152,153,154,155,156,157,157,158,159,160,161,162,162,163,164,165,166,167,167,168,169,170,171,171,172,173,174,175,175,176,177,178,178,179,180,181,181,182,183,184,184,185,186,187,187,188,189,190,190,191,192,192,193,194,195,195,196,197,197,198,199,200,200,201,202,202,203,204,204,205,206,206,207,208,208,209,210,211,211,212,213,213,214,214,215,216,216,217,218,218,219,220,220,221,222,222,223,224,224,225,225,226,227,227,228,229,229,230,230,231,232,232,233,233,234,235,235,236,236,237,238,238,239,239,240,241,241,242,242,243,244,244,245,245,246,246,247,248,248,249,249,250,251,251,252,252,253,253,254,254,255,
+0,5,9,12,16,19,22,24,27,29,32,34,36,38,40,42,44,46,48,50,52,54,55,57,59,60,62,64,65,67,68,70,71,73,74,76,77,79,80,82,83,84,86,87,88,90,91,92,93,95,96,97,98,99,101,102,103,104,105,107,108,109,110,111,112,113,114,115,116,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,138,140,140,141,142,143,144,145,146,147,148,149,150,150,151,152,153,154,155,156,157,157,158,159,160,161,162,162,163,164,165,166,166,167,168,169,170,171,171,172,173,174,175,175,176,177,178,178,179,180,181,181,182,183,184,184,185,186,187,187,188,189,190,190,191,192,192,193,194,195,195,196,197,198,198,199,200,200,201,202,202,203,204,204,205,206,207,207,208,209,209,210,211,211,212,213,213,214,215,215,216,216,217,218,218,219,220,220,221,222,222,223,224,224,225,225,226,227,227,228,229,229,230,230,231,232,232,233,233,234,235,235,236,236,237,238,238,239,239,240,241,241,242,242,243,244,244,245,245,246,246,247,248,248,249,249,250,251,251,252,252,253,253,254,254,255,
+0,5,9,13,16,19,22,24,27,29,32,34,36,38,40,42,44,46,48,50,52,54,56,57,59,60,62,64,65,67,69,70,72,73,74,76,77,79,80,81,83,84,86,87,88,90,91,92,93,95,96,97,98,100,101,102,103,104,105,107,108,109,110,111,112,113,114,115,116,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,139,140,141,142,143,144,145,146,147,148,149,150,150,151,152,153,154,155,156,157,157,158,159,160,161,162,162,163,164,165,166,167,167,168,169,170,171,171,172,173,174,175,175,176,177,178,178,179,180,181,181,182,183,184,184,185,186,187,187,188,189,190,190,191,192,192,193,194,195,195,196,197,198,198,199,200,200,201,202,202,203,204,204,205,206,207,207,208,209,209,210,211,211,212,213,213,214,215,215,216,216,217,218,218,219,220,220,221,222,222,223,224,224,225,225,226,227,227,228,229,229,230,230,231,232,232,233,233,234,235,235,236,236,237,238,238,239,239,240,241,241,242,242,243,244,244,245,245,246,247,247,248,248,249,249,250,251,251,252,252,253,253,254,254,255,
+0,5,9,12,16,19,22,24,27,29,32,34,36,38,40,42,44,46,48,50,52,54,55,57,59,61,62,64,65,67,68,70,72,73,75,76,77,79,80,82,83,84,86,87,88,89,91,92,93,95,96,97,98,100,101,102,103,104,105,107,108,109,110,111,112,113,114,115,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,141,142,143,144,145,146,147,148,149,150,151,151,152,153,154,155,156,157,157,158,159,160,161,162,162,163,164,165,166,167,167,168,169,170,171,171,172,173,174,175,175,176,177,178,178,179,180,181,181,182,183,184,184,185,186,187,187,188,189,190,190,191,192,193,193,194,195,195,196,197,198,198,199,200,200,201,202,202,203,204,204,205,206,207,207,208,209,209,210,211,211,212,213,213,214,215,215,216,216,217,218,218,219,220,220,221,222,222,223,224,224,225,225,226,227,227,228,229,229,230,230,231,232,232,233,233,234,235,235,236,236,237,238,238,239,239,240,241,241,242,242,243,244,244,245,245,246,246,247,248,248,249,249,250,251,251,252,252,253,253,254,254,255,
+0,5,9,13,16,19,22,24,27,29,32,34,36,38,40,42,44,46,48,50,52,54,55,57,59,61,62,64,65,67,68,70,72,73,74,76,77,79,80,82,83,84,86,87,88,90,91,92,93,95,96,97,98,100,101,102,103,104,105,107,108,109,110,111,112,113,114,115,116,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,140,141,142,143,144,145,146,147,148,149,150,150,151,152,153,154,155,156,156,157,158,159,160,161,162,162,163,164,165,166,167,167,168,169,170,171,171,172,173,174,175,175,176,177,178,178,179,180,181,181,182,183,184,184,185,186,187,187,188,189,190,190,191,192,193,193,194,195,195,196,197,198,198,199,200,200,201,202,202,203,204,204,205,206,207,207,208,209,209,210,211,211,212,213,213,214,214,215,216,216,217,218,218,219,220,220,221,222,222,223,224,224,225,225,226,227,227,228,229,229,230,230,231,232,232,233,233,234,235,235,236,236,237,238,238,239,239,240,241,241,242,242,243,244,244,245,245,246,246,247,248,248,249,249,250,251,251,252,252,253,253,254,254,255,
+0,5,9,13,16,19,22,24,27,29,32,34,36,38,40,42,44,46,48,50,52,54,55,57,59,61,62,64,65,67,69,70,71,73,75,76,77,79,80,82,83,84,86,87,88,90,91,92,94,95,96,97,98,100,101,102,103,104,105,107,108,109,110,111,112,113,114,115,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,140,141,142,143,144,145,146,147,148,149,150,151,151,152,153,154,155,156,157,157,158,159,160,161,162,162,163,164,165,166,167,167,168,169,170,171,171,172,173,174,175,175,176,177,178,178,179,180,181,181,182,183,184,184,185,186,187,187,188,189,190,190,191,192,193,193,194,195,195,196,197,198,198,199,200,200,201,202,202,203,204,204,205,206,207,207,208,209,209,210,211,211,212,213,213,214,215,215,216,216,217,218,218,219,220,220,221,222,222,223,224,224,225,225,226,227,227,228,229,229,230,230,231,232,232,233,233,234,235,235,236,236,237,238,238,239,239,240,241,241,242,242,243,244,244,245,245,246,247,247,248,248,249,249,250,251,251,252,252,253,253,254,254,255,
+0,5,9,13,16,19,22,24,27,29,32,34,36,38,40,42,44,46,48,50,52,54,56,57,59,61,62,64,65,67,69,70,72,73,75,76,77,79,80,82,83,84,86,87,88,90,91,92,93,95,96,97,98,100,101,102,103,104,105,107,108,109,110,111,112,113,114,115,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,140,141,142,143,144,145,146,147,148,149,150,150,151,152,153,154,155,156,157,157,158,159,160,161,162,163,163,164,165,166,167,167,168,169,170,171,171,172,173,174,175,175,176,177,178,178,179,180,181,181,182,183,184,184,185,186,187,187,188,189,190,190,191,192,193,193,194,195,195,196,197,198,198,199,200,200,201,202,202,203,204,205,205,206,207,207,208,209,209,210,211,211,212,213,213,214,215,215,216,216,217,218,218,219,220,220,221,222,222,223,224,224,225,225,226,227,227,228,229,229,230,230,231,232,232,233,233,234,235,235,236,236,237,238,238,239,239,240,241,241,242,242,243,244,244,245,245,246,247,247,248,248,249,249,250,251,251,252,252,253,253,254,254,255,
+};
+
typedef struct glyph_metrics_t glyph_metrics_t;
typedef struct glyph_t glyph_t;
@@ -407,94 +665,8 @@
const pixman_glyph_t *glyphs)
{
- pixman_region32_t region;
- pixman_format_code_t glyph_format = PIXMAN_null;
- uint32_t glyph_flags = 0;
- pixman_format_code_t dest_format;
- uint32_t dest_flags;
- pixman_composite_func_t func = NULL;
- pixman_implementation_t *implementation = NULL;
- pixman_composite_info_t info;
- int i;
-
- _pixman_image_validate (src);
- _pixman_image_validate (dest);
-
- dest_format = dest->common.extended_format_code;
- dest_flags = dest->common.flags;
-
- pixman_region32_init (&region);
- if (!_pixman_compute_composite_region32 (
- &region,
- src, NULL, dest,
- src_x - dest_x, src_y - dest_y, 0, 0, 0, 0,
- dest->bits.width, dest->bits.height))
- {
- goto out;
- }
-
- info.op = op;
- info.src_image = src;
- info.dest_image = dest;
- info.src_flags = src->common.flags;
- info.dest_flags = dest->common.flags;
-
- for (i = 0; i < n_glyphs; ++i)
- {
- glyph_t *glyph = (glyph_t *)glyphs[i].glyph;
- pixman_image_t *glyph_img = glyph->image;
- pixman_box32_t glyph_box;
- pixman_box32_t *pbox;
- uint32_t extra = FAST_PATH_SAMPLES_COVER_CLIP_NEAREST;
- pixman_box32_t composite_box;
- int n;
-
- glyph_box.x1 = dest_x + glyphs[i].x - glyph->origin_x;
- glyph_box.y1 = dest_y + glyphs[i].y - glyph->origin_y;
- glyph_box.x2 = glyph_box.x1 + glyph->image->bits.width;
- glyph_box.y2 = glyph_box.y1 + glyph->image->bits.height;
-
- pbox = pixman_region32_rectangles (&region, &n);
-
- info.mask_image = glyph_img;
-
- while (n--)
- {
- if (box32_intersect (&composite_box, pbox, &glyph_box))
- {
- if (glyph_img->common.extended_format_code != glyph_format ||
- glyph_img->common.flags != glyph_flags)
- {
- glyph_format = glyph_img->common.extended_format_code;
- glyph_flags = glyph_img->common.flags;
-
- _pixman_implementation_lookup_composite (
- get_implementation(), op,
- src->common.extended_format_code, src->common.flags,
- glyph_format, glyph_flags | extra,
- dest_format, dest_flags,
- &implementation, &func);
- }
-
- info.src_x = src_x + composite_box.x1 - dest_x;
- info.src_y = src_y + composite_box.y1 - dest_y;
- info.mask_x = composite_box.x1 - (dest_x + glyphs[i].x - glyph->origin_x);
- info.mask_y = composite_box.y1 - (dest_y + glyphs[i].y - glyph->origin_y);
- info.dest_x = composite_box.x1;
- info.dest_y = composite_box.y1;
- info.width = composite_box.x2 - composite_box.x1;
- info.height = composite_box.y2 - composite_box.y1;
-
- info.mask_flags = glyph_flags;
-
- func (implementation, &info);
- }
-
- pbox++;
- }
- pixman_list_move_to_front (&cache->mru, &glyph->mru_link);
- }
-
-out:
- pixman_region32_fini (&region);
+ int f = pixman_glyph_get_mask_format(cache, n_glyphs, glyphs);
+ int w = pixman_image_get_width(dest);
+ int h = pixman_image_get_height(dest);
+ pixman_composite_glyphs(op, src, dest, f, src_x, src_y, 0, 0, dest_x, dest_y, w, h, cache, n_glyphs, glyphs);
}
@@ -618,4 +790,9 @@
}
+static unsigned char
+alpha_correct(unsigned char a, unsigned char foreground) {
+ return actable[(foreground << 8) | a];
+}
+
/* Conceptually, for each glyph, (white IN glyph) is PIXMAN_OP_ADDed to an
* infinitely big mask image at the position such that the glyph origin point
@@ -667,4 +844,29 @@
add_glyphs (cache, mask, - mask_x, - mask_y, n_glyphs, glyphs);
+ /* Can we do alpha correction? */
+ if (op == PIXMAN_OP_OVER && src->type == SOLID) {
+ /* FIXME: are src->solid values premultiplied? */
+ unsigned char fg_r = src->solid.color.red >> 8;
+ unsigned char fg_g = src->solid.color.green >> 8;
+ unsigned char fg_b = src->solid.color.blue >> 8;
+
+ unsigned int *mdata = pixman_image_get_data(mask);
+ int mheight = pixman_image_get_height(mask);
+ int mstride = pixman_image_get_stride(mask) >> 2;
+ int y;
+ for (y = 0; y < mheight; y ++) {
+ int x;
+ for (x = 0; x < mstride; x ++) {
+ unsigned int pc = mdata[y * mstride + x];
+ /* for alpha, use green as stand-in for intensity */
+ unsigned char a = alpha_correct(pc >> 24, fg_g);
+ unsigned char r = alpha_correct(pc >> 16, fg_r);
+ unsigned char g = alpha_correct(pc >> 8, fg_g);
+ unsigned char b = alpha_correct(pc, fg_b);
+ mdata[y * mstride + x] = (a << 24) | (r << 16) | (g << 8) | b;
+ }
+ }
+ }
+
pixman_image_composite32 (op, src, mask, dest,
src_x, src_y,
@Puxirepublic
Copy link

Puxirepublic commented Aug 5, 2016

Hi, @madig
Really thanks for your recently work to improve FreeType. I've tested this patch, and now lots of gtk+-backed (cairo/pixman) applictions work great with right font rendering (gamma-corrected). But only Firefox doen't get affected at all (since I use Firefox as main browser). So I'm asking here did I missed something before, or Firefox recent release makes this patch doen't work anymore?
Thanks.

My env,
pixman-0.34.0 with this patch.
Firefox-48.0-1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment