# -*- 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 local_push @static_env.extend_static @lexer.cmdarg.push(false) @lexer.cond.push(false) @max_numparam_stack.push(static: true) end def local_pop @static_env.unextend @lexer.cmdarg.pop @lexer.cond.pop @max_numparam_stack.pop 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_max_numparam_stack = max_numparam_stack.stack.dup # ignore current block scope raw_max_numparam_stack.pop raw_max_numparam_stack.reverse_each do |outer_scope| if outer_scope[:static] # found an outer scope that can't have numparams # like def/class/etc break else outer_scope_has_numparams = outer_scope[:value] > 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 # like proc { _1; proc { proc { proc { _2 }} }} # with numparams, so we need to continue end end end static_env.declare(name) max_numparam_stack.register(name[1].to_i) true else false end end ##### State transition tables begin ### clist = [ '-707,680,617,1083,870,965,-120,-707,-707,-707,221,222,805,-707,-707', '-606,-707,104,105,870,231,-113,-606,-116,-707,-707,660,1150,658,-716', '866,-119,-118,1153,-114,1078,-707,-707,617,-707,-707,-707,-707,-707', '-112,-119,232,617,617,920,1124,-118,426,1077,624,-117,870,428,427,810', '-117,232,810,-115,-113,-501,-707,-707,-707,-707,-707,-707,-707,-707', '-707,-707,-707,-707,-707,-707,-606,-112,-707,-707,-707,1084,685,-707', '-703,-117,-707,-120,659,-707,657,106,107,-704,-707,232,-707,229,-707', '-707,232,-707,-707,-707,-707,-707,-602,-707,-707,-707,964,-111,126,-602', '-602,-602,126,125,-602,-602,-602,125,-602,-707,-704,-106,-707,-707,-107', '-707,-602,-707,-602,-602,-602,-113,-110,-109,-707,-105,-113,-116,-602', '-602,617,-602,-602,-602,-602,-602,-116,-114,126,-115,-117,954,-120,125', '-112,-119,-108,126,126,-112,-119,-118,125,125,-106,-104,-118,232,-602', '-602,-602,-602,-602,-602,-602,-602,-602,-602,-602,-602,-602,-602,-103', '617,-602,-602,-602,-106,-602,-602,301,852,-602,352,126,-602,-602,479', '-602,125,-602,-120,-602,-716,-602,-602,-120,-602,-602,-602,-602,-602', '-314,-602,1158,-602,301,221,222,-314,-314,-314,920,-703,624,-314,-314', '-106,-314,-602,-106,1159,-602,-602,-602,-602,-314,-602,-716,-602,221', '222,-106,232,-602,949,920,-602,-314,-314,-114,-314,-314,-314,-314,-314', '-120,788,126,221,222,1043,-107,125,-116,-114,366,-115,-117,-116,-114', '301,-115,-117,232,789,1043,300,-314,-314,-314,-314,-314,-314,-314,-314', '-314,-314,-314,-314,-314,-314,301,1043,-314,-314,-314,-611,684,-314', '351,126,-314,300,-611,-314,125,-105,104,105,-314,126,-314,-611,-314', '-314,125,-314,-314,-314,-314,-314,-728,-314,-707,-314,290,-703,-107', '865,679,-707,-707,-707,232,296,-707,-707,-707,-314,-707,126,-314,-314', '1171,-314,125,-314,-707,-707,-707,-707,-707,232,-314,1172,296,-118,300', '-108,-707,-707,-611,-707,-707,-707,-707,-707,-107,-612,1176,-107,-98', '-105,645,-605,-612,645,774,300,1180,645,-605,-107,-84,-612,106,107,-115', '-115,-707,-707,-707,-707,-707,-707,-707,-707,-707,-707,-707,-707,-707', '-707,366,555,-707,-707,-707,645,867,-707,1182,-105,-707,630,-105,-707', '-707,631,-707,1184,-707,555,-707,-108,-707,-707,-105,-707,-707,-707', '-707,-707,-612,-707,-707,-707,647,646,-605,647,646,643,645,647,646,645', '836,1186,645,-707,-110,645,-707,-707,-707,-707,1137,-707,-728,-707,1137', '-314,-119,-108,-707,-614,-108,-116,-314,-314,-314,647,646,-314,-314', '-314,227,-314,-108,1186,-119,838,630,547,-604,-314,895,-314,-314,-314', '876,-604,545,974,-701,872,765,-314,-314,873,-314,-314,-314,-314,-314', '223,647,646,643,647,646,643,647,646,648,647,646,656,852,-613,126,126', '1119,745,-113,125,125,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314', '-314,-314,-314,-314,228,-613,-314,-314,-314,-602,868,-314,-604,1200', '-314,-114,-602,-314,-314,645,-314,-701,-314,1176,-314,-602,-314,-314', '-105,-314,-314,-314,-314,-314,126,-314,220,-314,630,125,-114,-112,895', '582,-701,579,578,577,587,580,680,-314,-103,-607,-314,-314,-314,-314', '590,-314,-607,-314,-704,-707,-112,679,-314,1122,1123,-118,-707,-707', '-707,-703,-602,609,-707,-707,611,-707,585,221,222,647,646,652,-610,-707', '-707,595,594,598,597,-610,949,920,591,-108,90,-707,-707,232,-707,-707', '-707,-707,-707,219,-614,-117,91,582,-106,579,578,577,587,580,-607,645', '92,218,232,135,-115,232,590,1043,1174,-707,-707,-707,-707,-707,-707', '-707,-707,-707,-707,-707,-707,-707,-707,1212,229,-707,-707,-707,585', '685,-707,-610,1186,-707,645,-104,-707,595,594,598,597,-707,1186,-707', '591,-707,-707,-113,-707,-707,-707,-707,-707,-314,-707,-707,-707,890', '891,1186,-314,-314,-314,647,646,661,-314,-314,-608,-314,-707,-111,122', '-707,-707,-608,-107,-314,-707,-609,-602,598,597,-120,576,-707,-609,-602', '-116,-314,-314,1176,-314,-314,-314,-314,-314,1186,647,646,650,582,227', '579,578,577,587,580,-599,627,129,130,131,132,133,-599,590,232,625,-314', '-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-608', '733,-314,-314,-314,585,684,-314,221,222,-314,-609,-602,-314,595,594', '598,597,-314,232,-314,591,-314,-314,232,-314,-314,-314,-314,-314,-599', '-314,609,-314,228,611,254,-599,-599,-599,-599,254,-599,-599,-599,227', '-599,-314,254,254,-314,-314,294,-109,-599,-314,-599,-599,-599,232,609', '576,-314,611,-98,-118,-599,-599,748,-599,-599,-599,-599,-599,232,-315', '561,227,609,-305,227,608,-315,759,226,765,-305,294,766,232,768,-315', '232,224,771,-305,-599,-599,-599,-599,-599,-599,-599,-599,-599,-599,-599', '-599,-599,-599,228,774,-599,-599,-599,775,-599,-599,227,254,-599,777', '779,-599,-599,1152,-599,689,-599,790,-599,791,-599,-599,635,-599,-599', '-599,-599,-599,-315,-599,228,-599,-305,228,129,130,131,132,133,251,-314', '793,296,253,252,-599,795,-314,-599,-599,-599,-599,-704,-599,227,-599', '-314,796,232,798,-599,672,678,-599,323,81,82,83,11,65,670,228,801,71', '72,677,232,806,75,-700,73,74,76,33,34,79,80,129,130,131,132,133,84,31', '30,114,113,115,116,807,582,21,579,578,577,-314,580,10,51,325,12,118', '117,119,108,64,110,109,111,228,112,120,121,-315,104,105,47,48,46,-314', '-315,-599,811,227,271,272,-314,781,-599,-315,557,-704,673,-700,669,-314', '785,-599,43,477,668,36,-287,835,66,67,227,839,68,840,38,666,665,1157', '50,-288,-700,662,254,853,270,269,1155,22,513,637,513,232,102,90,93,94', '870,95,97,96,98,986,-315,871,629,91,101,628,-314,894,-599,590,228,85', '251,92,106,107,253,252,44,45,323,81,82,83,11,65,870,897,418,71,72,899', '290,228,75,-707,73,74,76,33,34,79,80,624,905,907,909,591,84,31,30,114', '113,115,116,527,529,21,529,1004,759,232,613,10,51,325,12,118,117,119', '108,64,110,109,111,612,112,120,121,227,104,105,47,48,46,227,1152,-707', '296,-349,296,759,633,254,-707,635,-349,232,920,-703,602,635,-620,-707', '43,-349,941,36,942,232,66,67,227,562,68,920,38,951,952,476,50,582,-707', '579,578,577,254,580,477,22,232,558,552,232,102,90,93,94,296,95,97,96', '98,986,228,366,962,91,101,366,228,232,-707,590,-349,85,232,92,106,107', '-289,305,44,45,323,81,82,83,11,65,232,548,973,71,72,541,540,228,75,719', '73,74,76,33,34,79,80,246,232,-83,135,591,84,31,30,114,113,115,116,232', '232,21,1000,1004,1001,1002,1005,10,51,325,12,118,117,119,108,64,110', '109,111,529,112,120,121,527,104,105,47,48,46,254,258,259,260,261,271', '272,266,267,262,263,525,247,248,907,1011,264,265,232,43,3,245,36,587', '759,66,67,513,1029,68,-287,38,251,590,257,50,253,252,1033,249,250,270', '269,255,22,256,232,1036,1038,102,90,93,94,774,95,97,96,98,789,1041,1043', '1043,91,101,232,268,598,597,1051,1053,85,591,92,106,107,1062,1063,44', '45,323,81,82,83,11,65,1068,830,831,71,72,832,120,121,75,1069,73,74,76', '33,34,79,80,129,130,131,132,133,84,31,30,114,113,115,116,1070,-290,21', '232,232,232,1074,674,10,51,325,12,118,117,119,108,64,110,109,111,231', '112,120,121,232,104,105,47,48,46,254,258,259,260,261,271,272,266,267', '262,263,232,247,248,232,870,264,265,1082,43,481,480,36,232,1091,66,67', '774,1094,68,1097,38,251,1099,257,50,253,252,1101,249,250,270,269,255', '22,256,232,1103,478,102,90,93,94,1118,95,97,96,98,1119,1128,429,870', '91,101,1138,268,1140,-260,,,85,,92,106,107,,,44,45,323,81,82,83,11,65', ',,,71,72,,,,75,,73,74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116,', ',21,,,,,945,10,51,325,12,118,117,119,108,64,110,109,111,,112,120,121', ',104,105,47,48,46,254,258,259,260,261,271,272,266,267,262,263,,247,248', ',,264,265,,43,,,36,587,,66,67,,,68,,38,251,590,257,50,253,252,,249,250', '270,269,255,22,256,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,268,598', '597,,,85,591,92,106,107,,,44,45,323,81,82,83,11,65,,,,71,72,,,,75,,73', '74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,,21,,,,,674,10,51,325', '12,118,117,119,108,64,110,109,111,,112,120,121,,104,105,47,48,46,254', '258,259,260,261,271,272,266,267,262,263,,247,248,,,264,265,,43,,,36', ',,66,67,,,68,,38,251,,257,50,253,252,,249,250,270,269,255,22,256,,,', '102,90,93,94,,95,97,96,98,,,,,91,101,,268,,,,,85,,92,106,107,,,44,45', '323,81,82,83,11,65,,,,71,72,,,,75,,73,74,76,33,34,79,80,,,,,,84,31,30', '114,113,115,116,,,21,,,,,917,10,51,325,12,118,117,119,108,64,110,109', '111,,112,120,121,,104,105,47,48,46,254,258,259,260,261,271,272,266,267', '262,263,,247,248,,,264,265,,43,,,36,,,66,67,,,68,,38,251,,257,50,253', '252,,249,250,270,269,255,22,256,,,,102,90,93,94,,95,97,96,98,,,,,91', '101,,268,,,,,85,,92,106,107,,,44,45,323,81,82,83,11,65,,,,71,72,,,,75', ',73,74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,1133,21,579,578', '577,,580,10,51,325,12,118,117,119,108,64,110,109,111,,112,120,121,,104', '105,47,48,46,254,258,259,260,261,271,272,266,267,262,263,,247,248,,', '264,265,,43,,,36,,,66,67,,,68,,38,251,,257,50,253,252,,249,250,270,269', '255,22,256,,,,102,90,93,94,,95,97,96,98,,,,,91,101,232,268,,,,,85,,92', '106,107,,,44,45,323,81,82,83,11,65,,,,71,72,,,,75,,73,74,76,33,34,79', '80,,,,,,84,31,30,114,113,115,116,,1133,21,579,578,577,,580,10,51,325', '12,118,117,119,108,64,110,109,111,,112,120,121,,104,105,47,48,46,254', '258,259,260,261,271,272,266,267,262,263,,247,248,,,264,265,,43,,,36', ',,66,67,,,68,,38,251,,257,50,253,252,,249,250,270,269,255,22,256,,,', '102,90,93,94,,95,97,96,98,,,,,91,101,,268,,,,,85,,92,106,107,,,44,45', '323,81,82,83,11,65,,,,71,72,,,,75,,73,74,76,33,34,79,80,,,,,,84,31,30', '114,113,115,116,,,21,,,,,,10,51,325,12,118,117,119,108,64,110,109,111', ',112,120,121,,104,105,47,48,46,254,258,259,260,261,271,272,266,267,262', '263,,247,248,,,264,265,,43,,,36,,,66,67,,,68,,38,251,,257,50,253,252', ',249,250,270,269,255,22,256,,,,102,90,93,94,,95,97,96,98,,,,,91,101', ',268,,,,,85,,92,106,107,,,44,45,323,81,82,83,11,65,,,,71,72,,,,75,,73', '74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,,21,,,,,,10,51,325', '12,118,117,119,108,64,110,109,111,,112,120,121,,104,105,47,48,46,254', '258,259,260,261,271,272,266,267,262,263,,247,248,,,264,265,,43,,,36', ',,66,67,,,68,,38,251,,257,50,253,252,,249,250,270,269,255,22,256,,,', '102,90,93,94,,95,97,96,98,,,,,91,101,,268,,,,,85,,92,106,107,,,44,45', '323,81,82,83,11,65,,,,71,72,,,,75,,73,74,76,33,34,79,80,,,,,,84,31,30', '114,113,115,116,,,21,,,,,,10,51,325,12,118,117,119,108,64,110,109,111', ',112,120,121,,104,105,47,48,46,254,258,259,260,261,271,272,266,267,262', '263,,247,248,,,264,265,,43,,,36,,,66,67,,,68,,38,251,,257,50,253,252', ',249,250,270,269,255,22,256,,,,102,90,93,94,,95,97,96,98,,,,,91,101', ',268,,,,,85,,92,106,107,,,44,45,323,81,82,83,11,65,,,,71,72,,,,75,,73', '74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,,21,,,,,,10,51,325', '12,118,117,119,108,64,110,109,111,,112,120,121,,104,105,47,48,46,254', '258,259,260,261,271,272,266,267,262,263,,247,248,,,264,265,,43,,,327', ',,66,67,,,68,,38,251,,257,50,253,252,,249,250,270,269,255,22,256,,,', '102,90,93,94,,95,97,96,98,,,,,91,101,,268,,,,,85,,92,106,107,,,44,45', '7,81,82,83,11,65,,,,71,72,,,,75,,73,74,76,33,34,79,80,,,,,,84,31,30', '114,113,115,116,,,21,,,,,,10,51,9,12,118,117,119,108,64,110,109,111', ',112,120,121,,104,105,47,48,46,254,258,259,260,261,271,272,266,267,262', '263,,247,248,,,264,265,,43,,,36,,,66,67,,,68,,38,251,,257,50,253,252', ',249,250,270,269,255,22,256,,,,102,90,93,94,,95,97,96,98,,,,,91,101', ',268,,,,,85,,92,106,107,,,44,45,323,81,82,83,11,65,,,,71,72,,,,75,,73', '74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,582,21,579,578,577', ',580,10,51,325,12,118,117,119,108,64,110,109,111,,112,120,121,,104,105', '47,48,46,582,,579,578,577,,580,,781,,582,,579,578,577,,580,785,,43,', ',327,,,66,67,,254,68,,38,,,,50,,781,,582,,579,578,577,22,580,785,781', ',102,90,93,94,,95,97,96,98,,,251,,91,101,253,252,,249,250,,85,,92,106', '107,,781,44,45,323,81,82,83,11,65,,,,71,72,,,,75,,73,74,76,33,34,79', '80,,,,,,84,31,30,114,113,115,116,,,21,,,254,,,10,51,325,12,118,117,119', '108,64,110,109,111,,112,120,121,,104,105,47,48,46,254,258,259,260,261', '271,272,251,,262,263,253,252,,249,250,264,265,,43,,,36,,,66,67,,,68', ',38,251,,257,50,253,252,,249,250,270,269,255,22,256,,,,102,90,93,94', ',95,97,96,98,,,,,91,101,,582,,579,578,577,85,580,92,106,107,,,44,45', '323,81,82,83,11,65,,,,71,72,,,,75,,73,74,76,33,34,79,80,781,,,,,84,31', '30,114,113,115,116,,,21,,,,,,10,51,325,12,118,117,119,108,64,110,109', '111,,112,120,121,,104,105,47,48,46,254,-729,-729,-729,-729,271,272,', ',-729,-729,,,,,,264,265,,43,,,36,,,66,67,,,68,,38,251,,257,50,253,252', ',249,250,270,269,255,22,256,,,,102,90,93,94,,95,97,96,98,,,,,91,101', ',,,,,,85,,92,106,107,,,44,45,323,81,82,83,11,65,,,,71,72,,,,75,,73,74', '76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,,21,,,,,,10,51,325,12', '118,117,119,108,64,110,109,111,,112,120,121,,104,105,47,48,46,254,-729', '-729,-729,-729,271,272,,,-729,-729,,,,,,264,265,,43,,,327,,,66,67,,', '68,,38,251,,257,50,253,252,,249,250,270,269,255,22,256,,,,102,90,93', '94,,95,97,96,98,,,,,91,101,,,,,,,85,,92,106,107,,,44,45,323,81,82,83', '11,65,,,,71,72,,,,75,,73,74,76,33,34,79,80,,,,,,84,31,30,114,113,115', '116,,,21,,,,,,10,51,325,12,118,117,119,108,64,110,109,111,,112,120,121', ',104,105,47,48,46,254,-729,-729,-729,-729,271,272,,,-729,-729,,,,,,264', '265,,43,,,36,,,66,67,,,68,,38,251,,257,50,253,252,,249,250,270,269,255', '22,256,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,,,,85,,92,106,107', ',,44,45,323,81,82,83,11,65,,,,71,72,,,,75,,73,74,76,33,34,79,80,,,,', ',84,31,30,114,113,115,116,,,21,,,,,,10,51,325,12,118,117,119,108,64', '110,109,111,,112,120,121,,104,105,47,48,46,254,-729,-729,-729,-729,271', '272,,,-729,-729,,,,,,264,265,,43,,,36,,,66,67,,,68,,38,251,,257,50,253', '252,,249,250,270,269,255,22,256,,,,102,90,93,94,,95,97,96,98,,,,,91', '101,,,,,,,85,,92,106,107,,,44,45,7,81,82,83,11,65,,,,71,72,,,,75,,73', '74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,,21,,,,,,10,51,9,12', '118,117,119,108,64,110,109,111,,112,120,121,,104,105,47,48,46,254,258', '259,260,261,271,272,266,267,262,263,,-729,-729,,,264,265,,43,,,36,,', '66,67,,,68,,38,251,,257,50,253,252,,249,250,270,269,255,22,256,,,,102', '90,93,94,,95,97,96,98,,,,,91,101,,,,,,,85,,92,106,107,,,44,45,323,81', '82,83,11,65,,,,71,72,,,,75,,73,74,76,33,34,79,80,,,,,,84,31,30,114,113', '115,116,,,21,,,,,,10,51,325,12,118,117,119,108,64,110,109,111,,112,120', '121,,104,105,47,48,46,254,258,259,260,261,271,272,266,267,262,263,,-729', '-729,,,264,265,,43,,,36,,,66,67,,,68,,38,251,,257,50,253,252,,249,250', '270,269,255,22,256,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,,,,85', ',92,106,107,,,44,45,323,81,82,83,11,65,,,,71,72,,,,75,,73,74,76,33,34', '79,80,,,,,,84,31,30,114,113,115,116,,,21,,,,,,10,51,325,12,118,117,119', '108,64,110,109,111,,112,120,121,,104,105,47,48,46,254,258,259,260,261', '271,272,266,,262,263,,,,,,264,265,,43,,,36,,,66,67,,,68,,38,251,,257', '50,253,252,,249,250,270,269,255,22,256,,,,102,90,93,94,,95,97,96,98', ',,,,91,101,,,,,,,85,,92,106,107,,,44,45,323,81,82,83,11,65,,,,71,72', ',,,75,,73,74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,,21,,,,,', '10,51,325,12,118,117,119,108,64,110,109,111,,112,120,121,,104,105,47', '48,46,254,,,,,,,,,,,,,,,,264,265,,43,,,36,,,66,67,,,68,,38,251,,257', '50,253,252,,249,250,,,255,22,256,,,,102,90,93,94,,95,97,96,98,,,,,91', '101,,,,,,,85,,92,106,107,,,44,45,323,81,82,83,11,65,,,,71,72,,,,75,', '73,74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,,21,,,,,,10,51,325', '12,118,117,119,108,64,110,109,111,,112,120,121,,104,105,47,48,46,254', '258,259,260,261,271,272,266,267,262,263,,-729,-729,,,264,265,,43,,,36', ',,66,67,,,68,,38,251,,257,50,253,252,,249,250,270,269,255,22,256,,,', '102,90,93,94,,95,97,96,98,,,,,91,101,,,,,,,85,,92,106,107,,,44,45,323', '81,82,83,11,65,,,,71,72,,,,75,,73,74,76,33,34,79,80,,,,,,84,31,30,114', '113,115,116,,,21,,,,,,10,51,325,12,118,117,119,108,64,110,109,111,,112', '120,121,,104,105,47,48,46,254,-729,-729,-729,-729,271,272,,,-729,-729', ',,,,,264,265,,43,,,36,,,66,67,,,68,,38,251,,257,50,253,252,,249,250', '270,269,255,22,256,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,,,,85', ',92,106,107,,,44,45,323,81,82,83,11,65,,,,71,72,,,,75,,73,74,76,33,34', '79,80,,,,,,84,31,30,114,113,115,116,,,21,,,,,,10,51,325,12,118,117,119', '108,64,110,109,111,,112,120,121,,104,105,47,48,46,254,258,259,260,261', '271,272,266,267,262,263,,-729,-729,,,264,265,,43,,,36,,,66,67,,,68,', '38,251,,257,50,253,252,,249,250,270,269,255,22,256,,,,102,90,93,94,', '95,97,96,98,,,,,91,101,,,,,,,85,,92,106,107,,,44,45,323,81,82,83,11', '65,,,,71,72,,,,75,,73,74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116', ',,21,,,,,,10,51,325,12,118,117,119,108,64,110,109,111,,112,120,121,', '104,105,47,48,46,254,-729,-729,-729,-729,271,272,,,-729,-729,,,,,,264', '265,,43,,,36,,,66,67,,,68,,38,251,,257,50,253,252,,249,250,270,269,255', '22,256,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,,,,85,,92,106,107', ',,44,45,323,81,82,83,11,65,,,,71,72,,,,75,,73,74,76,33,34,79,80,,,,', ',84,31,30,114,113,115,116,,,21,,,,,,10,51,325,12,118,117,119,108,64', '110,109,111,,112,120,121,,104,105,47,48,46,254,,,,,,,,,,,,,,,,264,265', ',43,,,36,,,66,67,,,68,,38,251,,257,50,253,252,,249,250,,,255,22,256', ',,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107', '71,72,44,45,,75,,73,74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116', ',,21,,,,,,,51,,,118,117,119,108,64,110,109,111,,112,120,121,,104,105', '47,48,46,254,,,,,,,,,,,,,,,,264,265,,237,,,243,,,66,67,,,68,,,251,,257', '50,253,252,,249,250,,,,22,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,', ',,,,,85,,92,106,107,-270,,44,45,,,,-270,-270,-270,,,-270,-270,-270,', '-270,254,,,,,,,-270,-270,-270,,,,,,,264,265,,-270,-270,,-270,-270,-270', '-270,-270,,,,,,251,,511,460,253,252,512,249,250,,,,,,169,170,,166,148', '149,150,157,154,156,,,151,152,-270,,,171,172,158,159,-270,,,,,296,-270', ',,,,,,163,162,,147,168,165,164,173,160,161,155,153,145,167,146,-270', '-270,174,,,,,,,,,,,,,-270,,,-270,,,,,-270,81,82,83,11,65,,-270,,71,72', ',,,75,,73,74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,,21,,,,,', '10,51,9,12,118,117,119,108,64,110,109,111,,112,120,121,,104,105,47,48', '46,254,,,,,,,,,,,,,,,,264,265,,43,,,36,,,66,67,,,68,,38,251,,257,50', '253,252,,249,250,,,,22,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81', '82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,33,34,79,80,,,,,,84', '31,30,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111', '317,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66', '67,,,68,,314,,312,,50,,,318,,,,,,242,,,,,102,315,93,94,,95,97,96,98', ',,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,33', '34,79,80,,,,,,84,31,30,114,113,115,116,,,244,,,,,,,51,,,118,117,119', '108,64,110,109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,', ',237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97', '96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74', '76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,,21,,,,,,,51,,,118,117', '119,108,64,110,109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,', ',,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,22,,,,,102,90,93,94,,95', '97,96,98,,,,,91,101,,,,,,,85,,92,106,107,-432,,44,45,,,,-432,-432,-432', ',,-432,-432,-432,,-432,,,,,,,,-432,-432,-432,-432,,,,,,,,,-432,-432', ',-432,-432,-432,-432,-432,,,,,,,,,,,,,,,,,,,,,,,-432,-432,-432,-432', '-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,,,-432,-432,-432,', ',-432,,296,-432,,,-432,-432,,-432,,-432,,-432,,-432,-432,,-432,-432', '-432,-432,-432,-321,-432,-432,-432,,,,-321,-321,-321,,,-321,-321,-321', ',-321,-432,,,-432,-432,,-432,-321,-432,-321,-321,,,,,-432,,,,-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,,305,-321,,,-321,-321,,-321,,-321,,-321,,-321,-321,,-321,-321', '-321,-321,-321,,-321,,-321,,,,,,,,,,,,,,-321,,,-321,-321,,-321,,-321', '81,82,83,,65,,-321,,71,72,,,,75,,73,74,76,33,34,79,80,,,,,,84,31,30', '114,113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111,317', '112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,', ',68,,314,,312,,50,,,318,,,,,,242,,,,,102,315,93,94,,95,97,96,98,,,,', '91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,33,34', '79,80,,,,,,84,31,30,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108', '64,110,109,111,317,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,', '237,,,243,,,66,67,,,68,,314,,312,,50,,,318,,,,,,242,,,,,102,315,93,94', ',95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75', ',73,74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,,244,,,,,,,51,', ',118,117,119,108,64,110,109,111,317,112,120,121,,104,105,47,48,46,,', ',,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,314,,312,,50,,,318,,,,,,242', ',,,,102,315,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107', '71,72,44,45,,75,,73,74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116', ',,21,,,,,,,51,,,118,117,119,108,64,110,109,111,,112,120,121,,104,105', '47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,22', ',,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107', '71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339,347,114,113,115', '116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111,,112,120,121,,104', '105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,', ',,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92', '106,107,71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339,347,114', '113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111,,112,120', '121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,', ',50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83', '85,65,92,106,107,71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339', '347,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111', ',112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67', ',,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,', ',81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,344,345,79,80,', ',,,,84,339,347,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110', '109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243', ',,66,67,,,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91', '101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,344,345,79', '80,,,,,,84,339,347,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108', '64,110,109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237', ',,243,,,66,67,,,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98', ',,,,91,101,,,,,,,85,,92,106,107,-306,,44,45,,,,-306,-306,-306,,,-306', '-306,-306,,-306,,,,,,,,-306,,-306,-306,-306,,,,114,113,115,116,-306', '-306,,-306,-306,-306,-306,-306,,,,,118,117,119,,,,,,,,,,,104,105,,,348', '-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,,102,90,93,94,,95,97,96,98,,,', '-306,91,101,-306,-306,-306,-306,,-306,85,-306,92,106,107,,-306,81,82', '83,11,65,,,,71,72,,,,75,,73,74,76,33,34,79,80,,,,,,84,31,30,114,113', '115,116,,,21,,,,,,10,51,,12,118,117,119,108,64,110,109,111,,112,120', '121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,43,,,36,,,66,67,,,68,,38,,', ',50,,,,,,,,,22,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83', '85,65,92,106,107,71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339', '347,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111', '317,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66', '67,,,68,,314,,,,50,,,318,,,,,,242,,,,,102,315,93,94,,95,97,96,98,,,', ',91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,344,345', '79,80,,,,,,84,339,347,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108', '64,110,109,111,317,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,', '237,,,243,,,66,67,,,68,,,,,,50,,,318,,,,,,242,,,,,102,315,93,94,,95', '97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73', '74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,,21,,,,,,,51,,,118', '117,119,108,64,110,109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,', ',,,,,,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,22,,,,,102,90,93,94', ',95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75', ',73,74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,,21,,,,,,,51,,', '118,117,119,108,64,110,109,111,,112,120,121,,104,105,47,48,46,,,,,,', ',,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,22,,,,,102,90,93', '94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45', ',75,,73,74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,,21,,,,,,,51', ',,118,117,119,108,64,110,109,111,,112,120,121,,104,105,47,48,46,,,,', ',,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,22,,,,,102,90', '93,94,,95,97,96,98,,,,,91,101,126,,,,,125,85,,92,106,107,,,44,45,81', '82,83,11,65,,,,71,72,,,,75,,73,74,76,33,34,79,80,,,,,,84,31,30,114,113', '115,116,,,21,,,,,,10,51,9,12,118,117,119,108,64,110,109,111,,112,120', '121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,43,,,36,,,66,67,,,68,,38,,', ',50,,,,,,,,,22,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,,,418,85', ',92,106,107,,,44,45,81,82,83,,65,,,,71,72,,,,75,,73,74,76,33,34,79,80', ',,,,,84,31,30,114,113,115,116,,,21,,,,,,,51,,,118,117,119,108,64,110', '109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243', ',,66,67,,,68,,,,,,50,,,,,,,,,22,,,,,102,90,93,94,,95,97,96,98,,,,,91', '101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,33,34,79', '80,,,,,,84,31,30,114,113,115,116,,,21,,,,,,,51,,,118,117,119,108,64', '110,109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,', '243,,,66,67,,,68,,,,,,50,,,,,,,,,22,,,,,102,90,93,94,,95,97,96,98,,', ',,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,33,34', '79,80,,,,,,84,31,30,114,113,115,116,,,21,,,,,,,51,,,118,117,119,108', '64,110,109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237', ',,243,,,66,67,,,68,,,,,,50,,,,,,,,,22,,,,,102,90,93,94,,95,97,96,98', ',,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,344', '345,79,80,,,,,,84,339,347,114,113,115,116,,,244,,,,,,,51,,,118,117,119', '108,64,110,109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,', ',237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97', '96,98,,,,,91,101,,,,,,,85,,92,106,107,,,44,45,81,82,83,11,65,,,,71,72', ',,,75,,73,74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,,21,,,,,', '10,51,,12,118,117,119,108,64,110,109,111,,112,120,121,,104,105,47,48', '46,,,,,,,,,,,,,,,,,,,,43,,,36,,,66,67,,,68,,38,,,,50,,,,,,,,,22,,,,', '102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71', '72,44,45,,75,,73,74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,,21', ',,,,,,51,,,118,117,119,108,64,110,109,111,,112,120,121,,104,105,47,48', '46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,22,,,,', '102,90,93,94,,95,97,96,98,,,,,91,101,232,,,81,82,83,85,65,92,106,107', '71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339,347,114,113,115', '116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111,,112,120,121,,104', '105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,', ',,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92', '106,107,71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339,347,114', '113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111,,112,120', '121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,', ',50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83', '85,65,92,106,107,71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339', '347,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111', ',112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67', ',,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,', ',81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,344,345,79,80,', ',,,,84,339,347,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110', '109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243', ',,66,67,,,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91', '101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,344,345,79', '80,,,,,,84,339,347,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108', '64,110,109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237', ',,243,,,66,67,,,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98', ',,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,344', '345,79,80,,,,,,84,339,347,114,113,115,116,,,244,,,,,,,51,,,118,117,119', '108,64,110,109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,', ',237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97', '96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74', '76,344,345,79,80,,,,,,84,339,347,114,113,115,116,,,244,,,,,,,51,,,118', '117,119,108,64,110,109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,', ',,,,,,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94', ',95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75', ',73,74,76,344,345,79,80,,,,,,84,339,347,114,113,115,116,,,244,,,,,,', '51,,,118,117,119,108,64,110,109,111,,112,120,121,,104,105,47,48,46,', ',,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,242,,,,,102', '90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71,72', '44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339,347,114,113,115,116,,', '244,,,,,,,51,,,118,117,119,108,64,110,109,111,,112,120,121,,104,105', '47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,242', ',,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107', '71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339,347,114,113,115', '116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111,,112,120,121,,104', '105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,', ',,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92', '106,107,71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339,347,114', '113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111,,112,120', '121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,', ',50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83', '85,65,92,106,107,71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339', '347,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111', ',112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67', ',,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,', ',81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,344,345,79,80,', ',,,,84,339,347,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110', '109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243', ',,66,67,,,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91', '101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,344,345,79', '80,,,,,,84,339,347,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108', '64,110,109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237', ',,243,,,66,67,,,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98', ',,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,344', '345,79,80,,,,,,84,339,347,114,113,115,116,,,244,,,,,,,51,,,118,117,119', '108,64,110,109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,', ',237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97', '96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74', '76,344,345,79,80,,,,,,84,339,347,114,113,115,116,,,244,,,,,,,51,,,118', '117,119,108,64,110,109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,', ',,,,,,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94', ',95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75', ',73,74,76,344,345,79,80,,,,,,84,339,347,114,113,115,116,,,244,,,,,,', '51,,,118,117,119,108,64,110,109,111,,112,120,121,,104,105,47,48,46,', ',,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,242,,,,,102', '90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71,72', '44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339,347,114,113,115,116,,', '244,,,,,,,51,,,118,117,119,108,64,110,109,111,,112,120,121,,104,105', '47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,242', ',,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107', '71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339,347,114,113,115', '116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111,,112,120,121,,104', '105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,', ',,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92', '106,107,71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339,347,114', '113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111,,112,120', '121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,', ',50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83', '85,65,92,106,107,71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339', '347,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111', ',112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67', ',,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,', ',81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,344,345,79,80,', ',,,,84,339,347,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110', '109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243', ',,66,67,,,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91', '101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,344,345,79', '80,,,,,,84,339,347,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108', '64,110,109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237', ',,243,,,66,67,,,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98', ',,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,344', '345,79,80,,,,,,84,339,347,114,113,115,116,,,244,,,,,,,51,,,118,117,119', '108,64,110,109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,', ',237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97', '96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74', '76,344,345,79,80,,,,,,84,339,347,114,113,115,116,,,244,,,,,,,51,,,118', '117,119,108,64,110,109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,', ',,,,,,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94', ',95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75', ',73,74,76,344,345,79,80,,,,,,84,339,347,114,113,115,116,,,244,,,,,,', '51,,,118,117,119,108,64,110,109,111,317,112,120,121,,104,105,47,48,46', ',,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,312,,50,,,318,,,,,,242', ',,,,102,315,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107', '71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339,347,114,113,115', '116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111,,112,120,121,,104', '105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,742,,,,50,,', ',,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65', '92,106,107,71,72,44,45,,75,,73,74,76,33,34,79,80,,,,,,84,31,30,114,113', '115,116,,,21,,,,,,,51,,,118,117,119,108,64,110,109,111,,112,120,121', ',104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,,,50', ',,,,,,,,22,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65', '92,106,107,71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339,347,114', '113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111,,112,120', '121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,', ',50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83', '85,65,92,106,107,71,72,44,45,,75,,73,74,76,33,34,79,80,,,,,,84,31,30', '114,113,115,116,,,21,,,,,,,51,,,118,117,119,108,64,110,109,111,,112', '120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68', ',,,,,50,,,,,,,,,22,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82', '83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84', '339,347,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110,109', '111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66', '67,,,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101', ',,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,33,34,79,80,', ',,,,84,31,30,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110', '109,111,317,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243', ',,66,67,,,68,,314,,312,,50,,,318,,,,,,242,,,,,102,315,93,94,,95,97,96', '98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,515,,75,,73,74,76', '33,34,79,80,,,,,,84,31,30,114,113,115,116,,,244,,,,,,,51,,,118,117,119', '108,64,110,109,111,317,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,', ',,,,237,,,243,,,66,67,,,68,,314,,312,,50,,,318,,,,,,242,,,,,102,315', '93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44', '45,,75,,73,74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,,244,,,', ',,,51,,,118,117,119,108,64,110,109,111,317,112,120,121,,104,105,47,48', '46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,314,,312,,50,,,318,,,', ',,242,,,,,102,315,93,94,,95,97,96,98,,,,,91,101,232,,,81,82,83,85,65', '92,106,107,71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339,347,114', '113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111,,112,120', '121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,', ',50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83', '85,65,92,106,107,71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339', '347,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111', ',112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67', ',,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,', ',81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,344,345,79,80,', ',,,,84,339,347,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110', '109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243', ',,66,67,,,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91', '101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,344,345,79', '80,,,,,,84,339,347,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108', '64,110,109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237', ',,243,,,66,67,,,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98', ',,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,344', '345,79,80,,,,,,84,339,347,114,113,115,116,,,244,,,,,,,51,,,118,117,119', '108,64,110,109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,', ',237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97', '96,98,,,,,91,101,,,,,,,85,,92,106,107,,,44,45,81,82,83,11,65,,,,71,72', ',,,75,,73,74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,,21,,,,,', '10,51,,12,118,117,119,108,64,110,109,111,,112,120,121,,104,105,47,48', '46,,,,,,,,,,,,,,,,,,,,43,,,36,,,66,67,,,68,,38,,,,50,,,,,,,,,22,,,,', '102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71', '72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339,347,114,113,115,116', ',,244,,,,,,,51,,,118,117,119,108,64,110,109,111,,112,120,121,,104,105', '47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,242', ',,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107', '71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339,347,114,113,115', '116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111,,112,120,121,,104', '105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,', ',,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92', '106,107,71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339,347,114', '113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111,,112,120', '121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,', ',50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83', '85,65,92,106,107,71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339', '347,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111', ',112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67', ',,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,', ',81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,33,34,79,80,,,', ',,84,31,30,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110,109', '111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66', '67,,,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101', ',,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,344,345,79,80', ',,,,,84,339,347,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108,64', '110,109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,', '243,,,66,67,,,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,', ',,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,33', '34,79,80,,,,,,84,31,30,114,113,115,116,,,21,,,,,,,51,,,118,117,119,108', '64,110,109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237', ',,243,,,66,67,,,68,,,,,,50,,,,,,,,,22,,,,,102,90,93,94,,95,97,96,98', ',,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,344', '345,79,80,,,,,,84,339,347,114,113,115,116,,,244,,,,,,,51,,,118,117,119', '108,64,110,109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,', ',237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97', '96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74', '76,344,345,79,80,,,,,,84,339,347,114,113,115,116,,,244,,,,,,,51,,,118', '117,119,108,64,110,109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,', ',,,,,,,,,237,,,243,561,,66,67,,,68,,,,,,50,,,,,,,,,242,,,,,102,90,93', '94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45', ',75,,73,74,76,344,345,79,80,,,,,,84,339,347,114,113,115,116,,,244,,', ',,,,51,,,118,117,119,108,64,110,109,111,,112,120,121,,104,105,47,48', '46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,242,,,', ',102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71', '72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339,347,114,113,115,116', ',,244,,,,,,,51,,,118,117,119,108,64,110,109,111,,112,120,121,,104,105', '47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,434,,,,50,,,,,,', ',,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92', '106,107,71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339,347,114', '113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111,,112,120', '121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,', ',50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83', '85,65,92,106,107,71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339', '347,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111', ',112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67', ',,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,', ',81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,33,34,79,80,,,', ',,84,31,30,114,113,115,116,,,21,,,,,,,51,,,118,117,119,108,64,110,109', '111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66', '67,,,68,,,,,,50,,,,,,,,,22,,,,,102,90,93,94,,95,97,96,98,,,,,91,101', ',,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,344,345,79,80', ',,,,,84,339,347,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108,64', '110,109,111,317,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237', ',,243,,,66,67,,,68,,742,,312,,50,,,318,,,,,,242,,,,,102,315,93,94,,95', '97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,515,,75,,73', '74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,,244,,,,,,,51,,,118', '117,119,108,64,110,109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,', ',,,,,,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94', ',95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75', ',73,74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,,21,,,,,,,51,,', '118,117,119,108,64,110,109,111,,112,120,121,,104,105,47,48,46,,,,,,', ',,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,22,,,,,102,90,93', '94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45', ',75,,73,74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,,244,,,,,,', '51,,,118,117,119,108,64,110,109,111,,112,120,121,,104,105,47,48,46,', ',,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,242,,,,,102', '90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71,72', '44,45,,75,,73,74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,,244', ',,,,,,51,,,118,117,119,108,64,110,109,111,,112,120,121,,104,105,47,48', '46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,242,,,', ',102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71', '72,44,45,,75,,73,74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,,244', ',,,,,,51,,,118,117,119,108,64,110,109,111,,112,120,121,,104,105,47,48', '46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,242,,,', ',102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71', '72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339,347,114,113,115,116', ',,244,,,,,,,51,,,118,117,119,108,64,110,109,111,317,112,120,121,,104', '105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,312,,50,,', '318,,,,,,242,,,,,102,315,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85', '65,92,106,107,71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339,347', '114,113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111,317', '112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,', ',68,,742,,312,,50,,,318,,,,,,242,,,,,102,315,93,94,,95,97,96,98,,,,', '91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,344,345', '79,80,,,,,,84,339,347,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108', '64,110,109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237', ',,243,,,66,67,,,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98', ',,,,91,101,,,,,,,85,,92,106,107,,,44,45,81,82,83,11,65,,,,71,72,,,,75', ',73,74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,,21,,,,,,10,51', ',12,118,117,119,108,64,110,109,111,,112,120,121,,104,105,47,48,46,,', ',,,,,,,,,,,,,,,,,43,,,36,,,66,67,,,68,,38,,,,50,,,,,,,,,22,,,,,102,90', '93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44', '45,,75,,73,74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,,244,,,', ',,,51,,,118,117,119,108,64,110,109,111,317,112,120,121,,104,105,47,48', '46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,314,,312,,50,,,318,,,', ',,242,,,,,102,315,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92', '106,107,71,72,44,45,,75,,73,74,76,33,34,79,80,,,,,,84,31,30,114,113', '115,116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111,,112,120,121', ',104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,,,50', ',,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85', '65,92,106,107,71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339,347', '114,113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111,,112', '120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68', ',844,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,', ',,85,,92,106,107,,,44,45,81,82,83,11,65,,,,71,72,,,,75,,73,74,76,33', '34,79,80,,,,,,84,31,30,114,113,115,116,,,21,,,,,,10,51,,12,118,117,119', '108,64,110,109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,', ',43,,,36,,,66,67,,,68,,38,,,,50,,,,,,,,,22,,,,,102,90,93,94,,95,97,96', '98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76', '344,345,79,80,,,,,,84,339,347,114,113,115,116,,,244,,,,,,,51,,,118,117', '119,108,64,110,109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,', ',,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95', '97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73', '74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,,244,,,,,,,51,,,118', '117,119,108,64,110,109,111,317,112,120,121,,104,105,47,48,46,,,,,,,', ',,,,,,,,,,,,237,,,243,,,66,67,,,68,,314,,312,,50,,,318,,,,,,242,,,,', '102,315,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71', '72,44,45,,75,,73,74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,,244', ',,,,,,51,,,118,117,119,108,64,110,109,111,317,112,120,121,,104,105,47', '48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,314,,312,,50,,,318', ',,,,,242,,,,,102,315,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65', '92,106,107,71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339,347,114', '113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111,,112,120', '121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,314', ',,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82', '83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84', '339,347,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110,109', '111,317,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,', ',66,67,,,68,,,,,,50,,,318,,,,,,242,,,,,102,315,93,94,,95,97,96,98,,', ',,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,344', '345,79,80,,,,,,84,339,347,114,113,115,116,,,244,,,,,,,51,,,118,117,119', '108,64,110,109,111,317,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,', ',,,,237,,,243,,,66,67,,,68,,742,,,,50,,,318,,,,,,242,,,,,102,315,93', '94,,95,97,96,98,,,,,91,101,,,,,,,85,,92,106,107,-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,,296,-270,,,-270,-270,,-270,,-270,,-270,,-270,-270,,-270', '-270,-270,-270,-270,,-270,-270,-270,,,,,,,,,,,,,,-270,,,-270,-270,,-270', ',-270,81,82,83,,65,,-270,,71,72,,,,75,,73,74,76,344,345,79,80,,,,,,84', '339,347,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110,109', '111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66', '67,,,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101', ',,,,,,85,,92,106,107,-708,,44,45,,,,-708,-708,-708,,,-708,-708,-708', ',-708,,,,,,,,-708,-708,-708,-708,-708,,,,,,,,-708,-708,,-708,-708,-708', '-708,-708,,,,,,,,,,,,,,,,,,,,,,,-708,-708,-708,-708,-708,-708,-708,-708', '-708,-708,-708,-708,-708,-708,,,-708,-708,-708,,,-708,,,-708,,,-708', '-708,,-708,,-708,,-708,,-708,-708,,-708,-708,-708,-708,-708,,-708,-708', '-708,,,,,,,,,,,,,,-708,,,-708,-708,-708,-708,,-708,-709,-708,,,,,-708', '-709,-709,-709,,,-709,-709,-709,,-709,,,,,,,,-709,-709,-709,-709,-709', ',,,,,,,-709,-709,,-709,-709,-709,-709,-709,,,,,,,,,,,,,,,,,,,,,,,-709', '-709,-709,-709,-709,-709,-709,-709,-709,-709,-709,-709,-709,-709,,,-709', '-709,-709,,,-709,,,-709,,,-709,-709,,-709,,-709,,-709,,-709,-709,,-709', '-709,-709,-709,-709,,-709,-709,-709,,,,,,,,,,,,,,-709,,,-709,-709,-709', '-709,,-709,,-709,,81,82,83,-709,65,,,,71,72,,,,75,,73,74,76,344,345', '79,80,,,,,,84,339,347,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108', '64,110,109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237', ',,243,,,66,67,,,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98', ',,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,344', '345,79,80,,,,,,84,339,347,114,113,115,116,,,244,,,,,,,51,,,118,117,119', '108,64,110,109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,', ',237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97', '96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74', '76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,,21,,,,,,,51,,,118,117', '119,108,64,110,109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,', ',,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,22,,,,,102,90,93,94,,95', '97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73', '74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,,244,,,,,,,51,,,118', '117,119,108,64,110,109,111,317,112,120,121,,104,105,47,48,46,,,,,,,', ',,,,,,,,,,,,237,,,243,,,66,67,,,68,,314,,312,,50,,,318,,,,,,242,,,,', '102,315,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71', '72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339,347,114,113,115,116', ',,244,,,,,,,51,,,118,117,119,108,64,110,109,111,,112,120,121,,104,105', '47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,242', ',,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107', '71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339,347,114,113,115', '116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111,,112,120,121,,104', '105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,', ',,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92', '106,107,71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339,347,114', '113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111,,112,120', '121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,', ',50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83', '85,65,92,106,107,71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84,339', '347,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111', ',112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67', ',,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,', ',81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,344,345,79,80,', ',,,,84,339,347,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110', '109,111,,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243', ',,66,67,,,68,,,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91', '101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,33,34,79', '80,,,,,,84,31,30,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108,64', '110,109,111,317,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237', ',,243,,,66,67,,,68,,314,,312,,50,,,318,,,,,,242,,,,,102,315,93,94,,95', '97,96,98,,,,,91,101,,,,,,,85,,92,106,107,,,44,45,81,82,83,11,65,,,,71', '72,,,,75,,73,74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,,21,,', ',,,10,51,325,12,118,117,119,108,64,110,109,111,,112,120,121,,104,105', '47,48,46,,,,,,,,,,,,,,,,,,,,43,,,36,,,66,67,,,68,,38,,,,50,,,,,,,,,22', ',,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,,,418,85,,92,106,107,,,44', '45,81,82,83,,65,,,,71,72,,,,75,,73,74,76,344,345,79,80,,,,,,84,339,347', '114,113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111,,112', '120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68', ',,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82', '83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84', '339,347,114,113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110,109', '111,317,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,', ',66,67,,,68,,,,312,,50,,,318,,,,,,242,,,,,102,315,93,94,,95,97,96,98', ',,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,344', '345,79,80,,,,,,84,339,347,114,113,115,116,,,244,,,,,,,51,,,118,117,119', '108,64,110,109,111,317,112,120,121,,104,105,47,48,46,,,,,,,,,,,,,,,', ',,,,237,,,243,,,66,67,,,68,,742,,312,,50,,,318,,,,,,242,,,,,102,315', '93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,44', '45,,75,,73,74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,,244,,,', ',,,51,,,118,117,119,108,64,110,109,111,,112,120,121,,104,105,47,48,46', ',,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,434,,,,50,,,,,,,,,242,,,', ',102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71', '72,44,45,,75,,73,74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116,,,244', ',,,,,,51,,,118,117,119,108,64,110,109,111,,112,120,121,,104,105,47,48', '46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,434,,,,50,,,,,,,,,242', ',,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107', '71,72,44,45,,75,,73,74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116', ',,21,,,,,,,51,,,118,117,119,108,64,110,109,111,,112,120,121,,104,105', '47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,22', ',,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107', '71,72,44,45,,75,,73,74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116', ',,21,,,,,,,51,,,118,117,119,108,64,110,109,111,,112,120,121,,104,105', '47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,22', ',,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107', '71,72,44,45,,75,,73,74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116', ',,244,,,,,,,51,,,118,117,119,108,64,110,109,111,,112,120,121,,104,105', '47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,,,,,50,,,,,,,,,242', ',,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107', '71,72,44,45,,75,,73,74,76,33,34,79,80,,,,,,84,31,30,114,113,115,116', ',,244,,,,,,,51,,,118,117,119,108,64,110,109,111,317,112,120,121,,104', '105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68,,314,,312,,50', ',,318,,,,,,242,,,,,102,315,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83', '85,65,92,106,107,71,72,44,45,,75,,73,74,76,33,34,79,80,,,,,,84,31,30', '114,113,115,116,,,244,,,,,,,51,,,118,117,119,108,64,110,109,111,,112', '120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68', ',,,,,50,,,,,,,,,242,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82', '83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,33,34,79,80,,,,,,84,31', '30,114,113,115,116,,,21,,,,,,,51,,,118,117,119,108,64,110,109,111,,112', '120,121,,104,105,47,48,46,,,,,,,,,,,,,,,,,,,,237,,,243,,,66,67,,,68', ',,,,,50,,,,,,,,,22,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82', '83,85,65,92,106,107,71,72,44,45,,75,,73,74,76,344,345,79,80,,,,,,84', '339,347,114,113,115,116,,,244,,,,,,,340,,,118,117,119,108,64,110,109', '111,,112,120,121,,104,105,,,348,,,,,,,,,,,,,,,,,,,,1105,,,243,,,66,67', ',,68,,,,,,,,,,,,,,,,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82', '83,85,65,92,106,107,71,72,,,,75,,73,74,76,344,345,79,80,,,,,,84,339', '347,114,113,115,116,,,244,,,,,,,340,,,118,117,119,108,64,110,109,111', ',112,120,121,,104,105,,,348,,,,,,,,,,,,,,,,,,,,393,,,36,,,66,67,,,68', ',38,,,,,,,,,,,,,,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83', '85,65,92,106,107,71,72,,,,75,,73,74,76,344,345,79,80,,,,,,84,339,347', '114,113,115,116,,,244,,,,,,,340,,,118,117,119,108,64,110,109,111,,112', '120,121,,104,105,,,348,,,,,,,,,,,,,,,,,,,,336,,,332,,,66,67,,,68,,,', ',,,,,,,,,,,,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85', '65,92,106,107,71,72,,,,75,,73,74,76,344,345,79,80,,,,,,84,339,347,114', '113,115,116,,,244,,,,,,,340,,,118,117,119,108,64,110,109,111,,112,120', '121,,104,105,,,348,,,,,,,,,,,,,,,,,,,,336,,,332,,,66,67,,,68,,,,,,,', ',,,,,,,,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92', '106,107,71,72,,,,75,,73,74,76,344,345,79,80,,,,,,84,339,347,114,113', '115,116,,,244,,,,,,,340,,,118,117,119,108,64,110,109,111,,112,120,121', ',104,105,,,348,,,,,,,,,,,,,,,,,,,,336,,,332,,,66,67,,,68,,,,,,,,,,,', ',,,,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106', '107,71,72,,,,75,,73,74,76,344,345,79,80,,,,,,84,339,347,114,113,115', '116,,,244,,,,,,,340,,,118,117,119,108,64,110,109,111,,112,120,121,,104', '105,,,348,,,,,,,,,,,,,,,,,,,,336,,,332,,,66,67,,,68,,331,,,,,,,,,,,', ',,,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106', '107,71,72,,,,75,,73,74,76,344,345,79,80,,,,,,84,339,347,114,113,115', '116,,,244,,,,,,,340,,,118,117,119,108,64,110,109,111,,112,120,121,,104', '105,,,348,,,,,,,,,,,,,,,,,,,,336,,,332,,,66,67,,,68,,,,,,,,,,,,,,,,', ',,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107', '71,72,,,,75,,73,74,76,344,345,79,80,,,,,,84,339,347,114,113,115,116', ',,244,,,,,,,340,,,118,117,119,108,64,110,109,111,,112,120,121,,104,105', ',,348,,,,,,,,,,,,,,,,,,,,1105,,,243,,,66,67,,,68,,,,,,,,,,,,,,,,,,,', '102,90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71', '72,,,,75,,73,74,76,344,345,79,80,,,,,,84,339,347,114,113,115,116,,,244', ',,,,,,340,,,118,117,119,398,64,110,109,399,,112,120,121,,104,105,,,348', ',,,,,,,,,,,,,,,,405,,,400,,,243,,,66,67,,,68,,,,,,,,,,,,,,,,,,,,102', '90,93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71,72', ',,,75,,73,74,76,344,345,79,80,,,,,,84,339,347,114,113,115,116,,,244', ',,,,,,340,,,118,117,119,108,64,110,109,111,,112,120,121,,104,105,,,348', ',,,,,,,,,,,,,,,,,,,336,,,332,,,66,67,,,68,,,,,,,,,,,,,,,,,,,,102,90', '93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,,,', '75,,73,74,76,344,345,79,80,,,,,,84,339,347,114,113,115,116,,,244,,,', ',,,340,,,118,117,119,398,64,110,109,399,,112,120,121,,104,105,,,348', ',,,,,,,,,,,,,,,,,,,400,,,243,,,66,67,,,68,,,,,,,,,,,,,,,,,,,,102,90', '93,94,,95,97,96,98,,,,,91,101,,,,81,82,83,85,65,92,106,107,71,72,,,', '75,,73,74,76,344,345,79,80,,,,,,84,339,347,114,113,115,116,,,244,,,', ',,,340,,,118,117,119,108,64,110,109,111,,112,120,121,,104,105,,,348', ',,,,,,,,,,,,,,,,,,,336,,,243,,,66,67,,,68,,,582,,579,578,577,587,580', ',,,,,,,,590,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,350,,585,85,,92', '106,107,81,82,83,,65,598,597,,71,72,591,,,75,,73,74,76,344,345,79,80', ',,,,,84,339,347,114,113,115,116,,,244,,,,,,,340,,,118,117,119,108,64', '110,109,111,,112,120,121,,104,105,,,348,,,,,,,,,,,,,,,,,,,,336,,,243', ',,66,67,,,68,,,582,,579,578,577,587,580,,,,,,,,,590,,102,90,93,94,,95', '97,96,98,,,,,91,101,,,,543,,585,85,,92,106,107,81,82,83,,65,598,597', ',71,72,591,,,75,,73,74,76,344,345,79,80,,,,,,84,339,347,114,113,115', '116,,,244,,,,,,,340,,,118,117,119,108,64,110,109,111,,112,120,121,,104', '105,,,348,,,,,,,,,,,,,,,,,,,,1111,,,243,,,66,67,,,68,,,,,,,,,,,,,,,', ',,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,,,,85,,92,106,107,185,196', '186,209,182,202,192,191,212,213,207,190,189,184,210,214,215,194,183', '197,201,203,195,188,,,,204,211,206,205,198,208,193,181,200,199,,,,,', '180,187,178,179,175,176,177,138,140,,,139,,,,,,,,169,170,,166,148,149', '150,157,154,156,,,151,152,,,,171,172,158,159,,,,,,,,,,,,,,163,162,,147', '168,165,164,173,160,161,155,153,145,167,146,,,174,102,,,,,,,,,,,,,,101', '185,196,186,209,182,202,192,191,212,213,207,190,189,184,210,214,215', '194,183,197,201,203,195,188,,,,204,211,206,205,198,208,193,181,200,199', ',,,,,180,187,178,179,175,176,177,138,140,137,,139,,,,,,,,169,170,,166', '148,149,150,157,154,156,,,151,152,,,,171,172,158,159,,,,,,,,,,,,,,163', '162,,147,168,165,164,173,160,161,155,153,145,167,146,,,174,102,,,,,', ',,,,,,,,101,185,196,186,209,182,202,192,191,212,213,207,190,189,184', '210,214,215,194,183,197,201,203,195,188,,,,204,211,206,205,198,208,193', '181,200,199,,,,,,180,187,178,179,175,176,177,138,140,,,139,,,,,,,,169', '170,,166,148,149,150,157,154,156,,,151,152,,,,171,172,158,159,,,,,,', ',,,,,,,163,162,,147,168,165,164,173,160,161,155,153,145,167,146,,,174', '102,,,,,,,,,,,,,,101,185,196,186,209,182,202,192,191,212,213,207,190', '189,184,210,214,215,194,183,197,201,203,195,188,,,,204,211,206,205,198', '208,193,181,200,199,,,,,,180,187,178,179,175,176,177,138,140,,,139,', ',,,,,,169,170,,166,148,149,150,157,154,156,,,151,152,,,,171,172,158', '159,,,,,,,,,,,,,,163,162,,147,168,165,164,173,160,161,155,153,145,167', '146,,,174,102,,,,,,,,,,,,,,101,185,196,186,209,182,202,192,191,212,213', '207,190,189,184,210,214,215,194,183,197,201,203,195,188,,,,204,211,206', '284,283,285,282,181,200,199,,,,,,180,187,178,179,279,280,281,277,140', '110,109,278,,112,,,,,,169,170,,166,148,149,150,157,154,156,,,151,152', ',,,171,172,158,159,,,,,,289,,,,,,,,163,162,,147,168,165,164,173,160', '161,155,153,145,167,146,,,174,114,113,115,116,,,,,,,,,,,,,118,117,119', '719,,,582,722,579,578,577,587,580,104,105,,,348,,,,590,,,,,,,,,,,,,', ',,721,,,703,,,585,701,,,702,,,,,595,594,598,597,,,,591,,,,720,,,,102', '90,93,94,,95,97,96,98,,,,,91,101,114,113,115,116,,,85,,92,106,107,,', '707,708,,118,117,119,719,,,582,722,579,578,577,587,580,104,105,,,348', ',,,590,,,,,,,,,,,,,,,,721,,,703,,,585,701,,,702,,,,,595,594,598,597', ',,,591,,,,720,,,,102,90,93,94,,95,97,96,98,,,,,91,101,114,113,115,116', ',,85,,92,106,107,,,707,708,,118,117,119,719,,,582,722,579,578,577,587', '580,104,105,,,348,,,,590,,,,,,,,,,,,,,,,721,,,703,,,585,701,,,702,,', ',,,,598,597,,,,591,,,,720,,,,102,90,93,94,,95,97,96,98,,,,,91,101,114', '113,115,116,,,85,,92,106,107,,,707,708,,118,117,119,719,,,582,722,579', '578,577,587,580,104,105,,,348,,,,590,,,,,,,,,,,,,,,,721,,,703,,,585', '701,,,702,,,,,595,594,598,597,,,,591,,,,720,,,,102,90,93,94,,95,97,96', '98,,,,,91,101,114,113,115,116,,,85,,92,106,107,,,707,708,,118,117,119', '719,,,582,722,579,578,577,587,580,104,105,,,348,,,,590,,,,,,,,,,,,,', ',,721,,,703,,,585,701,,,702,,,,,,,598,597,,,,591,,,,720,,,,102,90,93', '94,,95,97,96,98,,,,,91,101,114,113,115,116,,,85,,92,106,107,,,707,708', ',118,117,119,719,,,582,722,579,578,577,587,580,104,105,,,348,,,,590', ',,,,,,,,,,,,,,,721,,,703,,,585,701,,,702,,885,,,,,598,597,,,,591,,,', '720,,,,102,90,93,94,,95,97,96,98,,,,,91,101,114,113,115,116,,,85,,92', '106,107,,,707,708,,118,117,119,719,,,582,722,579,578,577,587,580,104', '105,,,348,,,,590,,,,,,,,,,,,,,,,721,,,703,,,585,701,,,702,,,,,,,598', '597,,,,591,,,,720,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,,,,85,', '92,106,107,,,707,708,185,196,186,209,182,202,192,191,212,213,207,190', '189,184,210,214,215,194,183,197,201,203,195,188,,,,204,211,206,205,198', '208,193,181,200,199,,,,,,180,187,178,179,175,176,177,138,140,,,139,', ',,,,,,169,170,,166,148,149,150,157,154,156,,,151,152,,,,171,172,158', '159,,,,,,,,,,,,,,163,162,,147,168,165,164,173,160,161,155,153,145,167', '146,,,174,114,113,115,116,,,582,,579,578,577,587,580,,,,118,117,119', '719,,590,,722,986,,,,,104,105,,,348,590,,,,,,,,,585,,,,,,,,,,721,598', '597,703,,,591,701,,,702,,885,,,,,,,591,,,,,,,720,,,,102,987,93,94,,95', '97,96,98,,,,,91,101,114,113,115,116,,,85,,92,106,107,,,707,708,,118', '117,119,719,,,582,722,579,578,577,587,580,104,105,,,348,,,,590,,,,,', ',,,,,,,,,,721,,,703,,,585,701,,,702,,885,,,595,594,598,597,,,,591,,', ',720,,,,102,90,93,94,,95,97,96,98,,,,,91,101,232,114,113,115,116,,85', ',92,106,107,,,707,708,,,118,117,119,719,,,582,722,579,578,577,587,580', '104,105,,,348,,,,590,,,,,,,,,,,,,,,,721,,,703,,,585,701,,,702,,,,,595', '594,598,597,,,,591,,,,720,,,,102,90,93,94,,95,97,96,98,,,,,91,101,114', '113,115,116,,,85,,92,106,107,,,707,708,,118,117,119,719,,,582,722,579', '578,577,587,580,104,105,,,348,,,,590,,,,,,,,,,,,,,,,721,,,703,,,585', '701,,,702,,,,,595,594,598,597,,,,591,,,,720,,,,102,90,93,94,,95,97,96', '98,,,,,91,101,114,113,115,116,,,85,,92,106,107,,,707,708,,118,117,119', '719,,,582,722,579,578,577,587,580,104,105,,,348,,,,590,,,,,,,,,,,,,', ',,721,,,703,,,585,701,,,702,,999,,,,,598,597,,,,591,,,,720,,,,102,90', '93,94,,95,97,96,98,,,,,91,101,114,113,115,116,,,85,,92,106,107,,,707', '708,,118,117,119,719,,,,722,986,,,,,104,105,,,348,590,,,,,,,,,,,,,,', ',,,,721,,,703,,,,701,,,702,,885,,,,,,,591,,,,,,,720,,,,102,987,93,94', ',95,97,96,98,,,,,91,101,114,113,115,116,,,85,,92,106,107,,,707,708,', '118,117,119,719,,,,722,986,,,,,104,105,,,348,590,,,,,,,,,,,,,,,,,,,721', ',,703,,,,701,,,702,,885,,,,,,,591,,,,,,,720,,,,102,987,93,94,,95,97', '96,98,,,,,91,101,114,113,115,116,,,85,,92,106,107,,,707,708,,118,117', '119,719,,,582,722,579,578,577,587,580,104,105,,,348,,,,590,,,,,,,,,', ',,,,,,721,,,703,,,585,701,,,702,,,,,,,598,597,,,,591,,,,720,,,,102,90', '93,94,,95,97,96,98,,,,,91,101,114,113,115,116,,,85,,92,106,107,,,707', '708,,118,117,119,719,,,582,722,579,578,577,587,580,104,105,,,348,,,', '590,,,,,,,,,,,,,,,,721,,,703,,,585,701,,,702,,,,,,,598,597,,,,591,,', ',720,,,,102,90,93,94,,95,97,96,98,,,,,91,101,114,113,115,116,,,85,,92', '106,107,,,707,708,,118,117,119,719,,,,722,,,,,,104,105,,,348,,,,,,,', '114,113,115,116,,,,,,,,,721,,,703,118,117,119,701,,,702,,885,,,,,104', '105,,,348,,,,,720,,,,102,90,93,94,,95,97,96,98,,,,,91,101,,,,,,,85,', '92,106,107,,,707,708,582,,579,578,577,587,580,,,,,102,90,93,94,590,95', '97,96,98,,,,,91,101,114,113,115,116,,,85,,92,106,107,585,641,,,,118', '117,119,,595,594,598,597,,,,591,,104,105,,,348,114,113,115,116,,,,,', ',,,,,,,118,117,119,,,,,,,,,,,104,105,,,348,,,,,,,,,,,,,,,,102,90,93', '94,,95,97,96,98,,,,,91,101,,,,,,,85,,92,106,107,,,,,,,,,102,90,93,94', ',95,97,96,98,,,,,91,101,846,460,,,847,,85,,92,106,107,,169,170,,166', '148,149,150,157,154,156,,,151,152,,,,171,172,158,159,,,,,,296,,,,,,', ',163,162,,147,168,165,164,173,160,161,155,153,145,167,146,814,460,174', ',815,,,,,,,,169,170,,166,148,149,150,157,154,156,,,151,152,,,,171,172', '158,159,,,,,,296,,,,,,,,163,162,,147,168,165,164,173,160,161,155,153', '145,167,146,456,460,174,,457,,,,,,,,169,170,,166,148,149,150,157,154', '156,,,151,152,,,,171,172,158,159,,,,,,296,,,,,,,,163,162,,147,168,165', '164,173,160,161,155,153,145,167,146,463,467,174,,462,,,,,,,,169,170', ',166,148,149,150,157,154,156,,,151,152,,,,171,172,158,159,,,,,,296,', ',,,,,,163,162,,147,168,165,164,173,160,161,155,153,145,167,146,816,467', '174,,817,,,,,,,,169,170,,166,148,149,150,157,154,156,,,151,152,,,,171', '172,158,159,,,,,,296,,,,,,,,163,162,,147,168,165,164,173,160,161,155', '153,145,167,146,755,467,174,,756,,,,,,,,169,170,,166,148,149,150,157', '154,156,,,151,152,,,,171,172,158,159,,,,,,296,,,,,,,,163,162,,147,168', '165,164,173,160,161,155,153,145,167,146,690,460,174,,691,,,,,,,,169', '170,,166,148,149,150,157,154,156,,,151,152,,,,171,172,158,159,,,,,,296', ',,,,,,,163,162,,147,168,165,164,173,160,161,155,153,145,167,146,1190', '467,174,,1189,,,,,,,,169,170,,166,148,149,150,157,154,156,,,151,152', ',,,171,172,158,159,,,,,,296,,,,,,,,163,162,,147,168,165,164,173,160', '161,155,153,145,167,146,819,467,174,,820,,,,,,,,169,170,,166,148,149', '150,157,154,156,,,151,152,,,,171,172,158,159,,,,,,296,,,,,,,,163,162', ',147,168,165,164,173,160,161,155,153,145,167,146,690,460,174,,691,,', ',,,,,169,170,,166,148,149,150,157,154,156,,,151,152,,,,171,172,158,159', ',,,,,296,,,,,,,,163,162,,147,168,165,164,173,160,161,155,153,145,167', '146,692,467,174,,693,,,,,,,,169,170,,166,148,149,150,157,154,156,,,151', '152,,,,171,172,158,159,,,,,,296,,,,,,,,163,162,,147,168,165,164,173', '160,161,155,153,145,167,146,752,460,174,,753,,,,,,,,169,170,,166,148', '149,150,157,154,156,,,151,152,,,,171,172,158,159,,,,,,296,,,,,,,,163', '162,,147,168,165,164,173,160,161,155,153,145,167,146,511,460,174,,512', ',,,,,,,169,170,,166,148,149,150,157,154,156,,,151,152,,,,171,172,158', '159,,,,,,296,,,,,,,,163,162,,147,168,165,164,173,160,161,155,153,145', '167,146,1193,460,174,,1194,,,,,,,,169,170,,166,148,149,150,157,154,156', ',,151,152,,,,171,172,158,159,,,,,,296,,,,,,,,163,162,,147,168,165,164', '173,160,161,155,153,145,167,146,692,467,174,,693,,,,,,,,169,170,,166', '148,149,150,157,154,156,,,151,152,,,,171,172,158,159,,,,,,296,,,,,,', ',163,162,,147,168,165,164,173,160,161,155,153,145,167,146,1195,467,174', ',1196,,,,,,,,169,170,,166,148,149,150,157,154,156,,,151,152,,,,171,172', '158,159,,,,,,296,,,,,,,,163,162,,147,168,165,164,173,160,161,155,153', '145,167,146,849,467,174,,848,,,,,,,,169,170,,166,148,149,150,157,154', '156,,,151,152,,,,171,172,158,159,,,,,,296,,,,,,,,163,162,,147,168,165', '164,173,160,161,155,153,145,167,146,,582,174,579,578,577,587,580,,582', ',579,578,577,587,580,590,,,,,,,,590,,,,,,,,,,,,,,585,,,,,,,,585,595', '594,598,597,,,,591,595,594,598,597,,,,591' ] 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 = [ '849,847,1052,999,1056,827,394,849,849,849,762,762,619,849,849,285,849', '46,46,877,21,1109,285,816,849,849,415,1102,414,702,691,628,817,1105', '956,988,849,849,812,849,849,849,849,849,1108,1158,702,383,1032,1199', '1056,1196,137,988,622,815,1006,137,137,1199,847,21,622,814,391,877,849', '849,849,849,849,849,849,849,849,849,849,849,849,849,285,390,849,849', '849,999,849,849,816,691,849,1112,415,849,414,46,46,817,849,1006,849', '441,849,849,762,849,849,849,849,849,111,849,849,849,827,394,619,111', '111,111,1052,619,111,111,111,1052,111,849,1196,752,849,849,816,849,111', '849,111,111,111,1109,628,817,849,956,1109,849,111,111,1054,111,111,111', '111,111,1195,1206,812,1193,1194,812,441,812,1108,1158,815,383,1032,1108', '1158,1196,383,1032,814,391,1196,51,111,111,111,111,111,111,111,111,111', '111,111,111,111,111,390,382,111,111,111,752,111,111,730,970,111,43,321', '111,111,238,111,321,111,1112,111,872,111,111,1112,111,111,111,111,111', '848,111,1111,111,69,638,638,848,848,848,1061,1195,1061,848,848,752,848', '111,752,1114,111,111,111,111,848,111,873,111,472,472,752,872,111,800', '800,111,848,848,970,848,848,848,848,848,238,592,1054,508,508,1115,755', '1054,1195,1206,52,1193,1194,1195,1206,29,1193,1194,873,592,1116,730', '848,848,848,848,848,848,848,848,848,848,848,848,848,848,341,1117,848', '848,848,333,848,848,40,382,848,69,333,848,382,914,348,348,848,638,848', '333,848,848,638,848,848,848,848,848,52,848,692,848,25,755,755,690,846', '692,692,692,472,29,692,692,692,848,692,600,848,848,1129,848,600,848', '692,692,692,692,692,508,848,1130,341,848,29,753,692,692,333,692,692', '692,692,692,755,334,1139,755,747,914,653,284,334,1076,1141,341,1144', '1088,284,755,747,334,348,348,690,846,692,692,692,692,692,692,692,692', '692,692,692,692,692,692,53,352,692,692,692,655,692,692,1145,914,692', '400,914,692,692,400,692,1146,692,478,692,753,692,692,914,692,692,692', '692,692,334,692,692,692,653,653,284,1076,1076,1076,531,1088,1088,409', '653,1147,410,692,352,413,692,692,692,692,1076,692,53,692,1088,693,352', '753,692,236,753,692,693,693,693,655,655,693,693,693,335,693,753,1149', '478,655,876,335,283,693,876,693,693,693,700,283,335,869,399,700,1154', '693,693,700,693,693,693,693,693,17,531,531,531,409,409,409,410,410,410', '413,413,413,675,235,387,5,1164,531,236,387,5,693,693,693,693,693,693', '693,693,693,693,693,693,693,693,335,41,693,693,693,399,693,693,283,1170', '693,869,399,693,693,412,693,399,693,1175,693,399,693,693,675,693,693', '693,693,693,960,693,15,693,721,960,675,235,721,907,399,907,907,907,907', '907,457,693,41,282,693,693,693,693,907,693,282,693,1189,463,41,456,693', '1055,1055,693,463,463,463,1190,399,378,463,463,378,463,907,16,16,412', '412,412,281,463,463,907,907,907,907,281,1165,1165,907,457,88,463,463', '1192,463,463,463,463,463,14,42,457,88,366,456,366,366,366,366,366,282', '416,88,12,907,9,456,1131,366,1197,1131,463,463,463,463,463,463,463,463', '463,463,463,463,463,463,1202,19,463,463,463,366,463,463,281,1203,463', '411,42,463,366,366,366,366,463,1204,463,366,463,463,42,463,463,463,463', '463,462,463,463,463,704,704,1205,462,462,462,416,416,416,462,462,280', '462,463,19,3,463,463,280,463,462,463,279,278,774,774,19,366,463,279', '278,463,462,462,1211,462,462,462,462,462,1217,411,411,411,768,392,768', '768,768,768,768,277,392,371,371,371,371,371,277,768,516,392,462,462', '462,462,462,462,462,462,462,462,462,462,462,462,280,517,462,462,462', '768,462,462,381,381,462,279,278,462,768,768,768,768,462,518,462,768', '462,462,522,462,462,462,462,462,108,462,799,462,392,799,491,108,108', '108,277,490,108,108,108,276,108,462,489,488,462,462,276,462,108,462', '108,108,108,538,375,768,462,375,539,462,108,108,542,108,108,108,108', '108,544,548,549,18,374,337,27,374,548,553,18,563,337,27,564,567,568', '548,569,18,570,337,108,108,108,108,108,108,108,108,108,108,108,108,108', '108,276,571,108,108,108,573,108,108,1151,487,108,574,584,108,108,1151', '108,474,108,596,108,599,108,108,1151,108,108,108,108,108,548,108,18', '108,337,27,536,536,536,536,536,487,756,601,464,487,487,108,603,756,108', '108,108,108,756,108,440,108,756,604,605,606,108,440,455,108,818,818', '818,818,818,818,440,1151,616,818,818,454,452,620,818,398,818,818,818', '818,818,818,818,324,324,324,324,324,818,818,818,818,818,818,818,621', '585,818,585,585,585,756,585,818,818,818,818,818,818,818,818,818,818', '818,818,440,818,818,818,631,818,818,818,818,818,820,631,398,623,353', '49,49,820,585,398,631,353,820,442,398,438,820,585,398,818,353,435,818', '433,650,818,818,1110,658,818,660,818,432,430,1110,818,667,398,424,486', '676,49,49,1110,818,681,404,686,694,818,818,818,818,695,818,818,818,818', '1074,631,697,395,818,818,393,820,720,398,1074,353,818,486,818,818,818', '486,486,818,818,823,823,823,823,823,823,723,724,389,823,823,727,729', '1110,823,819,823,823,823,823,823,823,823,388,735,736,737,1074,823,823', '823,823,823,823,823,739,741,823,379,1074,749,751,377,823,823,823,823', '823,823,823,823,823,823,823,823,376,823,823,823,1104,823,823,823,823', '823,402,1104,819,754,54,757,758,402,761,819,1104,54,372,764,819,368', '402,364,819,823,54,783,823,784,786,823,823,234,362,823,802,823,808,809', '234,823,785,819,785,785,785,358,785,234,823,813,356,349,822,823,823', '823,823,347,823,823,823,823,886,1104,343,826,823,823,342,402,828,819', '886,54,823,340,823,823,823,843,339,823,823,834,834,834,834,834,834,845', '336,854,834,834,330,329,234,834,870,834,834,834,834,834,834,834,23,328', '326,325,886,834,834,834,834,834,834,834,878,879,834,883,886,884,885', '888,834,834,834,834,834,834,834,834,834,834,834,834,313,834,834,834', '310,834,834,834,834,834,23,23,23,23,23,23,23,23,23,23,23,309,23,23,900', '903,23,23,904,834,1,23,834,771,913,834,834,295,918,834,921,834,23,771', '23,834,23,23,922,23,23,23,23,23,834,23,925,927,928,834,834,834,834,930', '834,834,834,834,932,934,935,937,834,834,940,23,771,771,947,950,834,771', '834,834,834,957,959,834,834,1010,1010,1010,1010,1010,1010,966,646,646', '1010,1010,646,646,646,1010,967,1010,1010,1010,1010,1010,1010,1010,8', '8,8,8,8,1010,1010,1010,1010,1010,1010,1010,968,969,1010,979,980,981', '982,445,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010', '244,1010,1010,1010,991,1010,1010,1010,1010,1010,445,445,445,445,445', '445,445,445,445,445,445,992,445,445,993,997,445,445,998,1010,240,239', '1010,1003,1013,1010,1010,1014,1016,1010,1017,1010,445,1018,445,1010', '445,445,1020,445,445,445,445,445,1010,445,1021,1022,237,1010,1010,1010', '1010,1048,1010,1010,1010,1010,1049,1065,216,1075,1010,1010,1083,445', '1085,445,,,1010,,1010,1010,1010,,,1010,1010,615,615,615,615,615,615', ',,,615,615,,,,615,,615,615,615,615,615,615,615,,,,,,615,615,615,615', '615,615,615,,,615,,,,,794,615,615,615,615,615,615,615,615,615,615,615', '615,,615,615,615,,615,615,615,615,615,794,794,794,794,794,794,794,794', '794,794,794,,794,794,,,794,794,,615,,,615,1091,,615,615,,,615,,615,794', '1091,794,615,794,794,,794,794,794,794,794,615,794,,,,615,615,615,615', ',615,615,615,615,,,,,615,615,,794,1091,1091,,,615,1091,615,615,615,', ',615,615,618,618,618,618,618,618,,,,618,618,,,,618,,618,618,618,618', '618,618,618,,,,,,618,618,618,618,618,618,618,,,618,,,,,451,618,618,618', '618,618,618,618,618,618,618,618,618,,618,618,618,,618,618,618,618,618', '451,451,451,451,451,451,451,451,451,451,451,,451,451,,,451,451,,618', ',,618,,,618,618,,,618,,618,451,,451,618,451,451,,451,451,451,451,451', '618,451,,,,618,618,618,618,,618,618,618,618,,,,,618,618,,451,,,,,618', ',618,618,618,,,618,618,1029,1029,1029,1029,1029,1029,,,,1029,1029,,', ',1029,,1029,1029,1029,1029,1029,1029,1029,,,,,,1029,1029,1029,1029,1029', '1029,1029,,,1029,,,,,763,1029,1029,1029,1029,1029,1029,1029,1029,1029', '1029,1029,1029,,1029,1029,1029,,1029,1029,1029,1029,1029,763,763,763', '763,763,763,763,763,763,763,763,,763,763,,,763,763,,1029,,,1029,,,1029', '1029,,,1029,,1029,763,,763,1029,763,763,,763,763,763,763,763,1029,763', ',,,1029,1029,1029,1029,,1029,1029,1029,1029,,,,,1029,1029,,763,,,,,1029', ',1029,1029,1029,,,1029,1029,218,218,218,218,218,218,,,,218,218,,,,218', ',218,218,218,218,218,218,218,,,,,,218,218,218,218,218,218,218,,1174', '218,1174,1174,1174,,1174,218,218,218,218,218,218,218,218,218,218,218', '218,,218,218,218,,218,218,218,218,218,505,505,505,505,505,505,505,505', '505,505,505,,505,505,,,505,505,,218,,,218,,,218,218,,,218,,218,505,', '505,218,505,505,,505,505,505,505,505,218,505,,,,218,218,218,218,,218', '218,218,218,,,,,218,218,505,505,,,,,218,,218,218,218,,,218,218,1066', '1066,1066,1066,1066,1066,,,,1066,1066,,,,1066,,1066,1066,1066,1066,1066', '1066,1066,,,,,,1066,1066,1066,1066,1066,1066,1066,,1068,1066,1068,1068', '1068,,1068,1066,1066,1066,1066,1066,1066,1066,1066,1066,1066,1066,1066', ',1066,1066,1066,,1066,1066,1066,1066,1066,851,851,851,851,851,851,851', '851,851,851,851,,851,851,,,851,851,,1066,,,1066,,,1066,1066,,,1066,', '1066,851,,851,1066,851,851,,851,851,851,851,851,1066,851,,,,1066,1066', '1066,1066,,1066,1066,1066,1066,,,,,1066,1066,,851,,,,,1066,,1066,1066', '1066,,,1066,1066,1067,1067,1067,1067,1067,1067,,,,1067,1067,,,,1067', ',1067,1067,1067,1067,1067,1067,1067,,,,,,1067,1067,1067,1067,1067,1067', '1067,,,1067,,,,,,1067,1067,1067,1067,1067,1067,1067,1067,1067,1067,1067', '1067,,1067,1067,1067,,1067,1067,1067,1067,1067,307,307,307,307,307,307', '307,307,307,307,307,,307,307,,,307,307,,1067,,,1067,,,1067,1067,,,1067', ',1067,307,,307,1067,307,307,,307,307,307,307,307,1067,307,,,,1067,1067', '1067,1067,,1067,1067,1067,1067,,,,,1067,1067,,307,,,,,1067,,1067,1067', '1067,,,1067,1067,639,639,639,639,639,639,,,,639,639,,,,639,,639,639', '639,639,639,639,639,,,,,,639,639,639,639,639,639,639,,,639,,,,,,639', '639,639,639,639,639,639,639,639,639,639,639,,639,639,639,,639,639,639', '639,639,1050,1050,1050,1050,1050,1050,1050,1050,1050,1050,1050,,1050', '1050,,,1050,1050,,639,,,639,,,639,639,,,639,,639,1050,,1050,639,1050', '1050,,1050,1050,1050,1050,1050,639,1050,,,,639,639,639,639,,639,639', '639,639,,,,,639,639,,1050,,,,,639,,639,639,639,,,639,639,386,386,386', '386,386,386,,,,386,386,,,,386,,386,386,386,386,386,386,386,,,,,,386', '386,386,386,386,386,386,,,386,,,,,,386,386,386,386,386,386,386,386,386', '386,386,386,,386,386,386,,386,386,386,386,386,560,560,560,560,560,560', '560,560,560,560,560,,560,560,,,560,560,,386,,,386,,,386,386,,,386,,386', '560,,560,386,560,560,,560,560,560,560,560,386,560,,,,386,386,386,386', ',386,386,386,386,,,,,386,386,,560,,,,,386,,386,386,386,,,386,386,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,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,', '1009,1009,,,1009,1009,,36,,,36,,,36,36,,,36,,36,1009,,1009,36,1009,1009', ',1009,1009,1009,1009,1009,36,1009,,,,36,36,36,36,,36,36,36,36,,,,,36', '36,,1009,,,,,36,,36,36,36,,,36,36,135,135,135,135,135,135,,,,135,135', ',,,135,,135,135,135,135,135,135,135,,,,,,135,135,135,135,135,135,135', ',,135,,,,,,135,135,135,135,135,135,135,135,135,135,135,135,,135,135', '135,,135,135,135,135,135,1027,1027,1027,1027,1027,1027,1027,1027,1027', '1027,1027,,1027,1027,,,1027,1027,,135,,,135,,,135,135,,,135,,135,1027', ',1027,135,1027,1027,,1027,1027,1027,1027,1027,135,1027,,,,135,135,135', '135,,135,135,135,135,,,,,135,135,,1027,,,,,135,,135,135,135,,,135,135', '332,332,332,332,332,332,,,,332,332,,,,332,,332,332,332,332,332,332,332', ',,,,,332,332,332,332,332,332,332,,941,332,941,941,941,,941,332,332,332', '332,332,332,332,332,332,332,332,332,,332,332,332,,332,332,332,332,332', '781,,781,781,781,,781,,941,,942,,942,942,942,,942,941,,332,,,332,,,332', '332,,502,332,,332,,,,332,,781,,1119,,1119,1119,1119,332,1119,781,942', ',332,332,332,332,,332,332,332,332,,,502,,332,332,502,502,,502,502,,332', ',332,332,332,,1119,332,332,385,385,385,385,385,385,,,,385,385,,,,385', ',385,385,385,385,385,385,385,,,,,,385,385,385,385,385,385,385,,,385', ',,501,,,385,385,385,385,385,385,385,385,385,385,385,385,,385,385,385', ',385,385,385,385,385,503,503,503,503,503,503,503,501,,503,503,501,501', ',501,501,503,503,,385,,,385,,,385,385,,,385,,385,503,,503,385,503,503', ',503,503,503,503,503,385,503,,,,385,385,385,385,,385,385,385,385,,,', ',385,385,,1118,,1118,1118,1118,385,1118,385,385,385,,,385,385,1120,1120', '1120,1120,1120,1120,,,,1120,1120,,,,1120,,1120,1120,1120,1120,1120,1120', '1120,1118,,,,,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,499,499,499,499,499,499,499,,,499,499,,,,,,499,499', ',1120,,,1120,,,1120,1120,,,1120,,1120,499,,499,1120,499,499,,499,499', '499,499,499,1120,499,,,,1120,1120,1120,1120,,1120,1120,1120,1120,,,', ',1120,1120,,,,,,,1120,,1120,1120,1120,,,1120,1120,327,327,327,327,327', '327,,,,327,327,,,,327,,327,327,327,327,327,327,327,,,,,,327,327,327', '327,327,327,327,,,327,,,,,,327,327,327,327,327,327,327,327,327,327,327', '327,,327,327,327,,327,327,327,327,327,500,500,500,500,500,500,500,,', '500,500,,,,,,500,500,,327,,,327,,,327,327,,,327,,327,500,,500,327,500', '500,,500,500,500,500,500,327,500,,,,327,327,327,327,,327,327,327,327', ',,,,327,327,,,,,,,327,,327,327,327,,,327,327,908,908,908,908,908,908', ',,,908,908,,,,908,,908,908,908,908,908,908,908,,,,,,908,908,908,908', '908,908,908,,,908,,,,,,908,908,908,908,908,908,908,908,908,908,908,908', ',908,908,908,,908,908,908,908,908,498,498,498,498,498,498,498,,,498', '498,,,,,,498,498,,908,,,908,,,908,908,,,908,,908,498,,498,908,498,498', ',498,498,498,498,498,908,498,,,,908,908,908,908,,908,908,908,908,,,', ',908,908,,,,,,,908,,908,908,908,,,908,908,1166,1166,1166,1166,1166,1166', ',,,1166,1166,,,,1166,,1166,1166,1166,1166,1166,1166,1166,,,,,,1166,1166', '1166,1166,1166,1166,1166,,,1166,,,,,,1166,1166,1166,1166,1166,1166,1166', '1166,1166,1166,1166,1166,,1166,1166,1166,,1166,1166,1166,1166,1166,496', '496,496,496,496,496,496,,,496,496,,,,,,496,496,,1166,,,1166,,,1166,1166', ',,1166,,1166,496,,496,1166,496,496,,496,496,496,496,496,1166,496,,,', '1166,1166,1166,1166,,1166,1166,1166,1166,,,,,1166,1166,,,,,,,1166,,1166', '1166,1166,,,1166,1166,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,355,355', '355,355,355,355,355,355,355,355,355,,355,355,,,355,355,,2,,,2,,,2,2', ',,2,,2,355,,355,2,355,355,,355,355,355,355,355,2,355,,,,2,2,2,2,,2,2', '2,2,,,,,2,2,,,,,,,2,,2,2,2,,,2,2,370,370,370,370,370,370,,,,370,370', ',,,370,,370,370,370,370,370,370,370,,,,,,370,370,370,370,370,370,370', ',,370,,,,,,370,370,370,370,370,370,370,370,370,370,370,370,,370,370', '370,,370,370,370,370,370,354,354,354,354,354,354,354,354,354,354,354', ',354,354,,,354,354,,370,,,370,,,370,370,,,370,,370,354,,354,370,354', '354,,354,354,354,354,354,370,354,,,,370,370,370,370,,370,370,370,370', ',,,,370,370,,,,,,,370,,370,370,370,,,370,370,369,369,369,369,369,369', ',,,369,369,,,,369,,369,369,369,369,369,369,369,,,,,,369,369,369,369', '369,369,369,,,369,,,,,,369,369,369,369,369,369,369,369,369,369,369,369', ',369,369,369,,369,369,369,369,369,504,504,504,504,504,504,504,504,,504', '504,,,,,,504,504,,369,,,369,,,369,369,,,369,,369,504,,504,369,504,504', ',504,504,504,504,504,369,504,,,,369,369,369,369,,369,369,369,369,,,', ',369,369,,,,,,,369,,369,369,369,,,369,369,920,920,920,920,920,920,,', ',920,920,,,,920,,920,920,920,920,920,920,920,,,,,,920,920,920,920,920', '920,920,,,920,,,,,,920,920,920,920,920,920,920,920,920,920,920,920,', '920,920,920,,920,920,920,920,920,559,,,,,,,,,,,,,,,,559,559,,920,,,920', ',,920,920,,,920,,920,559,,559,920,559,559,,559,559,,,559,920,559,,,', '920,920,920,920,,920,920,920,920,,,,,920,920,,,,,,,920,,920,920,920', ',,920,920,363,363,363,363,363,363,,,,363,363,,,,363,,363,363,363,363', '363,363,363,,,,,,363,363,363,363,363,363,363,,,363,,,,,,363,363,363', '363,363,363,363,363,363,363,363,363,,363,363,363,,363,363,363,363,363', '484,484,484,484,484,484,484,484,484,484,484,,484,484,,,484,484,,363', ',,363,,,363,363,,,363,,363,484,,484,363,484,484,,484,484,484,484,484', '363,484,,,,363,363,363,363,,363,363,363,363,,,,,363,363,,,,,,,363,,363', '363,363,,,363,363,1107,1107,1107,1107,1107,1107,,,,1107,1107,,,,1107', ',1107,1107,1107,1107,1107,1107,1107,,,,,,1107,1107,1107,1107,1107,1107', '1107,,,1107,,,,,,1107,1107,1107,1107,1107,1107,1107,1107,1107,1107,1107', '1107,,1107,1107,1107,,1107,1107,1107,1107,1107,497,497,497,497,497,497', '497,,,497,497,,,,,,497,497,,1107,,,1107,,,1107,1107,,,1107,,1107,497', ',497,1107,497,497,,497,497,497,497,497,1107,497,,,,1107,1107,1107,1107', ',1107,1107,1107,1107,,,,,1107,1107,,,,,,,1107,,1107,1107,1107,,,1107', '1107,955,955,955,955,955,955,,,,955,955,,,,955,,955,955,955,955,955', '955,955,,,,,,955,955,955,955,955,955,955,,,955,,,,,,955,955,955,955', '955,955,955,955,955,955,955,955,,955,955,955,,955,955,955,955,955,485', '485,485,485,485,485,485,485,485,485,485,,485,485,,,485,485,,955,,,955', ',,955,955,,,955,,955,485,,485,955,485,485,,485,485,485,485,485,955,485', ',,,955,955,955,955,,955,955,955,955,,,,,955,955,,,,,,,955,,955,955,955', ',,955,955,961,961,961,961,961,961,,,,961,961,,,,961,,961,961,961,961', '961,961,961,,,,,,961,961,961,961,961,961,961,,,961,,,,,,961,961,961', '961,961,961,961,961,961,961,961,961,,961,961,961,,961,961,961,961,961', '495,495,495,495,495,495,495,,,495,495,,,,,,495,495,,961,,,961,,,961', '961,,,961,,961,495,,495,961,495,495,,495,495,495,495,495,961,495,,,', '961,961,961,961,,961,961,961,961,,,,,961,961,,,,,,,961,,961,961,961', ',,961,961,243,243,243,243,243,243,,,,243,243,,,,243,,243,243,243,243', '243,243,243,,,,,,243,243,243,243,243,243,243,,,243,,,,,,243,243,243', '243,243,243,243,243,243,243,243,243,,243,243,243,,243,243,243,243,243', '506,,,,,,,,,,,,,,,,506,506,,243,,,243,,,243,243,,,243,,243,506,,506', '243,506,506,,506,506,,,506,243,506,,,,243,243,243,243,,243,243,243,243', ',,,,243,243,,,,132,132,132,243,132,243,243,243,132,132,243,243,,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,492,,,,,,,,,,,,,,,,492,492,,132,,,132,,,132,132,,,132,,,492', ',492,132,492,492,,492,492,,,,132,,,,,132,132,132,132,,132,132,132,132', ',,,,132,132,,,,,,,132,,132,132,132,510,,132,132,,,,510,510,510,,,510', '510,510,,510,494,,,,,,,510,510,510,,,,,,,494,494,,510,510,,510,510,510', '510,510,,,,,,494,,292,292,494,494,292,494,494,,,,,,292,292,,292,292', '292,292,292,292,292,,,292,292,510,,,292,292,292,292,510,,,,,510,510', ',,,,,,292,292,,292,292,292,292,292,292,292,292,292,292,292,292,510,510', '292,,,,,,,,,,,,,510,,,510,,,,,510,7,7,7,7,7,,510,,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,493,,,,,,,,,,,,,,,,493,493,,7,,,7,,,7,7,,,7,,7,493,,493,7,493', '493,,493,493,,,,7,,,,,7,7,7,7,,7,7,7,7,,,,,7,7,,,,1155,1155,1155,7,1155', '7,7,7,1155,1155,7,7,,1155,,1155,1155,1155,1155,1155,1155,1155,,,,,,1155', '1155,1155,1155,1155,1155,1155,,,1155,,,,,,,1155,,,1155,1155,1155,1155', '1155,1155,1155,1155,1155,1155,1155,1155,,1155,1155,1155,1155,1155,,', ',,,,,,,,,,,,,,,,,1155,,,1155,,,1155,1155,,,1155,,1155,,1155,,1155,,', '1155,,,,,,1155,,,,,1155,1155,1155,1155,,1155,1155,1155,1155,,,,,1155', '1155,,,,22,22,22,1155,22,1155,1155,1155,22,22,1155,1155,,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,,,,1123', '1123,1123,22,1123,22,22,22,1123,1123,22,22,,1123,,1123,1123,1123,1123', '1123,1123,1123,,,,,,1123,1123,1123,1123,1123,1123,1123,,,1123,,,,,,', '1123,,,1123,1123,1123,1123,1123,1123,1123,1123,,1123,1123,1123,,1123', '1123,1123,1123,1123,,,,,,,,,,,,,,,,,,,,1123,,,1123,,,1123,1123,,,1123', ',,,,,1123,,,,,,,,,1123,,,,,1123,1123,1123,1123,,1123,1123,1123,1123', ',,,,1123,1123,,,,,,,1123,,1123,1123,1123,30,,1123,1123,,,,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,', ',,1122,1122,1122,34,1122,34,34,34,1122,1122,34,34,,1122,,1122,1122,1122', '1122,1122,1122,1122,,,,,,1122,1122,1122,1122,1122,1122,1122,,,1122,', ',,,,,1122,,,1122,1122,1122,1122,1122,1122,1122,1122,,1122,1122,1122', ',1122,1122,1122,1122,1122,,,,,,,,,,,,,,,,,,,,1122,,,1122,,,1122,1122', ',,1122,,,,,,1122,,,,,,,,,1122,,,,,1122,1122,1122,1122,,1122,1122,1122', '1122,,,,,1122,1122,,,,44,44,44,1122,44,1122,1122,1122,44,44,1122,1122', ',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,,,,707,707,707,707,64,64,,64,64,64,64,64,,,,,707,707,707,,,,,,,,', ',,707,707,,,707,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,,707,707', '707,707,,707,707,707,707,,,,64,707,707,64,64,64,64,,64,707,64,707,707', '707,,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,124,124', '124,124,124,,,,124,124,,,,124,,124,124,124,124,124,124,124,,,,,,124', '124,124,124,124,124,124,,,124,,,,,,124,124,124,124,124,124,124,124,124', '124,124,124,,124,124,124,,124,124,124,124,124,,,,,,,,,,,,,,,,,,,,124', ',,124,,,124,124,,,124,,124,,,,124,,,,,,,,,124,,,,,124,124,124,124,,124', '124,124,124,,,,,124,124,,,,,,124,124,,124,124,124,,,124,124,129,129', '129,,129,,,,129,129,,,,129,,129,129,129,129,129,129,129,,,,,,129,129', '129,129,129,129,129,,,129,,,,,,,129,,,129,129,129,129,129,129,129,129', ',129,129,129,,129,129,129,129,129,,,,,,,,,,,,,,,,,,,,129,,,129,,,129', '129,,,129,,,,,,129,,,,,,,,,129,,,,,129,129,129,129,,129,129,129,129', ',,,,129,129,,,,130,130,130,129,130,129,129,129,130,130,129,129,,130', ',130,130,130,130,130,130,130,,,,,,130,130,130,130,130,130,130,,,130', ',,,,,,130,,,130,130,130,130,130,130,130,130,,130,130,130,,130,130,130', '130,130,,,,,,,,,,,,,,,,,,,,130,,,130,,,130,130,,,130,,,,,,130,,,,,,', ',,130,,,,,130,130,130,130,,130,130,130,130,,,,,130,130,,,,131,131,131', '130,131,130,130,130,131,131,130,130,,131,,131,131,131,131,131,131,131', ',,,,,131,131,131,131,131,131,131,,,131,,,,,,,131,,,131,131,131,131,131', '131,131,131,,131,131,131,,131,131,131,131,131,,,,,,,,,,,,,,,,,,,,131', ',,131,,,131,131,,,131,,,,,,131,,,,,,,,,131,,,,,131,131,131,131,,131', '131,131,131,,,,,131,131,,,,515,515,515,131,515,131,131,131,515,515,131', '131,,515,,515,515,515,515,515,515,515,,,,,,515,515,515,515,515,515,515', ',,515,,,,,,,515,,,515,515,515,515,515,515,515,515,,515,515,515,,515', '515,515,515,515,,,,,,,,,,,,,,,,,,,,515,,,515,,,515,515,,,515,,,,,,515', ',,,,,,,,515,,,,,515,515,515,515,,515,515,515,515,,,,,515,515,,,,,,,515', ',515,515,515,,,515,515,133,133,133,133,133,,,,133,133,,,,133,,133,133', '133,133,133,133,133,,,,,,133,133,133,133,133,133,133,,,133,,,,,,133', '133,,133,133,133,133,133,133,133,133,133,,133,133,133,,133,133,133,133', '133,,,,,,,,,,,,,,,,,,,,133,,,133,,,133,133,,,133,,133,,,,133,,,,,,,', ',133,,,,,133,133,133,133,,133,133,133,133,,,,,133,133,,,,231,231,231', '133,231,133,133,133,231,231,133,133,,231,,231,231,231,231,231,231,231', ',,,,,231,231,231,231,231,231,231,,,231,,,,,,,231,,,231,231,231,231,231', '231,231,231,,231,231,231,,231,231,231,231,231,,,,,,,,,,,,,,,,,,,,231', ',,231,,,231,231,,,231,,,,,,231,,,,,,,,,231,,,,,231,231,231,231,,231', '231,231,231,,,,,231,231,231,,,242,242,242,231,242,231,231,231,242,242', '231,231,,242,,242,242,242,242,242,242,242,,,,,,242,242,242,242,242,242', '242,,,242,,,,,,,242,,,242,242,242,242,242,242,242,242,,242,242,242,', '242,242,242,242,242,,,,,,,,,,,,,,,,,,,,242,,,242,,,242,242,,,242,,,', ',,242,,,,,,,,,242,,,,,242,242,242,242,,242,242,242,242,,,,,242,242,', ',,247,247,247,242,247,242,242,242,247,247,242,242,,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,,,,266', '266,266,265,266,265,265,265,266,266,265,265,,266,,266,266,266,266,266', '266,266,,,,,,266,266,266,266,266,266,266,,,266,,,,,,,266,,,266,266,266', '266,266,266,266,266,,266,266,266,,266,266,266,266,266,,,,,,,,,,,,,,', ',,,,,266,,,266,,,266,266,,,266,,,,,,266,,,,,,,,,266,,,,,266,266,266', '266,,266,266,266,266,,,,,266,266,,,,267,267,267,266,267,266,266,266', '267,267,266,266,,267,,267,267,267,267,267,267,267,,,,,,267,267,267,267', '267,267,267,,,267,,,,,,,267,,,267,267,267,267,267,267,267,267,,267,267', '267,,267,267,267,267,267,,,,,,,,,,,,,,,,,,,,267,,,267,,,267,267,,,267', ',,,,,267,,,,,,,,,267,,,,,267,267,267,267,,267,267,267,267,,,,,267,267', ',,,268,268,268,267,268,267,267,267,268,268,267,267,,268,,268,268,268', '268,268,268,268,,,,,,268,268,268,268,268,268,268,,,268,,,,,,,268,,,268', '268,268,268,268,268,268,268,,268,268,268,,268,268,268,268,268,,,,,,', ',,,,,,,,,,,,,268,,,268,,,268,268,,,268,,,,,,268,,,,,,,,,268,,,,,268', '268,268,268,,268,268,268,268,,,,,268,268,,,,273,273,273,268,273,268', '268,268,273,273,268,268,,273,,273,273,273,273,273,273,273,,,,,,273,273', '273,273,273,273,273,,,273,,,,,,,273,,,273,273,273,273,273,273,273,273', ',273,273,273,,273,273,273,273,273,,,,,,,,,,,,,,,,,,,,273,,,273,,,273', '273,,,273,,,,,,273,,,,,,,,,273,,,,,273,273,273,273,,273,273,273,273', ',,,,273,273,,,,974,974,974,273,974,273,273,273,974,974,273,273,,974', ',974,974,974,974,974,974,974,,,,,,974,974,974,974,974,974,974,,,974', ',,,,,,974,,,974,974,974,974,974,974,974,974,,974,974,974,,974,974,974', '974,974,,,,,,,,,,,,,,,,,,,,974,,,974,,,974,974,,,974,,,,,,974,,,,,,', ',,974,,,,,974,974,974,974,,974,974,974,974,,,,,974,974,,,,973,973,973', '974,973,974,974,974,973,973,974,974,,973,,973,973,973,973,973,973,973', ',,,,,973,973,973,973,973,973,973,,,973,,,,,,,973,,,973,973,973,973,973', '973,973,973,973,973,973,973,,973,973,973,973,973,,,,,,,,,,,,,,,,,,,', '973,,,973,,,973,973,,,973,,,,973,,973,,,973,,,,,,973,,,,,973,973,973', '973,,973,973,973,973,,,,,973,973,,,,954,954,954,973,954,973,973,973', '954,954,973,973,,954,,954,954,954,954,954,954,954,,,,,,954,954,954,954', '954,954,954,,,954,,,,,,,954,,,954,954,954,954,954,954,954,954,,954,954', '954,,954,954,954,954,954,,,,,,,,,,,,,,,,,,,,954,,,954,,,954,954,,,954', ',954,,,,954,,,,,,,,,954,,,,,954,954,954,954,,954,954,954,954,,,,,954', '954,,,,949,949,949,954,949,954,954,954,949,949,954,954,,949,,949,949', '949,949,949,949,949,,,,,,949,949,949,949,949,949,949,,,949,,,,,,,949', ',,949,949,949,949,949,949,949,949,,949,949,949,,949,949,949,949,949', ',,,,,,,,,,,,,,,,,,,949,,,949,,,949,949,,,949,,,,,,949,,,,,,,,,949,,', ',,949,949,949,949,,949,949,949,949,,,,,949,949,,,,945,945,945,949,945', '949,949,949,945,945,949,949,,945,,945,945,945,945,945,945,945,,,,,,945', '945,945,945,945,945,945,,,945,,,,,,,945,,,945,945,945,945,945,945,945', '945,,945,945,945,,945,945,945,945,945,,,,,,,,,,,,,,,,,,,,945,,,945,', ',945,945,,,945,,,,,,945,,,,,,,,,945,,,,,945,945,945,945,,945,945,945', '945,,,,,945,945,,,,289,289,289,945,289,945,945,945,289,289,945,945,', '289,,289,289,289,289,289,289,289,,,,,,289,289,289,289,289,289,289,,', '289,,,,,,,289,,,289,289,289,289,289,289,289,289,,289,289,289,,289,289', '289,289,289,,,,,,,,,,,,,,,,,,,,289,,,289,,,289,289,,,289,,,,,,289,,', ',,,,,,289,,,,,289,289,289,289,,289,289,289,289,,,,,289,289,,,,917,917', '917,289,917,289,289,289,917,917,289,289,,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', ',917,917,917,917,,,,,917,917,,,,296,296,296,917,296,917,917,917,296', '296,917,917,,296,,296,296,296,296,296,296,296,,,,,,296,296,296,296,296', '296,296,,,296,,,,,,,296,,,296,296,296,296,296,296,296,296,296,296,296', '296,,296,296,296,296,296,,,,,,,,,,,,,,,,,,,,296,,,296,,,296,296,,,296', ',296,,296,,296,,,296,,,,,,296,,,,,296,296,296,296,,296,296,296,296,', ',,,296,296,,,,297,297,297,296,297,296,296,296,297,297,296,296,,297,', '297,297,297,297,297,297,297,,,,,,297,297,297,297,297,297,297,,,297,', ',,,,,297,,,297,297,297,297,297,297,297,297,297,297,297,297,,297,297', '297,297,297,,,,,,,,,,,,,,,,,,,,297,,,297,,,297,297,,,297,,297,,297,', '297,,,297,,,,,,297,,,,,297,297,297,297,,297,297,297,297,,,,,297,297', ',,,305,305,305,297,305,297,297,297,305,305,297,297,,305,,305,305,305', '305,305,305,305,,,,,,305,305,305,305,305,305,305,,,305,,,,,,,305,,,305', '305,305,305,305,305,305,305,305,305,305,305,,305,305,305,305,305,,,', ',,,,,,,,,,,,,,,,305,,,305,,,305,305,,,305,,305,,305,,305,,,305,,,,,', '305,,,,,305,305,305,305,,305,305,305,305,,,,,305,305,305,,,897,897,897', '305,897,305,305,305,897,897,305,305,,897,,897,897,897,897,897,897,897', ',,,,,897,897,897,897,897,897,897,,,897,,,,,,,897,,,897,897,897,897,897', '897,897,897,,897,897,897,,897,897,897,897,897,,,,,,,,,,,,,,,,,,,,897', ',,897,,,897,897,,,897,,,,,,897,,,,,,,,,897,,,,,897,897,897,897,,897', '897,897,897,,,,,897,897,,,,312,312,312,897,312,897,897,897,312,312,897', '897,,312,,312,312,312,312,312,312,312,,,,,,312,312,312,312,312,312,312', ',,312,,,,,,,312,,,312,312,312,312,312,312,312,312,,312,312,312,,312', '312,312,312,312,,,,,,,,,,,,,,,,,,,,312,,,312,,,312,312,,,312,,,,,,312', ',,,,,,,,312,,,,,312,312,312,312,,312,312,312,312,,,,,312,312,,,,314', '314,314,312,314,312,312,312,314,314,312,312,,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,,,,317,317,317,314,317,314,314,314', '317,317,314,314,,317,,317,317,317,317,317,317,317,,,,,,317,317,317,317', '317,317,317,,,317,,,,,,,317,,,317,317,317,317,317,317,317,317,,317,317', '317,,317,317,317,317,317,,,,,,,,,,,,,,,,,,,,317,,,317,,,317,317,,,317', ',,,,,317,,,,,,,,,317,,,,,317,317,317,317,,317,317,317,317,,,,,317,317', ',,,318,318,318,317,318,317,317,317,318,318,317,317,,318,,318,318,318', '318,318,318,318,,,,,,318,318,318,318,318,318,318,,,318,,,,,,,318,,,318', '318,318,318,318,318,318,318,,318,318,318,,318,318,318,318,318,,,,,,', ',,,,,,,,,,,,,318,,,318,,,318,318,,,318,,,,,,318,,,,,,,,,318,,,,,318', '318,318,318,,318,318,318,318,,,,,318,318,,,,,,,318,,318,318,318,,,318', '318,323,323,323,323,323,,,,323,323,,,,323,,323,323,323,323,323,323,323', ',,,,,323,323,323,323,323,323,323,,,323,,,,,,323,323,,323,323,323,323', '323,323,323,323,323,,323,323,323,,323,323,323,323,323,,,,,,,,,,,,,,', ',,,,,323,,,323,,,323,323,,,323,,323,,,,323,,,,,,,,,323,,,,,323,323,323', '323,,323,323,323,323,,,,,323,323,,,,868,868,868,323,868,323,323,323', '868,868,323,323,,868,,868,868,868,868,868,868,868,,,,,,868,868,868,868', '868,868,868,,,868,,,,,,,868,,,868,868,868,868,868,868,868,868,,868,868', '868,,868,868,868,868,868,,,,,,,,,,,,,,,,,,,,868,,,868,,,868,868,,,868', ',,,,,868,,,,,,,,,868,,,,,868,868,868,868,,868,868,868,868,,,,,868,868', ',,,867,867,867,868,867,868,868,868,867,867,868,868,,867,,867,867,867', '867,867,867,867,,,,,,867,867,867,867,867,867,867,,,867,,,,,,,867,,,867', '867,867,867,867,867,867,867,,867,867,867,,867,867,867,867,867,,,,,,', ',,,,,,,,,,,,,867,,,867,,,867,867,,,867,,,,,,867,,,,,,,,,867,,,,,867', '867,867,867,,867,867,867,867,,,,,867,867,,,,866,866,866,867,866,867', '867,867,866,866,867,867,,866,,866,866,866,866,866,866,866,,,,,,866,866', '866,866,866,866,866,,,866,,,,,,,866,,,866,866,866,866,866,866,866,866', ',866,866,866,,866,866,866,866,866,,,,,,,,,,,,,,,,,,,,866,,,866,,,866', '866,,,866,,,,,,866,,,,,,,,,866,,,,,866,866,866,866,,866,866,866,866', ',,,,866,866,,,,865,865,865,866,865,866,866,866,865,865,866,866,,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,,,,852,852,852', '865,852,865,865,865,852,852,865,865,,852,,852,852,852,852,852,852,852', ',,,,,852,852,852,852,852,852,852,,,852,,,,,,,852,,,852,852,852,852,852', '852,852,852,,852,852,852,,852,852,852,852,852,,,,,,,,,,,,,,,,,,,,852', ',,852,,,852,852,,,852,,,,,,852,,,,,,,,,852,,,,,852,852,852,852,,852', '852,852,852,,,,,852,852,,,,844,844,844,852,844,852,852,852,844,844,852', '852,,844,,844,844,844,844,844,844,844,,,,,,844,844,844,844,844,844,844', ',,844,,,,,,,844,,,844,844,844,844,844,844,844,844,,844,844,844,,844', '844,844,844,844,,,,,,,,,,,,,,,,,,,,844,,,844,,,844,844,,,844,,,,,,844', ',,,,,,,,844,,,,,844,844,844,844,,844,844,844,844,,,,,844,844,,,,824', '824,824,844,824,844,844,844,824,824,844,844,,824,,824,824,824,824,824', '824,824,,,,,,824,824,824,824,824,824,824,,,824,,,,,,,824,,,824,824,824', '824,824,824,824,824,,824,824,824,,824,824,824,824,824,,,,,,,,,,,,,,', ',,,,,824,,,824,,,824,824,,,824,,,,,,824,,,,,,,,,824,,,,,824,824,824', '824,,824,824,824,824,,,,,824,824,,,,359,359,359,824,359,824,824,824', '359,359,824,824,,359,,359,359,359,359,359,359,359,,,,,,359,359,359,359', '359,359,359,,,359,,,,,,,359,,,359,359,359,359,359,359,359,359,,359,359', '359,,359,359,359,359,359,,,,,,,,,,,,,,,,,,,,359,,,359,,,359,359,,,359', ',,,,,359,,,,,,,,,359,,,,,359,359,359,359,,359,359,359,359,,,,,359,359', ',,,361,361,361,359,361,359,359,359,361,361,359,359,,361,,361,361,361', '361,361,361,361,,,,,,361,361,361,361,361,361,361,,,361,,,,,,,361,,,361', '361,361,361,361,361,361,361,,361,361,361,,361,361,361,361,361,,,,,,', ',,,,,,,,,,,,,361,,,361,361,,361,361,,,361,,,,,,361,,,,,,,,,361,,,,,361', '361,361,361,,361,361,361,361,,,,,361,361,,,,779,779,779,361,779,361', '361,361,779,779,361,361,,779,,779,779,779,779,779,779,779,,,,,,779,779', '779,779,779,779,779,,,779,,,,,,,779,,,779,779,779,779,779,779,779,779', ',779,779,779,,779,779,779,779,779,,,,,,,,,,,,,,,,,,,,779,,,779,,,779', '779,,,779,,,,,,779,,,,,,,,,779,,,,,779,779,779,779,,779,779,779,779', ',,,,779,779,,,,765,765,765,779,765,779,779,779,765,765,779,779,,765', ',765,765,765,765,765,765,765,,,,,,765,765,765,765,765,765,765,,,765', ',,,,,,765,,,765,765,765,765,765,765,765,765,,765,765,765,,765,765,765', '765,765,,,,,,,,,,,,,,,,,,,,765,,,765,,,765,765,,,765,,765,,,,765,,,', ',,,,,765,,,,,765,765,765,765,,765,765,765,765,,,,,765,765,,,,745,745', '745,765,745,765,765,765,745,745,765,765,,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,,,,,745,745,,,,742,742,742,745,742,745,745,745,742', '742,745,745,,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', ',,,384,384,384,742,384,742,742,742,384,384,742,742,,384,,384,384,384', '384,384,384,384,,,,,,384,384,384,384,384,384,384,,,384,,,,,,,384,,,384', '384,384,384,384,384,384,384,,384,384,384,,384,384,384,384,384,,,,,,', ',,,,,,,,,,,,,384,,,384,,,384,384,,,384,,,,,,384,,,,,,,,,384,,,,,384', '384,384,384,,384,384,384,384,,,,,384,384,,,,733,733,733,384,733,384', '384,384,733,733,384,384,,733,,733,733,733,733,733,733,733,,,,,,733,733', '733,733,733,733,733,,,733,,,,,,,733,,,733,733,733,733,733,733,733,733', '733,733,733,733,,733,733,733,733,733,,,,,,,,,,,,,,,,,,,,733,,,733,,', '733,733,,,733,,733,,733,,733,,,733,,,,,,733,,,,,733,733,733,733,,733', '733,733,733,,,,,733,733,,,,685,685,685,733,685,733,733,733,685,685,733', '733,,685,,685,685,685,685,685,685,685,,,,,,685,685,685,685,685,685,685', ',,685,,,,,,,685,,,685,685,685,685,685,685,685,685,,685,685,685,,685', '685,685,685,685,,,,,,,,,,,,,,,,,,,,685,,,685,,,685,685,,,685,,,,,,685', ',,,,,,,,685,,,,,685,685,685,685,,685,685,685,685,,,,,685,685,,,,405', '405,405,685,405,685,685,685,405,405,685,685,,405,,405,405,405,405,405', '405,405,,,,,,405,405,405,405,405,405,405,,,405,,,,,,,405,,,405,405,405', '405,405,405,405,405,,405,405,405,,405,405,405,405,405,,,,,,,,,,,,,,', ',,,,,405,,,405,,,405,405,,,405,,,,,,405,,,,,,,,,405,,,,,405,405,405', '405,,405,405,405,405,,,,,405,405,,,,684,684,684,405,684,405,405,405', '684,684,405,405,,684,,684,684,684,684,684,684,684,,,,,,684,684,684,684', '684,684,684,,,684,,,,,,,684,,,684,684,684,684,684,684,684,684,,684,684', '684,,684,684,684,684,684,,,,,,,,,,,,,,,,,,,,684,,,684,,,684,684,,,684', ',,,,,684,,,,,,,,,684,,,,,684,684,684,684,,684,684,684,684,,,,,684,684', ',,,680,680,680,684,680,684,684,684,680,680,684,684,,680,,680,680,680', '680,680,680,680,,,,,,680,680,680,680,680,680,680,,,680,,,,,,,680,,,680', '680,680,680,680,680,680,680,,680,680,680,,680,680,680,680,680,,,,,,', ',,,,,,,,,,,,,680,,,680,,,680,680,,,680,,,,,,680,,,,,,,,,680,,,,,680', '680,680,680,,680,680,680,680,,,,,680,680,,,,679,679,679,680,679,680', '680,680,679,679,680,680,,679,,679,679,679,679,679,679,679,,,,,,679,679', '679,679,679,679,679,,,679,,,,,,,679,,,679,679,679,679,679,679,679,679', ',679,679,679,,679,679,679,679,679,,,,,,,,,,,,,,,,,,,,679,,,679,,,679', '679,,,679,,,,,,679,,,,,,,,,679,,,,,679,679,679,679,,679,679,679,679', ',,,,679,679,,,,678,678,678,679,678,679,679,679,678,678,679,679,,678', ',678,678,678,678,678,678,678,,,,,,678,678,678,678,678,678,678,,,678', ',,,,,,678,,,678,678,678,678,678,678,678,678,678,678,678,678,,678,678', '678,678,678,,,,,,,,,,,,,,,,,,,,678,,,678,,,678,678,,,678,,,,678,,678', ',,678,,,,,,678,,,,,678,678,678,678,,678,678,678,678,,,,,678,678,,,,677', '677,677,678,677,678,678,678,677,677,678,678,,677,,677,677,677,677,677', '677,677,,,,,,677,677,677,677,677,677,677,,,677,,,,,,,677,,,677,677,677', '677,677,677,677,677,677,677,677,677,,677,677,677,677,677,,,,,,,,,,,', ',,,,,,,,677,,,677,,,677,677,,,677,,677,,677,,677,,,677,,,,,,677,,,,', '677,677,677,677,,677,677,677,677,,,,,677,677,,,,674,674,674,677,674', '677,677,677,674,674,677,677,,674,,674,674,674,674,674,674,674,,,,,,674', '674,674,674,674,674,674,,,674,,,,,,,674,,,674,674,674,674,674,674,674', '674,,674,674,674,,674,674,674,674,674,,,,,,,,,,,,,,,,,,,,674,,,674,', ',674,674,,,674,,,,,,674,,,,,,,,,674,,,,,674,674,674,674,,674,674,674', '674,,,,,674,674,,,,,,,674,,674,674,674,,,674,674,673,673,673,673,673', ',,,673,673,,,,673,,673,673,673,673,673,673,673,,,,,,673,673,673,673', '673,673,673,,,673,,,,,,673,673,,673,673,673,673,673,673,673,673,673', ',673,673,673,,673,673,673,673,673,,,,,,,,,,,,,,,,,,,,673,,,673,,,673', '673,,,673,,673,,,,673,,,,,,,,,673,,,,,673,673,673,673,,673,673,673,673', ',,,,673,673,,,,670,670,670,673,670,673,673,673,670,670,673,673,,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', ',,,669,669,669,670,669,670,670,670,669,669,670,670,,669,,669,669,669', '669,669,669,669,,,,,,669,669,669,669,669,669,669,,,669,,,,,,,669,,,669', '669,669,669,669,669,669,669,,669,669,669,,669,669,669,669,669,,,,,,', ',,,,,,,,,,,,,669,,,669,,,669,669,,,669,,,,,,669,,,,,,,,,669,,,,,669', '669,669,669,,669,669,669,669,,,,,669,669,,,,668,668,668,669,668,669', '669,669,668,668,669,669,,668,,668,668,668,668,668,668,668,,,,,,668,668', '668,668,668,668,668,,,668,,,,,,,668,,,668,668,668,668,668,668,668,668', ',668,668,668,,668,668,668,668,668,,,,,,,,,,,,,,,,,,,,668,,,668,,,668', '668,,,668,,668,,,,668,,,,,,,,,668,,,,,668,668,668,668,,668,668,668,668', ',,,,668,668,,,,,,,668,,668,668,668,,,668,668,666,666,666,666,666,,,', '666,666,,,,666,,666,666,666,666,666,666,666,,,,,,666,666,666,666,666', '666,666,,,666,,,,,,666,666,,666,666,666,666,666,666,666,666,666,,666', '666,666,,666,666,666,666,666,,,,,,,,,,,,,,,,,,,,666,,,666,,,666,666', ',,666,,666,,,,666,,,,,,,,,666,,,,,666,666,666,666,,666,666,666,666,', ',,,666,666,,,,434,434,434,666,434,666,666,666,434,434,666,666,,434,', '434,434,434,434,434,434,434,,,,,,434,434,434,434,434,434,434,,,434,', ',,,,,434,,,434,434,434,434,434,434,434,434,,434,434,434,,434,434,434', '434,434,,,,,,,,,,,,,,,,,,,,434,,,434,,,434,434,,,434,,,,,,434,,,,,,', ',,434,,,,,434,434,434,434,,434,434,434,434,,,,,434,434,,,,635,635,635', '434,635,434,434,434,635,635,434,434,,635,,635,635,635,635,635,635,635', ',,,,,635,635,635,635,635,635,635,,,635,,,,,,,635,,,635,635,635,635,635', '635,635,635,635,635,635,635,,635,635,635,635,635,,,,,,,,,,,,,,,,,,,', '635,,,635,,,635,635,,,635,,635,,635,,635,,,635,,,,,,635,,,,,635,635', '635,635,,635,635,635,635,,,,,635,635,,,,625,625,625,635,625,635,635', '635,625,625,635,635,,625,,625,625,625,625,625,625,625,,,,,,625,625,625', '625,625,625,625,,,625,,,,,,,625,,,625,625,625,625,625,625,625,625,625', '625,625,625,,625,625,625,625,625,,,,,,,,,,,,,,,,,,,,625,,,625,,,625', '625,,,625,,625,,625,,625,,,625,,,,,,625,,,,,625,625,625,625,,625,625', '625,625,,,,,625,625,,,,624,624,624,625,624,625,625,625,624,624,625,625', ',624,,624,624,624,624,624,624,624,,,,,,624,624,624,624,624,624,624,', ',624,,,,,,,624,,,624,624,624,624,624,624,624,624,,624,624,624,,624,624', '624,624,624,,,,,,,,,,,,,,,,,,,,624,,,624,,,624,624,,,624,,624,,,,624', ',,,,,,,,624,,,,,624,624,624,624,,624,624,624,624,,,,,624,624,,,,611', '611,611,624,611,624,624,624,611,611,624,624,,611,,611,611,611,611,611', '611,611,,,,,,611,611,611,611,611,611,611,,,611,,,,,,,611,,,611,611,611', '611,611,611,611,611,611,611,611,611,,611,611,611,611,611,,,,,,,,,,,', ',,,,,,,,611,,,611,,,611,611,,,611,,,,,,611,,,611,,,,,,611,,,,,611,611', '611,611,,611,611,611,611,,,,,611,611,,,,608,608,608,611,608,611,611', '611,608,608,611,611,,608,,608,608,608,608,608,608,608,,,,,,608,608,608', '608,608,608,608,,,608,,,,,,,608,,,608,608,608,608,608,608,608,608,608', '608,608,608,,608,608,608,608,608,,,,,,,,,,,,,,,,,,,,608,,,608,,,608', '608,,,608,,608,,,,608,,,608,,,,,,608,,,,,608,608,608,608,,608,608,608', '608,,,,,608,608,,,,,,,608,,608,608,608,458,,608,608,,,,458,458,458,', ',458,458,458,,458,,,,,,,,458,458,458,458,,,,,,,,,458,458,,458,458,458', '458,458,,,,,,,,,,,,,,,,,,,,,,,458,458,458,458,458,458,458,458,458,458', '458,458,458,458,,,458,458,458,,,458,,458,458,,,458,458,,458,,458,,458', ',458,458,,458,458,458,458,458,,458,458,458,,,,,,,,,,,,,,458,,,458,458', ',458,,458,602,602,602,,602,,458,,602,602,,,,602,,602,602,602,602,602', '602,602,,,,,,602,602,602,602,602,602,602,,,602,,,,,,,602,,,602,602,602', '602,602,602,602,602,,602,602,602,,602,602,602,602,602,,,,,,,,,,,,,,', ',,,,,602,,,602,,,602,602,,,602,,,,,,602,,,,,,,,,602,,,,,602,602,602', '602,,602,602,602,602,,,,,602,602,,,,,,,602,,602,602,602,467,,602,602', ',,,467,467,467,,,467,467,467,,467,,,,,,,,467,467,467,467,467,,,,,,,', '467,467,,467,467,467,467,467,,,,,,,,,,,,,,,,,,,,,,,467,467,467,467,467', '467,467,467,467,467,467,467,467,467,,,467,467,467,,,467,,,467,,,467', '467,,467,,467,,467,,467,467,,467,467,467,467,467,,467,467,467,,,,,,', ',,,,,,,467,,,467,467,467,467,,467,468,467,,,,,467,468,468,468,,,468', '468,468,,468,,,,,,,,468,468,468,468,468,,,,,,,,468,468,,468,468,468', '468,468,,,,,,,,,,,,,,,,,,,,,,,468,468,468,468,468,468,468,468,468,468', '468,468,468,468,,,468,468,468,,,468,,,468,,,468,468,,468,,468,,468,', '468,468,,468,468,468,468,468,,468,468,468,,,,,,,,,,,,,,468,,,468,468', '468,468,,468,,468,,588,588,588,468,588,,,,588,588,,,,588,,588,588,588', '588,588,588,588,,,,,,588,588,588,588,588,588,588,,,588,,,,,,,588,,,588', '588,588,588,588,588,588,588,,588,588,588,,588,588,588,588,588,,,,,,', ',,,,,,,,,,,,,588,,,588,,,588,588,,,588,,,,,,588,,,,,,,,,588,,,,,588', '588,588,588,,588,588,588,588,,,,,588,588,,,,562,562,562,588,562,588', '588,588,562,562,588,588,,562,,562,562,562,562,562,562,562,,,,,,562,562', '562,562,562,562,562,,,562,,,,,,,562,,,562,562,562,562,562,562,562,562', ',562,562,562,,562,562,562,562,562,,,,,,,,,,,,,,,,,,,,562,,,562,,,562', '562,,,562,,,,,,562,,,,,,,,,562,,,,,562,562,562,562,,562,562,562,562', ',,,,562,562,,,,561,561,561,562,561,562,562,562,561,561,562,562,,561', ',561,561,561,561,561,561,561,,,,,,561,561,561,561,561,561,561,,,561', ',,,,,,561,,,561,561,561,561,561,561,561,561,,561,561,561,,561,561,561', '561,561,,,,,,,,,,,,,,,,,,,,561,,,561,,,561,561,,,561,,,,,,561,,,,,,', ',,561,,,,,561,561,561,561,,561,561,561,561,,,,,561,561,,,,477,477,477', '561,477,561,561,561,477,477,561,561,,477,,477,477,477,477,477,477,477', ',,,,,477,477,477,477,477,477,477,,,477,,,,,,,477,,,477,477,477,477,477', '477,477,477,477,477,477,477,,477,477,477,477,477,,,,,,,,,,,,,,,,,,,', '477,,,477,,,477,477,,,477,,477,,477,,477,,,477,,,,,,477,,,,,477,477', '477,477,,477,477,477,477,,,,,477,477,,,,558,558,558,477,558,477,477', '477,558,558,477,477,,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,,,,479,479,479,558,479,558,558,558,479,479,558,558,,479,,479', '479,479,479,479,479,479,,,,,,479,479,479,479,479,479,479,,,479,,,,,', ',479,,,479,479,479,479,479,479,479,479,,479,479,479,,479,479,479,479', '479,,,,,,,,,,,,,,,,,,,,479,,,479,,,479,479,,,479,,,,,,479,,,,,,,,,479', ',,,,479,479,479,479,,479,479,479,479,,,,,479,479,,,,480,480,480,479', '480,479,479,479,480,480,479,479,,480,,480,480,480,480,480,480,480,,', ',,,480,480,480,480,480,480,480,,,480,,,,,,,480,,,480,480,480,480,480', '480,480,480,,480,480,480,,480,480,480,480,480,,,,,,,,,,,,,,,,,,,,480', ',,480,,,480,480,,,480,,,,,,480,,,,,,,,,480,,,,,480,480,480,480,,480', '480,480,480,,,,,480,480,,,,481,481,481,480,481,480,480,480,481,481,480', '480,,481,,481,481,481,481,481,481,481,,,,,,481,481,481,481,481,481,481', ',,481,,,,,,,481,,,481,481,481,481,481,481,481,481,,481,481,481,,481', '481,481,481,481,,,,,,,,,,,,,,,,,,,,481,,,481,,,481,481,,,481,,,,,,481', ',,,,,,,,481,,,,,481,481,481,481,,481,481,481,481,,,,,481,481,,,,555', '555,555,481,555,481,481,481,555,555,481,481,,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,,,,545,545,545,555,545,555,555,555', '545,545,555,555,,545,,545,545,545,545,545,545,545,,,,,,545,545,545,545', '545,545,545,,,545,,,,,,,545,,,545,545,545,545,545,545,545,545,545,545', '545,545,,545,545,545,545,545,,,,,,,,,,,,,,,,,,,,545,,,545,,,545,545', ',,545,,545,,545,,545,,,545,,,,,,545,,,,,545,545,545,545,,545,545,545', '545,,,,,545,545,,,,,,,545,,545,545,545,,,545,545,535,535,535,535,535', ',,,535,535,,,,535,,535,535,535,535,535,535,535,,,,,,535,535,535,535', '535,535,535,,,535,,,,,,535,535,535,535,535,535,535,535,535,535,535,535', ',535,535,535,,535,535,535,535,535,,,,,,,,,,,,,,,,,,,,535,,,535,,,535', '535,,,535,,535,,,,535,,,,,,,,,535,,,,,535,535,535,535,,535,535,535,535', ',,,,535,535,,,,,,535,535,,535,535,535,,,535,535,529,529,529,,529,,,', '529,529,,,,529,,529,529,529,529,529,529,529,,,,,,529,529,529,529,529', '529,529,,,529,,,,,,,529,,,529,529,529,529,529,529,529,529,,529,529,529', ',529,529,529,529,529,,,,,,,,,,,,,,,,,,,,529,,,529,,,529,529,,,529,,', ',,,529,,,,,,,,,529,,,,,529,529,529,529,,529,529,529,529,,,,,529,529', ',,,527,527,527,529,527,529,529,529,527,527,529,529,,527,,527,527,527', '527,527,527,527,,,,,,527,527,527,527,527,527,527,,,527,,,,,,,527,,,527', '527,527,527,527,527,527,527,527,527,527,527,,527,527,527,527,527,,,', ',,,,,,,,,,,,,,,,527,,,527,,,527,527,,,527,,,,527,,527,,,527,,,,,,527', ',,,,527,527,527,527,,527,527,527,527,,,,,527,527,,,,525,525,525,527', '525,527,527,527,525,525,527,527,,525,,525,525,525,525,525,525,525,,', ',,,525,525,525,525,525,525,525,,,525,,,,,,,525,,,525,525,525,525,525', '525,525,525,525,525,525,525,,525,525,525,525,525,,,,,,,,,,,,,,,,,,,', '525,,,525,,,525,525,,,525,,525,,525,,525,,,525,,,,,,525,,,,,525,525', '525,525,,525,525,525,525,,,,,525,525,,,,219,219,219,525,219,525,525', '525,219,219,525,525,,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,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,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,,,,222,222,222,221,222,221,221,221,222', '222,221,221,,222,,222,222,222,222,222,222,222,,,,,,222,222,222,222,222', '222,222,,,222,,,,,,,222,,,222,222,222,222,222,222,222,222,,222,222,222', ',222,222,222,222,222,,,,,,,,,,,,,,,,,,,,222,,,222,,,222,222,,,222,,', ',,,222,,,,,,,,,222,,,,,222,222,222,222,,222,222,222,222,,,,,222,222', ',,,223,223,223,222,223,222,222,222,223,223,222,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,223,223,,,,,,', ',,,,,,,,,,,,,223,,,223,,,223,223,,,223,,,,,,223,,,,,,,,,223,,,,,223', '223,223,223,,223,223,223,223,,,,,223,223,,,,224,224,224,223,224,223', '223,223,224,224,223,223,,224,,224,224,224,224,224,224,224,,,,,,224,224', '224,224,224,224,224,,,224,,,,,,,224,,,224,224,224,224,224,224,224,224', '224,224,224,224,,224,224,224,224,224,,,,,,,,,,,,,,,,,,,,224,,,224,,', '224,224,,,224,,224,,224,,224,,,224,,,,,,224,,,,,224,224,224,224,,224', '224,224,224,,,,,224,224,,,,229,229,229,224,229,224,224,224,229,229,224', '224,,229,,229,229,229,229,229,229,229,,,,,,229,229,229,229,229,229,229', ',,229,,,,,,,229,,,229,229,229,229,229,229,229,229,,229,229,229,,229', '229,229,229,229,,,,,,,,,,,,,,,,,,,,229,,,229,,,229,229,,,229,,,,,,229', ',,,,,,,,229,,,,,229,229,229,229,,229,229,229,229,,,,,229,229,,,,230', '230,230,229,230,229,229,229,230,230,229,229,,230,,230,230,230,230,230', '230,230,,,,,,230,230,230,230,230,230,230,,,230,,,,,,,230,,,230,230,230', '230,230,230,230,230,,230,230,230,,230,230,230,230,230,,,,,,,,,,,,,,', ',,,,,230,,,230,,,230,230,,,230,,,,,,230,,,,,,,,,230,,,,,230,230,230', '230,,230,230,230,230,,,,,230,230,,,,1023,1023,1023,230,1023,230,230', '230,1023,1023,230,230,,1023,,1023,1023,1023,1023,1023,1023,1023,,,,', ',1023,1023,1023,1023,1023,1023,1023,,,1023,,,,,,,1023,,,1023,1023,1023', '1023,1023,1023,1023,1023,,1023,1023,1023,,1023,1023,,,1023,,,,,,,,,', ',,,,,,,,,,1023,,,1023,,,1023,1023,,,1023,,,,,,,,,,,,,,,,,,,,1023,1023', '1023,1023,,1023,1023,1023,1023,,,,,1023,1023,,,,76,76,76,1023,76,1023', '1023,1023,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,,,,748,748,748,76,748,76,76,76,748,748,,,,748', ',748,748,748,748,748,748,748,,,,,,748,748,748,748,748,748,748,,,748', ',,,,,,748,,,748,748,748,748,748,748,748,748,,748,748,748,,748,748,,', '748,,,,,,,,,,,,,,,,,,,,748,,,748,,,748,748,,,748,,,,,,,,,,,,,,,,,,,', '748,748,748,748,,748,748,748,748,,,,,748,748,,,,759,759,759,748,759', '748,748,748,759,759,,,,759,,759,759,759,759,759,759,759,,,,,,759,759', '759,759,759,759,759,,,759,,,,,,,759,,,759,759,759,759,759,759,759,759', ',759,759,759,,759,759,,,759,,,,,,,,,,,,,,,,,,,,759,,,759,,,759,759,', ',759,,,,,,,,,,,,,,,,,,,,759,759,759,759,,759,759,759,759,,,,,759,759', ',,,350,350,350,759,350,759,759,759,350,350,,,,350,,350,350,350,350,350', '350,350,,,,,,350,350,350,350,350,350,350,,,350,,,,,,,350,,,350,350,350', '350,350,350,350,350,,350,350,350,,350,350,,,350,,,,,,,,,,,,,,,,,,,,350', ',,350,,,350,350,,,350,,,,,,,,,,,,,,,,,,,,350,350,350,350,,350,350,350', '350,,,,,350,350,,,,37,37,37,350,37,350,350,350,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,,,,552,552', '552,37,552,37,37,37,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,,,,1103,1103,1103,552,1103,552,552,552,1103,1103,,,,1103,,1103,1103', '1103,1103,1103,1103,1103,,,,,,1103,1103,1103,1103,1103,1103,1103,,,1103', ',,,,,,1103,,,1103,1103,1103,1103,1103,1103,1103,1103,,1103,1103,1103', ',1103,1103,,,1103,,,,,,,,,,,,,,,,,,,,1103,,,1103,,,1103,1103,,,1103', ',,,,,,,,,,,,,,,,,,,1103,1103,1103,1103,,1103,1103,1103,1103,,,,,1103', '1103,,,,77,77,77,1103,77,1103,1103,1103,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,,,,543,543,543', '77,543,77,77,77,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,543,,,543,,,,,,,,,,,,,,,,,,,,543,,,543,,,543,543', ',,543,,,,,,,,,,,,,,,,,,,,543,543,543,543,,543,543,543,543,,,,,543,543', ',,,78,78,78,543,78,543,543,543,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,,,777,,777,777,777,777,777,,,,,,,,,777,,38', '38,38,38,,38,38,38,38,,,,,38,38,,,,38,,777,38,,38,38,38,331,331,331', ',331,777,777,,331,331,777,,,331,,331,331,331,331,331,331,331,,,,,,331', '331,331,331,331,331,331,,,331,,,,,,,331,,,331,331,331,331,331,331,331', '331,,331,331,331,,331,331,,,331,,,,,,,,,,,,,,,,,,,,331,,,331,,,331,331', ',,331,,,1043,,1043,1043,1043,1043,1043,,,,,,,,,1043,,331,331,331,331', ',331,331,331,331,,,,,331,331,,,,331,,1043,331,,331,331,331,1033,1033', '1033,,1033,1043,1043,,1033,1033,1043,,,1033,,1033,1033,1033,1033,1033', '1033,1033,,,,,,1033,1033,1033,1033,1033,1033,1033,,,1033,,,,,,,1033', ',,1033,1033,1033,1033,1033,1033,1033,1033,,1033,1033,1033,,1033,1033', ',,1033,,,,,,,,,,,,,,,,,,,,1033,,,1033,,,1033,1033,,,1033,,,,,,,,,,,', ',,,,,,,,1033,1033,1033,1033,,1033,1033,1033,1033,,,,,1033,1033,,,,,', ',1033,,1033,1033,1033,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11', '11,11,11,11,11,11,11,11,,,,11,11,11,11,11,11,11,11,11,11,,,,,,11,11', '11,11,11,11,11,11,11,,,11,,,,,,,,11,11,,11,11,11,11,11,11,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,664,664,664,664,664,664,664,664,664', '664,664,664,664,664,664,664,664,664,664,664,664,664,664,664,,,,664,664', '664,664,664,664,664,664,664,664,,,,,,664,664,664,664,664,664,664,664', '664,,,664,,,,,,,,664,664,,664,664,664,664,664,664,664,,,664,664,,,,664', '664,664,664,,,,,,,,,,,,,,664,664,,664,664,664,664,664,664,664,664,664', '664,664,664,,,664,664,,,,,,,,,,,,,,664,425,425,425,425,425,425,425,425', '425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,,,,425', '425,425,425,425,425,425,425,425,425,,,,,,425,425,425,425,425,425,425', '425,425,,,425,,,,,,,,425,425,,425,425,425,425,425,425,425,,,425,425', ',,,425,425,425,425,,,,,,,,,,,,,,425,425,,425,425,425,425,425,425,425', '425,425,425,425,425,,,425,425,,,,,,,,,,,,,,425,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,1001,1001,1001,1001,,,,,,', ',,,,,,1001,1001,1001,1001,,,367,1001,367,367,367,367,367,1001,1001,', ',1001,,,,367,,,,,,,,,,,,,,,,1001,,,1001,,,367,1001,,,1001,,,,,367,367', '367,367,,,,367,,,,1001,,,,1001,1001,1001,1001,,1001,1001,1001,1001,', ',,,1001,1001,1084,1084,1084,1084,,,1001,,1001,1001,1001,,,1001,1001', ',1084,1084,1084,1084,,,793,1084,793,793,793,793,793,1084,1084,,,1084', ',,,793,,,,,,,,,,,,,,,,1084,,,1084,,,793,1084,,,1084,,,,,793,793,793', '793,,,,793,,,,1084,,,,1084,1084,1084,1084,,1084,1084,1084,1084,,,,,1084', '1084,985,985,985,985,,,1084,,1084,1084,1084,,,1084,1084,,985,985,985', '985,,,1212,985,1212,1212,1212,1212,1212,985,985,,,985,,,,1212,,,,,,', ',,,,,,,,,985,,,985,,,1212,985,,,985,,,,,,,1212,1212,,,,1212,,,,985,', ',,985,985,985,985,,985,985,985,985,,,,,985,985,1138,1138,1138,1138,', ',985,,985,985,985,,,985,985,,1138,1138,1138,1138,,,775,1138,775,775', '775,775,775,1138,1138,,,1138,,,,775,,,,,,,,,,,,,,,,1138,,,1138,,,775', '1138,,,1138,,,,,775,775,775,775,,,,775,,,,1138,,,,1138,1138,1138,1138', ',1138,1138,1138,1138,,,,,1138,1138,1200,1200,1200,1200,,,1138,,1138', '1138,1138,,,1138,1138,,1200,1200,1200,1200,,,1041,1200,1041,1041,1041', '1041,1041,1200,1200,,,1200,,,,1041,,,,,,,,,,,,,,,,1200,,,1200,,,1041', '1200,,,1200,,,,,,,1041,1041,,,,1041,,,,1200,,,,1200,1200,1200,1200,', '1200,1200,1200,1200,,,,,1200,1200,1140,1140,1140,1140,,,1200,,1200,1200', '1200,,,1200,1200,,1140,1140,1140,1140,,,1038,1140,1038,1038,1038,1038', '1038,1140,1140,,,1140,,,,1038,,,,,,,,,,,,,,,,1140,,,1140,,,1038,1140', ',,1140,,1140,,,,,1038,1038,,,,1038,,,,1140,,,,1140,1140,1140,1140,,1140', '1140,1140,1140,,,,,1140,1140,1176,1176,1176,1176,,,1140,,1140,1140,1140', ',,1140,1140,,1176,1176,1176,1176,,,1159,1176,1159,1159,1159,1159,1159', '1176,1176,,,1176,,,,1159,,,,,,,,,,,,,,,,1176,,,1176,,,1159,1176,,,1176', ',,,,,,1159,1159,,,,1159,,,,1176,,,,1176,1176,1176,1176,,1176,1176,1176', '1176,,,,,1176,1176,,,,,,,1176,,1176,1176,1176,,,1176,1176,725,725,725', '725,725,725,725,725,725,725,725,725,725,725,725,725,725,725,725,725', '725,725,725,725,,,,725,725,725,725,725,725,725,725,725,725,,,,,,725', '725,725,725,725,725,725,725,725,,,725,,,,,,,,725,725,,725,725,725,725', '725,725,725,,,725,725,,,,725,725,725,725,,,,,,,,,,,,,,725,725,,725,725', '725,725,725,725,725,725,725,725,725,725,,,725,953,953,953,953,,,1099', ',1099,1099,1099,1099,1099,,,,953,953,953,953,,1099,,953,953,,,,,953', '953,,,953,953,,,,,,,,,1099,,,,,,,,,,953,1099,1099,953,,,1099,953,,,953', ',953,,,,,,,953,,,,,,,953,,,,953,953,953,953,,953,953,953,953,,,,,953', '953,701,701,701,701,,,953,,953,953,953,,,953,953,,701,701,701,701,,', '1036,701,1036,1036,1036,1036,1036,701,701,,,701,,,,1036,,,,,,,,,,,,', ',,,701,,,701,,,1036,701,,,701,,701,,,1036,1036,1036,1036,,,,1036,,,', '701,,,,701,701,701,701,,701,701,701,701,,,,,701,701,701,889,889,889', '889,,701,,701,701,701,,,701,701,,,889,889,889,889,,,1094,889,1094,1094', '1094,1094,1094,889,889,,,889,,,,1094,,,,,,,,,,,,,,,,889,,,889,,,1094', '889,,,889,,,,,1094,1094,1094,1094,,,,1094,,,,889,,,,889,889,889,889', ',889,889,889,889,,,,,889,889,482,482,482,482,,,889,,889,889,889,,,889', '889,,482,482,482,482,,,1097,482,1097,1097,1097,1097,1097,482,482,,,482', ',,,1097,,,,,,,,,,,,,,,,482,,,482,,,1097,482,,,482,,,,,1097,1097,1097', '1097,,,,1097,,,,482,,,,482,482,482,482,,482,482,482,482,,,,,482,482', '881,881,881,881,,,482,,482,482,482,,,482,482,,881,881,881,881,,,1186', '881,1186,1186,1186,1186,1186,881,881,,,881,,,,1186,,,,,,,,,,,,,,,,881', ',,881,,,1186,881,,,881,,881,,,,,1186,1186,,,,1186,,,,881,,,,881,881', '881,881,,881,881,881,881,,,,,881,881,875,875,875,875,,,881,,881,881', '881,,,881,881,,875,875,875,875,,,,875,875,,,,,875,875,,,875,875,,,,', ',,,,,,,,,,,,,,875,,,875,,,,875,,,875,,875,,,,,,,875,,,,,,,875,,,,875', '875,875,875,,875,875,875,875,,,,,875,875,874,874,874,874,,,875,,875', '875,875,,,875,875,,874,874,874,874,,,,874,874,,,,,874,874,,,874,874', ',,,,,,,,,,,,,,,,,,874,,,874,,,,874,,,874,,874,,,,,,,874,,,,,,,874,,', ',874,874,874,874,,874,874,874,874,,,,,874,874,871,871,871,871,,,874', ',874,874,874,,,874,874,,871,871,871,871,,,1184,871,1184,1184,1184,1184', '1184,871,871,,,871,,,,1184,,,,,,,,,,,,,,,,871,,,871,,,1184,871,,,871', ',,,,,,1184,1184,,,,1184,,,,871,,,,871,871,871,871,,871,871,871,871,', ',,,871,871,483,483,483,483,,,871,,871,871,871,,,871,871,,483,483,483', '483,,,1182,483,1182,1182,1182,1182,1182,483,483,,,483,,,,1182,,,,,,', ',,,,,,,,,483,,,483,,,1182,483,,,483,,,,,,,1182,1182,,,,1182,,,,483,', ',,483,483,483,483,,483,483,483,483,,,,,483,483,1124,1124,1124,1124,', ',483,,483,483,483,,,483,483,,1124,1124,1124,1124,,,,1124,,,,,,1124,1124', ',,1124,,,,,,,,708,708,708,708,,,,,,,,,1124,,,1124,708,708,708,1124,', ',1124,,1124,,,,,708,708,,,708,,,,,1124,,,,1124,1124,1124,1124,,1124', '1124,1124,1124,,,,,1124,1124,,,,,,,1124,,1124,1124,1124,,,1124,1124', '407,,407,407,407,407,407,,,,,708,708,708,708,407,708,708,708,708,,,', ',708,708,891,891,891,891,,,708,,708,708,708,407,407,,,,891,891,891,', '407,407,407,407,,,,407,,891,891,,,891,890,890,890,890,,,,,,,,,,,,,890', '890,890,,,,,,,,,,,890,890,,,890,,,,,,,,,,,,,,,,891,891,891,891,,891', '891,891,891,,,,,891,891,,,,,,,891,,891,891,891,,,,,,,,,890,890,890,890', ',890,890,890,890,,,,,890,890,671,671,,,671,,890,,890,890,890,,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,626,626', '671,,626,,,,,,,,626,626,,626,626,626,626,626,626,626,,,626,626,,,,626', '626,626,626,,,,,,626,,,,,,,,626,626,,626,626,626,626,626,626,626,626', '626,626,626,626,225,225,626,,225,,,,,,,,225,225,,225,225,225,225,225', '225,225,,,225,225,,,,225,225,225,225,,,,,,225,,,,,,,,225,225,,225,225', '225,225,225,225,225,225,225,225,225,225,226,226,225,,226,,,,,,,,226', '226,,226,226,226,226,226,226,226,,,226,226,,,,226,226,226,226,,,,,,226', ',,,,,,,226,226,,226,226,226,226,226,226,226,226,226,226,226,226,627', '627,226,,627,,,,,,,,627,627,,627,627,627,627,627,627,627,,,627,627,', ',,627,627,627,627,,,,,,627,,,,,,,,627,627,,627,627,627,627,627,627,627', '627,627,627,627,627,547,547,627,,547,,,,,,,,547,547,,547,547,547,547', '547,547,547,,,547,547,,,,547,547,547,547,,,,,,547,,,,,,,,547,547,,547', '547,547,547,547,547,547,547,547,547,547,547,475,475,547,,475,,,,,,,', '475,475,,475,475,475,475,475,475,475,,,475,475,,,,475,475,475,475,,', ',,,475,,,,,,,,475,475,,475,475,475,475,475,475,475,475,475,475,475,475', '1152,1152,475,,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,633,633', '1152,,633,,,,,,,,633,633,,633,633,633,633,633,633,633,,,633,633,,,,633', '633,633,633,,,,,,633,,,,,,,,633,633,,633,633,633,633,633,633,633,633', '633,633,633,633,556,556,633,,556,,,,,,,,556,556,,556,556,556,556,556', '556,556,,,556,556,,,,556,556,556,556,,,,,,556,,,,,,,,556,556,,556,556', '556,556,556,556,556,556,556,556,556,556,557,557,556,,557,,,,,,,,557', '557,,557,557,557,557,557,557,557,,,557,557,,,,557,557,557,557,,,,,,557', ',,,,,,,557,557,,557,557,557,557,557,557,557,557,557,557,557,557,546', '546,557,,546,,,,,,,,546,546,,546,546,546,546,546,546,546,,,546,546,', ',,546,546,546,546,,,,,,546,,,,,,,,546,546,,546,546,546,546,546,546,546', '546,546,546,546,546,634,634,546,,634,,,,,,,,634,634,,634,634,634,634', '634,634,634,,,634,634,,,,634,634,634,634,,,,,,634,,,,,,,,634,634,,634', '634,634,634,634,634,634,634,634,634,634,634,1156,1156,634,,1156,,,,', ',,,1156,1156,,1156,1156,1156,1156,1156,1156,1156,,,1156,1156,,,,1156', '1156,1156,1156,,,,,,1156,,,,,,,,1156,1156,,1156,1156,1156,1156,1156', '1156,1156,1156,1156,1156,1156,1156,476,476,1156,,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,1157', '1157,476,,1157,,,,,,,,1157,1157,,1157,1157,1157,1157,1157,1157,1157', ',,1157,1157,,,,1157,1157,1157,1157,,,,,,1157,,,,,,,,1157,1157,,1157', '1157,1157,1157,1157,1157,1157,1157,1157,1157,1157,1157,672,672,1157', ',672,,,,,,,,672,672,,672,672,672,672,672,672,672,,,672,672,,,,672,672', '672,672,,,,,,672,,,,,,,,672,672,,672,672,672,672,672,672,672,672,672', '672,672,672,,641,672,641,641,641,641,641,,1180,,1180,1180,1180,1180', '1180,641,,,,,,,,1180,,,,,,,,,,,,,,641,,,,,,,,1180,641,641,641,641,,', ',641,1180,1180,1180,1180,,,,1180' ] 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, 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, -729, -4, -729, -2, -714, -5, -729, -8, -729, -729, -729, -729, -31, -729, -729, -36, -729, -729, -305, -48, -716, -729, -57, -729, -65, -66, -67, -71, -282, -282, -282, -318, -345, -346, -83, -13, -87, -95, -97, -729, -611, -612, -729, -729, -729, -729, -729, -729, -235, -729, -716, -626, -626, -253, -296, -297, -298, -299, -300, -301, -302, -303, -304, -702, -307, -311, -728, -692, -326, -328, -729, -729, -59, -59, -714, -729, -729, -729, -347, -348, -350, -351, -352, -353, -410, -551, -552, -553, -554, -575, -557, -558, -577, -579, -562, -567, -571, -573, -589, -590, -591, -575, -593, -595, -596, -597, -598, -700, -600, -601, -701, -603, -604, -605, -606, -607, -608, -609, -610, -615, -616, 1219, -3, -715, -724, -725, -726, -7, -729, -729, -729, -729, -729, -9, -4, -19, -729, -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, -729, -729, -729, -729, -729, -272, -729, -729, -712, -713, -729, -729, -716, -717, -52, -729, -611, -612, -729, -305, -729, -729, -241, -729, -13, -729, -53, -55, -218, -219, -729, -729, -729, -729, -729, -729, -729, -729, -729, -729, -729, -729, -729, -729, -729, -729, -729, -729, -729, -729, -254, -255, -256, -257, -729, -61, -62, -729, -126, -127, -166, -167, -168, -184, -189, -196, -199, -611, -612, -690, -729, -419, -421, -729, -710, -711, -72, -272, -729, -325, -425, -434, -436, -78, -431, -79, -716, -80, -260, -277, -286, -286, -281, -729, -287, -729, -575, -694, -729, -729, -81, -82, -714, -14, -729, -17, -729, -85, -13, -716, -729, -88, -91, -13, -103, -104, -729, -729, -111, -318, -321, -716, -729, -626, -626, -345, -346, -349, -432, -729, -93, -729, -99, -315, -729, -220, -221, -594, -229, -230, -729, -242, -729, -729, -13, -625, -621, -648, -648, -729, -13, -13, -309, -716, -261, -721, -721, -729, -729, -721, -729, -327, -58, -729, -729, -729, -13, -13, -714, -729, -715, -611, -612, -729, -729, -305, -729, -363, -364, -121, -122, -729, -124, -729, -305, -619, -729, -341, -648, -555, -729, -729, -729, -729, -729, -729, -729, -729, -6, -727, -25, -26, -27, -28, -29, -729, -729, -21, -22, -23, -134, -729, -32, -35, -292, -729, -729, -291, -33, -729, -37, -729, -305, -45, -47, -207, -265, -287, -49, -50, -38, -208, -265, -716, -273, -286, -286, -703, -704, -282, -429, -705, -706, -704, -703, -282, -428, -430, -705, -706, -44, -215, -51, -716, -324, -729, -729, -729, -272, -315, -729, -729, -729, -729, -729, -216, -217, -222, -223, -224, -225, -226, -227, -231, -232, -233, -234, -236, -237, -238, -239, -240, -243, -244, -245, -246, -716, -258, -63, -716, -440, -282, -703, -704, -69, -73, -649, -716, -286, -716, -283, -438, -440, -716, -320, -278, -729, -279, -729, -284, -729, -288, -729, -697, -699, -12, -715, -16, -18, -716, -84, -313, -100, -89, -729, -716, -272, -729, -729, -110, -729, -625, -594, -729, -96, -101, -729, -729, -729, -729, -259, -247, -729, -729, -543, -729, -376, -377, -716, -633, -716, -689, -689, -631, -633, -633, -647, -649, -650, -651, -652, -653, -654, -655, -656, -657, -729, -659, -661, -663, -668, -670, -671, -674, -679, -681, -682, -684, -685, -686, -729, -729, -633, -729, -729, -729, -716, -729, -262, -723, -722, -264, -723, -316, -317, -693, -13, -354, -355, -13, -729, -729, -729, -729, -729, -729, -272, -729, -729, -315, -59, -121, -122, -123, -729, -729, -272, -337, -617, -729, -13, -411, -648, -414, -556, -576, -581, -729, -583, -559, -578, -729, -580, -561, -729, -564, -729, -566, -569, -729, -570, -729, -592, -10, -20, -729, -30, -729, -295, -729, -729, -272, -729, -729, -729, -729, -433, -729, -274, -276, -729, -729, -74, -271, -426, -729, -729, -76, -427, -323, -718, -703, -704, -703, -704, -716, -54, -460, -462, -464, -467, -524, -716, -479, -482, -517, -522, -523, -729, -729, -527, -528, -529, -530, -531, -532, -533, -534, -535, -536, -537, -729, -729, -541, -56, -729, -729, -691, -729, -441, -68, -422, -438, -267, -274, -269, -729, -400, -729, -319, -286, -285, -289, -729, -695, -696, -729, -15, -86, -729, -92, -98, -716, -703, -704, -270, -707, -109, -729, -94, -729, -214, -228, -716, -249, -728, -728, -343, -622, -729, -640, -624, -729, -629, -630, -729, -729, -643, -729, -645, -729, -365, -729, -367, -369, -372, -375, -716, -662, -672, -673, -683, -687, -627, -729, -251, -344, -308, -310, -312, -721, -728, -356, -728, -60, -357, -358, -331, -332, -729, -729, -446, -334, -729, -716, -703, -704, -707, -314, -13, -121, -122, -125, -716, -13, -729, -339, -729, -729, -716, -582, -585, -586, -587, -588, -13, -560, -563, -565, -568, -572, -574, -135, -34, -293, -729, -716, -703, -704, -704, -703, -46, -266, -729, -719, -286, -40, -210, -41, -211, -75, -42, -213, -43, -212, -77, -729, -729, -729, -729, -433, -729, -729, -465, -466, -729, -729, -729, -484, -716, -716, -478, -485, -491, -729, -494, -498, -729, -481, -729, -729, -520, -521, -525, -526, -538, -122, -539, -729, -64, -420, -400, -424, -423, -729, -716, -435, -401, -716, -13, -437, -280, -290, -698, -90, -433, -102, -322, -729, -728, -361, -13, -544, -728, -545, -546, -716, -632, -633, -633, -660, -689, -669, -674, -688, -633, -633, -680, -633, -657, -675, -716, -729, -729, -374, -658, -729, -263, -729, -359, -729, -729, -333, -335, -729, -729, -13, -433, -729, -433, -729, -729, -13, -342, -412, -415, -417, -404, -729, -729, -294, -433, -39, -209, -275, -729, -461, -463, -471, -475, -716, -716, -716, -503, -505, -506, -509, -510, -575, -513, -515, -516, -716, -716, -716, -540, -476, -477, -501, -486, -489, -492, -729, -497, -716, -575, -720, -716, -518, -519, -248, -13, -70, -268, -689, -689, -381, -383, -383, -383, -399, -729, -716, -657, -665, -666, -677, -439, -250, -11, -13, -550, -362, -729, -729, -548, -623, -729, -636, -729, -638, -628, -729, -641, -729, -644, -646, -366, -368, -370, -373, -252, -329, -729, -330, -729, -451, -454, -457, -458, -459, -289, -728, -336, -338, -618, -729, -13, -13, -729, -413, -584, -468, -469, -470, -504, -508, -729, -512, -514, -472, -473, -474, -493, -487, -729, -495, -499, -480, -729, -483, -442, -729, -379, -380, -384, -390, -392, -729, -395, -729, -397, -402, -729, -729, -664, -729, -549, -13, -611, -612, -729, -729, -305, -547, -633, -633, -633, -633, -729, -729, -13, -447, -729, -729, -455, -443, -444, -445, -340, -729, -729, -716, -406, -408, -409, -502, -507, -511, -729, -490, -729, -689, -667, -382, -383, -383, -383, -383, -678, -383, -403, -676, -729, -315, -543, -272, -729, -729, -315, -729, -634, -637, -639, -642, -371, -728, -13, -452, -453, -456, -494, -416, -418, -405, -729, -488, -729, -496, -500, -378, -729, -387, -729, -389, -729, -393, -729, -396, -398, -314, -707, -542, -716, -703, -704, -707, -314, -633, -360, -728, -729, -407, -383, -383, -383, -383, -433, -635, -448, -449, -450, -495, -729, -385, -388, -391, -394, -383, -386 ] clist = [ '42,141,141,225,291,42,330,230,623,275,274,380,293,809,409,141,308,308', '308,346,346,124,287,458,464,127,416,382,383,365,365,387,764,526,42,334', '334,361,309,309,309,436,437,452,373,514,743,518,878,144,144,772,773', '342,342,632,584,584,346,346,346,947,233,918,42,8,134,136,217,123,8,385', '386,374,391,287,287,310,310,310,349,299,303,449,928,419,420,421,422', '469,510,934,342,342,342,127,929,584,564,356,329,950,615,618,603,604', '343,343,930,928,607,610,375,378,614,516,443,569,15,443,887,929,42,15', '326,443,936,328,1085,371,743,42,932,42,567,600,879,369,735,388,1047', '1017,575,575,908,343,343,343,740,292,740,4,15,553,295,302,304,786,967', '1049,1134,128,695,723,306,319,320,1148,927,649,651,654,654,1132,1170', '642,1032,568,526,892,893,2,15,575,550,550,1028,8,981,993,1177,727,396', '927,653,655,423,743,8,746,1003,404,406,737,362,368,216,397,308,432,425', '1139,482,483,803,276,42,468,725,475,731,979,991,1018,664,435,435,359', '376,730,288,377,395,636,370,988,988,1020,605,531,15,42,808,372,823,961', '639,988,1048,15,1148,15,998,1019,1095,1021,1131,640,963,431,442,293', '407,442,827,1175,1134,1059,1066,442,1067,509,520,458,464,521,900,459', '417,1201,308,308,430,1125,424,1054,1208,953,821,308,1166,1055,1058,975', '976,874,694,875,886,889,740,740,517,309,1135,1136,922,329,1010,980,992', '309,1,346,988,408,410,780,1047,554,546,42,411,412,413,42,549,1211,1144', '334,42,584,346,414,15,1164,438,535,556,438,619,127,310,415,754,438,749', '342,334,903,310,1102,1114,940,754,758,740,829,606,15,1126,42,1007,1008', '751,834,342,42,42,824,931,929,1086,542,826,1142,896,626,,,,877,537,42', '42,534,536,936,1057,776,778,329,,299,,,329,,507,303,343,551,,,,,,127', ',828,1145,1040,837,1146,837,326,141,575,538,343,326,1087,929,544,754', '671,1198,369,1141,519,,859,754,,,988,864,522,676,15,,,,15,813,,,,15', '620,621,622,932,,822,1086,,,584,,,308,910,,144,584,,468,,458,464,1169', ',29,,,,,29,15,717,717,663,584,904,15,15,,,845,,724,743,29,1092,1093', '1202,,1209,,,15,15,29,29,29,,29,,1086,682,1178,554,780,929,,687,943', ',925,,554,,,,346,,459,,308,,994,955,42,346,946,,29,468,855,857,334,29', '29,860,862,29,1178,468,,334,913,,,877,877,,,959,342,,,682,,,443,,,342', '1006,739,1086,,,,443,443,910,,,443,443,,681,,,935,923,937,686,1210,', ',,,29,740,1022,459,,29,29,29,29,29,,29,,459,308,,,343,42,,,42,,468,308', '792,343,1179,1191,468,,,818,,933,812,,933,1056,,729,,42,,804,,,,,,,', ',675,,,15,,799,308,141,,,825,,,,,468,42,1075,,,,,,42,902,780,780,,,', '459,800,676,1127,802,,,,459,676,888,29,29,29,29,29,29,29,1065,,,717', '29,29,29,144,,717,717,,901,442,898,274,971,,29,,141,554,1016,442,442', '841,854,459,442,442,584,,915,842,346,15,,,15,,850,676,,,,346,924,1037', '1039,1090,334,,443,,1042,1044,1107,1045,,15,,334,,,29,,,,342,1015,,29', '29,,,435,1120,,1121,342,29,,854,,960,,15,,1022,438,,1022,,15,,,,,29', '438,438,,29,676,438,438,1130,29,877,,682,,676,687,,,,,966,,42,343,,', ',42,,,,,,,343,,,676,42,,29,,,,,,29,29,,,,,,1115,,1116,780,780,1117,', ',29,29,29,,676,,,,,676,676,,,,717,1022,,717,717,,,29,450,,717,,,957', '470,,,,717,717,717,869,,442,966,,1030,,880,968,1034,,,,381,381,1052', '42,381,1147,,1149,1076,,,,,,,42,,,,,,,,,,1088,,1160,1161,1162,1163,15', ',,,,15,,,,,,,,914,29,933,15,717,1015,42,754,1015,,1015,,42,,381,381', '381,381,,,,438,,1197,,1026,,1192,,,676,676,676,1064,,,717,1031,,,,,888', ',1203,,1204,,1205,,,,717,,,,,,346,29,966,42,956,,,,1207,,346,29,,958', '1061,,287,,1217,15,,,42,,,,1109,29,,,1023,15,,1015,342,1015,970,1015', ',1015,,,,,342,,,1014,447,448,,,,,,,,471,472,42,42,,,,978,1015,15,,,995', '996,,15,1167,1168,,,717,,,346,29,,,29,,,343,1106,,1156,29,,,,,287,343', ',,42,29,,,,29,,,,,,,1173,42,342,,508,717,,,,15,18,,,1129,,18,470,,450', '717,29,717,308,29,29,,468,29,15,,234,468,1113,29,29,,,,29,29,234,234', '234,,18,335,335,42,,,,,,,1154,343,,717,,,,676,,,,15,15,1165,,,1079,1080', '1081,,18,,,,,234,234,717,,234,392,402,402,,,,,459,760,,,,,718,718,381', ',,1023,,,1023,15,,1023,,1023,17,,1199,,,17,,,15,638,,1014,,,1014,,1014', ',,,,18,,,,,234,234,234,234,18,,18,,17,,,,,,,,,,1096,1098,1100,,,,,,', ',15,,,,,,,29,,,17,,29,29,,,,,,,,,,29,,,1023,,1023,,1023,,1023,,,,,,', ',,29,,1014,379,1014,,1014,,1014,,856,858,,,,861,863,1023,,,18,234,440', '234,234,440,234,17,,,,440,234,234,1014,,17,,17,,,,,,,18,,,,,,,,,,,29', ',,,,,,,,1206,,,29,,762,,,,,,,1181,1183,1185,1187,,1188,,,,,,,,,234,', ',,,,29,234,234,,,,29,,,,234,,29,718,473,,,,,718,718,,,,17,,17,,18,17', ',,18,,,17,335,18,1213,1214,1215,1216,,,,,,,,17,,,,1218,,335,,433,446', ',,29,,,,,,,18,,,,,,18,18,,,,,29,,,,,,972,41,523,234,18,18,41,,,,,,,856', '858,863,861,,,,,,,286,234,539,,,,,,29,29,,,41,333,333,,,,,,17,,,,17', ',,,,17,,,,,,,,,,,,528,41,530,,,532,533,,29,,,390,286,286,,,,,,17,,29', ',29,29,17,17,,,,,,234,718,,,718,718,,,,17,17,718,,,,,,,,718,718,718', ',,29,,972,41,,,,,,,,29,41,,41,,,,,,,,,,,,,,,,381,,,,18,,,,,,,,335,,234', ',,,,688,,335,,,,,,,,718,234,,,,,,667,,,,,,,,,,,,,,,,,,,726,,,,,,718', ',732,,734,,41,,738,,,,,,,,718,,,,,,,18,747,,18,,,,750,41,,234,,,,,,', ',,,234,17,,,18,,,,712,712,767,,770,,,,,,,,,381,,741,,379,,744,,,,18', ',,440,234,,,18,,,,,,440,440,,,797,440,440,,,,,,718,,,,,,,,,,,,41,,,', '41,,,,333,41,,,,17,,,17,,787,,,,,,,,,333,718,,,,,,,,,17,741,,41,379', '718,,718,335,41,41,,,,,,,446,,335,,,,,,41,41,17,,,17,,,,17,,,,,,17,17', ',718,,17,17,711,711,,,,,,,,,,,,,843,,,,,,718,,,741,379,,,,,,,18,,,,', '18,234,,,,,381,381,,,,18,,,,,,916,,,,,,,,,,,,440,,,,,,,,,,712,,944,', '741,,712,712,,,,,,911,,,912,,,,,,,,,,,,,,,,19,,,,921,19,,,,,,,,,18,', ',,939,,,41,,,,17,18,,,333,17,,,,19,337,337,,333,,,17,,,,,,,,,,,,,,234', '977,,,17,,18,,,19,,,18,,,,,,,394,403,403,,,,,,,969,,,,,1012,,,,,,,,', ',,,,41,,,41,,,,,1035,,,711,,,17,18,,711,711,,,19,,1046,41,,17,,1104', ',19,,19,,18,,,712,1110,,712,712,,,,,,712,,,,41,,,,712,712,712,41,,,17', '1071,1072,1073,,,17,,,,18,18,,,,,,,,,,,,,,,,,1089,,,1060,,,,,,,,,,,', ',,,,1151,710,710,379,18,,,19,17,441,,712,441,,,,,18,441,234,234,,709', '709,,333,,17,,,,,19,,,,333,,,,,,,712,,,,,,,,,234,,,,,,,712,,,,18,17', '17,,,,,,713,713,711,,,711,711,,,,,,711,,,,,,,,711,711,711,,41,,,,,41', ',,,,17,,,,,,41,19,,,,19,,17,,337,19,,,,,,,,,,,,,,,,,,337,,,712,,,,32', ',,,,32,19,,,711,,,19,19,,,,,17,,32,,,,,,,,19,19,32,32,32,,32,,712,,', '41,,711,,,,,,,,,712,41,712,,,,,711,,,,,,,32,,,,,32,32,,,32,710,,,,,', '710,710,,,,,41,,712,,,,41,,,709,,,,,,709,709,,,,,,,,,,712,,,,,715,715', ',,,32,,,,,32,32,32,32,32,,32,,,,,,,711,41,,,713,,,,,,713,713,,,286,', ',,,,41,,,,1108,,,,,,,,,,,,,,19,,711,,,,,,337,,,,,,,,711,337,711,41,41', ',,,,,,,,,,,,,,,,,32,32,32,32,32,32,32,,,,,32,32,32,,,711,,286,,,,41', ',,32,,,710,,,710,710,,,41,,,710,,711,,19,,,19,710,710,710,709,,,709', '709,,,,,,709,,,,,,,19,709,709,709,,32,,833,,,,,32,32,,41,,,,,,32,,,', ',,19,,,441,,713,,19,713,713,,,32,441,441,713,32,710,441,441,,32,,713', '713,713,,715,,,,,,715,715,,,,709,,,,,,,,,,,710,,,32,,,,,,32,32,,,,,', '710,,,,,709,,,32,32,32,,,,,,,337,,,,709,713,,,,,,337,32,,,,,,,,,,,,', ',,,,,,,,,,,,713,,,,,,,,,,,,,,,,713,,,,,,,,,,,,,710,,,,19,,,,,19,,,,', ',,,,32,,19,709,,,,,,,,,,,,,,,,,441,,710,,,,,716,716,,,715,,,715,715', '710,,710,,,715,,709,,,,,,715,715,715,713,,,,,709,32,709,,,,,,,714,714', '32,,,,,,710,,19,,,,,,,,32,,,,19,,,,713,,,709,,,710,,,,,,,,713,,713,', ',,,715,,,,,,709,,,,19,,,,,,19,,,,,,,,,32,,,32,,,713,715,,,32,,,,,,241', ',,,32,,,715,32,,307,307,307,,713,,,,,,,,354,355,19,357,358,,360,,,,', ',,32,,403,32,32,,,32,19,,307,307,1112,32,32,,,,32,32,,,,,,,,,,,,,,,', ',,,,,,,,,,19,19,,,,,,,,,715,,716,,,,,,716,716,,,,,,,,,,,,,,,,,,403,', ',,19,,,,,,,,,715,714,,,19,,,714,714,,,,,,715,,715,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,,19,,715,,,,,32,,,,,32,32,,,,307,445,,,451,307,32,,,715', '451,,,,,,,,,,,,,241,32,,,,484,485,486,487,488,489,490,491,492,493,494', '495,496,497,498,499,500,501,502,503,504,505,,,,,506,,,,,,,,,,,716,,', '716,716,,,,,,716,,307,307,,32,,,716,716,716,307,,,,,,32,307,,307,,,307', '307,,,,,714,,,714,714,,,,,,714,,,,,,,32,714,714,714,,,32,,,,,,32,,,', ',,,559,,560,,,,,716,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,716,,,32,,,,714,', ',,,,,,,716,,,,,,32,,,,,,,,,,,,,,307,,,714,,,,,,,,,,,,,,,,714,,,,32,32', ',,,,,,,,,,,,,,,,,,307,,451,451,451,,,,,,,,,,,,,,,,716,32,,,,,,,,,,,', ',32,,32,32,355,,,,,,,,,,307,,307,,307,,,,,,,714,716,,,,,,,,307,32,,', ',,716,,716,,451,,32,761,,,,763,,,,,,,,,,,,,,714,,,,,,,,,,,,307,716,714', ',714,,,,,,,,,,794,,,,,,307,,,307,,716,,,,,,,,,,,307,307,,,714,,,,,,', '307,,,,,,,,,,,,,,,,,714,,,,,,,,,,,,,,,,307,451,307,,,,851,,,307,307', '451,451,,,,451,451,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,307', ',,,,,,,,307,,,307,,,,,,,,,,,,,,,,,,,,307,,,,,,,,,,,,,,307,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,307,,,,,,,,451', ',,,,,,,,,,,,451,451,451,451,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1009,,,,,,,', ',,,,,,,,,,,,1027,,,,,,,,,,,,,,,,,,,,,,,,,,,,1050,,,,,,,,,307,,,,,,,', ',,,,,,,,,,,307,451,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,307' ] racc_goto_table = arr = ::Array.new(4137, nil) idx = 0 clist.each do |str| str.split(',', -1).each do |i| arr[idx] = i.to_i unless i.empty? idx += 1 end end clist = [ '71,74,74,33,154,71,67,35,111,42,44,106,33,112,194,74,51,51,51,82,82', '7,71,54,54,116,194,19,19,86,86,19,12,93,71,71,71,35,87,87,87,24,24,31', '86,56,233,91,171,76,76,135,135,45,45,72,224,224,82,82,82,110,22,13,71', '8,9,17,17,5,8,40,40,87,71,71,71,89,89,89,68,90,90,28,142,19,19,19,19', '28,54,142,45,45,45,116,225,224,10,79,11,13,109,109,10,10,47,47,131,142', '88,88,89,89,88,31,20,91,23,20,183,225,71,23,63,20,229,64,188,8,233,71', '196,71,153,153,172,118,57,5,125,141,219,219,143,47,47,47,94,49,94,2', '23,69,55,55,55,127,145,128,148,6,37,37,62,62,62,230,223,209,209,209', '209,147,189,153,201,140,93,198,198,3,23,219,218,218,14,8,174,174,189', '157,23,223,208,208,8,233,8,16,174,73,73,157,81,81,18,21,51,25,27,188', '38,39,41,48,71,74,50,33,59,171,171,142,77,87,87,83,85,92,104,105,113', '115,119,196,196,145,120,194,23,71,111,121,122,123,124,196,129,23,230', '23,187,133,138,139,146,149,150,22,22,33,151,22,152,188,148,174,155,22', '156,158,160,54,54,161,164,90,6,147,51,51,11,165,2,166,167,168,72,51', '169,170,173,176,178,179,31,180,184,185,94,94,87,87,191,192,200,11,143', '172,172,87,1,82,196,204,205,126,125,67,33,71,206,207,210,71,35,188,141', '71,71,224,82,211,23,128,23,7,33,23,19,116,89,212,54,23,69,45,71,57,89', '145,142,127,54,69,94,213,35,23,13,71,198,198,31,214,45,71,71,217,227', '225,187,68,10,228,72,33,,,,37,9,71,71,5,8,229,172,222,222,11,,90,,,11', ',49,90,47,79,,,,,,116,,153,142,135,209,142,209,63,74,219,64,47,63,183', '225,64,54,33,110,118,131,62,,56,54,,,196,56,62,35,23,,,,23,31,,,,23', '11,11,5,196,,31,187,,,224,,,51,93,,76,224,,74,,54,54,171,,58,,,,,58', '23,71,71,17,224,91,23,23,,,31,,35,233,58,135,135,142,,13,,,23,23,58', '58,58,,58,,187,90,187,67,126,225,,90,126,,91,,67,,,,82,,90,,51,,72,109', '71,82,88,,58,74,28,28,71,58,58,28,28,58,187,74,,71,69,,,37,37,,,10,45', ',,90,,,20,,,45,37,89,187,,,,20,20,93,,,20,20,,55,,,140,24,140,55,112', ',,,,58,94,224,90,,58,58,58,58,58,,58,,90,51,,,47,71,,,71,,74,51,116', '47,135,12,74,,,40,,136,87,,136,37,,55,,71,,116,,,,,,,,,32,,,23,,89,51', '74,,,116,,,,,74,71,37,,,,,,71,106,126,126,,,,90,11,35,111,11,,,,90,35', '35,58,58,58,58,58,58,58,10,,,71,58,58,58,76,,71,71,,154,22,42,44,28', ',58,,74,67,140,22,22,17,89,90,22,22,224,,67,8,82,23,,,23,,8,35,,,,82', '86,222,222,10,71,,20,,222,222,109,222,,23,,71,,,58,,,,45,136,,58,58', ',,87,109,,109,45,58,,89,,19,,23,,224,23,,224,,23,,,,,58,23,23,,58,35', '23,23,10,58,37,,90,,35,90,,,,,35,,71,47,,,,71,,,,,,,47,,,35,71,,58,', ',,,,58,58,,,,,,140,,140,126,126,140,,,58,58,58,,35,,,,,35,35,,,,71,224', ',71,71,,,58,78,,71,,,11,78,,,,71,71,71,32,,22,35,,86,,32,11,86,,,,26', '26,19,71,26,140,,140,194,,,,,,,71,,,,,,,,,,194,,222,222,222,222,23,', ',,,23,,,,,,,,32,58,136,23,71,136,71,54,136,,136,,71,,26,26,26,26,,,', '23,,140,,11,,31,,,35,35,35,116,,,71,11,,,,,35,,140,,140,,140,,,,71,', ',,,,82,58,35,71,32,,,,222,,82,58,,32,11,,71,,140,23,,,71,,,,71,58,,', '226,23,,136,45,136,32,136,,136,,,,,45,,,130,26,26,,,,,,,,26,26,71,71', ',,,32,136,23,,,32,32,,23,19,19,,,71,,,82,58,,,58,,,47,11,,33,58,,,,', '71,47,,,71,58,,,,58,,,,,,,35,71,45,,26,71,,,,23,30,,,11,,30,78,,78,71', '58,71,51,58,58,,74,58,23,,30,74,23,58,58,,,,58,58,30,30,30,,30,30,30', '71,,,,,,,11,47,,71,,,,35,,,,23,23,11,,,32,32,32,,30,,,,,30,30,71,,30', '30,30,30,,,,,90,78,,,,,108,108,26,,,226,,,226,23,,226,,226,29,,11,,', '29,,,23,26,,130,,,130,,130,,,,,30,,,,,30,30,30,30,30,,30,,29,,,,,,,', ',,137,137,137,,,,,,,,23,,,,,,,58,,,29,,58,58,,,,,,,,,,58,,,226,,226', ',226,,226,,,,,,,,,58,,130,84,130,,130,,130,,78,78,,,,78,78,226,,,30', '30,30,30,30,30,30,29,,,,30,30,30,130,,29,,29,,,,,,,30,,,,,,,,,,,58,', ',,,,,,,32,,,58,,26,,,,,,,137,137,137,137,,137,,,,,,,,,30,,,,,,58,30', '30,,,,58,,,,30,,58,108,65,,,,,108,108,,,,29,,29,,30,29,,,30,,,29,30', '30,137,137,137,137,,,,,,,,29,,,,137,,30,,84,84,,,58,,,,,,,30,,,,,,30', '30,,,,,58,,,,,,78,70,65,30,30,30,70,,,,,,,78,78,78,78,,,,,,,70,30,65', ',,,,,58,58,,,70,70,70,,,,,,29,,,,29,,,,,29,,,,,,,,,,,,84,70,84,,,84', '84,,58,,,70,70,70,,,,,,29,,58,,58,58,29,29,,,,,,30,108,,,108,108,,,', '29,29,108,,,,,,,,108,108,108,,,58,,78,70,,,,,,,,58,70,,70,,,,,,,,,,', ',,,,,26,,,,30,,,,,,,,30,,30,,,,,65,,30,,,,,,,,108,30,,,,,,84,,,,,,,', ',,,,,,,,,,,65,,,,,,108,,65,,65,,70,,65,,,,,,,,108,,,,,,,30,65,,30,,', ',65,70,,30,,,,,,,,,,30,29,,,30,,,,99,99,65,,65,,,,,,,,,26,,84,,84,,84', ',,,30,,,30,30,,,30,,,,,,30,30,,,65,30,30,,,,,,108,,,,,,,,,,,,70,,,,70', ',,,70,70,,,,29,,,29,,84,,,,,,,,,70,108,,,,,,,,,29,84,,70,84,108,,108', '30,70,70,,,,,,,84,,30,,,,,,70,70,29,,,29,,,,29,,,,,,29,29,,108,,29,29', '98,98,,,,,,,,,,,,,84,,,,,,108,,,84,84,,,,,,,30,,,,,30,30,,,,,26,26,', ',,30,,,,,,65,,,,,,,,,,,,30,,,,,,,,,,99,,65,,84,,99,99,,,,,,84,,,84,', ',,,,,,,,,,,,,,34,,,,84,34,,,,,,,,,30,,,,84,,,70,,,,29,30,,,70,29,,,', '34,34,34,,70,,,29,,,,,,,,,,,,,,30,65,,,29,,30,,,34,,,30,,,,,,,34,34', '34,,,,,,,84,,,,,65,,,,,,,,,,,,,70,,,70,,,,,65,,,98,,,29,30,,98,98,,', '34,,65,70,,29,,30,,34,,34,,30,,,99,30,,99,99,,,,,,99,,,,70,,,,99,99', '99,70,,,29,65,65,65,,,29,,,,30,30,,,,,,,,,,,,,,,,,65,,,84,,,,,,,,,,', ',,,,,30,97,97,84,30,,,34,29,34,,99,34,,,,,30,34,30,30,,96,96,,70,,29', ',,,,34,,,,70,,,,,,,99,,,,,,,,,30,,,,,,,99,,,,30,29,29,,,,,,100,100,98', ',,98,98,,,,,,98,,,,,,,,98,98,98,,70,,,,,70,,,,,29,,,,,,70,34,,,,34,', '29,,34,34,,,,,,,,,,,,,,,,,,34,,,99,,,,61,,,,,61,34,,,98,,,34,34,,,,', '29,,61,,,,,,,,34,34,61,61,61,,61,,99,,,70,,98,,,,,,,,,99,70,99,,,,,98', ',,,,,,61,,,,,61,61,,,61,97,,,,,,97,97,,,,,70,,99,,,,70,,,96,,,,,,96', '96,,,,,,,,,,99,,,,,102,102,,,,61,,,,,61,61,61,61,61,,61,,,,,,,98,70', ',,100,,,,,,100,100,,,70,,,,,,70,,,,70,,,,,,,,,,,,,,34,,98,,,,,,34,,', ',,,,,98,34,98,70,70,,,,,,,,,,,,,,,,,,61,61,61,61,61,61,61,,,,,61,61', '61,,,98,,70,,,,70,,,61,,,97,,,97,97,,,70,,,97,,98,,34,,,34,97,97,97', '96,,,96,96,,,,,,96,,,,,,,34,96,96,96,,61,,34,,,,,61,61,,70,,,,,,61,', ',,,,34,,,34,,100,,34,100,100,,,61,34,34,100,61,97,34,34,,61,,100,100', '100,,102,,,,,,102,102,,,,96,,,,,,,,,,,97,,,61,,,,,,61,61,,,,,,97,,,', ',96,,,61,61,61,,,,,,,34,,,,96,100,,,,,,34,61,,,,,,,,,,,,,,,,,,,,,,,', ',100,,,,,,,,,,,,,,,,100,,,,,,,,,,,,,97,,,,34,,,,,34,,,,,,,,,61,,34,96', ',,,,,,,,,,,,,,,,34,,97,,,,,103,103,,,102,,,102,102,97,,97,,,102,,96', ',,,,,102,102,102,100,,,,,96,61,96,,,,,,,101,101,61,,,,,,97,,34,,,,,', ',,61,,,,34,,,,100,,,96,,,97,,,,,,,,100,,100,,,,,102,,,,,,96,,,,34,,', ',,,34,,,,,,,,,61,,,61,,,100,102,,,61,,,,,,36,,,,61,,,102,61,,36,36,36', ',100,,,,,,,,36,36,34,36,36,,36,,,,,,,61,,34,61,61,,,61,34,,36,36,34', '61,61,,,,61,61,,,,,,,,,,,,,,,,,,,,,,,,,,34,34,,,,,,,,,102,,103,,,,,', '103,103,,,,,,,,,,,,,,,,,,34,,,,34,,,,,,,,,102,101,,,34,,,101,101,,,', ',,102,,102,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,34,,102,,,,,61,,,,,61,61', ',,,36,36,,,36,36,61,,,102,36,,,,,,,,,,,,,36,61,,,,36,36,36,36,36,36', '36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,,,,,36,,,,,,,,,,,103', ',,103,103,,,,,,103,,36,36,,61,,,103,103,103,36,,,,,,61,36,,36,,,36,36', ',,,,101,,,101,101,,,,,,101,,,,,,,61,101,101,101,,,61,,,,,,61,,,,,,,36', ',36,,,,,103,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,103,,,61,,,,101,,,,,,,,,103', ',,,,,61,,,,,,,,,,,,,,36,,,101,,,,,,,,,,,,,,,,101,,,,61,61,,,,,,,,,,', ',,,,,,,,36,,36,36,36,,,,,,,,,,,,,,,,103,61,,,,,,,,,,,,,61,,61,61,36', ',,,,,,,,,36,,36,,36,,,,,,,101,103,,,,,,,,36,61,,,,,103,,103,,36,,61', '36,,,,36,,,,,,,,,,,,,,101,,,,,,,,,,,,36,103,101,,101,,,,,,,,,,36,,,', ',,36,,,36,,103,,,,,,,,,,,36,36,,,101,,,,,,,36,,,,,,,,,,,,,,,,,101,,', ',,,,,,,,,,,,,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' ] racc_goto_check = arr = ::Array.new(4137, 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, 312, 149, 181, nil, 64, 154, 16, 63, 57, -265, 64, -531, -701, -732, nil, -336, 57, 195, -44, -104, 131, 40, 116, -178, -10, 832, 74, -140, 1226, 1125, -181, 196, -15, 2017, -14, 2981, -320, -33, -33, -2, -405, -15, nil, -14, 16, nil, 69, 191, 122, -289, -16, nil, nil, -202, 125, -250, -382, 471, -293, nil, 2372, 132, 88, 91, 1203, nil, -31, 42, -197, 1505, -2, -345, 124, -9, nil, 39, -205, 654, 53, nil, 152, -18, 178, 1258, 161, -23, 6, -264, 45, 52, -249, -281, -277, -377, nil, 1768, 1747, 1430, 1286, 1817, 2433, 2009, 2394, 206, 163, -58, nil, 732, -280, -739, -380, -609, 156, nil, -171, 20, nil, 84, 169, -133, 177, -392, -580, -160, -801, -268, -428, -783, -693, 145, -663, nil, -654, nil, -519, -142, 256, -762, -652, -189, -766, -684, -592, nil, -670, -812, -895, -908, -150, -569, 177, -376, -232, -21, -696, -695, -318, -19, nil, -28, -26, nil, nil, -452, -778, -668, -913, -523, -831, -662, -653, -565, -661, -686, nil, -577, nil, -577, -405, -403, nil, nil, -582, -404, -404, nil, -629, -873, -950, nil, -770, -769, nil, -76, nil, -639, nil, -528, nil, -459, -746, nil, nil, 227, 223, 228, 228, -218, -241, 228, 236, 245, -289, -282, nil, nil, -268, -158, -224, nil, nil, -184, -600, -310, -672, 128, -401, -716, -649, -930, nil, nil, -481 ] racc_goto_default = [ nil, nil, nil, nil, 5, nil, 6, 389, 324, nil, nil, 563, nil, 948, nil, 321, 322, nil, nil, nil, 13, 14, 20, 239, nil, nil, 16, nil, 439, 240, 353, nil, nil, 634, 238, 474, 23, 997, nil, nil, nil, nil, nil, 384, 143, 52, 24, 53, nil, nil, nil, 25, 26, 27, 757, nil, nil, nil, 341, nil, 28, 338, 453, 35, nil, nil, 37, 40, 39, nil, 235, 236, 401, nil, 461, 142, 87, nil, 444, 103, 49, nil, 54, 273, 313, nil, 919, 454, nil, 455, 466, nil, 683, 524, 311, 297, 55, 56, 57, 58, 59, 60, 61, 62, 63, nil, 298, 69, 70, nil, nil, nil, nil, nil, 77, nil, 616, 78, 363, nil, nil, nil, nil, nil, nil, 782, 583, nil, 783, 784, 571, 565, 566, 1143, 1013, nil, 572, nil, nil, nil, 601, nil, 574, nil, 906, nil, nil, nil, 581, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 465, nil, nil, 736, 728, nil, nil, nil, nil, nil, nil, nil, nil, nil, 882, nil, 696, 705, 697, 698, nil, nil, 699, 700, nil, nil, nil, 881, 883, nil, 884, 982, 983, 984, 985, nil, 989, 592, 990, 704, 706, nil, nil, 86, 88, 89, nil, nil, nil, nil, 644, nil, nil, nil, nil, nil, 99, 100, nil, 364, 926, 367, 570, 769, 573, 938, 586, 588, 589, 1024, 593, 1025, 596, 599, 316 ] 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, 197, :_reduce_63, 5, 194, :_reduce_64, 1, 169, :_reduce_none, 1, 169, :_reduce_none, 1, 199, :_reduce_none, 4, 199, :_reduce_68, 0, 206, :_reduce_69, 4, 203, :_reduce_70, 1, 205, :_reduce_none, 2, 198, :_reduce_72, 3, 198, :_reduce_73, 4, 198, :_reduce_74, 5, 198, :_reduce_75, 4, 198, :_reduce_76, 5, 198, :_reduce_77, 2, 198, :_reduce_78, 2, 198, :_reduce_79, 2, 198, :_reduce_80, 2, 198, :_reduce_81, 2, 198, :_reduce_82, 1, 168, :_reduce_83, 3, 168, :_reduce_84, 1, 211, :_reduce_85, 3, 211, :_reduce_86, 1, 210, :_reduce_none, 2, 210, :_reduce_88, 3, 210, :_reduce_89, 5, 210, :_reduce_90, 2, 210, :_reduce_91, 4, 210, :_reduce_92, 2, 210, :_reduce_93, 4, 210, :_reduce_94, 1, 210, :_reduce_95, 3, 210, :_reduce_96, 1, 214, :_reduce_none, 3, 214, :_reduce_98, 2, 213, :_reduce_99, 3, 213, :_reduce_100, 1, 216, :_reduce_101, 3, 216, :_reduce_102, 1, 215, :_reduce_103, 1, 215, :_reduce_104, 4, 215, :_reduce_105, 3, 215, :_reduce_106, 3, 215, :_reduce_107, 3, 215, :_reduce_108, 3, 215, :_reduce_109, 2, 215, :_reduce_110, 1, 215, :_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, 219, :_reduce_121, 1, 219, :_reduce_none, 2, 220, :_reduce_123, 1, 220, :_reduce_124, 3, 220, :_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, 224, :_reduce_134, 4, 165, :_reduce_135, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 221, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 3, 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, 230, :_reduce_none, 1, 230, :_reduce_none, 1, 230, :_reduce_none, 1, 230, :_reduce_none, 3, 227, :_reduce_258, 3, 227, :_reduce_259, 1, 231, :_reduce_none, 1, 232, :_reduce_none, 2, 232, :_reduce_none, 4, 232, :_reduce_263, 2, 232, :_reduce_264, 1, 225, :_reduce_none, 3, 225, :_reduce_266, 3, 237, :_reduce_267, 5, 237, :_reduce_268, 3, 237, :_reduce_269, 0, 239, :_reduce_270, 1, 239, :_reduce_none, 0, 178, :_reduce_272, 1, 178, :_reduce_none, 2, 178, :_reduce_none, 4, 178, :_reduce_275, 2, 178, :_reduce_276, 1, 209, :_reduce_277, 2, 209, :_reduce_278, 2, 209, :_reduce_279, 4, 209, :_reduce_280, 1, 209, :_reduce_281, 0, 242, :_reduce_282, 2, 202, :_reduce_283, 2, 241, :_reduce_284, 2, 240, :_reduce_285, 0, 240, :_reduce_286, 1, 234, :_reduce_287, 2, 234, :_reduce_288, 3, 234, :_reduce_289, 4, 234, :_reduce_290, 1, 172, :_reduce_291, 1, 172, :_reduce_none, 3, 171, :_reduce_293, 4, 171, :_reduce_294, 2, 171, :_reduce_295, 1, 229, :_reduce_none, 1, 229, :_reduce_none, 1, 229, :_reduce_none, 1, 229, :_reduce_none, 1, 229, :_reduce_none, 1, 229, :_reduce_none, 1, 229, :_reduce_none, 1, 229, :_reduce_none, 1, 229, :_reduce_none, 1, 229, :_reduce_none, 1, 229, :_reduce_306, 0, 266, :_reduce_307, 4, 229, :_reduce_308, 0, 267, :_reduce_309, 4, 229, :_reduce_310, 0, 268, :_reduce_311, 4, 229, :_reduce_312, 3, 229, :_reduce_313, 3, 229, :_reduce_314, 2, 229, :_reduce_315, 3, 229, :_reduce_316, 3, 229, :_reduce_317, 1, 229, :_reduce_318, 4, 229, :_reduce_319, 3, 229, :_reduce_320, 1, 229, :_reduce_321, 5, 229, :_reduce_322, 4, 229, :_reduce_323, 3, 229, :_reduce_324, 2, 229, :_reduce_325, 1, 229, :_reduce_none, 2, 229, :_reduce_327, 1, 229, :_reduce_none, 6, 229, :_reduce_329, 6, 229, :_reduce_330, 4, 229, :_reduce_331, 4, 229, :_reduce_332, 5, 229, :_reduce_333, 4, 229, :_reduce_334, 5, 229, :_reduce_335, 6, 229, :_reduce_336, 0, 269, :_reduce_337, 6, 229, :_reduce_338, 0, 270, :_reduce_339, 7, 229, :_reduce_340, 0, 271, :_reduce_341, 5, 229, :_reduce_342, 4, 229, :_reduce_343, 4, 229, :_reduce_344, 1, 229, :_reduce_345, 1, 229, :_reduce_346, 1, 229, :_reduce_347, 1, 229, :_reduce_348, 1, 177, :_reduce_none, 1, 261, :_reduce_350, 1, 264, :_reduce_351, 1, 193, :_reduce_352, 1, 208, :_reduce_353, 1, 256, :_reduce_none, 1, 256, :_reduce_none, 2, 256, :_reduce_356, 1, 188, :_reduce_none, 1, 188, :_reduce_none, 1, 257, :_reduce_none, 5, 257, :_reduce_360, 1, 160, :_reduce_none, 2, 160, :_reduce_362, 1, 260, :_reduce_none, 1, 260, :_reduce_none, 1, 272, :_reduce_365, 3, 272, :_reduce_366, 1, 275, :_reduce_367, 3, 275, :_reduce_368, 1, 274, :_reduce_none, 3, 274, :_reduce_370, 5, 274, :_reduce_371, 1, 274, :_reduce_372, 3, 274, :_reduce_373, 2, 276, :_reduce_374, 1, 276, :_reduce_375, 1, 277, :_reduce_none, 1, 277, :_reduce_none, 4, 280, :_reduce_378, 2, 280, :_reduce_379, 2, 280, :_reduce_380, 1, 280, :_reduce_381, 2, 284, :_reduce_382, 0, 284, :_reduce_383, 1, 285, :_reduce_none, 6, 286, :_reduce_385, 8, 286, :_reduce_386, 4, 286, :_reduce_387, 6, 286, :_reduce_388, 4, 286, :_reduce_389, 2, 286, :_reduce_none, 6, 286, :_reduce_391, 2, 286, :_reduce_392, 4, 286, :_reduce_393, 6, 286, :_reduce_394, 2, 286, :_reduce_395, 4, 286, :_reduce_396, 2, 286, :_reduce_397, 4, 286, :_reduce_398, 1, 286, :_reduce_none, 0, 290, :_reduce_400, 1, 290, :_reduce_401, 3, 291, :_reduce_402, 4, 291, :_reduce_403, 1, 292, :_reduce_404, 4, 292, :_reduce_405, 1, 293, :_reduce_406, 3, 293, :_reduce_407, 1, 294, :_reduce_408, 1, 294, :_reduce_none, 0, 298, :_reduce_410, 0, 299, :_reduce_411, 5, 255, :_reduce_412, 4, 296, :_reduce_413, 1, 296, :_reduce_414, 0, 302, :_reduce_415, 4, 297, :_reduce_416, 0, 303, :_reduce_417, 4, 297, :_reduce_418, 0, 305, :_reduce_419, 4, 301, :_reduce_420, 2, 200, :_reduce_421, 4, 200, :_reduce_422, 5, 200, :_reduce_423, 5, 200, :_reduce_424, 2, 254, :_reduce_425, 4, 254, :_reduce_426, 4, 254, :_reduce_427, 3, 254, :_reduce_428, 3, 254, :_reduce_429, 3, 254, :_reduce_430, 2, 254, :_reduce_431, 1, 254, :_reduce_432, 4, 254, :_reduce_433, 0, 307, :_reduce_434, 4, 253, :_reduce_435, 0, 308, :_reduce_436, 4, 253, :_reduce_437, 0, 309, :_reduce_438, 3, 204, :_reduce_439, 0, 310, :_reduce_440, 0, 311, :_reduce_441, 4, 304, :_reduce_442, 5, 258, :_reduce_443, 1, 312, :_reduce_444, 1, 312, :_reduce_none, 0, 315, :_reduce_446, 0, 316, :_reduce_447, 7, 259, :_reduce_448, 1, 314, :_reduce_449, 1, 314, :_reduce_none, 1, 313, :_reduce_451, 3, 313, :_reduce_452, 3, 313, :_reduce_453, 1, 317, :_reduce_none, 2, 317, :_reduce_455, 3, 317, :_reduce_456, 1, 317, :_reduce_457, 1, 317, :_reduce_458, 1, 317, :_reduce_459, 1, 184, :_reduce_none, 3, 322, :_reduce_461, 1, 322, :_reduce_none, 3, 324, :_reduce_463, 1, 324, :_reduce_none, 1, 326, :_reduce_465, 1, 327, :_reduce_466, 1, 325, :_reduce_none, 4, 325, :_reduce_468, 4, 325, :_reduce_469, 4, 325, :_reduce_470, 3, 325, :_reduce_471, 4, 325, :_reduce_472, 4, 325, :_reduce_473, 4, 325, :_reduce_474, 3, 325, :_reduce_475, 3, 325, :_reduce_476, 3, 325, :_reduce_477, 2, 325, :_reduce_478, 0, 331, :_reduce_479, 4, 325, :_reduce_480, 2, 325, :_reduce_481, 0, 332, :_reduce_482, 4, 325, :_reduce_483, 1, 318, :_reduce_484, 1, 318, :_reduce_485, 2, 318, :_reduce_486, 3, 318, :_reduce_487, 5, 318, :_reduce_488, 2, 318, :_reduce_489, 4, 318, :_reduce_490, 1, 318, :_reduce_none, 2, 333, :_reduce_492, 3, 333, :_reduce_493, 1, 320, :_reduce_494, 3, 320, :_reduce_495, 5, 319, :_reduce_496, 2, 336, :_reduce_497, 1, 336, :_reduce_498, 1, 335, :_reduce_499, 3, 335, :_reduce_500, 1, 334, :_reduce_none, 3, 321, :_reduce_502, 1, 321, :_reduce_503, 2, 321, :_reduce_504, 1, 321, :_reduce_505, 1, 337, :_reduce_506, 3, 337, :_reduce_507, 2, 339, :_reduce_508, 1, 339, :_reduce_509, 1, 340, :_reduce_510, 3, 340, :_reduce_511, 2, 342, :_reduce_512, 1, 342, :_reduce_513, 2, 344, :_reduce_514, 1, 338, :_reduce_none, 1, 338, :_reduce_none, 1, 328, :_reduce_none, 3, 328, :_reduce_518, 3, 328, :_reduce_519, 2, 328, :_reduce_520, 2, 328, :_reduce_521, 1, 328, :_reduce_none, 1, 328, :_reduce_none, 1, 328, :_reduce_none, 2, 328, :_reduce_525, 2, 328, :_reduce_526, 1, 345, :_reduce_none, 1, 345, :_reduce_none, 1, 345, :_reduce_none, 1, 345, :_reduce_none, 1, 345, :_reduce_none, 1, 345, :_reduce_none, 1, 345, :_reduce_none, 1, 345, :_reduce_none, 1, 345, :_reduce_535, 1, 345, :_reduce_none, 1, 323, :_reduce_537, 2, 346, :_reduce_538, 2, 329, :_reduce_539, 3, 329, :_reduce_540, 1, 329, :_reduce_541, 6, 159, :_reduce_542, 0, 159, :_reduce_543, 1, 347, :_reduce_544, 1, 347, :_reduce_none, 1, 347, :_reduce_none, 2, 348, :_reduce_547, 1, 348, :_reduce_none, 2, 161, :_reduce_549, 1, 161, :_reduce_none, 1, 243, :_reduce_none, 1, 243, :_reduce_none, 1, 244, :_reduce_553, 1, 350, :_reduce_554, 2, 350, :_reduce_555, 3, 351, :_reduce_556, 1, 351, :_reduce_557, 1, 351, :_reduce_558, 3, 245, :_reduce_559, 4, 246, :_reduce_560, 3, 247, :_reduce_561, 0, 354, :_reduce_562, 3, 354, :_reduce_563, 1, 355, :_reduce_564, 2, 355, :_reduce_565, 3, 249, :_reduce_566, 0, 357, :_reduce_567, 3, 357, :_reduce_568, 3, 248, :_reduce_569, 3, 250, :_reduce_570, 0, 358, :_reduce_571, 3, 358, :_reduce_572, 0, 359, :_reduce_573, 3, 359, :_reduce_574, 0, 341, :_reduce_575, 2, 341, :_reduce_576, 0, 352, :_reduce_577, 2, 352, :_reduce_578, 0, 353, :_reduce_579, 2, 353, :_reduce_580, 1, 356, :_reduce_581, 2, 356, :_reduce_582, 0, 361, :_reduce_583, 4, 356, :_reduce_584, 1, 360, :_reduce_585, 1, 360, :_reduce_586, 1, 360, :_reduce_587, 1, 360, :_reduce_none, 1, 223, :_reduce_none, 1, 223, :_reduce_none, 1, 362, :_reduce_591, 3, 363, :_reduce_592, 1, 349, :_reduce_593, 2, 349, :_reduce_594, 1, 226, :_reduce_595, 1, 226, :_reduce_596, 1, 226, :_reduce_597, 1, 226, :_reduce_598, 1, 217, :_reduce_599, 1, 217, :_reduce_600, 1, 217, :_reduce_601, 1, 217, :_reduce_602, 1, 217, :_reduce_603, 1, 218, :_reduce_604, 1, 218, :_reduce_605, 1, 218, :_reduce_606, 1, 218, :_reduce_607, 1, 218, :_reduce_608, 1, 218, :_reduce_609, 1, 218, :_reduce_610, 1, 251, :_reduce_611, 1, 251, :_reduce_612, 1, 176, :_reduce_613, 1, 176, :_reduce_614, 1, 181, :_reduce_615, 1, 181, :_reduce_616, 0, 364, :_reduce_617, 4, 262, :_reduce_618, 0, 262, :_reduce_619, 1, 228, :_reduce_none, 1, 228, :_reduce_621, 3, 365, :_reduce_622, 5, 365, :_reduce_623, 3, 365, :_reduce_624, 1, 265, :_reduce_none, 0, 367, :_reduce_626, 3, 265, :_reduce_627, 4, 366, :_reduce_628, 2, 366, :_reduce_629, 2, 366, :_reduce_630, 1, 366, :_reduce_631, 2, 369, :_reduce_632, 0, 369, :_reduce_633, 6, 300, :_reduce_634, 8, 300, :_reduce_635, 4, 300, :_reduce_636, 6, 300, :_reduce_637, 4, 300, :_reduce_638, 6, 300, :_reduce_639, 2, 300, :_reduce_640, 4, 300, :_reduce_641, 6, 300, :_reduce_642, 2, 300, :_reduce_643, 4, 300, :_reduce_644, 2, 300, :_reduce_645, 4, 300, :_reduce_646, 1, 300, :_reduce_647, 0, 300, :_reduce_648, 1, 238, :_reduce_649, 1, 295, :_reduce_650, 1, 295, :_reduce_651, 1, 295, :_reduce_652, 1, 295, :_reduce_653, 1, 273, :_reduce_none, 1, 273, :_reduce_655, 1, 371, :_reduce_656, 1, 372, :_reduce_657, 3, 372, :_reduce_658, 1, 287, :_reduce_659, 3, 287, :_reduce_660, 1, 373, :_reduce_661, 2, 374, :_reduce_662, 1, 374, :_reduce_663, 2, 375, :_reduce_664, 1, 375, :_reduce_665, 1, 281, :_reduce_666, 3, 281, :_reduce_667, 1, 368, :_reduce_668, 3, 368, :_reduce_669, 1, 343, :_reduce_none, 1, 343, :_reduce_none, 2, 279, :_reduce_672, 2, 278, :_reduce_673, 1, 278, :_reduce_674, 3, 376, :_reduce_675, 3, 377, :_reduce_676, 1, 288, :_reduce_677, 3, 288, :_reduce_678, 1, 370, :_reduce_679, 3, 370, :_reduce_680, 1, 378, :_reduce_none, 1, 378, :_reduce_none, 2, 289, :_reduce_683, 1, 289, :_reduce_684, 1, 379, :_reduce_none, 1, 379, :_reduce_none, 2, 283, :_reduce_687, 2, 282, :_reduce_688, 0, 282, :_reduce_689, 1, 195, :_reduce_none, 3, 195, :_reduce_691, 0, 252, :_reduce_692, 2, 252, :_reduce_none, 1, 236, :_reduce_694, 3, 236, :_reduce_695, 3, 380, :_reduce_696, 2, 380, :_reduce_697, 4, 380, :_reduce_698, 2, 380, :_reduce_699, 1, 207, :_reduce_none, 1, 207, :_reduce_none, 1, 207, :_reduce_none, 1, 201, :_reduce_none, 1, 201, :_reduce_none, 1, 201, :_reduce_none, 1, 201, :_reduce_none, 1, 306, :_reduce_none, 1, 306, :_reduce_none, 1, 306, :_reduce_none, 1, 196, :_reduce_none, 1, 196, :_reduce_none, 1, 180, :_reduce_712, 1, 180, :_reduce_713, 0, 152, :_reduce_none, 1, 152, :_reduce_none, 0, 182, :_reduce_none, 1, 182, :_reduce_none, 2, 212, :_reduce_718, 2, 179, :_reduce_719, 2, 330, :_reduce_720, 0, 235, :_reduce_none, 1, 235, :_reduce_none, 1, 235, :_reduce_none, 1, 263, :_reduce_724, 1, 263, :_reduce_none, 1, 154, :_reduce_none, 2, 154, :_reduce_none, 0, 233, :_reduce_728 ] racc_reduce_n = 729 racc_shift_n = 1219 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", "k_def", "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", "k_class", "superclass", "term", "k_module", "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(static: true) 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 = @context.in_kwarg @context.in_kwarg = true result end def _reduce_54(val, _values, result) @pattern_variables.pop @context.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 = @context.in_kwarg @context.in_kwarg = true result end def _reduce_56(val, _values, result) @pattern_variables.pop @context.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) local_push @current_arg_stack.push(nil) result = [ val[0], @context.dup ] @context.in_def = true result end def _reduce_62(val, _values, result) 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) 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) result = @context.dup @context.in_block = true result end def _reduce_70(val, _values, result) result = [ val[0], *val[2], val[3] ] @context.in_block = val[1].in_block 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, ctx) = val[0] endless_method_name(name_t) result = @builder.def_endless_method(def_t, name_t, val[1], val[2], val[3]) local_pop @context.in_def = ctx.in_def @current_arg_stack.pop result end def _reduce_250(val, _values, result) def_t, (name_t, ctx) = 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(def_t, name_t, val[1], val[2], method_body) local_pop @context.in_def = ctx.in_def @current_arg_stack.pop result end def _reduce_251(val, _values, result) def_t, recv, dot_t, (name_t, ctx) = val[0] endless_method_name(name_t) result = @builder.def_endless_singleton(def_t, recv, dot_t, name_t, val[1], val[2], val[3]) local_pop @context.in_def = ctx.in_def @current_arg_stack.pop result end def _reduce_252(val, _values, result) def_t, recv, dot_t, (name_t, ctx) = 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(def_t, recv, dot_t, name_t, val[1], val[2], method_body) local_pop @context.in_def = ctx.in_def @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) @context.in_class = true local_push result end def _reduce_338(val, _values, result) k_class, ctx = val[0] if @context.in_def diagnostic :error, :class_in_def, nil, k_class end lt_t, superclass = val[2] result = @builder.def_class(k_class, val[1], lt_t, superclass, val[4], val[5]) local_pop @context.in_class = ctx.in_class result end def _reduce_339(val, _values, result) @context.in_def = false @context.in_class = false local_push result end def _reduce_340(val, _values, result) k_class, ctx = val[0] result = @builder.def_sclass(k_class, val[1], val[2], val[5], val[6]) local_pop @context.in_def = ctx.in_def @context.in_class = ctx.in_class result end def _reduce_341(val, _values, result) @context.in_class = true local_push result end def _reduce_342(val, _values, result) k_mod, ctx = val[0] if @context.in_def diagnostic :error, :module_in_def, nil, k_mod end result = @builder.def_module(k_mod, val[1], val[3], val[4]) local_pop @context.in_class = ctx.in_class result end def _reduce_343(val, _values, result) def_t, (name_t, ctx) = val[0] result = @builder.def_method(def_t, name_t, val[1], val[2], val[3]) local_pop @context.in_def = ctx.in_def @current_arg_stack.pop result end def _reduce_344(val, _values, result) def_t, recv, dot_t, (name_t, ctx) = val[0] result = @builder.def_singleton(def_t, recv, dot_t, name_t, val[1], val[2], val[3]) local_pop @context.in_def = ctx.in_def @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) result = [ val[0], @context.dup ] result end def _reduce_351(val, _values, result) result = [ val[0], @context.dup ] result end def _reduce_352(val, _values, result) result = val[0] result end def _reduce_353(val, _values, result) if @context.in_class && !@context.in_def && !(context.in_block || context.in_lambda) diagnostic :error, :invalid_return, nil, val[0] end result end # reduce 354 omitted # reduce 355 omitted def _reduce_356(val, _values, result) result = val[1] result end # reduce 357 omitted # reduce 358 omitted # reduce 359 omitted def _reduce_360(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 361 omitted def _reduce_362(val, _values, result) result = val result end # reduce 363 omitted # reduce 364 omitted def _reduce_365(val, _values, result) result = @builder.arg(val[0]) result end def _reduce_366(val, _values, result) result = @builder.multi_lhs(val[0], val[1], val[2]) result end def _reduce_367(val, _values, result) result = [ val[0] ] result end def _reduce_368(val, _values, result) result = val[0] << val[2] result end # reduce 369 omitted def _reduce_370(val, _values, result) result = val[0]. push(val[2]) result end def _reduce_371(val, _values, result) result = val[0]. push(val[2]). concat(val[4]) result end def _reduce_372(val, _values, result) result = [ val[0] ] result end def _reduce_373(val, _values, result) result = [ val[0], *val[2] ] result end def _reduce_374(val, _values, result) result = @builder.restarg(val[0], val[1]) result end def _reduce_375(val, _values, result) result = @builder.restarg(val[0]) result end # reduce 376 omitted # reduce 377 omitted def _reduce_378(val, _values, result) result = val[0].concat(val[2]).concat(val[3]) result end def _reduce_379(val, _values, result) result = val[0].concat(val[1]) result end def _reduce_380(val, _values, result) result = val[0].concat(val[1]) result end def _reduce_381(val, _values, result) result = [ val[0] ] result end def _reduce_382(val, _values, result) result = val[1] result end def _reduce_383(val, _values, result) result = [] result end # reduce 384 omitted 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[4]). concat(val[6]). concat(val[7]) result end def _reduce_387(val, _values, result) result = val[0]. concat(val[2]). concat(val[3]) result end 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) result = val[0]. concat(val[2]). concat(val[3]) result end # reduce 390 omitted 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) 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_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[2]). concat(val[4]). concat(val[5]) result end def _reduce_395(val, _values, result) result = val[0]. concat(val[1]) result end def _reduce_396(val, _values, result) result = val[0]. concat(val[2]). concat(val[3]) result end def _reduce_397(val, _values, result) result = val[0]. concat(val[1]) result end def _reduce_398(val, _values, result) result = val[0]. concat(val[2]). concat(val[3]) result end # reduce 399 omitted def _reduce_400(val, _values, result) result = @builder.args(nil, [], nil) result end def _reduce_401(val, _values, result) @lexer.state = :expr_value result end def _reduce_402(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_403(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_404(val, _values, result) result = [] result end def _reduce_405(val, _values, result) result = val[2] result end def _reduce_406(val, _values, result) result = [ val[0] ] result end def _reduce_407(val, _values, result) result = val[0] << val[2] result end def _reduce_408(val, _values, result) @static_env.declare val[0][0] result = @builder.shadowarg(val[0]) result end # reduce 409 omitted def _reduce_410(val, _values, result) @static_env.extend_dynamic @max_numparam_stack.push(static: false) result = @context.dup @context.in_lambda = true result end def _reduce_411(val, _values, result) @lexer.cmdarg.push(false) result end def _reduce_412(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 @context.in_lambda = val[1].in_lambda result = @builder.block(lambda_call, begin_t, args, body, end_t) result end def _reduce_413(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_414(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_415(val, _values, result) result = @context.dup @context.in_lambda = true result end def _reduce_416(val, _values, result) result = [ val[0], val[2], val[3] ] @context.in_lambda = val[1].in_lambda result end def _reduce_417(val, _values, result) result = @context.dup @context.in_lambda = true result end def _reduce_418(val, _values, result) result = [ val[0], val[2], val[3] ] @context.in_lambda = val[1].in_lambda result end def _reduce_419(val, _values, result) result = @context.dup @context.in_block = true result end def _reduce_420(val, _values, result) result = [ val[0], *val[2], val[3] ] @context.in_block = val[1].in_block result end def _reduce_421(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_422(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_423(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_424(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_425(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_426(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_427(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_428(val, _values, result) result = @builder.call_method(val[0], val[1], val[2]) result end def _reduce_429(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_430(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_431(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_432(val, _values, result) result = @builder.keyword_cmd(:zsuper, val[0]) result end def _reduce_433(val, _values, result) result = @builder.index(val[0], val[1], val[2], val[3]) result end def _reduce_434(val, _values, result) result = @context.dup @context.in_block = true result end def _reduce_435(val, _values, result) result = [ val[0], *val[2], val[3] ] @context.in_block = val[1].in_block result end def _reduce_436(val, _values, result) result = @context.dup @context.in_block = true result end def _reduce_437(val, _values, result) result = [ val[0], *val[2], val[3] ] @context.in_block = val[1].in_block result end def _reduce_438(val, _values, result) @static_env.extend_dynamic @max_numparam_stack.push(static: false) result end def _reduce_439(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_440(val, _values, result) @static_env.extend_dynamic @max_numparam_stack.push(static: false) result end def _reduce_441(val, _values, result) @lexer.cmdarg.push(false) result end def _reduce_442(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_443(val, _values, result) result = [ @builder.when(val[0], val[1], val[2], val[3]), *val[4] ] result end def _reduce_444(val, _values, result) result = [ val[0] ] result end # reduce 445 omitted def _reduce_446(val, _values, result) @lexer.state = :expr_beg @lexer.command_start = false @pattern_variables.push @pattern_hash_keys.push result = @context.in_kwarg @context.in_kwarg = true result end def _reduce_447(val, _values, result) @pattern_variables.pop @pattern_hash_keys.pop @context.in_kwarg = val[1] result end def _reduce_448(val, _values, result) result = [ @builder.in_pattern(val[0], *val[2], val[3], val[5]), *val[6] ] result end def _reduce_449(val, _values, result) result = [ val[0] ] result end # reduce 450 omitted def _reduce_451(val, _values, result) result = [ val[0], nil ] result end def _reduce_452(val, _values, result) result = [ val[0], @builder.if_guard(val[1], val[2]) ] result end def _reduce_453(val, _values, result) result = [ val[0], @builder.unless_guard(val[1], val[2]) ] result end # reduce 454 omitted def _reduce_455(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_456(val, _values, result) result = @builder.array_pattern(nil, [val[0]].concat(val[2]), nil) result end def _reduce_457(val, _values, result) result = @builder.find_pattern(nil, val[0], nil) result end def _reduce_458(val, _values, result) result = @builder.array_pattern(nil, val[0], nil) result end def _reduce_459(val, _values, result) result = @builder.hash_pattern(nil, val[0], nil) result end # reduce 460 omitted def _reduce_461(val, _values, result) result = @builder.match_as(val[0], val[1], val[2]) result end # reduce 462 omitted def _reduce_463(val, _values, result) result = @builder.match_alt(val[0], val[1], val[2]) result end # reduce 464 omitted def _reduce_465(val, _values, result) result = val[0] @pattern_hash_keys.push result end def _reduce_466(val, _values, result) result = val[0] @pattern_hash_keys.push result end # reduce 467 omitted def _reduce_468(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_469(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_470(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_471(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_472(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_473(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_474(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_475(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_476(val, _values, result) result = @builder.array_pattern(val[0], val[1], val[2]) result end def _reduce_477(val, _values, result) result = @builder.find_pattern(val[0], val[1], val[2]) result end def _reduce_478(val, _values, result) result = @builder.array_pattern(val[0], [], val[1]) result end def _reduce_479(val, _values, result) @pattern_hash_keys.push result = @context.in_kwarg @context.in_kwarg = false result end def _reduce_480(val, _values, result) @pattern_hash_keys.pop @context.in_kwarg = val[1] result = @builder.hash_pattern(val[0], val[2], val[3]) result end def _reduce_481(val, _values, result) result = @builder.hash_pattern(val[0], [], val[1]) result end def _reduce_482(val, _values, result) @pattern_hash_keys.push result end def _reduce_483(val, _values, result) @pattern_hash_keys.pop result = @builder.begin(val[0], val[2], val[3]) result end def _reduce_484(val, _values, result) result = [ val[0] ] result end def _reduce_485(val, _values, result) result = val[0] result end def _reduce_486(val, _values, result) result = [ *val[0], val[1] ] result end def _reduce_487(val, _values, result) match_rest = @builder.match_rest(val[1], val[2]) result = [ *val[0], match_rest ] result end def _reduce_488(val, _values, result) match_rest = @builder.match_rest(val[1], val[2]) result = [ *val[0], match_rest, *val[4] ] result end def _reduce_489(val, _values, result) result = [ *val[0], @builder.match_rest(val[1]) ] result end def _reduce_490(val, _values, result) result = [ *val[0], @builder.match_rest(val[1]), *val[3] ] result end # reduce 491 omitted def _reduce_492(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_493(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_494(val, _values, result) result = [ val[0] ] result end def _reduce_495(val, _values, result) result = [ val[0], *val[2] ] result end def _reduce_496(val, _values, result) result = [ val[0], *val[2], val[4] ] result end def _reduce_497(val, _values, result) result = @builder.match_rest(val[0], val[1]) result end def _reduce_498(val, _values, result) result = @builder.match_rest(val[0]) result end def _reduce_499(val, _values, result) result = [ val[0] ] result end def _reduce_500(val, _values, result) result = [ *val[0], val[2] ] result end # reduce 501 omitted def _reduce_502(val, _values, result) result = [ *val[0], *val[2] ] result end def _reduce_503(val, _values, result) result = val[0] result end def _reduce_504(val, _values, result) result = val[0] result end def _reduce_505(val, _values, result) result = val[0] result end def _reduce_506(val, _values, result) result = [ val[0] ] result end def _reduce_507(val, _values, result) result = [ *val[0], val[2] ] result end def _reduce_508(val, _values, result) result = @builder.match_pair(*val[0], val[1]) result end def _reduce_509(val, _values, result) result = @builder.match_label(*val[0]) result end def _reduce_510(val, _values, result) result = [:label, val[0]] result end def _reduce_511(val, _values, result) result = [:quoted, [val[0], val[1], val[2]]] result end def _reduce_512(val, _values, result) result = [ @builder.match_rest(val[0], val[1]) ] result end def _reduce_513(val, _values, result) result = [ @builder.match_rest(val[0], nil) ] result end def _reduce_514(val, _values, result) result = [ @builder.match_nil_pattern(val[0], val[1]) ] result end # reduce 515 omitted # reduce 516 omitted # reduce 517 omitted def _reduce_518(val, _values, result) result = @builder.range_inclusive(val[0], val[1], val[2]) result end def _reduce_519(val, _values, result) result = @builder.range_exclusive(val[0], val[1], val[2]) result end def _reduce_520(val, _values, result) result = @builder.range_inclusive(val[0], val[1], nil) result end def _reduce_521(val, _values, result) result = @builder.range_exclusive(val[0], val[1], nil) result end # reduce 522 omitted # reduce 523 omitted # reduce 524 omitted def _reduce_525(val, _values, result) result = @builder.range_inclusive(nil, val[0], val[1]) result end def _reduce_526(val, _values, result) result = @builder.range_exclusive(nil, val[0], val[1]) result end # reduce 527 omitted # reduce 528 omitted # reduce 529 omitted # reduce 530 omitted # reduce 531 omitted # reduce 532 omitted # reduce 533 omitted # reduce 534 omitted def _reduce_535(val, _values, result) result = @builder.accessible(val[0]) result end # reduce 536 omitted def _reduce_537(val, _values, result) result = @builder.assignable(@builder.match_var(val[0])) result end def _reduce_538(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_539(val, _values, result) result = @builder.const_global(val[0], val[1]) result end def _reduce_540(val, _values, result) result = @builder.const_fetch(val[0], val[1], val[2]) result end def _reduce_541(val, _values, result) result = @builder.const(val[0]) result end def _reduce_542(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_543(val, _values, result) result = [] result end def _reduce_544(val, _values, result) result = [ val[0] ] result end # reduce 545 omitted # reduce 546 omitted def _reduce_547(val, _values, result) result = [ val[0], val[1] ] result end # reduce 548 omitted def _reduce_549(val, _values, result) result = [ val[0], val[1] ] result end # reduce 550 omitted # reduce 551 omitted # reduce 552 omitted def _reduce_553(val, _values, result) result = @builder.string_compose(nil, val[0], nil) result end def _reduce_554(val, _values, result) result = [ val[0] ] result end def _reduce_555(val, _values, result) result = val[0] << val[1] result end def _reduce_556(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_557(val, _values, result) string = @builder.string(val[0]) result = @builder.dedent_string(string, @lexer.dedent_level) result end def _reduce_558(val, _values, result) result = @builder.character(val[0]) result end def _reduce_559(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_560(val, _values, result) opts = @builder.regexp_options(val[3]) result = @builder.regexp_compose(val[0], val[1], val[2], opts) result end def _reduce_561(val, _values, result) result = @builder.words_compose(val[0], val[1], val[2]) result end def _reduce_562(val, _values, result) result = [] result end def _reduce_563(val, _values, result) result = val[0] << @builder.word(val[1]) result end def _reduce_564(val, _values, result) result = [ val[0] ] result end def _reduce_565(val, _values, result) result = val[0] << val[1] result end def _reduce_566(val, _values, result) result = @builder.symbols_compose(val[0], val[1], val[2]) result end def _reduce_567(val, _values, result) result = [] result end def _reduce_568(val, _values, result) result = val[0] << @builder.word(val[1]) result end def _reduce_569(val, _values, result) result = @builder.words_compose(val[0], val[1], val[2]) result end def _reduce_570(val, _values, result) result = @builder.symbols_compose(val[0], val[1], val[2]) result end def _reduce_571(val, _values, result) result = [] result end def _reduce_572(val, _values, result) result = val[0] << @builder.string_internal(val[1]) result end def _reduce_573(val, _values, result) result = [] result end def _reduce_574(val, _values, result) result = val[0] << @builder.symbol_internal(val[1]) result end def _reduce_575(val, _values, result) result = [] result end def _reduce_576(val, _values, result) result = val[0] << val[1] result end def _reduce_577(val, _values, result) result = [] result end def _reduce_578(val, _values, result) result = val[0] << val[1] result end def _reduce_579(val, _values, result) result = [] result end def _reduce_580(val, _values, result) result = val[0] << val[1] result end def _reduce_581(val, _values, result) result = @builder.string_internal(val[0]) result end def _reduce_582(val, _values, result) result = val[1] result end def _reduce_583(val, _values, result) @lexer.cmdarg.push(false) @lexer.cond.push(false) result end def _reduce_584(val, _values, result) @lexer.cmdarg.pop @lexer.cond.pop result = @builder.begin(val[0], val[2], val[3]) result end def _reduce_585(val, _values, result) result = @builder.gvar(val[0]) result end def _reduce_586(val, _values, result) result = @builder.ivar(val[0]) result end def _reduce_587(val, _values, result) result = @builder.cvar(val[0]) result end # reduce 588 omitted # reduce 589 omitted # reduce 590 omitted def _reduce_591(val, _values, result) @lexer.state = :expr_end result = @builder.symbol(val[0]) result end def _reduce_592(val, _values, result) @lexer.state = :expr_end result = @builder.symbol_compose(val[0], val[1], val[2]) result end def _reduce_593(val, _values, result) result = val[0] result end def _reduce_594(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_595(val, _values, result) @lexer.state = :expr_end result = @builder.integer(val[0]) result end def _reduce_596(val, _values, result) @lexer.state = :expr_end result = @builder.float(val[0]) result end def _reduce_597(val, _values, result) @lexer.state = :expr_end result = @builder.rational(val[0]) result end def _reduce_598(val, _values, result) @lexer.state = :expr_end result = @builder.complex(val[0]) result end def _reduce_599(val, _values, result) result = @builder.ident(val[0]) result end def _reduce_600(val, _values, result) result = @builder.ivar(val[0]) result end def _reduce_601(val, _values, result) result = @builder.gvar(val[0]) result end def _reduce_602(val, _values, result) result = @builder.const(val[0]) result end def _reduce_603(val, _values, result) result = @builder.cvar(val[0]) result end def _reduce_604(val, _values, result) result = @builder.nil(val[0]) result end def _reduce_605(val, _values, result) result = @builder.self(val[0]) result end def _reduce_606(val, _values, result) result = @builder.true(val[0]) result end def _reduce_607(val, _values, result) result = @builder.false(val[0]) result end def _reduce_608(val, _values, result) result = @builder.__FILE__(val[0]) result end def _reduce_609(val, _values, result) result = @builder.__LINE__(val[0]) result end def _reduce_610(val, _values, result) result = @builder.__ENCODING__(val[0]) result end def _reduce_611(val, _values, result) result = @builder.accessible(val[0]) result end def _reduce_612(val, _values, result) result = @builder.accessible(val[0]) result end def _reduce_613(val, _values, result) result = @builder.assignable(val[0]) result end def _reduce_614(val, _values, result) result = @builder.assignable(val[0]) result end def _reduce_615(val, _values, result) result = @builder.nth_ref(val[0]) result end def _reduce_616(val, _values, result) result = @builder.back_ref(val[0]) result end def _reduce_617(val, _values, result) @lexer.state = :expr_value result end def _reduce_618(val, _values, result) result = [ val[0], val[2] ] result end def _reduce_619(val, _values, result) result = nil result end # reduce 620 omitted def _reduce_621(val, _values, result) result = @builder.args(nil, [], nil) result end def _reduce_622(val, _values, result) result = @builder.args(val[0], val[1], val[2]) @lexer.state = :expr_value result end def _reduce_623(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_624(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 625 omitted def _reduce_626(val, _values, result) result = @context.in_kwarg @context.in_kwarg = true result end def _reduce_627(val, _values, result) @context.in_kwarg = val[0] result = @builder.args(nil, val[1], nil) result end def _reduce_628(val, _values, result) result = val[0].concat(val[2]).concat(val[3]) result end def _reduce_629(val, _values, result) result = val[0].concat(val[1]) result end def _reduce_630(val, _values, result) result = val[0].concat(val[1]) result end def _reduce_631(val, _values, result) result = [ val[0] ] result end def _reduce_632(val, _values, result) result = val[1] result end def _reduce_633(val, _values, result) result = [] 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[4]). concat(val[6]). concat(val[7]) result end def _reduce_636(val, _values, result) result = val[0]. concat(val[2]). concat(val[3]) result end def _reduce_637(val, _values, result) result = val[0]. concat(val[2]). concat(val[4]). concat(val[5]) 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[2]). concat(val[4]). concat(val[5]) result end def _reduce_643(val, _values, result) result = val[0]. concat(val[1]) result end def _reduce_644(val, _values, result) result = val[0]. concat(val[2]). concat(val[3]) result end def _reduce_645(val, _values, result) result = val[0]. concat(val[1]) result end def _reduce_646(val, _values, result) result = val[0]. concat(val[2]). concat(val[3]) result end def _reduce_647(val, _values, result) result = val[0] result end def _reduce_648(val, _values, result) result = [] result end def _reduce_649(val, _values, result) result = val[0] result end def _reduce_650(val, _values, result) diagnostic :error, :argument_const, nil, val[0] result end def _reduce_651(val, _values, result) diagnostic :error, :argument_ivar, nil, val[0] result end def _reduce_652(val, _values, result) diagnostic :error, :argument_gvar, nil, val[0] result end def _reduce_653(val, _values, result) diagnostic :error, :argument_cvar, nil, val[0] result end # reduce 654 omitted def _reduce_655(val, _values, result) @static_env.declare val[0][0] @max_numparam_stack.has_ordinary_params! result = val[0] result end def _reduce_656(val, _values, result) @current_arg_stack.set(val[0][0]) result = val[0] result end def _reduce_657(val, _values, result) @current_arg_stack.set(0) result = @builder.arg(val[0]) result end def _reduce_658(val, _values, result) result = @builder.multi_lhs(val[0], val[1], val[2]) result end def _reduce_659(val, _values, result) result = [ val[0] ] result end def _reduce_660(val, _values, result) result = val[0] << val[2] result end def _reduce_661(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_662(val, _values, result) @current_arg_stack.set(nil) result = @builder.kwoptarg(val[0], val[1]) result end def _reduce_663(val, _values, result) @current_arg_stack.set(nil) result = @builder.kwarg(val[0]) result end def _reduce_664(val, _values, result) result = @builder.kwoptarg(val[0], val[1]) result end def _reduce_665(val, _values, result) result = @builder.kwarg(val[0]) result end def _reduce_666(val, _values, result) result = [ val[0] ] result end def _reduce_667(val, _values, result) result = val[0] << val[2] result end def _reduce_668(val, _values, result) result = [ val[0] ] result end def _reduce_669(val, _values, result) result = val[0] << val[2] result end # reduce 670 omitted # reduce 671 omitted def _reduce_672(val, _values, result) result = [ @builder.kwnilarg(val[0], val[1]) ] result end def _reduce_673(val, _values, result) @static_env.declare val[1][0] result = [ @builder.kwrestarg(val[0], val[1]) ] result end def _reduce_674(val, _values, result) result = [ @builder.kwrestarg(val[0]) ] result end def _reduce_675(val, _values, result) @current_arg_stack.set(0) result = @builder.optarg(val[0], val[1], val[2]) result end def _reduce_676(val, _values, result) @current_arg_stack.set(0) result = @builder.optarg(val[0], val[1], val[2]) result end def _reduce_677(val, _values, result) result = [ val[0] ] result end def _reduce_678(val, _values, result) result = val[0] << val[2] result end def _reduce_679(val, _values, result) result = [ val[0] ] result end def _reduce_680(val, _values, result) result = val[0] << val[2] result end # reduce 681 omitted # reduce 682 omitted def _reduce_683(val, _values, result) @static_env.declare val[1][0] result = [ @builder.restarg(val[0], val[1]) ] result end def _reduce_684(val, _values, result) result = [ @builder.restarg(val[0]) ] result end # reduce 685 omitted # reduce 686 omitted def _reduce_687(val, _values, result) @static_env.declare val[1][0] result = @builder.blockarg(val[0], val[1]) result end 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[1] result end def _reduce_692(val, _values, result) result = [] result end # reduce 693 omitted def _reduce_694(val, _values, result) result = [ val[0] ] result end def _reduce_695(val, _values, result) result = val[0] << val[2] result end def _reduce_696(val, _values, result) result = @builder.pair(val[0], val[1], val[2]) result end def _reduce_697(val, _values, result) result = @builder.pair_keyword(val[0], val[1]) result end def _reduce_698(val, _values, result) result = @builder.pair_quoted(val[0], val[1], val[2], val[3]) result end def _reduce_699(val, _values, result) result = @builder.kwsplat(val[0], val[1]) result end # 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 # reduce 709 omitted # reduce 710 omitted # reduce 711 omitted def _reduce_712(val, _values, result) result = [:dot, val[0][1]] result end def _reduce_713(val, _values, result) result = [:anddot, val[0][1]] result end # reduce 714 omitted # reduce 715 omitted # reduce 716 omitted # reduce 717 omitted def _reduce_718(val, _values, result) result = val[1] result end def _reduce_719(val, _values, result) result = val[1] result end def _reduce_720(val, _values, result) result = val[1] result end # reduce 721 omitted # reduce 722 omitted # reduce 723 omitted def _reduce_724(val, _values, result) yyerrok result end # reduce 725 omitted # reduce 726 omitted # reduce 727 omitted def _reduce_728(val, _values, result) result = nil result end def _reduce_none(val, _values, result) val[0] end end # class Ruby30 end # module Parser