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


  def version
    26
  end

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

clist = [
'-587,608,547,212,213,-109,-107,-587,-587,-587,222,547,-587,-587,-587',
'777,-587,274,547,870,243,-88,547,588,777,-587,-587,-587,-587,-102,560',
'-74,983,590,561,-110,-587,-587,-104,-587,-587,-587,-587,-587,-105,-103',
'-107,-109,-110,1025,776,223,240,993,212,213,242,241,-105,776,212,213',
'993,-104,-103,-105,-587,-587,-587,-587,-587,-587,-587,-587,-587,-587',
'-587,-587,-587,-587,115,-108,-587,-587,-587,114,765,-587,547,587,-587',
'-102,-106,-587,-587,993,-587,223,-587,589,-587,111,-587,-587,273,-587',
'-587,-587,-587,-587,-298,-587,-587,-587,-100,-98,703,-298,-298,-298',
'115,-106,938,-298,-298,114,-298,-587,869,115,-587,-587,-587,-587,114',
'-587,115,-587,-93,823,115,114,-587,-106,-101,114,-298,-298,223,-298',
'-298,-298,-298,-298,223,274,-104,-583,-584,-108,-96,-104,-105,-103,-107',
'-109,-110,-105,-103,-107,-109,-110,-95,-94,-96,983,-298,-298,-298,-298',
'-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,274,220,-298,-298',
'-298,218,613,606,-583,-108,-298,-97,267,-298,-108,993,115,-95,-298,-102',
'-298,114,-298,-298,-102,-298,-298,-298,-298,-298,115,-298,-587,-298',
'-584,114,-96,456,750,-587,-587,-587,93,94,607,-587,-587,-298,-587,-106',
'-298,-298,273,-298,-106,-298,-500,-587,-110,212,213,115,-298,-108,269',
'-581,114,274,-587,-587,219,-587,-587,-587,-587,-587,-96,218,-99,-96',
'789,115,554,-95,967,575,114,273,223,-96,-97,93,94,565,-110,-104,212',
'213,-587,-587,-587,-587,-587,-587,-587,-587,-587,-587,-587,-587,-587',
'-587,602,-102,-587,-587,-587,-489,614,-501,95,96,-587,-95,-489,-587',
'-95,-587,575,-581,-587,269,-587,-489,-587,-587,-95,-587,-587,-587,-587',
'-587,219,-587,-587,-587,-98,820,789,577,576,573,-581,115,273,-583,-97',
'269,114,-587,575,598,-587,-587,-587,-97,641,-587,597,95,96,-587,-587',
'-587,-587,-106,-103,-587,-587,-587,-587,680,-489,677,676,675,-587,678',
'842,-587,618,-583,577,576,575,-587,-97,820,789,-97,-587,-587,735,-587',
'-587,-587,-587,-587,115,-97,115,-271,-98,114,-587,114,680,595,677,676',
'675,218,678,592,577,576,573,609,267,243,-587,-587,-587,-587,-587,-587',
'-587,-587,-587,-587,-587,-587,-587,-587,-587,-104,-587,-587,-587,243',
'614,243,-98,243,-587,-98,575,-587,577,576,575,524,-587,981,-587,-98',
'-587,-587,737,-587,-587,-587,-587,-587,-298,-587,-587,-587,763,223,750',
'-298,-298,-298,-107,223,219,-298,-298,537,-298,-587,539,223,-587,-587',
'997,-587,888,-587,537,537,-580,539,536,764,-587,-106,-100,223,-298,-298',
'220,-298,-298,-298,-298,-298,-109,-88,577,576,591,218,577,576,582,-95',
'537,-493,563,539,644,524,223,-105,-493,-104,530,565,-298,-298,-298,-298',
'-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-486,655,-298,-298',
'-298,-101,613,-486,-107,660,-298,575,-580,-298,575,-110,-486,575,-298',
'661,-298,223,-298,-298,663,-298,-298,-298,-298,-298,-486,-298,699,-298',
'219,-580,-109,-486,-486,-486,-493,704,-486,-486,-486,-299,-486,-298',
'260,261,-298,-298,-299,-99,-486,-298,-486,-486,-486,212,213,-299,-298',
'-108,705,-486,-486,-486,554,-486,-486,-486,-486,-486,707,577,576,586',
'577,576,578,577,576,580,259,258,403,-492,-491,696,695,405,404,567,-492',
'-491,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486',
'-486,-299,218,-486,-486,-486,218,-486,-486,557,559,-486,558,453,-486',
'-486,724,-486,555,-486,734,-486,454,-486,-486,738,-486,-486,-486,-486',
'-486,-494,-486,-489,-486,739,395,-272,-494,554,-489,-489,-489,-492,-491',
'-489,-489,-489,-486,-489,499,-486,-486,-486,-486,751,-486,-489,-486',
'-489,-489,-489,541,-486,-486,81,540,219,486,-489,-489,219,-489,-489',
'-489,-489,-489,82,-336,223,486,243,218,-497,-495,-336,-496,83,223,527',
'-497,-495,768,-496,-336,769,-494,263,454,-489,-489,-489,-489,-489,-489',
'-489,-489,-489,-489,-489,-489,-489,-489,774,-299,-489,-489,-489,218',
'-489,-489,-299,779,-489,497,967,-489,-489,499,-489,-299,-489,525,-489',
'565,-489,-489,521,-489,-489,-489,-489,-489,-336,-489,-298,-489,219,-497',
'-495,655,-496,-298,-298,-298,223,269,-298,-298,-298,-489,-298,269,-489',
'-489,-489,-489,269,-489,655,-489,-298,-298,-298,223,-489,-489,243,278',
'-299,789,-298,-298,219,-298,-298,-298,-298,-298,609,218,797,218,800',
'-289,-489,-486,972,801,217,803,-289,-489,-486,805,807,970,518,215,815',
'-289,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298',
'-298,816,817,-298,-298,-298,789,766,-298,218,822,-298,-98,608,-298,-298',
'601,-298,223,-298,511,-298,-107,-298,-298,599,-298,-298,-298,-298,-298',
'219,-298,219,-298,-289,-489,-486,510,680,223,677,676,675,-73,678,-501',
'223,-298,124,-500,-298,-298,-298,-298,831,-298,499,-298,-588,-96,497',
'-273,-298,-108,495,-588,-588,-588,685,-105,-588,-588,-588,219,-588,809',
'223,486,688,841,222,243,458,-588,-588,-588,-588,964,457,677,676,675',
'-94,678,-588,-588,-93,-588,-588,-588,-588,-588,-103,-298,455,845,-102',
'218,655,862,-298,696,695,240,517,-584,689,242,241,-298,238,239,-271',
'515,-588,-588,-588,-588,-588,-588,-588,-588,-588,-588,-588,-588,-588',
'-588,866,-499,-588,-588,-588,223,886,-588,-499,223,-588,890,406,-588',
'-588,892,-588,-499,-588,393,-588,895,-588,-588,896,-588,-588,-588,-588',
'-588,-298,-588,-588,-588,219,899,223,903,-498,-274,680,223,677,676,675',
'-498,678,-588,905,800,-588,-588,-588,-588,-498,-588,-589,-588,908,910',
'912,685,-588,-589,-589,-589,-499,914,-589,-589,-589,688,-589,223,916',
'243,917,809,323,930,800,-589,-589,-589,-589,964,812,677,676,675,932',
'678,-589,-589,934,-589,-589,-589,-589,-589,936,-298,938,-498,696,695',
'938,240,-298,689,223,242,241,-584,238,239,944,-298,322,950,724,961,-589',
'-589,-589,-589,-589,-589,-589,-589,-589,-589,-589,-589,-589,-589,968',
'263,-589,-589,-589,973,983,-589,214,800,-589,987,243,-589,-589,989,-589',
'991,-589,993,-589,993,-589,-589,660,-589,-589,-589,-589,-589,-298,-589',
'-589,-589,680,211,677,676,675,680,678,677,676,675,240,678,210,-589,242',
'241,-589,-589,-589,-589,1006,-589,-290,-589,1007,1008,938,938,-589,-290',
'-290,-290,938,1013,-290,-290,-290,809,-290,243,983,1016,809,-584,-583',
'223,812,209,-290,-290,-290,943,124,,,253,254,,-290,-290,,-290,-290,-290',
'-290,-290,680,,677,676,675,240,678,246,,242,241,,238,239,,,244,,245',
',,,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290',
'-290,,809,-290,-290,-290,,,-290,,,-290,,,-290,-290,,-290,,-290,,-290',
',-290,-290,,-290,-290,-290,-290,-290,,-290,,-290,729,730,,,731,109,110',
',680,,677,676,675,-290,678,,-290,-290,-290,-290,,-290,-254,-290,,,,',
'-290,-254,-254,-254,,,-254,-254,-254,680,-254,677,676,675,685,678,,809',
',-254,-254,,,,688,,,243,,,-254,-254,,-254,-254,-254,-254,-254,118,119',
'120,121,122,253,254,,683,118,119,120,121,122,,,,693,692,696,695,240',
',246,689,242,241,,238,239,,,244,-254,245,-416,,,,,-254,,-416,-416,-416',
'269,-254,-416,-416,-416,223,-416,680,,677,676,675,,678,,-416,-416,-416',
'118,119,120,121,122,-254,-254,,-416,-416,,-416,-416,-416,-416,-416,',
',,,-254,,,-254,,,809,680,-254,677,676,675,,678,,-254,,,-416,-416,-416',
'-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,,,-416,-416,-416',
',,-416,,269,-416,,809,-416,-416,,-416,,-416,,-416,,-416,-416,,-416,-416',
'-416,-416,-416,-305,-416,-416,-416,,,,-305,-305,-305,,,-305,-305,-305',
',-305,-416,243,,-416,-416,,-416,,-416,-305,-305,,,,,-416,,253,254,-305',
'-305,,-305,-305,-305,-305,-305,118,119,120,121,122,,240,,246,,242,241',
',238,239,,,,,,,,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305',
'-305,-305,-305,,,-305,-305,-305,,,-305,,278,-305,,,-305,-305,,-305,',
'-305,,-305,,-305,-305,,-305,-305,-305,-305,-305,,-305,-254,-305,,,,',
',-254,-254,-254,,,-254,-254,-254,-305,-254,243,-305,-305,,-305,,-305',
',-254,-254,-254,,,-305,,,253,254,,-254,-254,,-254,-254,-254,-254,-254',
',,,,,240,,,,242,241,,238,239,,,,,,,,,-254,-254,-254,-254,-254,-254,-254',
'-254,-254,-254,-254,-254,-254,-254,,,-254,-254,-254,,,-254,,269,-254',
',,-254,-254,,-254,,-254,,-254,,-254,-254,,-254,-254,-254,-254,-254,',
'-254,-254,-254,,,,,,,,,,,,,,-254,,,-254,-254,,-254,,-254,296,70,71,72',
'9,58,-254,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28,27,103,102',
'104,105,,,19,,,,,603,8,46,298,10,107,106,108,97,57,99,98,100,,101,109',
'110,,93,94,42,43,41,243,247,248,249,250,260,261,255,256,251,252,,236',
'237,,,253,254,,40,,,33,,,59,60,,,61,,35,240,,246,45,242,241,,238,239',
'259,258,244,20,245,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,257,,-246',
',,63,,83,95,96,5,70,71,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74',
',,,,,75,28,27,103,102,104,105,,,19,,,,,603,8,46,7,10,107,106,108,97',
'57,99,98,100,,101,109,110,,93,94,42,43,41,243,247,248,249,250,260,261',
'255,256,251,252,,236,237,,,253,254,,40,,,33,,,59,60,,,61,,35,240,,246',
'45,242,241,,238,239,259,258,244,20,245,,,,91,81,84,85,,86,88,87,89,',
',,,82,90,,257,,,,,63,,83,95,96,296,70,71,72,9,58,,,,64,65,,,,68,,66',
'67,69,30,31,73,74,,,,,,75,28,27,103,102,104,105,,,19,,,,,,8,46,298,10',
'107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,243,247,248',
'249,250,260,261,255,256,251,252,,236,237,,,253,254,,40,,,300,,,59,60',
',,61,,35,240,,246,45,242,241,,238,239,259,258,244,20,245,,,,91,81,84',
'85,,86,88,87,89,,,,,82,90,,257,,,,,63,,83,95,96,296,70,71,72,9,58,,',
',64,65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28,27,103,102,104,105,,,19',
',,,,,8,46,298,10,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42',
'43,41,243,247,248,249,250,260,261,255,256,251,252,,236,237,,,253,254',
',40,,,33,,,59,60,,,61,,35,240,,246,45,242,241,,238,239,259,258,244,20',
'245,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,257,,,,,63,,83,95,96,296',
'70,71,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28,27,103',
'102,104,105,,,19,,,,,,8,46,298,10,107,106,108,97,57,99,98,100,,101,109',
'110,,93,94,42,43,41,243,247,248,249,250,260,261,255,256,251,252,,236',
'237,,,253,254,,40,,,33,,,59,60,,,61,,35,240,,246,45,242,241,,238,239',
'259,258,244,20,245,,,,91,81,84,85,,86,88,87,89,,,,,82,90,223,257,,,',
',63,,83,95,96,296,70,71,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74',
',,,,,75,28,27,103,102,104,105,,,19,,,,,,8,46,298,10,107,106,108,97,57',
'99,98,100,,101,109,110,,93,94,42,43,41,243,247,248,249,250,260,261,255',
'256,251,252,,236,237,,,253,254,,40,,,33,,,59,60,,,61,,35,240,,246,45',
'242,241,,238,239,259,258,244,20,245,,,,91,81,84,85,,86,88,87,89,,,,',
'82,90,,257,,,,,63,,83,95,96,296,70,71,72,9,58,,,,64,65,,,,68,,66,67',
'69,30,31,73,74,,,,,,75,28,27,103,102,104,105,,,19,,,,,,8,46,298,10,107',
'106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,243,247,248,249',
'250,260,261,255,256,251,252,,236,237,,,253,254,,40,,,33,,,59,60,,,61',
',35,240,,246,45,242,241,,238,239,259,258,244,20,245,,,,91,81,84,85,',
'86,88,87,89,,,,,82,90,,257,,,,,63,,83,95,96,296,70,71,72,9,58,,,,64',
'65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28,27,103,102,104,105,,,19,,',
',,,8,46,298,10,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43',
'41,243,247,248,249,250,260,261,255,256,251,252,,236,237,,,253,254,,40',
',,33,,,59,60,,,61,,35,240,,246,45,242,241,,238,239,259,258,244,20,245',
',,,91,81,84,85,,86,88,87,89,,,,,82,90,,257,,,,,63,,83,95,96,296,70,71',
'72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28,27,103,102,104',
'105,,,19,,,,,,8,46,298,10,107,106,108,97,57,99,98,100,,101,109,110,',
'93,94,42,43,41,243,247,248,249,250,260,261,255,256,251,252,,-608,-608',
',,253,254,,40,,,33,,,59,60,,,61,,35,240,,246,45,242,241,,238,239,259',
'258,244,20,245,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,,,,63,,83,95',
'96,296,70,71,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28',
'27,103,102,104,105,,,19,,,,,,8,46,298,10,107,106,108,97,57,99,98,100',
',101,109,110,,93,94,42,43,41,243,-608,-608,-608,-608,260,261,,,-608',
'-608,,,,,,253,254,,40,,,300,,,59,60,,,61,,35,240,,246,45,242,241,,238',
'239,259,258,244,20,245,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,,,,63',
',83,95,96,296,70,71,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,',
',,75,28,27,103,102,104,105,,,19,,,,,,8,46,298,10,107,106,108,97,57,99',
'98,100,,101,109,110,,93,94,42,43,41,243,-608,-608,-608,-608,260,261',
',,-608,-608,,,,,,253,254,,40,,,33,,,59,60,,,61,,35,240,,246,45,242,241',
',238,239,259,258,244,20,245,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,',
',,,,63,,83,95,96,296,70,71,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73',
'74,,,,,,75,28,27,103,102,104,105,,,19,,,,,,8,46,298,10,107,106,108,97',
'57,99,98,100,,101,109,110,,93,94,42,43,41,243,-608,-608,-608,-608,260',
'261,,,-608,-608,,,,,,253,254,,40,,,33,,,59,60,,,61,,35,240,,246,45,242',
'241,,238,239,259,258,244,20,245,,,,91,81,84,85,,86,88,87,89,,,,,82,90',
',,,,,,63,,83,95,96,296,70,71,72,9,58,,,,64,65,,,,68,,66,67,69,30,31',
'73,74,,,,,,75,28,27,103,102,104,105,,,19,,,,,,8,46,298,10,107,106,108',
'97,57,99,98,100,,101,109,110,,93,94,42,43,41,243,-608,-608,-608,-608',
'260,261,,,-608,-608,,,,,,253,254,,40,,,33,,,59,60,,,61,,35,240,,246',
'45,242,241,,238,239,259,258,244,20,245,,,,91,81,84,85,,86,88,87,89,',
',,,82,90,,,,,,,63,,83,95,96,296,70,71,72,9,58,,,,64,65,,,,68,,66,67',
'69,30,31,73,74,,,,,,75,28,27,103,102,104,105,,,19,,,,,,8,46,298,10,107',
'106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,243,247,248,249',
'250,260,261,255,,251,252,,,,,,253,254,,40,,,33,,,59,60,,,61,,35,240',
',246,45,242,241,,238,239,259,258,244,20,245,,,,91,81,84,85,,86,88,87',
'89,,,,,82,90,,,,,,,63,,83,95,96,296,70,71,72,9,58,,,,64,65,,,,68,,66',
'67,69,30,31,73,74,,,,,,75,28,27,103,102,104,105,,,19,,,,,,8,46,298,10',
'107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,243,247,248',
'249,250,260,261,,,251,252,,,,,,253,254,,40,,,33,,,59,60,,,61,,35,240',
',246,45,242,241,,238,239,259,258,244,20,245,,,,91,81,84,85,,86,88,87',
'89,,,,,82,90,,,,,,,63,,83,95,96,296,70,71,72,9,58,,,,64,65,,,,68,,66',
'67,69,30,31,73,74,,,,,,75,28,27,103,102,104,105,,,19,,,,,,8,46,298,10',
'107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,243,247,248',
'249,250,260,261,255,256,251,252,,-608,-608,,,253,254,,40,,,33,,,59,60',
',,61,,35,240,,246,45,242,241,,238,239,259,258,244,20,245,,,,91,81,84',
'85,,86,88,87,89,,,,,82,90,,,,,,,63,,83,95,96,296,70,71,72,9,58,,,,64',
'65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28,27,103,102,104,105,,,19,,',
',,,8,46,298,10,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43',
'41,243,-608,-608,-608,-608,260,261,,,-608,-608,,,,,,253,254,,40,,,300',
',,59,60,,,61,,35,240,,246,45,242,241,,238,239,259,258,244,20,245,,,',
'91,81,84,85,,86,88,87,89,,,,,82,90,,,,,,,63,,83,95,96,296,70,71,72,9',
'58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28,27,103,102,104,105',
',,19,,,,,,8,46,298,10,107,106,108,97,57,99,98,100,,101,109,110,,93,94',
'42,43,41,243,-608,-608,-608,-608,260,261,,,-608,-608,,,,,,253,254,,40',
',,33,,,59,60,,,61,,35,240,,246,45,242,241,,238,239,259,258,244,20,245',
',,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,,,,63,,83,95,96,296,70,71,72',
'9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28,27,103,102,104',
'105,,,19,,,,,,8,46,298,10,107,106,108,97,57,99,98,100,,101,109,110,',
'93,94,42,43,41,243,,,,,,,,,,,,,,,,253,254,,40,,,33,,,59,60,,,61,,35',
'240,,246,45,242,241,,238,239,,,,20,,,,,91,81,84,85,,86,88,87,89,,,,',
'82,90,,,,,,,63,,83,95,96,296,70,71,72,9,58,,,,64,65,,,,68,,66,67,69',
'30,31,73,74,,,,,,75,28,27,103,102,104,105,,,19,,,,,,8,46,298,10,107',
'106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,',
',,,,40,,,33,,,59,60,,,61,,35,,,,45,,,,,,,,,20,,,,,91,81,84,85,,86,88',
'87,89,,,,,82,90,,,,,,,63,,83,95,96,5,70,71,72,9,58,,,,64,65,,,,68,,66',
'67,69,30,31,73,74,,,,,,75,28,27,103,102,104,105,,,19,,,,,,8,46,7,10',
'107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,',
',,,,,,,,40,,,33,,,59,60,,,61,,35,,,,45,,,,,,,,,20,,,,,91,81,84,85,,86',
'88,87,89,,,,,82,90,,,,,,,63,,83,95,96,296,70,71,72,9,58,,,,64,65,,,',
'68,,66,67,69,30,31,73,74,,,,,,75,28,27,103,102,104,105,,,19,,,,,,8,46',
'298,10,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,',
',,,,,,,,,,,,,,,40,,,33,,,59,60,,,61,,35,,,,45,,,,,,,,,20,,,,,91,81,84',
'85,,86,88,87,89,,,,,82,90,,,,,,,63,,83,95,96,296,70,71,72,9,58,,,,64',
'65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28,27,103,102,104,105,,,19,,',
',,,8,46,298,10,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43',
'41,,,,,,,,,,,,,,,,,,,,40,,,33,,,59,60,,,61,,35,,,,45,,,,,,,,,20,,,,',
'91,81,84,85,,86,88,87,89,,,,,82,90,,,,,,,63,,83,95,96,296,70,71,72,9',
'58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28,27,103,102,104,105',
',,19,,,,,,8,46,298,10,107,106,108,97,57,99,98,100,,101,109,110,,93,94',
'42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,59,60,,,61,,35,,,,45,,,,,,,,,20',
',,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,,,,63,,83,95,96,296,70,71',
'72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28,27,103,102,104',
'105,,,19,,,,,,8,46,298,10,107,106,108,97,57,99,98,100,,101,109,110,',
'93,94,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,59,60,,,61,,35,,,,45,,,',
',,,,,20,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,,,,63,,83,95,96,296',
'70,71,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28,27,103',
'102,104,105,,,19,,,,,,8,46,298,10,107,106,108,97,57,99,98,100,,101,109',
'110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,59,60,,,61,,35,,,,45',
',,,,,,,,20,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,,,,63,,83,95,96',
'296,70,71,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28,27',
'103,102,104,105,,,19,,,,,,8,46,298,10,107,106,108,97,57,99,98,100,,101',
'109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,59,60,,,61,,35',
',,,45,,,,,,,,,20,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,,,,63,,83',
'95,96,296,70,71,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,75',
'28,27,103,102,104,105,,,19,,,,,,8,46,298,10,107,106,108,97,57,99,98',
'100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,59,60',
',,61,,35,,,,45,,,,,,,,,20,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,',
'70,71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28',
'27,103,102,104,105,,,19,,,,,,,46,,,107,106,108,97,57,99,98,100,,101',
'109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,',
',,,45,,,,,,,,,20,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,223,,,70,71',
'72,63,58,83,95,96,64,65,,,,68,,66,67,69,315,316,73,74,,,,,,75,312,318',
'103,102,104,105,,,235,,,,,,,46,,,107,106,108,97,57,99,98,100,,101,109',
'110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45',
',,,,,,,,233,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58',
'83,95,96,64,65,,,,68,,66,67,69,315,316,73,74,,,,,,75,312,318,103,102',
'104,105,,,235,,,,,,,46,,,107,106,108,97,57,99,98,100,,101,109,110,,93',
'94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,',
',,233,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95',
'96,64,65,,,,68,,66,67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105',
',,235,,,,,,,46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42',
'43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233',
',,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64',
'65,,,,68,,66,67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235',
',,,,,,46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41',
',,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91',
'81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,',
'68,,66,67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,',
',,,46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,',
',,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81',
'84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68',
',66,67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,',
'46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,',
',,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81,84',
'85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66',
'67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,,46,',
',107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,',
',,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81,84,85',
',86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67',
'69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,,46,,,107',
'106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,',
',,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81,84,85,,86,88',
'87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,315',
'316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,,46,,,107,106,108',
'97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228',
',,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81,84,85,,86,88,87,89',
',,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,315,316,73',
'74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,,46,,,107,106,108,97,57',
'99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234',
',,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81,84,85,,86,88,87,89,,,,,82',
'90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,315,316,73,74,,',
',,,75,312,318,103,102,104,105,,,235,,,,,,,46,,,107,106,108,97,57,99',
'98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59',
'60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,',
',,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,315,316,73,74,,,,,,75',
'312,318,103,102,104,105,,,235,,,,,,,46,,,107,106,108,97,57,99,98,100',
',101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,',
'61,,,,,,45,,,,,,,,,233,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,70',
'71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,315,316,73,74,,,,,,75,312',
'318,103,102,104,105,,,235,,,,,,,46,,,107,106,108,97,57,99,98,100,,101',
'109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,',
',,,45,,,,,,,,,233,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72',
'63,58,83,95,96,64,65,,,,68,,66,67,69,315,316,73,74,,,,,,75,312,318,103',
'102,104,105,,,235,,,,,,,46,,,107,106,108,97,57,99,98,100,,101,109,110',
',93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,',
',,,,,,233,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83',
'95,96,64,65,,,,68,,66,67,69,315,316,73,74,,,,,,75,312,318,103,102,104',
'105,,,235,,,,,,,46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94',
'42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233',
',,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64',
'65,,,,68,,66,67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235',
',,,,,,46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41',
',,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91',
'81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,',
'68,,66,67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,',
',,,46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,',
',,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81',
'84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68',
',66,67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,',
'46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,',
',,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81,84',
'85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66',
'67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,,46,',
',107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,',
',,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81,84,85',
',86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67',
'69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,,46,,,107',
'106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,',
',,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81,84,85,,86,88',
'87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,315',
'316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,,46,,,107,106,108',
'97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228',
',,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81,84,85,,86,88,87,89',
',,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,315,316,73',
'74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,,46,,,107,106,108,97,57',
'99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234',
',,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81,84,85,,86,88,87,89,,,,,82',
'90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,315,316,73,74,,',
',,,75,312,318,103,102,104,105,,,235,,,,,,,46,,,107,106,108,97,57,99',
'98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59',
'60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,',
',,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,315,316,73,74,,,,,,75',
'312,318,103,102,104,105,,,235,,,,,,,46,,,107,106,108,97,57,99,98,100',
',101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,',
'61,,,,,,45,,,,,,,,,233,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,70',
'71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,315,316,73,74,,,,,,75,312',
'318,103,102,104,105,,,235,,,,,,,46,,,107,106,108,97,57,99,98,100,,101',
'109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,',
',,,45,,,,,,,,,233,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72',
'63,58,83,95,96,64,65,,,,68,,66,67,69,315,316,73,74,,,,,,75,312,318,103',
'102,104,105,,,235,,,,,,,46,,,107,106,108,97,57,99,98,100,,101,109,110',
',93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,',
',,,,,,233,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83',
'95,96,64,65,,,,68,,66,67,69,315,316,73,74,,,,,,75,312,318,103,102,104',
'105,,,235,,,,,,,46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94',
'42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233',
',,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64',
'65,,,,68,,66,67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235',
',,,,,,46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41',
',,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91',
'81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,',
'68,,66,67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,',
',,,46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,',
',,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81',
'84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68',
',66,67,69,30,31,73,74,,,,,,75,28,27,103,102,104,105,,,235,,,,,,,46,',
',107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,',
',,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81,84,85',
',86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67',
'69,30,31,73,74,,,,,,75,28,27,103,102,104,105,,,235,,,,,,,46,,,107,106',
'108,97,57,99,98,100,290,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,',
',,,228,,,234,,,59,60,,,61,,287,,285,,45,,,291,,,,,,233,,,,,91,288,84',
'85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66',
'67,69,30,31,73,74,,,,,,75,28,27,103,102,104,105,,,235,,,,,,,46,,,107',
'106,108,97,57,99,98,100,290,101,109,110,,93,94,42,43,41,,,,,,,,,,,,',
',,,,,,,228,,,234,,,59,60,,,61,,287,,285,,45,,,291,,,,,,233,,,,,91,288',
'84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68',
',66,67,69,30,31,73,74,,,,,,75,28,27,103,102,104,105,,,235,,,,,,,46,',
',107,106,108,97,57,99,98,100,290,101,109,110,,93,94,42,43,41,,,,,,,',
',,,,,,,,,,,,228,,,234,,,59,60,,,61,,287,,285,,45,,,291,,,,,,233,,,,',
'91,288,84,85,,86,88,87,89,,,,,82,90,223,,,70,71,72,63,58,83,95,96,64',
'65,,,,68,,66,67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235',
',,,,,,46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41',
',,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91',
'81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,',
'68,,66,67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,',
',,,46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,',
',,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81',
'84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68',
',66,67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,',
'46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,',
',,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81,84',
'85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66',
'67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,,46,',
',107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,',
',,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81,84,85',
',86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67',
'69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,,46,,,107',
'106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,',
',,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81,84,85,,86,88',
'87,89,,,,,82,90,,,,,,,63,,83,95,96,70,71,72,9,58,,,,64,65,,,,68,,66',
'67,69,30,31,73,74,,,,,,75,28,27,103,102,104,105,,,19,,,,,,8,46,,10,107',
'106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,',
',,,,40,,,33,,,59,60,,,61,,35,,,,45,,,,,,,,,20,,,,,91,81,84,85,,86,88',
'87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,30',
'31,73,74,,,,,,75,28,27,103,102,104,105,,,19,,,,,,,46,,,107,106,108,97',
'57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234',
',,59,60,,,61,,,,,,45,,,,,,,,,20,,,,,91,81,84,85,,86,88,87,89,,,,,82',
'90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,315,316,73,74,,',
',,,75,312,318,103,102,104,105,,,235,,,,,,,46,,,107,106,108,97,57,99',
'98,100,290,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234',
',,59,60,,,61,,,,,,45,,,291,,,,,,233,,,,,91,288,84,85,,86,88,87,89,,',
',,82,90,,,,,,,63,,83,95,96,70,71,72,9,58,,,,64,65,,,,68,,66,67,69,30',
'31,73,74,,,,,,75,28,27,103,102,104,105,,,19,,,,,,8,46,7,10,107,106,108',
'97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,40,',
',33,,,59,60,,,61,,35,,,,45,,,,,,,,,20,,,,,91,81,84,85,,86,88,87,89,',
',,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,30,31,73,74',
',,,,,75,28,27,103,102,104,105,,,235,,,,,,,46,,,107,106,108,97,57,99',
'98,100,290,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234',
',,59,60,,,61,,287,,285,,45,,,291,,,,,,233,,,,,91,288,84,85,,86,88,87',
'89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,30,31',
'73,74,,,,,,75,28,27,103,102,104,105,,,235,,,,,,,46,,,107,106,108,97',
'57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234',
',,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81,84,85,,86,88,87,89,,,,,82',
'90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,315,316,73,74,,',
',,,75,312,318,103,102,104,105,,,235,,,,,,,313,,,107,106,108,97,57,99',
'98,100,,101,109,110,,93,94,,,319,,,,,,,,,,,,,,,,,,,,919,,,234,,,59,60',
',,61,,,,,,,,,,,,,,,,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,70,71',
'72,63,58,83,95,96,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28,27,103',
'102,104,105,,,235,,,,,,,46,,,107,106,108,97,57,99,98,100,290,101,109',
'110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,287,',
'285,,45,,,291,,,,,,233,,,,,91,288,84,85,,86,88,87,89,,,,,82,90,,,,70',
'71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28,27',
'103,102,104,105,,,235,,,,,,,46,,,107,106,108,97,57,99,98,100,290,101',
'109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,287',
',285,,45,,,291,,,,,,233,,,,,91,288,84,85,,86,88,87,89,,,,,82,90,,,,70',
'71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28,27',
'103,102,104,105,,,235,,,,,,,46,,,107,106,108,97,57,99,98,100,290,101',
'109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,287',
',285,,45,,,291,,,,,,233,,,,,91,288,84,85,,86,88,87,89,,,,,82,90,,,,70',
'71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,315,316,73,74,,,,,,75,312',
'318,103,102,104,105,,,235,,,,,,,313,,,107,106,108,97,57,99,98,100,,101',
'109,110,,93,94,,,319,,,,,,,,,,,,,,,,,,,,309,,,305,,,59,60,,,61,,304',
',,,,,,,,,,,,,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58',
'83,95,96,64,65,,,,68,,66,67,69,315,316,73,74,,,,,,75,312,318,103,102',
'104,105,,,235,,,,,,,313,,,107,106,108,97,57,99,98,100,,101,109,110,',
'93,94,,,319,,,,,,,,,,,,,,,,,,,,309,,,234,,,59,60,,,61,,,680,,677,676',
'675,685,678,,,,,,,,,688,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,321,',
'683,63,,83,95,96,70,71,72,,58,696,695,,64,65,689,,,68,,66,67,69,315',
'316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,,313,,,107,106',
'108,97,57,99,98,100,,101,109,110,,93,94,,,319,,,,,,,,,,,,,,,,,,,,925',
',,234,,,59,60,,,61,,,,,,,,,,,,,,,,,,,,91,81,84,85,,86,88,87,89,,,,,82',
'90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,315,316,73,74,,',
',,,75,312,318,103,102,104,105,,,235,,,,,,,313,,,107,106,108,97,57,99',
'98,100,,101,109,110,,93,94,,,319,,,,,,,,,,,,,,,,,,,,919,,,234,,,59,60',
',,61,,,,,,,,,,,,,,,,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,70,71',
'72,63,58,83,95,96,64,65,,,,68,,66,67,69,315,316,73,74,,,,,,75,312,318',
'103,102,104,105,,,235,,,,,,,46,,,107,106,108,97,57,99,98,100,,101,109',
'110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45',
',,,,,,,,233,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58',
'83,95,96,64,65,,,,68,,66,67,69,315,316,73,74,,,,,,75,312,318,103,102',
'104,105,,,235,,,,,,,46,,,107,106,108,97,57,99,98,100,,101,109,110,,93',
'94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,',
',,233,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95',
'96,64,65,,,,68,,66,67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105',
',,235,,,,,,,46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42',
'43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233',
',,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64',
'65,,,,68,,66,67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235',
',,,,,,46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41',
',,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91',
'81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,',
'68,,66,67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,',
',,,46,,,107,106,108,97,57,99,98,100,290,101,109,110,,93,94,42,43,41',
',,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,285,,45,,,291,,,,,,233',
',,,,91,288,84,85,,86,88,87,89,,,,,82,90,,,,,,,63,,83,95,96,70,71,72',
'9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28,27,103,102,104',
'105,,,19,,,,,,8,46,,10,107,106,108,97,57,99,98,100,,101,109,110,,93',
'94,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,59,60,,,61,,35,,,,45,,,,,,',
',,20,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95',
'96,64,65,,,,68,,66,67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105',
',,235,,,,,,,46,,,107,106,108,97,57,99,98,100,290,101,109,110,,93,94',
'42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,287,,,,45,,,291',
',,,,,233,,,,,91,288,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83',
'95,96,64,65,,,,68,,66,67,69,315,316,73,74,,,,,,75,312,318,103,102,104',
'105,,,235,,,,,,,46,,,107,106,108,97,57,99,98,100,290,101,109,110,,93',
'94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,291',
',,,,,233,,,,,91,288,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83',
'95,96,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28,27,103,102,104,105',
',,19,,,,,,,46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43',
'41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,20,,,,',
'91,81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65',
',,,68,,66,67,69,30,31,73,74,,,,,,75,28,27,103,102,104,105,,,19,,,,,',
',46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,',
',,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,20,,,,,91,81,84',
'85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66',
'67,69,30,31,73,74,,,,,,75,28,27,103,102,104,105,,,19,,,,,,,46,,,107',
'106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,',
',,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,20,,,,,91,81,84,85,,86,88',
'87,89,,,,,82,90,115,,,,,114,63,,83,95,96,70,71,72,,58,,,,64,65,,,,68',
',66,67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,',
'313,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,,,319,,,,,,,,',
',,,,,,,,,,,355,,,33,,,59,60,,,61,,35,,,,,,,,,,,,,,,,,,91,81,84,85,,86',
'88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67,69',
'315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,,313,,,107',
'106,108,360,57,99,98,361,,101,109,110,,93,94,,,319,,,,,,,,,,,,,,,,,367',
',,362,,,234,,,59,60,,,61,,,,,,,,,,,,,,,,,,,,91,81,84,85,,86,88,87,89',
',,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,315,316,73',
'74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,,313,,,107,106,108,360',
'57,99,98,361,,101,109,110,,93,94,,,319,,,,,,,,,,,,,,,,,,,,362,,,234',
',,59,60,,,61,,,680,,677,676,675,685,678,,,,,,,,,688,,91,81,84,85,,86',
'88,87,89,,,,,82,90,,,,,,683,63,,83,95,96,70,71,72,9,58,696,695,,64,65',
'689,,,68,,66,67,69,30,31,73,74,,,,,,75,28,27,103,102,104,105,,,19,,',
',,,8,46,7,10,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41',
',,,,,,,,,,,,,,,,,,,40,,,33,,,59,60,,,61,,35,,,,45,,,,,,,,,20,,,,,91',
'81,84,85,,86,88,87,89,,,,,82,90,,,,,,395,63,,83,95,96,70,71,72,,58,',
',,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28,27,103,102,104,105,,',
'19,,,,,,,46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43',
'41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,20,,,,',
'91,81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65',
',,,68,,66,67,69,30,31,73,74,,,,,,75,28,27,103,102,104,105,,,19,,,,,',
',46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,',
',,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,20,,,,,91,81,84',
'85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66',
'67,69,30,31,73,74,,,,,,75,28,27,103,102,104,105,,,19,,,,,,,46,,,107',
'106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,',
',,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,20,,,,,91,81,84,85,,86,88',
'87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,30',
'31,73,74,,,,,,75,28,27,103,102,104,105,,,19,,,,,,,46,,,107,106,108,97',
'57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234',
',,59,60,,,61,,,,,,45,,,,,,,,,20,,,,,91,81,84,85,,86,88,87,89,,,,,82',
'90,,,,,,,63,,83,95,96,70,71,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73',
'74,,,,,,75,28,27,103,102,104,105,,,19,,,,,,8,46,,10,107,106,108,97,57',
'99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,',
'59,60,,,61,,35,,,,45,,,,,,,,,20,,,,,91,81,84,85,,86,88,87,89,,,,,82',
'90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,315,316,73,74,,',
',,,75,312,318,103,102,104,105,,,235,,,,,,,46,,,107,106,108,97,57,99',
'98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59',
'60,,,61,,638,,,,45,,,,,,,,,233,,,,,91,81,84,85,,86,88,87,89,,,,,82,90',
',,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,75',
'28,27,103,102,104,105,,,19,,,,,,,46,,,107,106,108,97,57,99,98,100,,101',
'109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,',
',,,45,,,,,,,,,20,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72',
'63,58,83,95,96,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28,27,103,102',
'104,105,,,235,,,,,,,46,,,107,106,108,97,57,99,98,100,,101,109,110,,93',
'94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,411,,,,45,,,',
',,,,,233,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83',
'95,96,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28,27,103,102,104,105',
',,235,,,,,,,46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42',
'43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,411,,,,45,,,,,,,,,233',
',,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64',
'65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28,27,103,102,104,105,,,19,,',
',,,,46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,',
',,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,20,,,,,91,81',
'84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68',
',66,67,69,30,31,73,74,,,,,,75,28,27,103,102,104,105,,,19,,,,,,,46,,',
'107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,',
',,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,20,,,,,91,81,84,85,,86',
'88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67,69',
'30,31,73,74,,,,,,75,28,27,103,102,104,105,,,235,,,,,,,46,,,107,106,108',
'97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228',
',,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81,84,85,,86,88,87,89',
',,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,30,31,73',
'74,,,,,,75,28,27,103,102,104,105,,,235,,,,,,,46,,,107,106,108,97,57',
'99,98,100,290,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234',
',,59,60,,,61,,287,,285,,45,,,291,,,,,,233,,,,,91,288,84,85,,86,88,87',
'89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,315,316',
'73,74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,,46,,,107,106,108,97',
'57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234',
',,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81,84,85,,86,88,87,89,,,,,82',
'90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,30,31,73,74,,,,',
',75,28,27,103,102,104,105,,,235,,,,,,,46,,,107,106,108,97,57,99,98,100',
',101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,',
'61,,,,,,45,,,,,,,,,233,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,70',
'71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28,27',
'103,102,104,105,,,19,,,,,,,46,,,107,106,108,97,57,99,98,100,,101,109',
'110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45',
',,,,,,,,20,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58',
'83,95,96,64,65,,,,68,,66,67,69,315,316,73,74,,,,,,75,312,318,103,102',
'104,105,,,235,,,,,,,313,,,107,106,108,97,57,99,98,100,,101,109,110,',
'93,94,,,319,,,,,,,,,,,,,,,,,,,,309,,,234,,,59,60,,,61,,,680,,677,676',
'675,685,678,,,,,,,,,688,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,513,',
'683,63,,83,95,96,70,71,72,,58,696,695,,64,65,689,,,68,,66,67,69,315',
'316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,,46,,,107,106,108',
'97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228',
',,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81,84,85,,86,88,87,89',
',,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,315,316,73',
'74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,,46,,,107,106,108,97,57',
'99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234',
',,59,60,,,61,,411,,,,45,,,,,,,,,233,,,,,91,81,84,85,,86,88,87,89,,,',
',82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,315,316,73,74',
',,,,,75,312,318,103,102,104,105,,,235,,,,,,,313,,,107,106,108,97,57',
'99,98,100,,101,109,110,,93,94,,,319,,,,,,,,,,,,,,,,,,,,309,,,305,,,59',
'60,,,61,,,,,,,,,,,,,,,,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,70',
'71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,315,316,73,74,,,,,,75,312',
'318,103,102,104,105,,,235,,,,,,,313,,,107,106,108,97,57,99,98,100,,101',
'109,110,,93,94,,,319,,,,,,,,,,,,,,,,,,,,309,,,305,,,59,60,,,61,,,,,',
',,,,,,,,,,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83',
'95,96,64,65,,,,68,,66,67,69,315,316,73,74,,,,,,75,312,318,103,102,104',
'105,,,235,,,,,,,313,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94',
',,319,,,,,,,,,,,,,,,,,,,,309,,,305,,,59,60,,,61,,,,,,,,,,,,,,,,,,,,91',
'81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,',
'68,,66,67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,',
',,,46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,',
',,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81',
'84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68',
',66,67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,',
'46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,',
',,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81,84',
'85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66',
'67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,,46,',
',107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,',
',,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81,84,85',
',86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67',
'69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,,46,,,107',
'106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,',
',,,,228,,,234,530,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81,84,85,,86',
'88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67,69',
'30,31,73,74,,,,,,75,28,27,103,102,104,105,,,235,,,,,,,46,,,107,106,108',
'97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228',
',,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81,84,85,,86,88,87,89',
',,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,30,31,73',
'74,,,,,,75,28,27,103,102,104,105,,,235,,,,,,,46,,,107,106,108,97,57',
'99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234',
',,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81,84,85,,86,88,87,89,,,,,82',
'90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,30,31,73,74,,,,',
',75,28,27,103,102,104,105,,,235,,,,,,,46,,,107,106,108,97,57,99,98,100',
',101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,',
'61,,,,,,45,,,,,,,,,233,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,70',
'71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28,27',
'103,102,104,105,,,235,,,,,,,46,,,107,106,108,97,57,99,98,100,,101,109',
'110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45',
',,,,,,,,233,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58',
'83,95,96,64,65,,,,68,,66,67,69,315,316,73,74,,,,,,75,312,318,103,102',
'104,105,,,235,,,,,,,46,,,107,106,108,97,57,99,98,100,290,101,109,110',
',93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,285,,45',
',,291,,,,,,233,,,,,91,288,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63',
'58,83,95,96,64,65,,,,68,,66,67,69,315,316,73,74,,,,,,75,312,318,103',
'102,104,105,,,235,,,,,,,46,,,107,106,108,97,57,99,98,100,290,101,109',
'110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,638,',
'285,,45,,,291,,,,,,233,,,,,91,288,84,85,,86,88,87,89,,,,,82,90,,,,70',
'71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,315,316,73,74,,,,,,75,312',
'318,103,102,104,105,,,235,,,,,,,46,,,107,106,108,97,57,99,98,100,,101',
'109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,',
',,,45,,,,,,,,,233,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,,,,63,,83',
'95,96,70,71,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28',
'27,103,102,104,105,,,19,,,,,,8,46,,10,107,106,108,97,57,99,98,100,,101',
'109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,59,60,,,61,,35',
',,,45,,,,,,,,,20,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72',
'63,58,83,95,96,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28,27,103,102',
'104,105,,,235,,,,,,,46,,,107,106,108,97,57,99,98,100,290,101,109,110',
',93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,287,,285',
',45,,,291,,,,,,233,,,,,91,288,84,85,,86,88,87,89,,,,,82,90,,,,70,71',
'72,63,58,83,95,96,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28,27,103',
'102,104,105,,,19,,,,,,,46,,,107,106,108,97,57,99,98,100,,101,109,110',
',93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,',
',,,,,,20,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83',
'95,96,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28,27,103,102,104,105',
',,235,,,,,,,46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42',
'43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233',
',,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64',
'65,,,,68,,66,67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235',
',,,,,,46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41',
',,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,742,,,,45,,,,,,,,,233,,,',
',91,81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65',
',,,68,,66,67,69,30,31,73,74,,,,,,75,28,27,103,102,104,105,,,235,,,,',
',,46,,,107,106,108,97,57,99,98,100,290,101,109,110,,93,94,42,43,41,',
',,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,287,,285,,45,,,291,,,,,,233',
',,,,91,288,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64',
'65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28,27,103,102,104,105,,,235,',
',,,,,46,,,107,106,108,97,57,99,98,100,290,101,109,110,,93,94,42,43,41',
',,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,287,,285,,45,,,291,,,,,,233',
',,,,91,288,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64',
'65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28,27,103,102,104,105,,,19,,',
',,,,46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,',
',,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,20,,,,,91,81',
'84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68',
',66,67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,',
'46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,',
',,,,,,,,,,,,,228,,,234,,,59,60,,,61,,287,,,,45,,,,,,,,,233,,,,,91,81',
'84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68',
',66,67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,',
'46,,,107,106,108,97,57,99,98,100,290,101,109,110,,93,94,42,43,41,,,',
',,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,638,,,,45,,,291,,,,,,233,,,',
',91,288,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65',
',,,68,,66,67,69,30,31,73,74,,,,,,75,28,27,103,102,104,105,,,19,,,,,',
',46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,',
',,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,20,,,,,91,81,84',
'85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66',
'67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,,46,',
',107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,',
',,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81,84,85',
',86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67',
'69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,,46,,,107',
'106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,',
',,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81,84,85,,86,88',
'87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,315',
'316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,,313,,,107,106',
'108,97,57,99,98,100,,101,109,110,,93,94,,,319,,,,,,,,,,,,,,,,,,,,309',
',,305,,,59,60,,,61,,,,,,,,,,,,,,,,,,,,91,81,84,85,,86,88,87,89,,,,,82',
'90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,30,31,73,74,,,,',
',75,28,27,103,102,104,105,,,19,,,,,,,46,,,107,106,108,97,57,99,98,100',
',101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,',
'61,,,,,,45,,,,,,,,,20,,,,,91,81,84,85,,86,88,87,89,,,,,82,90,,,,70,71',
'72,63,58,83,95,96,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,75,28,27,103',
'102,104,105,,,235,,,,,,,46,,,107,106,108,97,57,99,98,100,290,101,109',
'110,,93,94,42,43,41,,,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,287,',
'285,,45,,,291,,,,,,233,,,,,91,288,84,85,,86,88,87,89,,,,,82,90,,,,70',
'71,72,63,58,83,95,96,64,65,,,,68,,66,67,69,315,316,73,74,,,,,,75,312',
'318,103,102,104,105,,,235,,,,,,,313,,,107,106,108,97,57,99,98,100,,101',
'109,110,,93,94,,,319,,,,,,,,,,,,,,,,,,,,309,,,305,,,59,60,,,61,,,680',
',677,676,675,685,678,,,,,,,,,688,,91,81,84,85,,86,88,87,89,,,,,82,90',
',,,,,683,63,,83,95,96,70,71,72,9,58,696,695,,64,65,689,,,68,,66,67,69',
'30,31,73,74,,,,,,75,28,27,103,102,104,105,,,19,,,,,,8,46,298,10,107',
'106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,,,,,,',
',,,,40,,,33,,,59,60,,,61,,35,,,,45,,,,,,,,,20,,,,,91,81,84,85,,86,88',
'87,89,,,,,82,90,,,,,,395,63,,83,95,96,70,71,72,,58,,,,64,65,,,,68,,66',
'67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,,46,',
',107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,,,,,',
',,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81,84,85',
',86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66,67',
'69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,,46,,,107',
'106,108,97,57,99,98,100,290,101,109,110,,93,94,42,43,41,,,,,,,,,,,,',
',,,,,,,228,,,234,,,59,60,,,61,,,,285,,45,,,291,,,,,,233,,,,,91,288,84',
'85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66',
'67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,,46,',
',107,106,108,97,57,99,98,100,290,101,109,110,,93,94,42,43,41,,,,,,,',
',,,,,,,,,,,,228,,,234,,,59,60,,,61,,638,,285,,45,,,291,,,,,,233,,,,',
'91,288,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65',
',,,68,,66,67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235',
',,,,,,46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41',
',,,,,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91',
'81,84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,',
'68,,66,67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,',
',,,46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,',
',,,,,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81',
'84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68',
',66,67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,',
'46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,',
',,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81,84',
'85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68,,66',
'67,69,30,31,73,74,,,,,,75,28,27,103,102,104,105,,,235,,,,,,,46,,,107',
'106,108,97,57,99,98,100,290,101,109,110,,93,94,42,43,41,,,,,,,,,,,,',
',,,,,,,228,,,234,,,59,60,,,61,,287,,285,,45,,,291,,,,,,233,,,,,91,288',
'84,85,,86,88,87,89,,,,,82,90,,,,70,71,72,63,58,83,95,96,64,65,,,,68',
',66,67,69,315,316,73,74,,,,,,75,312,318,103,102,104,105,,,235,,,,,,',
'46,,,107,106,108,97,57,99,98,100,,101,109,110,,93,94,42,43,41,,,,,,',
',,,,,,,,,,,,,228,,,234,,,59,60,,,61,,,,,,45,,,,,,,,,233,,,,,91,81,84',
'85,,86,88,87,89,,,,,82,90,,,,,,,63,,83,95,96,176,187,177,200,173,193',
'183,182,203,204,198,181,180,175,201,205,206,185,174,188,192,194,186',
'179,,,,195,202,197,196,189,199,184,172,191,190,,,,,,171,178,169,170',
'166,167,168,127,129,,,128,,,,,,,,160,161,,157,139,140,141,148,145,147',
',,142,143,,,,162,163,149,150,,,,,,,,,,,,,,154,153,,138,159,156,155,164',
'151,152,146,144,136,158,137,,,165,91,,,,,,,,,,,,,,90,176,187,177,200',
'173,193,183,182,203,204,198,181,180,175,201,205,206,185,174,188,192',
'194,186,179,,,,195,202,197,196,189,199,184,172,191,190,,,,,,171,178',
'169,170,166,167,168,127,129,,,128,,,,,,,,160,161,,157,139,140,141,148',
'145,147,,,142,143,,,,162,163,149,150,,,,,,,,,,,,,,154,153,,138,159,156',
'155,164,151,152,146,144,136,158,137,,,165,91,,,,,,,,,,,,,,90,176,187',
'177,200,173,193,183,182,203,204,198,181,180,175,201,205,206,185,174',
'188,192,194,186,179,,,,195,202,197,196,189,199,184,172,191,190,,,,,',
'171,178,169,170,166,167,168,127,129,,,128,,,,,,,,160,161,,157,139,140',
'141,148,145,147,,,142,143,,,,162,163,149,150,,,,,,,,,,,,,,154,153,,138',
'159,156,155,164,151,152,146,144,136,158,137,,,165,91,,,,,,,,,,,,,,90',
'176,187,177,200,173,193,183,182,203,204,198,181,180,175,201,205,206',
'185,174,188,192,194,186,179,,,,195,202,197,196,189,199,184,172,191,190',
',,,,,171,178,169,170,166,167,168,127,129,126,,128,,,,,,,,160,161,,157',
'139,140,141,148,145,147,,,142,143,,,,162,163,149,150,,,,,,,,,,,,,,154',
'153,,138,159,156,155,164,151,152,146,144,136,158,137,,,165,91,,,,,,',
',,,,,,,90,176,187,177,200,173,193,183,182,203,204,198,181,180,175,201',
'205,206,185,174,188,192,194,186,179,,,,195,202,197,378,377,379,376,172',
'191,190,,,,,,171,178,169,170,373,374,375,371,129,99,98,372,,101,,,,',
',160,161,,157,139,140,141,148,145,147,,,142,143,,,,162,163,149,150,',
',,,,383,,,,,,,,154,153,,138,159,156,155,164,151,152,146,144,136,158',
'137,,,165,176,187,177,200,173,193,183,182,203,204,198,181,180,175,201',
'205,206,185,174,188,192,194,186,179,,,,195,202,197,196,189,199,184,172',
'191,190,,,,,,171,178,169,170,166,167,168,127,129,,,128,,,,,,,,160,161',
',157,139,140,141,148,145,147,,,142,143,,,,162,163,149,150,,,,,,,,,,',
',,,154,153,,138,159,156,155,164,151,152,146,144,136,158,137,619,437',
'165,,620,,,,,,,,160,161,,157,139,140,141,148,145,147,,,142,143,,,,162',
'163,149,150,,,,,,269,,,,,,,,154,153,,138,159,156,155,164,151,152,146',
'144,136,158,137,712,444,165,,713,,,,,,,,160,161,,157,139,140,141,148',
'145,147,,,142,143,,,,162,163,149,150,,,,,,269,,,,,,,,154,153,,138,159',
'156,155,164,151,152,146,144,136,158,137,747,444,165,,746,,,,,,,,160',
'161,,157,139,140,141,148,145,147,,,142,143,,,,162,163,149,150,,,,,,269',
',,,,,,,154,153,,138,159,156,155,164,151,152,146,144,136,158,137,744',
'437,165,,745,,,,,,,,160,161,,157,139,140,141,148,145,147,,,142,143,',
',,162,163,149,150,,,,,,269,,,,,,,,154,153,,138,159,156,155,164,151,152',
'146,144,136,158,137,433,437,165,,434,,,,,,,,160,161,,157,139,140,141',
'148,145,147,,,142,143,,,,162,163,149,150,,,,,,269,,,,,,,,154,153,,138',
'159,156,155,164,151,152,146,144,136,158,137,484,437,165,,485,,,,,,,',
'160,161,,157,139,140,141,148,145,147,,,142,143,,,,162,163,149,150,,',
',,,,,,,,,,,154,153,,138,159,156,155,164,151,152,146,144,136,158,137',
'440,444,165,,439,,,,,,,,160,161,,157,139,140,141,148,145,147,,,142,143',
',,,162,163,149,150,,,,,,269,,,,,,,,154,153,,138,159,156,155,164,151',
'152,146,144,136,158,137,621,444,165,,622,,,,,,,,160,161,,157,139,140',
'141,148,145,147,,,142,143,,,,162,163,149,150,,,,,,269,,,,,,,,154,153',
',138,159,156,155,164,151,152,146,144,136,158,137,619,437,165,,620,,',
',,,,,160,161,,157,139,140,141,148,145,147,,,142,143,,,,162,163,149,150',
',,,,,269,,,,,,,,154,153,,138,159,156,155,164,151,152,146,144,136,158',
'137,1004,444,165,,1005,,,,,,,,160,161,,157,139,140,141,148,145,147,',
',142,143,,,,162,163,149,150,,,,,,269,,,,,,,,154,153,,138,159,156,155',
'164,151,152,146,144,136,158,137,484,437,165,,485,,,,,,,,160,161,,157',
'139,140,141,148,145,147,,,142,143,,,,162,163,149,150,,,,,,269,,,,,,',
',154,153,,138,159,156,155,164,151,152,146,144,136,158,137,715,444,165',
',716,,,,,,,,160,161,,157,139,140,141,148,145,147,,,142,143,,,,162,163',
'149,150,,,,,,269,,,,,,,,154,153,,138,159,156,155,164,151,152,146,144',
'136,158,137,1002,437,165,,1003,,,,,,,,160,161,,157,139,140,141,148,145',
'147,,,142,143,,,,162,163,149,150,,,,,,269,,,,,,,,154,153,,138,159,156',
'155,164,151,152,146,144,136,158,137,999,444,165,,998,,,,,,,,160,161',
',157,139,140,141,148,145,147,,,142,143,,,,162,163,149,150,,,,,,269,',
',,,,,,154,153,,138,159,156,155,164,151,152,146,144,136,158,137,648,437',
'165,,649,,,,,,,,160,161,,157,139,140,141,148,145,147,,,142,143,,,,162',
'163,149,150,,,,,,269,,,,,,,,154,153,,138,159,156,155,164,151,152,146',
'144,136,158,137,651,444,165,,652,,,,,,,,160,161,,157,139,140,141,148',
'145,147,,,142,143,,,,162,163,149,150,,,,,,269,,,,,,,,154,153,,138,159',
'156,155,164,151,152,146,144,136,158,137,710,437,165,,711,,,,,,,,160',
'161,,157,139,140,141,148,145,147,,,142,143,,,,162,163,149,150,,,,,,269',
',,,,,,,154,153,,138,159,156,155,164,151,152,146,144,136,158,137,621',
'444,165,,622,,,,,,,,160,161,,157,139,140,141,148,145,147,,,142,143,',
',,162,163,149,150,,,,,,269,,,,,,,,154,153,,138,159,156,155,164,151,152',
'146,144,136,158,137,,680,165,677,676,675,685,678,,680,,677,676,675,685',
'678,688,,,,,,,,688,,680,,677,676,675,685,678,,,,,,683,,,688,,,,,683',
'693,692,696,695,,,,689,693,692,696,695,,,,689,683,,680,,677,676,675',
'685,678,693,692,696,695,,,,689,688,,680,,677,676,675,685,678,,680,,677',
'676,675,685,678,688,,,,,683,,,688,,,,,,693,692,696,695,,,,689,683,,',
',,,,,683,693,692,696,695,,,,689,693,692,696,695,,,680,689,677,676,675',
'685,678,,680,,677,676,675,685,678,688,,,,,,,,688,,680,,677,676,675,685',
'678,,,,,,683,,,688,,,,,683,,,696,695,,,,689,693,692,696,695,,,,689,683',
',680,,677,676,675,685,678,,,696,695,,,,689,688,,680,,677,676,675,685',
'678,680,,677,676,675,685,678,,688,,,,,683,,688,,680,,677,676,675,685',
'678,696,695,,,,689,683,,688,,,,,683,,,,696,695,,,,689,,696,695,,,,689',
'683,,680,,677,676,675,685,678,693,692,696,695,,,,689,688,,680,,677,676',
'675,685,678,680,,677,676,675,685,678,,688,,,,,683,666,688,,,,,,,693',
'692,696,695,,,,689,683,,,,,,,683,,693,692,696,695,,,,689,,696,695,,',
',689' ]
        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 = [
'621,744,891,572,572,558,711,621,621,621,19,345,621,621,621,770,621,62',
'708,795,461,643,344,390,632,621,621,621,621,352,362,643,1014,391,362',
'356,621,621,1022,621,621,621,621,621,1002,923,1003,973,926,1017,770',
'19,461,1018,449,449,461,461,744,632,658,658,1019,825,353,710,621,621',
'621,621,621,621,621,621,621,621,621,621,621,621,834,1005,621,621,621',
'834,621,621,865,390,621,922,712,621,621,1020,621,572,621,391,621,1,621',
'621,62,621,621,621,621,621,746,621,621,621,558,711,549,746,746,746,891',
'1004,1023,746,746,891,746,621,795,345,621,621,621,621,345,621,708,621',
'352,708,344,708,621,621,356,344,746,746,449,746,746,746,746,746,658',
'628,1022,712,1005,713,648,1022,1002,923,1003,973,926,1002,923,1003,973',
'926,825,353,710,1024,746,746,746,746,746,746,746,746,746,746,746,746',
'746,746,314,418,746,746,746,381,746,431,1004,1005,746,712,381,746,1005',
'1031,865,784,746,922,746,865,746,746,922,746,746,746,746,746,549,746',
'440,746,713,549,648,229,838,440,440,440,41,41,432,440,440,746,440,1004',
'746,746,628,746,1004,746,226,440,418,568,568,349,746,746,314,361,349',
'26,440,440,381,440,440,440,440,440,648,966,713,648,894,829,894,784,966',
'501,829,314,429,648,651,319,319,966,229,838,343,343,440,440,440,440',
'440,440,440,440,440,440,440,440,440,440,419,226,440,440,440,361,440',
'227,41,41,440,784,361,440,784,715,583,361,440,26,440,361,440,440,784',
'440,440,440,440,440,966,440,440,440,649,984,984,501,501,501,361,568',
'26,651,651,441,568,440,385,415,440,440,747,440,501,440,412,319,319,747',
'747,747,440,440,227,747,747,715,747,943,361,943,943,943,715,943,767',
'747,451,715,583,583,585,715,651,698,698,651,747,747,583,747,747,747',
'747,747,294,651,3,410,649,294,715,3,812,407,812,812,812,24,812,401,385',
'385,385,745,24,463,747,747,747,747,747,747,747,747,747,747,747,747,747',
'747,715,767,747,747,747,464,747,465,649,466,747,649,392,747,585,585',
'388,323,747,943,747,649,747,747,585,747,747,747,747,747,439,747,747',
'747,619,488,604,439,439,439,745,492,24,439,439,339,439,747,339,962,747',
'747,962,747,812,747,336,335,360,336,335,620,747,747,323,508,439,439',
'17,439,439,439,439,439,323,509,392,392,392,364,388,388,388,604,664,379',
'364,664,512,455,514,619,379,604,519,364,439,439,439,439,439,439,439',
'439,439,439,439,439,439,439,360,522,439,439,439,17,439,360,620,531,439',
'389,360,439,386,17,360,387,439,532,439,533,439,439,534,439,439,439,439',
'439,97,439,546,439,364,360,455,97,97,97,379,550,97,97,97,561,97,439',
'44,44,439,439,561,439,97,439,97,97,97,14,14,561,439,439,551,360,97,97',
'552,97,97,97,97,97,553,389,389,389,386,386,386,387,387,387,44,44,126',
'378,377,800,800,126,126,366,378,377,97,97,97,97,97,97,97,97,97,97,97',
'97,97,97,561,354,97,97,97,225,97,97,354,357,97,355,225,97,97,570,97',
'354,97,580,97,225,97,97,588,97,97,97,97,97,376,97,100,97,590,351,596',
'376,350,100,100,100,378,377,100,100,100,97,100,340,97,97,97,97,605,97',
'100,97,100,100,100,338,97,97,79,337,354,610,100,100,225,100,100,100',
'100,100,79,47,333,615,327,325,375,374,47,373,79,623,325,375,374,624',
'373,47,625,376,627,325,100,100,100,100,100,100,100,100,100,100,100,100',
'100,100,631,518,100,100,100,918,100,100,518,633,100,635,918,100,100',
'637,100,518,100,324,100,918,100,100,320,100,100,100,100,100,47,100,622',
'100,325,375,374,645,373,622,622,622,647,318,622,622,622,100,622,650',
'100,100,100,100,653,100,654,100,622,622,622,313,100,100,657,312,518',
'659,622,622,918,622,622,622,622,622,434,924,668,16,669,310,372,371,924',
'671,16,672,310,372,371,673,682,924,309,16,690,310,622,622,622,622,622',
'622,622,622,622,622,622,622,622,622,694,697,622,622,622,700,622,622',
'417,706,622,434,433,622,622,417,622,709,622,303,622,434,622,622,417',
'622,622,622,622,622,924,622,16,622,310,372,371,302,944,301,944,944,944',
'299,944,39,718,622,298,38,622,622,622,622,722,622,286,622,444,433,283',
'741,622,622,282,444,444,444,797,433,444,444,444,417,444,944,743,268',
'797,752,235,476,231,444,444,444,444,997,230,997,997,997,39,997,444,444',
'38,444,444,444,444,444,39,652,228,773,38,308,783,787,652,797,797,476',
'308,652,797,476,476,652,476,476,790,308,444,444,444,444,444,444,444',
'444,444,444,444,444,444,444,791,307,444,444,444,796,811,444,307,813',
'444,818,207,444,444,821,444,307,444,111,444,826,444,444,828,444,444',
'444,444,444,652,444,444,444,308,832,833,836,306,837,809,46,809,809,809',
'306,809,444,846,847,444,444,444,444,306,444,445,444,849,850,851,905',
'444,445,445,445,307,853,445,445,445,905,445,854,855,477,856,809,40,871',
'872,445,445,445,445,916,809,916,916,916,876,916,445,445,877,445,445',
'445,445,445,879,716,880,306,905,905,882,477,716,905,885,477,477,716',
'477,477,887,716,37,898,902,915,445,445,445,445,445,445,445,445,445,445',
'445,445,445,445,919,22,445,445,445,925,945,445,15,952,445,955,462,445',
'445,956,445,957,445,958,445,960,445,445,969,445,445,445,445,445,716',
'445,445,445,683,13,683,683,683,886,683,886,886,886,462,886,12,445,462',
'462,445,445,445,445,974,445,57,445,975,976,977,978,445,57,57,57,979',
'980,57,57,57,683,57,528,982,985,886,998,999,1001,683,10,57,57,57,886',
'7,,,528,528,,57,57,,57,57,57,57,57,888,,888,888,888,528,888,528,,528',
'528,,528,528,,,528,,528,,,,57,57,57,57,57,57,57,57,57,57,57,57,57,57',
',888,57,57,57,,,57,,,57,,,57,57,,57,,57,,57,,57,57,,57,57,57,57,57,',
'57,,57,576,576,,,576,576,576,,1013,,1013,1013,1013,57,1013,,57,57,57',
'57,,57,483,57,,,,,57,483,483,483,,,483,483,483,776,483,776,776,776,776',
'776,,1013,,483,483,,,,776,,,481,,,483,483,,483,483,483,483,483,332,332',
'332,332,332,481,481,,776,6,6,6,6,6,,,,776,776,776,776,481,,481,776,481',
'481,,481,481,,,481,483,481,27,,,,,483,,27,27,27,483,483,27,27,27,776',
'27,981,,981,981,981,,981,,27,27,27,297,297,297,297,297,483,483,,27,27',
',27,27,27,27,27,,,,,483,,,483,,,981,983,483,983,983,983,,983,,483,,',
'27,27,27,27,27,27,27,27,27,27,27,27,27,27,,,27,27,27,,,27,,27,27,,983',
'27,27,,27,,27,,27,,27,27,,27,27,27,27,27,28,27,27,27,,,,28,28,28,,,28',
'28,28,,28,27,468,,27,27,,27,,27,28,28,,,,,27,,468,468,28,28,,28,28,28',
'28,28,506,506,506,506,506,,468,,468,,468,468,,468,468,,,,,,,,28,28,28',
'28,28,28,28,28,28,28,28,28,28,28,,,28,28,28,,,28,,28,28,,,28,28,,28',
',28,,28,,28,28,,28,28,28,28,28,,28,435,28,,,,,,435,435,435,,,435,435',
'435,28,435,469,28,28,,28,,28,,435,435,435,,,28,,,469,469,,435,435,,435',
'435,435,435,435,,,,,,469,,,,469,469,,469,469,,,,,,,,,435,435,435,435',
'435,435,435,435,435,435,435,435,435,435,,,435,435,435,,,435,,435,435',
',,435,435,,435,,435,,435,,435,435,,435,435,435,435,435,,435,435,435',
',,,,,,,,,,,,,435,,,435,435,,435,,435,548,548,548,548,548,548,435,,,548',
'548,,,,548,,548,548,548,548,548,548,548,,,,,,548,548,548,548,548,548',
'548,,,548,,,,,422,548,548,548,548,548,548,548,548,548,548,548,548,,548',
'548,548,,548,548,548,548,548,422,422,422,422,422,422,422,422,422,422',
'422,,422,422,,,422,422,,548,,,548,,,548,548,,,548,,548,422,,422,548',
'422,422,,422,422,422,422,422,548,422,,,,548,548,548,548,,548,548,548',
'548,,,,,548,548,,422,,422,,,548,,548,548,548,0,0,0,0,0,0,,,,0,0,,,,0',
',0,0,0,0,0,0,0,,,,,,0,0,0,0,0,0,0,,,0,,,,,428,0,0,0,0,0,0,0,0,0,0,0',
'0,,0,0,0,,0,0,0,0,0,428,428,428,428,428,428,428,428,428,428,428,,428',
'428,,,428,428,,0,,,0,,,0,0,,,0,,0,428,,428,0,428,428,,428,428,428,428',
'428,0,428,,,,0,0,0,0,,0,0,0,0,,,,,0,0,,428,,,,,0,,0,0,0,305,305,305',
'305,305,305,,,,305,305,,,,305,,305,305,305,305,305,305,305,,,,,,305',
'305,305,305,305,305,305,,,305,,,,,,305,305,305,305,305,305,305,305,305',
'305,305,305,,305,305,305,,305,305,305,305,305,280,280,280,280,280,280',
'280,280,280,280,280,,280,280,,,280,280,,305,,,305,,,305,305,,,305,,305',
'280,,280,305,280,280,,280,280,280,280,280,305,280,,,,305,305,305,305',
',305,305,305,305,,,,,305,305,,280,,,,,305,,305,305,305,569,569,569,569',
'569,569,,,,569,569,,,,569,,569,569,569,569,569,569,569,,,,,,569,569',
'569,569,569,569,569,,,569,,,,,,569,569,569,569,569,569,569,569,569,569',
'569,569,,569,569,569,,569,569,569,569,569,749,749,749,749,749,749,749',
'749,749,749,749,,749,749,,,749,749,,569,,,569,,,569,569,,,569,,569,749',
',749,569,749,749,,749,749,749,749,749,569,749,,,,569,569,569,569,,569',
'569,569,569,,,,,569,569,,749,,,,,569,,569,569,569,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,480,480,480,480,480,480,480,480',
'480,480,480,,480,480,,,480,480,,348,,,348,,,348,348,,,348,,348,480,',
'480,348,480,480,,480,480,480,480,480,348,480,,,,348,348,348,348,,348',
'348,348,348,,,,,348,348,480,480,,,,,348,,348,348,348,921,921,921,921',
'921,921,,,,921,921,,,,921,,921,921,921,921,921,921,921,,,,,,921,921',
'921,921,921,921,921,,,921,,,,,,921,921,921,921,921,921,921,921,921,921',
'921,921,,921,921,921,,921,921,921,921,921,843,843,843,843,843,843,843',
'843,843,843,843,,843,843,,,843,843,,921,,,921,,,921,921,,,921,,921,843',
',843,921,843,843,,843,843,843,843,843,921,843,,,,921,921,921,921,,921',
'921,921,921,,,,,921,921,,843,,,,,921,,921,921,921,789,789,789,789,789',
'789,,,,789,789,,,,789,,789,789,789,789,789,789,789,,,,,,789,789,789',
'789,789,789,789,,,789,,,,,,789,789,789,789,789,789,789,789,789,789,789',
'789,,789,789,789,,789,789,789,789,789,21,21,21,21,21,21,21,21,21,21',
'21,,21,21,,,21,21,,789,,,789,,,789,789,,,789,,789,21,,21,789,21,21,',
'21,21,21,21,21,789,21,,,,789,789,789,789,,789,789,789,789,,,,,789,789',
',21,,,,,789,,789,789,789,733,733,733,733,733,733,,,,733,733,,,,733,',
'733,733,733,733,733,733,733,,,,,,733,733,733,733,733,733,733,,,733,',
',,,,733,733,733,733,733,733,733,733,733,733,733,733,,733,733,733,,733',
'733,733,733,733,529,529,529,529,529,529,529,529,529,529,529,,529,529',
',,529,529,,733,,,733,,,733,733,,,733,,733,529,,529,733,529,529,,529',
'529,529,529,529,733,529,,,,733,733,733,733,,733,733,733,733,,,,,733',
'733,,529,,,,,733,,733,733,733,714,714,714,714,714,714,,,,714,714,,,',
'714,,714,714,714,714,714,714,714,,,,,,714,714,714,714,714,714,714,,',
'714,,,,,,714,714,714,714,714,714,714,714,714,714,714,714,,714,714,714',
',714,714,714,714,714,459,459,459,459,459,459,459,459,459,459,459,,459',
'459,,,459,459,,714,,,714,,,714,714,,,714,,714,459,,459,714,459,459,',
'459,459,459,459,459,714,459,,,,714,714,714,714,,714,714,714,714,,,,',
'714,714,,,,,,,714,,714,714,714,300,300,300,300,300,300,,,,300,300,,',
',300,,300,300,300,300,300,300,300,,,,,,300,300,300,300,300,300,300,',
',300,,,,,,300,300,300,300,300,300,300,300,300,300,300,300,,300,300,300',
',300,300,300,300,300,471,471,471,471,471,471,471,,,471,471,,,,,,471',
'471,,300,,,300,,,300,300,,,300,,300,471,,471,300,471,471,,471,471,471',
'471,471,300,471,,,,300,300,300,300,,300,300,300,300,,,,,300,300,,,,',
',,300,,300,300,300,778,778,778,778,778,778,,,,778,778,,,,778,,778,778',
'778,778,778,778,778,,,,,,778,778,778,778,778,778,778,,,778,,,,,,778',
'778,778,778,778,778,778,778,778,778,778,778,,778,778,778,,778,778,778',
'778,778,473,473,473,473,473,473,473,,,473,473,,,,,,473,473,,778,,,778',
',,778,778,,,778,,778,473,,473,778,473,473,,473,473,473,473,473,778,473',
',,,778,778,778,778,,778,778,778,778,,,,,778,778,,,,,,,778,,778,778,778',
'830,830,830,830,830,830,,,,830,830,,,,830,,830,830,830,830,830,830,830',
',,,,,830,830,830,830,830,830,830,,,830,,,,,,830,830,830,830,830,830',
'830,830,830,830,830,830,,830,830,830,,830,830,830,830,830,475,475,475',
'475,475,475,475,,,475,475,,,,,,475,475,,830,,,830,,,830,830,,,830,,830',
'475,,475,830,475,475,,475,475,475,475,475,830,475,,,,830,830,830,830',
',830,830,830,830,,,,,830,830,,,,,,,830,,830,830,830,723,723,723,723',
'723,723,,,,723,723,,,,723,,723,723,723,723,723,723,723,,,,,,723,723',
'723,723,723,723,723,,,723,,,,,,723,723,723,723,723,723,723,723,723,723',
'723,723,,723,723,723,,723,723,723,723,723,470,470,470,470,470,470,470',
',,470,470,,,,,,470,470,,723,,,723,,,723,723,,,723,,723,470,,470,723',
'470,470,,470,470,470,470,470,723,470,,,,723,723,723,723,,723,723,723',
'723,,,,,723,723,,,,,,,723,,723,723,723,719,719,719,719,719,719,,,,719',
'719,,,,719,,719,719,719,719,719,719,719,,,,,,719,719,719,719,719,719',
'719,,,719,,,,,,719,719,719,719,719,719,719,719,719,719,719,719,,719',
'719,719,,719,719,719,719,719,479,479,479,479,479,479,479,479,,479,479',
',,,,,479,479,,719,,,719,,,719,719,,,719,,719,479,,479,719,479,479,,479',
'479,479,479,479,719,479,,,,719,719,719,719,,719,719,719,719,,,,,719',
'719,,,,,,,719,,719,719,719,234,234,234,234,234,234,,,,234,234,,,,234',
',234,234,234,234,234,234,234,,,,,,234,234,234,234,234,234,234,,,234',
',,,,,234,234,234,234,234,234,234,234,234,234,234,234,,234,234,234,,234',
'234,234,234,234,478,478,478,478,478,478,478,,,478,478,,,,,,478,478,',
'234,,,234,,,234,234,,,234,,234,478,,478,234,478,478,,478,478,478,478',
'478,234,478,,,,234,234,234,234,,234,234,234,234,,,,,234,234,,,,,,,234',
',234,234,234,824,824,824,824,824,824,,,,824,824,,,,824,,824,824,824',
'824,824,824,824,,,,,,824,824,824,824,824,824,824,,,824,,,,,,824,824',
'824,824,824,824,824,824,824,824,824,824,,824,824,824,,824,824,824,824',
'824,460,460,460,460,460,460,460,460,460,460,460,,460,460,,,460,460,',
'824,,,824,,,824,824,,,824,,824,460,,460,824,460,460,,460,460,460,460',
'460,824,460,,,,824,824,824,824,,824,824,824,824,,,,,824,824,,,,,,,824',
',824,824,824,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,474,474,474,474,474,474,474,,,474,474,',
',,,,474,474,,33,,,33,,,33,33,,,33,,33,474,,474,33,474,474,,474,474,474',
'474,474,33,474,,,,33,33,33,33,,33,33,33,33,,,,,33,33,,,,,,,33,,33,33',
'33,545,545,545,545,545,545,,,,545,545,,,,545,,545,545,545,545,545,545',
'545,,,,,,545,545,545,545,545,545,545,,,545,,,,,,545,545,545,545,545',
'545,545,545,545,545,545,545,,545,545,545,,545,545,545,545,545,472,472',
'472,472,472,472,472,,,472,472,,,,,,472,472,,545,,,545,,,545,545,,,545',
',545,472,,472,545,472,472,,472,472,472,472,472,545,472,,,,545,545,545',
'545,,545,545,545,545,,,,,545,545,,,,,,,545,,545,545,545,347,347,347',
'347,347,347,,,,347,347,,,,347,,347,347,347,347,347,347,347,,,,,,347',
'347,347,347,347,347,347,,,347,,,,,,347,347,347,347,347,347,347,347,347',
'347,347,347,,347,347,347,,347,347,347,347,347,467,,,,,,,,,,,,,,,,467',
'467,,347,,,347,,,347,347,,,347,,347,467,,467,347,467,467,,467,467,,',
',347,,,,,347,347,347,347,,347,347,347,347,,,,,347,347,,,,,,,347,,347',
'347,347,331,331,331,331,331,331,,,,331,331,,,,331,,331,331,331,331,331',
'331,331,,,,,,331,331,331,331,331,331,331,,,331,,,,,,331,331,331,331',
'331,331,331,331,331,331,331,331,,331,331,331,,331,331,331,331,331,,',
',,,,,,,,,,,,,,,,,331,,,331,,,331,331,,,331,,331,,,,331,,,,,,,,,331,',
',,,331,331,331,331,,331,331,331,331,,,,,331,331,,,,,,,331,,331,331,331',
'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,,,,,124,124,,,,,,,124,,124,124,124,862,862',
'862,862,862,862,,,,862,862,,,,862,,862,862,862,862,862,862,862,,,,,',
'862,862,862,862,862,862,862,,,862,,,,,,862,862,862,862,862,862,862,862',
'862,862,862,862,,862,862,862,,862,862,862,862,862,,,,,,,,,,,,,,,,,,',
',862,,,862,,,862,862,,,862,,862,,,,862,,,,,,,,,862,,,,,862,862,862,862',
',862,862,862,862,,,,,862,862,,,,,,,862,,862,862,862,951,951,951,951',
'951,951,,,,951,951,,,,951,,951,951,951,951,951,951,951,,,,,,951,951',
'951,951,951,951,951,,,951,,,,,,951,951,951,951,951,951,951,951,951,951',
'951,951,,951,951,951,,951,951,951,951,951,,,,,,,,,,,,,,,,,,,,951,,,951',
',,951,951,,,951,,951,,,,951,,,,,,,,,951,,,,,951,951,951,951,,951,951',
'951,951,,,,,951,951,,,,,,,951,,951,951,951,209,209,209,209,209,209,',
',,209,209,,,,209,,209,209,209,209,209,209,209,,,,,,209,209,209,209,209',
'209,209,,,209,,,,,,209,209,209,209,209,209,209,209,209,209,209,209,',
'209,209,209,,209,209,209,209,209,,,,,,,,,,,,,,,,,,,,209,,,209,,,209',
'209,,,209,,209,,,,209,,,,,,,,,209,,,,,209,209,209,209,,209,209,209,209',
',,,,209,209,,,,,,,209,,209,209,209,946,946,946,946,946,946,,,,946,946',
',,,946,,946,946,946,946,946,946,946,,,,,,946,946,946,946,946,946,946',
',,946,,,,,,946,946,946,946,946,946,946,946,946,946,946,946,,946,946',
'946,,946,946,946,946,946,,,,,,,,,,,,,,,,,,,,946,,,946,,,946,946,,,946',
',946,,,,946,,,,,,,,,946,,,,,946,946,946,946,,946,946,946,946,,,,,946',
'946,,,,,,,946,,946,946,946,929,929,929,929,929,929,,,,929,929,,,,929',
',929,929,929,929,929,929,929,,,,,,929,929,929,929,929,929,929,,,929',
',,,,,929,929,929,929,929,929,929,929,929,929,929,929,,929,929,929,,929',
'929,929,929,929,,,,,,,,,,,,,,,,,,,,929,,,929,,,929,929,,,929,,929,,',
',929,,,,,,,,,929,,,,,929,929,929,929,,929,929,929,929,,,,,929,929,,',
',,,,929,,929,929,929,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,,,,,844,844,844,844,,844,844,844,844,,,,,844,844,,,,,,,844',
',844,844,844,928,928,928,928,928,928,,,,928,928,,,,928,,928,928,928',
'928,928,928,928,,,,,,928,928,928,928,928,928,928,,,928,,,,,,928,928',
'928,928,928,928,928,928,928,928,928,928,,928,928,928,,928,928,928,928',
'928,,,,,,,,,,,,,,,,,,,,928,,,928,,,928,928,,,928,,928,,,,928,,,,,,,',
',928,,,,,928,928,928,928,,928,928,928,928,,,,,928,928,,,,222,222,222',
'928,222,928,928,928,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,222,,,768,768,768,222,768,222,222,222,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,,,,766,766,766',
'768,766,768,768,768,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,,,,765,765,765,766,765,766,766,766,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,,,,764,764,764,765',
'764,765,765,765,764,764,,,,764,,764,764,764,764,764,764,764,,,,,,764',
'764,764,764,764,764,764,,,764,,,,,,,764,,,764,764,764,764,764,764,764',
'764,,764,764,764,,764,764,764,764,764,,,,,,,,,,,,,,,,,,,,764,,,764,',
',764,764,,,764,,,,,,764,,,,,,,,,764,,,,,764,764,764,764,,764,764,764',
'764,,,,,764,764,,,,233,233,233,764,233,764,764,764,233,233,,,,233,,233',
'233,233,233,233,233,233,,,,,,233,233,233,233,233,233,233,,,233,,,,,',
',233,,,233,233,233,233,233,233,233,233,,233,233,233,,233,233,233,233',
'233,,,,,,,,,,,,,,,,,,,,233,,,233,,,233,233,,,233,,,,,,233,,,,,,,,,233',
',,,,233,233,233,233,,233,233,233,233,,,,,233,233,,,,763,763,763,233',
'763,233,233,233,763,763,,,,763,,763,763,763,763,763,763,763,,,,,,763',
'763,763,763,763,763,763,,,763,,,,,,,763,,,763,763,763,763,763,763,763',
'763,,763,763,763,,763,763,763,763,763,,,,,,,,,,,,,,,,,,,,763,,,763,',
',763,763,,,763,,,,,,763,,,,,,,,,763,,,,,763,763,763,763,,763,763,763',
'763,,,,,763,763,,,,236,236,236,763,236,763,763,763,236,236,,,,236,,236',
'236,236,236,236,236,236,,,,,,236,236,236,236,236,236,236,,,236,,,,,',
',236,,,236,236,236,236,236,236,236,236,,236,236,236,,236,236,236,236',
'236,,,,,,,,,,,,,,,,,,,,236,,,236,,,236,236,,,236,,,,,,236,,,,,,,,,236',
',,,,236,236,236,236,,236,236,236,236,,,,,236,236,,,,237,237,237,236',
'237,236,236,236,237,237,,,,237,,237,237,237,237,237,237,237,,,,,,237',
'237,237,237,237,237,237,,,237,,,,,,,237,,,237,237,237,237,237,237,237',
'237,,237,237,237,,237,237,237,237,237,,,,,,,,,,,,,,,,,,,,237,,,237,',
',237,237,,,237,,,,,,237,,,,,,,,,237,,,,,237,237,237,237,,237,237,237',
'237,,,,,237,237,,,,238,238,238,237,238,237,237,237,238,238,,,,238,,238',
'238,238,238,238,238,238,,,,,,238,238,238,238,238,238,238,,,238,,,,,',
',238,,,238,238,238,238,238,238,238,238,,238,238,238,,238,238,238,238',
'238,,,,,,,,,,,,,,,,,,,,238,,,238,,,238,238,,,238,,,,,,238,,,,,,,,,238',
',,,,238,238,238,238,,238,238,238,238,,,,,238,238,,,,239,239,239,238',
'239,238,238,238,239,239,,,,239,,239,239,239,239,239,239,239,,,,,,239',
'239,239,239,239,239,239,,,239,,,,,,,239,,,239,239,239,239,239,239,239',
'239,,239,239,239,,239,239,239,239,239,,,,,,,,,,,,,,,,,,,,239,,,239,',
',239,239,,,239,,,,,,239,,,,,,,,,239,,,,,239,239,239,239,,239,239,239',
'239,,,,,239,239,,,,240,240,240,239,240,239,239,239,240,240,,,,240,,240',
'240,240,240,240,240,240,,,,,,240,240,240,240,240,240,240,,,240,,,,,',
',240,,,240,240,240,240,240,240,240,240,,240,240,240,,240,240,240,240',
'240,,,,,,,,,,,,,,,,,,,,240,,,240,,,240,240,,,240,,,,,,240,,,,,,,,,240',
',,,,240,240,240,240,,240,240,240,240,,,,,240,240,,,,241,241,241,240',
'241,240,240,240,241,241,,,,241,,241,241,241,241,241,241,241,,,,,,241',
'241,241,241,241,241,241,,,241,,,,,,,241,,,241,241,241,241,241,241,241',
'241,,241,241,241,,241,241,241,241,241,,,,,,,,,,,,,,,,,,,,241,,,241,',
',241,241,,,241,,,,,,241,,,,,,,,,241,,,,,241,241,241,241,,241,241,241',
'241,,,,,241,241,,,,242,242,242,241,242,241,241,241,242,242,,,,242,,242',
'242,242,242,242,242,242,,,,,,242,242,242,242,242,242,242,,,242,,,,,',
',242,,,242,242,242,242,242,242,242,242,,242,242,242,,242,242,242,242',
'242,,,,,,,,,,,,,,,,,,,,242,,,242,,,242,242,,,242,,,,,,242,,,,,,,,,242',
',,,,242,242,242,242,,242,242,242,242,,,,,242,242,,,,243,243,243,242',
'243,242,242,242,243,243,,,,243,,243,243,243,243,243,243,243,,,,,,243',
'243,243,243,243,243,243,,,243,,,,,,,243,,,243,243,243,243,243,243,243',
'243,,243,243,243,,243,243,243,243,243,,,,,,,,,,,,,,,,,,,,243,,,243,',
',243,243,,,243,,,,,,243,,,,,,,,,243,,,,,243,243,243,243,,243,243,243',
'243,,,,,243,243,,,,244,244,244,243,244,243,243,243,244,244,,,,244,,244',
'244,244,244,244,244,244,,,,,,244,244,244,244,244,244,244,,,244,,,,,',
',244,,,244,244,244,244,244,244,244,244,,244,244,244,,244,244,244,244',
'244,,,,,,,,,,,,,,,,,,,,244,,,244,,,244,244,,,244,,,,,,244,,,,,,,,,244',
',,,,244,244,244,244,,244,244,244,244,,,,,244,244,,,,245,245,245,244',
'245,244,244,244,245,245,,,,245,,245,245,245,245,245,245,245,,,,,,245',
'245,245,245,245,245,245,,,245,,,,,,,245,,,245,245,245,245,245,245,245',
'245,,245,245,245,,245,245,245,245,245,,,,,,,,,,,,,,,,,,,,245,,,245,',
',245,245,,,245,,,,,,245,,,,,,,,,245,,,,,245,245,245,245,,245,245,245',
'245,,,,,245,245,,,,246,246,246,245,246,245,245,245,246,246,,,,246,,246',
'246,246,246,246,246,246,,,,,,246,246,246,246,246,246,246,,,246,,,,,',
',246,,,246,246,246,246,246,246,246,246,,246,246,246,,246,246,246,246',
'246,,,,,,,,,,,,,,,,,,,,246,,,246,,,246,246,,,246,,,,,,246,,,,,,,,,246',
',,,,246,246,246,246,,246,246,246,246,,,,,246,246,,,,247,247,247,246',
'247,246,246,246,247,247,,,,247,,247,247,247,247,247,247,247,,,,,,247',
'247,247,247,247,247,247,,,247,,,,,,,247,,,247,247,247,247,247,247,247',
'247,,247,247,247,,247,247,247,247,247,,,,,,,,,,,,,,,,,,,,247,,,247,',
',247,247,,,247,,,,,,247,,,,,,,,,247,,,,,247,247,247,247,,247,247,247',
'247,,,,,247,247,,,,248,248,248,247,248,247,247,247,248,248,,,,248,,248',
'248,248,248,248,248,248,,,,,,248,248,248,248,248,248,248,,,248,,,,,',
',248,,,248,248,248,248,248,248,248,248,,248,248,248,,248,248,248,248',
'248,,,,,,,,,,,,,,,,,,,,248,,,248,,,248,248,,,248,,,,,,248,,,,,,,,,248',
',,,,248,248,248,248,,248,248,248,248,,,,,248,248,,,,249,249,249,248',
'249,248,248,248,249,249,,,,249,,249,249,249,249,249,249,249,,,,,,249',
'249,249,249,249,249,249,,,249,,,,,,,249,,,249,249,249,249,249,249,249',
'249,,249,249,249,,249,249,249,249,249,,,,,,,,,,,,,,,,,,,,249,,,249,',
',249,249,,,249,,,,,,249,,,,,,,,,249,,,,,249,249,249,249,,249,249,249',
'249,,,,,249,249,,,,250,250,250,249,250,249,249,249,250,250,,,,250,,250',
'250,250,250,250,250,250,,,,,,250,250,250,250,250,250,250,,,250,,,,,',
',250,,,250,250,250,250,250,250,250,250,,250,250,250,,250,250,250,250',
'250,,,,,,,,,,,,,,,,,,,,250,,,250,,,250,250,,,250,,,,,,250,,,,,,,,,250',
',,,,250,250,250,250,,250,250,250,250,,,,,250,250,,,,251,251,251,250',
'251,250,250,250,251,251,,,,251,,251,251,251,251,251,251,251,,,,,,251',
'251,251,251,251,251,251,,,251,,,,,,,251,,,251,251,251,251,251,251,251',
'251,,251,251,251,,251,251,251,251,251,,,,,,,,,,,,,,,,,,,,251,,,251,',
',251,251,,,251,,,,,,251,,,,,,,,,251,,,,,251,251,251,251,,251,251,251',
'251,,,,,251,251,,,,252,252,252,251,252,251,251,251,252,252,,,,252,,252',
'252,252,252,252,252,252,,,,,,252,252,252,252,252,252,252,,,252,,,,,',
',252,,,252,252,252,252,252,252,252,252,,252,252,252,,252,252,252,252',
'252,,,,,,,,,,,,,,,,,,,,252,,,252,,,252,252,,,252,,,,,,252,,,,,,,,,252',
',,,,252,252,252,252,,252,252,252,252,,,,,252,252,,,,253,253,253,252',
'253,252,252,252,253,253,,,,253,,253,253,253,253,253,253,253,,,,,,253',
'253,253,253,253,253,253,,,253,,,,,,,253,,,253,253,253,253,253,253,253',
'253,,253,253,253,,253,253,253,253,253,,,,,,,,,,,,,,,,,,,,253,,,253,',
',253,253,,,253,,,,,,253,,,,,,,,,253,,,,,253,253,253,253,,253,253,253',
'253,,,,,253,253,,,,254,254,254,253,254,253,253,253,254,254,,,,254,,254',
'254,254,254,254,254,254,,,,,,254,254,254,254,254,254,254,,,254,,,,,',
',254,,,254,254,254,254,254,254,254,254,,254,254,254,,254,254,254,254',
'254,,,,,,,,,,,,,,,,,,,,254,,,254,,,254,254,,,254,,,,,,254,,,,,,,,,254',
',,,,254,254,254,254,,254,254,254,254,,,,,254,254,,,,255,255,255,254',
'255,254,254,254,255,255,,,,255,,255,255,255,255,255,255,255,,,,,,255',
'255,255,255,255,255,255,,,255,,,,,,,255,,,255,255,255,255,255,255,255',
'255,,255,255,255,,255,255,255,255,255,,,,,,,,,,,,,,,,,,,,255,,,255,',
',255,255,,,255,,,,,,255,,,,,,,,,255,,,,,255,255,255,255,,255,255,255',
'255,,,,,255,255,,,,256,256,256,255,256,255,255,255,256,256,,,,256,,256',
'256,256,256,256,256,256,,,,,,256,256,256,256,256,256,256,,,256,,,,,',
',256,,,256,256,256,256,256,256,256,256,,256,256,256,,256,256,256,256',
'256,,,,,,,,,,,,,,,,,,,,256,,,256,,,256,256,,,256,,,,,,256,,,,,,,,,256',
',,,,256,256,256,256,,256,256,256,256,,,,,256,256,,,,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,,,,262,262,262,257,262,257,257,257,262,262,,,,262,,262',
'262,262,262,262,262,262,,,,,,262,262,262,262,262,262,262,,,262,,,,,',
',262,,,262,262,262,262,262,262,262,262,,262,262,262,,262,262,262,262',
'262,,,,,,,,,,,,,,,,,,,,262,,,262,,,262,262,,,262,,,,,,262,,,,,,,,,262',
',,,,262,262,262,262,,262,262,262,262,,,,,262,262,,,,750,750,750,262',
'750,262,262,262,750,750,,,,750,,750,750,750,750,750,750,750,,,,,,750',
'750,750,750,750,750,750,,,750,,,,,,,750,,,750,750,750,750,750,750,750',
'750,,750,750,750,,750,750,750,750,750,,,,,,,,,,,,,,,,,,,,750,,,750,',
',750,750,,,750,,,,,,750,,,,,,,,,750,,,,,750,750,750,750,,750,750,750',
'750,,,,,750,750,,,,269,269,269,750,269,750,750,750,269,269,,,,269,,269',
'269,269,269,269,269,269,,,,,,269,269,269,269,269,269,269,,,269,,,,,',
',269,,,269,269,269,269,269,269,269,269,269,269,269,269,,269,269,269',
'269,269,,,,,,,,,,,,,,,,,,,,269,,,269,,,269,269,,,269,,269,,269,,269',
',,269,,,,,,269,,,,,269,269,269,269,,269,269,269,269,,,,,269,269,,,,270',
'270,270,269,270,269,269,269,270,270,,,,270,,270,270,270,270,270,270',
'270,,,,,,270,270,270,270,270,270,270,,,270,,,,,,,270,,,270,270,270,270',
'270,270,270,270,270,270,270,270,,270,270,270,270,270,,,,,,,,,,,,,,,',
',,,,270,,,270,,,270,270,,,270,,270,,270,,270,,,270,,,,,,270,,,,,270',
'270,270,270,,270,270,270,270,,,,,270,270,,,,278,278,278,270,278,270',
'270,270,278,278,,,,278,,278,278,278,278,278,278,278,,,,,,278,278,278',
'278,278,278,278,,,278,,,,,,,278,,,278,278,278,278,278,278,278,278,278',
'278,278,278,,278,278,278,278,278,,,,,,,,,,,,,,,,,,,,278,,,278,,,278',
'278,,,278,,278,,278,,278,,,278,,,,,,278,,,,,278,278,278,278,,278,278',
'278,278,,,,,278,278,278,,,742,742,742,278,742,278,278,278,742,742,,',
',742,,742,742,742,742,742,742,742,,,,,,742,742,742,742,742,742,742,',
',742,,,,,,,742,,,742,742,742,742,742,742,742,742,,742,742,742,,742,742',
'742,742,742,,,,,,,,,,,,,,,,,,,,742,,,742,,,742,742,,,742,,,,,,742,,',
',,,,,,742,,,,,742,742,742,742,,742,742,742,742,,,,,742,742,,,,285,285',
'285,742,285,742,742,742,285,285,,,,285,,285,285,285,285,285,285,285',
',,,,,285,285,285,285,285,285,285,,,285,,,,,,,285,,,285,285,285,285,285',
'285,285,285,,285,285,285,,285,285,285,285,285,,,,,,,,,,,,,,,,,,,,285',
',,285,,,285,285,,,285,,,,,,285,,,,,,,,,285,,,,,285,285,285,285,,285',
'285,285,285,,,,,285,285,,,,287,287,287,285,287,285,285,285,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,,,,290',
'290,290,287,290,287,287,287,290,290,,,,290,,290,290,290,290,290,290',
'290,,,,,,290,290,290,290,290,290,290,,,290,,,,,,,290,,,290,290,290,290',
'290,290,290,290,,290,290,290,,290,290,290,290,290,,,,,,,,,,,,,,,,,,',
',290,,,290,,,290,290,,,290,,,,,,290,,,,,,,,,290,,,,,290,290,290,290',
',290,290,290,290,,,,,290,290,,,,291,291,291,290,291,290,290,290,291',
'291,,,,291,,291,291,291,291,291,291,291,,,,,,291,291,291,291,291,291',
'291,,,291,,,,,,,291,,,291,291,291,291,291,291,291,291,,291,291,291,',
'291,291,291,291,291,,,,,,,,,,,,,,,,,,,,291,,,291,,,291,291,,,291,,,',
',,291,,,,,,,,,291,,,,,291,291,291,291,,291,291,291,291,,,,,291,291,',
',,,,,291,,291,291,291,296,296,296,296,296,,,,296,296,,,,296,,296,296',
'296,296,296,296,296,,,,,,296,296,296,296,296,296,296,,,296,,,,,,296',
'296,,296,296,296,296,296,296,296,296,296,,296,296,296,,296,296,296,296',
'296,,,,,,,,,,,,,,,,,,,,296,,,296,,,296,296,,,296,,296,,,,296,,,,,,,',
',296,,,,,296,296,296,296,,296,296,296,296,,,,,296,296,,,,720,720,720',
'296,720,296,296,296,720,720,,,,720,,720,720,720,720,720,720,720,,,,',
',720,720,720,720,720,720,720,,,720,,,,,,,720,,,720,720,720,720,720,720',
'720,720,,720,720,720,,720,720,720,720,720,,,,,,,,,,,,,,,,,,,,720,,,720',
',,720,720,,,720,,,,,,720,,,,,,,,,720,,,,,720,720,720,720,,720,720,720',
'720,,,,,720,720,,,,539,539,539,720,539,720,720,720,539,539,,,,539,,539',
'539,539,539,539,539,539,,,,,,539,539,539,539,539,539,539,,,539,,,,,',
',539,,,539,539,539,539,539,539,539,539,539,539,539,539,,539,539,539',
'539,539,,,,,,,,,,,,,,,,,,,,539,,,539,,,539,539,,,539,,,,,,539,,,539',
',,,,,539,,,,,539,539,539,539,,539,539,539,539,,,,,539,539,,,,,,,539',
',539,539,539,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,,,',
'970,970,970,5,970,5,5,5,970,970,,,,970,,970,970,970,970,970,970,970',
',,,,,970,970,970,970,970,970,970,,,970,,,,,,,970,,,970,970,970,970,970',
'970,970,970,970,970,970,970,,970,970,970,970,970,,,,,,,,,,,,,,,,,,,',
'970,,,970,,,970,970,,,970,,970,,970,,970,,,970,,,,,,970,,,,,970,970',
'970,970,,970,970,970,970,,,,,970,970,,,,20,20,20,970,20,970,970,970',
'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,,,,917,917,917,20,917,20,20,20,917,917,,,,917,,917',
'917,917,917,917,917,917,,,,,,917,917,917,917,917,917,917,,,917,,,,,',
',917,,,917,917,917,917,917,917,917,917,,917,917,917,,917,917,,,917,',
',,,,,,,,,,,,,,,,,,917,,,917,,,917,917,,,917,,,,,,,,,,,,,,,,,,,,917,917',
'917,917,,917,917,917,917,,,,,917,917,,,,29,29,29,917,29,917,917,917',
'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,,,1025,,1025,1025,1025,1025,1025,,,,,,,,,1025,,35,35,35',
'35,,35,35,35,35,,,,,35,35,,,,35,,1025,35,,35,35,35,866,866,866,,866',
'1025,1025,,866,866,1025,,,866,,866,866,866,866,866,866,866,,,,,,866',
'866,866,866,866,866,866,,,866,,,,,,,866,,,866,866,866,866,866,866,866',
'866,,866,866,866,,866,866,,,866,,,,,,,,,,,,,,,,,,,,866,,,866,,,866,866',
',,866,,,,,,,,,,,,,,,,,,,,866,866,866,866,,866,866,866,866,,,,,866,866',
',,,857,857,857,866,857,866,866,866,857,857,,,,857,,857,857,857,857,857',
'857,857,,,,,,857,857,857,857,857,857,857,,,857,,,,,,,857,,,857,857,857',
'857,857,857,857,857,,857,857,857,,857,857,,,857,,,,,,,,,,,,,,,,,,,,857',
',,857,,,857,857,,,857,,,,,,,,,,,,,,,,,,,,857,857,857,857,,857,857,857',
'857,,,,,857,857,,,,42,42,42,857,42,857,857,857,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,,,,842,842,842,45,842,45,45,45,842,842,,,,842,,842,842',
'842,842,842,842,842,,,,,,842,842,842,842,842,842,842,,,842,,,,,,,842',
',,842,842,842,842,842,842,842,842,,842,842,842,,842,842,842,842,842',
',,,,,,,,,,,,,,,,,,,842,,,842,,,842,842,,,842,,,,,,842,,,,,,,,,842,,',
',,842,842,842,842,,842,842,842,842,,,,,842,842,,,,841,841,841,842,841',
'842,842,842,841,841,,,,841,,841,841,841,841,841,841,841,,,,,,841,841',
'841,841,841,841,841,,,841,,,,,,,841,,,841,841,841,841,841,841,841,841',
'841,841,841,841,,841,841,841,841,841,,,,,,,,,,,,,,,,,,,,841,,,841,,',
'841,841,,,841,,,,841,,841,,,841,,,,,,841,,,,,841,841,841,841,,841,841',
'841,841,,,,,841,841,,,,,,,841,,841,841,841,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,,,912,,912,912,912',
'912,912,,,,,,,,,912,,71,71,71,71,,71,71,71,71,,,,,71,71,,,,,,912,71',
',71,71,71,113,113,113,113,113,912,912,,113,113,912,,,113,,113,113,113',
'113,113,113,113,,,,,,113,113,113,113,113,113,113,,,113,,,,,,113,113',
'113,113,113,113,113,113,113,113,113,113,,113,113,113,,113,113,113,113',
'113,,,,,,,,,,,,,,,,,,,,113,,,113,,,113,113,,,113,,113,,,,113,,,,,,,',
',113,,,,,113,113,113,113,,113,113,113,113,,,,,113,113,,,,,,113,113,',
'113,113,113,118,118,118,,118,,,,118,118,,,,118,,118,118,118,118,118',
'118,118,,,,,,118,118,118,118,118,118,118,,,118,,,,,,,118,,,118,118,118',
'118,118,118,118,118,,118,118,118,,118,118,118,118,118,,,,,,,,,,,,,,',
',,,,,118,,,118,,,118,118,,,118,,,,,,118,,,,,,,,,118,,,,,118,118,118',
'118,,118,118,118,118,,,,,118,118,,,,119,119,119,118,119,118,118,118',
'119,119,,,,119,,119,119,119,119,119,119,119,,,,,,119,119,119,119,119',
'119,119,,,119,,,,,,,119,,,119,119,119,119,119,119,119,119,,119,119,119',
',119,119,119,119,119,,,,,,,,,,,,,,,,,,,,119,,,119,,,119,119,,,119,,',
',,,119,,,,,,,,,119,,,,,119,119,119,119,,119,119,119,119,,,,,119,119',
',,,120,120,120,119,120,119,119,119,120,120,,,,120,,120,120,120,120,120',
'120,120,,,,,,120,120,120,120,120,120,120,,,120,,,,,,,120,,,120,120,120',
'120,120,120,120,120,,120,120,120,,120,120,120,120,120,,,,,,,,,,,,,,',
',,,,,120,,,120,,,120,120,,,120,,,,,,120,,,,,,,,,120,,,,,120,120,120',
'120,,120,120,120,120,,,,,120,120,,,,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',
',,,,,,121,,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,122,122,,122,122,122,122,,,,,122,122,,,,823,823,823',
'122,823,122,122,122,823,823,,,,823,,823,823,823,823,823,823,823,,,,',
',823,823,823,823,823,823,823,,,823,,,,,,,823,,,823,823,823,823,823,823',
'823,823,,823,823,823,,823,823,823,823,823,,,,,,,,,,,,,,,,,,,,823,,,823',
',,823,823,,,823,,823,,,,823,,,,,,,,,823,,,,,823,823,823,823,,823,823',
'823,823,,,,,823,823,,,,820,820,820,823,820,823,823,823,820,820,,,,820',
',820,820,820,820,820,820,820,,,,,,820,820,820,820,820,820,820,,,820',
',,,,,,820,,,820,820,820,820,820,820,820,820,,820,820,820,,820,820,820',
'820,820,,,,,,,,,,,,,,,,,,,,820,,,820,,,820,820,,,820,,,,,,820,,,,,,',
',,820,,,,,820,820,820,820,,820,820,820,820,,,,,820,820,,,,210,210,210',
'820,210,820,820,820,210,210,,,,210,,210,210,210,210,210,210,210,,,,',
',210,210,210,210,210,210,210,,,210,,,,,,,210,,,210,210,210,210,210,210',
'210,210,,210,210,210,,210,210,210,210,210,,,,,,,,,,,,,,,,,,,,210,,,210',
',,210,210,,,210,,210,,,,210,,,,,,,,,210,,,,,210,210,210,210,,210,210',
'210,210,,,,,210,210,,,,211,211,211,210,211,210,210,210,211,211,,,,211',
',211,211,211,211,211,211,211,,,,,,211,211,211,211,211,211,211,,,211',
',,,,,,211,,,211,211,211,211,211,211,211,211,,211,211,211,,211,211,211',
'211,211,,,,,,,,,,,,,,,,,,,,211,,,211,,,211,211,,,211,,211,,,,211,,,',
',,,,,211,,,,,211,211,211,211,,211,211,211,211,,,,,211,211,,,,212,212',
'212,211,212,211,211,211,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,,,,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,215,215,,,,,215',
'215,,,,807,807,807,215,807,215,215,215,807,807,,,,807,,807,807,807,807',
'807,807,807,,,,,,807,807,807,807,807,807,807,,,807,,,,,,,807,,,807,807',
'807,807,807,807,807,807,,807,807,807,,807,807,807,807,807,,,,,,,,,,',
',,,,,,,,,807,,,807,,,807,807,,,807,,,,,,807,,,,,,,,,807,,,,,807,807',
'807,807,,807,807,807,807,,,,,807,807,,,,220,220,220,807,220,807,807',
'807,220,220,,,,220,,220,220,220,220,220,220,220,,,,,,220,220,220,220',
'220,220,220,,,220,,,,,,,220,,,220,220,220,220,220,220,220,220,,220,220',
'220,,220,220,220,220,220,,,,,,,,,,,,,,,,,,,,220,,,220,,,220,220,,,220',
',,,,,220,,,,,,,,,220,,,,,220,220,220,220,,220,220,220,220,,,,,220,220',
',,,221,221,221,220,221,220,220,220,221,221,,,,221,,221,221,221,221,221',
'221,221,,,,,,221,221,221,221,221,221,221,,,221,,,,,,,221,,,221,221,221',
'221,221,221,221,221,,221,221,221,,221,221,221,221,221,,,,,,,,,,,,,,',
',,,,,221,,,221,,,221,221,,,221,,,,,,221,,,,,,,,,221,,,,,221,221,221',
'221,,221,221,221,221,,,,,221,221,,,,304,304,304,221,304,221,221,221',
'304,304,,,,304,,304,304,304,304,304,304,304,,,,,,304,304,304,304,304',
'304,304,,,304,,,,,,,304,,,304,304,304,304,304,304,304,304,,304,304,304',
',304,304,,,304,,,,,,,,,,,,,,,,,,,,304,,,304,,,304,304,,,304,,,989,,989',
'989,989,989,989,,,,,,,,,989,,304,304,304,304,,304,304,304,304,,,,,304',
'304,,,,304,,989,304,,304,304,304,686,686,686,,686,989,989,,686,686,989',
',,686,,686,686,686,686,686,686,686,,,,,,686,686,686,686,686,686,686',
',,686,,,,,,,686,,,686,686,686,686,686,686,686,686,,686,686,686,,686',
'686,686,686,686,,,,,,,,,,,,,,,,,,,,686,,,686,,,686,686,,,686,,,,,,686',
',,,,,,,,686,,,,,686,686,686,686,,686,686,686,686,,,,,686,686,,,,660',
'660,660,686,660,686,686,686,660,660,,,,660,,660,660,660,660,660,660',
'660,,,,,,660,660,660,660,660,660,660,,,660,,,,,,,660,,,660,660,660,660',
'660,660,660,660,,660,660,660,,660,660,660,660,660,,,,,,,,,,,,,,,,,,',
',660,,,660,,,660,660,,,660,,660,,,,660,,,,,,,,,660,,,,,660,660,660,660',
',660,660,660,660,,,,,660,660,,,,655,655,655,660,655,660,660,660,655',
'655,,,,655,,655,655,655,655,655,655,655,,,,,,655,655,655,655,655,655',
'655,,,655,,,,,,,655,,,655,655,655,655,655,655,655,655,,655,655,655,',
'655,655,,,655,,,,,,,,,,,,,,,,,,,,655,,,655,,,655,655,,,655,,,,,,,,,',
',,,,,,,,,,655,655,655,655,,655,655,655,655,,,,,655,655,,,,644,644,644',
'655,644,655,655,655,644,644,,,,644,,644,644,644,644,644,644,644,,,,',
',644,644,644,644,644,644,644,,,644,,,,,,,644,,,644,644,644,644,644,644',
'644,644,,644,644,644,,644,644,,,644,,,,,,,,,,,,,,,,,,,,644,,,644,,,644',
'644,,,644,,,,,,,,,,,,,,,,,,,,644,644,644,644,,644,644,644,644,,,,,644',
'644,,,,321,321,321,644,321,644,644,644,321,321,,,,321,,321,321,321,321',
'321,321,321,,,,,,321,321,321,321,321,321,321,,,321,,,,,,,321,,,321,321',
'321,321,321,321,321,321,,321,321,321,,321,321,,,321,,,,,,,,,,,,,,,,',
',,,321,,,321,,,321,321,,,321,,,,,,,,,,,,,,,,,,,,321,321,321,321,,321',
'321,321,321,,,,,321,321,,,,641,641,641,321,641,321,321,321,641,641,',
',,641,,641,641,641,641,641,641,641,,,,,,641,641,641,641,641,641,641',
',,641,,,,,,,641,,,641,641,641,641,641,641,641,641,,641,641,641,,641',
'641,641,641,641,,,,,,,,,,,,,,,,,,,,641,,,641,,,641,641,,,641,,,,,,641',
',,,,,,,,641,,,,,641,641,641,641,,641,641,641,641,,,,,641,641,,,,638',
'638,638,641,638,641,641,641,638,638,,,,638,,638,638,638,638,638,638',
'638,,,,,,638,638,638,638,638,638,638,,,638,,,,,,,638,,,638,638,638,638',
'638,638,638,638,,638,638,638,,638,638,638,638,638,,,,,,,,,,,,,,,,,,',
',638,,,638,,,638,638,,,638,,,,,,638,,,,,,,,,638,,,,,638,638,638,638',
',638,638,638,638,,,,,638,638,,,,328,328,328,638,328,638,638,638,328',
'328,,,,328,,328,328,328,328,328,328,328,,,,,,328,328,328,328,328,328',
'328,,,328,,,,,,,328,,,328,328,328,328,328,328,328,328,,328,328,328,',
'328,328,328,328,328,,,,,,,,,,,,,,,,,,,,328,,,328,,,328,328,,,328,,,',
',,328,,,,,,,,,328,,,,,328,328,328,328,,328,328,328,328,,,,,328,328,',
',,330,330,330,328,330,328,328,328,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,330,,,,614,614,614,330,614,330,330,330',
'614,614,,,,614,,614,614,614,614,614,614,614,,,,,,614,614,614,614,614',
'614,614,,,614,,,,,,,614,,,614,614,614,614,614,614,614,614,,614,614,614',
',614,614,614,614,614,,,,,,,,,,,,,,,,,,,,614,,,614,,,614,614,,,614,,',
',,,614,,,,,,,,,614,,,,,614,614,614,614,,614,614,614,614,,,,,614,614',
',,,613,613,613,614,613,614,614,614,613,613,,,,613,,613,613,613,613,613',
'613,613,,,,,,613,613,613,613,613,613,613,,,613,,,,,,,613,,,613,613,613',
'613,613,613,613,613,,613,613,613,,613,613,613,613,613,,,,,,,,,,,,,,',
',,,,,613,,,613,,,613,613,,,613,,,,,,613,,,,,,,,,613,,,,,613,613,613',
'613,,613,613,613,613,,,,,613,613,,,,609,609,609,613,609,613,613,613',
'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,,,,607,607,607,608,607,608,608,608',
'607,607,,,,607,,607,607,607,607,607,607,607,,,,,,607,607,607,607,607',
'607,607,,,607,,,,,,,607,,,607,607,607,607,607,607,607,607,607,607,607',
'607,,607,607,607,607,607,,,,,,,,,,,,,,,,,,,,607,,,607,,,607,607,,,607',
',,,607,,607,,,607,,,,,,607,,,,,607,607,607,607,,607,607,607,607,,,,',
'607,607,,,,606,606,606,607,606,607,607,607,606,606,,,,606,,606,606,606',
'606,606,606,606,,,,,,606,606,606,606,606,606,606,,,606,,,,,,,606,,,606',
'606,606,606,606,606,606,606,606,606,606,606,,606,606,606,606,606,,,',
',,,,,,,,,,,,,,,,606,,,606,,,606,606,,,606,,606,,606,,606,,,606,,,,,',
'606,,,,,606,606,606,606,,606,606,606,606,,,,,606,606,,,,603,603,603',
'606,603,606,606,606,603,603,,,,603,,603,603,603,603,603,603,603,,,,',
',603,603,603,603,603,603,603,,,603,,,,,,,603,,,603,603,603,603,603,603',
'603,603,,603,603,603,,603,603,603,603,603,,,,,,,,,,,,,,,,,,,,603,,,603',
',,603,603,,,603,,,,,,603,,,,,,,,,603,,,,,603,603,603,603,,603,603,603',
'603,,,,,603,603,,,,,,,603,,603,603,603,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,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',
',,,599,599,599,602,599,602,602,602,599,599,,,,599,,599,599,599,599,599',
'599,599,,,,,,599,599,599,599,599,599,599,,,599,,,,,,,599,,,599,599,599',
'599,599,599,599,599,599,599,599,599,,599,599,599,599,599,,,,,,,,,,,',
',,,,,,,,599,,,599,,,599,599,,,599,,599,,599,,599,,,599,,,,,,599,,,,',
'599,599,599,599,,599,599,599,599,,,,,599,599,,,,346,346,346,599,346',
'599,599,599,346,346,,,,346,,346,346,346,346,346,346,346,,,,,,346,346',
'346,346,346,346,346,,,346,,,,,,,346,,,346,346,346,346,346,346,346,346',
',346,346,346,,346,346,346,346,346,,,,,,,,,,,,,,,,,,,,346,,,346,,,346',
'346,,,346,,,,,,346,,,,,,,,,346,,,,,346,346,346,346,,346,346,346,346',
',,,,346,346,,,,598,598,598,346,598,346,346,346,598,598,,,,598,,598,598',
'598,598,598,598,598,,,,,,598,598,598,598,598,598,598,,,598,,,,,,,598',
',,598,598,598,598,598,598,598,598,,598,598,598,,598,598,598,598,598',
',,,,,,,,,,,,,,,,,,,598,,,598,,,598,598,,,598,,,,,,598,,,,,,,,,598,,',
',,598,598,598,598,,598,598,598,598,,,,,598,598,,,,597,597,597,598,597',
'598,598,598,597,597,,,,597,,597,597,597,597,597,597,597,,,,,,597,597',
'597,597,597,597,597,,,597,,,,,,,597,,,597,597,597,597,597,597,597,597',
',597,597,597,,597,597,597,597,597,,,,,,,,,,,,,,,,,,,,597,,,597,,,597',
'597,,,597,,597,,,,597,,,,,,,,,597,,,,,597,597,597,597,,597,597,597,597',
',,,,597,597,,,,565,565,565,597,565,597,597,597,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,,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,,,,555,555,555',
'565,555,565,565,565,555,555,,,,555,,555,555,555,555,555,555,555,,,,',
',555,555,555,555,555,555,555,,,555,,,,,,,555,,,555,555,555,555,555,555',
'555,555,555,555,555,555,,555,555,555,555,555,,,,,,,,,,,,,,,,,,,,555',
',,555,,,555,555,,,555,,555,,555,,555,,,555,,,,,,555,,,,,555,555,555',
'555,,555,555,555,555,,,,,555,555,,,,367,367,367,555,367,555,555,555',
'367,367,,,,367,,367,367,367,367,367,367,367,,,,,,367,367,367,367,367',
'367,367,,,367,,,,,,,367,,,367,367,367,367,367,367,367,367,,367,367,367',
',367,367,367,367,367,,,,,,,,,,,,,,,,,,,,367,,,367,,,367,367,,,367,,',
',,,367,,,,,,,,,367,,,,,367,367,367,367,,367,367,367,367,,,,,367,367',
',,,554,554,554,367,554,367,367,367,554,554,,,,554,,554,554,554,554,554',
'554,554,,,,,,554,554,554,554,554,554,554,,,554,,,,,,,554,,,554,554,554',
'554,554,554,554,554,,554,554,554,,554,554,554,554,554,,,,,,,,,,,,,,',
',,,,,554,,,554,,,554,554,,,554,,554,,,,554,,,,,,,,,554,,,,,554,554,554',
'554,,554,554,554,554,,,,,554,554,,,,536,536,536,554,536,554,554,554',
'536,536,,,,536,,536,536,536,536,536,536,536,,,,,,536,536,536,536,536',
'536,536,,,536,,,,,,,536,,,536,536,536,536,536,536,536,536,536,536,536',
'536,,536,536,536,536,536,,,,,,,,,,,,,,,,,,,,536,,,536,,,536,536,,,536',
',536,,,,536,,,536,,,,,,536,,,,,536,536,536,536,,536,536,536,536,,,,',
'536,536,,,,530,530,530,536,530,536,536,536,530,530,,,,530,,530,530,530',
'530,530,530,530,,,,,,530,530,530,530,530,530,530,,,530,,,,,,,530,,,530',
'530,530,530,530,530,530,530,,530,530,530,,530,530,530,530,530,,,,,,',
',,,,,,,,,,,,,530,,,530,,,530,530,,,530,,,,,,530,,,,,,,,,530,,,,,530',
'530,530,530,,530,530,530,530,,,,,530,530,,,,525,525,525,530,525,530',
'530,530,525,525,,,,525,,525,525,525,525,525,525,525,,,,,,525,525,525',
'525,525,525,525,,,525,,,,,,,525,,,525,525,525,525,525,525,525,525,,525',
'525,525,,525,525,525,525,525,,,,,,,,,,,,,,,,,,,,525,,,525,,,525,525',
',,525,,,,,,525,,,,,,,,,525,,,,,525,525,525,525,,525,525,525,525,,,,',
'525,525,,,,524,524,524,525,524,525,525,525,524,524,,,,524,,524,524,524',
'524,524,524,524,,,,,,524,524,524,524,524,524,524,,,524,,,,,,,524,,,524',
'524,524,524,524,524,524,524,,524,524,524,,524,524,524,524,524,,,,,,',
',,,,,,,,,,,,,524,,,524,,,524,524,,,524,,,,,,524,,,,,,,,,524,,,,,524',
'524,524,524,,524,524,524,524,,,,,524,524,,,,521,521,521,524,521,524',
'524,524,521,521,,,,521,,521,521,521,521,521,521,521,,,,,,521,521,521',
'521,521,521,521,,,521,,,,,,,521,,,521,521,521,521,521,521,521,521,,521',
'521,521,,521,521,,,521,,,,,,,,,,,,,,,,,,,,521,,,521,,,521,521,,,521',
',,,,,,,,,,,,,,,,,,,521,521,521,521,,521,521,521,521,,,,,521,521,,,,383',
'383,383,521,383,521,521,521,383,383,,,,383,,383,383,383,383,383,383',
'383,,,,,,383,383,383,383,383,383,383,,,383,,,,,,,383,,,383,383,383,383',
'383,383,383,383,,383,383,383,,383,383,383,383,383,,,,,,,,,,,,,,,,,,',
',383,,,383,,,383,383,,,383,,,,,,383,,,,,,,,,383,,,,,383,383,383,383',
',383,383,383,383,,,,,383,383,,,,515,515,515,383,515,383,383,383,515',
'515,,,,515,,515,515,515,515,515,515,515,,,,,,515,515,515,515,515,515',
'515,,,515,,,,,,,515,,,515,515,515,515,515,515,515,515,515,515,515,515',
',515,515,515,515,515,,,,,,,,,,,,,,,,,,,,515,,,515,,,515,515,,,515,,515',
',515,,515,,,515,,,,,,515,,,,,515,515,515,515,,515,515,515,515,,,,,515',
'515,,,,513,513,513,515,513,515,515,515,513,513,,,,513,,513,513,513,513',
'513,513,513,,,,,,513,513,513,513,513,513,513,,,513,,,,,,,513,,,513,513',
'513,513,513,513,513,513,,513,513,513,,513,513,,,513,,,,,,,,,,,,,,,,',
',,,513,,,513,,,513,513,,,513,,,991,,991,991,991,991,991,,,,,,,,,991',
',513,513,513,513,,513,513,513,513,,,,,513,513,,,,,,991,513,,513,513',
'513,505,505,505,505,505,991,991,,505,505,991,,,505,,505,505,505,505',
'505,505,505,,,,,,505,505,505,505,505,505,505,,,505,,,,,,505,505,505',
'505,505,505,505,505,505,505,505,505,,505,505,505,,505,505,505,505,505',
',,,,,,,,,,,,,,,,,,,505,,,505,,,505,505,,,505,,505,,,,505,,,,,,,,,505',
',,,,505,505,505,505,,505,505,505,505,,,,,505,505,,,,,,505,505,,505,505',
'505,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,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',
',,,495,495,495,497,495,497,497,497,495,495,,,,495,,495,495,495,495,495',
'495,495,,,,,,495,495,495,495,495,495,495,,,495,,,,,,,495,,,495,495,495',
'495,495,495,495,495,495,495,495,495,,495,495,495,495,495,,,,,,,,,,,',
',,,,,,,,495,,,495,,,495,495,,,495,,495,,495,,495,,,495,,,,,,495,,,,',
'495,495,495,495,,495,495,495,495,,,,,495,495,,,,458,458,458,495,458',
'495,495,495,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,,,,457,457,457,458,457,458,458,458,457,457,,,,457,,457,457',
'457,457,457,457,457,,,,,,457,457,457,457,457,457,457,,,457,,,,,,,457',
',,457,457,457,457,457,457,457,457,,457,457,457,,457,457,457,457,457',
',,,,,,,,,,,,,,,,,,,457,,,457,,,457,457,,,457,,,,,,457,,,,,,,,,457,,',
',,457,457,457,457,,457,457,457,457,,,,,457,457,,,,456,456,456,457,456',
'457,457,457,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,,,,454,454,454,456,454,456,456,456,454,454,,,,454,,454,454',
'454,454,454,454,454,,,,,,454,454,454,454,454,454,454,,,454,,,,,,,454',
',,454,454,454,454,454,454,454,454,454,454,454,454,,454,454,454,454,454',
',,,,,,,,,,,,,,,,,,,454,,,454,,,454,454,,,454,,454,,454,,454,,,454,,',
',,,454,,,,,454,454,454,454,,454,454,454,454,,,,,454,454,,,,411,411,411',
'454,411,454,454,454,411,411,,,,411,,411,411,411,411,411,411,411,,,,',
',411,411,411,411,411,411,411,,,411,,,,,,,411,,,411,411,411,411,411,411',
'411,411,,411,411,411,,411,411,411,411,411,,,,,,,,,,,,,,,,,,,,411,,,411',
',,411,411,,,411,,,,,,411,,,,,,,,,411,,,,,411,411,411,411,,411,411,411',
'411,,,,,411,411,,,,,,,411,,411,411,411,594,594,594,594,594,594,594,594',
'594,594,594,594,594,594,594,594,594,594,594,594,594,594,594,594,,,,594',
'594,594,594,594,594,594,594,594,594,,,,,,594,594,594,594,594,594,594',
'594,594,,,594,,,,,,,,594,594,,594,594,594,594,594,594,594,,,594,594',
',,,594,594,594,594,,,,,,,,,,,,,,594,594,,594,594,594,594,594,594,594',
'594,594,594,594,594,,,594,594,,,,,,,,,,,,,,594,402,402,402,402,402,402',
'402,402,402,402,402,402,402,402,402,402,402,402,402,402,402,402,402',
'402,,,,402,402,402,402,402,402,402,402,402,402,,,,,,402,402,402,402',
'402,402,402,402,402,,,402,,,,,,,,402,402,,402,402,402,402,402,402,402',
',,402,402,,,,402,402,402,402,,,,,,,,,,,,,,402,402,,402,402,402,402,402',
'402,402,402,402,402,402,402,,,402,402,,,,,,,,,,,,,,402,9,9,9,9,9,9,9',
'9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,,,,9,9,9,9,9,9,9,9,9,9,,,,,,9,9,9',
'9,9,9,9,9,9,,,9,,,,,,,,9,9,,9,9,9,9,9,9,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,726,726,726,726,726',
'726,726,726,726,726,726,726,726,726,726,726,726,726,726,726,726,726',
'726,726,,,,726,726,726,726,726,726,726,726,726,726,,,,,,726,726,726',
'726,726,726,726,726,726,,,726,,,,,,,,726,726,,726,726,726,726,726,726',
'726,,,726,726,,,,726,726,726,726,,,,,,,,,,,,,,726,726,,726,726,726,726',
'726,726,726,726,726,726,726,726,526,526,726,,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,557,557,526',
',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,601,601,557,,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,600,600,601,,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,216,216',
'600,,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,265,265,216,,265,,,,,,,,265,265,,265,265,265,265,265',
'265,265,,,265,265,,,,265,265,265,265,,,,,,,,,,,,,,265,265,,265,265,265',
'265,265,265,265,265,265,265,265,265,217,217,265,,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,453,453',
'217,,453,,,,,,,,453,453,,453,453,453,453,453,453,453,,,453,453,,,,453',
'453,453,453,,,,,,453,,,,,,,,453,453,,453,453,453,453,453,453,453,453',
'453,453,453,453,452,452,453,,452,,,,,,,,452,452,,452,452,452,452,452',
'452,452,,,452,452,,,,452,452,452,452,,,,,,452,,,,,,,,452,452,,452,452',
'452,452,452,452,452,452,452,452,452,452,972,972,452,,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,564',
'564,972,,564,,,,,,,,564,564,,564,564,564,564,564,564,564,,,564,564,',
',,564,564,564,564,,,,,,564,,,,,,,,564,564,,564,564,564,564,564,564,564',
'564,564,564,564,564,563,563,564,,563,,,,,,,,563,563,,563,563,563,563',
'563,563,563,,,563,563,,,,563,563,563,563,,,,,,563,,,,,,,,563,563,,563',
'563,563,563,563,563,563,563,563,563,563,563,971,971,563,,971,,,,,,,',
'971,971,,971,971,971,971,971,971,971,,,971,971,,,,971,971,971,971,,',
',,,971,,,,,,,,971,971,,971,971,971,971,971,971,971,971,971,971,971,971',
'967,967,971,,967,,,,,,,,967,967,,967,967,967,967,967,967,967,,,967,967',
',,,967,967,967,967,,,,,,967,,,,,,,,967,967,,967,967,967,967,967,967',
'967,967,967,967,967,967,516,516,967,,516,,,,,,,,516,516,,516,516,516',
'516,516,516,516,,,516,516,,,,516,516,516,516,,,,,,516,,,,,,,,516,516',
',516,516,516,516,516,516,516,516,516,516,516,516,517,517,516,,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,556,556,517,,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,527,527,556,,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,,803,527,803,803',
'803,803,803,,725,,725,725,725,725,725,803,,,,,,,,725,,987,,987,987,987',
'987,987,,,,,,803,,,987,,,,,725,803,803,803,803,,,,803,725,725,725,725',
',,,725,987,,908,,908,908,908,908,908,987,987,987,987,,,,987,908,,910',
',910,910,910,910,910,,724,,724,724,724,724,724,910,,,,,908,,,724,,,',
',,908,908,908,908,,,,908,910,,,,,,,,724,910,910,910,910,,,,910,724,724',
'724,724,,,993,724,993,993,993,993,993,,932,,932,932,932,932,932,993',
',,,,,,,932,,934,,934,934,934,934,934,,,,,,993,,,934,,,,,932,,,993,993',
',,,993,932,932,932,932,,,,932,934,,936,,936,936,936,936,936,,,934,934',
',,,934,936,,938,,938,938,938,938,938,1008,,1008,1008,1008,1008,1008',
',938,,,,,936,,1008,,666,,666,666,666,666,666,936,936,,,,936,938,,666',
',,,,1008,,,,938,938,,,,938,,1008,1008,,,,1008,666,,544,,544,544,544',
'544,544,666,666,666,666,,,,666,544,,801,,801,801,801,801,801,805,,805',
'805,805,805,805,,801,,,,,544,544,805,,,,,,,544,544,544,544,,,,544,801',
',,,,,,805,,801,801,801,801,,,,801,,805,805,,,,805' ]
        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,   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,  -289,   -46,  -596,
  -608,   -51,   -55,   -56,   -57,   -61,  -266,  -266,  -266,  -302,
  -332,  -333,   -73,   -12,   -77,   -85,   -87,  -608,  -498,  -499,
  -608,  -608,  -608,  -608,  -225,  -608,  -596,  -239,  -280,  -281,
  -282,  -283,  -284,  -285,  -286,  -287,  -288,  -582,  -291,  -295,
  -607,  -572,  -310,  -312,  -608,  -608,   -53,   -53,  -594,  -608,
  -608,  -608,  -608,  -334,  -335,  -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,  -256,  -608,  -608,  -592,  -593,
  -608,  -608,  -596,  -597,   -50,  -608,  -498,  -499,  -608,  -289,
  -608,  -608,  -231,  -608,   -12,  -608,  -210,  -211,  -608,  -608,
  -608,  -608,  -608,  -608,  -608,  -608,  -608,  -608,  -608,  -608,
  -608,  -608,  -608,  -608,  -608,  -608,  -608,  -608,  -240,  -241,
  -242,  -243,  -608,  -403,  -405,  -608,  -590,  -591,   -62,  -256,
  -608,  -309,  -409,  -418,  -420,   -68,  -415,   -69,  -596,   -70,
  -246,  -261,  -270,  -270,  -265,  -608,  -271,  -608,  -464,  -574,
  -608,  -608,   -71,   -72,  -594,   -13,  -608,   -16,  -608,   -75,
   -12,  -596,  -608,   -78,   -81,   -12,   -93,   -94,  -608,  -608,
  -101,  -302,  -305,  -596,  -608,  -332,  -333,  -336,  -416,  -608,
   -83,  -608,   -89,  -299,  -481,  -608,  -219,  -220,  -608,  -232,
  -608,   -12,  -293,  -596,  -247,  -600,  -600,  -608,  -608,  -600,
  -608,  -311,  -394,   -52,  -608,  -608,  -608,   -12,   -12,  -594,
  -608,  -595,  -498,  -499,  -608,  -608,  -289,  -608,  -347,  -348,
  -111,  -112,  -608,  -114,  -608,  -289,  -506,  -608,  -498,  -499,
  -325,  -116,  -117,  -158,  -159,  -160,  -176,  -181,  -188,  -191,
  -327,  -608,  -570,  -608,  -444,  -608,  -608,  -608,  -608,  -608,
  -608,  -608,  -608,  1033,    -5,  -606,   -24,   -25,   -26,   -27,
   -28,  -608,  -608,   -20,   -21,   -22,  -126,  -608,   -31,   -33,
  -276,  -608,  -608,  -275,   -32,  -608,   -35,  -608,  -289,   -43,
   -45,  -199,  -251,  -271,   -47,   -48,   -36,  -200,  -251,  -596,
  -257,  -270,  -270,  -583,  -584,  -266,  -413,  -585,  -586,  -584,
  -583,  -266,  -412,  -414,  -585,  -586,   -42,  -207,   -49,  -596,
  -308,  -608,  -608,  -608,  -256,  -299,  -608,  -608,  -608,  -208,
  -209,  -212,  -213,  -214,  -215,  -216,  -217,  -221,  -222,  -223,
  -224,  -226,  -227,  -228,  -229,  -230,  -233,  -234,  -235,  -236,
  -596,  -244,  -424,  -266,  -583,  -584,   -59,   -63,  -596,  -267,
  -422,  -424,  -596,  -304,  -262,  -608,  -263,  -608,  -268,  -608,
  -272,  -608,  -577,  -579,   -11,  -595,   -15,   -17,  -596,   -74,
  -297,   -90,   -79,  -608,  -596,  -256,  -608,  -608,  -100,  -608,
  -481,  -608,   -86,   -91,  -608,  -608,  -608,  -608,  -245,  -237,
  -608,  -431,  -608,  -596,  -608,  -248,  -602,  -601,  -250,  -602,
  -300,  -301,  -573,  -313,  -530,   -12,  -338,  -339,   -12,  -608,
  -608,  -608,  -608,  -608,  -608,  -256,  -608,  -608,  -299,   -53,
  -111,  -112,  -113,  -608,  -608,  -256,  -321,  -504,  -608,   -12,
  -508,  -329,  -596,  -445,  -465,  -470,  -608,  -472,  -448,  -467,
  -608,  -469,  -450,  -608,  -453,  -608,  -455,  -458,  -608,  -459,
  -608,  -479,    -9,   -19,  -608,   -29,  -279,  -608,  -608,  -256,
  -608,  -608,  -608,  -608,  -417,  -608,  -258,  -260,  -608,  -608,
   -64,  -255,  -410,  -608,  -608,   -66,  -411,  -307,  -598,  -583,
  -584,  -583,  -584,  -596,  -608,  -608,  -425,   -58,  -406,  -422,
  -253,  -608,  -383,  -608,  -303,  -270,  -269,  -273,  -608,  -575,
  -576,  -608,   -14,   -76,  -608,   -82,   -88,  -596,  -583,  -584,
  -254,  -587,   -99,  -608,   -84,  -608,  -206,  -218,  -596,  -607,
  -607,  -292,  -294,  -296,  -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,  -316,  -317,  -608,  -319,  -608,  -596,
  -583,  -584,  -587,  -298,   -12,  -111,  -112,  -115,  -596,   -12,
  -608,  -323,  -608,   -12,  -530,  -530,  -608,  -571,  -471,  -474,
  -475,  -476,  -477,   -12,  -449,  -452,  -454,  -457,  -461,  -463,
  -127,  -277,  -608,  -596,  -583,  -584,  -584,  -583,   -44,  -252,
  -608,  -599,  -270,   -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,
  -264,  -274,  -578,   -80,  -417,   -92,  -306,  -607,  -345,   -12,
  -432,  -607,  -433,  -434,  -249,  -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,  -318,  -608,   -12,  -417,  -608,  -417,  -608,  -608,
   -12,  -326,  -608,  -596,  -608,  -330,  -608,  -278,  -417,   -37,
  -201,  -259,  -608,  -238,   -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,
  -314,  -608,  -315,  -273,  -607,  -320,  -322,  -505,  -608,  -328,
  -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,  -289,  -435,   -12,   -12,
  -397,  -510,  -608,  -518,  -608,  -520,  -608,  -523,  -608,  -526,
  -528,  -350,  -352,  -356,  -608,  -361,   -12,  -427,  -428,  -429,
  -324,   -12,  -569,  -548,  -366,  -367,  -367,  -367,  -367,  -558,
  -367,  -387,  -596,  -390,  -392,  -393,  -556,  -608,  -299,  -431,
  -256,  -608,  -608,  -299,  -608,  -608,  -515,  -515,  -515,  -515,
  -354,  -608,  -359,  -608,  -607,  -608,  -362,  -608,  -370,  -608,
  -372,  -608,  -376,  -608,  -379,  -381,  -389,  -608,  -298,  -587,
  -430,  -596,  -583,  -584,  -587,  -298,  -400,  -402,  -608,  -516,
  -519,  -521,  -524,  -608,  -357,  -344,  -331,  -367,  -367,  -367,
  -367,  -391,  -417,  -515,  -355,  -608,  -368,  -371,  -374,  -377,
  -517,  -367,  -369 ]

