# -*- 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 Ruby25 < Parser::Base


  def version
    25
  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 = [
'-587,610,549,214,215,-109,-107,-587,-587,-587,224,549,-587,-587,-587',
'779,-587,276,549,872,245,-88,549,590,779,-587,-587,-587,-587,-102,562',
'-74,985,592,563,-110,-587,-587,-104,-587,-587,-587,-587,-587,-105,-103',
'-107,-109,-110,1027,778,225,242,995,214,215,244,243,-105,778,214,215',
'995,-104,-103,-105,-587,-587,-587,-587,-587,-587,-587,-587,-587,-587',
'-587,-587,-587,-587,117,-108,-587,-587,-587,116,767,-587,549,589,-587',
'-102,-106,-587,-587,995,-587,225,-587,591,-587,113,-587,-587,275,-587',
'-587,-587,-587,-587,-296,-587,-587,-587,-100,-98,705,-296,-296,-296',
'117,-106,940,-296,-296,116,-296,-587,871,117,-587,-587,-587,-587,116',
'-587,117,-587,-93,825,117,116,-587,-106,-101,116,-296,-296,225,-296',
'-296,-296,-296,-296,225,276,-104,-583,-584,-108,-96,-104,-105,-103,-107',
'-109,-110,-105,-103,-107,-109,-110,-95,-94,-96,985,-296,-296,-296,-296',
'-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,276,222,-296,-296',
'-296,220,615,608,-583,-108,-296,-97,269,-296,-108,995,117,-95,-296,-102',
'-296,116,-296,-296,-102,-296,-296,-296,-296,-296,117,-296,-587,-296',
'-584,116,-96,458,752,-587,-587,-587,95,96,609,-587,-587,-296,-587,-106',
'-296,-296,275,-296,-106,-296,-500,-587,-110,214,215,117,-296,-108,271',
'-581,116,276,-587,-587,221,-587,-587,-587,-587,-587,-96,220,-99,-96',
'791,117,556,-95,969,577,116,275,225,-96,-97,95,96,567,-110,-104,214',
'215,-587,-587,-587,-587,-587,-587,-587,-587,-587,-587,-587,-587,-587',
'-587,604,-102,-587,-587,-587,-489,616,-501,97,98,-587,-95,-489,-587',
'-95,-587,577,-581,-587,271,-587,-489,-587,-587,-95,-587,-587,-587,-587',
'-587,221,-587,-587,-587,-98,822,791,579,578,575,-581,117,275,-583,-97',
'271,116,-587,577,600,-587,-587,-587,-97,643,-587,599,97,98,-587,-587',
'-587,-587,-106,-103,-587,-587,-587,-587,682,-489,679,678,677,-587,680',
'844,-587,620,-583,579,578,577,-587,-97,822,791,-97,-587,-587,737,-587',
'-587,-587,-587,-587,117,-97,117,-269,-98,116,-587,116,682,597,679,678',
'677,220,680,594,579,578,575,611,269,245,-587,-587,-587,-587,-587,-587',
'-587,-587,-587,-587,-587,-587,-587,-587,-587,-104,-587,-587,-587,245',
'616,245,-98,245,-587,-98,577,-587,579,578,577,526,-587,983,-587,-98',
'-587,-587,739,-587,-587,-587,-587,-587,-296,-587,-587,-587,765,225,752',
'-296,-296,-296,-107,225,221,-296,-296,539,-296,-587,541,225,-587,-587',
'999,-587,890,-587,539,539,-580,541,538,766,-587,-106,-100,225,-296,-296',
'222,-296,-296,-296,-296,-296,-109,-88,579,578,593,220,579,578,584,-95',
'539,-493,565,541,646,526,225,-105,-493,-104,532,567,-296,-296,-296,-296',
'-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-486,657,-296,-296',
'-296,-101,615,-486,-107,662,-296,577,-580,-296,577,-110,-486,577,-296',
'663,-296,225,-296,-296,665,-296,-296,-296,-296,-296,-486,-296,701,-296',
'221,-580,-109,-486,-486,-486,-493,706,-486,-486,-486,-297,-486,-296',
'262,263,-296,-296,-297,-99,-486,-296,-486,-486,-486,214,215,-297,-296',
'-108,707,-486,-486,-486,556,-486,-486,-486,-486,-486,709,579,578,588',
'579,578,580,579,578,582,261,260,405,-492,-491,698,697,407,406,569,-492',
'-491,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486',
'-486,-297,220,-486,-486,-486,220,-486,-486,559,561,-486,560,455,-486',
'-486,726,-486,557,-486,736,-486,456,-486,-486,740,-486,-486,-486,-486',
'-486,-494,-486,-489,-486,741,397,-270,-494,556,-489,-489,-489,-492,-491',
'-489,-489,-489,-486,-489,501,-486,-486,-486,-486,753,-486,-489,-486',
'-489,-489,-489,543,-486,-486,83,542,221,488,-489,-489,221,-489,-489',
'-489,-489,-489,84,-334,225,488,245,220,-497,-495,-334,-496,85,225,529',
'-497,-495,770,-496,-334,771,-494,265,456,-489,-489,-489,-489,-489,-489',
'-489,-489,-489,-489,-489,-489,-489,-489,776,-297,-489,-489,-489,220',
'-489,-489,-297,781,-489,499,969,-489,-489,501,-489,-297,-489,527,-489',
'567,-489,-489,523,-489,-489,-489,-489,-489,-334,-489,-296,-489,221,-497',
'-495,657,-496,-296,-296,-296,225,271,-296,-296,-296,-489,-296,271,-489',
'-489,-489,-489,271,-489,657,-489,-296,-296,-296,225,-489,-489,245,280',
'-297,791,-296,-296,221,-296,-296,-296,-296,-296,611,220,799,220,802',
'-287,-489,-486,974,803,219,805,-287,-489,-486,807,809,972,520,217,817',
'-287,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296',
'-296,818,819,-296,-296,-296,791,768,-296,220,824,-296,-98,610,-296,-296',
'603,-296,225,-296,513,-296,-107,-296,-296,601,-296,-296,-296,-296,-296',
'221,-296,221,-296,-287,-489,-486,512,682,225,679,678,677,-73,680,-501',
'225,-296,126,-500,-296,-296,-296,-296,833,-296,501,-296,-588,-96,499',
'-271,-296,-108,497,-588,-588,-588,687,-105,-588,-588,-588,221,-588,811',
'225,488,690,843,224,245,460,-588,-588,-588,-588,966,459,679,678,677',
'-94,680,-588,-588,-93,-588,-588,-588,-588,-588,-103,-296,457,847,-102',
'220,657,864,-296,698,697,242,519,-584,691,244,243,-296,240,241,-269',
'517,-588,-588,-588,-588,-588,-588,-588,-588,-588,-588,-588,-588,-588',
'-588,868,-499,-588,-588,-588,225,888,-588,-499,225,-588,892,408,-588',
'-588,894,-588,-499,-588,395,-588,897,-588,-588,898,-588,-588,-588,-588',
'-588,-296,-588,-588,-588,221,901,225,905,-498,-272,682,225,679,678,677',
'-498,680,-588,907,802,-588,-588,-588,-588,-498,-588,-589,-588,910,912',
'914,687,-588,-589,-589,-589,-499,916,-589,-589,-589,690,-589,225,918',
'245,919,811,325,932,802,-589,-589,-589,-589,966,814,679,678,677,934',
'680,-589,-589,936,-589,-589,-589,-589,-589,938,-296,940,-498,698,697',
'940,242,-296,691,225,244,243,-584,240,241,946,-296,324,952,726,963,-589',
'-589,-589,-589,-589,-589,-589,-589,-589,-589,-589,-589,-589,-589,970',
'265,-589,-589,-589,975,985,-589,216,802,-589,989,245,-589,-589,991,-589',
'993,-589,995,-589,995,-589,-589,662,-589,-589,-589,-589,-589,-296,-589',
'-589,-589,682,213,679,678,677,682,680,679,678,677,242,680,212,-589,244',
'243,-589,-589,-589,-589,1008,-589,-288,-589,1009,1010,940,940,-589,-288',
'-288,-288,940,1015,-288,-288,-288,811,-288,245,985,1018,811,-584,-583',
'225,814,211,-288,-288,-288,945,126,,,255,256,,-288,-288,,-288,-288,-288',
'-288,-288,682,,679,678,677,242,680,248,,244,243,,240,241,,,246,,247',
',,,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288',
'-288,,811,-288,-288,-288,,,-288,,,-288,,,-288,-288,,-288,,-288,,-288',
',-288,-288,,-288,-288,-288,-288,-288,,-288,,-288,731,732,,,733,111,112',
',682,,679,678,677,-288,680,,-288,-288,-288,-288,,-288,-252,-288,,,,',
'-288,-252,-252,-252,,,-252,-252,-252,682,-252,679,678,677,687,680,,811',
',-252,-252,,,,690,,,245,,,-252,-252,,-252,-252,-252,-252,-252,120,121',
'122,123,124,255,256,,685,120,121,122,123,124,,,,695,694,698,697,242',
',248,691,244,243,,240,241,,,246,-252,247,-416,,,,,-252,,-416,-416,-416',
'271,-252,-416,-416,-416,225,-416,682,,679,678,677,,680,,-416,-416,-416',
'120,121,122,123,124,-252,-252,,-416,-416,,-416,-416,-416,-416,-416,',
',,,-252,,,-252,,,811,682,-252,679,678,677,,680,,-252,,,-416,-416,-416',
'-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,,,-416,-416,-416',
',,-416,,271,-416,,811,-416,-416,,-416,,-416,,-416,,-416,-416,,-416,-416',
'-416,-416,-416,-303,-416,-416,-416,,,,-303,-303,-303,,,-303,-303,-303',
',-303,-416,245,,-416,-416,,-416,,-416,-303,-303,,,,,-416,,255,256,-303',
'-303,,-303,-303,-303,-303,-303,120,121,122,123,124,,242,,248,,244,243',
',240,241,,,,,,,,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303',
'-303,-303,-303,,,-303,-303,-303,,,-303,,280,-303,,,-303,-303,,-303,',
'-303,,-303,,-303,-303,,-303,-303,-303,-303,-303,,-303,-252,-303,,,,',
',-252,-252,-252,,,-252,-252,-252,-303,-252,245,-303,-303,,-303,,-303',
',-252,-252,-252,,,-303,,,255,256,,-252,-252,,-252,-252,-252,-252,-252',
',,,,,242,,,,244,243,,240,241,,,,,,,,,-252,-252,-252,-252,-252,-252,-252',
'-252,-252,-252,-252,-252,-252,-252,,,-252,-252,-252,,,-252,,271,-252',
',,-252,-252,,-252,,-252,,-252,,-252,-252,,-252,-252,-252,-252,-252,',
'-252,-252,-252,,,,,,,,,,,,,,-252,,,-252,-252,,-252,,-252,298,75,76,72',
'9,58,-252,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104',
'106,107,,,19,,,,,605,8,46,300,10,109,108,110,99,57,101,100,102,,103',
'111,112,,95,96,42,43,41,245,249,250,251,252,262,263,257,258,253,254',
',238,239,,,255,256,,40,,,33,,,59,60,,,61,,35,242,,248,45,244,243,,240',
'241,261,260,246,20,247,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,259,,-244',
',,63,,85,97,98,5,75,76,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74',
',,,,,77,28,27,105,104,106,107,,,19,,,,,605,8,46,7,10,109,108,110,99',
'57,101,100,102,,103,111,112,,95,96,42,43,41,245,249,250,251,252,262',
'263,257,258,253,254,,238,239,,,255,256,,40,,,33,,,59,60,,,61,,35,242',
',248,45,244,243,,240,241,261,260,246,20,247,,,,93,83,86,87,,88,90,89',
'91,,,,,84,92,,259,,,,,63,,85,97,98,298,75,76,72,9,58,,,,64,65,,,,68',
',66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,19,,,,,,8,46,300',
'10,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,245,249',
'250,251,252,262,263,257,258,253,254,,238,239,,,255,256,,40,,,302,,,59',
'60,,,61,,35,242,,248,45,244,243,,240,241,261,260,246,20,247,,,,93,83',
'86,87,,88,90,89,91,,,,,84,92,,259,,,,,63,,85,97,98,298,75,76,72,9,58',
',,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,',
',19,,,,,,8,46,300,10,109,108,110,99,57,101,100,102,,103,111,112,,95',
'96,42,43,41,245,249,250,251,252,262,263,257,258,253,254,,238,239,,,255',
'256,,40,,,33,,,59,60,,,61,,35,242,,248,45,244,243,,240,241,261,260,246',
'20,247,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,259,,,,,63,,85,97,98,298',
'75,76,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105',
'104,106,107,,,19,,,,,,8,46,300,10,109,108,110,99,57,101,100,102,,103',
'111,112,,95,96,42,43,41,245,249,250,251,252,262,263,257,258,253,254',
',238,239,,,255,256,,40,,,33,,,59,60,,,61,,35,242,,248,45,244,243,,240',
'241,261,260,246,20,247,,,,93,83,86,87,,88,90,89,91,,,,,84,92,225,259',
',,,,63,,85,97,98,298,75,76,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73',
'74,,,,,,77,28,27,105,104,106,107,,,19,,,,,,8,46,300,10,109,108,110,99',
'57,101,100,102,,103,111,112,,95,96,42,43,41,245,249,250,251,252,262',
'263,257,258,253,254,,238,239,,,255,256,,40,,,33,,,59,60,,,61,,35,242',
',248,45,244,243,,240,241,261,260,246,20,247,,,,93,83,86,87,,88,90,89',
'91,,,,,84,92,,259,,,,,63,,85,97,98,298,75,76,72,9,58,,,,64,65,,,,68',
',66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,19,,,,,,8,46,300',
'10,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,245,249',
'250,251,252,262,263,257,258,253,254,,238,239,,,255,256,,40,,,33,,,59',
'60,,,61,,35,242,,248,45,244,243,,240,241,261,260,246,20,247,,,,93,83',
'86,87,,88,90,89,91,,,,,84,92,,259,,,,,63,,85,97,98,298,75,76,72,9,58',
',,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,',
',19,,,,,,8,46,300,10,109,108,110,99,57,101,100,102,,103,111,112,,95',
'96,42,43,41,245,249,250,251,252,262,263,257,258,253,254,,238,239,,,255',
'256,,40,,,33,,,59,60,,,61,,35,242,,248,45,244,243,,240,241,261,260,246',
'20,247,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,259,,,,,63,,85,97,98,298',
'75,76,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105',
'104,106,107,,,19,,,,,,8,46,300,10,109,108,110,99,57,101,100,102,,103',
'111,112,,95,96,42,43,41,245,249,250,251,252,262,263,257,258,253,254',
',-608,-608,,,255,256,,40,,,33,,,59,60,,,61,,35,242,,248,45,244,243,',
'240,241,261,260,246,20,247,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,',
',,,63,,85,97,98,298,75,76,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73',
'74,,,,,,77,28,27,105,104,106,107,,,19,,,,,,8,46,300,10,109,108,110,99',
'57,101,100,102,,103,111,112,,95,96,42,43,41,245,-608,-608,-608,-608',
'262,263,,,-608,-608,,,,,,255,256,,40,,,302,,,59,60,,,61,,35,242,,248',
'45,244,243,,240,241,261,260,246,20,247,,,,93,83,86,87,,88,90,89,91,',
',,,84,92,,,,,,,63,,85,97,98,298,75,76,72,9,58,,,,64,65,,,,68,,66,67',
'69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,19,,,,,,8,46,300,10,109',
'108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,245,-608,-608',
'-608,-608,262,263,,,-608,-608,,,,,,255,256,,40,,,33,,,59,60,,,61,,35',
'242,,248,45,244,243,,240,241,261,260,246,20,247,,,,93,83,86,87,,88,90',
'89,91,,,,,84,92,,,,,,,63,,85,97,98,298,75,76,72,9,58,,,,64,65,,,,68',
',66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,19,,,,,,8,46,300',
'10,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,245,-608',
'-608,-608,-608,262,263,,,-608,-608,,,,,,255,256,,40,,,33,,,59,60,,,61',
',35,242,,248,45,244,243,,240,241,261,260,246,20,247,,,,93,83,86,87,',
'88,90,89,91,,,,,84,92,,,,,,,63,,85,97,98,298,75,76,72,9,58,,,,64,65',
',,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,19,,,,,',
'8,46,300,10,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43',
'41,245,-608,-608,-608,-608,262,263,,,-608,-608,,,,,,255,256,,40,,,33',
',,59,60,,,61,,35,242,,248,45,244,243,,240,241,261,260,246,20,247,,,',
'93,83,86,87,,88,90,89,91,,,,,84,92,,,,,,,63,,85,97,98,298,75,76,72,9',
'58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107',
',,19,,,,,,8,46,300,10,109,108,110,99,57,101,100,102,,103,111,112,,95',
'96,42,43,41,245,249,250,251,252,262,263,257,,253,254,,,,,,255,256,,40',
',,33,,,59,60,,,61,,35,242,,248,45,244,243,,240,241,261,260,246,20,247',
',,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,,,,63,,85,97,98,298,75,76,72',
'9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106',
'107,,,19,,,,,,8,46,300,10,109,108,110,99,57,101,100,102,,103,111,112',
',95,96,42,43,41,245,249,250,251,252,262,263,,,253,254,,,,,,255,256,',
'40,,,33,,,59,60,,,61,,35,242,,248,45,244,243,,240,241,261,260,246,20',
'247,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,,,,63,,85,97,98,298,75',
'76,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104',
'106,107,,,19,,,,,,8,46,300,10,109,108,110,99,57,101,100,102,,103,111',
'112,,95,96,42,43,41,245,249,250,251,252,262,263,257,258,253,254,,-608',
'-608,,,255,256,,40,,,33,,,59,60,,,61,,35,242,,248,45,244,243,,240,241',
'261,260,246,20,247,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,,,,63,,85',
'97,98,298,75,76,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,77',
'28,27,105,104,106,107,,,19,,,,,,8,46,300,10,109,108,110,99,57,101,100',
'102,,103,111,112,,95,96,42,43,41,245,-608,-608,-608,-608,262,263,,,-608',
'-608,,,,,,255,256,,40,,,302,,,59,60,,,61,,35,242,,248,45,244,243,,240',
'241,261,260,246,20,247,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,,,,63',
',85,97,98,298,75,76,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,',
',,77,28,27,105,104,106,107,,,19,,,,,,8,46,300,10,109,108,110,99,57,101',
'100,102,,103,111,112,,95,96,42,43,41,245,-608,-608,-608,-608,262,263',
',,-608,-608,,,,,,255,256,,40,,,33,,,59,60,,,61,,35,242,,248,45,244,243',
',240,241,261,260,246,20,247,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,',
',,,,63,,85,97,98,298,75,76,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73',
'74,,,,,,77,28,27,105,104,106,107,,,19,,,,,,8,46,300,10,109,108,110,99',
'57,101,100,102,,103,111,112,,95,96,42,43,41,245,,,,,,,,,,,,,,,,255,256',
',40,,,33,,,59,60,,,61,,35,242,,248,45,244,243,,240,241,,,,20,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,,,,63,,85,97,98,298,75,76,72,9,58',
',,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,',
',19,,,,,,8,46,300,10,109,108,110,99,57,101,100,102,,103,111,112,,95',
'96,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,59,60,,,61,,35,,,,45,,,,,,',
',,20,,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,,,,63,,85,97,98,5,75',
'76,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104',
'106,107,,,19,,,,,,8,46,7,10,109,108,110,99,57,101,100,102,,103,111,112',
',95,96,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,59,60,,,61,,35,,,,45,,',
',,,,,,20,,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,,,,63,,85,97,98,298',
'75,76,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105',
'104,106,107,,,19,,,,,,8,46,300,10,109,108,110,99,57,101,100,102,,103',
'111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,59,60,,,61,,35',
',,,45,,,,,,,,,20,,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,,,,63,,85',
'97,98,298,75,76,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,77',
'28,27,105,104,106,107,,,19,,,,,,8,46,300,10,109,108,110,99,57,101,100',
'102,,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,59,60',
',,61,,35,,,,45,,,,,,,,,20,,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,',
',,,63,,85,97,98,298,75,76,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73',
'74,,,,,,77,28,27,105,104,106,107,,,19,,,,,,8,46,300,10,109,108,110,99',
'57,101,100,102,,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,,,,40,,',
'33,,,59,60,,,61,,35,,,,45,,,,,,,,,20,,,,,93,83,86,87,,88,90,89,91,,',
',,84,92,,,,,,,63,,85,97,98,298,75,76,72,9,58,,,,64,65,,,,68,,66,67,69',
'30,31,73,74,,,,,,77,28,27,105,104,106,107,,,19,,,,,,8,46,300,10,109',
'108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,',
',,,,,,40,,,33,,,59,60,,,61,,35,,,,45,,,,,,,,,20,,,,,93,83,86,87,,88',
'90,89,91,,,,,84,92,,,,,,,63,,85,97,98,298,75,76,72,9,58,,,,64,65,,,',
'68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,19,,,,,,8,46',
'300,10,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,,',
',,,,,,,,,,,,,,,,,40,,,33,,,59,60,,,61,,35,,,,45,,,,,,,,,20,,,,,93,83',
'86,87,,88,90,89,91,,,,,84,92,,,,,,,63,,85,97,98,298,75,76,72,9,58,,',
',64,65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,19',
',,,,,8,46,300,10,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42',
'43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,59,60,,,61,,35,,,,45,,,,,,,,,20,',
',,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,,,,63,,85,97,98,298,75,76,72',
'9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106',
'107,,,19,,,,,,8,46,300,10,109,108,110,99,57,101,100,102,,103,111,112',
',95,96,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,59,60,,,61,,35,,,,45,,',
',,,,,,20,,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85',
'97,98,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107',
',,19,,,,,,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42',
'43,41,,,,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,20,',
',,,93,83,86,87,,88,90,89,91,,,,,84,92,225,,,75,76,72,63,58,85,97,98',
'64,65,,,,68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107',
',,237,,,,,,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42',
'43,41,,,,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235',
',,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64',
'65,,,,68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237',
',,,,,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41',
',,,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,237,,,,,,,46',
',,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,,,,,,,',
',,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93,83,86',
'87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68,,66',
'67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,237,,,,,,,46,,,109',
'108,110,99,57,101,100,102,292,103,111,112,,95,96,42,43,41,,,,,,,,,,',
',,,,,,,,,230,,,236,,,59,60,,,61,,289,,287,,45,,,293,,,,,,235,,,,,93',
'290,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,',
',68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,237,,,,,,',
'46,,,109,108,110,99,57,101,100,102,292,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,289,,287,,45,,,293,,,,,,235',
',,,,93,290,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64',
'65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,237,',
',,,,,46,,,109,108,110,99,57,101,100,102,292,103,111,112,,95,96,42,43',
'41,,,,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,289,,287,,45,,,293,,,',
',,235,,,,,93,290,86,87,,88,90,89,91,,,,,84,92,225,,,75,76,72,63,58,85',
'97,98,64,65,,,,68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106',
'107,,,237,,,,,,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95',
'96,42,43,41,,,,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,',
',,235,,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97',
'98,64,65,,,,68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107',
',,237,,,,,,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42',
'43,41,,,,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235',
',,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64',
'65,,,,68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237',
',,,,,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41',
',,,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,,,,63,,85,97,98,75,76,72,9,58,,,',
'64,65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,19',
',,,,,8,46,,10,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43',
'41,,,,,,,,,,,,,,,,,,,,40,,,33,,,59,60,,,61,,35,,,,45,,,,,,,,,20,,,,',
'93,83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65',
',,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,19,,,,,',
',46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,,,',
',,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,20,,,,,93,83',
'86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68',
',66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,,,,',
'46,,,109,108,110,99,57,101,100,102,292,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,293,,,,,,235,,,,',
'93,290,86,87,,88,90,89,91,,,,,84,92,,,,,,,63,,85,97,98,75,76,72,9,58',
',,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,',
',19,,,,,,8,46,7,10,109,108,110,99,57,101,100,102,,103,111,112,,95,96',
'42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,59,60,,,61,,35,,,,45,,,,,,,,,20',
',,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64',
'65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,237,',
',,,,,46,,,109,108,110,99,57,101,100,102,292,103,111,112,,95,96,42,43',
'41,,,,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,289,,287,,45,,,293,,,',
',,235,,,,,93,290,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97',
'98,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,',
',237,,,,,,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42',
'43,41,,,,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235',
',,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64',
'65,,,,68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237',
',,,,,,315,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,,,321',
',,,,,,,,,,,,,,,,,,,921,,,236,,,59,60,,,61,,,,,,,,,,,,,,,,,,,,93,83,86',
'87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68,,66',
'67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,237,,,,,,,46,,,109',
'108,110,99,57,101,100,102,292,103,111,112,,95,96,42,43,41,,,,,,,,,,',
',,,,,,,,,230,,,236,,,59,60,,,61,,289,,287,,45,,,293,,,,,,235,,,,,93',
'290,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,',
',68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,237,,,,,,',
'46,,,109,108,110,99,57,101,100,102,292,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,289,,287,,45,,,293,,,,,,235',
',,,,93,290,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64',
'65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,237,',
',,,,,46,,,109,108,110,99,57,101,100,102,292,103,111,112,,95,96,42,43',
'41,,,,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,289,,287,,45,,,293,,,',
',,235,,,,,93,290,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97',
'98,64,65,,,,68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107',
',,237,,,,,,,315,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96',
',,321,,,,,,,,,,,,,,,,,,,,311,,,307,,,59,60,,,61,,306,,,,,,,,,,,,,,,',
',,93,83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65',
',,,68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237',
',,,,,,315,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,,,321',
',,,,,,,,,,,,,,,,,,,311,,,236,,,59,60,,,61,,,682,,679,678,677,687,680',
',,,,,,,,690,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,323,,685,63,,85,97',
'98,75,76,72,,58,698,697,,64,65,691,,,68,,66,67,69,317,318,73,74,,,,',
',77,314,320,105,104,106,107,,,237,,,,,,,315,,,109,108,110,99,57,101',
'100,102,,103,111,112,,95,96,,,321,,,,,,,,,,,,,,,,,,,,927,,,236,,,59',
'60,,,61,,,,,,,,,,,,,,,,,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,75',
'76,72,63,58,85,97,98,64,65,,,,68,,66,67,69,317,318,73,74,,,,,,77,314',
'320,105,104,106,107,,,237,,,,,,,315,,,109,108,110,99,57,101,100,102',
',103,111,112,,95,96,,,321,,,,,,,,,,,,,,,,,,,,921,,,236,,,59,60,,,61',
',,,,,,,,,,,,,,,,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63',
'58,85,97,98,64,65,,,,68,,66,67,69,317,318,73,74,,,,,,77,314,320,105',
'104,106,107,,,237,,,,,,,46,,,109,108,110,99,57,101,100,102,,103,111',
'112,,95,96,42,43,41,,,,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45',
',,,,,,,,235,,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58',
'85,97,98,64,65,,,,68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104',
'106,107,,,237,,,,,,,46,,,109,108,110,99,57,101,100,102,,103,111,112',
',95,96,42,43,41,,,,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,',
',,,,,,235,,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85',
'97,98,64,65,,,,68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106',
'107,,,237,,,,,,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95',
'96,42,43,41,,,,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,',
',,235,,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97',
'98,64,65,,,,68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107',
',,237,,,,,,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42',
'43,41,,,,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235',
',,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64',
'65,,,,68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237',
',,,,,,46,,,109,108,110,99,57,101,100,102,292,103,111,112,,95,96,42,43',
'41,,,,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,287,,45,,,293,,,,,,235',
',,,,93,290,86,87,,88,90,89,91,,,,,84,92,,,,,,,63,,85,97,98,75,76,72',
'9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106',
'107,,,19,,,,,,8,46,,10,109,108,110,99,57,101,100,102,,103,111,112,,95',
'96,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,59,60,,,61,,35,,,,45,,,,,,',
',,20,,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97',
'98,64,65,,,,68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107',
',,237,,,,,,,46,,,109,108,110,99,57,101,100,102,292,103,111,112,,95,96',
'42,43,41,,,,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,289,,,,45,,,293',
',,,,,235,,,,,93,290,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85',
'97,98,64,65,,,,68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106',
'107,,,237,,,,,,,46,,,109,108,110,99,57,101,100,102,292,103,111,112,',
'95,96,42,43,41,,,,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,293',
',,,,,235,,,,,93,290,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85',
'97,98,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107',
',,19,,,,,,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42',
'43,41,,,,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,20,',
',,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64',
'65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,19,,',
',,,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41',
',,,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,20,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,19,,,,,,,46',
',,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,,,,,,,',
',,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,20,,,,,93,83,86,87',
',88,90,89,91,,,,,84,92,117,,,,,116,63,,85,97,98,75,76,72,,58,,,,64,65',
',,,68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237',
',,,,,,315,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,,,321',
',,,,,,,,,,,,,,,,,,,357,,,33,,,59,60,,,61,,35,,,,,,,,,,,,,,,,,,93,83',
'86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68',
',66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,,,,',
'315,,,109,108,110,362,57,101,100,363,,103,111,112,,95,96,,,321,,,,,',
',,,,,,,,,,,369,,,364,,,236,,,59,60,,,61,,,,,,,,,,,,,,,,,,,,93,83,86',
'87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68,,66',
'67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,,,,,315',
',,109,108,110,362,57,101,100,363,,103,111,112,,95,96,,,321,,,,,,,,,',
',,,,,,,,,,364,,,236,,,59,60,,,61,,,682,,679,678,677,687,680,,,,,,,,',
'690,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,,,685,63,,85,97,98,75,76',
'72,9,58,698,697,,64,65,691,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27',
'105,104,106,107,,,19,,,,,,8,46,7,10,109,108,110,99,57,101,100,102,,103',
'111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,59,60,,,61,,35',
',,,45,,,,,,,,,20,,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,,,397,63',
',85,97,98,75,76,72,,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,77',
'28,27,105,104,106,107,,,19,,,,,,,46,,,109,108,110,99,57,101,100,102',
',103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,',
'61,,,,,,45,,,,,,,,,20,,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,75,76',
'72,63,58,85,97,98,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105',
'104,106,107,,,19,,,,,,,46,,,109,108,110,99,57,101,100,102,,103,111,112',
',95,96,42,43,41,,,,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,',
',,,,,,20,,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85',
'97,98,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107',
',,19,,,,,,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42',
'43,41,,,,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,20,',
',,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64',
'65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,19,,',
',,,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41',
',,,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,20,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,,,,63,,85,97,98,75,76,72,9,58,,,',
'64,65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,19',
',,,,,8,46,,10,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43',
'41,,,,,,,,,,,,,,,,,,,,40,,,33,,,59,60,,,61,,35,,,,45,,,,,,,,,20,,,,',
'93,83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65',
',,,68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237',
',,,,,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41',
',,,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,640,,,,45,,,,,,,,,235,,,',
',93,83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65',
',,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,19,,,,,',
',46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,,,',
',,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,20,,,,,93,83',
'86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68',
',66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,237,,,,,,,46,',
',109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,,,,,,,,',
',,,,,,,,,,,230,,,236,,,59,60,,,61,,413,,,,45,,,,,,,,,235,,,,,93,83,86',
'87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68,,66',
'67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,237,,,,,,,46,,,109',
'108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,',
',,,,,,230,,,236,,,59,60,,,61,,413,,,,45,,,,,,,,,235,,,,,93,83,86,87',
',88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68,,66,67',
'69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,19,,,,,,,46,,,109,108',
'110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,',
',,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,20,,,,,93,83,86,87,,88,90,89',
'91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68,,66,67,69,30,31',
'73,74,,,,,,77,28,27,105,104,106,107,,,19,,,,,,,46,,,109,108,110,99,57',
'101,100,102,,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,,,,230,,,236',
',,59,60,,,61,,,,,,45,,,,,,,,,20,,,,,93,83,86,87,,88,90,89,91,,,,,84',
'92,,,,75,76,72,63,58,85,97,98,64,65,,,,68,,66,67,69,30,31,73,74,,,,',
',77,28,27,105,104,106,107,,,237,,,,,,,46,,,109,108,110,99,57,101,100',
'102,,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,,,,230,,,236,,,59,60',
',,61,,,,,,45,,,,,,,,,235,,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,75',
'76,72,63,58,85,97,98,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27',
'105,104,106,107,,,237,,,,,,,46,,,109,108,110,99,57,101,100,102,292,103',
'111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,289',
',287,,45,,,293,,,,,,235,,,,,93,290,86,87,,88,90,89,91,,,,,84,92,,,,75',
'76,72,63,58,85,97,98,64,65,,,,68,,66,67,69,317,318,73,74,,,,,,77,314',
'320,105,104,106,107,,,237,,,,,,,46,,,109,108,110,99,57,101,100,102,',
'103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61',
',,,,,45,,,,,,,,,235,,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,75,76',
'72,63,58,85,97,98,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105',
'104,106,107,,,237,,,,,,,46,,,109,108,110,99,57,101,100,102,,103,111',
'112,,95,96,42,43,41,,,,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45',
',,,,,,,,235,,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58',
'85,97,98,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106',
'107,,,19,,,,,,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96',
'42,43,41,,,,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,20',
',,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64',
'65,,,,68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237',
',,,,,,315,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,,,321',
',,,,,,,,,,,,,,,,,,,311,,,236,,,59,60,,,61,,,682,,679,678,677,687,680',
',,,,,,,,690,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,515,,685,63,,85,97',
'98,75,76,72,,58,698,697,,64,65,691,,,68,,66,67,69,317,318,73,74,,,,',
',77,314,320,105,104,106,107,,,237,,,,,,,46,,,109,108,110,99,57,101,100',
'102,,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,,,,230,,,236,,,59,60',
',,61,,,,,,45,,,,,,,,,235,,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,75',
'76,72,63,58,85,97,98,64,65,,,,68,,66,67,69,317,318,73,74,,,,,,77,314',
'320,105,104,106,107,,,237,,,,,,,46,,,109,108,110,99,57,101,100,102,',
'103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61',
',413,,,,45,,,,,,,,,235,,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,75',
'76,72,63,58,85,97,98,64,65,,,,68,,66,67,69,317,318,73,74,,,,,,77,314',
'320,105,104,106,107,,,237,,,,,,,315,,,109,108,110,99,57,101,100,102',
',103,111,112,,95,96,,,321,,,,,,,,,,,,,,,,,,,,311,,,307,,,59,60,,,61',
',,,,,,,,,,,,,,,,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63',
'58,85,97,98,64,65,,,,68,,66,67,69,317,318,73,74,,,,,,77,314,320,105',
'104,106,107,,,237,,,,,,,315,,,109,108,110,99,57,101,100,102,,103,111',
'112,,95,96,,,321,,,,,,,,,,,,,,,,,,,,311,,,307,,,59,60,,,61,,,,,,,,,',
',,,,,,,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97',
'98,64,65,,,,68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107',
',,237,,,,,,,315,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96',
',,321,,,,,,,,,,,,,,,,,,,,311,,,307,,,59,60,,,61,,,,,,,,,,,,,,,,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93',
'83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,',
'68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,',
',,,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,',
',,,,,,,,,,,,,,,,,,230,,,236,532,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,',
'93,83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65',
',,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,237,,,,',
',,46,,,109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,,',
',,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93,83',
'86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68',
',66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,237,,,,,,,46,',
',109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,,,,,,,,',
',,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93,83,86,87',
',88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68,,66,67',
'69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,237,,,,,,,46,,,109,108',
'110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,',
',,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93,83,86,87,,88,90',
'89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68,,66,67,69,30',
'31,73,74,,,,,,77,28,27,105,104,106,107,,,237,,,,,,,46,,,109,108,110',
'99,57,101,100,102,,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,,,,230',
',,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93,83,86,87,,88,90,89,91',
',,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68,,66,67,69,317,318,73',
'74,,,,,,77,314,320,105,104,106,107,,,237,,,,,,,46,,,109,108,110,99,57',
'101,100,102,292,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,,,,230,',
',236,,,59,60,,,61,,,,287,,45,,,293,,,,,,235,,,,,93,290,86,87,,88,90',
'89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68,,66,67,69,317',
'318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,,,,,46,,,109,108,110',
'99,57,101,100,102,292,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,,',
',230,,,236,,,59,60,,,61,,640,,287,,45,,,293,,,,,,235,,,,,93,290,86,87',
',88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68,,66,67',
'69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,,,,,46,,,109',
'108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,',
',,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93,83,86,87,,88',
'90,89,91,,,,,84,92,,,,,,,63,,85,97,98,75,76,72,9,58,,,,64,65,,,,68,',
'66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,19,,,,,,8,46,,10',
'109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,,,,,,,,,',
',,,,,,,,,,40,,,33,,,59,60,,,61,,35,,,,45,,,,,,,,,20,,,,,93,83,86,87',
',88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68,,66,67',
'69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,237,,,,,,,46,,,109,108',
'110,99,57,101,100,102,292,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,',
',,,,,230,,,236,,,59,60,,,61,,289,,287,,45,,,293,,,,,,235,,,,,93,290',
'86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68',
',66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,19,,,,,,,46,,',
'109,108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,,,,,,,,,',
',,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,20,,,,,93,83,86,87',
',88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68,,66,67',
'69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,237,,,,,,,46,,,109,108',
'110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,',
',,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93,83,86,87,,88,90',
'89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68,,66,67,69,317',
'318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,,,,,46,,,109,108,110',
'99,57,101,100,102,,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,,,,230',
',,236,,,59,60,,,61,,744,,,,45,,,,,,,,,235,,,,,93,83,86,87,,88,90,89',
'91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68,,66,67,69,30,31',
'73,74,,,,,,77,28,27,105,104,106,107,,,237,,,,,,,46,,,109,108,110,99',
'57,101,100,102,292,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,,,,230',
',,236,,,59,60,,,61,,289,,287,,45,,,293,,,,,,235,,,,,93,290,86,87,,88',
'90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68,,66,67,69',
'30,31,73,74,,,,,,77,28,27,105,104,106,107,,,237,,,,,,,46,,,109,108,110',
'99,57,101,100,102,292,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,,',
',230,,,236,,,59,60,,,61,,289,,287,,45,,,293,,,,,,235,,,,,93,290,86,87',
',88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68,,66,67',
'69,30,31,73,74,,,,,,77,28,27,105,104,106,107,,,19,,,,,,,46,,,109,108',
'110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,',
',,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,20,,,,,93,83,86,87,,88,90,89',
'91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68,,66,67,69,317,318',
'73,74,,,,,,77,314,320,105,104,106,107,,,237,,,,,,,46,,,109,108,110,99',
'57,101,100,102,,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,,,,230,',
',236,,,59,60,,,61,,289,,,,45,,,,,,,,,235,,,,,93,83,86,87,,88,90,89,91',
',,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68,,66,67,69,317,318,73',
'74,,,,,,77,314,320,105,104,106,107,,,237,,,,,,,46,,,109,108,110,99,57',
'101,100,102,292,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,,,,230,',
',236,,,59,60,,,61,,640,,,,45,,,293,,,,,,235,,,,,93,290,86,87,,88,90',
'89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68,,66,67,69,30',
'31,73,74,,,,,,77,28,27,105,104,106,107,,,19,,,,,,,46,,,109,108,110,99',
'57,101,100,102,,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,,,,230,',
',236,,,59,60,,,61,,,,,,45,,,,,,,,,20,,,,,93,83,86,87,,88,90,89,91,,',
',,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68,,66,67,69,317,318,73',
'74,,,,,,77,314,320,105,104,106,107,,,237,,,,,,,46,,,109,108,110,99,57',
'101,100,102,,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,,,,230,,,236',
',,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93,83,86,87,,88,90,89,91,,,,,84',
'92,,,,75,76,72,63,58,85,97,98,64,65,,,,68,,66,67,69,317,318,73,74,,',
',,,77,314,320,105,104,106,107,,,237,,,,,,,46,,,109,108,110,99,57,101',
'100,102,,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,,,,230,,,236,,',
'59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93,83,86,87,,88,90,89,91,,,,,84,92',
',,,75,76,72,63,58,85,97,98,64,65,,,,68,,66,67,69,317,318,73,74,,,,,',
'77,314,320,105,104,106,107,,,237,,,,,,,315,,,109,108,110,99,57,101,100',
'102,,103,111,112,,95,96,,,321,,,,,,,,,,,,,,,,,,,,311,,,307,,,59,60,',
',61,,,,,,,,,,,,,,,,,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72',
'63,58,85,97,98,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104',
'106,107,,,19,,,,,,,46,,,109,108,110,99,57,101,100,102,,103,111,112,',
'95,96,42,43,41,,,,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,',
',,,,,20,,,,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85',
'97,98,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,77,28,27,105,104,106,107',
',,237,,,,,,,46,,,109,108,110,99,57,101,100,102,292,103,111,112,,95,96',
'42,43,41,,,,,,,,,,,,,,,,,,,,230,,,236,,,59,60,,,61,,289,,287,,45,,,293',
',,,,,235,,,,,93,290,86,87,,88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85',
'97,98,64,65,,,,68,,66,67,69,317,318,73,74,,,,,,77,314,320,105,104,106',
'107,,,237,,,,,,,315,,,109,108,110,99,57,101,100,102,,103,111,112,,95',
'96,,,321,,,,,,,,,,,,,,,,,,,,311,,,307,,,59,60,,,61,,,682,,679,678,677',
'687,680,,,,,,,,,690,,93,83,86,87,,88,90,89,91,,,,,84,92,,,,,,685,63',
',85,97,98,75,76,72,9,58,698,697,,64,65,691,,,68,,66,67,69,30,31,73,74',
',,,,,77,28,27,105,104,106,107,,,19,,,,,,8,46,300,10,109,108,110,99,57',
'101,100,102,,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33',
',,59,60,,,61,,35,,,,45,,,,,,,,,20,,,,,93,83,86,87,,88,90,89,91,,,,,84',
'92,,,,,,397,63,,85,97,98,75,76,72,,58,,,,64,65,,,,68,,66,67,69,317,318',
'73,74,,,,,,77,314,320,105,104,106,107,,,237,,,,,,,46,,,109,108,110,99',
'57,101,100,102,,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,,,,230,',
',236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93,83,86,87,,88,90,89,91,',
',,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68,,66,67,69,317,318,73',
'74,,,,,,77,314,320,105,104,106,107,,,237,,,,,,,46,,,109,108,110,99,57',
'101,100,102,292,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,,,,230,',
',236,,,59,60,,,61,,,,287,,45,,,293,,,,,,235,,,,,93,290,86,87,,88,90',
'89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68,,66,67,69,317',
'318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,,,,,46,,,109,108,110',
'99,57,101,100,102,292,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,,',
',230,,,236,,,59,60,,,61,,640,,287,,45,,,293,,,,,,235,,,,,93,290,86,87',
',88,90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68,,66,67',
'69,317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,,,,,46,,,109',
'108,110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,',
',,,,,,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93,83,86,87,,88',
'90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68,,66,67,69',
'317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,,,,,46,,,109,108',
'110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,',
',,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93,83,86,87,,88,90',
'89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68,,66,67,69,317',
'318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,,,,,46,,,109,108,110',
'99,57,101,100,102,,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,,,,230',
',,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93,83,86,87,,88,90,89,91',
',,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68,,66,67,69,30,31,73',
'74,,,,,,77,28,27,105,104,106,107,,,237,,,,,,,46,,,109,108,110,99,57',
'101,100,102,292,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,,,,230,',
',236,,,59,60,,,61,,289,,287,,45,,,293,,,,,,235,,,,,93,290,86,87,,88',
'90,89,91,,,,,84,92,,,,75,76,72,63,58,85,97,98,64,65,,,,68,,66,67,69',
'317,318,73,74,,,,,,77,314,320,105,104,106,107,,,237,,,,,,,46,,,109,108',
'110,99,57,101,100,102,,103,111,112,,95,96,42,43,41,,,,,,,,,,,,,,,,,',
',,230,,,236,,,59,60,,,61,,,,,,45,,,,,,,,,235,,,,,93,83,86,87,,88,90',
'89,91,,,,,84,92,,,,,,,63,,85,97,98,178,189,179,202,175,195,185,184,205',
'206,200,183,182,177,203,207,208,187,176,190,194,196,188,181,,,,197,204',
'199,198,191,201,186,174,193,192,,,,,,173,180,171,172,168,169,170,129',
'131,,,130,,,,,,,,162,163,,159,141,142,143,150,147,149,,,144,145,,,,164',
'165,151,152,,,,,,,,,,,,,,156,155,,140,161,158,157,166,153,154,148,146',
'138,160,139,,,167,93,,,,,,,,,,,,,,92,178,189,179,202,175,195,185,184',
'205,206,200,183,182,177,203,207,208,187,176,190,194,196,188,181,,,,197',
'204,199,198,191,201,186,174,193,192,,,,,,173,180,171,172,168,169,170',
'129,131,,,130,,,,,,,,162,163,,159,141,142,143,150,147,149,,,144,145',
',,,164,165,151,152,,,,,,,,,,,,,,156,155,,140,161,158,157,166,153,154',
'148,146,138,160,139,,,167,93,,,,,,,,,,,,,,92,178,189,179,202,175,195',
'185,184,205,206,200,183,182,177,203,207,208,187,176,190,194,196,188',
'181,,,,197,204,199,198,191,201,186,174,193,192,,,,,,173,180,171,172',
'168,169,170,129,131,,,130,,,,,,,,162,163,,159,141,142,143,150,147,149',
',,144,145,,,,164,165,151,152,,,,,,,,,,,,,,156,155,,140,161,158,157,166',
'153,154,148,146,138,160,139,,,167,93,,,,,,,,,,,,,,92,178,189,179,202',
'175,195,185,184,205,206,200,183,182,177,203,207,208,187,176,190,194',
'196,188,181,,,,197,204,199,198,191,201,186,174,193,192,,,,,,173,180',
'171,172,168,169,170,129,131,128,,130,,,,,,,,162,163,,159,141,142,143',
'150,147,149,,,144,145,,,,164,165,151,152,,,,,,,,,,,,,,156,155,,140,161',
'158,157,166,153,154,148,146,138,160,139,,,167,93,,,,,,,,,,,,,,92,178',
'189,179,202,175,195,185,184,205,206,200,183,182,177,203,207,208,187',
'176,190,194,196,188,181,,,,197,204,199,380,379,381,378,174,193,192,',
',,,,173,180,171,172,375,376,377,373,131,101,100,374,,103,,,,,,162,163',
',159,141,142,143,150,147,149,,,144,145,,,,164,165,151,152,,,,,,385,',
',,,,,,156,155,,140,161,158,157,166,153,154,148,146,138,160,139,,,167',
'178,189,179,202,175,195,185,184,205,206,200,183,182,177,203,207,208',
'187,176,190,194,196,188,181,,,,197,204,199,198,191,201,186,174,193,192',
',,,,,173,180,171,172,168,169,170,129,131,,,130,,,,,,,,162,163,,159,141',
'142,143,150,147,149,,,144,145,,,,164,165,151,152,,,,,,,,,,,,,,156,155',
',140,161,158,157,166,153,154,148,146,138,160,139,621,439,167,,622,,',
',,,,,162,163,,159,141,142,143,150,147,149,,,144,145,,,,164,165,151,152',
',,,,,271,,,,,,,,156,155,,140,161,158,157,166,153,154,148,146,138,160',
'139,714,446,167,,715,,,,,,,,162,163,,159,141,142,143,150,147,149,,,144',
'145,,,,164,165,151,152,,,,,,271,,,,,,,,156,155,,140,161,158,157,166',
'153,154,148,146,138,160,139,749,446,167,,748,,,,,,,,162,163,,159,141',
'142,143,150,147,149,,,144,145,,,,164,165,151,152,,,,,,271,,,,,,,,156',
'155,,140,161,158,157,166,153,154,148,146,138,160,139,746,439,167,,747',
',,,,,,,162,163,,159,141,142,143,150,147,149,,,144,145,,,,164,165,151',
'152,,,,,,271,,,,,,,,156,155,,140,161,158,157,166,153,154,148,146,138',
'160,139,435,439,167,,436,,,,,,,,162,163,,159,141,142,143,150,147,149',
',,144,145,,,,164,165,151,152,,,,,,271,,,,,,,,156,155,,140,161,158,157',
'166,153,154,148,146,138,160,139,486,439,167,,487,,,,,,,,162,163,,159',
'141,142,143,150,147,149,,,144,145,,,,164,165,151,152,,,,,,,,,,,,,,156',
'155,,140,161,158,157,166,153,154,148,146,138,160,139,442,446,167,,441',
',,,,,,,162,163,,159,141,142,143,150,147,149,,,144,145,,,,164,165,151',
'152,,,,,,271,,,,,,,,156,155,,140,161,158,157,166,153,154,148,146,138',
'160,139,623,446,167,,624,,,,,,,,162,163,,159,141,142,143,150,147,149',
',,144,145,,,,164,165,151,152,,,,,,271,,,,,,,,156,155,,140,161,158,157',
'166,153,154,148,146,138,160,139,621,439,167,,622,,,,,,,,162,163,,159',
'141,142,143,150,147,149,,,144,145,,,,164,165,151,152,,,,,,271,,,,,,',
',156,155,,140,161,158,157,166,153,154,148,146,138,160,139,1006,446,167',
',1007,,,,,,,,162,163,,159,141,142,143,150,147,149,,,144,145,,,,164,165',
'151,152,,,,,,271,,,,,,,,156,155,,140,161,158,157,166,153,154,148,146',
'138,160,139,486,439,167,,487,,,,,,,,162,163,,159,141,142,143,150,147',
'149,,,144,145,,,,164,165,151,152,,,,,,271,,,,,,,,156,155,,140,161,158',
'157,166,153,154,148,146,138,160,139,717,446,167,,718,,,,,,,,162,163',
',159,141,142,143,150,147,149,,,144,145,,,,164,165,151,152,,,,,,271,',
',,,,,,156,155,,140,161,158,157,166,153,154,148,146,138,160,139,1004',
'439,167,,1005,,,,,,,,162,163,,159,141,142,143,150,147,149,,,144,145',
',,,164,165,151,152,,,,,,271,,,,,,,,156,155,,140,161,158,157,166,153',
'154,148,146,138,160,139,1001,446,167,,1000,,,,,,,,162,163,,159,141,142',
'143,150,147,149,,,144,145,,,,164,165,151,152,,,,,,271,,,,,,,,156,155',
',140,161,158,157,166,153,154,148,146,138,160,139,650,439,167,,651,,',
',,,,,162,163,,159,141,142,143,150,147,149,,,144,145,,,,164,165,151,152',
',,,,,271,,,,,,,,156,155,,140,161,158,157,166,153,154,148,146,138,160',
'139,653,446,167,,654,,,,,,,,162,163,,159,141,142,143,150,147,149,,,144',
'145,,,,164,165,151,152,,,,,,271,,,,,,,,156,155,,140,161,158,157,166',
'153,154,148,146,138,160,139,712,439,167,,713,,,,,,,,162,163,,159,141',
'142,143,150,147,149,,,144,145,,,,164,165,151,152,,,,,,271,,,,,,,,156',
'155,,140,161,158,157,166,153,154,148,146,138,160,139,623,446,167,,624',
',,,,,,,162,163,,159,141,142,143,150,147,149,,,144,145,,,,164,165,151',
'152,,,,,,271,,,,,,,,156,155,,140,161,158,157,166,153,154,148,146,138',
'160,139,,682,167,679,678,677,687,680,,682,,679,678,677,687,680,690,',
',,,,,,690,,682,,679,678,677,687,680,,,,,,685,,,690,,,,,685,695,694,698',
'697,,,,691,695,694,698,697,,,,691,685,,682,,679,678,677,687,680,695',
'694,698,697,,,,691,690,,682,,679,678,677,687,680,,682,,679,678,677,687',
'680,690,,,,,685,,,690,,,,,,695,694,698,697,,,,691,685,,,,,,,,685,695',
'694,698,697,,,,691,695,694,698,697,,,682,691,679,678,677,687,680,,682',
',679,678,677,687,680,690,,,,,,,,690,,682,,679,678,677,687,680,,,,,,685',
',,690,,,,,685,,,698,697,,,,691,695,694,698,697,,,,691,685,,682,,679',
'678,677,687,680,,,698,697,,,,691,690,,682,,679,678,677,687,680,682,',
'679,678,677,687,680,,690,,,,,685,,690,,682,,679,678,677,687,680,698',
'697,,,,691,685,,690,,,,,685,,,,698,697,,,,691,,698,697,,,,691,685,,682',
',679,678,677,687,680,695,694,698,697,,,,691,690,,682,,679,678,677,687',
'680,682,,679,678,677,687,680,,690,,,,,685,668,690,,,,,,,695,694,698',
'697,,,,691,685,,,,,,,685,,695,694,698,697,,,,691,,698,697,,,,691' ]
        racc_action_table = arr = ::Array.new(24631, 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 = [
'623,746,893,574,574,560,713,623,623,623,19,347,623,623,623,772,623,62',
'710,797,463,645,346,392,634,623,623,623,623,354,364,645,1016,393,364',
'358,623,623,1024,623,623,623,623,623,1004,925,1005,975,928,1019,772',
'19,463,1020,451,451,463,463,746,634,660,660,1021,827,355,712,623,623',
'623,623,623,623,623,623,623,623,623,623,623,623,836,1007,623,623,623',
'836,623,623,867,392,623,924,714,623,623,1022,623,574,623,393,623,1,623',
'623,62,623,623,623,623,623,748,623,623,623,560,713,551,748,748,748,893',
'1006,1025,748,748,893,748,623,797,347,623,623,623,623,347,623,710,623',
'354,710,346,710,623,623,358,346,748,748,451,748,748,748,748,748,660',
'630,1024,714,1007,715,650,1024,1004,925,1005,975,928,1004,925,1005,975',
'928,827,355,712,1026,748,748,748,748,748,748,748,748,748,748,748,748',
'748,748,316,420,748,748,748,383,748,433,1006,1007,748,714,383,748,1007',
'1033,867,786,748,924,748,867,748,748,924,748,748,748,748,748,551,748',
'442,748,715,551,650,231,840,442,442,442,41,41,434,442,442,748,442,1006',
'748,748,630,748,1006,748,228,442,420,570,570,351,748,748,316,363,351',
'26,442,442,383,442,442,442,442,442,650,968,715,650,896,831,896,786,968',
'503,831,316,431,650,653,321,321,968,231,840,345,345,442,442,442,442',
'442,442,442,442,442,442,442,442,442,442,421,228,442,442,442,363,442',
'229,41,41,442,786,363,442,786,717,585,363,442,26,442,363,442,442,786',
'442,442,442,442,442,968,442,442,442,651,986,986,503,503,503,363,570',
'26,653,653,443,570,442,387,417,442,442,749,442,503,442,414,321,321,749',
'749,749,442,442,229,749,749,717,749,945,363,945,945,945,717,945,769',
'749,453,717,585,585,587,717,653,700,700,653,749,749,585,749,749,749',
'749,749,296,653,3,412,651,296,717,3,814,409,814,814,814,24,814,403,387',
'387,387,747,24,465,749,749,749,749,749,749,749,749,749,749,749,749,749',
'749,717,769,749,749,749,466,749,467,651,468,749,651,394,749,587,587',
'390,325,749,945,749,651,749,749,587,749,749,749,749,749,441,749,749',
'749,621,490,606,441,441,441,747,494,24,441,441,341,441,749,341,964,749',
'749,964,749,814,749,338,337,362,338,337,622,749,749,325,510,441,441',
'17,441,441,441,441,441,325,511,394,394,394,366,390,390,390,606,666,381',
'366,666,514,457,516,621,381,606,521,366,441,441,441,441,441,441,441',
'441,441,441,441,441,441,441,362,524,441,441,441,17,441,362,622,533,441',
'391,362,441,388,17,362,389,441,534,441,535,441,441,536,441,441,441,441',
'441,99,441,548,441,366,362,457,99,99,99,381,552,99,99,99,563,99,441',
'44,44,441,441,563,441,99,441,99,99,99,14,14,563,441,441,553,362,99,99',
'554,99,99,99,99,99,555,391,391,391,388,388,388,389,389,389,44,44,128',
'380,379,802,802,128,128,368,380,379,99,99,99,99,99,99,99,99,99,99,99',
'99,99,99,563,356,99,99,99,227,99,99,356,359,99,357,227,99,99,572,99',
'356,99,582,99,227,99,99,590,99,99,99,99,99,378,99,102,99,592,353,598',
'378,352,102,102,102,380,379,102,102,102,99,102,342,99,99,99,99,607,99',
'102,99,102,102,102,340,99,99,81,339,356,612,102,102,227,102,102,102',
'102,102,81,47,335,617,329,327,377,376,47,375,81,625,327,377,376,626',
'375,47,627,378,629,327,102,102,102,102,102,102,102,102,102,102,102,102',
'102,102,633,520,102,102,102,920,102,102,520,635,102,637,920,102,102',
'639,102,520,102,326,102,920,102,102,322,102,102,102,102,102,47,102,624',
'102,327,377,376,647,375,624,624,624,649,320,624,624,624,102,624,652',
'102,102,102,102,655,102,656,102,624,624,624,315,102,102,659,314,520',
'661,624,624,920,624,624,624,624,624,436,926,670,16,671,312,374,373,926',
'673,16,674,312,374,373,675,684,926,311,16,692,312,624,624,624,624,624',
'624,624,624,624,624,624,624,624,624,696,699,624,624,624,702,624,624',
'419,708,624,436,435,624,624,419,624,711,624,305,624,436,624,624,419',
'624,624,624,624,624,926,624,16,624,312,374,373,304,946,303,946,946,946',
'301,946,39,720,624,300,38,624,624,624,624,724,624,288,624,446,435,285',
'743,624,624,284,446,446,446,799,435,446,446,446,419,446,946,745,270',
'799,754,237,478,233,446,446,446,446,999,232,999,999,999,39,999,446,446',
'38,446,446,446,446,446,39,654,230,775,38,310,785,789,654,799,799,478',
'310,654,799,478,478,654,478,478,792,310,446,446,446,446,446,446,446',
'446,446,446,446,446,446,446,793,309,446,446,446,798,813,446,309,815',
'446,820,209,446,446,823,446,309,446,113,446,828,446,446,830,446,446',
'446,446,446,654,446,446,446,310,834,835,838,308,839,811,46,811,811,811',
'308,811,446,848,849,446,446,446,446,308,446,447,446,851,852,853,907',
'446,447,447,447,309,855,447,447,447,907,447,856,857,479,858,811,40,873',
'874,447,447,447,447,918,811,918,918,918,878,918,447,447,879,447,447',
'447,447,447,881,718,882,308,907,907,884,479,718,907,887,479,479,718',
'479,479,889,718,37,900,904,917,447,447,447,447,447,447,447,447,447,447',
'447,447,447,447,921,22,447,447,447,927,947,447,15,954,447,957,464,447',
'447,958,447,959,447,960,447,962,447,447,971,447,447,447,447,447,718',
'447,447,447,685,13,685,685,685,888,685,888,888,888,464,888,12,447,464',
'464,447,447,447,447,976,447,57,447,977,978,979,980,447,57,57,57,981',
'982,57,57,57,685,57,530,984,987,888,1000,1001,1003,685,10,57,57,57,888',
'7,,,530,530,,57,57,,57,57,57,57,57,890,,890,890,890,530,890,530,,530',
'530,,530,530,,,530,,530,,,,57,57,57,57,57,57,57,57,57,57,57,57,57,57',
',890,57,57,57,,,57,,,57,,,57,57,,57,,57,,57,,57,57,,57,57,57,57,57,',
'57,,57,578,578,,,578,578,578,,1015,,1015,1015,1015,57,1015,,57,57,57',
'57,,57,485,57,,,,,57,485,485,485,,,485,485,485,778,485,778,778,778,778',
'778,,1015,,485,485,,,,778,,,483,,,485,485,,485,485,485,485,485,334,334',
'334,334,334,483,483,,778,6,6,6,6,6,,,,778,778,778,778,483,,483,778,483',
'483,,483,483,,,483,485,483,27,,,,,485,,27,27,27,485,485,27,27,27,778',
'27,983,,983,983,983,,983,,27,27,27,299,299,299,299,299,485,485,,27,27',
',27,27,27,27,27,,,,,485,,,485,,,983,985,485,985,985,985,,985,,485,,',
'27,27,27,27,27,27,27,27,27,27,27,27,27,27,,,27,27,27,,,27,,27,27,,985',
'27,27,,27,,27,,27,,27,27,,27,27,27,27,27,28,27,27,27,,,,28,28,28,,,28',
'28,28,,28,27,470,,27,27,,27,,27,28,28,,,,,27,,470,470,28,28,,28,28,28',
'28,28,508,508,508,508,508,,470,,470,,470,470,,470,470,,,,,,,,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,437,28,,,,,,437,437,437,,,437,437',
'437,28,437,471,28,28,,28,,28,,437,437,437,,,28,,,471,471,,437,437,,437',
'437,437,437,437,,,,,,471,,,,471,471,,471,471,,,,,,,,,437,437,437,437',
'437,437,437,437,437,437,437,437,437,437,,,437,437,437,,,437,,437,437',
',,437,437,,437,,437,,437,,437,437,,437,437,437,437,437,,437,437,437',
',,,,,,,,,,,,,437,,,437,437,,437,,437,550,550,550,550,550,550,437,,,550',
'550,,,,550,,550,550,550,550,550,550,550,,,,,,550,550,550,550,550,550',
'550,,,550,,,,,424,550,550,550,550,550,550,550,550,550,550,550,550,,550',
'550,550,,550,550,550,550,550,424,424,424,424,424,424,424,424,424,424',
'424,,424,424,,,424,424,,550,,,550,,,550,550,,,550,,550,424,,424,550',
'424,424,,424,424,424,424,424,550,424,,,,550,550,550,550,,550,550,550',
'550,,,,,550,550,,424,,424,,,550,,550,550,550,0,0,0,0,0,0,,,,0,0,,,,0',
',0,0,0,0,0,0,0,,,,,,0,0,0,0,0,0,0,,,0,,,,,430,0,0,0,0,0,0,0,0,0,0,0',
'0,,0,0,0,,0,0,0,0,0,430,430,430,430,430,430,430,430,430,430,430,,430',
'430,,,430,430,,0,,,0,,,0,0,,,0,,0,430,,430,0,430,430,,430,430,430,430',
'430,0,430,,,,0,0,0,0,,0,0,0,0,,,,,0,0,,430,,,,,0,,0,0,0,307,307,307',
'307,307,307,,,,307,307,,,,307,,307,307,307,307,307,307,307,,,,,,307',
'307,307,307,307,307,307,,,307,,,,,,307,307,307,307,307,307,307,307,307',
'307,307,307,,307,307,307,,307,307,307,307,307,282,282,282,282,282,282',
'282,282,282,282,282,,282,282,,,282,282,,307,,,307,,,307,307,,,307,,307',
'282,,282,307,282,282,,282,282,282,282,282,307,282,,,,307,307,307,307',
',307,307,307,307,,,,,307,307,,282,,,,,307,,307,307,307,571,571,571,571',
'571,571,,,,571,571,,,,571,,571,571,571,571,571,571,571,,,,,,571,571',
'571,571,571,571,571,,,571,,,,,,571,571,571,571,571,571,571,571,571,571',
'571,571,,571,571,571,,571,571,571,571,571,751,751,751,751,751,751,751',
'751,751,751,751,,751,751,,,751,751,,571,,,571,,,571,571,,,571,,571,751',
',751,571,751,751,,751,751,751,751,751,571,751,,,,571,571,571,571,,571',
'571,571,571,,,,,571,571,,751,,,,,571,,571,571,571,350,350,350,350,350',
'350,,,,350,350,,,,350,,350,350,350,350,350,350,350,,,,,,350,350,350',
'350,350,350,350,,,350,,,,,,350,350,350,350,350,350,350,350,350,350,350',
'350,,350,350,350,,350,350,350,350,350,482,482,482,482,482,482,482,482',
'482,482,482,,482,482,,,482,482,,350,,,350,,,350,350,,,350,,350,482,',
'482,350,482,482,,482,482,482,482,482,350,482,,,,350,350,350,350,,350',
'350,350,350,,,,,350,350,482,482,,,,,350,,350,350,350,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,845,845,845,845,845,845,845',
'845,845,845,845,,845,845,,,845,845,,923,,,923,,,923,923,,,923,,923,845',
',845,923,845,845,,845,845,845,845,845,923,845,,,,923,923,923,923,,923',
'923,923,923,,,,,923,923,,845,,,,,923,,923,923,923,791,791,791,791,791',
'791,,,,791,791,,,,791,,791,791,791,791,791,791,791,,,,,,791,791,791',
'791,791,791,791,,,791,,,,,,791,791,791,791,791,791,791,791,791,791,791',
'791,,791,791,791,,791,791,791,791,791,21,21,21,21,21,21,21,21,21,21',
'21,,21,21,,,21,21,,791,,,791,,,791,791,,,791,,791,21,,21,791,21,21,',
'21,21,21,21,21,791,21,,,,791,791,791,791,,791,791,791,791,,,,,791,791',
',21,,,,,791,,791,791,791,735,735,735,735,735,735,,,,735,735,,,,735,',
'735,735,735,735,735,735,735,,,,,,735,735,735,735,735,735,735,,,735,',
',,,,735,735,735,735,735,735,735,735,735,735,735,735,,735,735,735,,735',
'735,735,735,735,531,531,531,531,531,531,531,531,531,531,531,,531,531',
',,531,531,,735,,,735,,,735,735,,,735,,735,531,,531,735,531,531,,531',
'531,531,531,531,735,531,,,,735,735,735,735,,735,735,735,735,,,,,735',
'735,,531,,,,,735,,735,735,735,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,461,461,461,461,461,461,461,461,461,461,461,,461',
'461,,,461,461,,716,,,716,,,716,716,,,716,,716,461,,461,716,461,461,',
'461,461,461,461,461,716,461,,,,716,716,716,716,,716,716,716,716,,,,',
'716,716,,,,,,,716,,716,716,716,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,302',
',302,302,302,302,302,473,473,473,473,473,473,473,,,473,473,,,,,,473',
'473,,302,,,302,,,302,302,,,302,,302,473,,473,302,473,473,,473,473,473',
'473,473,302,473,,,,302,302,302,302,,302,302,302,302,,,,,302,302,,,,',
',,302,,302,302,302,780,780,780,780,780,780,,,,780,780,,,,780,,780,780',
'780,780,780,780,780,,,,,,780,780,780,780,780,780,780,,,780,,,,,,780',
'780,780,780,780,780,780,780,780,780,780,780,,780,780,780,,780,780,780',
'780,780,475,475,475,475,475,475,475,,,475,475,,,,,,475,475,,780,,,780',
',,780,780,,,780,,780,475,,475,780,475,475,,475,475,475,475,475,780,475',
',,,780,780,780,780,,780,780,780,780,,,,,780,780,,,,,,,780,,780,780,780',
'832,832,832,832,832,832,,,,832,832,,,,832,,832,832,832,832,832,832,832',
',,,,,832,832,832,832,832,832,832,,,832,,,,,,832,832,832,832,832,832',
'832,832,832,832,832,832,,832,832,832,,832,832,832,832,832,477,477,477',
'477,477,477,477,,,477,477,,,,,,477,477,,832,,,832,,,832,832,,,832,,832',
'477,,477,832,477,477,,477,477,477,477,477,832,477,,,,832,832,832,832',
',832,832,832,832,,,,,832,832,,,,,,,832,,832,832,832,725,725,725,725',
'725,725,,,,725,725,,,,725,,725,725,725,725,725,725,725,,,,,,725,725',
'725,725,725,725,725,,,725,,,,,,725,725,725,725,725,725,725,725,725,725',
'725,725,,725,725,725,,725,725,725,725,725,472,472,472,472,472,472,472',
',,472,472,,,,,,472,472,,725,,,725,,,725,725,,,725,,725,472,,472,725',
'472,472,,472,472,472,472,472,725,472,,,,725,725,725,725,,725,725,725',
'725,,,,,725,725,,,,,,,725,,725,725,725,721,721,721,721,721,721,,,,721',
'721,,,,721,,721,721,721,721,721,721,721,,,,,,721,721,721,721,721,721',
'721,,,721,,,,,,721,721,721,721,721,721,721,721,721,721,721,721,,721',
'721,721,,721,721,721,721,721,481,481,481,481,481,481,481,481,,481,481',
',,,,,481,481,,721,,,721,,,721,721,,,721,,721,481,,481,721,481,481,,481',
'481,481,481,481,721,481,,,,721,721,721,721,,721,721,721,721,,,,,721',
'721,,,,,,,721,,721,721,721,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,480,480,480,480,480,480,480,,,480,480,,,,,,480,480,',
'236,,,236,,,236,236,,,236,,236,480,,480,236,480,480,,480,480,480,480',
'480,236,480,,,,236,236,236,236,,236,236,236,236,,,,,236,236,,,,,,,236',
',236,236,236,826,826,826,826,826,826,,,,826,826,,,,826,,826,826,826',
'826,826,826,826,,,,,,826,826,826,826,826,826,826,,,826,,,,,,826,826',
'826,826,826,826,826,826,826,826,826,826,,826,826,826,,826,826,826,826',
'826,462,462,462,462,462,462,462,462,462,462,462,,462,462,,,462,462,',
'826,,,826,,,826,826,,,826,,826,462,,462,826,462,462,,462,462,462,462',
'462,826,462,,,,826,826,826,826,,826,826,826,826,,,,,826,826,,,,,,,826',
',826,826,826,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,476,476,476,476,476,476,476,,,476,476,',
',,,,476,476,,33,,,33,,,33,33,,,33,,33,476,,476,33,476,476,,476,476,476',
'476,476,33,476,,,,33,33,33,33,,33,33,33,33,,,,,33,33,,,,,,,33,,33,33',
'33,547,547,547,547,547,547,,,,547,547,,,,547,,547,547,547,547,547,547',
'547,,,,,,547,547,547,547,547,547,547,,,547,,,,,,547,547,547,547,547',
'547,547,547,547,547,547,547,,547,547,547,,547,547,547,547,547,474,474',
'474,474,474,474,474,,,474,474,,,,,,474,474,,547,,,547,,,547,547,,,547',
',547,474,,474,547,474,474,,474,474,474,474,474,547,474,,,,547,547,547',
'547,,547,547,547,547,,,,,547,547,,,,,,,547,,547,547,547,349,349,349',
'349,349,349,,,,349,349,,,,349,,349,349,349,349,349,349,349,,,,,,349',
'349,349,349,349,349,349,,,349,,,,,,349,349,349,349,349,349,349,349,349',
'349,349,349,,349,349,349,,349,349,349,349,349,469,,,,,,,,,,,,,,,,469',
'469,,349,,,349,,,349,349,,,349,,349,469,,469,349,469,469,,469,469,,',
',349,,,,,349,349,349,349,,349,349,349,349,,,,,349,349,,,,,,,349,,349',
'349,349,333,333,333,333,333,333,,,,333,333,,,,333,,333,333,333,333,333',
'333,333,,,,,,333,333,333,333,333,333,333,,,333,,,,,,333,333,333,333',
'333,333,333,333,333,333,333,333,,333,333,333,,333,333,333,333,333,,',
',,,,,,,,,,,,,,,,,333,,,333,,,333,333,,,333,,333,,,,333,,,,,,,,,333,',
',,,333,333,333,333,,333,333,333,333,,,,,333,333,,,,,,,333,,333,333,333',
'126,126,126,126,126,126,,,,126,126,,,,126,,126,126,126,126,126,126,126',
',,,,,126,126,126,126,126,126,126,,,126,,,,,,126,126,126,126,126,126',
'126,126,126,126,126,126,,126,126,126,,126,126,126,126,126,,,,,,,,,,',
',,,,,,,,,126,,,126,,,126,126,,,126,,126,,,,126,,,,,,,,,126,,,,,126,126',
'126,126,,126,126,126,126,,,,,126,126,,,,,,,126,,126,126,126,864,864',
'864,864,864,864,,,,864,864,,,,864,,864,864,864,864,864,864,864,,,,,',
'864,864,864,864,864,864,864,,,864,,,,,,864,864,864,864,864,864,864,864',
'864,864,864,864,,864,864,864,,864,864,864,864,864,,,,,,,,,,,,,,,,,,',
',864,,,864,,,864,864,,,864,,864,,,,864,,,,,,,,,864,,,,,864,864,864,864',
',864,864,864,864,,,,,864,864,,,,,,,864,,864,864,864,953,953,953,953',
'953,953,,,,953,953,,,,953,,953,953,953,953,953,953,953,,,,,,953,953',
'953,953,953,953,953,,,953,,,,,,953,953,953,953,953,953,953,953,953,953',
'953,953,,953,953,953,,953,953,953,953,953,,,,,,,,,,,,,,,,,,,,953,,,953',
',,953,953,,,953,,953,,,,953,,,,,,,,,953,,,,,953,953,953,953,,953,953',
'953,953,,,,,953,953,,,,,,,953,,953,953,953,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,,,,,211,211,211,211,,211,211,211,211',
',,,,211,211,,,,,,,211,,211,211,211,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,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,,,,,,,,,,,,,,,,,,,,931,,,931,,,931,931,,,931,,931,,',
',931,,,,,,,,,931,,,,,931,931,931,931,,931,931,931,931,,,,,931,931,,',
',,,,931,,931,931,931,846,846,846,846,846,846,,,,846,846,,,,846,,846',
'846,846,846,846,846,846,,,,,,846,846,846,846,846,846,846,,,846,,,,,',
'846,846,846,846,846,846,846,846,846,846,846,846,,846,846,846,,846,846',
'846,846,846,,,,,,,,,,,,,,,,,,,,846,,,846,,,846,846,,,846,,846,,,,846',
',,,,,,,,846,,,,,846,846,846,846,,846,846,846,846,,,,,846,846,,,,,,,846',
',846,846,846,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,,,,,,,,,,,,,,,,,,,,930,,,930,,,930,930,,,930,,930,,,,930,,,,,,,',
',930,,,,,930,930,930,930,,930,930,930,930,,,,,930,930,,,,224,224,224',
'930,224,930,930,930,224,224,,,,224,,224,224,224,224,224,224,224,,,,',
',224,224,224,224,224,224,224,,,224,,,,,,,224,,,224,224,224,224,224,224',
'224,224,,224,224,224,,224,224,224,224,224,,,,,,,,,,,,,,,,,,,,224,,,224',
',,224,224,,,224,,,,,,224,,,,,,,,,224,,,,,224,224,224,224,,224,224,224',
'224,,,,,224,224,224,,,770,770,770,224,770,224,224,224,770,770,,,,770',
',770,770,770,770,770,770,770,,,,,,770,770,770,770,770,770,770,,,770',
',,,,,,770,,,770,770,770,770,770,770,770,770,,770,770,770,,770,770,770',
'770,770,,,,,,,,,,,,,,,,,,,,770,,,770,,,770,770,,,770,,,,,,770,,,,,,',
',,770,,,,,770,770,770,770,,770,770,770,770,,,,,770,770,,,,768,768,768',
'770,768,770,770,770,768,768,,,,768,,768,768,768,768,768,768,768,,,,',
',768,768,768,768,768,768,768,,,768,,,,,,,768,,,768,768,768,768,768,768',
'768,768,,768,768,768,,768,768,768,768,768,,,,,,,,,,,,,,,,,,,,768,,,768',
',,768,768,,,768,,,,,,768,,,,,,,,,768,,,,,768,768,768,768,,768,768,768',
'768,,,,,768,768,,,,767,767,767,768,767,768,768,768,767,767,,,,767,,767',
'767,767,767,767,767,767,,,,,,767,767,767,767,767,767,767,,,767,,,,,',
',767,,,767,767,767,767,767,767,767,767,,767,767,767,,767,767,767,767',
'767,,,,,,,,,,,,,,,,,,,,767,,,767,,,767,767,,,767,,,,,,767,,,,,,,,,767',
',,,,767,767,767,767,,767,767,767,767,,,,,767,767,,,,766,766,766,767',
'766,767,767,767,766,766,,,,766,,766,766,766,766,766,766,766,,,,,,766',
'766,766,766,766,766,766,,,766,,,,,,,766,,,766,766,766,766,766,766,766',
'766,,766,766,766,,766,766,766,766,766,,,,,,,,,,,,,,,,,,,,766,,,766,',
',766,766,,,766,,,,,,766,,,,,,,,,766,,,,,766,766,766,766,,766,766,766',
'766,,,,,766,766,,,,235,235,235,766,235,766,766,766,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,,,,765,765,765,235',
'765,235,235,235,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,,,,238,238,238,765,238,765,765,765,238,238,,,,238,,238',
'238,238,238,238,238,238,,,,,,238,238,238,238,238,238,238,,,238,,,,,',
',238,,,238,238,238,238,238,238,238,238,,238,238,238,,238,238,238,238',
'238,,,,,,,,,,,,,,,,,,,,238,,,238,,,238,238,,,238,,,,,,238,,,,,,,,,238',
',,,,238,238,238,238,,238,238,238,238,,,,,238,238,,,,239,239,239,238',
'239,238,238,238,239,239,,,,239,,239,239,239,239,239,239,239,,,,,,239',
'239,239,239,239,239,239,,,239,,,,,,,239,,,239,239,239,239,239,239,239',
'239,,239,239,239,,239,239,239,239,239,,,,,,,,,,,,,,,,,,,,239,,,239,',
',239,239,,,239,,,,,,239,,,,,,,,,239,,,,,239,239,239,239,,239,239,239',
'239,,,,,239,239,,,,240,240,240,239,240,239,239,239,240,240,,,,240,,240',
'240,240,240,240,240,240,,,,,,240,240,240,240,240,240,240,,,240,,,,,',
',240,,,240,240,240,240,240,240,240,240,,240,240,240,,240,240,240,240',
'240,,,,,,,,,,,,,,,,,,,,240,,,240,,,240,240,,,240,,,,,,240,,,,,,,,,240',
',,,,240,240,240,240,,240,240,240,240,,,,,240,240,,,,241,241,241,240',
'241,240,240,240,241,241,,,,241,,241,241,241,241,241,241,241,,,,,,241',
'241,241,241,241,241,241,,,241,,,,,,,241,,,241,241,241,241,241,241,241',
'241,,241,241,241,,241,241,241,241,241,,,,,,,,,,,,,,,,,,,,241,,,241,',
',241,241,,,241,,,,,,241,,,,,,,,,241,,,,,241,241,241,241,,241,241,241',
'241,,,,,241,241,,,,242,242,242,241,242,241,241,241,242,242,,,,242,,242',
'242,242,242,242,242,242,,,,,,242,242,242,242,242,242,242,,,242,,,,,',
',242,,,242,242,242,242,242,242,242,242,,242,242,242,,242,242,242,242',
'242,,,,,,,,,,,,,,,,,,,,242,,,242,,,242,242,,,242,,,,,,242,,,,,,,,,242',
',,,,242,242,242,242,,242,242,242,242,,,,,242,242,,,,243,243,243,242',
'243,242,242,242,243,243,,,,243,,243,243,243,243,243,243,243,,,,,,243',
'243,243,243,243,243,243,,,243,,,,,,,243,,,243,243,243,243,243,243,243',
'243,,243,243,243,,243,243,243,243,243,,,,,,,,,,,,,,,,,,,,243,,,243,',
',243,243,,,243,,,,,,243,,,,,,,,,243,,,,,243,243,243,243,,243,243,243',
'243,,,,,243,243,,,,244,244,244,243,244,243,243,243,244,244,,,,244,,244',
'244,244,244,244,244,244,,,,,,244,244,244,244,244,244,244,,,244,,,,,',
',244,,,244,244,244,244,244,244,244,244,,244,244,244,,244,244,244,244',
'244,,,,,,,,,,,,,,,,,,,,244,,,244,,,244,244,,,244,,,,,,244,,,,,,,,,244',
',,,,244,244,244,244,,244,244,244,244,,,,,244,244,,,,245,245,245,244',
'245,244,244,244,245,245,,,,245,,245,245,245,245,245,245,245,,,,,,245',
'245,245,245,245,245,245,,,245,,,,,,,245,,,245,245,245,245,245,245,245',
'245,,245,245,245,,245,245,245,245,245,,,,,,,,,,,,,,,,,,,,245,,,245,',
',245,245,,,245,,,,,,245,,,,,,,,,245,,,,,245,245,245,245,,245,245,245',
'245,,,,,245,245,,,,246,246,246,245,246,245,245,245,246,246,,,,246,,246',
'246,246,246,246,246,246,,,,,,246,246,246,246,246,246,246,,,246,,,,,',
',246,,,246,246,246,246,246,246,246,246,,246,246,246,,246,246,246,246',
'246,,,,,,,,,,,,,,,,,,,,246,,,246,,,246,246,,,246,,,,,,246,,,,,,,,,246',
',,,,246,246,246,246,,246,246,246,246,,,,,246,246,,,,247,247,247,246',
'247,246,246,246,247,247,,,,247,,247,247,247,247,247,247,247,,,,,,247',
'247,247,247,247,247,247,,,247,,,,,,,247,,,247,247,247,247,247,247,247',
'247,,247,247,247,,247,247,247,247,247,,,,,,,,,,,,,,,,,,,,247,,,247,',
',247,247,,,247,,,,,,247,,,,,,,,,247,,,,,247,247,247,247,,247,247,247',
'247,,,,,247,247,,,,248,248,248,247,248,247,247,247,248,248,,,,248,,248',
'248,248,248,248,248,248,,,,,,248,248,248,248,248,248,248,,,248,,,,,',
',248,,,248,248,248,248,248,248,248,248,,248,248,248,,248,248,248,248',
'248,,,,,,,,,,,,,,,,,,,,248,,,248,,,248,248,,,248,,,,,,248,,,,,,,,,248',
',,,,248,248,248,248,,248,248,248,248,,,,,248,248,,,,249,249,249,248',
'249,248,248,248,249,249,,,,249,,249,249,249,249,249,249,249,,,,,,249',
'249,249,249,249,249,249,,,249,,,,,,,249,,,249,249,249,249,249,249,249',
'249,,249,249,249,,249,249,249,249,249,,,,,,,,,,,,,,,,,,,,249,,,249,',
',249,249,,,249,,,,,,249,,,,,,,,,249,,,,,249,249,249,249,,249,249,249',
'249,,,,,249,249,,,,250,250,250,249,250,249,249,249,250,250,,,,250,,250',
'250,250,250,250,250,250,,,,,,250,250,250,250,250,250,250,,,250,,,,,',
',250,,,250,250,250,250,250,250,250,250,,250,250,250,,250,250,250,250',
'250,,,,,,,,,,,,,,,,,,,,250,,,250,,,250,250,,,250,,,,,,250,,,,,,,,,250',
',,,,250,250,250,250,,250,250,250,250,,,,,250,250,,,,251,251,251,250',
'251,250,250,250,251,251,,,,251,,251,251,251,251,251,251,251,,,,,,251',
'251,251,251,251,251,251,,,251,,,,,,,251,,,251,251,251,251,251,251,251',
'251,,251,251,251,,251,251,251,251,251,,,,,,,,,,,,,,,,,,,,251,,,251,',
',251,251,,,251,,,,,,251,,,,,,,,,251,,,,,251,251,251,251,,251,251,251',
'251,,,,,251,251,,,,252,252,252,251,252,251,251,251,252,252,,,,252,,252',
'252,252,252,252,252,252,,,,,,252,252,252,252,252,252,252,,,252,,,,,',
',252,,,252,252,252,252,252,252,252,252,,252,252,252,,252,252,252,252',
'252,,,,,,,,,,,,,,,,,,,,252,,,252,,,252,252,,,252,,,,,,252,,,,,,,,,252',
',,,,252,252,252,252,,252,252,252,252,,,,,252,252,,,,253,253,253,252',
'253,252,252,252,253,253,,,,253,,253,253,253,253,253,253,253,,,,,,253',
'253,253,253,253,253,253,,,253,,,,,,,253,,,253,253,253,253,253,253,253',
'253,,253,253,253,,253,253,253,253,253,,,,,,,,,,,,,,,,,,,,253,,,253,',
',253,253,,,253,,,,,,253,,,,,,,,,253,,,,,253,253,253,253,,253,253,253',
'253,,,,,253,253,,,,254,254,254,253,254,253,253,253,254,254,,,,254,,254',
'254,254,254,254,254,254,,,,,,254,254,254,254,254,254,254,,,254,,,,,',
',254,,,254,254,254,254,254,254,254,254,,254,254,254,,254,254,254,254',
'254,,,,,,,,,,,,,,,,,,,,254,,,254,,,254,254,,,254,,,,,,254,,,,,,,,,254',
',,,,254,254,254,254,,254,254,254,254,,,,,254,254,,,,255,255,255,254',
'255,254,254,254,255,255,,,,255,,255,255,255,255,255,255,255,,,,,,255',
'255,255,255,255,255,255,,,255,,,,,,,255,,,255,255,255,255,255,255,255',
'255,,255,255,255,,255,255,255,255,255,,,,,,,,,,,,,,,,,,,,255,,,255,',
',255,255,,,255,,,,,,255,,,,,,,,,255,,,,,255,255,255,255,,255,255,255',
'255,,,,,255,255,,,,256,256,256,255,256,255,255,255,256,256,,,,256,,256',
'256,256,256,256,256,256,,,,,,256,256,256,256,256,256,256,,,256,,,,,',
',256,,,256,256,256,256,256,256,256,256,,256,256,256,,256,256,256,256',
'256,,,,,,,,,,,,,,,,,,,,256,,,256,,,256,256,,,256,,,,,,256,,,,,,,,,256',
',,,,256,256,256,256,,256,256,256,256,,,,,256,256,,,,257,257,257,256',
'257,256,256,256,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,,,,258,258,258,257,258,257,257,257,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,,,,264,264,264,259,264,259,259,259,264,264,,,,264,,264',
'264,264,264,264,264,264,,,,,,264,264,264,264,264,264,264,,,264,,,,,',
',264,,,264,264,264,264,264,264,264,264,,264,264,264,,264,264,264,264',
'264,,,,,,,,,,,,,,,,,,,,264,,,264,,,264,264,,,264,,,,,,264,,,,,,,,,264',
',,,,264,264,264,264,,264,264,264,264,,,,,264,264,,,,752,752,752,264',
'752,264,264,264,752,752,,,,752,,752,752,752,752,752,752,752,,,,,,752',
'752,752,752,752,752,752,,,752,,,,,,,752,,,752,752,752,752,752,752,752',
'752,,752,752,752,,752,752,752,752,752,,,,,,,,,,,,,,,,,,,,752,,,752,',
',752,752,,,752,,,,,,752,,,,,,,,,752,,,,,752,752,752,752,,752,752,752',
'752,,,,,752,752,,,,271,271,271,752,271,752,752,752,271,271,,,,271,,271',
'271,271,271,271,271,271,,,,,,271,271,271,271,271,271,271,,,271,,,,,',
',271,,,271,271,271,271,271,271,271,271,271,271,271,271,,271,271,271',
'271,271,,,,,,,,,,,,,,,,,,,,271,,,271,,,271,271,,,271,,271,,271,,271',
',,271,,,,,,271,,,,,271,271,271,271,,271,271,271,271,,,,,271,271,,,,272',
'272,272,271,272,271,271,271,272,272,,,,272,,272,272,272,272,272,272',
'272,,,,,,272,272,272,272,272,272,272,,,272,,,,,,,272,,,272,272,272,272',
'272,272,272,272,272,272,272,272,,272,272,272,272,272,,,,,,,,,,,,,,,',
',,,,272,,,272,,,272,272,,,272,,272,,272,,272,,,272,,,,,,272,,,,,272',
'272,272,272,,272,272,272,272,,,,,272,272,,,,280,280,280,272,280,272',
'272,272,280,280,,,,280,,280,280,280,280,280,280,280,,,,,,280,280,280',
'280,280,280,280,,,280,,,,,,,280,,,280,280,280,280,280,280,280,280,280',
'280,280,280,,280,280,280,280,280,,,,,,,,,,,,,,,,,,,,280,,,280,,,280',
'280,,,280,,280,,280,,280,,,280,,,,,,280,,,,,280,280,280,280,,280,280',
'280,280,,,,,280,280,280,,,744,744,744,280,744,280,280,280,744,744,,',
',744,,744,744,744,744,744,744,744,,,,,,744,744,744,744,744,744,744,',
',744,,,,,,,744,,,744,744,744,744,744,744,744,744,,744,744,744,,744,744',
'744,744,744,,,,,,,,,,,,,,,,,,,,744,,,744,,,744,744,,,744,,,,,,744,,',
',,,,,,744,,,,,744,744,744,744,,744,744,744,744,,,,,744,744,,,,287,287',
'287,744,287,744,744,744,287,287,,,,287,,287,287,287,287,287,287,287',
',,,,,287,287,287,287,287,287,287,,,287,,,,,,,287,,,287,287,287,287,287',
'287,287,287,,287,287,287,,287,287,287,287,287,,,,,,,,,,,,,,,,,,,,287',
',,287,,,287,287,,,287,,,,,,287,,,,,,,,,287,,,,,287,287,287,287,,287',
'287,287,287,,,,,287,287,,,,289,289,289,287,289,287,287,287,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,,,,292',
'292,292,289,292,289,289,289,292,292,,,,292,,292,292,292,292,292,292',
'292,,,,,,292,292,292,292,292,292,292,,,292,,,,,,,292,,,292,292,292,292',
'292,292,292,292,,292,292,292,,292,292,292,292,292,,,,,,,,,,,,,,,,,,',
',292,,,292,,,292,292,,,292,,,,,,292,,,,,,,,,292,,,,,292,292,292,292',
',292,292,292,292,,,,,292,292,,,,293,293,293,292,293,292,292,292,293',
'293,,,,293,,293,293,293,293,293,293,293,,,,,,293,293,293,293,293,293',
'293,,,293,,,,,,,293,,,293,293,293,293,293,293,293,293,,293,293,293,',
'293,293,293,293,293,,,,,,,,,,,,,,,,,,,,293,,,293,,,293,293,,,293,,,',
',,293,,,,,,,,,293,,,,,293,293,293,293,,293,293,293,293,,,,,293,293,',
',,,,,293,,293,293,293,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,,,298,298,,,298,,298,,,,298,,,,,,,',
',298,,,,,298,298,298,298,,298,298,298,298,,,,,298,298,,,,722,722,722',
'298,722,298,298,298,722,722,,,,722,,722,722,722,722,722,722,722,,,,',
',722,722,722,722,722,722,722,,,722,,,,,,,722,,,722,722,722,722,722,722',
'722,722,,722,722,722,,722,722,722,722,722,,,,,,,,,,,,,,,,,,,,722,,,722',
',,722,722,,,722,,,,,,722,,,,,,,,,722,,,,,722,722,722,722,,722,722,722',
'722,,,,,722,722,,,,541,541,541,722,541,722,722,722,541,541,,,,541,,541',
'541,541,541,541,541,541,,,,,,541,541,541,541,541,541,541,,,541,,,,,',
',541,,,541,541,541,541,541,541,541,541,541,541,541,541,,541,541,541',
'541,541,,,,,,,,,,,,,,,,,,,,541,,,541,,,541,541,,,541,,,,,,541,,,541',
',,,,,541,,,,,541,541,541,541,,541,541,541,541,,,,,541,541,,,,,,,541',
',541,541,541,5,5,5,5,5,,,,5,5,,,,5,,5,5,5,5,5,5,5,,,,,,5,5,5,5,5,5,5',
',,5,,,,,,5,5,5,5,5,5,5,5,5,5,5,5,,5,5,5,,5,5,5,5,5,,,,,,,,,,,,,,,,,',
',,5,,,5,,,5,5,,,5,,5,,,,5,,,,,,,,,5,,,,,5,5,5,5,,5,5,5,5,,,,,5,5,,,',
'972,972,972,5,972,5,5,5,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,,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,,,,20,20,20,972,20,972,972,972',
'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,,,,919,919,919,20,919,20,20,20,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,,,,29,29,29,919,29,919,919,919',
'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,,,,34,34',
'34,31,34,31,31,31,34,34,,,,34,,34,34,34,34,34,34,34,,,,,,34,34,34,34',
'34,34,34,,,34,,,,,,,34,,,34,34,34,34,34,34,34,34,,34,34,34,,34,34,,',
'34,,,,,,,,,,,,,,,,,,,,34,,,34,,,34,34,,,34,,34,,,,,,,,,,,,,,,,,,34,34',
'34,34,,34,34,34,34,,,,,34,34,,,,35,35,35,34,35,34,34,34,35,35,,,,35',
',35,35,35,35,35,35,35,,,,,,35,35,35,35,35,35,35,,,35,,,,,,,35,,,35,35',
'35,35,35,35,35,35,,35,35,35,,35,35,,,35,,,,,,,,,,,,,,,,,,,,35,,,35,',
',35,35,,,35,,,1027,,1027,1027,1027,1027,1027,,,,,,,,,1027,,35,35,35',
'35,,35,35,35,35,,,,,35,35,,,,35,,1027,35,,35,35,35,868,868,868,,868',
'1027,1027,,868,868,1027,,,868,,868,868,868,868,868,868,868,,,,,,868',
'868,868,868,868,868,868,,,868,,,,,,,868,,,868,868,868,868,868,868,868',
'868,,868,868,868,,868,868,,,868,,,,,,,,,,,,,,,,,,,,868,,,868,,,868,868',
',,868,,,,,,,,,,,,,,,,,,,,868,868,868,868,,868,868,868,868,,,,,868,868',
',,,859,859,859,868,859,868,868,868,859,859,,,,859,,859,859,859,859,859',
'859,859,,,,,,859,859,859,859,859,859,859,,,859,,,,,,,859,,,859,859,859',
'859,859,859,859,859,,859,859,859,,859,859,,,859,,,,,,,,,,,,,,,,,,,,859',
',,859,,,859,859,,,859,,,,,,,,,,,,,,,,,,,,859,859,859,859,,859,859,859',
'859,,,,,859,859,,,,42,42,42,859,42,859,859,859,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,,,,43',
'43,43,42,43,42,42,42,43,43,,,,43,,43,43,43,43,43,43,43,,,,,,43,43,43',
'43,43,43,43,,,43,,,,,,,43,,,43,43,43,43,43,43,43,43,,43,43,43,,43,43',
'43,43,43,,,,,,,,,,,,,,,,,,,,43,,,43,,,43,43,,,43,,,,,,43,,,,,,,,,43',
',,,,43,43,43,43,,43,43,43,43,,,,,43,43,,,,45,45,45,43,45,43,43,43,45',
'45,,,,45,,45,45,45,45,45,45,45,,,,,,45,45,45,45,45,45,45,,,45,,,,,,',
'45,,,45,45,45,45,45,45,45,45,,45,45,45,,45,45,45,45,45,,,,,,,,,,,,,',
',,,,,,45,,,45,,,45,45,,,45,,,,,,45,,,,,,,,,45,,,,,45,45,45,45,,45,45',
'45,45,,,,,45,45,,,,844,844,844,45,844,45,45,45,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,844,844,,844,844,844,844,,,,,844,844,,,,843,843,843,844,843',
'844,844,844,843,843,,,,843,,843,843,843,843,843,843,843,,,,,,843,843',
'843,843,843,843,843,,,843,,,,,,,843,,,843,843,843,843,843,843,843,843',
'843,843,843,843,,843,843,843,843,843,,,,,,,,,,,,,,,,,,,,843,,,843,,',
'843,843,,,843,,,,843,,843,,,843,,,,,,843,,,,,843,843,843,843,,843,843',
'843,843,,,,,843,843,,,,,,,843,,843,843,843,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,59',
'59,59,,,,,59,59,,,,60,60,60,59,60,59,59,59,60,60,,,,60,,60,60,60,60',
'60,60,60,,,,,,60,60,60,60,60,60,60,,,60,,,,,,,60,,,60,60,60,60,60,60',
'60,60,60,60,60,60,,60,60,60,60,60,,,,,,,,,,,,,,,,,,,,60,,,60,,,60,60',
',,60,,60,,,,60,,,60,,,,,,60,,,,,60,60,60,60,,60,60,60,60,,,,,60,60,',
',,61,61,61,60,61,60,60,60,61,61,,,,61,,61,61,61,61,61,61,61,,,,,,61',
'61,61,61,61,61,61,,,61,,,,,,,61,,,61,61,61,61,61,61,61,61,61,61,61,61',
',61,61,61,61,61,,,,,,,,,,,,,,,,,,,,61,,,61,,,61,61,,,61,,,,,,61,,,61',
',,,,,61,,,,,61,61,61,61,,61,61,61,61,,,,,61,61,,,,64,64,64,61,64,61',
'61,61,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,,,,65,65,65,64,65,64,64,64,65,65,,,,65,,65',
'65,65,65,65,65,65,,,,,,65,65,65,65,65,65,65,,,65,,,,,,,65,,,65,65,65',
'65,65,65,65,65,,65,65,65,,65,65,65,65,65,,,,,,,,,,,,,,,,,,,,65,,,65',
',,65,65,,,65,,,,,,65,,,,,,,,,65,,,,,65,65,65,65,,65,65,65,65,,,,,65',
'65,,,,68,68,68,65,68,65,65,65,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,,,,,68,68,,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,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,70,',
',,71,71,71,70,71,70,70,70,71,71,,,,71,,71,71,71,71,71,71,71,,,,,,71',
'71,71,71,71,71,71,,,71,,,,,,,71,,,71,71,71,71,71,71,71,71,,71,71,71',
',71,71,,,71,,,,,,,,,,,,,,,,,,,,71,,,71,,,71,71,,,71,,,914,,914,914,914',
'914,914,,,,,,,,,914,,71,71,71,71,,71,71,71,71,,,,,71,71,,,,,,914,71',
',71,71,71,115,115,115,115,115,914,914,,115,115,914,,,115,,115,115,115',
'115,115,115,115,,,,,,115,115,115,115,115,115,115,,,115,,,,,,115,115',
'115,115,115,115,115,115,115,115,115,115,,115,115,115,,115,115,115,115',
'115,,,,,,,,,,,,,,,,,,,,115,,,115,,,115,115,,,115,,115,,,,115,,,,,,,',
',115,,,,,115,115,115,115,,115,115,115,115,,,,,115,115,,,,,,115,115,',
'115,115,115,120,120,120,,120,,,,120,120,,,,120,,120,120,120,120,120',
'120,120,,,,,,120,120,120,120,120,120,120,,,120,,,,,,,120,,,120,120,120',
'120,120,120,120,120,,120,120,120,,120,120,120,120,120,,,,,,,,,,,,,,',
',,,,,120,,,120,,,120,120,,,120,,,,,,120,,,,,,,,,120,,,,,120,120,120',
'120,,120,120,120,120,,,,,120,120,,,,121,121,121,120,121,120,120,120',
'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',
',,,122,122,122,121,122,121,121,121,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,,,,123,123,123,122,123,122,122,122',
'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,123,123,,123,123,123,123,,,,,123,123',
',,,,,,123,,123,123,123,124,124,124,124,124,,,,124,124,,,,124,,124,124',
'124,124,124,124,124,,,,,,124,124,124,124,124,124,124,,,124,,,,,,124',
'124,,124,124,124,124,124,124,124,124,124,,124,124,124,,124,124,124,124',
'124,,,,,,,,,,,,,,,,,,,,124,,,124,,,124,124,,,124,,124,,,,124,,,,,,,',
',124,,,,,124,124,124,124,,124,124,124,124,,,,,124,124,,,,825,825,825',
'124,825,124,124,124,825,825,,,,825,,825,825,825,825,825,825,825,,,,',
',825,825,825,825,825,825,825,,,825,,,,,,,825,,,825,825,825,825,825,825',
'825,825,,825,825,825,,825,825,825,825,825,,,,,,,,,,,,,,,,,,,,825,,,825',
',,825,825,,,825,,825,,,,825,,,,,,,,,825,,,,,825,825,825,825,,825,825',
'825,825,,,,,825,825,,,,822,822,822,825,822,825,825,825,822,822,,,,822',
',822,822,822,822,822,822,822,,,,,,822,822,822,822,822,822,822,,,822',
',,,,,,822,,,822,822,822,822,822,822,822,822,,822,822,822,,822,822,822',
'822,822,,,,,,,,,,,,,,,,,,,,822,,,822,,,822,822,,,822,,,,,,822,,,,,,',
',,822,,,,,822,822,822,822,,822,822,822,822,,,,,822,822,,,,212,212,212',
'822,212,822,822,822,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,212,,,,213,213,213,212,213,212,212,212,213,213,,,,213',
',213,213,213,213,213,213,213,,,,,,213,213,213,213,213,213,213,,,213',
',,,,,,213,,,213,213,213,213,213,213,213,213,,213,213,213,,213,213,213',
'213,213,,,,,,,,,,,,,,,,,,,,213,,,213,,,213,213,,,213,,213,,,,213,,,',
',,,,,213,,,,,213,213,213,213,,213,213,213,213,,,,,213,213,,,,214,214',
'214,213,214,213,213,213,214,214,,,,214,,214,214,214,214,214,214,214',
',,,,,214,214,214,214,214,214,214,,,214,,,,,,,214,,,214,214,214,214,214',
'214,214,214,,214,214,214,,214,214,214,214,214,,,,,,,,,,,,,,,,,,,,214',
',,214,,,214,214,,,214,,,,,,214,,,,,,,,,214,,,,,214,214,214,214,,214',
'214,214,214,,,,,214,214,,,,215,215,215,214,215,214,214,214,215,215,',
',,215,,215,215,215,215,215,215,215,,,,,,215,215,215,215,215,215,215',
',,215,,,,,,,215,,,215,215,215,215,215,215,215,215,,215,215,215,,215',
'215,215,215,215,,,,,,,,,,,,,,,,,,,,215,,,215,,,215,215,,,215,,,,,,215',
',,,,,,,,215,,,,,215,215,215,215,,215,215,215,215,,,,,215,215,,,,216',
'216,216,215,216,215,215,215,216,216,,,,216,,216,216,216,216,216,216',
'216,,,,,,216,216,216,216,216,216,216,,,216,,,,,,,216,,,216,216,216,216',
'216,216,216,216,,216,216,216,,216,216,216,216,216,,,,,,,,,,,,,,,,,,',
',216,,,216,,,216,216,,,216,,,,,,216,,,,,,,,,216,,,,,216,216,216,216',
',216,216,216,216,,,,,216,216,,,,217,217,217,216,217,216,216,216,217',
'217,,,,217,,217,217,217,217,217,217,217,,,,,,217,217,217,217,217,217',
'217,,,217,,,,,,,217,,,217,217,217,217,217,217,217,217,217,217,217,217',
',217,217,217,217,217,,,,,,,,,,,,,,,,,,,,217,,,217,,,217,217,,,217,,217',
',217,,217,,,217,,,,,,217,,,,,217,217,217,217,,217,217,217,217,,,,,217',
'217,,,,809,809,809,217,809,217,217,217,809,809,,,,809,,809,809,809,809',
'809,809,809,,,,,,809,809,809,809,809,809,809,,,809,,,,,,,809,,,809,809',
'809,809,809,809,809,809,,809,809,809,,809,809,809,809,809,,,,,,,,,,',
',,,,,,,,,809,,,809,,,809,809,,,809,,,,,,809,,,,,,,,,809,,,,,809,809',
'809,809,,809,809,809,809,,,,,809,809,,,,222,222,222,809,222,809,809',
'809,222,222,,,,222,,222,222,222,222,222,222,222,,,,,,222,222,222,222',
'222,222,222,,,222,,,,,,,222,,,222,222,222,222,222,222,222,222,,222,222',
'222,,222,222,222,222,222,,,,,,,,,,,,,,,,,,,,222,,,222,,,222,222,,,222',
',,,,,222,,,,,,,,,222,,,,,222,222,222,222,,222,222,222,222,,,,,222,222',
',,,223,223,223,222,223,222,222,222,223,223,,,,223,,223,223,223,223,223',
'223,223,,,,,,223,223,223,223,223,223,223,,,223,,,,,,,223,,,223,223,223',
'223,223,223,223,223,,223,223,223,,223,223,223,223,223,,,,,,,,,,,,,,',
',,,,,223,,,223,,,223,223,,,223,,,,,,223,,,,,,,,,223,,,,,223,223,223',
'223,,223,223,223,223,,,,,223,223,,,,306,306,306,223,306,223,223,223',
'306,306,,,,306,,306,306,306,306,306,306,306,,,,,,306,306,306,306,306',
'306,306,,,306,,,,,,,306,,,306,306,306,306,306,306,306,306,,306,306,306',
',306,306,,,306,,,,,,,,,,,,,,,,,,,,306,,,306,,,306,306,,,306,,,991,,991',
'991,991,991,991,,,,,,,,,991,,306,306,306,306,,306,306,306,306,,,,,306',
'306,,,,306,,991,306,,306,306,306,688,688,688,,688,991,991,,688,688,991',
',,688,,688,688,688,688,688,688,688,,,,,,688,688,688,688,688,688,688',
',,688,,,,,,,688,,,688,688,688,688,688,688,688,688,,688,688,688,,688',
'688,688,688,688,,,,,,,,,,,,,,,,,,,,688,,,688,,,688,688,,,688,,,,,,688',
',,,,,,,,688,,,,,688,688,688,688,,688,688,688,688,,,,,688,688,,,,662',
'662,662,688,662,688,688,688,662,662,,,,662,,662,662,662,662,662,662',
'662,,,,,,662,662,662,662,662,662,662,,,662,,,,,,,662,,,662,662,662,662',
'662,662,662,662,,662,662,662,,662,662,662,662,662,,,,,,,,,,,,,,,,,,',
',662,,,662,,,662,662,,,662,,662,,,,662,,,,,,,,,662,,,,,662,662,662,662',
',662,662,662,662,,,,,662,662,,,,657,657,657,662,657,662,662,662,657',
'657,,,,657,,657,657,657,657,657,657,657,,,,,,657,657,657,657,657,657',
'657,,,657,,,,,,,657,,,657,657,657,657,657,657,657,657,,657,657,657,',
'657,657,,,657,,,,,,,,,,,,,,,,,,,,657,,,657,,,657,657,,,657,,,,,,,,,',
',,,,,,,,,,657,657,657,657,,657,657,657,657,,,,,657,657,,,,646,646,646',
'657,646,657,657,657,646,646,,,,646,,646,646,646,646,646,646,646,,,,',
',646,646,646,646,646,646,646,,,646,,,,,,,646,,,646,646,646,646,646,646',
'646,646,,646,646,646,,646,646,,,646,,,,,,,,,,,,,,,,,,,,646,,,646,,,646',
'646,,,646,,,,,,,,,,,,,,,,,,,,646,646,646,646,,646,646,646,646,,,,,646',
'646,,,,323,323,323,646,323,646,646,646,323,323,,,,323,,323,323,323,323',
'323,323,323,,,,,,323,323,323,323,323,323,323,,,323,,,,,,,323,,,323,323',
'323,323,323,323,323,323,,323,323,323,,323,323,,,323,,,,,,,,,,,,,,,,',
',,,323,,,323,,,323,323,,,323,,,,,,,,,,,,,,,,,,,,323,323,323,323,,323',
'323,323,323,,,,,323,323,,,,643,643,643,323,643,323,323,323,643,643,',
',,643,,643,643,643,643,643,643,643,,,,,,643,643,643,643,643,643,643',
',,643,,,,,,,643,,,643,643,643,643,643,643,643,643,,643,643,643,,643',
'643,643,643,643,,,,,,,,,,,,,,,,,,,,643,,,643,,,643,643,,,643,,,,,,643',
',,,,,,,,643,,,,,643,643,643,643,,643,643,643,643,,,,,643,643,,,,640',
'640,640,643,640,643,643,643,640,640,,,,640,,640,640,640,640,640,640',
'640,,,,,,640,640,640,640,640,640,640,,,640,,,,,,,640,,,640,640,640,640',
'640,640,640,640,,640,640,640,,640,640,640,640,640,,,,,,,,,,,,,,,,,,',
',640,,,640,,,640,640,,,640,,,,,,640,,,,,,,,,640,,,,,640,640,640,640',
',640,640,640,640,,,,,640,640,,,,330,330,330,640,330,640,640,640,330',
'330,,,,330,,330,330,330,330,330,330,330,,,,,,330,330,330,330,330,330',
'330,,,330,,,,,,,330,,,330,330,330,330,330,330,330,330,,330,330,330,',
'330,330,330,330,330,,,,,,,,,,,,,,,,,,,,330,,,330,,,330,330,,,330,,,',
',,330,,,,,,,,,330,,,,,330,330,330,330,,330,330,330,330,,,,,330,330,',
',,332,332,332,330,332,330,330,330,332,332,,,,332,,332,332,332,332,332',
'332,332,,,,,,332,332,332,332,332,332,332,,,332,,,,,,,332,,,332,332,332',
'332,332,332,332,332,,332,332,332,,332,332,332,332,332,,,,,,,,,,,,,,',
',,,,,332,,,332,332,,332,332,,,332,,,,,,332,,,,,,,,,332,,,,,332,332,332',
'332,,332,332,332,332,,,,,332,332,,,,616,616,616,332,616,332,332,332',
'616,616,,,,616,,616,616,616,616,616,616,616,,,,,,616,616,616,616,616',
'616,616,,,616,,,,,,,616,,,616,616,616,616,616,616,616,616,,616,616,616',
',616,616,616,616,616,,,,,,,,,,,,,,,,,,,,616,,,616,,,616,616,,,616,,',
',,,616,,,,,,,,,616,,,,,616,616,616,616,,616,616,616,616,,,,,616,616',
',,,615,615,615,616,615,616,616,616,615,615,,,,615,,615,615,615,615,615',
'615,615,,,,,,615,615,615,615,615,615,615,,,615,,,,,,,615,,,615,615,615',
'615,615,615,615,615,,615,615,615,,615,615,615,615,615,,,,,,,,,,,,,,',
',,,,,615,,,615,,,615,615,,,615,,,,,,615,,,,,,,,,615,,,,,615,615,615',
'615,,615,615,615,615,,,,,615,615,,,,611,611,611,615,611,615,615,615',
'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,,,,609,609,609,610,609,610,610,610',
'609,609,,,,609,,609,609,609,609,609,609,609,,,,,,609,609,609,609,609',
'609,609,,,609,,,,,,,609,,,609,609,609,609,609,609,609,609,609,609,609',
'609,,609,609,609,609,609,,,,,,,,,,,,,,,,,,,,609,,,609,,,609,609,,,609',
',,,609,,609,,,609,,,,,,609,,,,,609,609,609,609,,609,609,609,609,,,,',
'609,609,,,,608,608,608,609,608,609,609,609,608,608,,,,608,,608,608,608',
'608,608,608,608,,,,,,608,608,608,608,608,608,608,,,608,,,,,,,608,,,608',
'608,608,608,608,608,608,608,608,608,608,608,,608,608,608,608,608,,,',
',,,,,,,,,,,,,,,,608,,,608,,,608,608,,,608,,608,,608,,608,,,608,,,,,',
'608,,,,,608,608,608,608,,608,608,608,608,,,,,608,608,,,,605,605,605',
'608,605,608,608,608,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,,,,,,,605,,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,604,604,604,,,,,604,604',
',,,601,601,601,604,601,604,604,604,601,601,,,,601,,601,601,601,601,601',
'601,601,,,,,,601,601,601,601,601,601,601,,,601,,,,,,,601,,,601,601,601',
'601,601,601,601,601,601,601,601,601,,601,601,601,601,601,,,,,,,,,,,',
',,,,,,,,601,,,601,,,601,601,,,601,,601,,601,,601,,,601,,,,,,601,,,,',
'601,601,601,601,,601,601,601,601,,,,,601,601,,,,348,348,348,601,348',
'601,601,601,348,348,,,,348,,348,348,348,348,348,348,348,,,,,,348,348',
'348,348,348,348,348,,,348,,,,,,,348,,,348,348,348,348,348,348,348,348',
',348,348,348,,348,348,348,348,348,,,,,,,,,,,,,,,,,,,,348,,,348,,,348',
'348,,,348,,,,,,348,,,,,,,,,348,,,,,348,348,348,348,,348,348,348,348',
',,,,348,348,,,,600,600,600,348,600,348,348,348,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,,,,599,599,599,600,599',
'600,600,600,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,,,,567,567,567,599,567,599,599,599,567,567,,,,567,,567,567',
'567,567,567,567,567,,,,,,567,567,567,567,567,567,567,,,567,,,,,,,567',
',,567,567,567,567,567,567,567,567,567,567,567,567,,567,567,567,567,567',
',,,,,,,,,,,,,,,,,,,567,,,567,,,567,567,,,567,,567,,567,,567,,,567,,',
',,,567,,,,,567,567,567,567,,567,567,567,567,,,,,567,567,,,,557,557,557',
'567,557,567,567,567,557,557,,,,557,,557,557,557,557,557,557,557,,,,',
',557,557,557,557,557,557,557,,,557,,,,,,,557,,,557,557,557,557,557,557',
'557,557,557,557,557,557,,557,557,557,557,557,,,,,,,,,,,,,,,,,,,,557',
',,557,,,557,557,,,557,,557,,557,,557,,,557,,,,,,557,,,,,557,557,557',
'557,,557,557,557,557,,,,,557,557,,,,369,369,369,557,369,557,557,557',
'369,369,,,,369,,369,369,369,369,369,369,369,,,,,,369,369,369,369,369',
'369,369,,,369,,,,,,,369,,,369,369,369,369,369,369,369,369,,369,369,369',
',369,369,369,369,369,,,,,,,,,,,,,,,,,,,,369,,,369,,,369,369,,,369,,',
',,,369,,,,,,,,,369,,,,,369,369,369,369,,369,369,369,369,,,,,369,369',
',,,556,556,556,369,556,369,369,369,556,556,,,,556,,556,556,556,556,556',
'556,556,,,,,,556,556,556,556,556,556,556,,,556,,,,,,,556,,,556,556,556',
'556,556,556,556,556,,556,556,556,,556,556,556,556,556,,,,,,,,,,,,,,',
',,,,,556,,,556,,,556,556,,,556,,556,,,,556,,,,,,,,,556,,,,,556,556,556',
'556,,556,556,556,556,,,,,556,556,,,,538,538,538,556,538,556,556,556',
'538,538,,,,538,,538,538,538,538,538,538,538,,,,,,538,538,538,538,538',
'538,538,,,538,,,,,,,538,,,538,538,538,538,538,538,538,538,538,538,538',
'538,,538,538,538,538,538,,,,,,,,,,,,,,,,,,,,538,,,538,,,538,538,,,538',
',538,,,,538,,,538,,,,,,538,,,,,538,538,538,538,,538,538,538,538,,,,',
'538,538,,,,532,532,532,538,532,538,538,538,532,532,,,,532,,532,532,532',
'532,532,532,532,,,,,,532,532,532,532,532,532,532,,,532,,,,,,,532,,,532',
'532,532,532,532,532,532,532,,532,532,532,,532,532,532,532,532,,,,,,',
',,,,,,,,,,,,,532,,,532,,,532,532,,,532,,,,,,532,,,,,,,,,532,,,,,532',
'532,532,532,,532,532,532,532,,,,,532,532,,,,527,527,527,532,527,532',
'532,532,527,527,,,,527,,527,527,527,527,527,527,527,,,,,,527,527,527',
'527,527,527,527,,,527,,,,,,,527,,,527,527,527,527,527,527,527,527,,527',
'527,527,,527,527,527,527,527,,,,,,,,,,,,,,,,,,,,527,,,527,,,527,527',
',,527,,,,,,527,,,,,,,,,527,,,,,527,527,527,527,,527,527,527,527,,,,',
'527,527,,,,526,526,526,527,526,527,527,527,526,526,,,,526,,526,526,526',
'526,526,526,526,,,,,,526,526,526,526,526,526,526,,,526,,,,,,,526,,,526',
'526,526,526,526,526,526,526,,526,526,526,,526,526,526,526,526,,,,,,',
',,,,,,,,,,,,,526,,,526,,,526,526,,,526,,,,,,526,,,,,,,,,526,,,,,526',
'526,526,526,,526,526,526,526,,,,,526,526,,,,523,523,523,526,523,526',
'526,526,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,,,,385',
'385,385,523,385,523,523,523,385,385,,,,385,,385,385,385,385,385,385',
'385,,,,,,385,385,385,385,385,385,385,,,385,,,,,,,385,,,385,385,385,385',
'385,385,385,385,,385,385,385,,385,385,385,385,385,,,,,,,,,,,,,,,,,,',
',385,,,385,,,385,385,,,385,,,,,,385,,,,,,,,,385,,,,,385,385,385,385',
',385,385,385,385,,,,,385,385,,,,517,517,517,385,517,385,385,385,517',
'517,,,,517,,517,517,517,517,517,517,517,,,,,,517,517,517,517,517,517',
'517,,,517,,,,,,,517,,,517,517,517,517,517,517,517,517,517,517,517,517',
',517,517,517,517,517,,,,,,,,,,,,,,,,,,,,517,,,517,,,517,517,,,517,,517',
',517,,517,,,517,,,,,,517,,,,,517,517,517,517,,517,517,517,517,,,,,517',
'517,,,,515,515,515,517,515,517,517,517,515,515,,,,515,,515,515,515,515',
'515,515,515,,,,,,515,515,515,515,515,515,515,,,515,,,,,,,515,,,515,515',
'515,515,515,515,515,515,,515,515,515,,515,515,,,515,,,,,,,,,,,,,,,,',
',,,515,,,515,,,515,515,,,515,,,993,,993,993,993,993,993,,,,,,,,,993',
',515,515,515,515,,515,515,515,515,,,,,515,515,,,,,,993,515,,515,515',
'515,507,507,507,507,507,993,993,,507,507,993,,,507,,507,507,507,507',
'507,507,507,,,,,,507,507,507,507,507,507,507,,,507,,,,,,507,507,507',
'507,507,507,507,507,507,507,507,507,,507,507,507,,507,507,507,507,507',
',,,,,,,,,,,,,,,,,,,507,,,507,,,507,507,,,507,,507,,,,507,,,,,,,,,507',
',,,,507,507,507,507,,507,507,507,507,,,,,507,507,,,,,,507,507,,507,507',
'507,501,501,501,,501,,,,501,501,,,,501,,501,501,501,501,501,501,501',
',,,,,501,501,501,501,501,501,501,,,501,,,,,,,501,,,501,501,501,501,501',
'501,501,501,,501,501,501,,501,501,501,501,501,,,,,,,,,,,,,,,,,,,,501',
',,501,,,501,501,,,501,,,,,,501,,,,,,,,,501,,,,,501,501,501,501,,501',
'501,501,501,,,,,501,501,,,,499,499,499,501,499,501,501,501,499,499,',
',,499,,499,499,499,499,499,499,499,,,,,,499,499,499,499,499,499,499',
',,499,,,,,,,499,,,499,499,499,499,499,499,499,499,499,499,499,499,,499',
'499,499,499,499,,,,,,,,,,,,,,,,,,,,499,,,499,,,499,499,,,499,,,,499',
',499,,,499,,,,,,499,,,,,499,499,499,499,,499,499,499,499,,,,,499,499',
',,,497,497,497,499,497,499,499,499,497,497,,,,497,,497,497,497,497,497',
'497,497,,,,,,497,497,497,497,497,497,497,,,497,,,,,,,497,,,497,497,497',
'497,497,497,497,497,497,497,497,497,,497,497,497,497,497,,,,,,,,,,,',
',,,,,,,,497,,,497,,,497,497,,,497,,497,,497,,497,,,497,,,,,,497,,,,',
'497,497,497,497,,497,497,497,497,,,,,497,497,,,,460,460,460,497,460',
'497,497,497,460,460,,,,460,,460,460,460,460,460,460,460,,,,,,460,460',
'460,460,460,460,460,,,460,,,,,,,460,,,460,460,460,460,460,460,460,460',
',460,460,460,,460,460,460,460,460,,,,,,,,,,,,,,,,,,,,460,,,460,,,460',
'460,,,460,,,,,,460,,,,,,,,,460,,,,,460,460,460,460,,460,460,460,460',
',,,,460,460,,,,459,459,459,460,459,460,460,460,459,459,,,,459,,459,459',
'459,459,459,459,459,,,,,,459,459,459,459,459,459,459,,,459,,,,,,,459',
',,459,459,459,459,459,459,459,459,,459,459,459,,459,459,459,459,459',
',,,,,,,,,,,,,,,,,,,459,,,459,,,459,459,,,459,,,,,,459,,,,,,,,,459,,',
',,459,459,459,459,,459,459,459,459,,,,,459,459,,,,458,458,458,459,458',
'459,459,459,458,458,,,,458,,458,458,458,458,458,458,458,,,,,,458,458',
'458,458,458,458,458,,,458,,,,,,,458,,,458,458,458,458,458,458,458,458',
',458,458,458,,458,458,458,458,458,,,,,,,,,,,,,,,,,,,,458,,,458,,,458',
'458,,,458,,,,,,458,,,,,,,,,458,,,,,458,458,458,458,,458,458,458,458',
',,,,458,458,,,,456,456,456,458,456,458,458,458,456,456,,,,456,,456,456',
'456,456,456,456,456,,,,,,456,456,456,456,456,456,456,,,456,,,,,,,456',
',,456,456,456,456,456,456,456,456,456,456,456,456,,456,456,456,456,456',
',,,,,,,,,,,,,,,,,,,456,,,456,,,456,456,,,456,,456,,456,,456,,,456,,',
',,,456,,,,,456,456,456,456,,456,456,456,456,,,,,456,456,,,,413,413,413',
'456,413,456,456,456,413,413,,,,413,,413,413,413,413,413,413,413,,,,',
',413,413,413,413,413,413,413,,,413,,,,,,,413,,,413,413,413,413,413,413',
'413,413,,413,413,413,,413,413,413,413,413,,,,,,,,,,,,,,,,,,,,413,,,413',
',,413,413,,,413,,,,,,413,,,,,,,,,413,,,,,413,413,413,413,,413,413,413',
'413,,,,,413,413,,,,,,,413,,413,413,413,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,596,596,596,,,,,,,,,,,,,,596,596,,596,596,596,596,596,596,596',
'596,596,596,596,596,,,596,596,,,,,,,,,,,,,,596,404,404,404,404,404,404',
'404,404,404,404,404,404,404,404,404,404,404,404,404,404,404,404,404',
'404,,,,404,404,404,404,404,404,404,404,404,404,,,,,,404,404,404,404',
'404,404,404,404,404,,,404,,,,,,,,404,404,,404,404,404,404,404,404,404',
',,404,404,,,,404,404,404,404,,,,,,,,,,,,,,404,404,,404,404,404,404,404',
'404,404,404,404,404,404,404,,,404,404,,,,,,,,,,,,,,404,9,9,9,9,9,9,9',
'9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,,,,9,9,9,9,9,9,9,9,9,9,,,,,,9,9,9',
'9,9,9,9,9,9,,,9,,,,,,,,9,9,,9,9,9,9,9,9,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,72,72,72,72,72',
'72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,,,,72,72,72',
'72,72,72,72,72,72,72,,,,,,72,72,72,72,72,72,72,72,72,72,72,72,,72,,',
',,,72,72,,72,72,72,72,72,72,72,,,72,72,,,,72,72,72,72,,,,,,72,,,,,,',
',72,72,,72,72,72,72,72,72,72,72,72,72,72,72,,,72,728,728,728,728,728',
'728,728,728,728,728,728,728,728,728,728,728,728,728,728,728,728,728',
'728,728,,,,728,728,728,728,728,728,728,728,728,728,,,,,,728,728,728',
'728,728,728,728,728,728,,,728,,,,,,,,728,728,,728,728,728,728,728,728',
'728,,,728,728,,,,728,728,728,728,,,,,,,,,,,,,,728,728,,728,728,728,728',
'728,728,728,728,728,728,728,728,528,528,728,,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,559,559,528',
',559,,,,,,,,559,559,,559,559,559,559,559,559,559,,,559,559,,,,559,559',
'559,559,,,,,,559,,,,,,,,559,559,,559,559,559,559,559,559,559,559,559',
'559,559,559,603,603,559,,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,602,602,603,,602,,,,,,,,602,602',
',602,602,602,602,602,602,602,,,602,602,,,,602,602,602,602,,,,,,602,',
',,,,,,602,602,,602,602,602,602,602,602,602,602,602,602,602,602,218,218',
'602,,218,,,,,,,,218,218,,218,218,218,218,218,218,218,,,218,218,,,,218',
'218,218,218,,,,,,218,,,,,,,,218,218,,218,218,218,218,218,218,218,218',
'218,218,218,218,267,267,218,,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,219,219,267,,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,455,455',
'219,,455,,,,,,,,455,455,,455,455,455,455,455,455,455,,,455,455,,,,455',
'455,455,455,,,,,,455,,,,,,,,455,455,,455,455,455,455,455,455,455,455',
'455,455,455,455,454,454,455,,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,974,974,454,,974,,,,,,,,974',
'974,,974,974,974,974,974,974,974,,,974,974,,,,974,974,974,974,,,,,,974',
',,,,,,,974,974,,974,974,974,974,974,974,974,974,974,974,974,974,566',
'566,974,,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,565,565,566,,565,,,,,,,,565,565,,565,565,565,565',
'565,565,565,,,565,565,,,,565,565,565,565,,,,,,565,,,,,,,,565,565,,565',
'565,565,565,565,565,565,565,565,565,565,565,973,973,565,,973,,,,,,,',
'973,973,,973,973,973,973,973,973,973,,,973,973,,,,973,973,973,973,,',
',,,973,,,,,,,,973,973,,973,973,973,973,973,973,973,973,973,973,973,973',
'969,969,973,,969,,,,,,,,969,969,,969,969,969,969,969,969,969,,,969,969',
',,,969,969,969,969,,,,,,969,,,,,,,,969,969,,969,969,969,969,969,969',
'969,969,969,969,969,969,518,518,969,,518,,,,,,,,518,518,,518,518,518',
'518,518,518,518,,,518,518,,,,518,518,518,518,,,,,,518,,,,,,,,518,518',
',518,518,518,518,518,518,518,518,518,518,518,518,519,519,518,,519,,',
',,,,,519,519,,519,519,519,519,519,519,519,,,519,519,,,,519,519,519,519',
',,,,,519,,,,,,,,519,519,,519,519,519,519,519,519,519,519,519,519,519',
'519,558,558,519,,558,,,,,,,,558,558,,558,558,558,558,558,558,558,,,558',
'558,,,,558,558,558,558,,,,,,558,,,,,,,,558,558,,558,558,558,558,558',
'558,558,558,558,558,558,558,529,529,558,,529,,,,,,,,529,529,,529,529',
'529,529,529,529,529,,,529,529,,,,529,529,529,529,,,,,,529,,,,,,,,529',
'529,,529,529,529,529,529,529,529,529,529,529,529,529,,805,529,805,805',
'805,805,805,,727,,727,727,727,727,727,805,,,,,,,,727,,989,,989,989,989',
'989,989,,,,,,805,,,989,,,,,727,805,805,805,805,,,,805,727,727,727,727',
',,,727,989,,910,,910,910,910,910,910,989,989,989,989,,,,989,910,,912',
',912,912,912,912,912,,726,,726,726,726,726,726,912,,,,,910,,,726,,,',
',,910,910,910,910,,,,910,912,,,,,,,,726,912,912,912,912,,,,912,726,726',
'726,726,,,995,726,995,995,995,995,995,,934,,934,934,934,934,934,995',
',,,,,,,934,,936,,936,936,936,936,936,,,,,,995,,,936,,,,,934,,,995,995',
',,,995,934,934,934,934,,,,934,936,,938,,938,938,938,938,938,,,936,936',
',,,936,938,,940,,940,940,940,940,940,1010,,1010,1010,1010,1010,1010',
',940,,,,,938,,1010,,668,,668,668,668,668,668,938,938,,,,938,940,,668',
',,,,1010,,,,940,940,,,,940,,1010,1010,,,,1010,668,,546,,546,546,546',
'546,546,668,668,668,668,,,,668,546,,803,,803,803,803,803,803,807,,807',
'807,807,807,807,,803,,,,,546,546,807,,,,,,,546,546,546,546,,,,546,803',
',,,,,,807,,803,803,803,803,,,,803,,807,807,,,,807' ]
        racc_action_check = arr = ::Array.new(24631, 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 = [
  1920,   101,   nil,   270,   nil, 11209,  1358,  1126, 22816, 22688,
  1121,   nil,  1055,  1044,   567,  1074,   768,   416,   nil,   -79,
 11471,  2620,  1126,   nil,   334,   nil,   232,  1423,  1533, 11733,
 11864, 11995,   nil,  4020, 12126, 12257,   nil,  1001,   841,   837,
  1039,   171, 12658, 12789,   521, 12920,   927,   654,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,  1208,   nil, 13321,
 13452, 13583,    -8,   nil, 13714, 13845,   nil,   nil, 13976, 14115,
 14246, 14377, 22944,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   602,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   574,
   nil,   nil,   686,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,  1035,   nil, 14516,   nil,   nil,   nil,   nil,
 14655, 14786, 14917, 15048, 15187,   nil,  4580,   nil,   577,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   895,
   nil,  5000, 15580, 15711, 15842, 15973, 16104, 16235, 23362, 23484,
   nil,   nil, 16497, 16628,  5691,   nil,   nil,   582,   160,   223,
   927,   141,   823,   874,   nil,  6346,  3740,   869,  6608,  6739,
  6870,  7001,  7132,  7263,  7394,  7525,  7656,  7787,  7918,  8049,
  8180,  8311,  8442,  8573,  8704,  8835,  8966,  9097,  9228,  9359,
   nil,   nil,   nil,   nil,  9490,   nil,   nil, 23423,   nil,   nil,
   859,  9752,  9883,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
 10014,   nil,  2060,   nil,   809,   805,   nil, 10276,   847, 10407,
   nil,   nil, 10538, 10669,   nil,   nil,   268,   nil, 10808,  1412,
   814,   778,  3040,   787,   825,   764, 16759,  2060,   977,   940,
   908,   805,   770,   nil,   742,   697,   165,   nil,   nil,   nil,
   720,   220,   657, 17422,   nil,   365,   719,   658,   nil,   668,
 17815,   nil, 17946,  4440,  1349,   602,   nil,   361,   360,   625,
   602,   349,   616,   nil,   nil,   250,    10,    -1, 19264,  4300,
  2340,   121,   676,   554,     5,    40,   578,   610,    11,   639,
   nil,   nil,   467,   230,   -21,   nil,   436,   nil,   530, 19919,
   nil,   nil,   nil,   772,   771,   662,   660,   659,   607,   555,
   554,   442,   nil,   118,   nil, 20836,   nil,   290,   498,   501,
   390,   495,   -37,   -27,   386,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   300, 22560,   nil,   nil,   nil,   nil,   294,
   nil,   nil,   268, 22293,   225,   nil,   nil,   208,   nil,   809,
   105,   259,   nil,   nil,  1780,   nil,   nil,   nil,   nil,   nil,
  1920,   148,   nil,    64,   101,   804,   756,  1645,   nil,   nil,
   nil,   464,   222,   258,   nil,   nil,   936,  1072,   nil,   nil,
   nil,    18,   nil,   290, 23606, 23545, 22162,   437, 22031, 21900,
 21769,  2900,  3880,   -46,  1098,   353,   373,   375,   377,  4300,
  1485,  1596,  3460,  3040,  4160,  3180,  4020,  3320,   893,  1025,
  3740,  3600,  2340,  1311,   nil,  1344,   nil,   nil,   nil,   nil,
   339,   nil,   nil,   nil,   345,   nil,   nil, 21638,   nil, 21507,
   nil, 21376,   nil,   215,   nil,   nil,   nil, 21237,  1538,   nil,
   369,   376,   nil,   nil,   389, 21098,   394, 20967, 23972, 24033,
   690,   439,   nil, 20705,   412,   nil, 20574, 20443, 23118, 24155,
  1159,  2760, 20312,   546,   554,   435,   478,   nil, 20181,   nil,
   nil, 11070,   nil,   nil,   nil,   nil, 24502,  4160,   564,   nil,
  1780,    90,   576,   599,   596,   609, 20050, 19788, 24094, 23179,
   -19,   nil,   nil,   512,   nil, 23789, 23728, 19657,   nil,   nil,
   213,  2200,   580,   nil,   -33,   nil,   nil,   nil,  1269,   nil,
   nil,   nil,   554,   nil,   nil,   258,   nil,   324,   nil,   nil,
   544,   nil,   554,   nil,   nil,   nil, 22432,   nil,   557, 19526,
 19395, 19133, 23301, 23240, 19002, 18863,   384,   614, 18732, 18601,
 18470, 18339,   625,   nil,   nil, 18208, 18077,   637,   nil,   nil,
   nil,   382,   409,     0,   798,   611,   613,   739,   nil,   723,
   130,   nil,   nil,   653,   -50,   766,   nil,   644,   nil,   694,
 17684,   nil,   nil, 17553,   nil,  -112, 17291,   670,   nil,   678,
   136,   312,   726,   256,   904,   731,   689, 17160,   nil,   764,
    24,   819, 17029,   nil,   nil,   nil,   388,   nil, 24463,   nil,
   711,   713,   nil,   718,   720,   724,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   715,  1135,   nil,   nil, 16898,   nil,
   nil,   nil,   811,   nil,   nil,   nil,   827,   nil,   nil,   828,
   374,   nil,   869,   nil,   nil,   nil,   nil,   nil,   878,   nil,
     6,   765,    41,   -18,    68,   135,  2900,   292,  1040,   nil,
   794,  3600, 10939,   nil,   923,  3460, 24306, 24225, 23057,   nil,
   nil,   nil,   nil,   nil,   nil,  2760,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   806, 10145,   824,   -85,   331,   110,   354,
   nil,  2200,  9621,   nil,   824,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,  6477,  6215,  6084,  5953,   292,
  5822,   nil,   -59,   nil,   nil,   870,   nil,   nil,  1308,   nil,
  3180,   nil,   nil,   nil,   nil,   853,   183,   nil,   nil,   979,
   nil,  2620,   867,   929,   nil,   nil,   nil,    -9,   891,   890,
   nil,   nil,   534, 24519,   nil, 24217,   nil, 24526,   nil, 16366,
   nil,  1005,   nil,   889,   355,   895,   nil,   nil,   nil,   nil,
  1018,   nil, 15449,  1022,   nil, 15318,  3880,    39,  1028,   nil,
  1031,   141,  3320,   nil,  1042,   922,   -50,   nil,   926,   922,
   142,   nil,   nil, 13182, 13051,  2480,  5420,   nil,   931,   932,
   nil,   941,   942,   943,   nil,   974,   959,   955,   949, 12527,
   nil,   nil,   nil,   nil,  4720,   nil,   nil,    76, 12396,   nil,
   nil,   nil,   nil,  1005,   963,   nil,   nil,   nil,   973,   977,
   nil,   983,   985,   nil,   989,   nil,   nil,   996,  1140,   999,
  1201,   nil,   nil,   -10,   nil,   nil,   256,   nil,   nil,   nil,
  1126,   nil,   nil,   nil,  1047,   nil,   nil,  1021,   nil,   nil,
 24281,   nil, 24298,   nil, 14424,   nil,   nil,  1028,  1050, 11602,
   694,  1097,   nil,  2480,    79,    33,   766,  1102,    36,   nil,
  5560,  5280,   nil,   nil, 24366,   nil, 24383,   nil, 24422,   nil,
 24439,   nil,   nil,   nil,   nil,   320,   865,  1025,  5140,   nil,
   nil,   nil,   nil,  4860,  1028,   nil,   nil,  1030,  1034,  1036,
  1038,   nil,  1040,   nil,   353,   nil,   nil,   nil,   190, 23911,
   nil,  1169, 11340, 23850, 23667,    35,  1093,  1201,  1078,  1079,
  1080,  1085,  1086,  1389,  1093,  1427,   324,  1218,   nil, 24242,
   nil, 16806,   nil, 21145,   nil, 24358,   nil,   nil,   nil,   914,
  1140,  1141,   nil,  1101,    32,    34,   109,    69,   nil,   nil,
 24446,   nil,   nil,   nil,   nil,  1279,  -101,   nil,   nil,   -84,
   -80,   -71,   -38,   nil,    26,   -11,    42, 12304,   nil,   nil,
   nil,   nil,   nil,    72,   nil ]

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

clist = [
'223,382,534,29,266,274,278,431,29,319,319,343,267,118,336,114,283,283',
'283,555,218,322,498,29,305,125,725,332,268,137,137,661,29,29,29,641',
'29,6,132,132,127,210,6,820,319,319,319,115,346,347,547,550,351,606,135',
'135,349,350,428,415,416,490,29,638,448,638,326,29,29,524,226,29,284',
'284,284,800,801,641,118,489,352,303,537,540,345,345,544,564,345,944',
'387,789,780,883,633,880,334,270,277,279,394,119,132,337,398,399,400',
'401,437,443,852,281,294,295,967,2,961,1,29,815,585,587,429,29,29,29',
'29,29,449,29,301,965,823,335,285,285,285,627,368,372,345,345,345,345',
'535,641,635,333,854,452,383,568,6,359,545,856,340,485,855,384,630,402',
'339,6,964,338,341,667,870,546,797,498,330,596,638,638,930,931,873,484',
'492,493,772,949,793,867,944,386,388,669,389,390,631,961,391,967,392',
'438,581,583,586,586,880,393,283,495,730,735,722,703,404,396,1023,878',
'29,29,29,29,29,29,29,708,883,411,361,29,29,29,511,209,846,454,880,775',
'426,427,917,875,955,29,724,403,957,450,451,887,625,769,947,447,644,344',
'863,908,909,414,414,721,283,283,26,647,410,421,832,26,421,283,571,656',
'572,786,421,728,29,29,904,,,933,26,319,,29,,676,,880,719,26,26,26,514',
'26,,274,521,503,319,278,,29,,,984,29,118,649,506,,29,798,,525,518,284',
'536,,509,26,,,304,284,26,26,950,,26,1017,,528,551,827,422,508,29,422',
',,507,1016,829,422,437,443,522,711,,,510,29,29,29,491,516,,720,953,988',
'558,118,494,554,449,,429,840,345,835,836,573,29,1026,782,26,619,285',
',641,26,26,26,26,26,285,26,268,29,570,830,745,785,,834,738,,738,,301',
',,,,301,574,,676,652,638,,796,607,,826,632,613,,652,636,,759,618,602',
',137,764,,,,,,658,438,132,645,595,,,,,648,,283,,,,,652,,135,,755,757',
',,652,760,762,29,664,,,626,613,676,676,,,1002,,26,26,26,26,26,26,26',
',,,,26,26,26,447,,,,,319,782,437,443,,,26,438,319,729,409,900,,,283',
'525,,438,612,794,29,,,525,617,906,756,758,,,29,761,763,,,304,,,,,853',
'26,26,,684,29,,438,,,26,,,,283,438,,,,447,29,716,660,29,283,879,629',
'881,26,447,29,704,26,951,,,,26,,,29,923,,,29,,,,,774,723,438,,,,788',
',,283,447,,304,,26,841,447,304,948,,710,,,637,29,29,,607,29,26,26,26',
'773,,29,29,,795,137,29,29,,319,987,,,1024,132,,742,26,607,613,319,447',
'618,,525,,552,553,,750,135,666,,26,,787,,,421,,,,,,684,837,842,,421',
'421,958,,959,421,421,,,,,756,758,763,761,,,,,,,,859,,,,978,,,,,,607',
',,,,,,,,607,,,,414,831,,,,,,,754,684,684,26,,,29,,422,,,29,29,607,,29',
',,422,422,,,,422,422,29,,891,1019,345,865,,,,869,,,842,,,,,29,,,132',
'857,902,,1003,,,,858,26,,,,,,,,,,26,,857,,,,29,,,,,,,,684,26,684,29',
'810,,,,,,,421,,,,893,26,,,26,859,943,,859,,859,26,859,,,,,,,29,850,26',
',29,,26,,,319,29,700,857,,702,,899,345,319,,,903,876,16,29,876,,,16',
',,,,,,26,26,,652,26,,,29,227,,26,26,,422,,26,26,227,227,227,,16,310',
'310,,,,,,,,,,859,319,859,,859,858,859,858,,,,,,,16,911,913,915,,227',
'227,,,227,356,366,366,13,810,684,,889,13,29,,,,973,859,,29,29,,,,,,',
',,,,998,,,,,,29,438,13,,876,29,,850,283,850,,850,16,,849,,,227,227,227',
'227,16,,16,29,26,858,,13,,26,26,,607,26,874,,,360,,,,,,26,,,810,447',
'810,,,,447,828,,,,,,,26,,990,992,994,996,,997,804,806,808,,838,,,,,',
',,,,,13,,850,,850,26,850,,850,13,,13,,,,,26,,,,982,810,,,16,227,419',
'227,227,419,227,,,,862,419,227,227,,,850,1028,1029,1030,1031,866,,26',
',16,,26,851,,,1034,,26,810,954,810,,849,,849,,849,,,,,26,,,,,,,,882',
'896,884,,,227,227,,,,26,810,,,227,,,13,,417,,,417,,,,,,417,,,,16,,,',
'16,,,922,310,16,13,,,,,,,,,,,,,,,310,,,,,849,,849,,849,16,849,26,,,',
',,,26,26,,,,,227,16,16,,,,,,,,39,,26,,,39,971,26,849,,,227,13,976,977',
'960,13,962,,935,937,13,939,941,,942,26,227,,,,986,,39,309,309,,979,',
'980,,981,,,,,,13,,,,,,,,,,,,39,,,,13,13,,,,,355,371,371,371,,,,38,,',
',,38,,,,,,,,,,,1020,,1021,,1022,,227,,,,,,,,,,,38,308,308,,1025,,39',
',,,1011,1012,1013,1014,,39,,39,,,,1033,,,,,38,,,,,,,,,,354,370,370,370',
'16,,,,,,,,310,,227,,,,,,310,1032,,,,,,,,227,,,,,,,,,,,,,,,16,,38,16',
',,,,,,227,38,,38,,,,,,,227,,39,,16,,,,,,,,13,,,,,,,,,,,,,,,39,,,,,,419',
'227,,,16,,,,,,419,419,,,,419,419,,,13,,,13,,,,,,,,,,,,,,,,,,,,,13,,38',
'310,,,,,,,,,,39,310,,,39,,,,309,39,,,,,38,,417,,,,13,,,,,309,417,417',
',,,417,417,,,39,,,,,,,,,,,,,,,,39,39,,,,,,,,16,,,,,16,227,,,16,,,,,',
',38,,,16,38,,,,308,38,,,,,,,,,,,419,,,,,308,,,,342,,,,,,38,,,,,,,,,',
',,,16,,,38,38,,,,13,,,16,,13,,,,13,,,,,,,,,,13,,,,,,,,,,,,,,,227,,417',
',16,,,,,,16,,,,,,,,,,,,,,16,,,,,,13,,,,17,,,920,,17,,13,16,39,,,926',
',,,,309,,,,,,,,309,,,,,,,,17,312,312,,,,,,,13,,,,,,13,39,,,39,,,,412',
'425,,17,,,13,968,,,,16,,358,367,367,,39,16,16,,,,,13,,,,929,38,,,,,',
',16,308,,,,16,,,,308,,,,,39,,,,,,,,,17,227,,,,,,,,17,38,17,,38,,,500',
',502,,,504,505,,13,,,,,,,13,13,309,38,,,,,,,,,,309,,15,,,13,,15,,,13',
',,,,,,,,,,,,38,,,,,,,,,,,,15,,,,,,,,,,,,,,,,,17,,420,,,420,,39,,15,',
'420,39,308,,,39,,,,,,,,308,17,39,,,,,,,,,,,,,,,,,,,,598,,,,,,,,,,,,',
',,,,,,15,,,,,,39,,,15,,15,,,,,,39,38,,,,17,38,,,17,38,,,312,17,,,,,',
'38,,,,,,,,,,312,,,,,39,,,,,17,39,,,,,,,639,,342,,642,,,39,17,17,,,,',
',,,38,,,371,,,,,39,,,38,925,,15,,15,,,15,,,,,639,15,,342,,,,,,,,,,,',
'15,,,425,,,,38,,,,,,38,,,,,,,,,,,371,,,38,39,,,,,,,39,39,,,,370,,,,',
'38,743,,,924,,,,39,,639,342,,39,,,,15,,,,15,,,,,15,,,,,,,,,,,,,,,,783',
',,784,,,,,,,15,,,370,,,,38,,,,,792,17,38,38,15,15,,,,312,,,,,,,,312',
',,38,,,,,38,816,,,,,,,,,,,,,,,17,,,17,,,,,,,,,,,,,,,,,,,,,17,,,,,,,734',
',,,,,,,,,839,,,,,,,,,,,,420,,,,17,,,,,,420,420,,,,420,420,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,312,,,,,,,886,,,,312,,,,,,,,,,,15,895,,,,,,,,,,,',
',,,,,,342,,,,,,,,,,,,,,,,,,,,,15,,,15,,,,,17,,,,,17,,,,17,,,,,,,15,',
',17,,,,,,,,,,,,,,,,,420,,,,,,,,,15,,,,15,,,,,,15,15,,,,15,15,,,17,,',
',,,,,,,,17,,,,,,,,,,,,,,,,,234,,,,,,,,,282,282,282,,,,,,,17,,,,328,329',
'17,331,,,,,,,,,,,,,17,,282,282,,,,,,,,,,367,,,,,17,,,,928,,,,,,,,,15',
',,,,15,,,,15,,,,,,,,,,15,,,,,,,,,,,,,,,,,15,,,,,,367,,,,17,,,,,,,17',
'17,,,,,,,,,,15,,,,,,,17,,,,15,17,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,15',
',,,,,15,,,,,,,282,424,,,430,282,,15,,,430,,,,,,,,,,,,,234,,15,461,462',
'463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479',
'480,481,482,,,,,483,,,,,,,282,282,,,,,,,,282,,,,,,,282,,282,,,282,282',
',,15,,,,,,,15,15,,,,,,,,,,,,,,,,,15,,,,,15,,,,530,,531,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,282',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,282,,430,430,430,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,282,,282,,282,,,,,,,,,,,,,,,,282,,,,,,,,',
'430,659,,,,,,,,,,,282,,,282,,,,,,,,,,,,,,,282,282,,,,,,,,,,282,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,282,430,282,,,,751,,,282,282,430,430,,,,430',
'430,,,,,,,,,,,,,,,,,,,,,,,,282,,,282,,,,,,,,,,,,,,,,,,,282,,,,,,,,,',
',,,,,,,,,,,,,,,,282,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,282,,,,,,,,430,,,,,,,,,,,,,430,430,430,430,,845,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,282,,,,,,,,,,,,,,,,282,,,,,,,,,,,,,,,,,,282',
'430,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,282' ]
        racc_goto_table = arr = ::Array.new(3465, 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 = [
'34,63,9,50,144,81,81,30,50,73,73,96,42,105,77,4,39,39,39,101,32,57,83',
'50,56,8,107,34,32,68,68,11,50,50,50,188,50,7,64,64,16,16,7,100,73,73',
'73,6,18,18,99,99,18,31,67,67,36,36,27,23,23,30,50,84,27,84,71,50,50',
'58,21,50,78,78,78,126,126,188,105,45,4,53,79,79,25,25,79,61,25,119,161',
'12,133,184,46,179,7,44,44,44,161,5,64,78,18,18,18,18,43,43,131,51,51',
'51,138,2,185,1,50,121,165,165,70,50,50,50,50,50,70,50,52,137,12,111',
'80,80,80,147,62,62,25,25,25,25,110,188,147,109,123,54,108,104,7,102',
'98,129,95,43,135,94,82,7,76,7,136,80,80,139,140,141,142,83,74,69,84',
'84,145,146,135,148,150,151,154,155,156,157,119,160,162,143,163,164,48',
'185,167,138,168,81,166,166,166,166,179,169,39,54,170,171,172,37,26,5',
'137,177,50,50,50,50,50,50,50,101,184,24,20,50,50,50,54,17,133,32,179',
'46,25,25,135,181,182,50,9,2,131,25,25,121,30,31,122,64,15,112,13,126',
'126,78,78,113,39,39,47,58,21,21,114,47,21,39,115,58,116,31,21,117,50',
'50,118,,,126,47,73,,50,,173,,179,61,47,47,47,57,47,,81,34,161,73,81',
',50,,,122,50,105,30,4,,50,143,,56,32,78,34,,8,47,,,10,78,47,47,12,,47',
'100,,32,18,31,19,7,50,19,,,6,122,31,19,43,43,71,30,,,53,50,50,50,51',
'53,,30,107,126,32,105,51,4,70,,70,31,25,143,143,42,50,122,83,47,54,80',
',188,47,47,47,47,47,80,47,32,50,25,9,30,58,,9,166,,166,,52,,,,,52,25',
',173,43,84,,79,34,,99,54,81,,43,54,,45,81,32,,68,45,,,,,,70,81,64,54',
'16,,,,,54,,39,,,,,43,,67,,27,27,,,43,27,27,50,54,,,34,81,173,173,,,11',
',47,47,47,47,47,47,47,,,,,47,47,47,64,,,,,73,83,43,43,,,47,81,73,54',
'10,9,,,39,56,,81,44,23,50,,,56,44,9,70,70,,,50,70,70,,,10,,,,,132,47',
'47,,178,50,,81,,,47,,,,39,81,,,,64,50,36,25,50,39,132,44,132,47,64,50',
'105,47,101,,,,47,,,50,99,,,50,,,,,96,105,81,,,,54,,,39,64,,10,,47,27',
'64,10,99,,78,,,80,50,50,,34,50,47,47,47,144,,50,50,,77,68,50,50,,73',
'9,,,31,64,,16,47,34,81,73,64,81,,56,,10,10,,7,67,80,,47,,56,,,21,,,',
',,178,63,70,,21,21,132,,132,21,21,,,,,70,70,70,70,,,,,,,,180,,,,132',
',,,,,34,,,,,,,,,34,,,,78,18,,,,,,,80,178,178,47,,,50,,19,,,50,50,34',
',50,,,19,19,,,,19,19,50,,54,132,25,77,,,,77,,,70,,,,,50,,,64,34,54,',
'30,,,,178,47,,,,,,,,,,47,,34,,,,50,,,,,,,,178,47,178,50,120,,,,,,,21',
',,,18,47,,,47,180,54,,180,,180,47,180,,,,,,,50,127,47,,50,,47,,,73,50',
'10,34,,10,,105,25,73,,,105,127,29,50,127,,,29,,,,,,,47,47,,43,47,,,50',
'29,,47,47,,19,,47,47,29,29,29,,29,29,29,,,,,,,,,,180,73,180,,180,178',
'180,178,,,,,,,29,128,128,128,,29,29,,,29,29,29,29,22,120,178,,120,22',
'50,,,,32,180,,50,50,,,,,,,,,,,34,,,,,,50,81,22,,127,50,,127,39,127,',
'127,29,,125,,,29,29,29,29,29,,29,50,47,178,,22,,47,47,,34,47,125,,,22',
',,,,,47,,,120,64,120,,,,64,10,,,,,,,47,,128,128,128,128,,128,176,176',
'176,,10,,,,,,,,,,,22,,127,,127,47,127,,127,22,,22,,,,,47,,,,120,120',
',,29,29,29,29,29,29,29,,,,10,29,29,29,,,127,128,128,128,128,10,,47,',
'29,,47,130,,,128,,47,120,125,120,,125,,125,,125,,,,,47,,,,,,,,130,10',
'130,,,29,29,,,,47,120,,,29,,,22,,22,,,22,,,,,,22,,,,29,,,,29,,,10,29',
'29,22,,,,,,,,,,,,,,,29,,,,,125,,125,,125,29,125,47,,,,,,,47,47,,,,,29',
'29,29,,,,,,,,60,,47,,,60,10,47,125,,,29,22,10,10,130,22,130,,176,176',
'22,176,176,,176,47,29,,,,10,,60,60,60,,130,,130,,130,,,,,,22,,,,,,,',
',,,,60,,,,22,22,,,,,60,60,60,60,,,,59,,,,,59,,,,,,,,,,,130,,130,,130',
',29,,,,,,,,,,,59,59,59,,130,,60,,,,176,176,176,176,,60,,60,,,,130,,',
',,59,,,,,,,,,,59,59,59,59,29,,,,,,,,29,,29,,,,,,29,176,,,,,,,,29,,,',
',,,,,,,,,,,29,,59,29,,,,,,,29,59,,59,,,,,,,29,,60,,29,,,,,,,,22,,,,',
',,,,,,,,,,60,,,,,,29,29,,,29,,,,,,29,29,,,,29,29,,,22,,,22,,,,,,,,,',
',,,,,,,,,,,22,,59,29,,,,,,,,,,60,29,,,60,,,,60,60,,,,,59,,22,,,,22,',
',,,60,22,22,,,,22,22,,,60,,,,,,,,,,,,,,,,60,60,,,,,,,,29,,,,,29,29,',
',29,,,,,,,59,,,29,59,,,,59,59,,,,,,,,,,,29,,,,,59,,,,75,,,,,,59,,,,',
',,,,,,,,29,,,59,59,,,,22,,,29,,22,,,,22,,,,,,,,,,22,,,,,,,,,,,,,,,29',
',22,,29,,,,,,29,,,,,,,,,,,,,,29,,,,,,22,,,,33,,,29,,33,,22,29,60,,,29',
',,,,60,,,,,,,,60,,,,,,,,33,33,33,,,,,,,22,,,,,,22,60,,,60,,,,75,75,',
'33,,,22,29,,,,29,,33,33,33,,60,29,29,,,,,22,,,,22,59,,,,,,,29,59,,,',
'29,,,,59,,,,,60,,,,,,,,,33,29,,,,,,,,33,59,33,,59,,,75,,75,,,75,75,',
'22,,,,,,,22,22,60,59,,,,,,,,,,60,,28,,,22,,28,,,22,,,,,,,,,,,,,59,,',
',,,,,,,,,28,,,,,,,,,,,,,,,,,33,,33,,,33,,60,,28,,33,60,59,,,60,,,,,',
',,59,33,60,,,,,,,,,,,,,,,,,,,,75,,,,,,,,,,,,,,,,,,,28,,,,,,60,,,28,',
'28,,,,,,60,59,,,,33,59,,,33,59,,,33,33,,,,,,59,,,,,,,,,,33,,,,,60,,',
',,33,60,,,,,,,75,,75,,75,,,60,33,33,,,,,,,,59,,,60,,,,,60,,,59,60,,28',
',28,,,28,,,,,75,28,,75,,,,,,,,,,,,28,,,75,,,,59,,,,,,59,,,,,,,,,,,60',
',,59,60,,,,,,,60,60,,,,59,,,,,59,75,,,59,,,,60,,75,75,,60,,,,28,,,,28',
',,,,28,,,,,,,,,,,,,,,,75,,,75,,,,,,,28,,,59,,,,59,,,,,75,33,59,59,28',
'28,,,,33,,,,,,,,33,,,59,,,,,59,75,,,,,,,,,,,,,,,33,,,33,,,,,,,,,,,,',
',,,,,,,,33,,,,,,,33,,,,,,,,,,75,,,,,,,,,,,,33,,,,33,,,,,,33,33,,,,33',
'33,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,33,,,,,,,75,,,,33,,,,,,,,,,,28,75,,',
',,,,,,,,,,,,,,,75,,,,,,,,,,,,,,,,,,,,,28,,,28,,,,,33,,,,,33,,,,33,,',
',,,,28,,,33,,,,,,,,,,,,,,,,,33,,,,,,,,,28,,,,28,,,,,,28,28,,,,28,28',
',,33,,,,,,,,,,,33,,,,,,,,,,,,,,,,,35,,,,,,,,,35,35,35,,,,,,,33,,,,35',
'35,33,35,,,,,,,,,,,,,33,,35,35,,,,,,,,,,33,,,,,33,,,,33,,,,,,,,,28,',
',,,28,,,,28,,,,,,,,,,28,,,,,,,,,,,,,,,,,28,,,,,,33,,,,33,,,,,,,33,33',
',,,,,,,,,28,,,,,,,33,,,,28,33,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,28,,',
',,,28,,,,,,,35,35,,,35,35,,28,,,35,,,,,,,,,,,,,35,,28,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,,,28,,,,,,,28,28,,,,,,,,,,,,,,,,,28,',
',,,28,,,,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,,35,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,35,,,,,,,,,,,,,,,,35,,,,,,,,,,,,,,,,,,35,35,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,35' ]
        racc_goto_check = arr = ::Array.new(3465, 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,   117,   115,   nil,    12,    96,    44,    37,    18,  -331,
   289,  -502,  -570,  -537,   nil,  -257,    32,   220,   -16,   121,
   155,    50,   920,  -153,    11,    20,    83,  -158,  1865,   848,
  -210,  -378,     4,  1704,   -19,  2492,   -10,  -342,   nil,   -13,
   nil,   nil,   -12,  -110,    71,  -191,  -398,   260,  -296,   nil,
     3,    82,    97,    48,   -75,   nil,   -10,   -14,  -254,  1282,
  1206,  -277,    68,   -71,    30,   nil,   nil,    46,    21,  -235,
   -94,    25,   nil,   -25,   128,  1548,   102,   -46,    43,  -255,
   105,   -21,  -325,  -263,  -434,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,    87,    95,   -51,   nil,  -190,  -296,
  -657,  -333,    84,   nil,  -217,    10,   nil,  -546,    78,    89,
  -190,    74,   188,  -311,  -459,  -104,  -112,  -300,  -561,  -799,
   110,  -566,  -642,  -630,   nil,   187,  -595,    48,    57,  -623,
   309,  -668,  -248,  -542,   nil,  -620,  -754,  -787,  -804,  -379,
  -629,  -175,  -497,  -357,   -18,  -695,  -695,  -347,   -86,   nil,
   -95,   -95,   nil,   nil,  -446,  -713,  -478,  -608,   nil,   nil,
   106,     7,   102,   103,   103,  -270,  -190,   105,   106,   112,
  -372,  -372,  -361,  -261,   nil,   nil,   347,  -590,   -12,  -708,
   -96,  -562,  -669,   nil,  -712,  -796,   nil,   nil,  -464 ]

racc_goto_default = [
   nil,   nil,   nil,     3,   nil,     4,   353,   299,   nil,   nil,
   533,   nil,   821,   nil,   296,   297,   nil,   nil,   nil,    11,
    12,    18,   232,   nil,   nil,    14,   nil,   418,   233,   327,
   nil,   nil,   566,   231,   453,    21,   nil,   nil,   348,    22,
    23,    24,   nil,   655,   nil,   nil,   nil,   316,   nil,    25,
   313,   432,    32,   nil,   nil,    34,    37,    36,   nil,   228,
   229,   365,   nil,   134,   440,   133,   136,    79,    80,   nil,
   423,    94,    44,    47,   264,   288,   nil,   790,   433,   nil,
   434,   445,   614,   496,   286,   272,    48,    49,    50,    51,
    52,    53,    54,    55,    56,   nil,   273,    62,   nil,   nil,
   nil,   nil,   nil,    70,   nil,   548,    71,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   812,
   683,   nil,   813,   956,   848,   671,   nil,   672,   nil,   nil,
   673,   nil,   675,   nil,   777,   nil,   nil,   nil,   681,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   444,
   nil,   nil,   634,   628,   nil,   nil,   nil,   nil,    78,    81,
    82,   nil,   nil,   nil,   nil,   nil,   576,   nil,   nil,   nil,
   nil,   nil,   nil,   877,   727,   670,   nil,   674,   885,   686,
   688,   689,   860,   692,   693,   861,   696,   699,   291 ]

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

racc_reduce_n = 608

racc_shift_n = 1035

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",
  "begin_block",
  "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",
  "expr_value_do",
  "do",
  "@2",
  "command",
  "block_command",
  "block_call",
  "dot_or_colon",
  "operation2",
  "command_args",
  "cmd_brace_block",
  "brace_body",
  "fcall",
  "@3",
  "operation",
  "k_return",
  "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",
  "@4",
  "arg_rhs",
  "simple_numeric",
  "rel_expr",
  "primary",
  "relop",
  "arg_value",
  "aref_args",
  "none",
  "args",
  "trailer",
  "assocs",
  "paren_args",
  "opt_paren_args",
  "opt_block_arg",
  "block_arg",
  "@5",
  "literal",
  "strings",
  "xstring",
  "regexp",
  "words",
  "qwords",
  "symbols",
  "qsymbols",
  "var_ref",
  "assoc_list",
  "brace_block",
  "method_call",
  "lambda",
  "then",
  "if_tail",
  "case_body",
  "for_var",
  "k_class",
  "superclass",
  "term",
  "k_module",
  "f_arglist",
  "singleton",
  "@6",
  "@7",
  "@8",
  "@9",
  "@10",
  "@11",
  "@12",
  "@13",
  "@14",
  "@15",
  "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",
  "@16",
  "@17",
  "f_args",
  "do_block",
  "@18",
  "@19",
  "do_body",
  "@20",
  "operation3",
  "@21",
  "@22",
  "@23",
  "@24",
  "@25",
  "cases",
  "exc_list",
  "exc_var",
  "numeric",
  "string",
  "string1",
  "string_contents",
  "xstring_contents",
  "regexp_contents",
  "word_list",
  "word",
  "string_content",
  "symbol_list",
  "qword_list",
  "qsym_list",
  "string_dvar",
  "@26",
  "@27",
  "args_tail",
  "@28",
  "f_kwarg",
  "opt_args_tail",
  "f_optarg",
  "f_arg_asgn",
  "f_arg_item",
  "f_label",
  "f_kw",
  "f_block_kw",
  "kwrest_mark",
  "f_opt",
  "f_block_opt",
  "restarg_mark",
  "blkarg_mark",
  "assoc" ]

Racc_debug_parser = false

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

# reduce 0 omitted

# reduce 1 omitted

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

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

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

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

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

# reduce 7 omitted

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

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

def _reduce_10(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_11(val, _values, result)
                      result = @builder.compstmt(val[0])
                    
    result
end

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

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

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

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

# reduce 16 omitted

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 30 omitted

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

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

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

# reduce 34 omitted

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

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

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

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

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

# reduce 43 omitted

def _reduce_44(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 45 omitted

# reduce 46 omitted

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

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

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

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

# reduce 51 omitted

# reduce 52 omitted

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

def _reduce_54(val, _values, result)
                      @lexer.cond.pop
                      result = [ val[1], val[2] ]
                    
    result
end

# reduce 55 omitted

# reduce 56 omitted

# reduce 57 omitted

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

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

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

# reduce 61 omitted

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

def _reduce_63(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_64(val, _values, result)
                      result = @builder.call_method(val[0], val[1], val[2],
                                  nil, val[3], nil)
                    
    result
end

def _reduce_65(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_66(val, _values, result)
                      result = @builder.call_method(val[0], val[1], val[2],
                                  nil, val[3], nil)
                    
    result
end

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

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

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

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

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

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

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

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

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

# reduce 77 omitted

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

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

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

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

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

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

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

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

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

# reduce 87 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 112 omitted

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

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

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

# reduce 116 omitted

# reduce 117 omitted

# reduce 118 omitted

# reduce 119 omitted

# reduce 120 omitted

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

# reduce 122 omitted

# reduce 123 omitted

# reduce 124 omitted

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

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

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

# 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

# reduce 196 omitted

# reduce 197 omitted

# reduce 198 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 223 omitted

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

# reduce 241 omitted

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

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

# reduce 244 omitted

# reduce 245 omitted

# reduce 246 omitted

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

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

# reduce 249 omitted

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

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

# reduce 253 omitted

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

# reduce 255 omitted

# reduce 256 omitted

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

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

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

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

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

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

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

def _reduce_264(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_265(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_266(val, _values, result)
                      result = @builder.block_pass(val[0], val[1])
                    
    result
end

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

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

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

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

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

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

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

# reduce 274 omitted

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

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

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

# reduce 278 omitted

# reduce 279 omitted

# reduce 280 omitted

# reduce 281 omitted

# reduce 282 omitted

# reduce 283 omitted

# reduce 284 omitted

# reduce 285 omitted

# reduce 286 omitted

# reduce 287 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

def _reduce_307(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 308 omitted

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

def _reduce_311(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_312(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_313(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_314(val, _values, result)
                      result = @builder.loop(:while, val[0], *val[1], val[2], val[3])
                    
    result
end

def _reduce_315(val, _values, result)
                      result = @builder.loop(:until, val[0], *val[1], val[2], val[3])
                    
    result
end

def _reduce_316(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_317(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_318(val, _values, result)
                      result = @builder.for(val[0], val[1], val[2], *val[3], val[4], val[5])
                    
    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

def _reduce_337(val, _values, result)
                      if @context.in_class && !@context.in_def && !(context.in_block || context.in_lambda)
                        diagnostic :error, :invalid_return, nil, val[0]
                      end
                    
    result
end

# reduce 338 omitted

# reduce 339 omitted

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

# reduce 341 omitted

# reduce 342 omitted

# reduce 343 omitted

def _reduce_344(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 345 omitted

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

# reduce 347 omitted

# reduce 348 omitted

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

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

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

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

# reduce 353 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 373 omitted

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

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

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

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

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

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

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

# reduce 382 omitted

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

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

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

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

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

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

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

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

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

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

# reduce 393 omitted

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

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

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

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

                      @static_env.unextend
                    
    result
end

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

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

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

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

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

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

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

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

def _reduce_405(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_406(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_407(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_408(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_409(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_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)
                      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_412(val, _values, result)
                      result = @builder.call_method(val[0], val[1], val[2])
                    
    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[2]
                      result = @builder.call_method(val[0], val[1], nil,
                                  lparen_t, args, rparen_t)
                    
    result
end

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

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

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

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

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

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

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

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

                      @static_env.unextend
                    
    result
end

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

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

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

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

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

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

# reduce 429 omitted

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

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

# reduce 433 omitted

# reduce 434 omitted

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

# reduce 436 omitted

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

# reduce 438 omitted

# reduce 439 omitted

# reduce 440 omitted

# reduce 441 omitted

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

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

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

def _reduce_445(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_446(val, _values, result)
                      string = @builder.string(val[0])
                      result = @builder.dedent_string(string, @lexer.dedent_level)
                    
    result
end

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

def _reduce_448(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_449(val, _values, result)
                      opts   = @builder.regexp_options(val[3])
                      result = @builder.regexp_compose(val[0], val[1], val[2], opts)
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 477 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

def _reduce_497(val, _values, result)
                      result = @builder.__ENCODING__(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.accessible(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.assignable(val[0])
                    
    result
end

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

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

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

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

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

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

                      @lexer.state = :expr_value
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 535 omitted

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

                      result = val[0]
                    
    result
end

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

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

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

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

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

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

                      @static_env.declare val[0][0]

                      result = val[0]
                    
    result
end

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

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

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

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

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

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

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

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

# reduce 551 omitted

# reduce 552 omitted

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

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

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

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

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

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

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

# reduce 561 omitted

# reduce 562 omitted

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

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

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

# reduce 565 omitted

# reduce 566 omitted

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

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

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

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

# reduce 570 omitted

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

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

# reduce 573 omitted

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

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

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

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

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

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

# 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

# reduce 591 omitted

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

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

# reduce 594 omitted

# reduce 595 omitted

# reduce 596 omitted

# reduce 597 omitted

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

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

# reduce 600 omitted

# reduce 601 omitted

# reduce 602 omitted

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

# reduce 604 omitted

# reduce 605 omitted

# reduce 606 omitted

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

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

  end   # class Ruby25
  end   # module Parser
