lib/parser/ruby21.rb



# -*- encoding:utf-8; warn-indent:false -*-
#
# DO NOT MODIFY!!!!
# This file is automatically generated by Racc 1.4.9
# from Racc grammer file "".
#

require 'racc/parser.rb'


require 'parser'

Parser.check_for_encoding_support

module Parser
  class Ruby21 < Parser::Base

module_eval(<<'...end ruby21.y/module_eval...', 'ruby21.y', 2318)

  def version
    21
  end

  def default_encoding
    Encoding::UTF_8
  end
...end ruby21.y/module_eval...
##### State transition tables begin ###

clist = [
'-289,905,-99,-97,268,-102,-100,-289,-289,-289,586,754,268,-289,-289',
'-286,-289,91,92,-98,218,607,565,-101,217,-102,609,644,644,113,803,856',
'571,-104,112,768,-289,-289,565,-289,-289,-289,-289,-289,565,-100,565',
'769,565,685,443,-83,-101,577,218,-286,-103,578,-90,-69,214,215,643,643',
'-105,218,-99,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289',
'-289,-289,-289,385,-99,-289,-289,-289,-99,627,606,-569,-100,-289,267',
'608,-289,525,93,94,527,-289,267,-289,-102,-289,-289,-105,-289,-289,-289',
'-289,-289,-473,-289,-88,-289,-93,-91,585,-473,-473,-473,-99,-570,-473',
'-473,-473,-99,-473,-289,-89,-569,-289,-289,-92,-94,-473,-289,-473,-473',
'-473,113,113,-103,-95,-102,112,112,-473,-473,-102,-473,-473,-473,-473',
'-473,218,803,113,-488,684,838,-93,112,113,-100,113,-94,113,112,-100',
'112,-101,112,713,-96,713,-101,713,-473,-473,-473,-473,-473,-473,-473',
'-473,-473,-473,-473,-473,-473,-473,-90,268,-473,-473,-473,837,-473,-473',
'644,218,-473,218,-487,-473,-473,513,-473,-482,-473,594,-473,-98,-473',
'-473,-482,-473,-473,-473,-473,-473,398,-473,-476,-473,91,92,-93,214',
'215,-476,-476,-476,644,643,-476,-476,-476,-473,-476,113,-473,-473,-473',
'-473,112,-473,-476,-473,-476,-476,-476,-473,214,215,214,215,263,-97',
'-476,-476,-104,-476,-476,-476,-476,-476,-93,643,525,-93,-91,524,803',
'268,596,595,113,-93,113,267,113,112,-409,112,747,112,513,214,215,-476',
'-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,93',
'94,-476,-476,-476,238,-476,-476,525,238,-476,527,113,-476,-476,-567',
'-476,112,-476,113,-476,594,-476,-476,112,-476,-476,-476,-476,-476,-95',
'-476,-409,-476,-91,263,-487,235,-104,-409,594,237,236,673,218,594,218',
'-476,-409,-566,-476,-476,-476,-476,79,-476,-573,-476,267,218,263,-476',
'973,-573,-573,-573,80,-409,-476,-573,-573,-484,-573,263,-91,-476,81',
'-91,-484,594,-567,-573,218,-88,-476,-91,596,595,605,-573,218,-97,-573',
'-573,673,-573,-573,-573,-573,-573,796,-488,-473,-567,846,596,595,597',
'489,-473,596,595,487,546,-566,543,542,541,-473,544,745,833,803,-573',
'-573,-573,-573,-573,-573,-573,-573,-573,-573,-573,-573,-573,-573,-566',
'257,-573,-573,-573,-573,628,596,595,592,-573,-89,-573,-573,561,560,442',
'-569,-573,-98,-573,-573,-573,-573,-573,-573,-573,-573,-573,-573,-289',
'-573,-573,-573,-481,773,212,-289,-289,-289,-573,-481,-289,-289,-289',
'-478,-289,-573,-263,113,-573,-573,-478,-92,112,-573,-289,-289,-289,950',
'113,-101,218,113,622,112,-289,-289,112,-289,-289,-289,-289,-289,218',
'623,546,-573,543,542,541,594,544,-96,-573,594,444,260,594,-569,395,-105',
'855,-573,261,397,396,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289',
'-289,-289,-289,-289,-91,-573,-289,-289,-289,581,771,-289,-100,445,-289',
'-93,934,-289,-289,217,-289,-483,-289,-102,-289,582,-289,-289,-483,-289',
'-289,-289,-289,-289,476,-289,476,-289,476,596,595,599,581,596,595,610',
'596,595,601,934,525,-289,829,527,-289,-289,-289,-289,582,-289,-573,-289',
'69,70,71,-103,57,-573,-573,-573,63,64,-573,-573,-573,67,-573,65,66,68',
'308,309,72,73,316,-573,-573,-573,-573,304,305,311,101,100,102,103,-573',
'-573,230,-573,-573,-573,-573,-573,485,45,214,215,105,104,106,95,56,97',
'96,98,-476,99,107,108,487,91,92,-476,42,43,41,-573,-573,-573,-573,-573',
'-573,-573,-573,-573,-573,-573,-573,-573,-573,214,215,-573,-573,-573',
'223,770,-573,229,315,-573,58,59,-573,-573,60,-573,-473,-573,489,-573',
'44,-573,-573,-473,-573,-573,-573,-573,-573,228,-573,-573,-573,755,89',
'79,82,83,-479,84,86,85,87,833,803,-479,-573,80,88,-573,-573,-573,-573',
'858,-573,62,-573,81,93,94,-101,289,69,70,71,9,57,-480,690,439,63,64',
'861,863,-480,67,440,65,66,68,30,31,72,73,865,441,867,218,869,29,28,27',
'101,100,102,103,739,740,19,870,741,107,108,632,8,45,291,10,105,104,106',
'95,56,97,96,98,260,99,107,108,-262,91,92,261,42,43,41,238,242,247,248',
'249,244,246,254,255,250,251,-279,231,232,573,873,252,253,-279,40,749',
'574,33,875,876,58,59,-279,673,60,572,35,235,748,241,44,237,236,878,233',
'234,245,243,239,20,240,744,-261,882,89,79,82,83,-485,84,86,85,87,884',
'885,-485,886,80,88,887,256,690,-238,889,-485,62,891,81,93,94,289,69',
'70,71,9,57,893,895,-290,63,64,895,218,734,67,-290,65,66,68,30,31,72',
'73,901,-290,496,903,257,29,28,27,101,100,102,103,827,-68,19,218,499',
'213,716,617,8,45,291,10,105,104,106,95,56,97,96,98,571,99,107,108,911',
'91,92,500,42,43,41,238,242,247,248,249,244,246,254,255,250,251,-289',
'231,232,210,709,252,253,-289,40,914,211,33,-570,218,58,59,-289,707,60',
'209,35,235,918,241,44,237,236,-264,233,234,245,243,239,20,240,706,705',
'208,89,79,82,83,-486,84,86,85,87,697,695,-486,693,80,88,691,256,690',
'928,687,-486,62,207,81,93,94,289,69,70,71,9,57,507,935,-290,63,64,936',
'206,681,67,-290,65,66,68,30,31,72,73,679,-290,678,272,218,29,28,27,101',
'100,102,103,673,518,19,263,952,218,954,632,8,45,291,10,105,104,106,95',
'56,97,96,98,955,99,107,108,662,91,92,960,42,43,41,238,242,247,248,249',
'244,246,254,255,250,251,-289,231,232,505,734,252,253,-289,40,690,506',
'33,-570,963,58,59,-289,965,60,504,35,235,967,241,44,237,236,969,233',
'234,245,243,239,20,240,969,-83,218,89,79,82,83,-485,84,86,85,87,510',
'514,-485,238,80,88,218,256,218,980,238,-485,62,981,81,93,94,5,69,70',
'71,9,57,895,895,-279,63,64,895,986,238,67,-279,65,66,68,30,31,72,73',
'952,-279,238,121,238,29,28,27,101,100,102,103,218,931,19,543,542,541',
'528,544,8,45,7,10,105,104,106,95,56,97,96,98,634,99,107,108,631,91,92',
'263,42,43,41,238,242,247,248,249,244,246,254,255,250,251,515,231,232',
'-290,529,252,253,516,40,-570,-290,33,-569,678,58,59,441,109,60,-290',
'35,235,621,241,44,237,236,620,233,234,245,243,239,20,240,218,616,489',
'89,79,82,83,581,84,86,85,87,952,-261,580,1005,80,88,1006,256,1007,969',
'969,582,62,969,81,93,94,289,69,70,71,9,57,218,614,-332,63,64,611,576',
'575,67,-332,65,66,68,30,31,72,73,895,-332,952,387,571,29,28,27,101,100',
'102,103,969,931,19,543,542,541,,544,8,45,291,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,-289,231,232,978,,252,253,-289,40,,979,33,-570,,58,59,-289,',
'60,977,35,235,,241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82',
'83,-486,84,86,85,87,,,-486,,80,88,,256,,,,-486,62,,81,93,94,289,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,291,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,,,293,,,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,289,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,,,,,,8,45,291,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,289',
'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,291,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,289,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,291,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',
'218,256,,,,,62,,81,93,94,289,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,291,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,289,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,291,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',
',,293,,,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,289,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,291,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,289,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,291,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,289,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,291,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,289,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,291,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,289,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,291,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,289,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,291,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,289,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,550,,,550',
'29,28,27,101,100,102,103,553,,19,553,,,,,8,45,291,10,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,,42,43,41,238,,561,560,,561,560,554,',
'546,554,543,542,541,,544,252,253,,40,,,33,,,58,59,,238,60,,35,235,,241',
'44,237,236,,233,234,,,239,20,240,,699,,89,79,82,83,,84,86,85,87,,,235',
',80,88,237,236,,233,234,,62,,81,93,94,289,69,70,71,9,57,,,,63,64,,,',
'67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,546,19,543,542',
'541,238,544,8,45,291,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
',42,43,41,546,,543,542,541,238,544,235,699,,,237,236,,233,234,,702,',
'40,,,33,,,58,59,,,60,546,35,543,542,541,44,544,235,699,,,237,236,,20',
',,702,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,699,,62,,81,93,94,289',
'69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
'100,102,103,,546,19,543,542,541,,544,8,45,291,10,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,,42,43,41,546,,543,542,541,,544,546,699,543',
'542,541,,544,,,,900,,40,,,33,,,58,59,,,60,546,35,543,542,541,44,544',
',699,,,,,,20,699,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,699,,62,',
'81,93,94,289,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,291,10,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,,42,43,41,238,,,,,,,,,,,,,,,,252,253,,40,,',
'293,,,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,289,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,291,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,289,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,291,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,289,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,291,10,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,,42,43,41,238,-592,-592,-592,-592,244,246,,,-592,-592,,,,,,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,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,-592,-592,-592,-592,244,246,,,-592,-592,,,,,,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,289',
'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,291,10,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,,42,43,41,238,-592,-592,-592,-592,244,246,,,-592,-592,,,',
',,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,289,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,291,10,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,,42,43,41,238,-592,-592,-592,-592,244,246,,,-592',
'-592,,,,,,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,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,-592,-592,-592,-592,244,246,,,-592',
'-592,,,,,,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,289,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,291,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,,-592,-592,,,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,289,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,291,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,289,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,291,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,308,309,72,73',
',,,,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,,42,43,41,238,-592,-592,-592,-592,244,246',
',,-592,-592,,,,,,252,253,,223,,,229,,,58,59,,,60,,,235,,241,44,237,236',
',233,234,245,243,239,228,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,308,309,72,73,,,,,,304',
'305,311,101,100,102,103,,,230,,,,,,,45,,,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,,-592,-592,,,252,253,,223,,,229,,,58,59,,,60,,,235,,241,44,237,236',
',233,234,245,243,239,228,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,,,19,,,,,,,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,,,,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,308',
'309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105,104',
'106,95,56,97,96,98,283,99,107,108,,91,92,,42,43,41,238,,,,,,,,,,,,,',
',,252,253,,223,,,229,,,58,59,,,60,,281,235,,241,44,237,236,284,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,308,309,72,73,,,,,,304,305,311,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,283,99,107,108,,91,92',
',42,43,41,238,,,,,,,,,,,,,,,,252,253,,223,,,229,,,58,59,,,60,,,235,',
',44,237,236,284,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,308,309,72,73,,,,,',
'304,305,311,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,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,308,309,72,73,,,,,,304,305,311,101,100,102,103,,',
'230,,,,,,,306,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,,312',
',,,,,,,,,,,,,,,,,,,347,,,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,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,',
',306,,,105,104,106,352,56,97,96,353,,99,107,108,,91,92,,,,312,,,,,,',
',,,,,,,,,,359,,,354,,,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,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,306,,',
'105,104,106,352,56,97,96,353,,99,107,108,,91,92,,,,312,,,,,,,,,,,,,',
',,,,,,354,,,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,308,309,72,73,,,,,',
'304,305,311,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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,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,,,,,,387,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,308',
'309,72,73,,,,,,304,305,311,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,308,309,72',
'73,,,,,,304,305,311,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,308,309,72,73,,',
',,,304,305,311,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,,403,,,,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,308,309,72,73,,,,,',
'304,305,311,101,100,102,103,,,230,,,,,,,306,,,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,,,,312,,,,,,,,,,,,,,,,,,,,302,,,229,,,58,59,,',
'60,,546,,543,542,541,550,544,,,,,,,,,,553,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,314,,548,62,,81,93,94,69,70,71,,57,561,560,,63,64,554,',
',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,,403,,,,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,283,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,',
',,223,,,229,,,58,59,,,60,,281,,279,,44,,,284,,,,,,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,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,306,,',
'105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,,312,,,,,,,,,,,,,,,',
',,,,302,,,298,,,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,308,309',
'72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,306,,,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,,,,312,,,,,,,,,,,,,,,,,,,,302,,,298',
',,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,,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,,403,,,,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,308,309,72,73',
',,,,,304,305,311,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,308,309,72,73,,',
',,,304,305,311,101,100,102,103,,,230,,,,,,,306,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,,,,312,,,,,,,,,,,,,,,,,,,,302,,,298,,,58,59',
',,60,,297,,,,,,,,,,,,,,,,,,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,283,99,107',
'108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281',
',279,,44,,,284,,,,,,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,283,99,107',
'108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281',
',279,,44,,,284,,,,,,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,283,99,107',
'108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281',
',279,,44,,,284,,,,,,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,308,309,72,73,,,,,,304,305',
'311,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,308,309,72,73,,,,,,304,305,311',
'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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,101,100',
'102,103,,,230,,,,,,,306,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,,,,312,,,,,,,,,,,,,,,,,,,,872,,,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,,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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,308',
'309,72,73,,,,,,304,305,311,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,308,309,72',
'73,,,,,,304,305,311,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,308,309,72,73,,',
',,,304,305,311,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,308,309,72,73,,,,,,304',
'305,311,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,308,309,72,73,,,,,,304,305',
'311,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,308,309,72,73,,,,,,304,305,311',
'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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,308',
'309,72,73,,,,,,304,305,311,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,308,309,72',
'73,,,,,,304,305,311,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,308,309,72,73,,',
',,,304,305,311,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,308,309,72,73,,,,,,304',
'305,311,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,308,309,72,73,,,,,,304,305',
'311,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,308,309,72,73,,,,,,304,305,311',
'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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,283,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,',
',,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,284,,,,,,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,283,99,107,108,,91,92,,42,43,41,,,,,,,,',
',,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,284,,,,,,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,283,99,107,108,,91,92,,42,43,41,,,,,,,',
',,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,284,,,,,,228,,,,',
'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,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,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,283,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,',
',,,,,,223,,,229,,,58,59,,,60,,,,279,,44,,,284,,,,,,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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,283,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,',
',,,,,,223,,,229,,,58,59,,,60,,656,,279,,44,,,284,,,,,,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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,308',
'309,72,73,,,,,,304,305,311,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,308,309,72',
'73,,,,,,304,305,311,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,,752,,,,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,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,283,99,107',
'108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281',
',279,,44,,,284,,,,,,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,283,99,107,108,',
'91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279',
',44,,,284,,,,,,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,308,309,72,73,,,,,,304,305,311',
'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,308,309,72,73,,,,,,304,305,311',
'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,,656',
',,,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,308,309,72,73,,,,,,304,305,311',
'101,100,102,103,,,230,,,,,,,306,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,,,,312,,,,,,,,,,,,,,,,,,,,302,,,229,,,58,59,,,60,,546,,543',
'542,541,550,544,,,,,,,,,,553,,89,79,82,83,,84,86,85,87,,,,,80,88,,,',
'502,,548,62,,81,93,94,69,70,71,,57,561,560,,63,64,554,,,67,,65,66,68',
'308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,283,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,',
',,,,,,223,,,229,,,58,59,,,60,,,,279,,44,,,284,,,,,,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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,308',
'309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105,104',
'106,95,56,97,96,98,283,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,',
',,223,,,229,,,58,59,,,60,,,,,,44,,,284,,,,,,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',
'308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,283,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,',
',,,,,,223,,,229,,,58,59,,,60,,656,,,,44,,,284,,,,,,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,308',
'309,72,73,,,,,,304,305,311,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,308,309,72',
'73,,,,,,304,305,311,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,308,309,72,73,,',
',,,304,305,311,101,100,102,103,,,230,,,,,,,306,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,,,,312,,,,,,,,,,,,,,,,,,,,302,,,298,,,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,283,99,107,108',
',91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279',
',44,,,284,,,,,,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,308,309,72,73,,,,,,304,305,311',
'101,100,102,103,,,230,,,,,,,306,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,,,,312,,,,,,,,,,,,,,,,,,,,302,,,298,,,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,308,309,72,73,,,,,,304,305,311,101,100,102',
'103,,,230,,,,,,,306,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
',,,312,,,,,,,,,,,,,,,,,,,,872,,,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,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230',
',,,,,,306,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,,312,,,',
',,,,,,,,,,,,,,,,302,,,298,,,58,59,,,60,,546,,543,542,541,550,544,,,',
',,,,,,553,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,548,62,,81,93,94',
'69,70,71,9,57,561,560,,63,64,554,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,19,,,,,,8,45,291,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,,,,',
',387,62,,81,93,94,69,70,71,,57,,,,63,64,,,,67,,65,66,68,308,309,72,73',
',,,,,304,305,311,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,308,309,72,73,,',
',,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97',
'96,98,283,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,',
',58,59,,,60,,,,279,,44,,,284,,,,,,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,308,309,72',
'73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,283,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,',
',229,,,58,59,,,60,,656,,279,,44,,,284,,,,,,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,308',
'309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,518,,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,308,309',
'72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,306,,,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,,,,312,,,,,,,,,,,,,,,,,,,,942,,,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,308,309,72,73,,,,,,304,305,311',
'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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,283,99,107,108,,91,92,,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,284',
',,,,,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,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,,,,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,283,99,107,108,,91,92,,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,284',
',,,,,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,308,309,72,73,,,,,,304,305,311,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',
'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,,,,,-574',
',62,,81,93,94,-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',
',,-574,-574,-574,-574,-280,-574,,-574,,,,-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,-575,-280,,-280,,,,-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,-575',
'-296,-575,,-575,,,,-296,-296,-296,,,-296,-296,-296,,-296,,,,,,,,,,-296',
'-296,,,,,,,,,-296,-296,,-296,-296,-296,-296,-296,,,,,,,,,,,,,,,,,,,',
',,,,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296',
'-296,,,-296,-296,-296,,,-296,,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,,-408,-244',
'-244,,-244,,-244,-408,-408,-408,,,-408,-408,-408,,-408,,,,,,,,,-408',
'-408,-408,,,,,,,,,-408,-408,,-408,-408,-408,-408,-408,,,,,,,,,,,,,,',
',,,,,,,,,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408',
'-408,-408,,,-408,-408,-408,,,-408,,263,-408,,,-408,-408,,-408,,-408',
',-408,,-408,-408,,-408,-408,-408,-408,-408,,-408,-408,-408,,,,,,,,,',
',,,,-408,,-244,-408,-408,,-408,,-408,-244,-244,-244,,,-244,-244,-244',
'546,-244,543,542,541,550,544,,,,-244,-244,,,,,553,,,,,-244,-244,,-244',
'-244,-244,-244,-244,,,,,,,,,,548,546,,543,542,541,550,544,,558,557,561',
'560,,,,554,553,546,,543,542,541,550,544,-244,,,,,,,-244,,553,,,263,-244',
'548,,,218,,,,,,558,557,561,560,,,,554,548,,,,-244,-244,,,,,,561,560',
',,,554,,,-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',
',,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,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,370,369,371,368,169,188,187,',
',,,,168,175,166,167,365,366,367,363,126,97,96,364,,99,,,,,,,157,158',
',154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,375,',
',,,,,,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,666,416,162,,667',
',,,,,,,,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,975,423,162,,974,,,,,,,,,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,637,423,162,,638,,,,,,,,,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,474,416,162',
',475,,,,,,,,,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,635,416,162,,636,,,,,,,,,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,474,416,162,,475,,,,,,,,,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,412,416',
'162,,413,,,,,,,,,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,419,423,162,,418,,,,,,,,,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,423,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,637',
'423,162,,638,,,,,,,,,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,635,416,162,,636,,,,,,,,,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,719,416,162,,720,,',
',,,,,,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,998,416,162,,999,,,,,,,,,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,1000,423,162,,1001,,,,,,,,,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,669,423',
'162,,670,,,,,,,,,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,724,423,162,,725,,,,,,,,,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,,546,162,543,542,541,550,544',
'546,,543,542,541,550,544,,546,553,543,542,541,550,544,,553,,,,,,,546',
'553,543,542,541,550,544,,548,,,,,,,548,553,558,557,561,560,,,548,554',
',561,560,,,,554,558,557,561,560,,,548,554,546,,543,542,541,550,544,',
',561,560,,,,554,,553,546,,543,542,541,550,544,,546,,543,542,541,550',
'544,,553,,,,,548,,,553,,,,,,558,557,561,560,,,,554,548,532,,,,,,,548',
'558,557,561,560,,,,554,558,557,561,560,,,546,554,543,542,541,550,544',
',546,,543,542,541,550,544,546,553,543,542,541,550,544,,546,553,543,542',
'541,550,544,,553,,,,,,,548,553,,,,,,,548,558,557,561,560,,,548,554,558',
'557,561,560,,,548,554,,561,560,,,,554,,,561,560,,,546,554,543,542,541',
'550,544,,546,,543,542,541,550,544,546,553,543,542,541,550,544,,546,553',
'543,542,541,550,544,,553,,,,,,,548,553,,,,,,,548,558,557,561,560,,,548',
'554,558,557,561,560,,,548,554,,561,560,,,,554,,,561,560,,,,554' ]
        racc_action_table = arr = ::Array.new(25043, 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 = [
'418,834,1012,344,61,720,719,418,418,418,358,618,647,418,418,58,418,312',
'312,345,686,382,337,721,19,999,383,648,472,586,909,772,909,575,586,635',
'418,418,717,418,418,418,418,418,881,998,904,636,338,531,224,661,1000',
'354,703,58,722,354,618,661,436,436,648,472,348,19,618,418,418,418,418',
'418,418,418,418,418,418,418,418,418,418,109,840,418,418,418,772,418',
'382,721,635,418,61,383,418,328,312,312,328,418,647,418,636,418,418,224',
'418,418,418,418,418,95,418,344,418,720,719,358,95,95,95,1012,722,95',
'95,95,1012,95,418,345,1000,418,418,721,418,95,418,95,95,95,358,337,418',
'575,999,358,337,95,95,999,95,95,95,95,95,436,710,717,222,531,717,667',
'717,881,998,904,722,338,881,998,904,1000,338,568,348,567,1000,841,95',
'95,95,95,95,95,95,95,95,95,95,95,95,95,840,307,95,95,95,715,95,95,481',
'680,95,718,221,95,95,442,95,366,95,604,95,222,95,95,366,95,95,95,95',
'95,204,95,98,95,41,41,667,587,587,98,98,98,480,481,98,98,98,95,98,341',
'95,95,95,95,341,95,98,95,98,98,98,95,676,676,591,591,307,221,98,98,442',
'98,98,98,98,98,667,480,327,667,666,327,677,26,604,604,568,667,567,307',
'841,568,798,567,604,841,316,521,521,98,98,98,98,98,98,98,98,98,98,98',
'98,98,98,41,41,98,98,98,448,98,98,331,675,98,331,849,98,98,353,98,849',
'98,587,98,381,98,98,587,98,98,98,98,98,316,98,798,98,666,26,38,448,316',
'798,378,448,448,672,676,602,591,98,798,352,98,98,98,98,77,98,419,98',
'26,929,671,98,929,419,419,419,77,798,353,419,419,367,419,668,666,353',
'77,666,367,377,353,419,665,38,353,666,381,381,381,724,727,38,419,419',
'663,419,419,419,419,419,660,39,352,353,732,378,378,378,655,352,602,602',
'653,900,352,900,900,900,352,900,602,708,708,419,419,419,419,419,419',
'419,419,419,419,419,419,419,419,352,646,419,419,419,724,419,377,377',
'377,419,39,724,419,690,690,223,724,419,39,419,724,419,419,669,419,419',
'419,419,419,638,419,419,419,368,641,15,638,638,638,724,368,638,638,638',
'369,638,419,751,287,419,419,369,419,287,419,638,638,638,900,3,419,45',
'844,412,3,638,638,844,638,638,638,638,638,639,413,702,669,702,702,702',
'379,702,15,669,384,225,373,380,669,123,15,756,669,373,123,123,638,638',
'638,638,638,638,638,638,638,638,638,638,638,638,412,669,638,638,638',
'871,638,638,412,226,638,413,871,638,638,230,638,365,638,413,638,871',
'638,638,365,638,638,638,638,638,629,638,262,638,624,379,379,379,933',
'384,384,384,380,380,380,933,682,638,702,682,638,638,638,638,933,638',
'637,638,283,283,283,638,283,637,637,637,283,283,637,637,637,283,637',
'283,283,283,283,283,283,283,40,637,637,637,637,283,283,283,283,283,283',
'283,637,637,283,637,637,637,637,637,276,283,17,17,283,283,283,283,283',
'283,283,283,364,283,283,283,277,283,283,364,283,283,283,637,637,637',
'637,637,637,637,637,637,637,637,637,637,637,336,336,637,637,637,283',
'637,637,283,37,637,283,283,637,637,283,637,363,637,280,637,283,637,637',
'363,637,637,637,637,637,283,637,637,637,619,283,283,283,283,370,283',
'283,283,283,988,988,370,637,283,283,637,637,637,637,774,637,283,637',
'283,283,283,637,588,588,588,588,588,588,371,775,220,588,588,777,778',
'371,588,220,588,588,588,588,588,588,588,779,220,781,782,783,588,588',
'588,588,588,588,588,595,595,588,784,595,595,595,431,588,588,588,588',
'588,588,588,588,588,588,588,588,24,588,588,588,615,588,588,24,588,588',
'588,431,431,431,431,431,431,431,431,431,431,431,303,431,431,346,788',
'431,431,303,588,609,346,588,792,793,588,588,303,797,588,346,588,431',
'607,431,588,431,431,801,431,431,431,431,431,588,431,599,804,805,588',
'588,588,588,299,588,588,588,588,808,810,299,811,588,588,812,431,813',
'431,817,299,588,818,588,588,588,323,323,323,323,323,323,820,821,507',
'323,323,823,826,589,323,507,323,323,323,323,323,323,323,828,507,291',
'831,22,323,323,323,323,323,323,323,701,292,323,294,295,16,570,407,323',
'323,323,323,323,323,323,323,323,323,323,323,569,323,323,323,843,323',
'323,296,323,323,323,407,407,407,407,407,407,407,407,407,407,407,1001',
'407,407,14,564,407,407,1001,323,847,14,323,1001,848,323,323,1001,562',
'323,14,323,407,851,407,323,407,407,852,407,407,407,407,407,323,407,559',
'555,13,323,323,323,323,300,323,323,323,323,547,539,300,538,323,323,537',
'407,535,868,534,300,323,12,323,323,323,878,878,878,878,878,878,302,872',
'980,878,878,874,10,522,878,980,878,878,878,878,878,878,878,520,980,519',
'305,306,878,878,878,878,878,878,878,511,508,878,311,902,503,906,640',
'878,878,878,878,878,878,878,878,878,878,878,878,907,878,878,878,501',
'878,878,913,878,878,878,640,640,640,640,640,640,640,640,640,640,640',
'670,640,640,301,917,640,640,670,878,919,301,878,670,922,878,878,670',
'923,878,301,878,640,924,640,878,640,640,925,640,640,640,640,640,878',
'640,927,498,497,878,878,878,878,939,878,878,878,878,313,317,939,320',
'878,878,482,640,478,942,453,939,878,945,878,878,878,496,496,496,496',
'496,496,946,947,943,496,496,948,949,452,496,943,496,496,496,496,496',
'496,496,951,943,451,7,450,496,496,496,496,496,496,496,325,973,496,973',
'973,973,329,973,496,496,496,496,496,496,496,496,496,496,496,496,438',
'496,496,496,428,496,496,420,496,496,496,760,760,760,760,760,760,760',
'760,760,760,760,318,760,760,578,330,760,760,318,496,974,578,496,975',
'976,496,496,318,1,496,578,496,760,411,760,496,760,760,410,760,760,760',
'760,760,496,760,408,404,332,496,496,496,496,356,496,496,496,496,987',
'402,356,989,496,496,990,760,991,992,993,356,496,994,496,496,496,563',
'563,563,563,563,563,997,399,46,563,563,393,349,347,563,46,563,563,563',
'563,563,563,563,1002,46,1003,343,342,563,563,563,563,563,563,563,1014',
'869,563,869,869,869,,869,563,563,563,563,563,563,563,563,563,563,563',
'563,,563,563,563,,563,563,,563,563,563,753,753,753,753,753,753,753,753',
'753,753,753,725,753,753,941,,753,753,725,563,,941,563,725,,563,563,725',
',563,941,563,753,,753,563,753,753,,753,753,753,753,753,563,753,,,,563',
'563,563,563,940,563,563,563,563,,,940,,563,563,,753,,,,940,563,,563',
'563,563,298,298,298,298,298,298,,,,298,298,,,,298,,298,298,298,298,298',
'298,298,6,6,6,6,6,298,298,298,298,298,298,298,,,298,495,495,495,495',
'495,298,298,298,298,298,298,298,298,298,298,298,298,,298,298,298,,298',
'298,,298,298,298,857,857,857,857,857,857,857,857,857,857,857,,857,857',
',,857,857,,298,,,298,,,298,298,,,298,,298,857,,857,298,857,857,,857',
'857,857,857,857,298,857,,,,298,298,298,298,,298,298,298,298,,,,,298',
'298,,857,,,,,298,,298,298,298,845,845,845,845,845,845,,,,845,845,,,',
'845,,845,845,845,845,845,845,845,290,290,290,290,290,845,845,845,845',
'845,845,845,,,845,,,,,,845,845,845,845,845,845,845,845,845,845,845,845',
',845,845,845,,845,845,,845,845,845,854,854,854,854,854,854,854,854,854',
'854,854,,854,854,,,854,854,,845,,,845,,,845,845,,,845,,845,854,,854',
'845,854,854,,854,854,854,854,854,845,854,,,,845,845,845,845,,845,845',
'845,845,,,,,845,845,,854,,,,,845,,845,845,845,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,426,426,426,426,426,426,426,426,426',
'426,426,,426,426,,,426,426,,839,,,839,,,839,839,,,839,,839,426,,426',
'839,426,426,,426,426,426,426,426,839,426,,,,839,839,839,839,,839,839',
'839,839,,,,,839,839,,426,,,,,839,,839,839,839,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,471,471,471,471,471,471,471,471,471',
'471,471,,471,471,,,471,471,,566,,,566,,,566,566,,,566,,566,471,,471',
'566,471,471,,471,471,471,471,471,566,471,,,,566,566,566,566,,566,566',
'566,566,,,,,566,566,471,471,,,,,566,,566,566,566,836,836,836,836,836',
'836,,,,836,836,,,,836,,836,836,836,836,836,836,836,,,,,,836,836,836',
'836,836,836,836,,,836,,,,,,836,836,836,836,836,836,836,836,836,836,836',
'836,,836,836,836,,836,836,,836,836,836,758,758,758,758,758,758,758,758',
'758,758,758,,758,758,,,758,758,,836,,,836,,,836,836,,,836,,836,758,',
'758,836,758,758,,758,758,758,758,758,836,758,,,,836,836,836,836,,836',
'836,836,836,,,,,836,836,,758,,,,,836,,836,836,836,293,293,293,293,293',
'293,,,,293,293,,,,293,,293,293,293,293,293,293,293,,,,,,293,293,293',
'293,293,293,293,,,293,,,,,,293,293,293,293,293,293,293,293,293,293,293',
'293,,293,293,293,,293,293,,293,293,293,674,674,674,674,674,674,674,674',
'674,674,674,,674,674,,,674,674,,293,,,293,,,293,293,,,293,,293,674,',
'674,293,674,674,,674,674,674,674,674,293,674,,,,293,293,293,293,,293',
'293,293,293,,,,,293,293,,674,,,,,293,,293,293,293,835,835,835,835,835',
'835,,,,835,835,,,,835,,835,835,835,835,835,835,835,,,,,,835,835,835',
'835,835,835,835,,,835,,,,,,835,835,835,835,835,835,835,835,835,835,835',
'835,,835,835,835,,835,835,,835,835,835,763,763,763,763,763,763,763,763',
'763,763,763,,763,763,,,763,763,,835,,,835,,,835,835,,,835,,835,763,',
'763,835,763,763,,763,763,763,763,763,835,763,,,,835,835,835,835,,835',
'835,835,835,,,,,835,835,,763,,,,,835,,835,835,835,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,938,938,938,938',
'938,,938,938,938,,938,938,,938,938,938,517,517,517,517,517,517,517,517',
'517,517,517,,517,517,,,517,517,,938,,,938,,,938,938,,,938,,938,517,',
'517,938,517,517,,517,517,517,517,517,938,517,,,,938,938,938,938,,938',
'938,938,938,,,,,938,938,,517,,,,,938,,938,938,938,803,803,803,803,803',
'803,,,,803,803,,,,803,,803,803,803,803,803,803,803,,,,,,803,803,803',
'803,803,803,803,,,803,,,,,,803,803,803,803,803,803,803,803,803,803,803',
'803,,803,803,803,,803,803,,803,803,803,765,765,765,765,765,765,765,765',
'765,765,765,,765,765,,,765,765,,803,,,803,,,803,803,,,803,,803,765,',
'765,803,765,765,,765,765,765,765,765,803,765,,,,803,803,803,803,,803',
'803,803,803,,,,,803,803,,765,,,,,803,,803,803,803,791,791,791,791,791',
'791,,,,791,791,,,,791,,791,791,791,791,791,791,791,,,,,,791,791,791',
'791,791,791,791,,,791,,,,,,791,791,791,791,791,791,791,791,791,791,791',
'791,,791,791,791,,791,791,,791,791,791,767,767,767,767,767,767,767,767',
'767,767,767,,767,767,,,767,767,,791,,,791,,,791,791,,,791,,791,767,',
'767,791,767,767,,767,767,767,767,767,791,767,,,,791,791,791,791,,791',
'791,791,791,,,,,791,791,,767,,,,,791,,791,791,791,229,229,229,229,229',
'229,,,,229,229,,,,229,,229,229,229,229,229,229,229,,,,,,229,229,229',
'229,229,229,229,,,229,,,,,,229,229,229,229,229,229,229,229,229,229,229',
'229,,229,229,229,,229,229,,229,229,229,274,274,274,274,274,274,274,274',
'274,274,274,,274,274,,,274,274,,229,,,229,,,229,229,,,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,953,953,953,953,953',
'953,,,,953,953,,,,953,,953,953,953,953,953,953,953,,,,,,953,953,953',
'953,953,953,953,,,953,,,,,,953,953,953,953,953,953,953,953,953,953,953',
'953,,953,953,953,,953,953,,953,953,953,21,21,21,21,21,21,21,21,21,21',
'21,,21,21,,,21,21,,953,,,953,,,953,953,,,953,,953,21,,21,953,21,21,',
'21,21,21,21,21,953,21,,,,953,953,953,953,,953,953,953,953,,,,,953,953',
',21,,,,,953,,953,953,953,959,959,959,959,959,959,,,,959,959,,,,959,',
'959,959,959,959,959,959,959,,687,,,858,959,959,959,959,959,959,959,687',
',959,858,,,,,959,959,959,959,959,959,959,959,959,959,959,959,,959,959',
'959,,959,959,,959,959,959,458,,687,687,,858,858,687,,829,858,829,829',
'829,,829,458,458,,959,,,959,,,959,959,,467,959,,959,458,,458,959,458',
'458,,458,458,,,458,959,458,,829,,959,959,959,959,,959,959,959,959,,',
'467,,959,959,467,467,,467,467,,959,,959,959,959,645,645,645,645,645',
'645,,,,645,645,,,,645,,645,645,645,645,645,645,645,,,,,,645,645,645',
'645,645,645,645,,699,645,699,699,699,468,699,645,645,645,645,645,645',
'645,645,645,645,645,645,,645,645,645,,645,645,,645,645,645,548,,548',
'548,548,449,548,468,699,,,468,468,,468,468,,699,,645,,,645,,,645,645',
',,645,901,645,901,901,901,645,901,449,548,,,449,449,,645,,,548,,645',
'645,645,645,,645,645,645,645,,,,,645,645,,,,,901,,645,,645,645,645,650',
'650,650,650,650,650,,,,650,650,,,,650,,650,650,650,650,650,650,650,',
',,,,650,650,650,650,650,650,650,,827,650,827,827,827,,827,650,650,650',
'650,650,650,650,650,650,650,650,650,,650,650,650,,650,650,,650,650,650',
'950,,950,950,950,,950,952,827,952,952,952,,952,,,,827,,650,,,650,,,650',
'650,,,650,986,650,986,986,986,650,986,,950,,,,,,650,952,,,,650,650,650',
'650,,650,650,650,650,,,,,650,650,,,,,986,,650,,650,650,650,33,33,33',
'33,33,33,,,,33,33,,,,33,,33,33,33,33,33,33,33,,,,,,33,33,33,33,33,33',
'33,,,33,,,,,,33,33,33,33,33,33,33,33,33,33,33,33,,33,33,33,,33,33,,33',
'33,33,459,,,,,,,,,,,,,,,,459,459,,33,,,33,,,33,33,,,33,,33,459,,459',
'33,459,459,,459,459,,,459,33,459,,,,33,33,33,33,,33,33,33,33,,,,,33',
'33,,,,,,,33,,33,33,33,651,651,651,651,651,651,,,,651,651,,,,651,,651',
'651,651,651,651,651,651,,,,,,651,651,651,651,651,651,651,,,651,,,,,',
'651,651,651,651,651,651,651,651,651,651,651,651,,651,651,651,,651,651',
',651,651,651,460,,,,,,,,,,,,,,,,460,460,,651,,,651,,,651,651,,,651,',
'651,460,,460,651,460,460,,460,460,,,460,651,460,,,,651,651,651,651,',
'651,651,651,651,,,,,651,651,,,,,,,651,,651,651,651,206,206,206,206,206',
'206,,,,206,206,,,,206,,206,206,206,206,206,206,206,,,,,,206,206,206',
'206,206,206,206,,,206,,,,,,206,206,206,206,206,206,206,206,206,206,206',
'206,,206,206,206,,206,206,,206,206,206,461,,,,,,,,,,,,,,,,461,461,,206',
',,206,,,206,206,,,206,,206,461,,461,206,461,461,,461,461,,,461,206,461',
',,,206,206,206,206,,206,206,206,206,,,,,206,206,,,,,,,206,,206,206,206',
'684,684,684,684,684,684,,,,684,684,,,,684,,684,684,684,684,684,684,684',
',,,,,684,684,684,684,684,684,684,,,684,,,,,,684,684,684,684,684,684',
'684,684,684,684,684,684,,684,684,684,,684,684,,684,684,684,457,457,457',
'457,457,457,457,,,457,457,,,,,,457,457,,684,,,684,,,684,684,,,684,,684',
'457,,457,684,457,457,,457,457,457,457,457,684,457,,,,684,684,684,684',
',684,684,684,684,,,,,684,684,,,,,,,684,,684,684,684,121,121,121,121',
'121,121,,,,121,121,,,,121,,121,121,121,121,121,121,121,,,,,,121,121',
'121,121,121,121,121,,,121,,,,,,121,121,121,121,121,121,121,121,121,121',
'121,121,,121,121,121,,121,121,,121,121,121,463,463,463,463,463,463,463',
',,463,463,,,,,,463,463,,121,,,121,,,121,121,,,121,,121,463,,463,121',
'463,463,,463,463,463,463,463,121,463,,,,121,121,121,121,,121,121,121',
'121,,,,,121,121,,,,,,,121,,121,121,121,685,685,685,685,685,685,,,,685',
'685,,,,685,,685,685,685,685,685,685,685,,,,,,685,685,685,685,685,685',
'685,,,685,,,,,,685,685,685,685,685,685,685,685,685,685,685,685,,685',
'685,685,,685,685,,685,685,685,464,464,464,464,464,464,464,,,464,464',
',,,,,464,464,,685,,,685,,,685,685,,,685,,685,464,,464,685,464,464,,464',
'464,464,464,464,685,464,,,,685,685,685,685,,685,685,685,685,,,,,685',
'685,,,,,,,685,,685,685,685,961,961,961,961,961,961,,,,961,961,,,,961',
',961,961,961,961,961,961,961,,,,,,961,961,961,961,961,961,961,,,961',
',,,,,961,961,961,961,961,961,961,961,961,961,961,961,,961,961,961,,961',
'961,,961,961,961,465,465,465,465,465,465,465,,,465,465,,,,,,465,465',
',961,,,961,,,961,961,,,961,,961,465,,465,961,465,465,,465,465,465,465',
'465,961,465,,,,961,961,961,961,,961,961,961,961,,,,,961,961,,,,,,,961',
',961,961,961,0,0,0,0,0,0,,,,0,0,,,,0,,0,0,0,0,0,0,0,,,,,,0,0,0,0,0,0',
'0,,,0,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,0,,0,0,,0,0,0,466,466,466,466',
'466,466,466,,,466,466,,,,,,466,466,,0,,,0,,,0,0,,,0,,0,466,,466,0,466',
'466,,466,466,466,466,466,0,466,,,,0,0,0,0,,0,0,0,0,,,,,0,0,,,,,,,0,',
'0,0,0,728,728,728,728,728,728,,,,728,728,,,,728,,728,728,728,728,728',
'728,728,,,,,,728,728,728,728,728,728,728,,,728,,,,,,728,728,728,728',
'728,728,728,728,728,728,728,728,,728,728,728,,728,728,,728,728,728,447',
'447,447,447,447,447,447,447,447,447,447,,447,447,,,447,447,,728,,,728',
',,728,728,,,728,,728,447,,447,728,447,447,,447,447,447,447,447,728,447',
',,,728,728,728,728,,728,728,728,728,,,,,728,728,,,,,,,728,,728,728,728',
'733,733,733,733,733,733,,,,733,733,,,,733,,733,733,733,733,733,733,733',
',,,,,733,733,733,733,733,733,733,,,733,,,,,,733,733,733,733,733,733',
'733,733,733,733,733,733,,733,733,733,,733,733,,733,733,733,469,469,469',
'469,469,469,469,,,469,469,,,,,,469,469,,733,,,733,,,733,733,,,733,,733',
'469,,469,733,469,469,,469,469,469,469,469,733,469,,,,733,733,733,733',
',733,733,733,733,,,,,733,733,,,,,,,733,,733,733,733,743,743,743,743',
'743,743,,,,743,743,,,,743,,743,743,743,743,743,743,743,,,,,,743,743',
'743,743,743,743,743,,,743,,,,,,743,743,743,743,743,743,743,743,743,743',
'743,743,,743,743,743,,743,743,,743,743,743,470,470,470,470,470,470,470',
'470,,470,470,,,,,,470,470,,743,,,743,,,743,743,,,743,,743,470,,470,743',
'470,470,,470,470,470,470,470,743,470,,,,743,743,743,743,,743,743,743',
'743,,,,,743,743,,,,44,44,44,743,44,743,743,743,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,462,462,462,462,462,462,462,,,462',
'462,,,,,,462,462,,44,,,44,,,44,44,,,44,,,462,,462,44,462,462,,462,462',
'462,462,462,44,462,,,,44,44,44,44,,44,44,44,44,,,,,44,44,,,,43,43,43',
'44,43,44,44,44,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,446,446,446,446,446,446,446,446,446,446,446,,446,446,,,446,446,,43',
',,43,,,43,43,,,43,,,446,,446,43,446,446,,446,446,446,446,446,43,446',
',,,43,43,43,43,,43,43,43,43,,,,,43,43,,,,729,729,729,43,729,43,43,43',
'729,729,,,,729,,729,729,729,729,729,729,729,,,,,,729,729,729,729,729',
'729,729,,,729,,,,,,,729,,,729,729,729,729,729,729,729,729,,729,729,729',
',729,729,,729,729,729,454,,,,,,,,,,,,,,,,454,454,,729,,,729,,,729,729',
',,729,,,454,,454,729,454,454,,454,454,,,,729,,,,,729,729,729,729,,729',
'729,729,729,,,,,729,729,,,,59,59,59,729,59,729,729,729,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,455,,,,,,,,,,,,,,,,455',
'455,,59,,,59,,,59,59,,,59,,59,455,,455,59,455,455,59,455,455,,,,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,456,,,,,,',
',,,,,,,,,456,456,,60,,,60,,,60,60,,,60,,,456,,,60,456,456,60,456,456',
',,,60,,,,,60,60,60,60,,60,60,60,60,,,,,60,60,,,,42,42,42,60,42,60,60',
'60,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,,,,,42,42,,,,63,63,63,42,63,42,42,42,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,,,,,,,,,,,,,,,,,,,,70,70,70,70,,70',
'70,70,70,,,,,70,70,,,,723,723,723,70,723,70,70,70,723,723,,,,723,,723',
'723,723,723,723,723,723,,,,,,723,723,723,723,723,723,723,,,723,,,,,',
',723,,,723,723,723,723,723,723,723,723,,723,723,723,,723,723,,723,723',
'723,,,,,,,,,,,,,,,,,,,,723,,,723,,,723,723,,,723,,,,,,723,,,,,,,,,723',
',,,,723,723,723,723,,723,723,723,723,,,,,723,723,,,,697,697,697,723',
'697,723,723,723,697,697,,,,697,,697,697,697,697,697,697,697,,,,,,697',
'697,697,697,697,697,697,,,697,,,,,,,697,,,697,697,697,697,697,697,697',
'697,,697,697,697,,697,697,,697,697,697,,,,,,,,,,,,,,,,,,,,697,,,697',
',,697,697,,,697,,,,,,697,,,,,,,,,697,,,,,697,697,697,697,,697,697,697',
'697,,,,,697,697,,,,754,754,754,697,754,697,697,697,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,,,,768,768,768,754',
'768,754,754,754,768,768,,,,768,,768,768,768,768,768,768,768,,,,,,768',
'768,768,768,768,768,768,,,768,,,,,,,768,,,768,768,768,768,768,768,768',
'768,,768,768,768,,768,768,,768,768,768,,,,,,,,,,,,,,,,,,,,768,,,768',
',,768,768,,,768,,,,,,768,,,,,,,,,768,,,,,768,768,768,768,,768,768,768',
'768,,,,,768,768,,,,769,769,769,768,769,768,768,768,769,769,,,,769,,769',
'769,769,769,769,769,769,,,,,,769,769,769,769,769,769,769,,,769,,,,,',
',769,,,769,769,769,769,769,769,769,769,,769,769,769,,769,769,,769,769',
'769,,,,,,,,,,,,,,,,,,,,769,,,769,,,769,769,,,769,,,,,,769,,,,,,,,,769',
',,,,769,769,769,769,,769,769,769,769,,,,,769,769,,,,,,,769,,769,769',
'769,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,,,,,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,,,,770,770,770,120,770,120,120',
'120,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,,,,678,678,678,771,678,771,771,771',
'678,678,,,,678,,678,678,678,678,678,678,678,,,,,,678,678,678,678,678',
'678,678,,,678,,,,,,,678,,,678,678,678,678,678,678,678,678,,678,678,678',
',678,678,,678,678,678,,,,,,,,,,,,,,,,,,,,678,,,678,,,678,678,,,678,',
'678,,,,678,,,,,,,,,678,,,,,678,678,678,678,,678,678,678,678,,,,,678',
'678,,,,35,35,35,678,35,678,678,678,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,,969,,969',
'969,969,969,969,,,,,,,,,,969,,35,35,35,35,,35,35,35,35,,,,,35,35,,,',
'35,,969,35,,35,35,35,207,207,207,,207,969,969,,207,207,969,,,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',
',,,673,673,673,209,673,209,209,209,673,673,,,,673,,673,673,673,673,673',
'673,673,,,,,,673,673,673,673,673,673,673,,,673,,,,,,,673,,,673,673,673',
'673,673,673,673,673,,673,673,673,,673,673,,,,673,,,,,,,,,,,,,,,,,,,',
'673,,,673,,,673,673,,,673,,,,,,,,,,,,,,,,,,,,673,673,673,673,,673,673',
'673,673,,,,,673,673,,,,662,662,662,673,662,673,673,673,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,,,,212,212,212,662,212',
'662,662,662,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,,,,339,339,339,213',
'339,213,213,213,339,339,,,,339,,339,339,339,339,339,339,339,,,,,,339',
'339,339,339,339,339,339,,,339,,,,,,,339,,,339,339,339,339,339,339,339',
'339,,339,339,339,,339,339,,339,339,339,,,,,,,,,,,,,,,,,,,,339,,,339',
',,339,339,,,339,,,,,,339,,,,,,,,,339,,,,,339,339,339,339,,339,339,339',
'339,,,,,339,339,,,,215,215,215,339,215,339,339,339,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,,,656,656,656,217',
'656,217,217,217,656,656,,,,656,,656,656,656,656,656,656,656,,,,,,656',
'656,656,656,656,656,656,,,656,,,,,,,656,,,656,656,656,656,656,656,656',
'656,,656,656,656,,656,656,,656,656,656,,,,,,,,,,,,,,,,,,,,656,,,656',
',,656,656,,,656,,,,,,656,,,,,,,,,656,,,,,656,656,656,656,,656,656,656',
'656,,,,,656,656,,,,34,34,34,656,34,656,656,656,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,,,,31,31',
'31,34,31,34,34,34,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,,,,30,30,30,31,30,31,31',
'31,30,30,,,,30,,30,30,30,30,30,30,30,,,,,,30,30,30,30,30,30,30,,,30',
',,,,,,30,,,30,30,30,30,30,30,30,30,30,30,30,30,,30,30,,30,30,30,,,,',
',,,,,,,,,,,,,,,30,,,30,,,30,30,,,30,,30,,30,,30,,,30,,,,,,30,,,,,30',
'30,30,30,,30,30,30,30,,,,,30,30,,,,29,29,29,30,29,30,30,30,29,29,,,',
'29,,29,29,29,29,29,29,29,,,,,,29,29,29,29,29,29,29,,,29,,,,,,,29,,,29',
'29,29,29,29,29,29,29,29,29,29,29,,29,29,,29,29,29,,,,,,,,,,,,,,,,,,',
',29,,,29,,,29,29,,,29,,29,,29,,29,,,29,,,,,,29,,,,,29,29,29,29,,29,29',
'29,29,,,,,29,29,,,,773,773,773,29,773,29,29,29,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,,,,632,632,632,773,632',
'773,773,773,632,632,,,,632,,632,632,632,632,632,632,632,,,,,,632,632',
'632,632,632,632,632,,,632,,,,,,,632,,,632,632,632,632,632,632,632,632',
',632,632,632,,632,632,,632,632,632,,,,,,,,,,,,,,,,,,,,632,,,632,,,632',
'632,,,632,,,,,,632,,,,,,,,,632,,,,,632,632,632,632,,632,632,632,632',
',,,,632,632,,,,228,228,228,632,228,632,632,632,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,,,,785,785,785,228,785',
'228,228,228,785,785,,,,785,,785,785,785,785,785,785,785,,,,,,785,785',
'785,785,785,785,785,,,785,,,,,,,785,,,785,785,785,785,785,785,785,785',
',785,785,785,,785,785,,,,785,,,,,,,,,,,,,,,,,,,,785,,,785,,,785,785',
',,785,,,,,,,,,,,,,,,,,,,,785,785,785,785,,785,785,785,785,,,,,785,785',
',,,631,631,631,785,631,785,785,785,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,,,,231,231,231,631,231,631,631,631',
'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,,,,628,628,628,256,628,256,256,256',
'628,628,,,,628,,628,628,628,628,628,628,628,,,,,,628,628,628,628,628',
'628,628,,,628,,,,,,,628,,,628,628,628,628,628,628,628,628,,628,628,628',
',628,628,,628,628,628,,,,,,,,,,,,,,,,,,,,628,,,628,,,628,628,,,628,',
',,,,628,,,,,,,,,628,,,,,628,628,628,628,,628,628,628,628,,,,,628,628',
',,,627,627,627,628,627,628,628,628,627,627,,,,627,,627,627,627,627,627',
'627,627,,,,,,627,627,627,627,627,627,627,,,627,,,,,,,627,,,627,627,627',
'627,627,627,627,627,,627,627,627,,627,627,,627,627,627,,,,,,,,,,,,,',
',,,,,,627,,,627,,,627,627,,,627,,,,,,627,,,,,,,,,627,,,,,627,627,627',
'627,,627,627,627,627,,,,,627,627,,,,263,263,263,627,263,627,627,627',
'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,,,623,623,623,272,623,272,272',
'272,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',
',,,622,622,622,623,622,623,623,623,622,622,,,,622,,622,622,622,622,622',
'622,622,,,,,,622,622,622,622,622,622,622,,,622,,,,,,,622,,,622,622,622',
'622,622,622,622,622,,622,622,622,,622,622,,622,622,622,,,,,,,,,,,,,',
',,,,,,622,,,622,,,622,622,,,622,,,,,,622,,,,,,,,,622,,,,,622,622,622',
'622,,622,622,622,622,,,,,622,622,,,,621,621,621,622,621,622,622,622',
'621,621,,,,621,,621,621,621,621,621,621,621,,,,,,621,621,621,621,621',
'621,621,,,621,,,,,,,621,,,621,621,621,621,621,621,621,621,621,621,621',
'621,,621,621,,621,621,621,,,,,,,,,,,,,,,,,,,,621,,,621,,,621,621,,,621',
',,,621,,621,,,621,,,,,,621,,,,,621,621,621,621,,621,621,621,621,,,,',
'621,621,,,,279,279,279,621,279,621,621,621,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,,,,620,620,620,279,620,279',
'279,279,620,620,,,,620,,620,620,620,620,620,620,620,,,,,,620,620,620',
'620,620,620,620,,,620,,,,,,,620,,,620,620,620,620,620,620,620,620,620',
'620,620,620,,620,620,,620,620,620,,,,,,,,,,,,,,,,,,,,620,,,620,,,620',
'620,,,620,,620,,620,,620,,,620,,,,,,620,,,,,620,620,620,620,,620,620',
'620,620,,,,,620,620,,,,281,281,281,620,281,620,620,620,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,,,,752,752,752',
'281,752,281,281,281,752,752,,,,752,,752,752,752,752,752,752,752,,,,',
',752,752,752,752,752,752,752,,,752,,,,,,,752,,,752,752,752,752,752,752',
'752,752,,752,752,752,,752,752,,752,752,752,,,,,,,,,,,,,,,,,,,,752,,',
'752,,,752,752,,,752,,,,,,752,,,,,,,,,752,,,,,752,752,752,752,,752,752',
'752,752,,,,,752,752,,,,284,284,284,752,284,752,752,752,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,,,,617,617,617',
'284,617,284,284,284,617,617,,,,617,,617,617,617,617,617,617,617,,,,',
',617,617,617,617,617,617,617,,,617,,,,,,,617,,,617,617,617,617,617,617',
'617,617,,617,617,617,,617,617,,617,617,617,,,,,,,,,,,,,,,,,,,,617,,',
'617,,,617,617,,,617,,,,,,617,,,,,,,,,617,,,,,617,617,617,617,,617,617',
'617,617,,,,,617,617,,,,,,,617,,617,617,617,289,289,289,289,289,,,,289',
'289,,,,289,,289,289,289,289,289,289,289,,,,,,289,289,289,289,289,289',
'289,,,289,,,,,,289,289,,289,289,289,289,289,289,289,289,289,,289,289',
'289,,289,289,,289,289,289,,,,,,,,,,,,,,,,,,,,289,,,289,,,289,289,,,289',
',289,,,,289,,,,,,,,,289,,,,,289,289,289,289,,289,289,289,289,,,,,289',
'289,,,,616,616,616,289,616,289,289,289,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,,,,833,833,833,616,833,616',
'616,616,833,833,,,,833,,833,833,833,833,833,833,833,,,,,,833,833,833',
'833,833,833,833,,,833,,,,,,,833,,,833,833,833,833,833,833,833,833,,833',
'833,833,,833,833,,833,833,833,,,,,,,,,,,,,,,,,,,,833,,,833,,,833,833',
',,833,,,,,,833,,,,,,,,,833,,,,,833,833,833,833,,833,833,833,833,,,,',
'833,833,,,,582,582,582,833,582,833,833,833,582,582,,,,582,,582,582,582',
'582,582,582,582,,,,,,582,582,582,582,582,582,582,,,582,,,,,,,582,,,582',
'582,582,582,582,582,582,582,582,582,582,582,,582,582,,582,582,582,,',
',,,,,,,,,,,,,,,,,582,,,582,,,582,582,,,582,,582,,582,,582,,,582,,,,',
',582,,,,,582,582,582,582,,582,582,582,582,,,,,582,582,,,,20,20,20,582',
'20,582,582,582,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,,,,,,,,,,,,,,,,,,,,20,,,20,,,20,20,,,20,,,,,,20,,,,,,,,,20,,,,,20',
'20,20,20,,20,20,20,20,,,,,20,20,,,,572,572,572,20,572,20,20,20,572,572',
',,,572,,572,572,572,572,572,572,572,,,,,,572,572,572,572,572,572,572',
',,572,,,,,,,572,,,572,572,572,572,572,572,572,572,572,572,572,572,,572',
'572,,572,572,572,,,,,,,,,,,,,,,,,,,,572,,,572,,,572,572,,,572,,572,',
'572,,572,,,572,,,,,,572,,,,,572,572,572,572,,572,572,572,572,,,,,572',
'572,,,,571,571,571,572,571,572,572,572,571,571,,,,571,,571,571,571,571',
'571,571,571,,,,,,571,571,571,571,571,571,571,,,571,,,,,,,571,,,571,571',
'571,571,571,571,571,571,,571,571,571,,571,571,,571,571,571,,,,,,,,,',
',,,,,,,,,,571,,,571,,,571,571,,,571,,571,,,,571,,,,,,,,,571,,,,,571',
'571,571,571,,571,571,571,571,,,,,571,571,,,,838,838,838,571,838,571',
'571,571,838,838,,,,838,,838,838,838,838,838,838,838,,,,,,838,838,838',
'838,838,838,838,,,838,,,,,,,838,,,838,838,838,838,838,838,838,838,,838',
'838,838,,838,838,,838,838,838,,,,,,,,,,,,,,,,,,,,838,,,838,,,838,838',
',,838,,838,,,,838,,,,,,,,,838,,,,,838,838,838,838,,838,838,838,838,',
',,,838,838,,,,297,297,297,838,297,838,838,838,297,297,,,,297,,297,297',
'297,297,297,297,297,,,,,,297,297,297,297,297,297,297,,,297,,,,,,,297',
',,297,297,297,297,297,297,297,297,,297,297,297,,297,297,,,,297,,,,,',
',,,,,,,,,,,,,,297,,,297,,,297,297,,,297,,967,,967,967,967,967,967,,',
',,,,,,,967,,297,297,297,297,,297,297,297,297,,,,,297,297,,,,297,,967',
'297,,297,297,297,855,855,855,,855,967,967,,855,855,967,,,855,,855,855',
'855,855,855,855,855,,,,,,855,855,855,855,855,855,855,,,855,,,,,,,855',
',,855,855,855,855,855,855,855,855,855,855,855,855,,855,855,,855,855',
'855,,,,,,,,,,,,,,,,,,,,855,,,855,,,855,855,,,855,,,,855,,855,,,855,',
',,,,855,,,,,855,855,855,855,,855,855,855,855,,,,,855,855,,,,856,856',
'856,855,856,855,855,855,856,856,,,,856,,856,856,856,856,856,856,856',
',,,,,856,856,856,856,856,856,856,,,856,,,,,,,856,,,856,856,856,856,856',
'856,856,856,,856,856,856,,856,856,,856,856,856,,,,,,,,,,,,,,,,,,,,856',
',,856,,,856,856,,,856,,,,,,856,,,,,,,,,856,,,,,856,856,856,856,,856',
'856,856,856,,,,,856,856,,,,551,551,551,856,551,856,856,856,551,551,',
',,551,,551,551,551,551,551,551,551,,,,,,551,551,551,551,551,551,551',
',,551,,,,,,,551,,,551,551,551,551,551,551,551,551,,551,551,551,,551',
'551,,551,551,551,,,,,,,,,,,,,,,,,,,,551,,,551,,,551,551,,,551,,,,,,551',
',,,,,,,,551,,,,,551,551,551,551,,551,551,551,551,,,,,551,551,,,,527',
'527,527,551,527,551,551,551,527,527,,,,527,,527,527,527,527,527,527',
'527,,,,,,527,527,527,527,527,527,527,,,527,,,,,,,527,,,527,527,527,527',
'527,527,527,527,527,527,527,527,,527,527,,527,527,527,,,,,,,,,,,,,,',
',,,,,527,,,527,,,527,527,,,527,,,,,,527,,,527,,,,,,527,,,,,527,527,527',
'527,,527,527,527,527,,,,,527,527,,,,524,524,524,527,524,527,527,527',
'524,524,,,,524,,524,524,524,524,524,524,524,,,,,,524,524,524,524,524',
'524,524,,,524,,,,,,,524,,,524,524,524,524,524,524,524,524,524,524,524',
'524,,524,524,,524,524,524,,,,,,,,,,,,,,,,,,,,524,,,524,,,524,524,,,524',
',524,,,,524,,,524,,,,,,524,,,,,524,524,524,524,,524,524,524,524,,,,',
'524,524,,,,518,518,518,524,518,524,524,524,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,518,,518,518,518,,,,,',
',,,,,,,,,,,,,,518,,,518,,,518,518,,,518,,,,,,518,,,,,,,,,518,,,,,518',
'518,518,518,,518,518,518,518,,,,,518,518,,,,514,514,514,518,514,518',
'518,518,514,514,,,,514,,514,514,514,514,514,514,514,,,,,,514,514,514',
'514,514,514,514,,,514,,,,,,,514,,,514,514,514,514,514,514,514,514,,514',
'514,514,,514,514,,514,514,514,,,,,,,,,,,,,,,,,,,,514,,,514,,,514,514',
',,514,,,,,,514,,,,,,,,,514,,,,,514,514,514,514,,514,514,514,514,,,,',
'514,514,,,,513,513,513,514,513,514,514,514,513,513,,,,513,,513,513,513',
'513,513,513,513,,,,,,513,513,513,513,513,513,513,,,513,,,,,,,513,,,513',
'513,513,513,513,513,513,513,,513,513,513,,513,513,,513,513,513,,,,,',
',,,,,,,,,,,,,,513,,,513,,,513,513,,,513,,,,,,513,,,,,,,,,513,,,,,513',
'513,513,513,,513,513,513,513,,,,,513,513,,,,510,510,510,513,510,513',
'513,513,510,510,,,,510,,510,510,510,510,510,510,510,,,,,,510,510,510',
'510,510,510,510,,,510,,,,,,,510,,,510,510,510,510,510,510,510,510,,510',
'510,510,,510,510,,,,510,,,,,,,,,,,,,,,,,,,,510,,,510,,,510,510,,,510',
',,,,,,,,,,,,,,,,,,,510,510,510,510,,510,510,510,510,,,,,510,510,,,,504',
'504,504,510,504,510,510,510,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,504,504,,,,,504,504,,,,502,502,502,504,502,504',
'504,504,502,502,,,,502,,502,502,502,502,502,502,502,,,,,,502,502,502',
'502,502,502,502,,,502,,,,,,,502,,,502,502,502,502,502,502,502,502,,502',
'502,502,,502,502,,,,502,,,,,,,,,,,,,,,,,,,,502,,,502,,,502,502,,,502',
',,,,,,,,,,,,,,,,,,,502,502,502,502,,502,502,502,502,,,,,502,502,,,,870',
'870,870,502,870,502,502,502,870,870,,,,870,,870,870,870,870,870,870',
'870,,,,,,870,870,870,870,870,870,870,,,870,,,,,,,870,,,870,870,870,870',
'870,870,870,870,,870,870,870,,870,870,,,,870,,,,,,,,,,,,,,,,,,,,870',
',,870,,,870,870,,,870,,,,,,,,,,,,,,,,,,,,870,870,870,870,,870,870,870',
'870,,,,,870,870,,,,314,314,314,870,314,870,870,870,314,314,,,,314,,314',
'314,314,314,314,314,314,,,,,,314,314,314,314,314,314,314,,,314,,,,,',
',314,,,314,314,314,314,314,314,314,314,,314,314,314,,314,314,,,,314',
',,,,,,,,,,,,,,,,,,,314,,,314,,,314,314,,,314,,893,,893,893,893,893,893',
',,,,,,,,,893,,314,314,314,314,,314,314,314,314,,,,,314,314,,,,,,893',
'314,,314,314,314,494,494,494,494,494,893,893,,494,494,893,,,494,,494',
'494,494,494,494,494,494,,,,,,494,494,494,494,494,494,494,,,494,,,,,',
'494,494,494,494,494,494,494,494,494,494,494,494,,494,494,494,,494,494',
',494,494,494,,,,,,,,,,,,,,,,,,,,494,,,494,,,494,494,,,494,,494,,,,494',
',,,,,,,,494,,,,,494,494,494,494,,494,494,494,494,,,,,494,494,,,,,,494',
'494,,494,494,494,489,489,489,,489,,,,489,489,,,,489,,489,489,489,489',
'489,489,489,,,,,,489,489,489,489,489,489,489,,,489,,,,,,,489,,,489,489',
'489,489,489,489,489,489,,489,489,489,,489,489,,489,489,489,,,,,,,,,',
',,,,,,,,,,489,,,489,,,489,489,,,489,,,,,,489,,,,,,,,,489,,,,,489,489',
'489,489,,489,489,489,489,,,,,489,489,,,,487,487,487,489,487,489,489',
'489,487,487,,,,487,,487,487,487,487,487,487,487,,,,,,487,487,487,487',
'487,487,487,,,487,,,,,,,487,,,487,487,487,487,487,487,487,487,487,487',
'487,487,,487,487,,487,487,487,,,,,,,,,,,,,,,,,,,,487,,,487,,,487,487',
',,487,,,,487,,487,,,487,,,,,,487,,,,,487,487,487,487,,487,487,487,487',
',,,,487,487,,,,485,485,485,487,485,487,487,487,485,485,,,,485,,485,485',
'485,485,485,485,485,,,,,,485,485,485,485,485,485,485,,,485,,,,,,,485',
',,485,485,485,485,485,485,485,485,485,485,485,485,,485,485,,485,485',
'485,,,,,,,,,,,,,,,,,,,,485,,,485,,,485,485,,,485,,485,,485,,485,,,485',
',,,,,485,,,,,485,485,485,485,,485,485,485,485,,,,,485,485,,,,322,322',
'322,485,322,485,485,485,322,322,,,,322,,322,322,322,322,322,322,322',
',,,,,322,322,322,322,322,322,322,,,322,,,,,,,322,,,322,322,322,322,322',
'322,322,322,,322,322,322,,322,322,,322,322,322,,,,,,,,,,,,,,,,,,,,322',
',,322,322,,322,322,,,322,,,,,,322,,,,,,,,,322,,,,,322,322,322,322,,322',
'322,322,322,,,,,322,322,,,,882,882,882,322,882,322,322,322,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,882,882,,,,,882,882,,,,324,324,324,882',
'324,882,882,882,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,324,324,,324,324,324',
'324,,,,,324,324,,,,445,445,445,324,445,324,324,324,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,,,,444,444,444,445',
'444,445,445,445,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,,,,443,443,443,444,443,444,444,444,443,443,,,,443,,443',
'443,443,443,443,443,443,,,,,,443,443,443,443,443,443,443,,,443,,,,,',
',443,,,443,443,443,443,443,443,443,443,,443,443,443,,443,443,,443,443',
'443,,,,,,,,,,,,,,,,,,,,443,,,443,,,443,443,,,443,,,,,,443,,,,,,,,,443',
',,,,443,443,443,443,,443,443,443,443,,,,,443,443,,,,441,441,441,443',
'441,443,443,443,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,,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,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,,,,,,,,,,,,,,,,,,,,5,,,5,,,5,5,,,5,,5,,,,5,,,,,,,',
',5,,,,,5,5,5,5,,5,5,5,5,,,,,5,5,,,,977,977,977,5,977,5,5,5,977,977,',
',,977,,977,977,977,977,977,977,977,,,,,,977,977,977,977,977,977,977',
',,977,,,,,,,977,,,977,977,977,977,977,977,977,977,977,977,977,977,,977',
'977,,977,977,977,,,,,,,,,,,,,,,,,,,,977,,,977,,,977,977,,,977,,977,',
'977,,977,,,977,,,,,,977,,,,,977,977,977,977,,977,977,977,977,,,,,977',
'977,,,,403,403,403,977,403,977,977,977,403,403,,,,403,,403,403,403,403',
'403,403,403,,,,,,403,403,403,403,403,403,403,,,403,,,,,,,403,,,403,403',
'403,403,403,403,403,403,,403,403,403,,403,403,,403,403,403,,,,,,,,,',
',,,,,,,,,,403,,,403,,,403,403,,,403,,,,,,403,,,,,,,,,403,,,,,403,403',
'403,403,,403,403,403,403,,,,,403,403,,,,375,375,375,403,375,403,403',
'403,375,375,,,,375,,375,375,375,375,375,375,375,,,,,,375,375,375,375',
'375,375,375,,,375,,,,,,,375,,,375,375,375,375,375,375,375,375,,375,375',
'375,,375,375,,375,375,375,,,,,,,,,,,,,,,,,,,,375,,,375,,,375,375,,,375',
',,,,,375,,,,,,,,,375,,,,,375,375,375,375,,375,375,375,375,,,,,375,375',
',,,359,359,359,375,359,375,375,375,359,359,,,,359,,359,359,359,359,359',
'359,359,,,,,,359,359,359,359,359,359,359,,,359,,,,,,,359,,,359,359,359',
'359,359,359,359,359,,359,359,359,,359,359,,359,359,359,,,,,,,,,,,,,',
',,,,,,359,,,359,,,359,359,,,359,,,,,,359,,,,,,,,,359,,,,,359,359,359',
'359,,359,359,359,359,,,,,359,359,,,,340,340,340,359,340,359,359,359',
'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',
',,,214,214,214,340,214,340,340,340,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,,,,,423,,214,,214,214,214,423,423,423',
',,423,423,423,,423,,,,,,,,,423,423,423,423,,,,,,,,423,423,,423,423,423',
'423,423,,,,,,,,,,,,,,,,,,,,,,,,423,423,423,423,423,423,423,423,423,423',
'423,423,423,423,,,423,423,423,,,423,,,423,,,423,423,,423,,423,,423,',
'423,423,,423,423,423,423,423,,423,423,423,,,,,,,,,,,,,,423,,,423,423',
'423,423,56,423,,423,,,,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,28,424,,424,,,,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,28,,28,28,28,28,28,,28,414,28,,,,,,414,414,414,,,414',
'414,414,28,414,,28,28,,28,,28,,414,414,414,,,,,,,,,414,414,,414,414',
'414,414,414,,,,,,,,,,,,,,,,,,,,,,,,414,414,414,414,414,414,414,414,414',
'414,414,414,414,414,,,414,414,414,,,414,,414,414,,,414,414,,414,,414',
',414,,414,414,,414,414,414,414,414,,414,414,414,,,,,,,,,,,,,,414,,27',
'414,414,,414,,414,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,,27,,27,,27,,27,27,,27',
'27,27,27,27,,27,27,27,,,,,,,,,,,,,,27,,473,27,27,,27,,27,473,473,473',
',,473,473,473,643,473,643,643,643,643,643,,,,473,473,,,,,643,,,,,473',
'473,,473,473,473,473,473,,,,,,,,,,643,863,,863,863,863,863,863,,643',
'643,643,643,,,,643,863,891,,891,891,891,891,891,473,,,,,,,473,,891,',
',473,473,863,,,643,,,,,,863,863,863,863,,,,863,891,,,,473,473,,,,,,891',
'891,,,,891,,,473,,,473,,,,,473,394,394,394,394,394,394,394,394,394,394',
'394,394,394,394,394,394,394,394,394,394,394,394,394,394,,,,394,394,394',
'394,394,394,394,394,394,394,,,,,,394,394,394,394,394,394,394,394,394',
',,394,,,,,,,,,394,394,,394,394,394,394,394,394,394,,,394,394,,,,394',
'394,394,394,,,,,,,,,,,,,,394,394,,394,394,394,394,394,394,394,394,394',
'394,394,394,,,394,394,,,,,,,,,,,,,,394,613,613,613,613,613,613,613,613',
'613,613,613,613,613,613,613,613,613,613,613,613,613,613,613,613,,,,613',
'613,613,613,613,613,613,613,613,613,,,,,,613,613,613,613,613,613,613',
'613,613,,,613,,,,,,,,,613,613,,613,613,613,613,613,613,613,,,613,613',
',,,613,613,613,613,,,,,,,,,,,,,,613,613,,613,613,613,613,613,613,613',
'613,613,613,613,613,,,613,613,,,,,,,,,,,,,,613,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,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,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,736,736,736,736,736,736,736',
'736,736,736,736,736,736,736,736,736,736,736,736,736,736,736,736,736',
',,,736,736,736,736,736,736,736,736,736,736,,,,,,736,736,736,736,736',
'736,736,736,736,,,736,,,,,,,,,736,736,,736,736,736,736,736,736,736,',
',736,736,,,,736,736,736,736,,,,,,,,,,,,,,736,736,,736,736,736,736,736',
'736,736,736,736,736,736,736,505,505,736,,505,,,,,,,,,505,505,,505,505',
'505,505,505,505,505,,,505,505,,,,505,505,505,505,,,,,,505,,,,,,,,505',
'505,,505,505,505,505,505,505,505,505,505,505,505,505,934,934,505,,934',
',,,,,,,,934,934,,934,934,934,934,934,934,934,,,934,934,,,,934,934,934',
'934,,,,,,934,,,,,,,,934,934,,934,934,934,934,934,934,934,934,934,934',
'934,934,440,440,934,,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,581,581,440,,581,,,,,,,,,581,581,,581',
'581,581,581,581,581,581,,,581,581,,,,581,581,581,581,,,,,,581,,,,,,',
',581,581,,581,581,581,581,581,581,581,581,581,581,581,581,439,439,581',
',439,,,,,,,,,439,439,,439,439,439,439,439,439,439,,,439,439,,,,439,439',
'439,439,,,,,,439,,,,,,,,439,439,,439,439,439,439,439,439,439,439,439',
'439,439,439,259,259,439,,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,210,210,259,,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,574,574,211,,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,516,516,574,,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,515,515',
'516,,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,573,573,515,,573,,,,,,,,,573,573,,573,573,573,573,573',
'573,573,,,573,573,,,,573,573,573,573,,,,,,573,,,,,,,,573,573,,573,573',
'573,573,573,573,573,573,573,573,573,573,978,978,573,,978,,,,,,,,,978',
'978,,978,978,978,978,978,978,978,,,978,978,,,,978,978,978,978,,,,,,978',
',,,,,,,978,978,,978,978,978,978,978,978,978,978,978,978,978,978,979',
'979,978,,979,,,,,,,,,979,979,,979,979,979,979,979,979,979,,,979,979',
',,,979,979,979,979,,,,,,979,,,,,,,,979,979,,979,979,979,979,979,979',
'979,979,979,979,979,979,506,506,979,,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,580,580,506,,580,,',
',,,,,,580,580,,580,580,580,580,580,580,580,,,580,580,,,,580,580,580',
'580,,,,,,580,,,,,,,,580,580,,580,580,580,580,580,580,580,580,580,580',
'580,580,,734,580,734,734,734,734,734,965,,965,965,965,965,965,,963,734',
'963,963,963,963,963,,965,,,,,,,981,963,981,981,981,981,981,,734,,,,',
',,965,981,734,734,734,734,,,963,734,,965,965,,,,965,963,963,963,963',
',,981,963,889,,889,889,889,889,889,,,981,981,,,,981,,889,335,,335,335',
'335,335,335,,735,,735,735,735,735,735,,335,,,,,889,,,735,,,,,,889,889',
'889,889,,,,889,335,335,,,,,,,735,335,335,335,335,,,,335,735,735,735',
'735,,,691,735,691,691,691,691,691,,693,,693,693,693,693,693,1007,691',
'1007,1007,1007,1007,1007,,695,693,695,695,695,695,695,,1007,,,,,,,691',
'695,,,,,,,693,691,691,691,691,,,1007,691,693,693,693,693,,,695,693,',
'1007,1007,,,,1007,,,695,695,,,532,695,532,532,532,532,532,,861,,861',
'861,861,861,861,865,532,865,865,865,865,865,,895,861,895,895,895,895',
'895,,865,,,,,,,532,895,,,,,,,861,532,532,532,532,,,865,532,861,861,861',
'861,,,895,861,,865,865,,,,865,,,895,895,,,,895' ]
        racc_action_check = arr = ::Array.new(25043, 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 = [
  4558,  1269,   nil,   371,   nil, 21165,  1441,  1088, 23392, 23263,
   933,   nil,   888,   920,   895,   391,   791,   619,   nil,   -66,
 17305,  3007,   893,   nil,   729,   nil,   250, 22740, 22497, 10697,
 10565, 10433,   nil,  3571, 10301,  8577,   nil,   565,   254,   319,
   578,   165,  5773,  5245,  5113,   373,  1246,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil, 22227,   nil,   -76,  5509,
  5641,   -21,   nil,  5905,  6037,   nil,   nil,  6169,  6309,  6441,
  6573, 23521,   nil,   nil,   nil,   nil,   nil,   242,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   111,   nil,   nil,   224,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    81,
   nil,  7373,   nil,   nil,   nil,   nil,  7513,  7645,  7777,  7909,
  8049,  4135,   nil,   479,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,    88,   nil,  3853,  8717,  8849,  8981,
 24069, 24131,  9377,  9509, 21957,  9773,  9905, 10037,   nil,   nil,
   682,   117,    71,   403,   -37,   386,   475,   nil, 11093,  2866,
   478, 11489, 11621, 11753, 11885, 12017, 12149, 12281, 12413, 12545,
 12677, 12809, 12941, 13073, 13205, 13337, 13469, 13601, 13733, 13865,
 13997, 14129, 14261, 14393, 14525, 14657, 14789,   nil,   nil, 24007,
   nil,   nil,   488, 15185, 15317,   nil,   nil,   nil,   nil,   nil,
   nil,   nil, 15449,   nil,  2866,   nil,   519,   535,   nil, 15977,
   621, 16241,   nil,   609, 16505,   nil,   nil,   360,   nil, 16777,
  1582,   805,   787,  2161,   800,   841,   821, 17833,  1456,   793,
   934,  1036,   985,   751,   nil,   970,   930,   168,   nil,   nil,
   nil,   982,   -44,  1024, 19557,   nil,   201,  1092,  1174,   nil,
  1094,   nil, 20233,   892, 20497,  1079,   nil,   139,   -36,  1121,
  1142,   182,  1201,   nil,   nil, 24777,   654,    10,    36,  9641,
 21825,   110,  1327,  1206,   -21,    -5,   754,  1274,    40,  1304,
   nil,   nil,   329,   295,     2,   nil,  1216,   nil,     9, 21693,
   nil,   nil,   nil,   629,   587,   492,   131,   298,   398,   409,
   651,   680,   nil,   451,   nil, 21561,   nil,   324,   285,   463,
   470,   266,   -39,   -34,   467,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,  1213, 23005,   nil,   nil,   nil,   nil,  1209,
   nil,   nil,  1166, 21429,  1154,   nil,   nil,   892,  1156,   nil,
  1145,  1140,   419,   430, 22610,   nil,   nil,   nil,     0,   361,
  1147,   nil,   nil, 22092, 22362,   nil,  1738,   nil,  1092,   nil,
   nil,   751,   nil,   nil,   nil,   nil,    24,   nil,  1139, 23945,
 23821, 21025,   120, 20893, 20761, 20629,  5245,  4699,   243,  3294,
  1135,  1133,  1121,  1101,  5377,  5509,  5641,  3994,  3148,  3571,
  3712,  3853,  5113,  4135,  4276,  4417,  4558,  3176,  3264,  4840,
  4981,  1879,   -47, 22870,   nil,   nil,   nil,   nil,  1035,   nil,
   159,   125,  1033,   nil,   nil, 20101,   nil, 19969,   nil, 19837,
   nil,   nil,   nil,   nil, 19697,  1456,  1174,  1017,  1013,   nil,
   nil,   959, 19293,   943, 19161, 23697, 24565,   823,   980,   nil,
 19029,   935,   nil, 18897, 18765, 24317, 24255,  2443, 18633,  1052,
  1048,   253,   956,   nil, 18501,   nil,   nil, 18369,   nil,   nil,
   nil,    21, 24914,   nil,   893,   891,   nil,   889,   886,   884,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   875,  3305,   nil,
   nil, 18237,   nil,   nil,   nil,   955,   nil,   nil,   nil,   954,
   nil,   nil,   936,  1315,   962,   nil,  1879,   149,   147,   932,
   925, 17569, 17437, 24379, 24193,     9,   nil,   nil,  1177,   nil,
 24627, 23883, 17173,   nil,   nil,   nil,  -102,   193,   751,   816,
   nil,   220,   nil,   nil,   nil,   734,   nil,   nil,   nil,   744,
   nil,   nil,   290,   nil,   151,   nil,   nil,   716,   nil,   703,
   nil,   nil,   nil, 23134,   nil,   677, 16909, 16637,   -76,   629,
 16109, 15845, 15713, 15581,   490,   nil,   nil, 15053, 14921,   486,
   nil, 11357, 10961,   nil,   nil,   -52,   -40,   609,   472,   385,
  1033,   344,   nil, 22834,   nil,  3289,   416,   -13,   -48,   nil,
  3430,  3712,   nil,   283,   nil,   325, 10169,   nil,   nil,   nil,
   291,   -83,  9245,   265,   nil,   256,   248,   137,   288,   441,
  1033,   275,   214,  9113,  2161,   247,   218,   260,  8445,   nil,
    70,   nil,   468,   nil,  3994,  4276,  -111,  3117,   nil,   nil,
   356, 24838,   nil, 24846,   nil, 24861,   nil,  6837,   nil,  3275,
   nil,   794,   467,   -77,   nil,   nil,   nil,   nil,   413,   nil,
   142,   nil,   nil,   nil,   nil,   188,   nil,    26,    72,   -18,
   -19,    -1,    32,  6705,   369,  1315,   nil,   264,  4699,  5377,
   nil,   nil,   400,  4840, 24690, 24785, 23635,   nil,   nil,   nil,
   nil,   nil,   nil,  4981,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   356, 16373,  1315,  6969,   nil,   400,   nil,  2020,   nil,
  1174,   nil,   nil,  2302,   nil,  2584,   nil,  2725,  7101,  7233,
  8181,  8313,   -56, 10829,   610,   625,   nil,   629,   630,   641,
   nil,   667,   647,   643,   648, 11225,   nil,   nil,   824,   nil,
   nil,  2725,   727,   833,   nil,   nil,   nil,   712,   259,   nil,
   nil,   848,   nil,  2584,   731,   778,   nil,   nil,   785,   nil,
   763,   870,   791,   750,   nil,   nil,   nil,   752,   755,   nil,
   765,   766,   nil,   770,   nil,   nil,   774,  3416,   782,  3173,
   nil,   910,   nil, 17041,    -8,  2302,  2020,   nil, 17701,  1738,
    58,   151,   nil,   943,   374,  1597,   nil,   970,   852,   186,
   nil,   864,   863,   nil,  1597, 17973, 18105,  1456,  3120,   nil,
   nil, 24922,   nil, 22873,   nil, 24929,   nil,   nil,   916,  1301,
 19425,   480,   986,   nil,   931,   nil,   nil,   nil,  1033,   nil,
   nil,    32, 20365,   nil,   nil,   nil,   nil,   nil,   nil, 24760,
   nil, 22890,   nil, 19604,   nil, 24937,   nil,   nil,   nil,   nil,
   367,  3335,   939,   nil,    34,   nil,  1066,  1080,   nil,    16,
   nil,   nil,   nil,  1087,   nil,   nil,   nil,  1025,   nil,   986,
   nil,   nil,   990,   994,   999,  1004,   nil,  1012,   nil,   233,
   nil,   nil,   nil,   513, 23759,   nil,   nil,   nil,  2443,  1075,
  1357,  1318,  1112,  1105,   nil,  1037,  1047,  1048,  1052,  1053,
  3446,  1064,  3453,  3007,   nil,   nil,   nil,   nil,   nil,  3148,
   nil,  4417,   nil, 24705,   nil, 24697,   nil, 17880,   nil,  8624,
   nil,   nil,   nil,  1160,  1171,  1174,  1258, 21297, 24441, 24503,
   964, 24720,   nil,   nil,   nil,   nil,  3476,  1165,   721,  1293,
  1296,  1173,  1174,  1175,  1178,   nil,   nil,  1191,    33,    13,
    40,   892,  1205,  1207,   nil,   nil,   nil, 24853,   nil,   nil,
   nil,   nil,   -10,   nil,  1217,   nil ]

racc_action_default = [
    -3,  -592,    -1,  -578,    -4,  -592,    -7,  -592,  -592,  -592,
  -592,   -29,  -592,  -592,  -592,  -279,  -592,   -40,   -43,  -580,
  -592,   -48,   -50,   -51,   -52,   -56,  -256,  -256,  -256,  -293,
  -328,  -329,   -68,   -11,   -72,   -80,   -82,  -592,  -485,  -486,
  -592,  -592,  -592,  -592,  -592,  -580,  -237,  -270,  -271,  -272,
  -273,  -274,  -275,  -276,  -277,  -278,  -568,  -281,  -283,  -591,
  -559,  -301,  -389,  -592,  -592,  -306,  -309,  -578,  -592,  -592,
  -592,  -592,  -330,  -331,  -426,  -427,  -428,  -429,  -430,  -451,
  -433,  -434,  -453,  -455,  -438,  -443,  -447,  -449,  -465,  -453,
  -467,  -469,  -470,  -471,  -472,  -566,  -474,  -475,  -567,  -477,
  -478,  -479,  -480,  -481,  -482,  -483,  -484,  -489,  -490,  -592,
    -2,  -579,  -587,  -588,  -589,    -6,  -592,  -592,  -592,  -592,
  -592,    -3,   -17,  -592,  -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,  -592,  -592,  -246,
  -592,  -592,  -592,  -592,  -592,  -592,  -592,  -580,  -581,   -47,
  -592,  -485,  -486,  -592,  -279,  -592,  -592,  -229,  -592,   -11,
  -592,  -592,  -592,  -592,  -592,  -592,  -592,  -592,  -592,  -592,
  -592,  -592,  -592,  -592,  -592,  -592,  -592,  -592,  -592,  -592,
  -592,  -592,  -592,  -592,  -592,  -592,  -592,  -395,  -397,  -592,
  -576,  -577,   -57,  -246,  -592,  -300,  -401,  -410,  -412,   -63,
  -407,   -64,  -580,   -65,  -238,  -251,  -260,  -260,  -255,  -592,
  -261,  -592,  -561,  -592,  -592,   -66,   -67,  -578,   -12,  -592,
   -15,  -592,   -70,   -11,  -580,  -592,   -73,   -76,   -11,   -88,
   -89,  -592,  -592,   -96,  -293,  -296,  -580,  -592,  -328,  -329,
  -332,  -408,  -592,   -78,  -592,   -84,  -290,  -468,  -592,  -214,
  -215,  -230,  -592,   -11,  -592,  -580,  -239,  -584,  -584,  -592,
  -592,  -584,  -592,  -302,  -303,  -518,   -49,  -592,  -592,  -592,
  -592,  -578,  -592,  -579,  -485,  -486,  -592,  -592,  -279,  -592,
  -342,  -343,  -106,  -107,  -592,  -109,  -592,  -279,  -592,  -592,
  -485,  -486,  -321,  -111,  -112,  -153,  -154,  -155,  -171,  -176,
  -183,  -186,  -323,  -592,  -557,  -592,  -431,  -592,  -592,  -592,
  -592,  -592,  -592,  -592,  -592,  1016,    -5,  -590,   -23,   -24,
   -25,   -26,   -27,  -592,  -592,   -19,   -20,   -21,  -121,  -592,
   -30,   -39,  -266,  -592,  -592,  -265,   -31,  -196,  -580,  -247,
  -260,  -260,  -569,  -570,  -256,  -405,  -571,  -572,  -570,  -569,
  -256,  -404,  -406,  -571,  -572,   -37,  -204,   -38,  -592,   -41,
   -42,  -194,  -261,   -44,   -45,   -46,  -580,  -299,  -592,  -592,
  -592,  -246,  -290,  -592,  -592,  -592,  -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,  -580,  -378,  -256,  -569,  -570,   -54,   -58,  -580,  -257,
  -378,  -378,  -580,  -295,  -252,  -592,  -253,  -592,  -258,  -592,
  -262,  -564,  -565,   -10,  -579,   -14,    -3,  -580,   -69,  -288,
   -85,   -74,  -592,  -580,  -246,  -592,  -592,   -95,  -592,  -468,
  -592,   -81,   -86,  -592,  -592,  -592,  -592,  -235,  -592,  -418,
  -592,  -284,  -592,  -240,  -586,  -585,  -242,  -586,  -291,  -292,
  -560,  -592,  -518,  -392,  -556,  -556,  -501,  -503,  -503,  -503,
  -517,  -519,  -520,  -521,  -522,  -523,  -524,  -525,  -592,  -527,
  -529,  -531,  -536,  -538,  -539,  -541,  -546,  -548,  -549,  -551,
  -552,  -553,  -592,   -11,  -333,  -334,   -11,  -592,  -592,  -592,
  -592,  -592,  -246,  -592,  -592,  -290,  -314,  -106,  -107,  -108,
  -592,  -592,  -246,  -317,  -491,  -492,  -592,  -592,   -11,  -496,
  -325,  -580,  -432,  -452,  -457,  -592,  -459,  -435,  -454,  -592,
  -456,  -437,  -592,  -440,  -592,  -442,  -445,  -592,  -446,  -592,
  -466,    -8,   -18,  -592,   -28,  -269,  -592,  -592,  -409,  -592,
  -248,  -250,  -592,  -592,   -59,  -245,  -402,  -592,  -592,   -61,
  -403,  -592,  -592,  -298,  -582,  -569,  -570,  -569,  -570,  -580,
  -194,  -592,  -379,  -580,  -381,   -11,   -53,  -398,  -378,  -243,
   -11,   -11,  -294,  -260,  -259,  -263,  -592,  -562,  -563,   -13,
  -592,   -71,  -592,   -77,   -83,  -580,  -569,  -570,  -244,   -92,
   -94,  -592,   -79,  -592,  -203,  -213,  -580,  -591,  -591,  -282,
  -580,  -287,  -584,  -390,   -11,   -11,  -580,  -592,  -499,  -500,
  -592,  -592,  -510,  -592,  -513,  -592,  -515,  -592,  -344,  -592,
  -346,  -348,  -355,  -580,  -530,  -540,  -550,  -554,  -591,  -335,
  -591,  -307,  -336,  -337,  -310,  -592,  -313,  -592,  -580,  -569,
  -570,  -573,  -289,  -592,  -106,  -107,  -110,  -580,   -11,  -592,
  -494,  -319,  -592,   -11,  -518,  -518,  -592,  -558,  -458,  -461,
  -462,  -463,  -464,   -11,  -436,  -439,  -441,  -444,  -448,  -450,
  -122,  -267,  -592,  -197,  -592,  -583,  -260,   -33,  -199,   -34,
  -200,   -60,   -35,  -202,   -36,  -201,   -62,  -195,  -592,  -592,
  -592,  -592,  -409,  -592,  -556,  -556,  -360,  -362,  -362,  -362,
  -377,  -592,  -580,  -383,  -525,  -533,  -534,  -544,  -592,  -400,
  -399,   -11,  -592,  -592,  -254,  -264,   -16,   -75,   -90,   -87,
  -297,  -591,  -340,   -11,  -419,  -591,  -420,  -421,  -592,  -241,
  -592,  -592,  -592,  -556,  -537,  -555,  -502,  -503,  -503,  -528,
  -503,  -503,  -547,  -503,  -525,  -542,  -580,  -592,  -353,  -592,
  -526,  -592,  -338,  -592,  -592,   -11,   -11,  -312,  -592,   -11,
  -409,  -592,  -409,  -592,  -592,   -11,  -322,  -592,  -580,  -592,
  -326,  -592,  -268,   -32,  -198,  -249,  -592,  -236,  -592,  -358,
  -359,  -368,  -370,  -592,  -373,  -592,  -375,  -380,  -592,  -592,
  -592,  -532,  -592,  -396,  -592,  -411,  -413,    -9,   -11,  -425,
  -341,  -592,  -592,  -423,  -285,  -393,  -394,  -391,  -498,  -592,
  -506,  -592,  -508,  -592,  -511,  -592,  -514,  -516,  -345,  -347,
  -351,  -592,  -356,  -304,  -592,  -305,  -592,  -592,  -263,  -591,
  -315,  -318,  -493,  -592,  -324,  -495,  -497,  -496,  -460,  -556,
  -535,  -361,  -362,  -362,  -362,  -362,  -545,  -362,  -382,  -580,
  -385,  -387,  -388,  -543,  -592,  -290,   -55,  -424,   -11,   -97,
   -98,  -592,  -592,  -105,  -422,  -503,  -503,  -503,  -503,  -349,
  -592,  -354,  -592,   -11,  -308,  -311,  -414,  -415,  -416,   -11,
  -320,   -11,  -357,  -592,  -365,  -592,  -367,  -592,  -371,  -592,
  -374,  -376,  -384,  -592,  -289,  -573,  -418,  -246,  -592,  -592,
  -104,  -592,  -504,  -507,  -509,  -512,  -592,  -352,  -591,  -592,
  -592,  -362,  -362,  -362,  -362,  -386,  -417,  -580,  -569,  -570,
  -573,  -103,  -503,  -350,  -339,  -316,  -327,  -592,  -363,  -366,
  -369,  -372,  -409,  -505,  -362,  -364 ]

clist = [
'216,219,326,14,275,275,275,372,14,570,333,127,127,677,408,2,430,276',
'276,276,258,563,566,220,130,130,322,523,526,486,520,530,220,220,220',
'259,14,301,301,111,132,132,122,205,337,338,733,327,341,831,310,310,414',
'420,296,6,657,405,533,801,6,540,618,427,317,477,220,220,478,511,220',
'346,356,356,127,114,110,313,902,277,277,277,711,714,310,310,310,822',
'292,295,336,336,834,654,336,654,657,388,389,390,391,473,579,294,930',
'703,262,269,271,328,331,881,781,778,14,273,285,286,115,220,220,220,220',
'14,14,926,645,932,899,688,689,378,602,604,650,651,393,728,384,114,342',
'819,845,336,336,336,336,588,266,270,951,358,362,589,736,812,917,723',
'659,836,340,780,835,486,877,339,6,325,782,680,692,694,696,324,323,392',
'6,373,929,593,204,600,603,603,275,583,531,683,400,406,657,335,349,425',
'429,404,351,472,480,987,779,404,481,956,805,959,376,377,995,14,220,220',
'220,401,424,220,220,220,220,220,220,379,380,334,386,926,394,381,654',
'654,382,932,14,383,738,1003,715,743,275,275,729,433,434,435,436,330',
'639,275,818,374,820,868,276,899,817,686,826,663,540,647,276,648,399',
'814,920,672,220,220,329,613,1,,,,26,220,,,,26,,414,420,822,,295,,508',
',,,957,14,772,26,732,14,,,,301,14,791,26,26,26,522,26,,665,,819,,310',
'277,,,301,,798,567,568,277,494,,,14,220,726,1004,310,922,415,,512,509',
',26,26,501,,26,220,220,495,819,,668,292,295,479,521,,292,295,,910,668',
'482,114,493,,220,497,,,336,336,503,859,860,,840,,961,,,718,220,,,842',
'809,,590,26,587,727,,619,26,26,26,26,26,26,,127,,,,839,591,,746,794',
'746,,888,,130,,,114,569,668,275,797,923,819,924,,,668,657,,132,761,612',
'266,584,,766,270,430,843,,,,,847,,,424,220,,945,,,,890,892,641,894,896',
',897,848,849,,540,540,,654,,,,,,,996,,,16,,,,,16,275,26,26,26,26,,,26',
'26,26,26,26,26,,,624,,,14,,14,629,,,26,,301,16,220,794,424,,660,,301',
'962,,,,310,424,991,220,512,,,,310,,806,,512,,,,,653,625,26,26,,,350',
'630,,,676,26,275,,,,6,913,646,,,,275,,717,,415,,26,,938,14,26,,14,,',
'26,,682,220,958,424,982,983,984,985,,424,16,220,,,953,,,14,,16,16,625',
'790,26,26,,,,,757,759,,,,762,764,,,429,26,26,,127,,,708,619,807,710',
',783,220,220,415,,130,220,220,,26,220,1013,,415,,712,712,,,,789,132',
'619,750,14,26,,1012,,14,14,,,785,730,731,,808,,,,301,404,783,990,,756',
',850,,,,301,,310,16,,,512,,,,428,14,14,310,,,,799,,415,,,,619,,788,16',
'415,841,,792,793,619,,844,,,,,26,,,,,,,,,,,220,,,776,,14,220,,,853,14',
',,127,810,811,,,879,,14,,883,,336,,,,,437,336,220,,,,,16,783,,,16,,26',
',26,16,,815,547,,815,,26,,,,997,,,,,,871,,625,,26,630,14,,16,,,851,',
'310,,,,,14,,,,483,,,,904,,,,,39,668,,,332,39,,,,,,,,498,,,,220,26,14',
'14,26,,14,,,,26,874,14,,,,39,300,300,,26,,,880,336,,26,,,775,,,,,,,785',
'933,,785,,785,,785,,14,,,,941,310,345,361,361,361,906,907,,,909,26,26',
'310,,,26,26,,,26,,,,813,972,,,712,,,912,,,26,,916,,,26,26,,,,,39,,,',
'937,,,424,,39,39,14,,,815,,,776,,776,,776,275,,,,14,,26,26,,777,14,',
'14,,,16,,16,402,547,,,633,,432,785,619,785,220,785,424,785,,,,698,,',
',,,,976,,,26,,,,,26,26,,,,26,,988,,821,,823,,989,649,26,,,652,785,,',
',39,,,26,,862,864,866,15,,661,16,,15,16,,664,488,,490,,491,492,39,776',
',776,,776,,776,,,,,,16,,,,26,15,303,303,,,,,,,,,26,,,919,,784,775,,775',
',775,,,,,,776,,,,,,,415,348,357,357,428,,,26,39,26,26,,39,26,,,300,39',
'16,26,,,,16,16,,,,,737,547,,547,300,,,,,698,,,828,39,,15,,,,,,,,26,15',
'15,,,16,16,,,,,,,,615,,,,,,,547,547,964,966,968,970,,971,925,,927,,775',
',775,,775,,775,,,,,,,,,,16,,,,,16,946,,947,,948,26,,800,,16,,,,,,,,',
'38,,26,,775,38,,13,26,,26,,13,,15,,830,,,1008,1009,1010,1011,655,,332',
'26,658,,,,,,38,299,299,,15,,16,13,698,1015,698,,,,,,,,16,,,,,992,,993',
',994,,655,,,332,,,344,360,360,360,,,1002,784,,784,,,,,,16,16,,,16,39',
'704,39,,,16,,,300,15,,,1014,15,,547,300,303,15,,,432,,38,,,949,698,',
',13,,38,38,303,,,,16,13,13,,944,15,,,,,,,,898,,,,,,,,,,,,,,,751,,,39',
'655,332,39,915,,,698,,698,,,,,,,,,,,784,,,,,39,,,,16,,,,,,,,795,,,,',
',698,16,,,,,38,16,,16,,,,13,,,804,,,,,,,,,,,,,38,,,,,,825,13,,,39,,',
',,39,39,,,,,,,,,,,300,,,,,,,,,,,300,,,,,,,,,,,39,39,,,,,,,,,,38,852',
',,38,,,13,299,38,,13,,15,,15,13,,,,,303,,,,299,,,,303,,,,39,38,,,,39',
',,13,,,,,,,39,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,15,,,15,,908,,,361,,',
',,,39,,,,,,,,332,,,15,39,,,,,,742,,,,,,,,,,,,,,,,,,,,,,,,,,39,39,,,39',
',,,,,39,,,,,,,,,,,,,,15,,,,,15,15,,,,,361,,,,,,303,,39,,,,940,,,,,303',
',,,,,,,,,,15,15,38,,38,,,,,13,299,13,,,,,,,299,,,,,,,,,,,,,,,,,,,,,',
'39,,,,15,,,,,15,,,,,,39,,,,15,,39,,39,,,,,,,,38,,,38,,,,13,,,13,,,,',
',,,,,,,,,,38,,,,,357,,13,,,,15,,,,,,,,,,,,15,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,15,15,38,,15,,,38,38,13,15,,,,13,13,,,,299,,,,,,,,,,,299,,,',
',357,,,,,,38,38,15,227,,,943,13,13,,,,274,274,274,,,,,,,,,,,319,320',
'321,,,,,,,,,,,,,,,274,274,38,,,,,38,,13,,,,,13,,,38,,,15,,,,13,,,,,',
',,,,,15,,,,,,15,,15,,,,,,,,,,,,,,,,360,,,,,,38,,,,,,,13,,,,,38,,,,,',
',13,,,,,,,,,,,,,,,,,,,,,,,,,38,38,,,38,,,13,13,,38,13,,,,,,13,,,,,,',
',,,,,,,,,,,360,,,,274,407,274,,38,426,431,,939,,,13,,,,,,,,,,227,,,446',
'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,,,,,,,274,274,,,,,,,38,274,,,,,,13,274',
',274,,274,274,,38,,,,,,38,13,38,,,,,13,,13,,,,,,,,,,,,,,,,,,,,,517,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,274,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274,,426,640,407',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274,,274,,274,,,,,,,,,,,,,,,274',
',,,,,,,,674,675,,,,,,,,,,274,,,274,,,,,,,,,,,,,,,,,,,,,,,,274,,,,,,',
',,,,,,,,,,,,,274,274,,,,,,,,,,274,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274',
'753,,,274,274,758,760,,,,763,765,,,640,767,,,,,,,,,,,,,,,,,,,,,,,,274',
',,,,,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274,,854,,,,,,,,,,,,,,758,760,765,763',
',857,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',274,,,,,,,,,,,,,,,,,274,854,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,274' ]
        racc_goto_table = arr = ::Array.new(2870, 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,20,67,22,33,33,33,56,22,92,86,57,57,10,23,2,18,68,68,68,137,89,89',
'22,60,60,31,69,69,73,8,69,22,22,22,36,22,22,22,6,61,61,15,15,17,17,96',
'68,17,90,64,64,37,37,49,7,174,27,136,11,7,160,24,27,63,39,22,22,23,51',
'22,22,22,22,57,95,4,50,117,70,70,70,91,91,64,64,64,170,45,9,29,29,11',
'74,29,74,174,17,17,17,17,37,54,46,131,116,38,38,38,70,70,144,129,126',
'22,44,44,44,5,22,22,22,22,22,22,171,40,132,114,121,121,149,152,152,40',
'40,2,108,149,95,4,165,109,29,29,29,29,110,71,71,117,55,55,111,112,129',
'113,106,14,105,104,118,103,73,12,102,7,101,124,100,163,163,163,99,98',
'7,7,97,130,153,16,153,153,153,33,94,133,134,20,20,174,135,93,20,20,68',
'19,138,140,117,127,68,141,142,143,107,147,148,131,22,22,22,22,28,57',
'22,22,22,22,22,22,150,151,88,5,171,30,154,74,74,155,132,22,156,157,117',
'92,158,33,33,159,29,29,29,29,85,23,33,127,84,127,129,68,114,164,136',
'116,51,160,72,68,42,9,167,168,51,22,22,66,62,1,,,,41,22,,,,41,,37,37',
'170,,9,,31,,,,11,22,24,41,8,22,,,,22,22,40,41,41,41,31,41,,23,,165,',
'64,70,,,22,,24,17,17,70,6,,,22,22,54,90,64,126,71,,49,63,,41,41,50,',
'41,22,22,7,165,,37,45,9,44,29,,45,9,,91,37,44,95,4,,22,46,,,29,29,46',
'121,121,,24,,96,,,23,22,,,24,69,,36,41,29,23,,31,41,41,41,41,41,41,',
'57,,,,89,29,,153,73,153,,121,,60,,,95,4,37,33,51,127,165,127,,,37,174',
',61,39,15,71,95,,39,71,18,8,,,,,8,,,57,22,,127,,,,163,163,31,163,163',
',163,136,136,,160,160,,74,,,,,,,10,,,26,,,,,26,33,41,41,41,41,,,41,41',
'41,41,41,41,,,38,,,22,,22,38,,,41,,22,26,22,73,57,,2,,22,121,,,,64,57',
'127,22,49,,,,64,,27,,49,,,,,70,71,41,41,,,26,71,,,29,41,33,,,,7,8,38',
',,,33,,68,,71,,41,,89,22,41,,22,,,41,,70,22,92,57,163,163,163,163,,57',
'26,22,,,89,,,22,,26,26,71,86,41,41,,,,,20,20,,,,20,20,,,20,41,41,,57',
',,9,31,67,9,,31,22,22,71,,60,22,22,,41,22,163,,71,,95,95,,,,137,61,31',
'15,22,41,,24,,22,22,,,166,95,95,,31,,,,22,68,31,8,,70,,56,,,,22,,64',
'26,,,49,,,,26,22,22,64,,,,49,,71,,,,31,,9,26,71,17,,9,9,31,,17,,,,,41',
',,,,,,,,,,22,,,122,,22,22,,,20,22,,,57,9,9,,,67,,22,,67,,29,,,,,47,29',
'22,,,,,26,31,,,26,,41,,41,26,,122,115,,122,,41,,,,23,,,,,,22,,71,,41',
'71,22,,26,,,9,,64,,,,,22,,,,47,,,,17,,,,,53,37,,,65,53,,,,,,,,47,,,',
'22,41,22,22,41,,22,,,,41,9,22,,,,53,53,53,,41,,,9,29,,41,,,120,,,,,',
',166,22,,166,,166,,166,,22,,,,22,64,53,53,53,53,9,9,,,9,41,41,64,,,41',
'41,,,41,,,,120,31,,,95,,,95,,,41,,95,,,41,41,,,,,53,,,,9,,,57,,53,53',
'22,,,122,,,122,,122,,122,33,,,,22,,41,41,,125,22,,22,,,26,,26,65,115',
',,47,,65,166,31,166,22,166,57,166,,,,115,,,,,,,9,,,41,,,,,41,41,,,,41',
',9,,125,,125,,9,47,41,,,47,166,,,,53,,,41,,123,123,123,25,,47,26,,25',
'26,,47,65,,65,,65,65,53,122,,122,,122,,122,,,,,,26,,,,41,25,25,25,,',
',,,,,,41,,,120,,115,120,,120,,120,,,,,,122,,,,,,,71,25,25,25,26,,,41',
'53,41,41,,53,41,,,53,53,26,41,,,,26,26,,,,,47,115,,115,53,,,,,115,,',
'115,53,,25,,,,,,,,41,25,25,,,26,26,,,,,,,,65,,,,,,,115,115,123,123,123',
'123,,123,125,,125,,120,,120,,120,,120,,,,,,,,,,26,,,,,26,125,,125,,125',
'41,,47,,26,,,,,,,,,52,,41,,120,52,,21,41,,41,,21,,25,,47,,,123,123,123',
'123,65,,65,41,65,,,,,,52,52,52,,25,,26,21,115,123,115,,,,,,,,26,,,,',
'125,,125,,125,,65,,,65,,,52,52,52,52,,,125,115,,115,,,,,,26,26,,,26',
'53,65,53,,,26,,,53,25,,,125,25,,115,53,25,25,,,65,,52,,,115,115,,,21',
',52,52,25,,,,26,21,21,,26,25,,,,,,,,47,,,,,,,,,,,,,,,65,,,53,65,65,53',
'47,,,115,,115,,,,,,,,,,,115,,,,,53,,,,26,,,,,,,,65,,,,,,115,26,,,,,52',
'26,,26,,,,21,,,65,,,,,,,,,,,,,52,,,,,,65,21,,,53,,,,,53,53,,,,,,,,,',
',53,,,,,,,,,,,53,,,,,,,,,,,53,53,,,,,,,,,,52,65,,,52,,,21,52,52,,21',
',25,,25,21,,,,,25,,,,52,,,,25,,,,53,52,,,,53,,,21,,,,,,,53,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,25,,,25,,65,,,53,,,,,,53,,,,,,,,65,,,25,53,',
',,,,25,,,,,,,,,,,,,,,,,,,,,,,,,,53,53,,,53,,,,,,53,,,,,,,,,,,,,,25,',
',,,25,25,,,,,53,,,,,,25,,53,,,,53,,,,,25,,,,,,,,,,,25,25,52,,52,,,,',
'21,52,21,,,,,,,52,,,,,,,,,,,,,,,,,,,,,,53,,,,25,,,,,25,,,,,,53,,,,25',
',53,,53,,,,,,,,52,,,52,,,,21,,,21,,,,,,,,,,,,,,,52,,,,,25,,21,,,,25',
',,,,,,,,,,,25,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,25,52,,25,,,52,52,21',
'25,,,,21,21,,,,52,,,,,,,,,,,52,,,,,25,,,,,,52,52,25,32,,,25,21,21,,',
',32,32,32,,,,,,,,,,,32,32,32,,,,,,,,,,,,,,,32,32,52,,,,,52,,21,,,,,21',
',,52,,,25,,,,21,,,,,,,,,,,25,,,,,,25,,25,,,,,,,,,,,,,,,,52,,,,,,52,',
',,,,,21,,,,,52,,,,,,,21,,,,,,,,,,,,,,,,,,,,,,,,,52,52,,,52,,,21,21,',
'52,21,,,,,,21,,,,,,,,,,,,,,,,,,52,,,,32,32,32,,52,32,32,,52,,,21,,,',
',,,,,,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,,,,,,,52,32,,,,,,21,32,,32,,32,32,',
'52,,,,,,52,21,52,,,,,21,,21,,,,,,,,,,,,,,,,,,,,,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(2870, 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,   270,    15,   nil,    73,   113,    36,    55,  -293,    56,
  -506,  -618,  -637,   nil,  -336,    34,   171,   -19,  -197,   128,
   -19,  1232,     3,  -195,  -346,  1033,   473,  -150,     6,    27,
   104,   -19,  1892,   -25,   nil,   nil,    11,  -158,    80,  -197,
  -346,   274,  -215,   nil,    86,    55,    70,   538,   nil,    20,
    42,  -245,  1225,   819,  -252,    82,   -64,     3,   nil,   nil,
    16,    32,  -129,    23,    16,   763,   209,   -57,   -12,  -300,
    50,   122,  -214,  -248,  -392,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   178,   185,   -51,   nil,   161,  -316,
  -659,  -485,  -333,   124,  -173,    72,  -543,   106,   117,   115,
  -352,   109,   100,  -549,    94,  -555,  -419,  -705,  -446,  -589,
  -215,  -219,  -436,  -694,  -699,   439,  -443,  -751,  -482,   nil,
   222,  -405,    86,   253,  -475,   318,  -530,  -443,   nil,  -531,
  -691,  -765,  -742,  -149,  -344,   129,  -277,    -2,   -60,   nil,
   -69,   -66,  -706,  -474,  -694,   nil,   nil,   129,   128,    49,
   138,   138,  -248,  -198,   142,   144,   146,  -361,  -359,  -345,
  -274,   nil,   nil,  -367,  -437,  -550,    14,  -424,  -594,   nil,
  -606,  -738,   nil,   nil,  -431 ]

racc_goto_default = [
   nil,   nil,   nil,     3,   nil,     4,   343,   290,   nil,   519,
   nil,   832,   nil,   287,   288,   nil,   nil,   nil,    11,    12,
    18,   226,   318,   nil,   nil,   224,   225,   nil,   nil,    17,
   nil,   438,    21,    22,    23,    24,   nil,   671,   nil,   nil,
   nil,   307,   nil,    25,   409,    32,   nil,   nil,    34,    37,
    36,   nil,   221,   222,   355,   nil,   129,   417,   128,   131,
    75,    76,   nil,    90,    46,   280,   nil,   802,   410,   nil,
   411,   422,   626,   484,   278,   264,    47,    48,    49,    50,
    51,    52,    53,    54,    55,   nil,   265,    61,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   564,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   700,   824,   nil,   701,   921,   774,
   535,   nil,   536,   nil,   nil,   537,   nil,   539,   642,   nil,
   nil,   nil,   545,   nil,   nil,   nil,   nil,   nil,   nil,   421,
   nil,   nil,   nil,   nil,   nil,    74,    77,    78,   nil,   nil,
   nil,   nil,   nil,   598,   nil,   nil,   nil,   nil,   nil,   nil,
   816,   735,   534,   nil,   538,   549,   551,   552,   786,   555,
   556,   787,   559,   562,   282 ]

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,
  3, 232, :_reduce_390,
  4, 277, :_reduce_391,
  1, 277, :_reduce_392,
  3, 278, :_reduce_393,
  3, 278, :_reduce_394,
  0, 282, :_reduce_395,
  5, 281, :_reduce_396,
  2, 179, :_reduce_397,
  4, 179, :_reduce_398,
  5, 179, :_reduce_399,
  5, 179, :_reduce_400,
  2, 231, :_reduce_401,
  4, 231, :_reduce_402,
  4, 231, :_reduce_403,
  3, 231, :_reduce_404,
  3, 231, :_reduce_405,
  3, 231, :_reduce_406,
  2, 231, :_reduce_407,
  1, 231, :_reduce_408,
  4, 231, :_reduce_409,
  0, 284, :_reduce_410,
  5, 230, :_reduce_411,
  0, 285, :_reduce_412,
  5, 230, :_reduce_413,
  5, 236, :_reduce_414,
  1, 286, :_reduce_415,
  1, 286, :_reduce_none,
  6, 154, :_reduce_417,
  0, 154, :_reduce_418,
  1, 287, :_reduce_419,
  1, 287, :_reduce_none,
  1, 287, :_reduce_none,
  2, 288, :_reduce_422,
  1, 288, :_reduce_none,
  2, 156, :_reduce_424,
  1, 156, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  1, 221, :_reduce_429,
  1, 290, :_reduce_430,
  2, 290, :_reduce_431,
  3, 291, :_reduce_432,
  1, 291, :_reduce_433,
  1, 291, :_reduce_434,
  3, 222, :_reduce_435,
  4, 223, :_reduce_436,
  3, 224, :_reduce_437,
  0, 295, :_reduce_438,
  3, 295, :_reduce_439,
  1, 296, :_reduce_440,
  2, 296, :_reduce_441,
  3, 226, :_reduce_442,
  0, 298, :_reduce_443,
  3, 298, :_reduce_444,
  3, 225, :_reduce_445,
  3, 227, :_reduce_446,
  0, 299, :_reduce_447,
  3, 299, :_reduce_448,
  0, 300, :_reduce_449,
  3, 300, :_reduce_450,
  0, 292, :_reduce_451,
  2, 292, :_reduce_452,
  0, 293, :_reduce_453,
  2, 293, :_reduce_454,
  0, 294, :_reduce_455,
  2, 294, :_reduce_456,
  1, 297, :_reduce_457,
  2, 297, :_reduce_458,
  0, 302, :_reduce_459,
  4, 297, :_reduce_460,
  1, 301, :_reduce_461,
  1, 301, :_reduce_462,
  1, 301, :_reduce_463,
  1, 301, :_reduce_none,
  1, 204, :_reduce_465,
  3, 205, :_reduce_466,
  1, 289, :_reduce_467,
  2, 289, :_reduce_468,
  1, 207, :_reduce_469,
  1, 207, :_reduce_470,
  1, 207, :_reduce_471,
  1, 207, :_reduce_472,
  1, 196, :_reduce_473,
  1, 196, :_reduce_474,
  1, 196, :_reduce_475,
  1, 196, :_reduce_476,
  1, 196, :_reduce_477,
  1, 197, :_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, 228, :_reduce_485,
  1, 228, :_reduce_486,
  1, 165, :_reduce_487,
  1, 165, :_reduce_488,
  1, 169, :_reduce_489,
  1, 169, :_reduce_490,
  1, 238, :_reduce_491,
  0, 303, :_reduce_492,
  4, 238, :_reduce_493,
  2, 238, :_reduce_494,
  3, 240, :_reduce_495,
  0, 305, :_reduce_496,
  3, 240, :_reduce_497,
  4, 304, :_reduce_498,
  2, 304, :_reduce_499,
  2, 304, :_reduce_500,
  1, 304, :_reduce_501,
  2, 307, :_reduce_502,
  0, 307, :_reduce_503,
  6, 280, :_reduce_504,
  8, 280, :_reduce_505,
  4, 280, :_reduce_506,
  6, 280, :_reduce_507,
  4, 280, :_reduce_508,
  6, 280, :_reduce_509,
  2, 280, :_reduce_510,
  4, 280, :_reduce_511,
  6, 280, :_reduce_512,
  2, 280, :_reduce_513,
  4, 280, :_reduce_514,
  2, 280, :_reduce_515,
  4, 280, :_reduce_516,
  1, 280, :_reduce_517,
  0, 280, :_reduce_518,
  1, 276, :_reduce_519,
  1, 276, :_reduce_520,
  1, 276, :_reduce_521,
  1, 276, :_reduce_522,
  1, 259, :_reduce_none,
  1, 259, :_reduce_524,
  1, 309, :_reduce_525,
  3, 309, :_reduce_526,
  1, 269, :_reduce_527,
  3, 269, :_reduce_528,
  1, 310, :_reduce_529,
  2, 311, :_reduce_530,
  1, 311, :_reduce_531,
  2, 312, :_reduce_532,
  1, 312, :_reduce_533,
  1, 263, :_reduce_534,
  3, 263, :_reduce_535,
  1, 306, :_reduce_536,
  3, 306, :_reduce_537,
  1, 313, :_reduce_none,
  1, 313, :_reduce_none,
  2, 264, :_reduce_540,
  1, 264, :_reduce_541,
  3, 314, :_reduce_542,
  3, 315, :_reduce_543,
  1, 270, :_reduce_544,
  3, 270, :_reduce_545,
  1, 308, :_reduce_546,
  3, 308, :_reduce_547,
  1, 316, :_reduce_none,
  1, 316, :_reduce_none,
  2, 271, :_reduce_550,
  1, 271, :_reduce_551,
  1, 317, :_reduce_none,
  1, 317, :_reduce_none,
  2, 266, :_reduce_554,
  2, 265, :_reduce_555,
  0, 265, :_reduce_556,
  1, 241, :_reduce_none,
  3, 241, :_reduce_558,
  0, 229, :_reduce_559,
  2, 229, :_reduce_none,
  1, 214, :_reduce_561,
  3, 214, :_reduce_562,
  3, 318, :_reduce_563,
  2, 318, :_reduce_564,
  2, 318, :_reduce_565,
  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, 283, :_reduce_none,
  1, 283, :_reduce_none,
  1, 283, :_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_582,
  2, 168, :_reduce_583,
  0, 213, :_reduce_none,
  1, 213, :_reduce_none,
  1, 213, :_reduce_none,
  1, 239, :_reduce_587,
  1, 239, :_reduce_none,
  1, 150, :_reduce_none,
  2, 150, :_reduce_none,
  0, 211, :_reduce_591 ]

racc_reduce_n = 592

racc_shift_n = 1016

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,
  :tREGEXP_END => 63,
  :tUPLUS => 64,
  :tUMINUS => 65,
  :tUMINUS_NUM => 66,
  :tPOW => 67,
  :tCMP => 68,
  :tEQ => 69,
  :tEQQ => 70,
  :tNEQ => 71,
  :tGEQ => 72,
  :tLEQ => 73,
  :tANDOP => 74,
  :tOROP => 75,
  :tMATCH => 76,
  :tNMATCH => 77,
  :tDOT => 78,
  :tDOT2 => 79,
  :tDOT3 => 80,
  :tAREF => 81,
  :tASET => 82,
  :tLSHFT => 83,
  :tRSHFT => 84,
  :tCOLON2 => 85,
  :tCOLON3 => 86,
  :tOP_ASGN => 87,
  :tASSOC => 88,
  :tLPAREN => 89,
  :tLPAREN2 => 90,
  :tRPAREN => 91,
  :tLPAREN_ARG => 92,
  :tLBRACK => 93,
  :tLBRACK2 => 94,
  :tRBRACK => 95,
  :tLBRACE => 96,
  :tLBRACE_ARG => 97,
  :tSTAR => 98,
  :tSTAR2 => 99,
  :tAMPER => 100,
  :tAMPER2 => 101,
  :tTILDE => 102,
  :tPERCENT => 103,
  :tDIVIDE => 104,
  :tDSTAR => 105,
  :tPLUS => 106,
  :tMINUS => 107,
  :tLT => 108,
  :tGT => 109,
  :tPIPE => 110,
  :tBANG => 111,
  :tCARET => 112,
  :tLCURLY => 113,
  :tRCURLY => 114,
  :tBACK_REF2 => 115,
  :tSYMBEG => 116,
  :tSTRING_BEG => 117,
  :tXSTRING_BEG => 118,
  :tREGEXP_BEG => 119,
  :tREGEXP_OPT => 120,
  :tWORDS_BEG => 121,
  :tQWORDS_BEG => 122,
  :tSYMBOLS_BEG => 123,
  :tQSYMBOLS_BEG => 124,
  :tSTRING_DBEG => 125,
  :tSTRING_DVAR => 126,
  :tSTRING_END => 127,
  :tSTRING_DEND => 128,
  :tSTRING => 129,
  :tSYMBOL => 130,
  :tNL => 131,
  :tEH => 132,
  :tCOLON => 133,
  :tCOMMA => 134,
  :tSPACE => 135,
  :tSEMI => 136,
  :tLAMBDA => 137,
  :tLAMBEG => 138,
  :tCHARACTER => 139,
  :tRATIONAL => 140,
  :tIMAGINARY => 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",
  "tREGEXP_END",
  "tUPLUS",
  "tUMINUS",
  "tUMINUS_NUM",
  "tPOW",
  "tCMP",
  "tEQ",
  "tEQQ",
  "tNEQ",
  "tGEQ",
  "tLEQ",
  "tANDOP",
  "tOROP",
  "tMATCH",
  "tNMATCH",
  "tDOT",
  "tDOT2",
  "tDOT3",
  "tAREF",
  "tASET",
  "tLSHFT",
  "tRSHFT",
  "tCOLON2",
  "tCOLON3",
  "tOP_ASGN",
  "tASSOC",
  "tLPAREN",
  "tLPAREN2",
  "tRPAREN",
  "tLPAREN_ARG",
  "tLBRACK",
  "tLBRACK2",
  "tRBRACK",
  "tLBRACE",
  "tLBRACE_ARG",
  "tSTAR",
  "tSTAR2",
  "tAMPER",
  "tAMPER2",
  "tTILDE",
  "tPERCENT",
  "tDIVIDE",
  "tDSTAR",
  "tPLUS",
  "tMINUS",
  "tLT",
  "tGT",
  "tPIPE",
  "tBANG",
  "tCARET",
  "tLCURLY",
  "tRCURLY",
  "tBACK_REF2",
  "tSYMBEG",
  "tSTRING_BEG",
  "tXSTRING_BEG",
  "tREGEXP_BEG",
  "tREGEXP_OPT",
  "tWORDS_BEG",
  "tQWORDS_BEG",
  "tSYMBOLS_BEG",
  "tQSYMBOLS_BEG",
  "tSTRING_DBEG",
  "tSTRING_DVAR",
  "tSTRING_END",
  "tSTRING_DEND",
  "tSTRING",
  "tSYMBOL",
  "tNL",
  "tEH",
  "tCOLON",
  "tCOMMA",
  "tSPACE",
  "tSEMI",
  "tLAMBDA",
  "tLAMBEG",
  "tCHARACTER",
  "tRATIONAL",
  "tIMAGINARY",
  "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",
  "f_args",
  "do_block",
  "@22",
  "operation3",
  "@23",
  "@24",
  "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",
  "@25",
  "@26",
  "args_tail",
  "@27",
  "f_kwarg",
  "opt_args_tail",
  "f_optarg",
  "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

module_eval(<<'.,.,', 'ruby21.y', 52)
  def _reduce_2(val, _values, result)
                          result = @builder.compstmt(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 57)
  def _reduce_3(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 61)
  def _reduce_4(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 65)
  def _reduce_5(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 69)
  def _reduce_6(val, _values, result)
                          result = [ val[1] ]
                    
    result
  end
.,.,

# reduce 7 omitted

module_eval(<<'.,.,', 'ruby21.y', 75)
  def _reduce_8(val, _values, result)
                          result = @builder.preexe(val[0], val[1], val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 80)
  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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 96)
  def _reduce_10(val, _values, result)
                          result = @builder.compstmt(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 101)
  def _reduce_11(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 105)
  def _reduce_12(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 109)
  def _reduce_13(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 113)
  def _reduce_14(val, _values, result)
                          result = [ val[1] ]
                    
    result
  end
.,.,

# reduce 15 omitted

module_eval(<<'.,.,', 'ruby21.y', 119)
  def _reduce_16(val, _values, result)
                          diagnostic :error, :begin_in_method, nil, val[0]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 124)
  def _reduce_17(val, _values, result)
                          @lexer.state = :expr_fname
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 128)
  def _reduce_18(val, _values, result)
                          result = @builder.alias(val[0], val[1], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 132)
  def _reduce_19(val, _values, result)
                          result = @builder.alias(val[0],
                                  @builder.gvar(val[1]),
                                  @builder.gvar(val[2]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 138)
  def _reduce_20(val, _values, result)
                          result = @builder.alias(val[0],
                                  @builder.gvar(val[1]),
                                  @builder.back_ref(val[2]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 144)
  def _reduce_21(val, _values, result)
                          diagnostic :error, :nth_ref_alias, nil, val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 148)
  def _reduce_22(val, _values, result)
                          result = @builder.undef_method(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 152)
  def _reduce_23(val, _values, result)
                          result = @builder.condition_mod(val[0], nil,
                                                      val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 157)
  def _reduce_24(val, _values, result)
                          result = @builder.condition_mod(nil, val[0],
                                                      val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 162)
  def _reduce_25(val, _values, result)
                          result = @builder.loop_mod(:while, val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 166)
  def _reduce_26(val, _values, result)
                          result = @builder.loop_mod(:until, val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 170)
  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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 178)
  def _reduce_28(val, _values, result)
                          result = @builder.postexe(val[0], val[1], val[2], val[3])
                    
    result
  end
