# # DO NOT MODIFY!!!! # This file is automatically generated by Racc 1.4.16 # from Racc grammar file "". # require 'racc/parser.rb' class Ruby27Parser < RubyParser::Parser require "ruby_lexer" require "ruby_parser_extras" include RubyLexer::State::Values # :stopdoc: # Local Variables: ** # racc-token-length-max:14 ** # End: ** ##### State transition tables begin ### clist = [ '-532,608,287,608,608,-108,287,-532,-532,-532,839,608,-532,-532,-532', '287,-532,237,654,-102,839,3,227,228,-532,-532,-532,-532,-532,657,130', '233,-532,-94,126,129,-532,-532,283,-532,-532,-532,-532,-532,838,-109', '-116,-104,608,-115,868,-80,97,238,838,894,235,615,-111,-113,98,770,-108', '-109,-116,-115,224,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532', '-532,-532,-532,-532,653,-110,-532,-532,-532,-102,-532,-532,289,-101', '-532,656,289,-532,-532,234,-532,-107,-532,225,-532,289,-532,-532,-532', '-532,-532,-532,-532,-99,-532,238,-532,-104,130,-116,130,130,-103,129', '-102,129,129,-102,130,-532,-532,-532,-532,129,-532,-535,-532,-111,-113', '-112,-110,-532,-535,-535,-535,-102,-532,-535,-535,-535,-532,-535,-104', '-100,-107,-104,226,-106,867,-535,-101,-535,-535,-535,130,130,-102,-104', '976,129,129,-535,-535,-104,-535,-535,-535,-535,-535,-108,-109,-116,-115', '-112,-108,-109,-116,-115,-632,-103,-101,108,109,229,-114,-101,227,228', '-101,-114,227,228,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535', '-535,-535,-535,-535,-101,-632,-535,-535,-535,278,-535,-535,-103,-546', '-535,-103,287,-535,-535,857,-535,340,-535,638,-535,858,-535,-535,-535', '-535,-535,-535,-535,-103,-535,341,-535,-632,130,-111,-113,-112,-110', '129,-111,-113,-112,-110,-633,-535,-535,-535,-535,238,-535,-309,-535', '638,110,111,643,-535,-309,-309,-309,-633,-535,377,-309,-309,-535,-309', '233,-108,238,-535,-103,736,238,232,735,-441,-535,-629,640,639,636,-105', '230,782,-547,-309,-309,783,-309,-309,-309,-309,-309,108,109,-114,401', '289,404,710,-114,482,406,588,409,585,584,583,-542,586,426,235,640,639', '-630,-542,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309', '-309,-309,-532,234,-309,-309,-309,431,681,-532,-213,481,-309,483,-629', '-309,-109,638,-532,638,-309,484,-309,830,-309,-309,-309,-309,-309,-309', '-309,593,-309,-116,-309,237,-629,513,831,-535,638,292,596,-116,110,111', '-535,-309,-309,-636,-105,-630,-309,887,675,-535,-636,-636,-636,-309', '525,593,-636,-636,-309,-636,736,-532,-114,738,-115,-546,596,-630,-636', '604,603,-636,640,639,640,639,636,-111,676,-636,-636,800,-636,-636,-636', '-636,-636,588,528,585,584,583,-113,586,-541,640,639,530,-535,604,603', '-541,929,597,922,-79,736,-99,-111,738,-636,-636,-636,-636,-636,-636', '-636,-636,-636,-636,-636,-636,-636,-636,-636,-108,-636,-636,-636,238', '682,-636,-543,597,-636,540,-632,-636,-113,-543,-636,817,-636,541,-636', '548,-636,-636,-636,-636,-636,-636,-636,295,-636,-636,-636,-353,-636', '233,-544,-545,-110,238,-353,1025,479,-544,-545,-636,-636,-636,-103,-353', '-636,480,-544,-545,-636,-636,-636,-636,292,-636,-636,-636,-636,-636', '233,-636,-112,736,-547,-540,738,547,-636,-636,-636,-636,-540,-110,-300', '238,545,551,1056,-636,-636,-300,-636,-636,-636,-636,-636,557,233,258', '-300,238,-537,233,-353,556,234,-544,-545,-537,619,-538,130,638,480,615', '-100,129,-538,617,-636,-636,-636,-636,-636,-636,-636,-636,-636,-636', '-636,-636,-636,-636,-109,234,-636,-636,-636,233,832,-636,227,228,-636', '419,668,-636,-636,-300,-636,620,-636,621,-636,666,-636,-636,-636,-636', '-636,-636,-636,234,-636,-636,-636,588,234,585,584,583,593,586,640,639', '641,645,-213,-636,-636,-636,-636,596,-636,-309,-636,675,-539,676,649', '-636,-309,-309,-309,-539,-636,-309,-309,-309,-112,-309,-310,633,234', '591,574,227,228,-310,634,-309,-309,-309,601,600,604,603,-310,652,-106', '-309,-309,655,-309,-309,-309,-309,-309,-102,233,-104,-309,604,603,-310', '130,785,-115,-309,662,129,-310,-282,-633,638,787,-111,-309,-113,597', '-310,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309', '-309,664,-310,-309,-309,-309,-309,833,-309,275,276,-309,638,-309,-309', '-309,638,-309,-633,-309,665,-309,-309,-309,-309,-309,-309,-309,-309', '-309,234,-309,-309,-309,588,-310,585,584,583,593,586,640,639,646,274', '273,-309,-309,-309,-309,596,-309,-309,-309,890,894,817,130,-309,-309', '-309,-309,129,-309,669,-309,-309,-114,-309,233,238,-309,591,640,639', '658,1047,640,639,803,233,601,600,604,603,787,673,1053,-309,-309,674', '-309,-309,-309,-309,-309,1051,233,-101,227,228,890,894,588,1047,585', '584,583,292,586,130,686,258,787,258,129,-110,597,258,-309,-309,-309', '-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,258,234,-309', '-309,-309,258,681,693,756,238,-309,255,234,-309,238,257,256,759,-309', '238,-309,238,-309,-309,-309,-309,-309,-309,-309,234,-309,588,-309,585', '584,583,-94,586,588,713,585,584,583,238,586,-309,-309,-636,-309,560', '-309,724,725,428,-636,-636,-636,-309,430,429,-636,-636,-309,-636,258', '729,-114,732,238,756,739,740,-636,258,530,744,756,747,759,748,268,269', '750,-636,-636,969,-636,-636,-636,-636,-636,1018,752,585,584,583,255', '586,261,754,257,256,253,254,762,255,259,763,260,257,256,253,254,764', '-636,-636,-636,-636,-636,-636,-636,-636,-636,-636,-636,-636,-636,-636', '766,258,-636,-636,-636,588,682,585,584,583,-636,586,732,-636,732,615', '732,789,-636,794,-636,804,-636,-636,-636,-636,-636,-636,-636,805,-636', '-636,-636,255,-283,818,513,257,256,253,254,513,238,756,835,-636,-636', '278,-636,844,-636,8,87,88,89,12,80,-636,846,528,81,82,-636,530,724,85', '-112,83,84,86,33,34,78,79,133,134,135,136,137,90,31,30,118,117,119,120', '917,918,22,238,919,124,125,670,11,51,10,13,122,121,123,112,62,114,113', '115,292,116,124,125,292,108,109,724,47,48,46,258,262,263,264,265,275', '276,270,271,266,267,258,251,252,238,885,268,269,238,43,894,732,36,238', '923,64,65,258,-284,66,238,38,255,928,261,50,257,256,253,254,274,273', '259,23,260,945,724,-282,105,97,99,100,101,103,950,955,238,98,106,255', '272,747,-256,257,256,68,958,960,95,102,104,962,964,110,111,964,238,44', '45,314,87,88,89,12,80,970,732,732,81,82,732,238,732,85,238,83,84,86', '33,34,78,79,133,134,135,136,137,90,31,30,118,117,119,120,238,989,22', '-285,990,747,993,670,11,51,316,13,122,121,123,112,62,114,113,115,996', '116,124,125,998,108,109,1000,47,48,46,258,262,263,264,265,275,276,270', '271,266,267,238,251,252,1002,1014,268,269,1015,43,1027,732,318,732,794', '64,65,1045,1048,66,857,38,255,1054,261,50,257,256,253,254,274,273,259', '23,260,1057,964,964,105,97,99,100,101,103,964,1062,1027,98,106,747,272', '1071,1073,1075,1077,68,1077,729,95,102,104,1027,732,110,111,732,-633', '44,45,314,87,88,89,12,80,-632,238,964,81,82,1027,1100,1077,85,1077,83', '84,86,33,34,78,79,133,134,135,136,137,90,31,30,118,117,119,120,1077', '1018,22,585,584,583,1077,586,11,51,316,13,122,121,123,112,62,114,113', '115,,116,124,125,,108,109,,47,48,46,258,262,263,264,265,275,276,270', '271,266,267,,251,252,,,268,269,,43,,,36,,,64,65,,,66,,38,255,,261,50', '257,256,253,254,274,273,259,23,260,,,,105,97,99,100,101,103,,,,98,106', ',272,,,,,68,,,95,102,104,,,110,111,,,44,45,314,87,88,89,12,80,,,,81', '82,,,,85,,83,84,86,33,34,78,79,133,134,135,136,137,90,31,30,118,117', '119,120,,,22,,,,,,11,51,316,13,122,121,123,112,62,114,113,115,,116,124', '125,,108,109,,47,48,46,258,262,263,264,265,275,276,270,271,266,267,', '251,252,,,268,269,,43,,,36,,,64,65,,,66,,38,255,,261,50,257,256,253', '254,274,273,259,23,260,,,,105,97,99,100,101,103,,,,98,106,,272,,,,,68', ',,95,102,104,,,110,111,,,44,45,314,87,88,89,12,80,,,,81,82,,,,85,,83', '84,86,33,34,78,79,,,,,,90,31,30,118,117,119,120,,,22,,,,,,11,51,316', '13,122,121,123,112,62,114,113,115,,116,124,125,,108,109,,47,48,46,258', '262,263,264,265,275,276,270,271,266,267,,251,252,,,268,269,,43,,,318', ',,64,65,,,66,,38,255,,261,50,257,256,253,254,274,273,259,23,260,,,,105', '97,99,100,101,103,,,,98,106,238,272,,,,,68,,,95,102,104,,,110,111,,', '44,45,314,87,88,89,12,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90', '31,30,118,117,119,120,,,22,,,,,,11,51,316,13,122,121,123,112,62,114', '113,115,,116,124,125,,108,109,,47,48,46,258,262,263,264,265,275,276', '270,271,266,267,,251,252,,,268,269,,43,,,318,,,64,65,,,66,,38,255,,261', '50,257,256,253,254,274,273,259,23,260,,,,105,97,99,100,101,103,,,,98', '106,,272,,,,,68,,,95,102,104,,,110,111,,,44,45,314,87,88,89,12,80,,', ',81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,118,117,119,120,,,22', ',,,,,11,51,316,13,122,121,123,112,62,114,113,115,,116,124,125,,108,109', ',47,48,46,258,262,263,264,265,275,276,270,271,266,267,,251,252,,,268', '269,,43,,,36,,,64,65,,,66,,38,255,,261,50,257,256,253,254,274,273,259', '23,260,,,,105,97,99,100,101,103,,,,98,106,,272,,,,,68,,,95,102,104,', ',110,111,,,44,45,314,87,88,89,12,80,,,,81,82,,,,85,,83,84,86,33,34,78', '79,,,,,,90,31,30,118,117,119,120,,,22,,,,,,11,51,316,13,122,121,123', '112,62,114,113,115,,116,124,125,,108,109,,47,48,46,258,262,263,264,265', '275,276,270,271,266,267,,251,252,,,268,269,,43,,,36,,,64,65,,,66,,38', '255,,261,50,257,256,253,254,274,273,259,23,260,,,,105,97,99,100,101', '103,,,,98,106,,272,,,,,68,,,95,102,104,,,110,111,,,44,45,314,87,88,89', '12,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,118,117,119', '120,,,22,,,,,,11,51,316,13,122,121,123,112,62,114,113,115,,116,124,125', ',108,109,,47,48,46,258,262,263,264,265,275,276,270,271,266,267,,-659', '-659,,,268,269,,43,,,36,,,64,65,,,66,,38,255,,261,50,257,256,253,254', '274,273,259,23,260,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95', '102,104,,,110,111,,,44,45,314,87,88,89,12,80,,,,81,82,,,,85,,83,84,86', '33,34,78,79,,,,,,90,31,30,118,117,119,120,,,22,,,,,,11,51,316,13,122', '121,123,112,62,114,113,115,,116,124,125,,108,109,,47,48,46,258,262,263', '264,265,275,276,270,271,266,267,,-659,-659,,,268,269,,43,,,36,,,64,65', ',,66,,38,255,,261,50,257,256,253,254,274,273,259,23,260,,,,105,97,99', '100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,314,87', '88,89,12,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,118,117', '119,120,,,22,,,,,,11,51,316,13,122,121,123,112,62,114,113,115,,116,124', '125,,108,109,,47,48,46,258,262,263,264,265,275,276,270,271,266,267,', '-659,-659,,,268,269,,43,,,36,,,64,65,,,66,,38,255,,261,50,257,256,253', '254,274,273,259,23,260,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,', ',95,102,104,,,110,111,,,44,45,8,87,88,89,12,80,,,,81,82,,,,85,,83,84', '86,33,34,78,79,,,,,,90,31,30,118,117,119,120,,,22,,,,,,11,51,10,13,122', '121,123,112,62,114,113,115,,116,124,125,,108,109,,47,48,46,258,262,263', '264,265,275,276,270,271,266,267,,-659,-659,,,268,269,,43,,,36,,,64,65', ',,66,,38,255,,261,50,257,256,253,254,274,273,259,23,260,,,,105,97,99', '100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,314,87', '88,89,12,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,118,117', '119,120,,588,22,585,584,583,,586,11,51,316,13,122,121,123,112,62,114', '113,115,,116,124,125,,108,109,,47,48,46,258,-659,-659,-659,-659,275', '276,,756,-659,-659,,,,,,268,269,,43,,,36,,,64,65,,,66,,38,255,,261,50', '257,256,253,254,274,273,259,23,260,,,,105,97,99,100,101,103,,,,98,106', ',,,,,,68,,,95,102,104,,,110,111,,,44,45,314,87,88,89,12,80,,,,81,82', ',,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,118,117,119,120,,588,22,585', '584,583,,586,11,51,316,13,122,121,123,112,62,114,113,115,,116,124,125', ',108,109,,47,48,46,258,-659,-659,-659,-659,275,276,,756,-659,-659,,', ',,,268,269,,43,,,36,,,64,65,,,66,,38,255,,261,50,257,256,253,254,274', '273,259,23,260,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102', '104,,,110,111,,,44,45,314,87,88,89,12,80,,,,81,82,,,,85,,83,84,86,33', '34,78,79,,,,,,90,31,30,118,117,119,120,,588,22,585,584,583,,586,11,51', '316,13,122,121,123,112,62,114,113,115,,116,124,125,,108,109,,47,48,46', '258,-659,-659,-659,-659,275,276,,756,-659,-659,,,,,,268,269,,43,,,36', ',,64,65,,,66,,38,255,,261,50,257,256,253,254,274,273,259,23,260,,,,105', '97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45', '314,87,88,89,12,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30', '118,117,119,120,,588,22,585,584,583,,586,11,51,316,13,122,121,123,112', '62,114,113,115,,116,124,125,,108,109,,47,48,46,258,-659,-659,-659,-659', '275,276,,756,-659,-659,,,,,,268,269,,43,,,36,,,64,65,,,66,,38,255,,261', '50,257,256,253,254,274,273,259,23,260,,,,105,97,99,100,101,103,,,,98', '106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,314,87,88,89,12,80,,,,81', '82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,118,117,119,120,,,22,,', ',,,11,51,316,13,122,121,123,112,62,114,113,115,,116,124,125,,108,109', ',47,48,46,258,-659,-659,-659,-659,275,276,,,-659,-659,,,,,,268,269,', '43,,,36,,,64,65,,,66,,38,255,,261,50,257,256,253,254,274,273,259,23', '260,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111', ',,44,45,314,87,88,89,12,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,', ',90,31,30,118,117,119,120,,,22,,,,,,11,51,316,13,122,121,123,112,62', '114,113,115,,116,124,125,,108,109,,47,48,46,258,-659,-659,-659,-659', '275,276,,,-659,-659,,,,,,268,269,,43,,,36,,,64,65,,,66,,38,255,,261', '50,257,256,253,254,274,273,259,23,260,,,,105,97,99,100,101,103,,,,98', '106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,314,87,88,89,12,80,,,,81', '82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,118,117,119,120,,,22,,', ',,,11,51,316,13,122,121,123,112,62,114,113,115,,116,124,125,,108,109', ',47,48,46,258,262,263,264,265,275,276,,,266,267,,,,,,268,269,,43,,,36', ',,64,65,,,66,,38,255,,261,50,257,256,253,254,274,273,259,23,260,,,,105', '97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45', '314,87,88,89,12,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30', '118,117,119,120,,,22,,,,,,11,51,316,13,122,121,123,112,62,114,113,115', ',116,124,125,,108,109,,47,48,46,258,262,263,264,265,275,276,270,,266', '267,,,,,,268,269,,43,,,36,,,64,65,,,66,,38,255,,261,50,257,256,253,254', '274,273,259,23,260,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95', '102,104,,,110,111,,,44,45,314,87,88,89,12,80,,,,81,82,,,,85,,83,84,86', '33,34,78,79,,,,,,90,31,30,118,117,119,120,,,22,,,,,,11,51,316,13,122', '121,123,112,62,114,113,115,,116,124,125,,108,109,,47,48,46,258,,,,,', ',,,,,,,,,,268,269,,43,,,36,,258,64,65,,,66,,38,255,,261,50,257,256,253', '254,268,269,259,23,260,,,,105,97,99,100,101,103,,,255,98,106,,257,256', '253,254,,68,,,95,102,104,,,110,111,,,44,45,314,87,88,89,12,80,,,,81', '82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,118,117,119,120,,,22,,', ',,,11,51,316,13,122,121,123,112,62,114,113,115,,116,124,125,,108,109', ',47,48,46,258,,,,,,,,,,,,,,,,268,269,,43,,,36,,,64,65,,,66,,38,255,', '261,50,257,256,253,254,,,,23,,,,,105,97,99,100,101,103,,,,98,106,,,', ',,,68,,,95,102,104,,,110,111,,,44,45,314,87,88,89,12,80,,,,81,82,,,', '85,,83,84,86,33,34,78,79,,,,,,90,31,30,118,117,119,120,,,22,,,,,,11', '51,316,13,122,121,123,112,62,114,113,115,,116,124,125,,108,109,,47,48', '46,258,,,,,,,,,,,,,,,,268,269,,43,,,36,,,64,65,,,66,,38,255,,261,50', '257,256,253,254,,,,23,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,', ',95,102,104,,,110,111,,,44,45,314,87,88,89,12,80,,,,81,82,,,,85,,83', '84,86,33,34,78,79,,,,,,90,31,30,118,117,119,120,,,22,,,,,,11,51,316', '13,122,121,123,112,62,114,113,115,,116,124,125,,108,109,,47,48,46,,', ',,,,,,,,,,,,,,,,,43,,,36,,,64,65,,,66,,38,,,,50,,,,,,,,23,,,,,105,97', '99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,314', '87,88,89,12,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,118', '117,119,120,,,22,,,,,,11,51,316,13,122,121,123,112,62,114,113,115,,116', '124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,43,,,36,,,64,65,,,66,', '38,,,,50,,,,,,,,23,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95', '102,104,,,110,111,,,44,45,314,87,88,89,12,80,,,,81,82,,,,85,,83,84,86', '33,34,78,79,,,,,,90,31,30,118,117,119,120,,,22,,,,,,11,51,316,13,122', '121,123,112,62,114,113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,', ',,,,,,,,,,43,,,36,,,64,65,,,66,,38,,,,50,,,,,,,,23,,,,,105,97,99,100', '101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,314,87,88', '89,12,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,118,117', '119,120,,,22,,,,,,11,51,316,13,122,121,123,112,62,114,113,115,,116,124', '125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,43,,,36,,,64,65,,,66,,38,', ',,50,,,,,,,,23,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102', '104,,,110,111,,,44,45,314,87,88,89,12,80,,,,81,82,,,,85,,83,84,86,33', '34,78,79,,,,,,90,31,30,118,117,119,120,,,22,,,,,,11,51,316,13,122,121', '123,112,62,114,113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,', ',,,,,,43,,,36,,,64,65,,,66,,38,,,,50,,,,,,,,23,,,,,105,97,99,100,101', '103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,314,87,88,89,12', '80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,118,117,119,120', ',,22,,,,,,11,51,316,13,122,121,123,112,62,114,113,115,,116,124,125,', '108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,43,,,36,,,64,65,,,66,,38,,,,50', ',,,,,,,23,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104', ',,110,111,,,44,45,87,88,89,12,80,,,,81,82,,,,85,,83,84,86,33,34,78,79', ',,,,,90,31,30,118,117,119,120,,,22,,,,,,11,51,10,13,122,121,123,112', '62,114,113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,43', ',,36,,,64,65,,,66,,38,,,,50,,,,,,,,23,,,,,105,97,99,100,101,103,,,,98', '106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,', ',85,,83,84,86,33,34,78,79,,,,,,90,31,30,118,117,119,120,,,250,,,,,,', '51,,,122,121,123,112,62,114,113,115,,116,124,125,,108,109,,47,48,46', ',,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248,,,,,105', '97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,-449,110,111,,,44', '45,-449,-449,-449,,,-449,-449,-449,588,-449,585,584,583,593,586,,,,-449', '-449,-449,,,,596,,,,,-449,-449,,-449,-449,-449,-449,-449,,,,,,,,,,591', ',,,,,,,,601,600,604,603,,-449,-449,-449,-449,-449,-449,-449,-449,-449', '-449,-449,-449,-449,-449,,,-449,-449,-449,,,-449,,292,-449,,,-449,-449', ',-449,597,-449,,-449,,-449,-449,-449,-449,-449,-449,-449,,-449,-449', '-449,,,,,,,,,,,,,-449,-449,-318,-449,,-449,,,,-318,-318,-318,-449,,-318', '-318,-318,-449,-318,,,,,,,,,,-318,-318,,,,,,,,,-318,-318,,-318,-318', '-318,-318,-318,,,,,,,,,,,,,,,,,,,,,,,,-318,-318,-318,-318,-318,-318', '-318,-318,-318,-318,-318,-318,-318,-318,,,-318,-318,-318,,,-318,,295', '-318,,,-318,-318,,-318,,-318,,-318,,-318,-318,-318,-318,-318,-318,-318', ',-318,,-318,,,,,,,,,,,,,-318,-318,,-318,,-318,87,88,89,,80,,-318,,81', '82,,-318,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,118,117,119,120,,,250', ',,,,,,51,,,122,121,123,112,62,114,113,115,307,116,124,125,,108,109,', '47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,304,,302,,50,,,', ',,,,248,,,,,105,305,99,100,101,103,,,,98,106,,,,,,,68,,308,95,102,104', ',,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79', ',,,,,90,31,30,118,117,119,120,,,250,,,,,,,51,,,122,121,123,112,62,114', '113,115,307,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,', '249,,,64,65,,,66,,304,,302,,50,,,,,,,,248,,,,,105,305,99,100,101,103', ',,,98,106,,,,,,,68,,308,95,102,104,,,110,111,,,44,45,87,88,89,,80,,', ',81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,118,117,119,120,,,250', ',,,,,,51,,,122,121,123,112,62,114,113,115,307,116,124,125,,108,109,', '47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,304,,302,,50,,,', ',,,,248,,,,,105,305,99,100,101,103,,,,98,106,,,,,,,68,,308,95,102,104', ',,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79', ',,,,,90,330,336,118,117,119,120,,,250,,,,,,,51,,,122,121,123,112,62', '114,113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,', ',249,,,64,65,,,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103,,,,98', '106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,', ',85,,83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119,120,,,250,,', ',,,,51,,,122,121,123,112,62,114,113,115,,116,124,125,,108,109,,47,48', '46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248,,,,', '105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44', '45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336', '118,117,119,120,,,250,,,,,,,51,,,122,121,123,112,62,114,113,115,,116', '124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66', ',,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95', '102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333', '334,78,79,,,,,,90,330,336,118,117,119,120,,,250,,,,,,,51,,,122,121,123', '112,62,114,113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,', ',,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103', ',,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81', '82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119,120,,,250', ',,,,,,51,,,122,121,123,112,62,114,113,115,,116,124,125,,108,109,,47', '48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248,', ',,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,-301,110,111', ',,44,45,-301,-301,-301,,,-301,-301,-301,588,-301,585,584,583,593,586', ',,,,-301,-301,-301,,,596,,,,,-301,-301,,-301,-301,-301,-301,-301,,,', ',,,,,,591,,,,,,,,,601,600,604,603,,-301,-301,-301,-301,-301,-301,-301', '-301,-301,-301,-301,-301,-301,-301,,,-301,-301,-301,,,-301,,,-301,,', '-301,-301,,-301,597,-301,,-301,,-301,-301,-301,-301,-301,-301,-301,', '-301,,-301,,,,,,,,,,,,,-301,-301,-301,-301,,-301,,-301,,,,,-301,,,,-658', '-301,87,88,89,12,80,-658,-658,-658,81,82,-658,-658,-658,85,-658,83,84', '86,33,34,78,79,,-658,-658,-658,,90,31,30,118,117,119,120,-658,-658,22', '-658,-658,-658,-658,-658,11,51,,13,122,121,123,112,62,114,113,115,,116', '124,125,,108,109,,47,48,46,-658,-658,-658,-658,-658,-658,-658,-658,-658', '-658,-658,-658,-658,-658,,,-658,-658,-658,43,,-658,36,292,-658,64,65', '-658,-658,66,-658,38,-658,,-658,50,-658,-658,-658,-658,-658,-658,-658', '23,-658,-658,-658,,105,97,99,100,101,103,,,,98,106,-658,-658,,-658,', '-658,68,,,95,102,104,-658,,110,111,,-658,44,45,87,88,89,,80,,,,81,82', ',,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,118,117,119,120,,,22,,,,,', ',51,,,122,121,123,112,62,114,113,115,,116,124,125,,108,109,,47,48,46', ',,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,23,,,,,105', '97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45', '87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,118', '117,119,120,,,22,,,,,,,51,,,122,121,123,112,62,114,113,115,,116,124', '125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,', ',,50,,,,,,,,23,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102', '104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78', '79,,,,,,90,31,30,118,117,119,120,,,22,,,,,,,51,,,122,121,123,112,62', '114,113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,', ',249,,,64,65,,,66,,,,,,50,,,,,,,,23,,,,,105,97,99,100,101,103,,,,98', '106,130,,,,,129,68,,,95,102,104,,,110,111,,,44,45,87,88,89,12,80,,,', '81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,118,117,119,120,,,22', ',,,,,11,51,10,13,122,121,123,112,62,114,113,115,,116,124,125,,108,109', ',47,48,46,,,,,,,,,,,,,,,,,,,,43,,,36,,,64,65,,,66,,38,,,,50,,,,,,,,23', ',,,,105,97,99,100,101,103,,,,98,106,,,,,,419,68,,,95,102,104,,,110,111', ',,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31', '30,118,117,119,120,,,22,,,,,,,51,,,122,121,123,112,62,114,113,115,,116', '124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66', ',,,,,50,,,,,,,,23,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95', '102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34', '78,79,,,,,,90,31,30,118,117,119,120,,,22,,,,,,,51,,,122,121,123,112', '62,114,113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243', ',,249,,,64,65,,,66,,,,,,50,,,,,,,,23,,,,,105,97,99,100,101,103,,,,98', '106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,', ',85,,83,84,86,33,34,78,79,,,,,,90,31,30,118,117,119,120,,,22,,,,,,,51', ',,122,121,123,112,62,114,113,115,,116,124,125,,108,109,,47,48,46,,,', ',,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,23,,,,,105,97', '99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,87', '88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,118,117', '119,120,,,22,,,,,,,51,,,122,121,123,112,62,114,113,115,,116,124,125', ',108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50', ',,,,,,,23,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104', ',,110,111,,,44,45,87,88,89,12,80,,,,81,82,,,,85,,83,84,86,33,34,78,79', ',,,,,90,31,30,118,117,119,120,,,22,,,,,,11,51,,13,122,121,123,112,62', '114,113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,43,,', '36,,,64,65,,,66,,38,,,,50,,,,,,,,23,,,,,105,97,99,100,101,103,,,,98', '106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,', ',85,,83,84,86,33,34,78,79,,,,,,90,31,30,118,117,119,120,,,250,,,,,,', '51,,,122,121,123,112,62,114,113,115,,116,124,125,,108,109,,47,48,46', ',,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,436,,,,50,,,,,,,,248,,,,', '105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44', '45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,118', '117,119,120,,,250,,,,,,,51,,,122,121,123,112,62,114,113,115,,116,124', '125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,436', ',,,50,,,,,,,,248,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102', '104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78', '79,,,,,,90,31,30,118,117,119,120,,,22,,,,,,,51,,,122,121,123,112,62', '114,113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,', ',249,,,64,65,,,66,,,,,,50,,,,,,,,23,,,,,105,97,99,100,101,103,,,,98', '106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,', ',85,,83,84,86,33,34,78,79,,,,,,90,31,30,118,117,119,120,,,22,,,,,,,51', ',,122,121,123,112,62,114,113,115,,116,124,125,,108,109,,47,48,46,,,', ',,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,23,,,,,105,97', '99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,87', '88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,118,117', '119,120,,,250,,,,,,,51,,,122,121,123,112,62,114,113,115,,116,124,125', ',108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50', ',,,,,,,248,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104', ',,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79', ',,,,,90,31,30,118,117,119,120,,,250,,,,,,,51,,,122,121,123,112,62,114', '113,115,307,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,', '249,,,64,65,,,66,,304,,302,,50,,,,,,,,248,,,,,105,305,99,100,101,103', ',,,98,106,,,,,,,68,,308,95,102,104,,,110,111,,,44,45,87,88,89,,80,,', ',81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,118,117,119,120,,,250', ',,,,,,51,,,122,121,123,112,62,114,113,115,,116,124,125,,108,109,,47', '48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248,', ',,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,', ',44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31', '30,118,117,119,120,,,22,,,,,,,51,,,122,121,123,112,62,114,113,115,,116', '124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66', ',,,,,50,,,,,,,,23,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95', '102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34', '78,79,,,,,,90,31,30,118,117,119,120,,,22,,,,,,,51,,,122,121,123,112', '62,114,113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243', ',,249,,,64,65,,,66,,,,,,50,,,,,,,,23,,,,,105,97,99,100,101,103,,,,98', '106,238,,,,,,68,,,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82', ',,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119,120,,,250', ',,,,,,51,,,122,121,123,112,62,114,113,115,,116,124,125,,108,109,,47', '48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248,', ',,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,', ',44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330', '336,118,117,119,120,,,250,,,,,,,51,,,122,121,123,112,62,114,113,115', ',116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65', ',,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68', ',,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86', '333,334,78,79,,,,,,90,330,336,118,117,119,120,,,250,,,,,,,51,,,122,121', '123,112,62,114,113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,', ',,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100,101', '103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,87,88,89,,80,', ',,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119,120', ',,250,,,,,,,51,,,122,121,123,112,62,114,113,115,,116,124,125,,108,109', ',47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248', ',,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111', ',,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90', '330,336,118,117,119,120,,,250,,,,,,,51,,,122,121,123,112,62,114,113', '115,,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64', '65,,,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103,,,,98,106,,,,,', ',68,,,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84', '86,333,334,78,79,,,,,,90,330,336,118,117,119,120,,,250,,,,,,,51,,,122', '121,123,112,62,114,113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,', ',,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100', '101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,87,88,89,', '80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119', '120,,,250,,,,,,,51,,,122,121,123,112,62,114,113,115,,116,124,125,,108', '109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,', ',,,248,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110', '111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,', ',90,330,336,118,117,119,120,,,250,,,,,,,51,,,122,121,123,112,62,114', '113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249', ',,64,65,,,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103,,,,98,106', ',,,,,,68,,,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85', ',83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119,120,,,250,,,,,,', '51,,,122,121,123,112,62,114,113,115,,116,124,125,,108,109,,47,48,46', ',,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248,,,,,105', '97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45', '87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336', '118,117,119,120,,,250,,,,,,,51,,,122,121,123,112,62,114,113,115,,116', '124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66', ',,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95', '102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333', '334,78,79,,,,,,90,330,336,118,117,119,120,,,250,,,,,,,51,,,122,121,123', '112,62,114,113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,', ',,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103', ',,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81', '82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119,120,,,250', ',,,,,,51,,,122,121,123,112,62,114,113,115,,116,124,125,,108,109,,47', '48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248,', ',,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,', ',44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330', '336,118,117,119,120,,,250,,,,,,,51,,,122,121,123,112,62,114,113,115', ',116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65', ',,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68', ',,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86', '333,334,78,79,,,,,,90,330,336,118,117,119,120,,,250,,,,,,,51,,,122,121', '123,112,62,114,113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,', ',,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100,101', '103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,87,88,89,,80,', ',,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119,120', ',,250,,,,,,,51,,,122,121,123,112,62,114,113,115,,116,124,125,,108,109', ',47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248', ',,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111', ',,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90', '330,336,118,117,119,120,,,250,,,,,,,51,,,122,121,123,112,62,114,113', '115,,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64', '65,,,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103,,,,98,106,,,,,', ',68,,,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84', '86,333,334,78,79,,,,,,90,330,336,118,117,119,120,,,250,,,,,,,51,,,122', '121,123,112,62,114,113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,', ',,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100', '101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,87,88,89,', '80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119', '120,,,250,,,,,,,51,,,122,121,123,112,62,114,113,115,,116,124,125,,108', '109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,', ',,,248,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110', '111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,', ',90,330,336,118,117,119,120,,,250,,,,,,,51,,,122,121,123,112,62,114', '113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249', ',,64,65,,,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103,,,,98,106', ',,,,,,68,,,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85', ',83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119,120,,,250,,,,,,', '51,,,122,121,123,112,62,114,113,115,,116,124,125,,108,109,,47,48,46', ',,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248,,,,,105', '97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45', '87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336', '118,117,119,120,,,250,,,,,,,51,,,122,121,123,112,62,114,113,115,,116', '124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66', ',,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95', '102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333', '334,78,79,,,,,,90,330,336,118,117,119,120,,,250,,,,,,,51,,,122,121,123', '112,62,114,113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,', ',,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103', ',,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81', '82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119,120,,,250', ',,,,,,51,,,122,121,123,112,62,114,113,115,,116,124,125,,108,109,,47', '48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248,', ',,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,', ',44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330', '336,118,117,119,120,,,250,,,,,,,51,,,122,121,123,112,62,114,113,115', ',116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65', ',,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68', ',,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86', '33,34,78,79,,,,,,90,31,30,118,117,119,120,,,250,,,,,,,51,,,122,121,123', '112,62,114,113,115,307,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,', ',,,,,243,,,249,,,64,65,,,66,,304,,302,,50,,,,,,,,248,,,,,105,305,99', '100,101,103,,,,98,106,,,,,,,68,,308,95,102,104,,,110,111,,,44,45,87', '88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,118,117', '119,120,,,250,,,,,,,51,,,122,121,123,112,62,114,113,115,307,116,124', '125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,304', ',302,,50,,,,,,,,248,,,,,105,305,99,100,101,103,,,,98,106,,,,,,,68,,308', '95,102,104,,,110,111,,,44,519,87,88,89,,80,,,,81,82,,,,85,,83,84,86', '33,34,78,79,,,,,,90,31,30,118,117,119,120,,,250,,,,,,,51,,,122,121,123', '112,62,114,113,115,307,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,', ',,,,,243,,,249,,,64,65,,,66,,304,,302,,50,,,,,,,,248,,,,,105,305,99', '100,101,103,,,,98,106,238,,,,,,68,,308,95,102,104,,,110,111,,,44,45', '87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336', '118,117,119,120,,,250,,,,,,,51,,,122,121,123,112,62,114,113,115,,116', '124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66', ',,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95', '102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333', '334,78,79,,,,,,90,330,336,118,117,119,120,,,250,,,,,,,51,,,122,121,123', '112,62,114,113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,', ',,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103', ',,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81', '82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119,120,,,250', ',,,,,,51,,,122,121,123,112,62,114,113,115,,116,124,125,,108,109,,47', '48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248,', ',,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,', ',44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330', '336,118,117,119,120,,,250,,,,,,,51,,,122,121,123,112,62,114,113,115', ',116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65', ',,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68', ',,95,102,104,,,110,111,,,44,45,87,88,89,12,80,,,,81,82,,,,85,,83,84', '86,33,34,78,79,,,,,,90,31,30,118,117,119,120,,,22,,,,,,11,51,,13,122', '121,123,112,62,114,113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,', ',,,,,,,,,,43,,,36,,,64,65,,,66,,38,,,,50,,,,,,,,23,,,,,105,97,99,100', '101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,87,88,89,', '80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119', '120,,,250,,,,,,,51,,,122,121,123,112,62,114,113,115,,116,124,125,,108', '109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,', ',,,248,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110', '111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,', ',90,330,336,118,117,119,120,,,250,,,,,,,51,,,122,121,123,112,62,114', '113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249', '560,,64,65,,,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103,,,,98,106', ',,,,,,68,,,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85', ',83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119,120,,,250,,,,,,', '51,,,122,121,123,112,62,114,113,115,307,116,124,125,,108,109,,47,48', '46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,304,,,,50,,,,,,,,248,', ',,,105,305,99,100,101,103,,,,98,106,,,,,,,68,,308,95,102,104,,,110,111', ',,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90', '330,336,118,117,119,120,,,250,,,,,,,51,,,122,121,123,112,62,114,113', '115,307,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249', ',,64,65,,,66,,,,,,50,,,,,,,,248,,,,,105,305,99,100,101,103,,,,98,106', ',,,,,,68,,308,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,', '85,,83,84,86,33,34,78,79,,,,,,90,31,30,118,117,119,120,,,22,,,,,,,51', ',,122,121,123,112,62,114,113,115,,116,124,125,,108,109,,47,48,46,,,', ',,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,23,,,,,105,97', '99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,87', '88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,118', '117,119,120,,,250,,,,,,,51,,,122,121,123,112,62,114,113,115,,116,124', '125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,', ',,50,,,,,,,,248,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102', '104,,-637,110,111,,,44,45,-637,-637,-637,,,-637,-637,-637,588,-637,585', '584,583,593,586,,,,-637,-637,-637,-637,,,596,,,,,-637,-637,,-637,-637', '-637,-637,-637,,,,,,,,,,591,,,,,,,,,,,604,603,,-637,-637,-637,-637,-637', '-637,-637,-637,-637,-637,-637,-637,-637,-637,,,-637,-637,-637,,,-637', ',,-637,,,-637,-637,,-637,597,-637,,-637,,-637,-637,-637,-637,-637,-637', '-637,,-637,-637,-637,588,,585,584,583,593,586,,,,,,-637,-637,-637,-637', '596,-637,-638,-637,,,,,-637,-638,-638,-638,,-637,-638,-638,-638,,-638', ',,,591,,,,,-638,-638,-638,-638,601,600,604,603,,,,-638,-638,,-638,-638', '-638,-638,-638,,,,,,,,,,,,,,,,,,,,,,597,,-638,-638,-638,-638,-638,-638', '-638,-638,-638,-638,-638,-638,-638,-638,,,-638,-638,-638,,,-638,,,-638', ',,-638,-638,,-638,,-638,,-638,,-638,-638,-638,-638,-638,-638,-638,,-638', '-638,-638,,,,,,,,,,,,,-638,-638,-638,-638,,-638,,-638,,,,,-638,,87,88', '89,-638,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,118,117', '119,120,,,250,,,,,,,51,,,122,121,123,112,62,114,113,115,307,116,124', '125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,304', ',302,,50,,,,,,,,248,,,,,105,305,99,100,101,103,,,,98,106,,,,,,,68,,308', '95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333', '334,78,79,,,,,,90,330,336,118,117,119,120,,,250,,,,,,,51,,,122,121,123', '112,62,114,113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,', ',,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103', ',,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81', '82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119,120,,,250', ',,,,,,51,,,122,121,123,112,62,114,113,115,,116,124,125,,108,109,,47', '48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248,', ',,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,', ',44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330', '336,118,117,119,120,,,250,,,,,,,51,,,122,121,123,112,62,114,113,115', ',116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65', ',,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68', ',,95,102,104,,-658,110,111,,,44,45,-658,-658,-658,,,-658,-658,-658,588', '-658,585,584,583,593,586,,,,-658,-658,,,,,596,,,,,-658,-658,,-658,-658', '-658,-658,-658,,588,,585,584,583,593,586,,591,,,,,,,,596,601,600,604', '603,,,,,,,,,,,,,-658,,,,,591,,-658,,,,,292,-658,601,600,604,603,,,597', ',,,,,,,,,,912,,,-658,-658,,,,,,,238,,,,,,-658,,597,,,-658,87,88,89,', '80,,-658,,81,82,,-658,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,118', '117,119,120,,,250,,,,,,,51,,,122,121,123,112,62,114,113,115,,116,124', '125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,', ',,50,,,,,,,,248,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102', '104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334', '78,79,,,,,,90,330,336,118,117,119,120,,,250,,,,,,,51,,,122,121,123,112', '62,114,113,115,307,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,', ',243,,,249,,,64,65,,,66,,707,,302,,50,,,,,,,,248,,,,,105,305,99,100', '101,103,,,,98,106,,,,,,,68,,308,95,102,104,,,110,111,,,44,45,87,88,89', ',80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119', '120,,,250,,,,,,,51,,,122,121,123,112,62,114,113,115,307,116,124,125', ',108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,,302', ',50,,,,,,,,248,,,,,105,305,99,100,101,103,,,,98,106,,,,,,,68,,308,95', '102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333', '334,78,79,,,,,,90,330,336,118,117,119,120,,,250,,,,,,,51,,,122,121,123', '112,62,114,113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,', ',,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103', ',,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,87,88,89,12,80,,,', '81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,118,117,119,120,,,22', ',,,,,11,51,316,13,122,121,123,112,62,114,113,115,,116,124,125,,108,109', ',47,48,46,,,,,,,,,,,,,,,,,,,,43,,,36,,,64,65,,,66,,38,,,,50,,,,,,,,23', ',,,,105,97,99,100,101,103,,,,98,106,,,,,,419,68,,,95,102,104,,,110,111', ',,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31', '30,118,117,119,120,,,250,,,,,,,51,,,122,121,123,112,62,114,113,115,307', '116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65', ',,66,,304,,302,,50,,,,,,,,248,,,,,105,305,99,100,101,103,,,,98,106,', ',,,,,68,,308,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85', ',83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119,120,,,250,,,,,,', '51,,,122,121,123,112,62,114,113,115,,116,124,125,,108,109,,47,48,46', ',,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248,,,,,105', '97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45', '87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,118', '117,119,120,,,22,,,,,,,51,,,122,121,123,112,62,114,113,115,,116,124', '125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,', ',,50,,,,,,,,23,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102', '104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334', '78,79,,,,,,90,330,336,118,117,119,120,,,250,,,,,,,51,,,122,121,123,112', '62,114,113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243', ',,249,,,64,65,,,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103,,,,98', '106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,', ',85,,83,84,86,33,34,78,79,,,,,,90,31,30,118,117,119,120,,,250,,,,,,', '51,,,122,121,123,112,62,114,113,115,307,116,124,125,,108,109,,47,48', '46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,304,,302,,50,,,,,,,,248', ',,,,105,305,99,100,101,103,,,,98,106,,,,,,,68,,308,95,102,104,,,110', '111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90', '31,30,118,117,119,120,,,22,,,,,,,51,,,122,121,123,112,62,114,113,115', ',116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65', ',,66,,,,,,50,,,,,,,,23,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68', ',,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86', '33,34,78,79,,,,,,90,31,30,118,117,119,120,,,22,,,,,,,51,,,122,121,123', '112,62,114,113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,', ',,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,23,,,,,105,97,99,100,101,103', ',,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81', '82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119,120,,,250', ',,,,,,51,,,122,121,123,112,62,114,113,115,,116,124,125,,108,109,,47', '48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,809,,,,50,,,,,,,,248', ',,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111', ',,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31', '30,118,117,119,120,,,250,,,,,,,51,,,122,121,123,112,62,114,113,115,', '116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65', ',,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68', ',,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86', '33,34,78,79,,,,,,90,31,30,118,117,119,120,,,250,,,,,,,51,,,122,121,123', '112,62,114,113,115,307,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,', ',,,,,243,,,249,,,64,65,,,66,,304,,302,,50,,,,,,,,248,,,,,105,305,99', '100,101,103,,,,98,106,,,,,,,68,,308,95,102,104,,,110,111,,,44,45,87', '88,89,12,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,118,117', '119,120,,,22,,,,,,11,51,,13,122,121,123,112,62,114,113,115,,116,124', '125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,43,,,36,,,64,65,,,66,,38,', ',,50,,,,,,,,23,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102', '104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334', '78,79,,,,,,90,330,336,118,117,119,120,,,250,,,,,,,51,,,122,121,123,112', '62,114,113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243', ',,249,,,64,65,,,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103,,,,98', '106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,', ',85,,83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119,120,,,250,,', ',,,,51,,,122,121,123,112,62,114,113,115,307,116,124,125,,108,109,,47', '48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,707,,302,,50,,,,,,', ',248,,,,,105,305,99,100,101,103,,,,98,106,,,,,,,68,,308,95,102,104,', ',110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79', ',,,,,90,330,336,118,117,119,120,,,250,,,,,,,51,,,122,121,123,112,62', '114,113,115,307,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243', ',,249,,,64,65,,,66,,,,302,,50,,,,,,,,248,,,,,105,305,99,100,101,103', ',,,98,106,,,,,,,68,,308,95,102,104,,,110,111,,,44,45,87,88,89,,80,,', ',81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,118,117,119,120,,,250', ',,,,,,51,,,122,121,123,112,62,114,113,115,,116,124,125,,108,109,,47', '48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248,', ',,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,', ',44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31', '30,118,117,119,120,,,250,,,,,,,51,,,122,121,123,112,62,114,113,115,', '116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65', ',,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68', ',,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86', '33,34,78,79,,,,,,90,31,30,118,117,119,120,,,250,,,,,,,51,,,122,121,123', '112,62,114,113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,', ',,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103', ',,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81', '82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,118,117,119,120,,,250,', ',,,,,51,,,122,121,123,112,62,114,113,115,,116,124,125,,108,109,,47,48', '46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248,,,,', '105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44', '45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336', '118,117,119,120,,,250,,,,,,,51,,,122,121,123,112,62,114,113,115,,116', '124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66', ',,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95', '102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333', '334,78,79,,,,,,90,330,336,118,117,119,120,,,250,,,,,,,51,,,122,121,123', '112,62,114,113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,', ',,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103', ',,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81', '82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119,120,,,250', ',,,,,,51,,,122,121,123,112,62,114,113,115,,116,124,125,,108,109,,47', '48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248,', ',,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,', ',44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330', '336,118,117,119,120,,,250,,,,,,,51,,,122,121,123,112,62,114,113,115', ',116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65', ',,66,,436,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103,,,,98,106,,,,,', ',68,,,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84', '86,333,334,78,79,,,,,,90,330,336,118,117,119,120,,,250,,,,,,,51,,,122', '121,123,112,62,114,113,115,307,116,124,125,,108,109,,47,48,46,,,,,,', ',,,,,,,,,,,,,243,,,249,,,64,65,,,66,,707,,,,50,,,,,,,,248,,,,,105,305', '99,100,101,103,,,,98,106,,,,,,,68,,308,95,102,104,,,110,111,,,44,45', '87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336', '118,117,119,120,,,250,,,,,,,51,,,122,121,123,112,62,114,113,115,307', '116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65', ',,66,,,,,,50,,,,,,,,248,,,,,105,305,99,100,101,103,,,,98,106,,,,,,,68', ',308,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84', '86,333,334,78,79,,,,,,90,330,336,118,117,119,120,,,250,,,,,,,51,,,122', '121,123,112,62,114,113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,', ',,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100', '101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,87,88,89,', '80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119', '120,,,250,,,,,,,51,,,122,121,123,112,62,114,113,115,,116,124,125,,108', '109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,304,,,,50,', ',,,,,,248,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104', ',,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79', ',,,,,90,31,30,118,117,119,120,,,250,,,,,,,51,,,122,121,123,112,62,114', '113,115,307,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,', '249,,,64,65,,,66,,304,,302,,50,,,,,,,,248,,,,,105,305,99,100,101,103', ',,,98,106,,,,,,,68,,308,95,102,104,,,110,111,,,44,45,87,88,89,,80,,', ',81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119,120', ',,250,,,,,,,51,,,122,121,123,112,62,114,113,115,,116,124,125,,108,109', ',47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248', ',,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111', ',,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31', '30,118,117,119,120,,,250,,,,,,,51,,,122,121,123,112,62,114,113,115,', '116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65', ',,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68', ',,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86', '333,334,78,79,,,,,,90,330,336,118,117,119,120,,,250,,,,,,,51,,,122,121', '123,112,62,114,113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,', ',,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100,101', '103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,87,88,89,,80,', ',,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119,120', ',,250,,,,,,,51,,,122,121,123,112,62,114,113,115,,116,124,125,,108,109', ',47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248', ',,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111', ',,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90', '330,336,118,117,119,120,,,250,,,,,,,51,,,122,121,123,112,62,114,113', '115,,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64', '65,,,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103,,,,98,106,,,,,', ',68,,,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84', '86,333,334,78,79,,,,,,90,330,336,118,117,119,120,,,250,,,,,,,51,,,122', '121,123,112,62,114,113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,', ',,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100', '101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,87,88,89,', '80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119', '120,,,250,,,,,,,51,,,122,121,123,112,62,114,113,115,,116,124,125,,108', '109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,,,,50,,,,', ',,,248,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110', '111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90', '31,30,118,117,119,120,,,22,,,,,,,51,,,122,121,123,112,62,114,113,115', ',116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65', ',,66,,,,,,50,,,,,,,,23,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68', ',,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86', '33,34,78,79,,,,,,90,31,30,118,117,119,120,,,22,,,,,,,51,,,122,121,123', '112,62,114,113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,', ',,243,,,249,,,64,65,,,66,,,,,,50,,,,,,,,23,,,,,105,97,99,100,101,103', ',,,98,106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81', '82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119,120,,,250', ',,,,,,51,,,122,121,123,112,62,114,113,115,307,116,124,125,,108,109,', '47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,,,302,,50,,,,,,', ',248,,,,,105,305,99,100,101,103,,,,98,106,,,,,,,68,,308,95,102,104,', ',110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79', ',,,,,90,330,336,118,117,119,120,,,250,,,,,,,51,,,122,121,123,112,62', '114,113,115,,116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,', ',249,,,64,65,,,66,,,,,,50,,,,,,,,248,,,,,105,97,99,100,101,103,,,,98', '106,,,,,,,68,,,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,', ',85,,83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119,120,,,250,,', ',,,,51,,,122,121,123,112,62,114,113,115,,116,124,125,,108,109,,47,48', '46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65,,,66,,707,,,,50,,,,,,,,248,', ',,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,', ',44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31', '30,118,117,119,120,,,250,,,,,,,51,,,122,121,123,112,62,114,113,115,307', '116,124,125,,108,109,,47,48,46,,,,,,,,,,,,,,,,,,,,243,,,249,,,64,65', ',,66,,304,,302,,50,,,,,,,,248,,,,,105,305,99,100,101,103,,,,98,106,', ',,,,,68,,308,95,102,104,,,110,111,,,44,45,87,88,89,,80,,,,81,82,,,,85', ',83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119,120,,,250,,,,,,', '331,,,122,121,123,112,62,114,113,115,,116,124,125,,108,109,,,,337,,', ',,,,,,,,,,,,,,,,,327,,,323,,,64,65,,,66,,322,,,,,,,,,,,,,,,,,105,97', '99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,87,88,89,,80', ',,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119,120', ',,250,,,,,,,331,,,122,121,123,112,62,114,113,115,,116,124,125,,108,109', ',,,337,,,,,,,,,,,,,,,,,,,,327,,,249,,,64,65,,,66,,,,,,,,,,,,,,,,,,,105', '97,99,100,101,103,,,,98,106,,,,339,,,68,,,95,102,104,,,110,111,87,88', '89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,118,117', '119,120,,,250,,,,,,,331,,,122,121,123,112,62,114,113,115,,116,124,125', ',108,109,,,,337,,,,,,,,,,,,,,,,,,,,371,,,36,,,64,65,,,66,,38,,,,,,,', ',,,,,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110', '111,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330', '336,118,117,119,120,,,250,,,,,,,331,,,122,121,123,112,62,114,113,115', ',116,124,125,,108,109,,,,337,,,,,,,,,,,,,,,,,,,,327,,,249,,,64,65,,', '66,,,,,,,,,,,,,,,,,,,105,97,99,100,101,103,,,,98,106,,,,543,,,68,,,95', '102,104,,,110,111,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79', ',,,,,90,330,336,118,117,119,120,,,250,,,,,,,331,,,122,121,123,112,62', '114,113,115,,116,124,125,,108,109,,,,337,,,,,,,,,,,,,,,,,,,,327,,,323', ',,64,65,,,66,,,,,,,,,,,,,,,,,,,105,97,99,100,101,103,,,,98,106,,,,,', ',68,,,95,102,104,,,110,111,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333', '334,78,79,,,,,,90,330,336,118,117,119,120,,,250,,,,,,,331,,,122,121', '123,622,62,114,113,623,,116,124,125,,108,109,,,,337,,,,,,,,,,,,,,,,', ',,,624,,,249,,,64,65,,,66,,,,,,,,,,,,,,,,,,,105,97,99,100,101,103,,', ',98,106,,,,,,,68,,,95,102,104,,,110,111,87,88,89,,80,,,,81,82,,,,85', ',83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119,120,,,250,,,,,,', '331,,,122,121,123,622,62,114,113,623,,116,124,125,,108,109,,,,337,,', ',,,,,,,,,,,,,,,,,624,,,249,,,64,65,,,66,,,,,,,,,,,,,,,,,,,105,97,99', '100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,87,88,89,,80,', ',,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119,120', ',,250,,,,,,,331,,,122,121,123,112,62,114,113,115,,116,124,125,,108,109', ',,,337,,,,,,,,,,,,,,,,,,,,327,,,323,,,64,65,,,66,,,,,,,,,,,,,,,,,,,105', '97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,87,88,89', ',80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119', '120,,,250,,,,,,,331,,,122,121,123,112,62,114,113,115,,116,124,125,,108', '109,,,,337,,,,,,,,,,,,,,,,,,,,327,,,323,,,64,65,,,66,,,,,,,,,,,,,,,', ',,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,87', '88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,118', '117,119,120,,,250,,,,,,,331,,,122,121,123,112,62,114,113,115,,116,124', '125,,108,109,,,,337,,,,,,,,,,,,,,,,,,,,327,,,323,,,64,65,,,66,,,,,,', ',,,,,,,,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,', '110,111,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90', '330,336,118,117,119,120,,,250,,,,,,,331,,,122,121,123,112,62,114,113', '115,,116,124,125,,108,109,,,,337,,,,,,,,,,,,,,,,,,,,327,,,323,,,64,65', ',,66,,,,,,,,,,,,,,,,,,,105,97,99,100,101,103,,,,98,106,,,,,,,68,,,95', '102,104,,,110,111,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79', ',,,,,90,330,336,118,117,119,120,,,250,,,,,,,331,,,122,121,123,112,62', '114,113,115,,116,124,125,,108,109,,,,337,,,,,,,,,,,,,,,,,,,,1004,,,249', ',,64,65,,,66,,,,,,,,,,,,,,,,,,,105,97,99,100,101,103,,,,98,106,,,,,', ',68,,,95,102,104,,,110,111,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333', '334,78,79,,,,,,90,330,336,118,117,119,120,,,250,,,,,,,331,,,122,121', '123,112,62,114,113,115,,116,124,125,,108,109,,,,337,,,,,,,,,,,,,,,,', ',,,1011,,,249,,,64,65,,,66,,,,,,,,,,,,,,,,,,,105,97,99,100,101,103,', ',,98,106,,,,,,,68,,,95,102,104,,,110,111,87,88,89,,80,,,,81,82,,,,85', ',83,84,86,333,334,78,79,,,,,,90,330,336,118,117,119,120,,,250,,,,,,', '331,,,122,121,123,112,62,114,113,115,,116,124,125,,108,109,,,,337,,', ',,,,,,,,,,,,,,,,,1004,,,249,,,64,65,,,66,,,,,,,,,,,,,,,,,,,105,97,99', '100,101,103,,,,98,106,,,,,,,68,,,95,102,104,,,110,111,191,202,192,215', '188,208,198,197,218,219,213,196,195,190,216,220,221,200,189,203,207', '209,201,194,,,,210,217,212,211,204,214,199,187,206,205,,,,,,186,193', '184,185,181,182,183,141,143,140,,142,,,,,,,,,175,176,,171,153,154,155', '162,159,161,,,156,157,,,,177,178,163,164,,,,,,,,,,,,,,168,167,,152,174', '170,169,165,166,160,158,150,173,151,,,179,105,,,,,,,,,,106,,,,,,,,,172', ',,,,180,191,202,192,215,188,208,198,197,218,219,213,196,195,190,216', '220,221,200,189,203,207,209,201,194,,,,210,217,212,211,204,214,199,187', '206,205,,,,,,186,193,184,185,181,182,183,141,143,,,142,,,,,,,,,175,176', ',171,153,154,155,162,159,161,,,156,157,,,,177,178,163,164,,,,,,,,,,', ',,,168,167,,152,174,170,169,165,166,160,158,150,173,151,,,179,105,,', ',,,,,,,106,,,,,,,,,172,,,,,180,191,202,192,215,188,208,198,197,218,219', '213,196,195,190,216,220,221,200,189,203,207,209,201,194,,,,210,217,212', '386,385,387,384,187,206,205,,,,,,186,193,184,185,381,382,383,379,143', '114,113,380,,116,,,,,,,175,176,,171,153,154,155,162,159,161,,,156,157', ',,,177,178,163,164,,,,,,393,,,,,,,,168,167,,152,174,170,169,165,166', '160,158,150,173,151,,,179,,,,,,,,,,,,,,,,,,,,172,,,,,180,191,202,192', '215,188,208,198,197,218,219,213,196,195,190,216,220,221,200,189,203', '207,209,201,194,,,,210,217,212,211,204,214,199,187,206,205,,,,,,186', '193,184,185,181,182,183,141,143,416,415,142,,417,,,,,,,175,176,,171', '153,154,155,162,159,161,,,156,157,,,,177,178,163,164,,,,,,,,,,,,,,168', '167,,152,174,170,169,165,166,160,158,150,173,151,,,179,,,,,,,,,,,,,', ',,,,,,172,,,,,180,191,202,192,215,188,208,198,197,218,219,213,196,195', '190,216,220,221,200,189,203,207,209,201,194,,,,210,217,212,211,204,214', '199,187,206,205,,,,,,186,193,184,185,181,182,183,141,143,,,142,,,,,', ',,,175,176,,171,153,154,155,162,159,161,,,156,157,,,,177,178,163,164', ',,,,,,,,,,,,,168,167,,152,174,170,169,165,166,160,158,150,173,151,,', '179,105,,,,,,,,,,106,,,,,,,,,172,,,,,180,191,202,192,215,188,208,198', '197,218,219,213,196,195,190,216,220,221,200,189,203,207,209,201,194', ',,,210,217,212,211,204,214,199,187,206,205,,,,,,186,193,184,185,181', '182,183,141,143,,,142,,,,,,,,,175,176,,171,153,154,155,162,159,161,', ',156,157,,,,177,178,163,164,,,,,,,,,,,,,,168,167,,152,174,170,169,165', '166,160,158,150,173,151,,,179,105,,,,,,,,,,106,,,,,,,,,172,,,,,180,191', '202,192,215,188,208,198,197,218,219,213,196,195,190,216,220,221,200', '189,203,207,209,201,194,,,,210,217,212,211,204,214,199,187,206,205,', ',,,,186,193,184,185,181,182,183,141,143,,,142,,,,,,,,,175,176,,171,153', '154,155,162,159,161,,,156,157,,,,177,178,163,164,,,,,,,,,,,,,,168,167', ',152,174,170,169,165,166,160,158,150,173,151,,,179,,,,,,,,,,459,463', ',,460,,,,,,172,,,175,176,180,171,153,154,155,162,159,161,,,156,157,', ',,177,178,163,164,,,,,,292,,,,,,,,168,167,,152,174,170,169,165,166,160', '158,150,173,151,,,179,,,,,,,,,,466,470,,,465,,,,,,172,,,175,176,180', '171,153,154,155,162,159,161,,,156,157,,,,177,178,163,164,,,,,,292,,', ',,,,,168,167,,152,174,170,169,165,166,160,158,150,173,151,,588,179,585', '584,583,593,586,,,,,511,463,,,512,596,,,,,172,,,175,176,180,171,153', '154,155,162,159,161,,,156,157,591,,,177,178,163,164,,,601,600,604,603', ',,,,,,,168,167,,152,174,170,169,165,166,160,158,150,173,151,,,179,,', ',,,,,,597,687,463,,,688,,,,,,172,,,175,176,180,171,153,154,155,162,159', '161,,,156,157,,,,177,178,163,164,,,,,,292,,,,,,,,168,167,,152,174,170', '169,165,166,160,158,150,173,151,,,179,,,,,,,,,,689,470,,,690,,,,,,172', ',,175,176,180,171,153,154,155,162,159,161,,,156,157,,,,177,178,163,164', ',,,,,292,,,,,,,,168,167,,152,174,170,169,165,166,160,158,150,173,151', ',,179,,,,,,,,,,717,463,,,718,,,,,,172,,,175,176,180,171,153,154,155', '162,159,161,,,156,157,,,,177,178,163,164,,,,,,292,,,,,,,,168,167,,152', '174,170,169,165,166,160,158,150,173,151,,,179,,,,,,,,,,720,470,,,721', ',,,,,172,,,175,176,180,171,153,154,155,162,159,161,,,156,157,,,,177', '178,163,164,,,,,,292,,,,,,,,168,167,,152,174,170,169,165,166,160,158', '150,173,151,,,179,,,,,,,,,,687,463,,,688,,,,,,172,,,175,176,180,171', '153,154,155,162,159,161,,,156,157,,,,177,178,163,164,,,,,,292,,,,,,', ',168,167,,152,174,170,169,165,166,160,158,150,173,151,,,179,,,,,,,,', ',689,470,,,690,,,,,,172,,,175,176,180,171,153,154,155,162,159,161,,', '156,157,,,,177,178,163,164,,,,,,292,,,,,,,,168,167,,152,174,170,169', '165,166,160,158,150,173,151,,,179,,,,,,,,,,777,463,,,778,,,,,,172,,', '175,176,180,171,153,154,155,162,159,161,,,156,157,,,,177,178,163,164', ',,,,,292,,,,,,,,168,167,,152,174,170,169,165,166,160,158,150,173,151', ',,179,,,,,,,,,,779,470,,,780,,,,,,172,,,175,176,180,171,153,154,155', '162,159,161,,,156,157,,,,177,178,163,164,,,,,,292,,,,,,,,168,167,,152', '174,170,169,165,166,160,158,150,173,151,,,179,,,,,,,,,,811,463,,,812', ',,,,,172,,,175,176,180,171,153,154,155,162,159,161,,,156,157,,,,177', '178,163,164,,,,,,292,,,,,,,,168,167,,152,174,170,169,165,166,160,158', '150,173,151,,,179,,,,,,,,,,814,470,,,813,,,,,,172,,,175,176,180,171', '153,154,155,162,159,161,,,156,157,,,,177,178,163,164,,,,,,292,,,,,,', ',168,167,,152,174,170,169,165,166,160,158,150,173,151,,,179,,,,,,,,', ',901,470,,,902,,,,,,172,,,175,176,180,171,153,154,155,162,159,161,,', '156,157,,,,177,178,163,164,,,,,,292,,,,,,,,168,167,,152,174,170,169', '165,166,160,158,150,173,151,,,179,,,,,,,,,,511,463,,,512,,,,,,172,,', '175,176,180,171,153,154,155,162,159,161,,,156,157,,,,177,178,163,164', ',,,,,292,,,,,,,,168,167,,152,174,170,169,165,166,160,158,150,173,151', ',,179,,,,,,,,,,1081,470,,,1080,,,,,,172,,,175,176,180,171,153,154,155', '162,159,161,,,156,157,,,,177,178,163,164,,,,,,292,,,,,,,,168,167,,152', '174,170,169,165,166,160,158,150,173,151,,,179,,,,,,,,,,1084,463,,,1085', ',,,,,172,,,175,176,180,171,153,154,155,162,159,161,,,156,157,,,,177', '178,163,164,,,,,,292,,,,,,,,168,167,,152,174,170,169,165,166,160,158', '150,173,151,,,179,588,,585,584,583,593,586,,,1086,470,,,1087,,,596,', ',172,,,175,176,180,171,153,154,155,162,159,161,,,156,157,,,591,177,178', '163,164,,,,,,292,604,603,,,,,,168,167,,152,174,170,169,165,166,160,158', '150,173,151,,588,179,585,584,583,593,586,,,,,,597,,,,596,,,,,172,,,', '588,180,585,584,583,593,586,,,,,,,591,,588,596,585,584,583,593,586,', ',604,603,,,,,588,596,585,584,583,593,586,,591,,,,,,,,596,,,604,603,', ',591,,,,,597,,,,601,600,604,603,,,591,588,,585,584,583,593,586,,601', '600,604,603,,,597,588,596,585,584,583,593,586,,,,,,,,597,588,596,585', '584,583,593,586,,591,,,,,,597,,596,,,604,603,,,591,588,,585,584,583', '593,586,,,,604,603,,,591,588,596,585,584,583,593,586,,601,600,604,603', ',,597,588,596,585,584,583,593,586,,591,,,,,,597,,596,,,604,603,,,591', ',,,,,597,,,,,604,603,,,591,588,,585,584,583,593,586,,,,604,603,,,597', ',596,,,,,,,,,,,,,597,,,,,,,,,591,,,,,,597,,,,,604,603,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,597' ] racc_action_table = arr = ::Array.new(27247, nil) idx = 0 clist.each do |str| str.split(',', -1).each do |i| arr[idx] = i.to_i unless i.empty? idx += 1 end end clist = [ '112,360,67,361,949,368,332,112,112,112,694,973,112,112,112,696,112,22', '407,717,845,1,475,475,112,379,112,112,112,410,5,27,379,712,3,5,112,112', '27,112,112,112,112,112,694,369,372,718,898,620,742,712,94,22,845,1030', '20,1030,777,778,94,610,1008,1009,1012,1054,13,112,112,112,112,112,112', '112,112,112,112,112,112,112,112,407,899,112,112,112,717,112,112,67,851', '112,410,332,112,112,27,112,20,112,15,112,696,112,112,112,112,112,112', '112,368,112,475,112,718,360,20,361,949,720,360,717,361,949,717,973,112', '112,112,112,973,112,115,112,1084,1085,1086,1098,112,115,115,115,717', '112,115,115,115,112,115,718,369,372,718,16,620,742,115,851,115,115,115', '610,898,777,778,898,610,898,115,115,718,115,115,115,115,115,1008,1009', '1012,1054,779,1008,1009,1012,1054,720,720,899,46,46,18,780,851,727,727', '851,1087,797,797,115,115,115,115,115,115,115,115,115,115,115,115,115', '115,851,1086,115,115,115,25,115,115,720,241,115,720,29,115,115,728,115', '40,115,532,115,728,115,115,115,115,115,115,115,720,115,43,115,779,311', '1084,1085,1086,1098,311,1084,1085,1086,1098,780,115,115,115,115,51,115', '465,115,399,46,46,399,115,465,465,465,1087,115,75,465,465,115,465,19', '241,727,380,779,566,797,19,566,29,380,622,532,532,532,780,19,624,242', '465,465,624,465,465,465,465,465,337,337,1087,101,29,102,532,1087,244', '103,759,104,759,759,759,381,759,138,443,399,399,623,381,465,465,465', '465,465,465,465,465,465,465,465,465,465,465,622,19,465,465,465,222,465', '622,481,243,465,245,622,465,242,647,622,395,465,246,465,687,465,465', '465,465,465,465,465,744,465,244,465,250,622,284,688,623,802,288,744', '443,337,337,623,465,465,466,465,623,465,759,811,623,466,466,466,465', '299,990,466,466,465,466,567,622,465,567,481,41,990,623,466,744,744,901', '647,647,395,395,395,687,812,466,466,647,466,466,466,466,466,969,300', '969,969,969,688,969,382,802,802,303,623,990,990,382,834,744,802,317', '571,41,811,571,466,466,466,466,466,466,466,466,466,466,466,466,466,466', '901,41,466,466,466,319,466,901,383,990,466,320,901,466,812,383,901,925', '466,321,466,327,466,466,466,466,466,466,466,330,466,466,466,52,901,240', '324,325,834,331,52,969,240,324,325,466,466,689,466,52,466,240,324,325', '689,689,689,466,336,689,689,689,466,689,326,901,466,865,42,384,865,326', '689,689,689,689,384,925,328,1016,326,338,1016,689,689,328,689,689,689', '689,689,345,342,347,328,353,385,370,52,342,240,324,325,385,370,386,365', '397,342,366,42,365,386,370,689,689,689,689,689,689,689,689,689,689,689', '689,689,689,42,326,689,689,689,442,689,689,17,17,689,367,442,689,689', '328,689,371,689,373,689,442,689,689,689,689,689,689,689,342,689,689', '689,358,370,358,358,358,358,358,397,397,397,401,341,689,689,689,689', '358,689,690,689,459,387,460,404,689,690,690,690,387,689,690,690,690', '689,690,548,389,442,358,358,359,359,548,389,690,690,690,358,358,358', '358,548,406,341,690,690,409,690,690,690,690,690,459,626,460,721,747', '747,783,907,626,341,721,432,907,783,435,721,402,626,459,721,460,358', '783,690,690,690,690,690,690,690,690,690,690,690,690,690,690,437,548', '690,690,690,902,690,690,49,49,690,412,902,690,690,650,690,902,690,440', '690,902,690,690,690,690,690,690,690,626,690,721,690,574,783,574,574', '574,574,574,402,402,402,49,49,690,690,690,690,574,690,813,690,765,765', '671,913,690,813,813,813,913,690,444,813,813,690,813,1003,454,902,574', '412,412,412,1003,650,650,650,1010,574,574,574,574,1003,457,1010,813', '813,458,813,813,813,813,813,1010,1046,671,791,791,1064,1064,591,1046', '591,591,591,467,591,981,477,487,1046,489,981,671,574,490,813,813,813', '813,813,813,813,813,813,813,813,813,813,813,491,1003,813,813,813,492', '813,508,591,520,813,487,1010,813,521,487,487,591,813,522,813,538,813', '813,813,813,813,813,813,1046,813,756,813,756,756,756,539,756,885,542', '885,885,885,544,885,813,813,814,813,549,813,552,554,140,814,814,814', '813,140,140,814,814,813,814,507,561,813,562,563,756,568,569,814,502', '572,576,885,577,756,579,507,507,580,814,814,885,814,814,814,814,814', '955,581,955,955,955,507,955,507,590,507,507,507,507,598,502,507,602', '507,502,502,502,502,605,814,814,814,814,814,814,814,814,814,814,814', '814,814,814,607,503,814,814,814,887,814,887,887,887,814,887,611,814', '612,613,614,628,814,631,814,654,814,814,814,814,814,814,814,657,814', '814,814,503,663,672,677,503,503,503,503,683,691,887,692,814,814,695', '814,698,814,2,2,2,2,2,2,814,700,704,2,2,814,706,714,2,814,2,2,2,2,2', '2,2,9,9,9,9,9,2,2,2,2,2,2,2,798,798,2,716,798,798,798,447,2,2,2,2,2', '2,2,2,2,2,2,2,719,2,2,2,722,2,2,723,2,2,2,447,447,447,447,447,447,447', '447,447,447,447,726,447,447,743,758,447,447,760,2,767,773,2,776,806', '2,2,488,808,2,810,2,447,819,447,2,447,447,447,447,447,447,447,2,447', '843,850,861,2,2,2,2,2,2,862,869,870,2,2,488,447,871,447,488,488,2,875', '876,2,2,2,878,879,2,2,881,884,2,2,36,36,36,36,36,36,886,889,895,36,36', '900,904,908,36,910,36,36,36,36,36,36,36,315,315,315,315,315,36,36,36', '36,36,36,36,911,921,36,924,931,932,934,453,36,36,36,36,36,36,36,36,36', '36,36,36,935,36,36,36,936,36,36,938,36,36,36,453,453,453,453,453,453', '453,453,453,453,453,939,453,453,940,953,453,453,954,36,971,980,36,984', '988,36,36,1001,1004,36,1006,36,453,1011,453,36,453,453,453,453,453,453', '453,36,453,1020,1021,1022,36,36,36,36,36,36,1023,1024,1026,36,36,1036', '453,1039,1040,1041,1042,36,1044,1050,36,36,36,1063,1068,36,36,1069,1080', '36,36,224,224,224,224,224,224,1081,1083,1089,224,224,1090,1094,1095', '224,1096,224,224,224,224,224,224,224,352,352,352,352,352,224,224,224', '224,224,224,224,1097,1056,224,1056,1056,1056,1105,1056,224,224,224,224', '224,224,224,224,224,224,224,224,,224,224,224,,224,224,,224,224,224,24', '24,24,24,24,24,24,24,24,24,24,,24,24,,,24,24,,224,,,224,,,224,224,,', '224,,224,24,,24,224,24,24,24,24,24,24,24,224,24,,,,224,224,224,224,224', '224,,,,224,224,,24,,,,,224,,,224,224,224,,,224,224,,,224,224,249,249', '249,249,249,249,,,,249,249,,,,249,,249,249,249,249,249,249,249,537,537', '537,537,537,249,249,249,249,249,249,249,,,249,,,,,,249,249,249,249,249', '249,249,249,249,249,249,249,,249,249,249,,249,249,,249,249,249,297,297', '297,297,297,297,297,297,297,297,297,,297,297,,,297,297,,249,,,249,,', '249,249,,,249,,249,297,,297,249,297,297,297,297,297,297,297,249,297', ',,,249,249,249,249,249,249,,,,249,249,,297,,,,,249,,,249,249,249,,,249', '249,,,249,249,318,318,318,318,318,318,,,,318,318,,,,318,,318,318,318', '318,318,318,318,,,,,,318,318,318,318,318,318,318,,,318,,,,,,318,318', '318,318,318,318,318,318,318,318,318,318,,318,318,318,,318,318,,318,318', '318,506,506,506,506,506,506,506,506,506,506,506,,506,506,,,506,506,', '318,,,318,,,318,318,,,318,,318,506,,506,318,506,506,506,506,506,506', '506,318,506,,,,318,318,318,318,318,318,,,,318,318,506,506,,,,,318,,', '318,318,318,,,318,318,,,318,318,323,323,323,323,323,323,,,,323,323,', ',,323,,323,323,323,323,323,323,323,,,,,,323,323,323,323,323,323,323', ',,323,,,,,,323,323,323,323,323,323,323,323,323,323,323,323,,323,323', '323,,323,323,,323,323,323,559,559,559,559,559,559,559,559,559,559,559', ',559,559,,,559,559,,323,,,323,,,323,323,,,323,,323,559,,559,323,559', '559,559,559,559,559,559,323,559,,,,323,323,323,323,323,323,,,,323,323', ',559,,,,,323,,,323,323,323,,,323,323,,,323,323,351,351,351,351,351,351', ',,,351,351,,,,351,,351,351,351,351,351,351,351,,,,,,351,351,351,351', '351,351,351,,,351,,,,,,351,351,351,351,351,351,351,351,351,351,351,351', ',351,351,351,,351,351,,351,351,351,816,816,816,816,816,816,816,816,816', '816,816,,816,816,,,816,816,,351,,,351,,,351,351,,,351,,351,816,,816', '351,816,816,816,816,816,816,816,351,816,,,,351,351,351,351,351,351,', ',,351,351,,816,,,,,351,,,351,351,351,,,351,351,,,351,351,363,363,363', '363,363,363,,,,363,363,,,,363,,363,363,363,363,363,363,363,,,,,,363', '363,363,363,363,363,363,,,363,,,,,,363,363,363,363,363,363,363,363,363', '363,363,363,,363,363,363,,363,363,,363,363,363,930,930,930,930,930,930', '930,930,930,930,930,,930,930,,,930,930,,363,,,363,,,363,363,,,363,,363', '930,,930,363,930,930,930,930,930,930,930,363,930,,,,363,363,363,363', '363,363,,,,363,363,,930,,,,,363,,,363,363,363,,,363,363,,,363,363,364', '364,364,364,364,364,,,,364,364,,,,364,,364,364,364,364,364,364,364,', ',,,,364,364,364,364,364,364,364,,,364,,,,,,364,364,364,364,364,364,364', '364,364,364,364,364,,364,364,364,,364,364,,364,364,364,343,343,343,343', '343,343,343,343,343,343,343,,343,343,,,343,343,,364,,,364,,,364,364', ',,364,,364,343,,343,364,343,343,343,343,343,343,343,364,343,,,,364,364', '364,364,364,364,,,,364,364,,,,,,,364,,,364,364,364,,,364,364,,,364,364', '606,606,606,606,606,606,,,,606,606,,,,606,,606,606,606,606,606,606,606', ',,,,,606,606,606,606,606,606,606,,,606,,,,,,606,606,606,606,606,606', '606,606,606,606,606,606,,606,606,606,,606,606,,606,606,606,344,344,344', '344,344,344,344,344,344,344,344,,344,344,,,344,344,,606,,,606,,,606', '606,,,606,,606,344,,344,606,344,344,344,344,344,344,344,606,344,,,,606', '606,606,606,606,606,,,,606,606,,,,,,,606,,,606,606,606,,,606,606,,,606', '606,609,609,609,609,609,609,,,,609,609,,,,609,,609,609,609,609,609,609', '609,,,,,,609,609,609,609,609,609,609,,,609,,,,,,609,609,609,609,609', '609,609,609,609,609,609,609,,609,609,609,,609,609,,609,609,609,485,485', '485,485,485,485,485,485,485,485,485,,485,485,,,485,485,,609,,,609,,', '609,609,,,609,,609,485,,485,609,485,485,485,485,485,485,485,609,485', ',,,609,609,609,609,609,609,,,,609,609,,,,,,,609,,,609,609,609,,,609', '609,,,609,609,659,659,659,659,659,659,,,,659,659,,,,659,,659,659,659', '659,659,659,659,,,,,,659,659,659,659,659,659,659,,,659,,,,,,659,659', '659,659,659,659,659,659,659,659,659,659,,659,659,659,,659,659,,659,659', '659,486,486,486,486,486,486,486,486,486,486,486,,486,486,,,486,486,', '659,,,659,,,659,659,,,659,,659,486,,486,659,486,486,486,486,486,486', '486,659,486,,,,659,659,659,659,659,659,,,,659,659,,,,,,,659,,,659,659', '659,,,659,659,,,659,659,781,781,781,781,781,781,,,,781,781,,,,781,,781', '781,781,781,781,781,781,,,,,,781,781,781,781,781,781,781,,970,781,970', '970,970,,970,781,781,781,781,781,781,781,781,781,781,781,781,,781,781', '781,,781,781,,781,781,781,496,496,496,496,496,496,496,,970,496,496,', ',,,,496,496,,781,,,781,,,781,781,,,781,,781,496,,496,781,496,496,496', '496,496,496,496,781,496,,,,781,781,781,781,781,781,,,,781,781,,,,,,', '781,,,781,781,781,,,781,781,,,781,781,792,792,792,792,792,792,,,,792', '792,,,,792,,792,792,792,792,792,792,792,,,,,,792,792,792,792,792,792', '792,,1025,792,1025,1025,1025,,1025,792,792,792,792,792,792,792,792,792', '792,792,792,,792,792,792,,792,792,,792,792,792,497,497,497,497,497,497', '497,,1025,497,497,,,,,,497,497,,792,,,792,,,792,792,,,792,,792,497,', '497,792,497,497,497,497,497,497,497,792,497,,,,792,792,792,792,792,792', ',,,792,792,,,,,,,792,,,792,792,792,,,792,792,,,792,792,793,793,793,793', '793,793,,,,793,793,,,,793,,793,793,793,793,793,793,793,,,,,,793,793', '793,793,793,793,793,,1027,793,1027,1027,1027,,1027,793,793,793,793,793', '793,793,793,793,793,793,793,,793,793,793,,793,793,,793,793,793,498,498', '498,498,498,498,498,,1027,498,498,,,,,,498,498,,793,,,793,,,793,793', ',,793,,793,498,,498,793,498,498,498,498,498,498,498,793,498,,,,793,793', '793,793,793,793,,,,793,793,,,,,,,793,,,793,793,793,,,793,793,,,793,793', '799,799,799,799,799,799,,,,799,799,,,,799,,799,799,799,799,799,799,799', ',,,,,799,799,799,799,799,799,799,,1062,799,1062,1062,1062,,1062,799', '799,799,799,799,799,799,799,799,799,799,799,,799,799,799,,799,799,,799', '799,799,499,499,499,499,499,499,499,,1062,499,499,,,,,,499,499,,799', ',,799,,,799,799,,,799,,799,499,,499,799,499,499,499,499,499,499,499', '799,499,,,,799,799,799,799,799,799,,,,799,799,,,,,,,799,,,799,799,799', ',,799,799,,,799,799,840,840,840,840,840,840,,,,840,840,,,,840,,840,840', '840,840,840,840,840,,,,,,840,840,840,840,840,840,840,,,840,,,,,,840', '840,840,840,840,840,840,840,840,840,840,840,,840,840,840,,840,840,,840', '840,840,500,500,500,500,500,500,500,,,500,500,,,,,,500,500,,840,,,840', ',,840,840,,,840,,840,500,,500,840,500,500,500,500,500,500,500,840,500', ',,,840,840,840,840,840,840,,,,840,840,,,,,,,840,,,840,840,840,,,840', '840,,,840,840,859,859,859,859,859,859,,,,859,859,,,,859,,859,859,859', '859,859,859,859,,,,,,859,859,859,859,859,859,859,,,859,,,,,,859,859', '859,859,859,859,859,859,859,859,859,859,,859,859,859,,859,859,,859,859', '859,501,501,501,501,501,501,501,,,501,501,,,,,,501,501,,859,,,859,,', '859,859,,,859,,859,501,,501,859,501,501,501,501,501,501,501,859,501', ',,,859,859,859,859,859,859,,,,859,859,,,,,,,859,,,859,859,859,,,859', '859,,,859,859,867,867,867,867,867,867,,,,867,867,,,,867,,867,867,867', '867,867,867,867,,,,,,867,867,867,867,867,867,867,,,867,,,,,,867,867', '867,867,867,867,867,867,867,867,867,867,,867,867,867,,867,867,,867,867', '867,504,504,504,504,504,504,504,,,504,504,,,,,,504,504,,867,,,867,,', '867,867,,,867,,867,504,,504,867,504,504,504,504,504,504,504,867,504', ',,,867,867,867,867,867,867,,,,867,867,,,,,,,867,,,867,867,867,,,867', '867,,,867,867,868,868,868,868,868,868,,,,868,868,,,,868,,868,868,868', '868,868,868,868,,,,,,868,868,868,868,868,868,868,,,868,,,,,,868,868', '868,868,868,868,868,868,868,868,868,868,,868,868,868,,868,868,,868,868', '868,505,505,505,505,505,505,505,505,,505,505,,,,,,505,505,,868,,,868', ',,868,868,,,868,,868,505,,505,868,505,505,505,505,505,505,505,868,505', ',,,868,868,868,868,868,868,,,,868,868,,,,,,,868,,,868,868,868,,,868', '868,,,868,868,894,894,894,894,894,894,,,,894,894,,,,894,,894,894,894', '894,894,894,894,,,,,,894,894,894,894,894,894,894,,,894,,,,,,894,894', '894,894,894,894,894,894,894,894,894,894,,894,894,894,,894,894,,894,894', '894,558,,,,,,,,,,,,,,,,558,558,,894,,,894,,495,894,894,,,894,,894,558', ',558,894,558,558,558,558,495,495,558,894,558,,,,894,894,894,894,894', '894,,,495,894,894,,495,495,495,495,,894,,,894,894,894,,,894,894,,,894', '894,905,905,905,905,905,905,,,,905,905,,,,905,,905,905,905,905,905,905', '905,,,,,,905,905,905,905,905,905,905,,,905,,,,,,905,905,905,905,905', '905,905,905,905,905,905,905,,905,905,905,,905,905,,905,905,905,493,', ',,,,,,,,,,,,,,493,493,,905,,,905,,,905,905,,,905,,905,493,,493,905,493', '493,493,493,,,,905,,,,,905,905,905,905,905,905,,,,905,905,,,,,,,905', ',,905,905,905,,,905,905,,,905,905,946,946,946,946,946,946,,,,946,946', ',,,946,,946,946,946,946,946,946,946,,,,,,946,946,946,946,946,946,946', ',,946,,,,,,946,946,946,946,946,946,946,946,946,946,946,946,,946,946', '946,,946,946,,946,946,946,494,,,,,,,,,,,,,,,,494,494,,946,,,946,,,946', '946,,,946,,946,494,,494,946,494,494,494,494,,,,946,,,,,946,946,946,946', '946,946,,,,946,946,,,,,,,946,,,946,946,946,,,946,946,,,946,946,947,947', '947,947,947,947,,,,947,947,,,,947,,947,947,947,947,947,947,947,,,,,', '947,947,947,947,947,947,947,,,947,,,,,,947,947,947,947,947,947,947,947', '947,947,947,947,,947,947,947,,947,947,,947,947,947,,,,,,,,,,,,,,,,,', ',,947,,,947,,,947,947,,,947,,947,,,,947,,,,,,,,947,,,,,947,947,947,947', '947,947,,,,947,947,,,,,,,947,,,947,947,947,,,947,947,,,947,947,977,977', '977,977,977,977,,,,977,977,,,,977,,977,977,977,977,977,977,977,,,,,', '977,977,977,977,977,977,977,,,977,,,,,,977,977,977,977,977,977,977,977', '977,977,977,977,,977,977,977,,977,977,,977,977,977,,,,,,,,,,,,,,,,,', ',,977,,,977,,,977,977,,,977,,977,,,,977,,,,,,,,977,,,,,977,977,977,977', '977,977,,,,977,977,,,,,,,977,,,977,977,977,,,977,977,,,977,977,1007', '1007,1007,1007,1007,1007,,,,1007,1007,,,,1007,,1007,1007,1007,1007,1007', '1007,1007,,,,,,1007,1007,1007,1007,1007,1007,1007,,,1007,,,,,,1007,1007', '1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,,1007,1007,1007,,1007', '1007,,1007,1007,1007,,,,,,,,,,,,,,,,,,,,1007,,,1007,,,1007,1007,,,1007', ',1007,,,,1007,,,,,,,,1007,,,,,1007,1007,1007,1007,1007,1007,,,,1007', '1007,,,,,,,1007,,,1007,1007,1007,,,1007,1007,,,1007,1007,1028,1028,1028', '1028,1028,1028,,,,1028,1028,,,,1028,,1028,1028,1028,1028,1028,1028,1028', ',,,,,1028,1028,1028,1028,1028,1028,1028,,,1028,,,,,,1028,1028,1028,1028', '1028,1028,1028,1028,1028,1028,1028,1028,,1028,1028,1028,,1028,1028,', '1028,1028,1028,,,,,,,,,,,,,,,,,,,,1028,,,1028,,,1028,1028,,,1028,,1028', ',,,1028,,,,,,,,1028,,,,,1028,1028,1028,1028,1028,1028,,,,1028,1028,', ',,,,,1028,,,1028,1028,1028,,,1028,1028,,,1028,1028,1033,1033,1033,1033', '1033,1033,,,,1033,1033,,,,1033,,1033,1033,1033,1033,1033,1033,1033,', ',,,,1033,1033,1033,1033,1033,1033,1033,,,1033,,,,,,1033,1033,1033,1033', '1033,1033,1033,1033,1033,1033,1033,1033,,1033,1033,1033,,1033,1033,', '1033,1033,1033,,,,,,,,,,,,,,,,,,,,1033,,,1033,,,1033,1033,,,1033,,1033', ',,,1033,,,,,,,,1033,,,,,1033,1033,1033,1033,1033,1033,,,,1033,1033,', ',,,,,1033,,,1033,1033,1033,,,1033,1033,,,1033,1033,1035,1035,1035,1035', '1035,1035,,,,1035,1035,,,,1035,,1035,1035,1035,1035,1035,1035,1035,', ',,,,1035,1035,1035,1035,1035,1035,1035,,,1035,,,,,,1035,1035,1035,1035', '1035,1035,1035,1035,1035,1035,1035,1035,,1035,1035,1035,,1035,1035,', '1035,1035,1035,,,,,,,,,,,,,,,,,,,,1035,,,1035,,,1035,1035,,,1035,,1035', ',,,1035,,,,,,,,1035,,,,,1035,1035,1035,1035,1035,1035,,,,1035,1035,', ',,,,,1035,,,1035,1035,1035,,,1035,1035,,,1035,1035,8,8,8,8,8,,,,8,8', ',,,8,,8,8,8,8,8,8,8,,,,,,8,8,8,8,8,8,8,,,8,,,,,,8,8,8,8,8,8,8,8,8,8', '8,8,,8,8,8,,8,8,,8,8,8,,,,,,,,,,,,,,,,,,,,8,,,8,,,8,8,,,8,,8,,,,8,,', ',,,,,8,,,,,8,8,8,8,8,8,,,,8,8,,,,,,,8,,,8,8,8,,,8,8,,,8,8,23,23,23,', '23,,,,23,23,,,,23,,23,23,23,23,23,23,23,,,,,,23,23,23,23,23,23,23,,', '23,,,,,,,23,,,23,23,23,23,23,23,23,23,,23,23,23,,23,23,,23,23,23,,,', ',,,,,,,,,,,,,,,,23,,,23,,,23,23,,,23,,,,,,23,,,,,,,,23,,,,,23,23,23', '23,23,23,,,,23,23,,,,,,,23,,,23,23,23,,30,23,23,,,23,23,30,30,30,,,30', '30,30,748,30,748,748,748,748,748,,,,30,30,30,,,,748,,,,,30,30,,30,30', '30,30,30,,,,,,,,,,748,,,,,,,,,748,748,748,748,,30,30,30,30,30,30,30', '30,30,30,30,30,30,30,,,30,30,30,,,30,,30,30,,,30,30,,30,748,30,,30,', '30,30,30,30,30,30,30,,30,30,30,,,,,,,,,,,,,30,30,31,30,,30,,,,31,31', '31,30,,31,31,31,30,31,,,,,,,,,,31,31,,,,,,,,,31,31,,31,31,31,31,31,', ',,,,,,,,,,,,,,,,,,,,,,31,31,31,31,31,31,31,31,31,31,31,31,31,31,,,31', '31,31,,,31,,31,31,,,31,31,,31,,31,,31,,31,31,31,31,31,31,31,,31,,31', ',,,,,,,,,,,,31,31,,31,,31,32,32,32,,32,,31,,32,32,,31,,32,,32,32,32', '32,32,32,32,,,,,,32,32,32,32,32,32,32,,,32,,,,,,,32,,,32,32,32,32,32', '32,32,32,32,32,32,32,,32,32,,32,32,32,,,,,,,,,,,,,,,,,,,,32,,,32,,,32', '32,,,32,,32,,32,,32,,,,,,,,32,,,,,32,32,32,32,32,32,,,,32,32,,,,,,,32', ',32,32,32,32,,,32,32,,,32,32,33,33,33,,33,,,,33,33,,,,33,,33,33,33,33', '33,33,33,,,,,,33,33,33,33,33,33,33,,,33,,,,,,,33,,,33,33,33,33,33,33', '33,33,33,33,33,33,,33,33,,33,33,33,,,,,,,,,,,,,,,,,,,,33,,,33,,,33,33', ',,33,,33,,33,,33,,,,,,,,33,,,,,33,33,33,33,33,33,,,,33,33,,,,,,,33,', '33,33,33,33,,,33,33,,,33,33,34,34,34,,34,,,,34,34,,,,34,,34,34,34,34', '34,34,34,,,,,,34,34,34,34,34,34,34,,,34,,,,,,,34,,,34,34,34,34,34,34', '34,34,34,34,34,34,,34,34,,34,34,34,,,,,,,,,,,,,,,,,,,,34,,,34,,,34,34', ',,34,,34,,34,,34,,,,,,,,34,,,,,34,34,34,34,34,34,,,,34,34,,,,,,,34,', '34,34,34,34,,,34,34,,,34,34,44,44,44,,44,,,,44,44,,,,44,,44,44,44,44', '44,44,44,,,,,,44,44,44,44,44,44,44,,,44,,,,,,,44,,,44,44,44,44,44,44', '44,44,,44,44,44,,44,44,,44,44,44,,,,,,,,,,,,,,,,,,,,44,,,44,,,44,44', ',,44,,,,,,44,,,,,,,,44,,,,,44,44,44,44,44,44,,,,44,44,,,,,,,44,,,44', '44,44,,,44,44,,,44,44,45,45,45,,45,,,,45,45,,,,45,,45,45,45,45,45,45', '45,,,,,,45,45,45,45,45,45,45,,,45,,,,,,,45,,,45,45,45,45,45,45,45,45', ',45,45,45,,45,45,,45,45,45,,,,,,,,,,,,,,,,,,,,45,,,45,,,45,45,,,45,', ',,,,45,,,,,,,,45,,,,,45,45,45,45,45,45,,,,45,45,,,,,,,45,,,45,45,45', ',,45,45,,,45,45,47,47,47,,47,,,,47,47,,,,47,,47,47,47,47,47,47,47,,', ',,,47,47,47,47,47,47,47,,,47,,,,,,,47,,,47,47,47,47,47,47,47,47,,47', '47,47,,47,47,,47,47,47,,,,,,,,,,,,,,,,,,,,47,,,47,,,47,47,,,47,,,,,', '47,,,,,,,,47,,,,,47,47,47,47,47,47,,,,47,47,,,,,,,47,,,47,47,47,,,47', '47,,,47,47,48,48,48,,48,,,,48,48,,,,48,,48,48,48,48,48,48,48,,,,,,48', '48,48,48,48,48,48,,,48,,,,,,,48,,,48,48,48,48,48,48,48,48,,48,48,48', ',48,48,,48,48,48,,,,,,,,,,,,,,,,,,,,48,,,48,,,48,48,,,48,,,,,,48,,,', ',,,,48,,,,,48,48,48,48,48,48,,,,48,48,,,,,,,48,,,48,48,48,,,48,48,,', '48,48,50,50,50,,50,,,,50,50,,,,50,,50,50,50,50,50,50,50,,,,,,50,50,50', '50,50,50,50,,,50,,,,,,,50,,,50,50,50,50,50,50,50,50,,50,50,50,,50,50', ',50,50,50,,,,,,,,,,,,,,,,,,,,50,,,50,,,50,50,,,50,,,,,,50,,,,,,,,50', ',,,,50,50,50,50,50,50,,,,50,50,,,,,,,50,,,50,50,50,,62,50,50,,,50,50', '62,62,62,,,62,62,62,750,62,750,750,750,750,750,,,,,62,62,62,,,750,,', ',,62,62,,62,62,62,62,62,,,,,,,,,,750,,,,,,,,,750,750,750,750,,62,62', '62,62,62,62,62,62,62,62,62,62,62,62,,,62,62,62,,,62,,,62,,,62,62,,62', '750,62,,62,,62,62,62,62,62,62,62,,62,,62,,,,,,,,,,,,,62,62,62,62,,62', ',62,,,,,62,,,,461,62,64,64,64,64,64,461,461,461,64,64,461,461,461,64', '461,64,64,64,64,64,64,64,,461,461,461,,64,64,64,64,64,64,64,461,461', '64,461,461,461,461,461,64,64,,64,64,64,64,64,64,64,64,64,,64,64,64,', '64,64,,64,64,64,461,461,461,461,461,461,461,461,461,461,461,461,461', '461,,,461,461,461,64,,461,64,461,461,64,64,461,461,64,461,64,461,,461', '64,461,461,461,461,461,461,461,64,461,461,461,,64,64,64,64,64,64,,,', '64,64,461,461,,461,,461,64,,,64,64,64,461,,64,64,,461,64,64,69,69,69', ',69,,,,69,69,,,,69,,69,69,69,69,69,69,69,,,,,,69,69,69,69,69,69,69,', ',69,,,,,,,69,,,69,69,69,69,69,69,69,69,,69,69,69,,69,69,,69,69,69,,', ',,,,,,,,,,,,,,,,,69,,,69,,,69,69,,,69,,,,,,69,,,,,,,,69,,,,,69,69,69', '69,69,69,,,,69,69,,,,,,,69,,,69,69,69,,,69,69,,,69,69,70,70,70,,70,', ',,70,70,,,,70,,70,70,70,70,70,70,70,,,,,,70,70,70,70,70,70,70,,,70,', ',,,,,70,,,70,70,70,70,70,70,70,70,,70,70,70,,70,70,,70,70,70,,,,,,,', ',,,,,,,,,,,,70,,,70,,,70,70,,,70,,,,,,70,,,,,,,,70,,,,,70,70,70,70,70', '70,,,,70,70,,,,,,,70,,,70,70,70,,,70,70,,,70,70,73,73,73,,73,,,,73,73', ',,,73,,73,73,73,73,73,73,73,,,,,,73,73,73,73,73,73,73,,,73,,,,,,,73', ',,73,73,73,73,73,73,73,73,,73,73,73,,73,73,,73,73,73,,,,,,,,,,,,,,,', ',,,,73,,,73,,,73,73,,,73,,,,,,73,,,,,,,,73,,,,,73,73,73,73,73,73,,,', '73,73,73,,,,,73,73,,,73,73,73,,,73,73,,,73,73,128,128,128,128,128,,', ',128,128,,,,128,,128,128,128,128,128,128,128,,,,,,128,128,128,128,128', '128,128,,,128,,,,,,128,128,128,128,128,128,128,128,128,128,128,128,', '128,128,128,,128,128,,128,128,128,,,,,,,,,,,,,,,,,,,,128,,,128,,,128', '128,,,128,,128,,,,128,,,,,,,,128,,,,,128,128,128,128,128,128,,,,128', '128,,,,,,128,128,,,128,128,128,,,128,128,,,128,128,133,133,133,,133', ',,,133,133,,,,133,,133,133,133,133,133,133,133,,,,,,133,133,133,133', '133,133,133,,,133,,,,,,,133,,,133,133,133,133,133,133,133,133,,133,133', '133,,133,133,,133,133,133,,,,,,,,,,,,,,,,,,,,133,,,133,,,133,133,,,133', ',,,,,133,,,,,,,,133,,,,,133,133,133,133,133,133,,,,133,133,,,,,,,133', ',,133,133,133,,,133,133,,,133,133,134,134,134,,134,,,,134,134,,,,134', ',134,134,134,134,134,134,134,,,,,,134,134,134,134,134,134,134,,,134', ',,,,,,134,,,134,134,134,134,134,134,134,134,,134,134,134,,134,134,,134', '134,134,,,,,,,,,,,,,,,,,,,,134,,,134,,,134,134,,,134,,,,,,134,,,,,,', ',134,,,,,134,134,134,134,134,134,,,,134,134,,,,,,,134,,,134,134,134', ',,134,134,,,134,134,135,135,135,,135,,,,135,135,,,,135,,135,135,135', '135,135,135,135,,,,,,135,135,135,135,135,135,135,,,135,,,,,,,135,,,135', '135,135,135,135,135,135,135,,135,135,135,,135,135,,135,135,135,,,,,', ',,,,,,,,,,,,,,135,,,135,,,135,135,,,135,,,,,,135,,,,,,,,135,,,,,135', '135,135,135,135,135,,,,135,135,,,,,,,135,,,135,135,135,,,135,135,,,135', '135,136,136,136,,136,,,,136,136,,,,136,,136,136,136,136,136,136,136', ',,,,,136,136,136,136,136,136,136,,,136,,,,,,,136,,,136,136,136,136,136', '136,136,136,,136,136,136,,136,136,,136,136,136,,,,,,,,,,,,,,,,,,,,136', ',,136,,,136,136,,,136,,,,,,136,,,,,,,,136,,,,,136,136,136,136,136,136', ',,,136,136,,,,,,,136,,,136,136,136,,,136,136,,,136,136,137,137,137,137', '137,,,,137,137,,,,137,,137,137,137,137,137,137,137,,,,,,137,137,137', '137,137,137,137,,,137,,,,,,137,137,,137,137,137,137,137,137,137,137', '137,,137,137,137,,137,137,,137,137,137,,,,,,,,,,,,,,,,,,,,137,,,137', ',,137,137,,,137,,137,,,,137,,,,,,,,137,,,,,137,137,137,137,137,137,', ',,137,137,,,,,,,137,,,137,137,137,,,137,137,,,137,137,225,225,225,,225', ',,,225,225,,,,225,,225,225,225,225,225,225,225,,,,,,225,225,225,225', '225,225,225,,,225,,,,,,,225,,,225,225,225,225,225,225,225,225,,225,225', '225,,225,225,,225,225,225,,,,,,,,,,,,,,,,,,,,225,,,225,,,225,225,,,225', ',225,,,,225,,,,,,,,225,,,,,225,225,225,225,225,225,,,,225,225,,,,,,', '225,,,225,225,225,,,225,225,,,225,225,226,226,226,,226,,,,226,226,,', ',226,,226,226,226,226,226,226,226,,,,,,226,226,226,226,226,226,226,', ',226,,,,,,,226,,,226,226,226,226,226,226,226,226,,226,226,226,,226,226', ',226,226,226,,,,,,,,,,,,,,,,,,,,226,,,226,,,226,226,,,226,,226,,,,226', ',,,,,,,226,,,,,226,226,226,226,226,226,,,,226,226,,,,,,,226,,,226,226', '226,,,226,226,,,226,226,227,227,227,,227,,,,227,227,,,,227,,227,227', '227,227,227,227,227,,,,,,227,227,227,227,227,227,227,,,227,,,,,,,227', ',,227,227,227,227,227,227,227,227,,227,227,227,,227,227,,227,227,227', ',,,,,,,,,,,,,,,,,,,227,,,227,,,227,227,,,227,,,,,,227,,,,,,,,227,,,', ',227,227,227,227,227,227,,,,227,227,,,,,,,227,,,227,227,227,,,227,227', ',,227,227,228,228,228,,228,,,,228,228,,,,228,,228,228,228,228,228,228', '228,,,,,,228,228,228,228,228,228,228,,,228,,,,,,,228,,,228,228,228,228', '228,228,228,228,,228,228,228,,228,228,,228,228,228,,,,,,,,,,,,,,,,,', ',,228,,,228,,,228,228,,,228,,,,,,228,,,,,,,,228,,,,,228,228,228,228', '228,228,,,,228,228,,,,,,,228,,,228,228,228,,,228,228,,,228,228,229,229', '229,,229,,,,229,229,,,,229,,229,229,229,229,229,229,229,,,,,,229,229', '229,229,229,229,229,,,229,,,,,,,229,,,229,229,229,229,229,229,229,229', ',229,229,229,,229,229,,229,229,229,,,,,,,,,,,,,,,,,,,,229,,,229,,,229', '229,,,229,,,,,,229,,,,,,,,229,,,,,229,229,229,229,229,229,,,,229,229', ',,,,,,229,,,229,229,229,,,229,229,,,229,229,230,230,230,,230,,,,230', '230,,,,230,,230,230,230,230,230,230,230,,,,,,230,230,230,230,230,230', '230,,,230,,,,,,,230,,,230,230,230,230,230,230,230,230,230,230,230,230', ',230,230,,230,230,230,,,,,,,,,,,,,,,,,,,,230,,,230,,,230,230,,,230,', '230,,230,,230,,,,,,,,230,,,,,230,230,230,230,230,230,,,,230,230,,,,', ',,230,,230,230,230,230,,,230,230,,,230,230,235,235,235,,235,,,,235,235', ',,,235,,235,235,235,235,235,235,235,,,,,,235,235,235,235,235,235,235', ',,235,,,,,,,235,,,235,235,235,235,235,235,235,235,,235,235,235,,235', '235,,235,235,235,,,,,,,,,,,,,,,,,,,,235,,,235,,,235,235,,,235,,,,,,235', ',,,,,,,235,,,,,235,235,235,235,235,235,,,,235,235,,,,,,,235,,,235,235', '235,,,235,235,,,235,235,236,236,236,,236,,,,236,236,,,,236,,236,236', '236,236,236,236,236,,,,,,236,236,236,236,236,236,236,,,236,,,,,,,236', ',,236,236,236,236,236,236,236,236,,236,236,236,,236,236,,236,236,236', ',,,,,,,,,,,,,,,,,,,236,,,236,,,236,236,,,236,,,,,,236,,,,,,,,236,,,', ',236,236,236,236,236,236,,,,236,236,,,,,,,236,,,236,236,236,,,236,236', ',,236,236,237,237,237,,237,,,,237,237,,,,237,,237,237,237,237,237,237', '237,,,,,,237,237,237,237,237,237,237,,,237,,,,,,,237,,,237,237,237,237', '237,237,237,237,,237,237,237,,237,237,,237,237,237,,,,,,,,,,,,,,,,,', ',,237,,,237,,,237,237,,,237,,,,,,237,,,,,,,,237,,,,,237,237,237,237', '237,237,,,,237,237,237,,,,,,237,,,237,237,237,,,237,237,,,237,237,248', '248,248,,248,,,,248,248,,,,248,,248,248,248,248,248,248,248,,,,,,248', '248,248,248,248,248,248,,,248,,,,,,,248,,,248,248,248,248,248,248,248', '248,,248,248,248,,248,248,,248,248,248,,,,,,,,,,,,,,,,,,,,248,,,248', ',,248,248,,,248,,,,,,248,,,,,,,,248,,,,,248,248,248,248,248,248,,,,248', '248,,,,,,,248,,,248,248,248,,,248,248,,,248,248,251,251,251,,251,,,', '251,251,,,,251,,251,251,251,251,251,251,251,,,,,,251,251,251,251,251', '251,251,,,251,,,,,,,251,,,251,251,251,251,251,251,251,251,,251,251,251', ',251,251,,251,251,251,,,,,,,,,,,,,,,,,,,,251,,,251,,,251,251,,,251,', ',,,,251,,,,,,,,251,,,,,251,251,251,251,251,251,,,,251,251,,,,,,,251', ',,251,251,251,,,251,251,,,251,251,252,252,252,,252,,,,252,252,,,,252', ',252,252,252,252,252,252,252,,,,,,252,252,252,252,252,252,252,,,252', ',,,,,,252,,,252,252,252,252,252,252,252,252,,252,252,252,,252,252,,252', '252,252,,,,,,,,,,,,,,,,,,,,252,,,252,,,252,252,,,252,,,,,,252,,,,,,', ',252,,,,,252,252,252,252,252,252,,,,252,252,,,,,,,252,,,252,252,252', ',,252,252,,,252,252,253,253,253,,253,,,,253,253,,,,253,,253,253,253', '253,253,253,253,,,,,,253,253,253,253,253,253,253,,,253,,,,,,,253,,,253', '253,253,253,253,253,253,253,,253,253,253,,253,253,,253,253,253,,,,,', ',,,,,,,,,,,,,,253,,,253,,,253,253,,,253,,,,,,253,,,,,,,,253,,,,,253', '253,253,253,253,253,,,,253,253,,,,,,,253,,,253,253,253,,,253,253,,,253', '253,254,254,254,,254,,,,254,254,,,,254,,254,254,254,254,254,254,254', ',,,,,254,254,254,254,254,254,254,,,254,,,,,,,254,,,254,254,254,254,254', '254,254,254,,254,254,254,,254,254,,254,254,254,,,,,,,,,,,,,,,,,,,,254', ',,254,,,254,254,,,254,,,,,,254,,,,,,,,254,,,,,254,254,254,254,254,254', ',,,254,254,,,,,,,254,,,254,254,254,,,254,254,,,254,254,255,255,255,', '255,,,,255,255,,,,255,,255,255,255,255,255,255,255,,,,,,255,255,255', '255,255,255,255,,,255,,,,,,,255,,,255,255,255,255,255,255,255,255,,255', '255,255,,255,255,,255,255,255,,,,,,,,,,,,,,,,,,,,255,,,255,,,255,255', ',,255,,,,,,255,,,,,,,,255,,,,,255,255,255,255,255,255,,,,255,255,,,', ',,,255,,,255,255,255,,,255,255,,,255,255,256,256,256,,256,,,,256,256', ',,,256,,256,256,256,256,256,256,256,,,,,,256,256,256,256,256,256,256', ',,256,,,,,,,256,,,256,256,256,256,256,256,256,256,,256,256,256,,256', '256,,256,256,256,,,,,,,,,,,,,,,,,,,,256,,,256,,,256,256,,,256,,,,,,256', ',,,,,,,256,,,,,256,256,256,256,256,256,,,,256,256,,,,,,,256,,,256,256', '256,,,256,256,,,256,256,257,257,257,,257,,,,257,257,,,,257,,257,257', '257,257,257,257,257,,,,,,257,257,257,257,257,257,257,,,257,,,,,,,257', ',,257,257,257,257,257,257,257,257,,257,257,257,,257,257,,257,257,257', ',,,,,,,,,,,,,,,,,,,257,,,257,,,257,257,,,257,,,,,,257,,,,,,,,257,,,', ',257,257,257,257,257,257,,,,257,257,,,,,,,257,,,257,257,257,,,257,257', ',,257,257,258,258,258,,258,,,,258,258,,,,258,,258,258,258,258,258,258', '258,,,,,,258,258,258,258,258,258,258,,,258,,,,,,,258,,,258,258,258,258', '258,258,258,258,,258,258,258,,258,258,,258,258,258,,,,,,,,,,,,,,,,,', ',,258,,,258,,,258,258,,,258,,,,,,258,,,,,,,,258,,,,,258,258,258,258', '258,258,,,,258,258,,,,,,,258,,,258,258,258,,,258,258,,,258,258,259,259', '259,,259,,,,259,259,,,,259,,259,259,259,259,259,259,259,,,,,,259,259', '259,259,259,259,259,,,259,,,,,,,259,,,259,259,259,259,259,259,259,259', ',259,259,259,,259,259,,259,259,259,,,,,,,,,,,,,,,,,,,,259,,,259,,,259', '259,,,259,,,,,,259,,,,,,,,259,,,,,259,259,259,259,259,259,,,,259,259', ',,,,,,259,,,259,259,259,,,259,259,,,259,259,260,260,260,,260,,,,260', '260,,,,260,,260,260,260,260,260,260,260,,,,,,260,260,260,260,260,260', '260,,,260,,,,,,,260,,,260,260,260,260,260,260,260,260,,260,260,260,', '260,260,,260,260,260,,,,,,,,,,,,,,,,,,,,260,,,260,,,260,260,,,260,,', ',,,260,,,,,,,,260,,,,,260,260,260,260,260,260,,,,260,260,,,,,,,260,', ',260,260,260,,,260,260,,,260,260,261,261,261,,261,,,,261,261,,,,261', ',261,261,261,261,261,261,261,,,,,,261,261,261,261,261,261,261,,,261', ',,,,,,261,,,261,261,261,261,261,261,261,261,,261,261,261,,261,261,,261', '261,261,,,,,,,,,,,,,,,,,,,,261,,,261,,,261,261,,,261,,,,,,261,,,,,,', ',261,,,,,261,261,261,261,261,261,,,,261,261,,,,,,,261,,,261,261,261', ',,261,261,,,261,261,262,262,262,,262,,,,262,262,,,,262,,262,262,262', '262,262,262,262,,,,,,262,262,262,262,262,262,262,,,262,,,,,,,262,,,262', '262,262,262,262,262,262,262,,262,262,262,,262,262,,262,262,262,,,,,', ',,,,,,,,,,,,,,262,,,262,,,262,262,,,262,,,,,,262,,,,,,,,262,,,,,262', '262,262,262,262,262,,,,262,262,,,,,,,262,,,262,262,262,,,262,262,,,262', '262,263,263,263,,263,,,,263,263,,,,263,,263,263,263,263,263,263,263', ',,,,,263,263,263,263,263,263,263,,,263,,,,,,,263,,,263,263,263,263,263', '263,263,263,,263,263,263,,263,263,,263,263,263,,,,,,,,,,,,,,,,,,,,263', ',,263,,,263,263,,,263,,,,,,263,,,,,,,,263,,,,,263,263,263,263,263,263', ',,,263,263,,,,,,,263,,,263,263,263,,,263,263,,,263,263,264,264,264,', '264,,,,264,264,,,,264,,264,264,264,264,264,264,264,,,,,,264,264,264', '264,264,264,264,,,264,,,,,,,264,,,264,264,264,264,264,264,264,264,,264', '264,264,,264,264,,264,264,264,,,,,,,,,,,,,,,,,,,,264,,,264,,,264,264', ',,264,,,,,,264,,,,,,,,264,,,,,264,264,264,264,264,264,,,,264,264,,,', ',,,264,,,264,264,264,,,264,264,,,264,264,265,265,265,,265,,,,265,265', ',,,265,,265,265,265,265,265,265,265,,,,,,265,265,265,265,265,265,265', ',,265,,,,,,,265,,,265,265,265,265,265,265,265,265,,265,265,265,,265', '265,,265,265,265,,,,,,,,,,,,,,,,,,,,265,,,265,,,265,265,,,265,,,,,,265', ',,,,,,,265,,,,,265,265,265,265,265,265,,,,265,265,,,,,,,265,,,265,265', '265,,,265,265,,,265,265,266,266,266,,266,,,,266,266,,,,266,,266,266', '266,266,266,266,266,,,,,,266,266,266,266,266,266,266,,,266,,,,,,,266', ',,266,266,266,266,266,266,266,266,,266,266,266,,266,266,,266,266,266', ',,,,,,,,,,,,,,,,,,,266,,,266,,,266,266,,,266,,,,,,266,,,,,,,,266,,,', ',266,266,266,266,266,266,,,,266,266,,,,,,,266,,,266,266,266,,,266,266', ',,266,266,267,267,267,,267,,,,267,267,,,,267,,267,267,267,267,267,267', '267,,,,,,267,267,267,267,267,267,267,,,267,,,,,,,267,,,267,267,267,267', '267,267,267,267,,267,267,267,,267,267,,267,267,267,,,,,,,,,,,,,,,,,', ',,267,,,267,,,267,267,,,267,,,,,,267,,,,,,,,267,,,,,267,267,267,267', '267,267,,,,267,267,,,,,,,267,,,267,267,267,,,267,267,,,267,267,268,268', '268,,268,,,,268,268,,,,268,,268,268,268,268,268,268,268,,,,,,268,268', '268,268,268,268,268,,,268,,,,,,,268,,,268,268,268,268,268,268,268,268', ',268,268,268,,268,268,,268,268,268,,,,,,,,,,,,,,,,,,,,268,,,268,,,268', '268,,,268,,,,,,268,,,,,,,,268,,,,,268,268,268,268,268,268,,,,268,268', ',,,,,,268,,,268,268,268,,,268,268,,,268,268,269,269,269,,269,,,,269', '269,,,,269,,269,269,269,269,269,269,269,,,,,,269,269,269,269,269,269', '269,,,269,,,,,,,269,,,269,269,269,269,269,269,269,269,,269,269,269,', '269,269,,269,269,269,,,,,,,,,,,,,,,,,,,,269,,,269,,,269,269,,,269,,', ',,,269,,,,,,,,269,,,,,269,269,269,269,269,269,,,,269,269,,,,,,,269,', ',269,269,269,,,269,269,,,269,269,270,270,270,,270,,,,270,270,,,,270', ',270,270,270,270,270,270,270,,,,,,270,270,270,270,270,270,270,,,270', ',,,,,,270,,,270,270,270,270,270,270,270,270,,270,270,270,,270,270,,270', '270,270,,,,,,,,,,,,,,,,,,,,270,,,270,,,270,270,,,270,,,,,,270,,,,,,', ',270,,,,,270,270,270,270,270,270,,,,270,270,,,,,,,270,,,270,270,270', ',,270,270,,,270,270,271,271,271,,271,,,,271,271,,,,271,,271,271,271', '271,271,271,271,,,,,,271,271,271,271,271,271,271,,,271,,,,,,,271,,,271', '271,271,271,271,271,271,271,,271,271,271,,271,271,,271,271,271,,,,,', ',,,,,,,,,,,,,,271,,,271,,,271,271,,,271,,,,,,271,,,,,,,,271,,,,,271', '271,271,271,271,271,,,,271,271,,,,,,,271,,,271,271,271,,,271,271,,,271', '271,272,272,272,,272,,,,272,272,,,,272,,272,272,272,272,272,272,272', ',,,,,272,272,272,272,272,272,272,,,272,,,,,,,272,,,272,272,272,272,272', '272,272,272,,272,272,272,,272,272,,272,272,272,,,,,,,,,,,,,,,,,,,,272', ',,272,,,272,272,,,272,,,,,,272,,,,,,,,272,,,,,272,272,272,272,272,272', ',,,272,272,,,,,,,272,,,272,272,272,,,272,272,,,272,272,277,277,277,', '277,,,,277,277,,,,277,,277,277,277,277,277,277,277,,,,,,277,277,277', '277,277,277,277,,,277,,,,,,,277,,,277,277,277,277,277,277,277,277,,277', '277,277,,277,277,,277,277,277,,,,,,,,,,,,,,,,,,,,277,,,277,,,277,277', ',,277,,,,,,277,,,,,,,,277,,,,,277,277,277,277,277,277,,,,277,277,,,', ',,,277,,,277,277,277,,,277,277,,,277,277,285,285,285,,285,,,,285,285', ',,,285,,285,285,285,285,285,285,285,,,,,,285,285,285,285,285,285,285', ',,285,,,,,,,285,,,285,285,285,285,285,285,285,285,285,285,285,285,,285', '285,,285,285,285,,,,,,,,,,,,,,,,,,,,285,,,285,,,285,285,,,285,,285,', '285,,285,,,,,,,,285,,,,,285,285,285,285,285,285,,,,285,285,,,,,,,285', ',285,285,285,285,,,285,285,,,285,285,292,292,292,,292,,,,292,292,,,', '292,,292,292,292,292,292,292,292,,,,,,292,292,292,292,292,292,292,,', '292,,,,,,,292,,,292,292,292,292,292,292,292,292,292,292,292,292,,292', '292,,292,292,292,,,,,,,,,,,,,,,,,,,,292,,,292,,,292,292,,,292,,292,', '292,,292,,,,,,,,292,,,,,292,292,292,292,292,292,,,,292,292,,,,,,,292', ',292,292,292,292,,,292,292,,,292,292,295,295,295,,295,,,,295,295,,,', '295,,295,295,295,295,295,295,295,,,,,,295,295,295,295,295,295,295,,', '295,,,,,,,295,,,295,295,295,295,295,295,295,295,295,295,295,295,,295', '295,,295,295,295,,,,,,,,,,,,,,,,,,,,295,,,295,,,295,295,,,295,,295,', '295,,295,,,,,,,,295,,,,,295,295,295,295,295,295,,,,295,295,295,,,,,', '295,,295,295,295,295,,,295,295,,,295,295,302,302,302,,302,,,,302,302', ',,,302,,302,302,302,302,302,302,302,,,,,,302,302,302,302,302,302,302', ',,302,,,,,,,302,,,302,302,302,302,302,302,302,302,,302,302,302,,302', '302,,302,302,302,,,,,,,,,,,,,,,,,,,,302,,,302,,,302,302,,,302,,,,,,302', ',,,,,,,302,,,,,302,302,302,302,302,302,,,,302,302,,,,,,,302,,,302,302', '302,,,302,302,,,302,302,304,304,304,,304,,,,304,304,,,,304,,304,304', '304,304,304,304,304,,,,,,304,304,304,304,304,304,304,,,304,,,,,,,304', ',,304,304,304,304,304,304,304,304,,304,304,304,,304,304,,304,304,304', ',,,,,,,,,,,,,,,,,,,304,,,304,,,304,304,,,304,,,,,,304,,,,,,,,304,,,', ',304,304,304,304,304,304,,,,304,304,,,,,,,304,,,304,304,304,,,304,304', ',,304,304,307,307,307,,307,,,,307,307,,,,307,,307,307,307,307,307,307', '307,,,,,,307,307,307,307,307,307,307,,,307,,,,,,,307,,,307,307,307,307', '307,307,307,307,,307,307,307,,307,307,,307,307,307,,,,,,,,,,,,,,,,,', ',,307,,,307,,,307,307,,,307,,,,,,307,,,,,,,,307,,,,,307,307,307,307', '307,307,,,,307,307,,,,,,,307,,,307,307,307,,,307,307,,,307,307,308,308', '308,,308,,,,308,308,,,,308,,308,308,308,308,308,308,308,,,,,,308,308', '308,308,308,308,308,,,308,,,,,,,308,,,308,308,308,308,308,308,308,308', ',308,308,308,,308,308,,308,308,308,,,,,,,,,,,,,,,,,,,,308,,,308,,,308', '308,,,308,,,,,,308,,,,,,,,308,,,,,308,308,308,308,308,308,,,,308,308', ',,,,,,308,,,308,308,308,,,308,308,,,308,308,314,314,314,314,314,,,,314', '314,,,,314,,314,314,314,314,314,314,314,,,,,,314,314,314,314,314,314', '314,,,314,,,,,,314,314,,314,314,314,314,314,314,314,314,314,,314,314', '314,,314,314,,314,314,314,,,,,,,,,,,,,,,,,,,,314,,,314,,,314,314,,,314', ',314,,,,314,,,,,,,,314,,,,,314,314,314,314,314,314,,,,314,314,,,,,,', '314,,,314,314,314,,,314,314,,,314,314,348,348,348,,348,,,,348,348,,', ',348,,348,348,348,348,348,348,348,,,,,,348,348,348,348,348,348,348,', ',348,,,,,,,348,,,348,348,348,348,348,348,348,348,,348,348,348,,348,348', ',348,348,348,,,,,,,,,,,,,,,,,,,,348,,,348,,,348,348,,,348,,,,,,348,', ',,,,,,348,,,,,348,348,348,348,348,348,,,,348,348,,,,,,,348,,,348,348', '348,,,348,348,,,348,348,350,350,350,,350,,,,350,350,,,,350,,350,350', '350,350,350,350,350,,,,,,350,350,350,350,350,350,350,,,350,,,,,,,350', ',,350,350,350,350,350,350,350,350,,350,350,350,,350,350,,350,350,350', ',,,,,,,,,,,,,,,,,,,350,,,350,350,,350,350,,,350,,,,,,350,,,,,,,,350', ',,,,350,350,350,350,350,350,,,,350,350,,,,,,,350,,,350,350,350,,,350', '350,,,350,350,354,354,354,,354,,,,354,354,,,,354,,354,354,354,354,354', '354,354,,,,,,354,354,354,354,354,354,354,,,354,,,,,,,354,,,354,354,354', '354,354,354,354,354,354,354,354,354,,354,354,,354,354,354,,,,,,,,,,', ',,,,,,,,,354,,,354,,,354,354,,,354,,354,,,,354,,,,,,,,354,,,,,354,354', '354,354,354,354,,,,354,354,,,,,,,354,,354,354,354,354,,,354,354,,,354', '354,355,355,355,,355,,,,355,355,,,,355,,355,355,355,355,355,355,355', ',,,,,355,355,355,355,355,355,355,,,355,,,,,,,355,,,355,355,355,355,355', '355,355,355,355,355,355,355,,355,355,,355,355,355,,,,,,,,,,,,,,,,,,', ',355,,,355,,,355,355,,,355,,,,,,355,,,,,,,,355,,,,,355,355,355,355,355', '355,,,,355,355,,,,,,,355,,355,355,355,355,,,355,355,,,355,355,362,362', '362,,362,,,,362,362,,,,362,,362,362,362,362,362,362,362,,,,,,362,362', '362,362,362,362,362,,,362,,,,,,,362,,,362,362,362,362,362,362,362,362', ',362,362,362,,362,362,,362,362,362,,,,,,,,,,,,,,,,,,,,362,,,362,,,362', '362,,,362,,,,,,362,,,,,,,,362,,,,,362,362,362,362,362,362,,,,362,362', ',,,,,,362,,,362,362,362,,,362,362,,,362,362,436,436,436,,436,,,,436', '436,,,,436,,436,436,436,436,436,436,436,,,,,,436,436,436,436,436,436', '436,,,436,,,,,,,436,,,436,436,436,436,436,436,436,436,,436,436,436,', '436,436,,436,436,436,,,,,,,,,,,,,,,,,,,,436,,,436,,,436,436,,,436,,', ',,,436,,,,,,,,436,,,,,436,436,436,436,436,436,,,,436,436,,,,,,,436,', ',436,436,436,,470,436,436,,,436,436,470,470,470,,,470,470,470,752,470', '752,752,752,752,752,,,,470,470,470,470,,,752,,,,,470,470,,470,470,470', '470,470,,,,,,,,,,752,,,,,,,,,,,752,752,,470,470,470,470,470,470,470', '470,470,470,470,470,470,470,,,470,470,470,,,470,,,470,,,470,470,,470', '752,470,,470,,470,470,470,470,470,470,470,,470,470,470,795,,795,795', '795,795,795,,,,,,470,470,470,470,795,470,471,470,,,,,470,471,471,471', ',470,471,471,471,,471,,,,795,,,,,471,471,471,471,795,795,795,795,,,', '471,471,,471,471,471,471,471,,,,,,,,,,,,,,,,,,,,,,795,,471,471,471,471', '471,471,471,471,471,471,471,471,471,471,,,471,471,471,,,471,,,471,,', '471,471,,471,,471,,471,,471,471,471,471,471,471,471,,471,471,471,,,', ',,,,,,,,,471,471,471,471,,471,,471,,,,,471,,480,480,480,471,480,,,,480', '480,,,,480,,480,480,480,480,480,480,480,,,,,,480,480,480,480,480,480', '480,,,480,,,,,,,480,,,480,480,480,480,480,480,480,480,480,480,480,480', ',480,480,,480,480,480,,,,,,,,,,,,,,,,,,,,480,,,480,,,480,480,,,480,', '480,,480,,480,,,,,,,,480,,,,,480,480,480,480,480,480,,,,480,480,,,,', ',,480,,480,480,480,480,,,480,480,,,480,480,482,482,482,,482,,,,482,482', ',,,482,,482,482,482,482,482,482,482,,,,,,482,482,482,482,482,482,482', ',,482,,,,,,,482,,,482,482,482,482,482,482,482,482,,482,482,482,,482', '482,,482,482,482,,,,,,,,,,,,,,,,,,,,482,,,482,,,482,482,,,482,,,,,,482', ',,,,,,,482,,,,,482,482,482,482,482,482,,,,482,482,,,,,,,482,,,482,482', '482,,,482,482,,,482,482,483,483,483,,483,,,,483,483,,,,483,,483,483', '483,483,483,483,483,,,,,,483,483,483,483,483,483,483,,,483,,,,,,,483', ',,483,483,483,483,483,483,483,483,,483,483,483,,483,483,,483,483,483', ',,,,,,,,,,,,,,,,,,,483,,,483,,,483,483,,,483,,,,,,483,,,,,,,,483,,,', ',483,483,483,483,483,483,,,,483,483,,,,,,,483,,,483,483,483,,,483,483', ',,483,483,484,484,484,,484,,,,484,484,,,,484,,484,484,484,484,484,484', '484,,,,,,484,484,484,484,484,484,484,,,484,,,,,,,484,,,484,484,484,484', '484,484,484,484,,484,484,484,,484,484,,484,484,484,,,,,,,,,,,,,,,,,', ',,484,,,484,,,484,484,,,484,,,,,,484,,,,,,,,484,,,,,484,484,484,484', '484,484,,,,484,484,,,,,,,484,,,484,484,484,,510,484,484,,,484,484,510', '510,510,,,510,510,510,794,510,794,794,794,794,794,,,,510,510,,,,,794', ',,,,510,510,,510,510,510,510,510,,838,,838,838,838,838,838,,794,,,,', ',,,838,794,794,794,794,,,,,,,,,,,,,510,,,,,838,,510,,,,,510,510,838', '838,838,838,,,794,,,,,,,,,,,794,,,510,510,,,,,,,838,,,,,,510,,838,,', '510,519,519,519,,519,,510,,519,519,,510,,519,,519,519,519,519,519,519', '519,,,,,,519,519,519,519,519,519,519,,,519,,,,,,,519,,,519,519,519,519', '519,519,519,519,,519,519,519,,519,519,,519,519,519,,,,,,,,,,,,,,,,,', ',,519,,,519,,,519,519,,,519,,,,,,519,,,,,,,,519,,,,,519,519,519,519', '519,519,,,,519,519,,,,,,,519,,,519,519,519,,,519,519,,,519,519,525,525', '525,,525,,,,525,525,,,,525,,525,525,525,525,525,525,525,,,,,,525,525', '525,525,525,525,525,,,525,,,,,,,525,,,525,525,525,525,525,525,525,525', '525,525,525,525,,525,525,,525,525,525,,,,,,,,,,,,,,,,,,,,525,,,525,', ',525,525,,,525,,525,,525,,525,,,,,,,,525,,,,,525,525,525,525,525,525', ',,,525,525,,,,,,,525,,525,525,525,525,,,525,525,,,525,525,528,528,528', ',528,,,,528,528,,,,528,,528,528,528,528,528,528,528,,,,,,528,528,528', '528,528,528,528,,,528,,,,,,,528,,,528,528,528,528,528,528,528,528,528', '528,528,528,,528,528,,528,528,528,,,,,,,,,,,,,,,,,,,,528,,,528,,,528', '528,,,528,,,,528,,528,,,,,,,,528,,,,,528,528,528,528,528,528,,,,528', '528,,,,,,,528,,528,528,528,528,,,528,528,,,528,528,530,530,530,,530', ',,,530,530,,,,530,,530,530,530,530,530,530,530,,,,,,530,530,530,530', '530,530,530,,,530,,,,,,,530,,,530,530,530,530,530,530,530,530,,530,530', '530,,530,530,,530,530,530,,,,,,,,,,,,,,,,,,,,530,,,530,,,530,530,,,530', ',,,,,530,,,,,,,,530,,,,,530,530,530,530,530,530,,,,530,530,,,,,,,530', ',,530,530,530,,,530,530,,,530,530,536,536,536,536,536,,,,536,536,,,', '536,,536,536,536,536,536,536,536,,,,,,536,536,536,536,536,536,536,,', '536,,,,,,536,536,536,536,536,536,536,536,536,536,536,536,,536,536,536', ',536,536,,536,536,536,,,,,,,,,,,,,,,,,,,,536,,,536,,,536,536,,,536,', '536,,,,536,,,,,,,,536,,,,,536,536,536,536,536,536,,,,536,536,,,,,,536', '536,,,536,536,536,,,536,536,,,536,536,545,545,545,,545,,,,545,545,,', ',545,,545,545,545,545,545,545,545,,,,,,545,545,545,545,545,545,545,', ',545,,,,,,,545,,,545,545,545,545,545,545,545,545,545,545,545,545,,545', '545,,545,545,545,,,,,,,,,,,,,,,,,,,,545,,,545,,,545,545,,,545,,545,', '545,,545,,,,,,,,545,,,,,545,545,545,545,545,545,,,,545,545,,,,,,,545', ',545,545,545,545,,,545,545,,,545,545,557,557,557,,557,,,,557,557,,,', '557,,557,557,557,557,557,557,557,,,,,,557,557,557,557,557,557,557,,', '557,,,,,,,557,,,557,557,557,557,557,557,557,557,,557,557,557,,557,557', ',557,557,557,,,,,,,,,,,,,,,,,,,,557,,,557,,,557,557,,,557,,,,,,557,', ',,,,,,557,,,,,557,557,557,557,557,557,,,,557,557,,,,,,,557,,,557,557', '557,,,557,557,,,557,557,560,560,560,,560,,,,560,560,,,,560,,560,560', '560,560,560,560,560,,,,,,560,560,560,560,560,560,560,,,560,,,,,,,560', ',,560,560,560,560,560,560,560,560,,560,560,560,,560,560,,560,560,560', ',,,,,,,,,,,,,,,,,,,560,,,560,,,560,560,,,560,,,,,,560,,,,,,,,560,,,', ',560,560,560,560,560,560,,,,560,560,,,,,,,560,,,560,560,560,,,560,560', ',,560,560,594,594,594,,594,,,,594,594,,,,594,,594,594,594,594,594,594', '594,,,,,,594,594,594,594,594,594,594,,,594,,,,,,,594,,,594,594,594,594', '594,594,594,594,,594,594,594,,594,594,,594,594,594,,,,,,,,,,,,,,,,,', ',,594,,,594,,,594,594,,,594,,,,,,594,,,,,,,,594,,,,,594,594,594,594', '594,594,,,,594,594,,,,,,,594,,,594,594,594,,,594,594,,,594,594,617,617', '617,,617,,,,617,617,,,,617,,617,617,617,617,617,617,617,,,,,,617,617', '617,617,617,617,617,,,617,,,,,,,617,,,617,617,617,617,617,617,617,617', '617,617,617,617,,617,617,,617,617,617,,,,,,,,,,,,,,,,,,,,617,,,617,', ',617,617,,,617,,617,,617,,617,,,,,,,,617,,,,,617,617,617,617,617,617', ',,,617,617,,,,,,,617,,617,617,617,617,,,617,617,,,617,617,629,629,629', ',629,,,,629,629,,,,629,,629,629,629,629,629,629,629,,,,,,629,629,629', '629,629,629,629,,,629,,,,,,,629,,,629,629,629,629,629,629,629,629,,629', '629,629,,629,629,,629,629,629,,,,,,,,,,,,,,,,,,,,629,,,629,,,629,629', ',,629,,,,,,629,,,,,,,,629,,,,,629,629,629,629,629,629,,,,629,629,,,', ',,,629,,,629,629,629,,,629,629,,,629,629,635,635,635,,635,,,,635,635', ',,,635,,635,635,635,635,635,635,635,,,,,,635,635,635,635,635,635,635', ',,635,,,,,,,635,,,635,635,635,635,635,635,635,635,,635,635,635,,635', '635,,635,635,635,,,,,,,,,,,,,,,,,,,,635,,,635,,,635,635,,,635,,,,,,635', ',,,,,,,635,,,,,635,635,635,635,635,635,,,,635,635,,,,,,,635,,,635,635', '635,,,635,635,,,635,635,664,664,664,,664,,,,664,664,,,,664,,664,664', '664,664,664,664,664,,,,,,664,664,664,664,664,664,664,,,664,,,,,,,664', ',,664,664,664,664,664,664,664,664,,664,664,664,,664,664,,664,664,664', ',,,,,,,,,,,,,,,,,,,664,,,664,,,664,664,,,664,,664,,,,664,,,,,,,,664', ',,,,664,664,664,664,664,664,,,,664,664,,,,,,,664,,,664,664,664,,,664', '664,,,664,664,665,665,665,,665,,,,665,665,,,,665,,665,665,665,665,665', '665,665,,,,,,665,665,665,665,665,665,665,,,665,,,,,,,665,,,665,665,665', '665,665,665,665,665,,665,665,665,,665,665,,665,665,665,,,,,,,,,,,,,', ',,,,,,665,,,665,,,665,665,,,665,,,,,,665,,,,,,,,665,,,,,665,665,665', '665,665,665,,,,665,665,,,,,,,665,,,665,665,665,,,665,665,,,665,665,666', '666,666,,666,,,,666,666,,,,666,,666,666,666,666,666,666,666,,,,,,666', '666,666,666,666,666,666,,,666,,,,,,,666,,,666,666,666,666,666,666,666', '666,666,666,666,666,,666,666,,666,666,666,,,,,,,,,,,,,,,,,,,,666,,,666', ',,666,666,,,666,,666,,666,,666,,,,,,,,666,,,,,666,666,666,666,666,666', ',,,666,666,,,,,,,666,,666,666,666,666,,,666,666,,,666,666,669,669,669', '669,669,,,,669,669,,,,669,,669,669,669,669,669,669,669,,,,,,669,669', '669,669,669,669,669,,,669,,,,,,669,669,,669,669,669,669,669,669,669', '669,669,,669,669,669,,669,669,,669,669,669,,,,,,,,,,,,,,,,,,,,669,,', '669,,,669,669,,,669,,669,,,,669,,,,,,,,669,,,,,669,669,669,669,669,669', ',,,669,669,,,,,,,669,,,669,669,669,,,669,669,,,669,669,670,670,670,', '670,,,,670,670,,,,670,,670,670,670,670,670,670,670,,,,,,670,670,670', '670,670,670,670,,,670,,,,,,,670,,,670,670,670,670,670,670,670,670,,670', '670,670,,670,670,,670,670,670,,,,,,,,,,,,,,,,,,,,670,,,670,,,670,670', ',,670,,,,,,670,,,,,,,,670,,,,,670,670,670,670,670,670,,,,670,670,,,', ',,,670,,,670,670,670,,,670,670,,,670,670,673,673,673,,673,,,,673,673', ',,,673,,673,673,673,673,673,673,673,,,,,,673,673,673,673,673,673,673', ',,673,,,,,,,673,,,673,673,673,673,673,673,673,673,673,673,673,673,,673', '673,,673,673,673,,,,,,,,,,,,,,,,,,,,673,,,673,,,673,673,,,673,,673,', '673,,673,,,,,,,,673,,,,,673,673,673,673,673,673,,,,673,673,,,,,,,673', ',673,673,673,673,,,673,673,,,673,673,674,674,674,,674,,,,674,674,,,', '674,,674,674,674,674,674,674,674,,,,,,674,674,674,674,674,674,674,,', '674,,,,,,,674,,,674,674,674,674,674,674,674,674,674,674,674,674,,674', '674,,674,674,674,,,,,,,,,,,,,,,,,,,,674,,,674,,,674,674,,,674,,,,674', ',674,,,,,,,,674,,,,,674,674,674,674,674,674,,,,674,674,,,,,,,674,,674', '674,674,674,,,674,674,,,674,674,675,675,675,,675,,,,675,675,,,,675,', '675,675,675,675,675,675,675,,,,,,675,675,675,675,675,675,675,,,675,', ',,,,,675,,,675,675,675,675,675,675,675,675,,675,675,675,,675,675,,675', '675,675,,,,,,,,,,,,,,,,,,,,675,,,675,,,675,675,,,675,,,,,,675,,,,,,', ',675,,,,,675,675,675,675,675,675,,,,675,675,,,,,,,675,,,675,675,675', ',,675,675,,,675,675,676,676,676,,676,,,,676,676,,,,676,,676,676,676', '676,676,676,676,,,,,,676,676,676,676,676,676,676,,,676,,,,,,,676,,,676', '676,676,676,676,676,676,676,,676,676,676,,676,676,,676,676,676,,,,,', ',,,,,,,,,,,,,,676,,,676,,,676,676,,,676,,,,,,676,,,,,,,,676,,,,,676', '676,676,676,676,676,,,,676,676,,,,,,,676,,,676,676,676,,,676,676,,,676', '676,681,681,681,,681,,,,681,681,,,,681,,681,681,681,681,681,681,681', ',,,,,681,681,681,681,681,681,681,,,681,,,,,,,681,,,681,681,681,681,681', '681,681,681,,681,681,681,,681,681,,681,681,681,,,,,,,,,,,,,,,,,,,,681', ',,681,,,681,681,,,681,,,,,,681,,,,,,,,681,,,,,681,681,681,681,681,681', ',,,681,681,,,,,,,681,,,681,681,681,,,681,681,,,681,681,682,682,682,', '682,,,,682,682,,,,682,,682,682,682,682,682,682,682,,,,,,682,682,682', '682,682,682,682,,,682,,,,,,,682,,,682,682,682,682,682,682,682,682,,682', '682,682,,682,682,,682,682,682,,,,,,,,,,,,,,,,,,,,682,,,682,,,682,682', ',,682,,,,,,682,,,,,,,,682,,,,,682,682,682,682,682,682,,,,682,682,,,', ',,,682,,,682,682,682,,,682,682,,,682,682,707,707,707,,707,,,,707,707', ',,,707,,707,707,707,707,707,707,707,,,,,,707,707,707,707,707,707,707', ',,707,,,,,,,707,,,707,707,707,707,707,707,707,707,,707,707,707,,707', '707,,707,707,707,,,,,,,,,,,,,,,,,,,,707,,,707,,,707,707,,,707,,,,,,707', ',,,,,,,707,,,,,707,707,707,707,707,707,,,,707,707,,,,,,,707,,,707,707', '707,,,707,707,,,707,707,710,710,710,,710,,,,710,710,,,,710,,710,710', '710,710,710,710,710,,,,,,710,710,710,710,710,710,710,,,710,,,,,,,710', ',,710,710,710,710,710,710,710,710,,710,710,710,,710,710,,710,710,710', ',,,,,,,,,,,,,,,,,,,710,,,710,,,710,710,,,710,,,,,,710,,,,,,,,710,,,', ',710,710,710,710,710,710,,,,710,710,,,,,,,710,,,710,710,710,,,710,710', ',,710,710,725,725,725,,725,,,,725,725,,,,725,,725,725,725,725,725,725', '725,,,,,,725,725,725,725,725,725,725,,,725,,,,,,,725,,,725,725,725,725', '725,725,725,725,,725,725,725,,725,725,,725,725,725,,,,,,,,,,,,,,,,,', ',,725,,,725,,,725,725,,,725,,,,,,725,,,,,,,,725,,,,,725,725,725,725', '725,725,,,,725,725,,,,,,,725,,,725,725,725,,,725,725,,,725,725,730,730', '730,,730,,,,730,730,,,,730,,730,730,730,730,730,730,730,,,,,,730,730', '730,730,730,730,730,,,730,,,,,,,730,,,730,730,730,730,730,730,730,730', ',730,730,730,,730,730,,730,730,730,,,,,,,,,,,,,,,,,,,,730,,,730,,,730', '730,,,730,,730,,,,730,,,,,,,,730,,,,,730,730,730,730,730,730,,,,730', '730,,,,,,,730,,,730,730,730,,,730,730,,,730,730,735,735,735,,735,,,', '735,735,,,,735,,735,735,735,735,735,735,735,,,,,,735,735,735,735,735', '735,735,,,735,,,,,,,735,,,735,735,735,735,735,735,735,735,735,735,735', '735,,735,735,,735,735,735,,,,,,,,,,,,,,,,,,,,735,,,735,,,735,735,,,735', ',735,,,,735,,,,,,,,735,,,,,735,735,735,735,735,735,,,,735,735,,,,,,', '735,,735,735,735,735,,,735,735,,,735,735,738,738,738,,738,,,,738,738', ',,,738,,738,738,738,738,738,738,738,,,,,,738,738,738,738,738,738,738', ',,738,,,,,,,738,,,738,738,738,738,738,738,738,738,738,738,738,738,,738', '738,,738,738,738,,,,,,,,,,,,,,,,,,,,738,,,738,,,738,738,,,738,,,,,,738', ',,,,,,,738,,,,,738,738,738,738,738,738,,,,738,738,,,,,,,738,,738,738', '738,738,,,738,738,,,738,738,754,754,754,,754,,,,754,754,,,,754,,754', '754,754,754,754,754,754,,,,,,754,754,754,754,754,754,754,,,754,,,,,', ',754,,,754,754,754,754,754,754,754,754,,754,754,754,,754,754,,754,754', '754,,,,,,,,,,,,,,,,,,,,754,,,754,,,754,754,,,754,,,,,,754,,,,,,,,754', ',,,,754,754,754,754,754,754,,,,754,754,,,,,,,754,,,754,754,754,,,754', '754,,,754,754,775,775,775,,775,,,,775,775,,,,775,,775,775,775,775,775', '775,775,,,,,,775,775,775,775,775,775,775,,,775,,,,,,,775,,,775,775,775', '775,775,775,775,775,,775,775,775,,775,775,,775,775,775,,,,,,,,,,,,,', ',,,,,,775,,,775,,,775,775,,,775,,775,,,,775,,,,,,,,775,,,,,775,775,775', '775,775,775,,,,775,775,,,,,,,775,,,775,775,775,,,775,775,,,775,775,787', '787,787,,787,,,,787,787,,,,787,,787,787,787,787,787,787,787,,,,,,787', '787,787,787,787,787,787,,,787,,,,,,,787,,,787,787,787,787,787,787,787', '787,787,787,787,787,,787,787,,787,787,787,,,,,,,,,,,,,,,,,,,,787,,,787', ',,787,787,,,787,,787,,787,,787,,,,,,,,787,,,,,787,787,787,787,787,787', ',,,787,787,,,,,,,787,,787,787,787,787,,,787,787,,,787,787,809,809,809', ',809,,,,809,809,,,,809,,809,809,809,809,809,809,809,,,,,,809,809,809', '809,809,809,809,,,809,,,,,,,809,,,809,809,809,809,809,809,809,809,,809', '809,809,,809,809,,809,809,809,,,,,,,,,,,,,,,,,,,,809,,,809,,,809,809', ',,809,,,,,,809,,,,,,,,809,,,,,809,809,809,809,809,809,,,,809,809,,,', ',,,809,,,809,809,809,,,809,809,,,809,809,817,817,817,,817,,,,817,817', ',,,817,,817,817,817,817,817,817,817,,,,,,817,817,817,817,817,817,817', ',,817,,,,,,,817,,,817,817,817,817,817,817,817,817,,817,817,817,,817', '817,,817,817,817,,,,,,,,,,,,,,,,,,,,817,,,817,,,817,817,,,817,,,,,,817', ',,,,,,,817,,,,,817,817,817,817,817,817,,,,817,817,,,,,,,817,,,817,817', '817,,,817,817,,,817,817,830,830,830,,830,,,,830,830,,,,830,,830,830', '830,830,830,830,830,,,,,,830,830,830,830,830,830,830,,,830,,,,,,,830', ',,830,830,830,830,830,830,830,830,,830,830,830,,830,830,,830,830,830', ',,,,,,,,,,,,,,,,,,,830,,,830,,,830,830,,,830,,,,,,830,,,,,,,,830,,,', ',830,830,830,830,830,830,,,,830,830,,,,,,,830,,,830,830,830,,,830,830', ',,830,830,831,831,831,,831,,,,831,831,,,,831,,831,831,831,831,831,831', '831,,,,,,831,831,831,831,831,831,831,,,831,,,,,,,831,,,831,831,831,831', '831,831,831,831,,831,831,831,,831,831,,831,831,831,,,,,,,,,,,,,,,,,', ',,831,,,831,,,831,831,,,831,,,,,,831,,,,,,,,831,,,,,831,831,831,831', '831,831,,,,831,831,,,,,,,831,,,831,831,831,,,831,831,,,831,831,832,832', '832,,832,,,,832,832,,,,832,,832,832,832,832,832,832,832,,,,,,832,832', '832,832,832,832,832,,,832,,,,,,,832,,,832,832,832,832,832,832,832,832', ',832,832,832,,832,832,,832,832,832,,,,,,,,,,,,,,,,,,,,832,,,832,,,832', '832,,,832,,,,,,832,,,,,,,,832,,,,,832,832,832,832,832,832,,,,832,832', ',,,,,,832,,,832,832,832,,,832,832,,,832,832,833,833,833,,833,,,,833', '833,,,,833,,833,833,833,833,833,833,833,,,,,,833,833,833,833,833,833', '833,,,833,,,,,,,833,,,833,833,833,833,833,833,833,833,,833,833,833,', '833,833,,833,833,833,,,,,,,,,,,,,,,,,,,,833,,,833,,,833,833,,,833,,', ',,,833,,,,,,,,833,,,,,833,833,833,833,833,833,,,,833,833,,,,,,,833,', ',833,833,833,,,833,833,,,833,833,835,835,835,,835,,,,835,835,,,,835', ',835,835,835,835,835,835,835,,,,,,835,835,835,835,835,835,835,,,835', ',,,,,,835,,,835,835,835,835,835,835,835,835,,835,835,835,,835,835,,835', '835,835,,,,,,,,,,,,,,,,,,,,835,,,835,,,835,835,,,835,,,,,,835,,,,,,', ',835,,,,,835,835,835,835,835,835,,,,835,835,,,,,,,835,,,835,835,835', ',,835,835,,,835,835,892,892,892,,892,,,,892,892,,,,892,,892,892,892', '892,892,892,892,,,,,,892,892,892,892,892,892,892,,,892,,,,,,,892,,,892', '892,892,892,892,892,892,892,,892,892,892,,892,892,,892,892,892,,,,,', ',,,,,,,,,,,,,,892,,,892,,,892,892,,,892,,,,,,892,,,,,,,,892,,,,,892', '892,892,892,892,892,,,,892,892,,,,,,,892,,,892,892,892,,,892,892,,,892', '892,906,906,906,,906,,,,906,906,,,,906,,906,906,906,906,906,906,906', ',,,,,906,906,906,906,906,906,906,,,906,,,,,,,906,,,906,906,906,906,906', '906,906,906,,906,906,906,,906,906,,906,906,906,,,,,,,,,,,,,,,,,,,,906', ',,906,,,906,906,,,906,,,,,,906,,,,,,,,906,,,,,906,906,906,906,906,906', ',,,906,906,,,,,,,906,,,906,906,906,,,906,906,,,906,906,928,928,928,', '928,,,,928,928,,,,928,,928,928,928,928,928,928,928,,,,,,928,928,928', '928,928,928,928,,,928,,,,,,,928,,,928,928,928,928,928,928,928,928,928', '928,928,928,,928,928,,928,928,928,,,,,,,,,,,,,,,,,,,,928,,,928,,,928', '928,,,928,,,,928,,928,,,,,,,,928,,,,,928,928,928,928,928,928,,,,928', '928,,,,,,,928,,928,928,928,928,,,928,928,,,928,928,929,929,929,,929', ',,,929,929,,,,929,,929,929,929,929,929,929,929,,,,,,929,929,929,929', '929,929,929,,,929,,,,,,,929,,,929,929,929,929,929,929,929,929,,929,929', '929,,929,929,,929,929,929,,,,,,,,,,,,,,,,,,,,929,,,929,,,929,929,,,929', ',,,,,929,,,,,,,,929,,,,,929,929,929,929,929,929,,,,929,929,,,,,,,929', ',,929,929,929,,,929,929,,,929,929,976,976,976,,976,,,,976,976,,,,976', ',976,976,976,976,976,976,976,,,,,,976,976,976,976,976,976,976,,,976', ',,,,,,976,,,976,976,976,976,976,976,976,976,,976,976,976,,976,976,,976', '976,976,,,,,,,,,,,,,,,,,,,,976,,,976,,,976,976,,,976,,976,,,,976,,,', ',,,,976,,,,,976,976,976,976,976,976,,,,976,976,,,,,,,976,,,976,976,976', ',,976,976,,,976,976,1051,1051,1051,,1051,,,,1051,1051,,,,1051,,1051', '1051,1051,1051,1051,1051,1051,,,,,,1051,1051,1051,1051,1051,1051,1051', ',,1051,,,,,,,1051,,,1051,1051,1051,1051,1051,1051,1051,1051,1051,1051', '1051,1051,,1051,1051,,1051,1051,1051,,,,,,,,,,,,,,,,,,,,1051,,,1051', ',,1051,1051,,,1051,,1051,,1051,,1051,,,,,,,,1051,,,,,1051,1051,1051', '1051,1051,1051,,,,1051,1051,,,,,,,1051,,1051,1051,1051,1051,,,1051,1051', ',,1051,1051,37,37,37,,37,,,,37,37,,,,37,,37,37,37,37,37,37,37,,,,,,37', '37,37,37,37,37,37,,,37,,,,,,,37,,,37,37,37,37,37,37,37,37,,37,37,37', ',37,37,,,,37,,,,,,,,,,,,,,,,,,,,37,,,37,,,37,37,,,37,,37,,,,,,,,,,,', ',,,,,37,37,37,37,37,37,,,,37,37,,,,,,,37,,,37,37,37,,,37,37,38,38,38', ',38,,,,38,38,,,,38,,38,38,38,38,38,38,38,,,,,,38,38,38,38,38,38,38,', ',38,,,,,,,38,,,38,38,38,38,38,38,38,38,,38,38,38,,38,38,,,,38,,,,,,', ',,,,,,,,,,,,,38,,,38,,,38,38,,,38,,,,,,,,,,,,,,,,,,,38,38,38,38,38,38', ',,,38,38,,,,38,,,38,,,38,38,38,,,38,38,74,74,74,,74,,,,74,74,,,,74,', '74,74,74,74,74,74,74,,,,,,74,74,74,74,74,74,74,,,74,,,,,,,74,,,74,74', '74,74,74,74,74,74,,74,74,74,,74,74,,,,74,,,,,,,,,,,,,,,,,,,,74,,,74', ',,74,74,,,74,,74,,,,,,,,,,,,,,,,,74,74,74,74,74,74,,,,74,74,,,,,,,74', ',,74,74,74,,,74,74,322,322,322,,322,,,,322,322,,,,322,,322,322,322,322', '322,322,322,,,,,,322,322,322,322,322,322,322,,,322,,,,,,,322,,,322,322', '322,322,322,322,322,322,,322,322,322,,322,322,,,,322,,,,,,,,,,,,,,,', ',,,,322,,,322,,,322,322,,,322,,,,,,,,,,,,,,,,,,,322,322,322,322,322', '322,,,,322,322,,,,322,,,322,,,322,322,322,,,322,322,339,339,339,,339', ',,,339,339,,,,339,,339,339,339,339,339,339,339,,,,,,339,339,339,339', '339,339,339,,,339,,,,,,,339,,,339,339,339,339,339,339,339,339,,339,339', '339,,339,339,,,,339,,,,,,,,,,,,,,,,,,,,339,,,339,,,339,339,,,339,,,', ',,,,,,,,,,,,,,,339,339,339,339,339,339,,,,339,339,,,,,,,339,,,339,339', '339,,,339,339,376,376,376,,376,,,,376,376,,,,376,,376,376,376,376,376', '376,376,,,,,,376,376,376,376,376,376,376,,,376,,,,,,,376,,,376,376,376', '376,376,376,376,376,,376,376,376,,376,376,,,,376,,,,,,,,,,,,,,,,,,,', '376,,,376,,,376,376,,,376,,,,,,,,,,,,,,,,,,,376,376,376,376,376,376', ',,,376,376,,,,,,,376,,,376,376,376,,,376,376,378,378,378,,378,,,,378', '378,,,,378,,378,378,378,378,378,378,378,,,,,,378,378,378,378,378,378', '378,,,378,,,,,,,378,,,378,378,378,378,378,378,378,378,,378,378,378,', '378,378,,,,378,,,,,,,,,,,,,,,,,,,,378,,,378,,,378,378,,,378,,,,,,,,', ',,,,,,,,,,378,378,378,378,378,378,,,,378,378,,,,,,,378,,,378,378,378', ',,378,378,543,543,543,,543,,,,543,543,,,,543,,543,543,543,543,543,543', '543,,,,,,543,543,543,543,543,543,543,,,543,,,,,,,543,,,543,543,543,543', '543,543,543,543,,543,543,543,,543,543,,,,543,,,,,,,,,,,,,,,,,,,,543', ',,543,,,543,543,,,543,,,,,,,,,,,,,,,,,,,543,543,543,543,543,543,,,,543', '543,,,,,,,543,,,543,543,543,,,543,543,551,551,551,,551,,,,551,551,,', ',551,,551,551,551,551,551,551,551,,,,,,551,551,551,551,551,551,551,', ',551,,,,,,,551,,,551,551,551,551,551,551,551,551,,551,551,551,,551,551', ',,,551,,,,,,,,,,,,,,,,,,,,551,,,551,,,551,551,,,551,,,,,,,,,,,,,,,,', ',,551,551,551,551,551,551,,,,551,551,,,,,,,551,,,551,551,551,,,551,551', '713,713,713,,713,,,,713,713,,,,713,,713,713,713,713,713,713,713,,,,', ',713,713,713,713,713,713,713,,,713,,,,,,,713,,,713,713,713,713,713,713', '713,713,,713,713,713,,713,713,,,,713,,,,,,,,,,,,,,,,,,,,713,,,713,,', '713,713,,,713,,,,,,,,,,,,,,,,,,,713,713,713,713,713,713,,,,713,713,', ',,,,,713,,,713,713,713,,,713,713,724,724,724,,724,,,,724,724,,,,724', ',724,724,724,724,724,724,724,,,,,,724,724,724,724,724,724,724,,,724', ',,,,,,724,,,724,724,724,724,724,724,724,724,,724,724,724,,724,724,,', ',724,,,,,,,,,,,,,,,,,,,,724,,,724,,,724,724,,,724,,,,,,,,,,,,,,,,,,', '724,724,724,724,724,724,,,,724,724,,,,,,,724,,,724,724,724,,,724,724', '941,941,941,,941,,,,941,941,,,,941,,941,941,941,941,941,941,941,,,,', ',941,941,941,941,941,941,941,,,941,,,,,,,941,,,941,941,941,941,941,941', '941,941,,941,941,941,,941,941,,,,941,,,,,,,,,,,,,,,,,,,,941,,,941,,', '941,941,,,941,,,,,,,,,,,,,,,,,,,941,941,941,941,941,941,,,,941,941,', ',,,,,941,,,941,941,941,,,941,941,950,950,950,,950,,,,950,950,,,,950', ',950,950,950,950,950,950,950,,,,,,950,950,950,950,950,950,950,,,950', ',,,,,,950,,,950,950,950,950,950,950,950,950,,950,950,950,,950,950,,', ',950,,,,,,,,,,,,,,,,,,,,950,,,950,,,950,950,,,950,,,,,,,,,,,,,,,,,,', '950,950,950,950,950,950,,,,950,950,,,,,,,950,,,950,950,950,,,950,950', '1002,1002,1002,,1002,,,,1002,1002,,,,1002,,1002,1002,1002,1002,1002', '1002,1002,,,,,,1002,1002,1002,1002,1002,1002,1002,,,1002,,,,,,,1002', ',,1002,1002,1002,1002,1002,1002,1002,1002,,1002,1002,1002,,1002,1002', ',,,1002,,,,,,,,,,,,,,,,,,,,1002,,,1002,,,1002,1002,,,1002,,,,,,,,,,', ',,,,,,,,1002,1002,1002,1002,1002,1002,,,,1002,1002,,,,,,,1002,,,1002', '1002,1002,,,1002,1002,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11', '11,11,11,11,11,11,11,11,,,,11,11,11,11,11,11,11,11,11,11,,,,,,11,11', '11,11,11,11,11,11,11,11,,11,,,,,,,,,11,11,,11,11,11,11,11,11,11,,,11', '11,,,,11,11,11,11,,,,,,,,,,,,,,11,11,,11,11,11,11,11,11,11,11,11,11', '11,,,11,11,,,,,,,,,,11,,,,,,,,,11,,,,,11,12,12,12,12,12,12,12,12,12', '12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,,,,12,12,12,12,12,12,12', '12,12,12,,,,,,12,12,12,12,12,12,12,12,12,,,12,,,,,,,,,12,12,,12,12,12', '12,12,12,12,,,12,12,,,,12,12,12,12,,,,,,,,,,,,,,12,12,,12,12,12,12,12', '12,12,12,12,12,12,,,12,12,,,,,,,,,,12,,,,,,,,,12,,,,,12,77,77,77,77', '77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,,,,77,77', '77,77,77,77,77,77,77,77,,,,,,77,77,77,77,77,77,77,77,77,77,77,77,,77', ',,,,,,77,77,,77,77,77,77,77,77,77,,,77,77,,,,77,77,77,77,,,,,,77,,,', ',,,,77,77,,77,77,77,77,77,77,77,77,77,77,77,,,77,,,,,,,,,,,,,,,,,,,', '77,,,,,77,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105', '105,105,105,105,105,105,105,105,105,,,,105,105,105,105,105,105,105,105', '105,105,,,,,,105,105,105,105,105,105,105,105,105,105,105,105,,105,,', ',,,,105,105,,105,105,105,105,105,105,105,,,105,105,,,,105,105,105,105', ',,,,,,,,,,,,,105,105,,105,105,105,105,105,105,105,105,105,105,105,,', '105,,,,,,,,,,,,,,,,,,,,105,,,,,105,427,427,427,427,427,427,427,427,427', '427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,,,,427,427', '427,427,427,427,427,427,427,427,,,,,,427,427,427,427,427,427,427,427', '427,,,427,,,,,,,,,427,427,,427,427,427,427,427,427,427,,,427,427,,,', '427,427,427,427,,,,,,,,,,,,,,427,427,,427,427,427,427,427,427,427,427', '427,427,427,,,427,427,,,,,,,,,,427,,,,,,,,,427,,,,,427,661,661,661,661', '661,661,661,661,661,661,661,661,661,661,661,661,661,661,661,661,661', '661,661,661,,,,661,661,661,661,661,661,661,661,661,661,,,,,,661,661', '661,661,661,661,661,661,661,,,661,,,,,,,,,661,661,,661,661,661,661,661', '661,661,,,661,661,,,,661,661,661,661,,,,,,,,,,,,,,661,661,,661,661,661', '661,661,661,661,661,661,661,661,,,661,661,,,,,,,,,,661,,,,,,,,,661,', ',,,661,796,796,796,796,796,796,796,796,796,796,796,796,796,796,796,796', '796,796,796,796,796,796,796,796,,,,796,796,796,796,796,796,796,796,796', '796,,,,,,796,796,796,796,796,796,796,796,796,,,796,,,,,,,,,796,796,', '796,796,796,796,796,796,796,,,796,796,,,,796,796,796,796,,,,,,,,,,,', ',,796,796,,796,796,796,796,796,796,796,796,796,796,796,,,796,,,,,,,', ',,231,231,,,231,,,,,,796,,,231,231,796,231,231,231,231,231,231,231,', ',231,231,,,,231,231,231,231,,,,,,231,,,,,,,,231,231,,231,231,231,231', '231,231,231,231,231,231,231,,,231,,,,,,,,,,232,232,,,232,,,,,,231,,', '232,232,231,232,232,232,232,232,232,232,,,232,232,,,,232,232,232,232', ',,,,,232,,,,,,,,232,232,,232,232,232,232,232,232,232,232,232,232,232', ',958,232,958,958,958,958,958,,,,,281,281,,,281,958,,,,,232,,,281,281', '232,281,281,281,281,281,281,281,,,281,281,958,,,281,281,281,281,,,958', '958,958,958,,,,,,,,281,281,,281,281,281,281,281,281,281,281,281,281', '281,,,281,,,,,,,,,958,478,478,,,478,,,,,,281,,,478,478,281,478,478,478', '478,478,478,478,,,478,478,,,,478,478,478,478,,,,,,478,,,,,,,,478,478', ',478,478,478,478,478,478,478,478,478,478,478,,,478,,,,,,,,,,479,479', ',,479,,,,,,478,,,479,479,478,479,479,479,479,479,479,479,,,479,479,', ',,479,479,479,479,,,,,,479,,,,,,,,479,479,,479,479,479,479,479,479,479', '479,479,479,479,,,479,,,,,,,,,,546,546,,,546,,,,,,479,,,546,546,479', '546,546,546,546,546,546,546,,,546,546,,,,546,546,546,546,,,,,,546,,', ',,,,,546,546,,546,546,546,546,546,546,546,546,546,546,546,,,546,,,,', ',,,,,547,547,,,547,,,,,,546,,,547,547,546,547,547,547,547,547,547,547', ',,547,547,,,,547,547,547,547,,,,,,547,,,,,,,,547,547,,547,547,547,547', '547,547,547,547,547,547,547,,,547,,,,,,,,,,555,555,,,555,,,,,,547,,', '555,555,547,555,555,555,555,555,555,555,,,555,555,,,,555,555,555,555', ',,,,,555,,,,,,,,555,555,,555,555,555,555,555,555,555,555,555,555,555', ',,555,,,,,,,,,,556,556,,,556,,,,,,555,,,556,556,555,556,556,556,556', '556,556,556,,,556,556,,,,556,556,556,556,,,,,,556,,,,,,,,556,556,,556', '556,556,556,556,556,556,556,556,556,556,,,556,,,,,,,,,,618,618,,,618', ',,,,,556,,,618,618,556,618,618,618,618,618,618,618,,,618,618,,,,618', '618,618,618,,,,,,618,,,,,,,,618,618,,618,618,618,618,618,618,618,618', '618,618,618,,,618,,,,,,,,,,619,619,,,619,,,,,,618,,,619,619,618,619', '619,619,619,619,619,619,,,619,619,,,,619,619,619,619,,,,,,619,,,,,,', ',619,619,,619,619,619,619,619,619,619,619,619,619,619,,,619,,,,,,,,', ',667,667,,,667,,,,,,619,,,667,667,619,667,667,667,667,667,667,667,,', '667,667,,,,667,667,667,667,,,,,,667,,,,,,,,667,667,,667,667,667,667', '667,667,667,667,667,667,667,,,667,,,,,,,,,,668,668,,,668,,,,,,667,,', '668,668,667,668,668,668,668,668,668,668,,,668,668,,,,668,668,668,668', ',,,,,668,,,,,,,,668,668,,668,668,668,668,668,668,668,668,668,668,668', ',,668,,,,,,,,,,785,785,,,785,,,,,,668,,,785,785,668,785,785,785,785', '785,785,785,,,785,785,,,,785,785,785,785,,,,,,785,,,,,,,,785,785,,785', '785,785,785,785,785,785,785,785,785,785,,,785,,,,,,,,,,786,786,,,786', ',,,,,785,,,786,786,785,786,786,786,786,786,786,786,,,786,786,,,,786', '786,786,786,,,,,,786,,,,,,,,786,786,,786,786,786,786,786,786,786,786', '786,786,786,,,786,,,,,,,,,,1047,1047,,,1047,,,,,,786,,,1047,1047,786', '1047,1047,1047,1047,1047,1047,1047,,,1047,1047,,,,1047,1047,1047,1047', ',,,,,1047,,,,,,,,1047,1047,,1047,1047,1047,1047,1047,1047,1047,1047', '1047,1047,1047,,,1047,,,,,,,,,,1052,1052,,,1052,,,,,,1047,,,1052,1052', '1047,1052,1052,1052,1052,1052,1052,1052,,,1052,1052,,,,1052,1052,1052', '1052,,,,,,1052,,,,,,,,1052,1052,,1052,1052,1052,1052,1052,1052,1052', '1052,1052,1052,1052,,,1052,960,,960,960,960,960,960,,,1053,1053,,,1053', ',,960,,,1052,,,1053,1053,1052,1053,1053,1053,1053,1053,1053,1053,,,1053', '1053,,,960,1053,1053,1053,1053,,,,,,1053,960,960,,,,,,1053,1053,,1053', '1053,1053,1053,1053,1053,1053,1053,1053,1053,1053,,962,1053,962,962', '962,962,962,,,,,,960,,,,962,,,,,1053,,,,964,1053,964,964,964,964,964', ',,,,,,962,,993,964,993,993,993,993,993,,,962,962,,,,,996,993,996,996', '996,996,996,,964,,,,,,,,996,,,964,964,,,993,,,,,962,,,,993,993,993,993', ',,996,998,,998,998,998,998,998,,996,996,996,996,,,964,1057,998,1057', '1057,1057,1057,1057,,,,,,,,993,1071,1057,1071,1071,1071,1071,1071,,998', ',,,,,996,,1071,,,998,998,,,1057,1073,,1073,1073,1073,1073,1073,,,,1057', '1057,,,1071,1075,1073,1075,1075,1075,1075,1075,,1071,1071,1071,1071', ',,998,1077,1075,1077,1077,1077,1077,1077,,1073,,,,,,1057,,1077,,,1073', '1073,,,1075,,,,,,1071,,,,,1075,1075,,,1077,1100,,1100,1100,1100,1100', '1100,,,,1077,1077,,,1073,,1100,,,,,,,,,,,,,1075,,,,,,,,,1100,,,,,,1077', ',,,,1100,1100,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1100' ] racc_action_check = arr = ::Array.new(27247, nil) idx = 0 clist.each do |str| str.split(',', -1).each do |i| arr[idx] = i.to_i unless i.empty? idx += 1 end end racc_action_pointer = [ nil, 21, 1043, 34, nil, -96, nil, nil, 5247, 1028, nil, 24691, 24829, -46, nil, -47, 6, 573, 103, 203, -31, nil, -73, 5391, 1333, 191, nil, -47, nil, 200, 5530, 5658, 5788, 5932, 6076, nil, 1188, 22731, 22871, nil, 101, 327, 454, 189, 6220, 6364, 127, 6508, 6652, 669, 6796, 136, 428, nil, nil, nil, nil, nil, nil, nil, nil, nil, 6935, nil, 7077, nil, nil, -23, nil, 7221, 7365, nil, nil, 7509, 23011, 193, nil, 24967, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, -64, nil, nil, nil, nil, nil, nil, 181, 183, 187, 189, 25105, nil, nil, nil, nil, nil, nil, 0, nil, nil, 132, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 7653, nil, nil, nil, nil, 7797, 7941, 8085, 8229, 8373, 213, nil, 865, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 221, nil, 1333, 8517, 8661, 8805, 8949, 9093, 9237, 25592, 25665, nil, nil, 9381, 9525, 9669, nil, nil, 430, 135, 212, 299, 229, 209, 277, nil, 9813, 1478, 288, 9957, 10101, 10245, 10389, 10533, 10677, 10821, 10965, 11109, 11253, 11397, 11541, 11685, 11829, 11973, 12117, 12261, 12405, 12549, 12693, 12837, 12981, nil, nil, nil, nil, 13125, nil, nil, nil, 25738, nil, nil, 283, 13269, nil, nil, 294, nil, nil, nil, 13413, nil, nil, 13557, nil, 1478, nil, 274, 308, nil, 13701, 358, 13845, nil, nil, 13989, 14133, nil, nil, 121, nil, nil, 14277, 1173, nil, 307, 1623, 352, 393, 363, 23151, 1768, 431, 432, 459, 439, 473, nil, 412, 386, -19, nil, nil, nil, 441, 247, 425, 23291, nil, 558, 487, 2203, 2348, 497, nil, 499, 14421, nil, 14565, 1913, 1318, 442, 14709, 14853, nil, nil, 583, 638, -11, -9, 14997, 2058, 2203, 453, 566, 481, -19, 21, 492, 563, 22, 596, nil, nil, 23431, nil, 23571, -53, 206, 245, 365, 403, 464, 491, 500, 577, nil, 592, nil, nil, nil, nil, nil, 302, nil, 520, nil, 206, nil, 521, 652, nil, 534, nil, 563, -42, nil, 567, -31, nil, 684, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 25243, nil, nil, nil, nil, 594, nil, nil, 581, 15141, 604, nil, nil, 605, nil, 528, 239, 753, nil, nil, 1043, nil, nil, nil, nil, nil, 1188, 676, nil, nil, 689, 693, 567, 569, 7077, nil, nil, nil, 264, 392, 750, nil, nil, 15280, 15412, nil, nil, nil, -14, nil, 752, 25811, 25884, 15550, 266, 15694, 15838, 15982, 2493, 2638, 777, 1070, 779, 783, 798, 803, 4088, 4233, 3967, 2783, 2928, 3073, 3218, 3363, 3508, 871, 927, 3653, 3798, 1623, 862, 863, nil, 16121, nil, nil, nil, nil, nil, nil, nil, nil, 16251, 748, 753, 758, nil, nil, 16395, nil, nil, 16539, nil, 16683, nil, 172, nil, nil, nil, 16827, 1463, 760, 772, nil, nil, 775, 23711, 782, 16971, 25957, 26030, 591, 824, nil, 23851, 787, nil, 830, 26103, 26176, 17115, 3943, 1768, 17259, 923, 923, 807, nil, nil, 160, 283, 840, 823, nil, 329, 851, nil, 715, nil, 811, 813, nil, 815, 818, 828, nil, nil, nil, nil, nil, nil, nil, nil, 817, 784, nil, nil, 17403, nil, nil, nil, 918, nil, nil, nil, 921, nil, nil, 927, 2348, 981, nil, 2493, 35, 996, 998, 992, 1000, nil, nil, 17547, 26249, 26322, 25, nil, 267, 304, 247, nil, 619, nil, 903, 17691, nil, 922, nil, nil, nil, 17835, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 300, nil, nil, 688, nil, nil, nil, 884, nil, nil, 892, nil, 2638, nil, 25381, nil, 898, 17979, 18123, 18267, 26395, 26468, 18411, 18555, 701, 933, 18699, 18843, 18987, 19131, 932, nil, nil, nil, 19275, 19419, 937, nil, nil, nil, 279, 294, 520, 652, 909, 909, nil, -65, 1013, -10, nil, 929, nil, 1042, nil, nil, nil, 923, nil, 968, 19563, nil, nil, 19707, nil, -96, 23991, 928, nil, 956, -5, 23, 1009, 95, 621, 1013, 977, 24131, 19851, 1054, 157, 220, nil, 19995, nil, nil, nil, nil, 20139, nil, nil, 20283, nil, nil, nil, 22, 998, 318, nil, nil, 600, 5494, nil, 6899, nil, 15244, nil, 20427, nil, 845, nil, 996, 267, 1002, nil, nil, nil, nil, 773, nil, 1116, nil, nil, nil, nil, nil, 1122, nil, 20571, 1007, 34, 35, 156, 167, 2783, nil, 624, nil, 26541, 26614, 20715, nil, nil, nil, 795, 2928, 3073, 16085, 15343, 25519, 161, 1026, 3218, nil, nil, 323, nil, nil, nil, 1021, nil, 1009, 20859, 1014, 310, 340, 784, 912, nil, 1913, 21003, nil, 1014, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 21147, 21291, 21435, 21579, 364, 21723, nil, nil, 16115, nil, 3363, nil, nil, 1042, nil, -55, nil, nil, nil, nil, 1027, 66, nil, nil, nil, nil, nil, nil, nil, 3508, nil, 1028, 1076, nil, nil, 414, nil, 3653, 3798, 1034, 1040, 1042, nil, nil, nil, 1047, 1048, nil, 1052, 1053, nil, 1056, nil, nil, 1060, 852, 1066, 947, nil, 1187, nil, nil, 21867, nil, 3943, 1188, nil, nil, 36, 58, 1191, 395, 660, nil, 1075, 4088, 22011, 577, 1193, nil, 1078, 1098, nil, 663, nil, nil, nil, nil, nil, nil, nil, 1087, nil, nil, 1098, 403, nil, nil, 22155, 22299, 2058, 1099, 1100, nil, 1101, 1115, 1119, nil, 1142, 1140, 1122, 24271, nil, nil, nil, nil, 4233, 4378, nil, -8, 24411, nil, nil, 1157, 1264, 905, nil, nil, 25727, nil, 26824, nil, 26895, nil, 26920, nil, nil, nil, nil, 385, 2769, 1146, nil, -1, nil, nil, 22443, 4523, nil, nil, 1267, 716, nil, nil, 1269, nil, nil, nil, 1189, nil, 348, nil, nil, 26935, nil, nil, 26950, nil, 26989, nil, nil, 1173, 24551, 723, 1228, nil, 1277, 4668, 50, 51, 734, 1233, 52, nil, nil, nil, 426, nil, nil, nil, 1171, 1172, 1173, 1180, 1181, 2914, 1182, 3059, 4813, nil, 41, nil, nil, 4958, nil, 5103, 1185, nil, nil, 1187, 1188, 1189, 1190, nil, 1192, nil, 751, 26687, nil, nil, 1315, 22587, 26760, 26833, 53, nil, 1319, 27004, nil, nil, nil, nil, 3204, 1197, 820, nil, nil, nil, 1318, 1321, nil, 27019, nil, 27043, nil, 27058, nil, 27073, nil, nil, 1241, 1250, nil, 1215, 122, 123, 124, 184, nil, 1213, 1216, nil, nil, nil, 1217, 1218, 1220, 1240, 125, nil, 27112, nil, nil, nil, nil, 1246, nil ] racc_action_default = [ -1, -659, -658, -659, -2, -645, -4, -5, -659, -8, -9, -659, -659, -659, -35, -659, -659, -39, -659, -659, -300, -51, -647, -659, -56, -61, -62, -63, -67, -277, -277, -277, -315, -349, -350, -79, -658, -83, -91, -93, -659, -544, -545, -659, -659, -659, -659, -659, -659, -235, -659, -647, -249, -291, -292, -293, -294, -295, -296, -297, -298, -299, -631, -302, -304, -311, -313, -323, -429, -659, -659, -58, -58, -645, -659, -333, -340, -659, -351, -352, -354, -355, -356, -357, -358, -359, -360, -361, -362, -363, -372, -474, -475, -476, -477, -478, -479, -658, -482, -658, -658, -658, -492, -658, -658, -658, -520, -526, -528, -529, -530, -531, -629, -533, -534, -630, -536, -537, -538, -539, -540, -541, -542, -543, -548, -549, 1107, -3, -646, -654, -655, -656, -7, -659, -659, -659, -659, -659, -659, -23, -659, -122, -123, -124, -125, -126, -127, -128, -129, -130, -134, -135, -136, -137, -138, -139, -140, -141, -142, -143, -144, -145, -146, -147, -148, -149, -150, -151, -152, -153, -154, -155, -156, -157, -158, -159, -160, -161, -162, -163, -164, -165, -166, -167, -168, -169, -170, -171, -172, -173, -174, -175, -176, -177, -178, -179, -180, -181, -182, -183, -184, -185, -186, -187, -188, -189, -190, -191, -192, -193, -194, -195, -196, -197, -198, -199, -200, -201, -202, -203, -204, -205, -28, -131, -658, -659, -659, -659, -659, -659, -658, -659, -659, -641, -642, -659, -659, -647, -648, -55, -659, -544, -545, -659, -300, -659, -659, -241, -659, -658, -659, -218, -219, -659, -659, -659, -659, -659, -659, -659, -659, -659, -659, -659, -659, -659, -659, -659, -659, -659, -659, -659, -659, -250, -251, -252, -253, -659, -365, -458, -437, -659, -643, -644, -68, -659, -322, -364, -659, -451, -453, -74, -658, -448, -75, -647, -76, -256, -272, -658, -658, -276, -659, -282, -659, -658, -623, -659, -659, -77, -78, -645, -17, -18, -659, -21, -22, -81, -658, -647, -659, -84, -87, -658, -99, -100, -659, -659, -107, -315, -318, -647, -441, -349, -350, -353, -449, -659, -89, -659, -95, -310, -659, -220, -221, -527, -229, -230, -659, -242, -659, -658, -306, -647, -658, -658, -324, -325, -577, -57, -659, -659, -659, -658, -658, -645, -659, -646, -544, -545, -659, -659, -300, -659, -382, -383, -659, -336, -659, -122, -123, -165, -166, -167, -183, -188, -195, -198, -343, -659, -544, -545, -618, -619, -480, -659, -504, -659, -506, -659, -508, -659, -659, -487, -659, -658, -659, -659, -500, -659, -659, -502, -659, -519, -521, -522, -523, -524, -6, -657, -29, -30, -31, -32, -33, -10, -11, -659, -25, -26, -27, -132, -659, -36, -38, -287, -659, -659, -286, -37, -659, -40, -659, -300, -48, -50, -206, -261, -282, -52, -53, -41, -207, -261, -647, -267, -268, -658, -658, -632, -633, -277, -446, -634, -635, -633, -632, -277, -445, -447, -634, -635, -47, -215, -54, -647, -321, -659, -659, -659, -658, -310, -659, -659, -659, -216, -217, -222, -223, -224, -225, -226, -227, -231, -232, -233, -234, -236, -237, -238, -239, -240, -243, -244, -245, -246, -647, -254, -659, -459, -277, -632, -633, -65, -69, -278, -442, -455, -458, -578, -647, -647, -647, -317, -273, -659, -281, -274, -659, -279, -659, -283, -659, -626, -628, -16, -646, -20, -647, -80, -308, -96, -85, -659, -647, -658, -659, -659, -106, -659, -527, -659, -92, -97, -659, -659, -659, -659, -255, -247, -659, -466, -659, -647, -305, -257, -651, -651, -659, -659, -621, -651, -659, -430, -577, -433, -617, -617, -560, -562, -562, -562, -576, -579, -580, -581, -582, -583, -584, -585, -586, -659, -588, -590, -592, -597, -599, -600, -602, -607, -609, -610, -612, -613, -614, -659, -658, -373, -374, -658, -659, -659, -659, -659, -659, -368, -461, -658, -659, -659, -310, -58, -117, -118, -659, -120, -659, -300, -658, -659, -341, -555, -346, -639, -640, -659, -481, -505, -510, -511, -513, -483, -507, -484, -509, -485, -486, -659, -489, -491, -659, -494, -496, -497, -659, -498, -499, -659, -525, -658, -24, -659, -34, -290, -659, -659, -658, -659, -659, -659, -659, -450, -659, -269, -271, -659, -659, -70, -265, -266, -443, -659, -659, -72, -444, -320, -649, -632, -633, -632, -633, -647, -659, -436, -658, -64, -438, -455, -659, -456, -659, -263, -264, -316, -658, -280, -284, -659, -624, -625, -659, -19, -82, -659, -88, -94, -647, -632, -633, -658, -636, -105, -659, -90, -659, -659, -228, -647, -658, -366, -658, -303, -371, -307, -258, -653, -652, -260, -653, -312, -314, -622, -659, -647, -659, -558, -559, -659, -659, -569, -659, -572, -659, -574, -659, -384, -659, -386, -388, -395, -647, -591, -601, -611, -615, -658, -375, -658, -59, -376, -377, -328, -329, -659, -331, -659, -647, -632, -633, -636, -309, -658, -117, -118, -119, -659, -659, -658, -334, -550, -552, -337, -658, -658, -577, -577, -659, -647, -659, -658, -488, -490, -659, -493, -501, -503, -659, -133, -288, -659, -647, -632, -633, -633, -632, -49, -262, -659, -650, -658, -43, -209, -44, -210, -71, -45, -212, -46, -211, -73, -659, -659, -659, -659, -450, -659, -418, -419, -647, -421, -658, -440, -439, -659, -452, -658, -454, -275, -285, -627, -86, -450, -98, -214, -319, -13, -15, -367, -369, -658, -473, -467, -658, -468, -469, -651, -431, -658, -658, -423, -647, -617, -598, -616, -561, -562, -562, -589, -562, -562, -608, -562, -586, -603, -647, -659, -393, -659, -587, -659, -370, -378, -659, -380, -658, -659, -60, -330, -659, -450, -659, -117, -118, -121, -647, -658, -659, -659, -659, -344, -647, -647, -578, -659, -347, -620, -512, -515, -516, -517, -518, -659, -495, -12, -289, -450, -42, -208, -270, -659, -248, -617, -617, -400, -658, -658, -658, -417, -659, -647, -586, -594, -595, -605, -460, -66, -658, -658, -472, -659, -659, -471, -259, -659, -659, -659, -432, -557, -659, -565, -659, -567, -659, -570, -659, -573, -575, -385, -387, -391, -659, -396, -326, -659, -381, -327, -659, -658, -332, -450, -659, -659, -338, -342, -659, -553, -554, -556, -555, -514, -659, -398, -399, -408, -402, -410, -659, -413, -659, -415, -420, -659, -659, -593, -659, -457, -658, -658, -544, -545, -659, -659, -300, -470, -434, -435, -647, -425, -427, -428, -562, -562, -562, -562, -389, -659, -394, -659, -658, -284, -658, -335, -551, -658, -345, -658, -617, -596, -401, -658, -658, -658, -658, -606, -658, -422, -604, -659, -310, -14, -466, -658, -659, -659, -310, -424, -659, -659, -563, -566, -568, -571, -659, -392, -658, -462, -463, -464, -659, -659, -397, -659, -405, -659, -407, -659, -411, -659, -414, -416, -309, -636, -465, -647, -632, -633, -636, -309, -426, -562, -390, -379, -339, -348, -658, -658, -658, -658, -450, -564, -659, -403, -406, -409, -412, -658, -404 ] clist = [ '6,293,236,298,298,298,280,454,131,527,388,356,4,360,361,606,609,365', '231,521,614,321,363,364,144,144,282,708,139,223,590,350,299,299,299', '728,147,147,414,320,514,300,300,300,128,149,149,438,439,562,445,671', '239,445,793,284,291,294,575,445,877,461,467,745,746,9,451,582,552,520', '705,9,472,705,345,889,131,420,421,422,423,856,876,895,878,395,338,127', '734,737,144,647,880,741,935,396,317,398,400,403,870,408,411,398,319', '760,508,784,968,19,840,510,132,1017,1019,19,1,1043,144,359,359,335,335', '359,971,397,628,352,630,2,240,412,698,425,138,296,309,310,659,240,240', '240,855,19,326,326,947,711,222,375,434,642,427,644,768,366,648,896,335', '281,697,661,348,568,696,392,642,527,569,357,373,19,936,708,788,389,240', '240,632,351,240,370,353,359,359,359,359,563,354,355,376,9,1043,905,629', '938,907,1033,378,792,424,298,462,631,984,796,988,1026,937,939,1016,573', '866,358,1088,1019,742,517,705,705,518,845,694,1065,775,437,437,432,455', '862,871,949,418,394,399,19,402,708,650,478,240,240,240,240,19,471,590', '405,407,1039,968,410,320,916,433,444,298,691,444,516,798,946,1063,298', '444,799,298,773,903,413,884,906,714,875,743,872,877,449,450,1037,723', '635,,582,,299,474,475,834,,455,,1020,532,300,299,1001,526,526,1090,880', ',,396,300,877,610,293,461,467,,549,843,851,131,,,,,,,320,716,553,932', '546,320,1040,,,1041,19,240,442,240,240,442,240,,802,,555,442,240,240', '700,1066,,,,536,,565,570,566,,19,,957,1049,,,,567,571,550,611,612,131', '618,542,,,899,1091,,719,537,317,,,,,317,,719,538,952,515,877,,544,240', '535,776,,,,522,240,,801,240,651,648,1094,335,925,,,,1035,359,847,,,', ',991,992,590,19,590,335,,19,,708,,326,19,,679,824,672,,,,684,829,144', '667,850,810,660,,326,613,719,462,,298,147,,,526,526,,19,678,335,149', '335,,,,590,590,,240,19,19,,705,,,1036,,455,932,,679,932,626,932,626', '692,677,,445,908,909,471,683,910,913,731,461,467,445,445,979,,582,582', '445,445,,678,,940,,820,822,,,298,462,825,827,,911,,1070,1082,,462,553', '847,,,,,,704,553,695,,944,,,,,455,,771,772,,774,,,,863,977,,,801,932', ',932,471,932,,932,904,,954,,,471,,,781,,,749,751,753,,,,,,,,,932,240', '298,462,,,,,,,,,,755,,,,980,1007,,,,,765,727,,767,769,,455,719,,,941', ',,,,,,790,335,1028,,590,,471,,,335,,298,462,,842,445,,19,995,997,999', ',,,326,,240,,926,,,6,326,,452,,,,455,940,473,240,940,806,,672,,,144', ',841,,807,791,1098,471,819,,1067,797,147,,,,679,,836,684,444,149,672', '553,,,,,526,,444,444,,897,852,,444,444,,19,,,19,678,,,,,9,869,240,,860', ',864,914,437,1068,815,1069,,,240,,,,,,240,940,865,,,,,1072,1074,1076', '1078,,1079,,672,462,298,,,,,893,755,893,19,886,,,,941,442,240,941,898', '19,941,,941,,,442,442,900,455,,,442,442,672,,,,,,,335,471,,,,921,,1101', '1102,1103,1104,335,144,,,,,,1106,,526,869,,326,,,972,,,,,1083,975,,326', ',,978,,973,,,,,,983,836,,,444,,,,981,,941,,941,29,941,,941,,951,29,948', ',,,,,,,953,959,961,,963,965,29,966,,,,941,719,,672,29,29,29,19,29,435', '448,,755,240,755,,974,,19,19,873,,,873,,19,,,,982,,,473,1031,452,987', '29,1034,869,,,29,29,442,,29,,,,,,994,994,994,,,,,,,,359,,,,,19,,1005', '1006,,,,,,359,,,,,,,,,,19,529,,531,,,533,534,19,19,,1024,755,,1030,29', ',476,1032,,29,29,29,29,29,,,,,933,1055,,,240,,19,1092,1093,860,,,,,1052', '1050,,19,240,,,1058,1059,1060,1061,572,,298,462,,335,,,893,,,1064,,755', '335,755,,994,994,994,994,523,994,,,,,,1003,455,,,,19,19,,,1010,,,471', ',893,672,,539,471,,,,755,879,,881,,,,29,29,29,29,29,29,29,19,1099,335', ',29,29,29,,994,994,994,994,,,,564,,663,29,994,,,821,823,,1046,,,826', '828,19,,,,,,,,,,,,,,,,,,,,,19,,,29,,19,,19,,,29,,873,29,,933,,,933,', '933,853,,240,934,,,,,,,,29,,,,29,,,,,29,16,,,,,,16,,,,,,,706,,,572,', '709,,,,,,,,,29,,,,,,,16,,,,29,29,29,,,32,685,,,,,32,,933,,933,,933,', '933,,,,,16,,32,,,,,,,927,374,32,32,32,,32,,,933,,761,,821,823,828,826', ',701,702,703,,,,,,,,,,,1021,,1022,32,1023,712,,,32,32,,715,32,,,,,,', ',,,,,16,,,,,,733,,,16,,,,,1042,,1044,,,,,,,,,,808,,,,29,,,,,706,572', ',,,,,,32,,,,,32,32,32,32,32,,,,,927,,,,,,,,,,,,848,,,849,,,1089,,,,', ',,,,,,29,,,1095,,1096,861,1097,,29,16,706,440,,572,440,,,,,,440,,,29', ',,,,,883,,1105,,,16,,,,,,,,,,,,,,,,448,,32,32,32,32,32,32,32,,,,,32', '32,32,,,,29,,,29,,,,,32,,,29,,,854,924,,,,,,18,,29,,,,18,,29,16,,,,16', ',,,,16,,,,,32,,,888,,,,32,,29,32,18,,,,29,29,,,29,,,,16,,29,29,,,32', ',29,29,32,,16,16,,32,18,915,,,,,,,,,,,,,,,,,,,,,,,,,,32,,,,,,,,,,,32', '32,32,,,,,,,,,,,572,,,,,,,,,,,,,18,,,,,,,,,18,956,,,,,,,,,,,,,,967,', ',,29,,,,,,29,1029,,,,29,29,,,,,,29,,,,985,986,,,,,,,,,,,,,29,,,,,,,', ',,,,,,,,,,,,,,,29,,,,,32,,,,18,,18,,,18,,,,16,29,18,,,,,,,29,29,,,,', ',18,,,,,,,,,,,,,,,,,,29,,29,,,,,,,32,,,,29,29,,,,32,,,,,,,,,,,,,,,32', ',,16,,,16,,,,,,,,18,,,,18,,,29,29,18,,,,,,,,,,,,,,,,,,,,,,,32,,,32,', '18,29,,,,16,32,,,,,440,18,18,,16,,,32,,,440,440,,32,,,440,440,,,29,', ',,,,,20,,,,,,20,,,,32,,,,29,,32,32,,29,32,29,,,,,32,32,,,,,32,32,20', '328,328,29,,,,,,,,,,,,,,,,,,,,,,,,,20,,,,,,,,,,372,,,,,,,,,,,,,,,,,16', ',,,,,,,,,,16,16,,,,,,16,,,,,,,,,,,,,,,,,,440,20,,,,,,32,,,20,,,32,,', ',,32,32,,,18,16,,32,,,,,,,,,,,,,,,,,16,32,,,,,,,16,16,,,,,,,,,,,,,,', '32,,,,,,,,,,,16,,,,,,,,32,,,16,,,,18,32,32,18,,20,,443,,,443,,,,,,443', ',,,,,,,,,32,,32,,20,,,,,,,16,16,32,32,1013,,,,,,,,,,,,18,,,41,,,18,', ',41,18,,,,,16,18,18,,,,,18,18,,,,32,32,,,,,,,,,41,324,324,,,20,,,16', '20,,,,328,20,,,,,,,32,,,,,,,41,16,328,,,,16,,16,,368,,,390,20,,,,,,', ',,32,,,20,20,,,,,,,,,,,,627,,627,,,32,,,,,32,,32,,,,,,18,,,,,,,41,,', '32,18,18,,,,41,42,18,,,,,42,,,,,,,,,,,,,18,,,,,,,,,,,,,,,42,325,325', ',,,,,18,,,,,,,,,,,,,,,,,,,18,42,,,,,,,18,18,,369,,,391,,,,,,,,,,,41', ',,,,,,,,,18,,,,,,,,,,,18,,,,41,,,,,,,,,,,,,,20,42,,,,,,328,,,42,,,,', '328,,,,,,,,18,18,,,,,,,,,,,,,,,,,,,,,,,,,,,41,,,18,41,,,,324,41,,,,', ',,,,,20,,,20,,,324,,,,,,,,18,,,,41,,,,,,,,,42,,,41,41,,,,18,,,,,18,', '18,390,,390,,,,,,,42,20,,,,,,443,,,,20,,,,,,443,443,,,,,443,443,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,328,,,,,,,,,,42,328,,,42,,,,325,42,,,,,,,', ',,,,,,,,325,,,,,,,,,,,,42,,,,,,,,,,,,42,42,,,,,,,,20,,,,391,,391,,,', ',20,20,,,,,920,20,,,,,,,,,,41,,,,,,,324,443,,,,,,,324,,,,,,,,,,,,,,', ',20,,,,,,,,,,,,,,,,,,,20,,,,,,,,20,20,,,,,,,,,,,41,,,41,,,,,,,,,,,,20', ',,,,,,,,,,20,,,,,,,,,,,,,,,,,,,,,,,,,,,41,,,,,,,,,627,41,,,42,20,20', ',,1012,,325,,,,,,,,325,,,,,,,,,,,,,,,,,20,,,,,,,,,324,,,,,,,,,,,324', ',,,,627,,,,,20,,,,,,,,42,,,42,,,,,,,,,,20,,,,,20,,20,,,,,,,,,,,,,,,', ',,,41,,,,,,,,,,,41,41,,42,,,,41,,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,', ',,,,,,41,,,,,,,,,325,,,,,,,,,,41,325,,,247,,,,41,41,,,,297,297,297,', ',,,,,,,,343,344,,346,347,,349,,,,41,,,,,,,,,,,41,,,,,,,,,,,,42,,,,,', ',,,,,42,42,,,,,,42,,,,,,390,,,,,41,41,,,1008,,,,,,,,,,,,,,,,,,,,,,,', ',,42,41,,,,,,,,,,,,,,,,,,42,,,,,,,390,42,42,,,41,,,,,,,,,,,,,,,,,,,', ',41,,42,,,41,,41,,,,,,42,,,,,,,,,,,,,,,,,,,,,,,,297,447,,,453,297,,', ',,453,,391,,,,,42,42,,,1009,,247,,,485,486,487,488,489,490,491,492,493', '494,495,496,497,498,499,500,501,502,503,504,505,506,42,,,,507,,,,,,', ',297,,,,,,,297,,,297,,,391,,,,297,42,297,,,297,297,,,,,,,,,,,,,,,,42', ',,,,42,,42,,,,,,,,,,,,,,,,,558,,559,,,,297,297,,,,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,297,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,297,,453,453,453,,,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,344,,,,,,297,,,297,,297,,,,,,,,,,,,,,,297,,,,,', ',,,,,,726,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,297,,,,,,,,,,,,,,,,,,', ',,,,297,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,297,453,297,,', ',816,,,297,297,453,453,,,,,453,453,,,,,,,,,,,,,,,,,,,,,,,,,297,,,297', ',,,,,,,,,,,,,,453,,,,,297,,,,,297,,,297,,,,,,,,,,,,,,,,297,,,,,,,,,', ',,,,,,,,,,,297,,,,,,,,,,,,297,,,,,,,,,,,,,,,,,,,,,,297,,,,,,,,453,,', ',,,,,,,,,,453,453,453,453,,930,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,297,453,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,297,,,,,,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,297' ] racc_goto_table = arr = ::Array.new(4030, nil) idx = 0 clist.each do |str| str.split(',', -1).each do |i| arr[idx] = i.to_i unless i.empty? idx += 1 end end clist = [ '6,87,39,45,45,45,174,35,121,90,69,105,2,23,23,109,109,23,37,88,116,62', '41,41,70,70,37,222,21,21,211,39,84,84,84,15,73,73,69,14,51,86,86,86', '8,74,74,28,28,12,24,36,26,24,124,50,50,50,173,24,212,49,49,156,156,9', '32,206,64,35,91,9,32,91,77,110,121,23,23,23,23,17,162,112,162,191,63', '5,85,85,70,195,217,85,161,6,58,6,6,6,165,6,6,6,59,151,175,67,149,34', '163,49,7,167,168,34,1,218,70,30,30,79,79,30,152,192,68,9,68,3,34,192', '52,10,11,57,57,57,13,34,34,34,16,34,34,34,18,20,22,25,29,196,31,196', '42,5,196,44,79,48,54,75,80,83,89,101,196,90,104,107,118,34,162,222,120', '125,34,34,126,127,34,34,128,30,30,30,30,129,130,131,132,9,218,133,134', '165,135,136,137,138,9,45,87,139,140,141,142,152,153,159,166,169,170', '171,167,168,172,178,91,91,179,181,183,184,185,84,84,14,6,186,155,187', '7,190,193,34,194,222,197,37,34,34,34,34,34,70,211,198,199,161,149,200', '14,201,26,26,45,35,26,87,202,163,152,45,26,203,45,116,67,204,151,205', '64,210,173,214,212,30,30,215,64,221,,206,,84,30,30,36,,6,,162,191,86', '84,165,6,6,152,217,,,6,86,212,23,87,49,49,,39,52,36,121,,,,,,,14,35', '62,155,37,14,162,,,162,34,34,34,34,34,34,34,,195,,37,34,34,34,175,112', ',,,8,,6,6,84,,34,,156,17,,,,86,86,77,14,14,121,37,63,,,36,110,,49,9', '58,,,,,58,,49,59,85,57,212,,59,34,5,35,,,,57,34,,196,34,6,196,162,79', '36,,,,124,30,90,,,,,156,156,211,34,211,79,,34,,222,,34,34,,87,51,39', ',,,87,51,70,37,64,35,21,,34,5,49,87,,45,73,,,6,6,,34,6,79,74,79,,,,211', '211,,34,34,34,,91,,,155,,6,155,,87,155,34,155,34,39,50,,24,12,12,70', '50,173,173,103,49,49,24,24,36,,206,206,24,24,,6,,211,,32,32,,,45,87', '32,32,,88,,156,15,,87,62,90,,,,,,86,62,50,,12,,,,,6,,103,103,,103,,', ',28,109,,,196,155,,155,70,155,,155,35,,12,,,70,,,41,,,209,209,209,,', ',,,,,,155,34,45,87,,,,,,,,,,150,,,,12,109,,,,,14,30,,14,121,,6,49,,', '213,,,,,,,6,79,109,,211,,70,,,79,,45,87,,105,24,,34,158,158,158,,,,34', ',34,,32,,,6,34,,76,,,,6,211,76,34,211,2,,39,,,70,,174,,21,30,36,70,86', ',116,30,73,,,,87,,6,87,26,74,39,62,,,,,6,,26,26,,103,62,,26,26,,34,', ',34,6,,,,,9,39,34,,6,,6,69,84,12,9,12,,,34,,,,,,34,211,86,,,,,158,158', '158,158,,158,,39,87,45,,,,,6,150,6,34,150,,,,213,34,34,213,84,34,213', ',213,,,34,34,14,6,,,34,34,39,,,,,,,79,70,,,,14,,158,158,158,158,79,70', ',,,,,158,,6,39,,34,,,103,,,,,35,103,,34,,,103,,23,,,,,,103,6,,,26,,', ',23,,213,,213,53,213,,213,,6,53,14,,,,,,,,14,209,209,,209,209,53,209', ',,,213,49,,39,53,53,53,34,53,82,82,,150,34,150,,14,,34,34,157,,,157', ',34,,,,121,,,76,103,76,121,53,103,39,,,53,53,34,,53,,,,,,6,6,6,,,,,', ',,30,,,,,34,,14,14,,,,,,30,,,,,,,,,,34,82,,82,,,82,82,34,34,,150,150', ',14,53,,60,121,,53,53,53,53,53,,,,,157,39,,,34,,34,103,103,6,,,,,37', '14,,34,34,,,209,209,209,209,82,,45,87,,79,,,6,,,14,,150,79,150,,6,6', '6,6,60,6,,,,,,34,6,,,,34,34,,,34,,,70,,6,39,,60,70,,,,150,160,,160,', ',,53,53,53,53,53,53,53,34,209,79,,53,53,53,,6,6,6,6,,,,60,,82,53,6,', ',76,76,,34,,,76,76,34,,,,,,,,,,,,,,,,,,,,,34,,,53,,34,,34,,,53,,157', '53,,157,,,157,,157,76,,34,160,,,,,,,,53,,,,53,,,,,53,27,,,,,,27,,,,', ',,82,,,82,,82,,,,,,,,,53,,,,,,,27,,,,53,53,53,,,56,60,,,,,56,,157,,157', ',157,,157,,,,,27,,56,,,,,,,76,27,56,56,56,,56,,,157,,82,,76,76,76,76', ',60,60,60,,,,,,,,,,,160,,160,56,160,60,,,56,56,,60,56,,,,,,,,,,,,27', ',,,,,60,,,27,,,,,160,,160,,,,,,,,,,82,,,,53,,,,,82,82,,,,,,,56,,,,,56', '56,56,56,56,,,,,76,,,,,,,,,,,,82,,,82,,,160,,,,,,,,,,,53,,,160,,160', '82,160,,53,27,82,27,,82,27,,,,,,27,,,53,,,,,,82,,160,,,27,,,,,,,,,,', ',,,,,82,,56,56,56,56,56,56,56,,,,,56,56,56,,,,53,,,53,,,,,56,,,53,,', '60,82,,,,,,33,,53,,,,33,,53,27,,,,27,,,,,27,,,,,56,,,60,,,,56,,53,56', '33,,,,53,53,,,53,,,,27,,53,53,,,56,,53,53,56,,27,27,,56,33,60,,,,,,', ',,,,,,,,,,,,,,,,,,,56,,,,,,,,,,,56,56,56,,,,,,,,,,,82,,,,,,,,,,,,,33', ',,,,,,,,33,60,,,,,,,,,,,,,,60,,,,53,,,,,,53,82,,,,53,53,,,,,,53,,,,60', '60,,,,,,,,,,,,,53,,,,,,,,,,,,,,,,,,,,,,,53,,,,,56,,,,33,,33,,,33,,,', '27,53,33,,,,,,,53,53,,,,,,33,,,,,,,,,,,,,,,,,,53,,53,,,,,,,56,,,,53', '53,,,,56,,,,,,,,,,,,,,,56,,,27,,,27,,,,,,,,33,,,,33,,,53,53,33,,,,,', ',,,,,,,,,,,,,,,,,56,,,56,,33,53,,,,27,56,,,,,27,33,33,,27,,,56,,,27', '27,,56,,,27,27,,,53,,,,,,,38,,,,,,38,,,,56,,,,53,,56,56,,53,56,53,,', ',,56,56,,,,,56,56,38,38,38,53,,,,,,,,,,,,,,,,,,,,,,,,,38,,,,,,,,,,38', ',,,,,,,,,,,,,,,,27,,,,,,,,,,,27,27,,,,,,27,,,,,,,,,,,,,,,,,,27,38,,', ',,,56,,,38,,,56,,,,,56,56,,,33,27,,56,,,,,,,,,,,,,,,,,27,56,,,,,,,27', '27,,,,,,,,,,,,,,,56,,,,,,,,,,,27,,,,,,,,56,,,27,,,,33,56,56,33,,38,', '38,,,38,,,,,,38,,,,,,,,,,56,,56,,38,,,,,,,27,27,56,56,27,,,,,,,,,,,', '33,,,65,,,33,,,65,33,,,,,27,33,33,,,,,33,33,,,,56,56,,,,,,,,,65,65,65', ',,38,,,27,38,,,,38,38,,,,,,,56,,,,,,,65,27,38,,,,27,,27,,65,,,65,38', ',,,,,,,,56,,,38,38,,,,,,,,,,,,38,,38,,,56,,,,,56,,56,,,,,,33,,,,,,,65', ',,56,33,33,,,,65,66,33,,,,,66,,,,,,,,,,,,,33,,,,,,,,,,,,,,,66,66,66', ',,,,,33,,,,,,,,,,,,,,,,,,,33,66,,,,,,,33,33,,66,,,66,,,,,,,,,,,65,,', ',,,,,,,33,,,,,,,,,,,33,,,,65,,,,,,,,,,,,,,38,66,,,,,,38,,,66,,,,,38', ',,,,,,,33,33,,,,,,,,,,,,,,,,,,,,,,,,,,,65,,,33,65,,,,65,65,,,,,,,,,', '38,,,38,,,65,,,,,,,,33,,,,65,,,,,,,,,66,,,65,65,,,,33,,,,,33,,33,65', ',65,,,,,,,66,38,,,,,,38,,,,38,,,,,,38,38,,,,,38,38,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,38,,,,,,,,,,66,38,,,66,,,,66,66,,,,,,,,,,,,,,,,66,,,,,', ',,,,,,66,,,,,,,,,,,,66,66,,,,,,,,38,,,,66,,66,,,,,38,38,,,,,38,38,,', ',,,,,,,65,,,,,,,65,38,,,,,,,65,,,,,,,,,,,,,,,,38,,,,,,,,,,,,,,,,,,,38', ',,,,,,,38,38,,,,,,,,,,,65,,,65,,,,,,,,,,,,38,,,,,,,,,,,38,,,,,,,,,,', ',,,,,,,,,,,,,,,,65,,,,,,,,,38,65,,,66,38,38,,,38,,66,,,,,,,,66,,,,,', ',,,,,,,,,,,38,,,,,,,,,65,,,,,,,,,,,65,,,,,38,,,,,38,,,,,,,,66,,,66,', ',,,,,,,,38,,,,,38,,38,,,,,,,,,,,,,,,,,,,65,,,,,,,,,,,65,65,,66,,,,65', ',,,,,66,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,65,,,,,,,,,66,,,,,,,,,,65', '66,,,40,,,,65,65,,,,40,40,40,,,,,,,,,,40,40,,40,40,,40,,,,65,,,,,,,', ',,,65,,,,,,,,,,,,66,,,,,,,,,,,66,66,,,,,,66,,,,,,65,,,,,65,65,,,65,', ',,,,,,,,,,,,,,,,,,,,,,,,66,65,,,,,,,,,,,,,,,,,,66,,,,,,,65,66,66,,,65', ',,,,,,,,,,,,,,,,,,,,65,,66,,,65,,65,,,,,,66,,,,,,,,,,,,,,,,,,,,,,,,40', '40,,,40,40,,,,,40,,66,,,,,66,66,,,66,,40,,,40,40,40,40,40,40,40,40,40', '40,40,40,40,40,40,40,40,40,40,40,40,40,66,,,,40,,,,,,,,40,,,,,,,40,', ',40,,,66,,,,40,66,40,,,40,40,,,,,,,,,,,,,,,,66,,,,,66,,66,,,,,,,,,,', ',,,,,,40,,40,,,,40,40,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,40,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,40,,40,40,40,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,40,,,,,,40', ',,40,,40,,,,,,,,,,,,,,,40,,,,,,,,,,,,40,,,,,,,,,,,,,,,,,,,,,,,,,,,,', ',,,,,,,,40,,,,,,,,,,,,,,,,,,,,,,,40,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,40,40,40,,,,40,,,40,40,40,40,,,,,40,40,,,,,,,,,,,,,,,', ',,,,,,,,,40,,,40,,,,,,,,,,,,,,,40,,,,,40,,,,,40,,,40,,,,,,,,,,,,,,,', '40,,,,,,,,,,,,,,,,,,,,,40,,,,,,,,,,,,40,,,,,,,,,,,,,,,,,,,,,,40,,,,', ',,,40,,,,,,,,,,,,,40,40,40,40,,40,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,40,40,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,40,,,,,,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,40' ] racc_goto_check = arr = ::Array.new(4030, nil) idx = 0 clist.each do |str| str.split(',', -1).each do |i| arr[idx] = i.to_i unless i.empty? idx += 1 end end racc_goto_pointer = [ nil, 116, 10, 129, nil, 82, -2, 104, 39, 63, -5, 124, -302, -288, 3, -526, -586, -647, -709, nil, -389, 17, 136, -56, -176, 75, 29, 1175, -178, -75, 50, 13, -163, 1478, 107, -223, -403, -1, 1865, -20, 2978, -49, -456, nil, -611, -29, nil, nil, 132, -170, 26, -244, -385, 853, -353, nil, 1218, 103, 60, 68, 746, nil, -16, 48, -271, 2138, 2274, -517, -250, -67, 13, nil, nil, 25, 34, -270, 431, 28, nil, 84, 113, nil, 665, -191, 0, -478, 9, -29, -273, -346, -291, -455, nil, nil, nil, nil, nil, nil, nil, nil, nil, 88, nil, -66, -187, -56, nil, 101, nil, -345, -690, nil, -684, nil, nil, nil, -346, nil, 96, nil, -454, 3, nil, nil, -577, 98, -211, 116, 118, -165, 123, 123, 115, -595, -183, -595, -785, 122, -431, -185, -705, -427, -708, nil, nil, nil, nil, nil, nil, -777, 8, -486, -763, -630, nil, -514, -513, 157, -290, -629, 321, -744, -666, -584, nil, -643, -745, -842, -841, -147, -530, 145, -357, -300, -19, -173, nil, nil, -72, -70, nil, -478, nil, -287, -807, -392, -501, -631, nil, nil, 139, -12, 26, 134, 135, -311, -246, -167, 145, 145, 147, -545, -379, -375, 164, -518, -291, nil, nil, -4, -475, -328, -688, -219, -469, -711, nil, -658, -879, nil, nil, -112, -501 ] racc_goto_default = [ nil, nil, nil, nil, 5, nil, 312, 7, 367, 315, nil, nil, nil, nil, 561, nil, nil, nil, nil, 311, 313, nil, nil, nil, 14, 15, 21, 245, nil, nil, 17, nil, 441, 246, 342, nil, nil, 786, 244, 477, 24, nil, nil, 362, nil, 25, 26, 27, nil, 722, nil, nil, nil, 332, nil, 28, 329, 456, 35, nil, nil, 37, 40, 39, nil, 241, 242, 625, nil, 146, 464, 145, 148, 92, 93, nil, 446, 107, 49, 52, 277, 554, 303, nil, 457, nil, 458, 469, nil, 680, 524, 301, 285, 53, 54, 55, 56, 57, 58, 59, 60, 61, 63, nil, nil, 286, 67, nil, 69, nil, nil, 70, 891, 71, 72, 73, nil, 74, nil, 75, nil, 607, 76, 77, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 290, 279, 730, 859, 616, 892, 757, 589, nil, 758, 1038, 931, 577, nil, 578, nil, nil, 579, nil, 581, nil, 837, nil, nil, nil, 587, nil, nil, nil, nil, nil, nil, nil, 468, 288, nil, nil, 699, nil, 509, nil, nil, nil, nil, nil, 91, 94, 96, nil, nil, nil, nil, nil, 637, nil, nil, nil, nil, nil, nil, nil, nil, nil, 874, 795, 576, nil, 580, 882, 592, 594, 595, 942, 598, 599, 943, 602, 605, nil, 306 ] racc_reduce_table = [ 0, 0, :racc_error, 0, 151, :_reduce_1, 2, 149, :_reduce_2, 2, 150, :_reduce_3, 1, 152, :_reduce_none, 1, 152, :_reduce_none, 3, 152, :_reduce_6, 2, 152, :_reduce_none, 1, 155, :_reduce_none, 0, 159, :_reduce_9, 3, 155, :_reduce_10, 0, 161, :_reduce_11, 4, 158, :_reduce_12, 0, 166, :_reduce_13, 6, 160, :_reduce_14, 3, 160, :_reduce_15, 2, 162, :_reduce_16, 1, 167, :_reduce_none, 1, 167, :_reduce_none, 3, 167, :_reduce_19, 2, 167, :_reduce_20, 1, 168, :_reduce_none, 1, 168, :_reduce_22, 0, 179, :_reduce_23, 4, 157, :_reduce_24, 3, 157, :_reduce_25, 3, 157, :_reduce_26, 3, 157, :_reduce_27, 2, 157, :_reduce_28, 3, 157, :_reduce_29, 3, 157, :_reduce_30, 3, 157, :_reduce_31, 3, 157, :_reduce_32, 3, 157, :_reduce_33, 4, 157, :_reduce_34, 1, 157, :_reduce_none, 3, 157, :_reduce_36, 3, 157, :_reduce_37, 3, 157, :_reduce_38, 1, 157, :_reduce_none, 3, 172, :_reduce_40, 3, 172, :_reduce_41, 6, 172, :_reduce_42, 5, 172, :_reduce_43, 5, 172, :_reduce_44, 5, 172, :_reduce_45, 5, 172, :_reduce_46, 3, 172, :_reduce_47, 1, 180, :_reduce_48, 3, 180, :_reduce_49, 1, 180, :_reduce_none, 1, 178, :_reduce_none, 3, 178, :_reduce_52, 3, 178, :_reduce_53, 3, 178, :_reduce_54, 2, 178, :_reduce_55, 1, 178, :_reduce_none, 1, 171, :_reduce_57, 0, 191, :_reduce_58, 0, 192, :_reduce_59, 4, 189, :_reduce_60, 1, 174, :_reduce_none, 1, 174, :_reduce_none, 1, 194, :_reduce_none, 4, 194, :_reduce_64, 0, 202, :_reduce_65, 4, 199, :_reduce_66, 1, 201, :_reduce_67, 2, 193, :_reduce_68, 3, 193, :_reduce_69, 4, 193, :_reduce_70, 5, 193, :_reduce_71, 4, 193, :_reduce_72, 5, 193, :_reduce_73, 2, 193, :_reduce_74, 2, 193, :_reduce_75, 2, 193, :_reduce_76, 2, 193, :_reduce_77, 2, 193, :_reduce_78, 1, 173, :_reduce_none, 3, 173, :_reduce_80, 1, 207, :_reduce_none, 3, 207, :_reduce_82, 1, 206, :_reduce_83, 2, 206, :_reduce_84, 3, 206, :_reduce_85, 5, 206, :_reduce_86, 2, 206, :_reduce_87, 4, 206, :_reduce_88, 2, 206, :_reduce_89, 4, 206, :_reduce_90, 1, 206, :_reduce_91, 3, 206, :_reduce_92, 1, 210, :_reduce_none, 3, 210, :_reduce_94, 2, 209, :_reduce_95, 3, 209, :_reduce_96, 1, 212, :_reduce_97, 3, 212, :_reduce_98, 1, 211, :_reduce_99, 1, 211, :_reduce_100, 4, 211, :_reduce_101, 3, 211, :_reduce_102, 3, 211, :_reduce_103, 3, 211, :_reduce_104, 3, 211, :_reduce_105, 2, 211, :_reduce_106, 1, 211, :_reduce_107, 1, 175, :_reduce_108, 1, 175, :_reduce_109, 4, 175, :_reduce_110, 3, 175, :_reduce_111, 3, 175, :_reduce_112, 3, 175, :_reduce_113, 3, 175, :_reduce_114, 2, 175, :_reduce_115, 1, 175, :_reduce_116, 1, 215, :_reduce_117, 1, 215, :_reduce_none, 2, 216, :_reduce_119, 1, 216, :_reduce_120, 3, 216, :_reduce_121, 1, 217, :_reduce_none, 1, 217, :_reduce_none, 1, 217, :_reduce_none, 1, 217, :_reduce_125, 1, 217, :_reduce_126, 1, 220, :_reduce_none, 1, 220, :_reduce_none, 1, 169, :_reduce_129, 1, 169, :_reduce_none, 1, 170, :_reduce_131, 0, 223, :_reduce_132, 4, 170, :_reduce_133, 1, 218, :_reduce_none, 1, 218, :_reduce_none, 1, 218, :_reduce_none, 1, 218, :_reduce_none, 1, 218, :_reduce_none, 1, 218, :_reduce_none, 1, 218, :_reduce_none, 1, 218, :_reduce_none, 1, 218, :_reduce_none, 1, 218, :_reduce_none, 1, 218, :_reduce_none, 1, 218, :_reduce_none, 1, 218, :_reduce_none, 1, 218, :_reduce_none, 1, 218, :_reduce_none, 1, 218, :_reduce_none, 1, 218, :_reduce_none, 1, 218, :_reduce_none, 1, 218, :_reduce_none, 1, 218, :_reduce_none, 1, 218, :_reduce_none, 1, 218, :_reduce_none, 1, 218, :_reduce_none, 1, 218, :_reduce_none, 1, 218, :_reduce_none, 1, 218, :_reduce_none, 1, 218, :_reduce_none, 1, 218, :_reduce_none, 1, 218, :_reduce_none, 1, 218, :_reduce_none, 1, 218, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 1, 219, :_reduce_none, 3, 188, :_reduce_206, 3, 188, :_reduce_207, 6, 188, :_reduce_208, 5, 188, :_reduce_209, 5, 188, :_reduce_210, 5, 188, :_reduce_211, 5, 188, :_reduce_212, 0, 229, :_reduce_213, 5, 188, :_reduce_214, 3, 188, :_reduce_215, 3, 188, :_reduce_216, 3, 188, :_reduce_217, 2, 188, :_reduce_218, 2, 188, :_reduce_219, 2, 188, :_reduce_220, 2, 188, :_reduce_221, 3, 188, :_reduce_222, 3, 188, :_reduce_223, 3, 188, :_reduce_224, 3, 188, :_reduce_225, 3, 188, :_reduce_226, 3, 188, :_reduce_227, 4, 188, :_reduce_228, 2, 188, :_reduce_229, 2, 188, :_reduce_230, 3, 188, :_reduce_231, 3, 188, :_reduce_232, 3, 188, :_reduce_233, 3, 188, :_reduce_234, 1, 188, :_reduce_none, 3, 188, :_reduce_236, 3, 188, :_reduce_237, 3, 188, :_reduce_238, 3, 188, :_reduce_239, 3, 188, :_reduce_240, 2, 188, :_reduce_241, 2, 188, :_reduce_242, 3, 188, :_reduce_243, 3, 188, :_reduce_244, 3, 188, :_reduce_245, 3, 188, :_reduce_246, 3, 188, :_reduce_247, 6, 188, :_reduce_248, 1, 188, :_reduce_none, 1, 228, :_reduce_none, 1, 228, :_reduce_none, 1, 228, :_reduce_none, 1, 228, :_reduce_none, 3, 226, :_reduce_254, 3, 226, :_reduce_255, 1, 230, :_reduce_256, 1, 231, :_reduce_none, 2, 231, :_reduce_258, 4, 231, :_reduce_259, 2, 231, :_reduce_260, 1, 224, :_reduce_none, 3, 224, :_reduce_262, 3, 235, :_reduce_263, 3, 235, :_reduce_264, 1, 237, :_reduce_none, 1, 237, :_reduce_none, 1, 183, :_reduce_none, 1, 183, :_reduce_none, 2, 183, :_reduce_269, 4, 183, :_reduce_270, 2, 183, :_reduce_271, 1, 205, :_reduce_272, 2, 205, :_reduce_273, 2, 205, :_reduce_274, 4, 205, :_reduce_275, 1, 205, :_reduce_276, 0, 240, :_reduce_277, 2, 198, :_reduce_278, 2, 239, :_reduce_279, 2, 238, :_reduce_280, 1, 238, :_reduce_none, 1, 232, :_reduce_282, 2, 232, :_reduce_283, 3, 232, :_reduce_284, 4, 232, :_reduce_285, 1, 177, :_reduce_286, 1, 177, :_reduce_287, 3, 176, :_reduce_288, 4, 176, :_reduce_289, 2, 176, :_reduce_290, 1, 227, :_reduce_none, 1, 227, :_reduce_none, 1, 227, :_reduce_none, 1, 227, :_reduce_none, 1, 227, :_reduce_none, 1, 227, :_reduce_none, 1, 227, :_reduce_none, 1, 227, :_reduce_none, 1, 227, :_reduce_none, 1, 227, :_reduce_none, 1, 227, :_reduce_301, 0, 275, :_reduce_302, 4, 227, :_reduce_303, 0, 276, :_reduce_304, 3, 227, :_reduce_305, 0, 277, :_reduce_306, 4, 227, :_reduce_307, 3, 227, :_reduce_308, 3, 227, :_reduce_309, 2, 227, :_reduce_310, 0, 278, :_reduce_311, 4, 227, :_reduce_312, 0, 279, :_reduce_313, 4, 227, :_reduce_314, 1, 227, :_reduce_315, 4, 227, :_reduce_316, 3, 227, :_reduce_317, 1, 227, :_reduce_318, 5, 227, :_reduce_319, 4, 227, :_reduce_320, 3, 227, :_reduce_321, 2, 227, :_reduce_322, 1, 227, :_reduce_none, 2, 227, :_reduce_324, 2, 227, :_reduce_325, 6, 227, :_reduce_326, 6, 227, :_reduce_327, 4, 227, :_reduce_328, 4, 227, :_reduce_329, 5, 227, :_reduce_330, 4, 227, :_reduce_331, 6, 227, :_reduce_332, 0, 280, :_reduce_333, 0, 281, :_reduce_334, 7, 227, :_reduce_335, 0, 282, :_reduce_336, 0, 283, :_reduce_337, 0, 284, :_reduce_338, 9, 227, :_reduce_339, 0, 285, :_reduce_340, 0, 286, :_reduce_341, 6, 227, :_reduce_342, 0, 287, :_reduce_343, 0, 288, :_reduce_344, 7, 227, :_reduce_345, 0, 289, :_reduce_346, 0, 290, :_reduce_347, 9, 227, :_reduce_348, 1, 227, :_reduce_349, 1, 227, :_reduce_350, 1, 227, :_reduce_351, 1, 227, :_reduce_352, 1, 182, :_reduce_353, 1, 250, :_reduce_none, 1, 256, :_reduce_none, 1, 259, :_reduce_none, 1, 261, :_reduce_none, 1, 262, :_reduce_none, 1, 263, :_reduce_none, 1, 265, :_reduce_none, 1, 267, :_reduce_none, 1, 270, :_reduce_none, 1, 271, :_reduce_none, 1, 291, :_reduce_none, 1, 292, :_reduce_none, 1, 293, :_reduce_none, 1, 294, :_reduce_none, 1, 295, :_reduce_none, 1, 164, :_reduce_none, 1, 296, :_reduce_none, 1, 251, :_reduce_none, 1, 204, :_reduce_none, 1, 257, :_reduce_none, 1, 257, :_reduce_none, 2, 257, :_reduce_none, 1, 190, :_reduce_none, 1, 190, :_reduce_none, 1, 258, :_reduce_none, 5, 258, :_reduce_379, 1, 260, :_reduce_none, 2, 260, :_reduce_381, 1, 266, :_reduce_none, 1, 266, :_reduce_383, 1, 297, :_reduce_none, 3, 297, :_reduce_385, 1, 300, :_reduce_386, 3, 300, :_reduce_387, 1, 299, :_reduce_388, 4, 299, :_reduce_389, 6, 299, :_reduce_390, 3, 299, :_reduce_391, 5, 299, :_reduce_392, 2, 299, :_reduce_393, 4, 299, :_reduce_394, 1, 299, :_reduce_395, 3, 299, :_reduce_396, 4, 301, :_reduce_397, 2, 301, :_reduce_398, 2, 301, :_reduce_399, 1, 301, :_reduce_400, 2, 306, :_reduce_401, 1, 306, :_reduce_none, 6, 307, :_reduce_403, 8, 307, :_reduce_404, 4, 307, :_reduce_405, 6, 307, :_reduce_406, 4, 307, :_reduce_407, 2, 307, :_reduce_408, 6, 307, :_reduce_409, 2, 307, :_reduce_410, 4, 307, :_reduce_411, 6, 307, :_reduce_412, 2, 307, :_reduce_413, 4, 307, :_reduce_414, 2, 307, :_reduce_415, 4, 307, :_reduce_416, 1, 307, :_reduce_417, 1, 311, :_reduce_418, 1, 311, :_reduce_419, 3, 312, :_reduce_420, 1, 312, :_reduce_421, 4, 312, :_reduce_422, 1, 313, :_reduce_none, 4, 313, :_reduce_424, 1, 314, :_reduce_425, 3, 314, :_reduce_426, 1, 315, :_reduce_427, 1, 315, :_reduce_none, 0, 319, :_reduce_429, 0, 320, :_reduce_430, 4, 255, :_reduce_431, 4, 317, :_reduce_432, 1, 317, :_reduce_433, 3, 318, :_reduce_434, 3, 318, :_reduce_435, 3, 322, :_reduce_436, 2, 195, :_reduce_437, 4, 195, :_reduce_438, 5, 195, :_reduce_439, 5, 195, :_reduce_440, 0, 325, :_reduce_441, 3, 254, :_reduce_442, 4, 254, :_reduce_443, 4, 254, :_reduce_444, 3, 254, :_reduce_445, 3, 254, :_reduce_446, 3, 254, :_reduce_447, 2, 254, :_reduce_448, 1, 254, :_reduce_449, 4, 254, :_reduce_450, 0, 326, :_reduce_451, 4, 253, :_reduce_452, 0, 327, :_reduce_453, 4, 253, :_reduce_454, 0, 328, :_reduce_455, 0, 329, :_reduce_456, 4, 200, :_reduce_457, 0, 330, :_reduce_458, 0, 331, :_reduce_459, 4, 323, :_reduce_460, 0, 333, :_reduce_461, 6, 264, :_reduce_462, 1, 332, :_reduce_none, 1, 332, :_reduce_none, 6, 163, :_reduce_465, 0, 163, :_reduce_466, 1, 334, :_reduce_467, 1, 334, :_reduce_none, 1, 334, :_reduce_none, 2, 335, :_reduce_470, 1, 335, :_reduce_none, 2, 165, :_reduce_472, 1, 165, :_reduce_none, 1, 241, :_reduce_474, 1, 241, :_reduce_475, 1, 241, :_reduce_none, 1, 242, :_reduce_477, 1, 337, :_reduce_478, 1, 337, :_reduce_none, 2, 337, :_reduce_480, 3, 338, :_reduce_481, 1, 338, :_reduce_482, 3, 243, :_reduce_483, 3, 244, :_reduce_484, 3, 245, :_reduce_485, 3, 245, :_reduce_486, 1, 342, :_reduce_487, 3, 342, :_reduce_488, 1, 343, :_reduce_none, 2, 343, :_reduce_490, 3, 247, :_reduce_491, 0, 346, :_reduce_492, 4, 247, :_reduce_493, 1, 345, :_reduce_494, 3, 345, :_reduce_495, 3, 246, :_reduce_496, 3, 246, :_reduce_497, 3, 248, :_reduce_498, 3, 248, :_reduce_499, 1, 347, :_reduce_500, 3, 347, :_reduce_501, 1, 348, :_reduce_502, 3, 348, :_reduce_503, 1, 339, :_reduce_504, 2, 339, :_reduce_505, 1, 340, :_reduce_506, 2, 340, :_reduce_507, 1, 341, :_reduce_508, 2, 341, :_reduce_509, 1, 344, :_reduce_510, 0, 350, :_reduce_511, 3, 344, :_reduce_512, 0, 351, :_reduce_513, 4, 344, :_reduce_514, 1, 349, :_reduce_515, 1, 349, :_reduce_516, 1, 349, :_reduce_517, 1, 349, :_reduce_none, 2, 221, :_reduce_519, 1, 221, :_reduce_520, 1, 352, :_reduce_none, 1, 352, :_reduce_none, 1, 352, :_reduce_none, 1, 352, :_reduce_none, 3, 222, :_reduce_525, 1, 336, :_reduce_none, 2, 336, :_reduce_527, 1, 225, :_reduce_none, 1, 225, :_reduce_none, 1, 225, :_reduce_none, 1, 225, :_reduce_none, 1, 213, :_reduce_none, 1, 213, :_reduce_none, 1, 213, :_reduce_none, 1, 213, :_reduce_none, 1, 213, :_reduce_none, 1, 214, :_reduce_537, 1, 214, :_reduce_538, 1, 214, :_reduce_539, 1, 214, :_reduce_540, 1, 214, :_reduce_541, 1, 214, :_reduce_542, 1, 214, :_reduce_543, 1, 249, :_reduce_544, 1, 249, :_reduce_545, 1, 181, :_reduce_546, 1, 181, :_reduce_547, 1, 186, :_reduce_548, 1, 186, :_reduce_549, 0, 353, :_reduce_550, 4, 268, :_reduce_551, 1, 268, :_reduce_552, 3, 272, :_reduce_553, 3, 272, :_reduce_554, 0, 355, :_reduce_555, 3, 272, :_reduce_556, 4, 354, :_reduce_557, 2, 354, :_reduce_558, 2, 354, :_reduce_559, 1, 354, :_reduce_none, 2, 357, :_reduce_561, 0, 357, :_reduce_562, 6, 321, :_reduce_563, 8, 321, :_reduce_564, 4, 321, :_reduce_565, 6, 321, :_reduce_566, 4, 321, :_reduce_567, 6, 321, :_reduce_568, 2, 321, :_reduce_569, 4, 321, :_reduce_570, 6, 321, :_reduce_571, 2, 321, :_reduce_572, 4, 321, :_reduce_573, 2, 321, :_reduce_574, 4, 321, :_reduce_575, 1, 321, :_reduce_576, 0, 321, :_reduce_577, 1, 236, :_reduce_none, 1, 316, :_reduce_579, 1, 316, :_reduce_580, 1, 316, :_reduce_581, 1, 316, :_reduce_582, 1, 298, :_reduce_none, 1, 298, :_reduce_584, 1, 359, :_reduce_none, 1, 360, :_reduce_none, 3, 360, :_reduce_587, 1, 308, :_reduce_588, 3, 308, :_reduce_589, 1, 361, :_reduce_none, 2, 362, :_reduce_591, 1, 362, :_reduce_592, 2, 363, :_reduce_593, 1, 363, :_reduce_594, 1, 302, :_reduce_none, 3, 302, :_reduce_596, 1, 356, :_reduce_none, 3, 356, :_reduce_598, 1, 364, :_reduce_none, 1, 364, :_reduce_none, 2, 303, :_reduce_601, 1, 303, :_reduce_602, 3, 365, :_reduce_603, 3, 366, :_reduce_604, 1, 309, :_reduce_605, 3, 309, :_reduce_606, 1, 358, :_reduce_607, 3, 358, :_reduce_608, 1, 367, :_reduce_none, 1, 367, :_reduce_none, 2, 310, :_reduce_611, 1, 310, :_reduce_612, 1, 368, :_reduce_none, 1, 368, :_reduce_none, 2, 305, :_reduce_615, 2, 304, :_reduce_616, 0, 304, :_reduce_617, 1, 273, :_reduce_none, 0, 369, :_reduce_619, 4, 273, :_reduce_620, 1, 252, :_reduce_621, 2, 252, :_reduce_none, 1, 234, :_reduce_none, 3, 234, :_reduce_624, 3, 370, :_reduce_625, 2, 370, :_reduce_626, 4, 370, :_reduce_627, 2, 370, :_reduce_628, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 197, :_reduce_none, 1, 197, :_reduce_none, 1, 197, :_reduce_none, 1, 197, :_reduce_none, 1, 324, :_reduce_none, 1, 324, :_reduce_none, 1, 324, :_reduce_none, 1, 274, :_reduce_none, 1, 274, :_reduce_none, 1, 185, :_reduce_none, 1, 185, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 0, 153, :_reduce_none, 1, 153, :_reduce_none, 0, 187, :_reduce_none, 1, 187, :_reduce_none, 2, 208, :_reduce_none, 2, 184, :_reduce_none, 0, 233, :_reduce_none, 1, 233, :_reduce_none, 1, 233, :_reduce_none, 1, 269, :_reduce_654, 1, 269, :_reduce_none, 1, 156, :_reduce_none, 2, 156, :_reduce_657, 0, 154, :_reduce_658 ] racc_reduce_n = 659 racc_shift_n = 1107 racc_token_table = { false => 0, :error => 1, :kCLASS => 2, :kMODULE => 3, :kDEF => 4, :kUNDEF => 5, :kBEGIN => 6, :kRESCUE => 7, :kENSURE => 8, :kEND => 9, :kIF => 10, :kUNLESS => 11, :kTHEN => 12, :kELSIF => 13, :kELSE => 14, :kCASE => 15, :kWHEN => 16, :kWHILE => 17, :kUNTIL => 18, :kFOR => 19, :kBREAK => 20, :kNEXT => 21, :kREDO => 22, :kRETRY => 23, :kIN => 24, :kDO => 25, :kDO_COND => 26, :kDO_BLOCK => 27, :kDO_LAMBDA => 28, :kRETURN => 29, :kYIELD => 30, :kSUPER => 31, :kSELF => 32, :kNIL => 33, :kTRUE => 34, :kFALSE => 35, :kAND => 36, :kOR => 37, :kNOT => 38, :kIF_MOD => 39, :kUNLESS_MOD => 40, :kWHILE_MOD => 41, :kUNTIL_MOD => 42, :kRESCUE_MOD => 43, :kALIAS => 44, :kDEFINED => 45, :klBEGIN => 46, :klEND => 47, :k__LINE__ => 48, :k__FILE__ => 49, :k__ENCODING__ => 50, :tIDENTIFIER => 51, :tFID => 52, :tGVAR => 53, :tIVAR => 54, :tCONSTANT => 55, :tLABEL => 56, :tCVAR => 57, :tNTH_REF => 58, :tBACK_REF => 59, :tSTRING_CONTENT => 60, :tINTEGER => 61, :tFLOAT => 62, :tREGEXP_END => 63, :tUPLUS => 64, :tUMINUS => 65, :tUMINUS_NUM => 66, :tPOW => 67, :tCMP => 68, :tEQ => 69, :tEQQ => 70, :tNEQ => 71, :tGEQ => 72, :tLEQ => 73, :tANDOP => 74, :tOROP => 75, :tMATCH => 76, :tNMATCH => 77, :tDOT => 78, :tDOT2 => 79, :tDOT3 => 80, :tAREF => 81, :tASET => 82, :tLSHFT => 83, :tRSHFT => 84, :tCOLON2 => 85, :tCOLON3 => 86, :tOP_ASGN => 87, :tASSOC => 88, :tLPAREN => 89, :tLPAREN2 => 90, :tRPAREN => 91, :tLPAREN_ARG => 92, :tLBRACK => 93, :tLBRACK2 => 94, :tRBRACK => 95, :tLBRACE => 96, :tLBRACE_ARG => 97, :tSTAR => 98, :tSTAR2 => 99, :tAMPER => 100, :tAMPER2 => 101, :tTILDE => 102, :tPERCENT => 103, :tDIVIDE => 104, :tPLUS => 105, :tMINUS => 106, :tLT => 107, :tGT => 108, :tPIPE => 109, :tBANG => 110, :tCARET => 111, :tLCURLY => 112, :tRCURLY => 113, :tBACK_REF2 => 114, :tSYMBEG => 115, :tSTRING_BEG => 116, :tXSTRING_BEG => 117, :tREGEXP_BEG => 118, :tWORDS_BEG => 119, :tQWORDS_BEG => 120, :tSTRING_DBEG => 121, :tSTRING_DVAR => 122, :tSTRING_END => 123, :tSTRING => 124, :tSYMBOL => 125, :tNL => 126, :tEH => 127, :tCOLON => 128, :tCOMMA => 129, :tSPACE => 130, :tSEMI => 131, :tLAMBDA => 132, :tLAMBEG => 133, :tDSTAR => 134, :tCHAR => 135, :tSYMBOLS_BEG => 136, :tQSYMBOLS_BEG => 137, :tSTRING_DEND => 138, :tUBANG => 139, :tRATIONAL => 140, :tIMAGINARY => 141, :tLABEL_END => 142, :tLONELY => 143, :tBDOT2 => 144, :tBDOT3 => 145, :tLOWEST => 146, :tEQL => 147 } racc_nt_base = 148 racc_use_result_var = true Racc_arg = [ racc_action_table, racc_action_check, racc_action_default, racc_action_pointer, racc_goto_table, racc_goto_check, racc_goto_default, racc_goto_pointer, racc_nt_base, racc_reduce_table, racc_token_table, racc_shift_n, racc_reduce_n, racc_use_result_var ] Racc_token_to_s_table = [ "$end", "error", "kCLASS", "kMODULE", "kDEF", "kUNDEF", "kBEGIN", "kRESCUE", "kENSURE", "kEND", "kIF", "kUNLESS", "kTHEN", "kELSIF", "kELSE", "kCASE", "kWHEN", "kWHILE", "kUNTIL", "kFOR", "kBREAK", "kNEXT", "kREDO", "kRETRY", "kIN", "kDO", "kDO_COND", "kDO_BLOCK", "kDO_LAMBDA", "kRETURN", "kYIELD", "kSUPER", "kSELF", "kNIL", "kTRUE", "kFALSE", "kAND", "kOR", "kNOT", "kIF_MOD", "kUNLESS_MOD", "kWHILE_MOD", "kUNTIL_MOD", "kRESCUE_MOD", "kALIAS", "kDEFINED", "klBEGIN", "klEND", "k__LINE__", "k__FILE__", "k__ENCODING__", "tIDENTIFIER", "tFID", "tGVAR", "tIVAR", "tCONSTANT", "tLABEL", "tCVAR", "tNTH_REF", "tBACK_REF", "tSTRING_CONTENT", "tINTEGER", "tFLOAT", "tREGEXP_END", "tUPLUS", "tUMINUS", "tUMINUS_NUM", "tPOW", "tCMP", "tEQ", "tEQQ", "tNEQ", "tGEQ", "tLEQ", "tANDOP", "tOROP", "tMATCH", "tNMATCH", "tDOT", "tDOT2", "tDOT3", "tAREF", "tASET", "tLSHFT", "tRSHFT", "tCOLON2", "tCOLON3", "tOP_ASGN", "tASSOC", "tLPAREN", "tLPAREN2", "tRPAREN", "tLPAREN_ARG", "tLBRACK", "tLBRACK2", "tRBRACK", "tLBRACE", "tLBRACE_ARG", "tSTAR", "tSTAR2", "tAMPER", "tAMPER2", "tTILDE", "tPERCENT", "tDIVIDE", "tPLUS", "tMINUS", "tLT", "tGT", "tPIPE", "tBANG", "tCARET", "tLCURLY", "tRCURLY", "tBACK_REF2", "tSYMBEG", "tSTRING_BEG", "tXSTRING_BEG", "tREGEXP_BEG", "tWORDS_BEG", "tQWORDS_BEG", "tSTRING_DBEG", "tSTRING_DVAR", "tSTRING_END", "tSTRING", "tSYMBOL", "tNL", "tEH", "tCOLON", "tCOMMA", "tSPACE", "tSEMI", "tLAMBDA", "tLAMBEG", "tDSTAR", "tCHAR", "tSYMBOLS_BEG", "tQSYMBOLS_BEG", "tSTRING_DEND", "tUBANG", "tRATIONAL", "tIMAGINARY", "tLABEL_END", "tLONELY", "tBDOT2", "tBDOT3", "tLOWEST", "tEQL", "$start", "program", "top_compstmt", "@1", "top_stmts", "opt_terms", "none", "top_stmt", "terms", "stmt", "begin_block", "@2", "bodystmt", "@3", "compstmt", "opt_rescue", "k_else", "opt_ensure", "@4", "stmts", "stmt_or_begin", "fitem", "undef_list", "expr_value", "command_asgn", "mlhs", "command_call", "lhs", "mrhs", "mrhs_arg", "expr", "@5", "command_rhs", "var_lhs", "primary_value", "opt_call_args", "rbracket", "call_op", "backref", "opt_nl", "arg", "expr_value_do", "do", "@6", "@7", "command", "block_command", "block_call", "call_op2", "operation2", "command_args", "cmd_brace_block", "brace_body", "fcall", "@8", "operation", "k_return", "call_args", "mlhs_basic", "mlhs_inner", "rparen", "mlhs_head", "mlhs_item", "mlhs_node", "mlhs_post", "user_variable", "keyword_variable", "cname", "cpath", "fname", "op", "reswords", "fsym", "symbol", "dsym", "@9", "arg_rhs", "simple_numeric", "rel_expr", "primary", "relop", "@10", "arg_value", "aref_args", "args", "trailer", "assocs", "paren_args", "args_forward", "opt_paren_args", "opt_block_arg", "block_arg", "@11", "literal", "strings", "xstring", "regexp", "words", "qwords", "symbols", "qsymbols", "var_ref", "k_begin", "k_end", "assoc_list", "brace_block", "method_call", "lambda", "k_if", "then", "if_tail", "k_unless", "opt_else", "k_while", "k_until", "k_case", "case_body", "k_for", "for_var", "k_class", "superclass", "term", "k_module", "k_def", "f_arglist", "singleton", "dot_or_colon", "@12", "@13", "@14", "@15", "@16", "@17", "@18", "@19", "@20", "@21", "@22", "@23", "@24", "@25", "@26", "@27", "k_do", "k_do_block", "k_rescue", "k_ensure", "k_when", "k_elsif", "f_marg", "f_norm_arg", "f_margs", "f_marg_list", "block_args_tail", "f_block_kwarg", "f_kwrest", "opt_f_block_arg", "f_block_arg", "opt_block_args_tail", "block_param", "f_arg", "f_block_optarg", "f_rest_arg", "opt_block_param", "block_param_def", "opt_bv_decl", "bv_decls", "bvar", "f_bad_arg", "f_larglist", "lambda_body", "@28", "@29", "f_args", "do_block", "do_body", "operation3", "@30", "@31", "@32", "@33", "@34", "@35", "@36", "cases", "@37", "exc_list", "exc_var", "numeric", "string", "string1", "string_contents", "xstring_contents", "regexp_contents", "word_list", "word", "string_content", "symbol_list", "@38", "qword_list", "qsym_list", "string_dvar", "@39", "@40", "sym", "@41", "args_tail", "@42", "f_kwarg", "opt_args_tail", "f_optarg", "f_arg_asgn", "f_arg_item", "f_label", "f_kw", "f_block_kw", "kwrest_mark", "f_opt", "f_block_opt", "restarg_mark", "blkarg_mark", "@43", "assoc" ] Racc_debug_parser = false ##### State transition tables end ##### # reduce 0 omitted def _reduce_1(val, _values, result) self.lexer.lex_state = EXPR_BEG result end def _reduce_2(val, _values, result) result = new_compstmt val lexer.cond.pop # local_pop lexer.cmdarg.pop result end def _reduce_3(val, _values, result) stmt, _ = val result = stmt result end # reduce 4 omitted # reduce 5 omitted def _reduce_6(val, _values, result) result = self.block_append val[0], val[2] result end # reduce 7 omitted # reduce 8 omitted def _reduce_9(val, _values, result) if (self.in_def || self.in_single > 0) then debug20 1 yyerror "BEGIN in method" end self.env.extend result end def _reduce_10(val, _values, result) (_, lineno), _, iter = val iter.line lineno (_, preexe,) = iter preexe.line lineno result = iter result end def _reduce_11(val, _values, result) result = lexer.lineno result end def _reduce_12(val, _values, result) _, line, stmt, _ = val result = new_iter s(:preexe).line(line), 0, stmt result end def _reduce_13(val, _values, result) res = _values[-2] yyerror "else without rescue is useless" unless res result end def _reduce_14(val, _values, result) body, resc, _, _, els, ens = val result = new_body [body, resc, els, ens] result end def _reduce_15(val, _values, result) body, resc, ens = val result = new_body [body, resc, nil, ens] result end def _reduce_16(val, _values, result) result = new_compstmt val result end # reduce 17 omitted # reduce 18 omitted def _reduce_19(val, _values, result) result = self.block_append val[0], val[2] result end def _reduce_20(val, _values, result) result = val[1] debug20 2, val, result result end # reduce 21 omitted def _reduce_22(val, _values, result) yyerror "BEGIN is permitted only at toplevel" result end def _reduce_23(val, _values, result) lexer.lex_state = EXPR_FNAME result end def _reduce_24(val, _values, result) (_, line), lhs, _, rhs = val result = s(:alias, lhs, rhs).line(line).line line result end def _reduce_25(val, _values, result) (_, line), lhs, rhs = val result = s(:valias, lhs.to_sym, rhs.to_sym).line line result end def _reduce_26(val, _values, result) (_, line), lhs, rhs = val result = s(:valias, lhs.to_sym, :"$#{rhs}").line line result end def _reduce_27(val, _values, result) yyerror "can't make alias for the number variables" result end def _reduce_28(val, _values, result) result = val[1] result end def _reduce_29(val, _values, result) t, _, c = val result = new_if c, t, nil result end def _reduce_30(val, _values, result) f, _, c = val result = new_if c, nil, f result end def _reduce_31(val, _values, result) e, _, c = val result = new_while e, c, true result end def _reduce_32(val, _values, result) e, _, c = val result = new_until e, c, true result end def _reduce_33(val, _values, result) body, _, resbody = val resbody = new_resbody s(:array).line(resbody.line), resbody result = new_rescue body, resbody result end def _reduce_34(val, _values, result) (_, line), _, stmt, _ = val if (self.in_def || self.in_single > 0) then debug20 3 yyerror "END in method; use at_exit" end result = new_iter s(:postexe).line(line), 0, stmt result end # reduce 35 omitted def _reduce_36(val, _values, result) result = new_masgn val[0], val[2], :wrap result end def _reduce_37(val, _values, result) lhs, _, rhs = val result = new_assign lhs, s(:svalue, rhs).line(rhs.line) result end def _reduce_38(val, _values, result) result = new_masgn val[0], val[2] result end # reduce 39 omitted def _reduce_40(val, _values, result) result = new_assign val[0], val[2] result end def _reduce_41(val, _values, result) result = new_op_asgn val result end def _reduce_42(val, _values, result) result = new_op_asgn1 val result end def _reduce_43(val, _values, result) prim, _, id, opasgn, rhs = val result = s(:op_asgn, prim, rhs, id.to_sym, opasgn.to_sym) if val[1] == '&.' result.sexp_type = :safe_op_asgn end result.line = val[0].line result end def _reduce_44(val, _values, result) result = s(:op_asgn, val[0], val[4], val[2].to_sym, val[3].to_sym) if val[1] == '&.' result.sexp_type = :safe_op_asgn end result.line = val[0].line result end def _reduce_45(val, _values, result) lhs1, _, lhs2, op, rhs = val result = s(:op_asgn, lhs1, rhs, lhs2.to_sym, op.to_sym) result end def _reduce_46(val, _values, result) lhs1, _, lhs2, op, rhs = val result = s(:op_asgn, lhs1, rhs, lhs2.to_sym, op.to_sym) result end def _reduce_47(val, _values, result) self.backref_assign_error val[0] result end def _reduce_48(val, _values, result) expr, = val result = value_expr expr result end def _reduce_49(val, _values, result) expr, (_, line), resbody = val expr = value_expr expr ary = s(:array).line line result = new_rescue(expr, new_resbody(ary, resbody)) result end # reduce 50 omitted # reduce 51 omitted def _reduce_52(val, _values, result) lhs, _, rhs = val result = logical_op :and, lhs, rhs result end def _reduce_53(val, _values, result) lhs, _, rhs = val result = logical_op :or, lhs, rhs result end def _reduce_54(val, _values, result) (_, line), _, expr = val result = new_call(expr, :"!").line line # REFACTOR: call_uni_op result end def _reduce_55(val, _values, result) _, cmd = val result = new_call(cmd, :"!").line cmd.line # TODO: fix line number to tBANG... but causes BAD shift/reduce conflict # REFACTOR: call_uni_op -- see parse26.y result end # reduce 56 omitted def _reduce_57(val, _values, result) result = value_expr(val[0]) result end def _reduce_58(val, _values, result) lexer.cond.push true result end def _reduce_59(val, _values, result) lexer.cond.pop result end def _reduce_60(val, _values, result) _, expr, _, _ = val result = expr result end # reduce 61 omitted # reduce 62 omitted # reduce 63 omitted def _reduce_64(val, _values, result) blk, _, msg, args = val result = new_call(blk, msg.to_sym, args).line blk.line result end def _reduce_65(val, _values, result) # self.env.extend(:dynamic) result = self.lexer.lineno result end def _reduce_66(val, _values, result) _, line, body, _ = val result = body result.line = line # self.env.unextend result end def _reduce_67(val, _values, result) msg, = val result = new_call(nil, msg.to_sym).line lexer.lineno result end def _reduce_68(val, _values, result) call, args = val result = call.concat args.sexp_body result end def _reduce_69(val, _values, result) call, args, block = val result = call.concat args.sexp_body if block then block_dup_check result, block result, operation = block, result result.insert 1, operation end result end def _reduce_70(val, _values, result) lhs, callop, op, args = val result = new_call lhs, op.to_sym, args, callop result end def _reduce_71(val, _values, result) recv, _, msg, args, block = val call = new_call recv, msg.to_sym, args, val[1] block_dup_check call, block block.insert 1, call result = block result end def _reduce_72(val, _values, result) result = new_call val[0], val[2].to_sym, val[3] result end def _reduce_73(val, _values, result) recv, _, msg, args, block = val call = new_call recv, msg.to_sym, args block_dup_check call, block block.insert 1, call result = block result end def _reduce_74(val, _values, result) result = new_super val[1] result end def _reduce_75(val, _values, result) (_, line), args = val result = new_yield args result.line line # TODO: push to new_yield result end def _reduce_76(val, _values, result) line = val[0].last result = s(:return, ret_args(val[1])).line(line) result end def _reduce_77(val, _values, result) (_, line), args = val result = s(:break, ret_args(args)).line line result end def _reduce_78(val, _values, result) line = val[0].last result = s(:next, ret_args(val[1])).line(line) result end # reduce 79 omitted def _reduce_80(val, _values, result) result = val[1] result end # reduce 81 omitted def _reduce_82(val, _values, result) _, arg, _ = val l = arg.line result = s(:masgn, s(:array, arg).line(l)).line l result end def _reduce_83(val, _values, result) head, = val result = s(:masgn, head).line head.line result end def _reduce_84(val, _values, result) lhs, rhs = val result = s(:masgn, lhs << rhs.compact).line lhs.line result end def _reduce_85(val, _values, result) head, _, tail = val head << s(:splat, tail).line(tail.line) result = s(:masgn, head).line head.line result end def _reduce_86(val, _values, result) ary1, _, splat, _, ary2 = val result = list_append ary1, s(:splat, splat).line(splat.line) result.concat ary2.sexp_body result = s(:masgn, result).line result.line result end def _reduce_87(val, _values, result) head, _ = val l = head.line result = s(:masgn, head << s(:splat).line(l)).line l result end def _reduce_88(val, _values, result) head, _, _, post = val ary = list_append head, s(:splat).line(head.line) ary.concat post.sexp_body result = s(:masgn, ary).line ary.line result end def _reduce_89(val, _values, result) _, node = val l = node.line splat = s(:splat, node).line l ary = s(:array, splat).line l result = s(:masgn, ary).line l result end def _reduce_90(val, _values, result) _, node, _, post = val splat = s(:splat, node).line node.line ary = s(:array, splat).line splat.line ary.concat post.sexp_body result = s(:masgn, ary).line ary.line result end def _reduce_91(val, _values, result) l = lexer.lineno result = s(:masgn, s(:array, s(:splat).line(l)).line(l)).line l result end def _reduce_92(val, _values, result) _, _, post = val l = post.line splat = s(:splat).line l ary = s(:array, splat, *post.sexp_body).line l result = s(:masgn, ary).line l result end # reduce 93 omitted def _reduce_94(val, _values, result) result = val[1] result end def _reduce_95(val, _values, result) lhs, _ = val result = s(:array, lhs).line lhs.line result end def _reduce_96(val, _values, result) result = val[0] << val[1].compact result end def _reduce_97(val, _values, result) item, = val result = s(:array, item).line item.line result end def _reduce_98(val, _values, result) result = list_append val[0], val[2] result end def _reduce_99(val, _values, result) result = self.assignable val[0] result end def _reduce_100(val, _values, result) result = self.assignable val[0] result end def _reduce_101(val, _values, result) result = self.aryset val[0], val[2] result end def _reduce_102(val, _values, result) result = new_attrasgn val[0], val[2], val[1] result end def _reduce_103(val, _values, result) recv, _, id = val result = new_attrasgn recv, id result end def _reduce_104(val, _values, result) result = new_attrasgn val[0], val[2], val[1] result end def _reduce_105(val, _values, result) if (self.in_def || self.in_single > 0) then debug20 7 yyerror "dynamic constant assignment" end expr, _, id = val l = expr.line result = s(:const, s(:colon2, expr, id.to_sym).line(l), nil).line l result end def _reduce_106(val, _values, result) if (self.in_def || self.in_single > 0) then debug20 8 yyerror "dynamic constant assignment" end _, id = val l = lexer.lineno result = s(:const, nil, s(:colon3, id.to_sym).line(l)).line l result end def _reduce_107(val, _values, result) self.backref_assign_error val[0] result end def _reduce_108(val, _values, result) line = lexer.lineno result = self.assignable val[0] result.line = line result end def _reduce_109(val, _values, result) line = lexer.lineno result = self.assignable val[0] result.line = line debug20 9, val, result result end def _reduce_110(val, _values, result) lhs, _, args, _ = val result = self.aryset lhs, args result end def _reduce_111(val, _values, result) lhs, op, id = val result = new_attrasgn lhs, id, op result end def _reduce_112(val, _values, result) lhs, _, id = val result = new_attrasgn lhs, id result end def _reduce_113(val, _values, result) result = new_attrasgn val[0], val[2], val[1] result end def _reduce_114(val, _values, result) expr, _, id = val if (self.in_def || self.in_single > 0) then debug20 10 yyerror "dynamic constant assignment" end l = expr.line result = s(:const, s(:colon2, expr, id.to_sym).line(l)).line l result end def _reduce_115(val, _values, result) _, id = val if (self.in_def || self.in_single > 0) then debug20 11 yyerror "dynamic constant assignment" end l = lexer.lineno result = s(:const, s(:colon3, id.to_sym).line(l)).line l result end def _reduce_116(val, _values, result) self.backref_assign_error val[0] result end def _reduce_117(val, _values, result) yyerror "class/module name must be CONSTANT" result end # reduce 118 omitted def _reduce_119(val, _values, result) _, name = val result = s(:colon3, name.to_sym).line lexer.lineno result end def _reduce_120(val, _values, result) result = val[0].to_sym result end def _reduce_121(val, _values, result) pval, _, name = val result = s(:colon2, pval, name.to_sym) result.line pval.line result end # reduce 122 omitted # reduce 123 omitted # reduce 124 omitted def _reduce_125(val, _values, result) lexer.lex_state = EXPR_END result = val[0] result end def _reduce_126(val, _values, result) (sym, _line), = val lexer.lex_state = EXPR_END result = sym result end # reduce 127 omitted # reduce 128 omitted def _reduce_129(val, _values, result) id, = val result = s(:lit, id.to_sym).line lexer.lineno result end # reduce 130 omitted def _reduce_131(val, _values, result) result = new_undef val[0] result end def _reduce_132(val, _values, result) lexer.lex_state = EXPR_FNAME result end def _reduce_133(val, _values, result) result = new_undef val[0], val[3] result end # reduce 134 omitted # reduce 135 omitted # reduce 136 omitted # reduce 137 omitted # reduce 138 omitted # reduce 139 omitted # reduce 140 omitted # reduce 141 omitted # reduce 142 omitted # reduce 143 omitted # reduce 144 omitted # reduce 145 omitted # reduce 146 omitted # reduce 147 omitted # reduce 148 omitted # reduce 149 omitted # reduce 150 omitted # reduce 151 omitted # reduce 152 omitted # reduce 153 omitted # reduce 154 omitted # reduce 155 omitted # reduce 156 omitted # reduce 157 omitted # reduce 158 omitted # reduce 159 omitted # reduce 160 omitted # reduce 161 omitted # reduce 162 omitted # reduce 163 omitted # reduce 164 omitted # reduce 165 omitted # reduce 166 omitted # reduce 167 omitted # reduce 168 omitted # reduce 169 omitted # reduce 170 omitted # reduce 171 omitted # reduce 172 omitted # reduce 173 omitted # reduce 174 omitted # reduce 175 omitted # reduce 176 omitted # reduce 177 omitted # reduce 178 omitted # reduce 179 omitted # reduce 180 omitted # reduce 181 omitted # reduce 182 omitted # reduce 183 omitted # reduce 184 omitted # reduce 185 omitted # reduce 186 omitted # reduce 187 omitted # reduce 188 omitted # reduce 189 omitted # reduce 190 omitted # reduce 191 omitted # reduce 192 omitted # reduce 193 omitted # reduce 194 omitted # reduce 195 omitted # reduce 196 omitted # reduce 197 omitted # reduce 198 omitted # reduce 199 omitted # reduce 200 omitted # reduce 201 omitted # reduce 202 omitted # reduce 203 omitted # reduce 204 omitted # reduce 205 omitted def _reduce_206(val, _values, result) result = new_assign val[0], val[2] result end def _reduce_207(val, _values, result) result = new_op_asgn val result end def _reduce_208(val, _values, result) result = new_op_asgn1 val result end def _reduce_209(val, _values, result) result = new_op_asgn2 val result end def _reduce_210(val, _values, result) result = new_op_asgn2 val result end def _reduce_211(val, _values, result) lhs, _, id, op, rhs = val result = s(:op_asgn, lhs, rhs, id.to_sym, op.to_sym).line lhs.line result end def _reduce_212(val, _values, result) lhs1, _, lhs2, op, rhs = val lhs = s(:colon2, lhs1, lhs2.to_sym).line lhs1.line result = new_const_op_asgn [lhs, op, rhs] result end def _reduce_213(val, _values, result) result = self.lexer.lineno result end def _reduce_214(val, _values, result) _, lhs, line, op, rhs = val lhs = s(:colon3, lhs.to_sym).line line result = new_const_op_asgn [lhs, op, rhs] result end def _reduce_215(val, _values, result) # TODO: lhs = var_field val[0] asgn = new_op_asgn val result = self.backref_assign_error asgn result end def _reduce_216(val, _values, result) v1, v2 = val[0], val[2] if v1.node_type == :lit and v2.node_type == :lit and Integer === v1.last and Integer === v2.last then result = s(:lit, (v1.last)..(v2.last)).line v1.line else result = s(:dot2, v1, v2).line v1.line end result end def _reduce_217(val, _values, result) v1, v2 = val[0], val[2] if v1.node_type == :lit and v2.node_type == :lit and Integer === v1.last and Integer === v2.last then result = s(:lit, (v1.last)...(v2.last)).line v1.line else result = s(:dot3, v1, v2).line v1.line end result end def _reduce_218(val, _values, result) v1, _ = val v2 = nil result = s(:dot2, v1, v2).line v1.line result end def _reduce_219(val, _values, result) v1, _ = val v2 = nil result = s(:dot3, v1, v2).line v1.line result end def _reduce_220(val, _values, result) _, v2, = val v1 = nil result = s(:dot2, v1, v2).line v2.line result end def _reduce_221(val, _values, result) _, v2 = val v1 = nil result = s(:dot3, v1, v2).line v2.line result end def _reduce_222(val, _values, result) result = new_call val[0], :+, argl(val[2]) result end def _reduce_223(val, _values, result) result = new_call val[0], :-, argl(val[2]) result end def _reduce_224(val, _values, result) result = new_call val[0], :*, argl(val[2]) result end def _reduce_225(val, _values, result) result = new_call val[0], :"/", argl(val[2]) result end def _reduce_226(val, _values, result) result = new_call val[0], :"%", argl(val[2]) result end def _reduce_227(val, _values, result) result = new_call val[0], :**, argl(val[2]) result end def _reduce_228(val, _values, result) lit = s(:lit, val[1]).line lexer.lineno result = new_call(new_call(lit, :"**", argl(val[3])), :"-@") result end def _reduce_229(val, _values, result) result = new_call val[1], :"+@" result end def _reduce_230(val, _values, result) result = new_call val[1], :"-@" result end def _reduce_231(val, _values, result) result = new_call val[0], :"|", argl(val[2]) result end def _reduce_232(val, _values, result) result = new_call val[0], :"^", argl(val[2]) result end def _reduce_233(val, _values, result) result = new_call val[0], :"&", argl(val[2]) result end def _reduce_234(val, _values, result) result = new_call val[0], :"<=>", argl(val[2]) result end # reduce 235 omitted def _reduce_236(val, _values, result) result = new_call val[0], :"==", argl(val[2]) result end def _reduce_237(val, _values, result) result = new_call val[0], :"===", argl(val[2]) result end def _reduce_238(val, _values, result) result = new_call val[0], :"!=", argl(val[2]) result end def _reduce_239(val, _values, result) lhs, _, rhs = val result = new_match lhs, rhs result end def _reduce_240(val, _values, result) lhs, _, rhs = val result = s(:not, new_match(lhs, rhs)).line lhs.line result end def _reduce_241(val, _values, result) _, arg = val result = new_call arg, :"!" result.line arg.line result end def _reduce_242(val, _values, result) result = new_call value_expr(val[1]), :"~" result end def _reduce_243(val, _values, result) val[0] = value_expr val[0] val[2] = value_expr val[2] result = new_call val[0], :"\<\<", argl(val[2]) result end def _reduce_244(val, _values, result) val[0] = value_expr val[0] val[2] = value_expr val[2] result = new_call val[0], :">>", argl(val[2]) result end def _reduce_245(val, _values, result) result = logical_op :and, val[0], val[2] result end def _reduce_246(val, _values, result) result = logical_op :or, val[0], val[2] result end def _reduce_247(val, _values, result) (_, line), _, arg = val result = s(:defined, arg).line line result end def _reduce_248(val, _values, result) c, _, t, _, _, f = val result = s(:if, c, t, f).line c.line result end # reduce 249 omitted # reduce 250 omitted # reduce 251 omitted # reduce 252 omitted # reduce 253 omitted def _reduce_254(val, _values, result) lhs, op, rhs = val result = new_call lhs, op.to_sym, argl(rhs) result end def _reduce_255(val, _values, result) lhs, op, rhs = val warn "comparison '%s' after comparison", op result = new_call lhs, op.to_sym, argl(rhs) result end def _reduce_256(val, _values, result) result = value_expr(val[0]) result end # reduce 257 omitted def _reduce_258(val, _values, result) result = args [val[0]] result end def _reduce_259(val, _values, result) result = args [val[0], array_to_hash(val[2])] result end def _reduce_260(val, _values, result) result = args [array_to_hash(val[0])] result end # reduce 261 omitted def _reduce_262(val, _values, result) body, (_, line), resbody = val body = value_expr body resbody = remove_begin resbody ary = s(:array).line line result = new_rescue(body, new_resbody(ary, resbody)) result end def _reduce_263(val, _values, result) _, args, _ = val result = args result end def _reduce_264(val, _values, result) if (!self.lexer.is_local_id(:"*") || !self.lexer.is_local_id(:"**") || !self.lexer.is_local_id(:"&")) then yyerror("Invalid argument forwarding") end result = call_args [s(:forward_args).line(lexer.lineno)] result end # reduce 265 omitted # reduce 266 omitted # reduce 267 omitted # reduce 268 omitted def _reduce_269(val, _values, result) result = args val result end def _reduce_270(val, _values, result) result = args [val[0], array_to_hash(val[2])] result end def _reduce_271(val, _values, result) result = args [array_to_hash(val[0])] result end def _reduce_272(val, _values, result) warning "parenthesize argument(s) for future version" result = call_args val result end def _reduce_273(val, _values, result) result = call_args val result end def _reduce_274(val, _values, result) result = call_args [array_to_hash(val[0]), val[1]] result end def _reduce_275(val, _values, result) result = call_args [val[0], array_to_hash(val[2]), val[3]] result end def _reduce_276(val, _values, result) result = call_args val result end def _reduce_277(val, _values, result) # parse26.y line 2200 # If call_args starts with a open paren '(' or # '[', look-ahead reading of the letters calls # CMDARG_PUSH(0), but the push must be done # after CMDARG_PUSH(1). So this code makes them # consistent by first cancelling the premature # CMDARG_PUSH(0), doing CMDARG_PUSH(1), and # finally redoing CMDARG_PUSH(0). result = yychar = self.last_token_type.first lookahead = [:tLPAREN, :tLPAREN_ARG, :tLPAREN2, :tLBRACK, :tLBRACK2].include?(yychar) lexer.cmdarg.pop if lookahead lexer.cmdarg.push true lexer.cmdarg.push false if lookahead result end def _reduce_278(val, _values, result) yychar, args = val # call_args can be followed by tLBRACE_ARG (that # does CMDARG_PUSH(0) in the lexer) but the push # must be done after CMDARG_POP() in the parser. # So this code does CMDARG_POP() to pop 0 pushed # by tLBRACE_ARG, CMDARG_POP() to pop 1 pushed # by command_args, and CMDARG_PUSH(0) to restore # back the flag set by tLBRACE_ARG. lookahead = [:tLBRACE_ARG].include?(yychar) lexer.cmdarg.pop if lookahead lexer.cmdarg.pop lexer.cmdarg.push false if lookahead result = args result end def _reduce_279(val, _values, result) _, arg = val result = s(:block_pass, arg).line arg.line result end def _reduce_280(val, _values, result) result = val[1] result end # reduce 281 omitted def _reduce_282(val, _values, result) arg, = val lineno = arg.line || lexer.lineno # HACK result = s(:array, arg).line lineno result end def _reduce_283(val, _values, result) _, arg = val result = s(:array, s(:splat, arg).line(arg.line)).line arg.line result end def _reduce_284(val, _values, result) args, _, id = val result = self.list_append args, id result end def _reduce_285(val, _values, result) # TODO: the line number from tSTAR has been dropped args, _, _, id = val line = lexer.lineno result = self.list_append args, s(:splat, id).line(line) result end def _reduce_286(val, _values, result) result = new_masgn_arg val[0] result end def _reduce_287(val, _values, result) result = new_masgn_arg val[0], :wrap result end def _reduce_288(val, _values, result) result = val[0] << val[2] result end def _reduce_289(val, _values, result) # TODO: make all tXXXX terminals include lexer.lineno arg, _, _, splat = val result = self.arg_concat arg, splat result end def _reduce_290(val, _values, result) _, arg = val result = s(:splat, arg).line arg.line result end # reduce 291 omitted # reduce 292 omitted # reduce 293 omitted # reduce 294 omitted # reduce 295 omitted # reduce 296 omitted # reduce 297 omitted # reduce 298 omitted # reduce 299 omitted # reduce 300 omitted def _reduce_301(val, _values, result) msg, = val result = new_call nil, msg.to_sym result end def _reduce_302(val, _values, result) lexer.cmdarg.push false result = self.lexer.lineno result end def _reduce_303(val, _values, result) lexer.cmdarg.pop result = new_begin val result end def _reduce_304(val, _values, result) lexer.lex_state = EXPR_ENDARG result = lexer.lineno result end def _reduce_305(val, _values, result) _, line, _ = val result = s(:begin).line line result end def _reduce_306(val, _values, result) lexer.lex_state = EXPR_ENDARG result end def _reduce_307(val, _values, result) _, stmt, _, _, = val # warning "(...) interpreted as grouped expression" result = stmt result end def _reduce_308(val, _values, result) _, stmt, _ = val result = stmt result ||= s(:nil).line lexer.lineno result.paren = true result end def _reduce_309(val, _values, result) expr, _, id = val result = s(:colon2, expr, id.to_sym).line expr.line result end def _reduce_310(val, _values, result) _, id = val result = s(:colon3, id.to_sym).line lexer.lineno result end def _reduce_311(val, _values, result) result = lexer.lineno result end def _reduce_312(val, _values, result) _, line, args, _ = val result = args || s(:array) result.sexp_type = :array # aref_args is :args result.line line result end def _reduce_313(val, _values, result) result = self.lexer.lineno result end def _reduce_314(val, _values, result) result = new_hash val result end def _reduce_315(val, _values, result) (_, line), = val result = s(:return).line line result end def _reduce_316(val, _values, result) result = new_yield val[2] result end def _reduce_317(val, _values, result) result = new_yield result end def _reduce_318(val, _values, result) result = new_yield result end def _reduce_319(val, _values, result) (_, line), _, _, arg, _ = val result = s(:defined, arg).line line result end def _reduce_320(val, _values, result) _, _, lhs, _ = val result = new_call lhs, :"!" result end def _reduce_321(val, _values, result) debug20 14, val, result result end def _reduce_322(val, _values, result) call, iter = val iter.insert 1, call result = iter # FIX: probably not: call.line = iter.line result end # reduce 323 omitted def _reduce_324(val, _values, result) call, iter = val[0], val[1] block_dup_check call, iter iter.insert 1, call # FIX result = iter result end def _reduce_325(val, _values, result) result = val[1] # TODO: fix lineno result end def _reduce_326(val, _values, result) _, c, _, t, f, _ = val result = new_if c, t, f result end def _reduce_327(val, _values, result) _, c, _, t, f, _ = val result = new_if c, f, t result end def _reduce_328(val, _values, result) _, cond, body, _ = val result = new_while body, cond, true result end def _reduce_329(val, _values, result) _, cond, body, _ = val result = new_until body, cond, true result end def _reduce_330(val, _values, result) (_, line), expr, _, body, _ = val result = new_case expr, body, line result end def _reduce_331(val, _values, result) (_, line), _, body, _ = val result = new_case nil, body, line result end def _reduce_332(val, _values, result) _, var, _, iter, body, _ = val result = new_for iter, var, body result end def _reduce_333(val, _values, result) result = self.lexer.lineno result end def _reduce_334(val, _values, result) self.comments.push self.lexer.comments if (self.in_def || self.in_single > 0) then yyerror "class definition in method body" end self.env.extend result end def _reduce_335(val, _values, result) result = new_class val self.env.unextend self.lexer.comments # we don't care about comments in the body result end def _reduce_336(val, _values, result) result = self.lexer.lineno result end def _reduce_337(val, _values, result) result = self.in_def self.in_def = false result end def _reduce_338(val, _values, result) result = self.in_single self.in_single = 0 self.env.extend result end def _reduce_339(val, _values, result) result = new_sclass val self.env.unextend self.lexer.comments # we don't care about comments in the body result end def _reduce_340(val, _values, result) result = self.lexer.lineno result end def _reduce_341(val, _values, result) self.comments.push self.lexer.comments yyerror "module definition in method body" if self.in_def or self.in_single > 0 self.env.extend result end def _reduce_342(val, _values, result) result = new_module val self.env.unextend self.lexer.comments # we don't care about comments in the body result end def _reduce_343(val, _values, result) result = self.in_def self.in_def = true # group = local_push self.env.extend lexer.cmdarg.push false lexer.cond.push false self.comments.push self.lexer.comments result end def _reduce_344(val, _values, result) result = lexer.lineno result end def _reduce_345(val, _values, result) in_def = val[2] result = new_defn val lexer.cond.pop # group = local_pop lexer.cmdarg.pop self.env.unextend self.in_def = in_def self.lexer.comments # we don't care about comments in the body result end def _reduce_346(val, _values, result) lexer.lex_state = EXPR_FNAME result end def _reduce_347(val, _values, result) result = [self.in_def, lexer.lineno] self.in_single += 1 # TODO: remove? self.in_def = true # local_push self.env.extend lexer.cmdarg.push false lexer.cond.push false lexer.lex_state = EXPR_ENDFN|EXPR_LABEL self.comments.push self.lexer.comments result end def _reduce_348(val, _values, result) _, _recv, _, _, _name, (in_def, _lineno), _args, _body, _ = val result = new_defs val lexer.cond.pop # group = local_pop lexer.cmdarg.pop self.env.unextend self.in_def = in_def self.in_single -= 1 # TODO: restore cur_arg ? what's cur_arg? self.lexer.comments # we don't care about comments in the body result end def _reduce_349(val, _values, result) (_, line), = val result = s(:break).line line result end def _reduce_350(val, _values, result) (_, line), = val result = s(:next).line line result end def _reduce_351(val, _values, result) (_, line), = val result = s(:redo).line line result end def _reduce_352(val, _values, result) (_, line), = val result = s(:retry).line line result end def _reduce_353(val, _values, result) result = value_expr(val[0]) result end # reduce 354 omitted # reduce 355 omitted # reduce 356 omitted # reduce 357 omitted # reduce 358 omitted # reduce 359 omitted # reduce 360 omitted # reduce 361 omitted # reduce 362 omitted # reduce 363 omitted # reduce 364 omitted # reduce 365 omitted # reduce 366 omitted # reduce 367 omitted # reduce 368 omitted # reduce 369 omitted # reduce 370 omitted # reduce 371 omitted # reduce 372 omitted # reduce 373 omitted # reduce 374 omitted # reduce 375 omitted # reduce 376 omitted # reduce 377 omitted # reduce 378 omitted def _reduce_379(val, _values, result) (_, line), c, _, t, rest = val result = s(:if, c, t, rest).line line result end # reduce 380 omitted def _reduce_381(val, _values, result) result = val[1] result end # reduce 382 omitted def _reduce_383(val, _values, result) val[0].delete_at 1 if val[0][1].nil? # HACK result end # reduce 384 omitted def _reduce_385(val, _values, result) result = val[1] result end def _reduce_386(val, _values, result) sym, = val result = s(:array, sym).line lexer.lineno result end def _reduce_387(val, _values, result) result = list_append val[0], val[2] result end def _reduce_388(val, _values, result) args, = val result = block_var args result end def _reduce_389(val, _values, result) args, _, _, splat = val result = block_var args, "*#{splat}".to_sym result end def _reduce_390(val, _values, result) args, _, _, splat, _, args2 = val result = block_var args, "*#{splat}".to_sym, args2 result end def _reduce_391(val, _values, result) args, _, _ = val result = block_var args, :* result end def _reduce_392(val, _values, result) args, _, _, _, args2 = val result = block_var args, :*, args2 result end def _reduce_393(val, _values, result) _, splat = val result = block_var :"*#{splat}" result end def _reduce_394(val, _values, result) _, splat, _, args = val result = block_var :"*#{splat}", args result end def _reduce_395(val, _values, result) result = block_var :* result end def _reduce_396(val, _values, result) _, _, args = val result = block_var :*, args result end def _reduce_397(val, _values, result) result = call_args val result end def _reduce_398(val, _values, result) result = call_args val result end def _reduce_399(val, _values, result) result = call_args val result end def _reduce_400(val, _values, result) line = lexer.lineno result = call_args val # TODO: push line down result.line line result end def _reduce_401(val, _values, result) result = args val result end # reduce 402 omitted def _reduce_403(val, _values, result) result = args val result end def _reduce_404(val, _values, result) result = args val result end def _reduce_405(val, _values, result) result = args val result end def _reduce_406(val, _values, result) result = args val result end def _reduce_407(val, _values, result) result = args val result end def _reduce_408(val, _values, result) result = args(val) << nil result end def _reduce_409(val, _values, result) result = args val result end def _reduce_410(val, _values, result) result = args val result end def _reduce_411(val, _values, result) result = args val result end def _reduce_412(val, _values, result) result = args val result end def _reduce_413(val, _values, result) result = args val result end def _reduce_414(val, _values, result) result = args val result end def _reduce_415(val, _values, result) result = args val result end def _reduce_416(val, _values, result) result = args val result end def _reduce_417(val, _values, result) result = args val result end def _reduce_418(val, _values, result) result = 0 result end def _reduce_419(val, _values, result) self.lexer.command_start = true result end def _reduce_420(val, _values, result) # TODO: current_arg = 0 result = args val result end def _reduce_421(val, _values, result) result = s(:args).line lexer.lineno result end def _reduce_422(val, _values, result) # TODO: current_arg = 0 result = args val result end # reduce 423 omitted def _reduce_424(val, _values, result) result = args val result end def _reduce_425(val, _values, result) result = args val result end def _reduce_426(val, _values, result) result = args val result end def _reduce_427(val, _values, result) id, = val line = lexer.lineno result = s(:shadow, id.to_sym).line line result end # reduce 428 omitted def _reduce_429(val, _values, result) self.env.extend :dynamic result = [lexer.lineno, lexer.lpar_beg] lexer.paren_nest += 1 lexer.lpar_beg = lexer.paren_nest result end def _reduce_430(val, _values, result) lexer.cmdarg.push false result end def _reduce_431(val, _values, result) (line, lpar), args, _cmdarg, body = val lexer.lpar_beg = lpar lexer.cmdarg.pop call = s(:lambda).line line result = new_iter call, args, body result.line = line self.env.unextend # TODO: dynapush & dynapop result end def _reduce_432(val, _values, result) result = args val result end def _reduce_433(val, _values, result) result = val[0] result = 0 if result == s(:args) result end def _reduce_434(val, _values, result) result = val[1] result end def _reduce_435(val, _values, result) result = val[1] result end def _reduce_436(val, _values, result) (_, line), iter, _ = val result = iter.line line result end def _reduce_437(val, _values, result) # TODO: ## if (nd_type($1) == NODE_YIELD) { ## compile_error(PARSER_ARG "block given to yield"); syntax_error "Both block arg and actual block given." if val[0].block_pass? val = invert_block_call val if inverted? val cmd, blk = val result = blk result.insert 1, cmd result end def _reduce_438(val, _values, result) result = new_call val[0], val[2].to_sym, val[3] result end def _reduce_439(val, _values, result) iter1, _, name, args, iter2 = val call = new_call iter1, name.to_sym, args iter2.insert 1, call result = iter2 result end def _reduce_440(val, _values, result) iter1, _, name, args, iter2 = val call = new_call iter1, name.to_sym, args iter2.insert 1, call result = iter2 result end def _reduce_441(val, _values, result) result = self.lexer.lineno result end def _reduce_442(val, _values, result) call, lineno, args = val result = call.concat args.sexp_body if args result.line lineno result end def _reduce_443(val, _values, result) result = new_call val[0], val[2].to_sym, val[3], val[1] result end def _reduce_444(val, _values, result) result = new_call val[0], val[2].to_sym, val[3] result end def _reduce_445(val, _values, result) result = new_call val[0], val[2].to_sym result end def _reduce_446(val, _values, result) result = new_call val[0], :call, val[2], val[1] result end def _reduce_447(val, _values, result) result = new_call val[0], :call, val[2] result end def _reduce_448(val, _values, result) result = new_super val[1] result end def _reduce_449(val, _values, result) result = s(:zsuper).line lexer.lineno result end def _reduce_450(val, _values, result) result = new_aref val result end def _reduce_451(val, _values, result) self.env.extend :dynamic result = self.lexer.lineno result end def _reduce_452(val, _values, result) _, line, body, _ = val result = body result.line = line self.env.unextend result end def _reduce_453(val, _values, result) self.env.extend :dynamic result = self.lexer.lineno result end def _reduce_454(val, _values, result) _, line, body, _ = val result = body result.line = line self.env.unextend result end def _reduce_455(val, _values, result) self.env.extend :dynamic; result = self.lexer.lineno result end def _reduce_456(val, _values, result) result = lexer.cmdarg.store(false) result end def _reduce_457(val, _values, result) line, cmdarg, param, cmpstmt = val result = new_brace_body param, cmpstmt, line self.env.unextend lexer.cmdarg.restore cmdarg lexer.cmdarg.pop # because of: cmdarg_stack >> 1 ? result end def _reduce_458(val, _values, result) self.env.extend :dynamic; result = self.lexer.lineno result end def _reduce_459(val, _values, result) lexer.cmdarg.push false result end def _reduce_460(val, _values, result) line, _cmdarg, param, cmpstmt = val result = new_do_body param, cmpstmt, line lexer.cmdarg.pop self.env.unextend result end def _reduce_461(val, _values, result) result = self.lexer.lineno result end def _reduce_462(val, _values, result) result = new_when(val[2], val[4]) result.line = val[1] result << val[5] if val[5] result end # reduce 463 omitted # reduce 464 omitted def _reduce_465(val, _values, result) (_, line), klasses, var, _, body, rest = val klasses ||= s(:array) klasses << new_assign(var, s(:gvar, :"$!").line(var.line)) if var klasses.line line result = new_resbody(klasses, body) result << rest if rest # UGH, rewritten above result end def _reduce_466(val, _values, result) result = nil result end def _reduce_467(val, _values, result) arg, = val result = s(:array, arg).line arg.line result end # reduce 468 omitted # reduce 469 omitted def _reduce_470(val, _values, result) result = val[1] result end # reduce 471 omitted def _reduce_472(val, _values, result) (_, line), body = val result = body || s(:nil).line(line) result end # reduce 473 omitted def _reduce_474(val, _values, result) line = lexer.lineno result = s(:lit, val[0]) result.line = line result end def _reduce_475(val, _values, result) line = lexer.lineno result = s(:lit, val[0]) result.line = line result end # reduce 476 omitted def _reduce_477(val, _values, result) str, = val str = s(:dstr, str.value) if str.sexp_type == :evstr result = str result end def _reduce_478(val, _values, result) debug20 23, val, result result end # reduce 479 omitted def _reduce_480(val, _values, result) result = self.literal_concat val[0], val[1] result end def _reduce_481(val, _values, result) _, str, (_, func) = val str = dedent str if func =~ RubyLexer::STR_FUNC_ICNTNT result = str result end def _reduce_482(val, _values, result) result = new_string val result end def _reduce_483(val, _values, result) result = new_xstring val # TODO: dedent?!?! SERIOUSLY?!? result end def _reduce_484(val, _values, result) result = new_regexp val result end def _reduce_485(val, _values, result) result = s(:array).line lexer.lineno result end def _reduce_486(val, _values, result) result = val[1] result end def _reduce_487(val, _values, result) result = new_word_list result end def _reduce_488(val, _values, result) result = val[0].dup << new_word_list_entry(val) result end # reduce 489 omitted def _reduce_490(val, _values, result) result = self.literal_concat val[0], val[1] result end def _reduce_491(val, _values, result) result = s(:array).line lexer.lineno result end def _reduce_492(val, _values, result) result = lexer.lineno result end def _reduce_493(val, _values, result) _, line, list, _, = val list.line = line result = list result end def _reduce_494(val, _values, result) result = new_symbol_list.line lexer.lineno result end def _reduce_495(val, _values, result) list, * = val result = list.dup << new_symbol_list_entry(val) result end def _reduce_496(val, _values, result) result = s(:array).line lexer.lineno result end def _reduce_497(val, _values, result) result = val[1] result end def _reduce_498(val, _values, result) result = s(:array).line lexer.lineno # FIX result end def _reduce_499(val, _values, result) result = val[1] result end def _reduce_500(val, _values, result) result = new_qword_list result end def _reduce_501(val, _values, result) result = val[0].dup << new_qword_list_entry(val) result end def _reduce_502(val, _values, result) result = new_qsym_list result end def _reduce_503(val, _values, result) result = val[0].dup << new_qsym_list_entry(val) result end def _reduce_504(val, _values, result) result = s(:str, "").line lexer.lineno result end def _reduce_505(val, _values, result) v1, v2 = val result = literal_concat v1, v2 result end def _reduce_506(val, _values, result) result = nil result end def _reduce_507(val, _values, result) v1, v2 = val result = literal_concat v1, v2 result end def _reduce_508(val, _values, result) result = nil result end def _reduce_509(val, _values, result) v1, v2 = val result = literal_concat v1, v2 result end def _reduce_510(val, _values, result) result = new_string val result end def _reduce_511(val, _values, result) result = lexer.lex_strterm lexer.lex_strterm = nil lexer.lex_state = EXPR_BEG result end def _reduce_512(val, _values, result) _, strterm, str = val lexer.lex_strterm = strterm result = s(:evstr, str).line str.line result end def _reduce_513(val, _values, result) result = [lexer.lex_strterm, lexer.brace_nest, lexer.string_nest, # TODO: remove lexer.lex_state, lexer.lineno, ] lexer.cmdarg.push false lexer.cond.push false lexer.lex_strterm = nil lexer.brace_nest = 0 lexer.string_nest = 0 lexer.lex_state = EXPR_BEG result end def _reduce_514(val, _values, result) _, memo, stmt, _ = val lex_strterm, brace_nest, string_nest, oldlex_state, line = memo # TODO: heredoc_indent lexer.lex_strterm = lex_strterm lexer.brace_nest = brace_nest lexer.string_nest = string_nest lexer.cmdarg.pop lexer.cond.pop lexer.lex_state = oldlex_state case stmt when Sexp then case stmt.sexp_type when :str, :dstr, :evstr then result = stmt else result = s(:evstr, stmt).line line end when nil then result = s(:evstr).line line else debug20 25 raise "unknown string body: #{stmt.inspect}" end result end def _reduce_515(val, _values, result) result = s(:gvar, val[0].to_sym).line lexer.lineno result end def _reduce_516(val, _values, result) result = s(:ivar, val[0].to_sym).line lexer.lineno result end def _reduce_517(val, _values, result) result = s(:cvar, val[0].to_sym).line lexer.lineno result end # reduce 518 omitted def _reduce_519(val, _values, result) lexer.lex_state = EXPR_END result = val[1].to_sym result end def _reduce_520(val, _values, result) result = val[0].to_sym result end # reduce 521 omitted # reduce 522 omitted # reduce 523 omitted # reduce 524 omitted def _reduce_525(val, _values, result) _, result, _ = val lexer.lex_state = EXPR_END result ||= s(:str, "").line lexer.lineno case result.sexp_type when :dstr then result.sexp_type = :dsym when :str then result = s(:lit, result.last.to_sym).line result.line when :evstr then result = s(:dsym, "", result).line result.line else debug20 26, val, result end result end # reduce 526 omitted def _reduce_527(val, _values, result) result = -val[1] # TODO: pt_testcase result end # reduce 528 omitted # reduce 529 omitted # reduce 530 omitted # reduce 531 omitted # reduce 532 omitted # reduce 533 omitted # reduce 534 omitted # reduce 535 omitted # reduce 536 omitted def _reduce_537(val, _values, result) result = s(:nil).line lexer.lineno result end def _reduce_538(val, _values, result) result = s(:self).line lexer.lineno result end def _reduce_539(val, _values, result) result = s(:true).line lexer.lineno result end def _reduce_540(val, _values, result) result = s(:false).line lexer.lineno result end def _reduce_541(val, _values, result) result = s(:str, self.file).line lexer.lineno result end def _reduce_542(val, _values, result) result = s(:lit, lexer.lineno).line lexer.lineno result end def _reduce_543(val, _values, result) l = lexer.lineno result = if defined? Encoding then s(:colon2, s(:const, :Encoding).line(l), :UTF_8).line l else s(:str, "Unsupported!").line l end result end def _reduce_544(val, _values, result) var = val[0] result = Sexp === var ? var : self.gettable(var) result end def _reduce_545(val, _values, result) var = val[0] result = Sexp === var ? var : self.gettable(var) result end def _reduce_546(val, _values, result) result = self.assignable val[0] result end def _reduce_547(val, _values, result) result = self.assignable val[0] debug20 29, val, result result end def _reduce_548(val, _values, result) result = s(:nth_ref, val[0]).line lexer.lineno result end def _reduce_549(val, _values, result) result = s(:back_ref, val[0]).line lexer.lineno result end def _reduce_550(val, _values, result) lexer.lex_state = EXPR_BEG lexer.command_start = true result end def _reduce_551(val, _values, result) result = val[2] result end def _reduce_552(val, _values, result) result = nil result end def _reduce_553(val, _values, result) result = val[1] self.lexer.lex_state = EXPR_BEG self.lexer.command_start = true result end def _reduce_554(val, _values, result) args_rest = :"*" kwargs_rest = :"**" block_fwd = :"&" self.env[args_rest] = :lvar self.env[kwargs_rest] = :lvar self.env[block_fwd] = :lvar result = s(:args, s(:forward_args)).line lexer.lineno self.lexer.lex_state = EXPR_BEG self.lexer.command_start = true result end def _reduce_555(val, _values, result) result = self.in_kwarg self.in_kwarg = true self.lexer.lex_state |= EXPR_LABEL result end def _reduce_556(val, _values, result) kwarg, args, _ = val self.in_kwarg = kwarg result = args lexer.lex_state = EXPR_BEG lexer.command_start = true result end def _reduce_557(val, _values, result) result = args val result end def _reduce_558(val, _values, result) result = args val result end def _reduce_559(val, _values, result) result = args val result end # reduce 560 omitted def _reduce_561(val, _values, result) result = val[1] result end def _reduce_562(val, _values, result) result = nil result end def _reduce_563(val, _values, result) result = args val result end def _reduce_564(val, _values, result) result = args val result end def _reduce_565(val, _values, result) result = args val result end def _reduce_566(val, _values, result) result = args val result end def _reduce_567(val, _values, result) result = args val result end def _reduce_568(val, _values, result) result = args val result end def _reduce_569(val, _values, result) result = args val result end def _reduce_570(val, _values, result) result = args val result end def _reduce_571(val, _values, result) result = args val result end def _reduce_572(val, _values, result) result = args val result end def _reduce_573(val, _values, result) result = args val result end def _reduce_574(val, _values, result) result = args val result end def _reduce_575(val, _values, result) result = args val result end def _reduce_576(val, _values, result) result = args val result end def _reduce_577(val, _values, result) result = args val result end # reduce 578 omitted def _reduce_579(val, _values, result) yyerror "formal argument cannot be a constant" result end def _reduce_580(val, _values, result) yyerror "formal argument cannot be an instance variable" result end def _reduce_581(val, _values, result) yyerror "formal argument cannot be a global variable" result end def _reduce_582(val, _values, result) yyerror "formal argument cannot be a class variable" result end # reduce 583 omitted def _reduce_584(val, _values, result) identifier = val[0].to_sym self.env[identifier] = :lvar result = identifier result end # reduce 585 omitted # reduce 586 omitted def _reduce_587(val, _values, result) result = val[1] result end def _reduce_588(val, _values, result) arg, = val case arg when Symbol then result = s(:args, arg).line lexer.lineno when Sexp then result = arg else debug20 32 raise "Unknown f_arg type: #{val.inspect}" end result end def _reduce_589(val, _values, result) list, _, item = val if list.sexp_type == :args then result = list else result = s(:args, list).line list.line end result << item result end # reduce 590 omitted def _reduce_591(val, _values, result) # TODO: new_kw_arg (label, line), arg = val identifier = label.to_sym self.env[identifier] = :lvar kwarg = s(:kwarg, identifier, arg).line line result = s(:array, kwarg).line line result end def _reduce_592(val, _values, result) (label, line), = val id = label.to_sym self.env[id] = :lvar result = s(:array, s(:kwarg, id).line(line)).line line result end def _reduce_593(val, _values, result) # TODO: new_kw_arg (label, line), expr = val id = label.to_sym self.env[id] = :lvar result = s(:array, s(:kwarg, id, expr).line(line)).line line result end def _reduce_594(val, _values, result) # TODO: new_kw_arg (label, line), = val id = label.to_sym self.env[id] = :lvar result = s(:array, s(:kwarg, id).line(line)).line line result end # reduce 595 omitted def _reduce_596(val, _values, result) list, _, item = val result = list << item.last result end # reduce 597 omitted def _reduce_598(val, _values, result) result = args val result end # reduce 599 omitted # reduce 600 omitted def _reduce_601(val, _values, result) name = val[1].to_sym self.assignable name result = :"**#{name}" result end def _reduce_602(val, _values, result) result = :"**" self.env[result] = :lvar result end def _reduce_603(val, _values, result) result = self.assignable val[0], val[2] # TODO: detect duplicate names result end def _reduce_604(val, _values, result) result = self.assignable val[0], val[2] result end def _reduce_605(val, _values, result) optblk, = val result = s(:block, optblk).line optblk.line result end def _reduce_606(val, _values, result) optarg, _, optblk = val result = optarg result << optblk result end def _reduce_607(val, _values, result) opt, = val result = s(:block, opt).line opt.line result end def _reduce_608(val, _values, result) result = self.block_append val[0], val[2] result end # reduce 609 omitted # reduce 610 omitted def _reduce_611(val, _values, result) # TODO: differs from parse.y - needs tests name = val[1].to_sym self.assignable name result = :"*#{name}" result end def _reduce_612(val, _values, result) name = :"*" self.env[name] = :lvar result = name result end # reduce 613 omitted # reduce 614 omitted def _reduce_615(val, _values, result) identifier = val[1].to_sym self.env[identifier] = :lvar result = "&#{identifier}".to_sym result end def _reduce_616(val, _values, result) result = val[1] result end def _reduce_617(val, _values, result) result = nil result end # reduce 618 omitted def _reduce_619(val, _values, result) lexer.lex_state = EXPR_BEG result end def _reduce_620(val, _values, result) result = val[2] yyerror "Can't define single method for literals." if result.sexp_type == :lit result end def _reduce_621(val, _values, result) result = s(:array).line lexer.lineno result end # reduce 622 omitted # reduce 623 omitted def _reduce_624(val, _values, result) list = val[0].dup more = val[2].sexp_body list.push(*more) unless more.empty? result = list result.sexp_type = :hash result end def _reduce_625(val, _values, result) v1, _, v2 = val result = s(:array, v1, v2).line v1.line result end def _reduce_626(val, _values, result) (label, line), arg = val lit = s(:lit, label.to_sym).line line result = s(:array, lit, arg).line line result end def _reduce_627(val, _values, result) _, sym, _, value = val sym.sexp_type = :dsym result = s(:array, sym, value).line sym.line result end def _reduce_628(val, _values, result) _, arg = val line = arg.line result = s(:array, s(:kwsplat, arg).line(line)).line line result end # reduce 629 omitted # reduce 630 omitted # reduce 631 omitted # reduce 632 omitted # reduce 633 omitted # reduce 634 omitted # reduce 635 omitted # reduce 636 omitted # reduce 637 omitted # reduce 638 omitted # reduce 639 omitted # reduce 640 omitted # reduce 641 omitted # reduce 642 omitted # reduce 643 omitted # reduce 644 omitted # reduce 645 omitted # reduce 646 omitted # reduce 647 omitted # reduce 648 omitted # reduce 649 omitted # reduce 650 omitted # reduce 651 omitted # reduce 652 omitted # reduce 653 omitted def _reduce_654(val, _values, result) yyerrok result end # reduce 655 omitted # reduce 656 omitted def _reduce_657(val, _values, result) yyerrok result end def _reduce_658(val, _values, result) result = nil; result end def _reduce_none(val, _values, result) val[0] end end # class Ruby27Parser