# -*- 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 Ruby30 < Parser::Base def version 30 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 = [ '-704,677,614,1080,867,962,-120,-704,-704,-704,218,219,802,-704,-704', '-603,-704,101,102,867,228,-113,-603,-116,-704,-704,657,1147,655,-713', '863,-119,-118,1150,-114,1075,-704,-704,614,-704,-704,-704,-704,-704', '-112,-119,229,614,614,917,1121,-118,423,1074,621,-117,867,425,424,807', '-117,229,807,-115,-113,-498,-704,-704,-704,-704,-704,-704,-704,-704', '-704,-704,-704,-704,-704,-704,-603,-112,-704,-704,-704,1081,682,-704', '-700,-117,-704,-120,656,-704,654,103,104,-701,-704,229,-704,226,-704', '-704,229,-704,-704,-704,-704,-704,-599,-704,-704,-704,961,-111,123,-599', '-599,-599,123,122,-599,-599,-599,122,-599,-704,-701,-106,-704,-704,-107', '-704,-599,-704,-599,-599,-599,-113,-110,-109,-704,-105,-113,-116,-599', '-599,614,-599,-599,-599,-599,-599,-116,-114,123,-115,-117,951,-120,122', '-112,-119,-108,123,123,-112,-119,-118,122,122,-106,-104,-118,229,-599', '-599,-599,-599,-599,-599,-599,-599,-599,-599,-599,-599,-599,-599,-103', '614,-599,-599,-599,-106,-599,-599,298,849,-599,349,123,-599,-599,476', '-599,122,-599,-120,-599,-713,-599,-599,-120,-599,-599,-599,-599,-599', '-314,-599,1155,-599,298,218,219,-314,-314,-314,917,-700,621,-314,-314', '-106,-314,-599,-106,1156,-599,-599,-599,-599,-314,-599,-713,-599,218', '219,-106,229,-599,946,917,-599,-314,-314,-114,-314,-314,-314,-314,-314', '-120,785,123,218,219,1040,-107,122,-116,-114,363,-115,-117,-116,-114', '298,-115,-117,229,786,1040,297,-314,-314,-314,-314,-314,-314,-314,-314', '-314,-314,-314,-314,-314,-314,298,1040,-314,-314,-314,-608,681,-314', '348,123,-314,297,-608,-314,122,-105,101,102,-314,123,-314,-608,-314', '-314,122,-314,-314,-314,-314,-314,-725,-314,-704,-314,287,-700,-107', '862,676,-704,-704,-704,229,293,-704,-704,-704,-314,-704,123,-314,-314', '1168,-314,122,-314,-704,-704,-704,-704,-704,229,-314,1169,293,-118,297', '-108,-704,-704,-608,-704,-704,-704,-704,-704,-107,-609,1173,-107,-98', '-105,642,-602,-609,642,771,297,1177,642,-602,-107,-84,-609,103,104,-115', '-115,-704,-704,-704,-704,-704,-704,-704,-704,-704,-704,-704,-704,-704', '-704,363,552,-704,-704,-704,642,864,-704,1179,-105,-704,627,-105,-704', '-704,628,-704,1181,-704,552,-704,-108,-704,-704,-105,-704,-704,-704', '-704,-704,-609,-704,-704,-704,644,643,-602,644,643,640,642,644,643,642', '833,1183,642,-704,-110,642,-704,-704,-704,-704,1134,-704,-725,-704,1134', '-314,-119,-108,-704,-611,-108,-116,-314,-314,-314,644,643,-314,-314', '-314,224,-314,-108,1183,-119,835,627,544,-601,-314,892,-314,-314,-314', '873,-601,542,971,-698,869,762,-314,-314,870,-314,-314,-314,-314,-314', '220,644,643,640,644,643,640,644,643,645,644,643,653,849,-610,123,123', '1116,742,-113,122,122,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314', '-314,-314,-314,-314,225,-610,-314,-314,-314,-599,865,-314,-601,1197', '-314,-114,-599,-314,-314,642,-314,-698,-314,1173,-314,-599,-314,-314', '-105,-314,-314,-314,-314,-314,123,-314,217,-314,627,122,-114,-112,892', '579,-698,576,575,574,584,577,677,-314,-103,-604,-314,-314,-314,-314', '587,-314,-604,-314,-701,-704,-112,676,-314,1119,1120,-118,-704,-704', '-704,-700,-599,606,-704,-704,608,-704,582,218,219,644,643,649,-607,-704', '-704,592,591,595,594,-607,946,917,588,-108,87,-704,-704,229,-704,-704', '-704,-704,-704,216,-611,-117,88,579,-106,576,575,574,584,577,-604,642', '89,215,229,132,-115,229,587,1040,1171,-704,-704,-704,-704,-704,-704', '-704,-704,-704,-704,-704,-704,-704,-704,1209,226,-704,-704,-704,582', '682,-704,-607,1183,-704,642,-104,-704,592,591,595,594,-704,1183,-704', '588,-704,-704,-113,-704,-704,-704,-704,-704,-314,-704,-704,-704,887', '888,1183,-314,-314,-314,644,643,658,-314,-314,-605,-314,-704,-111,119', '-704,-704,-605,-107,-314,-704,-606,-599,595,594,-120,573,-704,-606,-599', '-116,-314,-314,1173,-314,-314,-314,-314,-314,1183,644,643,647,579,224', '576,575,574,584,577,-596,624,126,127,128,129,130,-596,587,229,622,-314', '-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-605', '730,-314,-314,-314,582,681,-314,218,219,-314,-606,-599,-314,592,591', '595,594,-314,229,-314,588,-314,-314,229,-314,-314,-314,-314,-314,-596', '-314,606,-314,225,608,251,-596,-596,-596,-596,251,-596,-596,-596,224', '-596,-314,251,251,-314,-314,291,-109,-596,-314,-596,-596,-596,229,606', '573,-314,608,-98,-118,-596,-596,745,-596,-596,-596,-596,-596,229,-315', '558,224,606,-305,224,605,-315,756,223,762,-305,291,763,229,765,-315', '229,221,768,-305,-596,-596,-596,-596,-596,-596,-596,-596,-596,-596,-596', '-596,-596,-596,225,771,-596,-596,-596,772,-596,-596,224,251,-596,774', '776,-596,-596,1149,-596,686,-596,787,-596,788,-596,-596,632,-596,-596', '-596,-596,-596,-315,-596,225,-596,-305,225,126,127,128,129,130,248,-314', '790,293,250,249,-596,792,-314,-596,-596,-596,-596,-701,-596,224,-596', '-314,793,229,795,-596,669,675,-596,320,77,78,24,11,65,667,225,798,71', '72,674,229,803,75,-697,73,74,76,33,34,79,80,126,127,128,129,130,81,31', '30,111,110,112,113,804,579,21,576,575,574,-314,577,10,51,322,12,115', '114,116,105,64,107,106,108,225,109,117,118,-315,101,102,47,48,46,-314', '-315,-596,808,224,268,269,-314,778,-596,-315,554,-701,670,-697,666,-314', '782,-596,43,474,665,36,-287,832,66,67,224,836,68,837,38,663,662,1154', '50,-288,-697,659,251,850,267,266,1152,22,510,634,510,229,99,87,90,91', '867,92,94,93,95,983,-315,868,626,88,98,625,-314,891,-596,587,225,82', '248,89,103,104,250,249,44,45,320,77,78,24,11,65,867,894,415,71,72,896', '287,225,75,-704,73,74,76,33,34,79,80,621,902,904,906,588,81,31,30,111', '110,112,113,524,526,21,526,1001,756,229,610,10,51,322,12,115,114,116', '105,64,107,106,108,609,109,117,118,224,101,102,47,48,46,224,1149,-704', '293,-349,293,756,630,251,-704,632,-349,229,917,-700,599,632,-617,-704', '43,-349,938,36,939,229,66,67,224,559,68,917,38,948,949,473,50,579,-704', '576,575,574,251,577,474,22,229,555,549,229,99,87,90,91,293,92,94,93', '95,983,225,363,959,88,98,363,225,229,-704,587,-349,82,229,89,103,104', '-289,302,44,45,320,77,78,24,11,65,229,545,970,71,72,538,537,225,75,716', '73,74,76,33,34,79,80,243,229,-83,132,588,81,31,30,111,110,112,113,229', '229,21,997,1001,998,999,1002,10,51,322,12,115,114,116,105,64,107,106', '108,526,109,117,118,524,101,102,47,48,46,251,255,256,257,258,268,269', '263,264,259,260,522,244,245,904,1008,261,262,229,43,3,242,36,584,756', '66,67,510,1026,68,-287,38,248,587,254,50,250,249,1030,246,247,267,266', '252,22,253,229,1033,1035,99,87,90,91,771,92,94,93,95,786,1038,1040,1040', '88,98,229,265,595,594,1048,1050,82,588,89,103,104,1059,1060,44,45,320', '77,78,24,11,65,1065,827,828,71,72,829,117,118,75,1066,73,74,76,33,34', '79,80,126,127,128,129,130,81,31,30,111,110,112,113,1067,-290,21,229', '229,229,1071,671,10,51,322,12,115,114,116,105,64,107,106,108,228,109', '117,118,229,101,102,47,48,46,251,255,256,257,258,268,269,263,264,259', '260,229,244,245,229,867,261,262,1079,43,478,477,36,229,1088,66,67,771', '1091,68,1094,38,248,1096,254,50,250,249,1098,246,247,267,266,252,22', '253,229,1100,475,99,87,90,91,1115,92,94,93,95,1116,1125,426,867,88,98', '1135,265,1137,-260,,,82,,89,103,104,,,44,45,320,77,78,24,11,65,,,,71', '72,,,,75,,73,74,76,33,34,79,80,,,,,,81,31,30,111,110,112,113,,,21,,', ',,942,10,51,322,12,115,114,116,105,64,107,106,108,,109,117,118,,101', '102,47,48,46,251,255,256,257,258,268,269,263,264,259,260,,244,245,,', '261,262,,43,,,36,584,,66,67,,,68,,38,248,587,254,50,250,249,,246,247', '267,266,252,22,253,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,265,595,594', ',,82,588,89,103,104,,,44,45,320,77,78,24,11,65,,,,71,72,,,,75,,73,74', '76,33,34,79,80,,,,,,81,31,30,111,110,112,113,,,21,,,,,671,10,51,322', '12,115,114,116,105,64,107,106,108,,109,117,118,,101,102,47,48,46,251', '255,256,257,258,268,269,263,264,259,260,,244,245,,,261,262,,43,,,36', ',,66,67,,,68,,38,248,,254,50,250,249,,246,247,267,266,252,22,253,,,', '99,87,90,91,,92,94,93,95,,,,,88,98,,265,,,,,82,,89,103,104,,,44,45,320', '77,78,24,11,65,,,,71,72,,,,75,,73,74,76,33,34,79,80,,,,,,81,31,30,111', '110,112,113,,,21,,,,,914,10,51,322,12,115,114,116,105,64,107,106,108', ',109,117,118,,101,102,47,48,46,251,255,256,257,258,268,269,263,264,259', '260,,244,245,,,261,262,,43,,,36,,,66,67,,,68,,38,248,,254,50,250,249', ',246,247,267,266,252,22,253,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,265', ',,,,82,,89,103,104,,,44,45,320,77,78,24,11,65,,,,71,72,,,,75,,73,74', '76,33,34,79,80,,,,,,81,31,30,111,110,112,113,,1130,21,576,575,574,,577', '10,51,322,12,115,114,116,105,64,107,106,108,,109,117,118,,101,102,47', '48,46,251,255,256,257,258,268,269,263,264,259,260,,244,245,,,261,262', ',43,,,36,,,66,67,,,68,,38,248,,254,50,250,249,,246,247,267,266,252,22', '253,,,,99,87,90,91,,92,94,93,95,,,,,88,98,229,265,,,,,82,,89,103,104', ',,44,45,320,77,78,24,11,65,,,,71,72,,,,75,,73,74,76,33,34,79,80,,,,', ',81,31,30,111,110,112,113,,1130,21,576,575,574,,577,10,51,322,12,115', '114,116,105,64,107,106,108,,109,117,118,,101,102,47,48,46,251,255,256', '257,258,268,269,263,264,259,260,,244,245,,,261,262,,43,,,36,,,66,67', ',,68,,38,248,,254,50,250,249,,246,247,267,266,252,22,253,,,,99,87,90', '91,,92,94,93,95,,,,,88,98,,265,,,,,82,,89,103,104,,,44,45,320,77,78', '24,11,65,,,,71,72,,,,75,,73,74,76,33,34,79,80,,,,,,81,31,30,111,110', '112,113,,,21,,,,,,10,51,322,12,115,114,116,105,64,107,106,108,,109,117', '118,,101,102,47,48,46,251,255,256,257,258,268,269,263,264,259,260,,244', '245,,,261,262,,43,,,36,,,66,67,,,68,,38,248,,254,50,250,249,,246,247', '267,266,252,22,253,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,265,,,,,82', ',89,103,104,,,44,45,320,77,78,24,11,65,,,,71,72,,,,75,,73,74,76,33,34', '79,80,,,,,,81,31,30,111,110,112,113,,,21,,,,,,10,51,322,12,115,114,116', '105,64,107,106,108,,109,117,118,,101,102,47,48,46,251,255,256,257,258', '268,269,263,264,259,260,,244,245,,,261,262,,43,,,36,,,66,67,,,68,,38', '248,,254,50,250,249,,246,247,267,266,252,22,253,,,,99,87,90,91,,92,94', '93,95,,,,,88,98,,265,,,,,82,,89,103,104,,,44,45,320,77,78,24,11,65,', ',,71,72,,,,75,,73,74,76,33,34,79,80,,,,,,81,31,30,111,110,112,113,,', '21,,,,,,10,51,322,12,115,114,116,105,64,107,106,108,,109,117,118,,101', '102,47,48,46,251,255,256,257,258,268,269,263,264,259,260,,244,245,,', '261,262,,43,,,36,,,66,67,,,68,,38,248,,254,50,250,249,,246,247,267,266', '252,22,253,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,265,,,,,82,,89,103', '104,,,44,45,320,77,78,24,11,65,,,,71,72,,,,75,,73,74,76,33,34,79,80', ',,,,,81,31,30,111,110,112,113,,,21,,,,,,10,51,322,12,115,114,116,105', '64,107,106,108,,109,117,118,,101,102,47,48,46,251,255,256,257,258,268', '269,263,264,259,260,,244,245,,,261,262,,43,,,324,,,66,67,,,68,,38,248', ',254,50,250,249,,246,247,267,266,252,22,253,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,,265,,,,,82,,89,103,104,,,44,45,7,77,78,24,11,65,,,,71', '72,,,,75,,73,74,76,33,34,79,80,,,,,,81,31,30,111,110,112,113,,,21,,', ',,,10,51,9,12,115,114,116,105,64,107,106,108,,109,117,118,,101,102,47', '48,46,251,255,256,257,258,268,269,263,264,259,260,,244,245,,,261,262', ',43,,,36,,,66,67,,,68,,38,248,,254,50,250,249,,246,247,267,266,252,22', '253,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,265,,,,,82,,89,103,104,,', '44,45,320,77,78,24,11,65,,,,71,72,,,,75,,73,74,76,33,34,79,80,,,,,,81', '31,30,111,110,112,113,,579,21,576,575,574,,577,10,51,322,12,115,114', '116,105,64,107,106,108,,109,117,118,,101,102,47,48,46,579,,576,575,574', ',577,,778,,579,,576,575,574,,577,782,,43,,,324,,,66,67,,251,68,,38,', ',,50,,778,,579,,576,575,574,22,577,782,778,,99,87,90,91,,92,94,93,95', ',,248,,88,98,250,249,,246,247,,82,,89,103,104,,778,44,45,320,77,78,24', '11,65,,,,71,72,,,,75,,73,74,76,33,34,79,80,,,,,,81,31,30,111,110,112', '113,,,21,,,251,,,10,51,322,12,115,114,116,105,64,107,106,108,,109,117', '118,,101,102,47,48,46,251,255,256,257,258,268,269,248,,259,260,250,249', ',246,247,261,262,,43,,,36,,,66,67,,,68,,38,248,,254,50,250,249,,246', '247,267,266,252,22,253,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,579,,576', '575,574,82,577,89,103,104,,,44,45,320,77,78,24,11,65,,,,71,72,,,,75', ',73,74,76,33,34,79,80,778,,,,,81,31,30,111,110,112,113,,,21,,,,,,10', '51,322,12,115,114,116,105,64,107,106,108,,109,117,118,,101,102,47,48', '46,251,-726,-726,-726,-726,268,269,,,-726,-726,,,,,,261,262,,43,,,36', ',,66,67,,,68,,38,248,,254,50,250,249,,246,247,267,266,252,22,253,,,', '99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,,82,,89,103,104,,,44,45,320', '77,78,24,11,65,,,,71,72,,,,75,,73,74,76,33,34,79,80,,,,,,81,31,30,111', '110,112,113,,,21,,,,,,10,51,322,12,115,114,116,105,64,107,106,108,,109', '117,118,,101,102,47,48,46,251,-726,-726,-726,-726,268,269,,,-726,-726', ',,,,,261,262,,43,,,324,,,66,67,,,68,,38,248,,254,50,250,249,,246,247', '267,266,252,22,253,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,,82,,89', '103,104,,,44,45,320,77,78,24,11,65,,,,71,72,,,,75,,73,74,76,33,34,79', '80,,,,,,81,31,30,111,110,112,113,,,21,,,,,,10,51,322,12,115,114,116', '105,64,107,106,108,,109,117,118,,101,102,47,48,46,251,-726,-726,-726', '-726,268,269,,,-726,-726,,,,,,261,262,,43,,,36,,,66,67,,,68,,38,248', ',254,50,250,249,,246,247,267,266,252,22,253,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,,,,,,,82,,89,103,104,,,44,45,320,77,78,24,11,65,,,,71,72', ',,,75,,73,74,76,33,34,79,80,,,,,,81,31,30,111,110,112,113,,,21,,,,,', '10,51,322,12,115,114,116,105,64,107,106,108,,109,117,118,,101,102,47', '48,46,251,-726,-726,-726,-726,268,269,,,-726,-726,,,,,,261,262,,43,', ',36,,,66,67,,,68,,38,248,,254,50,250,249,,246,247,267,266,252,22,253', ',,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,,82,,89,103,104,,,44,45,7', '77,78,24,11,65,,,,71,72,,,,75,,73,74,76,33,34,79,80,,,,,,81,31,30,111', '110,112,113,,,21,,,,,,10,51,9,12,115,114,116,105,64,107,106,108,,109', '117,118,,101,102,47,48,46,251,255,256,257,258,268,269,263,264,259,260', ',-726,-726,,,261,262,,43,,,36,,,66,67,,,68,,38,248,,254,50,250,249,', '246,247,267,266,252,22,253,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,', ',,,82,,89,103,104,,,44,45,320,77,78,24,11,65,,,,71,72,,,,75,,73,74,76', '33,34,79,80,,,,,,81,31,30,111,110,112,113,,,21,,,,,,10,51,322,12,115', '114,116,105,64,107,106,108,,109,117,118,,101,102,47,48,46,251,255,256', '257,258,268,269,263,264,259,260,,-726,-726,,,261,262,,43,,,36,,,66,67', ',,68,,38,248,,254,50,250,249,,246,247,267,266,252,22,253,,,,99,87,90', '91,,92,94,93,95,,,,,88,98,,,,,,,82,,89,103,104,,,44,45,320,77,78,24', '11,65,,,,71,72,,,,75,,73,74,76,33,34,79,80,,,,,,81,31,30,111,110,112', '113,,,21,,,,,,10,51,322,12,115,114,116,105,64,107,106,108,,109,117,118', ',101,102,47,48,46,251,255,256,257,258,268,269,263,,259,260,,,,,,261', '262,,43,,,36,,,66,67,,,68,,38,248,,254,50,250,249,,246,247,267,266,252', '22,253,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,,82,,89,103,104,,', '44,45,320,77,78,24,11,65,,,,71,72,,,,75,,73,74,76,33,34,79,80,,,,,,81', '31,30,111,110,112,113,,,21,,,,,,10,51,322,12,115,114,116,105,64,107', '106,108,,109,117,118,,101,102,47,48,46,251,,,,,,,,,,,,,,,,261,262,,43', ',,36,,,66,67,,,68,,38,248,,254,50,250,249,,246,247,,,252,22,253,,,,99', '87,90,91,,92,94,93,95,,,,,88,98,,,,,,,82,,89,103,104,,,44,45,320,77', '78,24,11,65,,,,71,72,,,,75,,73,74,76,33,34,79,80,,,,,,81,31,30,111,110', '112,113,,,21,,,,,,10,51,322,12,115,114,116,105,64,107,106,108,,109,117', '118,,101,102,47,48,46,251,255,256,257,258,268,269,263,264,259,260,,-726', '-726,,,261,262,,43,,,36,,,66,67,,,68,,38,248,,254,50,250,249,,246,247', '267,266,252,22,253,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,,82,,89', '103,104,,,44,45,320,77,78,24,11,65,,,,71,72,,,,75,,73,74,76,33,34,79', '80,,,,,,81,31,30,111,110,112,113,,,21,,,,,,10,51,322,12,115,114,116', '105,64,107,106,108,,109,117,118,,101,102,47,48,46,251,-726,-726,-726', '-726,268,269,,,-726,-726,,,,,,261,262,,43,,,36,,,66,67,,,68,,38,248', ',254,50,250,249,,246,247,267,266,252,22,253,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,,,,,,,82,,89,103,104,,,44,45,320,77,78,24,11,65,,,,71,72', ',,,75,,73,74,76,33,34,79,80,,,,,,81,31,30,111,110,112,113,,,21,,,,,', '10,51,322,12,115,114,116,105,64,107,106,108,,109,117,118,,101,102,47', '48,46,251,255,256,257,258,268,269,263,264,259,260,,-726,-726,,,261,262', ',43,,,36,,,66,67,,,68,,38,248,,254,50,250,249,,246,247,267,266,252,22', '253,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,,82,,89,103,104,,,44', '45,320,77,78,24,11,65,,,,71,72,,,,75,,73,74,76,33,34,79,80,,,,,,81,31', '30,111,110,112,113,,,21,,,,,,10,51,322,12,115,114,116,105,64,107,106', '108,,109,117,118,,101,102,47,48,46,251,-726,-726,-726,-726,268,269,', ',-726,-726,,,,,,261,262,,43,,,36,,,66,67,,,68,,38,248,,254,50,250,249', ',246,247,267,266,252,22,253,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,', ',,,,82,,89,103,104,,,44,45,320,77,78,24,11,65,,,,71,72,,,,75,,73,74', '76,33,34,79,80,,,,,,81,31,30,111,110,112,113,,,21,,,,,,10,51,322,12', '115,114,116,105,64,107,106,108,,109,117,118,,101,102,47,48,46,251,,', ',,,,,,,,,,,,,261,262,,43,,,36,,,66,67,,,68,,38,248,,254,50,250,249,', '246,247,,,252,22,253,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78', '24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,33,34,79,80,,,,,,81,31', '30,111,110,112,113,,,21,,,,,,,51,,,115,114,116,105,64,107,106,108,,109', '117,118,,101,102,47,48,46,251,,,,,,,,,,,,,,,,261,262,,234,,,240,,,66', '67,,,68,,,248,,254,50,250,249,,246,247,,,,22,,,,,99,87,90,91,,92,94', '93,95,,,,,88,98,,,,,,,82,,89,103,104,-270,,44,45,,,,-270,-270,-270,', ',-270,-270,-270,,-270,251,,,,,,,-270,-270,-270,,,,,,,261,262,,-270,-270', ',-270,-270,-270,-270,-270,,,,,,248,,508,457,250,249,509,246,247,,,,', ',166,167,,163,145,146,147,154,151,153,,,148,149,-270,,,168,169,155,156', '-270,,,,,293,-270,,,,,,,160,159,,144,165,162,161,170,157,158,152,150', '142,164,143,-270,-270,171,,,,,,,,,,,,,-270,,,-270,,,,,-270,77,78,24', '11,65,,-270,,71,72,,,,75,,73,74,76,33,34,79,80,,,,,,81,31,30,111,110', '112,113,,,21,,,,,,10,51,9,12,115,114,116,105,64,107,106,108,,109,117', '118,,101,102,47,48,46,251,,,,,,,,,,,,,,,,261,262,,43,,,36,,,66,67,,', '68,,38,248,,254,50,250,249,,246,247,,,,22,,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76', '33,34,79,80,,,,,,81,31,30,111,110,112,113,,,241,,,,,,,51,,,115,114,116', '105,64,107,106,108,314,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,', ',,,,234,,,240,,,66,67,,,68,,311,,309,,50,,,315,,,,,,239,,,,,99,312,90', '91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,', '75,,73,74,76,33,34,79,80,,,,,,81,31,30,111,110,112,113,,,241,,,,,,,51', ',,115,114,116,105,64,107,106,108,,109,117,118,,101,102,47,48,46,,,,', ',,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87', '90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45', ',75,,73,74,76,33,34,79,80,,,,,,81,31,30,111,110,112,113,,,21,,,,,,,51', ',,115,114,116,105,64,107,106,108,,109,117,118,,101,102,47,48,46,,,,', ',,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,22,,,,,99,87,90', '91,,92,94,93,95,,,,,88,98,,,,,,,82,,89,103,104,-429,,44,45,,,,-429,-429', '-429,,,-429,-429,-429,,-429,,,,,,,,-429,-429,-429,-429,,,,,,,,,-429', '-429,,-429,-429,-429,-429,-429,,,,,,,,,,,,,,,,,,,,,,,-429,-429,-429', '-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,,,-429,-429,-429', ',,-429,,293,-429,,,-429,-429,,-429,,-429,,-429,,-429,-429,,-429,-429', '-429,-429,-429,-321,-429,-429,-429,,,,-321,-321,-321,,,-321,-321,-321', ',-321,-429,,,-429,-429,,-429,-321,-429,-321,-321,,,,,-429,,,,-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,,302,-321,,,-321,-321,,-321,,-321,,-321,,-321,-321,,-321,-321', '-321,-321,-321,,-321,,-321,,,,,,,,,,,,,,-321,,,-321,-321,,-321,,-321', '77,78,24,,65,,-321,,71,72,,,,75,,73,74,76,33,34,79,80,,,,,,81,31,30', '111,110,112,113,,,241,,,,,,,51,,,115,114,116,105,64,107,106,108,314', '109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,', ',68,,311,,309,,50,,,315,,,,,,239,,,,,99,312,90,91,,92,94,93,95,,,,,88', '98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,33,34,79,80', ',,,,,81,31,30,111,110,112,113,,,241,,,,,,,51,,,115,114,116,105,64,107', '106,108,314,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240', ',,66,67,,,68,,311,,309,,50,,,315,,,,,,239,,,,,99,312,90,91,,92,94,93', '95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76', '33,34,79,80,,,,,,81,31,30,111,110,112,113,,,241,,,,,,,51,,,115,114,116', '105,64,107,106,108,314,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,', ',,,,234,,,240,,,66,67,,,68,,311,,309,,50,,,315,,,,,,239,,,,,99,312,90', '91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,', '75,,73,74,76,33,34,79,80,,,,,,81,31,30,111,110,112,113,,,21,,,,,,,51', ',,115,114,116,105,64,107,106,108,,109,117,118,,101,102,47,48,46,,,,', ',,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,22,,,,,99,87,90', '91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,', '75,,73,74,76,341,342,79,80,,,,,,81,336,344,111,110,112,113,,,241,,,', ',,,51,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102,47,48,46', ',,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99', '87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44', '45,,75,,73,74,76,341,342,79,80,,,,,,81,336,344,111,110,112,113,,,241', ',,,,,,51,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102,47,48', '46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,', ',99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71', '72,44,45,,75,,73,74,76,341,342,79,80,,,,,,81,336,344,111,110,112,113', ',,241,,,,,,,51,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102', '47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,239', ',,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104', '71,72,44,45,,75,,73,74,76,341,342,79,80,,,,,,81,336,344,111,110,112', '113,,,241,,,,,,,51,,,115,114,116,105,64,107,106,108,,109,117,118,,101', '102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,', ',,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103', '104,71,72,44,45,,75,,73,74,76,341,342,79,80,,,,,,81,336,344,111,110', '112,113,,,241,,,,,,,51,,,115,114,116,105,64,107,106,108,,109,117,118', ',101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50', ',,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,,82,,89,103', '104,-306,,44,45,,,,-306,-306,-306,,,-306,-306,-306,,-306,,,,,,,,-306', ',-306,-306,-306,,,,111,110,112,113,-306,-306,,-306,-306,-306,-306,-306', ',,,,115,114,116,,,,,,,,,,,101,102,,,345,-306,-306,-306,-306,-306,-306', '-306,-306,-306,-306,-306,-306,-306,-306,,,-306,-306,-306,,,-306,,,-306', ',,-306,-306,,-306,,-306,,-306,,-306,-306,,-306,-306,-306,-306,-306,', '-306,,-306,,99,87,90,91,,92,94,93,95,,,,-306,88,98,-306,-306,-306,-306', ',-306,82,-306,89,103,104,,-306,77,78,24,11,65,,,,71,72,,,,75,,73,74', '76,33,34,79,80,,,,,,81,31,30,111,110,112,113,,,21,,,,,,10,51,,12,115', '114,116,105,64,107,106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,', ',,,,,,,,,43,,,36,,,66,67,,,68,,38,,,,50,,,,,,,,,22,,,,,99,87,90,91,', '92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,', '73,74,76,341,342,79,80,,,,,,81,336,344,111,110,112,113,,,241,,,,,,,51', ',,115,114,116,105,64,107,106,108,314,109,117,118,,101,102,47,48,46,', ',,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,311,,,,50,,,315,,,,,,239,', ',,,99,312,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104', '71,72,44,45,,75,,73,74,76,341,342,79,80,,,,,,81,336,344,111,110,112', '113,,,241,,,,,,,51,,,115,114,116,105,64,107,106,108,314,109,117,118', ',101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50', ',,315,,,,,,239,,,,,99,312,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82', '65,89,103,104,71,72,44,45,,75,,73,74,76,33,34,79,80,,,,,,81,31,30,111', '110,112,113,,,21,,,,,,,51,,,115,114,116,105,64,107,106,108,,109,117', '118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,', ',50,,,,,,,,,22,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82', '65,89,103,104,71,72,44,45,,75,,73,74,76,33,34,79,80,,,,,,81,31,30,111', '110,112,113,,,21,,,,,,,51,,,115,114,116,105,64,107,106,108,,109,117', '118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,', ',50,,,,,,,,,22,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82', '65,89,103,104,71,72,44,45,,75,,73,74,76,33,34,79,80,,,,,,81,31,30,111', '110,112,113,,,21,,,,,,,51,,,115,114,116,105,64,107,106,108,,109,117', '118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,', ',50,,,,,,,,,22,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,123,,,,,122,82', ',89,103,104,,,44,45,77,78,24,11,65,,,,71,72,,,,75,,73,74,76,33,34,79', '80,,,,,,81,31,30,111,110,112,113,,,21,,,,,,10,51,9,12,115,114,116,105', '64,107,106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,43', ',,36,,,66,67,,,68,,38,,,,50,,,,,,,,,22,,,,,99,87,90,91,,92,94,93,95', ',,,,88,98,,,,,,415,82,,89,103,104,,,44,45,77,78,24,,65,,,,71,72,,,,75', ',73,74,76,33,34,79,80,,,,,,81,31,30,111,110,112,113,,,21,,,,,,,51,,', '115,114,116,105,64,107,106,108,,109,117,118,,101,102,47,48,46,,,,,,', ',,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,22,,,,,99,87,90', '91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,', '75,,73,74,76,33,34,79,80,,,,,,81,31,30,111,110,112,113,,,21,,,,,,,51', ',,115,114,116,105,64,107,106,108,,109,117,118,,101,102,47,48,46,,,,', ',,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,22,,,,,99,87,90', '91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,', '75,,73,74,76,33,34,79,80,,,,,,81,31,30,111,110,112,113,,,21,,,,,,,51', ',,115,114,116,105,64,107,106,108,,109,117,118,,101,102,47,48,46,,,,', ',,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,22,,,,,99,87,90', '91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,', '75,,73,74,76,341,342,79,80,,,,,,81,336,344,111,110,112,113,,,241,,,', ',,,51,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102,47,48,46', ',,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99', '87,90,91,,92,94,93,95,,,,,88,98,,,,,,,82,,89,103,104,,,44,45,77,78,24', '11,65,,,,71,72,,,,75,,73,74,76,33,34,79,80,,,,,,81,31,30,111,110,112', '113,,,21,,,,,,10,51,,12,115,114,116,105,64,107,106,108,,109,117,118', ',101,102,47,48,46,,,,,,,,,,,,,,,,,,,,43,,,36,,,66,67,,,68,,38,,,,50', ',,,,,,,,22,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65', '89,103,104,71,72,44,45,,75,,73,74,76,33,34,79,80,,,,,,81,31,30,111,110', '112,113,,,21,,,,,,,51,,,115,114,116,105,64,107,106,108,,109,117,118', ',101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50', ',,,,,,,,22,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,229,,,77,78,24,82', '65,89,103,104,71,72,44,45,,75,,73,74,76,341,342,79,80,,,,,,81,336,344', '111,110,112,113,,,241,,,,,,,51,,,115,114,116,105,64,107,106,108,,109', '117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68', ',,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78', '24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,341,342,79,80,,,,,,81', '336,344,111,110,112,113,,,241,,,,,,,51,,,115,114,116,105,64,107,106', '108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66', '67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,', ',,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,341,342,79,80', ',,,,,81,336,344,111,110,112,113,,,241,,,,,,,51,,,115,114,116,105,64', '107,106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,', '240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,', ',,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,341,342', '79,80,,,,,,81,336,344,111,110,112,113,,,241,,,,,,,51,,,115,114,116,105', '64,107,106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234', ',,240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95', ',,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,341', '342,79,80,,,,,,81,336,344,111,110,112,113,,,241,,,,,,,51,,,115,114,116', '105,64,107,106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,', ',234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76', '341,342,79,80,,,,,,81,336,344,111,110,112,113,,,241,,,,,,,51,,,115,114', '116,105,64,107,106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,', ',,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92', '94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73', '74,76,341,342,79,80,,,,,,81,336,344,111,110,112,113,,,241,,,,,,,51,', ',115,114,116,105,64,107,106,108,,109,117,118,,101,102,47,48,46,,,,,', ',,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90', '91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,', '75,,73,74,76,341,342,79,80,,,,,,81,336,344,111,110,112,113,,,241,,,', ',,,51,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102,47,48,46', ',,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99', '87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44', '45,,75,,73,74,76,341,342,79,80,,,,,,81,336,344,111,110,112,113,,,241', ',,,,,,51,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102,47,48', '46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,', ',99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71', '72,44,45,,75,,73,74,76,341,342,79,80,,,,,,81,336,344,111,110,112,113', ',,241,,,,,,,51,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102', '47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,239', ',,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104', '71,72,44,45,,75,,73,74,76,341,342,79,80,,,,,,81,336,344,111,110,112', '113,,,241,,,,,,,51,,,115,114,116,105,64,107,106,108,,109,117,118,,101', '102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,', ',,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103', '104,71,72,44,45,,75,,73,74,76,341,342,79,80,,,,,,81,336,344,111,110', '112,113,,,241,,,,,,,51,,,115,114,116,105,64,107,106,108,,109,117,118', ',101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50', ',,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65', '89,103,104,71,72,44,45,,75,,73,74,76,341,342,79,80,,,,,,81,336,344,111', '110,112,113,,,241,,,,,,,51,,,115,114,116,105,64,107,106,108,,109,117', '118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,', ',50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82', '65,89,103,104,71,72,44,45,,75,,73,74,76,341,342,79,80,,,,,,81,336,344', '111,110,112,113,,,241,,,,,,,51,,,115,114,116,105,64,107,106,108,,109', '117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68', ',,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78', '24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,341,342,79,80,,,,,,81', '336,344,111,110,112,113,,,241,,,,,,,51,,,115,114,116,105,64,107,106', '108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66', '67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,', ',,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,341,342,79,80', ',,,,,81,336,344,111,110,112,113,,,241,,,,,,,51,,,115,114,116,105,64', '107,106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,', '240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,', ',,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,341,342', '79,80,,,,,,81,336,344,111,110,112,113,,,241,,,,,,,51,,,115,114,116,105', '64,107,106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234', ',,240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95', ',,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,341', '342,79,80,,,,,,81,336,344,111,110,112,113,,,241,,,,,,,51,,,115,114,116', '105,64,107,106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,', ',234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76', '341,342,79,80,,,,,,81,336,344,111,110,112,113,,,241,,,,,,,51,,,115,114', '116,105,64,107,106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,', ',,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92', '94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73', '74,76,341,342,79,80,,,,,,81,336,344,111,110,112,113,,,241,,,,,,,51,', ',115,114,116,105,64,107,106,108,,109,117,118,,101,102,47,48,46,,,,,', ',,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90', '91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,', '75,,73,74,76,341,342,79,80,,,,,,81,336,344,111,110,112,113,,,241,,,', ',,,51,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102,47,48,46', ',,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99', '87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44', '45,,75,,73,74,76,341,342,79,80,,,,,,81,336,344,111,110,112,113,,,241', ',,,,,,51,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102,47,48', '46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,', ',99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71', '72,44,45,,75,,73,74,76,341,342,79,80,,,,,,81,336,344,111,110,112,113', ',,241,,,,,,,51,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102', '47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,239', ',,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104', '71,72,44,45,,75,,73,74,76,341,342,79,80,,,,,,81,336,344,111,110,112', '113,,,241,,,,,,,51,,,115,114,116,105,64,107,106,108,,109,117,118,,101', '102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,', ',,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103', '104,71,72,44,45,,75,,73,74,76,341,342,79,80,,,,,,81,336,344,111,110', '112,113,,,241,,,,,,,51,,,115,114,116,105,64,107,106,108,,109,117,118', ',101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50', ',,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65', '89,103,104,71,72,44,45,,75,,73,74,76,341,342,79,80,,,,,,81,336,344,111', '110,112,113,,,241,,,,,,,51,,,115,114,116,105,64,107,106,108,314,109', '117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68', ',,,309,,50,,,315,,,,,,239,,,,,99,312,90,91,,92,94,93,95,,,,,88,98,,', ',77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,341,342,79,80,', ',,,,81,336,344,111,110,112,113,,,241,,,,,,,51,,,115,114,116,105,64,107', '106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240', ',,66,67,,,68,,739,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,', ',88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,33,34', '79,80,,,,,,81,31,30,111,110,112,113,,,21,,,,,,,51,,,115,114,116,105', '64,107,106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234', ',,240,,,66,67,,,68,,,,,,50,,,,,,,,,22,,,,,99,87,90,91,,92,94,93,95,', ',,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,341', '342,79,80,,,,,,81,336,344,111,110,112,113,,,241,,,,,,,51,,,115,114,116', '105,64,107,106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,', ',234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76', '33,34,79,80,,,,,,81,31,30,111,110,112,113,,,21,,,,,,,51,,,115,114,116', '105,64,107,106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,', ',234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,22,,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76', '341,342,79,80,,,,,,81,336,344,111,110,112,113,,,241,,,,,,,51,,,115,114', '116,105,64,107,106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,', ',,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92', '94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73', '74,76,33,34,79,80,,,,,,81,31,30,111,110,112,113,,,241,,,,,,,51,,,115', '114,116,105,64,107,106,108,314,109,117,118,,101,102,47,48,46,,,,,,,', ',,,,,,,,,,,,234,,,240,,,66,67,,,68,,311,,309,,50,,,315,,,,,,239,,,,', '99,312,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71', '72,44,512,,75,,73,74,76,33,34,79,80,,,,,,81,31,30,111,110,112,113,,', '241,,,,,,,51,,,115,114,116,105,64,107,106,108,314,109,117,118,,101,102', '47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,311,,309,,50,,,315', ',,,,,239,,,,,99,312,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89', '103,104,71,72,44,45,,75,,73,74,76,33,34,79,80,,,,,,81,31,30,111,110', '112,113,,,241,,,,,,,51,,,115,114,116,105,64,107,106,108,314,109,117', '118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,311', ',309,,50,,,315,,,,,,239,,,,,99,312,90,91,,92,94,93,95,,,,,88,98,229', ',,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,341,342,79,80', ',,,,,81,336,344,111,110,112,113,,,241,,,,,,,51,,,115,114,116,105,64', '107,106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,', '240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,', ',,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,341,342', '79,80,,,,,,81,336,344,111,110,112,113,,,241,,,,,,,51,,,115,114,116,105', '64,107,106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234', ',,240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95', ',,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,341', '342,79,80,,,,,,81,336,344,111,110,112,113,,,241,,,,,,,51,,,115,114,116', '105,64,107,106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,', ',234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76', '341,342,79,80,,,,,,81,336,344,111,110,112,113,,,241,,,,,,,51,,,115,114', '116,105,64,107,106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,', ',,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92', '94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73', '74,76,341,342,79,80,,,,,,81,336,344,111,110,112,113,,,241,,,,,,,51,', ',115,114,116,105,64,107,106,108,,109,117,118,,101,102,47,48,46,,,,,', ',,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90', '91,,92,94,93,95,,,,,88,98,,,,,,,82,,89,103,104,,,44,45,77,78,24,11,65', ',,,71,72,,,,75,,73,74,76,33,34,79,80,,,,,,81,31,30,111,110,112,113,', ',21,,,,,,10,51,,12,115,114,116,105,64,107,106,108,,109,117,118,,101', '102,47,48,46,,,,,,,,,,,,,,,,,,,,43,,,36,,,66,67,,,68,,38,,,,50,,,,,', ',,,22,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103', '104,71,72,44,45,,75,,73,74,76,341,342,79,80,,,,,,81,336,344,111,110', '112,113,,,241,,,,,,,51,,,115,114,116,105,64,107,106,108,,109,117,118', ',101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50', ',,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65', '89,103,104,71,72,44,45,,75,,73,74,76,341,342,79,80,,,,,,81,336,344,111', '110,112,113,,,241,,,,,,,51,,,115,114,116,105,64,107,106,108,,109,117', '118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,', ',50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82', '65,89,103,104,71,72,44,45,,75,,73,74,76,341,342,79,80,,,,,,81,336,344', '111,110,112,113,,,241,,,,,,,51,,,115,114,116,105,64,107,106,108,,109', '117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68', ',,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78', '24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,341,342,79,80,,,,,,81', '336,344,111,110,112,113,,,241,,,,,,,51,,,115,114,116,105,64,107,106', '108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66', '67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,', ',,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,33,34,79,80,,', ',,,81,31,30,111,110,112,113,,,241,,,,,,,51,,,115,114,116,105,64,107', '106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240', ',,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88', '98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,341,342,79', '80,,,,,,81,336,344,111,110,112,113,,,241,,,,,,,51,,,115,114,116,105', '64,107,106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234', ',,240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95', ',,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,33', '34,79,80,,,,,,81,31,30,111,110,112,113,,,21,,,,,,,51,,,115,114,116,105', '64,107,106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234', ',,240,,,66,67,,,68,,,,,,50,,,,,,,,,22,,,,,99,87,90,91,,92,94,93,95,', ',,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,341', '342,79,80,,,,,,81,336,344,111,110,112,113,,,241,,,,,,,51,,,115,114,116', '105,64,107,106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,', ',234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76', '341,342,79,80,,,,,,81,336,344,111,110,112,113,,,241,,,,,,,51,,,115,114', '116,105,64,107,106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,', ',,,,,234,,,240,558,,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90,91,', '92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,', '73,74,76,341,342,79,80,,,,,,81,336,344,111,110,112,113,,,241,,,,,,,51', ',,115,114,116,105,64,107,106,108,,109,117,118,,101,102,47,48,46,,,,', ',,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87', '90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45', ',75,,73,74,76,341,342,79,80,,,,,,81,336,344,111,110,112,113,,,241,,', ',,,,51,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102,47,48', '46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,431,,,,50,,,,,,,,,239', ',,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104', '71,72,44,45,,75,,73,74,76,341,342,79,80,,,,,,81,336,344,111,110,112', '113,,,241,,,,,,,51,,,115,114,116,105,64,107,106,108,,109,117,118,,101', '102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,', ',,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103', '104,71,72,44,45,,75,,73,74,76,341,342,79,80,,,,,,81,336,344,111,110', '112,113,,,241,,,,,,,51,,,115,114,116,105,64,107,106,108,,109,117,118', ',101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50', ',,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65', '89,103,104,71,72,44,45,,75,,73,74,76,33,34,79,80,,,,,,81,31,30,111,110', '112,113,,,21,,,,,,,51,,,115,114,116,105,64,107,106,108,,109,117,118', ',101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50', ',,,,,,,,22,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65', '89,103,104,71,72,44,45,,75,,73,74,76,341,342,79,80,,,,,,81,336,344,111', '110,112,113,,,241,,,,,,,51,,,115,114,116,105,64,107,106,108,314,109', '117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68', ',739,,309,,50,,,315,,,,,,239,,,,,99,312,90,91,,92,94,93,95,,,,,88,98', ',,,77,78,24,82,65,89,103,104,71,72,44,512,,75,,73,74,76,33,34,79,80', ',,,,,81,31,30,111,110,112,113,,,241,,,,,,,51,,,115,114,116,105,64,107', '106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240', ',,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88', '98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,33,34,79,80', ',,,,,81,31,30,111,110,112,113,,,21,,,,,,,51,,,115,114,116,105,64,107', '106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240', ',,66,67,,,68,,,,,,50,,,,,,,,,22,,,,,99,87,90,91,,92,94,93,95,,,,,88', '98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,33,34,79,80', ',,,,,81,31,30,111,110,112,113,,,241,,,,,,,51,,,115,114,116,105,64,107', '106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240', ',,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88', '98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,33,34,79,80', ',,,,,81,31,30,111,110,112,113,,,241,,,,,,,51,,,115,114,116,105,64,107', '106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240', ',,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88', '98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,33,34,79,80', ',,,,,81,31,30,111,110,112,113,,,241,,,,,,,51,,,115,114,116,105,64,107', '106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240', ',,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88', '98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,341,342,79', '80,,,,,,81,336,344,111,110,112,113,,,241,,,,,,,51,,,115,114,116,105', '64,107,106,108,314,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,', '234,,,240,,,66,67,,,68,,,,309,,50,,,315,,,,,,239,,,,,99,312,90,91,,92', '94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73', '74,76,341,342,79,80,,,,,,81,336,344,111,110,112,113,,,241,,,,,,,51,', ',115,114,116,105,64,107,106,108,314,109,117,118,,101,102,47,48,46,,', ',,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,739,,309,,50,,,315,,,,,,239', ',,,,99,312,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104', '71,72,44,45,,75,,73,74,76,341,342,79,80,,,,,,81,336,344,111,110,112', '113,,,241,,,,,,,51,,,115,114,116,105,64,107,106,108,,109,117,118,,101', '102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,', ',,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,,82,,89,103,104,', ',44,45,77,78,24,11,65,,,,71,72,,,,75,,73,74,76,33,34,79,80,,,,,,81,31', '30,111,110,112,113,,,21,,,,,,10,51,,12,115,114,116,105,64,107,106,108', ',109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,43,,,36,,,66,67,,', '68,,38,,,,50,,,,,,,,,22,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77', '78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,33,34,79,80,,,,,,81', '31,30,111,110,112,113,,,241,,,,,,,51,,,115,114,116,105,64,107,106,108', '314,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66', '67,,,68,,311,,309,,50,,,315,,,,,,239,,,,,99,312,90,91,,92,94,93,95,', ',,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,33,34', '79,80,,,,,,81,31,30,111,110,112,113,,,241,,,,,,,51,,,115,114,116,105', '64,107,106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234', ',,240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95', ',,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,341', '342,79,80,,,,,,81,336,344,111,110,112,113,,,241,,,,,,,51,,,115,114,116', '105,64,107,106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,', ',234,,,240,,,66,67,,,68,,841,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92,94', '93,95,,,,,88,98,,,,,,,82,,89,103,104,,,44,45,77,78,24,11,65,,,,71,72', ',,,75,,73,74,76,33,34,79,80,,,,,,81,31,30,111,110,112,113,,,21,,,,,', '10,51,,12,115,114,116,105,64,107,106,108,,109,117,118,,101,102,47,48', '46,,,,,,,,,,,,,,,,,,,,43,,,36,,,66,67,,,68,,38,,,,50,,,,,,,,,22,,,,', '99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72', '44,45,,75,,73,74,76,341,342,79,80,,,,,,81,336,344,111,110,112,113,,', '241,,,,,,,51,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102', '47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,239', ',,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104', '71,72,44,45,,75,,73,74,76,33,34,79,80,,,,,,81,31,30,111,110,112,113', ',,241,,,,,,,51,,,115,114,116,105,64,107,106,108,314,109,117,118,,101', '102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,311,,309,,50', ',,315,,,,,,239,,,,,99,312,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82', '65,89,103,104,71,72,44,45,,75,,73,74,76,33,34,79,80,,,,,,81,31,30,111', '110,112,113,,,241,,,,,,,51,,,115,114,116,105,64,107,106,108,314,109', '117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68', ',311,,309,,50,,,315,,,,,,239,,,,,99,312,90,91,,92,94,93,95,,,,,88,98', ',,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,341,342,79,80', ',,,,,81,336,344,111,110,112,113,,,241,,,,,,,51,,,115,114,116,105,64', '107,106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,', '240,,,66,67,,,68,,311,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95', ',,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,341', '342,79,80,,,,,,81,336,344,111,110,112,113,,,241,,,,,,,51,,,115,114,116', '105,64,107,106,108,314,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,', ',,,,234,,,240,,,66,67,,,68,,,,,,50,,,315,,,,,,239,,,,,99,312,90,91,', '92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,', '73,74,76,341,342,79,80,,,,,,81,336,344,111,110,112,113,,,241,,,,,,,51', ',,115,114,116,105,64,107,106,108,314,109,117,118,,101,102,47,48,46,', ',,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,739,,,,50,,,315,,,,,,239,', ',,,99,312,90,91,,92,94,93,95,,,,,88,98,,,,,,,82,,89,103,104,-270,,44', '45,,,,-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,,293,-270,,,-270,-270,,-270,,-270,,-270,,-270,-270', ',-270,-270,-270,-270,-270,,-270,-270,-270,,,,,,,,,,,,,,-270,,,-270,-270', ',-270,,-270,77,78,24,,65,,-270,,71,72,,,,75,,73,74,76,341,342,79,80', ',,,,,81,336,344,111,110,112,113,,,241,,,,,,,51,,,115,114,116,105,64', '107,106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,', '240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,', ',,88,98,,,,,,,82,,89,103,104,-705,,44,45,,,,-705,-705,-705,,,-705,-705', '-705,,-705,,,,,,,,-705,-705,-705,-705,-705,,,,,,,,-705,-705,,-705,-705', '-705,-705,-705,,,,,,,,,,,,,,,,,,,,,,,-705,-705,-705,-705,-705,-705,-705', '-705,-705,-705,-705,-705,-705,-705,,,-705,-705,-705,,,-705,,,-705,,', '-705,-705,,-705,,-705,,-705,,-705,-705,,-705,-705,-705,-705,-705,,-705', '-705,-705,,,,,,,,,,,,,,-705,,,-705,-705,-705,-705,,-705,-706,-705,,', ',,-705,-706,-706,-706,,,-706,-706,-706,,-706,,,,,,,,-706,-706,-706,-706', '-706,,,,,,,,-706,-706,,-706,-706,-706,-706,-706,,,,,,,,,,,,,,,,,,,,', ',,-706,-706,-706,-706,-706,-706,-706,-706,-706,-706,-706,-706,-706,-706', ',,-706,-706,-706,,,-706,,,-706,,,-706,-706,,-706,,-706,,-706,,-706,-706', ',-706,-706,-706,-706,-706,,-706,-706,-706,,,,,,,,,,,,,,-706,,,-706,-706', '-706,-706,,-706,,-706,,77,78,24,-706,65,,,,71,72,,,,75,,73,74,76,341', '342,79,80,,,,,,81,336,344,111,110,112,113,,,241,,,,,,,51,,,115,114,116', '105,64,107,106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,', ',234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76', '341,342,79,80,,,,,,81,336,344,111,110,112,113,,,241,,,,,,,51,,,115,114', '116,105,64,107,106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,', ',,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92', '94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73', '74,76,33,34,79,80,,,,,,81,31,30,111,110,112,113,,,21,,,,,,,51,,,115', '114,116,105,64,107,106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,', ',,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,22,,,,,99,87,90,91,', '92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,', '73,74,76,33,34,79,80,,,,,,81,31,30,111,110,112,113,,,241,,,,,,,51,,', '115,114,116,105,64,107,106,108,314,109,117,118,,101,102,47,48,46,,,', ',,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,311,,309,,50,,,315,,,,,,239', ',,,,99,312,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104', '71,72,44,45,,75,,73,74,76,341,342,79,80,,,,,,81,336,344,111,110,112', '113,,,241,,,,,,,51,,,115,114,116,105,64,107,106,108,,109,117,118,,101', '102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,', ',,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103', '104,71,72,44,45,,75,,73,74,76,341,342,79,80,,,,,,81,336,344,111,110', '112,113,,,241,,,,,,,51,,,115,114,116,105,64,107,106,108,,109,117,118', ',101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50', ',,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65', '89,103,104,71,72,44,45,,75,,73,74,76,341,342,79,80,,,,,,81,336,344,111', '110,112,113,,,241,,,,,,,51,,,115,114,116,105,64,107,106,108,,109,117', '118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,', ',50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82', '65,89,103,104,71,72,44,45,,75,,73,74,76,341,342,79,80,,,,,,81,336,344', '111,110,112,113,,,241,,,,,,,51,,,115,114,116,105,64,107,106,108,,109', '117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68', ',,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78', '24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,341,342,79,80,,,,,,81', '336,344,111,110,112,113,,,241,,,,,,,51,,,115,114,116,105,64,107,106', '108,,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66', '67,,,68,,,,,,50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,', ',,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,33,34,79,80,,', ',,,81,31,30,111,110,112,113,,,241,,,,,,,51,,,115,114,116,105,64,107', '106,108,314,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240', ',,66,67,,,68,,311,,309,,50,,,315,,,,,,239,,,,,99,312,90,91,,92,94,93', '95,,,,,88,98,,,,,,,82,,89,103,104,,,44,45,77,78,24,11,65,,,,71,72,,', ',75,,73,74,76,33,34,79,80,,,,,,81,31,30,111,110,112,113,,,21,,,,,,10', '51,322,12,115,114,116,105,64,107,106,108,,109,117,118,,101,102,47,48', '46,,,,,,,,,,,,,,,,,,,,43,,,36,,,66,67,,,68,,38,,,,50,,,,,,,,,22,,,,', '99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,415,82,,89,103,104,,,44,45,77', '78,24,,65,,,,71,72,,,,75,,73,74,76,341,342,79,80,,,,,,81,336,344,111', '110,112,113,,,241,,,,,,,51,,,115,114,116,105,64,107,106,108,,109,117', '118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,', ',50,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82', '65,89,103,104,71,72,44,45,,75,,73,74,76,341,342,79,80,,,,,,81,336,344', '111,110,112,113,,,241,,,,,,,51,,,115,114,116,105,64,107,106,108,314', '109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,', ',68,,,,309,,50,,,315,,,,,,239,,,,,99,312,90,91,,92,94,93,95,,,,,88,98', ',,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73,74,76,341,342,79,80', ',,,,,81,336,344,111,110,112,113,,,241,,,,,,,51,,,115,114,116,105,64', '107,106,108,314,109,117,118,,101,102,47,48,46,,,,,,,,,,,,,,,,,,,,234', ',,240,,,66,67,,,68,,739,,309,,50,,,315,,,,,,239,,,,,99,312,90,91,,92', '94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,,75,,73', '74,76,33,34,79,80,,,,,,81,31,30,111,110,112,113,,,241,,,,,,,51,,,115', '114,116,105,64,107,106,108,,109,117,118,,101,102,47,48,46,,,,,,,,,,', ',,,,,,,,,234,,,240,,,66,67,,,68,,431,,,,50,,,,,,,,,239,,,,,99,87,90', '91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44,45,', '75,,73,74,76,33,34,79,80,,,,,,81,31,30,111,110,112,113,,,241,,,,,,,51', ',,115,114,116,105,64,107,106,108,,109,117,118,,101,102,47,48,46,,,,', ',,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,431,,,,50,,,,,,,,,239,,,,,99', '87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44', '45,,75,,73,74,76,33,34,79,80,,,,,,81,31,30,111,110,112,113,,,21,,,,', ',,51,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102,47,48,46', ',,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,22,,,,,99', '87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44', '45,,75,,73,74,76,33,34,79,80,,,,,,81,31,30,111,110,112,113,,,21,,,,', ',,51,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102,47,48,46', ',,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,22,,,,,99', '87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44', '45,,75,,73,74,76,33,34,79,80,,,,,,81,31,30,111,110,112,113,,,241,,,', ',,,51,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102,47,48,46', ',,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,,,,,239,,,,,99', '87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,44', '45,,75,,73,74,76,33,34,79,80,,,,,,81,31,30,111,110,112,113,,,241,,,', ',,,51,,,115,114,116,105,64,107,106,108,314,109,117,118,,101,102,47,48', '46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,311,,309,,50,,,315,,,', ',,239,,,,,99,312,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103', '104,71,72,44,45,,75,,73,74,76,33,34,79,80,,,,,,81,31,30,111,110,112', '113,,,241,,,,,,,51,,,115,114,116,105,64,107,106,108,,109,117,118,,101', '102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,', ',,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103', '104,71,72,44,45,,75,,73,74,76,33,34,79,80,,,,,,81,31,30,111,110,112', '113,,,21,,,,,,,51,,,115,114,116,105,64,107,106,108,,109,117,118,,101', '102,47,48,46,,,,,,,,,,,,,,,,,,,,234,,,240,,,66,67,,,68,,,,,,50,,,,,', ',,,22,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103', '104,71,72,44,45,,75,,73,74,76,341,342,79,80,,,,,,81,336,344,111,110', '112,113,,,241,,,,,,,337,,,115,114,116,105,64,107,106,108,,109,117,118', ',101,102,,,345,,,,,,,,,,,,,,,,,,,,1102,,,240,,,66,67,,,68,,,,,,,,,,', ',,,,,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103', '104,71,72,,,,75,,73,74,76,341,342,79,80,,,,,,81,336,344,111,110,112', '113,,,241,,,,,,,337,,,115,114,116,105,64,107,106,108,,109,117,118,,101', '102,,,345,,,,,,,,,,,,,,,,,,,,390,,,36,,,66,67,,,68,,38,,,,,,,,,,,,,', ',,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104', '71,72,,,,75,,73,74,76,341,342,79,80,,,,,,81,336,344,111,110,112,113', ',,241,,,,,,,337,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102', ',,345,,,,,,,,,,,,,,,,,,,,333,,,329,,,66,67,,,68,,,,,,,,,,,,,,,,,,,,99', '87,90,91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,', ',,75,,73,74,76,341,342,79,80,,,,,,81,336,344,111,110,112,113,,,241,', ',,,,,337,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102,,,345', ',,,,,,,,,,,,,,,,,,,333,,,329,,,66,67,,,68,,,,,,,,,,,,,,,,,,,,99,87,90', '91,,92,94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,,,,75,', '73,74,76,341,342,79,80,,,,,,81,336,344,111,110,112,113,,,241,,,,,,,337', ',,115,114,116,105,64,107,106,108,,109,117,118,,101,102,,,345,,,,,,,', ',,,,,,,,,,,,333,,,329,,,66,67,,,68,,,,,,,,,,,,,,,,,,,,99,87,90,91,,92', '94,93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,,,,75,,73,74,76', '341,342,79,80,,,,,,81,336,344,111,110,112,113,,,241,,,,,,,337,,,115', '114,116,105,64,107,106,108,,109,117,118,,101,102,,,345,,,,,,,,,,,,,', ',,,,,,333,,,329,,,66,67,,,68,,328,,,,,,,,,,,,,,,,,,99,87,90,91,,92,94', '93,95,,,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,,,,75,,73,74,76,341', '342,79,80,,,,,,81,336,344,111,110,112,113,,,241,,,,,,,337,,,115,114', '116,105,64,107,106,108,,109,117,118,,101,102,,,345,,,,,,,,,,,,,,,,,', ',,333,,,329,,,66,67,,,68,,,,,,,,,,,,,,,,,,,,99,87,90,91,,92,94,93,95', ',,,,88,98,,,,77,78,24,82,65,89,103,104,71,72,,,,75,,73,74,76,341,342', '79,80,,,,,,81,336,344,111,110,112,113,,,241,,,,,,,337,,,115,114,116', '105,64,107,106,108,,109,117,118,,101,102,,,345,,,,,,,,,,,,,,,,,,,,1102', ',,240,,,66,67,,,68,,,,,,,,,,,,,,,,,,,,99,87,90,91,,92,94,93,95,,,,,88', '98,,,,77,78,24,82,65,89,103,104,71,72,,,,75,,73,74,76,341,342,79,80', ',,,,,81,336,344,111,110,112,113,,,241,,,,,,,337,,,115,114,116,395,64', '107,106,396,,109,117,118,,101,102,,,345,,,,,,,,,,,,,,,,,402,,,397,,', '240,,,66,67,,,68,,,,,,,,,,,,,,,,,,,,99,87,90,91,,92,94,93,95,,,,,88', '98,,,,77,78,24,82,65,89,103,104,71,72,,,,75,,73,74,76,341,342,79,80', ',,,,,81,336,344,111,110,112,113,,,241,,,,,,,337,,,115,114,116,105,64', '107,106,108,,109,117,118,,101,102,,,345,,,,,,,,,,,,,,,,,,,,333,,,329', ',,66,67,,,68,,,,,,,,,,,,,,,,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,', ',,77,78,24,82,65,89,103,104,71,72,,,,75,,73,74,76,341,342,79,80,,,,', ',81,336,344,111,110,112,113,,,241,,,,,,,337,,,115,114,116,395,64,107', '106,396,,109,117,118,,101,102,,,345,,,,,,,,,,,,,,,,,,,,397,,,240,,,66', '67,,,68,,,,,,,,,,,,,,,,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,77', '78,24,82,65,89,103,104,71,72,,,,75,,73,74,76,341,342,79,80,,,,,,81,336', '344,111,110,112,113,,,241,,,,,,,337,,,115,114,116,105,64,107,106,108', ',109,117,118,,101,102,,,345,,,,,,,,,,,,,,,,,,,,333,,,240,,,66,67,,,68', ',,579,,576,575,574,584,577,,,,,,,,,587,,99,87,90,91,,92,94,93,95,,,', ',88,98,,,,347,,582,82,,89,103,104,77,78,24,,65,595,594,,71,72,588,,', '75,,73,74,76,341,342,79,80,,,,,,81,336,344,111,110,112,113,,,241,,,', ',,,337,,,115,114,116,105,64,107,106,108,,109,117,118,,101,102,,,345', ',,,,,,,,,,,,,,,,,,,333,,,240,,,66,67,,,68,,,579,,576,575,574,584,577', ',,,,,,,,587,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,540,,582,82,,89,103', '104,77,78,24,,65,595,594,,71,72,588,,,75,,73,74,76,341,342,79,80,,,', ',,81,336,344,111,110,112,113,,,241,,,,,,,337,,,115,114,116,105,64,107', '106,108,,109,117,118,,101,102,,,345,,,,,,,,,,,,,,,,,,,,1108,,,240,,', '66,67,,,68,,,,,,,,,,,,,,,,,,,,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,,,,,,,,,,,,,,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,281,280,282,279,178,197,196,,,,,,177,184,175,176', '276,277,278,274,137,107,106,275,,109,,,,,,166,167,,163,145,146,147,154', '151,153,,,148,149,,,,168,169,155,156,,,,,,286,,,,,,,,160,159,,144,165', '162,161,170,157,158,152,150,142,164,143,,,171,111,110,112,113,,,,,,', ',,,,,,115,114,116,716,,,579,719,576,575,574,584,577,101,102,,,345,,', ',587,,,,,,,,,,,,,,,,718,,,700,,,582,698,,,699,,,,,592,591,595,594,,', ',588,,,,717,,,,99,87,90,91,,92,94,93,95,,,,,88,98,111,110,112,113,,', '82,,89,103,104,,,704,705,,115,114,116,716,,,579,719,576,575,574,584', '577,101,102,,,345,,,,587,,,,,,,,,,,,,,,,718,,,700,,,582,698,,,699,,', ',,592,591,595,594,,,,588,,,,717,,,,99,87,90,91,,92,94,93,95,,,,,88,98', '111,110,112,113,,,82,,89,103,104,,,704,705,,115,114,116,716,,,579,719', '576,575,574,584,577,101,102,,,345,,,,587,,,,,,,,,,,,,,,,718,,,700,,', '582,698,,,699,,,,,,,595,594,,,,588,,,,717,,,,99,87,90,91,,92,94,93,95', ',,,,88,98,111,110,112,113,,,82,,89,103,104,,,704,705,,115,114,116,716', ',,579,719,576,575,574,584,577,101,102,,,345,,,,587,,,,,,,,,,,,,,,,718', ',,700,,,582,698,,,699,,,,,592,591,595,594,,,,588,,,,717,,,,99,87,90', '91,,92,94,93,95,,,,,88,98,111,110,112,113,,,82,,89,103,104,,,704,705', ',115,114,116,716,,,579,719,576,575,574,584,577,101,102,,,345,,,,587', ',,,,,,,,,,,,,,,718,,,700,,,582,698,,,699,,,,,,,595,594,,,,588,,,,717', ',,,99,87,90,91,,92,94,93,95,,,,,88,98,111,110,112,113,,,82,,89,103,104', ',,704,705,,115,114,116,716,,,579,719,576,575,574,584,577,101,102,,,345', ',,,587,,,,,,,,,,,,,,,,718,,,700,,,582,698,,,699,,882,,,,,595,594,,,', '588,,,,717,,,,99,87,90,91,,92,94,93,95,,,,,88,98,111,110,112,113,,,82', ',89,103,104,,,704,705,,115,114,116,716,,,579,719,576,575,574,584,577', '101,102,,,345,,,,587,,,,,,,,,,,,,,,,718,,,700,,,582,698,,,699,,,,,,', '595,594,,,,588,,,,717,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,,82', ',89,103,104,,,704,705,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,,,579,,576,575,574,584,577,,,,115,114,116', '716,,587,,719,983,,,,,101,102,,,345,587,,,,,,,,,582,,,,,,,,,,718,595', '594,700,,,588,698,,,699,,882,,,,,,,588,,,,,,,717,,,,99,984,90,91,,92', '94,93,95,,,,,88,98,111,110,112,113,,,82,,89,103,104,,,704,705,,115,114', '116,716,,,579,719,576,575,574,584,577,101,102,,,345,,,,587,,,,,,,,,', ',,,,,,718,,,700,,,582,698,,,699,,882,,,592,591,595,594,,,,588,,,,717', ',,,99,87,90,91,,92,94,93,95,,,,,88,98,229,111,110,112,113,,82,,89,103', '104,,,704,705,,,115,114,116,716,,,579,719,576,575,574,584,577,101,102', ',,345,,,,587,,,,,,,,,,,,,,,,718,,,700,,,582,698,,,699,,,,,592,591,595', '594,,,,588,,,,717,,,,99,87,90,91,,92,94,93,95,,,,,88,98,111,110,112', '113,,,82,,89,103,104,,,704,705,,115,114,116,716,,,579,719,576,575,574', '584,577,101,102,,,345,,,,587,,,,,,,,,,,,,,,,718,,,700,,,582,698,,,699', ',,,,592,591,595,594,,,,588,,,,717,,,,99,87,90,91,,92,94,93,95,,,,,88', '98,111,110,112,113,,,82,,89,103,104,,,704,705,,115,114,116,716,,,579', '719,576,575,574,584,577,101,102,,,345,,,,587,,,,,,,,,,,,,,,,718,,,700', ',,582,698,,,699,,996,,,,,595,594,,,,588,,,,717,,,,99,87,90,91,,92,94', '93,95,,,,,88,98,111,110,112,113,,,82,,89,103,104,,,704,705,,115,114', '116,716,,,,719,983,,,,,101,102,,,345,587,,,,,,,,,,,,,,,,,,,718,,,700', ',,,698,,,699,,882,,,,,,,588,,,,,,,717,,,,99,984,90,91,,92,94,93,95,', ',,,88,98,111,110,112,113,,,82,,89,103,104,,,704,705,,115,114,116,716', ',,,719,983,,,,,101,102,,,345,587,,,,,,,,,,,,,,,,,,,718,,,700,,,,698', ',,699,,882,,,,,,,588,,,,,,,717,,,,99,984,90,91,,92,94,93,95,,,,,88,98', '111,110,112,113,,,82,,89,103,104,,,704,705,,115,114,116,716,,,579,719', '576,575,574,584,577,101,102,,,345,,,,587,,,,,,,,,,,,,,,,718,,,700,,', '582,698,,,699,,,,,,,595,594,,,,588,,,,717,,,,99,87,90,91,,92,94,93,95', ',,,,88,98,111,110,112,113,,,82,,89,103,104,,,704,705,,115,114,116,716', ',,579,719,576,575,574,584,577,101,102,,,345,,,,587,,,,,,,,,,,,,,,,718', ',,700,,,582,698,,,699,,,,,,,595,594,,,,588,,,,717,,,,99,87,90,91,,92', '94,93,95,,,,,88,98,111,110,112,113,,,82,,89,103,104,,,704,705,,115,114', '116,716,,,,719,,,,,,101,102,,,345,,,,,,,,111,110,112,113,,,,,,,,,718', ',,700,115,114,116,698,,,699,,882,,,,,101,102,,,345,,,,,717,,,,99,87', '90,91,,92,94,93,95,,,,,88,98,,,,,,,82,,89,103,104,,,704,705,579,,576', '575,574,584,577,,,,,99,87,90,91,587,92,94,93,95,,,,,88,98,111,110,112', '113,,,82,,89,103,104,582,638,,,,115,114,116,,592,591,595,594,,,,588', ',101,102,,,345,111,110,112,113,,,,,,,,,,,,,115,114,116,,,,,,,,,,,101', '102,,,345,,,,,,,,,,,,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,,82', ',89,103,104,,,,,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,843,457,,,844', ',82,,89,103,104,,166,167,,163,145,146,147,154,151,153,,,148,149,,,,168', '169,155,156,,,,,,293,,,,,,,,160,159,,144,165,162,161,170,157,158,152', '150,142,164,143,811,457,171,,812,,,,,,,,166,167,,163,145,146,147,154', '151,153,,,148,149,,,,168,169,155,156,,,,,,293,,,,,,,,160,159,,144,165', '162,161,170,157,158,152,150,142,164,143,453,457,171,,454,,,,,,,,166', '167,,163,145,146,147,154,151,153,,,148,149,,,,168,169,155,156,,,,,,293', ',,,,,,,160,159,,144,165,162,161,170,157,158,152,150,142,164,143,460', '464,171,,459,,,,,,,,166,167,,163,145,146,147,154,151,153,,,148,149,', ',,168,169,155,156,,,,,,293,,,,,,,,160,159,,144,165,162,161,170,157,158', '152,150,142,164,143,813,464,171,,814,,,,,,,,166,167,,163,145,146,147', '154,151,153,,,148,149,,,,168,169,155,156,,,,,,293,,,,,,,,160,159,,144', '165,162,161,170,157,158,152,150,142,164,143,752,464,171,,753,,,,,,,', '166,167,,163,145,146,147,154,151,153,,,148,149,,,,168,169,155,156,,', ',,,293,,,,,,,,160,159,,144,165,162,161,170,157,158,152,150,142,164,143', '687,457,171,,688,,,,,,,,166,167,,163,145,146,147,154,151,153,,,148,149', ',,,168,169,155,156,,,,,,293,,,,,,,,160,159,,144,165,162,161,170,157', '158,152,150,142,164,143,1187,464,171,,1186,,,,,,,,166,167,,163,145,146', '147,154,151,153,,,148,149,,,,168,169,155,156,,,,,,293,,,,,,,,160,159', ',144,165,162,161,170,157,158,152,150,142,164,143,816,464,171,,817,,', ',,,,,166,167,,163,145,146,147,154,151,153,,,148,149,,,,168,169,155,156', ',,,,,293,,,,,,,,160,159,,144,165,162,161,170,157,158,152,150,142,164', '143,687,457,171,,688,,,,,,,,166,167,,163,145,146,147,154,151,153,,,148', '149,,,,168,169,155,156,,,,,,293,,,,,,,,160,159,,144,165,162,161,170', '157,158,152,150,142,164,143,689,464,171,,690,,,,,,,,166,167,,163,145', '146,147,154,151,153,,,148,149,,,,168,169,155,156,,,,,,293,,,,,,,,160', '159,,144,165,162,161,170,157,158,152,150,142,164,143,749,457,171,,750', ',,,,,,,166,167,,163,145,146,147,154,151,153,,,148,149,,,,168,169,155', '156,,,,,,293,,,,,,,,160,159,,144,165,162,161,170,157,158,152,150,142', '164,143,508,457,171,,509,,,,,,,,166,167,,163,145,146,147,154,151,153', ',,148,149,,,,168,169,155,156,,,,,,293,,,,,,,,160,159,,144,165,162,161', '170,157,158,152,150,142,164,143,1190,457,171,,1191,,,,,,,,166,167,,163', '145,146,147,154,151,153,,,148,149,,,,168,169,155,156,,,,,,293,,,,,,', ',160,159,,144,165,162,161,170,157,158,152,150,142,164,143,689,464,171', ',690,,,,,,,,166,167,,163,145,146,147,154,151,153,,,148,149,,,,168,169', '155,156,,,,,,293,,,,,,,,160,159,,144,165,162,161,170,157,158,152,150', '142,164,143,1192,464,171,,1193,,,,,,,,166,167,,163,145,146,147,154,151', '153,,,148,149,,,,168,169,155,156,,,,,,293,,,,,,,,160,159,,144,165,162', '161,170,157,158,152,150,142,164,143,846,464,171,,845,,,,,,,,166,167', ',163,145,146,147,154,151,153,,,148,149,,,,168,169,155,156,,,,,,293,', ',,,,,,160,159,,144,165,162,161,170,157,158,152,150,142,164,143,,579', '171,576,575,574,584,577,,579,,576,575,574,584,577,587,,,,,,,,587,,,', ',,,,,,,,,,582,,,,,,,,582,592,591,595,594,,,,588,592,591,595,594,,,,588' ] racc_action_table = arr = ::Array.new(28007, 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 = [ '846,844,1049,996,1053,824,391,846,846,846,759,759,616,846,846,282,846', '46,46,874,21,1106,282,813,846,846,412,1099,411,699,688,625,814,1102', '953,985,846,846,809,846,846,846,846,846,1105,1155,699,380,1029,1196', '1053,1193,134,985,619,812,1003,134,134,1196,844,21,619,811,388,874,846', '846,846,846,846,846,846,846,846,846,846,846,846,846,282,387,846,846', '846,996,846,846,813,688,846,1109,412,846,411,46,46,814,846,1003,846', '438,846,846,759,846,846,846,846,846,108,846,846,846,824,391,616,108', '108,108,1049,616,108,108,108,1049,108,846,1193,749,846,846,813,846,108', '846,108,108,108,1106,625,814,846,953,1106,846,108,108,1051,108,108,108', '108,108,1192,1203,809,1190,1191,809,438,809,1105,1155,812,380,1029,1105', '1155,1193,380,1029,811,388,1193,51,108,108,108,108,108,108,108,108,108', '108,108,108,108,108,387,379,108,108,108,749,108,108,727,967,108,43,318', '108,108,235,108,318,108,1109,108,869,108,108,1109,108,108,108,108,108', '845,108,1108,108,69,635,635,845,845,845,1058,1192,1058,845,845,749,845', '108,749,1111,108,108,108,108,845,108,870,108,469,469,749,869,108,797', '797,108,845,845,967,845,845,845,845,845,235,589,1051,505,505,1112,752', '1051,1192,1203,52,1190,1191,1192,1203,29,1190,1191,870,589,1113,727', '845,845,845,845,845,845,845,845,845,845,845,845,845,845,338,1114,845', '845,845,330,845,845,40,379,845,69,330,845,379,911,345,345,845,635,845', '330,845,845,635,845,845,845,845,845,52,845,689,845,25,752,752,687,843', '689,689,689,469,29,689,689,689,845,689,597,845,845,1126,845,597,845', '689,689,689,689,689,505,845,1127,338,845,29,750,689,689,330,689,689', '689,689,689,752,331,1136,752,744,911,650,281,331,1073,1138,338,1141', '1085,281,752,744,331,345,345,687,843,689,689,689,689,689,689,689,689', '689,689,689,689,689,689,53,349,689,689,689,652,689,689,1142,911,689', '397,911,689,689,397,689,1143,689,475,689,750,689,689,911,689,689,689', '689,689,331,689,689,689,650,650,281,1073,1073,1073,528,1085,1085,406', '650,1144,407,689,349,410,689,689,689,689,1073,689,53,689,1085,690,349', '750,689,233,750,689,690,690,690,652,652,690,690,690,332,690,750,1146', '475,652,873,332,280,690,873,690,690,690,697,280,332,866,396,697,1151', '690,690,697,690,690,690,690,690,17,528,528,528,406,406,406,407,407,407', '410,410,410,672,232,384,5,1161,528,233,384,5,690,690,690,690,690,690', '690,690,690,690,690,690,690,690,332,41,690,690,690,396,690,690,280,1167', '690,866,396,690,690,409,690,396,690,1172,690,396,690,690,672,690,690', '690,690,690,957,690,15,690,718,957,672,232,718,904,396,904,904,904,904', '904,454,690,41,279,690,690,690,690,904,690,279,690,1186,460,41,453,690', '1052,1052,690,460,460,460,1187,396,375,460,460,375,460,904,16,16,409', '409,409,278,460,460,904,904,904,904,278,1162,1162,904,454,85,460,460', '1189,460,460,460,460,460,14,42,454,85,363,453,363,363,363,363,363,279', '413,85,12,904,9,453,1128,363,1194,1128,460,460,460,460,460,460,460,460', '460,460,460,460,460,460,1199,19,460,460,460,363,460,460,278,1200,460', '408,42,460,363,363,363,363,460,1201,460,363,460,460,42,460,460,460,460', '460,459,460,460,460,701,701,1202,459,459,459,413,413,413,459,459,277', '459,460,19,3,460,460,277,460,459,460,276,275,771,771,19,363,460,276', '275,460,459,459,1208,459,459,459,459,459,1214,408,408,408,765,389,765', '765,765,765,765,274,389,368,368,368,368,368,274,765,513,389,459,459', '459,459,459,459,459,459,459,459,459,459,459,459,277,514,459,459,459', '765,459,459,378,378,459,276,275,459,765,765,765,765,459,515,459,765', '459,459,519,459,459,459,459,459,105,459,796,459,389,796,488,105,105', '105,274,487,105,105,105,273,105,459,486,485,459,459,273,459,105,459', '105,105,105,535,372,765,459,372,536,459,105,105,539,105,105,105,105', '105,541,545,546,18,371,334,27,371,545,550,18,560,334,27,561,564,565', '545,566,18,567,334,105,105,105,105,105,105,105,105,105,105,105,105,105', '105,273,568,105,105,105,570,105,105,1148,484,105,571,581,105,105,1148', '105,471,105,593,105,596,105,105,1148,105,105,105,105,105,545,105,18', '105,334,27,533,533,533,533,533,484,753,598,461,484,484,105,600,753,105', '105,105,105,753,105,437,105,753,601,602,603,105,437,452,105,815,815', '815,815,815,815,437,1148,613,815,815,451,449,617,815,395,815,815,815', '815,815,815,815,321,321,321,321,321,815,815,815,815,815,815,815,618', '582,815,582,582,582,753,582,815,815,815,815,815,815,815,815,815,815', '815,815,437,815,815,815,628,815,815,815,815,815,817,628,395,620,350', '49,49,817,582,395,628,350,817,439,395,435,817,582,395,815,350,432,815', '430,647,815,815,1107,655,815,657,815,429,427,1107,815,664,395,421,483', '673,49,49,1107,815,678,401,683,691,815,815,815,815,692,815,815,815,815', '1071,628,694,392,815,815,390,817,717,395,1071,350,815,483,815,815,815', '483,483,815,815,820,820,820,820,820,820,720,721,386,820,820,724,726', '1107,820,816,820,820,820,820,820,820,820,385,732,733,734,1071,820,820', '820,820,820,820,820,736,738,820,376,1071,746,748,374,820,820,820,820', '820,820,820,820,820,820,820,820,373,820,820,820,1101,820,820,820,820', '820,399,1101,816,751,54,754,755,399,758,816,1101,54,369,761,816,365', '399,361,816,820,54,780,820,781,783,820,820,231,359,820,799,820,805,806', '231,820,782,816,782,782,782,355,782,231,820,810,353,346,819,820,820', '820,820,344,820,820,820,820,883,1101,340,823,820,820,339,399,825,816', '883,54,820,337,820,820,820,840,336,820,820,831,831,831,831,831,831,842', '333,851,831,831,327,326,231,831,867,831,831,831,831,831,831,831,23,325', '323,322,883,831,831,831,831,831,831,831,875,876,831,880,883,881,882', '885,831,831,831,831,831,831,831,831,831,831,831,831,310,831,831,831', '307,831,831,831,831,831,23,23,23,23,23,23,23,23,23,23,23,306,23,23,897', '900,23,23,901,831,1,23,831,768,910,831,831,292,915,831,918,831,23,768', '23,831,23,23,919,23,23,23,23,23,831,23,922,924,925,831,831,831,831,927', '831,831,831,831,929,931,932,934,831,831,937,23,768,768,944,947,831,768', '831,831,831,954,956,831,831,1007,1007,1007,1007,1007,1007,963,643,643', '1007,1007,643,643,643,1007,964,1007,1007,1007,1007,1007,1007,1007,8', '8,8,8,8,1007,1007,1007,1007,1007,1007,1007,965,966,1007,976,977,978', '979,442,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007', '241,1007,1007,1007,988,1007,1007,1007,1007,1007,442,442,442,442,442', '442,442,442,442,442,442,989,442,442,990,994,442,442,995,1007,237,236', '1007,1000,1010,1007,1007,1011,1013,1007,1014,1007,442,1015,442,1007', '442,442,1017,442,442,442,442,442,1007,442,1018,1019,234,1007,1007,1007', '1007,1045,1007,1007,1007,1007,1046,1062,213,1072,1007,1007,1080,442', '1082,442,,,1007,,1007,1007,1007,,,1007,1007,612,612,612,612,612,612', ',,,612,612,,,,612,,612,612,612,612,612,612,612,,,,,,612,612,612,612', '612,612,612,,,612,,,,,791,612,612,612,612,612,612,612,612,612,612,612', '612,,612,612,612,,612,612,612,612,612,791,791,791,791,791,791,791,791', '791,791,791,,791,791,,,791,791,,612,,,612,1088,,612,612,,,612,,612,791', '1088,791,612,791,791,,791,791,791,791,791,612,791,,,,612,612,612,612', ',612,612,612,612,,,,,612,612,,791,1088,1088,,,612,1088,612,612,612,', ',612,612,615,615,615,615,615,615,,,,615,615,,,,615,,615,615,615,615', '615,615,615,,,,,,615,615,615,615,615,615,615,,,615,,,,,448,615,615,615', '615,615,615,615,615,615,615,615,615,,615,615,615,,615,615,615,615,615', '448,448,448,448,448,448,448,448,448,448,448,,448,448,,,448,448,,615', ',,615,,,615,615,,,615,,615,448,,448,615,448,448,,448,448,448,448,448', '615,448,,,,615,615,615,615,,615,615,615,615,,,,,615,615,,448,,,,,615', ',615,615,615,,,615,615,1026,1026,1026,1026,1026,1026,,,,1026,1026,,', ',1026,,1026,1026,1026,1026,1026,1026,1026,,,,,,1026,1026,1026,1026,1026', '1026,1026,,,1026,,,,,760,1026,1026,1026,1026,1026,1026,1026,1026,1026', '1026,1026,1026,,1026,1026,1026,,1026,1026,1026,1026,1026,760,760,760', '760,760,760,760,760,760,760,760,,760,760,,,760,760,,1026,,,1026,,,1026', '1026,,,1026,,1026,760,,760,1026,760,760,,760,760,760,760,760,1026,760', ',,,1026,1026,1026,1026,,1026,1026,1026,1026,,,,,1026,1026,,760,,,,,1026', ',1026,1026,1026,,,1026,1026,215,215,215,215,215,215,,,,215,215,,,,215', ',215,215,215,215,215,215,215,,,,,,215,215,215,215,215,215,215,,1171', '215,1171,1171,1171,,1171,215,215,215,215,215,215,215,215,215,215,215', '215,,215,215,215,,215,215,215,215,215,502,502,502,502,502,502,502,502', '502,502,502,,502,502,,,502,502,,215,,,215,,,215,215,,,215,,215,502,', '502,215,502,502,,502,502,502,502,502,215,502,,,,215,215,215,215,,215', '215,215,215,,,,,215,215,502,502,,,,,215,,215,215,215,,,215,215,1063', '1063,1063,1063,1063,1063,,,,1063,1063,,,,1063,,1063,1063,1063,1063,1063', '1063,1063,,,,,,1063,1063,1063,1063,1063,1063,1063,,1065,1063,1065,1065', '1065,,1065,1063,1063,1063,1063,1063,1063,1063,1063,1063,1063,1063,1063', ',1063,1063,1063,,1063,1063,1063,1063,1063,848,848,848,848,848,848,848', '848,848,848,848,,848,848,,,848,848,,1063,,,1063,,,1063,1063,,,1063,', '1063,848,,848,1063,848,848,,848,848,848,848,848,1063,848,,,,1063,1063', '1063,1063,,1063,1063,1063,1063,,,,,1063,1063,,848,,,,,1063,,1063,1063', '1063,,,1063,1063,1064,1064,1064,1064,1064,1064,,,,1064,1064,,,,1064', ',1064,1064,1064,1064,1064,1064,1064,,,,,,1064,1064,1064,1064,1064,1064', '1064,,,1064,,,,,,1064,1064,1064,1064,1064,1064,1064,1064,1064,1064,1064', '1064,,1064,1064,1064,,1064,1064,1064,1064,1064,304,304,304,304,304,304', '304,304,304,304,304,,304,304,,,304,304,,1064,,,1064,,,1064,1064,,,1064', ',1064,304,,304,1064,304,304,,304,304,304,304,304,1064,304,,,,1064,1064', '1064,1064,,1064,1064,1064,1064,,,,,1064,1064,,304,,,,,1064,,1064,1064', '1064,,,1064,1064,636,636,636,636,636,636,,,,636,636,,,,636,,636,636', '636,636,636,636,636,,,,,,636,636,636,636,636,636,636,,,636,,,,,,636', '636,636,636,636,636,636,636,636,636,636,636,,636,636,636,,636,636,636', '636,636,1047,1047,1047,1047,1047,1047,1047,1047,1047,1047,1047,,1047', '1047,,,1047,1047,,636,,,636,,,636,636,,,636,,636,1047,,1047,636,1047', '1047,,1047,1047,1047,1047,1047,636,1047,,,,636,636,636,636,,636,636', '636,636,,,,,636,636,,1047,,,,,636,,636,636,636,,,636,636,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,557,557,557,557,557,557', '557,557,557,557,557,,557,557,,,557,557,,383,,,383,,,383,383,,,383,,383', '557,,557,383,557,557,,557,557,557,557,557,383,557,,,,383,383,383,383', ',383,383,383,383,,,,,383,383,,557,,,,,383,,383,383,383,,,383,383,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,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,', '1006,1006,,,1006,1006,,36,,,36,,,36,36,,,36,,36,1006,,1006,36,1006,1006', ',1006,1006,1006,1006,1006,36,1006,,,,36,36,36,36,,36,36,36,36,,,,,36', '36,,1006,,,,,36,,36,36,36,,,36,36,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,1024,1024,1024,1024,1024,1024,1024,1024,1024', '1024,1024,,1024,1024,,,1024,1024,,132,,,132,,,132,132,,,132,,132,1024', ',1024,132,1024,1024,,1024,1024,1024,1024,1024,132,1024,,,,132,132,132', '132,,132,132,132,132,,,,,132,132,,1024,,,,,132,,132,132,132,,,132,132', '329,329,329,329,329,329,,,,329,329,,,,329,,329,329,329,329,329,329,329', ',,,,,329,329,329,329,329,329,329,,938,329,938,938,938,,938,329,329,329', '329,329,329,329,329,329,329,329,329,,329,329,329,,329,329,329,329,329', '778,,778,778,778,,778,,938,,939,,939,939,939,,939,938,,329,,,329,,,329', '329,,499,329,,329,,,,329,,778,,1116,,1116,1116,1116,329,1116,778,939', ',329,329,329,329,,329,329,329,329,,,499,,329,329,499,499,,499,499,,329', ',329,329,329,,1116,329,329,382,382,382,382,382,382,,,,382,382,,,,382', ',382,382,382,382,382,382,382,,,,,,382,382,382,382,382,382,382,,,382', ',,498,,,382,382,382,382,382,382,382,382,382,382,382,382,,382,382,382', ',382,382,382,382,382,500,500,500,500,500,500,500,498,,500,500,498,498', ',498,498,500,500,,382,,,382,,,382,382,,,382,,382,500,,500,382,500,500', ',500,500,500,500,500,382,500,,,,382,382,382,382,,382,382,382,382,,,', ',382,382,,1115,,1115,1115,1115,382,1115,382,382,382,,,382,382,1117,1117', '1117,1117,1117,1117,,,,1117,1117,,,,1117,,1117,1117,1117,1117,1117,1117', '1117,1115,,,,,1117,1117,1117,1117,1117,1117,1117,,,1117,,,,,,1117,1117', '1117,1117,1117,1117,1117,1117,1117,1117,1117,1117,,1117,1117,1117,,1117', '1117,1117,1117,1117,496,496,496,496,496,496,496,,,496,496,,,,,,496,496', ',1117,,,1117,,,1117,1117,,,1117,,1117,496,,496,1117,496,496,,496,496', '496,496,496,1117,496,,,,1117,1117,1117,1117,,1117,1117,1117,1117,,,', ',1117,1117,,,,,,,1117,,1117,1117,1117,,,1117,1117,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,497,497,497,497,497,497,497,,', '497,497,,,,,,497,497,,324,,,324,,,324,324,,,324,,324,497,,497,324,497', '497,,497,497,497,497,497,324,497,,,,324,324,324,324,,324,324,324,324', ',,,,324,324,,,,,,,324,,324,324,324,,,324,324,905,905,905,905,905,905', ',,,905,905,,,,905,,905,905,905,905,905,905,905,,,,,,905,905,905,905', '905,905,905,,,905,,,,,,905,905,905,905,905,905,905,905,905,905,905,905', ',905,905,905,,905,905,905,905,905,495,495,495,495,495,495,495,,,495', '495,,,,,,495,495,,905,,,905,,,905,905,,,905,,905,495,,495,905,495,495', ',495,495,495,495,495,905,495,,,,905,905,905,905,,905,905,905,905,,,', ',905,905,,,,,,,905,,905,905,905,,,905,905,1163,1163,1163,1163,1163,1163', ',,,1163,1163,,,,1163,,1163,1163,1163,1163,1163,1163,1163,,,,,,1163,1163', '1163,1163,1163,1163,1163,,,1163,,,,,,1163,1163,1163,1163,1163,1163,1163', '1163,1163,1163,1163,1163,,1163,1163,1163,,1163,1163,1163,1163,1163,493', '493,493,493,493,493,493,,,493,493,,,,,,493,493,,1163,,,1163,,,1163,1163', ',,1163,,1163,493,,493,1163,493,493,,493,493,493,493,493,1163,493,,,', '1163,1163,1163,1163,,1163,1163,1163,1163,,,,,1163,1163,,,,,,,1163,,1163', '1163,1163,,,1163,1163,2,2,2,2,2,2,,,,2,2,,,,2,,2,2,2,2,2,2,2,,,,,,2', '2,2,2,2,2,2,,,2,,,,,,2,2,2,2,2,2,2,2,2,2,2,2,,2,2,2,,2,2,2,2,2,352,352', '352,352,352,352,352,352,352,352,352,,352,352,,,352,352,,2,,,2,,,2,2', ',,2,,2,352,,352,2,352,352,,352,352,352,352,352,2,352,,,,2,2,2,2,,2,2', '2,2,,,,,2,2,,,,,,,2,,2,2,2,,,2,2,367,367,367,367,367,367,,,,367,367', ',,,367,,367,367,367,367,367,367,367,,,,,,367,367,367,367,367,367,367', ',,367,,,,,,367,367,367,367,367,367,367,367,367,367,367,367,,367,367', '367,,367,367,367,367,367,351,351,351,351,351,351,351,351,351,351,351', ',351,351,,,351,351,,367,,,367,,,367,367,,,367,,367,351,,351,367,351', '351,,351,351,351,351,351,367,351,,,,367,367,367,367,,367,367,367,367', ',,,,367,367,,,,,,,367,,367,367,367,,,367,367,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,501,501,501,501,501,501,501,501,,501', '501,,,,,,501,501,,366,,,366,,,366,366,,,366,,366,501,,501,366,501,501', ',501,501,501,501,501,366,501,,,,366,366,366,366,,366,366,366,366,,,', ',366,366,,,,,,,366,,366,366,366,,,366,366,917,917,917,917,917,917,,', ',917,917,,,,917,,917,917,917,917,917,917,917,,,,,,917,917,917,917,917', '917,917,,,917,,,,,,917,917,917,917,917,917,917,917,917,917,917,917,', '917,917,917,,917,917,917,917,917,556,,,,,,,,,,,,,,,,556,556,,917,,,917', ',,917,917,,,917,,917,556,,556,917,556,556,,556,556,,,556,917,556,,,', '917,917,917,917,,917,917,917,917,,,,,917,917,,,,,,,917,,917,917,917', ',,917,917,360,360,360,360,360,360,,,,360,360,,,,360,,360,360,360,360', '360,360,360,,,,,,360,360,360,360,360,360,360,,,360,,,,,,360,360,360', '360,360,360,360,360,360,360,360,360,,360,360,360,,360,360,360,360,360', '481,481,481,481,481,481,481,481,481,481,481,,481,481,,,481,481,,360', ',,360,,,360,360,,,360,,360,481,,481,360,481,481,,481,481,481,481,481', '360,481,,,,360,360,360,360,,360,360,360,360,,,,,360,360,,,,,,,360,,360', '360,360,,,360,360,1104,1104,1104,1104,1104,1104,,,,1104,1104,,,,1104', ',1104,1104,1104,1104,1104,1104,1104,,,,,,1104,1104,1104,1104,1104,1104', '1104,,,1104,,,,,,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104', '1104,,1104,1104,1104,,1104,1104,1104,1104,1104,494,494,494,494,494,494', '494,,,494,494,,,,,,494,494,,1104,,,1104,,,1104,1104,,,1104,,1104,494', ',494,1104,494,494,,494,494,494,494,494,1104,494,,,,1104,1104,1104,1104', ',1104,1104,1104,1104,,,,,1104,1104,,,,,,,1104,,1104,1104,1104,,,1104', '1104,952,952,952,952,952,952,,,,952,952,,,,952,,952,952,952,952,952', '952,952,,,,,,952,952,952,952,952,952,952,,,952,,,,,,952,952,952,952', '952,952,952,952,952,952,952,952,,952,952,952,,952,952,952,952,952,482', '482,482,482,482,482,482,482,482,482,482,,482,482,,,482,482,,952,,,952', ',,952,952,,,952,,952,482,,482,952,482,482,,482,482,482,482,482,952,482', ',,,952,952,952,952,,952,952,952,952,,,,,952,952,,,,,,,952,,952,952,952', ',,952,952,958,958,958,958,958,958,,,,958,958,,,,958,,958,958,958,958', '958,958,958,,,,,,958,958,958,958,958,958,958,,,958,,,,,,958,958,958', '958,958,958,958,958,958,958,958,958,,958,958,958,,958,958,958,958,958', '492,492,492,492,492,492,492,,,492,492,,,,,,492,492,,958,,,958,,,958', '958,,,958,,958,492,,492,958,492,492,,492,492,492,492,492,958,492,,,', '958,958,958,958,,958,958,958,958,,,,,958,958,,,,,,,958,,958,958,958', ',,958,958,240,240,240,240,240,240,,,,240,240,,,,240,,240,240,240,240', '240,240,240,,,,,,240,240,240,240,240,240,240,,,240,,,,,,240,240,240', '240,240,240,240,240,240,240,240,240,,240,240,240,,240,240,240,240,240', '503,,,,,,,,,,,,,,,,503,503,,240,,,240,,,240,240,,,240,,240,503,,503', '240,503,503,,503,503,,,503,240,503,,,,240,240,240,240,,240,240,240,240', ',,,,240,240,,,,129,129,129,240,129,240,240,240,129,129,240,240,,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,489,,,,,,,,,,,,,,,,489,489,,129,,,129,,,129,129,,,129,,,489', ',489,129,489,489,,489,489,,,,129,,,,,129,129,129,129,,129,129,129,129', ',,,,129,129,,,,,,,129,,129,129,129,507,,129,129,,,,507,507,507,,,507', '507,507,,507,491,,,,,,,507,507,507,,,,,,,491,491,,507,507,,507,507,507', '507,507,,,,,,491,,289,289,491,491,289,491,491,,,,,,289,289,,289,289', '289,289,289,289,289,,,289,289,507,,,289,289,289,289,507,,,,,507,507', ',,,,,,289,289,,289,289,289,289,289,289,289,289,289,289,289,289,507,507', '289,,,,,,,,,,,,,507,,,507,,,,,507,7,7,7,7,7,,507,,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,490,,,,,,,,,,,,,,,,490,490,,7,,,7,,,7,7,,,7,,7,490,,490,7,490', '490,,490,490,,,,7,,,,,7,7,7,7,,7,7,7,7,,,,,7,7,,,,1152,1152,1152,7,1152', '7,7,7,1152,1152,7,7,,1152,,1152,1152,1152,1152,1152,1152,1152,,,,,,1152', '1152,1152,1152,1152,1152,1152,,,1152,,,,,,,1152,,,1152,1152,1152,1152', '1152,1152,1152,1152,1152,1152,1152,1152,,1152,1152,1152,1152,1152,,', ',,,,,,,,,,,,,,,,,1152,,,1152,,,1152,1152,,,1152,,1152,,1152,,1152,,', '1152,,,,,,1152,,,,,1152,1152,1152,1152,,1152,1152,1152,1152,,,,,1152', '1152,,,,22,22,22,1152,22,1152,1152,1152,22,22,1152,1152,,22,,22,22,22', '22,22,22,22,,,,,,22,22,22,22,22,22,22,,,22,,,,,,,22,,,22,22,22,22,22', '22,22,22,,22,22,22,,22,22,22,22,22,,,,,,,,,,,,,,,,,,,,22,,,22,,,22,22', ',,22,,,,,,22,,,,,,,,,22,,,,,22,22,22,22,,22,22,22,22,,,,,22,22,,,,1120', '1120,1120,22,1120,22,22,22,1120,1120,22,22,,1120,,1120,1120,1120,1120', '1120,1120,1120,,,,,,1120,1120,1120,1120,1120,1120,1120,,,1120,,,,,,', '1120,,,1120,1120,1120,1120,1120,1120,1120,1120,,1120,1120,1120,,1120', '1120,1120,1120,1120,,,,,,,,,,,,,,,,,,,,1120,,,1120,,,1120,1120,,,1120', ',,,,,1120,,,,,,,,,1120,,,,,1120,1120,1120,1120,,1120,1120,1120,1120', ',,,,1120,1120,,,,,,,1120,,1120,1120,1120,30,,1120,1120,,,,30,30,30,', ',30,30,30,,30,,,,,,,,30,30,30,30,,,,,,,,,30,30,,30,30,30,30,30,,,,,', ',,,,,,,,,,,,,,,,,30,30,30,30,30,30,30,30,30,30,30,30,30,30,,,30,30,30', ',,30,,30,30,,,30,30,,30,,30,,30,,30,30,,30,30,30,30,30,31,30,30,30,', ',,31,31,31,,,31,31,31,,31,30,,,30,30,,30,31,30,31,31,,,,,30,,,,31,31', ',31,31,31,31,31,,,,,,,,,,,,,,,,,,,,,,,31,31,31,31,31,31,31,31,31,31', '31,31,31,31,,,31,31,31,,,31,,31,31,,,31,31,,31,,31,,31,,31,31,,31,31', '31,31,31,,31,,31,,,,,,,,,,,,,,31,,,31,31,,31,,31,32,32,32,,32,,31,,32', '32,,,,32,,32,32,32,32,32,32,32,,,,,,32,32,32,32,32,32,32,,,32,,,,,,', '32,,,32,32,32,32,32,32,32,32,32,32,32,32,,32,32,32,32,32,,,,,,,,,,,', ',,,,,,,,32,,,32,,,32,32,,,32,,32,,32,,32,,,32,,,,,,32,,,,,32,32,32,32', ',32,32,32,32,,,,,32,32,,,,33,33,33,32,33,32,32,32,33,33,32,32,,33,,33', '33,33,33,33,33,33,,,,,,33,33,33,33,33,33,33,,,33,,,,,,,33,,,33,33,33', '33,33,33,33,33,33,33,33,33,,33,33,33,33,33,,,,,,,,,,,,,,,,,,,,33,,,33', ',,33,33,,,33,,33,,33,,33,,,33,,,,,,33,,,,,33,33,33,33,,33,33,33,33,', ',,,33,33,,,,34,34,34,33,34,33,33,33,34,34,33,33,,34,,34,34,34,34,34', '34,34,,,,,,34,34,34,34,34,34,34,,,34,,,,,,,34,,,34,34,34,34,34,34,34', '34,34,34,34,34,,34,34,34,34,34,,,,,,,,,,,,,,,,,,,,34,,,34,,,34,34,,', '34,,34,,34,,34,,,34,,,,,,34,,,,,34,34,34,34,,34,34,34,34,,,,,34,34,', ',,1119,1119,1119,34,1119,34,34,34,1119,1119,34,34,,1119,,1119,1119,1119', '1119,1119,1119,1119,,,,,,1119,1119,1119,1119,1119,1119,1119,,,1119,', ',,,,,1119,,,1119,1119,1119,1119,1119,1119,1119,1119,,1119,1119,1119', ',1119,1119,1119,1119,1119,,,,,,,,,,,,,,,,,,,,1119,,,1119,,,1119,1119', ',,1119,,,,,,1119,,,,,,,,,1119,,,,,1119,1119,1119,1119,,1119,1119,1119', '1119,,,,,1119,1119,,,,44,44,44,1119,44,1119,1119,1119,44,44,1119,1119', ',44,,44,44,44,44,44,44,44,,,,,,44,44,44,44,44,44,44,,,44,,,,,,,44,,', '44,44,44,44,44,44,44,44,,44,44,44,,44,44,44,44,44,,,,,,,,,,,,,,,,,,', ',44,,,44,,,44,44,,,44,,,,,,44,,,,,,,,,44,,,,,44,44,44,44,,44,44,44,44', ',,,,44,44,,,,45,45,45,44,45,44,44,44,45,45,44,44,,45,,45,45,45,45,45', '45,45,,,,,,45,45,45,45,45,45,45,,,45,,,,,,,45,,,45,45,45,45,45,45,45', '45,,45,45,45,,45,45,45,45,45,,,,,,,,,,,,,,,,,,,,45,,,45,,,45,45,,,45', ',,,,,45,,,,,,,,,45,,,,,45,45,45,45,,45,45,45,45,,,,,45,45,,,,47,47,47', '45,47,45,45,45,47,47,45,45,,47,,47,47,47,47,47,47,47,,,,,,47,47,47,47', '47,47,47,,,47,,,,,,,47,,,47,47,47,47,47,47,47,47,,47,47,47,,47,47,47', '47,47,,,,,,,,,,,,,,,,,,,,47,,,47,,,47,47,,,47,,,,,,47,,,,,,,,,47,,,', ',47,47,47,47,,47,47,47,47,,,,,47,47,,,,48,48,48,47,48,47,47,47,48,48', '47,47,,48,,48,48,48,48,48,48,48,,,,,,48,48,48,48,48,48,48,,,48,,,,,', ',48,,,48,48,48,48,48,48,48,48,,48,48,48,,48,48,48,48,48,,,,,,,,,,,,', ',,,,,,,48,,,48,,,48,48,,,48,,,,,,48,,,,,,,,,48,,,,,48,48,48,48,,48,48', '48,48,,,,,48,48,,,,50,50,50,48,50,48,48,48,50,50,48,48,,50,,50,50,50', '50,50,50,50,,,,,,50,50,50,50,50,50,50,,,50,,,,,,,50,,,50,50,50,50,50', '50,50,50,,50,50,50,,50,50,50,50,50,,,,,,,,,,,,,,,,,,,,50,,,50,,,50,50', ',,50,,,,,,50,,,,,,,,,50,,,,,50,50,50,50,,50,50,50,50,,,,,50,50,,,,,', ',50,,50,50,50,64,,50,50,,,,64,64,64,,,64,64,64,,64,,,,,,,,64,,64,64', '64,,,,704,704,704,704,64,64,,64,64,64,64,64,,,,,704,704,704,,,,,,,,', ',,704,704,,,704,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,,704,704', '704,704,,704,704,704,704,,,,64,704,704,64,64,64,64,,64,704,64,704,704', '704,,64,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,,,,67,67,67,66,67', '66,66,66,67,67,66,66,,67,,67,67,67,67,67,67,67,,,,,,67,67,67,67,67,67', '67,,,67,,,,,,,67,,,67,67,67,67,67,67,67,67,67,67,67,67,,67,67,67,67', '67,,,,,,,,,,,,,,,,,,,,67,,,67,,,67,67,,,67,,67,,,,67,,,67,,,,,,67,,', ',,67,67,67,67,,67,67,67,67,,,,,67,67,,,,68,68,68,67,68,67,67,67,68,68', '67,67,,68,,68,68,68,68,68,68,68,,,,,,68,68,68,68,68,68,68,,,68,,,,,', ',68,,,68,68,68,68,68,68,68,68,68,68,68,68,,68,68,68,68,68,,,,,,,,,,', ',,,,,,,,,68,,,68,,,68,68,,,68,,,,,,68,,,68,,,,,,68,,,,,68,68,68,68,', '68,68,68,68,,,,,68,68,,,,71,71,71,68,71,68,68,68,71,71,68,68,,71,,71', '71,71,71,71,71,71,,,,,,71,71,71,71,71,71,71,,,71,,,,,,,71,,,71,71,71', '71,71,71,71,71,,71,71,71,,71,71,71,71,71,,,,,,,,,,,,,,,,,,,,71,,,71', ',,71,71,,,71,,,,,,71,,,,,,,,,71,,,,,71,71,71,71,,71,71,71,71,,,,,71', '71,,,,72,72,72,71,72,71,71,71,72,72,71,71,,72,,72,72,72,72,72,72,72', ',,,,,72,72,72,72,72,72,72,,,72,,,,,,,72,,,72,72,72,72,72,72,72,72,,72', '72,72,,72,72,72,72,72,,,,,,,,,,,,,,,,,,,,72,,,72,,,72,72,,,72,,,,,,72', ',,,,,,,,72,,,,,72,72,72,72,,72,72,72,72,,,,,72,72,,,,75,75,75,72,75', '72,72,72,75,75,72,72,,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,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,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,,,,127,127,127,126,127,126,126,126,127,127,126,126,,127', ',127,127,127,127,127,127,127,,,,,,127,127,127,127,127,127,127,,,127', ',,,,,,127,,,127,127,127,127,127,127,127,127,,127,127,127,,127,127,127', '127,127,,,,,,,,,,,,,,,,,,,,127,,,127,,,127,127,,,127,,,,,,127,,,,,,', ',,127,,,,,127,127,127,127,,127,127,127,127,,,,,127,127,,,,128,128,128', '127,128,127,127,127,128,128,127,127,,128,,128,128,128,128,128,128,128', ',,,,,128,128,128,128,128,128,128,,,128,,,,,,,128,,,128,128,128,128,128', '128,128,128,,128,128,128,,128,128,128,128,128,,,,,,,,,,,,,,,,,,,,128', ',,128,,,128,128,,,128,,,,,,128,,,,,,,,,128,,,,,128,128,128,128,,128', '128,128,128,,,,,128,128,,,,512,512,512,128,512,128,128,128,512,512,128', '128,,512,,512,512,512,512,512,512,512,,,,,,512,512,512,512,512,512,512', ',,512,,,,,,,512,,,512,512,512,512,512,512,512,512,,512,512,512,,512', '512,512,512,512,,,,,,,,,,,,,,,,,,,,512,,,512,,,512,512,,,512,,,,,,512', ',,,,,,,,512,,,,,512,512,512,512,,512,512,512,512,,,,,512,512,,,,,,,512', ',512,512,512,,,512,512,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,,,,228,228,228', '130,228,130,130,130,228,228,130,130,,228,,228,228,228,228,228,228,228', ',,,,,228,228,228,228,228,228,228,,,228,,,,,,,228,,,228,228,228,228,228', '228,228,228,,228,228,228,,228,228,228,228,228,,,,,,,,,,,,,,,,,,,,228', ',,228,,,228,228,,,228,,,,,,228,,,,,,,,,228,,,,,228,228,228,228,,228', '228,228,228,,,,,228,228,228,,,239,239,239,228,239,228,228,228,239,239', '228,228,,239,,239,239,239,239,239,239,239,,,,,,239,239,239,239,239,239', '239,,,239,,,,,,,239,,,239,239,239,239,239,239,239,239,,239,239,239,', '239,239,239,239,239,,,,,,,,,,,,,,,,,,,,239,,,239,,,239,239,,,239,,,', ',,239,,,,,,,,,239,,,,,239,239,239,239,,239,239,239,239,,,,,239,239,', ',,244,244,244,239,244,239,239,239,244,244,239,239,,244,,244,244,244', '244,244,244,244,,,,,,244,244,244,244,244,244,244,,,244,,,,,,,244,,,244', '244,244,244,244,244,244,244,,244,244,244,,244,244,244,244,244,,,,,,', ',,,,,,,,,,,,,244,,,244,,,244,244,,,244,,,,,,244,,,,,,,,,244,,,,,244', '244,244,244,,244,244,244,244,,,,,244,244,,,,245,245,245,244,245,244', '244,244,245,245,244,244,,245,,245,245,245,245,245,245,245,,,,,,245,245', '245,245,245,245,245,,,245,,,,,,,245,,,245,245,245,245,245,245,245,245', ',245,245,245,,245,245,245,245,245,,,,,,,,,,,,,,,,,,,,245,,,245,,,245', '245,,,245,,,,,,245,,,,,,,,,245,,,,,245,245,245,245,,245,245,245,245', ',,,,245,245,,,,246,246,246,245,246,245,245,245,246,246,245,245,,246', ',246,246,246,246,246,246,246,,,,,,246,246,246,246,246,246,246,,,246', ',,,,,,246,,,246,246,246,246,246,246,246,246,,246,246,246,,246,246,246', '246,246,,,,,,,,,,,,,,,,,,,,246,,,246,,,246,246,,,246,,,,,,246,,,,,,', ',,246,,,,,246,246,246,246,,246,246,246,246,,,,,246,246,,,,247,247,247', '246,247,246,246,246,247,247,246,246,,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,,,,248,248,248,247,248,247,247,247,248,248,247', '247,,248,,248,248,248,248,248,248,248,,,,,,248,248,248,248,248,248,248', ',,248,,,,,,,248,,,248,248,248,248,248,248,248,248,,248,248,248,,248', '248,248,248,248,,,,,,,,,,,,,,,,,,,,248,,,248,,,248,248,,,248,,,,,,248', ',,,,,,,,248,,,,,248,248,248,248,,248,248,248,248,,,,,248,248,,,,249', '249,249,248,249,248,248,248,249,249,248,248,,249,,249,249,249,249,249', '249,249,,,,,,249,249,249,249,249,249,249,,,249,,,,,,,249,,,249,249,249', '249,249,249,249,249,,249,249,249,,249,249,249,249,249,,,,,,,,,,,,,,', ',,,,,249,,,249,,,249,249,,,249,,,,,,249,,,,,,,,,249,,,,,249,249,249', '249,,249,249,249,249,,,,,249,249,,,,250,250,250,249,250,249,249,249', '250,250,249,249,,250,,250,250,250,250,250,250,250,,,,,,250,250,250,250', '250,250,250,,,250,,,,,,,250,,,250,250,250,250,250,250,250,250,,250,250', '250,,250,250,250,250,250,,,,,,,,,,,,,,,,,,,,250,,,250,,,250,250,,,250', ',,,,,250,,,,,,,,,250,,,,,250,250,250,250,,250,250,250,250,,,,,250,250', ',,,251,251,251,250,251,250,250,250,251,251,250,250,,251,,251,251,251', '251,251,251,251,,,,,,251,251,251,251,251,251,251,,,251,,,,,,,251,,,251', '251,251,251,251,251,251,251,,251,251,251,,251,251,251,251,251,,,,,,', ',,,,,,,,,,,,,251,,,251,,,251,251,,,251,,,,,,251,,,,,,,,,251,,,,,251', '251,251,251,,251,251,251,251,,,,,251,251,,,,252,252,252,251,252,251', '251,251,252,252,251,251,,252,,252,252,252,252,252,252,252,,,,,,252,252', '252,252,252,252,252,,,252,,,,,,,252,,,252,252,252,252,252,252,252,252', ',252,252,252,,252,252,252,252,252,,,,,,,,,,,,,,,,,,,,252,,,252,,,252', '252,,,252,,,,,,252,,,,,,,,,252,,,,,252,252,252,252,,252,252,252,252', ',,,,252,252,,,,253,253,253,252,253,252,252,252,253,253,252,252,,253', ',253,253,253,253,253,253,253,,,,,,253,253,253,253,253,253,253,,,253', ',,,,,,253,,,253,253,253,253,253,253,253,253,,253,253,253,,253,253,253', '253,253,,,,,,,,,,,,,,,,,,,,253,,,253,,,253,253,,,253,,,,,,253,,,,,,', ',,253,,,,,253,253,253,253,,253,253,253,253,,,,,253,253,,,,254,254,254', '253,254,253,253,253,254,254,253,253,,254,,254,254,254,254,254,254,254', ',,,,,254,254,254,254,254,254,254,,,254,,,,,,,254,,,254,254,254,254,254', '254,254,254,,254,254,254,,254,254,254,254,254,,,,,,,,,,,,,,,,,,,,254', ',,254,,,254,254,,,254,,,,,,254,,,,,,,,,254,,,,,254,254,254,254,,254', '254,254,254,,,,,254,254,,,,255,255,255,254,255,254,254,254,255,255,254', '254,,255,,255,255,255,255,255,255,255,,,,,,255,255,255,255,255,255,255', ',,255,,,,,,,255,,,255,255,255,255,255,255,255,255,,255,255,255,,255', '255,255,255,255,,,,,,,,,,,,,,,,,,,,255,,,255,,,255,255,,,255,,,,,,255', ',,,,,,,,255,,,,,255,255,255,255,,255,255,255,255,,,,,255,255,,,,256', '256,256,255,256,255,255,255,256,256,255,255,,256,,256,256,256,256,256', '256,256,,,,,,256,256,256,256,256,256,256,,,256,,,,,,,256,,,256,256,256', '256,256,256,256,256,,256,256,256,,256,256,256,256,256,,,,,,,,,,,,,,', ',,,,,256,,,256,,,256,256,,,256,,,,,,256,,,,,,,,,256,,,,,256,256,256', '256,,256,256,256,256,,,,,256,256,,,,257,257,257,256,257,256,256,256', '257,257,256,256,,257,,257,257,257,257,257,257,257,,,,,,257,257,257,257', '257,257,257,,,257,,,,,,,257,,,257,257,257,257,257,257,257,257,,257,257', '257,,257,257,257,257,257,,,,,,,,,,,,,,,,,,,,257,,,257,,,257,257,,,257', ',,,,,257,,,,,,,,,257,,,,,257,257,257,257,,257,257,257,257,,,,,257,257', ',,,258,258,258,257,258,257,257,257,258,258,257,257,,258,,258,258,258', '258,258,258,258,,,,,,258,258,258,258,258,258,258,,,258,,,,,,,258,,,258', '258,258,258,258,258,258,258,,258,258,258,,258,258,258,258,258,,,,,,', ',,,,,,,,,,,,,258,,,258,,,258,258,,,258,,,,,,258,,,,,,,,,258,,,,,258', '258,258,258,,258,258,258,258,,,,,258,258,,,,259,259,259,258,259,258', '258,258,259,259,258,258,,259,,259,259,259,259,259,259,259,,,,,,259,259', '259,259,259,259,259,,,259,,,,,,,259,,,259,259,259,259,259,259,259,259', ',259,259,259,,259,259,259,259,259,,,,,,,,,,,,,,,,,,,,259,,,259,,,259', '259,,,259,,,,,,259,,,,,,,,,259,,,,,259,259,259,259,,259,259,259,259', ',,,,259,259,,,,260,260,260,259,260,259,259,259,260,260,259,259,,260', ',260,260,260,260,260,260,260,,,,,,260,260,260,260,260,260,260,,,260', ',,,,,,260,,,260,260,260,260,260,260,260,260,,260,260,260,,260,260,260', '260,260,,,,,,,,,,,,,,,,,,,,260,,,260,,,260,260,,,260,,,,,,260,,,,,,', ',,260,,,,,260,260,260,260,,260,260,260,260,,,,,260,260,,,,261,261,261', '260,261,260,260,260,261,261,260,260,,261,,261,261,261,261,261,261,261', ',,,,,261,261,261,261,261,261,261,,,261,,,,,,,261,,,261,261,261,261,261', '261,261,261,,261,261,261,,261,261,261,261,261,,,,,,,,,,,,,,,,,,,,261', ',,261,,,261,261,,,261,,,,,,261,,,,,,,,,261,,,,,261,261,261,261,,261', '261,261,261,,,,,261,261,,,,262,262,262,261,262,261,261,261,262,262,261', '261,,262,,262,262,262,262,262,262,262,,,,,,262,262,262,262,262,262,262', ',,262,,,,,,,262,,,262,262,262,262,262,262,262,262,,262,262,262,,262', '262,262,262,262,,,,,,,,,,,,,,,,,,,,262,,,262,,,262,262,,,262,,,,,,262', ',,,,,,,,262,,,,,262,262,262,262,,262,262,262,262,,,,,262,262,,,,263', '263,263,262,263,262,262,262,263,263,262,262,,263,,263,263,263,263,263', '263,263,,,,,,263,263,263,263,263,263,263,,,263,,,,,,,263,,,263,263,263', '263,263,263,263,263,,263,263,263,,263,263,263,263,263,,,,,,,,,,,,,,', ',,,,,263,,,263,,,263,263,,,263,,,,,,263,,,,,,,,,263,,,,,263,263,263', '263,,263,263,263,263,,,,,263,263,,,,264,264,264,263,264,263,263,263', '264,264,263,263,,264,,264,264,264,264,264,264,264,,,,,,264,264,264,264', '264,264,264,,,264,,,,,,,264,,,264,264,264,264,264,264,264,264,,264,264', '264,,264,264,264,264,264,,,,,,,,,,,,,,,,,,,,264,,,264,,,264,264,,,264', ',,,,,264,,,,,,,,,264,,,,,264,264,264,264,,264,264,264,264,,,,,264,264', ',,,265,265,265,264,265,264,264,264,265,265,264,264,,265,,265,265,265', '265,265,265,265,,,,,,265,265,265,265,265,265,265,,,265,,,,,,,265,,,265', '265,265,265,265,265,265,265,,265,265,265,,265,265,265,265,265,,,,,,', ',,,,,,,,,,,,,265,,,265,,,265,265,,,265,,,,,,265,,,,,,,,,265,,,,,265', '265,265,265,,265,265,265,265,,,,,265,265,,,,270,270,270,265,270,265', '265,265,270,270,265,265,,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,,,,971,971,971,270,971,270,270,270,971,971,270,270,,971', ',971,971,971,971,971,971,971,,,,,,971,971,971,971,971,971,971,,,971', ',,,,,,971,,,971,971,971,971,971,971,971,971,,971,971,971,,971,971,971', '971,971,,,,,,,,,,,,,,,,,,,,971,,,971,,,971,971,,,971,,,,,,971,,,,,,', ',,971,,,,,971,971,971,971,,971,971,971,971,,,,,971,971,,,,970,970,970', '971,970,971,971,971,970,970,971,971,,970,,970,970,970,970,970,970,970', ',,,,,970,970,970,970,970,970,970,,,970,,,,,,,970,,,970,970,970,970,970', '970,970,970,970,970,970,970,,970,970,970,970,970,,,,,,,,,,,,,,,,,,,', '970,,,970,,,970,970,,,970,,,,970,,970,,,970,,,,,,970,,,,,970,970,970', '970,,970,970,970,970,,,,,970,970,,,,951,951,951,970,951,970,970,970', '951,951,970,970,,951,,951,951,951,951,951,951,951,,,,,,951,951,951,951', '951,951,951,,,951,,,,,,,951,,,951,951,951,951,951,951,951,951,,951,951', '951,,951,951,951,951,951,,,,,,,,,,,,,,,,,,,,951,,,951,,,951,951,,,951', ',951,,,,951,,,,,,,,,951,,,,,951,951,951,951,,951,951,951,951,,,,,951', '951,,,,946,946,946,951,946,951,951,951,946,946,951,951,,946,,946,946', '946,946,946,946,946,,,,,,946,946,946,946,946,946,946,,,946,,,,,,,946', ',,946,946,946,946,946,946,946,946,,946,946,946,,946,946,946,946,946', ',,,,,,,,,,,,,,,,,,,946,,,946,,,946,946,,,946,,,,,,946,,,,,,,,,946,,', ',,946,946,946,946,,946,946,946,946,,,,,946,946,,,,942,942,942,946,942', '946,946,946,942,942,946,946,,942,,942,942,942,942,942,942,942,,,,,,942', '942,942,942,942,942,942,,,942,,,,,,,942,,,942,942,942,942,942,942,942', '942,,942,942,942,,942,942,942,942,942,,,,,,,,,,,,,,,,,,,,942,,,942,', ',942,942,,,942,,,,,,942,,,,,,,,,942,,,,,942,942,942,942,,942,942,942', '942,,,,,942,942,,,,286,286,286,942,286,942,942,942,286,286,942,942,', '286,,286,286,286,286,286,286,286,,,,,,286,286,286,286,286,286,286,,', '286,,,,,,,286,,,286,286,286,286,286,286,286,286,,286,286,286,,286,286', '286,286,286,,,,,,,,,,,,,,,,,,,,286,,,286,,,286,286,,,286,,,,,,286,,', ',,,,,,286,,,,,286,286,286,286,,286,286,286,286,,,,,286,286,,,,914,914', '914,286,914,286,286,286,914,914,286,286,,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,,,,,,,,,,,,,,,,,,', ',914,,,914,,,914,914,,,914,,,,,,914,,,,,,,,,914,,,,,914,914,914,914', ',914,914,914,914,,,,,914,914,,,,293,293,293,914,293,914,914,914,293', '293,914,914,,293,,293,293,293,293,293,293,293,,,,,,293,293,293,293,293', '293,293,,,293,,,,,,,293,,,293,293,293,293,293,293,293,293,293,293,293', '293,,293,293,293,293,293,,,,,,,,,,,,,,,,,,,,293,,,293,,,293,293,,,293', ',293,,293,,293,,,293,,,,,,293,,,,,293,293,293,293,,293,293,293,293,', ',,,293,293,,,,294,294,294,293,294,293,293,293,294,294,293,293,,294,', '294,294,294,294,294,294,294,,,,,,294,294,294,294,294,294,294,,,294,', ',,,,,294,,,294,294,294,294,294,294,294,294,294,294,294,294,,294,294', '294,294,294,,,,,,,,,,,,,,,,,,,,294,,,294,,,294,294,,,294,,294,,294,', '294,,,294,,,,,,294,,,,,294,294,294,294,,294,294,294,294,,,,,294,294', ',,,302,302,302,294,302,294,294,294,302,302,294,294,,302,,302,302,302', '302,302,302,302,,,,,,302,302,302,302,302,302,302,,,302,,,,,,,302,,,302', '302,302,302,302,302,302,302,302,302,302,302,,302,302,302,302,302,,,', ',,,,,,,,,,,,,,,,302,,,302,,,302,302,,,302,,302,,302,,302,,,302,,,,,', '302,,,,,302,302,302,302,,302,302,302,302,,,,,302,302,302,,,894,894,894', '302,894,302,302,302,894,894,302,302,,894,,894,894,894,894,894,894,894', ',,,,,894,894,894,894,894,894,894,,,894,,,,,,,894,,,894,894,894,894,894', '894,894,894,,894,894,894,,894,894,894,894,894,,,,,,,,,,,,,,,,,,,,894', ',,894,,,894,894,,,894,,,,,,894,,,,,,,,,894,,,,,894,894,894,894,,894', '894,894,894,,,,,894,894,,,,309,309,309,894,309,894,894,894,309,309,894', '894,,309,,309,309,309,309,309,309,309,,,,,,309,309,309,309,309,309,309', ',,309,,,,,,,309,,,309,309,309,309,309,309,309,309,,309,309,309,,309', '309,309,309,309,,,,,,,,,,,,,,,,,,,,309,,,309,,,309,309,,,309,,,,,,309', ',,,,,,,,309,,,,,309,309,309,309,,309,309,309,309,,,,,309,309,,,,311', '311,311,309,311,309,309,309,311,311,309,309,,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,,,,314,314,314,311,314,311,311,311', '314,314,311,311,,314,,314,314,314,314,314,314,314,,,,,,314,314,314,314', '314,314,314,,,314,,,,,,,314,,,314,314,314,314,314,314,314,314,,314,314', '314,,314,314,314,314,314,,,,,,,,,,,,,,,,,,,,314,,,314,,,314,314,,,314', ',,,,,314,,,,,,,,,314,,,,,314,314,314,314,,314,314,314,314,,,,,314,314', ',,,315,315,315,314,315,314,314,314,315,315,314,314,,315,,315,315,315', '315,315,315,315,,,,,,315,315,315,315,315,315,315,,,315,,,,,,,315,,,315', '315,315,315,315,315,315,315,,315,315,315,,315,315,315,315,315,,,,,,', ',,,,,,,,,,,,,315,,,315,,,315,315,,,315,,,,,,315,,,,,,,,,315,,,,,315', '315,315,315,,315,315,315,315,,,,,315,315,,,,,,,315,,315,315,315,,,315', '315,320,320,320,320,320,,,,320,320,,,,320,,320,320,320,320,320,320,320', ',,,,,320,320,320,320,320,320,320,,,320,,,,,,320,320,,320,320,320,320', '320,320,320,320,320,,320,320,320,,320,320,320,320,320,,,,,,,,,,,,,,', ',,,,,320,,,320,,,320,320,,,320,,320,,,,320,,,,,,,,,320,,,,,320,320,320', '320,,320,320,320,320,,,,,320,320,,,,865,865,865,320,865,320,320,320', '865,865,320,320,,865,,865,865,865,865,865,865,865,,,,,,865,865,865,865', '865,865,865,,,865,,,,,,,865,,,865,865,865,865,865,865,865,865,,865,865', '865,,865,865,865,865,865,,,,,,,,,,,,,,,,,,,,865,,,865,,,865,865,,,865', ',,,,,865,,,,,,,,,865,,,,,865,865,865,865,,865,865,865,865,,,,,865,865', ',,,864,864,864,865,864,865,865,865,864,864,865,865,,864,,864,864,864', '864,864,864,864,,,,,,864,864,864,864,864,864,864,,,864,,,,,,,864,,,864', '864,864,864,864,864,864,864,,864,864,864,,864,864,864,864,864,,,,,,', ',,,,,,,,,,,,,864,,,864,,,864,864,,,864,,,,,,864,,,,,,,,,864,,,,,864', '864,864,864,,864,864,864,864,,,,,864,864,,,,863,863,863,864,863,864', '864,864,863,863,864,864,,863,,863,863,863,863,863,863,863,,,,,,863,863', '863,863,863,863,863,,,863,,,,,,,863,,,863,863,863,863,863,863,863,863', ',863,863,863,,863,863,863,863,863,,,,,,,,,,,,,,,,,,,,863,,,863,,,863', '863,,,863,,,,,,863,,,,,,,,,863,,,,,863,863,863,863,,863,863,863,863', ',,,,863,863,,,,862,862,862,863,862,863,863,863,862,862,863,863,,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,,,,849,849,849', '862,849,862,862,862,849,849,862,862,,849,,849,849,849,849,849,849,849', ',,,,,849,849,849,849,849,849,849,,,849,,,,,,,849,,,849,849,849,849,849', '849,849,849,,849,849,849,,849,849,849,849,849,,,,,,,,,,,,,,,,,,,,849', ',,849,,,849,849,,,849,,,,,,849,,,,,,,,,849,,,,,849,849,849,849,,849', '849,849,849,,,,,849,849,,,,841,841,841,849,841,849,849,849,841,841,849', '849,,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,,841,841,841,841,,,,,841,841,,,,821', '821,821,841,821,841,841,841,821,821,841,841,,821,,821,821,821,821,821', '821,821,,,,,,821,821,821,821,821,821,821,,,821,,,,,,,821,,,821,821,821', '821,821,821,821,821,,821,821,821,,821,821,821,821,821,,,,,,,,,,,,,,', ',,,,,821,,,821,,,821,821,,,821,,,,,,821,,,,,,,,,821,,,,,821,821,821', '821,,821,821,821,821,,,,,821,821,,,,356,356,356,821,356,821,821,821', '356,356,821,821,,356,,356,356,356,356,356,356,356,,,,,,356,356,356,356', '356,356,356,,,356,,,,,,,356,,,356,356,356,356,356,356,356,356,,356,356', '356,,356,356,356,356,356,,,,,,,,,,,,,,,,,,,,356,,,356,,,356,356,,,356', ',,,,,356,,,,,,,,,356,,,,,356,356,356,356,,356,356,356,356,,,,,356,356', ',,,358,358,358,356,358,356,356,356,358,358,356,356,,358,,358,358,358', '358,358,358,358,,,,,,358,358,358,358,358,358,358,,,358,,,,,,,358,,,358', '358,358,358,358,358,358,358,,358,358,358,,358,358,358,358,358,,,,,,', ',,,,,,,,,,,,,358,,,358,358,,358,358,,,358,,,,,,358,,,,,,,,,358,,,,,358', '358,358,358,,358,358,358,358,,,,,358,358,,,,776,776,776,358,776,358', '358,358,776,776,358,358,,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,,,,762,762,762,776,762,776,776,776,762,762,776,776,,762', ',762,762,762,762,762,762,762,,,,,,762,762,762,762,762,762,762,,,762', ',,,,,,762,,,762,762,762,762,762,762,762,762,,762,762,762,,762,762,762', '762,762,,,,,,,,,,,,,,,,,,,,762,,,762,,,762,762,,,762,,762,,,,762,,,', ',,,,,762,,,,,762,762,762,762,,762,762,762,762,,,,,762,762,,,,742,742', '742,762,742,762,762,762,742,742,762,762,,742,,742,742,742,742,742,742', '742,,,,,,742,742,742,742,742,742,742,,,742,,,,,,,742,,,742,742,742,742', '742,742,742,742,,742,742,742,,742,742,742,742,742,,,,,,,,,,,,,,,,,,', ',742,,,742,,,742,742,,,742,,,,,,742,,,,,,,,,742,,,,,742,742,742,742', ',742,742,742,742,,,,,742,742,,,,739,739,739,742,739,742,742,742,739', '739,742,742,,739,,739,739,739,739,739,739,739,,,,,,739,739,739,739,739', '739,739,,,739,,,,,,,739,,,739,739,739,739,739,739,739,739,,739,739,739', ',739,739,739,739,739,,,,,,,,,,,,,,,,,,,,739,,,739,,,739,739,,,739,,', ',,,739,,,,,,,,,739,,,,,739,739,739,739,,739,739,739,739,,,,,739,739', ',,,381,381,381,739,381,739,739,739,381,381,739,739,,381,,381,381,381', '381,381,381,381,,,,,,381,381,381,381,381,381,381,,,381,,,,,,,381,,,381', '381,381,381,381,381,381,381,,381,381,381,,381,381,381,381,381,,,,,,', ',,,,,,,,,,,,,381,,,381,,,381,381,,,381,,,,,,381,,,,,,,,,381,,,,,381', '381,381,381,,381,381,381,381,,,,,381,381,,,,730,730,730,381,730,381', '381,381,730,730,381,381,,730,,730,730,730,730,730,730,730,,,,,,730,730', '730,730,730,730,730,,,730,,,,,,,730,,,730,730,730,730,730,730,730,730', '730,730,730,730,,730,730,730,730,730,,,,,,,,,,,,,,,,,,,,730,,,730,,', '730,730,,,730,,730,,730,,730,,,730,,,,,,730,,,,,730,730,730,730,,730', '730,730,730,,,,,730,730,,,,682,682,682,730,682,730,730,730,682,682,730', '730,,682,,682,682,682,682,682,682,682,,,,,,682,682,682,682,682,682,682', ',,682,,,,,,,682,,,682,682,682,682,682,682,682,682,,682,682,682,,682', '682,682,682,682,,,,,,,,,,,,,,,,,,,,682,,,682,,,682,682,,,682,,,,,,682', ',,,,,,,,682,,,,,682,682,682,682,,682,682,682,682,,,,,682,682,,,,402', '402,402,682,402,682,682,682,402,402,682,682,,402,,402,402,402,402,402', '402,402,,,,,,402,402,402,402,402,402,402,,,402,,,,,,,402,,,402,402,402', '402,402,402,402,402,,402,402,402,,402,402,402,402,402,,,,,,,,,,,,,,', ',,,,,402,,,402,,,402,402,,,402,,,,,,402,,,,,,,,,402,,,,,402,402,402', '402,,402,402,402,402,,,,,402,402,,,,681,681,681,402,681,402,402,402', '681,681,402,402,,681,,681,681,681,681,681,681,681,,,,,,681,681,681,681', '681,681,681,,,681,,,,,,,681,,,681,681,681,681,681,681,681,681,,681,681', '681,,681,681,681,681,681,,,,,,,,,,,,,,,,,,,,681,,,681,,,681,681,,,681', ',,,,,681,,,,,,,,,681,,,,,681,681,681,681,,681,681,681,681,,,,,681,681', ',,,677,677,677,681,677,681,681,681,677,677,681,681,,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,,,,676,676,676,677,676,677', '677,677,676,676,677,677,,676,,676,676,676,676,676,676,676,,,,,,676,676', '676,676,676,676,676,,,676,,,,,,,676,,,676,676,676,676,676,676,676,676', ',676,676,676,,676,676,676,676,676,,,,,,,,,,,,,,,,,,,,676,,,676,,,676', '676,,,676,,,,,,676,,,,,,,,,676,,,,,676,676,676,676,,676,676,676,676', ',,,,676,676,,,,675,675,675,676,675,676,676,676,675,675,676,676,,675', ',675,675,675,675,675,675,675,,,,,,675,675,675,675,675,675,675,,,675', ',,,,,,675,,,675,675,675,675,675,675,675,675,675,675,675,675,,675,675', '675,675,675,,,,,,,,,,,,,,,,,,,,675,,,675,,,675,675,,,675,,,,675,,675', ',,675,,,,,,675,,,,,675,675,675,675,,675,675,675,675,,,,,675,675,,,,674', '674,674,675,674,675,675,675,674,674,675,675,,674,,674,674,674,674,674', '674,674,,,,,,674,674,674,674,674,674,674,,,674,,,,,,,674,,,674,674,674', '674,674,674,674,674,674,674,674,674,,674,674,674,674,674,,,,,,,,,,,', ',,,,,,,,674,,,674,,,674,674,,,674,,674,,674,,674,,,674,,,,,,674,,,,', '674,674,674,674,,674,674,674,674,,,,,674,674,,,,671,671,671,674,671', '674,674,674,671,671,674,674,,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,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,670,670,670,670,670', ',,,670,670,,,,670,,670,670,670,670,670,670,670,,,,,,670,670,670,670', '670,670,670,,,670,,,,,,670,670,,670,670,670,670,670,670,670,670,670', ',670,670,670,,670,670,670,670,670,,,,,,,,,,,,,,,,,,,,670,,,670,,,670', '670,,,670,,670,,,,670,,,,,,,,,670,,,,,670,670,670,670,,670,670,670,670', ',,,,670,670,,,,667,667,667,670,667,670,670,670,667,667,670,670,,667', ',667,667,667,667,667,667,667,,,,,,667,667,667,667,667,667,667,,,667', ',,,,,,667,,,667,667,667,667,667,667,667,667,667,667,667,667,,667,667', '667,667,667,,,,,,,,,,,,,,,,,,,,667,,,667,,,667,667,,,667,,667,,667,', '667,,,667,,,,,,667,,,,,667,667,667,667,,667,667,667,667,,,,,667,667', ',,,666,666,666,667,666,667,667,667,666,666,667,667,,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,,,,665,665,665,666,665,666', '666,666,665,665,666,666,,665,,665,665,665,665,665,665,665,,,,,,665,665', '665,665,665,665,665,,,665,,,,,,,665,,,665,665,665,665,665,665,665,665', ',665,665,665,,665,665,665,665,665,,,,,,,,,,,,,,,,,,,,665,,,665,,,665', '665,,,665,,665,,,,665,,,,,,,,,665,,,,,665,665,665,665,,665,665,665,665', ',,,,665,665,,,,,,,665,,665,665,665,,,665,665,663,663,663,663,663,,,', '663,663,,,,663,,663,663,663,663,663,663,663,,,,,,663,663,663,663,663', '663,663,,,663,,,,,,663,663,,663,663,663,663,663,663,663,663,663,,663', '663,663,,663,663,663,663,663,,,,,,,,,,,,,,,,,,,,663,,,663,,,663,663', ',,663,,663,,,,663,,,,,,,,,663,,,,,663,663,663,663,,663,663,663,663,', ',,,663,663,,,,431,431,431,663,431,663,663,663,431,431,663,663,,431,', '431,431,431,431,431,431,431,,,,,,431,431,431,431,431,431,431,,,431,', ',,,,,431,,,431,431,431,431,431,431,431,431,,431,431,431,,431,431,431', '431,431,,,,,,,,,,,,,,,,,,,,431,,,431,,,431,431,,,431,,,,,,431,,,,,,', ',,431,,,,,431,431,431,431,,431,431,431,431,,,,,431,431,,,,632,632,632', '431,632,431,431,431,632,632,431,431,,632,,632,632,632,632,632,632,632', ',,,,,632,632,632,632,632,632,632,,,632,,,,,,,632,,,632,632,632,632,632', '632,632,632,632,632,632,632,,632,632,632,632,632,,,,,,,,,,,,,,,,,,,', '632,,,632,,,632,632,,,632,,632,,632,,632,,,632,,,,,,632,,,,,632,632', '632,632,,632,632,632,632,,,,,632,632,,,,622,622,622,632,622,632,632', '632,622,622,632,632,,622,,622,622,622,622,622,622,622,,,,,,622,622,622', '622,622,622,622,,,622,,,,,,,622,,,622,622,622,622,622,622,622,622,622', '622,622,622,,622,622,622,622,622,,,,,,,,,,,,,,,,,,,,622,,,622,,,622', '622,,,622,,622,,622,,622,,,622,,,,,,622,,,,,622,622,622,622,,622,622', '622,622,,,,,622,622,,,,621,621,621,622,621,622,622,622,621,621,622,622', ',621,,621,621,621,621,621,621,621,,,,,,621,621,621,621,621,621,621,', ',621,,,,,,,621,,,621,621,621,621,621,621,621,621,,621,621,621,,621,621', '621,621,621,,,,,,,,,,,,,,,,,,,,621,,,621,,,621,621,,,621,,621,,,,621', ',,,,,,,,621,,,,,621,621,621,621,,621,621,621,621,,,,,621,621,,,,608', '608,608,621,608,621,621,621,608,608,621,621,,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,,,,605,605,605,608,605,608,608', '608,605,605,608,608,,605,,605,605,605,605,605,605,605,,,,,,605,605,605', '605,605,605,605,,,605,,,,,,,605,,,605,605,605,605,605,605,605,605,605', '605,605,605,,605,605,605,605,605,,,,,,,,,,,,,,,,,,,,605,,,605,,,605', '605,,,605,,605,,,,605,,,605,,,,,,605,,,,,605,605,605,605,,605,605,605', '605,,,,,605,605,,,,,,,605,,605,605,605,455,,605,605,,,,455,455,455,', ',455,455,455,,455,,,,,,,,455,455,455,455,,,,,,,,,455,455,,455,455,455', '455,455,,,,,,,,,,,,,,,,,,,,,,,455,455,455,455,455,455,455,455,455,455', '455,455,455,455,,,455,455,455,,,455,,455,455,,,455,455,,455,,455,,455', ',455,455,,455,455,455,455,455,,455,455,455,,,,,,,,,,,,,,455,,,455,455', ',455,,455,599,599,599,,599,,455,,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,599,599,599,,,,,,,,,,,,,,', ',,,,,599,,,599,,,599,599,,,599,,,,,,599,,,,,,,,,599,,,,,599,599,599', '599,,599,599,599,599,,,,,599,599,,,,,,,599,,599,599,599,464,,599,599', ',,,464,464,464,,,464,464,464,,464,,,,,,,,464,464,464,464,464,,,,,,,', '464,464,,464,464,464,464,464,,,,,,,,,,,,,,,,,,,,,,,464,464,464,464,464', '464,464,464,464,464,464,464,464,464,,,464,464,464,,,464,,,464,,,464', '464,,464,,464,,464,,464,464,,464,464,464,464,464,,464,464,464,,,,,,', ',,,,,,,464,,,464,464,464,464,,464,465,464,,,,,464,465,465,465,,,465', '465,465,,465,,,,,,,,465,465,465,465,465,,,,,,,,465,465,,465,465,465', '465,465,,,,,,,,,,,,,,,,,,,,,,,465,465,465,465,465,465,465,465,465,465', '465,465,465,465,,,465,465,465,,,465,,,465,,,465,465,,465,,465,,465,', '465,465,,465,465,465,465,465,,465,465,465,,,,,,,,,,,,,,465,,,465,465', '465,465,,465,,465,,585,585,585,465,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,585,585,585,,,,,585,585,,,,559,559,559,585,559,585', '585,585,559,559,585,585,,559,,559,559,559,559,559,559,559,,,,,,559,559', '559,559,559,559,559,,,559,,,,,,,559,,,559,559,559,559,559,559,559,559', ',559,559,559,,559,559,559,559,559,,,,,,,,,,,,,,,,,,,,559,,,559,,,559', '559,,,559,,,,,,559,,,,,,,,,559,,,,,559,559,559,559,,559,559,559,559', ',,,,559,559,,,,558,558,558,559,558,559,559,559,558,558,559,559,,558', ',558,558,558,558,558,558,558,,,,,,558,558,558,558,558,558,558,,,558', ',,,,,,558,,,558,558,558,558,558,558,558,558,,558,558,558,,558,558,558', '558,558,,,,,,,,,,,,,,,,,,,,558,,,558,,,558,558,,,558,,,,,,558,,,,,,', ',,558,,,,,558,558,558,558,,558,558,558,558,,,,,558,558,,,,474,474,474', '558,474,558,558,558,474,474,558,558,,474,,474,474,474,474,474,474,474', ',,,,,474,474,474,474,474,474,474,,,474,,,,,,,474,,,474,474,474,474,474', '474,474,474,474,474,474,474,,474,474,474,474,474,,,,,,,,,,,,,,,,,,,', '474,,,474,,,474,474,,,474,,474,,474,,474,,,474,,,,,,474,,,,,474,474', '474,474,,474,474,474,474,,,,,474,474,,,,555,555,555,474,555,474,474', '474,555,555,474,474,,555,,555,555,555,555,555,555,555,,,,,,555,555,555', '555,555,555,555,,,555,,,,,,,555,,,555,555,555,555,555,555,555,555,,555', '555,555,,555,555,555,555,555,,,,,,,,,,,,,,,,,,,,555,,,555,,,555,555', ',,555,,,,,,555,,,,,,,,,555,,,,,555,555,555,555,,555,555,555,555,,,,', '555,555,,,,476,476,476,555,476,555,555,555,476,476,555,555,,476,,476', '476,476,476,476,476,476,,,,,,476,476,476,476,476,476,476,,,476,,,,,', ',476,,,476,476,476,476,476,476,476,476,,476,476,476,,476,476,476,476', '476,,,,,,,,,,,,,,,,,,,,476,,,476,,,476,476,,,476,,,,,,476,,,,,,,,,476', ',,,,476,476,476,476,,476,476,476,476,,,,,476,476,,,,477,477,477,476', '477,476,476,476,477,477,476,476,,477,,477,477,477,477,477,477,477,,', ',,,477,477,477,477,477,477,477,,,477,,,,,,,477,,,477,477,477,477,477', '477,477,477,,477,477,477,,477,477,477,477,477,,,,,,,,,,,,,,,,,,,,477', ',,477,,,477,477,,,477,,,,,,477,,,,,,,,,477,,,,,477,477,477,477,,477', '477,477,477,,,,,477,477,,,,478,478,478,477,478,477,477,477,478,478,477', '477,,478,,478,478,478,478,478,478,478,,,,,,478,478,478,478,478,478,478', ',,478,,,,,,,478,,,478,478,478,478,478,478,478,478,,478,478,478,,478', '478,478,478,478,,,,,,,,,,,,,,,,,,,,478,,,478,,,478,478,,,478,,,,,,478', ',,,,,,,,478,,,,,478,478,478,478,,478,478,478,478,,,,,478,478,,,,552', '552,552,478,552,478,478,478,552,552,478,478,,552,,552,552,552,552,552', '552,552,,,,,,552,552,552,552,552,552,552,,,552,,,,,,,552,,,552,552,552', '552,552,552,552,552,,552,552,552,,552,552,552,552,552,,,,,,,,,,,,,,', ',,,,,552,,,552,,,552,552,,,552,,,,,,552,,,,,,,,,552,,,,,552,552,552', '552,,552,552,552,552,,,,,552,552,,,,542,542,542,552,542,552,552,552', '542,542,552,552,,542,,542,542,542,542,542,542,542,,,,,,542,542,542,542', '542,542,542,,,542,,,,,,,542,,,542,542,542,542,542,542,542,542,542,542', '542,542,,542,542,542,542,542,,,,,,,,,,,,,,,,,,,,542,,,542,,,542,542', ',,542,,542,,542,,542,,,542,,,,,,542,,,,,542,542,542,542,,542,542,542', '542,,,,,542,542,,,,,,,542,,542,542,542,,,542,542,532,532,532,532,532', ',,,532,532,,,,532,,532,532,532,532,532,532,532,,,,,,532,532,532,532', '532,532,532,,,532,,,,,,532,532,532,532,532,532,532,532,532,532,532,532', ',532,532,532,,532,532,532,532,532,,,,,,,,,,,,,,,,,,,,532,,,532,,,532', '532,,,532,,532,,,,532,,,,,,,,,532,,,,,532,532,532,532,,532,532,532,532', ',,,,532,532,,,,,,532,532,,532,532,532,,,532,532,526,526,526,,526,,,', '526,526,,,,526,,526,526,526,526,526,526,526,,,,,,526,526,526,526,526', '526,526,,,526,,,,,,,526,,,526,526,526,526,526,526,526,526,,526,526,526', ',526,526,526,526,526,,,,,,,,,,,,,,,,,,,,526,,,526,,,526,526,,,526,,', ',,,526,,,,,,,,,526,,,,,526,526,526,526,,526,526,526,526,,,,,526,526', ',,,524,524,524,526,524,526,526,526,524,524,526,526,,524,,524,524,524', '524,524,524,524,,,,,,524,524,524,524,524,524,524,,,524,,,,,,,524,,,524', '524,524,524,524,524,524,524,524,524,524,524,,524,524,524,524,524,,,', ',,,,,,,,,,,,,,,,524,,,524,,,524,524,,,524,,,,524,,524,,,524,,,,,,524', ',,,,524,524,524,524,,524,524,524,524,,,,,524,524,,,,522,522,522,524', '522,524,524,524,522,522,524,524,,522,,522,522,522,522,522,522,522,,', ',,,522,522,522,522,522,522,522,,,522,,,,,,,522,,,522,522,522,522,522', '522,522,522,522,522,522,522,,522,522,522,522,522,,,,,,,,,,,,,,,,,,,', '522,,,522,,,522,522,,,522,,522,,522,,522,,,522,,,,,,522,,,,,522,522', '522,522,,522,522,522,522,,,,,522,522,,,,216,216,216,522,216,522,522', '522,216,216,522,522,,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,,,,217,217,217,216,217,216,216,216,217,217,216,216,,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,,,,218,218', '218,217,218,217,217,217,218,218,217,217,,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,,,,219,219,219,218,219,218,218,218,219', '219,218,218,,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', ',,,220,220,220,219,220,219,219,219,220,220,219,219,,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,,,,221,221,221,220,221,220', '220,220,221,221,220,220,,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,,,,226,226,226,221,226,221,221,221,226,226,221', '221,,226,,226,226,226,226,226,226,226,,,,,,226,226,226,226,226,226,226', ',,226,,,,,,,226,,,226,226,226,226,226,226,226,226,,226,226,226,,226', '226,226,226,226,,,,,,,,,,,,,,,,,,,,226,,,226,,,226,226,,,226,,,,,,226', ',,,,,,,,226,,,,,226,226,226,226,,226,226,226,226,,,,,226,226,,,,227', '227,227,226,227,226,226,226,227,227,226,226,,227,,227,227,227,227,227', '227,227,,,,,,227,227,227,227,227,227,227,,,227,,,,,,,227,,,227,227,227', '227,227,227,227,227,,227,227,227,,227,227,227,227,227,,,,,,,,,,,,,,', ',,,,,227,,,227,,,227,227,,,227,,,,,,227,,,,,,,,,227,,,,,227,227,227', '227,,227,227,227,227,,,,,227,227,,,,1020,1020,1020,227,1020,227,227', '227,1020,1020,227,227,,1020,,1020,1020,1020,1020,1020,1020,1020,,,,', ',1020,1020,1020,1020,1020,1020,1020,,,1020,,,,,,,1020,,,1020,1020,1020', '1020,1020,1020,1020,1020,,1020,1020,1020,,1020,1020,,,1020,,,,,,,,,', ',,,,,,,,,,1020,,,1020,,,1020,1020,,,1020,,,,,,,,,,,,,,,,,,,,1020,1020', '1020,1020,,1020,1020,1020,1020,,,,,1020,1020,,,,76,76,76,1020,76,1020', '1020,1020,76,76,,,,76,,76,76,76,76,76,76,76,,,,,,76,76,76,76,76,76,76', ',,76,,,,,,,76,,,76,76,76,76,76,76,76,76,,76,76,76,,76,76,,,76,,,,,,', ',,,,,,,,,,,,,76,,,76,,,76,76,,,76,,76,,,,,,,,,,,,,,,,,,76,76,76,76,', '76,76,76,76,,,,,76,76,,,,745,745,745,76,745,76,76,76,745,745,,,,745', ',745,745,745,745,745,745,745,,,,,,745,745,745,745,745,745,745,,,745', ',,,,,,745,,,745,745,745,745,745,745,745,745,,745,745,745,,745,745,,', '745,,,,,,,,,,,,,,,,,,,,745,,,745,,,745,745,,,745,,,,,,,,,,,,,,,,,,,', '745,745,745,745,,745,745,745,745,,,,,745,745,,,,756,756,756,745,756', '745,745,745,756,756,,,,756,,756,756,756,756,756,756,756,,,,,,756,756', '756,756,756,756,756,,,756,,,,,,,756,,,756,756,756,756,756,756,756,756', ',756,756,756,,756,756,,,756,,,,,,,,,,,,,,,,,,,,756,,,756,,,756,756,', ',756,,,,,,,,,,,,,,,,,,,,756,756,756,756,,756,756,756,756,,,,,756,756', ',,,347,347,347,756,347,756,756,756,347,347,,,,347,,347,347,347,347,347', '347,347,,,,,,347,347,347,347,347,347,347,,,347,,,,,,,347,,,347,347,347', '347,347,347,347,347,,347,347,347,,347,347,,,347,,,,,,,,,,,,,,,,,,,,347', ',,347,,,347,347,,,347,,,,,,,,,,,,,,,,,,,,347,347,347,347,,347,347,347', '347,,,,,347,347,,,,37,37,37,347,37,347,347,347,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,,,,549,549', '549,37,549,37,37,37,549,549,,,,549,,549,549,549,549,549,549,549,,,,', ',549,549,549,549,549,549,549,,,549,,,,,,,549,,,549,549,549,549,549,549', '549,549,,549,549,549,,549,549,,,549,,,,,,,,,,,,,,,,,,,,549,,,549,,,549', '549,,,549,,,,,,,,,,,,,,,,,,,,549,549,549,549,,549,549,549,549,,,,,549', '549,,,,1100,1100,1100,549,1100,549,549,549,1100,1100,,,,1100,,1100,1100', '1100,1100,1100,1100,1100,,,,,,1100,1100,1100,1100,1100,1100,1100,,,1100', ',,,,,,1100,,,1100,1100,1100,1100,1100,1100,1100,1100,,1100,1100,1100', ',1100,1100,,,1100,,,,,,,,,,,,,,,,,,,,1100,,,1100,,,1100,1100,,,1100', ',,,,,,,,,,,,,,,,,,,1100,1100,1100,1100,,1100,1100,1100,1100,,,,,1100', '1100,,,,77,77,77,1100,77,1100,1100,1100,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,,,,540,540,540', '77,540,77,77,77,540,540,,,,540,,540,540,540,540,540,540,540,,,,,,540', '540,540,540,540,540,540,,,540,,,,,,,540,,,540,540,540,540,540,540,540', '540,,540,540,540,,540,540,,,540,,,,,,,,,,,,,,,,,,,,540,,,540,,,540,540', ',,540,,,,,,,,,,,,,,,,,,,,540,540,540,540,,540,540,540,540,,,,,540,540', ',,,78,78,78,540,78,540,540,540,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,,,,38,38,38,78,38,78,78,78', '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,,,774,,774,774,774,774,774,,,,,,,,,774,,38', '38,38,38,,38,38,38,38,,,,,38,38,,,,38,,774,38,,38,38,38,328,328,328', ',328,774,774,,328,328,774,,,328,,328,328,328,328,328,328,328,,,,,,328', '328,328,328,328,328,328,,,328,,,,,,,328,,,328,328,328,328,328,328,328', '328,,328,328,328,,328,328,,,328,,,,,,,,,,,,,,,,,,,,328,,,328,,,328,328', ',,328,,,1040,,1040,1040,1040,1040,1040,,,,,,,,,1040,,328,328,328,328', ',328,328,328,328,,,,,328,328,,,,328,,1040,328,,328,328,328,1030,1030', '1030,,1030,1040,1040,,1030,1030,1040,,,1030,,1030,1030,1030,1030,1030', '1030,1030,,,,,,1030,1030,1030,1030,1030,1030,1030,,,1030,,,,,,,1030', ',,1030,1030,1030,1030,1030,1030,1030,1030,,1030,1030,1030,,1030,1030', ',,1030,,,,,,,,,,,,,,,,,,,,1030,,,1030,,,1030,1030,,,1030,,,,,,,,,,,', ',,,,,,,,1030,1030,1030,1030,,1030,1030,1030,1030,,,,,1030,1030,,,,,', ',1030,,1030,1030,1030,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11', '11,11,11,11,11,11,11,11,,,,11,11,11,11,11,11,11,11,11,11,,,,,,11,11', '11,11,11,11,11,11,11,,,11,,,,,,,,11,11,,11,11,11,11,11,11,11,,,11,11', ',,,11,11,11,11,,,,,,,,,,,,,,11,11,,11,11,11,11,11,11,11,11,11,11,11', '11,,,11,11,,,,,,,,,,,,,,11,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,661,661,661,661,661,661,661,661,661', '661,661,661,661,661,661,661,661,661,661,661,661,661,661,661,,,,661,661', '661,661,661,661,661,661,661,661,,,,,,661,661,661,661,661,661,661,661', '661,,,661,,,,,,,,661,661,,661,661,661,661,661,661,661,,,661,661,,,,661', '661,661,661,,,,,,,,,,,,,,661,661,,661,661,661,661,661,661,661,661,661', '661,661,661,,,661,661,,,,,,,,,,,,,,661,422,422,422,422,422,422,422,422', '422,422,422,422,422,422,422,422,422,422,422,422,422,422,422,422,,,,422', '422,422,422,422,422,422,422,422,422,,,,,,422,422,422,422,422,422,422', '422,422,,,422,,,,,,,,422,422,,422,422,422,422,422,422,422,,,422,422', ',,,422,422,422,422,,,,,,,,,,,,,,422,422,,422,422,422,422,422,422,422', '422,422,422,422,422,,,422,422,,,,,,,,,,,,,,422,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,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,998,998,998,998,,,,,,,,,,', ',,998,998,998,998,,,364,998,364,364,364,364,364,998,998,,,998,,,,364', ',,,,,,,,,,,,,,,998,,,998,,,364,998,,,998,,,,,364,364,364,364,,,,364', ',,,998,,,,998,998,998,998,,998,998,998,998,,,,,998,998,1081,1081,1081', '1081,,,998,,998,998,998,,,998,998,,1081,1081,1081,1081,,,790,1081,790', '790,790,790,790,1081,1081,,,1081,,,,790,,,,,,,,,,,,,,,,1081,,,1081,', ',790,1081,,,1081,,,,,790,790,790,790,,,,790,,,,1081,,,,1081,1081,1081', '1081,,1081,1081,1081,1081,,,,,1081,1081,982,982,982,982,,,1081,,1081', '1081,1081,,,1081,1081,,982,982,982,982,,,1209,982,1209,1209,1209,1209', '1209,982,982,,,982,,,,1209,,,,,,,,,,,,,,,,982,,,982,,,1209,982,,,982', ',,,,,,1209,1209,,,,1209,,,,982,,,,982,982,982,982,,982,982,982,982,', ',,,982,982,1135,1135,1135,1135,,,982,,982,982,982,,,982,982,,1135,1135', '1135,1135,,,772,1135,772,772,772,772,772,1135,1135,,,1135,,,,772,,,', ',,,,,,,,,,,,1135,,,1135,,,772,1135,,,1135,,,,,772,772,772,772,,,,772', ',,,1135,,,,1135,1135,1135,1135,,1135,1135,1135,1135,,,,,1135,1135,1197', '1197,1197,1197,,,1135,,1135,1135,1135,,,1135,1135,,1197,1197,1197,1197', ',,1038,1197,1038,1038,1038,1038,1038,1197,1197,,,1197,,,,1038,,,,,,', ',,,,,,,,,1197,,,1197,,,1038,1197,,,1197,,,,,,,1038,1038,,,,1038,,,,1197', ',,,1197,1197,1197,1197,,1197,1197,1197,1197,,,,,1197,1197,1137,1137', '1137,1137,,,1197,,1197,1197,1197,,,1197,1197,,1137,1137,1137,1137,,', '1035,1137,1035,1035,1035,1035,1035,1137,1137,,,1137,,,,1035,,,,,,,,', ',,,,,,,1137,,,1137,,,1035,1137,,,1137,,1137,,,,,1035,1035,,,,1035,,', ',1137,,,,1137,1137,1137,1137,,1137,1137,1137,1137,,,,,1137,1137,1173', '1173,1173,1173,,,1137,,1137,1137,1137,,,1137,1137,,1173,1173,1173,1173', ',,1156,1173,1156,1156,1156,1156,1156,1173,1173,,,1173,,,,1156,,,,,,', ',,,,,,,,,1173,,,1173,,,1156,1173,,,1173,,,,,,,1156,1156,,,,1156,,,,1173', ',,,1173,1173,1173,1173,,1173,1173,1173,1173,,,,,1173,1173,,,,,,,1173', ',1173,1173,1173,,,1173,1173,722,722,722,722,722,722,722,722,722,722', '722,722,722,722,722,722,722,722,722,722,722,722,722,722,,,,722,722,722', '722,722,722,722,722,722,722,,,,,,722,722,722,722,722,722,722,722,722', ',,722,,,,,,,,722,722,,722,722,722,722,722,722,722,,,722,722,,,,722,722', '722,722,,,,,,,,,,,,,,722,722,,722,722,722,722,722,722,722,722,722,722', '722,722,,,722,950,950,950,950,,,1096,,1096,1096,1096,1096,1096,,,,950', '950,950,950,,1096,,950,950,,,,,950,950,,,950,950,,,,,,,,,1096,,,,,,', ',,,950,1096,1096,950,,,1096,950,,,950,,950,,,,,,,950,,,,,,,950,,,,950', '950,950,950,,950,950,950,950,,,,,950,950,698,698,698,698,,,950,,950', '950,950,,,950,950,,698,698,698,698,,,1033,698,1033,1033,1033,1033,1033', '698,698,,,698,,,,1033,,,,,,,,,,,,,,,,698,,,698,,,1033,698,,,698,,698', ',,1033,1033,1033,1033,,,,1033,,,,698,,,,698,698,698,698,,698,698,698', '698,,,,,698,698,698,886,886,886,886,,698,,698,698,698,,,698,698,,,886', '886,886,886,,,1091,886,1091,1091,1091,1091,1091,886,886,,,886,,,,1091', ',,,,,,,,,,,,,,,886,,,886,,,1091,886,,,886,,,,,1091,1091,1091,1091,,', ',1091,,,,886,,,,886,886,886,886,,886,886,886,886,,,,,886,886,479,479', '479,479,,,886,,886,886,886,,,886,886,,479,479,479,479,,,1094,479,1094', '1094,1094,1094,1094,479,479,,,479,,,,1094,,,,,,,,,,,,,,,,479,,,479,', ',1094,479,,,479,,,,,1094,1094,1094,1094,,,,1094,,,,479,,,,479,479,479', '479,,479,479,479,479,,,,,479,479,878,878,878,878,,,479,,479,479,479', ',,479,479,,878,878,878,878,,,1183,878,1183,1183,1183,1183,1183,878,878', ',,878,,,,1183,,,,,,,,,,,,,,,,878,,,878,,,1183,878,,,878,,878,,,,,1183', '1183,,,,1183,,,,878,,,,878,878,878,878,,878,878,878,878,,,,,878,878', '872,872,872,872,,,878,,878,878,878,,,878,878,,872,872,872,872,,,,872', '872,,,,,872,872,,,872,872,,,,,,,,,,,,,,,,,,,872,,,872,,,,872,,,872,', '872,,,,,,,872,,,,,,,872,,,,872,872,872,872,,872,872,872,872,,,,,872', '872,871,871,871,871,,,872,,872,872,872,,,872,872,,871,871,871,871,,', ',871,871,,,,,871,871,,,871,871,,,,,,,,,,,,,,,,,,,871,,,871,,,,871,,', '871,,871,,,,,,,871,,,,,,,871,,,,871,871,871,871,,871,871,871,871,,,', ',871,871,868,868,868,868,,,871,,871,871,871,,,871,871,,868,868,868,868', ',,1181,868,1181,1181,1181,1181,1181,868,868,,,868,,,,1181,,,,,,,,,,', ',,,,,868,,,868,,,1181,868,,,868,,,,,,,1181,1181,,,,1181,,,,868,,,,868', '868,868,868,,868,868,868,868,,,,,868,868,480,480,480,480,,,868,,868', '868,868,,,868,868,,480,480,480,480,,,1179,480,1179,1179,1179,1179,1179', '480,480,,,480,,,,1179,,,,,,,,,,,,,,,,480,,,480,,,1179,480,,,480,,,,', ',,1179,1179,,,,1179,,,,480,,,,480,480,480,480,,480,480,480,480,,,,,480', '480,1121,1121,1121,1121,,,480,,480,480,480,,,480,480,,1121,1121,1121', '1121,,,,1121,,,,,,1121,1121,,,1121,,,,,,,,705,705,705,705,,,,,,,,,1121', ',,1121,705,705,705,1121,,,1121,,1121,,,,,705,705,,,705,,,,,1121,,,,1121', '1121,1121,1121,,1121,1121,1121,1121,,,,,1121,1121,,,,,,,1121,,1121,1121', '1121,,,1121,1121,404,,404,404,404,404,404,,,,,705,705,705,705,404,705', '705,705,705,,,,,705,705,888,888,888,888,,,705,,705,705,705,404,404,', ',,888,888,888,,404,404,404,404,,,,404,,888,888,,,888,887,887,887,887', ',,,,,,,,,,,,887,887,887,,,,,,,,,,,887,887,,,887,,,,,,,,,,,,,,,,888,888', '888,888,,888,888,888,888,,,,,888,888,,,,,,,888,,888,888,888,,,,,,,,', '887,887,887,887,,887,887,887,887,,,,,887,887,668,668,,,668,,887,,887', '887,887,,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,623,623,668,,623,,,,,,,,623,623,,623,623,623,623,623,623,623', ',,623,623,,,,623,623,623,623,,,,,,623,,,,,,,,623,623,,623,623,623,623', '623,623,623,623,623,623,623,623,222,222,623,,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,223,223,222', ',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,624,624,223,,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,544,544,624,,544,,,,,,,,544,544', ',544,544,544,544,544,544,544,,,544,544,,,,544,544,544,544,,,,,,544,', ',,,,,,544,544,,544,544,544,544,544,544,544,544,544,544,544,544,472,472', '544,,472,,,,,,,,472,472,,472,472,472,472,472,472,472,,,472,472,,,,472', '472,472,472,,,,,,472,,,,,,,,472,472,,472,472,472,472,472,472,472,472', '472,472,472,472,1149,1149,472,,1149,,,,,,,,1149,1149,,1149,1149,1149', '1149,1149,1149,1149,,,1149,1149,,,,1149,1149,1149,1149,,,,,,1149,,,', ',,,,1149,1149,,1149,1149,1149,1149,1149,1149,1149,1149,1149,1149,1149', '1149,630,630,1149,,630,,,,,,,,630,630,,630,630,630,630,630,630,630,', ',630,630,,,,630,630,630,630,,,,,,630,,,,,,,,630,630,,630,630,630,630', '630,630,630,630,630,630,630,630,553,553,630,,553,,,,,,,,553,553,,553', '553,553,553,553,553,553,,,553,553,,,,553,553,553,553,,,,,,553,,,,,,', ',553,553,,553,553,553,553,553,553,553,553,553,553,553,553,554,554,553', ',554,,,,,,,,554,554,,554,554,554,554,554,554,554,,,554,554,,,,554,554', '554,554,,,,,,554,,,,,,,,554,554,,554,554,554,554,554,554,554,554,554', '554,554,554,543,543,554,,543,,,,,,,,543,543,,543,543,543,543,543,543', '543,,,543,543,,,,543,543,543,543,,,,,,543,,,,,,,,543,543,,543,543,543', '543,543,543,543,543,543,543,543,543,631,631,543,,631,,,,,,,,631,631', ',631,631,631,631,631,631,631,,,631,631,,,,631,631,631,631,,,,,,631,', ',,,,,,631,631,,631,631,631,631,631,631,631,631,631,631,631,631,1153', '1153,631,,1153,,,,,,,,1153,1153,,1153,1153,1153,1153,1153,1153,1153', ',,1153,1153,,,,1153,1153,1153,1153,,,,,,1153,,,,,,,,1153,1153,,1153', '1153,1153,1153,1153,1153,1153,1153,1153,1153,1153,1153,473,473,1153', ',473,,,,,,,,473,473,,473,473,473,473,473,473,473,,,473,473,,,,473,473', '473,473,,,,,,473,,,,,,,,473,473,,473,473,473,473,473,473,473,473,473', '473,473,473,1154,1154,473,,1154,,,,,,,,1154,1154,,1154,1154,1154,1154', '1154,1154,1154,,,1154,1154,,,,1154,1154,1154,1154,,,,,,1154,,,,,,,,1154', '1154,,1154,1154,1154,1154,1154,1154,1154,1154,1154,1154,1154,1154,669', '669,1154,,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,,638,669,638,638,638,638,638,,1177,,1177,1177', '1177,1177,1177,638,,,,,,,,1177,,,,,,,,,,,,,,638,,,,,,,,1177,638,638', '638,638,,,,638,1177,1177,1177,1177,,,,1177' ] racc_action_check = arr = ::Array.new(28007, 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, 1349, 3855, 739, nil, 401, nil, 5413, 1392, 558, 24440, 24312, 556, nil, 509, 438, 592, 429, 800, 605, nil, -69, 5675, 1263, 24824, 307, nil, 803, nil, 254, 5947, 6057, 6191, 6322, 6453, nil, 2703, 23109, 23895, nil, 175, 466, 569, 146, 6715, 6846, -44, 6977, 7108, 975, 7239, 45, 185, 323, 1112, nil, nil, nil, nil, nil, nil, nil, nil, nil, 7380, nil, 7521, 7652, 7783, 199, nil, 7914, 8045, nil, nil, 8176, 22585, 23502, 23764, nil, nil, nil, nil, nil, nil, 529, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 830, nil, nil, 110, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 8319, nil, nil, nil, nil, 8462, 8593, 8724, 5138, 8998, nil, 2847, nil, -1, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 1400, nil, 1983, 21406, 21537, 21668, 21799, 21930, 22061, 26978, 27039, nil, nil, 22192, 22323, 9129, nil, nil, 1135, 443, 389, 1466, 119, 1349, 1407, nil, 9260, 5007, 1374, nil, nil, 9391, 9522, 9653, 9784, 9915, 10046, 10177, 10308, 10439, 10570, 10701, 10832, 10963, 11094, 11225, 11356, 11487, 11618, 11749, 11880, 12011, 12142, nil, nil, nil, nil, 12273, nil, nil, 768, 698, 670, 669, 658, 556, 523, 417, 306, -62, nil, nil, nil, 13059, nil, nil, 5279, nil, nil, 1260, 13321, 13452, nil, nil, nil, nil, nil, nil, nil, 13583, nil, 2271, nil, 1207, 1190, nil, 13845, 1232, 13976, nil, nil, 14107, 14238, nil, nil, 72, nil, 14381, 960, 1178, 1144, 3423, 1158, 1186, 1142, 24034, 2991, 228, 300, 409, 1216, 802, nil, 1172, 1126, 275, 1160, 1156, nil, nil, nil, 1149, 255, 1099, 22978, nil, 327, 968, 3999, 3855, 1165, nil, 1160, 15429, nil, 15560, 1068, 4431, 1057, nil, 607, 24910, 1055, 4143, 3999, 738, 1067, nil, 748, 730, 1081, 1049, 492, 1071, nil, 772, 179, 35, 16215, 3135, 2559, 400, 1127, 993, 57, 40, 692, 1050, -18, 1078, nil, nil, 966, 479, 372, nil, 1108, nil, 980, 16608, nil, 26698, nil, 395, 398, 641, 506, 401, -32, -34, 606, nil, nil, nil, nil, nil, nil, nil, 966, 24696, nil, nil, nil, nil, 961, nil, 1030, 931, 18204, 929, nil, nil, 911, nil, 889, 15, 1011, nil, nil, 1407, nil, nil, nil, nil, nil, 1695, 858, nil, 854, 841, 526, 511, 19000, nil, nil, nil, 720, 610, 865, nil, nil, 19275, 19411, nil, nil, nil, 212, nil, 837, 27222, 27710, 19941, 345, 20203, 20334, 20465, 26016, 26506, 4431, 4719, 1014, 853, 783, 782, 775, 770, 5138, 5413, 5230, 4863, 3711, 4575, 3567, 3279, 3423, 3110, 3019, 3135, 4143, 1983, 5007, nil, 231, nil, 5279, nil, nil, nil, nil, 8855, 654, 668, 689, nil, nil, nil, 694, nil, nil, 21275, nil, 21144, nil, 21013, nil, 392, nil, nil, nil, 20870, 907, nil, 729, 731, nil, nil, 735, 23633, 744, 20727, 27527, 27161, 798, 787, nil, nil, 23240, 750, nil, 20596, 27405, 27466, 20072, 4287, 2559, 19810, 19679, 878, 879, nil, nil, 759, 757, 762, 761, 778, nil, 782, 788, nil, nil, nil, nil, nil, nil, nil, nil, nil, 777, 961, nil, nil, 19548, nil, nil, nil, 232, nil, nil, nil, 878, nil, nil, 880, 219, 820, 19134, 949, 960, 840, 881, nil, 18859, nil, nil, 18728, nil, nil, nil, 1551, 972, nil, 1695, -14, 980, 1002, 38, 1035, 18597, 18466, 26917, 27100, 7, nil, nil, 958, nil, 27344, 27588, 18335, nil, nil, 189, 2415, nil, 27894, nil, nil, nil, nil, 1362, nil, nil, nil, 946, nil, nil, 322, nil, 357, nil, nil, 935, nil, 937, nil, nil, nil, 24568, nil, 18073, 944, 17930, 17799, 17668, 26856, 27832, 17537, 17394, 442, 987, 17263, 17132, 17001, 16870, 990, nil, nil, 16739, 16477, 992, nil, nil, nil, 251, -56, 332, 471, 959, 1007, nil, 992, nil, nil, 416, 25819, -84, nil, 646, nil, nil, 7380, 26645, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 1056, 534, nil, 1039, 995, 25638, nil, 1122, nil, 1105, 173, nil, nil, 16346, nil, 1031, 1036, 1137, nil, 1022, nil, 1069, 16084, nil, nil, 15953, nil, 247, 22716, 1027, nil, 1031, 105, 343, 1099, 246, 875, 1101, 1058, 22847, nil, 1127, -26, 1839, 1184, 15822, nil, nil, 717, nil, nil, 1296, nil, nil, 649, 25204, nil, 23942, nil, 15691, nil, 3006, nil, 1073, 1075, 1170, 1079, nil, nil, nil, nil, nil, nil, 25008, 1551, nil, nil, nil, nil, 702, 240, nil, 1201, nil, nil, nil, nil, nil, 1208, 1209, nil, nil, 26, 1100, 39, 31, -1, 8, 975, 1110, 964, nil, 1103, 1119, 15298, nil, 1237, -23, 1121, nil, nil, nil, nil, nil, 1263, nil, nil, nil, nil, nil, nil, nil, nil, 1127, 15167, 1140, 252, -85, 220, 0, nil, 2127, 15036, nil, 1139, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 14905, 14774, 14643, 14512, 417, 1228, 26408, 121, 152, 26310, 26212, 441, -68, 1169, 1170, nil, 26114, nil, 1169, 1171, 1254, 1187, nil, 1193, 25918, 26777, 26743, nil, nil, nil, nil, nil, 13714, nil, nil, 1234, nil, nil, 1231, 1217, nil, nil, 539, 3567, nil, nil, nil, nil, 1220, 291, nil, nil, 13190, 1349, nil, 4287, 1226, 1280, nil, nil, 1245, nil, 1243, 1244, nil, 1249, nil, 1336, nil, 1255, 1256, nil, 1257, nil, nil, 1263, 2977, 3016, nil, nil, 12928, nil, 1388, nil, 12797, 1389, nil, nil, 25721, 12666, 4719, 10, 1395, nil, 1396, 451, 4863, nil, nil, nil, nil, 1279, 1333, 1316, 1311, 113, nil, nil, 12535, 12404, nil, nil, nil, nil, 1316, 1317, 1318, 1316, nil, nil, 25103, nil, nil, 2, nil, nil, 1337, 1354, 1357, nil, nil, nil, 1401, 1358, -48, nil, 24907, nil, 1366, nil, nil, -31, nil, nil, 2703, 1407, nil, nil, 1364, 1367, nil, 1368, 1370, 1373, nil, 1402, 1389, 1375, 22454, nil, nil, nil, 2847, nil, 1839, nil, nil, 36, 24173, nil, nil, 25822, nil, 25400, nil, nil, 25302, nil, 24081, nil, nil, nil, nil, 1393, 1398, 2415, nil, -10, nil, 136, 575, -83, nil, nil, nil, nil, 216, nil, nil, nil, 1523, 2127, 2271, 2113, nil, nil, nil, nil, nil, 1043, 1447, 325, nil, nil, nil, nil, nil, nil, 1404, 25005, 1406, nil, nil, 329, nil, nil, 1584, nil, nil, 25921, nil, nil, 26019, nil, 25708, nil, nil, -82, 23371, 1102, -22, nil, 4575, 32, 9, 991, 167, 79, nil, 106, 136, 151, 168, 3215, 3045, 3279, nil, 6584, 5806, 26604, nil, nil, nil, nil, 239, 354, 542, nil, nil, nil, nil, nil, nil, 25201, 245, 25397, 253, nil, nil, 255, 287, 296, 324, nil, 356, nil, 841, 27283, nil, 499, 5544, 27649, 27771, 33, 25498, nil, nil, nil, nil, 399, 628, 3711, nil, nil, nil, 427, nil, nil, nil, 1969, 437, 25495, nil, nil, nil, 27902, nil, 26509, nil, 26411, nil, 26117, nil, nil, 520, 531, nil, 518, 145, 146, 142, 39, 541, nil, 35, 25299, nil, 557, 566, 576, 593, 143, nil, nil, nil, nil, 625, 25106, nil, nil, nil, nil, 631, nil ] racc_action_default = [ -1, -726, -4, -726, -2, -711, -5, -726, -8, -726, -726, -726, -726, -31, -726, -726, -36, -726, -726, -305, -48, -713, -726, -57, -726, -65, -66, -67, -71, -282, -282, -282, -318, -345, -346, -83, -13, -87, -95, -97, -726, -608, -609, -726, -726, -726, -726, -726, -726, -235, -726, -713, -623, -623, -253, -296, -297, -298, -299, -300, -301, -302, -303, -304, -699, -307, -311, -725, -689, -326, -328, -726, -726, -59, -59, -711, -726, -726, -726, -347, -348, -350, -407, -548, -549, -550, -551, -572, -554, -555, -574, -576, -559, -564, -568, -570, -586, -587, -588, -572, -590, -592, -593, -594, -595, -697, -597, -598, -698, -600, -601, -602, -603, -604, -605, -606, -607, -612, -613, 1216, -3, -712, -721, -722, -723, -7, -726, -726, -726, -726, -726, -9, -4, -19, -726, -126, -127, -128, -129, -130, -131, -132, -136, -137, -138, -139, -140, -141, -142, -143, -144, -145, -146, -147, -148, -149, -150, -151, -152, -153, -154, -155, -156, -157, -158, -159, -160, -161, -162, -163, -164, -165, -166, -167, -168, -169, -170, -171, -172, -173, -174, -175, -176, -177, -178, -179, -180, -181, -182, -183, -184, -185, -186, -187, -188, -189, -190, -191, -192, -193, -194, -195, -196, -197, -198, -199, -200, -201, -202, -203, -204, -205, -206, -24, -133, -13, -726, -726, -726, -726, -726, -272, -726, -726, -709, -710, -726, -726, -713, -714, -52, -726, -608, -609, -726, -305, -726, -726, -241, -726, -13, -726, -53, -55, -218, -219, -726, -726, -726, -726, -726, -726, -726, -726, -726, -726, -726, -726, -726, -726, -726, -726, -726, -726, -726, -726, -254, -255, -256, -257, -726, -61, -62, -726, -126, -127, -166, -167, -168, -184, -189, -196, -199, -608, -609, -687, -726, -416, -418, -726, -707, -708, -72, -272, -726, -325, -422, -431, -433, -78, -428, -79, -713, -80, -260, -277, -286, -286, -281, -726, -287, -726, -572, -691, -726, -726, -81, -82, -711, -14, -726, -17, -726, -85, -13, -713, -726, -88, -91, -13, -103, -104, -726, -726, -111, -318, -321, -713, -726, -623, -623, -345, -346, -349, -429, -726, -93, -726, -99, -315, -726, -220, -221, -591, -229, -230, -726, -242, -726, -726, -13, -622, -618, -645, -645, -726, -13, -13, -309, -713, -261, -718, -718, -726, -726, -718, -726, -327, -58, -726, -726, -726, -13, -13, -711, -726, -712, -608, -609, -726, -726, -305, -726, -360, -361, -121, -122, -726, -124, -726, -305, -616, -726, -341, -645, -552, -726, -726, -726, -726, -726, -726, -726, -726, -6, -724, -25, -26, -27, -28, -29, -726, -726, -21, -22, -23, -134, -726, -32, -35, -292, -726, -726, -291, -33, -726, -37, -726, -305, -45, -47, -207, -265, -287, -49, -50, -38, -208, -265, -713, -273, -286, -286, -700, -701, -282, -426, -702, -703, -701, -700, -282, -425, -427, -702, -703, -44, -215, -51, -713, -324, -726, -726, -726, -272, -315, -726, -726, -726, -726, -726, -216, -217, -222, -223, -224, -225, -226, -227, -231, -232, -233, -234, -236, -237, -238, -239, -240, -243, -244, -245, -246, -713, -258, -63, -713, -437, -282, -700, -701, -69, -73, -646, -713, -286, -713, -283, -435, -437, -713, -320, -278, -726, -279, -726, -284, -726, -288, -726, -694, -696, -12, -712, -16, -18, -713, -84, -313, -100, -89, -726, -713, -272, -726, -726, -110, -726, -622, -591, -726, -96, -101, -726, -726, -726, -726, -259, -247, -726, -726, -540, -726, -373, -374, -713, -630, -713, -686, -686, -628, -630, -630, -644, -646, -647, -648, -649, -650, -651, -652, -653, -654, -726, -656, -658, -660, -665, -667, -668, -671, -676, -678, -679, -681, -682, -683, -726, -726, -630, -726, -726, -726, -713, -726, -262, -720, -719, -264, -720, -316, -317, -690, -13, -351, -352, -13, -726, -726, -726, -726, -726, -726, -272, -726, -726, -315, -59, -121, -122, -123, -726, -726, -272, -337, -614, -726, -13, -408, -645, -411, -553, -573, -578, -726, -580, -556, -575, -726, -577, -558, -726, -561, -726, -563, -566, -726, -567, -726, -589, -10, -20, -726, -30, -726, -295, -726, -726, -272, -726, -726, -726, -726, -430, -726, -274, -276, -726, -726, -74, -271, -423, -726, -726, -76, -424, -323, -715, -700, -701, -700, -701, -713, -54, -457, -459, -461, -464, -521, -713, -476, -479, -514, -519, -520, -726, -726, -524, -525, -526, -527, -528, -529, -530, -531, -532, -533, -534, -726, -726, -538, -56, -726, -726, -688, -726, -438, -68, -419, -435, -267, -274, -269, -726, -397, -726, -319, -286, -285, -289, -726, -692, -693, -726, -15, -86, -726, -92, -98, -713, -700, -701, -270, -704, -109, -726, -94, -726, -214, -228, -713, -249, -725, -725, -343, -619, -726, -637, -621, -726, -626, -627, -726, -726, -640, -726, -642, -726, -362, -726, -364, -366, -369, -372, -713, -659, -669, -670, -680, -684, -624, -726, -251, -344, -308, -310, -312, -718, -725, -353, -725, -60, -354, -355, -331, -332, -726, -726, -443, -334, -726, -713, -700, -701, -704, -314, -13, -121, -122, -125, -713, -13, -726, -339, -726, -726, -713, -579, -582, -583, -584, -585, -13, -557, -560, -562, -565, -569, -571, -135, -34, -293, -726, -713, -700, -701, -701, -700, -46, -266, -726, -716, -286, -40, -210, -41, -211, -75, -42, -213, -43, -212, -77, -726, -726, -726, -726, -430, -726, -726, -462, -463, -726, -726, -726, -481, -713, -713, -475, -482, -488, -726, -491, -495, -726, -478, -726, -726, -517, -518, -522, -523, -535, -122, -536, -726, -64, -417, -397, -421, -420, -726, -713, -432, -398, -713, -13, -434, -280, -290, -695, -90, -430, -102, -322, -726, -725, -358, -13, -541, -725, -542, -543, -713, -629, -630, -630, -657, -686, -666, -671, -685, -630, -630, -677, -630, -654, -672, -713, -726, -726, -371, -655, -726, -263, -726, -356, -726, -726, -333, -335, -726, -726, -13, -430, -726, -430, -726, -726, -13, -342, -409, -412, -414, -401, -726, -726, -294, -430, -39, -209, -275, -726, -458, -460, -468, -472, -713, -713, -713, -500, -502, -503, -506, -507, -572, -510, -512, -513, -713, -713, -713, -537, -473, -474, -498, -483, -486, -489, -726, -494, -713, -572, -717, -713, -515, -516, -248, -13, -70, -268, -686, -686, -378, -380, -380, -380, -396, -726, -713, -654, -662, -663, -674, -436, -250, -11, -13, -547, -359, -726, -726, -545, -620, -726, -633, -726, -635, -625, -726, -638, -726, -641, -643, -363, -365, -367, -370, -252, -329, -726, -330, -726, -448, -451, -454, -455, -456, -289, -725, -336, -338, -615, -726, -13, -13, -726, -410, -581, -465, -466, -467, -501, -505, -726, -509, -511, -469, -470, -471, -490, -484, -726, -492, -496, -477, -726, -480, -439, -726, -376, -377, -381, -387, -389, -726, -392, -726, -394, -399, -726, -726, -661, -726, -546, -13, -608, -609, -726, -726, -305, -544, -630, -630, -630, -630, -726, -726, -13, -444, -726, -726, -452, -440, -441, -442, -340, -726, -726, -713, -403, -405, -406, -499, -504, -508, -726, -487, -726, -686, -664, -379, -380, -380, -380, -380, -675, -380, -400, -673, -726, -315, -540, -272, -726, -726, -315, -726, -631, -634, -636, -639, -368, -725, -13, -449, -450, -453, -491, -413, -415, -402, -726, -485, -726, -493, -497, -375, -726, -384, -726, -386, -726, -390, -726, -393, -395, -314, -704, -539, -713, -700, -701, -704, -314, -630, -357, -725, -726, -404, -380, -380, -380, -380, -430, -632, -445, -446, -447, -492, -726, -382, -385, -388, -391, -380, -383 ] clist = [ '42,138,138,222,406,42,620,227,305,305,305,377,290,272,288,138,413,124', '271,875,449,515,284,806,307,307,307,523,343,343,362,362,944,761,42,331', '331,358,511,455,461,141,141,339,339,370,382,383,296,300,230,446,378', '378,740,915,378,466,629,372,375,323,550,325,42,926,327,343,343,343,133', '214,121,131,388,284,284,379,380,433,434,384,339,339,339,612,615,124', '927,884,926,566,513,947,120,292,299,301,346,769,770,353,340,340,732', '933,507,378,378,378,378,783,905,1082,581,581,561,692,720,42,1046,326', '600,601,366,876,289,1014,42,737,42,737,416,417,418,419,604,607,740,125', '611,340,340,340,564,597,964,8,777,4,1044,1131,8,572,572,581,1129,1167', '440,889,890,440,724,1145,385,1029,924,440,995,2,925,1025,523,1174,734', '547,547,931,650,652,743,303,316,317,213,639,394,646,648,651,651,924', '976,988,572,925,1136,305,429,444,445,401,403,359,365,740,978,990,468', '469,422,368,479,42,465,480,472,929,1000,800,273,722,728,661,356,1017', '373,727,285,528,374,15,392,306,306,306,15,633,42,367,805,456,602,369', '428,439,1145,820,439,958,1172,636,1045,414,439,746,1016,1131,290,1092', '1018,1128,1198,637,755,15,8,505,371,305,305,960,404,691,824,420,1007', '8,305,421,1063,737,737,1064,506,1056,307,517,1083,455,461,818,518,897', '307,15,1161,1122,977,989,427,1051,1205,950,1163,393,1052,937,1055,1015', '972,973,1208,871,1141,900,872,543,42,343,985,985,42,546,883,326,331', '42,1044,886,124,1132,985,1133,339,553,874,737,343,1099,926,748,1004', '1005,777,331,919,1,940,323,15,535,1123,339,323,603,541,296,42,15,751', '15,378,300,42,42,933,405,407,408,751,1083,504,409,623,410,551,1054,411', '893,42,42,412,635,826,532,534,616,539,581,1084,926,823,340,831,821,124', '1195,447,985,548,928,1139,,467,565,,531,1138,326,,366,340,138,326,,', '432,432,825,,810,668,,856,1083,,1175,572,861,834,819,834,,,673,,,1111', ',751,,1166,516,15,,435,,751,435,305,519,,141,,435,907,,901,1037,910', ',,1175,465,533,842,617,618,15,,,,619,679,,,714,714,,684,,660,926,,455', '461,1083,721,,1206,456,,922,514,306,1142,,,1143,740,,,306,777,777,,852', '854,874,874,,857,859,736,952,581,,305,,985,678,,581,1003,,679,683,,', '42,343,,,991,465,,929,331,759,343,581,1089,1090,,465,339,331,,15,,,', '15,,339,,,15,,,943,456,,,,,,,551,,907,456,726,,,956,737,551,,,,1199', ',,,,,1053,15,,,,,,15,15,796,305,815,1207,,,,,340,,440,305,789,42,15', '15,42,340,465,,440,440,,1072,465,440,440,1188,920,,,801,,,,,,42,,,,', ',,,456,305,,,,822,,,456,,138,,467,1019,447,,,,465,42,,,,,851,,42,899', '1176,,,,,,,673,,1124,968,777,777,,673,885,,456,,,,,141,,439,,714,797', ',,799,,714,714,439,439,,29,,439,439,895,29,138,1062,898,271,,,,,838', '851,,,,,29,930,,757,930,,,673,1104,343,29,29,29,921,29,,331,,,,343,', ',,339,,,331,1117,,1118,,874,,15,339,1087,,,,,,,679,29,,684,551,,29,29', ',,29,,,,581,912,,,,,440,1011,,,,,673,,,,,,378,,,673,,,839,,340,963,', '42,932,847,934,,42,,1127,340,809,,,,29,957,673,42,,29,29,29,29,29,,29', ',,,15,1019,,15,1019,,,,,,,,,853,855,673,,,858,860,673,673,,1012,15,714', ',,714,714,773,775,,,,714,439,,,,,,,714,714,714,,,,963,,15,1027,,435', ',1031,,15,954,1073,,42,,435,435,,,,435,435,,,,42,965,,1085,,29,29,29', '29,29,29,29,378,1019,,,29,29,29,,,,,,,,,,,,29,1013,,714,,42,1189,1049', ',,,42,,,,,,672,432,,,,,,1061,751,,,,673,673,673,,1011,,714,1011,,1011', ',,885,,,,1023,29,,1020,,,714,,29,29,,,1028,,963,42,,29,,,,343,,,,,,', '284,,,343,,,42,29,339,969,1106,29,,,,,29,,339,1058,,,853,855,860,858', '15,,,,930,15,,1012,,,1012,,1012,,,,15,42,42,,1011,29,1011,,1011,,1011', '29,29,,,1112,,1113,435,714,1114,,,,,340,29,29,29,,,343,1153,,,340,1011', ',284,,378,378,42,,,,339,29,,,,1103,,,1170,42,,,,714,,,,,,1164,1165,', '305,,,,,714,15,714,1144,1012,1146,1012,465,1012,,1012,,465,15,,1126', '969,,,17,,,,,17,,,,42,,,,340,,,,1012,470,714,456,,,673,,1020,,29,1020', '15,,1020,,1020,17,15,,1151,,,,,,714,,,1194,,,,1162,,866,715,715,,,,', '877,,,,,17,,,1200,,1201,,1202,,1034,1036,,,,,,1039,1041,,1042,15,29', ',,,,,,520,,,29,1196,,,1214,,,,15,,,,1110,,911,,29,,,1020,536,1020,,1020', '17,1020,,18,,,,,18,17,,17,,,,,,,,,,15,15,231,,,,1020,,,,,,231,231,231', ',18,332,332,,,,,,,29,,,29,,,953,,,,29,,,,,955,15,,,,29,18,,,29,,231', '231,,15,231,389,399,399,,,,,967,,,,,,,,,,17,,17,29,,17,29,29,,,29,17', ',,,,29,29,975,,,29,29,992,993,17,,15,18,,,,,231,231,231,231,18,,18,', ',,,,,685,1157,1158,1159,1160,,,,1093,1095,1097,,,715,,,,,,715,715,,', ',,,,,,,,,,,,,723,,,,,,,,729,,731,,,,735,,,,,,,,,17,,,,17,,,744,,17,', ',,747,,,,18,231,437,231,231,437,231,,1204,,,437,231,231,1076,1077,1078', ',,764,,767,,17,,18,376,,,17,17,,,29,,,,,29,29,,,,,,17,17,,,29,,,,,,', ',794,,,1178,1180,1182,1184,41,1185,,29,,41,,231,,,,,,,231,231,,,709', '709,,,283,231,,,,,,,,,,,41,330,330,,,,,18,,715,,18,715,715,,332,18,', ',715,1210,1211,1212,1213,,29,,715,715,715,41,,,,332,1215,,29,,,387,283', '283,,,,,18,,,,,,18,18,,,,,,,,,,,,29,,231,18,18,,29,,,,430,443,29,,,', ',,,41,,,,231,,715,,,41,,41,17,,,,,,,,,,,,,,,,,,,913,1203,,,,,,715,,', ',29,,,,,,,,,,,,715,941,,,,,,29,,,,,,,,,,,,,,,231,,,,,,,,525,,527,,,529', '530,,17,,41,17,,,29,29,,,,,,,,,,,,,,,,,17,,709,41,,,,,709,709,,,,,,', ',,18,,,715,,29,,974,332,17,231,,17,,,,17,332,29,,29,29,17,17,,,231,17', '17,,,,,,,,,,,1009,,,,715,,,,,,,,,,29,,,,715,,715,1032,,,,29,41,,,,41', ',,664,330,41,1043,,,,,18,,,18,,,,,,,231,,330,,,715,,,,,231,,,,18,41', ',,,,,41,41,,1068,1069,1070,,,715,,,,,,,,41,41,,,18,,,437,231,,,18,,', '1086,,,437,437,19,,,437,437,19,,,709,,,709,709,,,17,,738,709,376,17', '741,,,,,709,709,709,,,17,,,19,334,334,,,,,,,,,,,,,17,,,,,,,,,,,,,,,19', ',,332,,,,,,,391,400,400,,332,,784,,,,,,,,,,709,,,,,,,,,,738,,,376,,17', ',,,,,,,,,,443,17,,19,,,709,,,,,,19,,19,41,,,,,,18,709,330,,,18,231,', ',,,330,,,,17,18,,,,,17,,840,,,,,,,,,738,376,437,,,,,,,,708,708,,,,,', ',,,,,,,,,,,,,,,,,,,,,17,,,,41,,19,41,438,,,438,,,709,,,438,738,17,18', ',,,,,,908,41,,909,19,18,,,,,,,,,,,,,,,,,,918,,,,709,41,17,17,,,,231', '41,,936,,,18,709,,709,,,18,,,,,,,,,,,,,,,,,,,,,,,,17,,,,,,,,,709,,,', '17,19,,,,19,,,,334,19,,18,,,,,,,966,709,,,,,1101,,330,334,,,18,,,,1107', ',,330,,,19,,,,,17,19,19,,,,,,,,,,707,707,,,,19,19,,,,18,18,,,,,,,,,', ',,708,,,706,706,,708,708,,,,,,,,,41,,,,,41,,,1148,,,,18,,,,41,,,,710', '710,,,,18,,231,231,,,,1057,,,,,,,,,,,,,,,,,,,376,,,,,,,,,231,,,,,,,', ',,,18,,,,,,,,,,,,,,,,,,,41,,,,,,,,32,,,,41,32,,,,,,,,,,,,,19,,32,,,', ',,334,,,,32,32,32,,32,334,,,,41,,,,,,41,,,,,,,,,,,708,,,708,708,,,,32', ',708,,,32,32,,,32,708,708,708,,,,,,707,,,,,,707,707,,,,,41,,,,19,,,19', ',,,,,283,706,,,,,41,706,706,,1105,,32,,,19,,32,32,32,32,32,830,32,,', ',,,,,708,,,710,,,,,,710,710,19,41,41,438,,,,19,,,,,,438,438,,,,438,438', ',708,,,,,,,,,,,,,,,,708,283,,,,41,,,,,,,,,,,,,41,,,,,,,,,32,32,32,32', '32,32,32,,,,,32,32,32,,,712,712,334,,,,,,,32,,,,334,,,,,,,,41,,707,', ',707,707,,,,,,707,,,,,,,708,707,707,707,,,,,,706,,,706,706,,32,,,,706', ',,32,32,,,,706,706,706,,32,19,,,,,19,,,708,,710,,,710,710,,19,32,,,710', '32,708,,708,,32,,710,710,710,,,707,438,,,,,,,,,,,,,,,,,,,,,,,32,,706', '708,,,32,32,707,,,,,,,,,,,,,32,32,32,707,,,708,,,,,,19,706,710,,,,,', ',32,,,19,,,,,706,,,,,,,,,,,,,,,,,710,,,,,,,,,,,,,19,,,710,,,19,,,,712', ',,713,713,,712,712,,,,,,,,,,707,,,,,,,32,,,,,,,,,,,,,,,,,,,706,,19,', ',,,,,,,,,,707,400,,,,,,19,,,,1109,,,707,,707,,,710,711,711,,,,32,706', ',,,,,,,,32,,,238,,706,,706,,19,19,,,304,304,304,32,707,,,,,,,710,351', '352,,354,355,,357,,,,,,,710,,710,707,,706,,,400,,304,304,19,,,,,,,,', ',,,,19,,,,706,,,32,,,32,,,710,,712,,32,712,712,,,,,,712,,32,,,,32,,712', '712,712,,710,,,,,,,,,19,,,,,,,,,,,,32,,,32,32,,,32,,713,,,,32,32,713', '713,,32,32,,,,,,,,,,,,,,,,,,,,712,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,712', ',,,,304,442,,,448,304,,711,,,448,712,,711,711,,,,,,,,,238,,,,,481,482', '483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499', '500,501,502,,,,,503,,,,,,,,,,,,,,,,,,,,,,32,304,304,,,32,32,,,,304,', ',,,,32,304,712,304,,,304,304,,,,713,,,713,713,,,32,,,713,,,,,,,,713', '713,713,,,,,,,,,,,712,,,,,,556,,557,,,,,,712,,712,,,,,,,,,,,,,,,,32', ',,,,,,,,,,711,32,,711,711,,,,713,712,711,,,,,,,,711,711,711,,,,,,,,', ',32,,,712,,,32,,304,,713,,32,,,,,,,,,,,,,,713,,,,,,,,,,,,,,,,,,,,,,', ',,304,711,448,448,448,,,,,,32,,,,,,,,,,,,,,,,,,,32,,,,711,,,,,352,,', ',,,,,,,304,711,304,,304,,,,,,713,,,,,,,,32,32,304,,,,,,,,,,448,,,758', ',,,760,,,,,,,,,,,,,713,,,,,,,,,32,,,,304,713,,713,,,,,,32,,32,32,,791', ',,,,,304,711,,304,,,,,,,,,,,,,304,304,,713,,,,,32,,,304,,,,,,,,32,,', ',,,711,,713,,,,,,,,,,,,711,,711,,,304,448,304,,,,848,,,304,304,448,448', ',,,448,448,,,,,,,,,,,,,,,,711,,,,,,,,,,,,,,,,,,,,,,,,711,,,,,,,,304', ',,,,,,,,304,,,304,,,,,,,,,,,,,,,,,,,,304,,,,,,,,,,,,,,304,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,304,,,,,,,,448', ',,,,,,,,,,,,448,448,448,448,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1006,,,,,,,', ',,,,,,,,,,,,1024,,,,,,,,,,,,,,,,,,,,,,,,,,,,1047,,,,,,,,,304,,,,,,,', ',,,,,,,,,,,304,448,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,304' ] racc_goto_table = arr = ::Array.new(4136, 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 = [ '70,73,73,33,191,70,110,35,50,50,50,105,33,42,151,73,191,114,44,168,31', '90,70,111,88,88,88,92,81,81,85,85,109,12,70,70,70,35,55,53,53,75,75', '45,45,85,40,40,89,89,22,28,26,26,230,13,26,28,71,88,88,62,68,63,70,222', '66,81,81,81,17,17,7,9,70,70,70,19,19,24,24,19,45,45,45,108,108,114,128', '180,222,90,31,13,5,54,54,54,67,132,132,78,46,46,56,226,53,26,26,26,26', '124,140,185,221,221,10,37,37,70,125,11,10,10,115,169,48,138,70,93,70', '93,19,19,19,19,87,87,230,6,87,46,46,46,150,150,142,8,123,2,122,145,8', '216,216,221,144,186,20,195,195,20,154,227,5,198,220,20,184,3,139,14', '92,186,154,215,215,139,205,205,16,61,61,61,18,150,21,206,206,206,206', '220,168,168,216,139,185,50,25,26,26,72,72,80,80,230,171,171,26,26,27', '8,38,70,73,39,33,193,171,41,47,49,58,76,82,142,84,91,103,191,104,23', '112,86,86,86,23,113,70,116,110,89,117,118,22,22,227,119,22,120,185,121', '126,6,22,68,130,145,33,135,136,143,144,146,68,23,8,26,86,50,50,147,148', '31,149,8,140,8,50,2,152,93,93,153,155,171,88,157,184,53,53,71,158,161', '88,23,125,162,169,169,11,163,164,165,166,23,167,124,170,139,173,175', '185,176,138,56,177,33,70,81,193,193,70,35,181,11,70,70,122,182,114,188', '193,189,45,33,37,93,81,142,222,31,195,195,123,70,197,1,123,62,23,63', '13,45,62,35,63,89,70,23,53,23,26,89,70,70,226,201,202,203,53,184,48', '204,33,207,66,169,208,71,70,70,209,26,210,7,9,19,67,221,180,222,10,46', '211,214,114,109,77,193,78,224,225,,77,137,,5,128,11,,115,46,73,11,,', '86,86,150,,31,33,,55,184,,184,216,55,206,31,206,,,35,,,139,,53,,168', '61,23,,23,,53,23,50,61,,75,,23,92,,90,132,68,,,184,73,8,31,11,11,23', ',,,5,89,,,70,70,,89,,17,222,,53,53,184,35,,13,89,,90,86,86,139,,,139', '230,,,86,123,123,,28,28,37,37,,28,28,88,108,221,,50,,193,54,,221,37', ',89,54,,,70,81,,,71,73,,193,70,26,81,221,132,132,,73,45,70,,23,,,,23', ',45,,,23,,,87,89,,,,,,,66,,92,89,54,,,10,93,66,,,,139,,,,,,37,23,,,', ',,23,23,88,50,40,111,,,,,46,,20,50,114,70,23,23,70,46,73,,20,20,,37', '73,20,20,12,24,,,114,,,,,,70,,,,,,,,89,50,,,,114,,,89,,73,,77,221,77', ',,,73,70,,,,,88,,70,105,132,,,,,,,35,,110,28,123,123,,35,35,,89,,,,', '75,,22,,70,11,,,11,,70,70,22,22,,57,,22,22,42,57,73,10,151,44,,,,,17', '88,,,,,57,133,,77,133,,,35,108,81,57,57,57,85,57,,70,,,,81,,,,45,,,70', '108,,108,,37,,23,45,10,,,,,,,89,57,,89,66,,57,57,,,57,,,,221,66,,,,', '20,127,,,,,35,,,,,,26,,,35,,,8,,46,35,,70,137,8,137,,70,,10,46,86,,', ',57,19,35,70,,57,57,57,57,57,,57,,,,23,221,,23,221,,,,,,,,,77,77,35', ',,77,77,35,35,,133,23,70,,,70,70,219,219,,,,70,22,,,,,,,70,70,70,,,', '35,,23,85,,23,,85,,23,11,191,,70,,23,23,,,,23,23,,,,70,11,,191,,57,57', '57,57,57,57,57,26,221,,,57,57,57,,,,,,,,,,,,57,137,,70,,70,31,19,,,', '70,,,,,,32,86,,,,,,114,53,,,,35,35,35,,127,,70,127,,127,,,35,,,,11,57', ',223,,,70,,57,57,,,11,,35,70,,57,,,,81,,,,,,,70,,,81,,,70,57,45,77,70', '57,,,,,57,,45,11,,,77,77,77,77,23,,,,133,23,,133,,,133,,133,,,,23,70', '70,,127,57,127,,127,,127,57,57,,,137,,137,23,70,137,,,,,46,57,57,57', ',,81,33,,,46,127,,70,,26,26,70,,,,45,57,,,,11,,,35,70,,,,70,,,,,,19', '19,,50,,,,,70,23,70,137,133,137,133,73,133,,133,,73,23,,11,77,,,29,', ',,,29,,,,70,,,,46,,,,133,64,70,89,,,35,,223,,57,223,23,,223,,223,29', '23,,11,,,,,,70,,,137,,,,11,,32,107,107,,,,,32,,,,,29,,,137,,137,,137', ',219,219,,,,,,219,219,,219,23,57,,,,,,,64,,,57,11,,,137,,,,23,,,,23', ',32,,57,,,223,64,223,,223,29,223,,30,,,,,30,29,,29,,,,,,,,,,23,23,30', ',,,223,,,,,,30,30,30,,30,30,30,,,,,,,57,,,57,,,32,,,,57,,,,,32,23,,', ',57,30,,,57,,30,30,,23,30,30,30,30,,,,,32,,,,,,,,,,29,,29,57,,29,57', '57,,,57,29,,,,,57,57,32,,,57,57,32,32,29,,23,30,,,,,30,30,30,30,30,', '30,,,,,,,64,219,219,219,219,,,,134,134,134,,,107,,,,,,107,107,,,,,,', ',,,,,,,,,64,,,,,,,,64,,64,,,,64,,,,,,,,,29,,,,29,,,64,,29,,,,64,,,,30', '30,30,30,30,30,30,,219,,,30,30,30,32,32,32,,,64,,64,,29,,30,83,,,29', '29,,,57,,,,,57,57,,,,,,29,29,,,57,,,,,,,,64,,,134,134,134,134,69,134', ',57,,69,,30,,,,,,,30,30,,,98,98,,,69,30,,,,,,,,,,,69,69,69,,,,,30,,107', ',30,107,107,,30,30,,,107,134,134,134,134,,57,,107,107,107,69,,,,30,134', ',57,,,69,69,69,,,,,30,,,,,,30,30,,,,,,,,,,,,57,,30,30,30,,57,,,,83,83', '57,,,,,,,69,,,,30,,107,,,69,,69,29,,,,,,,,,,,,,,,,,,,64,32,,,,,,107', ',,,57,,,,,,,,,,,,107,64,,,,,,57,,,,,,,,,,,,,,,30,,,,,,,,83,,83,,,83', '83,,29,,69,29,,,57,57,,,,,,,,,,,,,,,,,29,,98,69,,,,,98,98,,,,,,,,,30', ',,107,,57,,64,30,29,30,,29,,,,29,30,57,,57,57,29,29,,,30,29,29,,,,,', ',,,,,64,,,,107,,,,,,,,,,57,,,,107,,107,64,,,,57,69,,,,69,,,83,69,69', '64,,,,,30,,,30,,,,,,,30,,69,,,107,,,,,30,,,,30,69,,,,,,69,69,,64,64', '64,,,107,,,,,,,,69,69,,,30,,,30,30,,,30,,,64,,,30,30,34,,,30,30,34,', ',98,,,98,98,,,29,,83,98,83,29,83,,,,,98,98,98,,,29,,,34,34,34,,,,,,', ',,,,,,29,,,,,,,,,,,,,,,34,,,30,,,,,,,34,34,34,,30,,83,,,,,,,,,,98,,', ',,,,,,,83,,,83,,29,,,,,,,,,,,83,29,,34,,,98,,,,,,34,,34,69,,,,,,30,98', '69,,,30,30,,,,,69,,,,29,30,,,,,29,,83,,,,,,,,,83,83,30,,,,,,,,97,97', ',,,,,,,,,,,,,,,,,,,,,,,,,,29,,,,69,,34,69,34,,,34,,,98,,,34,83,29,30', ',,,,,,83,69,,83,34,30,,,,,,,,,,,,,,,,,,83,,,,98,69,29,29,,,,30,69,,83', ',,30,98,,98,,,30,,,,,,,,,,,,,,,,,,,,,,,,29,,,,,,,,,98,,,,29,34,,,,34', ',,,34,34,,30,,,,,,,83,98,,,,,30,,69,34,,,30,,,,30,,,69,,,34,,,,,29,34', '34,,,,,,,,,,96,96,,,,34,34,,,,30,30,,,,,,,,,,,,97,,,95,95,,97,97,,,', ',,,,,69,,,,,69,,,30,,,,30,,,,69,,,,99,99,,,,30,,30,30,,,,83,,,,,,,,', ',,,,,,,,,,83,,,,,,,,,30,,,,,,,,,,,30,,,,,,,,,,,,,,,,,,,69,,,,,,,,60', ',,,69,60,,,,,,,,,,,,,34,,60,,,,,,34,,,,60,60,60,,60,34,,,,69,,,,,,69', ',,,,,,,,,,97,,,97,97,,,,60,,97,,,60,60,,,60,97,97,97,,,,,,96,,,,,,96', '96,,,,,69,,,,34,,,34,,,,,,69,95,,,,,69,95,95,,69,,60,,,34,,60,60,60', '60,60,34,60,,,,,,,,97,,,99,,,,,,99,99,34,69,69,34,,,,34,,,,,,34,34,', ',,34,34,,97,,,,,,,,,,,,,,,,97,69,,,,69,,,,,,,,,,,,,69,,,,,,,,,60,60', '60,60,60,60,60,,,,,60,60,60,,,101,101,34,,,,,,,60,,,,34,,,,,,,,69,,96', ',,96,96,,,,,,96,,,,,,,97,96,96,96,,,,,,95,,,95,95,,60,,,,95,,,60,60', ',,,95,95,95,,60,34,,,,,34,,,97,,99,,,99,99,,34,60,,,99,60,97,,97,,60', ',99,99,99,,,96,34,,,,,,,,,,,,,,,,,,,,,,,60,,95,97,,,60,60,96,,,,,,,', ',,,,,60,60,60,96,,,97,,,,,,34,95,99,,,,,,,60,,,34,,,,,95,,,,,,,,,,,', ',,,,,99,,,,,,,,,,,,,34,,,99,,,34,,,,101,,,102,102,,101,101,,,,,,,,,', '96,,,,,,,60,,,,,,,,,,,,,,,,,,,95,,34,,,,,,,,,,,,96,34,,,,,,34,,,,34', ',,96,,96,,,99,100,100,,,,60,95,,,,,,,,,60,,,36,,95,,95,,34,34,,,36,36', '36,60,96,,,,,,,99,36,36,,36,36,,36,,,,,,,99,,99,96,,95,,,34,,36,36,34', ',,,,,,,,,,,,34,,,,95,,,60,,,60,,,99,,101,,60,101,101,,,,,,101,,60,,', ',60,,101,101,101,,99,,,,,,,,,34,,,,,,,,,,,,60,,,60,60,,,60,,102,,,,60', '60,102,102,,60,60,,,,,,,,,,,,,,,,,,,,101,,,,,,,,,,,,,,,,,,,,,,,,,,,', ',,,,101,,,,,36,36,,,36,36,,100,,,36,101,,100,100,,,,,,,,,36,,,,,36,36', '36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,,,,,36,', ',,,,,,,,,,,,,,,,,,,,60,36,36,,,60,60,,,,36,,,,,,60,36,101,36,,,36,36', ',,,102,,,102,102,,,60,,,102,,,,,,,,102,102,102,,,,,,,,,,,101,,,,,,36', ',36,,,,,,101,,101,,,,,,,,,,,,,,,,60,,,,,,,,,,,100,60,,100,100,,,,102', '101,100,,,,,,,,100,100,100,,,,,,,,,,60,,,101,,,60,,36,,102,,60,,,,,', ',,,,,,,,102,,,,,,,,,,,,,,,,,,,,,,,,,36,100,36,36,36,,,,,,60,,,,,,,,', ',,,,,,,,,,60,,,,100,,,,,36,,,,,,,,,,36,100,36,,36,,,,,,102,,,,,,,,60', '60,36,,,,,,,,,,36,,,36,,,,36,,,,,,,,,,,,,102,,,,,,,,,60,,,,36,102,,102', ',,,,,60,,60,60,,36,,,,,,36,100,,36,,,,,,,,,,,,,36,36,,102,,,,,60,,,36', ',,,,,,,60,,,,,,100,,102,,,,,,,,,,,,100,,100,,,36,36,36,,,,36,,,36,36', '36,36,,,,36,36,,,,,,,,,,,,,,,,100,,,,,,,,,,,,,,,,,,,,,,,,100,,,,,,,', '36,,,,,,,,,36,,,36,,,,,,,,,,,,,,,,,,,,36,,,,,,,,,,,,,,36,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,36,,,,,,,,36,,', ',,,,,,,,,,36,36,36,36,,,,,,,,,,,,,,,,,,,,,,,,,,,,,36,,,,,,,,,,,,,,,', ',,,,36,,,,,,,,,,,,,,,,,,,,,,,,,,,,36,,,,,,,,,36,,,,,,,,,,,,,,,,,,,36', '36,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,36' ] racc_goto_check = arr = ::Array.new(4136, 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, 347, 147, 169, nil, 89, 132, 67, 145, 64, -244, 85, -527, -706, -744, nil, -352, 60, 173, 6, -59, 110, 28, 229, -137, -18, -19, 77, -169, 1150, 1272, -201, 513, -15, 1948, -14, 2983, -362, -30, -28, -27, -397, -11, nil, -6, 6, 65, 196, 99, -283, -24, nil, nil, -183, 66, -254, -413, 705, -288, nil, 2460, 149, 25, 27, 942, nil, 29, 60, -285, 1549, -2, -339, 124, -9, nil, 31, -203, 178, 55, nil, 151, -9, 175, 1445, 159, -22, 201, -235, -8, 19, -272, -280, -280, -393, nil, 1872, 1846, 1650, 1090, 1905, 2508, 2212, 2434, 204, 162, -58, nil, 726, -294, -765, -379, -596, 156, -164, 12, 71, 174, -126, 177, -386, -573, -152, -788, -434, -471, -819, -686, -113, -680, nil, -648, nil, -468, -40, 406, -754, -644, 42, -777, -595, -621, nil, -679, -804, -909, -914, -141, -553, 190, -363, -219, -11, -681, -679, -344, -3, nil, -10, -6, nil, nil, -432, -761, -649, -894, -504, -814, -644, -679, -573, -642, -665, nil, -557, nil, -557, -384, -381, nil, nil, -610, -375, -371, nil, -710, -885, -964, nil, -740, -738, nil, -83, nil, -551, nil, -545, nil, -416, -754, nil, nil, 282, 278, 278, 281, -231, -220, 282, 284, 287, -259, -250, nil, nil, -239, -164, -210, nil, nil, 301, -599, -249, -700, 89, -367, -686, -667, -931, nil, nil, -470 ] racc_goto_default = [ nil, nil, nil, nil, 5, nil, 6, 386, 321, nil, nil, 560, nil, 945, nil, 318, 319, nil, nil, nil, 13, 14, 20, 236, nil, nil, 16, nil, 436, 237, 350, nil, nil, 631, 235, 471, 23, 994, nil, nil, nil, nil, nil, 381, 140, 52, 53, nil, nil, nil, 25, 26, 27, 754, nil, nil, nil, 338, nil, 28, 335, 450, 35, nil, nil, 37, 40, 39, nil, 232, 233, 398, nil, 458, 139, 84, nil, 441, 100, 49, nil, 54, 270, 310, nil, 916, 451, nil, 452, 463, nil, 680, 521, 308, 294, 55, 56, 57, 58, 59, 60, 61, 62, 63, nil, 295, 69, 70, nil, nil, nil, nil, nil, nil, 613, 360, nil, nil, nil, nil, nil, nil, 779, 580, nil, 780, 781, 568, 562, 563, 1140, 1010, nil, 569, nil, nil, nil, 598, nil, 571, nil, 903, nil, nil, nil, 578, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 462, nil, nil, 733, 725, nil, nil, nil, nil, nil, nil, nil, nil, nil, 879, nil, 693, 702, 694, 695, nil, nil, 696, 697, nil, nil, nil, 878, 880, nil, 881, 979, 980, 981, 982, nil, 986, 589, 987, 701, 703, nil, nil, 83, 85, 86, nil, nil, nil, nil, 641, nil, nil, nil, nil, nil, 96, 97, nil, 361, 923, 364, 567, 766, 570, 935, 583, 585, 586, 1021, 590, 1022, 593, 596, 313 ] 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, 3, 167, :_reduce_44, 1, 175, :_reduce_none, 3, 175, :_reduce_46, 1, 175, :_reduce_none, 1, 173, :_reduce_none, 3, 173, :_reduce_49, 3, 173, :_reduce_50, 3, 173, :_reduce_51, 2, 173, :_reduce_52, 0, 185, :_reduce_53, 4, 173, :_reduce_54, 0, 186, :_reduce_55, 4, 173, :_reduce_56, 1, 173, :_reduce_none, 1, 166, :_reduce_none, 0, 190, :_reduce_59, 3, 187, :_reduce_60, 1, 189, :_reduce_61, 2, 192, :_reduce_62, 0, 196, :_reduce_63, 5, 193, :_reduce_64, 1, 169, :_reduce_none, 1, 169, :_reduce_none, 1, 198, :_reduce_none, 4, 198, :_reduce_68, 0, 205, :_reduce_69, 4, 202, :_reduce_70, 1, 204, :_reduce_none, 2, 197, :_reduce_72, 3, 197, :_reduce_73, 4, 197, :_reduce_74, 5, 197, :_reduce_75, 4, 197, :_reduce_76, 5, 197, :_reduce_77, 2, 197, :_reduce_78, 2, 197, :_reduce_79, 2, 197, :_reduce_80, 2, 197, :_reduce_81, 2, 197, :_reduce_82, 1, 168, :_reduce_83, 3, 168, :_reduce_84, 1, 210, :_reduce_85, 3, 210, :_reduce_86, 1, 209, :_reduce_none, 2, 209, :_reduce_88, 3, 209, :_reduce_89, 5, 209, :_reduce_90, 2, 209, :_reduce_91, 4, 209, :_reduce_92, 2, 209, :_reduce_93, 4, 209, :_reduce_94, 1, 209, :_reduce_95, 3, 209, :_reduce_96, 1, 213, :_reduce_none, 3, 213, :_reduce_98, 2, 212, :_reduce_99, 3, 212, :_reduce_100, 1, 215, :_reduce_101, 3, 215, :_reduce_102, 1, 214, :_reduce_103, 1, 214, :_reduce_104, 4, 214, :_reduce_105, 3, 214, :_reduce_106, 3, 214, :_reduce_107, 3, 214, :_reduce_108, 3, 214, :_reduce_109, 2, 214, :_reduce_110, 1, 214, :_reduce_111, 1, 170, :_reduce_112, 1, 170, :_reduce_113, 4, 170, :_reduce_114, 3, 170, :_reduce_115, 3, 170, :_reduce_116, 3, 170, :_reduce_117, 3, 170, :_reduce_118, 2, 170, :_reduce_119, 1, 170, :_reduce_120, 1, 218, :_reduce_121, 1, 218, :_reduce_none, 2, 219, :_reduce_123, 1, 219, :_reduce_124, 3, 219, :_reduce_125, 1, 191, :_reduce_none, 1, 191, :_reduce_none, 1, 191, :_reduce_none, 1, 191, :_reduce_none, 1, 191, :_reduce_none, 1, 164, :_reduce_131, 1, 164, :_reduce_none, 1, 165, :_reduce_133, 0, 223, :_reduce_134, 4, 165, :_reduce_135, 1, 220, :_reduce_none, 1, 220, :_reduce_none, 1, 220, :_reduce_none, 1, 220, :_reduce_none, 1, 220, :_reduce_none, 1, 220, :_reduce_none, 1, 220, :_reduce_none, 1, 220, :_reduce_none, 1, 220, :_reduce_none, 1, 220, :_reduce_none, 1, 220, :_reduce_none, 1, 220, :_reduce_none, 1, 220, :_reduce_none, 1, 220, :_reduce_none, 1, 220, :_reduce_none, 1, 220, :_reduce_none, 1, 220, :_reduce_none, 1, 220, :_reduce_none, 1, 220, :_reduce_none, 1, 220, :_reduce_none, 1, 220, :_reduce_none, 1, 220, :_reduce_none, 1, 220, :_reduce_none, 1, 220, :_reduce_none, 1, 220, :_reduce_none, 1, 220, :_reduce_none, 1, 220, :_reduce_none, 1, 220, :_reduce_none, 1, 220, :_reduce_none, 1, 220, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 3, 183, :_reduce_207, 3, 183, :_reduce_208, 6, 183, :_reduce_209, 5, 183, :_reduce_210, 5, 183, :_reduce_211, 5, 183, :_reduce_212, 5, 183, :_reduce_213, 4, 183, :_reduce_214, 3, 183, :_reduce_215, 3, 183, :_reduce_216, 3, 183, :_reduce_217, 2, 183, :_reduce_218, 2, 183, :_reduce_219, 2, 183, :_reduce_220, 2, 183, :_reduce_221, 3, 183, :_reduce_222, 3, 183, :_reduce_223, 3, 183, :_reduce_224, 3, 183, :_reduce_225, 3, 183, :_reduce_226, 3, 183, :_reduce_227, 4, 183, :_reduce_228, 2, 183, :_reduce_229, 2, 183, :_reduce_230, 3, 183, :_reduce_231, 3, 183, :_reduce_232, 3, 183, :_reduce_233, 3, 183, :_reduce_234, 1, 183, :_reduce_none, 3, 183, :_reduce_236, 3, 183, :_reduce_237, 3, 183, :_reduce_238, 3, 183, :_reduce_239, 3, 183, :_reduce_240, 2, 183, :_reduce_241, 2, 183, :_reduce_242, 3, 183, :_reduce_243, 3, 183, :_reduce_244, 3, 183, :_reduce_245, 3, 183, :_reduce_246, 3, 183, :_reduce_247, 6, 183, :_reduce_248, 4, 183, :_reduce_249, 6, 183, :_reduce_250, 4, 183, :_reduce_251, 6, 183, :_reduce_252, 1, 183, :_reduce_none, 1, 229, :_reduce_none, 1, 229, :_reduce_none, 1, 229, :_reduce_none, 1, 229, :_reduce_none, 3, 226, :_reduce_258, 3, 226, :_reduce_259, 1, 230, :_reduce_none, 1, 231, :_reduce_none, 2, 231, :_reduce_none, 4, 231, :_reduce_263, 2, 231, :_reduce_264, 1, 224, :_reduce_none, 3, 224, :_reduce_266, 3, 236, :_reduce_267, 5, 236, :_reduce_268, 3, 236, :_reduce_269, 0, 238, :_reduce_270, 1, 238, :_reduce_none, 0, 178, :_reduce_272, 1, 178, :_reduce_none, 2, 178, :_reduce_none, 4, 178, :_reduce_275, 2, 178, :_reduce_276, 1, 208, :_reduce_277, 2, 208, :_reduce_278, 2, 208, :_reduce_279, 4, 208, :_reduce_280, 1, 208, :_reduce_281, 0, 241, :_reduce_282, 2, 201, :_reduce_283, 2, 240, :_reduce_284, 2, 239, :_reduce_285, 0, 239, :_reduce_286, 1, 233, :_reduce_287, 2, 233, :_reduce_288, 3, 233, :_reduce_289, 4, 233, :_reduce_290, 1, 172, :_reduce_291, 1, 172, :_reduce_none, 3, 171, :_reduce_293, 4, 171, :_reduce_294, 2, 171, :_reduce_295, 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_306, 0, 263, :_reduce_307, 4, 228, :_reduce_308, 0, 264, :_reduce_309, 4, 228, :_reduce_310, 0, 265, :_reduce_311, 4, 228, :_reduce_312, 3, 228, :_reduce_313, 3, 228, :_reduce_314, 2, 228, :_reduce_315, 3, 228, :_reduce_316, 3, 228, :_reduce_317, 1, 228, :_reduce_318, 4, 228, :_reduce_319, 3, 228, :_reduce_320, 1, 228, :_reduce_321, 5, 228, :_reduce_322, 4, 228, :_reduce_323, 3, 228, :_reduce_324, 2, 228, :_reduce_325, 1, 228, :_reduce_none, 2, 228, :_reduce_327, 1, 228, :_reduce_none, 6, 228, :_reduce_329, 6, 228, :_reduce_330, 4, 228, :_reduce_331, 4, 228, :_reduce_332, 5, 228, :_reduce_333, 4, 228, :_reduce_334, 5, 228, :_reduce_335, 6, 228, :_reduce_336, 0, 266, :_reduce_337, 6, 228, :_reduce_338, 0, 267, :_reduce_339, 7, 228, :_reduce_340, 0, 268, :_reduce_341, 5, 228, :_reduce_342, 4, 228, :_reduce_343, 4, 228, :_reduce_344, 1, 228, :_reduce_345, 1, 228, :_reduce_346, 1, 228, :_reduce_347, 1, 228, :_reduce_348, 1, 177, :_reduce_none, 1, 207, :_reduce_350, 1, 255, :_reduce_none, 1, 255, :_reduce_none, 2, 255, :_reduce_353, 1, 188, :_reduce_none, 1, 188, :_reduce_none, 1, 256, :_reduce_none, 5, 256, :_reduce_357, 1, 160, :_reduce_none, 2, 160, :_reduce_359, 1, 259, :_reduce_none, 1, 259, :_reduce_none, 1, 269, :_reduce_362, 3, 269, :_reduce_363, 1, 272, :_reduce_364, 3, 272, :_reduce_365, 1, 271, :_reduce_none, 3, 271, :_reduce_367, 5, 271, :_reduce_368, 1, 271, :_reduce_369, 3, 271, :_reduce_370, 2, 273, :_reduce_371, 1, 273, :_reduce_372, 1, 274, :_reduce_none, 1, 274, :_reduce_none, 4, 277, :_reduce_375, 2, 277, :_reduce_376, 2, 277, :_reduce_377, 1, 277, :_reduce_378, 2, 281, :_reduce_379, 0, 281, :_reduce_380, 1, 282, :_reduce_none, 6, 283, :_reduce_382, 8, 283, :_reduce_383, 4, 283, :_reduce_384, 6, 283, :_reduce_385, 4, 283, :_reduce_386, 2, 283, :_reduce_none, 6, 283, :_reduce_388, 2, 283, :_reduce_389, 4, 283, :_reduce_390, 6, 283, :_reduce_391, 2, 283, :_reduce_392, 4, 283, :_reduce_393, 2, 283, :_reduce_394, 4, 283, :_reduce_395, 1, 283, :_reduce_none, 0, 287, :_reduce_397, 1, 287, :_reduce_398, 3, 288, :_reduce_399, 4, 288, :_reduce_400, 1, 289, :_reduce_401, 4, 289, :_reduce_402, 1, 290, :_reduce_403, 3, 290, :_reduce_404, 1, 291, :_reduce_405, 1, 291, :_reduce_none, 0, 295, :_reduce_407, 0, 296, :_reduce_408, 5, 254, :_reduce_409, 4, 293, :_reduce_410, 1, 293, :_reduce_411, 0, 299, :_reduce_412, 4, 294, :_reduce_413, 0, 300, :_reduce_414, 4, 294, :_reduce_415, 0, 302, :_reduce_416, 4, 298, :_reduce_417, 2, 199, :_reduce_418, 4, 199, :_reduce_419, 5, 199, :_reduce_420, 5, 199, :_reduce_421, 2, 253, :_reduce_422, 4, 253, :_reduce_423, 4, 253, :_reduce_424, 3, 253, :_reduce_425, 3, 253, :_reduce_426, 3, 253, :_reduce_427, 2, 253, :_reduce_428, 1, 253, :_reduce_429, 4, 253, :_reduce_430, 0, 304, :_reduce_431, 4, 252, :_reduce_432, 0, 305, :_reduce_433, 4, 252, :_reduce_434, 0, 306, :_reduce_435, 3, 203, :_reduce_436, 0, 307, :_reduce_437, 0, 308, :_reduce_438, 4, 301, :_reduce_439, 5, 257, :_reduce_440, 1, 309, :_reduce_441, 1, 309, :_reduce_none, 0, 312, :_reduce_443, 0, 313, :_reduce_444, 7, 258, :_reduce_445, 1, 311, :_reduce_446, 1, 311, :_reduce_none, 1, 310, :_reduce_448, 3, 310, :_reduce_449, 3, 310, :_reduce_450, 1, 314, :_reduce_none, 2, 314, :_reduce_452, 3, 314, :_reduce_453, 1, 314, :_reduce_454, 1, 314, :_reduce_455, 1, 314, :_reduce_456, 1, 184, :_reduce_none, 3, 319, :_reduce_458, 1, 319, :_reduce_none, 3, 321, :_reduce_460, 1, 321, :_reduce_none, 1, 323, :_reduce_462, 1, 324, :_reduce_463, 1, 322, :_reduce_none, 4, 322, :_reduce_465, 4, 322, :_reduce_466, 4, 322, :_reduce_467, 3, 322, :_reduce_468, 4, 322, :_reduce_469, 4, 322, :_reduce_470, 4, 322, :_reduce_471, 3, 322, :_reduce_472, 3, 322, :_reduce_473, 3, 322, :_reduce_474, 2, 322, :_reduce_475, 0, 328, :_reduce_476, 4, 322, :_reduce_477, 2, 322, :_reduce_478, 0, 329, :_reduce_479, 4, 322, :_reduce_480, 1, 315, :_reduce_481, 1, 315, :_reduce_482, 2, 315, :_reduce_483, 3, 315, :_reduce_484, 5, 315, :_reduce_485, 2, 315, :_reduce_486, 4, 315, :_reduce_487, 1, 315, :_reduce_none, 2, 330, :_reduce_489, 3, 330, :_reduce_490, 1, 317, :_reduce_491, 3, 317, :_reduce_492, 5, 316, :_reduce_493, 2, 333, :_reduce_494, 1, 333, :_reduce_495, 1, 332, :_reduce_496, 3, 332, :_reduce_497, 1, 331, :_reduce_none, 3, 318, :_reduce_499, 1, 318, :_reduce_500, 2, 318, :_reduce_501, 1, 318, :_reduce_502, 1, 334, :_reduce_503, 3, 334, :_reduce_504, 2, 336, :_reduce_505, 1, 336, :_reduce_506, 1, 337, :_reduce_507, 3, 337, :_reduce_508, 2, 339, :_reduce_509, 1, 339, :_reduce_510, 2, 341, :_reduce_511, 1, 335, :_reduce_none, 1, 335, :_reduce_none, 1, 325, :_reduce_none, 3, 325, :_reduce_515, 3, 325, :_reduce_516, 2, 325, :_reduce_517, 2, 325, :_reduce_518, 1, 325, :_reduce_none, 1, 325, :_reduce_none, 1, 325, :_reduce_none, 2, 325, :_reduce_522, 2, 325, :_reduce_523, 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_532, 1, 342, :_reduce_none, 1, 320, :_reduce_534, 2, 343, :_reduce_535, 2, 326, :_reduce_536, 3, 326, :_reduce_537, 1, 326, :_reduce_538, 6, 159, :_reduce_539, 0, 159, :_reduce_540, 1, 344, :_reduce_541, 1, 344, :_reduce_none, 1, 344, :_reduce_none, 2, 345, :_reduce_544, 1, 345, :_reduce_none, 2, 161, :_reduce_546, 1, 161, :_reduce_none, 1, 242, :_reduce_none, 1, 242, :_reduce_none, 1, 243, :_reduce_550, 1, 347, :_reduce_551, 2, 347, :_reduce_552, 3, 348, :_reduce_553, 1, 348, :_reduce_554, 1, 348, :_reduce_555, 3, 244, :_reduce_556, 4, 245, :_reduce_557, 3, 246, :_reduce_558, 0, 351, :_reduce_559, 3, 351, :_reduce_560, 1, 352, :_reduce_561, 2, 352, :_reduce_562, 3, 248, :_reduce_563, 0, 354, :_reduce_564, 3, 354, :_reduce_565, 3, 247, :_reduce_566, 3, 249, :_reduce_567, 0, 355, :_reduce_568, 3, 355, :_reduce_569, 0, 356, :_reduce_570, 3, 356, :_reduce_571, 0, 338, :_reduce_572, 2, 338, :_reduce_573, 0, 349, :_reduce_574, 2, 349, :_reduce_575, 0, 350, :_reduce_576, 2, 350, :_reduce_577, 1, 353, :_reduce_578, 2, 353, :_reduce_579, 0, 358, :_reduce_580, 4, 353, :_reduce_581, 1, 357, :_reduce_582, 1, 357, :_reduce_583, 1, 357, :_reduce_584, 1, 357, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 359, :_reduce_588, 3, 360, :_reduce_589, 1, 346, :_reduce_590, 2, 346, :_reduce_591, 1, 225, :_reduce_592, 1, 225, :_reduce_593, 1, 225, :_reduce_594, 1, 225, :_reduce_595, 1, 216, :_reduce_596, 1, 216, :_reduce_597, 1, 216, :_reduce_598, 1, 216, :_reduce_599, 1, 216, :_reduce_600, 1, 217, :_reduce_601, 1, 217, :_reduce_602, 1, 217, :_reduce_603, 1, 217, :_reduce_604, 1, 217, :_reduce_605, 1, 217, :_reduce_606, 1, 217, :_reduce_607, 1, 250, :_reduce_608, 1, 250, :_reduce_609, 1, 176, :_reduce_610, 1, 176, :_reduce_611, 1, 181, :_reduce_612, 1, 181, :_reduce_613, 0, 361, :_reduce_614, 4, 260, :_reduce_615, 0, 260, :_reduce_616, 1, 227, :_reduce_none, 1, 227, :_reduce_618, 3, 362, :_reduce_619, 5, 362, :_reduce_620, 3, 362, :_reduce_621, 1, 262, :_reduce_none, 0, 364, :_reduce_623, 3, 262, :_reduce_624, 4, 363, :_reduce_625, 2, 363, :_reduce_626, 2, 363, :_reduce_627, 1, 363, :_reduce_628, 2, 366, :_reduce_629, 0, 366, :_reduce_630, 6, 297, :_reduce_631, 8, 297, :_reduce_632, 4, 297, :_reduce_633, 6, 297, :_reduce_634, 4, 297, :_reduce_635, 6, 297, :_reduce_636, 2, 297, :_reduce_637, 4, 297, :_reduce_638, 6, 297, :_reduce_639, 2, 297, :_reduce_640, 4, 297, :_reduce_641, 2, 297, :_reduce_642, 4, 297, :_reduce_643, 1, 297, :_reduce_644, 0, 297, :_reduce_645, 1, 237, :_reduce_646, 1, 292, :_reduce_647, 1, 292, :_reduce_648, 1, 292, :_reduce_649, 1, 292, :_reduce_650, 1, 270, :_reduce_none, 1, 270, :_reduce_652, 1, 368, :_reduce_653, 1, 369, :_reduce_654, 3, 369, :_reduce_655, 1, 284, :_reduce_656, 3, 284, :_reduce_657, 1, 370, :_reduce_658, 2, 371, :_reduce_659, 1, 371, :_reduce_660, 2, 372, :_reduce_661, 1, 372, :_reduce_662, 1, 278, :_reduce_663, 3, 278, :_reduce_664, 1, 365, :_reduce_665, 3, 365, :_reduce_666, 1, 340, :_reduce_none, 1, 340, :_reduce_none, 2, 276, :_reduce_669, 2, 275, :_reduce_670, 1, 275, :_reduce_671, 3, 373, :_reduce_672, 3, 374, :_reduce_673, 1, 285, :_reduce_674, 3, 285, :_reduce_675, 1, 367, :_reduce_676, 3, 367, :_reduce_677, 1, 375, :_reduce_none, 1, 375, :_reduce_none, 2, 286, :_reduce_680, 1, 286, :_reduce_681, 1, 376, :_reduce_none, 1, 376, :_reduce_none, 2, 280, :_reduce_684, 2, 279, :_reduce_685, 0, 279, :_reduce_686, 1, 194, :_reduce_none, 3, 194, :_reduce_688, 0, 251, :_reduce_689, 2, 251, :_reduce_none, 1, 235, :_reduce_691, 3, 235, :_reduce_692, 3, 377, :_reduce_693, 2, 377, :_reduce_694, 4, 377, :_reduce_695, 2, 377, :_reduce_696, 1, 206, :_reduce_none, 1, 206, :_reduce_none, 1, 206, :_reduce_none, 1, 200, :_reduce_none, 1, 200, :_reduce_none, 1, 200, :_reduce_none, 1, 200, :_reduce_none, 1, 303, :_reduce_none, 1, 303, :_reduce_none, 1, 303, :_reduce_none, 1, 195, :_reduce_none, 1, 195, :_reduce_none, 1, 180, :_reduce_709, 1, 180, :_reduce_710, 0, 152, :_reduce_none, 1, 152, :_reduce_none, 0, 182, :_reduce_none, 1, 182, :_reduce_none, 2, 211, :_reduce_715, 2, 179, :_reduce_716, 2, 327, :_reduce_717, 0, 234, :_reduce_none, 1, 234, :_reduce_none, 1, 234, :_reduce_none, 1, 261, :_reduce_721, 1, 261, :_reduce_none, 1, 154, :_reduce_none, 2, 154, :_reduce_none, 0, 232, :_reduce_725 ] racc_reduce_n = 726 racc_shift_n = 1216 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", "backref", "opt_nl", "arg", "p_expr", "@3", "@4", "expr_value_do", "do", "def_name", "@5", "fname", "defn_head", "defs_head", "singleton", "dot_or_colon", "@6", "command", "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", "f_opt_paren_args", "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_top_expr_body", "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", "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) @builder.op_assign(val[0], val[1], val[2]) result end # reduce 45 omitted def _reduce_46(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 47 omitted # reduce 48 omitted def _reduce_49(val, _values, result) result = @builder.logical_op(:and, val[0], val[1], val[2]) result end def _reduce_50(val, _values, result) result = @builder.logical_op(:or, val[0], val[1], val[2]) result end def _reduce_51(val, _values, result) result = @builder.not_op(val[0], nil, val[2], nil) result end def _reduce_52(val, _values, result) result = @builder.not_op(val[0], nil, val[1], nil) result end def _reduce_53(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_54(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_55(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_56(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 57 omitted # reduce 58 omitted def _reduce_59(val, _values, result) @lexer.cond.push(true) result end def _reduce_60(val, _values, result) @lexer.cond.pop result = [ val[1], val[2] ] result end def _reduce_61(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_62(val, _values, result) @context.push(:def) result = [ val[0], val[1] ] result end def _reduce_63(val, _values, result) @lexer.state = :expr_fname result end def _reduce_64(val, _values, result) @context.push(:defs) result = [ val[0], val[1], val[2], val[4] ] result end # reduce 65 omitted # reduce 66 omitted # reduce 67 omitted def _reduce_68(val, _values, result) result = @builder.call_method(val[0], val[1], val[2], nil, val[3], nil) result end def _reduce_69(val, _values, result) @context.push(:block) result end def _reduce_70(val, _values, result) result = [ val[0], *val[2], val[3] ] @context.pop result end # reduce 71 omitted def _reduce_72(val, _values, result) result = @builder.call_method(nil, nil, val[0], nil, val[1], nil) result end def _reduce_73(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_74(val, _values, result) result = @builder.call_method(val[0], val[1], val[2], nil, val[3], nil) result end def _reduce_75(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_76(val, _values, result) result = @builder.call_method(val[0], val[1], val[2], nil, val[3], nil) result end def _reduce_77(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_78(val, _values, result) result = @builder.keyword_cmd(:super, val[0], nil, val[1], nil) result end def _reduce_79(val, _values, result) result = @builder.keyword_cmd(:yield, val[0], nil, val[1], nil) result end def _reduce_80(val, _values, result) result = @builder.keyword_cmd(:return, val[0], nil, val[1], nil) result end def _reduce_81(val, _values, result) result = @builder.keyword_cmd(:break, val[0], nil, val[1], nil) result end def _reduce_82(val, _values, result) result = @builder.keyword_cmd(:next, val[0], nil, val[1], nil) result end def _reduce_83(val, _values, result) result = @builder.multi_lhs(nil, val[0], nil) result end def _reduce_84(val, _values, result) result = @builder.begin(val[0], val[1], val[2]) result end def _reduce_85(val, _values, result) result = @builder.multi_lhs(nil, val[0], nil) result end def _reduce_86(val, _values, result) result = @builder.multi_lhs(val[0], val[1], val[2]) result end # reduce 87 omitted def _reduce_88(val, _values, result) result = val[0]. push(val[1]) result end def _reduce_89(val, _values, result) result = val[0]. push(@builder.splat(val[1], val[2])) result end def _reduce_90(val, _values, result) result = val[0]. push(@builder.splat(val[1], val[2])). concat(val[4]) result end def _reduce_91(val, _values, result) result = val[0]. push(@builder.splat(val[1])) result end def _reduce_92(val, _values, result) result = val[0]. push(@builder.splat(val[1])). concat(val[3]) result end def _reduce_93(val, _values, result) result = [ @builder.splat(val[0], val[1]) ] result end def _reduce_94(val, _values, result) result = [ @builder.splat(val[0], val[1]), *val[3] ] result end def _reduce_95(val, _values, result) result = [ @builder.splat(val[0]) ] result end def _reduce_96(val, _values, result) result = [ @builder.splat(val[0]), *val[2] ] result end # reduce 97 omitted def _reduce_98(val, _values, result) result = @builder.begin(val[0], val[1], val[2]) result end def _reduce_99(val, _values, result) result = [ val[0] ] result end def _reduce_100(val, _values, result) result = val[0] << val[1] result end def _reduce_101(val, _values, result) result = [ val[0] ] result end def _reduce_102(val, _values, result) result = val[0] << val[2] result end def _reduce_103(val, _values, result) result = @builder.assignable(val[0]) result end def _reduce_104(val, _values, result) result = @builder.assignable(val[0]) result end def _reduce_105(val, _values, result) result = @builder.index_asgn(val[0], val[1], val[2], val[3]) result end def _reduce_106(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_107(val, _values, result) result = @builder.attr_asgn(val[0], val[1], val[2]) result end def _reduce_108(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_109(val, _values, result) result = @builder.assignable( @builder.const_fetch(val[0], val[1], val[2])) result end def _reduce_110(val, _values, result) result = @builder.assignable( @builder.const_global(val[0], val[1])) result end def _reduce_111(val, _values, result) result = @builder.assignable(val[0]) result end def _reduce_112(val, _values, result) result = @builder.assignable(val[0]) result end def _reduce_113(val, _values, result) result = @builder.assignable(val[0]) result end def _reduce_114(val, _values, result) result = @builder.index_asgn(val[0], val[1], val[2], val[3]) result end def _reduce_115(val, _values, result) result = @builder.attr_asgn(val[0], val[1], val[2]) result end def _reduce_116(val, _values, result) result = @builder.attr_asgn(val[0], val[1], val[2]) result end def _reduce_117(val, _values, result) result = @builder.attr_asgn(val[0], val[1], val[2]) result end def _reduce_118(val, _values, result) result = @builder.assignable( @builder.const_fetch(val[0], val[1], val[2])) result end def _reduce_119(val, _values, result) result = @builder.assignable( @builder.const_global(val[0], val[1])) result end def _reduce_120(val, _values, result) result = @builder.assignable(val[0]) result end def _reduce_121(val, _values, result) diagnostic :error, :module_name_const, nil, val[0] result end # reduce 122 omitted def _reduce_123(val, _values, result) result = @builder.const_global(val[0], val[1]) result end def _reduce_124(val, _values, result) result = @builder.const(val[0]) result end def _reduce_125(val, _values, result) result = @builder.const_fetch(val[0], val[1], val[2]) result end # reduce 126 omitted # reduce 127 omitted # reduce 128 omitted # reduce 129 omitted # reduce 130 omitted def _reduce_131(val, _values, result) result = @builder.symbol_internal(val[0]) result end # reduce 132 omitted def _reduce_133(val, _values, result) result = [ val[0] ] result end def _reduce_134(val, _values, result) @lexer.state = :expr_fname result end def _reduce_135(val, _values, result) result = val[0] << val[3] result end # reduce 136 omitted # reduce 137 omitted # reduce 138 omitted # reduce 139 omitted # reduce 140 omitted # reduce 141 omitted # reduce 142 omitted # reduce 143 omitted # reduce 144 omitted # reduce 145 omitted # reduce 146 omitted # reduce 147 omitted # reduce 148 omitted # reduce 149 omitted # reduce 150 omitted # reduce 151 omitted # reduce 152 omitted # reduce 153 omitted # reduce 154 omitted # reduce 155 omitted # reduce 156 omitted # reduce 157 omitted # reduce 158 omitted # reduce 159 omitted # reduce 160 omitted # reduce 161 omitted # reduce 162 omitted # reduce 163 omitted # reduce 164 omitted # reduce 165 omitted # reduce 166 omitted # reduce 167 omitted # reduce 168 omitted # reduce 169 omitted # reduce 170 omitted # reduce 171 omitted # reduce 172 omitted # reduce 173 omitted # reduce 174 omitted # reduce 175 omitted # reduce 176 omitted # reduce 177 omitted # reduce 178 omitted # reduce 179 omitted # reduce 180 omitted # reduce 181 omitted # reduce 182 omitted # reduce 183 omitted # reduce 184 omitted # reduce 185 omitted # reduce 186 omitted # reduce 187 omitted # reduce 188 omitted # reduce 189 omitted # reduce 190 omitted # reduce 191 omitted # reduce 192 omitted # reduce 193 omitted # reduce 194 omitted # reduce 195 omitted # reduce 196 omitted # reduce 197 omitted # reduce 198 omitted # reduce 199 omitted # reduce 200 omitted # reduce 201 omitted # reduce 202 omitted # reduce 203 omitted # reduce 204 omitted # reduce 205 omitted # reduce 206 omitted def _reduce_207(val, _values, result) result = @builder.assign(val[0], val[1], val[2]) result end def _reduce_208(val, _values, result) result = @builder.op_assign(val[0], val[1], val[2]) result end def _reduce_209(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_210(val, _values, result) result = @builder.op_assign( @builder.call_method( val[0], val[1], val[2]), val[3], val[4]) result end def _reduce_211(val, _values, result) result = @builder.op_assign( @builder.call_method( val[0], val[1], val[2]), val[3], val[4]) result end def _reduce_212(val, _values, result) result = @builder.op_assign( @builder.call_method( val[0], val[1], val[2]), val[3], val[4]) result end def _reduce_213(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_214(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_215(val, _values, result) result = @builder.op_assign(val[0], val[1], val[2]) result end def _reduce_216(val, _values, result) result = @builder.range_inclusive(val[0], val[1], val[2]) result end def _reduce_217(val, _values, result) result = @builder.range_exclusive(val[0], val[1], val[2]) result end def _reduce_218(val, _values, result) result = @builder.range_inclusive(val[0], val[1], nil) result end def _reduce_219(val, _values, result) result = @builder.range_exclusive(val[0], val[1], nil) result end def _reduce_220(val, _values, result) result = @builder.range_inclusive(nil, val[0], val[1]) result end def _reduce_221(val, _values, result) result = @builder.range_exclusive(nil, val[0], val[1]) result end def _reduce_222(val, _values, result) result = @builder.binary_op(val[0], val[1], val[2]) result end def _reduce_223(val, _values, result) result = @builder.binary_op(val[0], val[1], val[2]) result end def _reduce_224(val, _values, result) result = @builder.binary_op(val[0], val[1], val[2]) result end def _reduce_225(val, _values, result) result = @builder.binary_op(val[0], val[1], val[2]) 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.unary_op(val[0], @builder.binary_op( val[1], val[2], val[3])) result end def _reduce_229(val, _values, result) result = @builder.unary_op(val[0], val[1]) result end def _reduce_230(val, _values, result) result = @builder.unary_op(val[0], val[1]) 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.binary_op(val[0], val[1], val[2]) result end def _reduce_233(val, _values, result) result = @builder.binary_op(val[0], val[1], val[2]) result end def _reduce_234(val, _values, result) result = @builder.binary_op(val[0], val[1], val[2]) result end # reduce 235 omitted 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 def _reduce_239(val, _values, result) result = @builder.match_op(val[0], val[1], val[2]) result end 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.not_op(val[0], nil, val[1], nil) result end def _reduce_242(val, _values, result) result = @builder.unary_op(val[0], val[1]) result end def _reduce_243(val, _values, result) result = @builder.binary_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.logical_op(:and, val[0], val[1], val[2]) result end def _reduce_246(val, _values, result) result = @builder.logical_op(:or, val[0], val[1], val[2]) result end def _reduce_247(val, _values, result) result = @builder.keyword_cmd(:defined?, val[0], nil, [ val[2] ], nil) result end def _reduce_248(val, _values, result) result = @builder.ternary(val[0], val[1], val[2], val[4], val[5]) result end def _reduce_249(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_250(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_251(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_252(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 253 omitted # reduce 254 omitted # reduce 255 omitted # reduce 256 omitted # reduce 257 omitted def _reduce_258(val, _values, result) result = @builder.binary_op(val[0], val[1], val[2]) result end def _reduce_259(val, _values, result) result = @builder.binary_op(val[0], val[1], val[2]) result end # reduce 260 omitted # reduce 261 omitted # reduce 262 omitted def _reduce_263(val, _values, result) result = val[0] << @builder.associate(nil, val[2], nil) result end def _reduce_264(val, _values, result) result = [ @builder.associate(nil, val[0], nil) ] result end # reduce 265 omitted def _reduce_266(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_267(val, _values, result) result = val result end def _reduce_268(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_269(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_270(val, _values, result) result = [ nil, [], nil ] result end # reduce 271 omitted def _reduce_272(val, _values, result) result = [] result end # reduce 273 omitted # reduce 274 omitted def _reduce_275(val, _values, result) result = val[0] << @builder.associate(nil, val[2], nil) result end def _reduce_276(val, _values, result) result = [ @builder.associate(nil, val[0], nil) ] result end def _reduce_277(val, _values, result) result = [ val[0] ] result end def _reduce_278(val, _values, result) result = val[0].concat(val[1]) result end def _reduce_279(val, _values, result) result = [ @builder.associate(nil, val[0], nil) ] result.concat(val[1]) result end def _reduce_280(val, _values, result) assocs = @builder.associate(nil, val[2], nil) result = val[0] << assocs result.concat(val[3]) result end def _reduce_281(val, _values, result) result = [ val[0] ] result end def _reduce_282(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_283(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_284(val, _values, result) result = @builder.block_pass(val[0], val[1]) result end def _reduce_285(val, _values, result) result = [ val[1] ] result end def _reduce_286(val, _values, result) result = [] result end def _reduce_287(val, _values, result) result = [ val[0] ] result end def _reduce_288(val, _values, result) result = [ @builder.splat(val[0], val[1]) ] result end def _reduce_289(val, _values, result) result = val[0] << val[2] result end def _reduce_290(val, _values, result) result = val[0] << @builder.splat(val[2], val[3]) result end def _reduce_291(val, _values, result) result = @builder.array(nil, val[0], nil) result end # reduce 292 omitted def _reduce_293(val, _values, result) result = val[0] << val[2] result end def _reduce_294(val, _values, result) result = val[0] << @builder.splat(val[2], val[3]) result end def _reduce_295(val, _values, result) result = [ @builder.splat(val[0], val[1]) ] result end # reduce 296 omitted # reduce 297 omitted # reduce 298 omitted # reduce 299 omitted # reduce 300 omitted # reduce 301 omitted # reduce 302 omitted # reduce 303 omitted # reduce 304 omitted # reduce 305 omitted def _reduce_306(val, _values, result) result = @builder.call_method(nil, nil, val[0]) result end def _reduce_307(val, _values, result) @lexer.cmdarg.push(false) result end def _reduce_308(val, _values, result) @lexer.cmdarg.pop result = @builder.begin_keyword(val[0], val[2], val[3]) result end def _reduce_309(val, _values, result) @lexer.state = :expr_endarg result end def _reduce_310(val, _values, result) result = @builder.begin(val[0], val[1], val[3]) result end def _reduce_311(val, _values, result) @lexer.state = :expr_endarg result end def _reduce_312(val, _values, result) result = @builder.begin(val[0], nil, val[3]) result end def _reduce_313(val, _values, result) result = @builder.begin(val[0], val[1], val[2]) result end def _reduce_314(val, _values, result) result = @builder.const_fetch(val[0], val[1], val[2]) result end def _reduce_315(val, _values, result) result = @builder.const_global(val[0], val[1]) result end def _reduce_316(val, _values, result) result = @builder.array(val[0], val[1], val[2]) result end def _reduce_317(val, _values, result) result = @builder.associate(val[0], val[1], val[2]) result end def _reduce_318(val, _values, result) result = @builder.keyword_cmd(:return, val[0]) result end def _reduce_319(val, _values, result) result = @builder.keyword_cmd(:yield, val[0], val[1], val[2], val[3]) result end def _reduce_320(val, _values, result) result = @builder.keyword_cmd(:yield, val[0], val[1], [], val[2]) result end def _reduce_321(val, _values, result) result = @builder.keyword_cmd(:yield, val[0]) result end def _reduce_322(val, _values, result) result = @builder.keyword_cmd(:defined?, val[0], val[2], [ val[3] ], val[4]) result end def _reduce_323(val, _values, result) result = @builder.not_op(val[0], val[1], val[2], val[3]) result end def _reduce_324(val, _values, result) result = @builder.not_op(val[0], val[1], nil, val[2]) result end def _reduce_325(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 326 omitted def _reduce_327(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 328 omitted def _reduce_329(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_330(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_331(val, _values, result) result = @builder.loop(:while, val[0], *val[1], val[2], val[3]) result end def _reduce_332(val, _values, result) result = @builder.loop(:until, val[0], *val[1], val[2], val[3]) result end def _reduce_333(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_334(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_335(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_336(val, _values, result) result = @builder.for(val[0], val[1], val[2], *val[3], val[4], val[5]) result end def _reduce_337(val, _values, result) @static_env.extend_static @lexer.cmdarg.push(false) @lexer.cond.push(false) @context.push(:class) result end def _reduce_338(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_339(val, _values, result) @static_env.extend_static @lexer.cmdarg.push(false) @lexer.cond.push(false) @context.push(:sclass) result end def _reduce_340(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_341(val, _values, result) @static_env.extend_static @lexer.cmdarg.push(false) @context.push(:module) result end def _reduce_342(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_343(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_344(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_345(val, _values, result) result = @builder.keyword_cmd(:break, val[0]) result end def _reduce_346(val, _values, result) result = @builder.keyword_cmd(:next, val[0]) result end def _reduce_347(val, _values, result) result = @builder.keyword_cmd(:redo, val[0]) result end def _reduce_348(val, _values, result) result = @builder.keyword_cmd(:retry, val[0]) result end # reduce 349 omitted def _reduce_350(val, _values, result) if @context.in_class? diagnostic :error, :invalid_return, nil, val[0] end result end # reduce 351 omitted # reduce 352 omitted def _reduce_353(val, _values, result) result = val[1] result end # reduce 354 omitted # reduce 355 omitted # reduce 356 omitted def _reduce_357(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 358 omitted def _reduce_359(val, _values, result) result = val result end # reduce 360 omitted # reduce 361 omitted def _reduce_362(val, _values, result) result = @builder.arg(val[0]) result end def _reduce_363(val, _values, result) result = @builder.multi_lhs(val[0], val[1], val[2]) result end def _reduce_364(val, _values, result) result = [ val[0] ] result end def _reduce_365(val, _values, result) result = val[0] << val[2] result end # reduce 366 omitted def _reduce_367(val, _values, result) result = val[0]. push(val[2]) result end def _reduce_368(val, _values, result) result = val[0]. push(val[2]). concat(val[4]) 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 def _reduce_371(val, _values, result) result = @builder.restarg(val[0], val[1]) result end def _reduce_372(val, _values, result) result = @builder.restarg(val[0]) result end # reduce 373 omitted # reduce 374 omitted def _reduce_375(val, _values, result) result = val[0].concat(val[2]).concat(val[3]) result end def _reduce_376(val, _values, result) result = val[0].concat(val[1]) result end def _reduce_377(val, _values, result) result = val[0].concat(val[1]) result end def _reduce_378(val, _values, result) result = [ val[0] ] result end def _reduce_379(val, _values, result) result = val[1] result end def _reduce_380(val, _values, result) result = [] result end # reduce 381 omitted def _reduce_382(val, _values, result) result = val[0]. concat(val[2]). concat(val[4]). concat(val[5]) result end def _reduce_383(val, _values, result) result = val[0]. concat(val[2]). concat(val[4]). concat(val[6]). concat(val[7]) result end def _reduce_384(val, _values, result) result = val[0]. concat(val[2]). concat(val[3]) result end def _reduce_385(val, _values, result) result = val[0]. concat(val[2]). concat(val[4]). concat(val[5]) result end def _reduce_386(val, _values, result) result = val[0]. concat(val[2]). concat(val[3]) result end # reduce 387 omitted def _reduce_388(val, _values, result) result = val[0]. concat(val[2]). concat(val[4]). concat(val[5]) result end def _reduce_389(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_390(val, _values, result) result = val[0]. concat(val[2]). concat(val[3]) result end def _reduce_391(val, _values, result) result = val[0]. concat(val[2]). concat(val[4]). concat(val[5]) result end def _reduce_392(val, _values, result) result = val[0]. concat(val[1]) result end def _reduce_393(val, _values, result) result = val[0]. concat(val[2]). concat(val[3]) result end def _reduce_394(val, _values, result) result = val[0]. concat(val[1]) result end def _reduce_395(val, _values, result) result = val[0]. concat(val[2]). concat(val[3]) result end # reduce 396 omitted def _reduce_397(val, _values, result) result = @builder.args(nil, [], nil) result end def _reduce_398(val, _values, result) @lexer.state = :expr_value result end def _reduce_399(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_400(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_401(val, _values, result) result = [] result end def _reduce_402(val, _values, result) result = val[2] result end def _reduce_403(val, _values, result) result = [ val[0] ] result end def _reduce_404(val, _values, result) result = val[0] << val[2] result end def _reduce_405(val, _values, result) @static_env.declare val[0][0] result = @builder.shadowarg(val[0]) result end # reduce 406 omitted def _reduce_407(val, _values, result) @static_env.extend_dynamic @max_numparam_stack.push @context.push(:lambda) result end def _reduce_408(val, _values, result) @context.pop @lexer.cmdarg.push(false) result end def _reduce_409(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_410(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_411(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_412(val, _values, result) @context.push(:lambda) result end def _reduce_413(val, _values, result) result = [ val[0], val[2], val[3] ] @context.pop result end def _reduce_414(val, _values, result) @context.push(:lambda) result end def _reduce_415(val, _values, result) result = [ val[0], val[2], val[3] ] @context.pop result end def _reduce_416(val, _values, result) @context.push(:block) result end def _reduce_417(val, _values, result) result = [ val[0], *val[2], val[3] ] @context.pop result end def _reduce_418(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_419(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_420(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_421(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_422(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_423(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_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) result = @builder.call_method(val[0], val[1], val[2]) result end def _reduce_426(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_427(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_428(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_429(val, _values, result) result = @builder.keyword_cmd(:zsuper, val[0]) result end def _reduce_430(val, _values, result) result = @builder.index(val[0], val[1], val[2], val[3]) result end def _reduce_431(val, _values, result) @context.push(:block) result end def _reduce_432(val, _values, result) result = [ val[0], *val[2], val[3] ] @context.pop result end def _reduce_433(val, _values, result) @context.push(:block) result end def _reduce_434(val, _values, result) result = [ val[0], *val[2], val[3] ] @context.pop result end def _reduce_435(val, _values, result) @static_env.extend_dynamic @max_numparam_stack.push result end def _reduce_436(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_437(val, _values, result) @static_env.extend_dynamic @max_numparam_stack.push result end def _reduce_438(val, _values, result) @lexer.cmdarg.push(false) result end def _reduce_439(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_440(val, _values, result) result = [ @builder.when(val[0], val[1], val[2], val[3]), *val[4] ] result end def _reduce_441(val, _values, result) result = [ val[0] ] result end # reduce 442 omitted def _reduce_443(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_444(val, _values, result) @pattern_variables.pop @pattern_hash_keys.pop @lexer.in_kwarg = val[1] result end def _reduce_445(val, _values, result) result = [ @builder.in_pattern(val[0], *val[2], val[3], val[5]), *val[6] ] result end def _reduce_446(val, _values, result) result = [ val[0] ] result end # reduce 447 omitted def _reduce_448(val, _values, result) result = [ val[0], nil ] result end def _reduce_449(val, _values, result) result = [ val[0], @builder.if_guard(val[1], val[2]) ] result end def _reduce_450(val, _values, result) result = [ val[0], @builder.unless_guard(val[1], val[2]) ] result end # reduce 451 omitted def _reduce_452(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_453(val, _values, result) result = @builder.array_pattern(nil, [val[0]].concat(val[2]), nil) result end def _reduce_454(val, _values, result) result = @builder.find_pattern(nil, val[0], nil) result end def _reduce_455(val, _values, result) result = @builder.array_pattern(nil, val[0], nil) result end def _reduce_456(val, _values, result) result = @builder.hash_pattern(nil, val[0], nil) result end # reduce 457 omitted def _reduce_458(val, _values, result) result = @builder.match_as(val[0], val[1], val[2]) result end # reduce 459 omitted def _reduce_460(val, _values, result) result = @builder.match_alt(val[0], val[1], val[2]) result end # reduce 461 omitted def _reduce_462(val, _values, result) result = val[0] @pattern_hash_keys.push result end def _reduce_463(val, _values, result) result = val[0] @pattern_hash_keys.push result end # reduce 464 omitted def _reduce_465(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_466(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_467(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_468(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_469(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_470(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_471(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_472(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_473(val, _values, result) result = @builder.array_pattern(val[0], val[1], val[2]) result end def _reduce_474(val, _values, result) result = @builder.find_pattern(val[0], val[1], val[2]) result end def _reduce_475(val, _values, result) result = @builder.array_pattern(val[0], [], val[1]) result end def _reduce_476(val, _values, result) @pattern_hash_keys.push result = @lexer.in_kwarg @lexer.in_kwarg = false result end def _reduce_477(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_478(val, _values, result) result = @builder.hash_pattern(val[0], [], val[1]) result end def _reduce_479(val, _values, result) @pattern_hash_keys.push result end def _reduce_480(val, _values, result) @pattern_hash_keys.pop result = @builder.begin(val[0], val[2], val[3]) result end def _reduce_481(val, _values, result) result = [ val[0] ] result end def _reduce_482(val, _values, result) result = val[0] result end def _reduce_483(val, _values, result) result = [ *val[0], val[1] ] result end def _reduce_484(val, _values, result) match_rest = @builder.match_rest(val[1], val[2]) result = [ *val[0], match_rest ] result end def _reduce_485(val, _values, result) match_rest = @builder.match_rest(val[1], val[2]) result = [ *val[0], match_rest, *val[4] ] result end def _reduce_486(val, _values, result) result = [ *val[0], @builder.match_rest(val[1]) ] result end def _reduce_487(val, _values, result) result = [ *val[0], @builder.match_rest(val[1]), *val[3] ] result end # reduce 488 omitted def _reduce_489(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_490(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_491(val, _values, result) result = [ val[0] ] result end def _reduce_492(val, _values, result) result = [ val[0], *val[2] ] result end def _reduce_493(val, _values, result) result = [ val[0], *val[2], val[4] ] result end def _reduce_494(val, _values, result) result = @builder.match_rest(val[0], val[1]) result end def _reduce_495(val, _values, result) result = @builder.match_rest(val[0]) result end def _reduce_496(val, _values, result) result = [ val[0] ] result end def _reduce_497(val, _values, result) result = [ *val[0], val[2] ] result end # reduce 498 omitted def _reduce_499(val, _values, result) result = [ *val[0], *val[2] ] result end def _reduce_500(val, _values, result) result = val[0] result end def _reduce_501(val, _values, result) result = val[0] result end def _reduce_502(val, _values, result) result = val[0] result end def _reduce_503(val, _values, result) result = [ val[0] ] result end def _reduce_504(val, _values, result) result = [ *val[0], val[2] ] result end def _reduce_505(val, _values, result) result = @builder.match_pair(*val[0], val[1]) result end def _reduce_506(val, _values, result) result = @builder.match_label(*val[0]) result end def _reduce_507(val, _values, result) result = [:label, val[0]] result end def _reduce_508(val, _values, result) result = [:quoted, [val[0], val[1], val[2]]] result end def _reduce_509(val, _values, result) result = [ @builder.match_rest(val[0], val[1]) ] result end def _reduce_510(val, _values, result) result = [ @builder.match_rest(val[0], nil) ] result end def _reduce_511(val, _values, result) result = [ @builder.match_nil_pattern(val[0], val[1]) ] result end # reduce 512 omitted # reduce 513 omitted # reduce 514 omitted def _reduce_515(val, _values, result) result = @builder.range_inclusive(val[0], val[1], val[2]) result end def _reduce_516(val, _values, result) result = @builder.range_exclusive(val[0], val[1], val[2]) result end def _reduce_517(val, _values, result) result = @builder.range_inclusive(val[0], val[1], nil) result end def _reduce_518(val, _values, result) result = @builder.range_exclusive(val[0], val[1], nil) result end # reduce 519 omitted # reduce 520 omitted # reduce 521 omitted def _reduce_522(val, _values, result) result = @builder.range_inclusive(nil, val[0], val[1]) result end def _reduce_523(val, _values, result) result = @builder.range_exclusive(nil, val[0], val[1]) result end # reduce 524 omitted # reduce 525 omitted # reduce 526 omitted # reduce 527 omitted # reduce 528 omitted # reduce 529 omitted # reduce 530 omitted # reduce 531 omitted def _reduce_532(val, _values, result) result = @builder.accessible(val[0]) result end # reduce 533 omitted def _reduce_534(val, _values, result) result = @builder.assignable(@builder.match_var(val[0])) result end def _reduce_535(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_536(val, _values, result) result = @builder.const_global(val[0], val[1]) result end def _reduce_537(val, _values, result) result = @builder.const_fetch(val[0], val[1], val[2]) result end def _reduce_538(val, _values, result) result = @builder.const(val[0]) result end def _reduce_539(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_540(val, _values, result) result = [] result end def _reduce_541(val, _values, result) result = [ val[0] ] result end # reduce 542 omitted # reduce 543 omitted def _reduce_544(val, _values, result) result = [ val[0], val[1] ] result end # reduce 545 omitted def _reduce_546(val, _values, result) result = [ val[0], val[1] ] result end # reduce 547 omitted # reduce 548 omitted # reduce 549 omitted def _reduce_550(val, _values, result) result = @builder.string_compose(nil, val[0], nil) result end def _reduce_551(val, _values, result) result = [ val[0] ] result end def _reduce_552(val, _values, result) result = val[0] << val[1] result end def _reduce_553(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_554(val, _values, result) string = @builder.string(val[0]) result = @builder.dedent_string(string, @lexer.dedent_level) result end def _reduce_555(val, _values, result) result = @builder.character(val[0]) result end def _reduce_556(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_557(val, _values, result) opts = @builder.regexp_options(val[3]) result = @builder.regexp_compose(val[0], val[1], val[2], opts) result end def _reduce_558(val, _values, result) result = @builder.words_compose(val[0], val[1], val[2]) result end def _reduce_559(val, _values, result) result = [] result end def _reduce_560(val, _values, result) result = val[0] << @builder.word(val[1]) result end def _reduce_561(val, _values, result) result = [ val[0] ] result end def _reduce_562(val, _values, result) result = val[0] << val[1] result end def _reduce_563(val, _values, result) result = @builder.symbols_compose(val[0], val[1], val[2]) result end def _reduce_564(val, _values, result) result = [] result end def _reduce_565(val, _values, result) result = val[0] << @builder.word(val[1]) 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 = @builder.symbols_compose(val[0], val[1], val[2]) result end def _reduce_568(val, _values, result) result = [] result end def _reduce_569(val, _values, result) result = val[0] << @builder.string_internal(val[1]) result end def _reduce_570(val, _values, result) result = [] result end def _reduce_571(val, _values, result) result = val[0] << @builder.symbol_internal(val[1]) result end def _reduce_572(val, _values, result) result = [] result end def _reduce_573(val, _values, result) result = val[0] << val[1] result end def _reduce_574(val, _values, result) result = [] result end def _reduce_575(val, _values, result) result = val[0] << val[1] result end def _reduce_576(val, _values, result) result = [] result end def _reduce_577(val, _values, result) result = val[0] << val[1] result end def _reduce_578(val, _values, result) result = @builder.string_internal(val[0]) result end def _reduce_579(val, _values, result) result = val[1] result end def _reduce_580(val, _values, result) @lexer.cmdarg.push(false) @lexer.cond.push(false) result end def _reduce_581(val, _values, result) @lexer.cmdarg.pop @lexer.cond.pop result = @builder.begin(val[0], val[2], val[3]) result end def _reduce_582(val, _values, result) result = @builder.gvar(val[0]) result end def _reduce_583(val, _values, result) result = @builder.ivar(val[0]) result end def _reduce_584(val, _values, result) result = @builder.cvar(val[0]) result end # reduce 585 omitted # reduce 586 omitted # reduce 587 omitted def _reduce_588(val, _values, result) @lexer.state = :expr_end result = @builder.symbol(val[0]) result end def _reduce_589(val, _values, result) @lexer.state = :expr_end result = @builder.symbol_compose(val[0], val[1], val[2]) result end def _reduce_590(val, _values, result) result = val[0] result end def _reduce_591(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_592(val, _values, result) @lexer.state = :expr_end result = @builder.integer(val[0]) result end def _reduce_593(val, _values, result) @lexer.state = :expr_end result = @builder.float(val[0]) result end def _reduce_594(val, _values, result) @lexer.state = :expr_end result = @builder.rational(val[0]) result end def _reduce_595(val, _values, result) @lexer.state = :expr_end result = @builder.complex(val[0]) result end def _reduce_596(val, _values, result) result = @builder.ident(val[0]) result end def _reduce_597(val, _values, result) result = @builder.ivar(val[0]) result end def _reduce_598(val, _values, result) result = @builder.gvar(val[0]) result end def _reduce_599(val, _values, result) result = @builder.const(val[0]) result end def _reduce_600(val, _values, result) result = @builder.cvar(val[0]) result end def _reduce_601(val, _values, result) result = @builder.nil(val[0]) result end def _reduce_602(val, _values, result) result = @builder.self(val[0]) result end def _reduce_603(val, _values, result) result = @builder.true(val[0]) result end def _reduce_604(val, _values, result) result = @builder.false(val[0]) result end def _reduce_605(val, _values, result) result = @builder.__FILE__(val[0]) result end def _reduce_606(val, _values, result) result = @builder.__LINE__(val[0]) result end def _reduce_607(val, _values, result) result = @builder.__ENCODING__(val[0]) result end def _reduce_608(val, _values, result) result = @builder.accessible(val[0]) result end def _reduce_609(val, _values, result) result = @builder.accessible(val[0]) result end def _reduce_610(val, _values, result) result = @builder.assignable(val[0]) result end def _reduce_611(val, _values, result) result = @builder.assignable(val[0]) result end def _reduce_612(val, _values, result) result = @builder.nth_ref(val[0]) result end def _reduce_613(val, _values, result) result = @builder.back_ref(val[0]) result end def _reduce_614(val, _values, result) @lexer.state = :expr_value result end def _reduce_615(val, _values, result) result = [ val[0], val[2] ] result end def _reduce_616(val, _values, result) result = nil result end # reduce 617 omitted def _reduce_618(val, _values, result) result = @builder.args(nil, [], nil) result end def _reduce_619(val, _values, result) result = @builder.args(val[0], val[1], val[2]) @lexer.state = :expr_value result end def _reduce_620(val, _values, result) args = [ *val[1], @builder.forward_arg(val[3]) ] result = @builder.args(val[0], args, val[4]) @static_env.declare_forward_args result end def _reduce_621(val, _values, result) result = @builder.forward_only_args(val[0], val[1], val[2]) @static_env.declare_forward_args @lexer.state = :expr_value result end # reduce 622 omitted def _reduce_623(val, _values, result) result = @lexer.in_kwarg @lexer.in_kwarg = true result end def _reduce_624(val, _values, result) @lexer.in_kwarg = val[0] result = @builder.args(nil, val[1], nil) result end def _reduce_625(val, _values, result) result = val[0].concat(val[2]).concat(val[3]) result end def _reduce_626(val, _values, result) result = val[0].concat(val[1]) result end def _reduce_627(val, _values, result) result = val[0].concat(val[1]) result end def _reduce_628(val, _values, result) result = [ val[0] ] result end def _reduce_629(val, _values, result) result = val[1] result end def _reduce_630(val, _values, result) result = [] result end def _reduce_631(val, _values, result) result = val[0]. concat(val[2]). concat(val[4]). concat(val[5]) result end def _reduce_632(val, _values, result) result = val[0]. concat(val[2]). concat(val[4]). concat(val[6]). concat(val[7]) result end def _reduce_633(val, _values, result) result = val[0]. concat(val[2]). concat(val[3]) result end def _reduce_634(val, _values, result) result = val[0]. concat(val[2]). concat(val[4]). concat(val[5]) result end def _reduce_635(val, _values, result) result = val[0]. concat(val[2]). concat(val[3]) result end def _reduce_636(val, _values, result) result = val[0]. concat(val[2]). concat(val[4]). concat(val[5]) result end def _reduce_637(val, _values, result) result = val[0]. concat(val[1]) result end def _reduce_638(val, _values, result) result = val[0]. concat(val[2]). concat(val[3]) result end def _reduce_639(val, _values, result) result = val[0]. concat(val[2]). concat(val[4]). concat(val[5]) result end def _reduce_640(val, _values, result) result = val[0]. concat(val[1]) result end def _reduce_641(val, _values, result) result = val[0]. concat(val[2]). concat(val[3]) result end def _reduce_642(val, _values, result) result = val[0]. concat(val[1]) 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] result end def _reduce_645(val, _values, result) result = [] result end def _reduce_646(val, _values, result) result = val[0] result end def _reduce_647(val, _values, result) diagnostic :error, :argument_const, nil, val[0] result end def _reduce_648(val, _values, result) diagnostic :error, :argument_ivar, nil, val[0] result end def _reduce_649(val, _values, result) diagnostic :error, :argument_gvar, nil, val[0] result end def _reduce_650(val, _values, result) diagnostic :error, :argument_cvar, nil, val[0] result end # reduce 651 omitted def _reduce_652(val, _values, result) @static_env.declare val[0][0] @max_numparam_stack.has_ordinary_params! result = val[0] result end def _reduce_653(val, _values, result) @current_arg_stack.set(val[0][0]) result = val[0] result end def _reduce_654(val, _values, result) @current_arg_stack.set(0) result = @builder.arg(val[0]) result end def _reduce_655(val, _values, result) result = @builder.multi_lhs(val[0], val[1], val[2]) result end def _reduce_656(val, _values, result) result = [ val[0] ] result end def _reduce_657(val, _values, result) result = val[0] << val[2] result end def _reduce_658(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_659(val, _values, result) @current_arg_stack.set(nil) result = @builder.kwoptarg(val[0], val[1]) result end def _reduce_660(val, _values, result) @current_arg_stack.set(nil) result = @builder.kwarg(val[0]) result end def _reduce_661(val, _values, result) result = @builder.kwoptarg(val[0], val[1]) result end def _reduce_662(val, _values, result) result = @builder.kwarg(val[0]) result end def _reduce_663(val, _values, result) result = [ val[0] ] result end def _reduce_664(val, _values, result) result = val[0] << val[2] result end def _reduce_665(val, _values, result) result = [ val[0] ] result end def _reduce_666(val, _values, result) result = val[0] << val[2] result end # reduce 667 omitted # reduce 668 omitted def _reduce_669(val, _values, result) result = [ @builder.kwnilarg(val[0], val[1]) ] result end def _reduce_670(val, _values, result) @static_env.declare val[1][0] result = [ @builder.kwrestarg(val[0], val[1]) ] result end def _reduce_671(val, _values, result) result = [ @builder.kwrestarg(val[0]) ] result end def _reduce_672(val, _values, result) @current_arg_stack.set(0) result = @builder.optarg(val[0], val[1], val[2]) result end def _reduce_673(val, _values, result) @current_arg_stack.set(0) result = @builder.optarg(val[0], val[1], val[2]) result end def _reduce_674(val, _values, result) result = [ val[0] ] result end def _reduce_675(val, _values, result) result = val[0] << val[2] result end def _reduce_676(val, _values, result) result = [ val[0] ] result end def _reduce_677(val, _values, result) result = val[0] << val[2] result end # reduce 678 omitted # reduce 679 omitted def _reduce_680(val, _values, result) @static_env.declare val[1][0] result = [ @builder.restarg(val[0], val[1]) ] result end def _reduce_681(val, _values, result) result = [ @builder.restarg(val[0]) ] result end # reduce 682 omitted # reduce 683 omitted def _reduce_684(val, _values, result) @static_env.declare val[1][0] result = @builder.blockarg(val[0], val[1]) result end def _reduce_685(val, _values, result) result = [ val[1] ] result end def _reduce_686(val, _values, result) result = [] result end # reduce 687 omitted def _reduce_688(val, _values, result) result = val[1] result end def _reduce_689(val, _values, result) result = [] result end # reduce 690 omitted def _reduce_691(val, _values, result) result = [ val[0] ] result end def _reduce_692(val, _values, result) result = val[0] << val[2] result end def _reduce_693(val, _values, result) result = @builder.pair(val[0], val[1], val[2]) result end def _reduce_694(val, _values, result) result = @builder.pair_keyword(val[0], val[1]) result end def _reduce_695(val, _values, result) result = @builder.pair_quoted(val[0], val[1], val[2], val[3]) result end def _reduce_696(val, _values, result) result = @builder.kwsplat(val[0], val[1]) result end # reduce 697 omitted # reduce 698 omitted # reduce 699 omitted # reduce 700 omitted # reduce 701 omitted # reduce 702 omitted # reduce 703 omitted # reduce 704 omitted # reduce 705 omitted # reduce 706 omitted # reduce 707 omitted # reduce 708 omitted def _reduce_709(val, _values, result) result = [:dot, val[0][1]] result end def _reduce_710(val, _values, result) result = [:anddot, val[0][1]] result end # reduce 711 omitted # reduce 712 omitted # reduce 713 omitted # reduce 714 omitted def _reduce_715(val, _values, result) result = val[1] result end def _reduce_716(val, _values, result) result = val[1] result end def _reduce_717(val, _values, result) result = val[1] result end # reduce 718 omitted # reduce 719 omitted # reduce 720 omitted def _reduce_721(val, _values, result) yyerrok result end # reduce 722 omitted # reduce 723 omitted # reduce 724 omitted def _reduce_725(val, _values, result) result = nil result end def _reduce_none(val, _values, result) val[0] end end # class Ruby30 end # module Parser