#
# DO NOT MODIFY!!!!
# This file is automatically generated by Racc 1.5.1
# from Racc grammar file "".
#

require 'racc/parser.rb'
class Ruby26Parser < RubyParser::Parser


require "ruby_lexer"
require "ruby_parser_extras"
include RubyLexer::State::Values

# :stopdoc:

# Local Variables: **
# racc-token-length-max:14 **
# End: **
##### State transition tables begin ###

clist = [
'-529,602,285,602,602,-108,285,-529,-529,-529,832,602,-529,-529,-529',
'285,-529,235,648,-102,832,3,225,226,-529,-529,-529,-529,-529,651,128',
'231,-529,-94,124,127,-529,-529,281,-529,-529,-529,-529,-529,831,-109',
'-116,-104,602,-115,861,-80,95,236,831,887,233,609,-111,-113,96,763,-108',
'-109,-116,-115,222,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529',
'-529,-529,-529,-529,647,-110,-529,-529,-529,-102,-529,-529,287,-101',
'-529,650,287,-529,-529,232,-529,-107,-529,223,-529,287,-529,-529,-529',
'-529,-529,-529,-529,-99,-529,236,-529,-104,128,-116,128,128,-103,127',
'-102,127,127,-102,128,-529,-529,-529,-529,127,-529,-532,-529,-111,-113',
'-112,-110,-529,-532,-532,-532,-102,-529,-532,-532,-532,-529,-532,-104',
'-100,-107,-104,224,-106,860,-532,-101,-532,-532,-532,128,128,-102,-104',
'967,127,127,-532,-532,-104,-532,-532,-532,-532,-532,-108,-109,-116,-115',
'-112,-108,-109,-116,-115,-627,-103,-101,106,107,227,-114,-101,225,226',
'-101,-114,225,226,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532',
'-532,-532,-532,-532,-101,-627,-532,-532,-532,276,-532,-532,-103,-543',
'-532,-103,285,-532,-532,850,-532,338,-532,632,-532,851,-532,-532,-532',
'-532,-532,-532,-532,-103,-532,339,-532,-627,128,-111,-113,-112,-110',
'127,-111,-113,-112,-110,-628,-532,-532,-532,-532,236,-532,-306,-532',
'632,108,109,637,-532,-306,-306,-306,-628,-532,373,-306,-306,-532,-306',
'231,-108,236,-532,-103,729,236,230,728,-438,-532,-624,634,633,630,-105',
'228,775,-544,-306,-306,776,-306,-306,-306,-306,-306,106,107,-114,397',
'287,400,703,-114,478,402,582,405,579,578,577,-539,580,422,233,634,633',
'-625,-539,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306',
'-306,-306,-529,232,-306,-306,-306,427,675,-529,-213,477,-306,479,-624',
'-306,-109,632,-529,632,-306,480,-306,823,-306,-306,-306,-306,-306,-306',
'-306,587,-306,-116,-306,235,-624,509,824,-532,632,290,590,-116,108,109',
'-532,-306,-306,-631,-105,-625,-306,880,669,-532,-631,-631,-631,-306',
'519,587,-631,-631,-306,-631,729,-529,-114,731,-115,-543,590,-625,-631',
'598,597,-631,634,633,634,633,630,-111,670,-631,-631,793,-631,-631,-631',
'-631,-631,582,522,579,578,577,-113,580,-538,634,633,524,-532,598,597',
'-538,920,591,913,-79,729,-99,-111,731,-631,-631,-631,-631,-631,-631',
'-631,-631,-631,-631,-631,-631,-631,-631,-631,-108,-631,-631,-631,236',
'676,-631,-540,591,-631,534,-627,-631,-113,-540,-631,810,-631,535,-631',
'542,-631,-631,-631,-631,-631,-631,-631,293,-631,-631,-631,-350,-631',
'231,-541,-542,-110,236,-350,1015,475,-541,-542,-631,-631,-631,-103,-350',
'-631,476,-541,-542,-631,-631,-631,-631,290,-631,-631,-631,-631,-631',
'231,-631,-112,729,-544,-537,731,541,-631,-631,-631,-631,-537,-110,-297',
'236,539,545,1046,-631,-631,-297,-631,-631,-631,-631,-631,549,231,256',
'-297,236,-534,231,-350,551,232,-541,-542,-534,613,-535,128,632,476,609',
'-100,127,-535,611,-631,-631,-631,-631,-631,-631,-631,-631,-631,-631',
'-631,-631,-631,-631,-109,232,-631,-631,-631,231,825,-631,225,226,-631',
'415,662,-631,-631,-297,-631,614,-631,615,-631,660,-631,-631,-631,-631',
'-631,-631,-631,232,-631,-631,-631,582,232,579,578,577,587,580,634,633',
'635,639,-213,-631,-631,-631,-631,590,-631,-306,-631,669,-536,670,643',
'-631,-306,-306,-306,-536,-631,-306,-306,-306,-112,-306,-307,627,232',
'585,568,225,226,-307,628,-306,-306,-306,595,594,598,597,-307,646,-106',
'-306,-306,649,-306,-306,-306,-306,-306,-102,231,-104,-306,598,597,-307',
'128,778,-115,-306,656,127,-307,-279,-628,632,780,-111,-306,-113,591',
'-307,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306',
'-306,658,-307,-306,-306,-306,-306,826,-306,273,274,-306,632,-306,-306',
'-306,632,-306,-628,-306,659,-306,-306,-306,-306,-306,-306,-306,-306',
'-306,232,-306,-306,-306,582,-307,579,578,577,587,580,634,633,640,272',
'271,-306,-306,-306,-306,590,-306,-306,-306,883,887,810,128,-306,-306',
'-306,-306,127,-306,663,-306,-306,-114,-306,231,236,-306,585,634,633',
'652,1037,634,633,796,231,595,594,598,597,780,667,1043,-306,-306,668',
'-306,-306,-306,-306,-306,1041,231,-101,225,226,883,887,582,1037,579',
'578,577,290,580,128,680,256,780,256,127,-110,591,256,-306,-306,-306',
'-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,256,232,-306',
'-306,-306,256,675,687,749,236,-306,253,232,-306,236,255,254,752,-306',
'236,-306,-94,-306,-306,-306,-306,-306,-306,-306,232,-306,582,-306,579',
'578,577,706,580,582,236,579,578,577,554,580,-306,-306,-631,-306,717',
'-306,718,722,424,-631,-631,-631,-306,426,425,-631,-631,-306,-631,256',
'725,-114,236,732,749,733,524,-631,256,737,740,749,741,752,743,266,267',
'745,-631,-631,960,-631,-631,-631,-631,-631,1008,747,579,578,577,253',
'580,259,755,255,254,251,252,756,253,257,757,258,255,254,251,252,759',
'-631,-631,-631,-631,-631,-631,-631,-631,-631,-631,-631,-631,-631,-631',
'725,256,-631,-631,-631,582,676,579,578,577,-631,580,725,-631,609,725',
'782,787,-631,797,-631,798,-631,-631,-631,-631,-631,-631,-631,-280,-631',
'-631,-631,253,811,509,509,255,254,251,252,236,828,749,276,-631,-631',
'-446,-631,837,-631,839,522,524,-446,-446,-446,-631,717,-446,-446,-446',
'-631,-446,256,1008,-112,579,578,577,236,580,-446,-446,-446,131,132,133',
'134,135,266,267,290,-446,-446,290,-446,-446,-446,-446,-446,582,717,579',
'578,577,253,580,259,256,255,254,251,252,236,878,257,582,258,579,578',
'577,236,580,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446',
'-446,-446,887,749,-446,-446,-446,725,236,-446,914,290,-446,-281,236',
'-446,-446,919,-446,749,-446,936,-446,717,-446,-446,-446,-446,-446,-446',
'-446,-279,-446,-446,-446,582,941,579,578,577,582,580,579,578,577,946',
'580,-446,-446,-315,-446,236,-446,740,949,951,-315,-315,-315,-446,953',
'-315,-315,-315,-446,-315,256,131,132,133,134,135,955,749,256,-315,-315',
'955,749,236,961,725,266,267,725,-315,-315,725,-315,-315,-315,-315,-315',
'131,132,133,134,135,253,236,259,725,255,254,251,252,253,236,908,909',
'255,254,910,122,123,979,-315,-315,-315,-315,-315,-315,-315,-315,-315',
'-315,-315,-315,-315,-315,-282,980,-315,-315,-315,740,983,-315,986,293',
'-315,988,990,-315,-315,236,-315,992,-315,1004,-315,1005,-315,-315,-315',
'-315,-315,-315,-315,1017,-315,725,-315,131,132,133,134,135,725,787,1035',
'1038,850,1044,1047,-315,-315,-298,-315,955,-315,955,955,1052,-298,-298',
'-298,-315,1017,-298,-298,-298,-315,-298,256,740,1061,1063,1065,1067',
'1067,722,1017,-298,-298,-298,725,725,-628,-627,266,267,236,-298,-298',
'955,-298,-298,-298,-298,-298,1017,1090,1067,1067,1067,253,1067,259,',
'255,254,251,252,,,,,,,,,,,-298,-298,-298,-298,-298,-298,-298,-298,-298',
'-298,-298,-298,-298,-298,,,-298,-298,-298,,,-298,,,-298,,,-298,-298',
',-298,,-298,,-298,,-298,-298,-298,-298,-298,-298,-298,,-298,,-298,582',
',579,578,577,587,580,,,,,,-298,-298,-298,-298,590,-298,-653,-298,,,',
',-298,-653,-653,-653,,-298,-653,-653,-653,,-653,256,,,585,,,,,-653,-653',
'-653,,595,594,598,597,266,267,,-653,-653,,-653,-653,-653,-653,-653,',
',,,,253,,,,255,254,251,252,,,,,,,,,591,,-653,-653,-653,-653,-653,-653',
'-653,-653,-653,-653,-653,-653,-653,-653,,,-653,-653,-653,,,-653,,290',
'-653,,,-653,-653,,-653,,-653,,-653,,-653,-653,-653,-653,-653,-653,-653',
',-653,-653,-653,,,,,,,,,,,,,-653,-653,-632,-653,,-653,,,,-632,-632,-632',
'-653,,-632,-632,-632,-653,-632,,,,,,,,,-632,-632,-632,-632,,,,,,,,-632',
'-632,,-632,-632,-632,-632,-632,,,,,,,,,,,,,,,,,,,,,,,,-632,-632,-632',
'-632,-632,-632,-632,-632,-632,-632,-632,-632,-632,-632,,,-632,-632,-632',
',,-632,,,-632,,,-632,-632,,-632,,-632,,-632,,-632,-632,-632,-632,-632',
'-632,-632,,-632,-632,-632,582,,579,578,577,587,580,,,,,,-632,-632,-632',
'-632,590,-632,-633,-632,,,,,-632,-633,-633,-633,,-632,-633,-633,-633',
',-633,,,,585,,,,,-633,-633,-633,-633,595,594,598,597,,,,-633,-633,,-633',
'-633,-633,-633,-633,,,,,,,,,,,,,,,,,,,,,,591,,-633,-633,-633,-633,-633',
'-633,-633,-633,-633,-633,-633,-633,-633,-633,,,-633,-633,-633,,,-633',
',,-633,,,-633,-633,,-633,,-633,,-633,,-633,-633,-633,-633,-633,-633',
'-633,,-633,-633,-633,582,,579,578,577,587,580,,,,,,-633,-633,-633,-633',
'590,-633,-653,-633,,,,,-633,-653,-653,-653,,-633,-653,-653,-653,,-653',
',,,585,,,,,-653,-653,,,,,598,597,,,,-653,-653,,-653,-653,-653,-653,-653',
',582,,579,578,577,587,580,,,,,,,,,,590,,,,591,,,,,,,,,,,,,-653,,,,,585',
',-653,,,,,290,-653,595,594,598,597,,,,,,,,,,,,,,,,,-653,-653,,,,,,,',
',,,,,-653,,591,,,-653,8,85,86,87,12,78,-653,,,79,80,-653,,,83,,81,82',
'84,33,34,76,77,,,,,,88,31,30,116,115,117,118,,,22,,,,,664,11,49,10,13',
'120,119,121,110,60,112,111,113,,114,122,123,,106,107,,45,46,44,256,260',
'261,262,263,273,274,268,269,264,265,,249,250,,,266,267,,43,,,36,,,62',
'63,,,64,,38,253,,259,48,255,254,251,252,272,271,257,23,258,,,,103,95',
'97,98,99,101,,,,96,104,,270,,-254,,,66,,,93,100,102,,,108,109,312,85',
'86,87,12,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31,30,116,115',
'117,118,,,22,,,,,664,11,49,314,13,120,119,121,110,60,112,111,113,,114',
'122,123,,106,107,,45,46,44,256,260,261,262,263,273,274,268,269,264,265',
',249,250,,,266,267,,43,,,316,,,62,63,,,64,,38,253,,259,48,255,254,251',
'252,272,271,257,23,258,,,,103,95,97,98,99,101,,,,96,104,,270,,,,,66',
',,93,100,102,,,108,109,312,85,86,87,12,78,,,,79,80,,,,83,,81,82,84,33',
'34,76,77,,,,,,88,31,30,116,115,117,118,,,22,,,,,,11,49,314,13,120,119',
'121,110,60,112,111,113,,114,122,123,,106,107,,45,46,44,256,260,261,262',
'263,273,274,268,269,264,265,,249,250,,,266,267,,43,,,36,,,62,63,,,64',
',38,253,,259,48,255,254,251,252,272,271,257,23,258,,,,103,95,97,98,99',
'101,,,,96,104,,270,,,,,66,,,93,100,102,,,108,109,312,85,86,87,12,78',
',,,79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31,30,116,115,117,118,',
',22,,,,,,11,49,314,13,120,119,121,110,60,112,111,113,,114,122,123,,106',
'107,,45,46,44,256,260,261,262,263,273,274,268,269,264,265,,249,250,',
',266,267,,43,,,36,,,62,63,,,64,,38,253,,259,48,255,254,251,252,272,271',
'257,23,258,,,,103,95,97,98,99,101,,,,96,104,,270,,,,,66,,,93,100,102',
',,108,109,312,85,86,87,12,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,',
',,,88,31,30,116,115,117,118,,,22,,,,,,11,49,314,13,120,119,121,110,60',
'112,111,113,,114,122,123,,106,107,,45,46,44,256,260,261,262,263,273',
'274,268,269,264,265,,249,250,,,266,267,,43,,,316,,,62,63,,,64,,38,253',
',259,48,255,254,251,252,272,271,257,23,258,,,,103,95,97,98,99,101,,',
',96,104,236,270,,,,,66,,,93,100,102,,,108,109,312,85,86,87,12,78,,,',
'79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31,30,116,115,117,118,,,22',
',,,,,11,49,314,13,120,119,121,110,60,112,111,113,,114,122,123,,106,107',
',45,46,44,256,260,261,262,263,273,274,268,269,264,265,,249,250,,,266',
'267,,43,,,316,,,62,63,,,64,,38,253,,259,48,255,254,251,252,272,271,257',
'23,258,,,,103,95,97,98,99,101,,,,96,104,,270,,,,,66,,,93,100,102,,,108',
'109,312,85,86,87,12,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88',
'31,30,116,115,117,118,,,22,,,,,,11,49,314,13,120,119,121,110,60,112',
'111,113,,114,122,123,,106,107,,45,46,44,256,260,261,262,263,273,274',
'268,269,264,265,,249,250,,,266,267,,43,,,36,,,62,63,,,64,,38,253,,259',
'48,255,254,251,252,272,271,257,23,258,,,,103,95,97,98,99,101,,,,96,104',
',270,,,,,66,,,93,100,102,,,108,109,312,85,86,87,12,78,,,,79,80,,,,83',
',81,82,84,33,34,76,77,,,,,,88,31,30,116,115,117,118,,,22,,,,,,11,49',
'314,13,120,119,121,110,60,112,111,113,,114,122,123,,106,107,,45,46,44',
'256,260,261,262,263,273,274,268,269,264,265,,249,250,,,266,267,,43,',
',36,,,62,63,,,64,,38,253,,259,48,255,254,251,252,272,271,257,23,258',
',,,103,95,97,98,99,101,,,,96,104,,270,,,,,66,,,93,100,102,,,108,109',
'312,85,86,87,12,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31,30',
'116,115,117,118,,,22,,,,,,11,49,314,13,120,119,121,110,60,112,111,113',
',114,122,123,,106,107,,45,46,44,256,260,261,262,263,273,274,268,269',
'264,265,,-654,-654,,,266,267,,43,,,36,,,62,63,,,64,,38,253,,259,48,255',
'254,251,252,272,271,257,23,258,,,,103,95,97,98,99,101,,,,96,104,,,,',
',,66,,,93,100,102,,,108,109,312,85,86,87,12,78,,,,79,80,,,,83,,81,82',
'84,33,34,76,77,,,,,,88,31,30,116,115,117,118,,,22,,,,,,11,49,314,13',
'120,119,121,110,60,112,111,113,,114,122,123,,106,107,,45,46,44,256,260',
'261,262,263,273,274,268,269,264,265,,-654,-654,,,266,267,,43,,,36,,',
'62,63,,,64,,38,253,,259,48,255,254,251,252,272,271,257,23,258,,,,103',
'95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,312,85,86',
'87,12,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31,30,116,115',
'117,118,,,22,,,,,,11,49,314,13,120,119,121,110,60,112,111,113,,114,122',
'123,,106,107,,45,46,44,256,-654,-654,-654,-654,273,274,,,-654,-654,',
',,,,266,267,,43,,,36,,,62,63,,,64,,38,253,,259,48,255,254,251,252,272',
'271,257,23,258,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102',
',,108,109,8,85,86,87,12,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,',
',88,31,30,116,115,117,118,,,22,,,,,,11,49,10,13,120,119,121,110,60,112',
'111,113,,114,122,123,,106,107,,45,46,44,256,-654,-654,-654,-654,273',
'274,,,-654,-654,,,,,,266,267,,43,,,36,,,62,63,,,64,,38,253,,259,48,255',
'254,251,252,272,271,257,23,258,,,,103,95,97,98,99,101,,,,96,104,,,,',
',,66,,,93,100,102,,,108,109,312,85,86,87,12,78,,,,79,80,,,,83,,81,82',
'84,33,34,76,77,,,,,,88,31,30,116,115,117,118,,,22,,,,,,11,49,314,13',
'120,119,121,110,60,112,111,113,,114,122,123,,106,107,,45,46,44,256,-654',
'-654,-654,-654,273,274,,,-654,-654,,,,,,266,267,,43,,,36,,,62,63,,,64',
',38,253,,259,48,255,254,251,252,272,271,257,23,258,,,,103,95,97,98,99',
'101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,312,85,86,87,12,78,,,',
'79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31,30,116,115,117,118,,,22',
',,,,,11,49,314,13,120,119,121,110,60,112,111,113,,114,122,123,,106,107',
',45,46,44,256,-654,-654,-654,-654,273,274,,,-654,-654,,,,,,266,267,',
'43,,,36,,,62,63,,,64,,38,253,,259,48,255,254,251,252,272,271,257,23',
'258,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109',
'312,85,86,87,12,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31,30',
'116,115,117,118,,,22,,,,,,11,49,314,13,120,119,121,110,60,112,111,113',
',114,122,123,,106,107,,45,46,44,256,-654,-654,-654,-654,273,274,,,-654',
'-654,,,,,,266,267,,43,,,36,,,62,63,,,64,,38,253,,259,48,255,254,251',
'252,272,271,257,23,258,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93',
'100,102,,,108,109,312,85,86,87,12,78,,,,79,80,,,,83,,81,82,84,33,34',
'76,77,,,,,,88,31,30,116,115,117,118,,,22,,,,,,11,49,314,13,120,119,121',
'110,60,112,111,113,,114,122,123,,106,107,,45,46,44,256,-654,-654,-654',
'-654,273,274,,,-654,-654,,,,,,266,267,,43,,,36,,,62,63,,,64,,38,253',
',259,48,255,254,251,252,272,271,257,23,258,,,,103,95,97,98,99,101,,',
',96,104,,,,,,,66,,,93,100,102,,,108,109,312,85,86,87,12,78,,,,79,80',
',,,83,,81,82,84,33,34,76,77,,,,,,88,31,30,116,115,117,118,,,22,,,,,',
'11,49,314,13,120,119,121,110,60,112,111,113,,114,122,123,,106,107,,45',
'46,44,256,260,261,262,263,273,274,,,264,265,,,,,,266,267,,43,,,36,,',
'62,63,,,64,,38,253,,259,48,255,254,251,252,272,271,257,23,258,,,,103',
'95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,312,85,86',
'87,12,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31,30,116,115',
'117,118,,,22,,,,,,11,49,314,13,120,119,121,110,60,112,111,113,,114,122',
'123,,106,107,,45,46,44,256,260,261,262,263,273,274,268,,264,265,,,,',
',266,267,,43,,,36,,,62,63,,,64,,38,253,,259,48,255,254,251,252,272,271',
'257,23,258,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,',
'108,109,312,85,86,87,12,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,',
',88,31,30,116,115,117,118,,,22,,,,,,11,49,314,13,120,119,121,110,60',
'112,111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,43,,',
'36,,,62,63,,,64,,38,,,,48,,,,,,,,23,,,,,103,95,97,98,99,101,,,,96,104',
',,,,,,66,,,93,100,102,,,108,109,312,85,86,87,12,78,,,,79,80,,,,83,,81',
'82,84,33,34,76,77,,,,,,88,31,30,116,115,117,118,,,22,,,,,,11,49,314',
'13,120,119,121,110,60,112,111,113,,114,122,123,,106,107,,45,46,44,,',
',,,,,,,,,,,,,,,,,43,,,36,,,62,63,,,64,,38,,,,48,,,,,,,,23,,,,,103,95',
'97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,312,85,86,87',
'12,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31,30,116,115,117',
'118,,,22,,,,,,11,49,314,13,120,119,121,110,60,112,111,113,,114,122,123',
',106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,43,,,36,,,62,63,,,64,,38,,,,48',
',,,,,,,23,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,',
'108,109,312,85,86,87,12,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,',
',88,31,30,116,115,117,118,,,22,,,,,,11,49,314,13,120,119,121,110,60',
'112,111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,43,,',
'36,,,62,63,,,64,,38,,,,48,,,,,,,,23,,,,,103,95,97,98,99,101,,,,96,104',
',,,,,,66,,,93,100,102,,,108,109,312,85,86,87,12,78,,,,79,80,,,,83,,81',
'82,84,33,34,76,77,,,,,,88,31,30,116,115,117,118,,,22,,,,,,11,49,314',
'13,120,119,121,110,60,112,111,113,,114,122,123,,106,107,,45,46,44,,',
',,,,,,,,,,,,,,,,,43,,,36,,,62,63,,,64,,38,,,,48,,,,,,,,23,,,,,103,95',
'97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,312,85,86,87',
'12,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31,30,116,115,117',
'118,,,22,,,,,,11,49,314,13,120,119,121,110,60,112,111,113,,114,122,123',
',106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,43,,,36,,,62,63,,,64,,38,,,,48',
',,,,,,,23,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,',
'108,109,312,85,86,87,12,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,',
',88,31,30,116,115,117,118,,,22,,,,,,11,49,314,13,120,119,121,110,60',
'112,111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,43,,',
'36,,,62,63,,,64,,38,,,,48,,,,,,,,23,,,,,103,95,97,98,99,101,,,,96,104',
',,,,,,66,,,93,100,102,,,108,109,312,85,86,87,12,78,,,,79,80,,,,83,,81',
'82,84,33,34,76,77,,,,,,88,31,30,116,115,117,118,,,22,,,,,,11,49,314',
'13,120,119,121,110,60,112,111,113,,114,122,123,,106,107,,45,46,44,,',
',,,,,,,,,,,,,,,,,43,,,36,,,62,63,,,64,,38,,,,48,,,,,,,,23,,,,,103,95',
'97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,312,85,86,87',
'12,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31,30,116,115,117',
'118,,,22,,,,,,11,49,314,13,120,119,121,110,60,112,111,113,,114,122,123',
',106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,43,,,36,,,62,63,,,64,,38,,,,48',
',,,,,,,23,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,',
'108,109,312,85,86,87,12,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,',
',88,31,30,116,115,117,118,,,22,,,,,,11,49,314,13,120,119,121,110,60',
'112,111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,43,,',
'36,,,62,63,,,64,,38,,,,48,,,,,,,,23,,,,,103,95,97,98,99,101,,,,96,104',
',,,,,,66,,,93,100,102,,,108,109,312,85,86,87,12,78,,,,79,80,,,,83,,81',
'82,84,33,34,76,77,,,,,,88,31,30,116,115,117,118,,,22,,,,,,11,49,314',
'13,120,119,121,110,60,112,111,113,,114,122,123,,106,107,,45,46,44,,',
',,,,,,,,,,,,,,,,,43,,,36,,,62,63,,,64,,38,,,,48,,,,,,,,23,,,,,103,95',
'97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,12,78',
',,,79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31,30,116,115,117,118,',
',22,,,,,,11,49,10,13,120,119,121,110,60,112,111,113,,114,122,123,,106',
'107,,45,46,44,,,,,,,,,,,,,,,,,,,,43,,,36,,,62,63,,,64,,38,,,,48,,,,',
',,,23,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108',
'109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31,30',
'116,115,117,118,,,248,,,,,,,49,,,120,119,121,110,60,112,111,113,,114',
'122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64',
',,,,,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100',
'102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,',
',88,31,30,116,115,117,118,,,248,,,,,,,49,,,120,119,121,110,60,112,111',
'113,305,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247',
',,62,63,,,64,,302,,300,,48,,,,,,,,246,,,,,103,303,97,98,99,101,,,,96',
'104,,,,,,,66,,306,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,',
'81,82,84,33,34,76,77,,,,,,88,31,30,116,115,117,118,,,248,,,,,,,49,,',
'120,119,121,110,60,112,111,113,305,114,122,123,,106,107,,45,46,44,,',
',,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,302,,300,,48,,,,,,,,246,,,',
',103,303,97,98,99,101,,,,96,104,,,,,,,66,,306,93,100,102,,,108,109,85',
'86,87,,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31,30,116,115',
'117,118,,,248,,,,,,,49,,,120,119,121,110,60,112,111,113,305,114,122',
'123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,302',
',300,,48,,,,,,,,246,,,,,103,303,97,98,99,101,,,,96,104,,,,,,,66,,306',
'93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76',
'77,,,,,,88,328,334,116,115,117,118,,,248,,,,,,,329,,,120,119,121,110',
'60,112,111,113,,114,122,123,,106,107,,,,335,,,,,,,,,,,,,,,,,,,,325,',
',321,,,62,63,,,64,,320,,,,,,,,,,,,,,,,,103,95,97,98,99,101,,,,96,104',
',,,,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84',
'331,332,76,77,,,,,,88,328,334,116,115,117,118,,,248,,,,,,,329,,,120',
'119,121,110,60,112,111,113,,114,122,123,,106,107,,,,335,,,,,,,,,,,,',
',,,,,,,325,,,247,,,62,63,,,64,,,,,,,,,,,,,,,,,,,103,95,97,98,99,101',
',,,96,104,,,,337,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80,',
',,83,,81,82,84,331,332,76,77,,,,,,88,328,334,116,115,117,118,,,248,',
',,,,,49,,,120,119,121,110,60,112,111,113,,114,122,123,,106,107,,45,46',
'44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,246,,,,',
'103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85,86',
'87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88,328,334,116,115',
'117,118,,,248,,,,,,,49,,,120,119,121,110,60,112,111,113,,114,122,123',
',106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48',
',,,,,,,246,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,',
',108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88',
'328,334,116,115,117,118,,,248,,,,,,,49,,,120,119,121,110,60,112,111',
'113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62',
'63,,,64,,,,,,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66',
',,93,100,102,,,108,109,85,86,87,12,78,,,,79,80,,,,83,,81,82,84,33,34',
'76,77,,,,,,88,31,30,116,115,117,118,,,22,,,,,,11,49,,13,120,119,121',
'110,60,112,111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,',
',,43,,,36,,,62,63,,,64,,38,,,,48,,,,,,,,23,,,,,103,95,97,98,99,101,',
',,96,104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83',
',81,82,84,33,34,76,77,,,,,,88,31,30,116,115,117,118,,,22,,,,,,,49,,',
'120,119,121,110,60,112,111,113,,114,122,123,,106,107,,45,46,44,,,,,',
',,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,23,,,,,103,95,97',
'98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,',
'79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31,30,116,115,117,118,,,22',
',,,,,,49,,,120,119,121,110,60,112,111,113,,114,122,123,,106,107,,45',
'46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,23,,',
',,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85,86',
'87,,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31,30,116,115,117',
'118,,,22,,,,,,,49,,,120,119,121,110,60,112,111,113,,114,122,123,,106',
'107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,',
',,,23,,,,,103,95,97,98,99,101,,,,96,104,128,,,,,127,66,,,93,100,102',
',,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88',
'328,334,116,115,117,118,,,248,,,,,,,329,,,120,119,121,110,60,112,111',
'113,,114,122,123,,106,107,,,,335,,,,,,,,,,,,,,,,,,,,367,,,36,,,62,63',
',,64,,38,,,,,,,,,,,,,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93',
'100,102,,,108,109,85,86,87,12,78,,,,79,80,,,,83,,81,82,84,33,34,76,77',
',,,,,88,31,30,116,115,117,118,,,22,,,,,,11,49,10,13,120,119,121,110',
'60,112,111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,43',
',,36,,,62,63,,,64,,38,,,,48,,,,,,,,23,,,,,103,95,97,98,99,101,,,,96',
'104,,,,,,415,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,',
'81,82,84,33,34,76,77,,,,,,88,31,30,116,115,117,118,,,22,,,,,,,49,,,120',
'119,121,110,60,112,111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,',
',,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,23,,,,,103,95,97,98',
'99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79',
'80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31,30,116,115,117,118,,,22,,',
',,,,49,,,120,119,121,110,60,112,111,113,,114,122,123,,106,107,,45,46',
'44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,23,,,,,103',
'95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,',
'78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31,30,116,115,117,118',
',,22,,,,,,,49,,,120,119,121,110,60,112,111,113,,114,122,123,,106,107',
',45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,23',
',,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85',
'86,87,,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31,30,116,115',
'117,118,,,22,,,,,,,49,,,120,119,121,110,60,112,111,113,,114,122,123',
',106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48',
',,,,,,,23,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,',
'108,109,85,86,87,12,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88',
'31,30,116,115,117,118,,,22,,,,,,11,49,,13,120,119,121,110,60,112,111',
'113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,43,,,36,,,62',
'63,,,64,,38,,,,48,,,,,,,,23,,,,,103,95,97,98,99,101,,,,96,104,,,,,,',
'66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,33,34',
'76,77,,,,,,88,31,30,116,115,117,118,,,248,,,,,,,49,,,120,119,121,110',
'60,112,111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241',
',,247,,,62,63,,,64,,432,,,,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,',
'96,104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,',
'81,82,84,33,34,76,77,,,,,,88,31,30,116,115,117,118,,,248,,,,,,,49,,',
'120,119,121,110,60,112,111,113,,114,122,123,,106,107,,45,46,44,,,,,',
',,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,432,,,,48,,,,,,,,246,,,,,103,95',
'97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,,78',
',,,79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31,30,116,115,117,118,',
',22,,,,,,,49,,,120,119,121,110,60,112,111,113,,114,122,123,,106,107',
',45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,23',
',,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85',
'86,87,,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31,30,116,115',
'117,118,,,22,,,,,,,49,,,120,119,121,110,60,112,111,113,,114,122,123',
',106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48',
',,,,,,,23,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,',
'108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31',
'30,116,115,117,118,,,248,,,,,,,49,,,120,119,121,110,60,112,111,113,',
'114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63',
',,64,,,,,,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,',
',93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,33,34,76',
'77,,,,,,88,31,30,116,115,117,118,,,248,,,,,,,49,,,120,119,121,110,60',
'112,111,113,305,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241',
',,247,,,62,63,,,64,,302,,300,,48,,,,,,,,246,,,,,103,303,97,98,99,101',
',,,96,104,,,,,,,66,,306,93,100,102,,,108,109,85,86,87,,78,,,,79,80,',
',,83,,81,82,84,33,34,76,77,,,,,,88,31,30,116,115,117,118,,,248,,,,,',
',49,,,120,119,121,110,60,112,111,113,,114,122,123,,106,107,,45,46,44',
',,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,246,,,,,103',
'95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,',
'78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31,30,116,115,117,118',
',,22,,,,,,,49,,,120,119,121,110,60,112,111,113,,114,122,123,,106,107',
',45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,23',
',,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85',
'86,87,,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31,30,116,115',
'117,118,,,22,,,,,,,49,,,120,119,121,110,60,112,111,113,,114,122,123',
',106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48',
',,,,,,,23,,,,,103,95,97,98,99,101,,,,96,104,236,,,,,,66,,,93,100,102',
',,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88',
'328,334,116,115,117,118,,,248,,,,,,,49,,,120,119,121,110,60,112,111',
'113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62',
'63,,,64,,,,,,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66',
',,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332',
'76,77,,,,,,88,328,334,116,115,117,118,,,248,,,,,,,49,,,120,119,121,110',
'60,112,111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241',
',,247,,,62,63,,,64,,,,,,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,,96',
'104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81',
'82,84,331,332,76,77,,,,,,88,328,334,116,115,117,118,,,248,,,,,,,49,',
',120,119,121,110,60,112,111,113,,114,122,123,,106,107,,45,46,44,,,,',
',,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,246,,,,,103,95',
'97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,,78',
',,,79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88,328,334,116,115,117,118',
',,248,,,,,,,49,,,120,119,121,110,60,112,111,113,,114,122,123,,106,107',
',45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,246',
',,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85',
'86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88,328,334,116',
'115,117,118,,,248,,,,,,,49,,,120,119,121,110,60,112,111,113,,114,122',
'123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,',
',,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100',
'102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,',
',,,88,328,334,116,115,117,118,,,248,,,,,,,49,,,120,119,121,110,60,112',
'111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247',
',,62,63,,,64,,,,,,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,,96,104,,',
',,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84',
'331,332,76,77,,,,,,88,328,334,116,115,117,118,,,248,,,,,,,49,,,120,119',
'121,110,60,112,111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,',
',,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,246,,,,,103,95,97,98,99',
'101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80',
',,,83,,81,82,84,331,332,76,77,,,,,,88,328,334,116,115,117,118,,,248',
',,,,,,49,,,120,119,121,110,60,112,111,113,,114,122,123,,106,107,,45',
'46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,246,',
',,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85',
'86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88,328,334,116',
'115,117,118,,,248,,,,,,,49,,,120,119,121,110,60,112,111,113,,114,122',
'123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,',
',,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100',
'102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,',
',,,88,328,334,116,115,117,118,,,248,,,,,,,49,,,120,119,121,110,60,112',
'111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247',
',,62,63,,,64,,,,,,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,,96,104,,',
',,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84',
'331,332,76,77,,,,,,88,328,334,116,115,117,118,,,248,,,,,,,49,,,120,119',
'121,110,60,112,111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,',
',,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,246,,,,,103,95,97,98,99',
'101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80',
',,,83,,81,82,84,331,332,76,77,,,,,,88,328,334,116,115,117,118,,,248',
',,,,,,49,,,120,119,121,110,60,112,111,113,,114,122,123,,106,107,,45',
'46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,246,',
',,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85',
'86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88,328,334,116',
'115,117,118,,,248,,,,,,,49,,,120,119,121,110,60,112,111,113,,114,122',
'123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,',
',,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100',
'102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,',
',,,88,328,334,116,115,117,118,,,248,,,,,,,49,,,120,119,121,110,60,112',
'111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247',
',,62,63,,,64,,,,,,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,,96,104,,',
',,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84',
'331,332,76,77,,,,,,88,328,334,116,115,117,118,,,248,,,,,,,49,,,120,119',
'121,110,60,112,111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,',
',,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,246,,,,,103,95,97,98,99',
'101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80',
',,,83,,81,82,84,331,332,76,77,,,,,,88,328,334,116,115,117,118,,,248',
',,,,,,49,,,120,119,121,110,60,112,111,113,,114,122,123,,106,107,,45',
'46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,246,',
',,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85',
'86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88,328,334,116',
'115,117,118,,,248,,,,,,,49,,,120,119,121,110,60,112,111,113,,114,122',
'123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,',
',,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100',
'102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,',
',,,88,328,334,116,115,117,118,,,248,,,,,,,49,,,120,119,121,110,60,112',
'111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247',
',,62,63,,,64,,,,,,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,,96,104,,',
',,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84',
'331,332,76,77,,,,,,88,328,334,116,115,117,118,,,248,,,,,,,49,,,120,119',
'121,110,60,112,111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,',
',,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,246,,,,,103,95,97,98,99',
'101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80',
',,,83,,81,82,84,331,332,76,77,,,,,,88,328,334,116,115,117,118,,,248',
',,,,,,49,,,120,119,121,110,60,112,111,113,,114,122,123,,106,107,,45',
'46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,246,',
',,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85',
'86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88,328,334,116',
'115,117,118,,,248,,,,,,,49,,,120,119,121,110,60,112,111,113,,114,122',
'123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,',
',,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100',
'102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,',
',,,88,328,334,116,115,117,118,,,248,,,,,,,49,,,120,119,121,110,60,112',
'111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247',
',,62,63,,,64,,,,,,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,,96,104,,',
',,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84',
'331,332,76,77,,,,,,88,328,334,116,115,117,118,,,248,,,,,,,49,,,120,119',
'121,110,60,112,111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,',
',,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,246,,,,,103,95,97,98,99',
'101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80',
',,,83,,81,82,84,331,332,76,77,,,,,,88,328,334,116,115,117,118,,,248',
',,,,,,49,,,120,119,121,110,60,112,111,113,,114,122,123,,106,107,,45',
'46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,246,',
',,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85',
'86,87,,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31,30,116,115',
'117,118,,,248,,,,,,,49,,,120,119,121,110,60,112,111,113,305,114,122',
'123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,302',
',300,,48,,,,,,,,246,,,,,103,303,97,98,99,101,,,,96,104,,,,,,,66,,306',
'93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,33,34,76',
'77,,,,,,88,31,30,116,115,117,118,,,248,,,,,,,49,,,120,119,121,110,60',
'112,111,113,305,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241',
',,247,,,62,63,,,64,,302,,300,,48,,,,,,,,246,,,,,103,303,97,98,99,101',
',,,96,104,,,,,,,66,,306,93,100,102,,,108,109,85,86,87,,78,,,,79,80,',
',,83,,81,82,84,33,34,76,77,,,,,,88,31,30,116,115,117,118,,,248,,,,,',
',49,,,120,119,121,110,60,112,111,113,305,114,122,123,,106,107,,45,46',
'44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,302,,300,,48,,,,,,,,246',
',,,,103,303,97,98,99,101,,,,96,104,236,,,,,,66,,306,93,100,102,,,108',
'109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88,328',
'334,116,115,117,118,,,248,,,,,,,49,,,120,119,121,110,60,112,111,113',
',114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63',
',,64,,,,,,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,',
',93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332',
'76,77,,,,,,88,328,334,116,115,117,118,,,248,,,,,,,49,,,120,119,121,110',
'60,112,111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241',
',,247,,,62,63,,,64,,,,,,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,,96',
'104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81',
'82,84,331,332,76,77,,,,,,88,328,334,116,115,117,118,,,248,,,,,,,49,',
',120,119,121,110,60,112,111,113,,114,122,123,,106,107,,45,46,44,,,,',
',,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,246,,,,,103,95',
'97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,,78',
',,,79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88,328,334,116,115,117,118',
',,248,,,,,,,49,,,120,119,121,110,60,112,111,113,,114,122,123,,106,107',
',45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,246',
',,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85',
'86,87,12,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31,30,116,115',
'117,118,,,22,,,,,,11,49,,13,120,119,121,110,60,112,111,113,,114,122',
'123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,43,,,36,,,62,63,,,64,,38,',
',,48,,,,,,,,23,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102',
',,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88',
'328,334,116,115,117,118,,,248,,,,,,,329,,,120,119,121,110,60,112,111',
'113,,114,122,123,,106,107,,,,335,,,,,,,,,,,,,,,,,,,,325,,,247,,,62,63',
',,64,,,,,,,,,,,,,,,,,,,103,95,97,98,99,101,,,,96,104,,,,537,,,66,,,93',
'100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77',
',,,,,88,328,334,116,115,117,118,,,248,,,,,,,329,,,120,119,121,110,60',
'112,111,113,,114,122,123,,106,107,,,,335,,,,,,,,,,,,,,,,,,,,325,,,321',
',,62,63,,,64,,,,,,,,,,,,,,,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66',
',,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332',
'76,77,,,,,,88,328,334,116,115,117,118,,,248,,,,,,,49,,,120,119,121,110',
'60,112,111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241',
',,247,,,62,63,,,64,,,,,,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,,96',
'104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81',
'82,84,331,332,76,77,,,,,,88,328,334,116,115,117,118,,,248,,,,,,,49,',
',120,119,121,110,60,112,111,113,,114,122,123,,106,107,,45,46,44,,,,',
',,,,,,,,,,,,,,,241,,,247,554,,62,63,,,64,,,,,,48,,,,,,,,246,,,,,103',
'95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,',
'78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88,328,334,116,115,117',
'118,,,248,,,,,,,49,,,120,119,121,110,60,112,111,113,305,114,122,123',
',106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,302,,',
',48,,,,,,,,246,,,,,103,303,97,98,99,101,,,,96,104,,,,,,,66,,306,93,100',
'102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,',
',,,88,328,334,116,115,117,118,,,248,,,,,,,49,,,120,119,121,110,60,112',
'111,113,305,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,',
'247,,,62,63,,,64,,,,,,48,,,,,,,,246,,,,,103,303,97,98,99,101,,,,96,104',
',,,,,,66,,306,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82',
'84,33,34,76,77,,,,,,88,31,30,116,115,117,118,,,22,,,,,,,49,,,120,119',
'121,110,60,112,111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,',
',,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,23,,,,,103,95,97,98,99,101',
',,,96,104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83',
',81,82,84,331,332,76,77,,,,,,88,328,334,116,115,117,118,,,248,,,,,,',
'329,,,120,119,121,616,60,112,111,617,,114,122,123,,106,107,,,,335,,',
',,,,,,,,,,,,,,,,,618,,,247,,,62,63,,,64,,,,,,,,,,,,,,,,,,,103,95,97',
'98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,',
'79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88,328,334,116,115,117,118',
',,248,,,,,,,329,,,120,119,121,616,60,112,111,617,,114,122,123,,106,107',
',,,335,,,,,,,,,,,,,,,,,,,,618,,,247,,,62,63,,,64,,,,,,,,,,,,,,,,,,,103',
'95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,',
'78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88,328,334,116,115,117',
'118,,,248,,,,,,,49,,,120,119,121,110,60,112,111,113,,114,122,123,,106',
'107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,',
',,,246,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108',
'109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31,30',
'116,115,117,118,,,248,,,,,,,49,,,120,119,121,110,60,112,111,113,305',
'114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63',
',,64,,302,,300,,48,,,,,,,,246,,,,,103,303,97,98,99,101,,,,96,104,,,',
',,,66,,306,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84',
'331,332,76,77,,,,,,88,328,334,116,115,117,118,,,248,,,,,,,49,,,120,119',
'121,110,60,112,111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,',
',,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,246,,,,,103,95,97,98,99',
'101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80',
',,,83,,81,82,84,331,332,76,77,,,,,,88,328,334,116,115,117,118,,,248',
',,,,,,49,,,120,119,121,110,60,112,111,113,,114,122,123,,106,107,,45',
'46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,246,',
',,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85',
'86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88,328,334,116',
'115,117,118,,,248,,,,,,,49,,,120,119,121,110,60,112,111,113,,114,122',
'123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,',
',,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100',
'102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,',
',,,88,328,334,116,115,117,118,,,248,,,,,,,49,,,120,119,121,110,60,112',
'111,113,305,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,',
'247,,,62,63,,,64,,700,,300,,48,,,,,,,,246,,,,,103,303,97,98,99,101,',
',,96,104,,,,,,,66,,306,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,',
',83,,81,82,84,331,332,76,77,,,,,,88,328,334,116,115,117,118,,,248,,',
',,,,49,,,120,119,121,110,60,112,111,113,305,114,122,123,,106,107,,45',
'46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,300,,48,,,,,,,,246',
',,,,103,303,97,98,99,101,,,,96,104,,,,,,,66,,306,93,100,102,,,108,109',
'85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88,328,334',
'116,115,117,118,,,248,,,,,,,49,,,120,119,121,110,60,112,111,113,,114',
'122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64',
',,,,,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100',
'102,,,108,109,85,86,87,12,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,',
',,,88,31,30,116,115,117,118,,,22,,,,,,11,49,314,13,120,119,121,110,60',
'112,111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,43,,',
'36,,,62,63,,,64,,38,,,,48,,,,,,,,23,,,,,103,95,97,98,99,101,,,,96,104',
',,,,,415,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82',
'84,331,332,76,77,,,,,,88,328,334,116,115,117,118,,,248,,,,,,,329,,,120',
'119,121,110,60,112,111,113,,114,122,123,,106,107,,,,335,,,,,,,,,,,,',
',,,,,,,325,,,321,,,62,63,,,64,,,,,,,,,,,,,,,,,,,103,95,97,98,99,101',
',,,96,104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83',
',81,82,84,33,34,76,77,,,,,,88,31,30,116,115,117,118,,,248,,,,,,,49,',
',120,119,121,110,60,112,111,113,305,114,122,123,,106,107,,45,46,44,',
',,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,302,,300,,48,,,,,,,,246,,',
',,103,303,97,98,99,101,,,,96,104,,,,,,,66,,306,93,100,102,,,108,109',
'85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88,328,334',
'116,115,117,118,,,248,,,,,,,329,,,120,119,121,110,60,112,111,113,,114',
'122,123,,106,107,,,,335,,,,,,,,,,,,,,,,,,,,325,,,321,,,62,63,,,64,,',
',,,,,,,,,,,,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102',
',,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88',
'328,334,116,115,117,118,,,248,,,,,,,49,,,120,119,121,110,60,112,111',
'113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62',
'63,,,64,,,,,,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66',
',,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,33,34,76',
'77,,,,,,88,31,30,116,115,117,118,,,22,,,,,,,49,,,120,119,121,110,60',
'112,111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,',
',247,,,62,63,,,64,,,,,,48,,,,,,,,23,,,,,103,95,97,98,99,101,,,,96,104',
',,,,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84',
'331,332,76,77,,,,,,88,328,334,116,115,117,118,,,248,,,,,,,49,,,120,119',
'121,110,60,112,111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,',
',,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,246,,,,,103,95,97,98,99',
'101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80',
',,,83,,81,82,84,33,34,76,77,,,,,,88,31,30,116,115,117,118,,,248,,,,',
',,49,,,120,119,121,110,60,112,111,113,305,114,122,123,,106,107,,45,46',
'44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,302,,300,,48,,,,,,,,246',
',,,,103,303,97,98,99,101,,,,96,104,,,,,,,66,,306,93,100,102,,,108,109',
'85,86,87,,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31,30,116',
'115,117,118,,,22,,,,,,,49,,,120,119,121,110,60,112,111,113,,114,122',
'123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,',
',,48,,,,,,,,23,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102',
',,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88',
'31,30,116,115,117,118,,,22,,,,,,,49,,,120,119,121,110,60,112,111,113',
',114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63',
',,64,,,,,,48,,,,,,,,23,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,',
'93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76',
'77,,,,,,88,328,334,116,115,117,118,,,248,,,,,,,49,,,120,119,121,110',
'60,112,111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241',
',,247,,,62,63,,,64,,802,,,,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,',
'96,104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,',
'81,82,84,33,34,76,77,,,,,,88,31,30,116,115,117,118,,,248,,,,,,,49,,',
'120,119,121,110,60,112,111,113,,114,122,123,,106,107,,45,46,44,,,,,',
',,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,246,,,,,103,95,97',
'98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,',
'79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31,30,116,115,117,118,,,248',
',,,,,,49,,,120,119,121,110,60,112,111,113,305,114,122,123,,106,107,',
'45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,302,,300,,48,,,',
',,,,246,,,,,103,303,97,98,99,101,,,,96,104,,,,,,,66,,306,93,100,102',
',,108,109,85,86,87,12,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88',
'31,30,116,115,117,118,,,22,,,,,,11,49,,13,120,119,121,110,60,112,111',
'113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,43,,,36,,,62',
'63,,,64,,38,,,,48,,,,,,,,23,,,,,103,95,97,98,99,101,,,,96,104,,,,,,',
'66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,331',
'332,76,77,,,,,,88,328,334,116,115,117,118,,,248,,,,,,,49,,,120,119,121',
'110,60,112,111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,',
',,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,246,,,,,103,95,97,98,99,101',
',,,96,104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83',
',81,82,84,331,332,76,77,,,,,,88,328,334,116,115,117,118,,,248,,,,,,',
'49,,,120,119,121,110,60,112,111,113,305,114,122,123,,106,107,,45,46',
'44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,700,,300,,48,,,,,,,,246',
',,,,103,303,97,98,99,101,,,,96,104,,,,,,,66,,306,93,100,102,,,108,109',
'85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88,328,334',
'116,115,117,118,,,248,,,,,,,49,,,120,119,121,110,60,112,111,113,305',
'114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63',
',,64,,,,300,,48,,,,,,,,246,,,,,103,303,97,98,99,101,,,,96,104,,,,,,',
'66,,306,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,33',
'34,76,77,,,,,,88,31,30,116,115,117,118,,,248,,,,,,,49,,,120,119,121',
'110,60,112,111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,',
',,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,246,,,,,103,95,97,98,99,101',
',,,96,104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83',
',81,82,84,33,34,76,77,,,,,,88,31,30,116,115,117,118,,,248,,,,,,,49,',
',120,119,121,110,60,112,111,113,,114,122,123,,106,107,,45,46,44,,,,',
',,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,246,,,,,103,95',
'97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,,78',
',,,79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31,30,116,115,117,118,',
',248,,,,,,,49,,,120,119,121,110,60,112,111,113,,114,122,123,,106,107',
',45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,246',
',,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85',
'86,87,,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31,30,116,115',
'117,118,,,248,,,,,,,49,,,120,119,121,110,60,112,111,113,,114,122,123',
',106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48',
',,,,,,,246,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,',
',108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88',
'328,334,116,115,117,118,,,248,,,,,,,49,,,120,119,121,110,60,112,111',
'113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62',
'63,,,64,,,,,,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66',
',,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332',
'76,77,,,,,,88,328,334,116,115,117,118,,,248,,,,,,,49,,,120,119,121,110',
'60,112,111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241',
',,247,,,62,63,,,64,,,,,,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,,96',
'104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81',
'82,84,331,332,76,77,,,,,,88,328,334,116,115,117,118,,,248,,,,,,,329',
',,120,119,121,110,60,112,111,113,,114,122,123,,106,107,,,,335,,,,,,',
',,,,,,,,,,,,,325,,,321,,,62,63,,,64,,,,,,,,,,,,,,,,,,,103,95,97,98,99',
'101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80',
',,,83,,81,82,84,331,332,76,77,,,,,,88,328,334,116,115,117,118,,,248',
',,,,,,329,,,120,119,121,110,60,112,111,113,,114,122,123,,106,107,,,',
'335,,,,,,,,,,,,,,,,,,,,325,,,321,,,62,63,,,64,,,,,,,,,,,,,,,,,,,103',
'95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,',
'78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88,328,334,116,115,117',
'118,,,248,,,,,,,49,,,120,119,121,110,60,112,111,113,,114,122,123,,106',
'107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,',
',,,246,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108',
'109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88,328',
'334,116,115,117,118,,,248,,,,,,,49,,,120,119,121,110,60,112,111,113',
',114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63',
',,64,,432,,,,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66',
',,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332',
'76,77,,,,,,88,328,334,116,115,117,118,,,248,,,,,,,49,,,120,119,121,110',
'60,112,111,113,305,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,',
',241,,,247,,,62,63,,,64,,700,,,,48,,,,,,,,246,,,,,103,303,97,98,99,101',
',,,96,104,,,,,,,66,,306,93,100,102,,,108,109,85,86,87,,78,,,,79,80,',
',,83,,81,82,84,331,332,76,77,,,,,,88,328,334,116,115,117,118,,,248,',
',,,,,49,,,120,119,121,110,60,112,111,113,305,114,122,123,,106,107,,45',
'46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,246,',
',,,103,303,97,98,99,101,,,,96,104,,,,,,,66,,306,93,100,102,,,108,109',
'85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88,328,334',
'116,115,117,118,,,248,,,,,,,49,,,120,119,121,110,60,112,111,113,,114',
'122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64',
',,,,,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100',
'102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,',
',,,88,328,334,116,115,117,118,,,248,,,,,,,49,,,120,119,121,110,60,112',
'111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247',
',,62,63,,,64,,302,,,,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,,96,104',
',,,,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84',
'33,34,76,77,,,,,,88,31,30,116,115,117,118,,,248,,,,,,,49,,,120,119,121',
'110,60,112,111,113,305,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,',
',,,,,241,,,247,,,62,63,,,64,,302,,300,,48,,,,,,,,246,,,,,103,303,97',
'98,99,101,,,,96,104,,,,,,,66,,306,93,100,102,,,108,109,85,86,87,,78',
',,,79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88,328,334,116,115,117,118',
',,248,,,,,,,49,,,120,119,121,110,60,112,111,113,,114,122,123,,106,107',
',45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,246',
',,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85',
'86,87,,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,,,88,31,30,116,115',
'117,118,,,248,,,,,,,49,,,120,119,121,110,60,112,111,113,,114,122,123',
',106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48',
',,,,,,,246,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,',
',108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88',
'328,334,116,115,117,118,,,248,,,,,,,49,,,120,119,121,110,60,112,111',
'113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62',
'63,,,64,,,,,,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66',
',,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332',
'76,77,,,,,,88,328,334,116,115,117,118,,,248,,,,,,,49,,,120,119,121,110',
'60,112,111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241',
',,247,,,62,63,,,64,,,,,,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,,96',
'104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81',
'82,84,331,332,76,77,,,,,,88,328,334,116,115,117,118,,,248,,,,,,,49,',
',120,119,121,110,60,112,111,113,,114,122,123,,106,107,,45,46,44,,,,',
',,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,246,,,,,103,95',
'97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,,78',
',,,79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88,328,334,116,115,117,118',
',,248,,,,,,,49,,,120,119,121,110,60,112,111,113,,114,122,123,,106,107',
',45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,246',
',,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85',
'86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88,328,334,116',
'115,117,118,,,248,,,,,,,49,,,120,119,121,110,60,112,111,113,,114,122',
'123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,',
',,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100',
'102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,33,34,76,77,,,,',
',88,31,30,116,115,117,118,,,22,,,,,,,49,,,120,119,121,110,60,112,111',
'113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62',
'63,,,64,,,,,,48,,,,,,,,23,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66',
',,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,33,34,76',
'77,,,,,,88,31,30,116,115,117,118,,,22,,,,,,,49,,,120,119,121,110,60',
'112,111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,',
',247,,,62,63,,,64,,,,,,48,,,,,,,,23,,,,,103,95,97,98,99,101,,,,96,104',
',,,,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84',
'331,332,76,77,,,,,,88,328,334,116,115,117,118,,,248,,,,,,,49,,,120,119',
'121,110,60,112,111,113,305,114,122,123,,106,107,,45,46,44,,,,,,,,,,',
',,,,,,,,,241,,,247,,,62,63,,,64,,,,300,,48,,,,,,,,246,,,,,103,303,97',
'98,99,101,,,,96,104,,,,,,,66,,306,93,100,102,,,108,109,85,86,87,,78',
',,,79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88,328,334,116,115,117,118',
',,248,,,,,,,49,,,120,119,121,110,60,112,111,113,,114,122,123,,106,107',
',45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,,,,,48,,,,,,,,246',
',,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108,109,85',
'86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88,328,334,116',
'115,117,118,,,248,,,,,,,329,,,120,119,121,110,60,112,111,113,,114,122',
'123,,106,107,,,,335,,,,,,,,,,,,,,,,,,,,994,,,247,,,62,63,,,64,,,,,,',
',,,,,,,,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100,102,,,108',
'109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,,,,,88,328',
'334,116,115,117,118,,,248,,,,,,,329,,,120,119,121,110,60,112,111,113',
',114,122,123,,106,107,,,,335,,,,,,,,,,,,,,,,,,,,1001,,,247,,,62,63,',
',64,,,,,,,,,,,,,,,,,,,103,95,97,98,99,101,,,,96,104,,,,,,,66,,,93,100',
'102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84,331,332,76,77,,',
',,,88,328,334,116,115,117,118,,,248,,,,,,,49,,,120,119,121,110,60,112',
'111,113,,114,122,123,,106,107,,45,46,44,,,,,,,,,,,,,,,,,,,,241,,,247',
',,62,63,,,64,,700,,,,48,,,,,,,,246,,,,,103,95,97,98,99,101,,,,96,104',
',,,,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83,,81,82,84',
'331,332,76,77,,,,,,88,328,334,116,115,117,118,,,248,,,,,,,329,,,120',
'119,121,110,60,112,111,113,,114,122,123,,106,107,,,,335,,,,,,,,,,,,',
',,,,,,,994,,,247,,,62,63,,,64,,,,,,,,,,,,,,,,,,,103,95,97,98,99,101',
',,,96,104,,,,,,,66,,,93,100,102,,,108,109,85,86,87,,78,,,,79,80,,,,83',
',81,82,84,33,34,76,77,,,,,,88,31,30,116,115,117,118,,,248,,,,,,,49,',
',120,119,121,110,60,112,111,113,305,114,122,123,,106,107,,45,46,44,',
',,,,,,,,,,,,,,,,,,241,,,247,,,62,63,,,64,,302,,300,,48,,,,,,,,246,,',
',,103,303,97,98,99,101,,,,96,104,,,,,,,66,,306,93,100,102,,,108,109',
'189,200,190,213,186,206,196,195,216,217,211,194,193,188,214,218,219',
'198,187,201,205,207,199,192,,,,208,215,210,209,202,212,197,185,204,203',
',,,,,184,191,182,183,179,180,181,139,141,138,,140,,,,,,,,,173,174,,169',
'151,152,153,160,157,159,,,154,155,,,,175,176,161,162,,,,,,,,,,,,,,166',
'165,,150,172,168,167,163,164,158,156,148,171,149,,,177,103,,,,,,,,,',
'104,,,,,,,,,170,,,,,178,189,200,190,213,186,206,196,195,216,217,211',
'194,193,188,214,218,219,198,187,201,205,207,199,192,,,,208,215,210,209',
'202,212,197,185,204,203,,,,,,184,191,182,183,179,180,181,139,141,,,140',
',,,,,,,,173,174,,169,151,152,153,160,157,159,,,154,155,,,,175,176,161',
'162,,,,,,,,,,,,,,166,165,,150,172,168,167,163,164,158,156,148,171,149',
',,177,103,,,,,,,,,,104,,,,,,,,,170,,,,,178,189,200,190,213,186,206,196',
'195,216,217,211,194,193,188,214,218,219,198,187,201,205,207,199,192',
',,,208,215,210,382,381,383,380,185,204,203,,,,,,184,191,182,183,377',
'378,379,375,141,112,111,376,,114,,,,,,,173,174,,169,151,152,153,160',
'157,159,,,154,155,,,,175,176,161,162,,,,,,389,,,,,,,,166,165,,150,172',
'168,167,163,164,158,156,148,171,149,,,177,,,,,,,,,,,,,,,,,,,,170,,,',
',178,189,200,190,213,186,206,196,195,216,217,211,194,193,188,214,218',
'219,198,187,201,205,207,199,192,,,,208,215,210,209,202,212,197,185,204',
'203,,,,,,184,191,182,183,179,180,181,139,141,412,411,140,,413,,,,,,',
'173,174,,169,151,152,153,160,157,159,,,154,155,,,,175,176,161,162,,',
',,,,,,,,,,,166,165,,150,172,168,167,163,164,158,156,148,171,149,,,177',
',,,,,,,,,,,,,,,,,,,170,,,,,178,189,200,190,213,186,206,196,195,216,217',
'211,194,193,188,214,218,219,198,187,201,205,207,199,192,,,,208,215,210',
'209,202,212,197,185,204,203,,,,,,184,191,182,183,179,180,181,139,141',
',,140,,,,,,,,,173,174,,169,151,152,153,160,157,159,,,154,155,,,,175',
'176,161,162,,,,,,,,,,,,,,166,165,,150,172,168,167,163,164,158,156,148',
'171,149,,,177,103,,,,,,,,,,104,,,,,,,,,170,,,,,178,189,200,190,213,186',
'206,196,195,216,217,211,194,193,188,214,218,219,198,187,201,205,207',
'199,192,,,,208,215,210,209,202,212,197,185,204,203,,,,,,184,191,182',
'183,179,180,181,139,141,,,140,,,,,,,,,173,174,,169,151,152,153,160,157',
'159,,,154,155,,,,175,176,161,162,,,,,,,,,,,,,,166,165,,150,172,168,167',
'163,164,158,156,148,171,149,,,177,103,,,,,,,,,,104,,,,,,,,,170,,,,,178',
'189,200,190,213,186,206,196,195,216,217,211,194,193,188,214,218,219',
'198,187,201,205,207,199,192,,,,208,215,210,209,202,212,197,185,204,203',
',,,,,184,191,182,183,179,180,181,139,141,,,140,,,,,,,,,173,174,,169',
'151,152,153,160,157,159,,,154,155,,,,175,176,161,162,,,,,,,,,,,,,,166',
'165,,150,172,168,167,163,164,158,156,148,171,149,,,177,,,,,,,,,,455',
'459,,,456,,,,,,170,,,173,174,178,169,151,152,153,160,157,159,,,154,155',
',,,175,176,161,162,,,,,,290,,,,,,,,166,165,,150,172,168,167,163,164',
'158,156,148,171,149,,,177,,,,,,,,,,462,466,,,461,,,,,,170,,,173,174',
'178,169,151,152,153,160,157,159,,,154,155,,,,175,176,161,162,,,,,,290',
',,,,,,,166,165,,150,172,168,167,163,164,158,156,148,171,149,,582,177',
'579,578,577,587,580,,,,,507,459,,,508,590,,,,,170,,,173,174,178,169',
'151,152,153,160,157,159,,,154,155,585,,,175,176,161,162,,,595,594,598',
'597,,,,,,,,166,165,,150,172,168,167,163,164,158,156,148,171,149,,,177',
',,,,,,,,591,681,459,,,682,,,,,,170,,,173,174,178,169,151,152,153,160',
'157,159,,,154,155,,,,175,176,161,162,,,,,,290,,,,,,,,166,165,,150,172',
'168,167,163,164,158,156,148,171,149,,,177,,,,,,,,,,683,466,,,684,,,',
',,170,,,173,174,178,169,151,152,153,160,157,159,,,154,155,,,,175,176',
'161,162,,,,,,290,,,,,,,,166,165,,150,172,168,167,163,164,158,156,148',
'171,149,,,177,,,,,,,,,,710,459,,,711,,,,,,170,,,173,174,178,169,151',
'152,153,160,157,159,,,154,155,,,,175,176,161,162,,,,,,290,,,,,,,,166',
'165,,150,172,168,167,163,164,158,156,148,171,149,,,177,,,,,,,,,,713',
'466,,,714,,,,,,170,,,173,174,178,169,151,152,153,160,157,159,,,154,155',
',,,175,176,161,162,,,,,,290,,,,,,,,166,165,,150,172,168,167,163,164',
'158,156,148,171,149,,,177,,,,,,,,,,681,459,,,682,,,,,,170,,,173,174',
'178,169,151,152,153,160,157,159,,,154,155,,,,175,176,161,162,,,,,,290',
',,,,,,,166,165,,150,172,168,167,163,164,158,156,148,171,149,,,177,,',
',,,,,,,683,466,,,684,,,,,,170,,,173,174,178,169,151,152,153,160,157',
'159,,,154,155,,,,175,176,161,162,,,,,,290,,,,,,,,166,165,,150,172,168',
'167,163,164,158,156,148,171,149,,,177,,,,,,,,,,770,459,,,771,,,,,,170',
',,173,174,178,169,151,152,153,160,157,159,,,154,155,,,,175,176,161,162',
',,,,,290,,,,,,,,166,165,,150,172,168,167,163,164,158,156,148,171,149',
',,177,,,,,,,,,,772,466,,,773,,,,,,170,,,173,174,178,169,151,152,153',
'160,157,159,,,154,155,,,,175,176,161,162,,,,,,290,,,,,,,,166,165,,150',
'172,168,167,163,164,158,156,148,171,149,,,177,,,,,,,,,,804,459,,,805',
',,,,,170,,,173,174,178,169,151,152,153,160,157,159,,,154,155,,,,175',
'176,161,162,,,,,,290,,,,,,,,166,165,,150,172,168,167,163,164,158,156',
'148,171,149,,,177,,,,,,,,,,807,466,,,806,,,,,,170,,,173,174,178,169',
'151,152,153,160,157,159,,,154,155,,,,175,176,161,162,,,,,,290,,,,,,',
',166,165,,150,172,168,167,163,164,158,156,148,171,149,,,177,,,,,,,,',
',894,466,,,895,,,,,,170,,,173,174,178,169,151,152,153,160,157,159,,',
'154,155,,,,175,176,161,162,,,,,,290,,,,,,,,166,165,,150,172,168,167',
'163,164,158,156,148,171,149,,,177,,,,,,,,,,507,459,,,508,,,,,,170,,',
'173,174,178,169,151,152,153,160,157,159,,,154,155,,,,175,176,161,162',
',,,,,290,,,,,,,,166,165,,150,172,168,167,163,164,158,156,148,171,149',
',,177,,,,,,,,,,1071,466,,,1070,,,,,,170,,,173,174,178,169,151,152,153',
'160,157,159,,,154,155,,,,175,176,161,162,,,,,,290,,,,,,,,166,165,,150',
'172,168,167,163,164,158,156,148,171,149,,,177,,,,,,,,,,1074,459,,,1075',
',,,,,170,,,173,174,178,169,151,152,153,160,157,159,,,154,155,,,,175',
'176,161,162,,,,,,290,,,,,,,,166,165,,150,172,168,167,163,164,158,156',
'148,171,149,,,177,,,,,,,,,,1076,466,,,1077,,,,,,170,,,173,174,178,169',
'151,152,153,160,157,159,,,154,155,,,,175,176,161,162,,,,,,290,,,,,,',
',166,165,,150,172,168,167,163,164,158,156,148,171,149,,582,177,579,578',
'577,587,580,582,,579,578,577,587,580,,,590,,,,,170,,590,,,178,582,,579',
'578,577,587,580,,,,,585,,,,,590,,585,,595,594,598,597,,,,595,594,598',
'597,582,,579,578,577,587,580,585,582,,579,578,577,587,580,,590,236,598',
'597,,,,,590,591,,,,,,582,591,579,578,577,587,580,585,582,,579,578,577',
'587,580,585,590,,598,597,,591,,,590,,598,597,582,,579,578,577,587,580',
',,582,585,579,578,577,587,580,590,,585,595,594,598,597,,591,590,,595',
'594,598,597,,591,,,,,582,585,579,578,577,587,580,,,,585,,598,597,,,590',
',591,,,598,597,,,582,591,579,578,577,587,580,,,,,,,585,,,590,,,,,591',
'595,594,598,597,,,,582,591,579,578,577,587,580,,582,585,579,578,577',
'587,580,,590,,,,598,597,,,590,,,,582,591,579,578,577,587,580,,,,585',
',,,,,590,,585,,,598,597,,,,591,,,598,597,,,,,,,,585,,,,,,,,,,,598,597',
',,,,591,,,,,,,,591,,,,,,,,,,,,,,,,,,,,591' ]
        racc_action_table = arr = ::Array.new(26394, 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 = [
'110,356,65,357,940,364,330,110,110,110,688,964,110,110,110,690,110,22',
'403,710,838,1,471,471,110,375,110,110,110,406,5,27,375,705,3,5,110,110',
'27,110,110,110,110,110,688,365,368,711,891,614,735,705,92,22,838,1020',
'20,1020,770,771,92,604,998,999,1002,1044,13,110,110,110,110,110,110',
'110,110,110,110,110,110,110,110,403,892,110,110,110,710,110,110,65,844',
'110,406,330,110,110,27,110,20,110,15,110,690,110,110,110,110,110,110',
'110,364,110,471,110,711,356,20,357,940,713,356,710,357,940,710,964,110',
'110,110,110,964,110,113,110,1074,1075,1076,1088,110,113,113,113,710',
'110,113,113,113,110,113,711,365,368,711,16,614,735,113,844,113,113,113',
'604,891,770,771,891,604,891,113,113,711,113,113,113,113,113,998,999',
'1002,1044,772,998,999,1002,1044,713,713,892,44,44,18,773,844,720,720',
'844,1077,790,790,113,113,113,113,113,113,113,113,113,113,113,113,113',
'113,844,1076,113,113,113,25,113,113,713,239,113,713,29,113,113,721,113',
'40,113,526,113,721,113,113,113,113,113,113,113,713,113,43,113,772,309',
'1074,1075,1076,1088,309,1074,1075,1076,1088,773,113,113,113,113,49,113',
'461,113,395,44,44,395,113,461,461,461,1077,113,73,461,461,113,461,19',
'239,720,376,772,560,790,19,560,29,376,616,526,526,526,773,19,618,240',
'461,461,618,461,461,461,461,461,335,335,1077,99,29,100,526,1077,242',
'101,752,102,752,752,752,377,752,136,439,395,395,617,377,461,461,461',
'461,461,461,461,461,461,461,461,461,461,461,616,19,461,461,461,220,461',
'616,477,241,461,243,616,461,240,641,616,391,461,244,461,681,461,461',
'461,461,461,461,461,737,461,242,461,248,616,282,682,617,795,286,737',
'439,335,335,617,461,461,462,461,617,461,752,804,617,462,462,462,461',
'297,980,462,462,461,462,561,616,461,561,477,41,980,617,462,737,737,894',
'641,641,391,391,391,681,805,462,462,641,462,462,462,462,462,960,298',
'960,960,960,682,960,378,795,795,301,617,980,980,378,827,737,795,315',
'565,41,804,565,462,462,462,462,462,462,462,462,462,462,462,462,462,462',
'894,41,462,462,462,317,462,894,379,980,462,318,894,462,805,379,894,916',
'462,319,462,325,462,462,462,462,462,462,462,328,462,462,462,50,894,238',
'322,323,827,329,50,960,238,322,323,462,462,683,462,50,462,238,322,323',
'683,683,683,462,334,683,683,683,462,683,324,894,462,858,42,380,858,324',
'683,683,683,683,380,916,326,1006,324,336,1006,683,683,326,683,683,683',
'683,683,340,341,343,326,349,381,366,50,341,238,322,323,381,366,382,361',
'393,341,362,42,361,382,366,683,683,683,683,683,683,683,683,683,683,683',
'683,683,683,42,324,683,683,683,438,683,683,17,17,683,363,438,683,683',
'326,683,367,683,369,683,438,683,683,683,683,683,683,683,341,683,683',
'683,354,366,354,354,354,354,354,393,393,393,397,339,683,683,683,683',
'354,683,684,683,455,383,456,400,683,684,684,684,383,683,684,684,684',
'683,684,542,385,438,354,354,355,355,542,385,684,684,684,354,354,354',
'354,542,402,339,684,684,405,684,684,684,684,684,455,620,456,714,740',
'740,776,900,620,339,714,428,900,776,431,714,398,620,455,714,456,354',
'776,684,684,684,684,684,684,684,684,684,684,684,684,684,684,433,542',
'684,684,684,895,684,684,47,47,684,408,895,684,684,644,684,895,684,436',
'684,895,684,684,684,684,684,684,684,620,684,714,684,568,776,568,568',
'568,568,568,398,398,398,47,47,684,684,684,684,568,684,806,684,758,758',
'665,904,684,806,806,806,904,684,440,806,806,684,806,993,450,895,568',
'408,408,408,993,644,644,644,1000,568,568,568,568,993,453,1000,806,806',
'454,806,806,806,806,806,1000,1036,665,784,784,1054,1054,585,1036,585',
'585,585,463,585,972,473,483,1036,485,972,665,568,486,806,806,806,806',
'806,806,806,806,806,806,806,806,806,806,487,993,806,806,806,488,806',
'504,585,515,806,483,1000,806,516,483,483,585,806,532,806,533,806,806',
'806,806,806,806,806,1036,806,749,806,749,749,749,536,749,878,538,878',
'878,878,543,878,806,806,807,806,546,806,548,555,138,807,807,807,806',
'138,138,807,807,806,807,503,556,806,557,562,749,563,566,807,498,570',
'571,878,573,749,574,503,503,575,807,807,878,807,807,807,807,807,946',
'584,946,946,946,503,946,503,592,503,503,503,503,596,498,503,599,503',
'498,498,498,498,601,807,807,807,807,807,807,807,807,807,807,807,807',
'807,807,605,499,807,807,807,880,807,880,880,880,807,880,606,807,607',
'608,622,625,807,648,807,651,807,807,807,807,807,807,807,657,807,807',
'807,499,666,671,677,499,499,499,499,685,686,880,689,807,807,30,807,692',
'807,694,697,699,30,30,30,807,707,30,30,30,807,30,552,1046,807,1046,1046',
'1046,709,1046,30,30,30,9,9,9,9,9,552,552,712,30,30,715,30,30,30,30,30',
'961,716,961,961,961,552,961,552,719,552,552,552,552,736,751,552,1015',
'552,1015,1015,1015,753,1015,30,30,30,30,30,30,30,30,30,30,30,30,30,30',
'760,961,30,30,30,766,769,30,799,30,30,801,803,30,30,812,30,1015,30,836',
'30,843,30,30,30,30,30,30,30,854,30,30,30,1017,855,1017,1017,1017,1052',
'1017,1052,1052,1052,862,1052,30,30,31,30,863,30,864,868,869,31,31,31',
'30,871,31,31,31,30,31,489,313,313,313,313,313,872,1017,484,31,31,874',
'1052,877,879,882,489,489,888,31,31,893,31,31,31,31,31,348,348,348,348',
'348,489,897,489,901,489,489,489,489,484,903,791,791,484,484,791,791',
'791,912,31,31,31,31,31,31,31,31,31,31,31,31,31,31,915,922,31,31,31,923',
'925,31,926,31,31,927,929,31,31,930,31,931,31,944,31,945,31,31,31,31',
'31,31,31,962,31,971,31,531,531,531,531,531,975,978,991,994,996,1001',
'1010,31,31,60,31,1011,31,1012,1013,1014,60,60,60,31,1016,60,60,60,31',
'60,490,1026,1029,1030,1031,1032,1034,1040,1053,60,60,60,1058,1059,1070',
'1071,490,490,1073,60,60,1079,60,60,60,60,60,1080,1084,1085,1086,1087',
'490,1095,490,,490,490,490,490,,,,,,,,,,,60,60,60,60,60,60,60,60,60,60',
'60,60,60,60,,,60,60,60,,,60,,,60,,,60,60,,60,,60,,60,,60,60,60,60,60',
'60,60,,60,,60,741,,741,741,741,741,741,,,,,,60,60,60,60,741,60,457,60',
',,,,60,457,457,457,,60,457,457,457,,457,491,,,741,,,,,457,457,457,,741',
'741,741,741,491,491,,457,457,,457,457,457,457,457,,,,,,491,,,,491,491',
'491,491,,,,,,,,,741,,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,466,457,,457,,',
',466,466,466,457,,466,466,466,457,466,,,,,,,,,466,466,466,466,,,,,,',
',466,466,,466,466,466,466,466,,,,,,,,,,,,,,,,,,,,,,,,466,466,466,466',
'466,466,466,466,466,466,466,466,466,466,,,466,466,466,,,466,,,466,,',
'466,466,,466,,466,,466,,466,466,466,466,466,466,466,,466,466,466,743',
',743,743,743,743,743,,,,,,466,466,466,466,743,466,467,466,,,,,466,467',
'467,467,,466,467,467,467,,467,,,,743,,,,,467,467,467,467,743,743,743',
'743,,,,467,467,,467,467,467,467,467,,,,,,,,,,,,,,,,,,,,,,743,,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,745,,745,745,745,745,745,,,,,,467,467,467,467,745,467,506,467,,',
',,467,506,506,506,,467,506,506,506,,506,,,,745,,,,,506,506,,,,,745,745',
',,,506,506,,506,506,506,506,506,,787,,787,787,787,787,787,,,,,,,,,,787',
',,,745,,,,,,,,,,,,,506,,,,,787,,506,,,,,506,506,787,787,787,787,,,,',
',,,,,,,,,,,,506,506,,,,,,,,,,,,,506,,787,,,506,2,2,2,2,2,2,506,,,2,2',
'506,,,2,,2,2,2,2,2,2,2,,,,,,2,2,2,2,2,2,2,,,2,,,,,443,2,2,2,2,2,2,2',
'2,2,2,2,2,,2,2,2,,2,2,,2,2,2,443,443,443,443,443,443,443,443,443,443',
'443,,443,443,,,443,443,,2,,,2,,,2,2,,,2,,2,443,,443,2,443,443,443,443',
'443,443,443,2,443,,,,2,2,2,2,2,2,,,,2,2,,443,,443,,,2,,,2,2,2,,,2,2',
'36,36,36,36,36,36,,,,36,36,,,,36,,36,36,36,36,36,36,36,,,,,,36,36,36',
'36,36,36,36,,,36,,,,,449,36,36,36,36,36,36,36,36,36,36,36,36,,36,36',
'36,,36,36,,36,36,36,449,449,449,449,449,449,449,449,449,449,449,,449',
'449,,,449,449,,36,,,36,,,36,36,,,36,,36,449,,449,36,449,449,449,449',
'449,449,449,36,449,,,,36,36,36,36,36,36,,,,36,36,,449,,,,,36,,,36,36',
'36,,,36,36,222,222,222,222,222,222,,,,222,222,,,,222,,222,222,222,222',
'222,222,222,,,,,,222,222,222,222,222,222,222,,,222,,,,,,222,222,222',
'222,222,222,222,222,222,222,222,222,,222,222,222,,222,222,,222,222,222',
'24,24,24,24,24,24,24,24,24,24,24,,24,24,,,24,24,,222,,,222,,,222,222',
',,222,,222,24,,24,222,24,24,24,24,24,24,24,222,24,,,,222,222,222,222',
'222,222,,,,222,222,,24,,,,,222,,,222,222,222,,,222,222,247,247,247,247',
'247,247,,,,247,247,,,,247,,247,247,247,247,247,247,247,,,,,,247,247',
'247,247,247,247,247,,,247,,,,,,247,247,247,247,247,247,247,247,247,247',
'247,247,,247,247,247,,247,247,,247,247,247,295,295,295,295,295,295,295',
'295,295,295,295,,295,295,,,295,295,,247,,,247,,,247,247,,,247,,247,295',
',295,247,295,295,295,295,295,295,295,247,295,,,,247,247,247,247,247',
'247,,,,247,247,,295,,,,,247,,,247,247,247,,,247,247,316,316,316,316',
'316,316,,,,316,316,,,,316,,316,316,316,316,316,316,316,,,,,,316,316',
'316,316,316,316,316,,,316,,,,,,316,316,316,316,316,316,316,316,316,316',
'316,316,,316,316,316,,316,316,,316,316,316,502,502,502,502,502,502,502',
'502,502,502,502,,502,502,,,502,502,,316,,,316,,,316,316,,,316,,316,502',
',502,316,502,502,502,502,502,502,502,316,502,,,,316,316,316,316,316',
'316,,,,316,316,502,502,,,,,316,,,316,316,316,,,316,316,321,321,321,321',
'321,321,,,,321,321,,,,321,,321,321,321,321,321,321,321,,,,,,321,321',
'321,321,321,321,321,,,321,,,,,,321,321,321,321,321,321,321,321,321,321',
'321,321,,321,321,321,,321,321,,321,321,321,553,553,553,553,553,553,553',
'553,553,553,553,,553,553,,,553,553,,321,,,321,,,321,321,,,321,,321,553',
',553,321,553,553,553,553,553,553,553,321,553,,,,321,321,321,321,321',
'321,,,,321,321,,553,,,,,321,,,321,321,321,,,321,321,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,809,809,809,809,809,809,809',
'809,809,809,809,,809,809,,,809,809,,347,,,347,,,347,347,,,347,,347,809',
',809,347,809,809,809,809,809,809,809,347,809,,,,347,347,347,347,347',
'347,,,,347,347,,809,,,,,347,,,347,347,347,,,347,347,359,359,359,359',
'359,359,,,,359,359,,,,359,,359,359,359,359,359,359,359,,,,,,359,359',
'359,359,359,359,359,,,359,,,,,,359,359,359,359,359,359,359,359,359,359',
'359,359,,359,359,359,,359,359,,359,359,359,921,921,921,921,921,921,921',
'921,921,921,921,,921,921,,,921,921,,359,,,359,,,359,359,,,359,,359,921',
',921,359,921,921,921,921,921,921,921,359,921,,,,359,359,359,359,359',
'359,,,,359,359,,921,,,,,359,,,359,359,359,,,359,359,360,360,360,360',
'360,360,,,,360,360,,,,360,,360,360,360,360,360,360,360,,,,,,360,360',
'360,360,360,360,360,,,360,,,,,,360,360,360,360,360,360,360,360,360,360',
'360,360,,360,360,360,,360,360,,360,360,360,481,481,481,481,481,481,481',
'481,481,481,481,,481,481,,,481,481,,360,,,360,,,360,360,,,360,,360,481',
',481,360,481,481,481,481,481,481,481,360,481,,,,360,360,360,360,360',
'360,,,,360,360,,,,,,,360,,,360,360,360,,,360,360,600,600,600,600,600',
'600,,,,600,600,,,,600,,600,600,600,600,600,600,600,,,,,,600,600,600',
'600,600,600,600,,,600,,,,,,600,600,600,600,600,600,600,600,600,600,600',
'600,,600,600,600,,600,600,,600,600,600,482,482,482,482,482,482,482,482',
'482,482,482,,482,482,,,482,482,,600,,,600,,,600,600,,,600,,600,482,',
'482,600,482,482,482,482,482,482,482,600,482,,,,600,600,600,600,600,600',
',,,600,600,,,,,,,600,,,600,600,600,,,600,600,603,603,603,603,603,603',
',,,603,603,,,,603,,603,603,603,603,603,603,603,,,,,,603,603,603,603',
'603,603,603,,,603,,,,,,603,603,603,603,603,603,603,603,603,603,603,603',
',603,603,603,,603,603,,603,603,603,492,492,492,492,492,492,492,,,492',
'492,,,,,,492,492,,603,,,603,,,603,603,,,603,,603,492,,492,603,492,492',
'492,492,492,492,492,603,492,,,,603,603,603,603,603,603,,,,603,603,,',
',,,,603,,,603,603,603,,,603,603,653,653,653,653,653,653,,,,653,653,',
',,653,,653,653,653,653,653,653,653,,,,,,653,653,653,653,653,653,653',
',,653,,,,,,653,653,653,653,653,653,653,653,653,653,653,653,,653,653',
'653,,653,653,,653,653,653,493,493,493,493,493,493,493,,,493,493,,,,',
',493,493,,653,,,653,,,653,653,,,653,,653,493,,493,653,493,493,493,493',
'493,493,493,653,493,,,,653,653,653,653,653,653,,,,653,653,,,,,,,653',
',,653,653,653,,,653,653,774,774,774,774,774,774,,,,774,774,,,,774,,774',
'774,774,774,774,774,774,,,,,,774,774,774,774,774,774,774,,,774,,,,,',
'774,774,774,774,774,774,774,774,774,774,774,774,,774,774,774,,774,774',
',774,774,774,494,494,494,494,494,494,494,,,494,494,,,,,,494,494,,774',
',,774,,,774,774,,,774,,774,494,,494,774,494,494,494,494,494,494,494',
'774,494,,,,774,774,774,774,774,774,,,,774,774,,,,,,,774,,,774,774,774',
',,774,774,785,785,785,785,785,785,,,,785,785,,,,785,,785,785,785,785',
'785,785,785,,,,,,785,785,785,785,785,785,785,,,785,,,,,,785,785,785',
'785,785,785,785,785,785,785,785,785,,785,785,785,,785,785,,785,785,785',
'495,495,495,495,495,495,495,,,495,495,,,,,,495,495,,785,,,785,,,785',
'785,,,785,,785,495,,495,785,495,495,495,495,495,495,495,785,495,,,,785',
'785,785,785,785,785,,,,785,785,,,,,,,785,,,785,785,785,,,785,785,786',
'786,786,786,786,786,,,,786,786,,,,786,,786,786,786,786,786,786,786,',
',,,,786,786,786,786,786,786,786,,,786,,,,,,786,786,786,786,786,786,786',
'786,786,786,786,786,,786,786,786,,786,786,,786,786,786,496,496,496,496',
'496,496,496,,,496,496,,,,,,496,496,,786,,,786,,,786,786,,,786,,786,496',
',496,786,496,496,496,496,496,496,496,786,496,,,,786,786,786,786,786',
'786,,,,786,786,,,,,,,786,,,786,786,786,,,786,786,792,792,792,792,792',
'792,,,,792,792,,,,792,,792,792,792,792,792,792,792,,,,,,792,792,792',
'792,792,792,792,,,792,,,,,,792,792,792,792,792,792,792,792,792,792,792',
'792,,792,792,792,,792,792,,792,792,792,497,497,497,497,497,497,497,',
',497,497,,,,,,497,497,,792,,,792,,,792,792,,,792,,792,497,,497,792,497',
'497,497,497,497,497,497,792,497,,,,792,792,792,792,792,792,,,,792,792',
',,,,,,792,,,792,792,792,,,792,792,833,833,833,833,833,833,,,,833,833',
',,,833,,833,833,833,833,833,833,833,,,,,,833,833,833,833,833,833,833',
',,833,,,,,,833,833,833,833,833,833,833,833,833,833,833,833,,833,833',
'833,,833,833,,833,833,833,500,500,500,500,500,500,500,,,500,500,,,,',
',500,500,,833,,,833,,,833,833,,,833,,833,500,,500,833,500,500,500,500',
'500,500,500,833,500,,,,833,833,833,833,833,833,,,,833,833,,,,,,,833',
',,833,833,833,,,833,833,852,852,852,852,852,852,,,,852,852,,,,852,,852',
'852,852,852,852,852,852,,,,,,852,852,852,852,852,852,852,,,852,,,,,',
'852,852,852,852,852,852,852,852,852,852,852,852,,852,852,852,,852,852',
',852,852,852,501,501,501,501,501,501,501,501,,501,501,,,,,,501,501,',
'852,,,852,,,852,852,,,852,,852,501,,501,852,501,501,501,501,501,501',
'501,852,501,,,,852,852,852,852,852,852,,,,852,852,,,,,,,852,,,852,852',
'852,,,852,852,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,,,,860,,,,,,,',
'860,,,,,860,860,860,860,860,860,,,,860,860,,,,,,,860,,,860,860,860,',
',860,860,861,861,861,861,861,861,,,,861,861,,,,861,,861,861,861,861',
'861,861,861,,,,,,861,861,861,861,861,861,861,,,861,,,,,,861,861,861',
'861,861,861,861,861,861,861,861,861,,861,861,861,,861,861,,861,861,861',
',,,,,,,,,,,,,,,,,,,861,,,861,,,861,861,,,861,,861,,,,861,,,,,,,,861',
',,,,861,861,861,861,861,861,,,,861,861,,,,,,,861,,,861,861,861,,,861',
'861,887,887,887,887,887,887,,,,887,887,,,,887,,887,887,887,887,887,887',
'887,,,,,,887,887,887,887,887,887,887,,,887,,,,,,887,887,887,887,887',
'887,887,887,887,887,887,887,,887,887,887,,887,887,,887,887,887,,,,,',
',,,,,,,,,,,,,,887,,,887,,,887,887,,,887,,887,,,,887,,,,,,,,887,,,,,887',
'887,887,887,887,887,,,,887,887,,,,,,,887,,,887,887,887,,,887,887,898',
'898,898,898,898,898,,,,898,898,,,,898,,898,898,898,898,898,898,898,',
',,,,898,898,898,898,898,898,898,,,898,,,,,,898,898,898,898,898,898,898',
'898,898,898,898,898,,898,898,898,,898,898,,898,898,898,,,,,,,,,,,,,',
',,,,,,898,,,898,,,898,898,,,898,,898,,,,898,,,,,,,,898,,,,,898,898,898',
'898,898,898,,,,898,898,,,,,,,898,,,898,898,898,,,898,898,937,937,937',
'937,937,937,,,,937,937,,,,937,,937,937,937,937,937,937,937,,,,,,937',
'937,937,937,937,937,937,,,937,,,,,,937,937,937,937,937,937,937,937,937',
'937,937,937,,937,937,937,,937,937,,937,937,937,,,,,,,,,,,,,,,,,,,,937',
',,937,,,937,937,,,937,,937,,,,937,,,,,,,,937,,,,,937,937,937,937,937',
'937,,,,937,937,,,,,,,937,,,937,937,937,,,937,937,938,938,938,938,938',
'938,,,,938,938,,,,938,,938,938,938,938,938,938,938,,,,,,938,938,938',
'938,938,938,938,,,938,,,,,,938,938,938,938,938,938,938,938,938,938,938',
'938,,938,938,938,,938,938,,938,938,938,,,,,,,,,,,,,,,,,,,,938,,,938',
',,938,938,,,938,,938,,,,938,,,,,,,,938,,,,,938,938,938,938,938,938,',
',,938,938,,,,,,,938,,,938,938,938,,,938,938,968,968,968,968,968,968',
',,,968,968,,,,968,,968,968,968,968,968,968,968,,,,,,968,968,968,968',
'968,968,968,,,968,,,,,,968,968,968,968,968,968,968,968,968,968,968,968',
',968,968,968,,968,968,,968,968,968,,,,,,,,,,,,,,,,,,,,968,,,968,,,968',
'968,,,968,,968,,,,968,,,,,,,,968,,,,,968,968,968,968,968,968,,,,968',
'968,,,,,,,968,,,968,968,968,,,968,968,997,997,997,997,997,997,,,,997',
'997,,,,997,,997,997,997,997,997,997,997,,,,,,997,997,997,997,997,997',
'997,,,997,,,,,,997,997,997,997,997,997,997,997,997,997,997,997,,997',
'997,997,,997,997,,997,997,997,,,,,,,,,,,,,,,,,,,,997,,,997,,,997,997',
',,997,,997,,,,997,,,,,,,,997,,,,,997,997,997,997,997,997,,,,997,997',
',,,,,,997,,,997,997,997,,,997,997,1018,1018,1018,1018,1018,1018,,,,1018',
'1018,,,,1018,,1018,1018,1018,1018,1018,1018,1018,,,,,,1018,1018,1018',
'1018,1018,1018,1018,,,1018,,,,,,1018,1018,1018,1018,1018,1018,1018,1018',
'1018,1018,1018,1018,,1018,1018,1018,,1018,1018,,1018,1018,1018,,,,,',
',,,,,,,,,,,,,,1018,,,1018,,,1018,1018,,,1018,,1018,,,,1018,,,,,,,,1018',
',,,,1018,1018,1018,1018,1018,1018,,,,1018,1018,,,,,,,1018,,,1018,1018',
'1018,,,1018,1018,1023,1023,1023,1023,1023,1023,,,,1023,1023,,,,1023',
',1023,1023,1023,1023,1023,1023,1023,,,,,,1023,1023,1023,1023,1023,1023',
'1023,,,1023,,,,,,1023,1023,1023,1023,1023,1023,1023,1023,1023,1023,1023',
'1023,,1023,1023,1023,,1023,1023,,1023,1023,1023,,,,,,,,,,,,,,,,,,,,1023',
',,1023,,,1023,1023,,,1023,,1023,,,,1023,,,,,,,,1023,,,,,1023,1023,1023',
'1023,1023,1023,,,,1023,1023,,,,,,,1023,,,1023,1023,1023,,,1023,1023',
'1025,1025,1025,1025,1025,1025,,,,1025,1025,,,,1025,,1025,1025,1025,1025',
'1025,1025,1025,,,,,,1025,1025,1025,1025,1025,1025,1025,,,1025,,,,,,1025',
'1025,1025,1025,1025,1025,1025,1025,1025,1025,1025,1025,,1025,1025,1025',
',1025,1025,,1025,1025,1025,,,,,,,,,,,,,,,,,,,,1025,,,1025,,,1025,1025',
',,1025,,1025,,,,1025,,,,,,,,1025,,,,,1025,1025,1025,1025,1025,1025,',
',,1025,1025,,,,,,,1025,,,1025,1025,1025,,,1025,1025,8,8,8,8,8,,,,8,8',
',,,8,,8,8,8,8,8,8,8,,,,,,8,8,8,8,8,8,8,,,8,,,,,,8,8,8,8,8,8,8,8,8,8',
'8,8,,8,8,8,,8,8,,8,8,8,,,,,,,,,,,,,,,,,,,,8,,,8,,,8,8,,,8,,8,,,,8,,',
',,,,,8,,,,,8,8,8,8,8,8,,,,8,8,,,,,,,8,,,8,8,8,,,8,8,23,23,23,,23,,,',
'23,23,,,,23,,23,23,23,23,23,23,23,,,,,,23,23,23,23,23,23,23,,,23,,,',
',,,23,,,23,23,23,23,23,23,23,23,,23,23,23,,23,23,,23,23,23,,,,,,,,,',
',,,,,,,,,,23,,,23,,,23,23,,,23,,,,,,23,,,,,,,,23,,,,,23,23,23,23,23',
'23,,,,23,23,,,,,,,23,,,23,23,23,,,23,23,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,33,33,33,,33,,,,33,33,,,,33,,33,33',
'33,33,33,33,33,,,,,,33,33,33,33,33,33,33,,,33,,,,,,,33,,,33,33,33,33',
'33,33,33,33,33,33,33,33,,33,33,,33,33,33,,,,,,,,,,,,,,,,,,,,33,,,33',
',,33,33,,,33,,33,,33,,33,,,,,,,,33,,,,,33,33,33,33,33,33,,,,33,33,,',
',,,,33,,33,33,33,33,,,33,33,34,34,34,,34,,,,34,34,,,,34,,34,34,34,34',
'34,34,34,,,,,,34,34,34,34,34,34,34,,,34,,,,,,,34,,,34,34,34,34,34,34',
'34,34,34,34,34,34,,34,34,,34,34,34,,,,,,,,,,,,,,,,,,,,34,,,34,,,34,34',
',,34,,34,,34,,34,,,,,,,,34,,,,,34,34,34,34,34,34,,,,34,34,,,,,,,34,',
'34,34,34,34,,,34,34,37,37,37,,37,,,,37,37,,,,37,,37,37,37,37,37,37,37',
',,,,,37,37,37,37,37,37,37,,,37,,,,,,,37,,,37,37,37,37,37,37,37,37,,37',
'37,37,,37,37,,,,37,,,,,,,,,,,,,,,,,,,,37,,,37,,,37,37,,,37,,37,,,,,',
',,,,,,,,,,,37,37,37,37,37,37,,,,37,37,,,,,,,37,,,37,37,37,,,37,37,38',
'38,38,,38,,,,38,38,,,,38,,38,38,38,38,38,38,38,,,,,,38,38,38,38,38,38',
'38,,,38,,,,,,,38,,,38,38,38,38,38,38,38,38,,38,38,38,,38,38,,,,38,,',
',,,,,,,,,,,,,,,,,38,,,38,,,38,38,,,38,,,,,,,,,,,,,,,,,,,38,38,38,38',
'38,38,,,,38,38,,,,38,,,38,,,38,38,38,,,38,38,45,45,45,,45,,,,45,45,',
',,45,,45,45,45,45,45,45,45,,,,,,45,45,45,45,45,45,45,,,45,,,,,,,45,',
',45,45,45,45,45,45,45,45,,45,45,45,,45,45,,45,45,45,,,,,,,,,,,,,,,,',
',,,45,,,45,,,45,45,,,45,,,,,,45,,,,,,,,45,,,,,45,45,45,45,45,45,,,,45',
'45,,,,,,,45,,,45,45,45,,,45,45,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,,,,,,,46,,',
'46,46,46,,,46,46,48,48,48,,48,,,,48,48,,,,48,,48,48,48,48,48,48,48,',
',,,,48,48,48,48,48,48,48,,,48,,,,,,,48,,,48,48,48,48,48,48,48,48,,48',
'48,48,,48,48,,48,48,48,,,,,,,,,,,,,,,,,,,,48,,,48,,,48,48,,,48,,,,,',
'48,,,,,,,,48,,,,,48,48,48,48,48,48,,,,48,48,,,,,,,48,,,48,48,48,,,48',
'48,62,62,62,62,62,,,,62,62,,,,62,,62,62,62,62,62,62,62,,,,,,62,62,62',
'62,62,62,62,,,62,,,,,,62,62,,62,62,62,62,62,62,62,62,62,,62,62,62,,62',
'62,,62,62,62,,,,,,,,,,,,,,,,,,,,62,,,62,,,62,62,,,62,,62,,,,62,,,,,',
',,62,,,,,62,62,62,62,62,62,,,,62,62,,,,,,,62,,,62,62,62,,,62,62,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,67,,,,,,,67,,,67,67,67,,,67,67,68,68,68,,68,,,,68,68',
',,,68,,68,68,68,68,68,68,68,,,,,,68,68,68,68,68,68,68,,,68,,,,,,,68',
',,68,68,68,68,68,68,68,68,,68,68,68,,68,68,,68,68,68,,,,,,,,,,,,,,,',
',,,,68,,,68,,,68,68,,,68,,,,,,68,,,,,,,,68,,,,,68,68,68,68,68,68,,,',
'68,68,,,,,,,68,,,68,68,68,,,68,68,71,71,71,,71,,,,71,71,,,,71,,71,71',
'71,71,71,71,71,,,,,,71,71,71,71,71,71,71,,,71,,,,,,,71,,,71,71,71,71',
'71,71,71,71,,71,71,71,,71,71,,71,71,71,,,,,,,,,,,,,,,,,,,,71,,,71,,',
'71,71,,,71,,,,,,71,,,,,,,,71,,,,,71,71,71,71,71,71,,,,71,71,71,,,,,71',
'71,,,71,71,71,,,71,71,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,,,72,,,72,72,,,72,,72,',
',,,,,,,,,,,,,,,72,72,72,72,72,72,,,,72,72,,,,,,,72,,,72,72,72,,,72,72',
'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,,,,,,,,126,,,,,126,126,126',
'126,126,126,,,,126,126,,,,,,126,126,,,126,126,126,,,126,126,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,131,131,,,,131,131',
',,,,,,131,,,131,131,131,,,131,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,132,132,,,,132,132,,,,,,,132,,,132,132,132',
',,132,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',
'133,133,,,,133,133,,,,,,,133,,,133,133,133,,,133,133,134,134,134,,134',
',,,134,134,,,,134,,134,134,134,134,134,134,134,,,,,,134,134,134,134',
'134,134,134,,,134,,,,,,,134,,,134,134,134,134,134,134,134,134,,134,134',
'134,,134,134,,134,134,134,,,,,,,,,,,,,,,,,,,,134,,,134,,,134,134,,,134',
',,,,,134,,,,,,,,134,,,,,134,134,134,134,134,134,,,,134,134,,,,,,,134',
',,134,134,134,,,134,134,135,135,135,135,135,,,,135,135,,,,135,,135,135',
'135,135,135,135,135,,,,,,135,135,135,135,135,135,135,,,135,,,,,,135',
'135,,135,135,135,135,135,135,135,135,135,,135,135,135,,135,135,,135',
'135,135,,,,,,,,,,,,,,,,,,,,135,,,135,,,135,135,,,135,,135,,,,135,,,',
',,,,135,,,,,135,135,135,135,135,135,,,,135,135,,,,,,,135,,,135,135,135',
',,135,135,223,223,223,,223,,,,223,223,,,,223,,223,223,223,223,223,223',
'223,,,,,,223,223,223,223,223,223,223,,,223,,,,,,,223,,,223,223,223,223',
'223,223,223,223,,223,223,223,,223,223,,223,223,223,,,,,,,,,,,,,,,,,',
',,223,,,223,,,223,223,,,223,,223,,,,223,,,,,,,,223,,,,,223,223,223,223',
'223,223,,,,223,223,,,,,,,223,,,223,223,223,,,223,223,224,224,224,,224',
',,,224,224,,,,224,,224,224,224,224,224,224,224,,,,,,224,224,224,224',
'224,224,224,,,224,,,,,,,224,,,224,224,224,224,224,224,224,224,,224,224',
'224,,224,224,,224,224,224,,,,,,,,,,,,,,,,,,,,224,,,224,,,224,224,,,224',
',224,,,,224,,,,,,,,224,,,,,224,224,224,224,224,224,,,,224,224,,,,,,',
'224,,,224,224,224,,,224,224,225,225,225,,225,,,,225,225,,,,225,,225',
'225,225,225,225,225,225,,,,,,225,225,225,225,225,225,225,,,225,,,,,',
',225,,,225,225,225,225,225,225,225,225,,225,225,225,,225,225,,225,225',
'225,,,,,,,,,,,,,,,,,,,,225,,,225,,,225,225,,,225,,,,,,225,,,,,,,,225',
',,,,225,225,225,225,225,225,,,,225,225,,,,,,,225,,,225,225,225,,,225',
'225,226,226,226,,226,,,,226,226,,,,226,,226,226,226,226,226,226,226',
',,,,,226,226,226,226,226,226,226,,,226,,,,,,,226,,,226,226,226,226,226',
'226,226,226,,226,226,226,,226,226,,226,226,226,,,,,,,,,,,,,,,,,,,,226',
',,226,,,226,226,,,226,,,,,,226,,,,,,,,226,,,,,226,226,226,226,226,226',
',,,226,226,,,,,,,226,,,226,226,226,,,226,226,227,227,227,,227,,,,227',
'227,,,,227,,227,227,227,227,227,227,227,,,,,,227,227,227,227,227,227',
'227,,,227,,,,,,,227,,,227,227,227,227,227,227,227,227,,227,227,227,',
'227,227,,227,227,227,,,,,,,,,,,,,,,,,,,,227,,,227,,,227,227,,,227,,',
',,,227,,,,,,,,227,,,,,227,227,227,227,227,227,,,,227,227,,,,,,,227,',
',227,227,227,,,227,227,228,228,228,,228,,,,228,228,,,,228,,228,228,228',
'228,228,228,228,,,,,,228,228,228,228,228,228,228,,,228,,,,,,,228,,,228',
'228,228,228,228,228,228,228,228,228,228,228,,228,228,,228,228,228,,',
',,,,,,,,,,,,,,,,,228,,,228,,,228,228,,,228,,228,,228,,228,,,,,,,,228',
',,,,228,228,228,228,228,228,,,,228,228,,,,,,,228,,228,228,228,228,,',
'228,228,233,233,233,,233,,,,233,233,,,,233,,233,233,233,233,233,233',
'233,,,,,,233,233,233,233,233,233,233,,,233,,,,,,,233,,,233,233,233,233',
'233,233,233,233,,233,233,233,,233,233,,233,233,233,,,,,,,,,,,,,,,,,',
',,233,,,233,,,233,233,,,233,,,,,,233,,,,,,,,233,,,,,233,233,233,233',
'233,233,,,,233,233,,,,,,,233,,,233,233,233,,,233,233,234,234,234,,234',
',,,234,234,,,,234,,234,234,234,234,234,234,234,,,,,,234,234,234,234',
'234,234,234,,,234,,,,,,,234,,,234,234,234,234,234,234,234,234,,234,234',
'234,,234,234,,234,234,234,,,,,,,,,,,,,,,,,,,,234,,,234,,,234,234,,,234',
',,,,,234,,,,,,,,234,,,,,234,234,234,234,234,234,,,,234,234,,,,,,,234',
',,234,234,234,,,234,234,235,235,235,,235,,,,235,235,,,,235,,235,235',
'235,235,235,235,235,,,,,,235,235,235,235,235,235,235,,,235,,,,,,,235',
',,235,235,235,235,235,235,235,235,,235,235,235,,235,235,,235,235,235',
',,,,,,,,,,,,,,,,,,,235,,,235,,,235,235,,,235,,,,,,235,,,,,,,,235,,,',
',235,235,235,235,235,235,,,,235,235,235,,,,,,235,,,235,235,235,,,235',
'235,246,246,246,,246,,,,246,246,,,,246,,246,246,246,246,246,246,246',
',,,,,246,246,246,246,246,246,246,,,246,,,,,,,246,,,246,246,246,246,246',
'246,246,246,,246,246,246,,246,246,,246,246,246,,,,,,,,,,,,,,,,,,,,246',
',,246,,,246,246,,,246,,,,,,246,,,,,,,,246,,,,,246,246,246,246,246,246',
',,,246,246,,,,,,,246,,,246,246,246,,,246,246,249,249,249,,249,,,,249',
'249,,,,249,,249,249,249,249,249,249,249,,,,,,249,249,249,249,249,249',
'249,,,249,,,,,,,249,,,249,249,249,249,249,249,249,249,,249,249,249,',
'249,249,,249,249,249,,,,,,,,,,,,,,,,,,,,249,,,249,,,249,249,,,249,,',
',,,249,,,,,,,,249,,,,,249,249,249,249,249,249,,,,249,249,,,,,,,249,',
',249,249,249,,,249,249,250,250,250,,250,,,,250,250,,,,250,,250,250,250',
'250,250,250,250,,,,,,250,250,250,250,250,250,250,,,250,,,,,,,250,,,250',
'250,250,250,250,250,250,250,,250,250,250,,250,250,,250,250,250,,,,,',
',,,,,,,,,,,,,,250,,,250,,,250,250,,,250,,,,,,250,,,,,,,,250,,,,,250',
'250,250,250,250,250,,,,250,250,,,,,,,250,,,250,250,250,,,250,250,251',
'251,251,,251,,,,251,251,,,,251,,251,251,251,251,251,251,251,,,,,,251',
'251,251,251,251,251,251,,,251,,,,,,,251,,,251,251,251,251,251,251,251',
'251,,251,251,251,,251,251,,251,251,251,,,,,,,,,,,,,,,,,,,,251,,,251',
',,251,251,,,251,,,,,,251,,,,,,,,251,,,,,251,251,251,251,251,251,,,,251',
'251,,,,,,,251,,,251,251,251,,,251,251,252,252,252,,252,,,,252,252,,',
',252,,252,252,252,252,252,252,252,,,,,,252,252,252,252,252,252,252,',
',252,,,,,,,252,,,252,252,252,252,252,252,252,252,,252,252,252,,252,252',
',252,252,252,,,,,,,,,,,,,,,,,,,,252,,,252,,,252,252,,,252,,,,,,252,',
',,,,,,252,,,,,252,252,252,252,252,252,,,,252,252,,,,,,,252,,,252,252',
'252,,,252,252,253,253,253,,253,,,,253,253,,,,253,,253,253,253,253,253',
'253,253,,,,,,253,253,253,253,253,253,253,,,253,,,,,,,253,,,253,253,253',
'253,253,253,253,253,,253,253,253,,253,253,,253,253,253,,,,,,,,,,,,,',
',,,,,,253,,,253,,,253,253,,,253,,,,,,253,,,,,,,,253,,,,,253,253,253',
'253,253,253,,,,253,253,,,,,,,253,,,253,253,253,,,253,253,254,254,254',
',254,,,,254,254,,,,254,,254,254,254,254,254,254,254,,,,,,254,254,254',
'254,254,254,254,,,254,,,,,,,254,,,254,254,254,254,254,254,254,254,,254',
'254,254,,254,254,,254,254,254,,,,,,,,,,,,,,,,,,,,254,,,254,,,254,254',
',,254,,,,,,254,,,,,,,,254,,,,,254,254,254,254,254,254,,,,254,254,,,',
',,,254,,,254,254,254,,,254,254,255,255,255,,255,,,,255,255,,,,255,,255',
'255,255,255,255,255,255,,,,,,255,255,255,255,255,255,255,,,255,,,,,',
',255,,,255,255,255,255,255,255,255,255,,255,255,255,,255,255,,255,255',
'255,,,,,,,,,,,,,,,,,,,,255,,,255,,,255,255,,,255,,,,,,255,,,,,,,,255',
',,,,255,255,255,255,255,255,,,,255,255,,,,,,,255,,,255,255,255,,,255',
'255,256,256,256,,256,,,,256,256,,,,256,,256,256,256,256,256,256,256',
',,,,,256,256,256,256,256,256,256,,,256,,,,,,,256,,,256,256,256,256,256',
'256,256,256,,256,256,256,,256,256,,256,256,256,,,,,,,,,,,,,,,,,,,,256',
',,256,,,256,256,,,256,,,,,,256,,,,,,,,256,,,,,256,256,256,256,256,256',
',,,256,256,,,,,,,256,,,256,256,256,,,256,256,257,257,257,,257,,,,257',
'257,,,,257,,257,257,257,257,257,257,257,,,,,,257,257,257,257,257,257',
'257,,,257,,,,,,,257,,,257,257,257,257,257,257,257,257,,257,257,257,',
'257,257,,257,257,257,,,,,,,,,,,,,,,,,,,,257,,,257,,,257,257,,,257,,',
',,,257,,,,,,,,257,,,,,257,257,257,257,257,257,,,,257,257,,,,,,,257,',
',257,257,257,,,257,257,258,258,258,,258,,,,258,258,,,,258,,258,258,258',
'258,258,258,258,,,,,,258,258,258,258,258,258,258,,,258,,,,,,,258,,,258',
'258,258,258,258,258,258,258,,258,258,258,,258,258,,258,258,258,,,,,',
',,,,,,,,,,,,,,258,,,258,,,258,258,,,258,,,,,,258,,,,,,,,258,,,,,258',
'258,258,258,258,258,,,,258,258,,,,,,,258,,,258,258,258,,,258,258,259',
'259,259,,259,,,,259,259,,,,259,,259,259,259,259,259,259,259,,,,,,259',
'259,259,259,259,259,259,,,259,,,,,,,259,,,259,259,259,259,259,259,259',
'259,,259,259,259,,259,259,,259,259,259,,,,,,,,,,,,,,,,,,,,259,,,259',
',,259,259,,,259,,,,,,259,,,,,,,,259,,,,,259,259,259,259,259,259,,,,259',
'259,,,,,,,259,,,259,259,259,,,259,259,260,260,260,,260,,,,260,260,,',
',260,,260,260,260,260,260,260,260,,,,,,260,260,260,260,260,260,260,',
',260,,,,,,,260,,,260,260,260,260,260,260,260,260,,260,260,260,,260,260',
',260,260,260,,,,,,,,,,,,,,,,,,,,260,,,260,,,260,260,,,260,,,,,,260,',
',,,,,,260,,,,,260,260,260,260,260,260,,,,260,260,,,,,,,260,,,260,260',
'260,,,260,260,261,261,261,,261,,,,261,261,,,,261,,261,261,261,261,261',
'261,261,,,,,,261,261,261,261,261,261,261,,,261,,,,,,,261,,,261,261,261',
'261,261,261,261,261,,261,261,261,,261,261,,261,261,261,,,,,,,,,,,,,',
',,,,,,261,,,261,,,261,261,,,261,,,,,,261,,,,,,,,261,,,,,261,261,261',
'261,261,261,,,,261,261,,,,,,,261,,,261,261,261,,,261,261,262,262,262',
',262,,,,262,262,,,,262,,262,262,262,262,262,262,262,,,,,,262,262,262',
'262,262,262,262,,,262,,,,,,,262,,,262,262,262,262,262,262,262,262,,262',
'262,262,,262,262,,262,262,262,,,,,,,,,,,,,,,,,,,,262,,,262,,,262,262',
',,262,,,,,,262,,,,,,,,262,,,,,262,262,262,262,262,262,,,,262,262,,,',
',,,262,,,262,262,262,,,262,262,263,263,263,,263,,,,263,263,,,,263,,263',
'263,263,263,263,263,263,,,,,,263,263,263,263,263,263,263,,,263,,,,,',
',263,,,263,263,263,263,263,263,263,263,,263,263,263,,263,263,,263,263',
'263,,,,,,,,,,,,,,,,,,,,263,,,263,,,263,263,,,263,,,,,,263,,,,,,,,263',
',,,,263,263,263,263,263,263,,,,263,263,,,,,,,263,,,263,263,263,,,263',
'263,264,264,264,,264,,,,264,264,,,,264,,264,264,264,264,264,264,264',
',,,,,264,264,264,264,264,264,264,,,264,,,,,,,264,,,264,264,264,264,264',
'264,264,264,,264,264,264,,264,264,,264,264,264,,,,,,,,,,,,,,,,,,,,264',
',,264,,,264,264,,,264,,,,,,264,,,,,,,,264,,,,,264,264,264,264,264,264',
',,,264,264,,,,,,,264,,,264,264,264,,,264,264,265,265,265,,265,,,,265',
'265,,,,265,,265,265,265,265,265,265,265,,,,,,265,265,265,265,265,265',
'265,,,265,,,,,,,265,,,265,265,265,265,265,265,265,265,,265,265,265,',
'265,265,,265,265,265,,,,,,,,,,,,,,,,,,,,265,,,265,,,265,265,,,265,,',
',,,265,,,,,,,,265,,,,,265,265,265,265,265,265,,,,265,265,,,,,,,265,',
',265,265,265,,,265,265,266,266,266,,266,,,,266,266,,,,266,,266,266,266',
'266,266,266,266,,,,,,266,266,266,266,266,266,266,,,266,,,,,,,266,,,266',
'266,266,266,266,266,266,266,,266,266,266,,266,266,,266,266,266,,,,,',
',,,,,,,,,,,,,,266,,,266,,,266,266,,,266,,,,,,266,,,,,,,,266,,,,,266',
'266,266,266,266,266,,,,266,266,,,,,,,266,,,266,266,266,,,266,266,267',
'267,267,,267,,,,267,267,,,,267,,267,267,267,267,267,267,267,,,,,,267',
'267,267,267,267,267,267,,,267,,,,,,,267,,,267,267,267,267,267,267,267',
'267,,267,267,267,,267,267,,267,267,267,,,,,,,,,,,,,,,,,,,,267,,,267',
',,267,267,,,267,,,,,,267,,,,,,,,267,,,,,267,267,267,267,267,267,,,,267',
'267,,,,,,,267,,,267,267,267,,,267,267,268,268,268,,268,,,,268,268,,',
',268,,268,268,268,268,268,268,268,,,,,,268,268,268,268,268,268,268,',
',268,,,,,,,268,,,268,268,268,268,268,268,268,268,,268,268,268,,268,268',
',268,268,268,,,,,,,,,,,,,,,,,,,,268,,,268,,,268,268,,,268,,,,,,268,',
',,,,,,268,,,,,268,268,268,268,268,268,,,,268,268,,,,,,,268,,,268,268',
'268,,,268,268,269,269,269,,269,,,,269,269,,,,269,,269,269,269,269,269',
'269,269,,,,,,269,269,269,269,269,269,269,,,269,,,,,,,269,,,269,269,269',
'269,269,269,269,269,,269,269,269,,269,269,,269,269,269,,,,,,,,,,,,,',
',,,,,,269,,,269,,,269,269,,,269,,,,,,269,,,,,,,,269,,,,,269,269,269',
'269,269,269,,,,269,269,,,,,,,269,,,269,269,269,,,269,269,270,270,270',
',270,,,,270,270,,,,270,,270,270,270,270,270,270,270,,,,,,270,270,270',
'270,270,270,270,,,270,,,,,,,270,,,270,270,270,270,270,270,270,270,,270',
'270,270,,270,270,,270,270,270,,,,,,,,,,,,,,,,,,,,270,,,270,,,270,270',
',,270,,,,,,270,,,,,,,,270,,,,,270,270,270,270,270,270,,,,270,270,,,',
',,,270,,,270,270,270,,,270,270,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,275,275,,,,275,275,,,,,,,275,,,275,275,275,,,275',
'275,283,283,283,,283,,,,283,283,,,,283,,283,283,283,283,283,283,283',
',,,,,283,283,283,283,283,283,283,,,283,,,,,,,283,,,283,283,283,283,283',
'283,283,283,283,283,283,283,,283,283,,283,283,283,,,,,,,,,,,,,,,,,,',
',283,,,283,,,283,283,,,283,,283,,283,,283,,,,,,,,283,,,,,283,283,283',
'283,283,283,,,,283,283,,,,,,,283,,283,283,283,283,,,283,283,290,290',
'290,,290,,,,290,290,,,,290,,290,290,290,290,290,290,290,,,,,,290,290',
'290,290,290,290,290,,,290,,,,,,,290,,,290,290,290,290,290,290,290,290',
'290,290,290,290,,290,290,,290,290,290,,,,,,,,,,,,,,,,,,,,290,,,290,',
',290,290,,,290,,290,,290,,290,,,,,,,,290,,,,,290,290,290,290,290,290',
',,,290,290,,,,,,,290,,290,290,290,290,,,290,290,293,293,293,,293,,,',
'293,293,,,,293,,293,293,293,293,293,293,293,,,,,,293,293,293,293,293',
'293,293,,,293,,,,,,,293,,,293,293,293,293,293,293,293,293,293,293,293',
'293,,293,293,,293,293,293,,,,,,,,,,,,,,,,,,,,293,,,293,,,293,293,,,293',
',293,,293,,293,,,,,,,,293,,,,,293,293,293,293,293,293,,,,293,293,293',
',,,,,293,,293,293,293,293,,,293,293,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,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',
',,300,300,302,302,302,,302,,,,302,302,,,,302,,302,302,302,302,302,302',
'302,,,,,,302,302,302,302,302,302,302,,,302,,,,,,,302,,,302,302,302,302',
'302,302,302,302,,302,302,302,,302,302,,302,302,302,,,,,,,,,,,,,,,,,',
',,302,,,302,,,302,302,,,302,,,,,,302,,,,,,,,302,,,,,302,302,302,302',
'302,302,,,,302,302,,,,,,,302,,,302,302,302,,,302,302,305,305,305,,305',
',,,305,305,,,,305,,305,305,305,305,305,305,305,,,,,,305,305,305,305',
'305,305,305,,,305,,,,,,,305,,,305,305,305,305,305,305,305,305,,305,305',
'305,,305,305,,305,305,305,,,,,,,,,,,,,,,,,,,,305,,,305,,,305,305,,,305',
',,,,,305,,,,,,,,305,,,,,305,305,305,305,305,305,,,,305,305,,,,,,,305',
',,305,305,305,,,305,305,306,306,306,,306,,,,306,306,,,,306,,306,306',
'306,306,306,306,306,,,,,,306,306,306,306,306,306,306,,,306,,,,,,,306',
',,306,306,306,306,306,306,306,306,,306,306,306,,306,306,,306,306,306',
',,,,,,,,,,,,,,,,,,,306,,,306,,,306,306,,,306,,,,,,306,,,,,,,,306,,,',
',306,306,306,306,306,306,,,,306,306,,,,,,,306,,,306,306,306,,,306,306',
'312,312,312,312,312,,,,312,312,,,,312,,312,312,312,312,312,312,312,',
',,,,312,312,312,312,312,312,312,,,312,,,,,,312,312,,312,312,312,312',
'312,312,312,312,312,,312,312,312,,312,312,,312,312,312,,,,,,,,,,,,,',
',,,,,,312,,,312,,,312,312,,,312,,312,,,,312,,,,,,,,312,,,,,312,312,312',
'312,312,312,,,,312,312,,,,,,,312,,,312,312,312,,,312,312,320,320,320',
',320,,,,320,320,,,,320,,320,320,320,320,320,320,320,,,,,,320,320,320',
'320,320,320,320,,,320,,,,,,,320,,,320,320,320,320,320,320,320,320,,320',
'320,320,,320,320,,,,320,,,,,,,,,,,,,,,,,,,,320,,,320,,,320,320,,,320',
',,,,,,,,,,,,,,,,,,320,320,320,320,320,320,,,,320,320,,,,320,,,320,,',
'320,320,320,,,320,320,337,337,337,,337,,,,337,337,,,,337,,337,337,337',
'337,337,337,337,,,,,,337,337,337,337,337,337,337,,,337,,,,,,,337,,,337',
'337,337,337,337,337,337,337,,337,337,337,,337,337,,,,337,,,,,,,,,,,',
',,,,,,,,337,,,337,,,337,337,,,337,,,,,,,,,,,,,,,,,,,337,337,337,337',
'337,337,,,,337,337,,,,,,,337,,,337,337,337,,,337,337,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,344,344,,,,344,344,,,,,,,344',
',,344,344,344,,,344,344,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,,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,350,350,350,,350,,,,350,350,,,,350,,350,350,350,350,350,350,350',
',,,,,350,350,350,350,350,350,350,,,350,,,,,,,350,,,350,350,350,350,350',
'350,350,350,350,350,350,350,,350,350,,350,350,350,,,,,,,,,,,,,,,,,,',
',350,,,350,,,350,350,,,350,,350,,,,350,,,,,,,,350,,,,,350,350,350,350',
'350,350,,,,350,350,,,,,,,350,,350,350,350,350,,,350,350,351,351,351',
',351,,,,351,351,,,,351,,351,351,351,351,351,351,351,,,,,,351,351,351',
'351,351,351,351,,,351,,,,,,,351,,,351,351,351,351,351,351,351,351,351',
'351,351,351,,351,351,,351,351,351,,,,,,,,,,,,,,,,,,,,351,,,351,,,351',
'351,,,351,,,,,,351,,,,,,,,351,,,,,351,351,351,351,351,351,,,,351,351',
',,,,,,351,,351,351,351,351,,,351,351,358,358,358,,358,,,,358,358,,,',
'358,,358,358,358,358,358,358,358,,,,,,358,358,358,358,358,358,358,,',
'358,,,,,,,358,,,358,358,358,358,358,358,358,358,,358,358,358,,358,358',
',358,358,358,,,,,,,,,,,,,,,,,,,,358,,,358,,,358,358,,,358,,,,,,358,',
',,,,,,358,,,,,358,358,358,358,358,358,,,,358,358,,,,,,,358,,,358,358',
'358,,,358,358,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,,,,,,,372,,,372,372,372,,,372,372,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,374',
',,374,374,432,432,432,,432,,,,432,432,,,,432,,432,432,432,432,432,432',
'432,,,,,,432,432,432,432,432,432,432,,,432,,,,,,,432,,,432,432,432,432',
'432,432,432,432,,432,432,432,,432,432,,432,432,432,,,,,,,,,,,,,,,,,',
',,432,,,432,,,432,432,,,432,,,,,,432,,,,,,,,432,,,,,432,432,432,432',
'432,432,,,,432,432,,,,,,,432,,,432,432,432,,,432,432,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,476,476,476,476,476,,,,476,476',
',,,,,,476,,476,476,476,476,,,476,476,478,478,478,,478,,,,478,478,,,',
'478,,478,478,478,478,478,478,478,,,,,,478,478,478,478,478,478,478,,',
'478,,,,,,,478,,,478,478,478,478,478,478,478,478,,478,478,478,,478,478',
',478,478,478,,,,,,,,,,,,,,,,,,,,478,,,478,,,478,478,,,478,,,,,,478,',
',,,,,,478,,,,,478,478,478,478,478,478,,,,478,478,,,,,,,478,,,478,478',
'478,,,478,478,479,479,479,,479,,,,479,479,,,,479,,479,479,479,479,479',
'479,479,,,,,,479,479,479,479,479,479,479,,,479,,,,,,,479,,,479,479,479',
'479,479,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,480,480,480',
',480,,,,480,480,,,,480,,480,480,480,480,480,480,480,,,,,,480,480,480',
'480,480,480,480,,,480,,,,,,,480,,,480,480,480,480,480,480,480,480,,480',
'480,480,,480,480,,480,480,480,,,,,,,,,,,,,,,,,,,,480,,,480,,,480,480',
',,480,,,,,,480,,,,,,,,480,,,,,480,480,480,480,480,480,,,,480,480,,,',
',,,480,,,480,480,480,,,480,480,519,519,519,,519,,,,519,519,,,,519,,519',
'519,519,519,519,519,519,,,,,,519,519,519,519,519,519,519,,,519,,,,,',
',519,,,519,519,519,519,519,519,519,519,519,519,519,519,,519,519,,519',
'519,519,,,,,,,,,,,,,,,,,,,,519,,,519,,,519,519,,,519,,519,,519,,519',
',,,,,,,519,,,,,519,519,519,519,519,519,,,,519,519,,,,,,,519,,519,519',
'519,519,,,519,519,522,522,522,,522,,,,522,522,,,,522,,522,522,522,522',
'522,522,522,,,,,,522,522,522,522,522,522,522,,,522,,,,,,,522,,,522,522',
'522,522,522,522,522,522,522,522,522,522,,522,522,,522,522,522,,,,,,',
',,,,,,,,,,,,,522,,,522,,,522,522,,,522,,,,522,,522,,,,,,,,522,,,,,522',
'522,522,522,522,522,,,,522,522,,,,,,,522,,522,522,522,522,,,522,522',
'524,524,524,,524,,,,524,524,,,,524,,524,524,524,524,524,524,524,,,,',
',524,524,524,524,524,524,524,,,524,,,,,,,524,,,524,524,524,524,524,524',
'524,524,,524,524,524,,524,524,,524,524,524,,,,,,,,,,,,,,,,,,,,524,,',
'524,,,524,524,,,524,,,,,,524,,,,,,,,524,,,,,524,524,524,524,524,524',
',,,524,524,,,,,,,524,,,524,524,524,,,524,524,530,530,530,530,530,,,',
'530,530,,,,530,,530,530,530,530,530,530,530,,,,,,530,530,530,530,530',
'530,530,,,530,,,,,,530,530,530,530,530,530,530,530,530,530,530,530,',
'530,530,530,,530,530,,530,530,530,,,,,,,,,,,,,,,,,,,,530,,,530,,,530',
'530,,,530,,530,,,,530,,,,,,,,530,,,,,530,530,530,530,530,530,,,,530',
'530,,,,,,530,530,,,530,530,530,,,530,530,537,537,537,,537,,,,537,537',
',,,537,,537,537,537,537,537,537,537,,,,,,537,537,537,537,537,537,537',
',,537,,,,,,,537,,,537,537,537,537,537,537,537,537,,537,537,537,,537',
'537,,,,537,,,,,,,,,,,,,,,,,,,,537,,,537,,,537,537,,,537,,,,,,,,,,,,',
',,,,,,537,537,537,537,537,537,,,,537,537,,,,,,,537,,,537,537,537,,,537',
'537,539,539,539,,539,,,,539,539,,,,539,,539,539,539,539,539,539,539',
',,,,,539,539,539,539,539,539,539,,,539,,,,,,,539,,,539,539,539,539,539',
'539,539,539,539,539,539,539,,539,539,,539,539,539,,,,,,,,,,,,,,,,,,',
',539,,,539,,,539,539,,,539,,539,,539,,539,,,,,,,,539,,,,,539,539,539',
'539,539,539,,,,539,539,,,,,,,539,,539,539,539,539,,,539,539,545,545',
'545,,545,,,,545,545,,,,545,,545,545,545,545,545,545,545,,,,,,545,545',
'545,545,545,545,545,,,545,,,,,,,545,,,545,545,545,545,545,545,545,545',
',545,545,545,,545,545,,,,545,,,,,,,,,,,,,,,,,,,,545,,,545,,,545,545',
',,545,,,,,,,,,,,,,,,,,,,545,545,545,545,545,545,,,,545,545,,,,,,,545',
',,545,545,545,,,545,545,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,,,',
',549,549,549,549,549,549,,,,549,549,,,,,,,549,,,549,549,549,,,549,549',
'554,554,554,,554,,,,554,554,,,,554,,554,554,554,554,554,554,554,,,,',
',554,554,554,554,554,554,554,,,554,,,,,,,554,,,554,554,554,554,554,554',
'554,554,,554,554,554,,554,554,,554,554,554,,,,,,,,,,,,,,,,,,,,554,,',
'554,,,554,554,,,554,,,,,,554,,,,,,,,554,,,,,554,554,554,554,554,554',
',,,554,554,,,,,,,554,,,554,554,554,,,554,554,588,588,588,,588,,,,588',
'588,,,,588,,588,588,588,588,588,588,588,,,,,,588,588,588,588,588,588',
'588,,,588,,,,,,,588,,,588,588,588,588,588,588,588,588,,588,588,588,',
'588,588,,588,588,588,,,,,,,,,,,,,,,,,,,,588,,,588,,,588,588,,,588,,',
',,,588,,,,,,,,588,,,,,588,588,588,588,588,588,,,,588,588,,,,,,,588,',
',588,588,588,,,588,588,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,611,611,611,,,,611,611,,,,,,,611,,611,611,611,611,,',
'611,611,623,623,623,,623,,,,623,623,,,,623,,623,623,623,623,623,623',
'623,,,,,,623,623,623,623,623,623,623,,,623,,,,,,,623,,,623,623,623,623',
'623,623,623,623,,623,623,623,,623,623,,623,623,623,,,,,,,,,,,,,,,,,',
',,623,,,623,,,623,623,,,623,,,,,,623,,,,,,,,623,,,,,623,623,623,623',
'623,623,,,,623,623,,,,,,,623,,,623,623,623,,,623,623,629,629,629,,629',
',,,629,629,,,,629,,629,629,629,629,629,629,629,,,,,,629,629,629,629',
'629,629,629,,,629,,,,,,,629,,,629,629,629,629,629,629,629,629,,629,629',
'629,,629,629,,629,629,629,,,,,,,,,,,,,,,,,,,,629,,,629,,,629,629,,,629',
',,,,,629,,,,,,,,629,,,,,629,629,629,629,629,629,,,,629,629,,,,,,,629',
',,629,629,629,,,629,629,658,658,658,,658,,,,658,658,,,,658,,658,658',
'658,658,658,658,658,,,,,,658,658,658,658,658,658,658,,,658,,,,,,,658',
',,658,658,658,658,658,658,658,658,,658,658,658,,658,658,,658,658,658',
',,,,,,,,,,,,,,,,,,,658,,,658,,,658,658,,,658,,658,,,,658,,,,,,,,658',
',,,,658,658,658,658,658,658,,,,658,658,,,,,,,658,,,658,658,658,,,658',
'658,659,659,659,,659,,,,659,659,,,,659,,659,659,659,659,659,659,659',
',,,,,659,659,659,659,659,659,659,,,659,,,,,,,659,,,659,659,659,659,659',
'659,659,659,,659,659,659,,659,659,,659,659,659,,,,,,,,,,,,,,,,,,,,659',
',,659,,,659,659,,,659,,,,,,659,,,,,,,,659,,,,,659,659,659,659,659,659',
',,,659,659,,,,,,,659,,,659,659,659,,,659,659,660,660,660,,660,,,,660',
'660,,,,660,,660,660,660,660,660,660,660,,,,,,660,660,660,660,660,660',
'660,,,660,,,,,,,660,,,660,660,660,660,660,660,660,660,660,660,660,660',
',660,660,,660,660,660,,,,,,,,,,,,,,,,,,,,660,,,660,,,660,660,,,660,',
'660,,660,,660,,,,,,,,660,,,,,660,660,660,660,660,660,,,,660,660,,,,',
',,660,,660,660,660,660,,,660,660,663,663,663,663,663,,,,663,663,,,,663',
',663,663,663,663,663,663,663,,,,,,663,663,663,663,663,663,663,,,663',
',,,,,663,663,,663,663,663,663,663,663,663,663,663,,663,663,663,,663',
'663,,663,663,663,,,,,,,,,,,,,,,,,,,,663,,,663,,,663,663,,,663,,663,',
',,663,,,,,,,,663,,,,,663,663,663,663,663,663,,,,663,663,,,,,,,663,,',
'663,663,663,,,663,663,664,664,664,,664,,,,664,664,,,,664,,664,664,664',
'664,664,664,664,,,,,,664,664,664,664,664,664,664,,,664,,,,,,,664,,,664',
'664,664,664,664,664,664,664,,664,664,664,,664,664,,664,664,664,,,,,',
',,,,,,,,,,,,,,664,,,664,,,664,664,,,664,,,,,,664,,,,,,,,664,,,,,664',
'664,664,664,664,664,,,,664,664,,,,,,,664,,,664,664,664,,,664,664,667',
'667,667,,667,,,,667,667,,,,667,,667,667,667,667,667,667,667,,,,,,667',
'667,667,667,667,667,667,,,667,,,,,,,667,,,667,667,667,667,667,667,667',
'667,667,667,667,667,,667,667,,667,667,667,,,,,,,,,,,,,,,,,,,,667,,,667',
',,667,667,,,667,,667,,667,,667,,,,,,,,667,,,,,667,667,667,667,667,667',
',,,667,667,,,,,,,667,,667,667,667,667,,,667,667,668,668,668,,668,,,',
'668,668,,,,668,,668,668,668,668,668,668,668,,,,,,668,668,668,668,668',
'668,668,,,668,,,,,,,668,,,668,668,668,668,668,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,668,668,668,,,668,668,669,669,669,,669,,,,669,669,,,,669,,669',
'669,669,669,669,669,669,,,,,,669,669,669,669,669,669,669,,,669,,,,,',
',669,,,669,669,669,669,669,669,669,669,,669,669,669,,669,669,,669,669',
'669,,,,,,,,,,,,,,,,,,,,669,,,669,,,669,669,,,669,,,,,,669,,,,,,,,669',
',,,,669,669,669,669,669,669,,,,669,669,,,,,,,669,,,669,669,669,,,669',
'669,670,670,670,,670,,,,670,670,,,,670,,670,670,670,670,670,670,670',
',,,,,670,670,670,670,670,670,670,,,670,,,,,,,670,,,670,670,670,670,670',
'670,670,670,,670,670,670,,670,670,,670,670,670,,,,,,,,,,,,,,,,,,,,670',
',,670,,,670,670,,,670,,,,,,670,,,,,,,,670,,,,,670,670,670,670,670,670',
',,,670,670,,,,,,,670,,,670,670,670,,,670,670,675,675,675,,675,,,,675',
'675,,,,675,,675,675,675,675,675,675,675,,,,,,675,675,675,675,675,675',
'675,,,675,,,,,,,675,,,675,675,675,675,675,675,675,675,,675,675,675,',
'675,675,,675,675,675,,,,,,,,,,,,,,,,,,,,675,,,675,,,675,675,,,675,,',
',,,675,,,,,,,,675,,,,,675,675,675,675,675,675,,,,675,675,,,,,,,675,',
',675,675,675,,,675,675,676,676,676,,676,,,,676,676,,,,676,,676,676,676',
'676,676,676,676,,,,,,676,676,676,676,676,676,676,,,676,,,,,,,676,,,676',
'676,676,676,676,676,676,676,,676,676,676,,676,676,,676,676,676,,,,,',
',,,,,,,,,,,,,,676,,,676,,,676,676,,,676,,,,,,676,,,,,,,,676,,,,,676',
'676,676,676,676,676,,,,676,676,,,,,,,676,,,676,676,676,,,676,676,700',
'700,700,,700,,,,700,700,,,,700,,700,700,700,700,700,700,700,,,,,,700',
'700,700,700,700,700,700,,,700,,,,,,,700,,,700,700,700,700,700,700,700',
'700,,700,700,700,,700,700,,700,700,700,,,,,,,,,,,,,,,,,,,,700,,,700',
',,700,700,,,700,,,,,,700,,,,,,,,700,,,,,700,700,700,700,700,700,,,,700',
'700,,,,,,,700,,,700,700,700,,,700,700,703,703,703,,703,,,,703,703,,',
',703,,703,703,703,703,703,703,703,,,,,,703,703,703,703,703,703,703,',
',703,,,,,,,703,,,703,703,703,703,703,703,703,703,,703,703,703,,703,703',
',703,703,703,,,,,,,,,,,,,,,,,,,,703,,,703,,,703,703,,,703,,,,,,703,',
',,,,,,703,,,,,703,703,703,703,703,703,,,,703,703,,,,,,,703,,,703,703',
'703,,,703,703,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,,,,,,,706,,,706,706,706,,,706,706,717,717,717,,717,,,,717',
'717,,,,717,,717,717,717,717,717,717,717,,,,,,717,717,717,717,717,717',
'717,,,717,,,,,,,717,,,717,717,717,717,717,717,717,717,,717,717,717,',
'717,717,,,,717,,,,,,,,,,,,,,,,,,,,717,,,717,,,717,717,,,717,,,,,,,,',
',,,,,,,,,,717,717,717,717,717,717,,,,717,717,,,,,,,717,,,717,717,717',
',,717,717,718,718,718,,718,,,,718,718,,,,718,,718,718,718,718,718,718',
'718,,,,,,718,718,718,718,718,718,718,,,718,,,,,,,718,,,718,718,718,718',
'718,718,718,718,,718,718,718,,718,718,,718,718,718,,,,,,,,,,,,,,,,,',
',,718,,,718,,,718,718,,,718,,,,,,718,,,,,,,,718,,,,,718,718,718,718',
'718,718,,,,718,718,,,,,,,718,,,718,718,718,,,718,718,723,723,723,,723',
',,,723,723,,,,723,,723,723,723,723,723,723,723,,,,,,723,723,723,723',
'723,723,723,,,723,,,,,,,723,,,723,723,723,723,723,723,723,723,,723,723',
'723,,723,723,,723,723,723,,,,,,,,,,,,,,,,,,,,723,,,723,,,723,723,,,723',
',723,,,,723,,,,,,,,723,,,,,723,723,723,723,723,723,,,,723,723,,,,,,',
'723,,,723,723,723,,,723,723,728,728,728,,728,,,,728,728,,,,728,,728',
'728,728,728,728,728,728,,,,,,728,728,728,728,728,728,728,,,728,,,,,',
',728,,,728,728,728,728,728,728,728,728,728,728,728,728,,728,728,,728',
'728,728,,,,,,,,,,,,,,,,,,,,728,,,728,,,728,728,,,728,,728,,,,728,,,',
',,,,728,,,,,728,728,728,728,728,728,,,,728,728,,,,,,,728,,728,728,728',
'728,,,728,728,731,731,731,,731,,,,731,731,,,,731,,731,731,731,731,731',
'731,731,,,,,,731,731,731,731,731,731,731,,,731,,,,,,,731,,,731,731,731',
'731,731,731,731,731,731,731,731,731,,731,731,,731,731,731,,,,,,,,,,',
',,,,,,,,,731,,,731,,,731,731,,,731,,,,,,731,,,,,,,,731,,,,,731,731,731',
'731,731,731,,,,731,731,,,,,,,731,,731,731,731,731,,,731,731,747,747',
'747,,747,,,,747,747,,,,747,,747,747,747,747,747,747,747,,,,,,747,747',
'747,747,747,747,747,,,747,,,,,,,747,,,747,747,747,747,747,747,747,747',
',747,747,747,,747,747,,747,747,747,,,,,,,,,,,,,,,,,,,,747,,,747,,,747',
'747,,,747,,,,,,747,,,,,,,,747,,,,,747,747,747,747,747,747,,,,747,747',
',,,,,,747,,,747,747,747,,,747,747,768,768,768,,768,,,,768,768,,,,768',
',768,768,768,768,768,768,768,,,,,,768,768,768,768,768,768,768,,,768',
',,,,,,768,,,768,768,768,768,768,768,768,768,,768,768,768,,768,768,,768',
'768,768,,,,,,,,,,,,,,,,,,,,768,,,768,,,768,768,,,768,,768,,,,768,,,',
',,,,768,,,,,768,768,768,768,768,768,,,,768,768,,,,,,,768,,,768,768,768',
',,768,768,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,780',
'780,780,780,780,,,,780,780,,,,,,,780,,780,780,780,780,,,780,780,802',
'802,802,,802,,,,802,802,,,,802,,802,802,802,802,802,802,802,,,,,,802',
'802,802,802,802,802,802,,,802,,,,,,,802,,,802,802,802,802,802,802,802',
'802,,802,802,802,,802,802,,802,802,802,,,,,,,,,,,,,,,,,,,,802,,,802',
',,802,802,,,802,,,,,,802,,,,,,,,802,,,,,802,802,802,802,802,802,,,,802',
'802,,,,,,,802,,,802,802,802,,,802,802,810,810,810,,810,,,,810,810,,',
',810,,810,810,810,810,810,810,810,,,,,,810,810,810,810,810,810,810,',
',810,,,,,,,810,,,810,810,810,810,810,810,810,810,,810,810,810,,810,810',
',810,810,810,,,,,,,,,,,,,,,,,,,,810,,,810,,,810,810,,,810,,,,,,810,',
',,,,,,810,,,,,810,810,810,810,810,810,,,,810,810,,,,,,,810,,,810,810',
'810,,,810,810,823,823,823,,823,,,,823,823,,,,823,,823,823,823,823,823',
'823,823,,,,,,823,823,823,823,823,823,823,,,823,,,,,,,823,,,823,823,823',
'823,823,823,823,823,,823,823,823,,823,823,,823,823,823,,,,,,,,,,,,,',
',,,,,,823,,,823,,,823,823,,,823,,,,,,823,,,,,,,,823,,,,,823,823,823',
'823,823,823,,,,823,823,,,,,,,823,,,823,823,823,,,823,823,824,824,824',
',824,,,,824,824,,,,824,,824,824,824,824,824,824,824,,,,,,824,824,824',
'824,824,824,824,,,824,,,,,,,824,,,824,824,824,824,824,824,824,824,,824',
'824,824,,824,824,,824,824,824,,,,,,,,,,,,,,,,,,,,824,,,824,,,824,824',
',,824,,,,,,824,,,,,,,,824,,,,,824,824,824,824,824,824,,,,824,824,,,',
',,,824,,,824,824,824,,,824,824,825,825,825,,825,,,,825,825,,,,825,,825',
'825,825,825,825,825,825,,,,,,825,825,825,825,825,825,825,,,825,,,,,',
',825,,,825,825,825,825,825,825,825,825,,825,825,825,,825,825,,825,825',
'825,,,,,,,,,,,,,,,,,,,,825,,,825,,,825,825,,,825,,,,,,825,,,,,,,,825',
',,,,825,825,825,825,825,825,,,,825,825,,,,,,,825,,,825,825,825,,,825',
'825,826,826,826,,826,,,,826,826,,,,826,,826,826,826,826,826,826,826',
',,,,,826,826,826,826,826,826,826,,,826,,,,,,,826,,,826,826,826,826,826',
'826,826,826,,826,826,826,,826,826,,826,826,826,,,,,,,,,,,,,,,,,,,,826',
',,826,,,826,826,,,826,,,,,,826,,,,,,,,826,,,,,826,826,826,826,826,826',
',,,826,826,,,,,,,826,,,826,826,826,,,826,826,828,828,828,,828,,,,828',
'828,,,,828,,828,828,828,828,828,828,828,,,,,,828,828,828,828,828,828',
'828,,,828,,,,,,,828,,,828,828,828,828,828,828,828,828,,828,828,828,',
'828,828,,828,828,828,,,,,,,,,,,,,,,,,,,,828,,,828,,,828,828,,,828,,',
',,,828,,,,,,,,828,,,,,828,828,828,828,828,828,,,,828,828,,,,,,,828,',
',828,828,828,,,828,828,885,885,885,,885,,,,885,885,,,,885,,885,885,885',
'885,885,885,885,,,,,,885,885,885,885,885,885,885,,,885,,,,,,,885,,,885',
'885,885,885,885,885,885,885,,885,885,885,,885,885,,885,885,885,,,,,',
',,,,,,,,,,,,,,885,,,885,,,885,885,,,885,,,,,,885,,,,,,,,885,,,,,885',
'885,885,885,885,885,,,,885,885,,,,,,,885,,,885,885,885,,,885,885,899',
'899,899,,899,,,,899,899,,,,899,,899,899,899,899,899,899,899,,,,,,899',
'899,899,899,899,899,899,,,899,,,,,,,899,,,899,899,899,899,899,899,899',
'899,,899,899,899,,899,899,,899,899,899,,,,,,,,,,,,,,,,,,,,899,,,899',
',,899,899,,,899,,,,,,899,,,,,,,,899,,,,,899,899,899,899,899,899,,,,899',
'899,,,,,,,899,,,899,899,899,,,899,899,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,,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,920,920,920,,920,,,,920,920,,,,920,,920,920,920',
'920,920,920,920,,,,,,920,920,920,920,920,920,920,,,920,,,,,,,920,,,920',
'920,920,920,920,920,920,920,,920,920,920,,920,920,,920,920,920,,,,,',
',,,,,,,,,,,,,,920,,,920,,,920,920,,,920,,,,,,920,,,,,,,,920,,,,,920',
'920,920,920,920,920,,,,920,920,,,,,,,920,,,920,920,920,,,920,920,932',
'932,932,,932,,,,932,932,,,,932,,932,932,932,932,932,932,932,,,,,,932',
'932,932,932,932,932,932,,,932,,,,,,,932,,,932,932,932,932,932,932,932',
'932,,932,932,932,,932,932,,,,932,,,,,,,,,,,,,,,,,,,,932,,,932,,,932',
'932,,,932,,,,,,,,,,,,,,,,,,,932,932,932,932,932,932,,,,932,932,,,,,',
',932,,,932,932,932,,,932,932,941,941,941,,941,,,,941,941,,,,941,,941',
'941,941,941,941,941,941,,,,,,941,941,941,941,941,941,941,,,941,,,,,',
',941,,,941,941,941,941,941,941,941,941,,941,941,941,,941,941,,,,941',
',,,,,,,,,,,,,,,,,,,941,,,941,,,941,941,,,941,,,,,,,,,,,,,,,,,,,941,941',
'941,941,941,941,,,,941,941,,,,,,,941,,,941,941,941,,,941,941,967,967',
'967,,967,,,,967,967,,,,967,,967,967,967,967,967,967,967,,,,,,967,967',
'967,967,967,967,967,,,967,,,,,,,967,,,967,967,967,967,967,967,967,967',
',967,967,967,,967,967,,967,967,967,,,,,,,,,,,,,,,,,,,,967,,,967,,,967',
'967,,,967,,967,,,,967,,,,,,,,967,,,,,967,967,967,967,967,967,,,,967',
'967,,,,,,,967,,,967,967,967,,,967,967,992,992,992,,992,,,,992,992,,',
',992,,992,992,992,992,992,992,992,,,,,,992,992,992,992,992,992,992,',
',992,,,,,,,992,,,992,992,992,992,992,992,992,992,,992,992,992,,992,992',
',,,992,,,,,,,,,,,,,,,,,,,,992,,,992,,,992,992,,,992,,,,,,,,,,,,,,,,',
',,992,992,992,992,992,992,,,,992,992,,,,,,,992,,,992,992,992,,,992,992',
'1041,1041,1041,,1041,,,,1041,1041,,,,1041,,1041,1041,1041,1041,1041',
'1041,1041,,,,,,1041,1041,1041,1041,1041,1041,1041,,,1041,,,,,,,1041',
',,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,,1041',
'1041,,1041,1041,1041,,,,,,,,,,,,,,,,,,,,1041,,,1041,,,1041,1041,,,1041',
',1041,,1041,,1041,,,,,,,,1041,,,,,1041,1041,1041,1041,1041,1041,,,,1041',
'1041,,,,,,,1041,,1041,1041,1041,1041,,,1041,1041,11,11,11,11,11,11,11',
'11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,,,,11,11,11,11,11',
'11,11,11,11,11,,,,,,11,11,11,11,11,11,11,11,11,11,,11,,,,,,,,,11,11',
',11,11,11,11,11,11,11,,,11,11,,,,11,11,11,11,,,,,,,,,,,,,,11,11,,11',
'11,11,11,11,11,11,11,11,11,11,,,11,11,,,,,,,,,,11,,,,,,,,,11,,,,,11',
'12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12',
'12,,,,12,12,12,12,12,12,12,12,12,12,,,,,,12,12,12,12,12,12,12,12,12',
',,12,,,,,,,,,12,12,,12,12,12,12,12,12,12,,,12,12,,,,12,12,12,12,,,,',
',,,,,,,,,12,12,,12,12,12,12,12,12,12,12,12,12,12,,,12,12,,,,,,,,,,12',
',,,,,,,,12,,,,,12,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75',
'75,75,75,75,75,75,75,,,,75,75,75,75,75,75,75,75,75,75,,,,,,75,75,75',
'75,75,75,75,75,75,75,75,75,,75,,,,,,,75,75,,75,75,75,75,75,75,75,,,75',
'75,,,,75,75,75,75,,,,,,75,,,,,,,,75,75,,75,75,75,75,75,75,75,75,75,75',
'75,,,75,,,,,,,,,,,,,,,,,,,,75,,,,,75,103,103,103,103,103,103,103,103',
'103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,,,,103',
'103,103,103,103,103,103,103,103,103,,,,,,103,103,103,103,103,103,103',
'103,103,103,103,103,,103,,,,,,,103,103,,103,103,103,103,103,103,103',
',,103,103,,,,103,103,103,103,,,,,,,,,,,,,,103,103,,103,103,103,103,103',
'103,103,103,103,103,103,,,103,,,,,,,,,,,,,,,,,,,,103,,,,,103,423,423',
'423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423,423',
'423,423,423,423,423,,,,423,423,423,423,423,423,423,423,423,423,,,,,',
'423,423,423,423,423,423,423,423,423,,,423,,,,,,,,,423,423,,423,423,423',
'423,423,423,423,,,423,423,,,,423,423,423,423,,,,,,,,,,,,,,423,423,,423',
'423,423,423,423,423,423,423,423,423,423,,,423,423,,,,,,,,,,423,,,,,',
',,,423,,,,,423,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,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,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,,,,,,,,,655,,,,,655,789,789,789,789,789,789,789,789,789',
'789,789,789,789,789,789,789,789,789,789,789,789,789,789,789,,,,789,789',
'789,789,789,789,789,789,789,789,,,,,,789,789,789,789,789,789,789,789',
'789,,,789,,,,,,,,,789,789,,789,789,789,789,789,789,789,,,789,789,,,',
'789,789,789,789,,,,,,,,,,,,,,789,789,,789,789,789,789,789,789,789,789',
'789,789,789,,,789,,,,,,,,,,229,229,,,229,,,,,,789,,,229,229,789,229',
'229,229,229,229,229,229,,,229,229,,,,229,229,229,229,,,,,,229,,,,,,',
',229,229,,229,229,229,229,229,229,229,229,229,229,229,,,229,,,,,,,,',
',230,230,,,230,,,,,,229,,,230,230,229,230,230,230,230,230,230,230,,',
'230,230,,,,230,230,230,230,,,,,,230,,,,,,,,230,230,,230,230,230,230',
'230,230,230,230,230,230,230,,788,230,788,788,788,788,788,,,,,279,279',
',,279,788,,,,,230,,,279,279,230,279,279,279,279,279,279,279,,,279,279',
'788,,,279,279,279,279,,,788,788,788,788,,,,,,,,279,279,,279,279,279',
'279,279,279,279,279,279,279,279,,,279,,,,,,,,,788,474,474,,,474,,,,',
',279,,,474,474,279,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,,,,,,,,,,475,475,,,475,,,,,,474,,,475,475,474,475,475',
'475,475,475,475,475,,,475,475,,,,475,475,475,475,,,,,,475,,,,,,,,475',
'475,,475,475,475,475,475,475,475,475,475,475,475,,,475,,,,,,,,,,540',
'540,,,540,,,,,,475,,,540,540,475,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,,,,,,,,,,541,541,,,541,,,,,,540,,,541,541',
'540,541,541,541,541,541,541,541,,,541,541,,,,541,541,541,541,,,,,,541',
',,,,,,,541,541,,541,541,541,541,541,541,541,541,541,541,541,,,541,,',
',,,,,,,550,550,,,550,,,,,,541,,,550,550,541,550,550,550,550,550,550',
'550,,,550,550,,,,550,550,550,550,,,,,,550,,,,,,,,550,550,,550,550,550',
'550,550,550,550,550,550,550,550,,,550,,,,,,,,,,551,551,,,551,,,,,,550',
',,551,551,550,551,551,551,551,551,551,551,,,551,551,,,,551,551,551,551',
',,,,,551,,,,,,,,551,551,,551,551,551,551,551,551,551,551,551,551,551',
',,551,,,,,,,,,,612,612,,,612,,,,,,551,,,612,612,551,612,612,612,612',
'612,612,612,,,612,612,,,,612,612,612,612,,,,,,612,,,,,,,,612,612,,612',
'612,612,612,612,612,612,612,612,612,612,,,612,,,,,,,,,,613,613,,,613',
',,,,,612,,,613,613,612,613,613,613,613,613,613,613,,,613,613,,,,613',
'613,613,613,,,,,,613,,,,,,,,613,613,,613,613,613,613,613,613,613,613',
'613,613,613,,,613,,,,,,,,,,661,661,,,661,,,,,,613,,,661,661,613,661',
'661,661,661,661,661,661,,,661,661,,,,661,661,661,661,,,,,,661,,,,,,',
',661,661,,661,661,661,661,661,661,661,661,661,661,661,,,661,,,,,,,,',
',662,662,,,662,,,,,,661,,,662,662,661,662,662,662,662,662,662,662,,',
'662,662,,,,662,662,662,662,,,,,,662,,,,,,,,662,662,,662,662,662,662',
'662,662,662,662,662,662,662,,,662,,,,,,,,,,778,778,,,778,,,,,,662,,',
'778,778,662,778,778,778,778,778,778,778,,,778,778,,,,778,778,778,778',
',,,,,778,,,,,,,,778,778,,778,778,778,778,778,778,778,778,778,778,778',
',,778,,,,,,,,,,779,779,,,779,,,,,,778,,,779,779,778,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,,,,,,,,,,1037,1037,,,1037',
',,,,,779,,,1037,1037,779,1037,1037,1037,1037,1037,1037,1037,,,1037,1037',
',,,1037,1037,1037,1037,,,,,,1037,,,,,,,,1037,1037,,1037,1037,1037,1037',
'1037,1037,1037,1037,1037,1037,1037,,,1037,,,,,,,,,,1042,1042,,,1042',
',,,,,1037,,,1042,1042,1037,1042,1042,1042,1042,1042,1042,1042,,,1042',
'1042,,,,1042,1042,1042,1042,,,,,,1042,,,,,,,,1042,1042,,1042,1042,1042',
'1042,1042,1042,1042,1042,1042,1042,1042,,,1042,,,,,,,,,,1043,1043,,',
'1043,,,,,,1042,,,1043,1043,1042,1043,1043,1043,1043,1043,1043,1043,',
',1043,1043,,,,1043,1043,1043,1043,,,,,,1043,,,,,,,,1043,1043,,1043,1043',
'1043,1043,1043,1043,1043,1043,1043,1043,1043,,831,1043,831,831,831,831',
'831,949,,949,949,949,949,949,,,831,,,,,1043,,949,,,1043,951,,951,951',
'951,951,951,,,,,831,,,,,951,,949,,831,831,831,831,,,,949,949,949,949',
'953,,953,953,953,953,953,951,955,,955,955,955,955,955,,953,831,951,951',
',,,,955,831,,,,,,983,949,983,983,983,983,983,953,986,,986,986,986,986',
'986,955,983,,953,953,,951,,,986,,955,955,988,,988,988,988,988,988,,',
'1047,983,1047,1047,1047,1047,1047,988,,986,983,983,983,983,,953,1047',
',986,986,986,986,,955,,,,,1061,988,1061,1061,1061,1061,1061,,,,1047',
',988,988,,,1061,,983,,,1047,1047,,,1063,986,1063,1063,1063,1063,1063',
',,,,,,1061,,,1063,,,,,988,1061,1061,1061,1061,,,,1065,1047,1065,1065',
'1065,1065,1065,,1067,1063,1067,1067,1067,1067,1067,,1065,,,,1063,1063',
',,1067,,,,1090,1061,1090,1090,1090,1090,1090,,,,1065,,,,,,1090,,1067',
',,1065,1065,,,,1063,,,1067,1067,,,,,,,,1090,,,,,,,,,,,1090,1090,,,,',
'1065,,,,,,,,1067,,,,,,,,,,,,,,,,,,,,1090' ]
        racc_action_check = arr = ::Array.new(26394, nil)
        idx = 0
        clist.each do |str|
          str.split(',', -1).each do |i|
            arr[idx] = i.to_i unless i.empty?
            idx += 1
          end
        end

racc_action_pointer = [
   nil,    21,  1951,    34,   nil,   -96,   nil,   nil,  6039,  1029,
   nil, 23819, 23957,   -46,   nil,   -47,     6,   573,   103,   203,
   -31,   nil,   -73,  6179,  2233,   191,   nil,   -47,   nil,   200,
  1040,  1168,  6319,  6459,  6599,   nil,  2092,  6739,  6879,   nil,
   101,   327,   454,   189,   127,  7019,  7159,   669,  7299,   136,
   428,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
  1296,   nil,  7439,   nil,   nil,   -23,   nil,  7579,  7719,   nil,
   nil,  7859,  7999,   193,   nil, 24095,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   -64,   nil,   nil,   nil,   nil,   nil,   nil,   181,
   183,   187,   189, 24233,   nil,   nil,   nil,   nil,   nil,   nil,
     0,   nil,   nil,   132,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,  8139,   nil,   nil,   nil,
   nil,  8279,  8419,  8559,  8699,  8839,   213,   nil,   865,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   221,   nil,  2233,  8979,  9119,  9259,  9399,  9539,  9679, 24720,
 24793,   nil,   nil,  9819,  9959, 10099,   nil,   nil,   430,   135,
   212,   299,   229,   209,   277,   nil, 10239,  2374,   288, 10379,
 10519, 10659, 10799, 10939, 11079, 11219, 11359, 11499, 11639, 11779,
 11919, 12059, 12199, 12339, 12479, 12619, 12759, 12899, 13039, 13179,
 13319,   nil,   nil,   nil,   nil, 13459,   nil,   nil,   nil, 24866,
   nil,   nil,   283, 13599,   nil,   nil,   294,   nil,   nil,   nil,
 13739,   nil,   nil, 13879,   nil,  2374,   nil,   274,   308,   nil,
 14019,   358, 14159,   nil,   nil, 14299, 14439,   nil,   nil,   121,
   nil,   nil, 14579,  1147,   nil,   307,  2515,   352,   393,   363,
 14719,  2656,   431,   432,   459,   439,   473,   nil,   412,   386,
   -19,   nil,   nil,   nil,   441,   247,   425, 14859,   nil,   558,
   497,   487,   nil,   499, 14999,   nil, 15139,  2797,  1173,   442,
 15279, 15419,   nil,   nil,   583,   638,   -11,    -9, 15559,  2938,
  3079,   453,   566,   481,   -19,    21,   492,   563,    22,   596,
   nil,   nil, 15699,   nil, 15839,   -53,   206,   245,   365,   403,
   464,   491,   500,   577,   nil,   592,   nil,   nil,   nil,   nil,
   nil,   302,   nil,   520,   nil,   206,   nil,   521,   652,   nil,
   534,   nil,   563,   -42,   nil,   567,   -31,   nil,   684,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil, 24371,   nil,   nil,   nil,   nil,   594,   nil,
   nil,   581, 15979,   604,   nil,   nil,   605,   nil,   528,   239,
   753,   nil,   nil,  1951,   nil,   nil,   nil,   nil,   nil,  2092,
   676,   nil,   nil,   689,   693,   567,   569,  1428,   nil,   nil,
   nil,   264,   392,   750,   nil,   nil,  1556,  1688,   nil,   nil,
   nil,   -14,   nil,   752, 24939, 25012, 16119,   266, 16259, 16399,
 16539,  3079,  3220,   777,  1126,   779,   783,   798,   803,  1118,
  1246,  1378,  3361,  3502,  3643,  3784,  3925,  4066,   871,   927,
  4207,  4348,  2515,   862,   863,   nil,  1820,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   748,   753,   nil,   nil, 16679,
   nil,   nil, 16819,   nil, 16959,   nil,   172,   nil,   nil,   nil,
 17099,  1243,   758,   757,   nil,   nil,   772, 17239,   778, 17379,
 25085, 25158,   591,   818,   nil, 17519,   785,   nil,   829, 17659,
 25231, 25304,   990,  2656, 17799,   910,   921,   806,   nil,   nil,
   160,   283,   838,   822,   nil,   329,   848,   nil,   715,   nil,
   810,   811,   nil,   813,   815,   818,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   810,   784,   nil,   nil, 17939,   nil,
   nil,   nil,   913,   nil,   nil,   nil,   918,   nil,   nil,   921,
  3220,   966,   nil,  3361,    35,   984,   996,   991,   999,   nil,
   nil, 18079, 25377, 25450,    25,   nil,   267,   304,   247,   nil,
   619,   nil,   902, 18219,   nil,   920,   nil,   nil,   nil, 18359,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   300,   nil,   nil,   688,   nil,   nil,   nil,   882,   nil,
   nil,   884,   nil,  3502,   nil, 24509,   nil,   893, 18499, 18639,
 18779, 25523, 25596, 18919, 19059,   701,   932, 19199, 19339, 19479,
 19619,   931,   nil,   nil,   nil, 19759, 19899,   932,   nil,   nil,
   nil,   279,   294,   520,   652,   908,   907,   nil,   -65,  1010,
   -10,   nil,   929,   nil,  1035,   nil,   nil,   916,   nil,   958,
 20039,   nil,   nil, 20179,   nil,   -96, 20319,   922,   nil,   937,
    -5,    23,   985,    95,   621,   988,   956, 20459, 20599,  1025,
   157,   220,   nil, 20739,   nil,   nil,   nil,   nil, 20879,   nil,
   nil, 21019,   nil,   nil,   nil,    22,   971,   318,   nil,   nil,
   600,  1359,   nil,  1619,   nil,  1751,   nil, 21159,   nil,   845,
   nil,   969,   267,   979,   nil,   nil,   nil,   nil,   773,   nil,
  1107,   nil,   nil,   nil,   nil,   nil,  1117,   nil, 21299,  1001,
    34,    35,   156,   167,  3643,   nil,   624,   nil, 25669, 25742,
 21439,   nil,   nil,   nil,   795,  3784,  3925,  1814, 24855, 24647,
   161,  1174,  4066,   nil,   nil,   323,   nil,   nil,   nil,  1016,
   nil,  1003, 21579,  1007,   310,   340,   784,   912,   nil,  2797,
 21719,   nil,  1007,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil, 21859, 21999, 22139, 22279,   364, 22419,   nil,
   nil, 26023,   nil,  4207,   nil,   nil,  1027,   nil,   -55,   nil,
   nil,   nil,   nil,  1013,    66,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,  4348,   nil,  1021,  1067,   nil,   nil,   414,   nil,
  4489,  4630,  1033,  1044,  1043,   nil,   nil,   nil,  1044,  1045,
   nil,  1050,  1062,   nil,  1067,   nil,   nil,  1072,   852,  1070,
   947,   nil,  1191,   nil,   nil, 22559,   nil,  4771,  1194,   nil,
   nil,    36,    58,  1197,   395,   660,   nil,  1092,  4912, 22699,
   577,  1211,   nil,  1100,   663,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,  1096,   nil,   nil,  1120,   403,   nil,   nil, 22839,
 22979,  2938,  1121,  1125,   nil,  1126,  1128,  1131,   nil,  1152,
  1138,  1119, 23119,   nil,   nil,   nil,   nil,  5053,  5194,   nil,
    -8, 23259,   nil,   nil,  1155,  1261,   905,   nil,   nil, 26030,
   nil, 26050,   nil, 26081,   nil, 26089,   nil,   nil,   nil,   nil,
   385,  1033,  1149,   nil,    -1,   nil,   nil, 23399,  5335,   nil,
   nil,  1271,   716,   nil,   nil,  1278,   nil,   nil,  1198,   nil,
   348,   nil,   nil, 26112,   nil,   nil, 26120,   nil, 26140,   nil,
   nil,  1180, 23539,   723,  1235,   nil,  1283,  5476,    50,    51,
   734,  1237,    52,   nil,   nil,   nil,   426,   nil,   nil,   nil,
  1164,  1169,  1171,  1172,  1173,  1049,  1178,  1103,  5617,   nil,
    41,   nil,   nil,  5758,   nil,  5899,  1185,   nil,   nil,  1186,
  1187,  1188,  1189,   nil,  1190,   nil,   751, 25815,   nil,   nil,
  1313, 23679, 25888, 25961,    53,   nil,  1007, 26149,   nil,   nil,
   nil,   nil,  1108,  1192,   820,   nil,   nil,   nil,  1316,  1317,
   nil, 26177,   nil, 26202,   nil, 26231,   nil, 26239,   nil,   nil,
  1237,  1238,   nil,  1205,   122,   123,   124,   184,   nil,  1205,
  1211,   nil,   nil,   nil,  1212,  1213,  1214,  1215,   125,   nil,
 26259,   nil,   nil,   nil,   nil,  1217,   nil ]

racc_action_default = [
    -1,  -654,  -653,  -654,    -2,  -640,    -4,    -5,  -654,    -8,
    -9,  -654,  -654,  -654,   -35,  -654,  -654,   -39,  -654,  -654,
  -297,   -51,  -642,  -654,   -56,   -61,   -62,   -63,   -67,  -274,
  -274,  -274,  -312,  -346,  -347,   -79,  -653,   -83,   -91,   -93,
  -654,  -541,  -542,  -654,  -654,  -654,  -654,  -233,  -654,  -642,
  -247,  -288,  -289,  -290,  -291,  -292,  -293,  -294,  -295,  -296,
  -626,  -299,  -301,  -308,  -310,  -320,  -426,  -654,  -654,   -58,
   -58,  -640,  -654,  -330,  -337,  -654,  -348,  -349,  -351,  -352,
  -353,  -354,  -355,  -356,  -357,  -358,  -359,  -360,  -369,  -471,
  -472,  -473,  -474,  -475,  -476,  -653,  -479,  -653,  -653,  -653,
  -489,  -653,  -653,  -653,  -517,  -523,  -525,  -526,  -527,  -528,
  -624,  -530,  -531,  -625,  -533,  -534,  -535,  -536,  -537,  -538,
  -539,  -540,  -545,  -546,  1097,    -3,  -641,  -649,  -650,  -651,
    -7,  -654,  -654,  -654,  -654,  -654,  -654,   -23,  -654,  -122,
  -123,  -124,  -125,  -126,  -127,  -128,  -129,  -130,  -134,  -135,
  -136,  -137,  -138,  -139,  -140,  -141,  -142,  -143,  -144,  -145,
  -146,  -147,  -148,  -149,  -150,  -151,  -152,  -153,  -154,  -155,
  -156,  -157,  -158,  -159,  -160,  -161,  -162,  -163,  -164,  -165,
  -166,  -167,  -168,  -169,  -170,  -171,  -172,  -173,  -174,  -175,
  -176,  -177,  -178,  -179,  -180,  -181,  -182,  -183,  -184,  -185,
  -186,  -187,  -188,  -189,  -190,  -191,  -192,  -193,  -194,  -195,
  -196,  -197,  -198,  -199,  -200,  -201,  -202,  -203,  -204,  -205,
   -28,  -131,  -653,  -654,  -654,  -654,  -654,  -654,  -653,  -654,
  -654,  -636,  -637,  -654,  -654,  -642,  -643,   -55,  -654,  -541,
  -542,  -654,  -297,  -654,  -654,  -239,  -654,  -653,  -654,  -218,
  -219,  -654,  -654,  -654,  -654,  -654,  -654,  -654,  -654,  -654,
  -654,  -654,  -654,  -654,  -654,  -654,  -654,  -654,  -654,  -654,
  -654,  -248,  -249,  -250,  -251,  -654,  -362,  -455,  -434,  -654,
  -638,  -639,   -68,  -654,  -319,  -361,  -654,  -448,  -450,   -74,
  -653,  -445,   -75,  -642,   -76,  -254,  -269,  -653,  -653,  -273,
  -654,  -279,  -654,  -653,  -618,  -654,  -654,   -77,   -78,  -640,
   -17,   -18,  -654,   -21,   -22,   -81,  -653,  -642,  -654,   -84,
   -87,  -653,   -99,  -100,  -654,  -654,  -107,  -312,  -315,  -642,
  -438,  -346,  -347,  -350,  -446,  -654,   -89,  -654,   -95,  -307,
  -524,  -654,  -227,  -228,  -654,  -240,  -654,  -653,  -303,  -642,
  -653,  -653,  -321,  -322,  -573,   -57,  -654,  -654,  -654,  -653,
  -653,  -640,  -654,  -641,  -541,  -542,  -654,  -654,  -297,  -654,
  -379,  -380,  -654,  -333,  -654,  -122,  -123,  -165,  -166,  -167,
  -183,  -188,  -195,  -198,  -340,  -654,  -541,  -542,  -613,  -614,
  -477,  -654,  -501,  -654,  -503,  -654,  -505,  -654,  -654,  -484,
  -654,  -653,  -654,  -654,  -497,  -654,  -654,  -499,  -654,  -516,
  -518,  -519,  -520,  -521,    -6,  -652,   -29,   -30,   -31,   -32,
   -33,   -10,   -11,  -654,   -25,   -26,   -27,  -132,  -654,   -36,
   -38,  -284,  -654,  -654,  -283,   -37,  -654,   -40,  -654,  -297,
   -48,   -50,  -206,  -259,  -279,   -52,   -53,   -41,  -207,  -259,
  -642,  -264,  -265,  -653,  -653,  -627,  -628,  -274,  -443,  -629,
  -630,  -628,  -627,  -274,  -442,  -444,  -629,  -630,   -47,  -215,
   -54,  -642,  -318,  -654,  -654,  -654,  -653,  -307,  -654,  -654,
  -654,  -216,  -217,  -220,  -221,  -222,  -223,  -224,  -225,  -229,
  -230,  -231,  -232,  -234,  -235,  -236,  -237,  -238,  -241,  -242,
  -243,  -244,  -642,  -252,  -654,  -456,  -274,  -627,  -628,   -65,
   -69,  -275,  -439,  -452,  -455,  -642,  -642,  -314,  -270,  -654,
  -278,  -271,  -654,  -276,  -654,  -280,  -654,  -621,  -623,   -16,
  -641,   -20,  -642,   -80,  -305,   -96,   -85,  -654,  -642,  -653,
  -654,  -654,  -106,  -654,  -524,  -654,   -92,   -97,  -654,  -654,
  -654,  -654,  -253,  -245,  -654,  -463,  -654,  -642,  -302,  -255,
  -646,  -646,  -654,  -654,  -616,  -646,  -654,  -427,  -573,  -430,
  -612,  -612,  -556,  -558,  -558,  -558,  -572,  -574,  -575,  -576,
  -577,  -578,  -579,  -580,  -581,  -654,  -583,  -585,  -587,  -592,
  -594,  -595,  -597,  -602,  -604,  -605,  -607,  -608,  -609,  -654,
  -653,  -370,  -371,  -653,  -654,  -654,  -654,  -654,  -654,  -365,
  -458,  -653,  -654,  -654,  -307,   -58,  -117,  -118,  -654,  -120,
  -654,  -297,  -653,  -654,  -338,  -551,  -343,  -634,  -635,  -654,
  -478,  -502,  -507,  -508,  -510,  -480,  -504,  -481,  -506,  -482,
  -483,  -654,  -486,  -488,  -654,  -491,  -493,  -494,  -654,  -495,
  -496,  -654,  -522,  -653,   -24,  -654,   -34,  -287,  -654,  -654,
  -653,  -654,  -654,  -654,  -654,  -447,  -654,  -266,  -268,  -654,
  -654,   -70,  -262,  -263,  -440,  -654,  -654,   -72,  -441,  -317,
  -644,  -627,  -628,  -627,  -628,  -642,  -654,  -433,  -653,   -64,
  -435,  -452,  -654,  -453,  -654,  -261,  -313,  -653,  -277,  -281,
  -654,  -619,  -620,  -654,   -19,   -82,  -654,   -88,   -94,  -642,
  -627,  -628,  -653,  -631,  -105,  -654,   -90,  -654,  -654,  -226,
  -642,  -653,  -363,  -653,  -300,  -368,  -304,  -256,  -648,  -647,
  -258,  -648,  -309,  -311,  -617,  -654,  -642,  -654,  -554,  -555,
  -654,  -654,  -565,  -654,  -568,  -654,  -570,  -654,  -381,  -654,
  -383,  -385,  -392,  -642,  -586,  -596,  -606,  -610,  -653,  -372,
  -653,   -59,  -373,  -374,  -325,  -326,  -654,  -328,  -654,  -642,
  -627,  -628,  -631,  -306,  -653,  -117,  -118,  -119,  -654,  -654,
  -653,  -331,  -547,  -549,  -334,  -653,  -653,  -573,  -573,  -654,
  -642,  -654,  -653,  -485,  -487,  -654,  -490,  -498,  -500,  -654,
  -133,  -285,  -654,  -642,  -627,  -628,  -628,  -627,   -49,  -260,
  -654,  -645,  -653,   -43,  -209,   -44,  -210,   -71,   -45,  -212,
   -46,  -211,   -73,  -654,  -654,  -654,  -654,  -447,  -654,  -415,
  -416,  -642,  -418,  -653,  -437,  -436,  -654,  -449,  -653,  -451,
  -272,  -282,  -622,   -86,  -447,   -98,  -214,  -316,   -13,   -15,
  -364,  -366,  -653,  -470,  -464,  -653,  -465,  -466,  -646,  -428,
  -653,  -653,  -420,  -642,  -612,  -593,  -611,  -557,  -558,  -558,
  -584,  -558,  -558,  -603,  -558,  -581,  -598,  -642,  -654,  -390,
  -654,  -582,  -654,  -367,  -375,  -654,  -377,  -653,  -654,   -60,
  -327,  -654,  -447,  -654,  -117,  -118,  -121,  -642,  -653,  -654,
  -654,  -654,  -341,  -642,  -654,  -344,  -615,  -509,  -512,  -513,
  -514,  -515,  -654,  -492,   -12,  -286,  -447,   -42,  -208,  -267,
  -654,  -246,  -612,  -612,  -397,  -653,  -653,  -653,  -414,  -654,
  -642,  -581,  -589,  -590,  -600,  -457,   -66,  -653,  -653,  -469,
  -654,  -654,  -468,  -257,  -654,  -654,  -654,  -429,  -553,  -654,
  -561,  -654,  -563,  -654,  -566,  -654,  -569,  -571,  -382,  -384,
  -388,  -654,  -393,  -323,  -654,  -378,  -324,  -654,  -653,  -329,
  -447,  -654,  -654,  -335,  -339,  -654,  -550,  -552,  -551,  -511,
  -654,  -395,  -396,  -405,  -399,  -407,  -654,  -410,  -654,  -412,
  -417,  -654,  -654,  -588,  -654,  -454,  -653,  -653,  -541,  -542,
  -654,  -654,  -297,  -467,  -431,  -432,  -642,  -422,  -424,  -425,
  -558,  -558,  -558,  -558,  -386,  -654,  -391,  -654,  -653,  -281,
  -653,  -332,  -548,  -653,  -342,  -653,  -612,  -591,  -398,  -653,
  -653,  -653,  -653,  -601,  -653,  -419,  -599,  -654,  -307,   -14,
  -463,  -653,  -654,  -654,  -307,  -421,  -654,  -654,  -559,  -562,
  -564,  -567,  -654,  -389,  -653,  -459,  -460,  -461,  -654,  -654,
  -394,  -654,  -402,  -654,  -404,  -654,  -408,  -654,  -411,  -413,
  -306,  -631,  -462,  -642,  -627,  -628,  -631,  -306,  -423,  -558,
  -387,  -376,  -336,  -345,  -653,  -653,  -653,  -653,  -447,  -560,
  -654,  -400,  -403,  -406,  -409,  -653,  -401 ]

clist = [
'6,352,234,129,450,457,463,278,384,356,357,608,701,361,296,296,296,142',
'142,318,721,291,229,786,4,521,9,237,569,346,280,665,9,297,297,297,410',
'556,359,360,319,600,603,434,435,333,333,870,355,355,510,125,355,584',
'126,506,137,221,882,298,298,298,576,546,336,641,515,145,145,129,738',
'739,340,416,417,418,419,888,391,873,333,142,147,147,863,698,348,636',
'698,638,315,849,642,392,317,394,396,399,753,404,407,394,636,727,730',
'692,926,833,734,142,962,130,355,355,355,355,959,362,447,441,777,1033',
'441,869,468,871,1,393,441,2,294,307,308,408,504,1007,421,622,1009,624',
'136,653,848,938,704,220,371,448,430,423,9,761,889,469,279,691,655,344',
'701,420,562,690,388,563,282,289,292,353,369,781,385,626,347,349,557',
'350,351,372,898,929,623,521,900,1023,374,785,625,975,789,978,928,1016',
'930,1006,567,859,1033,354,735,513,514,838,688,1055,768,428,445,446,855',
'940,296,390,395,927,398,470,471,644,401,403,458,701,406,907,433,433',
'451,429,440,414,318,440,791,698,698,1078,467,440,1009,792,409,474,736',
'899,868,1053,865,472,1027,629,457,463,685,,,959,766,937,1029,,,870,877',
'707,,296,827,584,,,,716,296,,,296,576,512,991,,896,,1080,836,297,873',
'526,19,451,870,844,,,19,297,520,520,,,318,604,392,,,318,517,,129,238',
'543,298,795,,,,709,712,238,238,238,298,19,324,324,,291,712,540,333,533',
',1010,,,,794,531,1056,642,355,547,,605,606,550,333,536,19,559,564,892',
'560,238,238,1081,529,238,366,530,129,,558,,544,948,1030,1039,,1031,612',
'315,694,,870,532,315,1025,561,565,538,333,511,333,,916,,,769,712,,,516',
',,,,,724,469,645,448,943,,,,,,607,,701,,19,,,,,238,238,238,238,19,,981',
'982,840,,,,,142,666,,843,,,,803,457,463,817,584,661,584,1084,748,822',
'764,765,673,767,,520,520,,678,672,,,296,,,903,904,,,458,,,654,,,,,,451',
'901,902,,970,145,,467,686,679,,698,584,584,,794,,742,744,746,147,576',
'576,673,,,,,,,672,1072,,19,238,438,238,238,438,238,,,,,438,238,238,296',
',935,,,1060,695,696,,931,458,19,,,720,,451,,840,547,458,,856,705,333',
'697,467,547,,708,945,,333,441,712,897,467,,,813,815,,,441,441,818,820',
'238,726,441,441,,,,238,968,,238,,,,,758,774,,760,,971,814,816,,671,296',
',819,821,19,677,,,19,762,458,784,324,19,890,748,451,790,879,,864,,,',
',,467,783,,324,,,997,835,,,,,,19,,,,,,846,,,689,296,238,19,19,,,584',
'1018,,6,458,,1088,,,620,451,620,,142,,440,,666,,,467,1057,,834,,440',
'440,799,,9,,440,440,,931,,,931,829,808,,666,,,,,812,520,,,,,800,917',
',673,,441,678,923,,547,672,145,,1058,333,1059,862,,,853,845,857,905',
'963,433,333,147,,,966,918,,847,,969,,,748,,748,,,974,814,816,821,819',
',,666,,,,,,858,886,893,886,,931,238,296,,,881,,431,444,891,458,,,,,912',
',,451,,,,,666,467,,950,952,,954,956,,957,,,142,,,,,,,906,,,,,,,,520',
'862,1021,,440,19,1024,1073,712,1014,748,,324,,238,,,964,,,324,,,,,939',
'829,,,238,918,972,,944,523,,525,,,527,528,,,942,,,1026,,,923,,,923,',
'923,,355,,,,965,,,,748,947,748,666,,,355,,,,,19,,,19,958,,,,,,566,238',
',973,1082,1083,866,977,,866,,,,238,,862,748,,,238,976,,,,,995,996,,984',
'984,984,,,1048,1049,1050,1051,,,,,,923,19,923,333,923,,923,438,238,',
',19,333,,1020,,,438,438,,,,,438,438,,,,,923,,,,1022,,,,,29,657,,,,1040',
'29,,,,,1045,,,,,324,,,853,924,29,1089,,,333,1054,324,1042,,29,29,29',
',29,,,,,,985,987,989,886,,,,,296,,,,984,984,984,984,,984,458,,29,,,',
'451,29,29,,467,29,,,,,467,,,886,666,,,,,,19,,,,699,,238,566,,702,,19',
'19,,,,,,19,,,,932,984,984,984,984,,,,,,,,984,872,438,874,,,29,,,,,29',
'29,29,29,29,,,,,,,,,,19,1062,1064,1066,1068,,1069,,,,,,,,754,,,,,19',
',,,,,,866,19,19,924,,,924,,924,,,,,,,,,,,,,,,,,,238,,19,,1091,1092,1093',
'1094,,,,,925,19,238,1096,,,,,,,,,,29,29,29,29,29,29,29,801,,,,29,29',
'29,,,699,566,,,,,993,,,29,,19,19,,924,1000,924,,924,932,924,,932,,,932',
',932,,,,,,841,,,842,,,,,,19,924,,29,,,,,,,29,,,29,854,,,,,699,,,566',
',1036,,,,,19,,,29,,,,29,,876,,,29,,,,,,1011,,1012,19,1013,,,,19,,19',
'932,444,932,,932,,932,,,29,,,,,,238,,,,,29,29,29,,,32,1032,,1034,932',
',32,,,,915,,,,,,,,,,,32,,,,,,,,,32,32,32,,32,,,,,,,,,,,,,,,16,,,,,,16',
',,,,32,,1079,,,32,32,,,32,,,,,,,1085,,1086,,1087,,,16,,,,,,,,,,,,,,',
',,,,,,,1095,,,,16,,,,29,,,,,,370,,,,,32,,,566,,32,32,32,32,32,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,29,18,,,,,16,18,1019,29,,,,,,16,,,,,,,,,29',
',,,,,,,,,,18,,,,,,,,,,,,,,,,,,32,32,32,32,32,32,32,,18,,,32,32,32,,',
',29,,,29,,,,,32,,,29,,,,,,,,,,,,29,,,,,,29,,,16,,436,,,436,,,,,,436',
'32,,,,,,,32,,29,32,18,,16,,29,29,,,29,18,,,,,29,29,,,32,,29,29,32,,',
',,32,,,,,,,,,,,,,,,,,,,,,,,,,,32,,,,,,,,,,,32,32,32,16,,,,16,,,,,16',
',,,,,,,,,,,,,,,,,,,18,,18,,,18,16,,,,,18,,,,,,,16,16,,,,29,,18,,,,29',
',,,,29,29,,,,,,29,,,,,,,,,,,,,,,,,,29,,,,,,,,,,,,,,,,,,,,,,,29,,,,32',
',,,18,,,,18,,,,,18,,29,,,,,,,,29,29,,,,,,,,,,,,,,,18,,,,,,,,,29,,29',
'18,18,,32,,,,,,,29,29,32,,,,,,,,,,,,,,,32,,,20,,,,,,20,,,,,,,,,,,,,29',
'29,,16,,,,,,,,,,,,20,326,326,,,,,,,32,,,32,,,,29,,,,32,,,,,,20,,,,,',
'32,,,,368,,32,,,,,,,29,,,,,,,,,,,,,16,,,16,32,,,,29,,32,32,,29,32,29',
',,,,32,32,,,,,32,32,,,,29,20,,,,,,,,,20,,,,,,,,18,,,,16,,,,,,436,,,',
'16,,,,,,436,436,,,,,436,436,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,18,,,18,,,32,,,20,,439,32,,439,,,32,32,,439,,,,32,,,,,,,,,,20,,,,',
',,,32,,,,,,,,,,,18,,16,,,,18,,,,18,,32,16,16,,18,18,,,16,,18,18,,,,',
',,,32,,,,,,,436,32,32,,,,,,20,,,,20,,,,326,20,,,,,,16,,,32,,32,,,,,326',
',,,,41,32,32,,16,20,41,,,,,,16,16,,,,20,20,,,,,,,,,,,,621,,621,,41,322',
'322,,,16,32,32,,,,18,,,,,16,,,,,,18,18,,,41,,,18,,,,,,,364,32,,386,',
',,,,,,18,,,,,,,,16,16,,,1003,,,,,,,32,,,,18,,,,,,,,,,,,,,,,16,32,,18',
'41,,32,,32,,,18,18,41,,,,,,,,,,,32,,,,,16,,,,,,,,,18,,,,,,,,,,,18,16',
',,,,16,,16,,,,,,,,,,,20,,,,,,,326,,,,,,,,326,,,,,18,18,,,,42,,,,,,42',
'41,,,,,,,,,,,,,,,,,,,18,,,,,,41,,42,323,323,,,,,,,,,20,,,20,,,,,,,18',
',,,,42,,,,,,,,,,365,,,387,,,18,,,,,18,,18,,,,,,,,,,,,,,41,20,,,41,,',
'439,322,41,,20,,,,,,439,439,,,,,439,439,322,,42,,,,,,,,41,42,,,,,,,',
',,,41,41,,,,,,326,,,,,,386,,386,,,326,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,20,42,,,,,,,,,,20,20,,,,,911,20,,,,,,,,42',
',,,,,,,,,439,,,,,,,,,,,,,,,,,,,,,,,20,,,,,,,,,,,,,,,,,,,20,,,,,,,,20',
'20,,,,42,,,,42,41,,,323,42,,,322,,,,,,,,322,,20,,,323,,,,,,,,20,,42',
',,,,,,,,,,,42,42,,,,,,,,,,,,387,,387,,,,,621,,,,,20,20,,41,1002,,41',
',,,,,,,,,,,,,,,,,,,,,,,,20,,,,,,,,,,,,,,,,,,,,,,,,621,41,,,,20,,,,,',
'41,,,,,,,,,,,,,,,20,,,,,20,,20,,,,,,,,,,,,,,,,,,,,,322,,,,,,,,,,,322',
',,,,,,,,,,,,,,,,,,,,,,,,,42,,,,,,,323,,,,,,,,323,,,,,,,,,,,,,,,,41,',
',,,,,,,,,41,41,,,,,,41,,,,,,,,,,,,,,,,,,,,,42,,,42,,,,,,,,,,,,,,,,,41',
',,,,,,,,,,,,,,,,,,41,,,,,,,,41,41,,,,,42,,,,,,,,,,42,,,,,,,,,,245,41',
',,,,,,,295,295,295,41,,,,,,,,,,342,343,,345,,,,,,,,323,,,,,,,,,,,323',
',386,,,,,41,41,,,998,,,,,,,,,,,,,,,,,,,,,,,,,,,41,,,,,,,,,,,,,,,,,,',
'42,,,,,386,,,,,41,42,42,,,,,,42,,,,,,,,,,,,,41,,,,,41,,41,,,,,,,,,,',
',,,,,,,,,,42,,,,,,,,,,,,,,,,,,,42,,,,,,,,42,42,,,,,,,,,,,,295,443,,',
'449,295,,,,,449,,,,42,,,,,,,,,245,,42,481,482,483,484,485,486,487,488',
'489,490,491,492,493,494,495,496,497,498,499,500,501,502,,,,,503,,,,',
',,387,295,,,,42,42,,295,999,,295,,,,,,,295,,295,,,295,295,,,,,,,,,,',
',42,,,,,,,,,,,,,,,,,,,,,,,,387,,552,,553,42,,,295,295,,,,,,,,,,,,,,',
',,42,,,,,42,,42,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,295,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,295,,449,449,449',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,295,,,295,,295,,,,,,,,,,,,,,,295',
',,,,,,,,,719,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,295,,,,,,,,,,,,,',
',,,,,,,,,295,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,295,449,295',
',,,809,,,295,295,449,449,,,,,449,449,,,,,,,,,,,,,,,,,,,,,,,,295,,,295',
',,,,,,,,,,,,,,449,,,,,295,,,,,295,,,295,,,,,,,,,,,,,,,,295,,,,,,,,,',
',,,,,,,,,,,295,,,,,,,,,,,,295,,,,,,,,,,,,,,,,,,,,,,295,,,,,,,,449,,',
',,,,,,,,,,449,449,449,449,,921,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,295,449,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,295,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,295' ]
        racc_goto_table = arr = ::Array.new(4134, nil)
        idx = 0
        clist.each do |str|
          str.split(',', -1).each do |i|
            arr[idx] = i.to_i unless i.empty?
            idx += 1
          end
        end

clist = [
'6,104,39,120,35,49,49,173,69,23,23,115,221,23,45,45,45,70,70,14,15,87',
'37,123,2,89,9,26,172,39,37,36,9,84,84,84,69,12,41,41,62,108,108,28,28',
'79,79,211,30,30,51,5,30,210,8,49,21,21,109,86,86,86,205,64,63,194,35',
'73,73,120,155,155,77,23,23,23,23,111,190,216,79,70,74,74,164,90,9,195',
'90,195,58,17,195,6,59,6,6,6,150,6,6,6,195,85,85,52,160,162,85,70,151',
'7,30,30,30,30,148,5,32,24,67,217,24,161,32,161,1,191,24,3,57,57,57,191',
'174,166,10,68,167,68,11,13,16,18,20,22,25,76,29,31,9,42,44,76,48,54',
'75,80,221,9,83,88,100,103,50,50,50,106,117,119,124,125,126,127,128,129',
'130,131,132,164,133,89,134,135,136,137,138,139,140,141,152,151,158,165',
'168,169,217,170,171,177,178,180,182,183,184,14,30,30,185,186,45,189',
'192,161,193,30,30,196,197,198,87,221,199,200,84,84,6,26,26,7,14,26,201',
'90,90,166,70,26,167,202,203,37,172,204,209,151,213,60,214,220,49,49',
'35,,,148,115,162,160,,,211,150,64,,45,36,210,,,,64,45,,,45,205,87,164',
',67,,151,52,84,216,190,34,6,211,36,,,34,84,6,6,,,14,23,6,,,14,60,,120',
'34,39,86,194,,,,35,49,34,34,34,86,34,34,34,,87,49,37,79,60,,161,,,,195',
'9,111,195,30,62,,14,14,37,79,63,34,6,6,36,84,34,34,109,5,34,34,8,120',
',60,,77,155,161,17,,161,37,58,174,,211,59,58,123,86,86,59,79,57,79,',
'36,,,35,49,,,57,,,,,,102,76,6,76,85,,,,,,5,,221,,34,,,,,34,34,34,34',
'34,,155,155,89,,,,,70,39,,64,,,,35,49,49,51,210,37,210,161,149,51,102',
'102,87,102,,6,6,,87,6,,,45,,,172,172,,,87,,,21,,,,,,6,12,12,,36,73,',
'70,39,60,,90,210,210,,195,,208,208,208,74,205,205,87,,,,,,,6,15,,34',
'34,34,34,34,34,34,,,,,34,34,34,45,,12,,,155,60,60,,210,87,34,,,30,,6',
',89,62,87,,28,60,79,86,70,62,,60,12,,79,24,49,35,70,,,32,32,,,24,24',
'32,32,34,60,24,24,,,,34,108,,34,,,,,14,41,,14,,12,76,76,,50,45,,76,76',
'34,50,,,34,120,87,30,34,34,102,149,6,30,149,,154,,,,,,70,6,,34,,,108',
'104,,,,,,34,,,,,,76,,,50,45,34,34,34,,,210,108,,6,87,,36,,,34,6,34,',
'70,,26,,39,,,70,115,,173,,26,26,2,,9,,26,26,,210,,,210,6,9,,39,,,,,86',
'6,,,,,21,32,,87,,24,87,154,,62,6,73,,12,79,12,39,,,6,62,6,69,102,84',
'79,74,,,102,76,,60,,102,,,149,,149,,,102,76,76,76,76,,,39,,,,,,86,6',
'14,6,,210,34,45,,,60,,82,82,84,87,,,,,14,,,6,,,,,39,70,,208,208,,208',
'208,,208,,,70,,,,,,,60,,,,,,,,6,39,102,,26,34,102,35,49,149,149,,34',
',34,,,23,,,34,,,,,14,6,,,34,76,23,,14,82,,82,,,82,82,,,6,,,154,,,154',
',,154,,154,,30,,,,14,,,,149,60,149,39,,,30,,,,,34,,,34,60,,,,,,82,34',
',120,102,102,156,120,,156,,,,34,,39,149,,,34,60,,,,,14,14,,6,6,6,,,208',
'208,208,208,,,,,,154,34,154,79,154,,154,34,34,,,34,79,,14,,,34,34,,',
',,34,34,,,,,154,,,,120,,,,,53,82,,,,14,53,,,,,39,,,,,34,,,6,156,53,208',
',,79,14,34,37,,53,53,53,,53,,,,,,157,157,157,6,,,,,45,,,,6,6,6,6,,6',
'87,,53,,,,6,53,53,,70,53,,,,,70,,,6,39,,,,,,34,,,,82,,34,82,,82,,34',
'34,,,,,,34,,,,212,6,6,6,6,,,,,,,,6,159,34,159,,,53,,,,,53,53,53,53,53',
',,,,,,,,,34,157,157,157,157,,157,,,,,,,,82,,,,,34,,,,,,,156,34,34,156',
',,156,,156,,,,,,,,,,,,,,,,,,34,,34,,157,157,157,157,,,,,159,34,34,157',
',,,,,,,,,53,53,53,53,53,53,53,82,,,,53,53,53,,,82,82,,,,,34,,,53,,34',
'34,,156,34,156,,156,212,156,,212,,,212,,212,,,,,,82,,,82,,,,,,34,156',
',53,,,,,,,53,,,53,82,,,,,82,,,82,,34,,,,,34,,,53,,,,53,,82,,,53,,,,',
',159,,159,34,159,,,,34,,34,212,82,212,,212,,212,,,53,,,,,,34,,,,,53',
'53,53,,,56,159,,159,212,,56,,,,82,,,,,,,,,,,56,,,,,,,,,56,56,56,,56',
',,,,,,,,,,,,,,27,,,,,,27,,,,,56,,159,,,56,56,,,56,,,,,,,159,,159,,159',
',,27,,,,,,,,,,,,,,,,,,,,,,159,,,,27,,,,53,,,,,,27,,,,,56,,,82,,56,56',
'56,56,56,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,53,33,,,,,27,33,82,53,,,,',
',27,,,,,,,,,53,,,,,,,,,,,33,,,,,,,,,,,,,,,,,,56,56,56,56,56,56,56,,33',
',,56,56,56,,,,53,,,53,,,,,56,,,53,,,,,,,,,,,,53,,,,,,53,,,27,,27,,,27',
',,,,,27,56,,,,,,,56,,53,56,33,,27,,53,53,,,53,33,,,,,53,53,,,56,,53',
'53,56,,,,,56,,,,,,,,,,,,,,,,,,,,,,,,,,56,,,,,,,,,,,56,56,56,27,,,,27',
',,,,27,,,,,,,,,,,,,,,,,,,,33,,33,,,33,27,,,,,33,,,,,,,27,27,,,,53,,33',
',,,53,,,,,53,53,,,,,,53,,,,,,,,,,,,,,,,,,53,,,,,,,,,,,,,,,,,,,,,,,53',
',,,56,,,,33,,,,33,,,,,33,,53,,,,,,,,53,53,,,,,,,,,,,,,,,33,,,,,,,,,53',
',53,33,33,,56,,,,,,,53,53,56,,,,,,,,,,,,,,,56,,,38,,,,,,38,,,,,,,,,',
',,,53,53,,27,,,,,,,,,,,,38,38,38,,,,,,,56,,,56,,,,53,,,,56,,,,,,38,',
',,,,56,,,,38,,56,,,,,,,53,,,,,,,,,,,,,27,,,27,56,,,,53,,56,56,,53,56',
'53,,,,,56,56,,,,,56,56,,,,53,38,,,,,,,,,38,,,,,,,,33,,,,27,,,,,,27,',
',,27,,,,,,27,27,,,,,27,27,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
'33,,,33,,,56,,,38,,38,56,,38,,,56,56,,38,,,,56,,,,,,,,,,38,,,,,,,,56',
',,,,,,,,,,33,,27,,,,33,,,,33,,56,27,27,,33,33,,,27,,33,33,,,,,,,,56',
',,,,,,27,56,56,,,,,,38,,,,38,,,,38,38,,,,,,27,,,56,,56,,,,,38,,,,,65',
'56,56,,27,38,65,,,,,,27,27,,,,38,38,,,,,,,,,,,,38,,38,,65,65,65,,,27',
'56,56,,,,33,,,,,27,,,,,,33,33,,,65,,,33,,,,,,,65,56,,65,,,,,,,,33,,',
',,,,,27,27,,,27,,,,,,,56,,,,33,,,,,,,,,,,,,,,,27,56,,33,65,,56,,56,',
',33,33,65,,,,,,,,,,,56,,,,,27,,,,,,,,,33,,,,,,,,,,,33,27,,,,,27,,27',
',,,,,,,,,,38,,,,,,,38,,,,,,,,38,,,,,33,33,,,,66,,,,,,66,65,,,,,,,,,',
',,,,,,,,,33,,,,,,65,,66,66,66,,,,,,,,,38,,,38,,,,,,,33,,,,,66,,,,,,',
',,,66,,,66,,,33,,,,,33,,33,,,,,,,,,,,,,,65,38,,,65,,,38,65,65,,38,,',
',,,38,38,,,,,38,38,65,,66,,,,,,,,65,66,,,,,,,,,,,65,65,,,,,,38,,,,,',
'65,,65,,,38,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
'38,66,,,,,,,,,,38,38,,,,,38,38,,,,,,,,66,,,,,,,,,,38,,,,,,,,,,,,,,,',
',,,,,,,38,,,,,,,,,,,,,,,,,,,38,,,,,,,,38,38,,,,66,,,,66,65,,,66,66,',
',65,,,,,,,,65,,38,,,66,,,,,,,,38,,66,,,,,,,,,,,,66,66,,,,,,,,,,,,66',
',66,,,,,38,,,,,38,38,,65,38,,65,,,,,,,,,,,,,,,,,,,,,,,,,38,,,,,,,,,',
',,,,,,,,,,,,,,38,65,,,,38,,,,,,65,,,,,,,,,,,,,,,38,,,,,38,,38,,,,,,',
',,,,,,,,,,,,,,65,,,,,,,,,,,65,,,,,,,,,,,,,,,,,,,,,,,,,,66,,,,,,,66,',
',,,,,,66,,,,,,,,,,,,,,,,65,,,,,,,,,,,65,65,,,,,,65,,,,,,,,,,,,,,,,,',
',,,66,,,66,,,,,,,,,,,,,,,,,65,,,,,,,,,,,,,,,,,,,65,,,,,,,,65,65,,,,',
'66,,,,,,,,,,66,,,,,,,,,,40,65,,,,,,,,40,40,40,65,,,,,,,,,,40,40,,40',
',,,,,,,66,,,,,,,,,,,66,,65,,,,,65,65,,,65,,,,,,,,,,,,,,,,,,,,,,,,,,',
'65,,,,,,,,,,,,,,,,,,,66,,,,,65,,,,,65,66,66,,,,,,66,,,,,,,,,,,,,65,',
',,,65,,65,,,,,,,,,,,,,,,,,,,,,66,,,,,,,,,,,,,,,,,,,66,,,,,,,,66,66,',
',,,,,,,,,,40,40,,,40,40,,,,,40,,,,66,,,,,,,,,40,,66,40,40,40,40,40,40',
'40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,,,,,40,,,,,,,66,40,',
',,66,66,,40,66,,40,,,,,,,40,,40,,,40,40,,,,,,,,,,,,66,,,,,,,,,,,,,,',
',,,,,,,,,66,,40,,40,66,,,40,40,,,,,,,,,,,,,,,,,66,,,,,66,,66,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,40,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,40,,40,40,40,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,40,,,40,,40,,,,,,,,,,,,,,,40,,,,,,,,,,40,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,40,,,,,,,,,,,,,,,,,,,,,,,40,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,40,40,40,,,,40,,,40,40,40,40,,,,,40,40,,',
',,,,,,,,,,,,,,,,,,,,,40,,,40,,,,,,,,,,,,,,,40,,,,,40,,,,,40,,,40,,,',
',,,,,,,,,,,,40,,,,,,,,,,,,,,,,,,,,,40,,,,,,,,,,,,40,,,,,,,,,,,,,,,,',
',,,,,40,,,,,,,,40,,,,,,,,,,,,,40,40,40,40,,40,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
'40,40,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,40,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,40' ]
        racc_goto_check = arr = ::Array.new(4134, 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,   126,    22,   129,   nil,    46,    -2,   103,    49,    24,
     0,   130,  -310,  -281,   -17,  -535,  -579,  -630,  -705,   nil,
  -386,    45,   133,   -58,  -105,    74,     4,  1383,  -180,   -75,
   -19,    12,  -109,  1502,   285,  -224,  -419,     3,  1889,   -20,
  3092,   -31,  -453,   nil,  -609,   -18,   nil,   nil,   127,  -224,
   135,  -232,  -408,   973,  -354,   nil,  1334,    98,    54,    58,
    12,   nil,     3,    26,  -274,  2229,  2442,  -498,  -235,   -67,
     6,   nil,   nil,    56,    71,  -271,   -80,    28,   nil,     8,
   110,   nil,   544,  -190,     1,  -457,    27,    -9,  -345,  -273,
  -434,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
    87,   nil,  -159,  -188,   -64,   nil,   101,   nil,  -315,  -700,
   nil,  -683,   nil,   nil,   nil,  -351,   nil,    96,   nil,  -453,
    -2,   nil,   nil,  -602,    95,  -214,   111,   111,  -174,   112,
   112,   104,  -603,  -193,  -602,  -790,   110,  -439,  -198,  -715,
  -438,  -716,   nil,   nil,   nil,   nil,   nil,   nil,  -762,  -141,
  -487,  -770,  -641,   nil,  -124,  -500,   164,    90,  -639,   351,
  -725,  -618,  -581,   nil,  -652,  -753,  -811,  -808,  -160,  -540,
   131,  -369,  -326,   -18,  -143,   nil,   nil,   -88,   -88,   nil,
  -492,   nil,  -303,  -817,  -406,  -515,  -646,   nil,   nil,   119,
   -17,    30,   114,   115,  -333,  -306,  -184,   118,   118,   120,
  -568,  -401,  -395,   137,  -539,  -292,   nil,   nil,   -82,  -497,
  -301,  -694,   250,  -491,  -732,   nil,  -664,  -865,   nil,   nil,
  -140,  -510 ]

racc_goto_default = [
   nil,   nil,   nil,   nil,     5,   nil,   310,     7,   363,   313,
   nil,   nil,   nil,   nil,   555,   nil,   nil,   nil,   nil,   309,
   311,   nil,   nil,   nil,    14,    15,    21,   243,   nil,   nil,
    17,   nil,   437,   244,   341,   nil,   nil,   779,   242,   473,
    24,   nil,   nil,   358,   nil,    25,    26,    27,   nil,   715,
   nil,   nil,   nil,   330,   nil,    28,   327,   452,    35,   nil,
   nil,    37,    40,    39,   nil,   239,   240,   619,   nil,   144,
   460,   143,   146,    90,    91,   nil,   442,   105,    47,    50,
   275,   548,   301,   nil,   453,   nil,   454,   465,   674,   518,
   299,   283,    51,    52,    53,    54,    55,    56,    57,    58,
    59,    61,   nil,   nil,   284,    65,   nil,    67,   nil,   nil,
    68,   884,    69,    70,    71,   nil,    72,   nil,    73,   nil,
   601,    74,    75,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   288,   277,   723,   852,   610,   885,   750,   583,
   nil,   751,  1028,   922,   571,   nil,   572,   nil,   nil,   573,
   nil,   575,   nil,   830,   nil,   nil,   nil,   581,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   464,   286,   nil,   nil,   693,
   nil,   505,   nil,   nil,   nil,   nil,   nil,    89,    92,    94,
   nil,   nil,   nil,   nil,   nil,   631,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   867,   788,   570,   nil,   574,
   875,   586,   588,   589,   933,   592,   593,   934,   596,   599,
   nil,   304 ]

racc_reduce_table = [
  0, 0, :racc_error,
  0, 151, :_reduce_1,
  2, 149, :_reduce_2,
  2, 150, :_reduce_3,
  1, 152, :_reduce_none,
  1, 152, :_reduce_none,
  3, 152, :_reduce_6,
  2, 152, :_reduce_none,
  1, 155, :_reduce_none,
  0, 159, :_reduce_9,
  3, 155, :_reduce_10,
  0, 161, :_reduce_11,
  4, 158, :_reduce_12,
  0, 166, :_reduce_13,
  6, 160, :_reduce_14,
  3, 160, :_reduce_15,
  2, 162, :_reduce_16,
  1, 167, :_reduce_none,
  1, 167, :_reduce_none,
  3, 167, :_reduce_19,
  2, 167, :_reduce_20,
  1, 168, :_reduce_none,
  1, 168, :_reduce_22,
  0, 179, :_reduce_23,
  4, 157, :_reduce_24,
  3, 157, :_reduce_25,
  3, 157, :_reduce_26,
  3, 157, :_reduce_27,
  2, 157, :_reduce_28,
  3, 157, :_reduce_29,
  3, 157, :_reduce_30,
  3, 157, :_reduce_31,
  3, 157, :_reduce_32,
  3, 157, :_reduce_33,
  4, 157, :_reduce_34,
  1, 157, :_reduce_none,
  3, 157, :_reduce_36,
  3, 157, :_reduce_37,
  3, 157, :_reduce_38,
  1, 157, :_reduce_none,
  3, 172, :_reduce_40,
  3, 172, :_reduce_41,
  6, 172, :_reduce_42,
  5, 172, :_reduce_43,
  5, 172, :_reduce_44,
  5, 172, :_reduce_45,
  5, 172, :_reduce_46,
  3, 172, :_reduce_47,
  1, 180, :_reduce_48,
  3, 180, :_reduce_49,
  1, 180, :_reduce_none,
  1, 178, :_reduce_none,
  3, 178, :_reduce_52,
  3, 178, :_reduce_53,
  3, 178, :_reduce_54,
  2, 178, :_reduce_55,
  1, 178, :_reduce_none,
  1, 171, :_reduce_57,
  0, 191, :_reduce_58,
  0, 192, :_reduce_59,
  4, 189, :_reduce_60,
  1, 174, :_reduce_none,
  1, 174, :_reduce_none,
  1, 194, :_reduce_none,
  4, 194, :_reduce_64,
  0, 202, :_reduce_65,
  4, 199, :_reduce_66,
  1, 201, :_reduce_67,
  2, 193, :_reduce_68,
  3, 193, :_reduce_69,
  4, 193, :_reduce_70,
  5, 193, :_reduce_71,
  4, 193, :_reduce_72,
  5, 193, :_reduce_73,
  2, 193, :_reduce_74,
  2, 193, :_reduce_75,
  2, 193, :_reduce_76,
  2, 193, :_reduce_77,
  2, 193, :_reduce_78,
  1, 173, :_reduce_none,
  3, 173, :_reduce_80,
  1, 207, :_reduce_none,
  3, 207, :_reduce_82,
  1, 206, :_reduce_83,
  2, 206, :_reduce_84,
  3, 206, :_reduce_85,
  5, 206, :_reduce_86,
  2, 206, :_reduce_87,
  4, 206, :_reduce_88,
  2, 206, :_reduce_89,
  4, 206, :_reduce_90,
  1, 206, :_reduce_91,
  3, 206, :_reduce_92,
  1, 210, :_reduce_none,
  3, 210, :_reduce_94,
  2, 209, :_reduce_95,
  3, 209, :_reduce_96,
  1, 212, :_reduce_97,
  3, 212, :_reduce_98,
  1, 211, :_reduce_99,
  1, 211, :_reduce_100,
  4, 211, :_reduce_101,
  3, 211, :_reduce_102,
  3, 211, :_reduce_103,
  3, 211, :_reduce_104,
  3, 211, :_reduce_105,
  2, 211, :_reduce_106,
  1, 211, :_reduce_107,
  1, 175, :_reduce_108,
  1, 175, :_reduce_109,
  4, 175, :_reduce_110,
  3, 175, :_reduce_111,
  3, 175, :_reduce_112,
  3, 175, :_reduce_113,
  3, 175, :_reduce_114,
  2, 175, :_reduce_115,
  1, 175, :_reduce_116,
  1, 215, :_reduce_117,
  1, 215, :_reduce_none,
  2, 216, :_reduce_119,
  1, 216, :_reduce_120,
  3, 216, :_reduce_121,
  1, 217, :_reduce_none,
  1, 217, :_reduce_none,
  1, 217, :_reduce_none,
  1, 217, :_reduce_125,
  1, 217, :_reduce_126,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 169, :_reduce_129,
  1, 169, :_reduce_none,
  1, 170, :_reduce_131,
  0, 223, :_reduce_132,
  4, 170, :_reduce_133,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  3, 188, :_reduce_206,
  3, 188, :_reduce_207,
  6, 188, :_reduce_208,
  5, 188, :_reduce_209,
  5, 188, :_reduce_210,
  5, 188, :_reduce_211,
  5, 188, :_reduce_212,
  0, 229, :_reduce_213,
  5, 188, :_reduce_214,
  3, 188, :_reduce_215,
  3, 188, :_reduce_216,
  3, 188, :_reduce_217,
  2, 188, :_reduce_218,
  2, 188, :_reduce_219,
  3, 188, :_reduce_220,
  3, 188, :_reduce_221,
  3, 188, :_reduce_222,
  3, 188, :_reduce_223,
  3, 188, :_reduce_224,
  3, 188, :_reduce_225,
  4, 188, :_reduce_226,
  2, 188, :_reduce_227,
  2, 188, :_reduce_228,
  3, 188, :_reduce_229,
  3, 188, :_reduce_230,
  3, 188, :_reduce_231,
  3, 188, :_reduce_232,
  1, 188, :_reduce_none,
  3, 188, :_reduce_234,
  3, 188, :_reduce_235,
  3, 188, :_reduce_236,
  3, 188, :_reduce_237,
  3, 188, :_reduce_238,
  2, 188, :_reduce_239,
  2, 188, :_reduce_240,
  3, 188, :_reduce_241,
  3, 188, :_reduce_242,
  3, 188, :_reduce_243,
  3, 188, :_reduce_244,
  3, 188, :_reduce_245,
  6, 188, :_reduce_246,
  1, 188, :_reduce_none,
  1, 228, :_reduce_none,
  1, 228, :_reduce_none,
  1, 228, :_reduce_none,
  1, 228, :_reduce_none,
  3, 226, :_reduce_252,
  3, 226, :_reduce_253,
  1, 230, :_reduce_254,
  1, 231, :_reduce_none,
  2, 231, :_reduce_256,
  4, 231, :_reduce_257,
  2, 231, :_reduce_258,
  1, 224, :_reduce_none,
  3, 224, :_reduce_260,
  3, 235, :_reduce_261,
  1, 236, :_reduce_none,
  1, 236, :_reduce_none,
  1, 183, :_reduce_none,
  1, 183, :_reduce_none,
  2, 183, :_reduce_266,
  4, 183, :_reduce_267,
  2, 183, :_reduce_268,
  1, 205, :_reduce_269,
  2, 205, :_reduce_270,
  2, 205, :_reduce_271,
  4, 205, :_reduce_272,
  1, 205, :_reduce_273,
  0, 239, :_reduce_274,
  2, 198, :_reduce_275,
  2, 238, :_reduce_276,
  2, 237, :_reduce_277,
  1, 237, :_reduce_none,
  1, 232, :_reduce_279,
  2, 232, :_reduce_280,
  3, 232, :_reduce_281,
  4, 232, :_reduce_282,
  1, 177, :_reduce_283,
  1, 177, :_reduce_284,
  3, 176, :_reduce_285,
  4, 176, :_reduce_286,
  2, 176, :_reduce_287,
  1, 227, :_reduce_none,
  1, 227, :_reduce_none,
  1, 227, :_reduce_none,
  1, 227, :_reduce_none,
  1, 227, :_reduce_none,
  1, 227, :_reduce_none,
  1, 227, :_reduce_none,
  1, 227, :_reduce_none,
  1, 227, :_reduce_none,
  1, 227, :_reduce_none,
  1, 227, :_reduce_298,
  0, 274, :_reduce_299,
  4, 227, :_reduce_300,
  0, 275, :_reduce_301,
  3, 227, :_reduce_302,
  0, 276, :_reduce_303,
  4, 227, :_reduce_304,
  3, 227, :_reduce_305,
  3, 227, :_reduce_306,
  2, 227, :_reduce_307,
  0, 277, :_reduce_308,
  4, 227, :_reduce_309,
  0, 278, :_reduce_310,
  4, 227, :_reduce_311,
  1, 227, :_reduce_312,
  4, 227, :_reduce_313,
  3, 227, :_reduce_314,
  1, 227, :_reduce_315,
  5, 227, :_reduce_316,
  4, 227, :_reduce_317,
  3, 227, :_reduce_318,
  2, 227, :_reduce_319,
  1, 227, :_reduce_none,
  2, 227, :_reduce_321,
  2, 227, :_reduce_322,
  6, 227, :_reduce_323,
  6, 227, :_reduce_324,
  4, 227, :_reduce_325,
  4, 227, :_reduce_326,
  5, 227, :_reduce_327,
  4, 227, :_reduce_328,
  6, 227, :_reduce_329,
  0, 279, :_reduce_330,
  0, 280, :_reduce_331,
  7, 227, :_reduce_332,
  0, 281, :_reduce_333,
  0, 282, :_reduce_334,
  0, 283, :_reduce_335,
  9, 227, :_reduce_336,
  0, 284, :_reduce_337,
  0, 285, :_reduce_338,
  6, 227, :_reduce_339,
  0, 286, :_reduce_340,
  0, 287, :_reduce_341,
  7, 227, :_reduce_342,
  0, 288, :_reduce_343,
  0, 289, :_reduce_344,
  9, 227, :_reduce_345,
  1, 227, :_reduce_346,
  1, 227, :_reduce_347,
  1, 227, :_reduce_348,
  1, 227, :_reduce_349,
  1, 182, :_reduce_350,
  1, 249, :_reduce_none,
  1, 255, :_reduce_none,
  1, 258, :_reduce_none,
  1, 260, :_reduce_none,
  1, 261, :_reduce_none,
  1, 262, :_reduce_none,
  1, 264, :_reduce_none,
  1, 266, :_reduce_none,
  1, 269, :_reduce_none,
  1, 270, :_reduce_none,
  1, 290, :_reduce_none,
  1, 291, :_reduce_none,
  1, 292, :_reduce_none,
  1, 293, :_reduce_none,
  1, 294, :_reduce_none,
  1, 164, :_reduce_none,
  1, 295, :_reduce_none,
  1, 250, :_reduce_none,
  1, 204, :_reduce_none,
  1, 256, :_reduce_none,
  1, 256, :_reduce_none,
  2, 256, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 257, :_reduce_none,
  5, 257, :_reduce_376,
  1, 259, :_reduce_none,
  2, 259, :_reduce_378,
  1, 265, :_reduce_none,
  1, 265, :_reduce_380,
  1, 296, :_reduce_none,
  3, 296, :_reduce_382,
  1, 299, :_reduce_383,
  3, 299, :_reduce_384,
  1, 298, :_reduce_385,
  4, 298, :_reduce_386,
  6, 298, :_reduce_387,
  3, 298, :_reduce_388,
  5, 298, :_reduce_389,
  2, 298, :_reduce_390,
  4, 298, :_reduce_391,
  1, 298, :_reduce_392,
  3, 298, :_reduce_393,
  4, 300, :_reduce_394,
  2, 300, :_reduce_395,
  2, 300, :_reduce_396,
  1, 300, :_reduce_397,
  2, 305, :_reduce_398,
  1, 305, :_reduce_none,
  6, 306, :_reduce_400,
  8, 306, :_reduce_401,
  4, 306, :_reduce_402,
  6, 306, :_reduce_403,
  4, 306, :_reduce_404,
  2, 306, :_reduce_405,
  6, 306, :_reduce_406,
  2, 306, :_reduce_407,
  4, 306, :_reduce_408,
  6, 306, :_reduce_409,
  2, 306, :_reduce_410,
  4, 306, :_reduce_411,
  2, 306, :_reduce_412,
  4, 306, :_reduce_413,
  1, 306, :_reduce_414,
  1, 310, :_reduce_415,
  1, 310, :_reduce_416,
  3, 311, :_reduce_417,
  1, 311, :_reduce_418,
  4, 311, :_reduce_419,
  1, 312, :_reduce_none,
  4, 312, :_reduce_421,
  1, 313, :_reduce_422,
  3, 313, :_reduce_423,
  1, 314, :_reduce_424,
  1, 314, :_reduce_none,
  0, 318, :_reduce_426,
  0, 319, :_reduce_427,
  4, 254, :_reduce_428,
  4, 316, :_reduce_429,
  1, 316, :_reduce_430,
  3, 317, :_reduce_431,
  3, 317, :_reduce_432,
  3, 321, :_reduce_433,
  2, 195, :_reduce_434,
  4, 195, :_reduce_435,
  5, 195, :_reduce_436,
  5, 195, :_reduce_437,
  0, 324, :_reduce_438,
  3, 253, :_reduce_439,
  4, 253, :_reduce_440,
  4, 253, :_reduce_441,
  3, 253, :_reduce_442,
  3, 253, :_reduce_443,
  3, 253, :_reduce_444,
  2, 253, :_reduce_445,
  1, 253, :_reduce_446,
  4, 253, :_reduce_447,
  0, 325, :_reduce_448,
  4, 252, :_reduce_449,
  0, 326, :_reduce_450,
  4, 252, :_reduce_451,
  0, 327, :_reduce_452,
  0, 328, :_reduce_453,
  4, 200, :_reduce_454,
  0, 329, :_reduce_455,
  0, 330, :_reduce_456,
  4, 322, :_reduce_457,
  0, 332, :_reduce_458,
  6, 263, :_reduce_459,
  1, 331, :_reduce_none,
  1, 331, :_reduce_none,
  6, 163, :_reduce_462,
  0, 163, :_reduce_463,
  1, 333, :_reduce_464,
  1, 333, :_reduce_none,
  1, 333, :_reduce_none,
  2, 334, :_reduce_467,
  1, 334, :_reduce_none,
  2, 165, :_reduce_469,
  1, 165, :_reduce_none,
  1, 240, :_reduce_471,
  1, 240, :_reduce_472,
  1, 240, :_reduce_none,
  1, 241, :_reduce_474,
  1, 336, :_reduce_475,
  1, 336, :_reduce_none,
  2, 336, :_reduce_477,
  3, 337, :_reduce_478,
  1, 337, :_reduce_479,
  3, 242, :_reduce_480,
  3, 243, :_reduce_481,
  3, 244, :_reduce_482,
  3, 244, :_reduce_483,
  1, 341, :_reduce_484,
  3, 341, :_reduce_485,
  1, 342, :_reduce_none,
  2, 342, :_reduce_487,
  3, 246, :_reduce_488,
  0, 345, :_reduce_489,
  4, 246, :_reduce_490,
  1, 344, :_reduce_491,
  3, 344, :_reduce_492,
  3, 245, :_reduce_493,
  3, 245, :_reduce_494,
  3, 247, :_reduce_495,
  3, 247, :_reduce_496,
  1, 346, :_reduce_497,
  3, 346, :_reduce_498,
  1, 347, :_reduce_499,
  3, 347, :_reduce_500,
  1, 338, :_reduce_501,
  2, 338, :_reduce_502,
  1, 339, :_reduce_503,
  2, 339, :_reduce_504,
  1, 340, :_reduce_505,
  2, 340, :_reduce_506,
  1, 343, :_reduce_507,
  0, 349, :_reduce_508,
  3, 343, :_reduce_509,
  0, 350, :_reduce_510,
  4, 343, :_reduce_511,
  1, 348, :_reduce_512,
  1, 348, :_reduce_513,
  1, 348, :_reduce_514,
  1, 348, :_reduce_none,
  2, 221, :_reduce_516,
  1, 221, :_reduce_517,
  1, 351, :_reduce_none,
  1, 351, :_reduce_none,
  1, 351, :_reduce_none,
  1, 351, :_reduce_none,
  3, 222, :_reduce_522,
  1, 335, :_reduce_none,
  2, 335, :_reduce_524,
  1, 225, :_reduce_none,
  1, 225, :_reduce_none,
  1, 225, :_reduce_none,
  1, 225, :_reduce_none,
  1, 213, :_reduce_none,
  1, 213, :_reduce_none,
  1, 213, :_reduce_none,
  1, 213, :_reduce_none,
  1, 213, :_reduce_none,
  1, 214, :_reduce_534,
  1, 214, :_reduce_535,
  1, 214, :_reduce_536,
  1, 214, :_reduce_537,
  1, 214, :_reduce_538,
  1, 214, :_reduce_539,
  1, 214, :_reduce_540,
  1, 248, :_reduce_541,
  1, 248, :_reduce_542,
  1, 181, :_reduce_543,
  1, 181, :_reduce_544,
  1, 186, :_reduce_545,
  1, 186, :_reduce_546,
  0, 352, :_reduce_547,
  4, 267, :_reduce_548,
  1, 267, :_reduce_549,
  3, 271, :_reduce_550,
  0, 354, :_reduce_551,
  3, 271, :_reduce_552,
  4, 353, :_reduce_553,
  2, 353, :_reduce_554,
  2, 353, :_reduce_555,
  1, 353, :_reduce_none,
  2, 356, :_reduce_557,
  0, 356, :_reduce_558,
  6, 320, :_reduce_559,
  8, 320, :_reduce_560,
  4, 320, :_reduce_561,
  6, 320, :_reduce_562,
  4, 320, :_reduce_563,
  6, 320, :_reduce_564,
  2, 320, :_reduce_565,
  4, 320, :_reduce_566,
  6, 320, :_reduce_567,
  2, 320, :_reduce_568,
  4, 320, :_reduce_569,
  2, 320, :_reduce_570,
  4, 320, :_reduce_571,
  1, 320, :_reduce_572,
  0, 320, :_reduce_573,
  1, 315, :_reduce_574,
  1, 315, :_reduce_575,
  1, 315, :_reduce_576,
  1, 315, :_reduce_577,
  1, 297, :_reduce_none,
  1, 297, :_reduce_579,
  1, 358, :_reduce_none,
  1, 359, :_reduce_none,
  3, 359, :_reduce_582,
  1, 307, :_reduce_583,
  3, 307, :_reduce_584,
  1, 360, :_reduce_none,
  2, 361, :_reduce_586,
  1, 361, :_reduce_587,
  2, 362, :_reduce_588,
  1, 362, :_reduce_589,
  1, 301, :_reduce_none,
  3, 301, :_reduce_591,
  1, 355, :_reduce_none,
  3, 355, :_reduce_593,
  1, 363, :_reduce_none,
  1, 363, :_reduce_none,
  2, 302, :_reduce_596,
  1, 302, :_reduce_597,
  3, 364, :_reduce_598,
  3, 365, :_reduce_599,
  1, 308, :_reduce_600,
  3, 308, :_reduce_601,
  1, 357, :_reduce_602,
  3, 357, :_reduce_603,
  1, 366, :_reduce_none,
  1, 366, :_reduce_none,
  2, 309, :_reduce_606,
  1, 309, :_reduce_607,
  1, 367, :_reduce_none,
  1, 367, :_reduce_none,
  2, 304, :_reduce_610,
  2, 303, :_reduce_611,
  0, 303, :_reduce_612,
  1, 272, :_reduce_none,
  0, 368, :_reduce_614,
  4, 272, :_reduce_615,
  1, 251, :_reduce_616,
  2, 251, :_reduce_none,
  1, 234, :_reduce_none,
  3, 234, :_reduce_619,
  3, 369, :_reduce_620,
  2, 369, :_reduce_621,
  4, 369, :_reduce_622,
  2, 369, :_reduce_623,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 197, :_reduce_none,
  1, 197, :_reduce_none,
  1, 197, :_reduce_none,
  1, 197, :_reduce_none,
  1, 323, :_reduce_none,
  1, 323, :_reduce_none,
  1, 323, :_reduce_none,
  1, 273, :_reduce_none,
  1, 273, :_reduce_none,
  1, 185, :_reduce_none,
  1, 185, :_reduce_none,
  1, 196, :_reduce_none,
  1, 196, :_reduce_none,
  0, 153, :_reduce_none,
  1, 153, :_reduce_none,
  0, 187, :_reduce_none,
  1, 187, :_reduce_none,
  2, 208, :_reduce_none,
  2, 184, :_reduce_none,
  0, 233, :_reduce_none,
  1, 233, :_reduce_none,
  1, 233, :_reduce_none,
  1, 268, :_reduce_649,
  1, 268, :_reduce_none,
  1, 156, :_reduce_none,
  2, 156, :_reduce_652,
  0, 154, :_reduce_653 ]

racc_reduce_n = 654

racc_shift_n = 1097

racc_token_table = {
  false => 0,
  :error => 1,
  :kCLASS => 2,
  :kMODULE => 3,
  :kDEF => 4,
  :kUNDEF => 5,
  :kBEGIN => 6,
  :kRESCUE => 7,
  :kENSURE => 8,
  :kEND => 9,
  :kIF => 10,
  :kUNLESS => 11,
  :kTHEN => 12,
  :kELSIF => 13,
  :kELSE => 14,
  :kCASE => 15,
  :kWHEN => 16,
  :kWHILE => 17,
  :kUNTIL => 18,
  :kFOR => 19,
  :kBREAK => 20,
  :kNEXT => 21,
  :kREDO => 22,
  :kRETRY => 23,
  :kIN => 24,
  :kDO => 25,
  :kDO_COND => 26,
  :kDO_BLOCK => 27,
  :kDO_LAMBDA => 28,
  :kRETURN => 29,
  :kYIELD => 30,
  :kSUPER => 31,
  :kSELF => 32,
  :kNIL => 33,
  :kTRUE => 34,
  :kFALSE => 35,
  :kAND => 36,
  :kOR => 37,
  :kNOT => 38,
  :kIF_MOD => 39,
  :kUNLESS_MOD => 40,
  :kWHILE_MOD => 41,
  :kUNTIL_MOD => 42,
  :kRESCUE_MOD => 43,
  :kALIAS => 44,
  :kDEFINED => 45,
  :klBEGIN => 46,
  :klEND => 47,
  :k__LINE__ => 48,
  :k__FILE__ => 49,
  :k__ENCODING__ => 50,
  :tIDENTIFIER => 51,
  :tFID => 52,
  :tGVAR => 53,
  :tIVAR => 54,
  :tCONSTANT => 55,
  :tLABEL => 56,
  :tCVAR => 57,
  :tNTH_REF => 58,
  :tBACK_REF => 59,
  :tSTRING_CONTENT => 60,
  :tINTEGER => 61,
  :tFLOAT => 62,
  :tREGEXP_END => 63,
  :tUPLUS => 64,
  :tUMINUS => 65,
  :tUMINUS_NUM => 66,
  :tPOW => 67,
  :tCMP => 68,
  :tEQ => 69,
  :tEQQ => 70,
  :tNEQ => 71,
  :tGEQ => 72,
  :tLEQ => 73,
  :tANDOP => 74,
  :tOROP => 75,
  :tMATCH => 76,
  :tNMATCH => 77,
  :tDOT => 78,
  :tDOT2 => 79,
  :tDOT3 => 80,
  :tAREF => 81,
  :tASET => 82,
  :tLSHFT => 83,
  :tRSHFT => 84,
  :tCOLON2 => 85,
  :tCOLON3 => 86,
  :tOP_ASGN => 87,
  :tASSOC => 88,
  :tLPAREN => 89,
  :tLPAREN2 => 90,
  :tRPAREN => 91,
  :tLPAREN_ARG => 92,
  :tLBRACK => 93,
  :tLBRACK2 => 94,
  :tRBRACK => 95,
  :tLBRACE => 96,
  :tLBRACE_ARG => 97,
  :tSTAR => 98,
  :tSTAR2 => 99,
  :tAMPER => 100,
  :tAMPER2 => 101,
  :tTILDE => 102,
  :tPERCENT => 103,
  :tDIVIDE => 104,
  :tPLUS => 105,
  :tMINUS => 106,
  :tLT => 107,
  :tGT => 108,
  :tPIPE => 109,
  :tBANG => 110,
  :tCARET => 111,
  :tLCURLY => 112,
  :tRCURLY => 113,
  :tBACK_REF2 => 114,
  :tSYMBEG => 115,
  :tSTRING_BEG => 116,
  :tXSTRING_BEG => 117,
  :tREGEXP_BEG => 118,
  :tWORDS_BEG => 119,
  :tQWORDS_BEG => 120,
  :tSTRING_DBEG => 121,
  :tSTRING_DVAR => 122,
  :tSTRING_END => 123,
  :tSTRING => 124,
  :tSYMBOL => 125,
  :tNL => 126,
  :tEH => 127,
  :tCOLON => 128,
  :tCOMMA => 129,
  :tSPACE => 130,
  :tSEMI => 131,
  :tLAMBDA => 132,
  :tLAMBEG => 133,
  :tDSTAR => 134,
  :tCHAR => 135,
  :tSYMBOLS_BEG => 136,
  :tQSYMBOLS_BEG => 137,
  :tSTRING_DEND => 138,
  :tUBANG => 139,
  :tRATIONAL => 140,
  :tIMAGINARY => 141,
  :tLABEL_END => 142,
  :tLONELY => 143,
  :tBDOT2 => 144,
  :tBDOT3 => 145,
  :tLOWEST => 146,
  :tEQL => 147 }

racc_nt_base = 148

racc_use_result_var = true

Racc_arg = [
  racc_action_table,
  racc_action_check,
  racc_action_default,
  racc_action_pointer,
  racc_goto_table,
  racc_goto_check,
  racc_goto_default,
  racc_goto_pointer,
  racc_nt_base,
  racc_reduce_table,
  racc_token_table,
  racc_shift_n,
  racc_reduce_n,
  racc_use_result_var ]

Racc_token_to_s_table = [
  "$end",
  "error",
  "kCLASS",
  "kMODULE",
  "kDEF",
  "kUNDEF",
  "kBEGIN",
  "kRESCUE",
  "kENSURE",
  "kEND",
  "kIF",
  "kUNLESS",
  "kTHEN",
  "kELSIF",
  "kELSE",
  "kCASE",
  "kWHEN",
  "kWHILE",
  "kUNTIL",
  "kFOR",
  "kBREAK",
  "kNEXT",
  "kREDO",
  "kRETRY",
  "kIN",
  "kDO",
  "kDO_COND",
  "kDO_BLOCK",
  "kDO_LAMBDA",
  "kRETURN",
  "kYIELD",
  "kSUPER",
  "kSELF",
  "kNIL",
  "kTRUE",
  "kFALSE",
  "kAND",
  "kOR",
  "kNOT",
  "kIF_MOD",
  "kUNLESS_MOD",
  "kWHILE_MOD",
  "kUNTIL_MOD",
  "kRESCUE_MOD",
  "kALIAS",
  "kDEFINED",
  "klBEGIN",
  "klEND",
  "k__LINE__",
  "k__FILE__",
  "k__ENCODING__",
  "tIDENTIFIER",
  "tFID",
  "tGVAR",
  "tIVAR",
  "tCONSTANT",
  "tLABEL",
  "tCVAR",
  "tNTH_REF",
  "tBACK_REF",
  "tSTRING_CONTENT",
  "tINTEGER",
  "tFLOAT",
  "tREGEXP_END",
  "tUPLUS",
  "tUMINUS",
  "tUMINUS_NUM",
  "tPOW",
  "tCMP",
  "tEQ",
  "tEQQ",
  "tNEQ",
  "tGEQ",
  "tLEQ",
  "tANDOP",
  "tOROP",
  "tMATCH",
  "tNMATCH",
  "tDOT",
  "tDOT2",
  "tDOT3",
  "tAREF",
  "tASET",
  "tLSHFT",
  "tRSHFT",
  "tCOLON2",
  "tCOLON3",
  "tOP_ASGN",
  "tASSOC",
  "tLPAREN",
  "tLPAREN2",
  "tRPAREN",
  "tLPAREN_ARG",
  "tLBRACK",
  "tLBRACK2",
  "tRBRACK",
  "tLBRACE",
  "tLBRACE_ARG",
  "tSTAR",
  "tSTAR2",
  "tAMPER",
  "tAMPER2",
  "tTILDE",
  "tPERCENT",
  "tDIVIDE",
  "tPLUS",
  "tMINUS",
  "tLT",
  "tGT",
  "tPIPE",
  "tBANG",
  "tCARET",
  "tLCURLY",
  "tRCURLY",
  "tBACK_REF2",
  "tSYMBEG",
  "tSTRING_BEG",
  "tXSTRING_BEG",
  "tREGEXP_BEG",
  "tWORDS_BEG",
  "tQWORDS_BEG",
  "tSTRING_DBEG",
  "tSTRING_DVAR",
  "tSTRING_END",
  "tSTRING",
  "tSYMBOL",
  "tNL",
  "tEH",
  "tCOLON",
  "tCOMMA",
  "tSPACE",
  "tSEMI",
  "tLAMBDA",
  "tLAMBEG",
  "tDSTAR",
  "tCHAR",
  "tSYMBOLS_BEG",
  "tQSYMBOLS_BEG",
  "tSTRING_DEND",
  "tUBANG",
  "tRATIONAL",
  "tIMAGINARY",
  "tLABEL_END",
  "tLONELY",
  "tBDOT2",
  "tBDOT3",
  "tLOWEST",
  "tEQL",
  "$start",
  "program",
  "top_compstmt",
  "@1",
  "top_stmts",
  "opt_terms",
  "none",
  "top_stmt",
  "terms",
  "stmt",
  "begin_block",
  "@2",
  "bodystmt",
  "@3",
  "compstmt",
  "opt_rescue",
  "k_else",
  "opt_ensure",
  "@4",
  "stmts",
  "stmt_or_begin",
  "fitem",
  "undef_list",
  "expr_value",
  "command_asgn",
  "mlhs",
  "command_call",
  "lhs",
  "mrhs",
  "mrhs_arg",
  "expr",
  "@5",
  "command_rhs",
  "var_lhs",
  "primary_value",
  "opt_call_args",
  "rbracket",
  "call_op",
  "backref",
  "opt_nl",
  "arg",
  "expr_value_do",
  "do",
  "@6",
  "@7",
  "command",
  "block_command",
  "block_call",
  "call_op2",
  "operation2",
  "command_args",
  "cmd_brace_block",
  "brace_body",
  "fcall",
  "@8",
  "operation",
  "k_return",
  "call_args",
  "mlhs_basic",
  "mlhs_inner",
  "rparen",
  "mlhs_head",
  "mlhs_item",
  "mlhs_node",
  "mlhs_post",
  "user_variable",
  "keyword_variable",
  "cname",
  "cpath",
  "fname",
  "op",
  "reswords",
  "fsym",
  "symbol",
  "dsym",
  "@9",
  "arg_rhs",
  "simple_numeric",
  "rel_expr",
  "primary",
  "relop",
  "@10",
  "arg_value",
  "aref_args",
  "args",
  "trailer",
  "assocs",
  "paren_args",
  "opt_paren_args",
  "opt_block_arg",
  "block_arg",
  "@11",
  "literal",
  "strings",
  "xstring",
  "regexp",
  "words",
  "qwords",
  "symbols",
  "qsymbols",
  "var_ref",
  "k_begin",
  "k_end",
  "assoc_list",
  "brace_block",
  "method_call",
  "lambda",
  "k_if",
  "then",
  "if_tail",
  "k_unless",
  "opt_else",
  "k_while",
  "k_until",
  "k_case",
  "case_body",
  "k_for",
  "for_var",
  "k_class",
  "superclass",
  "term",
  "k_module",
  "k_def",
  "f_arglist",
  "singleton",
  "dot_or_colon",
  "@12",
  "@13",
  "@14",
  "@15",
  "@16",
  "@17",
  "@18",
  "@19",
  "@20",
  "@21",
  "@22",
  "@23",
  "@24",
  "@25",
  "@26",
  "@27",
  "k_do",
  "k_do_block",
  "k_rescue",
  "k_ensure",
  "k_when",
  "k_elsif",
  "f_marg",
  "f_norm_arg",
  "f_margs",
  "f_marg_list",
  "block_args_tail",
  "f_block_kwarg",
  "f_kwrest",
  "opt_f_block_arg",
  "f_block_arg",
  "opt_block_args_tail",
  "block_param",
  "f_arg",
  "f_block_optarg",
  "f_rest_arg",
  "opt_block_param",
  "block_param_def",
  "opt_bv_decl",
  "bv_decls",
  "bvar",
  "f_bad_arg",
  "f_larglist",
  "lambda_body",
  "@28",
  "@29",
  "f_args",
  "do_block",
  "do_body",
  "operation3",
  "@30",
  "@31",
  "@32",
  "@33",
  "@34",
  "@35",
  "@36",
  "cases",
  "@37",
  "exc_list",
  "exc_var",
  "numeric",
  "string",
  "string1",
  "string_contents",
  "xstring_contents",
  "regexp_contents",
  "word_list",
  "word",
  "string_content",
  "symbol_list",
  "@38",
  "qword_list",
  "qsym_list",
  "string_dvar",
  "@39",
  "@40",
  "sym",
  "@41",
  "args_tail",
  "@42",
  "f_kwarg",
  "opt_args_tail",
  "f_optarg",
  "f_arg_asgn",
  "f_arg_item",
  "f_label",
  "f_kw",
  "f_block_kw",
  "kwrest_mark",
  "f_opt",
  "f_block_opt",
  "restarg_mark",
  "blkarg_mark",
  "@43",
  "assoc" ]

Racc_debug_parser = false

##### State transition tables end #####

# reduce 0 omitted

def _reduce_1(val, _values, result)
                      self.lexer.lex_state = EXPR_BEG

    result
end

def _reduce_2(val, _values, result)
                      result = new_compstmt val

                      lexer.cond.pop # local_pop
                      lexer.cmdarg.pop

    result
end

def _reduce_3(val, _values, result)
                      stmt, _ = val
                      result = stmt

    result
end

# reduce 4 omitted

# reduce 5 omitted

def _reduce_6(val, _values, result)
                      result = self.block_append val[0], val[2]

    result
end

# reduce 7 omitted

# reduce 8 omitted

def _reduce_9(val, _values, result)
                      if (self.in_def || self.in_single > 0) then
                        debug20 1
                        yyerror "BEGIN in method"
                      end
                      self.env.extend

    result
end

def _reduce_10(val, _values, result)
                      (_, lineno), _, iter = val
                      iter.line lineno

                      (_, preexe,) = iter
                      preexe.line lineno

                      result = iter

    result
end

def _reduce_11(val, _values, result)
 result = lexer.lineno
    result
end

def _reduce_12(val, _values, result)
                      _, line, stmt, _ = val
                      result = new_iter s(:preexe).line(line), 0, stmt

    result
end

def _reduce_13(val, _values, result)
                      res = _values[-2]
                      yyerror "else without rescue is useless" unless res

    result
end

def _reduce_14(val, _values, result)
                      body, resc, _, _, els, ens = val

                      result = new_body [body, resc, els, ens]

    result
end

def _reduce_15(val, _values, result)
                      body, resc, ens = val

                      result = new_body [body, resc, nil, ens]

    result
end

def _reduce_16(val, _values, result)
                      result = new_compstmt val

    result
end

# reduce 17 omitted

# reduce 18 omitted

def _reduce_19(val, _values, result)
                      result = self.block_append val[0], val[2]

    result
end

def _reduce_20(val, _values, result)
                      result = val[1]
                      debug20 2, val, result

    result
end

# reduce 21 omitted

def _reduce_22(val, _values, result)
                      yyerror "BEGIN is permitted only at toplevel"

    result
end

def _reduce_23(val, _values, result)
                      lexer.lex_state = EXPR_FNAME

    result
end

def _reduce_24(val, _values, result)
                      (_, line), lhs, _, rhs = val
                      result = s(:alias, lhs, rhs).line(line).line line

    result
end

def _reduce_25(val, _values, result)
                      (_, line), lhs, rhs = val
                      result = s(:valias, lhs.to_sym, rhs.to_sym).line line

    result
end

def _reduce_26(val, _values, result)
                      (_, line), lhs, rhs = val
                      result = s(:valias, lhs.to_sym, :"$#{rhs}").line line

    result
end

def _reduce_27(val, _values, result)
                      yyerror "can't make alias for the number variables"

    result
end

def _reduce_28(val, _values, result)
                      result = val[1]

    result
end

def _reduce_29(val, _values, result)
                      t, _, c = val
                      result = new_if c, t, nil

    result
end

def _reduce_30(val, _values, result)
                      f, _, c = val
                      result = new_if c, nil, f

    result
end

def _reduce_31(val, _values, result)
                      e, _, c = val
                      result = new_while e, c, true

    result
end

def _reduce_32(val, _values, result)
                      e, _, c = val
                      result = new_until e, c, true

    result
end

def _reduce_33(val, _values, result)
                      body, _, resbody = val

                      resbody = new_resbody s(:array).line(resbody.line), resbody
                      result = new_rescue body, resbody

    result
end

def _reduce_34(val, _values, result)
                      (_, line), _, stmt, _ = val

                      if (self.in_def || self.in_single > 0) then
                        debug20 3
                        yyerror "END in method; use at_exit"
                      end

                      result = new_iter s(:postexe).line(line), 0, stmt

    result
end

# reduce 35 omitted

def _reduce_36(val, _values, result)
                      result = new_masgn val[0], val[2], :wrap

    result
end

def _reduce_37(val, _values, result)
                      lhs, _, rhs = val
                      result = new_assign lhs, s(:svalue, rhs).line(rhs.line)

    result
end

def _reduce_38(val, _values, result)
                      result = new_masgn val[0], val[2]

    result
end

# reduce 39 omitted

def _reduce_40(val, _values, result)
                      result = new_assign val[0], val[2]

    result
end

def _reduce_41(val, _values, result)
                      result = new_op_asgn val

    result
end

def _reduce_42(val, _values, result)
                      result = new_op_asgn1 val

    result
end

def _reduce_43(val, _values, result)
                      prim, _, id, opasgn, rhs = val
                      result = s(:op_asgn, prim, rhs, id.to_sym, opasgn.to_sym)
                      if val[1] == '&.'
                        result.sexp_type = :safe_op_asgn
                      end
                      result.line = val[0].line

    result
end

def _reduce_44(val, _values, result)
                      result = s(:op_asgn, val[0], val[4], val[2].to_sym, val[3].to_sym)
                      if val[1] == '&.'
                        result.sexp_type = :safe_op_asgn
                      end
                      result.line = val[0].line

    result
end

def _reduce_45(val, _values, result)
                      lhs1, _, lhs2, op, rhs = val

                      result = s(:op_asgn, lhs1, rhs, lhs2.to_sym, op.to_sym)

    result
end

def _reduce_46(val, _values, result)
                      lhs1, _, lhs2, op, rhs = val

                      result = s(:op_asgn, lhs1, rhs, lhs2.to_sym, op.to_sym)

    result
end

def _reduce_47(val, _values, result)
                      self.backref_assign_error val[0]

    result
end

def _reduce_48(val, _values, result)
                      expr, = val
                      result = value_expr expr

    result
end

def _reduce_49(val, _values, result)
                      expr, (_, line), resbody = val

                      expr = value_expr expr
                      ary  = s(:array).line line
                      result = new_rescue(expr, new_resbody(ary, resbody))

    result
end

# reduce 50 omitted

# reduce 51 omitted

def _reduce_52(val, _values, result)
                      lhs, _, rhs = val
                      result = logical_op :and, lhs, rhs

    result
end

def _reduce_53(val, _values, result)
                      lhs, _, rhs = val
                      result = logical_op :or, lhs, rhs

    result
end

def _reduce_54(val, _values, result)
                      (_, line), _, expr = val
                      result = new_call(expr, :"!").line line
                      # REFACTOR: call_uni_op

    result
end

def _reduce_55(val, _values, result)
                      _, cmd = val
                      result = new_call(cmd, :"!").line cmd.line
                      # TODO: fix line number to tBANG... but causes BAD shift/reduce conflict
                      # REFACTOR: call_uni_op -- see parse26.y

    result
end

# reduce 56 omitted

def _reduce_57(val, _values, result)
                      result = value_expr(val[0])

    result
end

def _reduce_58(val, _values, result)
                      lexer.cond.push true

    result
end

def _reduce_59(val, _values, result)
                      lexer.cond.pop

    result
end

def _reduce_60(val, _values, result)
                      _, expr, _, _ = val
                      result = expr

    result
end

# reduce 61 omitted

# reduce 62 omitted

# reduce 63 omitted

def _reduce_64(val, _values, result)
                      blk, _, msg, args = val
                      result = new_call(blk, msg.to_sym, args).line blk.line

    result
end

def _reduce_65(val, _values, result)
                      # self.env.extend(:dynamic)
                      result = self.lexer.lineno

    result
end

def _reduce_66(val, _values, result)
                      _, line, body, _ = val

                      result = body
                      result.line = line

                      # self.env.unextend

    result
end

def _reduce_67(val, _values, result)
                      msg, = val
                      result = new_call(nil, msg.to_sym).line lexer.lineno

    result
end

def _reduce_68(val, _values, result)
                      call, args = val
                      result = call.concat args.sexp_body

    result
end

def _reduce_69(val, _values, result)
                      call, args, block = val

                      result = call.concat args.sexp_body

                      if block then
                        block_dup_check result, block

                        result, operation = block, result
                        result.insert 1, operation
                      end

    result
end

def _reduce_70(val, _values, result)
                      lhs, callop, op, args = val
                      result = new_call lhs, op.to_sym, args, callop

    result
end

def _reduce_71(val, _values, result)
                      recv, _, msg, args, block = val
                      call = new_call recv, msg.to_sym, args, val[1]

                      block_dup_check call, block

                      block.insert 1, call
                      result = block

    result
end

def _reduce_72(val, _values, result)
                      result = new_call val[0], val[2].to_sym, val[3]

    result
end

def _reduce_73(val, _values, result)
                      recv, _, msg, args, block = val
                      call = new_call recv, msg.to_sym, args

                      block_dup_check call, block

                      block.insert 1, call
                      result = block

    result
end

def _reduce_74(val, _values, result)
                      result = new_super val[1]

    result
end

def _reduce_75(val, _values, result)
                      (_, line), args = val
                      result = new_yield args
                      result.line line # TODO: push to new_yield

    result
end

def _reduce_76(val, _values, result)
                      line = val[0].last
                      result = s(:return, ret_args(val[1])).line(line)

    result
end

def _reduce_77(val, _values, result)
                      (_, line), args = val
                      result = s(:break, ret_args(args)).line line

    result
end

def _reduce_78(val, _values, result)
                      line = val[0].last
                      result = s(:next, ret_args(val[1])).line(line)

    result
end

# reduce 79 omitted

def _reduce_80(val, _values, result)
                      result = val[1]

    result
end

# reduce 81 omitted

def _reduce_82(val, _values, result)
                      _, arg, _ = val
                      l = arg.line

                      result = s(:masgn, s(:array, arg).line(l)).line l

    result
end

def _reduce_83(val, _values, result)
                      head, = val
                      result = s(:masgn, head).line head.line

    result
end

def _reduce_84(val, _values, result)
                      lhs, rhs = val
                      result = s(:masgn, lhs << rhs.compact).line lhs.line

    result
end

def _reduce_85(val, _values, result)
                      head, _, tail = val
                      head << s(:splat, tail).line(tail.line)
                      result = s(:masgn, head).line head.line

    result
end

def _reduce_86(val, _values, result)
                      ary1, _, splat, _, ary2 = val

                      result = list_append ary1, s(:splat, splat).line(splat.line)
                      result.concat ary2.sexp_body
                      result = s(:masgn, result).line result.line

    result
end

def _reduce_87(val, _values, result)
                      head, _ = val
                      l = head.line
                      result = s(:masgn, head << s(:splat).line(l)).line l

    result
end

def _reduce_88(val, _values, result)
                      head, _, _, post = val
                      ary = list_append head, s(:splat).line(head.line)
                      ary.concat post.sexp_body
                      result = s(:masgn, ary).line ary.line

    result
end

def _reduce_89(val, _values, result)
                      _, node = val
                      l = node.line
                      splat  = s(:splat, node).line l
                      ary    = s(:array, splat).line l
                      result = s(:masgn, ary).line l

    result
end

def _reduce_90(val, _values, result)
                      _, node, _, post = val

                      splat = s(:splat, node).line node.line
                      ary = s(:array, splat).line splat.line
                      ary.concat post.sexp_body
                      result = s(:masgn, ary).line ary.line

    result
end

def _reduce_91(val, _values, result)
                      l = lexer.lineno
                      result = s(:masgn, s(:array, s(:splat).line(l)).line(l)).line l

    result
end

def _reduce_92(val, _values, result)
                      _, _, post = val
                      l = post.line

                      splat = s(:splat).line l
                      ary = s(:array, splat, *post.sexp_body).line l
                      result = s(:masgn, ary).line l

    result
end

# reduce 93 omitted

def _reduce_94(val, _values, result)
                      result = val[1]

    result
end

def _reduce_95(val, _values, result)
                      lhs, _ = val
                      result = s(:array, lhs).line lhs.line

    result
end

def _reduce_96(val, _values, result)
                      result = val[0] << val[1].compact

    result
end

def _reduce_97(val, _values, result)
                      item, = val
                      result = s(:array, item).line item.line

    result
end

def _reduce_98(val, _values, result)
                      result = list_append val[0], val[2]

    result
end

def _reduce_99(val, _values, result)
                      result = self.assignable val[0]

    result
end

def _reduce_100(val, _values, result)
                      result = self.assignable val[0]

    result
end

def _reduce_101(val, _values, result)
                      result = self.aryset val[0], val[2]

    result
end

def _reduce_102(val, _values, result)
                      result = new_attrasgn val[0], val[2], val[1]

    result
end

def _reduce_103(val, _values, result)
                      recv, _, id = val
                      result = new_attrasgn recv, id

    result
end

def _reduce_104(val, _values, result)
                      result = new_attrasgn val[0], val[2], val[1]

    result
end

def _reduce_105(val, _values, result)
                      if (self.in_def || self.in_single > 0) then
                        debug20 7
                        yyerror "dynamic constant assignment"
                      end

                      expr, _, id = val
                      l = expr.line

                      result = s(:const, s(:colon2, expr, id.to_sym).line(l), nil).line l

    result
end

def _reduce_106(val, _values, result)
                      if (self.in_def || self.in_single > 0) then
                        debug20 8
                        yyerror "dynamic constant assignment"
                      end

                      _, id = val
                      l = lexer.lineno

                      result = s(:const, nil, s(:colon3, id.to_sym).line(l)).line l

    result
end

def _reduce_107(val, _values, result)
                      self.backref_assign_error val[0]

    result
end

def _reduce_108(val, _values, result)
                      line = lexer.lineno
                      result = self.assignable val[0]
                      result.line = line

    result
end

def _reduce_109(val, _values, result)
                      line = lexer.lineno
                      result = self.assignable val[0]
                      result.line = line
                      debug20 9, val, result

    result
end

def _reduce_110(val, _values, result)
                      lhs, _, args, _ = val
                      result = self.aryset lhs, args

    result
end

def _reduce_111(val, _values, result)
                      lhs, op, id = val
                      result = new_attrasgn lhs, id, op

    result
end

def _reduce_112(val, _values, result)
                      lhs, _, id = val
                      result = new_attrasgn lhs, id

    result
end

def _reduce_113(val, _values, result)
                      result = new_attrasgn val[0], val[2], val[1]

    result
end

def _reduce_114(val, _values, result)
                      expr, _, id = val

                      if (self.in_def || self.in_single > 0) then
                        debug20 10
                        yyerror "dynamic constant assignment"
                      end

                      l = expr.line
                      result = s(:const, s(:colon2, expr, id.to_sym).line(l)).line l

    result
end

def _reduce_115(val, _values, result)
                      _, id = val

                      if (self.in_def || self.in_single > 0) then
                        debug20 11
                        yyerror "dynamic constant assignment"
                      end

                      l = lexer.lineno
                      result = s(:const, s(:colon3, id.to_sym).line(l)).line l

    result
end

def _reduce_116(val, _values, result)
                      self.backref_assign_error val[0]

    result
end

def _reduce_117(val, _values, result)
                      yyerror "class/module name must be CONSTANT"

    result
end

# reduce 118 omitted

def _reduce_119(val, _values, result)
                      _, name = val
                      result = s(:colon3, name.to_sym).line lexer.lineno

    result
end

def _reduce_120(val, _values, result)
                      result = val[0].to_sym

    result
end

def _reduce_121(val, _values, result)
                      pval, _, name = val

                      result = s(:colon2, pval, name.to_sym)
                      result.line pval.line

    result
end

# reduce 122 omitted

# reduce 123 omitted

# reduce 124 omitted

def _reduce_125(val, _values, result)
                      lexer.lex_state = EXPR_END
                      result = val[0]

    result
end

def _reduce_126(val, _values, result)
                      (sym, _line), = val
                      lexer.lex_state = EXPR_END
                      result = sym

    result
end

# reduce 127 omitted

# reduce 128 omitted

def _reduce_129(val, _values, result)
                      id, = val
                      result = s(:lit, id.to_sym).line lexer.lineno

    result
end

# reduce 130 omitted

def _reduce_131(val, _values, result)
                      result = new_undef val[0]

    result
end

def _reduce_132(val, _values, result)
                      lexer.lex_state = EXPR_FNAME

    result
end

def _reduce_133(val, _values, result)
                      result = new_undef val[0], val[3]

    result
end

# reduce 134 omitted

# reduce 135 omitted

# reduce 136 omitted

# reduce 137 omitted

# reduce 138 omitted

# reduce 139 omitted

# reduce 140 omitted

# reduce 141 omitted

# reduce 142 omitted

# reduce 143 omitted

# reduce 144 omitted

# reduce 145 omitted

# reduce 146 omitted

# reduce 147 omitted

# reduce 148 omitted

# reduce 149 omitted

# reduce 150 omitted

# reduce 151 omitted

# reduce 152 omitted

# reduce 153 omitted

# reduce 154 omitted

# reduce 155 omitted

# reduce 156 omitted

# reduce 157 omitted

# reduce 158 omitted

# reduce 159 omitted

# reduce 160 omitted

# reduce 161 omitted

# reduce 162 omitted

# reduce 163 omitted

# reduce 164 omitted

# reduce 165 omitted

# reduce 166 omitted

# reduce 167 omitted

# reduce 168 omitted

# reduce 169 omitted

# reduce 170 omitted

# reduce 171 omitted

# reduce 172 omitted

# reduce 173 omitted

# reduce 174 omitted

# reduce 175 omitted

# reduce 176 omitted

# reduce 177 omitted

# reduce 178 omitted

# reduce 179 omitted

# reduce 180 omitted

# reduce 181 omitted

# reduce 182 omitted

# reduce 183 omitted

# reduce 184 omitted

# reduce 185 omitted

# reduce 186 omitted

# reduce 187 omitted

# reduce 188 omitted

# reduce 189 omitted

# reduce 190 omitted

# reduce 191 omitted

# reduce 192 omitted

# reduce 193 omitted

# reduce 194 omitted

# reduce 195 omitted

# reduce 196 omitted

# reduce 197 omitted

# reduce 198 omitted

# reduce 199 omitted

# reduce 200 omitted

# reduce 201 omitted

# reduce 202 omitted

# reduce 203 omitted

# reduce 204 omitted

# reduce 205 omitted

def _reduce_206(val, _values, result)
                      result = new_assign val[0], val[2]

    result
end

def _reduce_207(val, _values, result)
                      result = new_op_asgn val

    result
end

def _reduce_208(val, _values, result)
                      result = new_op_asgn1 val

    result
end

def _reduce_209(val, _values, result)
                      result = new_op_asgn2 val

    result
end

def _reduce_210(val, _values, result)
                      result = new_op_asgn2 val

    result
end

def _reduce_211(val, _values, result)
                      lhs, _, id, op, rhs = val

                      result = s(:op_asgn, lhs, rhs, id.to_sym, op.to_sym).line lhs.line

    result
end

def _reduce_212(val, _values, result)
                      lhs1, _, lhs2, op, rhs = val

                      lhs = s(:colon2, lhs1, lhs2.to_sym).line lhs1.line
                      result = new_const_op_asgn [lhs, op, rhs]

    result
end

def _reduce_213(val, _values, result)
                      result = self.lexer.lineno

    result
end

def _reduce_214(val, _values, result)
                      _, lhs, line, op, rhs = val

                      lhs = s(:colon3, lhs.to_sym).line line
                      result = new_const_op_asgn [lhs, op, rhs]

    result
end

def _reduce_215(val, _values, result)
                      # TODO: lhs = var_field val[0]
                      asgn = new_op_asgn val
                      result = self.backref_assign_error asgn

    result
end

def _reduce_216(val, _values, result)
                      v1, v2 = val[0], val[2]
                      if v1.node_type == :lit and v2.node_type == :lit and Integer === v1.last and Integer === v2.last then
                        result = s(:lit, (v1.last)..(v2.last)).line v1.line
                      else
                        result = s(:dot2, v1, v2).line v1.line
                      end

    result
end

def _reduce_217(val, _values, result)
                      v1, v2 = val[0], val[2]
                      if v1.node_type == :lit and v2.node_type == :lit and Integer === v1.last and Integer === v2.last then
                        result = s(:lit, (v1.last)...(v2.last)).line v1.line
                      else
                        result = s(:dot3, v1, v2).line v1.line
                      end

    result
end

def _reduce_218(val, _values, result)
                      v1, _ = val
                      v2 = nil

                      result = s(:dot2, v1, v2).line v1.line

    result
end

def _reduce_219(val, _values, result)
                      v1, _ = val
                      v2 = nil

                      result = s(:dot3, v1, v2).line v1.line

    result
end

def _reduce_220(val, _values, result)
                      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)
                      lit = s(:lit, val[1]).line lexer.lineno
                      result = new_call(new_call(lit, :"**", argl(val[3])), :"-@")


    result
