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

require 'racc/parser.rb'


require 'parser'

Parser.check_for_encoding_support

module Parser
  class Ruby21 < Parser::Base


  def version
    21
  end

  def default_encoding
    Encoding::UTF_8
  end
##### State transition tables begin ###

clist = [
'-474,214,215,214,215,268,-97,-474,-474,-474,217,565,-474,-474,-474,644',
'-474,268,-286,607,109,644,214,215,-474,609,-474,-474,-474,525,268,121',
'524,-98,-105,268,-474,-474,586,-474,-474,-474,-474,-474,206,565,-488',
'565,565,-104,643,218,810,711,644,711,643,113,-286,801,207,571,112,-489',
'-100,-102,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474',
'-474,-474,208,263,-474,-474,-474,606,-474,-474,-99,643,-474,608,267',
'-474,-474,218,-474,218,-474,263,-474,-97,-474,-474,267,-474,-474,-474',
'-474,-474,565,-474,-477,-474,-100,-88,218,267,-98,-477,-477,-477,267',
'-102,-477,-477,-477,-474,-477,113,-474,-474,-474,-474,112,-474,-477',
'-474,-477,-477,-477,-474,-89,-96,585,212,-101,711,-477,-477,-101,-477',
'-477,-477,-477,-477,-99,113,-95,113,-91,809,112,113,112,113,113,113',
'112,837,112,112,112,-91,-93,-103,214,215,-477,-477,-477,-477,-477,-477',
'-477,-477,-477,-477,-477,-477,-477,-477,-96,443,-477,-477,-477,-90,-477',
'-477,-105,-93,-477,91,92,-477,-477,213,-477,577,-477,-570,-477,578,-477',
'-477,513,-477,-477,-477,-477,-477,-289,-477,257,-477,-91,-570,113,-289',
'-289,-289,-100,112,315,-289,-289,-100,-289,-477,-571,-102,-477,-477',
'-477,-477,-102,-477,-105,-477,260,113,594,-477,766,-92,112,261,-289',
'-289,316,-289,-289,-289,-289,-289,-91,-93,-101,-91,113,-104,594,-101',
'-99,112,644,-91,113,-99,218,93,94,112,-94,-488,91,92,-289,-289,-289',
'-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,594,767,-289',
'-289,-289,-93,627,-100,-93,643,-289,-83,-489,-289,596,595,-93,385,-289',
'-69,-289,398,-289,-289,743,-289,-289,-289,-289,-289,-88,-289,-574,-289',
'596,595,513,855,-97,-574,-574,-574,622,442,745,-574,-574,-289,-574,113',
'-289,-289,444,-94,112,-289,-102,-574,445,-89,-567,-103,93,94,596,595',
'592,-98,-574,-574,-474,-574,-574,-574,-574,-574,546,-474,543,542,541',
'217,544,-95,546,594,543,542,541,-91,544,-104,-99,214,215,476,-568,-100',
'-574,-574,-574,-574,-574,-574,-574,-574,-574,-574,-574,-574,-574,-574',
'-474,210,-574,-574,-574,485,628,-474,211,487,-574,594,-567,-574,550',
'489,-474,209,-574,623,-574,-574,-574,-574,553,-574,-574,-574,-574,-574',
'496,-574,-574,-574,-477,-567,-477,596,595,597,594,-477,-68,-477,218',
'594,828,-574,-568,594,-574,-574,-477,-92,951,-574,-574,561,560,499,-484',
'-101,554,-574,-574,-574,-93,-484,-574,-574,-574,-568,-574,-574,-102',
'596,595,599,500,79,-574,-574,-574,-574,-574,-570,507,-332,272,-574,752',
'80,-574,-574,-332,-574,-574,-574,-574,-574,439,81,218,-332,596,595,601',
'440,-574,596,595,605,-483,596,595,610,441,525,525,-483,527,527,-574',
'-574,-574,-574,-574,-574,-574,-574,-574,-574,-574,-574,-574,-574,263',
'-90,-574,-574,-574,238,768,-574,-486,-99,-574,510,-485,-574,-574,-486',
'-574,514,-574,-485,-574,238,-574,-574,-486,-574,-574,-574,-574,-574',
'113,-574,-574,-574,218,112,-482,235,528,-479,529,237,236,-482,233,234',
'-479,-574,489,113,-574,-574,-574,-574,112,-574,-289,-574,69,70,71,-101',
'57,-289,-289,-289,63,64,-289,-289,-289,67,-289,65,66,68,30,31,72,73',
'214,215,-289,-289,-289,29,28,27,101,100,102,103,-289,-289,230,-289,-289',
'-289,-289,-289,525,45,571,527,105,104,106,95,56,97,96,98,387,99,107',
'108,575,91,92,42,43,41,-289,-289,-289,-289,-289,-289,-289,-289,-289',
'-289,-289,-289,-289,-289,214,215,-289,-289,-289,223,769,-289,229,576',
'-289,58,59,-289,-289,60,-289,-480,-289,611,-289,44,-289,-289,-480,-289',
'-289,-289,-289,-289,228,-289,-481,-289,614,89,79,82,83,-481,84,86,85',
'87,561,560,-261,-289,80,88,-289,-289,-289,-289,616,-289,62,-289,81,93',
'94,-103,5,69,70,71,9,57,260,113,218,63,64,974,112,261,67,218,65,66,68',
'30,31,72,73,620,-574,832,801,621,29,28,27,101,100,102,103,395,263,19',
'832,801,397,396,632,8,45,7,10,105,104,106,95,56,97,96,98,631,99,107',
'108,634,91,92,42,43,41,238,242,247,248,249,244,246,254,255,250,251,-574',
'231,232,-487,238,252,253,-574,40,238,-487,33,-570,238,58,59,-574,238',
'60,-487,35,235,218,241,44,237,236,550,233,234,245,243,239,20,240,-574',
'218,553,89,79,82,83,505,84,86,85,87,218,-83,506,662,80,88,218,256,518',
'-238,673,504,62,678,81,93,94,289,69,70,71,9,57,561,560,679,63,64,554',
'681,685,67,688,65,66,68,30,31,72,73,689,-410,691,693,695,29,28,27,101',
'100,102,103,737,738,19,703,739,107,108,617,8,45,291,10,105,104,106,95',
'56,97,96,98,704,99,107,108,705,91,92,42,43,41,238,242,247,248,249,244',
'246,254,255,250,251,-410,231,232,-279,707,252,253,-410,40,571,-279,293',
'714,732,58,59,-410,742,60,-279,35,235,746,241,44,237,236,747,233,234',
'245,243,239,20,240,-410,-262,753,89,79,82,83,515,84,86,85,87,476,476',
'516,218,80,88,771,256,257,487,489,441,62,794,81,93,94,5,69,70,71,9,57',
'673,218,573,63,64,263,263,673,67,574,65,66,68,30,31,72,73,238,572,801',
'218,218,29,28,27,101,100,102,103,826,218,19,801,836,218,218,632,8,45',
'7,10,105,104,106,95,56,97,96,98,845,99,107,108,-263,91,92,42,43,41,238',
'242,247,248,249,244,246,254,255,250,251,581,231,232,-290,854,252,253',
'580,40,857,-290,33,688,860,58,59,582,862,60,-290,35,235,864,241,44,237',
'236,866,233,234,245,243,239,20,240,218,868,869,89,79,82,83,-290,84,86',
'85,87,872,874,-290,875,80,88,673,256,877,-261,881,-290,62,883,81,93',
'94,289,69,70,71,9,57,886,688,581,63,64,888,890,892,67,933,65,66,68,30',
'31,72,73,894,582,894,218,900,29,28,27,101,100,102,103,902,930,19,543',
'542,541,904,544,8,45,291,10,105,104,106,95,56,97,96,98,910,99,107,108',
'913,91,92,42,43,41,238,242,247,248,249,244,246,254,255,250,251,-289',
'231,232,581,218,252,253,-289,40,917,933,33,-571,-264,58,59,-289,927',
'60,582,35,235,934,241,44,237,236,935,233,234,245,243,239,20,240,944',
'945,953,89,79,82,83,-486,84,86,85,87,955,956,-486,961,80,88,732,256',
'688,964,966,-486,62,968,81,93,94,289,69,70,71,9,57,970,970,-487,63,64',
'981,982,894,67,-487,65,66,68,30,31,72,73,894,-487,894,987,953,29,28',
'27,101,100,102,103,-571,930,19,543,542,541,-570,544,8,45,291,10,105',
'104,106,95,56,97,96,98,678,99,107,108,953,91,92,42,43,41,238,242,247',
'248,249,244,246,254,255,250,251,-289,231,232,979,1006,252,253,-289,40',
'1007,980,33,-571,1008,58,59,-289,970,60,978,35,235,970,241,44,237,236',
'970,233,234,245,243,239,20,240,218,894,953,89,79,82,83,-279,84,86,85',
'87,970,,-279,,80,88,,256,,,,-279,62,,81,93,94,289,69,70,71,9,57,,,-290',
'63,64,,,,67,-290,65,66,68,30,31,72,73,,-290,,,,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,-289,231,232,,,252,253,-289,40,,,293,-571,,58,59,-289,,60,,35,235',
',241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,256,,,,,62,,81,93,94,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,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,5,69,70,71,9,57,,,,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,7,10,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,242,247,248,249,244',
'246,254,255,250,251,,231,232,,,252,253,,40,,,33,,,58,59,,,60,,35,235',
',241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,256,,,,,62,,81,93,94,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,,,,,,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,,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,,697,,,238,,,,,,700',
',40,,,33,,,58,59,,,60,,35,,,,44,,697,,,,,,235,20,,700,237,236,89,79',
'82,83,,84,86,85,87,,,,,80,88,,546,,543,542,541,62,544,81,93,94,289,69',
'70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,697,29,28,27,101',
'100,102,103,,899,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',
',-593,-593,,,252,253,,40,,,33,,,58,59,,238,60,,35,235,,241,44,237,236',
',233,234,245,243,239,20,240,,,,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,,,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,,-593,-593,,,252,253,,40,,,33,,,58,59,,238',
'60,,35,235,,241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83',
',84,86,85,87,,,235,,80,88,237,236,,,,,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,238,-593,-593,-593,-593,244,246,,697,-593,-593,',
',,,,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,,546,,543,542,541',
'62,544,81,93,94,289,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72',
'73,,,,,697,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,238,546,,543',
'542,541,,544,697,546,,543,542,541,,544,252,253,,40,,,33,,,58,59,,,60',
',35,235,,241,44,237,236,697,233,234,,,239,20,240,697,,,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,,,,,,,,,,,,,,,,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,-593,-593,-593,-593,244',
'246,,,-593,-593,,,,,,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,-593,-593,-593,-593,244',
'246,,,-593,-593,,,,,,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,-593,-593,-593,-593,244',
'246,,,-593,-593,,,,,,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,-593,-593,-593,-593,244',
'246,,,-593,-593,,,,,,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,-593,-593,-593,-593,244',
'246,,,-593,-593,,,,,,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,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,7,10,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,42,43,41,238,242,247,248,249,244,246,254',
',250,251,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236',
',233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,',
',69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
'27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,283,99',
'107,108,,91,92,42,43,41,238,,,,,,,,,,,,,,,,252,253,,223,,,229,,,58,59',
',,60,,281,235,279,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,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,238,,,,,,,,,,,,,,',
',252,253,,223,,,229,,,58,59,,,60,,281,235,279,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,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,238,,,,,,,,,,,,,,,,252,253,,223,,,229,,,58,59,,,60,,281,235',
'279,,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,,,,,,,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,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,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,283,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,',
',223,,,229,,,58,59,,,60,,281,,,,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,,,,,,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,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,,,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,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,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,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,,,,,,,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,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,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,,,,,',
',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,,,,,,,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,,,,,,,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,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,',
'58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,',
',,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
'102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
'42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,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,,,,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,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,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,,,,,,,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,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,,,,,,,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,,,,,,,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,,,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,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,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,,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,,281,,,,44,,,,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,',
',,,,,45,,,105,104,106,95,56,97,96,98,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,,750,,,,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,,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,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,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,',
',,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,',
',,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,',
',105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,',
',,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,',
'229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,',
',,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58',
'59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,',
',,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,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,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,,,,,,,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,,,,,,,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,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,,,,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,,,,,,,,,,,,,,,,,,,,871,',
',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,,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,,,,,,,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,,,,,,,306,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,,,312,,,,,,,,,,,,,,,,,,,,871,,,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,,,,',
',,,,,,,,,,,,,,,941,,,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,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,,,,,-280,,62,,81,93,94,-280,-280,-280,,,-280',
'-280,-280,,-280,,,,,,,,,,-280,-280,-280,,,,,,,,-280,-280,,-280,-280',
'-280,-280,-280,,,,,,,,,,,,,,,,,,,,,,,-280,-280,-280,-280,-280,-280,-280',
'-280,-280,-280,-280,-280,-280,-280,,,-280,-280,-280,,,-280,,,-280,,',
'-280,-280,,-280,,-280,,-280,,-280,-280,,-280,-280,-280,-280,-280,,-280',
',-280,,,,,,,,,,,,,,-280,,,-280,-280,-280,-280,-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',
'-576,-575,,-575,,,,-576,-576,-576,,,-576,-576,-576,,-576,,,,,,,,,-576',
'-576,-576,-576,,,,,,,,-576,-576,,-576,-576,-576,-576,-576,,,,,,,,,,',
',,,,,,,,,,,,-576,-576,-576,-576,-576,-576,-576,-576,-576,-576,-576,-576',
'-576,-576,,,-576,-576,-576,,,-576,,,-576,,,-576,-576,,-576,,-576,,-576',
',-576,-576,,-576,-576,-576,-576,-576,,-576,-576,-576,546,,543,542,541',
'550,544,,,,,,,-576,,553,-576,-576,-576,-576,-409,-576,,-576,,,,-409',
'-409,-409,,,-409,-409,-409,,-409,548,,,,,,,,-409,-409,-409,561,560,',
',,554,,,-409,-409,,-409,-409,-409,-409,-409,,,,,,,,,,,,,,,,,,,,,,,-409',
'-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,,,-409',
'-409,-409,,,-409,,263,-409,,,-409,-409,,-409,,-409,,-409,,-409,-409',
',-409,-409,-409,-409,-409,-296,-409,-409,-409,,,,-296,-296,-296,,,-296',
'-296,-296,,-296,-409,,,-409,-409,,-409,,-409,-296,-296,,,,,,,,,-296',
'-296,,-296,-296,-296,-296,-296,,,,,,,,,,,,,,,,,,,,,,,-296,-296,-296',
'-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,,,-296,-296,-296',
',,-296,,272,-296,,,-296,-296,,-296,,-296,,-296,,-296,-296,,-296,-296',
'-296,-296,-296,,-296,-244,-296,,,,,,-244,-244,-244,,,-244,-244,-244',
'-296,-244,,-296,-296,,-296,,-296,,-244,-244,-244,,,,,,,,,-244,-244,',
'-244,-244,-244,-244,-244,,,,,,,,,,,,,,,,,,,,,,,-244,-244,-244,-244,-244',
'-244,-244,-244,-244,-244,-244,-244,-244,-244,,,-244,-244,-244,,,-244',
',263,-244,,,-244,-244,,-244,,-244,,-244,,-244,-244,,-244,-244,-244,-244',
'-244,,-244,-244,-244,,,,,,,,,,,,,,-244,,-244,-244,-244,,-244,,-244,-244',
'-244,-244,,,-244,-244,-244,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,,,,,,,,-244,,,,,,,-244,,',
',,263,-244,548,532,,218,,,,,,558,557,561,560,,,,554,,,,,-244,-244,,',
',,,,,,,,,,,-244,,,-244,,,,,-244,173,184,174,197,170,190,180,179,200',
'201,195,178,177,172,198,202,203,182,171,185,189,191,183,176,,,,192,199',
'194,193,186,196,181,169,188,187,,,,,,168,175,166,167,163,164,165,124',
'126,123,,125,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,',
',,159,160,146,147,,,,,,,,,,,,,,151,150,,135,156,153,152,161,148,149',
'143,141,133,155,134,,,162,89,,,,,,,,,,,,,,88,173,184,174,197,170,190',
'180,179,200,201,195,178,177,172,198,202,203,182,171,185,189,191,183',
'176,,,,192,199,194,193,186,196,181,169,188,187,,,,,,168,175,166,167',
'163,164,165,124,126,,,125,,,,,,,,157,158,,154,136,137,138,145,142,144',
',,139,140,,,,159,160,146,147,,,,,,,,,,,,,,151,150,,135,156,153,152,161',
'148,149,143,141,133,155,134,,,162,89,,,,,,,,,,,,,,88,173,184,174,197',
'170,190,180,179,200,201,195,178,177,172,198,202,203,182,171,185,189',
'191,183,176,,,,192,199,194,193,186,196,181,169,188,187,,,,,,168,175',
'166,167,163,164,165,124,126,,,125,,,,,,,,157,158,,154,136,137,138,145',
'142,144,,,139,140,,,,159,160,146,147,,,,,,,,,,,,,,151,150,,135,156,153',
'152,161,148,149,143,141,133,155,134,,,162,89,,,,,,,,,,,,,,88,173,184',
'174,197,170,190,180,179,200,201,195,178,177,172,198,202,203,182,171',
'185,189,191,183,176,,,,192,199,194,193,186,196,181,169,188,187,,,,,',
'168,175,166,167,163,164,165,124,126,,,125,,,,,,,,157,158,,154,136,137',
'138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,,,,,,,,,151,150,,135',
'156,153,152,161,148,149,143,141,133,155,134,,,162,89,,,,,,,,,,,,,,88',
'173,184,174,197,170,190,180,179,200,201,195,178,177,172,198,202,203',
'182,171,185,189,191,183,176,,,,192,199,194,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,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,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,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,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,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,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,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,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,717,416,162',
',718,,,,,,,,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,423,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,722,423,162,,723,,,,,,,,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,976,423,162,,975,,,,,,,,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,999,416,162,,1000,,,,,,,,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,1001',
'423,162,,1002,,,,,,,,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,553,,,,,,,,553,,546,,543,542,541,550,544,,,,,,548,,,553,,,,',
'548,558,557,561,560,,,,554,558,557,561,560,,,,554,548,,546,,543,542',
'541,550,544,558,557,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',
',,,,,,,548,558,557,561,560,,,,554,558,557,561,560,,,546,554,543,542',
'541,550,544,,546,,543,542,541,550,544,553,,,,,,,,553,,546,,543,542,541',
'550,544,,,,,,548,,,553,,,,,548,558,557,561,560,,,,554,558,557,561,560',
',,,554,548,,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,,,,,,,548,,,,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,,553,,,,,,,553,,,,,,,,548,,,,,,,548,,,,561,560,,548,,554,,561,560',
',,,554,,561,560,,,,554' ]
        racc_action_table = arr = ::Array.new(24879, nil)
        idx = 0
        clist.each do |str|
          str.split(',', -1).each do |i|
            arr[idx] = i.to_i unless i.empty?
            idx += 1
          end
        end

