# -*- 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,
  :tUNARY_NUM => 65,
  :tPOW => 66,
  :tCMP => 67,
  :tEQ => 68,
  :tEQQ => 69,
  :tNEQ => 70,
  :tGEQ => 71,
  :tLEQ => 72,
  :tANDOP => 73,
  :tOROP => 74,
  :tMATCH => 75,
  :tNMATCH => 76,
  :tDOT => 77,
  :tDOT2 => 78,
  :tDOT3 => 79,
  :tAREF => 80,
  :tASET => 81,
  :tLSHFT => 82,
  :tRSHFT => 83,
  :tCOLON2 => 84,
  :tCOLON3 => 85,
  :tOP_ASGN => 86,
  :tASSOC => 87,
  :tLPAREN => 88,
  :tLPAREN2 => 89,
  :tRPAREN => 90,
  :tLPAREN_ARG => 91,
  :tLBRACK => 92,
  :tLBRACK2 => 93,
  :tRBRACK => 94,
  :tLBRACE => 95,
  :tLBRACE_ARG => 96,
  :tSTAR => 97,
  :tSTAR2 => 98,
  :tAMPER => 99,
  :tAMPER2 => 100,
  :tTILDE => 101,
  :tPERCENT => 102,
  :tDIVIDE => 103,
  :tDSTAR => 104,
  :tPLUS => 105,
  :tMINUS => 106,
  :tLT => 107,
  :tGT => 108,
  :tPIPE => 109,
  :tBANG => 110,
  :tCARET => 111,
  :tLCURLY => 112,
  :tRCURLY => 113,
  :tBACK_REF2 => 114,
  :tSYMBEG => 115,
  :tSTRING_BEG => 116,
  :tXSTRING_BEG => 117,
  :tREGEXP_BEG => 118,
  :tREGEXP_OPT => 119,
  :tWORDS_BEG => 120,
  :tQWORDS_BEG => 121,
  :tSYMBOLS_BEG => 122,
  :tQSYMBOLS_BEG => 123,
  :tSTRING_DBEG => 124,
  :tSTRING_DVAR => 125,
  :tSTRING_END => 126,
  :tSTRING_DEND => 127,
  :tSTRING => 128,
  :tSYMBOL => 129,
  :tNL => 130,
  :tEH => 131,
  :tCOLON => 132,
  :tCOMMA => 133,
  :tSPACE => 134,
  :tSEMI => 135,
  :tLAMBDA => 136,
  :tLAMBEG => 137,
  :tCHARACTER => 138,
  :tRATIONAL => 139,
  :tIMAGINARY => 140,
  :tLABEL_END => 141,
  :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",
  "tUNARY_NUM",
  "tPOW",
  "tCMP",
  "tEQ",
  "tEQQ",
  "tNEQ",
  "tGEQ",
  "tLEQ",
  "tANDOP",
  "tOROP",
  "tMATCH",
  "tNMATCH",
  "tDOT",
  "tDOT2",
  "tDOT3",
  "tAREF",
  "tASET",
  "tLSHFT",
  "tRSHFT",
  "tCOLON2",
  "tCOLON3",
  "tOP_ASGN",
  "tASSOC",
  "tLPAREN",
  "tLPAREN2",
  "tRPAREN",
  "tLPAREN_ARG",
  "tLBRACK",
  "tLBRACK2",
  "tRBRACK",
  "tLBRACE",
  "tLBRACE_ARG",
  "tSTAR",
  "tSTAR2",
  "tAMPER",
  "tAMPER2",
  "tTILDE",
  "tPERCENT",
  "tDIVIDE",
  "tDSTAR",
  "tPLUS",
  "tMINUS",
  "tLT",
  "tGT",
  "tPIPE",
  "tBANG",
  "tCARET",
  "tLCURLY",
  "tRCURLY",
  "tBACK_REF2",
  "tSYMBEG",
  "tSTRING_BEG",
  "tXSTRING_BEG",
  "tREGEXP_BEG",
  "tREGEXP_OPT",
  "tWORDS_BEG",
  "tQWORDS_BEG",
  "tSYMBOLS_BEG",
  "tQSYMBOLS_BEG",
  "tSTRING_DBEG",
  "tSTRING_DVAR",
  "tSTRING_END",
  "tSTRING_DEND",
  "tSTRING",
  "tSYMBOL",
  "tNL",
  "tEH",
  "tCOLON",
  "tCOMMA",
  "tSPACE",
  "tSEMI",
  "tLAMBDA",
  "tLAMBEG",
  "tCHARACTER",
  "tRATIONAL",
  "tIMAGINARY",
  "tLABEL_END",
  "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)
                      if @builder.respond_to? :negate
                        # AST builder interface compatibility
                        result = @builder.negate(val[0], val[1])
                      else
                        result = @builder.unary_num(val[0], val[1])
                      end
                    
    result
end

def _reduce_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