end

def _reduce_227(val, _values, result)
                      result = new_call val[1], :"+@"

    result
end

def _reduce_228(val, _values, result)
                      result = new_call val[1], :"-@"

    result
end

def _reduce_229(val, _values, result)
                      result = new_call val[0], :"|", argl(val[2])

    result
end

def _reduce_230(val, _values, result)
                      result = new_call val[0], :"^", argl(val[2])

    result
end

def _reduce_231(val, _values, result)
                      result = new_call val[0], :"&", argl(val[2])

    result
end

def _reduce_232(val, _values, result)
                      result = new_call val[0], :"<=>", argl(val[2])

    result
end

# reduce 233 omitted

def _reduce_234(val, _values, result)
                      result = new_call val[0], :"==", argl(val[2])

    result
end

def _reduce_235(val, _values, result)
                      result = new_call val[0], :"===", argl(val[2])

    result
end

def _reduce_236(val, _values, result)
                      result = new_call val[0], :"!=", argl(val[2])

    result
end

def _reduce_237(val, _values, result)
                      lhs, _, rhs = val
                      result = new_match lhs, rhs

    result
end

def _reduce_238(val, _values, result)
                      lhs, _, rhs = val
                      result = s(:not, new_match(lhs, rhs)).line lhs.line

    result