.,.,

# reduce 29 omitted

module_eval(<<'.,.,', 'ruby21.y', 183)
  def _reduce_30(val, _values, result)
                          result = @builder.multi_assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 187)
  def _reduce_31(val, _values, result)
                          result = @builder.op_assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 191)
  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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 198)
  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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 205)
  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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 212)
  def _reduce_35(val, _values, result)
                          result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 219)
  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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 226)
  def _reduce_37(val, _values, result)
                          @builder.op_assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 230)
  def _reduce_38(val, _values, result)
                          result = @builder.assign(val[0], val[1],
                                  @builder.array(nil, val[2], nil))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 235)
  def _reduce_39(val, _values, result)
                          result = @builder.multi_assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

# reduce 40 omitted

module_eval(<<'.,.,', 'ruby21.y', 241)
  def _reduce_41(val, _values, result)
                          result = @builder.assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 245)
  def _reduce_42(val, _values, result)
                          result = @builder.assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

# reduce 43 omitted

module_eval(<<'.,.,', 'ruby21.y', 251)
  def _reduce_44(val, _values, result)
                          result = @builder.logical_op(:and, val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 255)
  def _reduce_45(val, _values, result)
                          result = @builder.logical_op(:or, val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 259)
  def _reduce_46(val, _values, result)
                          result = @builder.not_op(val[0], nil, val[2], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 263)
  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