clist = [
'221,380,302,29,429,553,135,135,29,341,334,125,208,317,317,116,264,659',
'216,496,344,345,112,29,349,303,266,330,420,347,348,420,29,29,29,6,29',
'420,130,130,6,272,276,133,133,268,275,277,317,317,317,123,545,548,265',
'487,113,818,488,435,441,562,29,723,224,413,414,29,29,878,639,29,320',
'778,396,397,398,399,850,324,116,631,813,117,343,343,522,350,343,282',
'282,282,881,636,332,636,281,281,281,535,538,942,130,542,385,301,2,667',
'483,965,853,427,639,963,392,959,29,447,299,1,335,29,29,29,29,29,945',
'29,604,787,871,583,585,625,366,370,333,533,343,343,343,343,633,331,852',
'381,566,357,6,543,854,532,283,283,283,338,382,400,628,6,337,798,799',
'279,292,293,962,665,496,868,821,544,795,328,594,928,878,929,407,482',
'639,490,982,336,339,491,770,947,915,426,965,394,959,791,1021,446,865',
'384,942,579,581,584,584,302,636,636,878,706,885,386,955,844,29,29,29',
'29,29,29,29,1014,773,881,387,29,29,29,388,452,629,796,401,436,424,425',
'389,390,391,29,728,733,720,448,449,623,701,402,876,445,409,359,207,1024',
'873,674,408,419,953,642,419,342,26,878,717,861,419,26,719,830,569,302',
'412,412,29,29,302,570,726,902,645,,26,29,281,317,,,654,833,834,26,26',
'26,,26,519,435,441,,,29,317,,549,29,647,682,116,,29,,516,501,523,504',
'534,,550,551,,26,,,767,,26,26,,526,26,272,282,506,,276,29,,281,281,282',
'906,907,512,507,1015,709,281,784,505,,29,29,29,,447,718,427,556,520',
',650,,116,,,948,931,343,851,552,650,29,780,508,26,,674,,514,26,26,26',
'26,26,266,26,299,29,568,743,722,299,,877,283,879,951,736,757,736,650',
'135,283,762,572,489,593,,650,825,783,605,571,492,,639,420,824,827,,600',
',656,,,,420,420,682,794,,420,420,130,674,674,,,133,,636,,,838,435,441',
'986,,,,,611,,,,610,1000,616,29,,,615,624,,,,,,436,,26,26,26,26,26,26',
'26,450,,,,26,26,26,445,,682,682,,780,,,,317,,26,,,,611,956,317,957,627',
',523,754,756,,29,,759,761,523,,698,792,,700,29,,,281,714,976,,,,,,26',
'26,436,493,29,,,,856,26,828,,436,,832,,,,445,29,949,658,29,,,,509,26',
'445,29,,26,702,682,,682,26,,420,29,,,436,29,921,,772,,,1017,436,721',
',281,753,755,,,445,758,760,,26,135,445,,,,740,,946,,29,29,,605,29,26',
'26,26,,793,29,29,,708,436,29,29,635,,,771,281,317,130,,,26,605,133,',
'445,281,,317,523,,748,,,,,419,26,,,785,840,,,898,,419,419,,835,,419',
'419,664,754,756,761,759,904,611,281,,616,856,,856,,,,,829,,,,,,,826',
',,,,,,605,,,682,,,,,,605,1022,,836,617,,,,,,,,,,,26,,,29,,,412,,29,29',
'605,839,29,,,752,,,,,808,,29,863,,840,343,867,630,,,,634,860,856,975',
',,847,29,,,130,855,864,1001,,,643,,,26,,,646,,,985,,872,848,26,891,855',
',,,29,,,,,,662,,,26,340,29,894,419,874,,,874,,,,,,,26,,,26,,,,,,650',
'26,,,,,,,,29,,26,727,29,,26,,920,,29,,855,317,,,,343,897,802,804,806',
'317,901,29,,,,,,,,,,,26,26,808,,26,887,,29,,,26,26,,,,26,26,,,,,,,952',
',,847,,847,16,847,,969,,16,,,,317,974,,,,,,874,,,848,225,848,,848,,786',
',,984,225,225,225,,16,308,308,857,29,,971,,,,,29,29,,,,,808,,808,410',
'423,,996,,,16,,,29,,225,225,,29,225,354,364,364,13,,,,847,13,847,,847',
',847,,,,29,26,,,,,26,26,,605,26,,848,436,848,,848,,848,13,26,980,808',
',445,,,16,847,445,,,225,225,225,225,16,26,16,,,,498,,500,13,,502,503',
',848,,,,,358,,,,808,,808,,,281,26,,,,,,,,,933,935,26,937,939,857,940',
',857,,857,,857,,,,,808,,,889,,,,,13,,,,,,,,26,13,,13,26,849,,900,,,26',
',,,,,16,225,417,225,225,417,225,,26,,,417,225,225,,,880,,882,,,,,,,16',
'26,,,,39,,,,,39,,,857,,857,,857,941,857,596,,,,,,1009,1010,1011,1012',
',,,,,225,225,,39,307,307,,,,225,,,13,,415,,857,415,,,,,,415,,26,,16',
',39,,16,26,26,,308,16,13,1030,353,369,369,369,,,,,,,,26,,308,,,26,,909',
'911,913,,,16,958,,960,,,,637,,340,,640,26,,,225,16,16,,,,39,,977,,978',
',979,,,39,,39,,,,225,13,,,,13,,,,,13,,637,,,340,225,,,,,,,,,,,38,,,423',
',38,,,,13,,,,,,1018,,1019,,1020,,,,,,13,13,,,,,,,38,306,306,1023,,988',
'990,992,994,,995,,,741,,,,,,,1031,39,637,340,,,38,225,,,,,,,,,352,368',
'368,368,,,,,,,39,,,,,,,,781,,,782,,,,,,,,,,1026,1027,1028,1029,,,,,',
'790,,16,,38,1032,,,,,308,,225,38,,38,,,308,,,,,,,,814,225,,,,,39,,,',
'39,,,,307,39,16,,,16,,,,,,,225,,,,,307,,,,,225,,,,16,39,,,,,,,13,,,',
',,,,837,39,39,,,,,,,,,,,417,225,,,16,38,,,,,417,417,,,,417,417,,,13',
',,13,,,,,,,,38,,,,,,,,,,,,,13,,,308,,,,,,884,,,,,308,,,,,,,,,,,893,',
',,415,,,,13,,,,,,415,415,,,340,415,415,,,,38,,,,38,,,,306,38,,,,,,,',
',,,,,,,16,306,,,,16,225,,,16,,38,,,,,,,,16,,,,,,,,38,38,,39,,,,,,417',
',307,,,,,,,,307,,,,,,,,17,,,,,17,,,,,16,,,,,,39,,13,39,,16,,13,,,,13',
',,,,,17,310,310,,13,,,39,,,,,,,,,,,,225,,415,,16,,,17,,,16,,,,,,,356',
'365,365,,39,,,16,,,,,,13,,,,,,,918,,,,13,16,,,,924,,,,,,,,,,,,,,,17',
',307,,,15,,,,17,15,17,,307,,13,,,38,,,13,,,,,306,,,,,,,,306,13,966,',
'15,,16,,,,,,,16,16,,,,,13,,,,927,38,,,38,,,15,16,,,,,16,,39,,,,,39,',
',,39,38,,,,,,,225,,39,,,,,17,,418,,,418,,,,,,418,,,,,13,,,38,,,15,13',
'13,17,,,,,,15,,15,,,,,,,39,13,,,,,13,,,,,39,,,,,,,,,,306,,,,,,,,,,,306',
',,,,,,,,,,,,,39,17,,,,17,39,,,310,17,,,,,,,,,,39,,,,,,310,,,,,,15,369',
'15,,17,15,39,,,,923,15,,38,,,,,38,,17,17,38,,,15,,,,,,,38,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,369,,,,39,,,,,,,39,39,,,,38,,,,,,,,,,15,38,,39,15',
',,,39,15,,,,,,,,,,,,,,,,,,,,,,,,,,15,38,,,,,,38,,,,,,,,,15,15,,,,38',
',,,,,,,,,,,,368,,,,,38,,,,922,,,,,,,,,,,,,17,,,,,,,,310,,,,,,,,310,',
',,,,,,,,,,,,,,,,,,,,368,,17,,38,17,,,,,,38,38,,,,,,,,,,,,,,17,,,38,',
',,732,38,,,,,,,,,,,,,,,,,,,,,418,,,,17,,,,,,418,418,,,,418,418,,,,,',
',,,15,,,,,,,,,,,,,,,,,,,,,310,,,,,,,,,,,310,,,,,,,,15,,,15,,,,,,,,,',
',,,,,,,,,,,15,,,,,,,,,,,,,,,,,,,,,,,,,,,17,,15,,,17,15,,,17,,,15,15',
',,,15,15,17,,,,,,,,,,,,,,,,,418,,,,,,,,,,,,,,,232,,,,,,,,,280,280,280',
',17,,,,,,,,,326,327,17,329,,,,,,,,,,,,,,,280,280,,,,,,,,,,,,,,,,,,17',
',,,,,17,,15,,,,,15,,,,15,,,17,,,,,,,15,,,,,,365,,,,,17,,,,926,,15,,',
',,,,,,,,,,,,,,,,,,,,,,,,,15,,,,,,,,,,,15,,,,,,,,,,365,,,,17,,,,,,,17',
'17,,,,,,,,,,,,,15,,,,17,,15,,,17,,,,280,422,,,428,280,,15,,,428,,,,',
',,,,,,,,232,,15,459,460,461,462,463,464,465,466,467,468,469,470,471',
'472,473,474,475,476,477,478,479,480,,,,,481,,,,,,,280,280,,,,,,,,280',
',,,,,,280,,280,,,280,280,,,15,,,,,,,15,15,,,,,,,,,,,,,,,,,15,,,,,15',
',,,528,,529,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,280,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,280,,428,428,428,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,280,,280,,280',
',,,,,,,,,,,,,,,280,,,,,,,,,428,657,,,,,,,,,,,280,,,280,,,,,,,,,,,,,',
',280,280,,,,,,,,,,280,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,280,428,280,,,',
'749,,,280,280,428,428,,,,428,428,,,,,,,,,,,,,,,,,,,,,,,,280,,,280,,',
',,,,,,,,,,,,,,,,280,,,,,,,,,,,,,,,,,,,,,,,,,,280,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,280,,,,,,,,428,,,,,,,,,,,,,428,428',
'428,428,,843,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,280,,,,,,,,,,,,,',
',,280,,,,,,,,,,,,,,,,,,280,428,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,280' ]
        racc_goto_table = arr = ::Array.new(3371, 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,10,50,30,101,68,68,50,96,77,16,16,73,73,104,142,11,32,83,18,18',
'4,50,18,56,32,34,19,36,36,19,50,50,50,7,50,19,64,64,7,81,81,67,67,44',
'44,44,73,73,73,8,99,99,42,45,6,100,30,43,43,61,50,105,21,23,23,50,50',
'177,186,50,57,131,18,18,18,18,129,71,104,46,119,5,25,25,58,4,25,78,78',
'78,182,84,7,84,39,39,39,79,79,117,64,79,159,53,2,141,43,136,133,70,186',
'135,159,183,50,70,52,1,78,50,50,50,50,50,120,50,31,12,133,163,163,145',
'62,62,109,108,25,25,25,25,145,107,121,106,103,102,7,98,127,9,80,80,80',
'95,94,7,82,7,76,124,124,51,51,51,134,137,83,138,12,139,140,74,69,143',
'177,144,10,146,186,148,120,80,80,149,152,153,133,27,136,5,183,154,135',
'27,155,158,117,164,164,164,164,10,84,84,177,101,119,160,129,131,50,50',
'50,50,50,50,50,120,46,182,161,50,50,50,162,32,48,141,2,81,25,25,165',
'166,167,50,168,169,170,25,25,30,37,26,175,64,24,20,17,120,179,171,21',
'21,180,15,21,110,47,177,61,13,21,47,111,112,113,10,78,78,50,50,10,114',
'115,116,58,,47,50,39,73,,,58,141,141,47,47,47,,47,34,43,43,,,50,73,',
'18,50,30,176,104,,50,,32,159,56,4,34,,10,10,,47,,,31,,47,47,,32,47,81',
'78,7,,81,50,,39,39,78,124,124,57,8,100,30,39,31,6,,50,50,50,,70,30,70',
'32,71,,43,,104,,,12,124,25,130,4,43,50,83,53,47,,171,,53,47,47,47,47',
'47,32,47,52,50,25,30,9,52,,130,80,130,105,164,45,164,43,68,80,45,25',
'51,16,,43,31,58,34,42,51,,186,19,99,31,,32,,70,,,,19,19,176,79,,19,19',
'64,171,171,,,67,,84,,,31,43,43,124,,,,,81,,,,44,11,81,50,,,44,34,,,',
',,81,,47,47,47,47,47,47,47,54,,,,47,47,47,64,,176,176,,83,,,,73,,47',
',,,81,130,73,130,44,,56,70,70,,50,,70,70,56,,10,23,,10,50,,,39,36,130',
',,,,,47,47,81,54,50,,,,176,47,9,,81,,9,,,,64,50,101,25,50,,,,54,47,64',
'50,,47,104,176,,176,47,,19,50,,,81,50,99,,96,,,130,81,104,,39,27,27',
',,64,27,27,,47,68,64,,,,16,,99,,50,50,,34,50,47,47,47,,77,50,50,,78',
'81,50,50,80,,,142,39,73,64,,,47,34,67,,64,39,,73,56,,7,,,,,21,47,,,56',
'70,,,9,,21,21,,63,,21,21,80,70,70,70,70,9,81,39,,81,176,,176,,,,,18',
',,,,,,10,,,,,,,34,,,176,,,,,,34,31,,10,54,,,,,,,,,,,47,,,50,,,78,,50',
'50,34,27,50,,,80,,,,,118,,50,77,,70,25,77,54,,,,54,10,176,9,,,123,50',
',,64,34,10,30,,,54,,,47,,,54,,,9,,123,125,47,18,34,,,,50,,,,,,54,,,47',
'75,50,10,21,125,,,125,,,,,,,47,,,47,,,,,,43,47,,,,,,,,50,,47,54,50,',
'47,,10,,50,,34,73,,,,25,104,174,174,174,73,104,50,,,,,,,,,,,47,47,118',
',47,118,,50,,,47,47,,,,47,47,,,,,,,123,,,123,,123,29,123,,10,,29,,,',
'73,10,,,,,,125,,,125,29,125,,125,,54,,,10,29,29,29,,29,29,29,178,50',
',32,,,,,50,50,,,,,118,,118,75,75,,34,,,29,,,50,,29,29,,50,29,29,29,29',
'22,,,,123,22,123,,123,,123,,,,50,47,,,,,47,47,,34,47,,125,81,125,,125',
',125,22,47,118,118,,64,,,29,123,64,,,29,29,29,29,29,47,29,,,,75,,75',
'22,,75,75,,125,,,,,22,,,,118,,118,,,39,47,,,,,,,,,174,174,47,174,174',
'178,174,,178,,178,,178,,,,,118,,,54,,,,,22,,,,,,,,47,22,,22,47,128,',
'54,,,47,,,,,,29,29,29,29,29,29,29,,47,,,29,29,29,,,128,,128,,,,,,,29',
'47,,,,60,,,,,60,,,178,,178,,178,54,178,75,,,,,,174,174,174,174,,,,,',
'29,29,,60,60,60,,,,29,,,22,,22,,178,22,,,,,,22,,47,,29,,60,,29,47,47',
',29,29,22,174,60,60,60,60,,,,,,,,47,,29,,,47,,126,126,126,,,29,128,',
'128,,,,75,,75,,75,47,,,29,29,29,,,,60,,128,,128,,128,,,60,,60,,,,29',
'22,,,,22,,,,,22,,75,,,75,29,,,,,,,,,,,59,,,75,,59,,,,22,,,,,,128,,128',
',128,,,,,,22,22,,,,,,,59,59,59,128,,126,126,126,126,,126,,,75,,,,,,',
'128,60,75,75,,,59,29,,,,,,,,,59,59,59,59,,,,,,,60,,,,,,,,75,,,75,,,',
',,,,,,126,126,126,126,,,,,,75,,29,,59,126,,,,,29,,29,59,,59,,,29,,,',
',,,,75,29,,,,,60,,,,60,,,,60,60,29,,,29,,,,,,,29,,,,,60,,,,,29,,,,29',
'60,,,,,,,22,,,,,,,,75,60,60,,,,,,,,,,,29,29,,,29,59,,,,,29,29,,,,29',
'29,,,22,,,22,,,,,,,,59,,,,,,,,,,,,,22,,,29,,,,,,75,,,,,29,,,,,,,,,,',
'75,,,,22,,,,22,,,,,,22,22,,,75,22,22,,,,59,,,,59,,,,59,59,,,,,,,,,,',
',,,,29,59,,,,29,29,,,29,,59,,,,,,,,29,,,,,,,,59,59,,60,,,,,,29,,60,',
',,,,,,60,,,,,,,,33,,,,,33,,,,,29,,,,,,60,,22,60,,29,,22,,,,22,,,,,,33',
'33,33,,22,,,60,,,,,,,,,,,,29,,22,,29,,,33,,,29,,,,,,,33,33,33,,60,,',
'29,,,,,,22,,,,,,,29,,,,22,29,,,,29,,,,,,,,,,,,,,,33,,60,,,28,,,,33,28',
'33,,60,,22,,,59,,,22,,,,,59,,,,,,,,59,22,29,,28,,29,,,,,,,29,29,,,,',
'22,,,,22,59,,,59,,,28,29,,,,,29,,60,,,,,60,,,,60,59,,,,,,,29,,60,,,',
',33,,33,,,33,,,,,,33,,,,,22,,,59,,,28,22,22,33,,,,,,28,,28,,,,,,,60',
'22,,,,,22,,,,,60,,,,,,,,,,59,,,,,,,,,,,59,,,,,,,,,,,,,,60,33,,,,33,60',
',,33,33,,,,,,,,,,60,,,,,,33,,,,,,28,60,28,,33,28,60,,,,60,28,,59,,,',
',59,,33,33,59,,,28,,,,,,,59,,,,,,,,,,,,,,,,,,,,,,,,,,,,,60,,,,60,,,',
',,,60,60,,,,59,,,,,,,,,,28,59,,60,28,,,,60,28,,,,,,,,,,,,,,,,,,,,,,',
',,,28,59,,,,,,59,,,,,,,,,28,28,,,,59,,,,,,,,,,,,,59,,,,,59,,,,59,,,',
',,,,,,,,,33,,,,,,,,33,,,,,,,,33,,,,,,,,,,,,,,,,,,,,,,59,,33,,59,33,',
',,,,59,59,,,,,,,,,,,,,,33,,,59,,,,33,59,,,,,,,,,,,,,,,,,,,,,33,,,,33',
',,,,,33,33,,,,33,33,,,,,,,,,28,,,,,,,,,,,,,,,,,,,,,33,,,,,,,,,,,33,',
',,,,,,28,,,28,,,,,,,,,,,,,,,,,,,,,28,,,,,,,,,,,,,,,,,,,,,,,,,,,33,,28',
',,33,28,,,33,,,28,28,,,,28,28,33,,,,,,,,,,,,,,,,,33,,,,,,,,,,,,,,,35',
',,,,,,,,35,35,35,,33,,,,,,,,,35,35,33,35,,,,,,,,,,,,,,,35,35,,,,,,,',
',,,,,,,,,,33,,,,,,33,,28,,,,,28,,,,28,,,33,,,,,,,28,,,,,,33,,,,,33,',
',,33,,28,,,,,,,,,,,,,,,,,,,,,,,,,,,,28,,,,,,,,,,,28,,,,,,,,,,33,,,,33',
',,,,,,33,33,,,,,,,,,,,,,28,,,,33,,28,,,33,,,,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(3371, 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,   119,   106,   nil,    19,    78,    53,    35,    44,  -180,
   -31,  -514,  -530,  -524,   nil,  -248,     3,   241,   -44,  -183,
   180,    44,   959,  -145,    38,    20,   120,   -25,  1773,   887,
  -211,  -301,     2,  1655,   -19,  2400,   -37,  -305,   nil,    67,
   nil,   nil,    30,  -157,    19,  -213,  -409,   260,  -258,   nil,
     3,   134,    85,    72,   254,   nil,    -9,    37,  -235,  1281,
  1126,  -301,    64,   -71,    30,   nil,   nil,    35,    -2,  -232,
  -103,    38,   nil,   -21,   129,   730,   100,   -50,    60,  -236,
   123,    15,  -325,  -264,  -402,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,    84,    94,   -53,   nil,  -193,  -292,
  -641,  -345,    78,  -220,    12,  -507,    73,    85,  -195,    77,
   196,  -300,  -454,  -102,  -105,  -295,  -558,  -785,    51,  -601,
  -762,  -632,   nil,   -24,  -507,    -2,   364,  -626,   309,  -698,
  -409,  -559,   nil,  -666,  -750,  -803,  -807,  -377,  -626,  -171,
  -493,  -437,    -6,  -694,  -693,  -349,   -84,   nil,   -92,   -89,
   nil,   nil,  -440,  -707,  -467,  -595,   nil,   nil,   118,    23,
   125,   137,   140,  -257,  -187,   147,   147,   147,  -338,  -338,
  -327,  -291,   nil,   nil,   171,  -555,  -239,  -732,   147,  -545,
  -649,   nil,  -711,  -795,   nil,   nil,  -427 ]

