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

require 'racc/parser.rb'


require 'parser'

module Parser
  class Ruby25 < Parser::Base


  def version
    25
  end

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

clist = [
'-585,608,547,212,213,-109,-107,-585,-585,-585,222,547,-585,-585,-585',
'777,-585,274,547,870,243,-88,547,588,777,-585,-585,-585,-585,-102,560',
'-74,983,590,561,-110,-585,-585,-104,-585,-585,-585,-585,-585,-105,-103',
'-107,-109,-110,1025,776,223,240,993,212,213,242,241,-105,776,212,213',
'993,-104,-103,-105,-585,-585,-585,-585,-585,-585,-585,-585,-585,-585',
'-585,-585,-585,-585,115,-108,-585,-585,-585,114,765,-585,547,587,-585',
'-102,-106,-585,-585,993,-585,223,-585,589,-585,111,-585,-585,273,-585',
'-585,-585,-585,-585,-296,-585,-585,-585,-100,-98,703,-296,-296,-296',
'115,-106,938,-296,-296,114,-296,-585,869,115,-585,-585,-585,-585,114',
'-585,115,-585,-93,823,115,114,-585,-106,-101,114,-296,-296,223,-296',
'-296,-296,-296,-296,223,274,-104,-581,-582,-108,-96,-104,-105,-103,-107',
'-109,-110,-105,-103,-107,-109,-110,-95,-94,-96,983,-296,-296,-296,-296',
'-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,274,220,-296,-296',
'-296,218,613,606,-581,-108,-296,-97,267,-296,-108,993,115,-95,-296,-102',
'-296,114,-296,-296,-102,-296,-296,-296,-296,-296,115,-296,-585,-296',
'-582,114,-96,456,750,-585,-585,-585,93,94,607,-585,-585,-296,-585,-106',
'-296,-296,273,-296,-106,-296,-498,-585,-110,212,213,115,-296,-108,269',
'-579,114,274,-585,-585,219,-585,-585,-585,-585,-585,-96,218,-99,-96',
'789,115,554,-95,967,575,114,273,223,-96,-97,93,94,565,-110,-104,212',
'213,-585,-585,-585,-585,-585,-585,-585,-585,-585,-585,-585,-585,-585',
'-585,602,-102,-585,-585,-585,-487,614,-499,95,96,-585,-95,-487,-585',
'-95,-585,575,-579,-585,269,-585,-487,-585,-585,-95,-585,-585,-585,-585',
'-585,219,-585,-585,-585,-98,820,789,577,576,573,-579,115,273,-581,-97',
'269,114,-585,575,598,-585,-585,-585,-97,641,-585,597,95,96,-585,-585',
'-585,-585,-106,-103,-585,-585,-585,-585,680,-487,677,676,675,-585,678',
'842,-585,618,-581,577,576,575,-585,-97,820,789,-97,-585,-585,735,-585',
'-585,-585,-585,-585,115,-97,115,-269,-98,114,-585,114,680,595,677,676',
'675,218,678,592,577,576,573,609,267,243,-585,-585,-585,-585,-585,-585',
'-585,-585,-585,-585,-585,-585,-585,-585,-585,-104,-585,-585,-585,243',
'614,243,-98,243,-585,-98,575,-585,577,576,575,524,-585,981,-585,-98',
'-585,-585,737,-585,-585,-585,-585,-585,-296,-585,-585,-585,763,223,750',
'-296,-296,-296,-107,223,219,-296,-296,537,-296,-585,539,223,-585,-585',
'997,-585,888,-585,537,537,-578,539,536,764,-585,-106,-100,223,-296,-296',
'220,-296,-296,-296,-296,-296,-109,-88,577,576,591,218,577,576,582,-95',
'537,-491,563,539,644,524,223,-105,-491,-104,530,565,-296,-296,-296,-296',
'-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-484,655,-296,-296',
'-296,-101,613,-484,-107,660,-296,575,-578,-296,575,-110,-484,575,-296',
'661,-296,223,-296,-296,663,-296,-296,-296,-296,-296,-484,-296,699,-296',
'219,-578,-109,-484,-484,-484,-491,704,-484,-484,-484,-297,-484,-296',
'260,261,-296,-296,-297,-99,-484,-296,-484,-484,-484,212,213,-297,-296',
'-108,705,-484,-484,-484,554,-484,-484,-484,-484,-484,707,577,576,586',
'577,576,578,577,576,580,259,258,403,-490,-489,696,695,405,404,567,-490',
'-489,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484',
'-484,-297,218,-484,-484,-484,218,-484,-484,557,559,-484,558,453,-484',
'-484,724,-484,555,-484,734,-484,454,-484,-484,738,-484,-484,-484,-484',
'-484,-492,-484,-487,-484,739,395,-270,-492,554,-487,-487,-487,-490,-489',
'-487,-487,-487,-484,-487,499,-484,-484,-484,-484,751,-484,-487,-484',
'-487,-487,-487,541,-484,-484,81,540,219,486,-487,-487,219,-487,-487',
'-487,-487,-487,82,-334,223,486,243,218,-495,-493,-334,-494,83,223,527',
'-495,-493,768,-494,-334,769,-492,263,454,-487,-487,-487,-487,-487,-487',
'-487,-487,-487,-487,-487,-487,-487,-487,774,-297,-487,-487,-487,218',
'-487,-487,-297,779,-487,497,967,-487,-487,499,-487,-297,-487,525,-487',
'565,-487,-487,521,-487,-487,-487,-487,-487,-334,-487,-296,-487,219,-495',
'-493,655,-494,-296,-296,-296,223,269,-296,-296,-296,-487,-296,269,-487',
'-487,-487,-487,269,-487,655,-487,-296,-296,-296,223,-487,-487,243,278',
'-297,789,-296,-296,219,-296,-296,-296,-296,-296,609,218,797,218,800',
'-287,-487,-484,972,801,217,803,-287,-487,-484,805,807,970,518,215,815',
'-287,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296',
'-296,816,817,-296,-296,-296,789,766,-296,218,822,-296,-98,608,-296,-296',
'601,-296,223,-296,511,-296,-107,-296,-296,599,-296,-296,-296,-296,-296',
'219,-296,219,-296,-287,-487,-484,510,680,223,677,676,675,-73,678,-499',
'223,-296,124,-498,-296,-296,-296,-296,831,-296,499,-296,-586,-96,497',
'-271,-296,-108,495,-586,-586,-586,685,-105,-586,-586,-586,219,-586,809',
'223,486,688,841,222,243,458,-586,-586,-586,-586,964,457,677,676,675',
'-94,678,-586,-586,-93,-586,-586,-586,-586,-586,-103,-296,455,845,-102',
'218,655,862,-296,696,695,240,517,-582,689,242,241,-296,238,239,-269',
'515,-586,-586,-586,-586,-586,-586,-586,-586,-586,-586,-586,-586,-586',
'-586,866,-497,-586,-586,-586,223,886,-586,-497,223,-586,890,406,-586',
'-586,892,-586,-497,-586,393,-586,895,-586,-586,896,-586,-586,-586,-586',
'-586,-296,-586,-586,-586,219,899,223,903,-496,-272,680,223,677,676,675',
'-496,678,-586,905,800,-586,-586,-586,-586,-496,-586,-587,-586,908,910',
'912,685,-586,-587,-587,-587,-497,914,-587,-587,-587,688,-587,223,916',
'243,917,809,323,930,800,-587,-587,-587,-587,964,812,677,676,675,932',
'678,-587,-587,934,-587,-587,-587,-587,-587,936,-296,938,-496,696,695',
'938,240,-296,689,223,242,241,-582,238,239,944,-296,322,950,724,961,-587',
'-587,-587,-587,-587,-587,-587,-587,-587,-587,-587,-587,-587,-587,968',
'263,-587,-587,-587,973,983,-587,214,800,-587,987,243,-587,-587,989,-587',
'991,-587,993,-587,993,-587,-587,660,-587,-587,-587,-587,-587,-296,-587',
'-587,-587,680,211,677,676,675,680,678,677,676,675,240,678,210,-587,242',
'241,-587,-587,-587,-587,1006,-587,-288,-587,1007,1008,938,938,-587,-288',
'-288,-288,938,1013,-288,-288,-288,809,-288,243,983,1016,809,-582,-581',
'223,812,209,-288,-288,-288,943,124,,,253,254,,-288,-288,,-288,-288,-288',
'-288,-288,680,,677,676,675,240,678,246,,242,241,,238,239,,,244,,245',
',,,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288',
'-288,,809,-288,-288,-288,,,-288,,,-288,,,-288,-288,,-288,,-288,,-288',
',-288,-288,,-288,-288,-288,-288,-288,,-288,,-288,729,730,,,731,109,110',
',680,,677,676,675,-288,678,,-288,-288,-288,-288,,-288,-252,-288,,,,',
'-288,-252,-252,-252,,,-252,-252,-252,680,-252,677,676,675,685,678,,809',
',-252,-252,,,,688,,,243,,,-252,-252,,-252,-252,-252,-252,-252,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,-252,245,-414,,,,,-252,,-414,-414,-414',
'269,-252,-414,-414,-414,223,-414,680,,677,676,675,,678,,-414,-414,-414',
'118,119,120,121,122,-252,-252,,-414,-414,,-414,-414,-414,-414,-414,',
',,,-252,,,-252,,,809,680,-252,677,676,675,,678,,-252,,,-414,-414,-414',
'-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,,,-414,-414,-414',
',,-414,,269,-414,,809,-414,-414,,-414,,-414,,-414,,-414,-414,,-414,-414',
'-414,-414,-414,-303,-414,-414,-414,,,,-303,-303,-303,,,-303,-303,-303',
',-303,-414,243,,-414,-414,,-414,,-414,-303,-303,,,,,-414,,253,254,-303',
'-303,,-303,-303,-303,-303,-303,118,119,120,121,122,,240,,246,,242,241',
',238,239,,,,,,,,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303',
'-303,-303,-303,,,-303,-303,-303,,,-303,,278,-303,,,-303,-303,,-303,',
'-303,,-303,,-303,-303,,-303,-303,-303,-303,-303,,-303,-252,-303,,,,',
',-252,-252,-252,,,-252,-252,-252,-303,-252,243,-303,-303,,-303,,-303',
',-252,-252,-252,,,-303,,,253,254,,-252,-252,,-252,-252,-252,-252,-252',
',,,,,240,,,,242,241,,238,239,,,,,,,,,-252,-252,-252,-252,-252,-252,-252',
'-252,-252,-252,-252,-252,-252,-252,,,-252,-252,-252,,,-252,,269,-252',
',,-252,-252,,-252,,-252,,-252,,-252,-252,,-252,-252,-252,-252,-252,',
'-252,-252,-252,,,,,,,,,,,,,,-252,,,-252,-252,,-252,,-252,296,70,71,72',
'9,58,-252,,,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,,-244',
',,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,,-606,-606',
',,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,-606,-606,-606,-606,260,261,,,-606',
'-606,,,,,,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,-606,-606,-606,-606,260,261',
',,-606,-606,,,,,,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,-606,-606,-606,-606,260',
'261,,,-606,-606,,,,,,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,-606,-606,-606,-606',
'260,261,,,-606,-606,,,,,,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,,-606,-606,,,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,-606,-606,-606,-606,260,261,,,-606,-606,,,,,,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,-606,-606,-606,-606,260,261,,,-606,-606,,,,,,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,  -606,    -1,  -592,    -4,  -606,    -7,  -606,  -606,  -606,
  -606,   -30,  -606,  -606,   -34,  -606,  -606,  -287,   -46,  -594,
  -606,   -51,   -55,   -56,   -57,   -61,  -264,  -264,  -264,  -300,
  -330,  -331,   -73,   -12,   -77,   -85,   -87,  -606,  -496,  -497,
  -606,  -606,  -606,  -606,  -223,  -606,  -594,  -237,  -278,  -279,
  -280,  -281,  -282,  -283,  -284,  -285,  -286,  -580,  -289,  -293,
  -605,  -570,  -308,  -310,  -606,  -606,   -53,   -53,  -592,  -606,
  -606,  -606,  -606,  -332,  -333,  -335,  -437,  -438,  -439,  -440,
  -441,  -462,  -444,  -445,  -464,  -466,  -449,  -454,  -458,  -460,
  -476,  -462,  -478,  -480,  -481,  -482,  -483,  -578,  -485,  -486,
  -579,  -488,  -489,  -490,  -491,  -492,  -493,  -494,  -495,  -500,
  -501,  -606,    -2,  -593,  -601,  -602,  -603,    -6,  -606,  -606,
  -606,  -606,  -606,    -8,    -3,   -18,  -606,  -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,
  -606,  -606,  -606,  -606,  -606,  -254,  -606,  -606,  -590,  -591,
  -606,  -606,  -594,  -595,   -50,  -606,  -496,  -497,  -606,  -287,
  -606,  -606,  -229,  -606,   -12,  -606,  -606,  -606,  -606,  -606,
  -606,  -606,  -606,  -606,  -606,  -606,  -606,  -606,  -606,  -606,
  -606,  -606,  -606,  -606,  -606,  -606,  -606,  -606,  -238,  -239,
  -240,  -241,  -606,  -401,  -403,  -606,  -588,  -589,   -62,  -254,
  -606,  -307,  -407,  -416,  -418,   -68,  -413,   -69,  -594,   -70,
  -244,  -259,  -268,  -268,  -263,  -606,  -269,  -606,  -462,  -572,
  -606,  -606,   -71,   -72,  -592,   -13,  -606,   -16,  -606,   -75,
   -12,  -594,  -606,   -78,   -81,   -12,   -93,   -94,  -606,  -606,
  -101,  -300,  -303,  -594,  -606,  -330,  -331,  -334,  -414,  -606,
   -83,  -606,   -89,  -297,  -479,  -606,  -217,  -218,  -606,  -230,
  -606,   -12,  -291,  -594,  -245,  -598,  -598,  -606,  -606,  -598,
  -606,  -309,  -392,   -52,  -606,  -606,  -606,   -12,   -12,  -592,
  -606,  -593,  -496,  -497,  -606,  -606,  -287,  -606,  -345,  -346,
  -111,  -112,  -606,  -114,  -606,  -287,  -504,  -606,  -496,  -497,
  -323,  -116,  -117,  -158,  -159,  -160,  -176,  -181,  -188,  -191,
  -325,  -606,  -568,  -606,  -442,  -606,  -606,  -606,  -606,  -606,
  -606,  -606,  -606,  1033,    -5,  -604,   -24,   -25,   -26,   -27,
   -28,  -606,  -606,   -20,   -21,   -22,  -126,  -606,   -31,   -33,
  -274,  -606,  -606,  -273,   -32,  -606,   -35,  -606,  -287,   -43,
   -45,  -199,  -249,  -269,   -47,   -48,   -36,  -200,  -249,  -594,
  -255,  -268,  -268,  -581,  -582,  -264,  -411,  -583,  -584,  -582,
  -581,  -264,  -410,  -412,  -583,  -584,   -42,  -207,   -49,  -594,
  -306,  -606,  -606,  -606,  -254,  -297,  -606,  -606,  -606,  -208,
  -209,  -210,  -211,  -212,  -213,  -214,  -215,  -219,  -220,  -221,
  -222,  -224,  -225,  -226,  -227,  -228,  -231,  -232,  -233,  -234,
  -594,  -242,  -422,  -264,  -581,  -582,   -59,   -63,  -594,  -265,
  -420,  -422,  -594,  -302,  -260,  -606,  -261,  -606,  -266,  -606,
  -270,  -606,  -575,  -577,   -11,  -593,   -15,   -17,  -594,   -74,
  -295,   -90,   -79,  -606,  -594,  -254,  -606,  -606,  -100,  -606,
  -479,  -606,   -86,   -91,  -606,  -606,  -606,  -606,  -243,  -235,
  -606,  -429,  -606,  -594,  -606,  -246,  -600,  -599,  -248,  -600,
  -298,  -299,  -571,  -311,  -528,   -12,  -336,  -337,   -12,  -606,
  -606,  -606,  -606,  -606,  -606,  -254,  -606,  -606,  -297,   -53,
  -111,  -112,  -113,  -606,  -606,  -254,  -319,  -502,  -606,   -12,
  -506,  -327,  -594,  -443,  -463,  -468,  -606,  -470,  -446,  -465,
  -606,  -467,  -448,  -606,  -451,  -606,  -453,  -456,  -606,  -457,
  -606,  -477,    -9,   -19,  -606,   -29,  -277,  -606,  -606,  -254,
  -606,  -606,  -606,  -606,  -415,  -606,  -256,  -258,  -606,  -606,
   -64,  -253,  -408,  -606,  -606,   -66,  -409,  -305,  -596,  -581,
  -582,  -581,  -582,  -594,  -606,  -606,  -423,   -58,  -404,  -420,
  -251,  -606,  -381,  -606,  -301,  -268,  -267,  -271,  -606,  -573,
  -574,  -606,   -14,   -76,  -606,   -82,   -88,  -594,  -581,  -582,
  -252,  -585,   -99,  -606,   -84,  -606,  -206,  -216,  -594,  -605,
  -605,  -290,  -292,  -294,  -598,  -393,  -528,  -396,  -567,  -567,
  -511,  -513,  -513,  -513,  -527,  -529,  -530,  -531,  -532,  -533,
  -534,  -535,  -536,  -606,  -538,  -540,  -542,  -547,  -549,  -550,
  -552,  -557,  -559,  -560,  -562,  -563,  -564,  -606,  -605,  -338,
  -605,   -54,  -339,  -340,  -314,  -315,  -606,  -317,  -606,  -594,
  -581,  -582,  -585,  -296,   -12,  -111,  -112,  -115,  -594,   -12,
  -606,  -321,  -606,   -12,  -528,  -528,  -606,  -569,  -469,  -472,
  -473,  -474,  -475,   -12,  -447,  -450,  -452,  -455,  -459,  -461,
  -127,  -275,  -606,  -594,  -581,  -582,  -582,  -581,   -44,  -250,
  -606,  -597,  -268,   -38,  -202,   -39,  -203,   -65,   -40,  -205,
   -41,  -204,   -67,  -606,  -606,  -606,  -606,  -415,  -606,  -402,
  -381,  -406,  -405,  -606,  -417,  -382,  -594,  -384,   -12,  -419,
  -262,  -272,  -576,   -80,  -415,   -92,  -304,  -605,  -343,   -12,
  -430,  -605,  -431,  -432,  -247,  -606,  -594,  -606,  -509,  -510,
  -606,  -606,  -520,  -606,  -523,  -606,  -525,  -606,  -347,  -606,
  -349,  -351,  -358,  -594,  -541,  -551,  -561,  -565,  -606,  -341,
  -606,  -606,  -316,  -606,   -12,  -415,  -606,  -415,  -606,  -606,
   -12,  -324,  -606,  -594,  -606,  -328,  -606,  -276,  -415,   -37,
  -201,  -257,  -606,  -236,   -12,   -60,  -567,  -567,  -363,  -365,
  -365,  -365,  -380,  -606,  -594,  -386,  -536,  -544,  -545,  -555,
  -421,   -10,   -12,  -436,  -344,  -606,  -606,  -434,  -394,  -397,
  -399,  -606,  -567,  -548,  -566,  -512,  -513,  -513,  -539,  -513,
  -513,  -558,  -513,  -536,  -553,  -594,  -606,  -356,  -606,  -537,
  -312,  -606,  -313,  -271,  -605,  -318,  -320,  -503,  -606,  -326,
  -505,  -507,  -506,  -471,  -424,  -606,  -361,  -362,  -371,  -373,
  -606,  -376,  -606,  -378,  -383,  -606,  -606,  -606,  -543,  -606,
  -435,   -12,  -496,  -497,  -606,  -606,  -287,  -433,   -12,   -12,
  -395,  -508,  -606,  -516,  -606,  -518,  -606,  -521,  -606,  -524,
  -526,  -348,  -350,  -354,  -606,  -359,   -12,  -425,  -426,  -427,
  -322,   -12,  -567,  -546,  -364,  -365,  -365,  -365,  -365,  -556,
  -365,  -385,  -594,  -388,  -390,  -391,  -554,  -606,  -297,  -429,
  -254,  -606,  -606,  -297,  -606,  -606,  -513,  -513,  -513,  -513,
  -352,  -606,  -357,  -606,  -605,  -606,  -360,  -606,  -368,  -606,
  -370,  -606,  -374,  -606,  -377,  -379,  -387,  -606,  -296,  -585,
  -428,  -594,  -581,  -582,  -585,  -296,  -398,  -400,  -606,  -514,
  -517,  -519,  -522,  -606,  -355,  -342,  -329,  -365,  -365,  -365,
  -365,  -389,  -415,  -513,  -353,  -606,  -366,  -369,  -372,  -375,
  -515,  -365,  -367 ]

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,413,414,487,723,29,29,29,6,29',
'265,130,130,6,272,276,133,133,562,347,348,317,317,317,639,545,548,532',
'123,113,818,488,435,441,324,29,636,224,636,320,29,29,535,538,29,385',
'542,396,397,398,399,850,813,116,778,392,878,343,343,667,350,343,282',
'282,282,881,639,332,631,281,281,281,942,965,117,130,959,674,963,787',
'1,483,333,625,427,579,581,584,584,29,447,301,633,335,29,29,29,29,29',
'522,29,426,2,299,268,275,277,446,533,945,331,343,343,343,343,583,585',
'798,799,604,821,6,852,853,381,283,283,283,366,370,400,566,6,357,639',
'543,279,292,293,854,338,496,382,871,628,337,962,636,636,665,868,407',
'544,959,965,795,336,339,328,1021,594,928,929,878,482,982,490,491,770',
'942,947,791,865,384,386,387,302,388,885,629,706,796,394,955,389,29,29',
'29,29,29,29,29,844,878,881,390,29,29,29,674,452,915,1014,391,436,424',
'425,773,728,808,29,733,720,701,448,449,623,402,876,717,445,409,359,207',
'873,953,401,408,419,642,342,419,861,26,1024,719,830,419,26,833,834,569',
'302,412,412,29,29,302,878,570,726,902,501,26,29,281,317,674,674,,,,26',
'26,26,722,26,519,435,441,,420,29,317,420,549,29,647,682,116,420,29,736',
'516,736,523,504,534,,550,551,645,26,,,906,907,26,26,654,526,26,272,282',
'506,,276,29,512,281,281,282,520,767,948,,1015,709,281,507,505,931,29',
'29,29,,447,718,427,556,,,650,,116,808,951,784,887,343,,552,650,29,780',
'757,26,,,,762,26,26,26,26,26,266,26,508,29,568,743,,514,,,283,571,639',
',299,794,650,135,283,299,572,489,593,,650,,636,605,,492,,,,824,,,600',
',656,,,,,825,682,986,,,,130,,,827,,133,,808,,808,828,435,441,,832,,',
'783,611,,,,,1000,616,29,,,838,624,,,851,,,436,,26,26,26,26,26,26,26',
'450,,792,,26,26,26,445,,682,682,,780,877,,879,317,,26,,980,808,611,',
'317,,,,523,754,756,,29,,759,761,523,,698,,,700,29,,,281,753,755,,,,758',
'760,26,26,436,493,29,808,,808,856,26,714,610,436,,,,,615,445,29,949',
'658,29,,898,,509,26,445,29,,26,702,682,,682,26,808,904,29,,,436,29,921',
',772,,,,436,721,,281,,,,,445,627,,,26,135,445,,,956,740,957,946,,29',
'29,,605,29,26,26,26,,793,29,29,,708,436,29,29,635,,976,771,281,317,130',
',,26,605,133,,445,281,,317,523,,748,,,,,419,26,,,785,840,,,,,419,419',
',835,,419,419,664,754,756,761,759,839,611,281,,616,856,,856,,,985,1017',
'829,,,,,,,826,,420,,,847,,605,,,682,,420,420,,,605,420,420,836,617,',
',,,,872,,,,,26,,,29,1022,,412,,29,29,605,,29,,,752,,,,,,,29,863,,840',
'343,867,630,,,,634,860,856,,848,,,29,,,130,855,864,1001,,,643,,,26,',
',646,,,874,,,874,26,891,855,,,,29,,,,,,662,,,26,340,29,894,419,,,,,',
',,,,,26,,,26,,,,,,650,26,,952,,,847,,847,29,847,26,727,29,,26,,920,',
'29,,855,317,420,,,343,897,802,804,806,317,901,29,,,,,,,,,,,26,26,,,26',
',,29,,,26,26,,,,26,26,,,,,874,,,848,,848,,848,16,,,969,,16,,,,317,974',
'975,847,,847,,847,,847,,225,,,,,786,,,984,225,225,225,,16,308,308,857',
'29,,971,,,,,29,29,,,,,847,,,410,423,,996,,,16,,,29,,225,225,,29,225',
'354,364,364,13,,848,,848,13,848,,848,,,,,,29,26,,,,,26,26,,605,26,,',
'436,,,,,,13,26,,,,445,,848,16,,445,,,225,225,225,225,16,26,16,,,,498',
',500,13,,502,503,,,,,,,358,,,,,,,,,281,26,,,,,,,,,933,935,26,937,939',
'857,940,,857,,857,,857,,,,,,,,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,23,23,45,105,50,50,50,7,50,42,64,64,7,81,81,67,67,61',
'36,36,73,73,73,186,99,99,9,8,6,100,30,43,43,71,50,84,21,84,57,50,50',
'79,79,50,159,79,18,18,18,18,129,119,104,131,159,177,25,25,141,4,25,78',
'78,78,182,186,7,46,39,39,39,117,136,5,64,183,171,135,12,1,43,109,145',
'70,164,164,164,164,50,70,53,145,78,50,50,50,50,50,58,50,27,2,52,44,44',
'44,27,108,120,107,25,25,25,25,163,163,124,124,31,12,7,121,133,106,80',
'80,80,62,62,7,103,7,102,186,98,51,51,51,127,95,83,94,133,82,76,134,84',
'84,137,138,10,139,183,136,140,80,80,74,135,69,143,144,177,146,120,148',
'149,152,117,153,154,155,158,160,161,10,162,119,48,101,141,5,129,165',
'50,50,50,50,50,50,50,131,177,182,166,50,50,50,171,32,133,120,167,81',
'25,25,46,168,118,50,169,170,37,25,25,30,26,175,61,64,24,20,17,179,180',
'2,21,21,15,110,21,13,47,120,111,112,21,47,141,141,113,10,78,78,50,50',
'10,177,114,115,116,159,47,50,39,73,171,171,,,,47,47,47,9,47,34,43,43',
',19,50,73,19,18,50,30,176,104,19,50,164,32,164,56,4,34,,10,10,58,47',
',,124,124,47,47,58,32,47,81,78,7,,81,50,57,39,39,78,71,31,12,,100,30',
'39,8,6,124,50,50,50,,70,30,70,32,,,43,,104,118,105,31,118,25,,4,43,50',
'83,45,47,,,,45,47,47,47,47,47,32,47,53,50,25,30,,53,,,80,42,186,,52',
'79,43,68,80,52,25,51,16,,43,,84,34,,51,,,,99,,,32,,70,,,,,31,176,124',
',,,64,,,31,,67,,118,,118,9,43,43,,9,,,58,81,,,,,11,81,50,,,31,34,,,130',
',,81,,47,47,47,47,47,47,47,54,,23,,47,47,47,64,,176,176,,83,130,,130',
'73,,47,,118,118,81,,73,,,,56,70,70,,50,,70,70,56,,10,,,10,50,,,39,27',
'27,,,,27,27,47,47,81,54,50,118,,118,176,47,36,44,81,,,,,44,64,50,101',
'25,50,,9,,54,47,64,50,,47,104,176,,176,47,118,9,50,,,81,50,99,,96,,',
',81,104,,39,,,,,64,44,,,47,68,64,,,130,16,130,99,,50,50,,34,50,47,47',
'47,,77,50,50,,78,81,50,50,80,,130,142,39,73,64,,,47,34,67,,64,39,,73',
'56,,7,,,,,21,47,,,56,70,,,,,21,21,,63,,21,21,80,70,70,70,70,27,81,39',
',81,176,,176,,,9,130,18,,,,,,,10,,19,,,123,,34,,,176,,19,19,,,34,19',
'19,10,54,,,,,,123,,,,,47,,,50,31,,78,,50,50,34,,50,,,80,,,,,,,50,77',
',70,25,77,54,,,,54,10,176,,125,,,50,,,64,34,10,30,,,54,,,47,,,54,,,125',
',,125,47,18,34,,,,50,,,,,,54,,,47,75,50,10,21,,,,,,,,,,,47,,,47,,,,',
',43,47,,123,,,123,,123,50,123,47,54,50,,47,,10,,50,,34,73,19,,,25,104',
'174,174,174,73,104,50,,,,,,,,,,,47,47,,,47,,,50,,,47,47,,,,47,47,,,',
',125,,,125,,125,,125,29,,,10,,29,,,,73,10,10,123,,123,,123,,123,,29',
',,,,54,,,10,29,29,29,,29,29,29,178,50,,32,,,,,50,50,,,,,123,,,75,75',
',34,,,29,,,50,,29,29,,50,29,29,29,29,22,,125,,125,22,125,,125,,,,,,50',
'47,,,,,47,47,,34,47,,,81,,,,,,22,47,,,,64,,125,29,,64,,,29,29,29,29',
'29,47,29,,,,75,,75,22,,75,75,,,,,,,22,,,,,,,,,39,47,,,,,,,,,174,174',
'47,174,174,178,174,,178,,178,,178,,,,,,,,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,   107,   129,   nil,    19,    96,    53,    35,    48,  -277,
   -31,  -514,  -553,  -528,   nil,  -249,     3,   241,   -44,    87,
   180,    44,   959,  -182,    38,    20,   119,   -86,  1773,   887,
  -211,  -283,     2,  1655,   -19,  2400,   -20,  -309,   nil,    67,
   nil,   nil,    13,  -157,   105,  -238,  -395,   260,  -280,   nil,
     3,   134,    97,    85,   254,   nil,    -9,    31,  -195,  1281,
  1126,  -317,    85,   -71,    30,   nil,   nil,    35,    -2,  -219,
  -103,    20,   nil,   -21,   141,   730,   112,   -50,    60,  -266,
   123,    15,  -312,  -264,  -432,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,    97,   106,   -53,   nil,  -180,  -292,
  -641,  -345,    91,  -208,    12,  -539,    79,    79,  -197,    50,
   194,  -304,  -458,  -102,  -104,  -294,  -557,  -787,  -447,  -604,
  -752,  -627,   nil,   -88,  -524,   -26,   364,  -610,   309,  -698,
  -312,  -551,   nil,  -626,  -743,  -811,  -816,  -368,  -618,  -163,
  -483,  -458,    -6,  -681,  -681,  -372,   -72,   nil,   -80,   -80,
   nil,   nil,  -431,  -697,  -462,  -592,   nil,   nil,   121,    -9,
   117,   117,   118,  -246,  -274,   124,   134,   141,  -341,  -339,
  -328,  -440,   nil,   nil,   171,  -556,  -239,  -718,   147,  -546,
  -653,   nil,  -711,  -807,   nil,   nil,  -446 ]

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,
  3, 180, :_reduce_210,
  3, 180, :_reduce_211,
  3, 180, :_reduce_212,
  3, 180, :_reduce_213,
  3, 180, :_reduce_214,
  3, 180, :_reduce_215,
  4, 180, :_reduce_216,
  2, 180, :_reduce_217,
  2, 180, :_reduce_218,
  3, 180, :_reduce_219,
  3, 180, :_reduce_220,
  3, 180, :_reduce_221,
  3, 180, :_reduce_222,
  1, 180, :_reduce_none,
  3, 180, :_reduce_224,
  3, 180, :_reduce_225,
  3, 180, :_reduce_226,
  3, 180, :_reduce_227,
  3, 180, :_reduce_228,
  2, 180, :_reduce_229,
  2, 180, :_reduce_230,
  3, 180, :_reduce_231,
  3, 180, :_reduce_232,
  3, 180, :_reduce_233,
  3, 180, :_reduce_234,
  3, 180, :_reduce_235,
  6, 180, :_reduce_236,
  1, 180, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  3, 217, :_reduce_242,
  3, 217, :_reduce_243,
  1, 220, :_reduce_none,
  1, 221, :_reduce_none,
  2, 221, :_reduce_none,
  4, 221, :_reduce_247,
  2, 221, :_reduce_248,
  1, 215, :_reduce_none,
  3, 215, :_reduce_250,
  3, 226, :_reduce_251,
  0, 227, :_reduce_252,
  1, 227, :_reduce_none,
  0, 175, :_reduce_254,
  1, 175, :_reduce_none,
  2, 175, :_reduce_none,
  4, 175, :_reduce_257,
  2, 175, :_reduce_258,
  1, 196, :_reduce_259,
  2, 196, :_reduce_260,
  2, 196, :_reduce_261,
  4, 196, :_reduce_262,
  1, 196, :_reduce_263,
  0, 230, :_reduce_264,
  2, 189, :_reduce_265,
  2, 229, :_reduce_266,
  2, 228, :_reduce_267,
  0, 228, :_reduce_268,
  1, 223, :_reduce_269,
  2, 223, :_reduce_270,
  3, 223, :_reduce_271,
  4, 223, :_reduce_272,
  1, 169, :_reduce_273,
  1, 169, :_reduce_none,
  3, 168, :_reduce_275,
  4, 168, :_reduce_276,
  2, 168, :_reduce_277,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_none,
  1, 218, :_reduce_288,
  0, 252, :_reduce_289,
  4, 218, :_reduce_290,
  0, 253, :_reduce_291,
  4, 218, :_reduce_292,
  0, 254, :_reduce_293,
  4, 218, :_reduce_294,
  3, 218, :_reduce_295,
  3, 218, :_reduce_296,
  2, 218, :_reduce_297,
  3, 218, :_reduce_298,
  3, 218, :_reduce_299,
  1, 218, :_reduce_300,
  4, 218, :_reduce_301,
  3, 218, :_reduce_302,
  1, 218, :_reduce_303,
  5, 218, :_reduce_304,
  4, 218, :_reduce_305,
  3, 218, :_reduce_306,
  2, 218, :_reduce_307,
  1, 218, :_reduce_none,
  2, 218, :_reduce_309,
  0, 255, :_reduce_310,
  3, 218, :_reduce_311,
  6, 218, :_reduce_312,
  6, 218, :_reduce_313,
  4, 218, :_reduce_314,
  4, 218, :_reduce_315,
  5, 218, :_reduce_316,
  4, 218, :_reduce_317,
  6, 218, :_reduce_318,
  0, 256, :_reduce_319,
  6, 218, :_reduce_320,
  0, 257, :_reduce_321,
  7, 218, :_reduce_322,
  0, 258, :_reduce_323,
  5, 218, :_reduce_324,
  0, 259, :_reduce_325,
  6, 218, :_reduce_326,
  0, 260, :_reduce_327,
  0, 261, :_reduce_328,
  9, 218, :_reduce_329,
  1, 218, :_reduce_330,
  1, 218, :_reduce_331,
  1, 218, :_reduce_332,
  1, 218, :_reduce_333,
  1, 174, :_reduce_none,
  1, 195, :_reduce_335,
  1, 244, :_reduce_none,
  1, 244, :_reduce_none,
  2, 244, :_reduce_338,
  1, 182, :_reduce_none,
  1, 182, :_reduce_none,
  1, 245, :_reduce_none,
  5, 245, :_reduce_342,
  1, 157, :_reduce_none,
  2, 157, :_reduce_344,
  1, 247, :_reduce_none,
  1, 247, :_reduce_none,
  1, 262, :_reduce_347,
  3, 262, :_reduce_348,
  1, 265, :_reduce_349,
  3, 265, :_reduce_350,
  1, 264, :_reduce_none,
  4, 264, :_reduce_352,
  6, 264, :_reduce_353,
  3, 264, :_reduce_354,
  5, 264, :_reduce_355,
  2, 264, :_reduce_356,
  4, 264, :_reduce_357,
  1, 264, :_reduce_358,
  3, 264, :_reduce_359,
  4, 266, :_reduce_360,
  2, 266, :_reduce_361,
  2, 266, :_reduce_362,
  1, 266, :_reduce_363,
  2, 271, :_reduce_364,
  0, 271, :_reduce_365,
  6, 272, :_reduce_366,
  8, 272, :_reduce_367,
  4, 272, :_reduce_368,
  6, 272, :_reduce_369,
  4, 272, :_reduce_370,
  2, 272, :_reduce_none,
  6, 272, :_reduce_372,
  2, 272, :_reduce_373,
  4, 272, :_reduce_374,
  6, 272, :_reduce_375,
  2, 272, :_reduce_376,
  4, 272, :_reduce_377,
  2, 272, :_reduce_378,
  4, 272, :_reduce_379,
  1, 272, :_reduce_none,
  0, 276, :_reduce_381,
  1, 276, :_reduce_382,
  3, 277, :_reduce_383,
  1, 277, :_reduce_384,
  4, 277, :_reduce_385,
  1, 278, :_reduce_386,
  4, 278, :_reduce_387,
  1, 279, :_reduce_388,
  3, 279, :_reduce_389,
  1, 280, :_reduce_390,
  1, 280, :_reduce_none,
  0, 284, :_reduce_392,
  0, 285, :_reduce_393,
  4, 243, :_reduce_394,
  4, 282, :_reduce_395,
  1, 282, :_reduce_396,
  0, 288, :_reduce_397,
  4, 283, :_reduce_398,
  0, 289, :_reduce_399,
  4, 283, :_reduce_400,
  0, 291, :_reduce_401,
  4, 287, :_reduce_402,
  2, 186, :_reduce_403,
  4, 186, :_reduce_404,
  5, 186, :_reduce_405,
  5, 186, :_reduce_406,
  2, 242, :_reduce_407,
  4, 242, :_reduce_408,
  4, 242, :_reduce_409,
  3, 242, :_reduce_410,
  3, 242, :_reduce_411,
  3, 242, :_reduce_412,
  2, 242, :_reduce_413,
  1, 242, :_reduce_414,
  4, 242, :_reduce_415,
  0, 293, :_reduce_416,
  4, 241, :_reduce_417,
  0, 294, :_reduce_418,
  4, 241, :_reduce_419,
  0, 295, :_reduce_420,
  3, 191, :_reduce_421,
  0, 296, :_reduce_422,
  0, 297, :_reduce_423,
  4, 290, :_reduce_424,
  5, 246, :_reduce_425,
  1, 298, :_reduce_426,
  1, 298, :_reduce_none,
  6, 156, :_reduce_428,
  0, 156, :_reduce_429,
  1, 299, :_reduce_430,
  1, 299, :_reduce_none,
  1, 299, :_reduce_none,
  2, 300, :_reduce_433,
  1, 300, :_reduce_none,
  2, 158, :_reduce_435,
  1, 158, :_reduce_none,
  1, 231, :_reduce_none,
  1, 231, :_reduce_none,
  1, 231, :_reduce_none,
  1, 232, :_reduce_440,
  1, 302, :_reduce_441,
  2, 302, :_reduce_442,
  3, 303, :_reduce_443,
  1, 303, :_reduce_444,
  1, 303, :_reduce_445,
  3, 233, :_reduce_446,
  4, 234, :_reduce_447,
  3, 235, :_reduce_448,
  0, 307, :_reduce_449,
  3, 307, :_reduce_450,
  1, 308, :_reduce_451,
  2, 308, :_reduce_452,
  3, 237, :_reduce_453,
  0, 310, :_reduce_454,
  3, 310, :_reduce_455,
  3, 236, :_reduce_456,
  3, 238, :_reduce_457,
  0, 311, :_reduce_458,
  3, 311, :_reduce_459,
  0, 312, :_reduce_460,
  3, 312, :_reduce_461,
  0, 304, :_reduce_462,
  2, 304, :_reduce_463,
  0, 305, :_reduce_464,
  2, 305, :_reduce_465,
  0, 306, :_reduce_466,
  2, 306, :_reduce_467,
  1, 309, :_reduce_468,
  2, 309, :_reduce_469,
  0, 314, :_reduce_470,
  4, 309, :_reduce_471,
  1, 313, :_reduce_472,
  1, 313, :_reduce_473,
  1, 313, :_reduce_474,
  1, 313, :_reduce_none,
  1, 212, :_reduce_476,
  3, 213, :_reduce_477,
  1, 301, :_reduce_478,
  2, 301, :_reduce_479,
  1, 216, :_reduce_480,
  1, 216, :_reduce_481,
  1, 216, :_reduce_482,
  1, 216, :_reduce_483,
  1, 204, :_reduce_484,
  1, 204, :_reduce_485,
  1, 204, :_reduce_486,
  1, 204, :_reduce_487,
  1, 204, :_reduce_488,
  1, 205, :_reduce_489,
  1, 205, :_reduce_490,
  1, 205, :_reduce_491,
  1, 205, :_reduce_492,
  1, 205, :_reduce_493,
  1, 205, :_reduce_494,
  1, 205, :_reduce_495,
  1, 239, :_reduce_496,
  1, 239, :_reduce_497,
  1, 173, :_reduce_498,
  1, 173, :_reduce_499,
  1, 178, :_reduce_500,
  1, 178, :_reduce_501,
  0, 315, :_reduce_502,
  4, 248, :_reduce_503,
  0, 248, :_reduce_504,
  3, 250, :_reduce_505,
  0, 317, :_reduce_506,
  3, 250, :_reduce_507,
  4, 316, :_reduce_508,
  2, 316, :_reduce_509,
  2, 316, :_reduce_510,
  1, 316, :_reduce_511,
  2, 319, :_reduce_512,
  0, 319, :_reduce_513,
  6, 286, :_reduce_514,
  8, 286, :_reduce_515,
  4, 286, :_reduce_516,
  6, 286, :_reduce_517,
  4, 286, :_reduce_518,
  6, 286, :_reduce_519,
  2, 286, :_reduce_520,
  4, 286, :_reduce_521,
  6, 286, :_reduce_522,
  2, 286, :_reduce_523,
  4, 286, :_reduce_524,
  2, 286, :_reduce_525,
  4, 286, :_reduce_526,
  1, 286, :_reduce_527,
  0, 286, :_reduce_528,
  1, 281, :_reduce_529,
  1, 281, :_reduce_530,
  1, 281, :_reduce_531,
  1, 281, :_reduce_532,
  1, 263, :_reduce_none,
  1, 263, :_reduce_534,
  1, 321, :_reduce_535,
  1, 322, :_reduce_536,
  3, 322, :_reduce_537,
  1, 273, :_reduce_538,
  3, 273, :_reduce_539,
  1, 323, :_reduce_540,
  2, 324, :_reduce_541,
  1, 324, :_reduce_542,
  2, 325, :_reduce_543,
  1, 325, :_reduce_544,
  1, 267, :_reduce_545,
  3, 267, :_reduce_546,
  1, 318, :_reduce_547,
  3, 318, :_reduce_548,
  1, 326, :_reduce_none,
  1, 326, :_reduce_none,
  2, 268, :_reduce_551,
  1, 268, :_reduce_552,
  3, 327, :_reduce_553,
  3, 328, :_reduce_554,
  1, 274, :_reduce_555,
  3, 274, :_reduce_556,
  1, 320, :_reduce_557,
  3, 320, :_reduce_558,
  1, 329, :_reduce_none,
  1, 329, :_reduce_none,
  2, 275, :_reduce_561,
  1, 275, :_reduce_562,
  1, 330, :_reduce_none,
  1, 330, :_reduce_none,
  2, 270, :_reduce_565,
  2, 269, :_reduce_566,
  0, 269, :_reduce_567,
  1, 251, :_reduce_none,
  3, 251, :_reduce_569,
  0, 240, :_reduce_570,
  2, 240, :_reduce_none,
  1, 225, :_reduce_572,
  3, 225, :_reduce_573,
  3, 331, :_reduce_574,
  2, 331, :_reduce_575,
  4, 331, :_reduce_576,
  2, 331, :_reduce_577,
  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_590,
  1, 177, :_reduce_591,
  0, 149, :_reduce_none,
  1, 149, :_reduce_none,
  0, 179, :_reduce_none,
  1, 179, :_reduce_none,
  2, 199, :_reduce_596,
  2, 176, :_reduce_597,
  0, 224, :_reduce_none,
  1, 224, :_reduce_none,
  1, 224, :_reduce_none,
  1, 249, :_reduce_601,
  1, 249, :_reduce_none,
  1, 151, :_reduce_none,
  2, 151, :_reduce_none,
  0, 222, :_reduce_605 ]