module_eval(<<'.,.,', 'ruby21.y', 275)
  def _reduce_53(val, _values, result)
                          result = @builder.call_method(val[0], val[1], val[2],
                                  nil, val[3], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 281)
  def _reduce_54(val, _values, result)
                          @static_env.extend_dynamic
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 285)
  def _reduce_55(val, _values, result)
                          result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                    
    result
  end
.,.,

# reduce 56 omitted

module_eval(<<'.,.,', 'ruby21.y', 294)
  def _reduce_57(val, _values, result)
                          result = @builder.call_method(nil, nil, val[0],
                                  nil, val[1], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 299)
  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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 308)
  def _reduce_59(val, _values, result)
                          result = @builder.call_method(val[0], val[1], val[2],
                                  nil, val[3], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 313)
  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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 322)
  def _reduce_61(val, _values, result)
                          result = @builder.call_method(val[0], val[1], val[2],
                                  nil, val[3], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 327)
  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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 336)
  def _reduce_63(val, _values, result)
                          result = @builder.keyword_cmd(:super, val[0],
                                  nil, val[1], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 341)
  def _reduce_64(val, _values, result)
                          result = @builder.keyword_cmd(:yield, val[0],
                                  nil, val[1], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 346)
  def _reduce_65(val, _values, result)
                          result = @builder.keyword_cmd(:return, val[0],
                                  nil, val[1], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 351)
  def _reduce_66(val, _values, result)
                          result = @builder.keyword_cmd(:break, val[0],
                                  nil, val[1], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 356)
  def _reduce_67(val, _values, result)
                          result = @builder.keyword_cmd(:next, val[0],
                                  nil, val[1], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 362)
  def _reduce_68(val, _values, result)
                          result = @builder.multi_lhs(nil, val[0], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 366)
  def _reduce_69(val, _values, result)
                          result = @builder.begin(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 371)
  def _reduce_70(val, _values, result)
                          result = @builder.multi_lhs(nil, val[0], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 375)
  def _reduce_71(val, _values, result)
                          result = @builder.multi_lhs(val[0], val[1], val[2])
                    
    result
  end
