# -*- 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 Ruby27 < Parser::Base def version 27 end def default_encoding Encoding::UTF_8 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 # 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 = [ '-304,559,-113,-112,536,-111,-106,-304,-304,-304,281,559,-304,-304,-304', '-703,-304,281,-108,228,-114,815,218,219,-304,887,-304,-304,-304,600', '1093,-107,1026,602,857,-107,-304,-304,559,-304,-304,-304,-304,-304,752', '-588,218,219,-114,917,-106,559,-588,-112,559,229,218,219,622,876,229', '978,-109,-113,229,559,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304', '-304,-304,-304,-304,-691,-110,-304,-304,-304,-111,813,-304,-108,-113', '-304,747,874,-304,-304,599,-304,280,-304,601,-304,-109,-304,-304,280', '-304,-304,-304,-304,-304,-588,-304,1094,-304,1027,-97,229,-111,-691', '123,-113,-112,896,-111,122,-113,-112,-304,-111,123,-304,-304,-304,-304', '122,-304,-108,-304,-114,-694,229,-108,-304,-114,-98,-112,-694,-694,-694', '-107,229,-694,-694,-694,-107,-694,123,-105,-690,872,-703,122,-103,-694', '-694,-694,-694,-694,-106,123,977,-100,123,-106,122,-694,-694,122,-694', '-694,-694,-694,-694,123,101,102,870,-99,122,-100,281,-102,281,566,-102', '123,229,-99,-104,-110,122,752,-110,815,-110,-694,-694,-694,-694,-694', '-694,-694,-694,-694,-694,-694,-694,-694,-694,-109,885,-694,-694,-694', '-109,812,-694,815,-703,-694,218,219,-694,-694,868,-694,-591,-694,886', '-694,797,-694,-694,-591,-694,-694,-694,-694,-694,1085,-694,-694,-694', '-99,276,-100,276,-102,587,101,102,-101,103,104,229,1032,-694,-690,587', '-694,-694,-694,-694,-489,-694,-598,-694,280,-591,280,661,-694,-598,1031', '-110,-591,-591,-591,218,219,-591,-591,-591,-99,-591,-100,-99,-102,-100', '-108,-102,-591,-591,572,-591,-591,-591,834,-99,868,-100,-101,-102,87', '-591,-591,865,-591,-591,-591,-591,-591,589,588,123,88,-690,-101,587', '122,572,857,589,588,834,89,-597,103,104,1101,-598,810,783,-597,-591', '-591,-591,-591,-591,-591,-591,-591,-591,-591,-591,-591,-591,-591,250', '224,-591,-591,-591,226,-591,-591,1122,-101,-591,-602,-101,-591,-591', '587,-591,1120,-591,587,-591,698,-591,-591,-101,-591,-591,-591,-591,-591', '-599,-591,-588,-591,589,588,598,-599,-603,-588,-588,-588,-109,-597,-588', '-588,-588,-591,-588,123,-591,-591,-591,-591,122,-591,-588,-591,-588', '-588,-588,464,-591,572,-114,-591,225,573,-588,-588,-106,-588,-588,-588', '-588,-588,276,-703,-92,589,588,585,587,589,588,587,549,123,587,551,-78', '587,122,781,229,-599,684,-107,-588,-588,-588,-588,-588,-588,-588,-588', '-588,-588,-588,-588,-588,-588,276,536,-588,-588,-588,587,-588,-588,-114', '857,-588,566,587,-588,-588,918,-588,-596,-588,229,-588,621,-588,-588', '-596,-588,-588,-588,-588,-588,811,-588,-602,-588,589,588,592,589,588', '585,589,588,590,589,588,585,944,-588,-104,-593,-588,-588,-588,-588,1101', '-588,-593,-588,-603,-694,-113,549,-588,698,548,-588,-694,-694,-694,589', '588,603,-694,-694,-108,-694,589,588,594,-97,-109,224,-596,-694,-694', '-594,-595,549,569,-111,551,-106,-594,-595,511,-694,-694,567,-694,-694', '-694,-694,-694,549,509,-98,551,724,224,721,720,719,729,722,-593,575', '224,-107,229,218,219,1154,732,274,577,-694,-694,-694,-694,-694,-694', '-694,-694,-694,-694,-694,-694,-694,-694,-694,621,-694,-694,-694,727', '627,225,828,829,-694,-594,-595,-694,737,736,740,739,-694,123,-694,733', '-694,-694,122,-694,-694,-694,-694,-694,-304,-694,-694,-694,225,1083', '1084,-304,-304,-304,267,268,225,-304,-304,847,-304,-694,-100,845,-694', '-694,-694,-101,-304,-694,224,891,857,-694,-109,909,-694,274,-690,-110', '-304,-304,-694,-304,-304,-304,-304,-304,951,622,266,265,724,224,721', '720,719,729,722,821,1117,-694,740,739,817,891,857,732,818,577,-304,-304', '-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-688,226', '-304,-304,-304,727,626,-694,229,845,-304,225,-102,-304,737,736,740,739', '-304,843,-304,733,-304,-304,-111,-304,-304,-304,-304,-304,-304,-304', '935,-304,225,411,698,-304,-304,-304,413,412,732,-304,-304,270,-304,-304', '-105,970,-304,-304,-591,-103,-304,-304,837,250,123,-591,-114,909,-304', '122,-688,-112,-304,-304,-591,-304,-304,-304,-304,-304,-277,224,123,974', '836,-305,733,122,614,229,833,816,-305,-688,815,247,229,612,943,249,248', '-305,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304', '-304,495,935,-304,-304,-304,-304,626,-591,995,996,-304,732,-304,-304', '495,229,999,-691,-304,797,-304,-304,-304,-304,798,-304,-304,-304,-304', '-304,225,-304,-694,-304,-305,1001,-278,785,784,-694,-694,-694,729,780', '1009,-694,-694,-304,-694,733,-304,-304,732,-304,1010,-304,-694,-694', '770,250,753,943,-304,1013,229,-112,-99,1015,-694,-694,-304,-694,-694', '-694,-694,-694,229,224,-108,749,1019,-305,-280,748,223,740,739,743,-305', '706,733,247,229,221,229,249,248,-305,-694,-694,-694,-694,-694,-694,-694', '-694,-694,-694,-694,-694,-694,-694,229,704,-694,-694,-694,1025,627,703', '224,1028,-694,698,542,-694,229,461,229,229,-694,229,-694,229,-694,-694', '462,-694,-694,-694,-694,-694,225,-694,-694,-694,-305,1114,-304,721,720', '719,687,722,224,-304,-92,1040,868,-694,-691,1117,-694,-694,-304,-694', '868,-694,-343,1044,577,1046,1048,1050,-694,-343,229,-110,303,79,80,81', '11,62,-343,225,1052,68,69,1053,229,229,72,-687,70,71,73,32,33,77,78', '126,127,128,129,130,82,30,29,111,110,112,113,-304,724,21,721,720,719', '225,722,10,50,305,12,115,114,116,105,61,107,106,108,-343,109,117,118', '-600,101,102,46,47,45,-601,-600,-588,229,224,672,1066,-601,878,-588', '-600,529,868,886,-687,1068,-601,882,-588,42,527,1070,35,1072,1074,63', '64,-295,1074,65,229,37,229,250,-295,49,1114,-687,721,720,719,250,722', '-295,22,250,250,1089,631,99,87,90,91,770,92,94,93,95,815,-600,1092,276', '88,98,1095,-601,620,-588,619,225,67,815,89,103,104,229,615,43,44,303', '79,80,81,11,62,611,610,-277,68,69,608,1111,-295,72,607,70,71,73,32,33', '77,78,242,604,579,1118,571,82,30,29,111,110,112,113,775,776,21,570,777', '117,118,403,10,50,305,12,115,114,116,105,61,107,106,108,566,109,117', '118,1123,101,102,46,47,45,250,254,255,256,257,267,268,262,263,258,259', '224,243,244,511,553,260,261,538,42,552,3,35,729,229,63,64,462,250,65', '1130,37,247,732,253,49,249,248,1131,245,246,266,265,251,22,252,539,533', '276,99,87,90,91,229,92,94,93,95,229,285,1139,530,88,98,523,264,740,739', '1142,868,67,733,89,103,104,1144,225,43,44,303,79,80,81,11,62,1146,1148', '1150,68,69,1150,1150,522,72,229,70,71,73,32,33,77,78,126,127,128,129', '130,82,30,29,111,110,112,113,703,-77,21,132,511,509,1163,616,10,50,305', '12,115,114,116,105,61,107,106,108,1164,109,117,118,1165,101,102,46,47', '45,250,254,255,256,257,267,268,262,263,258,259,1074,243,244,1074,1074', '260,261,507,42,495,228,307,1173,466,63,64,1142,1142,65,465,37,247,463', '253,49,249,248,414,245,246,266,265,251,22,252,229,330,329,99,87,90,91', '-691,92,94,93,95,-690,229,270,220,88,98,217,264,216,-250,1131,215,67', '1142,89,103,104,1186,1150,43,44,303,79,80,81,11,62,1150,1150,132,68', '69,1074,119,229,72,904,70,71,73,32,33,77,78,126,127,128,129,130,82,30', '29,111,110,112,113,-279,229,21,229,894,893,857,616,10,50,305,12,115', '114,116,105,61,107,106,108,888,109,117,118,,101,102,46,47,45,250,254', '255,256,257,267,268,262,263,258,259,,243,244,,,260,261,,42,,,35,,,63', '64,,,65,,37,247,,253,49,249,248,,245,246,266,265,251,22,252,,,,99,87', '90,91,,92,94,93,95,,,,,88,98,,264,,,,,67,,89,103,104,,,43,44,303,79', '80,81,11,62,,,,68,69,,,,72,,70,71,73,32,33,77,78,126,127,128,129,130', '82,30,29,111,110,112,113,,724,21,721,720,719,,722,10,50,305,12,115,114', '116,105,61,107,106,108,,109,117,118,,101,102,46,47,45,250,254,255,256', '257,267,268,262,263,258,259,,243,244,,,260,261,,42,,,35,,,63,64,,,65', ',37,247,,253,49,249,248,,245,246,266,265,251,22,252,,,,99,87,90,91,', '92,94,93,95,,,,,88,98,229,264,,,,,67,,89,103,104,,,43,44,303,79,80,81', '11,62,,,,68,69,,,,72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110,112', '113,,,21,,,,,,10,50,305,12,115,114,116,105,61,107,106,108,,109,117,118', ',101,102,46,47,45,250,254,255,256,257,267,268,262,263,258,259,,243,244', ',,260,261,,42,,,35,,,63,64,,,65,,37,247,,253,49,249,248,,245,246,266', '265,251,22,252,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,264,,,,,67,,89', '103,104,,,43,44,303,79,80,81,11,62,,,,68,69,,,,72,,70,71,73,32,33,77', '78,,,,,,82,30,29,111,110,112,113,,,21,,,,,,10,50,305,12,115,114,116', '105,61,107,106,108,,109,117,118,,101,102,46,47,45,250,254,255,256,257', '267,268,262,263,258,259,,243,244,,,260,261,,42,,,35,,,63,64,,,65,,37', '247,,253,49,249,248,,245,246,266,265,251,22,252,,,,99,87,90,91,,92,94', '93,95,,,,,88,98,,264,,,,,67,,89,103,104,,,43,44,303,79,80,81,11,62,', ',,68,69,,,,72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110,112,113,,', '21,,,,,,10,50,305,12,115,114,116,105,61,107,106,108,,109,117,118,,101', '102,46,47,45,250,254,255,256,257,267,268,262,263,258,259,,243,244,,', '260,261,,42,,,35,,,63,64,,,65,,37,247,,253,49,249,248,,245,246,266,265', '251,22,252,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,264,,,,,67,,89,103', '104,,,43,44,303,79,80,81,11,62,,,,68,69,,,,72,,70,71,73,32,33,77,78', ',,,,,82,30,29,111,110,112,113,,,21,,,,,,10,50,305,12,115,114,116,105', '61,107,106,108,,109,117,118,,101,102,46,47,45,250,254,255,256,257,267', '268,262,263,258,259,,243,244,,,260,261,,42,,,35,,,63,64,,,65,,37,247', ',253,49,249,248,,245,246,266,265,251,22,252,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,,264,,,,,67,,89,103,104,,,43,44,7,79,80,81,11,62,,,,68', '69,,,,72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110,112,113,,724,21', '721,720,719,,722,10,50,9,12,115,114,116,105,61,107,106,108,,109,117', '118,,101,102,46,47,45,724,,721,720,719,,722,,878,,724,,721,720,719,', '722,882,,42,,,35,,,63,64,,250,65,,37,,,,49,,878,,724,,721,720,719,22', '722,882,878,,99,87,90,91,,92,94,93,95,,,247,,88,98,249,248,,245,246', ',67,,89,103,104,,878,43,44,303,79,80,81,11,62,,,,68,69,,,,72,,70,71', '73,32,33,77,78,,,,,,82,30,29,111,110,112,113,,,21,,,,,,10,50,305,12', '115,114,116,105,61,107,106,108,,109,117,118,,101,102,46,47,45,250,254', '255,256,257,267,268,262,263,258,259,,-716,-716,,,260,261,,42,,,35,,', '63,64,,250,65,,37,247,,253,49,249,248,,245,246,266,265,251,22,252,,', ',99,87,90,91,,92,94,93,95,,,247,,88,98,249,248,,245,246,,67,,89,103', '104,,,43,44,303,79,80,81,11,62,,,,68,69,,,,72,,70,71,73,32,33,77,78', ',,,,,82,30,29,111,110,112,113,,,21,,,,,,10,50,305,12,115,114,116,105', '61,107,106,108,,109,117,118,,101,102,46,47,45,250,254,255,256,257,267', '268,262,263,258,259,,-716,-716,,,260,261,,42,,,35,,,63,64,,,65,,37,247', ',253,49,249,248,,245,246,266,265,251,22,252,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,,724,,721,720,719,67,722,89,103,104,,,43,44,7,79,80,81', '11,62,,,,68,69,,,,72,,70,71,73,32,33,77,78,878,,,,,82,30,29,111,110', '112,113,,,21,,,,,,10,50,9,12,115,114,116,105,61,107,106,108,,109,117', '118,,101,102,46,47,45,250,254,255,256,257,267,268,262,,258,259,,,,,', '260,261,,42,,,35,,,63,64,,,65,,37,247,,253,49,249,248,,245,246,266,265', '251,22,252,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,,67,,89,103,104', ',,43,44,303,79,80,81,11,62,,,,68,69,,,,72,,70,71,73,32,33,77,78,,,,', ',82,30,29,111,110,112,113,,,21,,,,,,10,50,305,12,115,114,116,105,61', '107,106,108,,109,117,118,,101,102,46,47,45,250,254,255,256,257,267,268', '262,263,258,259,,-716,-716,,,260,261,,42,,,35,,,63,64,,,65,,37,247,', '253,49,249,248,,245,246,266,265,251,22,252,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,,,,,,,67,,89,103,104,,,43,44,303,79,80,81,11,62,,,,68,69', ',,,72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110,112,113,,,21,,,,,', '10,50,305,12,115,114,116,105,61,107,106,108,,109,117,118,,101,102,46', '47,45,250,254,255,256,257,267,268,,,258,259,,,,,,260,261,,42,,,35,,', '63,64,,,65,,37,247,,253,49,249,248,,245,246,266,265,251,22,252,,,,99', '87,90,91,,92,94,93,95,,,,,88,98,,,,,,,67,,89,103,104,,,43,44,303,79', '80,81,11,62,,,,68,69,,,,72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110', '112,113,,,21,,,,,,10,50,305,12,115,114,116,105,61,107,106,108,,109,117', '118,,101,102,46,47,45,250,,,,,,,,,,,,,,,,260,261,,42,,,35,,,63,64,,', '65,,37,247,,253,49,249,248,,245,246,,,251,22,252,,,,99,87,90,91,,92', '94,93,95,,,,,88,98,,,,,,,67,,89,103,104,,,43,44,303,79,80,81,11,62,', ',,68,69,,,,72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110,112,113,,', '21,,,,,,10,50,305,12,115,114,116,105,61,107,106,108,,109,117,118,,101', '102,46,47,45,250,,,,,,,,,,,,,,,,260,261,,42,,,35,,,63,64,,,65,,37,247', ',253,49,249,248,,245,246,,,251,22,252,,,,99,87,90,91,,92,94,93,95,,', ',,88,98,,,,,,,67,,89,103,104,,,43,44,303,79,80,81,11,62,,,,68,69,,,', '72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110,112,113,,,21,,,,,,10', '50,305,12,115,114,116,105,61,107,106,108,,109,117,118,,101,102,46,47', '45,250,254,255,256,257,267,268,262,263,258,259,,-716,-716,,,260,261', ',42,,,35,,,63,64,,,65,,37,247,,253,49,249,248,,245,246,266,265,251,22', '252,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,,67,,89,103,104,,,43', '44,303,79,80,81,11,62,,,,68,69,,,,72,,70,71,73,32,33,77,78,,,,,,82,30', '29,111,110,112,113,,,21,,,,,,10,50,305,12,115,114,116,105,61,107,106', '108,,109,117,118,,101,102,46,47,45,250,-716,-716,-716,-716,267,268,', ',-716,-716,,,,,,260,261,,42,,,35,,,63,64,,,65,,37,247,,253,49,249,248', ',245,246,266,265,251,22,252,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,', ',,,,67,,89,103,104,,,43,44,303,79,80,81,11,62,,,,68,69,,,,72,,70,71', '73,32,33,77,78,,,,,,82,30,29,111,110,112,113,,,21,,,,,,10,50,305,12', '115,114,116,105,61,107,106,108,,109,117,118,,101,102,46,47,45,250,-716', '-716,-716,-716,267,268,,,-716,-716,,,,,,260,261,,42,,,307,,,63,64,,', '65,,37,247,,253,49,249,248,,245,246,266,265,251,22,252,,,,99,87,90,91', ',92,94,93,95,,,,,88,98,,,,,,,67,,89,103,104,,,43,44,303,79,80,81,11', '62,,,,68,69,,,,72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110,112,113', ',,21,,,,,,10,50,305,12,115,114,116,105,61,107,106,108,,109,117,118,', '101,102,46,47,45,250,-716,-716,-716,-716,267,268,,,-716,-716,,,,,,260', '261,,42,,,35,,,63,64,,,65,,37,247,,253,49,249,248,,245,246,266,265,251', '22,252,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,,67,,89,103,104,,', '43,44,303,79,80,81,11,62,,,,68,69,,,,72,,70,71,73,32,33,77,78,,,,,,82', '30,29,111,110,112,113,,,21,,,,,,10,50,305,12,115,114,116,105,61,107', '106,108,,109,117,118,,101,102,46,47,45,250,-716,-716,-716,-716,267,268', ',,-716,-716,,,,,,260,261,,42,,,35,,,63,64,,,65,,37,247,,253,49,249,248', ',245,246,266,265,251,22,252,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,', ',,,,67,,89,103,104,,,43,44,303,79,80,81,11,62,,,,68,69,,,,72,,70,71', '73,32,33,77,78,,,,,,82,30,29,111,110,112,113,,,21,,,,,,10,50,305,12', '115,114,116,105,61,107,106,108,,109,117,118,,101,102,46,47,45,250,-716', '-716,-716,-716,267,268,,,-716,-716,,,,,,260,261,,42,,,35,,,63,64,,,65', ',37,247,,253,49,249,248,,245,246,266,265,251,22,252,,,,99,87,90,91,', '92,94,93,95,,,,,88,98,,,,,,,67,,89,103,104,,,43,44,303,79,80,81,11,62', ',,,68,69,,,,72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110,112,113,', ',21,,,,,,10,50,305,12,115,114,116,105,61,107,106,108,,109,117,118,,101', '102,46,47,45,250,-716,-716,-716,-716,267,268,,,-716,-716,,,,,,260,261', ',42,,,35,,,63,64,,,65,,37,247,,253,49,249,248,,245,246,266,265,251,22', '252,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,,67,,89,103,104,,,43', '44,303,79,80,81,11,62,,,,68,69,,,,72,,70,71,73,32,33,77,78,,,,,,82,30', '29,111,110,112,113,,,21,,,,,,10,50,305,12,115,114,116,105,61,107,106', '108,,109,117,118,,101,102,46,47,45,250,,,,,,,,,,,,,,,,260,261,,42,,', '35,,,63,64,,,65,,37,247,,253,49,249,248,,245,246,,,,22,,,,,99,87,90', '91,,92,94,93,95,,,,,88,98,,,,,,,67,,89,103,104,,,43,44,303,79,80,81', '11,62,,,,68,69,,,,72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110,112', '113,,,21,,,,,,10,50,305,12,115,114,116,105,61,107,106,108,,109,117,118', ',101,102,46,47,45,250,,,,,,,,,,,,,,,,260,261,,42,,,35,,,63,64,,,65,', '37,247,,253,49,249,248,,245,246,,,,22,,,,,99,87,90,91,,92,94,93,95,', ',,,88,98,,,,,,,67,,89,103,104,,,43,44,303,79,80,81,11,62,,,,68,69,,', ',72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110,112,113,,,21,,,,,,10', '50,305,12,115,114,116,105,61,107,106,108,,109,117,118,,101,102,46,47', '45,250,,,,,,,,,,,,,,,,260,261,,42,,,307,,,63,64,,,65,,37,247,,,49,249', '248,,245,246,,,,22,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,,67,', '89,103,104,,,43,44,303,79,80,81,11,62,,,,68,69,,,,72,,70,71,73,32,33', '77,78,,,,,,82,30,29,111,110,112,113,,,21,,,,,,10,50,305,12,115,114,116', '105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,', ',42,,,35,,,63,64,,,65,,37,,,,49,,,,,,,,,22,,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,,,,,,,67,,89,103,104,,,43,44,303,79,80,81,11,62,,,,68,69', ',,,72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110,112,113,,,21,,,,,', '10,50,305,12,115,114,116,105,61,107,106,108,,109,117,118,,101,102,46', '47,45,,,,,,,,,,,,,,,,,,,,42,,,35,,,63,64,,,65,,37,,,,49,,,,,,,,,22,', ',,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68', '69,43,44,,72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110,112,113,,,21', ',,,,,,50,,,115,114,116,105,61,107,106,108,,109,117,118,,101,102,46,47', '45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,22,,,,', '99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,,67,,89,103,104,,,43,44,79,80', '81,11,62,,,,68,69,,,,72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110', '112,113,,,21,,,,,,10,50,9,12,115,114,116,105,61,107,106,108,,109,117', '118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,42,,,35,,,63,64,,,65,,37,,', ',49,,,,,,,,,22,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67', '62,89,103,104,68,69,43,44,,72,,70,71,73,32,33,77,78,,,,,,82,30,29,111', '110,112,113,,,241,,,,,,,50,,,115,114,116,105,61,107,106,108,,109,117', '118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,', ',49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,,67,,89', '103,104,-424,,43,44,,,,-424,-424,-424,,,-424,-424,-424,,-424,,,,,,,', '-424,-424,-424,-424,,,,,,,,,-424,-424,,-424,-424,-424,-424,-424,,,,', ',,,,,,,,,,,,,,,,,,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424', '-424,-424,-424,-424,,,-424,-424,-424,,,-424,,276,-424,,,-424,-424,,-424', ',-424,,-424,,-424,-424,,-424,-424,-424,-424,-424,-311,-424,-424,-424', ',,,-311,-311,-311,,,-311,-311,-311,,-311,-424,,,-424,-424,,-424,-311', '-424,-311,-311,,,,,-424,,,,-311,-311,,-311,-311,-311,-311,-311,,,,,', ',,,,,,,,,,,,,,,,,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311', '-311,-311,-311,,,-311,-311,-311,,,-311,,285,-311,,,-311,-311,,-311,', '-311,,-311,,-311,-311,,-311,-311,-311,-311,-311,,-311,,-311,,,,,,,,', ',,,,,-311,,,-311,-311,,-311,,-311,79,80,81,,62,,-311,,68,69,,,,72,,70', '71,73,32,33,77,78,,,,,,82,30,29,111,110,112,113,,,241,,,,,,,50,,,115', '114,116,105,61,107,106,108,297,109,117,118,,101,102,46,47,45,,,,,,,', ',,,,,,,,,,,,234,,,240,,,63,64,,,65,,294,,292,,49,,,298,,,,,,239,,,,', '99,295,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68', '69,43,44,,72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110,112,113,,,241', ',,,,,,50,,,115,114,116,105,61,107,106,108,297,109,117,118,,101,102,46', '47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,294,,292,,49,,,298', ',,,,,239,,,,,99,295,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89', '103,104,68,69,43,44,,72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110', '112,113,,,241,,,,,,,50,,,115,114,116,105,61,107,106,108,297,109,117', '118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,294', ',292,,49,,,298,,,,,,239,,,,,99,295,90,91,,92,94,93,95,,,,,88,98,,,,79', '80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,322,323,77,78,,,,,', '82,319,325,111,110,112,113,,,241,,,,,,,50,,,115,114,116,105,61,107,106', '108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63', '64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,', ',,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,322,323,77,78', ',,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,,,115,114,116,105,61', '107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,', '240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,', ',,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,322,323', '77,78,,,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,,,115,114,116,105', '61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234', ',,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95', ',,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,322', '323,77,78,,,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,,,115,114,116', '105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,', ',234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73', '322,323,77,78,,,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,,,115,114', '116,105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,', ',,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92', '94,93,95,,,,,88,98,,,,,,,67,,89,103,104,-296,,43,44,,,,-296,-296,-296', ',,-296,-296,-296,,-296,,,,,,,,-296,,-296,-296,-296,,,,111,110,112,113', '-296,-296,,-296,-296,-296,-296,-296,,,,,115,114,116,,,,,,,,,,,101,102', ',,326,-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,,99,87,90,91,,92,94,93,95', ',,,-296,88,98,-296,-296,-296,-296,,-296,660,-296,89,103,104,,-296,79', '80,81,11,62,,,,68,69,,,,72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110', '112,113,,,21,,,,,,10,50,,12,115,114,116,105,61,107,106,108,,109,117', '118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,42,,,35,,,63,64,,,65,,37,,', ',49,,,,,,,,,22,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67', '62,89,103,104,68,69,43,44,,72,,70,71,73,322,323,77,78,,,,,,82,319,325', '111,110,112,113,,,241,,,,,,,50,,,115,114,116,105,61,107,106,108,297', '109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,', ',65,,294,,,,49,,,298,,,,,,239,,,,,99,295,90,91,,92,94,93,95,,,,,88,98', ',,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,322,323,77,78', ',,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,,,115,114,116,105,61', '107,106,108,297,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234', ',,240,,,63,64,,,65,,,,,,49,,,298,,,,,,239,,,,,99,295,90,91,,92,94,93', '95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73', '32,33,77,78,,,,,,82,30,29,111,110,112,113,,,21,,,,,,,50,,,115,114,116', '105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,', ',234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,22,,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73', '32,33,77,78,,,,,,82,30,29,111,110,112,113,,,21,,,,,,,50,,,115,114,116', '105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,', ',234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,22,,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73', '32,33,77,78,,,,,,82,30,29,111,110,112,113,,,21,,,,,,,50,,,115,114,116', '105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,', ',234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,22,,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,123,,,,,122,67,,89,103,104,,,43,44,79,80,81,11,62,,,,68', '69,,,,72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110,112,113,,,21,,', ',,,10,50,9,12,115,114,116,105,61,107,106,108,,109,117,118,,101,102,46', '47,45,,,,,,,,,,,,,,,,,,,,42,,,35,,,63,64,,,65,,37,,,,49,,,,,,,,,22,', ',,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,403,67,,89,103,104,,,43,44', '79,80,81,,62,,,,68,69,,,,72,,70,71,73,32,33,77,78,,,,,,82,30,29,111', '110,112,113,,,21,,,,,,,50,,,115,114,116,105,61,107,106,108,,109,117', '118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,', ',49,,,,,,,,,22,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67', '62,89,103,104,68,69,43,44,,72,,70,71,73,32,33,77,78,,,,,,82,30,29,111', '110,112,113,,,21,,,,,,,50,,,115,114,116,105,61,107,106,108,,109,117', '118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,', ',49,,,,,,,,,22,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67', '62,89,103,104,68,69,43,44,,72,,70,71,73,32,33,77,78,,,,,,82,30,29,111', '110,112,113,,,21,,,,,,,50,,,115,114,116,105,61,107,106,108,,109,117', '118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,', ',49,,,,,,,,,22,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67', '62,89,103,104,68,69,43,44,,72,,70,71,73,32,33,77,78,,,,,,82,30,29,111', '110,112,113,,,21,,,,,,,50,,,115,114,116,105,61,107,106,108,,109,117', '118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,', ',49,,,,,,,,,22,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,,67,,89,103', '104,,,43,44,79,80,81,11,62,,,,68,69,,,,72,,70,71,73,32,33,77,78,,,,', ',82,30,29,111,110,112,113,,,21,,,,,,10,50,,12,115,114,116,105,61,107', '106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,42,,,35,,', '63,64,,,65,,37,,,,49,,,,,,,,,22,,,,,99,87,90,91,,92,94,93,95,,,,,88', '98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,32,33,77,78', ',,,,,82,30,29,111,110,112,113,,,241,,,,,,,50,,,115,114,116,105,61,107', '106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240', ',,63,64,,,65,,419,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,', ',88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,32,33', '77,78,,,,,,82,30,29,111,110,112,113,,,241,,,,,,,50,,,115,114,116,105', '61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234', ',,240,,,63,64,,,65,,419,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73', '32,33,77,78,,,,,,82,30,29,111,110,112,113,,,21,,,,,,,50,,,115,114,116', '105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,', ',234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,22,,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73', '32,33,77,78,,,,,,82,30,29,111,110,112,113,,,21,,,,,,,50,,,115,114,116', '105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,', ',234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,22,,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73', '32,33,77,78,,,,,,82,30,29,111,110,112,113,,,241,,,,,,,50,,,115,114,116', '105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,', ',234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73', '32,33,77,78,,,,,,82,30,29,111,110,112,113,,,241,,,,,,,50,,,115,114,116', '105,61,107,106,108,297,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,', ',,,,234,,,240,,,63,64,,,65,,294,,292,,49,,,298,,,,,,239,,,,,99,295,90', '91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,', '72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110,112,113,,,241,,,,,,,50', ',,115,114,116,105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,', ',,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87', '90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44', ',72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110,112,113,,,21,,,,,,,50', ',,115,114,116,105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,', ',,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,22,,,,,99,87,90', '91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,', '72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110,112,113,,,21,,,,,,,50', ',,115,114,116,105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,', ',,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,22,,,,,99,87,90', '91,,92,94,93,95,,,,,88,98,229,,,79,80,81,67,62,89,103,104,68,69,43,44', ',72,,70,71,73,322,323,77,78,,,,,,82,319,325,111,110,112,113,,,241,,', ',,,,50,,,115,114,116,105,61,107,106,108,,109,117,118,,101,102,46,47', '45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,', ',99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68', '69,43,44,,72,,70,71,73,322,323,77,78,,,,,,82,319,325,111,110,112,113', ',,241,,,,,,,50,,,115,114,116,105,61,107,106,108,,109,117,118,,101,102', '46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239', ',,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104', '68,69,43,44,,72,,70,71,73,322,323,77,78,,,,,,82,319,325,111,110,112', '113,,,241,,,,,,,50,,,115,114,116,105,61,107,106,108,,109,117,118,,101', '102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,', ',,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103', '104,68,69,43,44,,72,,70,71,73,322,323,77,78,,,,,,82,319,325,111,110', '112,113,,,241,,,,,,,50,,,115,114,116,105,61,107,106,108,,109,117,118', ',101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49', ',,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62', '89,103,104,68,69,43,44,,72,,70,71,73,322,323,77,78,,,,,,82,319,325,111', '110,112,113,,,241,,,,,,,50,,,115,114,116,105,61,107,106,108,,109,117', '118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,', ',49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67', '62,89,103,104,68,69,43,44,,72,,70,71,73,322,323,77,78,,,,,,82,319,325', '111,110,112,113,,,241,,,,,,,50,,,115,114,116,105,61,107,106,108,,109', '117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65', ',,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80', '81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,322,323,77,78,,,,,,82', '319,325,111,110,112,113,,,241,,,,,,,50,,,115,114,116,105,61,107,106', '108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63', '64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,', ',,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,322,323,77,78', ',,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,,,115,114,116,105,61', '107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,', '240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,', ',,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,322,323', '77,78,,,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,,,115,114,116,105', '61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234', ',,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95', ',,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,322', '323,77,78,,,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,,,115,114,116', '105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,', ',234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73', '322,323,77,78,,,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,,,115,114', '116,105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,', ',,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92', '94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70', '71,73,322,323,77,78,,,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,', ',115,114,116,105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,', ',,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90', '91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,', '72,,70,71,73,322,323,77,78,,,,,,82,319,325,111,110,112,113,,,241,,,', ',,,50,,,115,114,116,105,61,107,106,108,,109,117,118,,101,102,46,47,45', ',,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99', '87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43', '44,,72,,70,71,73,322,323,77,78,,,,,,82,319,325,111,110,112,113,,,241', ',,,,,,50,,,115,114,116,105,61,107,106,108,,109,117,118,,101,102,46,47', '45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,', ',99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68', '69,43,44,,72,,70,71,73,322,323,77,78,,,,,,82,319,325,111,110,112,113', ',,241,,,,,,,50,,,115,114,116,105,61,107,106,108,,109,117,118,,101,102', '46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239', ',,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104', '68,69,43,44,,72,,70,71,73,322,323,77,78,,,,,,82,319,325,111,110,112', '113,,,241,,,,,,,50,,,115,114,116,105,61,107,106,108,,109,117,118,,101', '102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,', ',,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103', '104,68,69,43,44,,72,,70,71,73,322,323,77,78,,,,,,82,319,325,111,110', '112,113,,,241,,,,,,,50,,,115,114,116,105,61,107,106,108,,109,117,118', ',101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49', ',,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62', '89,103,104,68,69,43,44,,72,,70,71,73,322,323,77,78,,,,,,82,319,325,111', '110,112,113,,,241,,,,,,,50,,,115,114,116,105,61,107,106,108,,109,117', '118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,', ',49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67', '62,89,103,104,68,69,43,44,,72,,70,71,73,322,323,77,78,,,,,,82,319,325', '111,110,112,113,,,241,,,,,,,50,,,115,114,116,105,61,107,106,108,,109', '117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65', ',,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80', '81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,322,323,77,78,,,,,,82', '319,325,111,110,112,113,,,241,,,,,,,50,,,115,114,116,105,61,107,106', '108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63', '64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,', ',,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,322,323,77,78', ',,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,,,115,114,116,105,61', '107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,', '240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,', ',,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,322,323', '77,78,,,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,,,115,114,116,105', '61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234', ',,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95', ',,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,322', '323,77,78,,,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,,,115,114,116', '105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,', ',234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73', '322,323,77,78,,,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,,,115,114', '116,105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,', ',,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92', '94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70', '71,73,32,33,77,78,,,,,,82,30,29,111,110,112,113,,,241,,,,,,,50,,,115', '114,116,105,61,107,106,108,297,109,117,118,,101,102,46,47,45,,,,,,,', ',,,,,,,,,,,,234,,,240,,,63,64,,,65,,294,,292,,49,,,298,,,,,,239,,,,', '99,295,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68', '69,43,497,,72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110,112,113,,', '241,,,,,,,50,,,115,114,116,105,61,107,106,108,297,109,117,118,,101,102', '46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,294,,292,,49,,,298', ',,,,,239,,,,,99,295,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89', '103,104,68,69,43,44,,72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110', '112,113,,,241,,,,,,,50,,,115,114,116,105,61,107,106,108,297,109,117', '118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,294', ',292,,49,,,298,,,,,,239,,,,,99,295,90,91,,92,94,93,95,,,,,88,98,229', ',,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,322,323,77,78', ',,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,,,115,114,116,105,61', '107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,', '240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,', ',,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,322,323', '77,78,,,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,,,115,114,116,105', '61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234', ',,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95', ',,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,322', '323,77,78,,,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,,,115,114,116', '105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,', ',234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73', '322,323,77,78,,,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,,,115,114', '116,105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,', ',,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92', '94,93,95,,,,,88,98,,,,,,,67,,89,103,104,,,43,44,79,80,81,11,62,,,,68', '69,,,,72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110,112,113,,,21,,', ',,,10,50,,12,115,114,116,105,61,107,106,108,,109,117,118,,101,102,46', '47,45,,,,,,,,,,,,,,,,,,,,42,,,35,,,63,64,,,65,,37,,,,49,,,,,,,,,22,', ',,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68', '69,43,44,,72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110,112,113,,,241', ',,,,,,50,,,115,114,116,105,61,107,106,108,297,109,117,118,,101,102,46', '47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,294,,292,,49,,,298', ',,,,,239,,,,,99,295,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89', '103,104,68,69,43,44,,72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110', '112,113,,,21,,,,,,,50,,,115,114,116,105,61,107,106,108,,109,117,118', ',101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49', ',,,,,,,,22,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62', '89,103,104,68,69,43,44,,72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110', '112,113,,,21,,,,,,,50,,,115,114,116,105,61,107,106,108,,109,117,118', ',101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49', ',,,,,,,,22,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62', '89,103,104,68,69,43,44,,72,,70,71,73,322,323,77,78,,,,,,82,319,325,111', '110,112,113,,,241,,,,,,,50,,,115,114,116,105,61,107,106,108,,109,117', '118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,', ',49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67', '62,89,103,104,68,69,43,44,,72,,70,71,73,322,323,77,78,,,,,,82,319,325', '111,110,112,113,,,241,,,,,,,50,,,115,114,116,105,61,107,106,108,,109', '117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,542,,63,64,,', '65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79', '80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,32,33,77,78,,,,,,82', '30,29,111,110,112,113,,,21,,,,,,,50,,,115,114,116,105,61,107,106,108', ',109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64', ',,65,,,,,,49,,,,,,,,,22,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79', '80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,32,33,77,78,,,,,,82', '30,29,111,110,112,113,,,21,,,,,,,50,,,115,114,116,105,61,107,106,108', ',109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64', ',,65,,,,,,49,,,,,,,,,22,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79', '80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,32,33,77,78,,,,,,82', '30,29,111,110,112,113,,,21,,,,,,,50,,,115,114,116,105,61,107,106,108', ',109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64', ',,65,,,,,,49,,,,,,,,,22,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79', '80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,322,323,77,78,,,,,', '82,319,325,111,110,112,113,,,241,,,,,,,50,,,115,114,116,105,61,107,106', '108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63', '64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,', ',,,,,67,,89,103,104,-260,,43,44,,,,-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,,276,-260,,,-260,-260', ',-260,,-260,,-260,,-260,-260,,-260,-260,-260,-260,-260,,-260,-260,-260', '724,,721,720,719,729,722,,,,,,,-260,,732,-260,-260,-695,-260,,-260,', ',,-695,-695,-695,-260,,-695,-695,-695,,-695,,,727,,,,,-695,-695,-695', '-695,-695,,740,739,,,,733,-695,-695,,-695,-695,-695,-695,-695,,,,,,', ',,,,,,,,,,,,,,,,-695,-695,-695,-695,-695,-695,-695,-695,-695,-695,-695', '-695,-695,-695,,,-695,-695,-695,,,-695,,,-695,,,-695,-695,,-695,,-695', ',-695,,-695,-695,,-695,-695,-695,-695,-695,,-695,-695,-695,,,,,,,,,', ',,,,-695,,,-695,-695,-695,-695,,-695,-696,-695,,,,,-695,-696,-696,-696', ',,-696,-696,-696,,-696,,,,,,,,-696,-696,-696,-696,-696,,,,,,,,-696,-696', ',-696,-696,-696,-696,-696,,,,,,,,,,,,,,,,,,,,,,,-696,-696,-696,-696', '-696,-696,-696,-696,-696,-696,-696,-696,-696,-696,,,-696,-696,-696,', ',-696,,,-696,,,-696,-696,,-696,,-696,,-696,,-696,-696,,-696,-696,-696', '-696,-696,,-696,-696,-696,,,,,,,,,,,,,,-696,,,-696,-696,-696,-696,,-696', ',-696,,79,80,81,-696,62,,,,68,69,,,,72,,70,71,73,32,33,77,78,,,,,,82', '30,29,111,110,112,113,,,241,,,,,,,50,,,115,114,116,105,61,107,106,108', '297,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63', '64,,,65,,294,,292,,49,,,298,,,,,,239,,,,,99,295,90,91,,92,94,93,95,', ',,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,322', '323,77,78,,,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,,,115,114,116', '105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,', ',234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73', '322,323,77,78,,,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,,,115,114', '116,105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,', ',,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92', '94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70', '71,73,322,323,77,78,,,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,', ',115,114,116,105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,', ',,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90', '91,,92,94,93,95,,,,,88,98,,,,,,,67,,89,103,104,-260,,43,44,,,,-260,-260', '-260,,,-260,-260,-260,724,-260,721,720,719,729,722,,,-260,-260,-260', ',,,732,,,,,,-260,-260,,-260,-260,-260,-260,-260,,,,,,,,724,727,721,720', '719,729,722,,,,737,736,740,739,,732,,733,,724,,721,720,719,729,722,-260', ',,,,,,-260,732,,,727,276,-260,,,,229,,,737,736,740,739,,,,733,,,727', ',,,,-260,-260,,,737,736,740,739,,,,733,,,,-260,,,-260,,79,80,81,-260', '62,,,,68,69,-260,,,72,,70,71,73,322,323,77,78,,,,,,82,319,325,111,110', '112,113,,,241,,,,,,,50,,,115,114,116,105,61,107,106,108,,109,117,118', ',101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49', ',,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62', '89,103,104,68,69,43,44,,72,,70,71,73,322,323,77,78,,,,,,82,319,325,111', '110,112,113,,,241,,,,,,,50,,,115,114,116,105,61,107,106,108,297,109', '117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65', ',681,,292,,49,,,298,,,,,,239,,,,,99,295,90,91,,92,94,93,95,,,,,88,98', ',,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,322,323,77,78', ',,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,,,115,114,116,105,61', '107,106,108,297,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234', ',,240,,,63,64,,,65,,,,292,,49,,,298,,,,,,239,,,,,99,295,90,91,,92,94', '93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71', '73,322,323,77,78,,,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,,,115', '114,116,105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,', ',,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91', ',92,94,93,95,,,,,88,98,,,,,,,67,,89,103,104,,,43,44,79,80,81,11,62,', ',,68,69,,,,72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110,112,113,,', '21,,,,,,10,50,305,12,115,114,116,105,61,107,106,108,,109,117,118,,101', '102,46,47,45,,,,,,,,,,,,,,,,,,,,42,,,35,,,63,64,,,65,,37,,,,49,,,,,', ',,,22,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,403,67,,89,103,104', ',,43,44,79,80,81,,62,,,,68,69,,,,72,,70,71,73,32,33,77,78,,,,,,82,30', '29,111,110,112,113,,,241,,,,,,,50,,,115,114,116,105,61,107,106,108,297', '109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,', ',65,,294,,292,,49,,,298,,,,,,239,,,,,99,295,90,91,,92,94,93,95,,,,,88', '98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,322,323,77', '78,,,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,,,115,114,116,105', '61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234', ',,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95', ',,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,322', '323,77,78,,,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,,,115,114,116', '105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,', ',234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73', '32,33,77,78,,,,,,82,30,29,111,110,112,113,,,21,,,,,,,50,,,115,114,116', '105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,', ',234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,22,,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73', '322,323,77,78,,,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,,,115,114', '116,105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,', ',,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92', '94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70', '71,73,322,323,77,78,,,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,', ',115,114,116,105,61,107,106,108,297,109,117,118,,101,102,46,47,45,,', ',,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,681,,,,49,,,298,,,,,,239,,', ',,99,295,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68', '69,43,44,,72,,70,71,73,322,323,77,78,,,,,,82,319,325,111,110,112,113', ',,241,,,,,,,50,,,115,114,116,105,61,107,106,108,297,109,117,118,,101', '102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49,,,298', ',,,,,239,,,,,99,295,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89', '103,104,68,69,43,44,,72,,70,71,73,322,323,77,78,,,,,,82,319,325,111', '110,112,113,,,241,,,,,,,50,,,115,114,116,105,61,107,106,108,297,109', '117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65', ',,,292,,49,,,298,,,,,,239,,,,,99,295,90,91,,92,94,93,95,,,,,88,98,,', ',79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,322,323,77,78,', ',,,,82,319,325,111,110,112,113,,,241,,,,,,,50,,,115,114,116,105,61,107', '106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240', ',,63,64,,,65,,294,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,', ',88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,32,33', '77,78,,,,,,82,30,29,111,110,112,113,,,241,,,,,,,50,,,115,114,116,105', '61,107,106,108,297,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,', '234,,,240,,,63,64,,,65,,294,,292,,49,,,298,,,,,,239,,,,,99,295,90,91', ',92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72', ',70,71,73,32,33,77,78,,,,,,82,30,29,111,110,112,113,,,241,,,,,,,50,', ',115,114,116,105,61,107,106,108,297,109,117,118,,101,102,46,47,45,,', ',,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,294,,292,,49,,,298,,,,,,239', ',,,,99,295,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104', '68,69,43,44,,72,,70,71,73,322,323,77,78,,,,,,82,319,325,111,110,112', '113,,,241,,,,,,,50,,,115,114,116,105,61,107,106,108,,109,117,118,,101', '102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,681,,,,49,,', ',,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,,67,,89,103,104', ',,43,44,79,80,81,11,62,,,,68,69,,,,72,,70,71,73,32,33,77,78,,,,,,82', '30,29,111,110,112,113,,,21,,,,,,10,50,,12,115,114,116,105,61,107,106', '108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,42,,,35,,,63,64', ',,65,,37,,,,49,,,,,,,,,22,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,', '79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,322,323,77,78,,', ',,,82,319,325,111,110,112,113,,,241,,,,,,,50,,,115,114,116,105,61,107', '106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240', ',,63,64,,,65,,789,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,', ',88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,32,33', '77,78,,,,,,82,30,29,111,110,112,113,,,241,,,,,,,50,,,115,114,116,105', '61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234', ',,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95', ',,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,32', '33,77,78,,,,,,82,30,29,111,110,112,113,,,241,,,,,,,50,,,115,114,116', '105,61,107,106,108,297,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,', ',,,,234,,,240,,,63,64,,,65,,294,,292,,49,,,298,,,,,,239,,,,,99,295,90', '91,,92,94,93,95,,,,,88,98,,,,,,,67,,89,103,104,,,43,44,79,80,81,11,62', ',,,68,69,,,,72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110,112,113,', ',21,,,,,,10,50,,12,115,114,116,105,61,107,106,108,,109,117,118,,101', '102,46,47,45,,,,,,,,,,,,,,,,,,,,42,,,35,,,63,64,,,65,,37,,,,49,,,,,', ',,,22,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103', '104,68,69,43,44,,72,,70,71,73,322,323,77,78,,,,,,82,319,325,111,110', '112,113,,,241,,,,,,,50,,,115,114,116,105,61,107,106,108,,109,117,118', ',101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49', ',,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62', '89,103,104,68,69,43,44,,72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110', '112,113,,,21,,,,,,,50,,,115,114,116,105,61,107,106,108,,109,117,118', ',101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49', ',,,,,,,,22,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62', '89,103,104,68,69,43,44,,72,,70,71,73,322,323,77,78,,,,,,82,319,325,111', '110,112,113,,,241,,,,,,,50,,,115,114,116,105,61,107,106,108,297,109', '117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65', ',681,,292,,49,,,298,,,,,,239,,,,,99,295,90,91,,92,94,93,95,,,,,88,98', ',,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,322,323,77,78', ',,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,,,115,114,116,105,61', '107,106,108,297,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234', ',,240,,,63,64,,,65,,,,292,,49,,,298,,,,,,239,,,,,99,295,90,91,,92,94', '93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71', '73,32,33,77,78,,,,,,82,30,29,111,110,112,113,,,241,,,,,,,50,,,115,114', '116,105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,', ',,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92', '94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70', '71,73,32,33,77,78,,,,,,82,30,29,111,110,112,113,,,241,,,,,,,50,,,115', '114,116,105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,', ',,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91', ',92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72', ',70,71,73,32,33,77,78,,,,,,82,30,29,111,110,112,113,,,241,,,,,,,50,', ',115,114,116,105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,', ',,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90', '91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,', '72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110,112,113,,,241,,,,,,,50', ',,115,114,116,105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,', ',,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87', '90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44', ',72,,70,71,73,322,323,77,78,,,,,,82,319,325,111,110,112,113,,,241,,', ',,,,50,,,115,114,116,105,61,107,106,108,,109,117,118,,101,102,46,47', '45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,', ',99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68', '69,43,44,,72,,70,71,73,322,323,77,78,,,,,,82,319,325,111,110,112,113', ',,241,,,,,,,50,,,115,114,116,105,61,107,106,108,297,109,117,118,,101', '102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,681,,292,,49', ',,298,,,,,,239,,,,,99,295,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67', '62,89,103,104,68,69,43,497,,72,,70,71,73,322,323,77,78,,,,,,82,319,325', '111,110,112,113,,,241,,,,,,,50,,,115,114,116,105,61,107,106,108,,109', '117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65', ',,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80', '81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,322,323,77,78,,,,,,82', '319,325,111,110,112,113,,,241,,,,,,,50,,,115,114,116,105,61,107,106', '108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63', '64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,', ',,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,322,323,77,78', ',,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,,,115,114,116,105,61', '107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,', '240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93,95,,', ',,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73,322,323', '77,78,,,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,,,115,114,116,105', '61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,,,,,,,234', ',,240,,,63,64,,,65,,419,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70,71,73', '322,323,77,78,,,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,,,115,114', '116,105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,,,,,,,,,,', ',,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90,91,,92', '94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,,72,,70', '71,73,322,323,77,78,,,,,,82,319,325,111,110,112,113,,,241,,,,,,,50,', ',115,114,116,105,61,107,106,108,,109,117,118,,101,102,46,47,45,,,,,', ',,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99,87,90', '91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43,44,', '72,,70,71,73,322,323,77,78,,,,,,82,319,325,111,110,112,113,,,241,,,', ',,,50,,,115,114,116,105,61,107,106,108,,109,117,118,,101,102,46,47,45', ',,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,,,99', '87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,43', '44,,72,,70,71,73,322,323,77,78,,,,,,82,319,325,111,110,112,113,,,241', ',,,,,,50,,,115,114,116,105,61,107,106,108,,109,117,118,,101,102,46,47', '45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239,,,', ',99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68', '69,43,44,,72,,70,71,73,322,323,77,78,,,,,,82,319,325,111,110,112,113', ',,241,,,,,,,50,,,115,114,116,105,61,107,106,108,,109,117,118,,101,102', '46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239', ',,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104', '68,69,43,44,,72,,70,71,73,32,33,77,78,,,,,,82,30,29,111,110,112,113', ',,241,,,,,,,50,,,115,114,116,105,61,107,106,108,,109,117,118,,101,102', '46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,,,,,239', ',,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104', '68,69,43,44,,72,,70,71,73,322,323,77,78,,,,,,82,319,325,111,110,112', '113,,,241,,,,,,,50,,,115,114,116,105,61,107,106,108,,109,117,118,,101', '102,46,47,45,,,,,,,,,,,,,,,,,,,,234,,,240,,,63,64,,,65,,,,,,49,,,,,', ',,,239,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103', '104,68,69,43,44,,72,,70,71,73,322,323,77,78,,,,,,82,319,325,111,110', '112,113,,,241,,,,,,,320,,,115,114,116,369,61,107,106,370,,109,117,118', ',101,102,,,326,,,,,,,,,,,,,,,,,376,,,371,,,240,,,63,64,,,65,,,,,,,,', ',,,,,,,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103', '104,68,69,,,,72,,70,71,73,322,323,77,78,,,,,,82,319,325,111,110,112', '113,,,241,,,,,,,320,,,115,114,116,105,61,107,106,108,,109,117,118,,101', '102,,,326,,,,,,,,,,,,,,,,,,,,364,,,35,,,63,64,,,65,,37,,,,,,,,,,,,,', ',,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104', '68,69,,,,72,,70,71,73,322,323,77,78,,,,,,82,319,325,111,110,112,113', ',,241,,,,,,,320,,,115,114,116,105,61,107,106,108,,109,117,118,,101,102', ',,326,,,,,,,,,,,,,,,,,,,,316,,,312,,,63,64,,,65,,,,,,,,,,,,,,,,,,,,99', '87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,', ',,72,,70,71,73,322,323,77,78,,,,,,82,319,325,111,110,112,113,,,241,', ',,,,,320,,,115,114,116,105,61,107,106,108,,109,117,118,,101,102,,,326', ',,,,,,,,,,,,,,,,,,,316,,,312,,,63,64,,,65,,,,,,,,,,,,,,,,,,,,99,87,90', '91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,,,,72,', '70,71,73,322,323,77,78,,,,,,82,319,325,111,110,112,113,,,241,,,,,,,320', ',,115,114,116,105,61,107,106,108,,109,117,118,,101,102,,,326,,,,,,,', ',,,,,,,,,,,,316,,,312,,,63,64,,,65,,,,,,,,,,,,,,,,,,,,99,87,90,91,,92', '94,93,95,,,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,,,,72,,70,71,73', '322,323,77,78,,,,,,82,319,325,111,110,112,113,,,241,,,,,,,320,,,115', '114,116,105,61,107,106,108,,109,117,118,,101,102,,,326,,,,,,,,,,,,,', ',,,,,,316,,,240,,,63,64,,,65,,,724,,721,720,719,729,722,,,,,,,,,732', ',99,87,90,91,,92,94,93,95,,,,,88,98,,,,525,,727,67,,89,103,104,79,80', '81,,62,740,739,,68,69,733,,,72,,70,71,73,322,323,77,78,,,,,,82,319,325', '111,110,112,113,,,241,,,,,,,320,,,115,114,116,369,61,107,106,370,,109', '117,118,,101,102,,,326,,,,,,,,,,,,,,,,,,,,371,,,240,,,63,64,,,65,,,', ',,,,,,,,,,,,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81,67,62', '89,103,104,68,69,,,,72,,70,71,73,322,323,77,78,,,,,,82,319,325,111,110', '112,113,,,241,,,,,,,320,,,115,114,116,105,61,107,106,108,,109,117,118', ',101,102,,,326,,,,,,,,,,,,,,,,,,,,316,,,240,,,63,64,,,65,,,724,,721', '720,719,729,722,,,,,,,,,732,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,328', ',727,67,,89,103,104,79,80,81,,62,740,739,,68,69,733,,,72,,70,71,73,322', '323,77,78,,,,,,82,319,325,111,110,112,113,,,241,,,,,,,320,,,115,114', '116,105,61,107,106,108,,109,117,118,,101,102,,,326,,,,,,,,,,,,,,,,,', ',,1061,,,240,,,63,64,,,65,,,,,,,,,,,,,,,,,,,,99,87,90,91,,92,94,93,95', ',,,,88,98,,,,79,80,81,67,62,89,103,104,68,69,,,,72,,70,71,73,322,323', '77,78,,,,,,82,319,325,111,110,112,113,,,241,,,,,,,320,,,115,114,116', '105,61,107,106,108,,109,117,118,,101,102,,,326,,,,,,,,,,,,,,,,,,,,1055', ',,240,,,63,64,,,65,,,,,,,,,,,,,,,,,,,,99,87,90,91,,92,94,93,95,,,,,88', '98,,,,79,80,81,67,62,89,103,104,68,69,,,,72,,70,71,73,322,323,77,78', ',,,,,82,319,325,111,110,112,113,,,241,,,,,,,320,,,115,114,116,105,61', '107,106,108,,109,117,118,,101,102,,,326,,,,,,,,,,,,,,,,,,,,316,,,312', ',,63,64,,,65,,311,,,,,,,,,,,,,,,,,,99,87,90,91,,92,94,93,95,,,,,88,98', ',,,79,80,81,67,62,89,103,104,68,69,,,,72,,70,71,73,322,323,77,78,,,', ',,82,319,325,111,110,112,113,,,241,,,,,,,320,,,115,114,116,105,61,107', '106,108,,109,117,118,,101,102,,,326,,,,,,,,,,,,,,,,,,,,316,,,312,,,63', '64,,,65,,,,,,,,,,,,,,,,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79', '80,81,67,62,89,103,104,68,69,,,,72,,70,71,73,322,323,77,78,,,,,,82,319', '325,111,110,112,113,,,241,,,,,,,320,,,115,114,116,105,61,107,106,108', ',109,117,118,,101,102,,,326,,,,,,,,,,,,,,,,,,,,1055,,,240,,,63,64,,', '65,,,,,,,,,,,,,,,,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,79,80,81', '67,62,89,103,104,68,69,,,,72,,70,71,73,322,323,77,78,,,,,,82,319,325', '111,110,112,113,,,241,,,,,,,320,,,115,114,116,105,61,107,106,108,,109', '117,118,,101,102,,,326,,,,,,,,,,,,,,,,,,,,316,,,312,,,63,64,,,65,,,', ',,,,,,,,,,,,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,,67,,89,103', '104,182,193,183,206,179,199,189,188,209,210,204,187,186,181,207,211', '212,191,180,194,198,200,192,185,,,,201,208,203,202,195,205,190,178,197', '196,,,,,,177,184,175,176,172,173,174,135,137,,,136,,,,,,,,166,167,,163', '145,146,147,154,151,153,,,148,149,,,,168,169,155,156,,,,,,,,,,,,,,160', '159,,144,165,162,161,170,157,158,152,150,142,164,143,,,171,99,,,,,,', ',,,,,,,98,182,193,183,206,179,199,189,188,209,210,204,187,186,181,207', '211,212,191,180,194,198,200,192,185,,,,201,208,203,202,195,205,190,178', '197,196,,,,,,177,184,175,176,172,173,174,135,137,,,136,,,,,,,,166,167', ',163,145,146,147,154,151,153,,,148,149,,,,168,169,155,156,,,,,,,,,,', ',,,160,159,,144,165,162,161,170,157,158,152,150,142,164,143,,,171,99', ',,,,,,,,,,,,,98,182,193,183,206,179,199,189,188,209,210,204,187,186', '181,207,211,212,191,180,194,198,200,192,185,,,,201,208,203,202,195,205', '190,178,197,196,,,,,,177,184,175,176,172,173,174,135,137,,,136,,,,,', ',,166,167,,163,145,146,147,154,151,153,,,148,149,,,,168,169,155,156', ',,,,,,,,,,,,,160,159,,144,165,162,161,170,157,158,152,150,142,164,143', ',,171,99,,,,,,,,,,,,,,98,182,193,183,206,179,199,189,188,209,210,204', '187,186,181,207,211,212,191,180,194,198,200,192,185,,,,201,208,203,202', '195,205,190,178,197,196,,,,,,177,184,175,176,172,173,174,135,137,134', ',136,,,,,,,,166,167,,163,145,146,147,154,151,153,,,148,149,,,,168,169', '155,156,,,,,,,,,,,,,,160,159,,144,165,162,161,170,157,158,152,150,142', '164,143,,,171,99,111,110,112,113,,,,,,,,,,98,,,115,114,116,661,,,724', '664,721,720,719,729,722,101,102,,,326,,,,732,,,,,,,,,,,,,,,,663,,,645', ',,727,643,,,644,,,,,737,736,740,739,,,,733,,,,662,,,,99,87,90,91,,92', '94,93,95,,,,,88,98,111,110,112,113,,,660,,89,103,104,,,649,650,,115', '114,116,661,,,,664,935,,,,,101,102,,,326,732,,,,,,,,,,,,,,,,,,,663,', ',645,,,,643,,,644,,929,,,,,,,733,,,,,,,662,,,,99,936,90,91,,92,94,93', '95,,,,,88,98,,,,,,,660,,89,103,104,,,649,650,182,193,183,206,179,199', '189,188,209,210,204,187,186,181,207,211,212,191,180,194,198,200,192', '185,,,,201,208,203,202,195,205,190,178,197,196,,,,,,177,184,175,176', '172,173,174,135,137,,,136,,,,,,,,166,167,,163,145,146,147,154,151,153', ',,148,149,,,,168,169,155,156,,,,,,,,,,,,,,160,159,,144,165,162,161,170', '157,158,152,150,142,164,143,,,171,111,110,112,113,,,724,,721,720,719', '729,722,,,,115,114,116,661,,732,,664,,,,,,101,102,,,326,,,,,,,,,,727', ',,,,,,,,,663,740,739,645,,,733,643,,,644,,,,,,,,,,,,,,,,662,,,,99,87', '90,91,,92,94,93,95,,,,,88,98,111,110,112,113,,,660,,89,103,104,,,649', '650,,115,114,116,661,,,,664,935,,,,,101,102,,,326,732,,,,,,,,,,,,,,', ',,,,663,,,645,,,,643,,,644,,929,,,,,,,733,,,,,,,662,,,,99,936,90,91', ',92,94,93,95,,,,,88,98,111,110,112,113,,,660,,89,103,104,,,649,650,', '115,114,116,661,,,724,664,721,720,719,729,722,101,102,,,326,,,,732,', ',,,,,,,,,,,,,,663,,,645,,,727,643,,,644,,,,,737,736,740,739,,,,733,', ',,662,,,,99,87,90,91,,92,94,93,95,,,,,88,98,111,110,112,113,,,660,,89', '103,104,,,649,650,,115,114,116,661,,,724,664,721,720,719,729,722,101', '102,,,326,,,,732,,,,,,,,,,,,,,,,663,,,645,,,727,643,,,644,,929,,,737', '736,740,739,,,,733,,,,662,,,,99,87,90,91,,92,94,93,95,,,,,88,98,111', '110,112,113,,,660,,89,103,104,,,649,650,,115,114,116,661,,,724,664,721', '720,719,729,722,101,102,,,326,,,,732,,,,,,,,,,,,,,,,663,,,645,,,727', '643,,,644,,,,,737,736,740,739,,,,733,,,,662,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,111,110,112,113,,,660,,89,103,104,,,649,650,,115,114,116', '661,,,724,664,721,720,719,729,722,101,102,,,326,,,,732,,,,,,,,,,,,,', ',,663,,,645,,,727,643,,,644,,,,,,,740,739,,,,733,,,,662,,,,99,87,90', '91,,92,94,93,95,,,,,88,98,111,110,112,113,,,660,,89,103,104,,,649,650', ',115,114,116,661,,,724,664,721,720,719,729,722,101,102,,,326,,,,732', ',,,,,,,,,,,,,,,663,,,645,,,727,643,,,644,,929,,,,,740,739,,,,733,,,', '662,,,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,,660,,89,103,104,,,649', '650,182,193,183,206,179,199,189,188,209,210,204,187,186,181,207,211', '212,191,180,194,198,200,192,185,,,,201,208,203,387,386,388,385,178,197', '196,,,,,,177,184,175,176,382,383,384,380,137,107,106,381,,109,,,,,,166', '167,,163,145,146,147,154,151,153,,,148,149,,,,168,169,155,156,,,,,,392', ',,,,,,,160,159,,144,165,162,161,170,157,158,152,150,142,164,143,,,171', '111,110,112,113,,,724,,721,720,719,729,722,,,,115,114,116,661,,732,', '664,,,,,,101,102,,,326,,,,,,,,,,727,,,,,,,,,,663,740,739,645,,,733,643', ',,644,,,,,,,,,,,,,,,,662,,,,99,87,90,91,,92,94,93,95,,,,,88,98,111,110', '112,113,,,660,,89,103,104,,,649,650,,115,114,116,661,,,,664,935,,,,', '101,102,,,326,732,,,,,,,,,,,,,,,,,,,663,,,645,,,,643,,,644,,929,,,,', ',,733,,,,,,,662,,,,99,936,90,91,,92,94,93,95,,,,,88,98,111,110,112,113', ',,660,,89,103,104,,,649,650,,115,114,116,661,,,724,664,721,720,719,729', '722,101,102,,,326,,,,732,,,,,,,,,,,,,,,,663,,,645,,,727,643,,,644,,', ',,,,740,739,,,,733,,,,662,,,,99,87,90,91,,92,94,93,95,,,,,88,98,111', '110,112,113,,,660,,89,103,104,,,649,650,,115,114,116,661,,,724,664,721', '720,719,729,722,101,102,,,326,,,,732,,,,,,,,,,,,,,,,663,,,645,,,727', '643,,,644,,,,,737,736,740,739,,,,733,,,,662,,,,99,87,90,91,,92,94,93', '95,,,,,88,98,111,110,112,113,,,660,,89,103,104,,,649,650,,115,114,116', '661,,,724,664,721,720,719,729,722,101,102,,,326,,,,732,,,,,,,,,,,,,', ',,663,,,645,,,727,643,,,644,,,,,,,740,739,,,,733,,,,662,,,,99,87,90', '91,,92,94,93,95,,,,,88,98,111,110,112,113,,,660,,89,103,104,,,649,650', ',115,114,116,661,,,,664,,,,,,101,102,,,326,,,,,,,,111,110,112,113,,', ',,,,,,663,,,645,115,114,116,643,,,644,,1024,,,,,101,102,,,326,,,,,662', ',,,99,87,90,91,,92,94,93,95,,,,,88,98,,,,,,,660,,89,103,104,,,649,650', '724,,721,720,719,729,722,,,,,99,87,90,91,732,92,94,93,95,,,,,88,98,111', '110,112,113,,,660,,89,103,104,727,709,,,,115,114,116,,737,736,740,739', ',,,733,,101,102,,,326,111,110,112,113,,,,,,,,,,,,,115,114,116,,,,,,', ',,,,101,102,,,326,,,,,,,,,,,,,,,,99,87,90,91,,92,94,93,95,,,,,88,98', ',,,,,,660,,89,103,104,,,,,,,,,99,87,90,91,,92,94,93,95,,,,,88,98,1161', '452,,,1162,,660,,89,103,104,,166,167,,163,145,146,147,154,151,153,,', '148,149,,,,168,169,155,156,,,,,,276,,,,,,,,160,159,,144,165,162,161', '170,157,158,152,150,142,164,143,1159,445,171,,1160,,,,,,,,166,167,,163', '145,146,147,154,151,153,,,148,149,,,,168,169,155,156,,,,,,276,,,,,,', ',160,159,,144,165,162,161,170,157,158,152,150,142,164,143,694,452,171', ',695,,,,,,,,166,167,,163,145,146,147,154,151,153,,,148,149,,,,168,169', '155,156,,,,,,276,,,,,,,,160,159,,144,165,162,161,170,157,158,152,150', '142,164,143,1156,452,171,,1155,,,,,,,,166,167,,163,145,146,147,154,151', '153,,,148,149,,,,168,169,155,156,,,,,,276,,,,,,,,160,159,,144,165,162', '161,170,157,158,152,150,142,164,143,634,452,171,,635,,,,,,,,166,167', ',163,145,146,147,154,151,153,,,148,149,,,,168,169,155,156,,,,,,276,', ',,,,,,160,159,,144,165,162,161,170,157,158,152,150,142,164,143,632,445', '171,,633,,,,,,,,166,167,,163,145,146,147,154,151,153,,,148,149,,,,168', '169,155,156,,,,,,276,,,,,,,,160,159,,144,165,162,161,170,157,158,152', '150,142,164,143,448,452,171,,447,,,,,,,,166,167,,163,145,146,147,154', '151,153,,,148,149,,,,168,169,155,156,,,,,,276,,,,,,,,160,159,,144,165', '162,161,170,157,158,152,150,142,164,143,441,445,171,,442,,,,,,,,166', '167,,163,145,146,147,154,151,153,,,148,149,,,,168,169,155,156,,,,,,276', ',,,,,,,160,159,,144,165,162,161,170,157,158,152,150,142,164,143,634', '452,171,,635,,,,,,,,166,167,,163,145,146,147,154,151,153,,,148,149,', ',,168,169,155,156,,,,,,276,,,,,,,,160,159,,144,165,162,161,170,157,158', '152,150,142,164,143,756,445,171,,757,,,,,,,,166,167,,163,145,146,147', '154,151,153,,,148,149,,,,168,169,155,156,,,,,,276,,,,,,,,160,159,,144', '165,162,161,170,157,158,152,150,142,164,143,758,452,171,,759,,,,,,,', '166,167,,163,145,146,147,154,151,153,,,148,149,,,,168,169,155,156,,', ',,,276,,,,,,,,160,159,,144,165,162,161,170,157,158,152,150,142,164,143', '632,445,171,,633,,,,,,,,166,167,,163,145,146,147,154,151,153,,,148,149', ',,,168,169,155,156,,,,,,276,,,,,,,,160,159,,144,165,162,161,170,157', '158,152,150,142,164,143,794,452,171,,793,,,,,,,,166,167,,163,145,146', '147,154,151,153,,,148,149,,,,168,169,155,156,,,,,,276,,,,,,,,160,159', ',144,165,162,161,170,157,158,152,150,142,164,143,493,445,171,,494,,', ',,,,,166,167,,163,145,146,147,154,151,153,,,148,149,,,,168,169,155,156', ',,,,,,,,,,,,,160,159,,144,165,162,161,170,157,158,152,150,142,164,143', '761,452,171,,762,,,,,,,,166,167,,163,145,146,147,154,151,153,,,148,149', ',,,168,169,155,156,,,,,,276,,,,,,,,160,159,,144,165,162,161,170,157', '158,152,150,142,164,143,493,445,171,,494,,,,,,,,166,167,,163,145,146', '147,154,151,153,,,148,149,,,,168,169,155,156,,,,,,276,,,,,,,,160,159', ',144,165,162,161,170,157,158,152,150,142,164,143,791,445,171,,792,,', ',,,,,166,167,,163,145,146,147,154,151,153,,,148,149,,,,168,169,155,156', ',,,,,276,,,,,,,,160,159,,144,165,162,161,170,157,158,152,150,142,164', '143,691,445,171,,692,,,,,,,,166,167,,163,145,146,147,154,151,153,,,148', '149,,,,168,169,155,156,,,,,,276,,,,,,,,160,159,,144,165,162,161,170', '157,158,152,150,142,164,143,,724,171,721,720,719,729,722,,724,,721,720', '719,729,722,732,,,,,,,,732,,,,,,,,,,,,,,727,,,,,,,,727,,,740,739,,,', '733,737,736,740,739,,,,733' ] racc_action_table = arr = ::Array.new(27375, 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 = [ '635,754,1123,1162,463,1160,361,635,635,635,66,354,635,635,635,817,635', '669,1181,21,1062,945,457,457,635,738,635,635,635,399,1024,1059,929,400', '1172,362,635,635,353,635,635,635,635,635,1172,380,701,701,365,799,1058', '1000,380,759,973,817,584,584,792,726,21,863,756,463,945,1002,635,635', '635,635,635,635,635,635,635,635,635,635,635,635,1162,1161,635,635,635', '757,635,635,898,570,635,561,717,635,635,399,635,66,635,400,635,1159', '635,635,669,635,635,635,635,635,380,635,1024,635,929,361,457,792,759', '754,1123,1162,754,1160,754,1123,1162,635,1160,354,635,635,635,635,354', '635,1181,635,1062,634,701,1181,635,1062,362,635,634,634,634,1059,584', '634,634,634,1059,634,353,365,1161,716,643,353,759,634,634,634,634,634', '1058,1000,863,756,973,1058,1000,634,634,973,634,634,634,634,634,1002', '45,45,715,852,1002,691,28,692,321,564,757,561,643,898,570,1161,561,564', '758,1004,1161,634,634,634,634,634,634,634,634,634,634,634,634,634,634', '1159,734,634,634,634,1159,634,634,923,818,634,580,580,634,634,713,634', '381,634,734,634,914,634,634,381,634,634,634,634,634,1004,634,634,634', '852,28,691,321,692,1037,326,326,694,45,45,818,937,634,758,597,634,634', '634,634,923,634,382,634,28,108,321,815,634,382,937,634,108,108,108,352', '352,108,108,108,852,108,691,852,692,691,914,692,381,108,663,108,108', '108,663,852,712,691,758,692,85,108,108,711,108,108,108,108,108,1037', '1037,580,85,694,694,398,580,821,702,597,597,821,85,383,326,326,1037', '382,632,597,383,108,108,108,108,108,108,108,108,108,108,108,108,108', '108,700,1060,108,108,108,426,108,108,1060,694,108,232,694,108,108,513', '108,1060,108,595,108,697,108,108,694,108,108,108,108,108,384,108,105', '108,398,398,398,384,233,105,105,105,632,383,105,105,105,108,105,5,108', '108,108,108,5,108,105,108,105,105,105,235,108,371,426,108,1060,371,105', '105,232,105,105,105,105,105,696,644,686,513,513,513,396,595,595,1030', '345,301,395,345,686,394,301,595,644,384,513,233,105,105,105,105,105', '105,105,105,105,105,105,105,105,105,693,330,105,105,105,401,105,105', '235,1008,105,1008,397,105,105,814,105,385,105,690,105,791,105,105,385', '105,105,105,105,105,633,105,40,105,396,396,396,1030,1030,1030,395,395', '395,394,394,394,826,105,330,386,105,105,105,105,1030,105,386,105,41', '448,330,344,105,688,344,105,448,448,448,401,401,401,448,448,814,448', '397,397,397,40,791,363,385,448,448,387,388,348,363,633,348,40,387,388', '680,448,448,363,448,448,448,448,448,707,678,41,707,770,373,770,770,770', '770,770,386,373,390,41,1112,16,16,1112,770,390,373,448,448,448,448,448', '448,448,448,448,448,448,448,448,448,761,441,448,448,448,770,448,363', '646,646,448,387,388,448,770,770,770,770,448,902,448,770,448,448,902', '448,448,448,448,448,447,448,448,448,373,1003,1003,447,447,447,48,48', '390,447,447,676,447,448,441,838,448,448,761,448,447,448,26,742,742,761', '441,770,448,26,761,448,447,447,761,447,447,447,447,447,841,442,48,48', '1015,1054,1015,1015,1015,1015,1015,642,1054,761,868,868,642,1132,1132', '1015,642,1054,447,447,447,447,447,447,447,447,447,447,447,447,447,447', '370,19,447,447,447,1015,447,761,842,675,447,26,442,447,1015,1015,1015', '1015,447,674,447,1015,447,447,442,447,447,447,447,447,793,447,1028,447', '1054,134,851,793,793,793,134,134,1028,793,793,668,793,447,19,855,447', '447,370,447,793,447,666,471,910,370,19,1015,447,910,370,447,793,793', '370,793,793,793,793,793,858,425,358,859,665,530,1028,358,425,864,662', '639,530,370,637,471,636,425,1028,471,471,530,793,793,793,793,793,793', '793,793,793,793,793,793,793,793,628,824,793,793,793,695,793,370,880', '881,793,824,695,793,623,883,889,695,793,617,793,695,793,793,618,793', '793,793,793,793,425,793,794,793,530,892,609,602,600,794,794,794,865', '592,899,794,794,793,794,824,793,793,865,793,901,793,794,794,582,470', '565,824,793,905,906,793,617,907,794,794,695,794,794,794,794,794,908', '18,617,563,912,573,913,562,18,865,865,558,573,546,865,470,545,18,924', '470,470,573,794,794,794,794,794,794,794,794,794,794,794,794,794,794', '925,544,794,794,794,928,794,543,231,930,794,534,531,794,938,231,939', '941,794,942,794,526,794,794,231,794,794,794,794,794,18,794,794,794,573', '1052,762,1052,1052,1052,524,1052,1116,762,521,953,954,794,762,1116,794', '794,762,794,955,794,51,957,1116,958,959,961,794,51,962,794,903,903,903', '903,903,903,51,231,963,903,903,964,520,504,903,369,903,903,903,903,903', '903,903,341,341,341,341,341,903,903,903,903,903,903,903,762,995,903', '995,995,995,1116,995,903,903,903,903,903,903,903,903,903,903,903,903', '51,903,903,903,313,903,903,903,903,903,314,313,369,500,315,499,979,314', '995,369,313,315,980,982,369,985,314,995,369,903,315,986,903,988,989', '903,903,317,991,903,994,903,498,475,317,903,1154,369,1154,1154,1154', '474,1154,317,903,473,472,1012,459,903,903,903,903,1018,903,903,903,903', '1022,313,1023,449,903,903,1026,314,440,369,439,315,903,1029,903,903', '903,437,427,903,903,557,557,557,557,557,557,423,420,418,557,557,417', '1051,317,557,415,557,557,557,557,557,557,557,23,409,375,1055,366,557', '557,557,557,557,557,557,588,588,557,364,588,588,588,360,557,557,557', '557,557,557,557,557,557,557,557,557,359,557,557,557,1061,557,557,557', '557,557,23,23,23,23,23,23,23,23,23,23,23,331,23,23,349,347,23,23,331', '557,346,1,557,1040,342,557,557,331,336,557,1079,557,23,1040,23,557,23', '23,1080,23,23,23,23,23,557,23,334,327,325,557,557,557,557,320,557,557', '557,557,1090,319,1093,316,557,557,310,23,1040,1040,1096,1102,557,1040', '557,557,557,1105,331,557,557,307,307,307,307,307,307,1106,1107,1108', '307,307,1110,1192,309,307,308,307,307,307,307,307,307,307,304,304,304', '304,304,307,307,307,307,307,307,307,1119,306,307,305,293,290,1124,430', '307,307,307,307,307,307,307,307,307,307,307,307,1125,307,307,307,1126', '307,307,307,307,307,430,430,430,430,430,430,430,430,430,430,430,1127', '430,430,1128,1129,430,430,289,307,275,241,307,1138,237,307,307,1140', '1141,307,236,307,430,234,430,307,430,430,213,430,430,430,430,430,307', '430,50,42,39,307,307,307,307,1155,307,307,307,307,1156,1158,24,17,307', '307,15,430,14,430,1170,12,307,1174,307,307,307,1176,1177,307,307,765', '765,765,765,765,765,1178,1179,9,765,765,1182,3,764,765,768,765,765,765', '765,765,765,765,8,8,8,8,8,765,765,765,765,765,765,765,788,755,765,790', '751,750,744,436,765,765,765,765,765,765,765,765,765,765,765,765,741', '765,765,765,,765,765,765,765,765,436,436,436,436,436,436,436,436,436', '436,436,,436,436,,,436,436,,765,,,765,,,765,765,,,765,,765,436,,436', '765,436,436,,436,436,436,436,436,765,436,,,,765,765,765,765,,765,765', '765,765,,,,,765,765,,436,,,,,765,,765,765,765,,,765,765,950,950,950', '950,950,950,,,,950,950,,,,950,,950,950,950,950,950,950,950,518,518,518', '518,518,950,950,950,950,950,950,950,,882,950,882,882,882,,882,950,950', '950,950,950,950,950,950,950,950,950,950,,950,950,950,,950,950,950,950', '950,489,489,489,489,489,489,489,489,489,489,489,,489,489,,,489,489,', '950,,,950,,,950,950,,,950,,950,489,,489,950,489,489,,489,489,489,489', '489,950,489,,,,950,950,950,950,,950,950,950,950,,,,,950,950,489,489', ',,,,950,,950,950,950,,,950,950,970,970,970,970,970,970,,,,970,970,,', ',970,,970,970,970,970,970,970,970,,,,,,970,970,970,970,970,970,970,', ',970,,,,,,970,970,970,970,970,970,970,970,970,970,970,970,,970,970,970', ',970,970,970,970,970,949,949,949,949,949,949,949,949,949,949,949,,949', '949,,,949,949,,970,,,970,,,970,970,,,970,,970,949,,949,970,949,949,', '949,949,949,949,949,970,949,,,,970,970,970,970,,970,970,970,970,,,,', '970,970,,949,,,,,970,,970,970,970,,,970,970,1133,1133,1133,1133,1133', '1133,,,,1133,1133,,,,1133,,1133,1133,1133,1133,1133,1133,1133,,,,,,1133', '1133,1133,1133,1133,1133,1133,,,1133,,,,,,1133,1133,1133,1133,1133,1133', '1133,1133,1133,1133,1133,1133,,1133,1133,1133,,1133,1133,1133,1133,1133', '541,541,541,541,541,541,541,541,541,541,541,,541,541,,,541,541,,1133', ',,1133,,,1133,1133,,,1133,,1133,541,,541,1133,541,541,,541,541,541,541', '541,1133,541,,,,1133,1133,1133,1133,,1133,1133,1133,1133,,,,,1133,1133', ',541,,,,,1133,,1133,1133,1133,,,1133,1133,240,240,240,240,240,240,,', ',240,240,,,,240,,240,240,240,240,240,240,240,,,,,,240,240,240,240,240', '240,240,,,240,,,,,,240,240,240,240,240,240,240,240,240,240,240,240,', '240,240,240,,240,240,240,240,240,796,796,796,796,796,796,796,796,796', '796,796,,796,796,,,796,796,,240,,,240,,,240,240,,,240,,240,796,,796', '240,796,796,,796,796,796,796,796,240,796,,,,240,240,240,240,,240,240', '240,240,,,,,240,240,,796,,,,,240,,240,240,240,,,240,240,215,215,215', '215,215,215,,,,215,215,,,,215,,215,215,215,215,215,215,215,,,,,,215', '215,215,215,215,215,215,,,215,,,,,,215,215,215,215,215,215,215,215,215', '215,215,215,,215,215,215,,215,215,215,215,215,287,287,287,287,287,287', '287,287,287,287,287,,287,287,,,287,287,,215,,,215,,,215,215,,,215,,215', '287,,287,215,287,287,,287,287,287,287,287,215,287,,,,215,215,215,215', ',215,215,215,215,,,,,215,215,,287,,,,,215,,215,215,215,,,215,215,132', '132,132,132,132,132,,,,132,132,,,,132,,132,132,132,132,132,132,132,', ',,,,132,132,132,132,132,132,132,,727,132,727,727,727,,727,132,132,132', '132,132,132,132,132,132,132,132,132,,132,132,132,,132,132,132,132,132', '878,,878,878,878,,878,,727,,996,,996,996,996,,996,727,,132,,,132,,,132', '132,,485,132,,132,,,,132,,878,,1131,,1131,1131,1131,132,1131,878,996', ',132,132,132,132,,132,132,132,132,,,485,,132,132,485,485,,485,485,,132', ',132,132,132,,1131,132,132,1064,1064,1064,1064,1064,1064,,,,1064,1064', ',,,1064,,1064,1064,1064,1064,1064,1064,1064,,,,,,1064,1064,1064,1064', '1064,1064,1064,,,1064,,,,,,1064,1064,1064,1064,1064,1064,1064,1064,1064', '1064,1064,1064,,1064,1064,1064,,1064,1064,1064,1064,1064,333,333,333', '333,333,333,333,333,333,333,333,,333,333,,,333,333,,1064,,,1064,,,1064', '1064,,486,1064,,1064,333,,333,1064,333,333,,333,333,333,333,333,1064', '333,,,,1064,1064,1064,1064,,1064,1064,1064,1064,,,486,,1064,1064,486', '486,,486,486,,1064,,1064,1064,1064,,,1064,1064,1065,1065,1065,1065,1065', '1065,,,,1065,1065,,,,1065,,1065,1065,1065,1065,1065,1065,1065,,,,,,1065', '1065,1065,1065,1065,1065,1065,,,1065,,,,,,1065,1065,1065,1065,1065,1065', '1065,1065,1065,1065,1065,1065,,1065,1065,1065,,1065,1065,1065,1065,1065', '468,468,468,468,468,468,468,468,468,468,468,,468,468,,,468,468,,1065', ',,1065,,,1065,1065,,,1065,,1065,468,,468,1065,468,468,,468,468,468,468', '468,1065,468,,,,1065,1065,1065,1065,,1065,1065,1065,1065,,,,,1065,1065', ',1130,,1130,1130,1130,1065,1130,1065,1065,1065,,,1065,1065,2,2,2,2,2', '2,,,,2,2,,,,2,,2,2,2,2,2,2,2,1130,,,,,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,488,488,488,488,488,488,488,488,,488', '488,,,,,,488,488,,2,,,2,,,2,2,,,2,,2,488,,488,2,488,488,,488,488,488', '488,488,2,488,,,,2,2,2,2,,2,2,2,2,,,,,2,2,,,,,,,2,,2,2,2,,,2,2,846,846', '846,846,846,846,,,,846,846,,,,846,,846,846,846,846,846,846,846,,,,,', '846,846,846,846,846,846,846,,,846,,,,,,846,846,846,846,846,846,846,846', '846,846,846,846,,846,846,846,,846,846,846,846,846,469,469,469,469,469', '469,469,469,469,469,469,,469,469,,,469,469,,846,,,846,,,846,846,,,846', ',846,469,,469,846,469,469,,469,469,469,469,469,846,469,,,,846,846,846', '846,,846,846,846,846,,,,,846,846,,,,,,,846,,846,846,846,,,846,846,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,487,487,487,487', '487,487,487,,,487,487,,,,,,487,487,,779,,,779,,,779,779,,,779,,779,487', ',487,779,487,487,,487,487,487,487,487,779,487,,,,779,779,779,779,,779', '779,779,779,,,,,779,779,,,,,,,779,,779,779,779,,,779,779,769,769,769', '769,769,769,,,,769,769,,,,769,,769,769,769,769,769,769,769,,,,,,769', '769,769,769,769,769,769,,,769,,,,,,769,769,769,769,769,769,769,769,769', '769,769,769,,769,769,769,,769,769,769,769,769,490,,,,,,,,,,,,,,,,490', '490,,769,,,769,,,769,769,,,769,,769,490,,490,769,490,490,,490,490,,', '490,769,490,,,,769,769,769,769,,769,769,769,769,,,,,769,769,,,,,,,769', ',769,769,769,,,769,769,760,760,760,760,760,760,,,,760,760,,,,760,,760', '760,760,760,760,760,760,,,,,,760,760,760,760,760,760,760,,,760,,,,,', '760,760,760,760,760,760,760,760,760,760,760,760,,760,760,760,,760,760', '760,760,760,540,,,,,,,,,,,,,,,,540,540,,760,,,760,,,760,760,,,760,,760', '540,,540,760,540,540,,540,540,,,540,760,540,,,,760,760,760,760,,760', '760,760,760,,,,,760,760,,,,,,,760,,760,760,760,,,760,760,857,857,857', '857,857,857,,,,857,857,,,,857,,857,857,857,857,857,857,857,,,,,,857', '857,857,857,857,857,857,,,857,,,,,,857,857,857,857,857,857,857,857,857', '857,857,857,,857,857,857,,857,857,857,857,857,332,332,332,332,332,332', '332,332,332,332,332,,332,332,,,332,332,,857,,,857,,,857,857,,,857,,857', '332,,332,857,332,332,,332,332,332,332,332,857,332,,,,857,857,857,857', ',857,857,857,857,,,,,857,857,,,,,,,857,,857,857,857,,,857,857,340,340', '340,340,340,340,,,,340,340,,,,340,,340,340,340,340,340,340,340,,,,,', '340,340,340,340,340,340,340,,,340,,,,,,340,340,340,340,340,340,340,340', '340,340,340,340,,340,340,340,,340,340,340,340,340,484,484,484,484,484', '484,484,,,484,484,,,,,,484,484,,340,,,340,,,340,340,,,340,,340,484,', '484,340,484,484,,484,484,484,484,484,340,484,,,,340,340,340,340,,340', '340,340,340,,,,,340,340,,,,,,,340,,340,340,340,,,340,340,35,35,35,35', '35,35,,,,35,35,,,,35,,35,35,35,35,35,35,35,,,,,,35,35,35,35,35,35,35', ',,35,,,,,,35,35,35,35,35,35,35,35,35,35,35,35,,35,35,35,,35,35,35,35', '35,483,483,483,483,483,483,483,,,483,483,,,,,,483,483,,35,,,35,,,35', '35,,,35,,35,483,,483,35,483,483,,483,483,483,483,483,35,483,,,,35,35', '35,35,,35,35,35,35,,,,,35,35,,,,,,,35,,35,35,35,,,35,35,1057,1057,1057', '1057,1057,1057,,,,1057,1057,,,,1057,,1057,1057,1057,1057,1057,1057,1057', ',,,,,1057,1057,1057,1057,1057,1057,1057,,,1057,,,,,,1057,1057,1057,1057', '1057,1057,1057,1057,1057,1057,1057,1057,,1057,1057,1057,,1057,1057,1057', '1057,1057,482,482,482,482,482,482,482,,,482,482,,,,,,482,482,,1057,', ',1057,,,1057,1057,,,1057,,1057,482,,482,1057,482,482,,482,482,482,482', '482,1057,482,,,,1057,1057,1057,1057,,1057,1057,1057,1057,,,,,1057,1057', ',,,,,,1057,,1057,1057,1057,,,1057,1057,357,357,357,357,357,357,,,,357', '357,,,,357,,357,357,357,357,357,357,357,,,,,,357,357,357,357,357,357', '357,,,357,,,,,,357,357,357,357,357,357,357,357,357,357,357,357,,357', '357,357,,357,357,357,357,357,481,481,481,481,481,481,481,,,481,481,', ',,,,481,481,,357,,,357,,,357,357,,,357,,357,481,,481,357,481,481,,481', '481,481,481,481,357,481,,,,357,357,357,357,,357,357,357,357,,,,,357', '357,,,,,,,357,,357,357,357,,,357,357,356,356,356,356,356,356,,,,356', '356,,,,356,,356,356,356,356,356,356,356,,,,,,356,356,356,356,356,356', '356,,,356,,,,,,356,356,356,356,356,356,356,356,356,356,356,356,,356', '356,356,,356,356,356,356,356,480,480,480,480,480,480,480,,,480,480,', ',,,,480,480,,356,,,356,,,356,356,,,356,,356,480,,480,356,480,480,,480', '480,480,480,480,356,480,,,,356,356,356,356,,356,356,356,356,,,,,356', '356,,,,,,,356,,356,356,356,,,356,356,1081,1081,1081,1081,1081,1081,', ',,1081,1081,,,,1081,,1081,1081,1081,1081,1081,1081,1081,,,,,,1081,1081', '1081,1081,1081,1081,1081,,,1081,,,,,,1081,1081,1081,1081,1081,1081,1081', '1081,1081,1081,1081,1081,,1081,1081,1081,,1081,1081,1081,1081,1081,479', '479,479,479,479,479,479,,,479,479,,,,,,479,479,,1081,,,1081,,,1081,1081', ',,1081,,1081,479,,479,1081,479,479,,479,479,479,479,479,1081,479,,,', '1081,1081,1081,1081,,1081,1081,1081,1081,,,,,1081,1081,,,,,,,1081,,1081', '1081,1081,,,1081,1081,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,476,,,,,,,,,,,,,,,,476,476,,897,,,897,,,897,897,,,897,,897', '476,,476,897,476,476,,476,476,,,,897,,,,,897,897,897,897,,897,897,897', '897,,,,,897,897,,,,,,,897,,897,897,897,,,897,897,1091,1091,1091,1091', '1091,1091,,,,1091,1091,,,,1091,,1091,1091,1091,1091,1091,1091,1091,', ',,,,1091,1091,1091,1091,1091,1091,1091,,,1091,,,,,,1091,1091,1091,1091', '1091,1091,1091,1091,1091,1091,1091,1091,,1091,1091,1091,,1091,1091,1091', '1091,1091,477,,,,,,,,,,,,,,,,477,477,,1091,,,1091,,,1091,1091,,,1091', ',1091,477,,477,1091,477,477,,477,477,,,,1091,,,,,1091,1091,1091,1091', ',1091,1091,1091,1091,,,,,1091,1091,,,,,,,1091,,1091,1091,1091,,,1091', '1091,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,478', ',,,,,,,,,,,,,,,478,478,,312,,,312,,,312,312,,,312,,312,478,,,312,478', '478,,478,478,,,,312,,,,,312,312,312,312,,312,312,312,312,,,,,312,312', ',,,,,,312,,312,312,312,,,312,312,581,581,581,581,581,581,,,,581,581', ',,,581,,581,581,581,581,581,581,581,,,,,,581,581,581,581,581,581,581', ',,581,,,,,,581,581,581,581,581,581,581,581,581,581,581,581,,581,581', '581,,581,581,581,581,581,,,,,,,,,,,,,,,,,,,,581,,,581,,,581,581,,,581', ',581,,,,581,,,,,,,,,581,,,,,581,581,581,581,,581,581,581,581,,,,,581', '581,,,,,,,581,,581,581,581,,,581,581,560,560,560,560,560,560,,,,560', '560,,,,560,,560,560,560,560,560,560,560,,,,,,560,560,560,560,560,560', '560,,,560,,,,,,560,560,560,560,560,560,560,560,560,560,560,560,,560', '560,560,,560,560,560,560,560,,,,,,,,,,,,,,,,,,,,560,,,560,,,560,560', ',,560,,560,,,,560,,,,,,,,,560,,,,,560,560,560,560,,560,560,560,560,', ',,,560,560,,,,766,766,766,560,766,560,560,560,766,766,560,560,,766,', '766,766,766,766,766,766,766,,,,,,766,766,766,766,766,766,766,,,766,', ',,,,,766,,,766,766,766,766,766,766,766,766,,766,766,766,,766,766,766', '766,766,,,,,,,,,,,,,,,,,,,,766,,,766,,,766,766,,,766,,,,,,766,,,,,,', ',,766,,,,,766,766,766,766,,766,766,766,766,,,,,766,766,,,,,,,766,,766', '766,766,,,766,766,7,7,7,7,7,,,,7,7,,,,7,,7,7,7,7,7,7,7,,,,,,7,7,7,7', '7,7,7,,,7,,,,,,7,7,7,7,7,7,7,7,7,7,7,7,,7,7,7,,7,7,7,7,7,,,,,,,,,,,', ',,,,,,,,7,,,7,,,7,7,,,7,,7,,,,7,,,,,,,,,7,,,,,7,7,7,7,,7,7,7,7,,,,,7', '7,,,,22,22,22,7,22,7,7,7,22,22,7,7,,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,,,,,,,22,,22,22,22,29', ',22,22,,,,29,29,29,,,29,29,29,,29,,,,,,,,29,29,29,29,,,,,,,,,29,29,', '29,29,29,29,29,,,,,,,,,,,,,,,,,,,,,,,29,29,29,29,29,29,29,29,29,29,29', '29,29,29,,,29,29,29,,,29,,29,29,,,29,29,,29,,29,,29,,29,29,,29,29,29', '29,29,30,29,29,29,,,,30,30,30,,,30,30,30,,30,29,,,29,29,,29,30,29,30', '30,,,,,29,,,,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', '31,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,,,,,31,31,31,31,,31,31,31,31,,,,,31,31,,,,32,32,32,31,32,31,31,31', '32,32,31,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,,,,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,,,,43,43,43,33,43,33,33,33,43,43,33,33,,43,,43,43', '43,43,43,43,43,,,,,,43,43,43,43,43,43,43,,,43,,,,,,,43,,,43,43,43,43', '43,43,43,43,,43,43,43,,43,43,43,43,43,,,,,,,,,,,,,,,,,,,,43,,,43,,,43', '43,,,43,,,,,,43,,,,,,,,,43,,,,,43,43,43,43,,43,43,43,43,,,,,43,43,,', ',44,44,44,43,44,43,43,43,44,44,43,43,,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,,,,46,46,46,44,46,44', '44,44,46,46,44,44,,46,,46,46,46,46,46,46,46,,,,,,46,46,46,46,46,46,46', ',,46,,,,,,,46,,,46,46,46,46,46,46,46,46,,46,46,46,,46,46,46,46,46,,', ',,,,,,,,,,,,,,,,,46,,,46,,,46,46,,,46,,,,,,46,,,,,,,,,46,,,,,46,46,46', '46,,46,46,46,46,,,,,46,46,,,,47,47,47,46,47,46,46,46,47,47,46,46,,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,,,,49,49,49,47,49,47,47,47,49,49,47,47,,49,,49,49,49,49,49,49', '49,,,,,,49,49,49,49,49,49,49,,,49,,,,,,,49,,,49,49,49,49,49,49,49,49', ',49,49,49,,49,49,49,49,49,,,,,,,,,,,,,,,,,,,,49,,,49,,,49,49,,,49,,', ',,,49,,,,,,,,,49,,,,,49,49,49,49,,49,49,49,49,,,,,49,49,,,,,,,49,,49', '49,49,61,,49,49,,,,61,61,61,,,61,61,61,,61,,,,,,,,61,,61,61,61,,,,828', '828,828,828,61,61,,61,61,61,61,61,,,,,828,828,828,,,,,,,,,,,828,828', ',,828,61,61,61,61,61,61,61,61,61,61,61,61,61,61,,,61,61,61,,,61,,,61', ',,61,61,,61,,61,,61,,61,61,,61,61,61,61,61,,61,,61,,828,828,828,828', ',828,828,828,828,,,,61,828,828,61,61,61,61,,61,828,61,828,828,828,,61', '63,63,63,63,63,,,,63,63,,,,63,,63,63,63,63,63,63,63,,,,,,63,63,63,63', '63,63,63,,,63,,,,,,63,63,,63,63,63,63,63,63,63,63,63,,63,63,63,,63,63', '63,63,63,,,,,,,,,,,,,,,,,,,,63,,,63,,,63,63,,,63,,63,,,,63,,,,,,,,,63', ',,,,63,63,63,63,,63,63,63,63,,,,,63,63,,,,64,64,64,63,64,63,63,63,64', '64,63,63,,64,,64,64,64,64,64,64,64,,,,,,64,64,64,64,64,64,64,,,64,,', ',,,,64,,,64,64,64,64,64,64,64,64,64,64,64,64,,64,64,64,64,64,,,,,,,', ',,,,,,,,,,,,64,,,64,,,64,64,,,64,,64,,,,64,,,64,,,,,,64,,,,,64,64,64', '64,,64,64,64,64,,,,,64,64,,,,65,65,65,64,65,64,64,64,65,65,64,64,,65', ',65,65,65,65,65,65,65,,,,,,65,65,65,65,65,65,65,,,65,,,,,,,65,,,65,65', '65,65,65,65,65,65,65,65,65,65,,65,65,65,65,65,,,,,,,,,,,,,,,,,,,,65', ',,65,,,65,65,,,65,,,,,,65,,,65,,,,,,65,,,,,65,65,65,65,,65,65,65,65', ',,,,65,65,,,,68,68,68,65,68,65,65,65,68,68,65,65,,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,,,,69,69,69', '68,69,68,68,68,69,69,68,68,,69,,69,69,69,69,69,69,69,,,,,,69,69,69,69', '69,69,69,,,69,,,,,,,69,,,69,69,69,69,69,69,69,69,,69,69,69,,69,69,69', '69,69,,,,,,,,,,,,,,,,,,,,69,,,69,,,69,69,,,69,,,,,,69,,,,,,,,,69,,,', ',69,69,69,69,,69,69,69,69,,,,,69,69,,,,72,72,72,69,72,69,69,69,72,72', '69,69,,72,,72,72,72,72,72,72,72,,,,,,72,72,72,72,72,72,72,,,72,,,,,', ',72,,,72,72,72,72,72,72,72,72,,72,72,72,,72,72,72,72,72,,,,,,,,,,,,', ',,,,,,,72,,,72,,,72,72,,,72,,,,,,72,,,,,,,,,72,,,,,72,72,72,72,,72,72', '72,72,,,,,72,72,72,,,,,72,72,,72,72,72,,,72,72,121,121,121,121,121,', ',,121,121,,,,121,,121,121,121,121,121,121,121,,,,,,121,121,121,121,121', '121,121,,,121,,,,,,121,121,121,121,121,121,121,121,121,121,121,121,', '121,121,121,,121,121,121,121,121,,,,,,,,,,,,,,,,,,,,121,,,121,,,121', '121,,,121,,121,,,,121,,,,,,,,,121,,,,,121,121,121,121,,121,121,121,121', ',,,,121,121,,,,,,121,121,,121,121,121,,,121,121,126,126,126,,126,,,', '126,126,,,,126,,126,126,126,126,126,126,126,,,,,,126,126,126,126,126', '126,126,,,126,,,,,,,126,,,126,126,126,126,126,126,126,126,,126,126,126', ',126,126,126,126,126,,,,,,,,,,,,,,,,,,,,126,,,126,,,126,126,,,126,,', ',,,126,,,,,,,,,126,,,,,126,126,126,126,,126,126,126,126,,,,,126,126', ',,,127,127,127,126,127,126,126,126,127,127,126,126,,127,,127,127,127', '127,127,127,127,,,,,,127,127,127,127,127,127,127,,,127,,,,,,,127,,,127', '127,127,127,127,127,127,127,,127,127,127,,127,127,127,127,127,,,,,,', ',,,,,,,,,,,,,127,,,127,,,127,127,,,127,,,,,,127,,,,,,,,,127,,,,,127', '127,127,127,,127,127,127,127,,,,,127,127,,,,128,128,128,127,128,127', '127,127,128,128,127,127,,128,,128,128,128,128,128,128,128,,,,,,128,128', '128,128,128,128,128,,,128,,,,,,,128,,,128,128,128,128,128,128,128,128', ',128,128,128,,128,128,128,128,128,,,,,,,,,,,,,,,,,,,,128,,,128,,,128', '128,,,128,,,,,,128,,,,,,,,,128,,,,,128,128,128,128,,128,128,128,128', ',,,,128,128,,,,129,129,129,128,129,128,128,128,129,129,128,128,,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,130,130,,,,130,130,,,,130,,130,130,130', '130,130,130,130,,,,,,130,130,130,130,130,130,130,,,130,,,,,,130,130', ',130,130,130,130,130,130,130,130,130,,130,130,130,,130,130,130,130,130', ',,,,,,,,,,,,,,,,,,,130,,,130,,,130,130,,,130,,130,,,,130,,,,,,,,,130', ',,,,130,130,130,130,,130,130,130,130,,,,,130,130,,,,216,216,216,130', '216,130,130,130,216,216,130,130,,216,,216,216,216,216,216,216,216,,', ',,,216,216,216,216,216,216,216,,,216,,,,,,,216,,,216,216,216,216,216', '216,216,216,,216,216,216,,216,216,216,216,216,,,,,,,,,,,,,,,,,,,,216', ',,216,,,216,216,,,216,,216,,,,216,,,,,,,,,216,,,,,216,216,216,216,,216', '216,216,216,,,,,216,216,,,,217,217,217,216,217,216,216,216,217,217,216', '216,,217,,217,217,217,217,217,217,217,,,,,,217,217,217,217,217,217,217', ',,217,,,,,,,217,,,217,217,217,217,217,217,217,217,,217,217,217,,217', '217,217,217,217,,,,,,,,,,,,,,,,,,,,217,,,217,,,217,217,,,217,,217,,', ',217,,,,,,,,,217,,,,,217,217,217,217,,217,217,217,217,,,,,217,217,,', ',218,218,218,217,218,217,217,217,218,218,217,217,,218,,218,218,218,218', '218,218,218,,,,,,218,218,218,218,218,218,218,,,218,,,,,,,218,,,218,218', '218,218,218,218,218,218,,218,218,218,,218,218,218,218,218,,,,,,,,,,', ',,,,,,,,,218,,,218,,,218,218,,,218,,,,,,218,,,,,,,,,218,,,,,218,218', '218,218,,218,218,218,218,,,,,218,218,,,,219,219,219,218,219,218,218', '218,219,219,218,218,,219,,219,219,219,219,219,219,219,,,,,,219,219,219', '219,219,219,219,,,219,,,,,,,219,,,219,219,219,219,219,219,219,219,,219', '219,219,,219,219,219,219,219,,,,,,,,,,,,,,,,,,,,219,,,219,,,219,219', ',,219,,,,,,219,,,,,,,,,219,,,,,219,219,219,219,,219,219,219,219,,,,', '219,219,,,,220,220,220,219,220,219,219,219,220,220,219,219,,220,,220', '220,220,220,220,220,220,,,,,,220,220,220,220,220,220,220,,,220,,,,,', ',220,,,220,220,220,220,220,220,220,220,,220,220,220,,220,220,220,220', '220,,,,,,,,,,,,,,,,,,,,220,,,220,,,220,220,,,220,,,,,,220,,,,,,,,,220', ',,,,220,220,220,220,,220,220,220,220,,,,,220,220,,,,221,221,221,220', '221,220,220,220,221,221,220,220,,221,,221,221,221,221,221,221,221,,', ',,,221,221,221,221,221,221,221,,,221,,,,,,,221,,,221,221,221,221,221', '221,221,221,221,221,221,221,,221,221,221,221,221,,,,,,,,,,,,,,,,,,,', '221,,,221,,,221,221,,,221,,221,,221,,221,,,221,,,,,,221,,,,,221,221', '221,221,,221,221,221,221,,,,,221,221,,,,226,226,226,221,226,221,221', '221,226,226,221,221,,226,,226,226,226,226,226,226,226,,,,,,226,226,226', '226,226,226,226,,,226,,,,,,,226,,,226,226,226,226,226,226,226,226,,226', '226,226,,226,226,226,226,226,,,,,,,,,,,,,,,,,,,,226,,,226,,,226,226', ',,226,,,,,,226,,,,,,,,,226,,,,,226,226,226,226,,226,226,226,226,,,,', '226,226,,,,227,227,227,226,227,226,226,226,227,227,226,226,,227,,227', '227,227,227,227,227,227,,,,,,227,227,227,227,227,227,227,,,227,,,,,', ',227,,,227,227,227,227,227,227,227,227,,227,227,227,,227,227,227,227', '227,,,,,,,,,,,,,,,,,,,,227,,,227,,,227,227,,,227,,,,,,227,,,,,,,,,227', ',,,,227,227,227,227,,227,227,227,227,,,,,227,227,,,,228,228,228,227', '228,227,227,227,228,228,227,227,,228,,228,228,228,228,228,228,228,,', ',,,228,228,228,228,228,228,228,,,228,,,,,,,228,,,228,228,228,228,228', '228,228,228,,228,228,228,,228,228,228,228,228,,,,,,,,,,,,,,,,,,,,228', ',,228,,,228,228,,,228,,,,,,228,,,,,,,,,228,,,,,228,228,228,228,,228', '228,228,228,,,,,228,228,228,,,239,239,239,228,239,228,228,228,239,239', '228,228,,239,,239,239,239,239,239,239,239,,,,,,239,239,239,239,239,239', '239,,,239,,,,,,,239,,,239,239,239,239,239,239,239,239,,239,239,239,', '239,239,239,239,239,,,,,,,,,,,,,,,,,,,,239,,,239,,,239,239,,,239,,,', ',,239,,,,,,,,,239,,,,,239,239,239,239,,239,239,239,239,,,,,239,239,', ',,243,243,243,239,243,239,239,239,243,243,239,239,,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,,243,243,243,243,,,,,243,243,,,,244,244,244,243,244,243', '243,243,244,244,243,243,,244,,244,244,244,244,244,244,244,,,,,,244,244', '244,244,244,244,244,,,244,,,,,,,244,,,244,244,244,244,244,244,244,244', ',244,244,244,,244,244,244,244,244,,,,,,,,,,,,,,,,,,,,244,,,244,,,244', '244,,,244,,,,,,244,,,,,,,,,244,,,,,244,244,244,244,,244,244,244,244', ',,,,244,244,,,,245,245,245,244,245,244,244,244,245,245,244,244,,245', ',245,245,245,245,245,245,245,,,,,,245,245,245,245,245,245,245,,,245', ',,,,,,245,,,245,245,245,245,245,245,245,245,,245,245,245,,245,245,245', '245,245,,,,,,,,,,,,,,,,,,,,245,,,245,,,245,245,,,245,,,,,,245,,,,,,', ',,245,,,,,245,245,245,245,,245,245,245,245,,,,,245,245,,,,246,246,246', '245,246,245,245,245,246,246,245,245,,246,,246,246,246,246,246,246,246', ',,,,,246,246,246,246,246,246,246,,,246,,,,,,,246,,,246,246,246,246,246', '246,246,246,,246,246,246,,246,246,246,246,246,,,,,,,,,,,,,,,,,,,,246', ',,246,,,246,246,,,246,,,,,,246,,,,,,,,,246,,,,,246,246,246,246,,246', '246,246,246,,,,,246,246,,,,247,247,247,246,247,246,246,246,247,247,246', '246,,247,,247,247,247,247,247,247,247,,,,,,247,247,247,247,247,247,247', ',,247,,,,,,,247,,,247,247,247,247,247,247,247,247,,247,247,247,,247', '247,247,247,247,,,,,,,,,,,,,,,,,,,,247,,,247,,,247,247,,,247,,,,,,247', ',,,,,,,,247,,,,,247,247,247,247,,247,247,247,247,,,,,247,247,,,,248', '248,248,247,248,247,247,247,248,248,247,247,,248,,248,248,248,248,248', '248,248,,,,,,248,248,248,248,248,248,248,,,248,,,,,,,248,,,248,248,248', '248,248,248,248,248,,248,248,248,,248,248,248,248,248,,,,,,,,,,,,,,', ',,,,,248,,,248,,,248,248,,,248,,,,,,248,,,,,,,,,248,,,,,248,248,248', '248,,248,248,248,248,,,,,248,248,,,,249,249,249,248,249,248,248,248', '249,249,248,248,,249,,249,249,249,249,249,249,249,,,,,,249,249,249,249', '249,249,249,,,249,,,,,,,249,,,249,249,249,249,249,249,249,249,,249,249', '249,,249,249,249,249,249,,,,,,,,,,,,,,,,,,,,249,,,249,,,249,249,,,249', ',,,,,249,,,,,,,,,249,,,,,249,249,249,249,,249,249,249,249,,,,,249,249', ',,,250,250,250,249,250,249,249,249,250,250,249,249,,250,,250,250,250', '250,250,250,250,,,,,,250,250,250,250,250,250,250,,,250,,,,,,,250,,,250', '250,250,250,250,250,250,250,,250,250,250,,250,250,250,250,250,,,,,,', ',,,,,,,,,,,,,250,,,250,,,250,250,,,250,,,,,,250,,,,,,,,,250,,,,,250', '250,250,250,,250,250,250,250,,,,,250,250,,,,251,251,251,250,251,250', '250,250,251,251,250,250,,251,,251,251,251,251,251,251,251,,,,,,251,251', '251,251,251,251,251,,,251,,,,,,,251,,,251,251,251,251,251,251,251,251', ',251,251,251,,251,251,251,251,251,,,,,,,,,,,,,,,,,,,,251,,,251,,,251', '251,,,251,,,,,,251,,,,,,,,,251,,,,,251,251,251,251,,251,251,251,251', ',,,,251,251,,,,252,252,252,251,252,251,251,251,252,252,251,251,,252', ',252,252,252,252,252,252,252,,,,,,252,252,252,252,252,252,252,,,252', ',,,,,,252,,,252,252,252,252,252,252,252,252,,252,252,252,,252,252,252', '252,252,,,,,,,,,,,,,,,,,,,,252,,,252,,,252,252,,,252,,,,,,252,,,,,,', ',,252,,,,,252,252,252,252,,252,252,252,252,,,,,252,252,,,,253,253,253', '252,253,252,252,252,253,253,252,252,,253,,253,253,253,253,253,253,253', ',,,,,253,253,253,253,253,253,253,,,253,,,,,,,253,,,253,253,253,253,253', '253,253,253,,253,253,253,,253,253,253,253,253,,,,,,,,,,,,,,,,,,,,253', ',,253,,,253,253,,,253,,,,,,253,,,,,,,,,253,,,,,253,253,253,253,,253', '253,253,253,,,,,253,253,,,,254,254,254,253,254,253,253,253,254,254,253', '253,,254,,254,254,254,254,254,254,254,,,,,,254,254,254,254,254,254,254', ',,254,,,,,,,254,,,254,254,254,254,254,254,254,254,,254,254,254,,254', '254,254,254,254,,,,,,,,,,,,,,,,,,,,254,,,254,,,254,254,,,254,,,,,,254', ',,,,,,,,254,,,,,254,254,254,254,,254,254,254,254,,,,,254,254,,,,255', '255,255,254,255,254,254,254,255,255,254,254,,255,,255,255,255,255,255', '255,255,,,,,,255,255,255,255,255,255,255,,,255,,,,,,,255,,,255,255,255', '255,255,255,255,255,,255,255,255,,255,255,255,255,255,,,,,,,,,,,,,,', ',,,,,255,,,255,,,255,255,,,255,,,,,,255,,,,,,,,,255,,,,,255,255,255', '255,,255,255,255,255,,,,,255,255,,,,256,256,256,255,256,255,255,255', '256,256,255,255,,256,,256,256,256,256,256,256,256,,,,,,256,256,256,256', '256,256,256,,,256,,,,,,,256,,,256,256,256,256,256,256,256,256,,256,256', '256,,256,256,256,256,256,,,,,,,,,,,,,,,,,,,,256,,,256,,,256,256,,,256', ',,,,,256,,,,,,,,,256,,,,,256,256,256,256,,256,256,256,256,,,,,256,256', ',,,257,257,257,256,257,256,256,256,257,257,256,256,,257,,257,257,257', '257,257,257,257,,,,,,257,257,257,257,257,257,257,,,257,,,,,,,257,,,257', '257,257,257,257,257,257,257,,257,257,257,,257,257,257,257,257,,,,,,', ',,,,,,,,,,,,,257,,,257,,,257,257,,,257,,,,,,257,,,,,,,,,257,,,,,257', '257,257,257,,257,257,257,257,,,,,257,257,,,,258,258,258,257,258,257', '257,257,258,258,257,257,,258,,258,258,258,258,258,258,258,,,,,,258,258', '258,258,258,258,258,,,258,,,,,,,258,,,258,258,258,258,258,258,258,258', ',258,258,258,,258,258,258,258,258,,,,,,,,,,,,,,,,,,,,258,,,258,,,258', '258,,,258,,,,,,258,,,,,,,,,258,,,,,258,258,258,258,,258,258,258,258', ',,,,258,258,,,,259,259,259,258,259,258,258,258,259,259,258,258,,259', ',259,259,259,259,259,259,259,,,,,,259,259,259,259,259,259,259,,,259', ',,,,,,259,,,259,259,259,259,259,259,259,259,,259,259,259,,259,259,259', '259,259,,,,,,,,,,,,,,,,,,,,259,,,259,,,259,259,,,259,,,,,,259,,,,,,', ',,259,,,,,259,259,259,259,,259,259,259,259,,,,,259,259,,,,260,260,260', '259,260,259,259,259,260,260,259,259,,260,,260,260,260,260,260,260,260', ',,,,,260,260,260,260,260,260,260,,,260,,,,,,,260,,,260,260,260,260,260', '260,260,260,,260,260,260,,260,260,260,260,260,,,,,,,,,,,,,,,,,,,,260', ',,260,,,260,260,,,260,,,,,,260,,,,,,,,,260,,,,,260,260,260,260,,260', '260,260,260,,,,,260,260,,,,261,261,261,260,261,260,260,260,261,261,260', '260,,261,,261,261,261,261,261,261,261,,,,,,261,261,261,261,261,261,261', ',,261,,,,,,,261,,,261,261,261,261,261,261,261,261,,261,261,261,,261', '261,261,261,261,,,,,,,,,,,,,,,,,,,,261,,,261,,,261,261,,,261,,,,,,261', ',,,,,,,,261,,,,,261,261,261,261,,261,261,261,261,,,,,261,261,,,,262', '262,262,261,262,261,261,261,262,262,261,261,,262,,262,262,262,262,262', '262,262,,,,,,262,262,262,262,262,262,262,,,262,,,,,,,262,,,262,262,262', '262,262,262,262,262,,262,262,262,,262,262,262,262,262,,,,,,,,,,,,,,', ',,,,,262,,,262,,,262,262,,,262,,,,,,262,,,,,,,,,262,,,,,262,262,262', '262,,262,262,262,262,,,,,262,262,,,,263,263,263,262,263,262,262,262', '263,263,262,262,,263,,263,263,263,263,263,263,263,,,,,,263,263,263,263', '263,263,263,,,263,,,,,,,263,,,263,263,263,263,263,263,263,263,,263,263', '263,,263,263,263,263,263,,,,,,,,,,,,,,,,,,,,263,,,263,,,263,263,,,263', ',,,,,263,,,,,,,,,263,,,,,263,263,263,263,,263,263,263,263,,,,,263,263', ',,,264,264,264,263,264,263,263,263,264,264,263,263,,264,,264,264,264', '264,264,264,264,,,,,,264,264,264,264,264,264,264,,,264,,,,,,,264,,,264', '264,264,264,264,264,264,264,,264,264,264,,264,264,264,264,264,,,,,,', ',,,,,,,,,,,,,264,,,264,,,264,264,,,264,,,,,,264,,,,,,,,,264,,,,,264', '264,264,264,,264,264,264,264,,,,,264,264,,,,269,269,269,264,269,264', '264,264,269,269,264,264,,269,,269,269,269,269,269,269,269,,,,,,269,269', '269,269,269,269,269,,,269,,,,,,,269,,,269,269,269,269,269,269,269,269', ',269,269,269,,269,269,269,269,269,,,,,,,,,,,,,,,,,,,,269,,,269,,,269', '269,,,269,,,,,,269,,,,,,,,,269,,,,,269,269,269,269,,269,269,269,269', ',,,,269,269,,,,276,276,276,269,276,269,269,269,276,276,269,269,,276', ',276,276,276,276,276,276,276,,,,,,276,276,276,276,276,276,276,,,276', ',,,,,,276,,,276,276,276,276,276,276,276,276,276,276,276,276,,276,276', '276,276,276,,,,,,,,,,,,,,,,,,,,276,,,276,,,276,276,,,276,,276,,276,', '276,,,276,,,,,,276,,,,,276,276,276,276,,276,276,276,276,,,,,276,276', ',,,277,277,277,276,277,276,276,276,277,277,276,276,,277,,277,277,277', '277,277,277,277,,,,,,277,277,277,277,277,277,277,,,277,,,,,,,277,,,277', '277,277,277,277,277,277,277,277,277,277,277,,277,277,277,277,277,,,', ',,,,,,,,,,,,,,,,277,,,277,,,277,277,,,277,,277,,277,,277,,,277,,,,,', '277,,,,,277,277,277,277,,277,277,277,277,,,,,277,277,,,,285,285,285', '277,285,277,277,277,285,285,277,277,,285,,285,285,285,285,285,285,285', ',,,,,285,285,285,285,285,285,285,,,285,,,,,,,285,,,285,285,285,285,285', '285,285,285,285,285,285,285,,285,285,285,285,285,,,,,,,,,,,,,,,,,,,', '285,,,285,,,285,285,,,285,,285,,285,,285,,,285,,,,,,285,,,,,285,285', '285,285,,285,285,285,285,,,,,285,285,285,,,292,292,292,285,292,285,285', '285,292,292,285,285,,292,,292,292,292,292,292,292,292,,,,,,292,292,292', '292,292,292,292,,,292,,,,,,,292,,,292,292,292,292,292,292,292,292,,292', '292,292,,292,292,292,292,292,,,,,,,,,,,,,,,,,,,,292,,,292,,,292,292', ',,292,,,,,,292,,,,,,,,,292,,,,,292,292,292,292,,292,292,292,292,,,,', '292,292,,,,294,294,294,292,294,292,292,292,294,294,292,292,,294,,294', '294,294,294,294,294,294,,,,,,294,294,294,294,294,294,294,,,294,,,,,', ',294,,,294,294,294,294,294,294,294,294,,294,294,294,,294,294,294,294', '294,,,,,,,,,,,,,,,,,,,,294,,,294,,,294,294,,,294,,,,,,294,,,,,,,,,294', ',,,,294,294,294,294,,294,294,294,294,,,,,294,294,,,,297,297,297,294', '297,294,294,294,297,297,294,294,,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,,,,298,298,298,297,298,297,297,297,298,298,297', '297,,298,,298,298,298,298,298,298,298,,,,,,298,298,298,298,298,298,298', ',,298,,,,,,,298,,,298,298,298,298,298,298,298,298,,298,298,298,,298', '298,298,298,298,,,,,,,,,,,,,,,,,,,,298,,,298,,,298,298,,,298,,,,,,298', ',,,,,,,,298,,,,,298,298,298,298,,298,298,298,298,,,,,298,298,,,,,,,298', ',298,298,298,,,298,298,303,303,303,303,303,,,,303,303,,,,303,,303,303', '303,303,303,303,303,,,,,,303,303,303,303,303,303,303,,,303,,,,,,303', '303,,303,303,303,303,303,303,303,303,303,,303,303,303,,303,303,303,303', '303,,,,,,,,,,,,,,,,,,,,303,,,303,,,303,303,,,303,,303,,,,303,,,,,,,', ',303,,,,,303,303,303,303,,303,303,303,303,,,,,303,303,,,,1120,1120,1120', '303,1120,303,303,303,1120,1120,303,303,,1120,,1120,1120,1120,1120,1120', '1120,1120,,,,,,1120,1120,1120,1120,1120,1120,1120,,,1120,,,,,,,1120', ',,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,,1120', '1120,1120,1120,1120,,,,,,,,,,,,,,,,,,,,1120,,,1120,,,1120,1120,,,1120', ',1120,,1120,,1120,,,1120,,,,,,1120,,,,,1120,1120,1120,1120,,1120,1120', '1120,1120,,,,,1120,1120,,,,1084,1084,1084,1120,1084,1120,1120,1120,1084', '1084,1120,1120,,1084,,1084,1084,1084,1084,1084,1084,1084,,,,,,1084,1084', '1084,1084,1084,1084,1084,,,1084,,,,,,,1084,,,1084,1084,1084,1084,1084', '1084,1084,1084,,1084,1084,1084,,1084,1084,1084,1084,1084,,,,,,,,,,,', ',,,,,,,,1084,,,1084,,,1084,1084,,,1084,,,,,,1084,,,,,,,,,1084,,,,,1084', '1084,1084,1084,,1084,1084,1084,1084,,,,,1084,1084,,,,1083,1083,1083', '1084,1083,1084,1084,1084,1083,1083,1084,1084,,1083,,1083,1083,1083,1083', '1083,1083,1083,,,,,,1083,1083,1083,1083,1083,1083,1083,,,1083,,,,,,', '1083,,,1083,1083,1083,1083,1083,1083,1083,1083,,1083,1083,1083,,1083', '1083,1083,1083,1083,,,,,,,,,,,,,,,,,,,,1083,,,1083,,,1083,1083,,,1083', ',,,,,1083,,,,,,,,,1083,,,,,1083,1083,1083,1083,,1083,1083,1083,1083', ',,,,1083,1083,,,,337,337,337,1083,337,1083,1083,1083,337,337,1083,1083', ',337,,337,337,337,337,337,337,337,,,,,,337,337,337,337,337,337,337,', ',337,,,,,,,337,,,337,337,337,337,337,337,337,337,,337,337,337,,337,337', '337,337,337,,,,,,,,,,,,,,,,,,,,337,,,337,,,337,337,,,337,,,,,,337,,', ',,,,,,337,,,,,337,337,337,337,,337,337,337,337,,,,,337,337,,,,339,339', '339,337,339,337,337,337,339,339,337,337,,339,,339,339,339,339,339,339', '339,,,,,,339,339,339,339,339,339,339,,,339,,,,,,,339,,,339,339,339,339', '339,339,339,339,,339,339,339,,339,339,339,339,339,,,,,,,,,,,,,,,,,,', ',339,,,339,339,,339,339,,,339,,,,,,339,,,,,,,,,339,,,,,339,339,339,339', ',339,339,339,339,,,,,339,339,,,,355,355,355,339,355,339,339,339,355', '355,339,339,,355,,355,355,355,355,355,355,355,,,,,,355,355,355,355,355', '355,355,,,355,,,,,,,355,,,355,355,355,355,355,355,355,355,,355,355,355', ',355,355,355,355,355,,,,,,,,,,,,,,,,,,,,355,,,355,,,355,355,,,355,,', ',,,355,,,,,,,,,355,,,,,355,355,355,355,,355,355,355,355,,,,,355,355', ',,,376,376,376,355,376,355,355,355,376,376,355,355,,376,,376,376,376', '376,376,376,376,,,,,,376,376,376,376,376,376,376,,,376,,,,,,,376,,,376', '376,376,376,376,376,376,376,,376,376,376,,376,376,376,376,376,,,,,,', ',,,,,,,,,,,,,376,,,376,,,376,376,,,376,,,,,,376,,,,,,,,,376,,,,,376', '376,376,376,,376,376,376,376,,,,,376,376,,,,392,392,392,376,392,376', '376,376,392,392,376,376,,392,,392,392,392,392,392,392,392,,,,,,392,392', '392,392,392,392,392,,,392,,,,,,,392,,,392,392,392,392,392,392,392,392', ',392,392,392,,392,392,392,392,392,,,,,,,,,,,,,,,,,,,,392,,,392,,,392', '392,,,392,,,,,,392,,,,,,,,,392,,,,,392,392,392,392,,392,392,392,392', ',,,,392,392,,,,419,419,419,392,419,392,392,392,419,419,392,392,,419', ',419,419,419,419,419,419,419,,,,,,419,419,419,419,419,419,419,,,419', ',,,,,,419,,,419,419,419,419,419,419,419,419,,419,419,419,,419,419,419', '419,419,,,,,,,,,,,,,,,,,,,,419,,,419,,,419,419,,,419,,,,,,419,,,,,,', ',,419,,,,,419,419,419,419,,419,419,419,419,,,,,419,419,,,,,,,419,,419', '419,419,443,,419,419,,,,443,443,443,,,443,443,443,,443,,,,,,,,443,443', '443,443,,,,,,,,,443,443,,443,443,443,443,443,,,,,,,,,,,,,,,,,,,,,,,443', '443,443,443,443,443,443,443,443,443,443,443,443,443,,,443,443,443,,', '443,,443,443,,,443,443,,443,,443,,443,,443,443,,443,443,443,443,443', ',443,443,443,1165,,1165,1165,1165,1165,1165,,,,,,,443,,1165,443,443', '452,443,,443,,,,452,452,452,443,,452,452,452,,452,,,1165,,,,,452,452', '452,452,452,,1165,1165,,,,1165,452,452,,452,452,452,452,452,,,,,,,,', ',,,,,,,,,,,,,,452,452,452,452,452,452,452,452,452,452,452,452,452,452', ',,452,452,452,,,452,,,452,,,452,452,,452,,452,,452,,452,452,,452,452', '452,452,452,,452,452,452,,,,,,,,,,,,,,452,,,452,452,452,452,,452,453', '452,,,,,452,453,453,453,,,453,453,453,,453,,,,,,,,453,453,453,453,453', ',,,,,,,453,453,,453,453,453,453,453,,,,,,,,,,,,,,,,,,,,,,,453,453,453', '453,453,453,453,453,453,453,453,453,453,453,,,453,453,453,,,453,,,453', ',,453,453,,453,,453,,453,,453,453,,453,453,453,453,453,,453,453,453', ',,,,,,,,,,,,,453,,,453,453,453,453,,453,,453,,462,462,462,453,462,,', ',462,462,,,,462,,462,462,462,462,462,462,462,,,,,,462,462,462,462,462', '462,462,,,462,,,,,,,462,,,462,462,462,462,462,462,462,462,462,462,462', '462,,462,462,462,462,462,,,,,,,,,,,,,,,,,,,,462,,,462,,,462,462,,,462', ',462,,462,,462,,,462,,,,,,462,,,,,462,462,462,462,,462,462,462,462,', ',,,462,462,,,,464,464,464,462,464,462,462,462,464,464,462,462,,464,', '464,464,464,464,464,464,464,,,,,,464,464,464,464,464,464,464,,,464,', ',,,,,464,,,464,464,464,464,464,464,464,464,,464,464,464,,464,464,464', '464,464,,,,,,,,,,,,,,,,,,,,464,,,464,,,464,464,,,464,,,,,,464,,,,,,', ',,464,,,,,464,464,464,464,,464,464,464,464,,,,,464,464,,,,465,465,465', '464,465,464,464,464,465,465,464,464,,465,,465,465,465,465,465,465,465', ',,,,,465,465,465,465,465,465,465,,,465,,,,,,,465,,,465,465,465,465,465', '465,465,465,,465,465,465,,465,465,465,465,465,,,,,,,,,,,,,,,,,,,,465', ',,465,,,465,465,,,465,,,,,,465,,,,,,,,,465,,,,,465,465,465,465,,465', '465,465,465,,,,,465,465,,,,466,466,466,465,466,465,465,465,466,466,465', '465,,466,,466,466,466,466,466,466,466,,,,,,466,466,466,466,466,466,466', ',,466,,,,,,,466,,,466,466,466,466,466,466,466,466,,466,466,466,,466', '466,466,466,466,,,,,,,,,,,,,,,,,,,,466,,,466,,,466,466,,,466,,,,,,466', ',,,,,,,,466,,,,,466,466,466,466,,466,466,466,466,,,,,466,466,,,,,,,466', ',466,466,466,492,,466,466,,,,492,492,492,,,492,492,492,845,492,845,845', '845,845,845,,,492,492,492,,,,845,,,,,,492,492,,492,492,492,492,492,', ',,,,,,1144,845,1144,1144,1144,1144,1144,,,,845,845,845,845,,1144,,845', ',709,,709,709,709,709,709,492,,,,,,,492,709,,,1144,492,492,,,,845,,', '1144,1144,1144,1144,,,,1144,,,709,,,,,492,492,,,709,709,709,709,,,,709', ',,,492,,,492,,497,497,497,492,497,,,,497,497,492,,,497,,497,497,497', '497,497,497,497,,,,,,497,497,497,497,497,497,497,,,497,,,,,,,497,,,497', '497,497,497,497,497,497,497,,497,497,497,,497,497,497,497,497,,,,,,', ',,,,,,,,,,,,,497,,,497,,,497,497,,,497,,,,,,497,,,,,,,,,497,,,,,497', '497,497,497,,497,497,497,497,,,,,497,497,,,,507,507,507,497,507,497', '497,497,507,507,497,497,,507,,507,507,507,507,507,507,507,,,,,,507,507', '507,507,507,507,507,,,507,,,,,,,507,,,507,507,507,507,507,507,507,507', '507,507,507,507,,507,507,507,507,507,,,,,,,,,,,,,,,,,,,,507,,,507,,', '507,507,,,507,,507,,507,,507,,,507,,,,,,507,,,,,507,507,507,507,,507', '507,507,507,,,,,507,507,,,,509,509,509,507,509,507,507,507,509,509,507', '507,,509,,509,509,509,509,509,509,509,,,,,,509,509,509,509,509,509,509', ',,509,,,,,,,509,,,509,509,509,509,509,509,509,509,509,509,509,509,,509', '509,509,509,509,,,,,,,,,,,,,,,,,,,,509,,,509,,,509,509,,,509,,,,509', ',509,,,509,,,,,,509,,,,,509,509,509,509,,509,509,509,509,,,,,509,509', ',,,511,511,511,509,511,509,509,509,511,511,509,509,,511,,511,511,511', '511,511,511,511,,,,,,511,511,511,511,511,511,511,,,511,,,,,,,511,,,511', '511,511,511,511,511,511,511,,511,511,511,,511,511,511,511,511,,,,,,', ',,,,,,,,,,,,,511,,,511,,,511,511,,,511,,,,,,511,,,,,,,,,511,,,,,511', '511,511,511,,511,511,511,511,,,,,511,511,,,,,,,511,,511,511,511,,,511', '511,517,517,517,517,517,,,,517,517,,,,517,,517,517,517,517,517,517,517', ',,,,,517,517,517,517,517,517,517,,,517,,,,,,517,517,517,517,517,517', '517,517,517,517,517,517,,517,517,517,,517,517,517,517,517,,,,,,,,,,', ',,,,,,,,,517,,,517,,,517,517,,,517,,517,,,,517,,,,,,,,,517,,,,,517,517', '517,517,,517,517,517,517,,,,,517,517,,,,,,517,517,,517,517,517,,,517', '517,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,527,,527,527,527,527,,,,,527,527,,,,536,536,536,527,536,527,527', '527,536,536,527,527,,536,,536,536,536,536,536,536,536,,,,,,536,536,536', '536,536,536,536,,,536,,,,,,,536,,,536,536,536,536,536,536,536,536,,536', '536,536,,536,536,536,536,536,,,,,,,,,,,,,,,,,,,,536,,,536,,,536,536', ',,536,,,,,,536,,,,,,,,,536,,,,,536,536,536,536,,536,536,536,536,,,,', '536,536,,,,539,539,539,536,539,536,536,536,539,539,536,536,,539,,539', '539,539,539,539,539,539,,,,,,539,539,539,539,539,539,539,,,539,,,,,', ',539,,,539,539,539,539,539,539,539,539,,539,539,539,,539,539,539,539', '539,,,,,,,,,,,,,,,,,,,,539,,,539,,,539,539,,,539,,,,,,539,,,,,,,,,539', ',,,,539,539,539,539,,539,539,539,539,,,,,539,539,,,,542,542,542,539', '542,539,539,539,542,542,539,539,,542,,542,542,542,542,542,542,542,,', ',,,542,542,542,542,542,542,542,,,542,,,,,,,542,,,542,542,542,542,542', '542,542,542,,542,542,542,,542,542,542,542,542,,,,,,,,,,,,,,,,,,,,542', ',,542,,,542,542,,,542,,,,,,542,,,,,,,,,542,,,,,542,542,542,542,,542', '542,542,542,,,,,542,542,,,,918,918,918,542,918,542,542,542,918,918,542', '542,,918,,918,918,918,918,918,918,918,,,,,,918,918,918,918,918,918,918', ',,918,,,,,,,918,,,918,918,918,918,918,918,918,918,,918,918,918,,918', '918,918,918,918,,,,,,,,,,,,,,,,,,,,918,,,918,,,918,918,,,918,,,,,,918', ',,,,,,,,918,,,,,918,918,918,918,,918,918,918,918,,,,,918,918,,,,548', '548,548,918,548,918,918,918,548,548,918,918,,548,,548,548,548,548,548', '548,548,,,,,,548,548,548,548,548,548,548,,,548,,,,,,,548,,,548,548,548', '548,548,548,548,548,548,548,548,548,,548,548,548,548,548,,,,,,,,,,,', ',,,,,,,,548,,,548,,,548,548,,,548,,548,,,,548,,,548,,,,,,548,,,,,548', '548,548,548,,548,548,548,548,,,,,548,548,,,,551,551,551,548,551,548', '548,548,551,551,548,548,,551,,551,551,551,551,551,551,551,,,,,,551,551', '551,551,551,551,551,,,551,,,,,,,551,,,551,551,551,551,551,551,551,551', '551,551,551,551,,551,551,551,551,551,,,,,,,,,,,,,,,,,,,,551,,,551,,', '551,551,,,551,,,,,,551,,,551,,,,,,551,,,,,551,551,551,551,,551,551,551', '551,,,,,551,551,,,,917,917,917,551,917,551,551,551,917,917,551,551,', '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,917,,,,,917,917', ',,,566,566,566,917,566,917,917,917,566,566,917,917,,566,,566,566,566', '566,566,566,566,,,,,,566,566,566,566,566,566,566,,,566,,,,,,,566,,,566', '566,566,566,566,566,566,566,,566,566,566,,566,566,566,566,566,,,,,,', ',,,,,,,,,,,,,566,,,566,,,566,566,,,566,,566,,,,566,,,,,,,,,566,,,,,566', '566,566,566,,566,566,566,566,,,,,566,566,,,,567,567,567,566,567,566', '566,566,567,567,566,566,,567,,567,567,567,567,567,567,567,,,,,,567,567', '567,567,567,567,567,,,567,,,,,,,567,,,567,567,567,567,567,567,567,567', '567,567,567,567,,567,567,567,567,567,,,,,,,,,,,,,,,,,,,,567,,,567,,', '567,567,,,567,,567,,567,,567,,,567,,,,,,567,,,,,567,567,567,567,,567', '567,567,567,,,,,567,567,,,,577,577,577,567,577,567,567,567,577,577,567', '567,,577,,577,577,577,577,577,577,577,,,,,,577,577,577,577,577,577,577', ',,577,,,,,,,577,,,577,577,577,577,577,577,577,577,577,577,577,577,,577', '577,577,577,577,,,,,,,,,,,,,,,,,,,,577,,,577,,,577,577,,,577,,577,,577', ',577,,,577,,,,,,577,,,,,577,577,577,577,,577,577,577,577,,,,,577,577', ',,,896,896,896,577,896,577,577,577,896,896,577,577,,896,,896,896,896', '896,896,896,896,,,,,,896,896,896,896,896,896,896,,,896,,,,,,,896,,,896', '896,896,896,896,896,896,896,,896,896,896,,896,896,896,896,896,,,,,,', ',,,,,,,,,,,,,896,,,896,,,896,896,,,896,,896,,,,896,,,,,,,,,896,,,,,896', '896,896,896,,896,896,896,896,,,,,896,896,,,,,,,896,,896,896,896,,,896', '896,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,608,,,,,608,608,,,,610,610,610,608,610,608,608,608', '610,610,608,608,,610,,610,610,610,610,610,610,610,,,,,,610,610,610,610', '610,610,610,,,610,,,,,,,610,,,610,610,610,610,610,610,610,610,,610,610', '610,,610,610,610,610,610,,,,,,,,,,,,,,,,,,,,610,,,610,,,610,610,,,610', ',610,,,,610,,,,,,,,,610,,,,,610,610,610,610,,610,610,610,610,,,,,610', '610,,,,611,611,611,610,611,610,610,610,611,611,610,610,,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,,,,612,612,612,611,612', '611,611,611,612,612,611,611,,612,,612,612,612,612,612,612,612,,,,,,612', '612,612,612,612,612,612,,,612,,,,,,,612,,,612,612,612,612,612,612,612', '612,612,612,612,612,,612,612,612,612,612,,,,,,,,,,,,,,,,,,,,612,,,612', ',,612,612,,,612,,612,,612,,612,,,612,,,,,,612,,,,,612,612,612,612,,612', '612,612,612,,,,,612,612,,,,,,,612,,612,612,612,,,612,612,615,615,615', '615,615,,,,615,615,,,,615,,615,615,615,615,615,615,615,,,,,,615,615', '615,615,615,615,615,,,615,,,,,,615,615,,615,615,615,615,615,615,615', '615,615,,615,615,615,,615,615,615,615,615,,,,,,,,,,,,,,,,,,,,615,,,615', ',,615,615,,,615,,615,,,,615,,,,,,,,,615,,,,,615,615,615,615,,615,615', '615,615,,,,,615,615,,,,616,616,616,615,616,615,615,615,616,616,615,615', ',616,,616,616,616,616,616,616,616,,,,,,616,616,616,616,616,616,616,', ',616,,,,,,,616,,,616,616,616,616,616,616,616,616,,616,616,616,,616,616', '616,616,616,,,,,,,,,,,,,,,,,,,,616,,,616,,,616,616,,,616,,,,,,616,,', ',,,,,,616,,,,,616,616,616,616,,616,616,616,616,,,,,616,616,,,,891,891', '891,616,891,616,616,616,891,891,616,616,,891,,891,891,891,891,891,891', '891,,,,,,891,891,891,891,891,891,891,,,891,,,,,,,891,,,891,891,891,891', '891,891,891,891,,891,891,891,,891,891,891,891,891,,,,,,,,,,,,,,,,,,', ',891,,,891,,,891,891,,,891,,,,,,891,,,,,,,,,891,,,,,891,891,891,891', ',891,891,891,891,,,,,891,891,,,,619,619,619,891,619,891,891,891,619', '619,891,891,,619,,619,619,619,619,619,619,619,,,,,,619,619,619,619,619', '619,619,,,619,,,,,,,619,,,619,619,619,619,619,619,619,619,619,619,619', '619,,619,619,619,619,619,,,,,,,,,,,,,,,,,,,,619,,,619,,,619,619,,,619', ',619,,619,,619,,,619,,,,,,619,,,,,619,619,619,619,,619,619,619,619,', ',,,619,619,,,,620,620,620,619,620,619,619,619,620,620,619,619,,620,', '620,620,620,620,620,620,620,,,,,,620,620,620,620,620,620,620,,,620,', ',,,,,620,,,620,620,620,620,620,620,620,620,620,620,620,620,,620,620', '620,620,620,,,,,,,,,,,,,,,,,,,,620,,,620,,,620,620,,,620,,,,620,,620', ',,620,,,,,,620,,,,,620,620,620,620,,620,620,620,620,,,,,620,620,,,,621', '621,621,620,621,620,620,620,621,621,620,620,,621,,621,621,621,621,621', '621,621,,,,,,621,621,621,621,621,621,621,,,621,,,,,,,621,,,621,621,621', '621,621,621,621,621,,621,621,621,,621,621,621,621,621,,,,,,,,,,,,,,', ',,,,,621,,,621,,,621,621,,,621,,,,,,621,,,,,,,,,621,,,,,621,621,621', '621,,621,621,621,621,,,,,621,621,,,,622,622,622,621,622,621,621,621', '622,622,621,621,,622,,622,622,622,622,622,622,622,,,,,,622,622,622,622', '622,622,622,,,622,,,,,,,622,,,622,622,622,622,622,622,622,622,,622,622', '622,,622,622,622,622,622,,,,,,,,,,,,,,,,,,,,622,,,622,,,622,622,,,622', ',,,,,622,,,,,,,,,622,,,,,622,622,622,622,,622,622,622,622,,,,,622,622', ',,,626,626,626,622,626,622,622,622,626,626,622,622,,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,626,626,,,,,,', ',,,,,,,,,,,,,626,,,626,,,626,626,,,626,,,,,,626,,,,,,,,,626,,,,,626', '626,626,626,,626,626,626,626,,,,,626,626,,,,627,627,627,626,627,626', '626,626,627,627,626,626,,627,,627,627,627,627,627,627,627,,,,,,627,627', '627,627,627,627,627,,,627,,,,,,,627,,,627,627,627,627,627,627,627,627', ',627,627,627,,627,627,627,627,627,,,,,,,,,,,,,,,,,,,,627,,,627,,,627', '627,,,627,,,,,,627,,,,,,,,,627,,,,,627,627,627,627,,627,627,627,627', ',,,,627,627,,,,876,876,876,627,876,627,627,627,876,876,627,627,,876', ',876,876,876,876,876,876,876,,,,,,876,876,876,876,876,876,876,,,876', ',,,,,,876,,,876,876,876,876,876,876,876,876,,876,876,876,,876,876,876', '876,876,,,,,,,,,,,,,,,,,,,,876,,,876,,,876,876,,,876,,,,,,876,,,,,,', ',,876,,,,,876,876,876,876,,876,876,876,876,,,,,876,876,,,,672,672,672', '876,672,876,876,876,672,672,876,876,,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,672,672,672,,,,,,,,,,,,,,,,,,,', '672,,,672,,,672,672,,,672,,672,,672,,672,,,672,,,,,,672,,,,,672,672', '672,672,,672,672,672,672,,,,,672,672,,,,836,836,836,672,836,672,672', '672,836,836,672,672,,836,,836,836,836,836,836,836,836,,,,,,836,836,836', '836,836,836,836,,,836,,,,,,,836,,,836,836,836,836,836,836,836,836,,836', '836,836,,836,836,836,836,836,,,,,,,,,,,,,,,,,,,,836,,,836,,,836,836', ',,836,,,,,,836,,,,,,,,,836,,,,,836,836,836,836,,836,836,836,836,,,,', '836,836,,,,681,681,681,836,681,836,836,836,681,681,836,836,,681,,681', '681,681,681,681,681,681,,,,,,681,681,681,681,681,681,681,,,681,,,,,', ',681,,,681,681,681,681,681,681,681,681,,681,681,681,,681,681,681,681', '681,,,,,,,,,,,,,,,,,,,,681,,,681,,,681,681,,,681,,,,,,681,,,,,,,,,681', ',,,,681,681,681,681,,681,681,681,681,,,,,681,681,,,,684,684,684,681', '684,681,681,681,684,684,681,681,,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,,,,703,703,703,684,703,684,684,684,703,703,684', '684,,703,,703,703,703,703,703,703,703,,,,,,703,703,703,703,703,703,703', ',,703,,,,,,,703,,,703,703,703,703,703,703,703,703,,703,703,703,,703', '703,703,703,703,,,,,,,,,,,,,,,,,,,,703,,,703,,,703,703,,,703,,703,,', ',703,,,,,,,,,703,,,,,703,703,703,703,,703,703,703,703,,,,,703,703,,', ',813,813,813,703,813,703,703,703,813,813,703,703,,813,,813,813,813,813', '813,813,813,,,,,,813,813,813,813,813,813,813,,,813,,,,,,,813,,,813,813', '813,813,813,813,813,813,,813,813,813,,813,813,813,813,813,,,,,,,,,,', ',,,,,,,,,813,,,813,,,813,813,,,813,,,,,,813,,,,,,,,,813,,,,,813,813', '813,813,,813,813,813,813,,,,,813,813,,,,812,812,812,813,812,813,813', '813,812,812,813,813,,812,,812,812,812,812,812,812,812,,,,,,812,812,812', '812,812,812,812,,,812,,,,,,,812,,,812,812,812,812,812,812,812,812,,812', '812,812,,812,812,812,812,812,,,,,,,,,,,,,,,,,,,,812,,,812,,,812,812', ',,812,,,,,,812,,,,,,,,,812,,,,,812,812,812,812,,812,812,812,812,,,,', '812,812,,,,811,811,811,812,811,812,812,812,811,811,812,812,,811,,811', '811,811,811,811,811,811,,,,,,811,811,811,811,811,811,811,,,811,,,,,', ',811,,,811,811,811,811,811,811,811,811,,811,811,811,,811,811,811,811', '811,,,,,,,,,,,,,,,,,,,,811,,,811,,,811,811,,,811,,,,,,811,,,,,,,,,811', ',,,,811,811,811,811,,811,811,811,811,,,,,811,811,,,,810,810,810,811', '810,811,811,811,810,810,811,811,,810,,810,810,810,810,810,810,810,,', ',,,810,810,810,810,810,810,810,,,810,,,,,,,810,,,810,810,810,810,810', '810,810,810,,810,810,810,,810,810,810,810,810,,,,,,,,,,,,,,,,,,,,810', ',,810,,,810,810,,,810,,,,,,810,,,,,,,,,810,,,,,810,810,810,810,,810', '810,810,810,,,,,810,810,,,,730,730,730,810,730,810,810,810,730,730,810', '810,,730,,730,730,730,730,730,730,730,,,,,,730,730,730,730,730,730,730', ',,730,,,,,,,730,,,730,730,730,730,730,730,730,730,,730,730,730,,730', '730,730,730,730,,,,,,,,,,,,,,,,,,,,730,,,730,,,730,730,,,730,,,,,,730', ',,,,,,,,730,,,,,730,730,730,730,,730,730,730,730,,,,,730,730,,,,797', '797,797,730,797,730,730,730,797,797,730,730,,797,,797,797,797,797,797', '797,797,,,,,,797,797,797,797,797,797,797,,,797,,,,,,,797,,,797,797,797', '797,797,797,797,797,,797,797,797,,797,797,797,797,797,,,,,,,,,,,,,,', ',,,,,797,,,797,,,797,797,,,797,,,,,,797,,,,,,,,,797,,,,,797,797,797', '797,,797,797,797,797,,,,,797,797,,,,789,789,789,797,789,797,797,797', '789,789,797,797,,789,,789,789,789,789,789,789,789,,,,,,789,789,789,789', '789,789,789,,,789,,,,,,,789,,,789,789,789,789,789,789,789,789,,789,789', '789,,789,789,789,789,789,,,,,,,,,,,,,,,,,,,,789,,,789,,,789,789,,,789', ',,,,,789,,,,,,,,,789,,,,,789,789,789,789,,789,789,789,789,,,,,789,789', ',,,74,74,74,789,74,789,789,789,74,74,789,789,,74,,74,74,74,74,74,74', '74,,,,,,74,74,74,74,74,74,74,,,74,,,,,,,74,,,74,74,74,74,74,74,74,74', ',74,74,74,,74,74,,,74,,,,,,,,,,,,,,,,,74,,,74,,,74,,,74,74,,,74,,,,', ',,,,,,,,,,,,,,,74,74,74,74,,74,74,74,74,,,,,74,74,,,,73,73,73,74,73', '74,74,74,73,73,,,,73,,73,73,73,73,73,73,73,,,,,,73,73,73,73,73,73,73', ',,73,,,,,,,73,,,73,73,73,73,73,73,73,73,,73,73,73,,73,73,,,73,,,,,,', ',,,,,,,,,,,,,73,,,73,,,73,73,,,73,,73,,,,,,,,,,,,,,,,,,73,73,73,73,', '73,73,73,73,,,,,73,73,,,,687,687,687,73,687,73,73,73,687,687,,,,687', ',687,687,687,687,687,687,687,,,,,,687,687,687,687,687,687,687,,,687', ',,,,,,687,,,687,687,687,687,687,687,687,687,,687,687,687,,687,687,,', '687,,,,,,,,,,,,,,,,,,,,687,,,687,,,687,687,,,687,,,,,,,,,,,,,,,,,,,', '687,687,687,687,,687,687,687,687,,,,,687,687,,,,698,698,698,687,698', '687,687,687,698,698,,,,698,,698,698,698,698,698,698,698,,,,,,698,698', '698,698,698,698,698,,,698,,,,,,,698,,,698,698,698,698,698,698,698,698', ',698,698,698,,698,698,,,698,,,,,,,,,,,,,,,,,,,,698,,,698,,,698,698,', ',698,,,,,,,,,,,,,,,,,,,,698,698,698,698,,698,698,698,698,,,,,698,698', ',,,533,533,533,698,533,698,698,698,533,533,,,,533,,533,533,533,533,533', '533,533,,,,,,533,533,533,533,533,533,533,,,533,,,,,,,533,,,533,533,533', '533,533,533,533,533,,533,533,533,,533,533,,,533,,,,,,,,,,,,,,,,,,,,533', ',,533,,,533,533,,,533,,,,,,,,,,,,,,,,,,,,533,533,533,533,,533,533,533', '533,,,,,533,533,,,,311,311,311,533,311,533,533,533,311,311,,,,311,,311', '311,311,311,311,311,311,,,,,,311,311,311,311,311,311,311,,,311,,,,,', ',311,,,311,311,311,311,311,311,311,311,,311,311,311,,311,311,,,311,', ',,,,,,,,,,,,,,,,,,311,,,311,,,311,311,,,311,,,1146,,1146,1146,1146,1146', '1146,,,,,,,,,1146,,311,311,311,311,,311,311,311,311,,,,,311,311,,,,311', ',1146,311,,311,311,311,75,75,75,,75,1146,1146,,75,75,1146,,,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,,,,37,37', '37,75,37,75,75,75,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,,,874,,874,874,874,874,874', ',,,,,,,,874,,37,37,37,37,,37,37,37,37,,,,,37,37,,,,37,,874,37,,37,37', '37,974,974,974,,974,874,874,,974,974,874,,,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,,,,965,965,965,974,965,974,974,974,965,965,,,,965,,965', '965,965,965,965,965,965,,,,,,965,965,965,965,965,965,965,,,965,,,,,', ',965,,,965,965,965,965,965,965,965,965,,965,965,965,,965,965,,,965,', ',,,,,,,,,,,,,,,,,,965,,,965,,,965,965,,,965,,,,,,,,,,,,,,,,,,,,965,965', '965,965,,965,965,965,965,,,,,965,965,,,,36,36,36,965,36,965,965,965', '36,36,,,,36,,36,36,36,36,36,36,36,,,,,,36,36,36,36,36,36,36,,,36,,,', ',,,36,,,36,36,36,36,36,36,36,36,,36,36,36,,36,36,,,36,,,,,,,,,,,,,,', ',,,,,36,,,36,,,36,36,,,36,,36,,,,,,,,,,,,,,,,,,36,36,36,36,,36,36,36', '36,,,,,36,36,,,,525,525,525,36,525,36,36,36,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,,,,1053,1053,1053,525,1053,525,525', '525,1053,1053,,,,1053,,1053,1053,1053,1053,1053,1053,1053,,,,,,1053', '1053,1053,1053,1053,1053,1053,,,1053,,,,,,,1053,,,1053,1053,1053,1053', '1053,1053,1053,1053,,1053,1053,1053,,1053,1053,,,1053,,,,,,,,,,,,,,', ',,,,,1053,,,1053,,,1053,1053,,,1053,,,,,,,,,,,,,,,,,,,,1053,1053,1053', '1053,,1053,1053,1053,1053,,,,,1053,1053,,,,328,328,328,1053,328,1053', '1053,1053,328,328,,,,328,,328,328,328,328,328,328,328,,,,,,328,328,328', '328,328,328,328,,,328,,,,,,,328,,,328,328,328,328,328,328,328,328,,328', '328,328,,328,328,,,328,,,,,,,,,,,,,,,,,,,,328,,,328,,,328,328,,,328', ',,,,,,,,,,,,,,,,,,,328,328,328,328,,328,328,328,328,,,,,328,328,,,,', ',,328,,328,328,328,606,606,606,606,606,606,606,606,606,606,606,606,606', '606,606,606,606,606,606,606,606,606,606,606,,,,606,606,606,606,606,606', '606,606,606,606,,,,,,606,606,606,606,606,606,606,606,606,,,606,,,,,', ',,606,606,,606,606,606,606,606,606,606,,,606,606,,,,606,606,606,606', ',,,,,,,,,,,,,606,606,,606,606,606,606,606,606,606,606,606,606,606,606', ',,606,606,,,,,,,,,,,,,,606,11,11,11,11,11,11,11,11,11,11,11,11,11,11', '11,11,11,11,11,11,11,11,11,11,,,,11,11,11,11,11,11,11,11,11,11,,,,,', '11,11,11,11,11,11,11,11,11,,,11,,,,,,,,11,11,,11,11,11,11,11,11,11,', ',11,11,,,,11,11,11,11,,,,,,,,,,,,,,11,11,,11,11,11,11,11,11,11,11,11', '11,11,11,,,11,11,,,,,,,,,,,,,,11,410,410,410,410,410,410,410,410,410', '410,410,410,410,410,410,410,410,410,410,410,410,410,410,410,,,,410,410', '410,410,410,410,410,410,410,410,,,,,,410,410,410,410,410,410,410,410', '410,,,410,,,,,,,,410,410,,410,410,410,410,410,410,410,,,410,410,,,,410', '410,410,410,,,,,,,,,,,,,,410,410,,410,410,410,410,410,410,410,410,410', '410,410,410,,,410,410,,,,,,,,,,,,,,410,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,467,467,467,467,,,,,,,,,,10,,,467,467,467', '467,,,771,467,771,771,771,771,771,467,467,,,467,,,,771,,,,,,,,,,,,,', ',,467,,,467,,,771,467,,,467,,,,,771,771,771,771,,,,771,,,,467,,,,467', '467,467,467,,467,467,467,467,,,,,467,467,819,819,819,819,,,467,,467', '467,467,,,467,467,,819,819,819,819,,,,819,819,,,,,819,819,,,819,819', ',,,,,,,,,,,,,,,,,,819,,,819,,,,819,,,819,,819,,,,,,,819,,,,,,,819,,', ',819,819,819,819,,819,819,819,819,,,,,819,819,,,,,,,819,,819,819,819', ',,819,819,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772', '772,772,772,772,772,772,772,772,772,,,,772,772,772,772,772,772,772,772', '772,772,,,,,,772,772,772,772,772,772,772,772,772,,,772,,,,,,,,772,772', ',772,772,772,772,772,772,772,,,772,772,,,,772,772,772,772,,,,,,,,,,', ',,,772,772,,772,772,772,772,772,772,772,772,772,772,772,772,,,772,1095', '1095,1095,1095,,,1148,,1148,1148,1148,1148,1148,,,,1095,1095,1095,1095', ',1148,,1095,,,,,,1095,1095,,,1095,,,,,,,,,,1148,,,,,,,,,,1095,1148,1148', '1095,,,1148,1095,,,1095,,,,,,,,,,,,,,,,1095,,,,1095,1095,1095,1095,', '1095,1095,1095,1095,,,,,1095,1095,895,895,895,895,,,1095,,1095,1095', '1095,,,1095,1095,,895,895,895,895,,,,895,895,,,,,895,895,,,895,895,', ',,,,,,,,,,,,,,,,,895,,,895,,,,895,,,895,,895,,,,,,,895,,,,,,,895,,,', '895,895,895,895,,895,895,895,895,,,,,895,895,1027,1027,1027,1027,,,895', ',895,895,895,,,895,895,,1027,1027,1027,1027,,,870,1027,870,870,870,870', '870,1027,1027,,,1027,,,,870,,,,,,,,,,,,,,,,1027,,,1027,,,870,1027,,', '1027,,,,,870,870,870,870,,,,870,,,,1027,,,,1027,1027,1027,1027,,1027', '1027,1027,1027,,,,,1027,1027,1085,1085,1085,1085,,,1027,,1027,1027,1027', ',,1027,1027,,1085,1085,1085,1085,,,1044,1085,1044,1044,1044,1044,1044', '1085,1085,,,1085,,,,1044,,,,,,,,,,,,,,,,1085,,,1085,,,1044,1085,,,1085', ',1085,,,1044,1044,1044,1044,,,,1044,,,,1085,,,,1085,1085,1085,1085,', '1085,1085,1085,1085,,,,,1085,1085,1094,1094,1094,1094,,,1085,,1085,1085', '1085,,,1085,1085,,1094,1094,1094,1094,,,1046,1094,1046,1046,1046,1046', '1046,1094,1094,,,1094,,,,1046,,,,,,,,,,,,,,,,1094,,,1094,,,1046,1094', ',,1094,,,,,1046,1046,1046,1046,,,,1046,,,,1094,,,,1094,1094,1094,1094', ',1094,1094,1094,1094,,,,,1094,1094,827,827,827,827,,,1094,,1094,1094', '1094,,,1094,1094,,827,827,827,827,,,1072,827,1072,1072,1072,1072,1072', '827,827,,,827,,,,1072,,,,,,,,,,,,,,,,827,,,827,,,1072,827,,,827,,,,', ',,1072,1072,,,,1072,,,,827,,,,827,827,827,827,,827,827,827,827,,,,,827', '827,822,822,822,822,,,827,,827,827,827,,,827,827,,822,822,822,822,,', '1048,822,1048,1048,1048,1048,1048,822,822,,,822,,,,1048,,,,,,,,,,,,', ',,,822,,,822,,,1048,822,,,822,,822,,,,,1048,1048,,,,1048,,,,822,,,,822', '822,822,822,,822,822,822,822,,,,,822,822,,,,,,,822,,822,822,822,,,822', '822,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,,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,816', '816,816,816,,,1150,,1150,1150,1150,1150,1150,,,,816,816,816,816,,1150', ',816,,,,,,816,816,,,816,,,,,,,,,,1150,,,,,,,,,,816,1150,1150,816,,,1150', '816,,,816,,,,,,,,,,,,,,,,816,,,,816,816,816,816,,816,816,816,816,,,', ',816,816,820,820,820,820,,,816,,816,816,816,,,816,816,,820,820,820,820', ',,,820,820,,,,,820,820,,,820,820,,,,,,,,,,,,,,,,,,,820,,,820,,,,820', ',,820,,820,,,,,,,820,,,,,,,820,,,,820,820,820,820,,820,820,820,820,', ',,,820,820,1142,1142,1142,1142,,,820,,820,820,820,,,820,820,,1142,1142', '1142,1142,,,1070,1142,1070,1070,1070,1070,1070,1142,1142,,,1142,,,,1070', ',,,,,,,,,,,,,,,1142,,,1142,,,1070,1142,,,1142,,,,,,,1070,1070,,,,1070', ',,,1142,,,,1142,1142,1142,1142,,1142,1142,1142,1142,,,,,1142,1142,1139', '1139,1139,1139,,,1142,,1142,1142,1142,,,1142,1142,,1139,1139,1139,1139', ',,1068,1139,1068,1068,1068,1068,1068,1139,1139,,,1139,,,,1068,,,,,,', ',,,,,,,,,1139,,,1139,,,1068,1139,,,1139,,,,,1068,1068,1068,1068,,,,1068', ',,,1139,,,,1139,1139,1139,1139,,1139,1139,1139,1139,,,,,1139,1139,934', '934,934,934,,,1139,,1139,1139,1139,,,1139,1139,,934,934,934,934,,,1186', '934,1186,1186,1186,1186,1186,934,934,,,934,,,,1186,,,,,,,,,,,,,,,,934', ',,934,,,1186,934,,,934,,,,,,,1186,1186,,,,1186,,,,934,,,,934,934,934', '934,,934,934,934,934,,,,,934,934,926,926,926,926,,,934,,934,934,934', ',,934,934,,926,926,926,926,,,,926,,,,,,926,926,,,926,,,,,,,,829,829', '829,829,,,,,,,,,926,,,926,829,829,829,926,,,926,,926,,,,,829,829,,,829', ',,,,926,,,,926,926,926,926,,926,926,926,926,,,,,926,926,,,,,,,926,,926', '926,926,,,926,926,556,,556,556,556,556,556,,,,,829,829,829,829,556,829', '829,829,829,,,,,829,829,650,650,650,650,,,829,,829,829,829,556,556,', ',,650,650,650,,556,556,556,556,,,,556,,650,650,,,650,649,649,649,649', ',,,,,,,,,,,,649,649,649,,,,,,,,,,,649,649,,,649,,,,,,,,,,,,,,,,650,650', '650,650,,650,650,650,650,,,,,650,650,,,,,,,650,,650,650,650,,,,,,,,', '649,649,649,649,,649,649,649,649,,,,,649,649,1122,1122,,,1122,,649,', '649,649,649,,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,1121,1121,1122,,1121,,,,,,,', '1121,1121,,1121,1121,1121,1121,1121,1121,1121,,,1121,1121,,,,1121,1121', '1121,1121,,,,,,1121,,,,,,,,1121,1121,,1121,1121,1121,1121,1121,1121', '1121,1121,1121,1121,1121,1121,529,529,1121,,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,1117,1117', '529,,1117,,,,,,,,1117,1117,,1117,1117,1117,1117,1117,1117,1117,,,1117', '1117,,,,1117,1117,1117,1117,,,,,,1117,,,,,,,,1117,1117,,1117,1117,1117', '1117,1117,1117,1117,1117,1117,1117,1117,1117,461,461,1117,,461,,,,,', ',,461,461,,461,461,461,461,461,461,461,,,461,461,,,,461,461,461,461', ',,,,,461,,,,,,,,461,461,,461,461,461,461,461,461,461,461,461,461,461', '461,460,460,461,,460,,,,,,,,460,460,,460,460,460,460,460,460,460,,,460', '460,,,,460,460,460,460,,,,,,460,,,,,,,,460,460,,460,460,460,460,460', '460,460,460,460,460,460,460,223,223,460,,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,222,222,223,,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,538,538,222,,538,,,,,,,,538,538,,538,538,538,538,538,538,538', ',,538,538,,,,538,538,538,538,,,,,,538,,,,,,,,538,538,,538,538,538,538', '538,538,538,538,538,538,538,538,568,568,538,,568,,,,,,,,568,568,,568', '568,568,568,568,568,568,,,568,568,,,,568,568,568,568,,,,,,568,,,,,,', ',568,568,,568,568,568,568,568,568,568,568,568,568,568,568,569,569,568', ',569,,,,,,,,569,569,,569,569,569,569,569,569,569,,,569,569,,,,569,569', '569,569,,,,,,569,,,,,,,,569,569,,569,569,569,569,569,569,569,569,569', '569,569,569,537,537,569,,537,,,,,,,,537,537,,537,537,537,537,537,537', '537,,,537,537,,,,537,537,537,537,,,,,,537,,,,,,,,537,537,,537,537,537', '537,537,537,537,537,537,537,537,537,614,614,537,,614,,,,,,,,614,614', ',614,614,614,614,614,614,614,,,614,614,,,,614,614,614,614,,,,,,614,', ',,,,,,614,614,,614,614,614,614,614,614,614,614,614,614,614,614,272,272', '614,,272,,,,,,,,272,272,,272,272,272,272,272,272,272,,,272,272,,,,272', '272,272,272,,,,,,,,,,,,,,272,272,,272,272,272,272,272,272,272,272,272', '272,272,272,575,575,272,,575,,,,,,,,575,575,,575,575,575,575,575,575', '575,,,575,575,,,,575,575,575,575,,,,,,575,,,,,,,,575,575,,575,575,575', '575,575,575,575,575,575,575,575,575,576,576,575,,576,,,,,,,,576,576', ',576,576,576,576,576,576,576,,,576,576,,,,576,576,576,576,,,,,,576,', ',,,,,,576,576,,576,576,576,576,576,576,576,576,576,576,576,576,613,613', '576,,613,,,,,,,,613,613,,613,613,613,613,613,613,613,,,613,613,,,,613', '613,613,613,,,,,,613,,,,,,,,613,613,,613,613,613,613,613,613,613,613', '613,613,613,613,528,528,613,,528,,,,,,,,528,528,,528,528,528,528,528', '528,528,,,528,528,,,,528,528,528,528,,,,,,528,,,,,,,,528,528,,528,528', '528,528,528,528,528,528,528,528,528,528,,1074,528,1074,1074,1074,1074', '1074,,872,,872,872,872,872,872,1074,,,,,,,,872,,,,,,,,,,,,,,1074,,,', ',,,,872,,,1074,1074,,,,1074,872,872,872,872,,,,872' ] racc_action_check = arr = ::Array.new(27375, 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, 1237, 2734, 1451, nil, 277, nil, 5312, 1423, 1335, 24199, 23943, 1317, nil, 1281, 1279, 553, 1335, 829, 634, nil, -70, 5443, 1150, 1393, nil, 588, nil, 165, 5584, 5694, 5828, 5959, 6090, nil, 3742, 23283, 22882, nil, 1275, 416, 442, 1352, 6221, 6352, 123, 6483, 6614, 578, 6745, 1276, 920, nil, nil, nil, nil, nil, nil, nil, nil, nil, 6886, nil, 7027, 7158, 7289, -15, nil, 7420, 7551, nil, nil, 7682, 22088, 21957, 22751, 25338, nil, nil, nil, nil, nil, nil, nil, nil, 197, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 390, nil, nil, 278, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 7825, nil, nil, nil, nil, 7968, 8099, 8230, 8361, 8504, nil, 2302, nil, 701, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 1265, nil, 2158, 8635, 8766, 8897, 9028, 9159, 9290, 26590, 26529, nil, nil, 9421, 9552, 9683, nil, nil, 872, 283, 310, 1338, 333, 1245, 1298, nil, 9814, 2014, 1292, nil, 9945, 10076, 10207, 10338, 10469, 10600, 10731, 10862, 10993, 11124, 11255, 11386, 11517, 11648, 11779, 11910, 12041, 12172, 12303, 12434, 12565, 12696, nil, nil, nil, nil, 12827, nil, nil, 26956, nil, nil, 1284, 12958, 13089, nil, nil, nil, nil, nil, nil, nil, 13220, nil, 2158, nil, 1245, 1202, nil, 13351, 1247, 13482, nil, nil, 13613, 13744, nil, nil, 315, nil, 13887, 1279, 1221, 1186, 1294, 1180, 1218, 1147, 22612, 4750, 989, 995, 999, 1222, 1022, nil, 1186, 1139, 167, nil, nil, nil, 1175, 198, 1130, 23676, nil, 385, 1150, 3454, 2446, 1196, nil, 1178, 14411, nil, 14542, 3598, 991, 1110, nil, 401, 314, 1142, 1118, 427, 1143, nil, nil, 252, 26, -1, 14673, 4174, 4030, 665, 1190, 1058, -18, 11, 474, 1134, 24, 1154, nil, nil, 997, 694, 370, nil, 501, nil, 1069, 14804, nil, nil, nil, -32, 159, 198, 259, 311, 410, 442, 478, 479, nil, 509, nil, 14935, nil, 389, 386, 380, 422, 268, -31, -27, 415, nil, nil, nil, nil, nil, nil, nil, 1062, 24071, nil, nil, nil, nil, 1053, nil, 1119, 1026, 15066, 1025, nil, nil, 1012, nil, 717, 277, 1105, nil, nil, 1294, nil, nil, nil, nil, nil, 1438, 1017, nil, 1007, 1005, 524, 598, 15207, nil, nil, nil, 639, 529, 1044, nil, nil, 15339, 15475, nil, nil, nil, -14, nil, 1030, 26468, 26407, 15612, -82, 15743, 15874, 16005, 24283, 2590, 2878, 822, 710, 1052, 1051, 1047, 1039, 4462, 4606, 4750, 4318, 4174, 4030, 3886, 3742, 3598, 2330, 2474, 3022, 2734, 1582, 3166, nil, 16146, nil, nil, nil, nil, 16276, 974, 944, 945, nil, nil, nil, 890, nil, nil, 16407, nil, 16538, nil, 16669, nil, 313, nil, nil, nil, 16812, 1567, nil, 889, 852, nil, nil, 848, 23414, 832, 16955, 27200, 26285, 721, 864, nil, 22481, 819, nil, 17086, 26834, 26651, 17217, 3310, 1870, 17348, 941, 933, 791, 828, nil, 17610, nil, nil, 17741, nil, nil, nil, nil, 26005, 1150, 904, nil, 5038, 65, 903, 899, 177, 880, 18003, 18134, 26712, 26773, 65, nil, nil, 833, nil, 27017, 27078, 18265, nil, nil, 194, 4894, 798, nil, 20, nil, nil, nil, 1133, nil, nil, nil, 753, nil, nil, 317, nil, 208, nil, nil, 733, nil, 732, nil, nil, nil, 23815, nil, 18539, 732, 18670, 18801, 18932, 27139, 26895, 19075, 19206, 762, 759, 19468, 19599, 19730, 19861, 747, nil, nil, 19992, 20123, 733, nil, nil, nil, 255, 414, 139, 0, 679, 720, nil, 695, nil, nil, 610, 66, 322, nil, 539, nil, nil, 26084, 26050, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 752, 252, nil, 665, 766, nil, 737, -8, nil, nil, 20385, nil, 625, 619, 645, nil, 441, nil, 477, 20647, nil, nil, 20778, nil, 303, 22219, 400, nil, 359, 165, 167, 381, 237, 757, 345, 246, 22350, nil, 292, 10, 317, 20909, nil, nil, nil, 443, nil, 16165, nil, 183, 176, 101, nil, 53, 26, -41, nil, nil, nil, nil, nil, nil, nil, nil, -86, 2288, nil, nil, 21564, nil, nil, nil, 187, nil, nil, nil, -26, nil, nil, 1443, 653, nil, 1466, nil, nil, nil, nil, nil, 1470, 1469, nil, nil, -11, 1345, 38, 61, 178, 29, 3310, 584, 900, nil, 1322, 1438, 5169, nil, 1445, 3166, 526, 24286, 24524, nil, nil, nil, nil, nil, nil, 3022, nil, nil, nil, nil, nil, nil, nil, nil, 1341, 21826, 1347, 405, -28, 749, 861, nil, 2014, 21695, nil, -84, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 21433, 21302, 21171, 21040, 399, 229, 25421, -75, 134, 24381, 25519, 279, 25195, nil, 774, nil, 403, 25097, 6886, 25952, nil, nil, nil, nil, nil, nil, 20516, nil, 549, nil, nil, 570, 597, nil, nil, 16110, 2878, nil, nil, nil, nil, 622, 163, nil, nil, 760, nil, 3454, 660, 709, nil, nil, nil, 33, 672, 815, nil, nil, 598, nil, 24806, nil, 27270, nil, 22929, nil, 20254, nil, 2317, nil, 704, 705, 1568, 714, nil, nil, nil, nil, nil, 836, nil, 19337, 855, nil, nil, 24705, 18396, 4462, 64, 864, nil, 874, 498, 1006, nil, 883, 763, 763, 775, nil, 647, nil, 782, 778, 154, nil, nil, 17872, 17479, nil, nil, nil, nil, 140, 793, 811, 25911, nil, 813, -19, 817, nil, nil, nil, 25813, nil, nil, 232, 825, 827, nil, 828, 830, nil, nil, -66, nil, nil, nil, 1726, 1582, nil, nil, 853, 854, 862, nil, 865, 867, 868, nil, 893, 875, 880, 873, 23152, nil, nil, nil, nil, 1726, nil, nil, 42, 23021, nil, nil, nil, nil, 988, 951, nil, 1034, nil, nil, 954, 960, nil, 962, 963, nil, 967, nil, nil, 972, 992, 2327, nil, nil, nil, 39, nil, 53, 605, 116, nil, nil, nil, 465, nil, nil, nil, 1110, nil, nil, 636, nil, nil, 1036, nil, nil, nil, 1043, 999, -21, nil, 1003, 24803, 695, 1056, 383, nil, nil, nil, nil, nil, nil, 198, nil, nil, 1183, nil, nil, nil, 24904, nil, 25002, nil, 25198, nil, nil, 1054, 925, 23545, 611, 1122, nil, 3886, 38, 19, 282, 1155, 8, nil, 2446, 2590, nil, nil, 25718, nil, 25620, nil, 25100, nil, 27262, nil, nil, nil, nil, 1113, 1121, 4318, nil, 14280, 14149, 24901, nil, nil, nil, nil, 1144, 4606, nil, 1143, 24999, 24607, 1151, nil, nil, nil, nil, nil, 1152, nil, nil, 1158, 1168, 1169, 1170, nil, 1173, nil, 458, nil, nil, nil, 906, 26346, nil, 1323, 14018, 26224, 26163, -10, 1223, 1341, 1221, 1238, 1241, 1242, 2670, 2356, 687, 1870, nil, nil, nil, nil, 1374, 25715, 1254, 1255, 25617, nil, 16146, nil, 22659, nil, 24594, nil, 25408, nil, nil, nil, 1057, 1324, 1329, nil, 1289, 89, -7, 69, -9, nil, nil, 15270, nil, nil, nil, nil, 1295, nil, 20, nil, 1298, nil, 1302, 1303, 1312, 1313, nil, 6, 1317, nil, nil, nil, 25816, nil, nil, nil, nil, nil, 1174, nil ] racc_action_default = [ -1, -716, -4, -716, -2, -701, -5, -716, -8, -716, -716, -716, -716, -31, -716, -716, -36, -716, -716, -295, -48, -703, -716, -55, -59, -60, -61, -65, -272, -272, -272, -308, -339, -340, -77, -13, -81, -89, -91, -716, -600, -601, -716, -716, -716, -716, -716, -716, -229, -716, -703, -243, -286, -287, -288, -289, -290, -291, -292, -293, -294, -689, -297, -301, -715, -679, -316, -318, -716, -716, -57, -57, -701, -716, -716, -716, -716, -341, -342, -344, -345, -346, -347, -540, -541, -542, -543, -564, -546, -547, -566, -568, -551, -556, -560, -562, -578, -579, -580, -564, -582, -584, -585, -586, -587, -687, -589, -590, -688, -592, -593, -594, -595, -596, -597, -598, -599, -604, -605, 1194, -3, -702, -711, -712, -713, -7, -716, -716, -716, -716, -716, -9, -4, -19, -716, -120, -121, -122, -123, -124, -125, -126, -130, -131, -132, -133, -134, -135, -136, -137, -138, -139, -140, -141, -142, -143, -144, -145, -146, -147, -148, -149, -150, -151, -152, -153, -154, -155, -156, -157, -158, -159, -160, -161, -162, -163, -164, -165, -166, -167, -168, -169, -170, -171, -172, -173, -174, -175, -176, -177, -178, -179, -180, -181, -182, -183, -184, -185, -186, -187, -188, -189, -190, -191, -192, -193, -194, -195, -196, -197, -198, -199, -200, -24, -127, -13, -716, -716, -716, -716, -716, -262, -716, -716, -699, -700, -716, -716, -703, -704, -52, -716, -600, -601, -716, -295, -716, -716, -235, -716, -13, -716, -53, -212, -213, -716, -716, -716, -716, -716, -716, -716, -716, -716, -716, -716, -716, -716, -716, -716, -716, -716, -716, -716, -716, -244, -245, -246, -247, -716, -411, -413, -716, -697, -698, -66, -262, -716, -315, -417, -426, -428, -72, -423, -73, -703, -74, -250, -267, -276, -276, -271, -716, -277, -716, -564, -681, -716, -716, -75, -76, -701, -14, -716, -17, -716, -79, -13, -703, -716, -82, -85, -13, -97, -98, -716, -716, -105, -308, -311, -703, -716, -339, -340, -343, -424, -716, -87, -716, -93, -305, -716, -214, -215, -583, -223, -224, -716, -236, -716, -13, -299, -703, -251, -708, -708, -716, -716, -708, -716, -317, -402, -56, -716, -716, -716, -13, -13, -701, -716, -702, -600, -601, -716, -716, -295, -716, -357, -358, -115, -116, -716, -118, -716, -295, -608, -716, -600, -601, -332, -120, -121, -160, -161, -162, -178, -183, -190, -193, -334, -716, -677, -716, -544, -716, -716, -716, -716, -716, -716, -716, -716, -6, -714, -25, -26, -27, -28, -29, -716, -716, -21, -22, -23, -128, -716, -32, -35, -282, -716, -716, -281, -33, -716, -37, -716, -295, -45, -47, -201, -255, -277, -49, -50, -38, -202, -255, -703, -263, -276, -276, -690, -691, -272, -421, -692, -693, -691, -690, -272, -420, -422, -692, -693, -44, -209, -51, -703, -314, -716, -716, -716, -262, -305, -716, -716, -716, -716, -210, -211, -216, -217, -218, -219, -220, -221, -225, -226, -227, -228, -230, -231, -232, -233, -234, -237, -238, -239, -240, -703, -248, -432, -272, -690, -691, -63, -67, -636, -703, -276, -703, -273, -430, -432, -703, -310, -268, -716, -269, -716, -274, -716, -278, -716, -684, -686, -12, -702, -16, -18, -703, -78, -303, -94, -83, -716, -703, -262, -716, -716, -104, -716, -583, -716, -90, -95, -716, -716, -716, -716, -249, -241, -716, -532, -716, -703, -716, -252, -710, -709, -254, -710, -306, -307, -680, -319, -635, -13, -348, -349, -13, -716, -716, -716, -716, -716, -716, -262, -716, -716, -305, -57, -115, -116, -117, -716, -716, -262, -328, -606, -716, -13, -612, -336, -703, -545, -565, -570, -716, -572, -548, -567, -716, -569, -550, -716, -553, -716, -555, -558, -716, -559, -716, -581, -10, -20, -716, -30, -716, -285, -716, -716, -262, -716, -716, -716, -716, -425, -716, -264, -266, -716, -716, -68, -261, -418, -716, -716, -70, -419, -313, -705, -690, -691, -690, -691, -703, -54, -451, -453, -455, -458, -512, -465, -468, -471, -505, -510, -511, -716, -716, -515, -516, -517, -518, -519, -520, -521, -522, -523, -524, -526, -716, -716, -530, -716, -716, -433, -62, -414, -430, -257, -264, -259, -716, -392, -716, -309, -276, -275, -279, -716, -682, -683, -716, -15, -80, -716, -86, -92, -703, -690, -691, -260, -694, -103, -716, -88, -716, -208, -222, -703, -715, -715, -298, -300, -302, -708, -403, -635, -406, -676, -676, -676, -618, -620, -620, -620, -634, -637, -638, -639, -640, -641, -642, -643, -644, -716, -646, -648, -650, -655, -657, -658, -661, -666, -668, -669, -671, -672, -673, -716, -715, -350, -715, -58, -351, -352, -322, -323, -716, -716, -438, -325, -716, -703, -690, -691, -694, -304, -13, -115, -116, -119, -703, -13, -716, -330, -716, -13, -635, -635, -716, -678, -571, -574, -575, -576, -577, -13, -549, -552, -554, -557, -561, -563, -129, -34, -283, -716, -703, -690, -691, -691, -690, -46, -256, -716, -706, -276, -40, -204, -41, -205, -69, -42, -207, -43, -206, -71, -716, -716, -716, -716, -425, -716, -716, -456, -457, -716, -716, -716, -716, -467, -716, -470, -716, -716, -508, -509, -513, -514, -402, -527, -116, -528, -716, -412, -392, -416, -415, -716, -703, -427, -393, -703, -13, -429, -270, -280, -685, -84, -425, -96, -312, -715, -355, -13, -533, -715, -534, -535, -253, -716, -703, -716, -615, -616, -716, -617, -716, -627, -716, -630, -716, -632, -716, -359, -716, -361, -363, -366, -369, -703, -649, -659, -660, -670, -674, -716, -353, -716, -716, -324, -326, -716, -716, -13, -425, -716, -425, -716, -716, -13, -333, -716, -703, -620, -703, -636, -716, -337, -716, -284, -425, -39, -203, -265, -716, -452, -454, -461, -464, -473, -703, -703, -474, -480, -716, -485, -491, -493, -495, -496, -499, -500, -564, -503, -703, -703, -529, -703, -703, -564, -707, -703, -506, -507, -525, -242, -13, -64, -258, -676, -676, -676, -374, -376, -376, -376, -391, -716, -703, -396, -644, -652, -653, -664, -431, -11, -13, -539, -356, -716, -716, -537, -404, -407, -409, -716, -676, -656, -661, -675, -619, -620, -620, -647, -620, -620, -667, -620, -644, -662, -703, -716, -716, -368, -645, -320, -716, -321, -716, -443, -446, -449, -450, -279, -715, -327, -329, -607, -716, -335, -609, -716, -611, -613, -612, -573, -459, -460, -489, -475, -478, -481, -483, -716, -492, -498, -716, -502, -504, -462, -463, -466, -469, -716, -472, -434, -716, -371, -372, -373, -382, -384, -716, -387, -716, -389, -394, -716, -716, -716, -651, -716, -538, -13, -600, -601, -716, -716, -295, -536, -13, -13, -405, -614, -716, -623, -716, -625, -716, -628, -716, -631, -633, -360, -362, -364, -367, -13, -439, -716, -716, -447, -435, -436, -437, -331, -703, -13, -482, -476, -716, -716, -486, -487, -490, -494, -497, -501, -676, -654, -375, -376, -376, -376, -376, -665, -376, -395, -703, -398, -400, -401, -663, -716, -305, -532, -262, -716, -716, -305, -716, -716, -620, -620, -620, -620, -716, -716, -715, -13, -444, -445, -448, -610, -716, -716, -479, -484, -716, -370, -716, -379, -716, -381, -716, -385, -716, -388, -390, -397, -716, -304, -694, -531, -703, -690, -691, -694, -304, -408, -410, -716, -621, -624, -626, -629, -365, -354, -715, -338, -477, -488, -376, -376, -376, -376, -399, -425, -620, -440, -441, -442, -716, -377, -380, -383, -386, -622, -376, -378 ] clist = [ '41,394,343,222,544,41,324,324,500,227,124,273,309,401,443,449,288,288', '288,389,310,565,138,138,279,283,141,141,751,271,230,133,214,41,314,314', '15,350,339,437,702,15,769,324,324,324,356,357,508,421,422,555,557,560', '682,272,353,354,889,534,358,41,121,8,492,131,327,496,8,15,334,362,378', '378,378,825,855,124,574,958,547,550,637,679,554,679,883,120,138,990', '289,289,289,1078,498,458,682,15,434,275,282,284,846,674,454,985,1080', '367,830,831,961,4,1109,903,404,405,406,407,892,41,306,987,308,344,341', '125,666,765,41,979,41,375,379,351,1113,290,290,290,676,595,597,924,938', '962,941,1115,342,1096,545,340,390,1,505,1112,359,15,578,286,299,300', '368,708,976,617,15,682,15,863,345,348,366,347,352,352,1064,521,352,959', '1065,491,502,503,8,838,591,593,596,596,1086,1002,1183,408,415,8,428', '679,679,428,508,895,1133,1003,986,428,988,391,288,925,939,513,1109,1005', '942,41,1140,1141,460,309,444,919,920,819,820,669,416,427,750,1051,427', '1078,352,352,352,352,427,453,1180,994,41,402,1170,409,866,867,869,768', '822,1115,679,15,985,423,443,449,423,1023,688,824,827,1174,423,288,288', '346,697,950,987,337,710,1098,288,841,1099,1100,15,420,420,2,1105,606', '636,324,763,1006,309,990,832,946,947,309,859,973,393,718,395,987,435', '396,324,397,528,41,455,670,398,41,124,399,531,314,41,400,535,774,779', '877,537,279,766,745,693,283,432,433,630,987,314,467,969,693,546,456', '457,562,563,499,289,15,41,685,524,15,213,561,289,690,15,986,568,410', '981,532,937,937,41,41,1097,937,517,1103,693,519,814,124,518,671,417', '673,693,823,835,677,772,1036,15,273,1106,1018,1107,1079,960,290,1087', '516,782,755,782,686,582,290,15,15,306,689,520,764,581,306,982,526,1126', '987,,501,842,443,449,1136,,,613,504,705,,,804,852,,851,583,809,864,138', '1097,1097,618,141,,937,901,790,605,,905,923,923,848,923,,624,564,,945', '862,,629,718,288,1171,,,773,,897,,,444,,,352,,,682,,,659,877,,1097,', '997,1175,,453,,,1176,665,1091,,580,898,906,910,1041,1042,1043,,624,', '900,,,679,,324,584,,,800,802,,908,324,805,807,,718,718,535,1004,1067', '288,,623,41,914,535,,,628,,,314,444,,,,940,,,314,948,444,742,,860,744', ',,455,453,435,,922,,1184,760,,1029,453,15,288,,,41,,848,41,,,937,288', '668,444,,746,1012,854,,873,875,444,982,,,,,,41,,453,,877,877,767,,453', '428,,,15,,,15,,,288,428,428,,955,,428,428,,41,,,444,,678,699,41,1039', '15,1157,,138,427,,,141,,618,754,453,786,,427,427,618,826,1143,427,427', '1185,,,,840,861,15,,,423,701,659,659,15,,,707,,,423,423,324,,,423,423', ',,1033,1034,,1035,324,787,1088,535,1057,839,,915,795,,618,,,,853,,921', '314,,,,624,,,629,,,,314,801,803,1081,923,1082,806,808,,,,,,952,,,,,', '911,,,877,877,,,,799,,,,,,1125,,,,,,,,899,,,,,,618,,,,1090,,,998,,618', ',902,1138,912,,41,,,,420,41,,,,41,1045,1047,1049,,,1014,428,1016,799', '41,618,,,,,,138,,,,,,,1020,1021,971,15,,,975,,15,955,,955,15,955,427', '618,,,,,,1038,15,659,,,659,659,,659,,,968,,659,659,659,,,,423,,963,972', ',,,,1069,1071,,1073,1075,41,1076,726,,,,1030,,963,,,41,,1037,,,,1077', ',,,,,,,,352,,,916,1008,,,,,1000,15,965,,,1181,,801,803,808,806,,15,', '659,,41,,,,,955,41,955,,955,,955,1011,,,,,,693,,1017,1145,1147,1149', '1151,,1152,,,659,,618,618,,618,826,15,659,,,324,,15,1158,,18,,955,,324', '18,,1056,41,,963,,,,,,,1137,,,231,,,378,,,,349,41,231,231,231,1059,18', '315,315,,,,,1166,1167,1168,1169,15,,,1187,1188,1189,1190,,,,916,352', ',,,726,,18,,1193,15,,231,231,1063,,231,363,373,373,17,,,,,17,,,,324', ',659,,,,,654,,,,1119,,1191,,,,,1124,,,,1121,,17,,,,378,,,,41,,,1132', '18,726,726,41,41,231,231,231,231,18,,18,1134,1135,,,17,965,,,41,965', ',965,659,965,,,,,41,,15,659,659,,,,,15,15,1153,,,954,,288,,,,,1172,', ',,,15,,444,418,431,,,,980,,15,,,,453,658,41,,17,453,964,,659,,,659,', '17,,17,,618,,,,,,,18,231,425,231,231,425,231,726,,726,,425,231,231,15', ',,,,,,,,,,18,,965,,965,,965,,965,352,352,,,,,,510,,512,,,514,515,40', ',,,,40,,,,,,654,654,231,231,,,,,,,965,231,,,,17,,17,,,17,,40,313,313', ',17,,,18,,,,18,,,,315,18,,17,,,657,,,,,,,40,,,,315,,,,,,361,377,377', '377,,,18,,,,,,,,,,,,,,,231,18,18,,,1102,,,,954,,954,726,954,,,,,,658', '658,231,17,,,,17,40,609,,,17,956,,,,40,231,40,,,964,,964,,,,,,,,,983', ',,983,,,,17,,,,,,726,,,,,,,,,,17,17,,907,,,,,,,,654,,,654,654,,654,', ',,,654,654,654,,,,,,,,231,,954,,954,,954,,954,680,,349,,683,40,,,,,', ',,,,,,,,,,,,,,964,,,657,657,40,,,,,954,,957,,,,680,,,349,,18,,,654,', ',,,315,,231,,,431,,,315,656,989,,991,,,,658,231,,658,658,,658,,,,654', '658,658,658,,,18,,654,18,,,,40,,,231,40,,,,313,40,788,,,231,,,,18,983', '680,349,,956,,956,313,956,17,,,,,,,,,,40,,,,,,,18,,,425,231,,,18,,40', '40,,658,425,425,655,,,425,425,,,,17,,,17,,680,,,,,,,,,849,,,850,,,658', '654,,,17,,,,658,,,,,,,657,858,,657,657,,657,,,,,657,657,657,,,17,,,17', '956,315,956,17,956,,956,,884,17,17,,315,,17,17,,,,,,,,1108,654,1110', ',,,,656,656,,654,654,,,,,,,,956,,,1127,,1128,,1129,,,,,,,,,,657,,,,', ',,658,913,,,,,,,18,,,,654,18,231,654,,18,,,,,,,657,,40,18,,,,,657,,313', ',,,,,,,313,,,425,,,,,,,,655,655,1177,,1178,658,1179,,,,,,,40,658,658', '40,,,,,,,1182,,,,,,17,,,,,17,993,,40,17,,,18,,,1192,,,,17,,,,18,,,1007', ',,,658,,,658,,40,,17,653,,,,40,657,,,,349,,656,,31,656,656,,656,31,231', ',,656,656,656,18,,,,,,18,,31,,,,,,,,,31,31,31,,31,,17,,,,,,,,,,,17,', ',,657,,,,,,,,,657,657,31,,313,,18,31,31,,,31,,,,313,,,656,,,1054,,,', ',18,17,655,,1060,655,655,17,655,,,,,655,655,655,,,,657,,,657,656,652', ',,,,,,656,,,31,,,,,31,31,31,31,31,,31,,,,,,40,,,17,,40,,,,40,,,,,,,', ',,40,,,,17,,,,,,,655,,1116,653,653,,18,,,,,,,18,18,,,,,,,,,651,,,,,', ',18,655,231,231,,,,,,655,18,,,656,,,,31,31,31,31,31,31,31,,,40,,31,31', '31,,,,,,,40,,231,,,31,,,,,,,,17,,18,,,,,17,17,,,,,,,,,,,,,656,,,17,', ',40,31,31,656,656,,40,17,,,31,,,,,,,,652,652,,,,,,655,,,31,,,,31,,,', ',31,,,,,,,,,,,656,17,,656,,40,,,,,,,,,,653,,31,653,653,377,653,,,,40', '653,653,653,1058,,,31,31,31,655,,,,,,,,,655,655,,,,,651,651,,31,,,,28', ',,,,28,,,,,,,31,,,,,,,,28,,,,,,,,,28,28,28,655,28,,655,,653,,,,,,,,', ',,,,,377,,,,40,,,,,,28,40,40,,,28,28,653,,28,,,,,,653,,,40,652,,31,652', '652,,652,,,40,,652,652,652,,,,,,,,,,,,,,,,,,,,,,,,,,28,,,,,28,28,28', '28,28,,28,40,,,,,,31,,,,,,,,,,31,,,,,,,,,,,,652,651,,31,651,651,,651', ',,653,,651,651,651,,,,31,,,31,,,,,,,31,,,652,,,,,,,31,652,,,31,,,,,', ',,,,,,28,28,28,28,28,28,28,,,,,28,28,28,653,31,,,31,31,,,31,653,653', '28,651,,31,31,,,,31,31,,,,,,,,,,,,,,,,,,,,,,,651,,,,28,28,,,651,,,653', ',28,653,,,,,,19,652,,,,19,,,,,,28,,,,28,,,,,28,,,,,,,,,,,,,19,317,317', ',,,,,,,,,,,,28,,,,,,,,,,,652,,19,,28,28,28,,,652,652,,365,374,374,,', ',,,,,651,,,28,,,,,,31,,,,,31,31,,,31,28,,,,,,,,,31,,,,652,,,652,,,19', ',,,,,,,31,19,,19,,,,,,,,,651,,,,,,,,,651,651,,,,,,,,,,,,,,,,,,,,,28', ',,,,,31,,,,,,,,,,,31,,,,,,651,,,651,,,,,,,,,,,,,,,,,19,,426,,,426,,', '31,,,426,28,,31,,,,,,31,,28,,,19,,,,,,,,,,,,28,,,,,,,,,,,,,,,28,,,28', ',,,,,,28,,,,,31,,,,,28,,,,28,,,,,,,,,,,31,19,,,,19,,,,317,19,,,,,,28', ',,28,28,,,28,,,317,,,28,28,,,,28,28,,,19,,,,,,,,,,,,,,,,19,19,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,31,,,,,,,31,31,,,,,,,,,,,,,,,,31,,31,31,,,', ',,,31,,,,,,,,,,,,,,,,,,,,,,,,,,,,,31,,,,,,,,,,,,,31,,,,,28,,,,,28,28', ',,28,,,,,,,,,,28,,,,,,,,,,,,,,,,,,28,,,,,,,,,,19,,,,,,,,317,,,,,,,,317', ',,,,,,,,,,,,,,,,,,,,,,28,19,,,19,,,,,,,28,,,,,,,,,,,,,,19,,,,,,,778', ',,,,,,,,,,,,28,,,,,,28,19,,,426,,28,,19,,,,,,426,426,,,,426,426,,,,', ',,,,,,,,,,,,,,,,,,,,,,238,,,,,,28,,,287,287,287,,,,,,,,,,332,333,,335', '336,28,338,,,,,,317,,,,,,,,,287,287,317,,,,,,,,,,,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,19,,,,,19,,28,,19,,,,,28,28,,,,19,', ',,,,,,,,,,28,,28,28,,,426,,,,28,,,,,,,,,,,,,,,,,,,,,,,,,,,,,28,,,,,', ',,,,,,,28,,,19,,287,430,,,436,287,,,,19,436,,,,,,,,,,,,,238,,,,468,469', '470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486', '487,488,489,19,,,,490,,19,,,,,287,287,,,,,,,,287,,,,,,,287,,287,,,287', '287,,,,,,,,,,,,,,,,,,,,19,,,,,,,,,,,,,,,374,,,,540,19,541,,,1062,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,', ',,,,,287,,374,,,,19,,,,,,,19,19,,,,,,,,,,,,,,,,19,,,,,,,,,,19,,,287', ',436,436,436,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,333,,,,19,,,,,,287,,287,', '287,,,,,,,,,,,,,,,,287,,,,,,,,,436,,,700,,,,,,,,,287,,,287,,,,,,,,,', ',,,,,287,287,,,,,,,,,,287,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,287,436,287', ',,,796,,,287,287,436,436,,,,436,436,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,287,,,,,,,,,287,,,287,,,,,,,,,,,,,,,,,,,287,,,,,,,,,,,,', ',,,,,,,,,,,,,,287,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,', ',,,,,,,,287,,,,,,,,436,,,,,,,,,,,,,436,436,436,436,,,,,,,,,,,,,,,,,', ',,,,,949,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,287,,,,,,,,,,,,,,,,', ',,,287,,,,,,,,,,,,,,,,,,,,,287,436,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,287' ] racc_goto_table = arr = ::Array.new(4242, 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 = [ '63,190,78,33,10,63,74,74,83,35,108,33,11,190,46,46,42,42,42,66,59,103', '67,67,82,82,69,69,104,150,22,17,17,63,63,63,23,98,35,31,12,23,111,74', '74,74,39,39,85,24,24,100,101,101,227,45,19,19,102,61,19,63,7,8,46,9', '60,48,8,23,72,63,63,63,63,178,13,108,64,137,80,80,37,86,80,86,125,5', '67,223,79,79,79,123,31,57,227,23,28,47,47,47,139,49,28,217,126,23,192', '192,141,2,224,118,19,19,19,19,13,63,55,219,56,79,8,6,153,117,63,141', '63,65,65,116,143,81,81,81,153,203,203,167,167,135,167,144,115,184,114', '113,112,1,57,142,5,23,107,54,54,54,21,145,146,32,23,227,23,148,81,81', '105,97,26,26,151,57,26,138,152,154,156,157,8,160,204,204,204,204,161', '162,163,8,11,8,20,86,86,20,85,164,165,166,138,20,138,96,42,169,169,190', '224,168,169,63,184,184,33,11,82,171,173,174,175,84,22,22,103,141,22', '123,26,26,26,26,22,67,143,125,63,6,126,2,131,131,131,10,179,144,86,23', '217,23,46,46,23,183,61,180,181,184,23,42,42,77,61,139,219,75,149,186', '42,49,187,188,23,79,79,3,137,70,31,74,64,169,11,223,194,192,192,11,195', '196,199,213,200,219,71,201,74,202,33,63,71,51,205,63,108,206,35,63,63', '207,59,208,209,124,33,82,212,40,46,82,26,26,57,219,63,38,14,46,35,26', '26,11,11,79,79,23,63,16,60,23,18,19,79,31,23,138,33,27,221,72,191,191', '63,63,183,191,7,222,46,9,32,108,8,57,25,57,46,32,64,57,121,178,23,33', '138,122,138,127,128,81,13,5,204,31,204,57,120,81,23,23,55,57,56,31,119', '55,191,56,138,219,,54,83,46,46,167,,,33,54,57,,,48,32,,61,45,48,149', '67,183,183,35,69,,191,10,31,17,,10,37,37,85,37,,82,5,,37,80,,82,213', '42,102,,,57,,101,,,82,,,26,,,227,,,63,124,,183,,124,183,,67,,,138,35', '111,,26,32,149,149,131,131,131,,82,,32,,,86,,74,26,,,28,28,,83,74,28', '28,,213,213,59,37,131,42,,47,63,32,59,,,47,,,63,82,,,,64,,,63,100,82', '11,,24,11,,,71,67,71,,32,,13,39,,37,67,23,42,,,63,,85,63,,,191,42,47', '82,,108,10,57,,216,216,82,191,,,,,,63,,67,,124,124,108,,67,20,,,23,', ',23,,,42,20,20,,132,,20,20,,63,,,82,,81,71,63,10,23,12,,67,22,,,69,', '35,79,67,17,,22,22,35,35,131,22,22,104,,,,98,78,23,,,23,26,63,63,23', ',,81,,,23,23,74,,,23,23,,,32,32,,32,74,8,103,59,101,150,,28,8,,35,,', ',59,,57,63,,,,82,,,82,,,,63,71,71,101,37,101,71,71,,,,,,57,,,,,,66,', ',124,124,,,,81,,,,,,10,,,,,,,,11,,,,,,35,,,,83,,,57,,35,,19,10,11,,63', ',,,79,63,,,,63,134,134,134,,,57,20,57,81,63,35,,,,,,67,,,,,,,57,57,78', '23,,,78,,23,132,,132,23,132,22,35,,,,,,57,23,63,,,63,63,,63,,,11,,63', '63,63,,,,23,,35,11,,,,,216,216,,216,216,63,216,218,,,,190,,35,,,63,', '190,,,,57,,,,,,,,,26,,,71,11,,,,,19,23,220,,,32,,71,71,71,71,,23,,63', ',63,,,,,132,63,132,,132,,132,108,,,,,,46,,108,134,134,134,134,,134,', ',63,,35,35,,35,35,23,63,,,74,,23,31,,30,,132,,74,30,,11,63,,35,,,,,', ',57,,,30,,,63,,,,76,63,30,30,30,63,30,30,30,,,,,216,216,216,216,23,', ',134,134,134,134,,,,71,26,,,,218,,30,,134,23,,30,30,23,,30,30,30,30', '29,,,,,29,,,,74,,63,,,,,91,,,,11,,216,,,,,11,,,,33,,29,,,,63,,,,63,', ',11,30,218,218,63,63,30,30,30,30,30,,30,19,19,,,29,220,,,63,220,,220', '63,220,,,,,63,,23,63,63,,,,,23,23,35,,,130,,42,,,,,11,,,,,23,,82,76', '76,,,,130,,23,,,,67,95,63,,29,67,218,,63,,,63,,29,,29,,35,,,,,,,30,30', '30,30,30,30,30,218,,218,,30,30,30,23,,,,,,,,,,,30,,220,,220,,220,,220', '26,26,,,,,,76,,76,,,76,76,62,,,,,62,,,,,,91,91,30,30,,,,,,,220,30,,', ',29,,29,,,29,,62,62,62,,29,,,30,,,,30,,,,30,30,,29,,,94,,,,,,,62,,,', '30,,,,,,62,62,62,62,,,30,,,,,,,,,,,,,,,30,30,30,,,130,,,,130,,130,218', '130,,,,,,95,95,30,29,,,,29,62,76,,,29,133,,,,62,30,62,,,218,,218,,,', ',,,,,133,,,133,,,,29,,,,,,218,,,,,,,,,,29,29,,136,,,,,,,,91,,,91,91', ',91,,,,,91,91,91,,,,,,,,30,,130,,130,,130,,130,76,,76,,76,62,,,,,,,', ',,,,,,,,,,,,218,,,94,94,62,,,,,130,,136,,,,76,,,76,,30,,,91,,,,,30,', '30,,,76,,,30,93,136,,136,,,,95,30,,95,95,,95,,,,91,95,95,95,,,30,,91', '30,,,,62,,,30,62,,,,62,62,76,,,30,,,,30,133,76,76,,133,,133,62,133,29', ',,,,,,,,,62,,,,,,,30,,,30,30,,,30,,62,62,,95,30,30,92,,,30,30,,,,29', ',,29,,76,,,,,,,,,76,,,76,,,95,91,,,29,,,,95,,,,,,,94,76,,94,94,,94,', ',,,94,94,94,,,29,,,29,133,30,133,29,133,,133,,76,29,29,,30,,29,29,,', ',,,,,136,91,136,,,,,93,93,,91,91,,,,,,,,133,,,136,,136,,136,,,,,,,,', ',94,,,,,,,95,76,,,,,,,30,,,,91,30,30,91,,30,,,,,,,94,,62,30,,,,,94,', '62,,,,,,,,62,,,30,,,,,,,,92,92,136,,136,95,136,,,,,,,62,95,95,62,,,', ',,,136,,,,,,29,,,,,29,76,,62,29,,,30,,,136,,,,29,,,,30,,,76,,,,95,,', '95,,62,,29,90,,,,62,94,,,,76,,93,,53,93,93,,93,53,30,,,93,93,93,30,', ',,,,30,,53,,,,,,,,,53,53,53,,53,,29,,,,,,,,,,,29,,,,94,,,,,,,,,94,94', '53,,62,,30,53,53,,,53,,,,62,,,93,,,30,,,,,30,29,92,,30,92,92,29,92,', ',,,92,92,92,,,,94,,,94,93,89,,,,,,,93,,,53,,,,,53,53,53,53,53,,53,,', ',,,62,,,29,,62,,,,62,,,,,,,,,,62,,,,29,,,,,,,92,,30,90,90,,30,,,,,,', '30,30,,,,,,,,,88,,,,,,,30,92,30,30,,,,,,92,30,,,93,,,,53,53,53,53,53', '53,53,,,62,,53,53,53,,,,,,,62,,30,,,53,,,,,,,,29,,30,,,,,29,29,,,,,', ',,,,,,,93,,,29,,,62,53,53,93,93,,62,29,,,53,,,,,,,,89,89,,,,,,92,,,53', ',,,53,,,,,53,,,,,,,,,,,93,29,,93,,62,,,,,,,,,,90,,53,90,90,62,90,,,', '62,90,90,90,62,,,53,53,53,92,,,,,,,,,92,92,,,,,88,88,,53,,,,50,,,,,50', ',,,,,,53,,,,,,,,50,,,,,,,,,50,50,50,92,50,,92,,90,,,,,,,,,,,,,,62,,', ',62,,,,,,50,62,62,,,50,50,90,,50,,,,,,90,,,62,89,,53,89,89,,89,,,62', ',89,89,89,,,,,,,,,,,,,,,,,,,,,,,,,,50,,,,,50,50,50,50,50,,50,62,,,,', ',53,,,,,,,,,,53,,,,,,,,,,,,89,88,,53,88,88,,88,,,90,,88,88,88,,,,53', ',,53,,,,,,,53,,,89,,,,,,,53,89,,,53,,,,,,,,,,,,50,50,50,50,50,50,50', ',,,,50,50,50,90,53,,,53,53,,,53,90,90,50,88,,53,53,,,,53,53,,,,,,,,', ',,,,,,,,,,,,,,88,,,,50,50,,,88,,,90,,50,90,,,,,,34,89,,,,34,,,,,,50', ',,,50,,,,,50,,,,,,,,,,,,,34,34,34,,,,,,,,,,,,,50,,,,,,,,,,,89,,34,,50', '50,50,,,89,89,,34,34,34,,,,,,,,88,,,50,,,,,,53,,,,,53,53,,,53,50,,,', ',,,,,53,,,,89,,,89,,,34,,,,,,,,53,34,,34,,,,,,,,,88,,,,,,,,,88,88,,', ',,,,,,,,,,,,,,,,,,50,,,,,,53,,,,,,,,,,,53,,,,,,88,,,88,,,,,,,,,,,,,', ',,,34,,34,,,34,,,53,,,34,50,,53,,,,,,53,,50,,,34,,,,,,,,,,,,50,,,,,', ',,,,,,,,,50,,,50,,,,,,,50,,,,,53,,,,,50,,,,50,,,,,,,,,,,53,34,,,,34', ',,,34,34,,,,,,50,,,50,50,,,50,,,34,,,50,50,,,,50,50,,,34,,,,,,,,,,,', ',,,,34,34,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,53,,,,,,,53,53,,,,,,,,,,,,', ',,,53,,53,53,,,,,,,53,,,,,,,,,,,,,,,,,,,,,,,,,,,,,53,,,,,,,,,,,,,53', ',,,,50,,,,,50,50,,,50,,,,,,,,,,50,,,,,,,,,,,,,,,,,,50,,,,,,,,,,34,,', ',,,,,34,,,,,,,,34,,,,,,,,,,,,,,,,,,,,,,,50,34,,,34,,,,,,,50,,,,,,,,', ',,,,,34,,,,,,,34,,,,,,,,,,,,,50,,,,,,50,34,,,34,,50,,34,,,,,,34,34,', ',,34,34,,,,,,,,,,,,,,,,,,,,,,,,,,,36,,,,,,50,,,36,36,36,,,,,,,,,,36', '36,,36,36,50,36,,,,,,34,,,,,,,,,36,36,34,,,,,,,,,,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,34,,,,,34,,50,,34,,,,,50,50,,,,34', ',,,,,,,,,,,50,,50,50,,,34,,,,50,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,,,,,', ',,,,,,,50,,,34,,36,36,,,36,36,,,,34,36,,,,,,,,,,,,,36,,,,36,36,36,36', '36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,34,,,,36,,34,', ',,,36,36,,,,,,,,36,,,,,,,36,,36,,,36,36,,,,,,,,,,,,,,,,,,,,34,,,,,,', ',,,,,,,,34,,,,36,34,36,,,34,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,36,,34,,,,34,,,,,,,34,34,,,,,,,', ',,,,,,,,34,,,,,,,,,,34,,,36,,36,36,36,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,', '36,,,,34,,,,,,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' ] racc_goto_check = arr = ::Array.new(4242, 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, 151, 109, 277, nil, 82, 118, 57, 61, 56, -336, -23, -503, -626, -527, nil, -178, 21, 331, -12, -23, 87, 8, 34, -167, 150, 104, 216, -122, 1012, 938, -182, -274, -15, 2489, -12, 3121, -385, 85, -24, -242, nil, -15, nil, nil, 29, -208, 71, -208, -399, 2199, -192, nil, 1821, 126, 85, 87, -133, nil, -16, 29, -269, 1199, -2, -293, 57, -57, 12, nil, 16, -135, 76, 25, nil, -30, 219, 902, 199, -62, 59, -264, 104, -4, -268, -269, -242, -424, nil, 1545, 1465, 1343, 563, 1094, 1005, 788, 663, 129, 106, -29, nil, -300, -301, -684, -338, -536, 97, nil, -219, 5, nil, nil, -540, 74, 87, -193, 83, 66, -451, -654, 17, -1, -211, -534, -902, -412, -641, -890, -616, -465, nil, 258, -469, -244, 480, -189, -702, 601, -766, -668, -573, nil, -735, -899, -918, -907, -395, -701, nil, -541, -288, 5, -803, -800, -365, -91, nil, -100, -100, nil, nil, -484, -820, -706, -982, -553, -882, -694, -678, -684, -612, nil, -596, nil, -596, -421, -420, nil, nil, -569, -397, -387, -387, nil, -671, -880, nil, -759, -756, -755, nil, -86, -467, -541, nil, -374, -413, -568, nil, nil, 207, 204, 206, 207, -258, -211, 211, 213, 216, -275, -275, nil, nil, -261, -263, nil, nil, -146, -765, 290, -749, 36, -515, -681, -783, -934, nil, nil, -455 ] racc_goto_default = [ nil, nil, nil, nil, 5, nil, 6, 360, 304, nil, nil, 543, nil, 890, nil, 301, 302, nil, nil, nil, 13, 14, 20, 236, nil, nil, 16, nil, 424, 237, 331, nil, nil, 576, 235, 459, 23, 1022, nil, nil, nil, 355, 24, 25, 26, nil, 696, nil, nil, nil, 321, nil, 27, 318, 438, 34, nil, nil, 36, 39, 38, nil, 232, 233, 372, nil, 140, 446, 139, 84, nil, 429, 100, 48, 51, 269, 293, nil, 856, 439, nil, 440, 451, nil, 625, 506, 291, 277, 52, 53, 54, 55, 56, 57, 58, 59, 60, nil, 278, 66, nil, nil, nil, nil, nil, nil, 74, nil, 558, 75, 76, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 879, 725, nil, 880, 881, 1104, 953, 712, nil, 713, 714, nil, nil, 715, nil, 717, nil, 844, nil, nil, nil, 723, nil, nil, 556, nil, nil, nil, nil, nil, nil, nil, 450, nil, nil, 675, 667, nil, nil, nil, nil, nil, nil, nil, nil, 927, nil, 638, 647, 639, 640, nil, nil, 641, 642, nil, nil, nil, nil, 926, 928, nil, 930, 931, 932, 933, 934, nil, 734, 646, 648, nil, nil, nil, 83, 85, 86, nil, nil, nil, nil, 586, nil, nil, nil, nil, nil, 96, 97, nil, 984, 771, 711, 871, 716, 992, 728, 730, 731, 966, 735, 967, 738, 741, 296 ] 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, 1, 173, :_reduce_none, 1, 166, :_reduce_none, 0, 188, :_reduce_57, 3, 186, :_reduce_58, 1, 169, :_reduce_none, 1, 169, :_reduce_none, 1, 190, :_reduce_none, 4, 190, :_reduce_62, 0, 198, :_reduce_63, 4, 195, :_reduce_64, 1, 197, :_reduce_none, 2, 189, :_reduce_66, 3, 189, :_reduce_67, 4, 189, :_reduce_68, 5, 189, :_reduce_69, 4, 189, :_reduce_70, 5, 189, :_reduce_71, 2, 189, :_reduce_72, 2, 189, :_reduce_73, 2, 189, :_reduce_74, 2, 189, :_reduce_75, 2, 189, :_reduce_76, 1, 168, :_reduce_77, 3, 168, :_reduce_78, 1, 203, :_reduce_79, 3, 203, :_reduce_80, 1, 202, :_reduce_none, 2, 202, :_reduce_82, 3, 202, :_reduce_83, 5, 202, :_reduce_84, 2, 202, :_reduce_85, 4, 202, :_reduce_86, 2, 202, :_reduce_87, 4, 202, :_reduce_88, 1, 202, :_reduce_89, 3, 202, :_reduce_90, 1, 206, :_reduce_none, 3, 206, :_reduce_92, 2, 205, :_reduce_93, 3, 205, :_reduce_94, 1, 208, :_reduce_95, 3, 208, :_reduce_96, 1, 207, :_reduce_97, 1, 207, :_reduce_98, 4, 207, :_reduce_99, 3, 207, :_reduce_100, 3, 207, :_reduce_101, 3, 207, :_reduce_102, 3, 207, :_reduce_103, 2, 207, :_reduce_104, 1, 207, :_reduce_105, 1, 170, :_reduce_106, 1, 170, :_reduce_107, 4, 170, :_reduce_108, 3, 170, :_reduce_109, 3, 170, :_reduce_110, 3, 170, :_reduce_111, 3, 170, :_reduce_112, 2, 170, :_reduce_113, 1, 170, :_reduce_114, 1, 211, :_reduce_115, 1, 211, :_reduce_none, 2, 212, :_reduce_117, 1, 212, :_reduce_118, 3, 212, :_reduce_119, 1, 213, :_reduce_none, 1, 213, :_reduce_none, 1, 213, :_reduce_none, 1, 213, :_reduce_none, 1, 213, :_reduce_none, 1, 164, :_reduce_125, 1, 164, :_reduce_none, 1, 165, :_reduce_127, 0, 217, :_reduce_128, 4, 165, :_reduce_129, 1, 214, :_reduce_none, 1, 214, :_reduce_none, 1, 214, :_reduce_none, 1, 214, :_reduce_none, 1, 214, :_reduce_none, 1, 214, :_reduce_none, 1, 214, :_reduce_none, 1, 214, :_reduce_none, 1, 214, :_reduce_none, 1, 214, :_reduce_none, 1, 214, :_reduce_none, 1, 214, :_reduce_none, 1, 214, :_reduce_none, 1, 214, :_reduce_none, 1, 214, :_reduce_none, 1, 214, :_reduce_none, 1, 214, :_reduce_none, 1, 214, :_reduce_none, 1, 214, :_reduce_none, 1, 214, :_reduce_none, 1, 214, :_reduce_none, 1, 214, :_reduce_none, 1, 214, :_reduce_none, 1, 214, :_reduce_none, 1, 214, :_reduce_none, 1, 214, :_reduce_none, 1, 214, :_reduce_none, 1, 214, :_reduce_none, 1, 214, :_reduce_none, 1, 214, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 3, 183, :_reduce_201, 3, 183, :_reduce_202, 6, 183, :_reduce_203, 5, 183, :_reduce_204, 5, 183, :_reduce_205, 5, 183, :_reduce_206, 5, 183, :_reduce_207, 4, 183, :_reduce_208, 3, 183, :_reduce_209, 3, 183, :_reduce_210, 3, 183, :_reduce_211, 2, 183, :_reduce_212, 2, 183, :_reduce_213, 2, 183, :_reduce_214, 2, 183, :_reduce_215, 3, 183, :_reduce_216, 3, 183, :_reduce_217, 3, 183, :_reduce_218, 3, 183, :_reduce_219, 3, 183, :_reduce_220, 3, 183, :_reduce_221, 4, 183, :_reduce_222, 2, 183, :_reduce_223, 2, 183, :_reduce_224, 3, 183, :_reduce_225, 3, 183, :_reduce_226, 3, 183, :_reduce_227, 3, 183, :_reduce_228, 1, 183, :_reduce_none, 3, 183, :_reduce_230, 3, 183, :_reduce_231, 3, 183, :_reduce_232, 3, 183, :_reduce_233, 3, 183, :_reduce_234, 2, 183, :_reduce_235, 2, 183, :_reduce_236, 3, 183, :_reduce_237, 3, 183, :_reduce_238, 3, 183, :_reduce_239, 3, 183, :_reduce_240, 3, 183, :_reduce_241, 6, 183, :_reduce_242, 1, 183, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 1, 222, :_reduce_none, 3, 220, :_reduce_248, 3, 220, :_reduce_249, 1, 223, :_reduce_none, 1, 224, :_reduce_none, 2, 224, :_reduce_none, 4, 224, :_reduce_253, 2, 224, :_reduce_254, 1, 218, :_reduce_none, 3, 218, :_reduce_256, 3, 229, :_reduce_257, 5, 229, :_reduce_258, 3, 229, :_reduce_259, 0, 231, :_reduce_260, 1, 231, :_reduce_none, 0, 178, :_reduce_262, 1, 178, :_reduce_none, 2, 178, :_reduce_none, 4, 178, :_reduce_265, 2, 178, :_reduce_266, 1, 201, :_reduce_267, 2, 201, :_reduce_268, 2, 201, :_reduce_269, 4, 201, :_reduce_270, 1, 201, :_reduce_271, 0, 234, :_reduce_272, 2, 194, :_reduce_273, 2, 233, :_reduce_274, 2, 232, :_reduce_275, 0, 232, :_reduce_276, 1, 226, :_reduce_277, 2, 226, :_reduce_278, 3, 226, :_reduce_279, 4, 226, :_reduce_280, 1, 172, :_reduce_281, 1, 172, :_reduce_none, 3, 171, :_reduce_283, 4, 171, :_reduce_284, 2, 171, :_reduce_285, 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_296, 0, 260, :_reduce_297, 4, 221, :_reduce_298, 0, 261, :_reduce_299, 4, 221, :_reduce_300, 0, 262, :_reduce_301, 4, 221, :_reduce_302, 3, 221, :_reduce_303, 3, 221, :_reduce_304, 2, 221, :_reduce_305, 3, 221, :_reduce_306, 3, 221, :_reduce_307, 1, 221, :_reduce_308, 4, 221, :_reduce_309, 3, 221, :_reduce_310, 1, 221, :_reduce_311, 5, 221, :_reduce_312, 4, 221, :_reduce_313, 3, 221, :_reduce_314, 2, 221, :_reduce_315, 1, 221, :_reduce_none, 2, 221, :_reduce_317, 0, 263, :_reduce_318, 3, 221, :_reduce_319, 6, 221, :_reduce_320, 6, 221, :_reduce_321, 4, 221, :_reduce_322, 4, 221, :_reduce_323, 5, 221, :_reduce_324, 4, 221, :_reduce_325, 5, 221, :_reduce_326, 6, 221, :_reduce_327, 0, 264, :_reduce_328, 6, 221, :_reduce_329, 0, 265, :_reduce_330, 7, 221, :_reduce_331, 0, 266, :_reduce_332, 5, 221, :_reduce_333, 0, 267, :_reduce_334, 6, 221, :_reduce_335, 0, 268, :_reduce_336, 0, 269, :_reduce_337, 9, 221, :_reduce_338, 1, 221, :_reduce_339, 1, 221, :_reduce_340, 1, 221, :_reduce_341, 1, 221, :_reduce_342, 1, 177, :_reduce_none, 1, 253, :_reduce_344, 1, 256, :_reduce_345, 1, 257, :_reduce_346, 1, 200, :_reduce_347, 1, 248, :_reduce_none, 1, 248, :_reduce_none, 2, 248, :_reduce_350, 1, 187, :_reduce_none, 1, 187, :_reduce_none, 1, 249, :_reduce_none, 5, 249, :_reduce_354, 1, 160, :_reduce_none, 2, 160, :_reduce_356, 1, 252, :_reduce_none, 1, 252, :_reduce_none, 1, 270, :_reduce_359, 3, 270, :_reduce_360, 1, 273, :_reduce_361, 3, 273, :_reduce_362, 1, 272, :_reduce_none, 3, 272, :_reduce_364, 5, 272, :_reduce_365, 1, 272, :_reduce_366, 3, 272, :_reduce_367, 2, 274, :_reduce_368, 1, 274, :_reduce_369, 4, 275, :_reduce_370, 2, 275, :_reduce_371, 2, 275, :_reduce_372, 2, 275, :_reduce_373, 1, 275, :_reduce_374, 2, 281, :_reduce_375, 0, 281, :_reduce_376, 6, 282, :_reduce_377, 8, 282, :_reduce_378, 4, 282, :_reduce_379, 6, 282, :_reduce_380, 4, 282, :_reduce_381, 2, 282, :_reduce_none, 6, 282, :_reduce_383, 2, 282, :_reduce_384, 4, 282, :_reduce_385, 6, 282, :_reduce_386, 2, 282, :_reduce_387, 4, 282, :_reduce_388, 2, 282, :_reduce_389, 4, 282, :_reduce_390, 1, 282, :_reduce_none, 0, 286, :_reduce_392, 1, 286, :_reduce_393, 3, 287, :_reduce_394, 4, 287, :_reduce_395, 1, 288, :_reduce_396, 4, 288, :_reduce_397, 1, 289, :_reduce_398, 3, 289, :_reduce_399, 1, 290, :_reduce_400, 1, 290, :_reduce_none, 0, 294, :_reduce_402, 0, 295, :_reduce_403, 4, 247, :_reduce_404, 4, 292, :_reduce_405, 1, 292, :_reduce_406, 0, 298, :_reduce_407, 4, 293, :_reduce_408, 0, 299, :_reduce_409, 4, 293, :_reduce_410, 0, 301, :_reduce_411, 4, 297, :_reduce_412, 2, 191, :_reduce_413, 4, 191, :_reduce_414, 5, 191, :_reduce_415, 5, 191, :_reduce_416, 2, 246, :_reduce_417, 4, 246, :_reduce_418, 4, 246, :_reduce_419, 3, 246, :_reduce_420, 3, 246, :_reduce_421, 3, 246, :_reduce_422, 2, 246, :_reduce_423, 1, 246, :_reduce_424, 4, 246, :_reduce_425, 0, 303, :_reduce_426, 4, 245, :_reduce_427, 0, 304, :_reduce_428, 4, 245, :_reduce_429, 0, 305, :_reduce_430, 3, 196, :_reduce_431, 0, 306, :_reduce_432, 0, 307, :_reduce_433, 4, 300, :_reduce_434, 5, 250, :_reduce_435, 1, 308, :_reduce_436, 1, 308, :_reduce_none, 0, 311, :_reduce_438, 0, 312, :_reduce_439, 7, 251, :_reduce_440, 1, 310, :_reduce_441, 1, 310, :_reduce_none, 1, 309, :_reduce_443, 3, 309, :_reduce_444, 3, 309, :_reduce_445, 1, 313, :_reduce_none, 2, 313, :_reduce_447, 3, 313, :_reduce_448, 1, 313, :_reduce_449, 1, 313, :_reduce_450, 1, 184, :_reduce_none, 3, 317, :_reduce_452, 1, 317, :_reduce_none, 3, 319, :_reduce_454, 1, 319, :_reduce_none, 1, 321, :_reduce_456, 1, 322, :_reduce_457, 1, 320, :_reduce_none, 4, 320, :_reduce_459, 4, 320, :_reduce_460, 3, 320, :_reduce_461, 4, 320, :_reduce_462, 4, 320, :_reduce_463, 3, 320, :_reduce_464, 0, 326, :_reduce_465, 4, 320, :_reduce_466, 2, 320, :_reduce_467, 0, 327, :_reduce_468, 4, 320, :_reduce_469, 2, 320, :_reduce_470, 0, 328, :_reduce_471, 4, 320, :_reduce_472, 1, 314, :_reduce_473, 1, 314, :_reduce_474, 2, 314, :_reduce_475, 3, 314, :_reduce_476, 5, 314, :_reduce_477, 2, 314, :_reduce_478, 4, 314, :_reduce_479, 1, 314, :_reduce_none, 2, 329, :_reduce_481, 3, 329, :_reduce_482, 2, 315, :_reduce_483, 4, 315, :_reduce_484, 1, 315, :_reduce_485, 3, 315, :_reduce_486, 1, 331, :_reduce_487, 3, 331, :_reduce_488, 1, 330, :_reduce_none, 3, 316, :_reduce_490, 1, 316, :_reduce_491, 2, 316, :_reduce_492, 1, 316, :_reduce_493, 3, 316, :_reduce_494, 1, 316, :_reduce_495, 1, 332, :_reduce_496, 3, 332, :_reduce_497, 2, 335, :_reduce_498, 1, 335, :_reduce_499, 1, 336, :_reduce_500, 3, 336, :_reduce_501, 2, 333, :_reduce_502, 1, 333, :_reduce_503, 2, 334, :_reduce_504, 1, 323, :_reduce_none, 3, 323, :_reduce_506, 3, 323, :_reduce_507, 2, 323, :_reduce_508, 2, 323, :_reduce_509, 1, 323, :_reduce_none, 1, 323, :_reduce_none, 1, 323, :_reduce_none, 2, 323, :_reduce_513, 2, 323, :_reduce_514, 1, 339, :_reduce_none, 1, 339, :_reduce_none, 1, 339, :_reduce_none, 1, 339, :_reduce_none, 1, 339, :_reduce_none, 1, 339, :_reduce_none, 1, 339, :_reduce_none, 1, 339, :_reduce_none, 1, 339, :_reduce_523, 0, 341, :_reduce_524, 3, 339, :_reduce_525, 1, 318, :_reduce_526, 2, 340, :_reduce_527, 2, 324, :_reduce_528, 3, 324, :_reduce_529, 1, 324, :_reduce_530, 6, 159, :_reduce_531, 0, 159, :_reduce_532, 1, 342, :_reduce_533, 1, 342, :_reduce_none, 1, 342, :_reduce_none, 2, 343, :_reduce_536, 1, 343, :_reduce_none, 2, 161, :_reduce_538, 1, 161, :_reduce_none, 1, 235, :_reduce_none, 1, 235, :_reduce_none, 1, 236, :_reduce_542, 1, 345, :_reduce_543, 2, 345, :_reduce_544, 3, 346, :_reduce_545, 1, 346, :_reduce_546, 1, 346, :_reduce_547, 3, 237, :_reduce_548, 4, 238, :_reduce_549, 3, 239, :_reduce_550, 0, 349, :_reduce_551, 3, 349, :_reduce_552, 1, 350, :_reduce_553, 2, 350, :_reduce_554, 3, 241, :_reduce_555, 0, 352, :_reduce_556, 3, 352, :_reduce_557, 3, 240, :_reduce_558, 3, 242, :_reduce_559, 0, 353, :_reduce_560, 3, 353, :_reduce_561, 0, 354, :_reduce_562, 3, 354, :_reduce_563, 0, 337, :_reduce_564, 2, 337, :_reduce_565, 0, 347, :_reduce_566, 2, 347, :_reduce_567, 0, 348, :_reduce_568, 2, 348, :_reduce_569, 1, 351, :_reduce_570, 2, 351, :_reduce_571, 0, 356, :_reduce_572, 4, 351, :_reduce_573, 1, 355, :_reduce_574, 1, 355, :_reduce_575, 1, 355, :_reduce_576, 1, 355, :_reduce_none, 1, 216, :_reduce_none, 1, 216, :_reduce_none, 1, 357, :_reduce_580, 3, 358, :_reduce_581, 1, 344, :_reduce_582, 2, 344, :_reduce_583, 1, 219, :_reduce_584, 1, 219, :_reduce_585, 1, 219, :_reduce_586, 1, 219, :_reduce_587, 1, 209, :_reduce_588, 1, 209, :_reduce_589, 1, 209, :_reduce_590, 1, 209, :_reduce_591, 1, 209, :_reduce_592, 1, 210, :_reduce_593, 1, 210, :_reduce_594, 1, 210, :_reduce_595, 1, 210, :_reduce_596, 1, 210, :_reduce_597, 1, 210, :_reduce_598, 1, 210, :_reduce_599, 1, 243, :_reduce_600, 1, 243, :_reduce_601, 1, 176, :_reduce_602, 1, 176, :_reduce_603, 1, 181, :_reduce_604, 1, 181, :_reduce_605, 0, 359, :_reduce_606, 4, 254, :_reduce_607, 0, 254, :_reduce_608, 3, 258, :_reduce_609, 5, 258, :_reduce_610, 3, 258, :_reduce_611, 0, 361, :_reduce_612, 3, 258, :_reduce_613, 4, 360, :_reduce_614, 2, 360, :_reduce_615, 2, 360, :_reduce_616, 2, 360, :_reduce_617, 1, 360, :_reduce_618, 2, 363, :_reduce_619, 0, 363, :_reduce_620, 6, 296, :_reduce_621, 8, 296, :_reduce_622, 4, 296, :_reduce_623, 6, 296, :_reduce_624, 4, 296, :_reduce_625, 6, 296, :_reduce_626, 2, 296, :_reduce_627, 4, 296, :_reduce_628, 6, 296, :_reduce_629, 2, 296, :_reduce_630, 4, 296, :_reduce_631, 2, 296, :_reduce_632, 4, 296, :_reduce_633, 1, 296, :_reduce_634, 0, 296, :_reduce_635, 1, 230, :_reduce_636, 1, 291, :_reduce_637, 1, 291, :_reduce_638, 1, 291, :_reduce_639, 1, 291, :_reduce_640, 1, 271, :_reduce_none, 1, 271, :_reduce_642, 1, 365, :_reduce_643, 1, 366, :_reduce_644, 3, 366, :_reduce_645, 1, 283, :_reduce_646, 3, 283, :_reduce_647, 1, 367, :_reduce_648, 2, 368, :_reduce_649, 1, 368, :_reduce_650, 2, 369, :_reduce_651, 1, 369, :_reduce_652, 1, 276, :_reduce_653, 3, 276, :_reduce_654, 1, 362, :_reduce_655, 3, 362, :_reduce_656, 1, 338, :_reduce_none, 1, 338, :_reduce_none, 2, 279, :_reduce_659, 2, 277, :_reduce_660, 1, 277, :_reduce_661, 3, 370, :_reduce_662, 3, 371, :_reduce_663, 1, 284, :_reduce_664, 3, 284, :_reduce_665, 1, 364, :_reduce_666, 3, 364, :_reduce_667, 1, 372, :_reduce_none, 1, 372, :_reduce_none, 2, 285, :_reduce_670, 1, 285, :_reduce_671, 1, 373, :_reduce_none, 1, 373, :_reduce_none, 2, 280, :_reduce_674, 2, 278, :_reduce_675, 0, 278, :_reduce_676, 1, 259, :_reduce_none, 3, 259, :_reduce_678, 0, 244, :_reduce_679, 2, 244, :_reduce_none, 1, 228, :_reduce_681, 3, 228, :_reduce_682, 3, 374, :_reduce_683, 2, 374, :_reduce_684, 4, 374, :_reduce_685, 2, 374, :_reduce_686, 1, 199, :_reduce_none, 1, 199, :_reduce_none, 1, 199, :_reduce_none, 1, 193, :_reduce_none, 1, 193, :_reduce_none, 1, 193, :_reduce_none, 1, 193, :_reduce_none, 1, 302, :_reduce_none, 1, 302, :_reduce_none, 1, 302, :_reduce_none, 1, 192, :_reduce_none, 1, 192, :_reduce_none, 1, 180, :_reduce_699, 1, 180, :_reduce_700, 0, 152, :_reduce_none, 1, 152, :_reduce_none, 0, 182, :_reduce_none, 1, 182, :_reduce_none, 2, 204, :_reduce_705, 2, 179, :_reduce_706, 2, 325, :_reduce_707, 0, 227, :_reduce_none, 1, 227, :_reduce_none, 1, 227, :_reduce_none, 1, 255, :_reduce_711, 1, 255, :_reduce_none, 1, 154, :_reduce_none, 2, 154, :_reduce_none, 0, 225, :_reduce_715 ] racc_reduce_n = 716 racc_shift_n = 1194 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", "expr_value_do", "do", "@4", "command", "block_command", "block_call", "dot_or_colon", "operation2", "command_args", "cmd_brace_block", "brace_body", "fcall", "@5", "operation", "k_return", "call_args", "mlhs_basic", "mlhs_inner", "rparen", "mlhs_head", "mlhs_item", "mlhs_node", "mlhs_post", "user_variable", "keyword_variable", "cname", "cpath", "fname", "op", "reswords", "symbol", "@6", "arg_rhs", "simple_numeric", "rel_expr", "primary", "relop", "arg_value", "aref_args", "none", "args", "trailer", "assocs", "paren_args", "args_forward", "opt_paren_args", "opt_block_arg", "block_arg", "@7", "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", "k_def", "f_arglist", "singleton", "@8", "@9", "@10", "@11", "@12", "@13", "@14", "@15", "@16", "@17", "f_marg", "f_norm_arg", "f_margs", "f_marg_list", "f_rest_marg", "block_args_tail", "f_block_kwarg", "f_kwrest", "opt_f_block_arg", "f_no_kwarg", "f_block_arg", "opt_block_args_tail", "block_param", "f_arg", "f_block_optarg", "f_rest_arg", "opt_block_param", "block_param_def", "opt_bv_decl", "bv_decls", "bvar", "f_bad_arg", "f_larglist", "lambda_body", "@18", "@19", "f_args", "do_block", "@20", "@21", "do_body", "@22", "operation3", "@23", "@24", "@25", "@26", "@27", "cases", "p_top_expr", "p_cases", "@28", "@29", "p_top_expr_body", "p_args", "p_args_tail", "p_kwargs", "p_as", "p_variable", "p_alt", "p_expr_basic", "p_lparen", "p_lbracket", "p_value", "p_const", "rbrace", "@30", "@31", "@32", "p_args_head", "p_arg", "p_args_post", "p_kwarg", "p_kwrest", "p_kwnorest", "p_kw", "p_kw_label", "string_contents", "kwrest_mark", "p_primitive", "p_var_ref", "@33", "exc_list", "exc_var", "numeric", "string", "string1", "xstring_contents", "regexp_contents", "word_list", "word", "string_content", "symbol_list", "qword_list", "qsym_list", "string_dvar", "@34", "ssym", "dsym", "@35", "args_tail", "@36", "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: false) 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] if @builder.class.emit_match_pattern result = @builder.match_pattern(val[0], val[1], val[3]) else result = @builder.in_match(val[0], val[1], val[3]) end result end # reduce 55 omitted # reduce 56 omitted def _reduce_57(val, _values, result) @lexer.cond.push(true) result end def _reduce_58(val, _values, result) @lexer.cond.pop result = [ val[1], val[2] ] result end # reduce 59 omitted # reduce 60 omitted # reduce 61 omitted def _reduce_62(val, _values, result) result = @builder.call_method(val[0], val[1], val[2], nil, val[3], nil) result end def _reduce_63(val, _values, result) result = @context.dup @context.in_block = true result end def _reduce_64(val, _values, result) result = [ val[0], *val[2], val[3] ] @context.in_block = val[1].in_block result end # reduce 65 omitted def _reduce_66(val, _values, result) result = @builder.call_method(nil, nil, val[0], nil, val[1], nil) result end def _reduce_67(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_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) 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_70(val, _values, result) result = @builder.call_method(val[0], val[1], val[2], nil, val[3], nil) result end def _reduce_71(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_72(val, _values, result) result = @builder.keyword_cmd(:super, val[0], nil, val[1], nil) result end def _reduce_73(val, _values, result) result = @builder.keyword_cmd(:yield, val[0], nil, val[1], nil) result end def _reduce_74(val, _values, result) result = @builder.keyword_cmd(:return, val[0], nil, val[1], nil) result end def _reduce_75(val, _values, result) result = @builder.keyword_cmd(:break, val[0], nil, val[1], nil) result end def _reduce_76(val, _values, result) result = @builder.keyword_cmd(:next, val[0], nil, val[1], nil) result end def _reduce_77(val, _values, result) result = @builder.multi_lhs(nil, val[0], nil) result end def _reduce_78(val, _values, result) result = @builder.begin(val[0], val[1], val[2]) result end def _reduce_79(val, _values, result) result = @builder.multi_lhs(nil, val[0], nil) result end def _reduce_80(val, _values, result) result = @builder.multi_lhs(val[0], val[1], val[2]) result end # reduce 81 omitted def _reduce_82(val, _values, result) result = val[0]. push(val[1]) result end def _reduce_83(val, _values, result) result = val[0]. push(@builder.splat(val[1], val[2])) result end def _reduce_84(val, _values, result) result = val[0]. push(@builder.splat(val[1], val[2])). concat(val[4]) result end def _reduce_85(val, _values, result) result = val[0]. push(@builder.splat(val[1])) result end def _reduce_86(val, _values, result) result = val[0]. push(@builder.splat(val[1])). concat(val[3]) result end def _reduce_87(val, _values, result) result = [ @builder.splat(val[0], val[1]) ] result end def _reduce_88(val, _values, result) result = [ @builder.splat(val[0], val[1]), *val[3] ] result end def _reduce_89(val, _values, result) result = [ @builder.splat(val[0]) ] result end def _reduce_90(val, _values, result) result = [ @builder.splat(val[0]), *val[2] ] result end # reduce 91 omitted def _reduce_92(val, _values, result) result = @builder.begin(val[0], val[1], val[2]) result end def _reduce_93(val, _values, result) result = [ val[0] ] result end def _reduce_94(val, _values, result) result = val[0] << val[1] result end def _reduce_95(val, _values, result) result = [ val[0] ] result end def _reduce_96(val, _values, result) result = val[0] << val[2] result end def _reduce_97(val, _values, result) result = @builder.assignable(val[0]) result end def _reduce_98(val, _values, result) result = @builder.assignable(val[0]) result end def _reduce_99(val, _values, result) result = @builder.index_asgn(val[0], val[1], val[2], val[3]) result end def _reduce_100(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_101(val, _values, result) result = @builder.attr_asgn(val[0], val[1], val[2]) result end def _reduce_102(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_103(val, _values, result) result = @builder.assignable( @builder.const_fetch(val[0], val[1], val[2])) result end def _reduce_104(val, _values, result) result = @builder.assignable( @builder.const_global(val[0], val[1])) result end def _reduce_105(val, _values, result) result = @builder.assignable(val[0]) result end def _reduce_106(val, _values, result) result = @builder.assignable(val[0]) result end def _reduce_107(val, _values, result) result = @builder.assignable(val[0]) result end def _reduce_108(val, _values, result) result = @builder.index_asgn(val[0], val[1], val[2], val[3]) result end def _reduce_109(val, _values, result) result = @builder.attr_asgn(val[0], val[1], val[2]) result end def _reduce_110(val, _values, result) result = @builder.attr_asgn(val[0], val[1], val[2]) result end def _reduce_111(val, _values, result) result = @builder.attr_asgn(val[0], val[1], val[2]) result end def _reduce_112(val, _values, result) result = @builder.assignable( @builder.const_fetch(val[0], val[1], val[2])) result end def _reduce_113(val, _values, result) result = @builder.assignable( @builder.const_global(val[0], val[1])) result end def _reduce_114(val, _values, result) result = @builder.assignable(val[0]) result end def _reduce_115(val, _values, result) diagnostic :error, :module_name_const, nil, val[0] result end # reduce 116 omitted def _reduce_117(val, _values, result) result = @builder.const_global(val[0], val[1]) result end def _reduce_118(val, _values, result) result = @builder.const(val[0]) result end def _reduce_119(val, _values, result) result = @builder.const_fetch(val[0], val[1], val[2]) result end # reduce 120 omitted # reduce 121 omitted # reduce 122 omitted # reduce 123 omitted # reduce 124 omitted def _reduce_125(val, _values, result) result = @builder.symbol_internal(val[0]) result end # reduce 126 omitted def _reduce_127(val, _values, result) result = [ val[0] ] result end def _reduce_128(val, _values, result) @lexer.state = :expr_fname result end def _reduce_129(val, _values, result) result = val[0] << val[3] result end # reduce 130 omitted # reduce 131 omitted # reduce 132 omitted # reduce 133 omitted # reduce 134 omitted # reduce 135 omitted # reduce 136 omitted # reduce 137 omitted # reduce 138 omitted # reduce 139 omitted # reduce 140 omitted # reduce 141 omitted # reduce 142 omitted # reduce 143 omitted # reduce 144 omitted # reduce 145 omitted # reduce 146 omitted # reduce 147 omitted # reduce 148 omitted # reduce 149 omitted # reduce 150 omitted # reduce 151 omitted # reduce 152 omitted # reduce 153 omitted # reduce 154 omitted # reduce 155 omitted # reduce 156 omitted # reduce 157 omitted # reduce 158 omitted # reduce 159 omitted # reduce 160 omitted # reduce 161 omitted # reduce 162 omitted # reduce 163 omitted # reduce 164 omitted # reduce 165 omitted # reduce 166 omitted # reduce 167 omitted # reduce 168 omitted # reduce 169 omitted # reduce 170 omitted # reduce 171 omitted # reduce 172 omitted # reduce 173 omitted # reduce 174 omitted # reduce 175 omitted # reduce 176 omitted # reduce 177 omitted # reduce 178 omitted # reduce 179 omitted # reduce 180 omitted # reduce 181 omitted # reduce 182 omitted # reduce 183 omitted # reduce 184 omitted # reduce 185 omitted # reduce 186 omitted # reduce 187 omitted # reduce 188 omitted # reduce 189 omitted # reduce 190 omitted # reduce 191 omitted # reduce 192 omitted # reduce 193 omitted # reduce 194 omitted # reduce 195 omitted # reduce 196 omitted # reduce 197 omitted # reduce 198 omitted # reduce 199 omitted # reduce 200 omitted def _reduce_201(val, _values, result) result = @builder.assign(val[0], val[1], val[2]) result end def _reduce_202(val, _values, result) result = @builder.op_assign(val[0], val[1], val[2]) result end def _reduce_203(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_204(val, _values, result) result = @builder.op_assign( @builder.call_method( val[0], val[1], val[2]), val[3], val[4]) result end def _reduce_205(val, _values, result) result = @builder.op_assign( @builder.call_method( val[0], val[1], val[2]), val[3], val[4]) result end def _reduce_206(val, _values, result) result = @builder.op_assign( @builder.call_method( val[0], val[1], val[2]), val[3], val[4]) result end def _reduce_207(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_208(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_209(val, _values, result) result = @builder.op_assign(val[0], val[1], val[2]) result end def _reduce_210(val, _values, result) result = @builder.range_inclusive(val[0], val[1], val[2]) result end def _reduce_211(val, _values, result) result = @builder.range_exclusive(val[0], val[1], val[2]) result end def _reduce_212(val, _values, result) result = @builder.range_inclusive(val[0], val[1], nil) result end def _reduce_213(val, _values, result) result = @builder.range_exclusive(val[0], val[1], nil) result end def _reduce_214(val, _values, result) result = @builder.range_inclusive(nil, val[0], val[1]) result end def _reduce_215(val, _values, result) result = @builder.range_exclusive(nil, val[0], val[1]) result end def _reduce_216(val, _values, result) result = @builder.binary_op(val[0], val[1], val[2]) result end def _reduce_217(val, _values, result) result = @builder.binary_op(val[0], val[1], val[2]) result end def _reduce_218(val, _values, result) result = @builder.binary_op(val[0], val[1], val[2]) result end def _reduce_219(val, _values, result) result = @builder.binary_op(val[0], val[1], val[2]) result end def _reduce_220(val, _values, result) result = @builder.binary_op(val[0], val[1], val[2]) result end def _reduce_221(val, _values, result) result = @builder.binary_op(val[0], val[1], val[2]) result end def _reduce_222(val, _values, result) result = @builder.unary_op(val[0], @builder.binary_op( val[1], val[2], val[3])) result end def _reduce_223(val, _values, result) result = @builder.unary_op(val[0], val[1]) result end def _reduce_224(val, _values, result) result = @builder.unary_op(val[0], val[1]) 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.binary_op(val[0], val[1], val[2]) result end # reduce 229 omitted def _reduce_230(val, _values, result) result = @builder.binary_op(val[0], val[1], val[2]) result end def _reduce_231(val, _values, result) result = @builder.binary_op(val[0], val[1], val[2]) result end def _reduce_232(val, _values, result) result = @builder.binary_op(val[0], val[1], val[2]) result end def _reduce_233(val, _values, result) result = @builder.match_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 def _reduce_235(val, _values, result) result = @builder.not_op(val[0], nil, val[1], nil) result end def _reduce_236(val, _values, result) result = @builder.unary_op(val[0], val[1]) 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.logical_op(:and, val[0], val[1], val[2]) result end def _reduce_240(val, _values, result) result = @builder.logical_op(:or, val[0], val[1], val[2]) result end def _reduce_241(val, _values, result) result = @builder.keyword_cmd(:defined?, val[0], nil, [ val[2] ], nil) result end def _reduce_242(val, _values, result) result = @builder.ternary(val[0], val[1], val[2], val[4], val[5]) result end # reduce 243 omitted # reduce 244 omitted # reduce 245 omitted # reduce 246 omitted # reduce 247 omitted def _reduce_248(val, _values, result) result = @builder.binary_op(val[0], val[1], val[2]) result end def _reduce_249(val, _values, result) result = @builder.binary_op(val[0], val[1], val[2]) result end # reduce 250 omitted # reduce 251 omitted # reduce 252 omitted def _reduce_253(val, _values, result) result = val[0] << @builder.associate(nil, val[2], nil) result end def _reduce_254(val, _values, result) result = [ @builder.associate(nil, val[0], nil) ] result end # reduce 255 omitted def _reduce_256(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_257(val, _values, result) result = val result end def _reduce_258(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_259(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_260(val, _values, result) result = [ nil, [], nil ] result end # reduce 261 omitted def _reduce_262(val, _values, result) result = [] result end # reduce 263 omitted # reduce 264 omitted def _reduce_265(val, _values, result) result = val[0] << @builder.associate(nil, val[2], nil) result end def _reduce_266(val, _values, result) result = [ @builder.associate(nil, val[0], nil) ] result end def _reduce_267(val, _values, result) result = [ val[0] ] result end def _reduce_268(val, _values, result) result = val[0].concat(val[1]) result end def _reduce_269(val, _values, result) result = [ @builder.associate(nil, val[0], nil) ] result.concat(val[1]) result end def _reduce_270(val, _values, result) assocs = @builder.associate(nil, val[2], nil) result = val[0] << assocs result.concat(val[3]) result end def _reduce_271(val, _values, result) result = [ val[0] ] result end def _reduce_272(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_273(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_274(val, _values, result) result = @builder.block_pass(val[0], val[1]) result end def _reduce_275(val, _values, result) result = [ val[1] ] result end def _reduce_276(val, _values, result) result = [] result end def _reduce_277(val, _values, result) result = [ val[0] ] result end def _reduce_278(val, _values, result) result = [ @builder.splat(val[0], val[1]) ] result end def _reduce_279(val, _values, result) result = val[0] << val[2] result end def _reduce_280(val, _values, result) result = val[0] << @builder.splat(val[2], val[3]) result end def _reduce_281(val, _values, result) result = @builder.array(nil, val[0], nil) result end # reduce 282 omitted def _reduce_283(val, _values, result) result = val[0] << val[2] result end def _reduce_284(val, _values, result) result = val[0] << @builder.splat(val[2], val[3]) result end def _reduce_285(val, _values, result) result = [ @builder.splat(val[0], val[1]) ] result end # reduce 286 omitted # reduce 287 omitted # reduce 288 omitted # reduce 289 omitted # reduce 290 omitted # reduce 291 omitted # reduce 292 omitted # reduce 293 omitted # reduce 294 omitted # reduce 295 omitted def _reduce_296(val, _values, result) result = @builder.call_method(nil, nil, val[0]) result end def _reduce_297(val, _values, result) @lexer.cmdarg.push(false) result end def _reduce_298(val, _values, result) @lexer.cmdarg.pop result = @builder.begin_keyword(val[0], val[2], val[3]) result end def _reduce_299(val, _values, result) @lexer.state = :expr_endarg result end def _reduce_300(val, _values, result) result = @builder.begin(val[0], val[1], val[3]) result end def _reduce_301(val, _values, result) @lexer.state = :expr_endarg result end def _reduce_302(val, _values, result) result = @builder.begin(val[0], nil, val[3]) result end def _reduce_303(val, _values, result) result = @builder.begin(val[0], val[1], val[2]) result end def _reduce_304(val, _values, result) result = @builder.const_fetch(val[0], val[1], val[2]) result end def _reduce_305(val, _values, result) result = @builder.const_global(val[0], val[1]) result end def _reduce_306(val, _values, result) result = @builder.array(val[0], val[1], val[2]) result end def _reduce_307(val, _values, result) result = @builder.associate(val[0], val[1], val[2]) result end def _reduce_308(val, _values, result) result = @builder.keyword_cmd(:return, val[0]) result end def _reduce_309(val, _values, result) result = @builder.keyword_cmd(:yield, val[0], val[1], val[2], val[3]) result end def _reduce_310(val, _values, result) result = @builder.keyword_cmd(:yield, val[0], val[1], [], val[2]) result end def _reduce_311(val, _values, result) result = @builder.keyword_cmd(:yield, val[0]) result end def _reduce_312(val, _values, result) result = @builder.keyword_cmd(:defined?, val[0], val[2], [ val[3] ], val[4]) result end def _reduce_313(val, _values, result) result = @builder.not_op(val[0], val[1], val[2], val[3]) result end def _reduce_314(val, _values, result) result = @builder.not_op(val[0], val[1], nil, val[2]) result end def _reduce_315(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 316 omitted def _reduce_317(val, _values, result) begin_t, args, body, end_t = val[1] result = @builder.block(val[0], begin_t, args, body, end_t) result end def _reduce_318(val, _values, result) result = @context.dup @context.in_lambda = true result end def _reduce_319(val, _values, result) lambda_call = @builder.call_lambda(val[0]) args, (begin_t, body, end_t) = val[2] result = @builder.block(lambda_call, begin_t, args, body, end_t) @context.in_lambda = val[1].in_lambda result end def _reduce_320(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_321(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_322(val, _values, result) result = @builder.loop(:while, val[0], *val[1], val[2], val[3]) result end def _reduce_323(val, _values, result) result = @builder.loop(:until, val[0], *val[1], val[2], val[3]) result end def _reduce_324(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_325(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_326(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_327(val, _values, result) result = @builder.for(val[0], val[1], val[2], *val[3], val[4], val[5]) result end def _reduce_328(val, _values, result) local_push @context.in_class = true result end def _reduce_329(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_330(val, _values, result) @context.in_def = false @context.in_class = false local_push result end def _reduce_331(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_332(val, _values, result) @context.in_class = true local_push result end def _reduce_333(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_334(val, _values, result) local_push result = context.dup @context.in_def = true @current_arg_stack.push(nil) result end def _reduce_335(val, _values, result) result = @builder.def_method(val[0], val[1], val[3], val[4], val[5]) local_pop @context.in_def = val[2].in_def @current_arg_stack.pop result end def _reduce_336(val, _values, result) @lexer.state = :expr_fname result end def _reduce_337(val, _values, result) local_push result = context.dup @context.in_def = true @current_arg_stack.push(nil) result end def _reduce_338(val, _values, result) result = @builder.def_singleton(val[0], val[1], val[2], val[4], val[6], val[7], val[8]) local_pop @context.in_def = val[5].in_def @current_arg_stack.pop result end def _reduce_339(val, _values, result) result = @builder.keyword_cmd(:break, val[0]) result end def _reduce_340(val, _values, result) result = @builder.keyword_cmd(:next, val[0]) result end def _reduce_341(val, _values, result) result = @builder.keyword_cmd(:redo, val[0]) result end def _reduce_342(val, _values, result) result = @builder.keyword_cmd(:retry, val[0]) result end # reduce 343 omitted def _reduce_344(val, _values, result) result = [ val[0], @context.dup ] result end def _reduce_345(val, _values, result) result = [ val[0], @context.dup ] result end def _reduce_346(val, _values, result) result = val[0] result end def _reduce_347(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 348 omitted # reduce 349 omitted def _reduce_350(val, _values, result) result = val[1] result end # reduce 351 omitted # reduce 352 omitted # reduce 353 omitted def _reduce_354(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 355 omitted def _reduce_356(val, _values, result) result = val result end # reduce 357 omitted # reduce 358 omitted def _reduce_359(val, _values, result) result = @builder.arg(val[0]) result end def _reduce_360(val, _values, result) result = @builder.multi_lhs(val[0], val[1], val[2]) result end def _reduce_361(val, _values, result) result = [ val[0] ] result end def _reduce_362(val, _values, result) result = val[0] << val[2] result end # reduce 363 omitted def _reduce_364(val, _values, result) result = val[0]. push(val[2]) result end def _reduce_365(val, _values, result) result = val[0]. push(val[2]). concat(val[4]) result end def _reduce_366(val, _values, result) result = [ val[0] ] result end def _reduce_367(val, _values, result) result = [ val[0], *val[2] ] result end def _reduce_368(val, _values, result) result = @builder.restarg(val[0], val[1]) result end def _reduce_369(val, _values, result) result = @builder.restarg(val[0]) result end def _reduce_370(val, _values, result) result = val[0].concat(val[2]).concat(val[3]) result end def _reduce_371(val, _values, result) result = val[0].concat(val[1]) result end def _reduce_372(val, _values, result) result = val[0].concat(val[1]) result end def _reduce_373(val, _values, result) result = val[0].concat(val[1]) result end def _reduce_374(val, _values, result) result = [ val[0] ] result end def _reduce_375(val, _values, result) result = val[1] result end def _reduce_376(val, _values, result) result = [] result end def _reduce_377(val, _values, result) result = val[0]. concat(val[2]). concat(val[4]). concat(val[5]) result end def _reduce_378(val, _values, result) result = val[0]. concat(val[2]). concat(val[4]). concat(val[6]). concat(val[7]) result end def _reduce_379(val, _values, result) result = val[0]. concat(val[2]). concat(val[3]) result end def _reduce_380(val, _values, result) result = val[0]. concat(val[2]). concat(val[4]). concat(val[5]) result end def _reduce_381(val, _values, result) result = val[0]. concat(val[2]). concat(val[3]) result end # reduce 382 omitted def _reduce_383(val, _values, result) result = val[0]. concat(val[2]). concat(val[4]). concat(val[5]) result end def _reduce_384(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_385(val, _values, result) result = val[0]. concat(val[2]). concat(val[3]) result end def _reduce_386(val, _values, result) result = val[0]. concat(val[2]). concat(val[4]). concat(val[5]) result end def _reduce_387(val, _values, result) result = val[0]. concat(val[1]) result end def _reduce_388(val, _values, result) result = val[0]. concat(val[2]). concat(val[3]) result end def _reduce_389(val, _values, result) result = val[0]. concat(val[1]) result end def _reduce_390(val, _values, result) result = val[0]. concat(val[2]). concat(val[3]) result end # reduce 391 omitted def _reduce_392(val, _values, result) result = @builder.args(nil, [], nil) result end def _reduce_393(val, _values, result) @lexer.state = :expr_value result end def _reduce_394(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_395(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_396(val, _values, result) result = [] result end def _reduce_397(val, _values, result) result = val[2] result end def _reduce_398(val, _values, result) result = [ val[0] ] result end def _reduce_399(val, _values, result) result = val[0] << val[2] result end def _reduce_400(val, _values, result) @static_env.declare val[0][0] result = @builder.shadowarg(val[0]) result end # reduce 401 omitted def _reduce_402(val, _values, result) @static_env.extend_dynamic @max_numparam_stack.push(static: false) result end def _reduce_403(val, _values, result) @lexer.cmdarg.push(false) result end def _reduce_404(val, _values, result) args = @max_numparam_stack.has_numparams? ? @builder.numargs(@max_numparam_stack.top) : val[1] result = [ args, val[3] ] @max_numparam_stack.pop @static_env.unextend @lexer.cmdarg.pop result end def _reduce_405(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_406(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_407(val, _values, result) result = @context.dup @context.in_lambda = true result end def _reduce_408(val, _values, result) result = [ val[0], val[2], val[3] ] @context.in_lambda = val[1].in_lambda result end def _reduce_409(val, _values, result) result = @context.dup @context.in_lambda = true result end def _reduce_410(val, _values, result) result = [ val[0], val[2], val[3] ] @context.in_lambda = val[1].in_lambda result end def _reduce_411(val, _values, result) result = @context.dup @context.in_block = true result end def _reduce_412(val, _values, result) result = [ val[0], *val[2], val[3] ] @context.in_block = val[1].in_block result end def _reduce_413(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_414(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_415(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_416(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_417(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_418(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_419(val, _values, result) lparen_t, args, rparen_t = val[3] result = @builder.call_method(val[0], val[1], val[2], lparen_t, args, rparen_t) result end def _reduce_420(val, _values, result) result = @builder.call_method(val[0], val[1], val[2]) result end def _reduce_421(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_422(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_423(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_424(val, _values, result) result = @builder.keyword_cmd(:zsuper, val[0]) result end def _reduce_425(val, _values, result) result = @builder.index(val[0], val[1], val[2], val[3]) result end def _reduce_426(val, _values, result) result = @context.dup @context.in_block = true result end def _reduce_427(val, _values, result) result = [ val[0], *val[2], val[3] ] @context.in_block = val[1].in_block result end def _reduce_428(val, _values, result) result = @context.dup @context.in_block = true result end def _reduce_429(val, _values, result) result = [ val[0], *val[2], val[3] ] @context.in_block = val[1].in_block result end def _reduce_430(val, _values, result) @static_env.extend_dynamic @max_numparam_stack.push(static: false) result end def _reduce_431(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_432(val, _values, result) @static_env.extend_dynamic @max_numparam_stack.push(static: false) result end def _reduce_433(val, _values, result) @lexer.cmdarg.push(false) result end def _reduce_434(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_435(val, _values, result) result = [ @builder.when(val[0], val[1], val[2], val[3]), *val[4] ] result end def _reduce_436(val, _values, result) result = [ val[0] ] result end # reduce 437 omitted def _reduce_438(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_439(val, _values, result) @pattern_hash_keys.pop @pattern_variables.pop @context.in_kwarg = val[1] result end def _reduce_440(val, _values, result) result = [ @builder.in_pattern(val[0], *val[2], val[3], val[5]), *val[6] ] result end def _reduce_441(val, _values, result) result = [ val[0] ] result end # reduce 442 omitted def _reduce_443(val, _values, result) result = [ val[0], nil ] result end def _reduce_444(val, _values, result) result = [ val[0], @builder.if_guard(val[1], val[2]) ] result end def _reduce_445(val, _values, result) result = [ val[0], @builder.unless_guard(val[1], val[2]) ] result end # reduce 446 omitted def _reduce_447(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_448(val, _values, result) result = @builder.array_pattern(nil, [val[0]].concat(val[2]), nil) result end def _reduce_449(val, _values, result) result = @builder.array_pattern(nil, val[0], nil) result end def _reduce_450(val, _values, result) result = @builder.hash_pattern(nil, val[0], nil) result end # reduce 451 omitted def _reduce_452(val, _values, result) result = @builder.match_as(val[0], val[1], val[2]) result end # reduce 453 omitted def _reduce_454(val, _values, result) result = @builder.match_alt(val[0], val[1], val[2]) result end # reduce 455 omitted def _reduce_456(val, _values, result) result = val[0] @pattern_hash_keys.push result end def _reduce_457(val, _values, result) result = val[0] @pattern_hash_keys.push result end # reduce 458 omitted def _reduce_459(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_460(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_461(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_462(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_463(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_464(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_465(val, _values, result) @pattern_hash_keys.push result end def _reduce_466(val, _values, result) @pattern_hash_keys.pop result = @builder.array_pattern(val[0], val[2], val[3]) result end def _reduce_467(val, _values, result) result = @builder.array_pattern(val[0], [], val[1]) result end def _reduce_468(val, _values, result) @pattern_hash_keys.push result = @context.in_kwarg @context.in_kwarg = false result end def _reduce_469(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_470(val, _values, result) result = @builder.hash_pattern(val[0], [], val[1]) result end def _reduce_471(val, _values, result) @pattern_hash_keys.push result end def _reduce_472(val, _values, result) @pattern_hash_keys.pop result = @builder.begin(val[0], val[2], val[3]) result end def _reduce_473(val, _values, result) result = [ val[0] ] result end def _reduce_474(val, _values, result) result = val[0] result end def _reduce_475(val, _values, result) result = [ *val[0], val[1] ] result end def _reduce_476(val, _values, result) match_rest = @builder.match_rest(val[1], val[2]) result = [ *val[0], match_rest ] result end def _reduce_477(val, _values, result) match_rest = @builder.match_rest(val[1], val[2]) result = [ *val[0], match_rest, *val[4] ] result end def _reduce_478(val, _values, result) result = [ *val[0], @builder.match_rest(val[1]) ] result end def _reduce_479(val, _values, result) result = [ *val[0], @builder.match_rest(val[1]), *val[3] ] result end # reduce 480 omitted def _reduce_481(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_482(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_483(val, _values, result) match_rest = @builder.match_rest(val[0], val[1]) result = [ match_rest ] result end def _reduce_484(val, _values, result) match_rest = @builder.match_rest(val[0], val[1]) result = [ match_rest, *val[3] ] result end def _reduce_485(val, _values, result) match_rest = @builder.match_rest(val[0]) result = [ match_rest ] result end def _reduce_486(val, _values, result) match_rest = @builder.match_rest(val[0]) result = [ match_rest, *val[2] ] result end def _reduce_487(val, _values, result) result = [ val[0] ] result end def _reduce_488(val, _values, result) result = [ *val[0], val[2] ] result end # reduce 489 omitted def _reduce_490(val, _values, result) result = [ *val[0], *val[2] ] result end def _reduce_491(val, _values, result) result = val[0] result end def _reduce_492(val, _values, result) result = val[0] result end def _reduce_493(val, _values, result) result = val[0] result end def _reduce_494(val, _values, result) result = [ *val[0], *val[2] ] result end def _reduce_495(val, _values, result) result = [ *val[0], *val[2] ] result end def _reduce_496(val, _values, result) result = [ val[0] ] result end def _reduce_497(val, _values, result) result = [ *val[0], val[2] ] result end def _reduce_498(val, _values, result) result = @builder.match_pair(*val[0], val[1]) result end def _reduce_499(val, _values, result) result = @builder.match_label(*val[0]) result end def _reduce_500(val, _values, result) result = [:label, val[0]] result end def _reduce_501(val, _values, result) result = [:quoted, [val[0], val[1], val[2]]] result end def _reduce_502(val, _values, result) result = [ @builder.match_rest(val[0], val[1]) ] result end def _reduce_503(val, _values, result) result = [ @builder.match_rest(val[0], nil) ] result end def _reduce_504(val, _values, result) result = [ @builder.match_nil_pattern(val[0], val[1]) ] result end # reduce 505 omitted def _reduce_506(val, _values, result) result = @builder.range_inclusive(val[0], val[1], val[2]) result end def _reduce_507(val, _values, result) result = @builder.range_exclusive(val[0], val[1], val[2]) result end def _reduce_508(val, _values, result) result = @builder.range_inclusive(val[0], val[1], nil) result end def _reduce_509(val, _values, result) result = @builder.range_exclusive(val[0], val[1], nil) result end # reduce 510 omitted # reduce 511 omitted # reduce 512 omitted def _reduce_513(val, _values, result) result = @builder.range_inclusive(nil, val[0], val[1]) result end def _reduce_514(val, _values, result) result = @builder.range_exclusive(nil, val[0], val[1]) result end # reduce 515 omitted # reduce 516 omitted # reduce 517 omitted # reduce 518 omitted # reduce 519 omitted # reduce 520 omitted # reduce 521 omitted # reduce 522 omitted def _reduce_523(val, _values, result) result = @builder.accessible(val[0]) result end def _reduce_524(val, _values, result) result = @context.dup @context.in_lambda = true result end def _reduce_525(val, _values, result) lambda_call = @builder.call_lambda(val[0]) args, (begin_t, body, end_t) = val[2] result = @builder.block(lambda_call, begin_t, args, body, end_t) @context.in_lambda = val[1].in_lambda result end def _reduce_526(val, _values, result) result = @builder.assignable(@builder.match_var(val[0])) result end def _reduce_527(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_528(val, _values, result) result = @builder.const_global(val[0], val[1]) result end def _reduce_529(val, _values, result) result = @builder.const_fetch(val[0], val[1], val[2]) result end def _reduce_530(val, _values, result) result = @builder.const(val[0]) result end def _reduce_531(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_532(val, _values, result) result = [] result end def _reduce_533(val, _values, result) result = [ val[0] ] result end # reduce 534 omitted # reduce 535 omitted def _reduce_536(val, _values, result) result = [ val[0], val[1] ] result end # reduce 537 omitted def _reduce_538(val, _values, result) result = [ val[0], val[1] ] result end # reduce 539 omitted # reduce 540 omitted # reduce 541 omitted def _reduce_542(val, _values, result) result = @builder.string_compose(nil, val[0], nil) result end def _reduce_543(val, _values, result) result = [ val[0] ] result end def _reduce_544(val, _values, result) result = val[0] << val[1] result end def _reduce_545(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_546(val, _values, result) string = @builder.string(val[0]) result = @builder.dedent_string(string, @lexer.dedent_level) result end def _reduce_547(val, _values, result) result = @builder.character(val[0]) result end def _reduce_548(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_549(val, _values, result) opts = @builder.regexp_options(val[3]) result = @builder.regexp_compose(val[0], val[1], val[2], opts) result end def _reduce_550(val, _values, result) result = @builder.words_compose(val[0], val[1], val[2]) result end def _reduce_551(val, _values, result) result = [] result end def _reduce_552(val, _values, result) result = val[0] << @builder.word(val[1]) result end def _reduce_553(val, _values, result) result = [ val[0] ] result end def _reduce_554(val, _values, result) result = val[0] << val[1] result end def _reduce_555(val, _values, result) result = @builder.symbols_compose(val[0], val[1], val[2]) result end def _reduce_556(val, _values, result) result = [] result end def _reduce_557(val, _values, result) result = val[0] << @builder.word(val[1]) result end def _reduce_558(val, _values, result) result = @builder.words_compose(val[0], val[1], val[2]) result end def _reduce_559(val, _values, result) result = @builder.symbols_compose(val[0], val[1], val[2]) result end def _reduce_560(val, _values, result) result = [] result end def _reduce_561(val, _values, result) result = val[0] << @builder.string_internal(val[1]) result end def _reduce_562(val, _values, result) result = [] result end def _reduce_563(val, _values, result) result = val[0] << @builder.symbol_internal(val[1]) result end def _reduce_564(val, _values, result) result = [] result end def _reduce_565(val, _values, result) result = val[0] << val[1] result end def _reduce_566(val, _values, result) result = [] result end def _reduce_567(val, _values, result) result = val[0] << val[1] result end def _reduce_568(val, _values, result) result = [] result end def _reduce_569(val, _values, result) result = val[0] << val[1] result end def _reduce_570(val, _values, result) result = @builder.string_internal(val[0]) result end def _reduce_571(val, _values, result) result = val[1] result end def _reduce_572(val, _values, result) @lexer.cmdarg.push(false) @lexer.cond.push(false) result end def _reduce_573(val, _values, result) @lexer.cmdarg.pop @lexer.cond.pop result = @builder.begin(val[0], val[2], val[3]) result end def _reduce_574(val, _values, result) result = @builder.gvar(val[0]) result end def _reduce_575(val, _values, result) result = @builder.ivar(val[0]) result end def _reduce_576(val, _values, result) result = @builder.cvar(val[0]) result end # reduce 577 omitted # reduce 578 omitted # reduce 579 omitted def _reduce_580(val, _values, result) @lexer.state = :expr_end result = @builder.symbol(val[0]) result end def _reduce_581(val, _values, result) @lexer.state = :expr_end result = @builder.symbol_compose(val[0], val[1], val[2]) result end def _reduce_582(val, _values, result) result = val[0] result end def _reduce_583(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_584(val, _values, result) @lexer.state = :expr_end result = @builder.integer(val[0]) result end def _reduce_585(val, _values, result) @lexer.state = :expr_end result = @builder.float(val[0]) result end def _reduce_586(val, _values, result) @lexer.state = :expr_end result = @builder.rational(val[0]) result end def _reduce_587(val, _values, result) @lexer.state = :expr_end result = @builder.complex(val[0]) result end def _reduce_588(val, _values, result) result = @builder.ident(val[0]) result end def _reduce_589(val, _values, result) result = @builder.ivar(val[0]) result end def _reduce_590(val, _values, result) result = @builder.gvar(val[0]) result end def _reduce_591(val, _values, result) result = @builder.const(val[0]) result end def _reduce_592(val, _values, result) result = @builder.cvar(val[0]) result end def _reduce_593(val, _values, result) result = @builder.nil(val[0]) result end def _reduce_594(val, _values, result) result = @builder.self(val[0]) result end def _reduce_595(val, _values, result) result = @builder.true(val[0]) result end def _reduce_596(val, _values, result) result = @builder.false(val[0]) result end def _reduce_597(val, _values, result) result = @builder.__FILE__(val[0]) result end def _reduce_598(val, _values, result) result = @builder.__LINE__(val[0]) result end def _reduce_599(val, _values, result) result = @builder.__ENCODING__(val[0]) result end def _reduce_600(val, _values, result) result = @builder.accessible(val[0]) result end def _reduce_601(val, _values, result) result = @builder.accessible(val[0]) result end def _reduce_602(val, _values, result) result = @builder.assignable(val[0]) result end def _reduce_603(val, _values, result) result = @builder.assignable(val[0]) result end def _reduce_604(val, _values, result) result = @builder.nth_ref(val[0]) result end def _reduce_605(val, _values, result) result = @builder.back_ref(val[0]) result end def _reduce_606(val, _values, result) @lexer.state = :expr_value result end def _reduce_607(val, _values, result) result = [ val[0], val[2] ] result end def _reduce_608(val, _values, result) result = nil result end def _reduce_609(val, _values, result) result = @builder.args(val[0], val[1], val[2]) @lexer.state = :expr_value result end def _reduce_610(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_611(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 def _reduce_612(val, _values, result) result = @context.in_kwarg @context.in_kwarg = true result end def _reduce_613(val, _values, result) @context.in_kwarg = val[0] result = @builder.args(nil, val[1], nil) result end def _reduce_614(val, _values, result) result = val[0].concat(val[2]).concat(val[3]) result end def _reduce_615(val, _values, result) result = val[0].concat(val[1]) result end def _reduce_616(val, _values, result) result = val[0].concat(val[1]) result end def _reduce_617(val, _values, result) result = val[0].concat(val[1]) result end def _reduce_618(val, _values, result) result = [ val[0] ] result end def _reduce_619(val, _values, result) result = val[1] result end def _reduce_620(val, _values, result) result = [] result end def _reduce_621(val, _values, result) result = val[0]. concat(val[2]). concat(val[4]). concat(val[5]) result end def _reduce_622(val, _values, result) result = val[0]. concat(val[2]). concat(val[4]). concat(val[6]). concat(val[7]) result end def _reduce_623(val, _values, result) result = val[0]. concat(val[2]). concat(val[3]) result end def _reduce_624(val, _values, result) result = val[0]. concat(val[2]). concat(val[4]). concat(val[5]) result end def _reduce_625(val, _values, result) result = val[0]. concat(val[2]). concat(val[3]) result end def _reduce_626(val, _values, result) result = val[0]. concat(val[2]). concat(val[4]). concat(val[5]) result end def _reduce_627(val, _values, result) result = val[0]. concat(val[1]) result end def _reduce_628(val, _values, result) result = val[0]. concat(val[2]). concat(val[3]) result end def _reduce_629(val, _values, result) result = val[0]. concat(val[2]). concat(val[4]). concat(val[5]) 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]. concat(val[2]). concat(val[3]) result end def _reduce_632(val, _values, result) result = val[0]. concat(val[1]) result end def _reduce_633(val, _values, result) result = val[0]. concat(val[2]). concat(val[3]) result end def _reduce_634(val, _values, result) result = val[0] result end def _reduce_635(val, _values, result) result = [] result end def _reduce_636(val, _values, result) result = val[0] result end def _reduce_637(val, _values, result) diagnostic :error, :argument_const, nil, val[0] result end def _reduce_638(val, _values, result) diagnostic :error, :argument_ivar, nil, val[0] result end def _reduce_639(val, _values, result) diagnostic :error, :argument_gvar, nil, val[0] result end def _reduce_640(val, _values, result) diagnostic :error, :argument_cvar, nil, val[0] result end # reduce 641 omitted def _reduce_642(val, _values, result) @static_env.declare val[0][0] @max_numparam_stack.has_ordinary_params! result = val[0] result end def _reduce_643(val, _values, result) @current_arg_stack.set(val[0][0]) result = val[0] result end def _reduce_644(val, _values, result) @current_arg_stack.set(0) result = @builder.arg(val[0]) result end def _reduce_645(val, _values, result) result = @builder.multi_lhs(val[0], val[1], val[2]) result end def _reduce_646(val, _values, result) result = [ val[0] ] result end def _reduce_647(val, _values, result) result = val[0] << val[2] result end def _reduce_648(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_649(val, _values, result) @current_arg_stack.set(nil) result = @builder.kwoptarg(val[0], val[1]) result end def _reduce_650(val, _values, result) @current_arg_stack.set(nil) result = @builder.kwarg(val[0]) result end def _reduce_651(val, _values, result) result = @builder.kwoptarg(val[0], val[1]) result end def _reduce_652(val, _values, result) result = @builder.kwarg(val[0]) result end def _reduce_653(val, _values, result) result = [ val[0] ] result end def _reduce_654(val, _values, result) result = val[0] << val[2] result end def _reduce_655(val, _values, result) result = [ val[0] ] result end def _reduce_656(val, _values, result) result = val[0] << val[2] result end # reduce 657 omitted # reduce 658 omitted def _reduce_659(val, _values, result) result = [ @builder.kwnilarg(val[0], val[1]) ] result end def _reduce_660(val, _values, result) @static_env.declare val[1][0] result = [ @builder.kwrestarg(val[0], val[1]) ] result end def _reduce_661(val, _values, result) result = [ @builder.kwrestarg(val[0]) ] result end def _reduce_662(val, _values, result) @current_arg_stack.set(0) result = @builder.optarg(val[0], val[1], val[2]) result end def _reduce_663(val, _values, result) @current_arg_stack.set(0) result = @builder.optarg(val[0], val[1], val[2]) result end def _reduce_664(val, _values, result) result = [ val[0] ] result end def _reduce_665(val, _values, result) result = val[0] << val[2] result end def _reduce_666(val, _values, result) result = [ val[0] ] result end def _reduce_667(val, _values, result) result = val[0] << val[2] result end # reduce 668 omitted # reduce 669 omitted def _reduce_670(val, _values, result) @static_env.declare val[1][0] result = [ @builder.restarg(val[0], val[1]) ] result end def _reduce_671(val, _values, result) result = [ @builder.restarg(val[0]) ] result end # reduce 672 omitted # reduce 673 omitted def _reduce_674(val, _values, result) @static_env.declare val[1][0] result = @builder.blockarg(val[0], val[1]) result end def _reduce_675(val, _values, result) result = [ val[1] ] result end def _reduce_676(val, _values, result) result = [] result end # reduce 677 omitted def _reduce_678(val, _values, result) result = val[1] result end def _reduce_679(val, _values, result) result = [] result end # reduce 680 omitted def _reduce_681(val, _values, result) result = [ val[0] ] result end def _reduce_682(val, _values, result) result = val[0] << val[2] result end def _reduce_683(val, _values, result) result = @builder.pair(val[0], val[1], val[2]) result end def _reduce_684(val, _values, result) result = @builder.pair_keyword(val[0], val[1]) result end def _reduce_685(val, _values, result) result = @builder.pair_quoted(val[0], val[1], val[2], val[3]) result end def _reduce_686(val, _values, result) result = @builder.kwsplat(val[0], val[1]) result end # reduce 687 omitted # reduce 688 omitted # reduce 689 omitted # reduce 690 omitted # reduce 691 omitted # reduce 692 omitted # reduce 693 omitted # reduce 694 omitted # reduce 695 omitted # reduce 696 omitted # reduce 697 omitted # reduce 698 omitted def _reduce_699(val, _values, result) result = [:dot, val[0][1]] result end def _reduce_700(val, _values, result) result = [:anddot, val[0][1]] result end # reduce 701 omitted # reduce 702 omitted # reduce 703 omitted # reduce 704 omitted def _reduce_705(val, _values, result) result = val[1] result end def _reduce_706(val, _values, result) result = val[1] result end def _reduce_707(val, _values, result) result = val[1] result end # reduce 708 omitted # reduce 709 omitted # reduce 710 omitted def _reduce_711(val, _values, result) yyerrok result end # reduce 712 omitted # reduce 713 omitted # reduce 714 omitted def _reduce_715(val, _values, result) result = nil result end def _reduce_none(val, _values, result) val[0] end end # class Ruby27 end # module Parser