clist = [
'95,436,436,591,591,61,344,95,95,95,19,337,95,95,95,472,95,26,58,382',
'1,480,676,676,95,383,95,95,95,327,647,7,327,345,348,307,95,95,358,95',
'95,95,95,95,10,338,221,880,715,575,472,19,683,567,481,568,480,3,58,908',
'12,908,3,222,717,718,95,95,95,95,95,95,95,95,95,95,95,95,95,95,13,26',
'95,95,95,382,95,95,839,481,95,383,61,95,95,436,95,591,95,307,95,221',
'95,95,26,95,95,95,95,95,903,95,98,95,999,344,676,647,222,98,98,98,307',
'1000,98,98,98,95,98,337,95,95,95,95,337,95,98,95,98,98,98,95,345,348',
'358,15,719,840,98,98,1001,98,98,98,98,98,1013,567,575,568,666,683,567',
'338,568,880,715,358,338,715,880,715,358,717,718,720,587,587,98,98,98',
'98,98,98,98,98,98,98,98,98,98,98,15,224,98,98,98,839,98,98,15,667,98',
'41,41,98,98,16,98,354,98,719,98,354,98,98,442,98,98,98,98,98,418,98',
'22,98,666,1001,903,418,418,418,999,903,37,418,418,999,418,98,720,1000',
'98,98,98,98,1000,98,224,98,24,840,602,98,635,719,840,24,418,418,40,418',
'418,418,418,418,666,667,1001,666,587,442,604,1001,1013,587,648,666,287',
'1013,45,41,41,287,720,38,312,312,418,418,418,418,418,418,418,418,418',
'418,418,418,418,418,377,636,418,418,418,667,418,635,667,648,418,661',
'39,418,602,602,667,109,418,661,418,204,418,418,602,418,418,418,418,418',
'38,418,419,418,604,604,316,770,38,419,419,419,412,223,604,419,419,418',
'419,341,418,418,225,418,341,418,636,419,226,39,352,418,312,312,377,377',
'377,39,419,419,363,419,419,419,419,419,700,363,700,700,700,230,700,316',
'899,378,899,899,899,412,899,316,770,17,17,262,353,412,419,419,419,419',
'419,419,419,419,419,419,419,419,419,419,352,14,419,419,419,276,419,352',
'14,277,419,379,352,419,685,280,352,14,419,413,419,669,419,419,685,419',
'419,419,419,419,291,419,419,419,364,352,353,378,378,378,380,364,292',
'353,294,381,700,419,353,384,419,419,353,419,899,419,637,685,685,295',
'365,419,685,637,637,637,413,365,637,637,637,353,637,669,413,379,379',
'379,296,77,669,637,637,637,637,669,302,46,305,669,618,77,637,637,46',
'637,637,637,637,637,220,77,306,46,380,380,380,220,669,381,381,381,366',
'384,384,384,220,328,331,366,328,331,637,637,637,637,637,637,637,637',
'637,637,637,637,637,637,311,618,637,637,637,467,637,637,299,618,637',
'313,367,637,637,299,637,317,637,367,637,320,637,637,299,637,637,637',
'637,637,586,637,637,637,325,586,368,467,329,369,330,467,467,368,467',
'467,369,637,332,843,637,637,637,637,843,637,638,637,20,20,20,637,20',
'638,638,638,20,20,638,638,638,20,638,20,20,20,20,20,20,20,336,336,638',
'638,638,20,20,20,20,20,20,20,638,638,20,638,638,638,638,638,682,20,342',
'682,20,20,20,20,20,20,20,20,343,20,20,20,347,20,20,20,20,20,638,638',
'638,638,638,638,638,638,638,638,638,638,638,638,521,521,638,638,638',
'20,638,638,20,349,638,20,20,638,638,20,638,370,638,393,638,20,638,638',
'370,638,638,638,638,638,20,638,371,638,399,20,20,20,20,371,20,20,20',
'20,688,688,402,638,20,20,638,638,638,638,404,638,20,638,20,20,20,638',
'0,0,0,0,0,0,373,848,928,0,0,928,848,373,0,408,0,0,0,0,0,0,0,410,722',
'706,706,411,0,0,0,0,0,0,0,123,420,0,989,989,123,123,431,0,0,0,0,0,0',
'0,0,0,0,0,0,428,0,0,0,438,0,0,0,0,0,431,431,431,431,431,431,431,431',
'431,431,431,722,431,431,300,450,431,431,722,0,451,300,0,722,452,0,0',
'722,453,0,300,0,431,478,431,0,431,431,857,431,431,431,431,431,0,431',
'722,482,857,0,0,0,0,301,0,0,0,0,497,498,301,501,0,0,503,431,508,431',
'511,301,0,519,0,0,0,33,33,33,33,33,33,857,857,520,33,33,857,522,534',
'33,535,33,33,33,33,33,33,33,537,796,538,539,547,33,33,33,33,33,33,33',
'595,595,33,555,595,595,595,407,33,33,33,33,33,33,33,33,33,33,33,33,559',
'33,33,33,562,33,33,33,33,33,407,407,407,407,407,407,407,407,407,407',
'407,796,407,407,303,564,407,407,796,33,569,303,33,570,589,33,33,796',
'599,33,303,33,407,607,407,33,407,407,609,407,407,407,407,407,33,407',
'796,615,619,33,33,33,33,318,33,33,33,33,624,629,318,639,33,33,641,407',
'646,653,655,318,33,660,33,33,33,121,121,121,121,121,121,663,665,346',
'121,121,668,671,672,121,346,121,121,121,121,121,121,121,675,346,677',
'680,684,121,121,121,121,121,121,121,699,701,121,708,713,716,725,640',
'121,121,121,121,121,121,121,121,121,121,121,121,730,121,121,121,749',
'121,121,121,121,121,640,640,640,640,640,640,640,640,640,640,640,356',
'640,640,507,754,640,640,356,121,772,507,121,773,775,121,121,356,776',
'121,507,121,640,777,640,121,640,640,779,640,640,640,640,640,121,640',
'780,781,782,121,121,121,121,578,121,121,121,121,786,790,578,791,121',
'121,795,640,799,802,803,578,121,806,121,121,121,206,206,206,206,206',
'206,811,812,870,206,206,816,817,819,206,870,206,206,206,206,206,206',
'206,820,870,822,825,827,206,206,206,206,206,206,206,830,868,206,868',
'868,868,833,868,206,206,206,206,206,206,206,206,206,206,206,206,842',
'206,206,206,846,206,206,206,206,206,21,21,21,21,21,21,21,21,21,21,21',
'670,21,21,932,847,21,21,670,206,850,932,206,670,851,206,206,670,867',
'206,932,206,21,871,21,206,21,21,873,21,21,21,21,21,206,21,884,885,901',
'206,206,206,206,938,206,206,206,206,905,906,938,912,206,206,916,21,918',
'921,922,938,206,923,206,206,206,229,229,229,229,229,229,924,926,939',
'229,229,941,946,947,229,939,229,229,229,229,229,229,229,948,939,949',
'950,952,229,229,229,229,229,229,229,975,974,229,974,974,974,976,974',
'229,229,229,229,229,229,229,229,229,229,229,229,977,229,229,229,988',
'229,229,229,229,229,274,274,274,274,274,274,274,274,274,274,274,723',
'274,274,940,990,274,274,723,229,991,940,229,723,992,229,229,723,993',
'229,940,229,274,994,274,229,274,274,995,274,274,274,274,274,229,274',
'998,1003,1004,229,229,229,229,942,229,229,229,229,1015,,942,,229,229',
',274,,,,942,229,,229,229,229,293,293,293,293,293,293,,,981,293,293,',
',,293,981,293,293,293,293,293,293,293,,981,,,,293,293,293,293,293,293',
'293,,,293,6,6,6,6,6,293,293,293,293,293,293,293,293,293,293,293,293',
',293,293,293,,293,293,293,293,293,426,426,426,426,426,426,426,426,426',
'426,426,1002,426,426,,,426,426,1002,293,,,293,1002,,293,293,1002,,293',
',293,426,,426,293,426,426,,426,426,426,426,426,293,426,,,,293,293,293',
'293,,293,293,293,293,,,,,293,293,,426,,,,,293,,293,293,293,298,298,298',
'298,298,298,,,,298,298,,,,298,,298,298,298,298,298,298,298,290,290,290',
'290,290,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,471,471,471,471,471,471,471,471,471,471,471,,471,471,,,471,471,',
'298,,,298,,,298,298,,,298,,298,471,,471,298,471,471,,471,471,471,471',
'471,298,471,,,,298,298,298,298,,298,298,298,298,,,,,298,298,471,471',
',,,,298,,298,298,298,323,323,323,323,323,323,,,,323,323,,,,323,,323',
'323,323,323,323,323,323,,,,,,323,323,323,323,323,323,323,,,323,,,,,',
'323,323,323,323,323,323,323,323,323,323,323,323,,323,323,323,,323,323',
'323,323,323,517,517,517,517,517,517,517,517,517,517,517,,517,517,,,517',
'517,,323,,,323,,,323,323,,,323,,323,517,,517,323,517,517,,517,517,517',
'517,517,323,517,,,,323,323,323,323,,323,323,323,323,,,,,323,323,,517',
',,,,323,,323,323,323,496,496,496,496,496,496,,,,496,496,,,,496,,496',
'496,496,496,496,496,496,,,,,,496,496,496,496,496,496,496,,,496,,,,,',
'496,496,496,496,496,496,496,496,496,496,496,496,,496,496,496,,496,496',
'496,496,496,674,674,674,674,674,674,674,674,674,674,674,,674,674,,,674',
'674,,496,,,496,,,496,496,,,496,,496,674,,674,496,674,674,,674,674,674',
'674,674,496,674,,,,496,496,496,496,,496,496,496,496,,,,,496,496,,674',
',,,,496,,496,496,496,563,563,563,563,563,563,,,,563,563,,,,563,,563',
'563,563,563,563,563,563,,,,,,563,563,563,563,563,563,563,,,563,,,,,',
'563,563,563,563,563,563,563,563,563,563,563,563,,563,563,563,,563,563',
'563,563,563,751,751,751,751,751,751,751,751,751,751,751,,751,751,,,751',
'751,,563,,,563,,,563,563,,,563,,563,751,,751,563,751,751,,751,751,751',
'751,751,563,751,,,,563,563,563,563,,563,563,563,563,,,,,563,563,,751',
',,,,563,,563,563,563,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,756,756,756,756,756,756,756,756,756,756,756,,756,756,,,756',
'756,,566,,,566,,,566,566,,,566,,566,756,,756,566,756,756,,756,756,756',
'756,756,566,756,,,,566,566,566,566,,566,566,566,566,,,,,566,566,,756',
',,,,566,,566,566,566,588,588,588,588,588,588,,,,588,588,,,,588,,588',
'588,588,588,588,588,588,,,,,,588,588,588,588,588,588,588,,,588,,,,,',
'588,588,588,588,588,588,588,588,588,588,588,588,,588,588,588,,588,588',
'588,588,588,758,758,758,758,758,758,758,758,758,758,758,,758,758,,,758',
'758,,588,,,588,,,588,588,,,588,,588,758,,758,588,758,758,,758,758,758',
'758,758,588,758,,,,588,588,588,588,,588,588,588,588,,,,,588,588,,758',
',,,,588,,588,588,588,645,645,645,645,645,645,,,,645,645,,,,645,,645',
'645,645,645,645,645,645,,,,,,645,645,645,645,645,645,645,,,645,,,,,',
'645,645,645,645,645,645,645,645,645,645,645,645,,645,645,645,,645,645',
'645,645,645,761,761,761,761,761,761,761,761,761,761,761,,761,761,,,761',
'761,,645,,,645,,,645,645,,,645,,645,761,,761,645,761,761,,761,761,761',
'761,761,645,761,,,,645,645,645,645,,645,645,645,645,,,,,645,645,,761',
',,,,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,,,650,,,,,',
'650,650,650,650,650,650,650,650,650,650,650,650,,650,650,650,,650,650',
'650,650,650,763,763,763,763,763,763,763,763,763,763,763,,763,763,,,763',
'763,,650,,,650,,,650,650,,,650,,650,763,,763,650,763,763,,763,763,763',
'763,763,650,763,,,,650,650,650,650,,650,650,650,650,,,,,650,650,,763',
',,,,650,,650,650,650,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,765,765,765,765,765,765,765,765,765,765,765,,765,765,,,765',
'765,,651,,,651,,,651,651,,,651,,651,765,,765,651,765,765,,765,765,765',
'765,765,651,765,,,,651,651,651,651,,651,651,651,651,,,,,651,651,,765',
',,,,651,,651,651,651,726,726,726,726,726,726,,,,726,726,,,,726,,726',
'726,726,726,726,726,726,,,,,,726,726,726,726,726,726,726,,,726,,,,,',
'726,726,726,726,726,726,726,726,726,726,726,726,,726,726,726,,726,726',
'726,726,726,853,853,853,853,853,853,853,853,853,853,853,,853,853,,,853',
'853,,726,,,726,,,726,726,,,726,,726,853,,853,726,853,853,,853,853,853',
'853,853,726,853,,,,726,726,726,726,,726,726,726,726,,,,,726,726,,853',
',,,,726,,726,726,726,731,731,731,731,731,731,,,,731,731,,,,731,,731',
'731,731,731,731,731,731,,,,,,731,731,731,731,731,731,731,,,731,,,,,',
'731,731,731,731,731,731,731,731,731,731,731,731,,731,731,731,,731,731',
'731,731,731,856,856,856,856,856,856,856,856,856,856,856,,856,856,,,856',
'856,,731,,,731,,,731,731,,,731,,731,856,,856,731,856,856,,856,856,856',
'856,856,731,856,,,,731,731,731,731,,731,731,731,731,,,,,731,731,,856',
',,,,731,,731,731,731,741,741,741,741,741,741,,,,741,741,,,,741,,741',
'741,741,741,741,741,741,,,,,,741,741,741,741,741,741,741,,548,741,548',
'548,548,,548,741,741,741,741,741,741,741,741,741,741,741,741,,741,741',
'741,,741,741,741,741,741,697,,697,697,697,,697,,548,,,448,,,,,,548,',
'741,,,741,,,741,741,,,741,,741,,,,741,,697,,,,,,448,741,,697,448,448',
'741,741,741,741,,741,741,741,741,,,,,741,741,,826,,826,826,826,741,826',
'741,741,741,789,789,789,789,789,789,,,,789,789,,,,789,,789,789,789,789',
'789,789,789,,,,,826,789,789,789,789,789,789,789,,826,789,,,,,,789,789',
'789,789,789,789,789,789,789,789,789,789,,789,789,789,,789,789,789,789',
'789,446,446,446,446,446,446,446,446,446,446,446,,446,446,,,446,446,',
'789,,,789,,,789,789,,468,789,,789,446,,446,789,446,446,,446,446,446',
'446,446,789,446,,,,789,789,789,789,,789,789,789,789,,,468,,789,789,468',
'468,,468,468,,789,,789,789,789,801,801,801,801,801,801,,,,801,801,,',
',801,,801,801,801,801,801,801,801,,,,,,801,801,801,801,801,801,801,',
',801,,,,,,801,801,801,801,801,801,801,801,801,801,801,801,,801,801,801',
',801,801,801,801,801,447,447,447,447,447,447,447,447,447,447,447,,447',
'447,,,447,447,,801,,,801,,,801,801,,449,801,,801,447,,447,801,447,447',
',447,447,447,447,447,801,447,,,,801,801,801,801,,801,801,801,801,,,449',
',801,801,449,449,,,,,801,,801,801,801,809,809,809,809,809,809,,,,809',
'809,,,,809,,809,809,809,809,809,809,809,,,,,,809,809,809,809,809,809',
'809,,828,809,828,828,828,,828,809,809,809,809,809,809,809,809,809,809',
'809,809,,809,809,809,,809,809,809,809,809,457,457,457,457,457,457,457',
',828,457,457,,,,,,457,457,,809,,,809,,,809,809,,,809,,809,457,,457,809',
'457,457,,457,457,457,457,457,809,457,,,,809,809,809,809,,809,809,809',
'809,,,,,809,809,,900,,900,900,900,809,900,809,809,809,810,810,810,810',
'810,810,,,,810,810,,,,810,,810,810,810,810,810,810,810,,,,,900,810,810',
'810,810,810,810,810,,951,810,951,951,951,,951,810,810,810,810,810,810',
'810,810,810,810,810,810,,810,810,810,,810,810,810,810,810,458,953,,953',
'953,953,,953,951,987,,987,987,987,,987,458,458,,810,,,810,,,810,810',
',,810,,810,458,,458,810,458,458,953,458,458,,,458,810,458,987,,,810',
'810,810,810,,810,810,810,810,,,,,810,810,,,,,,,810,,810,810,810,834',
'834,834,834,834,834,,,,834,834,,,,834,,834,834,834,834,834,834,834,',
',,,,834,834,834,834,834,834,834,,,834,,,,,,834,834,834,834,834,834,834',
'834,834,834,834,834,,834,834,834,,834,834,834,834,834,459,,,,,,,,,,',
',,,,,459,459,,834,,,834,,,834,834,,,834,,834,459,,459,834,459,459,,459',
'459,,,459,834,459,,,,834,834,834,834,,834,834,834,834,,,,,834,834,,',
',,,,834,,834,834,834,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,460,,,,,,,,,,,,,,,,460,460,,835,,,835,,,835,835,,,835,,835',
'460,,460,835,460,460,,460,460,,,460,835,460,,,,835,835,835,835,,835',
'835,835,835,,,,,835,835,,,,,,,835,,835,835,835,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,461,,,,,,,,,,,,,,,,461,461,,838,,',
'838,,,838,838,,,838,,838,461,,461,838,461,461,,461,461,,,461,838,461',
',,,838,838,838,838,,838,838,838,838,,,,,838,838,,,,,,,838,,838,838,838',
'844,844,844,844,844,844,,,,844,844,,,,844,,844,844,844,844,844,844,844',
',,,,,844,844,844,844,844,844,844,,,844,,,,,,844,844,844,844,844,844',
'844,844,844,844,844,844,,844,844,844,,844,844,844,844,844,462,462,462',
'462,462,462,462,,,462,462,,,,,,462,462,,844,,,844,,,844,844,,,844,,844',
'462,,462,844,462,462,,462,462,462,462,462,844,462,,,,844,844,844,844',
',844,844,844,844,,,,,844,844,,,,,,,844,,844,844,844,877,877,877,877',
'877,877,,,,877,877,,,,877,,877,877,877,877,877,877,877,,,,,,877,877',
'877,877,877,877,877,,,877,,,,,,877,877,877,877,877,877,877,877,877,877',
'877,877,,877,877,877,,877,877,877,877,877,463,463,463,463,463,463,463',
',,463,463,,,,,,463,463,,877,,,877,,,877,877,,,877,,877,463,,463,877',
'463,463,,463,463,463,463,463,877,463,,,,877,877,877,877,,877,877,877',
'877,,,,,877,877,,,,,,,877,,877,877,877,937,937,937,937,937,937,,,,937',
'937,,,,937,,937,937,937,937,937,937,937,,,,,,937,937,937,937,937,937',
'937,,,937,,,,,,937,937,937,937,937,937,937,937,937,937,937,937,,937',
'937,937,,937,937,937,937,937,464,464,464,464,464,464,464,,,464,464,',
',,,,464,464,,937,,,937,,,937,937,,,937,,937,464,,464,937,464,464,,464',
'464,464,464,464,937,464,,,,937,937,937,937,,937,937,937,937,,,,,937',
'937,,,,,,,937,,937,937,937,954,954,954,954,954,954,,,,954,954,,,,954',
',954,954,954,954,954,954,954,,,,,,954,954,954,954,954,954,954,,,954',
',,,,,954,954,954,954,954,954,954,954,954,954,954,954,,954,954,954,,954',
'954,954,954,954,465,465,465,465,465,465,465,,,465,465,,,,,,465,465,',
'954,,,954,,,954,954,,,954,,954,465,,465,954,465,465,,465,465,465,465',
'465,954,465,,,,954,954,954,954,,954,954,954,954,,,,,954,954,,,,,,,954',
',954,954,954,960,960,960,960,960,960,,,,960,960,,,,960,,960,960,960',
'960,960,960,960,,,,,,960,960,960,960,960,960,960,,,960,,,,,,960,960',
'960,960,960,960,960,960,960,960,960,960,,960,960,960,,960,960,960,960',
'960,466,466,466,466,466,466,466,,,466,466,,,,,,466,466,,960,,,960,,',
'960,960,,,960,,960,466,,466,960,466,466,,466,466,466,466,466,960,466',
',,,960,960,960,960,,960,960,960,960,,,,,960,960,,,,,,,960,,960,960,960',
'962,962,962,962,962,962,,,,962,962,,,,962,,962,962,962,962,962,962,962',
',,,,,962,962,962,962,962,962,962,,,962,,,,,,962,962,962,962,962,962',
'962,962,962,962,962,962,,962,962,962,,962,962,962,962,962,469,469,469',
'469,469,469,469,,,469,469,,,,,,469,469,,962,,,962,,,962,962,,,962,,962',
'469,,469,962,469,469,,469,469,469,469,469,962,469,,,,962,962,962,962',
',962,962,962,962,,,,,962,962,,,,,,,962,,962,962,962,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,470,470,470,470,470,470,470,470,,470,470,,,,,',
'470,470,,5,,,5,,,5,5,,,5,,5,470,,470,5,470,470,,470,470,470,470,470',
'5,470,,,,5,5,5,5,,5,5,5,5,,,,,5,5,,,,29,29,29,5,29,5,5,5,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,454,,,,,,,,,,,,,,,,454',
'454,,29,,,29,,,29,29,,,29,,29,454,29,454,29,454,454,29,454,454,,,,29',
',,,,29,29,29,29,,29,29,29,29,,,,,29,29,,,,30,30,30,29,30,29,29,29,30',
'30,,,,30,,30,30,30,30,30,30,30,,,,,,30,30,30,30,30,30,30,,,30,,,,,,',
'30,,,30,30,30,30,30,30,30,30,30,30,30,30,,30,30,30,30,30,455,,,,,,,',
',,,,,,,,455,455,,30,,,30,,,30,30,,,30,,30,455,30,455,30,455,455,30,455',
'455,,,,30,,,,,30,30,30,30,,30,30,30,30,,,,,30,30,,,,31,31,31,30,31,30',
'30,30,31,31,,,,31,,31,31,31,31,31,31,31,,,,,,31,31,31,31,31,31,31,,',
'31,,,,,,,31,,,31,31,31,31,31,31,31,31,31,31,31,31,,31,31,31,31,31,456',
',,,,,,,,,,,,,,,456,456,,31,,,31,,,31,31,,,31,,31,456,31,,31,456,456',
'31,456,456,,,,31,,,,,31,31,31,31,,31,31,31,31,,,,,31,31,,,,34,34,34',
'31,34,31,31,31,34,34,,,,34,,34,34,34,34,34,34,34,,,,,,34,34,34,34,34',
'34,34,,,34,,,,,,,34,,,34,34,34,34,34,34,34,34,,34,34,34,,34,34,,,34',
',,,,,,,,,,,,,,,,,,,34,,,34,,,34,34,,,34,,34,,,,,,,,,,,,,,,,,,34,34,34',
'34,,34,34,34,34,,,,,34,34,,,,35,35,35,34,35,34,34,34,35,35,,,,35,,35',
'35,35,35,35,35,35,,,,,,35,35,35,35,35,35,35,,,35,,,,,,,35,,,35,35,35',
'35,35,35,35,35,,35,35,35,,35,35,,,35,,,,,,,,,,,,,,,,,,,,35,,,35,,,35',
'35,,,35,,,693,,693,693,693,693,693,,,,,,,,,693,,35,35,35,35,,35,35,35',
'35,,,,,35,35,,,,35,,693,35,,35,35,35,42,42,42,,42,693,693,,42,42,693',
',,42,,42,42,42,42,42,42,42,,,,,,42,42,42,42,42,42,42,,,42,,,,,,,42,',
',42,42,42,42,42,42,42,42,,42,42,42,,42,42,42,42,42,,,,,,,,,,,,,,,,,',
',,42,,,42,,,42,42,,,42,,,,,,42,,,,,,,,,42,,,,,42,42,42,42,,42,42,42',
'42,,,,,42,42,,,,43,43,43,42,43,42,42,42,43,43,,,,43,,43,43,43,43,43',
'43,43,,,,,,43,43,43,43,43,43,43,,,43,,,,,,,43,,,43,43,43,43,43,43,43',
'43,,43,43,43,,43,43,43,43,43,,,,,,,,,,,,,,,,,,,,43,,,43,,,43,43,,,43',
',,,,,43,,,,,,,,,43,,,,,43,43,43,43,,43,43,43,43,,,,,43,43,,,,44,44,44',
'43,44,43,43,43,44,44,,,,44,,44,44,44,44,44,44,44,,,,,,44,44,44,44,44',
'44,44,,,44,,,,,,,44,,,44,44,44,44,44,44,44,44,,44,44,44,,44,44,44,44',
'44,,,,,,,,,,,,,,,,,,,,44,,,44,,,44,44,,,44,,,,,,44,,,,,,,,,44,,,,,44',
'44,44,44,,44,44,44,44,,,,,44,44,,,,59,59,59,44,59,44,44,44,59,59,,,',
'59,,59,59,59,59,59,59,59,,,,,,59,59,59,59,59,59,59,,,59,,,,,,,59,,,59',
'59,59,59,59,59,59,59,59,59,59,59,,59,59,59,59,59,,,,,,,,,,,,,,,,,,,',
'59,,,59,,,59,59,,,59,,59,,,,59,,,59,,,,,,59,,,,,59,59,59,59,,59,59,59',
'59,,,,,59,59,,,,60,60,60,59,60,59,59,59,60,60,,,,60,,60,60,60,60,60',
'60,60,,,,,,60,60,60,60,60,60,60,,,60,,,,,,,60,,,60,60,60,60,60,60,60',
'60,60,60,60,60,,60,60,60,60,60,,,,,,,,,,,,,,,,,,,,60,,,60,,,60,60,,',
'60,,,,,,60,,,60,,,,,,60,,,,,60,60,60,60,,60,60,60,60,,,,,60,60,,,,63',
'63,63,60,63,60,60,60,63,63,,,,63,,63,63,63,63,63,63,63,,,,,,63,63,63',
'63,63,63,63,,,63,,,,,,,63,,,63,63,63,63,63,63,63,63,,63,63,63,,63,63',
'63,63,63,,,,,,,,,,,,,,,,,,,,63,,,63,,,63,63,,,63,,,,,,63,,,,,,,,,63',
',,,,63,63,63,63,,63,63,63,63,,,,,63,63,,,,64,64,64,63,64,63,63,63,64',
'64,,,,64,,64,64,64,64,64,64,64,,,,,,64,64,64,64,64,64,64,,,64,,,,,,',
'64,,,64,64,64,64,64,64,64,64,,64,64,64,,64,64,64,64,64,,,,,,,,,,,,,',
',,,,,,64,,,64,,,64,64,,,64,,,,,,64,,,,,,,,,64,,,,,64,64,64,64,,64,64',
'64,64,,,,,64,64,,,,67,67,67,64,67,64,64,64,67,67,,,,67,,67,67,67,67',
'67,67,67,,,,,,67,67,67,67,67,67,67,,,67,,,,,,,67,,,67,67,67,67,67,67',
'67,67,,67,67,67,,67,67,67,67,67,,,,,,,,,,,,,,,,,,,,67,,,67,,,67,67,',
',67,,,,,,67,,,,,,,,,67,,,,,67,67,67,67,,67,67,67,67,,,,,67,67,67,,,',
',67,67,,67,67,67,68,68,68,,68,,,,68,68,,,,68,,68,68,68,68,68,68,68,',
',,,,68,68,68,68,68,68,68,,,68,,,,,,,68,,,68,68,68,68,68,68,68,68,,68',
'68,68,,68,68,,,68,,,,,,,,,,,,,,,,,,,,68,,,68,,,68,68,,,68,,68,,,,,,',
',,,,,,,,,,,68,68,68,68,,68,68,68,68,,,,,68,68,,,,69,69,69,68,69,68,68',
'68,69,69,,,,69,,69,69,69,69,69,69,69,,,,,,69,69,69,69,69,69,69,,,69',
',,,,,,69,,,69,69,69,69,69,69,69,69,,69,69,69,,69,69,,,69,,,,,,,,,,,',
',,,,,69,,,69,,,69,,,69,69,,,69,,,,,,,,,,,,,,,,,,,,69,69,69,69,,69,69',
'69,69,,,,,69,69,,,,70,70,70,69,70,69,69,69,70,70,,,,70,,70,70,70,70',
'70,70,70,,,,,,70,70,70,70,70,70,70,,,70,,,,,,,70,,,70,70,70,70,70,70',
'70,70,,70,70,70,,70,70,,,70,,,,,,,,,,,,,,,,,,,,70,,,70,,,70,70,,,70',
',,864,,864,864,864,864,864,,,,,,,,,864,,70,70,70,70,,70,70,70,70,,,',
',70,70,,,,,,864,70,,70,70,70,111,111,111,111,111,864,864,,111,111,864',
',,111,,111,111,111,111,111,111,111,,,,,,111,111,111,111,111,111,111',
',,111,,,,,,111,111,111,111,111,111,111,111,111,111,111,111,,111,111',
'111,,111,111,111,111,111,,,,,,,,,,,,,,,,,,,,111,,,111,,,111,111,,,111',
',111,,,,111,,,,,,,,,111,,,,,111,111,111,111,,111,111,111,111,,,,,111',
'111,,,,,,111,111,,111,111,111,116,116,116,,116,,,,116,116,,,,116,,116',
'116,116,116,116,116,116,,,,,,116,116,116,116,116,116,116,,,116,,,,,',
',116,,,116,116,116,116,116,116,116,116,,116,116,116,,116,116,116,116',
'116,,,,,,,,,,,,,,,,,,,,116,,,116,,,116,116,,,116,,,,,,116,,,,,,,,,116',
',,,,116,116,116,116,,116,116,116,116,,,,,116,116,,,,117,117,117,116',
'117,116,116,116,117,117,,,,117,,117,117,117,117,117,117,117,,,,,,117',
'117,117,117,117,117,117,,,117,,,,,,,117,,,117,117,117,117,117,117,117',
'117,,117,117,117,,117,117,117,117,117,,,,,,,,,,,,,,,,,,,,117,,,117,',
',117,117,,,117,,,,,,117,,,,,,,,,117,,,,,117,117,117,117,,117,117,117',
'117,,,,,117,117,,,,118,118,118,117,118,117,117,117,118,118,,,,118,,118',
'118,118,118,118,118,118,,,,,,118,118,118,118,118,118,118,,,118,,,,,',
',118,,,118,118,118,118,118,118,118,118,,118,118,118,,118,118,118,118',
'118,,,,,,,,,,,,,,,,,,,,118,,,118,,,118,118,,,118,,,,,,118,,,,,,,,,118',
',,,,118,118,118,118,,118,118,118,118,,,,,118,118,,,,119,119,119,118',
'119,118,118,118,119,119,,,,119,,119,119,119,119,119,119,119,,,,,,119',
'119,119,119,119,119,119,,,119,,,,,,,119,,,119,119,119,119,119,119,119',
'119,,119,119,119,,119,119,119,119,119,,,,,,,,,,,,,,,,,,,,119,,,119,',
',119,119,,,119,,,,,,119,,,,,,,,,119,,,,,119,119,119,119,,119,119,119',
'119,,,,,119,119,,,,,,,119,,119,119,119,120,120,120,120,120,,,,120,120',
',,,120,,120,120,120,120,120,120,120,,,,,,120,120,120,120,120,120,120',
',,120,,,,,,120,120,,120,120,120,120,120,120,120,120,120,,120,120,120',
',120,120,120,120,120,,,,,,,,,,,,,,,,,,,,120,,,120,,,120,120,,,120,,120',
',,,120,,,,,,,,,120,,,,,120,120,120,120,,120,120,120,120,,,,,120,120',
',,,207,207,207,120,207,120,120,120,207,207,,,,207,,207,207,207,207,207',
'207,207,,,,,,207,207,207,207,207,207,207,,,207,,,,,,,207,,,207,207,207',
'207,207,207,207,207,,207,207,207,,207,207,207,207,207,,,,,,,,,,,,,,',
',,,,,207,,,207,,,207,207,,,207,,207,,,,207,,,,,,,,,207,,,,,207,207,207',
'207,,207,207,207,207,,,,,207,207,,,,208,208,208,207,208,207,207,207',
'208,208,,,,208,,208,208,208,208,208,208,208,,,,,,208,208,208,208,208',
'208,208,,,208,,,,,,,208,,,208,208,208,208,208,208,208,208,,208,208,208',
',208,208,208,208,208,,,,,,,,,,,,,,,,,,,,208,,,208,,,208,208,,,208,,',
',,,208,,,,,,,,,208,,,,,208,208,208,208,,208,208,208,208,,,,,208,208',
',,,209,209,209,208,209,208,208,208,209,209,,,,209,,209,209,209,209,209',
'209,209,,,,,,209,209,209,209,209,209,209,,,209,,,,,,,209,,,209,209,209',
'209,209,209,209,209,209,209,209,209,,209,209,209,209,209,,,,,,,,,,,',
',,,,,,,,209,,,209,,,209,209,,,209,,209,,209,,209,,,209,,,,,,209,,,,',
'209,209,209,209,,209,209,209,209,,,,,209,209,,,,212,212,212,209,212',
'209,209,209,212,212,,,,212,,212,212,212,212,212,212,212,,,,,,212,212',
'212,212,212,212,212,,,212,,,,,,,212,,,212,212,212,212,212,212,212,212',
',212,212,212,,212,212,212,212,212,,,,,,,,,,,,,,,,,,,,212,,,212,,,212',
'212,,,212,,,,,,212,,,,,,,,,212,,,,,212,212,212,212,,212,212,212,212',
',,,,212,212,,,,213,213,213,212,213,212,212,212,213,213,,,,213,,213,213',
'213,213,213,213,213,,,,,,213,213,213,213,213,213,213,,,213,,,,,,,213',
',,213,213,213,213,213,213,213,213,,213,213,213,,213,213,213,213,213',
',,,,,,,,,,,,,,,,,,,213,,,213,,,213,213,,,213,,213,,,,213,,,,,,,,,213',
',,,,213,213,213,213,,213,213,213,213,,,,,213,213,,,,214,214,214,213',
'214,213,213,213,214,214,,,,214,,214,214,214,214,214,214,214,,,,,,214',
'214,214,214,214,214,214,,,214,,,,,,,214,,,214,214,214,214,214,214,214',
'214,,214,214,214,,214,214,214,214,214,,,,,,,,,,,,,,,,,,,,214,,,214,',
',214,214,,,214,,,,,,214,,,,,,,,,214,,,,,214,214,214,214,,214,214,214',
'214,,,,,214,214,,,,215,215,215,214,215,214,214,214,215,215,,,,215,,215',
'215,215,215,215,215,215,,,,,,215,215,215,215,215,215,215,,,215,,,,,',
',215,,,215,215,215,215,215,215,215,215,,215,215,215,,215,215,215,215',
'215,,,,,,,,,,,,,,,,,,,,215,,,215,,,215,215,,,215,,,,,,215,,,,,,,,,215',
',,,,215,215,215,215,,215,215,215,215,,,,,215,215,,,,216,216,216,215',
'216,215,215,215,216,216,,,,216,,216,216,216,216,216,216,216,,,,,,216',
'216,216,216,216,216,216,,,216,,,,,,,216,,,216,216,216,216,216,216,216',
'216,,216,216,216,,216,216,216,216,216,,,,,,,,,,,,,,,,,,,,216,,,216,',
',216,216,,,216,,,,,,216,,,,,,,,,216,,,,,216,216,216,216,,216,216,216',
'216,,,,,216,216,,,,217,217,217,216,217,216,216,216,217,217,,,,217,,217',
'217,217,217,217,217,217,,,,,,217,217,217,217,217,217,217,,,217,,,,,',
',217,,,217,217,217,217,217,217,217,217,,217,217,217,,217,217,217,217',
'217,,,,,,,,,,,,,,,,,,,,217,,,217,,,217,217,,,217,,,,,,217,,,,,,,,,217',
',,,,217,217,217,217,,217,217,217,217,,,,,217,217,217,,,228,228,228,217',
'228,217,217,217,228,228,,,,228,,228,228,228,228,228,228,228,,,,,,228',
'228,228,228,228,228,228,,,228,,,,,,,228,,,228,228,228,228,228,228,228',
'228,,228,228,228,,228,228,228,228,228,,,,,,,,,,,,,,,,,,,,228,,,228,',
',228,228,,,228,,,,,,228,,,,,,,,,228,,,,,228,228,228,228,,228,228,228',
'228,,,,,228,228,,,,231,231,231,228,231,228,228,228,231,231,,,,231,,231',
'231,231,231,231,231,231,,,,,,231,231,231,231,231,231,231,,,231,,,,,',
',231,,,231,231,231,231,231,231,231,231,,231,231,231,,231,231,231,231',
'231,,,,,,,,,,,,,,,,,,,,231,,,231,,,231,231,,,231,,,,,,231,,,,,,,,,231',
',,,,231,231,231,231,,231,231,231,231,,,,,231,231,,,,232,232,232,231',
'232,231,231,231,232,232,,,,232,,232,232,232,232,232,232,232,,,,,,232',
'232,232,232,232,232,232,,,232,,,,,,,232,,,232,232,232,232,232,232,232',
'232,,232,232,232,,232,232,232,232,232,,,,,,,,,,,,,,,,,,,,232,,,232,',
',232,232,,,232,,,,,,232,,,,,,,,,232,,,,,232,232,232,232,,232,232,232',
'232,,,,,232,232,,,,233,233,233,232,233,232,232,232,233,233,,,,233,,233',
'233,233,233,233,233,233,,,,,,233,233,233,233,233,233,233,,,233,,,,,',
',233,,,233,233,233,233,233,233,233,233,,233,233,233,,233,233,233,233',
'233,,,,,,,,,,,,,,,,,,,,233,,,233,,,233,233,,,233,,,,,,233,,,,,,,,,233',
',,,,233,233,233,233,,233,233,233,233,,,,,233,233,,,,234,234,234,233',
'234,233,233,233,234,234,,,,234,,234,234,234,234,234,234,234,,,,,,234',
'234,234,234,234,234,234,,,234,,,,,,,234,,,234,234,234,234,234,234,234',
'234,,234,234,234,,234,234,234,234,234,,,,,,,,,,,,,,,,,,,,234,,,234,',
',234,234,,,234,,,,,,234,,,,,,,,,234,,,,,234,234,234,234,,234,234,234',
'234,,,,,234,234,,,,235,235,235,234,235,234,234,234,235,235,,,,235,,235',
'235,235,235,235,235,235,,,,,,235,235,235,235,235,235,235,,,235,,,,,',
',235,,,235,235,235,235,235,235,235,235,,235,235,235,,235,235,235,235',
'235,,,,,,,,,,,,,,,,,,,,235,,,235,,,235,235,,,235,,,,,,235,,,,,,,,,235',
',,,,235,235,235,235,,235,235,235,235,,,,,235,235,,,,236,236,236,235',
'236,235,235,235,236,236,,,,236,,236,236,236,236,236,236,236,,,,,,236',
'236,236,236,236,236,236,,,236,,,,,,,236,,,236,236,236,236,236,236,236',
'236,,236,236,236,,236,236,236,236,236,,,,,,,,,,,,,,,,,,,,236,,,236,',
',236,236,,,236,,,,,,236,,,,,,,,,236,,,,,236,236,236,236,,236,236,236',
'236,,,,,236,236,,,,237,237,237,236,237,236,236,236,237,237,,,,237,,237',
'237,237,237,237,237,237,,,,,,237,237,237,237,237,237,237,,,237,,,,,',
',237,,,237,237,237,237,237,237,237,237,,237,237,237,,237,237,237,237',
'237,,,,,,,,,,,,,,,,,,,,237,,,237,,,237,237,,,237,,,,,,237,,,,,,,,,237',
',,,,237,237,237,237,,237,237,237,237,,,,,237,237,,,,238,238,238,237',
'238,237,237,237,238,238,,,,238,,238,238,238,238,238,238,238,,,,,,238',
'238,238,238,238,238,238,,,238,,,,,,,238,,,238,238,238,238,238,238,238',
'238,,238,238,238,,238,238,238,238,238,,,,,,,,,,,,,,,,,,,,238,,,238,',
',238,238,,,238,,,,,,238,,,,,,,,,238,,,,,238,238,238,238,,238,238,238',
'238,,,,,238,238,,,,239,239,239,238,239,238,238,238,239,239,,,,239,,239',
'239,239,239,239,239,239,,,,,,239,239,239,239,239,239,239,,,239,,,,,',
',239,,,239,239,239,239,239,239,239,239,,239,239,239,,239,239,239,239',
'239,,,,,,,,,,,,,,,,,,,,239,,,239,,,239,239,,,239,,,,,,239,,,,,,,,,239',
',,,,239,239,239,239,,239,239,239,239,,,,,239,239,,,,240,240,240,239',
'240,239,239,239,240,240,,,,240,,240,240,240,240,240,240,240,,,,,,240',
'240,240,240,240,240,240,,,240,,,,,,,240,,,240,240,240,240,240,240,240',
'240,,240,240,240,,240,240,240,240,240,,,,,,,,,,,,,,,,,,,,240,,,240,',
',240,240,,,240,,,,,,240,,,,,,,,,240,,,,,240,240,240,240,,240,240,240',
'240,,,,,240,240,,,,241,241,241,240,241,240,240,240,241,241,,,,241,,241',
'241,241,241,241,241,241,,,,,,241,241,241,241,241,241,241,,,241,,,,,',
',241,,,241,241,241,241,241,241,241,241,,241,241,241,,241,241,241,241',
'241,,,,,,,,,,,,,,,,,,,,241,,,241,,,241,241,,,241,,,,,,241,,,,,,,,,241',
',,,,241,241,241,241,,241,241,241,241,,,,,241,241,,,,242,242,242,241',
'242,241,241,241,242,242,,,,242,,242,242,242,242,242,242,242,,,,,,242',
'242,242,242,242,242,242,,,242,,,,,,,242,,,242,242,242,242,242,242,242',
'242,,242,242,242,,242,242,242,242,242,,,,,,,,,,,,,,,,,,,,242,,,242,',
',242,242,,,242,,,,,,242,,,,,,,,,242,,,,,242,242,242,242,,242,242,242',
'242,,,,,242,242,,,,243,243,243,242,243,242,242,242,243,243,,,,243,,243',
'243,243,243,243,243,243,,,,,,243,243,243,243,243,243,243,,,243,,,,,',
',243,,,243,243,243,243,243,243,243,243,,243,243,243,,243,243,243,243',
'243,,,,,,,,,,,,,,,,,,,,243,,,243,,,243,243,,,243,,,,,,243,,,,,,,,,243',
',,,,243,243,243,243,,243,243,243,243,,,,,243,243,,,,244,244,244,243',
'244,243,243,243,244,244,,,,244,,244,244,244,244,244,244,244,,,,,,244',
'244,244,244,244,244,244,,,244,,,,,,,244,,,244,244,244,244,244,244,244',
'244,,244,244,244,,244,244,244,244,244,,,,,,,,,,,,,,,,,,,,244,,,244,',
',244,244,,,244,,,,,,244,,,,,,,,,244,,,,,244,244,244,244,,244,244,244',
'244,,,,,244,244,,,,245,245,245,244,245,244,244,244,245,245,,,,245,,245',
'245,245,245,245,245,245,,,,,,245,245,245,245,245,245,245,,,245,,,,,',
',245,,,245,245,245,245,245,245,245,245,,245,245,245,,245,245,245,245',
'245,,,,,,,,,,,,,,,,,,,,245,,,245,,,245,245,,,245,,,,,,245,,,,,,,,,245',
',,,,245,245,245,245,,245,245,245,245,,,,,245,245,,,,246,246,246,245',
'246,245,245,245,246,246,,,,246,,246,246,246,246,246,246,246,,,,,,246',
'246,246,246,246,246,246,,,246,,,,,,,246,,,246,246,246,246,246,246,246',
'246,,246,246,246,,246,246,246,246,246,,,,,,,,,,,,,,,,,,,,246,,,246,',
',246,246,,,246,,,,,,246,,,,,,,,,246,,,,,246,246,246,246,,246,246,246',
'246,,,,,246,246,,,,247,247,247,246,247,246,246,246,247,247,,,,247,,247',
'247,247,247,247,247,247,,,,,,247,247,247,247,247,247,247,,,247,,,,,',
',247,,,247,247,247,247,247,247,247,247,,247,247,247,,247,247,247,247',
'247,,,,,,,,,,,,,,,,,,,,247,,,247,,,247,247,,,247,,,,,,247,,,,,,,,,247',
',,,,247,247,247,247,,247,247,247,247,,,,,247,247,,,,248,248,248,247',
'248,247,247,247,248,248,,,,248,,248,248,248,248,248,248,248,,,,,,248',
'248,248,248,248,248,248,,,248,,,,,,,248,,,248,248,248,248,248,248,248',
'248,,248,248,248,,248,248,248,248,248,,,,,,,,,,,,,,,,,,,,248,,,248,',
',248,248,,,248,,,,,,248,,,,,,,,,248,,,,,248,248,248,248,,248,248,248',
'248,,,,,248,248,,,,249,249,249,248,249,248,248,248,249,249,,,,249,,249',
'249,249,249,249,249,249,,,,,,249,249,249,249,249,249,249,,,249,,,,,',
',249,,,249,249,249,249,249,249,249,249,,249,249,249,,249,249,249,249',
'249,,,,,,,,,,,,,,,,,,,,249,,,249,,,249,249,,,249,,,,,,249,,,,,,,,,249',
',,,,249,249,249,249,,249,249,249,249,,,,,249,249,,,,250,250,250,249',
'250,249,249,249,250,250,,,,250,,250,250,250,250,250,250,250,,,,,,250',
'250,250,250,250,250,250,,,250,,,,,,,250,,,250,250,250,250,250,250,250',
'250,,250,250,250,,250,250,250,250,250,,,,,,,,,,,,,,,,,,,,250,,,250,',
',250,250,,,250,,,,,,250,,,,,,,,,250,,,,,250,250,250,250,,250,250,250',
'250,,,,,250,250,,,,251,251,251,250,251,250,250,250,251,251,,,,251,,251',
'251,251,251,251,251,251,,,,,,251,251,251,251,251,251,251,,,251,,,,,',
',251,,,251,251,251,251,251,251,251,251,,251,251,251,,251,251,251,251',
'251,,,,,,,,,,,,,,,,,,,,251,,,251,,,251,251,,,251,,,,,,251,,,,,,,,,251',
',,,,251,251,251,251,,251,251,251,251,,,,,251,251,,,,252,252,252,251',
'252,251,251,251,252,252,,,,252,,252,252,252,252,252,252,252,,,,,,252',
'252,252,252,252,252,252,,,252,,,,,,,252,,,252,252,252,252,252,252,252',
'252,,252,252,252,,252,252,252,252,252,,,,,,,,,,,,,,,,,,,,252,,,252,',
',252,252,,,252,,,,,,252,,,,,,,,,252,,,,,252,252,252,252,,252,252,252',
'252,,,,,252,252,,,,253,253,253,252,253,252,252,252,253,253,,,,253,,253',
'253,253,253,253,253,253,,,,,,253,253,253,253,253,253,253,,,253,,,,,',
',253,,,253,253,253,253,253,253,253,253,,253,253,253,,253,253,253,253',
'253,,,,,,,,,,,,,,,,,,,,253,,,253,,,253,253,,,253,,,,,,253,,,,,,,,,253',
',,,,253,253,253,253,,253,253,253,253,,,,,253,253,,,,254,254,254,253',
'254,253,253,253,254,254,,,,254,,254,254,254,254,254,254,254,,,,,,254',
'254,254,254,254,254,254,,,254,,,,,,,254,,,254,254,254,254,254,254,254',
'254,,254,254,254,,254,254,254,254,254,,,,,,,,,,,,,,,,,,,,254,,,254,',
',254,254,,,254,,,,,,254,,,,,,,,,254,,,,,254,254,254,254,,254,254,254',
'254,,,,,254,254,,,,255,255,255,254,255,254,254,254,255,255,,,,255,,255',
'255,255,255,255,255,255,,,,,,255,255,255,255,255,255,255,,,255,,,,,',
',255,,,255,255,255,255,255,255,255,255,,255,255,255,,255,255,255,255',
'255,,,,,,,,,,,,,,,,,,,,255,,,255,,,255,255,,,255,,,,,,255,,,,,,,,,255',
',,,,255,255,255,255,,255,255,255,255,,,,,255,255,,,,256,256,256,255',
'256,255,255,255,256,256,,,,256,,256,256,256,256,256,256,256,,,,,,256',
'256,256,256,256,256,256,,,256,,,,,,,256,,,256,256,256,256,256,256,256',
'256,,256,256,256,,256,256,256,256,256,,,,,,,,,,,,,,,,,,,,256,,,256,',
',256,256,,,256,,,,,,256,,,,,,,,,256,,,,,256,256,256,256,,256,256,256',
'256,,,,,256,256,,,,263,263,263,256,263,256,256,256,263,263,,,,263,,263',
'263,263,263,263,263,263,,,,,,263,263,263,263,263,263,263,,,263,,,,,',
',263,,,263,263,263,263,263,263,263,263,263,263,263,263,,263,263,263',
'263,263,,,,,,,,,,,,,,,,,,,,263,,,263,,,263,263,,,263,,263,,263,,263',
',,263,,,,,,263,,,,,263,263,263,263,,263,263,263,263,,,,,263,263,,,,264',
'264,264,263,264,263,263,263,264,264,,,,264,,264,264,264,264,264,264',
'264,,,,,,264,264,264,264,264,264,264,,,264,,,,,,,264,,,264,264,264,264',
'264,264,264,264,264,264,264,264,,264,264,264,264,264,,,,,,,,,,,,,,,',
',,,,264,,,264,,,264,264,,,264,,264,,264,,264,,,264,,,,,,264,,,,,264',
'264,264,264,,264,264,264,264,,,,,264,264,,,,272,272,272,264,272,264',
'264,264,272,272,,,,272,,272,272,272,272,272,272,272,,,,,,272,272,272',
'272,272,272,272,,,272,,,,,,,272,,,272,272,272,272,272,272,272,272,272',
'272,272,272,,272,272,272,272,272,,,,,,,,,,,,,,,,,,,,272,,,272,,,272',
'272,,,272,,272,,272,,272,,,272,,,,,,272,,,,,272,272,272,272,,272,272',
'272,272,,,,,272,272,272,,,279,279,279,272,279,272,272,272,279,279,,',
',279,,279,279,279,279,279,279,279,,,,,,279,279,279,279,279,279,279,',
',279,,,,,,,279,,,279,279,279,279,279,279,279,279,,279,279,279,,279,279',
'279,279,279,,,,,,,,,,,,,,,,,,,,279,,,279,,,279,279,,,279,,,,,,279,,',
',,,,,,279,,,,,279,279,279,279,,279,279,279,279,,,,,279,279,,,,281,281',
'281,279,281,279,279,279,281,281,,,,281,,281,281,281,281,281,281,281',
',,,,,281,281,281,281,281,281,281,,,281,,,,,,,281,,,281,281,281,281,281',
'281,281,281,,281,281,281,,281,281,281,281,281,,,,,,,,,,,,,,,,,,,,281',
',,281,,,281,281,,,281,,,,,,281,,,,,,,,,281,,,,,281,281,281,281,,281',
'281,281,281,,,,,281,281,,,,283,283,283,281,283,281,281,281,283,283,',
',,283,,283,283,283,283,283,283,283,,,,,,283,283,283,283,283,283,283',
',,283,,,,,,,283,,,283,283,283,283,283,283,283,283,,283,283,283,,283',
'283,283,283,283,,,,,,,,,,,,,,,,,,,,283,,,283,,,283,283,,,283,,,,,,283',
',,,,,,,,283,,,,,283,283,283,283,,283,283,283,283,,,,,283,283,,,,284',
'284,284,283,284,283,283,283,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,,,,,,,284,,284,284,284,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,,,,297,297,297,289,297,289,289,289,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,,,890,,890,890,890',
'890,890,,,,,,,,,890,,297,297,297,297,,297,297,297,297,,,,,297,297,,',
',297,,890,297,,297,297,297,314,314,314,,314,890,890,,314,314,890,,,314',
',314,314,314,314,314,314,314,,,,,,314,314,314,314,314,314,314,,,314',
',,,,,,314,,,314,314,314,314,314,314,314,314,,314,314,314,,314,314,,',
'314,,,,,,,,,,,,,,,,,,,,314,,,314,,,314,314,,,314,,,,,,,,,,,,,,,,,,,',
'314,314,314,314,,314,314,314,314,,,,,314,314,,,,322,322,322,314,322',
'314,314,314,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,,,,324,324,324,322,324,322,322,322,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,,,,339,339,339,324',
'339,324,324,324,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,,,,340,340,340,339,340,339,339,339,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,,,,359,359,359,340',
'359,340,340,340,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,,,,375,375,375,359,375,359,359,359,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,,,,403,403,403,375',
'403,375,375,375,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,,,,441,441,441,403,441,403,403,403,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,,,,443',
'443,443,441,443,441,441,441,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,,,,444,444,444,443,444,443,443,443,444',
'444,,,,444,,444,444,444,444,444,444,444,,,,,,444,444,444,444,444,444',
'444,,,444,,,,,,,444,,,444,444,444,444,444,444,444,444,,444,444,444,',
'444,444,444,444,444,,,,,,,,,,,,,,,,,,,,444,,,444,,,444,444,,,444,,,',
',,444,,,,,,,,,444,,,,,444,444,444,444,,444,444,444,444,,,,,444,444,',
',,445,445,445,444,445,444,444,444,445,445,,,,445,,445,445,445,445,445',
'445,445,,,,,,445,445,445,445,445,445,445,,,445,,,,,,,445,,,445,445,445',
'445,445,445,445,445,,445,445,445,,445,445,445,445,445,,,,,,,,,,,,,,',
',,,,,445,,,445,,,445,445,,,445,,,,,,445,,,,,,,,,445,,,,,445,445,445',
'445,,445,445,445,445,,,,,445,445,,,,485,485,485,445,485,445,445,445',
'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,,,,487,487,487,485,487,485,485,485,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,,,,489,489,489',
'487,489,487,487,487,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,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,,,,,494',
'494,,,,,,494,494,,494,494,494,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,502,502,,,,,502,502,,,,504,504,504,502,504,502,502',
'502,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,,,,510,510,510,504,510,504,504,504,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,,,,513,513,513,510,513,510,510',
'510,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',
',,,514,514,514,513,514,513,513,513,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,,,,518,518,518,514,518,514,514,514',
'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',
',,,524,524,524,518,524,518,518,518,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,,,,527,527,527,524,527,524',
'524,524,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,,,,551,551,551,527,551,527,527,527,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,,,,571,571,571,551,571',
'551,551,551,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,,,,572,572,572,571,572,571,571,571,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,,,,582,582,582',
'572,582,572,572,572,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,,,,616,616,616,582,616,582,582,582',
'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',
',,,617,617,617,616,617,616,616,616,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,,,,620,620,620,617,620,617,617,617',
'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,,,,621,621,621,620,621,620,620,620,621,621,,,,621,,621,621',
'621,621,621,621,621,,,,,,621,621,621,621,621,621,621,,,621,,,,,,,621',
',,621,621,621,621,621,621,621,621,621,621,621,621,,621,621,621,621,621',
',,,,,,,,,,,,,,,,,,,621,,,621,,,621,621,,,621,,,,621,,621,,,621,,,,,',
'621,,,,,621,621,621,621,,621,621,621,621,,,,,621,621,,,,622,622,622',
'621,622,621,621,621,622,622,,,,622,,622,622,622,622,622,622,622,,,,',
',622,622,622,622,622,622,622,,,622,,,,,,,622,,,622,622,622,622,622,622',
'622,622,,622,622,622,,622,622,622,622,622,,,,,,,,,,,,,,,,,,,,622,,,622',
',,622,622,,,622,,,,,,622,,,,,,,,,622,,,,,622,622,622,622,,622,622,622',
'622,,,,,622,622,,,,623,623,623,622,623,622,622,622,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,,,,627,627,627,623',
'627,623,623,623,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,,,,628,628,628,627,628,627,627,627,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,,,,631,631,631,628',
'631,628,628,628,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,,,,632,632,632,631,632,631,631,631,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,,,,656,656,656,632',
'656,632,632,632,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,,,,662,662,662,656,662,656,656,656,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,,,,673,673,673,662,673,662,662',
'662,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,,,,678,678',
'678,673,678,673,673,673,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,,,,695,695,695,678,695,678,678,678,695,695,',
',,695,,695,695,695,695,695,695,695,,,,,,695,695,695,695,695,695,695',
',,695,,,,,,,695,,,695,695,695,695,695,695,695,695,,695,695,695,,695',
'695,695,695,695,,,,,,,,,,,,,,,,,,,,695,,,695,,,695,695,,,695,,,,,,695',
',,,,,,,,695,,,,,695,695,695,695,,695,695,695,695,,,,,695,695,,,,721',
'721,721,695,721,695,695,695,721,721,,,,721,,721,721,721,721,721,721',
'721,,,,,,721,721,721,721,721,721,721,,,721,,,,,,,721,,,721,721,721,721',
'721,721,721,721,,721,721,721,,721,721,721,721,721,,,,,,,,,,,,,,,,,,',
',721,,,721,,,721,721,,,721,,,,,,721,,,,,,,,,721,,,,,721,721,721,721',
',721,721,721,721,,,,,721,721,,,,727,727,727,721,727,721,721,721,727',
'727,,,,727,,727,727,727,727,727,727,727,,,,,,727,727,727,727,727,727',
'727,,,727,,,,,,,727,,,727,727,727,727,727,727,727,727,,727,727,727,',
'727,727,727,727,727,,,,,,,,,,,,,,,,,,,,727,,,727,,,727,727,,,727,,,',
',,727,,,,,,,,,727,,,,,727,727,727,727,,727,727,727,727,,,,,727,727,',
',,750,750,750,727,750,727,727,727,750,750,,,,750,,750,750,750,750,750',
'750,750,,,,,,750,750,750,750,750,750,750,,,750,,,,,,,750,,,750,750,750',
'750,750,750,750,750,,750,750,750,,750,750,750,750,750,,,,,,,,,,,,,,',
',,,,,750,,,750,,,750,750,,,750,,,,,,750,,,,,,,,,750,,,,,750,750,750',
'750,,750,750,750,750,,,,,750,750,,,,752,752,752,750,752,750,750,750',
'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',
',,,766,766,766,752,766,752,752,752,766,766,,,,766,,766,766,766,766,766',
'766,766,,,,,,766,766,766,766,766,766,766,,,766,,,,,,,766,,,766,766,766',
'766,766,766,766,766,,766,766,766,,766,766,766,766,766,,,,,,,,,,,,,,',
',,,,,766,,,766,,,766,766,,,766,,,,,,766,,,,,,,,,766,,,,,766,766,766',
'766,,766,766,766,766,,,,,766,766,,,,767,767,767,766,767,766,766,766',
'767,767,,,,767,,767,767,767,767,767,767,767,,,,,,767,767,767,767,767',
'767,767,,,767,,,,,,,767,,,767,767,767,767,767,767,767,767,,767,767,767',
',767,767,767,767,767,,,,,,,,,,,,,,,,,,,,767,,,767,,,767,767,,,767,,',
',,,767,,,,,,,,,767,,,,,767,767,767,767,,767,767,767,767,,,,,767,767',
',,,768,768,768,767,768,767,767,767,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',
',,,771,771,771,769,771,769,769,769,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,,,,783,783,783,771,783,771,771,771',
'783,783,,,,783,,783,783,783,783,783,783,783,,,,,,783,783,783,783,783',
'783,783,,,783,,,,,,,783,,,783,783,783,783,783,783,783,783,,783,783,783',
',783,783,,,783,,,,,,,,,,,,,,,,,,,,783,,,783,,,783,783,,,783,,,,,,,,',
',,,,,,,,,,,783,783,783,783,,783,783,783,783,,,,,783,783,,,,832,832,832',
'783,832,783,783,783,832,832,,,,832,,832,832,832,832,832,832,832,,,,',
',832,832,832,832,832,832,832,,,832,,,,,,,832,,,832,832,832,832,832,832',
'832,832,,832,832,832,,832,832,832,832,832,,,,,,,,,,,,,,,,,,,,832,,,832',
',,832,832,,,832,,,,,,832,,,,,,,,,832,,,,,832,832,832,832,,832,832,832',
'832,,,,,832,832,,,,837,837,837,832,837,832,832,832,837,837,,,,837,,837',
'837,837,837,837,837,837,,,,,,837,837,837,837,837,837,837,,,837,,,,,',
',837,,,837,837,837,837,837,837,837,837,,837,837,837,,837,837,837,837',
'837,,,,,,,,,,,,,,,,,,,,837,,,837,,,837,837,,,837,,837,,,,837,,,,,,,',
',837,,,,,837,837,837,837,,837,837,837,837,,,,,837,837,,,,854,854,854',
'837,854,837,837,837,854,854,,,,854,,854,854,854,854,854,854,854,,,,',
',854,854,854,854,854,854,854,,,854,,,,,,,854,,,854,854,854,854,854,854',
'854,854,854,854,854,854,,854,854,854,854,854,,,,,,,,,,,,,,,,,,,,854',
',,854,,,854,854,,,854,,,,854,,854,,,854,,,,,,854,,,,,854,854,854,854',
',854,854,854,854,,,,,854,854,,,,855,855,855,854,855,854,854,854,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,',
',,869,869,869,855,869,855,855,855,869,869,,,,869,,869,869,869,869,869',
'869,869,,,,,,869,869,869,869,869,869,869,,,869,,,,,,,869,,,869,869,869',
'869,869,869,869,869,,869,869,869,,869,869,,,869,,,,,,,,,,,,,,,,,,,,869',
',,869,,,869,869,,,869,,,,,,,,,,,,,,,,,,,,869,869,869,869,,869,869,869',
'869,,,,,869,869,,,,881,881,881,869,881,869,869,869,881,881,,,,881,,881',
'881,881,881,881,881,881,,,,,,881,881,881,881,881,881,881,,,881,,,,,',
',881,,,881,881,881,881,881,881,881,881,,881,881,881,,881,881,,,881,',
',,,,,,,,,,,,,,,,,,881,,,881,,,881,881,,,881,,,,,,,,,,,,,,,,,,,,881,881',
'881,881,,881,881,881,881,,,,,881,881,,,,978,978,978,881,978,881,881',
'881,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,,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,,,,,56,,978,,978,978,978,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,423,56,,56,,,,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,424,423,,423,,,,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,892,,892,892,892,892,892,',
',,,,,424,,892,424,424,424,424,27,424,,424,,,,27,27,27,,,27,27,27,,27',
'892,,,,,,,,27,27,27,892,892,,,,892,,,27,27,,27,27,27,27,27,,,,,,,,,',
',,,,,,,,,,,,,27,27,27,27,27,27,27,27,27,27,27,27,27,27,,,27,27,27,,',
'27,,27,27,,,27,27,,27,,27,,27,,27,27,,27,27,27,27,27,28,27,27,27,,,',
'28,28,28,,,28,28,28,,28,27,,,27,27,,27,,27,28,28,,,,,,,,,28,28,,28,28',
'28,28,28,,,,,,,,,,,,,,,,,,,,,,,28,28,28,28,28,28,28,28,28,28,28,28,28',
'28,,,28,28,28,,,28,,28,28,,,28,28,,28,,28,,28,,28,28,,28,28,28,28,28',
',28,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,,473,414,414,,414,,414,473,473,473,,,473',
'473,473,643,473,643,643,643,643,643,,,,473,473,,,,643,,,,,,473,473,',
'473,473,473,473,473,,,,,,,,,643,,335,,335,335,335,335,335,643,643,643',
'643,,,,643,335,,,,,,,,473,,,,,,,473,,,,,473,473,335,335,,643,,,,,,335',
'335,335,335,,,,335,,,,,473,473,,,,,,,,,,,,,,473,,,473,,,,,473,8,8,8',
'8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,,,,8,8,8,8,8,8,8,8,8,8,,,',
',,8,8,8,8,8,8,8,8,8,8,,8,,,,,,,,8,8,,8,8,8,8,8,8,8,,,8,8,,,,8,8,8,8',
',,,,,,,,,,,,,8,8,,8,8,8,8,8,8,8,8,8,8,8,8,,,8,8,,,,,,,,,,,,,,8,9,9,9',
'9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,,,,9,9,9,9,9,9,9,9,9,9,,,',
',,9,9,9,9,9,9,9,9,9,,,9,,,,,,,,9,9,,9,9,9,9,9,9,9,,,9,9,,,,9,9,9,9,',
',,,,,,,,,,,,9,9,,9,9,9,9,9,9,9,9,9,9,9,9,,,9,9,,,,,,,,,,,,,,9,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,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,734,734,734,734,734,734,734,734,734,734,734,734,734,734,734,734',
'734,734,734,734,734,734,734,734,,,,734,734,734,734,734,734,734,734,734',
'734,,,,,,734,734,734,734,734,734,734,734,734,,,734,,,,,,,,734,734,,734',
'734,734,734,734,734,734,,,734,734,,,,734,734,734,734,,,,,,,,,,,,,,734',
'734,,734,734,734,734,734,734,734,734,734,734,734,734,210,210,734,,210',
',,,,,,,210,210,,210,210,210,210,210,210,210,,,210,210,,,,210,210,210',
'210,,,,,,210,,,,,,,,210,210,,210,210,210,210,210,210,210,210,210,210',
'210,210,211,211,210,,211,,,,,,,,211,211,,211,211,211,211,211,211,211',
',,211,211,,,,211,211,211,211,,,,,,211,,,,,,,,211,211,,211,211,211,211',
'211,211,211,211,211,211,211,211,259,259,211,,259,,,,,,,,259,259,,259',
'259,259,259,259,259,259,,,259,259,,,,259,259,259,259,,,,,,,,,,,,,,259',
'259,,259,259,259,259,259,259,259,259,259,259,259,259,439,439,259,,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,440,440,439,,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,505,505,440,,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,506,506,505',
',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,515,515,506,,515,,,,,,,,515,515,,515,515,515,515,515,515',
'515,,,515,515,,,,515,515,515,515,,,,,,515,,,,,,,,515,515,,515,515,515',
'515,515,515,515,515,515,515,515,515,516,516,515,,516,,,,,,,,516,516',
',516,516,516,516,516,516,516,,,516,516,,,,516,516,516,516,,,,,,516,',
',,,,,,516,516,,516,516,516,516,516,516,516,516,516,516,516,516,573,573',
'516,,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,574,574,573,,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,580,580,574,,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,581',
'581,580,,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,933,933,581,,933,,,,,,,,933,933,,933,933,933,933',
'933,933,933,,,933,933,,,,933,933,933,933,,,,,,933,,,,,,,,933,933,,933',
'933,933,933,933,933,933,933,933,933,933,933,979,979,933,,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',
'980,980,979,,980,,,,,,,,980,980,,980,980,980,980,980,980,980,,,980,980',
',,,980,980,980,980,,,,,,980,,,,,,,,980,980,,980,980,980,980,980,980',
'980,980,980,980,980,980,,532,980,532,532,532,532,532,,689,,689,689,689',
'689,689,532,,,,,,,,689,,691,,691,691,691,691,691,,,,,,532,,,691,,,,',
'689,532,532,532,532,,,,532,689,689,689,689,,,,689,691,,732,,732,732',
'732,732,732,691,691,691,691,,,,691,732,,733,,733,733,733,733,733,,860',
',860,860,860,860,860,733,,,,,732,,,860,,,,,,732,732,732,732,,,,732,733',
',,,,,,,860,733,733,733,733,,,,733,860,860,860,860,,,862,860,862,862',
'862,862,862,,888,,888,888,888,888,888,862,,,,,,,,888,,894,,894,894,894',
'894,894,,,,,,862,,,894,,,,,888,862,862,862,862,,,,862,888,888,888,888',
',,,888,894,,964,,964,964,964,964,964,,,894,894,,,,894,964,,966,,966',
'966,966,966,966,968,,968,968,968,968,968,,966,,,,,964,,968,,,,,,,964',
'964,964,964,,,,964,966,,,,,,,968,,,,966,966,,,,966,,968,968,,,970,968',
'970,970,970,970,970,982,,982,982,982,982,982,1008,970,1008,1008,1008',
'1008,1008,,982,,,,,,,1008,,,,,,,,970,,,,,,,982,,,,970,970,,1008,,970',
',982,982,,,,982,,1008,1008,,,,1008' ]
        racc_action_check = arr = ::Array.new(24879, 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 = [
   747,    20,   nil,   -73,   nil,  5086,  1447,   -81, 22816, 22944,
   -68,   nil,   -81,    -6,   338,    59,    66,   359,   nil,   -79,
   606,  1167,   197,   nil,   173,   nil,    -8, 22331, 22441,  5217,
  5348,  5479,   nil,   887,  5610,  5741,   nil,   101,   199,   228,
   205,   142,  5880,  6011,  6142,   150,   424,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil, 21929,   nil,   -72,  6273,
  6404,   -20,   nil,  6535,  6666,   nil,   nil,  6797,  6936,  7067,
  7198, 23328,   nil,   nil,   nil,   nil,   nil,   377,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,     0,   nil,   nil,   112,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   319,
   nil,  7337,   nil,   nil,   nil,   nil,  7476,  7607,  7738,  7869,
  8008,  1027,   nil,   730,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   190,   nil,  1167,  8139,  8270,  8401,
 23502, 23563,  8532,  8663,  8794,  8925,  9056,  9187,   nil,   nil,
   437,   -40,   -23,   290,   107,   213,   274,   nil,  9318,  1307,
   294,  9449,  9580,  9711,  9842,  9973, 10104, 10235, 10366, 10497,
 10628, 10759, 10890, 11021, 11152, 11283, 11414, 11545, 11676, 11807,
 11938, 12069, 12200, 12331, 12462, 12593, 12724,   nil,   nil, 23624,
   nil,   nil,   301, 12855, 12986,   nil,   nil,   nil,   nil,   nil,
   nil,   nil, 13117,   nil,  1307,   nil,   286,   290,   nil, 13248,
   342, 13379,   nil, 13510, 13641,   nil,   nil,   148,   nil, 13780,
  1572,   332,   315,  1447,   328,   383,   359, 13911,  1587,   481,
   750,   789,   445,   890,   nil,   413,   386,    10,   nil,   nil,
   nil,   461,   225,   428, 14050,   nil,   252,   501,   929,   nil,
   505,   nil, 14181,  1727, 14312,   454,   nil,  -101,   401,   494,
   477,   402,   511,   nil,   nil, 22685,   594,    -1,    33, 14443,
 14574,   221,   636,   527,   -18,     9,   959,   611,    10,   671,
   nil,   nil,   337,   373,   158,   nil,  1027,   nil,    37, 14705,
   nil,   nil,   nil,   295,   371,   397,   449,   485,   509,   512,
   626,   641,   nil,   677,   nil, 14836,   nil,   242,   327,   365,
   394,   399,   -41,   -35,   403,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   592, 23072,   nil,   nil,   nil,   nil,   607,
   nil,   nil,   599, 14967,   607,   nil,   nil,   887,   633,   nil,
   638,   642,   258,   347, 22553,   nil,   nil,   nil,   222,   334,
   695,   nil,   nil, 22063, 22197,   nil,  1447,   nil,   662,   nil,
   nil,   747,   nil,   nil,   nil,   nil,   -35,   nil,   717, 23685,
 23746, 15098,   130, 15229, 15360, 15491,  3267,  3407,  3138,  3435,
   762,   767,   771,   775,  5217,  5348,  5479,  3547,  3687,  3827,
  3967,  4107,  4247,  4387,  4527,  4667,  4807,   489,  3295,  4947,
  5086,  1587,   -59, 22682,   nil,   nil,   nil,   nil,   716,   nil,
   -53,   -20,   730,   nil,   nil, 15622,   nil, 15753,   nil, 15884,
   nil,   nil,   nil,   nil, 16023,  1587,  1867,   741,   739,   nil,
   nil,   741, 16162,   747, 16293, 23807, 23868,  1030,   790,   nil,
 16424,   748,   nil, 16555, 16686, 23929, 23990,  1727, 16817,   877,
   887,   650,   810,   nil, 16948,   nil,   nil, 17079,   nil,   nil,
   nil,   nil, 24479,   nil,   768,   770,   nil,   778,   780,   781,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   774,  3113,   nil,
   nil, 17210,   nil,   nil,   nil,   875,   nil,   nil,   nil,   892,
   nil,   nil,   896,  2007,   956,   nil,  2147,    27,    29,   957,
   967, 17341, 17472, 24051, 24112,    25,   nil,   nil,  1069,   nil,
 24173, 24234, 17603,   nil,   nil,   nil,   450,   140,  2287,   888,
   nil,   -33,   nil,   nil,   nil,   870,   nil,   nil,   nil,   862,
   nil,   nil,   192,   nil,   212,   nil,   nil,   852,   nil,   857,
   nil,   nil,   nil, 23200,   nil,   867, 17734, 17865,   418,   907,
 17996, 18127, 18258, 18389,   915,   nil,   nil, 18520, 18651,   916,
   nil, 18782, 18913,   nil,   nil,   168,   217,   470,   606,   884,
  1027,   885,   nil, 22646,   nil,  2427,   992,     5,   202,   nil,
  2567,  2707,   nil,   887,   nil,   934, 19044,   nil,   nil,   nil,
   911,   180, 19175,   901,   nil,   905,   136,   177,   950,   410,
  1167,   951,   908, 19306,  1867,   985,   -14,  1039, 19437,   nil,
   924,   nil,   520,    24,   925,   372,   nil,   nil,   631, 24487,
   nil, 24504,   nil,  5788,   nil, 19568,   nil,  3142,   nil,   930,
   327,   934,   nil,   nil,   nil,   nil,   760,   nil,  1052,   nil,
   nil,   nil,   nil,  1058,   nil,    36,   938,    40,    41,   122,
   151, 19699,   747,  1307,   nil,   939,  2847, 19830,   nil,   nil,
  1074,  2987, 24543, 24560, 23441,   nil,   nil,   nil,   nil,   nil,
   nil,  3127,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   954,
 19961,  2007, 20092,   nil,   975,   nil,  2147,   nil,  2287,   nil,
   nil,  2427,   nil,  2567,   nil,  2707, 20223, 20354, 20485, 20616,
   253, 20747,   980,   983,   nil,   984,   988,   993,   nil,  1022,
  1009,  1005,  1000, 20878,   nil,   nil,  1142,   nil,   nil,  3267,
  1039,  1145,   nil,   nil,   nil,  1024,   887,   nil,   nil,  1151,
   nil,  3407,  1027,  1074,   nil,   nil,  1074,   nil,   nil,  3547,
  3687,  1084,  1042,   nil,   nil,   nil,  1046,  1047,   nil,  1048,
  1058,   nil,  1060,   nil,   nil,  1064,  3207,  1062,  3533,   nil,
  1194,   nil, 21009,  1200,  3827,  3967,   nil, 21140,  4107,    64,
   121,   nil,  1214,   469,  4247,   nil,  1218,  1118,   625,   nil,
  1126,  1124,   nil,  2847, 21271, 21402,  2987,   795,   nil,   nil,
 24568,   nil, 24620,   nil,  7245,   nil,   nil,  1152,  1153, 21533,
  1099,  1211,   nil,  1158,   nil,   nil,   nil,  4387,   nil,   nil,
    35, 21664,   nil,   nil,  1166,  1271,   nil,   nil, 24628,   nil,
 13958,   nil, 22260,   nil, 24645,   nil,   nil,   nil,   nil,   335,
  3627,  1148,   nil,    98,   nil,  1282,  1283,   nil,    45,   nil,
   nil,   nil,  1285,   nil,   nil,   nil,  1208,   nil,  1166,   nil,
   nil,  1167,  1168,  1171,  1181,   nil,  1182,   nil,   626,   nil,
   nil,   nil,  1170, 24295,   nil,   nil,   nil,  4527,  1209,  1239,
  1310,  1264,  1349,   nil,   nil,   nil,  1187,  1188,  1198,  1200,
  1201,  3673,  1202,  3703,  4667,   nil,   nil,   nil,   nil,   nil,
  4807,   nil,  4947,   nil, 24684,   nil, 24701,   nil, 24708,   nil,
 24760,   nil,   nil,   nil,  1293,  1254,  1260,  1356, 21795, 24356,
 24417,  1379, 24767,   nil,   nil,   nil,   nil,  3711,  1234,   773,
  1379,  1384,  1264,  1268,  1273,  1278,   nil,   nil,  1289,   102,
   111,   138,  1447,  1287,  1288,   nil,   nil,   nil, 24774,   nil,
   nil,   nil,   nil,   144,   nil,  1298,   nil ]

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

clist = [
'216,372,333,618,14,275,275,275,570,14,408,276,276,276,310,310,258,520',
'326,2,296,414,420,677,220,6,322,486,127,127,6,114,533,220,220,220,430',
'14,301,301,654,327,654,477,266,270,563,566,310,310,310,259,657,122,205',
'731,405,130,130,511,313,111,427,110,478,219,540,220,220,317,473,220',
'346,356,356,830,337,338,818,799,341,292,132,132,262,269,271,579,277',
'277,277,127,657,709,712,114,701,898,821,686,687,523,526,115,776,530',
'779,294,929,931,833,295,358,362,1,14,777,876,328,331,220,220,220,220',
'14,14,659,342,204,388,389,390,391,645,925,593,6,600,603,603,393,650',
'651,378,351,392,6,811,602,604,384,13,401,394,648,613,13,329,901,647',
'374,486,817,330,819,334,349,583,690,692,694,373,323,324,783,654,654',
'680,273,285,286,325,339,834,13,275,657,340,835,404,721,960,726,844,588',
'404,589,734,916,778,780,928,531,808,335,683,472,480,481,386,14,220,220',
'220,996,931,220,220,220,220,220,220,957,803,898,880,376,377,415,684',
'952,424,379,14,770,713,925,380,381,275,275,382,639,867,383,825,276,663',
'275,818,414,420,400,406,276,672,736,425,429,741,796,727,13,540,816,813',
'919,220,220,,,13,13,,,,220,310,,,,988,730,818,399,,,508,,,,,,14,310',
'821,,14,,,512,301,14,,,665,522,295,,789,958,839,,724,495,114,668,1004',
'301,,841,921,501,277,,266,668,14,220,270,,277,,922,,923,,858,859,,509',
'292,,220,220,494,292,493,,,,,567,568,,,,13,1005,818,744,946,744,220',
',,909,497,,114,,295,503,716,,,295,887,,220,13,,962,725,668,,584,,783',
'619,,783,668,783,,783,,,,,590,569,,792,,759,,795,,654,764,,,479,127',
',,275,,657,842,482,,,838,846,,,,847,848,,625,,,,,992,630,612,13,,,130',
'13,220,,889,891,13,893,895,641,896,430,,807,415,,,424,,,540,540,,,,132',
',,,624,,13,,,,629,,275,997,310,963,,,,26,512,,310,625,26,,,783,512,783',
'14,783,14,783,,,792,,301,26,220,,,,,,301,660,26,26,26,,26,6,220,415',
',,424,804,,,,646,,415,,,424,,912,783,,,,,653,,,,275,,26,26,,715,26,',
',,275,,,,,,,,,14,,,14,,,,959,,220,983,984,985,986,,,682,,,220,,788,937',
',415,14,1013,424,710,710,,26,415,424,,,26,26,26,26,26,26,,,,954,,728',
'729,,,,,619,,,,781,,220,220,,,,220,220,127,1014,220,,805,,,787,706,310',
',708,13,619,13,512,14,,,,310,14,14,991,,748,797,404,806,130,,849,781',
'301,755,757,,,,760,762,,,429,301,15,754,,,,15,,,625,132,,630,,,,26,26',
'26,26,619,,26,26,26,26,26,26,,619,,,,,15,303,303,13,,26,13,773,,,,,786',
',220,,,790,791,14,220,,,840,14,,,,13,843,,,,16,14,348,357,357,16,26',
'26,,,127,,220,,878,26,812,781,882,310,,,,,,,,,,,,,26,16,,998,26,,,,',
'26,,870,,15,668,,,14,,,13,852,15,15,,13,13,,,14,,,774,,26,26,350,14',
'14,,,,,850,,,,,,332,26,26,,,,,,,,,220,,14,14,,,14,,,903,26,,14,310,814',
',,814,,16,,,,,,310,26,,16,16,,873,710,,,911,,932,,,915,13,,879,,14,13',
',15,940,,884,885,,,,13,,,,,,,,,,,,,,,15,,973,,,905,906,,,908,,,,,,,',
',,,,26,,,,918,,,773,,773,,773,13,14,,,437,,,861,863,865,16,,13,424,275',
'936,,428,14,,13,13,,,14,,14,15,,,775,15,402,16,,303,15,,432,619,,26',
'220,26,,13,13,,,13,,26,303,,,13,,415,,483,424,15,,,,26,,,,,,,,,,977',
',,820,,822,498,814,,,774,,774,13,774,,,989,16,,,547,16,990,773,,773',
'16,773,488,773,490,,491,492,26,,,26,,,,,,26,,,,,,,,16,,26,,,,38,,26',
',,38,,,,,773,,,,,13,,,,,965,967,969,971,,972,,,,,,,13,38,299,299,26',
'26,13,,13,26,26,,,26,,,,,,,,,,,774,,774,26,774,,774,,26,26,,,344,360',
'360,360,,,,,,,,,,,,,,,,,,,633,1009,1010,1011,1012,615,,,,15,774,15,',
',,,,303,,,,38,,,1016,303,924,,926,,38,38,,,,,,,,,,,649,,,26,652,,,,26',
'26,947,,948,26,949,,,,,661,,,,26,,664,,,547,,,,,16,26,16,15,,,15,,,',
',696,655,,332,,658,,,,,,,,,,,,15,,,,,,,740,,,26,,,38,,,,,,,,,26,655',
',993,332,994,,995,26,26,,,,,38,,,,,16,,1003,16,,,,,,702,,735,26,,26',
'26,15,,26,,,15,15,,26,16,,,1015,432,,,,303,,,,782,,,,,,,303,,,,,,336',
'336,,,336,38,,26,,38,,,,299,38,,,,428,,,,,,749,,,,655,332,299,,16,547',
',547,,16,16,38,,696,,,827,,798,15,,,,,15,336,336,336,336,,,,,,15,,793',
',,26,,,,829,,,,,547,547,,,,,,,26,,802,,,,26,,26,,,,,,,,,,,824,357,,',
',26,39,15,,,16,39,,,,16,,,,15,,,,,,16,,15,15,,,,,,,,,,,39,300,300,,',
',,,,433,434,435,436,15,15,,851,15,,,,,,15,,,,,696,,696,,,,16,345,361',
'361,361,,,,,,,,16,,357,,,,,897,16,16,15,,,,942,,782,,782,,,,38,,38,',
',,,914,299,,39,16,16,,,16,299,,,39,39,16,547,,,,,,,,,,,950,696,907,',
',,,,,,,,,,,15,,,521,332,,16,,,,943,,,,,,,15,336,336,,38,,15,38,15,,',
',,,,,,,,,696,587,696,,,,,,,38,,,,782,,,,591,,,39,,,,,,,,,16,,,,,,,696',
',,,,,,39,,,16,,,,,,16,,16,,,,,,,,,,,,38,,,,,38,38,,,,,,,,,,,299,,,,',
',,,,,,299,,,,,,,,,39,,,,39,,,,300,39,,,,,,,,,,,,,,,,300,,,,,,,,,39,',
',,,,,,,,38,,,,,38,,,,,,,,676,,38,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,360,,,,,,38,,,,,,,,,,,,38,,,,,,,,38,38,,,,,,,,,,,,,,,,,,,,,,,',
'38,38,,,38,,,,,,38,,,,,,,,,,,,,,,,,,,,,,,,,360,,,,,,,,38,,,,938,,,,',
',39,,39,,,,,,300,,,,,,,,300,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,38,,,,',
'336,,,,,,336,,,,,,38,,39,,,39,38,,38,,,,,,,,,,,,,,,,,,,39,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,,,,,39,39,,,,,,,,,336',
',300,,,,,,,,,227,,300,,,,,,,274,274,274,,,,,,,,,,,319,320,321,,,,,,',
',,,,,,,,274,274,,,,,,,,,,,,,,,39,,,,,39,,,,,,,,,,39,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,361,,,,,,39,,,,,,,,,,,,39,,,,,,,,39,39,,,,',
',,,,,,,,,,,,,,,,,,,39,39,,,39,,,,,,39,,,,,,,,,,,,,,274,407,274,,,426',
'431,,,,,361,,,,,,,,39,,227,,939,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,,,,,,,,274,,,,,,,274,,274,,274,274,,39,,,,,,,,,,,,,,,',
',39,,,,,,39,,39,,,,,,,,,,,517,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,274,,426,640,407,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,274,,274,,274,,,,,,,,,,,,,,,274,,,,,,,,,674,675,,,,,,,,,,274,,,274',
',,,,,,,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,,,,,,,,,274,274,,,,,,,,,,274,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274,751,,,274,274,756,758,,,,761,763',
',,640,765,,,,,,,,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,,,,,,,,,,,274,,,,,,',
',,,,,,,,,,274,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
'274,,853,,,,,,,,,,,,,,756,758,763,761,,856,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,,,,,,274,853',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274' ]
        racc_goto_table = arr = ::Array.new(3096, 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,56,86,24,22,33,33,33,92,22,23,68,68,68,64,64,138,8,67,2,49,37,37',
'10,22,7,31,73,57,57,7,95,137,22,22,22,18,22,22,22,74,68,74,39,71,71',
'89,89,64,64,64,36,175,15,15,96,27,60,60,51,50,6,27,4,23,20,161,22,22',
'63,37,22,22,22,22,90,17,17,166,11,17,45,61,61,38,38,38,54,70,70,70,57',
'175,91,91,95,116,114,171,121,121,69,69,5,126,69,129,46,131,132,11,9',
'55,55,1,22,127,12,70,70,22,22,22,22,22,22,14,4,16,17,17,17,17,40,172',
'154,7,154,154,154,2,40,40,150,19,7,7,129,153,153,150,21,28,30,42,62',
'21,66,117,72,84,73,127,85,127,88,93,94,164,164,164,97,98,99,167,74,74',
'100,44,44,44,101,102,103,21,33,175,104,105,68,106,107,108,109,110,68',
'111,112,113,118,124,130,133,134,135,136,139,141,142,5,22,22,22,22,131',
'132,22,22,22,22,22,22,143,144,114,145,148,149,71,137,117,57,151,22,24',
'92,172,152,155,33,33,156,23,129,157,116,68,51,33,166,37,37,20,20,68',
'51,158,20,20,159,24,160,21,161,165,168,169,22,22,,,21,21,,,,22,64,,',
',117,8,166,9,,,31,,,,,,22,64,171,,22,,,49,22,22,,,23,31,9,,40,11,24',
',54,7,95,37,117,22,,24,126,50,70,,71,37,22,22,71,,70,,127,,127,,121',
'121,,63,45,,22,22,6,45,4,,,,,17,17,,,,21,90,166,154,127,154,22,,,91',
'46,,95,,9,46,23,,,9,121,,22,21,,96,23,37,,95,,167,31,,167,37,167,,167',
',,,,36,4,,73,,39,,51,,74,39,,,44,57,,,33,,175,8,44,,,89,8,,,,137,137',
',71,,,,,127,71,15,21,,,60,21,22,,164,164,21,164,164,31,164,18,,69,71',
',,57,,,161,161,,,,61,,,,38,,21,,,,38,,33,10,64,121,,,,41,49,,64,71,41',
',,167,49,167,22,167,22,167,,,73,,22,41,22,,,,,,22,2,41,41,41,,41,7,22',
'71,,,57,27,,,,38,,71,,,57,,8,167,,,,,70,,,,33,,41,41,,68,41,,,,33,,',
',,,,,,22,,,22,,,,92,,22,164,164,164,164,,,70,,,22,,86,89,,71,22,24,57',
'95,95,,41,71,57,,,41,41,41,41,41,41,,,,89,,95,95,,,,,31,,,,31,,22,22',
',,,22,22,57,164,22,,67,,,138,9,64,,9,21,31,21,49,22,,,,64,22,22,8,,15',
'49,68,31,60,,56,31,22,20,20,,,,20,20,,,20,22,25,70,,,,25,,,71,61,,71',
',,,41,41,41,41,31,,41,41,41,41,41,41,,31,,,,,25,25,25,21,,41,21,120',
',,,,9,,22,,,9,9,22,22,,,17,22,,,,21,17,,,,26,22,25,25,25,26,41,41,,',
'57,,22,,67,41,120,31,67,64,,,,,,,,,,,,,41,26,,23,41,,,,,41,,22,,25,37',
',,22,,,21,20,25,25,,21,21,,,22,,,122,,41,41,26,22,22,,,,,9,,,,,,65,41',
'41,,,,,,,,,22,,22,22,,,22,,,17,41,,22,64,122,,,122,,26,,,,,,64,41,,26',
'26,,9,95,,,95,,22,,,95,21,,9,,22,21,,25,22,,9,9,,,,21,,,,,,,,,,,,,,',
'25,,31,,,9,9,,,9,,,,,,,,,,,,41,,,,120,,,120,,120,,120,21,22,,,47,,,123',
'123,123,26,,21,57,33,9,,26,22,,21,21,,,22,,22,25,,,125,25,65,26,,25',
'25,,65,31,,41,22,41,,21,21,,,21,,41,25,,,21,,71,,47,57,25,,,,41,,,,',
',,,,,9,,,125,,125,47,122,,,122,,122,21,122,,,9,26,,,115,26,9,120,,120',
'26,120,65,120,65,,65,65,41,,,41,,,,,,41,,,,,,,,26,,41,,,,52,,41,,,52',
',,,,120,,,,,21,,,,,123,123,123,123,,123,,,,,,,21,52,52,52,41,41,21,',
'21,41,41,,,41,,,,,,,,,,,122,,122,41,122,,122,,41,41,,,52,52,52,52,,',
',,,,,,,,,,,,,,,,47,123,123,123,123,65,,,,25,122,25,,,,,,25,,,,52,,,123',
'25,125,,125,,52,52,,,,,,,,,,,47,,,41,47,,,,41,41,125,,125,41,125,,,',
',47,,,,41,,47,,,115,,,,,26,41,26,25,,,25,,,,,115,65,,65,,65,,,,,,,,',
',,,25,,,,,,,25,,,41,,,52,,,,,,,,,41,65,,125,65,125,,125,41,41,,,,,52',
',,,,26,,125,26,,,,,,65,,47,41,,41,41,25,,41,,,25,25,,41,26,,,125,65',
',,,25,,,,115,,,,,,,25,,,,,,29,29,,,29,52,,41,,52,,,,52,52,,,,26,,,,',
',65,,,,65,65,52,,26,115,,115,,26,26,52,,115,,,115,,47,25,,,,,25,29,29',
'29,29,,,,,,25,,65,,,41,,,,47,,,,,115,115,,,,,,,41,,65,,,,41,,41,,,,',
',,,,,,65,25,,,,41,53,25,,,26,53,,,,26,,,,25,,,,,,26,,25,25,,,,,,,,,',
',53,53,53,,,,,,,29,29,29,29,25,25,,65,25,,,,,,25,,,,,115,,115,,,,26',
'53,53,53,53,,,,,,,,26,,25,,,,,47,26,26,25,,,,25,,115,,115,,,,52,,52',
',,,,47,52,,53,26,26,,,26,52,,,53,53,26,115,,,,,,,,,,,115,115,65,,,,',
',,,,,,,,25,,,29,65,,26,,,,26,,,,,,,25,29,29,,52,,25,52,25,,,,,,,,,,',
',115,29,115,,,,,,,52,,,,115,,,,29,,,53,,,,,,,,,26,,,,,,,115,,,,,,,53',
',,26,,,,,,26,,26,,,,,,,,,,,,52,,,,,52,52,,,,,,,,,,,52,,,,,,,,,,,52,',
',,,,,,,53,,,,53,,,,53,53,,,,,,,,,,,,,,,,53,,,,,,,,,53,,,,,,,,,,52,,',
',,52,,,,,,,,29,,52,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,52,,,,,',
'52,,,,,,,,,,,,52,,,,,,,,52,52,,,,,,,,,,,,,,,,,,,,,,,,52,52,,,52,,,,',
',52,,,,,,,,,,,,,,,,,,,,,,,,,52,,,,,,,,52,,,,52,,,,,,53,,53,,,,,,53,',
',,,,,,53,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,52,,,,,29,,,,,,29,,,,,,52',
',53,,,53,52,,52,,,,,,,,,,,,,,,,,,,53,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,53,,,,,53,53,,,,,,,,,29,,53,,,,,,,,,32,,53',
',,,,,,32,32,32,,,,,,,,,,,32,32,32,,,,,,,,,,,,,,,32,32,,,,,,,,,,,,,,',
'53,,,,,53,,,,,,,,,,53,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,53,,',
',,,53,,,,,,,,,,,,53,,,,,,,,53,53,,,,,,,,,,,,,,,,,,,,,,,,53,53,,,53,',
',,,,53,,,,,,,,,,,,,,32,32,32,,,32,32,,,,,53,,,,,,,,53,,32,,53,32,32',
'32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32',
'32,,,,,,,32,32,,,,,,,,32,,,,,,,32,,32,,32,32,,53,,,,,,,,,,,,,,,,,53',
',,,,,53,,53,,,,,,,,,,,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,32,,32,32,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,32,,32',
',32,,,,,,,,,,,,,,,32,,,,,,,,,32,32,,,,,,,,,,32,,,32,,,,,,,,,,,,,,,,',
',,,,,,,32,,,,,,,,,,,,,,,,,,,,32,32,,,,,,,,,,32,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,32,32,,,32,32,32,32,,,,32,32,,,32,32,,,,,,,,,,,,,,,,,,,',
',,,,32,,,,,,,,,,,,,,,,,,,,,,32,,,,,,,,,,,,,,,,,32,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,32,,32,,,,,,,,,,,,,,32,32,32,32',
',32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',32,,,,,,,,,,,,,,,,,32,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,32' ]
        racc_goto_check = arr = ::Array.new(3096, 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,   114,    19,   nil,    60,    98,    58,    25,  -306,    78,
  -496,  -598,  -682,   nil,  -368,    45,   119,    13,  -177,    76,
    45,   151,     4,  -199,  -405,   678,   744,  -151,   -55,  1294,
    31,   -19,  2117,   -24,   nil,   nil,    27,  -189,    58,  -219,
  -339,   487,  -322,   nil,   149,    48,    74,   727,   nil,   -14,
    25,  -255,  1073,  1466,  -267,    43,   -70,    20,   nil,   nil,
    49,    74,  -243,    28,   -20,   765,    98,   -41,   -18,  -226,
    59,    18,  -314,  -250,  -445,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,    89,   103,   -59,   nil,   103,  -291,
  -631,  -474,  -334,    98,  -191,    28,  -534,   100,   115,   115,
  -344,   123,   117,  -526,   121,  -524,  -386,  -718,  -391,  -536,
  -168,  -176,  -393,  -651,  -729,   701,  -452,  -670,  -444,   nil,
    75,  -435,   165,   172,  -443,   327,  -539,  -527,   nil,  -537,
  -667,  -760,  -759,  -133,  -480,   142,  -326,  -303,    -6,   -51,
   nil,   -60,   -60,  -686,  -455,  -578,   nil,   nil,   149,   148,
    61,   149,   153,  -232,  -242,   153,   155,   157,  -339,  -337,
  -324,  -269,   nil,   nil,  -369,  -425,  -611,  -469,  -420,  -591,
   nil,  -593,  -728,   nil,   nil,  -435 ]

racc_goto_default = [
   nil,   nil,   nil,     3,   nil,     4,   343,   290,   nil,   519,
   nil,   831,   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,   800,   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,   698,   823,   nil,   699,   920,   772,
   535,   nil,   536,   nil,   nil,   537,   nil,   539,   642,   nil,
   nil,   nil,   545,   nil,   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,   815,   733,   534,   nil,   538,   549,   551,   552,   784,
   555,   556,   785,   559,   562,   282 ]

racc_reduce_table = [
  0, 0, :racc_error,
  1, 144, :_reduce_none,
  2, 145, :_reduce_2,
  0, 146, :_reduce_3,
  1, 146, :_reduce_4,
  3, 146, :_reduce_5,
  2, 146, :_reduce_6,
  1, 148, :_reduce_none,
  4, 148, :_reduce_8,
  4, 151, :_reduce_9,
  2, 152, :_reduce_10,
  0, 156, :_reduce_11,
  1, 156, :_reduce_12,
  3, 156, :_reduce_13,
  2, 156, :_reduce_14,
  1, 157, :_reduce_none,
  4, 157, :_reduce_16,
  0, 173, :_reduce_17,
  4, 150, :_reduce_18,
  3, 150, :_reduce_19,
  3, 150, :_reduce_20,
  3, 150, :_reduce_21,
  2, 150, :_reduce_22,
  3, 150, :_reduce_23,
  3, 150, :_reduce_24,
  3, 150, :_reduce_25,
  3, 150, :_reduce_26,
  3, 150, :_reduce_27,
  4, 150, :_reduce_28,
  1, 150, :_reduce_none,
  3, 150, :_reduce_30,
  3, 150, :_reduce_31,
  6, 150, :_reduce_32,
  5, 150, :_reduce_33,
  5, 150, :_reduce_34,
  5, 150, :_reduce_35,
  5, 150, :_reduce_36,
  3, 150, :_reduce_37,
  3, 150, :_reduce_38,
  3, 150, :_reduce_39,
  1, 150, :_reduce_none,
  3, 161, :_reduce_41,
  3, 161, :_reduce_42,
  1, 172, :_reduce_none,
  3, 172, :_reduce_44,
  3, 172, :_reduce_45,
  3, 172, :_reduce_46,
  2, 172, :_reduce_47,
  1, 172, :_reduce_none,
  1, 160, :_reduce_none,
  1, 163, :_reduce_none,
  1, 163, :_reduce_none,
  1, 177, :_reduce_none,
  4, 177, :_reduce_53,
  0, 185, :_reduce_54,
  5, 182, :_reduce_55,
  1, 184, :_reduce_none,
  2, 176, :_reduce_57,
  3, 176, :_reduce_58,
  4, 176, :_reduce_59,
  5, 176, :_reduce_60,
  4, 176, :_reduce_61,
  5, 176, :_reduce_62,
  2, 176, :_reduce_63,
  2, 176, :_reduce_64,
  2, 176, :_reduce_65,
  2, 176, :_reduce_66,
  2, 176, :_reduce_67,
  1, 162, :_reduce_68,
  3, 162, :_reduce_69,
  1, 189, :_reduce_70,
  3, 189, :_reduce_71,
  1, 188, :_reduce_none,
  2, 188, :_reduce_73,
  3, 188, :_reduce_74,
  5, 188, :_reduce_75,
  2, 188, :_reduce_76,
  4, 188, :_reduce_77,
  2, 188, :_reduce_78,
  4, 188, :_reduce_79,
  1, 188, :_reduce_80,
  3, 188, :_reduce_81,
  1, 192, :_reduce_none,
  3, 192, :_reduce_83,
  2, 191, :_reduce_84,
  3, 191, :_reduce_85,
  1, 194, :_reduce_86,
  3, 194, :_reduce_87,
  1, 193, :_reduce_88,
  1, 193, :_reduce_89,
  4, 193, :_reduce_90,
  3, 193, :_reduce_91,
  3, 193, :_reduce_92,
  3, 193, :_reduce_93,
  3, 193, :_reduce_94,
  2, 193, :_reduce_95,
  1, 193, :_reduce_96,
  1, 169, :_reduce_97,
  1, 169, :_reduce_98,
  4, 169, :_reduce_99,
  3, 169, :_reduce_100,
  3, 169, :_reduce_101,
  3, 169, :_reduce_102,
  3, 169, :_reduce_103,
  2, 169, :_reduce_104,
  1, 169, :_reduce_105,
  1, 197, :_reduce_106,
  1, 197, :_reduce_none,
  2, 198, :_reduce_108,
  1, 198, :_reduce_109,
  3, 198, :_reduce_110,
  1, 199, :_reduce_none,
  1, 199, :_reduce_none,
  1, 199, :_reduce_none,
  1, 199, :_reduce_none,
  1, 199, :_reduce_none,
  1, 202, :_reduce_116,
  1, 202, :_reduce_none,
  1, 158, :_reduce_none,
  1, 158, :_reduce_none,
  1, 159, :_reduce_120,
  0, 205, :_reduce_121,
  4, 159, :_reduce_122,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_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, 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,
  3, 175, :_reduce_194,
  5, 175, :_reduce_195,
  3, 175, :_reduce_196,
  5, 175, :_reduce_197,
  6, 175, :_reduce_198,
  5, 175, :_reduce_199,
  5, 175, :_reduce_200,
  5, 175, :_reduce_201,
  5, 175, :_reduce_202,
  4, 175, :_reduce_203,
  3, 175, :_reduce_204,
  3, 175, :_reduce_205,
  3, 175, :_reduce_206,
  3, 175, :_reduce_207,
  3, 175, :_reduce_208,
  3, 175, :_reduce_209,
  3, 175, :_reduce_210,
  3, 175, :_reduce_211,
  3, 175, :_reduce_212,
  4, 175, :_reduce_213,
  2, 175, :_reduce_214,
  2, 175, :_reduce_215,
  3, 175, :_reduce_216,
  3, 175, :_reduce_217,
  3, 175, :_reduce_218,
  3, 175, :_reduce_219,
  3, 175, :_reduce_220,
  3, 175, :_reduce_221,
  3, 175, :_reduce_222,
  3, 175, :_reduce_223,
  3, 175, :_reduce_224,
  3, 175, :_reduce_225,
  3, 175, :_reduce_226,
  3, 175, :_reduce_227,
  3, 175, :_reduce_228,
  2, 175, :_reduce_229,
  2, 175, :_reduce_230,
  3, 175, :_reduce_231,
  3, 175, :_reduce_232,
  3, 175, :_reduce_233,
  3, 175, :_reduce_234,
  3, 175, :_reduce_235,
  6, 175, :_reduce_236,
  1, 175, :_reduce_none,
  1, 208, :_reduce_none,
  1, 209, :_reduce_none,
  2, 209, :_reduce_none,
  4, 209, :_reduce_241,
  2, 209, :_reduce_242,
  3, 214, :_reduce_243,
  0, 215, :_reduce_244,
  1, 215, :_reduce_none,
  0, 166, :_reduce_246,
  1, 166, :_reduce_none,
  2, 166, :_reduce_none,
  4, 166, :_reduce_249,
  2, 166, :_reduce_250,
  1, 187, :_reduce_251,
  2, 187, :_reduce_252,
  2, 187, :_reduce_253,
  4, 187, :_reduce_254,
  1, 187, :_reduce_255,
  0, 218, :_reduce_256,
  2, 181, :_reduce_257,
  2, 217, :_reduce_258,
  2, 216, :_reduce_259,
  0, 216, :_reduce_260,
  1, 211, :_reduce_261,
  2, 211, :_reduce_262,
  3, 211, :_reduce_263,
  4, 211, :_reduce_264,
  1, 171, :_reduce_265,
  1, 171, :_reduce_none,
  3, 170, :_reduce_267,
  4, 170, :_reduce_268,
  2, 170, :_reduce_269,
  1, 207, :_reduce_none,
  1, 207, :_reduce_none,
  1, 207, :_reduce_none,
  1, 207, :_reduce_none,
  1, 207, :_reduce_none,
  1, 207, :_reduce_none,
  1, 207, :_reduce_none,
  1, 207, :_reduce_none,
  1, 207, :_reduce_none,
  1, 207, :_reduce_none,
  1, 207, :_reduce_280,
  0, 241, :_reduce_281,
  4, 207, :_reduce_282,
  0, 242, :_reduce_283,
  0, 243, :_reduce_284,
  6, 207, :_reduce_285,
  0, 244, :_reduce_286,
  4, 207, :_reduce_287,
  3, 207, :_reduce_288,
  3, 207, :_reduce_289,
  2, 207, :_reduce_290,
  3, 207, :_reduce_291,
  3, 207, :_reduce_292,
  1, 207, :_reduce_293,
  4, 207, :_reduce_294,
  3, 207, :_reduce_295,
  1, 207, :_reduce_296,
  5, 207, :_reduce_297,
  4, 207, :_reduce_298,
  3, 207, :_reduce_299,
  2, 207, :_reduce_300,
  1, 207, :_reduce_none,
  2, 207, :_reduce_302,
  2, 207, :_reduce_303,
  6, 207, :_reduce_304,
  6, 207, :_reduce_305,
  0, 245, :_reduce_306,
  0, 246, :_reduce_307,
  7, 207, :_reduce_308,
  0, 247, :_reduce_309,
  0, 248, :_reduce_310,
  7, 207, :_reduce_311,
  5, 207, :_reduce_312,
  4, 207, :_reduce_313,
  0, 249, :_reduce_314,
  0, 250, :_reduce_315,
  9, 207, :_reduce_316,
  0, 251, :_reduce_317,
  6, 207, :_reduce_318,
  0, 252, :_reduce_319,
  7, 207, :_reduce_320,
  0, 253, :_reduce_321,
  5, 207, :_reduce_322,
  0, 254, :_reduce_323,
  6, 207, :_reduce_324,
  0, 255, :_reduce_325,
  0, 256, :_reduce_326,
  9, 207, :_reduce_327,
  1, 207, :_reduce_328,
  1, 207, :_reduce_329,
  1, 207, :_reduce_330,
  1, 207, :_reduce_331,
  1, 165, :_reduce_none,
  1, 232, :_reduce_none,
  1, 232, :_reduce_none,
  2, 232, :_reduce_335,
  1, 234, :_reduce_none,
  1, 234, :_reduce_none,
  1, 233, :_reduce_none,
  5, 233, :_reduce_339,
  1, 154, :_reduce_none,
  2, 154, :_reduce_341,
  1, 236, :_reduce_none,
  1, 236, :_reduce_none,
  1, 257, :_reduce_344,
  3, 257, :_reduce_345,
  1, 260, :_reduce_346,
  3, 260, :_reduce_347,
  1, 259, :_reduce_none,
  4, 259, :_reduce_349,
  6, 259, :_reduce_350,
  3, 259, :_reduce_351,
  5, 259, :_reduce_352,
  2, 259, :_reduce_353,
  4, 259, :_reduce_354,
  1, 259, :_reduce_355,
  3, 259, :_reduce_356,
  4, 261, :_reduce_357,
  2, 261, :_reduce_358,
  2, 261, :_reduce_359,
  1, 261, :_reduce_360,
  2, 266, :_reduce_361,
  0, 266, :_reduce_362,
  6, 267, :_reduce_363,
  8, 267, :_reduce_364,
  4, 267, :_reduce_365,
  6, 267, :_reduce_366,
  4, 267, :_reduce_367,
  2, 267, :_reduce_none,
  6, 267, :_reduce_369,
  2, 267, :_reduce_370,
  4, 267, :_reduce_371,
  6, 267, :_reduce_372,
  2, 267, :_reduce_373,
  4, 267, :_reduce_374,
  2, 267, :_reduce_375,
  4, 267, :_reduce_376,
  1, 267, :_reduce_none,
  0, 183, :_reduce_378,
  1, 183, :_reduce_379,
  3, 271, :_reduce_380,
  1, 271, :_reduce_381,
  4, 271, :_reduce_382,
  1, 272, :_reduce_383,
  4, 272, :_reduce_384,
  1, 273, :_reduce_385,
  3, 273, :_reduce_386,
  1, 274, :_reduce_387,
  1, 274, :_reduce_none,
  0, 278, :_reduce_389,
  0, 279, :_reduce_390,
  4, 231, :_reduce_391,
  4, 276, :_reduce_392,
  1, 276, :_reduce_393,
  3, 277, :_reduce_394,
  3, 277, :_reduce_395,
  0, 282, :_reduce_396,
  5, 281, :_reduce_397,
  2, 178, :_reduce_398,
  4, 178, :_reduce_399,
  5, 178, :_reduce_400,
  5, 178, :_reduce_401,
  2, 230, :_reduce_402,
  4, 230, :_reduce_403,
  4, 230, :_reduce_404,
  3, 230, :_reduce_405,
  3, 230, :_reduce_406,
  3, 230, :_reduce_407,
  2, 230, :_reduce_408,
  1, 230, :_reduce_409,
  4, 230, :_reduce_410,
  0, 284, :_reduce_411,
  5, 229, :_reduce_412,
  0, 285, :_reduce_413,
  5, 229, :_reduce_414,
  5, 235, :_reduce_415,
  1, 286, :_reduce_416,
  1, 286, :_reduce_none,
  6, 153, :_reduce_418,
  0, 153, :_reduce_419,
  1, 287, :_reduce_420,
  1, 287, :_reduce_none,
  1, 287, :_reduce_none,
  2, 288, :_reduce_423,
  1, 288, :_reduce_none,
  2, 155, :_reduce_425,
  1, 155, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 220, :_reduce_430,
  1, 290, :_reduce_431,
  2, 290, :_reduce_432,
  3, 291, :_reduce_433,
  1, 291, :_reduce_434,
  1, 291, :_reduce_435,
  3, 221, :_reduce_436,
  4, 222, :_reduce_437,
  3, 223, :_reduce_438,
  0, 295, :_reduce_439,
  3, 295, :_reduce_440,
  1, 296, :_reduce_441,
  2, 296, :_reduce_442,
  3, 225, :_reduce_443,
  0, 298, :_reduce_444,
  3, 298, :_reduce_445,
  3, 224, :_reduce_446,
  3, 226, :_reduce_447,
  0, 299, :_reduce_448,
  3, 299, :_reduce_449,
  0, 300, :_reduce_450,
  3, 300, :_reduce_451,
  0, 292, :_reduce_452,
  2, 292, :_reduce_453,
  0, 293, :_reduce_454,
  2, 293, :_reduce_455,
  0, 294, :_reduce_456,
  2, 294, :_reduce_457,
  1, 297, :_reduce_458,
  2, 297, :_reduce_459,
  0, 302, :_reduce_460,
  4, 297, :_reduce_461,
  1, 301, :_reduce_462,
  1, 301, :_reduce_463,
  1, 301, :_reduce_464,
  1, 301, :_reduce_none,
  1, 203, :_reduce_466,
  3, 204, :_reduce_467,
  1, 289, :_reduce_468,
  2, 289, :_reduce_469,
  1, 206, :_reduce_470,
  1, 206, :_reduce_471,
  1, 206, :_reduce_472,
  1, 206, :_reduce_473,
  1, 195, :_reduce_474,
  1, 195, :_reduce_475,
  1, 195, :_reduce_476,
  1, 195, :_reduce_477,
  1, 195, :_reduce_478,
  1, 196, :_reduce_479,
  1, 196, :_reduce_480,
  1, 196, :_reduce_481,
  1, 196, :_reduce_482,
  1, 196, :_reduce_483,
  1, 196, :_reduce_484,
  1, 196, :_reduce_485,
  1, 227, :_reduce_486,
  1, 227, :_reduce_487,
  1, 164, :_reduce_488,
  1, 164, :_reduce_489,
  1, 168, :_reduce_490,
  1, 168, :_reduce_491,
  1, 237, :_reduce_492,
  0, 303, :_reduce_493,
  4, 237, :_reduce_494,
  2, 237, :_reduce_495,
  3, 239, :_reduce_496,
  0, 305, :_reduce_497,
  3, 239, :_reduce_498,
  4, 304, :_reduce_499,
  2, 304, :_reduce_500,
  2, 304, :_reduce_501,
  1, 304, :_reduce_502,
  2, 307, :_reduce_503,
  0, 307, :_reduce_504,
  6, 280, :_reduce_505,
  8, 280, :_reduce_506,
  4, 280, :_reduce_507,
  6, 280, :_reduce_508,
  4, 280, :_reduce_509,
  6, 280, :_reduce_510,
  2, 280, :_reduce_511,
  4, 280, :_reduce_512,
  6, 280, :_reduce_513,
  2, 280, :_reduce_514,
  4, 280, :_reduce_515,
  2, 280, :_reduce_516,
  4, 280, :_reduce_517,
  1, 280, :_reduce_518,
  0, 280, :_reduce_519,
  1, 275, :_reduce_520,
  1, 275, :_reduce_521,
  1, 275, :_reduce_522,
  1, 275, :_reduce_523,
  1, 258, :_reduce_none,
  1, 258, :_reduce_525,
  1, 309, :_reduce_526,
  3, 309, :_reduce_527,
  1, 268, :_reduce_528,
  3, 268, :_reduce_529,
  1, 310, :_reduce_530,
  2, 311, :_reduce_531,
  1, 311, :_reduce_532,
  2, 312, :_reduce_533,
  1, 312, :_reduce_534,
  1, 262, :_reduce_535,
  3, 262, :_reduce_536,
  1, 306, :_reduce_537,
  3, 306, :_reduce_538,
  1, 313, :_reduce_none,
  1, 313, :_reduce_none,
  2, 263, :_reduce_541,
  1, 263, :_reduce_542,
  3, 314, :_reduce_543,
  3, 315, :_reduce_544,
  1, 269, :_reduce_545,
  3, 269, :_reduce_546,
  1, 308, :_reduce_547,
  3, 308, :_reduce_548,
  1, 316, :_reduce_none,
  1, 316, :_reduce_none,
  2, 270, :_reduce_551,
  1, 270, :_reduce_552,
  1, 317, :_reduce_none,
  1, 317, :_reduce_none,
  2, 265, :_reduce_555,
  2, 264, :_reduce_556,
  0, 264, :_reduce_557,
  1, 240, :_reduce_none,
  3, 240, :_reduce_559,
  0, 228, :_reduce_560,
  2, 228, :_reduce_none,
  1, 213, :_reduce_562,
  3, 213, :_reduce_563,
  3, 318, :_reduce_564,
  2, 318, :_reduce_565,
  2, 318, :_reduce_566,
  1, 186, :_reduce_none,
  1, 186, :_reduce_none,
  1, 186, :_reduce_none,
  1, 180, :_reduce_none,
  1, 180, :_reduce_none,
  1, 180, :_reduce_none,
  1, 180, :_reduce_none,
  1, 283, :_reduce_none,
  1, 283, :_reduce_none,
  1, 283, :_reduce_none,
  1, 179, :_reduce_none,
  1, 179, :_reduce_none,
  0, 147, :_reduce_none,
  1, 147, :_reduce_none,
  0, 174, :_reduce_none,
  1, 174, :_reduce_none,
  2, 190, :_reduce_583,
  2, 167, :_reduce_584,
  0, 212, :_reduce_none,
  1, 212, :_reduce_none,
  1, 212, :_reduce_none,
  1, 238, :_reduce_588,
  1, 238, :_reduce_none,
  1, 149, :_reduce_none,
  2, 149, :_reduce_none,
  0, 210, :_reduce_592 ]

racc_reduce_n = 593

racc_shift_n = 1017

racc_token_table = {
  false => 0,
  :error => 1,
  :kCLASS => 2,
  :kMODULE => 3,
  :kDEF => 4,
  :kUNDEF => 5,
  :kBEGIN => 6,
  :kRESCUE => 7,
  :kENSURE => 8,
  :kEND => 9,
  :kIF => 10,
  :kUNLESS => 11,
  :kTHEN => 12,
  :kELSIF => 13,
  :kELSE => 14,
  :kCASE => 15,
  :kWHEN => 16,
  :kWHILE => 17,
  :kUNTIL => 18,
  :kFOR => 19,
  :kBREAK => 20,
  :kNEXT => 21,
  :kREDO => 22,
  :kRETRY => 23,
  :kIN => 24,
  :kDO => 25,
  :kDO_COND => 26,
  :kDO_BLOCK => 27,
  :kDO_LAMBDA => 28,
  :kRETURN => 29,
  :kYIELD => 30,
  :kSUPER => 31,
  :kSELF => 32,
  :kNIL => 33,
  :kTRUE => 34,
  :kFALSE => 35,
  :kAND => 36,
  :kOR => 37,
  :kNOT => 38,
  :kIF_MOD => 39,
  :kUNLESS_MOD => 40,
  :kWHILE_MOD => 41,
  :kUNTIL_MOD => 42,
  :kRESCUE_MOD => 43,
  :kALIAS => 44,
  :kDEFINED => 45,
  :klBEGIN => 46,
  :klEND => 47,
  :k__LINE__ => 48,
  :k__FILE__ => 49,
  :k__ENCODING__ => 50,
  :tIDENTIFIER => 51,
  :tFID => 52,
  :tGVAR => 53,
  :tIVAR => 54,
  :tCONSTANT => 55,
  :tLABEL => 56,
  :tCVAR => 57,
  :tNTH_REF => 58,
  :tBACK_REF => 59,
  :tSTRING_CONTENT => 60,
  :tINTEGER => 61,
  :tFLOAT => 62,
  :tUPLUS => 63,
  :tUMINUS => 64,
  :tUNARY_NUM => 65,
  :tPOW => 66,
  :tCMP => 67,
  :tEQ => 68,
  :tEQQ => 69,
  :tNEQ => 70,
  :tGEQ => 71,
  :tLEQ => 72,
  :tANDOP => 73,
  :tOROP => 74,
  :tMATCH => 75,
  :tNMATCH => 76,
  :tDOT => 77,
  :tDOT2 => 78,
  :tDOT3 => 79,
  :tAREF => 80,
  :tASET => 81,
  :tLSHFT => 82,
  :tRSHFT => 83,
  :tCOLON2 => 84,
  :tCOLON3 => 85,
  :tOP_ASGN => 86,
  :tASSOC => 87,
  :tLPAREN => 88,
  :tLPAREN2 => 89,
  :tRPAREN => 90,
  :tLPAREN_ARG => 91,
  :tLBRACK => 92,
  :tLBRACK2 => 93,
  :tRBRACK => 94,
  :tLBRACE => 95,
  :tLBRACE_ARG => 96,
  :tSTAR => 97,
  :tSTAR2 => 98,
  :tAMPER => 99,
  :tAMPER2 => 100,
  :tTILDE => 101,
  :tPERCENT => 102,
  :tDIVIDE => 103,
  :tDSTAR => 104,
  :tPLUS => 105,
  :tMINUS => 106,
  :tLT => 107,
  :tGT => 108,
  :tPIPE => 109,
  :tBANG => 110,
  :tCARET => 111,
  :tLCURLY => 112,
  :tRCURLY => 113,
  :tBACK_REF2 => 114,
  :tSYMBEG => 115,
  :tSTRING_BEG => 116,
  :tXSTRING_BEG => 117,
  :tREGEXP_BEG => 118,
  :tREGEXP_OPT => 119,
  :tWORDS_BEG => 120,
  :tQWORDS_BEG => 121,
  :tSYMBOLS_BEG => 122,
  :tQSYMBOLS_BEG => 123,
  :tSTRING_DBEG => 124,
  :tSTRING_DVAR => 125,
  :tSTRING_END => 126,
  :tSTRING_DEND => 127,
  :tSTRING => 128,
  :tSYMBOL => 129,
  :tNL => 130,
  :tEH => 131,
  :tCOLON => 132,
  :tCOMMA => 133,
  :tSPACE => 134,
  :tSEMI => 135,
  :tLAMBDA => 136,
  :tLAMBEG => 137,
  :tCHARACTER => 138,
  :tRATIONAL => 139,
  :tIMAGINARY => 140,
  :tEQL => 141,
  :tLOWEST => 142 }

racc_nt_base = 143

racc_use_result_var = true

Racc_arg = [
  racc_action_table,
  racc_action_check,
  racc_action_default,
  racc_action_pointer,
  racc_goto_table,
  racc_goto_check,
  racc_goto_default,
  racc_goto_pointer,
  racc_nt_base,
  racc_reduce_table,
  racc_token_table,
  racc_shift_n,
  racc_reduce_n,
  racc_use_result_var ]

Racc_token_to_s_table = [
  "$end",
  "error",
  "kCLASS",
  "kMODULE",
  "kDEF",
  "kUNDEF",
  "kBEGIN",
  "kRESCUE",
  "kENSURE",
  "kEND",
  "kIF",
  "kUNLESS",
  "kTHEN",
  "kELSIF",
  "kELSE",
  "kCASE",
  "kWHEN",
  "kWHILE",
  "kUNTIL",
  "kFOR",
  "kBREAK",
  "kNEXT",
  "kREDO",
  "kRETRY",
  "kIN",
  "kDO",
  "kDO_COND",
  "kDO_BLOCK",
  "kDO_LAMBDA",
  "kRETURN",
  "kYIELD",
  "kSUPER",
  "kSELF",
  "kNIL",
  "kTRUE",
  "kFALSE",
  "kAND",
  "kOR",
  "kNOT",
  "kIF_MOD",
  "kUNLESS_MOD",
  "kWHILE_MOD",
  "kUNTIL_MOD",
  "kRESCUE_MOD",
  "kALIAS",
  "kDEFINED",
  "klBEGIN",
  "klEND",
  "k__LINE__",
  "k__FILE__",
  "k__ENCODING__",
  "tIDENTIFIER",
  "tFID",
  "tGVAR",
  "tIVAR",
  "tCONSTANT",
  "tLABEL",
  "tCVAR",
  "tNTH_REF",
  "tBACK_REF",
  "tSTRING_CONTENT",
  "tINTEGER",
  "tFLOAT",
  "tUPLUS",
  "tUMINUS",
  "tUNARY_NUM",
  "tPOW",
  "tCMP",
  "tEQ",
  "tEQQ",
  "tNEQ",
  "tGEQ",
  "tLEQ",
  "tANDOP",
  "tOROP",
  "tMATCH",
  "tNMATCH",
  "tDOT",
  "tDOT2",
  "tDOT3",
  "tAREF",
  "tASET",
  "tLSHFT",
  "tRSHFT",
  "tCOLON2",
  "tCOLON3",
  "tOP_ASGN",
  "tASSOC",
  "tLPAREN",
  "tLPAREN2",
  "tRPAREN",
  "tLPAREN_ARG",
  "tLBRACK",
  "tLBRACK2",
  "tRBRACK",
  "tLBRACE",
  "tLBRACE_ARG",
  "tSTAR",
  "tSTAR2",
  "tAMPER",
  "tAMPER2",
  "tTILDE",
  "tPERCENT",
  "tDIVIDE",
  "tDSTAR",
  "tPLUS",
  "tMINUS",
  "tLT",
  "tGT",
  "tPIPE",
  "tBANG",
  "tCARET",
  "tLCURLY",
  "tRCURLY",
  "tBACK_REF2",
  "tSYMBEG",
  "tSTRING_BEG",
  "tXSTRING_BEG",
  "tREGEXP_BEG",
  "tREGEXP_OPT",
  "tWORDS_BEG",
  "tQWORDS_BEG",
  "tSYMBOLS_BEG",
  "tQSYMBOLS_BEG",
  "tSTRING_DBEG",
  "tSTRING_DVAR",
  "tSTRING_END",
  "tSTRING_DEND",
  "tSTRING",
  "tSYMBOL",
  "tNL",
  "tEH",
  "tCOLON",
  "tCOMMA",
  "tSPACE",
  "tSEMI",
  "tLAMBDA",
  "tLAMBEG",
  "tCHARACTER",
  "tRATIONAL",
  "tIMAGINARY",
  "tEQL",
  "tLOWEST",
  "$start",
  "program",
  "top_compstmt",
  "top_stmts",
  "opt_terms",
  "top_stmt",
  "terms",
  "stmt",
  "bodystmt",
  "compstmt",
  "opt_rescue",
  "opt_else",
  "opt_ensure",
  "stmts",
  "stmt_or_begin",
  "fitem",
  "undef_list",
  "expr_value",
  "command_asgn",
  "mlhs",
  "command_call",
  "var_lhs",
  "primary_value",
  "opt_call_args",
  "rbracket",
  "backref",
  "lhs",
  "mrhs",
  "mrhs_arg",
  "expr",
  "@1",
  "opt_nl",
  "arg",
  "command",
  "block_command",
  "block_call",
  "dot_or_colon",
  "operation2",
  "command_args",
  "cmd_brace_block",
  "opt_block_param",
  "fcall",
  "@2",
  "operation",
  "call_args",
  "mlhs_basic",
  "mlhs_inner",
  "rparen",
  "mlhs_head",
  "mlhs_item",
  "mlhs_node",
  "mlhs_post",
  "user_variable",
  "keyword_variable",
  "cname",
  "cpath",
  "fname",
  "op",
  "reswords",
  "fsym",
  "symbol",
  "dsym",
  "@3",
  "simple_numeric",
  "primary",
  "arg_value",
  "aref_args",
  "none",
  "args",
  "trailer",
  "assocs",
  "paren_args",
  "opt_paren_args",
  "opt_block_arg",
  "block_arg",
  "@4",
  "literal",
  "strings",
  "xstring",
  "regexp",
  "words",
  "qwords",
  "symbols",
  "qsymbols",
  "var_ref",
  "assoc_list",
  "brace_block",
  "method_call",
  "lambda",
  "then",
  "if_tail",
  "do",
  "case_body",
  "for_var",
  "superclass",
  "term",
  "f_arglist",
  "singleton",
  "@5",
  "@6",
  "@7",
  "@8",
  "@9",
  "@10",
  "@11",
  "@12",
  "@13",
  "@14",
  "@15",
  "@16",
  "@17",
  "@18",
  "@19",
  "@20",
  "f_marg",
  "f_norm_arg",
  "f_margs",
  "f_marg_list",
  "block_args_tail",
  "f_block_kwarg",
  "f_kwrest",
  "opt_f_block_arg",
  "f_block_arg",
  "opt_block_args_tail",
  "block_param",
  "f_arg",
  "f_block_optarg",
  "f_rest_arg",
  "block_param_def",
  "opt_bv_decl",
  "bv_decls",
  "bvar",
  "f_bad_arg",
  "f_larglist",
  "lambda_body",
  "@21",
  "@22",
  "f_args",
  "do_block",
  "@23",
  "operation3",
  "@24",
  "@25",
  "cases",
  "exc_list",
  "exc_var",
  "numeric",
  "string",
  "string1",
  "string_contents",
  "xstring_contents",
  "regexp_contents",
  "word_list",
  "word",
  "string_content",
  "symbol_list",
  "qword_list",
  "qsym_list",
  "string_dvar",
  "@26",
  "@27",
  "args_tail",
  "@28",
  "f_kwarg",
  "opt_args_tail",
  "f_optarg",
  "f_arg_item",
  "f_label",
  "f_kw",
  "f_block_kw",
  "kwrest_mark",
  "f_opt",
  "f_block_opt",
  "restarg_mark",
  "blkarg_mark",
  "assoc" ]

Racc_debug_parser = false

##### State transition tables end #####

# reduce 0 omitted

# reduce 1 omitted

def _reduce_2(val, _values, result)
                      result = @builder.compstmt(val[0])
                    
    result
end

def _reduce_3(val, _values, result)
                      result = []
                    
    result
end

def _reduce_4(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_5(val, _values, result)
                      result = val[0] << val[2]
                    
    result
end

def _reduce_6(val, _values, result)
                      result = [ val[1] ]
                    
    result
end

# reduce 7 omitted

def _reduce_8(val, _values, result)
                      result = @builder.preexe(val[0], val[1], val[2], val[3])
                    
    result
end

def _reduce_9(val, _values, result)
                      rescue_bodies     = val[1]
                      else_t,   else_   = val[2]
                      ensure_t, ensure_ = val[3]

                      if rescue_bodies.empty? && !else_.nil?
                        diagnostic :warning, :useless_else, nil, else_t
                      end

                      result = @builder.begin_body(val[0],
                                  rescue_bodies,
                                  else_t,   else_,
                                  ensure_t, ensure_)
                    
    result
end

def _reduce_10(val, _values, result)
                      result = @builder.compstmt(val[0])
                    
    result
end

def _reduce_11(val, _values, result)
                      result = []
                    
    result
end

def _reduce_12(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_13(val, _values, result)
                      result = val[0] << val[2]
                    
    result
end

def _reduce_14(val, _values, result)
                      result = [ val[1] ]
                    
    result
end

# reduce 15 omitted

def _reduce_16(val, _values, result)
                      diagnostic :error, :begin_in_method, nil, val[0]
                    
    result
end

def _reduce_17(val, _values, result)
                      @lexer.state = :expr_fname
                    
    result
end

def _reduce_18(val, _values, result)
                      result = @builder.alias(val[0], val[1], val[3])
                    
    result
end

def _reduce_19(val, _values, result)
                      result = @builder.alias(val[0],
                                  @builder.gvar(val[1]),
                                  @builder.gvar(val[2]))
                    
    result
end

def _reduce_20(val, _values, result)
                      result = @builder.alias(val[0],
                                  @builder.gvar(val[1]),
                                  @builder.back_ref(val[2]))
                    
    result
end

def _reduce_21(val, _values, result)
                      diagnostic :error, :nth_ref_alias, nil, val[2]
                    
    result
end

def _reduce_22(val, _values, result)
                      result = @builder.undef_method(val[0], val[1])
                    
    result
end

def _reduce_23(val, _values, result)
                      result = @builder.condition_mod(val[0], nil,
                                                      val[1], val[2])
                    
    result
end

def _reduce_24(val, _values, result)
                      result = @builder.condition_mod(nil, val[0],
                                                      val[1], val[2])
                    
    result
end

def _reduce_25(val, _values, result)
                      result = @builder.loop_mod(:while, val[0], val[1], val[2])
                    
    result
end

def _reduce_26(val, _values, result)
                      result = @builder.loop_mod(:until, val[0], val[1], val[2])
                    
    result
end

def _reduce_27(val, _values, result)
                      rescue_body = @builder.rescue_body(val[1],
                                        nil, nil, nil,
                                        nil, val[2])

                      result = @builder.begin_body(val[0], [ rescue_body ])
                    
    result
end

def _reduce_28(val, _values, result)
                      result = @builder.postexe(val[0], val[1], val[2], val[3])
                    
    result
end

# reduce 29 omitted

def _reduce_30(val, _values, result)
                      result = @builder.multi_assign(val[0], val[1], val[2])
                    
    result
end

def _reduce_31(val, _values, result)
                      result = @builder.op_assign(val[0], val[1], val[2])
                    
    result
end

def _reduce_32(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.index(
                                    val[0], val[1], val[2], val[3]),
                                  val[4], val[5])
                    
    result
end

def _reduce_33(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])
                    
    result
end

def _reduce_34(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])
                    
    result
end

def _reduce_35(val, _values, result)
                      const  = @builder.const_op_assignable(
                                  @builder.const_fetch(val[0], val[1], val[2]))
                      result = @builder.op_assign(const, val[3], val[4])
                    
    result
end

def _reduce_36(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])
                    
    result
end

def _reduce_37(val, _values, result)
                      @builder.op_assign(val[0], val[1], val[2])
                    
    result
end

def _reduce_38(val, _values, result)
                      result = @builder.assign(val[0], val[1],
                                  @builder.array(nil, val[2], nil))
                    
    result
end

def _reduce_39(val, _values, result)
                      result = @builder.multi_assign(val[0], val[1], val[2])
                    
    result
end

# reduce 40 omitted

def _reduce_41(val, _values, result)
                      result = @builder.assign(val[0], val[1], val[2])
                    
    result
end

def _reduce_42(val, _values, result)
                      result = @builder.assign(val[0], val[1], val[2])
                    
    result
end

# reduce 43 omitted

def _reduce_44(val, _values, result)
                      result = @builder.logical_op(:and, val[0], val[1], val[2])
                    
    result
end

def _reduce_45(val, _values, result)
                      result = @builder.logical_op(:or, val[0], val[1], val[2])
                    
    result
end

def _reduce_46(val, _values, result)
                      result = @builder.not_op(val[0], nil, val[2], nil)
                    
    result
end

def _reduce_47(val, _values, result)
                      result = @builder.not_op(val[0], nil, val[1], nil)
                    
    result
end

# reduce 48 omitted

# reduce 49 omitted

# reduce 50 omitted

# reduce 51 omitted

# reduce 52 omitted

def _reduce_53(val, _values, result)
                      result = @builder.call_method(val[0], val[1], val[2],
                                  nil, val[3], nil)
                    
    result
end

def _reduce_54(val, _values, result)
                      @static_env.extend_dynamic
                    
    result
end

def _reduce_55(val, _values, result)
                      result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                    
    result
end

# reduce 56 omitted

def _reduce_57(val, _values, result)
                      result = @builder.call_method(nil, nil, val[0],
                                  nil, val[1], nil)
                    
    result
end

def _reduce_58(val, _values, result)
                      method_call = @builder.call_method(nil, nil, val[0],
                                        nil, val[1], nil)

                      begin_t, args, body, end_t = val[2]
                      result      = @builder.block(method_call,
                                      begin_t, args, body, end_t)
                    
    result
end

def _reduce_59(val, _values, result)
                      result = @builder.call_method(val[0], val[1], val[2],
                                  nil, val[3], nil)
                    
    result
end

def _reduce_60(val, _values, result)
                      method_call = @builder.call_method(val[0], val[1], val[2],
                                        nil, val[3], nil)

                      begin_t, args, body, end_t = val[4]
                      result      = @builder.block(method_call,
                                      begin_t, args, body, end_t)
                    
    result
end

def _reduce_61(val, _values, result)
                      result = @builder.call_method(val[0], val[1], val[2],
                                  nil, val[3], nil)
                    
    result
end

def _reduce_62(val, _values, result)
                      method_call = @builder.call_method(val[0], val[1], val[2],
                                        nil, val[3], nil)

                      begin_t, args, body, end_t = val[4]
                      result      = @builder.block(method_call,
                                      begin_t, args, body, end_t)
                    
    result
end

def _reduce_63(val, _values, result)
                      result = @builder.keyword_cmd(:super, val[0],
                                  nil, val[1], nil)
                    
    result
end

def _reduce_64(val, _values, result)
                      result = @builder.keyword_cmd(:yield, val[0],
                                  nil, val[1], nil)
                    
    result
end

def _reduce_65(val, _values, result)
                      result = @builder.keyword_cmd(:return, val[0],
                                  nil, val[1], nil)
                    
    result
end

def _reduce_66(val, _values, result)
                      result = @builder.keyword_cmd(:break, val[0],
                                  nil, val[1], nil)
                    
    result
end

def _reduce_67(val, _values, result)
                      result = @builder.keyword_cmd(:next, val[0],
                                  nil, val[1], nil)
                    
    result
end

def _reduce_68(val, _values, result)
                      result = @builder.multi_lhs(nil, val[0], nil)
                    
    result
end

def _reduce_69(val, _values, result)
                      result = @builder.begin(val[0], val[1], val[2])
                    
    result
end

def _reduce_70(val, _values, result)
                      result = @builder.multi_lhs(nil, val[0], nil)
                    
    result
end

def _reduce_71(val, _values, result)
                      result = @builder.multi_lhs(val[0], val[1], val[2])
                    
    result
end

# reduce 72 omitted

def _reduce_73(val, _values, result)
                      result = val[0].
                                  push(val[1])
                    
    result
end

def _reduce_74(val, _values, result)
                      result = val[0].
                                  push(@builder.splat(val[1], val[2]))
                    
    result
end

def _reduce_75(val, _values, result)
                      result = val[0].
                                  push(@builder.splat(val[1], val[2])).
                                  concat(val[4])
                    
    result
end

def _reduce_76(val, _values, result)
                      result = val[0].
                                  push(@builder.splat(val[1]))
                    
    result
end

def _reduce_77(val, _values, result)
                      result = val[0].
                                  push(@builder.splat(val[1])).
                                  concat(val[3])
                    
    result
end

def _reduce_78(val, _values, result)
                      result = [ @builder.splat(val[0], val[1]) ]
                    
    result
end

def _reduce_79(val, _values, result)
                      result = [ @builder.splat(val[0], val[1]),
                                 *val[3] ]
                    
    result
end

def _reduce_80(val, _values, result)
                      result = [ @builder.splat(val[0]) ]
                    
    result
end

def _reduce_81(val, _values, result)
                      result = [ @builder.splat(val[0]),
                                 *val[2] ]
                    
    result
end

# reduce 82 omitted

def _reduce_83(val, _values, result)
                      result = @builder.begin(val[0], val[1], val[2])
                    
    result
end

def _reduce_84(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_85(val, _values, result)
                      result = val[0] << val[1]
                    
    result
end

def _reduce_86(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_87(val, _values, result)
                      result = val[0] << val[2]
                    
    result
end

def _reduce_88(val, _values, result)
                      result = @builder.assignable(val[0])
                    
    result
end

def _reduce_89(val, _values, result)
                      result = @builder.assignable(val[0])
                    
    result
end

def _reduce_90(val, _values, result)
                      result = @builder.index_asgn(val[0], val[1], val[2], val[3])
                    
    result
end

def _reduce_91(val, _values, result)
                      result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
end

def _reduce_92(val, _values, result)
                      result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
end

def _reduce_93(val, _values, result)
                      result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
end

def _reduce_94(val, _values, result)
                      result = @builder.assignable(
                                  @builder.const_fetch(val[0], val[1], val[2]))
                    
    result
end

def _reduce_95(val, _values, result)
                      result = @builder.assignable(
                                  @builder.const_global(val[0], val[1]))
                    
    result
end

def _reduce_96(val, _values, result)
                      result = @builder.assignable(val[0])
                    
    result
end

def _reduce_97(val, _values, result)
                      result = @builder.assignable(val[0])
                    
    result
end

def _reduce_98(val, _values, result)
                      result = @builder.assignable(val[0])
                    
    result
end

def _reduce_99(val, _values, result)
                      result = @builder.index_asgn(val[0], val[1], val[2], val[3])
                    
    result
end

def _reduce_100(val, _values, result)
                      result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
end

def _reduce_101(val, _values, result)
                      result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
end

def _reduce_102(val, _values, result)
                      result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
end

def _reduce_103(val, _values, result)
                      result = @builder.assignable(
                                  @builder.const_fetch(val[0], val[1], val[2]))
                    
    result
end

def _reduce_104(val, _values, result)
                      result = @builder.assignable(
                                  @builder.const_global(val[0], val[1]))
                    
    result
end

def _reduce_105(val, _values, result)
                      result = @builder.assignable(val[0])
                    
    result
end

def _reduce_106(val, _values, result)
                      diagnostic :error, :module_name_const, nil, val[0]
                    
    result
end

# reduce 107 omitted

def _reduce_108(val, _values, result)
                      result = @builder.const_global(val[0], val[1])
                    
    result
end

def _reduce_109(val, _values, result)
                      result = @builder.const(val[0])
                    
    result
end

def _reduce_110(val, _values, result)
                      result = @builder.const_fetch(val[0], val[1], val[2])
                    
    result
end

# reduce 111 omitted

# reduce 112 omitted

# reduce 113 omitted

# reduce 114 omitted

# reduce 115 omitted

def _reduce_116(val, _values, result)
                      result = @builder.symbol(val[0])
                    
    result
end

# reduce 117 omitted

# reduce 118 omitted

# reduce 119 omitted

def _reduce_120(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_121(val, _values, result)
                      @lexer.state = :expr_fname
                    
    result
end

def _reduce_122(val, _values, result)
                      result = val[0] << val[3]
                    
    result
end

# reduce 123 omitted

# reduce 124 omitted

# reduce 125 omitted

# reduce 126 omitted

# reduce 127 omitted

# reduce 128 omitted

# reduce 129 omitted

# reduce 130 omitted

# reduce 131 omitted

# reduce 132 omitted

# reduce 133 omitted

# reduce 134 omitted

# reduce 135 omitted

# reduce 136 omitted

# reduce 137 omitted

# reduce 138 omitted

# reduce 139 omitted

# reduce 140 omitted

# reduce 141 omitted

# reduce 142 omitted

# reduce 143 omitted

# reduce 144 omitted

# reduce 145 omitted

# reduce 146 omitted

# reduce 147 omitted

# reduce 148 omitted

# reduce 149 omitted

# reduce 150 omitted

# reduce 151 omitted

# reduce 152 omitted

# reduce 153 omitted

# reduce 154 omitted

# reduce 155 omitted

# reduce 156 omitted

# reduce 157 omitted

# reduce 158 omitted

# reduce 159 omitted

# reduce 160 omitted

# reduce 161 omitted

# reduce 162 omitted

# reduce 163 omitted

# reduce 164 omitted

# reduce 165 omitted

# reduce 166 omitted

# reduce 167 omitted

# reduce 168 omitted

# reduce 169 omitted

# reduce 170 omitted

# reduce 171 omitted

# reduce 172 omitted

# reduce 173 omitted

# reduce 174 omitted

# reduce 175 omitted

# reduce 176 omitted

# reduce 177 omitted

# reduce 178 omitted

# reduce 179 omitted

# reduce 180 omitted

# reduce 181 omitted

# reduce 182 omitted

# reduce 183 omitted

# reduce 184 omitted

# reduce 185 omitted

# reduce 186 omitted

# reduce 187 omitted

# reduce 188 omitted

# reduce 189 omitted

# reduce 190 omitted

# reduce 191 omitted

# reduce 192 omitted

# reduce 193 omitted

def _reduce_194(val, _values, result)
                      result = @builder.assign(val[0], val[1], val[2])
                    
    result
end

def _reduce_195(val, _values, result)
                      rescue_body = @builder.rescue_body(val[3],
                                        nil, nil, nil,
                                        nil, val[4])

                      rescue_ = @builder.begin_body(val[2], [ rescue_body ])

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

def _reduce_196(val, _values, result)
                      result = @builder.op_assign(val[0], val[1], val[2])
                    
    result
end

def _reduce_197(val, _values, result)
                      rescue_body = @builder.rescue_body(val[3],
                                        nil, nil, nil,
                                        nil, val[4])

                      rescue_ = @builder.begin_body(val[2], [ rescue_body ])

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

def _reduce_198(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.index(
                                    val[0], val[1], val[2], val[3]),
                                  val[4], val[5])
                    
    result
end

def _reduce_199(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])
                    
    result
end

def _reduce_200(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])
                    
    result
end

def _reduce_201(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])
                    
    result
end

def _reduce_202(val, _values, result)
                      const  = @builder.const_op_assignable(
                                  @builder.const_fetch(val[0], val[1], val[2]))
                      result = @builder.op_assign(const, val[3], val[4])
                    
    result
end

def _reduce_203(val, _values, result)
                      const  = @builder.const_op_assignable(
                                  @builder.const_global(val[0], val[1]))
                      result = @builder.op_assign(const, val[2], val[3])
                    
    result
end

def _reduce_204(val, _values, result)
                      result = @builder.op_assign(val[0], val[1], val[2])
                    
    result
end

def _reduce_205(val, _values, result)
                      result = @builder.range_inclusive(val[0], val[1], val[2])
                    
    result
end

def _reduce_206(val, _values, result)
                      result = @builder.range_exclusive(val[0], val[1], val[2])
                    
    result
end

def _reduce_207(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_208(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_209(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_210(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_211(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_212(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_213(val, _values, result)
                      result = @builder.unary_op(val[0],
                                  @builder.binary_op(
                                    val[1], val[2], val[3]))
                    
    result
end

def _reduce_214(val, _values, result)
                      result = @builder.unary_op(val[0], val[1])
                    
    result
end

def _reduce_215(val, _values, result)
                      result = @builder.unary_op(val[0], val[1])
                    
    result
end

def _reduce_216(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_217(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_218(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_219(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_220(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_221(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_222(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_223(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_224(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_225(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_226(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_227(val, _values, result)
                      result = @builder.match_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_228(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_229(val, _values, result)
                      result = @builder.not_op(val[0], nil, val[1], nil)
                    
    result
end

def _reduce_230(val, _values, result)
                      result = @builder.unary_op(val[0], val[1])
                    
    result
end

def _reduce_231(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_232(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_233(val, _values, result)
                      result = @builder.logical_op(:and, val[0], val[1], val[2])
                    
    result
end

def _reduce_234(val, _values, result)
                      result = @builder.logical_op(:or, val[0], val[1], val[2])
                    
    result
end

def _reduce_235(val, _values, result)
                      result = @builder.keyword_cmd(:defined?, val[0], nil, [ val[2] ], nil)
                    
    result
end

def _reduce_236(val, _values, result)
                      result = @builder.ternary(val[0], val[1],
                                                val[2], val[4], val[5])
                    
    result
end

# reduce 237 omitted

# reduce 238 omitted

# reduce 239 omitted

# reduce 240 omitted

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

def _reduce_242(val, _values, result)
                      result = [ @builder.associate(nil, val[0], nil) ]
                    
    result
end

def _reduce_243(val, _values, result)
                      result = val
                    
    result
end

def _reduce_244(val, _values, result)
                      result = [ nil, [], nil ]
                    
    result
end

# reduce 245 omitted

def _reduce_246(val, _values, result)
                      result = []
                    
    result
end

# reduce 247 omitted

# reduce 248 omitted

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

def _reduce_250(val, _values, result)
                      result = [ @builder.associate(nil, val[0], nil) ]
                    
    result
end

def _reduce_251(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_252(val, _values, result)
                      result = val[0].concat(val[1])
                    
    result
end

def _reduce_253(val, _values, result)
                      result = [ @builder.associate(nil, val[0], nil) ]
                      result.concat(val[1])
                    
    result
end

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

def _reduce_255(val, _values, result)
                      result =  [ val[0] ]
                    
    result
end

def _reduce_256(val, _values, result)
                      result = @lexer.cmdarg.dup
                      @lexer.cmdarg.push(true)
                    
    result
end

def _reduce_257(val, _values, result)
                      @lexer.cmdarg = val[0]

                      result = val[1]
                    
    result
end

def _reduce_258(val, _values, result)
                      result = @builder.block_pass(val[0], val[1])
                    
    result
end

def _reduce_259(val, _values, result)
                      result = [ val[1] ]
                    
    result
end

def _reduce_260(val, _values, result)
                      result = []
                    
    result
end

def _reduce_261(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_262(val, _values, result)
                      result = [ @builder.splat(val[0], val[1]) ]
                    
    result
end

def _reduce_263(val, _values, result)
                      result = val[0] << val[2]
                    
    result
end

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

def _reduce_265(val, _values, result)
                      result = @builder.array(nil, val[0], nil)
                    
    result
end

# reduce 266 omitted

def _reduce_267(val, _values, result)
                      result = val[0] << val[2]
                    
    result
end

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

def _reduce_269(val, _values, result)
                      result = [ @builder.splat(val[0], val[1]) ]
                    
    result
end

# reduce 270 omitted

# reduce 271 omitted

# reduce 272 omitted

# reduce 273 omitted

# reduce 274 omitted

# reduce 275 omitted

# reduce 276 omitted

# reduce 277 omitted

# reduce 278 omitted

# reduce 279 omitted

def _reduce_280(val, _values, result)
                      result = @builder.call_method(nil, nil, val[0])
                    
    result
end

def _reduce_281(val, _values, result)
                      result = @lexer.cmdarg.dup
                      @lexer.cmdarg.clear
                    
    result
end

def _reduce_282(val, _values, result)
                      @lexer.cmdarg = val[1]

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

def _reduce_283(val, _values, result)
                      result = @lexer.cmdarg.dup
                      @lexer.cmdarg.clear
                    
    result
end

def _reduce_284(val, _values, result)
                      @lexer.state = :expr_endarg
                    
    result
end

def _reduce_285(val, _values, result)
                      @lexer.cmdarg = val[1]

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

def _reduce_286(val, _values, result)
                      @lexer.state = :expr_endarg
                    
    result
end

def _reduce_287(val, _values, result)
                      result = @builder.begin(val[0], nil, val[3])
                    
    result
end

def _reduce_288(val, _values, result)
                      result = @builder.begin(val[0], val[1], val[2])
                    
    result
end

def _reduce_289(val, _values, result)
                      result = @builder.const_fetch(val[0], val[1], val[2])
                    
    result
end

def _reduce_290(val, _values, result)
                      result = @builder.const_global(val[0], val[1])
                    
    result
end

def _reduce_291(val, _values, result)
                      result = @builder.array(val[0], val[1], val[2])
                    
    result
end

def _reduce_292(val, _values, result)
                      result = @builder.associate(val[0], val[1], val[2])
                    
    result
end

def _reduce_293(val, _values, result)
                      result = @builder.keyword_cmd(:return, val[0])
                    
    result
end

def _reduce_294(val, _values, result)
                      result = @builder.keyword_cmd(:yield, val[0], val[1], val[2], val[3])
                    
    result
end

def _reduce_295(val, _values, result)
                      result = @builder.keyword_cmd(:yield, val[0], val[1], [], val[2])
                    
    result
end

def _reduce_296(val, _values, result)
                      result = @builder.keyword_cmd(:yield, val[0])
                    
    result
end

def _reduce_297(val, _values, result)
                      result = @builder.keyword_cmd(:defined?, val[0],
                                                    val[2], [ val[3] ], val[4])
                    
    result
end

def _reduce_298(val, _values, result)
                      result = @builder.not_op(val[0], val[1], val[2], val[3])
                    
    result
end

def _reduce_299(val, _values, result)
                      result = @builder.not_op(val[0], val[1], nil, val[2])
                    
    result
end

def _reduce_300(val, _values, result)
                      method_call = @builder.call_method(nil, nil, val[0])

                      begin_t, args, body, end_t = val[1]
                      result      = @builder.block(method_call,
                                      begin_t, args, body, end_t)
                    
    result
end

# reduce 301 omitted

def _reduce_302(val, _values, result)
                      begin_t, args, body, end_t = val[1]
                      result      = @builder.block(val[0],
                                      begin_t, args, body, end_t)
                    
    result
end

def _reduce_303(val, _values, result)
                      lambda_call = @builder.call_lambda(val[0])

                      args, (begin_t, body, end_t) = val[1]
                      result      = @builder.block(lambda_call,
                                      begin_t, args, body, end_t)
                    
    result
end

def _reduce_304(val, _values, result)
                      else_t, else_ = val[4]
                      result = @builder.condition(val[0], val[1], val[2],
                                                  val[3], else_t,
                                                  else_,  val[5])
                    
    result
end

def _reduce_305(val, _values, result)
                      else_t, else_ = val[4]
                      result = @builder.condition(val[0], val[1], val[2],
                                                  else_,  else_t,
                                                  val[3], val[5])
                    
    result
end

def _reduce_306(val, _values, result)
                      @lexer.cond.push(true)
                    
    result
end

def _reduce_307(val, _values, result)
                      @lexer.cond.pop
                    
    result
end

def _reduce_308(val, _values, result)
                      result = @builder.loop(:while, val[0], val[2], val[3],
                                             val[5], val[6])
                    
    result
end

def _reduce_309(val, _values, result)
                      @lexer.cond.push(true)
                    
    result
end

def _reduce_310(val, _values, result)
                      @lexer.cond.pop
                    
    result
end

def _reduce_311(val, _values, result)
                      result = @builder.loop(:until, val[0], val[2], val[3],
                                             val[5], val[6])
                    
    result
end

def _reduce_312(val, _values, result)
                      *when_bodies, (else_t, else_body) = *val[3]

                      result = @builder.case(val[0], val[1],
                                             when_bodies, else_t, else_body,
                                             val[4])
                    
    result
end

def _reduce_313(val, _values, result)
                      *when_bodies, (else_t, else_body) = *val[2]

                      result = @builder.case(val[0], nil,
                                             when_bodies, else_t, else_body,
                                             val[3])
                    
    result
end

def _reduce_314(val, _values, result)
                      @lexer.cond.push(true)
                    
    result
end

def _reduce_315(val, _values, result)
                      @lexer.cond.pop
                    
    result
end

def _reduce_316(val, _values, result)
                      result = @builder.for(val[0], val[1],
                                            val[2], val[4],
                                            val[5], val[7], val[8])
                    
    result
end

def _reduce_317(val, _values, result)
                      @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
end

def _reduce_318(val, _values, result)
                      if in_def?
                        diagnostic :error, :class_in_def, nil, val[0]
                      end

                      lt_t, superclass = val[2]
                      result = @builder.def_class(val[0], val[1],
                                                  lt_t, superclass,
                                                  val[4], val[5])

                      @lexer.pop_cmdarg
                      @static_env.unextend
                    
    result
end

def _reduce_319(val, _values, result)
                      result = @def_level
                      @def_level = 0

                      @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
end

def _reduce_320(val, _values, result)
                      result = @builder.def_sclass(val[0], val[1], val[2],
                                                   val[5], val[6])

                      @lexer.pop_cmdarg
                      @static_env.unextend

                      @def_level = val[4]
                    
    result
end

def _reduce_321(val, _values, result)
                      @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
end

def _reduce_322(val, _values, result)
                      if in_def?
                        diagnostic :error, :module_in_def, nil, val[0]
                      end

                      result = @builder.def_module(val[0], val[1],
                                                   val[3], val[4])

                      @lexer.pop_cmdarg
                      @static_env.unextend
                    
    result
end

def _reduce_323(val, _values, result)
                      @def_level += 1
                      @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
end

def _reduce_324(val, _values, result)
                      result = @builder.def_method(val[0], val[1],
                                  val[3], val[4], val[5])

                      @lexer.pop_cmdarg
                      @static_env.unextend
                      @def_level -= 1
                    
    result
end

def _reduce_325(val, _values, result)
                      @lexer.state = :expr_fname
                    
    result
end

def _reduce_326(val, _values, result)
                      @def_level += 1
                      @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
end

def _reduce_327(val, _values, result)
                      result = @builder.def_singleton(val[0], val[1], val[2],
                                  val[4], val[6], val[7], val[8])

                      @lexer.pop_cmdarg
                      @static_env.unextend
                      @def_level -= 1
                    
    result
end

def _reduce_328(val, _values, result)
                      result = @builder.keyword_cmd(:break, val[0])
                    
    result
end

def _reduce_329(val, _values, result)
                      result = @builder.keyword_cmd(:next, val[0])
                    
    result
end

def _reduce_330(val, _values, result)
                      result = @builder.keyword_cmd(:redo, val[0])
                    
    result
end

def _reduce_331(val, _values, result)
                      result = @builder.keyword_cmd(:retry, val[0])
                    
    result
end

# reduce 332 omitted

# reduce 333 omitted

# reduce 334 omitted

def _reduce_335(val, _values, result)
                      result = val[1]
                    
    result
end

# reduce 336 omitted

# reduce 337 omitted

# reduce 338 omitted

def _reduce_339(val, _values, result)
                      else_t, else_ = val[4]
                      result = [ val[0],
                                 @builder.condition(val[0], val[1], val[2],
                                                    val[3], else_t,
                                                    else_,  nil),
                               ]
                    
    result
end

# reduce 340 omitted

def _reduce_341(val, _values, result)
                      result = val
                    
    result
end

# reduce 342 omitted

# reduce 343 omitted

def _reduce_344(val, _values, result)
                      result = @builder.arg(val[0])
                    
    result
end

def _reduce_345(val, _values, result)
                      result = @builder.multi_lhs(val[0], val[1], val[2])
                    
    result
end

def _reduce_346(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_347(val, _values, result)
                      result = val[0] << val[2]
                    
    result
end

# reduce 348 omitted

def _reduce_349(val, _values, result)
                      result = val[0].
                                  push(@builder.restarg(val[2], val[3]))
                    
    result
end

def _reduce_350(val, _values, result)
                      result = val[0].
                                  push(@builder.restarg(val[2], val[3])).
                                  concat(val[5])
                    
    result
end

def _reduce_351(val, _values, result)
                      result = val[0].
                                  push(@builder.restarg(val[2]))
                    
    result
end

def _reduce_352(val, _values, result)
                      result = val[0].
                                  push(@builder.restarg(val[2])).
                                  concat(val[4])
                    
    result
end

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

def _reduce_354(val, _values, result)
                      result = [ @builder.restarg(val[0], val[1]),
                                 *val[3] ]
                    
    result
end

def _reduce_355(val, _values, result)
                      result = [ @builder.restarg(val[0]) ]
                    
    result
end

def _reduce_356(val, _values, result)
                      result = [ @builder.restarg(val[0]),
                                 *val[2] ]
                    
    result
end

def _reduce_357(val, _values, result)
                      result = val[0].concat(val[2]).concat(val[3])
                    
    result
end

def _reduce_358(val, _values, result)
                      result = val[0].concat(val[1])
                    
    result
end

def _reduce_359(val, _values, result)
                      result = val[0].concat(val[1])
                    
    result
end

def _reduce_360(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_361(val, _values, result)
                      result = val[1]
                    
    result
end

def _reduce_362(val, _values, result)
                      result = []
                    
    result
end

def _reduce_363(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
end

def _reduce_364(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[6]).
                                  concat(val[7])
                    
    result
end

def _reduce_365(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
end

def _reduce_366(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
end

def _reduce_367(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
end

# reduce 368 omitted

def _reduce_369(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
end

def _reduce_370(val, _values, result)
                      if val[1].empty? && val[0].size == 1
                        result = [@builder.procarg0(val[0][0])]
                      else
                        result = val[0].concat(val[1])
                      end
                    
    result
end

def _reduce_371(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
end

def _reduce_372(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
end

def _reduce_373(val, _values, result)
                      result = val[0].
                                  concat(val[1])
                    
    result
end

def _reduce_374(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
end

def _reduce_375(val, _values, result)
                      result = val[0].
                                  concat(val[1])
                    
    result
end

def _reduce_376(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
end

# reduce 377 omitted

def _reduce_378(val, _values, result)
                      result = @builder.args(nil, [], nil)
                    
    result
end

def _reduce_379(val, _values, result)
                      @lexer.state = :expr_value
                    
    result
end

def _reduce_380(val, _values, result)
                      result = @builder.args(val[0], val[1], val[2])
                    
    result
end

def _reduce_381(val, _values, result)
                      result = @builder.args(val[0], [], val[0])
                    
    result
end

def _reduce_382(val, _values, result)
                      result = @builder.args(val[0], val[1].concat(val[2]), val[3])
                    
    result
end

def _reduce_383(val, _values, result)
                      result = []
                    
    result
end

def _reduce_384(val, _values, result)
                      result = val[2]
                    
    result
end

def _reduce_385(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_386(val, _values, result)
                      result = val[0] << val[2]
                    
    result
end

def _reduce_387(val, _values, result)
                      @static_env.declare val[0][0]
                      result = @builder.shadowarg(val[0])
                    
    result
end

# reduce 388 omitted

def _reduce_389(val, _values, result)
                      @static_env.extend_dynamic
                    
    result
end

def _reduce_390(val, _values, result)
                      result = @lexer.cmdarg.dup
                      @lexer.cmdarg.clear
                    
    result
end

def _reduce_391(val, _values, result)
                      @lexer.cmdarg = val[2]
                      @lexer.cmdarg.lexpop

                      result = [ val[1], val[3] ]

                      @static_env.unextend
                    
    result
end

def _reduce_392(val, _values, result)
                      result = @builder.args(val[0], val[1].concat(val[2]), val[3])
                    
    result
end

def _reduce_393(val, _values, result)
                      result = @builder.args(nil, val[0], nil)
                    
    result
end

def _reduce_394(val, _values, result)
                      result = [ val[0], val[1], val[2] ]
                    
    result
end

def _reduce_395(val, _values, result)
                      result = [ val[0], val[1], val[2] ]
                    
    result
end

def _reduce_396(val, _values, result)
                      @static_env.extend_dynamic
                    
    result
end

def _reduce_397(val, _values, result)
                      result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                    
    result
end

def _reduce_398(val, _values, result)
                      begin_t, block_args, body, end_t = val[1]
                      result      = @builder.block(val[0],
                                      begin_t, block_args, body, end_t)
                    
    result
end

def _reduce_399(val, _values, result)
                      lparen_t, args, rparen_t = val[3]
                      result = @builder.call_method(val[0], val[1], val[2],
                                  lparen_t, args, rparen_t)
                    
    result
end

def _reduce_400(val, _values, result)
                      lparen_t, args, rparen_t = val[3]
                      method_call = @builder.call_method(val[0], val[1], val[2],
                                      lparen_t, args, rparen_t)

                      begin_t, args, body, end_t = val[4]
                      result      = @builder.block(method_call,
                                      begin_t, args, body, end_t)
                    
    result
end

def _reduce_401(val, _values, result)
                      method_call = @builder.call_method(val[0], val[1], val[2],
                                      nil, val[3], nil)

                      begin_t, args, body, end_t = val[4]
                      result      = @builder.block(method_call,
                                      begin_t, args, body, end_t)
                    
    result
end

def _reduce_402(val, _values, result)
                      lparen_t, args, rparen_t = val[1]
                      result = @builder.call_method(nil, nil, val[0],
                                  lparen_t, args, rparen_t)
                    
    result
end

def _reduce_403(val, _values, result)
                      lparen_t, args, rparen_t = val[3]
                      result = @builder.call_method(val[0], val[1], val[2],
                                  lparen_t, args, rparen_t)
                    
    result
end

def _reduce_404(val, _values, result)
                      lparen_t, args, rparen_t = val[3]
                      result = @builder.call_method(val[0], val[1], val[2],
                                  lparen_t, args, rparen_t)
                    
    result
end

def _reduce_405(val, _values, result)
                      result = @builder.call_method(val[0], val[1], val[2])
                    
    result
end

def _reduce_406(val, _values, result)
                      lparen_t, args, rparen_t = val[2]
                      result = @builder.call_method(val[0], val[1], nil,
                                  lparen_t, args, rparen_t)
                    
    result
end

def _reduce_407(val, _values, result)
                      lparen_t, args, rparen_t = val[2]
                      result = @builder.call_method(val[0], val[1], nil,
                                  lparen_t, args, rparen_t)
                    
    result
end

def _reduce_408(val, _values, result)
                      lparen_t, args, rparen_t = val[1]
                      result = @builder.keyword_cmd(:super, val[0],
                                  lparen_t, args, rparen_t)
                    
    result
end

def _reduce_409(val, _values, result)
                      result = @builder.keyword_cmd(:zsuper, val[0])
                    
    result
end

def _reduce_410(val, _values, result)
                      result = @builder.index(val[0], val[1], val[2], val[3])
                    
    result
end

def _reduce_411(val, _values, result)
                      @static_env.extend_dynamic
                    
    result
end

def _reduce_412(val, _values, result)
                      result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                    
    result
end

def _reduce_413(val, _values, result)
                      @static_env.extend_dynamic
                    
    result
end

def _reduce_414(val, _values, result)
                      result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                    
    result
end

def _reduce_415(val, _values, result)
                      result = [ @builder.when(val[0], val[1], val[2], val[3]),
                                 *val[4] ]
                    
    result
end

def _reduce_416(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

# reduce 417 omitted

def _reduce_418(val, _values, result)
                      assoc_t, exc_var = val[2]

                      if val[1]
                        exc_list = @builder.array(nil, val[1], nil)
                      end

                      result = [ @builder.rescue_body(val[0],
                                      exc_list, assoc_t, exc_var,
                                      val[3], val[4]),
                                 *val[5] ]
                    
    result
end

def _reduce_419(val, _values, result)
                      result = []
                    
    result
end

def _reduce_420(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

# reduce 421 omitted

# reduce 422 omitted

def _reduce_423(val, _values, result)
                      result = [ val[0], val[1] ]
                    
    result
end

# reduce 424 omitted

def _reduce_425(val, _values, result)
                      result = [ val[0], val[1] ]
                    
    result
end

# reduce 426 omitted

# reduce 427 omitted

# reduce 428 omitted

# reduce 429 omitted

def _reduce_430(val, _values, result)
                      result = @builder.string_compose(nil, val[0], nil)
                    
    result
end

def _reduce_431(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_432(val, _values, result)
                      result = val[0] << val[1]
                    
    result
end

def _reduce_433(val, _values, result)
                      result = @builder.string_compose(val[0], val[1], val[2])
                    
    result
end

def _reduce_434(val, _values, result)
                      result = @builder.string(val[0])
                    
    result
end

def _reduce_435(val, _values, result)
                      result = @builder.character(val[0])
                    
    result
end

def _reduce_436(val, _values, result)
                      result = @builder.xstring_compose(val[0], val[1], val[2])
                    
    result
end

def _reduce_437(val, _values, result)
                      opts   = @builder.regexp_options(val[3])
                      result = @builder.regexp_compose(val[0], val[1], val[2], opts)
                    
    result
end

def _reduce_438(val, _values, result)
                      result = @builder.words_compose(val[0], val[1], val[2])
                    
    result
end

def _reduce_439(val, _values, result)
                      result = []
                    
    result
end

def _reduce_440(val, _values, result)
                      result = val[0] << @builder.word(val[1])
                    
    result
end

def _reduce_441(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_442(val, _values, result)
                      result = val[0] << val[1]
                    
    result
end

def _reduce_443(val, _values, result)
                      result = @builder.symbols_compose(val[0], val[1], val[2])
                    
    result
end

def _reduce_444(val, _values, result)
                      result = []
                    
    result
end

def _reduce_445(val, _values, result)
                      result = val[0] << @builder.word(val[1])
                    
    result
end

def _reduce_446(val, _values, result)
                      result = @builder.words_compose(val[0], val[1], val[2])
                    
    result
end

def _reduce_447(val, _values, result)
                      result = @builder.symbols_compose(val[0], val[1], val[2])
                    
    result
end

def _reduce_448(val, _values, result)
                      result = []
                    
    result
end

def _reduce_449(val, _values, result)
                      result = val[0] << @builder.string_internal(val[1])
                    
    result
end

def _reduce_450(val, _values, result)
                      result = []
                    
    result
end

def _reduce_451(val, _values, result)
                      result = val[0] << @builder.symbol_internal(val[1])
                    
    result
end

def _reduce_452(val, _values, result)
                      result = []
                    
    result
end

def _reduce_453(val, _values, result)
                      result = val[0] << val[1]
                    
    result
end

def _reduce_454(val, _values, result)
                      result = []
                    
    result
end

def _reduce_455(val, _values, result)
                      result = val[0] << val[1]
                    
    result
end

def _reduce_456(val, _values, result)
                      result = []
                    
    result
end

def _reduce_457(val, _values, result)
                      result = val[0] << val[1]
                    
    result
end

def _reduce_458(val, _values, result)
                      result = @builder.string_internal(val[0])
                    
    result
end

def _reduce_459(val, _values, result)
                      result = val[1]
                    
    result
end

def _reduce_460(val, _values, result)
                      @lexer.cond.push(false)
                      @lexer.cmdarg.push(false)
                    
    result
end

def _reduce_461(val, _values, result)
                      @lexer.cond.lexpop
                      @lexer.cmdarg.lexpop

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

def _reduce_462(val, _values, result)
                      result = @builder.gvar(val[0])
                    
    result
end

def _reduce_463(val, _values, result)
                      result = @builder.ivar(val[0])
                    
    result
end

def _reduce_464(val, _values, result)
                      result = @builder.cvar(val[0])
                    
    result
end

# reduce 465 omitted

def _reduce_466(val, _values, result)
                      result = @builder.symbol(val[0])
                    
    result
end

def _reduce_467(val, _values, result)
                      result = @builder.symbol_compose(val[0], val[1], val[2])
                    
    result
end

def _reduce_468(val, _values, result)
                      result = val[0]
                    
    result
end

def _reduce_469(val, _values, result)
                      if @builder.respond_to? :negate
                        # AST builder interface compatibility
                        result = @builder.negate(val[0], val[1])
                      else
                        result = @builder.unary_num(val[0], val[1])
                      end
                    
    result
end

def _reduce_470(val, _values, result)
                      result = @builder.integer(val[0])
                    
    result
end

def _reduce_471(val, _values, result)
                      result = @builder.float(val[0])
                    
    result
end

def _reduce_472(val, _values, result)
                      result = @builder.rational(val[0])
                    
    result
end

def _reduce_473(val, _values, result)
                      result = @builder.complex(val[0])
                    
    result
end

def _reduce_474(val, _values, result)
                      result = @builder.ident(val[0])
                    
    result
end

def _reduce_475(val, _values, result)
                      result = @builder.ivar(val[0])
                    
    result
end

def _reduce_476(val, _values, result)
                      result = @builder.gvar(val[0])
                    
    result
end

def _reduce_477(val, _values, result)
                      result = @builder.const(val[0])
                    
    result
end

def _reduce_478(val, _values, result)
                      result = @builder.cvar(val[0])
                    
    result
end

def _reduce_479(val, _values, result)
                      result = @builder.nil(val[0])
                    
    result
end

def _reduce_480(val, _values, result)
                      result = @builder.self(val[0])
                    
    result
end

def _reduce_481(val, _values, result)
                      result = @builder.true(val[0])
                    
    result
end

def _reduce_482(val, _values, result)
                      result = @builder.false(val[0])
                    
    result
end

def _reduce_483(val, _values, result)
                      result = @builder.__FILE__(val[0])
                    
    result
end

def _reduce_484(val, _values, result)
                      result = @builder.__LINE__(val[0])
                    
    result
end

def _reduce_485(val, _values, result)
                      result = @builder.__ENCODING__(val[0])
                    
    result
end

def _reduce_486(val, _values, result)
                      result = @builder.accessible(val[0])
                    
    result
end

def _reduce_487(val, _values, result)
                      result = @builder.accessible(val[0])
                    
    result
end

def _reduce_488(val, _values, result)
                      result = @builder.assignable(val[0])
                    
    result
end

def _reduce_489(val, _values, result)
                      result = @builder.assignable(val[0])
                    
    result
end

def _reduce_490(val, _values, result)
                      result = @builder.nth_ref(val[0])
                    
    result
end

def _reduce_491(val, _values, result)
                      result = @builder.back_ref(val[0])
                    
    result
end

def _reduce_492(val, _values, result)
                      result = nil
                    
    result
end

def _reduce_493(val, _values, result)
                      @lexer.state = :expr_value
                    
    result
end

def _reduce_494(val, _values, result)
                      result = [ val[0], val[2] ]
                    
    result
end

def _reduce_495(val, _values, result)
                      yyerrok
                      result = nil
                    
    result
end

def _reduce_496(val, _values, result)
                      result = @builder.args(val[0], val[1], val[2])

                      @lexer.state = :expr_value
                    
    result
end

def _reduce_497(val, _values, result)
                      result = @lexer.in_kwarg
                      @lexer.in_kwarg = true
                    
    result
end

def _reduce_498(val, _values, result)
                      @lexer.in_kwarg = val[0]
                      result = @builder.args(nil, val[1], nil)
                    
    result
end

def _reduce_499(val, _values, result)
                      result = val[0].concat(val[2]).concat(val[3])
                    
    result
end

def _reduce_500(val, _values, result)
                      result = val[0].concat(val[1])
                    
    result
end

def _reduce_501(val, _values, result)
                      result = val[0].concat(val[1])
                    
    result
end

def _reduce_502(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_503(val, _values, result)
                      result = val[1]
                    
    result
end

def _reduce_504(val, _values, result)
                      result = []
                    
    result
end

def _reduce_505(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
end

def _reduce_506(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[6]).
                                  concat(val[7])
                    
    result
end

def _reduce_507(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
end

def _reduce_508(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
end

def _reduce_509(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
end

def _reduce_510(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
end

def _reduce_511(val, _values, result)
                      result = val[0].
                                  concat(val[1])
                    
    result
end

def _reduce_512(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
end

def _reduce_513(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
end

def _reduce_514(val, _values, result)
                      result = val[0].
                                  concat(val[1])
                    
    result
end

def _reduce_515(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
end

def _reduce_516(val, _values, result)
                      result = val[0].
                                  concat(val[1])
                    
    result
end

def _reduce_517(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
end

def _reduce_518(val, _values, result)
                      result = val[0]
                    
    result
end

def _reduce_519(val, _values, result)
                      result = []
                    
    result
end

def _reduce_520(val, _values, result)
                      diagnostic :error, :argument_const, nil, val[0]
                    
    result
end

def _reduce_521(val, _values, result)
                      diagnostic :error, :argument_ivar, nil, val[0]
                    
    result
end

def _reduce_522(val, _values, result)
                      diagnostic :error, :argument_gvar, nil, val[0]
                    
    result
end

def _reduce_523(val, _values, result)
                      diagnostic :error, :argument_cvar, nil, val[0]
                    
    result
end

# reduce 524 omitted

def _reduce_525(val, _values, result)
                      @static_env.declare val[0][0]

                      result = val[0]
                    
    result
end

def _reduce_526(val, _values, result)
                      result = @builder.arg(val[0])
                    
    result
end

def _reduce_527(val, _values, result)
                      result = @builder.multi_lhs(val[0], val[1], val[2])
                    
    result
end

def _reduce_528(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_529(val, _values, result)
                      result = val[0] << val[2]
                    
    result
end

def _reduce_530(val, _values, result)
                      check_kwarg_name(val[0])

                      @static_env.declare val[0][0]

                      result = val[0]
                    
    result
end

def _reduce_531(val, _values, result)
                      result = @builder.kwoptarg(val[0], val[1])
                    
    result
end

def _reduce_532(val, _values, result)
                      result = @builder.kwarg(val[0])
                    
    result
end

def _reduce_533(val, _values, result)
                      result = @builder.kwoptarg(val[0], val[1])
                    
    result
end

def _reduce_534(val, _values, result)
                      result = @builder.kwarg(val[0])
                    
    result
end

def _reduce_535(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_536(val, _values, result)
                      result = val[0] << val[2]
                    
    result
end

def _reduce_537(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_538(val, _values, result)
                      result = val[0] << val[2]
                    
    result
end

# reduce 539 omitted

# reduce 540 omitted

def _reduce_541(val, _values, result)
                      @static_env.declare val[1][0]

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

def _reduce_542(val, _values, result)
                      result = [ @builder.kwrestarg(val[0]) ]
                    
    result
end

def _reduce_543(val, _values, result)
                      result = @builder.optarg(val[0], val[1], val[2])
                    
    result
end

def _reduce_544(val, _values, result)
                      result = @builder.optarg(val[0], val[1], val[2])
                    
    result
end

def _reduce_545(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_546(val, _values, result)
                      result = val[0] << val[2]
                    
    result
end

def _reduce_547(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_548(val, _values, result)
                      result = val[0] << val[2]
                    
    result
end

# reduce 549 omitted

# reduce 550 omitted

def _reduce_551(val, _values, result)
                      @static_env.declare val[1][0]

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

def _reduce_552(val, _values, result)
                      result = [ @builder.restarg(val[0]) ]
                    
    result
end

# reduce 553 omitted

# reduce 554 omitted

def _reduce_555(val, _values, result)
                      @static_env.declare val[1][0]

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

def _reduce_556(val, _values, result)
                      result = [ val[1] ]
                    
    result
end

def _reduce_557(val, _values, result)
                      result = []
                    
    result
end

# reduce 558 omitted

def _reduce_559(val, _values, result)
                      result = val[1]
                    
    result
end

def _reduce_560(val, _values, result)
                      result = []
                    
    result
end

# reduce 561 omitted

def _reduce_562(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_563(val, _values, result)
                      result = val[0] << val[2]
                    
    result
end

def _reduce_564(val, _values, result)
                      result = @builder.pair(val[0], val[1], val[2])
                    
    result
end

def _reduce_565(val, _values, result)
                      result = @builder.pair_keyword(val[0], val[1])
                    
    result
end

def _reduce_566(val, _values, result)
                      result = @builder.kwsplat(val[0], val[1])
                    
    result
end

# 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

# reduce 582 omitted

def _reduce_583(val, _values, result)
                      result = val[1]
                    
    result
end

def _reduce_584(val, _values, result)
                      result = val[1]
                    
    result
end

# reduce 585 omitted

# reduce 586 omitted

# reduce 587 omitted

def _reduce_588(val, _values, result)
                    yyerrok
                  
    result
end

# reduce 589 omitted

# reduce 590 omitted

# reduce 591 omitted

def _reduce_592(val, _values, result)
                    result = nil
                  
    result
end

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

  end   # class Ruby21
  end   # module Parser
