const int H_ColIdx0[316]={0,1,2,3,5,6,9,10,11,12,13,15,16,18,19,20,21,22,23,0,2,3,4,5,7,8,9,11,12,14,15,16,17,19,21,22,23,24,0,1,2,4,5,6,7,8,9,10,13,14,15,17,18,19,20,24,25,0,1,3,4,6,7,8,10,11,12,13,14,16,17,18,20,21,22,25,0,1,26,0,1,3,12,16,21,22,27,0,6,10,11,13,17,18,20,28,0,1,4,7,8,14,29,0,1,3,12,16,19,21,22,24,30,0,1,10,11,13,17,18,20,31,1,2,4,7,8,14,32,0,1,12,16,21,22,23,33,0,1,10,11,13,18,34,0,3,7,20,23,35,0,12,15,16,17,21,36,0,1,10,13,18,25,37,1,3,11,20,22,38,0,14,16,17,21,39,1,12,13,18,19,40,0,1,7,8,10,41,0,3,9,11,22,42,1,5,16,20,21,43,0,12,13,17,44,1,2,10,18,45,0,3,4,11,22,46,1,6,7,14,47,0,2,4,15,48,1,6,8,49,0,4,19,21,50,1,14,18,25,51,0,10,13,24,52,1,7,22,25,53,0,12,14,24,54,1,2,11,21,55,0,7,15,17,56,1,6,12,22,57,0,14,15,18,58,1,13,23,59,0,9,10,12,60,1,3,7,19,61,0,8,17,62,1,3,9,18,63,0,4,24,64,1,16,18,25,65,0,7,9,22,66,1,6,10,67};
const int H_RowWeight0[46]={19,19,19,19,3,8,9,7,10,9,7,8,7,6,7,7,6,6,6,6,6,6,5,5,6,5,5,4,5,5,5,5,5,5,5,5,5,4,5,5,4,5,4,5,5,4};
const int H_ColIdx1[197]={0,1,2,3,6,9,10,11,0,3,4,5,6,7,8,9,11,12,0,1,3,4,8,10,12,13,1,2,4,5,6,7,8,9,10,13,0,1,11,14,0,1,5,7,11,15,0,5,7,9,11,16,1,5,7,11,13,17,0,1,12,18,1,8,10,11,19,0,1,6,7,20,0,7,9,13,21,1,3,11,22,0,1,8,13,23,1,6,11,13,24,0,10,11,25,1,9,11,12,26,1,5,11,12,27,0,6,7,28,0,1,10,29,1,4,11,30,0,8,13,31,1,2,32,0,3,5,33,1,2,9,34,0,5,35,2,7,12,13,36,0,6,37,1,2,5,38,0,4,39,2,5,7,9,40,1,13,41,0,5,12,42,2,7,10,43,0,12,13,44,1,5,11,45,0,2,7,46,10,13,47,1,5,11,48,0,7,12,49,2,10,13,50,1,5,11,51};
const int H_RowWeight1[42]={8,10,8,10,4,6,6,6,4,5,5,5,4,5,5,4,5,5,4,4,4,4,3,4,4,3,5,3,4,3,5,3,4,4,4,4,4,3,4,4,4,4};
const int H_Shift0_0[316]={250,69,226,159,100,10,59,229,110,191,9,195,23,190,35,239,31,1,0,2,239,117,124,71,222,104,173,220,102,109,132,142,155,255,28,0,0,0,106,111,185,63,117,93,229,177,95,39,142,225,225,245,205,251,117,0,0,121,89,84,20,150,131,243,136,86,246,219,211,240,76,244,144,12,1,0,157,102,0,205,236,194,231,28,123,115,0,183,22,28,67,244,11,157,211,0,220,44,159,31,167,104,0,112,4,7,211,102,164,109,241,90,0,103,182,109,21,142,14,61,216,0,98,149,167,160,49,58,0,77,41,83,182,78,252,22,0,160,42,21,32,234,7,0,177,248,151,185,62,0,206,55,206,127,16,229,0,40,96,65,63,75,179,0,64,49,49,51,154,0,7,164,59,1,144,0,42,233,8,155,147,0,60,73,72,127,224,0,151,186,217,47,160,0,249,121,109,131,171,0,64,142,188,158,0,156,147,170,152,0,112,86,236,116,222,0,23,136,116,182,0,195,243,215,61,0,25,104,194,0,128,165,181,63,0,86,236,84,6,0,216,73,120,9,0,95,177,172,61,0,221,112,199,121,0,2,187,41,211,0,127,167,164,159,0,161,197,207,103,0,37,105,51,120,0,198,220,122,0,167,151,157,163,0,173,139,149,0,0,157,137,149,0,167,173,139,151,0,149,157,137,0,151,163,173,139,0,139,157,163,173,0,149,151,167,0};
const int H_Shift0_1[316]={307,19,50,369,181,216,317,288,109,17,357,215,106,242,180,330,346,1,0,76,76,73,288,144,331,331,178,295,342,217,99,354,114,331,112,0,0,0,205,250,328,332,256,161,267,160,63,129,200,88,53,131,240,205,13,0,0,276,87,0,275,199,153,56,132,305,231,341,212,304,300,271,39,357,1,0,332,181,0,195,14,115,166,241,51,157,0,278,257,1,351,92,253,18,225,0,9,62,316,333,290,114,0,307,179,165,18,39,224,368,67,170,0,366,232,321,133,57,303,63,82,0,101,339,274,111,383,354,0,48,102,8,47,188,334,115,0,77,186,174,232,50,74,0,313,177,266,115,370,0,142,248,137,89,347,12,0,241,2,210,318,55,269,0,13,338,57,289,57,0,260,303,81,358,375,0,130,163,280,132,4,0,145,213,344,242,197,0,187,206,264,341,59,0,205,102,328,213,97,0,30,11,233,22,0,24,89,61,27,0,298,158,235,339,234,0,72,17,383,312,0,71,81,76,136,0,194,194,101,0,222,19,244,274,0,252,5,147,78,0,159,229,260,90,0,100,215,258,256,0,102,201,175,287,0,323,8,361,105,0,230,148,202,312,0,320,335,2,266,0,210,313,297,21,0,269,82,115,0,185,177,289,214,0,258,93,346,297,0,175,37,312,0,52,314,139,288,0,113,14,218,0,113,132,114,168,0,80,78,163,274,0,135,149,15,0};
const int H_Shift0_2[316]={73,15,103,49,240,39,15,162,215,164,133,298,110,113,16,189,32,1,0,303,294,27,261,161,133,4,80,129,300,76,266,72,83,260,301,0,0,0,68,7,80,280,38,227,202,200,71,106,295,283,301,184,246,230,276,0,0,220,208,30,197,61,175,79,281,303,253,164,53,44,28,77,319,68,1,0,233,205,0,83,292,50,318,201,267,279,0,289,21,293,13,232,302,138,235,0,12,88,207,50,25,76,0,295,133,130,231,296,110,269,245,154,0,189,244,36,286,151,267,135,209,0,14,80,211,75,161,311,0,16,147,290,289,177,43,280,0,229,235,169,48,105,52,0,39,302,303,160,37,0,78,299,54,61,179,258,0,229,290,60,130,184,51,0,69,140,45,115,300,0,257,147,128,51,228,0,260,294,291,141,295,0,64,181,101,270,41,0,301,162,40,130,10,0,79,175,132,283,103,0,177,20,55,316,0,249,50,133,105,0,289,280,110,187,281,0,172,295,96,46,0,270,110,318,67,0,210,29,304,0,11,293,50,234,0,27,308,117,29,0,91,23,105,135,0,222,308,66,162,0,210,22,271,217,0,170,20,140,33,0,187,296,5,44,0,207,158,55,285,0,259,179,178,160,0,298,15,115,0,151,179,64,181,0,102,77,192,208,0,32,80,197,0,154,47,124,207,0,226,65,126,0,228,69,176,102,0,234,227,259,260,0,101,228,126,0};
const int H_Shift0_3[316]={223,16,94,91,74,10,0,205,216,21,215,14,70,141,198,104,81,1,0,141,45,151,46,119,157,133,87,206,93,79,9,118,194,31,187,0,0,0,207,203,31,176,180,186,95,153,177,70,77,214,77,198,117,223,90,0,0,201,18,165,5,45,142,16,34,155,213,147,69,96,74,99,30,158,1,0,170,10,0,164,59,86,80,182,130,153,0,158,119,113,21,63,51,136,116,0,17,76,104,100,150,158,0,33,95,4,217,204,39,58,44,201,0,9,37,213,105,89,185,109,218,0,82,165,174,19,194,103,0,52,11,2,35,32,84,201,0,142,175,136,3,28,182,0,81,56,72,217,78,0,14,175,211,191,51,43,0,90,120,131,209,209,81,0,154,164,43,189,101,0,56,110,200,63,4,0,199,110,200,143,186,0,8,6,103,198,8,0,105,210,121,214,183,0,192,131,220,50,106,0,53,0,3,148,0,88,203,168,122,0,49,157,64,193,124,0,1,166,65,81,0,107,176,212,127,0,208,141,174,0,146,153,217,114,0,150,11,53,68,0,34,130,210,123,0,175,49,177,128,0,192,209,58,30,0,114,49,161,137,0,82,186,68,150,0,192,173,26,187,0,222,157,0,6,0,81,195,138,0,123,90,73,10,0,12,77,49,114,0,67,45,96,0,23,215,60,167,0,114,91,78,0,206,22,134,161,0,84,4,9,12,0,184,121,29,0};
const int H_Shift0_4[316]={211,198,188,186,219,4,29,144,116,216,115,233,144,95,216,73,261,1,0,179,162,223,256,160,76,202,117,109,15,72,152,158,147,156,119,0,0,0,258,167,220,133,243,202,218,63,0,3,74,229,0,216,269,200,234,0,0,187,145,166,108,82,132,197,41,162,57,36,115,242,165,0,113,108,1,0,246,235,0,261,181,72,283,254,79,144,0,80,144,169,90,59,177,151,108,0,169,189,154,184,104,164,0,54,0,252,41,98,46,15,230,54,0,162,159,93,134,45,132,76,209,0,178,1,28,267,234,201,0,55,23,274,181,273,39,26,0,225,162,244,151,238,243,0,231,0,216,47,36,0,0,186,253,16,0,79,0,170,0,183,108,68,64,0,270,13,99,54,0,0,153,137,0,0,162,0,161,151,0,241,144,0,0,0,118,144,0,0,265,81,90,144,228,0,64,46,266,9,18,0,72,189,72,257,0,180,0,0,165,0,236,199,0,266,0,0,205,0,0,183,0,0,0,0,277,0,45,36,72,0,275,0,155,62,0,0,180,0,42,0,0,90,252,173,0,144,144,166,19,0,0,211,36,162,0,0,0,76,18,0,197,0,108,0,0,199,278,0,205,0,216,16,0,0,0,72,144,0,0,190,0,0,0,0,153,0,165,117,0,216,144,2,0,0,0,0,183,0,27,0,35,0,52,243,0,270,0,18,0,0,57,0,168,0,144,0};
const int H_Shift0_5[316]={294,118,167,330,207,165,243,250,1,339,201,53,347,304,167,47,188,1,0,77,225,96,338,268,112,302,50,167,253,334,242,257,133,9,302,0,0,0,226,35,213,302,111,265,128,237,294,127,110,286,125,131,163,210,7,0,0,97,94,49,279,139,166,91,106,246,345,269,185,249,215,143,121,121,1,0,42,256,0,219,130,251,322,295,258,283,0,294,73,330,99,172,150,284,305,0,3,103,224,297,215,39,0,348,75,22,312,224,17,59,314,244,0,156,88,293,111,92,152,23,337,0,175,253,27,231,49,267,0,25,322,200,351,166,338,192,0,123,217,142,110,176,76,0,311,251,265,94,81,0,22,322,277,156,66,78,0,176,348,15,81,176,113,0,190,293,332,331,114,0,110,228,247,116,190,0,47,286,246,181,73,0,87,110,147,258,204,0,89,65,155,244,30,0,162,264,346,143,109,0,280,157,236,113,0,18,6,181,304,0,38,170,249,288,194,0,279,255,111,54,0,325,326,226,99,0,91,326,268,0,102,1,40,167,0,273,104,243,107,0,171,16,95,212,0,101,297,279,222,0,351,265,338,83,0,56,304,141,101,0,60,320,112,54,0,100,210,195,268,0,135,15,35,188,0,319,236,85,0,164,196,209,246,0,236,264,37,