.,.,

# reduce 72 omitted

module_eval(<<'.,.,', 'ruby21.y', 381)
  def _reduce_73(val, _values, result)
                          result = val[0].
                                  push(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 386)
  def _reduce_74(val, _values, result)
                          result = val[0].
                                  push(@builder.splat(val[1], val[2]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 391)
  def _reduce_75(val, _values, result)
                          result = val[0].
                                  push(@builder.splat(val[1], val[2])).
                                  concat(val[4])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 397)
  def _reduce_76(val, _values, result)
                          result = val[0].
                                  push(@builder.splat(val[1]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 402)
  def _reduce_77(val, _values, result)
                          result = val[0].
                                  push(@builder.splat(val[1])).
                                  concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 408)
  def _reduce_78(val, _values, result)
                          result = [ @builder.splat(val[0], val[1]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 412)
  def _reduce_79(val, _values, result)
                          result = [ @builder.splat(val[0], val[1]),
                                 *val[3] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 417)
  def _reduce_80(val, _values, result)
                          result = [ @builder.splat(val[0]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 421)
  def _reduce_81(val, _values, result)
                          result = [ @builder.splat(val[0]),
                                 *val[2] ]
                    
    result
  end
.,.,

# reduce 82 omitted

module_eval(<<'.,.,', 'ruby21.y', 428)
  def _reduce_83(val, _values, result)
                          result = @builder.begin(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 433)
  def _reduce_84(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 437)
  def _reduce_85(val, _values, result)
                          result = val[0] << val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 442)
  def _reduce_86(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 446)
  def _reduce_87(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 451)
  def _reduce_88(val, _values, result)
                          result = @builder.assignable(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 455)
  def _reduce_89(val, _values, result)
                          result = @builder.assignable(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 459)
  def _reduce_90(val, _values, result)
                          result = @builder.index_asgn(val[0], val[1], val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 463)
  def _reduce_91(val, _values, result)
                          result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 467)
  def _reduce_92(val, _values, result)
                          result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 471)
  def _reduce_93(val, _values, result)
                          result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 475)
  def _reduce_94(val, _values, result)
                          result = @builder.assignable(
                                  @builder.const_fetch(val[0], val[1], val[2]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 480)
  def _reduce_95(val, _values, result)
                          result = @builder.assignable(
                                  @builder.const_global(val[0], val[1]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 485)
  def _reduce_96(val, _values, result)
                          result = @builder.assignable(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 490)
  def _reduce_97(val, _values, result)
                          result = @builder.assignable(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 494)
  def _reduce_98(val, _values, result)
                          result = @builder.assignable(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 498)
  def _reduce_99(val, _values, result)
                          result = @builder.index_asgn(val[0], val[1], val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 502)
  def _reduce_100(val, _values, result)
                          result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 506)
  def _reduce_101(val, _values, result)
                          result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 510)
  def _reduce_102(val, _values, result)
                          result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 514)
  def _reduce_103(val, _values, result)
                          result = @builder.assignable(
                                  @builder.const_fetch(val[0], val[1], val[2]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 519)
  def _reduce_104(val, _values, result)
                          result = @builder.assignable(
                                  @builder.const_global(val[0], val[1]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 524)
  def _reduce_105(val, _values, result)
                          result = @builder.assignable(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 529)
  def _reduce_106(val, _values, result)
                          diagnostic :error, :module_name_const, nil, val[0]
                    
    result
  end
.,.,

# reduce 107 omitted

module_eval(<<'.,.,', 'ruby21.y', 535)
  def _reduce_108(val, _values, result)
                          result = @builder.const_global(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 539)
  def _reduce_109(val, _values, result)
                          result = @builder.const(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 543)
  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

module_eval(<<'.,.,', 'ruby21.y', 552)
  def _reduce_116(val, _values, result)
                          result = @builder.symbol(val[0])
                    
    result
  end
.,.,

# reduce 117 omitted

# reduce 118 omitted

# reduce 119 omitted

module_eval(<<'.,.,', 'ruby21.y', 561)
  def _reduce_120(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 565)
  def _reduce_121(val, _values, result)
                          @lexer.state = :expr_fname
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 569)
  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

module_eval(<<'.,.,', 'ruby21.y', 590)
  def _reduce_194(val, _values, result)
                          result = @builder.assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 594)
  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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 604)
  def _reduce_196(val, _values, result)
                          result = @builder.op_assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 608)
  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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 618)
  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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 625)
  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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 632)
  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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 639)
  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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 646)
  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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 652)
  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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 658)
  def _reduce_204(val, _values, result)
                          result = @builder.op_assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 662)
  def _reduce_205(val, _values, result)
                          result = @builder.range_inclusive(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 666)
  def _reduce_206(val, _values, result)
                          result = @builder.range_exclusive(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 670)
  def _reduce_207(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 674)
  def _reduce_208(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 678)
  def _reduce_209(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 682)
  def _reduce_210(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 686)
  def _reduce_211(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 690)
  def _reduce_212(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 694)
  def _reduce_213(val, _values, result)
                          result = @builder.unary_op(val[0],
                                  @builder.binary_op(
                                    val[1], val[2], val[3]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 700)
  def _reduce_214(val, _values, result)
                          result = @builder.unary_op(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 704)
  def _reduce_215(val, _values, result)
                          result = @builder.unary_op(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 708)
  def _reduce_216(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 712)
  def _reduce_217(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 716)
  def _reduce_218(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 720)
  def _reduce_219(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 724)
  def _reduce_220(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 728)
  def _reduce_221(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 732)
  def _reduce_222(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 736)
  def _reduce_223(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 740)
  def _reduce_224(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 744)
  def _reduce_225(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 748)
  def _reduce_226(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 752)
  def _reduce_227(val, _values, result)
                          result = @builder.match_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 756)
  def _reduce_228(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 760)
  def _reduce_229(val, _values, result)
                          result = @builder.not_op(val[0], nil, val[1], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 764)
  def _reduce_230(val, _values, result)
                          result = @builder.unary_op(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 768)
  def _reduce_231(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 772)
  def _reduce_232(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 776)
  def _reduce_233(val, _values, result)
                          result = @builder.logical_op(:and, val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 780)
  def _reduce_234(val, _values, result)
                          result = @builder.logical_op(:or, val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 784)
  def _reduce_235(val, _values, result)
                          result = @builder.keyword_cmd(:defined?, val[0], nil, [ val[2] ], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 789)
  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