racc_goto_default = [
   nil,   nil,   nil,     3,   nil,     4,   351,   297,   nil,   nil,
   531,   nil,   819,   nil,   294,   295,   nil,   nil,   nil,    11,
    12,    18,   230,   nil,   nil,    14,   nil,   416,   231,   325,
   nil,   nil,   564,   229,   451,    21,   nil,   nil,   346,    22,
    23,    24,   nil,   653,   nil,   nil,   nil,   314,   nil,    25,
   311,   430,    32,   nil,   nil,    34,    37,    36,   nil,   226,
   227,   363,   nil,   132,   438,   131,   134,    77,    78,   nil,
   421,    92,    44,    47,   262,   286,   nil,   788,   431,   nil,
   432,   443,   612,   494,   284,   270,    48,    49,    50,    51,
    52,    53,    54,    55,    56,   nil,   271,    62,   nil,   nil,
   nil,   nil,   nil,   nil,   546,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   810,   681,   nil,
   811,   954,   846,   669,   nil,   670,   nil,   nil,   671,   nil,
   673,   nil,   775,   nil,   nil,   nil,   679,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   442,   nil,   nil,
   632,   626,   nil,   nil,   nil,   nil,    76,    79,    80,   nil,
   nil,   nil,   nil,   nil,   574,   nil,   nil,   nil,   nil,   nil,
   nil,   875,   725,   668,   nil,   672,   883,   684,   686,   687,
   858,   690,   691,   859,   694,   697,   289 ]

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,
  2, 180, :_reduce_210,
  2, 180, :_reduce_211,
  3, 180, :_reduce_212,
  3, 180, :_reduce_213,
  3, 180, :_reduce_214,
  3, 180, :_reduce_215,
  3, 180, :_reduce_216,
  3, 180, :_reduce_217,
  4, 180, :_reduce_218,
  2, 180, :_reduce_219,
  2, 180, :_reduce_220,
  3, 180, :_reduce_221,
  3, 180, :_reduce_222,
  3, 180, :_reduce_223,
  3, 180, :_reduce_224,
  1, 180, :_reduce_none,
  3, 180, :_reduce_226,
  3, 180, :_reduce_227,
  3, 180, :_reduce_228,
  3, 180, :_reduce_229,
  3, 180, :_reduce_230,
  2, 180, :_reduce_231,
  2, 180, :_reduce_232,
  3, 180, :_reduce_233,
  3, 180, :_reduce_234,
  3, 180, :_reduce_235,
  3, 180, :_reduce_236,
  3, 180, :_reduce_237,
  6, 180, :_reduce_238,
  1, 180, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  3, 217, :_reduce_244,
  3, 217, :_reduce_245,
  1, 220, :_reduce_none,
  1, 221, :_reduce_none,
  2, 221, :_reduce_none,
  4, 221, :_reduce_249,
  2, 221, :_reduce_250,
  1, 215, :_reduce_none,
  3, 215, :_reduce_252,
  3, 226, :_reduce_253,
  0, 227, :_reduce_254,
  1, 227, :_reduce_none,
  0, 175, :_reduce_256,
  1, 175, :_reduce_none,
  2, 175, :_reduce_none,
  4, 175, :_reduce_259,
  2, 175, :_reduce_260,
  1, 196, :_reduce_261,
  2, 196, :_reduce_262,
  2, 196, :_reduce_263,
  4, 196, :_reduce_264,
  1, 196, :_reduce_265,
  0, 230, :_reduce_266,
  2, 189, :_reduce_267,
  2, 229, :_reduce_268,
  2, 228, :_reduce_269,
  0, 228, :_reduce_270,
  1, 223, :_reduce_271,
  2, 223, :_reduce_272,
  3, 223, :_reduce_273,
  4, 223, :_reduce_274,
  1, 169, :_reduce_275,
  1, 169, :_reduce_none,
  3, 168, :_reduce_277,
  4, 168, :_reduce_278,
  2, 168, :_reduce_279,
  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_290,
  0, 252, :_reduce_291,
  4, 218, :_reduce_292,
  0, 253, :_reduce_293,
  4, 218, :_reduce_294,
  0, 254, :_reduce_295,
  4, 218, :_reduce_296,
  3, 218, :_reduce_297,
  3, 218, :_reduce_298,
  2, 218, :_reduce_299,
  3, 218, :_reduce_300,
  3, 218, :_reduce_301,
  1, 218, :_reduce_302,
  4, 218, :_reduce_303,
  3, 218, :_reduce_304,
  1, 218, :_reduce_305,
  5, 218, :_reduce_306,
  4, 218, :_reduce_307,
  3, 218, :_reduce_308,
  2, 218, :_reduce_309,
  1, 218, :_reduce_none,
  2, 218, :_reduce_311,
  0, 255, :_reduce_312,
  3, 218, :_reduce_313,
  6, 218, :_reduce_314,
  6, 218, :_reduce_315,
  4, 218, :_reduce_316,
  4, 218, :_reduce_317,
  5, 218, :_reduce_318,
  4, 218, :_reduce_319,
  6, 218, :_reduce_320,
  0, 256, :_reduce_321,
  6, 218, :_reduce_322,
  0, 257, :_reduce_323,
  7, 218, :_reduce_324,
  0, 258, :_reduce_325,
  5, 218, :_reduce_326,
  0, 259, :_reduce_327,
  6, 218, :_reduce_328,
  0, 260, :_reduce_329,
  0, 261, :_reduce_330,
  9, 218, :_reduce_331,
  1, 218, :_reduce_332,
  1, 218, :_reduce_333,
  1, 218, :_reduce_334,
  1, 218, :_reduce_335,
  1, 174, :_reduce_none,
  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, 262, :_reduce_349,
  3, 262, :_reduce_350,
  1, 265, :_reduce_351,
  3, 265, :_reduce_352,
  1, 264, :_reduce_none,
  4, 264, :_reduce_354,
  6, 264, :_reduce_355,
  3, 264, :_reduce_356,
  5, 264, :_reduce_357,
  2, 264, :_reduce_358,
  4, 264, :_reduce_359,
  1, 264, :_reduce_360,
  3, 264, :_reduce_361,
  4, 266, :_reduce_362,
  2, 266, :_reduce_363,
  2, 266, :_reduce_364,
  1, 266, :_reduce_365,
  2, 271, :_reduce_366,
  0, 271, :_reduce_367,
  6, 272, :_reduce_368,
  8, 272, :_reduce_369,
  4, 272, :_reduce_370,
  6, 272, :_reduce_371,
  4, 272, :_reduce_372,
  2, 272, :_reduce_none,
  6, 272, :_reduce_374,
  2, 272, :_reduce_375,
  4, 272, :_reduce_376,
  6, 272, :_reduce_377,
  2, 272, :_reduce_378,
  4, 272, :_reduce_379,
  2, 272, :_reduce_380,
  4, 272, :_reduce_381,
  1, 272, :_reduce_none,
  0, 276, :_reduce_383,
  1, 276, :_reduce_384,
  3, 277, :_reduce_385,
  1, 277, :_reduce_386,
  4, 277, :_reduce_387,
  1, 278, :_reduce_388,
  4, 278, :_reduce_389,
  1, 279, :_reduce_390,
  3, 279, :_reduce_391,
  1, 280, :_reduce_392,
  1, 280, :_reduce_none,
  0, 284, :_reduce_394,
  0, 285, :_reduce_395,
  4, 243, :_reduce_396,
  4, 282, :_reduce_397,
  1, 282, :_reduce_398,
  0, 288, :_reduce_399,
  4, 283, :_reduce_400,
  0, 289, :_reduce_401,
  4, 283, :_reduce_402,
  0, 291, :_reduce_403,
  4, 287, :_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, 293, :_reduce_418,
  4, 241, :_reduce_419,
  0, 294, :_reduce_420,
  4, 241, :_reduce_421,
  0, 295, :_reduce_422,
  3, 191, :_reduce_423,
  0, 296, :_reduce_424,
  0, 297, :_reduce_425,
  4, 290, :_reduce_426,
  5, 246, :_reduce_427,
  1, 298, :_reduce_428,
  1, 298, :_reduce_none,
  6, 156, :_reduce_430,
  0, 156, :_reduce_431,
  1, 299, :_reduce_432,
  1, 299, :_reduce_none,
  1, 299, :_reduce_none,
  2, 300, :_reduce_435,
  1, 300, :_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, 302, :_reduce_443,
  2, 302, :_reduce_444,
  3, 303, :_reduce_445,
  1, 303, :_reduce_446,
  1, 303, :_reduce_447,
  3, 233, :_reduce_448,
  4, 234, :_reduce_449,
  3, 235, :_reduce_450,
  0, 307, :_reduce_451,
  3, 307, :_reduce_452,
  1, 308, :_reduce_453,
  2, 308, :_reduce_454,
  3, 237, :_reduce_455,
  0, 310, :_reduce_456,
  3, 310, :_reduce_457,
  3, 236, :_reduce_458,
  3, 238, :_reduce_459,
  0, 311, :_reduce_460,
  3, 311, :_reduce_461,
  0, 312, :_reduce_462,
  3, 312, :_reduce_463,
  0, 304, :_reduce_464,
  2, 304, :_reduce_465,
  0, 305, :_reduce_466,
  2, 305, :_reduce_467,
  0, 306, :_reduce_468,
  2, 306, :_reduce_469,
  1, 309, :_reduce_470,
  2, 309, :_reduce_471,
  0, 314, :_reduce_472,
  4, 309, :_reduce_473,
  1, 313, :_reduce_474,
  1, 313, :_reduce_475,
  1, 313, :_reduce_476,
  1, 313, :_reduce_none,
  1, 212, :_reduce_478,
  3, 213, :_reduce_479,
  1, 301, :_reduce_480,
  2, 301, :_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, 315, :_reduce_504,
  4, 248, :_reduce_505,
  0, 248, :_reduce_506,
  3, 250, :_reduce_507,
  0, 317, :_reduce_508,
  3, 250, :_reduce_509,
  4, 316, :_reduce_510,
  2, 316, :_reduce_511,
  2, 316, :_reduce_512,
  1, 316, :_reduce_513,
  2, 319, :_reduce_514,
  0, 319, :_reduce_515,
  6, 286, :_reduce_516,
  8, 286, :_reduce_517,
  4, 286, :_reduce_518,
  6, 286, :_reduce_519,
  4, 286, :_reduce_520,
  6, 286, :_reduce_521,
  2, 286, :_reduce_522,
  4, 286, :_reduce_523,
  6, 286, :_reduce_524,
  2, 286, :_reduce_525,
  4, 286, :_reduce_526,
  2, 286, :_reduce_527,
  4, 286, :_reduce_528,
  1, 286, :_reduce_529,
  0, 286, :_reduce_530,
  1, 281, :_reduce_531,
  1, 281, :_reduce_532,
  1, 281, :_reduce_533,
  1, 281, :_reduce_534,
  1, 263, :_reduce_none,
  1, 263, :_reduce_536,
  1, 321, :_reduce_537,
  1, 322, :_reduce_538,
  3, 322, :_reduce_539,
  1, 273, :_reduce_540,
  3, 273, :_reduce_541,
  1, 323, :_reduce_542,
  2, 324, :_reduce_543,
  1, 324, :_reduce_544,
  2, 325, :_reduce_545,
  1, 325, :_reduce_546,
  1, 267, :_reduce_547,
  3, 267, :_reduce_548,
  1, 318, :_reduce_549,
  3, 318, :_reduce_550,
  1, 326, :_reduce_none,
  1, 326, :_reduce_none,
  2, 268, :_reduce_553,
  1, 268, :_reduce_554,
  3, 327, :_reduce_555,
  3, 328, :_reduce_556,
  1, 274, :_reduce_557,
  3, 274, :_reduce_558,
  1, 320, :_reduce_559,
  3, 320, :_reduce_560,
  1, 329, :_reduce_none,
  1, 329, :_reduce_none,
  2, 275, :_reduce_563,
  1, 275, :_reduce_564,
  1, 330, :_reduce_none,
  1, 330, :_reduce_none,
  2, 270, :_reduce_567,
  2, 269, :_reduce_568,
  0, 269, :_reduce_569,
  1, 251, :_reduce_none,
  3, 251, :_reduce_571,
  0, 240, :_reduce_572,
  2, 240, :_reduce_none,
  1, 225, :_reduce_574,
  3, 225, :_reduce_575,
  3, 331, :_reduce_576,
  2, 331, :_reduce_577,
  4, 331, :_reduce_578,
  2, 331, :_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, 292, :_reduce_none,
  1, 292, :_reduce_none,
  1, 292, :_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, 249, :_reduce_603,
  1, 249, :_reduce_none,
  1, 151, :_reduce_none,
  2, 151, :_reduce_none,
  0, 222, :_reduce_607 ]

