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

require 'racc/parser.rb'


require 'parser'

Parser.check_for_encoding_support

module Parser
  class Ruby25 < Parser::Base


  def version
    25
  end

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

clist = [
'-481,210,211,210,211,218,-98,-481,-481,-481,-290,578,-481,-481,-481',
'216,-481,272,220,618,258,259,265,578,-481,620,-481,-481,-481,272,590',
'272,-495,110,591,-99,-481,-481,578,-481,-481,-481,-481,-481,578,578',
'-98,-99,-106,-106,-290,-105,-97,-84,-105,401,257,256,272,221,403,402',
'-106,-70,791,816,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481',
'-481,-481,-481,217,267,-481,-481,-481,617,-481,-481,724,-98,-481,619',
'-101,-481,-481,221,-481,221,-481,790,-481,122,-481,-481,271,-481,-481',
'-481,-481,-481,-101,-481,-484,-481,-103,-89,271,-103,271,-484,-484,-484',
'267,-102,-484,-484,-484,-481,-484,114,-481,-481,-481,-481,113,-481,-484',
'-481,-484,-484,-484,114,-481,-481,-90,271,113,-92,-484,-484,-104,-484',
'-484,-484,-484,-484,114,-100,-97,844,-96,113,114,114,-98,-99,-106,113',
'113,-98,-99,-106,-105,724,815,-102,-100,-105,-484,-484,-484,-484,-484',
'-484,-484,-484,-484,-484,-484,-484,-484,-484,114,207,-484,-484,-484',
'113,-484,-484,-578,-92,-484,208,-94,-484,-484,724,-484,-104,-484,114',
'-484,-92,-484,-484,113,-484,-484,-484,-484,-484,-293,-484,-496,-484',
'-94,-579,-101,-293,-293,-293,-103,-101,791,-293,-293,-103,-293,-484',
'-578,-102,-484,-484,-484,-484,-102,-484,209,-484,210,211,454,-92,-484',
'-484,-92,212,-293,-293,-91,-293,-293,-293,-293,-293,-92,261,-104,790',
'-94,-481,-93,-104,-579,-100,537,114,-481,536,-100,-99,113,218,-93,-91',
'210,211,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293',
'-293,-293,320,524,-293,-293,-293,-484,643,-106,-94,114,-293,-94,-484',
'-293,113,807,-95,584,-293,321,-293,-94,-293,-293,-91,-293,-293,-293',
'-293,-293,605,-293,-582,-293,-481,-578,-93,80,-106,-582,-582,-582,221',
'210,211,-582,-582,-293,-582,81,-293,-293,221,-95,391,-293,114,-582,-105',
'82,404,113,-293,-104,-91,-575,-495,-91,-582,-582,-484,-582,-582,-582',
'-582,-582,-93,-91,114,-93,210,211,453,113,558,783,555,554,553,-93,556',
'92,93,455,607,606,603,456,-582,-582,-582,-582,-582,-582,-582,-582,-582',
'-582,-582,-582,-582,-582,220,-89,-582,-582,-582,-481,644,92,93,605,-582',
'-98,-481,-582,114,784,485,-575,-582,113,-582,-481,-582,-582,-496,-582',
'-582,-582,-582,-582,-101,-582,-582,-582,605,558,605,555,554,553,-575',
'556,-491,114,495,-576,638,-582,113,-491,-582,-582,-582,-93,835,-582',
'497,94,95,-582,-582,-582,-582,-102,-582,-582,-582,499,-582,507,-481',
'-90,-103,607,606,603,-490,-582,-582,-582,-582,-99,114,-490,-69,94,95',
'113,-582,-582,671,-582,-582,-582,-582,-582,221,-484,607,606,607,606',
'605,-101,-484,605,510,-491,755,-576,757,605,511,-484,518,639,276,955',
'-582,-582,-582,-582,-582,-582,-582,-582,-582,-582,-582,-582,-582,-582',
'-576,221,-582,-582,-582,537,785,-582,539,-490,-582,605,524,-582,-582',
'605,-582,-492,-582,267,-582,638,-582,-582,-492,-582,-582,-582,-582,-582',
'-484,-582,-582,-582,607,606,608,607,606,610,-103,-489,521,607,606,612',
'639,-582,-489,525,-582,-582,-582,-582,-486,-582,241,-582,-293,-96,863',
'-486,-582,-102,221,-293,-293,-293,-92,-105,-293,-293,-293,540,-293,607',
'606,616,-101,607,606,621,-492,541,-293,-293,-293,537,537,770,539,539',
'770,-94,-293,-293,499,-293,-293,-293,-293,-293,584,-103,393,216,-489',
'-336,-487,-488,574,573,215,216,-336,-487,-488,-100,588,-486,265,213',
'589,-336,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293',
'-293,-293,597,-91,-293,-293,-293,622,786,-293,-100,221,-293,-100,986',
'-293,-293,625,-293,-265,-293,627,-293,628,-293,-293,241,-293,-293,-293',
'-293,-293,-293,-293,217,-293,-336,-487,-488,-293,-293,-293,217,839,807',
'-293,-293,632,-293,-293,241,221,-293,-293,-293,-293,636,-293,238,-293',
'-582,637,240,239,-293,-104,251,252,-293,-293,267,-293,-293,-293,-293',
'-293,648,216,839,807,241,-493,238,241,451,241,240,239,-493,236,237,241',
'655,452,221,661,663,-493,-293,-293,-293,-293,-293,-293,-293,-293,-293',
'-293,-293,-293,-293,-293,-582,-494,-293,-293,-293,221,643,-582,-494',
'221,-293,-84,-578,-293,675,221,-582,-494,-293,530,-293,686,-293,-293',
'691,-293,-293,-293,-293,-293,217,-293,-582,-293,-493,-582,692,694,698',
'-582,-582,-582,563,701,241,-582,-582,-293,-582,702,-293,-293,566,-293',
'216,-293,704,-582,706,708,716,517,-293,-104,717,-582,-494,718,-582,-582',
'515,-582,-582,-582,-582,-582,238,-283,720,584,240,239,727,744,-283,574',
'573,754,758,759,567,749,750,-283,-266,751,108,109,-582,-582,-582,-582',
'-582,-582,-582,-582,-582,-582,-582,-582,-582,-582,771,485,-582,-582',
'-582,216,644,217,216,485,-582,221,527,-582,788,587,261,795,-582,497',
'-582,452,-582,-582,585,-582,-582,-582,-582,-582,-283,-582,-582,-582',
'558,499,555,554,553,563,556,216,117,118,119,120,121,-582,593,566,-582',
'-582,-412,-582,800,-582,686,595,221,-412,-412,-412,-582,-102,-412,-412',
'-412,267,-412,267,217,561,686,217,241,241,807,-412,-412,-412,571,570',
'574,573,221,221,833,567,-412,-412,221,-412,-412,-412,-412,-412,558,807',
'555,554,553,216,556,843,221,221,217,238,631,852,-267,240,239,221,236',
'237,221,629,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412',
'-412,-412,862,710,-412,-412,-412,686,881,-412,-265,267,-412,885,889',
'-412,-412,890,-412,701,-412,892,-412,894,-412,-412,896,-412,-412,-412',
'-412,-412,-300,-412,-412,-412,217,898,898,-300,-300,-300,221,904,-300',
'-300,-300,-294,-300,-412,906,908,-412,-412,-294,-412,914,-412,-300,-300',
'917,221,921,-294,-412,-268,922,701,-300,-300,925,-300,-300,-300,-300',
'-300,927,929,931,-294,221,-293,933,944,945,957,-294,959,-293,960,965',
'744,976,-579,979,-294,984,-293,-300,-300,-300,-300,-300,-300,-300,-300',
'-300,-300,-300,-300,-300,-300,-294,987,-300,-300,-300,898,898,-300,898',
'276,-300,992,957,-300,-300,701,-300,998,-300,1000,-300,1002,-300,-300',
'1004,-300,-300,-300,-300,-300,-284,-300,-294,-300,-293,1004,691,-284',
'-284,-284,957,1019,-284,-284,-284,216,-284,-300,1020,-579,-300,-300',
'978,-300,-578,-300,-284,-284,-284,221,898,595,-300,957,1027,1004,-284',
'-284,1004,-284,-284,-284,-284,-284,1004,-293,1004,216,,216,,,-293,,983',
',978,-579,,,,-293,,981,,595,-284,-284,-284,-284,-284,-284,-284,-284',
'-284,-284,-284,-284,-284,-284,217,563,-284,-284,-284,,,-284,,,-284,566',
',-284,-284,,-284,,-284,,-284,,-284,-284,,-284,-284,-284,-284,-284,-293',
'-284,217,-284,217,948,,555,554,553,,556,,,574,573,,-284,241,567,-284',
'-284,-284,-284,,-284,-248,-284,,,,,-284,-248,-248,-248,,,-248,-248,-248',
'558,-248,555,554,553,,556,,,238,-248,-248,-248,240,239,,236,237,,,,-248',
'-248,,-248,-248,-248,-248,-248,558,,555,554,553,,556,558,710,555,554',
'553,948,556,555,554,553,713,556,,,,-248,-248,-248,-248,-248,-248,-248',
'-248,-248,-248,-248,-248,-248,-248,,710,-248,-248,-248,,,-248,710,267',
'-248,,,-248,-248,,-248,713,-248,,-248,,-248,-248,,-248,-248,-248,-248',
'-248,,-248,-248,-248,558,,555,554,553,563,556,117,118,119,120,121,,-248',
',566,-248,-248,-583,-248,,-248,,,,-583,-583,-583,-248,,-583,-583,-583',
',-583,241,558,561,555,554,553,,556,-583,-583,-583,-583,,574,573,,251',
'252,567,-583,-583,,-583,-583,-583,-583,-583,558,,555,554,553,238,556',
'244,,240,239,710,236,237,,,242,,243,,903,,-583,-583,-583,-583,-583,-583',
'-583,-583,-583,-583,-583,-583,-583,-583,,710,-583,-583,-583,,,-583,',
',-583,,,-583,-583,,-583,,-583,,-583,,-583,-583,,-583,-583,-583,-583',
'-583,,-583,-583,-583,,,558,,555,554,553,,556,,,,,-583,,,-583,-583,-583',
'-583,,-583,-584,-583,,,,,-583,-584,-584,-584,,,-584,-584,-584,241,-584',
'710,117,118,119,120,121,,,-584,-584,-584,-584,,,251,252,,,,-584,-584',
',-584,-584,-584,-584,-584,,,,238,,244,,240,239,,236,237,,,242,,243,117',
'118,119,120,121,-584,-584,-584,-584,-584,-584,-584,-584,-584,-584,-584',
'-584,-584,-584,,,-584,-584,-584,,,-584,,,-584,,,-584,-584,,-584,,-584',
',-584,,-584,-584,,-584,-584,-584,-584,-584,,-584,-584,-584,,,558,,555',
'554,553,,556,,,,,-584,,,-584,-584,-584,-584,,-584,-248,-584,,,,,-584',
'-248,-248,-248,,,-248,-248,-248,241,-248,710,,,,,,,,-248,-248,,,,,251',
'252,,,,-248,-248,,-248,-248,-248,-248,-248,,,,238,,244,,240,239,,236',
'237,,,,241,245,246,247,248,258,259,253,254,249,250,,234,235,,,251,252',
'-248,,,,,,,-248,,,,,267,-248,238,,244,,240,239,,236,237,257,256,242',
',243,,,,,,,,-248,-248,,,,,,,,,,,255,,,-248,,,-248,,,,,-248,5,70,71,72',
'9,58,-248,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101',
'103,104,,,19,,,,,633,8,46,7,10,106,105,107,96,57,98,97,99,,100,108,109',
',92,93,42,43,41,241,245,246,247,248,258,259,253,254,249,250,,234,235',
',,251,252,,40,,,33,,,59,60,,,61,,35,238,,244,45,240,239,,236,237,257',
'256,242,20,243,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,255,,-240,,,63',
',82,94,95,294,70,71,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,',
',,29,28,27,102,101,103,104,,,19,,,,,633,8,46,296,10,106,105,107,96,57',
'98,97,99,,100,108,109,,92,93,42,43,41,241,245,246,247,248,258,259,253',
'254,249,250,,234,235,,,251,252,,40,,,298,,,59,60,,,61,,35,238,,244,45',
'240,239,,236,237,257,256,242,20,243,,,,90,80,83,84,,85,87,86,88,,,,',
'81,89,,255,,,,,63,,82,94,95,5,70,71,72,9,58,,,,64,65,,,,68,,66,67,69',
'30,31,73,74,,,,,,29,28,27,102,101,103,104,,,19,,,,,,8,46,7,10,106,105',
'107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,241,245,246,247,248',
'258,259,253,254,249,250,,234,235,,,251,252,,40,,,33,,,59,60,,,61,,35',
'238,,244,45,240,239,,236,237,257,256,242,20,243,,,,90,80,83,84,,85,87',
'86,88,,,,,81,89,,255,,,,,63,,82,94,95,294,70,71,72,9,58,,,,64,65,,,',
'68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101,103,104,,,19,,,,,,8,46',
'296,10,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,241,245',
'246,247,248,258,259,253,254,249,250,,234,235,,,251,252,,40,,,33,,,59',
'60,,,61,,35,238,,244,45,240,239,,236,237,257,256,242,20,243,,,,90,80',
'83,84,,85,87,86,88,,,,,81,89,221,255,,,,,63,,82,94,95,294,70,71,72,9',
'58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101,103,104',
',,19,,,,,,8,46,296,10,106,105,107,96,57,98,97,99,,100,108,109,,92,93',
'42,43,41,241,245,246,247,248,258,259,253,254,249,250,,234,235,,,251',
'252,,40,,,33,,,59,60,,,61,,35,238,,244,45,240,239,,236,237,257,256,242',
'20,243,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,255,,,,,63,,82,94,95,294',
'70,71,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29,28,27,102',
'101,103,104,,,19,,,,,,8,46,296,10,106,105,107,96,57,98,97,99,,100,108',
'109,,92,93,42,43,41,241,245,246,247,248,258,259,253,254,249,250,,234',
'235,,,251,252,,40,,,298,,,59,60,,,61,,35,238,,244,45,240,239,,236,237',
'257,256,242,20,243,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,255,,,,,63',
',82,94,95,294,70,71,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,',
',,29,28,27,102,101,103,104,,,19,,,,,,8,46,296,10,106,105,107,96,57,98',
'97,99,,100,108,109,,92,93,42,43,41,241,245,246,247,248,258,259,253,254',
'249,250,,234,235,,,251,252,,40,,,298,,,59,60,,,61,,35,238,,244,45,240',
'239,,236,237,257,256,242,20,243,,,,90,80,83,84,,85,87,86,88,,,,,81,89',
',255,,,,,63,,82,94,95,294,70,71,72,9,58,,,,64,65,,,,68,,66,67,69,30',
'31,73,74,,,,,,29,28,27,102,101,103,104,,,19,,,,,,8,46,296,10,106,105',
'107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,241,245,246,247,248',
'258,259,253,254,249,250,,-603,-603,,,251,252,,40,,,33,,,59,60,,,61,',
'35,238,,244,45,240,239,,236,237,257,256,242,20,243,,,,90,80,83,84,,85',
'87,86,88,,,,,81,89,,,,,,,63,,82,94,95,5,70,71,72,9,58,,,,64,65,,,,68',
',66,67,69,30,31,73,74,,,,,,29,28,27,102,101,103,104,,,19,,,,,,8,46,7',
'10,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,241,245,246',
'247,248,258,259,253,254,249,250,,-603,-603,,,251,252,,40,,,33,,,59,60',
',,61,,35,238,,244,45,240,239,,236,237,257,256,242,20,243,,,,90,80,83',
'84,,85,87,86,88,,,,,81,89,,,,,,,63,,82,94,95,294,70,71,72,9,58,,,,64',
'65,,,,68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101,103,104,,,19,,',
',,,8,46,296,10,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43',
'41,241,-603,-603,-603,-603,258,259,,,-603,-603,,,,,,251,252,,40,,,33',
',,59,60,,,61,,35,238,,244,45,240,239,,236,237,257,256,242,20,243,,,',
'90,80,83,84,,85,87,86,88,,,,,81,89,,,,,,,63,,82,94,95,294,70,71,72,9',
'58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101,103,104',
',,19,,,,,,8,46,296,10,106,105,107,96,57,98,97,99,,100,108,109,,92,93',
'42,43,41,241,-603,-603,-603,-603,258,259,,,-603,-603,,,,,,251,252,,40',
',,33,,,59,60,,,61,,35,238,,244,45,240,239,,236,237,257,256,242,20,243',
',,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,,,,63,,82,94,95,294,70,71,72',
'9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101,103',
'104,,,19,,,,,,8,46,296,10,106,105,107,96,57,98,97,99,,100,108,109,,92',
'93,42,43,41,241,-603,-603,-603,-603,258,259,,,-603,-603,,,,,,251,252',
',40,,,33,,,59,60,,,61,,35,238,,244,45,240,239,,236,237,257,256,242,20',
'243,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,,,,63,,82,94,95,294,70',
'71,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101',
'103,104,,,19,,,,,,8,46,296,10,106,105,107,96,57,98,97,99,,100,108,109',
',92,93,42,43,41,241,-603,-603,-603,-603,258,259,,,-603,-603,,,,,,251',
'252,,40,,,33,,,59,60,,,61,,35,238,,244,45,240,239,,236,237,257,256,242',
'20,243,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,,,,63,,82,94,95,294',
'70,71,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29,28,27,102',
'101,103,104,,,19,,,,,,8,46,296,10,106,105,107,96,57,98,97,99,,100,108',
'109,,92,93,42,43,41,241,-603,-603,-603,-603,258,259,,,-603,-603,,,,',
',251,252,,40,,,33,,,59,60,,,61,,35,238,,244,45,240,239,,236,237,257',
'256,242,20,243,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,,,,63,,82,94',
'95,294,70,71,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29,28',
'27,102,101,103,104,,,19,,,,,,8,46,296,10,106,105,107,96,57,98,97,99',
',100,108,109,,92,93,42,43,41,241,-603,-603,-603,-603,258,259,,,-603',
'-603,,,,,,251,252,,40,,,33,,,59,60,,,61,,35,238,,244,45,240,239,,236',
'237,257,256,242,20,243,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,,,,63',
',82,94,95,294,70,71,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,',
',,29,28,27,102,101,103,104,,,19,,,,,,8,46,296,10,106,105,107,96,57,98',
'97,99,,100,108,109,,92,93,42,43,41,241,245,246,247,248,258,259,,,249',
'250,,,,,,251,252,,40,,,33,,,59,60,,,61,,35,238,,244,45,240,239,,236',
'237,257,256,242,20,243,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,,,,63',
',82,94,95,294,70,71,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,',
',,29,28,27,102,101,103,104,,,19,,,,,,8,46,296,10,106,105,107,96,57,98',
'97,99,,100,108,109,,92,93,42,43,41,241,245,246,247,248,258,259,253,',
'249,250,,,,,,251,252,,40,,,33,,,59,60,,,61,,35,238,,244,45,240,239,',
'236,237,257,256,242,20,243,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,',
',,,63,,82,94,95,294,70,71,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73',
'74,,,,,,29,28,27,102,101,103,104,,,19,,,,,,8,46,296,10,106,105,107,96',
'57,98,97,99,,100,108,109,,92,93,42,43,41,241,,,,,,,,,,,,,,,,251,252',
',40,,,33,,,59,60,,,61,,35,238,,244,45,240,239,,236,237,,,,20,,,,,90',
'80,83,84,,85,87,86,88,,,,,81,89,,,,,,,63,,82,94,95,294,70,71,72,9,58',
',,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101,103,104,',
',19,,,,,,8,46,296,10,106,105,107,96,57,98,97,99,,100,108,109,,92,93',
'42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,59,60,,,61,,35,,,,45,,,,,,,,,20',
',,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,,,,63,,82,94,95,294,70,71',
'72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101,103',
'104,,,19,,,,,,8,46,296,10,106,105,107,96,57,98,97,99,,100,108,109,,92',
'93,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,59,60,,,61,,35,,,,45,,,,,,',
',,20,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,,,,63,,82,94,95,294,70',
'71,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101',
'103,104,,,19,,,,,,8,46,296,10,106,105,107,96,57,98,97,99,,100,108,109',
',92,93,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,59,60,,,61,,35,,,,45,,',
',,,,,,20,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,,,,63,,82,94,95,294',
'70,71,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29,28,27,102',
'101,103,104,,,19,,,,,,8,46,296,10,106,105,107,96,57,98,97,99,,100,108',
'109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,59,60,,,61,,35,,,,45',
',,,,,,,,20,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,,,,63,,82,94,95',
'294,70,71,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29,28,27',
'102,101,103,104,,,19,,,,,,8,46,296,10,106,105,107,96,57,98,97,99,,100',
'108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,59,60,,,61,,35',
',,,45,,,,,,,,,20,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,,,,63,,82',
'94,95,294,70,71,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29',
'28,27,102,101,103,104,,,19,,,,,,8,46,296,10,106,105,107,96,57,98,97',
'99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,59,60,',
',61,,35,,,,45,,,,,,,,,20,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,',
',,63,,82,94,95,294,70,71,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74',
',,,,,29,28,27,102,101,103,104,,,19,,,,,,8,46,296,10,106,105,107,96,57',
'98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,59',
'60,,,61,,35,,,,45,,,,,,,,,20,,,,,90,80,83,84,,85,87,86,88,,,,,81,89',
',,,,,,63,,82,94,95,294,70,71,72,9,58,,,,64,65,,,,68,,66,67,69,30,31',
'73,74,,,,,,29,28,27,102,101,103,104,,,19,,,,,,8,46,296,10,106,105,107',
'96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,40,,',
'33,,,59,60,,,61,,35,,,,45,,,,,,,,,20,,,,,90,80,83,84,,85,87,86,88,,',
',,81,89,,,,,,,63,,82,94,95,294,70,71,72,9,58,,,,64,65,,,,68,,66,67,69',
'30,31,73,74,,,,,,29,28,27,102,101,103,104,,,19,,,,,,8,46,296,10,106',
'105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,',
',,,40,,,33,,,59,60,,,61,,35,,,,45,,,,,,,,,20,,,,,90,80,83,84,,85,87',
'86,88,,,,,81,89,,,,,,,63,,82,94,95,294,70,71,72,9,58,,,,64,65,,,,68',
',66,67,69,30,31,73,74,,,,,,29,28,27,102,101,103,104,,,19,,,,,,8,46,296',
'10,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,',
',,,,,,,,,,40,,,33,,,59,60,,,61,,35,,,,45,,,,,,,,,20,,,,,90,80,83,84',
',85,87,86,88,,,,,81,89,,,,,,,63,,82,94,95,294,70,71,72,9,58,,,,64,65',
',,,68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101,103,104,,,19,,,,,',
'8,46,296,10,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41',
',,,,,,,,,,,,,,,,,,,40,,,33,,,59,60,,,61,,35,,,,45,,,,,,,,,20,,,,,90',
'80,83,84,,85,87,86,88,,,,,81,89,,,,,,,63,,82,94,95,70,71,72,9,58,,,',
'64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101,103,104,,,19',
',,,,,8,46,7,10,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43',
'41,,,,,,,,,,,,,,,,,,,,40,,,33,,,59,60,,,61,,35,,,,45,,,,,,,,,20,,,,',
'90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65',
',,,68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101,103,104,,,233,,,,',
',,46,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,',
',,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83',
'84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66',
'67,69,30,31,73,74,,,,,,29,28,27,102,101,103,104,,,233,,,,,,,46,,,106',
'105,107,96,57,98,97,99,288,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,',
',,,,,,226,,,232,,,59,60,,,61,,285,,283,,45,,,289,,,,,,231,,,,,90,286',
'83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68',
',66,67,69,30,31,73,74,,,,,,29,28,27,102,101,103,104,,,233,,,,,,,46,',
',106,105,107,96,57,98,97,99,288,100,108,109,,92,93,42,43,41,,,,,,,,',
',,,,,,,,,,,226,,,232,,,59,60,,,61,,285,,283,,45,,,289,,,,,,231,,,,,90',
'286,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,',
',68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101,103,104,,,233,,,,,,',
'46,,,106,105,107,96,57,98,97,99,288,100,108,109,,92,93,42,43,41,,,,',
',,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,285,,283,,45,,,289,,,,,,231,',
',,,90,286,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64',
'65,,,,68,,66,67,69,313,314,73,74,,,,,,309,310,316,102,101,103,104,,',
'233,,,,,,,311,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93,,,317',
',,,,,,,,,,,,,,,,,,,307,,,303,,,59,60,,,61,,302,,,,,,,,,,,,,,,,,,90,80',
'83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68',
',66,67,69,313,314,73,74,,,,,,309,310,316,102,101,103,104,,,233,,,,,',
',311,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93,,,317,,,,,,,,',
',,,,,,,,,,,307,,,232,,,59,60,,,61,,,558,,555,554,553,563,556,,,,,,,',
',566,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,319,,561,63,,82,94,95,70',
'71,72,,58,574,573,,64,65,567,,,68,,66,67,69,313,314,73,74,,,,,,309,310',
'316,102,101,103,104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99,,100',
'108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,',
',,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72',
'63,58,82,94,95,64,65,,,,68,,66,67,69,313,314,73,74,,,,,,309,310,316',
'102,101,103,104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99,,100,108',
'109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45',
',,,,,,,,231,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58',
'82,94,95,64,65,,,,68,,66,67,69,313,314,73,74,,,,,,309,310,316,102,101',
'103,104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99,,100,108,109,,92',
'93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,',
',,231,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94',
'95,64,65,,,,68,,66,67,69,313,314,73,74,,,,,,309,310,316,102,101,103',
'104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99,288,100,108,109,,92',
'93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,285,,,,45,,,289',
',,,,,231,,,,,90,286,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82',
'94,95,64,65,,,,68,,66,67,69,313,314,73,74,,,,,,309,310,316,102,101,103',
'104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99,288,100,108,109,,92',
'93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,289',
',,,,,231,,,,,90,286,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82',
'94,95,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101,103,104',
',,19,,,,,,,46,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43',
'41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,20,,,,',
'90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65',
',,,68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101,103,104,,,19,,,,,',
',46,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,',
',,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,20,,,,,90,80,83',
'84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66',
'67,69,30,31,73,74,,,,,,29,28,27,102,101,103,104,,,19,,,,,,,46,,,106',
'105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,',
',,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,20,,,,,90,80,83,84,,85,87',
'86,88,,,,,81,89,114,,,,,113,63,,82,94,95,70,71,72,,58,,,,64,65,,,,68',
',66,67,69,313,314,73,74,,,,,,309,310,316,102,101,103,104,,,233,,,,,',
',311,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93,,,317,,,,,,,,',
',,,,,,,,,,,353,,,33,,,59,60,,,61,,35,,,,,,,,,,,,,,,,,,90,80,83,84,,85',
'87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69',
'313,314,73,74,,,,,,309,310,316,102,101,103,104,,,233,,,,,,,311,,,106',
'105,107,358,57,98,97,359,,100,108,109,,92,93,,,317,,,,,,,,,,,,,,,,,365',
',,360,,,232,,,59,60,,,61,,,,,,,,,,,,,,,,,,,,90,80,83,84,,85,87,86,88',
',,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,313,314,73',
'74,,,,,,309,310,316,102,101,103,104,,,233,,,,,,,311,,,106,105,107,358',
'57,98,97,359,,100,108,109,,92,93,,,317,,,,,,,,,,,,,,,,,,,,360,,,232',
',,59,60,,,61,,,558,,555,554,553,563,556,,,,,,,,,566,,90,80,83,84,,85',
'87,86,88,,,,,81,89,,,,,,561,63,,82,94,95,70,71,72,9,58,574,573,,64,65',
'567,,,68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101,103,104,,,19,,',
',,,8,46,7,10,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41',
',,,,,,,,,,,,,,,,,,,40,,,33,,,59,60,,,61,,35,,,,45,,,,,,,,,20,,,,,90',
'80,83,84,,85,87,86,88,,,,,81,89,,,,,,393,63,,82,94,95,70,71,72,,58,',
',,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101,103,104,,',
'19,,,,,,,46,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41',
',,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,20,,,,,90',
'80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,',
'68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101,103,104,,,19,,,,,,,46',
',,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,',
',,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,20,,,,,90,80,83,84,',
'85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67',
'69,30,31,73,74,,,,,,29,28,27,102,101,103,104,,,19,,,,,,,46,,,106,105',
'107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226',
',,232,,,59,60,,,61,,,,,,45,,,,,,,,,20,,,,,90,80,83,84,,85,87,86,88,',
',,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,30,31,73,74',
',,,,,29,28,27,102,101,103,104,,,19,,,,,,,46,,,106,105,107,96,57,98,97',
'99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60',
',,61,,,,,,45,,,,,,,,,20,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,,',
',63,,82,94,95,70,71,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,',
',,29,28,27,102,101,103,104,,,19,,,,,,8,46,,10,106,105,107,96,57,98,97',
'99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,59,60,',
',61,,35,,,,45,,,,,,,,,20,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70',
'71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29,28,27',
'102,101,103,104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99,,100,108',
'109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,409,',
',,45,,,,,,,,,231,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72',
'63,58,82,94,95,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101',
'103,104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99,,100,108,109,,92',
'93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,409,,,,45,,,',
',,,,,231,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82',
'94,95,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101,103,104',
',,19,,,,,,,46,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43',
'41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,20,,,,',
'90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65',
',,,68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101,103,104,,,19,,,,,',
',46,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,',
',,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,20,,,,,90,80,83',
'84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66',
'67,69,30,31,73,74,,,,,,29,28,27,102,101,103,104,,,233,,,,,,,46,,,106',
'105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,',
',,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87',
'86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,30',
'31,73,74,,,,,,29,28,27,102,101,103,104,,,233,,,,,,,46,,,106,105,107',
'96,57,98,97,99,288,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226',
',,232,,,59,60,,,61,,285,,283,,45,,,289,,,,,,231,,,,,90,286,83,84,,85',
'87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69',
'30,31,73,74,,,,,,29,28,27,102,101,103,104,,,233,,,,,,,46,,,106,105,107',
'96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,',
',232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87,86,88,',
',,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,30,31,73,74',
',,,,,29,28,27,102,101,103,104,,,19,,,,,,,46,,,106,105,107,96,57,98,97',
'99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60',
',,61,,,,,,45,,,,,,,,,20,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70',
'71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29,28,27',
'102,101,103,104,,,19,,,,,,,46,,,106,105,107,96,57,98,97,99,,100,108',
'109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45',
',,,,,,,,20,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,221,,,70,71,72,63',
'58,82,94,95,64,65,,,,68,,66,67,69,313,314,73,74,,,,,,309,310,316,102',
'101,103,104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99,,100,108,109',
',92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,',
',,,,,,231,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82',
'94,95,64,65,,,,68,,66,67,69,313,314,73,74,,,,,,309,310,316,102,101,103',
'104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93',
'42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,231',
',,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64',
'65,,,,68,,66,67,69,313,314,73,74,,,,,,309,310,316,102,101,103,104,,',
'233,,,,,,,46,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43',
'41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,',
',90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65',
',,,68,,66,67,69,313,314,73,74,,,,,,309,310,316,102,101,103,104,,,233',
',,,,,,46,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,',
',,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90',
'80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,',
'68,,66,67,69,313,314,73,74,,,,,,309,310,316,102,101,103,104,,,233,,',
',,,,46,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,',
',,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80',
'83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68',
',66,67,69,313,314,73,74,,,,,,309,310,316,102,101,103,104,,,233,,,,,',
',46,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,',
',,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83',
'84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66',
'67,69,313,314,73,74,,,,,,309,310,316,102,101,103,104,,,233,,,,,,,46',
',,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,',
',,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83,84',
',85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67',
'69,313,314,73,74,,,,,,309,310,316,102,101,103,104,,,233,,,,,,,46,,,106',
'105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,',
',,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87',
'86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,313',
'314,73,74,,,,,,309,310,316,102,101,103,104,,,233,,,,,,,46,,,106,105',
'107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226',
',,232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87,86,88',
',,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,313,314,73',
'74,,,,,,309,310,316,102,101,103,104,,,233,,,,,,,46,,,106,105,107,96',
'57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232',
',,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87,86,88,,,,,81',
'89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,313,314,73,74,,',
',,,309,310,316,102,101,103,104,,,233,,,,,,,46,,,106,105,107,96,57,98',
'97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59',
'60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,',
',,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,313,314,73,74,,,,,,309',
'310,316,102,101,103,104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99',
',100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,',
'61,,,,,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70',
'71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,313,314,73,74,,,,,,309,310',
'316,102,101,103,104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99,,100',
'108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,',
',,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72',
'63,58,82,94,95,64,65,,,,68,,66,67,69,313,314,73,74,,,,,,309,310,316',
'102,101,103,104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99,,100,108',
'109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45',
',,,,,,,,231,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58',
'82,94,95,64,65,,,,68,,66,67,69,313,314,73,74,,,,,,309,310,316,102,101',
'103,104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99,,100,108,109,,92',
'93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,',
',,231,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94',
'95,64,65,,,,68,,66,67,69,313,314,73,74,,,,,,309,310,316,102,101,103',
'104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93',
'42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,231',
',,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64',
'65,,,,68,,66,67,69,313,314,73,74,,,,,,309,310,316,102,101,103,104,,',
'233,,,,,,,46,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43',
'41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,',
',90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65',
',,,68,,66,67,69,313,314,73,74,,,,,,309,310,316,102,101,103,104,,,233',
',,,,,,46,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,',
',,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90',
'80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,',
'68,,66,67,69,313,314,73,74,,,,,,309,310,316,102,101,103,104,,,233,,',
',,,,46,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,',
',,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80',
'83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68',
',66,67,69,313,314,73,74,,,,,,309,310,316,102,101,103,104,,,233,,,,,',
',46,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,',
',,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83',
'84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66',
'67,69,313,314,73,74,,,,,,309,310,316,102,101,103,104,,,233,,,,,,,46',
',,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,',
',,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83,84',
',85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67',
'69,313,314,73,74,,,,,,309,310,316,102,101,103,104,,,233,,,,,,,46,,,106',
'105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,',
',,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87',
'86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,313',
'314,73,74,,,,,,309,310,316,102,101,103,104,,,233,,,,,,,46,,,106,105',
'107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226',
',,232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87,86,88',
',,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,313,314,73',
'74,,,,,,309,310,316,102,101,103,104,,,233,,,,,,,46,,,106,105,107,96',
'57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232',
',,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87,86,88,,,,,81',
'89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,30,31,73,74,,,,',
',29,28,27,102,101,103,104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99',
'288,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60',
',,61,,285,,283,,45,,,289,,,,,,231,,,,,90,286,83,84,,85,87,86,88,,,,',
'81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,30,31,73,74,',
',,,,29,28,27,102,101,103,104,,,233,,,,,,,46,,,106,105,107,96,57,98,97',
'99,288,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59',
'60,,,61,,285,,283,,45,,,289,,,,,,231,,,,,90,286,83,84,,85,87,86,88,',
',,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,30,31,73,74',
',,,,,29,28,27,102,101,103,104,,,233,,,,,,,46,,,106,105,107,96,57,98',
'97,99,288,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,',
',59,60,,,61,,285,,283,,45,,,289,,,,,,231,,,,,90,286,83,84,,85,87,86',
'88,,,,,81,89,221,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,313',
'314,73,74,,,,,,309,310,316,102,101,103,104,,,233,,,,,,,46,,,106,105',
'107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226',
',,232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87,86,88',
',,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,313,314,73',
'74,,,,,,309,310,316,102,101,103,104,,,233,,,,,,,46,,,106,105,107,96',
'57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232',
',,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87,86,88,,,,,81',
'89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,313,314,73,74,,',
',,,309,310,316,102,101,103,104,,,233,,,,,,,46,,,106,105,107,96,57,98',
'97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59',
'60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,',
',,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,313,314,73,74,,,,,,309',
'310,316,102,101,103,104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99',
',100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,',
'61,,,,,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,,,',
'63,,82,94,95,70,71,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,',
',29,28,27,102,101,103,104,,,19,,,,,,8,46,,10,106,105,107,96,57,98,97',
'99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,59,60,',
',61,,35,,,,45,,,,,,,,,20,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70',
'71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,313,314,73,74,,,,,,309,310',
'316,102,101,103,104,,,233,,,,,,,311,,,106,105,107,96,57,98,97,99,,100',
'108,109,,92,93,,,317,,,,,,,,,,,,,,,,,,,,307,,,232,,,59,60,,,61,,,558',
',555,554,553,563,556,,,,,,,,,566,,90,80,83,84,,85,87,86,88,,,,,81,89',
',,,513,,561,63,,82,94,95,70,71,72,,58,574,573,,64,65,567,,,68,,66,67',
'69,313,314,73,74,,,,,,309,310,316,102,101,103,104,,,233,,,,,,,311,,',
'106,105,107,96,57,98,97,99,,100,108,109,,92,93,,,317,,,,,,,,,,,,,,,',
',,,,307,,,303,,,59,60,,,61,,,,,,,,,,,,,,,,,,,,90,80,83,84,,85,87,86',
'88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,313,314',
'73,74,,,,,,309,310,316,102,101,103,104,,,233,,,,,,,46,,,106,105,107',
'96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,',
',232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87,86,88,',
',,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,313,314,73',
'74,,,,,,309,310,316,102,101,103,104,,,233,,,,,,,46,,,106,105,107,96',
'57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232',
'530,,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87,86,88,,,',
',81,89,,,,,,,63,,82,94,95,70,71,72,9,58,,,,64,65,,,,68,,66,67,69,30',
'31,73,74,,,,,,29,28,27,102,101,103,104,,,19,,,,,,8,46,,10,106,105,107',
'96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,40,,',
'33,,,59,60,,,61,,35,,,,45,,,,,,,,,20,,,,,90,80,83,84,,85,87,86,88,,',
',,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,30,31,73,74',
',,,,,29,28,27,102,101,103,104,,,19,,,,,,,46,,,106,105,107,96,57,98,97',
'99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60',
',,61,,,,,,45,,,,,,,,,20,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70',
'71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29,28,27',
'102,101,103,104,,,19,,,,,,,46,,,106,105,107,96,57,98,97,99,,100,108',
'109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45',
',,,,,,,,20,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58',
'82,94,95,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101,103',
'104,,,19,,,,,,,46,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42',
'43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,20,',
',,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64',
'65,,,,68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101,103,104,,,19,,',
',,,,46,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,',
',,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,20,,,,,90,80',
'83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68',
',66,67,69,313,314,73,74,,,,,,309,310,316,102,101,103,104,,,233,,,,,',
',46,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,',
',,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83',
'84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66',
'67,69,30,31,73,74,,,,,,29,28,27,102,101,103,104,,,233,,,,,,,46,,,106',
'105,107,96,57,98,97,99,288,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,',
',,,,,,226,,,232,,,59,60,,,61,,285,,283,,45,,,289,,,,,,231,,,,,90,286',
'83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68',
',66,67,69,313,314,73,74,,,,,,309,310,316,102,101,103,104,,,233,,,,,',
',46,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,',
',,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83',
'84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66',
'67,69,313,314,73,74,,,,,,309,310,316,102,101,103,104,,,233,,,,,,,46',
',,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,',
',,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83,84',
',85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67',
'69,313,314,73,74,,,,,,309,310,316,102,101,103,104,,,233,,,,,,,46,,,106',
'105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,',
',,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87',
'86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,313',
'314,73,74,,,,,,309,310,316,102,101,103,104,,,233,,,,,,,46,,,106,105',
'107,96,57,98,97,99,288,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,',
',,226,,,232,,,59,60,,,61,,668,,283,,45,,,289,,,,,,231,,,,,90,286,83',
'84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66',
'67,69,313,314,73,74,,,,,,309,310,316,102,101,103,104,,,233,,,,,,,46',
',,106,105,107,96,57,98,97,99,288,100,108,109,,92,93,42,43,41,,,,,,,',
',,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,283,,45,,,289,,,,,,231,,,,,90',
'286,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,',
',68,,66,67,69,313,314,73,74,,,,,,309,310,316,102,101,103,104,,,233,',
',,,,,46,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,',
',,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80',
'83,84,,85,87,86,88,,,,,81,89,,,,,,,63,,82,94,95,70,71,72,9,58,,,,64',
'65,,,,68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101,103,104,,,19,,',
',,,8,46,296,10,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43',
'41,,,,,,,,,,,,,,,,,,,,40,,,33,,,59,60,,,61,,35,,,,45,,,,,,,,,20,,,,',
'90,80,83,84,,85,87,86,88,,,,,81,89,,,,,,393,63,,82,94,95,70,71,72,,58',
',,,64,65,,,,68,,66,67,69,313,314,73,74,,,,,,309,310,316,102,101,103',
'104,,,233,,,,,,,311,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93',
',,317,,,,,,,,,,,,,,,,,,,,307,,,303,,,59,60,,,61,,,,,,,,,,,,,,,,,,,,90',
'80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,',
'68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101,103,104,,,233,,,,,,,46',
',,106,105,107,96,57,98,97,99,288,100,108,109,,92,93,42,43,41,,,,,,,',
',,,,,,,,,,,,226,,,232,,,59,60,,,61,,285,,283,,45,,,289,,,,,,231,,,,',
'90,286,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65',
',,,68,,66,67,69,313,314,73,74,,,,,,309,310,316,102,101,103,104,,,233',
',,,,,,311,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93,,,317,,,',
',,,,,,,,,,,,,,,,307,,,303,,,59,60,,,61,,,,,,,,,,,,,,,,,,,,90,80,83,84',
',85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67',
'69,313,314,73,74,,,,,,309,310,316,102,101,103,104,,,233,,,,,,,46,,,106',
'105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,',
',,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87',
'86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,313',
'314,73,74,,,,,,309,310,316,102,101,103,104,,,233,,,,,,,46,,,106,105',
'107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226',
',,232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87,86,88',
',,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,30,31,73',
'74,,,,,,29,28,27,102,101,103,104,,,19,,,,,,,46,,,106,105,107,96,57,98',
'97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59',
'60,,,61,,,,,,45,,,,,,,,,20,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,',
',70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,313,314,73,74,,,,,,309',
'310,316,102,101,103,104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99',
'288,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60',
',,61,,668,,,,45,,,289,,,,,,231,,,,,90,286,83,84,,85,87,86,88,,,,,81',
'89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,313,314,73,74,,',
',,,309,310,316,102,101,103,104,,,233,,,,,,,46,,,106,105,107,96,57,98',
'97,99,288,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,',
',59,60,,,61,,,,,,45,,,289,,,,,,231,,,,,90,286,83,84,,85,87,86,88,,,',
',81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,313,314,73,74',
',,,,,309,310,316,102,101,103,104,,,233,,,,,,,46,,,106,105,107,96,57',
'98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,',
',59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87,86,88,,,,,81',
'89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,313,314,73,74,,',
',,,309,310,316,102,101,103,104,,,233,,,,,,,46,,,106,105,107,96,57,98',
'97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59',
'60,,,61,,285,,,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87,86,88,,,,,81,89',
',,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29',
'28,27,102,101,103,104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99,288',
'100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61',
',285,,283,,45,,,289,,,,,,231,,,,,90,286,83,84,,85,87,86,88,,,,,81,89',
',,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29',
'28,27,102,101,103,104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99,288',
'100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61',
',285,,283,,45,,,289,,,,,,231,,,,,90,286,83,84,,85,87,86,88,,,,,81,89',
',,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,313,314,73,74,,,,,',
'309,310,316,102,101,103,104,,,233,,,,,,,46,,,106,105,107,96,57,98,97',
'99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60',
',,61,,762,,,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,',
',,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29',
'28,27,102,101,103,104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99,,100',
'108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,',
',,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72',
'63,58,82,94,95,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101',
'103,104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99,288,100,108,109',
',92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,285,,283',
',45,,,289,,,,,,231,,,,,90,286,83,84,,85,87,86,88,,,,,81,89,,,,,,,63',
',82,94,95,70,71,72,9,58,,,,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29',
'28,27,102,101,103,104,,,19,,,,,,8,46,,10,106,105,107,96,57,98,97,99',
',100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,59,60,,,61',
',35,,,,45,,,,,,,,,20,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71',
'72,63,58,82,94,95,64,65,,,,68,,66,67,69,313,314,73,74,,,,,,309,310,316',
'102,101,103,104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99,,100,108',
'109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45',
',,,,,,,,231,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58',
'82,94,95,64,65,,,,68,,66,67,69,313,314,73,74,,,,,,309,310,316,102,101',
'103,104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99,288,100,108,109',
',92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,668,,283',
',45,,,289,,,,,,231,,,,,90,286,83,84,,85,87,86,88,,,,,81,89,,,,70,71',
'72,63,58,82,94,95,64,65,,,,68,,66,67,69,313,314,73,74,,,,,,309,310,316',
'102,101,103,104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99,288,100',
'108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,',
',283,,45,,,289,,,,,,231,,,,,90,286,83,84,,85,87,86,88,,,,,81,89,,,,70',
'71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29,28,27',
'102,101,103,104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99,,100,108',
'109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45',
',,,,,,,,231,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58',
'82,94,95,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101,103',
'104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93',
'42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,231',
',,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64',
'65,,,,68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101,103,104,,,233,',
',,,,,46,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,',
',,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80',
'83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68',
',66,67,69,30,31,73,74,,,,,,29,28,27,102,101,103,104,,,233,,,,,,,46,',
',106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,',
',,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83,84,',
'85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67',
'69,313,314,73,74,,,,,,309,310,316,102,101,103,104,,,233,,,,,,,46,,,106',
'105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,',
',,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87',
'86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,313',
'314,73,74,,,,,,309,310,316,102,101,103,104,,,233,,,,,,,46,,,106,105',
'107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226',
',,232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87,86,88',
',,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,313,314,73',
'74,,,,,,309,310,316,102,101,103,104,,,233,,,,,,,311,,,106,105,107,96',
'57,98,97,99,,100,108,109,,92,93,,,317,,,,,,,,,,,,,,,,,,,,307,,,303,',
',59,60,,,61,,,,,,,,,,,,,,,,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,',
',70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,313,314,73,74,,,,,,309',
'310,316,102,101,103,104,,,233,,,,,,,311,,,106,105,107,96,57,98,97,99',
',100,108,109,,92,93,,,317,,,,,,,,,,,,,,,,,,,,307,,,303,,,59,60,,,61',
',,,,,,,,,,,,,,,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63',
'58,82,94,95,64,65,,,,68,,66,67,69,313,314,73,74,,,,,,309,310,316,102',
'101,103,104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99,,100,108,109',
',92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,409,,,,45',
',,,,,,,,231,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58',
'82,94,95,64,65,,,,68,,66,67,69,313,314,73,74,,,,,,309,310,316,102,101',
'103,104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99,,100,108,109,,92',
'93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,',
',,231,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94',
'95,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101,103,104,',
',19,,,,,,,46,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43',
'41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,20,,,,',
'90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65',
',,,68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101,103,104,,,19,,,,,',
',46,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,',
',,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,20,,,,,90,80,83',
'84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66',
'67,69,313,314,73,74,,,,,,309,310,316,102,101,103,104,,,233,,,,,,,46',
',,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,',
',,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83,84',
',85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67',
'69,30,31,73,74,,,,,,29,28,27,102,101,103,104,,,233,,,,,,,46,,,106,105',
'107,96,57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226',
',,232,,,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87,86,88',
',,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,313,314,73',
'74,,,,,,309,310,316,102,101,103,104,,,233,,,,,,,46,,,106,105,107,96',
'57,98,97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232',
',,59,60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87,86,88,,,,,81',
'89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,313,314,73,74,,',
',,,309,310,316,102,101,103,104,,,233,,,,,,,46,,,106,105,107,96,57,98',
'97,99,,100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59',
'60,,,61,,,,,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,',
',,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,313,314,73,74,,,,,,309',
'310,316,102,101,103,104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99',
',100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,',
'61,,,,,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70',
'71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,313,314,73,74,,,,,,309,310',
'316,102,101,103,104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99,,100',
'108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,',
',,,45,,,,,,,,,231,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72',
'63,58,82,94,95,64,65,,,,68,,66,67,69,313,314,73,74,,,,,,309,310,316',
'102,101,103,104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99,,100,108',
'109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45',
',,,,,,,,231,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58',
'82,94,95,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29,28,27,102,101,103',
'104,,,19,,,,,,,46,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42',
'43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,20,',
',,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64',
'65,,,,68,,66,67,69,313,314,73,74,,,,,,309,310,316,102,101,103,104,,',
'233,,,,,,,46,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93,42,43',
'41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,668,,,,45,,,,,,,,,231',
',,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64',
'65,,,,68,,66,67,69,313,314,73,74,,,,,,309,310,316,102,101,103,104,,',
'233,,,,,,,46,,,106,105,107,96,57,98,97,99,288,100,108,109,,92,93,42',
'43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,283,,45,,,289,,,',
',,231,,,,,90,286,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94',
'95,64,65,,,,68,,66,67,69,313,314,73,74,,,,,,309,310,316,102,101,103',
'104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93',
'42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61,,,,,,45,,,,,,,,,231',
',,,,90,80,83,84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64',
'65,,,,68,,66,67,69,313,314,73,74,,,,,,309,310,316,102,101,103,104,,',
'233,,,,,,,311,,,106,105,107,96,57,98,97,99,,100,108,109,,92,93,,,317',
',,,,,,,,,,,,,,,,,,,935,,,232,,,59,60,,,61,,,,,,,,,,,,,,,,,,,,90,80,83',
'84,,85,87,86,88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66',
'67,69,313,314,73,74,,,,,,309,310,316,102,101,103,104,,,233,,,,,,,311',
',,106,105,107,96,57,98,97,99,,100,108,109,,92,93,,,317,,,,,,,,,,,,,',
',,,,,,941,,,232,,,59,60,,,61,,,,,,,,,,,,,,,,,,,,90,80,83,84,,85,87,86',
'88,,,,,81,89,,,,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,313,314',
'73,74,,,,,,309,310,316,102,101,103,104,,,233,,,,,,,311,,,106,105,107',
'96,57,98,97,99,,100,108,109,,92,93,,,317,,,,,,,,,,,,,,,,,,,,935,,,232',
',,59,60,,,61,,,,,,,,,,,,,,,,,,,,90,80,83,84,,85,87,86,88,,,,,81,89,',
',,70,71,72,63,58,82,94,95,64,65,,,,68,,66,67,69,30,31,73,74,,,,,,29',
'28,27,102,101,103,104,,,233,,,,,,,46,,,106,105,107,96,57,98,97,99,288',
'100,108,109,,92,93,42,43,41,,,,,,,,,,,,,,,,,,,,226,,,232,,,59,60,,,61',
',285,,283,,45,,,289,,,,,,231,,,,,90,286,83,84,,85,87,86,88,,,,,81,89',
',,,,,,63,,82,94,95,174,185,175,198,171,191,181,180,201,202,196,179,178',
'173,199,203,204,183,172,186,190,192,184,177,,,,193,200,195,194,187,197',
'182,170,189,188,,,,,,169,176,167,168,164,165,166,125,127,124,,126,,',
',,,,,158,159,,155,137,138,139,146,143,145,,,140,141,,,,160,161,147,148',
',,,,,,,,,,,,,152,151,,136,157,154,153,162,149,150,144,142,134,156,135',
',,163,90,,,,,,,,,,,,,,89,174,185,175,198,171,191,181,180,201,202,196',
'179,178,173,199,203,204,183,172,186,190,192,184,177,,,,193,200,195,194',
'187,197,182,170,189,188,,,,,,169,176,167,168,164,165,166,125,127,,,126',
',,,,,,,158,159,,155,137,138,139,146,143,145,,,140,141,,,,160,161,147',
'148,,,,,,,,,,,,,,152,151,,136,157,154,153,162,149,150,144,142,134,156',
'135,,,163,90,,,,,,,,,,,,,,89,174,185,175,198,171,191,181,180,201,202',
'196,179,178,173,199,203,204,183,172,186,190,192,184,177,,,,193,200,195',
'194,187,197,182,170,189,188,,,,,,169,176,167,168,164,165,166,125,127',
',,126,,,,,,,,158,159,,155,137,138,139,146,143,145,,,140,141,,,,160,161',
'147,148,,,,,,,,,,,,,,152,151,,136,157,154,153,162,149,150,144,142,134',
'156,135,,,163,90,,,,,,,,,,,,,,89,174,185,175,198,171,191,181,180,201',
'202,196,179,178,173,199,203,204,183,172,186,190,192,184,177,,,,193,200',
'195,194,187,197,182,170,189,188,,,,,,169,176,167,168,164,165,166,125',
'127,,,126,,,,,,,,158,159,,155,137,138,139,146,143,145,,,140,141,,,,160',
'161,147,148,,,,,,,,,,,,,,152,151,,136,157,154,153,162,149,150,144,142',
'134,156,135,,,163,90,,,,,,,,,,,,,,89,174,185,175,198,171,191,181,180',
'201,202,196,179,178,173,199,203,204,183,172,186,190,192,184,177,,,,193',
'200,195,376,375,377,374,170,189,188,,,,,,169,176,167,168,371,372,373',
'369,127,98,97,370,,100,,,,,,158,159,,155,137,138,139,146,143,145,,,140',
'141,,,,160,161,147,148,,,,,,381,,,,,,,,152,151,,136,157,154,153,162',
'149,150,144,142,134,156,135,,,163,174,185,175,198,171,191,181,180,201',
'202,196,179,178,173,199,203,204,183,172,186,190,192,184,177,,,,193,200',
'195,194,187,197,182,170,189,188,,,,,,169,176,167,168,164,165,166,125',
'127,,,126,,,,,,,,158,159,,155,137,138,139,146,143,145,,,140,141,,,,160',
'161,147,148,,,,,,,,,,,,,,152,151,,136,157,154,153,162,149,150,144,142',
'134,156,135,431,435,163,,432,,,,,,,,158,159,,155,137,138,139,146,143',
'145,,,140,141,,,,160,161,147,148,,,,,,267,,,,,,,,152,151,,136,157,154',
'153,162,149,150,144,142,134,156,135,438,442,163,,437,,,,,,,,158,159',
',155,137,138,139,146,143,145,,,140,141,,,,160,161,147,148,,,,,,267,',
',,,,,,152,151,,136,157,154,153,162,149,150,144,142,134,156,135,483,435',
'163,,484,,,,,,,,158,159,,155,137,138,139,146,143,145,,,140,141,,,,160',
'161,147,148,,,,,,,,,,,,,,152,151,,136,157,154,153,162,149,150,144,142',
'134,156,135,649,435,163,,650,,,,,,,,158,159,,155,137,138,139,146,143',
'145,,,140,141,,,,160,161,147,148,,,,,,267,,,,,,,,152,151,,136,157,154',
'153,162,149,150,144,142,134,156,135,651,442,163,,652,,,,,,,,158,159',
',155,137,138,139,146,143,145,,,140,141,,,,160,161,147,148,,,,,,267,',
',,,,,,152,151,,136,157,154,153,162,149,150,144,142,134,156,135,679,435',
'163,,680,,,,,,,,158,159,,155,137,138,139,146,143,145,,,140,141,,,,160',
'161,147,148,,,,,,267,,,,,,,,152,151,,136,157,154,153,162,149,150,144',
'142,134,156,135,682,442,163,,683,,,,,,,,158,159,,155,137,138,139,146',
'143,145,,,140,141,,,,160,161,147,148,,,,,,267,,,,,,,,152,151,,136,157',
'154,153,162,149,150,144,142,134,156,135,649,435,163,,650,,,,,,,,158',
'159,,155,137,138,139,146,143,145,,,140,141,,,,160,161,147,148,,,,,,267',
',,,,,,,152,151,,136,157,154,153,162,149,150,144,142,134,156,135,651',
'442,163,,652,,,,,,,,158,159,,155,137,138,139,146,143,145,,,140,141,',
',,160,161,147,148,,,,,,267,,,,,,,,152,151,,136,157,154,153,162,149,150',
'144,142,134,156,135,730,435,163,,731,,,,,,,,158,159,,155,137,138,139',
'146,143,145,,,140,141,,,,160,161,147,148,,,,,,267,,,,,,,,152,151,,136',
'157,154,153,162,149,150,144,142,134,156,135,732,442,163,,733,,,,,,,',
'158,159,,155,137,138,139,146,143,145,,,140,141,,,,160,161,147,148,,',
',,,267,,,,,,,,152,151,,136,157,154,153,162,149,150,144,142,134,156,135',
'735,442,163,,736,,,,,,,,158,159,,155,137,138,139,146,143,145,,,140,141',
',,,160,161,147,148,,,,,,267,,,,,,,,152,151,,136,157,154,153,162,149',
'150,144,142,134,156,135,483,435,163,,484,,,,,,,,158,159,,155,137,138',
'139,146,143,145,,,140,141,,,,160,161,147,148,,,,,,267,,,,,,,,152,151',
',136,157,154,153,162,149,150,144,142,134,156,135,764,435,163,,765,,',
',,,,,158,159,,155,137,138,139,146,143,145,,,140,141,,,,160,161,147,148',
',,,,,267,,,,,,,,152,151,,136,157,154,153,162,149,150,144,142,134,156',
'135,767,442,163,,766,,,,,,,,158,159,,155,137,138,139,146,143,145,,,140',
'141,,,,160,161,147,148,,,,,,267,,,,,,,,152,151,,136,157,154,153,162',
'149,150,144,142,134,156,135,1008,442,163,,1007,,,,,,,,158,159,,155,137',
'138,139,146,143,145,,,140,141,,,,160,161,147,148,,,,,,267,,,,,,,,152',
'151,,136,157,154,153,162,149,150,144,142,134,156,135,1011,435,163,,1012',
',,,,,,,158,159,,155,137,138,139,146,143,145,,,140,141,,,,160,161,147',
'148,,,,,,267,,,,,,,,152,151,,136,157,154,153,162,149,150,144,142,134',
'156,135,1013,442,163,,1014,,,,,,,,158,159,,155,137,138,139,146,143,145',
',,140,141,,,,160,161,147,148,,,,,,267,,,,,,,,152,151,,136,157,154,153',
'162,149,150,144,142,134,156,135,,558,163,555,554,553,563,556,,558,,555',
'554,553,563,556,566,,,,,,,,566,,558,,555,554,553,563,556,,,,,,561,544',
',566,,,,,561,571,570,574,573,,,,567,571,570,574,573,,,,567,561,,558',
',555,554,553,563,556,571,570,574,573,,,,567,566,,558,,555,554,553,563',
'556,,558,,555,554,553,563,556,566,,,,,561,,,566,,,,,,571,570,574,573',
',,,567,561,,,,,,,,561,571,570,574,573,,,,567,571,570,574,573,,,558,567',
'555,554,553,563,556,,558,,555,554,553,563,556,566,,,,,,,,566,,558,,555',
'554,553,563,556,,,,,,561,,,566,,,,,561,571,570,574,573,,,,567,571,570',
'574,573,,,,567,561,,558,,555,554,553,563,556,571,570,574,573,,,,567',
'566,,558,,555,554,553,563,556,,558,,555,554,553,563,556,566,,,,,561',
',,566,,,,,,,,574,573,,,,567,561,,,,,,,,561,,,574,573,,,,567,571,570',
'574,573,,,558,567,555,554,553,563,556,558,,555,554,553,563,556,558,566',
'555,554,553,563,556,558,566,555,554,553,563,556,,566,,,,,,,566,561,',
',,,,,561,,,,574,573,,561,,567,,574,573,,561,,567,,574,573,,,,567,,574',
'573,,,,567' ]
        racc_action_table = arr = ::Array.new(25100, 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 = [
'96,447,447,602,602,17,350,96,96,96,59,343,96,96,96,24,96,26,19,388,44',
'44,24,344,96,389,96,96,96,62,360,658,224,1,360,351,96,96,728,96,96,96',
'96,96,884,907,938,939,942,354,59,588,17,674,984,124,44,44,312,19,124',
'124,17,674,656,696,96,96,96,96,96,96,96,96,96,96,96,96,96,96,24,26,96',
'96,96,388,96,96,580,224,96,389,730,96,96,447,96,602,96,656,96,7,96,96',
'26,96,96,96,96,96,1011,96,99,96,1012,350,62,731,658,99,99,99,312,1013',
'99,99,99,96,99,343,96,96,96,96,343,96,99,96,99,99,99,344,96,96,351,312',
'344,679,99,99,1014,99,99,99,99,99,728,1025,354,728,588,728,884,907,938',
'939,942,884,907,938,939,942,984,581,696,732,846,984,99,99,99,99,99,99',
'99,99,99,99,99,99,99,99,580,10,99,99,99,580,99,99,1013,730,99,12,680',
'99,99,847,99,733,99,3,99,679,99,99,3,99,99,99,99,99,437,99,225,99,731',
'1014,1011,437,437,437,1012,1011,662,437,437,1012,437,99,732,1013,99',
'99,99,99,1013,99,13,99,689,689,227,679,99,99,679,15,437,437,802,437',
'437,437,437,437,679,22,1014,662,680,369,682,1014,733,1025,333,581,369',
'333,1025,225,581,416,732,846,598,598,437,437,437,437,437,437,437,437',
'437,437,437,437,437,437,37,453,437,437,437,370,437,227,680,847,437,680',
'370,437,847,912,733,912,437,40,437,680,437,437,802,437,437,437,437,437',
'383,437,438,437,369,682,682,78,416,438,438,438,689,14,14,438,438,437',
'438,78,437,437,46,437,110,437,292,438,453,78,205,292,437,437,802,358',
'38,802,438,438,370,438,438,438,438,438,682,802,598,682,342,342,226,598',
'713,649,713,713,713,682,713,41,41,228,383,383,383,229,438,438,438,438',
'438,438,438,438,438,438,438,438,438,438,233,38,438,438,438,358,438,317',
'317,501,438,38,358,438,347,650,266,358,438,347,438,358,438,438,39,438',
'438,438,438,438,649,438,438,438,613,903,615,903,903,903,358,903,371',
'850,280,359,764,438,850,371,438,438,651,438,713,438,281,41,41,651,651',
'651,438,438,651,651,651,284,651,296,358,39,650,501,501,501,372,651,651',
'651,651,39,855,372,297,317,317,855,651,651,501,651,651,651,651,651,299',
'359,613,613,615,615,384,764,359,385,300,371,613,359,615,386,301,359',
'307,765,310,903,651,651,651,651,651,651,651,651,651,651,651,651,651',
'651,359,311,651,651,651,334,651,651,334,372,651,387,321,651,651,390',
'651,373,651,316,651,431,651,651,373,651,651,651,651,651,359,651,651',
'651,384,384,384,385,385,385,765,374,318,386,386,386,432,651,374,322',
'651,651,651,651,375,651,325,651,652,321,787,375,651,651,331,652,652',
'652,431,321,652,652,652,335,652,387,387,387,431,390,390,390,373,336',
'652,652,652,337,695,859,337,695,634,432,652,652,338,652,652,652,652',
'652,348,432,349,16,374,47,376,377,701,701,16,379,47,376,377,787,353',
'375,379,16,355,47,652,652,652,652,652,652,652,652,652,652,652,652,652',
'652,364,634,652,652,652,399,652,652,859,946,652,634,946,652,652,405',
'652,408,652,410,652,413,652,652,459,652,652,652,652,652,766,652,16,652',
'47,376,377,766,766,766,379,719,719,766,766,417,766,652,467,427,652,652',
'652,652,429,652,459,652,735,430,459,459,652,652,467,467,766,766,439',
'766,766,766,766,766,449,223,994,994,461,304,467,462,223,463,467,467',
'304,467,467,464,480,223,487,489,491,304,766,766,766,766,766,766,766',
'766,766,766,766,766,766,766,735,305,766,766,766,492,766,735,305,508',
'766,509,735,766,512,514,735,305,766,519,766,522,766,766,531,766,766',
'766,766,766,223,766,767,766,304,735,532,534,546,767,767,767,698,547',
'460,767,767,766,767,549,766,766,698,766,306,766,550,767,551,560,568',
'306,766,766,572,735,305,575,767,767,306,767,767,767,767,767,460,308',
'577,582,460,460,583,600,308,698,698,610,618,620,698,606,606,308,626',
'606,606,606,767,767,767,767,767,767,767,767,767,767,767,767,767,767',
'635,640,767,767,767,323,767,306,352,645,767,653,323,767,654,352,657',
'659,767,665,767,323,767,767,352,767,767,767,767,767,308,767,767,767',
'790,667,790,790,790,790,790,362,6,6,6,6,6,767,362,790,767,767,27,767',
'673,767,676,362,678,27,27,27,767,767,27,27,27,681,27,684,323,790,685',
'352,688,474,690,27,27,27,790,790,790,790,693,697,712,790,27,27,714,27',
'27,27,27,27,835,721,835,835,835,415,835,726,729,738,362,474,415,742',
'761,474,474,790,474,474,763,415,27,27,27,27,27,27,27,27,27,27,27,27',
'27,27,772,835,27,27,27,801,805,27,808,27,27,809,817,27,27,818,27,819',
'27,823,27,824,27,27,826,27,27,27,27,27,28,27,27,27,415,827,829,28,28',
'28,832,834,28,28,28,518,28,27,837,840,27,27,518,27,849,27,28,28,853',
'854,857,518,27,858,865,866,28,28,868,28,28,28,28,28,869,870,872,591',
'873,683,874,887,888,905,591,909,683,910,916,920,932,683,935,591,941',
'683,28,28,28,28,28,28,28,28,28,28,28,28,28,28,518,950,28,28,28,951,952',
'28,953,28,28,954,956,28,28,967,28,970,28,971,28,972,28,28,973,28,28',
'28,28,28,57,28,591,28,683,975,980,57,57,57,993,995,57,57,57,934,57,28',
'996,1007,28,28,934,28,1008,28,57,57,57,1010,1016,934,28,1017,1021,1022',
'57,57,1023,57,57,57,57,57,1024,736,1032,940,,977,,,736,,940,,977,736',
',,,736,,940,,977,57,57,57,57,57,57,57,57,57,57,57,57,57,57,934,922,57',
'57,57,,,57,,,57,922,,57,57,,57,,57,,57,,57,57,,57,57,57,57,57,736,57',
'940,57,977,889,,889,889,889,,889,,,922,922,,57,475,922,57,57,57,57,',
'57,433,57,,,,,57,433,433,433,,,433,433,433,561,433,561,561,561,,561',
',,475,433,433,433,475,475,,475,475,,,,433,433,,433,433,433,433,433,904',
',904,904,904,,904,710,561,710,710,710,986,710,986,986,986,561,986,,',
',433,433,433,433,433,433,433,433,433,433,433,433,433,433,,904,433,433',
'433,,,433,710,433,433,,,433,433,,433,710,433,,433,,433,433,,433,433',
'433,433,433,,433,433,433,706,,706,706,706,706,706,295,295,295,295,295',
',433,,706,433,433,442,433,,433,,,,442,442,442,433,,442,442,442,,442',
'479,833,706,833,833,833,,833,442,442,442,442,,706,706,,479,479,706,442',
'442,,442,442,442,442,442,955,,955,955,955,479,955,479,,479,479,833,479',
'479,,,479,,479,,833,,442,442,442,442,442,442,442,442,442,442,442,442',
'442,442,,955,442,442,442,,,442,,,442,,,442,442,,442,,442,,442,,442,442',
',442,442,442,442,442,,442,442,442,,,957,,957,957,957,,957,,,,,442,,',
'442,442,442,442,,442,443,442,,,,,442,443,443,443,,,443,443,443,528,443',
'957,506,506,506,506,506,,,443,443,443,443,,,528,528,,,,443,443,,443',
'443,443,443,443,,,,528,,528,,528,528,,528,528,,,528,,528,533,533,533',
'533,533,443,443,443,443,443,443,443,443,443,443,443,443,443,443,,,443',
'443,443,,,443,,,443,,,443,443,,443,,443,,443,,443,443,,443,443,443,443',
'443,,443,443,443,,,992,,992,992,992,,992,,,,,443,,,443,443,443,443,',
'443,482,443,,,,,443,482,482,482,,,482,482,482,465,482,992,,,,,,,,482',
'482,,,,,465,465,,,,482,482,,482,482,482,482,482,,,,465,,465,,465,465',
',465,465,,,,21,21,21,21,21,21,21,21,21,21,21,,21,21,,,21,21,482,,,,',
',,482,,,,,482,482,21,,21,,21,21,,21,21,21,21,21,,21,,,,,,,,482,482,',
',,,,,,,,,21,,,482,,,482,,,,,482,0,0,0,0,0,0,482,,,0,0,,,,0,,0,0,0,0',
'0,0,0,,,,,,0,0,0,0,0,0,0,,,0,,,,,420,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,0',
',0,0,0,0,0,420,420,420,420,420,420,420,420,420,420,420,,420,420,,,420',
'420,,0,,,0,,,0,0,,,0,,0,420,,420,0,420,420,,420,420,420,420,420,0,420',
',,,0,0,0,0,,0,0,0,0,,,,,0,0,,420,,420,,,0,,0,0,0,33,33,33,33,33,33,',
',,33,33,,,,33,,33,33,33,33,33,33,33,,,,,,33,33,33,33,33,33,33,,,33,',
',,,426,33,33,33,33,33,33,33,33,33,33,33,33,,33,33,33,,33,33,33,33,33',
'426,426,426,426,426,426,426,426,426,426,426,,426,426,,,426,426,,33,',
',33,,,33,33,,,33,,33,426,,426,33,426,426,,426,426,426,426,426,33,426',
',,,33,33,33,33,,33,33,33,33,,,,,33,33,,426,,,,,33,,33,33,33,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,278,278,278,278,278',
'278,278,278,278,278,278,,278,278,,,278,278,,122,,,122,,,122,122,,,122',
',122,278,,278,122,278,278,,278,278,278,278,278,122,278,,,,122,122,122',
'122,,122,122,122,122,,,,,122,122,,278,,,,,122,,122,122,122,207,207,207',
'207,207,207,,,,207,207,,,,207,,207,207,207,207,207,207,207,,,,,,207',
'207,207,207,207,207,207,,,207,,,,,,207,207,207,207,207,207,207,207,207',
'207,207,207,,207,207,207,,207,207,207,207,207,478,478,478,478,478,478',
'478,478,478,478,478,,478,478,,,478,478,,207,,,207,,,207,207,,,207,,207',
'478,,478,207,478,478,,478,478,478,478,478,207,478,,,,207,207,207,207',
',207,207,207,207,,,,,207,207,478,478,,,,,207,,207,207,207,232,232,232',
'232,232,232,,,,232,232,,,,232,,232,232,232,232,232,232,232,,,,,,232',
'232,232,232,232,232,232,,,232,,,,,,232,232,232,232,232,232,232,232,232',
'232,232,232,,232,232,232,,232,232,232,232,232,529,529,529,529,529,529',
'529,529,529,529,529,,529,529,,,529,529,,232,,,232,,,232,232,,,232,,232',
'529,,529,232,529,529,,529,529,529,529,529,232,529,,,,232,232,232,232',
',232,232,232,232,,,,,232,232,,529,,,,,232,,232,232,232,298,298,298,298',
'298,298,,,,298,298,,,,298,,298,298,298,298,298,298,298,,,,,,298,298',
'298,298,298,298,298,,,298,,,,,,298,298,298,298,298,298,298,298,298,298',
'298,298,,298,298,298,,298,298,298,298,298,769,769,769,769,769,769,769',
'769,769,769,769,,769,769,,,769,769,,298,,,298,,,298,298,,,298,,298,769',
',769,298,769,769,,769,769,769,769,769,298,769,,,,298,298,298,298,,298',
'298,298,298,,,,,298,298,,769,,,,,298,,298,298,298,303,303,303,303,303',
'303,,,,303,303,,,,303,,303,303,303,303,303,303,303,,,,,,303,303,303',
'303,303,303,303,,,303,,,,,,303,303,303,303,303,303,303,303,303,303,303',
'303,,303,303,303,,303,303,303,303,303,864,864,864,864,864,864,864,864',
'864,864,864,,864,864,,,864,864,,303,,,303,,,303,303,,,303,,303,864,',
'864,303,864,864,,864,864,864,864,864,303,864,,,,303,303,303,303,,303',
'303,303,303,,,,,303,303,,864,,,,,303,,303,303,303,329,329,329,329,329',
'329,,,,329,329,,,,329,,329,329,329,329,329,329,329,,,,,,329,329,329',
'329,329,329,329,,,329,,,,,,329,329,329,329,329,329,329,329,329,329,329',
'329,,329,329,329,,329,329,329,329,329,457,457,457,457,457,457,457,457',
'457,457,457,,457,457,,,457,457,,329,,,329,,,329,329,,,329,,329,457,',
'457,329,457,457,,457,457,457,457,457,329,457,,,,329,329,329,329,,329',
'329,329,329,,,,,329,329,,,,,,,329,,329,329,329,507,507,507,507,507,507',
',,,507,507,,,,507,,507,507,507,507,507,507,507,,,,,,507,507,507,507',
'507,507,507,,,507,,,,,,507,507,507,507,507,507,507,507,507,507,507,507',
',507,507,507,,507,507,507,507,507,458,458,458,458,458,458,458,458,458',
'458,458,,458,458,,,458,458,,507,,,507,,,507,507,,,507,,507,458,,458',
'507,458,458,,458,458,458,458,458,507,458,,,,507,507,507,507,,507,507',
'507,507,,,,,507,507,,,,,,,507,,507,507,507,576,576,576,576,576,576,',
',,576,576,,,,576,,576,576,576,576,576,576,576,,,,,,576,576,576,576,576',
'576,576,,,576,,,,,,576,576,576,576,576,576,576,576,576,576,576,576,',
'576,576,576,,576,576,576,576,576,468,468,468,468,468,468,468,,,468,468',
',,,,,468,468,,576,,,576,,,576,576,,,576,,576,468,,468,576,468,468,,468',
'468,468,468,468,576,468,,,,576,576,576,576,,576,576,576,576,,,,,576',
'576,,,,,,,576,,576,576,576,579,579,579,579,579,579,,,,579,579,,,,579',
',579,579,579,579,579,579,579,,,,,,579,579,579,579,579,579,579,,,579',
',,,,,579,579,579,579,579,579,579,579,579,579,579,579,,579,579,579,,579',
'579,579,579,579,469,469,469,469,469,469,469,,,469,469,,,,,,469,469,',
'579,,,579,,,579,579,,,579,,579,469,,469,579,469,469,,469,469,469,469',
'469,579,469,,,,579,579,579,579,,579,579,579,579,,,,,579,579,,,,,,,579',
',579,579,579,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,470,470,470,470,470,470,470,,,470,470,,,,,,470,470,,599,,,599,,',
'599,599,,,599,,599,470,,470,599,470,470,,470,470,470,470,470,599,470',
',,,599,599,599,599,,599,599,599,599,,,,,599,599,,,,,,,599,,599,599,599',
'739,739,739,739,739,739,,,,739,739,,,,739,,739,739,739,739,739,739,739',
',,,,,739,739,739,739,739,739,739,,,739,,,,,,739,739,739,739,739,739',
'739,739,739,739,739,739,,739,739,739,,739,739,739,739,739,471,471,471',
'471,471,471,471,,,471,471,,,,,,471,471,,739,,,739,,,739,739,,,739,,739',
'471,,471,739,471,471,,471,471,471,471,471,739,471,,,,739,739,739,739',
',739,739,739,739,,,,,739,739,,,,,,,739,,739,739,739,743,743,743,743',
'743,743,,,,743,743,,,,743,,743,743,743,743,743,743,743,,,,,,743,743',
'743,743,743,743,743,,,743,,,,,,743,743,743,743,743,743,743,743,743,743',
'743,743,,743,743,743,,743,743,743,743,743,472,472,472,472,472,472,472',
',,472,472,,,,,,472,472,,743,,,743,,,743,743,,,743,,743,472,,472,743',
'472,472,,472,472,472,472,472,743,472,,,,743,743,743,743,,743,743,743',
'743,,,,,743,743,,,,,,,743,,743,743,743,753,753,753,753,753,753,,,,753',
'753,,,,753,,753,753,753,753,753,753,753,,,,,,753,753,753,753,753,753',
'753,,,753,,,,,,753,753,753,753,753,753,753,753,753,753,753,753,,753',
'753,753,,753,753,753,753,753,473,473,473,473,473,473,473,,,473,473,',
',,,,473,473,,753,,,753,,,753,753,,,753,,753,473,,473,753,473,473,,473',
'473,473,473,473,753,473,,,,753,753,753,753,,753,753,753,753,,,,,753',
'753,,,,,,,753,,753,753,753,792,792,792,792,792,792,,,,792,792,,,,792',
',792,792,792,792,792,792,792,,,,,,792,792,792,792,792,792,792,,,792',
',,,,,792,792,792,792,792,792,792,792,792,792,792,792,,792,792,792,,792',
'792,792,792,792,476,476,476,476,476,476,476,,,476,476,,,,,,476,476,',
'792,,,792,,,792,792,,,792,,792,476,,476,792,476,476,,476,476,476,476',
'476,792,476,,,,792,792,792,792,,792,792,792,792,,,,,792,792,,,,,,,792',
',792,792,792,796,796,796,796,796,796,,,,796,796,,,,796,,796,796,796',
'796,796,796,796,,,,,,796,796,796,796,796,796,796,,,796,,,,,,796,796',
'796,796,796,796,796,796,796,796,796,796,,796,796,796,,796,796,796,796',
'796,477,477,477,477,477,477,477,477,,477,477,,,,,,477,477,,796,,,796',
',,796,796,,,796,,796,477,,477,796,477,477,,477,477,477,477,477,796,477',
',,,796,796,796,796,,796,796,796,796,,,,,796,796,,,,,,,796,,796,796,796',
'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,466,,,,,,',
',,,,,,,,,466,466,,807,,,807,,,807,807,,,807,,807,466,,466,807,466,466',
',466,466,,,,807,,,,,807,807,807,807,,807,807,807,807,,,,,807,807,,,',
',,,807,,807,807,807,815,815,815,815,815,815,,,,815,815,,,,815,,815,815',
'815,815,815,815,815,,,,,,815,815,815,815,815,815,815,,,815,,,,,,815',
'815,815,815,815,815,815,815,815,815,815,815,,815,815,815,,815,815,815',
'815,815,,,,,,,,,,,,,,,,,,,,815,,,815,,,815,815,,,815,,815,,,,815,,,',
',,,,,815,,,,,815,815,815,815,,815,815,815,815,,,,,815,815,,,,,,,815',
',815,815,815,816,816,816,816,816,816,,,,816,816,,,,816,,816,816,816',
'816,816,816,816,,,,,,816,816,816,816,816,816,816,,,816,,,,,,816,816',
'816,816,816,816,816,816,816,816,816,816,,816,816,816,,816,816,816,816',
'816,,,,,,,,,,,,,,,,,,,,816,,,816,,,816,816,,,816,,816,,,,816,,,,,,,',
',816,,,,,816,816,816,816,,816,816,816,816,,,,,816,816,,,,,,,816,,816',
'816,816,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,841,,,,,841,841,,,,,,,841,,841,841,841',
'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,,,,,842,842',
'842,842,,842,842,842,842,,,,,842,842,,,,,,,842,,842,842,842,845,845',
'845,845,845,845,,,,845,845,,,,845,,845,845,845,845,845,845,845,,,,,',
'845,845,845,845,845,845,845,,,845,,,,,,845,845,845,845,845,845,845,845',
'845,845,845,845,,845,845,845,,845,845,845,845,845,,,,,,,,,,,,,,,,,,',
',845,,,845,,,845,845,,,845,,845,,,,845,,,,,,,,,845,,,,,845,845,845,845',
',845,845,845,845,,,,,845,845,,,,,,,845,,845,845,845,851,851,851,851',
'851,851,,,,851,851,,,,851,,851,851,851,851,851,851,851,,,,,,851,851',
'851,851,851,851,851,,,851,,,,,,851,851,851,851,851,851,851,851,851,851',
'851,851,,851,851,851,,851,851,851,851,851,,,,,,,,,,,,,,,,,,,,851,,,851',
',,851,851,,,851,,851,,,,851,,,,,,,,,851,,,,,851,851,851,851,,851,851',
'851,851,,,,,851,851,,,,,,,851,,851,851,851,881,881,881,881,881,881,',
',,881,881,,,,881,,881,881,881,881,881,881,881,,,,,,881,881,881,881,881',
'881,881,,,881,,,,,,881,881,881,881,881,881,881,881,881,881,881,881,',
'881,881,881,,881,881,881,881,881,,,,,,,,,,,,,,,,,,,,881,,,881,,,881',
'881,,,881,,881,,,,881,,,,,,,,,881,,,,,881,881,881,881,,881,881,881,881',
',,,,881,881,,,,,,,881,,881,881,881,937,937,937,937,937,937,,,,937,937',
',,,937,,937,937,937,937,937,937,937,,,,,,937,937,937,937,937,937,937',
',,937,,,,,,937,937,937,937,937,937,937,937,937,937,937,937,,937,937',
'937,,937,937,937,937,937,,,,,,,,,,,,,,,,,,,,937,,,937,,,937,937,,,937',
',937,,,,937,,,,,,,,,937,,,,,937,937,937,937,,937,937,937,937,,,,,937',
'937,,,,,,,937,,937,937,937,958,958,958,958,958,958,,,,958,958,,,,958',
',958,958,958,958,958,958,958,,,,,,958,958,958,958,958,958,958,,,958',
',,,,,958,958,958,958,958,958,958,958,958,958,958,958,,958,958,958,,958',
'958,958,958,958,,,,,,,,,,,,,,,,,,,,958,,,958,,,958,958,,,958,,958,,',
',958,,,,,,,,,958,,,,,958,958,958,958,,958,958,958,958,,,,,958,958,,',
',,,,958,,958,958,958,964,964,964,964,964,964,,,,964,964,,,,964,,964',
'964,964,964,964,964,964,,,,,,964,964,964,964,964,964,964,,,964,,,,,',
'964,964,964,964,964,964,964,964,964,964,964,964,,964,964,964,,964,964',
'964,964,964,,,,,,,,,,,,,,,,,,,,964,,,964,,,964,964,,,964,,964,,,,964',
',,,,,,,,964,,,,,964,964,964,964,,964,964,964,964,,,,,964,964,,,,,,,964',
',964,964,964,966,966,966,966,966,966,,,,966,966,,,,966,,966,966,966',
'966,966,966,966,,,,,,966,966,966,966,966,966,966,,,966,,,,,,966,966',
'966,966,966,966,966,966,966,966,966,966,,966,966,966,,966,966,966,966',
'966,,,,,,,,,,,,,,,,,,,,966,,,966,,,966,966,,,966,,966,,,,966,,,,,,,',
',966,,,,,966,966,966,966,,966,966,966,966,,,,,966,966,,,,,,,966,,966',
'966,966,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,,,,20,20',
'20,5,20,5,5,5,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,,,,29,29,29,20,29,20,20,20,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,,,894,,894,894,894,894,894,,,,,,,,,894,,35,35,35,35,,35,35,35,35',
',,,,35,35,,,,35,,894,35,,35,35,35,42,42,42,,42,894,894,,42,42,894,,',
'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,,,,60,60,60,45,60,45,45,45,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,,,896,,896,896,896',
'896,896,,,,,,,,,896,,71,71,71,71,,71,71,71,71,,,,,71,71,,,,,,896,71',
',71,71,71,112,112,112,112,112,896,896,,112,112,896,,,112,,112,112,112',
'112,112,112,112,,,,,,112,112,112,112,112,112,112,,,112,,,,,,112,112',
'112,112,112,112,112,112,112,112,112,112,,112,112,112,,112,112,112,112',
'112,,,,,,,,,,,,,,,,,,,,112,,,112,,,112,112,,,112,,112,,,,112,,,,,,,',
',112,,,,,112,112,112,112,,112,112,112,112,,,,,112,112,,,,,,112,112,',
'112,112,112,117,117,117,,117,,,,117,117,,,,117,,117,117,117,117,117',
'117,117,,,,,,117,117,117,117,117,117,117,,,117,,,,,,,117,,,117,117,117',
'117,117,117,117,117,,117,117,117,,117,117,117,117,117,,,,,,,,,,,,,,',
',,,,,117,,,117,,,117,117,,,117,,,,,,117,,,,,,,,,117,,,,,117,117,117',
'117,,117,117,117,117,,,,,117,117,,,,118,118,118,117,118,117,117,117',
'118,118,,,,118,,118,118,118,118,118,118,118,,,,,,118,118,118,118,118',
'118,118,,,118,,,,,,,118,,,118,118,118,118,118,118,118,118,,118,118,118',
',118,118,118,118,118,,,,,,,,,,,,,,,,,,,,118,,,118,,,118,118,,,118,,',
',,,118,,,,,,,,,118,,,,,118,118,118,118,,118,118,118,118,,,,,118,118',
',,,119,119,119,118,119,118,118,118,119,119,,,,119,,119,119,119,119,119',
'119,119,,,,,,119,119,119,119,119,119,119,,,119,,,,,,,119,,,119,119,119',
'119,119,119,119,119,,119,119,119,,119,119,119,119,119,,,,,,,,,,,,,,',
',,,,,119,,,119,,,119,119,,,119,,,,,,119,,,,,,,,,119,,,,,119,119,119',
'119,,119,119,119,119,,,,,119,119,,,,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',
',,,,,,120,,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,121,121,,,,,121,121,,,,208,208,208',
'121,208,121,121,121,208,208,,,,208,,208,208,208,208,208,208,208,,,,',
',208,208,208,208,208,208,208,,,208,,,,,,,208,,,208,208,208,208,208,208',
'208,208,,208,208,208,,208,208,208,208,208,,,,,,,,,,,,,,,,,,,,208,,,208',
',,208,208,,,208,,208,,,,208,,,,,,,,,208,,,,,208,208,208,208,,208,208',
'208,208,,,,,208,208,,,,209,209,209,208,209,208,208,208,209,209,,,,209',
',209,209,209,209,209,209,209,,,,,,209,209,209,209,209,209,209,,,209',
',,,,,,209,,,209,209,209,209,209,209,209,209,,209,209,209,,209,209,209',
'209,209,,,,,,,,,,,,,,,,,,,,209,,,209,,,209,209,,,209,,209,,,,209,,,',
',,,,,209,,,,,209,209,209,209,,209,209,209,209,,,,,209,209,,,,210,210',
'210,209,210,209,209,209,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,,,,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,213,213,,,,,213',
'213,,,,218,218,218,213,218,213,213,213,218,218,,,,218,,218,218,218,218',
'218,218,218,,,,,,218,218,218,218,218,218,218,,,218,,,,,,,218,,,218,218',
'218,218,218,218,218,218,,218,218,218,,218,218,218,218,218,,,,,,,,,,',
',,,,,,,,,218,,,218,,,218,218,,,218,,,,,,218,,,,,,,,,218,,,,,218,218',
'218,218,,218,218,218,218,,,,,218,218,,,,219,219,219,218,219,218,218',
'218,219,219,,,,219,,219,219,219,219,219,219,219,,,,,,219,219,219,219',
'219,219,219,,,219,,,,,,,219,,,219,219,219,219,219,219,219,219,,219,219',
'219,,219,219,219,219,219,,,,,,,,,,,,,,,,,,,,219,,,219,,,219,219,,,219',
',,,,,219,,,,,,,,,219,,,,,219,219,219,219,,219,219,219,219,,,,,219,219',
',,,220,220,220,219,220,219,219,219,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,220,,,231,231,231,220,231,220,220,220',
'231,231,,,,231,,231,231,231,231,231,231,231,,,,,,231,231,231,231,231',
'231,231,,,231,,,,,,,231,,,231,231,231,231,231,231,231,231,,231,231,231',
',231,231,231,231,231,,,,,,,,,,,,,,,,,,,,231,,,231,,,231,231,,,231,,',
',,,231,,,,,,,,,231,,,,,231,231,231,231,,231,231,231,231,,,,,231,231',
',,,234,234,234,231,234,231,231,231,234,234,,,,234,,234,234,234,234,234',
'234,234,,,,,,234,234,234,234,234,234,234,,,234,,,,,,,234,,,234,234,234',
'234,234,234,234,234,,234,234,234,,234,234,234,234,234,,,,,,,,,,,,,,',
',,,,,234,,,234,,,234,234,,,234,,,,,,234,,,,,,,,,234,,,,,234,234,234',
'234,,234,234,234,234,,,,,234,234,,,,235,235,235,234,235,234,234,234',
'235,235,,,,235,,235,235,235,235,235,235,235,,,,,,235,235,235,235,235',
'235,235,,,235,,,,,,,235,,,235,235,235,235,235,235,235,235,,235,235,235',
',235,235,235,235,235,,,,,,,,,,,,,,,,,,,,235,,,235,,,235,235,,,235,,',
',,,235,,,,,,,,,235,,,,,235,235,235,235,,235,235,235,235,,,,,235,235',
',,,236,236,236,235,236,235,235,235,236,236,,,,236,,236,236,236,236,236',
'236,236,,,,,,236,236,236,236,236,236,236,,,236,,,,,,,236,,,236,236,236',
'236,236,236,236,236,,236,236,236,,236,236,236,236,236,,,,,,,,,,,,,,',
',,,,,236,,,236,,,236,236,,,236,,,,,,236,,,,,,,,,236,,,,,236,236,236',
'236,,236,236,236,236,,,,,236,236,,,,237,237,237,236,237,236,236,236',
'237,237,,,,237,,237,237,237,237,237,237,237,,,,,,237,237,237,237,237',
'237,237,,,237,,,,,,,237,,,237,237,237,237,237,237,237,237,,237,237,237',
',237,237,237,237,237,,,,,,,,,,,,,,,,,,,,237,,,237,,,237,237,,,237,,',
',,,237,,,,,,,,,237,,,,,237,237,237,237,,237,237,237,237,,,,,237,237',
',,,238,238,238,237,238,237,237,237,238,238,,,,238,,238,238,238,238,238',
'238,238,,,,,,238,238,238,238,238,238,238,,,238,,,,,,,238,,,238,238,238',
'238,238,238,238,238,,238,238,238,,238,238,238,238,238,,,,,,,,,,,,,,',
',,,,,238,,,238,,,238,238,,,238,,,,,,238,,,,,,,,,238,,,,,238,238,238',
'238,,238,238,238,238,,,,,238,238,,,,239,239,239,238,239,238,238,238',
'239,239,,,,239,,239,239,239,239,239,239,239,,,,,,239,239,239,239,239',
'239,239,,,239,,,,,,,239,,,239,239,239,239,239,239,239,239,,239,239,239',
',239,239,239,239,239,,,,,,,,,,,,,,,,,,,,239,,,239,,,239,239,,,239,,',
',,,239,,,,,,,,,239,,,,,239,239,239,239,,239,239,239,239,,,,,239,239',
',,,240,240,240,239,240,239,239,239,240,240,,,,240,,240,240,240,240,240',
'240,240,,,,,,240,240,240,240,240,240,240,,,240,,,,,,,240,,,240,240,240',
'240,240,240,240,240,,240,240,240,,240,240,240,240,240,,,,,,,,,,,,,,',
',,,,,240,,,240,,,240,240,,,240,,,,,,240,,,,,,,,,240,,,,,240,240,240',
'240,,240,240,240,240,,,,,240,240,,,,241,241,241,240,241,240,240,240',
'241,241,,,,241,,241,241,241,241,241,241,241,,,,,,241,241,241,241,241',
'241,241,,,241,,,,,,,241,,,241,241,241,241,241,241,241,241,,241,241,241',
',241,241,241,241,241,,,,,,,,,,,,,,,,,,,,241,,,241,,,241,241,,,241,,',
',,,241,,,,,,,,,241,,,,,241,241,241,241,,241,241,241,241,,,,,241,241',
',,,242,242,242,241,242,241,241,241,242,242,,,,242,,242,242,242,242,242',
'242,242,,,,,,242,242,242,242,242,242,242,,,242,,,,,,,242,,,242,242,242',
'242,242,242,242,242,,242,242,242,,242,242,242,242,242,,,,,,,,,,,,,,',
',,,,,242,,,242,,,242,242,,,242,,,,,,242,,,,,,,,,242,,,,,242,242,242',
'242,,242,242,242,242,,,,,242,242,,,,243,243,243,242,243,242,242,242',
'243,243,,,,243,,243,243,243,243,243,243,243,,,,,,243,243,243,243,243',
'243,243,,,243,,,,,,,243,,,243,243,243,243,243,243,243,243,,243,243,243',
',243,243,243,243,243,,,,,,,,,,,,,,,,,,,,243,,,243,,,243,243,,,243,,',
',,,243,,,,,,,,,243,,,,,243,243,243,243,,243,243,243,243,,,,,243,243',
',,,244,244,244,243,244,243,243,243,244,244,,,,244,,244,244,244,244,244',
'244,244,,,,,,244,244,244,244,244,244,244,,,244,,,,,,,244,,,244,244,244',
'244,244,244,244,244,,244,244,244,,244,244,244,244,244,,,,,,,,,,,,,,',
',,,,,244,,,244,,,244,244,,,244,,,,,,244,,,,,,,,,244,,,,,244,244,244',
'244,,244,244,244,244,,,,,244,244,,,,245,245,245,244,245,244,244,244',
'245,245,,,,245,,245,245,245,245,245,245,245,,,,,,245,245,245,245,245',
'245,245,,,245,,,,,,,245,,,245,245,245,245,245,245,245,245,,245,245,245',
',245,245,245,245,245,,,,,,,,,,,,,,,,,,,,245,,,245,,,245,245,,,245,,',
',,,245,,,,,,,,,245,,,,,245,245,245,245,,245,245,245,245,,,,,245,245',
',,,246,246,246,245,246,245,245,245,246,246,,,,246,,246,246,246,246,246',
'246,246,,,,,,246,246,246,246,246,246,246,,,246,,,,,,,246,,,246,246,246',
'246,246,246,246,246,,246,246,246,,246,246,246,246,246,,,,,,,,,,,,,,',
',,,,,246,,,246,,,246,246,,,246,,,,,,246,,,,,,,,,246,,,,,246,246,246',
'246,,246,246,246,246,,,,,246,246,,,,247,247,247,246,247,246,246,246',
'247,247,,,,247,,247,247,247,247,247,247,247,,,,,,247,247,247,247,247',
'247,247,,,247,,,,,,,247,,,247,247,247,247,247,247,247,247,,247,247,247',
',247,247,247,247,247,,,,,,,,,,,,,,,,,,,,247,,,247,,,247,247,,,247,,',
',,,247,,,,,,,,,247,,,,,247,247,247,247,,247,247,247,247,,,,,247,247',
',,,248,248,248,247,248,247,247,247,248,248,,,,248,,248,248,248,248,248',
'248,248,,,,,,248,248,248,248,248,248,248,,,248,,,,,,,248,,,248,248,248',
'248,248,248,248,248,,248,248,248,,248,248,248,248,248,,,,,,,,,,,,,,',
',,,,,248,,,248,,,248,248,,,248,,,,,,248,,,,,,,,,248,,,,,248,248,248',
'248,,248,248,248,248,,,,,248,248,,,,249,249,249,248,249,248,248,248',
'249,249,,,,249,,249,249,249,249,249,249,249,,,,,,249,249,249,249,249',
'249,249,,,249,,,,,,,249,,,249,249,249,249,249,249,249,249,,249,249,249',
',249,249,249,249,249,,,,,,,,,,,,,,,,,,,,249,,,249,,,249,249,,,249,,',
',,,249,,,,,,,,,249,,,,,249,249,249,249,,249,249,249,249,,,,,249,249',
',,,250,250,250,249,250,249,249,249,250,250,,,,250,,250,250,250,250,250',
'250,250,,,,,,250,250,250,250,250,250,250,,,250,,,,,,,250,,,250,250,250',
'250,250,250,250,250,,250,250,250,,250,250,250,250,250,,,,,,,,,,,,,,',
',,,,,250,,,250,,,250,250,,,250,,,,,,250,,,,,,,,,250,,,,,250,250,250',
'250,,250,250,250,250,,,,,250,250,,,,251,251,251,250,251,250,250,250',
'251,251,,,,251,,251,251,251,251,251,251,251,,,,,,251,251,251,251,251',
'251,251,,,251,,,,,,,251,,,251,251,251,251,251,251,251,251,,251,251,251',
',251,251,251,251,251,,,,,,,,,,,,,,,,,,,,251,,,251,,,251,251,,,251,,',
',,,251,,,,,,,,,251,,,,,251,251,251,251,,251,251,251,251,,,,,251,251',
',,,252,252,252,251,252,251,251,251,252,252,,,,252,,252,252,252,252,252',
'252,252,,,,,,252,252,252,252,252,252,252,,,252,,,,,,,252,,,252,252,252',
'252,252,252,252,252,,252,252,252,,252,252,252,252,252,,,,,,,,,,,,,,',
',,,,,252,,,252,,,252,252,,,252,,,,,,252,,,,,,,,,252,,,,,252,252,252',
'252,,252,252,252,252,,,,,252,252,,,,253,253,253,252,253,252,252,252',
'253,253,,,,253,,253,253,253,253,253,253,253,,,,,,253,253,253,253,253',
'253,253,,,253,,,,,,,253,,,253,253,253,253,253,253,253,253,,253,253,253',
',253,253,253,253,253,,,,,,,,,,,,,,,,,,,,253,,,253,,,253,253,,,253,,',
',,,253,,,,,,,,,253,,,,,253,253,253,253,,253,253,253,253,,,,,253,253',
',,,254,254,254,253,254,253,253,253,254,254,,,,254,,254,254,254,254,254',
'254,254,,,,,,254,254,254,254,254,254,254,,,254,,,,,,,254,,,254,254,254',
'254,254,254,254,254,,254,254,254,,254,254,254,254,254,,,,,,,,,,,,,,',
',,,,,254,,,254,,,254,254,,,254,,,,,,254,,,,,,,,,254,,,,,254,254,254',
'254,,254,254,254,254,,,,,254,254,,,,255,255,255,254,255,254,254,254',
'255,255,,,,255,,255,255,255,255,255,255,255,,,,,,255,255,255,255,255',
'255,255,,,255,,,,,,,255,,,255,255,255,255,255,255,255,255,,255,255,255',
',255,255,255,255,255,,,,,,,,,,,,,,,,,,,,255,,,255,,,255,255,,,255,,',
',,,255,,,,,,,,,255,,,,,255,255,255,255,,255,255,255,255,,,,,255,255',
',,,260,260,260,255,260,255,255,255,260,260,,,,260,,260,260,260,260,260',
'260,260,,,,,,260,260,260,260,260,260,260,,,260,,,,,,,260,,,260,260,260',
'260,260,260,260,260,,260,260,260,,260,260,260,260,260,,,,,,,,,,,,,,',
',,,,,260,,,260,,,260,260,,,260,,,,,,260,,,,,,,,,260,,,,,260,260,260',
'260,,260,260,260,260,,,,,260,260,,,,267,267,267,260,267,260,260,260',
'267,267,,,,267,,267,267,267,267,267,267,267,,,,,,267,267,267,267,267',
'267,267,,,267,,,,,,,267,,,267,267,267,267,267,267,267,267,267,267,267',
'267,,267,267,267,267,267,,,,,,,,,,,,,,,,,,,,267,,,267,,,267,267,,,267',
',267,,267,,267,,,267,,,,,,267,,,,,267,267,267,267,,267,267,267,267,',
',,,267,267,,,,268,268,268,267,268,267,267,267,268,268,,,,268,,268,268',
'268,268,268,268,268,,,,,,268,268,268,268,268,268,268,,,268,,,,,,,268',
',,268,268,268,268,268,268,268,268,268,268,268,268,,268,268,268,268,268',
',,,,,,,,,,,,,,,,,,,268,,,268,,,268,268,,,268,,268,,268,,268,,,268,,',
',,,268,,,,,268,268,268,268,,268,268,268,268,,,,,268,268,,,,276,276,276',
'268,276,268,268,268,276,276,,,,276,,276,276,276,276,276,276,276,,,,',
',276,276,276,276,276,276,276,,,276,,,,,,,276,,,276,276,276,276,276,276',
'276,276,276,276,276,276,,276,276,276,276,276,,,,,,,,,,,,,,,,,,,,276',
',,276,,,276,276,,,276,,276,,276,,276,,,276,,,,,,276,,,,,276,276,276',
'276,,276,276,276,276,,,,,276,276,276,,,283,283,283,276,283,276,276,276',
'283,283,,,,283,,283,283,283,283,283,283,283,,,,,,283,283,283,283,283',
'283,283,,,283,,,,,,,283,,,283,283,283,283,283,283,283,283,,283,283,283',
',283,283,283,283,283,,,,,,,,,,,,,,,,,,,,283,,,283,,,283,283,,,283,,',
',,,283,,,,,,,,,283,,,,,283,283,283,283,,283,283,283,283,,,,,283,283',
',,,285,285,285,283,285,283,283,283,285,285,,,,285,,285,285,285,285,285',
'285,285,,,,,,285,285,285,285,285,285,285,,,285,,,,,,,285,,,285,285,285',
'285,285,285,285,285,,285,285,285,,285,285,285,285,285,,,,,,,,,,,,,,',
',,,,,285,,,285,,,285,285,,,285,,,,,,285,,,,,,,,,285,,,,,285,285,285',
'285,,285,285,285,285,,,,,285,285,,,,288,288,288,285,288,285,285,285',
'288,288,,,,288,,288,288,288,288,288,288,288,,,,,,288,288,288,288,288',
'288,288,,,288,,,,,,,288,,,288,288,288,288,288,288,288,288,,288,288,288',
',288,288,288,288,288,,,,,,,,,,,,,,,,,,,,288,,,288,,,288,288,,,288,,',
',,,288,,,,,,,,,288,,,,,288,288,288,288,,288,288,288,288,,,,,288,288',
',,,289,289,289,288,289,288,288,288,289,289,,,,289,,289,289,289,289,289',
'289,289,,,,,,289,289,289,289,289,289,289,,,289,,,,,,,289,,,289,289,289',
'289,289,289,289,289,,289,289,289,,289,289,289,289,289,,,,,,,,,,,,,,',
',,,,,289,,,289,,,289,289,,,289,,,,,,289,,,,,,,,,289,,,,,289,289,289',
'289,,289,289,289,289,,,,,289,289,,,,,,,289,,289,289,289,294,294,294',
'294,294,,,,294,294,,,,294,,294,294,294,294,294,294,294,,,,,,294,294',
'294,294,294,294,294,,,294,,,,,,294,294,,294,294,294,294,294,294,294',
'294,294,,294,294,294,,294,294,294,294,294,,,,,,,,,,,,,,,,,,,,294,,,294',
',,294,294,,,294,,294,,,,294,,,,,,,,,294,,,,,294,294,294,294,,294,294',
'294,294,,,,,294,294,,,,302,302,302,294,302,294,294,294,302,302,,,,302',
',302,302,302,302,302,302,302,,,,,,302,302,302,302,302,302,302,,,302',
',,,,,,302,,,302,302,302,302,302,302,302,302,,302,302,302,,302,302,,',
'302,,,,,,,,,,,,,,,,,,,,302,,,302,,,302,302,,,302,,,898,,898,898,898',
'898,898,,,,,,,,,898,,302,302,302,302,,302,302,302,302,,,,,302,302,,',
',302,,898,302,,302,302,302,319,319,319,,319,898,898,,319,319,898,,,319',
',319,319,319,319,319,319,319,,,,,,319,319,319,319,319,319,319,,,319',
',,,,,,319,,,319,319,319,319,319,319,319,319,,319,319,319,,319,319,,',
'319,,,,,,,,,,,,,,,,,,,,319,,,319,,,319,319,,,319,,,,,,,,,,,,,,,,,,,',
'319,319,319,319,,319,319,319,319,,,,,319,319,,,,326,326,326,319,326',
'319,319,319,326,326,,,,326,,326,326,326,326,326,326,326,,,,,,326,326',
'326,326,326,326,326,,,326,,,,,,,326,,,326,326,326,326,326,326,326,326',
',326,326,326,,326,326,326,326,326,,,,,,,,,,,,,,,,,,,,326,,,326,,,326',
'326,,,326,,,,,,326,,,,,,,,,326,,,,,326,326,326,326,,326,326,326,326',
',,,,326,326,,,,328,328,328,326,328,326,326,326,328,328,,,,328,,328,328',
'328,328,328,328,328,,,,,,328,328,328,328,328,328,328,,,328,,,,,,,328',
',,328,328,328,328,328,328,328,328,,328,328,328,,328,328,328,328,328',
',,,,,,,,,,,,,,,,,,,328,,,328,328,,328,328,,,328,,,,,,328,,,,,,,,,328',
',,,,328,328,328,328,,328,328,328,328,,,,,328,328,,,,,,,328,,328,328',
'328,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',
'330,,330,330,330,330,,,,,330,330,,,,345,345,345,330,345,330,330,330',
'345,345,,,,345,,345,345,345,345,345,345,345,,,,,,345,345,345,345,345',
'345,345,,,345,,,,,,,345,,,345,345,345,345,345,345,345,345,,345,345,345',
',345,345,345,345,345,,,,,,,,,,,,,,,,,,,,345,,,345,,,345,345,,,345,,',
',,,345,,,,,,,,,345,,,,,345,345,345,345,,345,345,345,345,,,,,345,345',
',,,346,346,346,345,346,345,345,345,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,,,,365,365,365,346,365,346,346,346',
'365,365,,,,365,,365,365,365,365,365,365,365,,,,,,365,365,365,365,365',
'365,365,,,365,,,,,,,365,,,365,365,365,365,365,365,365,365,,365,365,365',
',365,365,365,365,365,,,,,,,,,,,,,,,,,,,,365,,,365,,,365,365,,,365,,',
',,,365,,,,,,,,,365,,,,,365,365,365,365,,365,365,365,365,,,,,365,365',
',,,381,381,381,365,381,365,365,365,381,381,,,,381,,381,381,381,381,381',
'381,381,,,,,,381,381,381,381,381,381,381,,,381,,,,,,,381,,,381,381,381',
'381,381,381,381,381,,381,381,381,,381,381,381,381,381,,,,,,,,,,,,,,',
',,,,,381,,,381,,,381,381,,,381,,,,,,381,,,,,,,,,381,,,,,381,381,381',
'381,,381,381,381,381,,,,,381,381,,,,409,409,409,381,409,381,381,381',
'409,409,,,,409,,409,409,409,409,409,409,409,,,,,,409,409,409,409,409',
'409,409,,,409,,,,,,,409,,,409,409,409,409,409,409,409,409,,409,409,409',
',409,409,409,409,409,,,,,,,,,,,,,,,,,,,,409,,,409,,,409,409,,,409,,',
',,,409,,,,,,,,,409,,,,,409,409,409,409,,409,409,409,409,,,,,409,409',
',,,452,452,452,409,452,409,409,409,452,452,,,,452,,452,452,452,452,452',
'452,452,,,,,,452,452,452,452,452,452,452,,,452,,,,,,,452,,,452,452,452',
'452,452,452,452,452,452,452,452,452,,452,452,452,452,452,,,,,,,,,,,',
',,,,,,,,452,,,452,,,452,452,,,452,,452,,452,,452,,,452,,,,,,452,,,,',
'452,452,452,452,,452,452,452,452,,,,,452,452,,,,454,454,454,452,454',
'452,452,452,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,,,,455,455,455,454,455,454,454,454,455,455,,,,455,,455,455',
'455,455,455,455,455,,,,,,455,455,455,455,455,455,455,,,455,,,,,,,455',
',,455,455,455,455,455,455,455,455,,455,455,455,,455,455,455,455,455',
',,,,,,,,,,,,,,,,,,,455,,,455,,,455,455,,,455,,,,,,455,,,,,,,,,455,,',
',,455,455,455,455,,455,455,455,455,,,,,455,455,,,,456,456,456,455,456',
'455,455,455,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,,,,495,495,495,456,495,456,456,456,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,,,,497,497,497',
'495,497,495,495,495,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,,,,499,499,499,497,499,497,497,497,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,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,,,,,505,505,,,,,,505,505',
',505,505,505,513,513,513,,513,,,,513,513,,,,513,,513,513,513,513,513',
'513,513,,,,,,513,513,513,513,513,513,513,,,513,,,,,,,513,,,513,513,513',
'513,513,513,513,513,,513,513,513,,513,513,,,513,,,,,,,,,,,,,,,,,,,,513',
',,513,,,513,513,,,513,,,,,,,,,,,,,,,,,,,,513,513,513,513,,513,513,513',
'513,,,,,513,513,,,,515,515,515,513,515,513,513,513,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,,,,521',
'521,521,515,521,515,515,515,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,,,,524,524,524,521,524,521,521,521,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,,,,525,525,525,524',
'525,524,524,524,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,,,,530,530,530,525,530,525,525,525,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,,,,536,536,536,530',
'536,530,530,530,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,,,,539,539,539,536,539,536,536,536,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,,,,564',
'564,564,539,564,539,539,539,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,564,564,564,564,,,,,,,,,,,,,,,,,,',
',564,,,564,,,564,564,,,564,,,,,,564,,,,,,,,,564,,,,,564,564,564,564',
',564,564,564,564,,,,,564,564,,,,584,584,584,564,584,564,564,564,584',
'584,,,,584,,584,584,584,584,584,584,584,,,,,,584,584,584,584,584,584',
'584,,,584,,,,,,,584,,,584,584,584,584,584,584,584,584,,584,584,584,',
'584,584,584,584,584,,,,,,,,,,,,,,,,,,,,584,,,584,,,584,584,,,584,,584',
',,,584,,,,,,,,,584,,,,,584,584,584,584,,584,584,584,584,,,,,584,584',
',,,585,585,585,584,585,584,584,584,585,585,,,,585,,585,585,585,585,585',
'585,585,,,,,,585,585,585,585,585,585,585,,,585,,,,,,,585,,,585,585,585',
'585,585,585,585,585,585,585,585,585,,585,585,585,585,585,,,,,,,,,,,',
',,,,,,,,585,,,585,,,585,585,,,585,,585,,585,,585,,,585,,,,,,585,,,,',
'585,585,585,585,,585,585,585,585,,,,,585,585,,,,595,595,595,585,595',
'585,585,585,595,595,,,,595,,595,595,595,595,595,595,595,,,,,,595,595',
'595,595,595,595,595,,,595,,,,,,,595,,,595,595,595,595,595,595,595,595',
'595,595,595,595,,595,595,595,595,595,,,,,,,,,,,,,,,,,,,,595,,,595,,',
'595,595,,,595,,595,,595,,595,,,595,,,,,,595,,,,,595,595,595,595,,595',
'595,595,595,,,,,595,595,,,,627,627,627,595,627,595,595,595,627,627,',
',,627,,627,627,627,627,627,627,627,,,,,,627,627,627,627,627,627,627',
',,627,,,,,,,627,,,627,627,627,627,627,627,627,627,,627,627,627,,627',
'627,627,627,627,,,,,,,,,,,,,,,,,,,,627,,,627,,,627,627,,,627,,627,,',
',627,,,,,,,,,627,,,,,627,627,627,627,,627,627,627,627,,,,,627,627,,',
',628,628,628,627,628,627,627,627,628,628,,,,628,,628,628,628,628,628',
'628,628,,,,,,628,628,628,628,628,628,628,,,628,,,,,,,628,,,628,628,628',
'628,628,628,628,628,,628,628,628,,628,628,628,628,628,,,,,,,,,,,,,,',
',,,,,628,,,628,,,628,628,,,628,,,,,,628,,,,,,,,,628,,,,,628,628,628',
'628,,628,628,628,628,,,,,628,628,,,,629,629,629,628,629,628,628,628',
'629,629,,,,629,,629,629,629,629,629,629,629,,,,,,629,629,629,629,629',
'629,629,,,629,,,,,,,629,,,629,629,629,629,629,629,629,629,629,629,629',
'629,,629,629,629,629,629,,,,,,,,,,,,,,,,,,,,629,,,629,,,629,629,,,629',
',629,,629,,629,,,629,,,,,,629,,,,,629,629,629,629,,629,629,629,629,',
',,,629,629,,,,,,,629,,629,629,629,632,632,632,632,632,,,,632,632,,,',
'632,,632,632,632,632,632,632,632,,,,,,632,632,632,632,632,632,632,,',
'632,,,,,,632,632,,632,632,632,632,632,632,632,632,632,,632,632,632,',
'632,632,632,632,632,,,,,,,,,,,,,,,,,,,,632,,,632,,,632,632,,,632,,632',
',,,632,,,,,,,,,632,,,,,632,632,632,632,,632,632,632,632,,,,,632,632',
',,,633,633,633,632,633,632,632,632,633,633,,,,633,,633,633,633,633,633',
'633,633,,,,,,633,633,633,633,633,633,633,,,633,,,,,,,633,,,633,633,633',
'633,633,633,633,633,,633,633,633,,633,633,633,633,633,,,,,,,,,,,,,,',
',,,,,633,,,633,,,633,633,,,633,,,,,,633,,,,,,,,,633,,,,,633,633,633',
'633,,633,633,633,633,,,,,633,633,,,,636,636,636,633,636,633,633,633',
'636,636,,,,636,,636,636,636,636,636,636,636,,,,,,636,636,636,636,636',
'636,636,,,636,,,,,,,636,,,636,636,636,636,636,636,636,636,636,636,636',
'636,,636,636,636,636,636,,,,,,,,,,,,,,,,,,,,636,,,636,,,636,636,,,636',
',636,,636,,636,,,636,,,,,,636,,,,,636,636,636,636,,636,636,636,636,',
',,,636,636,,,,637,637,637,636,637,636,636,636,637,637,,,,637,,637,637',
'637,637,637,637,637,,,,,,637,637,637,637,637,637,637,,,637,,,,,,,637',
',,637,637,637,637,637,637,637,637,637,637,637,637,,637,637,637,637,637',
',,,,,,,,,,,,,,,,,,,637,,,637,,,637,637,,,637,,,,637,,637,,,637,,,,,',
'637,,,,,637,637,637,637,,637,637,637,637,,,,,637,637,,,,638,638,638',
'637,638,637,637,637,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,,,,639,639,639,638,639,638,638,638,639,639,,,,639,,639',
'639,639,639,639,639,639,,,,,,639,639,639,639,639,639,639,,,639,,,,,',
',639,,,639,639,639,639,639,639,639,639,,639,639,639,,639,639,639,639',
'639,,,,,,,,,,,,,,,,,,,,639,,,639,,,639,639,,,639,,,,,,639,,,,,,,,,639',
',,,,639,639,639,639,,639,639,639,639,,,,,639,639,,,,643,643,643,639',
'643,639,639,639,643,643,,,,643,,643,643,643,643,643,643,643,,,,,,643',
'643,643,643,643,643,643,,,643,,,,,,,643,,,643,643,643,643,643,643,643',
'643,,643,643,643,,643,643,643,643,643,,,,,,,,,,,,,,,,,,,,643,,,643,',
',643,643,,,643,,,,,,643,,,,,,,,,643,,,,,643,643,643,643,,643,643,643',
'643,,,,,643,643,,,,644,644,644,643,644,643,643,643,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,644,644,,,,,644,644,,,,668,668,668,644',
'668,644,644,644,668,668,,,,668,,668,668,668,668,668,668,668,,,,,,668',
'668,668,668,668,668,668,,,668,,,,,,,668,,,668,668,668,668,668,668,668',
'668,,668,668,668,,668,668,668,668,668,,,,,,,,,,,,,,,,,,,,668,,,668,',
',668,668,,,668,,,,,,668,,,,,,,,,668,,,,,668,668,668,668,,668,668,668',
'668,,,,,668,668,,,,671,671,671,668,671,668,668,668,671,671,,,,671,,671',
'671,671,671,671,671,671,,,,,,671,671,671,671,671,671,671,,,671,,,,,',
',671,,,671,671,671,671,671,671,671,671,,671,671,671,,671,671,671,671',
'671,,,,,,,,,,,,,,,,,,,,671,,,671,,,671,671,,,671,,,,,,671,,,,,,,,,671',
',,,,671,671,671,671,,671,671,671,671,,,,,671,671,,,,675,675,675,671',
'675,671,671,671,675,675,,,,675,,675,675,675,675,675,675,675,,,,,,675',
'675,675,675,675,675,675,,,675,,,,,,,675,,,675,675,675,675,675,675,675',
'675,,675,675,675,,675,675,,,675,,,,,,,,,,,,,,,,,,,,675,,,675,,,675,675',
',,675,,,,,,,,,,,,,,,,,,,,675,675,675,675,,675,675,675,675,,,,,675,675',
',,,686,686,686,675,686,675,675,675,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,,,,691,691,691,686,691,686,686,686,691,691,,,,691,,691',
'691,691,691,691,691,691,,,,,,691,691,691,691,691,691,691,,,691,,,,,',
',691,,,691,691,691,691,691,691,691,691,,691,691,691,,691,691,691,691',
'691,,,,,,,,,,,,,,,,,,,,691,,,691,,,691,691,,,691,,691,,,,691,,,,,,,',
',691,,,,,691,691,691,691,,691,691,691,691,,,,,691,691,,,,708,708,708',
'691,708,691,691,691,708,708,,,,708,,708,708,708,708,708,708,708,,,,',
',708,708,708,708,708,708,708,,,708,,,,,,,708,,,708,708,708,708,708,708',
'708,708,,708,708,708,,708,708,708,708,708,,,,,,,,,,,,,,,,,,,,708,,,708',
',,708,708,,,708,,,,,,708,,,,,,,,,708,,,,,708,708,708,708,,708,708,708',
'708,,,,,708,708,,,,734,734,734,708,734,708,708,708,734,734,,,,734,,734',
'734,734,734,734,734,734,,,,,,734,734,734,734,734,734,734,,,734,,,,,',
',734,,,734,734,734,734,734,734,734,734,,734,734,734,,734,734,734,734',
'734,,,,,,,,,,,,,,,,,,,,734,,,734,,,734,734,,,734,,,,,,734,,,,,,,,,734',
',,,,734,734,734,734,,734,734,734,734,,,,,734,734,,,,740,740,740,734',
'740,734,734,734,740,740,,,,740,,740,740,740,740,740,740,740,,,,,,740',
'740,740,740,740,740,740,,,740,,,,,,,740,,,740,740,740,740,740,740,740',
'740,,740,740,740,,740,740,740,740,740,,,,,,,,,,,,,,,,,,,,740,,,740,',
',740,740,,,740,,,,,,740,,,,,,,,,740,,,,,740,740,740,740,,740,740,740',
'740,,,,,740,740,,,,762,762,762,740,762,740,740,740,762,762,,,,762,,762',
'762,762,762,762,762,762,,,,,,762,762,762,762,762,762,762,,,762,,,,,',
',762,,,762,762,762,762,762,762,762,762,,762,762,762,,762,762,762,762',
'762,,,,,,,,,,,,,,,,,,,,762,,,762,,,762,762,,,762,,,,,,762,,,,,,,,,762',
',,,,762,762,762,762,,762,762,762,762,,,,,762,762,,,,770,770,770,762',
'770,762,762,762,770,770,,,,770,,770,770,770,770,770,770,770,,,,,,770',
'770,770,770,770,770,770,,,770,,,,,,,770,,,770,770,770,770,770,770,770',
'770,,770,770,770,,770,770,770,770,770,,,,,,,,,,,,,,,,,,,,770,,,770,',
',770,770,,,770,,,,,,770,,,,,,,,,770,,,,,770,770,770,770,,770,770,770',
'770,,,,,770,770,,,,783,783,783,770,783,770,770,770,783,783,,,,783,,783',
'783,783,783,783,783,783,,,,,,783,783,783,783,783,783,783,,,783,,,,,',
',783,,,783,783,783,783,783,783,783,783,,783,783,783,,783,783,783,783',
'783,,,,,,,,,,,,,,,,,,,,783,,,783,,,783,783,,,783,,,,,,783,,,,,,,,,783',
',,,,783,783,783,783,,783,783,783,783,,,,,783,783,,,,784,784,784,783',
'784,783,783,783,784,784,,,,784,,784,784,784,784,784,784,784,,,,,,784',
'784,784,784,784,784,784,,,784,,,,,,,784,,,784,784,784,784,784,784,784',
'784,,784,784,784,,784,784,784,784,784,,,,,,,,,,,,,,,,,,,,784,,,784,',
',784,784,,,784,,,,,,784,,,,,,,,,784,,,,,784,784,784,784,,784,784,784',
'784,,,,,784,784,,,,785,785,785,784,785,784,784,784,785,785,,,,785,,785',
'785,785,785,785,785,785,,,,,,785,785,785,785,785,785,785,,,785,,,,,',
',785,,,785,785,785,785,785,785,785,785,,785,785,785,,785,785,785,785',
'785,,,,,,,,,,,,,,,,,,,,785,,,785,,,785,785,,,785,,,,,,785,,,,,,,,,785',
',,,,785,785,785,785,,785,785,785,785,,,,,785,785,,,,786,786,786,785',
'786,785,785,785,786,786,,,,786,,786,786,786,786,786,786,786,,,,,,786',
'786,786,786,786,786,786,,,786,,,,,,,786,,,786,786,786,786,786,786,786',
'786,,786,786,786,,786,786,786,786,786,,,,,,,,,,,,,,,,,,,,786,,,786,',
',786,786,,,786,,,,,,786,,,,,,,,,786,,,,,786,786,786,786,,786,786,786',
'786,,,,,786,786,,,,788,788,788,786,788,786,786,786,788,788,,,,788,,788',
'788,788,788,788,788,788,,,,,,788,788,788,788,788,788,788,,,788,,,,,',
',788,,,788,788,788,788,788,788,788,788,,788,788,788,,788,788,788,788',
'788,,,,,,,,,,,,,,,,,,,,788,,,788,,,788,788,,,788,,,,,,788,,,,,,,,,788',
',,,,788,788,788,788,,788,788,788,788,,,,,788,788,,,,839,839,839,788',
'839,788,788,788,839,839,,,,839,,839,839,839,839,839,839,839,,,,,,839',
'839,839,839,839,839,839,,,839,,,,,,,839,,,839,839,839,839,839,839,839',
'839,,839,839,839,,839,839,839,839,839,,,,,,,,,,,,,,,,,,,,839,,,839,',
',839,839,,,839,,,,,,839,,,,,,,,,839,,,,,839,839,839,839,,839,839,839',
'839,,,,,839,839,,,,844,844,844,839,844,839,839,839,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,,,,862,862,862',
'844,862,844,844,844,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,,,,863,863,863,862,863,862,862,862,863',
'863,,,,863,,863,863,863,863,863,863,863,,,,,,863,863,863,863,863,863',
'863,,,863,,,,,,,863,,,863,863,863,863,863,863,863,863,,863,863,863,',
'863,863,863,863,863,,,,,,,,,,,,,,,,,,,,863,,,863,,,863,863,,,863,,,',
',,863,,,,,,,,,863,,,,,863,863,863,863,,863,863,863,863,,,,,863,863,',
',,875,875,875,863,875,863,863,863,875,875,,,,875,,875,875,875,875,875',
'875,875,,,,,,875,875,875,875,875,875,875,,,875,,,,,,,875,,,875,875,875',
'875,875,875,875,875,,875,875,875,,875,875,,,875,,,,,,,,,,,,,,,,,,,,875',
',,875,,,875,875,,,875,,,,,,,,,,,,,,,,,,,,875,875,875,875,,875,875,875',
'875,,,,,875,875,,,,885,885,885,875,885,875,875,875,885,885,,,,885,,885',
'885,885,885,885,885,885,,,,,,885,885,885,885,885,885,885,,,885,,,,,',
',885,,,885,885,885,885,885,885,885,885,,885,885,885,,885,885,,,885,',
',,,,,,,,,,,,,,,,,,885,,,885,,,885,885,,,885,,,,,,,,,,,,,,,,,,,,885,885',
'885,885,,885,885,885,885,,,,,885,885,,,,933,933,933,885,933,885,885',
'885,933,933,,,,933,,933,933,933,933,933,933,933,,,,,,933,933,933,933',
'933,933,933,,,933,,,,,,,933,,,933,933,933,933,933,933,933,933,,933,933',
'933,,933,933,,,933,,,,,,,,,,,,,,,,,,,,933,,,933,,,933,933,,,933,,,,',
',,,,,,,,,,,,,,,933,933,933,933,,933,933,933,933,,,,,933,933,,,,981,981',
'981,933,981,933,933,933,981,981,,,,981,,981,981,981,981,981,981,981',
',,,,,981,981,981,981,981,981,981,,,981,,,,,,,981,,,981,981,981,981,981',
'981,981,981,981,981,981,981,,981,981,981,981,981,,,,,,,,,,,,,,,,,,,',
'981,,,981,,,981,981,,,981,,981,,981,,981,,,981,,,,,,981,,,,,981,981',
'981,981,,981,981,981,981,,,,,981,981,,,,,,,981,,981,981,981,8,8,8,8',
'8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,,,,8,8,8,8,8,8,8,8,8,8,,,,,',
'8,8,8,8,8,8,8,8,8,8,,8,,,,,,,,8,8,,8,8,8,8,8,8,8,,,8,8,,,,8,8,8,8,,',
',,,,,,,,,,,8,8,,8,8,8,8,8,8,8,8,8,8,8,8,,,8,8,,,,,,,,,,,,,,8,9,9,9,9',
'9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,,,,9,9,9,9,9,9,9,9,9,9,,,,,',
'9,9,9,9,9,9,9,9,9,,,9,,,,,,,,9,9,,9,9,9,9,9,9,9,,,9,9,,,,9,9,9,9,,,',
',,,,,,,,,,9,9,,9,9,9,9,9,9,9,9,9,9,9,9,,,9,9,,,,,,,,,,,,,,9,400,400',
'400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400',
'400,400,400,400,400,,,,400,400,400,400,400,400,400,400,400,400,,,,,',
'400,400,400,400,400,400,400,400,400,,,400,,,,,,,,400,400,,400,400,400',
'400,400,400,400,,,400,400,,,,400,400,400,400,,,,,,,,,,,,,,400,400,,400',
'400,400,400,400,400,400,400,400,400,400,400,,,400,400,,,,,,,,,,,,,,400',
'624,624,624,624,624,624,624,624,624,624,624,624,624,624,624,624,624',
'624,624,624,624,624,624,624,,,,624,624,624,624,624,624,624,624,624,624',
',,,,,624,624,624,624,624,624,624,624,624,,,624,,,,,,,,624,624,,624,624',
'624,624,624,624,624,,,624,624,,,,624,624,624,624,,,,,,,,,,,,,,624,624',
',624,624,624,624,624,624,624,624,624,624,624,624,,,624,624,,,,,,,,,',
',,,,624,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,746,746,746,746,746,746,746,746,746,746,746,746,746,746,746,746',
'746,746,746,746,746,746,746,746,,,,746,746,746,746,746,746,746,746,746',
'746,,,,,,746,746,746,746,746,746,746,746,746,,,746,,,,,,,,746,746,,746',
'746,746,746,746,746,746,,,746,746,,,,746,746,746,746,,,,,,,,,,,,,,746',
'746,,746,746,746,746,746,746,746,746,746,746,746,746,214,214,746,,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,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,263,263,215,,263,,,,,,,,263,263,,263',
'263,263,263,263,263,263,,,263,263,,,,263,263,263,263,,,,,,,,,,,,,,263',
'263,,263,263,263,263,263,263,263,263,263,263,263,263,450,450,263,,450',
',,,,,,,450,450,,450,450,450,450,450,450,450,,,450,450,,,,450,450,450',
'450,,,,,,450,,,,,,,,450,450,,450,450,450,450,450,450,450,450,450,450',
'450,450,451,451,450,,451,,,,,,,,451,451,,451,451,451,451,451,451,451',
',,451,451,,,,451,451,451,451,,,,,,451,,,,,,,,451,451,,451,451,451,451',
'451,451,451,451,451,451,451,451,516,516,451,,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,526,526,517,,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,527,527,526,,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,586,586',
'527,,586,,,,,,,,586,586,,586,586,586,586,586,586,586,,,586,586,,,,586',
'586,586,586,,,,,,586,,,,,,,,586,586,,586,586,586,586,586,586,586,586',
'586,586,586,586,587,587,586,,587,,,,,,,,587,587,,587,587,587,587,587',
'587,587,,,587,587,,,,587,587,587,587,,,,,,587,,,,,,,,587,587,,587,587',
'587,587,587,587,587,587,587,587,587,587,593,593,587,,593,,,,,,,,593',
'593,,593,593,593,593,593,593,593,,,593,593,,,,593,593,593,593,,,,,,593',
',,,,,,,593,593,,593,593,593,593,593,593,593,593,593,593,593,593,594',
'594,593,,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,630,630,594,,630,,,,,,,,630,630,,630,630,630,630',
'630,630,630,,,630,630,,,,630,630,630,630,,,,,,630,,,,,,,,630,630,,630',
'630,630,630,630,630,630,630,630,630,630,630,631,631,630,,631,,,,,,,',
'631,631,,631,631,631,631,631,631,631,,,631,631,,,,631,631,631,631,,',
',,,631,,,,,,,,631,631,,631,631,631,631,631,631,631,631,631,631,631,631',
'978,978,631,,978,,,,,,,,978,978,,978,978,978,978,978,978,978,,,978,978',
',,,978,978,978,978,,,,,,978,,,,,,,,978,978,,978,978,978,978,978,978',
'978,978,978,978,978,978,982,982,978,,982,,,,,,,,982,982,,982,982,982',
'982,982,982,982,,,982,982,,,,982,982,982,982,,,,,,982,,,,,,,,982,982',
',982,982,982,982,982,982,982,982,982,982,982,982,983,983,982,,983,,',
',,,,,983,983,,983,983,983,983,983,983,983,,,983,983,,,,983,983,983,983',
',,,,,983,,,,,,,,983,983,,983,983,983,983,983,983,983,983,983,983,983',
'983,,341,983,341,341,341,341,341,,544,,544,544,544,544,544,341,,,,,',
',,544,,702,,702,702,702,702,702,,,,,,341,341,,702,,,,,544,341,341,341',
'341,,,,341,544,544,544,544,,,,544,702,,704,,704,704,704,704,704,702',
'702,702,702,,,,702,704,,744,,744,744,744,744,744,,745,,745,745,745,745',
'745,744,,,,,704,,,745,,,,,,704,704,704,704,,,,704,744,,,,,,,,745,744',
'744,744,744,,,,744,745,745,745,745,,,892,745,892,892,892,892,892,,925',
',925,925,925,925,925,892,,,,,,,,925,,927,,927,927,927,927,927,,,,,,892',
',,927,,,,,925,892,892,892,892,,,,892,925,925,925,925,,,,925,927,,929',
',929,929,929,929,929,927,927,927,927,,,,927,929,,987,,987,987,987,987',
'987,,998,,998,998,998,998,998,987,,,,,929,,,998,,,,,,,,929,929,,,,929',
'987,,,,,,,,998,,,987,987,,,,987,998,998,998,998,,,1000,998,1000,1000',
'1000,1000,1000,1002,,1002,1002,1002,1002,1002,1004,1000,1004,1004,1004',
'1004,1004,1027,1002,1027,1027,1027,1027,1027,,1004,,,,,,,1027,1000,',
',,,,,1002,,,,1000,1000,,1004,,1000,,1002,1002,,1027,,1002,,1004,1004',
',,,1004,,1027,1027,,,,1027' ]
        racc_action_check = arr = ::Array.new(25100, 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 = [
  1853,    33,   nil,    81,   nil,  5912,   909,   -11, 22907, 23035,
    81,   nil,    60,   105,   309,   171,   574,   -81,   nil,   -71,
  6043,  1711,   240,   nil,   -62,   nil,    -8,   958,  1068,  6174,
  6305,  6436,   nil,  1993,  6567,  6698,   nil,   169,   282,   352,
   266,   332,  6837,  6968,   -51,  7099,   224,   576,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,  1178,   nil,   -80,
  7230,  7361,     4,   nil,  7492,  7623,   nil,   nil,  7754,  7893,
  8024,  8155, 23419,   nil,   nil,   nil,   nil,   nil,   223,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,     0,   nil,   nil,   112,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   356,   nil,  8294,   nil,   nil,   nil,   nil,  8433,  8564,  8695,
  8826,  8965,  2133,   nil,     2,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   229,   nil,  2273,  9096,  9227,
  9358,  9489,  9620,  9751, 23593, 23654,   nil,   nil,  9882, 10013,
 10144,   nil,   nil,   682,   -54,   138,   329,   166,   252,   313,
   nil, 10275,  2413,   325, 10406, 10537, 10668, 10799, 10930, 11061,
 11192, 11323, 11454, 11585, 11716, 11847, 11978, 12109, 12240, 12371,
 12502, 12633, 12764, 12895, 13026, 13157,   nil,   nil,   nil,   nil,
 13288,   nil,   nil, 23715,   nil,   nil,   334, 13419, 13550,   nil,
   nil,   nil,   nil,   nil,   nil,   nil, 13681,   nil,  2133,   nil,
   325,   337,   nil, 13812,   394, 13943,   nil,   nil, 14074, 14205,
   nil,   nil,   228,   nil, 14344,  1396,   371,   355,  2553,   380,
   430,   393, 14475,  2693,   686,   718,   771,   473,   794,   nil,
   441,   417,    33,   nil,   nil,   nil,   476,   360,   455, 14614,
   nil,   472,   529,   834,   nil,   536, 14745,   nil, 14876,  2833,
 15015,   480,   nil,   146,   421,   525,   516,   503,   555,   nil,
   nil, 24692,   346,    -1,    11, 15146, 15277,   298,   632,   515,
   -18,    11,   837,   609,    25,   644,   nil,   nil,   342,   434,
   -21,   nil,   870,   nil,   577, 15408,   nil,   nil,   nil,   194,
   230,   379,   413,   486,   510,   523,   577,   578,   nil,   582,
   nil, 15539,   nil,   272,   456,   459,   465,   497,   -41,   -35,
   501,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   576,
 23163,   nil,   nil,   nil,   nil,   586,   nil,   nil,   568, 15670,
   570,   nil,   nil,   562,   nil,   930,   197,   686,   nil,   nil,
  1853,   nil,   nil,   nil,   nil,   nil,  1993,   603,   nil,   605,
   610,   481,   506,  1314,   nil,   nil,   nil,   222,   334,   663,
   nil,   nil,  1446,  1582,   nil,   nil,   nil,   -35,   nil,   668,
 23776, 23837, 15801,   217, 15932, 16063, 16194,  2833,  2973,   642,
   772,   696,   699,   701,   707,  1667,  4233,   666,  3113,  3253,
  3393,  3533,  3673,  3813,   915,  1240,  3953,  4093,  2273,  1397,
   765,   nil,  1718,   nil,   nil,   nil,   nil,   646,   nil,   664,
   nil,   769,   669,   nil,   nil, 16325,   nil, 16456,   nil, 16587,
   nil,   363,   nil,   nil,   nil, 16726,  1561,  2973,   673,   672,
   nil,   nil,   675, 16865,   679, 16996, 23898, 23959,  1006,   724,
   nil, 17127,   682,   nil, 17258, 17389, 24020, 24081,  1531,  2413,
 17520,   811,   821,  1604,   741,   nil, 17651,   nil,   nil, 17782,
   nil,   nil,   nil,   nil, 24700,   nil,   699,   704,   nil,   710,
   717,   719,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   710,  1278,   nil,   nil, 17913,   nil,   nil,   nil,   803,   nil,
   nil,   nil,   807,   nil,   nil,   810,  3113,   860,   nil,  3253,
    62,   147,   857,   867, 18044, 18175, 24142, 24203,    27,   nil,
   nil,  1038,   nil, 24264, 24325, 18306,   nil,   nil,   250,  3393,
   788,   nil,   -33,   nil,   nil,   nil,   832,   nil,   nil,   nil,
   762,   nil,   nil,   388,   nil,   390,   nil,   nil,   748,   nil,
   749,   nil,   nil,   nil, 23291,   nil,   755, 18437, 18568, 18699,
 24386, 24447, 18838, 18969,   552,   812, 19100, 19231, 19362, 19493,
   811,   nil,   nil, 19624, 19755,   819,   nil,   nil,   nil,   301,
   343,   466,   604,   787,   788,   nil,   -10,   895,     6,   810,
   nil,   nil,   160,   nil,   nil,   792,   nil,   854, 19886,   nil,
   nil, 20017,   nil,   847,   -80, 20148,   829,   nil,   834,   123,
   180,   884,   248,  1040,   886,   845, 20279,   nil,   914,   214,
   968, 20410,   nil,   860,   nil,   504,    37,   861,   780,   nil,
   nil,   557, 24717,   nil, 24756,   nil,  1377,   nil, 20541,   nil,
  1314,   nil,   859,   335,   866,   nil,   nil,   nil,   nil,   712,
   nil,   989,   nil,   nil,   nil,   nil,  1000,   nil,    26,   880,
    68,    93,   151,   185, 20672,   717,  1146,   nil,   881,  3533,
 20803,   nil,  1006,  3673, 24773, 24781, 23532,   nil,   nil,   nil,
   nil,   nil,   nil,  3813,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   883, 20934,   892,   374,   443,   714,   826,   nil,  2553,
 21065,   nil,   905,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil, 21196, 21327, 21458, 21589,   520, 21720,   nil,
   889,   nil,  3953,   nil,   nil,   nil,  4093,   nil,   nil,   nil,
   nil,   910,   236,   nil,   nil,  1036,   nil,  4233,   913,   962,
   nil,   nil,   nil,   nil,   nil,  4373,  4513,   915,   963,   922,
   nil,   nil,   nil,   924,   926,   nil,   929,   940,   nil,   941,
   nil,   nil,   948,  1413,   946,   951,   nil,  1077,   nil, 21851,
  1078,  4653,  4793,   nil, 21982,  4933,   152,   181,   nil,  1083,
   327,  5073,   nil,  1087,   967,   366,   nil,   971,   968,   549,
   nil,   nil, 22113, 22244,  2693,   969,   970,   nil,   973,   979,
   980,   nil,  1005,   986,   975, 22375,   nil,   nil,   nil,   nil,
   nil,  5213,   nil,   nil,    32, 22506,   nil,  1006,  1111,  1242,
   nil,   nil, 24833,   nil,  6745,   nil,  8202,   nil, 14522,   nil,
   nil,   nil,   nil,   398,  1307,   988,   nil,    33,   nil,  1114,
  1116,   nil,   303,   nil,   nil,   nil,  1117,   nil,   nil,   nil,
  1038,   nil,  1203,   nil,   nil, 24841,   nil, 24858,   nil, 24897,
   nil,   nil,  1019, 22637,  1116,  1075,   nil,  5353,    34,    35,
  1148,  1077,    36,   nil,   nil,   nil,   563,   nil,   nil,   nil,
  1016,  1020,  1021,  1023,  1026,  1439,  1027,  1511,  5493,   nil,
   nil,   nil,   nil,   nil,  5633,   nil,  5773,  1030,   nil,   nil,
  1032,  1034,  1036,  1039,   nil,  1050,   nil,  1150, 24508,   nil,
  1177, 22768, 24569, 24630,    42,   nil,  1319, 24914,   nil,   nil,
   nil,   nil,  1647,  1055,   747,  1180,  1187,   nil, 24922,   nil,
 24974,   nil, 24981,   nil, 24988,   nil,   nil,  1108,  1113,   nil,
  1077,    98,   102,   111,   138,   nil,  1075,  1078,   nil,   nil,
   nil,  1079,  1080,  1083,  1089,   145,   nil, 24995,   nil,   nil,
   nil,   nil,  1091,   nil ]

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

clist = [
'219,128,128,378,279,279,279,332,16,262,123,206,339,16,427,214,690,2',
'115,301,496,418,263,264,418,583,13,328,223,634,418,13,131,131,133,133',
'111,223,223,223,669,16,306,306,532,433,439,411,412,315,315,343,344,112',
'486,347,297,576,579,13,545,318,270,274,6,128,592,552,487,6,535,538,223',
'223,542,522,223,352,362,362,743,805,669,115,315,315,315,322,266,273',
'275,699,700,116,482,356,299,714,818,489,828,348,722,725,394,395,396',
'397,837,383,905,974,840,825,869,666,947,666,364,368,16,280,280,280,902',
'223,223,223,223,16,16,480,949,613,615,1,880,424,13,399,342,342,491,444',
'342,672,205,13,13,792,357,827,333,829,407,796,277,290,291,384,400,609',
'611,614,614,624,390,609,326,496,335,658,380,281,281,281,6,336,340,956',
'669,355,974,222,596,398,6,379,279,329,330,872,693,342,342,342,342,331',
'345,841,392,346,842,734,334,337,964,739,443,851,599,600,746,1015,300',
'16,223,415,223,223,415,223,450,920,871,873,415,223,223,949,993,946,543',
'13,814,413,341,868,413,696,16,662,279,279,413,656,832,961,902,970,434',
'279,809,653,884,787,666,666,13,726,382,385,824,697,826,386,387,1017',
'388,676,552,703,705,707,932,223,223,685,389,748,802,433,439,753,223',
'15,422,423,828,740,15,823,519,820,968,446,447,,,737,410,410,16,962,523',
'516,16,115,,825,306,16,534,659,742,501,678,315,15,,13,297,526,,13,504',
'297,306,512,13,,846,580,581,315,,825,16,16,951,848,952,505,953,,,,681',
'270,,870,586,274,223,223,13,13,681,506,,280,508,115,520,891,859,514',
',280,913,,406,417,223,973,417,975,601,264,,582,417,,1018,,,729,,405',
'223,756,,756,128,533,488,738,15,,,966,,623,492,797,669,15,15,635,,923',
'924,281,300,630,825,,681,,,281,342,342,,131,681,133,279,777,,763,801',
'813,782,1016,,,,,,418,598,845,,443,1022,,1023,,1024,418,418,950,,849',
'418,418,602,853,654,223,433,439,854,855,1009,,,,641,552,552,,,1032,646',
',,,300,,,666,,300,971,434,972,,,279,,15,,15,640,,15,523,,,645,,15,,',
'523,878,,,443,797,997,16,,16,,15,641,,443,306,,223,673,,,,315,306,810',
'13,,13,,,315,,223,,,,,,657,893,895,,897,899,,900,434,,,,709,,1021,,279',
',434,773,775,,916,,778,780,279,6,,,,,,,,15,443,,418,15,16,,443,16,15',
'963,,,,223,,723,723,,937,,,,13,223,279,13,689,16,794,,,,1025,741,15',
'15,,128,,,,958,434,,443,13,760,,17,,434,,,17,635,,415,223,811,665,16',
',,425,793,,415,415,131,445,133,415,415,,413,,,,13,635,523,17,308,308',
'413,413,434,,,413,413,803,988,989,990,991,728,856,817,448,695,996,,306',
',,,,,,315,,,,306,860,768,354,363,363,,315,560,,,709,,,834,,635,,,,,',
',641,,635,646,847,,,,,,850,,,,,,,,493,,,1026,128,17,,223,,635,,,16,223',
'17,17,16,882,,,,886,719,509,,721,16,,,,13,,,,13,,817,,,,,,,415,13,772',
',1010,410,819,,,,,,15,417,15,,,,413,,,,16,417,417,,16,,417,417,,,342',
',,681,,16,342,,13,,,,13,16,16,,907,,709,,709,,,13,,17,,416,,,416,13',
'13,,,,416,223,,16,16,,,16,817,,,,,16,17,15,723,,15,915,,13,13,,919,13',
',,,,866,13,,,,,,934,15,445,,425,338,16,315,,,940,,,,,954,709,315,,,',
',560,647,13,,,,943,,15,,342,,15,,,,,17,15,15,,17,985,15,15,308,17,,417',
'857,38,,,,982,38,977,,,,16,660,308,315,,709,664,709,,,687,279,17,17',
',,,,13,,,16,674,38,304,304,443,16,677,16,,443,879,,821,,,821,,13,,,709',
'883,223,13,635,13,,,,887,888,,,,,,,350,366,366,366,967,,,866,,866,,866',
',,434,,,,909,910,15,39,912,,15,,39,,,,,408,421,,15,,,,,,,,,38,,,,,,',
',15,38,38,39,305,305,747,936,560,,560,,,,774,776,867,,,779,781,,15,',
',,15,,,866,,866,,866,,866,,15,,351,367,367,367,,,15,15,,,,560,560,,',
',498,,500,866,,502,503,,980,,,,,,,,15,15,,,15,,,17,,17,15,39,875,994',
',308,38,,,995,39,39,804,308,,874,812,,,,,,,,,,,,,,15,38,,,,,,836,,,',
',,,,,,,,,,,,,,,,,,,,,,,,861,,821,17,,867,17,867,,867,,,,774,776,781',
'779,,,,,15,,,,,17,,38,,,39,38,752,,626,304,38,,,,,15,,,,,,15,,15,,560',
'304,,416,39,,,17,,,,38,38,416,416,,,875,416,416,875,,875,,875,,867,',
'867,,867,,867,874,,874,,,901,,,861,,,926,928,930,,,,308,,,,,867,,,,',
'918,308,,,,,39,,,667,39,338,,670,305,39,,,,,,,,,,,,,,,,305,,875,,875',
',875,,875,,39,39,,,,874,,,,667,,,338,17,,,,17,,,,875,,,,,,17,,,,,,,',
',,715,,,,,,,416,999,1001,1003,1005,,1006,,,,,,,421,,,,,,,,,17,,,,17',
',,,,,,,,,,17,,,,,38,,38,17,17,,,,304,,1028,1029,1030,1031,761,,304,',
',,,1033,,667,338,,,,,17,17,,,17,,,,,,17,,,,,,,,,,,,,,,,798,,,799,,,',
',363,,,,,,17,,38,,942,38,,,,808,,,,,,,,,,,,39,,39,,38,831,,,305,,,,',
',,,305,,,,,,,,,,,,,,,363,,,,17,,38,,,,,,,,,,,,,,,,,,,17,,,858,,,17,',
'17,,,,,,,39,,,39,,,,,,304,,,,,,,,,,,304,,,39,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,39,,,,,,,,,,,,,,911,,,38,,,,38,,,,,,,,,,38,338,,,,,,,,,230',
',305,,,,,,,278,278,278,,305,,,,,,,,,324,325,,327,,,,38,,,,38,,,,,,,278',
'278,,,38,,,,,,,,38,38,,,,,,,,,,,,,39,,,,39,,,,,,,,38,38,39,,38,,,,,',
'38,,,,,,,,,,,,,,,,,,,,,,,,366,,,,,,38,39,,,938,39,,,,,,,,,,,39,,,,,',
',,39,39,,,,,,,,,,,,,,,,,,,,,,,,,39,39,366,,39,,38,,,,39,,,,,,,,,,278',
'420,,,426,278,,38,,,426,,,38,367,38,,,,,39,,,230,939,,457,458,459,460',
'461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477',
'478,,,,,479,,,,,,,278,278,,,,,,,,278,,,,367,,,278,39,278,,,278,278,',
',,,,,,,,,,,,,,39,,,,,,39,,39,,,,,,,,,,,,,528,,529,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,312,312,,,,,,,312,312',
',312,,278,,,,,,,,,,,,,312,312,,,,,,,,312,312,312,,,,,,,,,,,,,,,,,,,278',
',426,426,426,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,278,,278,,278,,,',
',,,,,,,,,,,,278,,,,,,,,,426,688,,,,,,,,,,,278,,,278,,,,,,,,,,,,,,,,',
',,,,,,,,278,,,,,,,,,,,,,,,,,,,,278,278,,,,,,,,312,,278,312,312,312,312',
'312,312,312,312,312,312,312,312,312,312,312,312,312,312,312,312,312',
'312,,,,,312,,,,,278,426,278,,,,769,,,278,278,426,426,,,,426,426,312',
',312,,,312,312,,,,,,,,,,,,,312,,,,278,,,278,,,,,,,,,,312,,,,,,,312,',
'312,278,,,,,,,,,,,,,,,,,278,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,278,,,,,,,,426,312,,,,,,,,,,,,426,426,426,426,,864,,,,',
',,,,,,,,,,,,,,,,,,,,,,,312,312,312,,,,,,,,,,,,,,,,,,,,,,,,,,278,,,,',
',,,,,,,,312,,312,,312,278,426,,,,,,,,,,,,312,,,,,,,,312,,,312,312,,',
',,,,,,,,312,,,312,,,,,,,,,,,,,,,,,,,,,,,,,312,,,,,,,,,,,,,,,,,,,,312',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,278,,,,,,,,312,,,,,,312,,,312,312',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,312,,,312,,,,312,,,,,,,,,,,312,,,,,312',
',,,,,,,,,,,,,,,,312,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,312,,,,,,,,,,,,,,,,,,,,,312,312,312,312,,312,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,312,,,,,,,,,,,,,,,,,,312,312,,',
',,,,,,,,,312,,,,,,,,,,312,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,312' ]
        racc_goto_table = arr = ::Array.new(2974, nil)
        idx = 0
        clist.each do |str|
          str.split(',', -1).each do |i|
            arr[idx] = i.to_i unless i.empty?
            idx += 1
          end
        end

clist = [
'33,58,58,57,35,35,35,71,28,143,15,15,90,28,29,31,10,2,99,50,77,18,38',
'31,18,96,21,33,28,30,18,21,61,61,62,62,4,28,28,28,183,28,28,28,8,39',
'39,22,22,67,67,17,17,6,41,17,46,93,93,21,142,51,75,75,7,58,55,168,29',
'7,73,73,28,28,73,52,28,28,28,28,100,11,183,99,67,67,67,65,40,40,40,125',
'125,5,39,21,47,120,134,42,179,4,95,95,17,17,17,17,94,156,121,180,11',
'174,130,78,136,78,56,56,28,72,72,72,118,28,28,28,28,28,28,144,137,160',
'160,1,12,26,21,2,24,24,144,26,24,14,16,21,21,132,19,129,72,129,23,132',
'45,45,45,157,25,161,161,161,161,63,157,161,68,77,70,76,88,74,74,74,7',
'89,92,121,183,97,180,20,98,7,7,101,35,102,103,134,104,24,24,24,24,105',
'106,107,5,108,109,110,74,74,111,112,58,113,114,115,116,136,9,28,28,28',
'28,28,28,28,31,117,122,128,28,28,28,137,121,135,138,21,139,21,140,129',
'21,141,28,147,35,35,21,149,120,150,118,130,75,35,151,29,152,30,78,78',
'21,96,155,158,131,142,131,159,162,121,163,52,168,171,171,171,134,28',
'28,52,164,165,30,39,39,166,28,27,24,24,179,167,27,172,33,176,177,24',
'24,,,55,72,72,28,11,50,31,28,99,,174,28,28,33,42,8,156,29,67,27,,21',
'46,31,,21,4,46,28,51,21,,30,17,17,67,,174,28,28,129,30,129,6,129,,,',
'39,75,,131,31,75,28,28,21,21,39,7,,72,47,99,65,125,30,47,,72,95,,20',
'20,28,129,20,129,38,31,,4,20,,94,,,29,,9,28,161,,161,58,7,45,29,27,',
',100,,15,45,77,183,27,27,33,,125,125,74,9,31,174,,39,,,74,24,24,,61',
'39,62,35,41,,29,52,73,41,129,,,,,,18,24,93,,58,129,,129,,129,18,18,131',
',8,18,18,24,8,33,28,39,39,142,142,10,,,,75,168,168,,,129,75,,,,9,,,78',
',9,131,75,131,,,35,,27,,27,40,,27,50,,,40,,27,,,50,8,,,58,77,125,28',
',28,,27,75,,58,28,,28,2,,,,67,28,22,21,,21,,,67,,28,,,,,,40,171,171',
',171,171,,171,75,,,,119,,131,,35,,75,26,26,,8,,26,26,35,7,,,,,,,,27',
'58,,18,27,28,,58,28,27,96,,,,28,,99,99,,93,,,,21,28,35,21,24,28,90,',
',,30,99,27,27,,58,,,,93,75,,58,21,15,,32,,75,,,32,33,,28,28,71,74,28',
',,64,143,,28,28,61,64,62,28,28,,21,,,,21,33,50,32,32,32,21,21,75,,,21',
'21,50,171,171,171,171,72,57,33,48,74,8,,28,,,,,,,67,,,,28,26,7,32,32',
'32,,67,173,,,119,,,119,,33,,,,,,,75,,33,75,17,,,,,,17,,,,,,,,48,,,171',
'58,32,,28,,33,,,28,28,32,32,28,71,,,,71,9,48,,9,28,,,,21,,,,21,,33,',
',,,,,28,21,74,,29,72,124,,,,,,27,20,27,,,,21,,,,28,20,20,,28,,20,20',
',,24,,,39,,28,24,,21,,,,21,28,28,,17,,119,,119,,,21,,32,,32,,,32,21',
'21,,,,32,28,,28,28,,,28,33,,,,,28,32,27,99,,27,99,,21,21,,99,21,,,,',
'124,21,,,,,,28,27,64,,64,69,28,67,,,28,,,,,119,119,67,,,,,173,48,21',
',,,21,,27,,24,,27,,,,,32,27,27,,32,33,27,27,32,32,,20,9,53,,,,31,53',
'28,,,,28,48,32,67,,119,48,119,,,64,35,32,32,,,,,21,,,28,48,53,53,53',
'58,28,48,28,,58,9,,126,,,126,,21,,,119,9,28,21,33,21,,,,9,9,,,,,,,53',
'53,53,53,124,,,124,,124,,124,,,75,,,,9,9,27,54,9,,27,,54,,,,,69,69,',
'27,,,,,,,,,53,,,,,,,,27,53,53,54,54,54,48,9,173,,173,,,,64,64,126,,',
'64,64,,27,,,,27,,,124,,124,,124,,124,,27,,54,54,54,54,,,27,27,,,,173',
'173,,,,69,,69,124,,69,69,,9,,,,,,,,27,27,,,27,,,32,,32,27,54,175,9,',
'32,53,,,9,54,54,48,32,,173,48,,,,,,,,,,,,,,27,53,,,,,,48,,,,,,,,,,,',
',,,,,,,,,,,,,,,,64,,126,32,,126,32,126,,126,,,,64,64,64,64,,,,,27,,',
',,32,,53,,,54,53,32,,69,53,53,,,,,27,,,,,,27,,27,,173,53,,32,54,,,32',
',,,53,53,32,32,,,175,32,32,175,,175,,175,,126,,126,,126,,126,173,,173',
',,48,,,64,,,127,127,127,,,,32,,,,,126,,,,,48,32,,,,,54,,,69,54,69,,69',
'54,54,,,,,,,,,,,,,,,,54,,175,,175,,175,,175,,54,54,,,,173,,,,69,,,69',
'32,,,,32,,,,175,,,,,,32,,,,,,,,,,69,,,,,,,32,127,127,127,127,,127,,',
',,,,69,,,,,,,,,32,,,,32,,,,,,,,,,,32,,,,,53,,53,32,32,,,,53,,127,127',
'127,127,69,,53,,,,,127,,69,69,,,,,32,32,,,32,,,,,,32,,,,,,,,,,,,,,,',
'69,,,69,,,,,32,,,,,,32,,53,,32,53,,,,69,,,,,,,,,,,,54,,54,,53,69,,,54',
',,,,,,,54,,,,,,,,,,,,,,,32,,,,32,,53,,,,,,,,,,,,,,,,,,,32,,,69,,,32',
',32,,,,,,,54,,,54,,,,,,53,,,,,,,,,,,53,,,54,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,54,,,,,,,,,,,,,,69,,,53,,,,53,,,,,,,,,,53,69,,,,,,,,,34,,54',
',,,,,,34,34,34,,54,,,,,,,,,34,34,,34,,,,53,,,,53,,,,,,,34,34,,,53,,',
',,,,,53,53,,,,,,,,,,,,,54,,,,54,,,,,,,,53,53,54,,53,,,,,,53,,,,,,,,',
',,,,,,,,,,,,,,,53,,,,,,53,54,,,53,54,,,,,,,,,,,54,,,,,,,,54,54,,,,,',
',,,,,,,,,,,,,,,,,,,54,54,53,,54,,53,,,,54,,,,,,,,,,34,34,,,34,34,,53',
',,34,,,53,54,53,,,,,54,,,34,54,,34,34,34,34,34,34,34,34,34,34,34,34',
'34,34,34,34,34,34,34,34,34,34,,,,,34,,,,,,,34,34,,,,,,,,34,,,,54,,,34',
'54,34,,,34,34,,,,,,,,,,,,,,,,54,,,,,,54,,54,,,,,,,,,,,,,34,,34,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,43,43',
',,,,,,43,43,,43,,34,,,,,,,,,,,,,43,43,,,,,,,,43,43,43,,,,,,,,,,,,,,',
',,,,34,,34,34,34,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,34,,34,,34,,',
',,,,,,,,,,,,,34,,,,,,,,,34,34,,,,,,,,,,,34,,,34,,,,,,,,,,,,,,,,,,,,',
',,,,34,,,,,,,,,,,,,,,,,,,,34,34,,,,,,,,43,,34,43,43,43,43,43,43,43,43',
'43,43,43,43,43,43,43,43,43,43,43,43,43,43,,,,,43,,,,,34,34,34,,,,34',
',,34,34,34,34,,,,34,34,43,,43,,,43,43,,,,,,,,,,,,,43,,,,34,,,34,,,,',
',,,,,43,,,,,,,43,,43,34,,,,,,,,,,,,,,,,,34,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,34,,,,,,,,34,43,,,,,,,,,,,,34,34,34,34,',
'34,,,,,,,,,,,,,,,,,,,,,,,,,,,,43,43,43,,,,,,,,,,,,,,,,,,,,,,,,,,34,',
',,,,,,,,,,,43,,43,,43,34,34,,,,,,,,,,,,43,,,,,,,,43,,,43,43,,,,,,,,',
',,43,,,43,,,,,,,,,,,,,,,,,,,,,,,,,43,,,,,,,,,,,,,,,,,,,,43,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,34,,,,,,,,43,,,,,,43,,,43,43,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,43,,,43,,,,43,,,,,,,,,,,43,,,,,43,,,,,,,,,,,,,,,,,43',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,43,,,,,,,,,,,,',
',,,,,,,,43,43,43,43,,43,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,43,,,,,,,,,,,,,,,,,,43,43,,,,,,,,,,,,43,,,,,,,,,,43,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,43' ]
        racc_goto_check = arr = ::Array.new(2974, 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,   135,    17,   nil,    33,    88,    50,    64,  -285,   181,
  -515,  -609,  -669,   nil,  -360,     2,   137,   -13,  -188,    81,
   163,    26,  -161,   -54,    76,    37,   -75,   285,     8,  -199,
  -398,    -1,   628,   -19,  1678,   -25,   nil,   nil,    -2,  -169,
    62,  -212,  -172,  2040,   nil,   127,    23,    63,   459,   nil,
   -15,    26,  -244,   935,  1025,  -294,    48,   -69,    -7,   nil,
   nil,    24,    26,  -239,   431,    46,   nil,    15,   124,   827,
   110,   -53,    92,  -263,   144,    36,  -311,  -261,  -380,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   100,   116,
   -50,   nil,   115,  -286,  -611,  -478,  -323,   112,  -180,    15,
  -520,   115,   131,   131,  -341,   138,   132,  -523,   134,  -523,
  -386,  -707,  -389,  -532,  -158,  -167,  -389,  -633,  -709,    -5,
  -464,  -725,  -566,   nil,    86,  -455,   281,   429,  -565,  -553,
  -676,  -440,  -507,   nil,  -599,  -658,  -773,  -757,  -109,  -462,
   173,  -304,  -281,   -13,  -130,   nil,   nil,  -249,   nil,  -236,
  -665,  -439,  -555,   nil,   nil,   182,    29,    76,   177,   180,
  -253,  -223,   180,   181,   190,  -327,  -324,  -308,  -274,   nil,
   nil,  -278,  -411,   361,  -589,   348,  -405,  -628,   nil,  -604,
  -816,   nil,   nil,  -457 ]

racc_goto_default = [
   nil,   nil,   nil,     3,   nil,     4,   349,   295,   nil,   531,
   nil,   838,   nil,   292,   293,   nil,   nil,   nil,    11,    12,
    18,   228,   nil,   nil,    14,   nil,   414,   229,   323,   nil,
   nil,   594,   227,   449,    21,    22,    23,    24,   nil,   684,
   nil,   nil,   nil,    26,    25,   428,    32,   nil,   nil,    34,
    37,    36,   nil,   224,   225,   361,   nil,   130,   436,   129,
   132,    76,    77,   nil,   419,    91,    44,    47,   260,   284,
   nil,   806,   429,   nil,   430,   441,   642,   494,   282,   268,
    48,    49,    50,    51,    52,    53,    54,    55,    56,   nil,
   269,    62,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   577,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   711,   559,
   nil,   712,   969,   865,   547,   nil,   548,   nil,   nil,   549,
   nil,   551,   nil,   789,   nil,   nil,   nil,   557,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   440,   490,   nil,   481,   nil,
   nil,   nil,   nil,    75,    78,    79,   nil,   nil,   nil,   nil,
   nil,   604,   nil,   nil,   nil,   nil,   nil,   nil,   822,   745,
   546,   nil,   550,   830,   562,   564,   565,   876,   568,   569,
   877,   572,   575,   287 ]

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

racc_reduce_n = 603

racc_shift_n = 1034

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

racc_nt_base = 145

racc_use_result_var = true

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

Racc_token_to_s_table = [
  "$end",
  "error",
  "kCLASS",
  "kMODULE",
  "kDEF",
  "kUNDEF",
  "kBEGIN",
  "kRESCUE",
  "kENSURE",
  "kEND",
  "kIF",
  "kUNLESS",
  "kTHEN",
  "kELSIF",
  "kELSE",
  "kCASE",
  "kWHEN",
  "kWHILE",
  "kUNTIL",
  "kFOR",
  "kBREAK",
  "kNEXT",
  "kREDO",
  "kRETRY",
  "kIN",
  "kDO",
  "kDO_COND",
  "kDO_BLOCK",
  "kDO_LAMBDA",
  "kRETURN",
  "kYIELD",
  "kSUPER",
  "kSELF",
  "kNIL",
  "kTRUE",
  "kFALSE",
  "kAND",
  "kOR",
  "kNOT",
  "kIF_MOD",
  "kUNLESS_MOD",
  "kWHILE_MOD",
  "kUNTIL_MOD",
  "kRESCUE_MOD",
  "kALIAS",
  "kDEFINED",
  "klBEGIN",
  "klEND",
  "k__LINE__",
  "k__FILE__",
  "k__ENCODING__",
  "tIDENTIFIER",
  "tFID",
  "tGVAR",
  "tIVAR",
  "tCONSTANT",
  "tLABEL",
  "tCVAR",
  "tNTH_REF",
  "tBACK_REF",
  "tSTRING_CONTENT",
  "tINTEGER",
  "tFLOAT",
  "tUPLUS",
  "tUMINUS",
  "tUNARY_NUM",
  "tPOW",
  "tCMP",
  "tEQ",
  "tEQQ",
  "tNEQ",
  "tGEQ",
  "tLEQ",
  "tANDOP",
  "tOROP",
  "tMATCH",
  "tNMATCH",
  "tDOT",
  "tDOT2",
  "tDOT3",
  "tAREF",
  "tASET",
  "tLSHFT",
  "tRSHFT",
  "tCOLON2",
  "tCOLON3",
  "tOP_ASGN",
  "tASSOC",
  "tLPAREN",
  "tLPAREN2",
  "tRPAREN",
  "tLPAREN_ARG",
  "tLBRACK",
  "tLBRACK2",
  "tRBRACK",
  "tLBRACE",
  "tLBRACE_ARG",
  "tSTAR",
  "tSTAR2",
  "tAMPER",
  "tAMPER2",
  "tTILDE",
  "tPERCENT",
  "tDIVIDE",
  "tDSTAR",
  "tPLUS",
  "tMINUS",
  "tLT",
  "tGT",
  "tPIPE",
  "tBANG",
  "tCARET",
  "tLCURLY",
  "tRCURLY",
  "tBACK_REF2",
  "tSYMBEG",
  "tSTRING_BEG",
  "tXSTRING_BEG",
  "tREGEXP_BEG",
  "tREGEXP_OPT",
  "tWORDS_BEG",
  "tQWORDS_BEG",
  "tSYMBOLS_BEG",
  "tQSYMBOLS_BEG",
  "tSTRING_DBEG",
  "tSTRING_DVAR",
  "tSTRING_END",
  "tSTRING_DEND",
  "tSTRING",
  "tSYMBOL",
  "tNL",
  "tEH",
  "tCOLON",
  "tCOMMA",
  "tSPACE",
  "tSEMI",
  "tLAMBDA",
  "tLAMBEG",
  "tCHARACTER",
  "tRATIONAL",
  "tIMAGINARY",
  "tLABEL_END",
  "tANDDOT",
  "tEQL",
  "tLOWEST",
  "$start",
  "program",
  "top_compstmt",
  "top_stmts",
  "opt_terms",
  "top_stmt",
  "terms",
  "stmt",
  "bodystmt",
  "compstmt",
  "opt_rescue",
  "opt_else",
  "opt_ensure",
  "stmts",
  "stmt_or_begin",
  "fitem",
  "undef_list",
  "expr_value",
  "command_asgn",
  "mlhs",
  "command_call",
  "lhs",
  "mrhs",
  "mrhs_arg",
  "expr",
  "@1",
  "command_rhs",
  "var_lhs",
  "primary_value",
  "opt_call_args",
  "rbracket",
  "call_op",
  "backref",
  "opt_nl",
  "arg",
  "command",
  "block_command",
  "block_call",
  "dot_or_colon",
  "operation2",
  "command_args",
  "cmd_brace_block",
  "brace_body",
  "fcall",
  "operation",
  "call_args",
  "mlhs_basic",
  "mlhs_inner",
  "rparen",
  "mlhs_head",
  "mlhs_item",
  "mlhs_node",
  "mlhs_post",
  "user_variable",
  "keyword_variable",
  "cname",
  "cpath",
  "fname",
  "op",
  "reswords",
  "fsym",
  "symbol",
  "dsym",
  "@2",
  "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",
  "@3",
  "literal",
  "strings",
  "xstring",
  "regexp",
  "words",
  "qwords",
  "symbols",
  "qsymbols",
  "var_ref",
  "assoc_list",
  "brace_block",
  "method_call",
  "lambda",
  "then",
  "if_tail",
  "do",
  "case_body",
  "for_var",
  "superclass",
  "term",
  "f_arglist",
  "singleton",
  "@4",
  "@5",
  "@6",
  "@7",
  "@8",
  "@9",
  "@10",
  "@11",
  "@12",
  "@13",
  "@14",
  "@15",
  "@16",
  "@17",
  "@18",
  "@19",
  "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",
  "@20",
  "@21",
  "f_args",
  "do_block",
  "do_body",
  "operation3",
  "@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], val[2], val[3])
                    
    result
end

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

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

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

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

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

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

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

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

# reduce 15 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 29 omitted

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

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

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

# reduce 33 omitted

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

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

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

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

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

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

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

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

# reduce 42 omitted

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

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

# reduce 44 omitted

# reduce 45 omitted

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

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

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

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

# reduce 50 omitted

# reduce 51 omitted

# reduce 52 omitted

# reduce 53 omitted

# reduce 54 omitted

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

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

# reduce 57 omitted

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 73 omitted

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

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

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

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

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

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

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

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

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

# reduce 83 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 108 omitted

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

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

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

# reduce 112 omitted

# reduce 113 omitted

# reduce 114 omitted

# reduce 115 omitted

# reduce 116 omitted

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

# reduce 118 omitted

# reduce 119 omitted

# reduce 120 omitted

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

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

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

# reduce 124 omitted

# reduce 125 omitted

# reduce 126 omitted

# reduce 127 omitted

# reduce 128 omitted

# reduce 129 omitted

# reduce 130 omitted

# reduce 131 omitted

# reduce 132 omitted

# reduce 133 omitted

# reduce 134 omitted

# reduce 135 omitted

# reduce 136 omitted

# reduce 137 omitted

# reduce 138 omitted

# reduce 139 omitted

# reduce 140 omitted

# reduce 141 omitted

# reduce 142 omitted

# reduce 143 omitted

# reduce 144 omitted

# reduce 145 omitted

# reduce 146 omitted

# reduce 147 omitted

# reduce 148 omitted

# reduce 149 omitted

# reduce 150 omitted

# reduce 151 omitted

# reduce 152 omitted

# reduce 153 omitted

# reduce 154 omitted

# reduce 155 omitted

# reduce 156 omitted

# reduce 157 omitted

# reduce 158 omitted

# reduce 159 omitted

# reduce 160 omitted

# reduce 161 omitted

# reduce 162 omitted

# reduce 163 omitted

# reduce 164 omitted

# reduce 165 omitted

# reduce 166 omitted

# reduce 167 omitted

# reduce 168 omitted

# reduce 169 omitted

# reduce 170 omitted

# reduce 171 omitted

# reduce 172 omitted

# reduce 173 omitted

# reduce 174 omitted

# reduce 175 omitted

# reduce 176 omitted

# reduce 177 omitted

# reduce 178 omitted

# reduce 179 omitted

# reduce 180 omitted

# reduce 181 omitted

# reduce 182 omitted

# reduce 183 omitted

# reduce 184 omitted

# reduce 185 omitted

# reduce 186 omitted

# reduce 187 omitted

# reduce 188 omitted

# reduce 189 omitted

# reduce 190 omitted

# reduce 191 omitted

# reduce 192 omitted

# reduce 193 omitted

# reduce 194 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 219 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 233 omitted

# reduce 234 omitted

# reduce 235 omitted

# reduce 236 omitted

# reduce 237 omitted

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

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

# reduce 240 omitted

# reduce 241 omitted

# reduce 242 omitted

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

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

# reduce 245 omitted

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

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

# reduce 249 omitted

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

# reduce 251 omitted

# reduce 252 omitted

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

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

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

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

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

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

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

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

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

                      result = val[1]
                    
    result
end

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

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

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

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

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

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

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

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

# reduce 270 omitted

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

# reduce 274 omitted

# reduce 275 omitted

# reduce 276 omitted

# reduce 277 omitted

# reduce 278 omitted

# reduce 279 omitted

# reduce 280 omitted

# reduce 281 omitted

# reduce 282 omitted

# reduce 283 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

def _reduce_304(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 305 omitted

def _reduce_306(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_307(val, _values, result)
                      lambda_call = @builder.call_lambda(val[0])

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

def _reduce_308(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_309(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_310(val, _values, result)
                      @lexer.cond.push(true)
                    
    result
end

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

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

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

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

def _reduce_315(val, _values, result)
                      result = @builder.loop(:until, val[0], val[2], val[3],
                                             val[5], val[6])
                    
    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)
                      @lexer.cond.push(true)
                    
    result
end

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

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

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

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

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

                      @lexer.pop_cmdarg
                      @static_env.unextend
                    
    result
end

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

                      @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
end

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

                      @lexer.pop_cmdarg
                      @static_env.unextend

                      @def_level = val[4]
                    
    result
end

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

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

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

                      @lexer.pop_cmdarg
                      @static_env.unextend
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

# reduce 336 omitted

# reduce 337 omitted

# reduce 338 omitted

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

# reduce 340 omitted

# reduce 341 omitted

# reduce 342 omitted

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

# reduce 344 omitted

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

# reduce 346 omitted

# reduce 347 omitted

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

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

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

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

# reduce 352 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 372 omitted

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

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

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

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

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

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

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

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

# reduce 381 omitted

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

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

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

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

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

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

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

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

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

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

# reduce 392 omitted

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

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

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

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

                      @static_env.unextend
                    
    result
end

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

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

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

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

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

def _reduce_401(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_402(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_403(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_404(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_405(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_406(val, _values, result)
                      lparen_t, args, rparen_t = val[3]
                      result = @builder.call_method(val[0], val[1], val[2],
                                  lparen_t, args, rparen_t)
                    
    result
end

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

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

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

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

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

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

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

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

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

                      @static_env.unextend
                      @lexer.cmdarg = val[1]
                      @lexer.cmdarg.pop
                    
    result
end

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

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

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

                      @static_env.unextend
                      @lexer.cmdarg = val[1]
                      @lexer.cmdarg.pop
                    
    result
end

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

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

# reduce 424 omitted

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

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

# reduce 428 omitted

# reduce 429 omitted

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

# reduce 431 omitted

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

# reduce 433 omitted

# reduce 434 omitted

# reduce 435 omitted

# reduce 436 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 472 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                      @lexer.state = :expr_value
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 530 omitted

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

                      result = val[0]
                    
    result
end

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

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

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

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

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

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

                      @static_env.declare val[0][0]

                      result = val[0]
                    
    result
end

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

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

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

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

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

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

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

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

# reduce 546 omitted

# reduce 547 omitted

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

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

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

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

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

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

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

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

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

# reduce 556 omitted

# reduce 557 omitted

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

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

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

# reduce 560 omitted

# reduce 561 omitted

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

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

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

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

# reduce 565 omitted

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[0] ]
                    
    result
end

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

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

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

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

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

# reduce 575 omitted

# reduce 576 omitted

# reduce 577 omitted

# 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

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

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

# reduce 589 omitted

# reduce 590 omitted

# reduce 591 omitted

# reduce 592 omitted

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

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

# reduce 595 omitted

# reduce 596 omitted

# reduce 597 omitted

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

# reduce 599 omitted

# reduce 600 omitted

# reduce 601 omitted

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

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

  end   # class Ruby25
  end   # module Parser