module_eval(<<'.,.,', 'ruby21.y', 800)
  def _reduce_241(val, _values, result)
                          result = val[0] << @builder.associate(nil, val[2], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 804)
  def _reduce_242(val, _values, result)
                          result = [ @builder.associate(nil, val[0], nil) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 809)
  def _reduce_243(val, _values, result)
                          result = val
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 814)
  def _reduce_244(val, _values, result)
                          result = [ nil, [], nil ]
                    
    result
  end
.,.,

# reduce 245 omitted

module_eval(<<'.,.,', 'ruby21.y', 820)
  def _reduce_246(val, _values, result)
                          result = []
                    
    result
  end
.,.,

# reduce 247 omitted

# reduce 248 omitted

module_eval(<<'.,.,', 'ruby21.y', 826)
  def _reduce_249(val, _values, result)
                          result = val[0] << @builder.associate(nil, val[2], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 830)
  def _reduce_250(val, _values, result)
                          result = [ @builder.associate(nil, val[0], nil) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 835)
  def _reduce_251(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 839)
  def _reduce_252(val, _values, result)
                          result = val[0].concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 843)
  def _reduce_253(val, _values, result)
                          result = [ @builder.associate(nil, val[0], nil) ]
                      result.concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 848)
  def _reduce_254(val, _values, result)
                          assocs = @builder.associate(nil, val[2], nil)
                      result = val[0] << assocs
                      result.concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 854)
  def _reduce_255(val, _values, result)
                          result =  [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 858)
  def _reduce_256(val, _values, result)
                          result = @lexer.cmdarg.dup
                      @lexer.cmdarg.push(true)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 863)
  def _reduce_257(val, _values, result)
                          @lexer.cmdarg = val[0]

                      result = val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 870)
  def _reduce_258(val, _values, result)
                          result = @builder.block_pass(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 875)
  def _reduce_259(val, _values, result)
                          result = [ val[1] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 879)
  def _reduce_260(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 884)
  def _reduce_261(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 888)
  def _reduce_262(val, _values, result)
                          result = [ @builder.splat(val[0], val[1]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 892)
  def _reduce_263(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 896)
  def _reduce_264(val, _values, result)
                          result = val[0] << @builder.splat(val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 901)
  def _reduce_265(val, _values, result)
                          result = @builder.array(nil, val[0], nil)
                    
    result
  end
.,.,

# reduce 266 omitted

module_eval(<<'.,.,', 'ruby21.y', 907)
  def _reduce_267(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 911)
  def _reduce_268(val, _values, result)
                          result = val[0] << @builder.splat(val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 915)
  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

module_eval(<<'.,.,', 'ruby21.y', 930)
  def _reduce_280(val, _values, result)
                          result = @builder.call_method(nil, nil, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 934)
  def _reduce_281(val, _values, result)
                          result = @lexer.cmdarg.dup
                      @lexer.cmdarg.clear
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 939)
  def _reduce_282(val, _values, result)
                          @lexer.cmdarg = val[1]

                      result = @builder.begin_keyword(val[0], val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 945)
  def _reduce_283(val, _values, result)
                          result = @lexer.cmdarg.dup
                      @lexer.cmdarg.clear
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 950)
  def _reduce_284(val, _values, result)
                          @lexer.state = :expr_endarg
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 954)
  def _reduce_285(val, _values, result)
                          @lexer.cmdarg = val[1]

                      result = @builder.begin(val[0], val[2], val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 960)
  def _reduce_286(val, _values, result)
                          @lexer.state = :expr_endarg
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 964)
  def _reduce_287(val, _values, result)
                          result = @builder.begin(val[0], nil, val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 968)
  def _reduce_288(val, _values, result)
                          result = @builder.begin(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 972)
  def _reduce_289(val, _values, result)
                          result = @builder.const_fetch(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 976)
  def _reduce_290(val, _values, result)
                          result = @builder.const_global(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 980)
  def _reduce_291(val, _values, result)
                          result = @builder.array(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 984)
  def _reduce_292(val, _values, result)
                          result = @builder.associate(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 988)
  def _reduce_293(val, _values, result)
                          result = @builder.keyword_cmd(:return, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 992)
  def _reduce_294(val, _values, result)
                          result = @builder.keyword_cmd(:yield, val[0], val[1], val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 996)
  def _reduce_295(val, _values, result)
                          result = @builder.keyword_cmd(:yield, val[0], val[1], [], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1000)
  def _reduce_296(val, _values, result)
                          result = @builder.keyword_cmd(:yield, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1004)
  def _reduce_297(val, _values, result)
                          result = @builder.keyword_cmd(:defined?, val[0],
                                                    val[2], [ val[3] ], val[4])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1009)
  def _reduce_298(val, _values, result)
                          result = @builder.not_op(val[0], val[1], val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1013)
  def _reduce_299(val, _values, result)
                          result = @builder.not_op(val[0], val[1], nil, val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1017)
  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

