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

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


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

# :stopdoc:

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

clist = [
'-626,657,660,288,577,-112,288,-626,-626,-626,226,227,-626,-626,-626',
'-106,-626,-113,1095,-108,577,577,226,227,-626,874,-626,-626,-626,226',
'227,795,3,833,1100,796,-626,-626,232,-626,-626,-626,-626,-626,-98,283',
'-744,577,-120,-107,-119,834,1099,-115,-117,577,795,874,128,237,892,-84',
'959,-105,656,659,-519,-626,-626,-626,-626,-626,-626,-626,-626,-626,-626',
'-626,-626,-626,-626,577,-106,-626,-626,-626,-108,-626,-626,781,290,-626',
'-114,290,-626,-626,1096,-626,1135,-626,237,-626,233,-626,-626,-626,-626',
'-626,-626,-626,-103,-626,237,-626,1010,-729,-107,-106,132,237,-106,-108',
'-104,131,-108,629,-626,-626,-626,-626,-105,-626,-112,-626,132,132,-629',
'-106,-626,131,131,-108,-626,-629,-629,-629,-626,-113,-629,-629,-629',
'-107,-629,-111,-107,-110,-120,-119,-106,-108,-629,132,-629,-629,-629',
'-105,131,958,-105,132,-115,-107,-629,-629,131,-629,-629,-629,-629,-629',
'-117,-116,1157,-114,223,-105,-116,-118,898,132,288,-640,630,97,131,132',
'236,-105,1056,-641,131,98,898,-629,-629,-629,-629,-629,-629,-629,-629',
'-629,-629,-629,-629,-629,-629,224,288,-629,-629,-629,897,-629,-629,110',
'111,-629,110,111,-629,-629,237,-629,482,-629,897,-629,225,-629,-629',
'-629,-629,-629,-629,-629,-112,-629,-118,-629,-112,-112,-729,-730,228',
'285,641,1010,-113,-729,1158,-113,-629,-629,-629,-629,-113,-629,629,-629',
'-120,-119,-310,278,-629,-120,-119,290,-629,-310,-310,-310,-629,285,-115',
'-310,-310,626,-310,-115,-744,-107,-109,-120,-117,-116,-310,-114,629',
'-117,-116,234,-114,112,113,290,112,113,-310,-310,556,-310,-310,-310',
'-310,-310,340,643,642,639,232,237,-626,869,930,641,-730,231,132,-626',
'870,637,636,131,786,630,229,743,679,-310,-310,-310,-310,-310,-310,-310',
'-310,-310,-310,-310,-310,-310,-310,680,234,-310,-310,-310,641,685,-120',
'626,-118,-310,993,630,-310,-118,641,-119,795,-310,629,-310,892,-310',
'-310,-310,-310,-310,-310,-310,-115,-310,233,-310,643,642,621,-117,618',
'617,616,626,619,839,-111,-115,-310,-310,856,-109,880,-310,629,637,636',
'876,-733,-744,-310,877,-117,-120,-310,-733,-733,-733,-118,643,642,-733',
'-733,-114,-733,341,624,606,841,643,642,639,-733,-733,-629,634,633,637',
'636,630,237,-629,641,237,-733,-733,-354,-733,-733,-733,-733,-733,584',
'-354,232,930,375,584,-638,-114,786,479,-354,641,-640,-638,646,428,226',
'227,480,630,430,429,-638,-733,-733,-733,-733,-733,-733,-733,-733,-733',
'-733,-733,-733,-733,-733,400,-636,-733,-733,-733,-635,686,-641,-636',
'403,-733,641,-635,-733,643,642,644,-103,-733,406,-733,-354,-733,-733',
'-733,-733,-733,-733,-733,233,-733,-733,-733,-638,-112,643,642,621,409',
'618,617,616,626,619,-639,-733,-733,556,-107,-104,-733,-639,641,629,132',
'-733,641,-733,426,131,-639,-733,-733,-733,-733,-116,-113,-733,-733,-733',
'-637,-733,643,642,649,624,431,-637,481,-733,-733,-733,-733,-733,634',
'633,637,636,483,-110,484,-733,-733,232,-733,-733,-733,-733,-733,132',
'549,275,276,-634,131,-301,-119,236,-639,547,-634,679,-301,643,642,654',
'514,643,642,661,630,-301,-733,-733,-733,-733,-733,-733,-733,-733,-733',
'-733,-733,-733,-733,-733,274,273,-733,-733,-733,-631,871,-733,-632,526',
'-733,529,-631,-733,-733,-632,-733,-106,-733,531,-733,233,-733,-733,-733',
'-733,-733,-733,-733,-633,-733,-733,-733,-301,-115,770,-633,621,769,618',
'617,616,626,619,232,-733,-733,-733,-733,602,-733,558,-733,629,-83,-310',
'603,-733,237,680,480,-733,-310,-310,-310,-116,916,-310,-310,-310,542',
'-310,917,232,770,624,543,772,550,-310,588,-310,-310,-310,634,633,637',
'636,295,586,237,-310,-310,232,-310,-310,-310,-310,-310,132,672,-108',
'132,-311,131,232,856,131,233,670,-311,621,798,618,617,616,285,619,-117',
'-311,630,800,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310',
'-310,-310,-310,132,233,-310,-310,-310,131,872,-310,770,553,-310,772',
'-105,-310,-310,559,-310,258,-310,237,-310,233,-310,-310,-310,-310,-310',
'-310,-310,-114,-310,-311,-310,233,584,621,419,618,617,616,626,619,-310',
'589,258,-310,-310,-310,-310,-310,-310,629,-310,770,-730,-310,772,-310',
'-310,226,227,-310,-310,-310,-310,-118,590,874,-310,-310,1105,-310,237',
'624,648,1197,255,887,888,-310,257,256,634,633,637,636,-311,926,930,226',
'227,-310,-310,-311,-310,-310,-310,-310,-310,637,636,-310,-311,232,652',
'232,-310,655,-310,658,1176,258,1182,-730,1133,1134,665,-310,630,800',
'666,1180,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310',
'-310,-310,926,930,-310,-310,-310,-283,685,255,668,669,-310,257,256,-310',
'-311,673,237,677,-310,678,-310,285,-310,-310,-310,-310,-310,-310,-310',
'-310,-310,233,-310,233,690,258,258,621,258,618,617,616,626,619,232,-310',
'-310,258,-310,725,-310,1176,237,629,731,-733,237,-310,237,426,800,-310',
'-733,-733,-733,-118,237,-98,-733,-733,1148,-733,618,617,616,624,619',
'747,258,-733,-733,237,562,-726,634,633,637,636,758,763,766,-733,-733',
'237,-733,-733,-733,-733,-733,773,774,531,777,621,766,618,617,616,233',
'619,255,766,766,802,257,256,253,254,807,813,630,816,-733,-733,-733,-733',
'-733,-733,-733,-733,-733,-733,-733,-733,-733,-733,-626,258,-733,-733',
'-733,826,686,-626,816,818,-733,820,-726,-733,830,822,-626,824,-733,835',
'-733,836,-733,-733,-733,-733,-733,-733,-733,842,-733,-733,-733,255,-726',
'843,-284,257,256,253,254,857,514,514,237,-733,-733,874,-733,875,-733',
'891,621,894,618,617,616,-733,619,278,904,-733,906,529,-626,-116,8,87',
'88,89,12,80,531,758,237,81,82,285,285,-727,85,-733,83,84,86,33,34,78',
'79,758,826,258,930,766,90,31,30,120,119,121,122,766,621,22,618,617,616',
'237,619,11,51,10,13,124,123,125,114,62,116,115,117,237,118,126,127,977',
'110,111,978,47,48,46,-629,237,-733,987,-285,237,992,-629,826,-733,720',
'996,-727,1017,-729,1037,-629,830,-733,43,237,758,36,258,-283,64,65,1043',
'766,66,766,38,766,237,-727,50,-733,766,766,268,269,982,983,23,237,984',
'126,127,107,97,99,100,101,103,1066,255,237,98,108,257,256,253,254,1072',
'-629,91,-733,237,95,102,104,816,112,113,834,1075,44,45,314,87,88,89',
'12,80,1077,1079,1081,81,82,1081,237,1088,85,-286,83,84,86,33,34,78,79',
'250,1089,1090,1094,1097,90,31,30,120,119,121,122,237,1148,22,618,617',
'616,237,619,11,51,316,13,124,123,125,114,62,116,115,117,237,118,126',
'127,237,110,111,1106,47,48,46,258,262,263,264,265,275,276,270,271,266',
'267,816,251,252,816,1110,268,269,1113,43,1115,1117,318,237,1119,64,65',
'766,807,66,1144,38,255,1145,261,50,257,256,253,254,274,273,259,23,260',
'1154,1155,874,107,97,99,100,101,103,1156,1159,874,98,108,1174,272,1177',
'916,1183,237,91,1198,1081,95,102,104,1081,112,113,1081,1204,44,45,314',
'87,88,89,12,80,1207,816,1209,81,82,1211,1213,1215,85,1215,83,84,86,33',
'34,78,79,135,136,137,138,139,90,31,30,120,119,121,122,763,766,22,766',
'1155,1207,1207,674,11,51,316,13,124,123,125,114,62,116,115,117,-730',
'118,126,127,-729,110,111,237,47,48,46,258,262,263,264,265,275,276,270',
'271,266,267,1081,251,252,1207,1243,268,269,1215,43,1215,1215,36,1215',
',64,65,,,66,,38,255,,261,50,257,256,253,254,274,273,259,23,260,,,,107',
'97,99,100,101,103,,,,98,108,,272,,-256,,,91,,,95,102,104,,112,113,,',
'44,45,314,87,88,89,12,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,135,136',
'137,138,139,90,31,30,120,119,121,122,,,22,,,,,674,11,51,316,13,124,123',
'125,114,62,116,115,117,,118,126,127,,110,111,,47,48,46,258,262,263,264',
'265,275,276,270,271,266,267,,251,252,,,268,269,,43,,,36,,,64,65,,,66',
',38,255,,261,50,257,256,253,254,274,273,259,23,260,,,,107,97,99,100',
'101,103,,,,98,108,,272,,,,,91,,,95,102,104,,112,113,,,44,45,314,87,88',
'89,12,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,135,136,137,138,139,90',
'31,30,120,119,121,122,,,22,135,136,137,138,139,11,51,316,13,124,123',
'125,114,62,116,115,117,,118,126,127,,110,111,,47,48,46,258,262,263,264',
'265,275,276,270,271,266,267,,251,252,,,268,269,,43,,,318,,,64,65,,,66',
',38,255,,261,50,257,256,253,254,274,273,259,23,260,,,,107,97,99,100',
'101,103,,,,98,108,,272,,,,,91,,,95,102,104,,112,113,,,44,45,314,87,88',
'89,12,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,120,119',
'121,122,,,22,,,,,,11,51,316,13,124,123,125,114,62,116,115,117,,118,126',
'127,,110,111,,47,48,46,258,262,263,264,265,275,276,270,271,266,267,',
'251,252,,,268,269,,43,,,318,,,64,65,,,66,,38,255,,261,50,257,256,253',
'254,274,273,259,23,260,,,,107,97,99,100,101,103,,,,98,108,237,272,,',
',,91,,,95,102,104,,112,113,,,44,45,314,87,88,89,12,80,,,,81,82,,,,85',
',83,84,86,33,34,78,79,,,,,,90,31,30,120,119,121,122,,,22,,,,,,11,51',
'316,13,124,123,125,114,62,116,115,117,,118,126,127,,110,111,,47,48,46',
'258,262,263,264,265,275,276,270,271,266,267,,251,252,,,268,269,,43,',
',36,,,64,65,,,66,,38,255,,261,50,257,256,253,254,274,273,259,23,260',
',,,107,97,99,100,101,103,,,,98,108,,272,,,,,91,,,95,102,104,,112,113',
',,44,45,314,87,88,89,12,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,',
',90,31,30,120,119,121,122,,,22,,,,,,11,51,316,13,124,123,125,114,62',
'116,115,117,,118,126,127,,110,111,,47,48,46,258,262,263,264,265,275',
'276,270,271,266,267,,251,252,,,268,269,,43,,,36,,,64,65,,,66,,38,255',
',261,50,257,256,253,254,274,273,259,23,260,,,,107,97,99,100,101,103',
',,,98,108,,272,,,,,91,,,95,102,104,,112,113,,,44,45,314,87,88,89,12',
'80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,120,119,121,122',
',,22,,,,,,11,51,316,13,124,123,125,114,62,116,115,117,,118,126,127,',
'110,111,,47,48,46,258,262,263,264,265,275,276,270,271,266,267,,251,252',
',,268,269,,43,,,36,,,64,65,,,66,,38,255,,261,50,257,256,253,254,274',
'273,259,23,260,,,,107,97,99,100,101,103,,,,98,108,,272,,,,,91,,,95,102',
'104,,112,113,,,44,45,314,87,88,89,12,80,,,,81,82,,,,85,,83,84,86,33',
'34,78,79,,,,,,90,31,30,120,119,121,122,,621,22,618,617,616,,619,11,51',
'316,13,124,123,125,114,62,116,115,117,,118,126,127,,110,111,,47,48,46',
'621,,618,617,616,,619,621,826,618,617,616,,619,,,,830,,43,,,36,,,64',
'65,,,66,,38,,,,50,,,826,,,,,23,,826,,,107,97,99,100,101,103,,,,98,108',
',,,,,,91,,,95,102,104,,112,113,,,44,45,314,87,88,89,12,80,,,,81,82,',
',,85,,83,84,86,33,34,78,79,,,,,,90,31,30,120,119,121,122,,,22,,,,,,11',
'51,316,13,124,123,125,114,62,116,115,117,,118,126,127,,110,111,,47,48',
'46,258,262,263,264,265,275,276,270,271,266,267,,-757,-757,,,268,269',
',43,,,36,,,64,65,,,66,,38,255,,261,50,257,256,253,254,274,273,259,23',
'260,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113',
',,44,45,8,87,88,89,12,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90',
'31,30,120,119,121,122,,,22,,,,,,11,51,10,13,124,123,125,114,62,116,115',
'117,,118,126,127,,110,111,,47,48,46,258,262,263,264,265,275,276,270',
'271,266,267,,-757,-757,,,268,269,,43,,,36,,,64,65,,,66,,38,255,,261',
'50,257,256,253,254,274,273,259,23,260,,,,107,97,99,100,101,103,,,,98',
'108,,,,,,,91,,,95,102,104,,112,113,,,44,45,314,87,88,89,12,80,,,,81',
'82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,120,119,121,122,,,22,,',
',,,11,51,316,13,124,123,125,114,62,116,115,117,,118,126,127,,110,111',
',47,48,46,258,262,263,264,265,275,276,270,271,266,267,,-757,-757,,,268',
'269,,43,,,36,,,64,65,,,66,,38,255,,261,50,257,256,253,254,274,273,259',
'23,260,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112',
'113,,,44,45,314,87,88,89,12,80,,,,81,82,,,,85,,83,84,86,33,34,78,79',
',,,,,90,31,30,120,119,121,122,,,22,,,,,,11,51,316,13,124,123,125,114',
'62,116,115,117,,118,126,127,,110,111,,47,48,46,258,262,263,264,265,275',
'276,270,271,266,267,,-757,-757,,,268,269,,43,,,36,,,64,65,,,66,,38,255',
',261,50,257,256,253,254,274,273,259,23,260,,,,107,97,99,100,101,103',
',,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44,45,314,87,88,89,12,80',
',,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,120,119,121,122,',
',22,,,,,,11,51,316,13,124,123,125,114,62,116,115,117,,118,126,127,,110',
'111,,47,48,46,258,-757,-757,-757,-757,275,276,,,-757,-757,,,,,,268,269',
',43,,,36,,,64,65,,,66,,38,255,,261,50,257,256,253,254,274,273,259,23',
'260,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113',
',,44,45,314,87,88,89,12,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,',
',90,31,30,120,119,121,122,,,22,,,,,,11,51,316,13,124,123,125,114,62',
'116,115,117,,118,126,127,,110,111,,47,48,46,258,-757,-757,-757,-757',
'275,276,,,-757,-757,,,,,,268,269,,43,,,36,,,64,65,,,66,,38,255,,261',
'50,257,256,253,254,274,273,259,23,260,,,,107,97,99,100,101,103,,,,98',
'108,,,,,,,91,,,95,102,104,,112,113,,,44,45,314,87,88,89,12,80,,,,81',
'82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,120,119,121,122,,,22,,',
',,,11,51,316,13,124,123,125,114,62,116,115,117,,118,126,127,,110,111',
',47,48,46,258,-757,-757,-757,-757,275,276,,,-757,-757,,,,,,268,269,',
'43,,,36,,,64,65,,,66,,38,255,,261,50,257,256,253,254,274,273,259,23',
'260,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113',
',,44,45,314,87,88,89,12,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,',
',90,31,30,120,119,121,122,,,22,,,,,,11,51,316,13,124,123,125,114,62',
'116,115,117,,118,126,127,,110,111,,47,48,46,258,-757,-757,-757,-757',
'275,276,,,-757,-757,,,,,,268,269,,43,,,36,,,64,65,,,66,,38,255,,261',
'50,257,256,253,254,274,273,259,23,260,,,,107,97,99,100,101,103,,,,98',
'108,,,,,,,91,,,95,102,104,,112,113,,,44,45,314,87,88,89,12,80,,,,81',
'82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,120,119,121,122,,,22,,',
',,,11,51,316,13,124,123,125,114,62,116,115,117,,118,126,127,,110,111',
',47,48,46,258,-757,-757,-757,-757,275,276,,,-757,-757,,,,,,268,269,',
'43,,,36,,,64,65,,,66,,38,255,,261,50,257,256,253,254,274,273,259,23',
'260,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113',
',,44,45,314,87,88,89,12,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,',
',90,31,30,120,119,121,122,,,22,,,,,,11,51,316,13,124,123,125,114,62',
'116,115,117,,118,126,127,,110,111,,47,48,46,258,-757,-757,-757,-757',
'275,276,,,-757,-757,,,,,,268,269,,43,,,36,,,64,65,,,66,,38,255,,261',
'50,257,256,253,254,274,273,259,23,260,,,,107,97,99,100,101,103,,,,98',
'108,,,,,,,91,,,95,102,104,,112,113,,,44,45,314,87,88,89,12,80,,,,81',
'82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,120,119,121,122,,,22,,',
',,,11,51,316,13,124,123,125,114,62,116,115,117,,118,126,127,,110,111',
',47,48,46,258,262,263,264,265,275,276,,,266,267,,,,,,268,269,,43,,,36',
',,64,65,,,66,,38,255,,261,50,257,256,253,254,274,273,259,23,260,,,,107',
'97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44,45,314',
'87,88,89,12,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,120',
'119,121,122,,,22,,,,,,11,51,316,13,124,123,125,114,62,116,115,117,,118',
'126,127,,110,111,,47,48,46,258,262,263,264,265,275,276,270,,266,267',
',,,,,268,269,,43,,,36,,,64,65,,,66,,38,255,,261,50,257,256,253,254,274',
'273,259,23,260,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102',
'104,,112,113,,,44,45,314,87,88,89,12,80,,,,81,82,,,,85,,83,84,86,33',
'34,78,79,,,,,,90,31,30,120,119,121,122,,,22,,,,,,11,51,316,13,124,123',
'125,114,62,116,115,117,,118,126,127,,110,111,,47,48,46,258,,,,,,,,,',
',,,,,,268,269,,43,,,36,,,64,65,,,66,,38,255,,261,50,257,256,253,254',
',,259,23,260,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104',
',112,113,,,44,45,314,87,88,89,12,80,,,,81,82,,,,85,,83,84,86,33,34,78',
'79,,,,,,90,31,30,120,119,121,122,,,22,,,,,,11,51,316,13,124,123,125',
'114,62,116,115,117,,118,126,127,,110,111,,47,48,46,258,,,,,,,,,,,,,',
',,268,269,,43,,,36,,,64,65,,,66,,38,255,,261,50,257,256,253,254,,,259',
'23,260,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112',
'113,,,44,45,314,87,88,89,12,80,,,,81,82,,,,85,,83,84,86,33,34,78,79',
',,,,,90,31,30,120,119,121,122,,,22,,,,,,11,51,316,13,124,123,125,114',
'62,116,115,117,,118,126,127,,110,111,,47,48,46,258,,,,,,,,,,,,,,,,268',
'269,,43,,,36,,,64,65,,,66,,38,255,,261,50,257,256,253,254,,,,23,,,,',
'107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44',
'45,314,87,88,89,12,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31',
'30,120,119,121,122,,,22,,,,,,11,51,316,13,124,123,125,114,62,116,115',
'117,,118,126,127,,110,111,,47,48,46,258,,,,,,,,,,,,,,,,268,269,,43,',
',36,,,64,65,,,66,,38,255,,261,50,257,256,253,254,,,,23,,,,,107,97,99',
'100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44,45,314,87',
'88,89,12,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,120,119',
'121,122,,,22,,,,,,11,51,316,13,124,123,125,114,62,116,115,117,,118,126',
'127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,43,,,36,,,64,65,,,66,,38,',
',,50,,,,,,,,23,,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102',
'104,,112,113,,,44,45,314,87,88,89,12,80,,,,81,82,,,,85,,83,84,86,33',
'34,78,79,,,,,,90,31,30,120,119,121,122,,,22,,,,,,11,51,316,13,124,123',
'125,114,62,116,115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,',
',,,,,,43,,,36,,,64,65,,,66,,38,,,,50,,,,,,,,23,,,,,107,97,99,100,101',
'103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44,45,314,87,88,89,12',
'80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,120,119,121,122',
',,22,,,,,,11,51,316,13,124,123,125,114,62,116,115,117,,118,126,127,',
'110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,43,,,36,,,64,65,,,66,,38,,,,50',
',,,,,,,23,,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104',
',112,113,,,44,45,314,87,88,89,12,80,,,,81,82,,,,85,,83,84,86,33,34,78',
'79,,,,,,90,31,30,120,119,121,122,,,22,,,,,,11,51,316,13,124,123,125',
'114,62,116,115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,',
',,43,,,36,,,64,65,,,66,,38,,,,50,,,,,,,,23,,,,,107,97,99,100,101,103',
',,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,12,80,,,,81',
'82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,120,119,121,122,,,22,,',
',,,11,51,10,13,124,123,125,114,62,116,115,117,,118,126,127,,110,111',
',47,48,46,,,,,,,,,,,,,,,,,,,,43,,,36,,,64,65,,,66,,38,,,,50,,,,,,,,23',
',,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,',
',44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31',
'30,120,119,121,122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117,',
'118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65',
',,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91',
',,95,102,104,-448,112,113,,,44,45,-448,-448,-448,,,-448,-448,-448,621',
'-448,618,617,616,626,619,,,-448,-448,-448,-448,,,,629,,,,,-448,-448',
',-448,-448,-448,-448,-448,,,,,,,,,,624,,,,,,,,,,,637,636,,-448,-448',
'-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,,,-448,-448',
'-448,,,-448,,285,-448,,,-448,-448,,-448,630,-448,,-448,,-448,-448,-448',
'-448,-448,-448,-448,,-448,-448,-448,621,,618,617,616,626,619,,,,,,-448',
'-448,,-448,629,-448,-319,,,,,,-448,-319,-319,-319,-448,,-319,-319,-319',
',-319,,,,624,,,,-319,,-319,-319,,634,633,637,636,,,,-319,-319,,-319',
'-319,-319,-319,-319,,,,,,,,,,,,,,237,,,,,,,,630,,-319,-319,-319,-319',
'-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,,,-319,-319,-319,',
',-319,,295,-319,,,-319,-319,,-319,,-319,,-319,,-319,-319,-319,-319,-319',
'-319,-319,,-319,,-319,,,,,,,,,,,,,-319,-319,,-319,,-319,87,88,89,,80',
',-319,,81,82,-319,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,120,119,121',
'122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117,307,118,126,127',
',110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,304,,302',
',50,,,,,,,,247,,,,,107,305,99,100,101,103,,,,98,108,,,,,,,91,,308,95',
'102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34',
'78,79,,,,,,90,31,30,120,119,121,122,,,249,,,,,,,51,,,124,123,125,114',
'62,116,115,117,307,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,',
',242,,,248,,,64,65,,,66,,304,,302,,50,,,,,,,,247,,,,,107,305,99,100',
'101,103,,,,98,108,,,,,,,91,,308,95,102,104,,112,113,,,44,45,87,88,89',
',80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,120,119,121,122',
',,249,,,,,,,51,,,124,123,125,114,62,116,115,117,307,118,126,127,,110',
'111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,304,,302,,50',
',,,,,,,247,,,,,107,305,99,100,101,103,,,,98,108,,,,,,,91,,308,95,102',
'104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78',
'79,,,,,,90,330,336,120,119,121,122,,,249,,,,,,,51,,,124,123,125,114',
'62,116,115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242',
',,248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98',
'108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,',
'85,,83,84,86,333,334,78,79,,,,,,90,330,336,120,119,121,122,,,249,,,',
',,,51,,,124,123,125,114,62,116,115,117,,118,126,127,,110,111,,47,48',
'46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,',
'107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44',
'45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336',
'120,119,121,122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117,,118',
'126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66',
',,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95',
'102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334',
'78,79,,,,,,90,330,336,120,119,121,122,,,249,,,,,,,51,,,124,123,125,114',
'62,116,115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242',
',,248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98',
'108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,',
'85,,83,84,86,333,334,78,79,,,,,,90,330,336,120,119,121,122,,,249,,,',
',,,51,,,124,123,125,114,62,116,115,117,,118,126,127,,110,111,,47,48',
'46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,',
'107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,-302,112,113,',
',44,45,-302,-302,-302,,,-302,-302,-302,621,-302,618,617,616,626,619',
',,-302,,-302,-302,-302,,,629,120,119,121,122,-302,-302,,-302,-302,-302',
'-302,-302,,,,,124,123,125,,,624,,,,,,,,110,111,,637,636,337,-302,-302',
'-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,,,-302,-302',
'-302,,,-302,,,-302,,,-302,-302,,-302,630,-302,,-302,,-302,-302,-302',
'-302,-302,-302,-302,,-302,,-302,,107,97,99,100,101,103,,,,98,108,-302',
'-302,-302,-302,,-302,91,-302,,95,102,104,-302,112,113,-756,-302,87,88',
'89,12,80,-756,-756,-756,81,82,-756,-756,-756,85,-756,83,84,86,33,34',
'78,79,-756,-756,-756,-756,,90,31,30,120,119,121,122,-756,-756,22,-756',
'-756,-756,-756,-756,11,51,,13,124,123,125,114,62,116,115,117,,118,126',
'127,,110,111,,47,48,46,-756,-756,-756,-756,-756,-756,-756,-756,-756',
'-756,-756,-756,-756,-756,,,-756,-756,-756,43,,-756,36,285,-756,64,65',
'-756,-756,66,-756,38,-756,,-756,50,-756,-756,-756,-756,-756,-756,-756',
'23,-756,-756,-756,,107,97,99,100,101,103,,,,98,108,-756,-756,,-756,',
'-756,91,,,95,102,104,-756,112,113,,-756,44,45,87,88,89,,80,,,,81,82',
',,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,120,119,121,122,,,22,,,,,',
',51,,,124,123,125,114,62,116,115,117,,118,126,127,,110,111,,47,48,46',
',,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,23,,,,,107',
'97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87',
'88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,120,119',
'121,122,,,22,,,,,,,51,,,124,123,125,114,62,116,115,117,,118,126,127',
',110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50',
',,,,,,,23,,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104',
',112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,',
',,,,90,31,30,120,119,121,122,,,22,,,,,,,51,,,124,123,125,114,62,116',
'115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248',
',,64,65,,,66,,,,,,50,,,,,,,,23,,,,,107,97,99,100,101,103,,,,98,108,132',
',,,,131,91,,,95,102,104,,112,113,,,44,45,87,88,89,12,80,,,,81,82,,,',
'85,,83,84,86,33,34,78,79,,,,,,90,31,30,120,119,121,122,,,22,,,,,,11',
'51,10,13,124,123,125,114,62,116,115,117,,118,126,127,,110,111,,47,48',
'46,,,,,,,,,,,,,,,,,,,,43,,,36,,,64,65,,,66,,38,,,,50,,,,,,,,23,,,,,107',
'97,99,100,101,103,,,,98,108,,,,,,419,91,,,95,102,104,,112,113,,,44,45',
'87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,120',
'119,121,122,,,22,,,,,,,51,,,124,123,125,114,62,116,115,117,,118,126',
'127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,',
',,50,,,,,,,,23,,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102',
'104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78',
'79,,,,,,90,31,30,120,119,121,122,,,22,,,,,,,51,,,124,123,125,114,62',
'116,115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,',
',248,,,64,65,,,66,,,,,,50,,,,,,,,23,,,,,107,97,99,100,101,103,,,,98',
'108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,',
'85,,83,84,86,33,34,78,79,,,,,,90,31,30,120,119,121,122,,,22,,,,,,,51',
',,124,123,125,114,62,116,115,117,,118,126,127,,110,111,,47,48,46,,,',
',,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,23,,,,,107,97',
'99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88',
'89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,120,119,121',
'122,,,22,,,,,,,51,,,124,123,125,114,62,116,115,117,,118,126,127,,110',
'111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,',
',,,23,,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112',
'113,,,44,45,87,88,89,12,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,',
',90,31,30,120,119,121,122,,,22,,,,,,11,51,,13,124,123,125,114,62,116',
'115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,43,,,36,',
',64,65,,,66,,38,,,,50,,,,,,,,23,,,,,107,97,99,100,101,103,,,,98,108',
',,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,',
'83,84,86,33,34,78,79,,,,,,90,31,30,120,119,121,122,,,249,,,,,,,51,,',
'124,123,125,114,62,116,115,117,,118,126,127,,110,111,,47,48,46,,,,,',
',,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,436,,,,50,,,,,,,,247,,,,,107,97',
'99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88',
'89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,120,119,121',
'122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117,,118,126,127,,110',
'111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,436,,,,50,',
',,,,,,247,,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104',
',112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,',
',,,,90,31,30,120,119,121,122,,,22,,,,,,,51,,,124,123,125,114,62,116',
'115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248',
',,64,65,,,66,,,,,,50,,,,,,,,23,,,,,107,97,99,100,101,103,,,,98,108,',
',,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83',
'84,86,33,34,78,79,,,,,,90,31,30,120,119,121,122,,,22,,,,,,,51,,,124',
'123,125,114,62,116,115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,',
',,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,23,,,,,107,97,99,100',
'101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80',
',,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,120,119,121,122,',
',249,,,,,,,51,,,124,123,125,114,62,116,115,117,,118,126,127,,110,111',
',47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247',
',,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,',
',44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31',
'30,120,119,121,122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117,307',
'118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65',
',,66,,304,,302,,50,,,,,,,,247,,,,,107,305,99,100,101,103,,,,98,108,',
',,,,,91,,308,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85',
',83,84,86,33,34,78,79,,,,,,90,31,30,120,119,121,122,,,249,,,,,,,51,',
',124,123,125,114,62,116,115,117,,118,126,127,,110,111,,47,48,46,,,,',
',,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,,107,97',
'99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88',
'89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,120,119,121',
'122,,,22,,,,,,,51,,,124,123,125,114,62,116,115,117,,118,126,127,,110',
'111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,',
',,,23,,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112',
'113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90',
'31,30,120,119,121,122,,,22,,,,,,,51,,,124,123,125,114,62,116,115,117',
',118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65',
',,66,,,,,,50,,,,,,,,23,,,,,107,97,99,100,101,103,,,,98,108,237,,,,,',
'91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84',
'86,333,334,78,79,,,,,,90,330,336,120,119,121,122,,,249,,,,,,,51,,,124',
'123,125,114,62,116,115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,',
',,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100',
'101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80',
',,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,120,119,121,122',
',,249,,,,,,,51,,,124,123,125,114,62,116,115,117,,118,126,127,,110,111',
',47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247',
',,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,',
',44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330',
'336,120,119,121,122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117',
',118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65',
',,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91',
',,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86',
'333,334,78,79,,,,,,90,330,336,120,119,121,122,,,249,,,,,,,51,,,124,123',
'125,114,62,116,115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,',
',,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100,101',
'103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,',
',81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,120,119,121,122',
',,249,,,,,,,51,,,124,123,125,114,62,116,115,117,,118,126,127,,110,111',
',47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247',
',,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,',
',44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330',
'336,120,119,121,122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117',
',118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65',
',,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91',
',,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86',
'333,334,78,79,,,,,,90,330,336,120,119,121,122,,,249,,,,,,,51,,,124,123',
'125,114,62,116,115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,',
',,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100,101',
'103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,',
',81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,120,119,121,122',
',,249,,,,,,,51,,,124,123,125,114,62,116,115,117,,118,126,127,,110,111',
',47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247',
',,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,',
',44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330',
'336,120,119,121,122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117',
',118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65',
',,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91',
',,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86',
'333,334,78,79,,,,,,90,330,336,120,119,121,122,,,249,,,,,,,51,,,124,123',
'125,114,62,116,115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,',
',,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100,101',
'103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,',
',81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,120,119,121,122',
',,249,,,,,,,51,,,124,123,125,114,62,116,115,117,,118,126,127,,110,111',
',47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247',
',,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,',
',44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330',
'336,120,119,121,122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117',
',118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65',
',,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91',
',,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86',
'333,334,78,79,,,,,,90,330,336,120,119,121,122,,,249,,,,,,,51,,,124,123',
'125,114,62,116,115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,',
',,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100,101',
'103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,',
',81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,120,119,121,122',
',,249,,,,,,,51,,,124,123,125,114,62,116,115,117,,118,126,127,,110,111',
',47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247',
',,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,',
',44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330',
'336,120,119,121,122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117',
',118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65',
',,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91',
',,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86',
'333,334,78,79,,,,,,90,330,336,120,119,121,122,,,249,,,,,,,51,,,124,123',
'125,114,62,116,115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,',
',,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100,101',
'103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,',
',81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,120,119,121,122',
',,249,,,,,,,51,,,124,123,125,114,62,116,115,117,,118,126,127,,110,111',
',47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247',
',,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,',
',44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330',
'336,120,119,121,122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117',
',118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65',
',,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91',
',,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86',
'333,334,78,79,,,,,,90,330,336,120,119,121,122,,,249,,,,,,,51,,,124,123',
'125,114,62,116,115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,',
',,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100,101',
'103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,',
',81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,120,119,121,122',
',,249,,,,,,,51,,,124,123,125,114,62,116,115,117,,118,126,127,,110,111',
',47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247',
',,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,',
',44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330',
'336,120,119,121,122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117',
',118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65',
',,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91',
',,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86',
'333,334,78,79,,,,,,90,330,336,120,119,121,122,,,249,,,,,,,51,,,124,123',
'125,114,62,116,115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,',
',,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100,101',
'103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,',
',81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,120,119,121,122',
',,249,,,,,,,51,,,124,123,125,114,62,116,115,117,,118,126,127,,110,111',
',47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247',
',,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,',
',44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330',
'336,120,119,121,122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117',
',118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65',
',,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91',
',,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86',
'33,34,78,79,,,,,,90,31,30,120,119,121,122,,,249,,,,,,,51,,,124,123,125',
'114,62,116,115,117,307,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,',
',,,,,242,,,248,,,64,65,,,66,,304,,302,,50,,,,,,,,247,,,,,107,305,99',
'100,101,103,,,,98,108,,,,,,,91,,308,95,102,104,,112,113,,,44,516,87',
'88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,120,119',
'121,122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117,307,118,126',
'127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,304',
',302,,50,,,,,,,,247,,,,,107,305,99,100,101,103,,,,98,108,,,,,,,91,,308',
'95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33',
'34,78,79,,,,,,90,31,30,120,119,121,122,,,249,,,,,,,51,,,124,123,125',
'114,62,116,115,117,307,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,',
',,,,,242,,,248,,,64,65,,,66,,304,,302,,50,,,,,,,,247,,,,,107,305,99',
'100,101,103,,,,98,108,237,,,,,,91,,308,95,102,104,,112,113,,,44,45,87',
'88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,120',
'119,121,122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117,,118,126',
'127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,',
',,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102',
'104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78',
'79,,,,,,90,330,336,120,119,121,122,,,249,,,,,,,51,,,124,123,125,114',
'62,116,115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242',
',,248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98',
'108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,',
'85,,83,84,86,333,334,78,79,,,,,,90,330,336,120,119,121,122,,,249,,,',
',,,51,,,124,123,125,114,62,116,115,117,,118,126,127,,110,111,,47,48',
'46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,',
'107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44',
'45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336',
'120,119,121,122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117,,118',
'126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66',
',,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95',
'102,104,,112,113,,,44,45,87,88,89,12,80,,,,81,82,,,,85,,83,84,86,33',
'34,78,79,,,,,,90,31,30,120,119,121,122,,,22,,,,,,11,51,,13,124,123,125',
'114,62,116,115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,',
',,43,,,36,,,64,65,,,66,,38,,,,50,,,,,,,,23,,,,,107,97,99,100,101,103',
',,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81',
'82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,120,119,121,122,,,249',
',,,,,,51,,,124,123,125,114,62,116,115,117,,118,126,127,,110,111,,47',
'48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247,',
',,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,',
'44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330',
'336,120,119,121,122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117',
',118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,562,,64',
'65,,,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98,108,,,,,',
',91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84',
'86,333,334,78,79,,,,,,90,330,336,120,119,121,122,,,249,,,,,,,51,,,124',
'123,125,114,62,116,115,117,307,118,126,127,,110,111,,47,48,46,,,,,,',
',,,,,,,,,,,,,242,,,248,,,64,65,,,66,,304,,,,50,,,,,,,,247,,,,,107,305',
'99,100,101,103,,,,98,108,,,,,,,91,,308,95,102,104,,112,113,,,44,45,87',
'88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,120',
'119,121,122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117,307,118',
'126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66',
',,,,,50,,,,,,,,247,,,,,107,305,99,100,101,103,,,,98,108,,,,,,,91,,308',
'95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33',
'34,78,79,,,,,,90,31,30,120,119,121,122,,,22,,,,,,,51,,,124,123,125,114',
'62,116,115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242',
',,248,,,64,65,,,66,,,,,,50,,,,,,,,23,,,,,107,97,99,100,101,103,,,,98',
'108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,',
'85,,83,84,86,333,334,78,79,,,,,,90,330,336,120,119,121,122,,,249,,,',
',,,51,,,124,123,125,114,62,116,115,117,,118,126,127,,110,111,,47,48',
'46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,',
'107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,-734,112,113,',
',44,45,-734,-734,-734,,,-734,-734,-734,621,-734,618,617,616,626,619',
',,-734,-734,-734,-734,-734,,,629,,,,,-734,-734,,-734,-734,-734,-734',
'-734,,,,,,,,,,624,,,,,,,,,634,633,637,636,,-734,-734,-734,-734,-734',
'-734,-734,-734,-734,-734,-734,-734,-734,-734,,,-734,-734,-734,,,-734',
',,-734,,,-734,-734,,-734,630,-734,,-734,,-734,-734,-734,-734,-734,-734',
'-734,,-734,-734,-734,621,,618,617,616,626,619,,,,,,-734,-734,-734,-734',
'629,-734,-735,-734,,,,,-734,-735,-735,-735,-734,,-735,-735,-735,,-735',
',,,624,,,,-735,-735,-735,-735,-735,,,637,636,,,,-735,-735,,-735,-735',
'-735,-735,-735,,,,,,,,,,,,,,,,,,,,,,630,,-735,-735,-735,-735,-735,-735',
'-735,-735,-735,-735,-735,-735,-735,-735,,,-735,-735,-735,,,-735,,,-735',
',,-735,-735,,-735,,-735,,-735,,-735,-735,-735,-735,-735,-735,-735,,-735',
'-735,-735,,,,,,,,,,,,,-735,-735,-735,-735,,-735,,-735,,87,88,89,-735',
'80,,,-735,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,120,119,121',
'122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117,307,118,126,127',
',110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,304,,302',
',50,,,,,,,,247,,,,,107,305,99,100,101,103,,,,98,108,,,,,,,91,,308,95',
'102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334',
'78,79,,,,,,90,330,336,120,119,121,122,,,249,,,,,,,51,,,124,123,125,114',
'62,116,115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242',
',,248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98',
'108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,',
'85,,83,84,86,333,334,78,79,,,,,,90,330,336,120,119,121,122,,,249,,,',
',,,51,,,124,123,125,114,62,116,115,117,,118,126,127,,110,111,,47,48',
'46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,',
'107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44',
'45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336',
'120,119,121,122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117,,118',
'126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66',
',,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95',
'102,104,-756,112,113,,,44,45,-756,-756,-756,,,-756,-756,-756,,-756,120',
'119,121,122,,,,-756,-756,-756,,,,,,,124,123,125,-756,-756,,-756,-756',
'-756,-756,-756,,,110,111,,,,337,,,,,,621,,618,617,616,626,619,,,,,,',
',,,629,,,,,-756,,,,,,,-756,,,,,285,-756,,,,624,,,,,107,97,99,100,101',
'103,637,636,,98,108,,-756,-756,,,,91,,,95,102,104,,112,113,-756,,87',
'88,89,-756,80,,,,81,82,-756,,630,85,-756,83,84,86,333,334,78,79,,,,',
',90,330,336,120,119,121,122,,,249,,,,,,,51,,,124,123,125,114,62,116',
'115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248',
',,64,65,,,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98,108',
',,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,',
'83,84,86,333,334,78,79,,,,,,90,330,336,120,119,121,122,,,249,,,,,,,51',
',,124,123,125,114,62,116,115,117,307,118,126,127,,110,111,,47,48,46',
',,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,740,,302,,50,,,,,,,,247,',
',,,107,305,99,100,101,103,,,,98,108,,,,,,,91,,308,95,102,104,,112,113',
',,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90',
'330,336,120,119,121,122,,,249,,,,,,,51,,,124,123,125,114,62,116,115',
'117,307,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248',
',,64,65,,,66,,,,302,,50,,,,,,,,247,,,,,107,305,99,100,101,103,,,,98',
'108,,,,,,,91,,308,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82',
',,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,120,119,121,122,,,249',
',,,,,,51,,,124,123,125,114,62,116,115,117,,118,126,127,,110,111,,47',
'48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247,',
',,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,',
'44,45,87,88,89,12,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31',
'30,120,119,121,122,,,22,,,,,,11,51,316,13,124,123,125,114,62,116,115',
'117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,43,,,36,,,64',
'65,,,66,,38,,,,50,,,,,,,,23,,,,,107,97,99,100,101,103,,,,98,108,,,,',
',419,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83',
'84,86,33,34,78,79,,,,,,90,31,30,120,119,121,122,,,249,,,,,,,51,,,124',
'123,125,114,62,116,115,117,307,118,126,127,,110,111,,47,48,46,,,,,,',
',,,,,,,,,,,,,242,,,248,,,64,65,,,66,,304,,302,,50,,,,,,,,247,,,,,107',
'305,99,100,101,103,,,,98,108,,,,,,,91,,308,95,102,104,,112,113,,,44',
'45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336',
'120,119,121,122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117,,118',
'126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66',
',,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95',
'102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334',
'78,79,,,,,,90,330,336,120,119,121,122,,,249,,,,,,,51,,,124,123,125,114',
'62,116,115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242',
',,248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98',
'108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,',
'85,,83,84,86,33,34,78,79,,,,,,90,31,30,120,119,121,122,,,22,,,,,,,51',
',,124,123,125,114,62,116,115,117,,118,126,127,,110,111,,47,48,46,,,',
',,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,23,,,,,107,97',
'99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88',
'89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,120,119,121',
'122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117,307,118,126,127',
',110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,304,,302',
',50,,,,,,,,247,,,,,107,305,99,100,101,103,,,,98,108,,,,,,,91,,308,95',
'102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34',
'78,79,,,,,,90,31,30,120,119,121,122,,,22,,,,,,,51,,,124,123,125,114',
'62,116,115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242',
',,248,,,64,65,,,66,,,,,,50,,,,,,,,23,,,,,107,97,99,100,101,103,,,,98',
'108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,',
'85,,83,84,86,33,34,78,79,,,,,,90,31,30,120,119,121,122,,,22,,,,,,,51',
',,124,123,125,114,62,116,115,117,,118,126,127,,110,111,,47,48,46,,,',
',,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,23,,,,,107,97',
'99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88',
'89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,120,119',
'121,122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117,,118,126,127',
',110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50',
',,,,,,,247,,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104',
',112,113,,,44,45,87,88,89,12,80,,,,81,82,,,,85,,83,84,86,33,34,78,79',
',,,,,90,31,30,120,119,121,122,,,22,,,,,,11,51,,13,124,123,125,114,62',
'116,115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,43,,',
'36,,,64,65,,,66,,38,,,,50,,,,,,,,23,,,,,107,97,99,100,101,103,,,,98',
'108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,',
'85,,83,84,86,333,334,78,79,,,,,,90,330,336,120,119,121,122,,,249,,,',
',,,51,,,124,123,125,114,62,116,115,117,,118,126,127,,110,111,,47,48',
'46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,848,,,,50,,,,,,,,247,',
',,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,',
'44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30',
'120,119,121,122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117,,118',
'126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66',
',,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95',
'102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34',
'78,79,,,,,,90,31,30,120,119,121,122,,,249,,,,,,,51,,,124,123,125,114',
'62,116,115,117,307,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,',
',242,,,248,,,64,65,,,66,,304,,302,,50,,,,,,,,247,,,,,107,305,99,100',
'101,103,,,,98,108,,,,,,,91,,308,95,102,104,,112,113,,,44,45,87,88,89',
'12,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,120,119,121',
'122,,,22,,,,,,11,51,,13,124,123,125,114,62,116,115,117,,118,126,127',
',110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,43,,,36,,,64,65,,,66,,38,,,,50',
',,,,,,,23,,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104',
',112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79',
',,,,,90,330,336,120,119,121,122,,,249,,,,,,,51,,,124,123,125,114,62',
'116,115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,',
',248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98',
'108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,',
'85,,83,84,86,333,334,78,79,,,,,,90,330,336,120,119,121,122,,,249,,,',
',,,51,,,124,123,125,114,62,116,115,117,307,118,126,127,,110,111,,47',
'48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,740,,302,,50,,,,,,',
',247,,,,,107,305,99,100,101,103,,,,98,108,,,,,,,91,,308,95,102,104,',
'112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79',
',,,,,90,330,336,120,119,121,122,,,249,,,,,,,51,,,124,123,125,114,62',
'116,115,117,307,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242',
',,248,,,64,65,,,66,,,,302,,50,,,,,,,,247,,,,,107,305,99,100,101,103',
',,,98,108,,,,,,,91,,308,95,102,104,,112,113,,,44,45,87,88,89,,80,,,',
'81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,120,119,121,122,,,249',
',,,,,,51,,,124,123,125,114,62,116,115,117,,118,126,127,,110,111,,47',
'48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247,',
',,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,',
'44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30',
'120,119,121,122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117,,118',
'126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66',
',,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95',
'102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34',
'78,79,,,,,,90,31,30,120,119,121,122,,,249,,,,,,,51,,,124,123,125,114',
'62,116,115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242',
',,248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98',
'108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,',
'85,,83,84,86,33,34,78,79,,,,,,90,31,30,120,119,121,122,,,249,,,,,,,51',
',,124,123,125,114,62,116,115,117,,118,126,127,,110,111,,47,48,46,,,',
',,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,,107,97',
'99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88',
'89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,120,119',
'121,122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117,307,118,126',
'127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,740',
',302,,50,,,,,,,,247,,,,,107,305,99,100,101,103,,,,98,108,,,,,,,91,,308',
'95,102,104,,112,113,,,44,516,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333',
'334,78,79,,,,,,90,330,336,120,119,121,122,,,249,,,,,,,51,,,124,123,125',
'114,62,116,115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,',
',,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103',
',,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81',
'82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,120,119,121,122,,,249',
',,,,,,51,,,124,123,125,114,62,116,115,117,,118,126,127,,110,111,,47',
'48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247,',
',,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,',
'44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330',
'336,120,119,121,122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117',
',118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65',
',,66,,436,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98,108,,,,,',
',91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84',
'86,333,334,78,79,,,,,,90,330,336,120,119,121,122,,,249,,,,,,,51,,,124',
'123,125,114,62,116,115,117,307,118,126,127,,110,111,,47,48,46,,,,,,',
',,,,,,,,,,,,,242,,,248,,,64,65,,,66,,740,,,,50,,,,,,,,247,,,,,107,305',
'99,100,101,103,,,,98,108,,,,,,,91,,308,95,102,104,,112,113,,,44,45,87',
'88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,120',
'119,121,122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117,307,118',
'126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66',
',,,,,50,,,,,,,,247,,,,,107,305,99,100,101,103,,,,98,108,,,,,,,91,,308',
'95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333',
'334,78,79,,,,,,90,330,336,120,119,121,122,,,249,,,,,,,51,,,124,123,125',
'114,62,116,115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,',
',,242,,,248,,,64,65,,,66,,937,,,,50,,,,,,,,247,,,,,107,97,99,100,101',
'103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,',
',81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,120,119,121,122,,,249',
',,,,,,51,,,124,123,125,114,62,116,115,117,307,118,126,127,,110,111,',
'47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,304,,302,,50,,,',
',,,,247,,,,,107,305,99,100,101,103,,,,98,108,,,,,,,91,,308,95,102,104',
',112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79',
',,,,,90,330,336,120,119,121,122,,,249,,,,,,,51,,,124,123,125,114,62',
'116,115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,',
',248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98',
'108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,',
'85,,83,84,86,333,334,78,79,,,,,,90,330,336,120,119,121,122,,,249,,,',
',,,51,,,124,123,125,114,62,116,115,117,,118,126,127,,110,111,,47,48',
'46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,',
'107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44',
'45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,120',
'119,121,122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117,,118,126',
'127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,',
',,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102',
'104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78',
'79,,,,,,90,330,336,120,119,121,122,,,249,,,,,,,51,,,124,123,125,114',
'62,116,115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242',
',,248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98',
'108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,',
'85,,83,84,86,333,334,78,79,,,,,,90,330,336,120,119,121,122,,,249,,,',
',,,51,,,124,123,125,114,62,116,115,117,,118,126,127,,110,111,,47,48',
'46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,',
'107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44',
'45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336',
'120,119,121,122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117,,118',
'126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66',
',,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95',
'102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334',
'78,79,,,,,,90,330,336,120,119,121,122,,,249,,,,,,,51,,,124,123,125,114',
'62,116,115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242',
',,248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98',
'108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,',
'85,,83,84,86,333,334,78,79,,,,,,90,330,336,120,119,121,122,,,249,,,',
',,,51,,,124,123,125,114,62,116,115,117,,118,126,127,,110,111,,47,48',
'46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,',
'107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44',
'45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,120',
'119,121,122,,,22,,,,,,,51,,,124,123,125,114,62,116,115,117,,118,126',
'127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,',
',,50,,,,,,,,23,,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102',
'104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78',
'79,,,,,,90,330,336,120,119,121,122,,,249,,,,,,,51,,,124,123,125,114',
'62,116,115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242',
',,248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103,,,,98',
'108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,',
'85,,83,84,86,33,34,78,79,,,,,,90,31,30,120,119,121,122,,,22,,,,,,,51',
',,124,123,125,114,62,116,115,117,,118,126,127,,110,111,,47,48,46,,,',
',,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,23,,,,,107,97',
'99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88',
'89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,120,119',
'121,122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117,307,118,126',
'127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,',
'302,,50,,,,,,,,247,,,,,107,305,99,100,101,103,,,,98,108,,,,,,,91,,308',
'95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333',
'334,78,79,,,,,,90,330,336,120,119,121,122,,,249,,,,,,,51,,,124,123,125',
'114,62,116,115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,',
',,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,,107,97,99,100,101,103',
',,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81',
'82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,120,119,121,122,,,249',
',,,,,,51,,,124,123,125,114,62,116,115,117,,118,126,127,,110,111,,47',
'48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,1137,,,,50,,,,,,,,247',
',,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,',
',44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31',
'30,120,119,121,122,,,22,,,,,,,51,,,124,123,125,114,62,116,115,117,,118',
'126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66',
',,,,,50,,,,,,,,23,,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95',
'102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34',
'78,79,,,,,,90,31,30,120,119,121,122,,,22,,,,,,,51,,,124,123,125,114',
'62,116,115,117,,118,126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242',
',,248,,,64,65,,,66,,,,,,50,,,,,,,,23,,,,,107,97,99,100,101,103,,,,98',
'108,,,,,,,91,,,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,',
'85,,83,84,86,333,334,78,79,,,,,,90,330,336,120,119,121,122,,,249,,,',
',,,51,,,124,123,125,114,62,116,115,117,,118,126,127,,110,111,,47,48',
'46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66,,,,,,50,,,,,,,,247,,,,',
'107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,,44',
'45,87,88,89,,80,,,,81,82,,,,85,,83,84,86,33,34,78,79,,,,,,90,31,30,120',
'119,121,122,,,249,,,,,,,51,,,124,123,125,114,62,116,115,117,307,118',
'126,127,,110,111,,47,48,46,,,,,,,,,,,,,,,,,,,,242,,,248,,,64,65,,,66',
',304,,302,,50,,,,,,,,247,,,,,107,305,99,100,101,103,,,,98,108,,,,,,',
'91,,308,95,102,104,,112,113,,,44,45,87,88,89,,80,,,,81,82,,,,85,,83',
'84,86,333,334,78,79,,,,,,90,330,336,120,119,121,122,,,249,,,,,,,331',
',,124,123,125,114,62,116,115,117,,118,126,127,,110,111,,,,337,,,,,,621',
',618,617,616,626,619,,,,,,,,327,,629,323,,,64,65,,,66,,322,,,,,,,,,',
',,624,,,,,107,97,99,100,101,103,637,636,,98,108,,,,,,,91,,,95,102,104',
',112,113,87,88,89,,80,,,,81,82,,,,85,630,83,84,86,333,334,78,79,,,,',
',90,330,336,120,119,121,122,,,249,,,,,,,331,,,124,123,125,114,62,116',
'115,117,,118,126,127,,110,111,,,,337,,,,,,621,,618,617,616,626,619,',
',,,,,,327,,629,248,,,64,65,,,66,,,,,,,,,,,,,,624,,,,,107,97,99,100,101',
'103,637,636,,98,108,,,,339,,,91,,,95,102,104,,112,113,87,88,89,,80,',
',,81,82,,,,85,630,83,84,86,333,334,78,79,,,,,,90,330,336,120,119,121',
'122,,,249,,,,,,,331,,,124,123,125,114,62,116,115,117,,118,126,127,,110',
'111,,,,337,,,,,,621,,618,617,616,626,619,,,,,,,,369,,629,36,,,64,65',
',,66,,38,,,,,,,,,,,,624,,,,,107,97,99,100,101,103,637,636,,98,108,,',
',,,,91,,,95,102,104,,112,113,87,88,89,,80,,,,81,82,,,,85,630,83,84,86',
'333,334,78,79,,,,,,90,330,336,120,119,121,122,,,249,,,,,,,331,,,124',
'123,125,114,62,116,115,117,,118,126,127,,110,111,,,,337,,,,,,621,,618',
'617,616,626,619,,,,,,,,327,,629,248,,,64,65,,,66,,,,,,,,,,,,,,624,,',
',,107,97,99,100,101,103,637,636,,98,108,,,,545,,,91,,,95,102,104,,112',
'113,87,88,89,,80,,,,81,82,,,,85,630,83,84,86,333,334,78,79,,,,,,90,330',
'336,120,119,121,122,,,249,,,,,,,331,,,124,123,125,114,62,116,115,117',
',118,126,127,,110,111,,,,337,,,,,,621,,618,617,616,626,619,,,,,,,,327',
',629,323,,,64,65,,,66,,,,,,,,,,,,,,624,,,,,107,97,99,100,101,103,637',
'636,,98,108,,,,,,,91,,,95,102,104,,112,113,87,88,89,,80,,,,81,82,,,',
'85,630,83,84,86,333,334,78,79,,,,,,90,330,336,120,119,121,122,,,249',
',,,,,,331,,,124,123,125,591,62,116,115,592,,118,126,127,,110,111,,,',
'337,,,,,,621,,618,617,616,626,619,,,,,,,,593,,629,248,,,64,65,,,66,',
',,,,,,,,,,,,624,,,,,107,97,99,100,101,103,637,636,,98,108,,,,,,,91,',
',95,102,104,,112,113,87,88,89,,80,,,,81,82,,,,85,630,83,84,86,333,334',
'78,79,,,,,,90,330,336,120,119,121,122,,,249,,,,,,,331,,,124,123,125',
'591,62,116,115,592,,118,126,127,,110,111,,,,337,,,,,,,,,,,,,,,,,,,,593',
',,248,,,64,65,,,66,,,,,,,,,,,,,,,,,,,107,97,99,100,101,103,,,,98,108',
',,,,,,91,,,95,102,104,,112,113,87,88,89,,80,,,,81,82,,,,85,,83,84,86',
'333,334,78,79,,,,,,90,330,336,120,119,121,122,,,249,,,,,,,331,,,124',
'123,125,114,62,116,115,117,,118,126,127,,110,111,,,,337,,,,,,,,,,,,',
',,,,,,,327,,,323,,,64,65,,,66,,,,,,,,,,,,,,,,,,,107,97,99,100,101,103',
',,,98,108,,,,,,,91,,,95,102,104,,112,113,87,88,89,,80,,,,81,82,,,,85',
',83,84,86,333,334,78,79,,,,,,90,330,336,120,119,121,122,,,249,,,,,,',
'331,,,124,123,125,114,62,116,115,117,,118,126,127,,110,111,,,,337,,',
',,,,,,,,,,,,,,,,,327,,,323,,,64,65,,,66,,,,,,,,,,,,,,,,,,,107,97,99',
'100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,87,88,89,,80,,',
',81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,120,119,121,122',
',,249,,,,,,,331,,,124,123,125,114,62,116,115,117,,118,126,127,,110,111',
',,,337,,,,,,,,,,,,,,,,,,,,327,,,323,,,64,65,,,66,,,,,,,,,,,,,,,,,,,107',
'97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,87,88,89',
',80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,120,119,121',
'122,,,249,,,,,,,331,,,124,123,125,114,62,116,115,117,,118,126,127,,110',
'111,,,,337,,,,,,,,,,,,,,,,,,,,327,,,323,,,64,65,,,66,,,,,,,,,,,,,,,',
',,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,87',
'88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90,330,336,120',
'119,121,122,,,249,,,,,,,331,,,124,123,125,114,62,116,115,117,,118,126',
'127,,110,111,,,,337,,,,,,,,,,,,,,,,,,,,1121,,,248,,,64,65,,,66,,,,,',
',,,,,,,,,,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,',
'112,113,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78,79,,,,,,90',
'330,336,120,119,121,122,,,249,,,,,,,331,,,124,123,125,114,62,116,115',
'117,,118,126,127,,110,111,,,,337,,,,,,,,,,,,,,,,,,,,1128,,,248,,,64',
'65,,,66,,,,,,,,,,,,,,,,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,',
',95,102,104,,112,113,87,88,89,,80,,,,81,82,,,,85,,83,84,86,333,334,78',
'79,,,,,,90,330,336,120,119,121,122,,,249,,,,,,,331,,,124,123,125,114',
'62,116,115,117,,118,126,127,,110,111,,,,337,,,,,,,,,,,,,,,,,,,,1121',
',,248,,,64,65,,,66,,,,,,,,,,,,,,,,,,,107,97,99,100,101,103,,,,98,108',
',,,,,,91,,,95,102,104,,112,113,190,201,191,214,187,207,197,196,217,218',
'212,195,194,189,215,219,220,199,188,202,206,208,200,193,,,,209,216,211',
'210,203,213,198,186,205,204,,,,,,185,192,183,184,180,181,182,143,145',
'142,,144,,,,,,,,,175,176,,171,153,154,155,162,159,161,,,156,157,,,,177',
'178,163,164,,,,,,,,,,,,,,168,167,,152,174,170,169,165,166,160,158,150',
'173,151,,,179,107,,,,,,,,,,108,,,,,,,,,172,190,201,191,214,187,207,197',
'196,217,218,212,195,194,189,215,219,220,199,188,202,206,208,200,193',
',,,209,216,211,210,203,213,198,186,205,204,,,,,,185,192,183,184,180',
'181,182,143,145,,,144,,,,,,,,,175,176,,171,153,154,155,162,159,161,',
',156,157,,,,177,178,163,164,,,,,,,,,,,,,,168,167,,152,174,170,169,165',
'166,160,158,150,173,151,,,179,107,,,,,,,,,,108,,,,,,,,,172,190,201,191',
'214,187,207,197,196,217,218,212,195,194,189,215,219,220,199,188,202',
'206,208,200,193,,,,209,216,211,384,383,385,382,186,205,204,,,,,,185',
'192,183,184,379,380,381,377,145,116,115,378,,118,,,,,,,175,176,,171',
'153,154,155,162,159,161,,,156,157,,,,177,178,163,164,,,,,,391,,,,,,',
',168,167,,152,174,170,169,165,166,160,158,150,173,151,,,179,,,,,,,,',
',,,,,,,,,,,172,190,201,191,214,187,207,197,196,217,218,212,195,194,189',
'215,219,220,199,188,202,206,208,200,193,,,,209,216,211,210,203,213,198',
'186,205,204,,,,,,185,192,183,184,180,181,182,143,145,416,415,144,,417',
',,,,,,175,176,,171,153,154,155,162,159,161,,,156,157,,,,177,178,163',
'164,,,,,,,,,,,,,,168,167,,152,174,170,169,165,166,160,158,150,173,151',
',,179,,,,,,,,,,,,,,,,,,,,172,190,201,191,214,187,207,197,196,217,218',
'212,195,194,189,215,219,220,199,188,202,206,208,200,193,,,,209,216,211',
'210,203,213,198,186,205,204,,,,,,185,192,183,184,180,181,182,143,145',
',,144,,,,,,,,,175,176,,171,153,154,155,162,159,161,,,156,157,,,,177',
'178,163,164,,,,,,,,,,,,,,168,167,,152,174,170,169,165,166,160,158,150',
'173,151,,,179,107,,,,,,,,,,108,,,,,,,,,172,190,201,191,214,187,207,197',
'196,217,218,212,195,194,189,215,219,220,199,188,202,206,208,200,193',
',,,209,216,211,210,203,213,198,186,205,204,,,,,,185,192,183,184,180',
'181,182,143,145,,,144,,,,,,,,,175,176,,171,153,154,155,162,159,161,',
',156,157,,,,177,178,163,164,,,,,,,,,,,,,,168,167,,152,174,170,169,165',
'166,160,158,150,173,151,,,179,107,,,,,,,,,,108,,,,,,,,,172,190,201,191',
'214,187,207,197,196,217,218,212,195,194,189,215,219,220,199,188,202',
'206,208,200,193,,,,209,216,211,210,203,213,198,186,205,204,,,,,,185',
'192,183,184,180,181,182,143,145,,,144,,,,,,,,,175,176,,171,153,154,155',
'162,159,161,,,156,157,,,,177,178,163,164,,,,,,,,,,,,,,168,167,,152,174',
'170,169,165,166,160,158,150,173,151,,,179,,,,,120,119,121,122,,,,,,',
',,,,,172,124,123,125,720,,,,723,,,,,,110,111,,,,337,,,,,,,,,,,,,,,,',
',,,722,,,704,,,,702,,,703,,,,,,,,,,,,,,,721,,,,107,97,99,100,101,103',
',,,98,108,,,,,,,91,,,95,102,104,,112,113,,,708,709,120,119,121,122,',
',,,,,,,,,,,124,123,125,720,,,,723,,,,,,110,111,,,,337,,,,,,,,,,,,,,',
',,,,,722,,,704,,,,702,,,703,,,,,,,,,,,,,,,721,,,,107,97,99,100,101,103',
',,,98,108,,,,,,,91,,,95,102,104,,112,113,,,708,709,120,119,121,122,',
',,,,,,,,,,,124,123,125,720,,,,723,1010,,,,,110,111,,,,337,629,,,,,,',
',,,,,,,,,,,,722,,,704,,,,702,,,703,,1004,,,,,,,,,,,,,721,,,,107,97,99',
'100,101,103,,,,98,108,,,,,,,91,,630,95,102,104,,112,113,,,708,709,120',
'119,121,122,,,,,,,,,,,,,124,123,125,720,,,,723,1010,,,,,110,111,,,,337',
'629,,,,,,,,,,,,,,,,,,,722,,,704,,,,702,,,703,,1004,,,,,,,,,,,,,721,',
',,107,97,99,100,101,103,,,,98,108,,,,,,,91,,630,95,102,104,,112,113',
',,708,709,120,119,121,122,,,,,,,,,,,,,124,123,125,720,,,,723,,,,,,110',
'111,,,,337,,,,,,,,,,,,,,,,,,,,722,,,704,,,,702,,,703,,1004,,,,,,,,,',
',,,721,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112',
'113,,,708,709,120,119,121,122,,,,,,,,,,,,,124,123,125,720,,,,723,,,',
',,110,111,,,,337,,,,,,,,,,,,,,,,,,,,722,,,704,,,,702,,,703,,,,,,,,,',
',,,,,721,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112',
'113,,,708,709,120,119,121,122,,,,,,,,,,,,,124,123,125,720,,,,723,1010',
',,,,110,111,,,,337,629,,,,,,,,,,,,,,,,,,,722,,,704,,,,702,,,703,,1004',
',,,,,,,,,,,,721,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,630,95',
'102,104,,112,113,,,708,709,120,119,121,122,,,,,,,,,,,,,124,123,125,720',
',,,723,,,,,,110,111,,,,337,,,,,,,,,,,,,,,,,,,,722,,,704,,,,702,,,703',
',1093,,,,,,,,,,,,,721,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,,',
'95,102,104,,112,113,,,708,709,120,119,121,122,,,,,,,,,,,,,124,123,125',
'720,,,,723,,,,,,110,111,,,,337,,,,,,,,,,,,,,,,,,,,722,,,704,,,,702,',
',703,,,,,,,,,,,,,,,721,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,',
',95,102,104,,112,113,,,708,709,120,119,121,122,,,,,,,,,,,,,124,123,125',
'720,,,,723,,,,,,110,111,,,,337,,,,,,,,,,,,,,,,,,,,722,,,704,,,,702,',
',703,,,,,,,,,,,,,,,721,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91,',
',95,102,104,,112,113,,,708,709,120,119,121,122,,,,,,,,,,,,,124,123,125',
'720,,,,723,,,,,,110,111,,,,337,,,,,,,,,,,,,,,,,,,,722,,,704,,,,702,',
',703,,1004,,,,,,,,,,,,,721,,,,107,97,99,100,101,103,,,,98,108,,,,,,',
'91,,,95,102,104,,112,113,,,708,709,120,119,121,122,,,,,,,,,,,,,124,123',
'125,720,,,,723,,,,,,110,111,,,,337,,,,,,,,,,,,,,,,,,,,722,,,704,,,,702',
',,703,,,,,,,,,,,,,,,721,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91',
',,95,102,104,,112,113,,,708,709,120,119,121,122,,,,,,,,,,,,,124,123',
'125,720,,,,723,,,,,,110,111,,,,337,,,,,,,,,,,,,,,,,,,,722,,,704,,,,702',
',,703,,,,,,,,,,,,,,,721,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91',
',,95,102,104,,112,113,,,708,709,120,119,121,122,,,,,,,,,,,,,124,123',
'125,720,,,,723,,,,,,110,111,,,,337,,,,,,,,,,,,,,,,,,,,722,,,704,,,,702',
',,703,,,,,,,,,,,,,,,721,,,,107,97,99,100,101,103,,,,98,108,,,,,,,91',
',,95,102,104,,112,113,,,708,709,120,119,121,122,,,,,,,,,,,,,124,123',
'125,720,,,,723,,,,,,110,111,,,,337,,,,,,,,120,119,121,122,,,,,,,,,722',
',,704,124,123,125,702,,,703,,,,,,,110,111,,,,337,,,721,,,,107,97,99',
'100,101,103,,,,98,108,,,,,,,91,,,95,102,104,,112,113,,,708,709,,,,,',
',,,,,,,107,97,99,100,101,103,,,,98,108,120,119,121,122,,,91,,,95,102',
'104,,112,113,,124,123,125,621,,618,617,616,626,619,,,,110,111,,,,337',
'629,,,,,,,,,,,,,,,,,,,,,,624,,,,,,,,,634,633,637,636,,,,621,,618,617',
'616,626,619,,,,107,97,99,100,101,103,629,,,98,108,,,,,,,91,,630,95,102',
'104,,112,113,,,624,953,,,,,,,,634,633,637,636,,,,,459,463,,,460,,,,',
',,,,175,176,,171,153,154,155,162,159,161,,,156,157,,630,,177,178,163',
'164,,,,,953,285,,,,,,,,168,167,,152,174,170,169,165,166,160,158,150',
'173,151,,,179,,,,,466,470,,,465,,,,,,,,,175,176,172,171,153,154,155',
'162,159,161,,,156,157,,,,177,178,163,164,,,,,,285,,,,,,,,168,167,,152',
'174,170,169,165,166,160,158,150,173,151,,,179,,,,,512,463,,,513,,,,',
',,,,175,176,172,171,153,154,155,162,159,161,,,156,157,,,,177,178,163',
'164,,,,,,,,,,,,,,168,167,,152,174,170,169,165,166,160,158,150,173,151',
',,179,,,,,691,463,,,692,,,,,,,,,175,176,172,171,153,154,155,162,159',
'161,,,156,157,,,,177,178,163,164,,,,,,285,,,,,,,,168,167,,152,174,170',
'169,165,166,160,158,150,173,151,,,179,,,,,693,470,,,694,,,,,,,,,175',
'176,172,171,153,154,155,162,159,161,,,156,157,,,,177,178,163,164,,,',
',,285,,,,,,,,168,167,,152,174,170,169,165,166,160,158,150,173,151,,',
'179,,,,,751,463,,,752,,,,,,,,,175,176,172,171,153,154,155,162,159,161',
',,156,157,,,,177,178,163,164,,,,,,285,,,,,,,,168,167,,152,174,170,169',
'165,166,160,158,150,173,151,,,179,,,,,754,470,,,755,,,,,,,,,175,176',
'172,171,153,154,155,162,159,161,,,156,157,,,,177,178,163,164,,,,,,285',
',,,,,,,168,167,,152,174,170,169,165,166,160,158,150,173,151,,,179,,',
',,691,463,,,692,,,,,,,,,175,176,172,171,153,154,155,162,159,161,,,156',
'157,,,,177,178,163,164,,,,,,285,,,,,,,,168,167,,152,174,170,169,165',
'166,160,158,150,173,151,,,179,,,,,693,470,,,694,,,,,,,,,175,176,172',
'171,153,154,155,162,159,161,,,156,157,,,,177,178,163,164,,,,,,285,,',
',,,,,168,167,,152,174,170,169,165,166,160,158,150,173,151,,,179,,,,',
'790,463,,,791,,,,,,,,,175,176,172,171,153,154,155,162,159,161,,,156',
'157,,,,177,178,163,164,,,,,,285,,,,,,,,168,167,,152,174,170,169,165',
'166,160,158,150,173,151,,,179,,,,,792,470,,,793,,,,,,,,,175,176,172',
'171,153,154,155,162,159,161,,,156,157,,,,177,178,163,164,,,,,,285,,',
',,,,,168,167,,152,174,170,169,165,166,160,158,150,173,151,,,179,,,,',
'850,463,,,851,,,,,,,,,175,176,172,171,153,154,155,162,159,161,,,156',
'157,,,,177,178,163,164,,,,,,285,,,,,,,,168,167,,152,174,170,169,165',
'166,160,158,150,173,151,,,179,,,,,853,470,,,852,,,,,,,,,175,176,172',
'171,153,154,155,162,159,161,,,156,157,,,,177,178,163,164,,,,,,285,,',
',,,,,168,167,,152,174,170,169,165,166,160,158,150,173,151,,,179,,,,',
'941,470,,,942,,,,,,,,,175,176,172,171,153,154,155,162,159,161,,,156',
'157,,,,177,178,163,164,,,,,,285,,,,,,,,168,167,,152,174,170,169,165',
'166,160,158,150,173,151,,,179,,,,,512,463,,,513,,,,,,,,,175,176,172',
'171,153,154,155,162,159,161,,,156,157,,,,177,178,163,164,,,,,,285,,',
',,,,,168,167,,152,174,170,169,165,166,160,158,150,173,151,,621,179,618',
'617,616,626,619,621,,618,617,616,626,619,,,629,,,,,172,,629,,,,,,,,',
',,,,,,624,,,,,,,624,,634,633,637,636,,,,634,633,637,636,,,,,,,,,,,,',
',,,,,1219,470,,,1218,,,,630,,,,,175,176,630,171,153,154,155,162,159',
'161,,,156,157,,,,177,178,163,164,,,,,,285,,,,,,,,168,167,,152,174,170',
'169,165,166,160,158,150,173,151,,,179,,,,,1222,463,,,1223,,,,,,,,,175',
'176,172,171,153,154,155,162,159,161,,,156,157,,,,177,178,163,164,,,',
',,285,,,,,,,,168,167,,152,174,170,169,165,166,160,158,150,173,151,,',
'179,,,,,1224,470,,,1225,,,,,,,,,175,176,172,171,153,154,155,162,159',
'161,,,156,157,,,,177,178,163,164,,,,,,285,,,,,,,,168,167,,152,174,170',
'169,165,166,160,158,150,173,151,,621,179,618,617,616,626,619,,,,,,,',
',,629,,,,,172,,,,,,,,,,,,,,,,,624,,,,,,,,,634,633,637,636,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,630' ]
        racc_action_table = arr = ::Array.new(29717, 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 = [
'114,407,410,67,358,366,728,114,114,114,475,475,114,114,114,751,114,367',
'1004,752,359,1042,761,761,114,998,114,114,114,810,810,593,1,631,1011',
'593,114,114,27,114,114,114,114,114,746,27,703,1047,370,754,589,631,1011',
'790,791,1050,722,1052,3,703,722,746,811,911,407,410,998,114,114,114',
'114,114,114,114,114,114,114,114,114,114,114,938,751,114,114,114,752',
'114,114,579,67,114,939,728,114,114,1004,114,1052,114,475,114,27,114',
'114,114,114,114,114,114,366,114,761,114,883,754,754,751,358,810,751',
'752,367,358,752,883,114,114,114,114,911,114,1125,114,359,1042,117,751',
'114,359,1042,752,114,117,117,117,114,1126,117,117,117,754,117,370,754',
'589,1129,1183,790,791,117,1047,117,117,117,911,1047,811,911,1050,1222',
'754,117,117,1050,117,117,117,117,117,1223,1224,1093,1238,13,911,792',
'793,726,579,29,240,883,94,579,938,22,939,938,241,938,94,905,117,117',
'117,117,117,117,117,117,117,117,117,117,117,117,15,332,117,117,117,726',
'117,117,46,46,117,337,337,117,117,22,117,243,117,905,117,16,117,117',
'117,117,117,117,117,1125,117,1225,117,240,1125,792,793,18,29,533,1097',
'241,1224,1093,1126,117,117,117,117,1126,117,1097,117,1129,1183,465,25',
'117,1129,1183,29,117,465,465,465,117,332,1222,465,465,813,465,1222,702',
'792,793,243,1223,1224,465,1238,813,1223,1224,443,1238,46,46,332,337',
'337,465,465,481,465,465,465,465,465,40,533,533,533,19,702,377,691,1227',
'650,1225,19,5,377,692,813,813,5,1227,1097,19,533,850,465,465,465,465',
'465,465,465,465,465,465,465,465,465,465,851,20,465,465,465,653,465,443',
'1106,1225,465,873,813,465,1225,394,481,880,465,1106,465,880,465,465',
'465,465,465,465,465,691,465,19,465,650,650,392,692,392,392,392,392,392',
'650,20,850,465,465,989,465,701,465,392,1106,1106,701,466,877,465,701',
'851,20,465,466,466,466,465,653,653,466,466,873,466,43,392,392,653,394',
'394,394,466,466,378,392,392,392,392,1106,877,378,396,51,466,466,52,466',
'466,466,466,466,582,52,239,1138,75,1138,324,989,582,239,52,398,41,324',
'398,142,17,17,239,392,142,142,324,466,466,466,466,466,466,466,466,466',
'466,466,466,466,466,101,379,466,466,466,380,466,42,379,102,466,401,380',
'466,396,396,396,41,466,103,466,52,466,466,466,466,466,466,466,239,466',
'466,466,324,41,398,398,606,104,606,606,606,606,606,325,466,466,341,466',
'42,466,325,404,606,311,693,412,466,140,311,325,466,693,693,693,466,42',
'693,693,693,381,693,401,401,401,606,221,381,242,693,693,693,693,693',
'606,606,606,606,244,341,245,693,693,326,693,693,693,693,693,363,326',
'49,49,382,363,328,341,249,325,326,382,459,328,404,404,404,284,412,412',
'412,606,328,693,693,693,693,693,693,693,693,693,693,693,693,693,693',
'49,49,693,693,693,383,693,693,384,299,693,300,383,693,693,384,693,459',
'693,303,693,326,693,693,693,693,693,693,693,385,693,693,693,328,459',
'568,385,808,568,808,808,808,808,808,342,693,693,693,693,387,693,342',
'693,808,317,694,387,693,319,460,342,693,694,694,694,693,762,694,694',
'694,320,694,762,368,569,808,321,569,327,694,368,694,694,694,808,808',
'808,808,330,368,331,694,694,442,694,694,694,694,694,947,442,460,954',
'550,947,595,675,954,342,442,550,830,595,830,830,830,336,830,460,550',
'808,595,694,694,694,694,694,694,694,694,694,694,694,694,694,694,1061',
'368,694,694,694,1061,694,694,573,338,694,573,675,694,694,345,694,347',
'694,353,694,442,694,694,694,694,694,694,694,675,694,550,694,595,364',
'818,365,818,818,818,818,818,755,369,488,694,694,694,694,755,694,818',
'694,924,755,852,924,694,755,357,357,694,852,852,852,694,371,1018,852',
'852,1018,852,1146,818,400,1146,488,705,705,852,488,488,818,818,818,818',
'796,776,776,804,804,852,852,796,852,852,852,852,852,816,816,942,796',
'1120,403,1127,755,406,942,409,1120,489,1127,942,1051,1051,432,942,818',
'1120,434,1127,852,852,852,852,852,852,852,852,852,852,852,852,852,852',
'1184,1184,852,852,852,435,852,489,437,440,852,489,489,852,796,444,454',
'457,852,458,852,467,852,852,852,852,852,852,852,942,852,1120,852,1127',
'477,490,491,820,492,820,820,820,820,820,1175,852,852,493,852,509,852',
'1175,517,820,518,853,519,852,523,539,1175,852,853,853,853,852,540,541',
'853,853,1072,853,1072,1072,1072,820,1072,544,503,853,853,546,551,591',
'820,820,820,820,554,563,564,853,853,565,853,853,853,853,853,570,571',
'574,576,624,580,624,624,624,1175,624,503,581,583,597,503,503,503,503',
'600,608,820,609,853,853,853,853,853,853,853,853,853,853,853,853,853',
'853,591,504,853,853,853,624,853,591,610,612,853,613,591,853,624,614',
'591,623,853,635,853,638,853,853,853,853,853,853,853,657,853,853,853',
'504,591,660,667,504,504,504,504,676,681,687,695,853,853,696,853,698',
'853,721,978,724,978,978,978,853,978,727,733,853,735,737,591,853,2,2',
'2,2,2,2,739,748,750,2,2,753,756,592,2,941,2,2,2,2,2,2,2,757,978,760',
'778,784,2,2,2,2,2,2,2,785,826,2,826,826,826,789,826,2,2,2,2,2,2,2,2',
'2,2,2,2,812,2,2,2,828,2,2,829,2,2,2,592,831,941,844,847,849,858,592',
'826,941,874,876,592,885,941,902,592,826,941,2,903,910,2,496,920,2,2',
'921,925,2,931,2,940,944,592,2,941,948,949,496,496,837,837,2,950,837',
'837,837,2,2,2,2,2,2,951,496,952,2,2,496,496,496,496,960,592,2,941,961',
'2,2,2,962,2,2,964,967,2,2,36,36,36,36,36,36,968,970,971,36,36,973,976',
'986,36,988,36,36,36,36,36,36,36,24,999,1000,1003,1005,36,36,36,36,36',
'36,36,1012,1197,36,1197,1197,1197,1013,1197,36,36,36,36,36,36,36,36',
'36,36,36,36,1015,36,36,36,1016,36,36,1022,36,36,36,24,24,24,24,24,24',
'24,24,24,24,24,1023,24,24,1024,1026,24,24,1027,36,1028,1030,36,1031',
'1032,36,36,1060,1069,36,1070,36,24,1071,24,36,24,24,24,24,24,24,24,36',
'24,1086,1087,1091,36,36,36,36,36,36,1092,1095,1098,36,36,1118,24,1121',
'1123,1128,1142,36,1150,1151,36,36,36,1152,36,36,1153,1157,36,36,223',
'223,223,223,223,223,1160,1165,1168,223,223,1169,1170,1171,223,1173,223',
'223,223,223,223,223,223,9,9,9,9,9,223,223,223,223,223,223,223,1179,1193',
'223,1195,1203,1205,1206,447,223,223,223,223,223,223,223,223,223,223',
'223,223,1218,223,223,223,1219,223,223,1221,223,223,223,447,447,447,447',
'447,447,447,447,447,447,447,1231,447,447,1232,1234,447,447,1235,223',
'1236,1237,223,1248,,223,223,,,223,,223,447,,447,223,447,447,447,447',
'447,447,447,223,447,,,,223,223,223,223,223,223,,,,223,223,,447,,447',
',,223,,,223,223,223,,223,223,,,223,223,248,248,248,248,248,248,,,,248',
'248,,,,248,,248,248,248,248,248,248,248,315,315,315,315,315,248,248',
'248,248,248,248,248,,,248,,,,,453,248,248,248,248,248,248,248,248,248',
'248,248,248,,248,248,248,,248,248,,248,248,248,453,453,453,453,453,453',
'453,453,453,453,453,,453,453,,,453,453,,248,,,248,,,248,248,,,248,,248',
'453,,453,248,453,453,453,453,453,453,453,248,453,,,,248,248,248,248',
'248,248,,,,248,248,,453,,,,,248,,,248,248,248,,248,248,,,248,248,318',
'318,318,318,318,318,,,,318,318,,,,318,,318,318,318,318,318,318,318,352',
'352,352,352,352,318,318,318,318,318,318,318,,,318,538,538,538,538,538',
'318,318,318,318,318,318,318,318,318,318,318,318,,318,318,318,,318,318',
',318,318,318,297,297,297,297,297,297,297,297,297,297,297,,297,297,,',
'297,297,,318,,,318,,,318,318,,,318,,318,297,,297,318,297,297,297,297',
'297,297,297,318,297,,,,318,318,318,318,318,318,,,,318,318,,297,,,,,318',
',,318,318,318,,318,318,,,318,318,323,323,323,323,323,323,,,,323,323',
',,,323,,323,323,323,323,323,323,323,,,,,,323,323,323,323,323,323,323',
',,323,,,,,,323,323,323,323,323,323,323,323,323,323,323,323,,323,323',
'323,,323,323,,323,323,323,507,507,507,507,507,507,507,507,507,507,507',
',507,507,,,507,507,,323,,,323,,,323,323,,,323,,323,507,,507,323,507',
'507,507,507,507,507,507,323,507,,,,323,323,323,323,323,323,,,,323,323',
'507,507,,,,,323,,,323,323,323,,323,323,,,323,323,351,351,351,351,351',
'351,,,,351,351,,,,351,,351,351,351,351,351,351,351,,,,,,351,351,351',
'351,351,351,351,,,351,,,,,,351,351,351,351,351,351,351,351,351,351,351',
'351,,351,351,351,,351,351,,351,351,351,561,561,561,561,561,561,561,561',
'561,561,561,,561,561,,,561,561,,351,,,351,,,351,351,,,351,,351,561,',
'561,351,561,561,561,561,561,561,561,351,561,,,,351,351,351,351,351,351',
',,,351,351,,561,,,,,351,,,351,351,351,,351,351,,,351,351,361,361,361',
'361,361,361,,,,361,361,,,,361,,361,361,361,361,361,361,361,,,,,,361',
'361,361,361,361,361,361,,,361,,,,,,361,361,361,361,361,361,361,361,361',
'361,361,361,,361,361,361,,361,361,,361,361,361,855,855,855,855,855,855',
'855,855,855,855,855,,855,855,,,855,855,,361,,,361,,,361,361,,,361,,361',
'855,,855,361,855,855,855,855,855,855,855,361,855,,,,361,361,361,361',
'361,361,,,,361,361,,855,,,,,361,,,361,361,361,,361,361,,,361,361,362',
'362,362,362,362,362,,,,362,362,,,,362,,362,362,362,362,362,362,362,',
',,,,362,362,362,362,362,362,362,,,362,,,,,,362,362,362,362,362,362,362',
'362,362,362,362,362,,362,362,362,,362,362,,362,362,362,1021,1021,1021',
'1021,1021,1021,1021,1021,1021,1021,1021,,1021,1021,,,1021,1021,,362',
',,362,,,362,362,,,362,,362,1021,,1021,362,1021,1021,1021,1021,1021,1021',
'1021,362,1021,,,,362,362,362,362,362,362,,,,362,362,,1021,,,,,362,,',
'362,362,362,,362,362,,,362,362,575,575,575,575,575,575,,,,575,575,,',
',575,,575,575,575,575,575,575,575,,,,,,575,575,575,575,575,575,575,',
'977,575,977,977,977,,977,575,575,575,575,575,575,575,575,575,575,575',
'575,,575,575,575,,575,575,,575,575,575,1154,,1154,1154,1154,,1154,1155',
'977,1155,1155,1155,,1155,,,,977,,575,,,575,,,575,575,,,575,,575,,,,575',
',,1154,,,,,575,,1155,,,575,575,575,575,575,575,,,,575,575,,,,,,,575',
',,575,575,575,,575,575,,,575,575,578,578,578,578,578,578,,,,578,578',
',,,578,,578,578,578,578,578,578,578,,,,,,578,578,578,578,578,578,578',
',,578,,,,,,578,578,578,578,578,578,578,578,578,578,578,578,,578,578',
'578,,578,578,,578,578,578,343,343,343,343,343,343,343,343,343,343,343',
',343,343,,,343,343,,578,,,578,,,578,578,,,578,,578,343,,343,578,343',
'343,343,343,343,343,343,578,343,,,,578,578,578,578,578,578,,,,578,578',
',,,,,,578,,,578,578,578,,578,578,,,578,578,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,662,662,662,662,662,662,662,662,',
'662,662,662,,662,662,,662,662,662,344,344,344,344,344,344,344,344,344',
'344,344,,344,344,,,344,344,,662,,,662,,,662,662,,,662,,662,344,,344',
'662,344,344,344,344,344,344,344,662,344,,,,662,662,662,662,662,662,',
',,662,662,,,,,,,662,,,662,662,662,,662,662,,,662,662,794,794,794,794',
'794,794,,,,794,794,,,,794,,794,794,794,794,794,794,794,,,,,,794,794',
'794,794,794,794,794,,,794,,,,,,794,794,794,794,794,794,794,794,794,794',
'794,794,,794,794,794,,794,794,,794,794,794,486,486,486,486,486,486,486',
'486,486,486,486,,486,486,,,486,486,,794,,,794,,,794,794,,,794,,794,486',
',486,794,486,486,486,486,486,486,486,794,486,,,,794,794,794,794,794',
'794,,,,794,794,,,,,,,794,,,794,794,794,,794,794,,,794,794,805,805,805',
'805,805,805,,,,805,805,,,,805,,805,805,805,805,805,805,805,,,,,,805',
'805,805,805,805,805,805,,,805,,,,,,805,805,805,805,805,805,805,805,805',
'805,805,805,,805,805,805,,805,805,,805,805,805,487,487,487,487,487,487',
'487,487,487,487,487,,487,487,,,487,487,,805,,,805,,,805,805,,,805,,805',
'487,,487,805,487,487,487,487,487,487,487,805,487,,,,805,805,805,805',
'805,805,,,,805,805,,,,,,,805,,,805,805,805,,805,805,,,805,805,806,806',
'806,806,806,806,,,,806,806,,,,806,,806,806,806,806,806,806,806,,,,,',
'806,806,806,806,806,806,806,,,806,,,,,,806,806,806,806,806,806,806,806',
'806,806,806,806,,806,806,806,,806,806,,806,806,806,497,497,497,497,497',
'497,497,,,497,497,,,,,,497,497,,806,,,806,,,806,806,,,806,,806,497,',
'497,806,497,497,497,497,497,497,497,806,497,,,,806,806,806,806,806,806',
',,,806,806,,,,,,,806,,,806,806,806,,806,806,,,806,806,838,838,838,838',
'838,838,,,,838,838,,,,838,,838,838,838,838,838,838,838,,,,,,838,838',
'838,838,838,838,838,,,838,,,,,,838,838,838,838,838,838,838,838,838,838',
'838,838,,838,838,838,,838,838,,838,838,838,498,498,498,498,498,498,498',
',,498,498,,,,,,498,498,,838,,,838,,,838,838,,,838,,838,498,,498,838',
'498,498,498,498,498,498,498,838,498,,,,838,838,838,838,838,838,,,,838',
'838,,,,,,,838,,,838,838,838,,838,838,,,838,838,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,499,499,499,499,499,499,499,,,499',
'499,,,,,,499,499,,899,,,899,,,899,899,,,899,,899,499,,499,899,499,499',
'499,499,499,499,499,899,499,,,,899,899,899,899,899,899,,,,899,899,,',
',,,,899,,,899,899,899,,899,899,,,899,899,918,918,918,918,918,918,,,',
'918,918,,,,918,,918,918,918,918,918,918,918,,,,,,918,918,918,918,918',
'918,918,,,918,,,,,,918,918,918,918,918,918,918,918,918,918,918,918,',
'918,918,918,,918,918,,918,918,918,500,500,500,500,500,500,500,,,500',
'500,,,,,,500,500,,918,,,918,,,918,918,,,918,,918,500,,500,918,500,500',
'500,500,500,500,500,918,500,,,,918,918,918,918,918,918,,,,918,918,,',
',,,,918,,,918,918,918,,918,918,,,918,918,930,930,930,930,930,930,,,',
'930,930,,,,930,,930,930,930,930,930,930,930,,,,,,930,930,930,930,930',
'930,930,,,930,,,,,,930,930,930,930,930,930,930,930,930,930,930,930,',
'930,930,930,,930,930,,930,930,930,501,501,501,501,501,501,501,,,501',
'501,,,,,,501,501,,930,,,930,,,930,930,,,930,,930,501,,501,930,501,501',
'501,501,501,501,501,930,501,,,,930,930,930,930,930,930,,,,930,930,,',
',,,,930,,,930,930,930,,930,930,,,930,930,945,945,945,945,945,945,,,',
'945,945,,,,945,,945,945,945,945,945,945,945,,,,,,945,945,945,945,945',
'945,945,,,945,,,,,,945,945,945,945,945,945,945,945,945,945,945,945,',
'945,945,945,,945,945,,945,945,945,502,502,502,502,502,502,502,,,502',
'502,,,,,,502,502,,945,,,945,,,945,945,,,945,,945,502,,502,945,502,502',
'502,502,502,502,502,945,502,,,,945,945,945,945,945,945,,,,945,945,,',
',,,,945,,,945,945,945,,945,945,,,945,945,958,958,958,958,958,958,,,',
'958,958,,,,958,,958,958,958,958,958,958,958,,,,,,958,958,958,958,958',
'958,958,,,958,,,,,,958,958,958,958,958,958,958,958,958,958,958,958,',
'958,958,958,,958,958,,958,958,958,505,505,505,505,505,505,505,,,505',
'505,,,,,,505,505,,958,,,958,,,958,958,,,958,,958,505,,505,958,505,505',
'505,505,505,505,505,958,505,,,,958,958,958,958,958,958,,,,958,958,,',
',,,,958,,,958,958,958,,958,958,,,958,958,959,959,959,959,959,959,,,',
'959,959,,,,959,,959,959,959,959,959,959,959,,,,,,959,959,959,959,959',
'959,959,,,959,,,,,,959,959,959,959,959,959,959,959,959,959,959,959,',
'959,959,959,,959,959,,959,959,959,506,506,506,506,506,506,506,506,,506',
'506,,,,,,506,506,,959,,,959,,,959,959,,,959,,959,506,,506,959,506,506',
'506,506,506,506,506,959,506,,,,959,959,959,959,959,959,,,,959,959,,',
',,,,959,,,959,959,959,,959,959,,,959,959,1039,1039,1039,1039,1039,1039',
',,,1039,1039,,,,1039,,1039,1039,1039,1039,1039,1039,1039,,,,,,1039,1039',
'1039,1039,1039,1039,1039,,,1039,,,,,,1039,1039,1039,1039,1039,1039,1039',
'1039,1039,1039,1039,1039,,1039,1039,1039,,1039,1039,,1039,1039,1039',
'508,,,,,,,,,,,,,,,,508,508,,1039,,,1039,,,1039,1039,,,1039,,1039,508',
',508,1039,508,508,508,508,,,508,1039,508,,,,1039,1039,1039,1039,1039',
'1039,,,,1039,1039,,,,,,,1039,,,1039,1039,1039,,1039,1039,,,1039,1039',
'1040,1040,1040,1040,1040,1040,,,,1040,1040,,,,1040,,1040,1040,1040,1040',
'1040,1040,1040,,,,,,1040,1040,1040,1040,1040,1040,1040,,,1040,,,,,,1040',
'1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,,1040,1040,1040',
',1040,1040,,1040,1040,1040,560,,,,,,,,,,,,,,,,560,560,,1040,,,1040,',
',1040,1040,,,1040,,1040,560,,560,1040,560,560,560,560,,,560,1040,560',
',,,1040,1040,1040,1040,1040,1040,,,,1040,1040,,,,,,,1040,,,1040,1040',
'1040,,1040,1040,,,1040,1040,1057,1057,1057,1057,1057,1057,,,,1057,1057',
',,,1057,,1057,1057,1057,1057,1057,1057,1057,,,,,,1057,1057,1057,1057',
'1057,1057,1057,,,1057,,,,,,1057,1057,1057,1057,1057,1057,1057,1057,1057',
'1057,1057,1057,,1057,1057,1057,,1057,1057,,1057,1057,1057,494,,,,,,',
',,,,,,,,,494,494,,1057,,,1057,,,1057,1057,,,1057,,1057,494,,494,1057',
'494,494,494,494,,,,1057,,,,,1057,1057,1057,1057,1057,1057,,,,1057,1057',
',,,,,,1057,,,1057,1057,1057,,1057,1057,,,1057,1057,1124,1124,1124,1124',
'1124,1124,,,,1124,1124,,,,1124,,1124,1124,1124,1124,1124,1124,1124,',
',,,,1124,1124,1124,1124,1124,1124,1124,,,1124,,,,,,1124,1124,1124,1124',
'1124,1124,1124,1124,1124,1124,1124,1124,,1124,1124,1124,,1124,1124,',
'1124,1124,1124,495,,,,,,,,,,,,,,,,495,495,,1124,,,1124,,,1124,1124,',
',1124,,1124,495,,495,1124,495,495,495,495,,,,1124,,,,,1124,1124,1124',
'1124,1124,1124,,,,1124,1124,,,,,,,1124,,,1124,1124,1124,,1124,1124,',
',1124,1124,1131,1131,1131,1131,1131,1131,,,,1131,1131,,,,1131,,1131',
'1131,1131,1131,1131,1131,1131,,,,,,1131,1131,1131,1131,1131,1131,1131',
',,1131,,,,,,1131,1131,1131,1131,1131,1131,1131,1131,1131,1131,1131,1131',
',1131,1131,1131,,1131,1131,,1131,1131,1131,,,,,,,,,,,,,,,,,,,,1131,',
',1131,,,1131,1131,,,1131,,1131,,,,1131,,,,,,,,1131,,,,,1131,1131,1131',
'1131,1131,1131,,,,1131,1131,,,,,,,1131,,,1131,1131,1131,,1131,1131,',
',1131,1131,1141,1141,1141,1141,1141,1141,,,,1141,1141,,,,1141,,1141',
'1141,1141,1141,1141,1141,1141,,,,,,1141,1141,1141,1141,1141,1141,1141',
',,1141,,,,,,1141,1141,1141,1141,1141,1141,1141,1141,1141,1141,1141,1141',
',1141,1141,1141,,1141,1141,,1141,1141,1141,,,,,,,,,,,,,,,,,,,,1141,',
',1141,,,1141,1141,,,1141,,1141,,,,1141,,,,,,,,1141,,,,,1141,1141,1141',
'1141,1141,1141,,,,1141,1141,,,,,,,1141,,,1141,1141,1141,,1141,1141,',
',1141,1141,1143,1143,1143,1143,1143,1143,,,,1143,1143,,,,1143,,1143',
'1143,1143,1143,1143,1143,1143,,,,,,1143,1143,1143,1143,1143,1143,1143',
',,1143,,,,,,1143,1143,1143,1143,1143,1143,1143,1143,1143,1143,1143,1143',
',1143,1143,1143,,1143,1143,,1143,1143,1143,,,,,,,,,,,,,,,,,,,,1143,',
',1143,,,1143,1143,,,1143,,1143,,,,1143,,,,,,,,1143,,,,,1143,1143,1143',
'1143,1143,1143,,,,1143,1143,,,,,,,1143,,,1143,1143,1143,,1143,1143,',
',1143,1143,1185,1185,1185,1185,1185,1185,,,,1185,1185,,,,1185,,1185',
'1185,1185,1185,1185,1185,1185,,,,,,1185,1185,1185,1185,1185,1185,1185',
',,1185,,,,,,1185,1185,1185,1185,1185,1185,1185,1185,1185,1185,1185,1185',
',1185,1185,1185,,1185,1185,,1185,1185,1185,,,,,,,,,,,,,,,,,,,,1185,',
',1185,,,1185,1185,,,1185,,1185,,,,1185,,,,,,,,1185,,,,,1185,1185,1185',
'1185,1185,1185,,,,1185,1185,,,,,,,1185,,,1185,1185,1185,,1185,1185,',
',1185,1185,8,8,8,8,8,,,,8,8,,,,8,,8,8,8,8,8,8,8,,,,,,8,8,8,8,8,8,8,',
',8,,,,,,8,8,8,8,8,8,8,8,8,8,8,8,,8,8,8,,8,8,,8,8,8,,,,,,,,,,,,,,,,,',
',,8,,,8,,,8,8,,,8,,8,,,,8,,,,,,,,8,,,,,8,8,8,8,8,8,,,,8,8,,,,,,,8,,',
'8,8,8,,8,8,,,8,8,23,23,23,,23,,,,23,23,,,,23,,23,23,23,23,23,23,23,',
',,,,23,23,23,23,23,23,23,,,23,,,,,,,23,,,23,23,23,23,23,23,23,23,,23',
'23,23,,23,23,,23,23,23,,,,,,,,,,,,,,,,,,,,23,,,23,,,23,23,,,23,,,,,',
'23,,,,,,,,23,,,,,23,23,23,23,23,23,,,,23,23,,,,,,,23,,,23,23,23,30,23',
'23,,,23,23,30,30,30,,,30,30,30,822,30,822,822,822,822,822,,,30,30,30',
'30,,,,822,,,,,30,30,,30,30,30,30,30,,,,,,,,,,822,,,,,,,,,,,822,822,',
'30,30,30,30,30,30,30,30,30,30,30,30,30,30,,,30,30,30,,,30,,30,30,,,30',
'30,,30,822,30,,30,,30,30,30,30,30,30,30,,30,30,30,897,,897,897,897,897',
'897,,,,,,30,30,,30,897,30,31,,,,,,30,31,31,31,30,,31,31,31,,31,,,,897',
',,,31,,31,31,,897,897,897,897,,,,31,31,,31,31,31,31,31,,,,,,,,,,,,,',
'897,,,,,,,,897,,31,31,31,31,31,31,31,31,31,31,31,31,31,31,,,31,31,31',
',,31,,31,31,,,31,31,,31,,31,,31,,31,31,31,31,31,31,31,,31,,31,,,,,,',
',,,,,,31,31,,31,,31,32,32,32,,32,,31,,32,32,31,,,32,,32,32,32,32,32',
'32,32,,,,,,32,32,32,32,32,32,32,,,32,,,,,,,32,,,32,32,32,32,32,32,32',
'32,32,32,32,32,,32,32,,32,32,32,,,,,,,,,,,,,,,,,,,,32,,,32,,,32,32,',
',32,,32,,32,,32,,,,,,,,32,,,,,32,32,32,32,32,32,,,,32,32,,,,,,,32,,32',
'32,32,32,,32,32,,,32,32,33,33,33,,33,,,,33,33,,,,33,,33,33,33,33,33',
'33,33,,,,,,33,33,33,33,33,33,33,,,33,,,,,,,33,,,33,33,33,33,33,33,33',
'33,33,33,33,33,,33,33,,33,33,33,,,,,,,,,,,,,,,,,,,,33,,,33,,,33,33,',
',33,,33,,33,,33,,,,,,,,33,,,,,33,33,33,33,33,33,,,,33,33,,,,,,,33,,33',
'33,33,33,,33,33,,,33,33,34,34,34,,34,,,,34,34,,,,34,,34,34,34,34,34',
'34,34,,,,,,34,34,34,34,34,34,34,,,34,,,,,,,34,,,34,34,34,34,34,34,34',
'34,34,34,34,34,,34,34,,34,34,34,,,,,,,,,,,,,,,,,,,,34,,,34,,,34,34,',
',34,,34,,34,,34,,,,,,,,34,,,,,34,34,34,34,34,34,,,,34,34,,,,,,,34,,34',
'34,34,34,,34,34,,,34,34,44,44,44,,44,,,,44,44,,,,44,,44,44,44,44,44',
'44,44,,,,,,44,44,44,44,44,44,44,,,44,,,,,,,44,,,44,44,44,44,44,44,44',
'44,,44,44,44,,44,44,,44,44,44,,,,,,,,,,,,,,,,,,,,44,,,44,,,44,44,,,44',
',,,,,44,,,,,,,,44,,,,,44,44,44,44,44,44,,,,44,44,,,,,,,44,,,44,44,44',
',44,44,,,44,44,45,45,45,,45,,,,45,45,,,,45,,45,45,45,45,45,45,45,,,',
',,45,45,45,45,45,45,45,,,45,,,,,,,45,,,45,45,45,45,45,45,45,45,,45,45',
'45,,45,45,,45,45,45,,,,,,,,,,,,,,,,,,,,45,,,45,,,45,45,,,45,,,,,,45',
',,,,,,,45,,,,,45,45,45,45,45,45,,,,45,45,,,,,,,45,,,45,45,45,,45,45',
',,45,45,47,47,47,,47,,,,47,47,,,,47,,47,47,47,47,47,47,47,,,,,,47,47',
'47,47,47,47,47,,,47,,,,,,,47,,,47,47,47,47,47,47,47,47,,47,47,47,,47',
'47,,47,47,47,,,,,,,,,,,,,,,,,,,,47,,,47,,,47,47,,,47,,,,,,47,,,,,,,',
'47,,,,,47,47,47,47,47,47,,,,47,47,,,,,,,47,,,47,47,47,,47,47,,,47,47',
'48,48,48,,48,,,,48,48,,,,48,,48,48,48,48,48,48,48,,,,,,48,48,48,48,48',
'48,48,,,48,,,,,,,48,,,48,48,48,48,48,48,48,48,,48,48,48,,48,48,,48,48',
'48,,,,,,,,,,,,,,,,,,,,48,,,48,,,48,48,,,48,,,,,,48,,,,,,,,48,,,,,48',
'48,48,48,48,48,,,,48,48,,,,,,,48,,,48,48,48,,48,48,,,48,48,50,50,50',
',50,,,,50,50,,,,50,,50,50,50,50,50,50,50,,,,,,50,50,50,50,50,50,50,',
',50,,,,,,,50,,,50,50,50,50,50,50,50,50,,50,50,50,,50,50,,50,50,50,,',
',,,,,,,,,,,,,,,,,50,,,50,,,50,50,,,50,,,,,,50,,,,,,,,50,,,,,50,50,50',
'50,50,50,,,,50,50,,,,,,,50,,,50,50,50,62,50,50,,,50,50,62,62,62,,,62',
'62,62,1077,62,1077,1077,1077,1077,1077,,,62,,62,62,62,,,1077,708,708',
'708,708,62,62,,62,62,62,62,62,,,,,708,708,708,,,1077,,,,,,,,708,708',
',1077,1077,708,62,62,62,62,62,62,62,62,62,62,62,62,62,62,,,62,62,62',
',,62,,,62,,,62,62,,62,1077,62,,62,,62,62,62,62,62,62,62,,62,,62,,708',
'708,708,708,708,708,,,,708,708,62,62,62,62,,62,708,62,,708,708,708,62',
'708,708,461,62,64,64,64,64,64,461,461,461,64,64,461,461,461,64,461,64',
'64,64,64,64,64,64,461,461,461,461,,64,64,64,64,64,64,64,461,461,64,461',
'461,461,461,461,64,64,,64,64,64,64,64,64,64,64,64,,64,64,64,,64,64,',
'64,64,64,461,461,461,461,461,461,461,461,461,461,461,461,461,461,,,461',
'461,461,64,,461,64,461,461,64,64,461,461,64,461,64,461,,461,64,461,461',
'461,461,461,461,461,64,461,461,461,,64,64,64,64,64,64,,,,64,64,461,461',
',461,,461,64,,,64,64,64,461,64,64,,461,64,64,69,69,69,,69,,,,69,69,',
',,69,,69,69,69,69,69,69,69,,,,,,69,69,69,69,69,69,69,,,69,,,,,,,69,',
',69,69,69,69,69,69,69,69,,69,69,69,,69,69,,69,69,69,,,,,,,,,,,,,,,,',
',,,69,,,69,,,69,69,,,69,,,,,,69,,,,,,,,69,,,,,69,69,69,69,69,69,,,,69',
'69,,,,,,,69,,,69,69,69,,69,69,,,69,69,70,70,70,,70,,,,70,70,,,,70,,70',
'70,70,70,70,70,70,,,,,,70,70,70,70,70,70,70,,,70,,,,,,,70,,,70,70,70',
'70,70,70,70,70,,70,70,70,,70,70,,70,70,70,,,,,,,,,,,,,,,,,,,,70,,,70',
',,70,70,,,70,,,,,,70,,,,,,,,70,,,,,70,70,70,70,70,70,,,,70,70,,,,,,',
'70,,,70,70,70,,70,70,,,70,70,73,73,73,,73,,,,73,73,,,,73,,73,73,73,73',
'73,73,73,,,,,,73,73,73,73,73,73,73,,,73,,,,,,,73,,,73,73,73,73,73,73',
'73,73,,73,73,73,,73,73,,73,73,73,,,,,,,,,,,,,,,,,,,,73,,,73,,,73,73',
',,73,,,,,,73,,,,,,,,73,,,,,73,73,73,73,73,73,,,,73,73,73,,,,,73,73,',
',73,73,73,,73,73,,,73,73,130,130,130,130,130,,,,130,130,,,,130,,130',
'130,130,130,130,130,130,,,,,,130,130,130,130,130,130,130,,,130,,,,,',
'130,130,130,130,130,130,130,130,130,130,130,130,,130,130,130,,130,130',
',130,130,130,,,,,,,,,,,,,,,,,,,,130,,,130,,,130,130,,,130,,130,,,,130',
',,,,,,,130,,,,,130,130,130,130,130,130,,,,130,130,,,,,,130,130,,,130',
'130,130,,130,130,,,130,130,135,135,135,,135,,,,135,135,,,,135,,135,135',
'135,135,135,135,135,,,,,,135,135,135,135,135,135,135,,,135,,,,,,,135',
',,135,135,135,135,135,135,135,135,,135,135,135,,135,135,,135,135,135',
',,,,,,,,,,,,,,,,,,,135,,,135,,,135,135,,,135,,,,,,135,,,,,,,,135,,,',
',135,135,135,135,135,135,,,,135,135,,,,,,,135,,,135,135,135,,135,135',
',,135,135,136,136,136,,136,,,,136,136,,,,136,,136,136,136,136,136,136',
'136,,,,,,136,136,136,136,136,136,136,,,136,,,,,,,136,,,136,136,136,136',
'136,136,136,136,,136,136,136,,136,136,,136,136,136,,,,,,,,,,,,,,,,,',
',,136,,,136,,,136,136,,,136,,,,,,136,,,,,,,,136,,,,,136,136,136,136',
'136,136,,,,136,136,,,,,,,136,,,136,136,136,,136,136,,,136,136,137,137',
'137,,137,,,,137,137,,,,137,,137,137,137,137,137,137,137,,,,,,137,137',
'137,137,137,137,137,,,137,,,,,,,137,,,137,137,137,137,137,137,137,137',
',137,137,137,,137,137,,137,137,137,,,,,,,,,,,,,,,,,,,,137,,,137,,,137',
'137,,,137,,,,,,137,,,,,,,,137,,,,,137,137,137,137,137,137,,,,137,137',
',,,,,,137,,,137,137,137,,137,137,,,137,137,138,138,138,,138,,,,138,138',
',,,138,,138,138,138,138,138,138,138,,,,,,138,138,138,138,138,138,138',
',,138,,,,,,,138,,,138,138,138,138,138,138,138,138,,138,138,138,,138',
'138,,138,138,138,,,,,,,,,,,,,,,,,,,,138,,,138,,,138,138,,,138,,,,,,138',
',,,,,,,138,,,,,138,138,138,138,138,138,,,,138,138,,,,,,,138,,,138,138',
'138,,138,138,,,138,138,139,139,139,139,139,,,,139,139,,,,139,,139,139',
'139,139,139,139,139,,,,,,139,139,139,139,139,139,139,,,139,,,,,,139',
'139,,139,139,139,139,139,139,139,139,139,,139,139,139,,139,139,,139',
'139,139,,,,,,,,,,,,,,,,,,,,139,,,139,,,139,139,,,139,,139,,,,139,,,',
',,,,139,,,,,139,139,139,139,139,139,,,,139,139,,,,,,,139,,,139,139,139',
',139,139,,,139,139,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,,,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,225,,,225,225,226,226,226,,226',
',,,226,226,,,,226,,226,226,226,226,226,226,226,,,,,,226,226,226,226',
'226,226,226,,,226,,,,,,,226,,,226,226,226,226,226,226,226,226,,226,226',
'226,,226,226,,226,226,226,,,,,,,,,,,,,,,,,,,,226,,,226,,,226,226,,,226',
',,,,,226,,,,,,,,226,,,,,226,226,226,226,226,226,,,,226,226,,,,,,,226',
',,226,226,226,,226,226,,,226,226,227,227,227,,227,,,,227,227,,,,227',
',227,227,227,227,227,227,227,,,,,,227,227,227,227,227,227,227,,,227',
',,,,,,227,,,227,227,227,227,227,227,227,227,,227,227,227,,227,227,,227',
'227,227,,,,,,,,,,,,,,,,,,,,227,,,227,,,227,227,,,227,,,,,,227,,,,,,',
',227,,,,,227,227,227,227,227,227,,,,227,227,,,,,,,227,,,227,227,227',
',227,227,,,227,227,228,228,228,,228,,,,228,228,,,,228,,228,228,228,228',
'228,228,228,,,,,,228,228,228,228,228,228,228,,,228,,,,,,,228,,,228,228',
'228,228,228,228,228,228,,228,228,228,,228,228,,228,228,228,,,,,,,,,',
',,,,,,,,,,228,,,228,,,228,228,,,228,,,,,,228,,,,,,,,228,,,,,228,228',
'228,228,228,228,,,,228,228,,,,,,,228,,,228,228,228,,228,228,,,228,228',
'229,229,229,,229,,,,229,229,,,,229,,229,229,229,229,229,229,229,,,,',
',229,229,229,229,229,229,229,,,229,,,,,,,229,,,229,229,229,229,229,229',
'229,229,229,229,229,229,,229,229,,229,229,229,,,,,,,,,,,,,,,,,,,,229',
',,229,,,229,229,,,229,,229,,229,,229,,,,,,,,229,,,,,229,229,229,229',
'229,229,,,,229,229,,,,,,,229,,229,229,229,229,,229,229,,,229,229,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,,,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,235,236,236,236,,236,,,,236,236,,,,236,',
'236,236,236,236,236,236,236,,,,,,236,236,236,236,236,236,236,,,236,',
',,,,,236,,,236,236,236,236,236,236,236,236,,236,236,236,,236,236,,236',
'236,236,,,,,,,,,,,,,,,,,,,,236,,,236,,,236,236,,,236,,,,,,236,,,,,,',
',236,,,,,236,236,236,236,236,236,,,,236,236,236,,,,,,236,,,236,236,236',
',236,236,,,236,236,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,,,,,,247,,,,,,,,247,,,,,247,247',
'247,247,247,247,,,,247,247,,,,,,,247,,,247,247,247,,247,247,,,247,247',
'251,251,251,,251,,,,251,251,,,,251,,251,251,251,251,251,251,251,,,,',
',251,251,251,251,251,251,251,,,251,,,,,,,251,,,251,251,251,251,251,251',
'251,251,,251,251,251,,251,251,,251,251,251,,,,,,,,,,,,,,,,,,,,251,,',
'251,,,251,251,,,251,,,,,,251,,,,,,,,251,,,,,251,251,251,251,251,251',
',,,251,251,,,,,,,251,,,251,251,251,,251,251,,,251,251,252,252,252,,252',
',,,252,252,,,,252,,252,252,252,252,252,252,252,,,,,,252,252,252,252',
'252,252,252,,,252,,,,,,,252,,,252,252,252,252,252,252,252,252,,252,252',
'252,,252,252,,252,252,252,,,,,,,,,,,,,,,,,,,,252,,,252,,,252,252,,,252',
',,,,,252,,,,,,,,252,,,,,252,252,252,252,252,252,,,,252,252,,,,,,,252',
',,252,252,252,,252,252,,,252,252,253,253,253,,253,,,,253,253,,,,253',
',253,253,253,253,253,253,253,,,,,,253,253,253,253,253,253,253,,,253',
',,,,,,253,,,253,253,253,253,253,253,253,253,,253,253,253,,253,253,,253',
'253,253,,,,,,,,,,,,,,,,,,,,253,,,253,,,253,253,,,253,,,,,,253,,,,,,',
',253,,,,,253,253,253,253,253,253,,,,253,253,,,,,,,253,,,253,253,253',
',253,253,,,253,253,254,254,254,,254,,,,254,254,,,,254,,254,254,254,254',
'254,254,254,,,,,,254,254,254,254,254,254,254,,,254,,,,,,,254,,,254,254',
'254,254,254,254,254,254,,254,254,254,,254,254,,254,254,254,,,,,,,,,',
',,,,,,,,,,254,,,254,,,254,254,,,254,,,,,,254,,,,,,,,254,,,,,254,254',
'254,254,254,254,,,,254,254,,,,,,,254,,,254,254,254,,254,254,,,254,254',
'255,255,255,,255,,,,255,255,,,,255,,255,255,255,255,255,255,255,,,,',
',255,255,255,255,255,255,255,,,255,,,,,,,255,,,255,255,255,255,255,255',
'255,255,,255,255,255,,255,255,,255,255,255,,,,,,,,,,,,,,,,,,,,255,,',
'255,,,255,255,,,255,,,,,,255,,,,,,,,255,,,,,255,255,255,255,255,255',
',,,255,255,,,,,,,255,,,255,255,255,,255,255,,,255,255,256,256,256,,256',
',,,256,256,,,,256,,256,256,256,256,256,256,256,,,,,,256,256,256,256',
'256,256,256,,,256,,,,,,,256,,,256,256,256,256,256,256,256,256,,256,256',
'256,,256,256,,256,256,256,,,,,,,,,,,,,,,,,,,,256,,,256,,,256,256,,,256',
',,,,,256,,,,,,,,256,,,,,256,256,256,256,256,256,,,,256,256,,,,,,,256',
',,256,256,256,,256,256,,,256,256,257,257,257,,257,,,,257,257,,,,257',
',257,257,257,257,257,257,257,,,,,,257,257,257,257,257,257,257,,,257',
',,,,,,257,,,257,257,257,257,257,257,257,257,,257,257,257,,257,257,,257',
'257,257,,,,,,,,,,,,,,,,,,,,257,,,257,,,257,257,,,257,,,,,,257,,,,,,',
',257,,,,,257,257,257,257,257,257,,,,257,257,,,,,,,257,,,257,257,257',
',257,257,,,257,257,258,258,258,,258,,,,258,258,,,,258,,258,258,258,258',
'258,258,258,,,,,,258,258,258,258,258,258,258,,,258,,,,,,,258,,,258,258',
'258,258,258,258,258,258,,258,258,258,,258,258,,258,258,258,,,,,,,,,',
',,,,,,,,,,258,,,258,,,258,258,,,258,,,,,,258,,,,,,,,258,,,,,258,258',
'258,258,258,258,,,,258,258,,,,,,,258,,,258,258,258,,258,258,,,258,258',
'259,259,259,,259,,,,259,259,,,,259,,259,259,259,259,259,259,259,,,,',
',259,259,259,259,259,259,259,,,259,,,,,,,259,,,259,259,259,259,259,259',
'259,259,,259,259,259,,259,259,,259,259,259,,,,,,,,,,,,,,,,,,,,259,,',
'259,,,259,259,,,259,,,,,,259,,,,,,,,259,,,,,259,259,259,259,259,259',
',,,259,259,,,,,,,259,,,259,259,259,,259,259,,,259,259,260,260,260,,260',
',,,260,260,,,,260,,260,260,260,260,260,260,260,,,,,,260,260,260,260',
'260,260,260,,,260,,,,,,,260,,,260,260,260,260,260,260,260,260,,260,260',
'260,,260,260,,260,260,260,,,,,,,,,,,,,,,,,,,,260,,,260,,,260,260,,,260',
',,,,,260,,,,,,,,260,,,,,260,260,260,260,260,260,,,,260,260,,,,,,,260',
',,260,260,260,,260,260,,,260,260,261,261,261,,261,,,,261,261,,,,261',
',261,261,261,261,261,261,261,,,,,,261,261,261,261,261,261,261,,,261',
',,,,,,261,,,261,261,261,261,261,261,261,261,,261,261,261,,261,261,,261',
'261,261,,,,,,,,,,,,,,,,,,,,261,,,261,,,261,261,,,261,,,,,,261,,,,,,',
',261,,,,,261,261,261,261,261,261,,,,261,261,,,,,,,261,,,261,261,261',
',261,261,,,261,261,262,262,262,,262,,,,262,262,,,,262,,262,262,262,262',
'262,262,262,,,,,,262,262,262,262,262,262,262,,,262,,,,,,,262,,,262,262',
'262,262,262,262,262,262,,262,262,262,,262,262,,262,262,262,,,,,,,,,',
',,,,,,,,,,262,,,262,,,262,262,,,262,,,,,,262,,,,,,,,262,,,,,262,262',
'262,262,262,262,,,,262,262,,,,,,,262,,,262,262,262,,262,262,,,262,262',
'263,263,263,,263,,,,263,263,,,,263,,263,263,263,263,263,263,263,,,,',
',263,263,263,263,263,263,263,,,263,,,,,,,263,,,263,263,263,263,263,263',
'263,263,,263,263,263,,263,263,,263,263,263,,,,,,,,,,,,,,,,,,,,263,,',
'263,,,263,263,,,263,,,,,,263,,,,,,,,263,,,,,263,263,263,263,263,263',
',,,263,263,,,,,,,263,,,263,263,263,,263,263,,,263,263,264,264,264,,264',
',,,264,264,,,,264,,264,264,264,264,264,264,264,,,,,,264,264,264,264',
'264,264,264,,,264,,,,,,,264,,,264,264,264,264,264,264,264,264,,264,264',
'264,,264,264,,264,264,264,,,,,,,,,,,,,,,,,,,,264,,,264,,,264,264,,,264',
',,,,,264,,,,,,,,264,,,,,264,264,264,264,264,264,,,,264,264,,,,,,,264',
',,264,264,264,,264,264,,,264,264,265,265,265,,265,,,,265,265,,,,265',
',265,265,265,265,265,265,265,,,,,,265,265,265,265,265,265,265,,,265',
',,,,,,265,,,265,265,265,265,265,265,265,265,,265,265,265,,265,265,,265',
'265,265,,,,,,,,,,,,,,,,,,,,265,,,265,,,265,265,,,265,,,,,,265,,,,,,',
',265,,,,,265,265,265,265,265,265,,,,265,265,,,,,,,265,,,265,265,265',
',265,265,,,265,265,266,266,266,,266,,,,266,266,,,,266,,266,266,266,266',
'266,266,266,,,,,,266,266,266,266,266,266,266,,,266,,,,,,,266,,,266,266',
'266,266,266,266,266,266,,266,266,266,,266,266,,266,266,266,,,,,,,,,',
',,,,,,,,,,266,,,266,,,266,266,,,266,,,,,,266,,,,,,,,266,,,,,266,266',
'266,266,266,266,,,,266,266,,,,,,,266,,,266,266,266,,266,266,,,266,266',
'267,267,267,,267,,,,267,267,,,,267,,267,267,267,267,267,267,267,,,,',
',267,267,267,267,267,267,267,,,267,,,,,,,267,,,267,267,267,267,267,267',
'267,267,,267,267,267,,267,267,,267,267,267,,,,,,,,,,,,,,,,,,,,267,,',
'267,,,267,267,,,267,,,,,,267,,,,,,,,267,,,,,267,267,267,267,267,267',
',,,267,267,,,,,,,267,,,267,267,267,,267,267,,,267,267,268,268,268,,268',
',,,268,268,,,,268,,268,268,268,268,268,268,268,,,,,,268,268,268,268',
'268,268,268,,,268,,,,,,,268,,,268,268,268,268,268,268,268,268,,268,268',
'268,,268,268,,268,268,268,,,,,,,,,,,,,,,,,,,,268,,,268,,,268,268,,,268',
',,,,,268,,,,,,,,268,,,,,268,268,268,268,268,268,,,,268,268,,,,,,,268',
',,268,268,268,,268,268,,,268,268,269,269,269,,269,,,,269,269,,,,269',
',269,269,269,269,269,269,269,,,,,,269,269,269,269,269,269,269,,,269',
',,,,,,269,,,269,269,269,269,269,269,269,269,,269,269,269,,269,269,,269',
'269,269,,,,,,,,,,,,,,,,,,,,269,,,269,,,269,269,,,269,,,,,,269,,,,,,',
',269,,,,,269,269,269,269,269,269,,,,269,269,,,,,,,269,,,269,269,269',
',269,269,,,269,269,270,270,270,,270,,,,270,270,,,,270,,270,270,270,270',
'270,270,270,,,,,,270,270,270,270,270,270,270,,,270,,,,,,,270,,,270,270',
'270,270,270,270,270,270,,270,270,270,,270,270,,270,270,270,,,,,,,,,',
',,,,,,,,,,270,,,270,,,270,270,,,270,,,,,,270,,,,,,,,270,,,,,270,270',
'270,270,270,270,,,,270,270,,,,,,,270,,,270,270,270,,270,270,,,270,270',
'271,271,271,,271,,,,271,271,,,,271,,271,271,271,271,271,271,271,,,,',
',271,271,271,271,271,271,271,,,271,,,,,,,271,,,271,271,271,271,271,271',
'271,271,,271,271,271,,271,271,,271,271,271,,,,,,,,,,,,,,,,,,,,271,,',
'271,,,271,271,,,271,,,,,,271,,,,,,,,271,,,,,271,271,271,271,271,271',
',,,271,271,,,,,,,271,,,271,271,271,,271,271,,,271,271,272,272,272,,272',
',,,272,272,,,,272,,272,272,272,272,272,272,272,,,,,,272,272,272,272',
'272,272,272,,,272,,,,,,,272,,,272,272,272,272,272,272,272,272,,272,272',
'272,,272,272,,272,272,272,,,,,,,,,,,,,,,,,,,,272,,,272,,,272,272,,,272',
',,,,,272,,,,,,,,272,,,,,272,272,272,272,272,272,,,,272,272,,,,,,,272',
',,272,272,272,,272,272,,,272,272,277,277,277,,277,,,,277,277,,,,277',
',277,277,277,277,277,277,277,,,,,,277,277,277,277,277,277,277,,,277',
',,,,,,277,,,277,277,277,277,277,277,277,277,,277,277,277,,277,277,,277',
'277,277,,,,,,,,,,,,,,,,,,,,277,,,277,,,277,277,,,277,,,,,,277,,,,,,',
',277,,,,,277,277,277,277,277,277,,,,277,277,,,,,,,277,,,277,277,277',
',277,277,,,277,277,285,285,285,,285,,,,285,285,,,,285,,285,285,285,285',
'285,285,285,,,,,,285,285,285,285,285,285,285,,,285,,,,,,,285,,,285,285',
'285,285,285,285,285,285,285,285,285,285,,285,285,,285,285,285,,,,,,',
',,,,,,,,,,,,,285,,,285,,,285,285,,,285,,285,,285,,285,,,,,,,,285,,,',
',285,285,285,285,285,285,,,,285,285,,,,,,,285,,285,285,285,285,,285',
'285,,,285,285,286,286,286,,286,,,,286,286,,,,286,,286,286,286,286,286',
'286,286,,,,,,286,286,286,286,286,286,286,,,286,,,,,,,286,,,286,286,286',
'286,286,286,286,286,286,286,286,286,,286,286,,286,286,286,,,,,,,,,,',
',,,,,,,,,286,,,286,,,286,286,,,286,,286,,286,,286,,,,,,,,286,,,,,286',
'286,286,286,286,286,,,,286,286,,,,,,,286,,286,286,286,286,,286,286,',
',286,286,295,295,295,,295,,,,295,295,,,,295,,295,295,295,295,295,295',
'295,,,,,,295,295,295,295,295,295,295,,,295,,,,,,,295,,,295,295,295,295',
'295,295,295,295,295,295,295,295,,295,295,,295,295,295,,,,,,,,,,,,,,',
',,,,,295,,,295,,,295,295,,,295,,295,,295,,295,,,,,,,,295,,,,,295,295',
'295,295,295,295,,,,295,295,295,,,,,,295,,295,295,295,295,,295,295,,',
'295,295,302,302,302,,302,,,,302,302,,,,302,,302,302,302,302,302,302',
'302,,,,,,302,302,302,302,302,302,302,,,302,,,,,,,302,,,302,302,302,302',
'302,302,302,302,,302,302,302,,302,302,,302,302,302,,,,,,,,,,,,,,,,,',
',,302,,,302,,,302,302,,,302,,,,,,302,,,,,,,,302,,,,,302,302,302,302',
'302,302,,,,302,302,,,,,,,302,,,302,302,302,,302,302,,,302,302,304,304',
'304,,304,,,,304,304,,,,304,,304,304,304,304,304,304,304,,,,,,304,304',
'304,304,304,304,304,,,304,,,,,,,304,,,304,304,304,304,304,304,304,304',
',304,304,304,,304,304,,304,304,304,,,,,,,,,,,,,,,,,,,,304,,,304,,,304',
'304,,,304,,,,,,304,,,,,,,,304,,,,,304,304,304,304,304,304,,,,304,304',
',,,,,,304,,,304,304,304,,304,304,,,304,304,307,307,307,,307,,,,307,307',
',,,307,,307,307,307,307,307,307,307,,,,,,307,307,307,307,307,307,307',
',,307,,,,,,,307,,,307,307,307,307,307,307,307,307,,307,307,307,,307',
'307,,307,307,307,,,,,,,,,,,,,,,,,,,,307,,,307,,,307,307,,,307,,,,,,307',
',,,,,,,307,,,,,307,307,307,307,307,307,,,,307,307,,,,,,,307,,,307,307',
'307,,307,307,,,307,307,308,308,308,,308,,,,308,308,,,,308,,308,308,308',
'308,308,308,308,,,,,,308,308,308,308,308,308,308,,,308,,,,,,,308,,,308',
'308,308,308,308,308,308,308,,308,308,308,,308,308,,308,308,308,,,,,',
',,,,,,,,,,,,,,308,,,308,,,308,308,,,308,,,,,,308,,,,,,,,308,,,,,308',
'308,308,308,308,308,,,,308,308,,,,,,,308,,,308,308,308,,308,308,,,308',
'308,314,314,314,314,314,,,,314,314,,,,314,,314,314,314,314,314,314,314',
',,,,,314,314,314,314,314,314,314,,,314,,,,,,314,314,,314,314,314,314',
'314,314,314,314,314,,314,314,314,,314,314,,314,314,314,,,,,,,,,,,,,',
',,,,,,314,,,314,,,314,314,,,314,,314,,,,314,,,,,,,,314,,,,,314,314,314',
'314,314,314,,,,314,314,,,,,,,314,,,314,314,314,,314,314,,,314,314,348',
'348,348,,348,,,,348,348,,,,348,,348,348,348,348,348,348,348,,,,,,348',
'348,348,348,348,348,348,,,348,,,,,,,348,,,348,348,348,348,348,348,348',
'348,,348,348,348,,348,348,,348,348,348,,,,,,,,,,,,,,,,,,,,348,,,348',
',,348,348,,,348,,,,,,348,,,,,,,,348,,,,,348,348,348,348,348,348,,,,348',
'348,,,,,,,348,,,348,348,348,,348,348,,,348,348,350,350,350,,350,,,,350',
'350,,,,350,,350,350,350,350,350,350,350,,,,,,350,350,350,350,350,350',
'350,,,350,,,,,,,350,,,350,350,350,350,350,350,350,350,,350,350,350,',
'350,350,,350,350,350,,,,,,,,,,,,,,,,,,,,350,,,350,350,,350,350,,,350',
',,,,,350,,,,,,,,350,,,,,350,350,350,350,350,350,,,,350,350,,,,,,,350',
',,350,350,350,,350,350,,,350,350,354,354,354,,354,,,,354,354,,,,354',
',354,354,354,354,354,354,354,,,,,,354,354,354,354,354,354,354,,,354',
',,,,,,354,,,354,354,354,354,354,354,354,354,354,354,354,354,,354,354',
',354,354,354,,,,,,,,,,,,,,,,,,,,354,,,354,,,354,354,,,354,,354,,,,354',
',,,,,,,354,,,,,354,354,354,354,354,354,,,,354,354,,,,,,,354,,354,354',
'354,354,,354,354,,,354,354,355,355,355,,355,,,,355,355,,,,355,,355,355',
'355,355,355,355,355,,,,,,355,355,355,355,355,355,355,,,355,,,,,,,355',
',,355,355,355,355,355,355,355,355,355,355,355,355,,355,355,,355,355',
'355,,,,,,,,,,,,,,,,,,,,355,,,355,,,355,355,,,355,,,,,,355,,,,,,,,355',
',,,,355,355,355,355,355,355,,,,355,355,,,,,,,355,,355,355,355,355,,355',
'355,,,355,355,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,,,,,,360,,,,,,,,360,,,,,360,360,360',
'360,360,360,,,,360,360,,,,,,,360,,,360,360,360,,360,360,,,360,360,436',
'436,436,,436,,,,436,436,,,,436,,436,436,436,436,436,436,436,,,,,,436',
'436,436,436,436,436,436,,,436,,,,,,,436,,,436,436,436,436,436,436,436',
'436,,436,436,436,,436,436,,436,436,436,,,,,,,,,,,,,,,,,,,,436,,,436',
',,436,436,,,436,,,,,,436,,,,,,,,436,,,,,436,436,436,436,436,436,,,,436',
'436,,,,,,,436,,,436,436,436,470,436,436,,,436,436,470,470,470,,,470',
'470,470,1075,470,1075,1075,1075,1075,1075,,,470,470,470,470,470,,,1075',
',,,,470,470,,470,470,470,470,470,,,,,,,,,,1075,,,,,,,,,1075,1075,1075',
'1075,,470,470,470,470,470,470,470,470,470,470,470,470,470,470,,,470',
'470,470,,,470,,,470,,,470,470,,470,1075,470,,470,,470,470,470,470,470',
'470,470,,470,470,470,1079,,1079,1079,1079,1079,1079,,,,,,470,470,470',
'470,1079,470,471,470,,,,,470,471,471,471,470,,471,471,471,,471,,,,1079',
',,,471,471,471,471,471,,,1079,1079,,,,471,471,,471,471,471,471,471,',
',,,,,,,,,,,,,,,,,,,,1079,,471,471,471,471,471,471,471,471,471,471,471',
'471,471,471,,,471,471,471,,,471,,,471,,,471,471,,471,,471,,471,,471',
'471,471,471,471,471,471,,471,471,471,,,,,,,,,,,,,471,471,471,471,,471',
',471,,480,480,480,471,480,,,471,480,480,,,,480,,480,480,480,480,480',
'480,480,,,,,,480,480,480,480,480,480,480,,,480,,,,,,,480,,,480,480,480',
'480,480,480,480,480,480,480,480,480,,480,480,,480,480,480,,,,,,,,,,',
',,,,,,,,,480,,,480,,,480,480,,,480,,480,,480,,480,,,,,,,,480,,,,,480',
'480,480,480,480,480,,,,480,480,,,,,,,480,,480,480,480,480,,480,480,',
',480,480,482,482,482,,482,,,,482,482,,,,482,,482,482,482,482,482,482',
'482,,,,,,482,482,482,482,482,482,482,,,482,,,,,,,482,,,482,482,482,482',
'482,482,482,482,,482,482,482,,482,482,,482,482,482,,,,,,,,,,,,,,,,,',
',,482,,,482,,,482,482,,,482,,,,,,482,,,,,,,,482,,,,,482,482,482,482',
'482,482,,,,482,482,,,,,,,482,,,482,482,482,,482,482,,,482,482,483,483',
'483,,483,,,,483,483,,,,483,,483,483,483,483,483,483,483,,,,,,483,483',
'483,483,483,483,483,,,483,,,,,,,483,,,483,483,483,483,483,483,483,483',
',483,483,483,,483,483,,483,483,483,,,,,,,,,,,,,,,,,,,,483,,,483,,,483',
'483,,,483,,,,,,483,,,,,,,,483,,,,,483,483,483,483,483,483,,,,483,483',
',,,,,,483,,,483,483,483,,483,483,,,483,483,484,484,484,,484,,,,484,484',
',,,484,,484,484,484,484,484,484,484,,,,,,484,484,484,484,484,484,484',
',,484,,,,,,,484,,,484,484,484,484,484,484,484,484,,484,484,484,,484',
'484,,484,484,484,,,,,,,,,,,,,,,,,,,,484,,,484,,,484,484,,,484,,,,,,484',
',,,,,,,484,,,,,484,484,484,484,484,484,,,,484,484,,,,,,,484,,,484,484',
'484,511,484,484,,,484,484,511,511,511,,,511,511,511,,511,709,709,709',
'709,,,,511,511,511,,,,,,,709,709,709,511,511,,511,511,511,511,511,,',
'709,709,,,,709,,,,,,1081,,1081,1081,1081,1081,1081,,,,,,,,,,1081,,,',
',511,,,,,,,511,,,,,511,511,,,,1081,,,,,709,709,709,709,709,709,1081',
'1081,,709,709,,511,511,,,,709,,,709,709,709,,709,709,511,,516,516,516',
'511,516,,,,516,516,511,,1081,516,511,516,516,516,516,516,516,516,,,',
',,516,516,516,516,516,516,516,,,516,,,,,,,516,,,516,516,516,516,516',
'516,516,516,,516,516,516,,516,516,,516,516,516,,,,,,,,,,,,,,,,,,,,516',
',,516,,,516,516,,,516,,,,,,516,,,,,,,,516,,,,,516,516,516,516,516,516',
',,,516,516,,,,,,,516,,,516,516,516,,516,516,,,516,516,526,526,526,,526',
',,,526,526,,,,526,,526,526,526,526,526,526,526,,,,,,526,526,526,526',
'526,526,526,,,526,,,,,,,526,,,526,526,526,526,526,526,526,526,526,526',
'526,526,,526,526,,526,526,526,,,,,,,,,,,,,,,,,,,,526,,,526,,,526,526',
',,526,,526,,526,,526,,,,,,,,526,,,,,526,526,526,526,526,526,,,,526,526',
',,,,,,526,,526,526,526,526,,526,526,,,526,526,529,529,529,,529,,,,529',
'529,,,,529,,529,529,529,529,529,529,529,,,,,,529,529,529,529,529,529',
'529,,,529,,,,,,,529,,,529,529,529,529,529,529,529,529,529,529,529,529',
',529,529,,529,529,529,,,,,,,,,,,,,,,,,,,,529,,,529,,,529,529,,,529,',
',,529,,529,,,,,,,,529,,,,,529,529,529,529,529,529,,,,529,529,,,,,,,529',
',529,529,529,529,,529,529,,,529,529,531,531,531,,531,,,,531,531,,,,531',
',531,531,531,531,531,531,531,,,,,,531,531,531,531,531,531,531,,,531',
',,,,,,531,,,531,531,531,531,531,531,531,531,,531,531,531,,531,531,,531',
'531,531,,,,,,,,,,,,,,,,,,,,531,,,531,,,531,531,,,531,,,,,,531,,,,,,',
',531,,,,,531,531,531,531,531,531,,,,531,531,,,,,,,531,,,531,531,531',
',531,531,,,531,531,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,537,,,,537,537,,,,,,537,537,,,537,537,537',
',537,537,,,537,537,547,547,547,,547,,,,547,547,,,,547,,547,547,547,547',
'547,547,547,,,,,,547,547,547,547,547,547,547,,,547,,,,,,,547,,,547,547',
'547,547,547,547,547,547,547,547,547,547,,547,547,,547,547,547,,,,,,',
',,,,,,,,,,,,,547,,,547,,,547,547,,,547,,547,,547,,547,,,,,,,,547,,,',
',547,547,547,547,547,547,,,,547,547,,,,,,,547,,547,547,547,547,,547',
'547,,,547,547,556,556,556,,556,,,,556,556,,,,556,,556,556,556,556,556',
'556,556,,,,,,556,556,556,556,556,556,556,,,556,,,,,,,556,,,556,556,556',
'556,556,556,556,556,,556,556,556,,556,556,,556,556,556,,,,,,,,,,,,,',
',,,,,,556,,,556,,,556,556,,,556,,,,,,556,,,,,,,,556,,,,,556,556,556',
'556,556,556,,,,556,556,,,,,,,556,,,556,556,556,,556,556,,,556,556,559',
'559,559,,559,,,,559,559,,,,559,,559,559,559,559,559,559,559,,,,,,559',
'559,559,559,559,559,559,,,559,,,,,,,559,,,559,559,559,559,559,559,559',
'559,,559,559,559,,559,559,,559,559,559,,,,,,,,,,,,,,,,,,,,559,,,559',
',,559,559,,,559,,,,,,559,,,,,,,,559,,,,,559,559,559,559,559,559,,,,559',
'559,,,,,,,559,,,559,559,559,,559,559,,,559,559,562,562,562,,562,,,,562',
'562,,,,562,,562,562,562,562,562,562,562,,,,,,562,562,562,562,562,562',
'562,,,562,,,,,,,562,,,562,562,562,562,562,562,562,562,,562,562,562,',
'562,562,,562,562,562,,,,,,,,,,,,,,,,,,,,562,,,562,,,562,562,,,562,,',
',,,562,,,,,,,,562,,,,,562,562,562,562,562,562,,,,562,562,,,,,,,562,',
',562,562,562,,562,562,,,562,562,586,586,586,,586,,,,586,586,,,,586,',
'586,586,586,586,586,586,586,,,,,,586,586,586,586,586,586,586,,,586,',
',,,,,586,,,586,586,586,586,586,586,586,586,586,586,586,586,,586,586',
',586,586,586,,,,,,,,,,,,,,,,,,,,586,,,586,,,586,586,,,586,,586,,586',
',586,,,,,,,,586,,,,,586,586,586,586,586,586,,,,586,586,,,,,,,586,,586',
'586,586,586,,586,586,,,586,586,598,598,598,,598,,,,598,598,,,,598,,598',
'598,598,598,598,598,598,,,,,,598,598,598,598,598,598,598,,,598,,,,,',
',598,,,598,598,598,598,598,598,598,598,,598,598,598,,598,598,,598,598',
'598,,,,,,,,,,,,,,,,,,,,598,,,598,,,598,598,,,598,,,,,,598,,,,,,,,598',
',,,,598,598,598,598,598,598,,,,598,598,,,,,,,598,,,598,598,598,,598',
'598,,,598,598,604,604,604,,604,,,,604,604,,,,604,,604,604,604,604,604',
'604,604,,,,,,604,604,604,604,604,604,604,,,604,,,,,,,604,,,604,604,604',
'604,604,604,604,604,,604,604,604,,604,604,,604,604,604,,,,,,,,,,,,,',
',,,,,,604,,,604,,,604,604,,,604,,,,,,604,,,,,,,,604,,,,,604,604,604',
'604,604,604,,,,604,604,,,,,,,604,,,604,604,604,,604,604,,,604,604,627',
'627,627,,627,,,,627,627,,,,627,,627,627,627,627,627,627,627,,,,,,627',
'627,627,627,627,627,627,,,627,,,,,,,627,,,627,627,627,627,627,627,627',
'627,,627,627,627,,627,627,,627,627,627,,,,,,,,,,,,,,,,,,,,627,,,627',
',,627,627,,,627,,,,,,627,,,,,,,,627,,,,,627,627,627,627,627,627,,,,627',
'627,,,,,,,627,,,627,627,627,,627,627,,,627,627,666,666,666,666,666,',
',,666,666,,,,666,,666,666,666,666,666,666,666,,,,,,666,666,666,666,666',
'666,666,,,666,,,,,,666,666,,666,666,666,666,666,666,666,666,666,,666',
'666,666,,666,666,,666,666,666,,,,,,,,,,,,,,,,,,,,666,,,666,,,666,666',
',,666,,666,,,,666,,,,,,,,666,,,,,666,666,666,666,666,666,,,,666,666',
',,,,,,666,,,666,666,666,,666,666,,,666,666,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,,,669,669,670,670,670,,670,,,,670,670,,,,670,,670,670,670,670,670',
'670,670,,,,,,670,670,670,670,670,670,670,,,670,,,,,,,670,,,670,670,670',
'670,670,670,670,670,670,670,670,670,,670,670,,670,670,670,,,,,,,,,,',
',,,,,,,,,670,,,670,,,670,670,,,670,,670,,670,,670,,,,,,,,670,,,,,670',
'670,670,670,670,670,,,,670,670,,,,,,,670,,670,670,670,670,,670,670,',
',670,670,673,673,673,673,673,,,,673,673,,,,673,,673,673,673,673,673',
'673,673,,,,,,673,673,673,673,673,673,673,,,673,,,,,,673,673,,673,673',
'673,673,673,673,673,673,673,,673,673,673,,673,673,,673,673,673,,,,,',
',,,,,,,,,,,,,,673,,,673,,,673,673,,,673,,673,,,,673,,,,,,,,673,,,,,673',
'673,673,673,673,673,,,,673,673,,,,,,,673,,,673,673,673,,673,673,,,673',
'673,674,674,674,,674,,,,674,674,,,,674,,674,674,674,674,674,674,674',
',,,,,674,674,674,674,674,674,674,,,674,,,,,,,674,,,674,674,674,674,674',
'674,674,674,,674,674,674,,674,674,,674,674,674,,,,,,,,,,,,,,,,,,,,674',
',,674,,,674,674,,,674,,,,,,674,,,,,,,,674,,,,,674,674,674,674,674,674',
',,,674,674,,,,,,,674,,,674,674,674,,674,674,,,674,674,677,677,677,,677',
',,,677,677,,,,677,,677,677,677,677,677,677,677,,,,,,677,677,677,677',
'677,677,677,,,677,,,,,,,677,,,677,677,677,677,677,677,677,677,677,677',
'677,677,,677,677,,677,677,677,,,,,,,,,,,,,,,,,,,,677,,,677,,,677,677',
',,677,,677,,677,,677,,,,,,,,677,,,,,677,677,677,677,677,677,,,,677,677',
',,,,,,677,,677,677,677,677,,677,677,,,677,677,678,678,678,,678,,,,678',
'678,,,,678,,678,678,678,678,678,678,678,,,,,,678,678,678,678,678,678',
'678,,,678,,,,,,,678,,,678,678,678,678,678,678,678,678,678,678,678,678',
',678,678,,678,678,678,,,,,,,,,,,,,,,,,,,,678,,,678,,,678,678,,,678,',
',,678,,678,,,,,,,,678,,,,,678,678,678,678,678,678,,,,678,678,,,,,,,678',
',678,678,678,678,,678,678,,,678,678,679,679,679,,679,,,,679,679,,,,679',
',679,679,679,679,679,679,679,,,,,,679,679,679,679,679,679,679,,,679',
',,,,,,679,,,679,679,679,679,679,679,679,679,,679,679,679,,679,679,,679',
'679,679,,,,,,,,,,,,,,,,,,,,679,,,679,,,679,679,,,679,,,,,,679,,,,,,',
',679,,,,,679,679,679,679,679,679,,,,679,679,,,,,,,679,,,679,679,679',
',679,679,,,679,679,680,680,680,,680,,,,680,680,,,,680,,680,680,680,680',
'680,680,680,,,,,,680,680,680,680,680,680,680,,,680,,,,,,,680,,,680,680',
'680,680,680,680,680,680,,680,680,680,,680,680,,680,680,680,,,,,,,,,',
',,,,,,,,,,680,,,680,,,680,680,,,680,,,,,,680,,,,,,,,680,,,,,680,680',
'680,680,680,680,,,,680,680,,,,,,,680,,,680,680,680,,680,680,,,680,680',
'685,685,685,,685,,,,685,685,,,,685,,685,685,685,685,685,685,685,,,,',
',685,685,685,685,685,685,685,,,685,,,,,,,685,,,685,685,685,685,685,685',
'685,685,,685,685,685,,685,685,,685,685,685,,,,,,,,,,,,,,,,,,,,685,,',
'685,,,685,685,,,685,,,,,,685,,,,,,,,685,,,,,685,685,685,685,685,685',
',,,685,685,,,,,,,685,,,685,685,685,,685,685,,,685,685,686,686,686,,686',
',,,686,686,,,,686,,686,686,686,686,686,686,686,,,,,,686,686,686,686',
'686,686,686,,,686,,,,,,,686,,,686,686,686,686,686,686,686,686,,686,686',
'686,,686,686,,686,686,686,,,,,,,,,,,,,,,,,,,,686,,,686,,,686,686,,,686',
',,,,,686,,,,,,,,686,,,,,686,686,686,686,686,686,,,,686,686,,,,,,,686',
',,686,686,686,,686,686,,,686,686,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,,731,731,,,731,731,740,740,740,,740,,,,740,740,,,,740,,740',
'740,740,740,740,740,740,,,,,,740,740,740,740,740,740,740,,,740,,,,,',
',740,,,740,740,740,740,740,740,740,740,,740,740,740,,740,740,,740,740',
'740,,,,,,,,,,,,,,,,,,,,740,,,740,,,740,740,,,740,,,,,,740,,,,,,,,740',
',,,,740,740,740,740,740,740,,,,740,740,,,,,,,740,,,740,740,740,,740',
'740,,,740,740,743,743,743,,743,,,,743,743,,,,743,,743,743,743,743,743',
'743,743,,,,,,743,743,743,743,743,743,743,,,743,,,,,,,743,,,743,743,743',
'743,743,743,743,743,,743,743,743,,743,743,,743,743,743,,,,,,,,,,,,,',
',,,,,,743,,,743,,,743,743,,,743,,,,,,743,,,,,,,,743,,,,,743,743,743',
'743,743,743,,,,743,743,,,,,,,743,,,743,743,743,,743,743,,,743,743,764',
'764,764,,764,,,,764,764,,,,764,,764,764,764,764,764,764,764,,,,,,764',
'764,764,764,764,764,764,,,764,,,,,,,764,,,764,764,764,764,764,764,764',
'764,,764,764,764,,764,764,,764,764,764,,,,,,,,,,,,,,,,,,,,764,,,764',
',,764,764,,,764,,764,,,,764,,,,,,,,764,,,,,764,764,764,764,764,764,',
',,764,764,,,,,,,764,,,764,764,764,,764,764,,,764,764,769,769,769,,769',
',,,769,769,,,,769,,769,769,769,769,769,769,769,,,,,,769,769,769,769',
'769,769,769,,,769,,,,,,,769,,,769,769,769,769,769,769,769,769,769,769',
'769,769,,769,769,,769,769,769,,,,,,,,,,,,,,,,,,,,769,,,769,,,769,769',
',,769,,769,,,,769,,,,,,,,769,,,,,769,769,769,769,769,769,,,,769,769',
',,,,,,769,,769,769,769,769,,769,769,,,769,769,772,772,772,,772,,,,772',
'772,,,,772,,772,772,772,772,772,772,772,,,,,,772,772,772,772,772,772',
'772,,,772,,,,,,,772,,,772,772,772,772,772,772,772,772,772,772,772,772',
',772,772,,772,772,772,,,,,,,,,,,,,,,,,,,,772,,,772,,,772,772,,,772,',
',,,,772,,,,,,,,772,,,,,772,772,772,772,772,772,,,,772,772,,,,,,,772',
',772,772,772,772,,772,772,,,772,772,788,788,788,,788,,,,788,788,,,,788',
',788,788,788,788,788,788,788,,,,,,788,788,788,788,788,788,788,,,788',
',,,,,,788,,,788,788,788,788,788,788,788,788,,788,788,788,,788,788,,788',
'788,788,,,,,,,,,,,,,,,,,,,,788,,,788,,,788,788,,,788,,788,,,,788,,,',
',,,,788,,,,,788,788,788,788,788,788,,,,788,788,,,,,,,788,,,788,788,788',
',788,788,,,788,788,800,800,800,,800,,,,800,800,,,,800,,800,800,800,800',
'800,800,800,,,,,,800,800,800,800,800,800,800,,,800,,,,,,,800,,,800,800',
'800,800,800,800,800,800,800,800,800,800,,800,800,,800,800,800,,,,,,',
',,,,,,,,,,,,,800,,,800,,,800,800,,,800,,800,,800,,800,,,,,,,,800,,,',
',800,800,800,800,800,800,,,,800,800,,,,,,,800,,800,800,800,800,,800',
'800,,,800,800,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,,,824,824,848',
'848,848,,848,,,,848,848,,,,848,,848,848,848,848,848,848,848,,,,,,848',
'848,848,848,848,848,848,,,848,,,,,,,848,,,848,848,848,848,848,848,848',
'848,,848,848,848,,848,848,,848,848,848,,,,,,,,,,,,,,,,,,,,848,,,848',
',,848,848,,,848,,,,,,848,,,,,,,,848,,,,,848,848,848,848,848,848,,,,848',
'848,,,,,,,848,,,848,848,848,,848,848,,,848,848,856,856,856,,856,,,,856',
'856,,,,856,,856,856,856,856,856,856,856,,,,,,856,856,856,856,856,856',
'856,,,856,,,,,,,856,,,856,856,856,856,856,856,856,856,,856,856,856,',
'856,856,,856,856,856,,,,,,,,,,,,,,,,,,,,856,,,856,,,856,856,,,856,,',
',,,856,,,,,,,,856,,,,,856,856,856,856,856,856,,,,856,856,,,,,,,856,',
',856,856,856,,856,856,,,856,856,869,869,869,,869,,,,869,869,,,,869,',
'869,869,869,869,869,869,869,,,,,,869,869,869,869,869,869,869,,,869,',
',,,,,869,,,869,869,869,869,869,869,869,869,,869,869,869,,869,869,,869',
'869,869,,,,,,,,,,,,,,,,,,,,869,,,869,,,869,869,,,869,,,,,,869,,,,,,',
',869,,,,,869,869,869,869,869,869,,,,869,869,,,,,,,869,,,869,869,869',
',869,869,,,869,869,870,870,870,,870,,,,870,870,,,,870,,870,870,870,870',
'870,870,870,,,,,,870,870,870,870,870,870,870,,,870,,,,,,,870,,,870,870',
'870,870,870,870,870,870,,870,870,870,,870,870,,870,870,870,,,,,,,,,',
',,,,,,,,,,870,,,870,,,870,870,,,870,,,,,,870,,,,,,,,870,,,,,870,870',
'870,870,870,870,,,,870,870,,,,,,,870,,,870,870,870,,870,870,,,870,870',
'871,871,871,,871,,,,871,871,,,,871,,871,871,871,871,871,871,871,,,,',
',871,871,871,871,871,871,871,,,871,,,,,,,871,,,871,871,871,871,871,871',
'871,871,,871,871,871,,871,871,,871,871,871,,,,,,,,,,,,,,,,,,,,871,,',
'871,,,871,871,,,871,,,,,,871,,,,,,,,871,,,,,871,871,871,871,871,871',
',,,871,871,,,,,,,871,,,871,871,871,,871,871,,,871,871,872,872,872,,872',
',,,872,872,,,,872,,872,872,872,872,872,872,872,,,,,,872,872,872,872',
'872,872,872,,,872,,,,,,,872,,,872,872,872,872,872,872,872,872,,872,872',
'872,,872,872,,872,872,872,,,,,,,,,,,,,,,,,,,,872,,,872,,,872,872,,,872',
',,,,,872,,,,,,,,872,,,,,872,872,872,872,872,872,,,,872,872,,,,,,,872',
',,872,872,872,,872,872,,,872,872,894,894,894,,894,,,,894,894,,,,894',
',894,894,894,894,894,894,894,,,,,,894,894,894,894,894,894,894,,,894',
',,,,,,894,,,894,894,894,894,894,894,894,894,,894,894,894,,894,894,,894',
'894,894,,,,,,,,,,,,,,,,,,,,894,,,894,,,894,894,,,894,,,,,,894,,,,,,',
',894,,,,,894,894,894,894,894,894,,,,894,894,,,,,,,894,,,894,894,894',
',894,894,,,894,894,928,928,928,,928,,,,928,928,,,,928,,928,928,928,928',
'928,928,928,,,,,,928,928,928,928,928,928,928,,,928,,,,,,,928,,,928,928',
'928,928,928,928,928,928,,928,928,928,,928,928,,928,928,928,,,,,,,,,',
',,,,,,,,,,928,,,928,,,928,928,,,928,,,,,,928,,,,,,,,928,,,,,928,928',
'928,928,928,928,,,,928,928,,,,,,,928,,,928,928,928,,928,928,,,928,928',
'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,946,946,946,,946',
',,,946,946,,,,946,,946,946,946,946,946,946,946,,,,,,946,946,946,946',
'946,946,946,,,946,,,,,,,946,,,946,946,946,946,946,946,946,946,,946,946',
'946,,946,946,,946,946,946,,,,,,,,,,,,,,,,,,,,946,,,946,,,946,946,,,946',
',,,,,946,,,,,,,,946,,,,,946,946,946,946,946,946,,,,946,946,,,,,,,946',
',,946,946,946,,946,946,,,946,946,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,,,,,,,992,,992,992',
'992,992,,992,992,,,992,992,993,993,993,,993,,,,993,993,,,,993,,993,993',
'993,993,993,993,993,,,,,,993,993,993,993,993,993,993,,,993,,,,,,,993',
',,993,993,993,993,993,993,993,993,,993,993,993,,993,993,,993,993,993',
',,,,,,,,,,,,,,,,,,,993,,,993,,,993,993,,,993,,,,,,993,,,,,,,,993,,,',
',993,993,993,993,993,993,,,,993,993,,,,,,,993,,,993,993,993,,993,993',
',,993,993,1056,1056,1056,,1056,,,,1056,1056,,,,1056,,1056,1056,1056',
'1056,1056,1056,1056,,,,,,1056,1056,1056,1056,1056,1056,1056,,,1056,',
',,,,,1056,,,1056,1056,1056,1056,1056,1056,1056,1056,,1056,1056,1056',
',1056,1056,,1056,1056,1056,,,,,,,,,,,,,,,,,,,,1056,,,1056,,,1056,1056',
',,1056,,1056,,,,1056,,,,,,,,1056,,,,,1056,1056,1056,1056,1056,1056,',
',,1056,1056,,,,,,,1056,,,1056,1056,1056,,1056,1056,,,1056,1056,1133',
'1133,1133,,1133,,,,1133,1133,,,,1133,,1133,1133,1133,1133,1133,1133',
'1133,,,,,,1133,1133,1133,1133,1133,1133,1133,,,1133,,,,,,,1133,,,1133',
'1133,1133,1133,1133,1133,1133,1133,,1133,1133,1133,,1133,1133,,1133',
'1133,1133,,,,,,,,,,,,,,,,,,,,1133,,,1133,,,1133,1133,,,1133,,,,,,1133',
',,,,,,,1133,,,,,1133,1133,1133,1133,1133,1133,,,,1133,1133,,,,,,,1133',
',,1133,1133,1133,,1133,1133,,,1133,1133,1134,1134,1134,,1134,,,,1134',
'1134,,,,1134,,1134,1134,1134,1134,1134,1134,1134,,,,,,1134,1134,1134',
'1134,1134,1134,1134,,,1134,,,,,,,1134,,,1134,1134,1134,1134,1134,1134',
'1134,1134,,1134,1134,1134,,1134,1134,,1134,1134,1134,,,,,,,,,,,,,,,',
',,,,1134,,,1134,,,1134,1134,,,1134,,,,,,1134,,,,,,,,1134,,,,,1134,1134',
'1134,1134,1134,1134,,,,1134,1134,,,,,,,1134,,,1134,1134,1134,,1134,1134',
',,1134,1134,1137,1137,1137,,1137,,,,1137,1137,,,,1137,,1137,1137,1137',
'1137,1137,1137,1137,,,,,,1137,1137,1137,1137,1137,1137,1137,,,1137,',
',,,,,1137,,,1137,1137,1137,1137,1137,1137,1137,1137,,1137,1137,1137',
',1137,1137,,1137,1137,1137,,,,,,,,,,,,,,,,,,,,1137,,,1137,,,1137,1137',
',,1137,,,,,,1137,,,,,,,,1137,,,,,1137,1137,1137,1137,1137,1137,,,,1137',
'1137,,,,,,,1137,,,1137,1137,1137,,1137,1137,,,1137,1137,1180,1180,1180',
',1180,,,,1180,1180,,,,1180,,1180,1180,1180,1180,1180,1180,1180,,,,,',
'1180,1180,1180,1180,1180,1180,1180,,,1180,,,,,,,1180,,,1180,1180,1180',
'1180,1180,1180,1180,1180,1180,1180,1180,1180,,1180,1180,,1180,1180,1180',
',,,,,,,,,,,,,,,,,,,1180,,,1180,,,1180,1180,,,1180,,1180,,1180,,1180',
',,,,,,,1180,,,,,1180,1180,1180,1180,1180,1180,,,,1180,1180,,,,,,,1180',
',1180,1180,1180,1180,,1180,1180,,,1180,1180,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,,,,,,1115,,1115,1115',
'1115,1115,1115,,,,,,,,37,,1115,37,,,37,37,,,37,,37,,,,,,,,,,,,1115,',
',,,37,37,37,37,37,37,1115,1115,,37,37,,,,,,,37,,,37,37,37,,37,37,38',
'38,38,,38,,,,38,38,,,,38,1115,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,,,,,,1198,,1198,1198,1198,1198,1198,,,,,,,,38,,1198,38,,,38,38,',
',38,,,,,,,,,,,,,,1198,,,,,38,38,38,38,38,38,1198,1198,,38,38,,,,38,',
',38,,,38,38,38,,38,38,74,74,74,,74,,,,74,74,,,,74,1198,74,74,74,74,74',
'74,74,,,,,,74,74,74,74,74,74,74,,,74,,,,,,,74,,,74,74,74,74,74,74,74',
'74,,74,74,74,,74,74,,,,74,,,,,,1211,,1211,1211,1211,1211,1211,,,,,,',
',74,,1211,74,,,74,74,,,74,,74,,,,,,,,,,,,1211,,,,,74,74,74,74,74,74',
'1211,1211,,74,74,,,,,,,74,,,74,74,74,,74,74,322,322,322,,322,,,,322',
'322,,,,322,1211,322,322,322,322,322,322,322,,,,,,322,322,322,322,322',
'322,322,,,322,,,,,,,322,,,322,322,322,322,322,322,322,322,,322,322,322',
',322,322,,,,322,,,,,,1213,,1213,1213,1213,1213,1213,,,,,,,,322,,1213',
'322,,,322,322,,,322,,,,,,,,,,,,,,1213,,,,,322,322,322,322,322,322,1213',
'1213,,322,322,,,,322,,,322,,,322,322,322,,322,322,339,339,339,,339,',
',,339,339,,,,339,1213,339,339,339,339,339,339,339,,,,,,339,339,339,339',
'339,339,339,,,339,,,,,,,339,,,339,339,339,339,339,339,339,339,,339,339',
'339,,339,339,,,,339,,,,,,1215,,1215,1215,1215,1215,1215,,,,,,,,339,',
'1215,339,,,339,339,,,339,,,,,,,,,,,,,,1215,,,,,339,339,339,339,339,339',
'1215,1215,,339,339,,,,,,,339,,,339,339,339,,339,339,374,374,374,,374',
',,,374,374,,,,374,1215,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,,,,,,1243,,1243,1243,1243,1243,1243,,,,,,,,374',
',1243,374,,,374,374,,,374,,,,,,,,,,,,,,1243,,,,,374,374,374,374,374',
'374,1243,1243,,374,374,,,,,,,374,,,374,374,374,,374,374,376,376,376',
',376,,,,376,376,,,,376,1243,376,376,376,376,376,376,376,,,,,,376,376',
'376,376,376,376,376,,,376,,,,,,,376,,,376,376,376,376,376,376,376,376',
',376,376,376,,376,376,,,,376,,,,,,,,,,,,,,,,,,,,376,,,376,,,376,376',
',,376,,,,,,,,,,,,,,,,,,,376,376,376,376,376,376,,,,376,376,,,,,,,376',
',,376,376,376,,376,376,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,553,553,553,,553',
',,,553,553,,,,553,,553,553,553,553,553,553,553,,,,,,553,553,553,553',
'553,553,553,,,553,,,,,,,553,,,553,553,553,553,553,553,553,553,,553,553',
'553,,553,553,,,,553,,,,,,,,,,,,,,,,,,,,553,,,553,,,553,553,,,553,,,',
',,,,,,,,,,,,,,,553,553,553,553,553,553,,,,553,553,,,,,,,553,,,553,553',
'553,,553,553,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,758,758,758,,758,,,,758',
'758,,,,758,,758,758,758,758,758,758,758,,,,,,758,758,758,758,758,758',
'758,,,758,,,,,,,758,,,758,758,758,758,758,758,758,758,,758,758,758,',
'758,758,,,,758,,,,,,,,,,,,,,,,,,,,758,,,758,,,758,758,,,758,,,,,,,,',
',,,,,,,,,,758,758,758,758,758,758,,,,758,758,,,,,,,758,,,758,758,758',
',758,758,1033,1033,1033,,1033,,,,1033,1033,,,,1033,,1033,1033,1033,1033',
'1033,1033,1033,,,,,,1033,1033,1033,1033,1033,1033,1033,,,1033,,,,,,',
'1033,,,1033,1033,1033,1033,1033,1033,1033,1033,,1033,1033,1033,,1033',
'1033,,,,1033,,,,,,,,,,,,,,,,,,,,1033,,,1033,,,1033,1033,,,1033,,,,,',
',,,,,,,,,,,,,1033,1033,1033,1033,1033,1033,,,,1033,1033,,,,,,,1033,',
',1033,1033,1033,,1033,1033,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,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,,1043,1043,1119,1119,1119,,1119,,,,1119',
'1119,,,,1119,,1119,1119,1119,1119,1119,1119,1119,,,,,,1119,1119,1119',
'1119,1119,1119,1119,,,1119,,,,,,,1119,,,1119,1119,1119,1119,1119,1119',
'1119,1119,,1119,1119,1119,,1119,1119,,,,1119,,,,,,,,,,,,,,,,,,,,1119',
',,1119,,,1119,1119,,,1119,,,,,,,,,,,,,,,,,,,1119,1119,1119,1119,1119',
'1119,,,,1119,1119,,,,,,,1119,,,1119,1119,1119,,1119,1119,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,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77',
'77,77,77,77,77,,,,77,77,77,77,77,77,77,77,77,77,,,,,,77,77,77,77,77',
'77,77,77,77,77,77,77,,77,,,,,,,77,77,,77,77,77,77,77,77,77,,,77,77,',
',,77,77,77,77,,,,,,77,,,,,,,,77,77,,77,77,77,77,77,77,77,77,77,77,77',
',,77,,,,,,,,,,,,,,,,,,,,77,107,107,107,107,107,107,107,107,107,107,107',
'107,107,107,107,107,107,107,107,107,107,107,107,107,,,,107,107,107,107',
'107,107,107,107,107,107,,,,,,107,107,107,107,107,107,107,107,107,107',
'107,107,,107,,,,,,,107,107,,107,107,107,107,107,107,107,,,107,107,,',
',107,107,107,107,,,,,,,,,,,,,,107,107,,107,107,107,107,107,107,107,107',
'107,107,107,,,107,,,,,,,,,,,,,,,,,,,,107,427,427,427,427,427,427,427',
'427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427',
',,,427,427,427,427,427,427,427,427,427,427,,,,,,427,427,427,427,427',
'427,427,427,427,,,427,,,,,,,,,427,427,,427,427,427,427,427,427,427,',
',427,427,,,,427,427,427,427,,,,,,,,,,,,,,427,427,,427,427,427,427,427',
'427,427,427,427,427,427,,,427,427,,,,,,,,,,427,,,,,,,,,427,664,664,664',
'664,664,664,664,664,664,664,664,664,664,664,664,664,664,664,664,664',
'664,664,664,664,,,,664,664,664,664,664,664,664,664,664,664,,,,,,664',
'664,664,664,664,664,664,664,664,,,664,,,,,,,,,664,664,,664,664,664,664',
'664,664,664,,,664,664,,,,664,664,664,664,,,,,,,,,,,,,,664,664,,664,664',
'664,664,664,664,664,664,664,664,664,,,664,664,,,,,,,,,,664,,,,,,,,,664',
'809,809,809,809,809,809,809,809,809,809,809,809,809,809,809,809,809',
'809,809,809,809,809,809,809,,,,809,809,809,809,809,809,809,809,809,809',
',,,,,809,809,809,809,809,809,809,809,809,,,809,,,,,,,,,809,809,,809',
'809,809,809,809,809,809,,,809,809,,,,809,809,809,809,,,,,,,,,,,,,,809',
'809,,809,809,809,809,809,809,809,809,809,809,809,,,809,,,,,485,485,485',
'485,,,,,,,,,,,,809,485,485,485,485,,,,485,,,,,,485,485,,,,485,,,,,,',
',,,,,,,,,,,,,485,,,485,,,,485,,,485,,,,,,,,,,,,,,,485,,,,485,485,485',
'485,485,485,,,,485,485,,,,,,,485,,,485,485,485,,485,485,,,485,485,875',
'875,875,875,,,,,,,,,,,,,875,875,875,875,,,,875,,,,,,875,875,,,,875,',
',,,,,,,,,,,,,,,,,,875,,,875,,,,875,,,875,,,,,,,,,,,,,,,875,,,,875,875',
'875,875,875,875,,,,875,875,,,,,,,875,,,875,875,875,,875,875,,,875,875',
'878,878,878,878,,,,,,,,,,,,,878,878,878,878,,,,878,878,,,,,878,878,',
',,878,878,,,,,,,,,,,,,,,,,,,878,,,878,,,,878,,,878,,878,,,,,,,,,,,,',
'878,,,,878,878,878,878,878,878,,,,878,878,,,,,,,878,,878,878,878,878',
',878,878,,,878,878,879,879,879,879,,,,,,,,,,,,,879,879,879,879,,,,879',
'879,,,,,879,879,,,,879,879,,,,,,,,,,,,,,,,,,,879,,,879,,,,879,,,879',
',879,,,,,,,,,,,,,879,,,,879,879,879,879,879,879,,,,879,879,,,,,,,879',
',879,879,879,879,,879,879,,,879,879,881,881,881,881,,,,,,,,,,,,,881',
'881,881,881,,,,881,,,,,,881,881,,,,881,,,,,,,,,,,,,,,,,,,,881,,,881',
',,,881,,,881,,881,,,,,,,,,,,,,881,,,,881,881,881,881,881,881,,,,881',
'881,,,,,,,881,,,881,881,881,,881,881,,,881,881,886,886,886,886,,,,,',
',,,,,,,886,886,886,886,,,,886,,,,,,886,886,,,,886,,,,,,,,,,,,,,,,,,',
',886,,,886,,,,886,,,886,,,,,,,,,,,,,,,886,,,,886,886,886,886,886,886',
',,,886,886,,,,,,,886,,,886,886,886,,886,886,,,886,886,935,935,935,935',
',,,,,,,,,,,,935,935,935,935,,,,935,935,,,,,935,935,,,,935,935,,,,,,',
',,,,,,,,,,,,935,,,935,,,,935,,,935,,935,,,,,,,,,,,,,935,,,,935,935,935',
'935,935,935,,,,935,935,,,,,,,935,,935,935,935,935,,935,935,,,935,935',
'1001,1001,1001,1001,,,,,,,,,,,,,1001,1001,1001,1001,,,,1001,,,,,,1001',
'1001,,,,1001,,,,,,,,,,,,,,,,,,,,1001,,,1001,,,,1001,,,1001,,1001,,,',
',,,,,,,,,1001,,,,1001,1001,1001,1001,1001,1001,,,,1001,1001,,,,,,,1001',
',,1001,1001,1001,,1001,1001,,,1001,1001,1009,1009,1009,1009,,,,,,,,',
',,,,1009,1009,1009,1009,,,,1009,,,,,,1009,1009,,,,1009,,,,,,,,,,,,,',
',,,,,,1009,,,1009,,,,1009,,,1009,,,,,,,,,,,,,,,1009,,,,1009,1009,1009',
'1009,1009,1009,,,,1009,1009,,,,,,,1009,,,1009,1009,1009,,1009,1009,',
',1009,1009,1096,1096,1096,1096,,,,,,,,,,,,,1096,1096,1096,1096,,,,1096',
',,,,,1096,1096,,,,1096,,,,,,,,,,,,,,,,,,,,1096,,,1096,,,,1096,,,1096',
',,,,,,,,,,,,,,1096,,,,1096,1096,1096,1096,1096,1096,,,,1096,1096,,,',
',,,1096,,,1096,1096,1096,,1096,1096,,,1096,1096,1135,1135,1135,1135',
',,,,,,,,,,,,1135,1135,1135,1135,,,,1135,,,,,,1135,1135,,,,1135,,,,,',
',,,,,,,,,,,,,,1135,,,1135,,,,1135,,,1135,,1135,,,,,,,,,,,,,1135,,,,1135',
'1135,1135,1135,1135,1135,,,,1135,1135,,,,,,,1135,,,1135,1135,1135,,1135',
'1135,,,1135,1135,1158,1158,1158,1158,,,,,,,,,,,,,1158,1158,1158,1158',
',,,1158,,,,,,1158,1158,,,,1158,,,,,,,,,,,,,,,,,,,,1158,,,1158,,,,1158',
',,1158,,,,,,,,,,,,,,,1158,,,,1158,1158,1158,1158,1158,1158,,,,1158,1158',
',,,,,,1158,,,1158,1158,1158,,1158,1158,,,1158,1158,1159,1159,1159,1159',
',,,,,,,,,,,,1159,1159,1159,1159,,,,1159,,,,,,1159,1159,,,,1159,,,,,',
',,,,,,,,,,,,,,1159,,,1159,,,,1159,,,1159,,,,,,,,,,,,,,,1159,,,,1159',
'1159,1159,1159,1159,1159,,,,1159,1159,,,,,,,1159,,,1159,1159,1159,,1159',
'1159,,,1159,1159,1204,1204,1204,1204,,,,,,,,,,,,,1204,1204,1204,1204',
',,,1204,,,,,,1204,1204,,,,1204,,,,,,,,,,,,,,,,,,,,1204,,,1204,,,,1204',
',,1204,,,,,,,,,,,,,,,1204,,,,1204,1204,1204,1204,1204,1204,,,,1204,1204',
',,,,,,1204,,,1204,1204,1204,,1204,1204,,,1204,1204,1207,1207,1207,1207',
',,,,,,,,,,,,1207,1207,1207,1207,,,,1207,,,,,,1207,1207,,,,1207,,,,,',
',,887,887,887,887,,,,,,,,,1207,,,1207,887,887,887,1207,,,1207,,,,,,',
'887,887,,,,887,,,1207,,,,1207,1207,1207,1207,1207,1207,,,,1207,1207',
',,,,,,1207,,,1207,1207,1207,,1207,1207,,,1207,1207,,,,,,,,,,,,,887,887',
'887,887,887,887,,,,887,887,888,888,888,888,,,887,,,887,887,887,,887',
'887,,888,888,888,807,,807,807,807,807,807,,,,888,888,,,,888,807,,,,',
',,,,,,,,,,,,,,,,,807,,,,,,,,,807,807,807,807,,,,1066,,1066,1066,1066',
'1066,1066,,,,888,888,888,888,888,888,1066,,,888,888,,,,,,,888,,807,888',
'888,888,,888,888,,,1066,807,,,,,,,,1066,1066,1066,1066,,,,,230,230,',
',230,,,,,,,,,230,230,,230,230,230,230,230,230,230,,,230,230,,1066,,230',
'230,230,230,,,,,1066,230,,,,,,,,230,230,,230,230,230,230,230,230,230',
'230,230,230,230,,,230,,,,,231,231,,,231,,,,,,,,,231,231,230,231,231',
'231,231,231,231,231,,,231,231,,,,231,231,231,231,,,,,,231,,,,,,,,231',
'231,,231,231,231,231,231,231,231,231,231,231,231,,,231,,,,,281,281,',
',281,,,,,,,,,281,281,231,281,281,281,281,281,281,281,,,281,281,,,,281',
'281,281,281,,,,,,,,,,,,,,281,281,,281,281,281,281,281,281,281,281,281',
'281,281,,,281,,,,,478,478,,,478,,,,,,,,,478,478,281,478,478,478,478',
'478,478,478,,,478,478,,,,478,478,478,478,,,,,,478,,,,,,,,478,478,,478',
'478,478,478,478,478,478,478,478,478,478,,,478,,,,,479,479,,,479,,,,',
',,,,479,479,478,479,479,479,479,479,479,479,,,479,479,,,,479,479,479',
'479,,,,,,479,,,,,,,,479,479,,479,479,479,479,479,479,479,479,479,479',
'479,,,479,,,,,548,548,,,548,,,,,,,,,548,548,479,548,548,548,548,548',
'548,548,,,548,548,,,,548,548,548,548,,,,,,548,,,,,,,,548,548,,548,548',
'548,548,548,548,548,548,548,548,548,,,548,,,,,549,549,,,549,,,,,,,,',
'549,549,548,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,,,,,557,557,,,557,,,,,,,,,557,557,549,557,557,557,557,557,557',
'557,,,557,557,,,,557,557,557,557,,,,,,557,,,,,,,,557,557,,557,557,557',
'557,557,557,557,557,557,557,557,,,557,,,,,558,558,,,558,,,,,,,,,558',
'558,557,558,558,558,558,558,558,558,,,558,558,,,,558,558,558,558,,,',
',,558,,,,,,,,558,558,,558,558,558,558,558,558,558,558,558,558,558,,',
'558,,,,,587,587,,,587,,,,,,,,,587,587,558,587,587,587,587,587,587,587',
',,587,587,,,,587,587,587,587,,,,,,587,,,,,,,,587,587,,587,587,587,587',
'587,587,587,587,587,587,587,,,587,,,,,588,588,,,588,,,,,,,,,588,588',
'587,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,,',
',,671,671,,,671,,,,,,,,,671,671,588,671,671,671,671,671,671,671,,,671',
'671,,,,671,671,671,671,,,,,,671,,,,,,,,671,671,,671,671,671,671,671',
'671,671,671,671,671,671,,,671,,,,,672,672,,,672,,,,,,,,,672,672,671',
'672,672,672,672,672,672,672,,,672,672,,,,672,672,672,672,,,,,,672,,',
',,,,,672,672,,672,672,672,672,672,672,672,672,672,672,672,,,672,,,,',
'798,798,,,798,,,,,,,,,798,798,672,798,798,798,798,798,798,798,,,798',
'798,,,,798,798,798,798,,,,,,798,,,,,,,,798,798,,798,798,798,798,798',
'798,798,798,798,798,798,,,798,,,,,799,799,,,799,,,,,,,,,799,799,798',
'799,799,799,799,799,799,799,,,799,799,,,,799,799,799,799,,,,,,799,,',
',,,,,799,799,,799,799,799,799,799,799,799,799,799,799,799,,1110,799',
'1110,1110,1110,1110,1110,1113,,1113,1113,1113,1113,1113,,,1110,,,,,799',
',1113,,,,,,,,,,,,,,,1110,,,,,,,1113,,1110,1110,1110,1110,,,,1113,1113',
'1113,1113,,,,,,,,,,,,,,,,,,1176,1176,,,1176,,,,1110,,,,,1176,1176,1113',
'1176,1176,1176,1176,1176,1176,1176,,,1176,1176,,,,1176,1176,1176,1176',
',,,,,1176,,,,,,,,1176,1176,,1176,1176,1176,1176,1176,1176,1176,1176',
'1176,1176,1176,,,1176,,,,,1181,1181,,,1181,,,,,,,,,1181,1181,1176,1181',
'1181,1181,1181,1181,1181,1181,,,1181,1181,,,,1181,1181,1181,1181,,,',
',,1181,,,,,,,,1181,1181,,1181,1181,1181,1181,1181,1181,1181,1181,1181',
'1181,1181,,,1181,,,,,1182,1182,,,1182,,,,,,,,,1182,1182,1181,1182,1182',
'1182,1182,1182,1182,1182,,,1182,1182,,,,1182,1182,1182,1182,,,,,,1182',
',,,,,,,1182,1182,,1182,1182,1182,1182,1182,1182,1182,1182,1182,1182',
'1182,,1209,1182,1209,1209,1209,1209,1209,,,,,,,,,,1209,,,,,1182,,,,',
',,,,,,,,,,,,1209,,,,,,,,,1209,1209,1209,1209,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,1209' ]
        racc_action_check = arr = ::Array.new(29717, 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,    32,  1098,    58,   nil,   202,   nil,   nil,  5417,  1371,
   nil, 25583, 25716,    72,   nil,    71,    92,   432,   167,   242,
   267,   nil,   106,  5560,  1242,   246,   nil,   -40,   nil,   165,
  5698,  5830,  5960,  6103,  6246,   nil,  1242, 23637, 23776,   nil,
   187,   377,   409,   370,  6389,  6532,   164,  6675,  6818,   518,
  6961,   317,   368,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,  7099,   nil,  7240,   nil,   nil,   -22,   nil,  7383,
  7526,   nil,   nil,  7669, 23915,   373,   nil, 25849,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,    77,   nil,   nil,   nil,   nil,   nil,
   nil,   359,   368,   378,   397,   nil,   nil, 25982,   nil,   nil,
   nil,   nil,   nil,   nil,     0,   nil,   nil,   136,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
  7812,   nil,   nil,   nil,   nil,  7955,  8098,  8241,  8384,  8527,
   435,   nil,   414,   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,   436,   nil,  1386,  8670,  8813,  8956,  9099,  9242,  9385,
 28295, 28363,   nil,   nil,  9528,  9671,  9814,   nil,   nil,   376,
   104,   112,   512,   147,   431,   492,   nil,  9957,  1530,   506,
   nil, 10100, 10243, 10386, 10529, 10672, 10815, 10958, 11101, 11244,
 11387, 11530, 11673, 11816, 11959, 12102, 12245, 12388, 12531, 12674,
 12817, 12960, 13103,   nil,   nil,   nil,   nil, 13246,   nil,   nil,
   nil, 28431,   nil,   nil,   508, 13389, 13532,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil, 13675,   nil,  1674,   nil,   505,
   507,   nil, 13818,   556, 13961,   nil,   nil, 14104, 14247,   nil,
   nil,   417,   nil,   nil, 14390,  1515,   nil,   533,  1674,   557,
   604,   572, 24054,  1818,   380,   455,   504,   648,   516,   nil,
   623,   589,   193,   nil,   nil,   nil,   651,   167,   641, 24193,
   nil,   449,   591,  2538,  2682,   709,   nil,   711, 14533,   nil,
 14676,  1962,  1659,   654, 14819, 14962,   nil,   784,    -8,     8,
 15105,  2106,  2250,   462,   779,   666,   -19,    -7,   620,   749,
    24,   803,   nil,   nil, 24332,   nil, 24471,   244,   356,   412,
   416,   481,   514,   552,   555,   576,   nil,   596,   nil,   nil,
   nil,   nil,   337,   nil,   308,   nil,   382,   nil,   403,   nil,
   712,   440,   nil,   742,   481,   nil,   745,   -59,   nil,   747,
   -58,   nil,   485,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil, 26115,   nil,   nil,
   nil,   nil,   764,   nil,   838,   773, 15248,   776,   nil,   nil,
   760,   nil,   640,   214,   869,   nil,   nil,  1386,   nil,   nil,
   nil,   nil,   nil,  1530,   787,   nil,   nil,   785,   787,   513,
   597,  7240,   nil,   nil,   nil,   272,   408,   828,   nil,   nil,
 15386, 15518,   nil,   nil,   nil,   -26,   nil,   840, 28499, 28567,
 15651,   223, 15794, 15937, 16080, 26468,  2826,  2970,   738,   805,
   865,   866,   868,   877,  4554,  4698,  1121,  3114,  3258,  3402,
  3546,  3690,  3834,   908,   967,  3978,  4122,  1818,  4266,   937,
   nil, 16218,   nil,   nil,   nil,   nil, 16344,   823,   822,   827,
   nil,   nil,   nil,   829,   nil,   nil, 16487,   nil,   nil, 16630,
   nil, 16773,   nil,   196,   nil,   nil,   nil, 16916,  1674,   844,
   837,   835,   nil,   nil,   845, 24610,   852, 17059, 28635, 28703,
   650,   889,   nil, 24749,   856,   nil, 17202, 28771, 28839, 17345,
  4410,  1962, 17488,   979,   978,   864,   nil,   nil,   534,   573,
   901,   884,   nil,   643,   910,  2394,   987,   nil,  2538,    63,
   992,   999,   436,  1000,   nil,   nil, 17631, 28907, 28975,    26,
   nil,   955,  1087,   -20,   nil,   652,   nil,   903, 17774,   nil,
   925,   nil,   nil,   nil, 17917,   nil,   475,   nil,   887,   889,
   912,   nil,   913,   915,   919,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   904,   949,   nil,   nil, 18060,   nil,   nil,
   nil,     0,   nil,   nil,   nil,  1001,   nil,   nil,  1003,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   265,   nil,   nil,   298,   nil,   nil,   nil,   932,   nil,   nil,
   938,   nil,  2682,   nil, 26248,   nil, 18203,   940, 18346, 18489,
 18632, 29043, 29111, 18775, 18918,   644,   979, 19061, 19204, 19347,
 19490,   978,   nil,   nil,   nil, 19633, 19776,   979,   nil,   nil,
   nil,   236,   243,   544,   680,   951,   992,   nil,   973,   nil,
   nil,   317,   195,   -67,   nil,   759,   nil,   nil,  7099, 16203,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,  1033,     5,   nil,   958,   nil,   113,  1065,   -19,   nil,
   nil, 19919,   nil,   980,   nil,  1086,   nil,   967,   nil,  1017,
 20062,   nil,   nil, 20205,   nil,   nil,   -85, 24888,   977,   nil,
   981,    -9,    -5,  1020,    25,   725,  1021,   993, 25027,   nil,
  1057,   -14,   683,   nil, 20348,   nil,   nil,   nil,   nil, 20491,
   nil,   nil, 20634,   nil,   nil,   nil,   835,   nil,  1111,   nil,
   nil,   nil,   nil,   nil,  1117,  1125,   nil,   nil, 20777,  1014,
    29,    30,   162,   163,  2826,   nil,   769,   nil, 29179, 29247,
 20920,   nil,   nil,   nil,   814,  2970,  3114, 28186,   611, 26381,
    -7,    34,  1028,   231,   nil,   nil,   760,   nil,   745,   nil,
   883,   nil,  5662,   nil, 21063,   nil,  1084,   nil,  1029,  1032,
   685,  1040,   nil,   nil,   nil,   nil,   nil,  1153,  3258,   nil,
   nil,   nil,   nil,   nil,  1055,   nil,   nil,  1040, 21206,  1044,
   251,   266,   816,   952,   nil,  2106, 21349,   nil,  1042,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil, 21492,
 21635, 21778, 21921,   277,  1124, 26581,  1085,   314, 26694, 26807,
   319, 26920,   nil,    58,   nil,  1065, 27033, 28092, 28186,   nil,
   nil,   nil,   nil,   nil, 22064,   nil,   nil,  5761,   nil,  3402,
   nil,   nil,  1067,  1059,   nil,   127,   nil,   nil,   nil,   nil,
  1057,    39,   nil,   nil,   nil,   nil,   nil,   nil,  3546,   nil,
  1060,  1104,   nil,   nil,   688,  1184,   nil,   nil, 22207,   nil,
  3690,  1186,   nil,   nil,   nil, 27146,   nil, 22350,    69,    68,
  1188,  1089,   784,   nil,  1072,  3834, 22493,   598,  1193,  1194,
  1083,  1090,  1095,   nil,   601,   nil,   nil,   nil,  3978,  4122,
  1097,  1106,  1107,   nil,  1188,   nil,   nil,  1111,  1120,   nil,
  1121,  1122,   nil,  1125,   nil,   nil,  1129,  2380,  1034,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,  1118,   nil,  1129,   313,
   nil,   nil, 22636, 22779,   nil,   nil,   nil,   nil,   -63,  1176,
  1177, 27259,   nil,  1140,   -33,  1141,   nil,   nil,   nil, 27372,
   nil,     1,  1152,  1158,   nil,  1172,  1176,   nil,   740,   nil,
   nil,  2250,  1176,  1191,  1194,   nil,  1195,  1198,  1200,   nil,
  1221,  1206,  1187, 25166,   nil,   nil,   nil,   nil,   nil,  4266,
  4410,   nil,     9, 25305,   nil,   nil,   nil,    35,   nil,   nil,
    43,   836,   -31,   nil,   nil,   nil, 22922,  4554,   nil,   nil,
  1327,   635,   nil,   nil,   nil,   nil, 28240,   nil,   nil,  1247,
  1226,  1333,   916,   nil,   nil, 15350,   nil,  7063,   nil, 15449,
   nil, 16224,   nil,   nil,   nil,   nil,  1225,  1226,   nil,   nil,
   nil,  1268,  1234,   131,   nil,  1235, 27485,   201,  1277,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   305,   nil,   nil,   nil,
 29309,   nil,   nil, 29316,   nil, 23658,   nil,   nil,  1259, 25444,
   786,  1315,   nil,  1363,  4698,   120,   135,   788,  1317,   144,
   nil,  4842,   nil, 23065, 23208, 27598,   nil, 23351,   441,   nil,
   nil,  4986,  1247,  5130,   nil,   nil,   707,   nil,   nil,   nil,
  1246,  1247,  1251,  1254,  2410,  2417,   nil,  1255, 27711, 27824,
  1264,   nil,   nil,   nil,   nil,  1265,   nil,   nil,  1266,  1269,
  1270,  1271,   nil,  1273,   nil,   863, 29384,   nil,   nil,  1415,
 23494, 29452, 29520,   145,   884,  5274,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,  1414,   nil,  1416,   nil,  1228, 23797,   nil,
   nil,   nil,   nil,  1297, 27937,  1298,  1299, 28050,   nil, 29582,
   nil, 23936,   nil, 24075,   nil, 24214,   nil,   nil,  1352,  1356,
   nil,  1323,   158,   168,   169,   236,   nil,   310,   nil,   nil,
   nil,  1335,  1338,   nil,  1339,  1342,  1344,  1345,   171,   nil,
   nil,   nil,   nil, 24353,   nil,   nil,   nil,   nil,  1347,   nil ]

racc_action_default = [
    -1,  -757,  -756,  -757,    -2,  -742,    -4,    -5,  -757,    -8,
    -9,  -757,  -757,  -757,   -36,  -757,  -757,   -41,  -757,  -757,
  -301,   -53,  -744,  -757,   -60,   -65,   -66,   -67,   -71,  -278,
  -278,  -278,  -316,  -350,  -351,   -83,  -756,   -87,   -95,   -97,
  -757,  -638,  -639,  -757,  -757,  -757,  -757,  -757,  -757,  -235,
  -757,  -744,  -249,  -292,  -293,  -294,  -295,  -296,  -297,  -298,
  -299,  -300,  -728,  -303,  -305,  -312,  -314,  -324,  -326,  -757,
  -757,   -62,   -62,  -742,  -757,  -335,  -342,  -757,  -352,  -353,
  -355,  -356,  -357,  -358,  -359,  -360,  -361,  -362,  -363,  -364,
  -373,  -429,  -568,  -569,  -570,  -571,  -572,  -756,  -575,  -756,
  -756,  -756,  -756,  -756,  -756,  -611,  -612,  -756,  -614,  -620,
  -622,  -623,  -624,  -625,  -726,  -627,  -628,  -727,  -630,  -631,
  -632,  -633,  -634,  -635,  -636,  -637,  -642,  -643,  1250,    -3,
  -743,  -752,  -753,  -754,    -7,  -757,  -757,  -757,  -757,  -757,
  -757,   -24,  -757,  -126,  -127,  -128,  -129,  -130,  -131,  -132,
  -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,
  -206,   -29,  -133,  -756,  -757,  -757,  -757,  -757,  -757,  -756,
  -757,  -757,  -738,  -739,  -757,  -757,  -744,  -745,   -57,  -757,
  -638,  -639,  -757,  -301,  -757,  -757,  -241,  -757,  -756,  -757,
   -58,  -218,  -219,  -757,  -757,  -757,  -757,  -757,  -757,  -757,
  -757,  -757,  -757,  -757,  -757,  -757,  -757,  -757,  -757,  -757,
  -757,  -757,  -757,  -250,  -251,  -252,  -253,  -757,  -366,  -457,
  -437,  -757,  -740,  -741,   -72,  -756,  -757,  -323,  -365,  -441,
  -450,  -452,   -78,  -447,   -79,  -744,   -80,  -256,  -273,  -756,
  -756,  -277,  -757,  -283,  -757,  -756,  -720,  -757,  -757,   -81,
   -82,  -742,   -17,   -18,  -757,   -21,   -22,   -85,  -756,  -744,
  -757,   -88,   -91,  -756,  -103,  -104,  -757,  -757,  -111,  -316,
  -319,  -744,  -757,  -350,  -351,  -354,  -448,  -757,   -93,  -757,
   -99,  -311,  -757,  -220,  -221,  -621,  -229,  -230,  -757,  -242,
  -757,  -756,  -307,  -744,  -756,  -756,  -325,   -61,  -757,  -757,
  -757,  -756,  -756,  -742,  -757,  -743,  -638,  -639,  -757,  -757,
  -301,  -757,  -383,  -384,  -757,  -338,  -757,  -126,  -127,  -166,
  -167,  -168,  -184,  -189,  -196,  -199,  -345,  -757,  -638,  -639,
  -715,  -716,  -673,  -573,  -757,  -596,  -757,  -598,  -757,  -600,
  -757,  -757,  -580,  -757,  -757,  -586,  -757,  -757,  -592,  -757,
  -757,  -594,  -757,  -613,  -615,  -616,  -617,  -618,    -6,  -755,
   -30,   -31,   -32,   -33,   -34,   -10,   -11,  -757,   -26,   -27,
   -28,  -134,  -757,   -37,   -40,  -288,  -757,  -757,  -287,   -38,
  -757,   -42,  -757,  -301,   -50,   -52,  -207,  -261,  -283,   -54,
   -55,   -43,  -208,  -261,  -744,  -268,  -269,  -756,  -756,  -729,
  -730,  -278,  -445,  -731,  -732,  -730,  -729,  -278,  -444,  -446,
  -731,  -732,   -49,  -215,   -56,  -744,  -322,  -757,  -757,  -757,
  -756,  -311,  -757,  -757,  -757,  -757,  -216,  -217,  -222,  -223,
  -224,  -225,  -226,  -227,  -231,  -232,  -233,  -234,  -236,  -237,
  -238,  -239,  -240,  -243,  -244,  -245,  -246,  -744,  -254,  -757,
  -458,  -278,  -729,  -730,   -69,   -73,  -674,  -744,  -756,  -744,
  -279,  -454,  -457,  -744,  -318,  -274,  -757,  -282,  -275,  -757,
  -280,  -757,  -284,  -757,  -723,  -725,   -16,  -743,   -20,  -757,
  -744,   -84,  -309,  -100,   -89,  -757,  -744,  -756,  -757,  -757,
  -110,  -757,  -621,  -757,   -96,  -101,  -757,  -757,  -757,  -757,
  -255,  -247,  -757,  -560,  -757,  -744,  -306,  -257,  -749,  -749,
  -757,  -757,  -718,  -749,  -757,  -756,  -374,  -375,  -756,  -757,
  -757,  -757,  -757,  -757,  -369,  -464,  -756,  -757,  -757,  -311,
   -62,  -121,  -122,  -757,  -124,  -757,  -301,  -756,  -757,  -343,
  -650,  -347,  -736,  -737,  -757,  -430,  -673,  -433,  -714,  -714,
  -714,  -656,  -658,  -658,  -658,  -672,  -675,  -676,  -677,  -678,
  -679,  -680,  -681,  -682,  -757,  -684,  -686,  -688,  -693,  -695,
  -696,  -699,  -704,  -706,  -707,  -709,  -710,  -711,  -757,  -574,
  -597,  -602,  -603,  -605,  -576,  -599,  -577,  -601,  -578,  -579,
  -757,  -582,  -584,  -757,  -585,  -588,  -589,  -757,  -590,  -591,
  -757,  -619,  -756,   -25,  -757,   -35,  -757,  -291,  -757,  -757,
  -756,  -757,  -757,  -757,  -757,  -449,  -757,  -270,  -272,  -757,
  -757,   -74,  -266,  -267,  -442,  -757,  -757,   -76,  -443,  -321,
  -746,  -729,  -730,  -729,  -730,  -744,   -59,  -481,  -483,  -485,
  -488,  -541,  -495,  -498,  -501,  -534,  -539,  -540,  -757,  -757,
  -544,  -545,  -546,  -547,  -548,  -549,  -550,  -551,  -552,  -553,
  -554,  -757,  -757,  -558,  -757,  -436,  -756,   -68,  -438,  -454,
  -263,  -270,  -265,  -757,  -455,  -757,  -317,  -756,  -281,  -285,
  -757,  -721,  -722,  -757,   -19,   -23,   -86,  -757,   -92,   -98,
  -744,  -729,  -730,  -756,  -733,  -109,  -757,   -94,  -757,  -214,
  -228,  -744,  -756,  -367,  -756,  -304,  -372,  -308,  -258,  -751,
  -750,  -260,  -751,  -313,  -315,  -719,  -756,  -376,  -756,   -63,
  -377,  -378,  -329,  -330,  -757,  -757,  -468,  -332,  -757,  -744,
  -729,  -730,  -733,  -310,  -756,  -121,  -122,  -123,  -757,  -757,
  -756,  -336,  -644,  -646,  -339,  -756,  -756,  -673,  -673,  -757,
  -744,  -757,  -744,  -757,  -653,  -654,  -757,  -655,  -757,  -665,
  -757,  -668,  -757,  -670,  -757,  -385,  -757,  -387,  -389,  -392,
  -395,  -744,  -687,  -697,  -698,  -708,  -712,  -757,  -756,  -581,
  -583,  -587,  -593,  -595,  -757,  -135,   -39,  -289,  -757,  -744,
  -729,  -730,  -730,  -729,   -51,  -262,  -757,  -747,  -756,   -45,
  -210,   -46,  -211,   -75,   -47,  -213,   -48,  -212,   -77,  -757,
  -757,  -757,  -757,  -449,  -757,  -757,  -486,  -487,  -757,  -757,
  -757,  -757,  -497,  -757,  -500,  -757,  -757,  -537,  -538,  -542,
  -543,  -555,  -122,  -556,  -757,  -418,  -419,  -744,  -421,  -756,
  -440,  -439,  -757,  -744,  -451,  -756,  -453,  -276,  -286,  -724,
   -90,  -449,  -102,  -320,   -13,   -15,  -368,  -370,  -756,  -567,
  -561,  -756,  -562,  -563,  -749,  -757,  -371,  -379,  -757,  -381,
  -756,  -757,   -64,  -331,  -333,  -757,  -460,  -757,  -757,  -449,
  -757,  -121,  -122,  -125,  -744,  -756,  -757,  -757,  -757,  -757,
  -744,  -658,  -744,  -674,  -757,  -348,  -717,  -431,  -756,  -756,
  -423,  -744,  -714,  -694,  -699,  -713,  -657,  -658,  -658,  -685,
  -658,  -658,  -705,  -658,  -682,  -700,  -744,  -757,  -757,  -394,
  -683,  -604,  -607,  -608,  -609,  -610,  -757,   -12,  -290,  -449,
   -44,  -209,  -271,  -757,  -482,  -484,  -491,  -494,  -503,  -757,
  -757,  -504,  -510,  -757,  -515,  -521,  -523,  -525,  -526,  -529,
  -530,  -532,  -744,  -744,  -557,  -744,  -744,  -748,  -757,  -535,
  -536,  -248,  -714,  -714,  -714,  -400,  -756,  -756,  -756,  -417,
  -757,  -744,  -682,  -690,  -691,  -702,  -459,   -70,  -264,  -756,
  -756,  -566,  -757,  -757,  -565,  -259,  -327,  -757,  -382,  -328,
  -757,  -473,  -476,  -479,  -480,  -461,  -757,  -756,  -334,  -449,
  -757,  -757,  -340,  -344,  -346,  -647,  -757,  -649,  -651,  -650,
  -757,  -757,  -757,  -432,  -652,  -757,  -661,  -757,  -663,  -757,
  -666,  -757,  -669,  -671,  -386,  -388,  -390,  -393,  -606,  -489,
  -490,  -519,  -505,  -508,  -511,  -513,  -757,  -522,  -528,  -531,
  -533,  -492,  -493,  -496,  -499,  -502,  -757,  -397,  -398,  -399,
  -408,  -402,  -410,  -757,  -413,  -757,  -415,  -420,  -757,  -757,
  -689,  -757,  -456,  -756,  -756,  -638,  -639,  -757,  -757,  -301,
  -564,  -756,  -469,  -757,  -757,  -477,  -462,  -757,  -756,  -337,
  -645,  -756,  -744,  -756,  -434,  -435,  -744,  -425,  -427,  -428,
  -658,  -658,  -658,  -658,  -757,  -757,  -512,  -506,  -757,  -757,
  -516,  -517,  -520,  -524,  -527,  -714,  -692,  -401,  -756,  -756,
  -756,  -756,  -703,  -756,  -422,  -701,  -757,  -311,   -14,  -560,
  -756,  -757,  -757,  -311,  -756,  -756,  -474,  -475,  -478,  -463,
  -465,  -466,  -467,  -757,  -648,  -757,  -424,  -757,  -757,  -659,
  -662,  -664,  -667,  -391,  -757,  -509,  -514,  -757,  -396,  -757,
  -405,  -757,  -407,  -757,  -411,  -757,  -414,  -416,  -310,  -733,
  -559,  -744,  -729,  -730,  -733,  -310,  -380,  -756,  -341,  -349,
  -426,  -658,  -507,  -518,  -756,  -756,  -756,  -756,  -449,  -470,
  -471,  -472,  -660,  -757,  -403,  -406,  -409,  -412,  -756,  -404 ]

clist = [
'6,42,454,298,298,298,583,42,519,386,356,280,289,293,785,762,230,4,806',
'564,235,146,146,931,282,141,222,925,133,238,149,149,623,321,451,42,325',
'325,915,414,472,358,359,528,741,363,438,439,129,350,361,362,345,575',
'578,768,771,884,517,9,775,461,467,42,338,9,825,607,130,797,696,554,972',
'367,1085,317,389,738,515,1027,738,615,320,299,299,299,961,146,509,831',
'1147,335,335,967,964,395,133,397,399,402,405,408,411,969,733,395,1172',
'420,421,422,423,425,511,1087,899,319,364,146,1149,1,968,352,970,999',
'1012,394,1015,445,335,42,445,650,134,2,653,412,445,140,42,814,815,817',
'597,1160,599,662,300,300,300,914,296,309,310,675,1040,744,539,1000,1013',
'1011,1011,221,1016,373,1011,889,890,434,284,292,294,1030,645,427,647',
'485,779,651,932,281,651,729,664,348,570,728,390,9,571,371,801,387,601',
'741,351,353,424,565,893,1028,298,528,1172,354,355,1205,1206,374,945',
'598,947,1141,376,462,1054,1230,1011,805,600,809,1069,1086,42,1029,784',
'1031,1146,455,738,738,433,444,605,957,444,392,478,811,521,522,444,471',
'905,1149,16,938,623,42,726,1190,16,1232,1085,695,418,788,298,298,1050',
'1239,935,1185,1051,1053,994,995,298,878,825,432,879,881,979,883,943',
'437,437,748,16,886,1162,812,738,455,1163,757,1164,741,921,1203,1042',
'976,1168,1039,320,615,18,527,527,393,396,398,18,395,401,1118,16,404',
'407,461,467,410,902,42,981,289,372,42,837,293,750,325,42,548,838,413',
'946,972,963,551,18,735,579,533,133,555,518,299,325,557,1166,967,604',
'552,1019,1020,299,,544,,42,969,567,572,536,,1014,317,18,789,42,42,317',
',320,587,969,,968,320,1104,538,16,389,537,389,335,1150,1011,753,1188',
'16,,1191,,,133,964,753,,,,,335,873,969,,540,,1178,300,882,546,,520,568',
'582,580,581,300,,1045,1169,523,,1170,,,753,825,825,,,,18,,840,,335,840',
'335,,,18,,1226,,146,,671,,663,,849,683,,149,623,623,911,688,298,676',
',903,527,527,,623,682,623,462,,998,998,16,998,440,569,573,440,1018,1240',
'948,949,863,440,,455,910,907,868,950,954,718,859,861,1143,939,471,16',
'864,866,1074,683,,615,615,,,969,,461,467,,724,,741,,682,745,1234,,,',
',527,18,298,18,1052,,18,357,357,,,357,18,,952,462,,,821,823,42,1032',
',962,462,555,18,738,325,455,,,989,555,,,325,1107,1108,1109,16,298,,471',
'16,,,,,16,,1036,471,794,462,445,,944,42,1092,997,42,,,,445,445,,455',
',922,445,445,357,357,357,357,16,1098,803,825,825,471,335,681,907,780',
'16,16,,687,335,18,,,,18,1060,,,,18,,,,776,,1023,778,,,1071,,,753,1220',
',1057,,,,,,,737,298,,1059,,18,,,,,727,,,,462,18,18,,,1241,6,42,990,',
',42,,,455,,1161,901,42,,146,444,,844,845,,449,450,471,149,,444,444,',
',474,475,444,444,676,,,1208,,,,676,885,,,,,623,718,718,,,1101,1102,900',
'1103,623,,,,9,998,,,846,895,,,,,,854,,1161,1161,,527,683,1124,,688,',
'955,1131,555,,1132,325,,676,,1032,682,,1032,912,,,325,445,,919,,923',
',452,1024,,,,,473,298,,,929,,929,,1161,16,1192,1233,462,,,,,676,,1142',
',858,,42,,,,,455,,,335,,,42,42,,,471,1193,960,1195,335,,357,437,,16',
',146,16,,,,,,,,,,,18,1165,,,,1023,42,,1023,940,1023,,,,858,,676,,1032',
',,,,,,527,,,,,,444,,,,,,,18,,,18,,718,676,,718,718,,718,,,924,986,718',
'718,718,1076,1078,,1080,1082,,1083,960,,,42,,1047,,,895,16,,,,16,,,440',
',,,16,,42,1061,1044,1238,440,440,,,,,440,440,42,,,,,718,1023,,1023,',
'1023,,1023,676,,42,,,,,,,,,1221,,,18,42,42,,18,,,18,1041,,,18,,1023',
'1062,,1033,18,18,,1048,1068,1024,18,18,1024,,1024,,,,,,,,,,,,,,,,,718',
',,,1070,,,,718,,676,676,753,676,885,,761,,473,,452,,,,1111,1111,1111',
',,960,,,389,,,,16,,42,42,,,1126,,,,,16,16,951,,,804,,,,42,,810,,,,971',
',973,,,,,,,1199,1200,1201,1202,,,1024,,1024,16,1024,,1024,1140,1122',
'1123,335,18,,,,759,,,718,,335,440,18,18,,,1138,710,1186,1187,,,,,1024',
',,,,,,389,,,919,,42,1181,,,435,448,,42,,18,,718,,929,,,1026,42,16,42',
',1196,965,,,965,,18,298,1242,,,,,718,718,,16,,,,462,,1111,1111,1111',
'1111,1179,1111,16,335,,,,1184,455,,,1033,929,,42,1033,471,16,1033,,1033',
',471,18,,,,,,,16,16,,718,,530,718,532,,,534,535,18,,,860,862,,,676,',
'865,867,,18,929,,,,1025,,1227,1111,1111,1111,1111,,,,18,,19,,,,,1111',
'19,,,,,18,18,,,,,574,,,,239,,,,,,,,,239,239,239,,19,326,326,,,,16,16',
',1033,1130,1033,,1033,,1033,711,,,,,20,,,16,,,20,19,,,,,239,239,,,239',
'368,,,,1151,1033,1152,,1153,,,,,,710,710,,20,328,328,18,18,,,,,667,476',
',,,712,,,,,,,18,,,,1171,,1173,20,,,,,,,,16,,370,19,,,,16,239,239,239',
'239,19,,,,357,16,,16,,,,,,,991,,,,,,765,524,357,,,,,860,862,867,865',
',,,,,782,783,,787,18,,,,,541,20,18,,16,,739,,,574,20,742,18,,18,965',
',1231,,1025,,,1025,,1025,,,,1235,,1236,,1237,,566,,,,,19,239,442,239',
'239,442,239,,,,,442,239,239,,,,18,,,,,,1248,,19,,,,,,,710,,,710,710',
',710,,,,,710,710,710,,,,,,,711,711,,20,,443,,,443,,239,239,,,443,991',
'832,,,,239,,,713,,,,1025,20,1025,,1025,,1025,,,,,,19,710,,,19,1112,1114',
'1116,326,19,,,,,712,712,,,847,,,,1025,,,326,689,739,574,,,,,,357,357',
',19,,,,,,,,,239,19,19,,,,,,,20,,,,20,595,,595,328,20,933,934,710,730',
',732,,,,736,710,,,,,328,739,,,,,,,,,908,746,20,909,,,,749,,,,,20,20',
',,,,,,,,,,920,596,767,596,,739,,,574,,,,,714,711,,,711,711,,711,,,,936',
'711,711,711,,,,,,1210,1212,1214,1216,,1217,,,,,,,,,,710,,,,239,,,,,',
',,975,,,,,,,712,,,712,712,,712,711,,,,712,712,712,,,,988,,,710,,,,,1046',
'713,713,,,,1049,1244,1245,1246,1247,,,,,1058,,19,710,710,,1249,,1063',
'1064,326,,239,,,,,,326,,712,,,,,,,239,,,,,,711,,,,,,,19,711,,19,,,,',
',710,,239,710,,,,,20,,,,,,239,,328,1055,,,239,,,,328,,,,,,,,,,,,,712',
',,,,913,,,712,20,,,20,,,,,,,,,,,,,,,,,,,,,,1139,574,,,,,,19,711,714',
'714,19,,,442,239,,,19,,956,,,,442,442,,,,,442,442,,713,,,713,713,,713',
',980,,,713,713,713,711,,,,,,,,,,,,,,712,20,,,1136,20,,,443,711,711,',
'20,,,,,,443,443,,,,,443,443,,,,,,326,713,,,,,,,712,,,326,,,,,,,,,,1038',
',,711,,,711,,,,712,712,,,,,,,,,1228,,1229,,,,19,,,,,,239,1189,328,,',
'19,19,,,,,,,328,713,1065,,1067,715,,,,713,,712,,1073,712,,,,714,,,714',
'714,,714,19,,,1084,714,714,714,,29,,,20,,,29,,,,442,,716,,20,20,,,,',
',29,,,,,,,,,29,29,29,,29,,,,,,,,,,,714,985,20,,,,,,19,,,,,,,,,29,713',
',443,,29,29,,,29,19,,,,,,,,,,239,,19,,,,,,,,,,,,,,,19,239,,713,,,,,',
'20,,,714,19,19,,,,,,714,,,,,,713,713,20,29,,,,,29,29,29,29,29,,20,,',
',,,,,,,,,,,,20,,,,,,,1194,,,,,,20,20,,,713,,,713,,,,,,,,,,,,,1120,,',
',,,19,19,715,715,1127,,,,,,,,,714,,,32,,19,,,,32,,,,,,29,29,29,29,29',
'29,29,,,32,,29,29,29,716,716,,,32,32,32,596,32,,714,29,,20,20,,,1129',
',,,,,,,,,,,,,20,,714,714,,32,,1175,,,32,32,19,,32,,,29,29,19,,239,239',
',,,,29,,19,,19,,,,,,,,,,,,,717,,29,,714,,29,714,,,,29,,,,,,,596,,,,',
'20,239,,,32,,19,20,,32,32,32,32,32,,,29,20,,20,,,,,,29,29,29,,715,,',
'715,715,,715,,,,,715,715,715,,,,,,,,,,719,,,,41,,,,,20,41,,,,,,,716',
',,716,716,,716,,,,,716,716,716,,,,,,,715,41,324,324,,,,,32,32,32,32',
'32,32,32,,,,,32,32,32,,,,,,,,41,,,,32,,,,,,366,716,,388,,,,,,,,,,,,',
',29,,,,,,,,,,715,,,,32,32,,,715,,,,,,32,,,,,,,,,,,,,,,41,,,,32,,,,32',
'41,,716,,32,,,717,717,29,716,,,,,,,,,29,,,,,,,,,,,,,32,,29,,,,,,,32',
'32,32,,,,29,,,29,,,,,,,715,29,,,,,,,,,,,,29,,,,,,29,,,,,,719,719,41',
',,,,,,,,,,,715,716,,,,,,,,,,,,41,,,,,,,,,,715,715,,,,,,,,,,,,,,29,,716',
',29,,,29,29,,,29,,,,,,29,29,,,,,29,29,716,716,32,,,,715,,,715,,,,,,717',
'41,,717,717,41,717,,,324,41,717,717,717,,,,,,,,,,,,,324,,,,,716,,,716',
',,,41,,,,,,32,,,,41,41,,,,,32,,,,,,717,388,,388,,,,,,32,,,,,,719,,,719',
'719,,719,32,,,32,719,719,719,,,,29,32,,,,,29,,,,,29,29,32,,,,,,32,,',
',,,,,,,,,,,,717,,,,,,,,717,719,29,,,,,,,,,,,,,,,,,,29,,,,,,,,,,,,,,',
'32,,,,32,,,32,32,,,32,,,,,,32,32,,,,,32,32,,,,29,,,,719,,,,,,,,719,',
',,,,,29,,,,,717,,,41,,29,,29,,,,324,,,,,,,,324,,,29,29,,,,,,,,,,,,29',
'29,,,717,,41,,,41,,,,,,,,,,,,,,,,,,717,717,,,,,,,,,,,,719,,,,,32,,,',
',,32,,,,,32,32,,,,,,,,,,,,,,,,717,,,717,,,719,,29,29,,,,,,,32,,,,41',
',,,41,,29,,,719,719,41,,,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
'719,,32,719,,,,,,,,,,,,,,,29,,,32,,,,29,,29,29,,324,32,,32,,29,,29,',
',,324,,,,,,,32,32,,,,,,,,,,,,32,32,,,,,,,,,,,,29,,,41,,29,,,,,,,,,41',
'41,,,,,,,,,,,,,,,,,,,,,,,,246,,,,,,,,41,297,297,297,,,,,,,,,,343,344',
',346,347,,349,,32,32,,,,,,,,,,,,,,,,,32,,,,,,,,,,,,,,,,,,,,,,41,,,,',
',,,,,,,,,,,,,,41,,,,,,,,,,,,41,,,,,,,,,,,,,,32,41,,,,,,32,,32,32,,,',
'41,41,,32,,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,32,,,,,32,,,,,,,,',
',,,,,,,,,,,,,,,,,297,447,388,,453,297,,,41,41,453,,1125,,,,,,,,,,,246',
',,41,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501',
'502,503,504,505,506,507,,,,,508,,,,,,,,297,297,,,,,,,,,297,,,,,,,297',
',297,,,297,297,,,,388,,,,,41,,,,,,,41,,,,,,,,,,41,,41,,,,,,,,,,,,560',
',561,,,,297,297,,,,,,,,,,,,,,,,,,,,,,,41,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,297,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,297,,453,453,453,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,344,,,,,,,',
',,297,,,297,,297,,,,,,,,,,,,,,,,297,,,,,,,,,453,,,760,,,,,,,,,,,,,,',
',,,,,,,,,,,,297,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,297,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,297,453,297,,,,855,,,297,297,453,453',
',,,,453,453,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,297,,,,,,,,',
'297,,,297,,,,,,,,,,,,,,,,,,,,,297,,,,,297,,,297,,,,,,,,,,,,,,,,297,',
',,,,,,,,,,297,,,,,,,,,,,,,,,,,,,,,,,,297,,,,,,,,,,,,,,,,,,,,,,,,297',
',,,,,,,453,,,,,,,,,,,,,453,453,453,453,,,,,,,,,,,,,,,,,,,,,,1021,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,297,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,297,453,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,297,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,297,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,297' ]
        racc_goto_table = arr = ::Array.new(4460, 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,69,36,48,48,48,116,69,88,72,105,176,87,87,117,15,38,2,125,12,40,73',
'73,112,38,22,22,110,122,27,75,75,245,65,33,69,69,69,17,72,33,24,24,90',
'255,24,29,29,5,40,44,44,78,109,109,85,85,204,36,9,85,52,52,69,66,9,150',
'175,8,70,42,67,250,69,149,61,69,91,54,163,91,240,14,84,84,84,167,73',
'177,151,169,80,80,244,216,6,122,6,6,6,6,6,6,246,55,6,251,24,24,24,24',
'10,52,152,165,62,5,73,170,1,164,9,164,193,193,224,193,25,80,69,25,228',
'7,3,228,224,25,11,69,157,157,157,71,210,71,13,86,86,86,16,60,60,60,37',
'18,20,21,195,195,216,216,23,195,26,216,217,217,30,53,53,53,167,229,32',
'229,43,45,229,47,51,229,57,76,81,83,89,101,9,104,119,121,126,127,255',
'128,129,9,130,70,164,48,90,251,131,132,210,210,133,134,135,136,137,138',
'87,195,169,216,139,140,141,142,153,69,154,116,161,168,6,91,91,27,27',
'171,172,27,173,38,174,179,180,27,73,182,170,28,183,245,69,185,186,28',
'210,149,36,7,187,48,48,188,189,190,191,192,194,197,199,48,200,150,14',
'201,205,150,206,70,84,84,67,28,207,212,175,91,6,213,67,214,255,219,152',
'220,151,163,165,14,240,34,6,6,223,225,226,34,6,227,167,28,230,231,52',
'52,232,55,69,233,87,28,69,234,87,36,69,69,38,235,238,239,250,248,40',
'34,177,24,224,122,65,84,84,69,38,249,244,254,78,217,217,84,,66,,69,246',
'6,6,5,,70,61,34,36,69,69,61,,14,38,246,,164,14,204,9,28,69,8,69,80,164',
'216,52,193,28,,112,,,122,216,52,,,,,80,37,246,,62,,17,86,37,62,,60,84',
'5,14,14,86,,85,164,60,,164,,,52,150,150,,,,34,,229,,80,229,80,,,34,',
'110,,73,,38,,22,,36,87,,75,245,245,37,87,48,40,,88,6,6,,245,6,245,87',
',42,42,28,42,28,86,86,28,42,112,12,12,54,28,,6,67,90,54,175,175,69,33',
'33,125,37,73,28,33,33,157,87,,240,240,,,246,,52,52,,40,,255,,6,10,164',
',,,,6,34,48,34,42,,34,31,31,,,31,34,,88,87,,,243,243,69,245,,156,87',
'65,34,91,69,6,,,37,65,,,69,157,157,157,28,48,,73,28,,,,,28,,12,73,44',
'87,25,,36,69,209,37,69,,,,25,25,,6,,29,25,25,31,31,31,31,28,42,6,150',
'150,73,80,53,90,122,28,28,,53,80,34,,,,34,12,,,,34,,,,14,,156,14,,,12',
',,52,15,,109,,,,,,,86,48,,37,,34,,,,,53,,,,87,34,34,,,117,6,69,33,,',
'69,,,6,,209,105,69,,73,27,,2,22,,31,31,73,75,,27,27,,,31,31,27,27,40',
',,157,,,,40,40,,,,,245,69,69,,,37,37,176,37,245,,,,9,42,,,9,6,,,,,,9',
',209,209,,6,87,109,,87,,72,109,65,,109,69,,40,,245,6,,245,65,,,69,25',
',6,,6,,77,158,,,,,77,48,,,6,,6,,209,28,116,209,87,,,,,40,,88,,86,,69',
',,,,6,,,80,,,69,69,,,73,12,40,12,80,,31,84,,28,,73,28,,,,,,,,,,,34,156',
',,,156,69,,156,14,156,,,,86,,40,,245,,,,,,,6,,,,,,27,,,,,,,34,,,34,',
'69,40,,69,69,,69,,,86,14,69,69,69,243,243,,243,243,,243,40,,,69,,24',
',,6,28,,,,28,,,28,,,,28,,69,24,6,37,28,28,,,,,28,28,69,,,,,69,156,,156',
',156,,156,40,,69,,,,,,,,,36,,,34,69,69,,34,,,34,14,,,34,,156,122,,247',
'34,34,,14,122,158,34,34,158,,158,,,,,,,,,,,,,,,,,69,,,,14,,,,69,,40',
'40,52,40,40,,31,,77,,77,,,,6,6,6,,,40,,,69,,,,28,,69,69,,,69,,,,,28',
'28,162,,,31,,,,69,,31,,,,162,,162,,,,,,,243,243,243,243,,,158,,158,28',
'158,,158,122,14,14,80,34,,,,77,,,69,,80,28,34,34,,,14,93,24,24,,,,,158',
',,,,,,69,,,6,,69,38,,,82,82,,69,,34,,69,,6,,,162,69,28,69,,40,159,,',
'159,,34,48,243,,,,,69,69,,28,,,,87,,6,6,6,6,14,6,28,80,,,,14,6,,,247',
'6,,69,247,73,28,247,,247,,73,34,,,,,,,28,28,,69,,82,69,82,,,82,82,34',
',,77,77,,,40,,77,77,,34,6,,,,159,,14,6,6,6,6,,,,34,,35,,,,,6,35,,,,',
'34,34,,,,,82,,,,35,,,,,,,,,35,35,35,,35,35,35,,,,28,28,,247,28,247,',
'247,,247,94,,,,,39,,,28,,,39,35,,,,,35,35,,,35,35,,,,162,247,162,,162',
',,,,,93,93,,39,39,39,34,34,,,,,82,63,,,,95,,,,,,,34,,,,162,,162,39,',
',,,,,,28,,39,35,,,,28,35,35,35,35,35,,,,31,28,,28,,,,,,,77,,,,,,103',
'63,31,,,,,77,77,77,77,,,,,,103,103,,103,34,,,,,63,39,34,,28,,82,,,82',
'39,82,34,,34,159,,162,,159,,,159,,159,,,,162,,162,,162,,63,,,,,35,35',
'35,35,35,35,35,,,,,35,35,35,,,,34,,,,,,162,,35,,,,,,,93,,,93,93,,93',
',,,,93,93,93,,,,,,,94,94,,39,,39,,,39,,35,35,,,39,77,82,,,,35,,,96,',
',,159,39,159,,159,,159,,,,,,35,93,,,35,160,160,160,35,35,,,,,95,95,',
',82,,,,159,,,35,63,82,82,,,,,,31,31,,35,,,,,,,,,35,35,35,,,,,,,39,,',
',39,35,,35,39,39,103,103,93,63,,63,,,,63,93,,,,,39,82,,,,,,,,,82,63',
'39,82,,,,63,,,,,39,39,,,,,,,,,,,82,39,63,39,,82,,,82,,,,,97,94,,,94',
'94,,94,,,,82,94,94,94,,,,,,160,160,160,160,,160,,,,,,,,,,93,,,,35,,',
',,,,,82,,,,,,,95,,,95,95,,95,94,,,,95,95,95,,,,82,,,93,,,,,103,96,96',
',,,103,160,160,160,160,,,,,103,,35,93,93,,160,,103,103,35,,35,,,,,,35',
',95,,,,,,,35,,,,,,94,,,,,,,35,94,,35,,,,,,93,,35,93,,,,,39,,,,,,35,',
'39,82,,,35,,,,39,,,,,,,,,,,,,95,,,,,63,,,95,39,,,39,,,,,,,,,,,,,,,,',
',,,,,103,82,,,,,,35,94,97,97,35,,,35,35,,,35,,63,,,,35,35,,,,,35,35',
',96,,,96,96,,96,,63,,,96,96,96,94,,,,,,,,,,,,,,95,39,,,82,39,,,39,94',
'94,,39,,,,,,39,39,,,,,39,39,,,,,,35,96,,,,,,,95,,,35,,,,,,,,,,63,,,94',
',,94,,,,95,95,,,,,,,,,103,,103,,,,35,,,,,,35,82,39,,,35,35,,,,,,,39',
'96,63,,63,98,,,,96,,95,,63,95,,,,97,,,97,97,,97,35,,,63,97,97,97,,56',
',,39,,,56,,,,35,,99,,39,39,,,,,,56,,,,,,,,,56,56,56,,56,,,,,,,,,,,97',
'39,39,,,,,,35,,,,,,,,,56,96,,39,,56,56,,,56,35,,,,,,,,,,35,,35,,,,,',
',,,,,,,,,35,35,,96,,,,,,39,,,97,35,35,,,,,,97,,,,,,96,96,39,56,,,,,56',
'56,56,56,56,,39,,,,,,,,,,,,,,,39,,,,,,,63,,,,,,39,39,,,96,,,96,,,,,',
',,,,,,,35,,,,,,35,35,98,98,35,,,,,,,,,97,,,59,,35,,,,59,,,,,,56,56,56',
'56,56,56,56,,,59,,56,56,56,99,99,,,59,59,59,39,59,,97,56,,39,39,,,39',
',,,,,,,,,,,,,39,,97,97,,59,,35,,,59,59,35,,59,,,56,56,35,,35,35,,,,',
'56,,35,,35,,,,,,,,,,,,,100,,56,,97,,56,97,,,,56,,,,,,,39,,,,,39,35,',
',59,,35,39,,59,59,59,59,59,,,56,39,,39,,,,,,56,56,56,,98,,,98,98,,98',
',,,,98,98,98,,,,,,,,,,107,,,,68,,,,,39,68,,,,,,,99,,,99,99,,99,,,,,99',
'99,99,,,,,,,98,68,68,68,,,,,59,59,59,59,59,59,59,,,,,59,59,59,,,,,,',
',68,,,,59,,,,,,68,99,,68,,,,,,,,,,,,,,56,,,,,,,,,,98,,,,59,59,,,98,',
',,,,59,,,,,,,,,,,,,,,68,,,,59,,,,59,68,,99,,59,,,100,100,56,99,,,,,',
',,,56,,,,,,,,,,,,,59,,56,,,,,,,59,59,59,,,,56,,,56,,,,,,,98,56,,,,,',
',,,,,,56,,,,,,56,,,,,,107,107,68,,,,,,,,,,,,98,99,,,,,,,,,,,,68,,,,',
',,,,,98,98,,,,,,,,,,,,,,56,,99,,56,,,56,56,,,56,,,,,,56,56,,,,,56,56',
'99,99,59,,,,98,,,98,,,,,,100,68,,100,100,68,100,,,68,68,100,100,100',
',,,,,,,,,,,,68,,,,,99,,,99,,,,68,,,,,,59,,,,68,68,,,,,59,,,,,,100,68',
',68,,,,,,59,,,,,,107,,,107,107,,107,59,,,59,107,107,107,,,,56,59,,,',
',56,,,,,56,56,59,,,,,,59,,,,,,,,,,,,,,,100,,,,,,,,100,107,56,,,,,,,',
',,,,,,,,,,56,,,,,,,,,,,,,,,59,,,,59,,,59,59,,,59,,,,,,59,59,,,,,59,59',
',,,56,,,,107,,,,,,,,107,,,,,,,56,,,,,100,,,68,,56,,56,,,,68,,,,,,,,68',
',,56,56,,,,,,,,,,,,56,56,,,100,,68,,,68,,,,,,,,,,,,,,,,,,100,100,,,',
',,,,,,,,107,,,,,59,,,,,,59,,,,,59,59,,,,,,,,,,,,,,,,100,,,100,,,107',
',56,56,,,,,,,59,,,,68,,,,68,,56,,,107,107,68,,,59,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,107,,59,107,,,,,,,,,,,,,,,56,,,59,,,,56,,56,56',
',68,59,,59,,56,,56,,,,68,,,,,,,59,59,,,,,,,,,,,,59,59,,,,,,,,,,,,56',
',,68,,56,,,,,,,,,68,68,,,,,,,,,,,,,,,,,,,,,,,,41,,,,,,,,68,41,41,41',
',,,,,,,,,41,41,,41,41,,41,,59,59,,,,,,,,,,,,,,,,,59,,,,,,,,,,,,,,,,',
',,,,,68,,,,,,,,,,,,,,,,,,,68,,,,,,,,,,,,68,,,,,,,,,,,,,,59,68,,,,,,59',
',59,59,,,,68,68,,59,,59,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,59,,,,,59',
',,,,,,,,,,,,,,,,,,,,,,,,,41,41,68,,41,41,,,68,68,41,,68,,,,,,,,,,,41',
',,68,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41',
'41,,,,,41,,,,,,,,41,41,,,,,,,,,41,,,,,,,41,,41,,,41,41,,,,68,,,,,68',
',,,,,,68,,,,,,,,,,68,,68,,,,,,,,,,,,41,,41,,,,41,41,,,,,,,,,,,,,,,,',
',,,,,,68,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,41',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,41,,41,41,41,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,41,,,,,,,,,,41,,,41,,41,,,,,,,,,,,,,,,,41,,,,,,,',
',41,,,41,,,,,,,,,,,,,,,,,,,,,,,,,,,41,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,41,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,41,41,41,,,,41',
',,41,41,41,41,,,,,41,41,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
'41,,,,,,,,,41,,,41,,,,,,,,,,,,,,,,,,,,,41,,,,,41,,,41,,,,,,,,,,,,,,',
',41,,,,,,,,,,,,41,,,,,,,,,,,,,,,,,,,,,,,,41,,,,,,,,,,,,,,,,,,,,,,,,41',
',,,,,,,41,,,,,,,,,,,,,41,41,41,41,,,,,,,,,,,,,,,,,,,,,,41,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,41,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,41,41,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,41,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,41,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,41' ]
        racc_goto_check = arr = ::Array.new(4460, 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,   119,    15,   133,   nil,    43,    -2,   124,    63,    57,
   -29,   127,  -332,  -281,    46,  -548,  -613,  -724,  -760,   nil,
  -382,  -160,    14,   149,   -28,   -98,    89,     6,   242,  -178,
   -57,   454,    32,  -194,   294,  1239,  -227,  -301,    -3,  1294,
    -2,  3279,  -415,   -75,   -21,  -403,   nil,  -601,   -29,   nil,
   nil,   152,  -169,   139,  -206,  -417,  2083,  -333,   nil,  2292,
   118,    39,    79,  1104,   nil,    -4,    26,  -268,  2472,    -1,
  -524,  -232,   -68,    10,   nil,    19,  -249,   536,     6,   nil,
    54,   134,   903,  -170,    51,  -513,   114,   -17,  -277,  -326,
  -257,  -449,   nil,   619,   806,   859,  1052,  1195,  1572,  1612,
  1910,   109,   nil,   834,  -167,   -57,   nil,  1985,   nil,  -305,
  -749,   nil,  -755,   nil,   nil,   nil,  -358,  -568,   nil,   115,
   nil,  -407,    23,   nil,   nil,  -582,   114,  -195,   131,   131,
  -155,   138,   138,   132,  -593,  -166,  -594,  -851,   136,  -382,
  -168,  -382,  -735,   nil,   nil,   nil,   nil,   nil,   nil,  -903,
  -558,  -535,  -865,  -756,  -674,   nil,  -274,  -469,  -132,   332,
   532,  -672,   242,  -818,  -698,  -612,   nil,  -726,  -846,  -982,
  -954,  -160,  -578,   144,  -368,  -325,   -14,  -191,   nil,   -52,
   -52,   nil,  -492,  -543,   nil,  -262,  -889,  -330,  -677,  -968,
  -526,  -871,  -673,  -755,  -672,  -721,   nil,  -610,   nil,  -610,
  -434,  -431,   nil,   nil,  -646,  -431,  -430,  -425,   nil,  -426,
  -953,   nil,  -817,  -813,  -811,   nil,  -719,  -543,   nil,  -476,
  -631,   nil,   nil,   205,    28,   201,   201,   203,  -270,  -224,
   205,   205,   207,  -523,  -324,  -319,   nil,   nil,   218,  -476,
  -311,   nil,   nil,   -79,  -725,  -360,  -715,    75,  -485,  -766,
  -748, -1007,   nil,   nil,   -49,  -485 ]

racc_goto_default = [
   nil,   nil,   nil,   nil,     5,   nil,   312,     7,   365,   315,
   nil,   nil,   nil,   nil,   563,   nil,   nil,   nil,   nil,   311,
   313,   nil,   nil,   nil,   nil,    14,    15,    21,   244,   nil,
   nil,    17,   nil,   441,   245,   342,   nil,   nil,   799,   243,
   477,    24,  1091,   nil,   nil,   nil,   360,   nil,    25,    26,
    27,   nil,   756,   nil,   nil,   nil,   332,   nil,    28,   329,
   456,    35,   nil,   nil,    37,    40,    39,   nil,   240,   241,
   594,   nil,   148,   464,   147,    93,   nil,   446,   109,    49,
    52,   277,   303,   nil,   457,   nil,   458,   469,   nil,   684,
   525,   301,   286,    53,    54,    55,    56,    57,    58,    59,
    60,    61,    63,   nil,   nil,   287,    67,    68,    69,   nil,
   nil,    70,   927,    71,    72,    73,   nil,   nil,    74,   nil,
    75,   nil,   576,    76,    77,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   291,   279,   764,   918,   585,   928,   827,
   622,   nil,   828,   829,  1167,  1022,   609,   nil,   610,   611,
   nil,   nil,   612,   nil,   614,   nil,   896,   nil,   nil,   nil,
   620,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   468,   nil,
   nil,   734,   nil,   nil,   510,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,  1002,   nil,   697,   706,   698,   699,
   nil,   nil,   700,   701,   nil,   nil,   nil,   nil,  1001,  1003,
   nil,  1005,  1006,  1007,  1008,  1009,   631,   705,   707,   nil,
   nil,    92,    94,    96,   nil,   nil,   nil,   nil,   nil,   640,
   nil,   nil,   nil,   nil,   nil,   nil,   105,   106,   nil,   nil,
   966,   808,   608,   819,   613,   974,   625,   627,   628,  1034,
   632,  1035,   635,   638,   nil,   306 ]

racc_reduce_table = [
  0, 0, :racc_error,
  0, 150, :_reduce_1,
  2, 148, :_reduce_2,
  2, 149, :_reduce_3,
  1, 151, :_reduce_none,
  1, 151, :_reduce_none,
  3, 151, :_reduce_6,
  2, 151, :_reduce_none,
  1, 154, :_reduce_none,
  0, 158, :_reduce_9,
  3, 154, :_reduce_10,
  0, 160, :_reduce_11,
  4, 157, :_reduce_12,
  0, 165, :_reduce_13,
  6, 159, :_reduce_14,
  3, 159, :_reduce_15,
  2, 161, :_reduce_16,
  1, 166, :_reduce_none,
  1, 166, :_reduce_none,
  3, 166, :_reduce_19,
  2, 166, :_reduce_20,
  1, 167, :_reduce_none,
  0, 168, :_reduce_22,
  3, 167, :_reduce_23,
  0, 179, :_reduce_24,
  4, 156, :_reduce_25,
  3, 156, :_reduce_26,
  3, 156, :_reduce_27,
  3, 156, :_reduce_28,
  2, 156, :_reduce_29,
  3, 156, :_reduce_30,
  3, 156, :_reduce_31,
  3, 156, :_reduce_32,
  3, 156, :_reduce_33,
  3, 156, :_reduce_34,
  4, 156, :_reduce_35,
  1, 156, :_reduce_none,
  3, 156, :_reduce_37,
  3, 156, :_reduce_38,
  5, 156, :_reduce_39,
  3, 156, :_reduce_40,
  1, 156, :_reduce_none,
  3, 172, :_reduce_42,
  3, 172, :_reduce_43,
  6, 172, :_reduce_44,
  5, 172, :_reduce_45,
  5, 172, :_reduce_46,
  5, 172, :_reduce_47,
  5, 172, :_reduce_48,
  3, 172, :_reduce_49,
  1, 180, :_reduce_50,
  3, 180, :_reduce_51,
  1, 180, :_reduce_none,
  1, 178, :_reduce_none,
  3, 178, :_reduce_54,
  3, 178, :_reduce_55,
  3, 178, :_reduce_56,
  2, 178, :_reduce_57,
  0, 190, :_reduce_58,
  4, 178, :_reduce_59,
  1, 178, :_reduce_none,
  1, 171, :_reduce_61,
  0, 193, :_reduce_62,
  0, 194, :_reduce_63,
  4, 191, :_reduce_64,
  1, 174, :_reduce_none,
  1, 174, :_reduce_none,
  1, 196, :_reduce_none,
  4, 196, :_reduce_68,
  0, 204, :_reduce_69,
  4, 201, :_reduce_70,
  1, 203, :_reduce_71,
  2, 195, :_reduce_72,
  3, 195, :_reduce_73,
  4, 195, :_reduce_74,
  5, 195, :_reduce_75,
  4, 195, :_reduce_76,
  5, 195, :_reduce_77,
  2, 195, :_reduce_78,
  2, 195, :_reduce_79,
  2, 195, :_reduce_80,
  2, 195, :_reduce_81,
  2, 195, :_reduce_82,
  1, 173, :_reduce_none,
  3, 173, :_reduce_84,
  1, 209, :_reduce_none,
  3, 209, :_reduce_86,
  1, 208, :_reduce_87,
  2, 208, :_reduce_88,
  3, 208, :_reduce_89,
  5, 208, :_reduce_90,
  2, 208, :_reduce_91,
  4, 208, :_reduce_92,
  2, 208, :_reduce_93,
  4, 208, :_reduce_94,
  1, 208, :_reduce_95,
  3, 208, :_reduce_96,
  1, 212, :_reduce_none,
  3, 212, :_reduce_98,
  2, 211, :_reduce_99,
  3, 211, :_reduce_100,
  1, 214, :_reduce_101,
  3, 214, :_reduce_102,
  1, 213, :_reduce_103,
  1, 213, :_reduce_104,
  4, 213, :_reduce_105,
  3, 213, :_reduce_106,
  3, 213, :_reduce_107,
  3, 213, :_reduce_108,
  3, 213, :_reduce_109,
  2, 213, :_reduce_110,
  1, 213, :_reduce_111,
  1, 175, :_reduce_112,
  1, 175, :_reduce_113,
  4, 175, :_reduce_114,
  3, 175, :_reduce_115,
  3, 175, :_reduce_116,
  3, 175, :_reduce_117,
  3, 175, :_reduce_118,
  2, 175, :_reduce_119,
  1, 175, :_reduce_120,
  1, 217, :_reduce_121,
  1, 217, :_reduce_none,
  2, 218, :_reduce_123,
  1, 218, :_reduce_124,
  3, 218, :_reduce_125,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_129,
  1, 219, :_reduce_none,
  1, 169, :_reduce_131,
  1, 169, :_reduce_none,
  1, 170, :_reduce_133,
  0, 223, :_reduce_134,
  4, 170, :_reduce_135,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  3, 188, :_reduce_207,
  3, 188, :_reduce_208,
  6, 188, :_reduce_209,
  5, 188, :_reduce_210,
  5, 188, :_reduce_211,
  5, 188, :_reduce_212,
  5, 188, :_reduce_213,
  4, 188, :_reduce_214,
  3, 188, :_reduce_215,
  3, 188, :_reduce_216,
  3, 188, :_reduce_217,
  2, 188, :_reduce_218,
  2, 188, :_reduce_219,
  2, 188, :_reduce_220,
  2, 188, :_reduce_221,
  3, 188, :_reduce_222,
  3, 188, :_reduce_223,
  3, 188, :_reduce_224,
  3, 188, :_reduce_225,
  3, 188, :_reduce_226,
  3, 188, :_reduce_227,
  4, 188, :_reduce_228,
  2, 188, :_reduce_229,
  2, 188, :_reduce_230,
  3, 188, :_reduce_231,
  3, 188, :_reduce_232,
  3, 188, :_reduce_233,
  3, 188, :_reduce_234,
  1, 188, :_reduce_none,
  3, 188, :_reduce_236,
  3, 188, :_reduce_237,
  3, 188, :_reduce_238,
  3, 188, :_reduce_239,
  3, 188, :_reduce_240,
  2, 188, :_reduce_241,
  2, 188, :_reduce_242,
  3, 188, :_reduce_243,
  3, 188, :_reduce_244,
  3, 188, :_reduce_245,
  3, 188, :_reduce_246,
  3, 188, :_reduce_247,
  6, 188, :_reduce_248,
  1, 188, :_reduce_none,
  1, 228, :_reduce_none,
  1, 228, :_reduce_none,
  1, 228, :_reduce_none,
  1, 228, :_reduce_none,
  3, 226, :_reduce_254,
  3, 226, :_reduce_255,
  1, 229, :_reduce_256,
  1, 230, :_reduce_none,
  2, 230, :_reduce_258,
  4, 230, :_reduce_259,
  2, 230, :_reduce_260,
  1, 224, :_reduce_none,
  3, 224, :_reduce_262,
  3, 234, :_reduce_263,
  5, 234, :_reduce_264,
  3, 234, :_reduce_265,
  1, 236, :_reduce_none,
  1, 236, :_reduce_none,
  1, 183, :_reduce_none,
  1, 183, :_reduce_none,
  2, 183, :_reduce_270,
  4, 183, :_reduce_271,
  2, 183, :_reduce_272,
  1, 207, :_reduce_273,
  2, 207, :_reduce_274,
  2, 207, :_reduce_275,
  4, 207, :_reduce_276,
  1, 207, :_reduce_277,
  0, 239, :_reduce_278,
  2, 200, :_reduce_279,
  2, 238, :_reduce_280,
  2, 237, :_reduce_281,
  1, 237, :_reduce_none,
  1, 231, :_reduce_283,
  2, 231, :_reduce_284,
  3, 231, :_reduce_285,
  4, 231, :_reduce_286,
  1, 177, :_reduce_287,
  1, 177, :_reduce_288,
  3, 176, :_reduce_289,
  4, 176, :_reduce_290,
  2, 176, :_reduce_291,
  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_302,
  0, 275, :_reduce_303,
  4, 227, :_reduce_304,
  0, 276, :_reduce_305,
  3, 227, :_reduce_306,
  0, 277, :_reduce_307,
  4, 227, :_reduce_308,
  3, 227, :_reduce_309,
  3, 227, :_reduce_310,
  2, 227, :_reduce_311,
  0, 278, :_reduce_312,
  4, 227, :_reduce_313,
  0, 279, :_reduce_314,
  4, 227, :_reduce_315,
  1, 227, :_reduce_316,
  4, 227, :_reduce_317,
  3, 227, :_reduce_318,
  1, 227, :_reduce_319,
  5, 227, :_reduce_320,
  4, 227, :_reduce_321,
  3, 227, :_reduce_322,
  2, 227, :_reduce_323,
  1, 227, :_reduce_none,
  2, 227, :_reduce_325,
  1, 227, :_reduce_326,
  6, 227, :_reduce_327,
  6, 227, :_reduce_328,
  4, 227, :_reduce_329,
  4, 227, :_reduce_330,
  5, 227, :_reduce_331,
  4, 227, :_reduce_332,
  5, 227, :_reduce_333,
  6, 227, :_reduce_334,
  0, 280, :_reduce_335,
  0, 281, :_reduce_336,
  7, 227, :_reduce_337,
  0, 282, :_reduce_338,
  0, 283, :_reduce_339,
  0, 284, :_reduce_340,
  9, 227, :_reduce_341,
  0, 285, :_reduce_342,
  0, 286, :_reduce_343,
  6, 227, :_reduce_344,
  0, 287, :_reduce_345,
  6, 227, :_reduce_346,
  0, 288, :_reduce_347,
  0, 289, :_reduce_348,
  9, 227, :_reduce_349,
  1, 227, :_reduce_350,
  1, 227, :_reduce_351,
  1, 227, :_reduce_352,
  1, 227, :_reduce_353,
  1, 182, :_reduce_354,
  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, 265, :_reduce_none,
  1, 267, :_reduce_362,
  1, 270, :_reduce_363,
  1, 271, :_reduce_364,
  1, 290, :_reduce_none,
  1, 291, :_reduce_none,
  1, 292, :_reduce_none,
  1, 293, :_reduce_none,
  1, 294, :_reduce_none,
  1, 163, :_reduce_none,
  1, 295, :_reduce_none,
  1, 250, :_reduce_none,
  1, 206, :_reduce_none,
  1, 256, :_reduce_none,
  1, 256, :_reduce_none,
  2, 256, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 257, :_reduce_none,
  5, 257, :_reduce_380,
  1, 259, :_reduce_none,
  2, 259, :_reduce_382,
  1, 266, :_reduce_none,
  1, 266, :_reduce_384,
  1, 296, :_reduce_none,
  3, 296, :_reduce_386,
  1, 299, :_reduce_387,
  3, 299, :_reduce_388,
  1, 298, :_reduce_389,
  3, 298, :_reduce_390,
  5, 298, :_reduce_391,
  1, 298, :_reduce_392,
  3, 298, :_reduce_393,
  2, 300, :_reduce_394,
  1, 300, :_reduce_395,
  4, 301, :_reduce_396,
  2, 301, :_reduce_397,
  2, 301, :_reduce_398,
  2, 301, :_reduce_399,
  1, 301, :_reduce_400,
  2, 307, :_reduce_401,
  1, 307, :_reduce_none,
  6, 308, :_reduce_403,
  8, 308, :_reduce_404,
  4, 308, :_reduce_405,
  6, 308, :_reduce_406,
  4, 308, :_reduce_407,
  2, 308, :_reduce_408,
  6, 308, :_reduce_409,
  2, 308, :_reduce_410,
  4, 308, :_reduce_411,
  6, 308, :_reduce_412,
  2, 308, :_reduce_413,
  4, 308, :_reduce_414,
  2, 308, :_reduce_415,
  4, 308, :_reduce_416,
  1, 308, :_reduce_417,
  1, 312, :_reduce_418,
  1, 312, :_reduce_419,
  3, 313, :_reduce_420,
  1, 313, :_reduce_421,
  4, 313, :_reduce_422,
  1, 314, :_reduce_none,
  4, 314, :_reduce_424,
  1, 315, :_reduce_425,
  3, 315, :_reduce_426,
  1, 316, :_reduce_427,
  1, 316, :_reduce_none,
  0, 320, :_reduce_429,
  0, 321, :_reduce_430,
  5, 254, :_reduce_431,
  4, 318, :_reduce_432,
  1, 318, :_reduce_433,
  3, 319, :_reduce_434,
  3, 319, :_reduce_435,
  3, 323, :_reduce_436,
  2, 197, :_reduce_437,
  4, 197, :_reduce_438,
  5, 197, :_reduce_439,
  5, 197, :_reduce_440,
  2, 253, :_reduce_441,
  4, 253, :_reduce_442,
  4, 253, :_reduce_443,
  3, 253, :_reduce_444,
  3, 253, :_reduce_445,
  3, 253, :_reduce_446,
  2, 253, :_reduce_447,
  1, 253, :_reduce_448,
  4, 253, :_reduce_449,
  0, 326, :_reduce_450,
  4, 252, :_reduce_451,
  0, 327, :_reduce_452,
  4, 252, :_reduce_453,
  0, 328, :_reduce_454,
  0, 329, :_reduce_455,
  4, 202, :_reduce_456,
  0, 331, :_reduce_457,
  0, 332, :_reduce_458,
  4, 324, :_reduce_459,
  1, 330, :_reduce_460,
  2, 330, :_reduce_461,
  3, 330, :_reduce_462,
  4, 330, :_reduce_463,
  0, 334, :_reduce_464,
  6, 263, :_reduce_465,
  1, 333, :_reduce_none,
  1, 333, :_reduce_none,
  0, 337, :_reduce_468,
  0, 338, :_reduce_469,
  7, 264, :_reduce_470,
  1, 336, :_reduce_none,
  1, 336, :_reduce_none,
  1, 335, :_reduce_none,
  3, 335, :_reduce_474,
  3, 335, :_reduce_475,
  1, 339, :_reduce_none,
  2, 339, :_reduce_477,
  3, 339, :_reduce_478,
  1, 339, :_reduce_479,
  1, 339, :_reduce_480,
  1, 189, :_reduce_none,
  3, 343, :_reduce_482,
  1, 343, :_reduce_none,
  3, 345, :_reduce_484,
  1, 345, :_reduce_none,
  1, 347, :_reduce_486,
  1, 348, :_reduce_487,
  1, 346, :_reduce_none,
  4, 346, :_reduce_489,
  4, 346, :_reduce_490,
  3, 346, :_reduce_491,
  4, 346, :_reduce_492,
  4, 346, :_reduce_493,
  3, 346, :_reduce_494,
  0, 352, :_reduce_495,
  4, 346, :_reduce_496,
  2, 346, :_reduce_497,
  0, 353, :_reduce_498,
  4, 346, :_reduce_499,
  2, 346, :_reduce_500,
  0, 354, :_reduce_501,
  4, 346, :_reduce_502,
  1, 340, :_reduce_503,
  1, 340, :_reduce_504,
  2, 340, :_reduce_505,
  3, 340, :_reduce_506,
  5, 340, :_reduce_507,
  2, 340, :_reduce_508,
  4, 340, :_reduce_509,
  1, 340, :_reduce_none,
  2, 355, :_reduce_511,
  3, 355, :_reduce_512,
  2, 341, :_reduce_513,
  4, 341, :_reduce_514,
  1, 341, :_reduce_515,
  3, 341, :_reduce_516,
  1, 357, :_reduce_none,
  3, 357, :_reduce_518,
  1, 356, :_reduce_519,
  3, 342, :_reduce_520,
  1, 342, :_reduce_521,
  2, 342, :_reduce_522,
  1, 342, :_reduce_523,
  3, 342, :_reduce_524,
  1, 342, :_reduce_525,
  1, 358, :_reduce_none,
  3, 358, :_reduce_527,
  2, 361, :_reduce_528,
  1, 361, :_reduce_529,
  1, 362, :_reduce_530,
  2, 359, :_reduce_531,
  1, 359, :_reduce_532,
  2, 360, :_reduce_533,
  1, 349, :_reduce_none,
  3, 349, :_reduce_535,
  3, 349, :_reduce_536,
  2, 349, :_reduce_537,
  2, 349, :_reduce_538,
  1, 349, :_reduce_none,
  1, 349, :_reduce_none,
  1, 349, :_reduce_none,
  2, 349, :_reduce_542,
  2, 349, :_reduce_543,
  1, 364, :_reduce_none,
  1, 364, :_reduce_none,
  1, 364, :_reduce_none,
  1, 364, :_reduce_none,
  1, 364, :_reduce_none,
  1, 364, :_reduce_none,
  1, 364, :_reduce_none,
  1, 364, :_reduce_none,
  1, 364, :_reduce_552,
  1, 364, :_reduce_none,
  1, 344, :_reduce_554,
  2, 365, :_reduce_555,
  2, 350, :_reduce_556,
  3, 350, :_reduce_557,
  1, 350, :_reduce_558,
  6, 162, :_reduce_559,
  0, 162, :_reduce_560,
  1, 366, :_reduce_561,
  1, 366, :_reduce_none,
  1, 366, :_reduce_none,
  2, 367, :_reduce_564,
  1, 367, :_reduce_none,
  2, 164, :_reduce_566,
  1, 164, :_reduce_none,
  1, 240, :_reduce_568,
  1, 240, :_reduce_none,
  1, 241, :_reduce_570,
  1, 369, :_reduce_571,
  1, 369, :_reduce_none,
  2, 369, :_reduce_573,
  3, 370, :_reduce_574,
  1, 370, :_reduce_575,
  3, 242, :_reduce_576,
  3, 243, :_reduce_577,
  3, 244, :_reduce_578,
  3, 244, :_reduce_579,
  1, 374, :_reduce_580,
  3, 374, :_reduce_581,
  1, 375, :_reduce_none,
  2, 375, :_reduce_583,
  3, 246, :_reduce_584,
  3, 246, :_reduce_585,
  1, 377, :_reduce_586,
  3, 377, :_reduce_587,
  3, 245, :_reduce_588,
  3, 245, :_reduce_589,
  3, 247, :_reduce_590,
  3, 247, :_reduce_591,
  1, 378, :_reduce_592,
  3, 378, :_reduce_593,
  1, 379, :_reduce_594,
  3, 379, :_reduce_595,
  1, 371, :_reduce_596,
  2, 371, :_reduce_597,
  1, 372, :_reduce_598,
  2, 372, :_reduce_599,
  1, 373, :_reduce_600,
  2, 373, :_reduce_601,
  1, 376, :_reduce_602,
  0, 381, :_reduce_603,
  3, 376, :_reduce_604,
  0, 382, :_reduce_605,
  4, 376, :_reduce_606,
  1, 380, :_reduce_607,
  1, 380, :_reduce_608,
  1, 380, :_reduce_609,
  1, 380, :_reduce_none,
  1, 222, :_reduce_none,
  1, 222, :_reduce_none,
  2, 383, :_reduce_613,
  1, 383, :_reduce_614,
  1, 385, :_reduce_none,
  1, 385, :_reduce_none,
  1, 385, :_reduce_none,
  1, 385, :_reduce_none,
  3, 384, :_reduce_619,
  1, 368, :_reduce_none,
  2, 368, :_reduce_621,
  1, 225, :_reduce_none,
  1, 225, :_reduce_none,
  1, 225, :_reduce_none,
  1, 225, :_reduce_none,
  1, 215, :_reduce_none,
  1, 215, :_reduce_none,
  1, 215, :_reduce_none,
  1, 215, :_reduce_none,
  1, 215, :_reduce_none,
  1, 216, :_reduce_631,
  1, 216, :_reduce_632,
  1, 216, :_reduce_633,
  1, 216, :_reduce_634,
  1, 216, :_reduce_635,
  1, 216, :_reduce_636,
  1, 216, :_reduce_637,
  1, 248, :_reduce_638,
  1, 248, :_reduce_639,
  1, 181, :_reduce_640,
  1, 181, :_reduce_641,
  1, 186, :_reduce_642,
  1, 186, :_reduce_643,
  0, 386, :_reduce_644,
  4, 268, :_reduce_645,
  1, 268, :_reduce_646,
  3, 272, :_reduce_647,
  5, 272, :_reduce_648,
  3, 272, :_reduce_649,
  0, 388, :_reduce_650,
  3, 272, :_reduce_651,
  4, 387, :_reduce_652,
  2, 387, :_reduce_653,
  2, 387, :_reduce_654,
  2, 387, :_reduce_655,
  1, 387, :_reduce_none,
  2, 390, :_reduce_657,
  0, 390, :_reduce_658,
  6, 322, :_reduce_659,
  8, 322, :_reduce_660,
  4, 322, :_reduce_661,
  6, 322, :_reduce_662,
  4, 322, :_reduce_663,
  6, 322, :_reduce_664,
  2, 322, :_reduce_665,
  4, 322, :_reduce_666,
  6, 322, :_reduce_667,
  2, 322, :_reduce_668,
  4, 322, :_reduce_669,
  2, 322, :_reduce_670,
  4, 322, :_reduce_671,
  1, 322, :_reduce_672,
  0, 322, :_reduce_673,
  1, 235, :_reduce_674,
  1, 317, :_reduce_675,
  1, 317, :_reduce_676,
  1, 317, :_reduce_677,
  1, 317, :_reduce_678,
  1, 297, :_reduce_none,
  1, 297, :_reduce_680,
  1, 392, :_reduce_none,
  1, 393, :_reduce_none,
  3, 393, :_reduce_683,
  1, 309, :_reduce_684,
  3, 309, :_reduce_685,
  1, 394, :_reduce_none,
  2, 395, :_reduce_687,
  1, 395, :_reduce_688,
  2, 396, :_reduce_689,
  1, 396, :_reduce_690,
  1, 302, :_reduce_none,
  3, 302, :_reduce_692,
  1, 389, :_reduce_none,
  3, 389, :_reduce_694,
  1, 363, :_reduce_none,
  1, 363, :_reduce_none,
  2, 305, :_reduce_697,
  2, 303, :_reduce_698,
  1, 303, :_reduce_699,
  3, 397, :_reduce_700,
  3, 398, :_reduce_701,
  1, 310, :_reduce_702,
  3, 310, :_reduce_703,
  1, 391, :_reduce_704,
  3, 391, :_reduce_705,
  1, 399, :_reduce_none,
  1, 399, :_reduce_none,
  2, 311, :_reduce_708,
  1, 311, :_reduce_709,
  1, 400, :_reduce_none,
  1, 400, :_reduce_none,
  2, 306, :_reduce_712,
  2, 304, :_reduce_713,
  0, 304, :_reduce_714,
  1, 273, :_reduce_none,
  0, 401, :_reduce_716,
  4, 273, :_reduce_717,
  1, 251, :_reduce_718,
  2, 251, :_reduce_none,
  1, 233, :_reduce_none,
  3, 233, :_reduce_721,
  3, 402, :_reduce_722,
  2, 402, :_reduce_723,
  4, 402, :_reduce_724,
  2, 402, :_reduce_725,
  1, 205, :_reduce_none,
  1, 205, :_reduce_none,
  1, 205, :_reduce_none,
  1, 199, :_reduce_none,
  1, 199, :_reduce_none,
  1, 199, :_reduce_none,
  1, 199, :_reduce_none,
  1, 325, :_reduce_none,
  1, 325, :_reduce_none,
  1, 325, :_reduce_none,
  1, 274, :_reduce_none,
  1, 274, :_reduce_none,
  1, 185, :_reduce_none,
  1, 185, :_reduce_none,
  1, 198, :_reduce_none,
  1, 198, :_reduce_none,
  0, 152, :_reduce_none,
  1, 152, :_reduce_none,
  0, 187, :_reduce_none,
  1, 187, :_reduce_none,
  2, 210, :_reduce_none,
  2, 184, :_reduce_none,
  2, 351, :_reduce_none,
  0, 232, :_reduce_none,
  1, 232, :_reduce_none,
  1, 232, :_reduce_none,
  1, 269, :_reduce_752,
  1, 269, :_reduce_none,
  1, 155, :_reduce_none,
  2, 155, :_reduce_755,
  0, 153, :_reduce_756 ]

racc_reduce_n = 757

racc_shift_n = 1250

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,
  :tRATIONAL => 139,
  :tIMAGINARY => 140,
  :tLABEL_END => 141,
  :tLONELY => 142,
  :tBDOT2 => 143,
  :tBDOT3 => 144,
  :tLOWEST => 145,
  :tEQL => 146 }

