# -*- encoding:utf-8; warn-indent:false; frozen_string_literal: true -*-
#
# DO NOT MODIFY!!!!
# This file is automatically generated by Racc 1.4.15
# from Racc grammer file "".
#
require 'racc/parser.rb'
require 'parser'
module Parser
class Ruby31 < Parser::Base
def version
31
end
def default_encoding
Encoding::UTF_8
end
def endless_method_name(name_t)
if !%w[=== == != <= >=].include?(name_t[0]) && name_t[0].end_with?('=')
diagnostic :error, :endless_setter, nil, name_t
end
end
def try_declare_numparam(node)
name = node.children[0]
if name =~ /\A_[1-9]\z/ && !static_env.declared?(name) && context.in_dynamic_block?
# definitely an implicit param
location = node.loc.expression
if max_numparam_stack.has_ordinary_params?
diagnostic :error, :ordinary_param_defined, nil, [nil, location]
end
raw_context = context.stack.dup
raw_max_numparam_stack = max_numparam_stack.stack.dup
# ignore current block scope
raw_context.pop
raw_max_numparam_stack.pop
raw_context.reverse_each do |outer_scope|
if outer_scope == :block || outer_scope == :lambda
outer_scope_has_numparams = raw_max_numparam_stack.pop > 0
if outer_scope_has_numparams
diagnostic :error, :numparam_used_in_outer_scope, nil, [nil, location]
else
# for now it's ok, but an outer scope can also be a block
# with numparams, so we need to continue
end
else
# found an outer scope that can't have numparams
# like def/class/etc
break
end
end
static_env.declare(name)
max_numparam_stack.register(name[1].to_i)
true
else
false
end
end
##### State transition tables begin ###
clist = [
'-319,308,617,995,597,-117,-116,-319,-319,-319,218,219,308,-319,-319',
'919,-319,919,919,-121,-122,617,-725,-118,-319,617,660,624,658,1207,234',
'-123,-119,713,943,828,-319,-319,617,-319,-319,-319,-319,-319,-116,-117',
'-124,617,617,-124,925,714,942,123,236,921,1142,1143,122,922,237,918',
'237,-123,-504,303,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319',
'-319,-319,-319,-319,218,219,-319,-319,-319,-713,684,-319,307,-124,-319',
'-123,659,-319,657,237,218,219,-319,307,-319,119,-319,-319,237,-319,-319',
'-319,-319,-319,-607,-319,994,-319,-108,-107,823,-607,-607,-607,123,-119',
'-607,-607,-607,122,-607,-319,-112,-113,-319,-319,-109,-113,-607,-319',
'-607,-607,-607,123,-114,-110,-319,123,122,-122,-607,-607,122,-607,-607',
'-607,-607,-607,-121,-120,123,-118,-115,984,-109,122,-116,-117,-124,123',
'123,-116,-117,-124,122,122,1117,308,237,132,-607,-607,-607,-607,-607',
'-607,-607,-607,-607,-607,-607,-607,-607,-607,123,-725,-607,-607,-607',
'122,-607,-607,609,215,-607,611,123,-607,-607,-111,-607,122,-607,-123',
'-607,230,-607,-607,-123,-607,-607,-607,-607,-607,123,-607,-610,-607',
'-621,122,-109,237,-622,-610,-610,-610,-712,-122,-610,-610,-610,-607',
'-610,-119,-607,-607,-607,-607,-119,-607,-610,-607,-610,-610,-610,230',
'-607,216,1118,-607,-120,-110,-610,-610,307,-610,-610,-610,-610,-610',
'-109,-737,217,-109,-712,-111,-121,-120,-112,-118,220,-121,-120,519,-118',
'-109,887,-116,624,218,219,-117,-610,-610,-610,-610,-610,-610,-610,-610',
'-610,-610,-610,-610,-610,-610,-725,297,-610,-610,-610,-737,-610,-610',
'-713,-111,-610,870,-111,-610,-610,645,-610,237,-610,-712,-610,-110,-610',
'-610,-111,-610,-610,-610,-610,-610,308,-610,-319,-610,101,102,-124,358',
'-112,-319,-319,-319,101,102,-319,-319,-319,-610,-319,-122,-610,-610',
'-610,-610,-122,-610,-319,-610,-319,-319,-319,-110,-610,-111,-110,-610',
'504,503,-319,-319,-118,-319,-319,-319,-319,-319,-110,237,-112,647,646',
'-112,645,-607,630,645,230,887,954,645,-607,630,359,-112,303,631,1057',
'828,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319',
'-319,103,104,-319,-319,-319,307,916,-319,103,104,-319,913,645,-319,-319',
'645,-319,-614,-319,237,-319,428,-319,-319,-614,-319,-319,-319,-319,-319',
'-737,-319,914,-319,647,646,-607,647,646,643,645,647,646,643,856,645',
'468,-319,645,1029,-319,-319,-319,-319,796,-319,645,-319,1057,-716,679',
'230,-319,-628,680,-122,-716,-716,-716,507,-119,-716,-716,-716,224,-716',
'647,646,648,647,646,627,-614,-716,-716,-716,-716,-716,679,854,625,-121',
'218,219,518,-716,-716,680,-716,-716,-716,-716,-716,520,647,646,661,-110',
'-118,647,646,643,647,646,650,645,-622,-737,521,-119,647,646,656,-121',
'236,-716,-716,-716,-716,-716,-716,-716,-716,-716,-716,-716,-716,-716',
'-716,225,750,-716,-716,-716,-112,915,-716,-119,-102,-716,496,-616,-716',
'-716,555,-716,-121,-716,-616,-716,-88,-716,-716,-108,-716,-716,-716',
'-716,-716,-319,-716,-716,-716,979,887,-117,-319,-319,-319,647,646,652',
'-319,-319,609,-319,-716,611,497,-716,-716,-716,-716,-319,-716,224,-716',
'567,123,569,1050,-716,301,122,-120,-319,-319,571,-319,-319,-319,-319',
'-319,979,887,132,-616,488,224,485,484,483,493,486,425,1181,-610,630',
'-87,427,426,954,496,-610,635,-319,-319,-319,-319,-319,-319,-319,-319',
'-319,-319,-319,-319,-319,-319,237,-617,-319,-319,-319,491,684,-319,-617',
'582,-319,225,224,-319,501,500,504,503,-319,301,-319,497,-319,-319,583',
'-319,-319,-319,-319,-319,123,-319,-716,-319,225,122,590,87,123,-716',
'-716,-716,-610,122,312,-716,-716,-319,-716,88,-319,-319,237,-319,230',
'-319,-716,-716,230,89,609,482,-319,608,609,-122,-617,611,-716,-716,303',
'-716,-716,-716,-716,-716,237,225,594,1190,488,224,485,484,483,493,486',
'-618,1157,597,944,945,218,219,-618,496,600,1155,-716,-716,-716,-716',
'-716,-716,-716,-716,-716,-716,-716,-716,-716,-716,261,-621,-716,-716',
'-716,491,685,-716,237,612,-716,234,-615,-716,501,500,504,503,-716,-615',
'-716,497,-716,-716,-114,-716,-716,-716,-716,-716,613,-716,-716,-716',
'225,870,-123,571,624,488,-618,485,484,483,493,486,417,-716,-107,-612',
'-716,-716,-710,-111,496,-716,-612,-613,-115,-716,-116,482,-716,628,-613',
'-120,-716,-716,-716,493,-124,629,-716,-716,637,-716,491,-615,662,496',
'665,666,-109,-716,-716,501,500,504,503,-292,224,668,497,669,-118,-716',
'-716,672,-716,-716,-716,-716,-716,673,-610,237,670,677,224,678,303,-610',
'504,503,-612,633,-710,497,237,691,-610,692,-613,237,635,-716,-716,-716',
'-716,-716,-716,-716,-716,-716,-716,-716,-716,-716,-716,-710,694,-716',
'-716,-716,697,685,-716,-354,698,-716,700,702,-716,704,-354,225,715,-716',
'716,-716,720,-716,-716,-354,-716,-716,-716,-716,-716,-610,-716,-716',
'-716,225,722,-619,728,729,261,261,224,-620,-619,750,261,261,-716,589',
'-620,-716,-716,-619,-716,496,-716,-320,587,-620,237,784,237,-716,-320',
'237,-120,330,77,78,26,11,65,-320,-354,237,71,72,-102,799,237,75,-716',
'73,74,76,35,36,79,80,603,810,814,497,237,81,33,32,111,110,112,113,-619',
'816,23,1050,819,225,-620,824,10,53,332,12,115,114,116,105,64,107,106',
'108,-320,109,117,118,224,101,102,49,50,48,-320,223,-716,825,224,278',
'279,-320,829,-716,221,599,853,857,-712,858,-320,-293,-716,45,517,871',
'38,555,555,66,67,-310,883,68,887,40,907,908,-310,52,237,-716,911,261',
'237,277,276,-310,24,920,937,938,939,99,87,90,91,956,92,94,93,95,958',
'225,297,964,88,98,966,-320,968,-716,569,225,82,258,89,103,104,260,259',
'46,47,330,77,78,26,11,65,571,810,237,71,72,303,303,-310,75,-709,73,74',
'76,35,36,79,80,126,127,128,129,130,81,33,32,111,110,112,113,810,488',
'23,485,484,483,261,486,10,53,332,12,115,114,116,105,64,107,106,108,887',
'109,117,118,224,101,102,49,50,48,-319,516,-607,981,224,982,237,-319',
'706,-607,517,1181,-713,237,-709,992,-319,710,-607,45,635,237,38,-294',
'237,66,67,-319,1003,68,1007,40,-292,1011,-319,52,697,-709,714,-713,1014',
'848,849,-319,24,850,117,118,1016,99,87,90,91,1018,92,94,93,95,1020,225',
'1020,237,88,98,770,-319,237,-607,237,225,82,1048,89,103,104,1051,919',
'46,47,330,77,78,26,11,65,966,1063,237,71,72,810,1079,-319,75,1081,73',
'74,76,35,36,79,80,253,1086,1087,1092,1093,81,33,32,111,110,112,113,1094',
'488,23,485,484,483,-295,486,10,53,332,12,115,114,116,105,64,107,106',
'108,1107,109,117,118,1108,101,102,49,50,48,261,265,266,267,268,278,279',
'273,274,269,270,1109,254,255,237,237,271,272,237,45,237,252,38,493,237',
'66,67,237,919,68,1116,40,258,496,264,52,260,259,237,256,257,277,276',
'262,24,263,1122,1123,1125,99,87,90,91,697,92,94,93,95,1128,1131,1133',
'1135,88,98,237,275,504,503,1137,1147,82,497,89,103,104,1158,1159,46',
'47,330,77,78,26,11,65,1020,1020,1020,71,72,1166,1179,1182,75,1187,73',
'74,76,35,36,79,80,126,127,128,129,130,81,33,32,111,110,112,113,1188',
'691,23,1108,1198,1198,697,674,10,53,332,12,115,114,116,105,64,107,106',
'108,1201,109,117,118,1203,101,102,49,50,48,261,265,266,267,268,278,279',
'273,274,269,270,1205,254,255,1207,1207,271,272,237,45,1020,948,38,952',
'951,66,67,953,1198,68,-713,40,258,-712,264,52,260,259,1224,256,257,277',
'276,262,24,263,1207,1207,1207,99,87,90,91,3,92,94,93,95,950,,,,88,98',
',275,,-264,,,82,,89,103,104,,,46,47,330,77,78,26,11,65,,,,71,72,,,,75',
',73,74,76,35,36,79,80,126,127,128,129,130,81,33,32,111,110,112,113,',
',23,,,,,884,10,53,332,12,115,114,116,105,64,107,106,108,,109,117,118',
',101,102,49,50,48,261,265,266,267,268,278,279,273,274,269,270,,254,255',
',,271,272,,45,,,38,,,66,67,,,68,,40,258,,264,52,260,259,,256,257,277',
'276,262,24,263,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,275,,,,,82,,89',
'103,104,,,46,47,7,77,78,26,11,65,,,,71,72,,,,75,,73,74,76,35,36,79,80',
'126,127,128,129,130,81,33,32,111,110,112,113,,,23,,,,,674,10,53,9,12',
'115,114,116,105,64,107,106,108,,109,117,118,,101,102,49,50,48,261,265',
'266,267,268,278,279,273,274,269,270,,254,255,,,271,272,,45,,,38,,,66',
'67,,,68,,40,258,,264,52,260,259,,256,257,277,276,262,24,263,,,,99,87',
'90,91,,92,94,93,95,,,,,88,98,,275,,,,,82,,89,103,104,,,46,47,330,77',
'78,26,11,65,,,,71,72,,,,75,,73,74,76,35,36,79,80,,,,,,81,33,32,111,110',
'112,113,,,23,,,,,912,10,53,332,12,115,114,116,105,64,107,106,108,,109',
'117,118,,101,102,49,50,48,261,265,266,267,268,278,279,273,274,269,270',
',254,255,,,271,272,,45,,,38,,,66,67,,,68,,40,258,,264,52,260,259,,256',
'257,277,276,262,24,263,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,275,,',
',,82,,89,103,104,,,46,47,330,77,78,26,11,65,,,,71,72,,,,75,,73,74,76',
'35,36,79,80,,,,,,81,33,32,111,110,112,113,,1152,23,485,484,483,,486',
'10,53,332,12,115,114,116,105,64,107,106,108,,109,117,118,,101,102,49',
'50,48,261,265,266,267,268,278,279,273,274,269,270,,254,255,,,271,272',
',45,,,38,,,66,67,,,68,,40,258,,264,52,260,259,,256,257,277,276,262,24',
'263,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,275,,,,,82,,89,103,104,,',
'46,47,330,77,78,26,11,65,,,,71,72,,,,75,,73,74,76,35,36,79,80,,,,,,81',
'33,32,111,110,112,113,,1152,23,485,484,483,,486,10,53,332,12,115,114',
'116,105,64,107,106,108,,109,117,118,,101,102,49,50,48,261,265,266,267',
'268,278,279,273,274,269,270,,254,255,,,271,272,,45,,,38,,,66,67,,,68',
',40,258,,264,52,260,259,,256,257,277,276,262,24,263,,,,99,87,90,91,',
'92,94,93,95,,,,,88,98,,275,,,,,82,,89,103,104,,,46,47,330,77,78,26,11',
'65,,,,71,72,,,,75,,73,74,76,35,36,79,80,,,,,,81,33,32,111,110,112,113',
',,23,,,,,,10,53,332,12,115,114,116,105,64,107,106,108,,109,117,118,',
'101,102,49,50,48,261,265,266,267,268,278,279,273,274,269,270,,254,255',
',,271,272,,45,,,38,,,66,67,,,68,,40,258,,264,52,260,259,,256,257,277',
'276,262,24,263,,,,99,87,90,91,,92,94,93,95,,,,,88,98,237,275,,,,,82',
',89,103,104,,,46,47,330,77,78,26,11,65,,,,71,72,,,,75,,73,74,76,35,36',
'79,80,,,,,,81,33,32,111,110,112,113,,,23,,,,,,10,53,332,12,115,114,116',
'105,64,107,106,108,,109,117,118,,101,102,49,50,48,261,265,266,267,268',
'278,279,273,274,269,270,,254,255,,,271,272,,45,,,38,,,66,67,,,68,,40',
'258,,264,52,260,259,,256,257,277,276,262,24,263,,,,99,87,90,91,,92,94',
'93,95,,,,,88,98,,275,,,,,82,,89,103,104,,,46,47,330,77,78,26,11,65,',
',,71,72,,,,75,,73,74,76,35,36,79,80,,,,,,81,33,32,111,110,112,113,,',
'23,,,,,,10,53,332,12,115,114,116,105,64,107,106,108,,109,117,118,,101',
'102,49,50,48,261,265,266,267,268,278,279,273,274,269,270,,254,255,,',
'271,272,,45,,,38,,,66,67,,,68,,40,258,,264,52,260,259,,256,257,277,276',
'262,24,263,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,275,,,,,82,,89,103',
'104,,,46,47,330,77,78,26,11,65,,,,71,72,,,,75,,73,74,76,35,36,79,80',
',,,,,81,33,32,111,110,112,113,,,23,,,,,,10,53,332,12,115,114,116,105',
'64,107,106,108,,109,117,118,,101,102,49,50,48,261,265,266,267,268,278',
'279,273,274,269,270,,254,255,,,271,272,,45,,,38,,,66,67,,,68,,40,258',
',264,52,260,259,,256,257,277,276,262,24,263,,,,99,87,90,91,,92,94,93',
'95,,,,,88,98,,275,,,,,82,,89,103,104,,,46,47,330,77,78,26,11,65,,,,71',
'72,,,,75,,73,74,76,35,36,79,80,,,,,,81,33,32,111,110,112,113,,,23,,',
',,,10,53,332,12,115,114,116,105,64,107,106,108,,109,117,118,,101,102',
'49,50,48,261,265,266,267,268,278,279,273,274,269,270,,254,255,,,271',
'272,,45,,,38,,,66,67,,,68,,40,258,,264,52,260,259,,256,257,277,276,262',
'24,263,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,275,,,,,82,,89,103,104',
',,46,47,330,77,78,26,11,65,,,,71,72,,,,75,,73,74,76,35,36,79,80,,,,',
',81,33,32,111,110,112,113,,,23,,,,,,10,53,332,12,115,114,116,105,64',
'107,106,108,,109,117,118,,101,102,49,50,48,261,265,266,267,268,278,279',
'273,274,269,270,,254,255,,,271,272,,45,,,38,,,66,67,,,68,,40,258,,264',
'52,260,259,,256,257,277,276,262,24,263,,,,99,87,90,91,,92,94,93,95,',
',,,88,98,,275,,,,,82,,89,103,104,,,46,47,330,77,78,26,11,65,,,,71,72',
',,,75,,73,74,76,35,36,79,80,,,,,,81,33,32,111,110,112,113,,,23,,,,,',
'10,53,332,12,115,114,116,105,64,107,106,108,,109,117,118,,101,102,49',
'50,48,261,265,266,267,268,278,279,273,274,269,270,,254,255,,,271,272',
',45,,,38,,,66,67,,,68,,40,258,,264,52,260,259,,256,257,277,276,262,24',
'263,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,275,,,,,82,,89,103,104,,',
'46,47,330,77,78,26,11,65,,,,71,72,,,,75,,73,74,76,35,36,79,80,,,,,,81',
'33,32,111,110,112,113,,488,23,485,484,483,,486,10,53,332,12,115,114',
'116,105,64,107,106,108,,109,117,118,,101,102,49,50,48,488,,485,484,483',
',486,,706,,488,,485,484,483,,486,710,,45,,,38,,,66,67,,261,68,,40,,',
',52,,706,,261,,,,,24,,710,706,,99,87,90,91,,92,94,93,95,,,258,,88,98',
'260,259,,256,257,,82,258,89,103,104,260,259,46,47,330,77,78,26,11,65',
',,,71,72,,,,75,,73,74,76,35,36,79,80,,,,,,81,33,32,111,110,112,113,',
'488,23,485,484,483,,486,10,53,332,12,115,114,116,105,64,107,106,108',
',109,117,118,,101,102,49,50,48,261,265,266,267,268,278,279,273,706,269',
'270,,,,,,271,272,,45,,,38,,,66,67,,261,68,,40,258,,264,52,260,259,,256',
'257,277,276,262,24,263,,,,99,87,90,91,,92,94,93,95,,,258,,88,98,260',
'259,,256,257,,82,,89,103,104,,,46,47,330,77,78,26,11,65,,,,71,72,,,',
'75,,73,74,76,35,36,79,80,,,,,,81,33,32,111,110,112,113,,488,23,485,484',
'483,,486,10,53,332,12,115,114,116,105,64,107,106,108,,109,117,118,,101',
'102,49,50,48,261,,,,,,,,706,,,,,,,,271,272,,45,,,38,,,66,67,,,68,,40',
'258,,264,52,260,259,,256,257,,,262,24,263,,,,99,87,90,91,,92,94,93,95',
',,,,88,98,,,,,,,82,,89,103,104,,,46,47,330,77,78,26,11,65,,,,71,72,',
',,75,,73,74,76,35,36,79,80,,,,,,81,33,32,111,110,112,113,,,23,,,,,,10',
'53,332,12,115,114,116,105,64,107,106,108,,109,117,118,,101,102,49,50',
'48,261,265,266,267,268,278,279,,,269,270,,,,,,271,272,,45,,,38,,,66',
'67,,,68,,40,258,,264,52,260,259,,256,257,277,276,262,24,263,,,,99,87',
'90,91,,92,94,93,95,,,,,88,98,,,,,,,82,,89,103,104,,,46,47,330,77,78',
'26,11,65,,,,71,72,,,,75,,73,74,76,35,36,79,80,,,,,,81,33,32,111,110',
'112,113,,,23,,,,,,10,53,332,12,115,114,116,105,64,107,106,108,,109,117',
'118,,101,102,49,50,48,261,265,266,267,268,278,279,273,274,269,270,,-738',
'-738,,,271,272,,45,,,334,,,66,67,,,68,,40,258,,264,52,260,259,,256,257',
'277,276,262,24,263,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,,82,,89',
'103,104,,,46,47,330,77,78,26,11,65,,,,71,72,,,,75,,73,74,76,35,36,79',
'80,,,,,,81,33,32,111,110,112,113,,,23,,,,,,10,53,332,12,115,114,116',
'105,64,107,106,108,,109,117,118,,101,102,49,50,48,261,-738,-738,-738',
'-738,278,279,,,-738,-738,,,,,,271,272,,45,,,38,,,66,67,,,68,,40,258',
',264,52,260,259,,256,257,277,276,262,24,263,,,,99,87,90,91,,92,94,93',
'95,,,,,88,98,,,,,,,82,,89,103,104,,,46,47,330,77,78,26,11,65,,,,71,72',
',,,75,,73,74,76,35,36,79,80,,,,,,81,33,32,111,110,112,113,,,23,,,,,',
'10,53,332,12,115,114,116,105,64,107,106,108,,109,117,118,,101,102,49',
'50,48,261,-738,-738,-738,-738,278,279,,,-738,-738,,,,,,271,272,,45,',
',334,,,66,67,,,68,,40,258,,264,52,260,259,,256,257,277,276,262,24,263',
',,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,,82,,89,103,104,,,46,47,330',
'77,78,26,11,65,,,,71,72,,,,75,,73,74,76,35,36,79,80,,,,,,81,33,32,111',
'110,112,113,,,23,,,,,,10,53,332,12,115,114,116,105,64,107,106,108,,109',
'117,118,,101,102,49,50,48,261,-738,-738,-738,-738,278,279,,,-738,-738',
',,,,,271,272,,45,,,38,,,66,67,,,68,,40,258,,264,52,260,259,,256,257',
'277,276,262,24,263,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,,82,,89',
'103,104,,,46,47,330,77,78,26,11,65,,,,71,72,,,,75,,73,74,76,35,36,79',
'80,,,,,,81,33,32,111,110,112,113,,,23,,,,,,10,53,332,12,115,114,116',
'105,64,107,106,108,,109,117,118,,101,102,49,50,48,261,265,266,267,268',
'278,279,273,274,269,270,,-738,-738,,,271,272,,45,,,38,,,66,67,,,68,',
'40,258,,264,52,260,259,,256,257,277,276,262,24,263,,,,99,87,90,91,,92',
'94,93,95,,,,,88,98,,,,,,,82,,89,103,104,,,46,47,330,77,78,26,11,65,',
',,71,72,,,,75,,73,74,76,35,36,79,80,,,,,,81,33,32,111,110,112,113,,',
'23,,,,,,10,53,332,12,115,114,116,105,64,107,106,108,,109,117,118,,101',
'102,49,50,48,261,-738,-738,-738,-738,278,279,,,-738,-738,,,,,,271,272',
',45,,,38,,,66,67,,,68,,40,258,,264,52,260,259,,256,257,277,276,262,24',
'263,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,,82,,89,103,104,,,46',
'47,330,77,78,26,11,65,,,,71,72,,,,75,,73,74,76,35,36,79,80,,,,,,81,33',
'32,111,110,112,113,,,23,,,,,,10,53,332,12,115,114,116,105,64,107,106',
'108,,109,117,118,,101,102,49,50,48,261,-738,-738,-738,-738,278,279,',
',-738,-738,,,,,,271,272,,45,,,38,,,66,67,,,68,,40,258,,264,52,260,259',
',256,257,277,276,262,24,263,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,',
',,,,82,,89,103,104,,,46,47,7,77,78,26,11,65,,,,71,72,,,,75,,73,74,76',
'35,36,79,80,,,,,,81,33,32,111,110,112,113,,,23,,,,,,10,53,9,12,115,114',
'116,105,64,107,106,108,,109,117,118,,101,102,49,50,48,261,265,266,267',
'268,278,279,273,274,269,270,,-738,-738,,,271,272,,45,,,38,,,66,67,,',
'68,,40,258,,264,52,260,259,,256,257,277,276,262,24,263,,,,99,87,90,91',
',92,94,93,95,,,,,88,98,,,,,,,82,,89,103,104,,,46,47,330,77,78,26,11',
'65,,,,71,72,,,,75,,73,74,76,35,36,79,80,,,,,,81,33,32,111,110,112,113',
',,23,,,,,,10,53,332,12,115,114,116,105,64,107,106,108,,109,117,118,',
'101,102,49,50,48,261,,,,,,,,,,,,,,,,271,272,,45,,,334,,,66,67,,,68,',
'40,258,,264,52,260,259,,256,257,,,262,24,263,,,,99,87,90,91,,92,94,93',
'95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76',
'351,352,79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114',
'116,105,64,107,106,108,,109,117,118,,101,102,49,50,48,261,-738,-738',
'-738,-738,278,279,,,-738,-738,,,,,,271,272,,242,,,250,,,66,67,,,68,',
',258,,264,52,260,259,,256,257,277,276,262,247,263,,,,99,87,90,91,,92',
'94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73',
'74,76,351,352,79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,',
',115,114,116,105,64,107,106,108,,109,117,118,,101,102,49,50,48,261,265',
'266,267,268,278,279,273,274,269,270,,-738,-738,,,271,272,,242,,,250',
',,66,67,,,68,,,258,,264,52,260,259,,256,257,277,276,262,247,263,,,,99',
'87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46',
'47,,75,,73,74,76,351,352,79,80,,,,,,81,346,354,111,110,112,113,,,251',
',,,,,,53,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102,49,50',
'48,261,,,,,,,,,,,,,,,,271,272,,242,,,250,,,66,67,,,68,,,258,,264,52',
'260,259,,256,257,,,,247,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77',
'78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,351,352,79,80,,,,,',
'81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105,64,107,106',
'108,,109,117,118,,101,102,49,50,48,261,,,,,,,,,,,,,,,,271,272,,242,',
',250,,,66,67,,,68,,,258,,264,52,260,259,,256,257,,,,247,,,,,99,87,90',
'91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,',
'75,,73,74,76,351,352,79,80,,,,,,81,346,354,111,110,112,113,,,251,,,',
',,,53,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102,49,50,48',
'261,,,,,,,,,,,,,,,,271,272,,242,,,250,,,66,67,,,68,,,258,,,52,260,259',
',256,257,,,,247,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82',
'65,89,103,104,71,72,46,47,,75,,73,74,76,351,352,79,80,,,,,,81,346,354',
'111,110,112,113,,,251,,,,,,,53,,,115,114,116,105,64,107,106,108,,109',
'117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68',
',,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78',
'26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,351,352,79,80,,,,,,81',
'346,354,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105,64,107,106',
'108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66',
'67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,',
',,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,351,352,79,80',
',,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105,64',
'107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,',
'250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95,,',
',,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,351,352',
'79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105',
'64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242',
',,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95',
',,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,351',
'352,79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114,116',
'105,64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,',
',242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93',
'95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76',
'351,352,79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114',
'116,105,64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,',
',,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92',
'94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73',
'74,76,351,352,79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,',
',115,114,116,105,64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,',
',,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90',
'91,,92,94,93,95,,,,,88,98,,,,,,,82,,89,103,104,,,46,47,77,78,26,11,65',
',,,71,72,,,,75,,73,74,76,35,36,79,80,,,,,,81,33,32,111,110,112,113,',
',23,,,,,,10,53,,12,115,114,116,105,64,107,106,108,,109,117,118,,101',
'102,49,50,48,,,,,,,,,,,,,,,,,,,,45,,,38,,,66,67,,,68,,40,,,,52,,,,,',
',,,24,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103',
'104,71,72,46,47,,75,,73,74,76,351,352,79,80,,,,,,81,346,354,111,110',
'112,113,,,251,,,,,,,53,,,115,114,116,105,64,107,106,108,,109,117,118',
',101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,,,52',
',,,,,,,,247,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65',
'89,103,104,71,72,46,47,,75,,73,74,76,351,352,79,80,,,,,,81,346,354,111',
'110,112,113,,,251,,,,,,,53,,,115,114,116,105,64,107,106,108,,109,117',
'118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,433',
',,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26',
'82,65,89,103,104,71,72,46,47,,75,,73,74,76,351,352,79,80,,,,,,81,346',
'354,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105,64,107,106,108',
',109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67',
',,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77',
'78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,351,352,79,80,,,,,',
'81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105,64,107,106',
'108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66',
'67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,',
',,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,35,36,79,80,,',
',,,81,33,32,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105,64,107',
'106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250',
',,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95,,,,,88',
'98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,35,36,79,80',
',,,,,81,33,32,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105,64,107',
'106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250',
',,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95,,,,,88',
'98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,35,36,79,80',
',,,,,81,33,32,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105,64,107',
'106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250',
',,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95,,,,,88',
'98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,35,36,79,80',
',,,,,81,33,32,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105,64,107',
'106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250',
',,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95,,,,,88',
'98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,351,352,79',
'80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105',
'64,107,106,108,324,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,',
'242,,,250,,,66,67,,,68,,,,319,,52,,,325,,,,,,247,,,,,99,322,90,91,,92',
'94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73',
'74,76,351,352,79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,',
',115,114,116,105,64,107,106,108,324,109,117,118,,101,102,49,50,48,,',
',,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,793,,319,,52,,,325,,,,,,247',
',,,,99,322,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104',
'71,72,46,47,,75,,73,74,76,35,36,79,80,,,,,,81,33,32,111,110,112,113',
',,23,,,,,,,53,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102',
'49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,24',
',,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104',
'71,72,46,47,,75,,73,74,76,351,352,79,80,,,,,,81,346,354,111,110,112',
'113,,,251,,,,,,,53,,,115,114,116,105,64,107,106,108,,109,117,118,,101',
'102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,',
',,,247,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,,82,,89,103,104,-434',
',46,47,,,,-434,-434,-434,,,-434,-434,-434,,-434,,,,,,,,-434,-434,-434',
'-434,,,,,,,,,-434,-434,,-434,-434,-434,-434,-434,,,,,,,,,,,,,,,,,,,',
',,,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434',
'-434,,,-434,-434,-434,,,-434,,303,-434,,,-434,-434,,-434,,-434,,-434',
',-434,-434,,-434,-434,-434,-434,-434,-326,-434,-434,-434,,,,-326,-326',
'-326,,,-326,-326,-326,,-326,-434,,,-434,-434,,-434,-326,-434,-326,-326',
',,,,-434,,,,-326,-326,,-326,-326,-326,-326,-326,,,,,,,,,,,,,,,,,,,,',
',,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326',
',,-326,-326,-326,,,-326,,312,-326,,,-326,-326,,-326,,-326,,-326,,-326',
'-326,,-326,-326,-326,-326,-326,,-326,,-326,,,,,,,,,,,,,,-326,,,-326',
'-326,,-326,,-326,77,78,26,,65,,-326,,71,72,,,,75,,73,74,76,351,352,79',
'80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105',
'64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242',
',,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95',
',,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,35',
'36,79,80,,,,,,81,33,32,111,110,112,113,,,251,,,,,,,53,,,115,114,116',
'105,64,107,106,108,324,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,',
',,,,242,,,250,,,66,67,,,68,,321,,319,,52,,,325,,,,,,247,,,,,99,322,90',
'91,,92,94,93,95,,,,,88,98,,,,,,,82,,89,103,104,,,46,47,77,78,26,11,65',
',,,71,72,,,,75,,73,74,76,35,36,79,80,,,,,,81,33,32,111,110,112,113,',
',23,,,,,,10,53,,12,115,114,116,105,64,107,106,108,,109,117,118,,101',
'102,49,50,48,,,,,,,,,,,,,,,,,,,,45,,,38,,,66,67,,,68,,40,,,,52,,,,,',
',,,24,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103',
'104,71,72,46,47,,75,,73,74,76,35,36,79,80,,,,,,81,33,32,111,110,112',
'113,,,23,,,,,,,53,,,115,114,116,105,64,107,106,108,,109,117,118,,101',
'102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,',
',,,24,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103',
'104,71,72,46,47,,75,,73,74,76,35,36,79,80,,,,,,81,33,32,111,110,112',
'113,,,251,,,,,,,53,,,115,114,116,105,64,107,106,108,324,109,117,118',
',101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,321,,319',
',52,,,325,,,,,,247,,,,,99,322,90,91,,92,94,93,95,,,,,88,98,,,,77,78',
'26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,351,352,79,80,,,,,,81',
'346,354,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105,64,107,106',
'108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66',
'67,,,68,,793,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95,,,,,88,98',
',,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,35,36,79,80,',
',,,,81,33,32,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105,64,107',
'106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250',
',,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95,,,,,88',
'98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,351,352,79',
'80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105',
'64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242',
',,250,,,66,67,,,68,,862,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93',
'95,,,,,88,98,,,,,,,82,,89,103,104,,,46,47,77,78,26,11,65,,,,71,72,,',
',75,,73,74,76,35,36,79,80,,,,,,81,33,32,111,110,112,113,,,23,,,,,,10',
'53,,12,115,114,116,105,64,107,106,108,,109,117,118,,101,102,49,50,48',
',,,,,,,,,,,,,,,,,,,45,,,38,,,66,67,,,68,,40,,,,52,,,,,,,,,24,,,,,99',
'87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46',
'47,,75,,73,74,76,351,352,79,80,,,,,,81,346,354,111,110,112,113,,,251',
',,,,,,53,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102,49,50',
'48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,',
',99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71',
'72,46,47,,75,,73,74,76,35,36,79,80,,,,,,81,33,32,111,110,112,113,,,251',
',,,,,,53,,,115,114,116,105,64,107,106,108,324,109,117,118,,101,102,49',
'50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,321,,319,,52,,,325',
',,,,,247,,,,,99,322,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89',
'103,104,71,72,46,47,,75,,73,74,76,35,36,79,80,,,,,,81,33,32,111,110',
'112,113,,,251,,,,,,,53,,,115,114,116,105,64,107,106,108,324,109,117',
'118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,321',
',319,,52,,,325,,,,,,247,,,,,99,322,90,91,,92,94,93,95,,,,,88,98,,,,77',
'78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,35,36,79,80,,,,,,81',
'33,32,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105,64,107,106,108',
'324,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66',
'67,,,68,,321,,319,,52,,,325,,,,,,247,,,,,99,322,90,91,,92,94,93,95,',
',,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,351',
'352,79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114,116',
'105,64,107,106,108,324,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,',
',,,,242,,,250,,,66,67,,,68,,,,319,,52,,,325,,,,,,247,,,,,99,322,90,91',
',92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75',
',73,74,76,35,36,79,80,,,,,,81,33,32,111,110,112,113,,,251,,,,,,,53,',
',115,114,116,105,64,107,106,108,324,109,117,118,,101,102,49,50,48,,',
',,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,321,,319,,52,,,325,,,,,,247',
',,,,99,322,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104',
'71,72,46,47,,75,,73,74,76,351,352,79,80,,,,,,81,346,354,111,110,112',
'113,,,251,,,,,,,53,,,115,114,116,105,64,107,106,108,,109,117,118,,101',
'102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,321,,,,52,,',
',,,,,,247,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89',
'103,104,71,72,46,47,,75,,73,74,76,351,352,79,80,,,,,,81,346,354,111',
'110,112,113,,,251,,,,,,,53,,,115,114,116,105,64,107,106,108,324,109',
'117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68',
',,,,,52,,,325,,,,,,247,,,,,99,322,90,91,,92,94,93,95,,,,,88,98,,,,77',
'78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,351,352,79,80,,,,,',
'81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105,64,107,106',
'108,324,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,',
',66,67,,,68,,793,,,,52,,,325,,,,,,247,,,,,99,322,90,91,,92,94,93,95',
',,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,35',
'36,79,80,,,,,,81,33,32,111,110,112,113,,,23,,,,,,,53,,,115,114,116,105',
'64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242',
',,250,,,66,67,,,68,,,,,,52,,,,,,,,,24,,,,,99,87,90,91,,92,94,93,95,',
',,,88,98,237,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,35',
'36,79,80,,,,,,81,33,32,111,110,112,113,,,23,,,,,,,53,,,115,114,116,105',
'64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242',
',,250,,,66,67,,,68,,,,,,52,,,,,,,,,24,,,,,99,87,90,91,,92,94,93,95,',
',,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,35,36',
'79,80,,,,,,81,33,32,111,110,112,113,,,23,,,,,,,53,,,115,114,116,105',
'64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242',
',,250,,,66,67,,,68,,,,,,52,,,,,,,,,24,,,,,99,87,90,91,,92,94,93,95,',
',,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,351',
'352,79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114,116',
'105,64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,',
',242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93',
'95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76',
'351,352,79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114',
'116,105,64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,',
',,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92',
'94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73',
'74,76,351,352,79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,',
',115,114,116,105,64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,',
',,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90',
'91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,',
'75,,73,74,76,35,36,79,80,,,,,,81,33,32,111,110,112,113,,,251,,,,,,,53',
',,115,114,116,105,64,107,106,108,,109,117,118,,101,102,49,50,48,,,,',
',,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87',
'90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47',
',75,,73,74,76,35,36,79,80,,,,,,81,33,32,111,110,112,113,,,251,,,,,,',
'53,,,115,114,116,105,64,107,106,108,324,109,117,118,,101,102,49,50,48',
',,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,321,,319,,52,,,325,,,,,,247',
',,,,99,322,90,91,,92,94,93,95,,,,,88,98,,,,,,,82,,89,103,104,,,46,47',
'77,78,26,11,65,,,,71,72,,,,75,,73,74,76,35,36,79,80,,,,,,81,33,32,111',
'110,112,113,,,23,,,,,,10,53,332,12,115,114,116,105,64,107,106,108,,109',
'117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,45,,,38,,,66,67,,,68,,40',
',,,52,,,,,,,,,24,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,417,82',
',89,103,104,,,46,47,77,78,26,,65,,,,71,72,,,,75,,73,74,76,351,352,79',
'80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105',
'64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242',
',,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95',
',,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,351',
'352,79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114,116',
'105,64,107,106,108,324,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,',
',,,,242,,,250,,,66,67,,,68,,,,319,,52,,,325,,,,,,247,,,,,99,322,90,91',
',92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75',
',73,74,76,351,352,79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,',
'53,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102,49,50,48,',
',,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99',
'87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46',
'47,,75,,73,74,76,351,352,79,80,,,,,,81,346,354,111,110,112,113,,,251',
',,,,,,53,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102,49,50',
'48,,,,,,,,,,,,,,,,,,,,242,,,250,603,,66,67,,,68,,,,,,52,,,,,,,,,247',
',,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104',
'71,72,46,47,,75,,73,74,76,351,352,79,80,,,,,,81,346,354,111,110,112',
'113,,,251,,,,,,,53,,,115,114,116,105,64,107,106,108,324,109,117,118',
',101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,793,,319',
',52,,,325,,,,,,247,,,,,99,322,90,91,,92,94,93,95,,,,,88,98,,,,77,78',
'26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,351,352,79,80,,,,,,81',
'346,354,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105,64,107,106',
'108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66',
'67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,',
',,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,351,352,79,80',
',,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105,64',
'107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,',
'250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95,,',
',,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,351,352',
'79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105',
'64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242',
',,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95',
',,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,351',
'352,79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114,116',
'105,64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,',
',242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93',
'95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76',
'351,352,79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114',
'116,105,64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,',
',,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92',
'94,93,95,,,,,88,98,,,,,,,82,,89,103,104,-274,,46,47,,,,-274,-274,-274',
',,-274,-274,-274,488,-274,485,484,483,493,486,,,-274,-274,-274,,,,496',
',,,,,-274,-274,,-274,-274,-274,-274,-274,488,,485,484,483,493,486,,491',
'641,,,,,,496,,501,500,504,503,,,,497,,488,,485,484,483,493,486,-274',
',,,491,,,-274,496,,,,303,-274,,504,503,,,,497,,,,,,,,,,491,482,,,,-274',
'-274,,,501,500,504,503,,,,497,,,,-274,,,-274,,77,78,26,-274,65,482,',
',71,72,-274,,,75,,73,74,76,35,36,79,80,,,,,,81,33,32,111,110,112,113',
',,251,,,,,,,53,,,115,114,116,105,64,107,106,108,324,109,117,118,,101',
'102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,321,,319,,52',
',,325,,,,,,247,,,,,99,322,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82',
'65,89,103,104,71,72,46,47,,75,,73,74,76,35,36,79,80,,,,,,81,33,32,111',
'110,112,113,,,251,,,,,,,53,,,115,114,116,105,64,107,106,108,,109,117',
'118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,',
',52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82',
'65,89,103,104,71,72,46,47,,75,,73,74,76,35,36,79,80,,,,,,81,33,32,111',
'110,112,113,,,23,,,,,,,53,,,115,114,116,105,64,107,106,108,,109,117',
'118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,',
',52,,,,,,,,,24,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,123,,,,,122,82',
',89,103,104,,,46,47,77,78,26,,65,,,,71,72,,,,75,,73,74,76,35,36,79,80',
',,,,,81,33,32,111,110,112,113,,,23,,,,,,,53,,,115,114,116,105,64,107',
'106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250',
',,66,67,,,68,,,,,,52,,,,,,,,,24,,,,,99,87,90,91,,92,94,93,95,,,,,88',
'98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,351,352,79',
'80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105',
'64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242',
',,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95',
',,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,351',
'352,79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114,116',
'105,64,107,106,108,324,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,',
',,,,242,,,250,,,66,67,,,68,,,,,,52,,,325,,,,,,247,,,,,99,322,90,91,',
'92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,',
'73,74,76,35,36,79,80,,,,,,81,33,32,111,110,112,113,,,23,,,,,,,53,,,115',
'114,116,105,64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,',
',,,,,,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,24,,,,,99,87,90,91,',
'92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,',
'73,74,76,351,352,79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53',
',,115,114,116,105,64,107,106,108,,109,117,118,,101,102,49,50,48,,,,',
',,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87',
'90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47',
',75,,73,74,76,351,352,79,80,,,,,,81,346,354,111,110,112,113,,,251,,',
',,,,53,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102,49,50',
'48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,',
',99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71',
'72,46,47,,75,,73,74,76,351,352,79,80,,,,,,81,346,354,111,110,112,113',
',,251,,,,,,,53,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102',
'49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,247',
',,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104',
'71,72,46,47,,75,,73,74,76,351,352,79,80,,,,,,81,346,354,111,110,112',
'113,,,251,,,,,,,53,,,115,114,116,105,64,107,106,108,324,109,117,118',
',101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,321,,,',
'52,,,325,,,,,,247,,,,,99,322,90,91,,92,94,93,95,,,,,88,98,,,,,,,82,',
'89,103,104,,,46,47,77,78,26,11,65,,,,71,72,,,,75,,73,74,76,35,36,79',
'80,,,,,,81,33,32,111,110,112,113,,,23,,,,,,10,53,,12,115,114,116,105',
'64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,45',
',,38,,,66,67,,,68,,40,,,,52,,,,,,,,,24,,,,,99,87,90,91,,92,94,93,95',
',,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,35',
'36,79,80,,,,,,81,33,32,111,110,112,113,,,23,,,,,,,53,,,115,114,116,105',
'64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242',
',,250,,,66,67,,,68,,,,,,52,,,,,,,,,24,,,,,99,87,90,91,,92,94,93,95,',
',,,88,98,,,,,,,82,,89,103,104,-311,,46,47,,,,-311,-311,-311,,,-311,-311',
'-311,,-311,,,,,,,,-311,,-311,-311,-311,,,,,,,,-311,-311,,-311,-311,-311',
'-311,-311,,,,,,,,,,,,,,,,,,,,,,,-311,-311,-311,-311,-311,-311,-311,-311',
'-311,-311,-311,-311,-311,-311,,,-311,-311,-311,,,-311,,,-311,,,-311',
'-311,,-311,,-311,,-311,,-311,-311,,-311,-311,-311,-311,-311,,-311,,-311',
',,,,,,,,,,,,,-311,,,-311,-311,-311,-311,,-311,,-311,,77,78,26,-311,65',
',,,71,72,,,,75,,73,74,76,351,352,79,80,,,,,,81,346,354,111,110,112,113',
',,251,,,,,,,53,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102',
'49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,247',
',,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104',
'71,72,46,47,,75,,73,74,76,351,352,79,80,,,,,,81,346,354,111,110,112',
'113,,,251,,,,,,,53,,,115,114,116,105,64,107,106,108,,109,117,118,,101',
'102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,',
',,,247,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103',
'104,71,72,46,47,,75,,73,74,76,35,36,79,80,,,,,,81,33,32,111,110,112',
'113,,,23,,,,,,,53,,,115,114,116,105,64,107,106,108,,109,117,118,,101',
'102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,',
',,,24,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103',
'104,71,72,46,47,,75,,73,74,76,351,352,79,80,,,,,,81,346,354,111,110',
'112,113,,,251,,,,,,,53,,,115,114,116,105,64,107,106,108,,109,117,118',
',101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,,,52',
',,,,,,,,247,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65',
'89,103,104,71,72,46,47,,75,,73,74,76,351,352,79,80,,,,,,81,346,354,111',
'110,112,113,,,251,,,,,,,53,,,115,114,116,105,64,107,106,108,,109,117',
'118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,',
',52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82',
'65,89,103,104,71,72,46,47,,75,,73,74,76,351,352,79,80,,,,,,81,346,354',
'111,110,112,113,,,251,,,,,,,53,,,115,114,116,105,64,107,106,108,324',
'109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,',
',68,,793,,319,,52,,,325,,,,,,247,,,,,99,322,90,91,,92,94,93,95,,,,,88',
'98,,,,77,78,26,82,65,89,103,104,71,72,46,557,,75,,73,74,76,35,36,79',
'80,,,,,,81,33,32,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105,64',
'107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,',
'250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95,,',
',,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,351,352',
'79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105',
'64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242',
',,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95',
',,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,351',
'352,79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114,116',
'105,64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,',
',242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93',
'95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76',
'351,352,79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114',
'116,105,64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,',
',,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92',
'94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73',
'74,76,35,36,79,80,,,,,,81,33,32,111,110,112,113,,,251,,,,,,,53,,,115',
'114,116,105,64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,',
',,,,,,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91',
',92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75',
',73,74,76,35,36,79,80,,,,,,81,33,32,111,110,112,113,,,251,,,,,,,53,',
',115,114,116,105,64,107,106,108,324,109,117,118,,101,102,49,50,48,,',
',,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,321,,319,,52,,,325,,,,,,247',
',,,,99,322,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104',
'71,72,46,557,,75,,73,74,76,35,36,79,80,,,,,,81,33,32,111,110,112,113',
',,251,,,,,,,53,,,115,114,116,105,64,107,106,108,324,109,117,118,,101',
'102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,321,,319,,52',
',,325,,,,,,247,,,,,99,322,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82',
'65,89,103,104,71,72,46,47,,75,,73,74,76,35,36,79,80,,,,,,81,33,32,111',
'110,112,113,,,251,,,,,,,53,,,115,114,116,105,64,107,106,108,324,109',
'117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68',
',321,,319,,52,,,325,,,,,,247,,,,,99,322,90,91,,92,94,93,95,,,,,88,98',
'237,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,351,352,79',
'80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105',
'64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242',
',,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95',
',,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,351',
'352,79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114,116',
'105,64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,',
',242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93',
'95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76',
'351,352,79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114',
'116,105,64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,',
',,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92',
'94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73',
'74,76,351,352,79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,',
',115,114,116,105,64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,',
',,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90',
'91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,',
'75,,73,74,76,351,352,79,80,,,,,,81,346,354,111,110,112,113,,,251,,,',
',,,53,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102,49,50,48',
',,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99',
'87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46',
'47,,75,,73,74,76,351,352,79,80,,,,,,81,346,354,111,110,112,113,,,251',
',,,,,,53,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102,49,50',
'48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,',
',99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71',
'72,46,47,,75,,73,74,76,351,352,79,80,,,,,,81,346,354,111,110,112,113',
',,251,,,,,,,53,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102',
'49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,247',
',,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104',
'71,72,46,47,,75,,73,74,76,351,352,79,80,,,,,,81,346,354,111,110,112',
'113,,,251,,,,,,,53,,,115,114,116,105,64,107,106,108,,109,117,118,,101',
'102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,',
',,,247,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103',
'104,71,72,46,47,,75,,73,74,76,351,352,79,80,,,,,,81,346,354,111,110',
'112,113,,,251,,,,,,,53,,,115,114,116,105,64,107,106,108,,109,117,118',
',101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,,,52',
',,,,,,,,247,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65',
'89,103,104,71,72,46,47,,75,,73,74,76,351,352,79,80,,,,,,81,346,354,111',
'110,112,113,,,251,,,,,,,53,,,115,114,116,105,64,107,106,108,,109,117',
'118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,',
',52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82',
'65,89,103,104,71,72,46,47,,75,,73,74,76,351,352,79,80,,,,,,81,346,354',
'111,110,112,113,,,251,,,,,,,53,,,115,114,116,105,64,107,106,108,,109',
'117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68',
',,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78',
'26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,351,352,79,80,,,,,,81',
'346,354,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105,64,107,106',
'108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66',
'67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,',
',,,,,82,,89,103,104,,,46,47,77,78,26,11,65,,,,71,72,,,,75,,73,74,76',
'35,36,79,80,,,,,,81,33,32,111,110,112,113,,,23,,,,,,10,53,,12,115,114',
'116,105,64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,',
',,,,,45,,,38,,,66,67,,,68,,40,,,,52,,,,,,,,,24,,,,,99,87,90,91,,92,94',
'93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74',
'76,35,36,79,80,,,,,,81,33,32,111,110,112,113,,,23,,,,,,,53,,,115,114',
'116,105,64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,',
',,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,24,,,,,99,87,90,91,,92,94',
'93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74',
'76,35,36,79,80,,,,,,81,33,32,111,110,112,113,,,23,,,,,,,53,,,115,114',
'116,105,64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,',
',,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,24,,,,,99,87,90,91,,92,94',
'93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74',
'76,35,36,79,80,,,,,,81,33,32,111,110,112,113,,,23,,,,,,,53,,,115,114',
'116,105,64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,',
',,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,24,,,,,99,87,90,91,,92,94',
'93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74',
'76,35,36,79,80,,,,,,81,33,32,111,110,112,113,,,23,,,,,,,53,,,115,114',
'116,105,64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,',
',,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,24,,,,,99,87,90,91,,92,94',
'93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74',
'76,35,36,79,80,,,,,,81,33,32,111,110,112,113,,,23,,,,,,,53,,,115,114',
'116,105,64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,',
',,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,24,,,,,99,87,90,91,,92,94',
'93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74',
'76,351,352,79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,,,115',
'114,116,105,64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,',
',,,,,,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91',
',92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75',
',73,74,76,35,36,79,80,,,,,,81,33,32,111,110,112,113,,,23,,,,,,,53,,',
'115,114,116,105,64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,',
',,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,24,,,,,99,87,90',
'91,,92,94,93,95,,,,,88,98,,,,,,,82,,89,103,104,,,46,47,77,78,26,11,65',
',,,71,72,,,,75,,73,74,76,35,36,79,80,,,,,,81,33,32,111,110,112,113,',
',23,,,,,,10,53,9,12,115,114,116,105,64,107,106,108,,109,117,118,,101',
'102,49,50,48,,,,,,,,,,,,,,,,,,,,45,,,38,,,66,67,,,68,,40,,,,52,,,,,',
',,,24,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,417,82,,89,103,104',
',,46,47,77,78,26,,65,,,,71,72,,,,75,,73,74,76,35,36,79,80,,,,,,81,33',
'32,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105,64,107,106,108,324',
'109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,',
',68,,321,,319,,52,,,325,,,,,,247,,,,,99,322,90,91,,92,94,93,95,,,,,88',
'98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,35,36,79,80',
',,,,,81,33,32,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105,64,107',
'106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250',
',,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95,,,,,88',
'98,,,,,,,82,,89,103,104,-718,,46,47,,,,-718,-718,-718,,,-718,-718,-718',
',-718,,,,,,,,-718,-718,-718,-718,-718,,,,,,,,-718,-718,,-718,-718,-718',
'-718,-718,,,,,,,,,,,,,,,,,,,,,,,-718,-718,-718,-718,-718,-718,-718,-718',
'-718,-718,-718,-718,-718,-718,,,-718,-718,-718,,,-718,,,-718,,,-718',
'-718,,-718,,-718,,-718,,-718,-718,,-718,-718,-718,-718,-718,,-718,-718',
'-718,,,,,,,,,,,,,,-718,,,-718,-718,-718,-718,,-718,-717,-718,,,,,-718',
'-717,-717,-717,,,-717,-717,-717,,-717,,,,,,,,-717,-717,-717,-717,-717',
',,,,,,,-717,-717,,-717,-717,-717,-717,-717,,,,,,,,,,,,,,,,,,,,,,,-717',
'-717,-717,-717,-717,-717,-717,-717,-717,-717,-717,-717,-717,-717,,,-717',
'-717,-717,,,-717,,,-717,,,-717,-717,,-717,,-717,,-717,,-717,-717,,-717',
'-717,-717,-717,-717,,-717,-717,-717,,,,,,,,,,,,,,-717,,,-717,-717,-717',
'-717,,-717,,-717,,77,78,26,-717,65,,,,71,72,,,,75,,73,74,76,351,352',
'79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105',
'64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242',
',,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95',
',,,,88,98,,,,,,,82,,89,103,104,,,46,47,77,78,26,11,65,,,,71,72,,,,75',
',73,74,76,35,36,79,80,,,,,,81,33,32,111,110,112,113,,,23,,,,,,10,53',
'9,12,115,114,116,105,64,107,106,108,,109,117,118,,101,102,49,50,48,',
',,,,,,,,,,,,,,,,,,45,,,38,,,66,67,,,68,,40,,,,52,,,,,,,,,24,,,,,99,87',
'90,91,,92,94,93,95,,,,,88,98,,,,,,,82,,89,103,104,-274,,46,47,,,,-274',
'-274,-274,,,-274,-274,-274,,-274,,,,,,,,-274,-274,-274,-274,,,,,,,,',
'-274,-274,,-274,-274,-274,-274,-274,,,,,,,,,,,,,,,,,,,,,,,-274,-274',
'-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,,,-274,-274',
'-274,,,-274,,303,-274,,,-274,-274,,-274,,-274,,-274,,-274,-274,,-274',
'-274,-274,-274,-274,,-274,-274,-274,,,,,,,,,,,,,,-274,,,-274,-274,,-274',
',-274,77,78,26,,65,,-274,,71,72,,,,75,,73,74,76,35,36,79,80,,,,,,81',
'33,32,111,110,112,113,,,23,,,,,,,53,,,115,114,116,105,64,107,106,108',
',109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67',
',,68,,,,,,52,,,,,,,,,24,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77',
'78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,35,36,79,80,,,,,,81',
'33,32,111,110,112,113,,,23,,,,,,,53,,,115,114,116,105,64,107,106,108',
',109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67',
',,68,,,,,,52,,,,,,,,,24,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77',
'78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,351,352,79,80,,,,,',
'81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105,64,107,106',
'108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66',
'67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,',
',,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,35,36,79,80,,',
',,,81,33,32,111,110,112,113,,,23,,,,,,,53,,,115,114,116,105,64,107,106',
'108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66',
'67,,,68,,,,,,52,,,,,,,,,24,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,',
',77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,35,36,79,80,,,',
',,81,33,32,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105,64,107,106',
'108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66',
'67,,,68,,433,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95,,,,,88,98',
',,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,351,352,79,80',
',,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105,64',
'107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,',
'250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95,,',
',,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,351,352',
'79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,,,115,114,116,105',
'64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242',
',,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95',
',,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74,76,35',
'36,79,80,,,,,,81,33,32,111,110,112,113,,,251,,,,,,,53,,,115,114,116',
'105,64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,',
',242,,,250,,,66,67,,,68,,433,,,,52,,,,,,,,,247,,,,,99,87,90,91,,92,94',
'93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75,,73,74',
'76,351,352,79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,53,,,115',
'114,116,105,64,107,106,108,,109,117,118,,101,102,49,50,48,,,,,,,,,,',
',,,,,,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99,87,90,91',
',92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46,47,,75',
',73,74,76,351,352,79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,',
'53,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102,49,50,48,',
',,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,,,99',
'87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,46',
'47,,75,,73,74,76,351,352,79,80,,,,,,81,346,354,111,110,112,113,,,251',
',,,,,,53,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102,49,50',
'48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,247,,,',
',99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71',
'72,46,47,,75,,73,74,76,351,352,79,80,,,,,,81,346,354,111,110,112,113',
',,251,,,,,,,53,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102',
'49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,247',
',,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104',
'71,72,46,47,,75,,73,74,76,35,36,79,80,,,,,,81,33,32,111,110,112,113',
',,23,,,,,,,53,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102',
'49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,,,52,,,,,,,,,24',
',,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104',
'71,72,46,47,,75,,73,74,76,35,36,79,80,,,,,,81,33,32,111,110,112,113',
',,251,,,,,,,53,,,115,114,116,105,64,107,106,108,324,109,117,118,,101',
'102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,321,,319,,52',
',,325,,,,,,247,,,,,99,322,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82',
'65,89,103,104,71,72,46,47,,75,,73,74,76,35,36,79,80,,,,,,81,33,32,111',
'110,112,113,,,251,,,,,,,53,,,115,114,116,105,64,107,106,108,,109,117',
'118,,101,102,49,50,48,,,,,,,,,,,,,,,,,,,,242,,,250,,,66,67,,,68,,,,',
',52,,,,,,,,,247,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82',
'65,89,103,104,71,72,46,47,,75,,73,74,76,351,352,79,80,,,,,,81,346,354',
'111,110,112,113,,,251,,,,,,,347,,,115,114,116,105,64,107,106,108,,109',
'117,118,,101,102,,,355,,,,,,,,,,,,,,,,,,,,343,,,339,,,66,67,,,68,,,',
',,,,,,,,,,,,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65',
'89,103,104,71,72,,,,75,,73,74,76,351,352,79,80,,,,,,81,346,354,111,110',
'112,113,,,251,,,,,,,347,,,115,114,116,105,64,107,106,108,,109,117,118',
',101,102,,,355,,,,,,,,,,,,,,,,,,,,1100,,,250,,,66,67,,,68,,,,,,,,,,',
',,,,,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103',
'104,71,72,,,,75,,73,74,76,351,352,79,80,,,,,,81,346,354,111,110,112',
'113,,,251,,,,,,,347,,,115,114,116,105,64,107,106,108,,109,117,118,,101',
'102,,,355,,,,,,,,,,,,,,,,,,,,343,,,250,,,66,67,,,68,,,488,,485,484,483',
'493,486,,,,,,,,,496,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,585,,491',
'82,,89,103,104,77,78,26,,65,504,503,,71,72,497,,,75,,73,74,76,351,352',
'79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,347,,,115,114,116',
'105,64,107,106,108,,109,117,118,,101,102,,,355,,,,,,,,,,,,,,,,,,,,392',
',,38,,,66,67,,,68,,40,,,,,,,,,,,,,,,,,,99,87,90,91,,92,94,93,95,,,,',
'88,98,,,,77,78,26,82,65,89,103,104,71,72,,,,75,,73,74,76,351,352,79',
'80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,347,,,115,114,116,105',
'64,107,106,108,,109,117,118,,101,102,,,355,,,,,,,,,,,,,,,,,,,,1139,',
',250,,,66,67,,,68,,,,,,,,,,,,,,,,,,,,99,87,90,91,,92,94,93,95,,,,,88',
'98,,,,77,78,26,82,65,89,103,104,71,72,,,,75,,73,74,76,351,352,79,80',
',,,,,81,346,354,111,110,112,113,,,251,,,,,,,347,,,115,114,116,105,64',
'107,106,108,,109,117,118,,101,102,,,355,,,,,,,,,,,,,,,,,,,,343,,,339',
',,66,67,,,68,,,,,,,,,,,,,,,,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,',
',,77,78,26,82,65,89,103,104,71,72,,,,75,,73,74,76,351,352,79,80,,,,',
',81,346,354,111,110,112,113,,,251,,,,,,,347,,,115,114,116,105,64,107',
'106,108,,109,117,118,,101,102,,,355,,,,,,,,,,,,,,,,,,,,343,,,339,,,66',
'67,,,68,,,,,,,,,,,,,,,,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77',
'78,26,82,65,89,103,104,71,72,,,,75,,73,74,76,351,352,79,80,,,,,,81,346',
'354,111,110,112,113,,,251,,,,,,,347,,,115,114,116,397,64,107,106,398',
',109,117,118,,101,102,,,355,,,,,,,,,,,,,,,,,404,,,399,,,250,,,66,67',
',,68,,,,,,,,,,,,,,,,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78',
'26,82,65,89,103,104,71,72,,,,75,,73,74,76,351,352,79,80,,,,,,81,346',
'354,111,110,112,113,,,251,,,,,,,347,,,115,114,116,397,64,107,106,398',
',109,117,118,,101,102,,,355,,,,,,,,,,,,,,,,,,,,399,,,250,,,66,67,,,68',
',,,,,,,,,,,,,,,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,26,82',
'65,89,103,104,71,72,,,,75,,73,74,76,351,352,79,80,,,,,,81,346,354,111',
'110,112,113,,,251,,,,,,,347,,,115,114,116,105,64,107,106,108,,109,117',
'118,,101,102,,,355,,,,,,,,,,,,,,,,,,,,343,,,250,,,66,67,,,68,,,488,',
'485,484,483,493,486,,,,,,,,,496,,99,87,90,91,,92,94,93,95,,,,,88,98',
',,,357,,491,82,,89,103,104,77,78,26,,65,504,503,,71,72,497,,,75,,73',
'74,76,351,352,79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,347',
',,115,114,116,105,64,107,106,108,,109,117,118,,101,102,,,355,,,,,,,',
',,,,,,,,,,,,1139,,,250,,,66,67,,,68,,,,,,,,,,,,,,,,,,,,99,87,90,91,',
'92,94,93,95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,,,,75,,73,74',
'76,351,352,79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,347,,,115',
'114,116,105,64,107,106,108,,109,117,118,,101,102,,,355,,,,,,,,,,,,,',
',,,,,,343,,,339,,,66,67,,,68,,,,,,,,,,,,,,,,,,,,99,87,90,91,,92,94,93',
'95,,,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,,,,75,,73,74,76,351',
'352,79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,347,,,115,114',
'116,105,64,107,106,108,,109,117,118,,101,102,,,355,,,,,,,,,,,,,,,,,',
',,343,,,339,,,66,67,,,68,,,,,,,,,,,,,,,,,,,,99,87,90,91,,92,94,93,95',
',,,,88,98,,,,77,78,26,82,65,89,103,104,71,72,,,,75,,73,74,76,351,352',
'79,80,,,,,,81,346,354,111,110,112,113,,,251,,,,,,,347,,,115,114,116',
'105,64,107,106,108,,109,117,118,,101,102,,,355,,,,,,,,,,,,,,,,,,,,343',
',,339,,,66,67,,,68,,338,,,,,,,,,,,,,,,,,,99,87,90,91,,92,94,93,95,,',
',,88,98,,,,,,,82,,89,103,104,182,193,183,206,179,199,189,188,209,210',
'204,187,186,181,207,211,212,191,180,194,198,200,192,185,,,,201,208,203',
'202,195,205,190,178,197,196,,,,,,177,184,175,176,172,173,174,135,137',
',,136,,,,,,,,166,167,,163,145,146,147,154,151,153,,,148,149,,,,168,169',
'155,156,,,,,,,,,,,,,,160,159,,144,165,162,161,170,157,158,152,150,142',
'164,143,,,171,99,,,,,,,,,,,,,,98,182,193,183,206,179,199,189,188,209',
'210,204,187,186,181,207,211,212,191,180,194,198,200,192,185,,,,201,208',
'203,202,195,205,190,178,197,196,,,,,,177,184,175,176,172,173,174,135',
'137,134,,136,,,,,,,,166,167,,163,145,146,147,154,151,153,,,148,149,',
',,168,169,155,156,,,,,,,,,,,,,,160,159,,144,165,162,161,170,157,158',
'152,150,142,164,143,,,171,99,,,,,,,,,,,,,,98,182,193,183,206,179,199',
'189,188,209,210,204,187,186,181,207,211,212,191,180,194,198,200,192',
'185,,,,201,208,203,202,195,205,190,178,197,196,,,,,,177,184,175,176',
'172,173,174,135,137,,,136,,,,,,,,166,167,,163,145,146,147,154,151,153',
',,148,149,,,,168,169,155,156,,,,,,,,,,,,,,160,159,,144,165,162,161,170',
'157,158,152,150,142,164,143,,,171,99,,,,,,,,,,,,,,98,182,193,183,206',
'179,199,189,188,209,210,204,187,186,181,207,211,212,191,180,194,198',
'200,192,185,,,,201,208,203,202,195,205,190,178,197,196,,,,,,177,184',
'175,176,172,173,174,135,137,,,136,,,,,,,,166,167,,163,145,146,147,154',
'151,153,,,148,149,,,,168,169,155,156,,,,,,,,,,,,,,160,159,,144,165,162',
'161,170,157,158,152,150,142,164,143,,,171,99,111,110,112,113,,,,,,,',
',,98,,,115,114,116,770,,,488,773,485,484,483,493,486,101,102,,,355,',
',,496,,,,,,,,,,,,,,,,772,,,743,,,491,741,,,742,,,,,501,500,504,503,',
',,497,,,,771,,,,99,87,90,91,,92,94,93,95,,,,,88,98,111,110,112,113,',
',82,,89,103,104,,,758,759,,115,114,116,770,,,,773,750,,,,,101,102,,',
'355,496,,,,,,,,,,,,,,,,,,,772,,,743,,,,741,,,742,,745,,,,,,,497,,,,',
',,771,,,,99,751,90,91,,92,94,93,95,,,,,88,98,111,110,112,113,,,82,,89',
'103,104,,,758,759,,115,114,116,770,,,488,773,485,484,483,493,486,101',
'102,,,355,,,,496,,,,,,,,,,,,,,,,772,,,743,,,491,741,,,742,,,,,501,500',
'504,503,,,,497,,,,771,,,,99,87,90,91,,92,94,93,95,,,,,88,98,111,110',
'112,113,,,82,,89,103,104,,,758,759,,115,114,116,770,,,488,773,485,484',
'483,493,486,101,102,,,355,,,,496,,,,,,,,,,,,,,,,772,,,743,,,491,741',
',,742,,,,,,,504,503,,,,497,,,,771,,,,99,87,90,91,,92,94,93,95,,,,,88',
'98,111,110,112,113,,,82,,89,103,104,,,758,759,,115,114,116,770,,,488',
'773,485,484,483,493,486,101,102,,,355,,,,496,,,,,,,,,,,,,,,,772,,,743',
',,491,741,,,742,,1047,,,,,504,503,,,,497,,,,771,,,,99,87,90,91,,92,94',
'93,95,,,,,88,98,111,110,112,113,,,82,,89,103,104,,,758,759,,115,114',
'116,770,,,488,773,485,484,483,493,486,101,102,,,355,,,,496,,,,,,,,,',
',,,,,,772,,,743,,,491,741,,,742,,,,,,,504,503,,,,497,,,,771,,,,99,87',
'90,91,,92,94,93,95,,,,,88,98,111,110,112,113,,,82,,89,103,104,,,758',
'759,,115,114,116,770,,,,773,750,,,,,101,102,,,355,496,,,,,,,,,,,,,,',
',,,,772,,,743,,,,741,,,742,,745,,,,,,,497,,,,,,,771,,,,99,751,90,91',
',92,94,93,95,,,,,88,98,111,110,112,113,,,82,,89,103,104,,,758,759,,115',
'114,116,770,,,,773,750,,,,,101,102,,,355,496,,,,,,,,,,,,,,,,,,,772,',
',743,,,,741,,,742,,745,,,,,,,497,,,,,,,771,,,,99,751,90,91,,92,94,93',
'95,,,,,88,98,111,110,112,113,,,82,,89,103,104,,,758,759,,115,114,116',
'770,,,,773,,,,,,101,102,,,355,,,,,,,,,,,,,,,,,,,,772,,,743,,,,741,,',
'742,,,,,,,,,,,,,,,,771,,,,99,87,90,91,,92,94,93,95,,,,,88,98,111,110',
'112,113,,,82,,89,103,104,,,758,759,,115,114,116,770,,,,773,,,,,,101',
'102,,,355,,,,,,,,,,,,,,,,,,,,772,,,743,,,,741,,,742,,745,,,,,,,,,,,',
',,771,,,,99,87,90,91,,92,94,93,95,,,,,88,98,111,110,112,113,,,82,,89',
'103,104,,,758,759,,115,114,116,770,,,,773,,,,,,101,102,,,355,,,,,,,',
',,,,,,,,,,,,772,,,743,,,,741,,,742,,745,,,,,,,,,,,,,,771,,,,99,87,90',
'91,,92,94,93,95,,,,,88,98,237,,,,,,82,,89,103,104,,,758,759,182,193',
'183,206,179,199,189,188,209,210,204,187,186,181,207,211,212,191,180',
'194,198,200,192,185,,,,201,208,203,291,290,292,289,178,197,196,,,,,',
'177,184,175,176,286,287,288,284,137,107,106,285,,109,,,,,,166,167,,163',
'145,146,147,154,151,153,,,148,149,,,,168,169,155,156,,,,,,296,,,,,,',
',160,159,,144,165,162,161,170,157,158,152,150,142,164,143,,,171,111',
'110,112,113,,,488,,485,484,483,493,486,,,,115,114,116,770,,496,,773',
',,,,,101,102,,,355,,,,,,,,,,491,,,,,,,,,,772,504,503,743,,,497,741,',
',742,,,,,,,,,,,,,,,,771,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,482,',
',,,82,,89,103,104,,,758,759,182,193,183,206,179,199,189,188,209,210',
'204,187,186,181,207,211,212,191,180,194,198,200,192,185,,,,201,208,203',
'202,195,205,190,178,197,196,,,,,,177,184,175,176,172,173,174,135,137',
',,136,,,,,,,,166,167,,163,145,146,147,154,151,153,,,148,149,,,,168,169',
'155,156,,,,,,,,,,,,,,160,159,,144,165,162,161,170,157,158,152,150,142',
'164,143,,,171,111,110,112,113,,,,,,,,,,,,,115,114,116,770,,,,773,750',
',,,,101,102,,,355,496,,,,,,,,,,,,,,,,,,,772,,,743,,,,741,,,742,,745',
',,,,,,497,,,,,,,771,,,,99,751,90,91,,92,94,93,95,,,,,88,98,111,110,112',
'113,,,82,,89,103,104,,,758,759,,115,114,116,770,,,,773,750,,,,,101,102',
',,355,496,,,,,,,,,,,,,,,,,,,772,,,743,,,,741,,,742,,745,,,,,,,497,,',
',,,,771,,,,99,751,90,91,,92,94,93,95,,,,,88,98,111,110,112,113,,,82',
',89,103,104,,,758,759,,115,114,116,770,,,,773,,,,,,101,102,,,355,,,',
',,,,,,,,,,,,,,,,772,,,743,,,,741,,,742,,,,,,,,,,,,,,,,771,,,,99,87,90',
'91,,92,94,93,95,,,,,88,98,111,110,112,113,,,82,,89,103,104,,,758,759',
',115,114,116,770,,,,773,,,,,,101,102,,,355,,,,,,,,,,,,,,,,,,,,772,,',
'743,,,,741,,,742,,,,,,,,,,,,,,,,771,,,,99,87,90,91,,92,94,93,95,,,,',
'88,98,111,110,112,113,,,82,,89,103,104,,,758,759,,115,114,116,770,,',
',773,,,,,,101,102,,,355,,,,,,,,111,110,112,113,,,,,,,,,772,,,743,115',
'114,116,741,,,742,,745,,,,,101,102,,,355,,,,,771,,,,99,87,90,91,,92',
'94,93,95,,,,,88,98,,,,,,,82,,89,103,104,,,758,759,,,,,,,,,,,,99,87,90',
'91,,92,94,93,95,,,,,88,98,111,110,112,113,,,82,,89,103,104,,,,,,115',
'114,116,,,,,,,,,,,101,102,,,355,111,110,112,113,,,,,,,,,,,,,115,114',
'116,,,,,,,,,,,101,102,,,355,,,,,,,,,,,,,,,,99,87,90,91,,92,94,93,95',
',,,,88,98,,,,,,,82,,89,103,104,,,,,,,,,99,87,90,91,,92,94,93,95,,,,',
'88,98,111,110,112,113,,,82,,89,103,104,,,,,,115,114,116,488,,485,484',
'483,493,486,,,,101,102,,,355,496,,,,,,,,,,,488,,485,484,483,493,486',
',,,,491,,,,496,,,,,501,500,504,503,,,,497,,,,,,,,,,491,99,87,90,91,',
'92,94,93,95,,504,503,,88,98,497,,,,,,82,,89,103,104,,,488,482,485,484',
'483,493,486,,488,,485,484,483,493,486,496,,,,,,,,496,,,488,482,485,484',
'483,493,486,,,,,491,,,,496,,,,491,501,500,504,503,,,,497,501,500,504',
'503,,,,497,488,491,485,484,483,493,486,,,,,,504,503,,496,,497,488,,485',
'484,483,493,486,,,,,,,482,,496,,,,491,,482,,,,,,,,,504,503,,,,497,,491',
',482,,,,,,,501,500,504,503,,,,497,,,,,,,,,,,,1211,466,,,1210,,,,,,482',
',166,167,,163,145,146,147,154,151,153,,,148,149,,,482,168,169,155,156',
',,,,,303,,,,,,,,160,159,,144,165,162,161,170,157,158,152,150,142,164',
'143,553,459,171,,554,,,,,,,,166,167,,163,145,146,147,154,151,153,,,148',
'149,,,,168,169,155,156,,,,,,,,,,,,,,160,159,,144,165,162,161,170,157',
'158,152,150,142,164,143,462,466,171,,461,,,,,,,,166,167,,163,145,146',
'147,154,151,153,,,148,149,,,,168,169,155,156,,,,,,303,,,,,,,,160,159',
',144,165,162,161,170,157,158,152,150,142,164,143,1195,466,171,,1196',
',,,,,,,166,167,,163,145,146,147,154,151,153,,,148,149,,,,168,169,155',
'156,,,,,,303,,,,,,,,160,159,,144,165,162,161,170,157,158,152,150,142',
'164,143,725,466,171,,726,,,,,,,,166,167,,163,145,146,147,154,151,153',
',,148,149,,,,168,169,155,156,,,,,,303,,,,,,,,160,159,,144,165,162,161',
'170,157,158,152,150,142,164,143,1193,459,171,,1194,,,,,,,,166,167,,163',
'145,146,147,154,151,153,,,148,149,,,,168,169,155,156,,,,,,303,,,,,,',
',160,159,,144,165,162,161,170,157,158,152,150,142,164,143,867,466,171',
',866,,,,,,,,166,167,,163,145,146,147,154,151,153,,,148,149,,,,168,169',
'155,156,,,,,,303,,,,,,,,160,159,,144,165,162,161,170,157,158,152,150',
'142,164,143,723,459,171,,724,,,,,,,,166,167,,163,145,146,147,154,151',
'153,,,148,149,,,,168,169,155,156,,,,,,303,,,,,,,,160,159,,144,165,162',
'161,170,157,158,152,150,142,164,143,455,459,171,,456,,,,,,,,166,167',
',163,145,146,147,154,151,153,,,148,149,,,,168,169,155,156,,,,,,303,',
',,,,,,160,159,,144,165,162,161,170,157,158,152,150,142,164,143,803,459',
'171,,804,,,,,,,,166,167,,163,145,146,147,154,151,153,,,148,149,,,,168',
'169,155,156,,,,,,303,,,,,,,,160,159,,144,165,162,161,170,157,158,152',
'150,142,164,143,806,466,171,,807,,,,,,,,166,167,,163,145,146,147,154',
'151,153,,,148,149,,,,168,169,155,156,,,,,,303,,,,,,,,160,159,,144,165',
'162,161,170,157,158,152,150,142,164,143,832,459,171,,833,,,,,,,,166',
'167,,163,145,146,147,154,151,153,,,148,149,,,,168,169,155,156,,,,,,303',
',,,,,,,160,159,,144,165,162,161,170,157,158,152,150,142,164,143,864',
'459,171,,865,,,,,,,,166,167,,163,145,146,147,154,151,153,,,148,149,',
',,168,169,155,156,,,,,,303,,,,,,,,160,159,,144,165,162,161,170,157,158',
'152,150,142,164,143,834,466,171,,835,,,,,,,,166,167,,163,145,146,147',
'154,151,153,,,148,149,,,,168,169,155,156,,,,,,303,,,,,,,,160,159,,144',
'165,162,161,170,157,158,152,150,142,164,143,553,459,171,,554,,,,,,,',
'166,167,,163,145,146,147,154,151,153,,,148,149,,,,168,169,155,156,,',
',,,303,,,,,,,,160,159,,144,165,162,161,170,157,158,152,150,142,164,143',
'837,466,171,,838,,,,,,,,166,167,,163,145,146,147,154,151,153,,,148,149',
',,,168,169,155,156,,,,,,303,,,,,,,,160,159,,144,165,162,161,170,157',
'158,152,150,142,164,143,723,459,171,,724,,,,,,,,166,167,,163,145,146',
'147,154,151,153,,,148,149,,,,168,169,155,156,,,,,,303,,,,,,,,160,159',
',144,165,162,161,170,157,158,152,150,142,164,143,725,466,171,,726,,',
',,,,,166,167,,163,145,146,147,154,151,153,,,148,149,,,,168,169,155,156',
',,,,,303,,,,,,,,160,159,,144,165,162,161,170,157,158,152,150,142,164',
'143,,,171' ]
racc_action_table = arr = ::Array.new(28951, 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 = [
'461,348,1010,845,518,390,389,461,461,461,512,512,781,461,461,731,461',
'1052,926,833,835,1080,921,986,461,1082,414,622,413,1229,440,628,832',
'498,752,622,461,461,830,461,461,461,461,461,1097,1098,1101,381,382,393',
'740,498,752,990,23,740,1083,1083,990,740,1052,731,921,518,926,348,461',
'461,461,461,461,461,461,461,461,461,461,461,461,461,550,550,461,461',
'461,835,461,461,348,440,461,1158,414,461,413,23,638,638,461,781,461',
'3,461,461,512,461,461,461,461,461,105,461,845,461,390,389,619,105,105',
'105,1010,1193,105,105,105,1010,105,461,833,835,461,461,986,461,105,461',
'105,105,105,1080,628,832,461,1082,1080,461,105,105,1082,105,105,105',
'105,105,1194,1195,830,1215,393,830,973,830,1097,1098,1101,381,382,1097',
'1098,1101,381,382,1047,69,550,9,105,105,105,105,105,105,105,105,105',
'105,105,105,105,105,638,922,105,105,105,638,105,105,817,12,105,817,386',
'105,105,806,105,386,105,1158,105,19,105,105,1158,105,105,105,105,105',
'619,105,108,105,240,619,973,922,241,108,108,108,1195,1196,108,108,108',
'105,108,1193,105,105,105,105,1193,105,108,105,108,108,108,20,105,14',
'1047,105,834,803,108,108,69,108,108,108,108,108,973,19,15,973,806,806',
'1194,1195,804,1215,17,1194,1195,243,1215,973,1085,240,1085,813,813,241',
'108,108,108,108,108,108,108,108,108,108,108,108,108,108,742,27,108,108',
'108,20,108,108,1196,806,108,1000,806,108,108,1120,108,742,108,834,108',
'803,108,108,806,108,108,108,108,108,31,108,726,108,355,355,243,42,804',
'726,726,726,48,48,726,726,726,108,726,1196,108,108,108,108,1196,108',
'726,108,726,726,726,803,108,834,803,108,697,697,726,726,1000,726,726',
'726,726,726,803,813,804,1120,1120,804,655,284,925,573,249,1213,925,941',
'284,399,45,804,31,399,1120,1213,726,726,726,726,726,726,726,726,726',
'726,726,726,726,726,355,355,726,726,726,31,726,726,48,48,726,723,409',
'726,726,653,726,292,726,53,726,213,726,726,292,726,726,726,726,726,249',
'726,724,726,655,655,284,573,573,573,415,941,941,941,655,408,226,726',
'410,917,726,726,726,726,573,726,412,726,941,725,455,248,726,228,865',
'726,725,725,725,232,723,725,725,725,391,725,409,409,409,653,653,391',
'292,725,725,725,725,725,864,653,391,724,16,16,242,725,725,456,725,725',
'725,725,725,244,415,415,415,455,917,408,408,408,410,410,410,411,44,248',
'245,455,412,412,412,865,251,725,725,725,725,725,725,725,725,725,725',
'725,725,725,725,391,939,725,725,725,456,725,725,864,798,725,939,287',
'725,725,302,725,456,725,287,725,798,725,725,44,725,725,725,725,725,866',
'725,725,725,1183,1183,44,866,866,866,411,411,411,866,866,377,866,725',
'377,939,725,725,725,725,866,725,283,725,316,5,317,939,725,283,5,725',
'866,866,320,866,866,866,866,866,818,818,332,287,231,1180,231,231,231',
'231,231,134,1180,285,772,333,134,134,772,231,285,1180,866,866,866,866',
'866,866,866,866,866,866,866,866,866,866,335,286,866,866,866,231,866',
'866,286,336,866,283,29,866,231,231,231,231,866,29,866,231,866,866,337',
'866,866,866,866,866,328,866,462,866,1180,328,343,85,506,462,462,462',
'285,506,346,462,462,866,462,85,866,866,347,866,349,866,462,462,350,85',
'373,231,866,373,374,866,286,374,462,462,354,462,462,462,462,462,1150',
'29,356,1150,641,1099,641,641,641,641,641,288,1099,359,755,755,380,380',
'288,641,363,1099,462,462,462,462,462,462,462,462,462,462,462,462,462',
'462,365,43,462,462,462,641,462,462,371,375,462,21,289,462,641,641,641',
'641,462,289,462,641,462,462,359,462,462,462,462,462,376,462,462,462',
'1099,675,359,378,387,966,288,966,966,966,966,966,388,462,43,290,462',
'462,398,462,966,462,290,291,21,867,43,641,462,392,291,462,867,867,867',
'694,21,394,867,867,403,867,966,289,423,694,429,431,675,867,867,966,966',
'966,966,432,439,434,966,437,675,867,867,439,867,867,867,867,867,441',
'398,451,439,453,401,454,463,398,694,694,290,401,398,694,966,469,398',
'470,291,473,401,867,867,867,867,867,867,867,867,867,867,867,867,867',
'867,398,474,867,867,867,475,867,867,54,478,867,479,480,867,490,54,439',
'502,867,505,867,508,867,867,54,867,867,867,867,867,398,867,867,867,401',
'514,340,522,523,530,531,342,341,340,933,532,533,867,342,341,867,867',
'340,867,933,867,631,342,341,558,559,560,867,631,564,867,215,215,215',
'215,215,215,631,54,580,215,215,581,584,586,215,837,215,215,215,215,215',
'215,215,591,595,604,933,605,215,215,215,215,215,215,215,340,606,215',
'933,616,342,341,620,215,215,215,215,215,215,215,215,215,215,215,215',
'631,215,215,215,18,215,215,215,215,215,590,18,837,621,360,51,51,590',
'623,837,18,360,650,658,837,660,590,667,837,215,360,676,215,681,686,215',
'215,344,688,215,690,215,708,709,344,215,711,837,718,529,727,51,51,344',
'215,736,744,745,746,215,215,215,215,775,215,215,215,215,778,18,780,786',
'215,215,787,590,788,837,790,360,215,529,215,215,215,529,529,215,215',
'836,836,836,836,836,836,792,800,802,836,836,805,808,344,836,397,836',
'836,836,836,836,836,836,578,578,578,578,578,836,836,836,836,836,836',
'836,809,907,836,907,907,907,812,907,836,836,836,836,836,836,836,836',
'836,836,836,836,820,836,836,836,239,836,836,836,836,836,838,239,397',
'826,1138,827,831,838,907,397,239,1138,838,840,397,844,838,907,397,836',
'1138,846,836,861,863,836,836,807,872,836,885,836,888,889,807,836,892',
'397,894,807,897,646,646,807,836,646,646,646,898,836,836,836,836,900',
'836,836,836,836,901,239,903,906,836,836,919,838,927,397,928,1138,836',
'932,836,836,836,935,940,836,836,233,233,233,233,233,233,959,962,963',
'233,233,972,977,807,233,980,233,233,233,233,233,233,233,25,987,989,996',
'997,233,233,233,233,233,233,233,998,710,233,710,710,710,999,710,233',
'233,233,233,233,233,233,233,233,233,233,233,1025,233,233,233,1026,233',
'233,233,233,233,25,25,25,25,25,25,25,25,25,25,25,1031,25,25,1036,1037',
'25,25,1038,233,1039,25,233,1125,1040,233,233,1041,1045,233,1046,233',
'25,1125,25,233,25,25,1049,25,25,25,25,25,233,25,1053,1060,1065,233,233',
'233,233,1066,233,233,233,233,1068,1069,1070,1072,233,233,1073,25,1125',
'1125,1074,1089,233,1125,233,233,233,1100,1103,233,233,991,991,991,991',
'991,991,1104,1105,1106,991,991,1117,1136,1139,991,1148,991,991,991,991',
'991,991,991,8,8,8,8,8,991,991,991,991,991,991,991,1149,1154,991,1164',
'1165,1167,1170,444,991,991,991,991,991,991,991,991,991,991,991,991,1173',
'991,991,991,1174,991,991,991,991,991,444,444,444,444,444,444,444,444',
'444,444,444,1175,444,444,1176,1178,444,444,1192,991,1197,771,991,771',
'771,991,991,771,1199,991,1210,991,444,1211,444,991,444,444,1217,444',
'444,444,444,444,991,444,1218,1219,1220,991,991,991,991,1,991,991,991',
'991,771,,,,991,991,,444,,444,,,991,,991,991,991,,,991,991,1096,1096',
'1096,1096,1096,1096,,,,1096,1096,,,,1096,,1096,1096,1096,1096,1096,1096',
'1096,331,331,331,331,331,1096,1096,1096,1096,1096,1096,1096,,,1096,',
',,,689,1096,1096,1096,1096,1096,1096,1096,1096,1096,1096,1096,1096,',
'1096,1096,1096,,1096,1096,1096,1096,1096,689,689,689,689,689,689,689',
'689,689,689,689,,689,689,,,689,689,,1096,,,1096,,,1096,1096,,,1096,',
'1096,689,,689,1096,689,689,,689,689,689,689,689,1096,689,,,,1096,1096',
'1096,1096,,1096,1096,1096,1096,,,,,1096,1096,,689,,,,,1096,,1096,1096',
'1096,,,1096,1096,2,2,2,2,2,2,,,,2,2,,,,2,,2,2,2,2,2,2,2,370,370,370',
'370,370,2,2,2,2,2,2,2,,,2,,,,,450,2,2,2,2,2,2,2,2,2,2,2,2,,2,2,2,,2',
'2,2,2,2,450,450,450,450,450,450,450,450,450,450,450,,450,450,,,450,450',
',2,,,2,,,2,2,,,2,,2,450,,450,2,450,450,,450,450,450,450,450,2,450,,',
',2,2,2,2,,2,2,2,2,,,,,2,2,,450,,,,,2,,2,2,2,,,2,2,639,639,639,639,639',
'639,,,,639,639,,,,639,,639,639,639,639,639,639,639,,,,,,639,639,639',
'639,639,639,639,,,639,,,,,719,639,639,639,639,639,639,639,639,639,639',
'639,639,,639,639,639,,639,639,639,639,639,719,719,719,719,719,719,719',
'719,719,719,719,,719,719,,,719,719,,639,,,639,,,639,639,,,639,,639,719',
',719,639,719,719,,719,719,719,719,719,639,719,,,,639,639,639,639,,639',
'639,639,639,,,,,639,639,,719,,,,,639,,639,639,639,,,639,639,1062,1062',
'1062,1062,1062,1062,,,,1062,1062,,,,1062,,1062,1062,1062,1062,1062,1062',
'1062,,,,,,1062,1062,1062,1062,1062,1062,1062,,1190,1062,1190,1190,1190',
',1190,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,,1062',
'1062,1062,,1062,1062,1062,1062,1062,869,869,869,869,869,869,869,869',
'869,869,869,,869,869,,,869,869,,1062,,,1062,,,1062,1062,,,1062,,1062',
'869,,869,1062,869,869,,869,869,869,869,869,1062,869,,,,1062,1062,1062',
'1062,,1062,1062,1062,1062,,,,,1062,1062,,869,,,,,1062,,1062,1062,1062',
',,1062,1062,967,967,967,967,967,967,,,,967,967,,,,967,,967,967,967,967',
'967,967,967,,,,,,967,967,967,967,967,967,967,,1092,967,1092,1092,1092',
',1092,967,967,967,967,967,967,967,967,967,967,967,967,,967,967,967,',
'967,967,967,967,967,314,314,314,314,314,314,314,314,314,314,314,,314',
'314,,,314,314,,967,,,967,,,967,967,,,967,,967,314,,314,967,314,314,',
'314,314,314,314,314,967,314,,,,967,967,967,967,,967,967,967,967,,,,',
'967,967,,314,,,,,967,,967,967,967,,,967,967,369,369,369,369,369,369',
',,,369,369,,,,369,,369,369,369,369,369,369,369,,,,,,369,369,369,369',
'369,369,369,,,369,,,,,,369,369,369,369,369,369,369,369,369,369,369,369',
',369,369,369,,369,369,369,369,369,547,547,547,547,547,547,547,547,547',
'547,547,,547,547,,,547,547,,369,,,369,,,369,369,,,369,,369,547,,547',
'369,547,547,,547,547,547,547,547,369,547,,,,369,369,369,369,,369,369',
'369,369,,,,,369,369,547,547,,,,,369,,369,369,369,,,369,369,250,250,250',
'250,250,250,,,,250,250,,,,250,,250,250,250,250,250,250,250,,,,,,250',
'250,250,250,250,250,250,,,250,,,,,,250,250,250,250,250,250,250,250,250',
'250,250,250,,250,250,250,,250,250,250,250,250,1061,1061,1061,1061,1061',
'1061,1061,1061,1061,1061,1061,,1061,1061,,,1061,1061,,250,,,250,,,250',
'250,,,250,,250,1061,,1061,250,1061,1061,,1061,1061,1061,1061,1061,250',
'1061,,,,250,250,250,250,,250,250,250,250,,,,,250,250,,1061,,,,,250,',
'250,250,250,,,250,250,852,852,852,852,852,852,,,,852,852,,,,852,,852',
'852,852,852,852,852,852,,,,,,852,852,852,852,852,852,852,,,852,,,,,',
'852,852,852,852,852,852,852,852,852,852,852,852,,852,852,852,,852,852',
'852,852,852,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,',
'1005,1005,,,1005,1005,,852,,,852,,,852,852,,,852,,852,1005,,1005,852',
'1005,1005,,1005,1005,1005,1005,1005,852,1005,,,,852,852,852,852,,852',
'852,852,852,,,,,852,852,,1005,,,,,852,,852,852,852,,,852,852,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,602,602,602,602,602',
'602,602,602,602,602,602,,602,602,,,602,602,,227,,,227,,,227,227,,,227',
',227,602,,602,227,602,602,,602,602,602,602,602,227,602,,,,227,227,227',
'227,,227,227,227,227,,,,,227,227,,602,,,,,227,,227,227,227,,,227,227',
'841,841,841,841,841,841,,,,841,841,,,,841,,841,841,841,841,841,841,841',
',,,,,841,841,841,841,841,841,841,,,841,,,,,,841,841,841,841,841,841',
'841,841,841,841,841,841,,841,841,841,,841,841,841,841,841,1028,1028',
'1028,1028,1028,1028,1028,1028,1028,1028,1028,,1028,1028,,,1028,1028',
',841,,,841,,,841,841,,,841,,841,1028,,1028,841,1028,1028,,1028,1028',
'1028,1028,1028,841,1028,,,,841,841,841,841,,841,841,841,841,,,,,841',
'841,,1028,,,,,841,,841,841,841,,,841,841,1007,1007,1007,1007,1007,1007',
',,,1007,1007,,,,1007,,1007,1007,1007,1007,1007,1007,1007,,,,,,1007,1007',
'1007,1007,1007,1007,1007,,,1007,,,,,,1007,1007,1007,1007,1007,1007,1007',
'1007,1007,1007,1007,1007,,1007,1007,1007,,1007,1007,1007,1007,1007,1027',
'1027,1027,1027,1027,1027,1027,1027,1027,1027,1027,,1027,1027,,,1027',
'1027,,1007,,,1007,,,1007,1007,,,1007,,1007,1027,,1027,1007,1027,1027',
',1027,1027,1027,1027,1027,1007,1027,,,,1007,1007,1007,1007,,1007,1007',
'1007,1007,,,,,1007,1007,,1027,,,,,1007,,1007,1007,1007,,,1007,1007,1091',
'1091,1091,1091,1091,1091,,,,1091,1091,,,,1091,,1091,1091,1091,1091,1091',
'1091,1091,,,,,,1091,1091,1091,1091,1091,1091,1091,,,1091,,,,,,1091,1091',
'1091,1091,1091,1091,1091,1091,1091,1091,1091,1091,,1091,1091,1091,,1091',
'1091,1091,1091,1091,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004',
'1004,,1004,1004,,,1004,1004,,1091,,,1091,,,1091,1091,,,1091,,1091,1004',
',1004,1091,1004,1004,,1004,1004,1004,1004,1004,1091,1004,,,,1091,1091',
'1091,1091,,1091,1091,1091,1091,,,,,1091,1091,,1004,,,,,1091,,1091,1091',
'1091,,,1091,1091,1140,1140,1140,1140,1140,1140,,,,1140,1140,,,,1140',
',1140,1140,1140,1140,1140,1140,1140,,,,,,1140,1140,1140,1140,1140,1140',
'1140,,491,1140,491,491,491,,491,1140,1140,1140,1140,1140,1140,1140,1140',
'1140,1140,1140,1140,,1140,1140,1140,,1140,1140,1140,1140,1140,706,,706',
'706,706,,706,,491,,1107,,1107,1107,1107,,1107,491,,1140,,,1140,,,1140',
'1140,,544,1140,,1140,,,,1140,,706,,528,,,,,1140,,706,1107,,1140,1140',
'1140,1140,,1140,1140,1140,1140,,,544,,1140,1140,544,544,,544,544,,1140',
'528,1140,1140,1140,528,528,1140,1140,618,618,618,618,618,618,,,,618',
'618,,,,618,,618,618,618,618,618,618,618,,,,,,618,618,618,618,618,618',
'618,,1108,618,1108,1108,1108,,1108,618,618,618,618,618,618,618,618,618',
'618,618,618,,618,618,618,,618,618,618,618,618,546,546,546,546,546,546',
'546,546,1108,546,546,,,,,,546,546,,618,,,618,,,618,618,,543,618,,618',
'546,,546,618,546,546,,546,546,546,546,546,618,546,,,,618,618,618,618',
',618,618,618,618,,,543,,618,618,543,543,,543,543,,618,,618,618,618,',
',618,618,615,615,615,615,615,615,,,,615,615,,,,615,,615,615,615,615',
'615,615,615,,,,,,615,615,615,615,615,615,615,,908,615,908,908,908,,908',
'615,615,615,615,615,615,615,615,615,615,615,615,,615,615,615,,615,615',
'615,615,615,601,,,,,,,,908,,,,,,,,601,601,,615,,,615,,,615,615,,,615',
',615,601,,601,615,601,601,,601,601,,,601,615,601,,,,615,615,615,615',
',615,615,615,615,,,,,615,615,,,,,,,615,,615,615,615,,,615,615,887,887',
'887,887,887,887,,,,887,887,,,,887,,887,887,887,887,887,887,887,,,,,',
'887,887,887,887,887,887,887,,,887,,,,,,887,887,887,887,887,887,887,887',
'887,887,887,887,,887,887,887,,887,887,887,887,887,545,545,545,545,545',
'545,545,,,545,545,,,,,,545,545,,887,,,887,,,887,887,,,887,,887,545,',
'545,887,545,545,,545,545,545,545,545,887,545,,,,887,887,887,887,,887',
'887,887,887,,,,,887,887,,,,,,,887,,887,887,887,,,887,887,339,339,339',
'339,339,339,,,,339,339,,,,339,,339,339,339,339,339,339,339,,,,,,339',
'339,339,339,339,339,339,,,339,,,,,,339,339,339,339,339,339,339,339,339',
'339,339,339,,339,339,339,,339,339,339,339,339,526,526,526,526,526,526',
'526,526,526,526,526,,526,526,,,526,526,,339,,,339,,,339,339,,,339,,339',
'526,,526,339,526,526,,526,526,526,526,526,339,526,,,,339,339,339,339',
',339,339,339,339,,,,,339,339,,,,,,,339,,339,339,339,,,339,339,1090,1090',
'1090,1090,1090,1090,,,,1090,1090,,,,1090,,1090,1090,1090,1090,1090,1090',
'1090,,,,,,1090,1090,1090,1090,1090,1090,1090,,,1090,,,,,,1090,1090,1090',
'1090,1090,1090,1090,1090,1090,1090,1090,1090,,1090,1090,1090,,1090,1090',
'1090,1090,1090,542,542,542,542,542,542,542,,,542,542,,,,,,542,542,,1090',
',,1090,,,1090,1090,,,1090,,1090,542,,542,1090,542,542,,542,542,542,542',
'542,1090,542,,,,1090,1090,1090,1090,,1090,1090,1090,1090,,,,,1090,1090',
',,,,,,1090,,1090,1090,1090,,,1090,1090,38,38,38,38,38,38,,,,38,38,,',
',38,,38,38,38,38,38,38,38,,,,,,38,38,38,38,38,38,38,,,38,,,,,,38,38',
'38,38,38,38,38,38,38,38,38,38,,38,38,38,,38,38,38,38,38,541,541,541',
'541,541,541,541,,,541,541,,,,,,541,541,,38,,,38,,,38,38,,,38,,38,541',
',541,38,541,541,,541,541,541,541,541,38,541,,,,38,38,38,38,,38,38,38',
'38,,,,,38,38,,,,,,,38,,38,38,38,,,38,38,985,985,985,985,985,985,,,,985',
'985,,,,985,,985,985,985,985,985,985,985,,,,,,985,985,985,985,985,985',
'985,,,985,,,,,,985,985,985,985,985,985,985,985,985,985,985,985,,985',
'985,985,,985,985,985,985,985,540,540,540,540,540,540,540,,,540,540,',
',,,,540,540,,985,,,985,,,985,985,,,985,,985,540,,540,985,540,540,,540',
'540,540,540,540,985,540,,,,985,985,985,985,,985,985,985,985,,,,,985',
'985,,,,,,,985,,985,985,985,,,985,985,1184,1184,1184,1184,1184,1184,',
',,1184,1184,,,,1184,,1184,1184,1184,1184,1184,1184,1184,,,,,,1184,1184',
'1184,1184,1184,1184,1184,,,1184,,,,,,1184,1184,1184,1184,1184,1184,1184',
'1184,1184,1184,1184,1184,,1184,1184,1184,,1184,1184,1184,1184,1184,361',
'361,361,361,361,361,361,361,361,361,361,,361,361,,,361,361,,1184,,,1184',
',,1184,1184,,,1184,,1184,361,,361,1184,361,361,,361,361,361,361,361',
'1184,361,,,,1184,1184,1184,1184,,1184,1184,1184,1184,,,,,1184,1184,',
',,,,,1184,,1184,1184,1184,,,1184,1184,385,385,385,385,385,385,,,,385',
'385,,,,385,,385,385,385,385,385,385,385,,,,,,385,385,385,385,385,385',
'385,,,385,,,,,,385,385,385,385,385,385,385,385,385,385,385,385,,385',
'385,385,,385,385,385,385,385,539,539,539,539,539,539,539,,,539,539,',
',,,,539,539,,385,,,385,,,385,385,,,385,,385,539,,539,385,539,539,,539',
'539,539,539,539,385,539,,,,385,385,385,385,,385,385,385,385,,,,,385',
'385,,,,,,,385,,385,385,385,,,385,385,384,384,384,384,384,384,,,,384',
'384,,,,384,,384,384,384,384,384,384,384,,,,,,384,384,384,384,384,384',
'384,,,384,,,,,,384,384,384,384,384,384,384,384,384,384,384,384,,384',
'384,384,,384,384,384,384,384,538,538,538,538,538,538,538,,,538,538,',
',,,,538,538,,384,,,384,,,384,384,,,384,,384,538,,538,384,538,538,,538',
'538,538,538,538,384,538,,,,384,384,384,384,,384,384,384,384,,,,,384',
'384,,,,,,,384,,384,384,384,,,384,384,132,132,132,132,132,132,,,,132',
'132,,,,132,,132,132,132,132,132,132,132,,,,,,132,132,132,132,132,132',
'132,,,132,,,,,,132,132,132,132,132,132,132,132,132,132,132,132,,132',
'132,132,,132,132,132,132,132,527,527,527,527,527,527,527,527,527,527',
'527,,527,527,,,527,527,,132,,,132,,,132,132,,,132,,132,527,,527,132',
'527,527,,527,527,527,527,527,132,527,,,,132,132,132,132,,132,132,132',
'132,,,,,132,132,,,,,,,132,,132,132,132,,,132,132,334,334,334,334,334',
'334,,,,334,334,,,,334,,334,334,334,334,334,334,334,,,,,,334,334,334',
'334,334,334,334,,,334,,,,,,334,334,334,334,334,334,334,334,334,334,334',
'334,,334,334,334,,334,334,334,334,334,548,,,,,,,,,,,,,,,,548,548,,334',
',,334,,,334,334,,,334,,334,548,,548,334,548,548,,548,548,,,548,334,548',
',,,334,334,334,334,,334,334,334,334,,,,,334,334,,,,914,914,914,334,914',
'334,334,334,914,914,334,334,,914,,914,914,914,914,914,914,914,,,,,,914',
'914,914,914,914,914,914,,,914,,,,,,,914,,,914,914,914,914,914,914,914',
'914,,914,914,914,,914,914,914,914,914,537,537,537,537,537,537,537,,',
'537,537,,,,,,537,537,,914,,,914,,,914,914,,,914,,,537,,537,914,537,537',
',537,537,537,537,537,914,537,,,,914,914,914,914,,914,914,914,914,,,',
',914,914,,,,915,915,915,914,915,914,914,914,915,915,914,914,,915,,915',
'915,915,915,915,915,915,,,,,,915,915,915,915,915,915,915,,,915,,,,,',
',915,,,915,915,915,915,915,915,915,915,,915,915,915,,915,915,915,915',
'915,362,362,362,362,362,362,362,362,362,362,362,,362,362,,,362,362,',
'915,,,915,,,915,915,,,915,,,362,,362,915,362,362,,362,362,362,362,362',
'915,362,,,,915,915,915,915,,915,915,915,915,,,,,915,915,,,,916,916,916',
'915,916,915,915,915,916,916,915,915,,916,,916,916,916,916,916,916,916',
',,,,,916,916,916,916,916,916,916,,,916,,,,,,,916,,,916,916,916,916,916',
'916,916,916,,916,916,916,,916,916,916,916,916,534,,,,,,,,,,,,,,,,534',
'534,,916,,,916,,,916,916,,,916,,,534,,534,916,534,534,,534,534,,,,916',
',,,,916,916,916,916,,916,916,916,916,,,,,916,916,,,,261,261,261,916',
'261,916,916,916,261,261,916,916,,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,535,,,,,,,,,,,,,,,,535',
'535,,261,,,261,,,261,261,,,261,,,535,,535,261,535,535,,535,535,,,,261',
',,,,261,261,261,261,,261,261,261,261,,,,,261,261,,,,729,729,729,261',
'729,261,261,261,729,729,261,261,,729,,729,729,729,729,729,729,729,,',
',,,729,729,729,729,729,729,729,,,729,,,,,,,729,,,729,729,729,729,729',
'729,729,729,,729,729,729,,729,729,729,729,729,536,,,,,,,,,,,,,,,,536',
'536,,729,,,729,,,729,729,,,729,,,536,,,729,536,536,,536,536,,,,729,',
',,,729,729,729,729,,729,729,729,729,,,,,729,729,,,,325,325,325,729,325',
'729,729,729,325,325,729,729,,325,,325,325,325,325,325,325,325,,,,,,325',
'325,325,325,325,325,325,,,325,,,,,,,325,,,325,325,325,325,325,325,325',
'325,,325,325,325,,325,325,325,325,325,,,,,,,,,,,,,,,,,,,,325,,,325,',
',325,325,,,325,,,,,,325,,,,,,,,,325,,,,,325,325,325,325,,325,325,325',
'325,,,,,325,325,,,,728,728,728,325,728,325,325,325,728,728,325,325,',
'728,,728,728,728,728,728,728,728,,,,,,728,728,728,728,728,728,728,,',
'728,,,,,,,728,,,728,728,728,728,728,728,728,728,,728,728,728,,728,728',
'728,728,728,,,,,,,,,,,,,,,,,,,,728,,,728,,,728,728,,,728,,,,,,728,,',
',,,,,,728,,,,,728,728,728,728,,728,728,728,728,,,,,728,728,,,,260,260',
'260,728,260,728,728,728,260,260,728,728,,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,,,,259,259,259,260,259,260,260,260,259',
'259,260,260,,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',
',,,258,258,258,259,258,259,259,259,258,258,259,259,,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,,,,257,257,257,258,257,258',
'258,258,257,257,258,258,,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,,,,256,256,256,257,256,257,257,257,256,256,257,257,,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,330,330,330,330,330,,,,330,330,,,,330,,330,330,330',
'330,330,330,330,,,,,,330,330,330,330,330,330,330,,,330,,,,,,330,330',
',330,330,330,330,330,330,330,330,330,,330,330,330,,330,330,330,330,330',
',,,,,,,,,,,,,,,,,,,330,,,330,,,330,330,,,330,,330,,,,330,,,,,,,,,330',
',,,,330,330,330,330,,330,330,330,330,,,,,330,330,,,,704,704,704,330',
'704,330,330,330,704,704,330,330,,704,,704,704,704,704,704,704,704,,',
',,,704,704,704,704,704,704,704,,,704,,,,,,,704,,,704,704,704,704,704',
'704,704,704,,704,704,704,,704,704,704,704,704,,,,,,,,,,,,,,,,,,,,704',
',,704,,,704,704,,,704,,,,,,704,,,,,,,,,704,,,,,704,704,704,704,,704',
'704,704,704,,,,,704,704,,,,691,691,691,704,691,704,704,704,691,691,704',
'704,,691,,691,691,691,691,691,691,691,,,,,,691,691,691,691,691,691,691',
',,691,,,,,,,691,,,691,691,691,691,691,691,691,691,,691,691,691,,691',
'691,691,691,691,,,,,,,,,,,,,,,,,,,,691,,,691,,,691,691,,,691,,691,,',
',691,,,,,,,,,691,,,,,691,691,691,691,,691,691,691,691,,,,,691,691,,',
',255,255,255,691,255,691,691,691,255,255,691,691,,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,,,,254,254,254,255,254,255,255',
'255,254,254,255,255,,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,,,,685,685,685,254,685,254,254,254,685,685,254,254,,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,,,,684,684,684,685',
'684,685,685,685,684,684,685,685,,684,,684,684,684,684,684,684,684,,',
',,,684,684,684,684,684,684,684,,,684,,,,,,,684,,,684,684,684,684,684',
'684,684,684,,684,684,684,,684,684,684,684,684,,,,,,,,,,,,,,,,,,,,684',
',,684,,,684,684,,,684,,,,,,684,,,,,,,,,684,,,,,684,684,684,684,,684',
'684,684,684,,,,,684,684,,,,680,680,680,684,680,684,684,684,680,680,684',
'684,,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,,,,679',
'679,679,680,679,680,680,680,679,679,680,680,,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,,,,678,678,678,679,678,679,679,679',
'678,678,679,679,,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,,,,677,677,677,678,677,678,678,678,677,677,678,678,,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',
',,,950,950,950,677,950,677,677,677,950,950,677,677,,950,,950,950,950',
'950,950,950,950,,,,,,950,950,950,950,950,950,950,,,950,,,,,,,950,,,950',
'950,950,950,950,950,950,950,,950,950,950,,950,950,950,950,950,,,,,,',
',,,,,,,,,,,,,950,,,950,,,950,950,,,950,,,,,,950,,,,,,,,,950,,,,,950',
'950,950,950,,950,950,950,950,,,,,950,950,,,,956,956,956,950,956,950',
'950,950,956,956,950,950,,956,,956,956,956,956,956,956,956,,,,,,956,956',
'956,956,956,956,956,,,956,,,,,,,956,,,956,956,956,956,956,956,956,956',
',956,956,956,,956,956,956,956,956,,,,,,,,,,,,,,,,,,,,956,,,956,,,956',
'956,,,956,,,,,,956,,,,,,,,,956,,,,,956,956,956,956,,956,956,956,956',
',,,,956,956,,,,,,,956,,956,956,956,32,,956,956,,,,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,32,32,32,,,,33,33,33',
',,33,33,33,,33,32,,,32,32,,32,33,32,33,33,,,,,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,674,674,674,,674,,33,,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,,,,34,34',
'34,674,34,674,674,674,34,34,674,674,,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,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,,,,979,979,979,673,979,673',
'673,673,979,979,673,673,,979,,979,979,979,979,979,979,979,,,,,,979,979',
'979,979,979,979,979,,,979,,,,,,,979,,,979,979,979,979,979,979,979,979',
',979,979,979,,979,979,979,979,979,,,,,,,,,,,,,,,,,,,,979,,,979,,,979',
'979,,,979,,,,,,979,,,,,,,,,979,,,,,979,979,979,979,,979,979,979,979',
',,,,979,979,,,,670,670,670,979,670,979,979,979,670,670,979,979,,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',
',,,984,984,984,670,984,670,670,670,984,984,670,670,,984,,984,984,984',
'984,984,984,984,,,,,,984,984,984,984,984,984,984,,,984,,,,,,,984,,,984',
'984,984,984,984,984,984,984,,984,984,984,,984,984,984,984,984,,,,,,',
',,,,,,,,,,,,,984,,,984,,,984,984,,,984,,984,,,,984,,,,,,,,,984,,,,,984',
'984,984,984,,984,984,984,984,,,,,984,984,,,,669,669,669,984,669,984',
'984,984,669,669,984,984,,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,,,,668,668,668,669,668,669,669,669,668,668,669,669,,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,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,,,,247,247,247',
'666,247,666,666,666,247,247,666,666,,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,,,,35,35,35,247,35,247,247,247,35,35,247,247',
',35,,35,35,35,35,35,35,35,,,,,,35,35,35,35,35,35,35,,,35,,,,,,,35,,',
'35,35,35,35,35,35,35,35,35,35,35,35,,35,35,35,35,35,,,,,,,,,,,,,,,,',
',,,35,,,35,,,35,35,,,35,,35,,35,,35,,,35,,,,,,35,,,,,35,35,35,35,,35',
'35,35,35,,,,,35,35,,,,36,36,36,35,36,35,35,35,36,36,35,35,,36,,36,36',
'36,36,36,36,36,,,,,,36,36,36,36,36,36,36,,,36,,,,,,,36,,,36,36,36,36',
'36,36,36,36,36,36,36,36,,36,36,36,36,36,,,,,,,,,,,,,,,,,,,,36,,,36,',
',36,36,,,36,,36,,36,,36,,,36,,,,,,36,,,,,36,36,36,36,,36,36,36,36,,',
',,36,36,,,,635,635,635,36,635,36,36,36,635,635,36,36,,635,,635,635,635',
'635,635,635,635,,,,,,635,635,635,635,635,635,635,,,635,,,,,,,635,,,635',
'635,635,635,635,635,635,635,635,635,635,635,,635,635,635,635,635,,,',
',,,,,,,,,,,,,,,,635,,,635,,,635,635,,,635,,635,,635,,635,,,635,,,,,',
'635,,,,,635,635,635,635,,635,635,635,635,,,,,635,635,,,,1003,1003,1003',
'635,1003,635,635,635,1003,1003,635,635,,1003,,1003,1003,1003,1003,1003',
'1003,1003,,,,,,1003,1003,1003,1003,1003,1003,1003,,,1003,,,,,,,1003',
',,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,,1003',
'1003,1003,1003,1003,,,,,,,,,,,,,,,,,,,,1003,,,1003,,,1003,1003,,,1003',
',,,1003,,1003,,,1003,,,,,,1003,,,,,1003,1003,1003,1003,,1003,1003,1003',
'1003,,,,,1003,1003,,,,625,625,625,1003,625,1003,1003,1003,625,625,1003',
'1003,,625,,625,625,625,625,625,625,625,,,,,,625,625,625,625,625,625',
'625,,,625,,,,,,,625,,,625,625,625,625,625,625,625,625,625,625,625,625',
',625,625,625,625,625,,,,,,,,,,,,,,,,,,,,625,,,625,,,625,625,,,625,,625',
',625,,625,,,625,,,,,,625,,,,,625,625,625,625,,625,625,625,625,,,,,625',
'625,,,,624,624,624,625,624,625,625,625,624,624,625,625,,624,,624,624',
'624,624,624,624,624,,,,,,624,624,624,624,624,624,624,,,624,,,,,,,624',
',,624,624,624,624,624,624,624,624,,624,624,624,,624,624,624,624,624',
',,,,,,,,,,,,,,,,,,,624,,,624,,,624,624,,,624,,624,,,,624,,,,,,,,,624',
',,,,624,624,624,624,,624,624,624,624,,,,,624,624,,,,611,611,611,624',
'611,624,624,624,611,611,624,624,,611,,611,611,611,611,611,611,611,,',
',,,611,611,611,611,611,611,611,,,611,,,,,,,611,,,611,611,611,611,611',
'611,611,611,611,611,611,611,,611,611,611,611,611,,,,,,,,,,,,,,,,,,,',
'611,,,611,,,611,611,,,611,,,,,,611,,,611,,,,,,611,,,,,611,611,611,611',
',611,611,611,611,,,,,611,611,,,,608,608,608,611,608,611,611,611,608',
'608,611,611,,608,,608,608,608,608,608,608,608,,,,,,608,608,608,608,608',
'608,608,,,608,,,,,,,608,,,608,608,608,608,608,608,608,608,608,608,608',
'608,,608,608,608,608,608,,,,,,,,,,,,,,,,,,,,608,,,608,,,608,608,,,608',
',608,,,,608,,,608,,,,,,608,,,,,608,608,608,608,,608,608,608,608,,,,',
'608,608,,,,236,236,236,608,236,608,608,608,236,236,608,608,,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,,,235,235,235,236',
'235,236,236,236,235,235,236,236,,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,,,,603,603,603,235,603,235,235,235,603,603,235',
'235,,603,,603,603,603,603,603,603,603,,,,,,603,603,603,603,603,603,603',
',,603,,,,,,,603,,,603,603,603,603,603,603,603,603,,603,603,603,,603',
'603,603,603,603,,,,,,,,,,,,,,,,,,,,603,,,603,,,603,603,,,603,,,,,,603',
',,,,,,,,603,,,,,603,603,603,603,,603,603,603,603,,,,,603,603,,,,1029',
'1029,1029,603,1029,603,603,603,1029,1029,603,603,,1029,,1029,1029,1029',
'1029,1029,1029,1029,,,,,,1029,1029,1029,1029,1029,1029,1029,,,1029,',
',,,,,1029,,,1029,1029,1029,1029,1029,1029,1029,1029,,1029,1029,1029',
',1029,1029,1029,1029,1029,,,,,,,,,,,,,,,,,,,,1029,,,1029,,,1029,1029',
',,1029,,,,,,1029,,,,,,,,,1029,,,,,1029,1029,1029,1029,,1029,1029,1029',
'1029,,,,,1029,1029,,,,600,600,600,1029,600,1029,1029,1029,600,600,1029',
'1029,,600,,600,600,600,600,600,600,600,,,,,,600,600,600,600,600,600',
'600,,,600,,,,,,,600,,,600,600,600,600,600,600,600,600,,600,600,600,',
'600,600,600,600,600,,,,,,,,,,,,,,,,,,,,600,,,600,,,600,600,,,600,,,',
',,600,,,,,,,,,600,,,,,600,600,600,600,,600,600,600,600,,,,,600,600,',
',,597,597,597,600,597,600,600,600,597,597,600,600,,597,,597,597,597',
'597,597,597,597,,,,,,597,597,597,597,597,597,597,,,597,,,,,,,597,,,597',
'597,597,597,597,597,597,597,,597,597,597,,597,597,597,597,597,,,,,,',
',,,,,,,,,,,,,597,,,597,,,597,597,,,597,,,,,,597,,,,,,,,,597,,,,,597',
'597,597,597,,597,597,597,597,,,,,597,597,,,,234,234,234,597,234,597',
'597,597,234,234,597,597,,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,,,,587,587,587,234,587,234,234,234,587,587,234,234,,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,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,587,587,,,587,587,577,577,577,577,577,,,,577,577,,,,577',
',577,577,577,577,577,577,577,,,,,,577,577,577,577,577,577,577,,,577',
',,,,,577,577,577,577,577,577,577,577,577,577,577,577,,577,577,577,,577',
'577,577,577,577,,,,,,,,,,,,,,,,,,,,577,,,577,,,577,577,,,577,,577,,',
',577,,,,,,,,,577,,,,,577,577,577,577,,577,577,577,577,,,,,577,577,,',
',,,577,577,,577,577,577,,,577,577,571,571,571,,571,,,,571,571,,,,571',
',571,571,571,571,571,571,571,,,,,,571,571,571,571,571,571,571,,,571',
',,,,,,571,,,571,571,571,571,571,571,571,571,,571,571,571,,571,571,571',
'571,571,,,,,,,,,,,,,,,,,,,,571,,,571,,,571,571,,,571,,,,,,571,,,,,,',
',,571,,,,,571,571,571,571,,571,571,571,571,,,,,571,571,,,,569,569,569',
'571,569,571,571,571,569,569,571,571,,569,,569,569,569,569,569,569,569',
',,,,,569,569,569,569,569,569,569,,,569,,,,,,,569,,,569,569,569,569,569',
'569,569,569,569,569,569,569,,569,569,569,569,569,,,,,,,,,,,,,,,,,,,',
'569,,,569,,,569,569,,,569,,,,569,,569,,,569,,,,,,569,,,,,569,569,569',
'569,,569,569,569,569,,,,,569,569,,,,366,366,366,569,366,569,569,569',
'366,366,569,569,,366,,366,366,366,366,366,366,366,,,,,,366,366,366,366',
'366,366,366,,,366,,,,,,,366,,,366,366,366,366,366,366,366,366,,366,366',
'366,,366,366,366,366,366,,,,,,,,,,,,,,,,,,,,366,,,366,,,366,366,,,366',
',,,,,366,,,,,,,,,366,,,,,366,366,366,366,,366,366,366,366,,,,,366,366',
',,,368,368,368,366,368,366,366,366,368,368,366,366,,368,,368,368,368',
'368,368,368,368,,,,,,368,368,368,368,368,368,368,,,368,,,,,,,368,,,368',
'368,368,368,368,368,368,368,,368,368,368,,368,368,368,368,368,,,,,,',
',,,,,,,,,,,,,368,,,368,368,,368,368,,,368,,,,,,368,,,,,,,,,368,,,,,368',
'368,368,368,,368,368,368,368,,,,,368,368,,,,567,567,567,368,567,368',
'368,368,567,567,368,368,,567,,567,567,567,567,567,567,567,,,,,,567,567',
'567,567,567,567,567,,,567,,,,,,,567,,,567,567,567,567,567,567,567,567',
'567,567,567,567,,567,567,567,567,567,,,,,,,,,,,,,,,,,,,,567,,,567,,',
'567,567,,,567,,567,,567,,567,,,567,,,,,,567,,,,,567,567,567,567,,567',
'567,567,567,,,,,567,567,,,,46,46,46,567,46,567,567,567,46,46,567,567',
',46,,46,46,46,46,46,46,46,,,,,,46,46,46,46,46,46,46,,,46,,,,,,,46,,',
'46,46,46,46,46,46,46,46,,46,46,46,,46,46,46,46,46,,,,,,,,,,,,,,,,,,',
',46,,,46,,,46,46,,,46,,,,,,46,,,,,,,,,46,,,,,46,46,46,46,,46,46,46,46',
',,,,46,46,,,,557,557,557,46,557,46,46,46,557,557,46,46,,557,,557,557',
'557,557,557,557,557,,,,,,557,557,557,557,557,557,557,,,557,,,,,,,557',
',,557,557,557,557,557,557,557,557,,557,557,557,,557,557,557,557,557',
',,,,,,,,,,,,,,,,,,,557,,,557,,,557,557,,,557,,,,,,557,,,,,,,,,557,,',
',,557,557,557,557,,557,557,557,557,,,,,557,557,,,,47,47,47,557,47,557',
'557,557,47,47,557,557,,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,,,,280,280,280,47,280,47,47,47,280,280',
'47,47,,280,,280,280,280,280,280,280,280,,,,,,280,280,280,280,280,280',
'280,,,280,,,,,,,280,,,280,280,280,280,280,280,280,280,,280,280,280,',
'280,280,280,280,280,,,,,,,,,,,,,,,,,,,,280,,,280,,,280,280,,,280,,,',
',,280,,,,,,,,,280,,,,,280,280,280,280,,280,280,280,280,,,,,280,280,',
',,275,275,275,280,275,280,280,280,275,275,280,280,,275,,275,275,275',
'275,275,275,275,,,,,,275,275,275,275,275,275,275,,,275,,,,,,,275,,,275',
'275,275,275,275,275,275,275,,275,275,275,,275,275,275,275,275,,,,,,',
',,,,,,,,,,,,,275,,,275,,,275,275,,,275,,,,,,275,,,,,,,,,275,,,,,275',
'275,275,275,,275,275,275,275,,,,,275,275,,,,,,,275,,275,275,275,552',
',275,275,,,,552,552,552,,,552,552,552,406,552,406,406,406,406,406,,',
'552,552,552,,,,406,,,,,,552,552,,552,552,552,552,552,1159,,1159,1159',
'1159,1159,1159,,406,406,,,,,,1159,,406,406,406,406,,,,406,,1131,,1131',
'1131,1131,1131,1131,552,,,,1159,,,552,1131,,,,552,552,,1159,1159,,,',
'1159,,,,,,,,,,1131,406,,,,552,552,,,1131,1131,1131,1131,,,,1131,,,,552',
',,552,,221,221,221,552,221,1159,,,221,221,552,,,221,,221,221,221,221',
'221,221,221,,,,,,221,221,221,221,221,221,221,,,221,,,,,,,221,,,221,221',
'221,221,221,221,221,221,221,221,221,221,,221,221,221,221,221,,,,,,,',
',,,,,,,,,,,,221,,,221,,,221,221,,,221,,221,,221,,221,,,221,,,,,,221',
',,,,221,221,221,221,,221,221,221,221,,,,,221,221,,,,220,220,220,221',
'220,221,221,221,220,220,221,221,,220,,220,220,220,220,220,220,220,,',
',,,220,220,220,220,220,220,220,,,220,,,,,,,220,,,220,220,220,220,220',
'220,220,220,,220,220,220,,220,220,220,220,220,,,,,,,,,,,,,,,,,,,,220',
',,220,,,220,220,,,220,,,,,,220,,,,,,,,,220,,,,,220,220,220,220,,220',
'220,220,220,,,,,220,220,,,,75,75,75,220,75,220,220,220,75,75,220,220',
',75,,75,75,75,75,75,75,75,,,,,,75,75,75,75,75,75,75,,,75,,,,,,,75,,',
'75,75,75,75,75,75,75,75,,75,75,75,,75,75,75,75,75,,,,,,,,,,,,,,,,,,',
',75,,,75,,,75,75,,,75,,,,,,75,,,,,,,,,75,,,,,75,75,75,75,,75,75,75,75',
',,,,75,75,75,,,,,75,75,,75,75,75,,,75,75,71,71,71,,71,,,,71,71,,,,71',
',71,71,71,71,71,71,71,,,,,,71,71,71,71,71,71,71,,,71,,,,,,,71,,,71,71',
'71,71,71,71,71,71,,71,71,71,,71,71,71,71,71,,,,,,,,,,,,,,,,,,,,71,,',
'71,,,71,71,,,71,,,,,,71,,,,,,,,,71,,,,,71,71,71,71,,71,71,71,71,,,,',
'71,71,,,,433,433,433,71,433,71,71,71,433,433,71,71,,433,,433,433,433',
'433,433,433,433,,,,,,433,433,433,433,433,433,433,,,433,,,,,,,433,,,433',
'433,433,433,433,433,433,433,,433,433,433,,433,433,433,433,433,,,,,,',
',,,,,,,,,,,,,433,,,433,,,433,433,,,433,,,,,,433,,,,,,,,,433,,,,,433',
'433,433,433,,433,433,433,433,,,,,433,433,,,,68,68,68,433,68,433,433',
'433,68,68,433,433,,68,,68,68,68,68,68,68,68,,,,,,68,68,68,68,68,68,68',
',,68,,,,,,,68,,,68,68,68,68,68,68,68,68,68,68,68,68,,68,68,68,68,68',
',,,,,,,,,,,,,,,,,,,68,,,68,,,68,68,,,68,,,,,,68,,,68,,,,,,68,,,,,68',
'68,68,68,,68,68,68,68,,,,,68,68,,,,842,842,842,68,842,68,68,68,842,842',
'68,68,,842,,842,842,842,842,842,842,842,,,,,,842,842,842,842,842,842',
'842,,,842,,,,,,,842,,,842,842,842,842,842,842,842,842,,842,842,842,',
'842,842,842,842,842,,,,,,,,,,,,,,,,,,,,842,,,842,,,842,842,,,842,,,',
',,842,,,,,,,,,842,,,,,842,842,842,842,,842,842,842,842,,,,,842,842,',
',,793,793,793,842,793,842,842,842,793,793,842,842,,793,,793,793,793',
'793,793,793,793,,,,,,793,793,793,793,793,793,793,,,793,,,,,,,793,,,793',
'793,793,793,793,793,793,793,,793,793,793,,793,793,793,793,793,,,,,,',
',,,,,,,,,,,,,793,,,793,,,793,793,,,793,,,,,,793,,,,,,,,,793,,,,,793',
'793,793,793,,793,793,793,793,,,,,793,793,,,,272,272,272,793,272,793',
'793,793,272,272,793,793,,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,,,,271,271,271,272,271,272,272,272,271,271,272,272,,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,,,,67,67,67,271',
'67,271,271,271,67,67,271,271,,67,,67,67,67,67,67,67,67,,,,,,67,67,67',
'67,67,67,67,,,67,,,,,,,67,,,67,67,67,67,67,67,67,67,67,67,67,67,,67',
'67,67,67,67,,,,,,,,,,,,,,,,,,,,67,,,67,,,67,67,,,67,,67,,,,67,,,67,',
',,,,67,,,,,67,67,67,67,,67,67,67,67,,,,,67,67,,,,,,,67,,67,67,67,,,67',
'67,66,66,66,66,66,,,,66,66,,,,66,,66,66,66,66,66,66,66,,,,,,66,66,66',
'66,66,66,66,,,66,,,,,,66,66,,66,66,66,66,66,66,66,66,66,,66,66,66,,66',
'66,66,66,66,,,,,,,,,,,,,,,,,,,,66,,,66,,,66,66,,,66,,66,,,,66,,,,,,',
',,66,,,,,66,66,66,66,,66,66,66,66,,,,,66,66,,,,404,404,404,66,404,66',
'66,66,404,404,66,66,,404,,404,404,404,404,404,404,404,,,,,,404,404,404',
'404,404,404,404,,,404,,,,,,,404,,,404,404,404,404,404,404,404,404,,404',
'404,404,,404,404,404,404,404,,,,,,,,,,,,,,,,,,,,404,,,404,,,404,404',
',,404,,,,,,404,,,,,,,,,404,,,,,404,404,404,404,,404,404,404,404,,,,',
'404,404,,,,,,,404,,404,404,404,64,,404,404,,,,64,64,64,,,64,64,64,,64',
',,,,,,,64,,64,64,64,,,,,,,,64,64,,64,64,64,64,64,,,,,,,,,,,,,,,,,,,',
',,,64,64,64,64,64,64,64,64,64,64,64,64,64,64,,,64,64,64,,,64,,,64,,',
'64,64,,64,,64,,64,,64,64,,64,64,64,64,64,,64,,64,,,,,,,,,,,,,,64,,,64',
'64,64,64,,64,,64,,270,270,270,64,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,,,,862,862,862,270,862,270',
'270,270,862,862,270,270,,862,,862,862,862,862,862,862,862,,,,,,862,862',
'862,862,862,862,862,,,862,,,,,,,862,,,862,862,862,862,862,862,862,862',
',862,862,862,,862,862,862,862,862,,,,,,,,,,,,,,,,,,,,862,,,862,,,862',
'862,,,862,,,,,,862,,,,,,,,,862,,,,,862,862,862,862,,862,862,862,862',
',,,,862,862,,,,296,296,296,862,296,862,862,862,296,296,862,862,,296',
',296,296,296,296,296,296,296,,,,,,296,296,296,296,296,296,296,,,296',
',,,,,,296,,,296,296,296,296,296,296,296,296,,296,296,296,,296,296,296',
'296,296,,,,,,,,,,,,,,,,,,,,296,,,296,,,296,296,,,296,,,,,,296,,,,,,',
',,296,,,,,296,296,296,296,,296,296,296,296,,,,,296,296,,,,269,269,269',
'296,269,296,296,296,269,269,296,296,,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,,,,268,268,268,269,268,269,269,269,268,268,269',
'269,,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,,,,784',
'784,784,268,784,268,268,268,784,784,268,268,,784,,784,784,784,784,784',
'784,784,,,,,,784,784,784,784,784,784,784,,,784,,,,,,,784,,,784,784,784',
'784,784,784,784,784,784,784,784,784,,784,784,784,784,784,,,,,,,,,,,',
',,,,,,,,784,,,784,,,784,784,,,784,,784,,784,,784,,,784,,,,,,784,,,,',
'784,784,784,784,,784,784,784,784,,,,,784,784,,,,870,870,870,784,870',
'784,784,784,870,870,784,784,,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,,,,267,267,267,870,267,870,870,870,267,267,870,870,',
'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,,,,883,883',
'883,267,883,267,267,267,883,883,267,267,,883,,883,883,883,883,883,883',
'883,,,,,,883,883,883,883,883,883,883,,,883,,,,,,,883,,,883,883,883,883',
'883,883,883,883,,883,883,883,,883,883,883,883,883,,,,,,,,,,,,,,,,,,',
',883,,,883,,,883,883,,,883,,,,,,883,,,,,,,,,883,,,,,883,883,883,883',
',883,883,883,883,,,,,883,883,,,,884,884,884,883,884,883,883,883,884',
'884,883,883,,884,,884,884,884,884,884,884,884,,,,,,884,884,884,884,884',
'884,884,,,884,,,,,,,884,,,884,884,884,884,884,884,884,884,,884,884,884',
',884,884,884,884,884,,,,,,,,,,,,,,,,,,,,884,,,884,,,884,884,,,884,,',
',,,884,,,,,,,,,884,,,,,884,884,884,884,,884,884,884,884,,,,,884,884',
',,,24,24,24,884,24,884,884,884,24,24,884,884,,24,,24,24,24,24,24,24',
'24,,,,,,24,24,24,24,24,24,24,,,24,,,,,,,24,,,24,24,24,24,24,24,24,24',
',24,24,24,,24,24,24,24,24,,,,,,,,,,,,,,,,,,,,24,,,24,,,24,24,,,24,,',
',,,24,,,,,,,,,24,,,,,24,24,24,24,,24,24,24,24,,,,,24,24,,,,303,303,303',
'24,303,24,24,24,303,303,24,24,,303,,303,303,303,303,303,303,303,,,,',
',303,303,303,303,303,303,303,,,303,,,,,,,303,,,303,303,303,303,303,303',
'303,303,303,303,303,303,,303,303,303,303,303,,,,,,,,,,,,,,,,,,,,303',
',,303,,,303,303,,,303,,303,,303,,303,,,303,,,,,,303,,,,,303,303,303',
'303,,303,303,303,303,,,,,303,303,,,,304,304,304,303,304,303,303,303',
'304,304,303,303,,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,,,,312,312,312,304,312,304,304,304,312,312,304,304,',
'312,,312,312,312,312,312,312,312,,,,,,312,312,312,312,312,312,312,,',
'312,,,,,,,312,,,312,312,312,312,312,312,312,312,312,312,312,312,,312',
'312,312,312,312,,,,,,,,,,,,,,,,,,,,312,,,312,,,312,312,,,312,,312,,312',
',312,,,312,,,,,,312,,,,,312,312,312,312,,312,312,312,312,,,,,312,312',
'312,,,266,266,266,312,266,312,312,312,266,266,312,312,,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,,,,265,265,265,266,265',
'266,266,266,265,265,266,266,,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,,,,264,264,264,265,264,265,265,265,264,264,265,265,',
'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,,,,319,319',
'319,264,319,264,264,264,319,319,264,264,,319,,319,319,319,319,319,319',
'319,,,,,,319,319,319,319,319,319,319,,,319,,,,,,,319,,,319,319,319,319',
'319,319,319,319,,319,319,319,,319,319,319,319,319,,,,,,,,,,,,,,,,,,',
',319,,,319,,,319,319,,,319,,,,,,319,,,,,,,,,319,,,,,319,319,319,319',
',319,319,319,319,,,,,319,319,,,,321,321,321,319,321,319,319,319,321',
'321,319,319,,321,,321,321,321,321,321,321,321,,,,,,321,321,321,321,321',
'321,321,,,321,,,,,,,321,,,321,321,321,321,321,321,321,321,,321,321,321',
',321,321,321,321,321,,,,,,,,,,,,,,,,,,,,321,,,321,,,321,321,,,321,,',
',,,321,,,,,,,,,321,,,,,321,321,321,321,,321,321,321,321,,,,,321,321',
',,,324,324,324,321,324,321,321,321,324,324,321,321,,324,,324,324,324',
'324,324,324,324,,,,,,324,324,324,324,324,324,324,,,324,,,,,,,324,,,324',
'324,324,324,324,324,324,324,,324,324,324,,324,324,324,324,324,,,,,,',
',,,,,,,,,,,,,324,,,324,,,324,324,,,324,,,,,,324,,,,,,,,,324,,,,,324',
'324,324,324,,324,324,324,324,,,,,324,324,,,,263,263,263,324,263,324',
'324,324,263,263,324,324,,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,,,,262,262,262,263,262,263,263,263,262,262,263,263,,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,,,,911,911,911',
'262,911,262,262,262,911,911,262,262,,911,,911,911,911,911,911,911,911',
',,,,,911,911,911,911,911,911,911,,,911,,,,,,,911,,,911,911,911,911,911',
'911,911,911,,911,911,911,,911,911,911,911,911,,,,,,,,,,,,,,,,,,,,911',
',,911,,,911,911,,,911,,,,,,911,,,,,,,,,911,,,,,911,911,911,911,,911',
'911,911,911,,,,,911,911,,,,912,912,912,911,912,911,911,911,912,912,911',
'911,,912,,912,912,912,912,912,912,912,,,,,,912,912,912,912,912,912,912',
',,912,,,,,,,912,,,912,912,912,912,912,912,912,912,,912,912,912,,912',
'912,912,912,912,,,,,,,,,,,,,,,,,,,,912,,,912,,,912,912,,,912,,,,,,912',
',,,,,,,,912,,,,,912,912,912,912,,912,912,912,912,,,,,912,912,,,,913',
'913,913,912,913,912,912,912,913,913,912,912,,913,,913,913,913,913,913',
'913,913,,,,,,913,913,913,913,913,913,913,,,913,,,,,,,913,,,913,913,913',
'913,913,913,913,913,,913,913,913,,913,913,913,913,913,,,,,,,,,,,,,,',
',,,,,913,,,913,,,913,913,,,913,,,,,,913,,,,,,,,,913,,,,,913,913,913',
'913,,913,913,913,913,,,,,913,913,,,,494,494,494,913,494,913,913,913',
'494,494,913,913,,494,,494,494,494,494,494,494,494,,,,,,494,494,494,494',
'494,494,494,,,494,,,,,,,494,,,494,494,494,494,494,494,494,494,,494,494',
'494,,494,494,494,494,494,,,,,,,,,,,,,,,,,,,,494,,,494,,,494,494,,,494',
',,,,,494,,,,,,,,,494,,,,,494,494,494,494,,494,494,494,494,,,,,494,494',
',,,,,,494,,494,494,494,,,494,494,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,,',
',129,129,129,130,129,130,130,130,129,129,130,130,,129,,129,129,129,129',
'129,129,129,,,,,,129,129,129,129,129,129,129,,,129,,,,,,,129,,,129,129',
'129,129,129,129,129,129,,129,129,129,,129,129,129,129,129,,,,,,,,,,',
',,,,,,,,,129,,,129,,,129,129,,,129,,,,,,129,,,,,,,,,129,,,,,129,129',
'129,129,,129,129,129,129,,,,,129,129,,,,128,128,128,129,128,129,129',
'129,128,128,129,129,,128,,128,128,128,128,128,128,128,,,,,,128,128,128',
'128,128,128,128,,,128,,,,,,,128,,,128,128,128,128,128,128,128,128,,128',
'128,128,,128,128,128,128,128,,,,,,,,,,,,,,,,,,,,128,,,128,,,128,128',
',,128,,,,,,128,,,,,,,,,128,,,,,128,128,128,128,,128,128,128,128,,,,',
'128,128,,,,1142,1142,1142,128,1142,128,128,128,1142,1142,128,128,,1142',
',1142,1142,1142,1142,1142,1142,1142,,,,,,1142,1142,1142,1142,1142,1142',
'1142,,,1142,,,,,,,1142,,,1142,1142,1142,1142,1142,1142,1142,1142,,1142',
'1142,1142,,1142,1142,1142,1142,1142,,,,,,,,,,,,,,,,,,,,1142,,,1142,',
',1142,1142,,,1142,,,,,,1142,,,,,,,,,1142,,,,,1142,1142,1142,1142,,1142',
'1142,1142,1142,,,,,1142,1142,,,,1143,1143,1143,1142,1143,1142,1142,1142',
'1143,1143,1142,1142,,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,,,,127,127',
'127,1143,127,1143,1143,1143,127,127,1143,1143,,127,,127,127,127,127',
'127,127,127,,,,,,127,127,127,127,127,127,127,,,127,,,,,,,127,,,127,127',
'127,127,127,127,127,127,,127,127,127,,127,127,127,127,127,,,,,,,,,,',
',,,,,,,,,127,,,127,,,127,127,,,127,,,,,,127,,,,,,,,,127,,,,,127,127',
'127,127,,127,127,127,127,,,,,127,127,,,,50,50,50,127,50,127,127,127',
'50,50,127,127,,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,,,,126,126,126,50,126,50,50,50,126,126,50',
'50,,126,,126,126,126,126,126,126,126,,,,,,126,126,126,126,126,126,126',
',,126,,,,,,,126,,,126,126,126,126,126,126,126,126,,126,126,126,,126',
'126,126,126,126,,,,,,,,,,,,,,,,,,,,126,,,126,,,126,126,,,126,,,,,,126',
',,,,,,,,126,,,,,126,126,126,126,,126,126,126,126,,,,,126,126,,,,,,,126',
',126,126,126,,,126,126,121,121,121,121,121,,,,121,121,,,,121,,121,121',
'121,121,121,121,121,,,,,,121,121,121,121,121,121,121,,,121,,,,,,121',
'121,121,121,121,121,121,121,121,121,121,121,,121,121,121,,121,121,121',
'121,121,,,,,,,,,,,,,,,,,,,,121,,,121,,,121,121,,,121,,121,,,,121,,,',
',,,,,121,,,,,121,121,121,121,,121,121,121,121,,,,,121,121,,,,,,121,121',
',121,121,121,,,121,121,1155,1155,1155,,1155,,,,1155,1155,,,,1155,,1155',
'1155,1155,1155,1155,1155,1155,,,,,,1155,1155,1155,1155,1155,1155,1155',
',,1155,,,,,,,1155,,,1155,1155,1155,1155,1155,1155,1155,1155,1155,1155',
'1155,1155,,1155,1155,1155,1155,1155,,,,,,,,,,,,,,,,,,,,1155,,,1155,',
',1155,1155,,,1155,,1155,,1155,,1155,,,1155,,,,,,1155,,,,,1155,1155,1155',
'1155,,1155,1155,1155,1155,,,,,1155,1155,,,,468,468,468,1155,468,1155',
'1155,1155,468,468,1155,1155,,468,,468,468,468,468,468,468,468,,,,,,468',
'468,468,468,468,468,468,,,468,,,,,,,468,,,468,468,468,468,468,468,468',
'468,,468,468,468,,468,468,468,468,468,,,,,,,,,,,,,,,,,,,,468,,,468,',
',468,468,,,468,,,,,,468,,,,,,,,,468,,,,,468,468,468,468,,468,468,468',
'468,,,,,468,468,,,,,,,468,,468,468,468,467,,468,468,,,,467,467,467,',
',467,467,467,,467,,,,,,,,467,467,467,467,467,,,,,,,,467,467,,467,467',
'467,467,467,,,,,,,,,,,,,,,,,,,,,,,467,467,467,467,467,467,467,467,467',
'467,467,467,467,467,,,467,467,467,,,467,,,467,,,467,467,,467,,467,,467',
',467,467,,467,467,467,467,467,,467,467,467,,,,,,,,,,,,,,467,,,467,467',
'467,467,,467,466,467,,,,,467,466,466,466,,,466,466,466,,466,,,,,,,,466',
'466,466,466,466,,,,,,,,466,466,,466,466,466,466,466,,,,,,,,,,,,,,,,',
',,,,,,466,466,466,466,466,466,466,466,466,466,466,466,466,466,,,466',
'466,466,,,466,,,466,,,466,466,,466,,466,,466,,466,466,,466,466,466,466',
'466,,466,466,466,,,,,,,,,,,,,,466,,,466,466,466,466,,466,,466,,52,52',
'52,466,52,,,,52,52,,,,52,,52,52,52,52,52,52,52,,,,,,52,52,52,52,52,52',
'52,,,52,,,,,,,52,,,52,52,52,52,52,52,52,52,,52,52,52,,52,52,52,52,52',
',,,,,,,,,,,,,,,,,,,52,,,52,,,52,52,,,52,,,,,,52,,,,,,,,,52,,,,,52,52',
'52,52,,52,52,52,52,,,,,52,52,,,,,,,52,,52,52,52,,,52,52,7,7,7,7,7,,',
',7,7,,,,7,,7,7,7,7,7,7,7,,,,,,7,7,7,7,7,7,7,,,7,,,,,,7,7,7,7,7,7,7,7',
'7,7,7,7,,7,7,7,,7,7,7,7,7,,,,,,,,,,,,,,,,,,,,7,,,7,,,7,7,,,7,,7,,,,7',
',,,,,,,,7,,,,,7,7,7,7,,7,7,7,7,,,,,7,7,,,,,,,7,,7,7,7,457,,7,7,,,,457',
'457,457,,,457,457,457,,457,,,,,,,,457,457,457,457,,,,,,,,,457,457,,457',
'457,457,457,457,,,,,,,,,,,,,,,,,,,,,,,457,457,457,457,457,457,457,457',
'457,457,457,457,457,457,,,457,457,457,,,457,,457,457,,,457,457,,457',
',457,,457,,457,457,,457,457,457,457,457,,457,457,457,,,,,,,,,,,,,,457',
',,457,457,,457,,457,72,72,72,,72,,457,,72,72,,,,72,,72,72,72,72,72,72',
'72,,,,,,72,72,72,72,72,72,72,,,72,,,,,,,72,,,72,72,72,72,72,72,72,72',
',72,72,72,,72,72,72,72,72,,,,,,,,,,,,,,,,,,,,72,,,72,,,72,72,,,72,,',
',,,72,,,,,,,,,72,,,,,72,72,72,72,,72,72,72,72,,,,,72,72,,,,219,219,219',
'72,219,72,72,72,219,219,72,72,,219,,219,219,219,219,219,219,219,,,,',
',219,219,219,219,219,219,219,,,219,,,,,,,219,,,219,219,219,219,219,219',
'219,219,,219,219,219,,219,219,219,219,219,,,,,,,,,,,,,,,,,,,,219,,,219',
',,219,219,,,219,,,,,,219,,,,,,,,,219,,,,,219,219,219,219,,219,219,219',
'219,,,,,219,219,,,,274,274,274,219,274,219,219,219,274,274,219,219,',
'274,,274,274,274,274,274,274,274,,,,,,274,274,274,274,274,274,274,,',
'274,,,,,,,274,,,274,274,274,274,274,274,274,274,,274,274,274,,274,274',
'274,274,274,,,,,,,,,,,,,,,,,,,,274,,,274,,,274,274,,,274,,,,,,274,,',
',,,,,,274,,,,,274,274,274,274,,274,274,274,274,,,,,274,274,,,,218,218',
'218,274,218,274,274,274,218,218,274,274,,218,,218,218,218,218,218,218',
'218,,,,,,218,218,218,218,218,218,218,,,218,,,,,,,218,,,218,218,218,218',
'218,218,218,218,,218,218,218,,218,218,218,218,218,,,,,,,,,,,,,,,,,,',
',218,,,218,,,218,218,,,218,,,,,,218,,,,,,,,,218,,,,,218,218,218,218',
',218,218,218,218,,,,,218,218,,,,217,217,217,218,217,218,218,218,217',
'217,218,218,,217,,217,217,217,217,217,217,217,,,,,,217,217,217,217,217',
'217,217,,,217,,,,,,,217,,,217,217,217,217,217,217,217,217,,217,217,217',
',217,217,217,217,217,,,,,,,,,,,,,,,,,,,,217,,,217,,,217,217,,,217,,217',
',,,217,,,,,,,,,217,,,,,217,217,217,217,,217,217,217,217,,,,,217,217',
',,,273,273,273,217,273,217,217,217,273,273,217,217,,273,,273,273,273',
'273,273,273,273,,,,,,273,273,273,273,273,273,273,,,273,,,,,,,273,,,273',
'273,273,273,273,273,273,273,,273,273,273,,273,273,273,273,273,,,,,,',
',,,,,,,,,,,,,273,,,273,,,273,273,,,273,,,,,,273,,,,,,,,,273,,,,,273',
'273,273,273,,273,273,273,273,,,,,273,273,,,,49,49,49,273,49,273,273',
'273,49,49,273,273,,49,,49,49,49,49,49,49,49,,,,,,49,49,49,49,49,49,49',
',,49,,,,,,,49,,,49,49,49,49,49,49,49,49,,49,49,49,,49,49,49,49,49,,',
',,,,,,,,,,,,,,,,,49,,,49,,,49,49,,,49,,,,,,49,,,,,,,,,49,,,,,49,49,49',
'49,,49,49,49,49,,,,,49,49,,,,216,216,216,49,216,49,49,49,216,216,49',
'49,,216,,216,216,216,216,216,216,216,,,,,,216,216,216,216,216,216,216',
',,216,,,,,,,216,,,216,216,216,216,216,216,216,216,,216,216,216,,216',
'216,216,216,216,,,,,,,,,,,,,,,,,,,,216,,,216,,,216,216,,,216,,216,,',
',216,,,,,,,,,216,,,,,216,216,216,216,,216,216,216,216,,,,,216,216,,',
',796,796,796,216,796,216,216,216,796,796,216,216,,796,,796,796,796,796',
'796,796,796,,,,,,796,796,796,796,796,796,796,,,796,,,,,,,796,,,796,796',
'796,796,796,796,796,796,,796,796,796,,796,796,796,796,796,,,,,,,,,,',
',,,,,,,,,796,,,796,,,796,796,,,796,,,,,,796,,,,,,,,,796,,,,,796,796',
'796,796,,796,796,796,796,,,,,796,796,,,,521,521,521,796,521,796,796',
'796,521,521,796,796,,521,,521,521,521,521,521,521,521,,,,,,521,521,521',
'521,521,521,521,,,521,,,,,,,521,,,521,521,521,521,521,521,521,521,,521',
'521,521,,521,521,521,521,521,,,,,,,,,,,,,,,,,,,,521,,,521,,,521,521',
',,521,,,,,,521,,,,,,,,,521,,,,,521,521,521,521,,521,521,521,521,,,,',
'521,521,,,,520,520,520,521,520,521,521,521,520,520,521,521,,520,,520',
'520,520,520,520,520,520,,,,,,520,520,520,520,520,520,520,,,520,,,,,',
',520,,,520,520,520,520,520,520,520,520,,520,520,520,,520,520,520,520',
'520,,,,,,,,,,,,,,,,,,,,520,,,520,,,520,520,,,520,,,,,,520,,,,,,,,,520',
',,,,520,520,520,520,,520,520,520,520,,,,,520,520,,,,519,519,519,520',
'519,520,520,520,519,519,520,520,,519,,519,519,519,519,519,519,519,,',
',,,519,519,519,519,519,519,519,,,519,,,,,,,519,,,519,519,519,519,519',
'519,519,519,,519,519,519,,519,519,519,519,519,,,,,,,,,,,,,,,,,,,,519',
',,519,,,519,519,,,519,,,,,,519,,,,,,,,,519,,,,,519,519,519,519,,519',
'519,519,519,,,,,519,519,,,,383,383,383,519,383,519,519,519,383,383,519',
'519,,383,,383,383,383,383,383,383,383,,,,,,383,383,383,383,383,383,383',
',,383,,,,,,,383,,,383,383,383,383,383,383,383,383,,383,383,383,,383',
'383,383,383,383,,,,,,,,,,,,,,,,,,,,383,,,383,,,383,383,,,383,,,,,,383',
',,,,,,,,383,,,,,383,383,383,383,,383,383,383,383,,,,,383,383,,,,517',
'517,517,383,517,383,383,383,517,517,383,383,,517,,517,517,517,517,517',
'517,517,,,,,,517,517,517,517,517,517,517,,,517,,,,,,,517,,,517,517,517',
'517,517,517,517,517,517,517,517,517,,517,517,517,517,517,,,,,,,,,,,',
',,,,,,,,517,,,517,,,517,517,,,517,,517,,517,,517,,,517,,,,,,517,,,,',
'517,517,517,517,,517,517,517,517,,,,,517,517,,,,507,507,507,517,507',
'517,517,517,507,507,517,517,,507,,507,507,507,507,507,507,507,,,,,,507',
'507,507,507,507,507,507,,,507,,,,,,,507,,,507,507,507,507,507,507,507',
'507,,507,507,507,,507,507,507,507,507,,,,,,,,,,,,,,,,,,,,507,,,507,',
',507,507,,,507,,,,,,507,,,,,,,,,507,,,,,507,507,507,507,,507,507,507',
'507,,,,,507,507,,,,357,357,357,507,357,507,507,507,357,357,507,507,',
'357,,357,357,357,357,357,357,357,,,,,,357,357,357,357,357,357,357,,',
'357,,,,,,,357,,,357,357,357,357,357,357,357,357,,357,357,357,,357,357',
',,357,,,,,,,,,,,,,,,,,,,,357,,,357,,,357,357,,,357,,,,,,,,,,,,,,,,,',
',,357,357,357,357,,357,357,357,357,,,,,357,357,,,,1011,1011,1011,357',
'1011,357,357,357,1011,1011,,,,1011,,1011,1011,1011,1011,1011,1011,1011',
',,,,,1011,1011,1011,1011,1011,1011,1011,,,1011,,,,,,,1011,,,1011,1011',
'1011,1011,1011,1011,1011,1011,,1011,1011,1011,,1011,1011,,,1011,,,,',
',,,,,,,,,,,,,,,1011,,,1011,,,1011,1011,,,1011,,,,,,,,,,,,,,,,,,,,1011',
'1011,1011,1011,,1011,1011,1011,1011,,,,,1011,1011,,,,338,338,338,1011',
'338,1011,1011,1011,338,338,,,,338,,338,338,338,338,338,338,338,,,,,',
'338,338,338,338,338,338,338,,,338,,,,,,,338,,,338,338,338,338,338,338',
'338,338,,338,338,338,,338,338,,,338,,,,,,,,,,,,,,,,,,,,338,,,338,,,338',
'338,,,338,,,1133,,1133,1133,1133,1133,1133,,,,,,,,,1133,,338,338,338',
'338,,338,338,338,338,,,,,338,338,,,,338,,1133,338,,338,338,338,76,76',
'76,,76,1133,1133,,76,76,1133,,,76,,76,76,76,76,76,76,76,,,,,,76,76,76',
'76,76,76,76,,,76,,,,,,,76,,,76,76,76,76,76,76,76,76,,76,76,76,,76,76',
',,76,,,,,,,,,,,,,,,,,,,,76,,,76,,,76,76,,,76,,76,,,,,,,,,,,,,,,,,,76',
'76,76,76,,76,76,76,76,,,,,76,76,,,,1075,1075,1075,76,1075,76,76,76,1075',
'1075,,,,1075,,1075,1075,1075,1075,1075,1075,1075,,,,,,1075,1075,1075',
'1075,1075,1075,1075,,,1075,,,,,,,1075,,,1075,1075,1075,1075,1075,1075',
'1075,1075,,1075,1075,1075,,1075,1075,,,1075,,,,,,,,,,,,,,,,,,,,1075',
',,1075,,,1075,1075,,,1075,,,,,,,,,,,,,,,,,,,,1075,1075,1075,1075,,1075',
'1075,1075,1075,,,,,1075,1075,,,,585,585,585,1075,585,1075,1075,1075',
'585,585,,,,585,,585,585,585,585,585,585,585,,,,,,585,585,585,585,585',
'585,585,,,585,,,,,,,585,,,585,585,585,585,585,585,585,585,,585,585,585',
',585,585,,,585,,,,,,,,,,,,,,,,,,,,585,,,585,,,585,585,,,585,,,,,,,,',
',,,,,,,,,,,585,585,585,585,,585,585,585,585,,,,,585,585,,,,594,594,594',
'585,594,585,585,585,594,594,,,,594,,594,594,594,594,594,594,594,,,,',
',594,594,594,594,594,594,594,,,594,,,,,,,594,,,594,594,594,594,594,594',
'594,594,,594,594,594,,594,594,,,594,,,,,,,,,,,,,,,,,,,,594,,,594,,,594',
'594,,,594,,,,,,,,,,,,,,,,,,,,594,594,594,594,,594,594,594,594,,,,,594',
'594,,,,77,77,77,594,77,594,594,594,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,,,,78,78,78,77,78,77,77',
'77,78,78,,,,78,,78,78,78,78,78,78,78,,,,,,78,78,78,78,78,78,78,,,78',
',,,,,,78,,,78,78,78,78,78,78,78,78,,78,78,78,,78,78,,,78,,,,,,,,,,,',
',,,,,,,,78,,,78,,,78,78,,,78,,,,,,,,,,,,,,,,,,,,78,78,78,78,,78,78,78',
'78,,,,,78,78,,,,40,40,40,78,40,78,78,78,40,40,,,,40,,40,40,40,40,40',
'40,40,,,,,,40,40,40,40,40,40,40,,,40,,,,,,,40,,,40,40,40,40,40,40,40',
'40,,40,40,40,,40,40,,,40,,,,,,,,,,,,,,,,,,,,40,,,40,,,40,40,,,40,,,1207',
',1207,1207,1207,1207,1207,,,,,,,,,1207,,40,40,40,40,,40,40,40,40,,,',
',40,40,,,,40,,1207,40,,40,40,40,1137,1137,1137,,1137,1207,1207,,1137',
'1137,1207,,,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,,,,799,799,799,1137,799,1137,1137',
'1137,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,,799,799',
'799,,799,799,,,799,,,,,,,,,,,,,,,,,,,,799,,,799,,,799,799,,,799,,,,',
',,,,,,,,,,,,,,,799,799,799,799,,799,799,799,799,,,,,799,799,,,,810,810',
'810,799,810,799,799,799,810,810,,,,810,,810,810,810,810,810,810,810',
',,,,,810,810,810,810,810,810,810,,,810,,,,,,,810,,,810,810,810,810,810',
'810,810,810,,810,810,810,,810,810,,,810,,,,,,,,,,,,,,,,,,,,810,,,810',
',,810,810,,,810,,,,,,,,,,,,,,,,,,,,810,810,810,810,,810,810,810,810',
',,,,810,810,,,,39,39,39,810,39,810,810,810,39,39,,,,39,,39,39,39,39',
'39,39,39,,,,,,39,39,39,39,39,39,39,,,39,,,,,,,39,,,39,39,39,39,39,39',
'39,39,,39,39,39,,39,39,,,39,,,,,,,,,,,,,,,,,,,,39,,,39,,,39,39,,,39',
',39,,,,,,,,,,,,,,,,,,39,39,39,39,,39,39,39,39,,,,,39,39,,,,,,,39,,39',
'39,39,424,424,424,424,424,424,424,424,424,424,424,424,424,424,424,424',
'424,424,424,424,424,424,424,424,,,,424,424,424,424,424,424,424,424,424',
'424,,,,,,424,424,424,424,424,424,424,424,424,,,424,,,,,,,,424,424,,424',
'424,424,424,424,424,424,,,424,424,,,,424,424,424,424,,,,,,,,,,,,,,424',
'424,,424,424,424,424,424,424,424,424,424,424,424,424,,,424,424,,,,,',
',,,,,,,,424,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10',
'10,10,10,10,10,,,,10,10,10,10,10,10,10,10,10,10,,,,,,10,10,10,10,10',
'10,10,10,10,10,,10,,,,,,,,10,10,,10,10,10,10,10,10,10,,,10,10,,,,10',
'10,10,10,,,,,,,,,,,,,,10,10,,10,10,10,10,10,10,10,10,10,10,10,10,,,10',
'10,,,,,,,,,,,,,,10,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,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,1118,1118,1118,1118,,,,,,,,,,664,,,1118,1118,1118,1118',
',,1201,1118,1201,1201,1201,1201,1201,1118,1118,,,1118,,,,1201,,,,,,',
',,,,,,,,,1118,,,1118,,,1201,1118,,,1118,,,,,1201,1201,1201,1201,,,,1201',
',,,1118,,,,1118,1118,1118,1118,,1118,1118,1118,1118,,,,,1118,1118,983',
'983,983,983,,,1118,,1118,1118,1118,,,1118,1118,,983,983,983,983,,,,983',
'983,,,,,983,983,,,983,983,,,,,,,,,,,,,,,,,,,983,,,983,,,,983,,,983,',
'983,,,,,,,983,,,,,,,983,,,,983,983,983,983,,983,983,983,983,,,,,983',
'983,937,937,937,937,,,983,,983,983,983,,,983,983,,937,937,937,937,,',
'1128,937,1128,1128,1128,1128,1128,937,937,,,937,,,,1128,,,,,,,,,,,,',
',,,937,,,937,,,1128,937,,,937,,,,,1128,1128,1128,1128,,,,1128,,,,937',
',,,937,937,937,937,,937,937,937,937,,,,,937,937,936,936,936,936,,,937',
',937,937,937,,,937,937,,936,936,936,936,,,1205,936,1205,1205,1205,1205',
'1205,936,936,,,936,,,,1205,,,,,,,,,,,,,,,,936,,,936,,,1205,936,,,936',
',,,,,,1205,1205,,,,1205,,,,936,,,,936,936,936,936,,936,936,936,936,',
',,,936,936,930,930,930,930,,,936,,936,936,936,,,936,936,,930,930,930',
'930,,,1203,930,1203,1203,1203,1203,1203,930,930,,,930,,,,1203,,,,,,',
',,,,,,,,,930,,,930,,,1203,930,,,930,,930,,,,,1203,1203,,,,1203,,,,930',
',,,930,930,930,930,,930,930,930,930,,,,,930,930,1198,1198,1198,1198',
',,930,,930,930,930,,,930,930,,1198,1198,1198,1198,,,1224,1198,1224,1224',
'1224,1224,1224,1198,1198,,,1198,,,,1224,,,,,,,,,,,,,,,,1198,,,1198,',
',1224,1198,,,1198,,,,,,,1224,1224,,,,1224,,,,1198,,,,1198,1198,1198',
'1198,,1198,1198,1198,1198,,,,,1198,1198,924,924,924,924,,,1198,,1198',
'1198,1198,,,1198,1198,,924,924,924,924,,,,924,924,,,,,924,924,,,924',
'924,,,,,,,,,,,,,,,,,,,924,,,924,,,,924,,,924,,924,,,,,,,924,,,,,,,924',
',,,924,924,924,924,,924,924,924,924,,,,,924,924,923,923,923,923,,,924',
',924,924,924,,,924,924,,923,923,923,923,,,,923,923,,,,,923,923,,,923',
'923,,,,,,,,,,,,,,,,,,,923,,,923,,,,923,,,923,,923,,,,,,,923,,,,,,,923',
',,,923,923,923,923,,923,923,923,923,,,,,923,923,920,920,920,920,,,923',
',923,923,923,,,923,923,,920,920,920,920,,,,920,,,,,,920,920,,,920,,',
',,,,,,,,,,,,,,,,,920,,,920,,,,920,,,920,,,,,,,,,,,,,,,,920,,,,920,920',
'920,920,,920,920,920,920,,,,,920,920,918,918,918,918,,,920,,920,920',
'920,,,920,920,,918,918,918,918,,,,918,,,,,,918,918,,,918,,,,,,,,,,,',
',,,,,,,,918,,,918,,,,918,,,918,,918,,,,,,,,,,,,,,918,,,,918,918,918',
'918,,918,918,918,918,,,,,918,918,741,741,741,741,,,918,,918,918,918',
',,918,918,,741,741,741,741,,,,741,,,,,,741,741,,,741,,,,,,,,,,,,,,,',
',,,,741,,,741,,,,741,,,741,,741,,,,,,,,,,,,,,741,,,,741,741,741,741',
',741,741,741,741,,,,,741,741,741,,,,,,741,,741,741,741,,,741,741,26',
'26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26',
',,,26,26,26,26,26,26,26,26,26,26,,,,,,26,26,26,26,26,26,26,26,26,26',
'26,26,,26,,,,,,26,26,,26,26,26,26,26,26,26,,,26,26,,,,26,26,26,26,,',
',,,26,,,,,,,,26,26,,26,26,26,26,26,26,26,26,26,26,26,26,,,26,749,749',
'749,749,,,702,,702,702,702,702,702,,,,749,749,749,749,,702,,749,,,,',
',749,749,,,749,,,,,,,,,,702,,,,,,,,,,749,702,702,749,,,702,749,,,749',
',,,,,,,,,,,,,,,749,,,,749,749,749,749,,749,749,749,749,,,,,749,749,',
'702,,,,,749,,749,749,749,,,749,749,776,776,776,776,776,776,776,776,776',
'776,776,776,776,776,776,776,776,776,776,776,776,776,776,776,,,,776,776',
'776,776,776,776,776,776,776,776,,,,,,776,776,776,776,776,776,776,776',
'776,,,776,,,,,,,,776,776,,776,776,776,776,776,776,776,,,776,776,,,,776',
'776,776,776,,,,,,,,,,,,,,776,776,,776,776,776,776,776,776,776,776,776',
'776,776,776,,,776,525,525,525,525,,,,,,,,,,,,,525,525,525,525,,,,525',
'525,,,,,525,525,,,525,525,,,,,,,,,,,,,,,,,,,525,,,525,,,,525,,,525,',
'525,,,,,,,525,,,,,,,525,,,,525,525,525,525,,525,525,525,525,,,,,525',
'525,524,524,524,524,,,525,,525,525,525,,,525,525,,524,524,524,524,,',
',524,524,,,,,524,524,,,524,524,,,,,,,,,,,,,,,,,,,524,,,524,,,,524,,',
'524,,524,,,,,,,524,,,,,,,524,,,,524,524,524,524,,524,524,524,524,,,',
',524,524,1166,1166,1166,1166,,,524,,524,524,524,,,524,524,,1166,1166',
'1166,1166,,,,1166,,,,,,1166,1166,,,1166,,,,,,,,,,,,,,,,,,,,1166,,,1166',
',,,1166,,,1166,,,,,,,,,,,,,,,,1166,,,,1166,1166,1166,1166,,1166,1166',
'1166,1166,,,,,1166,1166,1109,1109,1109,1109,,,1166,,1166,1166,1166,',
',1166,1166,,1109,1109,1109,1109,,,,1109,,,,,,1109,1109,,,1109,,,,,,',
',,,,,,,,,,,,,1109,,,1109,,,,1109,,,1109,,,,,,,,,,,,,,,,1109,,,,1109',
'1109,1109,1109,,1109,1109,1109,1109,,,,,1109,1109,1122,1122,1122,1122',
',,1109,,1109,1109,1109,,,1109,1109,,1122,1122,1122,1122,,,,1122,,,,',
',1122,1122,,,1122,,,,,,,,758,758,758,758,,,,,,,,,1122,,,1122,758,758',
'758,1122,,,1122,,1122,,,,,758,758,,,758,,,,,1122,,,,1122,1122,1122,1122',
',1122,1122,1122,1122,,,,,1122,1122,,,,,,,1122,,1122,1122,1122,,,1122',
'1122,,,,,,,,,,,,758,758,758,758,,758,758,758,758,,,,,758,758,945,945',
'945,945,,,758,,758,758,758,,,,,,945,945,945,,,,,,,,,,,945,945,,,945',
'944,944,944,944,,,,,,,,,,,,,944,944,944,,,,,,,,,,,944,944,,,944,,,,',
',,,,,,,,,,,945,945,945,945,,945,945,945,945,,,,,945,945,,,,,,,945,,945',
'945,945,,,,,,,,,944,944,944,944,,944,944,944,944,,,,,944,944,759,759',
'759,759,,,944,,944,944,944,,,,,,759,759,759,700,,700,700,700,700,700',
',,,759,759,,,759,700,,,,,,,,,,,1020,,1020,1020,1020,1020,1020,,,,,700',
',,,1020,,,,,700,700,700,700,,,,700,,,,,,,,,,1020,759,759,759,759,,759',
'759,759,759,,1020,1020,,759,759,1020,,,,,,759,,759,759,759,,,698,700',
'698,698,698,698,698,,230,,230,230,230,230,230,698,,,,,,,,230,,,1018',
'1020,1018,1018,1018,1018,1018,,,,,698,,,,1018,,,,230,698,698,698,698',
',,,698,230,230,230,230,,,,230,1016,1018,1016,1016,1016,1016,1016,,,',
',,1018,1018,,1016,,1018,1014,,1014,1014,1014,1014,1014,,,,,,,698,,1014',
',,,1016,,230,,,,,,,,,1016,1016,,,,1016,,1014,,1018,,,,,,,1014,1014,1014',
'1014,,,,1014,,,,,,,,,,,,1181,1181,,,1181,,,,,,1016,,1181,1181,,1181',
'1181,1181,1181,1181,1181,1181,,,1181,1181,,,1014,1181,1181,1181,1181',
',,,,,1181,,,,,,,,1181,1181,,1181,1181,1181,1181,1181,1181,1181,1181',
'1181,1181,1181,1181,299,299,1181,,299,,,,,,,,299,299,,299,299,299,299',
'299,299,299,,,299,299,,,,299,299,299,299,,,,,,,,,,,,,,299,299,,299,299',
'299,299,299,299,299,299,299,299,299,299,223,223,299,,223,,,,,,,,223',
'223,,223,223,223,223,223,223,223,,,223,223,,,,223,223,223,223,,,,,,223',
',,,,,,,223,223,,223,223,223,223,223,223,223,223,223,223,223,223,1157',
'1157,223,,1157,,,,,,,,1157,1157,,1157,1157,1157,1157,1157,1157,1157',
',,1157,1157,,,,1157,1157,1157,1157,,,,,,1157,,,,,,,,1157,1157,,1157',
'1157,1157,1157,1157,1157,1157,1157,1157,1157,1157,1157,516,516,1157',
',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,1156,1156,516,,1156,,,,,,,,1156,1156,,1156,1156,1156,1156',
'1156,1156,1156,,,1156,1156,,,,1156,1156,1156,1156,,,,,,1156,,,,,,,,1156',
'1156,,1156,1156,1156,1156,1156,1156,1156,1156,1156,1156,1156,1156,672',
'672,1156,,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,672,672,672,515,515,672,,515,,,,,,,,515,515,,515,515,515',
'515,515,515,515,,,515,515,,,,515,515,515,515,,,,,,515,,,,,,,,515,515',
',515,515,515,515,515,515,515,515,515,515,515,515,222,222,515,,222,,',
',,,,,222,222,,222,222,222,222,222,222,222,,,222,222,,,,222,222,222,222',
',,,,,222,,,,,,,,222,222,,222,222,222,222,222,222,222,222,222,222,222',
'222,588,588,222,,588,,,,,,,,588,588,,588,588,588,588,588,588,588,,,588',
'588,,,,588,588,588,588,,,,,,588,,,,,,,,588,588,,588,588,588,588,588',
'588,588,588,588,588,588,588,589,589,588,,589,,,,,,,,589,589,,589,589',
'589,589,589,589,589,,,589,589,,,,589,589,589,589,,,,,,589,,,,,,,,589',
'589,,589,589,589,589,589,589,589,589,589,589,589,589,626,626,589,,626',
',,,,,,,626,626,,626,626,626,626,626,626,626,,,626,626,,,,626,626,626',
'626,,,,,,626,,,,,,,,626,626,,626,626,626,626,626,626,626,626,626,626',
'626,626,671,671,626,,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,671,671,671,627,627,671,,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,634,634,627',
',634,,,,,,,,634,634,,634,634,634,634,634,634,634,,,634,634,,,,634,634',
'634,634,,,,,,634,,,,,,,,634,634,,634,634,634,634,634,634,634,634,634',
'634,634,634,633,633,634,,633,,,,,,,,633,633,,633,633,633,633,633,633',
'633,,,633,633,,,,633,633,633,633,,,,,,633,,,,,,,,633,633,,633,633,633',
'633,633,633,633,633,633,633,633,633,598,598,633,,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,599,599',
'598,,599,,,,,,,,599,599,,599,599,599,599,599,599,599,,,599,599,,,,599',
'599,599,599,,,,,,599,,,,,,,,599,599,,599,599,599,599,599,599,599,599',
'599,599,599,599,,,599' ]
racc_action_check = arr = ::Array.new(28951, 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, 1530, 1699, 101, nil, 482, nil, 20901, 1396, 63,
25127, 25255, 87, nil, 108, 123, 470, 190, 962, 122,
162, 700, nil, -35, 16902, 1267, 26590, 276, nil, 598,
nil, 307, 8439, 8549, 8814, 10017, 10148, nil, 4147, 24860,
24328, nil, 206, 690, 444, 339, 12923, 13185, 283, 21962,
19796, 979, 20758, 303, 845, nil, nil, nil, nil, nil,
nil, nil, nil, nil, 15455, nil, 15183, 15040, 14385, 148,
nil, 14123, 21176, nil, nil, 13980, 23542, 24066, 24197, nil,
nil, nil, nil, nil, nil, 584, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, 110, nil, nil, 222, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, 20070, nil, nil, nil, nil, 19927, 19665, 19272, 19141,
19010, nil, 4867, nil, 585, 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, 302, nil, 979, 22093, 21700, 21569, 21307,
13849, 13718, 28287, 27921, nil, nil, 315, 2707, 332, nil,
27662, 580, 338, 1267, 11851, 11196, 11065, nil, nil, 1106,
138, 142, 453, 193, 372, 446, nil, 9886, 386, 299,
2419, 449, nil, nil, 7250, 7119, 6583, 6452, 6321, 6190,
6059, 5535, 18343, 18212, 17688, 17557, 17426, 16509, 16116, 15985,
15592, 14909, 14778, 21831, 21438, 13447, nil, nil, nil, nil,
13316, nil, nil, 532, 308, 563, 587, 488, 673, 710,
747, 755, 354, nil, nil, nil, 15854, nil, nil, 27860,
nil, nil, 472, 17033, 17164, nil, nil, nil, nil, nil,
nil, nil, 17295, nil, 2131, nil, 478, 480, nil, 17819,
534, 17950, nil, nil, 18081, 5797, nil, nil, 563, nil,
6726, 1540, 517, 497, 5011, 533, 582, 554, 23403, 3859,
873, 879, 878, 644, 995, nil, 618, 585, -24, 628,
632, nil, nil, nil, 644, 275, 608, 23141, nil, 666,
972, 4435, 5273, 693, nil, 709, 12530, nil, 12661, 2275,
1684, 653, nil, 593, 597, 690, 692, 468, 725, nil,
719, 35, 36, 22748, 4723, 4579, 72, 797, 686, -18,
-19, 411, 783, 25, 822, nil, nil, 1114, 802, 342,
nil, 806, nil, 742, 15314, nil, 13552, nil, 399, 366,
402, 469, 410, -32, -34, 394, nil, nil, nil, nil,
nil, nil, nil, 740, 24999, nil, nil, nil, nil, 742,
nil, 813, 731, 14254, 733, nil, nil, 723, nil, 788,
-56, 835, nil, nil, 1411, nil, nil, nil, nil, nil,
1699, 750, nil, 749, 751, 388, 425, 21042, nil, nil,
nil, 0, 695, 796, nil, nil, 20621, 20485, 20344, 887,
887, nil, nil, 768, 782, 786, nil, nil, 790, 792,
793, nil, nil, nil, nil, nil, nil, nil, nil, nil,
783, 3269, nil, nil, 18867, nil, nil, nil, 0, nil,
nil, nil, 880, nil, nil, 882, 571, 23010, 926, nil,
nil, nil, -26, nil, 859, 28226, 28043, 22879, -82, 22617,
22486, 22355, 806, 807, 26997, 26899, 3859, 4867, 3322, 1018,
887, 888, 893, 894, 5404, 5535, 5666, 5142, 4723, 4579,
4291, 4147, 4003, 3455, 3311, 3715, 3427, 2275, 5011, nil,
44, nil, 13588, nil, nil, nil, nil, 13054, 843, 841,
845, nil, nil, nil, 848, nil, nil, 12792, nil, 12399,
nil, 12268, nil, 327, nil, nil, nil, 12125, 1108, nil,
858, 858, nil, nil, 859, 23804, 863, 11982, 28348, 28409,
968, 914, nil, nil, 23935, 871, nil, 11720, 28775, 28836,
11589, 3571, 2707, 11327, 996, 877, 926, nil, 10934, nil,
nil, 10803, nil, nil, nil, 3571, 1007, nil, 3427, 90,
1013, 1039, 11, 1044, 10672, 10541, 28470, 28592, 7, nil,
nil, 893, nil, 28714, 28653, 10279, nil, nil, 60, 1843,
nil, 692, nil, nil, nil, nil, 1177, nil, nil, nil,
938, nil, nil, 369, nil, 324, nil, nil, 924, nil,
926, nil, nil, nil, 25383, nil, 9755, 929, 9612, 9481,
9219, 28531, 28165, 8957, 8683, 724, 972, 8036, 7905, 7774,
7643, 972, nil, nil, 7512, 7381, 973, nil, 1030, 1555,
1061, 6988, nil, nil, 788, nil, nil, 269, 27654, nil,
27562, nil, 26660, nil, 6857, nil, 3298, nil, 944, 945,
1253, 951, nil, nil, nil, nil, nil, nil, 1040, 1843,
nil, nil, nil, 339, 360, 473, 334, 955, 5928, 5666,
nil, -72, nil, nil, nil, nil, 981, nil, nil, nil,
-34, 26447, 189, nil, 958, 1041, 960, nil, nil, 26673,
nil, nil, 1, nil, nil, 675, nil, nil, 27332, 27562,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, 1447, 590, nil, nil, 966, 26816, nil, 1094, nil,
1078, -13, nil, nil, 16247, nil, 993, 1000, 1102, nil,
980, nil, 1043, 14647, nil, nil, 22224, nil, 429, 24598,
998, nil, 1002, 233, 250, 1046, 181, 1139, 1047, 1026,
24729, nil, 1099, 249, nil, nil, nil, 68, 614, nil,
1165, nil, nil, nil, nil, nil, 1183, 1185, nil, nil,
26, 1065, 8, -5, 232, -4, 1123, 970, 1112, nil,
1072, 2851, 14516, nil, 1195, -25, 1080, nil, nil, nil,
nil, nil, 2563, nil, nil, nil, nil, nil, nil, nil,
nil, 1079, 15723, 1083, 416, 392, 583, 834, nil, 1987,
16378, nil, 1084, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, 16640, 16771, 1211, nil, 3715, 1088, 1135,
nil, nil, 1092, nil, 1176, nil, nil, 1096, 1104, nil,
1109, 1114, nil, 1116, nil, nil, 1120, 1109, 3557, nil,
nil, 18474, 18605, 18736, 5142, 5273, 5404, 377, 26349, 1202,
26251, -68, 97, 26153, 26055, 335, -69, 1125, 1127, nil,
25859, nil, 1127, 902, nil, 1151, 25761, 25663, nil, 498,
1178, 331, nil, nil, 27464, 27430, nil, nil, nil, nil,
8167, nil, nil, nil, nil, nil, 8298, nil, nil, 1165,
nil, nil, 1162, 1146, nil, nil, 763, 2131, nil, nil,
nil, nil, 1146, 136, nil, nil, nil, 1271, nil, 9088,
1274, nil, nil, 25565, 9350, 4291, -1, 1283, nil, 1284,
-77, 1411, nil, nil, nil, nil, 1159, 1205, 1176, 1176,
227, nil, nil, 10410, 3139, 2563, nil, 2995, nil, nil,
-10, 23272, nil, nil, 27734, nil, 27716, nil, 27680, nil,
27588, nil, nil, nil, nil, 1190, 1194, 2995, 2851, 11458,
nil, 1211, nil, nil, nil, nil, 1217, 1218, 1221, 1223,
1227, 1230, nil, nil, nil, 1274, 1230, 121, nil, 1241,
nil, nil, -70, 1246, nil, nil, nil, nil, nil, nil,
1290, 2419, 1987, nil, nil, 1248, 1253, nil, 1258, 1259,
1260, nil, 1285, 1267, 1256, 23673, nil, nil, nil, nil,
9, nil, 13, 17, nil, 268, nil, nil, nil, 1393,
4003, 3139, 2117, nil, nil, nil, 1555, 32, 33, 667,
1353, 34, nil, 1276, 1285, 1286, 1287, 3308, 3413, 27193,
nil, nil, nil, nil, nil, nil, nil, 1290, 25467, nil,
257, nil, 27291, nil, nil, 1300, nil, nil, 25666, nil,
nil, 13607, nil, 23450, nil, nil, 1315, 24467, 1116, 1370,
3283, nil, 19403, 19534, nil, nil, nil, nil, 1314, 1438,
609, nil, nil, nil, 1441, 20213, 28104, 27982, 79, 13581,
nil, nil, nil, nil, 1317, 1318, 27095, 1319, nil, nil,
1320, nil, nil, 1334, 1338, 1355, 1358, nil, 1359, nil,
555, 27799, nil, 574, 4435, nil, nil, nil, nil, nil,
1973, nil, 1365, 109, 142, 143, 221, 1364, 25957, 1372,
nil, 25470, nil, 25862, nil, 25764, nil, 24375, nil, nil,
1418, 1421, nil, 375, nil, 145, nil, 1382, 1390, 1391,
1392, nil, nil, nil, 25960, nil, nil, nil, nil, -104,
nil ]
racc_action_default = [
-1, -738, -4, -738, -2, -723, -5, -738, -8, -738,
-738, -738, -738, -31, -738, -738, -36, -738, -738, -632,
-632, -310, -52, -725, -738, -61, -738, -69, -70, -71,
-75, -286, -286, -286, -323, -350, -351, -87, -13, -91,
-99, -101, -738, -619, -620, -738, -738, -738, -738, -738,
-738, -239, -738, -725, -257, -301, -302, -303, -304, -305,
-306, -307, -308, -309, -711, -312, -316, -737, -700, -331,
-333, -738, -738, -63, -63, -723, -738, -738, -738, -352,
-353, -355, -412, -556, -557, -558, -559, -580, -562, -563,
-582, -584, -567, -572, -576, -578, -594, -595, -596, -580,
-598, -600, -601, -602, -603, -709, -608, -609, -710, -611,
-612, -613, -614, -615, -616, -617, -618, -623, -624, 1231,
-3, -724, -733, -734, -735, -7, -738, -738, -738, -738,
-738, -9, -4, -19, -738, -130, -131, -132, -133, -134,
-135, -136, -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, -207,
-208, -209, -210, -24, -137, -13, -738, -738, -738, -738,
-738, -276, -738, -738, -721, -722, -738, -13, -631, -629,
-655, -655, -738, -13, -738, -738, -725, -726, -56, -738,
-619, -620, -738, -310, -738, -738, -245, -738, -632, -632,
-13, -738, -57, -59, -222, -223, -738, -738, -738, -738,
-738, -738, -738, -738, -738, -738, -738, -738, -738, -738,
-738, -738, -738, -738, -738, -738, -258, -259, -260, -261,
-738, -65, -66, -738, -130, -131, -170, -171, -172, -188,
-193, -200, -203, -619, -620, -698, -738, -421, -423, -738,
-719, -720, -76, -276, -738, -330, -427, -436, -438, -82,
-433, -83, -725, -84, -264, -281, -291, -291, -285, -289,
-292, -738, -580, -702, -706, -738, -85, -86, -723, -14,
-738, -17, -738, -89, -13, -725, -738, -92, -95, -13,
-107, -108, -738, -738, -115, -323, -326, -725, -738, -632,
-632, -350, -351, -354, -434, -738, -97, -738, -103, -320,
-738, -224, -225, -599, -233, -234, -738, -246, -738, -13,
-314, -725, -265, -730, -730, -738, -738, -730, -738, -332,
-62, -738, -738, -738, -13, -13, -723, -738, -724, -619,
-620, -738, -738, -310, -738, -365, -366, -125, -126, -738,
-128, -738, -310, -627, -738, -346, -655, -560, -738, -738,
-738, -738, -738, -738, -738, -738, -6, -736, -25, -26,
-27, -28, -29, -738, -738, -21, -22, -23, -138, -738,
-32, -35, -297, -738, -738, -296, -33, -738, -37, -738,
-310, -49, -51, -211, -269, -292, -53, -54, -38, -212,
-269, -725, -277, -291, -291, -712, -713, -286, -431, -714,
-715, -713, -712, -286, -430, -432, -714, -715, -738, -548,
-738, -378, -379, -725, -697, -697, -637, -638, -640, -640,
-640, -654, -656, -657, -658, -659, -660, -661, -662, -663,
-664, -738, -666, -668, -670, -675, -677, -678, -681, -686,
-688, -689, -691, -692, -693, -695, -738, -738, -738, -48,
-219, -55, -725, -329, -738, -738, -738, -276, -320, -738,
-738, -738, -738, -738, -738, -738, -220, -221, -226, -227,
-228, -229, -230, -231, -235, -236, -237, -238, -240, -241,
-242, -243, -244, -247, -248, -249, -250, -725, -262, -67,
-725, -442, -286, -712, -713, -73, -77, -656, -725, -291,
-725, -287, -440, -442, -725, -325, -282, -738, -283, -738,
-288, -738, -293, -738, -705, -708, -12, -724, -16, -18,
-725, -88, -318, -104, -93, -738, -725, -276, -738, -738,
-114, -738, -631, -599, -738, -100, -105, -738, -738, -738,
-738, -263, -251, -738, -738, -725, -738, -266, -732, -731,
-268, -732, -321, -322, -701, -13, -356, -357, -13, -738,
-738, -738, -738, -738, -738, -276, -738, -738, -320, -63,
-125, -126, -127, -738, -738, -276, -342, -625, -738, -13,
-413, -655, -416, -561, -581, -586, -738, -588, -564, -583,
-738, -585, -566, -738, -569, -738, -571, -574, -738, -575,
-738, -597, -10, -20, -738, -30, -738, -300, -738, -738,
-276, -738, -738, -738, -738, -435, -738, -278, -280, -738,
-738, -78, -275, -428, -738, -738, -80, -429, -44, -253,
-737, -737, -348, -630, -738, -635, -636, -738, -738, -647,
-738, -650, -738, -652, -738, -367, -738, -369, -371, -374,
-377, -725, -669, -679, -680, -690, -694, -633, -46, -255,
-349, -328, -727, -712, -713, -712, -713, -725, -738, -738,
-58, -456, -459, -460, -461, -462, -464, -466, -469, -470,
-527, -725, -482, -485, -497, -501, -506, -508, -509, -512,
-513, -580, -516, -518, -519, -520, -525, -526, -738, -738,
-530, -531, -532, -533, -534, -535, -536, -537, -538, -539,
-540, -738, -738, -546, -60, -738, -738, -699, -738, -443,
-72, -424, -440, -271, -278, -273, -738, -402, -738, -324,
-291, -290, -294, -738, -703, -704, -738, -15, -90, -738,
-96, -102, -725, -712, -713, -274, -716, -113, -738, -98,
-738, -218, -232, -725, -313, -315, -317, -730, -737, -358,
-737, -64, -359, -360, -336, -337, -738, -738, -448, -339,
-738, -725, -712, -713, -716, -319, -13, -125, -126, -129,
-725, -13, -738, -344, -738, -738, -725, -587, -590, -591,
-592, -593, -13, -565, -568, -570, -573, -577, -579, -139,
-34, -298, -738, -725, -712, -713, -713, -712, -50, -270,
-738, -728, -291, -40, -214, -41, -215, -79, -42, -217,
-43, -216, -81, -738, -738, -737, -363, -13, -549, -737,
-550, -551, -697, -676, -681, -696, -639, -640, -640, -667,
-640, -640, -687, -640, -664, -682, -725, -738, -738, -376,
-665, -738, -738, -738, -738, -738, -738, -435, -457, -738,
-738, -467, -468, -738, -738, -738, -487, -725, -725, -481,
-488, -494, -738, -738, -484, -738, -738, -738, -500, -507,
-511, -738, -515, -517, -523, -524, -528, -529, -541, -542,
-738, -604, -605, -606, -126, -544, -738, -68, -422, -402,
-426, -425, -738, -725, -437, -403, -725, -13, -439, -284,
-295, -707, -94, -435, -106, -327, -267, -738, -361, -738,
-738, -338, -340, -738, -738, -13, -435, -738, -435, -738,
-738, -13, -347, -414, -417, -419, -406, -738, -738, -299,
-435, -39, -213, -279, -45, -254, -11, -13, -555, -364,
-738, -738, -553, -634, -738, -643, -738, -645, -738, -648,
-738, -651, -653, -368, -370, -372, -375, -47, -256, -738,
-458, -497, -463, -465, -474, -478, -725, -725, -725, -725,
-725, -725, -545, -479, -480, -504, -489, -492, -495, -725,
-580, -729, -725, -498, -502, -505, -510, -514, -521, -522,
-738, -252, -13, -74, -272, -697, -697, -383, -385, -385,
-385, -401, -738, -725, -664, -672, -673, -684, -441, -334,
-738, -335, -738, -453, -294, -737, -341, -343, -626, -738,
-13, -13, -738, -415, -589, -554, -13, -619, -620, -738,
-738, -310, -552, -640, -640, -640, -640, -738, -738, -738,
-471, -472, -473, -475, -476, -477, -496, -490, -738, -483,
-738, -486, -738, -543, -444, -738, -381, -382, -386, -392,
-394, -738, -397, -738, -399, -404, -738, -738, -671, -738,
-13, -449, -738, -738, -445, -446, -447, -345, -738, -738,
-725, -408, -410, -411, -548, -276, -738, -738, -320, -738,
-641, -644, -646, -649, -373, -498, -738, -493, -499, -503,
-697, -674, -384, -385, -385, -385, -385, -685, -385, -405,
-683, -738, -320, -737, -13, -454, -455, -418, -420, -407,
-738, -547, -725, -712, -713, -716, -319, -640, -738, -491,
-380, -738, -389, -738, -391, -738, -395, -738, -398, -400,
-319, -716, -362, -737, -409, -435, -642, -385, -385, -385,
-385, -450, -451, -452, -738, -387, -390, -393, -396, -385,
-388 ]
clist = [
'44,138,138,306,310,44,315,315,315,298,408,282,380,380,457,463,380,138',
'222,281,690,379,415,451,294,15,827,141,141,300,15,560,632,675,229,229',
'44,341,341,470,124,353,353,615,618,508,381,382,384,385,386,623,794,336',
'568,899,337,133,214,238,595,15,885,791,44,791,233,380,380,380,380,977',
'435,436,390,294,294,705,353,353,353,556,372,730,774,299,490,490,120',
'15,902,552,733,733,794,892,699,701,703,395,121,418,419,420,421,558,1053',
'235,607,610,124,131,614,448,481,481,317,317,317,44,1024,934,927,363',
'333,695,696,509,44,997,44,302,309,311,356,711,1069,368,4,1031,752,752',
'8,967,15,1026,335,8,928,374,377,473,506,15,1177,15,786,125,387,446,447',
'794,1151,778,1010,946,947,2,313,326,327,403,405,791,791,788,511,512',
'1006,1153,797,604,213,316,316,316,396,226,232,1038,1041,568,980,315',
'458,592,592,653,655,1049,431,424,524,525,821,283,370,776,782,664,366',
'375,781,44,467,442,373,295,442,376,394,636,1046,369,1177,44,605,371',
'841,1054,429,44,442,991,639,1025,1071,550,15,515,437,1129,1073,437,1150',
'573,640,993,44,1072,15,430,441,406,845,441,15,437,1090,1091,1214,8,490',
'229,229,336,839,449,423,441,422,416,8,15,551,315,315,1153,1165,562,791',
'510,563,300,315,959,826,1167,800,1144,481,1082,705,1221,983,233,909',
'809,1173,1030,1184,1032,1033,923,1036,1039,924,457,463,917,894,933,936',
'1055,1056,1062,949,889,1,727,306,1024,407,929,380,409,310,642,44,410',
'1037,1040,44,411,412,1199,341,44,413,549,353,414,588,1168,1164,638,847',
'852,842,336,906,1058,1059,15,336,341,1136,15,619,353,598,897,15,124',
'893,434,434,44,649,651,654,654,1171,,596,,962,899,,,805,,44,44,973,',
'317,,,802,805,626,15,,317,,233,,,620,621,1054,,,902,955,,15,15,,1054',
'576,,986,1169,138,522,523,805,,333,124,988,577,,333,805,831,1119,682',
'593,591,584,,579,687,1212,840,561,671,688,141,580,,,1000,564,586,,,',
'844,559,316,,606,,1145,1054,,877,316,,457,463,882,,,,622,578,663,863',
',,,,,,718,,,,,,899,794,458,,315,1169,,985,705,705,,,490,,791,,,972,',
'1035,,,467,,1043,1044,,963,,,1015,1017,,1019,1021,,1022,768,768,682',
'481,1170,969,,,,,,731,731,676,,,,752,752,717,1083,1013,813,,898,890',
'900,752,,733,976,,490,752,490,681,1042,315,458,,846,686,899,,510,,449',
',458,,873,875,,44,,878,880,,467,,,341,,1222,,353,,,467,,341,,,,353,315',
'458,752,15,,596,,836,,458,315,,969,,596,855,44,855,,44,1223,467,,,1113',
'1114,1115,467,,,,,,818,775,,820,,,,44,15,,,15,315,458,811,,,,,790,,',
'780,989,822,138,,,,,,,15,467,44,34,,442,,,34,44,1096,843,941,,,442,442',
',,141,442,442,,,,34,,15,817,,437,705,705,,15,34,34,34,,34,437,437,441',
'1191,891,437,437,,,859,,,441,441,1126,1127,,441,441,1160,1161,1162,1163',
',874,876,,34,,879,881,961,34,34,,,34,768,,894,1140,,1141,,,768,,1146',
'926,,895,,,895,768,768,940,872,,957,960,1001,,,,138,,281,,,,830,1215',
',,682,,,687,,,380,34,,901,,903,34,34,34,34,34,,34,,341,,,,353,,1089',
',,860,,341,,,676,353,868,1070,1216,596,990,,,,1200,1074,,,676,935,974',
',1075,,,,,44,,,,,44,434,,,,,,,,,,44,987,,,,,,,,15,,,1103,,15,,872,998',
'442,,490,1066,,,1124,15,,,34,34,34,34,34,34,34,44,676,,,,34,380,,437',
',,34,34,34,34,1008,,1009,1149,1012,441,,,,,15,,,34,,676,768,1002,768',
',380,768,768,,676,1060,,926,768,,996,,926,926,768,768,,,,,,,768,768',
',1052,,676,805,,,,,,1080,,,1192,,34,874,876,881,879,,44,34,34,,,,,,1120',
',34,1174,,,1175,,768,1078,44,1074,,,1074,1075,44,15,1075,731,34,1075',
',1075,34,,,1085,,34,,,44,676,,15,1098,,676,676,353,15,,,,,,,,1095,,1067',
'1088,,,,,15,,34,1066,1102,,1066,,1066,,,,,,,,34,34,34,1217,996,,1068',
',,,,1074,,,44,,,,1075,,1075,34,1075,,1075,,,294,,,1002,353,,,,,,380',
'380,15,,1075,44,44,,,,,44,,,,,1156,1104,,1105,,1106,1148,1066,768,1066',
',1066,1154,1066,15,15,,768,1185,1186,15,768,,,676,676,676,,315,458,1066',
',34,,935,,294,,,44,353,,,,,,31,,,467,,31,,,,,1183,,996,,,,,,15,768,',
',31,,,34,,467,,,,,31,31,31,34,31,44,895,,,1067,,,1067,,1067,,,,,768',
',,1213,,,,,,,,15,513,31,,,,,31,31,,1176,31,1178,,,,,,,,,,,,,378,,1189',
',,,,,34,,,,,1197,1130,1132,1134,,34,,,,,,,,,1067,,1067,,1067,31,1067',
'34,,,31,31,31,31,31,,31,676,,34,,,34,1067,,565,,,1218,34,1219,,1220',
',,,,,,34,,,,34,,,,,581,,,1229,,,,,,,,,,,,,,,,,,,34,,,34,34,,,34,,,,',
',34,34,,,,34,34,,,1202,1204,1206,1208,,1209,,31,31,31,31,31,31,31,,',
'18,,,31,,18,,,,31,31,31,31,432,445,,,,,,,,239,,,,31,,1225,1226,1227',
'1228,239,239,239,,18,342,342,,1230,,,,,,,,,,,,,,,,,,,,,,,,18,,,,,239',
'239,,31,239,391,401,401,,693,31,31,,,,,,,,31,,,,,,,,,,,,760,760,,,,',
'31,,,,31,,,,,31,570,721,572,18,,574,575,,239,239,239,239,18,,18,,34',
',,,,34,34,,,,,,,31,,,34,,,,,,,777,,,,31,31,31,,783,,785,34,,,789,,,',
',,,,,,,31,,,34,,798,,,,,,801,,,,,,,,,,,,,,,,,,,815,,,18,239,439,239',
'239,439,239,,,,,,18,,,,,667,18,439,239,239,,,,,,,,,,31,,34,,18,,,,,',
',,,,,,,,,34,,,,,,,,,,,,34,,,,,,34,,31,,,,34,,,,712,,31,239,,,,,,,239',
'239,34,,,,,,,239,,,,,,910,760,,,,,,,17,760,,,18,17,,,18,,760,760,342',
'18,,,,,,,,,,,,,,,,31,,342,,,34,,17,,,31,792,,378,18,795,,,,769,769,',
',,,,31,,239,18,18,,,34,34,17,,,31,34,,31,,,,,,,31,239,,,792,,,378,,',
'31,,,,31,,,975,,,445,,,,,,,,,,,,,,,34,,34,34,,,31,17,,31,31,,,31,,34',
'17,,17,31,31,,,,31,31,,,,861,239,,,,,,,,792,378,,,,,34,,,,,,,,888,,',
',,,760,,760,,,760,760,905,,,,239,760,,,,,1023,760,760,,239,,,,,760,760',
',,,,1034,,,,,,,,,,,17,,17,,,17,,,,,,,17,,,,,,17,17,,,760,,,,,,,,,1064',
',,,17,,,18,,,,,,792,,342,,239,,,,769,970,,342,971,,,,769,,,,239,,,,',
'769,769,,,,,31,18,,,18,31,31,,,,,239,,,,,31,,,,,239,,,,18,,,,1110,1111',
'1112,,,31,,,,,,17,,,,17,1121,,999,,17,,31,18,,,439,239,,,18,,,,,,439',
'439,,,,439,439,43,760,763,763,,43,,17,,,760,,,,760,,,,,,,,17,17,293',
',,,,,,,,,,,43,340,340,,,,31,,,,,,,,,,,,,,,,760,31,,,,,43,,,,,,,31,,',
'389,293,293,31,,,,,769,31,769,,,769,769,,760,,,,769,,,1084,,31,769,769',
',,,,,,769,769,,,,342,,,378,,,43,,,767,767,342,,,,43,,43,,,,,,,,,,,,',
',,,,769,,,18,,,,31,18,239,,,,,,,,,,18,,,,,,,,,,,,,,,,31,31,439,,,,31',
',,,,,,,,,,,,18,,,,,,,,,,,,43,,17,,,,763,,,,,,43,,763,,,,43,31,,31,31',
'763,763,,,,,,,,,,31,43,,,,,17,,,17,,,,761,761,,,239,,,,,,,,,769,,,31',
'17,,,,18,769,,,,769,,,,,,,239,,,,,,18,,,,,17,18,,17,,,,17,,,,,,17,17',
',,18,17,17,,1099,,,43,,769,,43,,,,340,43,,767,,,,,,,,767,,,,,,,19,340',
'767,767,,19,,,769,,,,,43,,,,,,,,,18,,,,,,43,43,,,,,,1138,19,349,349',
',,,763,,763,,,763,763,,18,18,,,763,,18,,,,763,763,,,19,,,,763,763,,',
',,349,349,349,,,,,,,,,,,,,,,,,,,,,1180,,,18,,239,239,,,,763,,,,,,,,239',
',,,19,17,,,761,,17,,,19,,19,761,,,,,17,,,,761,761,,,18,,,,,,,,,,17,',
',,,,,,767,,767,,,767,767,,,17,,,767,,,,,,767,767,,,,,,,767,767,,,,,',
',,,,,,,,,,,,,,,,,,19,,19,,,19,,,43,,,,19,,767,,340,,19,19,763,,,,,340',
',21,,763,,,21,763,,19,,,17,,,,,,,,43,,,43,,,,,,,17,,,,,,17,21,344,344',
',,,,43,,,,,,,763,17,,,,,,,,,761,,761,,21,761,761,,762,762,43,,761,,393',
'402,402,43,761,761,,,763,,,,761,761,19,,,,19,,,,349,19,,,,,,,,,17,,',
',,,,767,,349,20,,,21,,20,767,,,761,767,19,21,,21,,,,17,17,,,,,17,,19',
'19,,,,,,,,,20,350,350,,,,,,,,,,,,,,,,767,,,,,,,,,,20,,,,17,,,,,,350',
'350,350,,,,,,,,,,767,340,,,,,,,,,,21,340,440,,,440,,,,,,,21,,,17,,,21',
'440,,,20,,,,,43,,,,20,43,20,,21,,,761,,,,,43,,,,761,,,,761,,,,,,,,,',
',,,,,,765,765,,,,762,,,,,,43,,762,,,,,,,,,762,762,,,,,761,,,,,,,,,,',
',,,,,,,,,21,20,,20,21,,20,19,344,21,,,761,20,,349,,,,20,20,,,,349,,',
'344,,,,,,,,,20,,,21,,,,43,,19,,,19,,,,,,21,21,,,,,,43,,,,,,43,,19,,',
',,,,,,,,,,,43,,,,1097,,766,766,,,,,,19,,,19,,,,19,,,,,,19,19,,,,19,19',
'20,,,,20,,,,350,20,,,,,,,,,762,,762,,43,762,762,,,350,,,762,,,,,293',
'762,762,,20,,,,,762,762,,,,,43,43,,765,20,20,43,,,,,765,,,,,,,,,765',
'765,,,,,,,,,,,,762,,,,,,,,,,,,,,293,,,43,,,,,,,,,,,,,349,,,,,,,,,,,349',
',,,,,,21,,,,,,,,344,,,,,43,,,,344,,19,,,,,19,,,,,,,,,,,19,,,21,,,21',
',,,,,,,,,764,764,19,,,,,,766,,,21,,,,,766,,851,19,,,,,,766,766,762,',
',,,,,,,762,,21,,762,440,,,,21,,,765,,765,440,440,765,765,,440,440,,',
'765,,,,,20,765,765,,,,,,350,765,765,,,,,,,350,,762,,,,,,,,,,,,,,,19',
',,,20,,,20,,,,,,,765,,,762,19,,,,,,19,,,,20,,,,,,,,,,,,19,,,,349,,,',
',,,,,,,20,,,20,,,,20,,,,,,20,20,,,344,20,20,,,,,,,,,344,,,766,,766,',
',766,766,,,19,,,766,,,,,,766,766,,,349,21,,,766,766,21,,,,764,,,,,19',
'19,21,764,,,19,,,,,,764,764,,,,765,,,440,,,,,,765,,766,,765,,,,,,,21',
',,,,,,,,,349,,,19,,,,,,,,,,,,,,,350,,,,,246,,,,765,,350,,,,314,314,314',
',,,,,,,,,361,362,19,364,365,,367,,,,20,,,,765,20,,,,,,314,314,,,21,20',
',,,,,,,,,,,,,,,,21,20,,,,,21,,,,,,,,,,,,20,766,,,21,,,,1101,,766,,,',
'766,,,,,764,,764,,,764,764,,,,,,764,,,,,,764,764,,,,,,,764,764,,,,,',
',,,,,,766,21,,,,,,,,,,,,,402,,,,,,,,20,,,,764,,,21,21,,766,,,21,,,,',
'20,,,,,,20,,,,,314,444,,,450,314,,,,,,20,,,,350,,,450,,,,,,,402,,,21',
',,246,,,,,,,526,527,528,529,530,531,532,533,534,535,536,537,538,539',
'540,541,542,543,544,545,546,547,,,,,548,,20,,,,,,21,,,,,,,350,,,,,,',
',314,314,,,,,,20,20,314,,,,20,764,,314,,314,,,314,314,764,,,,764,,,',
',,,,,,,,,,,,,,,,,,,,,,,350,,,20,,,,,,601,,602,,,,,,764,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,20,,764,,,,,,,,,,,,,,,,,,,,,,,,,,,314,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,689,,,,,,,,,,,,,,,,,,,,,,,,,,314,,,,,,,,,,,,,719',
',,,,,,,,,314,,450,450,450,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,362,,,',
',,,,,,314,,314,,314,,,,,,,,,,,,,,,,314,,,,,,,,,,450,,,812,,,,,,,,314',
',,314,,,,,,,,,,,,,314,314,,,,,,,,,,314,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,314,450,314,,,,869,,,314,314,450,450,,,,450,450,,,,,,314,,,,,,,,',
',,,,314,,,,,,,,,,,,,,,,,,,,,,,,689,719,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,314,,,,,,,,,314,,,314,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,314,,,,,,,,450,,,,,,,,,',
',,,1004,1005,,,,,,,,,,,,,,,,,,,,,,,,,,,1027,1028,450,450,450,450,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1061,,,,,,,,,,,,,,,,,,,,,,,,,,,',
'314,,,,,,,,,,,,,,,,,,,314,,,,,,,,,,,,,,,,,,,,,,,,,,450,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,314' ]
racc_goto_table = arr = ::Array.new(4695, 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 = [
'71,74,74,89,89,71,36,36,36,151,191,46,26,26,54,54,26,74,33,48,12,105',
'191,31,71,23,111,76,76,33,23,90,72,32,85,85,71,71,71,10,114,81,81,108',
'108,10,19,19,44,44,19,110,232,11,92,224,67,17,17,22,69,23,13,93,71,93',
'115,26,26,26,26,109,24,24,71,71,71,123,81,81,81,56,85,41,41,50,223,223',
'5,23,228,54,170,170,232,128,221,221,221,23,7,19,19,19,19,31,185,40,87',
'87,114,9,87,28,218,218,88,88,88,71,122,180,168,79,63,132,132,28,71,142',
'71,55,55,55,68,124,138,40,2,186,193,193,8,140,23,125,64,8,169,88,88',
'150,150,23,229,23,57,6,5,26,26,232,144,154,200,195,195,3,62,62,62,73',
'73,93,93,154,26,26,14,145,16,10,18,86,86,86,21,35,35,171,171,92,13,36',
'89,217,217,207,207,171,25,27,42,43,45,49,8,51,59,77,82,84,91,71,74,20',
'86,103,20,104,112,113,184,116,229,71,117,118,119,184,11,71,20,120,121',
'126,130,26,23,33,23,135,136,23,143,191,146,147,71,142,23,22,22,148,149',
'22,23,23,152,153,144,8,223,85,85,11,72,78,2,22,8,6,8,23,155,36,36,145',
'185,157,93,78,158,33,36,161,110,185,69,162,218,163,123,164,165,115,123',
'69,138,168,166,173,175,176,168,168,177,54,54,32,193,181,182,188,189',
'140,198,199,1,31,89,122,203,32,26,204,89,150,71,205,169,169,71,206,209',
'185,71,71,210,50,81,211,33,186,125,26,212,213,216,11,124,195,195,23',
'11,71,142,23,19,81,33,222,23,114,226,86,86,71,208,208,208,208,227,,67',
',57,224,,,54,,71,71,32,,88,,,31,54,33,23,,88,,115,,,11,11,184,,,228',
'72,,23,23,,184,5,,32,184,74,35,35,54,,63,114,32,7,,63,54,31,180,89,79',
'40,68,,9,89,109,31,62,33,36,76,64,,,32,62,64,,,,10,86,86,,40,,13,184',
',56,86,,54,54,56,,,,5,8,17,31,,,,,,,36,,,,,,224,232,89,,36,184,,108',
'123,123,,,223,,93,,,69,,32,,,74,,32,32,,90,,,221,221,,221,221,,221,71',
'71,89,218,128,92,,,,,,167,167,40,,,,193,193,114,41,132,26,,139,24,139',
'193,,170,87,,223,193,223,55,72,36,89,,150,55,224,,78,,78,,89,,28,28',
',71,,28,28,,74,,,71,,13,,81,,,74,,71,,,,81,36,89,193,23,,67,,44,,89',
'36,,92,,67,208,71,208,,71,111,74,,,32,32,32,74,,,,,,11,40,,11,,,,71',
'23,,,23,36,89,78,,,,,88,,,55,10,114,74,,,,,,,23,74,71,61,,20,,,61,71',
'108,114,191,,,20,20,,,76,20,20,,,,61,,23,88,,23,123,123,,23,61,61,61',
',61,23,23,22,12,85,23,23,,,17,,,22,22,132,132,,22,22,221,221,221,221',
',78,78,,61,,78,78,105,61,61,,,61,71,,193,108,,108,,,71,,110,167,,133',
',,133,71,71,167,88,,46,151,28,,,,74,,48,,,,86,32,,,89,,,89,,,26,61,',
'137,,137,61,61,61,61,61,,61,,71,,,,81,,10,,,8,,71,,,40,81,8,139,221',
'67,19,,,,132,223,,,40,40,67,,225,,,,,71,,,,,71,86,,,,,,,,,,71,11,,,',
',,,,23,,,139,,23,,88,11,20,,223,127,,,10,23,,,61,61,61,61,61,61,61,71',
'40,,,,61,26,,23,,,61,61,61,61,85,,11,10,85,22,,,,,23,,,61,,40,71,78',
'71,,26,71,71,,40,19,,167,71,,40,,167,167,71,71,,,,,,,71,71,,167,,40',
'54,,,,,,19,,,31,,61,78,78,78,78,,71,61,61,,,,,,191,,61,139,,,139,,71',
'11,71,223,,,223,225,71,23,225,167,61,225,,225,61,,,11,,61,,,71,40,,23',
'71,,40,40,81,23,,,,,,,,11,,133,114,,,,,23,,61,127,23,,127,,127,,,,,',
',,61,61,61,139,40,,137,,,,,223,,,71,,,,225,,225,61,225,,225,,,71,,,78',
'81,,,,,,26,26,23,,225,71,71,,,,,71,,,,,33,137,,137,,137,11,127,71,127',
',127,11,127,23,23,,71,19,19,23,71,,,40,40,40,,36,89,127,,61,,40,,71',
',,71,81,,,,,,58,,,74,,58,,,,,11,,40,,,,,,23,71,,,58,,,61,,74,,,,,58',
'58,58,61,58,71,133,,,133,,,133,,133,,,,,71,,,11,,,,,,,,23,65,58,,,,',
'58,58,,137,58,137,,,,,,,,,,,,,83,,40,,,,,,61,,,,,137,134,134,134,,61',
',,,,,,,,133,,133,,133,58,133,61,,,58,58,58,58,58,,58,40,,61,,,61,133',
',65,,,137,61,137,,137,,,,,,,61,,,,61,,,,,65,,,137,,,,,,,,,,,,,,,,,,',
'61,,,61,61,,,61,,,,,,61,61,,,,61,61,,,134,134,134,134,,134,,58,58,58',
'58,58,58,58,,,30,,,58,,30,,,,58,58,58,58,83,83,,,,,,,,30,,,,58,,134',
'134,134,134,30,30,30,,30,30,30,,134,,,,,,,,,,,,,,,,,,,,,,,,30,,,,,30',
'30,,58,30,30,30,30,,65,58,58,,,,,,,,58,,,,,,,,,,,,95,95,,,,,58,,,,58',
',,,,58,83,65,83,30,,83,83,,30,30,30,30,30,,30,,61,,,,,61,61,,,,,,,58',
',,61,,,,,,,65,,,,58,58,58,,65,,65,61,,,65,,,,,,,,,,,58,,,61,,65,,,,',
',65,,,,,,,,,,,,,,,,,,,65,,,30,30,30,30,30,30,30,,,,,,30,,,,,83,30,30',
'30,30,,,,,,,,,,58,,61,,30,,,,,,,,,,,,,,,61,,,,,,,,,,,,61,,,,,,61,,58',
',,,61,,,,83,,58,30,,,,,,,30,30,61,,,,,,,30,,,,,,65,95,,,,,,,29,95,,',
'30,29,,,30,,95,95,30,30,,,,,,,,,,,,,,,,58,,30,,,61,,29,,,58,83,,83,30',
'83,,,,107,107,,,,,,58,,30,30,30,,,61,61,29,,,58,61,,58,,,,,,,58,30,',
',83,,,83,,,58,,,,58,,,65,,,83,,,,,,,,,,,,,,,61,,61,61,,,58,29,,58,58',
',,58,,61,29,,29,58,58,,,,58,58,,,,83,30,,,,,,,,83,83,,,,,61,,,,,,,,83',
',,,,,95,,95,,,95,95,83,,,,30,95,,,,,65,95,95,,30,,,,,95,95,,,,,65,,',
',,,,,,,,29,,29,,,29,,,,,,,29,,,,,,29,29,,,95,,,,,,,,,65,,,,29,,,30,',
',,,,83,,30,,30,,,,107,83,,30,83,,,,107,,,,30,,,,,107,107,,,,,58,30,',
',30,58,58,,,,,30,,,,,58,,,,,30,,,,30,,,,65,65,65,,,58,,,,,,29,,,,29',
'65,,83,,29,,58,30,,,30,30,,,30,,,,,,30,30,,,,30,30,70,95,98,98,,70,',
'29,,,95,,,,95,,,,,,,,29,29,70,,,,,,,,,,,,70,70,70,,,,58,,,,,,,,,,,,',
',,,95,58,,,,,70,,,,,,,58,,,70,70,70,58,,,,,107,58,107,,,107,107,,95',
',,,107,,,83,,58,107,107,,,,,,,107,107,,,,30,,,83,,,70,,,102,102,30,',
',,70,,70,,,,,,,,,,,,,,,,,107,,,30,,,,58,30,30,,,,,,,,,,30,,,,,,,,,,',
',,,,,58,58,30,,,,58,,,,,,,,,,,,,30,,,,,,,,,,,,70,,29,,,,98,,,,,,70,',
'98,,,,70,58,,58,58,98,98,,,,,,,,,,58,70,,,,,29,,,29,,,,96,96,,,30,,',
',,,,,,107,,,58,29,,,,30,107,,,,107,,,,,,,30,,,,,,30,,,,,29,30,,29,,',
',29,,,,,,29,29,,,30,29,29,,30,,,70,,107,,70,,,,70,70,,102,,,,,,,,102',
',,,,,,34,70,102,102,,34,,,107,,,,,70,,,,,,,,,30,,,,,,70,70,,,,,,30,34',
'34,34,,,,98,,98,,,98,98,,30,30,,,98,,30,,,,98,98,,,34,,,,98,98,,,,,34',
'34,34,,,,,,,,,,,,,,,,,,,,,30,,,30,,30,30,,,,98,,,,,,,,30,,,,34,29,,',
'96,,29,,,34,,34,96,,,,,29,,,,96,96,,,30,,,,,,,,,,29,,,,,,,,102,,102',
',,102,102,,,29,,,102,,,,,,102,102,,,,,,,102,102,,,,,,,,,,,,,,,,,,,,',
',,,34,,34,,,34,,,70,,,,34,,102,,70,,34,34,98,,,,,70,,39,,98,,,39,98',
',34,,,29,,,,,,,,70,,,70,,,,,,,29,,,,,,29,39,39,39,,,,,70,,,,,,,98,29',
',,,,,,,,96,,96,,39,96,96,,97,97,70,,96,,39,39,39,70,96,96,,,98,,,,96',
'96,34,,,,34,,,,34,34,,,,,,,,,29,,,,,,,102,,34,38,,,39,,38,102,,,96,102',
'34,39,,39,,,,29,29,,,,,29,,34,34,,,,,,,,,38,38,38,,,,,,,,,,,,,,,,102',
',,,,,,,,,38,,,,29,,,,,,38,38,38,,,,,,,,,,102,70,,,,,,,,,,39,70,39,,',
'39,,,,,,,39,,,29,,,39,39,,,38,,,,,70,,,,38,70,38,,39,,,96,,,,,70,,,',
'96,,,,96,,,,,,,,,,,,,,,,100,100,,,,97,,,,,,70,,97,,,,,,,,,97,97,,,,',
'96,,,,,,,,,,,,,,,,,,,,39,38,,38,39,,38,34,39,39,,,96,38,,34,,,,38,38',
',,,34,,,39,,,,,,,,,38,,,39,,,,70,,34,,,34,,,,,,39,39,,,,,,70,,,,,,70',
',34,,,,,,,,,,,,,,70,,,,70,,101,101,,,,,,34,,,34,,,,34,,,,,,34,34,,,',
'34,34,38,,,,38,,,,38,38,,,,,,,,,97,,97,,70,97,97,,,38,,,97,,,,,70,97',
'97,,38,,,,,97,97,,,,,70,70,,100,38,38,70,,,,,100,,,,,,,,,100,100,,,',
',,,,,,,,97,,,,,,,,,,,,,,70,,,70,,,,,,,,,,,,,34,,,,,,,,,,,34,,,,,,,39',
',,,,,,,39,,,,,70,,,,39,,34,,,,,34,,,,,,,,,,,34,,,39,,,39,,,,,,,,,,99',
'99,34,,,,,,101,,,39,,,,,101,,39,34,,,,,,101,101,97,,,,,,,,,97,,39,,97',
'39,,,,39,,,100,,100,39,39,100,100,,39,39,,,100,,,,,38,100,100,,,,,,38',
'100,100,,,,,,,38,,97,,,,,,,,,,,,,,,34,,,,38,,,38,,,,,,,100,,,97,34,',
',,,,34,,,,38,,,,,,,,,,,,34,,,,34,,,,,,,,,,,38,,,38,,,,38,,,,,,38,38',
',,39,38,38,,,,,,,,,39,,,101,,101,,,101,101,,,34,,,101,,,,,,101,101,',
',34,39,,,101,101,39,,,,99,,,,,34,34,39,99,,,34,,,,,,99,99,,,,100,,,39',
',,,,,100,,101,,100,,,,,,,39,,,,,,,,,,34,,,34,,,,,,,,,,,,,,,38,,,,,37',
',,,100,,38,,,,37,37,37,,,,,,,,,,37,37,34,37,37,,37,,,,38,,,,100,38,',
',,,,37,37,,,39,38,,,,,,,,,,,,,,,,,39,38,,,,,39,,,,,,,,,,,,38,101,,,39',
',,,39,,101,,,,101,,,,,99,,99,,,99,99,,,,,,99,,,,,,99,99,,,,,,,99,99',
',,,,,,,,,,,101,39,,,,,,,,,,,,,39,,,,,,,,38,,,,99,,,39,39,,101,,,39,',
',,,38,,,,,,38,,,,,37,37,,,37,37,,,,,,38,,,,38,,,37,,,,,,,39,,,39,,,37',
',,,,,,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37',
'37,,,,,37,,38,,,,,,39,,,,,,,38,,,,,,,,37,37,,,,,,38,38,37,,,,38,99,',
'37,,37,,,37,37,99,,,,99,,,,,,,,,,,,,,,,,,,,,,,,,,,38,,,38,,,,,,37,,37',
',,,,,99,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,38,,99,,,,,,,,,,,,,,,,,,,,,,,,',
',,37,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,37,,,,,,,,,,,,,,,,,,,,,,,,,,37',
',,,,,,,,,,,,37,,,,,,,,,,37,,37,37,37,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,37,,,,,,,,,,37,,37,,37,,,,,,,,,,,,,,,,37,,,,,,,,,,37,,,37,,,,,,',
',37,,,37,,,,,,,,,,,,,37,37,,,,,,,,,,37,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,37,37,37,,,,37,,,37,37,37,37,,,,37,37,,,,,,37,,,,,,,,,,,,,37,,,,',
',,,,,,,,,,,,,,,,,,,37,37,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,37,,,,,,,,,37,,,37,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,37,,,,,,,,37,,,,,,,,,,,,,37,37,,,,,,,,,,',
',,,,,,,,,,,,,,,,37,37,37,37,37,37,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,37,,,,,,,,,,,,,,,,,,,,,,,,,,,,37,,,,,,,,,,,,,,,,,,,37,,,,,,,,,',
',,,,,,,,,,,,,,,,37,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,37' ]
racc_goto_check = arr = ::Array.new(4695, 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, 318, 136, 167, nil, 83, 150, 95, 140, 102,
-188, 15, -449, -628, -707, nil, -397, 47, 171, -25,
-2, 110, 35, 23, -144, -16, -59, 68, -107, 1689,
1365, -198, -418, 0, 2403, 168, -28, 3539, 2759, 2643,
84, -441, -50, -50, -25, -415, -15, nil, -7, 179,
56, -342, nil, nil, -208, 100, -221, -406, 1143, -347,
nil, 663, 134, 86, 108, 972, nil, 17, 94, -297,
2049, -2, -367, 94, -9, nil, 17, -219, 47, 75,
nil, 2, 159, 1164, 144, 15, 149, -265, 82, -28,
-272, -340, -263, -504, nil, 943, 1787, 2189, 1529, 2747,
2401, 2538, 1649, 191, 151, -48, nil, 1215, -338, -747,
-336, -596, 144, -182, 35, 46, 158, -144, 161, -408,
-610, -171, -787, -414, -356, -763, -672, -95, -599, nil,
-730, nil, -349, 58, 178, -827, -724, 86, -830, -152,
-644, nil, -717, -848, -930, -913, -160, -598, 171, -386,
-79, -18, -736, -736, -388, -23, nil, -28, -26, nil,
nil, -494, -796, -692, -920, -534, -841, 9, -619, -593,
-432, -734, nil, -618, nil, -618, -437, -434, nil, nil,
-621, -431, -431, nil, -708, -831, -779, nil, -626, -625,
nil, -77, nil, -384, nil, -593, nil, nil, -455, -374,
-725, nil, nil, 237, 235, 238, 241, -214, -41, 241,
244, 246, -300, -300, nil, nil, -289, -154, -116, nil,
nil, -382, -337, -144, -643, -137, -330, -753, -610, -977,
nil, nil, -517 ]
racc_goto_default = [
nil, nil, nil, nil, 5, nil, 6, 388, 331, nil,
nil, 469, nil, 978, nil, 328, 329, nil, nil, nil,
13, 14, 22, 244, nil, nil, 16, nil, 438, 245,
360, nil, nil, 634, 248, nil, 27, 25, 249, 243,
514, nil, nil, nil, nil, nil, nil, 383, 140, nil,
nil, nil, 28, 29, 808, nil, nil, nil, 348, nil,
30, 345, 452, 37, nil, nil, 39, 42, 41, nil,
240, 241, 400, nil, 460, 139, 84, nil, 443, 100,
51, 54, 280, 320, nil, 886, 453, nil, 454, 465,
477, 683, 566, 318, 304, 55, 56, 57, 58, 59,
60, 61, 62, 63, nil, 305, 69, 70, nil, nil,
nil, nil, nil, nil, 616, 227, nil, nil, nil, nil,
nil, nil, 707, 489, nil, 708, 709, 475, 471, 472,
1172, 1065, nil, 476, nil, nil, nil, 478, nil, 480,
nil, 965, nil, nil, nil, 487, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, 464, nil, nil, 787,
779, nil, nil, nil, nil, nil, nil, 1045, nil, 732,
931, 734, 735, 739, 736, 737, nil, nil, 738, 740,
nil, nil, nil, 930, 932, nil, 744, 746, 747, 748,
749, nil, 753, 498, 754, 755, 756, 757, nil, nil,
nil, 83, 85, 86, nil, nil, nil, nil, 644, nil,
nil, nil, nil, nil, 96, 97, nil, 228, 896, 231,
474, nil, 479, 904, 492, 494, 495, 1076, 499, 1077,
502, 505, 323 ]
racc_reduce_table = [
0, 0, :racc_error,
0, 150, :_reduce_1,
2, 148, :_reduce_2,
2, 149, :_reduce_3,
0, 151, :_reduce_4,
1, 151, :_reduce_5,
3, 151, :_reduce_6,
2, 151, :_reduce_7,
1, 153, :_reduce_none,
2, 153, :_reduce_9,
3, 156, :_reduce_10,
4, 157, :_reduce_11,
2, 158, :_reduce_12,
0, 162, :_reduce_13,
1, 162, :_reduce_14,
3, 162, :_reduce_15,
2, 162, :_reduce_16,
1, 163, :_reduce_none,
2, 163, :_reduce_18,
0, 174, :_reduce_19,
4, 155, :_reduce_20,
3, 155, :_reduce_21,
3, 155, :_reduce_22,
3, 155, :_reduce_23,
2, 155, :_reduce_24,
3, 155, :_reduce_25,
3, 155, :_reduce_26,
3, 155, :_reduce_27,
3, 155, :_reduce_28,
3, 155, :_reduce_29,
4, 155, :_reduce_30,
1, 155, :_reduce_none,
3, 155, :_reduce_32,
3, 155, :_reduce_33,
5, 155, :_reduce_34,
3, 155, :_reduce_35,
1, 155, :_reduce_none,
3, 167, :_reduce_37,
3, 167, :_reduce_38,
6, 167, :_reduce_39,
5, 167, :_reduce_40,
5, 167, :_reduce_41,
5, 167, :_reduce_42,
5, 167, :_reduce_43,
4, 167, :_reduce_44,
6, 167, :_reduce_45,
4, 167, :_reduce_46,
6, 167, :_reduce_47,
3, 167, :_reduce_48,
1, 175, :_reduce_none,
3, 175, :_reduce_50,
1, 175, :_reduce_none,
1, 173, :_reduce_none,
3, 173, :_reduce_53,
3, 173, :_reduce_54,
3, 173, :_reduce_55,
2, 173, :_reduce_56,
0, 189, :_reduce_57,
4, 173, :_reduce_58,
0, 190, :_reduce_59,
4, 173, :_reduce_60,
1, 173, :_reduce_none,
1, 166, :_reduce_none,
0, 194, :_reduce_63,
3, 191, :_reduce_64,
1, 193, :_reduce_65,
2, 181, :_reduce_66,
0, 198, :_reduce_67,
5, 185, :_reduce_68,
1, 169, :_reduce_none,
1, 169, :_reduce_none,
1, 199, :_reduce_none,
4, 199, :_reduce_72,
0, 206, :_reduce_73,
4, 203, :_reduce_74,
1, 205, :_reduce_none,
2, 183, :_reduce_76,
3, 183, :_reduce_77,
4, 183, :_reduce_78,
5, 183, :_reduce_79,
4, 183, :_reduce_80,
5, 183, :_reduce_81,
2, 183, :_reduce_82,
2, 183, :_reduce_83,
2, 183, :_reduce_84,
2, 183, :_reduce_85,
2, 183, :_reduce_86,
1, 168, :_reduce_87,
3, 168, :_reduce_88,
1, 211, :_reduce_89,
3, 211, :_reduce_90,
1, 210, :_reduce_none,
2, 210, :_reduce_92,
3, 210, :_reduce_93,
5, 210, :_reduce_94,
2, 210, :_reduce_95,
4, 210, :_reduce_96,
2, 210, :_reduce_97,
4, 210, :_reduce_98,
1, 210, :_reduce_99,
3, 210, :_reduce_100,
1, 214, :_reduce_none,
3, 214, :_reduce_102,
2, 213, :_reduce_103,
3, 213, :_reduce_104,
1, 216, :_reduce_105,
3, 216, :_reduce_106,
1, 215, :_reduce_107,
1, 215, :_reduce_108,
4, 215, :_reduce_109,
3, 215, :_reduce_110,
3, 215, :_reduce_111,
3, 215, :_reduce_112,
3, 215, :_reduce_113,
2, 215, :_reduce_114,
1, 215, :_reduce_115,
1, 170, :_reduce_116,
1, 170, :_reduce_117,
4, 170, :_reduce_118,
3, 170, :_reduce_119,
3, 170, :_reduce_120,
3, 170, :_reduce_121,
3, 170, :_reduce_122,
2, 170, :_reduce_123,
1, 170, :_reduce_124,
1, 219, :_reduce_125,
1, 219, :_reduce_none,
2, 220, :_reduce_127,
1, 220, :_reduce_128,
3, 220, :_reduce_129,
1, 195, :_reduce_none,
1, 195, :_reduce_none,
1, 195, :_reduce_none,
1, 195, :_reduce_none,
1, 195, :_reduce_none,
1, 164, :_reduce_135,
1, 164, :_reduce_none,
1, 165, :_reduce_137,
0, 224, :_reduce_138,
4, 165, :_reduce_139,
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, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
1, 222, :_reduce_none,
3, 184, :_reduce_211,
3, 184, :_reduce_212,
6, 184, :_reduce_213,
5, 184, :_reduce_214,
5, 184, :_reduce_215,
5, 184, :_reduce_216,
5, 184, :_reduce_217,
4, 184, :_reduce_218,
3, 184, :_reduce_219,
3, 184, :_reduce_220,
3, 184, :_reduce_221,
2, 184, :_reduce_222,
2, 184, :_reduce_223,
2, 184, :_reduce_224,
2, 184, :_reduce_225,
3, 184, :_reduce_226,
3, 184, :_reduce_227,
3, 184, :_reduce_228,
3, 184, :_reduce_229,
3, 184, :_reduce_230,
3, 184, :_reduce_231,
4, 184, :_reduce_232,
2, 184, :_reduce_233,
2, 184, :_reduce_234,
3, 184, :_reduce_235,
3, 184, :_reduce_236,
3, 184, :_reduce_237,
3, 184, :_reduce_238,
1, 184, :_reduce_none,
3, 184, :_reduce_240,
3, 184, :_reduce_241,
3, 184, :_reduce_242,
3, 184, :_reduce_243,
3, 184, :_reduce_244,
2, 184, :_reduce_245,
2, 184, :_reduce_246,
3, 184, :_reduce_247,
3, 184, :_reduce_248,
3, 184, :_reduce_249,
3, 184, :_reduce_250,
3, 184, :_reduce_251,
6, 184, :_reduce_252,
4, 184, :_reduce_253,
6, 184, :_reduce_254,
4, 184, :_reduce_255,
6, 184, :_reduce_256,
1, 184, :_reduce_none,
1, 229, :_reduce_none,
1, 229, :_reduce_none,
1, 229, :_reduce_none,
1, 229, :_reduce_none,
3, 227, :_reduce_262,
3, 227, :_reduce_263,
1, 230, :_reduce_none,
1, 231, :_reduce_none,
2, 231, :_reduce_none,
4, 231, :_reduce_267,
2, 231, :_reduce_268,
1, 225, :_reduce_none,
3, 225, :_reduce_270,
3, 236, :_reduce_271,
5, 236, :_reduce_272,
3, 236, :_reduce_273,
0, 238, :_reduce_274,
1, 238, :_reduce_none,
0, 178, :_reduce_276,
1, 178, :_reduce_none,
2, 178, :_reduce_none,
4, 178, :_reduce_279,
2, 178, :_reduce_280,
1, 209, :_reduce_281,
2, 209, :_reduce_282,
2, 209, :_reduce_283,
4, 209, :_reduce_284,
1, 209, :_reduce_285,
0, 241, :_reduce_286,
2, 202, :_reduce_287,
2, 240, :_reduce_288,
1, 240, :_reduce_289,
2, 239, :_reduce_290,
0, 239, :_reduce_291,
1, 233, :_reduce_292,
2, 233, :_reduce_293,
3, 233, :_reduce_294,
4, 233, :_reduce_295,
1, 172, :_reduce_296,
1, 172, :_reduce_none,
3, 171, :_reduce_298,
4, 171, :_reduce_299,
2, 171, :_reduce_300,
1, 228, :_reduce_none,
1, 228, :_reduce_none,
1, 228, :_reduce_none,
1, 228, :_reduce_none,
1, 228, :_reduce_none,
1, 228, :_reduce_none,
1, 228, :_reduce_none,
1, 228, :_reduce_none,
1, 228, :_reduce_none,
1, 228, :_reduce_none,
1, 228, :_reduce_311,
0, 263, :_reduce_312,
4, 228, :_reduce_313,
0, 264, :_reduce_314,
4, 228, :_reduce_315,
0, 265, :_reduce_316,
4, 228, :_reduce_317,
3, 228, :_reduce_318,
3, 228, :_reduce_319,
2, 228, :_reduce_320,
3, 228, :_reduce_321,
3, 228, :_reduce_322,
1, 228, :_reduce_323,
4, 228, :_reduce_324,
3, 228, :_reduce_325,
1, 228, :_reduce_326,
5, 228, :_reduce_327,
4, 228, :_reduce_328,
3, 228, :_reduce_329,
2, 228, :_reduce_330,
1, 228, :_reduce_none,
2, 228, :_reduce_332,
1, 228, :_reduce_none,
6, 228, :_reduce_334,
6, 228, :_reduce_335,
4, 228, :_reduce_336,
4, 228, :_reduce_337,
5, 228, :_reduce_338,
4, 228, :_reduce_339,
5, 228, :_reduce_340,
6, 228, :_reduce_341,
0, 266, :_reduce_342,
6, 228, :_reduce_343,
0, 267, :_reduce_344,
7, 228, :_reduce_345,
0, 268, :_reduce_346,
5, 228, :_reduce_347,
4, 228, :_reduce_348,
4, 228, :_reduce_349,
1, 228, :_reduce_350,
1, 228, :_reduce_351,
1, 228, :_reduce_352,
1, 228, :_reduce_353,
1, 177, :_reduce_none,
1, 208, :_reduce_355,
1, 255, :_reduce_none,
1, 255, :_reduce_none,
2, 255, :_reduce_358,
1, 192, :_reduce_none,
1, 192, :_reduce_none,
1, 256, :_reduce_none,
5, 256, :_reduce_362,
1, 160, :_reduce_none,
2, 160, :_reduce_364,
1, 259, :_reduce_none,
1, 259, :_reduce_none,
1, 269, :_reduce_367,
3, 269, :_reduce_368,
1, 272, :_reduce_369,
3, 272, :_reduce_370,
1, 271, :_reduce_none,
3, 271, :_reduce_372,
5, 271, :_reduce_373,
1, 271, :_reduce_374,
3, 271, :_reduce_375,
2, 273, :_reduce_376,
1, 273, :_reduce_377,
1, 274, :_reduce_none,
1, 274, :_reduce_none,
4, 277, :_reduce_380,
2, 277, :_reduce_381,
2, 277, :_reduce_382,
1, 277, :_reduce_383,
2, 281, :_reduce_384,
0, 281, :_reduce_385,
1, 282, :_reduce_none,
6, 283, :_reduce_387,
8, 283, :_reduce_388,
4, 283, :_reduce_389,
6, 283, :_reduce_390,
4, 283, :_reduce_391,
2, 283, :_reduce_none,
6, 283, :_reduce_393,
2, 283, :_reduce_394,
4, 283, :_reduce_395,
6, 283, :_reduce_396,
2, 283, :_reduce_397,
4, 283, :_reduce_398,
2, 283, :_reduce_399,
4, 283, :_reduce_400,
1, 283, :_reduce_none,
0, 287, :_reduce_402,
1, 287, :_reduce_403,
3, 288, :_reduce_404,
4, 288, :_reduce_405,
1, 289, :_reduce_406,
4, 289, :_reduce_407,
1, 290, :_reduce_408,
3, 290, :_reduce_409,
1, 291, :_reduce_410,
1, 291, :_reduce_none,
0, 295, :_reduce_412,
0, 296, :_reduce_413,
5, 254, :_reduce_414,
4, 293, :_reduce_415,
1, 293, :_reduce_416,
0, 299, :_reduce_417,
4, 294, :_reduce_418,
0, 300, :_reduce_419,
4, 294, :_reduce_420,
0, 302, :_reduce_421,
4, 298, :_reduce_422,
2, 200, :_reduce_423,
4, 200, :_reduce_424,
5, 200, :_reduce_425,
5, 200, :_reduce_426,
2, 253, :_reduce_427,
4, 253, :_reduce_428,
4, 253, :_reduce_429,
3, 253, :_reduce_430,
3, 253, :_reduce_431,
3, 253, :_reduce_432,
2, 253, :_reduce_433,
1, 253, :_reduce_434,
4, 253, :_reduce_435,
0, 304, :_reduce_436,
4, 252, :_reduce_437,
0, 305, :_reduce_438,
4, 252, :_reduce_439,
0, 306, :_reduce_440,
3, 204, :_reduce_441,
0, 307, :_reduce_442,
0, 308, :_reduce_443,
4, 301, :_reduce_444,
5, 257, :_reduce_445,
1, 309, :_reduce_446,
1, 309, :_reduce_none,
0, 312, :_reduce_448,
0, 313, :_reduce_449,
7, 258, :_reduce_450,
1, 311, :_reduce_451,
1, 311, :_reduce_none,
1, 310, :_reduce_453,
3, 310, :_reduce_454,
3, 310, :_reduce_455,
1, 188, :_reduce_none,
2, 188, :_reduce_457,
3, 188, :_reduce_458,
1, 188, :_reduce_459,
1, 188, :_reduce_460,
1, 188, :_reduce_461,
1, 314, :_reduce_none,
3, 319, :_reduce_463,
1, 319, :_reduce_none,
3, 321, :_reduce_465,
1, 321, :_reduce_none,
1, 323, :_reduce_467,
1, 324, :_reduce_468,
1, 322, :_reduce_none,
1, 322, :_reduce_none,
4, 322, :_reduce_471,
4, 322, :_reduce_472,
4, 322, :_reduce_473,
3, 322, :_reduce_474,
4, 322, :_reduce_475,
4, 322, :_reduce_476,
4, 322, :_reduce_477,
3, 322, :_reduce_478,
3, 322, :_reduce_479,
3, 322, :_reduce_480,
2, 322, :_reduce_481,
0, 328, :_reduce_482,
4, 322, :_reduce_483,
2, 322, :_reduce_484,
0, 329, :_reduce_485,
4, 322, :_reduce_486,
1, 315, :_reduce_487,
1, 315, :_reduce_488,
2, 315, :_reduce_489,
3, 315, :_reduce_490,
5, 315, :_reduce_491,
2, 315, :_reduce_492,
4, 315, :_reduce_493,
1, 315, :_reduce_none,
2, 330, :_reduce_495,
3, 330, :_reduce_496,
1, 317, :_reduce_497,
3, 317, :_reduce_498,
5, 316, :_reduce_499,
2, 333, :_reduce_500,
1, 333, :_reduce_501,
1, 332, :_reduce_502,
3, 332, :_reduce_503,
1, 331, :_reduce_none,
3, 318, :_reduce_505,
1, 318, :_reduce_506,
2, 318, :_reduce_507,
1, 318, :_reduce_508,
1, 334, :_reduce_509,
3, 334, :_reduce_510,
2, 336, :_reduce_511,
1, 336, :_reduce_512,
1, 337, :_reduce_513,
3, 337, :_reduce_514,
2, 339, :_reduce_515,
1, 339, :_reduce_516,
2, 341, :_reduce_517,
1, 335, :_reduce_none,
1, 335, :_reduce_none,
1, 325, :_reduce_none,
3, 325, :_reduce_521,
3, 325, :_reduce_522,
2, 325, :_reduce_523,
2, 325, :_reduce_524,
1, 325, :_reduce_none,
1, 325, :_reduce_none,
1, 325, :_reduce_none,
2, 325, :_reduce_528,
2, 325, :_reduce_529,
1, 342, :_reduce_none,
1, 342, :_reduce_none,
1, 342, :_reduce_none,
1, 342, :_reduce_none,
1, 342, :_reduce_none,
1, 342, :_reduce_none,
1, 342, :_reduce_none,
1, 342, :_reduce_none,
1, 342, :_reduce_538,
1, 342, :_reduce_none,
1, 320, :_reduce_540,
2, 343, :_reduce_541,
2, 343, :_reduce_542,
4, 344, :_reduce_543,
2, 326, :_reduce_544,
3, 326, :_reduce_545,
1, 326, :_reduce_546,
6, 159, :_reduce_547,
0, 159, :_reduce_548,
1, 346, :_reduce_549,
1, 346, :_reduce_none,
1, 346, :_reduce_none,
2, 347, :_reduce_552,
1, 347, :_reduce_none,
2, 161, :_reduce_554,
1, 161, :_reduce_none,
1, 242, :_reduce_none,
1, 242, :_reduce_none,
1, 243, :_reduce_558,
1, 349, :_reduce_559,
2, 349, :_reduce_560,
3, 350, :_reduce_561,
1, 350, :_reduce_562,
1, 350, :_reduce_563,
3, 244, :_reduce_564,
4, 245, :_reduce_565,
3, 246, :_reduce_566,
0, 353, :_reduce_567,
3, 353, :_reduce_568,
1, 354, :_reduce_569,
2, 354, :_reduce_570,
3, 248, :_reduce_571,
0, 356, :_reduce_572,
3, 356, :_reduce_573,
3, 247, :_reduce_574,
3, 249, :_reduce_575,
0, 357, :_reduce_576,
3, 357, :_reduce_577,
0, 358, :_reduce_578,
3, 358, :_reduce_579,
0, 338, :_reduce_580,
2, 338, :_reduce_581,
0, 351, :_reduce_582,
2, 351, :_reduce_583,
0, 352, :_reduce_584,
2, 352, :_reduce_585,
1, 355, :_reduce_586,
2, 355, :_reduce_587,
0, 360, :_reduce_588,
4, 355, :_reduce_589,
1, 359, :_reduce_590,
1, 359, :_reduce_591,
1, 359, :_reduce_592,
1, 359, :_reduce_none,
1, 223, :_reduce_none,
1, 223, :_reduce_none,
1, 361, :_reduce_596,
3, 362, :_reduce_597,
1, 348, :_reduce_598,
2, 348, :_reduce_599,
1, 226, :_reduce_600,
1, 226, :_reduce_601,
1, 226, :_reduce_602,
1, 226, :_reduce_603,
1, 345, :_reduce_604,
1, 345, :_reduce_605,
1, 345, :_reduce_606,
1, 217, :_reduce_607,
1, 217, :_reduce_608,
1, 217, :_reduce_609,
1, 217, :_reduce_610,
1, 217, :_reduce_611,
1, 218, :_reduce_612,
1, 218, :_reduce_613,
1, 218, :_reduce_614,
1, 218, :_reduce_615,
1, 218, :_reduce_616,
1, 218, :_reduce_617,
1, 218, :_reduce_618,
1, 250, :_reduce_619,
1, 250, :_reduce_620,
1, 176, :_reduce_621,
1, 176, :_reduce_622,
1, 186, :_reduce_623,
1, 186, :_reduce_624,
0, 363, :_reduce_625,
4, 260, :_reduce_626,
0, 260, :_reduce_627,
1, 182, :_reduce_none,
1, 182, :_reduce_629,
3, 364, :_reduce_630,
1, 262, :_reduce_none,
0, 366, :_reduce_632,
3, 262, :_reduce_633,
4, 365, :_reduce_634,
2, 365, :_reduce_635,
2, 365, :_reduce_636,
1, 365, :_reduce_637,
1, 365, :_reduce_638,
2, 368, :_reduce_639,
0, 368, :_reduce_640,
6, 297, :_reduce_641,
8, 297, :_reduce_642,
4, 297, :_reduce_643,
6, 297, :_reduce_644,
4, 297, :_reduce_645,
6, 297, :_reduce_646,
2, 297, :_reduce_647,
4, 297, :_reduce_648,
6, 297, :_reduce_649,
2, 297, :_reduce_650,
4, 297, :_reduce_651,
2, 297, :_reduce_652,
4, 297, :_reduce_653,
1, 297, :_reduce_654,
0, 297, :_reduce_655,
1, 237, :_reduce_656,
1, 292, :_reduce_657,
1, 292, :_reduce_658,
1, 292, :_reduce_659,
1, 292, :_reduce_660,
1, 270, :_reduce_none,
1, 270, :_reduce_662,
1, 370, :_reduce_663,
1, 371, :_reduce_664,
3, 371, :_reduce_665,
1, 284, :_reduce_666,
3, 284, :_reduce_667,
1, 372, :_reduce_668,
2, 373, :_reduce_669,
1, 373, :_reduce_670,
2, 374, :_reduce_671,
1, 374, :_reduce_672,
1, 278, :_reduce_673,
3, 278, :_reduce_674,
1, 367, :_reduce_675,
3, 367, :_reduce_676,
1, 340, :_reduce_none,
1, 340, :_reduce_none,
2, 276, :_reduce_679,
2, 275, :_reduce_680,
1, 275, :_reduce_681,
3, 375, :_reduce_682,
3, 376, :_reduce_683,
1, 285, :_reduce_684,
3, 285, :_reduce_685,
1, 369, :_reduce_686,
3, 369, :_reduce_687,
1, 377, :_reduce_none,
1, 377, :_reduce_none,
2, 286, :_reduce_690,
1, 286, :_reduce_691,
1, 378, :_reduce_none,
1, 378, :_reduce_none,
2, 280, :_reduce_694,
1, 280, :_reduce_695,
2, 279, :_reduce_696,
0, 279, :_reduce_697,
1, 196, :_reduce_none,
3, 196, :_reduce_699,
0, 251, :_reduce_700,
2, 251, :_reduce_none,
1, 235, :_reduce_702,
3, 235, :_reduce_703,
3, 379, :_reduce_704,
2, 379, :_reduce_705,
1, 379, :_reduce_706,
4, 379, :_reduce_707,
2, 379, :_reduce_708,
1, 207, :_reduce_none,
1, 207, :_reduce_none,
1, 207, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 303, :_reduce_none,
1, 303, :_reduce_none,
1, 303, :_reduce_none,
1, 197, :_reduce_none,
1, 197, :_reduce_none,
1, 180, :_reduce_721,
1, 180, :_reduce_722,
0, 152, :_reduce_none,
1, 152, :_reduce_none,
0, 187, :_reduce_none,
1, 187, :_reduce_none,
2, 212, :_reduce_727,
2, 179, :_reduce_728,
2, 327, :_reduce_729,
0, 234, :_reduce_none,
1, 234, :_reduce_none,
1, 234, :_reduce_none,
1, 261, :_reduce_733,
1, 261, :_reduce_none,
1, 154, :_reduce_none,
2, 154, :_reduce_none,
0, 232, :_reduce_737 ]
racc_reduce_n = 738
racc_shift_n = 1231
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,
:tUPLUS => 63,
:tUMINUS => 64,
:tUNARY_NUM => 65,
:tPOW => 66,
:tCMP => 67,
:tEQ => 68,
:tEQQ => 69,
:tNEQ => 70,
:tGEQ => 71,
:tLEQ => 72,
:tANDOP => 73,
:tOROP => 74,
:tMATCH => 75,
:tNMATCH => 76,
:tDOT => 77,
:tDOT2 => 78,
:tDOT3 => 79,
:tAREF => 80,
:tASET => 81,
:tLSHFT => 82,
:tRSHFT => 83,
:tCOLON2 => 84,
:tCOLON3 => 85,
:tOP_ASGN => 86,
:tASSOC => 87,
:tLPAREN => 88,
:tLPAREN2 => 89,
:tRPAREN => 90,
:tLPAREN_ARG => 91,
:tLBRACK => 92,
:tLBRACK2 => 93,
:tRBRACK => 94,
:tLBRACE => 95,
:tLBRACE_ARG => 96,
:tSTAR => 97,
:tSTAR2 => 98,
:tAMPER => 99,
:tAMPER2 => 100,
:tTILDE => 101,
:tPERCENT => 102,
:tDIVIDE => 103,
:tDSTAR => 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,
:tREGEXP_OPT => 119,
:tWORDS_BEG => 120,
:tQWORDS_BEG => 121,
:tSYMBOLS_BEG => 122,
:tQSYMBOLS_BEG => 123,
:tSTRING_DBEG => 124,
:tSTRING_DVAR => 125,
:tSTRING_END => 126,
:tSTRING_DEND => 127,
:tSTRING => 128,
:tSYMBOL => 129,
:tNL => 130,
:tEH => 131,
:tCOLON => 132,
:tCOMMA => 133,
:tSPACE => 134,
:tSEMI => 135,
:tLAMBDA => 136,
:tLAMBEG => 137,
:tCHARACTER => 138,
:tRATIONAL => 139,
:tIMAGINARY => 140,
:tLABEL_END => 141,
:tANDDOT => 142,
:tBDOT2 => 143,
:tBDOT3 => 144,
:tEQL => 145,
:tLOWEST => 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",
"tUPLUS",
"tUMINUS",
"tUNARY_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",
"tDSTAR",
"tPLUS",
"tMINUS",
"tLT",
"tGT",
"tPIPE",
"tBANG",
"tCARET",
"tLCURLY",
"tRCURLY",
"tBACK_REF2",
"tSYMBEG",
"tSTRING_BEG",
"tXSTRING_BEG",
"tREGEXP_BEG",
"tREGEXP_OPT",
"tWORDS_BEG",
"tQWORDS_BEG",
"tSYMBOLS_BEG",
"tQSYMBOLS_BEG",
"tSTRING_DBEG",
"tSTRING_DVAR",
"tSTRING_END",
"tSTRING_DEND",
"tSTRING",
"tSYMBOL",
"tNL",
"tEH",
"tCOLON",
"tCOMMA",
"tSPACE",
"tSEMI",
"tLAMBDA",
"tLAMBEG",
"tCHARACTER",
"tRATIONAL",
"tIMAGINARY",
"tLABEL_END",
"tANDDOT",
"tBDOT2",
"tBDOT3",
"tEQL",
"tLOWEST",
"$start",
"program",
"top_compstmt",
"@1",
"top_stmts",
"opt_terms",
"top_stmt",
"terms",
"stmt",
"begin_block",
"bodystmt",
"compstmt",
"opt_rescue",
"opt_else",
"opt_ensure",
"stmts",
"stmt_or_begin",
"fitem",
"undef_list",
"expr_value",
"command_asgn",
"mlhs",
"command_call",
"lhs",
"mrhs",
"mrhs_arg",
"expr",
"@2",
"command_rhs",
"var_lhs",
"primary_value",
"opt_call_args",
"rbracket",
"call_op",
"defn_head",
"f_opt_paren_args",
"command",
"arg",
"defs_head",
"backref",
"opt_nl",
"p_top_expr_body",
"@3",
"@4",
"expr_value_do",
"do",
"def_name",
"@5",
"fname",
"singleton",
"dot_or_colon",
"@6",
"block_command",
"block_call",
"operation2",
"command_args",
"cmd_brace_block",
"brace_body",
"fcall",
"@7",
"operation",
"k_return",
"call_args",
"mlhs_basic",
"mlhs_inner",
"rparen",
"mlhs_head",
"mlhs_item",
"mlhs_node",
"mlhs_post",
"user_variable",
"keyword_variable",
"cname",
"cpath",
"op",
"reswords",
"symbol",
"@8",
"arg_rhs",
"simple_numeric",
"rel_expr",
"primary",
"relop",
"arg_value",
"aref_args",
"none",
"args",
"trailer",
"assocs",
"paren_args",
"args_forward",
"opt_paren_args",
"opt_block_arg",
"block_arg",
"@9",
"literal",
"strings",
"xstring",
"regexp",
"words",
"qwords",
"symbols",
"qsymbols",
"var_ref",
"assoc_list",
"brace_block",
"method_call",
"lambda",
"then",
"if_tail",
"case_body",
"p_case_body",
"for_var",
"superclass",
"term",
"f_arglist",
"@10",
"@11",
"@12",
"@13",
"@14",
"@15",
"f_marg",
"f_norm_arg",
"f_margs",
"f_marg_list",
"f_rest_marg",
"f_any_kwrest",
"f_kwrest",
"f_no_kwarg",
"block_args_tail",
"f_block_kwarg",
"opt_f_block_arg",
"f_block_arg",
"opt_block_args_tail",
"excessed_comma",
"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",
"@16",
"@17",
"f_args",
"do_block",
"@18",
"@19",
"do_body",
"@20",
"operation3",
"@21",
"@22",
"@23",
"@24",
"@25",
"cases",
"p_top_expr",
"p_cases",
"@26",
"@27",
"p_expr",
"p_args",
"p_find",
"p_args_tail",
"p_kwargs",
"p_as",
"p_variable",
"p_alt",
"p_expr_basic",
"p_lparen",
"p_lbracket",
"p_value",
"p_const",
"rbrace",
"@28",
"@29",
"p_args_head",
"p_arg",
"p_args_post",
"p_rest",
"p_kwarg",
"p_any_kwrest",
"p_kw",
"p_kw_label",
"string_contents",
"p_kwrest",
"kwrest_mark",
"p_kwnorest",
"p_primitive",
"p_var_ref",
"p_expr_ref",
"nonlocal_var",
"exc_list",
"exc_var",
"numeric",
"string",
"string1",
"xstring_contents",
"regexp_contents",
"word_list",
"word",
"string_content",
"symbol_list",
"qword_list",
"qsym_list",
"string_dvar",
"@30",
"ssym",
"dsym",
"@31",
"f_paren_args",
"args_tail",
"@32",
"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",
"assoc" ]
Racc_debug_parser = false
##### State transition tables end #####
# reduce 0 omitted
def _reduce_1(val, _values, result)
@current_arg_stack.push(nil)
@max_numparam_stack.push
result
end
def _reduce_2(val, _values, result)
result = val[1]
@current_arg_stack.pop
@max_numparam_stack.pop
result
end
def _reduce_3(val, _values, result)
result = @builder.compstmt(val[0])
result
end
def _reduce_4(val, _values, result)
result = []
result
end
def _reduce_5(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_6(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_7(val, _values, result)
result = [ val[1] ]
result
end
# reduce 8 omitted
def _reduce_9(val, _values, result)
result = @builder.preexe(val[0], *val[1])
result
end
def _reduce_10(val, _values, result)
result = val
result
end
def _reduce_11(val, _values, result)
rescue_bodies = val[1]
else_t, else_ = val[2]
ensure_t, ensure_ = val[3]
if rescue_bodies.empty? && !else_t.nil?
diagnostic :error, :useless_else, nil, else_t
end
result = @builder.begin_body(val[0],
rescue_bodies,
else_t, else_,
ensure_t, ensure_)
result
end
def _reduce_12(val, _values, result)
result = @builder.compstmt(val[0])
result
end
def _reduce_13(val, _values, result)
result = []
result
end
def _reduce_14(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_15(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_16(val, _values, result)
result = [ val[1] ]
result
end
# reduce 17 omitted
def _reduce_18(val, _values, result)
diagnostic :error, :begin_in_method, nil, val[0]
result
end
def _reduce_19(val, _values, result)
@lexer.state = :expr_fname
result
end
def _reduce_20(val, _values, result)
result = @builder.alias(val[0], val[1], val[3])
result
end
def _reduce_21(val, _values, result)
result = @builder.alias(val[0],
@builder.gvar(val[1]),
@builder.gvar(val[2]))
result
end
def _reduce_22(val, _values, result)
result = @builder.alias(val[0],
@builder.gvar(val[1]),
@builder.back_ref(val[2]))
result
end
def _reduce_23(val, _values, result)
diagnostic :error, :nth_ref_alias, nil, val[2]
result
end
def _reduce_24(val, _values, result)
result = @builder.undef_method(val[0], val[1])
result
end
def _reduce_25(val, _values, result)
result = @builder.condition_mod(val[0], nil,
val[1], val[2])
result
end
def _reduce_26(val, _values, result)
result = @builder.condition_mod(nil, val[0],
val[1], val[2])
result
end
def _reduce_27(val, _values, result)
result = @builder.loop_mod(:while, val[0], val[1], val[2])
result
end
def _reduce_28(val, _values, result)
result = @builder.loop_mod(:until, val[0], val[1], val[2])
result
end
def _reduce_29(val, _values, result)
rescue_body = @builder.rescue_body(val[1],
nil, nil, nil,
nil, val[2])
result = @builder.begin_body(val[0], [ rescue_body ])
result
end
def _reduce_30(val, _values, result)
result = @builder.postexe(val[0], val[1], val[2], val[3])
result
end
# reduce 31 omitted
def _reduce_32(val, _values, result)
result = @builder.multi_assign(val[0], val[1], val[2])
result
end
def _reduce_33(val, _values, result)
result = @builder.assign(val[0], val[1],
@builder.array(nil, val[2], nil))
result
end
def _reduce_34(val, _values, result)
rescue_body = @builder.rescue_body(val[3],
nil, nil, nil,
nil, val[4])
begin_body = @builder.begin_body(val[2], [ rescue_body ])
result = @builder.multi_assign(val[0], val[1], begin_body)
result
end
def _reduce_35(val, _values, result)
result = @builder.multi_assign(val[0], val[1], val[2])
result
end
# reduce 36 omitted
def _reduce_37(val, _values, result)
result = @builder.assign(val[0], val[1], val[2])
result
end
def _reduce_38(val, _values, result)
result = @builder.op_assign(val[0], val[1], val[2])
result
end
def _reduce_39(val, _values, result)
result = @builder.op_assign(
@builder.index(
val[0], val[1], val[2], val[3]),
val[4], val[5])
result
end
def _reduce_40(val, _values, result)
result = @builder.op_assign(
@builder.call_method(
val[0], val[1], val[2]),
val[3], val[4])
result
end
def _reduce_41(val, _values, result)
result = @builder.op_assign(
@builder.call_method(
val[0], val[1], val[2]),
val[3], val[4])
result
end
def _reduce_42(val, _values, result)
const = @builder.const_op_assignable(
@builder.const_fetch(val[0], val[1], val[2]))
result = @builder.op_assign(const, val[3], val[4])
result
end
def _reduce_43(val, _values, result)
result = @builder.op_assign(
@builder.call_method(
val[0], val[1], val[2]),
val[3], val[4])
result
end
def _reduce_44(val, _values, result)
_def_t, name_t = val[0]
endless_method_name(name_t)
result = @builder.def_endless_method(*val[0],
val[1], val[2], val[3])
@lexer.cmdarg.pop
@lexer.cond.pop
@static_env.unextend
@context.pop
@current_arg_stack.pop
result
end
def _reduce_45(val, _values, result)
_def_t, name_t = val[0]
endless_method_name(name_t)
rescue_body = @builder.rescue_body(val[4],
nil, nil, nil,
nil, val[5])
method_body = @builder.begin_body(val[3], [ rescue_body ])
result = @builder.def_endless_method(*val[0],
val[1], val[2], method_body)
@lexer.cmdarg.pop
@lexer.cond.pop
@static_env.unextend
@context.pop
@current_arg_stack.pop
result
end
def _reduce_46(val, _values, result)
_def_t, _recv, _dot_t, name_t = val[0]
endless_method_name(name_t)
result = @builder.def_endless_singleton(*val[0],
val[1], val[2], val[3])
@lexer.cmdarg.pop
@lexer.cond.pop
@static_env.unextend
@context.pop
@current_arg_stack.pop
result
end
def _reduce_47(val, _values, result)
_def_t, _recv, _dot_t, name_t = val[0]
endless_method_name(name_t)
rescue_body = @builder.rescue_body(val[4],
nil, nil, nil,
nil, val[5])
method_body = @builder.begin_body(val[3], [ rescue_body ])
result = @builder.def_endless_singleton(*val[0],
val[1], val[2], method_body)
@lexer.cmdarg.pop
@lexer.cond.pop
@static_env.unextend
@context.pop
@current_arg_stack.pop
result
end
def _reduce_48(val, _values, result)
@builder.op_assign(val[0], val[1], val[2])
result
end
# reduce 49 omitted
def _reduce_50(val, _values, result)
rescue_body = @builder.rescue_body(val[1],
nil, nil, nil,
nil, val[2])
result = @builder.begin_body(val[0], [ rescue_body ])
result
end
# reduce 51 omitted
# reduce 52 omitted
def _reduce_53(val, _values, result)
result = @builder.logical_op(:and, val[0], val[1], val[2])
result
end
def _reduce_54(val, _values, result)
result = @builder.logical_op(:or, val[0], val[1], val[2])
result
end
def _reduce_55(val, _values, result)
result = @builder.not_op(val[0], nil, val[2], nil)
result
end
def _reduce_56(val, _values, result)
result = @builder.not_op(val[0], nil, val[1], nil)
result
end
def _reduce_57(val, _values, result)
@lexer.state = :expr_beg
@lexer.command_start = false
@pattern_variables.push
result = @lexer.in_kwarg
@lexer.in_kwarg = true
result
end
def _reduce_58(val, _values, result)
@pattern_variables.pop
@lexer.in_kwarg = val[2]
result = @builder.match_pattern(val[0], val[1], val[3])
result
end
def _reduce_59(val, _values, result)
@lexer.state = :expr_beg
@lexer.command_start = false
@pattern_variables.push
result = @lexer.in_kwarg
@lexer.in_kwarg = true
result
end
def _reduce_60(val, _values, result)
@pattern_variables.pop
@lexer.in_kwarg = val[2]
result = @builder.match_pattern_p(val[0], val[1], val[3])
result
end
# reduce 61 omitted
# reduce 62 omitted
def _reduce_63(val, _values, result)
@lexer.cond.push(true)
result
end
def _reduce_64(val, _values, result)
@lexer.cond.pop
result = [ val[1], val[2] ]
result
end
def _reduce_65(val, _values, result)
@static_env.extend_static
@lexer.cmdarg.push(false)
@lexer.cond.push(false)
@current_arg_stack.push(nil)
result = val[0]
result
end
def _reduce_66(val, _values, result)
@context.push(:def)
result = [ val[0], val[1] ]
result
end
def _reduce_67(val, _values, result)
@lexer.state = :expr_fname
result
end
def _reduce_68(val, _values, result)
@context.push(:defs)
result = [ val[0], val[1], val[2], val[4] ]
result
end
# reduce 69 omitted
# reduce 70 omitted
# reduce 71 omitted
def _reduce_72(val, _values, result)
result = @builder.call_method(val[0], val[1], val[2],
nil, val[3], nil)
result
end
def _reduce_73(val, _values, result)
@context.push(:block)
result
end
def _reduce_74(val, _values, result)
result = [ val[0], *val[2], val[3] ]
@context.pop
result
end
# reduce 75 omitted
def _reduce_76(val, _values, result)
result = @builder.call_method(nil, nil, val[0],
nil, val[1], nil)
result
end
def _reduce_77(val, _values, result)
method_call = @builder.call_method(nil, nil, val[0],
nil, val[1], nil)
begin_t, args, body, end_t = val[2]
result = @builder.block(method_call,
begin_t, args, body, end_t)
result
end
def _reduce_78(val, _values, result)
result = @builder.call_method(val[0], val[1], val[2],
nil, val[3], nil)
result
end
def _reduce_79(val, _values, result)
method_call = @builder.call_method(val[0], val[1], val[2],
nil, val[3], nil)
begin_t, args, body, end_t = val[4]
result = @builder.block(method_call,
begin_t, args, body, end_t)
result
end
def _reduce_80(val, _values, result)
result = @builder.call_method(val[0], val[1], val[2],
nil, val[3], nil)
result
end
def _reduce_81(val, _values, result)
method_call = @builder.call_method(val[0], val[1], val[2],
nil, val[3], nil)
begin_t, args, body, end_t = val[4]
result = @builder.block(method_call,
begin_t, args, body, end_t)
result
end
def _reduce_82(val, _values, result)
result = @builder.keyword_cmd(:super, val[0],
nil, val[1], nil)
result
end
def _reduce_83(val, _values, result)
result = @builder.keyword_cmd(:yield, val[0],
nil, val[1], nil)
result
end
def _reduce_84(val, _values, result)
result = @builder.keyword_cmd(:return, val[0],
nil, val[1], nil)
result
end
def _reduce_85(val, _values, result)
result = @builder.keyword_cmd(:break, val[0],
nil, val[1], nil)
result
end
def _reduce_86(val, _values, result)
result = @builder.keyword_cmd(:next, val[0],
nil, val[1], nil)
result
end
def _reduce_87(val, _values, result)
result = @builder.multi_lhs(nil, val[0], nil)
result
end
def _reduce_88(val, _values, result)
result = @builder.begin(val[0], val[1], val[2])
result
end
def _reduce_89(val, _values, result)
result = @builder.multi_lhs(nil, val[0], nil)
result
end
def _reduce_90(val, _values, result)
result = @builder.multi_lhs(val[0], val[1], val[2])
result
end
# reduce 91 omitted
def _reduce_92(val, _values, result)
result = val[0].
push(val[1])
result
end
def _reduce_93(val, _values, result)
result = val[0].
push(@builder.splat(val[1], val[2]))
result
end
def _reduce_94(val, _values, result)
result = val[0].
push(@builder.splat(val[1], val[2])).
concat(val[4])
result
end
def _reduce_95(val, _values, result)
result = val[0].
push(@builder.splat(val[1]))
result
end
def _reduce_96(val, _values, result)
result = val[0].
push(@builder.splat(val[1])).
concat(val[3])
result
end
def _reduce_97(val, _values, result)
result = [ @builder.splat(val[0], val[1]) ]
result
end
def _reduce_98(val, _values, result)
result = [ @builder.splat(val[0], val[1]),
*val[3] ]
result
end
def _reduce_99(val, _values, result)
result = [ @builder.splat(val[0]) ]
result
end
def _reduce_100(val, _values, result)
result = [ @builder.splat(val[0]),
*val[2] ]
result
end
# reduce 101 omitted
def _reduce_102(val, _values, result)
result = @builder.begin(val[0], val[1], val[2])
result
end
def _reduce_103(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_104(val, _values, result)
result = val[0] << val[1]
result
end
def _reduce_105(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_106(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_107(val, _values, result)
result = @builder.assignable(val[0])
result
end
def _reduce_108(val, _values, result)
result = @builder.assignable(val[0])
result
end
def _reduce_109(val, _values, result)
result = @builder.index_asgn(val[0], val[1], val[2], val[3])
result
end
def _reduce_110(val, _values, result)
if (val[1][0] == :anddot)
diagnostic :error, :csend_in_lhs_of_masgn, nil, val[1]
end
result = @builder.attr_asgn(val[0], val[1], val[2])
result
end
def _reduce_111(val, _values, result)
result = @builder.attr_asgn(val[0], val[1], val[2])
result
end
def _reduce_112(val, _values, result)
if (val[1][0] == :anddot)
diagnostic :error, :csend_in_lhs_of_masgn, nil, val[1]
end
result = @builder.attr_asgn(val[0], val[1], val[2])
result
end
def _reduce_113(val, _values, result)
result = @builder.assignable(
@builder.const_fetch(val[0], val[1], val[2]))
result
end
def _reduce_114(val, _values, result)
result = @builder.assignable(
@builder.const_global(val[0], val[1]))
result
end
def _reduce_115(val, _values, result)
result = @builder.assignable(val[0])
result
end
def _reduce_116(val, _values, result)
result = @builder.assignable(val[0])
result
end
def _reduce_117(val, _values, result)
result = @builder.assignable(val[0])
result
end
def _reduce_118(val, _values, result)
result = @builder.index_asgn(val[0], val[1], val[2], val[3])
result
end
def _reduce_119(val, _values, result)
result = @builder.attr_asgn(val[0], val[1], val[2])
result
end
def _reduce_120(val, _values, result)
result = @builder.attr_asgn(val[0], val[1], val[2])
result
end
def _reduce_121(val, _values, result)
result = @builder.attr_asgn(val[0], val[1], val[2])
result
end
def _reduce_122(val, _values, result)
result = @builder.assignable(
@builder.const_fetch(val[0], val[1], val[2]))
result
end
def _reduce_123(val, _values, result)
result = @builder.assignable(
@builder.const_global(val[0], val[1]))
result
end
def _reduce_124(val, _values, result)
result = @builder.assignable(val[0])
result
end
def _reduce_125(val, _values, result)
diagnostic :error, :module_name_const, nil, val[0]
result
end
# reduce 126 omitted
def _reduce_127(val, _values, result)
result = @builder.const_global(val[0], val[1])
result
end
def _reduce_128(val, _values, result)
result = @builder.const(val[0])
result
end
def _reduce_129(val, _values, result)
result = @builder.const_fetch(val[0], val[1], val[2])
result
end
# reduce 130 omitted
# reduce 131 omitted
# reduce 132 omitted
# reduce 133 omitted
# reduce 134 omitted
def _reduce_135(val, _values, result)
result = @builder.symbol_internal(val[0])
result
end
# reduce 136 omitted
def _reduce_137(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_138(val, _values, result)
@lexer.state = :expr_fname
result
end
def _reduce_139(val, _values, result)
result = val[0] << val[3]
result
end
# 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
# reduce 207 omitted
# reduce 208 omitted
# reduce 209 omitted
# reduce 210 omitted
def _reduce_211(val, _values, result)
result = @builder.assign(val[0], val[1], val[2])
result
end
def _reduce_212(val, _values, result)
result = @builder.op_assign(val[0], val[1], val[2])
result
end
def _reduce_213(val, _values, result)
result = @builder.op_assign(
@builder.index(
val[0], val[1], val[2], val[3]),
val[4], val[5])
result
end
def _reduce_214(val, _values, result)
result = @builder.op_assign(
@builder.call_method(
val[0], val[1], val[2]),
val[3], val[4])
result
end
def _reduce_215(val, _values, result)
result = @builder.op_assign(
@builder.call_method(
val[0], val[1], val[2]),
val[3], val[4])
result
end
def _reduce_216(val, _values, result)
result = @builder.op_assign(
@builder.call_method(
val[0], val[1], val[2]),
val[3], val[4])
result
end
def _reduce_217(val, _values, result)
const = @builder.const_op_assignable(
@builder.const_fetch(val[0], val[1], val[2]))
result = @builder.op_assign(const, val[3], val[4])
result
end
def _reduce_218(val, _values, result)
const = @builder.const_op_assignable(
@builder.const_global(val[0], val[1]))
result = @builder.op_assign(const, val[2], val[3])
result
end
def _reduce_219(val, _values, result)
result = @builder.op_assign(val[0], val[1], val[2])
result
end
def _reduce_220(val, _values, result)
result = @builder.range_inclusive(val[0], val[1], val[2])
result
end
def _reduce_221(val, _values, result)
result = @builder.range_exclusive(val[0], val[1], val[2])
result
end
def _reduce_222(val, _values, result)
result = @builder.range_inclusive(val[0], val[1], nil)
result
end
def _reduce_223(val, _values, result)
result = @builder.range_exclusive(val[0], val[1], nil)
result
end
def _reduce_224(val, _values, result)
result = @builder.range_inclusive(nil, val[0], val[1])
result
end
def _reduce_225(val, _values, result)
result = @builder.range_exclusive(nil, val[0], val[1])
result
end
def _reduce_226(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_227(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_228(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_229(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_230(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_231(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_232(val, _values, result)
result = @builder.unary_op(val[0],
@builder.binary_op(
val[1], val[2], val[3]))
result
end
def _reduce_233(val, _values, result)
result = @builder.unary_op(val[0], val[1])
result
end
def _reduce_234(val, _values, result)
result = @builder.unary_op(val[0], val[1])
result
end
def _reduce_235(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_236(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_237(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_238(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
# reduce 239 omitted
def _reduce_240(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_241(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_242(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_243(val, _values, result)
result = @builder.match_op(val[0], val[1], val[2])
result
end
def _reduce_244(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_245(val, _values, result)
result = @builder.not_op(val[0], nil, val[1], nil)
result
end
def _reduce_246(val, _values, result)
result = @builder.unary_op(val[0], val[1])
result
end
def _reduce_247(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_248(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_249(val, _values, result)
result = @builder.logical_op(:and, val[0], val[1], val[2])
result
end
def _reduce_250(val, _values, result)
result = @builder.logical_op(:or, val[0], val[1], val[2])
result
end
def _reduce_251(val, _values, result)
result = @builder.keyword_cmd(:defined?, val[0], nil, [ val[2] ], nil)
result
end
def _reduce_252(val, _values, result)
result = @builder.ternary(val[0], val[1],
val[2], val[4], val[5])
result
end
def _reduce_253(val, _values, result)
_def_t, name_t = val[0]
endless_method_name(name_t)
result = @builder.def_endless_method(*val[0],
val[1], val[2], val[3])
@lexer.cmdarg.pop
@lexer.cond.pop
@static_env.unextend
@context.pop
@current_arg_stack.pop
result
end
def _reduce_254(val, _values, result)
_def_t, name_t = val[0]
endless_method_name(name_t)
rescue_body = @builder.rescue_body(val[4],
nil, nil, nil,
nil, val[5])
method_body = @builder.begin_body(val[3], [ rescue_body ])
result = @builder.def_endless_method(*val[0],
val[1], val[2], method_body)
@lexer.cmdarg.pop
@lexer.cond.pop
@static_env.unextend
@context.pop
@current_arg_stack.pop
result
end
def _reduce_255(val, _values, result)
_def_t, _recv, _dot_t, name_t = val[0]
endless_method_name(name_t)
result = @builder.def_endless_singleton(*val[0],
val[1], val[2], val[3])
@lexer.cmdarg.pop
@lexer.cond.pop
@static_env.unextend
@context.pop
@current_arg_stack.pop
result
end
def _reduce_256(val, _values, result)
_def_t, _recv, _dot_t, name_t = val[0]
endless_method_name(name_t)
rescue_body = @builder.rescue_body(val[4],
nil, nil, nil,
nil, val[5])
method_body = @builder.begin_body(val[3], [ rescue_body ])
result = @builder.def_endless_singleton(*val[0],
val[1], val[2], method_body)
@lexer.cmdarg.pop
@lexer.cond.pop
@static_env.unextend
@context.pop
@current_arg_stack.pop
result
end
# reduce 257 omitted
# reduce 258 omitted
# reduce 259 omitted
# reduce 260 omitted
# reduce 261 omitted
def _reduce_262(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_263(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
# reduce 264 omitted
# reduce 265 omitted
# reduce 266 omitted
def _reduce_267(val, _values, result)
result = val[0] << @builder.associate(nil, val[2], nil)
result
end
def _reduce_268(val, _values, result)
result = [ @builder.associate(nil, val[0], nil) ]
result
end
# reduce 269 omitted
def _reduce_270(val, _values, result)
rescue_body = @builder.rescue_body(val[1],
nil, nil, nil,
nil, val[2])
result = @builder.begin_body(val[0], [ rescue_body ])
result
end
def _reduce_271(val, _values, result)
result = val
result
end
def _reduce_272(val, _values, result)
unless @static_env.declared_forward_args?
diagnostic :error, :unexpected_token, { :token => 'tBDOT3' } , val[3]
end
result = [val[0], [*val[1], @builder.forwarded_args(val[3])], val[4]]
result
end
def _reduce_273(val, _values, result)
unless @static_env.declared_forward_args?
diagnostic :error, :unexpected_token, { :token => 'tBDOT3' } , val[1]
end
result = [val[0], [@builder.forwarded_args(val[1])], val[2]]
result
end
def _reduce_274(val, _values, result)
result = [ nil, [], nil ]
result
end
# reduce 275 omitted
def _reduce_276(val, _values, result)
result = []
result
end
# reduce 277 omitted
# reduce 278 omitted
def _reduce_279(val, _values, result)
result = val[0] << @builder.associate(nil, val[2], nil)
result
end
def _reduce_280(val, _values, result)
result = [ @builder.associate(nil, val[0], nil) ]
result
end
def _reduce_281(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_282(val, _values, result)
result = val[0].concat(val[1])
result
end
def _reduce_283(val, _values, result)
result = [ @builder.associate(nil, val[0], nil) ]
result.concat(val[1])
result
end
def _reduce_284(val, _values, result)
assocs = @builder.associate(nil, val[2], nil)
result = val[0] << assocs
result.concat(val[3])
result
end
def _reduce_285(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_286(val, _values, result)
# When branch gets invoked by RACC's lookahead
# and command args start with '[' or '('
# we need to put `true` to the cmdarg stack
# **before** `false` pushed by lexer
# m [], n
# ^
# Right here we have cmdarg [...0] because
# lexer pushed it on '['
# We need to modify cmdarg stack to [...10]
#
# For all other cases (like `m n` or `m n, []`) we simply put 1 to the stack
# and later lexer pushes corresponding bits on top of it.
last_token = @last_token[0]
lookahead = last_token == :tLBRACK || last_token == :tLPAREN_ARG
if lookahead
top = @lexer.cmdarg.pop
@lexer.cmdarg.push(true)
@lexer.cmdarg.push(top)
else
@lexer.cmdarg.push(true)
end
result
end
def _reduce_287(val, _values, result)
# 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.
last_token = @last_token[0]
lookahead = last_token == :tLBRACE_ARG
if lookahead
top = @lexer.cmdarg.pop
@lexer.cmdarg.pop
@lexer.cmdarg.push(top)
else
@lexer.cmdarg.pop
end
result = val[1]
result
end
def _reduce_288(val, _values, result)
result = @builder.block_pass(val[0], val[1])
result
end
def _reduce_289(val, _values, result)
if !@static_env.declared_anonymous_blockarg?
diagnostic :error, :no_anonymous_blockarg, nil, val[0]
end
result = @builder.block_pass(val[0], nil)
result
end
def _reduce_290(val, _values, result)
result = [ val[1] ]
result
end
def _reduce_291(val, _values, result)
result = []
result
end
def _reduce_292(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_293(val, _values, result)
result = [ @builder.splat(val[0], val[1]) ]
result
end
def _reduce_294(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_295(val, _values, result)
result = val[0] << @builder.splat(val[2], val[3])
result
end
def _reduce_296(val, _values, result)
result = @builder.array(nil, val[0], nil)
result
end
# reduce 297 omitted
def _reduce_298(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_299(val, _values, result)
result = val[0] << @builder.splat(val[2], val[3])
result
end
def _reduce_300(val, _values, result)
result = [ @builder.splat(val[0], val[1]) ]
result
end
# reduce 301 omitted
# reduce 302 omitted
# reduce 303 omitted
# reduce 304 omitted
# reduce 305 omitted
# reduce 306 omitted
# reduce 307 omitted
# reduce 308 omitted
# reduce 309 omitted
# reduce 310 omitted
def _reduce_311(val, _values, result)
result = @builder.call_method(nil, nil, val[0])
result
end
def _reduce_312(val, _values, result)
@lexer.cmdarg.push(false)
result
end
def _reduce_313(val, _values, result)
@lexer.cmdarg.pop
result = @builder.begin_keyword(val[0], val[2], val[3])
result
end
def _reduce_314(val, _values, result)
@lexer.state = :expr_endarg
result
end
def _reduce_315(val, _values, result)
result = @builder.begin(val[0], val[1], val[3])
result
end
def _reduce_316(val, _values, result)
@lexer.state = :expr_endarg
result
end
def _reduce_317(val, _values, result)
result = @builder.begin(val[0], nil, val[3])
result
end
def _reduce_318(val, _values, result)
result = @builder.begin(val[0], val[1], val[2])
result
end
def _reduce_319(val, _values, result)
result = @builder.const_fetch(val[0], val[1], val[2])
result
end
def _reduce_320(val, _values, result)
result = @builder.const_global(val[0], val[1])
result
end
def _reduce_321(val, _values, result)
result = @builder.array(val[0], val[1], val[2])
result
end
def _reduce_322(val, _values, result)
result = @builder.associate(val[0], val[1], val[2])
result
end
def _reduce_323(val, _values, result)
result = @builder.keyword_cmd(:return, val[0])
result
end
def _reduce_324(val, _values, result)
result = @builder.keyword_cmd(:yield, val[0], val[1], val[2], val[3])
result
end
def _reduce_325(val, _values, result)
result = @builder.keyword_cmd(:yield, val[0], val[1], [], val[2])
result
end
def _reduce_326(val, _values, result)
result = @builder.keyword_cmd(:yield, val[0])
result
end
def _reduce_327(val, _values, result)
result = @builder.keyword_cmd(:defined?, val[0],
val[2], [ val[3] ], val[4])
result
end
def _reduce_328(val, _values, result)
result = @builder.not_op(val[0], val[1], val[2], val[3])
result
end
def _reduce_329(val, _values, result)
result = @builder.not_op(val[0], val[1], nil, val[2])
result
end
def _reduce_330(val, _values, result)
method_call = @builder.call_method(nil, nil, val[0])
begin_t, args, body, end_t = val[1]
result = @builder.block(method_call,
begin_t, args, body, end_t)
result
end
# reduce 331 omitted
def _reduce_332(val, _values, result)
begin_t, args, body, end_t = val[1]
result = @builder.block(val[0],
begin_t, args, body, end_t)
result
end
# reduce 333 omitted
def _reduce_334(val, _values, result)
else_t, else_ = val[4]
result = @builder.condition(val[0], val[1], val[2],
val[3], else_t,
else_, val[5])
result
end
def _reduce_335(val, _values, result)
else_t, else_ = val[4]
result = @builder.condition(val[0], val[1], val[2],
else_, else_t,
val[3], val[5])
result
end
def _reduce_336(val, _values, result)
result = @builder.loop(:while, val[0], *val[1], val[2], val[3])
result
end
def _reduce_337(val, _values, result)
result = @builder.loop(:until, val[0], *val[1], val[2], val[3])
result
end
def _reduce_338(val, _values, result)
*when_bodies, (else_t, else_body) = *val[3]
result = @builder.case(val[0], val[1],
when_bodies, else_t, else_body,
val[4])
result
end
def _reduce_339(val, _values, result)
*when_bodies, (else_t, else_body) = *val[2]
result = @builder.case(val[0], nil,
when_bodies, else_t, else_body,
val[3])
result
end
def _reduce_340(val, _values, result)
*in_bodies, (else_t, else_body) = *val[3]
result = @builder.case_match(val[0], val[1],
in_bodies, else_t, else_body,
val[4])
result
end
def _reduce_341(val, _values, result)
result = @builder.for(val[0], val[1], val[2], *val[3], val[4], val[5])
result
end
def _reduce_342(val, _values, result)
@static_env.extend_static
@lexer.cmdarg.push(false)
@lexer.cond.push(false)
@context.push(:class)
result
end
def _reduce_343(val, _values, result)
unless @context.class_definition_allowed?
diagnostic :error, :class_in_def, nil, val[0]
end
lt_t, superclass = val[2]
result = @builder.def_class(val[0], val[1],
lt_t, superclass,
val[4], val[5])
@lexer.cmdarg.pop
@lexer.cond.pop
@static_env.unextend
@context.pop
result
end
def _reduce_344(val, _values, result)
@static_env.extend_static
@lexer.cmdarg.push(false)
@lexer.cond.push(false)
@context.push(:sclass)
result
end
def _reduce_345(val, _values, result)
result = @builder.def_sclass(val[0], val[1], val[2],
val[5], val[6])
@lexer.cmdarg.pop
@lexer.cond.pop
@static_env.unextend
@context.pop
result
end
def _reduce_346(val, _values, result)
@static_env.extend_static
@lexer.cmdarg.push(false)
@context.push(:module)
result
end
def _reduce_347(val, _values, result)
unless @context.module_definition_allowed?
diagnostic :error, :module_in_def, nil, val[0]
end
result = @builder.def_module(val[0], val[1],
val[3], val[4])
@lexer.cmdarg.pop
@static_env.unextend
@context.pop
result
end
def _reduce_348(val, _values, result)
result = @builder.def_method(*val[0], val[1],
val[2], val[3])
@lexer.cmdarg.pop
@lexer.cond.pop
@static_env.unextend
@context.pop
@current_arg_stack.pop
result
end
def _reduce_349(val, _values, result)
result = @builder.def_singleton(*val[0], val[1],
val[2], val[3])
@lexer.cmdarg.pop
@lexer.cond.pop
@static_env.unextend
@context.pop
@current_arg_stack.pop
result
end
def _reduce_350(val, _values, result)
result = @builder.keyword_cmd(:break, val[0])
result
end
def _reduce_351(val, _values, result)
result = @builder.keyword_cmd(:next, val[0])
result
end
def _reduce_352(val, _values, result)
result = @builder.keyword_cmd(:redo, val[0])
result
end
def _reduce_353(val, _values, result)
result = @builder.keyword_cmd(:retry, val[0])
result
end
# reduce 354 omitted
def _reduce_355(val, _values, result)
if @context.in_class?
diagnostic :error, :invalid_return, nil, val[0]
end
result
end
# reduce 356 omitted
# reduce 357 omitted
def _reduce_358(val, _values, result)
result = val[1]
result
end
# reduce 359 omitted
# reduce 360 omitted
# reduce 361 omitted
def _reduce_362(val, _values, result)
else_t, else_ = val[4]
result = [ val[0],
@builder.condition(val[0], val[1], val[2],
val[3], else_t,
else_, nil),
]
result
end
# reduce 363 omitted
def _reduce_364(val, _values, result)
result = val
result
end
# reduce 365 omitted
# reduce 366 omitted
def _reduce_367(val, _values, result)
result = @builder.arg(val[0])
result
end
def _reduce_368(val, _values, result)
result = @builder.multi_lhs(val[0], val[1], val[2])
result
end
def _reduce_369(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_370(val, _values, result)
result = val[0] << val[2]
result
end
# reduce 371 omitted
def _reduce_372(val, _values, result)
result = val[0].
push(val[2])
result
end
def _reduce_373(val, _values, result)
result = val[0].
push(val[2]).
concat(val[4])
result
end
def _reduce_374(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_375(val, _values, result)
result = [ val[0], *val[2] ]
result
end
def _reduce_376(val, _values, result)
result = @builder.restarg(val[0], val[1])
result
end
def _reduce_377(val, _values, result)
result = @builder.restarg(val[0])
result
end
# reduce 378 omitted
# reduce 379 omitted
def _reduce_380(val, _values, result)
result = val[0].concat(val[2]).concat(val[3])
result
end
def _reduce_381(val, _values, result)
result = val[0].concat(val[1])
result
end
def _reduce_382(val, _values, result)
result = val[0].concat(val[1])
result
end
def _reduce_383(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_384(val, _values, result)
result = val[1]
result
end
def _reduce_385(val, _values, result)
result = []
result
end
# reduce 386 omitted
def _reduce_387(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
def _reduce_388(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[6]).
concat(val[7])
result
end
def _reduce_389(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
def _reduce_390(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
def _reduce_391(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
# reduce 392 omitted
def _reduce_393(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
def _reduce_394(val, _values, result)
if val[1].empty? && val[0].size == 1
result = [@builder.procarg0(val[0][0])]
else
result = val[0].concat(val[1])
end
result
end
def _reduce_395(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
def _reduce_396(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
def _reduce_397(val, _values, result)
result = val[0].
concat(val[1])
result
end
def _reduce_398(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
def _reduce_399(val, _values, result)
result = val[0].
concat(val[1])
result
end
def _reduce_400(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
# reduce 401 omitted
def _reduce_402(val, _values, result)
result = @builder.args(nil, [], nil)
result
end
def _reduce_403(val, _values, result)
@lexer.state = :expr_value
result
end
def _reduce_404(val, _values, result)
@max_numparam_stack.has_ordinary_params!
@current_arg_stack.set(nil)
result = @builder.args(val[0], val[1], val[2])
result
end
def _reduce_405(val, _values, result)
@max_numparam_stack.has_ordinary_params!
@current_arg_stack.set(nil)
result = @builder.args(val[0], val[1].concat(val[2]), val[3])
result
end
def _reduce_406(val, _values, result)
result = []
result
end
def _reduce_407(val, _values, result)
result = val[2]
result
end
def _reduce_408(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_409(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_410(val, _values, result)
@static_env.declare val[0][0]
result = @builder.shadowarg(val[0])
result
end
# reduce 411 omitted
def _reduce_412(val, _values, result)
@static_env.extend_dynamic
@max_numparam_stack.push
@context.push(:lambda)
result
end
def _reduce_413(val, _values, result)
@context.pop
@lexer.cmdarg.push(false)
result
end
def _reduce_414(val, _values, result)
lambda_call = @builder.call_lambda(val[0])
args = @max_numparam_stack.has_numparams? ? @builder.numargs(@max_numparam_stack.top) : val[2]
begin_t, body, end_t = val[4]
@max_numparam_stack.pop
@static_env.unextend
@lexer.cmdarg.pop
result = @builder.block(lambda_call,
begin_t, args, body, end_t)
result
end
def _reduce_415(val, _values, result)
@max_numparam_stack.has_ordinary_params!
result = @builder.args(val[0], val[1].concat(val[2]), val[3])
result
end
def _reduce_416(val, _values, result)
if val[0].any?
@max_numparam_stack.has_ordinary_params!
end
result = @builder.args(nil, val[0], nil)
result
end
def _reduce_417(val, _values, result)
@context.push(:lambda)
result
end
def _reduce_418(val, _values, result)
result = [ val[0], val[2], val[3] ]
@context.pop
result
end
def _reduce_419(val, _values, result)
@context.push(:lambda)
result
end
def _reduce_420(val, _values, result)
result = [ val[0], val[2], val[3] ]
@context.pop
result
end
def _reduce_421(val, _values, result)
@context.push(:block)
result
end
def _reduce_422(val, _values, result)
result = [ val[0], *val[2], val[3] ]
@context.pop
result
end
def _reduce_423(val, _values, result)
begin_t, block_args, body, end_t = val[1]
result = @builder.block(val[0],
begin_t, block_args, body, end_t)
result
end
def _reduce_424(val, _values, result)
lparen_t, args, rparen_t = val[3]
result = @builder.call_method(val[0], val[1], val[2],
lparen_t, args, rparen_t)
result
end
def _reduce_425(val, _values, result)
lparen_t, args, rparen_t = val[3]
method_call = @builder.call_method(val[0], val[1], val[2],
lparen_t, args, rparen_t)
begin_t, args, body, end_t = val[4]
result = @builder.block(method_call,
begin_t, args, body, end_t)
result
end
def _reduce_426(val, _values, result)
method_call = @builder.call_method(val[0], val[1], val[2],
nil, val[3], nil)
begin_t, args, body, end_t = val[4]
result = @builder.block(method_call,
begin_t, args, body, end_t)
result
end
def _reduce_427(val, _values, result)
lparen_t, args, rparen_t = val[1]
result = @builder.call_method(nil, nil, val[0],
lparen_t, args, rparen_t)
result
end
def _reduce_428(val, _values, result)
lparen_t, args, rparen_t = val[3]
result = @builder.call_method(val[0], val[1], val[2],
lparen_t, args, rparen_t)
result
end
def _reduce_429(val, _values, result)
lparen_t, args, rparen_t = val[3]
result = @builder.call_method(val[0], val[1], val[2],
lparen_t, args, rparen_t)
result
end
def _reduce_430(val, _values, result)
result = @builder.call_method(val[0], val[1], val[2])
result
end
def _reduce_431(val, _values, result)
lparen_t, args, rparen_t = val[2]
result = @builder.call_method(val[0], val[1], nil,
lparen_t, args, rparen_t)
result
end
def _reduce_432(val, _values, result)
lparen_t, args, rparen_t = val[2]
result = @builder.call_method(val[0], val[1], nil,
lparen_t, args, rparen_t)
result
end
def _reduce_433(val, _values, result)
lparen_t, args, rparen_t = val[1]
result = @builder.keyword_cmd(:super, val[0],
lparen_t, args, rparen_t)
result
end
def _reduce_434(val, _values, result)
result = @builder.keyword_cmd(:zsuper, val[0])
result
end
def _reduce_435(val, _values, result)
result = @builder.index(val[0], val[1], val[2], val[3])
result
end
def _reduce_436(val, _values, result)
@context.push(:block)
result
end
def _reduce_437(val, _values, result)
result = [ val[0], *val[2], val[3] ]
@context.pop
result
end
def _reduce_438(val, _values, result)
@context.push(:block)
result
end
def _reduce_439(val, _values, result)
result = [ val[0], *val[2], val[3] ]
@context.pop
result
end
def _reduce_440(val, _values, result)
@static_env.extend_dynamic
@max_numparam_stack.push
result
end
def _reduce_441(val, _values, result)
args = @max_numparam_stack.has_numparams? ? @builder.numargs(@max_numparam_stack.top) : val[1]
result = [ args, val[2] ]
@max_numparam_stack.pop
@static_env.unextend
result
end
def _reduce_442(val, _values, result)
@static_env.extend_dynamic
@max_numparam_stack.push
result
end
def _reduce_443(val, _values, result)
@lexer.cmdarg.push(false)
result
end
def _reduce_444(val, _values, result)
args = @max_numparam_stack.has_numparams? ? @builder.numargs(@max_numparam_stack.top) : val[2]
result = [ args, val[3] ]
@max_numparam_stack.pop
@static_env.unextend
@lexer.cmdarg.pop
result
end
def _reduce_445(val, _values, result)
result = [ @builder.when(val[0], val[1], val[2], val[3]),
*val[4] ]
result
end
def _reduce_446(val, _values, result)
result = [ val[0] ]
result
end
# reduce 447 omitted
def _reduce_448(val, _values, result)
@lexer.state = :expr_beg
@lexer.command_start = false
@pattern_variables.push
@pattern_hash_keys.push
result = @lexer.in_kwarg
@lexer.in_kwarg = true
result
end
def _reduce_449(val, _values, result)
@pattern_variables.pop
@pattern_hash_keys.pop
@lexer.in_kwarg = val[1]
result
end
def _reduce_450(val, _values, result)
result = [ @builder.in_pattern(val[0], *val[2], val[3], val[5]),
*val[6] ]
result
end
def _reduce_451(val, _values, result)
result = [ val[0] ]
result
end
# reduce 452 omitted
def _reduce_453(val, _values, result)
result = [ val[0], nil ]
result
end
def _reduce_454(val, _values, result)
result = [ val[0], @builder.if_guard(val[1], val[2]) ]
result
end
def _reduce_455(val, _values, result)
result = [ val[0], @builder.unless_guard(val[1], val[2]) ]
result
end
# reduce 456 omitted
def _reduce_457(val, _values, result)
# array patterns that end with comma
# like 1, 2,
# must be emitted as `array_pattern_with_tail`
item = @builder.match_with_trailing_comma(val[0], val[1])
result = @builder.array_pattern(nil, [ item ], nil)
result
end
def _reduce_458(val, _values, result)
result = @builder.array_pattern(nil, [val[0]].concat(val[2]), nil)
result
end
def _reduce_459(val, _values, result)
result = @builder.find_pattern(nil, val[0], nil)
result
end
def _reduce_460(val, _values, result)
result = @builder.array_pattern(nil, val[0], nil)
result
end
def _reduce_461(val, _values, result)
result = @builder.hash_pattern(nil, val[0], nil)
result
end
# reduce 462 omitted
def _reduce_463(val, _values, result)
result = @builder.match_as(val[0], val[1], val[2])
result
end
# reduce 464 omitted
def _reduce_465(val, _values, result)
result = @builder.match_alt(val[0], val[1], val[2])
result
end
# reduce 466 omitted
def _reduce_467(val, _values, result)
result = val[0]
@pattern_hash_keys.push
result
end
def _reduce_468(val, _values, result)
result = val[0]
@pattern_hash_keys.push
result
end
# reduce 469 omitted
# reduce 470 omitted
def _reduce_471(val, _values, result)
@pattern_hash_keys.pop
pattern = @builder.array_pattern(nil, val[2], nil)
result = @builder.const_pattern(val[0], val[1], pattern, val[3])
result
end
def _reduce_472(val, _values, result)
@pattern_hash_keys.pop
pattern = @builder.find_pattern(nil, val[2], nil)
result = @builder.const_pattern(val[0], val[1], pattern, val[3])
result
end
def _reduce_473(val, _values, result)
@pattern_hash_keys.pop
pattern = @builder.hash_pattern(nil, val[2], nil)
result = @builder.const_pattern(val[0], val[1], pattern, val[3])
result
end
def _reduce_474(val, _values, result)
pattern = @builder.array_pattern(val[1], nil, val[2])
result = @builder.const_pattern(val[0], val[1], pattern, val[2])
result
end
def _reduce_475(val, _values, result)
@pattern_hash_keys.pop
pattern = @builder.array_pattern(nil, val[2], nil)
result = @builder.const_pattern(val[0], val[1], pattern, val[3])
result
end
def _reduce_476(val, _values, result)
@pattern_hash_keys.pop
pattern = @builder.find_pattern(nil, val[2], nil)
result = @builder.const_pattern(val[0], val[1], pattern, val[3])
result
end
def _reduce_477(val, _values, result)
@pattern_hash_keys.pop
pattern = @builder.hash_pattern(nil, val[2], nil)
result = @builder.const_pattern(val[0], val[1], pattern, val[3])
result
end
def _reduce_478(val, _values, result)
pattern = @builder.array_pattern(val[1], nil, val[2])
result = @builder.const_pattern(val[0], val[1], pattern, val[2])
result
end
def _reduce_479(val, _values, result)
result = @builder.array_pattern(val[0], val[1], val[2])
result
end
def _reduce_480(val, _values, result)
result = @builder.find_pattern(val[0], val[1], val[2])
result
end
def _reduce_481(val, _values, result)
result = @builder.array_pattern(val[0], [], val[1])
result
end
def _reduce_482(val, _values, result)
@pattern_hash_keys.push
result = @lexer.in_kwarg
@lexer.in_kwarg = false
result
end
def _reduce_483(val, _values, result)
@pattern_hash_keys.pop
@lexer.in_kwarg = val[1]
result = @builder.hash_pattern(val[0], val[2], val[3])
result
end
def _reduce_484(val, _values, result)
result = @builder.hash_pattern(val[0], [], val[1])
result
end
def _reduce_485(val, _values, result)
@pattern_hash_keys.push
result
end
def _reduce_486(val, _values, result)
@pattern_hash_keys.pop
result = @builder.begin(val[0], val[2], val[3])
result
end
def _reduce_487(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_488(val, _values, result)
result = val[0]
result
end
def _reduce_489(val, _values, result)
result = [ *val[0], val[1] ]
result
end
def _reduce_490(val, _values, result)
match_rest = @builder.match_rest(val[1], val[2])
result = [ *val[0], match_rest ]
result
end
def _reduce_491(val, _values, result)
match_rest = @builder.match_rest(val[1], val[2])
result = [ *val[0], match_rest, *val[4] ]
result
end
def _reduce_492(val, _values, result)
result = [ *val[0], @builder.match_rest(val[1]) ]
result
end
def _reduce_493(val, _values, result)
result = [ *val[0], @builder.match_rest(val[1]), *val[3] ]
result
end
# reduce 494 omitted
def _reduce_495(val, _values, result)
# array patterns that end with comma
# like [1, 2,]
# must be emitted as `array_pattern_with_tail`
item = @builder.match_with_trailing_comma(val[0], val[1])
result = [ item ]
result
end
def _reduce_496(val, _values, result)
# array patterns that end with comma
# like [1, 2,]
# must be emitted as `array_pattern_with_tail`
last_item = @builder.match_with_trailing_comma(val[1], val[2])
result = [ *val[0], last_item ]
result
end
def _reduce_497(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_498(val, _values, result)
result = [ val[0], *val[2] ]
result
end
def _reduce_499(val, _values, result)
result = [ val[0], *val[2], val[4] ]
result
end
def _reduce_500(val, _values, result)
result = @builder.match_rest(val[0], val[1])
result
end
def _reduce_501(val, _values, result)
result = @builder.match_rest(val[0])
result
end
def _reduce_502(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_503(val, _values, result)
result = [ *val[0], val[2] ]
result
end
# reduce 504 omitted
def _reduce_505(val, _values, result)
result = [ *val[0], *val[2] ]
result
end
def _reduce_506(val, _values, result)
result = val[0]
result
end
def _reduce_507(val, _values, result)
result = val[0]
result
end
def _reduce_508(val, _values, result)
result = val[0]
result
end
def _reduce_509(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_510(val, _values, result)
result = [ *val[0], val[2] ]
result
end
def _reduce_511(val, _values, result)
result = @builder.match_pair(*val[0], val[1])
result
end
def _reduce_512(val, _values, result)
result = @builder.match_label(*val[0])
result
end
def _reduce_513(val, _values, result)
result = [:label, val[0]]
result
end
def _reduce_514(val, _values, result)
result = [:quoted, [val[0], val[1], val[2]]]
result
end
def _reduce_515(val, _values, result)
result = [ @builder.match_rest(val[0], val[1]) ]
result
end
def _reduce_516(val, _values, result)
result = [ @builder.match_rest(val[0], nil) ]
result
end
def _reduce_517(val, _values, result)
result = [ @builder.match_nil_pattern(val[0], val[1]) ]
result
end
# reduce 518 omitted
# reduce 519 omitted
# reduce 520 omitted
def _reduce_521(val, _values, result)
result = @builder.range_inclusive(val[0], val[1], val[2])
result
end
def _reduce_522(val, _values, result)
result = @builder.range_exclusive(val[0], val[1], val[2])
result
end
def _reduce_523(val, _values, result)
result = @builder.range_inclusive(val[0], val[1], nil)
result
end
def _reduce_524(val, _values, result)
result = @builder.range_exclusive(val[0], val[1], nil)
result
end
# reduce 525 omitted
# reduce 526 omitted
# reduce 527 omitted
def _reduce_528(val, _values, result)
result = @builder.range_inclusive(nil, val[0], val[1])
result
end
def _reduce_529(val, _values, result)
result = @builder.range_exclusive(nil, val[0], val[1])
result
end
# reduce 530 omitted
# reduce 531 omitted
# reduce 532 omitted
# reduce 533 omitted
# reduce 534 omitted
# reduce 535 omitted
# reduce 536 omitted
# reduce 537 omitted
def _reduce_538(val, _values, result)
result = @builder.accessible(val[0])
result
end
# reduce 539 omitted
def _reduce_540(val, _values, result)
result = @builder.assignable(@builder.match_var(val[0]))
result
end
def _reduce_541(val, _values, result)
name = val[1][0]
unless static_env.declared?(name)
diagnostic :error, :undefined_lvar, { :name => name }, val[1]
end
lvar = @builder.accessible(@builder.ident(val[1]))
result = @builder.pin(val[0], lvar)
result
end
def _reduce_542(val, _values, result)
non_lvar = @builder.accessible(val[1])
result = @builder.pin(val[0], non_lvar)
result
end
def _reduce_543(val, _values, result)
expr = @builder.begin(val[1], val[2], val[3])
result = @builder.pin(val[0], expr)
result
end
def _reduce_544(val, _values, result)
result = @builder.const_global(val[0], val[1])
result
end
def _reduce_545(val, _values, result)
result = @builder.const_fetch(val[0], val[1], val[2])
result
end
def _reduce_546(val, _values, result)
result = @builder.const(val[0])
result
end
def _reduce_547(val, _values, result)
assoc_t, exc_var = val[2]
if val[1]
exc_list = @builder.array(nil, val[1], nil)
end
result = [ @builder.rescue_body(val[0],
exc_list, assoc_t, exc_var,
val[3], val[4]),
*val[5] ]
result
end
def _reduce_548(val, _values, result)
result = []
result
end
def _reduce_549(val, _values, result)
result = [ val[0] ]
result
end
# reduce 550 omitted
# reduce 551 omitted
def _reduce_552(val, _values, result)
result = [ val[0], val[1] ]
result
end
# reduce 553 omitted
def _reduce_554(val, _values, result)
result = [ val[0], val[1] ]
result
end
# reduce 555 omitted
# reduce 556 omitted
# reduce 557 omitted
def _reduce_558(val, _values, result)
result = @builder.string_compose(nil, val[0], nil)
result
end
def _reduce_559(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_560(val, _values, result)
result = val[0] << val[1]
result
end
def _reduce_561(val, _values, result)
string = @builder.string_compose(val[0], val[1], val[2])
result = @builder.dedent_string(string, @lexer.dedent_level)
result
end
def _reduce_562(val, _values, result)
string = @builder.string(val[0])
result = @builder.dedent_string(string, @lexer.dedent_level)
result
end
def _reduce_563(val, _values, result)
result = @builder.character(val[0])
result
end
def _reduce_564(val, _values, result)
string = @builder.xstring_compose(val[0], val[1], val[2])
result = @builder.dedent_string(string, @lexer.dedent_level)
result
end
def _reduce_565(val, _values, result)
opts = @builder.regexp_options(val[3])
result = @builder.regexp_compose(val[0], val[1], val[2], opts)
result
end
def _reduce_566(val, _values, result)
result = @builder.words_compose(val[0], val[1], val[2])
result
end
def _reduce_567(val, _values, result)
result = []
result
end
def _reduce_568(val, _values, result)
result = val[0] << @builder.word(val[1])
result
end
def _reduce_569(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_570(val, _values, result)
result = val[0] << val[1]
result
end
def _reduce_571(val, _values, result)
result = @builder.symbols_compose(val[0], val[1], val[2])
result
end
def _reduce_572(val, _values, result)
result = []
result
end
def _reduce_573(val, _values, result)
result = val[0] << @builder.word(val[1])
result
end
def _reduce_574(val, _values, result)
result = @builder.words_compose(val[0], val[1], val[2])
result
end
def _reduce_575(val, _values, result)
result = @builder.symbols_compose(val[0], val[1], val[2])
result
end
def _reduce_576(val, _values, result)
result = []
result
end
def _reduce_577(val, _values, result)
result = val[0] << @builder.string_internal(val[1])
result
end
def _reduce_578(val, _values, result)
result = []
result
end
def _reduce_579(val, _values, result)
result = val[0] << @builder.symbol_internal(val[1])
result
end
def _reduce_580(val, _values, result)
result = []
result
end
def _reduce_581(val, _values, result)
result = val[0] << val[1]
result
end
def _reduce_582(val, _values, result)
result = []
result
end
def _reduce_583(val, _values, result)
result = val[0] << val[1]
result
end
def _reduce_584(val, _values, result)
result = []
result
end
def _reduce_585(val, _values, result)
result = val[0] << val[1]
result
end
def _reduce_586(val, _values, result)
result = @builder.string_internal(val[0])
result
end
def _reduce_587(val, _values, result)
result = val[1]
result
end
def _reduce_588(val, _values, result)
@lexer.cmdarg.push(false)
@lexer.cond.push(false)
result
end
def _reduce_589(val, _values, result)
@lexer.cmdarg.pop
@lexer.cond.pop
result = @builder.begin(val[0], val[2], val[3])
result
end
def _reduce_590(val, _values, result)
result = @builder.gvar(val[0])
result
end
def _reduce_591(val, _values, result)
result = @builder.ivar(val[0])
result
end
def _reduce_592(val, _values, result)
result = @builder.cvar(val[0])
result
end
# reduce 593 omitted
# reduce 594 omitted
# reduce 595 omitted
def _reduce_596(val, _values, result)
@lexer.state = :expr_end
result = @builder.symbol(val[0])
result
end
def _reduce_597(val, _values, result)
@lexer.state = :expr_end
result = @builder.symbol_compose(val[0], val[1], val[2])
result
end
def _reduce_598(val, _values, result)
result = val[0]
result
end
def _reduce_599(val, _values, result)
if @builder.respond_to? :negate
# AST builder interface compatibility
result = @builder.negate(val[0], val[1])
else
result = @builder.unary_num(val[0], val[1])
end
result
end
def _reduce_600(val, _values, result)
@lexer.state = :expr_end
result = @builder.integer(val[0])
result
end
def _reduce_601(val, _values, result)
@lexer.state = :expr_end
result = @builder.float(val[0])
result
end
def _reduce_602(val, _values, result)
@lexer.state = :expr_end
result = @builder.rational(val[0])
result
end
def _reduce_603(val, _values, result)
@lexer.state = :expr_end
result = @builder.complex(val[0])
result
end
def _reduce_604(val, _values, result)
result = @builder.ivar(val[0])
result
end
def _reduce_605(val, _values, result)
result = @builder.gvar(val[0])
result
end
def _reduce_606(val, _values, result)
result = @builder.cvar(val[0])
result
end
def _reduce_607(val, _values, result)
result = @builder.ident(val[0])
result
end
def _reduce_608(val, _values, result)
result = @builder.ivar(val[0])
result
end
def _reduce_609(val, _values, result)
result = @builder.gvar(val[0])
result
end
def _reduce_610(val, _values, result)
result = @builder.const(val[0])
result
end
def _reduce_611(val, _values, result)
result = @builder.cvar(val[0])
result
end
def _reduce_612(val, _values, result)
result = @builder.nil(val[0])
result
end
def _reduce_613(val, _values, result)
result = @builder.self(val[0])
result
end
def _reduce_614(val, _values, result)
result = @builder.true(val[0])
result
end
def _reduce_615(val, _values, result)
result = @builder.false(val[0])
result
end
def _reduce_616(val, _values, result)
result = @builder.__FILE__(val[0])
result
end
def _reduce_617(val, _values, result)
result = @builder.__LINE__(val[0])
result
end
def _reduce_618(val, _values, result)
result = @builder.__ENCODING__(val[0])
result
end
def _reduce_619(val, _values, result)
result = @builder.accessible(val[0])
result
end
def _reduce_620(val, _values, result)
result = @builder.accessible(val[0])
result
end
def _reduce_621(val, _values, result)
result = @builder.assignable(val[0])
result
end
def _reduce_622(val, _values, result)
result = @builder.assignable(val[0])
result
end
def _reduce_623(val, _values, result)
result = @builder.nth_ref(val[0])
result
end
def _reduce_624(val, _values, result)
result = @builder.back_ref(val[0])
result
end
def _reduce_625(val, _values, result)
@lexer.state = :expr_value
result
end
def _reduce_626(val, _values, result)
result = [ val[0], val[2] ]
result
end
def _reduce_627(val, _values, result)
result = nil
result
end
# reduce 628 omitted
def _reduce_629(val, _values, result)
result = @builder.args(nil, [], nil)
result
end
def _reduce_630(val, _values, result)
result = @builder.args(val[0], val[1], val[2])
@lexer.state = :expr_value
result
end
# reduce 631 omitted
def _reduce_632(val, _values, result)
result = @lexer.in_kwarg
@lexer.in_kwarg = true
@context.push(:def_open_args)
result
end
def _reduce_633(val, _values, result)
@context.pop
@lexer.in_kwarg = val[0]
result = @builder.args(nil, val[1], nil)
result
end
def _reduce_634(val, _values, result)
result = val[0].concat(val[2]).concat(val[3])
result
end
def _reduce_635(val, _values, result)
result = val[0].concat(val[1])
result
end
def _reduce_636(val, _values, result)
result = val[0].concat(val[1])
result
end
def _reduce_637(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_638(val, _values, result)
@static_env.declare_forward_args
result = [ @builder.forward_arg(val[0]) ]
result
end
def _reduce_639(val, _values, result)
result = val[1]
result
end
def _reduce_640(val, _values, result)
result = []
result
end
def _reduce_641(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
def _reduce_642(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[6]).
concat(val[7])
result
end
def _reduce_643(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
def _reduce_644(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
def _reduce_645(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
def _reduce_646(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
def _reduce_647(val, _values, result)
result = val[0].
concat(val[1])
result
end
def _reduce_648(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
def _reduce_649(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
def _reduce_650(val, _values, result)
result = val[0].
concat(val[1])
result
end
def _reduce_651(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
def _reduce_652(val, _values, result)
result = val[0].
concat(val[1])
result
end
def _reduce_653(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
def _reduce_654(val, _values, result)
result = val[0]
result
end
def _reduce_655(val, _values, result)
result = []
result
end
def _reduce_656(val, _values, result)
result = val[0]
result
end
def _reduce_657(val, _values, result)
diagnostic :error, :argument_const, nil, val[0]
result
end
def _reduce_658(val, _values, result)
diagnostic :error, :argument_ivar, nil, val[0]
result
end
def _reduce_659(val, _values, result)
diagnostic :error, :argument_gvar, nil, val[0]
result
end
def _reduce_660(val, _values, result)
diagnostic :error, :argument_cvar, nil, val[0]
result
end
# reduce 661 omitted
def _reduce_662(val, _values, result)
@static_env.declare val[0][0]
@max_numparam_stack.has_ordinary_params!
result = val[0]
result
end
def _reduce_663(val, _values, result)
@current_arg_stack.set(val[0][0])
result = val[0]
result
end
def _reduce_664(val, _values, result)
@current_arg_stack.set(0)
result = @builder.arg(val[0])
result
end
def _reduce_665(val, _values, result)
result = @builder.multi_lhs(val[0], val[1], val[2])
result
end
def _reduce_666(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_667(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_668(val, _values, result)
check_kwarg_name(val[0])
@static_env.declare val[0][0]
@max_numparam_stack.has_ordinary_params!
@current_arg_stack.set(val[0][0])
result = val[0]
result
end
def _reduce_669(val, _values, result)
@current_arg_stack.set(nil)
result = @builder.kwoptarg(val[0], val[1])
result
end
def _reduce_670(val, _values, result)
@current_arg_stack.set(nil)
result = @builder.kwarg(val[0])
result
end
def _reduce_671(val, _values, result)
result = @builder.kwoptarg(val[0], val[1])
result
end
def _reduce_672(val, _values, result)
result = @builder.kwarg(val[0])
result
end
def _reduce_673(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_674(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_675(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_676(val, _values, result)
result = val[0] << val[2]
result
end
# reduce 677 omitted
# reduce 678 omitted
def _reduce_679(val, _values, result)
result = [ @builder.kwnilarg(val[0], val[1]) ]
result
end
def _reduce_680(val, _values, result)
@static_env.declare val[1][0]
result = [ @builder.kwrestarg(val[0], val[1]) ]
result
end
def _reduce_681(val, _values, result)
result = [ @builder.kwrestarg(val[0]) ]
result
end
def _reduce_682(val, _values, result)
@current_arg_stack.set(0)
result = @builder.optarg(val[0], val[1], val[2])
result
end
def _reduce_683(val, _values, result)
@current_arg_stack.set(0)
result = @builder.optarg(val[0], val[1], val[2])
result
end
def _reduce_684(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_685(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_686(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_687(val, _values, result)
result = val[0] << val[2]
result
end
# reduce 688 omitted
# reduce 689 omitted
def _reduce_690(val, _values, result)
@static_env.declare val[1][0]
result = [ @builder.restarg(val[0], val[1]) ]
result
end
def _reduce_691(val, _values, result)
result = [ @builder.restarg(val[0]) ]
result
end
# reduce 692 omitted
# reduce 693 omitted
def _reduce_694(val, _values, result)
@static_env.declare val[1][0]
result = @builder.blockarg(val[0], val[1])
result
end
def _reduce_695(val, _values, result)
@static_env.declare_anonymous_blockarg
result = @builder.blockarg(val[0], nil)
result
end
def _reduce_696(val, _values, result)
result = [ val[1] ]
result
end
def _reduce_697(val, _values, result)
result = []
result
end
# reduce 698 omitted
def _reduce_699(val, _values, result)
result = val[1]
result
end
def _reduce_700(val, _values, result)
result = []
result
end
# reduce 701 omitted
def _reduce_702(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_703(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_704(val, _values, result)
result = @builder.pair(val[0], val[1], val[2])
result
end
def _reduce_705(val, _values, result)
result = @builder.pair_keyword(val[0], val[1])
result
end
def _reduce_706(val, _values, result)
result = @builder.pair_label(val[0])
result
end
def _reduce_707(val, _values, result)
result = @builder.pair_quoted(val[0], val[1], val[2], val[3])
result
end
def _reduce_708(val, _values, result)
result = @builder.kwsplat(val[0], val[1])
result
end
# reduce 709 omitted
# reduce 710 omitted
# reduce 711 omitted
# reduce 712 omitted
# reduce 713 omitted
# reduce 714 omitted
# reduce 715 omitted
# reduce 716 omitted
# reduce 717 omitted
# reduce 718 omitted
# reduce 719 omitted
# reduce 720 omitted
def _reduce_721(val, _values, result)
result = [:dot, val[0][1]]
result
end
def _reduce_722(val, _values, result)
result = [:anddot, val[0][1]]
result
end
# reduce 723 omitted
# reduce 724 omitted
# reduce 725 omitted
# reduce 726 omitted
def _reduce_727(val, _values, result)
result = val[1]
result
end
def _reduce_728(val, _values, result)
result = val[1]
result
end
def _reduce_729(val, _values, result)
result = val[1]
result
end
# reduce 730 omitted
# reduce 731 omitted
# reduce 732 omitted
def _reduce_733(val, _values, result)
yyerrok
result
end
# reduce 734 omitted
# reduce 735 omitted
# reduce 736 omitted
def _reduce_737(val, _values, result)
result = nil
result
end
def _reduce_none(val, _values, result)
val[0]
end
end # class Ruby31
end # module Parser