module_eval(<<'.,.,', 'ruby21.y', 1026)
  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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1032)
  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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1040)
  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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1047)
  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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1054)
  def _reduce_306(val, _values, result)
                          @lexer.cond.push(true)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1058)
  def _reduce_307(val, _values, result)
                          @lexer.cond.pop
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1062)
  def _reduce_308(val, _values, result)
                          result = @builder.loop(:while, val[0], val[2], val[3],
                                             val[5], val[6])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1067)
  def _reduce_309(val, _values, result)
                          @lexer.cond.push(true)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1071)
  def _reduce_310(val, _values, result)
                          @lexer.cond.pop
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1075)
  def _reduce_311(val, _values, result)
                          result = @builder.loop(:until, val[0], val[2], val[3],
                                             val[5], val[6])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1080)
  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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1088)
  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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1096)
  def _reduce_314(val, _values, result)
                          @lexer.cond.push(true)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1100)
  def _reduce_315(val, _values, result)
                          @lexer.cond.pop
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1104)
  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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1110)
  def _reduce_317(val, _values, result)
                          @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1115)
  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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1129)
  def _reduce_319(val, _values, result)
                          result = @def_level
                      @def_level = 0

                      @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1137)
  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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1147)
  def _reduce_321(val, _values, result)
                          @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1152)
  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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1164)
  def _reduce_323(val, _values, result)
                          @def_level += 1
                      @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1170)
  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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1179)
  def _reduce_325(val, _values, result)
                          @lexer.state = :expr_fname
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1183)
  def _reduce_326(val, _values, result)
                          @def_level += 1
                      @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1189)
  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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1198)
  def _reduce_328(val, _values, result)
                          result = @builder.keyword_cmd(:break, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1202)
  def _reduce_329(val, _values, result)
                          result = @builder.keyword_cmd(:next, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1206)
  def _reduce_330(val, _values, result)
                          result = @builder.keyword_cmd(:redo, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1210)
  def _reduce_331(val, _values, result)
                          result = @builder.keyword_cmd(:retry, val[0])
                    
    result
  end