racc_reduce_n = 606

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 :warning, :useless_else, nil, else_t
                      end

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

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

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

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

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

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

# reduce 16 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 30 omitted

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

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

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

# reduce 34 omitted

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

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

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

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

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

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

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

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

# reduce 43 omitted

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

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

# reduce 45 omitted

# reduce 46 omitted

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

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

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

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

# reduce 51 omitted

# reduce 52 omitted

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

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

# reduce 55 omitted

# reduce 56 omitted

# reduce 57 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 223 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 237 omitted

# reduce 238 omitted

# reduce 239 omitted

# reduce 240 omitted

# reduce 241 omitted

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

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

# reduce 244 omitted

# reduce 245 omitted

# reduce 246 omitted

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

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

# reduce 249 omitted

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

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

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

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

# reduce 253 omitted

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

# reduce 255 omitted

# reduce 256 omitted

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

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

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

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

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

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

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

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

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

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

                      result = val[1]
                    
    result
end

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

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

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

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

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

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

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

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

# reduce 274 omitted

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

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

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

# reduce 278 omitted

# reduce 279 omitted

# reduce 280 omitted

# reduce 281 omitted

# reduce 282 omitted

# reduce 283 omitted

# reduce 284 omitted

# reduce 285 omitted

# reduce 286 omitted