end

def _reduce_239(val, _values, result)
                      _, arg = val
                      result = new_call arg, :"!"
                      result.line arg.line

    result
end

def _reduce_240(val, _values, result)
                      result = new_call value_expr(val[1]), :"~"

    result
end

def _reduce_241(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_242(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_243(val, _values, result)
                      result = logical_op :and, val[0], val[2]

    result
end

def _reduce_244(val, _values, result)
                      result = logical_op :or, val[0], val[2]

    result
end

def _reduce_245(val, _values, result)
                      (_, line), _, arg = val
                      result = s(:defined, arg).line line

    result
end

def _reduce_246(val, _values, result)
                      c, _, t, _, _, f = val
                      result = s(:if, c, t, f).line c.line

    result
end

# reduce 247 omitted

# reduce 248 omitted

# reduce 249 omitted

# reduce 250 omitted

# reduce 251 omitted

def _reduce_252(val, _values, result)
                      lhs, op, rhs = val
                      result = new_call lhs, op.to_sym, argl(rhs)

    result
end

def _reduce_253(val, _values, result)
                      lhs, op, rhs = val
                      warn "comparison '%s' after comparison", op
                      result = new_call lhs, op.to_sym, argl(rhs)

    result
end

def _reduce_254(val, _values, result)
                      result = value_expr(val[0])

    result
end

# reduce 255 omitted

def _reduce_256(val, _values, result)
                      result = args [val[0]]

    result
end

def _reduce_257(val, _values, result)
                      result = args [val[0], array_to_hash(val[2])]

    result
end

def _reduce_258(val, _values, result)
                      result = args [array_to_hash(val[0])]

    result
end

# reduce 259 omitted

def _reduce_260(val, _values, result)
                      body, (_, line), resbody = val
                      body    = value_expr body
                      resbody = remove_begin resbody

                      ary = s(:array).line line
                      result  = new_rescue(body, new_resbody(ary, resbody))

    result
end

def _reduce_261(val, _values, result)
                      _, args, _ = val
                      result = args

    result
end

# reduce 262 omitted

# reduce 263 omitted

# reduce 264 omitted

# reduce 265 omitted

def _reduce_266(val, _values, result)
                      result = args val

    result
end

def _reduce_267(val, _values, result)
                      result = args [val[0], array_to_hash(val[2])]

    result
end

def _reduce_268(val, _values, result)
                      result = args [array_to_hash(val[0])]

    result
end

def _reduce_269(val, _values, result)
                      warning "parenthesize argument(s) for future version"
                      result = call_args val

    result
end

def _reduce_270(val, _values, result)
                      result = call_args val

    result
end

def _reduce_271(val, _values, result)
                      result = call_args [array_to_hash(val[0]), val[1]]

    result
end

def _reduce_272(val, _values, result)
                      result = call_args [val[0], array_to_hash(val[2]), val[3]]

    result
end

def _reduce_273(val, _values, result)
                      result = call_args val

    result
end

def _reduce_274(val, _values, result)
                      # parse26.y line 2200

                      # If call_args starts with a open paren '(' or
                      # '[', look-ahead reading of the letters calls
                      # CMDARG_PUSH(0), but the push must be done
                      # after CMDARG_PUSH(1). So this code makes them
                      # consistent by first cancelling the premature
                      # CMDARG_PUSH(0), doing CMDARG_PUSH(1), and
                      # finally redoing CMDARG_PUSH(0).

                      result = yychar = self.last_token_type.first
                      lookahead = [:tLPAREN, :tLPAREN_ARG, :tLPAREN2, :tLBRACK, :tLBRACK2].include?(yychar)
                      lexer.cmdarg.pop if lookahead
                      lexer.cmdarg.push true
                      lexer.cmdarg.push false if lookahead

    result
end

def _reduce_275(val, _values, result)
                      yychar, args = val

                      # call_args can be followed by tLBRACE_ARG (that
                      # does CMDARG_PUSH(0) in the lexer) but the push
                      # must be done after CMDARG_POP() in the parser.
                      # So this code does CMDARG_POP() to pop 0 pushed
                      # by tLBRACE_ARG, CMDARG_POP() to pop 1 pushed
                      # by command_args, and CMDARG_PUSH(0) to restore
                      # back the flag set by tLBRACE_ARG.

                      lookahead = [:tLBRACE_ARG].include?(yychar)
                      lexer.cmdarg.pop if lookahead
                      lexer.cmdarg.pop
                      lexer.cmdarg.push false if lookahead
                      result = args

    result
end

def _reduce_276(val, _values, result)
                      _, arg = val
                      result = s(:block_pass, arg).line arg.line

    result
end

def _reduce_277(val, _values, result)
                      result = val[1]

    result
end

# reduce 278 omitted

def _reduce_279(val, _values, result)
                      arg, = val
                      lineno = arg.line || lexer.lineno # HACK

                      result = s(:array, arg).line lineno

    result
end

def _reduce_280(val, _values, result)
                      _, arg = val
                      result = s(:array, s(:splat, arg).line(arg.line)).line arg.line

    result
end

def _reduce_281(val, _values, result)
                      args, _, id = val
                      result = self.list_append args, id

    result
end

def _reduce_282(val, _values, result)
                      # TODO: the line number from tSTAR has been dropped
                      args, _, _, id = val
                      line = lexer.lineno
                      result = self.list_append args, s(:splat, id).line(line)

    result
end

def _reduce_283(val, _values, result)
                      result = new_masgn_arg val[0]

    result
end

def _reduce_284(val, _values, result)
                      result = new_masgn_arg val[0], :wrap

    result
end

def _reduce_285(val, _values, result)
                      result = val[0] << val[2]

    result
end

def _reduce_286(val, _values, result)
                      # TODO: make all tXXXX terminals include lexer.lineno
                      arg, _, _, splat = val
                      result = self.arg_concat arg, splat

    result
end

def _reduce_287(val, _values, result)
                      _, arg = val
                      result = s(:splat, arg).line arg.line

    result
end

# reduce 288 omitted

# reduce 289 omitted

# reduce 290 omitted

# reduce 291 omitted

# reduce 292 omitted

# reduce 293 omitted

# reduce 294 omitted

# reduce 295 omitted

# reduce 296 omitted

# reduce 297 omitted

def _reduce_298(val, _values, result)
                      msg, = val
                      result = new_call nil, msg.to_sym

    result
end

def _reduce_299(val, _values, result)
                      lexer.cmdarg.push false
                      result = self.lexer.lineno

    result
end

def _reduce_300(val, _values, result)
                      lexer.cmdarg.pop
                      result = new_begin val

    result
end

def _reduce_301(val, _values, result)
                      lexer.lex_state = EXPR_ENDARG
                      result = lexer.lineno

    result
end

def _reduce_302(val, _values, result)
                      _, line, _ = val
                      result = s(:begin).line line

    result
end

def _reduce_303(val, _values, result)
                      lexer.lex_state = EXPR_ENDARG

    result
end

def _reduce_304(val, _values, result)
                      _, stmt, _, _, = val
                      # warning "(...) interpreted as grouped expression"
                      result = stmt

    result
end

def _reduce_305(val, _values, result)
                      _, stmt, _ = val
                      result = stmt
                      result ||= s(:nil).line lexer.lineno
                      result.paren = true

    result
end

def _reduce_306(val, _values, result)
                      expr, _, id = val

                      result = s(:colon2, expr, id.to_sym).line expr.line

    result
end

def _reduce_307(val, _values, result)
                      _, id = val

                      result = s(:colon3, id.to_sym).line lexer.lineno

    result
end

def _reduce_308(val, _values, result)
 result = lexer.lineno
    result
end

def _reduce_309(val, _values, result)
                      _, line, args, _ = val
                      result = args || s(:array)
                      result.sexp_type = :array # aref_args is :args
                      result.line line

    result
end

def _reduce_310(val, _values, result)
                      result = self.lexer.lineno

    result
end

def _reduce_311(val, _values, result)
                      result = new_hash val

    result
end

def _reduce_312(val, _values, result)
                      (_, line), = val
                      result = s(:return).line line

    result
end

def _reduce_313(val, _values, result)
                      result = new_yield val[2]

    result
end

def _reduce_314(val, _values, result)
                      result = new_yield

    result
end

def _reduce_315(val, _values, result)
                      result = new_yield

    result
end

def _reduce_316(val, _values, result)
                      (_, line), _, _, arg, _ = val

                      result = s(:defined, arg).line line

    result
end

def _reduce_317(val, _values, result)
                      _, _, lhs, _ = val
                      result = new_call lhs, :"!"

    result
end

def _reduce_318(val, _values, result)
                      debug20 14, val, result

    result
end

def _reduce_319(val, _values, result)
                      call, iter = val

                      iter.insert 1, call
                      result = iter
                      # FIX: probably not: call.line = iter.line

    result
end

# reduce 320 omitted

def _reduce_321(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_322(val, _values, result)
                      result = val[1] # TODO: fix lineno

    result
end

def _reduce_323(val, _values, result)
                      _, c, _, t, f, _ = val
                      result = new_if c, t, f

    result
end

def _reduce_324(val, _values, result)
                      _, c, _, t, f, _ = val
                      result = new_if c, f, t

    result
end

def _reduce_325(val, _values, result)
                      _, cond, body, _ = val
                      result = new_while body, cond, true

    result
end

def _reduce_326(val, _values, result)
                      _, cond, body, _ = val
                      result = new_until body, cond, true

    result
end

def _reduce_327(val, _values, result)
                      (_, line), expr, _, body, _ = val
                      result = new_case expr, body, line

    result
end

def _reduce_328(val, _values, result)
                      (_, line), _, body, _ = val
                      result = new_case nil, body, line

    result
end

def _reduce_329(val, _values, result)
                      _, var, _, iter, body, _ = val
                      result = new_for iter, var, body

    result
end

def _reduce_330(val, _values, result)
                      result = self.lexer.lineno

    result
end

def _reduce_331(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_332(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_333(val, _values, result)
                      result = self.lexer.lineno

    result
end

def _reduce_334(val, _values, result)
                      result = self.in_def
                      self.in_def = false

    result
end

def _reduce_335(val, _values, result)
                      result = self.in_single
                      self.in_single = 0
                      self.env.extend

    result
end

def _reduce_336(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_337(val, _values, result)
                      result = self.lexer.lineno

    result
end

def _reduce_338(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_339(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_340(val, _values, result)
                      result = self.in_def

                      self.in_def = true # group = local_push
                      self.env.extend
                      lexer.cmdarg.push false
                      lexer.cond.push false

                      self.comments.push self.lexer.comments

    result
end

def _reduce_341(val, _values, result)
 result = lexer.lineno
    result
end

def _reduce_342(val, _values, result)
                      in_def = val[2]

                      result = new_defn val

                      lexer.cond.pop # group = local_pop
                      lexer.cmdarg.pop
                      self.env.unextend
                      self.in_def = in_def

                      self.lexer.comments # we don't care about comments in the body

    result
end

def _reduce_343(val, _values, result)
                      lexer.lex_state = EXPR_FNAME

    result
end

def _reduce_344(val, _values, result)
                      result = [self.in_def, lexer.lineno]

                      self.in_single += 1 # TODO: remove?

                      self.in_def = true # local_push
                      self.env.extend
                      lexer.cmdarg.push false
                      lexer.cond.push false

                      lexer.lex_state = EXPR_ENDFN|EXPR_LABEL
                      self.comments.push self.lexer.comments

    result
end

def _reduce_345(val, _values, result)
                      _, _recv, _, _, _name, (in_def, _lineno), _args, _body, _ = val

                      result = new_defs val

                      lexer.cond.pop # group = local_pop
                      lexer.cmdarg.pop
                      self.env.unextend
                      self.in_def = in_def

                      self.in_single -= 1

                      # TODO: restore cur_arg ? what's cur_arg?

                      self.lexer.comments # we don't care about comments in the body

    result
end

def _reduce_346(val, _values, result)
                      (_, line), = val
                      result = s(:break).line line

    result
end

def _reduce_347(val, _values, result)
                      (_, line), = val
                      result = s(:next).line line

    result
end

def _reduce_348(val, _values, result)
                      (_, line), = val
                      result = s(:redo).line line

    result
end

def _reduce_349(val, _values, result)
                      (_, line), = val
                      result = s(:retry).line line

    result
end

def _reduce_350(val, _values, result)
                      result = value_expr(val[0])

    result
end

# reduce 351 omitted

# reduce 352 omitted

# reduce 353 omitted

# reduce 354 omitted

# reduce 355 omitted

# reduce 356 omitted

# reduce 357 omitted

# reduce 358 omitted

# reduce 359 omitted

# reduce 360 omitted

# reduce 361 omitted

# reduce 362 omitted

# reduce 363 omitted

# reduce 364 omitted

# reduce 365 omitted

# reduce 366 omitted

# reduce 367 omitted

# reduce 368 omitted

# reduce 369 omitted

# reduce 370 omitted

# reduce 371 omitted

# reduce 372 omitted

# reduce 373 omitted

# reduce 374 omitted

# reduce 375 omitted

def _reduce_376(val, _values, result)
                      (_, line), c, _, t, rest = val

                      result = s(:if, c, t, rest).line line

    result
end

# reduce 377 omitted

def _reduce_378(val, _values, result)
                      result = val[1]

    result
end

# reduce 379 omitted

def _reduce_380(val, _values, result)
                      val[0].delete_at 1 if val[0][1].nil? # HACK

    result
end

# reduce 381 omitted

def _reduce_382(val, _values, result)
                      result = val[1]

    result
end

def _reduce_383(val, _values, result)
                      sym, = val

                      result = s(:array, sym).line lexer.lineno

    result
end

def _reduce_384(val, _values, result)
                      result = list_append val[0], val[2]

    result
end

def _reduce_385(val, _values, result)
                      args, = val

                      result = block_var args

    result
end

def _reduce_386(val, _values, result)
                      args, _, _, splat = val

                      result = block_var args, "*#{splat}".to_sym

    result
end

def _reduce_387(val, _values, result)
                      args, _, _, splat, _, args2 = val

                      result = block_var args, "*#{splat}".to_sym, args2

    result
end

def _reduce_388(val, _values, result)
                      args, _, _ = val

                      result = block_var args, :*

    result
end

def _reduce_389(val, _values, result)
                      args, _, _, _, args2 = val

                      result = block_var args, :*, args2

    result
end

def _reduce_390(val, _values, result)
                      _, splat = val

                      result = block_var :"*#{splat}"

    result
end

def _reduce_391(val, _values, result)
                      _, splat, _, args = val

                      result = block_var :"*#{splat}", args

    result
end

def _reduce_392(val, _values, result)
                      result = block_var :*

    result
end

def _reduce_393(val, _values, result)
                      _, _, args = val

                      result = block_var :*, args

    result
end

def _reduce_394(val, _values, result)
                      result = call_args val

    result
end

def _reduce_395(val, _values, result)
                      result = call_args val

    result
end

def _reduce_396(val, _values, result)
                      result = call_args val

    result
end

def _reduce_397(val, _values, result)
                      line = lexer.lineno
                      result = call_args val # TODO: push line down
                      result.line line

    result
end

def _reduce_398(val, _values, result)
                      result = args val

    result
end

# reduce 399 omitted

def _reduce_400(val, _values, result)
                      result = args val

    result
end

def _reduce_401(val, _values, result)
                      result = args val

    result
end

def _reduce_402(val, _values, result)
                      result = args val

    result
end

def _reduce_403(val, _values, result)
                      result = args val

    result
end

def _reduce_404(val, _values, result)
                      result = args val

    result
end

def _reduce_405(val, _values, result)
                      result = args(val) << nil

    result
end

def _reduce_406(val, _values, result)
                      result = args val

    result
end

def _reduce_407(val, _values, result)
                      result = args val

    result
end

def _reduce_408(val, _values, result)
                      result = args val

    result
end

def _reduce_409(val, _values, result)
                      result = args val

    result
end

def _reduce_410(val, _values, result)
                      result = args val

    result
end

def _reduce_411(val, _values, result)
                      result = args val

    result
end

def _reduce_412(val, _values, result)
                      result = args val

    result
end

def _reduce_413(val, _values, result)
                      result = args val

    result
end

def _reduce_414(val, _values, result)
                      result = args val

    result
end

def _reduce_415(val, _values, result)
 result = 0
    result
end

def _reduce_416(val, _values, result)
                      self.lexer.command_start = true

    result
end

def _reduce_417(val, _values, result)
                      # TODO: current_arg = 0
                      result = args val

    result
end

def _reduce_418(val, _values, result)
                      result = s(:args).line lexer.lineno

    result
end

def _reduce_419(val, _values, result)
                      # TODO: current_arg = 0
                      result = args val

    result
end

# reduce 420 omitted

def _reduce_421(val, _values, result)
                      result = args val

    result
end

def _reduce_422(val, _values, result)
                      result = args val

    result
end

def _reduce_423(val, _values, result)
                      result = args val

    result
end

def _reduce_424(val, _values, result)
                      id, = val
                      line = lexer.lineno
                      result = s(:shadow, id.to_sym).line line

    result
end

# reduce 425 omitted

def _reduce_426(val, _values, result)
                      self.env.extend :dynamic
                      result = [lexer.lineno, lexer.lpar_beg]
                      lexer.paren_nest += 1
                      lexer.lpar_beg = lexer.paren_nest

    result
end

def _reduce_427(val, _values, result)
                      lexer.cmdarg.push false

    result
end

def _reduce_428(val, _values, result)
                      (line, lpar), args, _cmdarg, body = val
                      lexer.lpar_beg = lpar

                      lexer.cmdarg.pop

                      call = s(:lambda).line line
                      result = new_iter call, args, body
                      result.line = line
                      self.env.unextend # TODO: dynapush & dynapop

    result
end

def _reduce_429(val, _values, result)
                      result = args val

    result
end

def _reduce_430(val, _values, result)
                      result = val[0]
                      result = 0 if result == s(:args)

    result
end

def _reduce_431(val, _values, result)
                      result = val[1]

    result
end

def _reduce_432(val, _values, result)
                      result = val[1]

    result
end

def _reduce_433(val, _values, result)
                      (_, line), iter, _ = val
                      result = iter.line line

    result
end

def _reduce_434(val, _values, result)
                      # TODO:
                      ## if (nd_type($1) == NODE_YIELD) {
                      ##     compile_error(PARSER_ARG "block given to yield");

                      syntax_error "Both block arg and actual block given." if
                        val[0].block_pass?

                      val = invert_block_call val if inverted? val

                      cmd, blk = val

                      result = blk
                      result.insert 1, cmd

    result
end

def _reduce_435(val, _values, result)
                      result = new_call val[0], val[2].to_sym, val[3]

    result
end

def _reduce_436(val, _values, result)
                      iter1, _, name, args, iter2 = val

                      call = new_call iter1, name.to_sym, args
                      iter2.insert 1, call

                      result = iter2

    result
end

def _reduce_437(val, _values, result)
                      iter1, _, name, args, iter2 = val

                      call = new_call iter1, name.to_sym, args
                      iter2.insert 1, call

                      result = iter2

    result
end

def _reduce_438(val, _values, result)
                      result = self.lexer.lineno

    result
end

def _reduce_439(val, _values, result)
                      call, lineno, args = val

                      result = call.concat args.sexp_body if args
                      result.line lineno

    result
end

def _reduce_440(val, _values, result)
                      result = new_call val[0], val[2].to_sym, val[3], val[1]

    result
end

def _reduce_441(val, _values, result)
                      result = new_call val[0], val[2].to_sym, val[3]

    result
end

def _reduce_442(val, _values, result)
                      result = new_call val[0], val[2].to_sym

    result
end

def _reduce_443(val, _values, result)
                      result = new_call val[0], :call, val[2], val[1]

    result
end

def _reduce_444(val, _values, result)
                      result = new_call val[0], :call, val[2]

    result
end

def _reduce_445(val, _values, result)
                      result = new_super val[1]

    result
end

def _reduce_446(val, _values, result)
                      result = s(:zsuper).line lexer.lineno

    result
end

def _reduce_447(val, _values, result)
                      result = new_aref val

    result
end

def _reduce_448(val, _values, result)
                      self.env.extend :dynamic
                      result = self.lexer.lineno

    result
end

def _reduce_449(val, _values, result)
                      _, line, body, _ = val

                      result = body
                      result.line = line

                      self.env.unextend

    result
end

def _reduce_450(val, _values, result)
                      self.env.extend :dynamic
                      result = self.lexer.lineno

    result
end

def _reduce_451(val, _values, result)
                      _, line, body, _ = val

                      result = body
                      result.line = line

                      self.env.unextend

    result
end

def _reduce_452(val, _values, result)
 self.env.extend :dynamic; result = self.lexer.lineno
    result
end

def _reduce_453(val, _values, result)
 result = lexer.cmdarg.store(false)
    result
end

def _reduce_454(val, _values, result)
                      line, cmdarg, param, cmpstmt = val

                      result = new_brace_body param, cmpstmt, line
                      self.env.unextend
                      lexer.cmdarg.restore cmdarg
                      lexer.cmdarg.pop # because of: cmdarg_stack >> 1 ?

    result
end

def _reduce_455(val, _values, result)
 self.env.extend :dynamic; result = self.lexer.lineno
    result
end

def _reduce_456(val, _values, result)
 lexer.cmdarg.push false
    result
end

def _reduce_457(val, _values, result)
                      line, _cmdarg, param, cmpstmt = val

                      result = new_do_body param, cmpstmt, line
                      lexer.cmdarg.pop
                      self.env.unextend

    result
end

def _reduce_458(val, _values, result)
                      result = self.lexer.lineno

    result
end

def _reduce_459(val, _values, result)
                      result = new_when(val[2], val[4])
                      result.line = val[1]
                      result << val[5] if val[5]

    result
end

# reduce 460 omitted

# reduce 461 omitted

def _reduce_462(val, _values, result)
                      (_, line), klasses, var, _, body, rest = val

                      klasses ||= s(:array)
                      klasses << new_assign(var, s(:gvar, :"$!").line(var.line)) if var
                      klasses.line line

                      result = new_resbody(klasses, body)
                      result << rest if rest # UGH, rewritten above

    result
end

def _reduce_463(val, _values, result)
                      result = nil

    result
end

def _reduce_464(val, _values, result)
                      arg, = val
                      result = s(:array, arg).line arg.line

    result
end

# reduce 465 omitted

# reduce 466 omitted

def _reduce_467(val, _values, result)
                      result = val[1]

    result
end

# reduce 468 omitted

def _reduce_469(val, _values, result)
                      (_, line), body = val

                      result = body || s(:nil).line(line)

    result
end

# reduce 470 omitted

def _reduce_471(val, _values, result)
                      line = lexer.lineno
                      result = s(:lit, val[0])
                      result.line = line

    result
end

def _reduce_472(val, _values, result)
                      line = lexer.lineno
                      result = s(:lit, val[0])
                      result.line = line

    result
end

# reduce 473 omitted

def _reduce_474(val, _values, result)
                      str, = val
                      str = s(:dstr, str.value) if str.sexp_type == :evstr
                      result = str

    result
end

def _reduce_475(val, _values, result)
                      debug20 23, val, result

    result
end

# reduce 476 omitted

def _reduce_477(val, _values, result)
                      result = self.literal_concat val[0], val[1]

    result
end

def _reduce_478(val, _values, result)
                      _, str, (_, func) = val

                      str = dedent str if func =~ RubyLexer::STR_FUNC_ICNTNT

                      result = str

    result
end

def _reduce_479(val, _values, result)
                      result = new_string val

    result
end

def _reduce_480(val, _values, result)
                      result = new_xstring val
                      # TODO: dedent?!?! SERIOUSLY?!?

    result
end

def _reduce_481(val, _values, result)
                      result = new_regexp val

    result
end

def _reduce_482(val, _values, result)
                      result = s(:array).line lexer.lineno

    result
end

def _reduce_483(val, _values, result)
                      result = val[1]

    result
end

def _reduce_484(val, _values, result)
                      result = new_word_list

    result
end

def _reduce_485(val, _values, result)
                      result = val[0].dup << new_word_list_entry(val)

    result
end

# reduce 486 omitted

def _reduce_487(val, _values, result)
                      result = self.literal_concat val[0], val[1]

    result
end

def _reduce_488(val, _values, result)
                      result = s(:array).line lexer.lineno

    result
end

def _reduce_489(val, _values, result)
 result = lexer.lineno
    result
end

def _reduce_490(val, _values, result)
                      _, line, list, _, = val
                      list.line = line
                      result = list

    result
end

def _reduce_491(val, _values, result)
                      result = new_symbol_list.line lexer.lineno

    result
end

def _reduce_492(val, _values, result)
                      list, * = val
                      result = list.dup << new_symbol_list_entry(val)

    result
end

def _reduce_493(val, _values, result)
                      result = s(:array).line lexer.lineno

    result
end

def _reduce_494(val, _values, result)
                      result = val[1]

    result
end

def _reduce_495(val, _values, result)
                      result = s(:array).line lexer.lineno # FIX

    result
end

def _reduce_496(val, _values, result)
                      result = val[1]

    result
end

def _reduce_497(val, _values, result)
                      result = new_qword_list

    result
end

def _reduce_498(val, _values, result)
                      result = val[0].dup << new_qword_list_entry(val)

    result
end

def _reduce_499(val, _values, result)
                      result = new_qsym_list

    result
end

def _reduce_500(val, _values, result)
                      result = val[0].dup << new_qsym_list_entry(val)

    result
end

def _reduce_501(val, _values, result)
                      result = s(:str, "").line lexer.lineno

    result
end

def _reduce_502(val, _values, result)
                      v1, v2 = val
                      result = literal_concat v1, v2

    result
end

def _reduce_503(val, _values, result)
                      result = nil

    result
end

def _reduce_504(val, _values, result)
                      v1, v2 = val
                      result = literal_concat v1, v2

    result
end

def _reduce_505(val, _values, result)
                      result = nil

    result
end

def _reduce_506(val, _values, result)
                      v1, v2 = val
                      result = literal_concat v1, v2

    result
end

def _reduce_507(val, _values, result)
                      result = new_string val

    result
end

def _reduce_508(val, _values, result)
                      result = lexer.lex_strterm

                      lexer.lex_strterm = nil
                      lexer.lex_state = EXPR_BEG

    result
end

def _reduce_509(val, _values, result)
                      _, strterm, str = val
                      lexer.lex_strterm = strterm
                      result = s(:evstr, str).line str.line

    result
end

def _reduce_510(val, _values, result)
                      result = [lexer.lex_strterm,
                                lexer.brace_nest,
                                lexer.string_nest, # TODO: remove
                                lexer.lex_state,
                                lexer.lineno,
                               ]

                      lexer.cmdarg.push false
                      lexer.cond.push false

                      lexer.lex_strterm = nil
                      lexer.brace_nest  = 0
                      lexer.string_nest = 0

                      lexer.lex_state   = EXPR_BEG

    result
end

def _reduce_511(val, _values, result)
                      _, memo, stmt, _ = val

                      lex_strterm, brace_nest, string_nest, oldlex_state, line = memo
                      # TODO: heredoc_indent

                      lexer.lex_strterm = lex_strterm
                      lexer.brace_nest  = brace_nest
                      lexer.string_nest = string_nest

                      lexer.cmdarg.pop
                      lexer.cond.pop

                      lexer.lex_state = oldlex_state

                      case stmt
                      when Sexp then
                        case stmt.sexp_type
                        when :str, :dstr, :evstr then
                          result = stmt
                        else
                          result = s(:evstr, stmt).line line
                        end
                      when nil then
                        result = s(:evstr).line line
                      else
                        debug20 25
                        raise "unknown string body: #{stmt.inspect}"
                      end

    result
end

def _reduce_512(val, _values, result)
 result = s(:gvar, val[0].to_sym).line lexer.lineno
    result
end

def _reduce_513(val, _values, result)
 result = s(:ivar, val[0].to_sym).line lexer.lineno
    result
end

def _reduce_514(val, _values, result)
 result = s(:cvar, val[0].to_sym).line lexer.lineno
    result
end

# reduce 515 omitted

def _reduce_516(val, _values, result)
                      lexer.lex_state = EXPR_END
                      result = val[1].to_sym

    result
end

def _reduce_517(val, _values, result)
                      result = val[0].to_sym

    result
end

# reduce 518 omitted

# reduce 519 omitted

# reduce 520 omitted

# reduce 521 omitted

def _reduce_522(val, _values, result)
                      _, result, _ = val

                      lexer.lex_state = EXPR_END

                      result ||= s(:str, "").line lexer.lineno

                      case result.sexp_type
                      when :dstr then
                        result.sexp_type = :dsym
                      when :str then
                        result = s(:lit, result.last.to_sym).line result.line
                      when :evstr then
                        result = s(:dsym, "", result).line result.line
                      else
                        debug20 26, val, result
                      end

    result
end

# reduce 523 omitted

def _reduce_524(val, _values, result)
                      result = -val[1] # TODO: pt_testcase

    result
end

# reduce 525 omitted

# reduce 526 omitted

# reduce 527 omitted

# reduce 528 omitted

# reduce 529 omitted

# reduce 530 omitted

# reduce 531 omitted

# reduce 532 omitted

# reduce 533 omitted

def _reduce_534(val, _values, result)
 result = s(:nil).line lexer.lineno
    result
end

def _reduce_535(val, _values, result)
 result = s(:self).line lexer.lineno
    result
end

def _reduce_536(val, _values, result)
 result = s(:true).line lexer.lineno
    result
end

def _reduce_537(val, _values, result)
 result = s(:false).line lexer.lineno
    result
end

def _reduce_538(val, _values, result)
 result = s(:str, self.file).line lexer.lineno
    result
end

def _reduce_539(val, _values, result)
 result = s(:lit, lexer.lineno).line lexer.lineno
    result
end

def _reduce_540(val, _values, result)
                      l = lexer.lineno
                      result =
                        if defined? Encoding then
                          s(:colon2, s(:const, :Encoding).line(l), :UTF_8).line l
                        else
                          s(:str, "Unsupported!").line l
                        end

    result
end

def _reduce_541(val, _values, result)
                      var = val[0]
                      result = Sexp === var ? var : self.gettable(var)

    result
end

def _reduce_542(val, _values, result)
                      var = val[0]
                      result = Sexp === var ? var : self.gettable(var)

    result
end

def _reduce_543(val, _values, result)
                      result = self.assignable val[0]

    result
end

def _reduce_544(val, _values, result)
                      result = self.assignable val[0]
                      debug20 29, val, result

    result
end

def _reduce_545(val, _values, result)
 result = s(:nth_ref,  val[0]).line lexer.lineno
    result
end

def _reduce_546(val, _values, result)
 result = s(:back_ref, val[0]).line lexer.lineno
    result
end

def _reduce_547(val, _values, result)
                      lexer.lex_state = EXPR_BEG
                      lexer.command_start = true

    result
end

def _reduce_548(val, _values, result)
                      result = val[2]

    result
end

def _reduce_549(val, _values, result)
                      result = nil

    result
end

def _reduce_550(val, _values, result)
                      result = val[1]
                      self.lexer.lex_state = EXPR_BEG
                      self.lexer.command_start = true

    result
end

def _reduce_551(val, _values, result)
                      result = self.in_kwarg
                      self.in_kwarg = true
                      self.lexer.lex_state |= EXPR_LABEL

    result
end

def _reduce_552(val, _values, result)
                      kwarg, args, _ = val

                      self.in_kwarg = kwarg
                      result = args
                      lexer.lex_state     = EXPR_BEG
                      lexer.command_start = true

    result
end

def _reduce_553(val, _values, result)
                      result = args val

    result
end

def _reduce_554(val, _values, result)
                      result = args val

    result
end

def _reduce_555(val, _values, result)
                      result = args val

    result
end

# reduce 556 omitted

def _reduce_557(val, _values, result)
                      result = val[1]

    result
end

def _reduce_558(val, _values, result)
                      result = nil

    result
end

def _reduce_559(val, _values, result)
                      result = args val

    result
end

def _reduce_560(val, _values, result)
                      result = args val

    result
end

def _reduce_561(val, _values, result)
                      result = args val

    result
end

def _reduce_562(val, _values, result)
                      result = args val

    result
end

def _reduce_563(val, _values, result)
                      result = args val

    result
end

def _reduce_564(val, _values, result)
                      result = args val

    result
end

def _reduce_565(val, _values, result)
                      result = args val

    result
end

def _reduce_566(val, _values, result)
                      result = args val

    result
end

def _reduce_567(val, _values, result)
                      result = args val

    result
end

def _reduce_568(val, _values, result)
                      result = args val

    result
end

def _reduce_569(val, _values, result)
                      result = args val

    result
end

def _reduce_570(val, _values, result)
                      result = args val

    result
end

def _reduce_571(val, _values, result)
                      result = args val

    result
end

def _reduce_572(val, _values, result)
                      result = args val

    result
end

def _reduce_573(val, _values, result)
                      result = args val

    result
end

def _reduce_574(val, _values, result)
                      yyerror "formal argument cannot be a constant"

    result
end

def _reduce_575(val, _values, result)
                      yyerror "formal argument cannot be an instance variable"

    result
end

def _reduce_576(val, _values, result)
                      yyerror "formal argument cannot be a global variable"

    result
end

def _reduce_577(val, _values, result)
                      yyerror "formal argument cannot be a class variable"

    result
end

# reduce 578 omitted

def _reduce_579(val, _values, result)
                      identifier = val[0].to_sym
                      self.env[identifier] = :lvar

                      result = identifier

    result
end

# reduce 580 omitted

# reduce 581 omitted

def _reduce_582(val, _values, result)
                      result = val[1]

    result
end

def _reduce_583(val, _values, result)
                      arg, = val

                      case arg
                      when Symbol then
                        result = s(:args, arg).line lexer.lineno
                      when Sexp then
                        result = arg
                      else
                        debug20 32
                        raise "Unknown f_arg type: #{val.inspect}"
                      end

    result
end

def _reduce_584(val, _values, result)
                      list, _, item = val

                      if list.sexp_type == :args then
                        result = list
                      else
                        result = s(:args, list).line list.line
                      end

                      result << item

    result
end

# reduce 585 omitted

def _reduce_586(val, _values, result)
                      # TODO: new_kw_arg
                      (label, line), arg = val

                      identifier = label.to_sym
                      self.env[identifier] = :lvar

                      kwarg  = s(:kwarg, identifier, arg).line line
                      result = s(:array, kwarg).line line

    result
end

def _reduce_587(val, _values, result)
                      (label, line), = val

                      id = label.to_sym
                      self.env[id] = :lvar

                      result = s(:array, s(:kwarg, id).line(line)).line line

    result
end

def _reduce_588(val, _values, result)
                      # TODO: new_kw_arg
                      (label, line), expr = val
                      id = label.to_sym
                      self.env[id] = :lvar

                      result = s(:array, s(:kwarg, id, expr).line(line)).line line

    result
end

def _reduce_589(val, _values, result)
                      # TODO: new_kw_arg
                      (label, line), = val
                      id = label.to_sym
                      self.env[id] = :lvar

                      result = s(:array, s(:kwarg, id).line(line)).line line

    result
end

# reduce 590 omitted

def _reduce_591(val, _values, result)
                      list, _, item = val
                      result = list << item.last

    result
end

# reduce 592 omitted

def _reduce_593(val, _values, result)
                      result = args val

    result
end

# reduce 594 omitted

# reduce 595 omitted

def _reduce_596(val, _values, result)
                      name = val[1].to_sym
                      self.assignable name
                      result = :"**#{name}"

    result
end

def _reduce_597(val, _values, result)
                      result = :"**"

    result
end

def _reduce_598(val, _values, result)
                      result = self.assignable val[0], val[2]
                      # TODO: detect duplicate names

    result
end

def _reduce_599(val, _values, result)
                      result = self.assignable val[0], val[2]

    result
end

def _reduce_600(val, _values, result)
                      optblk, = val
                      result = s(:block, optblk).line optblk.line

    result
end

def _reduce_601(val, _values, result)
                      optarg, _, optblk = val
                      result = optarg
                      result << optblk

    result
end

def _reduce_602(val, _values, result)
                      opt, = val
                      result = s(:block, opt).line opt.line

    result
end

def _reduce_603(val, _values, result)
                      result = self.block_append val[0], val[2]

    result
end

# reduce 604 omitted

# reduce 605 omitted

def _reduce_606(val, _values, result)
                      # TODO: differs from parse.y - needs tests
                      name = val[1].to_sym
                      self.assignable name
                      result = :"*#{name}"

    result
end

def _reduce_607(val, _values, result)
                      name = :"*"
                      self.env[name] = :lvar
                      result = name

    result
end

# reduce 608 omitted

# reduce 609 omitted

def _reduce_610(val, _values, result)
                      identifier = val[1].to_sym

                      self.env[identifier] = :lvar
                      result = "&#{identifier}".to_sym

    result
end

def _reduce_611(val, _values, result)
                      result = val[1]

    result
end

def _reduce_612(val, _values, result)
                      result = nil

    result
end

# reduce 613 omitted

def _reduce_614(val, _values, result)
                      lexer.lex_state = EXPR_BEG

    result
end

def _reduce_615(val, _values, result)
                      result = val[2]
                      yyerror "Can't define single method for literals." if
                        result.sexp_type == :lit

    result
end

def _reduce_616(val, _values, result)
                      result = s(:array).line lexer.lineno

    result
end

# reduce 617 omitted

# reduce 618 omitted

def _reduce_619(val, _values, result)
                      list = val[0].dup
                      more = val[2].sexp_body
                      list.push(*more) unless more.empty?
                      result = list
                      result.sexp_type = :hash

    result
end

def _reduce_620(val, _values, result)
                      v1, _, v2 = val
                      result = s(:array, v1, v2).line v1.line

    result
end

def _reduce_621(val, _values, result)
                      (label, line), arg = val

                      lit = s(:lit, label.to_sym).line line
                      result = s(:array, lit, arg).line line

    result
end

def _reduce_622(val, _values, result)
                      _, sym, _, value = val
                      sym.sexp_type = :dsym
                      result = s(:array, sym, value).line sym.line

    result
end

def _reduce_623(val, _values, result)
                      _, arg = val
                      line = arg.line
                      result = s(:array, s(:kwsplat, arg).line(line)).line line

    result
end

# reduce 624 omitted

# reduce 625 omitted

# reduce 626 omitted

# reduce 627 omitted

# reduce 628 omitted

# reduce 629 omitted

# reduce 630 omitted

# reduce 631 omitted

# reduce 632 omitted

# reduce 633 omitted

# reduce 634 omitted

# reduce 635 omitted

# reduce 636 omitted

# reduce 637 omitted

# reduce 638 omitted

# reduce 639 omitted

# reduce 640 omitted

# reduce 641 omitted

# reduce 642 omitted

# reduce 643 omitted

# reduce 644 omitted

# reduce 645 omitted

# reduce 646 omitted

# reduce 647 omitted

# reduce 648 omitted

def _reduce_649(val, _values, result)
 yyerrok
    result
end

# reduce 650 omitted

# reduce 651 omitted

def _reduce_652(val, _values, result)
 yyerrok
    result
end

def _reduce_653(val, _values, result)
 result = nil;
    result
end

def _reduce_none(val, _values, result)
  val[0]
end

end   # class Ruby26Parser