racc_nt_base = 147

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",
  "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",
  "@5",
  "fitem",
  "undef_list",
  "expr_value",
  "command_asgn",
  "mlhs",
  "command_call",
  "lhs",
  "mrhs",
  "mrhs_arg",
  "expr",
  "@6",
  "command_rhs",
  "var_lhs",
  "primary_value",
  "opt_call_args",
  "rbracket",
  "call_op",
  "backref",
  "opt_nl",
  "arg",
  "p_expr",
  "@7",
  "expr_value_do",
  "do",
  "@8",
  "@9",
  "command",
  "block_command",
  "block_call",
  "call_op2",
  "operation2",
  "command_args",
  "cmd_brace_block",
  "brace_body",
  "fcall",
  "@10",
  "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",
  "symbol",
  "@11",
  "arg_rhs",
  "simple_numeric",
  "rel_expr",
  "primary",
  "relop",
  "arg_value",
  "aref_args",
  "args",
  "trailer",
  "assocs",
  "paren_args",
  "args_forward",
  "opt_paren_args",
  "opt_block_arg",
  "block_arg",
  "@12",
  "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",
  "p_case_body",
  "k_for",
  "for_var",
  "k_class",
  "superclass",
  "term",
  "k_module",
  "k_def",
  "f_arglist",
  "singleton",
  "dot_or_colon",
  "@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",
  "f_rest_marg",
  "block_args_tail",
  "f_block_kwarg",
  "f_kwrest",
  "opt_f_block_arg",
  "f_no_kwarg",
  "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",
  "case_args",
  "@34",
  "@35",
  "cases",
  "@36",
  "p_top_expr",
  "p_cases",
  "@37",
  "@38",
  "p_top_expr_body",
  "p_args",
  "p_args_tail",
  "p_kwargs",
  "p_as",
  "p_variable",
  "p_alt",
  "p_expr_basic",
  "p_lparen",
  "p_lbracket",
  "p_value",
  "p_const",
  "rbrace",
  "@39",
  "@40",
  "@41",
  "p_args_head",
  "p_arg",
  "p_args_post",
  "p_kwarg",
  "p_kwrest",
  "p_kwnorest",
  "p_kw",
  "p_kw_label",
  "kwrest_mark",
  "p_primitive",
  "p_var_ref",
  "exc_list",
  "exc_var",
  "numeric",
  "string",
  "string1",
  "string_contents",
  "xstring_contents",
  "regexp_contents",
  "word_list",
  "word",
  "string_content",
  "symbol_list",
  "qword_list",
  "qsym_list",
  "string_dvar",
  "@42",
  "@43",
  "ssym",
  "dsym",
  "sym",
  "@44",
  "args_tail",
  "@45",
  "f_kwarg",
  "opt_args_tail",
  "f_optarg",
  "f_arg_asgn",
  "f_arg_item",
  "f_label",
  "f_kw",
  "f_block_kw",
  "f_opt",
  "f_block_opt",
  "restarg_mark",
  "blkarg_mark",
  "@46",
  "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
                        debug 11
                        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]
                      # TODO: move down to main match so I can just use val

                      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]
                      debug 12

    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)
                      result = val[2] # wtf?

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

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

    result
