# # DO NOT MODIFY!!!! # This file is automatically generated by Racc 1.4.9 # from Racc grammer file "". # require 'racc/parser.rb' class Ruby19Parser < Racc::Parser require "ruby_lexer" require "ruby_parser_extras" # Local Variables: ** # racc-token-length-max:14 ** # End: ** ##### State transition tables begin ### clist = [ '-479,376,22,25,32,36,42,-479,-479,-479,65,76,-479,-479,-479,91,-479', '99,102,5,12,19,24,31,-479,359,-479,-479,-479,67,72,79,81,86,88,93,-479', '-479,7,-479,-479,-479,-479,-479,44,50,565,61,63,70,77,82,87,89,94,98', '664,4,10,17,565,29,34,565,46,53,62,-479,-479,-479,-479,-479,-479,-479', '-479,-479,-479,-479,-479,-479,-479,359,-93,-479,-479,-479,66,-479,-479', '84,449,-479,95,100,-479,-479,13,-479,26,-479,526,-479,49,-479,-479,-479', '-479,-479,-479,-479,92,-479,358,-479,-102,11,18,23,30,35,39,-95,3,-104', '64,71,-479,-479,-479,-479,-482,-479,565,9,-479,-479,-101,-482,-482,-482', '741,-493,-482,-482,-482,18,-482,741,-106,-93,350,351,-102,64,-482,148', '-482,-482,-482,814,340,-104,666,525,-103,342,-482,-482,358,-482,-482', '-482,-482,-482,340,565,-100,340,814,342,603,340,342,-103,-93,-107,342', '-93,-95,-99,-99,149,820,-93,393,394,447,-482,-482,-482,-482,-482,-482', '-482,-482,-482,-482,-482,-482,-482,-482,-105,741,-482,-482,-482,-101', '-482,-482,-93,680,-482,776,-95,-482,-482,-95,-482,-95,-482,149,-482', '-95,-482,-482,-482,-482,-482,-482,-482,340,-482,-555,-482,570,342,340', '340,464,-555,-101,342,342,-97,-559,-101,-482,-482,-482,-482,-559,-482', '393,394,-482,-482,-102,-559,-559,-559,-104,-102,661,-559,-559,-104,-559', '-556,-103,661,-104,-91,826,-103,149,-559,393,394,-94,340,-98,359,897', '-413,342,-90,-559,-559,-490,-559,-559,-559,-559,-559,-479,-490,662,-559', '-491,460,461,-479,340,662,-559,-491,-96,342,694,-555,464,-92,777,-559', '-491,479,-494,-559,-559,-559,-559,-559,-559,-559,-559,-559,-559,-559', '-559,-559,-559,-559,706,-559,-559,-559,-413,715,472,-559,-553,-559,149', '-413,-559,464,-404,860,514,-559,568,-559,-413,-559,-559,-559,-559,-559', '-559,-559,-102,-559,-559,-559,-100,477,149,661,358,-552,-413,460,461', '462,-95,-284,-559,-559,149,-94,-104,-559,-284,-284,-284,-103,-107,661', '-284,-284,-487,-284,-559,-482,769,-101,-485,-487,-106,-559,-482,662', '464,-485,-555,-553,460,461,-559,-482,464,-284,-284,-484,-284,-284,-284', '-284,-284,827,-484,662,-479,-482,954,-492,-559,-553,766,-479,-482,956', '-492,442,-552,171,173,154,-479,161,955,-492,-284,-284,-284,-284,-284', '-284,-284,-284,-284,-284,-284,-284,-284,-284,-552,464,-284,-284,-284', '-92,714,460,461,521,-284,-101,570,-284,299,460,461,488,-284,568,-284', '300,-284,-284,-284,-284,-284,-284,-284,-486,-284,442,-284,171,173,154', '-486,161,340,484,-494,125,486,342,-559,-284,-284,707,-96,-493,-284,-559', '-559,-559,-105,850,-559,-559,-559,366,-559,-97,460,461,498,125,125,-106', '-489,-559,-559,-559,-559,123,340,-489,125,132,134,342,-559,-559,-91', '-559,-559,-559,-559,-559,-100,-93,-85,-90,-277,516,766,-102,-71,-99', '123,-277,517,-98,132,134,138,141,673,-107,-277,628,671,-559,-559,-559', '-559,-559,-559,-559,-559,-559,-559,-559,-559,-559,-559,149,-331,-559', '-559,-559,403,780,-559,-331,759,-559,814,405,-559,-559,757,-559,-331', '-559,755,-559,404,-559,-559,-559,-559,-559,-559,-559,754,-559,-559,-559', '790,-488,171,173,154,340,161,753,-488,125,342,668,-559,-559,-559,-559', '-284,-559,670,484,-559,-103,486,-284,-284,-284,680,669,-284,-284,-284', '442,-284,171,173,154,484,161,157,611,149,123,-284,-284,-284,132,134', '172,151,155,160,843,-284,-284,468,-284,-284,-284,-284,-284,442,470,171', '173,154,-277,161,393,394,441,469,442,-277,171,173,154,484,161,446,486', '638,-277,748,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284', '-284,-284,-284,340,441,-284,-284,-284,342,779,-284,393,394,-284,368', '441,-284,-284,149,-284,368,-284,149,-284,750,-284,-284,-284,-284,-284', '-284,-284,739,-284,442,-284,171,173,154,346,161,370,371,372,373,374', '348,-285,-284,-284,-284,-284,-561,-284,-285,347,-284,-105,852,-561,-561', '-561,603,-285,-561,-561,-561,169,-561,171,173,154,157,161,-284,393,394', '-561,-561,-561,-561,-284,340,155,160,149,-556,342,-561,-561,-284,-561', '-561,-561,-561,-561,442,735,171,173,154,340,161,340,857,157,342,442', '342,171,173,154,733,161,172,151,155,160,149,-561,-561,-561,-561,-561', '-561,-561,-561,-561,-561,-561,-561,-561,-561,538,441,-561,-561,-561', '536,537,-561,406,407,-561,859,441,-561,-561,-85,-561,149,-561,149,-561', '446,-561,-561,-561,-561,-561,-561,-561,722,-561,-561,-561,442,718,171', '173,154,368,161,834,814,125,638,-492,-561,-561,-561,-561,-278,-561,-492', '864,-561,834,814,-278,-278,-278,866,-492,-278,-278,-278,442,-278,171', '173,154,868,161,157,393,394,123,-278,-278,-278,132,134,138,141,155,160', '869,-278,-278,870,-278,-278,-278,-278,-278,442,713,171,173,154,712,161', '149,442,157,171,173,154,762,161,171,173,154,149,161,155,160,-263,-278', '-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,701', '441,-278,-278,-278,-284,875,-278,698,441,-278,149,-284,-278,-278,878', '-278,-556,-278,880,-278,-284,-278,-278,-278,-278,-278,-278,-278,-263', '-278,442,-278,171,173,154,-491,161,370,371,372,373,374,-491,668,-278', '-278,-278,-278,-560,-278,950,-491,-278,697,884,-560,-560,-560,696,669', '-560,-560,-560,790,-560,171,173,154,157,161,-284,-265,-264,-560,-560', '-560,-560,-284,680,155,160,638,-556,149,-560,-560,-284,-560,-560,-560', '-560,-560,442,-285,171,173,154,889,161,625,-285,157,773,775,624,125', '771,10,17,-285,172,151,155,160,891,-560,-560,-560,-560,-560,-560,-560', '-560,-560,-560,-560,-560,-560,-560,125,441,-560,-560,-560,482,125,-560', '895,125,-560,680,483,-560,-560,540,-560,609,-560,542,-560,469,-560,-560', '-560,-560,-560,-560,-560,603,-560,-560,-560,-285,601,500,902,591,852', '766,-285,766,502,906,149,-560,-560,-560,-560,-285,-560,501,766,-560', '376,22,25,32,36,42,-70,909,910,65,76,368,570,564,91,563,99,102,5,12', '19,24,31,370,371,372,373,374,67,72,79,81,86,88,93,920,762,7,171,173', '154,545,161,44,50,125,61,63,70,77,82,87,89,94,98,527,4,10,17,524,29', '34,523,46,53,62,370,371,372,373,374,-266,442,506,171,173,154,503,161', '479,481,933,934,479,477,66,937,938,84,476,852,95,100,474,471,13,943', '26,945,766,442,49,171,173,154,948,161,766,467,92,157,951,459,457,11', '18,23,30,35,39,456,155,160,64,71,376,22,25,32,36,42,454,9,453,65,76', '957,451,157,91,409,99,102,5,12,19,24,31,368,155,160,960,363,67,72,79', '81,86,88,93,964,852,7,766,408,149,148,395,44,50,972,61,63,70,77,82,87', '89,94,98,973,4,10,17,383,29,34,354,46,53,62,349,344,698,149,766,983', '442,766,171,173,154,766,161,-556,-555,331,329,149,320,66,288,283,84', '103,766,95,100,,,13,,26,,,,49,169,,171,173,154,,161,92,157,,,,11,18', '23,30,35,39,,155,160,64,71,376,22,25,32,36,42,,9,,65,76,,,,91,157,99', '102,5,12,19,24,31,,172,151,155,160,67,72,79,81,86,88,93,,,7,,,,,,44', '50,,61,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,,442,', '171,173,154,,161,,,,,,,66,,,84,,,95,100,,,13,,26,,,,49,169,,171,173', '154,,161,92,157,,,,11,18,23,30,35,39,,155,160,64,71,376,22,25,32,36', '42,,9,,65,76,,,,91,157,99,102,5,12,19,24,31,,172,151,155,160,67,72,79', '81,86,88,93,,,7,,,,,,44,50,,61,63,70,77,82,87,89,94,98,,4,10,17,,29', '34,,46,53,62,,,,,,,442,,171,173,154,,161,,,,,,,66,,,84,,,95,100,,,13', ',26,,,,49,169,,171,173,154,,161,92,157,,,,11,18,23,30,35,39,,155,160', '64,71,376,22,25,32,36,42,,9,,65,76,,,,91,157,99,102,5,12,19,24,31,,172', '151,155,160,67,72,79,81,86,88,93,,,7,,,,,,44,50,,61,63,70,77,82,87,89', '94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,66,,,84,,,95,100', ',,13,,26,,,,49,790,,171,173,154,,161,92,,,,,11,18,23,30,35,39,,,,64', '71,376,22,25,32,36,42,,9,,65,76,,,,91,157,99,102,5,12,19,24,31,,172', '151,155,160,67,72,79,81,86,88,93,,,7,,,,,,44,50,,61,63,70,77,82,87,89', '94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,66,,,84,,,95,100', ',,13,,26,,,,49,790,,171,173,154,,161,92,,,,,11,18,23,30,35,39,,,,64', '71,376,22,25,32,36,42,,9,,65,76,,,,91,157,99,102,5,12,19,24,31,,172', '151,155,160,67,72,79,81,86,88,93,,,7,,,,,,44,50,,61,63,70,77,82,87,89', '94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,66,,,84,,,95,100', ',,13,,26,,,,49,169,,171,173,154,,161,92,,,,,11,18,23,30,35,39,,,,64', '71,376,22,25,32,36,42,,9,,65,76,,,,91,157,99,102,5,12,19,24,31,,172', '151,155,160,67,72,79,81,86,88,93,,,7,,,,,,44,50,,61,63,70,77,82,87,89', '94,98,,4,10,17,,29,34,,46,53,62,125,126,129,131,133,137,140,,,146,122', ',,,,,136,139,,66,,,84,,,95,100,,,13,,26,123,,127,49,132,134,138,141', '143,145,147,92,124,,,,11,18,23,30,35,39,,,,64,71,376,22,25,32,36,42', ',9,,65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,,,7', ',,,,,44,50,,61,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,125', '-578,-578,-578,-578,137,140,,,-578,-578,,,,,,136,139,,66,,,84,,,95,100', ',,13,,26,123,,127,49,132,134,138,141,143,145,147,92,124,,,,11,18,23', '30,35,39,,,,64,71,376,22,25,32,36,42,,9,,65,76,,,,91,,99,102,5,12,19', '24,31,,,,,,67,72,79,81,86,88,93,,,7,,,,,,44,50,,61,63,70,77,82,87,89', '94,98,,4,10,17,,29,34,,46,53,62,125,-578,-578,-578,-578,137,140,,,-578', '-578,,,,,,136,139,,66,,,381,,,95,100,,,13,,26,123,,127,49,132,134,138', '141,143,145,147,92,124,,,,11,18,23,30,35,39,,,,64,71,376,22,25,32,36', '42,,9,,65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,', ',7,,,,,,44,50,,61,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62', '125,,,,,,,,,,,,,,,,136,139,,66,,,84,,,95,100,,,13,,26,123,,127,49,132', '134,138,141,,,147,92,124,,,,11,18,23,30,35,39,,,,64,71,376,22,25,32', '36,42,,9,,65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93', ',,7,,,,,,44,50,,61,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62', '125,126,129,131,133,137,140,142,144,146,122,,-578,-578,,,136,139,,66', ',,84,,,95,100,,,13,,26,123,,127,49,132,134,138,141,143,145,147,92,124', ',,,11,18,23,30,35,39,,,,64,71,376,22,25,32,36,42,,9,,65,76,,,,91,,99', '102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,,,7,,,,,,44,50,,61,63,70', '77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,125,-578,-578,-578,-578', '137,140,,,-578,-578,,,,,,136,139,,66,,,84,,,95,100,,,13,,26,123,,127', '49,132,134,138,141,143,145,147,92,124,,,,11,18,23,30,35,39,,,,64,71', '376,22,25,32,36,42,,9,,65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72', '79,81,86,88,93,,,7,,,,,,44,50,,61,63,70,77,82,87,89,94,98,,4,10,17,', '29,34,,46,53,62,125,126,129,131,133,137,140,142,144,146,122,,-578,-578', ',,136,139,,66,,,84,,,95,100,,,13,,26,123,,127,49,132,134,138,141,143', '145,147,92,124,,,,11,18,23,30,35,39,,,,64,71,16,22,25,32,36,42,,9,,65', '76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,,,7,,,,,,44', '50,57,61,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,125,-578', '-578,-578,-578,137,140,,,-578,-578,,,,,,136,139,,66,,,84,,,95,100,,', '13,,26,123,,127,49,132,134,138,141,143,145,147,92,124,,,,11,18,23,30', '35,39,,,,64,71,376,22,25,32,36,42,,9,,65,76,,,,91,,99,102,5,12,19,24', '31,,,,,,67,72,79,81,86,88,93,,,7,,,,,,44,50,,61,63,70,77,82,87,89,94', '98,,4,10,17,,29,34,,46,53,62,125,-578,-578,-578,-578,137,140,,,-578', '-578,,,,,,136,139,,66,,,84,,,95,100,,,13,,26,123,,127,49,132,134,138', '141,143,145,147,92,124,,,,11,18,23,30,35,39,,,,64,71,376,22,25,32,36', '42,,9,,65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,', ',7,,,,,,44,50,,61,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62', '125,,,,,,,,,,,,,,,,136,139,,66,,,84,,,95,100,,,13,,26,123,,127,49,132', '134,138,141,,,147,92,124,,,,11,18,23,30,35,39,,,,64,71,376,22,25,32', '36,42,,9,,65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93', ',,7,,,,,,44,50,,61,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62', '125,,,,,,,,,,,,,,,,136,139,,66,,,84,,,95,100,,,13,,26,123,,127,49,132', '134,138,141,,,147,92,124,,,,11,18,23,30,35,39,,,,64,71,376,22,25,32', '36,42,,9,,65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93', ',,7,,,,,,44,50,,61,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62', '125,,,,,,,,,,,,,,,,136,139,,66,,,84,,,95,100,,,13,,26,123,,127,49,132', '134,138,141,,,147,92,124,,,,11,18,23,30,35,39,,,,64,71,376,22,25,32', '36,42,,9,,65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93', ',,7,,,,,,44,50,,61,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62', '125,-578,-578,-578,-578,137,140,,,-578,-578,,,,,,136,139,,66,,,84,,', '95,100,,,13,,26,123,,127,49,132,134,138,141,143,145,147,92,124,,,,11', '18,23,30,35,39,,,,64,71,376,22,25,32,36,42,,9,,65,76,,,,91,,99,102,5', '12,19,24,31,,,,,,67,72,79,81,86,88,93,,,7,,,,,,44,50,,61,63,70,77,82', '87,89,94,98,,4,10,17,,29,34,,46,53,62,125,126,129,131,133,137,140,142', ',146,122,,,,,,136,139,,66,,,381,,,95,100,,,13,,26,123,,127,49,132,134', '138,141,143,145,147,92,124,,,,11,18,23,30,35,39,,,,64,71,376,22,25,32', '36,42,,9,,65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93', ',,7,,,,,,44,50,,61,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62', '125,,,,,,,,,,,,,,,,136,139,,66,,,84,,,95,100,,,13,,26,123,,127,49,132', '134,138,141,,,,92,,,,,11,18,23,30,35,39,,,,64,71,376,22,25,32,36,42', ',9,,65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,,,7', ',,,,,44,50,,61,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,125', ',,,,,,,,,,,,,,,136,139,,66,,,84,,,95,100,,,13,,26,123,,,49,132,134,138', '141,,,,92,,,,,11,18,23,30,35,39,,,,64,71,376,22,25,32,36,42,,9,,65,76', ',,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,,,7,,,,,,44,50', ',61,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,125,,,,,,,,,,', ',,,,,136,139,,66,,,84,,,95,100,,,13,,26,123,,127,49,132,134,138,141', ',,,92,,,,,11,18,23,30,35,39,,,,64,71,376,22,25,32,36,42,,9,,65,76,,', ',91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,,,7,,,,,,44,50,', '61,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,', ',,,,66,,,84,,,95,100,,,13,,26,,,,49,,,,,,,,92,,,,,11,18,23,30,35,39', ',,,64,71,376,22,25,32,36,42,,9,,65,76,,,,91,,99,102,5,12,19,24,31,,', ',,,67,72,79,81,86,88,93,,,7,,,,,,44,50,,61,63,70,77,82,87,89,94,98,', '4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,66,,,84,,,95,100,,,13,,26', ',,,49,,,,,,,,92,,,,,11,18,23,30,35,39,,,,64,71,376,22,25,32,36,42,,9', ',65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,,,7,,,', ',,44,50,,61,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,', ',,,,,,,,,,,,,66,,,381,,,95,100,,,13,,26,,,,49,,,,,,,,92,,,,,11,18,23', '30,35,39,,,,64,71,376,22,25,32,36,42,,9,,65,76,,,,91,,99,102,5,12,19', '24,31,,,,,,67,72,79,81,86,88,93,,,7,,,,,,44,50,,61,63,70,77,82,87,89', '94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,66,,,84,,,95,100', ',,13,,26,,,,49,,,,,,,,92,,,,,11,18,23,30,35,39,,,,64,71,16,22,25,32', '36,42,,9,,65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93', ',,7,,,,,,44,50,57,61,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53', '62,,,,,,,,,,,,,,,,,,,,66,,,84,,,95,100,,,13,,26,,,,49,,,,,,,,92,,,,', '11,18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106', '108,24,31,,,,,,114,116,119,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82', '87,89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,', ',95,100,,,13,,,,,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25', '32,36,42,,,9,65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88', '93,,,7,,,,,,44,50,,61,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53', '62,,,,,,,,,,,,,,,,,,,,66,,,84,,,95,100,,,13,,26,,,,49,,,,,,,,92,,,,', '11,18,23,30,35,39,,,,64,71,22,25,32,,42,542,,9,65,76,,,,91,,99,102,5', '12,19,24,31,,,,,,67,72,79,81,86,88,93,,,7,,,,,,,50,,,63,70,77,82,87', '89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95', '100,,,13,,,,,,49,,,,,,,,92,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,', '42,,,9,65,76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88', '93,,,104,,,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62', ',,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,169,,171,173,154,49,161,', ',,,,,275,,,,-412,11,18,23,30,35,39,-412,-412,-412,64,71,-412,-412,-412', ',-412,,,9,,157,163,,,-412,-412,-412,,,172,151,155,160,,,-412,-412,,-412', '-412,-412,-412,-412,,,,,,,,,,,,,,,,,,,,,,,,-412,-412,-412,-412,-412', '-412,-412,-412,-412,-412,-412,-412,-412,-412,,,-412,-412,-412,,,-412', ',368,-412,,,-412,-412,,-412,,-412,,-412,,-412,-412,-412,-412,-412,-412', '-412,,-412,-412,-412,,,,,,,,,,,,-291,-412,-412,,-412,,-412,-291,-291', '-291,,,-291,-291,-291,169,-291,171,173,154,,161,,,,,-291,-291,,,,,,', ',,-291,-291,,-291,-291,-291,-291,-291,,,,,,,,,,157,689,,,,,,,,172,151', '155,160,,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291', '-291,-291,,,-291,-291,-291,,,-291,,363,-291,,,-291,-291,,-291,,-291', ',-291,,-291,-291,-291,-291,-291,-291,-291,,-291,,-291,,,,,,,,,,,,,-291', '-291,,-291,,-291,22,25,32,,42,,,,65,76,,,,91,,99,102,5,106,108,24,31', ',,,,,114,116,119,81,86,88,93,,,104,,,,,,,110,,,63,70,77,82,87,89,94', '98,,4,10,17,,29,34,,,,112,,,,,,,,,,,,,,,,,,,,295,,,385,,,95,100,,,13', ',,,,,,,,,,,,,,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76', ',,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,,,104,,,,,,,50', ',,63,70,77,82,87,89,94,98,276,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,', ',,,,,,267,,,271,,,95,100,,,13,,262,,263,,49,,,,,,,,275,,,,,11,18,23', '30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108,24', '31,,,,,,114,116,119,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89,94', '98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,', ',13,,,,,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,', ',9,65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,,,104', ',,,,,,50,,,63,70,77,82,87,89,94,98,276,4,10,17,,29,34,,46,53,62,,,,', ',,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,262,,263,,49,,,,,,,,275,,,,', '11,18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106', '108,24,31,,,,,,114,116,119,81,86,88,93,,,104,,,,,,,110,,,63,70,77,82', '87,89,94,98,,4,10,17,,29,34,,,,112,,,,,,,,,,,,,,,,,,,,295,,,385,,,95', '100,,,13,,384,,,,,,,,,,,,,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42', ',,9,65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,,,7', ',,,,704,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,125', '126,129,131,133,137,140,142,144,146,122,,128,130,,,136,139,,267,,,271', ',,95,100,,,13,,,123,,127,49,132,134,138,141,143,145,147,92,124,,,,11', '18,23,30,35,39,,,,64,71,340,135,22,25,32,342,42,9,,,65,76,,,,91,,99', '102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,,,104,,,,,,,50,,,63,70,77', '82,87,89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271', ',,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25', '32,,42,,,9,65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88', '93,,,7,,,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62', ',,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,92,,,,,11', '18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108', '24,31,,,,,,114,116,119,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89', '94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100', ',,13,,,,,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42', ',,9,65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,,,7', ',,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,,', ',,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,92,,,,,11,18,23,30', '35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108,24,31', ',,,,,114,116,119,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89,94,98', ',4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13', ',,,,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65', '76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93,,,104', ',,,,,,50,,,63,70,77,82,87,89,94,98,276,4,10,17,,29,34,,46,53,62,,,,', ',,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,262,,,,49,,,,,,,,275,,,,,11', '18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108', '24,31,,,,,,114,116,119,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89', '94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100', ',,13,,,,,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42', ',,9,65,76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93', ',,104,,,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,', ',,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11', '18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108', '24,31,,,,,,114,116,119,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89', '94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100', ',,13,,,,,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42', ',,9,65,76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93', ',,104,,,,,,,50,,,63,70,77,82,87,89,94,98,276,4,10,17,,29,34,,46,53,62', ',,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,652,,,,49,,,,,,,,275,,,', ',11,18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,12', '19,24,31,,,,,,67,72,79,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89', '94,98,276,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95', '100,,,13,,262,,263,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22', '25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81', '86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46', '53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,262,,,,49,,,,,,,,275', ',,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102', '5,106,108,24,31,,,,,,114,116,119,81,86,88,93,,,104,,,,,,,110,,,63,70', '77,82,87,89,94,98,,4,10,17,,29,34,,,,112,,,,,,,,,,,,,,,,,,,,295,,,385', ',,95,100,,,13,,,,,,,,,,,,,,,,,,,11,18,23,30,35,39,,,,64,71,22,25,32', ',42,,,9,65,76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88', '93,,,104,,,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62', ',,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11', '18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,12,19', '24,31,,,,,,67,72,79,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89,94', '98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,', ',13,,,,,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,', ',9,65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,,,7,', ',,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,', ',,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,92,,,,,11,18,23,30', '35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108,24,31', ',,,,,114,116,119,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89,94,98', ',4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13', ',,,,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65', '76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93,,,104', ',,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,,', ',,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11,18,23', '30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108,24', '31,,,,,,114,116,119,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89,94', '98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,', ',13,,,,,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,', ',9,65,76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93', ',,104,,,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,', ',,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11', '18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108', '24,31,,,,,,114,116,119,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89', '94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100', ',,13,,,,,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42', ',,9,65,76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93', ',,104,,,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,', ',,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11', '18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108', '24,31,,,,,,114,116,119,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89', '94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100', ',,13,,,,,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42', ',,9,65,76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93', ',,104,,,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,', ',,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11', '18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108', '24,31,,,,,,114,116,119,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89', '94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100', ',,13,,,,,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42', ',,9,65,76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93', ',,104,,,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,', ',,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11', '18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108', '24,31,,,,,,114,116,119,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89', '94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100', ',,13,,,,,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42', ',,9,65,76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93', ',,104,,,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,', ',,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11', '18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108', '24,31,,,,,,114,116,119,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89', '94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100', ',,13,,,,,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42', ',,9,65,76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93', ',,104,,,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,', ',,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11', '18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108', '24,31,,,,,,114,116,119,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89', '94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100', ',,13,,,,,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42', ',,9,65,76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93', ',,104,,,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,', ',,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11', '18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108', '24,31,,,,,,114,116,119,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89', '94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100', ',,13,,,,,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42', ',,9,65,76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93', ',,104,,,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,', ',,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11', '18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108', '24,31,,,,,,114,116,119,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89', '94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100', ',,13,,,,,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42', ',,9,65,76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93', ',,104,,,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,', ',,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11', '18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108', '24,31,,,,,,114,116,119,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89', '94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100', ',,13,,,,,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42', ',,9,65,76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93', ',,104,,,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,', ',,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11', '18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108', '24,31,,,,,,114,116,119,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89', '94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100', ',,13,,,,,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42', ',,9,65,76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93', ',,104,,,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,', ',,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11', '18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108', '24,31,,,,,,114,116,119,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89', '94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100', ',,13,,,,,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42', ',,9,65,76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93', ',,104,,,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,', ',,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11', '18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108', '24,31,,,,,,114,116,119,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89', '94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100', ',,13,,,,,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42', ',,9,65,76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93', ',,104,,,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,', ',,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11', '18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,12,19', '24,31,,,,,,67,72,79,81,86,88,93,,,7,,,,,,,50,,,63,70,77,82,87,89,94', '98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,', ',13,,,,,,49,,,,,,,,92,,,,,11,18,23,30,35,39,,,,64,71,149,22,25,32,,42', ',9,,65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,,,7', ',,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,,', ',,,,,,,,,,,,267,,,271,,,95,100,,,13,169,,171,173,154,49,161,,,,,,,92', ',,,-577,11,18,23,30,35,39,-577,-577,-577,64,71,-577,-577,-577,,-577', ',,9,,157,689,,,-577,-577,-577,,,172,151,155,160,,,-577,-577,,-577,-577', '-577,-577,-577,,,,,,,,,,,,,,,,,,,,,,,,-577,-577,-577,-577,-577,-577', '-577,-577,-577,-577,-577,-577,-577,-577,,,-577,-577,-577,,,-577,,368', '-577,,,-577,-577,,-577,,-577,,-577,,-577,-577,-577,-577,-577,-577,-577', ',-577,-577,-577,,,,,,,,,,,,,-577,-577,,-577,,-577,22,25,32,,42,,,,65', '76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93,,,104', ',,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,,', ',,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11,18,23', '30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,12,19,24,31', ',,,,,67,72,79,81,86,88,93,,,7,,,,,,,50,,,63,70,77,82,87,89,94,98,,4', '10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,', ',,,49,,,,,,,,92,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76', ',,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93,,,104,,,', ',,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,', ',,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11,18,23,30', '35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,12,19,24,31,,', ',,,67,72,79,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89,94,98,,4', '10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,', ',,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65', '76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93,,,104', ',,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,,', ',,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11,18,23', '30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,12,19,24,31', ',,,,,67,72,79,81,86,88,93,,,7,,,,,,,50,,,63,70,77,82,87,89,94,98,,4', '10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,', ',,,49,,,,,,,,92,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76', ',,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,,,104,,,,,,,50', ',,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,', ',,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11,18,23,30,35,39', ',,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108,24,31,,,,,,114', '116,119,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89,94,98,276,4,10', '17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,263', ',49,,,,,,,,275,,,,-577,11,18,23,30,35,39,-577,-577,-577,64,71,-577,-577', '-577,,-577,,,9,,,,,,,-577,,,,,,,,,,-577,-577,,-577,-577,-577,-577,-577', ',,,,,,,,,,,,-577,,,,,,,-577,-577,-577,,,-577,-577,-577,,-577,,,,,,-577', ',,,-577,,,-577,,,,,368,-577,-577,-577,,-577,-577,-577,-577,-577,,,,', ',,,,,,,,,-577,,,,,,,,,,,,,-577,,,,,-577,,,-577,,,,,,,-577,,,,,368,-577', ',,,,,,,,,,,,,,,,,,,,,-577,,,,,,22,25,32,,42,,,-577,65,76,,,-577,91,', '99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93,,,104,,,,,,,110', ',,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,,,112,,,,,,,,,,,,,,,,,,,', '295,,,385,,,95,100,,,13,,,,,,,,,,,,,,,,,,,11,18,23,30,35,39,,,,64,71', '22,25,32,,42,,,9,65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81', '86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89,94,98,276,4,10,17,,29,34', ',46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,262,,263,,49,', ',,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91', ',99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93,,,104,,,,,,,50', ',,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,', ',,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11,18,23,30,35,39', ',,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108,24,31,,,,,,114', '116,119,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17', ',29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49', ',,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,', '91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,,,7,,,,,,,50,,,63', '70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267', ',,271,,,95,100,,,13,,,,,,49,,,,,,,,92,,,,,11,18,23,30,35,39,,,,64,71', '22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119', '81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89,94,98,276,4,10,17,,29', '34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,', ',,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,', '99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93,,,104,,,,,,,50,', ',63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,', ',,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11,18,23,30,35,39,', ',,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108,24,31,,,,,,114', '116,119,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89,94,98,276,4,10', '17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,263', ',49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76', ',,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93,,,104,,,', ',,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,', ',,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11,18,23,30', '35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108,24,31', ',,,,,114,116,119,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89,94,98', ',4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13', ',,,,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65', '76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93,,,104', ',,,,,,110,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,,,112,,,,,,,,,', ',,,,,,,,,,295,,,271,,,95,100,,,13,,,,,,,,,,,,,,,,,,,11,18,23,30,35,39', ',,,64,71,22,25,32,297,42,,,9,65,76,,,,91,,99,102,5,106,108,24,31,,,', ',,114,116,119,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89,94,98,', '4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13', ',652,,,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,,', '9,65,76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93,', ',104,,,,,,,50,,,63,70,77,82,87,89,94,98,276,4,10,17,,29,34,,46,53,62', ',,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,652,,263,,49,,,,,,,,275', ',,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102', '5,106,108,24,31,,,,,,114,116,119,81,86,88,93,,,104,,,,,,,50,,,63,70', '77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,', ',271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71', '22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119', '81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34', ',46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,', '275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99', '102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,,,104,,,,,,,50,,,63,70,77', '82,87,89,94,98,276,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,', ',271,,,95,100,,,13,,262,,263,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,', ',64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108,24,31,,,,,,114', '116,119,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89,94,98,276,4,10', '17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,652', ',263,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,,,9', '65,76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93,,,104', ',,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,,', ',,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11,18,23', '30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,12,19,24,31', ',,,,,67,72,79,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89,94,98,276', '4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13', ',262,,263,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42', ',,9,65,76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93', ',,104,,,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,', ',,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11', '18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108', '24,31,,,,,,114,116,119,81,86,88,93,,,104,,,,,,,110,,,63,70,77,496,87', '89,94,497,,4,10,17,,29,34,,,,112,,,,,,,,,,,,,,,,,,,,494,,,271,,,95,100', ',,13,,,,,,,,,,,,,,,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65', '76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93,,,104', ',,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,,', ',,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11,18,23', '30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108,24', '31,,,,,,114,116,119,81,86,88,93,,,104,,,,,,,110,,,63,70,77,496,87,89', '94,497,,4,10,17,,29,34,,,,112,,,,,,,,,,,,,,,,,,,,494,,,271,,,95,100', ',,13,,,,,,,,,,,,,,,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,36,42,,,9', '65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,,,7,,,,', ',44,50,57,61,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,,,,,', ',,,,,,,,,,,,,,66,,,84,,,95,100,,,13,,26,,,,49,,,,,,,,92,,,,,11,18,23', '30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,12,19,24,31', ',,,,,67,72,79,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89,94,98,276', '4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13', ',262,,263,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42', ',,9,65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,,,104', ',,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,,', ',,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11,18,23', '30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108,24', '31,,,,,,114,116,119,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89,94', '98,276,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100', ',,13,,,,263,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,', '42,,,9,65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,', ',7,,,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,,,,', ',,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,92,,,,,11,18,23', '30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108,24', '31,,,,,,114,116,119,81,86,88,93,,,104,,,,,,,110,,,63,70,77,82,87,89', '94,98,,4,10,17,,29,34,,,,112,,,,,,,,,,,,,,,,,,,,295,,,385,,,95,100,', ',13,,,,,,,,,,,,,,,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65', '76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93,,,104', ',,,,,,50,,,63,70,77,82,87,89,94,98,276,4,10,17,,29,34,,46,53,62,,,,', ',,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11,18', '23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,12,19,24', '31,,,,,,67,72,79,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89,94,98', '276,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,', ',13,,262,,263,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32', ',42,,,9,65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93', ',,104,,,,,,,50,,,63,70,77,82,87,89,94,98,276,4,10,17,,29,34,,46,53,62', ',,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,262,,263,,49,,,,,,,,275', ',,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102', '5,12,19,24,31,,,,,,67,72,79,81,86,88,93,,,7,,,,,,,50,,,63,70,77,82,87', '89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95', '100,,,13,,,,,,49,,,,,,,,92,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,', '42,,,9,65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,', ',104,,,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,,', ',,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11,18', '23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,12,19,24', '31,,,,,,67,72,79,81,86,88,93,,,7,,,,,,,50,,,63,70,77,82,87,89,94,98', ',4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13', ',,,,,49,,,,,,,,92,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65', '76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,,,7,,,,,,,50', ',,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,', ',,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,92,,,,,11,18,23,30,35,39,', ',,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72', '79,81,86,88,93,,,7,,,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34', ',46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,', '92,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102', '5,106,108,24,31,,,,,,114,116,119,81,86,88,93,,,104,,,,,,,110,,,63,70', '77,82,87,89,94,98,,4,10,17,,29,34,,,,112,,,,,,,,,,,,,,,,,,,,295,,,385', ',,95,100,,,13,,,,,,,,,,,,,,,,,,,11,18,23,30,35,39,,,,64,71,22,25,32', ',42,,,9,65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93', ',,104,,,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,', ',,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11', '18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108', '24,31,,,,,,114,116,119,81,86,88,93,,,104,,,,,,,110,,,63,70,77,82,87', '89,94,98,,4,10,17,,29,34,,,,112,,,,,,,,,,,,,,,,,,,,295,,,271,,,95,100', ',,13,,,,,,,,,,,,,,,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,598,42,,', '9,65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,,,104', ',,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,,', ',,,,,,,,,,,,267,,,271,,,95,100,,,13,,530,,,,49,,,,,,,,275,,,,,11,18', '23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108', '24,31,,,,,,114,116,119,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89', '94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100', ',,13,,530,,,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,', '42,,,9,65,76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88', '93,,,104,,,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62', ',,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11', '18,23,30,35,39,,,,64,71,22,25,32,36,42,,,9,65,76,,,,91,,99,102,5,12', '19,24,31,,,,,,67,72,79,81,86,88,93,,,7,,,,,,44,50,,61,63,70,77,82,87', '89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,66,,,84,,,95,100', ',,13,,26,,,,49,,,,,,,,92,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42', ',,9,65,76,,,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93', ',,104,,,,,,,110,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,,,112,,,', ',,,,,,,,,,,,,,,,113,,,84,,,95,100,,,13,,26,,,,,,,,,,,,,,,,,11,18,23', '30,35,39,,,,64,71,22,25,32,36,42,,,9,65,76,,,,91,,99,102,5,12,19,24', '31,,,,,,67,72,79,81,86,88,93,,,7,,,,,,44,50,,61,63,70,77,82,87,89,94', '98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,66,,,84,,,95,100,,,13', ',26,,,,49,,,,,,,,92,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,,,9', '65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,,,7,,,,', ',,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,', ',,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,92,,,,,11,18,23,30,35', '39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108,24,31,,,', ',,114,116,119,81,86,88,93,,,104,,,,,,,110,,,63,70,77,82,87,89,94,98', ',4,10,17,,29,34,,,,112,,,,,,,,,,,,,,,,,,,,926,,,271,,,95,100,,,13,,', ',,,,,,,,,,,,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,', ',91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93,,,104,,,,,', ',50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,', ',,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11,18,23,30,35', '39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,12,19,24,31,,,,,', '67,72,79,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89,94,98,,4,10', '17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,530', ',,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65', '76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,,,7,,,,,,,50', ',,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,', ',,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,92,,,,,11,18,23,30,35,39,', ',,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108,24,31,,,,,,114', '116,119,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17', ',29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,540,,95,100,,,13,,,,,', '49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76', ',,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,,,7,,,,,,,50,', ',63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,', ',,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,92,,,,,11,18,23,30,35,39,,', ',64,71,22,25,32,36,42,,,9,65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67', '72,79,81,86,88,93,,,7,,,,,,44,50,57,61,63,70,77,82,87,89,94,98,,4,10', '17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,66,,,84,,,95,100,,,13,,26,,,', '49,,,,,,,,92,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,542,,9,65,76', ',,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,,,104,,,,,,,50', ',,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,', ',,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11,18,23,30,35,39', ',,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67', '72,79,81,86,88,93,,,7,,,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17,,29', '34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,,,,,49,,,,', ',,,92,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99', '102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,,,104,,,,,,,50,,,63,70,77', '82,87,89,94,98,276,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,', ',271,,,95,100,,,13,,262,,263,,49,,,,,,,,275,,,,,11,18,23,30,35,39,,', ',64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72', '79,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89,94,98,276,4,10,17', ',29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,262,,263', ',49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76', ',,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,,,104,,,,,,,50', ',,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,,,,,,,,,,,,,,,,', ',,,267,,,271,,,95,100,,,13,,,,,,49,,,,,,,,275,,,,,11,18,23,30,35,39', ',,,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,106,108,24,31,,,,,,114', '116,119,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89,94,98,,4,10,17', ',29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,816,,,', '49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,22,25,32,,42,,,9,65,76', ',,,91,,99,102,5,106,108,24,31,,,,,,114,116,119,81,86,88,93,,,104,,,', ',,,110,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,,,112,,,,,,,,,,,,', ',,,,,,,918,,,271,,,95,100,,,13,,,,,,,,,,,,,,,,,,,11,18,23,30,35,39,', ',,64,71,22,25,32,,42,,,9,65,76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72', '79,81,86,88,93,,,104,,,,,,,50,,,63,70,77,82,87,89,94,98,276,4,10,17', ',29,34,,46,53,62,,,,,,,,,,,,,,,,,,,,267,,,271,,,95,100,,,13,,262,,263', ',49,,,,,,,,275,,,,,11,18,23,30,35,39,,,,64,71,149,22,25,32,,42,,9,,65', '76,,,,91,,99,102,5,12,19,24,31,,,,,,67,72,79,81,86,88,93,,,7,,,,,732', ',50,,,63,70,77,82,87,89,94,98,,4,10,17,,29,34,,46,53,62,125,126,129', '131,133,137,140,142,144,146,122,,128,130,,,136,139,,267,,,271,,,95,100', ',,13,,,123,,127,49,132,134,138,141,143,145,147,92,124,,,,11,18,23,30', '35,39,,,,64,71,,135,,-240,,,,9,184,186,189,192,197,203,208,212,216,222', '227,236,240,245,248,252,255,177,181,183,187,190,195,199,,,,217,223,228', '232,241,243,250,253,256,178,,,,,,201,206,211,214,219,225,230,234,238', '333,,254,,,,,,,,,202,207,,220,226,231,235,239,244,249,,,176,182,,,,194', '198,204,209,,,,,,,,,,,,,,185,191,,200,205,210,213,218,224,229,233,237', '246,251,,,179,11,,,,,,,,,,71,184,186,189,192,197,203,208,212,216,222', '227,236,240,245,248,252,255,177,181,183,187,190,195,199,,,,217,223,228', '232,241,243,250,253,256,178,,,,,,201,206,211,214,219,225,230,234,238', ',,254,,,,,,,,,202,207,,220,226,231,235,239,244,249,,,176,182,,,,194', '198,204,209,,,,,,,,,,,,,,185,191,,200,205,210,213,218,224,229,233,237', '246,251,,,179,11,,,,,,,,,,71,184,186,189,192,197,203,208,212,216,222', '227,236,240,245,248,252,255,177,181,183,187,190,195,199,,,,217,223,228', '232,241,243,250,253,256,178,,,,,,201,206,211,214,219,225,230,234,238', ',,254,,,,,,,,,202,207,,220,226,231,235,239,244,249,,,176,182,,,,194', '198,204,209,,,,,,,,,,,,,,185,191,,200,205,210,213,218,224,229,233,237', '246,251,,,179,11,,,,,,,,,,71,184,186,189,192,197,203,208,212,216,222', '227,236,240,245,248,252,255,177,181,183,187,190,195,199,,,,217,223,228', '232,241,243,250,253,256,178,,,,,,201,206,211,214,219,225,230,234,238', ',,254,,,,,,,,,202,207,,220,226,231,235,239,244,249,,,176,182,,,,194', '198,204,209,,,,,,,,,,,,,,185,191,,200,205,210,213,218,224,229,233,237', '246,251,,,179,11,,,,,,,,,,71,184,186,189,192,197,203,208,212,216,222', '227,236,240,245,248,252,255,177,181,183,187,190,195,199,,,,217,223,228', '311,314,315,316,253,256,178,,,,,,201,206,211,214,308,309,310,312,238', '89,94,317,,4,,,,,,,202,207,,220,226,231,235,239,244,249,,,176,182,,', ',194,198,204,209,,,,,,313,,,,,,,,185,191,,200,205,210,213,218,224,229', '233,237,246,251,,,179,184,186,189,192,197,203,208,212,216,222,227,236', '240,245,248,252,255,177,181,183,187,190,195,199,,,,217,223,228,232,241', '243,250,253,256,178,,,,,,201,206,211,214,219,225,230,234,238,242,247', '254,,175,,,,,,,202,207,,220,226,231,235,239,244,249,,,176,182,,,,194', '198,204,209,,,,,,,,,,,,,,185,191,,200,205,210,213,218,224,229,233,237', '246,251,,,179,184,186,189,192,197,203,208,212,216,222,227,236,240,245', '248,252,255,177,181,183,187,190,195,199,,,,217,223,228,232,241,243,250', '253,256,178,,,,,,201,206,211,214,219,225,230,234,238,,,254,,,,,,,,,202', '207,,220,226,231,235,239,244,249,,,176,182,,,,194,198,204,209,,,,,,', '732,,,,,,,185,191,,200,205,210,213,218,224,229,233,237,246,251,,,179', '125,126,129,131,133,137,140,142,144,146,122,,128,130,,,136,139,,,,,', ',,,,,,,,,123,,127,,132,134,138,141,143,145,147,,124,650,559,,,649,,', ',,,,,,202,207,135,220,226,231,235,239,244,249,,,176,182,,,,194,198,204', '209,,,,,,368,,,,,,,,185,191,,200,205,210,213,218,224,229,233,237,246', '251,619,559,179,,618,,,,,,,,,202,207,,220,226,231,235,239,244,249,,', '176,182,,,,194,198,204,209,,,,,,368,,,,,,,,185,191,,200,205,210,213', '218,224,229,233,237,246,251,978,559,179,,977,,,,,,,,,202,207,,220,226', '231,235,239,244,249,,,176,182,,,,194,198,204,209,,,,,,368,,,,,,,,185', '191,,200,205,210,213,218,224,229,233,237,246,251,508,510,179,,507,,', ',,,,,,202,207,,220,226,231,235,239,244,249,,,176,182,,,,194,198,204', '209,,,,,,,,,,,,,,185,191,,200,205,210,213,218,224,229,233,237,246,251', '615,510,179,,614,,,,,,,,,202,207,,220,226,231,235,239,244,249,,,176', '182,,,,194,198,204,209,,,,,,368,,,,,,,,185,191,,200,205,210,213,218', '224,229,233,237,246,251,508,510,179,,507,,,,,,,,,202,207,,220,226,231', '235,239,244,249,,,176,182,,,,194,198,204,209,,,,,,368,,,,,,,,185,191', ',200,205,210,213,218,224,229,233,237,246,251,799,559,179,,797,,,,,,', ',,202,207,,220,226,231,235,239,244,249,,,176,182,,,,194,198,204,209', ',,,,,368,,,,,,,,185,191,,200,205,210,213,218,224,229,233,237,246,251', '647,510,179,,646,,,,,,,,,202,207,,220,226,231,235,239,244,249,,,176', '182,,,,194,198,204,209,,,,,,368,,,,,,,,185,191,,200,205,210,213,218', '224,229,233,237,246,251,679,559,179,,678,,,,,,,,,202,207,,220,226,231', '235,239,244,249,,,176,182,,,,194,198,204,209,,,,,,368,,,,,,,,185,191', ',200,205,210,213,218,224,229,233,237,246,251,650,559,179,,649,,,,,,', ',,202,207,,220,226,231,235,239,244,249,,,176,182,,,,194,198,204,209', ',,,,,368,,,,,,,,185,191,,200,205,210,213,218,224,229,233,237,246,251', '557,559,179,,555,,,,,,,,,202,207,,220,226,231,235,239,244,249,,,176', '182,,,,194,198,204,209,,,,,,368,,,,,,,,185,191,,200,205,210,213,218', '224,229,233,237,246,251,647,510,179,,646,,,,,,,,,202,207,,220,226,231', '235,239,244,249,,,176,182,,,,194,198,204,209,,,,,,368,,,,,,,,185,191', ',200,205,210,213,218,224,229,233,237,246,251,975,510,179,,974,,,,,,', ',,202,207,,220,226,231,235,239,244,249,,,176,182,,,,194,198,204,209', ',,,,,368,,,,,,,,185,191,,200,205,210,213,218,224,229,233,237,246,251', '971,559,179,,970,,,,,,,,,202,207,,220,226,231,235,239,244,249,,,176', '182,,,,194,198,204,209,,,,,,368,,,,,,,,185,191,,200,205,210,213,218', '224,229,233,237,246,251,676,510,179,,675,,,,,,,,,202,207,,220,226,231', '235,239,244,249,,,176,182,,,,194,198,204,209,,,,,,368,,,,,,,,185,191', ',200,205,210,213,218,224,229,233,237,246,251,508,510,179,,507,,,,,,', ',,202,207,,220,226,231,235,239,244,249,,,176,182,,,,194,198,204,209', ',,,,,,,,,,,,,185,191,,200,205,210,213,218,224,229,233,237,246,251,547', '510,179,,546,,,,,,,,,202,207,,220,226,231,235,239,244,249,,,176,182', ',,,194,198,204,209,,,,,,368,,,,,,,,185,191,,200,205,210,213,218,224', '229,233,237,246,251,,,179,125,126,129,131,133,137,140,142,144,146,122', ',128,130,,,136,139,,,,,,,,,,,,,,,123,,127,,132,134,138,141,143,145,147', ',124,125,126,129,131,133,137,140,142,144,146,122,,128,130,,135,136,139', ',,,,,,,,,,,,,,123,,127,,132,134,138,141,143,145,147,,124,125,126,129', '131,133,137,140,142,144,146,122,,128,130,149,135,136,139,,,,,,,,,,,', ',,,123,,127,,132,134,138,141,143,145,147,,124,125,126,129,131,133,137', '140,142,144,146,122,,128,130,,135,136,139,,,,,,,,,,,,,,,123,,127,,132', '134,138,141,143,145,147,,124,125,126,129,131,133,137,140,142,144,146', '122,,128,130,,135,136,139,,,,,,,,,,,,,,,123,,127,,132,134,138,141,143', '145,147,,124,125,126,129,131,133,137,140,142,144,146,122,,128,130,,135', '136,139,,,,,,,,,,,,,,,123,,127,,132,134,138,141,143,145,147,,124,125', '126,129,131,133,137,140,142,144,146,122,,128,130,,135,136,139,,,,,,', ',,,,,,,,123,,127,,132,134,138,141,143,145,147,,124,125,126,129,131,133', '137,140,142,144,146,122,,128,130,,135,136,139,,,,,,,,,,,,,,,123,,127', ',132,134,138,141,143,145,147,,124,125,126,129,131,133,137,140,142,144', '146,122,,128,130,,135,136,139,,,,,,,,,,,,,,,123,,127,,132,134,138,141', '143,145,147,,124,125,126,129,131,133,137,140,142,144,146,122,,128,130', ',135,136,139,,,,,,,,,,,,,,,123,,127,,132,134,138,141,143,145,147,,124', '125,126,129,131,133,137,140,142,144,146,122,,128,130,,135,136,139,,', ',,,,,,,,,,,,123,,127,,132,134,138,141,143,145,147,,124,125,126,129,131', '133,137,140,142,144,146,122,,128,130,,135,136,139,,,,,,,,,,,,,,,123', ',127,,132,134,138,141,143,145,147,,124,125,126,129,131,133,137,140,142', '144,146,122,,128,130,,135,136,139,,,,,,,,,,,,,,,123,,127,,132,134,138', '141,143,145,147,,124,125,126,129,131,133,137,140,142,144,146,122,,128', '130,,135,136,139,,,,,,,,,,,,,,,123,,127,,132,134,138,141,143,145,147', ',124,,,,,,,,,,,,,,,,135' ] racc_action_table = arr = ::Array.new(23644, 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 = [ '82,922,922,922,922,922,922,82,82,82,922,922,82,82,82,922,82,922,922', '922,922,922,922,922,82,115,82,82,82,922,922,922,922,922,922,922,82,82', '922,82,82,82,82,82,922,922,365,922,922,922,922,922,922,922,922,922,492', '922,922,922,890,922,922,352,922,922,922,82,82,82,82,82,82,82,82,82,82', '82,82,82,82,75,676,82,82,82,922,82,82,922,158,82,922,922,82,82,922,82', '922,82,328,82,922,82,82,82,82,82,82,82,922,82,115,82,615,922,922,922', '922,922,922,675,1,614,922,922,82,82,82,82,98,82,881,922,82,82,986,98', '98,98,613,258,98,98,98,51,98,747,408,676,62,62,975,51,98,7,98,98,98', '699,365,974,492,328,978,365,98,98,75,98,98,98,98,98,890,844,107,352', '935,890,935,492,352,619,676,118,492,676,675,258,105,7,705,676,692,692', '158,98,98,98,98,98,98,98,98,98,98,98,98,98,98,618,608,98,98,98,746,98', '98,615,681,98,646,675,98,98,675,98,614,98,677,98,675,98,98,98,98,98', '98,98,613,98,978,98,708,613,881,747,520,619,986,881,747,408,799,986', '98,98,98,98,557,98,703,703,98,98,975,557,557,557,646,975,573,557,557', '974,557,618,978,487,974,107,710,978,692,557,437,437,619,844,118,68,844', '801,844,105,557,557,310,557,557,557,557,557,312,310,573,799,292,520', '520,312,608,487,799,292,618,608,520,799,221,746,647,799,292,654,261', '557,557,557,557,557,557,557,557,557,557,557,557,557,557,799,546,557', '557,557,801,557,269,679,497,557,703,801,557,302,68,778,302,557,471,557', '801,557,557,557,557,557,557,557,647,557,557,557,261,653,437,724,68,496', '801,221,221,221,546,555,557,557,648,557,546,557,555,555,555,557,269', '572,555,555,316,555,679,497,643,778,311,316,471,679,497,724,319,311', '679,497,302,302,679,497,286,555,555,314,555,555,555,555,555,711,314', '572,496,317,925,293,679,497,642,496,317,925,293,750,496,750,750,750', '496,750,925,293,555,555,555,555,555,555,555,555,555,555,555,555,555', '555,496,290,555,555,555,711,555,319,319,319,555,711,716,555,27,286,286', '286,555,354,555,27,555,555,555,555,555,555,555,315,555,446,555,446,446', '446,315,446,54,281,15,429,281,54,650,555,555,547,555,8,555,650,650,650', '555,750,650,650,650,78,650,354,290,290,290,719,427,354,308,650,650,650', '650,429,690,308,720,429,429,690,650,650,15,650,650,650,650,650,15,547', '731,8,296,305,639,547,731,8,427,296,305,78,427,427,427,427,494,78,296', '446,494,650,650,650,650,650,650,650,650,650,650,650,650,650,650,637', '73,650,650,650,111,650,650,73,635,650,728,111,650,650,633,650,73,650', '631,650,111,650,650,650,650,650,650,650,630,650,650,650,662,309,662', '662,662,664,662,629,309,426,664,493,650,650,650,650,649,650,493,400', '650,650,400,649,649,649,734,493,649,649,649,441,649,441,441,441,399', '441,662,399,626,426,649,649,649,426,426,662,662,662,662,737,649,649', '265,649,649,649,649,649,902,265,902,902,902,927,902,392,392,441,265', '625,927,625,625,625,744,625,441,744,662,927,622,649,649,649,649,649', '649,649,649,649,649,649,649,649,649,792,902,649,649,649,792,649,649', '663,663,649,620,625,649,649,617,649,616,649,605,649,625,649,649,649', '649,649,649,649,604,649,757,649,757,757,757,60,757,83,83,83,83,83,60', '957,649,649,649,649,558,649,957,60,649,649,752,558,558,558,602,957,558', '558,558,759,558,759,759,759,757,759,678,96,96,558,558,558,558,678,375', '757,757,600,678,375,558,558,678,558,558,558,558,558,628,599,628,628', '628,387,628,873,763,759,387,157,873,157,157,157,595,157,759,759,759', '759,590,558,558,558,558,558,558,558,558,558,558,558,558,558,558,333', '628,558,558,558,333,333,558,112,112,558,770,157,558,558,589,558,580', '558,575,558,157,558,558,558,558,558,558,558,567,558,558,558,906,562', '906,906,906,561,906,959,959,424,784,924,558,558,558,558,87,558,924,786', '558,721,721,87,87,87,787,924,87,87,87,766,87,766,766,766,788,766,906', '353,353,424,87,87,87,424,424,424,424,906,906,790,87,87,791,87,87,87', '87,87,850,554,850,850,850,553,850,550,852,766,852,852,852,857,852,857', '857,857,796,857,766,766,534,87,87,87,87,87,87,87,87,87,87,87,87,87,87', '532,850,87,87,87,797,800,87,529,852,87,804,797,87,87,806,87,797,87,809', '87,797,87,87,87,87,87,87,87,812,87,769,87,769,769,769,923,769,380,380', '380,380,380,923,917,87,87,87,87,559,87,917,923,87,528,815,559,559,559', '526,917,559,559,559,943,559,943,943,943,769,943,977,817,700,559,559', '559,559,977,505,769,769,452,977,445,559,559,977,559,559,559,559,559', '753,503,753,753,753,828,753,440,503,943,645,645,438,422,645,645,645', '503,943,943,943,943,835,559,559,559,559,559,559,559,559,559,559,559', '559,559,559,420,753,559,559,559,278,413,559,840,411,559,842,278,559', '559,402,559,398,559,389,559,278,559,559,559,559,559,559,559,388,559', '559,559,671,386,294,851,382,853,854,671,855,294,856,379,559,559,559', '559,671,559,294,858,559,838,838,838,838,838,838,378,861,862,838,838', '360,356,351,838,350,838,838,838,838,838,838,838,730,730,730,730,730', '838,838,838,838,838,838,838,872,638,838,638,638,638,345,638,838,838', '338,838,838,838,838,838,838,838,838,838,329,838,838,838,322,838,838', '320,838,838,838,588,588,588,588,588,886,948,298,948,948,948,295,948', '280,277,893,894,274,273,838,898,899,838,272,901,838,838,270,267,838', '911,838,912,914,983,838,983,983,983,915,983,916,264,838,948,918,174', '169,838,838,838,838,838,838,167,948,948,838,838,674,674,674,674,674', '674,166,838,164,674,674,926,162,983,674,121,674,674,674,674,674,674', '674,119,983,983,932,116,674,674,674,674,674,674,674,939,940,674,941', '113,110,104,97,674,674,952,674,674,674,674,674,674,674,674,674,953,674', '674,674,85,674,674,66,674,674,674,61,56,958,50,966,967,868,968,868,868', '868,969,868,970,971,43,39,976,35,674,22,14,674,3,987,674,674,,,674,', '674,,,,674,163,,163,163,163,,163,674,868,,,,674,674,674,674,674,674', ',868,868,674,674,447,447,447,447,447,447,,674,,447,447,,,,447,163,447', '447,447,447,447,447,447,,163,163,163,163,447,447,447,447,447,447,447', ',,447,,,,,,447,447,,447,447,447,447,447,447,447,447,447,,447,447,447', ',447,447,,447,447,447,,,,,,,456,,456,456,456,,456,,,,,,,447,,,447,,', '447,447,,,447,,447,,,,447,689,,689,689,689,,689,447,456,,,,447,447,447', '447,447,447,,456,456,447,447,449,449,449,449,449,449,,447,,449,449,', ',,449,689,449,449,449,449,449,449,449,,689,689,689,689,449,449,449,449', '449,449,449,,,449,,,,,,449,449,,449,449,449,449,449,449,449,449,449', ',449,449,449,,449,449,,449,449,449,,,,,,,945,,945,945,945,,945,,,,,', ',449,,,449,,,449,449,,,449,,449,,,,449,459,,459,459,459,,459,449,945', ',,,449,449,449,449,449,449,,945,945,449,449,892,892,892,892,892,892', ',449,,892,892,,,,892,459,892,892,892,892,892,892,892,,459,459,459,459', '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,864,,864,864,864,,864,892,,', ',,892,892,892,892,892,892,,,,892,892,896,896,896,896,896,896,,892,,896', '896,,,,896,864,896,896,896,896,896,896,896,,864,864,864,864,896,896', '896,896,896,896,896,,,896,,,,,,896,896,,896,896,896,896,896,896,896', '896,896,,896,896,896,,896,896,,896,896,896,,,,,,,,,,,,,,,,,,,,896,,', '896,,,896,896,,,896,,896,,,,896,866,,866,866,866,,866,896,,,,,896,896', '896,896,896,896,,,,896,896,900,900,900,900,900,900,,896,,900,900,,,', '900,866,900,900,900,900,900,900,900,,866,866,866,866,900,900,900,900', '900,900,900,,,900,,,,,,900,900,,900,900,900,900,900,900,900,900,900', ',900,900,900,,900,900,,900,900,900,,,,,,,,,,,,,,,,,,,,900,,,900,,,900', '900,,,900,,900,,,,900,451,,451,451,451,,451,900,,,,,900,900,900,900', '900,900,,,,900,900,271,271,271,271,271,271,,900,,271,271,,,,271,451', '271,271,271,271,271,271,271,,451,451,451,451,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,430,430,430,430,430,430,430,,,430,430,,,,', ',430,430,,271,,,271,,,271,271,,,271,,271,430,,430,271,430,430,430,430', '430,430,430,271,430,,,,271,271,271,271,271,271,,,,271,271,691,691,691', '691,691,691,,271,,691,691,,,,691,,691,691,691,691,691,691,691,,,,,,691', '691,691,691,691,691,691,,,691,,,,,,691,691,,691,691,691,691,691,691', '691,691,691,,691,691,691,,691,691,,691,691,691,410,410,410,410,410,410', '410,,,410,410,,,,,,410,410,,691,,,691,,,691,691,,,691,,691,410,,410', '691,410,410,410,410,410,410,410,691,410,,,,691,691,691,691,691,691,', ',,691,691,381,381,381,381,381,381,,691,,381,381,,,,381,,381,381,381', '381,381,381,381,,,,,,381,381,381,381,381,381,381,,,381,,,,,,381,381', ',381,381,381,381,381,381,381,381,381,,381,381,381,,381,381,,381,381', '381,414,414,414,414,414,414,414,,,414,414,,,,,,414,414,,381,,,381,,', '381,381,,,381,,381,414,,414,381,414,414,414,414,414,414,414,381,414', ',,,381,381,381,381,381,381,,,,381,381,919,919,919,919,919,919,,381,', '919,919,,,,919,,919,919,919,919,919,919,919,,,,,,919,919,919,919,919', '919,919,,,919,,,,,,919,919,,919,919,919,919,919,919,919,919,919,,919', '919,919,,919,919,,919,919,919,431,,,,,,,,,,,,,,,,431,431,,919,,,919', ',,919,919,,,919,,919,431,,431,919,431,431,431,431,,,431,919,431,,,,919', '919,919,919,919,919,,,,919,919,644,644,644,644,644,644,,919,,644,644', ',,,644,,644,644,644,644,644,644,644,,,,,,644,644,644,644,644,644,644', ',,644,,,,,,644,644,,644,644,644,644,644,644,644,644,644,,644,644,644', ',644,644,,644,644,644,416,416,416,416,416,416,416,416,416,416,416,,416', '416,,,416,416,,644,,,644,,,644,644,,,644,,644,416,,416,644,416,416,416', '416,416,416,416,644,416,,,,644,644,644,644,644,644,,,,644,644,839,839', '839,839,839,839,,644,,839,839,,,,839,,839,839,839,839,839,839,839,,', ',,,839,839,839,839,839,839,839,,,839,,,,,,839,839,,839,839,839,839,839', '839,839,839,839,,839,839,839,,839,839,,839,839,839,417,417,417,417,417', '417,417,,,417,417,,,,,,417,417,,839,,,839,,,839,839,,,839,,839,417,', '417,839,417,417,417,417,417,417,417,839,417,,,,839,839,839,839,839,839', ',,,839,839,814,814,814,814,814,814,,839,,814,814,,,,814,,814,814,814', '814,814,814,814,,,,,,814,814,814,814,814,814,814,,,814,,,,,,814,814', ',814,814,814,814,814,814,814,814,814,,814,814,814,,814,814,,814,814', '814,418,418,418,418,418,418,418,418,418,418,418,,418,418,,,418,418,', '814,,,814,,,814,814,,,814,,814,418,,418,814,418,418,418,418,418,418', '418,814,418,,,,814,814,814,814,814,814,,,,814,814,545,545,545,545,545', '545,,814,,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,419,419,419,419,419,419,419,', ',419,419,,,,,,419,419,,545,,,545,,,545,545,,,545,,545,419,,419,545,419', '419,419,419,419,419,419,545,419,,,,545,545,545,545,545,545,,,,545,545', '929,929,929,929,929,929,,545,,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,421,421,421', '421,421,421,421,,,421,421,,,,,,421,421,,929,,,929,,,929,929,,,929,,929', '421,,421,929,421,421,421,421,421,421,421,929,421,,,,929,929,929,929', '929,929,,,,929,929,931,931,931,931,931,931,,929,,931,931,,,,931,,931', '931,931,931,931,931,931,,,,,,931,931,931,931,931,931,931,,,931,,,,,', '931,931,,931,931,931,931,931,931,931,931,931,,931,931,931,,931,931,', '931,931,931,428,,,,,,,,,,,,,,,,428,428,,931,,,931,,,931,931,,,931,,931', '428,,428,931,428,428,428,428,,,428,931,428,,,,931,931,931,931,931,931', ',,,931,931,794,794,794,794,794,794,,931,,794,794,,,,794,,794,794,794', '794,794,794,794,,,,,,794,794,794,794,794,794,794,,,794,,,,,,794,794', ',794,794,794,794,794,794,794,794,794,,794,794,794,,794,794,,794,794', '794,425,,,,,,,,,,,,,,,,425,425,,794,,,794,,,794,794,,,794,,794,425,', '425,794,425,425,425,425,,,425,794,425,,,,794,794,794,794,794,794,,,', '794,794,884,884,884,884,884,884,,794,,884,884,,,,884,,884,884,884,884', '884,884,884,,,,,,884,884,884,884,884,884,884,,,884,,,,,,884,884,,884', '884,884,884,884,884,884,884,884,,884,884,884,,884,884,,884,884,884,433', ',,,,,,,,,,,,,,,433,433,,884,,,884,,,884,884,,,884,,884,433,,433,884', '433,433,433,433,,,433,884,433,,,,884,884,884,884,884,884,,,,884,884', '330,330,330,330,330,330,,884,,330,330,,,,330,,330,330,330,330,330,330', '330,,,,,,330,330,330,330,330,330,330,,,330,,,,,,330,330,,330,330,330', '330,330,330,330,330,330,,330,330,330,,330,330,,330,330,330,434,434,434', '434,434,434,434,,,434,434,,,,,,434,434,,330,,,330,,,330,330,,,330,,330', '434,,434,330,434,434,434,434,434,434,434,330,434,,,,330,330,330,330', '330,330,,,,330,330,385,385,385,385,385,385,,330,,385,385,,,,385,,385', '385,385,385,385,385,385,,,,,,385,385,385,385,385,385,385,,,385,,,,,', '385,385,,385,385,385,385,385,385,385,385,385,,385,385,385,,385,385,', '385,385,385,432,432,432,432,432,432,432,432,,432,432,,,,,,432,432,,385', ',,385,,,385,385,,,385,,385,432,,432,385,432,432,432,432,432,432,432', '385,432,,,,385,385,385,385,385,385,,,,385,385,845,845,845,845,845,845', ',385,,845,845,,,,845,,845,845,845,845,845,845,845,,,,,,845,845,845,845', '845,845,845,,,845,,,,,,845,845,,845,845,845,845,845,845,845,845,845', ',845,845,845,,845,845,,845,845,845,435,,,,,,,,,,,,,,,,435,435,,845,', ',845,,,845,845,,,845,,845,435,,435,845,435,435,435,435,,,,845,,,,,845', '845,845,845,845,845,,,,845,845,783,783,783,783,783,783,,845,,783,783', ',,,783,,783,783,783,783,783,783,783,,,,,,783,783,783,783,783,783,783', ',,783,,,,,,783,783,,783,783,783,783,783,783,783,783,783,,783,783,783', ',783,783,,783,783,783,415,,,,,,,,,,,,,,,,415,415,,783,,,783,,,783,783', ',,783,,783,415,,,783,415,415,415,415,,,,783,,,,,783,783,783,783,783', '783,,,,783,783,349,349,349,349,349,349,,783,,349,349,,,,349,,349,349', '349,349,349,349,349,,,,,,349,349,349,349,349,349,349,,,349,,,,,,349', '349,,349,349,349,349,349,349,349,349,349,,349,349,349,,349,349,,349', '349,349,412,,,,,,,,,,,,,,,,412,412,,349,,,349,,,349,349,,,349,,349,412', ',412,349,412,412,412,412,,,,349,,,,,349,349,349,349,349,349,,,,349,349', '566,566,566,566,566,566,,349,,566,566,,,,566,,566,566,566,566,566,566', '566,,,,,,566,566,566,566,566,566,566,,,566,,,,,,566,566,,566,566,566', '566,566,566,566,566,566,,566,566,566,,566,566,,566,566,566,,,,,,,,,', ',,,,,,,,,,566,,,566,,,566,566,,,566,,566,,,,566,,,,,,,,566,,,,,566,566', '566,566,566,566,,,,566,566,847,847,847,847,847,847,,566,,847,847,,,', '847,,847,847,847,847,847,847,847,,,,,,847,847,847,847,847,847,847,,', '847,,,,,,847,847,,847,847,847,847,847,847,847,847,847,,847,847,847,', '847,847,,847,847,847,,,,,,,,,,,,,,,,,,,,847,,,847,,,847,847,,,847,,847', ',,,847,,,,,,,,847,,,,,847,847,847,847,847,847,,,,847,847,84,84,84,84', '84,84,,847,,84,84,,,,84,,84,84,84,84,84,84,84,,,,,,84,84,84,84,84,84', '84,,,84,,,,,,84,84,,84,84,84,84,84,84,84,84,84,,84,84,84,,84,84,,84', '84,84,,,,,,,,,,,,,,,,,,,,84,,,84,,,84,84,,,84,,84,,,,84,,,,,,,,84,,', ',,84,84,84,84,84,84,,,,84,84,577,577,577,577,577,577,,84,,577,577,,', ',577,,577,577,577,577,577,577,577,,,,,,577,577,577,577,577,577,577,', ',577,,,,,,577,577,,577,577,577,577,577,577,577,577,577,,577,577,577', ',577,577,,577,577,577,,,,,,,,,,,,,,,,,,,,577,,,577,,,577,577,,,577,', '577,,,,577,,,,,,,,577,,,,,577,577,577,577,577,577,,,,577,577,2,2,2,2', '2,2,,577,,2,2,,,,2,,2,2,2,2,2,2,2,,,,,,2,2,2,2,2,2,2,,,2,,,,,,2,2,2', '2,2,2,2,2,2,2,2,2,,2,2,2,,2,2,,2,2,2,,,,,,,,,,,,,,,,,,,,2,,,2,,,2,2', ',,2,,2,,,,2,,,,,,,,2,,,,,2,2,2,2,2,2,,,,2,2,467,467,467,,467,,,2,467', '467,,,,467,,467,467,467,467,467,467,467,,,,,,467,467,467,467,467,467', '467,,,467,,,,,,,467,,,467,467,467,467,467,467,467,467,,467,467,467,', '467,467,,467,467,467,,,,,,,,,,,,,,,,,,,,467,,,467,,,467,467,,,467,,', ',,,467,,,,,,,,467,,,,,467,467,467,467,467,467,,,,467,467,586,586,586', '586,586,,,467,586,586,,,,586,,586,586,586,586,586,586,586,,,,,,586,586', '586,586,586,586,586,,,586,,,,,,586,586,,586,586,586,586,586,586,586', '586,586,,586,586,586,,586,586,,586,586,586,,,,,,,,,,,,,,,,,,,,586,,', '586,,,586,586,,,586,,586,,,,586,,,,,,,,586,,,,,586,586,586,586,586,586', ',,,586,586,76,76,76,,76,586,,586,76,76,,,,76,,76,76,76,76,76,76,76,', ',,,,76,76,76,76,76,76,76,,,76,,,,,,,76,,,76,76,76,76,76,76,76,76,,76', '76,76,,76,76,,76,76,76,,,,,,,,,,,,,,,,,,,,76,,,76,,,76,76,,,76,,,,,', '76,,,,,,,,76,,,,,76,76,76,76,76,76,,,,76,76,777,777,777,,777,,,76,777', '777,,,,777,,777,777,777,777,777,777,777,,,,,,777,777,777,777,777,777', '777,,,777,,,,,,,777,,,777,777,777,777,777,777,777,777,,777,777,777,', '777,777,,777,777,777,,,,,,,,,,,,,,,,,,,,777,,,777,,,777,777,,,777,9', ',9,9,9,777,9,,,,,,,777,,,,79,777,777,777,777,777,777,79,79,79,777,777', '79,79,79,,79,,,777,,9,9,,,79,79,79,,,9,9,9,9,,,79,79,,79,79,79,79,79', ',,,,,,,,,,,,,,,,,,,,,,,79,79,79,79,79,79,79,79,79,79,79,79,79,79,,,79', '79,79,,,79,,79,79,,,79,79,,79,,79,,79,,79,79,79,79,79,79,79,,79,79,79', ',,,,,,,,,,,72,79,79,,79,,79,72,72,72,,,72,72,72,876,72,876,876,876,', '876,,,,,72,72,,,,,,,,,72,72,,72,72,72,72,72,,,,,,,,,,876,876,,,,,,,', '876,876,876,876,,72,72,72,72,72,72,72,72,72,72,72,72,72,72,,,72,72,72', ',,72,,72,72,,,72,72,,72,,72,,72,,72,72,72,72,72,72,72,,72,,72,,,,,,', ',,,,,,72,72,,72,,72,598,598,598,,598,,,,598,598,,,,598,,598,598,598', '598,598,598,598,,,,,,598,598,598,598,598,598,598,,,598,,,,,,,598,,,598', '598,598,598,598,598,598,598,,598,598,598,,598,598,,,,598,,,,,,,,,,,', ',,,,,,,,598,,,598,,,598,598,,,598,,,,,,,,,,,,,,,,,,,598,598,598,598', '598,598,,,,598,598,67,67,67,,67,,,598,67,67,,,,67,,67,67,67,67,67,67', '67,,,,,,67,67,67,67,67,67,67,,,67,,,,,,,67,,,67,67,67,67,67,67,67,67', '67,67,67,67,,67,67,,67,67,67,,,,,,,,,,,,,,,,,,,,67,,,67,,,67,67,,,67', ',67,,67,,67,,,,,,,,67,,,,,67,67,67,67,67,67,,,,67,67,568,568,568,,568', ',,67,568,568,,,,568,,568,568,568,568,568,568,568,,,,,,568,568,568,568', '568,568,568,,,568,,,,,,,568,,,568,568,568,568,568,568,568,568,,568,568', '568,,568,568,,568,568,568,,,,,,,,,,,,,,,,,,,,568,,,568,,,568,568,,,568', ',,,,,568,,,,,,,,568,,,,,568,568,568,568,568,568,,,,568,568,955,955,955', ',955,,,568,955,955,,,,955,,955,955,955,955,955,955,955,,,,,,955,955', '955,955,955,955,955,,,955,,,,,,,955,,,955,955,955,955,955,955,955,955', '955,955,955,955,,955,955,,955,955,955,,,,,,,,,,,,,,,,,,,,955,,,955,', ',955,955,,,955,,955,,955,,955,,,,,,,,955,,,,,955,955,955,955,955,955', ',,,955,955,90,90,90,,90,,,955,90,90,,,,90,,90,90,90,90,90,90,90,,,,', ',90,90,90,90,90,90,90,,,90,,,,,,,90,,,90,90,90,90,90,90,90,90,,90,90', '90,,90,90,,,,90,,,,,,,,,,,,,,,,,,,,90,,,90,,,90,90,,,90,,90,,,,,,,,', ',,,,,,,,90,90,90,90,90,90,,,,90,90,91,91,91,,91,,,90,91,91,,,,91,,91', '91,91,91,91,91,91,,,,,,91,91,91,91,91,91,91,,,91,,,,,543,,91,,,91,91', '91,91,91,91,91,91,,91,91,91,,91,91,,91,91,91,543,543,543,543,543,543', '543,543,543,543,543,,543,543,,,543,543,,91,,,91,,,91,91,,,91,,,543,', '543,91,543,543,543,543,543,543,543,91,543,,,,91,91,91,91,91,91,,,,91', '91,91,543,92,92,92,91,92,91,,,92,92,,,,92,,92,92,92,92,92,92,92,,,,', ',92,92,92,92,92,92,92,,,92,,,,,,,92,,,92,92,92,92,92,92,92,92,,92,92', '92,,92,92,,92,92,92,,,,,,,,,,,,,,,,,,,,92,,,92,,,92,92,,,92,,,,,,92', ',,,,,,,92,,,,,92,92,92,92,92,92,,,,92,92,95,95,95,,95,,,92,95,95,,,', '95,,95,95,95,95,95,95,95,,,,,,95,95,95,95,95,95,95,,,95,,,,,,,95,,,95', '95,95,95,95,95,95,95,,95,95,95,,95,95,,95,95,95,,,,,,,,,,,,,,,,,,,,95', ',,95,,,95,95,,,95,,,,,,95,,,,,,,,95,,,,,95,95,95,95,95,95,,,,95,95,779', '779,779,,779,,,95,779,779,,,,779,,779,779,779,779,779,779,779,,,,,,779', '779,779,779,779,779,779,,,779,,,,,,,779,,,779,779,779,779,779,779,779', '779,,779,779,779,,779,779,,779,779,779,,,,,,,,,,,,,,,,,,,,779,,,779', ',,779,779,,,779,,,,,,779,,,,,,,,779,,,,,779,779,779,779,779,779,,,,779', '779,65,65,65,,65,,,779,65,65,,,,65,,65,65,65,65,65,65,65,,,,,,65,65', '65,65,65,65,65,,,65,,,,,,,65,,,65,65,65,65,65,65,65,65,,65,65,65,,65', '65,,65,65,65,,,,,,,,,,,,,,,,,,,,65,,,65,,,65,65,,,65,,,,,,65,,,,,,,', '65,,,,,65,65,65,65,65,65,,,,65,65,748,748,748,,748,,,65,748,748,,,,748', ',748,748,748,748,748,748,748,,,,,,748,748,748,748,748,748,748,,,748', ',,,,,,748,,,748,748,748,748,748,748,748,748,,748,748,748,,748,748,,748', '748,748,,,,,,,,,,,,,,,,,,,,748,,,748,,,748,748,,,748,,,,,,748,,,,,,', ',748,,,,,748,748,748,748,748,748,,,,748,748,100,100,100,,100,,,748,100', '100,,,,100,,100,100,100,100,100,100,100,,,,,,100,100,100,100,100,100', '100,,,100,,,,,,,100,,,100,100,100,100,100,100,100,100,100,100,100,100', ',100,100,,100,100,100,,,,,,,,,,,,,,,,,,,,100,,,100,,,100,100,,,100,', '100,,,,100,,,,,,,,100,,,,,100,100,100,100,100,100,,,,100,100,564,564', '564,,564,,,100,564,564,,,,564,,564,564,564,564,564,564,564,,,,,,564', '564,564,564,564,564,564,,,564,,,,,,,564,,,564,564,564,564,564,564,564', '564,,564,564,564,,564,564,,564,564,564,,,,,,,,,,,,,,,,,,,,564,,,564', ',,564,564,,,564,,,,,,564,,,,,,,,564,,,,,564,564,564,564,564,564,,,,564', '564,563,563,563,,563,,,564,563,563,,,,563,,563,563,563,563,563,563,563', ',,,,,563,563,563,563,563,563,563,,,563,,,,,,,563,,,563,563,563,563,563', '563,563,563,,563,563,563,,563,563,,563,563,563,,,,,,,,,,,,,,,,,,,,563', ',,563,,,563,563,,,563,,,,,,563,,,,,,,,563,,,,,563,563,563,563,563,563', ',,,563,563,780,780,780,,780,,,563,780,780,,,,780,,780,780,780,780,780', '780,780,,,,,,780,780,780,780,780,780,780,,,780,,,,,,,780,,,780,780,780', '780,780,780,780,780,,780,780,780,,780,780,,780,780,780,,,,,,,,,,,,,', ',,,,,,780,,,780,,,780,780,,,780,,,,,,780,,,,,,,,780,,,,,780,780,780', '780,780,780,,,,780,780,611,611,611,,611,,,780,611,611,,,,611,,611,611', '611,611,611,611,611,,,,,,611,611,611,611,611,611,611,,,611,,,,,,,611', ',,611,611,611,611,611,611,611,611,611,611,611,611,,611,611,,611,611', '611,,,,,,,,,,,,,,,,,,,,611,,,611,,,611,611,,,611,,611,,,,611,,,,,,,', '611,,,,,611,611,611,611,611,611,,,,611,611,357,357,357,,357,,,611,357', '357,,,,357,,357,357,357,357,357,357,357,,,,,,357,357,357,357,357,357', '357,,,357,,,,,,,357,,,357,357,357,357,357,357,357,357,357,357,357,357', ',357,357,,357,357,357,,,,,,,,,,,,,,,,,,,,357,,,357,,,357,357,,,357,', '357,,357,,357,,,,,,,,357,,,,,357,357,357,357,357,357,,,,357,357,738', '738,738,,738,,,357,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,735,735,735,,735,,,738,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,53,53,53,,53,,,735,53,53,,,,53,,53,53,53,53,53,53,53,,,,', ',53,53,53,53,53,53,53,,,53,,,,,,,53,,,53,53,53,53,53,53,53,53,,53,53', '53,,53,53,,53,53,53,,,,,,,,,,,,,,,,,,,,53,,,53,,,53,53,,,53,,,,,,53', ',,,,,,,53,,,,,53,53,53,53,53,53,,,,53,53,733,733,733,,733,,,53,733,733', ',,,733,,733,733,733,733,733,733,733,,,,,,733,733,733,733,733,733,733', ',,733,,,,,,,733,,,733,733,733,733,733,733,733,733,,733,733,733,,733', '733,,733,733,733,,,,,,,,,,,,,,,,,,,,733,,,733,,,733,733,,,733,,,,,,733', ',,,,,,,733,,,,,733,733,733,733,733,733,,,,733,733,795,795,795,,795,', ',733,795,795,,,,795,,795,795,795,795,795,795,795,,,,,,795,795,795,795', '795,795,795,,,795,,,,,,,795,,,795,795,795,795,795,795,795,795,,795,795', '795,,795,795,,795,795,795,,,,,,,,,,,,,,,,,,,,795,,,795,,,795,795,,,795', ',,,,,795,,,,,,,,795,,,,,795,795,795,795,795,795,,,,795,795,732,732,732', ',732,,,795,732,732,,,,732,,732,732,732,732,732,732,732,,,,,,732,732', '732,732,732,732,732,,,732,,,,,,,732,,,732,732,732,732,732,732,732,732', ',732,732,732,,732,732,,732,732,732,,,,,,,,,,,,,,,,,,,,732,,,732,,,732', '732,,,732,,,,,,732,,,,,,,,732,,,,,732,732,732,732,732,732,,,,732,732', '49,49,49,,49,,,732,49,49,,,,49,,49,49,49,49,49,49,49,,,,,,49,49,49,49', '49,49,49,,,49,,,,,,,49,,,49,49,49,49,49,49,49,49,,49,49,49,,49,49,,49', '49,49,,,,,,,,,,,,,,,,,,,,49,,,49,,,49,49,,,49,,,,,,49,,,,,,,,49,,,,', '49,49,49,49,49,49,,,,49,49,122,122,122,,122,,,49,122,122,,,,122,,122', '122,122,122,122,122,122,,,,,,122,122,122,122,122,122,122,,,122,,,,,', ',122,,,122,122,122,122,122,122,122,122,,122,122,122,,122,122,,122,122', '122,,,,,,,,,,,,,,,,,,,,122,,,122,,,122,122,,,122,,,,,,122,,,,,,,,122', ',,,,122,122,122,122,122,122,,,,122,122,123,123,123,,123,,,122,123,123', ',,,123,,123,123,123,123,123,123,123,,,,,,123,123,123,123,123,123,123', ',,123,,,,,,,123,,,123,123,123,123,123,123,123,123,,123,123,123,,123', '123,,123,123,123,,,,,,,,,,,,,,,,,,,,123,,,123,,,123,123,,,123,,,,,,123', ',,,,,,,123,,,,,123,123,123,123,123,123,,,,123,123,124,124,124,,124,', ',123,124,124,,,,124,,124,124,124,124,124,124,124,,,,,,124,124,124,124', '124,124,124,,,124,,,,,,,124,,,124,124,124,124,124,124,124,124,,124,124', '124,,124,124,,124,124,124,,,,,,,,,,,,,,,,,,,,124,,,124,,,124,124,,,124', ',,,,,124,,,,,,,,124,,,,,124,124,124,124,124,124,,,,124,124,125,125,125', ',125,,,124,125,125,,,,125,,125,125,125,125,125,125,125,,,,,,125,125', '125,125,125,125,125,,,125,,,,,,,125,,,125,125,125,125,125,125,125,125', ',125,125,125,,125,125,,125,125,125,,,,,,,,,,,,,,,,,,,,125,,,125,,,125', '125,,,125,,,,,,125,,,,,,,,125,,,,,125,125,125,125,125,125,,,,125,125', '126,126,126,,126,,,125,126,126,,,,126,,126,126,126,126,126,126,126,', ',,,,126,126,126,126,126,126,126,,,126,,,,,,,126,,,126,126,126,126,126', '126,126,126,,126,126,126,,126,126,,126,126,126,,,,,,,,,,,,,,,,,,,,126', ',,126,,,126,126,,,126,,,,,,126,,,,,,,,126,,,,,126,126,126,126,126,126', ',,,126,126,127,127,127,,127,,,126,127,127,,,,127,,127,127,127,127,127', '127,127,,,,,,127,127,127,127,127,127,127,,,127,,,,,,,127,,,127,127,127', '127,127,127,127,127,,127,127,127,,127,127,,127,127,127,,,,,,,,,,,,,', ',,,,,,127,,,127,,,127,127,,,127,,,,,,127,,,,,,,,127,,,,,127,127,127', '127,127,127,,,,127,127,128,128,128,,128,,,127,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,129,129,129,,129,,,128,129,129,', ',,129,,129,129,129,129,129,129,129,,,,,,129,129,129,129,129,129,129', ',,129,,,,,,,129,,,129,129,129,129,129,129,129,129,,129,129,129,,129', '129,,129,129,129,,,,,,,,,,,,,,,,,,,,129,,,129,,,129,129,,,129,,,,,,129', ',,,,,,,129,,,,,129,129,129,129,129,129,,,,129,129,130,130,130,,130,', ',129,130,130,,,,130,,130,130,130,130,130,130,130,,,,,,130,130,130,130', '130,130,130,,,130,,,,,,,130,,,130,130,130,130,130,130,130,130,,130,130', '130,,130,130,,130,130,130,,,,,,,,,,,,,,,,,,,,130,,,130,,,130,130,,,130', ',,,,,130,,,,,,,,130,,,,,130,130,130,130,130,130,,,,130,130,131,131,131', ',131,,,130,131,131,,,,131,,131,131,131,131,131,131,131,,,,,,131,131', '131,131,131,131,131,,,131,,,,,,,131,,,131,131,131,131,131,131,131,131', ',131,131,131,,131,131,,131,131,131,,,,,,,,,,,,,,,,,,,,131,,,131,,,131', '131,,,131,,,,,,131,,,,,,,,131,,,,,131,131,131,131,131,131,,,,131,131', '132,132,132,,132,,,131,132,132,,,,132,,132,132,132,132,132,132,132,', ',,,,132,132,132,132,132,132,132,,,132,,,,,,,132,,,132,132,132,132,132', '132,132,132,,132,132,132,,132,132,,132,132,132,,,,,,,,,,,,,,,,,,,,132', ',,132,,,132,132,,,132,,,,,,132,,,,,,,,132,,,,,132,132,132,132,132,132', ',,,132,132,133,133,133,,133,,,132,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,,,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,135,135,135,,135,,,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,136,136,136,,136,', ',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,137,137,137', ',137,,,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', '138,138,138,,138,,,137,138,138,,,,138,,138,138,138,138,138,138,138,', ',,,,138,138,138,138,138,138,138,,,138,,,,,,,138,,,138,138,138,138,138', '138,138,138,,138,138,138,,138,138,,138,138,138,,,,,,,,,,,,,,,,,,,,138', ',,138,,,138,138,,,138,,,,,,138,,,,,,,,138,,,,,138,138,138,138,138,138', ',,,138,138,139,139,139,,139,,,138,139,139,,,,139,,139,139,139,139,139', '139,139,,,,,,139,139,139,139,139,139,139,,,139,,,,,,,139,,,139,139,139', '139,139,139,139,139,,139,139,139,,139,139,,139,139,139,,,,,,,,,,,,,', ',,,,,,139,,,139,,,139,139,,,139,,,,,,139,,,,,,,,139,,,,,139,139,139', '139,139,139,,,,139,139,140,140,140,,140,,,139,140,140,,,,140,,140,140', '140,140,140,140,140,,,,,,140,140,140,140,140,140,140,,,140,,,,,,,140', ',,140,140,140,140,140,140,140,140,,140,140,140,,140,140,,140,140,140', ',,,,,,,,,,,,,,,,,,,140,,,140,,,140,140,,,140,,,,,,140,,,,,,,,140,,,', ',140,140,140,140,140,140,,,,140,140,141,141,141,,141,,,140,141,141,', ',,141,,141,141,141,141,141,141,141,,,,,,141,141,141,141,141,141,141', ',,141,,,,,,,141,,,141,141,141,141,141,141,141,141,,141,141,141,,141', '141,,141,141,141,,,,,,,,,,,,,,,,,,,,141,,,141,,,141,141,,,141,,,,,,141', ',,,,,,,141,,,,,141,141,141,141,141,141,,,,141,141,142,142,142,,142,', ',141,142,142,,,,142,,142,142,142,142,142,142,142,,,,,,142,142,142,142', '142,142,142,,,142,,,,,,,142,,,142,142,142,142,142,142,142,142,,142,142', '142,,142,142,,142,142,142,,,,,,,,,,,,,,,,,,,,142,,,142,,,142,142,,,142', ',,,,,142,,,,,,,,142,,,,,142,142,142,142,142,142,,,,142,142,143,143,143', ',143,,,142,143,143,,,,143,,143,143,143,143,143,143,143,,,,,,143,143', '143,143,143,143,143,,,143,,,,,,,143,,,143,143,143,143,143,143,143,143', ',143,143,143,,143,143,,143,143,143,,,,,,,,,,,,,,,,,,,,143,,,143,,,143', '143,,,143,,,,,,143,,,,,,,,143,,,,,143,143,143,143,143,143,,,,143,143', '144,144,144,,144,,,143,144,144,,,,144,,144,144,144,144,144,144,144,', ',,,,144,144,144,144,144,144,144,,,144,,,,,,,144,,,144,144,144,144,144', '144,144,144,,144,144,144,,144,144,,144,144,144,,,,,,,,,,,,,,,,,,,,144', ',,144,,,144,144,,,144,,,,,,144,,,,,,,,144,,,,,144,144,144,144,144,144', ',,,144,144,145,145,145,,145,,,144,145,145,,,,145,,145,145,145,145,145', '145,145,,,,,,145,145,145,145,145,145,145,,,145,,,,,,,145,,,145,145,145', '145,145,145,145,145,,145,145,145,,145,145,,145,145,145,,,,,,,,,,,,,', ',,,,,,145,,,145,,,145,145,,,145,,,,,,145,,,,,,,,145,,,,,145,145,145', '145,145,145,,,,145,145,146,146,146,,146,,,145,146,146,,,,146,,146,146', '146,146,146,146,146,,,,,,146,146,146,146,146,146,146,,,146,,,,,,,146', ',,146,146,146,146,146,146,146,146,,146,146,146,,146,146,,146,146,146', ',,,,,,,,,,,,,,,,,,,146,,,146,,,146,146,,,146,,,,,,146,,,,,,,,146,,,', ',146,146,146,146,146,146,,,,146,146,147,147,147,,147,,,146,147,147,', ',,147,,147,147,147,147,147,147,147,,,,,,147,147,147,147,147,147,147', ',,147,,,,,,,147,,,147,147,147,147,147,147,147,147,,147,147,147,,147', '147,,147,147,147,,,,,,,,,,,,,,,,,,,,147,,,147,,,147,147,,,147,,,,,,147', ',,,,,,,147,,,,,147,147,147,147,147,147,,,,147,147,148,148,148,,148,', ',147,148,148,,,,148,,148,148,148,148,148,148,148,,,,,,148,148,148,148', '148,148,148,,,148,,,,,,,148,,,148,148,148,148,148,148,148,148,,148,148', '148,,148,148,,148,148,148,,,,,,,,,,,,,,,,,,,,148,,,148,,,148,148,,,148', ',,,,,148,,,,,,,,148,,,,,148,148,148,148,148,148,,,,148,148,148,150,150', '150,,150,,148,,150,150,,,,150,,150,150,150,150,150,150,150,,,,,,150', '150,150,150,150,150,150,,,150,,,,,,,150,,,150,150,150,150,150,150,150', '150,,150,150,150,,150,150,,150,150,150,,,,,,,,,,,,,,,,,,,,150,,,150', ',,150,150,,,150,518,,518,518,518,150,518,,,,,,,150,,,,549,150,150,150', '150,150,150,549,549,549,150,150,549,549,549,,549,,,150,,518,518,,,549', '549,549,,,518,518,518,518,,,549,549,,549,549,549,549,549,,,,,,,,,,,', ',,,,,,,,,,,,549,549,549,549,549,549,549,549,549,549,549,549,549,549', ',,549,549,549,,,549,,549,549,,,549,549,,549,,549,,549,,549,549,549,549', '549,549,549,,549,549,549,,,,,,,,,,,,,549,549,,549,,549,46,46,46,,46', ',,,46,46,,,,46,,46,46,46,46,46,46,46,,,,,,46,46,46,46,46,46,46,,,46', ',,,,,,46,,,46,46,46,46,46,46,46,46,,46,46,46,,46,46,,46,46,46,,,,,,', ',,,,,,,,,,,,,46,,,46,,,46,46,,,46,,,,,,46,,,,,,,,46,,,,,46,46,46,46', '46,46,,,,46,46,540,540,540,,540,,,46,540,540,,,,540,,540,540,540,540', '540,540,540,,,,,,540,540,540,540,540,540,540,,,540,,,,,,,540,,,540,540', '540,540,540,540,540,540,,540,540,540,,540,540,,540,540,540,,,,,,,,,', ',,,,,,,,,,540,,,540,,,540,540,,,540,,,,,,540,,,,,,,,540,,,,,540,540', '540,540,540,540,,,,540,540,530,530,530,,530,,,540,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,715,715,715,,715,,,530,715,715', ',,,715,,715,715,715,715,715,715,715,,,,,,715,715,715,715,715,715,715', ',,715,,,,,,,715,,,715,715,715,715,715,715,715,715,,715,715,715,,715', '715,,715,715,715,,,,,,,,,,,,,,,,,,,,715,,,715,,,715,715,,,715,,,,,,715', ',,,,,,,715,,,,,715,715,715,715,715,715,,,,715,715,816,816,816,,816,', ',715,816,816,,,,816,,816,816,816,816,816,816,816,,,,,,816,816,816,816', '816,816,816,,,816,,,,,,,816,,,816,816,816,816,816,816,816,816,,816,816', '816,,816,816,,816,816,816,,,,,,,,,,,,,,,,,,,,816,,,816,,,816,816,,,816', ',,,,,816,,,,,,,,816,,,,,816,816,816,816,816,816,,,,816,816,519,519,519', ',519,,,816,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', '714,714,714,,714,,,519,714,714,,,,714,,714,714,714,714,714,714,714,', ',,,,714,714,714,714,714,714,714,,,714,,,,,,,714,,,714,714,714,714,714', '714,714,714,,714,714,714,,714,714,,714,714,714,,,,,,,,,,,,,,,,,,,,714', ',,714,,,714,714,,,714,,,,,,714,,,,,,,,714,,,,,714,714,714,714,714,714', ',,,714,714,713,713,713,,713,,,714,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,,,,512,713', '713,713,713,713,713,512,512,512,713,713,512,512,512,,512,,,713,,,,,', ',512,,,,,,,,,,512,512,,512,512,512,512,512,,,,,,,,,,,,,511,,,,,,,511', '511,511,,,511,511,511,,511,,,,,,512,,,,511,,,512,,,,,512,512,511,511', ',511,511,511,511,511,,,,,,,,,,,,,,512,,,,,,,,,,,,,512,,,,,512,,,511', ',,,,,,511,,,,,511,511,,,,,,,,,,,,,,,,,,,,,,511,,,,,,506,506,506,,506', ',,511,506,506,,,511,506,,506,506,506,506,506,506,506,,,,,,506,506,506', '506,506,506,506,,,506,,,,,,,506,,,506,506,506,506,506,506,506,506,,506', '506,506,,506,506,,,,506,,,,,,,,,,,,,,,,,,,,506,,,506,,,506,506,,,506', ',,,,,,,,,,,,,,,,,,506,506,506,506,506,506,,,,506,506,501,501,501,,501', ',,506,501,501,,,,501,,501,501,501,501,501,501,501,,,,,,501,501,501,501', '501,501,501,,,501,,,,,,,501,,,501,501,501,501,501,501,501,501,501,501', '501,501,,501,501,,501,501,501,,,,,,,,,,,,,,,,,,,,501,,,501,,,501,501', ',,501,,501,,501,,501,,,,,,,,501,,,,,501,501,501,501,501,501,,,,501,501', '262,262,262,,262,,,501,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,,,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,490,490,490,,490,,,263,490,490,,,,490,,490,490', '490,490,490,490,490,,,,,,490,490,490,490,490,490,490,,,490,,,,,,,490', ',,490,490,490,490,490,490,490,490,,490,490,490,,490,490,,490,490,490', ',,,,,,,,,,,,,,,,,,,490,,,490,,,490,490,,,490,,,,,,490,,,,,,,,490,,,', ',490,490,490,490,490,490,,,,490,490,486,486,486,,486,,,490,486,486,', ',,486,,486,486,486,486,486,486,486,,,,,,486,486,486,486,486,486,486', ',,486,,,,,,,486,,,486,486,486,486,486,486,486,486,486,486,486,486,,486', '486,,486,486,486,,,,,,,,,,,,,,,,,,,,486,,,486,,,486,486,,,486,,,,,,486', ',,,,,,,486,,,,,486,486,486,486,486,486,,,,486,486,479,479,479,,479,', ',486,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,479', '479,,479,479,,479,479,479,,,,,,,,,,,,,,,,,,,,479,,,479,,,479,479,,,479', ',,,,,479,,,,,,,,479,,,,,479,479,479,479,479,479,,,,479,479,477,477,477', ',477,,,479,477,477,,,,477,,477,477,477,477,477,477,477,,,,,,477,477', '477,477,477,477,477,,,477,,,,,,,477,,,477,477,477,477,477,477,477,477', '477,477,477,477,,477,477,,477,477,477,,,,,,,,,,,,,,,,,,,,477,,,477,', ',477,477,,,477,,,,477,,477,,,,,,,,477,,,,,477,477,477,477,477,477,,', ',477,477,476,476,476,,476,,,477,476,476,,,,476,,476,476,476,476,476', '476,476,,,,,,476,476,476,476,476,476,476,,,476,,,,,,,476,,,476,476,476', '476,476,476,476,476,,476,476,476,,476,476,,476,476,476,,,,,,,,,,,,,', ',,,,,,476,,,476,,,476,476,,,476,,,,,,476,,,,,,,,476,,,,,476,476,476', '476,476,476,,,,476,476,652,652,652,,652,,,476,652,652,,,,652,,652,652', '652,652,652,652,652,,,,,,652,652,652,652,652,652,652,,,652,,,,,,,652', ',,652,652,652,652,652,652,652,652,,652,652,652,,652,652,,652,652,652', ',,,,,,,,,,,,,,,,,,,652,,,652,,,652,652,,,652,,,,,,652,,,,,,,,652,,,', ',652,652,652,652,652,652,,,,652,652,26,26,26,,26,,,652,26,26,,,,26,', '26,26,26,26,26,26,26,,,,,,26,26,26,26,26,26,26,,,26,,,,,,,26,,,26,26', '26,26,26,26,26,26,,26,26,26,,26,26,,,,26,,,,,,,,,,,,,,,,,,,,26,,,26', ',,26,26,,,26,,,,,,,,,,,,,,,,,,,26,26,26,26,26,26,,,,26,26,897,897,897', '26,897,,,26,897,897,,,,897,,897,897,897,897,897,897,897,,,,,,897,897', '897,897,897,897,897,,,897,,,,,,,897,,,897,897,897,897,897,897,897,897', ',897,897,897,,897,897,,897,897,897,,,,,,,,,,,,,,,,,,,,897,,,897,,,897', '897,,,897,,897,,,,897,,,,,,,,897,,,,,897,897,897,897,897,897,,,,897', '897,712,712,712,,712,,,897,712,712,,,,712,,712,712,712,712,712,712,712', ',,,,,712,712,712,712,712,712,712,,,712,,,,,,,712,,,712,712,712,712,712', '712,712,712,712,712,712,712,,712,712,,712,712,712,,,,,,,,,,,,,,,,,,', ',712,,,712,,,712,712,,,712,,712,,712,,712,,,,,,,,712,,,,,712,712,712', '712,712,712,,,,712,712,275,275,275,,275,,,712,275,275,,,,275,,275,275', '275,275,275,275,275,,,,,,275,275,275,275,275,275,275,,,275,,,,,,,275', ',,275,275,275,275,275,275,275,275,,275,275,275,,275,275,,275,275,275', ',,,,,,,,,,,,,,,,,,,275,,,275,,,275,275,,,275,,,,,,275,,,,,,,,275,,,', ',275,275,275,275,275,275,,,,275,275,276,276,276,,276,,,275,276,276,', ',,276,,276,276,276,276,276,276,276,,,,,,276,276,276,276,276,276,276', ',,276,,,,,,,276,,,276,276,276,276,276,276,276,276,,276,276,276,,276', '276,,276,276,276,,,,,,,,,,,,,,,,,,,,276,,,276,,,276,276,,,276,,,,,,276', ',,,,,,,276,,,,,276,276,276,276,276,276,,,,276,276,19,19,19,,19,,,276', '19,19,,,,19,,19,19,19,19,19,19,19,,,,,,19,19,19,19,19,19,19,,,19,,,', ',,,19,,,19,19,19,19,19,19,19,19,19,19,19,19,,19,19,,19,19,19,,,,,,,', ',,,,,,,,,,,,19,,,19,,,19,19,,,19,,19,,19,,19,,,,,,,,19,,,,,19,19,19', '19,19,19,,,,19,19,474,474,474,,474,,,19,474,474,,,,474,,474,474,474', '474,474,474,474,,,,,,474,474,474,474,474,474,474,,,474,,,,,,,474,,,474', '474,474,474,474,474,474,474,474,474,474,474,,474,474,,474,474,474,,', ',,,,,,,,,,,,,,,,,474,,,474,,,474,474,,,474,,474,,474,,474,,,,,,,,474', ',,,,474,474,474,474,474,474,,,,474,474,472,472,472,,472,,,474,472,472', ',,,472,,472,472,472,472,472,472,472,,,,,,472,472,472,472,472,472,472', ',,472,,,,,,,472,,,472,472,472,472,472,472,472,472,,472,472,472,,472', '472,,472,472,472,,,,,,,,,,,,,,,,,,,,472,,,472,,,472,472,,,472,,,,,,472', ',,,,,,,472,,,,,472,472,472,472,472,472,,,,472,472,469,469,469,,469,', ',472,469,469,,,,469,,469,469,469,469,469,469,469,,,,,,469,469,469,469', '469,469,469,,,469,,,,,,,469,,,469,469,469,469,469,469,469,469,469,469', '469,469,,469,469,,469,469,469,,,,,,,,,,,,,,,,,,,,469,,,469,,,469,469', ',,469,,469,,469,,469,,,,,,,,469,,,,,469,469,469,469,469,469,,,,469,469', '776,776,776,,776,,,469,776,776,,,,776,,776,776,776,776,776,776,776,', ',,,,776,776,776,776,776,776,776,,,776,,,,,,,776,,,776,776,776,776,776', '776,776,776,,776,776,776,,776,776,,776,776,776,,,,,,,,,,,,,,,,,,,,776', ',,776,,,776,776,,,776,,,,,,776,,,,,,,,776,,,,,776,776,776,776,776,776', ',,,776,776,289,289,289,,289,,,776,289,289,,,,289,,289,289,289,289,289', '289,289,,,,,,289,289,289,289,289,289,289,,,289,,,,,,,289,,,289,289,289', '289,289,289,289,289,,289,289,289,,289,289,,,,289,,,,,,,,,,,,,,,,,,,', '289,,,289,,,289,289,,,289,,,,,,,,,,,,,,,,,,,289,289,289,289,289,289', ',,,289,289,457,457,457,,457,,,289,457,457,,,,457,,457,457,457,457,457', '457,457,,,,,,457,457,457,457,457,457,457,,,457,,,,,,,457,,,457,457,457', '457,457,457,457,457,,457,457,457,,457,457,,457,457,457,,,,,,,,,,,,,', ',,,,,,457,,,457,,,457,457,,,457,,,,,,457,,,,,,,,457,,,,,457,457,457', '457,457,457,,,,457,457,291,291,291,,291,,,457,291,291,,,,291,,291,291', '291,291,291,291,291,,,,,,291,291,291,291,291,291,291,,,291,,,,,,,291', ',,291,291,291,291,291,291,291,291,,291,291,291,,291,291,,,,291,,,,,', ',,,,,,,,,,,,,,291,,,291,,,291,291,,,291,,,,,,,,,,,,,,,,,,,291,291,291', '291,291,291,,,,291,291,16,16,16,16,16,,,291,16,16,,,,16,,16,16,16,16', '16,16,16,,,,,,16,16,16,16,16,16,16,,,16,,,,,,16,16,16,16,16,16,16,16', '16,16,16,16,,16,16,16,,16,16,,16,16,16,,,,,,,,,,,,,,,,,,,,16,,,16,,', '16,16,,,16,,16,,,,16,,,,,,,,16,,,,,16,16,16,16,16,16,,,,16,16,669,669', '669,,669,,,16,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,827,827,827,,827,,,669,827,827,,,,827,,827,827,827,827,827', '827,827,,,,,,827,827,827,827,827,827,827,,,827,,,,,,,827,,,827,827,827', '827,827,827,827,827,,827,827,827,,827,827,,827,827,827,,,,,,,,,,,,,', ',,,,,,827,,,827,,,827,827,,,827,,,,,,827,,,,,,,,827,,,,,827,827,827', '827,827,827,,,,827,827,889,889,889,,889,,,827,889,889,,,,889,,889,889', '889,889,889,889,889,,,,,,889,889,889,889,889,889,889,,,889,,,,,,,889', ',,889,889,889,889,889,889,889,889,889,889,889,889,,889,889,,889,889', '889,,,,,,,,,,,,,,,,,,,,889,,,889,,,889,889,,,889,,,,889,,889,,,,,,,', '889,,,,,889,889,889,889,889,889,,,,889,889,834,834,834,,834,,,889,834', '834,,,,834,,834,834,834,834,834,834,834,,,,,,834,834,834,834,834,834', '834,,,834,,,,,,,834,,,834,834,834,834,834,834,834,834,,834,834,834,', '834,834,,834,834,834,,,,,,,,,,,,,,,,,,,,834,,,834,,,834,834,,,834,,', ',,,834,,,,,,,,834,,,,,834,834,834,834,834,834,,,,834,834,297,297,297', ',297,,,834,297,297,,,,297,,297,297,297,297,297,297,297,,,,,,297,297', '297,297,297,297,297,,,297,,,,,,,297,,,297,297,297,297,297,297,297,297', ',297,297,297,,297,297,,,,297,,,,,,,,,,,,,,,,,,,,297,,,297,,,297,297', ',,297,,,,,,,,,,,,,,,,,,,297,297,297,297,297,297,,,,297,297,13,13,13', ',13,,,297,13,13,,,,13,,13,13,13,13,13,13,13,,,,,,13,13,13,13,13,13,13', ',,13,,,,,,,13,,,13,13,13,13,13,13,13,13,13,13,13,13,,13,13,,13,13,13', ',,,,,,,,,,,,,,,,,,,13,,,13,,,13,13,,,13,,,,,,13,,,,,,,,13,,,,,13,13', '13,13,13,13,,,,13,13,12,12,12,,12,,,13,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,404,404,404,,404', ',,12,404,404,,,,404,,404,404,404,404,404,404,404,,,,,,404,404,404,404', '404,404,404,,,404,,,,,,,404,,,404,404,404,404,404,404,404,404,404,404', '404,404,,404,404,,404,404,404,,,,,,,,,,,,,,,,,,,,404,,,404,,,404,404', ',,404,,404,,404,,404,,,,,,,,404,,,,,404,404,404,404,404,404,,,,404,404', '401,401,401,,401,,,404,401,401,,,,401,,401,401,401,401,401,401,401,', ',,,,401,401,401,401,401,401,401,,,401,,,,,,,401,,,401,401,401,401,401', '401,401,401,,401,401,401,,401,401,,401,401,401,,,,,,,,,,,,,,,,,,,,401', ',,401,,,401,401,,,401,,,,,,401,,,,,,,,401,,,,,401,401,401,401,401,401', ',,,401,401,707,707,707,,707,,,401,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,396,396,396,,396,,,707,396,396,,,,396,,396,396', '396,396,396,396,396,,,,,,396,396,396,396,396,396,396,,,396,,,,,,,396', ',,396,396,396,396,396,396,396,396,,396,396,396,,396,396,,396,396,396', ',,,,,,,,,,,,,,,,,,,396,,,396,,,396,396,,,396,,,,,,396,,,,,,,,396,,,', ',396,396,396,396,396,396,,,,396,396,394,394,394,,394,,,396,394,394,', ',,394,,394,394,394,394,394,394,394,,,,,,394,394,394,394,394,394,394', ',,394,,,,,,,394,,,394,394,394,394,394,394,394,394,,394,394,394,,394', '394,,394,394,394,,,,,,,,,,,,,,,,,,,,394,,,394,,,394,394,,,394,,,,,,394', ',,,,,,,394,,,,,394,394,394,394,394,394,,,,394,394,393,393,393,,393,', ',394,393,393,,,,393,,393,393,393,393,393,393,393,,,,,,393,393,393,393', '393,393,393,,,393,,,,,,,393,,,393,393,393,393,393,393,393,393,,393,393', '393,,393,393,,393,393,393,,,,,,,,,,,,,,,,,,,,393,,,393,,,393,393,,,393', ',,,,,393,,,,,,,,393,,,,,393,393,393,393,393,393,,,,393,393,680,680,680', ',680,,,393,680,680,,,,680,,680,680,680,680,680,680,680,,,,,,680,680', '680,680,680,680,680,,,680,,,,,,,680,,,680,680,680,680,680,680,680,680', ',680,680,680,,680,680,,,,680,,,,,,,,,,,,,,,,,,,,680,,,680,,,680,680', ',,680,,,,,,,,,,,,,,,,,,,680,680,680,680,680,680,,,,680,680,706,706,706', ',706,,,680,706,706,,,,706,,706,706,706,706,706,706,706,,,,,,706,706', '706,706,706,706,706,,,706,,,,,,,706,,,706,706,706,706,706,706,706,706', ',706,706,706,,706,706,,706,706,706,,,,,,,,,,,,,,,,,,,,706,,,706,,,706', '706,,,706,,,,,,706,,,,,,,,706,,,,,706,706,706,706,706,706,,,,706,706', '384,384,384,,384,,,706,384,384,,,,384,,384,384,384,384,384,384,384,', ',,,,384,384,384,384,384,384,384,,,384,,,,,,,384,,,384,384,384,384,384', '384,384,384,,384,384,384,,384,384,,,,384,,,,,,,,,,,,,,,,,,,,384,,,384', ',,384,384,,,384,,,,,,,,,,,,,,,,,,,384,384,384,384,384,384,,,,384,384', '383,383,383,384,383,,,384,383,383,,,,383,,383,383,383,383,383,383,383', ',,,,,383,383,383,383,383,383,383,,,383,,,,,,,383,,,383,383,383,383,383', '383,383,383,,383,383,383,,383,383,,383,383,383,,,,,,,,,,,,,,,,,,,,383', ',,383,,,383,383,,,383,,383,,,,383,,,,,,,,383,,,,,383,383,383,383,383', '383,,,,383,383,698,698,698,,698,,,383,698,698,,,,698,,698,698,698,698', '698,698,698,,,,,,698,698,698,698,698,698,698,,,698,,,,,,,698,,,698,698', '698,698,698,698,698,698,,698,698,698,,698,698,,698,698,698,,,,,,,,,', ',,,,,,,,,,698,,,698,,,698,698,,,698,,698,,,,698,,,,,,,,698,,,,,698,698', '698,698,698,698,,,,698,698,860,860,860,,860,,,698,860,860,,,,860,,860', '860,860,860,860,860,860,,,,,,860,860,860,860,860,860,860,,,860,,,,,', ',860,,,860,860,860,860,860,860,860,860,,860,860,860,,860,860,,860,860', '860,,,,,,,,,,,,,,,,,,,,860,,,860,,,860,860,,,860,,,,,,860,,,,,,,,860', ',,,,860,860,860,860,860,860,,,,860,860,376,376,376,376,376,,,860,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,5,5,5', ',5,,,376,5,5,,,,5,,5,5,5,5,5,5,5,,,,,,5,5,5,5,5,5,5,,,5,,,,,,,5,,,5', '5,5,5,5,5,5,5,,5,5,5,,5,5,,,,5,,,,,,,,,,,,,,,,,,,,5,,,5,,,5,5,,,5,,5', ',,,,,,,,,,,,,,,,5,5,5,5,5,5,,,,5,5,374,374,374,374,374,,,5,374,374,', ',,374,,374,374,374,374,374,374,374,,,,,,374,374,374,374,374,374,374', ',,374,,,,,,374,374,,374,374,374,374,374,374,374,374,374,,374,374,374', ',374,374,,374,374,374,,,,,,,,,,,,,,,,,,,,374,,,374,,,374,374,,,374,', '374,,,,374,,,,,,,,374,,,,,374,374,374,374,374,374,,,,374,374,373,373', '373,,373,,,374,373,373,,,,373,,373,373,373,373,373,373,373,,,,,,373', '373,373,373,373,373,373,,,373,,,,,,,373,,,373,373,373,373,373,373,373', '373,,373,373,373,,373,373,,373,373,373,,,,,,,,,,,,,,,,,,,,373,,,373', ',,373,373,,,373,,,,,,373,,,,,,,,373,,,,,373,373,373,373,373,373,,,,373', '373,880,880,880,,880,,,373,880,880,,,,880,,880,880,880,880,880,880,880', ',,,,,880,880,880,880,880,880,880,,,880,,,,,,,880,,,880,880,880,880,880', '880,880,880,,880,880,880,,880,880,,,,880,,,,,,,,,,,,,,,,,,,,880,,,880', ',,880,880,,,880,,,,,,,,,,,,,,,,,,,880,880,880,880,880,880,,,,880,880', '704,704,704,,704,,,880,704,704,,,,704,,704,704,704,704,704,704,704,', ',,,,704,704,704,704,704,704,704,,,704,,,,,,,704,,,704,704,704,704,704', '704,704,704,,704,704,704,,704,704,,704,704,704,,,,,,,,,,,,,,,,,,,,704', ',,704,,,704,704,,,704,,,,,,704,,,,,,,,704,,,,,704,704,704,704,704,704', ',,,704,704,331,331,331,,331,,,704,331,331,,,,331,,331,331,331,331,331', '331,331,,,,,,331,331,331,331,331,331,331,,,331,,,,,,,331,,,331,331,331', '331,331,331,331,331,,331,331,331,,331,331,,331,331,331,,,,,,,,,,,,,', ',,,,,,331,,,331,,,331,331,,,331,,331,,,,331,,,,,,,,331,,,,,331,331,331', '331,331,331,,,,331,331,372,372,372,,372,,,331,372,372,,,,372,,372,372', '372,372,372,372,372,,,,,,372,372,372,372,372,372,372,,,372,,,,,,,372', ',,372,372,372,372,372,372,372,372,,372,372,372,,372,372,,372,372,372', ',,,,,,,,,,,,,,,,,,,372,,,372,,,372,372,,,372,,,,,,372,,,,,,,,372,,,', ',372,372,372,372,372,372,,,,372,372,336,336,336,,336,,,372,336,336,', ',,336,,336,336,336,336,336,336,336,,,,,,336,336,336,336,336,336,336', ',,336,,,,,,,336,,,336,336,336,336,336,336,336,336,,336,336,336,,336', '336,,336,336,336,,,,,,,,,,,,,,,,,,,,336,,,336,336,,336,336,,,336,,,', ',,336,,,,,,,,336,,,,,336,336,336,336,336,336,,,,336,336,371,371,371', ',371,,,336,371,371,,,,371,,371,371,371,371,371,371,371,,,,,,371,371', '371,371,371,371,371,,,371,,,,,,,371,,,371,371,371,371,371,371,371,371', ',371,371,371,,371,371,,371,371,371,,,,,,,,,,,,,,,,,,,,371,,,371,,,371', '371,,,371,,,,,,371,,,,,,,,371,,,,,371,371,371,371,371,371,,,,371,371', '339,339,339,339,339,,,371,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,344,344,344,,344,339,,339,344,344,,,,344', ',344,344,344,344,344,344,344,,,,,,344,344,344,344,344,344,344,,,344', ',,,,,,344,,,344,344,344,344,344,344,344,344,,344,344,344,,344,344,,344', '344,344,,,,,,,,,,,,,,,,,,,,344,,,344,,,344,344,,,344,,,,,,344,,,,,,', ',344,,,,,344,344,344,344,344,344,,,,344,344,370,370,370,,370,,,344,370', '370,,,,370,,370,370,370,370,370,370,370,,,,,,370,370,370,370,370,370', '370,,,370,,,,,,,370,,,370,370,370,370,370,370,370,370,,370,370,370,', '370,370,,370,370,370,,,,,,,,,,,,,,,,,,,,370,,,370,,,370,370,,,370,,', ',,,370,,,,,,,,370,,,,,370,370,370,370,370,370,,,,370,370,368,368,368', ',368,,,370,368,368,,,,368,,368,368,368,368,368,368,368,,,,,,368,368', '368,368,368,368,368,,,368,,,,,,,368,,,368,368,368,368,368,368,368,368', '368,368,368,368,,368,368,,368,368,368,,,,,,,,,,,,,,,,,,,,368,,,368,', ',368,368,,,368,,368,,368,,368,,,,,,,,368,,,,,368,368,368,368,368,368', ',,,368,368,347,347,347,,347,,,368,347,347,,,,347,,347,347,347,347,347', '347,347,,,,,,347,347,347,347,347,347,347,,,347,,,,,,,347,,,347,347,347', '347,347,347,347,347,347,347,347,347,,347,347,,347,347,347,,,,,,,,,,', ',,,,,,,,,347,,,347,,,347,347,,,347,,347,,347,,347,,,,,,,,347,,,,,347', '347,347,347,347,347,,,,347,347,366,366,366,,366,,,347,366,366,,,,366', ',366,366,366,366,366,366,366,,,,,,366,366,366,366,366,366,366,,,366', ',,,,,,366,,,366,366,366,366,366,366,366,366,,366,366,366,,366,366,,366', '366,366,,,,,,,,,,,,,,,,,,,,366,,,366,,,366,366,,,366,,,,,,366,,,,,,', ',366,,,,,366,366,366,366,366,366,,,,366,366,701,701,701,,701,,,366,701', '701,,,,701,,701,701,701,701,701,701,701,,,,,,701,701,701,701,701,701', '701,,,701,,,,,,,701,,,701,701,701,701,701,701,701,701,,701,701,701,', '701,701,,701,701,701,,,,,,,,,,,,,,,,,,,,701,,,701,,,701,701,,,701,,701', ',,,701,,,,,,,,701,,,,,701,701,701,701,701,701,,,,701,701,869,869,869', ',869,,,701,869,869,,,,869,,869,869,869,869,869,869,869,,,,,,869,869', '869,869,869,869,869,,,869,,,,,,,869,,,869,869,869,869,869,869,869,869', ',869,869,869,,869,869,,,,869,,,,,,,,,,,,,,,,,,,,869,,,869,,,869,869', ',,869,,,,,,,,,,,,,,,,,,,869,869,869,869,869,869,,,,869,869,363,363,363', ',363,,,869,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,,,,,,,,363,,,,,363,363,363,363,363,363', ',,,363,363,363,621,621,621,,621,,363,,621,621,,,,621,,621,621,621,621', '621,621,621,,,,,,621,621,621,621,621,621,621,,,621,,,,,592,,621,,,621', '621,621,621,621,621,621,621,,621,621,621,,621,621,,621,621,621,592,592', '592,592,592,592,592,592,592,592,592,,592,592,,,592,592,,621,,,621,,', '621,621,,,621,,,592,,592,621,592,592,592,592,592,592,592,621,592,,,', '621,621,621,621,621,621,,,,621,621,,592,,592,,,,621,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,', '44,44,44,44,44,44,44,44,44,44,44,,,44,44,,,,,,,,,,44,36,36,36,36,36', '36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,,,,36,36,36', '36,36,36,36,36,36,36,,,,,,36,36,36,36,36,36,36,36,36,,,36,,,,,,,,,36', '36,,36,36,36,36,36,36,36,,,36,36,,,,36,36,36,36,,,,,,,,,,,,,,36,36,', '36,36,36,36,36,36,36,36,36,36,36,,,36,36,,,,,,,,,,36,695,695,695,695', '695,695,695,695,695,695,695,695,695,695,695,695,695,695,695,695,695', '695,695,695,,,,695,695,695,695,695,695,695,695,695,695,,,,,,695,695', '695,695,695,695,695,695,695,,,695,,,,,,,,,695,695,,695,695,695,695,695', '695,695,,,695,695,,,,695,695,695,695,,,,,,,,,,,,,,695,695,,695,695,695', '695,695,695,695,695,695,695,695,,,695,695,,,,,,,,,,695,535,535,535,535', '535,535,535,535,535,535,535,535,535,535,535,535,535,535,535,535,535', '535,535,535,,,,535,535,535,535,535,535,535,535,535,535,,,,,,535,535', '535,535,535,535,535,535,535,,,535,,,,,,,,,535,535,,535,535,535,535,535', '535,535,,,535,535,,,,535,535,535,535,,,,,,,,,,,,,,535,535,,535,535,535', '535,535,535,535,535,535,535,535,,,535,535,,,,,,,,,,535,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,32,32,,,,,,32,,,,,', ',,32,32,,32,32,32,32,32,32,32,32,32,32,32,,,32,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,688,688,688,688,688,688,688,688', '688,688,688,688,688,688,688,688,688,688,688,688,688,688,688,688,,,,688', '688,688,688,688,688,688,688,688,688,,,,,,688,688,688,688,688,688,688', '688,688,,,688,,,,,,,,,688,688,,688,688,688,688,688,688,688,,,688,688', ',,,688,688,688,688,,,,,,,655,,,,,,,688,688,,688,688,688,688,688,688', '688,688,688,688,688,,,688,655,655,655,655,655,655,655,655,655,655,655', ',655,655,,,655,655,,,,,,,,,,,,,,,655,,655,,655,655,655,655,655,655,655', ',655,483,483,,,483,,,,,,,,,483,483,655,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,405,405,483,,405,,,,,,,,,405,405,,405,405', '405,405,405,405,405,,,405,405,,,,405,405,405,405,,,,,,405,,,,,,,,405', '405,,405,405,405,405,405,405,405,405,405,405,405,956,956,405,,956,,', ',,,,,,956,956,,956,956,956,956,956,956,956,,,956,956,,,,956,956,956', '956,,,,,,956,,,,,,,,956,956,,956,956,956,956,956,956,956,956,956,956', '956,300,300,956,,300,,,,,,,,,300,300,,300,300,300,300,300,300,300,,', '300,300,,,,300,300,300,300,,,,,,,,,,,,,,300,300,,300,300,300,300,300', '300,300,300,300,300,300,403,403,300,,403,,,,,,,,,403,403,,403,403,403', '403,403,403,403,,,403,403,,,,403,403,403,403,,,,,,403,,,,,,,,403,403', ',403,403,403,403,403,403,403,403,403,403,403,668,668,403,,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,668,668', '670,670,668,,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,482,482,670,,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,502,502,482,,502,,,,,,', ',,502,502,,502,502,502,502,502,502,502,,,502,502,,,,502,502,502,502', ',,,,,502,,,,,,,,502,502,,502,502,502,502,502,502,502,502,502,502,502', '470,470,502,,470,,,,,,,,,470,470,,470,470,470,470,470,470,470,,,470', '470,,,,470,470,470,470,,,,,,470,,,,,,,,470,470,,470,470,470,470,470', '470,470,470,470,470,470,348,348,470,,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,468,468,348,,468,,,,,,', ',,468,468,,468,468,468,468,468,468,468,,,468,468,,,,468,468,468,468', ',,,,,468,,,,,,,,468,468,,468,468,468,468,468,468,468,468,468,468,468', '954,954,468,,954,,,,,,,,,954,954,,954,954,954,954,954,954,954,,,954', '954,,,,954,954,954,954,,,,,,954,,,,,,,,954,954,,954,954,954,954,954', '954,954,954,954,954,954,950,950,954,,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,500,500,950,,500,,,,,,', ',,500,500,,500,500,500,500,500,500,500,,,500,500,,,,500,500,500,500', ',,,,,500,,,,,,,,500,500,,500,500,500,500,500,500,500,500,500,500,500', '299,299,500,,299,,,,,,,,,299,299,,299,299,299,299,299,299,299,,,299', '299,,,,299,299,299,299,,,,,,,,,,,,,,299,299,,299,299,299,299,299,299', '299,299,299,299,299,346,346,299,,346,,,,,,,,,346,346,,346,346,346,346', '346,346,346,,,346,346,,,,346,346,346,346,,,,,,346,,,,,,,,346,346,,346', '346,346,346,346,346,346,346,346,346,346,,,346,849,849,849,849,849,849', '849,849,849,849,849,,849,849,,,849,849,,,,,,,,,,,,,,,849,,849,,849,849', '849,849,849,849,849,,849,423,423,423,423,423,423,423,423,423,423,423', ',423,423,,849,423,423,,,,,,,,,,,,,,,423,,423,,423,423,423,423,423,423', '423,,423,821,821,821,821,821,821,821,821,821,821,821,,821,821,423,423', '821,821,,,,,,,,,,,,,,,821,,821,,821,821,821,821,821,821,821,,821,823', '823,823,823,823,823,823,823,823,823,823,,823,823,,821,823,823,,,,,,', ',,,,,,,,823,,823,,823,823,823,823,823,823,823,,823,819,819,819,819,819', '819,819,819,819,819,819,,819,819,,823,819,819,,,,,,,,,,,,,,,819,,819', ',819,819,819,819,819,819,819,,819,829,829,829,829,829,829,829,829,829', '829,829,,829,829,,819,829,829,,,,,,,,,,,,,,,829,,829,,829,829,829,829', '829,829,829,,829,6,6,6,6,6,6,6,6,6,6,6,,6,6,,829,6,6,,,,,,,,,,,,,,,6', ',6,,6,6,6,6,6,6,6,,6,831,831,831,831,831,831,831,831,831,831,831,,831', '831,,6,831,831,,,,,,,,,,,,,,,831,,831,,831,831,831,831,831,831,831,', '831,578,578,578,578,578,578,578,578,578,578,578,,578,578,,831,578,578', ',,,,,,,,,,,,,,578,,578,,578,578,578,578,578,578,578,,578,539,539,539', '539,539,539,539,539,539,539,539,,539,539,,578,539,539,,,,,,,,,,,,,,', '539,,539,,539,539,539,539,539,539,539,,539,841,841,841,841,841,841,841', '841,841,841,841,,841,841,,539,841,841,,,,,,,,,,,,,,,841,,841,,841,841', '841,841,841,841,841,,841,257,257,257,257,257,257,257,257,257,257,257', ',257,257,,841,257,257,,,,,,,,,,,,,,,257,,257,,257,257,257,257,257,257', '257,,257,887,887,887,887,887,887,887,887,887,887,887,,887,887,,257,887', '887,,,,,,,,,,,,,,,887,,887,,887,887,887,887,887,887,887,,887,723,723', '723,723,723,723,723,723,723,723,723,,723,723,,887,723,723,,,,,,,,,,', ',,,,723,,723,,723,723,723,723,723,723,723,,723,,,,,,,,,,,,,,,,723' ] racc_action_check = arr = ::Array.new(23644, 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, 122, 4664, 1379, nil, 18711, 23201, 65, 428, 5206, nil, 21685, 16975, 16851, 1350, 419, 16107, nil, nil, 15115, nil, nil, 1293, nil, nil, nil, 14495, 402, nil, nil, nil, nil, 21572, nil, nil, 1244, 21200, nil, nil, 1242, nil, nil, nil, 1236, 21076, nil, 12100, nil, nil, 8383, 1233, 29, nil, 7887, 378, nil, 1270, nil, nil, nil, 679, 1244, 89, nil, nil, 6647, 1297, 5653, 266, nil, nil, nil, 5399, 514, nil, 56, 5036, nil, 438, 5274, nil, nil, 0, 720, 4414, 1214, nil, 900, nil, nil, 6025, 6149, 6275, nil, nil, 6399, 757, 1203, 130, nil, 6895, nil, nil, nil, 1241, 166, nil, 152, nil, nil, 1204, 518, 798, 1274, nil, 0, 1227, nil, 161, 1223, nil, 1281, 8507, 8631, 8755, 8879, 9003, 9127, 9251, 9375, 9499, 9623, 9747, 9871, 9995, 10119, 10243, 10367, 10491, 10615, 10739, 10863, 10987, 11111, 11235, 11359, 11483, 11607, 11731, nil, 11856, nil, nil, nil, nil, nil, nil, 774, 62, nil, nil, nil, 1173, 1341, 1247, nil, 1245, 1156, nil, 1143, nil, nil, nil, nil, 1148, 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, 260, 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, 23426, 54, nil, nil, 239, 13503, 13627, 1186, 600, nil, 1204, nil, 261, 1129, 2039, 1119, 1120, 1160, 14867, 14991, 1132, 1038, nil, 1156, 379, nil, nil, nil, nil, 360, nil, nil, 15735, 407, 15983, 230, 357, 1068, 1187, 480, 16727, 1109, 22822, 22090, nil, 295, nil, nil, 481, nil, nil, 456, 547, 220, 328, 226, nil, 345, 417, 322, 355, nil, 352, 1104, nil, 1095, nil, nil, nil, nil, nil, 40, 1097, 3539, 19331, nil, 798, nil, nil, 19579, nil, 1143, 19827, nil, nil, nil, nil, 19951, 1094, 22883, 20323, 22517, 4039, 1113, 1111, 51, 887, 398, nil, 1080, 7515, nil, nil, 1086, nil, nil, 20819, nil, 34, 20447, nil, 20199, nil, 20075, 19703, 19455, 18959, 18835, 674, 18587, nil, 1036, 1029, 980, 2289, 1057, 18215, 18091, 3664, 1016, 693, 1124, 999, nil, nil, 655, 17719, 17595, nil, 17471, nil, 1033, 534, 517, 17223, 1036, 22151, 17099, 21968, nil, nil, 124, nil, 2164, 1053, 4039, 1050, 2289, 3914, 2539, 2664, 2789, 2914, 1044, 3039, 1020, 22976, 826, 3289, 566, 465, 3164, 440, 2039, 2414, 3664, 3414, 3539, 3789, nil, 250, 995, nil, 952, 604, nil, nil, nil, 939, 446, 1414, nil, 1539, nil, 1966, 932, nil, nil, nil, 1436, 15859, nil, 1591, nil, nil, nil, nil, nil, nil, nil, 4788, 22578, 15487, 22456, 273, 15363, nil, 15239, nil, 14247, 14123, nil, 13999, nil, nil, 22334, 21907, nil, nil, 13875, 204, nil, nil, 13751, nil, 55, 557, 521, nil, 354, 325, nil, nil, 22761, 13379, 22395, 997, nil, 931, 13255, nil, nil, nil, nil, 13138, 13082, nil, nil, nil, nil, nil, 11902, 12720, 188, nil, nil, nil, nil, nil, 910, nil, 1026, 982, 12348, nil, 852, nil, 837, 21448, nil, nil, nil, 23336, 12224, nil, nil, 6149, nil, 2914, 255, 426, nil, 11970, 825, nil, nil, 820, 816, 385, nil, 260, 770, 1030, nil, 799, 772, 7143, 7019, nil, 4164, 868, 5777, nil, nil, nil, 322, 197, nil, 744, nil, 4539, 23291, nil, 742, nil, nil, nil, nil, nil, 4912, nil, 1192, 737, 710, nil, 20944, nil, nil, 695, nil, nil, 5529, 686, 677, nil, 764, nil, 741, 614, nil, nil, 186, nil, nil, 7391, nil, 114, 99, 90, 648, 610, 187, 159, 642, 20944, 578, nil, nil, 644, 538, nil, 763, 502, 507, 601, nil, 477, nil, 471, nil, 465, 1150, 431, nil, nil, 309, 275, 2539, 1031, 135, 235, 262, 640, 510, nil, 14371, 246, 237, 21846, nil, nil, nil, nil, nil, nil, 573, 693, 503, nil, nil, nil, 22212, 16231, 22273, 1066, nil, nil, 1289, 97, 58, 104, 714, 324, 17843, 91, nil, nil, nil, nil, nil, nil, 21798, 1466, 414, 2164, 158, nil, nil, 21324, nil, nil, 18339, 145, 925, 20571, nil, 226, 19207, 79, 17967, 17347, 147, nil, 187, 342, 14743, 12968, 12844, 12472, 381, nil, nil, 464, 475, 892, nil, 23516, 302, nil, nil, nil, 588, nil, 1149, 427, 8259, 8011, 521, 7763, nil, 666, 7639, nil, nil, nil, nil, nil, 574, nil, 192, 121, 6771, nil, 392, nil, 647, 1023, nil, nil, nil, 701, nil, 734, nil, nil, nil, 693, nil, nil, 864, nil, nil, 961, 749, nil, nil, nil, nil, nil, 15611, 5160, 270, 6523, 7267, nil, nil, 3914, 763, nil, 774, 781, 791, nil, 800, 829, 595, nil, 3289, 8135, 836, 908, nil, 229, 978, 268, nil, nil, 866, nil, 987, nil, nil, 912, nil, nil, 881, nil, 2789, 1028, 12596, 924, nil, 23111, nil, 23021, nil, 23066, nil, nil, nil, 16355, 950, 23156, nil, 23246, nil, nil, 16603, 1087, nil, nil, 1164, 2664, 1110, 23381, 993, nil, 163, 3789, nil, 4289, nil, 22931, 893, 1018, 901, 1020, 1021, 1023, 1025, 906, 1034, nil, 18463, 1163, 1064, nil, 1716, nil, 1841, nil, 1311, 20695, nil, nil, 1191, 695, nil, nil, 5363, nil, nil, nil, 19083, 120, nil, nil, 3414, nil, 1107, 23471, nil, 16479, 48, nil, 1664, 1133, 1238, nil, 1789, 14619, 1242, 1243, 1914, 1126, 633, nil, nil, nil, 833, nil, nil, nil, nil, 1132, 1134, nil, 1135, 1141, 1143, 947, 1221, 2414, nil, nil, 0, 939, 817, 356, 1246, 611, nil, 3039, nil, 3164, 1203, nil, nil, 164, nil, nil, nil, 1316, 1197, 1199, nil, 994, nil, 1561, nil, nil, 1186, nil, 22700, nil, 1326, 1336, 22639, 5901, 22029, 687, 1351, 878, nil, nil, nil, nil, nil, nil, 1231, 1232, 1234, 1238, 1279, 1280, nil, nil, 149, 140, 1247, 974, 152, nil, nil, nil, nil, 1214, nil, nil, 124, 1251, nil ] racc_action_default = [ -1, -578, -577, -578, -483, -578, -49, -566, -491, -517, -495, -577, -327, -577, -51, -492, -578, -496, -577, -328, -52, -270, -312, -577, -329, -319, -82, -53, -271, -475, -577, -330, -578, -272, -476, -577, -578, -273, -29, -577, -2, -274, -279, -578, -578, -433, -578, -275, -44, -578, -566, -436, -434, -578, -564, -276, -578, -9, -437, -435, -578, -578, -578, -489, -440, -578, -578, -288, -258, -4, -488, -469, -258, -239, -5, -296, -578, -490, -277, -258, -70, -485, -552, -8, -577, -578, -484, -554, -486, -481, -74, -564, -578, -487, -480, -578, -41, -578, -553, -301, -577, -84, -304, 989, -578, -491, -327, -492, -328, -353, -566, -578, -578, -578, -288, -404, -291, -331, -277, -412, -352, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -566, -567, -578, -534, -526, -522, -518, -539, -532, -578, -578, -298, -538, -521, -542, -517, -537, -395, -578, -542, -516, -523, -524, -520, -535, -519, -542, -473, -131, -173, -178, -153, -468, -162, -132, -176, -164, -143, -175, -180, -470, -165, -182, -142, -188, -116, -151, -174, -117, -161, -152, -167, -127, -159, -149, -181, -138, -148, -166, -150, -171, -139, -145, -157, -170, -144, -158, -455, -191, -183, -140, -154, -146, -578, -192, -190, -141, -155, -128, -186, -185, -135, -156, -129, -184, -133, -113, -130, -169, -125, -115, -137, -168, -177, -472, -187, -134, -163, -147, -471, -189, -136, -172, -126, -193, -160, -114, -194, -179, -240, -491, -257, -253, -492, -578, -578, -578, -578, -548, -578, -68, -277, -577, -577, -578, -577, -263, -578, -578, -578, -578, -546, -578, -570, -401, -398, -7, -453, -578, -69, -315, -578, -578, -578, -90, -91, -578, -578, -98, -578, -80, -578, -578, -457, -578, -491, -492, -578, -322, -543, -154, -155, -156, -184, -113, -544, -177, -187, -172, -114, -445, -578, -578, -122, -22, -118, -120, -119, -121, -451, -578, -578, -577, -578, -17, -578, -216, -232, -578, -438, -217, -565, -574, -575, -573, -3, -578, -578, -578, -577, -578, -577, -477, -478, -578, -50, -285, -67, -59, -578, -414, -417, -578, -295, -66, -566, -297, -578, -578, -65, -577, -411, -578, -578, -578, -578, -578, -564, -578, -13, -72, -566, -14, -577, -578, -578, -78, -577, -75, -564, -578, -565, -231, -48, -281, -578, -578, -86, -578, -241, -578, -570, -570, -578, -578, -578, -577, -578, -477, -478, -285, -309, -230, -210, -219, -213, -221, -220, -206, -226, -207, -227, -212, -228, -211, -566, -233, -223, -208, -234, -225, -209, -235, -224, -236, -222, -229, -218, -294, -566, -578, -47, -358, -578, -523, -356, -354, -566, -365, -577, -393, -577, -509, -578, -577, -536, -540, -514, -578, -578, -512, -578, -462, -460, -474, -456, -459, -264, -260, -578, -578, -577, -578, -285, -578, -262, -578, -254, -578, -578, -255, -578, -551, -287, -578, -578, -571, -547, -572, -577, -439, -454, -578, -111, -578, -578, -578, -277, -108, -109, -441, -320, -578, -577, -578, -97, -88, -83, -578, -556, -555, -558, -557, -258, -258, -458, -442, -324, -562, -563, -517, -578, -578, -444, -447, -443, -123, -450, -578, -449, -578, -425, -578, -30, -578, -40, -39, -578, -21, -20, -19, -237, -578, -6, -576, -197, -31, -577, -556, -555, -409, -258, -566, -248, -249, -577, -577, -556, -408, -555, -558, -557, -410, -258, -578, -578, -578, -344, -577, -343, -578, -60, -56, -259, -577, -577, -405, -566, -290, -577, -205, -37, -566, -23, -24, -25, -26, -27, -565, -12, -16, -71, -566, -283, -195, -43, -42, -578, -38, -263, -578, -76, -566, -87, -578, -420, -578, -566, -45, -46, -578, -286, -242, -572, -244, -578, -556, -555, -577, -566, -284, -559, -578, -578, -578, -293, -568, -578, -566, -525, -578, -363, -578, -578, -527, -542, -541, -542, -387, -566, -578, -542, -528, -533, -542, -542, -577, -578, -556, -555, -566, -556, -555, -261, -578, -577, -265, -195, -549, -550, -382, -399, -383, -385, -577, -316, -578, -313, -498, -497, -578, -577, -578, -109, -110, -108, -577, -556, -555, -566, -96, -94, -578, -81, -246, -54, -247, -402, -55, -403, -578, -517, -578, -577, -566, -448, -446, -578, -452, -280, -577, -577, -269, -578, -18, -566, -578, -578, -578, -578, -61, -406, -578, -413, -250, -252, -578, -578, -63, -407, -28, -214, -215, -577, -345, -204, -577, -415, -418, -289, -577, -245, -15, -73, -578, -578, -79, -578, -85, -578, -578, -308, -282, -347, -302, -346, -570, -305, -413, -578, -578, -357, -361, -355, -366, -578, -396, -397, -507, -578, -505, -578, -394, -392, -391, -388, -389, -515, -578, -513, -510, -578, -578, -466, -461, -464, -467, -465, -578, -578, -413, -578, -578, -266, -256, -577, -577, -530, -542, -542, -542, -381, -523, -578, -578, -500, -577, -578, -566, -109, -112, -108, -578, -92, -89, -325, -566, -502, -578, -545, -124, -577, -428, -427, -426, -350, -577, -577, -578, -267, -292, -198, -10, -201, -34, -200, -33, -62, -569, -578, -577, -203, -35, -202, -36, -64, -578, -578, -348, -57, -577, -577, -578, -196, -77, -307, -578, -577, -243, -577, -310, -238, -578, -359, -578, -364, -542, -542, -542, -578, -542, -463, -578, -578, -578, -374, -372, -377, -578, -379, -578, -578, -384, -317, -578, -578, -413, -321, -517, -501, -323, -430, -578, -578, -351, -432, -577, -11, -268, -199, -32, -251, -578, -299, -577, -578, -578, -300, -577, -578, -578, -578, -577, -362, -578, -508, -506, -503, -578, -390, -511, -400, -386, -542, -542, -531, -542, -542, -542, -529, -578, -577, -314, -499, -577, -99, -100, -578, -578, -107, -429, -577, -431, -577, -578, -416, -419, -577, -265, -303, -306, -578, -360, -542, -369, -578, -371, -578, -378, -375, -578, -380, -578, -285, -578, -578, -578, -577, -578, -106, -425, -577, -58, -421, -423, -422, -311, -504, -542, -542, -542, -542, -284, -559, -318, -326, -556, -555, -566, -105, -559, -424, -349, -370, -367, -578, -373, -376, -413, -542, -368 ] clist = [ '150,69,117,193,168,165,40,604,260,391,215,188,279,321,478,260,533,285', '699,528,550,332,215,117,193,505,273,281,193,301,386,298,306,273,318', '485,193,632,327,284,325,580,326,336,637,511,512,436,325,369,326,270', '651,341,566,651,815,280,270,711,656,691,60,260,339,111,641,577,596,656', '593,379,265,268,445,835,60,617,659,265,287,273,749,764,761,840,294,117', '569,369,341,378,549,742,561,787,221,672,745,397,489,913,492,402,499', '752,270,881,290,685,687,605,639,396,400,642,513,444,845,401,847,83,621', '900,289,265,746,265,355,794,490,792,919,522,291,83,265,674,343,399,518', '688,648,876,60,515,305,695,892,616,294,265,265,610,612,265,784,778,168', '452,724,398,535,725,726,109,322,885,763,665,121,158,448,356,677,388', '364,362,913,282,487,783,572,838,367,573,801,839,961,738,809,330,337', '286,307,302,319,520,277,328,772,645,644,180,795,635,345,2,265,352,265', '159,519,1,549,,561,,,,365,737,,,,,,,616,,853,,848,,681,387,,504,,,,', ',,,,616,,531,,,,,,791,,,,,,,544,576,,,,,,,473,,,473,798,,,,,589,,,,', '579,,,117,,117,,651,651,963,,117,478,656,911,,,594,,907,761,,874,465', '466,,749,,,,980,,837,548,,786,,480,,,,,,734,901,,,574,60,,,693,,623', ',,,558,,796,260,627,,551,,633,493,,493,632,260,,,643,294,626,260,,,541', '800,260,,641,551,590,,532,273,600,548,341,534,862,273,,940,806,117,', '811,,586,341,,378,599,60,265,378,,782,,270,558,,60,260,444,270,551,265', ',629,265,,60,,,,854,616,855,622,265,571,922,593,,532,265,575,858,265', '597,265,,265,265,265,265,60,,60,,548,,825,60,,265,294,60,504,979,833', ',632,636,548,265,265,,265,,83,587,,265,558,842,265,260,,651,551,,548', '602,656,,727,558,,,,729,,684,684,872,,986,658,,653,731,,667,,585,558', '588,,260,846,736,551,640,,117,740,,,60,,60,682,682,702,168,581,582,583', '584,654,684,,280,914,657,916,751,,193,,265,280,717,,,,,760,,504,325', '608,326,,710,69,613,896,,682,705,265,,473,473,962,,,,,788,,265,941,', ',,294,,,782,,658,658,,700,450,,,,265,455,,,929,,444,684,458,444,,717', '807,931,,,117,,,,966,265,968,818,,969,60,,743,952,,710,953,743,,,682', '683,686,,,802,,,822,824,744,60,,976,,,830,832,,,,,60,548,987,,710,,', ',,60,,,,594,,473,,708,654,856,789,294,68,,636,558,793,83,260,716,,551', '68,710,,808,68,,504,68,117,,,193,265,,,168,804,,193,803,805,,,,,,,781', '810,813,325,616,326,,877,60,730,,,,,851,,,444,,,,,,,813,,68,658,68,', '828,813,,265,,,117,68,60,,,532,,,294,68,812,,888,817,743,,68,68,,60', '68,,,,654,280,,,,912,,915,,747,265,265,,,,,,,265,265,,844,,,,,597,636', ',,,,,710,,871,,265,,294,,,,,,,,,,68,353,68,879,,444,,444,,883,,,353', ',,,,,,,,,473,,,,,353,,,,392,,,,967,,,60,,,,,,,,,,,60,265,,,,,886,,444', ',,,117,,,,,168,921,,60,,,117,,,,,,,,,,265,,437,,439,,,265,,,,60,60,', ',,,,60,,60,,,,,,,,,,,,,,,,,548,,,,68,917,,,,280,813,,,,,873,925,936', '558,,60,,,,558,,,260,60,,551,,60,,813,,60,257,257,,,,,,257,710,,,,,', ',,,890,60,,,60,,,,,68,68,60,,60,,,,334,68,,335,,,68,338,,68,,68,,,,', ',,,68,265,257,,,,68,,,68,,68,,68,68,68,68,68,,68,,,,,68,,68,390,68,', ',,756,,758,257,68,68,765,68,,767,768,,68,,,68,,,,,,,,,,410,411,412,413', '414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430', '431,432,433,434,435,,,,,,,,68,,68,,,,,353,353,353,353,,,,,,,,,,,,68', ',,,,,,,606,607,,353,,,,,353,,,,,68,,,,,,,,,,,68,,,,,,,,,,,,,,,,,,68', ',,,,,,,,,,,,,,8,,,105,,,68,,863,865,867,68,,,8,,,,,,257,257,,,292,,', ',,,303,,68,390,257,,,,,,663,,,68,,,,,,,,,68,,,,,,,,,,,,,85,,,120,692', ',,,,,,903,904,905,85,908,,8,,,,,68,292,257,703,,,,539,,,,,,,,543,,,257', ',,,,68,,,,,257,,,,,,257,,,578,,257,,,,,,,942,944,68,946,947,949,,68', '592,,,,,,85,,,,,,,,,,68,,,,,257,965,,,,,,,,353,68,68,,,,,,,68,68,,56', ',,,,981,982,984,985,,,,,,56,,68,,,,,,,,,,988,,,,,,257,,,,,,,,,,543,', '257,,,578,,257,,655,257,,257,,,,,,,257,,,,,68,,,,,,,,,,257,68,68,,,', '56,,,,8,,,,,,,,,,,68,,,,,,,303,257,303,,,,68,,292,,,,,68,,,,68,68,,', ',,,68,,68,,,,,,,,719,720,,,,723,,8,,,,,,85,,,8,,,,,,,,353,,8,,,68,,', ',,,,,68,382,,,68,,,,68,,,257,,,8,,8,,,,,8,,,292,8,353,68,,,68,,,,,85', ',68,,68,,,,,85,,,,,,,,257,,85,,,,,,,,,68,,,,,,257,,,,,,,,,,85,,85,,', ',,85,8,595,8,85,,,,56,,,,257,,,257,,,819,,821,823,,,,,257,257,829,831', ',,,,,15,,,107,,,,,,,,841,655,,15,,,257,,,,,,,293,292,,849,,,304,85,56', '85,,,,,,,,56,,,,,,,,,,56,,,,821,823,,829,831,,,,,8,,,382,,,,,,,,,56', ',56,,,,15,56,,8,,56,293,,,,,,,257,8,,,,,,,,,8,887,,,,,,,,,,,292,78,', ',118,,,,,,,,85,,,78,,,,,,,887,,,296,,,562,,,,56,85,56,,,,,,,,,,85,,8', ',,,,257,,85,,,,,,257,382,,,,382,,,,,,,,,,,,8,,,,,,292,78,,,,,,296,,', ',8,,,,,,,,,,,,,,,,,,85,,,,,,257,,,,,,,,,630,,631,,56,,,,,,,292,,,,85', ',,,,,,,,,56,15,,,,,,85,,,,56,,,,,,,,304,56,304,,,,,,293,,,,,,,8,,,,', ',,,,,,8,,,,595,,,,,,,,,,,15,,,,,8,,,,15,,,,,,,,,56,15,,,,,,,,,,8,8,', ',,721,,8,,8,85,,,,,15,728,15,,56,,85,15,,,293,15,,,,78,303,,,,,56,,', ',,85,923,,,,8,,495,,495,,,,8,,296,,8,,,,8,,,85,85,,,,,,85,,85,,,,,,', '8,,770,8,,,,15,78,15,8,,8,,,,,78,,,,,,,,,928,78,,,85,,,,,,,,85,,,,85', ',,,85,56,,,,,78,,78,,,,56,78,,,296,78,,85,293,,85,,,,,,,85,,85,56,,', ',,,,,,,,,,,,,,,,,,,,,56,56,,15,,,,56,,56,,,,,,,,,,,,,,78,15,78,,,,,', ',,,,15,,,,861,,,,,15,,56,,,,,,,,56,,293,,56,,,,56,,,,,,,,882,,,,,,,', ',,,56,296,,56,,,,,,,56,,56,893,894,,,,,,898,15,899,,,,,,,,,,,,,,,,,', '78,,,,,,,,,,,15,,,,,,293,,930,,78,,,,,,932,15,,,935,78,,,939,,,,,,78', ',,,,,,,,,,,296,,,,,,,,,,,958,,959,,,,,,293,,,,,,,,,,,,,,,,,,,,,,,,,', ',78,774,,,,,,,,,,,,,,,,,,,,15,,,,,,,,,78,,15,,,,296,,,,,,,,,,,78,,,', ',15,,,,,,,,,,,,,,,,,,,,,,,,15,15,,,,,,15,,15,,,,,,296,,,,,,,,,,,,,,', ',304,,,,,,,,,,,924,,,,15,,,,,,,,15,,,,15,,,,15,78,,,,,,,,,,,78,,,,,', ',15,,,15,,,,,,,15,,15,78,,,,,,,,,,,,,,,,,,,,,,,,78,78,,,,,,78,,78,,', ',,,,,,,,,,,,,,,,,,,495,,,,,,,,,,,927,,,,78,,,,,,,,78,,,,78,,,,78,,,', ',,,,,,,,,,,,,,,78,,,78,,,,,,,78,,78' ] racc_goto_table = arr = ::Array.new(2718, 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 = [ '33,6,64,58,133,141,2,88,35,22,6,57,6,17,71,35,29,6,13,10,25,17,6,64', '58,52,68,68,58,6,50,51,57,68,6,67,58,171,6,7,61,25,62,33,135,38,38,48', '61,69,62,66,72,91,85,72,14,30,66,26,177,92,24,35,8,24,172,85,29,177', '20,47,24,45,126,86,24,25,41,24,45,68,124,137,138,14,24,64,40,69,91,46', '38,87,38,130,159,55,87,6,163,173,56,33,56,127,66,154,159,70,70,96,129', '97,68,129,163,125,98,99,100,9,101,102,103,24,26,24,45,104,105,106,107', '163,108,9,24,109,5,66,110,111,25,112,24,94,93,63,43,38,24,24,24,67,67', '24,128,26,133,141,42,65,32,41,41,21,18,15,136,90,89,139,140,39,25,5', '82,39,173,142,143,144,147,148,39,149,26,150,151,152,153,95,157,158,80', '160,161,162,81,164,165,166,167,168,169,170,11,3,24,19,24,84,176,1,38', ',38,,,,19,88,,,,,,,38,,127,,87,,52,19,,50,,,,,,,,,38,,22,,,,,,135,,', ',,,,22,48,,,,,,,6,,,6,55,,,,,48,,,,,22,,,64,,64,,72,72,14,,64,71,177', '130,,,22,,137,138,,26,30,30,,124,,,,86,,41,69,,129,,30,,,,,,52,127,', ',69,24,,,163,,48,,,,58,,25,35,48,,6,,131,24,,24,171,35,,,131,24,126', '35,,,7,10,35,,172,6,47,,66,68,47,69,91,30,135,68,,127,10,64,,29,,8,91', ',46,51,24,24,46,,71,,66,58,,24,35,125,66,6,24,,125,24,,24,,,,129,38', '129,33,24,45,92,20,,66,24,45,129,24,30,24,,24,24,24,24,24,,24,,69,,40', '24,,24,24,24,50,13,40,,171,6,69,24,24,,24,,9,5,,24,58,52,24,35,,72,6', ',69,5,177,,48,58,,,,48,,69,69,10,,26,6,,68,48,,91,,9,58,9,,35,67,48', '6,30,,64,48,,,24,,24,6,6,17,133,19,19,19,19,30,69,,30,129,30,129,48', ',58,,24,30,69,,,,,48,,50,61,19,62,,33,6,19,85,,6,2,24,,6,6,88,,,,,131', ',24,129,,,,24,,,71,,6,6,,30,132,,,,24,132,,,85,,125,69,132,125,,69,48', '85,,,64,,,,129,24,129,48,,129,24,,91,10,,33,10,91,,,6,39,39,,,50,,,22', '22,68,24,,25,,,22,22,,,,,24,69,129,,33,,,,,24,,,,22,,6,,39,30,131,133', '24,44,,6,58,91,9,35,39,,6,44,33,,17,44,,50,44,64,,,58,24,,,133,141,', '58,57,91,,,,,,,30,6,6,61,38,62,,48,24,9,,,,,125,,,125,,,,,,,6,,44,6', '44,,68,6,,24,,,64,44,24,,,66,,,24,44,30,,22,30,91,,44,44,,24,44,,,,30', '30,,,,131,,131,,19,24,24,,,,,,,24,24,,66,,,,,30,6,,,,,,33,,91,,24,,24', ',,,,,,,,,44,31,44,6,,125,,125,,6,,,31,,,,,,,,,,6,,,,,31,,,,31,,,,131', ',,24,,,,,,,,,,,24,24,,,,,30,,125,,,,64,,,,,133,91,,24,,,64,,,,,,,,,', '24,,31,,31,,,24,,,,24,24,,,,,,24,,24,,,,,,,,,,,,,,,,,69,,,,44,24,,,', '30,6,,,,,19,24,30,58,,24,,,,58,,,35,24,,6,,24,,6,,24,34,34,,,,,,34,33', ',,,,,,,,19,24,,,24,,,,,44,44,24,,24,,,,34,44,,34,,,44,34,,44,,44,,,', ',,,,44,24,34,,,,44,,,44,,44,,44,44,44,44,44,,44,,,,,44,,44,34,44,,,', '132,,132,34,44,44,132,44,,132,132,,44,,,44,,,,,,,,,,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,,,,,31,31,31,31,,,,,,,,,,,,44,,,,,,,,31,31,,31,,,,,31,,,,,44,,,', ',,,,,,,44,,,,,,,,,,,,,,,,,,44,,,,,,,,,,,,,,,53,,,53,,,44,,132,132,132', '44,,,53,,,,,,34,34,,,53,,,,,,53,,44,34,34,,,,,,31,,,44,,,,,,,,,44,,', ',,,,,,,,,,28,,,28,31,,,,,,,132,132,132,28,132,,53,,,,,44,53,34,31,,', ',34,,,,,,,,34,,,34,,,,,44,,,,,34,,,,,,34,,,34,,34,,,,,,,132,132,44,132', '132,132,,44,34,,,,,,28,,,,,,,,,,44,,,,,34,132,,,,,,,,31,44,44,,,,,,', '44,44,,23,,,,,132,132,132,132,,,,,,23,,44,,,,,,,,,,132,,,,,,34,,,,,', ',,,,34,,34,,,34,,34,,34,34,,34,,,,,,,34,,,,,44,,,,,,,,,,34,44,44,,,', '23,,,,53,,,,,,,,,,,44,,,,,,,53,34,53,,,,44,,53,,,,,44,,,,44,44,,,,,', '44,,44,,,,,,,,34,34,,,,34,,53,,,,,,28,,,53,,,,,,,,31,,53,,,44,,,,,,', ',44,12,,,44,,,,44,,,34,,,53,,53,,,,,53,,,53,53,31,44,,,44,,,,,28,,44', ',44,,,,,28,,,,,,,,34,,28,,,,,,,,,44,,,,,,34,,,,,,,,,,28,,28,,,,,28,53', '28,53,28,,,,23,,,,34,,,34,,,34,,34,34,,,,,34,34,34,34,,,,,,54,,,54,', ',,,,,,34,34,,54,,,34,,,,,,,54,53,,34,,,54,28,23,28,,,,,,,,23,,,,,,,', ',,23,,,,34,34,,34,34,,,,,53,,,12,,,,,,,,,23,,23,,,,54,23,,53,,23,54', ',,,,,,34,53,,,,,,,,,53,34,,,,,,,,,,,53,27,,,27,,,,,,,,28,,,27,,,,,,', '34,,,27,,,12,,,,23,28,23,,,,,,,,,,28,,53,,,,,34,,28,,,,,,34,12,,,,12', ',,,,,,,,,,,53,,,,,,53,27,,,,,,27,,,,53,,,,,,,,,,,,,,,,,,28,,,,,,34,', ',,,,,,,12,,12,,23,,,,,,,53,,,,28,,,,,,,,,,23,54,,,,,,28,,,,23,,,,,,', ',54,23,54,,,,,,54,,,,,,,53,,,,,,,,,,,53,,,,28,,,,,,,,,,,54,,,,,53,,', ',54,,,,,,,,,23,54,,,,,,,,,,53,53,,,,12,,53,,53,28,,,,,54,12,54,,23,', '28,54,,,54,54,,,,27,53,,,,,23,,,,,28,53,,,,53,,27,,27,,,,53,,27,,53', ',,,53,,,28,28,,,,,,28,,28,,,,,,,53,,12,53,,,,54,27,54,53,,53,,,,,27', ',,,,,,,,28,27,,,28,,,,,,,,28,,,,28,,,,28,23,,,,,27,,27,,,,23,27,,,27', '27,,28,54,,28,,,,,,,28,,28,23,,,,,,,,,,,,,,,,,,,,,,,,23,23,,54,,,,23', ',23,,,,,,,,,,,,,,27,54,27,,,,,,,,,,54,,,,12,,,,,54,,23,,,,,,,,23,,54', ',23,,,,23,,,,,,,,12,,,,,,,,,,,23,27,,23,,,,,,,23,,23,12,12,,,,,,12,54', '12,,,,,,,,,,,,,,,,,,27,,,,,,,,,,,54,,,,,,54,,12,,27,,,,,,12,54,,,12', '27,,,12,,,,,,27,,,,,,,,,,,,27,,,,,,,,,,,12,,12,,,,,,54,,,,,,,,,,,,,', ',,,,,,,,,,,,,27,27,,,,,,,,,,,,,,,,,,,,54,,,,,,,,,27,,54,,,,27,,,,,,', ',,,,27,,,,,54,,,,,,,,,,,,,,,,,,,,,,,,54,54,,,,,,54,,54,,,,,,27,,,,,', ',,,,,,,,,,54,,,,,,,,,,,54,,,,54,,,,,,,,54,,,,54,,,,54,27,,,,,,,,,,,27', ',,,,,,54,,,54,,,,,,,54,,54,27,,,,,,,,,,,,,,,,,,,,,,,,27,27,,,,,,27,', '27,,,,,,,,,,,,,,,,,,,,,,27,,,,,,,,,,,27,,,,27,,,,,,,,27,,,,27,,,,27', ',,,,,,,,,,,,,,,,,,27,,,27,,,,,,,27,,27' ] racc_goto_check = arr = ::Array.new(2718, 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, 213, 4, 207, nil, 84, -1, 23, 10, 119, -311, 149, 1466, -511, -643, -648, nil, -23, 130, 144, -313, 160, -83, 1372, 60, -327, -491, 1786, 1254, -315, 44, 741, -170, -7, 949, -4, nil, nil, -254, 105, -268, -409, -410, -689, 657, 61, 7, -13, -101, nil, -60, 5, -272, 1189, 1668, -397, -187, 0, -8, nil, nil, 4, 6, -377, -3, 61, 39, -246, 14, -30, -402, -259, -422, nil, nil, nil, nil, nil, nil, nil, 162, 185, 101, nil, 202, -298, -646, -515, -381, 165, -323, -1, -457, 114, -160, 149, -281, 14, -624, 17, -625, -287, -725, 102, -536, -158, -532, -739, 109, -362, -166, -374, -660, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, -543, -40, -83, -523, -506, -344, -567, -103, 413, -5, nil, -408, -470, -555, -554, 162, 14, -4, 165, -103, -478, nil, nil, -176, -542, -174, -539, -747, -414, -508, -702, nil, nil, 141, 175, 85, 165, 161, -122, -186, 160, -445, -260, -258, 192, -462, -246, -414, -393, -765, nil, nil, -101, -417 ] racc_goto_default = [ nil, nil, nil, nil, 54, nil, 377, 74, 389, 380, nil, nil, 529, nil, 836, nil, 375, nil, nil, nil, 38, 43, 48, 264, 278, nil, nil, 269, 272, nil, 274, 96, nil, 438, 6, 14, 20, 27, 620, nil, nil, nil, nil, nil, 115, 552, 80, nil, nil, 90, 97, 101, nil, 258, 261, 491, nil, 323, 509, 196, 324, 52, 59, nil, 73, nil, 553, nil, 554, 560, 709, 475, 259, 357, 21, 28, 33, 37, 41, 47, 55, nil, 361, 75, nil, nil, nil, nil, nil, nil, nil, 567, 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, 443, 170, nil, 440, nil, 162, nil, 167, nil, 634, 660, nil, nil, nil, 153, nil, nil, 690, nil, nil, nil, 556, 360, nil, nil, nil, nil, nil, nil, nil, nil, 45, 51, 58, nil, nil, nil, nil, nil, 463, nil, nil, nil, nil, nil, nil, 174, 152, 156, 785, 164, 166, nil, 266 ] racc_reduce_table = [ 0, 0, :racc_error, 0, 140, :_reduce_1, 2, 138, :_reduce_2, 2, 139, :_reduce_3, 1, 141, :_reduce_none, 1, 141, :_reduce_none, 3, 141, :_reduce_6, 2, 141, :_reduce_none, 1, 144, :_reduce_none, 0, 148, :_reduce_9, 5, 144, :_reduce_10, 4, 147, :_reduce_11, 2, 149, :_reduce_12, 1, 153, :_reduce_none, 1, 153, :_reduce_none, 3, 153, :_reduce_15, 2, 153, :_reduce_16, 0, 169, :_reduce_17, 4, 146, :_reduce_18, 3, 146, :_reduce_19, 3, 146, :_reduce_20, 3, 146, :_reduce_21, 2, 146, :_reduce_22, 3, 146, :_reduce_23, 3, 146, :_reduce_24, 3, 146, :_reduce_25, 3, 146, :_reduce_26, 3, 146, :_reduce_27, 4, 146, :_reduce_28, 1, 146, :_reduce_none, 3, 146, :_reduce_30, 3, 146, :_reduce_31, 6, 146, :_reduce_32, 5, 146, :_reduce_33, 5, 146, :_reduce_34, 5, 146, :_reduce_35, 5, 146, :_reduce_36, 3, 146, :_reduce_37, 3, 146, :_reduce_38, 3, 146, :_reduce_39, 3, 146, :_reduce_40, 1, 146, :_reduce_none, 3, 157, :_reduce_42, 3, 157, :_reduce_43, 1, 168, :_reduce_none, 3, 168, :_reduce_45, 3, 168, :_reduce_46, 3, 168, :_reduce_47, 2, 168, :_reduce_48, 1, 168, :_reduce_none, 1, 156, :_reduce_50, 1, 159, :_reduce_none, 1, 159, :_reduce_none, 1, 173, :_reduce_none, 4, 173, :_reduce_54, 4, 173, :_reduce_55, 0, 179, :_reduce_56, 0, 180, :_reduce_57, 6, 177, :_reduce_58, 2, 172, :_reduce_59, 3, 172, :_reduce_60, 4, 172, :_reduce_61, 5, 172, :_reduce_62, 4, 172, :_reduce_63, 5, 172, :_reduce_64, 2, 172, :_reduce_65, 2, 172, :_reduce_66, 2, 172, :_reduce_67, 2, 172, :_reduce_68, 2, 172, :_reduce_69, 1, 158, :_reduce_none, 3, 158, :_reduce_71, 1, 184, :_reduce_none, 3, 184, :_reduce_73, 1, 183, :_reduce_74, 2, 183, :_reduce_75, 3, 183, :_reduce_76, 5, 183, :_reduce_77, 2, 183, :_reduce_78, 4, 183, :_reduce_79, 2, 183, :_reduce_80, 4, 183, :_reduce_81, 1, 183, :_reduce_82, 3, 183, :_reduce_83, 1, 187, :_reduce_none, 3, 187, :_reduce_85, 2, 186, :_reduce_86, 3, 186, :_reduce_87, 1, 189, :_reduce_88, 3, 189, :_reduce_89, 1, 188, :_reduce_90, 1, 188, :_reduce_91, 4, 188, :_reduce_92, 3, 188, :_reduce_93, 3, 188, :_reduce_94, 3, 188, :_reduce_95, 3, 188, :_reduce_96, 2, 188, :_reduce_97, 1, 188, :_reduce_98, 1, 165, :_reduce_99, 1, 165, :_reduce_100, 4, 165, :_reduce_101, 3, 165, :_reduce_102, 3, 165, :_reduce_103, 3, 165, :_reduce_104, 3, 165, :_reduce_105, 2, 165, :_reduce_106, 1, 165, :_reduce_107, 1, 192, :_reduce_108, 1, 192, :_reduce_none, 2, 193, :_reduce_110, 1, 193, :_reduce_111, 3, 193, :_reduce_112, 1, 194, :_reduce_none, 1, 194, :_reduce_none, 1, 194, :_reduce_none, 1, 194, :_reduce_116, 1, 194, :_reduce_117, 1, 197, :_reduce_none, 1, 197, :_reduce_none, 1, 154, :_reduce_120, 1, 154, :_reduce_none, 1, 155, :_reduce_122, 0, 200, :_reduce_123, 4, 155, :_reduce_124, 1, 195, :_reduce_none, 1, 195, :_reduce_none, 1, 195, :_reduce_none, 1, 195, :_reduce_none, 1, 195, :_reduce_none, 1, 195, :_reduce_none, 1, 195, :_reduce_none, 1, 195, :_reduce_none, 1, 195, :_reduce_none, 1, 195, :_reduce_none, 1, 195, :_reduce_none, 1, 195, :_reduce_none, 1, 195, :_reduce_none, 1, 195, :_reduce_none, 1, 195, :_reduce_none, 1, 195, :_reduce_none, 1, 195, :_reduce_none, 1, 195, :_reduce_none, 1, 195, :_reduce_none, 1, 195, :_reduce_none, 1, 195, :_reduce_none, 1, 195, :_reduce_none, 1, 195, :_reduce_none, 1, 195, :_reduce_none, 1, 195, :_reduce_none, 1, 195, :_reduce_none, 1, 195, :_reduce_none, 1, 195, :_reduce_none, 1, 195, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 3, 171, :_reduce_195, 5, 171, :_reduce_196, 3, 171, :_reduce_197, 5, 171, :_reduce_198, 6, 171, :_reduce_199, 5, 171, :_reduce_200, 5, 171, :_reduce_201, 5, 171, :_reduce_202, 5, 171, :_reduce_203, 4, 171, :_reduce_204, 3, 171, :_reduce_205, 3, 171, :_reduce_206, 3, 171, :_reduce_207, 3, 171, :_reduce_208, 3, 171, :_reduce_209, 3, 171, :_reduce_210, 3, 171, :_reduce_211, 3, 171, :_reduce_212, 3, 171, :_reduce_213, 4, 171, :_reduce_214, 4, 171, :_reduce_215, 2, 171, :_reduce_216, 2, 171, :_reduce_217, 3, 171, :_reduce_218, 3, 171, :_reduce_219, 3, 171, :_reduce_220, 3, 171, :_reduce_221, 3, 171, :_reduce_222, 3, 171, :_reduce_223, 3, 171, :_reduce_224, 3, 171, :_reduce_225, 3, 171, :_reduce_226, 3, 171, :_reduce_227, 3, 171, :_reduce_228, 3, 171, :_reduce_229, 3, 171, :_reduce_230, 2, 171, :_reduce_231, 2, 171, :_reduce_232, 3, 171, :_reduce_233, 3, 171, :_reduce_234, 3, 171, :_reduce_235, 3, 171, :_reduce_236, 3, 171, :_reduce_237, 6, 171, :_reduce_238, 1, 171, :_reduce_none, 1, 167, :_reduce_240, 1, 202, :_reduce_none, 2, 202, :_reduce_242, 4, 202, :_reduce_243, 2, 202, :_reduce_244, 3, 206, :_reduce_245, 1, 207, :_reduce_none, 1, 207, :_reduce_none, 1, 162, :_reduce_248, 1, 162, :_reduce_249, 2, 162, :_reduce_250, 4, 162, :_reduce_251, 2, 162, :_reduce_252, 1, 182, :_reduce_253, 2, 182, :_reduce_254, 2, 182, :_reduce_255, 4, 182, :_reduce_256, 1, 182, :_reduce_none, 0, 210, :_reduce_258, 2, 176, :_reduce_259, 2, 209, :_reduce_260, 2, 208, :_reduce_261, 1, 208, :_reduce_none, 1, 203, :_reduce_263, 2, 203, :_reduce_264, 3, 203, :_reduce_265, 4, 203, :_reduce_266, 3, 166, :_reduce_267, 4, 166, :_reduce_268, 2, 166, :_reduce_269, 1, 201, :_reduce_none, 1, 201, :_reduce_none, 1, 201, :_reduce_none, 1, 201, :_reduce_none, 1, 201, :_reduce_none, 1, 201, :_reduce_none, 1, 201, :_reduce_none, 1, 201, :_reduce_none, 1, 201, :_reduce_278, 0, 232, :_reduce_279, 4, 201, :_reduce_280, 0, 233, :_reduce_281, 4, 201, :_reduce_282, 3, 201, :_reduce_283, 3, 201, :_reduce_284, 2, 201, :_reduce_285, 3, 201, :_reduce_286, 3, 201, :_reduce_287, 1, 201, :_reduce_288, 4, 201, :_reduce_289, 3, 201, :_reduce_290, 1, 201, :_reduce_291, 5, 201, :_reduce_292, 4, 201, :_reduce_293, 3, 201, :_reduce_294, 2, 201, :_reduce_295, 1, 201, :_reduce_none, 2, 201, :_reduce_297, 2, 201, :_reduce_298, 6, 201, :_reduce_299, 6, 201, :_reduce_300, 0, 234, :_reduce_301, 0, 235, :_reduce_302, 7, 201, :_reduce_303, 0, 236, :_reduce_304, 0, 237, :_reduce_305, 7, 201, :_reduce_306, 5, 201, :_reduce_307, 4, 201, :_reduce_308, 0, 238, :_reduce_309, 0, 239, :_reduce_310, 9, 201, :_reduce_311, 0, 240, :_reduce_312, 0, 241, :_reduce_313, 7, 201, :_reduce_314, 0, 242, :_reduce_315, 0, 243, :_reduce_316, 0, 244, :_reduce_317, 9, 201, :_reduce_318, 0, 245, :_reduce_319, 0, 246, :_reduce_320, 6, 201, :_reduce_321, 0, 247, :_reduce_322, 6, 201, :_reduce_323, 0, 248, :_reduce_324, 0, 249, :_reduce_325, 9, 201, :_reduce_326, 1, 201, :_reduce_327, 1, 201, :_reduce_328, 1, 201, :_reduce_329, 1, 201, :_reduce_330, 1, 161, :_reduce_331, 1, 250, :_reduce_none, 1, 251, :_reduce_none, 1, 252, :_reduce_none, 1, 253, :_reduce_none, 1, 254, :_reduce_none, 1, 255, :_reduce_none, 1, 256, :_reduce_none, 1, 257, :_reduce_none, 1, 258, :_reduce_none, 1, 259, :_reduce_none, 1, 260, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 2, 222, :_reduce_none, 1, 224, :_reduce_none, 1, 224, :_reduce_none, 1, 223, :_reduce_none, 5, 223, :_reduce_349, 1, 151, :_reduce_none, 2, 151, :_reduce_351, 1, 226, :_reduce_none, 1, 226, :_reduce_353, 1, 261, :_reduce_none, 3, 261, :_reduce_355, 1, 264, :_reduce_356, 3, 264, :_reduce_357, 1, 263, :_reduce_358, 4, 263, :_reduce_359, 6, 263, :_reduce_360, 3, 263, :_reduce_361, 5, 263, :_reduce_362, 2, 263, :_reduce_363, 4, 263, :_reduce_364, 1, 263, :_reduce_365, 3, 263, :_reduce_366, 6, 265, :_reduce_367, 8, 265, :_reduce_368, 4, 265, :_reduce_369, 6, 265, :_reduce_370, 4, 265, :_reduce_371, 2, 265, :_reduce_372, 6, 265, :_reduce_373, 2, 265, :_reduce_374, 4, 265, :_reduce_375, 6, 265, :_reduce_376, 2, 265, :_reduce_377, 4, 265, :_reduce_378, 2, 265, :_reduce_379, 4, 265, :_reduce_380, 1, 265, :_reduce_381, 1, 178, :_reduce_none, 1, 178, :_reduce_none, 3, 271, :_reduce_384, 1, 271, :_reduce_385, 4, 271, :_reduce_386, 1, 272, :_reduce_none, 2, 272, :_reduce_388, 1, 273, :_reduce_389, 3, 273, :_reduce_390, 1, 274, :_reduce_none, 1, 274, :_reduce_none, 2, 221, :_reduce_393, 4, 276, :_reduce_394, 1, 276, :_reduce_395, 3, 277, :_reduce_396, 3, 277, :_reduce_397, 0, 280, :_reduce_398, 0, 281, :_reduce_399, 6, 279, :_reduce_400, 2, 174, :_reduce_401, 4, 174, :_reduce_402, 4, 174, :_reduce_403, 0, 283, :_reduce_404, 3, 220, :_reduce_405, 4, 220, :_reduce_406, 4, 220, :_reduce_407, 3, 220, :_reduce_408, 3, 220, :_reduce_409, 3, 220, :_reduce_410, 2, 220, :_reduce_411, 1, 220, :_reduce_412, 4, 220, :_reduce_413, 0, 284, :_reduce_414, 0, 285, :_reduce_415, 6, 219, :_reduce_416, 0, 286, :_reduce_417, 0, 287, :_reduce_418, 6, 219, :_reduce_419, 0, 289, :_reduce_420, 6, 225, :_reduce_421, 1, 288, :_reduce_none, 1, 288, :_reduce_none, 6, 150, :_reduce_424, 0, 150, :_reduce_425, 1, 290, :_reduce_426, 1, 290, :_reduce_none, 1, 290, :_reduce_none, 2, 291, :_reduce_429, 1, 291, :_reduce_none, 2, 152, :_reduce_431, 1, 152, :_reduce_none, 1, 211, :_reduce_433, 1, 211, :_reduce_434, 1, 211, :_reduce_none, 1, 212, :_reduce_436, 1, 293, :_reduce_none, 2, 293, :_reduce_438, 3, 294, :_reduce_439, 1, 294, :_reduce_440, 3, 213, :_reduce_441, 3, 214, :_reduce_442, 3, 215, :_reduce_443, 3, 215, :_reduce_444, 1, 298, :_reduce_445, 3, 298, :_reduce_446, 1, 299, :_reduce_none, 2, 299, :_reduce_448, 3, 216, :_reduce_449, 3, 216, :_reduce_450, 1, 301, :_reduce_451, 3, 301, :_reduce_452, 1, 295, :_reduce_453, 2, 295, :_reduce_454, 1, 296, :_reduce_455, 2, 296, :_reduce_456, 1, 297, :_reduce_457, 2, 297, :_reduce_458, 1, 300, :_reduce_459, 0, 303, :_reduce_460, 3, 300, :_reduce_461, 0, 304, :_reduce_462, 4, 300, :_reduce_463, 1, 302, :_reduce_464, 1, 302, :_reduce_465, 1, 302, :_reduce_466, 1, 302, :_reduce_none, 2, 198, :_reduce_468, 1, 198, :_reduce_469, 1, 305, :_reduce_none, 1, 305, :_reduce_none, 1, 305, :_reduce_none, 1, 305, :_reduce_none, 3, 199, :_reduce_474, 1, 292, :_reduce_none, 1, 292, :_reduce_none, 2, 292, :_reduce_477, 2, 292, :_reduce_478, 1, 190, :_reduce_none, 1, 190, :_reduce_none, 1, 190, :_reduce_none, 1, 190, :_reduce_none, 1, 190, :_reduce_none, 1, 191, :_reduce_484, 1, 191, :_reduce_485, 1, 191, :_reduce_486, 1, 191, :_reduce_487, 1, 191, :_reduce_488, 1, 191, :_reduce_489, 1, 191, :_reduce_490, 1, 217, :_reduce_491, 1, 217, :_reduce_492, 1, 160, :_reduce_493, 1, 160, :_reduce_494, 1, 164, :_reduce_495, 1, 164, :_reduce_496, 1, 227, :_reduce_497, 0, 306, :_reduce_498, 4, 227, :_reduce_499, 2, 227, :_reduce_500, 3, 229, :_reduce_501, 2, 229, :_reduce_502, 6, 278, :_reduce_503, 8, 278, :_reduce_504, 4, 278, :_reduce_505, 6, 278, :_reduce_506, 4, 278, :_reduce_507, 6, 278, :_reduce_508, 2, 278, :_reduce_509, 4, 278, :_reduce_510, 6, 278, :_reduce_511, 2, 278, :_reduce_512, 4, 278, :_reduce_513, 2, 278, :_reduce_514, 4, 278, :_reduce_515, 1, 278, :_reduce_516, 0, 278, :_reduce_517, 1, 275, :_reduce_518, 1, 275, :_reduce_519, 1, 275, :_reduce_520, 1, 275, :_reduce_521, 1, 262, :_reduce_none, 1, 262, :_reduce_523, 1, 308, :_reduce_none, 3, 308, :_reduce_525, 1, 266, :_reduce_526, 3, 266, :_reduce_527, 3, 309, :_reduce_528, 3, 310, :_reduce_529, 1, 267, :_reduce_530, 3, 267, :_reduce_531, 1, 307, :_reduce_532, 3, 307, :_reduce_533, 1, 311, :_reduce_none, 1, 311, :_reduce_none, 2, 268, :_reduce_536, 1, 268, :_reduce_537, 1, 312, :_reduce_none, 1, 312, :_reduce_none, 2, 270, :_reduce_540, 2, 269, :_reduce_541, 0, 269, :_reduce_542, 1, 230, :_reduce_none, 0, 313, :_reduce_544, 4, 230, :_reduce_545, 1, 218, :_reduce_546, 2, 218, :_reduce_547, 1, 205, :_reduce_none, 3, 205, :_reduce_549, 3, 314, :_reduce_550, 2, 314, :_reduce_551, 1, 181, :_reduce_none, 1, 181, :_reduce_none, 1, 181, :_reduce_none, 1, 175, :_reduce_none, 1, 175, :_reduce_none, 1, 175, :_reduce_none, 1, 175, :_reduce_none, 1, 282, :_reduce_none, 1, 282, :_reduce_none, 1, 282, :_reduce_none, 1, 231, :_reduce_none, 1, 231, :_reduce_none, 0, 142, :_reduce_none, 1, 142, :_reduce_none, 0, 170, :_reduce_none, 1, 170, :_reduce_none, 2, 185, :_reduce_none, 2, 163, :_reduce_none, 0, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 228, :_reduce_573, 1, 228, :_reduce_none, 1, 145, :_reduce_none, 2, 145, :_reduce_576, 0, 143, :_reduce_577 ] racc_reduce_n = 578 racc_shift_n = 989 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, :tLAST_TOKEN => 132, :tLAMBDA => 133, :tLAMBEG => 134, :tEQL => 135, :tLOWEST => 136 } racc_nt_base = 137 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", "tLAST_TOKEN", "tLAMBDA", "tLAMBEG", "tEQL", "tLOWEST", "$start", "program", "top_compstmt", "@1", "top_stmts", "opt_terms", "none", "top_stmt", "terms", "stmt", "bodystmt", "@2", "compstmt", "opt_rescue", "opt_else", "opt_ensure", "stmts", "fitem", "undef_list", "expr_value", "command_asgn", "mlhs", "command_call", "var_lhs", "primary_value", "opt_call_args", "rbracket", "backref", "lhs", "mrhs", "arg_value", "expr", "@3", "opt_nl", "arg", "command", "block_command", "block_call", "operation2", "command_args", "cmd_brace_block", "opt_block_param", "@4", "@5", "operation", "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", "@6", "primary", "aref_args", "args", "trailer", "assocs", "paren_args", "opt_paren_args", "opt_block_arg", "block_arg", "@7", "literal", "strings", "xstring", "regexp", "words", "qwords", "var_ref", "assoc_list", "brace_block", "method_call", "lambda", "then", "if_tail", "do", "case_body", "for_var", "superclass", "term", "f_arglist", "singleton", "dot_or_colon", "@8", "@9", "@10", "@11", "@12", "@13", "@14", "@15", "@16", "@17", "@18", "@19", "@20", "@21", "@22", "@23", "@24", "@25", "k_begin", "k_if", "k_unless", "k_while", "k_until", "k_case", "k_for", "k_class", "k_module", "k_def", "k_end", "f_marg", "f_norm_arg", "f_margs", "f_marg_list", "block_param", "f_arg", "f_block_optarg", "f_rest_arg", "opt_f_block_arg", "f_block_arg", "block_param_def", "opt_bv_decl", "bv_decls", "bvar", "f_bad_arg", "f_larglist", "lambda_body", "f_args", "do_block", "@26", "@27", "operation3", "@28", "@29", "@30", "@31", "@32", "cases", "@33", "exc_list", "exc_var", "numeric", "string", "string1", "string_contents", "xstring_contents", "regexp_contents", "word_list", "word", "string_content", "qword_list", "string_dvar", "@34", "@35", "sym", "@36", "f_optarg", "f_arg_item", "f_opt", "f_block_opt", "restarg_mark", "blkarg_mark", "@37", "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 result end def _reduce_3(val, _values, result) result = val[0] 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 yyerror "BEGIN in method" end self.env.extend result end def _reduce_10(val, _values, result) result = new_iter s(:preexe), nil, val[3] # TODO: add test? result = nil # TODO: since it isn't supposed to go in the AST result end def _reduce_11(val, _values, result) result = new_body val result end def _reduce_12(val, _values, result) result = new_compstmt val result end # reduce 13 omitted # reduce 14 omitted def _reduce_15(val, _values, result) result = self.block_append val[0], val[2] result end def _reduce_16(val, _values, result) result = val[1] result end def _reduce_17(val, _values, result) lexer.lex_state = :expr_fname result = self.lexer.lineno result end def _reduce_18(val, _values, result) result = s(:alias, val[1], val[3]).line(val[2]) result end def _reduce_19(val, _values, result) result = s(:valias, val[1].to_sym, val[2].to_sym) result end def _reduce_20(val, _values, result) result = s(:valias, val[1].to_sym, :"$#{val[2]}") result end def _reduce_21(val, _values, result) yyerror "can't make alias for the number variables" result end def _reduce_22(val, _values, result) result = val[1] result end def _reduce_23(val, _values, result) result = new_if val[2], val[0], nil result end def _reduce_24(val, _values, result) result = new_if val[2], nil, val[0] result end def _reduce_25(val, _values, result) result = new_while val[0], val[2], true result end def _reduce_26(val, _values, result) result = new_until val[0], val[2], true result end def _reduce_27(val, _values, result) result = s(:rescue, val[0], new_resbody(s(:array), val[2])) result end def _reduce_28(val, _values, result) if (self.in_def || self.in_single > 0) then yyerror "END in method; use at_exit" end result = new_iter s(:postexe), nil, val[2] result end # reduce 29 omitted def _reduce_30(val, _values, result) result = new_masgn val[0], val[2], :wrap result end def _reduce_31(val, _values, result) result = new_op_asgn val result end def _reduce_32(val, _values, result) result = s(:op_asgn1, val[0], val[2], val[4].to_sym, val[5]) result end def _reduce_33(val, _values, result) result = s(:op_asgn, val[0], val[4], val[2], val[3]) result end def _reduce_34(val, _values, result) result = s(:op_asgn, val[0], val[4], val[2], val[3]) result end def _reduce_35(val, _values, result) result = s(:op_asgn, val[0], val[4], val[2], val[3]) result end def _reduce_36(val, _values, result) result = s(:op_asgn, val[0], val[4], val[2], val[3]) result end def _reduce_37(val, _values, result) self.backref_assign_error val[0] result end def _reduce_38(val, _values, result) result = self.node_assign val[0], s(:svalue, val[2]) result end def _reduce_39(val, _values, result) result = new_masgn val[0], val[2], :wrap result end def _reduce_40(val, _values, result) result = new_masgn val[0], val[2] result end # reduce 41 omitted def _reduce_42(val, _values, result) result = self.node_assign val[0], val[2] result end def _reduce_43(val, _values, result) result = self.node_assign val[0], val[2] result end # reduce 44 omitted def _reduce_45(val, _values, result) result = logop(:and, val[0], val[2]) result end def _reduce_46(val, _values, result) result = logop(:or, val[0], val[2]) result end def _reduce_47(val, _values, result) result = s(:call, val[2], :"!") result end def _reduce_48(val, _values, result) result = s(:call, val[1], :"!") result end # reduce 49 omitted def _reduce_50(val, _values, result) result = value_expr(val[0]) result end # reduce 51 omitted # reduce 52 omitted # reduce 53 omitted def _reduce_54(val, _values, result) result = new_call val[0], val[2], val[3] result end def _reduce_55(val, _values, result) result = new_call val[0], val[2], val[3] result end def _reduce_56(val, _values, result) self.env.extend(:dynamic) result = self.lexer.lineno result end def _reduce_57(val, _values, result) result = self.env.dynamic.keys result end def _reduce_58(val, _values, result) result = new_iter nil, val[2], val[4] result.line = val[1] self.env.unextend result end def _reduce_59(val, _values, result) result = new_call nil, val[0].to_sym, val[1] result end def _reduce_60(val, _values, result) result = new_call nil, val[0].to_sym, val[1] if val[2] then block_dup_check result, val[2] result, operation = val[2], result result.insert 1, operation end result end def _reduce_61(val, _values, result) result = new_call val[0], val[2].to_sym, val[3] result end def _reduce_62(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_63(val, _values, result) result = new_call val[0], val[2].to_sym, val[3] result end def _reduce_64(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_65(val, _values, result) result = new_super val[1] result end def _reduce_66(val, _values, result) result = new_yield val[1] result end def _reduce_67(val, _values, result) line = val[0].last result = s(:return, ret_args(val[1])).line(line) result end def _reduce_68(val, _values, result) line = val[0].last result = s(:break, ret_args(val[1])).line(line) result end def _reduce_69(val, _values, result) line = val[0].last result = s(:next, ret_args(val[1])).line(line) result end # reduce 70 omitted def _reduce_71(val, _values, result) result = val[1] result end # reduce 72 omitted def _reduce_73(val, _values, result) result = s(:masgn, s(:array, val[1])) result end def _reduce_74(val, _values, result) result = s(:masgn, val[0]) result end def _reduce_75(val, _values, result) result = s(:masgn, val[0] << val[1].compact) result end def _reduce_76(val, _values, result) result = s(:masgn, val[0] << s(:splat, val[2])) result end def _reduce_77(val, _values, result) ary = list_append val[0], s(:splat, val[2]) ary.concat val[4][1..-1] result = s(:masgn, ary) result end def _reduce_78(val, _values, result) result = s(:masgn, val[0] << s(:splat)) result end def _reduce_79(val, _values, result) ary = list_append val[0], s(:splat) ary.concat val[3][1..-1] result = s(:masgn, ary) result end def _reduce_80(val, _values, result) result = s(:masgn, s(:array, s(:splat, val[1]))) result end def _reduce_81(val, _values, result) ary = s(:array, s(:splat, val[1])) ary.concat val[3][1..-1] result = s(:masgn, ary) result end def _reduce_82(val, _values, result) result = s(:masgn, s(:array, s(:splat))) result end def _reduce_83(val, _values, result) ary = s(:array, s(:splat)) ary.concat val[2][1..-1] result = s(:masgn, ary) result end # reduce 84 omitted def _reduce_85(val, _values, result) result = val[1] result end def _reduce_86(val, _values, result) result = s(:array, val[0]) result end def _reduce_87(val, _values, result) result = val[0] << val[1].compact result end def _reduce_88(val, _values, result) result = s(:array, val[0]) result end def _reduce_89(val, _values, result) result = list_append val[0], val[2] result end def _reduce_90(val, _values, result) result = self.assignable val[0] result end def _reduce_91(val, _values, result) result = self.assignable val[0] result end def _reduce_92(val, _values, result) result = self.aryset val[0], val[2] result end def _reduce_93(val, _values, result) result = s(:attrasgn, val[0], :"#{val[2]}=") result end def _reduce_94(val, _values, result) result = s(:attrasgn, val[0], :"#{val[2]}=") result end def _reduce_95(val, _values, result) result = s(:attrasgn, val[0], :"#{val[2]}=") result end def _reduce_96(val, _values, result) if (self.in_def || self.in_single > 0) then yyerror "dynamic constant assignment" end result = s(:const, s(:colon2, val[0], val[2].to_sym), nil) result end def _reduce_97(val, _values, result) if (self.in_def || self.in_single > 0) then yyerror "dynamic constant assignment" end result = s(:const, nil, s(:colon3, val[1].to_sym)) result end def _reduce_98(val, _values, result) self.backref_assign_error val[0] 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 = s(:attrasgn, val[0], :"#{val[2]}=") result end def _reduce_103(val, _values, result) result = s(:attrasgn, val[0], :"#{val[2]}=") result end def _reduce_104(val, _values, result) result = s(:attrasgn, val[0], :"#{val[2]}=") result end def _reduce_105(val, _values, result) if (self.in_def || self.in_single > 0) then yyerror "dynamic constant assignment" end result = s(:const, s(:colon2, val[0], val[2].to_sym)) result end def _reduce_106(val, _values, result) if (self.in_def || self.in_single > 0) then yyerror "dynamic constant assignment" end result = s(:const, s(:colon3, val[1].to_sym)) result end def _reduce_107(val, _values, result) self.backref_assign_error val[0] result end def _reduce_108(val, _values, result) yyerror "class/module name must be CONSTANT" result end # reduce 109 omitted def _reduce_110(val, _values, result) result = s(:colon3, val[1].to_sym) result end def _reduce_111(val, _values, result) result = val[0].to_sym result end def _reduce_112(val, _values, result) result = s(:colon2, val[0], val[2].to_sym) result end # reduce 113 omitted # reduce 114 omitted # reduce 115 omitted def _reduce_116(val, _values, result) lexer.lex_state = :expr_end result = val[0] result end def _reduce_117(val, _values, result) lexer.lex_state = :expr_end result = val[0] result end # reduce 118 omitted # reduce 119 omitted def _reduce_120(val, _values, result) result = s(:lit, val[0].to_sym) result end # reduce 121 omitted def _reduce_122(val, _values, result) result = new_undef val[0] result end def _reduce_123(val, _values, result) lexer.lex_state = :expr_fname result end def _reduce_124(val, _values, result) result = new_undef val[0], val[3] result end # reduce 125 omitted # reduce 126 omitted # reduce 127 omitted # reduce 128 omitted # reduce 129 omitted # reduce 130 omitted # reduce 131 omitted # reduce 132 omitted # reduce 133 omitted # 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 def _reduce_195(val, _values, result) result = self.node_assign val[0], val[2] result end def _reduce_196(val, _values, result) result = self.node_assign val[0], s(:rescue, val[2], new_resbody(s(:array), val[4])) result end def _reduce_197(val, _values, result) result = new_op_asgn val result end def _reduce_198(val, _values, result) result = new_op_asgn val result = s(:rescue, result, new_resbody(s(:array), val[4])) result end def _reduce_199(val, _values, result) val[2][0] = :arglist result = s(:op_asgn1, val[0], val[2], val[4].to_sym, val[5]) result end def _reduce_200(val, _values, result) result = s(:op_asgn2, val[0], :"#{val[2]}=", val[3].to_sym, val[4]) result end def _reduce_201(val, _values, result) result = s(:op_asgn2, val[0], :"#{val[2]}=", val[3].to_sym, val[4]) result end def _reduce_202(val, _values, result) result = s(:op_asgn, val[0], val[4], val[2], val[3]) result end def _reduce_203(val, _values, result) yyerror "constant re-assignment" result end def _reduce_204(val, _values, result) yyerror "constant re-assignment" result end def _reduce_205(val, _values, result) self.backref_assign_error val[0] result end def _reduce_206(val, _values, result) v1, v2 = val[0], val[2] if v1.node_type == :lit and v2.node_type == :lit and Fixnum === v1.last and Fixnum === v2.last then result = s(:lit, (v1.last)..(v2.last)) else result = s(:dot2, v1, v2) end result end def _reduce_207(val, _values, result) v1, v2 = val[0], val[2] if v1.node_type == :lit and v2.node_type == :lit and Fixnum === v1.last and Fixnum === v2.last then result = s(:lit, (v1.last)...(v2.last)) else result = s(:dot3, v1, v2) end result end def _reduce_208(val, _values, result) result = new_call val[0], :+, argl(val[2]) result end def _reduce_209(val, _values, result) result = new_call val[0], :-, argl(val[2]) result end def _reduce_210(val, _values, result) result = new_call val[0], :*, argl(val[2]) result end def _reduce_211(val, _values, result) result = new_call val[0], :"/", argl(val[2]) result end def _reduce_212(val, _values, result) result = new_call val[0], :"%", argl(val[2]) result end def _reduce_213(val, _values, result) result = new_call val[0], :**, argl(val[2]) result end def _reduce_214(val, _values, result) result = new_call(new_call(s(:lit, val[1]), :"**", argl(val[3])), :"-@") result end def _reduce_215(val, _values, result) result = new_call(new_call(s(:lit, val[1]), :"**", argl(val[3])), :"-@") result end def _reduce_216(val, _values, result) if val[1][0] == :lit then result = val[1] else result = new_call val[1], :"+@" end result end def _reduce_217(val, _values, result) result = new_call val[1], :"-@" result end def _reduce_218(val, _values, result) result = new_call val[0], :"|", argl(val[2]) result end def _reduce_219(val, _values, result) result = new_call val[0], :"^", argl(val[2]) result end def _reduce_220(val, _values, result) result = new_call val[0], :"&", argl(val[2]) result end def _reduce_221(val, _values, result) result = new_call val[0], :"<=>", argl(val[2]) 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) result = new_call val[0], :"!=", argl(val[2]) result end def _reduce_229(val, _values, result) result = self.get_match_node val[0], val[2] result end def _reduce_230(val, _values, result) result = s(:not, self.get_match_node(val[0], val[2])) result end def _reduce_231(val, _values, result) result = new_call val[1], :"!" result end def _reduce_232(val, _values, result) val[2] = value_expr val[2] result = new_call val[1], :"~" result end def _reduce_233(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_234(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_235(val, _values, result) result = logop(:and, val[0], val[2]) result end def _reduce_236(val, _values, result) result = logop(:or, val[0], val[2]) result end def _reduce_237(val, _values, result) result = s(:defined, val[2]) result end def _reduce_238(val, _values, result) lexer.tern.pop result = s(:if, val[0], val[2], val[5]) result end # reduce 239 omitted def _reduce_240(val, _values, result) result = value_expr(val[0]) result end # reduce 241 omitted def _reduce_242(val, _values, result) result = val[0] result end def _reduce_243(val, _values, result) result = val[0] << s(:hash, *val[2].values) result end def _reduce_244(val, _values, result) result = s(:array, s(:hash, *val[0].values)) result end def _reduce_245(val, _values, result) result = val[1] result end # reduce 246 omitted # reduce 247 omitted def _reduce_248(val, _values, result) result = val[0] result end def _reduce_249(val, _values, result) result = val[0] result end def _reduce_250(val, _values, result) result = val[0] result end def _reduce_251(val, _values, result) result = val[0] << s(:hash, *val[2][1..-1]) result end def _reduce_252(val, _values, result) result = val[0] result end def _reduce_253(val, _values, result) warning "parenthesize argument(s) for future version" result = s(:array, val[0]) result end def _reduce_254(val, _values, result) result = self.arg_blk_pass val[0], val[1] result end def _reduce_255(val, _values, result) result = s(:array, s(:hash, *val[0].values)) result = self.arg_blk_pass result, val[1] result end def _reduce_256(val, _values, result) result = val[0] << s(:hash, *val[2].values) result = self.arg_blk_pass result, val[3] result end # reduce 257 omitted def _reduce_258(val, _values, result) result = lexer.cmdarg.stack.dup # TODO: smell? lexer.cmdarg.push true result end def _reduce_259(val, _values, result) lexer.cmdarg.stack.replace val[0] result = val[1] result end def _reduce_260(val, _values, result) result = s(:block_pass, val[1]) result end def _reduce_261(val, _values, result) result = val[1] result end # reduce 262 omitted def _reduce_263(val, _values, result) result = s(:array, val[0]) result end def _reduce_264(val, _values, result) result = s(:array, s(:splat, val[1])) result end def _reduce_265(val, _values, result) result = self.list_append val[0], val[2] result end def _reduce_266(val, _values, result) result = self.list_append val[0], s(:splat, val[3]) result end def _reduce_267(val, _values, result) result = val[0] << val[2] result end def _reduce_268(val, _values, result) result = self.arg_concat val[0], val[3] result end def _reduce_269(val, _values, result) result = s(:splat, val[1]) result end # reduce 270 omitted # reduce 271 omitted # reduce 272 omitted # reduce 273 omitted # reduce 274 omitted # reduce 275 omitted # reduce 276 omitted # reduce 277 omitted def _reduce_278(val, _values, result) result = new_call nil, val[0].to_sym result end def _reduce_279(val, _values, result) result = self.lexer.lineno result end def _reduce_280(val, _values, result) unless val[2] then result = s(:nil) else result = s(:begin, val[2]) end result.line = val[1] result end def _reduce_281(val, _values, result) lexer.lex_state = :expr_endarg result end def _reduce_282(val, _values, result) warning "(...) interpreted as grouped expression" result = val[1] result end def _reduce_283(val, _values, result) result = val[1] || s(:nil) result.paren = true result end def _reduce_284(val, _values, result) result = s(:colon2, val[0], val[2].to_sym) result end def _reduce_285(val, _values, result) result = s(:colon3, val[1].to_sym) result end def _reduce_286(val, _values, result) result = val[1] || s(:array) result end def _reduce_287(val, _values, result) result = s(:hash, *val[1].values) result end def _reduce_288(val, _values, result) result = s(:return) result end def _reduce_289(val, _values, result) result = new_yield val[2] result end def _reduce_290(val, _values, result) result = new_yield result end def _reduce_291(val, _values, result) result = new_yield result end def _reduce_292(val, _values, result) result = s(:defined, val[3]) result end def _reduce_293(val, _values, result) result = s(:call, val[2], :"!") result end def _reduce_294(val, _values, result) raise "no3\non#{val.inspect}" result end def _reduce_295(val, _values, result) oper, iter = val[0], val[1] call = new_call nil, oper.to_sym iter.insert 1, call result = iter call.line = iter.line result end # reduce 296 omitted def _reduce_297(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_298(val, _values, result) result = val[1] # TODO: fix lineno result end def _reduce_299(val, _values, result) result = new_if val[1], val[3], val[4] result end def _reduce_300(val, _values, result) result = new_if val[1], val[4], val[3] result end def _reduce_301(val, _values, result) lexer.cond.push true result end def _reduce_302(val, _values, result) lexer.cond.pop result end def _reduce_303(val, _values, result) result = new_while val[5], val[2], true result end def _reduce_304(val, _values, result) lexer.cond.push true result end def _reduce_305(val, _values, result) lexer.cond.pop result end def _reduce_306(val, _values, result) result = new_until val[5], val[2], true result end def _reduce_307(val, _values, result) result = new_case val[1], val[3] result end def _reduce_308(val, _values, result) result = new_case nil, val[2] result end def _reduce_309(val, _values, result) lexer.cond.push true result end def _reduce_310(val, _values, result) lexer.cond.pop result end def _reduce_311(val, _values, result) result = new_for val[4], val[1], val[7] result end def _reduce_312(val, _values, result) result = self.lexer.lineno result end def _reduce_313(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_314(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_315(val, _values, result) result = self.lexer.lineno result end def _reduce_316(val, _values, result) result = self.in_def self.in_def = false result end def _reduce_317(val, _values, result) result = self.in_single self.in_single = 0 self.env.extend result end def _reduce_318(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_319(val, _values, result) result = self.lexer.lineno result end def _reduce_320(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_321(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_322(val, _values, result) self.comments.push self.lexer.comments self.in_def = true self.env.extend result = lexer.lineno result end def _reduce_323(val, _values, result) result = new_defn val result[2].line val[2] self.env.unextend self.in_def = false self.lexer.comments # we don't care about comments in the body result end def _reduce_324(val, _values, result) self.comments.push self.lexer.comments lexer.lex_state = :expr_fname result end def _reduce_325(val, _values, result) self.in_single += 1 self.env.extend lexer.lex_state = :expr_end # force for args result = lexer.lineno result end def _reduce_326(val, _values, result) result = new_defs val result[3].line val[5] self.env.unextend self.in_single -= 1 self.lexer.comments # we don't care about comments in the body result end def _reduce_327(val, _values, result) result = s(:break) result end def _reduce_328(val, _values, result) result = s(:next) result end def _reduce_329(val, _values, result) result = s(:redo) result end def _reduce_330(val, _values, result) result = s(:retry) result end def _reduce_331(val, _values, result) result = value_expr(val[0]) result end # reduce 332 omitted # reduce 333 omitted # reduce 334 omitted # reduce 335 omitted # reduce 336 omitted # reduce 337 omitted # reduce 338 omitted # reduce 339 omitted # reduce 340 omitted # reduce 341 omitted # reduce 342 omitted # reduce 343 omitted # reduce 344 omitted # reduce 345 omitted # reduce 346 omitted # reduce 347 omitted # reduce 348 omitted def _reduce_349(val, _values, result) result = s(:if, val[1], val[3], val[4]) result end # reduce 350 omitted def _reduce_351(val, _values, result) result = val[1] result end # reduce 352 omitted def _reduce_353(val, _values, result) val[0].delete_at 1 if val[0][1].nil? # HACK result end # reduce 354 omitted def _reduce_355(val, _values, result) result = val[1] result end def _reduce_356(val, _values, result) result = s(:array, val[0]) result end def _reduce_357(val, _values, result) result = list_append val[0], val[2] result end def _reduce_358(val, _values, result) args, = val result = block_var args result end def _reduce_359(val, _values, result) args, _, _, splat = val result = block_var args, "*#{splat}".to_sym result end def _reduce_360(val, _values, result) args, _, _, splat, _, args2 = val result = block_var args, "*#{splat}".to_sym, args2 result end def _reduce_361(val, _values, result) args, _, _ = val result = block_var args, :* result end def _reduce_362(val, _values, result) args, _, _, _, args2 = val result = block_var args, :*, args2 result end def _reduce_363(val, _values, result) _, splat = val result = block_var :"*#{splat}" result end def _reduce_364(val, _values, result) _, splat, _, args = val result = block_var :"*#{splat}", args result end def _reduce_365(val, _values, result) result = block_var :* result end def _reduce_366(val, _values, result) _, _, args = val result = block_var :*, args result end def _reduce_367(val, _values, result) result = args val result end def _reduce_368(val, _values, result) result = args val result end def _reduce_369(val, _values, result) result = args val result end def _reduce_370(val, _values, result) result = args val result end def _reduce_371(val, _values, result) result = args val result end def _reduce_372(val, _values, result) result = args val result end def _reduce_373(val, _values, result) result = args val result end def _reduce_374(val, _values, result) result = args val result end def _reduce_375(val, _values, result) result = args val result end def _reduce_376(val, _values, result) result = args val result end def _reduce_377(val, _values, result) result = args val result end def _reduce_378(val, _values, result) result = args val result end def _reduce_379(val, _values, result) result = args val result end def _reduce_380(val, _values, result) result = args val result end def _reduce_381(val, _values, result) result = args val result end # reduce 382 omitted # reduce 383 omitted def _reduce_384(val, _values, result) result = val[1] || 0 result end def _reduce_385(val, _values, result) result = 0 self.lexer.command_start = true result end def _reduce_386(val, _values, result) result = val[1] result.concat val[2] if val[2] result end # reduce 387 omitted def _reduce_388(val, _values, result) result = val[1] result end def _reduce_389(val, _values, result) result = [val[0]] result end def _reduce_390(val, _values, result) result = val[0].concat val[2] raise "no18\non: #{val.inspect}" result end # reduce 391 omitted # reduce 392 omitted def _reduce_393(val, _values, result) args, body = val args = 0 if args == s(:args) call = new_call nil, :lambda result = new_iter call, args, body result end def _reduce_394(val, _values, result) result = val[1] raise "not yet: #{val.inspect}" if val[2] result end def _reduce_395(val, _values, result) result = val[0] result end def _reduce_396(val, _values, result) result = val[1] result end def _reduce_397(val, _values, result) result = val[1] result end def _reduce_398(val, _values, result) self.env.extend :dynamic result = self.lexer.lineno result end def _reduce_399(val, _values, result) result = self.env.dynamic.keys result end def _reduce_400(val, _values, result) args = val[2] body = val[4] result = new_iter nil, args, body result.line = val[1] self.env.unextend result end def _reduce_401(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? result = val[1] result.insert 1, val[0] result end def _reduce_402(val, _values, result) result = new_call val[0], val[2], val[3] result end def _reduce_403(val, _values, result) result = new_call val[0], val[2], val[3] result end def _reduce_404(val, _values, result) result = self.lexer.lineno result end def _reduce_405(val, _values, result) result = new_call nil, val[0].to_sym, val[2] result end def _reduce_406(val, _values, result) result = new_call val[0], val[2].to_sym, val[3] result end def _reduce_407(val, _values, result) result = new_call val[0], val[2].to_sym, val[3] result end def _reduce_408(val, _values, result) result = new_call val[0], val[2].to_sym result end def _reduce_409(val, _values, result) result = new_call val[0], :call, val[2] result end def _reduce_410(val, _values, result) result = new_call val[0], :call, val[2] result end def _reduce_411(val, _values, result) result = new_super val[1] result end def _reduce_412(val, _values, result) result = s(:zsuper) result end def _reduce_413(val, _values, result) result = new_aref val result end def _reduce_414(val, _values, result) self.env.extend :dynamic result = self.lexer.lineno result end def _reduce_415(val, _values, result) result = self.env.dynamic.keys result end def _reduce_416(val, _values, result) _, line, args, _, body, _ = val result = new_iter nil, args, body result.line = line self.env.unextend result end def _reduce_417(val, _values, result) self.env.extend :dynamic result = self.lexer.lineno result end def _reduce_418(val, _values, result) result = self.env.dynamic.keys result end def _reduce_419(val, _values, result) _, line, args, _, body, _ = val result = new_iter nil, args, body result.line = line self.env.unextend result end def _reduce_420(val, _values, result) result = self.lexer.lineno result end def _reduce_421(val, _values, result) result = new_when(val[2], val[4]) result.line = val[1] result << val[5] if val[5] result end # reduce 422 omitted # reduce 423 omitted def _reduce_424(val, _values, result) _, klasses, var, _, body, rest = val klasses ||= s(:array) klasses << node_assign(var, s(:gvar, :"$!")) if var result = new_resbody(klasses, body) result << rest if rest # UGH, rewritten above result end def _reduce_425(val, _values, result) result = nil result end def _reduce_426(val, _values, result) result = s(:array, val[0]) result end # reduce 427 omitted # reduce 428 omitted def _reduce_429(val, _values, result) result = val[1] result end # reduce 430 omitted def _reduce_431(val, _values, result) _, body = val result = body || s(:nil) result end # reduce 432 omitted def _reduce_433(val, _values, result) result = s(:lit, val[0]) result end def _reduce_434(val, _values, result) result = s(:lit, val[0]) result end # reduce 435 omitted def _reduce_436(val, _values, result) val[0] = s(:dstr, val[0].value) if val[0][0] == :evstr result = val[0] result end # reduce 437 omitted def _reduce_438(val, _values, result) result = self.literal_concat val[0], val[1] result end def _reduce_439(val, _values, result) result = val[1] result end def _reduce_440(val, _values, result) result = s(:str, val[0]) result end def _reduce_441(val, _values, result) result = new_xstring val[1] result end def _reduce_442(val, _values, result) result = new_regexp val result end def _reduce_443(val, _values, result) result = s(:array) result end def _reduce_444(val, _values, result) result = val[1] result end def _reduce_445(val, _values, result) result = s(:array) result end def _reduce_446(val, _values, result) word = val[1][0] == :evstr ? s(:dstr, "", val[1]) : val[1] result = val[0] << word result end # reduce 447 omitted def _reduce_448(val, _values, result) result = self.literal_concat val[0], val[1] result end def _reduce_449(val, _values, result) result = s(:array) result end def _reduce_450(val, _values, result) result = val[1] result end def _reduce_451(val, _values, result) result = s(:array) result end def _reduce_452(val, _values, result) result = val[0] << s(:str, val[1]) result end def _reduce_453(val, _values, result) result = s(:str, "") result end def _reduce_454(val, _values, result) result = literal_concat(val[0], val[1]) result end def _reduce_455(val, _values, result) result = nil result end def _reduce_456(val, _values, result) result = literal_concat(val[0], val[1]) result end def _reduce_457(val, _values, result) result = nil result end def _reduce_458(val, _values, result) result = literal_concat(val[0], val[1]) result end def _reduce_459(val, _values, result) result = s(:str, val[0]) result end def _reduce_460(val, _values, result) result = lexer.lex_strterm lexer.lex_strterm = nil lexer.lex_state = :expr_beg result end def _reduce_461(val, _values, result) lexer.lex_strterm = val[1] result = s(:evstr, val[2]) result end def _reduce_462(val, _values, result) result = lexer.lex_strterm lexer.lex_strterm = nil lexer.lex_state = :expr_beg lexer.cond.push false lexer.cmdarg.push false result end def _reduce_463(val, _values, result) lexer.lex_strterm = val[1] lexer.cond.lexpop lexer.cmdarg.lexpop case val[2] when Sexp then case val[2][0] when :str, :dstr, :evstr then result = val[2] else result = s(:evstr, val[2]) end when nil then result = s(:evstr) else raise "unknown string body: #{val[2].inspect}" end result end def _reduce_464(val, _values, result) result = s(:gvar, val[0].to_sym) result end def _reduce_465(val, _values, result) result = s(:ivar, val[0].to_sym) result end def _reduce_466(val, _values, result) result = s(:cvar, val[0].to_sym) result end # reduce 467 omitted def _reduce_468(val, _values, result) lexer.lex_state = :expr_end result = val[1].to_sym result end def _reduce_469(val, _values, result) result = val[0].to_sym result end # reduce 470 omitted # reduce 471 omitted # reduce 472 omitted # reduce 473 omitted def _reduce_474(val, _values, result) lexer.lex_state = :expr_end result = val[1] yyerror "empty symbol literal" if result.nil? or result.empty? case result[0] when :dstr then result[0] = :dsym when :str then result = s(:lit, result.last.intern) else result = s(:dsym, "", result) end result end # reduce 475 omitted # reduce 476 omitted def _reduce_477(val, _values, result) result = -val[1] # TODO: pt_testcase result end def _reduce_478(val, _values, result) result = -val[1] # TODO: pt_testcase result end # reduce 479 omitted # reduce 480 omitted # reduce 481 omitted # reduce 482 omitted # reduce 483 omitted def _reduce_484(val, _values, result) result = s(:nil) result end def _reduce_485(val, _values, result) result = s(:self) result end def _reduce_486(val, _values, result) result = s(:true) result end def _reduce_487(val, _values, result) result = s(:false) result end def _reduce_488(val, _values, result) result = s(:str, self.file) result end def _reduce_489(val, _values, result) result = s(:lit, lexer.src.current_line) result end def _reduce_490(val, _values, result) result = if defined? Encoding then s(:const, Encoding::UTF_8) else s(:str, "Unsupported!") end result end def _reduce_491(val, _values, result) var = val[0] result = Sexp === var ? var : self.gettable(var) result end def _reduce_492(val, _values, result) var = val[0] result = Sexp === var ? var : self.gettable(var) result end def _reduce_493(val, _values, result) result = self.assignable val[0] result end def _reduce_494(val, _values, result) result = self.assignable val[0] result end def _reduce_495(val, _values, result) result = s(:nth_ref, val[0]) result end def _reduce_496(val, _values, result) result = s(:back_ref, val[0]) result end def _reduce_497(val, _values, result) result = nil result end def _reduce_498(val, _values, result) lexer.lex_state = :expr_beg result end def _reduce_499(val, _values, result) result = val[2] result end def _reduce_500(val, _values, result) yyerrok result = nil result end def _reduce_501(val, _values, result) result = val[1] lexer.lex_state = :expr_beg self.lexer.command_start = true result end def _reduce_502(val, _values, result) result = val[0] result end def _reduce_503(val, _values, result) result = args val result end def _reduce_504(val, _values, result) result = args val result end def _reduce_505(val, _values, result) result = args val result end def _reduce_506(val, _values, result) result = args val result end def _reduce_507(val, _values, result) result = args val result end def _reduce_508(val, _values, result) result = args val result end def _reduce_509(val, _values, result) result = args val result end def _reduce_510(val, _values, result) result = args val result end def _reduce_511(val, _values, result) result = args val result end def _reduce_512(val, _values, result) result = args val result end def _reduce_513(val, _values, result) result = args val result end def _reduce_514(val, _values, result) result = args val result end def _reduce_515(val, _values, result) result = args val result end def _reduce_516(val, _values, result) result = args val result end def _reduce_517(val, _values, result) result = args val result end def _reduce_518(val, _values, result) yyerror "formal argument cannot be a constant" result end def _reduce_519(val, _values, result) yyerror "formal argument cannot be an instance variable" result end def _reduce_520(val, _values, result) yyerror "formal argument cannot be a global variable" result end def _reduce_521(val, _values, result) yyerror "formal argument cannot be a class variable" result end # reduce 522 omitted def _reduce_523(val, _values, result) identifier = val[0].to_sym self.env[identifier] = :lvar result = identifier result end # reduce 524 omitted def _reduce_525(val, _values, result) result = val[1] result end def _reduce_526(val, _values, result) case val[0] when Symbol then result = s(:args) result << val[0] when Sexp then result = val[0] else raise "Unknown f_arg type: #{val.inspect}" end result end def _reduce_527(val, _values, result) list, _, item = val if list.sexp_type == :args then result = list else result = s(:args, list) end result << item result end def _reduce_528(val, _values, result) result = self.assignable val[0], val[2] # TODO: detect duplicate names result end def _reduce_529(val, _values, result) result = self.assignable val[0], val[2] result end def _reduce_530(val, _values, result) result = s(:block, val[0]) result end def _reduce_531(val, _values, result) result = val[0] result << val[2] result end def _reduce_532(val, _values, result) result = s(:block, val[0]) result end def _reduce_533(val, _values, result) result = self.block_append val[0], val[2] result end # reduce 534 omitted # reduce 535 omitted def _reduce_536(val, _values, result) # TODO: differs from parse.y - needs tests name = val[1].to_sym self.assignable name result = :"*#{name}" result end def _reduce_537(val, _values, result) name = :"*" self.env[name] = :lvar result = name result end # reduce 538 omitted # reduce 539 omitted def _reduce_540(val, _values, result) identifier = val[1].to_sym self.env[identifier] = :lvar result = "&#{identifier}".to_sym result end def _reduce_541(val, _values, result) result = val[1] result end def _reduce_542(val, _values, result) result = nil result end # reduce 543 omitted def _reduce_544(val, _values, result) lexer.lex_state = :expr_beg result end def _reduce_545(val, _values, result) result = val[2] yyerror "Can't define single method for literals." if result[0] == :lit result end def _reduce_546(val, _values, result) result = s(:array) result end def _reduce_547(val, _values, result) result = val[0] result end # reduce 548 omitted def _reduce_549(val, _values, result) list = val[0].dup more = val[2][1..-1] list.push(*more) unless more.empty? result = list result end def _reduce_550(val, _values, result) result = s(:array, val[0], val[2]) result end def _reduce_551(val, _values, result) result = s(:array, s(:lit, val[0][0].to_sym), val[1]) result end # reduce 552 omitted # reduce 553 omitted # reduce 554 omitted # reduce 555 omitted # reduce 556 omitted # reduce 557 omitted # reduce 558 omitted # reduce 559 omitted # reduce 560 omitted # reduce 561 omitted # reduce 562 omitted # reduce 563 omitted # reduce 564 omitted # reduce 565 omitted # reduce 566 omitted # reduce 567 omitted # reduce 568 omitted # reduce 569 omitted # reduce 570 omitted # reduce 571 omitted # reduce 572 omitted def _reduce_573(val, _values, result) yyerrok result end # reduce 574 omitted # reduce 575 omitted def _reduce_576(val, _values, result) yyerrok result end def _reduce_577(val, _values, result) result = nil result end def _reduce_none(val, _values, result) val[0] end end # class Ruby19Parser