racc_reduce_n = 608

racc_shift_n = 1033

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",
  "superclass",
  "term",
  "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 :error, :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)
                      @context.push(:block)
                    
    result
end

def _reduce_60(val, _values, result)
                      result = [ val[0], *val[2], val[3] ]
                      @context.pop
                    
    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.range_inclusive(val[0], val[1], nil)
                    
    result
end

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

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

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

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

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

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

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

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

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

# reduce 225 omitted

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.binary_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.match_op(val[0], val[1], val[2])
                    
    result
end

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

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

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

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

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

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

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

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

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

# reduce 239 omitted

# reduce 240 omitted

# reduce 241 omitted

# reduce 242 omitted

# reduce 243 omitted

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

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

# reduce 246 omitted

# reduce 247 omitted

# reduce 248 omitted

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

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

# reduce 251 omitted

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

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

# reduce 255 omitted

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

# reduce 257 omitted

# reduce 258 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 276 omitted

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

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

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

# reduce 280 omitted

# reduce 281 omitted

# reduce 282 omitted

# reduce 283 omitted

# reduce 284 omitted

# reduce 285 omitted

# reduce 286 omitted

# reduce 287 omitted

# reduce 288 omitted

# reduce 289 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

def _reduce_309(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 310 omitted

def _reduce_311(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_312(val, _values, result)
                      @context.push(:lambda)
                    
    result
end

def _reduce_313(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)
                    
    result
end

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

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

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

def _reduce_321(val, _values, result)
                      @static_env.extend_static
                      @lexer.cmdarg.push(false)
                      @lexer.cond.push(false)
                      @context.push(:class)
                    
    result
end

def _reduce_322(val, _values, result)
                      unless @context.class_definition_allowed?
                        diagnostic :error, :class_in_def, nil, val[0]
                      end

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

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

def _reduce_323(val, _values, result)
                      @static_env.extend_static
                      @lexer.cmdarg.push(false)
                      @lexer.cond.push(false)
                      @context.push(:sclass)
                    
    result
end

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

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

def _reduce_325(val, _values, result)
                      @static_env.extend_static
                      @lexer.cmdarg.push(false)
                      @context.push(:module)
                    
    result
end

def _reduce_326(val, _values, result)
                      unless @context.module_definition_allowed?
                        diagnostic :error, :module_in_def, nil, val[0]
                      end

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

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

def _reduce_327(val, _values, result)
                      @static_env.extend_static
                      @lexer.cmdarg.push(false)
                      @lexer.cond.push(false)
                      @context.push(:def)
                    
    result
end

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

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

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

def _reduce_330(val, _values, result)
                      @static_env.extend_static
                      @lexer.cmdarg.push(false)
                      @lexer.cond.push(false)
                      @context.push(:defs)
                    
    result
end

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

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

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

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

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

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

# reduce 336 omitted

def _reduce_337(val, _values, result)
                      if @context.in_class?
                        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)
                      @context.pop
                      @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)
                      @context.push(:lambda)
                    
    result
end

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

def _reduce_401(val, _values, result)
                      @context.push(:lambda)
                    
    result
end

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

def _reduce_403(val, _values, result)
                      @context.push(:block)
                    
    result
end

def _reduce_404(val, _values, result)
                      result = [ val[0], *val[2], val[3] ]
                      @context.pop
                    
    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)
                      @context.push(:block)
                    
    result
end

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

def _reduce_420(val, _values, result)
                      @context.push(:block)
                    
    result
end

def _reduce_421(val, _values, result)
                      result = [ val[0], *val[2], val[3] ]
                      @context.pop
                    
    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 = @lexer.in_kwarg
                      @lexer.in_kwarg = true
                    
    result
end

def _reduce_509(val, _values, result)
                      @lexer.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 Ruby26
  end   # module Parser