.,.,

# reduce 332 omitted

# reduce 333 omitted

# reduce 334 omitted

module_eval(<<'.,.,', 'ruby21.y', 1219)
  def _reduce_335(val, _values, result)
                          result = val[1]
                    
    result
  end
.,.,

# reduce 336 omitted

# reduce 337 omitted

# reduce 338 omitted

module_eval(<<'.,.,', 'ruby21.y', 1228)
  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

module_eval(<<'.,.,', 'ruby21.y', 1239)
  def _reduce_341(val, _values, result)
                          result = val
                    
    result
  end
.,.,

# reduce 342 omitted

# reduce 343 omitted

module_eval(<<'.,.,', 'ruby21.y', 1247)
  def _reduce_344(val, _values, result)
                          result = @builder.arg(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1251)
  def _reduce_345(val, _values, result)
                          result = @builder.multi_lhs(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1256)
  def _reduce_346(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1260)
  def _reduce_347(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

# reduce 348 omitted

module_eval(<<'.,.,', 'ruby21.y', 1266)
  def _reduce_349(val, _values, result)
                          result = val[0].
                                  push(@builder.restarg(val[2], val[3]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1271)
  def _reduce_350(val, _values, result)
                          result = val[0].
                                  push(@builder.restarg(val[2], val[3])).
                                  concat(val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1277)
  def _reduce_351(val, _values, result)
                          result = val[0].
                                  push(@builder.restarg(val[2]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1282)
  def _reduce_352(val, _values, result)
                          result = val[0].
                                  push(@builder.restarg(val[2])).
                                  concat(val[4])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1288)
  def _reduce_353(val, _values, result)
                          result = [ @builder.restarg(val[0], val[1]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1292)
  def _reduce_354(val, _values, result)
                          result = [ @builder.restarg(val[0], val[1]),
                                 *val[3] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1297)
  def _reduce_355(val, _values, result)
                          result = [ @builder.restarg(val[0]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1301)
  def _reduce_356(val, _values, result)
                          result = [ @builder.restarg(val[0]),
                                 *val[2] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1307)
  def _reduce_357(val, _values, result)
                          result = val[0].concat(val[2]).concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1311)
  def _reduce_358(val, _values, result)
                          result = val[0].concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1315)
  def _reduce_359(val, _values, result)
                          result = val[0].concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1319)
  def _reduce_360(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1325)
  def _reduce_361(val, _values, result)
                          result = val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1329)
  def _reduce_362(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1334)
  def _reduce_363(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1341)
  def _reduce_364(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[6]).
                                  concat(val[7])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1349)
  def _reduce_365(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1355)
  def _reduce_366(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1362)
  def _reduce_367(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

# reduce 368 omitted

module_eval(<<'.,.,', 'ruby21.y', 1369)
  def _reduce_369(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1376)
  def _reduce_370(val, _values, result)
                          result = val[0].concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1380)
  def _reduce_371(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1386)
  def _reduce_372(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1393)
  def _reduce_373(val, _values, result)
                          result = val[0].
                                  concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1398)
  def _reduce_374(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1404)
  def _reduce_375(val, _values, result)
                          result = val[0].
                                  concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1409)
  def _reduce_376(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

# reduce 377 omitted

module_eval(<<'.,.,', 'ruby21.y', 1417)
  def _reduce_378(val, _values, result)
                          result = @builder.args(nil, [], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1421)
  def _reduce_379(val, _values, result)
                          @lexer.state = :expr_value
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1426)
  def _reduce_380(val, _values, result)
                          result = @builder.args(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1430)
  def _reduce_381(val, _values, result)
                          result = @builder.args(val[0], [], val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1434)
  def _reduce_382(val, _values, result)
                          result = @builder.args(val[0], val[1].concat(val[2]), val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1439)
  def _reduce_383(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1443)
  def _reduce_384(val, _values, result)
                          result = val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1448)
  def _reduce_385(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1452)
  def _reduce_386(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1457)
  def _reduce_387(val, _values, result)
                          result = @builder.shadowarg(val[0])
                    
    result
  end