end

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

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

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

    result
end

# reduce 36 omitted

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

    result
end

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

    result
end

def _reduce_39(val, _values, result)
                      # unwraps s(:to_ary, rhs)
                      lhs, _, (_, rhs), _, resbody = val

                      resbody = new_resbody s(:array).line(resbody.line), resbody

                      result = new_masgn lhs, new_rescue(rhs, resbody), :wrap

    result
end

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

    result
end

# reduce 41 omitted

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

    result
end

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

    result
end

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

    result
end

def _reduce_45(val, _values, result)
                      prim, (call_op, _), (id, _), (op_asgn, _), rhs = val

                      result = s(:op_asgn, prim, rhs, id.to_sym, op_asgn.to_sym)
                      result.sexp_type = :safe_op_asgn if call_op == '&.'
                      result.line prim.line

    result
end

def _reduce_46(val, _values, result)
                      prim, (call_op, _), (id, _), (op_asgn, _), rhs = val

                      result = s(:op_asgn, prim, rhs, id.to_sym, op_asgn.to_sym)
                      result.sexp_type = :safe_op_asgn if call_op == '&.'
                      result.line prim.line

    result
end

def _reduce_47(val, _values, result)
                      lhs1, _, (lhs2, line), (id, _), rhs = val

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

    result