# reduce 287 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 308 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

def _reduce_320(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_321(val, _values, result)
                      @static_env.extend_static
                      @lexer.cmdarg.push(false)
                      @lexer.cond.push(false)
                      @context.push(:sclass)
                    
    result
end

def _reduce_322(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_323(val, _values, result)
                      @static_env.extend_static
                      @lexer.cmdarg.push(false)
                      @context.push(:module)
                    
    result
end

def _reduce_324(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_325(val, _values, result)
                      @static_env.extend_static
                      @lexer.cmdarg.push(false)
                      @lexer.cond.push(false)
                      @context.push(:def)
                    
    result
end

def _reduce_326(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_327(val, _values, result)
                      @lexer.state = :expr_fname
                    
    result
end

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

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

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

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

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

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

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

# reduce 334 omitted

def _reduce_335(val, _values, result)
                      if @context.in_class?
                        diagnostic :error, :invalid_return, nil, val[0]
                      end
                    
    result
end

# reduce 336 omitted

# reduce 337 omitted

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

# reduce 339 omitted

# reduce 340 omitted

# reduce 341 omitted

def _reduce_342(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 343 omitted

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

# reduce 345 omitted

# reduce 346 omitted

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

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

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

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

# reduce 351 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 371 omitted

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

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

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

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

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

# reduce 380 omitted

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

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

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

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

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

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

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

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

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

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

# reduce 391 omitted

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

def _reduce_393(val, _values, result)
                      @context.pop
                      @lexer.cmdarg.push(false)
                    
    result
end

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

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

                      @static_env.unextend
                    
    result
end

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

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

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

def _reduce_398(val, _values, result)
                      result = [ val[0], val[2], val[3] ]
                      @context.pop
                    
    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(:block)
                    
    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)
                      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_404(val, _values, result)
                      lparen_t, args, rparen_t = val[3]
                      result = @builder.call_method(val[0], val[1], val[2],
                                  lparen_t, args, rparen_t)
                    
    result
end

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

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

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

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

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

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

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

def _reduce_417(val, _values, result)
                      result = [ val[0], *val[2], val[3] ]
                      @context.pop
                    
    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)
                      @static_env.extend_dynamic
                    
    result
end

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

                      @static_env.unextend
                    
    result
end

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

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

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

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

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

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

# reduce 427 omitted

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

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

# reduce 431 omitted

# reduce 432 omitted

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

# reduce 434 omitted

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

# reduce 436 omitted

# reduce 437 omitted

# reduce 438 omitted

# reduce 439 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 475 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                      @lexer.state = :expr_value
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 533 omitted

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

                      result = val[0]
                    
    result
end

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

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

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

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

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

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

                      @static_env.declare val[0][0]

                      result = val[0]
                    
    result
end

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

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

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

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

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

# reduce 549 omitted

# reduce 550 omitted

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

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

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

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

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

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

def _reduce_556(val, _values, result)
                      result = val[0] << 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

# reduce 559 omitted

# reduce 560 omitted

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

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

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

# reduce 563 omitted

# reduce 564 omitted

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

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

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

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

# reduce 568 omitted

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

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

# reduce 571 omitted

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

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

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

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

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

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

# reduce 578 omitted

# reduce 579 omitted

# reduce 580 omitted

# reduce 581 omitted

# reduce 582 omitted

# reduce 583 omitted

# reduce 584 omitted

# reduce 585 omitted

# reduce 586 omitted

# reduce 587 omitted

# reduce 588 omitted

# reduce 589 omitted

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

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

# reduce 592 omitted

# reduce 593 omitted

# reduce 594 omitted

# reduce 595 omitted

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

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

# reduce 598 omitted

# reduce 599 omitted

# reduce 600 omitted

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

# reduce 602 omitted

# reduce 603 omitted

# reduce 604 omitted

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

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

  end   # class Ruby25
  end   # module Parser
