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

require 'racc/parser.rb'


require 'parser'

module Parser
  class Ruby24 < Parser::Base


  def version
    24
  end

  def default_encoding
    Encoding::UTF_8
  end

  def local_push
    @static_env.extend_static
    @lexer.cmdarg.push(false)
    @lexer.cond.push(false)
  end

  def local_pop
    @static_env.unextend
    @lexer.cmdarg.pop
    @lexer.cond.pop
  end
##### State transition tables begin ###

clist = [
'-485,999,272,211,212,211,212,-485,-485,-485,111,545,-485,-485,-485,587',
'-485,774,-102,585,221,774,211,212,-485,399,-485,-485,-485,115,401,400',
'818,787,114,-107,-485,-485,-104,-485,-485,-485,-485,-485,545,-103,-105',
'545,-100,-100,-103,-102,773,-85,-101,115,773,115,272,123,114,222,114',
'-71,870,-106,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485',
'-485,-485,-485,208,586,-485,-485,-485,584,-485,-485,-104,271,-485,-99',
'-105,-485,-485,-101,-485,222,-485,222,-485,209,-485,-485,-107,-485,-485',
'-485,-485,-485,545,-485,-290,-485,545,-582,222,-106,-99,-290,-290,-290',
'-582,-583,-290,-290,-290,-485,-290,115,-485,-485,-485,-485,114,-485',
'-102,-485,-290,-290,-290,-102,-485,-485,-98,271,210,701,-290,-290,523',
'-290,-290,-290,-290,-290,-104,-583,-91,-94,-93,-104,115,-103,-105,115',
'-100,114,-103,-105,114,-100,-101,869,-97,701,701,-101,-290,-290,-290',
'-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,211,212,-290',
'-290,-290,-95,763,-290,-90,-96,-290,572,-92,-290,-290,-106,-290,272',
'-290,115,-290,213,-290,-290,114,-290,-290,-290,-290,-290,-107,-290,272',
'-290,219,-107,115,115,261,823,115,114,114,-106,-99,114,572,-290,-106',
'-99,-290,-290,-290,-290,320,-290,-499,-290,-586,115,-500,321,-290,-105',
'114,-586,-586,-586,93,94,-586,-586,-586,-94,-586,574,573,588,211,212',
'787,267,551,-586,-586,-586,-586,115,115,694,693,-107,114,114,-586,-586',
'267,-586,-586,-586,-586,-586,93,94,271,760,222,-95,-92,-93,574,573,678',
'-99,675,674,673,-100,676,271,734,523,211,212,-586,-586,-586,-586,-586',
'-586,-586,-586,-586,-586,-586,-586,-586,-586,-582,-94,-586,-586,-586',
'389,762,-586,95,96,-586,761,606,-586,-586,557,-586,402,-586,558,-586',
'451,-586,-586,-102,-586,-586,-586,-586,-586,-97,-586,-586,-586,115,-95',
'-92,-93,572,114,-106,-94,95,96,-94,818,787,-586,452,572,-586,-586,-586',
'-586,-94,-586,888,-586,-488,-95,747,842,-586,-103,605,-488,-488,-488',
'-104,-104,-488,-488,-488,453,-488,-95,-92,-93,-95,-92,-93,606,-488,454',
'-488,-488,-488,221,-95,-92,-93,485,494,605,-488,-488,496,-488,-488,-488',
'-488,-488,574,573,678,-107,675,674,673,217,676,-93,732,574,573,577,265',
'-101,-101,535,498,-102,537,747,-488,-488,-488,-488,-488,-488,-488,-488',
'-488,-488,-488,-488,-488,-488,-104,506,-488,-488,-488,535,-488,-488',
'537,-70,-488,572,-102,-488,-488,572,-488,219,-488,572,-488,-500,-488',
'-488,572,-488,-488,-488,-488,-488,-290,-488,-92,-488,222,509,218,-290',
'-290,-290,510,517,-101,-290,-290,276,-290,-488,986,222,-488,-488,-488',
'-488,217,-488,535,-488,-579,534,267,265,-488,-488,-98,520,-290,-290',
'-91,-290,-290,-290,-290,-290,-107,574,573,570,-100,574,573,570,524,574',
'573,575,572,-499,574,573,579,535,638,242,537,222,-290,-290,-290,-290',
'-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-485,538,-290,-290',
'-290,222,610,-485,1003,218,-290,539,-579,-290,498,551,-485,391,-290',
'555,-290,556,-290,-290,-90,-290,-290,-290,-290,-290,-290,-290,564,-290',
'-99,-579,589,-290,-290,-290,574,573,583,-290,-290,592,-290,-290,242',
'-263,-290,-290,81,-96,-492,-290,594,595,-580,599,222,-492,-290,-105',
'82,-485,-290,-290,603,-290,-290,-290,-290,-290,83,217,604,267,615,217',
'239,-491,526,-490,241,240,216,-493,-491,242,-490,450,242,242,-493,214',
'-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290',
'-488,217,-290,-290,-290,242,610,-488,972,-492,-290,222,-580,-290,-496',
'222,-488,562,-290,222,-290,-496,-290,-290,-85,-290,-290,-290,-290,-290',
'218,-290,-586,-290,218,-580,-491,642,-490,-586,-586,-586,-493,222,528',
'-586,-586,-290,-586,653,-290,-290,658,-290,217,-290,659,-586,222,242',
'661,977,-290,-105,697,-488,218,551,-586,-586,975,-586,-586,-586,-586',
'-586,704,217,721,-496,731,-291,-494,-495,449,-488,735,-485,-291,-494',
'-495,239,-488,450,-485,241,240,-291,-586,-586,-586,-586,-586,-586,-586',
'-586,-586,-586,-586,-586,-586,-586,736,-264,-586,-586,-586,-334,611',
'218,748,485,-586,485,-334,-586,222,-586,765,766,-586,261,-586,-334,-586',
'-586,771,-586,-586,-586,-586,-586,218,-586,-586,-586,-291,-494,-495',
'776,-488,496,-485,217,-290,498,780,653,222,-586,598,-290,-586,-586,-586',
'-586,-583,-586,267,596,-290,-586,-586,-586,-586,-103,267,-586,-586,-586',
'-586,969,-334,675,674,673,-586,676,653,-586,678,-582,675,674,673,-586',
'676,242,787,795,-586,-586,798,-586,-586,-586,-586,-586,799,-290,801',
'803,805,813,-586,814,-290,815,218,-290,969,-583,675,674,673,-290,676',
'807,787,822,-586,-586,-586,-586,-586,-586,-586,-586,-586,-586,-586,-586',
'-586,-586,-586,222,-586,-586,-586,-497,611,222,-498,831,-586,-265,-497',
'-586,222,-498,841,845,-586,653,-586,-497,-586,-586,-498,-586,-586,-586',
'-586,-586,-290,-586,-586,-586,678,862,675,674,673,683,676,217,118,119',
'120,121,122,-586,516,686,-586,-586,-415,-94,-263,-586,866,514,222,-415',
'-415,-415,-586,-103,-415,-415,-415,886,-415,222,-497,681,890,-498,892',
'242,898,-415,-415,-415,691,690,694,693,901,222,905,687,-415,-415,-266',
'-415,-415,-415,-415,-415,678,907,675,674,673,-281,676,798,910,912,218',
'239,-281,914,916,241,240,222,237,238,222,-281,-415,-415,-415,-415,-415',
'-415,-415,-415,-415,-415,-415,-415,-415,-415,918,807,-415,-415,-415',
'217,919,-415,-291,267,-415,932,972,-415,-415,-291,-415,798,-415,934',
'-415,562,-415,-415,-291,-415,-415,-415,-415,-415,936,-415,-415,-415',
'-281,242,683,938,217,683,940,217,940,222,946,560,686,-415,554,686,-415',
'-415,-246,-415,562,-415,949,552,950,-246,-246,-246,-415,955,-246,-246',
'-246,239,-246,721,218,241,240,-291,237,238,966,-246,-246,694,693,973',
'694,693,687,978,988,687,-246,-246,798,-246,-246,-246,-246,-246,678,993',
'675,674,673,995,676,218,726,727,218,997,728,109,110,999,999,678,658',
'675,674,673,683,676,118,119,120,121,122,1012,1013,1014,686,-246,940',
'-246,940,807,940,1019,-246,988,-246,-246,-246,267,-246,-246,-246,-246',
'1022,-246,1023,678,681,675,674,673,-583,676,-246,-246,-246,691,690,694',
'693,-582,-246,-246,687,-246,-246,222,-246,-246,-246,-246,-246,988,1032',
'999,999,-246,999,940,-246,988,,,807,-246,118,119,120,121,122,,-246,810',
',-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246',
',,-246,-246,-246,,,-246,,267,-246,,,-246,-246,,-246,,-246,,-246,,-246',
'-246,,-246,-246,-246,-246,-246,-282,-246,-246,-246,,,,-282,-282,-282',
',,-282,-282,-282,,-282,-246,,,-246,-246,,-246,,-246,-282,-282,-282,',
',,-246,,,,-282,-282,,-282,-282,-282,-282,-282,678,,675,674,673,678,676',
'675,674,673,678,676,675,674,673,,676,118,119,120,121,122,-282,-282,-282',
'-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,,807,-282,-282',
'-282,,807,-282,,,-282,807,,-282,-282,945,-282,,-282,,-282,,-282,-282',
',-282,-282,-282,-282,-282,,-282,,-282,678,,675,674,673,,676,,,,,,,-282',
',,-282,-282,-282,-282,,-282,-587,-282,,,,,-282,-587,-587,-587,,,-587',
'-587,-587,807,-587,242,,,,,,,810,-587,-587,-587,-587,,,,,256,257,,-587',
'-587,,-587,-587,-587,-587,-587,,,,,,239,,245,,241,240,,237,238,,,243',
',244,,,,-587,-587,-587,-587,-587,-587,-587,-587,-587,-587,-587,-587',
'-587,-587,,,-587,-587,-587,,,-587,,,-587,,,-587,-587,,-587,,-587,,-587',
',-587,-587,,-587,-587,-587,-587,-587,,-587,-587,-587,,,,,,,,,,,,,,-587',
',,-587,-587,-587,-587,,-587,-588,-587,,,,,-587,-588,-588,-588,,,-588',
'-588,-588,242,-588,,,,,,,,,-588,-588,-588,-588,,,256,257,,,,-588,-588',
',-588,-588,-588,-588,-588,,,,239,,245,,241,240,,237,238,,,243,,244,',
',,,,-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,-297,-588,,,,,-588,-297,-297,-297,,,-297,-297,-297',
'242,-297,,,,,,,,,,-297,-297,,,,256,257,,,,-297,-297,,-297,-297,-297',
'-297,-297,,,,239,,245,,241,240,,237,238,,,243,,244,,,,,,-297,-297,-297',
'-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,,,-297,-297,-297',
',,-297,,276,-297,,,-297,-297,,-297,,-297,,-297,,-297,-297,,-297,-297',
'-297,-297,-297,,-297,,-297,,,,,,,,,,,,,,-297,,,-297,-297,,-297,,-297',
'294,74,75,71,9,57,-297,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
'27,103,102,104,105,,,19,,,,,600,8,45,296,10,107,106,108,97,56,99,98',
'100,,101,109,110,,93,94,42,43,41,242,246,251,252,253,248,250,258,259',
'254,255,,235,236,,,256,257,,40,,,33,,,58,59,,,60,,35,239,,245,44,241',
'240,,237,238,249,247,243,20,244,,,,91,81,84,85,,86,88,87,89,,,,,82,90',
',260,,-238,,,62,,83,95,96,294,74,75,71,9,57,,,,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,103,102,104,105,,,19,,,,,600,8,45,296,10,107',
'106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,242,246,251,252',
'253,248,250,258,259,254,255,,235,236,,,256,257,,40,,,33,,,58,59,,,60',
',35,239,,245,44,241,240,,237,238,249,247,243,20,244,,,,91,81,84,85,',
'86,88,87,89,,,,,82,90,,260,,,,,62,,83,95,96,294,74,75,71,9,57,,,,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,103,102,104,105,,,19,,',
',,,8,45,296,10,107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43',
'41,242,246,251,252,253,248,250,258,259,254,255,,235,236,,,256,257,,40',
',,33,,,58,59,,,60,,35,239,,245,44,241,240,,237,238,249,247,243,20,244',
',,,91,81,84,85,,86,88,87,89,,,,,82,90,222,260,,,,,62,,83,95,96,294,74',
'75,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,103,102',
'104,105,,,19,,,,,,8,45,296,10,107,106,108,97,56,99,98,100,,101,109,110',
',93,94,42,43,41,242,246,251,252,253,248,250,258,259,254,255,,235,236',
',,256,257,,40,,,33,,,58,59,,,60,,35,239,,245,44,241,240,,237,238,249',
'247,243,20,244,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,260,,,,,62,,83',
'95,96,294,74,75,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,103,102,104,105,,,19,,,,,,8,45,296,10,107,106,108,97,56,99,98',
'100,,101,109,110,,93,94,42,43,41,242,246,251,252,253,248,250,258,259',
'254,255,,235,236,,,256,257,,40,,,33,,,58,59,,,60,,35,239,,245,44,241',
'240,,237,238,249,247,243,20,244,,,,91,81,84,85,,86,88,87,89,,,,,82,90',
',260,,,,,62,,83,95,96,294,74,75,71,9,57,,,,63,64,,,,67,,65,66,68,30',
'31,72,73,,,,,,29,28,27,103,102,104,105,,,19,,,,,,8,45,296,10,107,106',
'108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,242,246,251,252,253',
'248,250,258,259,254,255,,235,236,,,256,257,,40,,,33,,,58,59,,,60,,35',
'239,,245,44,241,240,,237,238,249,247,243,20,244,,,,91,81,84,85,,86,88',
'87,89,,,,,82,90,,260,,,,,62,,83,95,96,294,74,75,71,9,57,,,,63,64,,,',
'67,,65,66,68,30,31,72,73,,,,,,29,28,27,103,102,104,105,,,19,,,,,,8,45',
'296,10,107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,242',
'246,251,252,253,248,250,258,259,254,255,,235,236,,,256,257,,40,,,33',
',,58,59,,,60,,35,239,,245,44,241,240,,237,238,249,247,243,20,244,,,',
'91,81,84,85,,86,88,87,89,,,,,82,90,,260,,,,,62,,83,95,96,294,74,75,71',
'9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,103,102,104',
'105,,,19,,,,,,8,45,296,10,107,106,108,97,56,99,98,100,,101,109,110,',
'93,94,42,43,41,242,246,251,252,253,248,250,258,259,254,255,,235,236',
',,256,257,,40,,,33,,,58,59,,,60,,35,239,,245,44,241,240,,237,238,249',
'247,243,20,244,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,260,,,,,62,,83',
'95,96,294,74,75,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,103,102,104,105,,,19,,,,,,8,45,296,10,107,106,108,97,56,99,98',
'100,,101,109,110,,93,94,42,43,41,242,-607,-607,-607,-607,248,250,,,-607',
'-607,,,,,,256,257,,40,,,33,,,58,59,,,60,,35,239,,245,44,241,240,,237',
'238,249,247,243,20,244,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,,,,62',
',83,95,96,294,74,75,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,',
',,29,28,27,103,102,104,105,,,19,,,,,,8,45,296,10,107,106,108,97,56,99',
'98,100,,101,109,110,,93,94,42,43,41,242,-607,-607,-607,-607,248,250',
',,-607,-607,,,,,,256,257,,40,,,33,,,58,59,,,60,,35,239,,245,44,241,240',
',237,238,249,247,243,20,244,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,',
',,,,62,,83,95,96,294,74,75,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72',
'73,,,,,,29,28,27,103,102,104,105,,,19,,,,,,8,45,296,10,107,106,108,97',
'56,99,98,100,,101,109,110,,93,94,42,43,41,242,246,251,252,253,248,250',
'258,259,254,255,,-607,-607,,,256,257,,40,,,33,,,58,59,,,60,,35,239,',
'245,44,241,240,,237,238,249,247,243,20,244,,,,91,81,84,85,,86,88,87',
'89,,,,,82,90,,,,,,,62,,83,95,96,5,74,75,71,9,57,,,,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,,29,28,27,103,102,104,105,,,19,,,,,,8,45,7,10,107',
'106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,242,-607,-607,-607',
'-607,248,250,,,-607,-607,,,,,,256,257,,40,,,33,,,58,59,,,60,,35,239',
',245,44,241,240,,237,238,249,247,243,20,244,,,,91,81,84,85,,86,88,87',
'89,,,,,82,90,,,,,,,62,,83,95,96,5,74,75,71,9,57,,,,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,,29,28,27,103,102,104,105,,,19,,,,,,8,45,7,10,107',
'106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,242,,,,,,,,,,,',
',,,,256,257,,40,,,33,,,58,59,,,60,,35,239,,245,44,241,240,,237,238,',
',243,20,244,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,,,,62,,83,95,96',
'294,74,75,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'103,102,104,105,,,19,,,,,,8,45,296,10,107,106,108,97,56,99,98,100,,101',
'109,110,,93,94,42,43,41,242,-607,-607,-607,-607,248,250,,,-607,-607',
',,,,,256,257,,40,,,33,,,58,59,,,60,,35,239,,245,44,241,240,,237,238',
'249,247,243,20,244,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,,,,62,,83',
'95,96,294,74,75,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,103,102,104,105,,,19,,,,,,8,45,296,10,107,106,108,97,56,99,98',
'100,,101,109,110,,93,94,42,43,41,242,-607,-607,-607,-607,248,250,,,-607',
'-607,,,,,,256,257,,40,,,33,,,58,59,,,60,,35,239,,245,44,241,240,,237',
'238,249,247,243,20,244,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,,,,62',
',83,95,96,294,74,75,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,',
',,29,28,27,103,102,104,105,,,19,,,,,,8,45,296,10,107,106,108,97,56,99',
'98,100,,101,109,110,,93,94,42,43,41,242,-607,-607,-607,-607,248,250',
',,-607,-607,,,,,,256,257,,40,,,33,,,58,59,,,60,,35,239,,245,44,241,240',
',237,238,249,247,243,20,244,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,',
',,,,62,,83,95,96,294,74,75,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72',
'73,,,,,,29,28,27,103,102,104,105,,,19,,,,,,8,45,296,10,107,106,108,97',
'56,99,98,100,,101,109,110,,93,94,42,43,41,242,246,251,252,253,248,250',
'258,259,254,255,,-607,-607,,,256,257,,40,,,33,,,58,59,,,60,,35,239,',
'245,44,241,240,,237,238,249,247,243,20,244,,,,91,81,84,85,,86,88,87',
'89,,,,,82,90,,,,,,,62,,83,95,96,294,74,75,71,9,57,,,,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,103,102,104,105,,,19,,,,,,8,45,296,10',
'107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,242,246,251',
'252,253,248,250,,,254,255,,,,,,256,257,,40,,,298,,,58,59,,,60,,35,239',
',245,44,241,240,,237,238,249,247,243,20,244,,,,91,81,84,85,,86,88,87',
'89,,,,,82,90,,,,,,,62,,83,95,96,294,74,75,71,9,57,,,,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,103,102,104,105,,,19,,,,,,8,45,296,10',
'107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,242,246,251',
'252,253,248,250,258,,254,255,,,,,,256,257,,40,,,33,,,58,59,,,60,,35',
'239,,245,44,241,240,,237,238,249,247,243,20,244,,,,91,81,84,85,,86,88',
'87,89,,,,,82,90,,,,,,,62,,83,95,96,294,74,75,71,9,57,,,,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,103,102,104,105,,,19,,,,,,8,45,296',
'10,107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,242,,,,',
',,,,,,,,,,,256,257,,40,,,298,,,58,59,,,60,,35,239,,245,44,241,240,,237',
'238,,,,20,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,,,,62,,83,95,96',
'294,74,75,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'103,102,104,105,,,19,,,,,,8,45,296,10,107,106,108,97,56,99,98,100,,101',
'109,110,,93,94,42,43,41,242,,,,,,,,,,,,,,,,256,257,,40,,,33,,,58,59',
',,60,,35,239,,245,44,241,240,,237,238,,,,20,,,,,91,81,84,85,,86,88,87',
'89,,,,,82,90,,,,,,,62,,83,95,96,294,74,75,71,9,57,,,,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,103,102,104,105,,,19,,,,,,8,45,296,10',
'107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,242,,,,,,,',
',,,,,,,,256,257,,40,,,33,,,58,59,,,60,,35,239,,,44,241,240,,237,238',
',,,20,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,,,,62,,83,95,96,294',
'74,75,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,103',
'102,104,105,,,19,,,,,,8,45,296,10,107,106,108,97,56,99,98,100,,101,109',
'110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44',
',,,,,,,,20,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,,,,62,,83,95,96',
'5,74,75,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,103',
'102,104,105,,,19,,,,,,8,45,7,10,107,106,108,97,56,99,98,100,,101,109',
'110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44',
',,,,,,,,20,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,,,,62,,83,95,96',
'294,74,75,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'103,102,104,105,,,19,,,,,,8,45,296,10,107,106,108,97,56,99,98,100,,101',
'109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35',
',,,44,,,,,,,,,20,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,,,,62,,83',
'95,96,294,74,75,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,103,102,104,105,,,19,,,,,,8,45,296,10,107,106,108,97,56,99,98',
'100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59',
',,60,,35,,,,44,,,,,,,,,20,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,',
',,,62,,83,95,96,294,74,75,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72',
'73,,,,,,29,28,27,103,102,104,105,,,19,,,,,,8,45,296,10,107,106,108,97',
'56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,298',
',,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,91,81,84,85,,86,88,87,89,,,,,82',
'90,,,,,,,62,,83,95,96,294,74,75,71,9,57,,,,63,64,,,,67,,65,66,68,30',
'31,72,73,,,,,,29,28,27,103,102,104,105,,,19,,,,,,8,45,296,10,107,106',
'108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,',
'40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,91,81,84,85,,86,88,87',
'89,,,,,82,90,,,,,,,62,,83,95,96,294,74,75,71,9,57,,,,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,103,102,104,105,,,19,,,,,,8,45,296,10',
'107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,',
',,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,91,81,84,85,,86',
'88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68',
'313,314,72,73,,,,,,309,310,316,103,102,104,105,,,234,,,,,,,45,,,107',
'106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,',
',,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88',
'87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,30',
'31,72,73,,,,,,29,28,27,103,102,104,105,,,234,,,,,,,45,,,107,106,108',
'97,56,99,98,100,288,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227',
',,233,,,58,59,,,60,,285,,283,,44,,,289,,,,,,232,,,,,91,286,84,85,,86',
'88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,103,102,104,105,,,234,,,,,,,45,,,107,106,108',
'97,56,99,98,100,288,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227',
',,233,,,58,59,,,60,,285,,283,,44,,,289,,,,,,232,,,,,91,286,84,85,,86',
'88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,103,102,104,105,,,234,,,,,,,45,,,107,106,108',
'97,56,99,98,100,288,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227',
',,233,,,58,59,,,60,,285,,283,,44,,,289,,,,,,232,,,,,91,286,84,85,,86',
'88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68',
'313,314,72,73,,,,,,309,310,316,103,102,104,105,,,234,,,,,,,311,,,107',
'106,108,97,56,99,98,100,,101,109,110,,93,94,,,317,,,,,,,,,,,,,,,,,,',
',307,,,233,,,58,59,,,60,,,678,,675,674,673,683,676,,,,,,,,,686,,91,81',
'84,85,,86,88,87,89,,,,,82,90,,,,512,,681,62,,83,95,96,74,75,71,,57,694',
'693,,63,64,687,,,67,,65,66,68,313,314,72,73,,,,,,309,310,316,103,102',
'104,105,,,234,,,,,,,45,,,107,106,108,97,56,99,98,100,,101,109,110,,93',
'94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,',
',,232,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95',
'96,63,64,,,,67,,65,66,68,313,314,72,73,,,,,,309,310,316,103,102,104',
'105,,,234,,,,,,,311,,,107,106,108,97,56,99,98,100,,101,109,110,,93,94',
',,317,,,,,,,,,,,,,,,,,,,,921,,,233,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,91',
'81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,',
'67,,65,66,68,313,314,72,73,,,,,,309,310,316,103,102,104,105,,,234,,',
',,,,311,,,107,106,108,97,56,99,98,100,,101,109,110,,93,94,,,317,,,,',
',,,,,,,,,,,,,,,927,,,233,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,91,81,84,85',
',86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66',
'68,313,314,72,73,,,,,,309,310,316,103,102,104,105,,,234,,,,,,,45,,,107',
'106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,',
',,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88',
'87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313',
'314,72,73,,,,,,309,310,316,103,102,104,105,,,234,,,,,,,311,,,107,106',
'108,97,56,99,98,100,,101,109,110,,93,94,,,317,,,,,,,,,,,,,,,,,,,,307',
',,303,,,58,59,,,60,,302,,,,,,,,,,,,,,,,,,91,81,84,85,,86,88,87,89,,',
',,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313,314,72',
'73,,,,,,309,310,316,103,102,104,105,,,234,,,,,,,311,,,107,106,108,97',
'56,99,98,100,,101,109,110,,93,94,,,317,,,,,,,,,,,,,,,,,,,,307,,,233',
',,58,59,,,60,,,678,,675,674,673,683,676,,,,,,,,,686,,91,81,84,85,,86',
'88,87,89,,,,,82,90,,,,319,,681,62,,83,95,96,74,75,71,9,57,694,693,,63',
'64,687,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,103,102,104,105,,,19',
',,,,,8,45,7,10,107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43',
'41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,',
'91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64',
',,,67,,65,66,68,313,314,72,73,,,,,,309,310,316,103,102,104,105,,,234',
',,,,,,45,,,107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41',
',,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91',
'81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,',
'67,,65,66,68,313,314,72,73,,,,,,309,310,316,103,102,104,105,,,234,,',
',,,,311,,,107,106,108,97,56,99,98,100,,101,109,110,,93,94,,,317,,,,',
',,,,,,,,,,,,,,,307,,,303,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,91,81,84,85',
',86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66',
'68,313,314,72,73,,,,,,309,310,316,103,102,104,105,,,234,,,,,,,45,,,107',
'106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,',
',,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88',
'87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313',
'314,72,73,,,,,,309,310,316,103,102,104,105,,,234,,,,,,,45,,,107,106',
'108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,',
'227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88,87',
'89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313,314',
'72,73,,,,,,309,310,316,103,102,104,105,,,234,,,,,,,311,,,107,106,108',
'97,56,99,98,100,,101,109,110,,93,94,,,317,,,,,,,,,,,,,,,,,,,,307,,,303',
',,58,59,,,60,,,,,,,,,,,,,,,,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,',
',,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313,314,72,73,,,,,,309',
'310,316,103,102,104,105,,,234,,,,,,,45,,,107,106,108,97,56,99,98,100',
',101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,',
'60,,,,,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74',
'75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313,314,72,73,,,,,,309,310',
'316,103,102,104,105,,,234,,,,,,,45,,,107,106,108,97,56,99,98,100,,101',
'109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,',
',,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71',
'62,57,83,95,96,63,64,,,,67,,65,66,68,313,314,72,73,,,,,,309,310,316',
'103,102,104,105,,,234,,,,,,,45,,,107,106,108,97,56,99,98,100,,101,109',
'110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44',
',,,,,,,,232,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57',
'83,95,96,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,103,102,104',
'105,,,234,,,,,,,45,,,107,106,108,97,56,99,98,100,,101,109,110,,93,94',
'42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232',
',,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63',
'64,,,,67,,65,66,68,313,314,72,73,,,,,,309,310,316,103,102,104,105,,',
'234,,,,,,,45,,,107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43',
'41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,',
',91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64',
',,,67,,65,66,68,313,314,72,73,,,,,,309,310,316,103,102,104,105,,,234',
',,,,,,311,,,107,106,108,97,56,99,98,100,,101,109,110,,93,94,,,317,,',
',,,,,,,,,,,,,,,,,921,,,233,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,91,81,84',
'85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,103,102,104,105,,,234,,,,,,,45,,,107',
'106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,',
',,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88',
'87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,30',
'31,72,73,,,,,,29,28,27,103,102,104,105,,,234,,,,,,,45,,,107,106,108',
'97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227',
',,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88,87,89',
',,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313,314,72',
'73,,,,,,309,310,316,103,102,104,105,,,234,,,,,,,45,,,107,106,108,97',
'56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233',
',,58,59,,,60,,635,,,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88,87,89,,,',
',82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,103,102,104,105,,,234,,,,,,,45,,,107,106,108,97,56,99',
'98,100,288,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233',
',,58,59,,,60,,285,,283,,44,,,289,,,,,,232,,,,,91,286,84,85,,86,88,87',
'89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313,314',
'72,73,,,,,,309,310,316,103,102,104,105,,,234,,,,,,,45,,,107,106,108',
'97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227',
',,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88,87,89',
',,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,30,31,72',
'73,,,,,,29,28,27,103,102,104,105,,,19,,,,,,,45,,,107,106,108,97,56,99',
'98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58',
'59,,,60,,,,,,44,,,,,,,,,20,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,',
',74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313,314,72,73,,,,,,309',
'310,316,103,102,104,105,,,234,,,,,,,45,,,107,106,108,97,56,99,98,100',
',101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,',
'60,,,,,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74',
'75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313,314,72,73,,,,,,309,310',
'316,103,102,104,105,,,234,,,,,,,45,,,107,106,108,97,56,99,98,100,,101',
'109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,',
',,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71',
'62,57,83,95,96,63,64,,,,67,,65,66,68,313,314,72,73,,,,,,309,310,316',
'103,102,104,105,,,234,,,,,,,45,,,107,106,108,97,56,99,98,100,,101,109',
'110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44',
',,,,,,,,232,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57',
'83,95,96,63,64,,,,67,,65,66,68,313,314,72,73,,,,,,309,310,316,103,102',
'104,105,,,234,,,,,,,45,,,107,106,108,97,56,99,98,100,,101,109,110,,93',
'94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,',
',,232,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95',
'96,63,64,,,,67,,65,66,68,313,314,72,73,,,,,,309,310,316,103,102,104',
'105,,,234,,,,,,,45,,,107,106,108,97,56,99,98,100,,101,109,110,,93,94',
'42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232',
',,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63',
'64,,,,67,,65,66,68,313,314,72,73,,,,,,309,310,316,103,102,104,105,,',
'234,,,,,,,45,,,107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43',
'41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,',
',91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,103,102,104,105,,,234,,,,',
',,45,,,107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,',
',,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81',
'84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67',
',65,66,68,313,314,72,73,,,,,,309,310,316,103,102,104,105,,,234,,,,,',
',45,,,107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,',
',,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81,84',
'85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65',
'66,68,313,314,72,73,,,,,,309,310,316,103,102,104,105,,,234,,,,,,,45',
',,107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,',
',,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81,84,85',
',86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66',
'68,313,314,72,73,,,,,,309,310,316,103,102,104,105,,,234,,,,,,,45,,,107',
'106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,',
',,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88',
'87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313',
'314,72,73,,,,,,309,310,316,103,102,104,105,,,234,,,,,,,45,,,107,106',
'108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,',
'227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88,87',
'89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313,314',
'72,73,,,,,,309,310,316,103,102,104,105,,,234,,,,,,,45,,,107,106,108',
'97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227',
',,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88,87,89',
',,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313,314,72',
'73,,,,,,309,310,316,103,102,104,105,,,234,,,,,,,45,,,107,106,108,97',
'56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233',
',,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88,87,89,,,,,82',
'90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313,314,72,73,,',
',,,309,310,316,103,102,104,105,,,234,,,,,,,45,,,107,106,108,97,56,99',
'98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58',
'59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,',
',,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313,314,72,73,,,,,,309',
'310,316,103,102,104,105,,,234,,,,,,,45,,,107,106,108,97,56,99,98,100',
',101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,',
'60,,,,,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74',
'75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313,314,72,73,,,,,,309,310',
'316,103,102,104,105,,,234,,,,,,,45,,,107,106,108,97,56,99,98,100,,101',
'109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,',
',,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71',
'62,57,83,95,96,63,64,,,,67,,65,66,68,313,314,72,73,,,,,,309,310,316',
'103,102,104,105,,,234,,,,,,,45,,,107,106,108,97,56,99,98,100,,101,109',
'110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44',
',,,,,,,,232,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57',
'83,95,96,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,103,102,104',
'105,,,234,,,,,,,45,,,107,106,108,97,56,99,98,100,288,101,109,110,,93',
'94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,285,,283,,44',
',,289,,,,,,232,,,,,91,286,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62',
'57,83,95,96,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,103,102',
'104,105,,,234,,,,,,,45,,,107,106,108,97,56,99,98,100,288,101,109,110',
',93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,285,,283',
',44,,,289,,,,,,232,,,,,91,286,84,85,,86,88,87,89,,,,,82,90,,,,74,75',
'71,62,57,83,95,96,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,103',
'102,104,105,,,234,,,,,,,45,,,107,106,108,97,56,99,98,100,288,101,109',
'110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,285,',
'283,,44,,,289,,,,,,232,,,,,91,286,84,85,,86,88,87,89,,,,,82,90,222,',
',74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313,314,72,73,,,,,,309',
'310,316,103,102,104,105,,,234,,,,,,,45,,,107,106,108,97,56,99,98,100',
',101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,',
'60,,,,,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74',
'75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313,314,72,73,,,,,,309,310',
'316,103,102,104,105,,,234,,,,,,,45,,,107,106,108,97,56,99,98,100,,101',
'109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,',
',,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71',
'62,57,83,95,96,63,64,,,,67,,65,66,68,313,314,72,73,,,,,,309,310,316',
'103,102,104,105,,,234,,,,,,,45,,,107,106,108,97,56,99,98,100,,101,109',
'110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44',
',,,,,,,,232,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57',
'83,95,96,63,64,,,,67,,65,66,68,313,314,72,73,,,,,,309,310,316,103,102',
'104,105,,,234,,,,,,,45,,,107,106,108,97,56,99,98,100,,101,109,110,,93',
'94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,',
',,232,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95',
'96,63,64,,,,67,,65,66,68,313,314,72,73,,,,,,309,310,316,103,102,104',
'105,,,234,,,,,,,45,,,107,106,108,97,56,99,98,100,,101,109,110,,93,94',
'42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232',
',,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63',
'64,,,,67,,65,66,68,313,314,72,73,,,,,,309,310,316,103,102,104,105,,',
'234,,,,,,,45,,,107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43',
'41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,',
',91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64',
',,,67,,65,66,68,313,314,72,73,,,,,,309,310,316,103,102,104,105,,,234',
',,,,,,45,,,107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41',
',,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91',
'81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,',
'67,,65,66,68,313,314,72,73,,,,,,309,310,316,103,102,104,105,,,234,,',
',,,,45,,,107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,',
',,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,407,,,,44,,,,,,,,,232,,,,,91',
'81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,',
'67,,65,66,68,313,314,72,73,,,,,,309,310,316,103,102,104,105,,,234,,',
',,,,45,,,107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,',
',,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81',
'84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67',
',65,66,68,313,314,72,73,,,,,,309,310,316,103,102,104,105,,,234,,,,,',
',45,,,107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,',
',,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81,84',
'85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,103,102,104,105,,,19,,,,,,,45,,,107',
'106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,',
',,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,91,81,84,85,,86,88',
'87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313',
'314,72,73,,,,,,309,310,316,103,102,104,105,,,234,,,,,,,45,,,107,106',
'108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,',
'227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88,87',
'89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313,314',
'72,73,,,,,,309,310,316,103,102,104,105,,,234,,,,,,,45,,,107,106,108',
'97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227',
',,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88,87,89',
',,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313,314,72',
'73,,,,,,309,310,316,103,102,104,105,,,234,,,,,,,45,,,107,106,108,97',
'56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233',
',,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88,87,89,,,,,82',
'90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313,314,72,73,,',
',,,309,310,316,103,102,104,105,,,234,,,,,,,45,,,107,106,108,97,56,99',
'98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58',
'59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,',
',,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313,314,72,73,,,,,,309',
'310,316,103,102,104,105,,,234,,,,,,,311,,,107,106,108,97,56,99,98,100',
',101,109,110,,93,94,,,317,,,,,,,,,,,,,,,,,,,,307,,,303,,,58,59,,,60',
',,678,,675,674,673,683,676,,,,,,,,,686,,91,81,84,85,,86,88,87,89,,,',
',82,90,,,,,,681,62,,83,95,96,74,75,71,9,57,694,693,,63,64,687,,,67,',
'65,66,68,30,31,72,73,,,,,,29,28,27,103,102,104,105,,,19,,,,,,8,45,,10',
'107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,',
',,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,91,81,84,85,,86',
'88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68',
'313,314,72,73,,,,,,309,310,316,103,102,104,105,,,234,,,,,,,45,,,107',
'106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,',
',,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88',
'87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313',
'314,72,73,,,,,,309,310,316,103,102,104,105,,,234,,,,,,,45,,,107,106',
'108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,',
'227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88,87',
'89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313,314',
'72,73,,,,,,309,310,316,103,102,104,105,,,234,,,,,,,45,,,107,106,108',
'97,56,99,98,100,288,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227',
',,233,,,58,59,,,60,,,,283,,44,,,289,,,,,,232,,,,,91,286,84,85,,86,88',
'87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313',
'314,72,73,,,,,,309,310,316,103,102,104,105,,,234,,,,,,,45,,,107,106',
'108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,',
'227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88,87',
'89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,103,102,104,105,,,19,,,,,,,45,,,107,106,108,97,56',
'99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233',
',,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,91,81,84,85,,86,88,87,89,,,,,82',
'90,222,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,30,31,72,73,',
',,,,29,28,27,103,102,104,105,,,19,,,,,,,45,,,107,106,108,97,56,99,98',
'100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59',
',,60,,,,,,44,,,,,,,,,20,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74',
'75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'103,102,104,105,,,234,,,,,,,45,,,107,106,108,97,56,99,98,100,,101,109',
'110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44',
',,,,,,,,232,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57',
'83,95,96,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,103,102,104',
'105,,,234,,,,,,,45,,,107,106,108,97,56,99,98,100,288,101,109,110,,93',
'94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,285,,283,,44',
',,289,,,,,,232,,,,,91,286,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62',
'57,83,95,96,63,64,,,,67,,65,66,68,313,314,72,73,,,,,,309,310,316,103',
'102,104,105,,,234,,,,,,,45,,,107,106,108,97,56,99,98,100,,101,109,110',
',93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,',
',,,,,,232,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83',
'95,96,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,103,102,104,105',
',,234,,,,,,,45,,,107,106,108,97,56,99,98,100,288,101,109,110,,93,94',
'42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,285,,283,,44,,,289',
',,,,,232,,,,,91,286,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83',
'95,96,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,103,102,104,105',
',,19,,,,,,,45,,,107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43',
'41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,',
'91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,103,102,104,105,,,19,,,,,',
',45,,,107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,',
',,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,91,81,84',
'85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,103,102,104,105,,,234,,,,,,,45,,,107',
'106,108,97,56,99,98,100,288,101,109,110,,93,94,42,43,41,,,,,,,,,,,,',
',,,,,,,227,,,233,,,58,59,,,60,,285,,283,,44,,,289,,,,,,232,,,,,91,286',
'84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67',
',65,66,68,313,314,72,73,,,,,,309,310,316,103,102,104,105,,,234,,,,,',
',45,,,107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,',
',,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,285,,,,44,,,,,,,,,232,,,,,91,81',
'84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,103,102,104,105,,,234,,,,,,,45,',
',107,106,108,97,56,99,98,100,288,101,109,110,,93,94,42,43,41,,,,,,,',
',,,,,,,,,,,,227,,,233,,,58,59,,,60,,285,,283,,44,,,289,,,,,,232,,,,',
'91,286,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,103,102,104,105,,,234,,,,',
',,45,,,107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,',
',,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81',
'84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67',
',65,66,68,313,314,72,73,,,,,,309,310,316,103,102,104,105,,,234,,,,,',
',45,,,107,106,108,97,56,99,98,100,288,101,109,110,,93,94,42,43,41,,',
',,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,289,,,,,,232,,,,,91',
'286,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,',
',67,,65,66,68,313,314,72,73,,,,,,309,310,316,103,102,104,105,,,234,',
',,,,,45,,,107,106,108,97,56,99,98,100,288,101,109,110,,93,94,42,43,41',
',,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,635,,,,44,,,289,,,,,,232',
',,,,91,286,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,103,102,104,105,,,19,,',
',,,,45,,,107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,',
',,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,91,81',
'84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,103,102,104,105,,,19,,,,,,,45,,',
'107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,',
',,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,91,81,84,85,,86',
'88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,103,102,104,105,,,234,,,,,,,45,,,107,106,108',
'97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227',
',,233,,,58,59,,,60,,407,,,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88,87',
'89,,,,,82,90,,,,,,,62,,83,95,96,74,75,71,9,57,,,,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,,29,28,27,103,102,104,105,,,19,,,,,,8,45,,10,107',
'106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,',
',,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,91,81,84,85,,86,88',
'87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,30',
'31,72,73,,,,,,29,28,27,103,102,104,105,,,234,,,,,,,45,,,107,106,108',
'97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227',
',,233,,,58,59,,,60,,407,,,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88,87',
'89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,103,102,104,105,,,19,,,,,,,45,,,107,106,108,97,56',
'99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233',
',,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,91,81,84,85,,86,88,87,89,,,,,82',
'90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313,314,72,73,,',
',,,309,310,316,103,102,104,105,,,234,,,,,,,45,,,107,106,108,97,56,99',
'98,100,288,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233',
',,58,59,,,60,,285,,,,44,,,289,,,,,,232,,,,,91,286,84,85,,86,88,87,89',
',,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313,314,72',
'73,,,,,,309,310,316,103,102,104,105,,,234,,,,,,,45,,,107,106,108,97',
'56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233',
',,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88,87,89,,,,,82',
'90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,30,31,72,73,,,,',
',29,28,27,103,102,104,105,,,19,,,,,,,45,,,107,106,108,97,56,99,98,100',
',101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,',
'60,,,,,,44,,,,,,,,,20,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75',
'71,62,57,83,95,96,63,64,,,,67,,65,66,68,313,314,72,73,,,,,,309,310,316',
'103,102,104,105,,,234,,,,,,,45,,,107,106,108,97,56,99,98,100,,101,109',
'110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44',
',,,,,,,,232,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57',
'83,95,96,63,64,,,,67,,65,66,68,313,314,72,73,,,,,,309,310,316,103,102',
'104,105,,,234,,,,,,,311,,,107,106,108,97,56,99,98,100,,101,109,110,',
'93,94,,,317,,,,,,,,,,,,,,,,,,,,307,,,303,,,58,59,,,60,,,,,,,,,,,,,,',
',,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,103,102,104,105,,,234,',
',,,,,45,,,107,106,108,97,56,99,98,100,288,101,109,110,,93,94,42,43,41',
',,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,285,,283,,44,,,289,,,,,,232',
',,,,91,286,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63',
'64,,,,67,,65,66,68,313,314,72,73,,,,,,309,310,316,103,102,104,105,,',
'234,,,,,,,311,,,107,106,108,97,56,99,98,100,,101,109,110,,93,94,,,317',
',,,,,,,,,,,,,,,,,,,307,,,303,,,58,59,,,60,,,678,,675,674,673,683,676',
',,,,,,,,686,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,,,681,62,,83,95,96',
'74,75,71,9,57,694,693,,63,64,687,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,103,102,104,105,,,19,,,,,,8,45,,10,107,106,108,97,56,99,98,100',
',101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60',
',35,,,,44,,,,,,,,,20,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75',
'71,62,57,83,95,96,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,103',
'102,104,105,,,19,,,,,,,45,,,107,106,108,97,56,99,98,100,,101,109,110',
',93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,',
',,,,,,20,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83',
'95,96,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,103,102,104,105',
',,19,,,,,,,45,,,107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43',
'41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,',
'91,81,84,85,,86,88,87,89,,,,,82,90,,,,,,,62,,83,95,96,74,75,71,9,57',
',,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,103,102,104,105,',
',19,,,,,,8,45,296,10,107,106,108,97,56,99,98,100,,101,109,110,,93,94',
'42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20',
',,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,,,391,62,,83,95,96,74,75,71',
',57,,,,63,64,,,,67,,65,66,68,313,314,72,73,,,,,,309,310,316,103,102',
'104,105,,,234,,,,,,,45,,,107,106,108,97,56,99,98,100,,101,109,110,,93',
'94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,',
',,232,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95',
'96,63,64,,,,67,,65,66,68,313,314,72,73,,,,,,309,310,316,103,102,104',
'105,,,234,,,,,,,45,,,107,106,108,97,56,99,98,100,288,101,109,110,,93',
'94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,283,,44,,,289',
',,,,,232,,,,,91,286,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83',
'95,96,63,64,,,,67,,65,66,68,313,314,72,73,,,,,,309,310,316,103,102,104',
'105,,,234,,,,,,,45,,,107,106,108,97,56,99,98,100,288,101,109,110,,93',
'94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,635,,283,,44',
',,289,,,,,,232,,,,,91,286,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62',
'57,83,95,96,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,103,102',
'104,105,,,19,,,,,,,45,,,107,106,108,97,56,99,98,100,,101,109,110,,93',
'94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,',
',,20,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95',
'96,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,103,102,104,105,',
',19,,,,,,,45,,,107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43',
'41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,',
'91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,103,102,104,105,,,19,,,,,',
',45,,,107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,',
',,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,91,81,84',
'85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65',
'66,68,313,314,72,73,,,,,,309,310,316,103,102,104,105,,,234,,,,,,,45',
',,107,106,108,97,56,99,98,100,288,101,109,110,,93,94,42,43,41,,,,,,',
',,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,289,,,,,,232,,,,,91,286',
'84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,103,102,104,105,,,19,,,,,,,45,,',
'107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,',
',,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,91,81,84,85,,86',
'88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68',
'313,314,72,73,,,,,,309,310,316,103,102,104,105,,,234,,,,,,,45,,,107',
'106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,',
',,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88',
'87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,30',
'31,72,73,,,,,,29,28,27,103,102,104,105,,,19,,,,,,,45,,,107,106,108,97',
'56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233',
',,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,91,81,84,85,,86,88,87,89,,,,,82',
'90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,30,31,72,73,,,,',
',29,28,27,103,102,104,105,,,19,,,,,,,45,,,107,106,108,97,56,99,98,100',
',101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,',
'60,,,,,,44,,,,,,,,,20,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,115,,,',
',114,62,,83,95,96,74,75,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,103,102,104,105,,,19,,,,,,8,45,7,10,107,106,108,97,56',
'99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,',
'58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,91,81,84,85,,86,88,87,89,,,,,82',
'90,,,,,,391,62,,83,95,96,74,75,71,,57,,,,63,64,,,,67,,65,66,68,313,314',
'72,73,,,,,,309,310,316,103,102,104,105,,,234,,,,,,,311,,,107,106,108',
'97,56,99,98,100,,101,109,110,,93,94,,,317,,,,,,,,,,,,,,,,,,,,351,,,33',
',,58,59,,,60,,35,,,,,,,,,,,,,,,,,,91,81,84,85,,86,88,87,89,,,,,82,90',
',,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313,314,72,73,,,,,',
'309,310,316,103,102,104,105,,,234,,,,,,,311,,,107,106,108,356,56,99',
'98,357,,101,109,110,,93,94,,,317,,,,,,,,,,,,,,,,,363,,,358,,,233,,,58',
'59,,,60,,,,,,,,,,,,,,,,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74',
'75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313,314,72,73,,,,,,309,310',
'316,103,102,104,105,,,234,,,,,,,311,,,107,106,108,356,56,99,98,357,',
'101,109,110,,93,94,,,317,,,,,,,,,,,,,,,,,,,,358,,,233,,,58,59,,,60,',
',,,,,,,,,,,,,,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62',
'57,83,95,96,63,64,,,,67,,65,66,68,313,314,72,73,,,,,,309,310,316,103',
'102,104,105,,,234,,,,,,,45,,,107,106,108,97,56,99,98,100,,101,109,110',
',93,94,42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,',
',,,,,,232,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83',
'95,96,63,64,,,,67,,65,66,68,313,314,72,73,,,,,,309,310,316,103,102,104',
'105,,,234,,,,,,,45,,,107,106,108,97,56,99,98,100,,101,109,110,,93,94',
'42,43,41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232',
',,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63',
'64,,,,67,,65,66,68,313,314,72,73,,,,,,309,310,316,103,102,104,105,,',
'234,,,,,,,45,,,107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43',
'41,,,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,',
',91,81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,103,102,104,105,,,234,,,,',
',,45,,,107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,',
',,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81',
'84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67',
',65,66,68,313,314,72,73,,,,,,309,310,316,103,102,104,105,,,234,,,,,',
',45,,,107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,',
',,,,,,,,,,,,,,227,,,233,528,,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81',
'84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,103,102,104,105,,,234,,,,,,,45,',
',107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,',
',,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81,84,85',
',86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66',
'68,313,314,72,73,,,,,,309,310,316,103,102,104,105,,,234,,,,,,,45,,,107',
'106,108,97,56,99,98,100,288,101,109,110,,93,94,42,43,41,,,,,,,,,,,,',
',,,,,,,227,,,233,,,58,59,,,60,,,,283,,44,,,289,,,,,,232,,,,,91,286,84',
'85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65',
'66,68,313,314,72,73,,,,,,309,310,316,103,102,104,105,,,234,,,,,,,45',
',,107,106,108,97,56,99,98,100,288,101,109,110,,93,94,42,43,41,,,,,,',
',,,,,,,,,,,,,227,,,233,,,58,59,,,60,,635,,283,,44,,,289,,,,,,232,,,',
',91,286,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64',
',,,67,,65,66,68,313,314,72,73,,,,,,309,310,316,103,102,104,105,,,234',
',,,,,,45,,,107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41',
',,,,,,,,,,,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91',
'81,84,85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,',
'67,,65,66,68,30,31,72,73,,,,,,29,28,27,103,102,104,105,,,19,,,,,,,45',
',,107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,',
',,,,,,,,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,91,81,84,85',
',86,88,87,89,,,,,82,90,,,,,,,62,,83,95,96,74,75,71,9,57,,,,63,64,,,',
'67,,65,66,68,30,31,72,73,,,,,,29,28,27,103,102,104,105,,,19,,,,,,8,45',
',10,107,106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,',
',,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,91,81,84,85',
',86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,,29,28,27,103,102,104,105,,,234,,,,,,,45,,,107,106',
'108,97,56,99,98,100,288,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,',
',,,227,,,233,,,58,59,,,60,,285,,283,,44,,,289,,,,,,232,,,,,91,286,84',
'85,,86,88,87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,103,102,104,105,,,234,,,,,,,45,,,107',
'106,108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,',
',,,,227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88',
'87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313',
'314,72,73,,,,,,309,310,316,103,102,104,105,,,234,,,,,,,45,,,107,106',
'108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,',
'227,,,233,,,58,59,,,60,,739,,,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88',
'87,89,,,,,82,90,,,,74,75,71,62,57,83,95,96,63,64,,,,67,,65,66,68,313',
'314,72,73,,,,,,309,310,316,103,102,104,105,,,234,,,,,,,45,,,107,106',
'108,97,56,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,',
'227,,,233,,,58,59,,,60,,,,,,44,,,,,,,,,232,,,,,91,81,84,85,,86,88,87',
'89,,,,,82,90,,,,,,,62,,83,95,96,175,186,176,199,172,192,182,181,202',
'203,197,180,179,174,200,204,205,184,173,187,191,193,185,178,,,,194,201',
'196,195,188,198,183,171,190,189,,,,,,170,177,168,169,165,166,167,126',
'128,,,127,,,,,,,,159,160,,156,138,139,140,147,144,146,,,141,142,,,,161',
'162,148,149,,,,,,,,,,,,,,153,152,,137,158,155,154,163,150,151,145,143',
'135,157,136,,,164,91,,,,,,,,,,,,,,90,175,186,176,199,172,192,182,181',
'202,203,197,180,179,174,200,204,205,184,173,187,191,193,185,178,,,,194',
'201,196,195,188,198,183,171,190,189,,,,,,170,177,168,169,165,166,167',
'126,128,125,,127,,,,,,,,159,160,,156,138,139,140,147,144,146,,,141,142',
',,,161,162,148,149,,,,,,,,,,,,,,153,152,,137,158,155,154,163,150,151',
'145,143,135,157,136,,,164,91,,,,,,,,,,,,,,90,175,186,176,199,172,192',
'182,181,202,203,197,180,179,174,200,204,205,184,173,187,191,193,185',
'178,,,,194,201,196,195,188,198,183,171,190,189,,,,,,170,177,168,169',
'165,166,167,126,128,,,127,,,,,,,,159,160,,156,138,139,140,147,144,146',
',,141,142,,,,161,162,148,149,,,,,,,,,,,,,,153,152,,137,158,155,154,163',
'150,151,145,143,135,157,136,,,164,91,,,,,,,,,,,,,,90,175,186,176,199',
'172,192,182,181,202,203,197,180,179,174,200,204,205,184,173,187,191',
'193,185,178,,,,194,201,196,195,188,198,183,171,190,189,,,,,,170,177',
'168,169,165,166,167,126,128,,,127,,,,,,,,159,160,,156,138,139,140,147',
'144,146,,,141,142,,,,161,162,148,149,,,,,,,,,,,,,,153,152,,137,158,155',
'154,163,150,151,145,143,135,157,136,,,164,91,,,,,,,,,,,,,,90,175,186',
'176,199,172,192,182,181,202,203,197,180,179,174,200,204,205,184,173',
'187,191,193,185,178,,,,194,201,196,374,373,375,372,171,190,189,,,,,',
'170,177,168,169,369,370,371,367,128,99,98,368,,101,,,,,,159,160,,156',
'138,139,140,147,144,146,,,141,142,,,,161,162,148,149,,,,,,379,,,,,,',
',153,152,,137,158,155,154,163,150,151,145,143,135,157,136,,,164,175',
'186,176,199,172,192,182,181,202,203,197,180,179,174,200,204,205,184',
'173,187,191,193,185,178,,,,194,201,196,195,188,198,183,171,190,189,',
',,,,170,177,168,169,165,166,167,126,128,,,127,,,,,,,,159,160,,156,138',
'139,140,147,144,146,,,141,142,,,,161,162,148,149,,,,,,,,,,,,,,153,152',
',137,158,155,154,163,150,151,145,143,135,157,136,646,433,164,,647,,',
',,,,,159,160,,156,138,139,140,147,144,146,,,141,142,,,,161,162,148,149',
',,,,,267,,,,,,,,153,152,,137,158,155,154,163,150,151,145,143,135,157',
'136,483,433,164,,484,,,,,,,,159,160,,156,138,139,140,147,144,146,,,141',
'142,,,,161,162,148,149,,,,,,267,,,,,,,,153,152,,137,158,155,154,163',
'150,151,145,143,135,157,136,1005,440,164,,1004,,,,,,,,159,160,,156,138',
'139,140,147,144,146,,,141,142,,,,161,162,148,149,,,,,,267,,,,,,,,153',
'152,,137,158,155,154,163,150,151,145,143,135,157,136,741,433,164,,742',
',,,,,,,159,160,,156,138,139,140,147,144,146,,,141,142,,,,161,162,148',
'149,,,,,,267,,,,,,,,153,152,,137,158,155,154,163,150,151,145,143,135',
'157,136,744,440,164,,743,,,,,,,,159,160,,156,138,139,140,147,144,146',
',,141,142,,,,161,162,148,149,,,,,,267,,,,,,,,153,152,,137,158,155,154',
'163,150,151,145,143,135,157,136,618,440,164,,619,,,,,,,,159,160,,156',
'138,139,140,147,144,146,,,141,142,,,,161,162,148,149,,,,,,267,,,,,,',
',153,152,,137,158,155,154,163,150,151,145,143,135,157,136,616,433,164',
',617,,,,,,,,159,160,,156,138,139,140,147,144,146,,,141,142,,,,161,162',
'148,149,,,,,,267,,,,,,,,153,152,,137,158,155,154,163,150,151,145,143',
'135,157,136,483,433,164,,484,,,,,,,,159,160,,156,138,139,140,147,144',
'146,,,141,142,,,,161,162,148,149,,,,,,,,,,,,,,153,152,,137,158,155,154',
'163,150,151,145,143,135,157,136,429,433,164,,430,,,,,,,,159,160,,156',
'138,139,140,147,144,146,,,141,142,,,,161,162,148,149,,,,,,267,,,,,,',
',153,152,,137,158,155,154,163,150,151,145,143,135,157,136,436,440,164',
',435,,,,,,,,159,160,,156,138,139,140,147,144,146,,,141,142,,,,161,162',
'148,149,,,,,,267,,,,,,,,153,152,,137,158,155,154,163,150,151,145,143',
'135,157,136,1008,433,164,,1009,,,,,,,,159,160,,156,138,139,140,147,144',
'146,,,141,142,,,,161,162,148,149,,,,,,267,,,,,,,,153,152,,137,158,155',
'154,163,150,151,145,143,135,157,136,712,440,164,,713,,,,,,,,159,160',
',156,138,139,140,147,144,146,,,141,142,,,,161,162,148,149,,,,,,267,',
',,,,,,153,152,,137,158,155,154,163,150,151,145,143,135,157,136,709,440',
'164,,710,,,,,,,,159,160,,156,138,139,140,147,144,146,,,141,142,,,,161',
'162,148,149,,,,,,267,,,,,,,,153,152,,137,158,155,154,163,150,151,145',
'143,135,157,136,616,433,164,,617,,,,,,,,159,160,,156,138,139,140,147',
'144,146,,,141,142,,,,161,162,148,149,,,,,,267,,,,,,,,153,152,,137,158',
'155,154,163,150,151,145,143,135,157,136,618,440,164,,619,,,,,,,,159',
'160,,156,138,139,140,147,144,146,,,141,142,,,,161,162,148,149,,,,,,267',
',,,,,,,153,152,,137,158,155,154,163,150,151,145,143,135,157,136,707',
'433,164,,708,,,,,,,,159,160,,156,138,139,140,147,144,146,,,141,142,',
',,161,162,148,149,,,,,,267,,,,,,,,153,152,,137,158,155,154,163,150,151',
'145,143,135,157,136,1010,440,164,,1011,,,,,,,,159,160,,156,138,139,140',
'147,144,146,,,141,142,,,,161,162,148,149,,,,,,267,,,,,,,,153,152,,137',
'158,155,154,163,150,151,145,143,135,157,136,649,440,164,,650,,,,,,,',
'159,160,,156,138,139,140,147,144,146,,,141,142,,,,161,162,148,149,,',
',,,267,,,,,,,,153,152,,137,158,155,154,163,150,151,145,143,135,157,136',
',678,164,675,674,673,683,676,,678,,675,674,673,683,676,686,,,,,,,,686',
',678,,675,674,673,683,676,,,,,,681,664,,686,,,,,681,691,690,694,693',
',,,687,691,690,694,693,,,,687,681,,678,,675,674,673,683,676,,,694,693',
',,,687,686,,678,,675,674,673,683,676,,678,,675,674,673,683,676,686,',
',,,681,,,686,,,,,,691,690,694,693,,,,687,681,,,,,,,,681,691,690,694',
'693,,,,687,691,690,694,693,,,678,687,675,674,673,683,676,,678,,675,674',
'673,683,676,686,,,,,,,,686,,678,,675,674,673,683,676,,,,,,681,,,686',
',,,,681,691,690,694,693,,,,687,691,690,694,693,,,,687,681,,678,,675',
'674,673,683,676,,,694,693,,,,687,686,,678,,675,674,673,683,676,678,',
'675,674,673,683,676,,686,,,,,681,,686,,,,,,,691,690,694,693,,,,687,681',
',,,,,,681,,,,694,693,,,,687,,694,693,,,678,687,675,674,673,683,676,678',
',675,674,673,683,676,678,686,675,674,673,683,676,,686,,,,,,,686,,,,',
',,,681,,,,,,,681,,691,690,694,693,,681,,687,,694,693,,,,687,,694,693',
',,,687' ]
        racc_action_table = arr = ::Array.new(25333, 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 = [
'97,1038,625,569,569,445,445,97,97,97,1,891,97,97,97,387,97,629,1008',
'386,19,767,656,656,97,125,97,97,97,3,125,125,989,989,3,352,97,97,1009',
'97,97,97,97,97,342,1010,1011,341,925,349,709,707,629,641,1029,834,767',
'829,61,7,834,19,829,641,793,555,97,97,97,97,97,97,97,97,97,97,97,97',
'97,97,10,387,97,97,97,386,97,97,708,625,97,348,710,97,97,825,97,569',
'97,445,97,12,97,97,928,97,97,97,97,97,705,97,619,97,865,709,656,978',
'924,619,619,619,1010,1011,619,619,619,97,619,891,97,97,97,97,891,97',
'1008,97,619,619,619,1008,97,97,352,61,13,548,619,619,451,619,619,619',
'619,619,1009,710,349,709,707,1009,342,1010,1011,341,925,342,1010,1011',
'341,925,1029,793,555,547,826,1029,619,619,619,619,619,619,619,619,619',
'619,619,619,619,619,14,14,619,619,619,708,619,619,348,710,619,388,825',
'619,619,451,619,26,619,345,619,15,619,619,345,619,619,619,619,619,928',
'619,312,619,414,928,705,292,22,705,865,705,292,978,924,865,582,619,978',
'924,619,619,619,619,37,619,225,619,618,548,226,40,619,619,548,618,618',
'618,41,41,618,618,618,649,618,388,388,388,565,565,896,26,896,618,618',
'618,618,547,826,798,798,414,547,826,618,618,312,618,618,618,618,618',
'317,317,26,616,45,647,782,646,582,582,810,225,810,810,810,226,810,312',
'582,321,340,340,618,618,618,618,618,618,618,618,618,618,618,618,618',
'618,649,649,618,618,618,111,618,618,41,41,618,617,430,618,618,358,618',
'206,618,358,618,227,618,618,616,618,618,618,618,618,321,618,618,618',
'565,647,782,646,580,565,321,649,317,317,649,696,696,618,228,383,618',
'618,618,618,649,618,810,618,100,430,838,764,618,618,429,100,100,100',
'617,430,100,100,100,229,100,647,782,646,647,782,646,742,100,230,100',
'100,100,234,647,782,646,266,280,741,100,100,281,100,100,100,100,100',
'580,580,945,228,945,945,945,24,945,429,580,383,383,383,24,838,764,333',
'284,429,333,601,100,100,100,100,100,100,100,100,100,100,100,100,100',
'100,742,296,100,100,100,662,100,100,662,297,100,500,741,100,100,381',
'100,17,100,382,100,39,100,100,384,100,100,100,100,100,435,100,601,100',
'299,300,24,435,435,435,301,307,601,435,435,310,435,100,945,311,100,100',
'100,100,377,100,332,100,356,332,316,377,100,100,17,318,435,435,39,435',
'435,435,435,435,17,500,500,500,39,381,381,381,322,382,382,382,385,38',
'384,384,384,336,500,325,336,330,435,435,435,435,435,435,435,435,435',
'435,435,435,435,435,356,334,435,435,435,967,435,356,967,377,435,335',
'356,435,337,346,356,347,435,351,435,353,435,435,38,435,435,435,435,435',
'743,435,362,435,38,356,397,743,743,743,385,385,385,743,743,403,743,435',
'458,406,435,435,79,435,375,435,408,411,357,415,425,375,435,435,79,356',
'743,743,427,743,743,743,743,743,79,323,428,437,447,16,458,374,323,373',
'458,458,16,372,374,459,373,323,460,461,372,16,743,743,743,743,743,743',
'743,743,743,743,743,743,743,743,357,920,743,743,743,462,743,357,920',
'375,743,487,357,743,371,491,357,920,743,507,743,371,743,743,508,743',
'743,743,743,743,323,743,744,743,16,357,374,511,373,744,744,744,372,513',
'518,744,744,743,744,521,743,743,529,743,926,743,530,744,531,457,532',
'926,743,743,544,357,920,549,744,744,926,744,744,744,744,744,550,224',
'567,371,577,517,370,369,224,368,585,367,517,370,369,457,368,224,367',
'457,457,517,744,744,744,744,744,744,744,744,744,744,744,744,744,744',
'587,593,744,744,744,46,744,926,602,607,744,612,46,744,620,712,621,622',
'744,624,744,46,744,744,628,744,744,744,744,744,224,744,744,744,517,370',
'369,630,368,632,367,413,713,634,640,643,645,744,413,713,744,744,436',
'744,713,744,648,413,713,436,436,436,744,744,651,436,436,712,436,918',
'46,918,918,918,712,918,652,436,1019,712,1019,1019,1019,712,1019,655',
'657,666,436,436,667,436,436,436,436,436,669,650,670,671,680,688,712',
'692,650,695,413,713,1003,650,1003,1003,1003,650,1003,1019,698,703,436',
'436,436,436,436,436,436,436,436,436,436,436,436,436,712,706,436,436',
'436,304,436,715,305,719,436,738,304,436,740,305,749,770,436,781,436',
'304,436,436,305,436,436,436,436,436,650,436,436,436,773,785,773,773',
'773,773,773,306,6,6,6,6,6,436,306,773,436,436,27,436,788,436,789,306',
'794,27,27,27,436,436,27,27,27,809,27,811,304,773,816,305,819,476,828',
'27,27,27,773,773,773,773,832,833,836,773,27,27,837,27,27,27,27,27,946',
'846,946,946,946,308,946,847,849,850,306,476,308,851,853,476,476,773',
'476,476,854,308,27,27,27,27,27,27,27,27,27,27,27,27,27,27,855,946,27',
'27,27,971,856,27,558,27,27,871,971,27,27,558,27,872,27,876,27,971,27',
'27,558,27,27,27,27,27,877,27,27,27,308,477,907,879,360,795,880,350,882',
'885,887,360,907,27,350,795,27,27,482,27,360,27,893,350,894,482,482,482',
'27,900,482,482,482,477,482,904,971,477,477,558,477,477,917,482,482,907',
'907,921,795,795,907,927,947,795,482,482,957,482,482,482,482,482,888',
'960,888,888,888,961,888,360,573,573,350,962,573,573,573,963,965,934',
'974,934,934,934,934,934,329,329,329,329,329,979,980,981,934,482,982',
'431,983,888,984,985,482,987,431,431,431,482,482,431,431,431,990,431',
'991,681,934,681,681,681,1004,681,431,431,431,934,934,934,934,1005,482',
'482,934,431,431,1007,431,431,431,431,431,1020,1024,1025,1026,482,1027',
'1030,482,1031,,,681,482,295,295,295,295,295,,482,681,,431,431,431,431',
'431,431,431,431,431,431,431,431,431,431,,,431,431,431,,,431,,431,431',
',,431,431,,431,,431,,431,,431,431,,431,431,431,431,431,56,431,431,431',
',,,56,56,56,,,56,56,56,,56,431,,,431,431,,431,,431,56,56,56,,,,431,',
',,56,56,,56,56,56,56,56,988,,988,988,988,886,988,886,886,886,986,886',
'986,986,986,,986,505,505,505,505,505,56,56,56,56,56,56,56,56,56,56,56',
'56,56,56,,988,56,56,56,,886,56,,,56,986,,56,56,886,56,,56,,56,,56,56',
',56,56,56,56,56,,56,,56,807,,807,807,807,,807,,,,,,,56,,,56,56,56,56',
',56,440,56,,,,,56,440,440,440,,,440,440,440,807,440,470,,,,,,,807,440',
'440,440,440,,,,,470,470,,440,440,,440,440,440,440,440,,,,,,470,,470',
',470,470,,470,470,,,470,,470,,,,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,,440,440,440,,,,,,,,,,,,,,440,,,440,440',
'440,440,,440,441,440,,,,,440,441,441,441,,,441,441,441,467,441,,,,,',
',,,441,441,441,441,,,467,467,,,,441,441,,441,441,441,441,441,,,,467',
',467,,467,467,,467,467,,,467,,467,,,,,,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,28,441,,,,,441,28,28,28,,,28,28,28,468,28,,,,,,,,,',
'28,28,,,,468,468,,,,28,28,,28,28,28,28,28,,,,468,,468,,468,468,,468',
'468,,,468,,468,,,,,,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,821,821,821,821,821,821,28,,,821,821,',
',,821,,821,821,821,821,821,821,821,,,,,,821,821,821,821,821,821,821',
',,821,,,,,418,821,821,821,821,821,821,821,821,821,821,821,821,,821,821',
'821,,821,821,821,821,821,418,418,418,418,418,418,418,418,418,418,418',
',418,418,,,418,418,,821,,,821,,,821,821,,,821,,821,418,,418,821,418',
'418,,418,418,418,418,418,821,418,,,,821,821,821,821,,821,821,821,821',
',,,,821,821,,418,,418,,,821,,821,821,821,824,824,824,824,824,824,,,',
'824,824,,,,824,,824,824,824,824,824,824,824,,,,,,824,824,824,824,824',
'824,824,,,824,,,,,424,824,824,824,824,824,824,824,824,824,824,824,824',
',824,824,824,,824,824,824,824,824,424,424,424,424,424,424,424,424,424',
'424,424,,424,424,,,424,424,,824,,,824,,,824,824,,,824,,824,424,,424',
'824,424,424,,424,424,424,424,424,824,424,,,,824,824,824,824,,824,824',
'824,824,,,,,824,824,,424,,,,,824,,824,824,824,931,931,931,931,931,931',
',,,931,931,,,,931,,931,931,931,931,931,931,931,,,,,,931,931,931,931',
'931,931,931,,,931,,,,,,931,931,931,931,931,931,931,931,931,931,931,931',
',931,931,931,,931,931,931,931,931,480,480,480,480,480,480,480,480,480',
'480,480,,480,480,,,480,480,,931,,,931,,,931,931,,,931,,931,480,,480',
'931,480,480,,480,480,480,480,480,931,480,,,,931,931,931,931,,931,931',
'931,931,,,,,931,931,480,480,,,,,931,,931,931,931,543,543,543,543,543',
'543,,,,543,543,,,,543,,543,543,543,543,543,543,543,,,,,,543,543,543',
'543,543,543,543,,,543,,,,,,543,543,543,543,543,543,543,543,543,543,543',
'543,,543,543,543,,543,543,543,543,543,746,746,746,746,746,746,746,746',
'746,746,746,,746,746,,,746,746,,543,,,543,,,543,543,,,543,,543,746,',
'746,543,746,746,,746,746,746,746,746,543,746,,,,543,543,543,543,,543',
'543,543,543,,,,,543,543,,746,,,,,543,,543,543,543,787,787,787,787,787',
'787,,,,787,787,,,,787,,787,787,787,787,787,787,787,,,,,,787,787,787',
'787,787,787,787,,,787,,,,,,787,787,787,787,787,787,787,787,787,787,787',
'787,,787,787,787,,787,787,787,787,787,21,21,21,21,21,21,21,21,21,21',
'21,,21,21,,,21,21,,787,,,787,,,787,787,,,787,,787,21,,21,787,21,21,',
'21,21,21,21,21,787,21,,,,787,787,787,787,,787,787,787,787,,,,,787,787',
',21,,,,,787,,787,787,787,546,546,546,546,546,546,,,,546,546,,,,546,',
'546,546,546,546,546,546,546,,,,,,546,546,546,546,546,546,546,,,546,',
',,,,546,546,546,546,546,546,546,546,546,546,546,546,,546,546,546,,546',
'546,546,546,546,278,278,278,278,278,278,278,278,278,278,278,,278,278',
',,278,278,,546,,,546,,,546,546,,,546,,546,278,,278,546,278,278,,278',
'278,278,278,278,546,278,,,,546,546,546,546,,546,546,546,546,,,,,546',
'546,,278,,,,,546,,546,546,546,830,830,830,830,830,830,,,,830,830,,,',
'830,,830,830,830,830,830,830,830,,,,,,830,830,830,830,830,830,830,,',
'830,,,,,,830,830,830,830,830,830,830,830,830,830,830,830,,830,830,830',
',830,830,830,830,830,843,843,843,843,843,843,843,843,843,843,843,,843',
'843,,,843,843,,830,,,830,,,830,830,,,830,,830,843,,843,830,843,843,',
'843,843,843,843,843,830,843,,,,830,830,830,830,,830,830,830,830,,,,',
'830,830,,843,,,,,830,,830,830,830,730,730,730,730,730,730,,,,730,730',
',,,730,,730,730,730,730,730,730,730,,,,,,730,730,730,730,730,730,730',
',,730,,,,,,730,730,730,730,730,730,730,730,730,730,730,730,,730,730',
'730,,730,730,730,730,730,527,527,527,527,527,527,527,527,527,527,527',
',527,527,,,527,527,,730,,,730,,,730,730,,,730,,730,527,,527,730,527',
'527,,527,527,527,527,527,730,527,,,,730,730,730,730,,730,730,730,730',
',,,,730,730,,527,,,,,730,,730,730,730,716,716,716,716,716,716,,,,716',
'716,,,,716,,716,716,716,716,716,716,716,,,,,,716,716,716,716,716,716',
'716,,,716,,,,,,716,716,716,716,716,716,716,716,716,716,716,716,,716',
'716,716,,716,716,716,716,716,475,475,475,475,475,475,475,,,475,475,',
',,,,475,475,,716,,,716,,,716,716,,,716,,716,475,,475,716,475,475,,475',
'475,475,475,475,716,475,,,,716,716,716,716,,716,716,716,716,,,,,716',
'716,,,,,,,716,,716,716,716,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,473,473,473,473,473,473,473,,,473,473,,,,,,473,473,',
'233,,,233,,,233,233,,,233,,233,473,,473,233,473,473,,473,473,473,473',
'473,233,473,,,,233,233,233,233,,233,233,233,233,,,,,233,233,,,,,,,233',
',233,233,233,930,930,930,930,930,930,,,,930,930,,,,930,,930,930,930',
'930,930,930,930,,,,,,930,930,930,930,930,930,930,,,930,,,,,,930,930',
'930,930,930,930,930,930,930,930,930,930,,930,930,930,,930,930,930,930',
'930,455,455,455,455,455,455,455,455,455,455,455,,455,455,,,455,455,',
'930,,,930,,,930,930,,,930,,930,455,,455,930,455,455,,455,455,455,455',
'455,930,455,,,,930,930,930,930,,930,930,930,930,,,,,930,930,,,,,,,930',
',930,930,930,506,506,506,506,506,506,,,,506,506,,,,506,,506,506,506',
'506,506,506,506,,,,,,506,506,506,506,506,506,506,,,506,,,,,,506,506',
'506,506,506,506,506,506,506,506,506,506,,506,506,506,,506,506,506,506',
'506,471,471,471,471,471,471,471,,,471,471,,,,,,471,471,,506,,,506,,',
'506,506,,,506,,506,471,,471,506,471,471,,471,471,471,471,471,506,471',
',,,506,506,506,506,,506,506,506,506,,,,,506,506,,,,,,,506,,506,506,506',
'123,123,123,123,123,123,,,,123,123,,,,123,,123,123,123,123,123,123,123',
',,,,,123,123,123,123,123,123,123,,,123,,,,,,123,123,123,123,123,123',
'123,123,123,123,123,123,,123,123,123,,123,123,123,123,123,469,,,,,,',
',,,,,,,,,469,469,,123,,,123,,,123,123,,,123,,123,469,,469,123,469,469',
',469,469,,,469,123,469,,,,123,123,123,123,,123,123,123,123,,,,,123,123',
',,,,,,123,,123,123,123,720,720,720,720,720,720,,,,720,720,,,,720,,720',
'720,720,720,720,720,720,,,,,,720,720,720,720,720,720,720,,,720,,,,,',
'720,720,720,720,720,720,720,720,720,720,720,720,,720,720,720,,720,720',
'720,720,720,474,474,474,474,474,474,474,,,474,474,,,,,,474,474,,720',
',,720,,,720,720,,,720,,720,474,,474,720,474,474,,474,474,474,474,474',
'720,474,,,,720,720,720,720,,720,720,720,720,,,,,720,720,,,,,,,720,,720',
'720,720,923,923,923,923,923,923,,,,923,923,,,,923,,923,923,923,923,923',
'923,923,,,,,,923,923,923,923,923,923,923,,,923,,,,,,923,923,923,923',
'923,923,923,923,923,923,923,923,,923,923,923,,923,923,923,923,923,466',
'466,466,466,466,466,466,,,466,466,,,,,,466,466,,923,,,923,,,923,923',
',,923,,923,466,,466,923,466,466,,466,466,466,466,466,923,466,,,,923',
'923,923,923,,923,923,923,923,,,,,923,923,,,,,,,923,,923,923,923,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,472,472,472,472',
'472,472,472,,,472,472,,,,,,472,472,,566,,,566,,,566,566,,,566,,566,472',
',472,566,472,472,,472,472,472,472,472,566,472,,,,566,566,566,566,,566',
'566,566,566,,,,,566,566,,,,,,,566,,566,566,566,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,456,456,456,456,456,456,456,456,456',
'456,456,,456,456,,,456,456,,844,,,844,,,844,844,,,844,,844,456,,456',
'844,456,456,,456,456,456,456,456,844,456,,,,844,844,844,844,,844,844',
'844,844,,,,,844,844,,,,,,,844,,844,844,844,298,298,298,298,298,298,',
',,298,298,,,,298,,298,298,298,298,298,298,298,,,,,,298,298,298,298,298',
'298,298,,,298,,,,,,298,298,298,298,298,298,298,298,298,298,298,298,',
'298,298,298,,298,298,298,298,298,478,478,478,478,478,478,478,,,478,478',
',,,,,478,478,,298,,,298,,,298,298,,,298,,298,478,,478,298,478,478,,478',
'478,478,478,478,298,478,,,,298,298,298,298,,298,298,298,298,,,,,298',
'298,,,,,,,298,,298,298,298,775,775,775,775,775,775,,,,775,775,,,,775',
',775,775,775,775,775,775,775,,,,,,775,775,775,775,775,775,775,,,775',
',,,,,775,775,775,775,775,775,775,775,775,775,775,775,,775,775,775,,775',
'775,775,775,775,479,479,479,479,479,479,479,479,,479,479,,,,,,479,479',
',775,,,775,,,775,775,,,775,,775,479,,479,775,479,479,,479,479,479,479',
'479,775,479,,,,775,775,775,775,,775,775,775,775,,,,,775,775,,,,,,,775',
',775,775,775,303,303,303,303,303,303,,,,303,303,,,,303,,303,303,303',
'303,303,303,303,,,,,,303,303,303,303,303,303,303,,,303,,,,,,303,303',
'303,303,303,303,303,303,303,303,303,303,,303,303,303,,303,303,303,303',
'303,464,,,,,,,,,,,,,,,,464,464,,303,,,303,,,303,303,,,303,,303,464,',
'464,303,464,464,,464,464,,,,303,,,,,303,303,303,303,,303,303,303,303',
',,,,303,303,,,,,,,303,,303,303,303,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,463,,,,,,,,,,,,,,,,463,463,,208,,,208,,,208',
'208,,,208,,208,463,,463,208,463,463,,463,463,,,,208,,,,,208,208,208',
'208,,208,208,208,208,,,,,208,208,,,,,,,208,,208,208,208,862,862,862',
'862,862,862,,,,862,862,,,,862,,862,862,862,862,862,862,862,,,,,,862',
'862,862,862,862,862,862,,,862,,,,,,862,862,862,862,862,862,862,862,862',
'862,862,862,,862,862,862,,862,862,862,862,862,465,,,,,,,,,,,,,,,,465',
'465,,862,,,862,,,862,862,,,862,,862,465,,,862,465,465,,465,465,,,,862',
',,,,862,862,862,862,,862,862,862,862,,,,,862,862,,,,,,,862,,862,862',
'862,956,956,956,956,956,956,,,,956,956,,,,956,,956,956,956,956,956,956',
'956,,,,,,956,956,956,956,956,956,956,,,956,,,,,,956,956,956,956,956',
'956,956,956,956,956,956,956,,956,956,956,,956,956,956,956,956,,,,,,',
',,,,,,,,,,,,,956,,,956,,,956,956,,,956,,956,,,,956,,,,,,,,,956,,,,,956',
'956,956,956,,956,956,956,956,,,,,956,956,,,,,,,956,,956,956,956,0,0',
'0,0,0,0,,,,0,0,,,,0,,0,0,0,0,0,0,0,,,,,,0,0,0,0,0,0,0,,,0,,,,,,0,0,0',
'0,0,0,0,0,0,0,0,0,,0,0,0,,0,0,0,0,0,,,,,,,,,,,,,,,,,,,,0,,,0,,,0,0,',
',0,,0,,,,0,,,,,,,,,0,,,,,0,0,0,0,,0,0,0,0,,,,,0,0,,,,,,,0,,0,0,0,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,,,,,,,,,,,,,,',
',,,,,954,,,954,,,954,954,,,954,,954,,,,954,,,,,,,,,954,,,,,954,954,954',
'954,,954,954,954,954,,,,,954,954,,,,,,,954,,954,954,954,948,948,948',
'948,948,948,,,,948,948,,,,948,,948,948,948,948,948,948,948,,,,,,948',
'948,948,948,948,948,948,,,948,,,,,,948,948,948,948,948,948,948,948,948',
'948,948,948,,948,948,948,,948,948,948,948,948,,,,,,,,,,,,,,,,,,,,948',
',,948,,,948,948,,,948,,948,,,,948,,,,,,,,,948,,,,,948,948,948,948,,948',
'948,948,948,,,,,948,948,,,,,,,948,,948,948,948,33,33,33,33,33,33,,,',
'33,33,,,,33,,33,33,33,33,33,33,33,,,,,,33,33,33,33,33,33,33,,,33,,,',
',,33,33,33,33,33,33,33,33,33,33,33,33,,33,33,33,,33,33,33,33,33,,,,',
',,,,,,,,,,,,,,,33,,,33,,,33,33,,,33,,33,,,,33,,,,,,,,,33,,,,,33,33,33',
'33,,33,33,33,33,,,,,33,33,,,,,,,33,,33,33,33,820,820,820,820,820,820',
',,,820,820,,,,820,,820,820,820,820,820,820,820,,,,,,820,820,820,820',
'820,820,820,,,820,,,,,,820,820,820,820,820,820,820,820,820,820,820,820',
',820,820,820,,820,820,820,820,820,,,,,,,,,,,,,,,,,,,,820,,,820,,,820',
'820,,,820,,820,,,,820,,,,,,,,,820,,,,,820,820,820,820,,820,820,820,820',
',,,,820,820,,,,,,,820,,820,820,820,328,328,328,328,328,328,,,,328,328',
',,,328,,328,328,328,328,328,328,328,,,,,,328,328,328,328,328,328,328',
',,328,,,,,,328,328,328,328,328,328,328,328,328,328,328,328,,328,328',
'328,,328,328,328,328,328,,,,,,,,,,,,,,,,,,,,328,,,328,,,328,328,,,328',
',328,,,,328,,,,,,,,,328,,,,,328,328,328,328,,328,328,328,328,,,,,328',
'328,,,,842,842,842,328,842,328,328,328,842,842,,,,842,,842,842,842,842',
'842,842,842,,,,,,842,842,842,842,842,842,842,,,842,,,,,,,842,,,842,842',
'842,842,842,842,842,842,,842,842,842,,842,842,842,842,842,,,,,,,,,,',
',,,,,,,,,842,,,842,,,842,842,,,842,,,,,,842,,,,,,,,,842,,,,,842,842',
'842,842,,842,842,842,842,,,,,842,842,,,,29,29,29,842,29,842,842,842',
'29,29,,,,29,,29,29,29,29,29,29,29,,,,,,29,29,29,29,29,29,29,,,29,,,',
',,,29,,,29,29,29,29,29,29,29,29,29,29,29,29,,29,29,29,29,29,,,,,,,,',
',,,,,,,,,,,29,,,29,,,29,29,,,29,,29,,29,,29,,,29,,,,,,29,,,,,29,29,29',
'29,,29,29,29,29,,,,,29,29,,,,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,,,,,,,,,,,,,,,,,,,,30,,,30',
',,30,30,,,30,,30,,30,,30,,,30,,,,,,30,,,,,30,30,30,30,,30,30,30,30,',
',,,30,30,,,,31,31,31,30,31,30,30,30,31,31,,,,31,,31,31,31,31,31,31,31',
',,,,,31,31,31,31,31,31,31,,,31,,,,,,,31,,,31,31,31,31,31,31,31,31,31',
'31,31,31,,31,31,31,31,31,,,,,,,,,,,,,,,,,,,,31,,,31,,,31,31,,,31,,31',
',31,,31,,,31,,,,,,31,,,,,31,31,31,31,,31,31,31,31,,,,,31,31,,,,302,302',
'302,31,302,31,31,31,302,302,,,,302,,302,302,302,302,302,302,302,,,,',
',302,302,302,302,302,302,302,,,302,,,,,,,302,,,302,302,302,302,302,302',
'302,302,,302,302,302,,302,302,,,302,,,,,,,,,,,,,,,,,,,,302,,,302,,,302',
'302,,,302,,,1032,,1032,1032,1032,1032,1032,,,,,,,,,1032,,302,302,302',
'302,,302,302,302,302,,,,,302,302,,,,302,,1032,302,,302,302,302,240,240',
'240,,240,1032,1032,,240,240,1032,,,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,,,,857,857,857,240,857,240,240,240,857,857,',
',,857,,857,857,857,857,857,857,857,,,,,,857,857,857,857,857,857,857',
',,857,,,,,,,857,,,857,857,857,857,857,857,857,857,,857,857,857,,857',
'857,,,857,,,,,,,,,,,,,,,,,,,,857,,,857,,,857,857,,,857,,,,,,,,,,,,,',
',,,,,,857,857,857,857,,857,857,857,857,,,,,857,857,,,,866,866,866,857',
'866,857,857,857,866,866,,,,866,,866,866,866,866,866,866,866,,,,,,866',
'866,866,866,866,866,866,,,866,,,,,,,866,,,866,866,866,866,866,866,866',
'866,,866,866,866,,866,866,,,866,,,,,,,,,,,,,,,,,,,,866,,,866,,,866,866',
',,866,,,,,,,,,,,,,,,,,,,,866,866,866,866,,866,866,866,866,,,,,866,866',
',,,239,239,239,866,239,866,866,866,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,,,,34,34,34,239,34,239,239,239,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,,,936,,936',
'936,936,936,936,,,,,,,,,936,,35,35,35,35,,35,35,35,35,,,,,35,35,,,,35',
',936,35,,35,35,35,5,5,5,5,5,936,936,,5,5,936,,,5,,5,5,5,5,5,5,5,,,,',
',5,5,5,5,5,5,5,,,5,,,,,,5,5,5,5,5,5,5,5,5,5,5,5,,5,5,5,,5,5,5,5,5,,',
',,,,,,,,,,,,,,,,,5,,,5,,,5,5,,,5,,5,,,,5,,,,,,,,,5,,,,,5,5,5,5,,5,5',
'5,5,,,,,5,5,,,,238,238,238,5,238,5,5,5,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,,,,642,642,642,238,642,238,238',
'238,642,642,,,,642,,642,642,642,642,642,642,642,,,,,,642,642,642,642',
'642,642,642,,,642,,,,,,,642,,,642,642,642,642,642,642,642,642,,642,642',
'642,,642,642,,,642,,,,,,,,,,,,,,,,,,,,642,,,642,,,642,642,,,642,,,,',
',,,,,,,,,,,,,,,642,642,642,642,,642,642,642,642,,,,,642,642,,,,237,237',
'237,642,237,642,642,642,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,,,,638,638,638,237,638,237,237,237,638,638,',
',,638,,638,638,638,638,638,638,638,,,,,,638,638,638,638,638,638,638',
',,638,,,,,,,638,,,638,638,638,638,638,638,638,638,,638,638,638,,638',
'638,638,638,638,,,,,,,,,,,,,,,,,,,,638,,,638,,,638,638,,,638,,,,,,638',
',,,,,,,,638,,,,,638,638,638,638,,638,638,638,638,,,,,638,638,,,,319',
'319,319,638,319,638,638,638,319,319,,,,319,,319,319,319,319,319,319',
'319,,,,,,319,319,319,319,319,319,319,,,319,,,,,,,319,,,319,319,319,319',
'319,319,319,319,,319,319,319,,319,319,,,319,,,,,,,,,,,,,,,,,,,,319,',
',319,,,319,319,,,319,,,,,,,,,,,,,,,,,,,,319,319,319,319,,319,319,319',
'319,,,,,319,319,,,,635,635,635,319,635,319,319,319,635,635,,,,635,,635',
'635,635,635,635,635,635,,,,,,635,635,635,635,635,635,635,,,635,,,,,',
',635,,,635,635,635,635,635,635,635,635,,635,635,635,,635,635,635,635',
'635,,,,,,,,,,,,,,,,,,,,635,,,635,,,635,635,,,635,,,,,,635,,,,,,,,,635',
',,,,635,635,635,635,,635,635,635,635,,,,,635,635,,,,236,236,236,635',
'236,635,635,635,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,,,,235,235,235,236,235,236,236,236,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,,,,20,20,20,235,20',
'235,235,235,20,20,,,,20,,20,20,20,20,20,20,20,,,,,,20,20,20,20,20,20',
'20,,,20,,,,,,,20,,,20,20,20,20,20,20,20,20,,20,20,20,,20,20,20,20,20',
',,,,,,,,,,,,,,,,,,,20,,,20,,,20,20,,,20,,,,,,20,,,,,,,,,20,,,,,20,20',
'20,20,,20,20,20,20,,,,,20,20,,,,232,232,232,20,232,20,20,20,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,,,,919',
'919,919,232,919,232,232,232,919,919,,,,919,,919,919,919,919,919,919',
'919,,,,,,919,919,919,919,919,919,919,,,919,,,,,,,919,,,919,919,919,919',
'919,919,919,919,,919,919,919,,919,919,,,919,,,,,,,,,,,,,,,,,,,,919,',
',919,,,919,919,,,919,,,,,,,,,,,,,,,,,,,,919,919,919,919,,919,919,919',
'919,,,,,919,919,,,,611,611,611,919,611,919,919,919,611,611,,,,611,,611',
'611,611,611,611,611,611,,,,,,611,611,611,611,611,611,611,,,611,,,,,',
',611,,,611,611,611,611,611,611,611,611,,611,611,611,,611,611,611,611',
'611,,,,,,,,,,,,,,,,,,,,611,,,611,,,611,611,,,611,,,,,,611,,,,,,,,,611',
',,,,611,611,611,611,,611,611,611,611,,,,,611,611,,,,610,610,610,611',
'610,611,611,611,610,610,,,,610,,610,610,610,610,610,610,610,,,,,,610',
'610,610,610,610,610,610,,,610,,,,,,,610,,,610,610,610,610,610,610,610',
'610,,610,610,610,,610,610,610,610,610,,,,,,,,,,,,,,,,,,,,610,,,610,',
',610,610,,,610,,,,,,610,,,,,,,,,610,,,,,610,610,610,610,,610,610,610',
'610,,,,,610,610,,,,823,823,823,610,823,610,610,610,823,823,,,,823,,823',
'823,823,823,823,823,823,,,,,,823,823,823,823,823,823,823,,,823,,,,,',
',823,,,823,823,823,823,823,823,823,823,,823,823,823,,823,823,823,823',
'823,,,,,,,,,,,,,,,,,,,,823,,,823,,,823,823,,,823,,823,,,,823,,,,,,,',
',823,,,,,823,823,823,823,,823,823,823,823,,,,,823,823,,,,450,450,450',
'823,450,823,823,823,450,450,,,,450,,450,450,450,450,450,450,450,,,,',
',450,450,450,450,450,450,450,,,450,,,,,,,450,,,450,450,450,450,450,450',
'450,450,450,450,450,450,,450,450,450,450,450,,,,,,,,,,,,,,,,,,,,450',
',,450,,,450,450,,,450,,450,,450,,450,,,450,,,,,,450,,,,,450,450,450',
'450,,450,450,450,450,,,,,450,450,,,,257,257,257,450,257,450,450,450',
'257,257,,,,257,,257,257,257,257,257,257,257,,,,,,257,257,257,257,257',
'257,257,,,257,,,,,,,257,,,257,257,257,257,257,257,257,257,,257,257,257',
',257,257,257,257,257,,,,,,,,,,,,,,,,,,,,257,,,257,,,257,257,,,257,,',
',,,257,,,,,,,,,257,,,,,257,257,257,257,,257,257,257,257,,,,,257,257',
',,,717,717,717,257,717,257,257,257,717,717,,,,717,,717,717,717,717,717',
'717,717,,,,,,717,717,717,717,717,717,717,,,717,,,,,,,717,,,717,717,717',
'717,717,717,717,717,,717,717,717,,717,717,717,717,717,,,,,,,,,,,,,,',
',,,,,717,,,717,,,717,717,,,717,,,,,,717,,,,,,,,,717,,,,,717,717,717',
'717,,717,717,717,717,,,,,717,717,,,,258,258,258,717,258,717,717,717',
'258,258,,,,258,,258,258,258,258,258,258,258,,,,,,258,258,258,258,258',
'258,258,,,258,,,,,,,258,,,258,258,258,258,258,258,258,258,,258,258,258',
',258,258,258,258,258,,,,,,,,,,,,,,,,,,,,258,,,258,,,258,258,,,258,,',
',,,258,,,,,,,,,258,,,,,258,258,258,258,,258,258,258,258,,,,,258,258',
',,,259,259,259,258,259,258,258,258,259,259,,,,259,,259,259,259,259,259',
'259,259,,,,,,259,259,259,259,259,259,259,,,259,,,,,,,259,,,259,259,259',
'259,259,259,259,259,,259,259,259,,259,259,259,259,259,,,,,,,,,,,,,,',
',,,,,259,,,259,,,259,259,,,259,,,,,,259,,,,,,,,,259,,,,,259,259,259',
'259,,259,259,259,259,,,,,259,259,,,,739,739,739,259,739,259,259,259',
'739,739,,,,739,,739,739,739,739,739,739,739,,,,,,739,739,739,739,739',
'739,739,,,739,,,,,,,739,,,739,739,739,739,739,739,739,739,,739,739,739',
',739,739,739,739,739,,,,,,,,,,,,,,,,,,,,739,,,739,,,739,739,,,739,,',
',,,739,,,,,,,,,739,,,,,739,739,739,739,,739,739,739,739,,,,,739,739',
',,,260,260,260,739,260,739,739,739,260,260,,,,260,,260,260,260,260,260',
'260,260,,,,,,260,260,260,260,260,260,260,,,260,,,,,,,260,,,260,260,260',
'260,260,260,260,260,,260,260,260,,260,260,260,260,260,,,,,,,,,,,,,,',
',,,,,260,,,260,,,260,260,,,260,,,,,,260,,,,,,,,,260,,,,,260,260,260',
'260,,260,260,260,260,,,,,260,260,,,,256,256,256,260,256,260,260,260',
'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',
',,,255,255,255,256,255,256,256,256,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,,,,747,747,747,255,747,255,255,255',
'747,747,,,,747,,747,747,747,747,747,747,747,,,,,,747,747,747,747,747',
'747,747,,,747,,,,,,,747,,,747,747,747,747,747,747,747,747,,747,747,747',
',747,747,747,747,747,,,,,,,,,,,,,,,,,,,,747,,,747,,,747,747,,,747,,',
',,,747,,,,,,,,,747,,,,,747,747,747,747,,747,747,747,747,,,,,747,747',
',,,254,254,254,747,254,747,747,747,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,,,,760,760,760,254,760,254,254,254',
'760,760,,,,760,,760,760,760,760,760,760,760,,,,,,760,760,760,760,760',
'760,760,,,760,,,,,,,760,,,760,760,760,760,760,760,760,760,,760,760,760',
',760,760,760,760,760,,,,,,,,,,,,,,,,,,,,760,,,760,,,760,760,,,760,,',
',,,760,,,,,,,,,760,,,,,760,760,760,760,,760,760,760,760,,,,,760,760',
',,,761,761,761,760,761,760,760,760,761,761,,,,761,,761,761,761,761,761',
'761,761,,,,,,761,761,761,761,761,761,761,,,761,,,,,,,761,,,761,761,761',
'761,761,761,761,761,,761,761,761,,761,761,761,761,761,,,,,,,,,,,,,,',
',,,,,761,,,761,,,761,761,,,761,,,,,,761,,,,,,,,,761,,,,,761,761,761',
'761,,761,761,761,761,,,,,761,761,,,,762,762,762,761,762,761,761,761',
'762,762,,,,762,,762,762,762,762,762,762,762,,,,,,762,762,762,762,762',
'762,762,,,762,,,,,,,762,,,762,762,762,762,762,762,762,762,,762,762,762',
',762,762,762,762,762,,,,,,,,,,,,,,,,,,,,762,,,762,,,762,762,,,762,,',
',,,762,,,,,,,,,762,,,,,762,762,762,762,,762,762,762,762,,,,,762,762',
',,,763,763,763,762,763,762,762,762,763,763,,,,763,,763,763,763,763,763',
'763,763,,,,,,763,763,763,763,763,763,763,,,763,,,,,,,763,,,763,763,763',
'763,763,763,763,763,,763,763,763,,763,763,763,763,763,,,,,,,,,,,,,,',
',,,,,763,,,763,,,763,763,,,763,,,,,,763,,,,,,,,,763,,,,,763,763,763',
'763,,763,763,763,763,,,,,763,763,,,,253,253,253,763,253,763,763,763',
'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',
',,,765,765,765,253,765,253,253,253,765,765,,,,765,,765,765,765,765,765',
'765,765,,,,,,765,765,765,765,765,765,765,,,765,,,,,,,765,,,765,765,765',
'765,765,765,765,765,,765,765,765,,765,765,765,765,765,,,,,,,,,,,,,,',
',,,,,765,,,765,,,765,765,,,765,,,,,,765,,,,,,,,,765,,,,,765,765,765',
'765,,765,765,765,765,,,,,765,765,,,,252,252,252,765,252,765,765,765',
'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',
',,,251,251,251,252,251,252,252,252,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,,,,684,684,684,251,684,251,251,251',
'684,684,,,,684,,684,684,684,684,684,684,684,,,,,,684,684,684,684,684',
'684,684,,,684,,,,,,,684,,,684,684,684,684,684,684,684,684,,684,684,684',
',684,684,684,684,684,,,,,,,,,,,,,,,,,,,,684,,,684,,,684,684,,,684,,',
',,,684,,,,,,,,,684,,,,,684,684,684,684,,684,684,684,684,,,,,684,684',
',,,267,267,267,684,267,684,684,684,267,267,,,,267,,267,267,267,267,267',
'267,267,,,,,,267,267,267,267,267,267,267,,,267,,,,,,,267,,,267,267,267',
'267,267,267,267,267,267,267,267,267,,267,267,267,267,267,,,,,,,,,,,',
',,,,,,,,267,,,267,,,267,267,,,267,,267,,267,,267,,,267,,,,,,267,,,,',
'267,267,267,267,,267,267,267,267,,,,,267,267,,,,268,268,268,267,268',
'267,267,267,268,268,,,,268,,268,268,268,268,268,268,268,,,,,,268,268',
'268,268,268,268,268,,,268,,,,,,,268,,,268,268,268,268,268,268,268,268',
'268,268,268,268,,268,268,268,268,268,,,,,,,,,,,,,,,,,,,,268,,,268,,',
'268,268,,,268,,268,,268,,268,,,268,,,,,,268,,,,,268,268,268,268,,268',
'268,268,268,,,,,268,268,,,,276,276,276,268,276,268,268,268,276,276,',
',,276,,276,276,276,276,276,276,276,,,,,,276,276,276,276,276,276,276',
',,276,,,,,,,276,,,276,276,276,276,276,276,276,276,276,276,276,276,,276',
'276,276,276,276,,,,,,,,,,,,,,,,,,,,276,,,276,,,276,276,,,276,,276,,276',
',276,,,276,,,,,,276,,,,,276,276,276,276,,276,276,276,276,,,,,276,276',
'276,,,250,250,250,276,250,276,276,276,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,,,,249,249,249,250,249,250,250',
'250,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',
',,,248,248,248,249,248,249,249,249,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,,,,247,247,247,248,247,248,248,248',
'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',
',,,246,246,246,247,246,247,247,247,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,,,,245,245,245,246,245,246,246,246',
'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',
',,,805,805,805,245,805,245,245,245,805,805,,,,805,,805,805,805,805,805',
'805,805,,,,,,805,805,805,805,805,805,805,,,805,,,,,,,805,,,805,805,805',
'805,805,805,805,805,,805,805,805,,805,805,805,805,805,,,,,,,,,,,,,,',
',,,,,805,,,805,,,805,805,,,805,,,,,,805,,,,,,,,,805,,,,,805,805,805',
'805,,805,805,805,805,,,,,805,805,,,,658,658,658,805,658,805,805,805',
'658,658,,,,658,,658,658,658,658,658,658,658,,,,,,658,658,658,658,658',
'658,658,,,658,,,,,,,658,,,658,658,658,658,658,658,658,658,,658,658,658',
',658,658,658,658,658,,,,,,,,,,,,,,,,,,,,658,,,658,,,658,658,,,658,,658',
',,,658,,,,,,,,,658,,,,,658,658,658,658,,658,658,658,658,,,,,658,658',
',,,244,244,244,658,244,658,658,658,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,,,,283,283,283,244,283,244,244,244',
'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',
',,,818,818,818,283,818,283,283,283,818,818,,,,818,,818,818,818,818,818',
'818,818,,,,,,818,818,818,818,818,818,818,,,818,,,,,,,818,,,818,818,818',
'818,818,818,818,818,,818,818,818,,818,818,818,818,818,,,,,,,,,,,,,,',
',,,,,818,,,818,,,818,818,,,818,,,,,,818,,,,,,,,,818,,,,,818,818,818',
'818,,818,818,818,818,,,,,818,818,,,,285,285,285,818,285,818,818,818',
'285,285,,,,285,,285,285,285,285,285,285,285,,,,,,285,285,285,285,285',
'285,285,,,285,,,,,,,285,,,285,285,285,285,285,285,285,285,,285,285,285',
',285,285,285,285,285,,,,,,,,,,,,,,,,,,,,285,,,285,,,285,285,,,285,,',
',,,285,,,,,,,,,285,,,,,285,285,285,285,,285,285,285,285,,,,,285,285',
',,,288,288,288,285,288,285,285,285,288,288,,,,288,,288,288,288,288,288',
'288,288,,,,,,288,288,288,288,288,288,288,,,288,,,,,,,288,,,288,288,288',
'288,288,288,288,288,,288,288,288,,288,288,288,288,288,,,,,,,,,,,,,,',
',,,,,288,,,288,,,288,288,,,288,,,,,,288,,,,,,,,,288,,,,,288,288,288',
'288,,288,288,288,288,,,,,288,288,,,,289,289,289,288,289,288,288,288',
'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',
',,,243,243,243,289,243,289,289,289,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,,,,653,653,653,243,653,243,243,243',
'653,653,,,,653,,653,653,653,653,653,653,653,,,,,,653,653,653,653,653',
'653,653,,,653,,,,,,,653,,,653,653,653,653,653,653,653,653,,653,653,653',
',653,653,,,653,,,,,,,,,,,,,,,,,,,,653,,,653,,,653,653,,,653,,,803,,803',
'803,803,803,803,,,,,,,,,803,,653,653,653,653,,653,653,653,653,,,,,653',
'653,,,,,,803,653,,653,653,653,294,294,294,294,294,803,803,,294,294,803',
',,294,,294,294,294,294,294,294,294,,,,,,294,294,294,294,294,294,294',
',,294,,,,,,294,294,,294,294,294,294,294,294,294,294,294,,294,294,294',
',294,294,294,294,294,,,,,,,,,,,,,,,,,,,,294,,,294,,,294,294,,,294,,294',
',,,294,,,,,,,,,294,,,,,294,294,294,294,,294,294,294,294,,,,,294,294',
',,,242,242,242,294,242,294,294,294,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,,,,241,241,241,242,241,242,242,242',
'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',
',,,841,841,841,241,841,241,241,241,841,841,,,,841,,841,841,841,841,841',
'841,841,,,,,,841,841,841,841,841,841,841,,,841,,,,,,,841,,,841,841,841',
'841,841,841,841,841,841,841,841,841,,841,841,841,841,841,,,,,,,,,,,',
',,,,,,,,841,,,841,,,841,841,,,841,,,,841,,841,,,841,,,,,,841,,,,,841',
'841,841,841,,841,841,841,841,,,,,841,841,,,,43,43,43,841,43,841,841',
'841,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,,,,221,221,221,43,221,43,43,43,221,221,,,,221',
',221,221,221,221,221,221,221,,,,,,221,221,221,221,221,221,221,,,221',
',,,,,,221,,,221,221,221,221,221,221,221,221,,221,221,221,,221,221,221',
'221,221,,,,,,,,,,,,,,,,,,,,221,,,221,,,221,221,,,221,,,,,,221,,,,,,',
',,221,,,,,221,221,221,221,,221,221,221,221,,,,,221,221,221,,,220,220',
'220,221,220,221,221,221,220,220,,,,220,,220,220,220,220,220,220,220',
',,,,,220,220,220,220,220,220,220,,,220,,,,,,,220,,,220,220,220,220,220',
'220,220,220,,220,220,220,,220,220,220,220,220,,,,,,,,,,,,,,,,,,,,220',
',,220,,,220,220,,,220,,,,,,220,,,,,,,,,220,,,,,220,220,220,220,,220',
'220,220,220,,,,,220,220,,,,219,219,219,220,219,220,220,220,219,219,',
',,219,,219,219,219,219,219,219,219,,,,,,219,219,219,219,219,219,219',
',,219,,,,,,,219,,,219,219,219,219,219,219,219,219,,219,219,219,,219',
'219,219,219,219,,,,,,,,,,,,,,,,,,,,219,,,219,,,219,219,,,219,,,,,,219',
',,,,,,,,219,,,,,219,219,219,219,,219,219,219,219,,,,,219,219,,,,975',
'975,975,219,975,219,219,219,975,975,,,,975,,975,975,975,975,975,975',
'975,,,,,,975,975,975,975,975,975,975,,,975,,,,,,,975,,,975,975,975,975',
'975,975,975,975,975,975,975,975,,975,975,975,975,975,,,,,,,,,,,,,,,',
',,,,975,,,975,,,975,975,,,975,,975,,975,,975,,,975,,,,,,975,,,,,975',
'975,975,975,,975,975,975,975,,,,,975,975,,,,44,44,44,975,44,975,975',
'975,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,,,,562,562,562,44,562,44,44,44,562,562,,,,562',
',562,562,562,562,562,562,562,,,,,,562,562,562,562,562,562,562,,,562',
',,,,,,562,,,562,562,562,562,562,562,562,562,562,562,562,562,,562,562',
'562,562,562,,,,,,,,,,,,,,,,,,,,562,,,562,,,562,562,,,562,,562,,562,',
'562,,,562,,,,,,562,,,,,562,562,562,562,,562,562,562,562,,,,,562,562',
',,,343,343,343,562,343,562,562,562,343,343,,,,343,,343,343,343,343,343',
'343,343,,,,,,343,343,343,343,343,343,343,,,343,,,,,,,343,,,343,343,343',
'343,343,343,343,343,,343,343,343,,343,343,343,343,343,,,,,,,,,,,,,,',
',,,,,343,,,343,,,343,343,,,343,,,,,,343,,,,,,,,,343,,,,,343,343,343',
'343,,343,343,343,343,,,,,343,343,,,,344,344,344,343,344,343,343,343',
'344,344,,,,344,,344,344,344,344,344,344,344,,,,,,344,344,344,344,344',
'344,344,,,344,,,,,,,344,,,344,344,344,344,344,344,344,344,,344,344,344',
',344,344,344,344,344,,,,,,,,,,,,,,,,,,,,344,,,344,,,344,344,,,344,,',
',,,344,,,,,,,,,344,,,,,344,344,344,344,,344,344,344,344,,,,,344,344',
',,,552,552,552,344,552,344,344,344,552,552,,,,552,,552,552,552,552,552',
'552,552,,,,,,552,552,552,552,552,552,552,,,552,,,,,,,552,,,552,552,552',
'552,552,552,552,552,552,552,552,552,,552,552,552,552,552,,,,,,,,,,,',
',,,,,,,,552,,,552,,,552,552,,,552,,552,,552,,552,,,552,,,,,,552,,,,',
'552,552,552,552,,552,552,552,552,,,,,552,552,,,,551,551,551,552,551',
'552,552,552,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,551,,,,214,214,214,551,214,551,551,551,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,214,214,,,,,214,214,,,,213,213,213',
'214,213,214,214,214,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,,,,537,537,537,213,537,213,213,213,537,537,,,,537,,537',
'537,537,537,537,537,537,,,,,,537,537,537,537,537,537,537,,,537,,,,,',
',537,,,537,537,537,537,537,537,537,537,537,537,537,537,,537,537,537',
'537,537,,,,,,,,,,,,,,,,,,,,537,,,537,,,537,537,,,537,,,,,,537,,,537',
',,,,,537,,,,,537,537,537,537,,537,537,537,537,,,,,537,537,,,,534,534',
'534,537,534,537,537,537,534,534,,,,534,,534,534,534,534,534,534,534',
',,,,,534,534,534,534,534,534,534,,,534,,,,,,,534,,,534,534,534,534,534',
'534,534,534,534,534,534,534,,534,534,534,534,534,,,,,,,,,,,,,,,,,,,',
'534,,,534,,,534,534,,,534,,534,,,,534,,,534,,,,,,534,,,,,534,534,534',
'534,,534,534,534,534,,,,,534,534,,,,212,212,212,534,212,534,534,534',
'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',
',,,211,211,211,212,211,212,212,212,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,211,211,211,211,,,,,,,,,,,,,,',
',,,,,211,,,211,,,211,211,,,211,,,,,,211,,,,,,,,,211,,,,,211,211,211',
'211,,211,211,211,211,,,,,211,211,,,,210,210,210,211,210,211,211,211',
'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,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,58,58,58,58,58,,,,58,58,,,,58,,58,58,58,58,58',
'58,58,,,,,,58,58,58,58,58,58,58,,,58,,,,,,58,58,,58,58,58,58,58,58,58',
'58,58,,58,58,58,,58,58,58,58,58,,,,,,,,,,,,,,,,,,,,58,,,58,,,58,58,',
',58,,58,,,,58,,,,,,,,,58,,,,,58,58,58,58,,58,58,58,58,,,,,58,58,,,,209',
'209,209,58,209,58,58,58,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,,,,528,528,528,209,528,209,209,209,528,528,',
',,528,,528,528,528,528,528,528,528,,,,,,528,528,528,528,528,528,528',
',,528,,,,,,,528,,,528,528,528,528,528,528,528,528,,528,528,528,,528',
'528,528,528,528,,,,,,,,,,,,,,,,,,,,528,,,528,,,528,528,,,528,,,,,,528',
',,,,,,,,528,,,,,528,528,528,528,,528,528,528,528,,,,,528,528,,,,59,59',
'59,528,59,528,528,528,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,,,,524,524,524,59,524',
'59,59,59,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,,,,363,363,363,524,363,524,524,524,363,363,,,,363,,363,363,363',
'363,363,363,363,,,,,,363,363,363,363,363,363,363,,,363,,,,,,,363,,,363',
'363,363,363,363,363,363,363,,363,363,363,,363,363,363,363,363,,,,,,',
',,,,,,,,,,,,,363,,,363,,,363,363,,,363,,,,,,363,,,,,,,,,363,,,,,363',
'363,363,363,,363,363,363,363,,,,,363,363,,,,523,523,523,363,523,363',
'363,363,523,523,,,,523,,523,523,523,523,523,523,523,,,,,,523,523,523',
'523,523,523,523,,,523,,,,,,,523,,,523,523,523,523,523,523,523,523,,523',
'523,523,,523,523,523,523,523,,,,,,,,,,,,,,,,,,,,523,,,523,,,523,523',
',,523,,,,,,523,,,,,,,,,523,,,,,523,523,523,523,,523,523,523,523,,,,',
'523,523,,,,520,520,520,523,520,523,523,523,520,520,,,,520,,520,520,520',
'520,520,520,520,,,,,,520,520,520,520,520,520,520,,,520,,,,,,,520,,,520',
'520,520,520,520,520,520,520,,520,520,520,,520,520,,,520,,,,,,,,,,,,',
',,,,,,,520,,,520,,,520,520,,,520,,,,,,,,,,,,,,,,,,,,520,520,520,520',
',520,520,520,520,,,,,520,520,,,,514,514,514,520,514,520,520,520,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,514,514,,,,,514',
'514,,,,512,512,512,514,512,514,514,514,512,512,,,,512,,512,512,512,512',
'512,512,512,,,,,,512,512,512,512,512,512,512,,,512,,,,,,,512,,,512,512',
'512,512,512,512,512,512,,512,512,512,,512,512,,,512,,,,,,,,,,,,,,,,',
',,,512,,,512,,,512,512,,,512,,,997,,997,997,997,997,997,,,,,,,,,997',
',512,512,512,512,,512,512,512,512,,,,,512,512,,,,,,997,512,,512,512',
'512,122,122,122,122,122,997,997,,122,122,997,,,122,,122,122,122,122',
'122,122,122,,,,,,122,122,122,122,122,122,122,,,122,,,,,,122,122,,122',
'122,122,122,122,122,122,122,122,,122,122,122,,122,122,122,122,122,,',
',,,,,,,,,,,,,,,,,122,,,122,,,122,122,,,122,,122,,,,122,,,,,,,,,122,',
',,,122,122,122,122,,122,122,122,122,,,,,122,122,,,,121,121,121,122,121',
'122,122,122,121,121,,,,121,,121,121,121,121,121,121,121,,,,,,121,121',
'121,121,121,121,121,,,121,,,,,,,121,,,121,121,121,121,121,121,121,121',
',121,121,121,,121,121,121,121,121,,,,,,,,,,,,,,,,,,,,121,,,121,,,121',
'121,,,121,,,,,,121,,,,,,,,,121,,,,,121,121,121,121,,121,121,121,121',
',,,,121,121,,,,379,379,379,121,379,121,121,121,379,379,,,,379,,379,379',
'379,379,379,379,379,,,,,,379,379,379,379,379,379,379,,,379,,,,,,,379',
',,379,379,379,379,379,379,379,379,,379,379,379,,379,379,379,379,379',
',,,,,,,,,,,,,,,,,,,379,,,379,,,379,379,,,379,,,,,,379,,,,,,,,,379,,',
',,379,379,379,379,,379,379,379,379,,,,,379,379,,,,,,,379,,379,379,379',
'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,504,504,504,,,,,504,504,,,,,,504,504,,504,504,504,498,498,498',
',498,,,,498,498,,,,498,,498,498,498,498,498,498,498,,,,,,498,498,498',
'498,498,498,498,,,498,,,,,,,498,,,498,498,498,498,498,498,498,498,,498',
'498,498,,498,498,498,498,498,,,,,,,,,,,,,,,,,,,,498,,,498,,,498,498',
',,498,,,,,,498,,,,,,,,,498,,,,,498,498,498,498,,498,498,498,498,,,,',
'498,498,,,,496,496,496,498,496,498,498,498,496,496,,,,496,,496,496,496',
'496,496,496,496,,,,,,496,496,496,496,496,496,496,,,496,,,,,,,496,,,496',
'496,496,496,496,496,496,496,496,496,496,496,,496,496,496,496,496,,,',
',,,,,,,,,,,,,,,,496,,,496,,,496,496,,,496,,,,496,,496,,,496,,,,,,496',
',,,,496,496,496,496,,496,496,496,496,,,,,496,496,,,,494,494,494,496',
'494,496,496,496,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,,,,120,120,120,494,120,494,494,494,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,,,,119',
'119,119,120,119,120,120,120,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,,,,118,118,118,119,118,119,119,119,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,',
',,60,60,60,118,60,118,118,118,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,,,,407,407,407,63,407,63,63,63,407,407,,,',
'407,,407,407,407,407,407,407,407,,,,,,407,407,407,407,407,407,407,,',
'407,,,,,,,407,,,407,407,407,407,407,407,407,407,,407,407,407,,407,407',
'407,407,407,,,,,,,,,,,,,,,,,,,,407,,,407,,,407,407,,,407,,,,,,407,,',
',,,,,,407,,,,,407,407,407,407,,407,407,407,407,,,,,407,407,,,,64,64',
'64,407,64,407,407,407,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,113,113,113,113,113,,,,113,113',
',,,113,,113,113,113,113,113,113,113,,,,,,113,113,113,113,113,113,113',
',,113,,,,,,113,113,113,113,113,113,113,113,113,113,113,113,,113,113',
'113,,113,113,113,113,113,,,,,,,,,,,,,,,,,,,,113,,,113,,,113,113,,,113',
',113,,,,113,,,,,,,,,113,,,,,113,113,113,113,,113,113,113,113,,,,,113',
'113,,,,,,113,113,,113,113,113,68,68,68,,68,,,,68,68,,,,68,,68,68,68',
'68,68,68,68,,,,,,68,68,68,68,68,68,68,,,68,,,,,,,68,,,68,68,68,68,68',
'68,68,68,,68,68,68,,68,68,,,68,,,,,,,,,,,,,,,,,,,,68,,,68,,,68,68,,',
'68,,68,,,,,,,,,,,,,,,,,,68,68,68,68,,68,68,68,68,,,,,68,68,,,,69,69',
'69,68,69,68,68,68,69,69,,,,69,,69,69,69,69,69,69,69,,,,,,69,69,69,69',
'69,69,69,,,69,,,,,,,69,,,69,69,69,69,69,69,69,69,,69,69,69,,69,69,,',
'69,,,,,,,,,,,,,,,,,69,,,69,,,69,,,69,69,,,69,,,,,,,,,,,,,,,,,,,,69,69',
'69,69,,69,69,69,69,,,,,69,69,,,,70,70,70,69,70,69,69,69,70,70,,,,70',
',70,70,70,70,70,70,70,,,,,,70,70,70,70,70,70,70,,,70,,,,,,,70,,,70,70',
'70,70,70,70,70,70,,70,70,70,,70,70,,,70,,,,,,,,,,,,,,,,,,,,70,,,70,',
',70,70,,,70,,,,,,,,,,,,,,,,,,,,70,70,70,70,,70,70,70,70,,,,,70,70,,',
',454,454,454,70,454,70,70,70,454,454,,,,454,,454,454,454,454,454,454',
'454,,,,,,454,454,454,454,454,454,454,,,454,,,,,,,454,,,454,454,454,454',
'454,454,454,454,,454,454,454,,454,454,454,454,454,,,,,,,,,,,,,,,,,,',
',454,,,454,,,454,454,,,454,,,,,,454,,,,,,,,,454,,,,,454,454,454,454',
',454,454,454,454,,,,,454,454,,,,453,453,453,454,453,454,454,454,453',
'453,,,,453,,453,453,453,453,453,453,453,,,,,,453,453,453,453,453,453',
'453,,,453,,,,,,,453,,,453,453,453,453,453,453,453,453,,453,453,453,',
'453,453,453,453,453,,,,,,,,,,,,,,,,,,,,453,,,453,,,453,453,,,453,,,',
',,453,,,,,,,,,453,,,,,453,453,453,453,,453,453,453,453,,,,,453,453,',
',,452,452,452,453,452,453,453,453,452,452,,,,452,,452,452,452,452,452',
'452,452,,,,,,452,452,452,452,452,452,452,,,452,,,,,,,452,,,452,452,452',
'452,452,452,452,452,,452,452,452,,452,452,452,452,452,,,,,,,,,,,,,,',
',,,,,452,,,452,,,452,452,,,452,,,,,,452,,,,,,,,,452,,,,,452,452,452',
'452,,452,452,452,452,,,,,452,452,,,,606,606,606,452,606,452,452,452',
'606,606,,,,606,,606,606,606,606,606,606,606,,,,,,606,606,606,606,606',
'606,606,,,606,,,,,,,606,,,606,606,606,606,606,606,606,606,,606,606,606',
',606,606,606,606,606,,,,,,,,,,,,,,,,,,,,606,,,606,,,606,606,,,606,,',
',,,606,,,,,,,,,606,,,,,606,606,606,606,,606,606,606,606,,,,,606,606',
',,,327,327,327,606,327,606,606,606,327,327,,,,327,,327,327,327,327,327',
'327,327,,,,,,327,327,327,327,327,327,327,,,327,,,,,,,327,,,327,327,327',
'327,327,327,327,327,,327,327,327,,327,327,327,327,327,,,,,,,,,,,,,,',
',,,,,327,,,327,327,,327,327,,,327,,,,,,327,,,,,,,,,327,,,,,327,327,327',
'327,,327,327,327,327,,,,,327,327,,,,605,605,605,327,605,327,327,327',
'605,605,,,,605,,605,605,605,605,605,605,605,,,,,,605,605,605,605,605',
'605,605,,,605,,,,,,,605,,,605,605,605,605,605,605,605,605,,605,605,605',
',605,605,605,605,605,,,,,,,,,,,,,,,,,,,,605,,,605,,,605,605,,,605,,',
',,,605,,,,,,,,,605,,,,,605,605,605,605,,605,605,605,605,,,,,605,605',
',,,604,604,604,605,604,605,605,605,604,604,,,,604,,604,604,604,604,604',
'604,604,,,,,,604,604,604,604,604,604,604,,,604,,,,,,,604,,,604,604,604',
'604,604,604,604,604,604,604,604,604,,604,604,604,604,604,,,,,,,,,,,',
',,,,,,,,604,,,604,,,604,604,,,604,,,,604,,604,,,604,,,,,,604,,,,,604',
'604,604,604,,604,604,604,604,,,,,604,604,,,,603,603,603,604,603,604',
'604,604,603,603,,,,603,,603,603,603,603,603,603,603,,,,,,603,603,603',
'603,603,603,603,,,603,,,,,,,603,,,603,603,603,603,603,603,603,603,603',
'603,603,603,,603,603,603,603,603,,,,,,,,,,,,,,,,,,,,603,,,603,,,603',
'603,,,603,,603,,603,,603,,,603,,,,,,603,,,,,603,603,603,603,,603,603',
'603,603,,,,,603,603,,,,600,600,600,603,600,603,603,603,600,600,,,,600',
',600,600,600,600,600,600,600,,,,,,600,600,600,600,600,600,600,,,600',
',,,,,,600,,,600,600,600,600,600,600,600,600,,600,600,600,,600,600,600',
'600,600,,,,,,,,,,,,,,,,,,,,600,,,600,,,600,600,,,600,,,,,,600,,,,,,',
',,600,,,,,600,600,600,600,,600,600,600,600,,,,,600,600,,,,711,711,711',
'600,711,600,600,600,711,711,,,,711,,711,711,711,711,711,711,711,,,,',
',711,711,711,711,711,711,711,,,711,,,,,,,711,,,711,711,711,711,711,711',
'711,711,,711,711,711,,711,711,711,711,711,,,,,,,,,,,,,,,,,,,,711,,,711',
',,711,711,,,711,,,,,,711,,,,,,,,,711,,,,,711,711,711,711,,711,711,711',
'711,,,,,711,711,,,,,,,711,,711,711,711,599,599,599,599,599,,,,599,599',
',,,599,,599,599,599,599,599,599,599,,,,,,599,599,599,599,599,599,599',
',,599,,,,,,599,599,,599,599,599,599,599,599,599,599,599,,599,599,599',
',599,599,599,599,599,,,,,,,,,,,,,,,,,,,,599,,,599,,,599,599,,,599,,599',
',,,599,,,,,,,,,599,,,,,599,599,599,599,,599,599,599,599,,,,,599,599',
',,,596,596,596,599,596,599,599,599,596,596,,,,596,,596,596,596,596,596',
'596,596,,,,,,596,596,596,596,596,596,596,,,596,,,,,,,596,,,596,596,596',
'596,596,596,596,596,596,596,596,596,,596,596,596,596,596,,,,,,,,,,,',
',,,,,,,,596,,,596,,,596,596,,,596,,596,,596,,596,,,596,,,,,,596,,,,',
'596,596,596,596,,596,596,596,596,,,,,596,596,,,,595,595,595,596,595',
'596,596,596,595,595,,,,595,,595,595,595,595,595,595,595,,,,,,595,595',
'595,595,595,595,595,,,595,,,,,,,595,,,595,595,595,595,595,595,595,595',
',595,595,595,,595,595,595,595,595,,,,,,,,,,,,,,,,,,,,595,,,595,,,595',
'595,,,595,,,,,,595,,,,,,,,,595,,,,,595,595,595,595,,595,595,595,595',
',,,,595,595,,,,594,594,594,595,594,595,595,595,594,594,,,,594,,594,594',
'594,594,594,594,594,,,,,,594,594,594,594,594,594,594,,,594,,,,,,,594',
',,594,594,594,594,594,594,594,594,,594,594,594,,594,594,594,594,594',
',,,,,,,,,,,,,,,,,,,594,,,594,,,594,594,,,594,,594,,,,594,,,,,,,,,594',
',,,,594,594,594,594,,594,594,594,594,,,,,594,594,,,,42,42,42,594,42',
'594,594,594,42,42,,,,42,,42,42,42,42,42,42,42,,,,,,42,42,42,42,42,42',
'42,,,42,,,,,,,42,,,42,42,42,42,42,42,42,42,,42,42,42,,42,42,42,42,42',
',,,,,,,,,,,,,,,,,,,42,,,42,,,42,42,,,42,,,,,,42,,,,,,,,,42,,,,,42,42',
'42,42,,42,42,42,42,,,,,42,42,,,,,,,42,,42,42,42,9,9,9,9,9,9,9,9,9,9',
'9,9,9,9,9,9,9,9,9,9,9,9,9,9,,,,9,9,9,9,9,9,9,9,9,9,,,,,,9,9,9,9,9,9',
'9,9,9,,,9,,,,,,,,9,9,,9,9,9,9,9,9,9,,,9,9,,,,9,9,9,9,,,,,,,,,,,,,,9',
'9,,9,9,9,9,9,9,9,9,9,9,9,9,,,9,9,,,,,,,,,,,,,,9,8,8,8,8,8,8,8,8,8,8',
'8,8,8,8,8,8,8,8,8,8,8,8,8,8,,,,8,8,8,8,8,8,8,8,8,8,,,,,,8,8,8,8,8,8',
'8,8,8,8,,8,,,,,,,,8,8,,8,8,8,8,8,8,8,,,8,8,,,,8,8,8,8,,,,,,,,,,,,,,8',
'8,,8,8,8,8,8,8,8,8,8,8,8,8,,,8,8,,,,,,,,,,,,,,8,398,398,398,398,398',
'398,398,398,398,398,398,398,398,398,398,398,398,398,398,398,398,398',
'398,398,,,,398,398,398,398,398,398,398,398,398,398,,,,,,398,398,398',
'398,398,398,398,398,398,,,398,,,,,,,,398,398,,398,398,398,398,398,398',
'398,,,398,398,,,,398,398,398,398,,,,,,,,,,,,,,398,398,,398,398,398,398',
'398,398,398,398,398,398,398,398,,,398,398,,,,,,,,,,,,,,398,591,591,591',
'591,591,591,591,591,591,591,591,591,591,591,591,591,591,591,591,591',
'591,591,591,591,,,,591,591,591,591,591,591,591,591,591,591,,,,,,591',
'591,591,591,591,591,591,591,591,,,591,,,,,,,,591,591,,591,591,591,591',
'591,591,591,,,591,591,,,,591,591,591,591,,,,,,,,,,,,,,591,591,,591,591',
'591,591,591,591,591,591,591,591,591,591,,,591,591,,,,,,,,,,,,,,591,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,723,723',
'723,723,723,723,723,723,723,723,723,723,723,723,723,723,723,723,723',
'723,723,723,723,723,,,,723,723,723,723,723,723,723,723,723,723,,,,,',
'723,723,723,723,723,723,723,723,723,,,723,,,,,,,,723,723,,723,723,723',
'723,723,723,723,,,723,723,,,,723,723,723,723,,,,,,,,,,,,,,723,723,,723',
'723,723,723,723,723,723,723,723,723,723,723,515,515,723,,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',
'561,561,515,,561,,,,,,,,561,561,,561,561,561,561,561,561,561,,,561,561',
',,,561,561,561,561,,,,,,561,,,,,,,,561,561,,561,561,561,561,561,561',
'561,561,561,561,561,561,972,972,561,,972,,,,,,,,972,972,,972,972,972',
'972,972,972,972,,,972,972,,,,972,972,972,972,,,,,,972,,,,,,,,972,972',
',972,972,972,972,972,972,972,972,972,972,972,972,597,597,972,,597,,',
',,,,,597,597,,597,597,597,597,597,597,597,,,597,597,,,,597,597,597,597',
',,,,,597,,,,,,,,597,597,,597,597,597,597,597,597,597,597,597,597,597',
'597,598,598,597,,598,,,,,,,,598,598,,598,598,598,598,598,598,598,,,598',
'598,,,,598,598,598,598,,,,,,598,,,,,,,,598,598,,598,598,598,598,598',
'598,598,598,598,598,598,598,449,449,598,,449,,,,,,,,449,449,,449,449',
'449,449,449,449,449,,,449,449,,,,449,449,449,449,,,,,,449,,,,,,,,449',
'449,,449,449,449,449,449,449,449,449,449,449,449,449,448,448,449,,448',
',,,,,,,448,448,,448,448,448,448,448,448,448,,,448,448,,,,448,448,448',
'448,,,,,,448,,,,,,,,448,448,,448,448,448,448,448,448,448,448,448,448',
'448,448,263,263,448,,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,215,215,263,,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,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,976,976,216,,976,,,,,,,,976,976,,976,976,976,976,976,976,976',
',,976,976,,,,976,976,976,976,,,,,,976,,,,,,,,976,976,,976,976,976,976',
'976,976,976,976,976,976,976,976,560,560,976,,560,,,,,,,,560,560,,560',
'560,560,560,560,560,560,,,560,560,,,,560,560,560,560,,,,,,560,,,,,,',
',560,560,,560,560,560,560,560,560,560,560,560,560,560,560,554,554,560',
',554,,,,,,,,554,554,,554,554,554,554,554,554,554,,,554,554,,,,554,554',
'554,554,,,,,,554,,,,,,,,554,554,,554,554,554,554,554,554,554,554,554',
'554,554,554,525,525,554,,525,,,,,,,,525,525,,525,525,525,525,525,525',
'525,,,525,525,,,,525,525,525,525,,,,,,525,,,,,,,,525,525,,525,525,525',
'525,525,525,525,525,525,525,525,525,526,526,525,,526,,,,,,,,526,526',
',526,526,526,526,526,526,526,,,526,526,,,,526,526,526,526,,,,,,526,',
',,,,,,526,526,,526,526,526,526,526,526,526,526,526,526,526,526,553,553',
'526,,553,,,,,,,,553,553,,553,553,553,553,553,553,553,,,553,553,,,,553',
'553,553,553,,,,,,553,,,,,,,,553,553,,553,553,553,553,553,553,553,553',
'553,553,553,553,977,977,553,,977,,,,,,,,977,977,,977,977,977,977,977',
'977,977,,,977,977,,,,977,977,977,977,,,,,,977,,,,,,,,977,977,,977,977',
'977,977,977,977,977,977,977,977,977,977,516,516,977,,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,,542',
'516,542,542,542,542,542,,721,,721,721,721,721,721,542,,,,,,,,721,,995',
',995,995,995,995,995,,,,,,542,542,,995,,,,,721,542,542,542,542,,,,542',
'721,721,721,721,,,,721,995,,993,,993,993,993,993,993,,,995,995,,,,995',
'993,,910,,910,910,910,910,910,,799,,799,799,799,799,799,910,,,,,993',
',,799,,,,,,993,993,993,993,,,,993,910,,,,,,,,799,910,910,910,910,,,',
'910,799,799,799,799,,,912,799,912,912,912,912,912,,801,,801,801,801',
'801,801,912,,,,,,,,801,,914,,914,914,914,914,914,,,,,,912,,,914,,,,',
'801,912,912,912,912,,,,912,801,801,801,801,,,,801,914,,722,,722,722',
'722,722,722,,,914,914,,,,914,722,,1014,,1014,1014,1014,1014,1014,940',
',940,940,940,940,940,,1014,,,,,722,,940,,,,,,,722,722,722,722,,,,722',
'1014,,,,,,,940,,,,1014,1014,,,,1014,,940,940,,,664,940,664,664,664,664',
'664,999,,999,999,999,999,999,938,664,938,938,938,938,938,,999,,,,,,',
'938,,,,,,,,664,,,,,,,999,,664,664,664,664,,938,,664,,999,999,,,,999',
',938,938,,,,938' ]
        racc_action_check = arr = ::Array.new(25333, 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 = [
  5068,    10,   nil,  -101,   nil,  7356,   935,   -53, 23276, 23148,
   -32,   nil,   -42,     3,   156,   127,   580,   399,   nil,   -69,
  8535,  2408,   203,   nil,   362,   nil,   184,   984,  1713,  6030,
  6161,  6292,   nil,  5488,  7086,  7217,   nil,   113,   469,   403,
   198,   199, 23009, 14962, 15617,   168,   728,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,  1305,   nil, 17328, 17721,
 19972,    33,   nil, 20103, 20365,   nil,   nil, 20496, 20774, 20905,
 21036, 23660,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   514,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,     0,   nil,   nil,
   388,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   335,   nil, 20635,   nil,   nil,   nil,   nil, 19841, 19710,
 19579, 18777, 18646,  3528,   nil,   -28,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   214,   nil,  4648, 17459,
 17189, 17058, 16927, 16534, 16403, 24322, 24383,   nil,   nil, 15355,
 15224, 15093,   nil,   nil,   688,   162,   166,   296,   292,   260,
   327,   nil,  8666,  3108,   328,  8404,  8273,  7749,  7487,  6955,
  6562, 14700, 14569, 14168, 13382, 12989, 12858, 12727, 12596, 12465,
 12334, 11679, 11548, 11286, 10631, 10369, 10238,  9452,  9714,  9845,
 10107,   nil,   nil, 24261,   nil,   nil,   325, 11941, 12072,   nil,
   nil,   nil,   nil,   nil,   nil,   nil, 12203,   nil,  2548,   nil,
   289,   293,   nil, 13513,   363, 13775,   nil,   nil, 13906, 14037,
   nil,   nil,    99,   nil, 14438,  1213,   357,   334,  4228,   372,
   413,   375,  6423,  4508,   860,   863,   896,   454,   956,   nil,
   424,   387,   199,   nil,   nil,   nil,   439,   233,   400,  8011,
   nil,   227,   484,   576,   nil,   495,   nil, 21691,  5768,  1145,
   433,   nil,   394,   319,   485,   476,   429,   505,   nil,   nil,
   278,    35,    32, 15879, 16010,    81,   577,   460,    67,    25,
  1028,   542,    11,   575,   nil,   nil,   501,   611,   294,   nil,
  1025,   nil,   503, 17983,   nil,   nil,   nil,   698,   696,   694,
   693,   625,   588,   584,   582,   555,   nil,   445,   nil, 18908,
   nil,   423,   427,   319,   432,   494,   -41,   -45,   143,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   501, 23404,   nil,
   nil,   nil,   nil,   510,   nil,   nil,   494, 20234,   501,   nil,
   nil,   492,   nil,   764,   140,   594,   nil,   nil,  1848,   nil,
   nil,   nil,   nil,   nil,  1988,   508,   nil,   513,   521,   308,
   256,  1195,   nil,   nil,   nil,   498,   852,   566,   nil,   nil,
  1441,  1577,   nil,   nil,   nil,   -31,   nil,   566, 24200, 24139,
  9321,    64, 21429, 21298, 21167,  3248,  4088,   681,   560,   601,
   604,   605,   627,  4648,  4508,  4788,  3808,  1526,  1662,  3528,
  1392,  3388,  3948,  3108,  3668,  2968,   941,  1033,  4228,  4368,
  2128,   nil,  1116,   nil,   nil,   nil,   nil,   569,   nil,   nil,
   nil,   573,   nil,   nil, 19448,   nil, 19317,   nil, 19186,   nil,
   419,   nil,   nil,   nil, 19047,  1327,  3388,   577,   579,   nil,
   nil,   592, 18507,   601, 18376, 23834, 24871,   692,   643,   nil,
 18245,   604,   nil, 18114, 17852, 24627, 24688,  2828, 17590,   733,
   735,   616,   658,   nil, 16796,   nil,   nil, 16665,   nil,   nil,
   nil,   nil, 24933,  2268,   740,   nil,  2548,   149,   121,   739,
   755, 16272, 16141, 24749, 24566,    41,   nil,   nil,   995,   nil,
 24505, 23895, 15748,   nil,   nil,   234,  3948,   677,   nil,   -33,
   nil,   nil,   nil,  1115,   nil,   nil,   nil,   649,   nil,   nil,
   308,   nil,   178,   nil,   nil,   640,   nil,   666,   nil,   nil,
   nil, 23532,   nil,   668, 22878, 22747, 22616, 24017, 24078, 22485,
 22215,   367,   714, 22084, 21953, 21822, 21560,   713,   nil,   nil,
  9059,  8928,   715,   nil,   nil,   nil,   211,   255,   250,   112,
   684,   684,   808,   nil,   792,   -23,   nil,   nil,   711,   -57,
   828,   nil,   706,   nil,   756,  8142,   nil,   nil,  7880,   nil,
   731,   -80,  7618,   712,   nil,   716,   277,   275,   767,   241,
   820,   775,   743, 14299,   nil,   819,   -14,   872, 13251,   nil,
   nil,   nil,   343,   nil, 25214,   nil,   754,   757,   nil,   763,
   765,   766,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   757,  1162,   nil,   nil, 11810,   nil,   nil,   nil,   850,   nil,
   nil,   nil,   852,   nil,   nil,   854,   362,   nil,   902,   nil,
   nil,   nil,   nil,   908,   nil,    98,   803,    27,    64,    26,
    68, 22346,   790,   765,   nil,   809,  2968,  9583,   nil,   932,
  3668, 24941, 25138, 23773,   nil,   nil,   nil,   nil,   nil,   nil,
  2828,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   810,  9976,
   816,   337,   325,   608,   720,   nil,  2268, 10500,   nil,   815,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
 10762, 10893, 11024, 11155,   305, 11417,   nil,   -53,   nil,   nil,
   836,   nil,   nil,   915,   nil,  4368,   nil,   nil,   nil,   nil,
   nil,   818,   276,   nil,   nil,   959,   nil,  2408,   853,   901,
   nil,   nil,   nil,    36,   860,  1047,   nil,   nil,   182, 25022,
   nil, 25082,   nil, 14346,   nil, 13120,   nil,  1368,   nil,   866,
   253,   871,   nil,   nil,   nil,   nil,   995,   nil, 13644,   997,
  5628,  1848,   nil,  9190,  1988,    71,   150,   nil,   999,   -73,
  2688,   nil,  1007,   887,   -75,   nil,   891,   889,   304,   nil,
   nil, 14831,  5899,  2688,  4088,   nil,   896,   902,   nil,   903,
   904,   908,   nil,   933,   918,   929,   927,  6693,   nil,   nil,
   nil,   nil,  4788,   nil,   nil,   102,  6824,   nil,   nil,   nil,
   nil,   985,   948,   nil,   nil,   nil,   950,   961,   nil,   968,
   971,   nil,   973,   nil,   nil,   977,  1303,   975,  1109,   nil,
   nil,    -1,   nil,  1111,  1113,   nil,   258,   nil,   nil,   nil,
  1118,   nil,   nil,   nil,  1044,   nil,   nil,  1044,   nil,   nil,
 25014,   nil, 25074,   nil, 25099,   nil,   nil,  1031,   818,  8797,
   612,  1090,   nil,  3808,   106,    36,   665,  1094,    92,   nil,
  3248,  2128,   nil,   nil,  1126,   nil,  7264,   nil, 25228,   nil,
 25162,   nil,   nil,   nil,   nil,   383,   977,  1017,  5348,   nil,
   nil,   nil,   nil,   nil,  5208,   nil,  4928,  1021,   nil,   nil,
  1028,  1032,  1038,  1042,   nil,  1043,   nil,   453,   nil,   nil,
   nil,   992, 23956,   nil,  1171, 15486, 24444, 24810,   105,  1076,
  1181,  1058,  1061,  1063,  1065,  1066,  1308,  1068,  1298,    19,
  1201,  1203,   nil, 24997,   nil, 24958,   nil, 18554,   nil, 25221,
   nil,   nil,   nil,   857,  1129,  1138,   nil,  1103,     6,    26,
    33,    34,   nil,   nil, 25155,   nil,   nil,   nil,   nil,   827,
  1106,   nil,   nil,   nil,  1107,  1108,  1109,  1111,   nil,    42,
  1112,  1114,  6470,   nil,   nil,   nil,   nil,   nil,  -132,   nil ]

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

clist = [
'220,376,262,26,279,279,279,2,26,338,129,129,331,116,301,657,425,270',
'274,215,409,410,263,26,601,495,327,264,112,280,280,280,26,26,26,550',
'26,816,633,530,633,341,342,486,720,345,318,134,134,113,297,124,207,322',
'266,273,275,132,132,332,223,26,699,702,381,628,26,26,850,487,26,785',
'636,129,521,16,559,116,672,416,16,665,416,775,117,422,543,546,416,944',
'970,442,346,878,811,224,392,393,394,395,881,446,431,437,224,224,224',
'382,16,306,306,384,819,636,388,861,26,362,366,639,964,26,26,26,26,26',
'26,533,536,206,397,540,6,16,299,580,582,6,224,224,968,947,224,350,360',
'360,355,633,633,405,482,398,576,578,581,581,492,626,576,591,853,622',
'334,625,378,335,277,290,291,541,630,353,495,563,377,970,328,796,797',
'508,636,871,531,330,339,343,820,344,16,279,329,944,390,224,224,224,224',
'16,16,987,672,964,770,794,878,960,432,821,711,408,408,26,26,26,26,26',
'26,26,441,764,885,844,26,26,26,1028,954,448,716,830,315,315,566,881',
'878,567,26,723,703,1020,904,917,279,279,782,6,852,854,967,404,415,279',
'620,415,396,6,663,672,672,415,833,834,868,542,315,315,315,643,280,500',
'26,26,1031,793,930,652,280,719,714,26,931,481,489,16,224,413,224,224',
'413,224,490,767,518,878,413,224,224,26,951,522,789,26,116,270,865,825',
'26,274,16,515,952,532,380,511,827,297,645,503,383,1,297,547,548,385',
'386,614,525,387,725,519,1021,26,730,851,717,431,437,876,504,838,873',
'897,224,224,958,,26,26,,,733,224,733,553,706,116,,908,909,877,,879,',
',715,,26,627,,16,549,631,,16,39,568,777,306,16,39,264,956,26,933,754',
'633,,641,,759,,300,,644,306,,,781,740,507,129,,648,16,513,488,602,39',
'305,305,,660,648,491,,,597,636,224,224,,,608,,,279,505,828,613,,,832',
'39,,,,,134,224,432,648,590,349,365,365,365,,132,648,724,824,441,,26',
'224,,,792,,607,1006,621,,,416,612,,,992,790,961,,962,608,416,416,,750',
'752,416,416,,755,757,431,437,,39,,279,,,522,777,981,,39,39,315,,522',
',,,,,432,26,,26,624,,,640,,315,432,26,441,,,,,,,224,,279,441,,,26,,',
',,784,279,,,,900,,,432,,26,,,26,,705,432,1024,,26,441,700,700,,,,441',
',,26,403,,,26,,279,423,769,,718,,,443,16,,16,39,,,953,,306,432,224,',
'300,,129,,306,,,26,26,441,602,26,224,768,,1029,39,26,26,923,791,,26',
'26,,416,,16,839,,16,522,806,13,,602,224,,13,134,,,783,737,415,948,224',
'6,608,132,16,613,,,415,415,,,,415,415,,835,,,300,13,408,,,300,,,,,,991',
'39,,413,224,39,,16,,305,39,,,413,413,13,,,413,413,602,,826,,889,354',
'305,,829,602,,,,,,39,340,340,,,340,315,,,,,902,26,,315,306,,26,26,602',
',26,,129,,,306,,,745,,26,857,,,13,863,,,,867,281,281,281,13,13,,806',
'26,,887,,855,,,,340,340,340,340,,,,943,,,,,,,,333,336,855,,1007,26,',
',,,,,,224,415,,,26,16,224,,,16,891,,,,,,,,,16,,,,,,443,,423,,,,680,',
',,26,413,26,26,,,26,806,,806,,13,26,411,855,700,411,315,899,,,,411,903',
',,26,,315,16,420,421,,,,,13,,,444,445,16,648,,26,,,857,,,857,,857,,857',
',,39,,39,,654,,,,305,985,806,,,,,224,305,16,16,,,16,,696,,847,698,16',
',,,337,,,,,,,,39,13,16,39,,13,,,872,26,13,806,976,806,,920,26,26,,,16',
',680,39,926,,,,,,,1002,,279,26,13,,857,,857,26,857,26,857,806,,,751',
'753,,432,,756,758,,,39,441,,,,26,441,,,281,340,340,,,,602,,281,,,857',
'971,,680,680,16,,,,,565,,16,16,,,,,,,,,,305,,,569,,,,16,,,,305,,16,',
'16,,17,,,,957,17,,847,,847,,847,,,,856,,224,,15,315,,,,15,406,419,,',
'315,,,,17,308,308,,,,,,680,,680,,,,,,,,,15,,,836,,39,17,,,39,,,,,,,352',
'361,361,39,,840,,,,15,,,,,315,,,,751,753,758,756,847,,847,,847,13,847',
'13,,497,860,499,,,501,502,,,,,,,864,17,,,39,,,800,802,804,17,17,,,,',
'39,847,,,15,,13,656,,13,,,,15,15,,,893,894,,,896,,,856,,856,,,13,,,',
'39,39,,,39,,848,840,906,,39,,,,632,680,,,,,,,,,39,411,922,,874,13,,874',
',,,411,411,365,,,411,411,39,,,,925,17,,414,,,414,,662,,,,414,,,,593',
',,,15,,15,,,15,17,,856,,,15,,,,,,,,,,974,,,,15,,,979,980,,,,365,,,,39',
',,,,,,39,39,989,,,,,,990,,,,,749,,,,,39,,,,,17,39,,39,17,,,874,308,17',
'848,,848,13,848,,634,13,337,15,637,,,15,340,308,,13,15,,340,,935,937',
'17,939,941,,942,,849,,,,411,,,,,,,,,15,,,634,,,337,,911,913,915,,,,',
'880,,882,,13,419,,,38,,,,,38,,,13,,,,,,,,,848,,848,,848,,848,,,,,,,',
',,38,304,304,,,,,738,13,13,,,13,,,,634,337,13,,,,340,848,,38,,,1015',
'1016,1017,1018,13,,,348,364,364,364,,,,,,,,,,778,,13,779,,,929,,,,,',
',,,994,996,998,1000,,1001,,963,788,965,,,,,1037,,,38,,,,,,,,,38,38,',
'982,,983,,984,812,,,,17,,17,,,,,,308,,13,,,,,,308,13,13,15,,15,,,,,1033',
'1034,1035,1036,,,,,,13,,,,17,1039,13,17,13,,,,,,,1025,837,1026,,1027',
',,,15,,,15,17,,,,,,,729,,1030,,,38,,,,,,,15,,,,,,,,1038,,414,,,,17,',
',,38,,414,414,,,,414,414,,,15,,,,15,,,884,,,15,15,,,,15,15,,,,,,,,,895',
',,308,,,,,,,,,,,308,,,,337,,,,,,,38,,,,38,,,,304,38,,,,,,,,,,,,,,,,304',
',,,,,,,,38,,,,,,,,,,,,,,,,,,17,,,,17,,,,,,,,,,17,,,,,15,,,,15,,,,,,',
',414,,15,,,,,,,,,,,,,,,,,15,,,,,,,,,17,,,,,,,,,,,,17,,,,,,,15,,,,,,',
',,,,,15,,,,,,,,,,,,,,17,17,,,17,,,,,,17,,,,,,,,,15,15,,,15,17,,,,,15',
',,,,,,,361,,,,,17,15,,,928,,,,,,,,38,,38,,,,,15,304,,,,,,,,304,,,,,',
',,,,,,,,,,,,,,,,,38,,,38,,,361,,,,17,,,,,,,17,17,,,,,38,,,,,,15,,,,',
',17,15,15,,,,17,,17,,,,,,,,,,,15,,38,,,,15,,15,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,304,,,,,,,,,,231,304,,,,,,,,278,278,278,,,,,,,,,,,324',
'325,326,,,,,,,,,,,,,,,278,278,,,,,,,,,,,,,,,,,,,,,,,,38,,,,38,,,,,,',
',,,38,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,38,,,,,,,,,,,,38,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,38,38,,,38,,,,,,38,,,,,,,,,,,278,418',
',38,424,278,,,,,424,,,,,,364,,,,,38,,231,,924,455,456,457,458,459,460',
'461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477',
'478,479,480,,,,,,,278,278,,,,,,,,278,,,,,,,278,,278,,364,278,278,,38',
',,,,,,38,38,,,,,,,,,,,,,,,,,38,,,,,,38,,38,,,527,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,278,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,278,,424,424,424,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,278,,278,,278,,,,,,,,,,,,,,,,278,,,,,,,,,424',
'655,,,,,,,,,,278,,,278,,,,,,,,,,,,,,278,278,,,,,,,,,,278,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,278,424,278,,,,746,,,278,278,424,424,,,,424,424',
',,,,,,,,,,,,,,,,,,,,,,,278,,,278,,,,,,,,,,,,,,,,,,,,278,,,,,,,,,,,,',
',,,,,,,,,,,,,278,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,278,,,,,,,,424,,,,,,,,,,,,,424,424,424,424,,843,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,278,,,,,,,,,,,,,,,,,,278,,,,,,,,,,,,,,,,,,278',
'424,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
'278' ]
        racc_goto_table = arr = ::Array.new(3011, 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 = [
'33,58,144,43,35,35,35,2,43,89,59,59,70,99,51,10,29,74,74,31,22,22,38',
'43,30,76,33,31,4,71,71,71,43,43,43,95,43,93,77,8,77,17,17,41,101,17',
'52,63,63,6,47,15,15,66,40,40,40,62,62,71,20,43,94,94,161,42,43,43,131',
'29,43,11,188,59,53,28,56,99,173,18,28,143,18,133,5,26,92,92,18,119,138',
'26,4,179,121,28,17,17,17,17,184,49,39,39,28,28,28,162,28,28,28,164,11',
'188,162,12,43,57,57,14,185,43,43,43,43,43,43,72,72,16,2,72,7,28,48,165',
'165,7,28,28,137,122,28,28,28,28,19,77,77,23,39,25,166,166,166,166,49',
'44,166,64,135,147,69,75,87,88,46,46,46,91,147,96,76,98,102,138,103,126',
'126,49,188,135,104,105,106,107,108,109,28,35,7,119,5,28,28,28,28,28',
'28,122,173,185,42,143,179,131,74,110,111,71,71,43,43,43,43,43,43,43',
'59,30,121,133,43,43,43,137,112,31,113,114,67,67,115,184,179,116,43,117',
'95,122,118,135,35,35,30,7,123,129,136,20,20,35,29,20,7,7,139,173,173',
'20,143,143,140,141,67,67,67,53,71,161,43,43,122,142,145,53,71,8,56,43',
'146,148,150,28,28,28,28,28,28,28,151,154,33,179,28,28,28,43,155,51,156',
'43,99,74,157,30,43,74,28,31,11,33,160,52,30,47,29,4,163,1,47,17,17,167',
'168,49,31,169,170,66,93,43,171,132,172,39,39,177,6,30,181,94,28,28,182',
',43,43,,,166,28,166,31,29,99,,126,126,132,,132,,,29,,43,49,,28,4,49',
',28,55,38,76,28,28,55,31,101,43,126,41,77,,49,,41,,9,,49,28,,,53,29',
'48,59,,39,28,48,46,33,55,55,55,,49,39,46,,,31,188,28,28,,,74,,,35,7',
'8,74,,,8,55,,,,,63,28,74,39,15,55,55,55,55,,62,39,49,92,59,,43,28,,',
'72,,40,10,33,,,18,40,,,126,22,132,,132,74,18,18,,26,26,18,18,,26,26',
'39,39,,55,,35,,,51,76,132,,55,55,67,,51,,,,,,74,43,,43,40,,,2,,67,74',
'43,59,,,,,,,28,,35,59,,,43,,,,,49,35,,,,8,,,74,,43,,,43,,71,74,132,',
'43,59,99,99,,,,59,,,43,9,,,43,,35,65,89,,99,,,65,28,,28,55,,,95,,28',
'74,28,,9,,59,,28,,,43,43,59,33,43,28,144,,30,55,43,43,92,70,,43,43,',
'18,,28,26,,28,51,120,21,,33,28,,21,63,,,51,15,20,92,28,7,74,62,28,74',
',,20,20,,,,20,20,,58,,,9,21,71,,,9,,,,,,8,55,,28,28,55,,28,,55,55,,',
'28,28,21,,,28,28,33,,17,,49,21,55,,17,33,,,,,,55,24,24,,,24,67,,,,,49',
'43,,67,28,,43,43,33,,43,,59,,,28,,,7,,43,180,,,21,70,,,,70,73,73,73',
'21,21,,120,43,,120,,33,,,,24,24,24,24,,,,49,,,,,,,,73,73,33,,29,43,',
',,,,,,28,20,,,43,28,28,,,28,17,,,,,,,,,28,,,,,,65,,65,,,,178,,,,43,28',
'43,43,,,43,120,,120,,21,43,21,33,99,21,67,99,,,,21,99,,,43,,67,28,24',
'24,,,,,21,,,24,24,28,39,,43,,,180,,,180,,180,,180,,,55,,55,,65,,,,55',
'120,120,,,,,28,55,28,28,,,28,,9,,125,9,28,,,,68,,,,,,,,55,21,28,55,',
'21,,,125,43,21,120,31,120,,28,43,43,,,28,,178,55,28,,,,,,,33,,35,43',
'21,,180,,180,43,180,43,180,120,,,65,65,,74,,65,65,,,55,59,,,,43,59,',
',73,24,24,,,,33,,73,,,180,28,,178,178,28,,,,,24,,28,28,,,,,,,,,,55,',
',24,,,,28,,,,55,,28,,28,,32,,,,125,32,,125,,125,,125,,,,178,,28,,27',
'67,,,,27,68,68,,,67,,,,32,32,32,,,,,,178,,178,,,,,,,,,27,,,9,,55,32',
',,55,,,,,,,32,32,32,55,,65,,,,27,,,,,67,,,,65,65,65,65,125,,125,,125',
'21,125,21,,68,9,68,,,68,68,,,,,,,9,32,,,55,,,176,176,176,32,32,,,,,55',
'125,,,27,,21,24,,21,,,,27,27,,,9,9,,,9,,,178,,178,,,21,,,,55,55,,,55',
',127,65,9,,55,,,,73,178,,,,,,,,,55,21,9,,127,21,,127,,,,21,21,55,,,21',
'21,55,,,,55,32,,32,,,32,,73,,,,32,,,,68,,,,27,,27,,,27,32,,178,,,27',
',,,,,,,,,9,,,,27,,,9,9,,,,55,,,,55,,,,,,,55,55,9,,,,,,9,,,,,73,,,,,55',
',,,,32,55,,55,32,,,127,32,32,127,,127,21,127,,68,21,68,27,68,,,27,24',
'32,,21,27,,24,,176,176,32,176,176,,176,,130,,,,21,,,,,,,,,27,,,68,,',
'68,,128,128,128,,,,,130,,130,,21,68,,,54,,,,,54,,,21,,,,,,,,,127,,127',
',127,,127,,,,,,,,,,54,54,54,,,,,68,21,21,,,21,,,,68,68,21,,,,24,127',
',54,,,176,176,176,176,21,,,54,54,54,54,,,,,,,,,,68,,21,68,,,21,,,,,',
',,,128,128,128,128,,128,,130,68,130,,,,,176,,,54,,,,,,,,,54,54,,130',
',130,,130,68,,,,32,,32,,,,,,32,,21,,,,,,32,21,21,27,,27,,,,,128,128',
'128,128,,,,,,21,,,,32,128,21,32,21,,,,,,,130,68,130,,130,,,,27,,,27',
'32,,,,,,,32,,130,,,54,,,,,,,27,,,,,,,,130,,32,,,,32,,,,54,,32,32,,,',
'32,32,,,27,,,,27,,,68,,,27,27,,,,27,27,,,,,,,,,68,,,32,,,,,,,,,,,32',
',,,68,,,,,,,54,,,,54,,,,54,54,,,,,,,,,,,,,,,,54,,,,,,,,,54,,,,,,,,,',
',,,,,,,,32,,,,32,,,,,,,,,,32,,,,,27,,,,27,,,,,,,,32,,27,,,,,,,,,,,,',
',,,,27,,,,,,,,,32,,,,,,,,,,,,32,,,,,,,27,,,,,,,,,,,,27,,,,,,,,,,,,,',
'32,32,,,32,,,,,,32,,,,,,,,,27,27,,,27,32,,,,,27,,,,,,,,32,,,,,32,27',
',,32,,,,,,,,54,,54,,,,,27,54,,,,,,,,54,,,,,,,,,,,,,,,,,,,,,,,54,,,54',
',,32,,,,32,,,,,,,32,32,,,,,54,,,,,,27,,,,,,32,27,27,,,,32,,32,,,,,,',
',,,,27,,54,,,,27,,27,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,54,,,,,,,,',
',34,54,,,,,,,,34,34,34,,,,,,,,,,,34,34,34,,,,,,,,,,,,,,,34,34,,,,,,',
',,,,,,,,,,,,,,,,,54,,,,54,,,,,,,,,,54,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,54,,,,,,,,,,,,54,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,54,54',
',,54,,,,,,54,,,,,,,,,,,34,34,,54,34,34,,,,,34,,,,,,54,,,,,54,,34,,54',
'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,,54,34,34,,54,,,,,,,54,54',
',,,,,,,,,,,,,,,,54,,,,,,54,,54,,,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' ]
        racc_goto_check = arr = ::Array.new(3011, 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,   319,     7,   nil,    25,    79,    46,   132,  -289,   358,
  -514,  -586,  -670,   nil,  -385,    43,   120,   -22,  -131,    78,
    40,   624,  -189,   -60,   640,    27,  -128,  1052,    75,  -198,
  -401,     3,  1033,   -19,  2035,   -25,   nil,   nil,    -2,  -113,
    28,  -223,  -424,     3,  -328,   nil,   137,    17,   101,  -120,
   nil,   -20,    11,  -245,  1403,   374,  -282,    48,   -70,     2,
   nil,   nil,    49,    39,  -243,   359,    12,   196,   849,   103,
   -47,     0,  -205,   714,    -9,  -319,  -256,  -456,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,    93,   105,   -52,
   nil,  -170,  -255,  -659,  -485,  -311,   103,   nil,  -189,    10,
   nil,  -523,   103,   119,  -147,   125,   122,   120,  -513,   121,
  -495,  -348,  -671,  -335,  -489,  -134,  -141,  -331,  -595,  -797,
   -58,  -587,  -747,  -527,   nil,   130,  -489,   427,   539,  -526,
   594,  -705,  -440,  -546,   nil,  -613,  -670,  -778,  -828,  -286,
  -531,   -76,  -390,  -461,   -20,  -595,  -590,  -320,    20,   nil,
    11,    18,   nil,   nil,  -332,  -598,  -358,  -485,   nil,   nil,
   233,   -17,    23,   233,    25,  -249,  -230,   236,   236,   238,
  -245,  -242,  -230,  -464,   nil,   nil,   483,  -462,   275,  -706,
   -39,  -455,  -563,   nil,  -701,  -792,   nil,   nil,  -424 ]

racc_goto_default = [
   nil,   nil,   nil,     3,   nil,     4,   347,   295,   nil,   529,
   nil,   817,   nil,   292,   293,   nil,   nil,   nil,    11,    12,
    18,   229,   nil,   nil,    14,   nil,   412,   230,   323,   nil,
   nil,   561,   228,   447,    21,    22,    23,    24,   nil,   651,
   nil,   nil,   nil,   312,   nil,    25,   426,    32,   nil,   nil,
    34,    37,    36,   nil,   225,   226,   359,   nil,   131,   434,
   130,   133,    77,    78,   nil,   417,    92,    46,   284,   nil,
   786,   427,   nil,   428,   439,   609,   493,   282,   268,    47,
    48,    49,    50,    51,    52,    53,    54,    55,   nil,   269,
    61,   nil,   nil,   nil,   nil,   nil,   nil,    69,   nil,   544,
    70,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   808,
   679,   nil,   809,   959,   846,   667,   nil,   668,   nil,   nil,
   669,   nil,   671,   nil,   772,   nil,   nil,   nil,   677,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   438,
   nil,   nil,   629,   623,   nil,   nil,   nil,   nil,    76,    79,
    80,   nil,   nil,   nil,   nil,   nil,   571,   nil,   nil,   nil,
   nil,   nil,   nil,   875,   722,   666,   nil,   670,   883,   682,
   684,   685,   858,   688,   689,   859,   692,   695,   287 ]

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

racc_reduce_n = 607

racc_shift_n = 1040

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

racc_nt_base = 145

racc_use_result_var = true

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

Racc_token_to_s_table = [
  "$end",
  "error",
  "kCLASS",
  "kMODULE",
  "kDEF",
  "kUNDEF",
  "kBEGIN",
  "kRESCUE",
  "kENSURE",
  "kEND",
  "kIF",
  "kUNLESS",
  "kTHEN",
  "kELSIF",
  "kELSE",
  "kCASE",
  "kWHEN",
  "kWHILE",
  "kUNTIL",
  "kFOR",
  "kBREAK",
  "kNEXT",
  "kREDO",
  "kRETRY",
  "kIN",
  "kDO",
  "kDO_COND",
  "kDO_BLOCK",
  "kDO_LAMBDA",
  "kRETURN",
  "kYIELD",
  "kSUPER",
  "kSELF",
  "kNIL",
  "kTRUE",
  "kFALSE",
  "kAND",
  "kOR",
  "kNOT",
  "kIF_MOD",
  "kUNLESS_MOD",
  "kWHILE_MOD",
  "kUNTIL_MOD",
  "kRESCUE_MOD",
  "kALIAS",
  "kDEFINED",
  "klBEGIN",
  "klEND",
  "k__LINE__",
  "k__FILE__",
  "k__ENCODING__",
  "tIDENTIFIER",
  "tFID",
  "tGVAR",
  "tIVAR",
  "tCONSTANT",
  "tLABEL",
  "tCVAR",
  "tNTH_REF",
  "tBACK_REF",
  "tSTRING_CONTENT",
  "tINTEGER",
  "tFLOAT",
  "tUPLUS",
  "tUMINUS",
  "tUNARY_NUM",
  "tPOW",
  "tCMP",
  "tEQ",
  "tEQQ",
  "tNEQ",
  "tGEQ",
  "tLEQ",
  "tANDOP",
  "tOROP",
  "tMATCH",
  "tNMATCH",
  "tDOT",
  "tDOT2",
  "tDOT3",
  "tAREF",
  "tASET",
  "tLSHFT",
  "tRSHFT",
  "tCOLON2",
  "tCOLON3",
  "tOP_ASGN",
  "tASSOC",
  "tLPAREN",
  "tLPAREN2",
  "tRPAREN",
  "tLPAREN_ARG",
  "tLBRACK",
  "tLBRACK2",
  "tRBRACK",
  "tLBRACE",
  "tLBRACE_ARG",
  "tSTAR",
  "tSTAR2",
  "tAMPER",
  "tAMPER2",
  "tTILDE",
  "tPERCENT",
  "tDIVIDE",
  "tDSTAR",
  "tPLUS",
  "tMINUS",
  "tLT",
  "tGT",
  "tPIPE",
  "tBANG",
  "tCARET",
  "tLCURLY",
  "tRCURLY",
  "tBACK_REF2",
  "tSYMBEG",
  "tSTRING_BEG",
  "tXSTRING_BEG",
  "tREGEXP_BEG",
  "tREGEXP_OPT",
  "tWORDS_BEG",
  "tQWORDS_BEG",
  "tSYMBOLS_BEG",
  "tQSYMBOLS_BEG",
  "tSTRING_DBEG",
  "tSTRING_DVAR",
  "tSTRING_END",
  "tSTRING_DEND",
  "tSTRING",
  "tSYMBOL",
  "tNL",
  "tEH",
  "tCOLON",
  "tCOMMA",
  "tSPACE",
  "tSEMI",
  "tLAMBDA",
  "tLAMBEG",
  "tCHARACTER",
  "tRATIONAL",
  "tIMAGINARY",
  "tLABEL_END",
  "tANDDOT",
  "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",
  "lhs",
  "mrhs",
  "mrhs_arg",
  "expr",
  "@1",
  "command_rhs",
  "var_lhs",
  "primary_value",
  "opt_call_args",
  "rbracket",
  "call_op",
  "backref",
  "opt_nl",
  "arg",
  "command",
  "block_command",
  "block_call",
  "dot_or_colon",
  "operation2",
  "command_args",
  "cmd_brace_block",
  "brace_body",
  "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",
  "arg_rhs",
  "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",
  "k_class",
  "superclass",
  "term",
  "k_module",
  "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",
  "opt_block_param",
  "block_param_def",
  "opt_bv_decl",
  "bv_decls",
  "bvar",
  "f_bad_arg",
  "f_larglist",
  "lambda_body",
  "@21",
  "@22",
  "f_args",
  "do_block",
  "@23",
  "@24",
  "do_body",
  "@25",
  "operation3",
  "@26",
  "@27",
  "@28",
  "@29",
  "@30",
  "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",
  "@31",
  "@32",
  "args_tail",
  "@33",
  "f_kwarg",
  "opt_args_tail",
  "f_optarg",
  "f_arg_asgn",
  "f_arg_item",
  "f_label",
  "f_kw",
  "f_block_kw",
  "kwrest_mark",
  "f_opt",
  "f_block_opt",
  "restarg_mark",
  "blkarg_mark",
  "assoc" ]

Racc_debug_parser = false

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

# reduce 0 omitted

# reduce 1 omitted

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

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

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

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

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

# reduce 7 omitted

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

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

                      if rescue_bodies.empty? && !else_t.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.assign(val[0], val[1],
                                  @builder.array(nil, val[2], nil))
                    
    result
end

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

# reduce 33 omitted

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

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

def _reduce_36(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_37(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])
                    
    result
end

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

def _reduce_39(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_40(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])
                    
    result
end

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

# reduce 42 omitted

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

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

# reduce 44 omitted

# reduce 45 omitted

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

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

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

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

# reduce 50 omitted

# reduce 51 omitted

# reduce 52 omitted

# reduce 53 omitted

# reduce 54 omitted

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

def _reduce_56(val, _values, result)
                      result = @context.dup
                      @context.in_block = true
                    
    result
end

def _reduce_57(val, _values, result)
                      result = [ val[0], *val[2], val[3] ]
                      @context.in_block = val[1].in_block
                    
    result
end

# reduce 58 omitted

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

def _reduce_60(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_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.call_method(val[0], val[1], val[2],
                                  nil, val[3], nil)
                    
    result
end

def _reduce_64(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_65(val, _values, result)
                      result = @builder.keyword_cmd(:super, val[0],
                                  nil, val[1], nil)
                    
    result
end

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

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

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

def _reduce_69(val, _values, result)
                      result = @builder.keyword_cmd(:next, val[0],
                                  nil, val[1], nil)
                    
    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.begin(val[0], val[1], val[2])
                    
    result
end

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

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

# reduce 74 omitted

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

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

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

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

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

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

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

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

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

# reduce 84 omitted

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

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

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

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

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

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

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

def _reduce_92(val, _values, result)
                      result = @builder.index_asgn(val[0], val[1], val[2], val[3])
                    
    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.attr_asgn(val[0], val[1], val[2])
                    
    result
end

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

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

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

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

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

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

def _reduce_101(val, _values, result)
                      result = @builder.index_asgn(val[0], val[1], val[2], val[3])
                    
    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.attr_asgn(val[0], val[1], val[2])
                    
    result
end

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

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

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

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

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

# reduce 109 omitted

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

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

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

# reduce 113 omitted

# reduce 114 omitted

# reduce 115 omitted

# reduce 116 omitted

# reduce 117 omitted

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

# reduce 119 omitted

# reduce 120 omitted

# reduce 121 omitted

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

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

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

# 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

# reduce 194 omitted

# reduce 195 omitted

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

def _reduce_197(val, _values, result)
                      result = @builder.op_assign(val[0], val[1], val[2])
                    
    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

# reduce 243 omitted

def _reduce_244(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_245(val, _values, result)
                      result = val
                    
    result
end

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

# reduce 247 omitted

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

# reduce 249 omitted

# reduce 250 omitted

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

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

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

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

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

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

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

def _reduce_258(val, _values, result)
                      # When branch gets invoked by RACC's lookahead
                      # and command args start with '[' or '('
                      # we need to put `true` to the cmdarg stack
                      # **before** `false` pushed by lexer
                      #   m [], n
                      #     ^
                      # Right here we have cmdarg [...0] because
                      # lexer pushed it on '['
                      # We need to modify cmdarg stack to [...10]
                      #
                      # For all other cases (like `m n` or `m n, []`) we simply put 1 to the stack
                      # and later lexer pushes corresponding bits on top of it.
                      last_token = @last_token[0]
                      lookahead = last_token == :tLBRACK || last_token == :tLPAREN_ARG

                      if lookahead
                        top = @lexer.cmdarg.pop
                        @lexer.cmdarg.push(true)
                        @lexer.cmdarg.push(top)
                      else
                        @lexer.cmdarg.push(true)
                      end
                    
    result
end

def _reduce_259(val, _values, result)
                      # call_args can be followed by tLBRACE_ARG (that does cmdarg.push(0) in the lexer)
                      # but the push must be done after cmdarg.pop() in the parser.
                      # So this code does cmdarg.pop() to pop 0 pushed by tLBRACE_ARG,
                      # cmdarg.pop() to pop 1 pushed by command_args,
                      # and cmdarg.push(0) to restore back the flag set by tLBRACE_ARG.
                      last_token = @last_token[0]
                      lookahead = last_token == :tLBRACE_ARG
                      if lookahead
                        top = @lexer.cmdarg.pop
                        @lexer.cmdarg.pop
                        @lexer.cmdarg.push(top)
                      else
                        @lexer.cmdarg.pop
                      end

                      result = val[1]
                    
    result
end

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

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

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

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

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

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

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

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

# reduce 268 omitted

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

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

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

# reduce 272 omitted

# reduce 273 omitted

# reduce 274 omitted

# reduce 275 omitted

# reduce 276 omitted

# reduce 277 omitted

# reduce 278 omitted

# reduce 279 omitted

# reduce 280 omitted

# reduce 281 omitted

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

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

def _reduce_284(val, _values, result)
                      @lexer.cmdarg.pop

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

def _reduce_301(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 302 omitted

def _reduce_303(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_304(val, _values, result)
                      result = @context.dup
                      @context.in_lambda = true
                    
    result
end

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

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

                      @context.in_lambda = val[1].in_lambda
                    
    result
end

def _reduce_306(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_307(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_308(val, _values, result)
                      @lexer.cond.push(true)
                    
    result
end

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

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

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

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

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

def _reduce_314(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_315(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_316(val, _values, result)
                      @lexer.cond.push(true)
                    
    result
end

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

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

def _reduce_319(val, _values, result)
                      local_push
                      @context.in_class = true
                    
    result
end

def _reduce_320(val, _values, result)
                      k_class, ctx = val[0]
                      if @context.in_def
                        diagnostic :error, :class_in_def, nil, k_class
                      end

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

                      local_pop
                      @context.in_class = ctx.in_class
                    
    result
end

def _reduce_321(val, _values, result)
                      @context.in_def = false
                      @context.in_class = false
                      local_push
                    
    result
end

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

                      local_pop
                      @context.in_def = ctx.in_def
                      @context.in_class = ctx.in_class
                    
    result
end

def _reduce_323(val, _values, result)
                      @context.in_class = true
                      local_push
                    
    result
end

def _reduce_324(val, _values, result)
                      k_mod, ctx = val[0]
                      if @context.in_def
                        diagnostic :error, :module_in_def, nil, k_mod
                      end

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

                      local_pop
                      @context.in_class = ctx.in_class
                    
    result
end

def _reduce_325(val, _values, result)
                      local_push
                      result = context.dup
                      @context.in_def = true
                    
    result
end

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

                      local_pop
                      @context.in_def = val[2].in_def
                    
    result
end

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

def _reduce_328(val, _values, result)
                      local_push
                      result = context.dup
                      @context.in_def = true
                    
    result
end

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

                      local_pop
                      @context.in_def = val[5].in_def
                    
    result
end

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

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

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

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

# reduce 334 omitted

def _reduce_335(val, _values, result)
                      result = [ val[0], @context.dup ]
                    
    result
end

def _reduce_336(val, _values, result)
                      result = [ val[0], @context.dup ]
                    
    result
end

# reduce 337 omitted

# reduce 338 omitted

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

# reduce 340 omitted

# reduce 341 omitted

# reduce 342 omitted

def _reduce_343(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 344 omitted

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

# reduce 346 omitted

# reduce 347 omitted

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

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

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

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

# reduce 352 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 372 omitted

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

def _reduce_374(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_375(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
end

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

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

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

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

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

# reduce 381 omitted

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

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

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

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

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

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

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

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

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

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

# reduce 392 omitted

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

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

def _reduce_395(val, _values, result)
                      @lexer.cmdarg.pop

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

                      @static_env.unextend
                    
    result
end

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

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

def _reduce_398(val, _values, result)
                      result = @context.dup
                      @context.in_lambda = true
                    
    result
end

def _reduce_399(val, _values, result)
                      result = [ val[0], val[2], val[3] ]
                      @context.in_lambda = val[1].in_lambda
                    
    result
end

def _reduce_400(val, _values, result)
                      result = @context.dup
                      @context.in_lambda = true
                    
    result
end

def _reduce_401(val, _values, result)
                      result = [ val[0], val[2], val[3] ]
                      @context.in_lambda = val[1].in_lambda
                    
    result
end

def _reduce_402(val, _values, result)
                      result = @context.dup
                      @context.in_block = true
                    
    result
end

def _reduce_403(val, _values, result)
                      result = [ val[0], *val[2], val[3] ]
                      @context.in_block = val[1].in_block
                    
    result
end

def _reduce_404(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_405(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_406(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_407(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_408(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_409(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_410(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_411(val, _values, result)
                      result = @builder.call_method(val[0], val[1], val[2])
                    
    result
end

def _reduce_412(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_413(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_414(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_415(val, _values, result)
                      result = @builder.keyword_cmd(:zsuper, val[0])
                    
    result
end

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

def _reduce_417(val, _values, result)
                      result = @context.dup
                      @context.in_block = true
                    
    result
end

def _reduce_418(val, _values, result)
                      result = [ val[0], *val[2], val[3] ]
                      @context.in_block = val[1].in_block
                    
    result
end

def _reduce_419(val, _values, result)
                      result = @context.dup
                      @context.in_block = true
                    
    result
end

def _reduce_420(val, _values, result)
                      result = [ val[0], *val[2], val[3] ]
                      @context.in_block = val[1].in_block
                    
    result
end

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

def _reduce_422(val, _values, result)
                      result = [ val[1], val[2] ]

                      @static_env.unextend
                    
    result
end

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

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

def _reduce_425(val, _values, result)
                      result = [ val[2], val[3] ]

                      @static_env.unextend
                      @lexer.cmdarg.pop
                    
    result
end

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

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

# reduce 428 omitted

def _reduce_429(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_430(val, _values, result)
                      result = []
                    
    result
end

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

# reduce 432 omitted

# reduce 433 omitted

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

# reduce 435 omitted

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

# reduce 437 omitted

# reduce 438 omitted

# reduce 439 omitted

# reduce 440 omitted

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

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

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

def _reduce_444(val, _values, result)
                      string = @builder.string_compose(val[0], val[1], val[2])
                      result = @builder.dedent_string(string, @lexer.dedent_level)
                    
    result
end

def _reduce_445(val, _values, result)
                      string = @builder.string(val[0])
                      result = @builder.dedent_string(string, @lexer.dedent_level)
                    
    result
end

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

def _reduce_447(val, _values, result)
                      string = @builder.xstring_compose(val[0], val[1], val[2])
                      result = @builder.dedent_string(string, @lexer.dedent_level)
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

def _reduce_472(val, _values, result)
                      @lexer.cmdarg.pop
                      @lexer.cond.pop

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

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

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

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

# reduce 476 omitted

def _reduce_477(val, _values, result)
                      @lexer.state = :expr_end
                      result = @builder.symbol(val[0])
                    
    result
end

def _reduce_478(val, _values, result)
                      @lexer.state = :expr_end
                      result = @builder.symbol_compose(val[0], val[1], val[2])
                    
    result
end

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

def _reduce_480(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_481(val, _values, result)
                      @lexer.state = :expr_end
                      result = @builder.integer(val[0])
                    
    result
end

def _reduce_482(val, _values, result)
                      @lexer.state = :expr_end
                      result = @builder.float(val[0])
                    
    result
end

def _reduce_483(val, _values, result)
                      @lexer.state = :expr_end
                      result = @builder.rational(val[0])
                    
    result
end

def _reduce_484(val, _values, result)
                      @lexer.state = :expr_end
                      result = @builder.complex(val[0])
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                      @lexer.state = :expr_value
                    
    result
end

def _reduce_507(val, _values, result)
                      result = @context.in_kwarg
                      @context.in_kwarg = true
                    
    result
end

def _reduce_508(val, _values, result)
                      @context.in_kwarg = val[0]
                      result = @builder.args(nil, val[1], nil)
                    
    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[1])
                    
    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] ]
                    
    result
end

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

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

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

def _reduce_516(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[6]).
                                  concat(val[7])
                    
    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].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 534 omitted

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

                      result = val[0]
                    
    result
end

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

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

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

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

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

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

                      @static_env.declare val[0][0]

                      result = val[0]
                    
    result
end

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

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

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

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

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

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

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

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

# reduce 550 omitted

# reduce 551 omitted

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

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

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

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

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

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

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

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

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

# reduce 560 omitted

# reduce 561 omitted

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

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

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

# reduce 564 omitted

# reduce 565 omitted

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

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

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

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

# reduce 569 omitted

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

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

# reduce 572 omitted

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

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

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

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

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

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

# reduce 579 omitted

# reduce 580 omitted

# reduce 581 omitted

# reduce 582 omitted

# reduce 583 omitted

# reduce 584 omitted

# reduce 585 omitted

# reduce 586 omitted

# reduce 587 omitted

# reduce 588 omitted

# reduce 589 omitted

# reduce 590 omitted

def _reduce_591(val, _values, result)
                      result = [:dot, val[0][1]]
                    
    result
end

def _reduce_592(val, _values, result)
                      result = [:anddot, val[0][1]]
                    
    result
end

# reduce 593 omitted

# reduce 594 omitted

# reduce 595 omitted

# reduce 596 omitted

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

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

# reduce 599 omitted

# reduce 600 omitted

# reduce 601 omitted

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

# reduce 603 omitted

# reduce 604 omitted

# reduce 605 omitted

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

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

  end   # class Ruby24
  end   # module Parser