end

def _reduce_48(val, _values, result)
                      lhs1, _, (lhs2, line), (id, _), rhs = val

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

    result
end

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

    result
end

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

    result
end

def _reduce_51(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 52 omitted

# reduce 53 omitted

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

    result
end

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

    result
end

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

    result
end

def _reduce_57(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

def _reduce_58(val, _values, result)
                      # TODO? value_expr($1);
                      self.lexer.lex_state = EXPR_BEG|EXPR_LABEL
                      self.lexer.command_start = false
                      result = self.in_kwarg
                      self.in_kwarg = true
                      self.env.extend

    result
end

def _reduce_59(val, _values, result)
                      self.env.unextend

                      expr, _, old_kwarg, pat = val

                      expr = value_expr expr

                      self.in_kwarg = old_kwarg
                      pat_in = new_in pat, nil, nil, expr.line
                      result = new_case expr, pat_in, expr.line

    result
end

# reduce 60 omitted

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

    result
end

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

    result
end

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

    result
end

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

    result
end

# reduce 65 omitted

# reduce 66 omitted

# reduce 67 omitted

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

    result
end

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

    result
end

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

                      result = body
                      result.line line

                      # self.env.unextend

    result
end

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

    result
end

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

    result
end

def _reduce_73(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_74(val, _values, result)
                      lhs, callop, (op, _), args = val

                      result = new_call lhs, op.to_sym, args, callop
                      result.line lhs.line

    result
end

def _reduce_75(val, _values, result)
                      recv, _, (msg, _line), 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_76(val, _values, result)
                      lhs, _, (id, line), args = val

                      result = new_call lhs, id.to_sym, args
                      result.line line

    result
end

def _reduce_77(val, _values, result)
                      recv, _, (msg, _line), 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_78(val, _values, result)
                      result = new_super val[1]

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

# reduce 83 omitted

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

    result
end

# reduce 85 omitted

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

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

    result
end

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

    result
end

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

    result
end

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

    result
end

def _reduce_90(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_91(val, _values, result)
                      head, _ = val
                      l = head.line
                      result = s(:masgn, head << s(:splat).line(l)).line l

    result
end

def _reduce_92(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_93(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_94(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_95(val, _values, result)
                      l = lexer.lineno
                      result = s(:masgn, s(:array, s(:splat).line(l)).line(l)).line l

    result
end

def _reduce_96(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 97 omitted

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

def _reduce_106(val, _values, result)
                      lhs, call_op, (id, _line) = val

                      result = new_attrasgn lhs, id, call_op

    result
end

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

    result
end

def _reduce_108(val, _values, result)
                      lhs, call_op, (id, _line) = val

                      result = new_attrasgn lhs, id, call_op

    result
end

def _reduce_109(val, _values, result)
                      if (self.in_def || self.in_single > 0) then
                        debug 14
                        yyerror "dynamic constant assignment"
                      end

                      expr, _, (id, _line) = val
                      l = expr.line

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

    result
end

def _reduce_110(val, _values, result)
                      if (self.in_def || self.in_single > 0) then
                        debug 15
                        yyerror "dynamic constant assignment"
                      end

                      _, (id, l) = val

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

    result
end

def _reduce_111(val, _values, result)
                      ref, = val

                      self.backref_assign_error ref

    result
end

def _reduce_112(val, _values, result)
                      var, = val

                      result = self.assignable var

    result
end

def _reduce_113(val, _values, result)
                      var, = val

                      result = self.assignable var

                      debug 16

    result
end

def _reduce_114(val, _values, result)
                      lhs, _, args, _ = val

                      result = self.aryset lhs, args

    result
end

def _reduce_115(val, _values, result)
                      lhs, op, (id, _line) = val

                      result = new_attrasgn lhs, id, op

    result
end

def _reduce_116(val, _values, result)
                      lhs, _, (id, _line) = val

                      result = new_attrasgn lhs, id

    result
end

def _reduce_117(val, _values, result)
                      lhs, call_op, (id, _line) = val

                      result = new_attrasgn lhs, id, call_op

    result
end

def _reduce_118(val, _values, result)
                      expr, _, (id, _line) = val

                      if (self.in_def || self.in_single > 0) then
                        debug 17
                        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_119(val, _values, result)
                      _, (id, l) = val

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

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

    result
end

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

    result
end

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

    result
end

# reduce 122 omitted

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

    result
end

def _reduce_124(val, _values, result)
                      (id, line), = val
                      result = [id.to_sym, line] # TODO: sexp?

    result
end

def _reduce_125(val, _values, result)
                      pval, _, (name, _line) = val

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

    result
end

# reduce 126 omitted

# reduce 127 omitted

# reduce 128 omitted

def _reduce_129(val, _values, result)
                      lexer.lex_state = EXPR_END

    result
end

# reduce 130 omitted

def _reduce_131(val, _values, result)
                      (id, line), = val

                      result = s(:lit, id.to_sym).line line

    result
end

# reduce 132 omitted

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

    result
end

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

    result
end

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

    result
end

# 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

# reduce 206 omitted

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

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

    result
end

def _reduce_213(val, _values, result)
                      lhs1, _, (lhs2, _line), 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_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.sexp_type == :lit and v2.sexp_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.sexp_type == :lit and v2.sexp_type == :lit and Integer === v1.last and Integer === v2.last then
                        result = s(:lit, (v1.last)...(v2.last)).line v1.line
                      else
                        result = s(:dot3, v1, v2).line v1.line
                      end

    result
end

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

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

    result
end

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

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

    result
end

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

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

    result
end

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

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

    result
end

def _reduce_222(val, _values, result)
                      result = new_call val[0], :+, argl(val[2])

    result
end

def _reduce_223(val, _values, result)
                      result = new_call val[0], :-, argl(val[2])

    result
end

def _reduce_224(val, _values, result)
                      result = new_call val[0], :*, argl(val[2])

    result
end

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

    result
end

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

    result
end

def _reduce_227(val, _values, result)
                      result = new_call val[0], :**, argl(val[2])

    result
end

def _reduce_228(val, _values, result)
                      _, (num, line), _, arg = val
                      lit = s(:lit, num).line line
                      result = new_call(new_call(lit, :"**", argl(arg)), :"-@")


    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

# reduce 235 omitted

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

def _reduce_243(val, _values, result)
                      val[0] = value_expr val[0]
                      val[2] = value_expr val[2]
                      result = new_call val[0], :"\<\<", argl(val[2])

    result
end

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

    result
end

def _reduce_245(val, _values, result)
                      result = logical_op :and, val[0], val[2]

    result
end

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

    result
end

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

    result
end

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

    result
end

# reduce 249 omitted

# reduce 250 omitted

# reduce 251 omitted

# reduce 252 omitted

# reduce 253 omitted

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

    result
end

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

    result
end

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

    result
end

# reduce 257 omitted

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

    result
end

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

    result
end

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

    result
end

# reduce 261 omitted

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

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

    result
end

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

    result
end

def _reduce_264(val, _values, result)
                      yyerror "Unexpected ..." unless
                        self.lexer.is_local_id(:"*")  &&
                        self.lexer.is_local_id(:"**") &&
                        self.lexer.is_local_id(:"&")

                      result = call_args val

    result
end

def _reduce_265(val, _values, result)
                      yyerror "Unexpected ..." unless
                        self.lexer.is_local_id(:"*")  &&
                        self.lexer.is_local_id(:"**") &&
                        self.lexer.is_local_id(:"&")

                      result = call_args val

    result
end

# reduce 266 omitted

# reduce 267 omitted

# reduce 268 omitted

# reduce 269 omitted

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

def _reduce_278(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_279(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_280(val, _values, result)
                      _, arg = val
                      result = s(:block_pass, arg).line arg.line

    result
end

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

    result
end

# reduce 282 omitted

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

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

    result
end

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

    result
end

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

    result
end

def _reduce_286(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_287(val, _values, result)
                      result = new_masgn_arg val[0]

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

# reduce 292 omitted

# reduce 293 omitted

# reduce 294 omitted

# reduce 295 omitted

# reduce 296 omitted

# reduce 297 omitted

# reduce 298 omitted

# reduce 299 omitted

# reduce 300 omitted

# reduce 301 omitted

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

def _reduce_310(val, _values, result)
                      expr, _, (id, _line) = val

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

    result
end

def _reduce_311(val, _values, result)
                      _, (id, line) = val

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

    result
end

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

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

    result
end

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

    result
end

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

    result
end

def _reduce_317(val, _values, result)
                      (_, line), _, args, _ = val

                      result = new_yield(args).line line

    result
end

def _reduce_318(val, _values, result)
                      (_, line), _, _ = val

                      result = new_yield.line line

    result
end

def _reduce_319(val, _values, result)
                      (_, line), = val

                      result = new_yield.line line

    result
end

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

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

    result
end

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

    result
end

def _reduce_322(val, _values, result)
                      debug 20

    result
end

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

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

    result
end

# reduce 324 omitted

def _reduce_325(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_326(val, _values, result)
                      expr, = val
                      result = expr

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

                      result = new_case expr, body, line

    result
end

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

    result
end

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

    result
end

def _reduce_336(val, _values, result)
                      if (self.in_def || self.in_single > 0) then
                        yyerror "class definition in method body"
                      end
                      self.env.extend

    result
end

def _reduce_337(val, _values, result)
                      result = new_class val
                      self.env.unextend
                      self.lexer.ignore_body_comments

    result
end

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

    result
end

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

    result
end

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

    result
end

def _reduce_341(val, _values, result)
                      result = new_sclass val
                      self.env.unextend
                      self.lexer.ignore_body_comments

    result
end

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

    result
end

def _reduce_343(val, _values, result)
                      yyerror "module definition in method body" if
                        self.in_def or self.in_single > 0

                      self.env.extend

    result
end

def _reduce_344(val, _values, result)
                      result = new_module val
                      self.env.unextend
                      self.lexer.ignore_body_comments

    result
end

def _reduce_345(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

    result
end

def _reduce_346(val, _values, result)
                      result, in_def = new_defn val

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

                      self.lexer.ignore_body_comments

    result
end

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

    result
end

def _reduce_348(val, _values, result)
                      result = self.in_def

                      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

    result
end

def _reduce_349(val, _values, result)
                      # [kdef, recv, _, _, (name, line), in_def, args, body, kend]
                      # =>
                      # [kdef, recv, (name, line), in_def, args, body, kend]

                      val.delete_at 3
                      val.delete_at 2

                      result, in_def = 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.ignore_body_comments

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

# reduce 355 omitted

# reduce 356 omitted

# reduce 357 omitted

# reduce 358 omitted

# reduce 359 omitted

# reduce 360 omitted

# reduce 361 omitted

def _reduce_362(val, _values, result)
                      self.comments.push self.lexer.comments

    result
end

def _reduce_363(val, _values, result)
                      self.comments.push self.lexer.comments

    result
end

def _reduce_364(val, _values, result)
                      self.comments.push self.lexer.comments

    result
end

# reduce 365 omitted

# reduce 366 omitted

# reduce 367 omitted

# reduce 368 omitted

# reduce 369 omitted

# reduce 370 omitted

# reduce 371 omitted

# reduce 372 omitted

# reduce 373 omitted

# reduce 374 omitted

# reduce 375 omitted

# reduce 376 omitted

# reduce 377 omitted

# reduce 378 omitted

# reduce 379 omitted

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

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

    result
end

# reduce 381 omitted

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

    result
end

# reduce 383 omitted

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

    result
end

# reduce 385 omitted

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

    result
end

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

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

    result
end

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

    result
end

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

                      result = block_var args

    result
end

def _reduce_390(val, _values, result)
                      args, _, rest = val

                      result = block_var args, rest

    result
end

def _reduce_391(val, _values, result)
                      lhs, _, splat, _, rhs = val

                      result = block_var lhs, splat, rhs

    result
end

def _reduce_392(val, _values, result)
                      rest, = val

                      result = block_var rest

    result
end

def _reduce_393(val, _values, result)
                      splat, _, rest = val

                      result = block_var splat, rest

    result
end

def _reduce_394(val, _values, result)
                      _, (id, line) = val

                      result = args ["*#{id}".to_sym]
                      result.line line

    result
end

def _reduce_395(val, _values, result)
                      result = args [:*]
                      result.line lexer.lineno # FIX: tSTAR -> line

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

def _reduce_400(val, _values, result)
                      (id, line), = val
                      result = call_args [id]
                      result.line line

    result
end

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

    result
end

# reduce 402 omitted

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

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

    result
end

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

    result
end

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

    result
end

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

    result
end

# reduce 423 omitted

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

    result
end

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

    result
end

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

    result
end

def _reduce_427(val, _values, result)
                      (id, line), = val
                      result = s(:shadow, id.to_sym).line line

    result
end

# reduce 428 omitted

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

    result
end

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

    result
end

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

                      lexer.cmdarg.pop

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

                      cmd, blk = val

                      syntax_error "Both block arg and actual block given." if
                        cmd.block_pass?

                      if inverted? val then
                        val = invert_block_call val
                        cmd, blk = val
                      end

                      result = blk
                      result.insert 1, cmd

    result
end

def _reduce_438(val, _values, result)
                      lhs, _, (id, _line), args = val

                      result = new_call lhs, id.to_sym, args

    result
end

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

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

                      result = iter2

    result
end

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

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

                      result = iter2

    result
end

def _reduce_441(val, _values, result)
                      call, args = val

                      result = call.concat args.sexp_body if args

    result
end

def _reduce_442(val, _values, result)
                      recv, call_op, (op, _line), args = val

                      result = new_call recv, op.to_sym, args, call_op

    result
end

def _reduce_443(val, _values, result)
                      recv, _, (op, _line), args = val

                      result = new_call recv, op.to_sym, args

    result
end

def _reduce_444(val, _values, result)
                      lhs, _, (id, _line) = val

                      result = new_call lhs, id.to_sym

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    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)
                      _, line, body, _ = val

                      result = body
                      result.line line

                      self.env.unextend

    result
end

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

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

def _reduce_456(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_457(val, _values, result)
 self.env.extend :dynamic; result = self.lexer.lineno
    result
end

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

def _reduce_459(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_460(val, _values, result)
                      arg, = val

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

    result
end

def _reduce_461(val, _values, result)
                      _, arg = val

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

    result
end

def _reduce_462(val, _values, result)
                      args, _, id = val

                      result = self.list_append args, id

    result
end

def _reduce_463(val, _values, result)
                      args, _, _, id = val

                      result = self.list_append args, s(:splat, id).line(id.line)

    result
end

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

    result
end

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

    result
end

# reduce 466 omitted

# reduce 467 omitted

def _reduce_468(val, _values, result)
                      self.lexer.lex_state = EXPR_BEG|EXPR_LABEL
                      self.lexer.command_start = false
                      result = self.in_kwarg
                      self.in_kwarg = true
                      push_pvtbl
                      push_pktbl

    result
end

def _reduce_469(val, _values, result)
                      pop_pktbl
                      pop_pvtbl
                      old_kwargs = _values[-3]
                      self.in_kwarg = old_kwargs

    result
end

def _reduce_470(val, _values, result)
                      (_, line), _, pat, _, _, body, cases = val

                      result = new_in pat, body, cases, line

    result
end

# reduce 471 omitted

# reduce 472 omitted

# reduce 473 omitted

def _reduce_474(val, _values, result)
                      body, _, cond = val
                      body = remove_begin body

                      result = s(:if, cond, body, nil).line body.line

    result
end

def _reduce_475(val, _values, result)
                      body, _, cond = val
                      body = remove_begin body

                      result = s(:if, cond, nil, body).line body.line

    result
end

# reduce 476 omitted

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

                      tail = new_array_pattern_tail nil, true, nil, nil
                      result = new_array_pattern nil, expr, tail, expr.line

    result
end

def _reduce_478(val, _values, result)
                      expr, _, args = val

                      result = new_array_pattern nil, expr, args, expr.line

    result
end

def _reduce_479(val, _values, result)
                      args, = val
                      result = new_array_pattern nil, nil, args, args.line

    result
end

def _reduce_480(val, _values, result)
                      kwargs, = val
                      result = new_hash_pattern nil, kwargs, kwargs.line

    result
end

# reduce 481 omitted

def _reduce_482(val, _values, result)
                      # NODE *n = NEW_LIST($1, &@$);
                      # n = list_append(p, n, $3);
                      # $$ = new_hash(p, n, &@$);

                      expr, _, var = val

                      id = var.last

                      self.env[id] = :lvar # HACK: need to extend env
                      lhs = s(:lasgn, id).line var.line

                      result = new_assign lhs, expr

    result
end

# reduce 483 omitted

def _reduce_484(val, _values, result)
                      lhs, _, rhs = val

                      result = s(:or, lhs, rhs).line lhs.line

    result
end

# reduce 485 omitted

def _reduce_486(val, _values, result)
 push_pktbl
    result
end

def _reduce_487(val, _values, result)
 push_pktbl
    result
end

# reduce 488 omitted

def _reduce_489(val, _values, result)
                      lhs, _, args, _ = val

                      pop_pktbl
                      result = new_array_pattern(lhs, nil, args, lhs.line)

    result
end

def _reduce_490(val, _values, result)
                      lhs, _, kwargs, _ = val

                      pop_pktbl
                      result = new_hash_pattern(lhs, kwargs, lhs.line)

    result
end

def _reduce_491(val, _values, result)
                      const, _, _ = val

                      tail = new_array_pattern_tail nil, nil, nil, nil
                      result = new_array_pattern const, nil, tail, const.line

    result
end

def _reduce_492(val, _values, result)
                      const, _, pre_arg, _ = val

                      pop_pktbl
                      result = new_array_pattern const, nil, pre_arg, const.line

    result
end

def _reduce_493(val, _values, result)
                      const, _, kwargs, _ = val

                      result = new_hash_pattern const, kwargs, const.line

    result
end

def _reduce_494(val, _values, result)
                      const, _, _ = val

                      tail = new_array_pattern_tail nil, nil, nil, nil
                      result = new_array_pattern const, nil, tail, const.line

    result
end

def _reduce_495(val, _values, result)
 push_pktbl
    result
end

def _reduce_496(val, _values, result)
                      _, _, pat, _ = val

                      pop_pktbl
                      result = new_array_pattern nil, nil, pat, pat.line

    result
end

def _reduce_497(val, _values, result)
                      (_, line), _ = val

                      result = s(:array_pat).line line

    result
end

def _reduce_498(val, _values, result)
                      push_pktbl
                      result = self.in_kwarg
                      self.in_kwarg = false

    result
end

def _reduce_499(val, _values, result)
                      _, in_kwarg, kwargs, _ = val

                      pop_pktbl
                      self.in_kwarg = in_kwarg

                      result = new_hash_pattern(nil, kwargs, kwargs.line)

    result
end

def _reduce_500(val, _values, result)
                      (_, line), _ = val

                      tail = new_hash_pattern_tail nil, nil, line
                      result = new_hash_pattern nil, tail, line

    result
end

def _reduce_501(val, _values, result)
 push_pktbl
    result
end

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

                      pop_pktbl
                      result = expr

    result
end

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

                      ary = s(:array_TAIL, expr).line expr.line
                      result = new_array_pattern_tail(ary, nil, nil, nil).line expr.line

    result
end

def _reduce_504(val, _values, result)
                      head, = val

                      result = new_array_pattern_tail head, true, nil, nil

    result
end

def _reduce_505(val, _values, result)
                      head, tail = val

                      both = array_pat_concat head, tail

                      result = new_array_pattern_tail both, nil, nil, nil
                      result.line head.line

    result
end

def _reduce_506(val, _values, result)
                      head, _, (id, _line) = val

                      result = new_array_pattern_tail head, true, id.to_sym, nil
                      result.line head.line

    result
end

def _reduce_507(val, _values, result)
                      head, _, (id, _line), _, post = val

                      result = new_array_pattern_tail head, true, id.to_sym, post
                      result.line head.line

    result
end

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

                      result = new_array_pattern_tail(expr, true, nil, nil).line expr.line

    result
end

def _reduce_509(val, _values, result)
                      head, _, _, post = val

                      result = new_array_pattern_tail(head, true, nil, post).line head.line

    result
end

# reduce 510 omitted

def _reduce_511(val, _values, result)
                      arg, _ = val
                      result = arg

    result
end

def _reduce_512(val, _values, result)
                      head, tail, _ = val

                      result = s(:PATTERN, *head.sexp_body, *tail.sexp_body)
                      result.line head.line

    result
end

def _reduce_513(val, _values, result)
                      _, (id, line) = val

                      result = new_array_pattern_tail nil, true, id.to_sym, nil
                      result.line line

    result
end

def _reduce_514(val, _values, result)
                      _, (id, line), _, rhs = val

                      result = new_array_pattern_tail nil, true, id.to_sym, rhs
                      result.line line

    result
end

def _reduce_515(val, _values, result)
                      (_, line), = val

                      result = new_array_pattern_tail nil, true, nil, nil
                      result.line line

    result
end

def _reduce_516(val, _values, result)
                      (_, line), _, args = val

                      result = new_array_pattern_tail nil, true, nil, args
                      result.line line

    result
end

# reduce 517 omitted

def _reduce_518(val, _values, result)
                      lhs, _, rhs = val

                      result = array_pat_concat lhs, rhs

    result
end

def _reduce_519(val, _values, result)
                      expr, = val
                      expr = s(:array_TAIL, expr).line expr.line unless
                        expr.sexp_type == :array_TAIL
                      result = expr

    result
end

def _reduce_520(val, _values, result)
                      kw_arg, _, rest = val
                      # TODO? new_unique_key_hash(p, $1, &@$)
                      result = new_hash_pattern_tail kw_arg, rest, kw_arg.line

    result
end

def _reduce_521(val, _values, result)
                      kwarg, = val
                      # TODO? new_unique_key_hash(p, $1, &@$)
                      result = new_hash_pattern_tail kwarg, nil, kwarg.line

    result
end

def _reduce_522(val, _values, result)
                      kwarg, _ = val
                      # TODO? new_unique_key_hash(p, $1, &@$)
                      result = new_hash_pattern_tail kwarg, nil, kwarg.line

    result
end

def _reduce_523(val, _values, result)
                      rest, = val

                      result = new_hash_pattern_tail nil, rest, rest.line

    result
end

def _reduce_524(val, _values, result)
                      kwarg, _, norest = val

                      # TODO? new_unique_key_hash(p, $1, &@$)
                      result = new_hash_pattern_tail kwarg, norest, kwarg.line

    result
end

def _reduce_525(val, _values, result)
                      norest, = val

                      result = new_hash_pattern_tail nil, norest, norest.line

    result
end

# reduce 526 omitted

def _reduce_527(val, _values, result)
                      kwarg, _, kw = val
                      kwarg.concat kw.sexp_body
                      result = kwarg

    result
end

def _reduce_528(val, _values, result)
                      # TODO: error_duplicate_pattern_key(p, get_id($1), &@1);
                      lhs, rhs = val

                      result = s(:PAIR, lhs, rhs).line lhs.line

    result
end

def _reduce_529(val, _values, result)
                      lhs, = val

                      # TODO: error_duplicate_pattern_variable(p, get_id($1), &@1);

                      # TODO: if ($1 && !is_local_id(get_id($1))) {
                      #     yyerror1(&@1, "key must be valid as local variables");
                      # }

                      # $$ = list_append(p, NEW_LIST(NEW_LIT(ID2SYM($1), &@$), &@$),
                      #                     assignable(p, $1, 0, &@$));


                      case lhs.sexp_type
                      when :lit then
                        assignable [lhs.value, lhs.line]
                      else
                        # TODO or done?
                        debug 666
                      end

                      # TODO PAIR -> LIST ?
                      result = s(:PAIR, lhs, nil).line lhs.line

    result
end

def _reduce_530(val, _values, result)
                      (id, line), = val

                      result = s(:lit, id.to_sym).line line

    result
end

def _reduce_531(val, _values, result)
                      _, (id, line) = val

                      name = id.to_sym
                      self.assignable [name, line]
                      result = s(:kwrest, :"**#{name}").line line

    result
end

def _reduce_532(val, _values, result)
                      (_, line), = val

                      result = s(:kwrest, :"**").line line

    result
end

def _reduce_533(val, _values, result)
                      (_, line), _ = val

                      # TODO: or s(:norest)? s(:**nil)?
                      result = s(:kwrest, :"**nil").line line

    result
end

# reduce 534 omitted

def _reduce_535(val, _values, result)
                      lhs, _, rhs = val

                      lhs = value_expr lhs
                      rhs = value_expr rhs

                      result = s(:dot2, lhs, rhs).line lhs.line

    result
end

def _reduce_536(val, _values, result)
                      lhs, _, rhs = val

                      lhs = value_expr lhs
                      rhs = value_expr rhs

                      result = s(:dot3, lhs, rhs).line lhs.line

    result
end

def _reduce_537(val, _values, result)
                      v1, _ = val

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

    result
end

def _reduce_538(val, _values, result)
                      v1, _ = val

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

    result
end

# reduce 539 omitted

# reduce 540 omitted

# reduce 541 omitted

def _reduce_542(val, _values, result)
                      _, v1 = val

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

    result
end

def _reduce_543(val, _values, result)
                      _, v1 = val

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

    result
end

# reduce 544 omitted

# reduce 545 omitted

# reduce 546 omitted

# reduce 547 omitted

# reduce 548 omitted

# reduce 549 omitted

# reduce 550 omitted

# reduce 551 omitted

def _reduce_552(val, _values, result)
                      # TODO? if (!($$ = gettable(p, $1, &@$))) $$ = NEW_BEGIN(0, &@$);
                      var, = val

                      result = var

    result
end

# reduce 553 omitted

def _reduce_554(val, _values, result)
                      (id, line), = val

                      # TODO: error_duplicate_pattern_variable(p, $1, &@1);
                      # TODO: assignable(p, $1, 0, &@$);
                      result = s(:lvar, id.to_sym).line line

    result
end

def _reduce_555(val, _values, result)
                      _, (id, line) = val

                      # TODO: check id against env for lvar or dvar

                      result = s(:lvar, id.to_sym).line line

    result
end

def _reduce_556(val, _values, result)
                      _, (id, line) = val
                      result = s(:colon3, id.to_sym).line line

    result
end

def _reduce_557(val, _values, result)
                      lhs, _, (id, _line) = val

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

    result
end

def _reduce_558(val, _values, result)
                      # TODO $$ = gettable(p, $1, &@$);
                      (id, line), = val
                      result = s(:const, id.to_sym).line line

    result
end

def _reduce_559(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_560(val, _values, result)
                      result = nil

    result
end

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

    result
end

# reduce 562 omitted

# reduce 563 omitted

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

    result
end

# reduce 565 omitted

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

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

    result
end

# reduce 567 omitted

def _reduce_568(val, _values, result)
                      (lit, line), = val
                      result = s(:lit, lit).line line

    result
end

# reduce 569 omitted

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

    result
end

def _reduce_571(val, _values, result)
                      debug 37

    result
end

# reduce 572 omitted

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

    result
end

def _reduce_574(val, _values, result)
                      (_, line), str, (_, func) = val

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

                      result = str.line line

    result
end

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

    result
end

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

    result
end

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

    result
end

def _reduce_578(val, _values, result)
                      (_, line), _, _ = val

                      result = s(:array).line line

    result
end

def _reduce_579(val, _values, result)
                      (_, line), list, _ = val

                      result = list.line line

    result
end

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

    result
end

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

    result
end

# reduce 582 omitted

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

    result
end

def _reduce_584(val, _values, result)
                      (_, line), _, _ = val

                      result = s(:array).line line

    result
end

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

    result
end

def _reduce_586(val, _values, result)
                      result = new_symbol_list

    result
end

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

    result
end

def _reduce_588(val, _values, result)
                      (_, line), _, _ = val

                      result = s(:array).line line

    result
end

def _reduce_589(val, _values, result)
                      (_, line), list, _ = val

                      result = list.line line

    result
end

def _reduce_590(val, _values, result)
                      (_, line), _, _ = val

                      result = s(:array).line line

    result
end

def _reduce_591(val, _values, result)
                      (_, line), list, _ = val

                      result = list.line line

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

def _reduce_596(val, _values, result)
                      line = prev_value_to_lineno _values.last
                      result = s(:str, +"").line line

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

                      lexer.lex_strterm = nil
                      lexer.lex_state = EXPR_BEG

    result
end

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

    result
end

def _reduce_605(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_606(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.cond.pop
                      lexer.cmdarg.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
                        debug 38
                        raise "unknown string body: #{stmt.inspect}"
                      end

    result
end

def _reduce_607(val, _values, result)
                      (id, line), = val
                      result = s(:gvar, id.to_sym).line line

    result
end

def _reduce_608(val, _values, result)
                      (id, line), = val
                      result = s(:ivar, id.to_sym).line line

    result
end

def _reduce_609(val, _values, result)
                      (id, line), = val
                      result = s(:cvar, id.to_sym).line line

    result
end

# reduce 610 omitted

# reduce 611 omitted

# reduce 612 omitted

def _reduce_613(val, _values, result)
                      _, (id, line) = val

                      lexer.lex_state = EXPR_END
                      result = s(:lit, id.to_sym).line line

    result
end

def _reduce_614(val, _values, result)
                      (id, line), = val

                      lexer.lex_state = EXPR_END
                      result = s(:lit, id.to_sym).line line

    result
end

# reduce 615 omitted

# reduce 616 omitted

# reduce 617 omitted

# reduce 618 omitted

def _reduce_619(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
                        debug 39
                      end

    result
end

# reduce 620 omitted

def _reduce_621(val, _values, result)
                      _, (num, line) = val
                      result = [-num, line]

    result
end

# reduce 622 omitted

# reduce 623 omitted

# reduce 624 omitted

# reduce 625 omitted

# reduce 626 omitted

# reduce 627 omitted

# reduce 628 omitted

# reduce 629 omitted

# reduce 630 omitted

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

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

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

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

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

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

def _reduce_637(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_638(val, _values, result)
                      raise "NO: #{val.inspect}" if Sexp === val.first
                      (var, line), = val
                      result = Sexp === var ? var : self.gettable(var)
                      result.line line

    result
end

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

    result
end

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

    result
end

def _reduce_641(val, _values, result)
                      result = self.assignable val[0]
                      debug 40

    result
end

def _reduce_642(val, _values, result)
                      (ref, line), = val
                      result = s(:nth_ref, ref).line line

    result
end

def _reduce_643(val, _values, result)
                      (ref, line), = val
                      result = s(:back_ref, ref).line line

    result
end

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

    result
end

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

    result
end

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

    result
end

def _reduce_647(val, _values, result)
                      result = end_args val

    result
end

def _reduce_648(val, _values, result)
                      result = end_args val

    result
end

def _reduce_649(val, _values, result)
                      result = end_args val

    result
end

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

    result
end

def _reduce_651(val, _values, result)
                      result = end_args val

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

# reduce 656 omitted

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

def _reduce_673(val, _values, result)
                      result = args val
                      # result.line lexer.lineno

    result
end

def _reduce_674(val, _values, result)
                      result = s(:forward_args).line lexer.lineno

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

# reduce 679 omitted

def _reduce_680(val, _values, result)
                      (id, line), = val
                      identifier = id.to_sym
                      self.env[identifier] = :lvar

                      result = [identifier, line]

    result
end

# reduce 681 omitted

# reduce 682 omitted

def _reduce_683(val, _values, result)
                      _, margs, _ = val

                      result = margs

    result
end

def _reduce_684(val, _values, result)
                      result = new_arg val

    result
end

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

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

                      result << (Sexp === item ? item : item.first)

    result
end

# reduce 686 omitted

def _reduce_687(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_688(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_689(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_690(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 691 omitted

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

    result
end

# reduce 693 omitted

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

    result
end

# reduce 695 omitted

# reduce 696 omitted

def _reduce_697(val, _values, result)
                      result = :"**nil"

    result
end

def _reduce_698(val, _values, result)
                      _, (id, line) = val

                      name = id.to_sym
                      self.assignable [name, line]
                      result = [:"**#{name}", line]

    result
end

def _reduce_699(val, _values, result)
                      id = :"**"
                      self.env[id] = :lvar # TODO: needed?!?
                      result = [id, lexer.lineno] # TODO: tPOW/tDSTAR include lineno

    result
end

def _reduce_700(val, _values, result)
                      lhs, _, rhs = val
                      result = self.assignable lhs, rhs
                      # TODO: detect duplicate names

    result
end

def _reduce_701(val, _values, result)
                      lhs, _, rhs = val
                      result = self.assignable lhs, rhs

    result
end

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

    result
end

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

    result
end

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

    result
end

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

    result
end

# reduce 706 omitted

# reduce 707 omitted

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

    result
end

def _reduce_709(val, _values, result)
                      name = :"*"
                      self.env[name] = :lvar
                      result = [name, lexer.lineno] # FIX: tSTAR to include lineno

    result
end

# reduce 710 omitted

# reduce 711 omitted

def _reduce_712(val, _values, result)
                      _, (id, line) = val
                      identifier = id.to_sym

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

    result
end

def _reduce_713(val, _values, result)
                      _, arg = val
                      result = arg

    result
end

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

    result
end

# reduce 715 omitted

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

    result
end

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

    result
end

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

    result
end

# reduce 719 omitted

# reduce 720 omitted

def _reduce_721(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_722(val, _values, result)
                      v1, _, v2 = val
                      result = s(:array, v1, v2).line v1.line

    result
end

def _reduce_723(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_724(val, _values, result)
                      (_, line), sym, _, value = val

                      sym.sexp_type = :dsym

                      result = s(:array, sym, value).line line

    result
end

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

    result
end

# reduce 726 omitted

# reduce 727 omitted

# reduce 728 omitted

# reduce 729 omitted

# reduce 730 omitted

# reduce 731 omitted

# reduce 732 omitted

# reduce 733 omitted

# reduce 734 omitted

# reduce 735 omitted

# reduce 736 omitted

# reduce 737 omitted

# reduce 738 omitted

# reduce 739 omitted

# reduce 740 omitted

# reduce 741 omitted

# reduce 742 omitted

# reduce 743 omitted

# reduce 744 omitted

# reduce 745 omitted

# reduce 746 omitted

# reduce 747 omitted

# reduce 748 omitted

# reduce 749 omitted

# reduce 750 omitted

# reduce 751 omitted

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

# reduce 753 omitted

# reduce 754 omitted

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

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

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

end   # class Ruby27Parser