.,.,

# reduce 388 omitted

module_eval(<<'.,.,', 'ruby21.y', 1462)
  def _reduce_389(val, _values, result)
                          @static_env.extend_dynamic
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1466)
  def _reduce_390(val, _values, result)
                          result = [ val[1], val[2] ]

                      @static_env.unextend
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1473)
  def _reduce_391(val, _values, result)
                          result = @builder.args(val[0], val[1].concat(val[2]), val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1477)
  def _reduce_392(val, _values, result)
                          result = @builder.args(nil, val[0], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1482)
  def _reduce_393(val, _values, result)
                          result = [ val[0], val[1], val[2] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1486)
  def _reduce_394(val, _values, result)
                          result = [ val[0], val[1], val[2] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1491)
  def _reduce_395(val, _values, result)
                          @static_env.extend_dynamic
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1495)
  def _reduce_396(val, _values, result)
                          result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1502)
  def _reduce_397(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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1508)
  def _reduce_398(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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1514)
  def _reduce_399(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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1524)
  def _reduce_400(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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1534)
  def _reduce_401(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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1540)
  def _reduce_402(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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1546)
  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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1552)
  def _reduce_404(val, _values, result)
                          result = @builder.call_method(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1556)
  def _reduce_405(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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1562)
  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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1568)
  def _reduce_407(val, _values, result)
                          lparen_t, args, rparen_t = val[1]
                      result = @builder.keyword_cmd(:super, val[0],
                                  lparen_t, args, rparen_t)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1574)
  def _reduce_408(val, _values, result)
                          result = @builder.keyword_cmd(:zsuper, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1578)
  def _reduce_409(val, _values, result)
                          result = @builder.index(val[0], val[1], val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1583)
  def _reduce_410(val, _values, result)
                          @static_env.extend_dynamic
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1587)
  def _reduce_411(val, _values, result)
                          result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1593)
  def _reduce_412(val, _values, result)
                          @static_env.extend_dynamic
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1597)
  def _reduce_413(val, _values, result)
                          result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1604)
  def _reduce_414(val, _values, result)
                          result = [ @builder.when(val[0], val[1], val[2], val[3]),
                                 *val[4] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1610)
  def _reduce_415(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

# reduce 416 omitted

module_eval(<<'.,.,', 'ruby21.y', 1616)
  def _reduce_417(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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1629)
  def _reduce_418(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1634)
  def _reduce_419(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

# reduce 420 omitted

# reduce 421 omitted

module_eval(<<'.,.,', 'ruby21.y', 1641)
  def _reduce_422(val, _values, result)
                          result = [ val[0], val[1] ]
                    
    result
  end
.,.,

# reduce 423 omitted

module_eval(<<'.,.,', 'ruby21.y', 1647)
  def _reduce_424(val, _values, result)
                          result = [ val[0], val[1] ]
                    
    result
  end
.,.,

# reduce 425 omitted

# reduce 426 omitted

# reduce 427 omitted

# reduce 428 omitted

module_eval(<<'.,.,', 'ruby21.y', 1657)
  def _reduce_429(val, _values, result)
                          result = @builder.string_compose(nil, val[0], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1662)
  def _reduce_430(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1666)
  def _reduce_431(val, _values, result)
                          result = val[0] << val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1671)
  def _reduce_432(val, _values, result)
                          result = @builder.string_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1675)
  def _reduce_433(val, _values, result)
                          result = @builder.string(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1679)
  def _reduce_434(val, _values, result)
                          result = @builder.character(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1684)
  def _reduce_435(val, _values, result)
                          result = @builder.xstring_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1689)
  def _reduce_436(val, _values, result)
                          opts   = @builder.regexp_options(val[3])
                      result = @builder.regexp_compose(val[0], val[1], val[2], opts)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1695)
  def _reduce_437(val, _values, result)
                          result = @builder.words_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1700)
  def _reduce_438(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1704)
  def _reduce_439(val, _values, result)
                          result = val[0] << @builder.word(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1709)
  def _reduce_440(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1713)
  def _reduce_441(val, _values, result)
                          result = val[0] << val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1718)
  def _reduce_442(val, _values, result)
                          result = @builder.symbols_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1723)
  def _reduce_443(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1727)
  def _reduce_444(val, _values, result)
                          result = val[0] << @builder.word(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1732)
  def _reduce_445(val, _values, result)
                          result = @builder.words_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1737)
  def _reduce_446(val, _values, result)
                          result = @builder.symbols_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1742)
  def _reduce_447(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1746)
  def _reduce_448(val, _values, result)
                          result = val[0] << @builder.string_internal(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1751)
  def _reduce_449(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1755)
  def _reduce_450(val, _values, result)
                          result = val[0] << @builder.symbol_internal(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1760)
  def _reduce_451(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1764)
  def _reduce_452(val, _values, result)
                          result = val[0] << val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1769)
  def _reduce_453(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1773)
  def _reduce_454(val, _values, result)
                          result = val[0] << val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1778)
  def _reduce_455(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1782)
  def _reduce_456(val, _values, result)
                          result = val[0] << val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1787)
  def _reduce_457(val, _values, result)
                          result = @builder.string_internal(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1791)
  def _reduce_458(val, _values, result)
                          result = val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1795)
  def _reduce_459(val, _values, result)
                          @lexer.cond.push(false)
                      @lexer.cmdarg.push(false)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1800)
  def _reduce_460(val, _values, result)
                          @lexer.cond.lexpop
                      @lexer.cmdarg.lexpop

                      result = @builder.begin(val[0], val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1808)
  def _reduce_461(val, _values, result)
                          result = @builder.gvar(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1812)
  def _reduce_462(val, _values, result)
                          result = @builder.ivar(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1816)
  def _reduce_463(val, _values, result)
                          result = @builder.cvar(val[0])
                    
    result
  end
.,.,

# reduce 464 omitted

module_eval(<<'.,.,', 'ruby21.y', 1823)
  def _reduce_465(val, _values, result)
                          result = @builder.symbol(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1828)
  def _reduce_466(val, _values, result)
                          result = @builder.symbol_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1833)
  def _reduce_467(val, _values, result)
                          result = val[0]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1837)
  def _reduce_468(val, _values, result)
                          result = @builder.negate(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1842)
  def _reduce_469(val, _values, result)
                          result = @builder.integer(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1846)
  def _reduce_470(val, _values, result)
                          result = @builder.float(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1850)
  def _reduce_471(val, _values, result)
                          result = @builder.rational(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1854)
  def _reduce_472(val, _values, result)
                          result = @builder.complex(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1859)
  def _reduce_473(val, _values, result)
                          result = @builder.ident(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1863)
  def _reduce_474(val, _values, result)
                          result = @builder.ivar(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1867)
  def _reduce_475(val, _values, result)
                          result = @builder.gvar(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1871)
  def _reduce_476(val, _values, result)
                          result = @builder.const(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1875)
  def _reduce_477(val, _values, result)
                          result = @builder.cvar(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1880)
  def _reduce_478(val, _values, result)
                          result = @builder.nil(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1884)
  def _reduce_479(val, _values, result)
                          result = @builder.self(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1888)
  def _reduce_480(val, _values, result)
                          result = @builder.true(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1892)
  def _reduce_481(val, _values, result)
                          result = @builder.false(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1896)
  def _reduce_482(val, _values, result)
                          result = @builder.__FILE__(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1900)
  def _reduce_483(val, _values, result)
                          result = @builder.__LINE__(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1904)
  def _reduce_484(val, _values, result)
                          result = @builder.__ENCODING__(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1909)
  def _reduce_485(val, _values, result)
                          result = @builder.accessible(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1913)
  def _reduce_486(val, _values, result)
                          result = @builder.accessible(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1918)
  def _reduce_487(val, _values, result)
                          result = @builder.assignable(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1922)
  def _reduce_488(val, _values, result)
                          result = @builder.assignable(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1927)
  def _reduce_489(val, _values, result)
                          result = @builder.nth_ref(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1931)
  def _reduce_490(val, _values, result)
                          result = @builder.back_ref(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1936)
  def _reduce_491(val, _values, result)
                          result = nil
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1940)
  def _reduce_492(val, _values, result)
                          @lexer.state = :expr_value
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1944)
  def _reduce_493(val, _values, result)
                          result = [ val[0], val[2] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1948)
  def _reduce_494(val, _values, result)
                          yyerrok
                      result = nil
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1954)
  def _reduce_495(val, _values, result)
                          result = @builder.args(val[0], val[1], val[2])

                      @lexer.state = :expr_value
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1959)
  def _reduce_496(val, _values, result)
                          result = @lexer.in_kwarg
                      @lexer.in_kwarg = true
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1964)
  def _reduce_497(val, _values, result)
                          @lexer.in_kwarg = val[0]
                      result = @builder.args(nil, val[1], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1971)
  def _reduce_498(val, _values, result)
                          result = val[0].concat(val[2]).concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1975)
  def _reduce_499(val, _values, result)
                          result = val[0].concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1979)
  def _reduce_500(val, _values, result)
                          result = val[0].concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1983)
  def _reduce_501(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1988)
  def _reduce_502(val, _values, result)
                          result = val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1992)
  def _reduce_503(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1997)
  def _reduce_504(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2004)
  def _reduce_505(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[6]).
                                  concat(val[7])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2012)
  def _reduce_506(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2018)
  def _reduce_507(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2025)
  def _reduce_508(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2031)
  def _reduce_509(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2038)
  def _reduce_510(val, _values, result)
                          result = val[0].
                                  concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2043)
  def _reduce_511(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2049)
  def _reduce_512(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2056)
  def _reduce_513(val, _values, result)
                          result = val[0].
                                  concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2061)
  def _reduce_514(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2067)
  def _reduce_515(val, _values, result)
                          result = val[0].
                                  concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2072)
  def _reduce_516(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2078)
  def _reduce_517(val, _values, result)
                          result = val[0]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2082)
  def _reduce_518(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2087)
  def _reduce_519(val, _values, result)
                          diagnostic :error, :argument_const, nil, val[0]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2091)
  def _reduce_520(val, _values, result)
                          diagnostic :error, :argument_ivar, nil, val[0]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2095)
  def _reduce_521(val, _values, result)
                          diagnostic :error, :argument_gvar, nil, val[0]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2099)
  def _reduce_522(val, _values, result)
                          diagnostic :error, :argument_cvar, nil, val[0]
                    
    result
  end
.,.,

# reduce 523 omitted

module_eval(<<'.,.,', 'ruby21.y', 2105)
  def _reduce_524(val, _values, result)
                          @static_env.declare val[0][0]

                      result = val[0]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2112)
  def _reduce_525(val, _values, result)
                          result = @builder.arg(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2116)
  def _reduce_526(val, _values, result)
                          result = @builder.multi_lhs(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2121)
  def _reduce_527(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2125)
  def _reduce_528(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2130)
  def _reduce_529(val, _values, result)
                          check_kwarg_name(val[0])

                      @static_env.declare val[0][0]

                      result = val[0]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2139)
  def _reduce_530(val, _values, result)
                          result = @builder.kwoptarg(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2143)
  def _reduce_531(val, _values, result)
                          result = @builder.kwarg(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2148)
  def _reduce_532(val, _values, result)
                          result = @builder.kwoptarg(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2152)
  def _reduce_533(val, _values, result)
                          result = @builder.kwarg(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2157)
  def _reduce_534(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2161)
  def _reduce_535(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2166)
  def _reduce_536(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2170)
  def _reduce_537(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

# reduce 538 omitted

# reduce 539 omitted

module_eval(<<'.,.,', 'ruby21.y', 2177)
  def _reduce_540(val, _values, result)
                          @static_env.declare val[1][0]

                      result = [ @builder.kwrestarg(val[0], val[1]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2183)
  def _reduce_541(val, _values, result)
                          result = [ @builder.kwrestarg(val[0]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2188)
  def _reduce_542(val, _values, result)
                          result = @builder.optarg(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2193)
  def _reduce_543(val, _values, result)
                          result = @builder.optarg(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2198)
  def _reduce_544(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2202)
  def _reduce_545(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2207)
  def _reduce_546(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2211)
  def _reduce_547(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

# reduce 548 omitted

# reduce 549 omitted

module_eval(<<'.,.,', 'ruby21.y', 2218)
  def _reduce_550(val, _values, result)
                          @static_env.declare val[1][0]

                      result = [ @builder.restarg(val[0], val[1]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2224)
  def _reduce_551(val, _values, result)
                          result = [ @builder.restarg(val[0]) ]
                    
    result
  end
.,.,

# reduce 552 omitted

# reduce 553 omitted

module_eval(<<'.,.,', 'ruby21.y', 2231)
  def _reduce_554(val, _values, result)
                          @static_env.declare val[1][0]

                      result = @builder.blockarg(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2238)
  def _reduce_555(val, _values, result)
                          result = [ val[1] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2242)
  def _reduce_556(val, _values, result)
                          result = []
                    
    result
  end
.,.,

# reduce 557 omitted

module_eval(<<'.,.,', 'ruby21.y', 2248)
  def _reduce_558(val, _values, result)
                          result = val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2253)
  def _reduce_559(val, _values, result)
                          result = []
                    
    result
  end
.,.,

# reduce 560 omitted

module_eval(<<'.,.,', 'ruby21.y', 2259)
  def _reduce_561(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2263)
  def _reduce_562(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2268)
  def _reduce_563(val, _values, result)
                          result = @builder.pair(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2272)
  def _reduce_564(val, _values, result)
                          result = @builder.pair_keyword(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2276)
  def _reduce_565(val, _values, result)
                          result = @builder.kwsplat(val[0], val[1])
                    
    result
  end
.,.,

# reduce 566 omitted

# reduce 567 omitted

# reduce 568 omitted

# 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

module_eval(<<'.,.,', 'ruby21.y', 2287)
  def _reduce_582(val, _values, result)
                          result = val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2291)
  def _reduce_583(val, _values, result)
                          result = val[1]
                    
    result
  end
.,.,

# reduce 584 omitted

# reduce 585 omitted

# reduce 586 omitted

module_eval(<<'.,.,', 'ruby21.y', 2297)
  def _reduce_587(val, _values, result)
                        yyerrok
                  
    result
  end
.,.,

# reduce 588 omitted

# reduce 589 omitted

# reduce 590 omitted

module_eval(<<'.,.,', 'ruby21.y', 2306)
  def _reduce_591(val, _values, result)
                        result = nil
                  
    result
  end
.,.,

def _reduce_none(val, _values, result)
  val[0]
end

  end   # class Ruby21
  end   # module Parser