File Manager
Viewing File: ruby22.rb
# -*- encoding:utf-8; warn-indent:false; frozen_string_literal: true -*-
#
# DO NOT MODIFY!!!!
# This file is automatically generated by Racc 1.4.14
# from Racc grammer file "".
#
require 'racc/parser.rb'
require 'parser'
Parser.check_for_encoding_support
module Parser
class Ruby22 < Parser::Base
def version
22
end
def default_encoding
Encoding::UTF_8
end
##### State transition tables begin ###
clist = [
'-474,109,268,214,215,-97,-98,-474,-474,-474,217,568,-474,-474,-474,-286',
'-474,268,647,610,-83,121,214,215,-474,612,-474,-474,-474,-69,268,806',
'206,574,-105,589,-474,-474,568,-474,-474,-474,-474,-474,568,568,214',
'215,568,-104,815,218,-100,646,-102,-286,214,215,268,580,214,215,-488',
'581,-100,-102,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474',
'-474,-474,-474,207,263,-474,-474,-474,609,-474,-474,715,267,-474,611',
'260,-474,-474,-99,-474,218,-474,261,-474,-489,-474,-474,267,-474,-474',
'-474,-474,-474,-99,-474,-477,-474,-88,-89,218,267,-97,-477,-477,-477',
'263,-101,-477,-477,-477,-474,-477,113,-474,-474,-474,-474,112,-474,-477',
'-474,-477,-477,-477,588,-474,-96,715,267,-101,715,-477,-477,218,-477',
'-477,-477,-477,-477,113,-98,-95,814,-91,112,113,113,113,842,113,112',
'112,112,-100,112,-102,-91,-93,-100,444,-102,-477,-477,-477,-477,-477',
'-477,-477,-477,-477,-477,-477,-477,-477,-477,113,208,-477,-477,-477',
'112,-477,-477,-572,-93,-477,213,-90,-477,-477,-103,-477,257,-477,-572',
'-477,316,-477,-477,-569,-477,-477,-477,-477,-477,-289,-477,317,-477',
'-91,-474,-99,-289,-289,-289,-105,-99,-474,-289,-289,527,-289,-477,526',
'-101,-477,-477,-477,-477,-101,-477,113,-477,-570,113,647,112,-477,-92',
'112,527,-289,-289,529,-289,-289,-289,-289,-289,-91,-93,-474,-91,212',
'218,-573,214,215,-474,-488,386,-91,548,-569,545,544,543,-474,546,399',
'646,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289',
'-289,-477,-569,-289,-289,-289,-93,630,-477,-93,647,-289,-489,-570,-289',
'-94,-96,-477,-93,-289,597,-289,-88,-289,-289,-105,-289,-289,-289,-289',
'-289,-97,-289,-576,-289,527,-570,515,529,770,-576,-576,-576,91,92,646',
'-576,-576,-289,-576,-477,-289,-289,647,-94,443,-289,-477,-576,-89,833',
'-576,771,-103,527,445,113,529,-98,-576,-576,112,-576,-576,-576,-576',
'-576,548,446,545,544,543,217,546,599,598,597,515,646,597,477,91,92,-104',
'747,-100,486,597,488,-576,-576,-576,-576,-576,-576,-576,-576,-576,-576',
'-576,-576,-576,-576,-576,490,-576,-576,-576,-102,631,-576,93,94,-576',
'498,-572,-576,860,-410,-576,-576,-576,113,-576,-95,-576,-576,112,-576',
'-576,-576,-576,-576,-104,-576,-576,-576,597,-576,-68,599,598,595,599',
'598,595,597,214,215,956,-576,599,598,-576,-576,-576,-92,662,-576,93',
'94,749,-576,-576,-576,-101,218,-576,-576,-576,-410,-576,-576,-99,564',
'563,501,-410,-484,-576,-576,-576,-576,-576,-572,-484,-410,218,-576,502',
'979,-576,-576,509,-576,-576,-576,-576,-576,113,625,599,598,600,112,-410',
'597,-576,-483,597,599,598,602,597,396,-483,837,806,272,398,397,-576',
'-576,-576,-576,-576,-576,-576,-576,-576,-576,-576,-576,-576,-576,113',
'210,-576,-576,-576,112,772,-576,211,238,-576,626,-91,-576,-576,218,-576',
'209,-576,756,-576,-100,-576,-576,263,-576,-576,-576,-576,-576,512,-576',
'-576,-576,516,599,598,604,599,598,608,235,599,598,613,237,236,-576,233',
'234,-576,-576,-576,-576,238,-576,-289,-576,-93,837,806,553,-101,-289',
'-289,-289,-90,-102,-289,-289,-289,556,-289,238,548,-99,545,544,543,218',
'546,238,-289,-289,-289,530,235,-332,79,531,237,236,-289,-289,-332,-289',
'-289,-289,-289,-289,80,-485,490,-332,564,563,574,-482,-485,557,81,701',
'-479,235,-482,388,113,237,236,-479,704,112,-289,-289,-289,-289,-289',
'-289,-289,-289,-289,-289,-289,-289,-289,-289,578,553,-289,-289,-289',
'440,773,-289,-486,579,-289,556,441,-289,-289,-486,-289,614,-289,617',
'-289,442,-289,-289,-486,-289,-289,-289,-289,-289,-261,-289,548,-289',
'545,544,543,548,546,545,544,543,619,546,564,563,218,-289,623,557,-289',
'-289,-289,-289,-487,-289,624,-289,263,634,637,-487,-103,5,69,70,71,9',
'57,701,-487,113,63,64,701,238,112,67,704,65,66,68,30,31,72,73,116,117',
'118,119,120,29,28,27,101,100,102,103,741,742,19,238,743,107,108,635',
'8,45,7,10,105,104,106,95,56,97,96,98,238,99,107,108,238,91,92,42,43',
'41,238,242,247,248,249,244,246,254,255,250,251,507,231,232,-279,113',
'252,253,508,40,112,-279,33,218,218,58,59,506,218,60,-279,35,235,-83',
'241,44,237,236,666,233,234,245,243,239,20,240,218,520,677,89,79,82,83',
'517,84,86,85,87,682,-480,518,-481,80,88,260,256,-480,-238,-481,442,62',
'261,81,93,94,290,69,70,71,9,57,683,685,576,63,64,689,692,693,67,577',
'65,66,68,30,31,72,73,695,575,697,699,707,29,28,27,101,100,102,103,708',
'709,19,711,574,718,736,620,8,45,292,10,105,104,106,95,56,97,96,98,746',
'99,107,108,750,91,92,42,43,41,238,242,247,248,249,244,246,254,255,250',
'251,584,231,232,-290,751,252,253,583,40,-262,-290,294,757,477,58,59',
'585,477,60,-290,35,235,218,241,44,237,236,775,233,234,245,243,239,20',
'240,257,488,490,89,79,82,83,-290,84,86,85,87,799,677,-290,218,80,88',
'263,256,263,677,238,-290,62,806,81,93,94,5,69,70,71,9,57,218,218,584',
'63,64,831,218,806,67,938,65,66,68,30,31,72,73,841,585,218,218,850,29',
'28,27,101,100,102,103,-263,859,19,862,692,865,867,635,8,45,7,10,105',
'104,106,95,56,97,96,98,869,99,107,108,871,91,92,42,43,41,238,242,247',
'248,249,244,246,254,255,250,251,-289,231,232,584,218,252,253,-289,40',
'873,938,33,-573,874,58,59,-289,877,60,585,35,235,879,241,44,237,236',
'880,233,234,245,243,239,20,240,677,882,-261,89,79,82,83,-486,84,86,85',
'87,886,888,-486,891,80,88,692,256,893,895,897,-486,62,899,81,93,94,290',
'69,70,71,9,57,899,218,-487,63,64,905,907,909,67,-487,65,66,68,30,31',
'72,73,915,-487,918,218,922,29,28,27,101,100,102,103,-264,935,19,545',
'544,543,932,546,8,45,292,10,105,104,106,95,56,97,96,98,939,99,107,108',
'940,91,92,42,43,41,238,242,247,248,249,244,246,254,255,250,251,-289',
'231,232,984,949,252,253,-289,40,950,985,33,-573,958,58,59,-289,960,60',
'983,35,235,961,241,44,237,236,966,233,234,245,243,239,20,240,736,692',
'969,89,79,82,83,-279,84,86,85,87,971,973,-279,975,80,88,975,256,986',
'987,899,-279,62,899,81,93,94,290,69,70,71,9,57,899,992,-290,63,64,958',
'-573,-572,67,-290,65,66,68,30,31,72,73,682,-290,958,1011,1012,29,28',
'27,101,100,102,103,1013,935,19,545,544,543,975,546,8,45,292,10,105,104',
'106,95,56,97,96,98,975,99,107,108,975,91,92,42,43,41,238,242,247,248',
'249,244,246,254,255,250,251,-289,231,232,218,899,252,253,-289,40,958',
'975,33,-573,,58,59,-289,,60,,35,235,,241,44,237,236,,233,234,245,243',
'239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,256,,,,,62,,81,93',
'94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,116,117,118',
'119,120,29,28,27,101,100,102,103,,,19,116,117,118,119,120,8,45,292,10',
'105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,242,247,248',
'249,244,246,254,255,250,251,,231,232,,,252,253,,40,,,294,,,58,59,,,60',
',35,235,,241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,256,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,',
',,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
'238,242,247,248,249,244,246,254,255,250,251,,231,232,,,252,253,,40,',
',294,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245,243,239,20,240',
',,,89,79,82,83,,84,86,85,87,,,,,80,88,218,256,,,,,62,,81,93,94,290,69',
'70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
'102,103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,42,43,41,238,242,247,248,249,244,246,254,255,250,251,,231,232',
',,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245',
'243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,256,,,,,62,,81',
'93,94,5,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
'27,101,100,102,103,,,19,,,,,,8,45,7,10,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,42,43,41,238,242,247,248,249,244,246,254,255,250,251',
',231,232,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233',
'234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,256,,',
',,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,42,43,41,238,242,247,248,249,244,246,254',
'255,250,251,,231,232,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44',
'237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,',
'80,88,,256,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,242,247,248,249',
'244,246,254,255,250,251,,231,232,,,252,253,,40,,,33,,,58,59,,,60,,35',
'235,,241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,256,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,',
'67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45',
'292,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,242',
'247,248,249,244,246,254,255,250,251,,231,232,,,252,253,,40,,,33,,,58',
'59,,,60,,35,235,,241,44,237,236,,233,234,245,243,239,20,240,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,256,,,,,62,,81,93,94,290,69,70,71,9,57',
',,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,',
',19,,,,,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,238,242,247,248,249,244,246,254,255,250,251,,231,232,,,252,253',
',40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245,243,239,20',
'240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,256,,,,,62,,81,93,94,290',
'69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
'100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,238,242,247,248,249,244,246,254,255,250,251,,231',
'232,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234',
'245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,256,,,,,62',
',81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,',
',,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,238,242,247,248,249,244,246,254,255',
'250,251,,231,232,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237',
'236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',256,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30',
'31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,242,247,248,249,244',
'246,254,255,250,251,,231,232,,,252,253,,40,,,33,,,58,59,,,60,,35,235',
',241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,256,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292',
'10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,242,247',
'248,249,244,246,254,255,250,251,,231,232,,,252,253,,40,,,33,,,58,59',
',,60,,35,235,,241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,256,,,,,62,,81,93,94,290,69,70,71,9,57,,',
',63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,238',
'548,19,545,544,543,,546,8,45,292,10,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,235,,,,237,236,701,233,234,,,,,,,904,,40,,,33',
',,58,59,,,60,548,35,545,544,543,44,546,,,,,,,,20,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,701,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,',
'8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,238',
'242,247,248,249,244,246,254,255,250,251,,-595,-595,,,252,253,,40,,,33',
',,58,59,,,60,,35,235,,241,44,237,236,,233,234,245,243,239,20,240,,,',
'89,79,82,83,,84,86,85,87,,,,,80,88,,548,,545,544,543,62,546,81,93,94',
'290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,701,29,28',
'27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,238,242,247,248,249,244,246,254,255,250',
'251,,-595,-595,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236',
',233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,548',
',545,544,543,62,546,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,701,29,28,27,101,100,102,103,,548,19,545,544,543',
',546,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43',
'41,238,-595,-595,-595,-595,244,246,,701,-595,-595,,,,,,252,253,,40,',
',33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245,243,239,20,240',
',,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,290,69,70,71',
'9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
'103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,238,,,,,,,,,,,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235',
',241,44,237,236,,233,234,,,239,20,240,,,,89,79,82,83,,84,86,85,87,,',
',,80,88,,,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,,,,,,,,,,,,,',
',,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,,,239',
'20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,290',
'69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
'100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,238,,,,,,,,,,,,,,,,252,253,,40,,,33,,,58,59,,,60',
',35,235,,241,44,237,236,,233,234,,,239,20,240,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292',
'10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,,,,,,',
',,,,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233',
'234,,,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81',
'93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,42,43,41,238,-595,-595,-595,-595,244,246,,,-595',
'-595,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233',
'234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62',
',81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,',
',,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,238,-595,-595,-595,-595,244,246,,',
'-595,-595,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236',
',233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,',
',,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72',
'73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,238,-595,-595,-595,-595,244',
'246,,,-595,-595,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237',
'236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,-595,-595,-595,-595,244',
'246,,,-595,-595,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237',
'236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,-595,-595,-595,-595,244',
'246,,,-595,-595,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237',
'236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,242,247,248,249,244,246',
',,250,251,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236',
',233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,',
',,,,62,,81,93,94,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,7,10,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,42,43,41,238,242,247,248,249,244,246,254',
',250,251,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236',
',233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,',
',69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
'27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,238,,,,,,,,,,,,,,,,252,253,,223,,,229,,,58,59,,',
'60,,,235,,241,44,237,236,,233,234,,,,228,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72',
'73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56',
'97,96,98,284,99,107,108,,91,92,42,43,41,238,,,,,,,,,,,,,,,,252,253,',
'223,,,229,,,58,59,,,60,,281,235,279,241,44,237,236,285,233,234,,,,228',
',,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,',
',,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108,,91,92,42,43,41',
'238,,,,,,,,,,,,,,,,252,253,,223,,,229,,,58,59,,,60,,281,235,279,,44',
'237,236,285,233,234,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284',
'99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60',
',281,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88',
',,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,',
'305,306,312,101,100,102,103,,,230,,,,,,,307,,,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,,,313,,,,,,,,,,,,,,,,,,,,303,,,299,,,58,59,,,60',
',298,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312',
'101,100,102,103,,,230,,,,,,,307,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,,,313,,,,,,,,,,,,,,,,,,,,303,,,229,,,58,59,,,60,,,548,,545',
'544,543,553,546,,,,,,,,,556,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,315',
',551,62,,81,93,94,69,70,71,,57,564,563,,63,64,557,,,67,,65,66,68,309',
'310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
',,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,',
',,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58',
'59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305',
'306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98',
'284,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59',
',,60,,281,,,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,',
',,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97',
'96,98,284,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,',
'58,59,,,60,,,,,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,',
'80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,',
',,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59',
',,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69',
'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,',
',,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103',
',,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43',
'41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,',
'89,79,82,83,,84,86,85,87,,,,,80,88,113,,,,,112,62,,81,93,94,69,70,71',
',57,,,,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100',
'102,103,,,230,,,,,,,307,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,,,313,,,,,,,,,,,,,,,,,,,,348,,,33,,,58,59,,,60,,35,,,,,,,,,,,,,,',
',,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
'230,,,,,,,307,,,105,104,106,353,56,97,96,354,,99,107,108,,91,92,,,313',
',,,,,,,,,,,,,,,,360,,,355,,,229,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
',307,,,105,104,106,353,56,97,96,354,,99,107,108,,91,92,,,313,,,,,,,',
',,,,,,,,,,,,355,,,229,,,58,59,,,60,,,548,,545,544,543,553,546,,,,,,',
',,556,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,551,62,,81,93,94,69,70',
'71,9,57,564,563,,63,64,557,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'101,100,102,103,,,19,,,,,,8,45,7,10,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44',
',,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,388,62,,81,93',
'94,69,70,71,,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
'100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,',
'91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,',
',,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103',
',,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43',
'41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,',
'89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,',
',,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83',
',84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,',
',,,80,88,,,,,,,62,,81,93,94,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30',
'31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,,10,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33',
',,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,',
',29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60',
',404,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69',
'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44',
',,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108,,91,92',
'42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,285',
',,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103',
',,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43',
'41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,',
',89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,',
',,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,',
',,,,,,,,,,,,,223,,,229,,,58,59,,,60,,404,,,,44,,,,,,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,',
'105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,',
',,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,',
'229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,',
',80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59',
',,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69',
'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,',
',,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,218,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100',
'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,',
',,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
'230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,',
',,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309',
'310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
',,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,',
',,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58',
'59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305',
'306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60',
',,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44',
',,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100',
'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,',
',,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
'230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,',
',,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309',
'310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
',,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,',
',,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58',
'59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305',
'306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60',
',,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44',
',,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100',
'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,',
',,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
'230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45',
',,105,104,106,95,56,97,96,98,284,99,107,108,,91,92,42,43,41,,,,,,,,',
',,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,285,,,,,,228,,,,,89',
'282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,',
',67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,',
'45,,,105,104,106,95,56,97,96,98,284,99,107,108,,91,92,42,43,41,,,,,',
',,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,285,,,,,,228,,',
',,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,',
',,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,285,,,,,,228',
',,,,89,282,82,83,,84,86,85,87,,,,,80,88,218,,,69,70,71,62,57,81,93,94',
'63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103',
',,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43',
'41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,',
',89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230',
',,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,',
',,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,',
',,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,69,70,71,9,57,,,,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,',
'10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,',
',,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,307,,',
'105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,313,,,,,,,,,,,,,,,,',
',,,303,,,229,,,58,59,,,60,,,548,,545,544,543,553,546,,,,,,,,,556,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,504,,551,62,,81,93,94,69,70,71,,57',
'564,563,,63,64,557,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101',
'100,102,103,,,230,,,,,,,307,,,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,,,313,,,,,,,,,,,,,,,,,,,,303,,,299,,,58,59,,,60,,,,,,,,,,,,,',
',,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94',
'63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103',
',,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43',
'41,,,,,,,,,,,,,,,,,,,,223,,,229,520,,58,59,,,60,,,,,,44,,,,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,',
'58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,',
',,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
'102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
'42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
'230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45',
',,105,104,106,95,56,97,96,98,284,99,107,108,,91,92,42,43,41,,,,,,,,',
',,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,285,,,,,,228,,,,,89',
'282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,',
',67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,',
',,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,',
',,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,',
',,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,284,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,',
',,,,,223,,,229,,,58,59,,,60,,659,,279,,44,,,285,,,,,,228,,,,,89,282',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
',45,,,105,104,106,95,56,97,96,98,284,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,279,,44,,,285,,,,,,228,,,,',
'89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230',
',,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,',
',,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,69,70,71,9,57,,,,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,',
',,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,,,388,62,,81,93,94,69,70,71,,57,',
',,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103',
',,230,,,,,,,307,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,313',
',,,,,,,,,,,,,,,,,,,303,,,299,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,284,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,',
',,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,285,,,,,,228,,,,,89,282',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
',307,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,313,,,,,,,,,',
',,,,,,,,,,303,,,299,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309',
'310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72',
'73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58',
'59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,',
',69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305',
'306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98',
'284,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59',
',,60,,659,,,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,',
',,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97',
'96,98,284,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,',
'58,59,,,60,,,,,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,',
'80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73',
',,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,',
'58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,',
'305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59',
',,60,,281,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284',
'99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60',
',281,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88',
',,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284',
'99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60',
',281,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88',
',,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,',
'305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59',
',,60,,754,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305',
'306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60',
',,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,659,',
'279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69',
'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306',
'312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284',
'99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60',
',,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,',
',69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
'27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44',
',,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,',
',,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,',
',,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,',
',105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,',
',,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,',
'229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,',
',,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
',,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,',
',,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58',
'59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305',
'306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60',
',,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312',
'101,100,102,103,,,230,,,,,,,307,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,,,313,,,,,,,,,,,,,,,,,,,,303,,,299,,,58,59,,,60,,,,,,,,,',
',,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102',
'103,,,230,,,,,,,307,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
',,313,,,,,,,,,,,,,,,,,,,,303,,,299,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,404,,,,44,,,,,,,,,228,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,',
'105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,',
',,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,',
'229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,',
',80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73',
',,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,',
'58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,',
',,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44',
',,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100',
'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,',
',,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
'230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
',307,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,313,,,,,,,,,',
',,,,,,,,,,876,,,229,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,',
'229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,',
',80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73',
',,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,',
'58,59,,,60,,659,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,',
',,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97',
'96,98,284,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,',
'58,59,,,60,,,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,',
',,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
',,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,',
',,,305,306,312,101,100,102,103,,,230,,,,,,,307,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,,,313,,,,,,,,,,,,,,,,,,,,876,,,229,,,58,59',
',,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312',
'101,100,102,103,,,230,,,,,,,307,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,,,313,,,,,,,,,,,,,,,,,,,,946,,,229,,,58,59,,,60,,,,,,,,,',
',,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,',
',230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,285',
',,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,,-280,,62,,81,93',
'94,-280,-280,-280,,,-280,-280,-280,,-280,,,,,,,,,,-280,-280,-280,,,',
',,,,-280,-280,,-280,-280,-280,-280,-280,,,,,,,,,,,,,,,,,,,,,,,-280,-280',
'-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,,,-280,-280',
'-280,,,-280,,,-280,,,-280,-280,,-280,,-280,,-280,,-280,-280,,-280,-280',
'-280,-280,-280,,-280,,-280,,,,,,,,,,,,,,-280,,,-280,-280,-280,-280,-577',
'-280,,-280,,,,-577,-577,-577,,,-577,-577,-577,,-577,,,,,,,,,-577,-577',
'-577,-577,,,,,,,,-577,-577,,-577,-577,-577,-577,-577,,,,,,,,,,,,,,,',
',,,,,,,-577,-577,-577,-577,-577,-577,-577,-577,-577,-577,-577,-577,-577',
'-577,,,-577,-577,-577,,,-577,,,-577,,,-577,-577,,-577,,-577,,-577,,-577',
'-577,,-577,-577,-577,-577,-577,,-577,-577,-577,,,,,,,,,,,,,,-577,,,-577',
'-577,-577,-577,-578,-577,,-577,,,,-578,-578,-578,,,-578,-578,-578,,-578',
',,,,,,,,-578,-578,-578,-578,,,,,,,,-578,-578,,-578,-578,-578,-578,-578',
',,,,,,,,,,,,,,,,,,,,,,-578,-578,-578,-578,-578,-578,-578,-578,-578,-578',
'-578,-578,-578,-578,,,-578,-578,-578,,,-578,,,-578,,,-578,-578,,-578',
',-578,,-578,,-578,-578,,-578,-578,-578,-578,-578,,-578,-578,-578,548',
',545,544,543,553,546,,,,,,,-578,,556,-578,-578,-578,-578,-409,-578,',
'-578,,,,-409,-409,-409,,,-409,-409,-409,,-409,551,,,,,,,,-409,-409,-409',
'564,563,,,,557,,,-409,-409,,-409,-409,-409,-409,-409,,,,,,,,,,,,,,,',
',,,,,,,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409',
'-409,,,-409,-409,-409,,,-409,,263,-409,,,-409,-409,,-409,,-409,,-409',
',-409,-409,,-409,-409,-409,-409,-409,-296,-409,-409,-409,,,,-296,-296',
'-296,,,-296,-296,-296,,-296,-409,,,-409,-409,,-409,,-409,-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,,272,-296,,,-296,-296,,-296,,-296,,-296,,-296,-296',
',-296,-296,-296,-296,-296,,-296,-244,-296,,,,,,-244,-244,-244,,,-244',
'-244,-244,-296,-244,,-296,-296,,-296,,-296,,-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,,263,-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,548,-244,545,544,543,553,546,',
',,-244,-244,,,,556,,,,,,-244,-244,,-244,-244,-244,-244,-244,,,,,,,,',
'551,,548,,545,544,543,553,546,561,560,564,563,,,,557,556,,,,,,,,-244',
',,,,,,-244,,,,,263,-244,551,534,,218,,,,,,561,560,564,563,,,,557,,,',
',-244,-244,,,,,,,,,,,,,,-244,,,-244,,,,,-244,173,184,174,197,170,190',
'180,179,200,201,195,178,177,172,198,202,203,182,171,185,189,191,183',
'176,,,,192,199,194,193,186,196,181,169,188,187,,,,,,168,175,166,167',
'163,164,165,124,126,123,,125,,,,,,,,157,158,,154,136,137,138,145,142',
'144,,,139,140,,,,159,160,146,147,,,,,,,,,,,,,,151,150,,135,156,153,152',
'161,148,149,143,141,133,155,134,,,162,89,,,,,,,,,,,,,,88,173,184,174',
'197,170,190,180,179,200,201,195,178,177,172,198,202,203,182,171,185',
'189,191,183,176,,,,192,199,194,193,186,196,181,169,188,187,,,,,,168',
'175,166,167,163,164,165,124,126,,,125,,,,,,,,157,158,,154,136,137,138',
'145,142,144,,,139,140,,,,159,160,146,147,,,,,,,,,,,,,,151,150,,135,156',
'153,152,161,148,149,143,141,133,155,134,,,162,89,,,,,,,,,,,,,,88,173',
'184,174,197,170,190,180,179,200,201,195,178,177,172,198,202,203,182',
'171,185,189,191,183,176,,,,192,199,194,193,186,196,181,169,188,187,',
',,,,168,175,166,167,163,164,165,124,126,,,125,,,,,,,,157,158,,154,136',
'137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,,,,,,,,,151,150',
',135,156,153,152,161,148,149,143,141,133,155,134,,,162,89,,,,,,,,,,',
',,,88,173,184,174,197,170,190,180,179,200,201,195,178,177,172,198,202',
'203,182,171,185,189,191,183,176,,,,192,199,194,193,186,196,181,169,188',
'187,,,,,,168,175,166,167,163,164,165,124,126,,,125,,,,,,,,157,158,,154',
'136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,,,,,,,,,151',
'150,,135,156,153,152,161,148,149,143,141,133,155,134,,,162,89,,,,,,',
',,,,,,,88,173,184,174,197,170,190,180,179,200,201,195,178,177,172,198',
'202,203,182,171,185,189,191,183,176,,,,192,199,194,371,370,372,369,169',
'188,187,,,,,,168,175,166,167,366,367,368,364,126,97,96,365,,99,,,,,',
'157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,',
',,,376,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155,134',
',,162,173,184,174,197,170,190,180,179,200,201,195,178,177,172,198,202',
'203,182,171,185,189,191,183,176,,,,192,199,194,193,186,196,181,169,188',
'187,,,,,,168,175,166,167,163,164,165,124,126,,,125,,,,,,,,157,158,,154',
'136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,,,,,,,,,151',
'150,,135,156,153,152,161,148,149,143,141,133,155,134,413,417,162,,414',
',,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146',
'147,,,,,,263,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133',
'155,134,420,424,162,,419,,,,,,,,157,158,,154,136,137,138,145,142,144',
',,139,140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152',
'161,148,149,143,141,133,155,134,475,417,162,,476,,,,,,,,157,158,,154',
'136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,,,,,,,,,151',
'150,,135,156,153,152,161,148,149,143,141,133,155,134,638,417,162,,639',
',,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146',
'147,,,,,,263,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133',
'155,134,640,424,162,,641,,,,,,,,157,158,,154,136,137,138,145,142,144',
',,139,140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152',
'161,148,149,143,141,133,155,134,670,417,162,,671,,,,,,,,157,158,,154',
'136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,263,,,,,,',
',151,150,,135,156,153,152,161,148,149,143,141,133,155,134,673,424,162',
',674,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160',
'146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141',
'133,155,134,638,417,162,,639,,,,,,,,157,158,,154,136,137,138,145,142',
'144,,,139,140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153',
'152,161,148,149,143,141,133,155,134,640,424,162,,641,,,,,,,,157,158',
',154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,263,',
',,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155,134,721,417',
'162,,722,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159',
'160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152,161,148,149,143',
'141,133,155,134,723,424,162,,724,,,,,,,,157,158,,154,136,137,138,145',
'142,144,,,139,140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156',
'153,152,161,148,149,143,141,133,155,134,726,424,162,,727,,,,,,,,157',
'158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,263',
',,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155,134,475',
'417,162,,476,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,',
',,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152,161,148,149',
'143,141,133,155,134,981,424,162,,980,,,,,,,,157,158,,154,136,137,138',
'145,142,144,,,139,140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135',
'156,153,152,161,148,149,143,141,133,155,134,1004,417,162,,1005,,,,,',
',,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147',
',,,,,263,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155',
'134,1006,424,162,,1007,,,,,,,,157,158,,154,136,137,138,145,142,144,',
',139,140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152',
'161,148,149,143,141,133,155,134,,548,162,545,544,543,553,546,,548,,545',
'544,543,553,546,556,,,,,,,,556,,548,,545,544,543,553,546,,,,,,551,,',
'556,,,,,551,561,560,564,563,,,,557,561,560,564,563,,,,557,551,,548,',
'545,544,543,553,546,561,560,564,563,,,,557,556,,548,,545,544,543,553',
'546,,548,,545,544,543,553,546,556,,,,,551,,,556,,,,,,561,560,564,563',
',,,557,551,,,,,,,,551,561,560,564,563,,,,557,561,560,564,563,,,548,557',
'545,544,543,553,546,,548,,545,544,543,553,546,556,,,,,,,,556,,548,,545',
'544,543,553,546,,,,,,551,,,556,,,,,551,561,560,564,563,,,,557,561,560',
'564,563,,,,557,551,,548,,545,544,543,553,546,,,564,563,,,,557,556,,548',
',545,544,543,553,546,548,,545,544,543,553,546,,556,,,,,551,,556,,,,',
',,561,560,564,563,,,,557,551,,,,,,,551,,,,564,563,,,,557,,564,563,,',
'548,557,545,544,543,553,546,548,,545,544,543,553,546,548,556,545,544',
'543,553,546,,556,,,,,,,556,,,,,,,,551,,,,,,,551,,,,564,563,,551,,557',
',564,563,,,,557,,564,563,,,,557' ]
racc_action_table = arr = ::Array.new(25138, 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 = [
'95,1,61,437,437,345,346,95,95,95,19,338,95,95,95,58,95,26,473,383,665',
'7,594,594,95,384,95,95,95,665,650,913,10,913,349,359,95,95,339,95,95',
'95,95,95,719,885,17,17,908,578,687,19,1004,473,1005,58,680,680,308,355',
'337,337,221,355,721,722,95,95,95,95,95,95,95,95,95,95,95,95,95,95,12',
'26,95,95,95,383,95,95,570,61,95,384,24,95,95,844,95,437,95,24,95,222',
'95,95,26,95,95,95,95,95,1018,95,98,95,345,346,594,650,221,98,98,98,308',
'1006,98,98,98,95,98,338,95,95,95,95,338,95,98,95,98,98,98,359,95,349',
'571,308,723,845,98,98,680,98,98,98,98,98,339,222,578,687,670,339,719',
'885,359,719,908,719,885,359,1004,908,1005,721,722,1004,224,1005,98,98',
'98,98,98,98,98,98,98,98,98,98,98,98,570,13,98,98,98,570,98,98,1006,671',
'98,16,844,98,98,724,98,22,98,723,98,37,98,98,353,98,98,98,98,98,419',
'98,40,98,670,364,1018,419,419,419,224,1018,364,419,419,328,419,98,328',
'1006,98,98,98,98,1006,98,571,98,354,845,481,571,98,723,845,329,419,419',
'329,419,419,419,419,419,670,671,353,670,15,45,724,590,590,353,38,109',
'670,704,353,704,704,704,353,704,204,481,419,419,419,419,419,419,419',
'419,419,419,419,419,419,419,354,353,419,419,419,671,419,354,671,482',
'419,39,354,419,724,15,354,671,419,605,419,38,419,419,15,419,419,419',
'419,419,38,419,420,419,332,354,443,332,638,420,420,420,41,41,482,420',
'420,419,420,365,419,419,651,419,223,419,365,420,39,704,673,639,419,686',
'225,590,686,39,420,420,590,420,420,420,420,420,904,226,904,904,904,230',
'904,605,605,492,317,651,378,262,313,313,443,605,638,276,607,277,420',
'420,420,420,420,420,420,420,420,420,420,420,420,420,673,280,420,420',
'420,639,420,673,41,41,420,292,673,420,774,801,673,726,420,3,420,317',
'420,420,3,420,420,420,420,420,317,420,420,420,379,673,293,492,492,492',
'378,378,378,380,523,523,904,420,607,607,420,420,640,420,492,420,313',
'313,607,640,640,640,420,295,640,640,640,801,640,726,774,692,692,296',
'801,366,726,640,640,640,640,726,366,801,933,726,297,933,640,640,303',
'640,640,640,640,640,288,413,379,379,379,288,801,381,726,367,382,380',
'380,380,385,123,367,710,710,306,123,123,640,640,640,640,640,640,640',
'640,640,640,640,640,640,640,342,14,640,640,640,342,640,640,14,468,640',
'414,413,640,640,307,640,14,640,621,640,413,640,640,312,640,640,640,640',
'640,314,640,640,640,318,381,381,381,382,382,382,468,385,385,385,468',
'468,640,468,468,640,640,640,640,449,640,641,640,414,994,994,689,640',
'641,641,641,621,414,641,641,641,689,641,321,551,621,551,551,551,326',
'551,450,641,641,641,330,449,46,77,331,449,449,641,641,46,641,641,641',
'641,641,77,368,333,46,689,689,343,369,368,689,77,551,370,450,369,344',
'589,450,450,370,551,589,641,641,641,641,641,641,641,641,641,641,641',
'641,641,641,348,862,641,641,641,220,641,641,300,350,641,862,220,641',
'641,300,641,394,641,400,641,220,641,641,300,641,641,641,641,641,403',
'641,701,641,701,701,701,833,701,833,833,833,405,833,862,862,409,641',
'411,862,641,641,641,641,301,641,412,641,421,429,439,301,641,0,0,0,0',
'0,0,701,301,848,0,0,833,451,848,0,701,0,0,0,0,0,0,0,6,6,6,6,6,0,0,0',
'0,0,0,0,598,598,0,452,598,598,598,432,0,0,0,0,0,0,0,0,0,0,0,0,453,0',
'0,0,454,0,0,0,0,0,432,432,432,432,432,432,432,432,432,432,432,302,432',
'432,304,853,432,432,302,0,853,304,0,479,483,0,0,302,499,0,304,0,432',
'500,432,0,432,432,503,432,432,432,432,432,0,432,505,510,513,0,0,0,0',
'319,0,0,0,0,521,371,319,372,0,0,374,432,371,432,372,319,0,374,0,0,0',
'33,33,33,33,33,33,522,524,347,33,33,536,537,539,33,347,33,33,33,33,33',
'33,33,540,347,541,550,558,33,33,33,33,33,33,33,562,565,33,567,572,573',
'592,408,33,33,33,33,33,33,33,33,33,33,33,33,602,33,33,33,610,33,33,33',
'33,33,408,408,408,408,408,408,408,408,408,408,408,357,408,408,509,612',
'408,408,357,33,618,509,33,622,627,33,33,357,632,33,509,33,408,642,408',
'33,408,408,644,408,408,408,408,408,33,408,649,656,658,33,33,33,33,581',
'33,33,33,33,664,667,581,669,33,33,672,408,675,676,679,581,33,681,33',
'33,33,121,121,121,121,121,121,684,688,875,121,121,703,705,712,121,875',
'121,121,121,121,121,121,121,717,875,720,729,734,121,121,121,121,121',
'121,121,753,758,121,776,777,779,780,643,121,121,121,121,121,121,121',
'121,121,121,121,121,781,121,121,121,783,121,121,121,121,121,643,643',
'643,643,643,643,643,643,643,643,643,674,643,643,937,784,643,643,674',
'121,785,937,121,674,786,121,121,674,790,121,937,121,643,794,643,121',
'643,643,795,643,643,643,643,643,121,643,800,804,807,121,121,121,121',
'943,121,121,121,121,808,811,943,816,121,121,817,643,821,822,824,943',
'121,825,121,121,121,206,206,206,206,206,206,827,830,944,206,206,832',
'835,838,206,944,206,206,206,206,206,206,206,847,944,851,852,855,206',
'206,206,206,206,206,206,856,873,206,873,873,873,872,873,206,206,206',
'206,206,206,206,206,206,206,206,206,876,206,206,206,878,206,206,206',
'206,206,21,21,21,21,21,21,21,21,21,21,21,727,21,21,945,889,21,21,727',
'206,890,945,206,727,906,206,206,727,910,206,945,206,21,911,21,206,21',
'21,917,21,21,21,21,21,206,21,921,923,926,206,206,206,206,947,206,206',
'206,206,927,928,947,929,206,206,931,21,946,951,952,947,206,953,206,206',
'206,229,229,229,229,229,229,954,955,986,229,229,957,980,981,229,986',
'229,229,229,229,229,229,229,982,986,993,995,996,229,229,229,229,229',
'229,229,997,979,229,979,979,979,998,979,229,229,229,229,229,229,229',
'229,229,229,229,229,999,229,229,229,1000,229,229,229,229,229,274,274',
'274,274,274,274,274,274,274,274,274,1007,274,274,1003,1008,274,274,1007',
'229,1009,1020,229,1007,,229,229,1007,,229,,229,274,,274,229,274,274',
',274,274,274,274,274,229,274,,,,229,229,229,229,,229,229,229,229,,,',
',229,229,,274,,,,,229,,229,229,229,294,294,294,294,294,294,,,,294,294',
',,,294,,294,294,294,294,294,294,294,291,291,291,291,291,294,294,294',
'294,294,294,294,,,294,497,497,497,497,497,294,294,294,294,294,294,294',
'294,294,294,294,294,,294,294,294,,294,294,294,294,294,427,427,427,427',
'427,427,427,427,427,427,427,,427,427,,,427,427,,294,,,294,,,294,294',
',,294,,294,427,,427,294,427,427,,427,427,427,427,427,294,427,,,,294',
'294,294,294,,294,294,294,294,,,,,294,294,,427,,,,,294,,294,294,294,299',
'299,299,299,299,299,,,,299,299,,,,299,,299,299,299,299,299,299,299,',
',,,,299,299,299,299,299,299,299,,,299,,,,,,299,299,299,299,299,299,299',
'299,299,299,299,299,,299,299,299,,299,299,299,299,299,472,472,472,472',
'472,472,472,472,472,472,472,,472,472,,,472,472,,299,,,299,,,299,299',
',,299,,299,472,,472,299,472,472,,472,472,472,472,472,299,472,,,,299',
'299,299,299,,299,299,299,299,,,,,299,299,472,472,,,,,299,,299,299,299',
'324,324,324,324,324,324,,,,324,324,,,,324,,324,324,324,324,324,324,324',
',,,,,324,324,324,324,324,324,324,,,324,,,,,,324,324,324,324,324,324',
'324,324,324,324,324,324,,324,324,324,,324,324,324,324,324,519,519,519',
'519,519,519,519,519,519,519,519,,519,519,,,519,519,,324,,,324,,,324',
'324,,,324,,324,519,,519,324,519,519,,519,519,519,519,519,324,519,,,',
'324,324,324,324,,324,324,324,324,,,,,324,324,,519,,,,,324,,324,324,324',
'498,498,498,498,498,498,,,,498,498,,,,498,,498,498,498,498,498,498,498',
',,,,,498,498,498,498,498,498,498,,,498,,,,,,498,498,498,498,498,498',
'498,498,498,498,498,498,,498,498,498,,498,498,498,498,498,678,678,678',
'678,678,678,678,678,678,678,678,,678,678,,,678,678,,498,,,498,,,498',
'498,,,498,,498,678,,678,498,678,678,,678,678,678,678,678,498,678,,,',
'498,498,498,498,,498,498,498,498,,,,,498,498,,678,,,,,498,,498,498,498',
'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,755,755,755',
'755,755,755,755,755,755,755,755,,755,755,,,755,755,,566,,,566,,,566',
'566,,,566,,566,755,,755,566,755,755,,755,755,755,755,755,566,755,,,',
'566,566,566,566,,566,566,566,566,,,,,566,566,,755,,,,,566,,566,566,566',
'569,569,569,569,569,569,,,,569,569,,,,569,,569,569,569,569,569,569,569',
',,,,,569,569,569,569,569,569,569,,,569,,,,,,569,569,569,569,569,569',
'569,569,569,569,569,569,,569,569,569,,569,569,569,569,569,760,760,760',
'760,760,760,760,760,760,760,760,,760,760,,,760,760,,569,,,569,,,569',
'569,,,569,,569,760,,760,569,760,760,,760,760,760,760,760,569,760,,,',
'569,569,569,569,,569,569,569,569,,,,,569,569,,760,,,,,569,,569,569,569',
'591,591,591,591,591,591,,,,591,591,,,,591,,591,591,591,591,591,591,591',
',,,,,591,591,591,591,591,591,591,,,591,,,,,,591,591,591,591,591,591',
'591,591,591,591,591,591,,591,591,591,,591,591,591,591,591,762,762,762',
'762,762,762,762,762,762,762,762,,762,762,,,762,762,,591,,,591,,,591',
'591,,,591,,591,762,,762,591,762,762,,762,762,762,762,762,591,762,,,',
'591,591,591,591,,591,591,591,591,,,,,591,591,,762,,,,,591,,591,591,591',
'648,648,648,648,648,648,,,,648,648,,,,648,,648,648,648,648,648,648,648',
',,,,,648,648,648,648,648,648,648,,,648,,,,,,648,648,648,648,648,648',
'648,648,648,648,648,648,,648,648,648,,648,648,648,648,648,765,765,765',
'765,765,765,765,765,765,765,765,,765,765,,,765,765,,648,,,648,,,648',
'648,,,648,,648,765,,765,648,765,765,,765,765,765,765,765,648,765,,,',
'648,648,648,648,,648,648,648,648,,,,,648,648,,765,,,,,648,,648,648,648',
'653,653,653,653,653,653,,,,653,653,,,,653,,653,653,653,653,653,653,653',
',,,,,653,653,653,653,653,653,653,,,653,,,,,,653,653,653,653,653,653',
'653,653,653,653,653,653,,653,653,653,,653,653,653,653,653,767,767,767',
'767,767,767,767,767,767,767,767,,767,767,,,767,767,,653,,,653,,,653',
'653,,,653,,653,767,,767,653,767,767,,767,767,767,767,767,653,767,,,',
'653,653,653,653,,653,653,653,653,,,,,653,653,,767,,,,,653,,653,653,653',
'654,654,654,654,654,654,,,,654,654,,,,654,,654,654,654,654,654,654,654',
',,,,,654,654,654,654,654,654,654,,,654,,,,,,654,654,654,654,654,654',
'654,654,654,654,654,654,,654,654,654,,654,654,654,654,654,769,769,769',
'769,769,769,769,769,769,769,769,,769,769,,,769,769,,654,,,654,,,654',
'654,,,654,,654,769,,769,654,769,769,,769,769,769,769,769,654,769,,,',
'654,654,654,654,,654,654,654,654,,,,,654,654,,769,,,,,654,,654,654,654',
'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,858,858,858',
'858,858,858,858,858,858,858,858,,858,858,,,858,858,,730,,,730,,,730',
'730,,,730,,730,858,,858,730,858,858,,858,858,858,858,858,730,858,,,',
'730,730,730,730,,730,730,730,730,,,,,730,730,,858,,,,,730,,730,730,730',
'735,735,735,735,735,735,,,,735,735,,,,735,,735,735,735,735,735,735,735',
',,,,,735,735,735,735,735,735,735,,,735,,,,,,735,735,735,735,735,735',
'735,735,735,735,735,735,,735,735,735,,735,735,735,735,735,861,861,861',
'861,861,861,861,861,861,861,861,,861,861,,,861,861,,735,,,735,,,735',
'735,,,735,,735,861,,861,735,861,861,,861,861,861,861,861,735,861,,,',
'735,735,735,735,,735,735,735,735,,,,,735,735,,861,,,,,735,,735,735,735',
'745,745,745,745,745,745,,,,745,745,,,,745,,745,745,745,745,745,745,745',
',,,,,745,745,745,745,745,745,745,469,831,745,831,831,831,,831,745,745',
'745,745,745,745,745,745,745,745,745,745,,745,745,745,,745,745,745,745',
'745,,,469,,,,469,469,831,469,469,,,,,,,831,,745,,,745,,,745,745,,,745',
'905,745,905,905,905,745,905,,,,,,,,745,,,,,745,745,745,745,,745,745',
'745,745,,,,,745,745,,,,905,,,745,,745,745,745,793,793,793,793,793,793',
',,,793,793,,,,793,,793,793,793,793,793,793,793,,,,,,793,793,793,793',
'793,793,793,,,793,,,,,,793,793,793,793,793,793,793,793,793,793,793,793',
',793,793,793,,793,793,793,793,793,447,447,447,447,447,447,447,447,447',
'447,447,,447,447,,,447,447,,793,,,793,,,793,793,,,793,,793,447,,447',
'793,447,447,,447,447,447,447,447,793,447,,,,793,793,793,793,,793,793',
'793,793,,,,,793,793,,956,,956,956,956,793,956,793,793,793,806,806,806',
'806,806,806,,,,806,806,,,,806,,806,806,806,806,806,806,806,,,,,956,806',
'806,806,806,806,806,806,,,806,,,,,,806,806,806,806,806,806,806,806,806',
'806,806,806,,806,806,806,,806,806,806,806,806,448,448,448,448,448,448',
'448,448,448,448,448,,448,448,,,448,448,,806,,,806,,,806,806,,,806,,806',
'448,,448,806,448,448,,448,448,448,448,448,806,448,,,,806,806,806,806',
',806,806,806,806,,,,,806,806,,958,,958,958,958,806,958,806,806,806,814',
'814,814,814,814,814,,,,814,814,,,,814,,814,814,814,814,814,814,814,',
',,,958,814,814,814,814,814,814,814,,992,814,992,992,992,,992,814,814',
'814,814,814,814,814,814,814,814,814,814,,814,814,814,,814,814,814,814',
'814,458,458,458,458,458,458,458,,992,458,458,,,,,,458,458,,814,,,814',
',,814,814,,,814,,814,458,,458,814,458,458,,458,458,458,458,458,814,458',
',,,814,814,814,814,,814,814,814,814,,,,,814,814,,,,,,,814,,814,814,814',
'815,815,815,815,815,815,,,,815,815,,,,815,,815,815,815,815,815,815,815',
',,,,,815,815,815,815,815,815,815,,,815,,,,,,815,815,815,815,815,815',
'815,815,815,815,815,815,,815,815,815,,815,815,815,815,815,459,,,,,,',
',,,,,,,,,459,459,,815,,,815,,,815,815,,,815,,815,459,,459,815,459,459',
',459,459,,,459,815,459,,,,815,815,815,815,,815,815,815,815,,,,,815,815',
',,,,,,815,,815,815,815,839,839,839,839,839,839,,,,839,839,,,,839,,839',
'839,839,839,839,839,839,,,,,,839,839,839,839,839,839,839,,,839,,,,,',
'839,839,839,839,839,839,839,839,839,839,839,839,,839,839,839,,839,839',
'839,839,839,460,,,,,,,,,,,,,,,,460,460,,839,,,839,,,839,839,,,839,,839',
'460,,460,839,460,460,,460,460,,,460,839,460,,,,839,839,839,839,,839',
'839,839,839,,,,,839,839,,,,,,,839,,839,839,839,840,840,840,840,840,840',
',,,840,840,,,,840,,840,840,840,840,840,840,840,,,,,,840,840,840,840',
'840,840,840,,,840,,,,,,840,840,840,840,840,840,840,840,840,840,840,840',
',840,840,840,,840,840,840,840,840,461,,,,,,,,,,,,,,,,461,461,,840,,',
'840,,,840,840,,,840,,840,461,,461,840,461,461,,461,461,,,461,840,461',
',,,840,840,840,840,,840,840,840,840,,,,,840,840,,,,,,,840,,840,840,840',
'843,843,843,843,843,843,,,,843,843,,,,843,,843,843,843,843,843,843,843',
',,,,,843,843,843,843,843,843,843,,,843,,,,,,843,843,843,843,843,843',
'843,843,843,843,843,843,,843,843,843,,843,843,843,843,843,462,,,,,,',
',,,,,,,,,462,462,,843,,,843,,,843,843,,,843,,843,462,,462,843,462,462',
',462,462,,,462,843,462,,,,843,843,843,843,,843,843,843,843,,,,,843,843',
',,,,,,843,,843,843,843,849,849,849,849,849,849,,,,849,849,,,,849,,849',
'849,849,849,849,849,849,,,,,,849,849,849,849,849,849,849,,,849,,,,,',
'849,849,849,849,849,849,849,849,849,849,849,849,,849,849,849,,849,849',
'849,849,849,463,463,463,463,463,463,463,,,463,463,,,,,,463,463,,849',
',,849,,,849,849,,,849,,849,463,,463,849,463,463,,463,463,463,463,463',
'849,463,,,,849,849,849,849,,849,849,849,849,,,,,849,849,,,,,,,849,,849',
'849,849,882,882,882,882,882,882,,,,882,882,,,,882,,882,882,882,882,882',
'882,882,,,,,,882,882,882,882,882,882,882,,,882,,,,,,882,882,882,882',
'882,882,882,882,882,882,882,882,,882,882,882,,882,882,882,882,882,464',
'464,464,464,464,464,464,,,464,464,,,,,,464,464,,882,,,882,,,882,882',
',,882,,882,464,,464,882,464,464,,464,464,464,464,464,882,464,,,,882',
'882,882,882,,882,882,882,882,,,,,882,882,,,,,,,882,,882,882,882,942',
'942,942,942,942,942,,,,942,942,,,,942,,942,942,942,942,942,942,942,',
',,,,942,942,942,942,942,942,942,,,942,,,,,,942,942,942,942,942,942,942',
'942,942,942,942,942,,942,942,942,,942,942,942,942,942,465,465,465,465',
'465,465,465,,,465,465,,,,,,465,465,,942,,,942,,,942,942,,,942,,942,465',
',465,942,465,465,,465,465,465,465,465,942,465,,,,942,942,942,942,,942',
'942,942,942,,,,,942,942,,,,,,,942,,942,942,942,959,959,959,959,959,959',
',,,959,959,,,,959,,959,959,959,959,959,959,959,,,,,,959,959,959,959',
'959,959,959,,,959,,,,,,959,959,959,959,959,959,959,959,959,959,959,959',
',959,959,959,,959,959,959,959,959,466,466,466,466,466,466,466,,,466',
'466,,,,,,466,466,,959,,,959,,,959,959,,,959,,959,466,,466,959,466,466',
',466,466,466,466,466,959,466,,,,959,959,959,959,,959,959,959,959,,,',
',959,959,,,,,,,959,,959,959,959,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,467,467,467,467,467,467,467,,,467,467,,,,,',
'467,467,,965,,,965,,,965,965,,,965,,965,467,,467,965,467,467,,467,467',
'467,467,467,965,467,,,,965,965,965,965,,965,965,965,965,,,,,965,965',
',,,,,,965,,965,965,965,967,967,967,967,967,967,,,,967,967,,,,967,,967',
'967,967,967,967,967,967,,,,,,967,967,967,967,967,967,967,,,967,,,,,',
'967,967,967,967,967,967,967,967,967,967,967,967,,967,967,967,,967,967',
'967,967,967,470,470,470,470,470,470,470,,,470,470,,,,,,470,470,,967',
',,967,,,967,967,,,967,,967,470,,470,967,470,470,,470,470,470,470,470',
'967,470,,,,967,967,967,967,,967,967,967,967,,,,,967,967,,,,,,,967,,967',
'967,967,5,5,5,5,5,,,,5,5,,,,5,,5,5,5,5,5,5,5,,,,,,5,5,5,5,5,5,5,,,5',
',,,,,5,5,5,5,5,5,5,5,5,5,5,5,,5,5,5,,5,5,5,5,5,471,471,471,471,471,471',
'471,471,,471,471,,,,,,471,471,,5,,,5,,,5,5,,,5,,5,471,,471,5,471,471',
',471,471,471,471,471,5,471,,,,5,5,5,5,,5,5,5,5,,,,,5,5,,,,20,20,20,5',
'20,5,5,5,20,20,,,,20,,20,20,20,20,20,20,20,,,,,,20,20,20,20,20,20,20',
',,20,,,,,,,20,,,20,20,20,20,20,20,20,20,,20,20,20,,20,20,20,20,20,455',
',,,,,,,,,,,,,,,455,455,,20,,,20,,,20,20,,,20,,,455,,455,20,455,455,',
'455,455,,,,20,,,,,20,20,20,20,,20,20,20,20,,,,,20,20,,,,29,29,29,20',
'29,20,20,20,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,456,,,,,,,,,,,,,,,,456,456,,29,,,29,,,29,29,,,29,,29,456,29,456,29',
'456,456,29,456,456,,,,29,,,,,29,29,29,29,,29,29,29,29,,,,,29,29,,,,30',
'30,30,29,30,29,29,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,457,,,,,,,,,,,,,,,,457,457,,30,,,30,,,30,30,,,30,,30,457',
'30,,30,457,457,30,457,457,,,,30,,,,,30,30,30,30,,30,30,30,30,,,,,30',
'30,,,,31,31,31,30,31,30,30,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,,,,34,34,34',
'31,34,31,31,31,34,34,,,,34,,34,34,34,34,34,34,34,,,,,,34,34,34,34,34',
'34,34,,,34,,,,,,,34,,,34,34,34,34,34,34,34,34,,34,34,34,,34,34,,,34',
',,,,,,,,,,,,,,,,,,,34,,,34,,,34,34,,,34,,34,,,,,,,,,,,,,,,,,,34,34,34',
'34,,34,34,34,34,,,,,34,34,,,,35,35,35,34,35,34,34,34,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,,,697,,697,697,697,697,697,,,,,,,,,697,,35,35,35,35,,35,35,35',
'35,,,,,35,35,,,,35,,697,35,,35,35,35,42,42,42,,42,697,697,,42,42,697',
',,42,,42,42,42,42,42,42,42,,,,,,42,42,42,42,42,42,42,,,42,,,,,,,42,',
',42,42,42,42,42,42,42,42,,42,42,42,,42,42,42,42,42,,,,,,,,,,,,,,,,,',
',,42,,,42,,,42,42,,,42,,,,,,42,,,,,,,,,42,,,,,42,42,42,42,,42,42,42',
'42,,,,,42,42,,,,43,43,43,42,43,42,42,42,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,,,,,43,43,,,,44,44,44',
'43,44,43,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,,,,,44,44,,,,59,59,59,44,59,44,44,44,59,59,,,',
'59,,59,59,59,59,59,59,59,,,,,,59,59,59,59,59,59,59,,,59,,,,,,,59,,,59',
'59,59,59,59,59,59,59,59,59,59,59,,59,59,59,59,59,,,,,,,,,,,,,,,,,,,',
'59,,,59,,,59,59,,,59,,59,,,,59,,,59,,,,,,59,,,,,59,59,59,59,,59,59,59',
'59,,,,,59,59,,,,60,60,60,59,60,59,59,59,60,60,,,,60,,60,60,60,60,60',
'60,60,,,,,,60,60,60,60,60,60,60,,,60,,,,,,,60,,,60,60,60,60,60,60,60',
'60,60,60,60,60,,60,60,60,60,60,,,,,,,,,,,,,,,,,,,,60,,,60,,,60,60,,',
'60,,,,,,60,,,60,,,,,,60,,,,,60,60,60,60,,60,60,60,60,,,,,60,60,,,,63',
'63,63,60,63,60,60,60,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,,,,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,,,,67,67,67,64,67,64,64,64,67,67,,,,67,,67,67,67,67',
'67,67,67,,,,,,67,67,67,67,67,67,67,,,67,,,,,,,67,,,67,67,67,67,67,67',
'67,67,,67,67,67,,67,67,67,67,67,,,,,,,,,,,,,,,,,,,,67,,,67,,,67,67,',
',67,,,,,,67,,,,,,,,,67,,,,,67,67,67,67,,67,67,67,67,,,,,67,67,67,,,',
',67,67,,67,67,67,68,68,68,,68,,,,68,68,,,,68,,68,68,68,68,68,68,68,',
',,,,68,68,68,68,68,68,68,,,68,,,,,,,68,,,68,68,68,68,68,68,68,68,,68',
'68,68,,68,68,,,68,,,,,,,,,,,,,,,,,,,,68,,,68,,,68,68,,,68,,68,,,,,,',
',,,,,,,,,,,68,68,68,68,,68,68,68,68,,,,,68,68,,,,69,69,69,68,69,68,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,,,,70,70,70,69,70,69,69,69,70,70,,,,70,,70,70,70,70',
'70,70,70,,,,,,70,70,70,70,70,70,70,,,70,,,,,,,70,,,70,70,70,70,70,70',
'70,70,,70,70,70,,70,70,,,70,,,,,,,,,,,,,,,,,,,,70,,,70,,,70,70,,,70',
',,869,,869,869,869,869,869,,,,,,,,,869,,70,70,70,70,,70,70,70,70,,,',
',70,70,,,,,,869,70,,70,70,70,111,111,111,111,111,869,869,,111,111,869',
',,111,,111,111,111,111,111,111,111,,,,,,111,111,111,111,111,111,111',
',,111,,,,,,111,111,111,111,111,111,111,111,111,111,111,111,,111,111',
'111,,111,111,111,111,111,,,,,,,,,,,,,,,,,,,,111,,,111,,,111,111,,,111',
',111,,,,111,,,,,,,,,111,,,,,111,111,111,111,,111,111,111,111,,,,,111',
'111,,,,,,111,111,,111,111,111,116,116,116,,116,,,,116,116,,,,116,,116',
'116,116,116,116,116,116,,,,,,116,116,116,116,116,116,116,,,116,,,,,',
',116,,,116,116,116,116,116,116,116,116,,116,116,116,,116,116,116,116',
'116,,,,,,,,,,,,,,,,,,,,116,,,116,,,116,116,,,116,,,,,,116,,,,,,,,,116',
',,,,116,116,116,116,,116,116,116,116,,,,,116,116,,,,117,117,117,116',
'117,116,116,116,117,117,,,,117,,117,117,117,117,117,117,117,,,,,,117',
'117,117,117,117,117,117,,,117,,,,,,,117,,,117,117,117,117,117,117,117',
'117,,117,117,117,,117,117,117,117,117,,,,,,,,,,,,,,,,,,,,117,,,117,',
',117,117,,,117,,,,,,117,,,,,,,,,117,,,,,117,117,117,117,,117,117,117',
'117,,,,,117,117,,,,118,118,118,117,118,117,117,117,118,118,,,,118,,118',
'118,118,118,118,118,118,,,,,,118,118,118,118,118,118,118,,,118,,,,,',
',118,,,118,118,118,118,118,118,118,118,,118,118,118,,118,118,118,118',
'118,,,,,,,,,,,,,,,,,,,,118,,,118,,,118,118,,,118,,,,,,118,,,,,,,,,118',
',,,,118,118,118,118,,118,118,118,118,,,,,118,118,,,,119,119,119,118',
'119,118,118,118,119,119,,,,119,,119,119,119,119,119,119,119,,,,,,119',
'119,119,119,119,119,119,,,119,,,,,,,119,,,119,119,119,119,119,119,119',
'119,,119,119,119,,119,119,119,119,119,,,,,,,,,,,,,,,,,,,,119,,,119,',
',119,119,,,119,,,,,,119,,,,,,,,,119,,,,,119,119,119,119,,119,119,119',
'119,,,,,119,119,,,,,,,119,,119,119,119,120,120,120,120,120,,,,120,120',
',,,120,,120,120,120,120,120,120,120,,,,,,120,120,120,120,120,120,120',
',,120,,,,,,120,120,,120,120,120,120,120,120,120,120,120,,120,120,120',
',120,120,120,120,120,,,,,,,,,,,,,,,,,,,,120,,,120,,,120,120,,,120,,120',
',,,120,,,,,,,,,120,,,,,120,120,120,120,,120,120,120,120,,,,,120,120',
',,,207,207,207,120,207,120,120,120,207,207,,,,207,,207,207,207,207,207',
'207,207,,,,,,207,207,207,207,207,207,207,,,207,,,,,,,207,,,207,207,207',
'207,207,207,207,207,,207,207,207,,207,207,207,207,207,,,,,,,,,,,,,,',
',,,,,207,,,207,,,207,207,,,207,,207,,,,207,,,,,,,,,207,,,,,207,207,207',
'207,,207,207,207,207,,,,,207,207,,,,208,208,208,207,208,207,207,207',
'208,208,,,,208,,208,208,208,208,208,208,208,,,,,,208,208,208,208,208',
'208,208,,,208,,,,,,,208,,,208,208,208,208,208,208,208,208,,208,208,208',
',208,208,208,208,208,,,,,,,,,,,,,,,,,,,,208,,,208,,,208,208,,,208,,',
',,,208,,,,,,,,,208,,,,,208,208,208,208,,208,208,208,208,,,,,208,208',
',,,209,209,209,208,209,208,208,208,209,209,,,,209,,209,209,209,209,209',
'209,209,,,,,,209,209,209,209,209,209,209,,,209,,,,,,,209,,,209,209,209',
'209,209,209,209,209,209,209,209,209,,209,209,209,209,209,,,,,,,,,,,',
',,,,,,,,209,,,209,,,209,209,,,209,,209,,209,,209,,,209,,,,,,209,,,,',
'209,209,209,209,,209,209,209,209,,,,,209,209,,,,212,212,212,209,212',
'209,209,209,212,212,,,,212,,212,212,212,212,212,212,212,,,,,,212,212',
'212,212,212,212,212,,,212,,,,,,,212,,,212,212,212,212,212,212,212,212',
',212,212,212,,212,212,212,212,212,,,,,,,,,,,,,,,,,,,,212,,,212,,,212',
'212,,,212,,,,,,212,,,,,,,,,212,,,,,212,212,212,212,,212,212,212,212',
',,,,212,212,,,,213,213,213,212,213,212,212,212,213,213,,,,213,,213,213',
'213,213,213,213,213,,,,,,213,213,213,213,213,213,213,,,213,,,,,,,213',
',,213,213,213,213,213,213,213,213,,213,213,213,,213,213,213,213,213',
',,,,,,,,,,,,,,,,,,,213,,,213,,,213,213,,,213,,213,,,,213,,,,,,,,,213',
',,,,213,213,213,213,,213,213,213,213,,,,,213,213,,,,214,214,214,213',
'214,213,213,213,214,214,,,,214,,214,214,214,214,214,214,214,,,,,,214',
'214,214,214,214,214,214,,,214,,,,,,,214,,,214,214,214,214,214,214,214',
'214,,214,214,214,,214,214,214,214,214,,,,,,,,,,,,,,,,,,,,214,,,214,',
',214,214,,,214,,,,,,214,,,,,,,,,214,,,,,214,214,214,214,,214,214,214',
'214,,,,,214,214,,,,215,215,215,214,215,214,214,214,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,215,215,,215,215,215,215,,,,,215,215,,,,216,216,216,215',
'216,215,215,215,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,216,,,,217,217,217,216,217,216,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,217,217,,,228,228,228,217',
'228,217,217,217,228,228,,,,228,,228,228,228,228,228,228,228,,,,,,228',
'228,228,228,228,228,228,,,228,,,,,,,228,,,228,228,228,228,228,228,228',
'228,,228,228,228,,228,228,228,228,228,,,,,,,,,,,,,,,,,,,,228,,,228,',
',228,228,,,228,,,,,,228,,,,,,,,,228,,,,,228,228,228,228,,228,228,228',
'228,,,,,228,228,,,,231,231,231,228,231,228,228,228,231,231,,,,231,,231',
'231,231,231,231,231,231,,,,,,231,231,231,231,231,231,231,,,231,,,,,',
',231,,,231,231,231,231,231,231,231,231,,231,231,231,,231,231,231,231',
'231,,,,,,,,,,,,,,,,,,,,231,,,231,,,231,231,,,231,,,,,,231,,,,,,,,,231',
',,,,231,231,231,231,,231,231,231,231,,,,,231,231,,,,232,232,232,231',
'232,231,231,231,232,232,,,,232,,232,232,232,232,232,232,232,,,,,,232',
'232,232,232,232,232,232,,,232,,,,,,,232,,,232,232,232,232,232,232,232',
'232,,232,232,232,,232,232,232,232,232,,,,,,,,,,,,,,,,,,,,232,,,232,',
',232,232,,,232,,,,,,232,,,,,,,,,232,,,,,232,232,232,232,,232,232,232',
'232,,,,,232,232,,,,233,233,233,232,233,232,232,232,233,233,,,,233,,233',
'233,233,233,233,233,233,,,,,,233,233,233,233,233,233,233,,,233,,,,,',
',233,,,233,233,233,233,233,233,233,233,,233,233,233,,233,233,233,233',
'233,,,,,,,,,,,,,,,,,,,,233,,,233,,,233,233,,,233,,,,,,233,,,,,,,,,233',
',,,,233,233,233,233,,233,233,233,233,,,,,233,233,,,,234,234,234,233',
'234,233,233,233,234,234,,,,234,,234,234,234,234,234,234,234,,,,,,234',
'234,234,234,234,234,234,,,234,,,,,,,234,,,234,234,234,234,234,234,234',
'234,,234,234,234,,234,234,234,234,234,,,,,,,,,,,,,,,,,,,,234,,,234,',
',234,234,,,234,,,,,,234,,,,,,,,,234,,,,,234,234,234,234,,234,234,234',
'234,,,,,234,234,,,,235,235,235,234,235,234,234,234,235,235,,,,235,,235',
'235,235,235,235,235,235,,,,,,235,235,235,235,235,235,235,,,235,,,,,',
',235,,,235,235,235,235,235,235,235,235,,235,235,235,,235,235,235,235',
'235,,,,,,,,,,,,,,,,,,,,235,,,235,,,235,235,,,235,,,,,,235,,,,,,,,,235',
',,,,235,235,235,235,,235,235,235,235,,,,,235,235,,,,236,236,236,235',
'236,235,235,235,236,236,,,,236,,236,236,236,236,236,236,236,,,,,,236',
'236,236,236,236,236,236,,,236,,,,,,,236,,,236,236,236,236,236,236,236',
'236,,236,236,236,,236,236,236,236,236,,,,,,,,,,,,,,,,,,,,236,,,236,',
',236,236,,,236,,,,,,236,,,,,,,,,236,,,,,236,236,236,236,,236,236,236',
'236,,,,,236,236,,,,237,237,237,236,237,236,236,236,237,237,,,,237,,237',
'237,237,237,237,237,237,,,,,,237,237,237,237,237,237,237,,,237,,,,,',
',237,,,237,237,237,237,237,237,237,237,,237,237,237,,237,237,237,237',
'237,,,,,,,,,,,,,,,,,,,,237,,,237,,,237,237,,,237,,,,,,237,,,,,,,,,237',
',,,,237,237,237,237,,237,237,237,237,,,,,237,237,,,,238,238,238,237',
'238,237,237,237,238,238,,,,238,,238,238,238,238,238,238,238,,,,,,238',
'238,238,238,238,238,238,,,238,,,,,,,238,,,238,238,238,238,238,238,238',
'238,,238,238,238,,238,238,238,238,238,,,,,,,,,,,,,,,,,,,,238,,,238,',
',238,238,,,238,,,,,,238,,,,,,,,,238,,,,,238,238,238,238,,238,238,238',
'238,,,,,238,238,,,,239,239,239,238,239,238,238,238,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,,,,,239,239,,,,240,240,240,239',
'240,239,239,239,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,240,240,,240,240,240',
'240,,,,,240,240,,,,241,241,241,240,241,240,240,240,241,241,,,,241,,241',
'241,241,241,241,241,241,,,,,,241,241,241,241,241,241,241,,,241,,,,,',
',241,,,241,241,241,241,241,241,241,241,,241,241,241,,241,241,241,241',
'241,,,,,,,,,,,,,,,,,,,,241,,,241,,,241,241,,,241,,,,,,241,,,,,,,,,241',
',,,,241,241,241,241,,241,241,241,241,,,,,241,241,,,,242,242,242,241',
'242,241,241,241,242,242,,,,242,,242,242,242,242,242,242,242,,,,,,242',
'242,242,242,242,242,242,,,242,,,,,,,242,,,242,242,242,242,242,242,242',
'242,,242,242,242,,242,242,242,242,242,,,,,,,,,,,,,,,,,,,,242,,,242,',
',242,242,,,242,,,,,,242,,,,,,,,,242,,,,,242,242,242,242,,242,242,242',
'242,,,,,242,242,,,,243,243,243,242,243,242,242,242,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,,,,,243,243,,,,244,244,244,243',
'244,243,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,,,,,244,244,,,,245,245,245,244,245,244,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,,,,,245,245,,,,246,246,246,245',
'246,245,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,,,,,246,246,,,,247,247,247,246,247,246,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,,,,,247,247,,,,248,248,248,247',
'248,247,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,,,,,248,248,,,,249,249,249,248,249,248,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,,,,,249,249,,,,250,250,250,249',
'250,249,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,,,,,250,250,,,,251,251,251,250,251,250,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,,,,,251,251,,,,252,252,252,251',
'252,251,251,251,252,252,,,,252,,252,252,252,252,252,252,252,,,,,,252',
'252,252,252,252,252,252,,,252,,,,,,,252,,,252,252,252,252,252,252,252',
'252,,252,252,252,,252,252,252,252,252,,,,,,,,,,,,,,,,,,,,252,,,252,',
',252,252,,,252,,,,,,252,,,,,,,,,252,,,,,252,252,252,252,,252,252,252',
'252,,,,,252,252,,,,253,253,253,252,253,252,252,252,253,253,,,,253,,253',
'253,253,253,253,253,253,,,,,,253,253,253,253,253,253,253,,,253,,,,,',
',253,,,253,253,253,253,253,253,253,253,,253,253,253,,253,253,253,253',
'253,,,,,,,,,,,,,,,,,,,,253,,,253,,,253,253,,,253,,,,,,253,,,,,,,,,253',
',,,,253,253,253,253,,253,253,253,253,,,,,253,253,,,,254,254,254,253',
'254,253,253,253,254,254,,,,254,,254,254,254,254,254,254,254,,,,,,254',
'254,254,254,254,254,254,,,254,,,,,,,254,,,254,254,254,254,254,254,254',
'254,,254,254,254,,254,254,254,254,254,,,,,,,,,,,,,,,,,,,,254,,,254,',
',254,254,,,254,,,,,,254,,,,,,,,,254,,,,,254,254,254,254,,254,254,254',
'254,,,,,254,254,,,,255,255,255,254,255,254,254,254,255,255,,,,255,,255',
'255,255,255,255,255,255,,,,,,255,255,255,255,255,255,255,,,255,,,,,',
',255,,,255,255,255,255,255,255,255,255,,255,255,255,,255,255,255,255',
'255,,,,,,,,,,,,,,,,,,,,255,,,255,,,255,255,,,255,,,,,,255,,,,,,,,,255',
',,,,255,255,255,255,,255,255,255,255,,,,,255,255,,,,256,256,256,255',
'256,255,255,255,256,256,,,,256,,256,256,256,256,256,256,256,,,,,,256',
'256,256,256,256,256,256,,,256,,,,,,,256,,,256,256,256,256,256,256,256',
'256,,256,256,256,,256,256,256,256,256,,,,,,,,,,,,,,,,,,,,256,,,256,',
',256,256,,,256,,,,,,256,,,,,,,,,256,,,,,256,256,256,256,,256,256,256',
'256,,,,,256,256,,,,263,263,263,256,263,256,256,256,263,263,,,,263,,263',
'263,263,263,263,263,263,,,,,,263,263,263,263,263,263,263,,,263,,,,,',
',263,,,263,263,263,263,263,263,263,263,263,263,263,263,,263,263,263',
'263,263,,,,,,,,,,,,,,,,,,,,263,,,263,,,263,263,,,263,,263,,263,,263',
',,263,,,,,,263,,,,,263,263,263,263,,263,263,263,263,,,,,263,263,,,,264',
'264,264,263,264,263,263,263,264,264,,,,264,,264,264,264,264,264,264',
'264,,,,,,264,264,264,264,264,264,264,,,264,,,,,,,264,,,264,264,264,264',
'264,264,264,264,264,264,264,264,,264,264,264,264,264,,,,,,,,,,,,,,,',
',,,,264,,,264,,,264,264,,,264,,264,,264,,264,,,264,,,,,,264,,,,,264',
'264,264,264,,264,264,264,264,,,,,264,264,,,,272,272,272,264,272,264',
'264,264,272,272,,,,272,,272,272,272,272,272,272,272,,,,,,272,272,272',
'272,272,272,272,,,272,,,,,,,272,,,272,272,272,272,272,272,272,272,272',
'272,272,272,,272,272,272,272,272,,,,,,,,,,,,,,,,,,,,272,,,272,,,272',
'272,,,272,,272,,272,,272,,,272,,,,,,272,,,,,272,272,272,272,,272,272',
'272,272,,,,,272,272,272,,,279,279,279,272,279,272,272,272,279,279,,',
',279,,279,279,279,279,279,279,279,,,,,,279,279,279,279,279,279,279,',
',279,,,,,,,279,,,279,279,279,279,279,279,279,279,,279,279,279,,279,279',
'279,279,279,,,,,,,,,,,,,,,,,,,,279,,,279,,,279,279,,,279,,,,,,279,,',
',,,,,,279,,,,,279,279,279,279,,279,279,279,279,,,,,279,279,,,,281,281',
'281,279,281,279,279,279,281,281,,,,281,,281,281,281,281,281,281,281',
',,,,,281,281,281,281,281,281,281,,,281,,,,,,,281,,,281,281,281,281,281',
'281,281,281,,281,281,281,,281,281,281,281,281,,,,,,,,,,,,,,,,,,,,281',
',,281,,,281,281,,,281,,,,,,281,,,,,,,,,281,,,,,281,281,281,281,,281',
'281,281,281,,,,,281,281,,,,284,284,284,281,284,281,281,281,284,284,',
',,284,,284,284,284,284,284,284,284,,,,,,284,284,284,284,284,284,284',
',,284,,,,,,,284,,,284,284,284,284,284,284,284,284,,284,284,284,,284',
'284,284,284,284,,,,,,,,,,,,,,,,,,,,284,,,284,,,284,284,,,284,,,,,,284',
',,,,,,,,284,,,,,284,284,284,284,,284,284,284,284,,,,,284,284,,,,285',
'285,285,284,285,284,284,284,285,285,,,,285,,285,285,285,285,285,285',
'285,,,,,,285,285,285,285,285,285,285,,,285,,,,,,,285,,,285,285,285,285',
'285,285,285,285,,285,285,285,,285,285,285,285,285,,,,,,,,,,,,,,,,,,',
',285,,,285,,,285,285,,,285,,,,,,285,,,,,,,,,285,,,,,285,285,285,285',
',285,285,285,285,,,,,285,285,,,,,,,285,,285,285,285,290,290,290,290',
'290,,,,290,290,,,,290,,290,290,290,290,290,290,290,,,,,,290,290,290',
'290,290,290,290,,,290,,,,,,290,290,,290,290,290,290,290,290,290,290',
'290,,290,290,290,,290,290,290,290,290,,,,,,,,,,,,,,,,,,,,290,,,290,',
',290,290,,,290,,290,,,,290,,,,,,,,,290,,,,,290,290,290,290,,290,290',
'290,290,,,,,290,290,,,,298,298,298,290,298,290,290,290,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,,,895,,895,895,895',
'895,895,,,,,,,,,895,,298,298,298,298,,298,298,298,298,,,,,298,298,,',
',298,,895,298,,298,298,298,315,315,315,,315,895,895,,315,315,895,,,315',
',315,315,315,315,315,315,315,,,,,,315,315,315,315,315,315,315,,,315',
',,,,,,315,,,315,315,315,315,315,315,315,315,,315,315,315,,315,315,,',
'315,,,,,,,,,,,,,,,,,,,,315,,,315,,,315,315,,,315,,,,,,,,,,,,,,,,,,,',
'315,315,315,315,,315,315,315,315,,,,,315,315,,,,323,323,323,315,323',
'315,315,315,323,323,,,,323,,323,323,323,323,323,323,323,,,,,,323,323',
'323,323,323,323,323,,,323,,,,,,,323,,,323,323,323,323,323,323,323,323',
',323,323,323,,323,323,323,323,323,,,,,,,,,,,,,,,,,,,,323,,,323,323,',
'323,323,,,323,,,,,,323,,,,,,,,,323,,,,,323,323,323,323,,323,323,323',
'323,,,,,323,323,,,,325,325,325,323,325,323,323,323,325,325,,,,325,,325',
'325,325,325,325,325,325,,,,,,325,325,325,325,325,325,325,,,325,,,,,',
',325,,,325,325,325,325,325,325,325,325,,325,325,325,,325,325,325,325',
'325,,,,,,,,,,,,,,,,,,,,325,,,325,,,325,325,,,325,,,,,,325,,,,,,,,,325',
',,,,325,325,325,325,,325,325,325,325,,,,,325,325,,,,340,340,340,325',
'340,325,325,325,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,340,340,,340,340,340',
'340,,,,,340,340,,,,341,341,341,340,341,340,340,340,341,341,,,,341,,341',
'341,341,341,341,341,341,,,,,,341,341,341,341,341,341,341,,,341,,,,,',
',341,,,341,341,341,341,341,341,341,341,,341,341,341,,341,341,341,341',
'341,,,,,,,,,,,,,,,,,,,,341,,,341,,,341,341,,,341,,,,,,341,,,,,,,,,341',
',,,,341,341,341,341,,341,341,341,341,,,,,341,341,,,,360,360,360,341',
'360,341,341,341,360,360,,,,360,,360,360,360,360,360,360,360,,,,,,360',
'360,360,360,360,360,360,,,360,,,,,,,360,,,360,360,360,360,360,360,360',
'360,,360,360,360,,360,360,360,360,360,,,,,,,,,,,,,,,,,,,,360,,,360,',
',360,360,,,360,,,,,,360,,,,,,,,,360,,,,,360,360,360,360,,360,360,360',
'360,,,,,360,360,,,,376,376,376,360,376,360,360,360,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,,,,,376,376,,,,404,404,404,376',
'404,376,376,376,404,404,,,,404,,404,404,404,404,404,404,404,,,,,,404',
'404,404,404,404,404,404,,,404,,,,,,,404,,,404,404,404,404,404,404,404',
'404,,404,404,404,,404,404,404,404,404,,,,,,,,,,,,,,,,,,,,404,,,404,',
',404,404,,,404,,,,,,404,,,,,,,,,404,,,,,404,404,404,404,,404,404,404',
'404,,,,,404,404,,,,442,442,442,404,442,404,404,404,442,442,,,,442,,442',
'442,442,442,442,442,442,,,,,,442,442,442,442,442,442,442,,,442,,,,,',
',442,,,442,442,442,442,442,442,442,442,442,442,442,442,,442,442,442',
'442,442,,,,,,,,,,,,,,,,,,,,442,,,442,,,442,442,,,442,,442,,442,,442',
',,442,,,,,,442,,,,,442,442,442,442,,442,442,442,442,,,,,442,442,,,,444',
'444,444,442,444,442,442,442,444,444,,,,444,,444,444,444,444,444,444',
'444,,,,,,444,444,444,444,444,444,444,,,444,,,,,,,444,,,444,444,444,444',
'444,444,444,444,,444,444,444,,444,444,444,444,444,,,,,,,,,,,,,,,,,,',
',444,,,444,,,444,444,,,444,,,,,,444,,,,,,,,,444,,,,,444,444,444,444',
',444,444,444,444,,,,,444,444,,,,445,445,445,444,445,444,444,444,445',
'445,,,,445,,445,445,445,445,445,445,445,,,,,,445,445,445,445,445,445',
'445,,,445,,,,,,,445,,,445,445,445,445,445,445,445,445,,445,445,445,',
'445,445,445,445,445,,,,,,,,,,,,,,,,,,,,445,,,445,,,445,445,,,445,,,',
',,445,,,,,,,,,445,,,,,445,445,445,445,,445,445,445,445,,,,,445,445,',
',,446,446,446,445,446,445,445,445,446,446,,,,446,,446,446,446,446,446',
'446,446,,,,,,446,446,446,446,446,446,446,,,446,,,,,,,446,,,446,446,446',
'446,446,446,446,446,,446,446,446,,446,446,446,446,446,,,,,,,,,,,,,,',
',,,,,446,,,446,,,446,446,,,446,,,,,,446,,,,,,,,,446,,,,,446,446,446',
'446,,446,446,446,446,,,,,446,446,,,,486,486,486,446,486,446,446,446',
'486,486,,,,486,,486,486,486,486,486,486,486,,,,,,486,486,486,486,486',
'486,486,,,486,,,,,,,486,,,486,486,486,486,486,486,486,486,486,486,486',
'486,,486,486,486,486,486,,,,,,,,,,,,,,,,,,,,486,,,486,,,486,486,,,486',
',486,,486,,486,,,486,,,,,,486,,,,,486,486,486,486,,486,486,486,486,',
',,,486,486,,,,488,488,488,486,488,486,486,486,488,488,,,,488,,488,488',
'488,488,488,488,488,,,,,,488,488,488,488,488,488,488,,,488,,,,,,,488',
',,488,488,488,488,488,488,488,488,488,488,488,488,,488,488,488,488,488',
',,,,,,,,,,,,,,,,,,,488,,,488,,,488,488,,,488,,,,488,,488,,,488,,,,,',
'488,,,,,488,488,488,488,,488,488,488,488,,,,,488,488,,,,490,490,490',
'488,490,488,488,488,490,490,,,,490,,490,490,490,490,490,490,490,,,,',
',490,490,490,490,490,490,490,,,490,,,,,,,490,,,490,490,490,490,490,490',
'490,490,,490,490,490,,490,490,490,490,490,,,,,,,,,,,,,,,,,,,,490,,,490',
',,490,490,,,490,,,,,,490,,,,,,,,,490,,,,,490,490,490,490,,490,490,490',
'490,,,,,490,490,,,,,,,490,,490,490,490,496,496,496,496,496,,,,496,496',
',,,496,,496,496,496,496,496,496,496,,,,,,496,496,496,496,496,496,496',
',,496,,,,,,496,496,496,496,496,496,496,496,496,496,496,496,,496,496',
'496,,496,496,496,496,496,,,,,,,,,,,,,,,,,,,,496,,,496,,,496,496,,,496',
',496,,,,496,,,,,,,,,496,,,,,496,496,496,496,,496,496,496,496,,,,,496',
'496,,,,,,496,496,,496,496,496,504,504,504,,504,,,,504,504,,,,504,,504',
'504,504,504,504,504,504,,,,,,504,504,504,504,504,504,504,,,504,,,,,',
',504,,,504,504,504,504,504,504,504,504,,504,504,504,,504,504,,,504,',
',,,,,,,,,,,,,,,,,,504,,,504,,,504,504,,,504,,,,,,,,,,,,,,,,,,,,504,504',
'504,504,,504,504,504,504,,,,,504,504,,,,506,506,506,504,506,504,504',
'504,506,506,,,,506,,506,506,506,506,506,506,506,,,,,,506,506,506,506',
'506,506,506,,,506,,,,,,,506,,,506,506,506,506,506,506,506,506,506,506',
'506,506,,506,506,506,506,506,,,,,,,,,,,,,,,,,,,,506,,,506,,,506,506',
',,506,,506,,506,,506,,,506,,,,,,506,,,,,506,506,506,506,,506,506,506',
'506,,,,,506,506,,,,512,512,512,506,512,506,506,506,512,512,,,,512,,512',
'512,512,512,512,512,512,,,,,,512,512,512,512,512,512,512,,,512,,,,,',
',512,,,512,512,512,512,512,512,512,512,,512,512,512,,512,512,,,512,',
',,,,,,,,,,,,,,,,,,512,,,512,,,512,512,,,512,,,,,,,,,,,,,,,,,,,,512,512',
'512,512,,512,512,512,512,,,,,512,512,,,,515,515,515,512,515,512,512',
'512,515,515,,,,515,,515,515,515,515,515,515,515,,,,,,515,515,515,515',
'515,515,515,,,515,,,,,,,515,,,515,515,515,515,515,515,515,515,,515,515',
'515,,515,515,515,515,515,,,,,,,,,,,,,,,,,,,,515,,,515,,,515,515,,,515',
',,,,,515,,,,,,,,,515,,,,,515,515,515,515,,515,515,515,515,,,,,515,515',
',,,516,516,516,515,516,515,515,515,516,516,,,,516,,516,516,516,516,516',
'516,516,,,,,,516,516,516,516,516,516,516,,,516,,,,,,,516,,,516,516,516',
'516,516,516,516,516,,516,516,516,,516,516,516,516,516,,,,,,,,,,,,,,',
',,,,,516,,,516,,,516,516,,,516,,,,,,516,,,,,,,,,516,,,,,516,516,516',
'516,,516,516,516,516,,,,,516,516,,,,520,520,520,516,520,516,516,516',
'520,520,,,,520,,520,520,520,520,520,520,520,,,,,,520,520,520,520,520',
'520,520,,,520,,,,,,,520,,,520,520,520,520,520,520,520,520,,520,520,520',
',520,520,520,520,520,,,,,,,,,,,,,,,,,,,,520,,,520,,,520,520,,,520,,',
',,,520,,,,,,,,,520,,,,,520,520,520,520,,520,520,520,520,,,,,520,520',
',,,526,526,526,520,526,520,520,520,526,526,,,,526,,526,526,526,526,526',
'526,526,,,,,,526,526,526,526,526,526,526,,,526,,,,,,,526,,,526,526,526',
'526,526,526,526,526,526,526,526,526,,526,526,526,526,526,,,,,,,,,,,',
',,,,,,,,526,,,526,,,526,526,,,526,,526,,,,526,,,526,,,,,,526,,,,,526',
'526,526,526,,526,526,526,526,,,,,526,526,,,,529,529,529,526,529,526',
'526,526,529,529,,,,529,,529,529,529,529,529,529,529,,,,,,529,529,529',
'529,529,529,529,,,529,,,,,,,529,,,529,529,529,529,529,529,529,529,529',
'529,529,529,,529,529,529,529,529,,,,,,,,,,,,,,,,,,,,529,,,529,,,529',
'529,,,529,,,,,,529,,,529,,,,,,529,,,,,529,529,529,529,,529,529,529,529',
',,,,529,529,,,,554,554,554,529,554,529,529,529,554,554,,,,554,,554,554',
'554,554,554,554,554,,,,,,554,554,554,554,554,554,554,,,554,,,,,,,554',
',,554,554,554,554,554,554,554,554,,554,554,554,,554,554,554,554,554',
',,,,,,,,,,,,,,,,,,,554,,,554,,,554,554,,,554,,,,,,554,,,,,,,,,554,,',
',,554,554,554,554,,554,554,554,554,,,,,554,554,,,,574,574,574,554,574',
'554,554,554,574,574,,,,574,,574,574,574,574,574,574,574,,,,,,574,574',
'574,574,574,574,574,,,574,,,,,,,574,,,574,574,574,574,574,574,574,574',
',574,574,574,,574,574,574,574,574,,,,,,,,,,,,,,,,,,,,574,,,574,,,574',
'574,,,574,,574,,,,574,,,,,,,,,574,,,,,574,574,574,574,,574,574,574,574',
',,,,574,574,,,,575,575,575,574,575,574,574,574,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,,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,,,,585,585,585',
'575,585,575,575,575,585,585,,,,585,,585,585,585,585,585,585,585,,,,',
',585,585,585,585,585,585,585,,,585,,,,,,,585,,,585,585,585,585,585,585',
'585,585,585,585,585,585,,585,585,585,585,585,,,,,,,,,,,,,,,,,,,,585',
',,585,,,585,585,,,585,,585,,585,,585,,,585,,,,,,585,,,,,585,585,585',
'585,,585,585,585,585,,,,,585,585,,,,619,619,619,585,619,585,585,585',
'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,,,,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,,,,623,623,623,620,623,620,620,620',
'623,623,,,,623,,623,623,623,623,623,623,623,,,,,,623,623,623,623,623',
'623,623,,,623,,,,,,,623,,,623,623,623,623,623,623,623,623,623,623,623',
'623,,623,623,623,623,623,,,,,,,,,,,,,,,,,,,,623,,,623,,,623,623,,,623',
',623,,623,,623,,,623,,,,,,623,,,,,623,623,623,623,,623,623,623,623,',
',,,623,623,,,,624,624,624,623,624,623,623,623,624,624,,,,624,,624,624',
'624,624,624,624,624,,,,,,624,624,624,624,624,624,624,,,624,,,,,,,624',
',,624,624,624,624,624,624,624,624,624,624,624,624,,624,624,624,624,624',
',,,,,,,,,,,,,,,,,,,624,,,624,,,624,624,,,624,,,,624,,624,,,624,,,,,',
'624,,,,,624,624,624,624,,624,624,624,624,,,,,624,624,,,,625,625,625',
'624,625,624,624,624,625,625,,,,625,,625,625,625,625,625,625,625,,,,',
',625,625,625,625,625,625,625,,,625,,,,,,,625,,,625,625,625,625,625,625',
'625,625,,625,625,625,,625,625,625,625,625,,,,,,,,,,,,,,,,,,,,625,,,625',
',,625,625,,,625,,,,,,625,,,,,,,,,625,,,,,625,625,625,625,,625,625,625',
'625,,,,,625,625,,,,626,626,626,625,626,625,625,625,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,,,,,626,626,,,,630,630,630,626',
'630,626,626,626,630,630,,,,630,,630,630,630,630,630,630,630,,,,,,630',
'630,630,630,630,630,630,,,630,,,,,,,630,,,630,630,630,630,630,630,630',
'630,,630,630,630,,630,630,630,630,630,,,,,,,,,,,,,,,,,,,,630,,,630,',
',630,630,,,630,,,,,,630,,,,,,,,,630,,,,,630,630,630,630,,630,630,630',
'630,,,,,630,630,,,,631,631,631,630,631,630,630,630,631,631,,,,631,,631',
'631,631,631,631,631,631,,,,,,631,631,631,631,631,631,631,,,631,,,,,',
',631,,,631,631,631,631,631,631,631,631,,631,631,631,,631,631,631,631',
'631,,,,,,,,,,,,,,,,,,,,631,,,631,,,631,631,,,631,,,,,,631,,,,,,,,,631',
',,,,631,631,631,631,,631,631,631,631,,,,,631,631,,,,634,634,634,631',
'634,631,631,631,634,634,,,,634,,634,634,634,634,634,634,634,,,,,,634',
'634,634,634,634,634,634,,,634,,,,,,,634,,,634,634,634,634,634,634,634',
'634,,634,634,634,,634,634,634,634,634,,,,,,,,,,,,,,,,,,,,634,,,634,',
',634,634,,,634,,,,,,634,,,,,,,,,634,,,,,634,634,634,634,,634,634,634',
'634,,,,,634,634,,,,635,635,635,634,635,634,634,634,635,635,,,,635,,635',
'635,635,635,635,635,635,,,,,,635,635,635,635,635,635,635,,,635,,,,,',
',635,,,635,635,635,635,635,635,635,635,,635,635,635,,635,635,635,635',
'635,,,,,,,,,,,,,,,,,,,,635,,,635,,,635,635,,,635,,,,,,635,,,,,,,,,635',
',,,,635,635,635,635,,635,635,635,635,,,,,635,635,,,,659,659,659,635',
'659,635,635,635,659,659,,,,659,,659,659,659,659,659,659,659,,,,,,659',
'659,659,659,659,659,659,,,659,,,,,,,659,,,659,659,659,659,659,659,659',
'659,,659,659,659,,659,659,659,659,659,,,,,,,,,,,,,,,,,,,,659,,,659,',
',659,659,,,659,,,,,,659,,,,,,,,,659,,,,,659,659,659,659,,659,659,659',
'659,,,,,659,659,,,,662,662,662,659,662,659,659,659,662,662,,,,662,,662',
'662,662,662,662,662,662,,,,,,662,662,662,662,662,662,662,,,662,,,,,',
',662,,,662,662,662,662,662,662,662,662,,662,662,662,,662,662,662,662',
'662,,,,,,,,,,,,,,,,,,,,662,,,662,,,662,662,,,662,,,,,,662,,,,,,,,,662',
',,,,662,662,662,662,,662,662,662,662,,,,,662,662,,,,666,666,666,662',
'666,662,662,662,666,666,,,,666,,666,666,666,666,666,666,666,,,,,,666',
'666,666,666,666,666,666,,,666,,,,,,,666,,,666,666,666,666,666,666,666',
'666,,666,666,666,,666,666,,,666,,,,,,,,,,,,,,,,,,,,666,,,666,,,666,666',
',,666,,,,,,,,,,,,,,,,,,,,666,666,666,666,,666,666,666,666,,,,,666,666',
',,,677,677,677,666,677,666,666,666,677,677,,,,677,,677,677,677,677,677',
'677,677,,,,,,677,677,677,677,677,677,677,,,677,,,,,,,677,,,677,677,677',
'677,677,677,677,677,,677,677,677,,677,677,,,677,,,,,,,,,,,,,,,,,,,,677',
',,677,,,677,677,,,677,,,,,,,,,,,,,,,,,,,,677,677,677,677,,677,677,677',
'677,,,,,677,677,,,,682,682,682,677,682,677,677,677,682,682,,,,682,,682',
'682,682,682,682,682,682,,,,,,682,682,682,682,682,682,682,,,682,,,,,',
',682,,,682,682,682,682,682,682,682,682,,682,682,682,,682,682,682,682',
'682,,,,,,,,,,,,,,,,,,,,682,,,682,,,682,682,,,682,,682,,,,682,,,,,,,',
',682,,,,,682,682,682,682,,682,682,682,682,,,,,682,682,,,,699,699,699',
'682,699,682,682,682,699,699,,,,699,,699,699,699,699,699,699,699,,,,',
',699,699,699,699,699,699,699,,,699,,,,,,,699,,,699,699,699,699,699,699',
'699,699,,699,699,699,,699,699,699,699,699,,,,,,,,,,,,,,,,,,,,699,,,699',
',,699,699,,,699,,,,,,699,,,,,,,,,699,,,,,699,699,699,699,,699,699,699',
'699,,,,,699,699,,,,725,725,725,699,725,699,699,699,725,725,,,,725,,725',
'725,725,725,725,725,725,,,,,,725,725,725,725,725,725,725,,,725,,,,,',
',725,,,725,725,725,725,725,725,725,725,,725,725,725,,725,725,725,725',
'725,,,,,,,,,,,,,,,,,,,,725,,,725,,,725,725,,,725,,,,,,725,,,,,,,,,725',
',,,,725,725,725,725,,725,725,725,725,,,,,725,725,,,,731,731,731,725',
'731,725,725,725,731,731,,,,731,,731,731,731,731,731,731,731,,,,,,731',
'731,731,731,731,731,731,,,731,,,,,,,731,,,731,731,731,731,731,731,731',
'731,,731,731,731,,731,731,731,731,731,,,,,,,,,,,,,,,,,,,,731,,,731,',
',731,731,,,731,,,,,,731,,,,,,,,,731,,,,,731,731,731,731,,731,731,731',
'731,,,,,731,731,,,,754,754,754,731,754,731,731,731,754,754,,,,754,,754',
'754,754,754,754,754,754,,,,,,754,754,754,754,754,754,754,,,754,,,,,',
',754,,,754,754,754,754,754,754,754,754,,754,754,754,,754,754,754,754',
'754,,,,,,,,,,,,,,,,,,,,754,,,754,,,754,754,,,754,,,,,,754,,,,,,,,,754',
',,,,754,754,754,754,,754,754,754,754,,,,,754,754,,,,756,756,756,754',
'756,754,754,754,756,756,,,,756,,756,756,756,756,756,756,756,,,,,,756',
'756,756,756,756,756,756,,,756,,,,,,,756,,,756,756,756,756,756,756,756',
'756,,756,756,756,,756,756,756,756,756,,,,,,,,,,,,,,,,,,,,756,,,756,',
',756,756,,,756,,,,,,756,,,,,,,,,756,,,,,756,756,756,756,,756,756,756',
'756,,,,,756,756,,,,770,770,770,756,770,756,756,756,770,770,,,,770,,770',
'770,770,770,770,770,770,,,,,,770,770,770,770,770,770,770,,,770,,,,,',
',770,,,770,770,770,770,770,770,770,770,,770,770,770,,770,770,770,770',
'770,,,,,,,,,,,,,,,,,,,,770,,,770,,,770,770,,,770,,,,,,770,,,,,,,,,770',
',,,,770,770,770,770,,770,770,770,770,,,,,770,770,,,,771,771,771,770',
'771,770,770,770,771,771,,,,771,,771,771,771,771,771,771,771,,,,,,771',
'771,771,771,771,771,771,,,771,,,,,,,771,,,771,771,771,771,771,771,771',
'771,,771,771,771,,771,771,771,771,771,,,,,,,,,,,,,,,,,,,,771,,,771,',
',771,771,,,771,,,,,,771,,,,,,,,,771,,,,,771,771,771,771,,771,771,771',
'771,,,,,771,771,,,,772,772,772,771,772,771,771,771,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,,,,773,773,773,772',
'773,772,772,772,773,773,,,,773,,773,773,773,773,773,773,773,,,,,,773',
'773,773,773,773,773,773,,,773,,,,,,,773,,,773,773,773,773,773,773,773',
'773,,773,773,773,,773,773,773,773,773,,,,,,,,,,,,,,,,,,,,773,,,773,',
',773,773,,,773,,,,,,773,,,,,,,,,773,,,,,773,773,773,773,,773,773,773',
'773,,,,,773,773,,,,775,775,775,773,775,773,773,773,775,775,,,,775,,775',
'775,775,775,775,775,775,,,,,,775,775,775,775,775,775,775,,,775,,,,,',
',775,,,775,775,775,775,775,775,775,775,,775,775,775,,775,775,775,775',
'775,,,,,,,,,,,,,,,,,,,,775,,,775,,,775,775,,,775,,,,,,775,,,,,,,,,775',
',,,,775,775,775,775,,775,775,775,775,,,,,775,775,,,,787,787,787,775',
'787,775,775,775,787,787,,,,787,,787,787,787,787,787,787,787,,,,,,787',
'787,787,787,787,787,787,,,787,,,,,,,787,,,787,787,787,787,787,787,787',
'787,,787,787,787,,787,787,,,787,,,,,,,,,,,,,,,,,,,,787,,,787,,,787,787',
',,787,,,,,,,,,,,,,,,,,,,,787,787,787,787,,787,787,787,787,,,,,787,787',
',,,837,837,837,787,837,787,787,787,837,837,,,,837,,837,837,837,837,837',
'837,837,,,,,,837,837,837,837,837,837,837,,,837,,,,,,,837,,,837,837,837',
'837,837,837,837,837,,837,837,837,,837,837,837,837,837,,,,,,,,,,,,,,',
',,,,,837,,,837,,,837,837,,,837,,,,,,837,,,,,,,,,837,,,,,837,837,837',
'837,,837,837,837,837,,,,,837,837,,,,842,842,842,837,842,837,837,837',
'842,842,,,,842,,842,842,842,842,842,842,842,,,,,,842,842,842,842,842',
'842,842,,,842,,,,,,,842,,,842,842,842,842,842,842,842,842,,842,842,842',
',842,842,842,842,842,,,,,,,,,,,,,,,,,,,,842,,,842,,,842,842,,,842,,842',
',,,842,,,,,,,,,842,,,,,842,842,842,842,,842,842,842,842,,,,,842,842',
',,,859,859,859,842,859,842,842,842,859,859,,,,859,,859,859,859,859,859',
'859,859,,,,,,859,859,859,859,859,859,859,,,859,,,,,,,859,,,859,859,859',
'859,859,859,859,859,859,859,859,859,,859,859,859,859,859,,,,,,,,,,,',
',,,,,,,,859,,,859,,,859,859,,,859,,,,859,,859,,,859,,,,,,859,,,,,859',
'859,859,859,,859,859,859,859,,,,,859,859,,,,860,860,860,859,860,859',
'859,859,860,860,,,,860,,860,860,860,860,860,860,860,,,,,,860,860,860',
'860,860,860,860,,,860,,,,,,,860,,,860,860,860,860,860,860,860,860,,860',
'860,860,,860,860,860,860,860,,,,,,,,,,,,,,,,,,,,860,,,860,,,860,860',
',,860,,,,,,860,,,,,,,,,860,,,,,860,860,860,860,,860,860,860,860,,,,',
'860,860,,,,874,874,874,860,874,860,860,860,874,874,,,,874,,874,874,874',
'874,874,874,874,,,,,,874,874,874,874,874,874,874,,,874,,,,,,,874,,,874',
'874,874,874,874,874,874,874,,874,874,874,,874,874,,,874,,,,,,,,,,,,',
',,,,,,,874,,,874,,,874,874,,,874,,,,,,,,,,,,,,,,,,,,874,874,874,874',
',874,874,874,874,,,,,874,874,,,,886,886,886,874,886,874,874,874,886',
'886,,,,886,,886,886,886,886,886,886,886,,,,,,886,886,886,886,886,886',
'886,,,886,,,,,,,886,,,886,886,886,886,886,886,886,886,,886,886,886,',
'886,886,,,886,,,,,,,,,,,,,,,,,,,,886,,,886,,,886,886,,,886,,,,,,,,,',
',,,,,,,,,,886,886,886,886,,886,886,886,886,,,,,886,886,,,,983,983,983',
'886,983,886,886,886,983,983,,,,983,,983,983,983,983,983,983,983,,,,',
',983,983,983,983,983,983,983,,,983,,,,,,,983,,,983,983,983,983,983,983',
'983,983,983,983,983,983,,983,983,983,983,983,,,,,,,,,,,,,,,,,,,,983',
',,983,,,983,983,,,983,,983,,983,,983,,,983,,,,,,983,,,,,983,983,983',
'983,,983,983,983,983,,,,,983,983,,,,,56,,983,,983,983,983,56,56,56,',
',56,56,56,,56,,,,,,,,,,56,56,56,,,,,,,,56,56,,56,56,56,56,56,,,,,,,',
',,,,,,,,,,,,,,,56,56,56,56,56,56,56,56,56,56,56,56,56,56,,,56,56,56',
',,56,,,56,,,56,56,,56,,56,,56,,56,56,,56,56,56,56,56,,56,,56,,,,,,,',
',,,,,,56,,,56,56,56,56,424,56,,56,,,,424,424,424,,,424,424,424,,424',
',,,,,,,,424,424,424,424,,,,,,,,424,424,,424,424,424,424,424,,,,,,,,',
',,,,,,,,,,,,,,424,424,424,424,424,424,424,424,424,424,424,424,424,424',
',,424,424,424,,,424,,,424,,,424,424,,424,,424,,424,,424,424,,424,424',
'424,424,424,,424,424,424,,,,,,,,,,,,,,424,,,424,424,424,424,425,424',
',424,,,,425,425,425,,,425,425,425,,425,,,,,,,,,425,425,425,425,,,,,',
',,425,425,,425,425,425,425,425,,,,,,,,,,,,,,,,,,,,,,,425,425,425,425',
'425,425,425,425,425,425,425,425,425,425,,,425,425,425,,,425,,,425,,',
'425,425,,425,,425,,425,,425,425,,425,425,425,425,425,,425,425,425,897',
',897,897,897,897,897,,,,,,,425,,897,425,425,425,425,27,425,,425,,,,27',
'27,27,,,27,27,27,,27,897,,,,,,,,27,27,27,897,897,,,,897,,,27,27,,27',
'27,27,27,27,,,,,,,,,,,,,,,,,,,,,,,27,27,27,27,27,27,27,27,27,27,27,27',
'27,27,,,27,27,27,,,27,,27,27,,,27,27,,27,,27,,27,,27,27,,27,27,27,27',
'27,28,27,27,27,,,,28,28,28,,,28,28,28,,28,27,,,27,27,,27,,27,28,28,',
',,,,,,,28,28,,28,28,28,28,28,,,,,,,,,,,,,,,,,,,,,,,28,28,28,28,28,28',
'28,28,28,28,28,28,28,28,,,28,28,28,,,28,,28,28,,,28,28,,28,,28,,28,',
'28,28,,28,28,28,28,28,,28,415,28,,,,,,415,415,415,,,415,415,415,28,415',
',28,28,,28,,28,,415,415,415,,,,,,,,,415,415,,415,415,415,415,415,,,',
',,,,,,,,,,,,,,,,,,,415,415,415,415,415,415,415,415,415,415,415,415,415',
'415,,,415,415,415,,,415,,415,415,,,415,415,,415,,415,,415,,415,415,',
'415,415,415,415,415,,415,415,415,,,,,,,,,,,,,,415,,474,415,415,,415',
',415,474,474,474,,,474,474,474,646,474,646,646,646,646,646,,,,474,474',
',,,646,,,,,,474,474,,474,474,474,474,474,,,,,,,,,646,,336,,336,336,336',
'336,336,646,646,646,646,,,,646,336,,,,,,,,474,,,,,,,474,,,,,474,474',
'336,336,,646,,,,,,336,336,336,336,,,,336,,,,,474,474,,,,,,,,,,,,,,474',
',,474,,,,,474,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,,,,8,8',
'8,8,8,8,8,8,8,8,,,,,,8,8,8,8,8,8,8,8,8,8,,8,,,,,,,,8,8,,8,8,8,8,8,8',
'8,,,8,8,,,,8,8,8,8,,,,,,,,,,,,,,8,8,,8,8,8,8,8,8,8,8,8,8,8,8,,,8,8,',
',,,,,,,,,,,,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,,,,9,9',
'9,9,9,9,9,9,9,9,,,,,,9,9,9,9,9,9,9,9,9,,,9,,,,,,,,9,9,,9,9,9,9,9,9,9',
',,9,9,,,,9,9,9,9,,,,,,,,,,,,,,9,9,,9,9,9,9,9,9,9,9,9,9,9,9,,,9,9,,,',
',,,,,,,,,,9,395,395,395,395,395,395,395,395,395,395,395,395,395,395',
'395,395,395,395,395,395,395,395,395,395,,,,395,395,395,395,395,395,395',
'395,395,395,,,,,,395,395,395,395,395,395,395,395,395,,,395,,,,,,,,395',
'395,,395,395,395,395,395,395,395,,,395,395,,,,395,395,395,395,,,,,,',
',,,,,,,395,395,,395,395,395,395,395,395,395,395,395,395,395,395,,,395',
'395,,,,,,,,,,,,,,395,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,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,71,71,71,71,71,71,71,71,71,71,71,71,71',
'71,71,71,71,71,71,71,71,71,71,71,,,,71,71,71,71,71,71,71,71,71,71,,',
',,,71,71,71,71,71,71,71,71,71,71,71,71,,71,,,,,,71,71,,71,71,71,71,71',
'71,71,,,71,71,,,,71,71,71,71,,,,,,71,,,,,,,,71,71,,71,71,71,71,71,71',
'71,71,71,71,71,71,,,71,738,738,738,738,738,738,738,738,738,738,738,738',
'738,738,738,738,738,738,738,738,738,738,738,738,,,,738,738,738,738,738',
'738,738,738,738,738,,,,,,738,738,738,738,738,738,738,738,738,,,738,',
',,,,,,738,738,,738,738,738,738,738,738,738,,,738,738,,,,738,738,738',
'738,,,,,,,,,,,,,,738,738,,738,738,738,738,738,738,738,738,738,738,738',
'738,210,210,738,,210,,,,,,,,210,210,,210,210,210,210,210,210,210,,,210',
'210,,,,210,210,210,210,,,,,,210,,,,,,,,210,210,,210,210,210,210,210',
'210,210,210,210,210,210,210,211,211,210,,211,,,,,,,,211,211,,211,211',
'211,211,211,211,211,,,211,211,,,,211,211,211,211,,,,,,211,,,,,,,,211',
'211,,211,211,211,211,211,211,211,211,211,211,211,211,259,259,211,,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,440,440,259,,440,,,,,,,,440,440,,440,440,440,440,440,440,440,,,440',
'440,,,,440,440,440,440,,,,,,440,,,,,,,,440,440,,440,440,440,440,440',
'440,440,440,440,440,440,440,441,441,440,,441,,,,,,,,441,441,,441,441',
'441,441,441,441,441,,,441,441,,,,441,441,441,441,,,,,,441,,,,,,,,441',
'441,,441,441,441,441,441,441,441,441,441,441,441,441,507,507,441,,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,508,508,507,,508,,,,,,,,508,508,,508,508,508,508,508,508,508',
',,508,508,,,,508,508,508,508,,,,,,508,,,,,,,,508,508,,508,508,508,508',
'508,508,508,508,508,508,508,508,517,517,508,,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,518,518,517',
',518,,,,,,,,518,518,,518,518,518,518,518,518,518,,,518,518,,,,518,518',
'518,518,,,,,,518,,,,,,,,518,518,,518,518,518,518,518,518,518,518,518',
'518,518,518,576,576,518,,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,577,577,576,,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,583,583',
'577,,583,,,,,,,,583,583,,583,583,583,583,583,583,583,,,583,583,,,,583',
'583,583,583,,,,,,583,,,,,,,,583,583,,583,583,583,583,583,583,583,583',
'583,583,583,583,584,584,583,,584,,,,,,,,584,584,,584,584,584,584,584',
'584,584,,,584,584,,,,584,584,584,584,,,,,,584,,,,,,,,584,584,,584,584',
'584,584,584,584,584,584,584,584,584,584,938,938,584,,938,,,,,,,,938',
'938,,938,938,938,938,938,938,938,,,938,938,,,,938,938,938,938,,,,,,938',
',,,,,,,938,938,,938,938,938,938,938,938,938,938,938,938,938,938,984',
'984,938,,984,,,,,,,,984,984,,984,984,984,984,984,984,984,,,984,984,',
',,984,984,984,984,,,,,,984,,,,,,,,984,984,,984,984,984,984,984,984,984',
'984,984,984,984,984,985,985,984,,985,,,,,,,,985,985,,985,985,985,985',
'985,985,985,,,985,985,,,,985,985,985,985,,,,,,985,,,,,,,,985,985,,985',
'985,985,985,985,985,985,985,985,985,985,985,,534,985,534,534,534,534',
'534,,693,,693,693,693,693,693,534,,,,,,,,693,,695,,695,695,695,695,695',
',,,,,534,,,695,,,,,693,534,534,534,534,,,,534,693,693,693,693,,,,693',
'695,,736,,736,736,736,736,736,695,695,695,695,,,,695,736,,737,,737,737',
'737,737,737,,865,,865,865,865,865,865,737,,,,,736,,,865,,,,,,736,736',
'736,736,,,,736,737,,,,,,,,865,737,737,737,737,,,,737,865,865,865,865',
',,867,865,867,867,867,867,867,,893,,893,893,893,893,893,867,,,,,,,,893',
',899,,899,899,899,899,899,,,,,,867,,,899,,,,,893,867,867,867,867,,,',
'867,893,893,893,893,,,,893,899,,969,,969,969,969,969,969,,,899,899,',
',,899,969,,971,,971,971,971,971,971,973,,973,973,973,973,973,,971,,',
',,969,,973,,,,,,,969,969,969,969,,,,969,971,,,,,,,973,,,,971,971,,,',
'971,,973,973,,,975,973,975,975,975,975,975,987,,987,987,987,987,987',
'1013,975,1013,1013,1013,1013,1013,,987,,,,,,,1013,,,,,,,,975,,,,,,,987',
',,,975,975,,1013,,975,,987,987,,,,987,,1013,1013,,,,1013' ]
racc_action_check = arr = ::Array.new(25138, 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 = [
744, 1, nil, 303, nil, 5083, 729, -91, 23075, 23203,
-80, nil, -62, 107, 470, 184, 61, 10, nil, -79,
5214, 1164, 182, nil, 15, nil, -8, 22590, 22700, 5345,
5476, 5607, nil, 884, 5738, 5869, nil, 80, 190, 227,
169, 283, 6008, 6139, 6270, 141, 556, nil, nil, nil,
nil, nil, nil, nil, nil, nil, 22188, nil, -75, 6401,
6532, -23, nil, 6663, 6794, nil, nil, 6925, 7064, 7195,
7326, 23587, nil, nil, nil, nil, nil, 518, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, 0, nil, nil, 112, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, 277,
nil, 7465, nil, nil, nil, nil, 7604, 7735, 7866, 7997,
8136, 1024, nil, 472, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, 153, nil, 1164, 8267, 8398, 8529,
23761, 23822, 8660, 8791, 8922, 9053, 9184, 9315, nil, nil,
610, -24, 15, 301, 90, 224, 293, nil, 9446, 1304,
294, 9577, 9708, 9839, 9970, 10101, 10232, 10363, 10494, 10625,
10756, 10887, 11018, 11149, 11280, 11411, 11542, 11673, 11804, 11935,
12066, 12197, 12328, 12459, 12590, 12721, 12852, nil, nil, 23883,
nil, nil, 295, 12983, 13114, nil, nil, nil, nil, nil,
nil, nil, 13245, nil, 1304, nil, 264, 266, nil, 13376,
328, 13507, nil, nil, 13638, 13769, nil, nil, 380, nil,
13908, 1429, 313, 308, 1444, 347, 397, 367, 14039, 1584,
613, 659, 744, 449, 747, nil, 440, 431, 33, nil,
nil, nil, 481, 331, 443, 14178, nil, 302, 514, 786,
nil, 553, nil, 14309, 1724, 14440, 495, nil, 107, 127,
537, 522, 206, 561, nil, nil, 22944, 24, -1, 26,
14571, 14702, 416, 636, 526, -19, -18, 816, 627, 10,
667, nil, nil, 191, 225, 8, nil, 884, nil, 34,
14833, nil, nil, nil, 150, 274, 412, 442, 570, 576,
581, 792, 794, nil, 797, nil, 14964, nil, 330, 388,
397, 457, 460, -41, -35, 464, nil, nil, nil, nil,
nil, nil, nil, nil, 586, 23331, nil, nil, nil, nil,
588, nil, nil, 579, 15095, 591, nil, nil, 884, 598,
nil, 597, 605, 425, 471, 22812, nil, nil, nil, 222,
334, 651, nil, nil, 22322, 22456, nil, 1444, nil, 599,
nil, nil, 744, nil, nil, nil, nil, -33, nil, 652,
23944, 24005, 15226, 252, 15357, 15488, 15619, 3264, 3404, 534,
561, 691, 717, 734, 738, 5214, 5345, 5476, 3544, 3684,
3824, 3964, 4104, 4244, 4384, 4524, 4664, 4804, 489, 3094,
4944, 5083, 1584, -56, 22941, nil, nil, nil, nil, 703,
nil, 178, 237, 704, nil, nil, 15750, nil, 15881, nil,
16012, nil, 327, nil, nil, nil, 16151, 1444, 1864, 708,
710, nil, nil, 715, 16290, 726, 16421, 24066, 24127, 887,
768, nil, 16552, 725, nil, 16683, 16814, 24188, 24249, 1724,
16945, 861, 882, 422, 802, nil, 17076, nil, nil, 17207,
nil, nil, nil, nil, 24738, nil, 763, 764, nil, 765,
775, 777, nil, nil, nil, nil, nil, nil, nil, nil,
769, 569, nil, nil, 17338, nil, nil, nil, 861, nil,
nil, nil, 869, nil, nil, 870, 2004, 911, nil, 2144,
62, 118, 908, 916, 17469, 17600, 24310, 24371, 25, nil,
nil, 926, nil, 24432, 24493, 17731, nil, nil, nil, 532,
237, 2284, 837, nil, -14, nil, nil, nil, 727, nil,
nil, nil, 821, nil, nil, 261, nil, 338, nil, nil,
810, nil, 831, nil, nil, nil, 23459, nil, 837, 17862,
17993, 479, 879, 18124, 18255, 18386, 18517, 878, nil, nil,
18648, 18779, 882, nil, 18910, 19041, nil, nil, 254, 277,
466, 602, 853, 1024, 856, nil, 22905, nil, 2424, 969,
5, 280, nil, 2564, 2704, nil, 864, nil, 911, 19172,
nil, nil, 19303, nil, 895, -113, 19434, 876, nil, 881,
136, 177, 925, 337, 1024, 927, 884, 19565, 1864, 952,
20, 1007, 19696, nil, 901, nil, 235, 22, 902, 551,
nil, nil, 386, 24746, nil, 24763, nil, 5916, nil, 19827,
nil, 663, nil, 903, 228, 907, nil, nil, nil, nil,
514, nil, 1024, nil, nil, nil, nil, 1039, nil, 32,
920, 40, 41, 122, 183, 19958, 406, 1164, nil, 921,
2844, 20089, nil, nil, 1043, 2984, 24802, 24819, 23700, nil,
nil, nil, nil, nil, nil, 3124, nil, nil, nil, nil,
nil, nil, nil, 927, 20220, 2004, 20351, nil, 928, nil,
2144, nil, 2284, nil, nil, 2424, nil, 2564, nil, 2704,
20482, 20613, 20744, 20875, 342, 21006, 930, 931, nil, 932,
933, 947, nil, 975, 975, 975, 972, 21137, nil, nil,
1109, nil, nil, 3264, 1010, 1119, nil, nil, nil, nil,
1003, 404, nil, nil, 1129, nil, 3404, 1005, 1061, nil,
nil, 1059, nil, nil, 3544, 3684, 1061, 1021, nil, nil,
nil, 1023, 1024, nil, 1025, 1028, nil, 1038, nil, nil,
1042, 3110, 1043, 668, nil, 1168, nil, 21268, 1169, 3824,
3964, nil, 21399, 4104, 71, 121, nil, 1179, 623, 4244,
nil, 1181, 1061, 695, nil, 1065, 1067, nil, 2844, 21530,
21661, 2984, 627, nil, nil, 24827, nil, 24879, nil, 7373,
nil, nil, 1097, 1150, 21792, 956, 1165, nil, 1111, nil,
nil, nil, 4384, nil, nil, 33, 21923, nil, nil, 1132,
1241, nil, nil, 24887, nil, 14086, nil, 22519, nil, 24904,
nil, nil, nil, nil, 327, 3169, 1121, nil, 36, nil,
1249, 1254, nil, 17, nil, nil, nil, 1259, nil, nil,
nil, 1187, nil, 1144, nil, nil, 1145, 1155, 1156, 1158,
nil, 1161, nil, 368, nil, nil, nil, 1027, 24554, nil,
nil, nil, 4524, 1066, 1096, 1167, 1241, 1206, nil, nil,
nil, 1164, 1165, 1168, 1178, 1179, 3344, 1183, 3484, 4664,
nil, nil, nil, nil, nil, 4804, nil, 4944, nil, 24943,
nil, 24960, nil, 24967, nil, 25019, nil, nil, nil, 1290,
1228, 1229, 1321, 22054, 24615, 24676, 1236, 25026, nil, nil,
nil, nil, 3530, 1197, 592, 1322, 1323, 1207, 1213, 1227,
1231, nil, nil, 1254, 40, 42, 111, 1304, 1252, 1257,
nil, nil, nil, 25033, nil, nil, nil, nil, 98, nil,
1258, nil ]
racc_action_default = [
-3, -595, -1, -581, -4, -595, -7, -595, -595, -595,
-595, -29, -595, -595, -595, -279, -595, -40, -43, -583,
-595, -48, -50, -51, -52, -56, -256, -256, -256, -293,
-328, -329, -68, -11, -72, -80, -82, -595, -486, -487,
-595, -595, -595, -595, -595, -583, -237, -270, -271, -272,
-273, -274, -275, -276, -277, -278, -571, -281, -283, -594,
-561, -301, -389, -595, -595, -306, -309, -581, -595, -595,
-595, -595, -330, -331, -427, -428, -429, -430, -431, -452,
-434, -435, -454, -456, -439, -444, -448, -450, -466, -454,
-468, -470, -471, -472, -473, -569, -475, -476, -570, -478,
-479, -480, -481, -482, -483, -484, -485, -490, -491, -595,
-2, -582, -590, -591, -592, -6, -595, -595, -595, -595,
-595, -3, -17, -595, -111, -112, -113, -114, -115, -116,
-117, -118, -119, -123, -124, -125, -126, -127, -128, -129,
-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, -22, -120, -11, -595, -595, -246,
-595, -595, -595, -595, -595, -595, -595, -583, -584, -47,
-595, -486, -487, -595, -279, -595, -595, -229, -595, -11,
-595, -595, -595, -595, -595, -595, -595, -595, -595, -595,
-595, -595, -595, -595, -595, -595, -595, -595, -595, -595,
-595, -595, -595, -595, -595, -595, -595, -396, -398, -595,
-579, -580, -57, -246, -595, -300, -402, -411, -413, -63,
-408, -64, -583, -65, -238, -251, -260, -260, -255, -595,
-261, -595, -452, -563, -595, -595, -66, -67, -581, -12,
-595, -15, -595, -70, -11, -583, -595, -73, -76, -11,
-88, -89, -595, -595, -96, -293, -296, -583, -595, -328,
-329, -332, -409, -595, -78, -595, -84, -290, -469, -595,
-214, -215, -230, -595, -11, -595, -583, -239, -587, -587,
-595, -595, -587, -595, -302, -303, -519, -49, -595, -595,
-595, -595, -581, -595, -582, -486, -487, -595, -595, -279,
-595, -342, -343, -106, -107, -595, -109, -595, -279, -595,
-595, -486, -487, -321, -111, -112, -153, -154, -155, -171,
-176, -183, -186, -323, -595, -559, -595, -432, -595, -595,
-595, -595, -595, -595, -595, -595, 1022, -5, -593, -23,
-24, -25, -26, -27, -595, -595, -19, -20, -21, -121,
-595, -30, -39, -266, -595, -595, -265, -31, -196, -583,
-247, -260, -260, -572, -573, -256, -406, -574, -575, -573,
-572, -256, -405, -407, -574, -575, -37, -204, -38, -595,
-41, -42, -194, -261, -44, -45, -46, -583, -299, -595,
-595, -595, -246, -290, -595, -595, -595, -205, -206, -207,
-208, -209, -210, -211, -212, -216, -217, -218, -219, -220,
-221, -222, -223, -224, -225, -226, -227, -228, -231, -232,
-233, -234, -583, -378, -256, -572, -573, -54, -58, -583,
-257, -378, -378, -583, -295, -252, -595, -253, -595, -258,
-595, -262, -595, -566, -568, -10, -582, -14, -3, -583,
-69, -288, -85, -74, -595, -583, -246, -595, -595, -95,
-595, -469, -595, -81, -86, -595, -595, -595, -595, -235,
-595, -419, -595, -284, -595, -240, -589, -588, -242, -589,
-291, -292, -562, -390, -519, -393, -558, -558, -502, -504,
-504, -504, -518, -520, -521, -522, -523, -524, -525, -526,
-527, -595, -529, -531, -533, -538, -540, -541, -543, -548,
-550, -551, -553, -554, -555, -595, -11, -333, -334, -11,
-595, -595, -595, -595, -595, -246, -595, -595, -290, -314,
-106, -107, -108, -595, -595, -246, -317, -492, -493, -595,
-595, -11, -497, -325, -583, -433, -453, -458, -595, -460,
-436, -455, -595, -457, -438, -595, -441, -595, -443, -446,
-595, -447, -595, -467, -8, -18, -595, -28, -269, -595,
-595, -410, -595, -248, -250, -595, -595, -59, -245, -403,
-595, -595, -61, -404, -595, -595, -298, -585, -572, -573,
-572, -573, -583, -194, -595, -379, -583, -381, -11, -53,
-399, -378, -243, -11, -11, -294, -260, -259, -263, -595,
-564, -565, -595, -13, -595, -71, -595, -77, -83, -583,
-572, -573, -244, -92, -94, -595, -79, -595, -203, -213,
-583, -594, -594, -282, -583, -287, -587, -595, -583, -595,
-500, -501, -595, -595, -511, -595, -514, -595, -516, -595,
-344, -595, -346, -348, -355, -583, -532, -542, -552, -556,
-594, -335, -594, -307, -336, -337, -310, -595, -313, -595,
-583, -572, -573, -576, -289, -595, -106, -107, -110, -583,
-11, -595, -495, -319, -595, -11, -519, -519, -595, -560,
-459, -462, -463, -464, -465, -11, -437, -440, -442, -445,
-449, -451, -122, -267, -595, -197, -595, -586, -260, -33,
-199, -34, -200, -60, -35, -202, -36, -201, -62, -195,
-595, -595, -595, -595, -410, -595, -558, -558, -360, -362,
-362, -362, -377, -595, -583, -383, -527, -535, -536, -546,
-595, -401, -400, -11, -595, -595, -254, -264, -567, -16,
-75, -90, -87, -297, -594, -340, -11, -420, -594, -421,
-422, -595, -241, -391, -11, -11, -595, -558, -539, -557,
-503, -504, -504, -530, -504, -504, -549, -504, -527, -544,
-583, -595, -353, -595, -528, -595, -338, -595, -595, -11,
-11, -312, -595, -11, -410, -595, -410, -595, -595, -11,
-322, -595, -583, -595, -326, -595, -268, -32, -198, -249,
-595, -236, -595, -358, -359, -368, -370, -595, -373, -595,
-375, -380, -595, -595, -595, -534, -595, -397, -595, -412,
-414, -9, -11, -426, -341, -595, -595, -424, -285, -595,
-595, -392, -499, -595, -507, -595, -509, -595, -512, -595,
-515, -517, -345, -347, -351, -595, -356, -304, -595, -305,
-595, -595, -263, -594, -315, -318, -494, -595, -324, -496,
-498, -497, -461, -558, -537, -361, -362, -362, -362, -362,
-547, -362, -382, -583, -385, -387, -388, -545, -595, -290,
-55, -425, -11, -97, -98, -595, -595, -105, -423, -394,
-395, -504, -504, -504, -504, -349, -595, -354, -595, -11,
-308, -311, -415, -416, -417, -11, -320, -11, -357, -595,
-365, -595, -367, -595, -371, -595, -374, -376, -384, -595,
-289, -576, -419, -246, -595, -595, -104, -595, -505, -508,
-510, -513, -595, -352, -594, -595, -595, -362, -362, -362,
-362, -386, -418, -583, -572, -573, -576, -103, -504, -350,
-339, -316, -327, -595, -363, -366, -369, -372, -410, -506,
-362, -364 ]
clist = [
'216,275,275,275,14,327,373,334,573,14,258,122,205,130,130,566,569,522',
'132,132,2,409,681,297,220,487,323,415,421,311,311,127,127,220,220,220',
'431,14,302,302,406,266,270,338,339,259,428,342,6,621,262,269,271,6,337',
'337,690,691,337,478,780,535,735,311,311,311,542,220,220,110,111,220',
'347,357,357,479,474,314,835,700,513,114,525,528,318,804,532,276,276',
'276,713,716,293,826,127,705,389,390,391,392,930,657,295,657,906,660',
'823,337,337,337,337,582,378,219,783,14,838,328,115,903,220,220,220,220',
'14,14,1,777,781,359,363,881,379,343,934,648,277,277,277,385,663,394',
'936,653,654,114,660,605,607,204,352,273,286,287,402,395,816,651,616',
'6,487,330,650,375,331,335,329,332,393,6,817,350,586,374,324,822,957',
'824,325,684,326,275,340,839,601,603,606,606,341,840,601,725,965,730',
'849,591,592,738,921,782,784,933,930,533,813,434,435,436,437,336,14,220',
'220,220,687,473,220,220,220,220,220,220,481,482,387,416,962,993,808',
'700,885,377,832,14,425,275,275,717,657,657,1001,660,380,381,275,830',
'903,382,936,383,384,740,872,296,642,745,731,415,421,688,821,818,924',
'1009,542,405,,220,220,667,,405,,,,,220,676,823,926,,,774,,734,,,,510',
',,826,,311,14,,863,864,14,,401,407,302,14,514,426,430,524,,801,311,',
'823,793,,492,523,963,669,302,570,571,276,266,672,,,270,14,220,276,337',
'337,,672,,,892,497,728,503,,,923,220,220,777,927,777,928,777,590,26',
'293,495,496,511,26,293,700,844,700,1010,499,220,914,114,594,505,846',
',277,26,,,951,,,,277,220,26,26,26,13,26,480,720,823,13,622,967,,672',
'483,593,843,729,615,,130,672,,,796,132,,,572,,748,550,748,,275,26,26',
'13,127,26,114,,,847,763,,400,,851,768,628,800,955,700,,,633,587,,627',
'812,,,968,,632,220,,,296,777,997,777,644,777,416,777,431,,,,852,853',
'26,425,,542,542,26,26,26,26,26,26,657,,660,,275,,,,,1002,700,,700,,',
'628,694,696,698,514,777,13,,,649,311,14,514,14,,13,13,796,311,302,,220',
'680,,,296,809,302,,664,296,700,,416,,220,,,,,,,425,416,,,,,,,,,425,917',
',,,6,275,,,,,,,,,,275,26,26,26,26,942,,26,26,26,26,26,26,14,,,14,,,',
'16,964,220,,26,16,,787,959,,,,220,13,416,,656,,14,792,,,416,425,,,,',
',425,,,550,16,,,13,,26,26,,,752,,130,,622,26,,132,785,810,220,220,,719',
'686,220,220,,791,220,127,,,26,1018,,351,26,,714,714,622,26,14,,,514',
',14,14,,996,311,,,,811,802,732,733,785,302,,311,854,13,,26,26,13,,,302',
',13,,,,628,16,,633,,26,26,,,,16,16,,,622,,,,845,,,13,,622,848,26,,,',
'337,,759,761,,786,337,764,766,,,430,26,220,758,,,,14,220,,,,14,405,',
',,,,,,,14,883,,,,887,,,,,438,220,127,,,,785,,,550,,550,779,894,896,',
'898,900,,901,,,,311,16,,,710,,,712,429,875,,778,26,1003,,14,,,787,672',
',787,,787,16,787,,,14,550,550,,484,,,908,14,14,825,,827,,,,,15,337,',
',,15,,,,819,500,,819,,220,,14,14,,,14,26,857,26,,,14,,,,,26,,15,304',
'304,,,,,16,790,311,,16,26,794,795,,16,,937,,13,311,13,,,,14,,,,945,',
',,,349,358,358,,,,16,988,989,990,991,,787,,787,,787,,787,978,,,,26,',
',26,,714,,,916,26,,,,920,,,,,,26,15,,786,,786,26,,,14,15,15,,13,787',
',13,,275,,,,1019,,425,,14,,855,,,550,14,,14,,,,13,,26,26,636,,,26,26',
'622,,26,220,,,,,929,,931,,,,,416,26,,,,,26,26,,425,819,,,778,878,778',
',778,,952,,953,652,954,,,655,884,,,,,,13,15,889,890,,13,13,,,665,,,786',
',,668,,,,,,,,,15,,,910,911,,,913,,,,,,,,,,16,,16,,26,,,,,26,26,,,,26',
',,,,,,998,,999,26,1000,,,,941,,,,,,26,866,868,870,1008,,13,,778,15,778',
'13,778,15,778,,,304,15,,,13,,,,,,333,739,,1020,,,,304,16,,26,16,,,38',
',15,,,38,,,,26,,778,,982,,,,26,26,16,,,,,,,,,13,,994,,,38,300,300,995',
',,,26,13,26,26,,,26,,,13,13,,26,,,,,,,,,,429,,,,,,345,361,361,361,,803',
'13,13,16,,13,,,16,16,,13,26,,,,,,,,,,,,,834,,,,,,,,,970,972,974,976',
'38,977,,,,,13,,,38,38,,,,,,,,,,,,403,,,,,,433,,,,,,26,,,,,,,,,,,,,16',
',,,26,16,,,,,26,,26,,,16,15,,15,13,1014,1015,1016,1017,304,,,,26,,,',
'304,,,,13,,,,,,13,1021,13,,,489,38,491,,,493,494,,,,,,,,,,16,,902,,',
',,,38,,,,,16,,,,,,,,16,16,15,919,,15,,,,,,,,,,,,,,,,,,,,16,16,15,,16',
',,,,744,16,,,,,,,,,,,,,38,,,,38,,,,300,38,,,,,39,,,,,39,16,,,,948,300',
',,,,,,,,38,,15,,,,618,15,15,,,,,39,301,301,,,,,304,,,,,,,,,,,304,,,',
',,,,,,,,,,,16,,346,362,362,362,,,,,,,,,,,,16,,,,,,16,,16,,,,,,,,,,,',
',15,,,,658,15,333,39,661,,,,,,,15,39,39,,,,,,,,,,,,,,,,,,,,,,,,,,,658',
',,333,,,,,,,,,,358,,,,,,15,,,,,,,,,706,,,,15,,,,,,,,15,15,,,38,,38,',
'433,,,,300,,,,,,39,,300,,,,,15,15,,,15,,,,,,15,,,,,,39,,,,,,,,,,,,753',
',,,658,333,,358,,,,,,,,15,,,,947,,38,,,38,,,,,,,,,,,,,,,,797,,,798,',
',38,,,39,,,,39,,,,301,39,,,,,807,,,,,,,,,,,301,15,,,,,829,,,39,,,,,',
',,,15,,,,,,15,,15,,,38,,,,,38,38,,,,,,,,,,,,300,,,,,,,,,,,300,,,856',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,38,,,,,38,,,,,,,,,',
'38,,,,,,,,,,,,,,,,,,,,,,,912,,,,,,,,,,,,,,,,,333,,361,,,,,,38,,,,,,',
'39,,39,,,,38,,301,,,,,,38,38,301,,,,,,,,,,,,,,,,,,,,,,,38,38,,,38,,',
',,,38,,,,,,,,,,,,,,,,,,,,,39,,,39,361,,,,,,,,38,,,,943,,,,,,,,,39,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,38,,,,,,,,,,39,,,,,39,39',
'38,,,,,,38,,38,,,301,,,,,,,,,,227,301,,,,,,,,274,274,274,,,,,,,,,,,320',
'321,322,,,,,,,,,,,,,,,274,274,,,,,,,,,,,,,,39,,,,,39,,,,,,,,,,39,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,362,,,,,,39,,,,,,,,,,,,,39,,,',
',,,,39,39,,,,,,,,,,,,,,,,,,,,,,,,39,39,,,39,,,,,,39,,,,,,,,,,,,,,274',
'408,274,,,427,432,,,,,362,,,,,,,,39,,227,,944,447,448,449,450,451,452',
'453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469',
'470,471,472,,,,,,,274,274,,,,,,,,274,,,,,,,274,,274,,,274,274,39,,,',
',,,,,,,,,,,,,39,,,,,,39,,39,,,,,,,,,,,,519,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,274,,427,643,408,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,274,,274,,274,,,,,,,,,,,,,,,,274,,,,,,,,,678,679,,,',
',,,,,,274,,,274,,,,,,,,,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,,,,,,,,,274,274',
',,,,,,,,,274,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274,755,,,274,274,760',
'762,,,,765,767,,,643,769,,,,,,,,,,,,,,,,,,,,,,,,274,,,274,,,,,,,,,,',
',,,,,,,,,274,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,274,,858,,,,,,,,,,,,,,760,762,767,765,,861,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274,,,,',
',,,,,,,,,,,,274,858,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,274' ]
racc_goto_table = arr = ::Array.new(3093, 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 = [
'31,33,33,33,22,67,56,86,92,22,138,15,15,60,60,89,89,8,61,61,2,23,10',
'49,22,73,31,37,37,64,64,57,57,22,22,22,18,22,22,22,27,71,71,17,17,36',
'27,17,7,24,38,38,38,7,29,29,121,121,29,39,126,137,96,64,64,64,161,22',
'22,4,6,22,22,22,22,23,37,50,90,115,51,95,69,69,63,11,69,68,68,68,91',
'91,45,172,57,116,17,17,17,17,173,74,46,74,117,176,167,29,29,29,29,54',
'149,20,129,22,11,68,5,114,22,22,22,22,22,22,1,120,127,55,55,12,150,4',
'131,40,70,70,70,150,14,2,132,40,40,95,176,153,153,16,19,44,44,44,28',
'30,129,42,62,7,73,66,72,84,85,88,70,70,7,7,120,93,94,97,98,127,117,127',
'99,100,101,33,102,103,154,154,154,154,104,105,154,106,107,108,109,110',
'111,112,113,118,124,130,173,133,134,29,29,29,29,135,22,22,22,22,136',
'139,22,22,22,22,22,22,141,142,5,71,143,117,144,115,145,148,115,22,57',
'33,33,92,74,74,131,176,151,152,33,116,114,155,132,156,157,158,129,9',
'23,159,160,37,37,137,165,169,170,117,161,68,,22,22,51,,68,,,,,22,51',
'167,126,,,24,,8,,,,31,,,172,,64,22,,121,121,22,,20,20,22,22,49,20,20',
'31,,24,64,,167,40,,149,29,11,23,22,17,17,68,71,37,,,71,22,22,68,29,29',
',37,,,121,7,54,50,,,120,22,22,120,127,120,127,120,29,41,45,4,6,63,41',
'45,115,24,115,90,46,22,91,95,29,46,24,,70,41,,,127,,,,70,22,41,41,41',
'21,41,44,23,167,21,31,96,,37,44,36,89,23,15,,60,37,,,73,61,,,4,,154',
'166,154,,33,41,41,21,57,41,95,,,8,39,,9,,8,39,71,51,115,115,,,71,95',
',38,69,,,121,,38,22,,,9,120,127,120,31,120,71,120,18,,,,137,137,41,57',
',161,161,41,41,41,41,41,41,74,,176,,33,,,,,10,115,,115,,,71,164,164',
'164,49,120,21,,,38,64,22,49,22,,21,21,73,64,22,,22,29,,,9,27,22,,2,9',
'115,,71,,22,,,,,,,57,71,,,,,,,,,57,8,,,,7,33,,,,,,,,,,33,41,41,41,41',
'89,,41,41,41,41,41,41,22,,,22,,,,26,92,22,,41,26,,168,89,,,,22,21,71',
',70,,22,86,,,71,57,,,,,,57,,,166,26,,,21,,41,41,,,15,,60,,31,41,,61',
'31,67,22,22,,68,70,22,22,,138,22,57,,,41,24,,26,41,,95,95,31,41,22,',
',49,,22,22,,8,64,,,,31,49,95,95,31,22,,64,56,21,,41,41,21,,,22,,21,',
',,71,26,,71,,41,41,,,,26,26,,,31,,,,17,,,21,,31,17,41,,,,29,,20,20,',
'166,29,20,20,,,20,41,22,70,,,,22,22,,,,22,68,,,,,,,,,22,67,,,,67,,,',
',47,22,57,,,,31,,,166,,166,125,164,164,,164,164,,164,,,,64,26,,,9,,',
'9,26,22,,122,41,23,,22,,,168,37,,168,,168,26,168,,,22,166,166,,47,,',
'17,22,22,125,,125,,,,,25,29,,,,25,,,,122,47,,122,,22,,22,22,,,22,41',
'20,41,,,22,,,,,41,,25,25,25,,,,,26,9,64,,26,41,9,9,,26,,22,,21,64,21',
',,,22,,,,22,,,,,25,25,25,,,,26,164,164,164,164,,168,,168,,168,,168,31',
',,,41,,,41,,95,,,95,41,,,,95,,,,,,41,25,,166,,166,41,,,22,25,25,,21',
'168,,21,,33,,,,164,,57,,22,,9,,,166,22,,22,,,,21,,41,41,47,,,41,41,31',
',41,22,,,,,125,,125,,,,,71,41,,,,,41,41,,57,122,,,122,9,122,,122,,125',
',125,47,125,,,47,9,,,,,,21,25,9,9,,21,21,,,47,,,166,,,47,,,,,,,,,25',
',,9,9,,,9,,,,,,,,,,26,,26,,41,,,,,41,41,,,,41,,,,,,,125,,125,41,125',
',,,9,,,,,,41,123,123,123,125,,21,,122,25,122,21,122,25,122,,,25,25,',
',21,,,,,,65,47,,125,,,,25,26,,41,26,,,52,,25,,,52,,,,41,,122,,9,,,,41',
'41,26,,,,,,,,,21,,9,,,52,52,52,9,,,,41,21,41,41,,,41,,,21,21,,41,,,',
',,,,,,26,,,,,,52,52,52,52,,47,21,21,26,,21,,,26,26,,21,41,,,,,,,,,,',
',,47,,,,,,,,,123,123,123,123,52,123,,,,,21,,,52,52,,,,,,,,,,,,65,,,',
',,65,,,,,,41,,,,,,,,,,,,,26,,,,41,26,,,,,41,,41,,,26,25,,25,21,123,123',
'123,123,25,,,,41,,,,25,,,,21,,,,,,21,123,21,,,65,52,65,,,65,65,,,,,',
',,,,26,,47,,,,,,52,,,,,26,,,,,,,,26,26,25,47,,25,,,,,,,,,,,,,,,,,,,',
'26,26,25,,26,,,,,25,26,,,,,,,,,,,,,52,,,,52,,,,52,52,,,,,53,,,,,53,26',
',,,26,52,,,,,,,,,52,,25,,,,65,25,25,,,,,53,53,53,,,,,25,,,,,,,,,,,25',
',,,,,,,,,,,,,,26,,53,53,53,53,,,,,,,,,,,,26,,,,,,26,,26,,,,,,,,,,,,',
'25,,,,65,25,65,53,65,,,,,,,25,53,53,,,,,,,,,,,,,,,,,,,,,,,,,,,65,,,65',
',,,,,,,,,25,,,,,,25,,,,,,,,,65,,,,25,,,,,,,,25,25,,,52,,52,,65,,,,52',
',,,,,53,,52,,,,,25,25,,,25,,,,,,25,,,,,,53,,,,,,,,,,,,65,,,,65,65,,25',
',,,,,,,25,,,,25,,52,,,52,,,,,,,,,,,,,,,,65,,,65,,,52,,,53,,,,53,,,,53',
'53,,,,,65,,,,,,,,,,,53,25,,,,,65,,,53,,,,,,,,,25,,,,,,25,,25,,,52,,',
',,52,52,,,,,,,,,,,,52,,,,,,,,,,,52,,,65,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,52,,,,,52,,,,,,,,,,52,,,,,,,,,,,,,,,,,,,,,,,65',
',,,,,,,,,,,,,,,,65,,52,,,,,,52,,,,,,,53,,53,,,,52,,53,,,,,,52,52,53',
',,,,,,,,,,,,,,,,,,,,,,52,52,,,52,,,,,,52,,,,,,,,,,,,,,,,,,,,,53,,,53',
'52,,,,,,,,52,,,,52,,,,,,,,,53,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,52,,,,,,,,,,53,,,,,53,53,52,,,,,,52,,52,,,53,,,,,,,,,,32,53',
',,,,,,,32,32,32,,,,,,,,,,,32,32,32,,,,,,,,,,,,,,,32,32,,,,,,,,,,,,,',
'53,,,,,53,,,,,,,,,,53,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,53,,',
',,,53,,,,,,,,,,,,,53,,,,,,,,53,53,,,,,,,,,,,,,,,,,,,,,,,,53,53,,,53',
',,,,,53,,,,,,,,,,,,,,32,32,32,,,32,32,,,,,53,,,,,,,,53,,32,,53,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,53,,,,,,,,,,,,,,,,,53',
',,,,,53,,53,,,,,,,,,,,,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' ]
racc_goto_check = arr = ::Array.new(3093, 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, 126, 20, nil, 66, 113, 67, 48, -307, 220,
-499, -596, -673, nil, -356, 3, 140, -20, -177, 82,
93, 384, 4, -188, -360, 827, 577, -167, -53, -9,
33, -19, 2109, -28, nil, nil, 21, -183, 24, -203,
-338, 352, -320, nil, 122, 59, 69, 542, nil, -11,
42, -235, 1149, 1453, -244, 60, -65, 23, nil, nil,
5, 10, -241, 43, -5, 1075, 102, -54, 58, -246,
107, 15, -312, -252, -385, nil, nil, nil, nil, nil,
nil, nil, nil, nil, 92, 104, -54, nil, 103, -323,
-632, -480, -335, 103, -187, 78, -530, 102, 117, 120,
-344, 122, 117, -530, 122, -527, -388, -722, -393, -539,
-168, -177, -396, -656, -712, -472, -456, -729, -447, nil,
-519, -480, 147, 330, -446, 125, -586, -518, nil, -532,
-672, -739, -731, -133, -483, 147, -319, -275, -12, -42,
nil, -45, -45, -687, -454, -578, nil, nil, 154, 33,
50, 159, 159, -234, -195, 162, 163, 163, -347, -344,
-332, -270, nil, nil, -49, -433, 75, -587, -62, -428,
-600, nil, -602, -767, nil, nil, -383 ]
racc_goto_default = [
nil, nil, nil, 3, nil, 4, 344, 291, nil, 521,
nil, 836, nil, 288, 289, nil, nil, nil, 11, 12,
18, 226, 319, nil, nil, 224, 225, nil, nil, 17,
nil, 439, 21, 22, 23, 24, nil, 675, nil, nil,
nil, 308, nil, 25, 410, 32, nil, nil, 34, 37,
36, nil, 221, 222, 356, nil, 129, 418, 128, 131,
75, 76, nil, 90, 46, 280, nil, 805, 411, nil,
412, 423, 629, 485, 278, 264, 47, 48, 49, 50,
51, 52, 53, 54, 55, nil, 265, 61, nil, nil,
nil, nil, nil, nil, nil, 567, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, 702, 549, nil, 703, 925, 776,
537, nil, 538, nil, nil, 539, nil, 541, 645, nil,
nil, nil, 547, nil, nil, nil, nil, nil, nil, nil,
422, nil, nil, nil, nil, nil, 74, 77, 78, nil,
nil, nil, nil, nil, 596, nil, nil, nil, nil, nil,
nil, 820, 737, 536, nil, 540, 828, 552, 554, 555,
788, 558, 559, 789, 562, 565, 283 ]
racc_reduce_table = [
0, 0, :racc_error,
1, 145, :_reduce_none,
2, 146, :_reduce_2,
0, 147, :_reduce_3,
1, 147, :_reduce_4,
3, 147, :_reduce_5,
2, 147, :_reduce_6,
1, 149, :_reduce_none,
4, 149, :_reduce_8,
4, 152, :_reduce_9,
2, 153, :_reduce_10,
0, 157, :_reduce_11,
1, 157, :_reduce_12,
3, 157, :_reduce_13,
2, 157, :_reduce_14,
1, 158, :_reduce_none,
4, 158, :_reduce_16,
0, 174, :_reduce_17,
4, 151, :_reduce_18,
3, 151, :_reduce_19,
3, 151, :_reduce_20,
3, 151, :_reduce_21,
2, 151, :_reduce_22,
3, 151, :_reduce_23,
3, 151, :_reduce_24,
3, 151, :_reduce_25,
3, 151, :_reduce_26,
3, 151, :_reduce_27,
4, 151, :_reduce_28,
1, 151, :_reduce_none,
3, 151, :_reduce_30,
3, 151, :_reduce_31,
6, 151, :_reduce_32,
5, 151, :_reduce_33,
5, 151, :_reduce_34,
5, 151, :_reduce_35,
5, 151, :_reduce_36,
3, 151, :_reduce_37,
3, 151, :_reduce_38,
3, 151, :_reduce_39,
1, 151, :_reduce_none,
3, 162, :_reduce_41,
3, 162, :_reduce_42,
1, 173, :_reduce_none,
3, 173, :_reduce_44,
3, 173, :_reduce_45,
3, 173, :_reduce_46,
2, 173, :_reduce_47,
1, 173, :_reduce_none,
1, 161, :_reduce_none,
1, 164, :_reduce_none,
1, 164, :_reduce_none,
1, 178, :_reduce_none,
4, 178, :_reduce_53,
0, 186, :_reduce_54,
5, 183, :_reduce_55,
1, 185, :_reduce_none,
2, 177, :_reduce_57,
3, 177, :_reduce_58,
4, 177, :_reduce_59,
5, 177, :_reduce_60,
4, 177, :_reduce_61,
5, 177, :_reduce_62,
2, 177, :_reduce_63,
2, 177, :_reduce_64,
2, 177, :_reduce_65,
2, 177, :_reduce_66,
2, 177, :_reduce_67,
1, 163, :_reduce_68,
3, 163, :_reduce_69,
1, 190, :_reduce_70,
3, 190, :_reduce_71,
1, 189, :_reduce_none,
2, 189, :_reduce_73,
3, 189, :_reduce_74,
5, 189, :_reduce_75,
2, 189, :_reduce_76,
4, 189, :_reduce_77,
2, 189, :_reduce_78,
4, 189, :_reduce_79,
1, 189, :_reduce_80,
3, 189, :_reduce_81,
1, 193, :_reduce_none,
3, 193, :_reduce_83,
2, 192, :_reduce_84,
3, 192, :_reduce_85,
1, 195, :_reduce_86,
3, 195, :_reduce_87,
1, 194, :_reduce_88,
1, 194, :_reduce_89,
4, 194, :_reduce_90,
3, 194, :_reduce_91,
3, 194, :_reduce_92,
3, 194, :_reduce_93,
3, 194, :_reduce_94,
2, 194, :_reduce_95,
1, 194, :_reduce_96,
1, 170, :_reduce_97,
1, 170, :_reduce_98,
4, 170, :_reduce_99,
3, 170, :_reduce_100,
3, 170, :_reduce_101,
3, 170, :_reduce_102,
3, 170, :_reduce_103,
2, 170, :_reduce_104,
1, 170, :_reduce_105,
1, 198, :_reduce_106,
1, 198, :_reduce_none,
2, 199, :_reduce_108,
1, 199, :_reduce_109,
3, 199, :_reduce_110,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 203, :_reduce_116,
1, 203, :_reduce_none,
1, 159, :_reduce_none,
1, 159, :_reduce_none,
1, 160, :_reduce_120,
0, 206, :_reduce_121,
4, 160, :_reduce_122,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
1, 202, :_reduce_none,
3, 176, :_reduce_194,
5, 176, :_reduce_195,
3, 176, :_reduce_196,
5, 176, :_reduce_197,
6, 176, :_reduce_198,
5, 176, :_reduce_199,
5, 176, :_reduce_200,
5, 176, :_reduce_201,
5, 176, :_reduce_202,
4, 176, :_reduce_203,
3, 176, :_reduce_204,
3, 176, :_reduce_205,
3, 176, :_reduce_206,
3, 176, :_reduce_207,
3, 176, :_reduce_208,
3, 176, :_reduce_209,
3, 176, :_reduce_210,
3, 176, :_reduce_211,
3, 176, :_reduce_212,
4, 176, :_reduce_213,
2, 176, :_reduce_214,
2, 176, :_reduce_215,
3, 176, :_reduce_216,
3, 176, :_reduce_217,
3, 176, :_reduce_218,
3, 176, :_reduce_219,
3, 176, :_reduce_220,
3, 176, :_reduce_221,
3, 176, :_reduce_222,
3, 176, :_reduce_223,
3, 176, :_reduce_224,
3, 176, :_reduce_225,
3, 176, :_reduce_226,
3, 176, :_reduce_227,
3, 176, :_reduce_228,
2, 176, :_reduce_229,
2, 176, :_reduce_230,
3, 176, :_reduce_231,
3, 176, :_reduce_232,
3, 176, :_reduce_233,
3, 176, :_reduce_234,
3, 176, :_reduce_235,
6, 176, :_reduce_236,
1, 176, :_reduce_none,
1, 209, :_reduce_none,
1, 210, :_reduce_none,
2, 210, :_reduce_none,
4, 210, :_reduce_241,
2, 210, :_reduce_242,
3, 215, :_reduce_243,
0, 216, :_reduce_244,
1, 216, :_reduce_none,
0, 167, :_reduce_246,
1, 167, :_reduce_none,
2, 167, :_reduce_none,
4, 167, :_reduce_249,
2, 167, :_reduce_250,
1, 188, :_reduce_251,
2, 188, :_reduce_252,
2, 188, :_reduce_253,
4, 188, :_reduce_254,
1, 188, :_reduce_255,
0, 219, :_reduce_256,
2, 182, :_reduce_257,
2, 218, :_reduce_258,
2, 217, :_reduce_259,
0, 217, :_reduce_260,
1, 212, :_reduce_261,
2, 212, :_reduce_262,
3, 212, :_reduce_263,
4, 212, :_reduce_264,
1, 172, :_reduce_265,
1, 172, :_reduce_none,
3, 171, :_reduce_267,
4, 171, :_reduce_268,
2, 171, :_reduce_269,
1, 208, :_reduce_none,
1, 208, :_reduce_none,
1, 208, :_reduce_none,
1, 208, :_reduce_none,
1, 208, :_reduce_none,
1, 208, :_reduce_none,
1, 208, :_reduce_none,
1, 208, :_reduce_none,
1, 208, :_reduce_none,
1, 208, :_reduce_none,
1, 208, :_reduce_280,
0, 242, :_reduce_281,
4, 208, :_reduce_282,
0, 243, :_reduce_283,
0, 244, :_reduce_284,
6, 208, :_reduce_285,
0, 245, :_reduce_286,
4, 208, :_reduce_287,
3, 208, :_reduce_288,
3, 208, :_reduce_289,
2, 208, :_reduce_290,
3, 208, :_reduce_291,
3, 208, :_reduce_292,
1, 208, :_reduce_293,
4, 208, :_reduce_294,
3, 208, :_reduce_295,
1, 208, :_reduce_296,
5, 208, :_reduce_297,
4, 208, :_reduce_298,
3, 208, :_reduce_299,
2, 208, :_reduce_300,
1, 208, :_reduce_none,
2, 208, :_reduce_302,
2, 208, :_reduce_303,
6, 208, :_reduce_304,
6, 208, :_reduce_305,
0, 246, :_reduce_306,
0, 247, :_reduce_307,
7, 208, :_reduce_308,
0, 248, :_reduce_309,
0, 249, :_reduce_310,
7, 208, :_reduce_311,
5, 208, :_reduce_312,
4, 208, :_reduce_313,
0, 250, :_reduce_314,
0, 251, :_reduce_315,
9, 208, :_reduce_316,
0, 252, :_reduce_317,
6, 208, :_reduce_318,
0, 253, :_reduce_319,
7, 208, :_reduce_320,
0, 254, :_reduce_321,
5, 208, :_reduce_322,
0, 255, :_reduce_323,
6, 208, :_reduce_324,
0, 256, :_reduce_325,
0, 257, :_reduce_326,
9, 208, :_reduce_327,
1, 208, :_reduce_328,
1, 208, :_reduce_329,
1, 208, :_reduce_330,
1, 208, :_reduce_331,
1, 166, :_reduce_none,
1, 233, :_reduce_none,
1, 233, :_reduce_none,
2, 233, :_reduce_335,
1, 235, :_reduce_none,
1, 235, :_reduce_none,
1, 234, :_reduce_none,
5, 234, :_reduce_339,
1, 155, :_reduce_none,
2, 155, :_reduce_341,
1, 237, :_reduce_none,
1, 237, :_reduce_none,
1, 258, :_reduce_344,
3, 258, :_reduce_345,
1, 261, :_reduce_346,
3, 261, :_reduce_347,
1, 260, :_reduce_none,
4, 260, :_reduce_349,
6, 260, :_reduce_350,
3, 260, :_reduce_351,
5, 260, :_reduce_352,
2, 260, :_reduce_353,
4, 260, :_reduce_354,
1, 260, :_reduce_355,
3, 260, :_reduce_356,
4, 262, :_reduce_357,
2, 262, :_reduce_358,
2, 262, :_reduce_359,
1, 262, :_reduce_360,
2, 267, :_reduce_361,
0, 267, :_reduce_362,
6, 268, :_reduce_363,
8, 268, :_reduce_364,
4, 268, :_reduce_365,
6, 268, :_reduce_366,
4, 268, :_reduce_367,
2, 268, :_reduce_none,
6, 268, :_reduce_369,
2, 268, :_reduce_370,
4, 268, :_reduce_371,
6, 268, :_reduce_372,
2, 268, :_reduce_373,
4, 268, :_reduce_374,
2, 268, :_reduce_375,
4, 268, :_reduce_376,
1, 268, :_reduce_none,
0, 184, :_reduce_378,
1, 184, :_reduce_379,
3, 272, :_reduce_380,
1, 272, :_reduce_381,
4, 272, :_reduce_382,
1, 273, :_reduce_383,
4, 273, :_reduce_384,
1, 274, :_reduce_385,
3, 274, :_reduce_386,
1, 275, :_reduce_387,
1, 275, :_reduce_none,
0, 279, :_reduce_389,
0, 280, :_reduce_390,
4, 232, :_reduce_391,
4, 277, :_reduce_392,
1, 277, :_reduce_393,
3, 278, :_reduce_394,
3, 278, :_reduce_395,
0, 283, :_reduce_396,
5, 282, :_reduce_397,
2, 179, :_reduce_398,
4, 179, :_reduce_399,
5, 179, :_reduce_400,
5, 179, :_reduce_401,
2, 231, :_reduce_402,
4, 231, :_reduce_403,
4, 231, :_reduce_404,
3, 231, :_reduce_405,
3, 231, :_reduce_406,
3, 231, :_reduce_407,
2, 231, :_reduce_408,
1, 231, :_reduce_409,
4, 231, :_reduce_410,
0, 285, :_reduce_411,
5, 230, :_reduce_412,
0, 286, :_reduce_413,
5, 230, :_reduce_414,
5, 236, :_reduce_415,
1, 287, :_reduce_416,
1, 287, :_reduce_none,
6, 154, :_reduce_418,
0, 154, :_reduce_419,
1, 288, :_reduce_420,
1, 288, :_reduce_none,
1, 288, :_reduce_none,
2, 289, :_reduce_423,
1, 289, :_reduce_none,
2, 156, :_reduce_425,
1, 156, :_reduce_none,
1, 220, :_reduce_none,
1, 220, :_reduce_none,
1, 220, :_reduce_none,
1, 221, :_reduce_430,
1, 291, :_reduce_431,
2, 291, :_reduce_432,
3, 292, :_reduce_433,
1, 292, :_reduce_434,
1, 292, :_reduce_435,
3, 222, :_reduce_436,
4, 223, :_reduce_437,
3, 224, :_reduce_438,
0, 296, :_reduce_439,
3, 296, :_reduce_440,
1, 297, :_reduce_441,
2, 297, :_reduce_442,
3, 226, :_reduce_443,
0, 299, :_reduce_444,
3, 299, :_reduce_445,
3, 225, :_reduce_446,
3, 227, :_reduce_447,
0, 300, :_reduce_448,
3, 300, :_reduce_449,
0, 301, :_reduce_450,
3, 301, :_reduce_451,
0, 293, :_reduce_452,
2, 293, :_reduce_453,
0, 294, :_reduce_454,
2, 294, :_reduce_455,
0, 295, :_reduce_456,
2, 295, :_reduce_457,
1, 298, :_reduce_458,
2, 298, :_reduce_459,
0, 303, :_reduce_460,
4, 298, :_reduce_461,
1, 302, :_reduce_462,
1, 302, :_reduce_463,
1, 302, :_reduce_464,
1, 302, :_reduce_none,
1, 204, :_reduce_466,
3, 205, :_reduce_467,
1, 290, :_reduce_468,
2, 290, :_reduce_469,
1, 207, :_reduce_470,
1, 207, :_reduce_471,
1, 207, :_reduce_472,
1, 207, :_reduce_473,
1, 196, :_reduce_474,
1, 196, :_reduce_475,
1, 196, :_reduce_476,
1, 196, :_reduce_477,
1, 196, :_reduce_478,
1, 197, :_reduce_479,
1, 197, :_reduce_480,
1, 197, :_reduce_481,
1, 197, :_reduce_482,
1, 197, :_reduce_483,
1, 197, :_reduce_484,
1, 197, :_reduce_485,
1, 228, :_reduce_486,
1, 228, :_reduce_487,
1, 165, :_reduce_488,
1, 165, :_reduce_489,
1, 169, :_reduce_490,
1, 169, :_reduce_491,
1, 238, :_reduce_492,
0, 304, :_reduce_493,
4, 238, :_reduce_494,
2, 238, :_reduce_495,
3, 240, :_reduce_496,
0, 306, :_reduce_497,
3, 240, :_reduce_498,
4, 305, :_reduce_499,
2, 305, :_reduce_500,
2, 305, :_reduce_501,
1, 305, :_reduce_502,
2, 308, :_reduce_503,
0, 308, :_reduce_504,
6, 281, :_reduce_505,
8, 281, :_reduce_506,
4, 281, :_reduce_507,
6, 281, :_reduce_508,
4, 281, :_reduce_509,
6, 281, :_reduce_510,
2, 281, :_reduce_511,
4, 281, :_reduce_512,
6, 281, :_reduce_513,
2, 281, :_reduce_514,
4, 281, :_reduce_515,
2, 281, :_reduce_516,
4, 281, :_reduce_517,
1, 281, :_reduce_518,
0, 281, :_reduce_519,
1, 276, :_reduce_520,
1, 276, :_reduce_521,
1, 276, :_reduce_522,
1, 276, :_reduce_523,
1, 259, :_reduce_none,
1, 259, :_reduce_525,
1, 310, :_reduce_526,
1, 311, :_reduce_527,
3, 311, :_reduce_528,
1, 269, :_reduce_529,
3, 269, :_reduce_530,
1, 312, :_reduce_531,
2, 313, :_reduce_532,
1, 313, :_reduce_533,
2, 314, :_reduce_534,
1, 314, :_reduce_535,
1, 263, :_reduce_536,
3, 263, :_reduce_537,
1, 307, :_reduce_538,
3, 307, :_reduce_539,
1, 315, :_reduce_none,
1, 315, :_reduce_none,
2, 264, :_reduce_542,
1, 264, :_reduce_543,
3, 316, :_reduce_544,
3, 317, :_reduce_545,
1, 270, :_reduce_546,
3, 270, :_reduce_547,
1, 309, :_reduce_548,
3, 309, :_reduce_549,
1, 318, :_reduce_none,
1, 318, :_reduce_none,
2, 271, :_reduce_552,
1, 271, :_reduce_553,
1, 319, :_reduce_none,
1, 319, :_reduce_none,
2, 266, :_reduce_556,
2, 265, :_reduce_557,
0, 265, :_reduce_558,
1, 241, :_reduce_none,
3, 241, :_reduce_560,
0, 229, :_reduce_561,
2, 229, :_reduce_none,
1, 214, :_reduce_563,
3, 214, :_reduce_564,
3, 320, :_reduce_565,
2, 320, :_reduce_566,
4, 320, :_reduce_567,
2, 320, :_reduce_568,
1, 187, :_reduce_none,
1, 187, :_reduce_none,
1, 187, :_reduce_none,
1, 181, :_reduce_none,
1, 181, :_reduce_none,
1, 181, :_reduce_none,
1, 181, :_reduce_none,
1, 284, :_reduce_none,
1, 284, :_reduce_none,
1, 284, :_reduce_none,
1, 180, :_reduce_none,
1, 180, :_reduce_none,
0, 148, :_reduce_none,
1, 148, :_reduce_none,
0, 175, :_reduce_none,
1, 175, :_reduce_none,
2, 191, :_reduce_585,
2, 168, :_reduce_586,
0, 213, :_reduce_none,
1, 213, :_reduce_none,
1, 213, :_reduce_none,
1, 239, :_reduce_590,
1, 239, :_reduce_none,
1, 150, :_reduce_none,
2, 150, :_reduce_none,
0, 211, :_reduce_594 ]
racc_reduce_n = 595
racc_shift_n = 1022
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,
:tUMINUS_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,
:tEQL => 142,
:tLOWEST => 143 }
racc_nt_base = 144
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",
"tUMINUS_NUM",
"tPOW",
"tCMP",
"tEQ",
"tEQQ",
"tNEQ",
"tGEQ",
"tLEQ",
"tANDOP",
"tOROP",
"tMATCH",
"tNMATCH",
"tDOT",
"tDOT2",
"tDOT3",
"tAREF",
"tASET",
"tLSHFT",
"tRSHFT",
"tCOLON2",
"tCOLON3",
"tOP_ASGN",
"tASSOC",
"tLPAREN",
"tLPAREN2",
"tRPAREN",
"tLPAREN_ARG",
"tLBRACK",
"tLBRACK2",
"tRBRACK",
"tLBRACE",
"tLBRACE_ARG",
"tSTAR",
"tSTAR2",
"tAMPER",
"tAMPER2",
"tTILDE",
"tPERCENT",
"tDIVIDE",
"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",
"tEQL",
"tLOWEST",
"$start",
"program",
"top_compstmt",
"top_stmts",
"opt_terms",
"top_stmt",
"terms",
"stmt",
"bodystmt",
"compstmt",
"opt_rescue",
"opt_else",
"opt_ensure",
"stmts",
"stmt_or_begin",
"fitem",
"undef_list",
"expr_value",
"command_asgn",
"mlhs",
"command_call",
"var_lhs",
"primary_value",
"opt_call_args",
"rbracket",
"backref",
"lhs",
"mrhs",
"mrhs_arg",
"expr",
"@1",
"opt_nl",
"arg",
"command",
"block_command",
"block_call",
"dot_or_colon",
"operation2",
"command_args",
"cmd_brace_block",
"opt_block_param",
"fcall",
"@2",
"operation",
"call_args",
"mlhs_basic",
"mlhs_inner",
"rparen",
"mlhs_head",
"mlhs_item",
"mlhs_node",
"mlhs_post",
"user_variable",
"keyword_variable",
"cname",
"cpath",
"fname",
"op",
"reswords",
"fsym",
"symbol",
"dsym",
"@3",
"simple_numeric",
"primary",
"arg_value",
"aref_args",
"none",
"args",
"trailer",
"assocs",
"paren_args",
"opt_paren_args",
"opt_block_arg",
"block_arg",
"@4",
"literal",
"strings",
"xstring",
"regexp",
"words",
"qwords",
"symbols",
"qsymbols",
"var_ref",
"assoc_list",
"brace_block",
"method_call",
"lambda",
"then",
"if_tail",
"do",
"case_body",
"for_var",
"superclass",
"term",
"f_arglist",
"singleton",
"@5",
"@6",
"@7",
"@8",
"@9",
"@10",
"@11",
"@12",
"@13",
"@14",
"@15",
"@16",
"@17",
"@18",
"@19",
"@20",
"f_marg",
"f_norm_arg",
"f_margs",
"f_marg_list",
"block_args_tail",
"f_block_kwarg",
"f_kwrest",
"opt_f_block_arg",
"f_block_arg",
"opt_block_args_tail",
"block_param",
"f_arg",
"f_block_optarg",
"f_rest_arg",
"block_param_def",
"opt_bv_decl",
"bv_decls",
"bvar",
"f_bad_arg",
"f_larglist",
"lambda_body",
"@21",
"@22",
"f_args",
"do_block",
"@23",
"operation3",
"@24",
"@25",
"cases",
"exc_list",
"exc_var",
"numeric",
"string",
"string1",
"string_contents",
"xstring_contents",
"regexp_contents",
"word_list",
"word",
"string_content",
"symbol_list",
"qword_list",
"qsym_list",
"string_dvar",
"@26",
"@27",
"args_tail",
"@28",
"f_kwarg",
"opt_args_tail",
"f_optarg",
"f_arg_asgn",
"f_arg_item",
"f_label",
"f_kw",
"f_block_kw",
"kwrest_mark",
"f_opt",
"f_block_opt",
"restarg_mark",
"blkarg_mark",
"assoc" ]
Racc_debug_parser = false
##### State transition tables end #####
# reduce 0 omitted
# reduce 1 omitted
def _reduce_2(val, _values, result)
result = @builder.compstmt(val[0])
result
end
def _reduce_3(val, _values, result)
result = []
result
end
def _reduce_4(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_5(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_6(val, _values, result)
result = [ val[1] ]
result
end
# reduce 7 omitted
def _reduce_8(val, _values, result)
result = @builder.preexe(val[0], val[1], val[2], val[3])
result
end
def _reduce_9(val, _values, result)
rescue_bodies = val[1]
else_t, else_ = val[2]
ensure_t, ensure_ = val[3]
if rescue_bodies.empty? && !else_.nil?
diagnostic :warning, :useless_else, nil, else_t
end
result = @builder.begin_body(val[0],
rescue_bodies,
else_t, else_,
ensure_t, ensure_)
result
end
def _reduce_10(val, _values, result)
result = @builder.compstmt(val[0])
result
end
def _reduce_11(val, _values, result)
result = []
result
end
def _reduce_12(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_13(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_14(val, _values, result)
result = [ val[1] ]
result
end
# reduce 15 omitted
def _reduce_16(val, _values, result)
diagnostic :error, :begin_in_method, nil, val[0]
result
end
def _reduce_17(val, _values, result)
@lexer.state = :expr_fname
result
end
def _reduce_18(val, _values, result)
result = @builder.alias(val[0], val[1], val[3])
result
end
def _reduce_19(val, _values, result)
result = @builder.alias(val[0],
@builder.gvar(val[1]),
@builder.gvar(val[2]))
result
end
def _reduce_20(val, _values, result)
result = @builder.alias(val[0],
@builder.gvar(val[1]),
@builder.back_ref(val[2]))
result
end
def _reduce_21(val, _values, result)
diagnostic :error, :nth_ref_alias, nil, val[2]
result
end
def _reduce_22(val, _values, result)
result = @builder.undef_method(val[0], val[1])
result
end
def _reduce_23(val, _values, result)
result = @builder.condition_mod(val[0], nil,
val[1], val[2])
result
end
def _reduce_24(val, _values, result)
result = @builder.condition_mod(nil, val[0],
val[1], val[2])
result
end
def _reduce_25(val, _values, result)
result = @builder.loop_mod(:while, val[0], val[1], val[2])
result
end
def _reduce_26(val, _values, result)
result = @builder.loop_mod(:until, val[0], val[1], val[2])
result
end
def _reduce_27(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_28(val, _values, result)
result = @builder.postexe(val[0], val[1], val[2], val[3])
result
end
# reduce 29 omitted
def _reduce_30(val, _values, result)
result = @builder.multi_assign(val[0], val[1], val[2])
result
end
def _reduce_31(val, _values, result)
result = @builder.op_assign(val[0], val[1], val[2])
result
end
def _reduce_32(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_33(val, _values, result)
result = @builder.op_assign(
@builder.call_method(
val[0], val[1], val[2]),
val[3], val[4])
result
end
def _reduce_34(val, _values, result)
result = @builder.op_assign(
@builder.call_method(
val[0], val[1], val[2]),
val[3], val[4])
result
end
def _reduce_35(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_36(val, _values, result)
result = @builder.op_assign(
@builder.call_method(
val[0], val[1], val[2]),
val[3], val[4])
result
end
def _reduce_37(val, _values, result)
@builder.op_assign(val[0], val[1], val[2])
result
end
def _reduce_38(val, _values, result)
result = @builder.assign(val[0], val[1],
@builder.array(nil, val[2], nil))
result
end
def _reduce_39(val, _values, result)
result = @builder.multi_assign(val[0], val[1], val[2])
result
end
# reduce 40 omitted
def _reduce_41(val, _values, result)
result = @builder.assign(val[0], val[1], val[2])
result
end
def _reduce_42(val, _values, result)
result = @builder.assign(val[0], val[1], val[2])
result
end
# reduce 43 omitted
def _reduce_44(val, _values, result)
result = @builder.logical_op(:and, val[0], val[1], val[2])
result
end
def _reduce_45(val, _values, result)
result = @builder.logical_op(:or, val[0], val[1], val[2])
result
end
def _reduce_46(val, _values, result)
result = @builder.not_op(val[0], nil, val[2], nil)
result
end
def _reduce_47(val, _values, result)
result = @builder.not_op(val[0], nil, val[1], nil)
result
end
# reduce 48 omitted
# reduce 49 omitted
# reduce 50 omitted
# reduce 51 omitted
# reduce 52 omitted
def _reduce_53(val, _values, result)
result = @builder.call_method(val[0], val[1], val[2],
nil, val[3], nil)
result
end
def _reduce_54(val, _values, result)
@static_env.extend_dynamic
result
end
def _reduce_55(val, _values, result)
result = [ val[0], val[2], val[3], val[4] ]
@static_env.unextend
result
end
# reduce 56 omitted
def _reduce_57(val, _values, result)
result = @builder.call_method(nil, nil, val[0],
nil, val[1], nil)
result
end
def _reduce_58(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_59(val, _values, result)
result = @builder.call_method(val[0], val[1], val[2],
nil, val[3], nil)
result
end
def _reduce_60(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_61(val, _values, result)
result = @builder.call_method(val[0], val[1], val[2],
nil, val[3], nil)
result
end
def _reduce_62(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_63(val, _values, result)
result = @builder.keyword_cmd(:super, val[0],
nil, val[1], nil)
result
end
def _reduce_64(val, _values, result)
result = @builder.keyword_cmd(:yield, val[0],
nil, val[1], nil)
result
end
def _reduce_65(val, _values, result)
result = @builder.keyword_cmd(:return, val[0],
nil, val[1], nil)
result
end
def _reduce_66(val, _values, result)
result = @builder.keyword_cmd(:break, val[0],
nil, val[1], nil)
result
end
def _reduce_67(val, _values, result)
result = @builder.keyword_cmd(:next, val[0],
nil, val[1], nil)
result
end
def _reduce_68(val, _values, result)
result = @builder.multi_lhs(nil, val[0], nil)
result
end
def _reduce_69(val, _values, result)
result = @builder.begin(val[0], val[1], val[2])
result
end
def _reduce_70(val, _values, result)
result = @builder.multi_lhs(nil, val[0], nil)
result
end
def _reduce_71(val, _values, result)
result = @builder.multi_lhs(val[0], val[1], val[2])
result
end
# reduce 72 omitted
def _reduce_73(val, _values, result)
result = val[0].
push(val[1])
result
end
def _reduce_74(val, _values, result)
result = val[0].
push(@builder.splat(val[1], val[2]))
result
end
def _reduce_75(val, _values, result)
result = val[0].
push(@builder.splat(val[1], val[2])).
concat(val[4])
result
end
def _reduce_76(val, _values, result)
result = val[0].
push(@builder.splat(val[1]))
result
end
def _reduce_77(val, _values, result)
result = val[0].
push(@builder.splat(val[1])).
concat(val[3])
result
end
def _reduce_78(val, _values, result)
result = [ @builder.splat(val[0], val[1]) ]
result
end
def _reduce_79(val, _values, result)
result = [ @builder.splat(val[0], val[1]),
*val[3] ]
result
end
def _reduce_80(val, _values, result)
result = [ @builder.splat(val[0]) ]
result
end
def _reduce_81(val, _values, result)
result = [ @builder.splat(val[0]),
*val[2] ]
result
end
# reduce 82 omitted
def _reduce_83(val, _values, result)
result = @builder.begin(val[0], val[1], val[2])
result
end
def _reduce_84(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_85(val, _values, result)
result = val[0] << val[1]
result
end
def _reduce_86(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_87(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_88(val, _values, result)
result = @builder.assignable(val[0])
result
end
def _reduce_89(val, _values, result)
result = @builder.assignable(val[0])
result
end
def _reduce_90(val, _values, result)
result = @builder.index_asgn(val[0], val[1], val[2], val[3])
result
end
def _reduce_91(val, _values, result)
result = @builder.attr_asgn(val[0], val[1], val[2])
result
end
def _reduce_92(val, _values, result)
result = @builder.attr_asgn(val[0], val[1], val[2])
result
end
def _reduce_93(val, _values, result)
result = @builder.attr_asgn(val[0], val[1], val[2])
result
end
def _reduce_94(val, _values, result)
result = @builder.assignable(
@builder.const_fetch(val[0], val[1], val[2]))
result
end
def _reduce_95(val, _values, result)
result = @builder.assignable(
@builder.const_global(val[0], val[1]))
result
end
def _reduce_96(val, _values, result)
result = @builder.assignable(val[0])
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)
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)
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)
diagnostic :error, :module_name_const, nil, val[0]
result
end
# reduce 107 omitted
def _reduce_108(val, _values, result)
result = @builder.const_global(val[0], val[1])
result
end
def _reduce_109(val, _values, result)
result = @builder.const(val[0])
result
end
def _reduce_110(val, _values, result)
result = @builder.const_fetch(val[0], val[1], val[2])
result
end
# reduce 111 omitted
# reduce 112 omitted
# reduce 113 omitted
# reduce 114 omitted
# reduce 115 omitted
def _reduce_116(val, _values, result)
result = @builder.symbol(val[0])
result
end
# reduce 117 omitted
# reduce 118 omitted
# reduce 119 omitted
def _reduce_120(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_121(val, _values, result)
@lexer.state = :expr_fname
result
end
def _reduce_122(val, _values, result)
result = val[0] << val[3]
result
end
# reduce 123 omitted
# reduce 124 omitted
# reduce 125 omitted
# reduce 126 omitted
# reduce 127 omitted
# reduce 128 omitted
# reduce 129 omitted
# 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
def _reduce_194(val, _values, result)
result = @builder.assign(val[0], val[1], val[2])
result
end
def _reduce_195(val, _values, result)
rescue_body = @builder.rescue_body(val[3],
nil, nil, nil,
nil, val[4])
rescue_ = @builder.begin_body(val[2], [ rescue_body ])
result = @builder.assign(val[0], val[1], rescue_)
result
end
def _reduce_196(val, _values, result)
result = @builder.op_assign(val[0], val[1], val[2])
result
end
def _reduce_197(val, _values, result)
rescue_body = @builder.rescue_body(val[3],
nil, nil, nil,
nil, val[4])
rescue_ = @builder.begin_body(val[2], [ rescue_body ])
result = @builder.op_assign(val[0], val[1], rescue_)
result
end
def _reduce_198(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_199(val, _values, result)
result = @builder.op_assign(
@builder.call_method(
val[0], val[1], val[2]),
val[3], val[4])
result
end
def _reduce_200(val, _values, result)
result = @builder.op_assign(
@builder.call_method(
val[0], val[1], val[2]),
val[3], val[4])
result
end
def _reduce_201(val, _values, result)
result = @builder.op_assign(
@builder.call_method(
val[0], val[1], val[2]),
val[3], val[4])
result
end
def _reduce_202(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_203(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_204(val, _values, result)
result = @builder.op_assign(val[0], val[1], val[2])
result
end
def _reduce_205(val, _values, result)
result = @builder.range_inclusive(val[0], val[1], val[2])
result
end
def _reduce_206(val, _values, result)
result = @builder.range_exclusive(val[0], val[1], val[2])
result
end
def _reduce_207(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_208(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_209(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_210(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_211(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_212(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_213(val, _values, result)
result = @builder.unary_op(val[0],
@builder.binary_op(
val[1], val[2], val[3]))
result
end
def _reduce_214(val, _values, result)
result = @builder.unary_op(val[0], val[1])
result
end
def _reduce_215(val, _values, result)
result = @builder.unary_op(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.binary_op(val[0], val[1], val[2])
result
end
def _reduce_223(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_224(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_225(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_226(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_227(val, _values, result)
result = @builder.match_op(val[0], val[1], val[2])
result
end
def _reduce_228(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_229(val, _values, result)
result = @builder.not_op(val[0], nil, val[1], nil)
result
end
def _reduce_230(val, _values, result)
result = @builder.unary_op(val[0], val[1])
result
end
def _reduce_231(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_232(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_233(val, _values, result)
result = @builder.logical_op(:and, val[0], val[1], val[2])
result
end
def _reduce_234(val, _values, result)
result = @builder.logical_op(:or, val[0], val[1], val[2])
result
end
def _reduce_235(val, _values, result)
result = @builder.keyword_cmd(:defined?, val[0], nil, [ val[2] ], nil)
result
end
def _reduce_236(val, _values, result)
result = @builder.ternary(val[0], val[1],
val[2], val[4], val[5])
result
end
# reduce 237 omitted
# reduce 238 omitted
# reduce 239 omitted
# reduce 240 omitted
def _reduce_241(val, _values, result)
result = val[0] << @builder.associate(nil, val[2], nil)
result
end
def _reduce_242(val, _values, result)
result = [ @builder.associate(nil, val[0], nil) ]
result
end
def _reduce_243(val, _values, result)
result = val
result
end
def _reduce_244(val, _values, result)
result = [ nil, [], nil ]
result
end
# reduce 245 omitted
def _reduce_246(val, _values, result)
result = []
result
end
# reduce 247 omitted
# reduce 248 omitted
def _reduce_249(val, _values, result)
result = val[0] << @builder.associate(nil, val[2], nil)
result
end
def _reduce_250(val, _values, result)
result = [ @builder.associate(nil, val[0], nil) ]
result
end
def _reduce_251(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_252(val, _values, result)
result = val[0].concat(val[1])
result
end
def _reduce_253(val, _values, result)
result = [ @builder.associate(nil, val[0], nil) ]
result.concat(val[1])
result
end
def _reduce_254(val, _values, result)
assocs = @builder.associate(nil, val[2], nil)
result = val[0] << assocs
result.concat(val[3])
result
end
def _reduce_255(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_256(val, _values, result)
result = @lexer.cmdarg.dup
@lexer.cmdarg.push(true)
result
end
def _reduce_257(val, _values, result)
@lexer.cmdarg = val[0]
result = val[1]
result
end
def _reduce_258(val, _values, result)
result = @builder.block_pass(val[0], val[1])
result
end
def _reduce_259(val, _values, result)
result = [ val[1] ]
result
end
def _reduce_260(val, _values, result)
result = []
result
end
def _reduce_261(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_262(val, _values, result)
result = [ @builder.splat(val[0], val[1]) ]
result
end
def _reduce_263(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_264(val, _values, result)
result = val[0] << @builder.splat(val[2], val[3])
result
end
def _reduce_265(val, _values, result)
result = @builder.array(nil, val[0], nil)
result
end
# reduce 266 omitted
def _reduce_267(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_268(val, _values, result)
result = val[0] << @builder.splat(val[2], val[3])
result
end
def _reduce_269(val, _values, result)
result = [ @builder.splat(val[0], val[1]) ]
result
end
# reduce 270 omitted
# reduce 271 omitted
# reduce 272 omitted
# reduce 273 omitted
# reduce 274 omitted
# reduce 275 omitted
# reduce 276 omitted
# reduce 277 omitted
# reduce 278 omitted
# reduce 279 omitted
def _reduce_280(val, _values, result)
result = @builder.call_method(nil, nil, val[0])
result
end
def _reduce_281(val, _values, result)
result = @lexer.cmdarg.dup
@lexer.cmdarg.clear
result
end
def _reduce_282(val, _values, result)
@lexer.cmdarg = val[1]
result = @builder.begin_keyword(val[0], val[2], val[3])
result
end
def _reduce_283(val, _values, result)
result = @lexer.cmdarg.dup
@lexer.cmdarg.clear
result
end
def _reduce_284(val, _values, result)
@lexer.state = :expr_endarg
result
end
def _reduce_285(val, _values, result)
@lexer.cmdarg = val[1]
result = @builder.begin(val[0], val[2], val[5])
result
end
def _reduce_286(val, _values, result)
@lexer.state = :expr_endarg
result
end
def _reduce_287(val, _values, result)
result = @builder.begin(val[0], nil, val[3])
result
end
def _reduce_288(val, _values, result)
result = @builder.begin(val[0], val[1], val[2])
result
end
def _reduce_289(val, _values, result)
result = @builder.const_fetch(val[0], val[1], val[2])
result
end
def _reduce_290(val, _values, result)
result = @builder.const_global(val[0], val[1])
result
end
def _reduce_291(val, _values, result)
result = @builder.array(val[0], val[1], val[2])
result
end
def _reduce_292(val, _values, result)
result = @builder.associate(val[0], val[1], val[2])
result
end
def _reduce_293(val, _values, result)
result = @builder.keyword_cmd(:return, val[0])
result
end
def _reduce_294(val, _values, result)
result = @builder.keyword_cmd(:yield, val[0], val[1], val[2], val[3])
result
end
def _reduce_295(val, _values, result)
result = @builder.keyword_cmd(:yield, val[0], val[1], [], val[2])
result
end
def _reduce_296(val, _values, result)
result = @builder.keyword_cmd(:yield, val[0])
result
end
def _reduce_297(val, _values, result)
result = @builder.keyword_cmd(:defined?, val[0],
val[2], [ val[3] ], val[4])
result
end
def _reduce_298(val, _values, result)
result = @builder.not_op(val[0], val[1], val[2], val[3])
result
end
def _reduce_299(val, _values, result)
result = @builder.not_op(val[0], val[1], nil, val[2])
result
end
def _reduce_300(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 301 omitted
def _reduce_302(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_303(val, _values, result)
lambda_call = @builder.call_lambda(val[0])
args, (begin_t, body, end_t) = val[1]
result = @builder.block(lambda_call,
begin_t, args, body, end_t)
result
end
def _reduce_304(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_305(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_306(val, _values, result)
@lexer.cond.push(true)
result
end
def _reduce_307(val, _values, result)
@lexer.cond.pop
result
end
def _reduce_308(val, _values, result)
result = @builder.loop(:while, val[0], val[2], val[3],
val[5], val[6])
result
end
def _reduce_309(val, _values, result)
@lexer.cond.push(true)
result
end
def _reduce_310(val, _values, result)
@lexer.cond.pop
result
end
def _reduce_311(val, _values, result)
result = @builder.loop(:until, val[0], val[2], val[3],
val[5], val[6])
result
end
def _reduce_312(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_313(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_314(val, _values, result)
@lexer.cond.push(true)
result
end
def _reduce_315(val, _values, result)
@lexer.cond.pop
result
end
def _reduce_316(val, _values, result)
result = @builder.for(val[0], val[1],
val[2], val[4],
val[5], val[7], val[8])
result
end
def _reduce_317(val, _values, result)
@static_env.extend_static
@lexer.push_cmdarg
result
end
def _reduce_318(val, _values, result)
if in_def?
diagnostic :error, :class_in_def, nil, val[0]
end
lt_t, superclass = val[2]
result = @builder.def_class(val[0], val[1],
lt_t, superclass,
val[4], val[5])
@lexer.pop_cmdarg
@static_env.unextend
result
end
def _reduce_319(val, _values, result)
result = @def_level
@def_level = 0
@static_env.extend_static
@lexer.push_cmdarg
result
end
def _reduce_320(val, _values, result)
result = @builder.def_sclass(val[0], val[1], val[2],
val[5], val[6])
@lexer.pop_cmdarg
@static_env.unextend
@def_level = val[4]
result
end
def _reduce_321(val, _values, result)
@static_env.extend_static
@lexer.push_cmdarg
result
end
def _reduce_322(val, _values, result)
if in_def?
diagnostic :error, :module_in_def, nil, val[0]
end
result = @builder.def_module(val[0], val[1],
val[3], val[4])
@lexer.pop_cmdarg
@static_env.unextend
result
end
def _reduce_323(val, _values, result)
@def_level += 1
@static_env.extend_static
@lexer.push_cmdarg
result
end
def _reduce_324(val, _values, result)
result = @builder.def_method(val[0], val[1],
val[3], val[4], val[5])
@lexer.pop_cmdarg
@static_env.unextend
@def_level -= 1
result
end
def _reduce_325(val, _values, result)
@lexer.state = :expr_fname
result
end
def _reduce_326(val, _values, result)
@def_level += 1
@static_env.extend_static
@lexer.push_cmdarg
result
end
def _reduce_327(val, _values, result)
result = @builder.def_singleton(val[0], val[1], val[2],
val[4], val[6], val[7], val[8])
@lexer.pop_cmdarg
@static_env.unextend
@def_level -= 1
result
end
def _reduce_328(val, _values, result)
result = @builder.keyword_cmd(:break, val[0])
result
end
def _reduce_329(val, _values, result)
result = @builder.keyword_cmd(:next, val[0])
result
end
def _reduce_330(val, _values, result)
result = @builder.keyword_cmd(:redo, val[0])
result
end
def _reduce_331(val, _values, result)
result = @builder.keyword_cmd(:retry, val[0])
result
end
# reduce 332 omitted
# reduce 333 omitted
# reduce 334 omitted
def _reduce_335(val, _values, result)
result = val[1]
result
end
# reduce 336 omitted
# reduce 337 omitted
# reduce 338 omitted
def _reduce_339(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 340 omitted
def _reduce_341(val, _values, result)
result = val
result
end
# reduce 342 omitted
# reduce 343 omitted
def _reduce_344(val, _values, result)
result = @builder.arg(val[0])
result
end
def _reduce_345(val, _values, result)
result = @builder.multi_lhs(val[0], val[1], val[2])
result
end
def _reduce_346(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_347(val, _values, result)
result = val[0] << val[2]
result
end
# reduce 348 omitted
def _reduce_349(val, _values, result)
result = val[0].
push(@builder.restarg(val[2], val[3]))
result
end
def _reduce_350(val, _values, result)
result = val[0].
push(@builder.restarg(val[2], val[3])).
concat(val[5])
result
end
def _reduce_351(val, _values, result)
result = val[0].
push(@builder.restarg(val[2]))
result
end
def _reduce_352(val, _values, result)
result = val[0].
push(@builder.restarg(val[2])).
concat(val[4])
result
end
def _reduce_353(val, _values, result)
result = [ @builder.restarg(val[0], val[1]) ]
result
end
def _reduce_354(val, _values, result)
result = [ @builder.restarg(val[0], val[1]),
*val[3] ]
result
end
def _reduce_355(val, _values, result)
result = [ @builder.restarg(val[0]) ]
result
end
def _reduce_356(val, _values, result)
result = [ @builder.restarg(val[0]),
*val[2] ]
result
end
def _reduce_357(val, _values, result)
result = val[0].concat(val[2]).concat(val[3])
result
end
def _reduce_358(val, _values, result)
result = val[0].concat(val[1])
result
end
def _reduce_359(val, _values, result)
result = val[0].concat(val[1])
result
end
def _reduce_360(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_361(val, _values, result)
result = val[1]
result
end
def _reduce_362(val, _values, result)
result = []
result
end
def _reduce_363(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
def _reduce_364(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[6]).
concat(val[7])
result
end
def _reduce_365(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
def _reduce_366(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
def _reduce_367(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
# reduce 368 omitted
def _reduce_369(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
def _reduce_370(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_371(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
def _reduce_372(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
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].
concat(val[2]).
concat(val[3])
result
end
def _reduce_375(val, _values, result)
result = val[0].
concat(val[1])
result
end
def _reduce_376(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
# reduce 377 omitted
def _reduce_378(val, _values, result)
result = @builder.args(nil, [], nil)
result
end
def _reduce_379(val, _values, result)
@lexer.state = :expr_value
result
end
def _reduce_380(val, _values, result)
result = @builder.args(val[0], val[1], val[2])
result
end
def _reduce_381(val, _values, result)
result = @builder.args(val[0], [], val[0])
result
end
def _reduce_382(val, _values, result)
result = @builder.args(val[0], val[1].concat(val[2]), val[3])
result
end
def _reduce_383(val, _values, result)
result = []
result
end
def _reduce_384(val, _values, result)
result = val[2]
result
end
def _reduce_385(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_386(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_387(val, _values, result)
@static_env.declare val[0][0]
result = @builder.shadowarg(val[0])
result
end
# reduce 388 omitted
def _reduce_389(val, _values, result)
@static_env.extend_dynamic
result
end
def _reduce_390(val, _values, result)
result = @lexer.cmdarg.dup
@lexer.cmdarg.clear
result
end
def _reduce_391(val, _values, result)
@lexer.cmdarg = val[2]
@lexer.cmdarg.lexpop
result = [ val[1], val[3] ]
@static_env.unextend
result
end
def _reduce_392(val, _values, result)
result = @builder.args(val[0], val[1].concat(val[2]), val[3])
result
end
def _reduce_393(val, _values, result)
result = @builder.args(nil, val[0], nil)
result
end
def _reduce_394(val, _values, result)
result = [ val[0], val[1], val[2] ]
result
end
def _reduce_395(val, _values, result)
result = [ val[0], val[1], val[2] ]
result
end
def _reduce_396(val, _values, result)
@static_env.extend_dynamic
result
end
def _reduce_397(val, _values, result)
result = [ val[0], val[2], val[3], val[4] ]
@static_env.unextend
result
end
def _reduce_398(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_399(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_400(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_401(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_402(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_403(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_404(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_405(val, _values, result)
result = @builder.call_method(val[0], val[1], val[2])
result
end
def _reduce_406(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_407(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_408(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_409(val, _values, result)
result = @builder.keyword_cmd(:zsuper, val[0])
result
end
def _reduce_410(val, _values, result)
result = @builder.index(val[0], val[1], val[2], val[3])
result
end
def _reduce_411(val, _values, result)
@static_env.extend_dynamic
result
end
def _reduce_412(val, _values, result)
result = [ val[0], val[2], val[3], val[4] ]
@static_env.unextend
result
end
def _reduce_413(val, _values, result)
@static_env.extend_dynamic
result
end
def _reduce_414(val, _values, result)
result = [ val[0], val[2], val[3], val[4] ]
@static_env.unextend
result
end
def _reduce_415(val, _values, result)
result = [ @builder.when(val[0], val[1], val[2], val[3]),
*val[4] ]
result
end
def _reduce_416(val, _values, result)
result = [ val[0] ]
result
end
# reduce 417 omitted
def _reduce_418(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_419(val, _values, result)
result = []
result
end
def _reduce_420(val, _values, result)
result = [ val[0] ]
result
end
# reduce 421 omitted
# reduce 422 omitted
def _reduce_423(val, _values, result)
result = [ val[0], val[1] ]
result
end
# reduce 424 omitted
def _reduce_425(val, _values, result)
result = [ val[0], val[1] ]
result
end
# reduce 426 omitted
# reduce 427 omitted
# reduce 428 omitted
# reduce 429 omitted
def _reduce_430(val, _values, result)
result = @builder.string_compose(nil, val[0], nil)
result
end
def _reduce_431(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_432(val, _values, result)
result = val[0] << val[1]
result
end
def _reduce_433(val, _values, result)
result = @builder.string_compose(val[0], val[1], val[2])
result
end
def _reduce_434(val, _values, result)
result = @builder.string(val[0])
result
end
def _reduce_435(val, _values, result)
result = @builder.character(val[0])
result
end
def _reduce_436(val, _values, result)
result = @builder.xstring_compose(val[0], val[1], val[2])
result
end
def _reduce_437(val, _values, result)
opts = @builder.regexp_options(val[3])
result = @builder.regexp_compose(val[0], val[1], val[2], opts)
result
end
def _reduce_438(val, _values, result)
result = @builder.words_compose(val[0], val[1], val[2])
result
end
def _reduce_439(val, _values, result)
result = []
result
end
def _reduce_440(val, _values, result)
result = val[0] << @builder.word(val[1])
result
end
def _reduce_441(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_442(val, _values, result)
result = val[0] << val[1]
result
end
def _reduce_443(val, _values, result)
result = @builder.symbols_compose(val[0], val[1], val[2])
result
end
def _reduce_444(val, _values, result)
result = []
result
end
def _reduce_445(val, _values, result)
result = val[0] << @builder.word(val[1])
result
end
def _reduce_446(val, _values, result)
result = @builder.words_compose(val[0], val[1], val[2])
result
end
def _reduce_447(val, _values, result)
result = @builder.symbols_compose(val[0], val[1], val[2])
result
end
def _reduce_448(val, _values, result)
result = []
result
end
def _reduce_449(val, _values, result)
result = val[0] << @builder.string_internal(val[1])
result
end
def _reduce_450(val, _values, result)
result = []
result
end
def _reduce_451(val, _values, result)
result = val[0] << @builder.symbol_internal(val[1])
result
end
def _reduce_452(val, _values, result)
result = []
result
end
def _reduce_453(val, _values, result)
result = val[0] << val[1]
result
end
def _reduce_454(val, _values, result)
result = []
result
end
def _reduce_455(val, _values, result)
result = val[0] << val[1]
result
end
def _reduce_456(val, _values, result)
result = []
result
end
def _reduce_457(val, _values, result)
result = val[0] << val[1]
result
end
def _reduce_458(val, _values, result)
result = @builder.string_internal(val[0])
result
end
def _reduce_459(val, _values, result)
result = val[1]
result
end
def _reduce_460(val, _values, result)
@lexer.cond.push(false)
@lexer.cmdarg.push(false)
result
end
def _reduce_461(val, _values, result)
@lexer.cond.lexpop
@lexer.cmdarg.lexpop
result = @builder.begin(val[0], val[2], val[3])
result
end
def _reduce_462(val, _values, result)
result = @builder.gvar(val[0])
result
end
def _reduce_463(val, _values, result)
result = @builder.ivar(val[0])
result
end
def _reduce_464(val, _values, result)
result = @builder.cvar(val[0])
result
end
# reduce 465 omitted
def _reduce_466(val, _values, result)
result = @builder.symbol(val[0])
result
end
def _reduce_467(val, _values, result)
result = @builder.symbol_compose(val[0], val[1], val[2])
result
end
def _reduce_468(val, _values, result)
result = val[0]
result
end
def _reduce_469(val, _values, result)
result = @builder.negate(val[0], val[1])
result
end
def _reduce_470(val, _values, result)
result = @builder.integer(val[0])
result
end
def _reduce_471(val, _values, result)
result = @builder.float(val[0])
result
end
def _reduce_472(val, _values, result)
result = @builder.rational(val[0])
result
end
def _reduce_473(val, _values, result)
result = @builder.complex(val[0])
result
end
def _reduce_474(val, _values, result)
result = @builder.ident(val[0])
result
end
def _reduce_475(val, _values, result)
result = @builder.ivar(val[0])
result
end
def _reduce_476(val, _values, result)
result = @builder.gvar(val[0])
result
end
def _reduce_477(val, _values, result)
result = @builder.const(val[0])
result
end
def _reduce_478(val, _values, result)
result = @builder.cvar(val[0])
result
end
def _reduce_479(val, _values, result)
result = @builder.nil(val[0])
result
end
def _reduce_480(val, _values, result)
result = @builder.self(val[0])
result
end
def _reduce_481(val, _values, result)
result = @builder.true(val[0])
result
end
def _reduce_482(val, _values, result)
result = @builder.false(val[0])
result
end
def _reduce_483(val, _values, result)
result = @builder.__FILE__(val[0])
result
end
def _reduce_484(val, _values, result)
result = @builder.__LINE__(val[0])
result
end
def _reduce_485(val, _values, result)
result = @builder.__ENCODING__(val[0])
result
end
def _reduce_486(val, _values, result)
result = @builder.accessible(val[0])
result
end
def _reduce_487(val, _values, result)
result = @builder.accessible(val[0])
result
end
def _reduce_488(val, _values, result)
result = @builder.assignable(val[0])
result
end
def _reduce_489(val, _values, result)
result = @builder.assignable(val[0])
result
end
def _reduce_490(val, _values, result)
result = @builder.nth_ref(val[0])
result
end
def _reduce_491(val, _values, result)
result = @builder.back_ref(val[0])
result
end
def _reduce_492(val, _values, result)
result = nil
result
end
def _reduce_493(val, _values, result)
@lexer.state = :expr_value
result
end
def _reduce_494(val, _values, result)
result = [ val[0], val[2] ]
result
end
def _reduce_495(val, _values, result)
yyerrok
result = nil
result
end
def _reduce_496(val, _values, result)
result = @builder.args(val[0], val[1], val[2])
@lexer.state = :expr_value
result
end
def _reduce_497(val, _values, result)
result = @lexer.in_kwarg
@lexer.in_kwarg = true
result
end
def _reduce_498(val, _values, result)
@lexer.in_kwarg = val[0]
result = @builder.args(nil, val[1], nil)
result
end
def _reduce_499(val, _values, result)
result = val[0].concat(val[2]).concat(val[3])
result
end
def _reduce_500(val, _values, result)
result = val[0].concat(val[1])
result
end
def _reduce_501(val, _values, result)
result = val[0].concat(val[1])
result
end
def _reduce_502(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_503(val, _values, result)
result = val[1]
result
end
def _reduce_504(val, _values, result)
result = []
result
end
def _reduce_505(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
def _reduce_506(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[6]).
concat(val[7])
result
end
def _reduce_507(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
def _reduce_508(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
def _reduce_509(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
def _reduce_510(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
def _reduce_511(val, _values, result)
result = val[0].
concat(val[1])
result
end
def _reduce_512(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
def _reduce_513(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
def _reduce_514(val, _values, result)
result = val[0].
concat(val[1])
result
end
def _reduce_515(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
def _reduce_516(val, _values, result)
result = val[0].
concat(val[1])
result
end
def _reduce_517(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
def _reduce_518(val, _values, result)
result = val[0]
result
end
def _reduce_519(val, _values, result)
result = []
result
end
def _reduce_520(val, _values, result)
diagnostic :error, :argument_const, nil, val[0]
result
end
def _reduce_521(val, _values, result)
diagnostic :error, :argument_ivar, nil, val[0]
result
end
def _reduce_522(val, _values, result)
diagnostic :error, :argument_gvar, nil, val[0]
result
end
def _reduce_523(val, _values, result)
diagnostic :error, :argument_cvar, nil, val[0]
result
end
# reduce 524 omitted
def _reduce_525(val, _values, result)
@static_env.declare val[0][0]
result = val[0]
result
end
def _reduce_526(val, _values, result)
result = val[0]
result
end
def _reduce_527(val, _values, result)
result = @builder.arg(val[0])
result
end
def _reduce_528(val, _values, result)
result = @builder.multi_lhs(val[0], val[1], val[2])
result
end
def _reduce_529(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_530(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_531(val, _values, result)
check_kwarg_name(val[0])
@static_env.declare val[0][0]
result = val[0]
result
end
def _reduce_532(val, _values, result)
result = @builder.kwoptarg(val[0], val[1])
result
end
def _reduce_533(val, _values, result)
result = @builder.kwarg(val[0])
result
end
def _reduce_534(val, _values, result)
result = @builder.kwoptarg(val[0], val[1])
result
end
def _reduce_535(val, _values, result)
result = @builder.kwarg(val[0])
result
end
def _reduce_536(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_537(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_538(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_539(val, _values, result)
result = val[0] << val[2]
result
end
# reduce 540 omitted
# reduce 541 omitted
def _reduce_542(val, _values, result)
@static_env.declare val[1][0]
result = [ @builder.kwrestarg(val[0], val[1]) ]
result
end
def _reduce_543(val, _values, result)
result = [ @builder.kwrestarg(val[0]) ]
result
end
def _reduce_544(val, _values, result)
result = @builder.optarg(val[0], val[1], val[2])
result
end
def _reduce_545(val, _values, result)
result = @builder.optarg(val[0], val[1], val[2])
result
end
def _reduce_546(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_547(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_548(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_549(val, _values, result)
result = val[0] << val[2]
result
end
# reduce 550 omitted
# reduce 551 omitted
def _reduce_552(val, _values, result)
@static_env.declare val[1][0]
result = [ @builder.restarg(val[0], val[1]) ]
result
end
def _reduce_553(val, _values, result)
result = [ @builder.restarg(val[0]) ]
result
end
# reduce 554 omitted
# reduce 555 omitted
def _reduce_556(val, _values, result)
@static_env.declare val[1][0]
result = @builder.blockarg(val[0], val[1])
result
end
def _reduce_557(val, _values, result)
result = [ val[1] ]
result
end
def _reduce_558(val, _values, result)
result = []
result
end
# reduce 559 omitted
def _reduce_560(val, _values, result)
result = val[1]
result
end
def _reduce_561(val, _values, result)
result = []
result
end
# reduce 562 omitted
def _reduce_563(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_564(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_565(val, _values, result)
result = @builder.pair(val[0], val[1], val[2])
result
end
def _reduce_566(val, _values, result)
result = @builder.pair_keyword(val[0], val[1])
result
end
def _reduce_567(val, _values, result)
result = @builder.pair_quoted(val[0], val[1], val[2], val[3])
result
end
def _reduce_568(val, _values, result)
result = @builder.kwsplat(val[0], val[1])
result
end
# reduce 569 omitted
# reduce 570 omitted
# reduce 571 omitted
# reduce 572 omitted
# reduce 573 omitted
# reduce 574 omitted
# reduce 575 omitted
# reduce 576 omitted
# reduce 577 omitted
# reduce 578 omitted
# reduce 579 omitted
# reduce 580 omitted
# reduce 581 omitted
# reduce 582 omitted
# reduce 583 omitted
# reduce 584 omitted
def _reduce_585(val, _values, result)
result = val[1]
result
end
def _reduce_586(val, _values, result)
result = val[1]
result
end
# reduce 587 omitted
# reduce 588 omitted
# reduce 589 omitted
def _reduce_590(val, _values, result)
yyerrok
result
end
# reduce 591 omitted
# reduce 592 omitted
# reduce 593 omitted
def _reduce_594(val, _values, result)
result = nil
result
end
def _reduce_none(val, _values, result)
val[0]
end
end # class Ruby22
end # module Parser