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


  def version
    19 # closest released match: v1_9_0_2
  end

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

clist = [
'-448,5,63,64,65,7,51,-448,-448,-448,57,58,-448,-448,-448,61,-448,59',
'60,62,23,24,66,67,-448,272,-448,-448,-448,22,28,27,90,89,91,92,-448',
'-448,17,-448,-448,-448,-448,-448,6,41,8,9,94,93,95,84,50,86,85,87,551',
'88,96,97,530,82,83,38,39,37,-448,-448,-448,-448,-448,-448,-448,-448',
'-448,-448,-448,-448,-448,-448,98,451,-448,-448,-448,36,-448,-448,30',
'-86,-448,52,53,-448,-448,54,-448,32,-448,572,-448,40,-448,-448,-448',
'-448,-448,-448,-448,18,-448,271,-448,-93,81,73,76,77,193,78,79,561,655',
'751,74,80,-448,-448,-448,-448,-451,-448,56,-448,75,-448,-448,-451,-451',
'-451,-461,194,-451,-451,-451,682,-451,195,530,682,207,204,205,201,-451',
'530,-451,-451,-451,102,265,550,571,-92,101,-88,-451,-451,-90,-451,-451',
'-451,-451,-451,102,530,-86,-93,530,101,-87,102,563,562,-92,-88,101,208',
'542,196,-86,714,543,416,-78,-89,-451,-451,-451,-451,-451,-451,-451,-451',
'-451,-451,-451,-451,-451,-451,102,202,-451,-451,-451,101,-451,-451,-85',
'-90,-451,-87,-80,-451,-451,197,-451,654,-451,646,-451,536,-451,-451',
'-451,-451,-451,-451,-451,-526,-451,208,-451,-93,-448,102,-526,-526,-526',
'102,101,-448,-526,-526,101,-526,-451,-451,-451,-451,-522,-451,102,-451',
'-526,-451,-451,101,-84,102,-80,-91,798,-82,101,-526,-526,682,-526,-526',
'-526,-526,-526,-89,498,-79,-91,497,-80,102,-86,-93,102,246,101,-86,-93',
'101,-92,-88,-81,-82,-448,-92,-88,-526,-526,-526,-526,-526,-526,-526',
'-526,-526,-526,-526,-526,-526,-526,204,205,-526,-526,-526,-80,589,296',
'-80,485,-526,665,561,-526,-90,-80,-87,-523,-526,-90,-526,-87,-526,-526',
'-526,-526,-526,-526,-526,-279,-526,-526,-526,204,205,733,-279,-279,-279',
'734,297,-522,-279,-279,-523,-279,-526,-526,-82,-81,208,-526,204,205',
'272,-526,-89,-83,102,-92,666,272,-519,101,363,-279,-279,203,-279,-279',
'-279,-279,-279,563,562,559,498,498,-89,500,500,-91,561,-89,-82,-88,-91',
'-82,561,-90,208,204,205,375,-82,-279,-279,-279,-279,-279,-279,-279,-279',
'-279,-279,-279,-279,-279,-279,-461,-85,-279,-279,-279,-448,592,415,-93',
'267,-279,417,-448,-279,102,-520,267,-519,-279,101,-279,-448,-279,-279',
'-279,-279,-279,-279,-279,561,-279,271,-279,208,563,562,564,561,271,-519',
'563,562,566,-78,604,-526,-279,-279,665,-83,-86,-279,-526,-526,-526,-279',
'-91,-526,-526,-526,815,-526,-73,-448,298,299,418,-451,-451,-59,-526',
'-526,-526,-526,-451,-451,207,498,603,-520,500,-526,-526,-451,-526,-526',
'-526,-526,-526,447,563,562,568,-81,-79,449,-458,825,563,562,573,-520',
'604,-458,102,451,604,480,481,101,-87,-526,-526,-526,-526,-526,-526,-526',
'-526,-526,-526,-526,-526,-526,-526,-451,-451,-526,-526,-526,458,735',
'-526,-58,604,-526,603,208,-526,-526,603,-526,485,-526,470,-526,471,-526',
'-526,-526,-526,-526,-526,-526,-458,-526,-526,-526,-522,-81,-79,673,-457',
'513,512,511,517,514,603,-457,201,-526,-526,-526,-526,-279,-526,200,-526',
'478,-526,-89,-279,-279,-279,-84,198,-279,-279,-279,276,-279,-92,204',
'205,-81,-79,-322,-81,-79,227,-279,-279,-279,-322,-81,-79,204,205,793',
'646,-279,-279,-322,-279,-279,-279,-279,-279,673,-457,513,512,511,517',
'514,-459,208,202,372,267,-456,224,-459,374,373,226,225,-456,789,482',
'-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279',
'-322,486,-279,-279,-279,487,592,-279,793,646,-279,227,73,-279,-279,493',
'-279,584,-279,494,-279,74,-279,-279,-279,-279,-279,-279,-279,-459,-279',
'75,-279,744,-456,513,512,511,517,514,501,502,900,451,536,201,-279,-279',
'-279,-279,-391,-279,413,-279,585,-279,-91,-391,-391,-391,-80,414,-391',
'-391,-391,365,-391,-88,102,540,519,541,576,101,227,-391,-391,-391,-460',
'523,522,526,525,-526,577,-460,-391,-391,580,-391,-391,-391,-391,-391',
'-460,-259,774,-82,513,512,511,-453,514,202,-90,-454,224,-455,-453,208',
'226,225,-454,657,-455,267,-391,-391,-391,-391,-391,-391,-391,-391,-391',
'-391,-391,-391,-391,-391,594,227,-391,-391,-391,-526,-460,-391,201,267',
'-391,227,-526,-391,-391,557,-391,-522,-391,722,-391,-526,-391,-391,-391',
'-391,-391,-391,-391,-453,-391,-391,-391,-454,201,-455,227,102,227,-526',
'208,477,101,208,208,-286,-391,-391,-73,-391,475,-391,-286,-286,-286',
'-391,628,-286,-286,-286,208,-286,-79,-526,491,639,202,-273,646,-87,208',
'-286,-286,201,-273,104,105,106,107,108,489,-286,-286,-273,-286,-286',
'-286,-286,-286,414,657,774,202,513,512,511,673,514,513,512,511,517,514',
'673,659,513,512,511,517,514,661,-286,-286,-286,-286,-286,-286,-286,-286',
'-286,-286,-286,-286,-286,-286,-273,664,-286,-286,-286,201,202,-286,669',
'276,-286,667,539,-286,-286,669,-286,672,-286,675,-286,537,-286,-286',
'-286,-286,-286,-286,-286,676,-286,678,-286,673,201,513,512,511,517,514',
'536,545,685,713,716,-274,-286,-286,-260,-286,547,-286,-274,-274,-274',
'-286,723,-274,-274,-274,458,-274,458,202,208,737,748,-280,451,227,669',
'-274,-274,-274,-280,449,208,639,208,672,267,-274,-274,-280,-274,-274',
'-274,-274,-274,267,639,227,202,227,673,762,513,512,511,517,514,224,-259',
'766,657,226,225,222,223,784,787,-274,-274,-274,-274,-274,-274,-274,-274',
'-274,-274,-274,-274,-274,-274,-280,665,-274,-274,-274,208,669,-274,646',
'797,-274,208,208,-274,-274,857,-274,806,-274,-261,-274,817,-274,-274',
'-274,-274,-274,-274,-274,819,-274,822,-274,823,657,826,-280,208,201',
'833,834,639,842,-280,843,892,-274,-274,-274,-274,-232,-274,-280,-274',
'890,-274,208,-232,-232,-232,845,846,-232,-232,-232,516,-232,513,512',
'511,517,514,-279,849,851,-232,-232,-232,853,-279,853,208,858,860,-523',
'862,-232,-232,-279,-232,-232,-232,-232,-232,-280,868,202,104,105,106',
'107,108,519,505,673,870,513,512,511,517,514,523,522,526,525,208,-232',
'-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-279',
'227,-232,-232,-232,-279,873,-232,-262,267,-232,669,-279,-232,-232,880',
'-232,-523,-232,884,-232,-279,-232,-232,-232,-232,-232,-232,-232,885',
'-232,-232,-232,224,201,887,449,226,225,222,223,920,893,902,904,-527',
'-232,-232,905,-232,547,-232,-527,-527,-527,-232,910,-527,-527,-527,912',
'-527,227,-279,104,105,106,107,108,915,-527,-527,-527,-527,917,853,853',
'921,241,242,493,-527,-527,930,-527,-527,-527,-527,-527,853,853,853,202',
'934,224,902,230,449,226,225,222,223,208,902,228,950,229,951,953,853',
'853,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527',
'-527,853,-523,-527,-527,-527,-522,853,-527,902,853,-527,,,-527,-527',
',-527,,-527,,-527,,-527,-527,-527,-527,-527,-527,-527,,-527,-527,-527',
'516,,513,512,511,517,514,,,,,,,-527,-527,-527,-527,-528,-527,,-527,',
'-527,,-528,-528,-528,,,-528,-528,-528,,-528,227,708,709,519,,710,96',
'97,-528,-528,-528,-528,523,522,526,525,241,242,,-528,-528,,-528,-528',
'-528,-528,-528,,,,,,224,,230,,226,225,222,223,,,228,,229,,,,,-528,-528',
'-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,,,-528,-528',
'-528,,,-528,,,-528,,,-528,-528,,-528,,-528,,-528,,-528,-528,-528,-528',
'-528,-528,-528,,-528,-528,-528,516,,513,512,511,517,514,,,,,,,-528,-528',
'-528,-528,-232,-528,,-528,,-528,,-232,-232,-232,,,-232,-232,-232,,-232',
',,,519,703,,,,,-232,,,523,522,526,525,,,,-232,-232,,-232,-232,-232,-232',
'-232,,673,,513,512,511,517,514,,,,-232,,,,,,,-232,-232,-232,,,-232,-232',
'-232,516,-232,513,512,511,517,514,-232,,,,-232,669,,-232,,,,,267,-232',
'-232,-232,,-232,-232,-232,-232,-232,,516,,513,512,511,517,514,519,,',
',,-232,,,,523,522,526,525,,,,,,227,-232,,,,,-232,-232,,,-232,,519,,-232',
',241,242,,267,-232,523,522,526,525,673,,513,512,511,517,514,224,,230',
',226,225,222,223,,,-232,,,,,,,,5,63,64,65,7,51,-232,,,57,58,-232,519',
',61,-232,59,60,62,23,24,66,67,526,525,,,,22,28,27,90,89,91,92,,673,17',
'513,512,511,517,514,6,41,8,9,94,93,95,84,50,86,85,87,,88,96,97,,82,83',
'38,39,37,673,,513,512,511,517,514,673,669,513,512,511,517,514,,,,,,36',
',,278,,,52,53,,,54,,32,,,,40,673,669,513,512,511,517,514,18,519,,,,81',
'73,76,77,,78,79,526,525,,74,80,5,63,64,65,7,51,56,,75,57,58,,,519,61',
',59,60,62,23,24,66,67,,526,525,,,22,28,27,90,89,91,92,,,17,,,,,,6,41',
'8,9,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,673,,513',
'512,511,517,514,,,,,,36,,,30,,,52,53,,,54,,32,,,,40,673,,513,512,511',
'517,514,18,519,,,,81,73,76,77,,78,79,526,525,,74,80,5,63,64,65,7,51',
'56,,75,57,58,,,519,61,,59,60,62,23,24,66,67,,526,525,,,22,28,27,90,89',
'91,92,,,17,,,,,,6,41,8,9,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38',
'39,37,,,,,,,,673,,513,512,511,517,514,,,,,,36,,,30,,,52,53,,,54,,32',
',,,40,673,,513,512,511,517,514,18,519,,,,81,73,76,77,,78,79,526,525',
',74,80,5,63,64,65,7,51,56,,75,57,58,,,519,61,,59,60,62,23,24,66,67,',
'526,525,,,22,28,27,90,89,91,92,,,17,,,,,,6,41,8,9,94,93,95,84,50,86',
'85,87,,88,96,97,,82,83,38,39,37,,,,,,,,673,,513,512,511,517,514,,,,',
',36,,,30,,,52,53,,,54,,32,,,,40,673,,513,512,511,517,514,18,519,,,,81',
'73,76,77,,78,79,526,525,,74,80,5,63,64,65,7,51,56,,75,57,58,,,519,61',
',59,60,62,23,24,66,67,,526,525,,,22,28,27,90,89,91,92,,,17,,,,,,6,41',
'8,9,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,227,231,236,237',
'238,233,235,243,244,239,240,,-547,-547,,,241,242,,36,,,30,,,52,53,,',
'54,,32,224,,230,40,226,225,222,223,234,232,228,18,229,,,,81,73,76,77',
',78,79,,,,74,80,5,63,64,65,7,51,56,,75,57,58,,,,61,,59,60,62,23,24,66',
'67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,6,41,8,9,94,93,95,84,50,86,85',
'87,,88,96,97,,82,83,38,39,37,227,231,236,237,238,233,235,243,244,239',
'240,,-547,-547,,,241,242,,36,,,278,,,52,53,,,54,,32,224,,230,40,226',
'225,222,223,234,232,228,18,229,,,,81,73,76,77,,78,79,,,,74,80,5,63,64',
'65,7,51,56,,75,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89',
'91,92,,,17,,,,,,6,41,8,9,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38',
'39,37,227,-547,-547,-547,-547,233,235,,,-547,-547,,,,,,241,242,,36,',
',278,,,52,53,,,54,,32,224,,230,40,226,225,222,223,234,232,228,18,229',
',,,81,73,76,77,,78,79,,,,74,80,5,63,64,65,7,51,56,,75,57,58,,,,61,,59',
'60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,6,41,8,9,94,93',
'95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,227,,,,,,,,,,,,,,,,241,242',
',36,,,30,,,52,53,,,54,,32,224,,230,40,226,225,222,223,,,228,18,229,',
',,81,73,76,77,,78,79,,,,74,80,5,63,64,65,7,51,56,,75,57,58,,,,61,,59',
'60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,6,41,8,9,94,93',
'95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,227,,,,,,,,,,,,,,,,241,242',
',36,,,30,,,52,53,,,54,,32,224,,230,40,226,225,222,223,,,228,18,229,',
',,81,73,76,77,,78,79,,,,74,80,5,63,64,65,7,51,56,,75,57,58,,,,61,,59',
'60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,6,41,8,9,94,93',
'95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,227,-547,-547,-547,-547',
'233,235,,,-547,-547,,,,,,241,242,,36,,,30,,,52,53,,,54,,32,224,,230',
'40,226,225,222,223,234,232,228,18,229,,,,81,73,76,77,,78,79,,,,74,80',
'5,63,64,65,7,51,56,,75,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28',
'27,90,89,91,92,,,17,,,,,,6,41,8,9,94,93,95,84,50,86,85,87,,88,96,97',
',82,83,38,39,37,227,-547,-547,-547,-547,233,235,,,-547,-547,,,,,,241',
'242,,36,,,30,,,52,53,,,54,,32,224,,230,40,226,225,222,223,234,232,228',
'18,229,,,,81,73,76,77,,78,79,,,,74,80,5,63,64,65,7,51,56,,75,57,58,',
',,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,6,41',
'8,9,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,227,-547,-547',
'-547,-547,233,235,,,-547,-547,,,,,,241,242,,36,,,30,,,52,53,,,54,,32',
'224,,230,40,226,225,222,223,234,232,228,18,229,,,,81,73,76,77,,78,79',
',,,74,80,5,63,64,65,7,51,56,,75,57,58,,,,61,,59,60,62,23,24,66,67,,',
',,,22,28,27,90,89,91,92,,,17,,,,,,6,41,8,9,94,93,95,84,50,86,85,87,',
'88,96,97,,82,83,38,39,37,227,-547,-547,-547,-547,233,235,,,-547,-547',
',,,,,241,242,,36,,,30,,,52,53,,,54,,32,224,,230,40,226,225,222,223,234',
'232,228,18,229,,,,81,73,76,77,,78,79,,,,74,80,5,63,64,65,7,51,56,,75',
'57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,',
',,6,41,8,9,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,227,-547',
'-547,-547,-547,233,235,,,-547,-547,,,,,,241,242,,36,,,30,,,52,53,,,54',
',32,224,,230,40,226,225,222,223,234,232,228,18,229,,,,81,73,76,77,,78',
'79,,,,74,80,5,63,64,65,7,51,56,,75,57,58,,,,61,,59,60,62,23,24,66,67',
',,,,,22,28,27,90,89,91,92,,,17,,,,,,6,41,8,9,94,93,95,84,50,86,85,87',
',88,96,97,,82,83,38,39,37,227,231,236,237,238,233,235,,,239,240,,,,',
',241,242,,36,,,30,,,52,53,,,54,,32,224,,230,40,226,225,222,223,234,232',
'228,18,229,,,,81,73,76,77,,78,79,,,,74,80,5,63,64,65,7,51,56,,75,57',
'58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,6',
'41,8,9,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,227,231,236',
'237,238,233,235,243,,239,240,,,,,,241,242,,36,,,30,,,52,53,,,54,,32',
'224,,230,40,226,225,222,223,234,232,228,18,229,,,,81,73,76,77,,78,79',
',,,74,80,5,63,64,65,7,51,56,,75,57,58,,,,61,,59,60,62,23,24,66,67,,',
',,,22,28,27,90,89,91,92,,,17,,,,,,6,41,8,9,94,93,95,84,50,86,85,87,',
'88,96,97,,82,83,38,39,37,227,,,,,,,,,,,,,,,,241,242,,36,,,30,,,52,53',
',,54,,32,224,,230,40,226,225,222,223,,,,18,,,,,81,73,76,77,,78,79,,',
',74,80,5,63,64,65,7,51,56,,75,57,58,,,,61,,59,60,62,23,24,66,67,,,,',
',22,28,27,90,89,91,92,,,17,,,,,,6,41,8,9,94,93,95,84,50,86,85,87,,88',
'96,97,,82,83,38,39,37,227,,,,,,,,,,,,,,,,241,242,,36,,,30,,,52,53,,',
'54,,32,224,,,40,226,225,222,223,,,,18,,,,,81,73,76,77,,78,79,,,,74,80',
'5,63,64,65,7,51,56,,75,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28',
'27,90,89,91,92,,,17,,,,,,6,41,8,9,94,93,95,84,50,86,85,87,,88,96,97',
',82,83,38,39,37,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,53,,,54,,32,,,,40,,',
',,,,,18,,,,,81,73,76,77,,78,79,,,,74,80,5,63,64,65,7,51,56,,75,57,58',
',,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,6,41',
'8,9,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,',
',,,,,36,,,30,,,52,53,,,54,,32,,,,40,,,,,,,,18,,,,,81,73,76,77,,78,79',
',,,74,80,5,63,64,65,7,51,56,,75,57,58,,,,61,,59,60,62,23,24,66,67,,',
',,,22,28,27,90,89,91,92,,,17,,,,,,6,41,8,9,94,93,95,84,50,86,85,87,',
'88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,53,,,54,,32',
',,,40,,,,,,,,18,,,,,81,73,76,77,,78,79,,,,74,80,5,63,64,65,7,51,56,',
'75,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17',
',,,,,6,41,8,9,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,,',
',,,,,,,,,,,,,,,36,,,30,,,52,53,,,54,,32,,,,40,,,,,,,,18,,,,,81,73,76',
'77,,78,79,,,,74,80,5,63,64,65,7,51,56,,75,57,58,,,,61,,59,60,62,23,24',
'66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,6,41,8,9,94,93,95,84,50,86',
'85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,53,',
',54,,32,,,,40,,,,,,,,18,,,,,81,73,76,77,,78,79,,,,74,80,5,63,64,65,7',
'51,56,,75,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92',
',,17,,,,,,6,41,8,9,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37',
',,,,,,,,,,,,,,,,,,,36,,,30,,,52,53,,,54,,32,,,,40,,,,,,,,18,,,,,81,73',
'76,77,,78,79,,,,74,80,5,63,64,65,7,51,56,,75,57,58,,,,61,,59,60,62,23',
'24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,6,41,8,9,94,93,95,84,50',
'86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,53',
',,54,,32,,,,40,,,,,,,,18,,,,,81,73,76,77,,78,79,,,,74,80,5,63,64,65',
'7,51,56,,75,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91',
'92,,,17,,,,,,6,41,8,9,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39',
'37,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,53,,,54,,32,,,,40,,,,,,,,18,,,,,81',
'73,76,77,,78,79,,,,74,80,5,63,64,65,7,51,56,,75,57,58,,,,61,,59,60,62',
'23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,6,41,8,9,94,93,95,84',
'50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,36,,,30,,,52',
'53,,,54,,32,,,,40,,,,,,,,18,,,,,81,73,76,77,,78,79,,,,74,80,5,63,64',
'65,7,51,56,,75,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89',
'91,92,,,17,,,,,,6,41,8,9,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38',
'39,37,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,53,,,54,,32,,,,40,,,,,,,,18,,',
',,81,73,76,77,,78,79,,,,74,80,5,63,64,65,7,51,56,,75,57,58,,,,61,,59',
'60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,6,41,8,9,94,93',
'95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,36,,',
'30,,,52,53,,,54,,32,,,,40,,,,,,,,18,,,,,81,73,76,77,,78,79,,,,74,80',
',63,64,65,7,51,56,,75,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27',
'90,89,91,92,,,17,,,,,,6,41,8,9,94,93,95,84,50,86,85,87,,88,96,97,,82',
'83,38,39,37,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,53,,,54,,32,,,,40,,,,,,',
',18,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61',
',59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,219,,,,,,,41,,,94',
'93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212',
',,218,,,52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80',
',63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,28',
'27,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87,261,88,96,97',
',82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,256,,254',
',40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75',
'57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,28,27,90,89,91,92,,,219',
',,,,,,41,,,94,93,95,84,50,86,85,87,261,88,96,97,,82,83,38,39,37,,,,',
',,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,256,,254,,40,,,,,,,,217,,,,,81',
'73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62',
'258,259,66,67,,,,,,257,28,27,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84',
'50,86,85,87,261,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218',
',,52,53,,,54,,256,,254,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80',
',63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288',
'292,90,89,91,92,,,219,,,,,,,289,,,94,93,95,84,50,86,85,87,,88,96,97',
',82,83,,516,293,513,512,511,517,514,,,,,,,,,,,,,,,286,,,283,,,52,53',
',,54,,282,,,,519,,,,,,,,,523,522,526,525,81,73,76,77,,78,79,,,,74,80',
',63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288',
'292,90,89,91,92,,,219,,,,,,578,289,,,94,93,95,84,50,86,85,87,,88,96',
'97,,82,83,,,293,,227,231,236,237,238,233,235,243,244,239,240,,220,221',
',,241,242,286,,,218,,,52,53,,,54,,,,224,,230,,226,225,222,223,234,232',
'228,,229,,,81,73,76,77,,78,79,,,,74,80,,,245,295,-226,,56,,75,63,64',
'65,,51,,,,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288,292,90,89',
'91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39',
'37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,217,,,,',
'81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60',
'62,258,259,66,67,,,,,,257,288,292,90,89,91,92,,,219,,,,,,,41,,,94,93',
'95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,',
',218,,,52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80',
',63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288',
'292,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,',
'82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,',
',,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,',
',,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,,41,',
',94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,',
',,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,18,,,,,81,73,76,77,,78,79,,',
',74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,,,',
',257,288,292,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87,261',
'88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,',
'256,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56',
',75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288,292,90,89,91,92',
',,219,,,,,,,41,,,94,93,95,84,50,86,85,87,261,88,96,97,,82,83,38,39,37',
',,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,217,,,,,81',
'73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62',
'23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,,41,,,94,93,95,84,50',
'86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52',
'53,,,54,,,,,,40,,,,,,,,18,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65',
',51,56,,75,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91',
'92,,,17,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37',
',,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,18,,,,,81,73',
'76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,23',
'24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,581,,41,,,94,93,95,84,50',
'86,85,87,,88,96,97,,82,83,38,39,37,227,231,236,237,238,233,235,243,244',
'239,240,,220,221,,,241,242,,212,,,218,,,52,53,,,54,,,224,,230,40,226',
'225,222,223,234,232,228,18,229,,,,81,73,76,77,,78,79,,,,74,80,102,245',
',,,101,56,,75,63,64,65,,51,,,,57,58,,,,61,,59,60,62,258,259,66,67,,',
',,,257,288,292,90,89,91,92,,,219,,,,,,,289,,,94,93,95,84,50,86,85,87',
',88,96,97,,82,83,,744,293,513,512,511,517,514,,,,,,,,,,,,,,,328,,,30',
',,52,53,,,54,,32,,,,519,,,,,,,,,523,522,526,525,81,73,76,77,,78,79,',
',,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,,',
',,257,288,292,90,89,91,92,,,219,,,,,,,289,,,94,93,95,333,50,86,85,334',
',88,96,97,,82,83,,744,293,513,512,511,517,514,,,,,,,,,,,,340,,,335,',
',218,,,52,53,,,54,,,,,,519,,,,,,,,,523,522,526,525,81,73,76,77,,78,79',
',,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,',
',,,257,288,292,90,89,91,92,,,219,,,,,,,289,,,94,93,95,333,50,86,85,334',
',88,96,97,,82,83,,516,293,513,512,511,517,514,,,,,,,,,,,,,,,335,,,218',
',,52,53,,,54,,,,,,519,,,,,,,,,523,522,526,525,81,73,76,77,,78,79,,,',
'74,80,,63,64,65,7,51,56,,75,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22',
'28,27,90,89,91,92,,,17,,,,,578,6,41,8,9,94,93,95,84,50,86,85,87,,88',
'96,97,,82,83,38,39,37,227,231,236,237,238,233,235,243,244,239,240,,220',
'221,,,241,242,,36,,,30,,,52,53,,,54,,32,224,,230,40,226,225,222,223',
'234,232,228,18,229,,,,81,73,76,77,,78,79,,,,74,80,,245,,,,365,56,,75',
'63,64,65,,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89',
'91,92,,,17,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39',
'37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,18,,,,,81',
'73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62',
'23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,,41,,,94,93,95,84,50',
'86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52',
'53,,,54,,,,,,40,,,,,,,,18,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65',
',51,56,,75,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91',
'92,,,17,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37',
',,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,18,,,,,81,73',
'76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,23',
'24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,,41,,,94,93,95,84,50,86',
'85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53',
',,54,,,,,,40,,,,,,,,18,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,7,51',
'56,,75,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,',
',17,,,,,,6,41,8,9,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37',
',,,,,,,,,,,,,,,,,,,36,,,30,,,52,53,,,54,,32,,,,40,,,,,,,,18,,,,,81,73',
'76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,23',
'24,66,67,,,,,,22,28,27,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86',
'85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53',
',,54,,382,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65',
',51,56,,75,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91',
'92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37',
',,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,382,,,,40,,,,,,,,217,,,,',
'81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60',
'62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84',
'50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,',
',52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64',
'65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,28,27,90',
'89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87,261,88,96,97,,82,83',
'38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,256,,254,,40,,,',
',,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,',
',,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,219,,,,,,,41',
',,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,',
',,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79',
',,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,23,24,66,67,,,,',
',22,28,27,90,89,91,92,,,17,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96',
'97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40',
',,,,,,,18,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58',
',,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,,41',
',,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,',
',,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,18,,,,,81,73,76,77,,78,79,',
',,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,23,24,66,67,,,,,',
'22,28,27,90,89,91,92,,,17,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96',
'97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40',
',,,,,,,18,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58',
',,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,,41',
',,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,',
',,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,18,,,,,81,73,76,77,,78,79,',
',,74,80,208,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67',
',,,,,257,288,292,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87',
',88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54',
',,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56',
',75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288,292,90,89,91,92',
',,219,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,',
',,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73',
'76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258',
'259,66,67,,,,,,257,288,292,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84',
'50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,',
',52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64',
'65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288,292,90',
'89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38',
'39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,217,',
',,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59',
'60,62,258,259,66,67,,,,,,257,288,292,90,89,91,92,,,219,,,,,,,41,,,94',
'93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212',
',,218,,,52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80',
',63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288',
'292,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,',
'82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,',
',,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,',
',,61,,59,60,62,258,259,66,67,,,,,,257,288,292,90,89,91,92,,,219,,,,',
',,41,,,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,',
',,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73,76,77,,78',
'79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67',
',,,,,257,288,292,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87',
',88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54',
',,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56',
',75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288,292,90,89,91,92',
',,219,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,',
',,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73',
'76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258',
'259,66,67,,,,,,257,288,292,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84',
'50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,',
',52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64',
'65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288,292,90',
'89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38',
'39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,217,',
',,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59',
'60,62,258,259,66,67,,,,,,257,288,292,90,89,91,92,,,219,,,,,,,41,,,94',
'93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212',
',,218,,,52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80',
',63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288',
'292,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,',
'82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,',
',,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,',
',,61,,59,60,62,258,259,66,67,,,,,,257,288,292,90,89,91,92,,,219,,,,',
',,41,,,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,',
',,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73,76,77,,78',
'79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67',
',,,,,257,288,292,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87',
',88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54',
',,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56',
',75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288,292,90,89,91,92',
',,219,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,',
',,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73',
'76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258',
'259,66,67,,,,,,257,288,292,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84',
'50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,',
',52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64',
'65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288,292,90',
'89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38',
'39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,217,',
',,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59',
'60,62,258,259,66,67,,,,,,257,288,292,90,89,91,92,,,219,,,,,,,41,,,94',
'93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212',
',,218,,,52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80',
',63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288',
'292,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,',
'82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,',
',,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,',
',,61,,59,60,62,258,259,66,67,,,,,,257,288,292,90,89,91,92,,,219,,,,',
',,41,,,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,',
',,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73,76,77,,78',
'79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67',
',,,,,257,288,292,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87',
',88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54',
',,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56',
',75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288,292,90,89,91,92',
',,219,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,',
',,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73',
'76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258',
'259,66,67,,,,,,257,288,292,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84',
'50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,',
',52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64',
'65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288,292,90',
'89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38',
'39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,217,',
',,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59',
'60,62,258,259,66,67,,,,,,257,288,292,90,89,91,92,,,219,,,,,,,41,,,94',
'93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212',
',,218,,,52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80',
',63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288',
'292,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,',
'82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,',
',,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,',
',,61,,59,60,62,258,259,66,67,,,,,,257,288,292,90,89,91,92,,,219,,,,',
',,41,,,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,',
',,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73,76,77,,78',
'79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67',
',,,,,257,288,292,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87',
',88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54',
',,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56',
',75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288,292,90,89,91,92',
',,219,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,',
',,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73',
'76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258',
'259,66,67,,,,,,257,28,27,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84,50',
'86,85,87,261,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,',
',52,53,,,54,,256,,254,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80',
',63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,28',
'27,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87,261,88,96,97',
',82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,463,53,,,54,,256,,254',
',40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75',
'57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,28,27,90,89,91,92,,,219',
',,,,,,41,,,94,93,95,84,50,86,85,87,261,88,96,97,,82,83,38,39,37,,,,',
',,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,256,,254,,40,,,,,,,,217,,,,,81',
'73,76,77,,78,79,,,,74,80,208,63,64,65,,51,56,,75,57,58,,,,61,,59,60',
'62,258,259,66,67,,,,,,257,288,292,90,89,91,92,,,219,,,,,,,289,,,94,93',
'95,84,50,86,85,87,,88,96,97,,82,83,,,293,227,231,236,237,238,233,235',
'243,244,239,240,,220,221,,,241,242,,286,,,218,,,52,53,,,54,,,224,,230',
',226,225,222,223,234,232,228,,229,,,,81,73,76,77,,78,79,,,,74,80,,245',
',473,,,56,,75,63,64,65,,51,,,,57,58,,,,61,,59,60,62,258,259,66,67,,',
',,,257,288,292,90,89,91,92,,,219,,,,,,,289,,,94,93,95,84,50,86,85,87',
',88,96,97,,82,83,,516,293,513,512,511,517,514,,,,,,,,,,,,,,,286,,,283',
',,52,53,,,54,,,,,,519,703,,,,,,,,523,522,526,525,81,73,76,77,,78,79',
',,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,',
',,,257,288,292,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87',
',88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,491,,52,53,,',
'54,,,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51',
'56,,75,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,',
',17,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,',
',,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,18,,,,,81,73,76',
'77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,23,24',
'66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,,41,,,94,93,95,84,50,86,85',
'87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,',
'54,,,,,,40,,,,,,,,18,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56',
',75,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17',
',,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,',
',,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,18,,,,,81,73,76,77',
',78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,23,24,66',
'67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,,41,,,94,93,95,84,50,86,85,87',
',88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54',
',,,,,40,,,,,,,,18,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,',
'75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288,292,90,89,91,92',
',,219,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,',
',,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73',
'76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258',
'259,66,67,,,,,,257,28,27,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84,50',
'86,85,87,261,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,',
',52,53,,,54,,256,,254,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80',
',63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288',
'292,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,',
'82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,',
',,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,',
',,61,,59,60,62,258,259,66,67,,,,,,257,288,292,90,89,91,92,,,219,,,,',
',,41,,,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,',
',,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73,76,77,,78',
'79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67',
',,,,,257,288,292,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87',
',88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54',
',,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56',
',75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288,292,90,89,91,92',
',,219,,,,,,,41,,,94,93,95,84,50,86,85,87,261,88,96,97,,82,83,38,39,37',
',,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,609,,254,,40,,,,,,,,217,',
',,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59',
'60,62,258,259,66,67,,,,,,257,288,292,90,89,91,92,,,219,,,,,,,41,,,94',
'93,95,84,50,86,85,87,261,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,',
',212,,,218,,,52,53,,,54,,,,254,,40,,,,,,,,217,,,,,81,73,76,77,,78,79',
',,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,',
',,,257,288,292,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87',
',88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54',
',,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56',
',75,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17',
',,,,,,41,,,94,93,95,84,50,86,85,87,261,88,96,97,,82,83,38,39,37,,,,',
',,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,254,,40,,,,,,,,18,,,,,81,73',
'76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258',
'259,66,67,,,,,,257,288,292,90,89,91,92,,,219,,,,,,,289,,,94,93,95,84',
'50,86,85,87,,88,96,97,,82,83,,744,293,513,512,511,517,514,,,,,,,,,,',
',,,,286,,,283,,,52,53,,,54,,,,,,519,,,,,,,,,523,522,526,525,81,73,76',
'77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259',
'66,67,,,,,,257,28,27,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86',
'85,87,261,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52',
'53,,,54,,256,,254,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63',
'64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288,292',
'90,89,91,92,,,219,,,,,,,289,,,94,93,95,84,50,86,85,87,,88,96,97,,82',
'83,,,293,,,,,,,,,,,,,,,,,,,,286,,,283,,,52,53,,,54,,,,,,,,,,,,,,,,,',
',81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60',
'62,258,259,66,67,,,,,,257,288,292,90,89,91,92,,,219,,,,,,,41,,,94,93',
'95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,',
',218,,,52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80',
',63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288',
'292,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,',
'82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,',
',,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,',
',,61,,59,60,62,258,259,66,67,,,,,,257,288,292,90,89,91,92,,,219,,,,',
',,41,,,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,',
',,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73,76,77,,78',
'79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,23,24,66,67,',
',,,,22,28,27,90,89,91,92,,,17,,,,,,,41,,,94,93,95,84,50,86,85,87,,88',
'96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,',
',40,,,,,,,,18,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57',
'58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288,292,90,89,91,92,,,219',
',,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,',
',,,,,,,,,,,,212,,,218,,,52,53,,,54,,382,,,,40,,,,,,,,217,,,,,81,73,76',
'77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259',
'66,67,,,,,,257,288,292,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86',
'85,87,261,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52',
'53,,,54,,609,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64',
'65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288,292,90',
'89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87,261,88,96,97,,82,83',
'38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,217',
',,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59',
'60,62,258,259,66,67,,,,,,257,288,292,90,89,91,92,,,219,,,,,,,41,,,94',
'93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212',
',,218,,,52,53,,,54,,256,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74',
'80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257',
'28,27,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87,261,88,96',
'97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,256,,254',
',40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75',
'57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,28,27,90,89,91,92,,,219',
',,,,,,41,,,94,93,95,84,50,86,85,87,261,88,96,97,,82,83,38,39,37,,,,',
',,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,256,,254,,40,,,,,,,,217,,,,,81',
'73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62',
'23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,,41,,,94,93,95,84,50',
'86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52',
'53,,,54,,,,,,40,,,,,,,,18,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65',
',51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288,292,90,89',
'91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39',
'37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,217,,,,',
'81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60',
'62,258,259,66,67,,,,,,257,288,292,90,89,91,92,,,219,,,,,,,41,,,94,93',
'95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,',
',218,,,52,53,,,54,,720,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74',
'80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257',
'288,292,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96',
'97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40',
',,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58',
',,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,219,,,,,,,41',
',,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,',
',,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79',
',,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,23,24,66,67,,,,',
',22,28,27,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96',
'97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40',
',,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58',
',,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,219,,,,,,,41',
',,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,',
',,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79',
',,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,',
',,,257,288,292,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87',
',88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54',
',,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56',
',75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288,292,90,89,91,92',
',,219,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,',
',,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73',
'76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258',
'259,66,67,,,,,,257,288,292,90,89,91,92,,,219,,,,,,,289,,,94,93,95,84',
'50,86,85,87,,88,96,97,,82,83,,,293,,,,,,,,,,,,,,,,,,,,286,,,283,,,52',
'53,,,54,,,,,,,,,,,,,,,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51',
'56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288,292,90,89,91',
'92,,,219,,,,,,,289,,,94,93,95,84,50,86,85,87,,88,96,97,,82,83,,,293',
',,,,,,,,,,,,,,,,,,,286,,,283,,,52,53,,,54,,,,,,,,,,,,,,,,,,,81,73,76',
'77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259',
'66,67,,,,,,257,288,292,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86',
'85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53',
',,54,,,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51',
'56,,75,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,',
',17,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,',
',,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,18,,,,,81,73,76',
'77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259',
'66,67,,,,,,257,288,292,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86',
'85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53',
',,54,,,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51',
'56,,75,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,',
',219,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,',
',,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73',
'76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258',
'259,66,67,,,,,,257,288,292,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84',
'50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,',
',52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64',
'65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288,292,90',
'89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38',
'39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,,,,,,217,',
',,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59',
'60,62,258,259,66,67,,,,,,257,288,292,90,89,91,92,,,219,,,,,,,41,,,94',
'93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212',
',,218,,,52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80',
',63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288',
'292,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,',
'82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,,,,,40,,,',
',,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,',
',,61,,59,60,62,258,259,66,67,,,,,,257,288,292,90,89,91,92,,,219,,,,',
',,41,,,94,93,95,84,50,86,85,87,261,88,96,97,,82,83,38,39,37,,,,,,,,',
',,,,,,,,,,,212,,,218,,,52,53,,,54,,256,,254,,40,,,,,,,,217,,,,,81,73',
'76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258',
'259,66,67,,,,,,257,288,292,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84',
'50,86,85,87,261,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218',
',,52,53,,,54,,256,,254,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80',
',63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288',
'292,90,89,91,92,,,219,,,,,,,289,,,94,93,95,84,50,86,85,87,,88,96,97',
',82,83,,,293,,,,,,,,,,,,,,,,,,,,839,,,218,,,52,53,,,54,,,,,,,,,,,,,',
',,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59',
'60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,,41,,,94,93,95',
'84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218',
',,52,53,,,54,,,,,,40,,,,,,,,18,,,,,81,73,76,77,,78,79,,,,74,80,,63,64',
'65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288,292,90',
'89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87,,88,96,97,,82,83,38',
'39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,609,,,,40,,,,,,,,217',
',,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59',
'60,62,258,259,66,67,,,,,,257,288,292,90,89,91,92,,,219,,,,,,,41,,,94',
'93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212',
',,218,,,52,53,,,54,,,,,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80',
',63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,288',
'292,90,89,91,92,,,219,,,,,,,289,,,94,93,95,84,50,86,85,87,,88,96,97',
',82,83,,,293,,,,,,,,,,,,,,,,,,,,882,,,218,,,52,53,,,54,,,,,,,,,,,,,',
',,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59',
'60,62,258,259,66,67,,,,,,257,288,292,90,89,91,92,,,219,,,,,,,41,,,94',
'93,95,84,50,86,85,87,,88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212',
',,218,,,52,53,,,54,,609,,254,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,',
',,74,80,,63,64,65,,51,56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,,',
',,257,288,292,90,89,91,92,,,219,,,,,,,41,,,94,93,95,84,50,86,85,87,261',
'88,96,97,,82,83,38,39,37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,',
'609,,254,,40,,,,,,,,217,,,,,81,73,76,77,,78,79,,,,74,80,,63,64,65,,51',
'56,,75,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,28,27,90,89,91,92',
',,219,,,,,,,41,,,94,93,95,84,50,86,85,87,261,88,96,97,,82,83,38,39,37',
'227,231,236,237,238,233,235,243,244,239,240,,220,221,,,241,242,,212',
',-226,218,,,52,53,,,54,,256,224,254,230,40,226,225,222,223,234,232,228',
'217,229,,,,81,73,76,77,,78,79,,,,74,80,,245,,-226,,,56,,75,160,171,161',
'184,157,177,167,166,187,188,182,165,164,159,185,189,190,169,158,172',
'176,178,170,163,,,,179,186,181,180,173,183,168,156,175,174,,,,,,155',
'162,153,154,150,151,152,112,114,111,,113,,,,,,,,145,146,,142,124,125',
'126,133,130,132,,,127,128,,,,147,148,134,135,,,,,,,,,,,,,,139,138,,123',
'144,141,140,136,137,131,129,121,143,122,,,149,81,,,,,,,,,,,80,160,171',
'161,184,157,177,167,166,187,188,182,165,164,159,185,189,190,169,158',
'172,176,178,170,163,,,,179,186,181,180,173,183,168,156,175,174,,,,,',
'155,162,153,154,150,151,152,112,114,,,113,,,,,,,,145,146,,142,124,125',
'126,133,130,132,,,127,128,,,,147,148,134,135,,,,,,,,,,,,,,139,138,,123',
'144,141,140,136,137,131,129,121,143,122,,,149,81,,,,,,,,,,,80,160,171',
'161,184,157,177,167,166,187,188,182,165,164,159,185,189,190,169,158',
'172,176,178,170,163,,,,179,186,181,180,173,183,168,156,175,174,,,,,',
'155,162,153,154,150,151,152,112,114,,,113,,,,,,,,145,146,,142,124,125',
'126,133,130,132,,,127,128,,,,147,148,134,135,,,,,,,,,,,,,,139,138,,123',
'144,141,140,136,137,131,129,121,143,122,,,149,81,,,,,,,,,,,80,160,171',
'161,184,157,177,167,166,187,188,182,165,164,159,185,189,190,169,158',
'172,176,178,170,163,,,,179,186,181,180,173,183,168,156,175,174,,,,,',
'155,162,153,154,150,151,152,112,114,,,113,,,,,,,,145,146,,142,124,125',
'126,133,130,132,,,127,128,,,,147,148,134,135,,,,,,,,,,,,,,139,138,,123',
'144,141,140,136,137,131,129,121,143,122,,,149,81,,,,,,,,,,,80,160,171',
'161,184,157,177,167,166,187,188,182,165,164,159,185,189,190,169,158',
'172,176,178,170,163,,,,179,186,181,350,349,351,348,156,175,174,,,,,',
'155,162,153,154,345,346,347,343,114,86,85,344,,88,,,,,,145,146,,142',
'124,125,126,133,130,132,,,127,128,,,,147,148,134,135,,,,,,355,,,,,,',
',139,138,,123,144,141,140,136,137,131,129,121,143,122,,,149,160,171',
'161,184,157,177,167,166,187,188,182,165,164,159,185,189,190,169,158',
'172,176,178,170,163,,,,179,186,181,180,173,183,168,156,175,174,,,,,',
'155,162,153,154,150,151,152,112,114,,,113,,,,,,,,145,146,,142,124,125',
'126,133,130,132,,,127,128,,,,147,148,134,135,,,,,,,,,,,,,,139,138,,123',
'144,141,140,136,137,131,129,121,143,122,391,395,149,,392,,,,,,,,145',
'146,,142,124,125,126,133,130,132,,,127,128,,,,147,148,134,135,,,,,,267',
',,,,,,,139,138,,123,144,141,140,136,137,131,129,121,143,122,397,402',
'149,,399,,,,,,,,145,146,,142,124,125,126,133,130,132,,,127,128,,,,147',
'148,134,135,,,,,,267,,,,,,,,139,138,,123,144,141,140,136,137,131,129',
'121,143,122,455,395,149,,456,,,,,,,,145,146,,142,124,125,126,133,130',
'132,,,127,128,,,,147,148,134,135,,,,,,,,,,,,,,139,138,,123,144,141,140',
'136,137,131,129,121,143,122,455,395,149,,456,,,,,,,,145,146,,142,124',
'125,126,133,130,132,,,127,128,,,,147,148,134,135,,,,,,,,,,,,,,139,138',
',123,144,141,140,136,137,131,129,121,143,122,595,395,149,,596,,,,,,',
',145,146,,142,124,125,126,133,130,132,,,127,128,,,,147,148,134,135,',
',,,,267,,,,,,,,139,138,,123,144,141,140,136,137,131,129,121,143,122',
'597,402,149,,598,,,,,,,,145,146,,142,124,125,126,133,130,132,,,127,128',
',,,147,148,134,135,,,,,,267,,,,,,,,139,138,,123,144,141,140,136,137',
'131,129,121,143,122,632,395,149,,633,,,,,,,,145,146,,142,124,125,126',
'133,130,132,,,127,128,,,,147,148,134,135,,,,,,267,,,,,,,,139,138,,123',
'144,141,140,136,137,131,129,121,143,122,635,402,149,,636,,,,,,,,145',
'146,,142,124,125,126,133,130,132,,,127,128,,,,147,148,134,135,,,,,,267',
',,,,,,,139,138,,123,144,141,140,136,137,131,129,121,143,122,595,395',
'149,,596,,,,,,,,145,146,,142,124,125,126,133,130,132,,,127,128,,,,147',
'148,134,135,,,,,,267,,,,,,,,139,138,,123,144,141,140,136,137,131,129',
'121,143,122,597,402,149,,598,,,,,,,,145,146,,142,124,125,126,133,130',
'132,,,127,128,,,,147,148,134,135,,,,,,267,,,,,,,,139,138,,123,144,141',
'140,136,137,131,129,121,143,122,688,395,149,,689,,,,,,,,145,146,,142',
'124,125,126,133,130,132,,,127,128,,,,147,148,134,135,,,,,,267,,,,,,',
',139,138,,123,144,141,140,136,137,131,129,121,143,122,690,402,149,,691',
',,,,,,,145,146,,142,124,125,126,133,130,132,,,127,128,,,,147,148,134',
'135,,,,,,267,,,,,,,,139,138,,123,144,141,140,136,137,131,129,121,143',
'122,693,402,149,,694,,,,,,,,145,146,,142,124,125,126,133,130,132,,,127',
'128,,,,147,148,134,135,,,,,,267,,,,,,,,139,138,,123,144,141,140,136',
'137,131,129,121,143,122,455,395,149,,456,,,,,,,,145,146,,142,124,125',
'126,133,130,132,,,127,128,,,,147,148,134,135,,,,,,267,,,,,,,,139,138',
',123,144,141,140,136,137,131,129,121,143,122,925,395,149,,926,,,,,,',
',145,146,,142,124,125,126,133,130,132,,,127,128,,,,147,148,134,135,',
',,,,267,,,,,,,,139,138,,123,144,141,140,136,137,131,129,121,143,122',
'927,402,149,,928,,,,,,,,145,146,,142,124,125,126,133,130,132,,,127,128',
',,,147,148,134,135,,,,,,267,,,,,,,,139,138,,123,144,141,140,136,137',
'131,129,121,143,122,944,402,149,,943,,,,,,,,145,146,,142,124,125,126',
'133,130,132,,,127,128,,,,147,148,134,135,,,,,,267,,,,,,,,139,138,,123',
'144,141,140,136,137,131,129,121,143,122,,,149,227,231,236,237,238,233',
'235,243,244,239,240,,220,221,,,241,242,,,,,,,,,,,,,,,224,,230,,226,225',
'222,223,234,232,228,,229,,227,231,236,237,238,233,235,243,244,239,240',
',220,221,,245,241,242,,,,,,,,,,,,,,,224,,230,,226,225,222,223,234,232',
'228,,229,,227,231,236,237,238,233,235,243,244,239,240,,220,221,,245',
'241,242,,,,,,,,,,,,,,,224,,230,,226,225,222,223,234,232,228,,229,,227',
'231,236,237,238,233,235,243,244,239,240,,220,221,208,245,241,242,,,',
',,,,,,,,,,,224,,230,,226,225,222,223,234,232,228,,229,,227,231,236,237',
'238,233,235,243,244,239,240,,220,221,,245,241,242,,,,,,,,,,,,,,,224',
',230,,226,225,222,223,234,232,228,,229,,227,231,236,237,238,233,235',
'243,244,239,240,,220,221,,245,241,242,,,,,,,,,,,,,,,224,,230,,226,225',
'222,223,234,232,228,,229,,227,231,236,237,238,233,235,243,244,239,240',
',220,221,,245,241,242,,,,,,,,,,,,,,,224,,230,,226,225,222,223,234,232',
'228,,229,,227,231,236,237,238,233,235,243,244,239,240,,220,221,,245',
'241,242,,,,,,,,,,,,,,,224,,230,,226,225,222,223,234,232,228,,229,,227',
'231,236,237,238,233,235,243,244,239,240,,220,221,,245,241,242,,,,,,',
',,,,,,,,224,,230,,226,225,222,223,234,232,228,,229,,227,231,236,237',
'238,233,235,243,244,239,240,,220,221,,245,241,242,,,,,,,,,,,,,,,224',
',230,,226,225,222,223,234,232,228,,229,,227,231,236,237,238,233,235',
'243,244,239,240,,220,221,,245,241,242,,,,,,,,,,,,,,,224,,230,,226,225',
'222,223,234,232,228,,229,,227,231,236,237,238,233,235,243,244,239,240',
',220,221,,245,241,242,,,,,,,,,,,,,,,224,,230,,226,225,222,223,234,232',
'228,,229,,227,231,236,237,238,233,235,243,244,239,240,,220,221,,245',
'241,242,,,,,,,,,,,,,,,224,,230,,226,225,222,223,234,232,228,,229,,,',
',,,,,,,,,,,,,245' ]
        racc_action_table = arr = ::Array.new(23318, 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 = [
'84,0,0,0,0,0,0,84,84,84,0,0,84,84,84,0,84,0,0,0,0,0,0,0,84,55,84,84',
'84,0,0,0,0,0,0,0,84,84,0,84,84,84,84,84,0,0,0,0,0,0,0,0,0,0,0,0,339',
'0,0,0,319,0,0,0,0,0,84,84,84,84,84,84,84,84,84,84,84,84,84,84,1,619',
'84,84,84,0,84,84,0,326,84,0,0,84,84,0,84,0,84,361,84,0,84,84,84,84,84',
'84,84,0,84,55,84,329,0,0,0,0,8,0,0,569,504,619,0,0,84,84,84,84,87,84',
'0,84,0,84,84,87,87,87,211,9,87,87,87,532,87,10,320,533,17,409,409,25',
'87,686,87,87,87,3,25,339,361,540,3,688,87,87,689,87,87,87,87,87,319',
'765,837,840,861,319,800,339,569,569,893,925,339,17,335,11,211,569,335',
'213,326,690,87,87,87,87,87,87,87,87,87,87,87,87,87,87,323,25,87,87,87',
'323,87,87,329,926,87,946,632,87,87,12,87,504,87,866,87,866,87,87,87',
'87,87,87,87,397,87,409,87,213,343,532,397,397,397,533,532,343,397,397',
'533,397,87,87,87,87,690,87,320,87,397,87,87,320,540,686,688,691,686',
'689,686,397,397,801,397,397,397,397,397,927,309,800,928,309,632,765',
'837,840,861,20,765,837,840,861,893,925,690,633,343,893,925,397,397,397',
'397,397,397,397,397,397,397,397,397,397,397,558,558,397,397,397,632',
'397,34,632,415,397,516,357,397,926,632,946,691,397,926,397,946,397,397',
'397,397,397,397,397,399,397,397,397,552,552,595,399,399,399,596,36,927',
'399,399,928,399,397,397,633,397,41,397,643,643,26,397,397,691,801,415',
'516,290,333,801,98,399,399,14,399,399,399,399,399,357,357,357,310,313',
'927,310,313,928,358,927,633,595,928,633,359,596,558,15,15,191,633,399',
'399,399,399,399,399,399,399,399,399,399,399,399,399,35,14,399,399,399',
'333,399,212,14,26,399,214,333,399,552,334,290,333,399,552,399,333,399',
'399,399,399,399,399,399,360,399,26,399,643,358,358,358,362,290,333,359',
'359,359,35,445,597,399,399,744,399,35,399,597,597,597,399,399,597,597',
'597,736,597,627,333,37,37,215,334,344,627,597,597,597,597,334,344,219',
'652,445,334,652,597,597,334,597,597,597,597,597,251,360,360,360,635',
'758,252,345,744,362,362,362,334,464,345,551,255,465,293,293,551,736',
'597,597,597,597,597,597,597,597,597,597,597,597,597,597,334,344,597',
'597,597,266,597,597,277,616,597,464,279,597,597,465,597,297,597,280',
'597,281,597,597,597,597,597,597,597,345,597,597,597,635,635,758,672',
'346,672,672,672,672,672,616,346,13,597,597,597,597,598,597,13,597,286',
'597,597,598,598,598,297,13,598,598,598,288,598,297,307,307,635,758,42',
'635,758,421,598,598,598,42,635,758,318,318,677,677,598,598,42,598,598',
'598,598,598,857,346,857,857,857,857,857,347,289,13,111,292,348,421,347',
'111,111,421,421,348,672,294,598,598,598,598,598,598,598,598,598,598',
'598,598,598,598,42,298,598,598,598,299,598,598,936,936,598,302,71,598',
'598,305,598,391,598,306,598,71,598,598,598,598,598,598,598,347,598,71',
'598,603,348,603,603,603,603,603,311,312,857,314,324,210,598,598,598',
'598,27,598,210,598,392,598,598,27,27,27,391,210,27,27,27,325,27,391',
'698,328,603,330,376,698,422,27,27,27,284,603,603,603,603,693,377,284',
'27,27,383,27,27,27,27,27,284,385,657,392,657,657,657,349,657,210,392',
'350,422,351,349,389,422,422,350,603,351,398,27,27,27,27,27,27,27,27',
'27,27,27,27,27,27,411,423,27,27,27,693,284,27,353,27,27,424,693,27,27',
'353,27,693,27,582,27,693,27,27,27,27,27,27,27,349,27,27,27,350,285,351',
'425,704,426,693,460,285,704,466,468,28,27,27,469,27,285,27,28,28,28',
'27,472,28,28,28,474,28,582,693,479,483,353,287,492,582,495,28,28,300',
'287,4,4,4,4,4,300,28,28,287,28,28,28,28,28,300,506,845,285,845,845,845',
'519,845,519,519,519,519,519,789,507,789,789,789,789,789,508,28,28,28',
'28,28,28,28,28,28,28,28,28,28,28,287,509,28,28,28,327,300,28,519,28',
'28,517,327,28,28,789,28,519,28,524,28,327,28,28,28,28,28,28,28,527,28',
'529,28,669,337,669,669,669,669,669,534,337,535,566,572,50,28,28,579',
'28,337,28,50,50,50,28,583,50,50,50,586,50,590,327,599,601,606,478,608',
'440,669,50,50,50,478,620,622,629,631,669,634,50,50,478,50,50,50,50,50',
'637,638,641,337,642,787,644,787,787,787,787,787,440,647,648,656,440',
'440,440,440,665,671,50,50,50,50,50,50,50,50,50,50,50,50,50,50,478,673',
'50,50,50,674,787,50,679,684,50,687,696,50,50,787,50,701,50,719,50,738',
'50,50,50,50,50,50,50,739,50,740,50,742,743,746,543,754,838,755,756,757',
'769,543,770,838,50,50,50,50,393,50,543,50,838,50,771,393,393,393,772',
'776,393,393,393,317,393,317,317,317,317,317,636,777,780,393,393,393',
'781,636,783,786,788,791,636,794,393,393,636,393,393,393,393,393,543',
'803,838,109,109,109,109,109,317,317,858,807,858,858,858,858,858,317',
'317,317,317,808,393,393,393,393,393,393,393,393,393,393,393,393,393',
'393,636,441,393,393,393,694,811,393,812,393,393,858,694,393,393,824',
'393,694,393,827,393,694,393,393,393,393,393,393,393,828,393,393,393',
'441,881,829,831,441,441,441,441,881,839,859,863,402,393,393,864,393',
'881,393,402,402,402,393,869,402,402,402,874,402,431,694,364,364,364',
'364,364,875,402,402,402,402,876,877,879,882,431,431,889,402,402,895',
'402,402,402,402,402,896,897,898,881,899,431,901,431,922,431,431,431',
'431,924,935,431,937,431,938,939,940,941,402,402,402,402,402,402,402',
'402,402,402,402,402,402,402,942,943,402,402,402,944,947,402,948,958',
'402,,,402,402,,402,,402,,402,,402,402,402,402,402,402,402,,402,402,402',
'505,,505,505,505,505,505,,,,,,,402,402,402,402,403,402,,402,,402,,403',
'403,403,,,403,403,403,,403,432,562,562,505,,562,562,562,403,403,403',
'403,505,505,505,505,432,432,,403,403,,403,403,403,403,403,,,,,,432,',
'432,,432,432,432,432,,,432,,432,,,,,403,403,403,403,403,403,403,403',
'403,403,403,403,403,403,,,403,403,403,,,403,,,403,,,403,403,,403,,403',
',403,,403,403,403,403,403,403,403,,403,403,403,554,,554,554,554,554',
'554,,,,,,,403,403,403,403,454,403,,403,,403,,454,454,454,,,454,454,454',
',454,,,,554,554,,,,,454,,,554,554,554,554,,,,454,454,,454,454,454,454',
'454,,900,,900,900,900,900,900,,,,457,,,,,,,457,457,457,,,457,457,457',
'659,457,659,659,659,659,659,454,,,,457,900,,454,,,,,454,454,457,457',
',457,457,457,457,457,,661,,661,661,661,661,661,659,,,,,454,,,,659,659',
'659,659,,,,,,427,454,,,,,454,457,,,454,,661,,457,,427,427,,457,457,661',
'661,661,661,664,,664,664,664,664,664,427,,427,,427,427,427,427,,,457',
',,,,,,,30,30,30,30,30,30,457,,,30,30,457,664,,30,457,30,30,30,30,30',
'30,30,664,664,,,,30,30,30,30,30,30,30,,902,30,902,902,902,902,902,30',
'30,30,30,30,30,30,30,30,30,30,30,,30,30,30,,30,30,30,30,30,934,,934',
'934,934,934,934,822,902,822,822,822,822,822,,,,,,30,,,30,,,30,30,,,30',
',30,,,,30,849,934,849,849,849,849,849,30,822,,,,30,30,30,30,,30,30,822',
'822,,30,30,51,51,51,51,51,51,30,,30,51,51,,,849,51,,51,51,51,51,51,51',
'51,,849,849,,,51,51,51,51,51,51,51,,,51,,,,,,51,51,51,51,51,51,51,51',
'51,51,51,51,,51,51,51,,51,51,51,51,51,,,,,,,,851,,851,851,851,851,851',
',,,,,51,,,51,,,51,51,,,51,,51,,,,51,853,,853,853,853,853,853,51,851',
',,,51,51,51,51,,51,51,851,851,,51,51,193,193,193,193,193,193,51,,51',
'193,193,,,853,193,,193,193,193,193,193,193,193,,853,853,,,193,193,193',
'193,193,193,193,,,193,,,,,,193,193,193,193,193,193,193,193,193,193,193',
'193,,193,193,193,,193,193,193,193,193,,,,,,,,915,,915,915,915,915,915',
',,,,,193,,,193,,,193,193,,,193,,193,,,,193,917,,917,917,917,917,917',
'193,915,,,,193,193,193,193,,193,193,915,915,,193,193,194,194,194,194',
'194,194,193,,193,194,194,,,917,194,,194,194,194,194,194,194,194,,917',
'917,,,194,194,194,194,194,194,194,,,194,,,,,,194,194,194,194,194,194',
'194,194,194,194,194,194,,194,194,194,,194,194,194,194,194,,,,,,,,930',
',930,930,930,930,930,,,,,,194,,,194,,,194,194,,,194,,194,,,,194,953',
',953,953,953,953,953,194,930,,,,194,194,194,194,,194,194,930,930,,194',
'194,218,218,218,218,218,218,194,,194,218,218,,,953,218,,218,218,218',
'218,218,218,218,,953,953,,,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,419,419,419,419,419,419,419,419,419,419,419,,419,419,,,419,419',
',218,,,218,,,218,218,,,218,,218,419,,419,218,419,419,419,419,419,419',
'419,218,419,,,,218,218,218,218,,218,218,,,,218,218,278,278,278,278,278',
'278,218,,218,278,278,,,,278,,278,278,278,278,278,278,278,,,,,,278,278',
'278,278,278,278,278,,,278,,,,,,278,278,278,278,278,278,278,278,278,278',
'278,278,,278,278,278,,278,278,278,278,278,420,420,420,420,420,420,420',
'420,420,420,420,,420,420,,,420,420,,278,,,278,,,278,278,,,278,,278,420',
',420,278,420,420,420,420,420,420,420,278,420,,,,278,278,278,278,,278',
'278,,,,278,278,283,283,283,283,283,283,278,,278,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,430,430,430,430,430,430,430,,,430,430,,,,,,430,430,,283',
',,283,,,283,283,,,283,,283,430,,430,283,430,430,430,430,430,430,430',
'283,430,,,,283,283,283,283,,283,283,,,,283,283,528,528,528,528,528,528',
'283,,283,528,528,,,,528,,528,528,528,528,528,528,528,,,,,,528,528,528',
'528,528,528,528,,,528,,,,,,528,528,528,528,528,528,528,528,528,528,528',
'528,,528,528,528,,528,528,528,528,528,433,,,,,,,,,,,,,,,,433,433,,528',
',,528,,,528,528,,,528,,528,433,,433,528,433,433,433,433,,,433,528,433',
',,,528,528,528,528,,528,528,,,,528,528,531,531,531,531,531,531,528,',
'528,531,531,,,,531,,531,531,531,531,531,531,531,,,,,,531,531,531,531',
'531,531,531,,,531,,,,,,531,531,531,531,531,531,531,531,531,531,531,531',
',531,531,531,,531,531,531,531,531,434,,,,,,,,,,,,,,,,434,434,,531,,',
'531,,,531,531,,,531,,531,434,,434,531,434,434,434,434,,,434,531,434',
',,,531,531,531,531,,531,531,,,,531,531,553,553,553,553,553,553,531,',
'531,553,553,,,,553,,553,553,553,553,553,553,553,,,,,,553,553,553,553',
'553,553,553,,,553,,,,,,553,553,553,553,553,553,553,553,553,553,553,553',
',553,553,553,,553,553,553,553,553,435,435,435,435,435,435,435,,,435',
'435,,,,,,435,435,,553,,,553,,,553,553,,,553,,553,435,,435,553,435,435',
'435,435,435,435,435,553,435,,,,553,553,553,553,,553,553,,,,553,553,605',
'605,605,605,605,605,553,,553,605,605,,,,605,,605,605,605,605,605,605',
'605,,,,,,605,605,605,605,605,605,605,,,605,,,,,,605,605,605,605,605',
'605,605,605,605,605,605,605,,605,605,605,,605,605,605,605,605,436,436',
'436,436,436,436,436,,,436,436,,,,,,436,436,,605,,,605,,,605,605,,,605',
',605,436,,436,605,436,436,436,436,436,436,436,605,436,,,,605,605,605',
'605,,605,605,,,,605,605,624,624,624,624,624,624,605,,605,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,437,437,437,437,437,437,437,,,437,437,,,,,,437',
'437,,624,,,624,,,624,624,,,624,,624,437,,437,624,437,437,437,437,437',
'437,437,624,437,,,,624,624,624,624,,624,624,,,,624,624,625,625,625,625',
'625,625,624,,624,625,625,,,,625,,625,625,625,625,625,625,625,,,,,,625',
'625,625,625,625,625,625,,,625,,,,,,625,625,625,625,625,625,625,625,625',
'625,625,625,,625,625,625,,625,625,625,625,625,438,438,438,438,438,438',
'438,,,438,438,,,,,,438,438,,625,,,625,,,625,625,,,625,,625,438,,438',
'625,438,438,438,438,438,438,438,625,438,,,,625,625,625,625,,625,625',
',,,625,625,646,646,646,646,646,646,625,,625,646,646,,,,646,,646,646',
'646,646,646,646,646,,,,,,646,646,646,646,646,646,646,,,646,,,,,,646',
'646,646,646,646,646,646,646,646,646,646,646,,646,646,646,,646,646,646',
'646,646,439,439,439,439,439,439,439,,,439,439,,,,,,439,439,,646,,,646',
',,646,646,,,646,,646,439,,439,646,439,439,439,439,439,439,439,646,439',
',,,646,646,646,646,,646,646,,,,646,646,654,654,654,654,654,654,646,',
'646,654,654,,,,654,,654,654,654,654,654,654,654,,,,,,654,654,654,654',
'654,654,654,,,654,,,,,,654,654,654,654,654,654,654,654,654,654,654,654',
',654,654,654,,654,654,654,654,654,442,442,442,442,442,442,442,,,442',
'442,,,,,,442,442,,654,,,654,,,654,654,,,654,,654,442,,442,654,442,442',
'442,442,442,442,442,654,442,,,,654,654,654,654,,654,654,,,,654,654,655',
'655,655,655,655,655,654,,654,655,655,,,,655,,655,655,655,655,655,655',
'655,,,,,,655,655,655,655,655,655,655,,,655,,,,,,655,655,655,655,655',
'655,655,655,655,655,655,655,,655,655,655,,655,655,655,655,655,443,443',
'443,443,443,443,443,443,,443,443,,,,,,443,443,,655,,,655,,,655,655,',
',655,,655,443,,443,655,443,443,443,443,443,443,443,655,443,,,,655,655',
'655,655,,655,655,,,,655,655,697,697,697,697,697,697,655,,655,697,697',
',,,697,,697,697,697,697,697,697,697,,,,,,697,697,697,697,697,697,697',
',,697,,,,,,697,697,697,697,697,697,697,697,697,697,697,697,,697,697',
'697,,697,697,697,697,697,428,,,,,,,,,,,,,,,,428,428,,697,,,697,,,697',
'697,,,697,,697,428,,428,697,428,428,428,428,,,,697,,,,,697,697,697,697',
',697,697,,,,697,697,702,702,702,702,702,702,697,,697,702,702,,,,702',
',702,702,702,702,702,702,702,,,,,,702,702,702,702,702,702,702,,,702',
',,,,,702,702,702,702,702,702,702,702,702,702,702,702,,702,702,702,,702',
'702,702,702,702,429,,,,,,,,,,,,,,,,429,429,,702,,,702,,,702,702,,,702',
',702,429,,,702,429,429,429,429,,,,702,,,,,702,702,702,702,,702,702,',
',,702,702,712,712,712,712,712,712,702,,702,712,712,,,,712,,712,712,712',
'712,712,712,712,,,,,,712,712,712,712,712,712,712,,,712,,,,,,712,712',
'712,712,712,712,712,712,712,712,712,712,,712,712,712,,712,712,712,712',
'712,,,,,,,,,,,,,,,,,,,,712,,,712,,,712,712,,,712,,712,,,,712,,,,,,,',
'712,,,,,712,712,712,712,,712,712,,,,712,712,750,750,750,750,750,750',
'712,,712,750,750,,,,750,,750,750,750,750,750,750,750,,,,,,750,750,750',
'750,750,750,750,,,750,,,,,,750,750,750,750,750,750,750,750,750,750,750',
'750,,750,750,750,,750,750,750,750,750,,,,,,,,,,,,,,,,,,,,750,,,750,',
',750,750,,,750,,750,,,,750,,,,,,,,750,,,,,750,750,750,750,,750,750,',
',,750,750,762,762,762,762,762,762,750,,750,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,,,,762,762,795,795,795,795,795,795',
'762,,762,795,795,,,,795,,795,795,795,795,795,795,795,,,,,,795,795,795',
'795,795,795,795,,,795,,,,,,795,795,795,795,795,795,795,795,795,795,795',
'795,,795,795,795,,795,795,795,795,795,,,,,,,,,,,,,,,,,,,,795,,,795,',
',795,795,,,795,,795,,,,795,,,,,,,,795,,,,,795,795,795,795,,795,795,',
',,795,795,796,796,796,796,796,796,795,,795,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,,,,796,,,,,,,',
'796,,,,,796,796,796,796,,796,796,,,,796,796,799,799,799,799,799,799',
'796,,796,799,799,,,,799,,799,799,799,799,799,799,799,,,,,,799,799,799',
'799,799,799,799,,,799,,,,,,799,799,799,799,799,799,799,799,799,799,799',
'799,,799,799,799,,799,799,799,799,799,,,,,,,,,,,,,,,,,,,,799,,,799,',
',799,799,,,799,,799,,,,799,,,,,,,,799,,,,,799,799,799,799,,799,799,',
',,799,799,805,805,805,805,805,805,799,,799,805,805,,,,805,,805,805,805',
'805,805,805,805,,,,,,805,805,805,805,805,805,805,,,805,,,,,,805,805',
'805,805,805,805,805,805,805,805,805,805,,805,805,805,,805,805,805,805',
'805,,,,,,,,,,,,,,,,,,,,805,,,805,,,805,805,,,805,,805,,,,805,,,,,,,',
'805,,,,,805,805,805,805,,805,805,,,,805,805,836,836,836,836,836,836',
'805,,805,836,836,,,,836,,836,836,836,836,836,836,836,,,,,,836,836,836',
'836,836,836,836,,,836,,,,,,836,836,836,836,836,836,836,836,836,836,836',
'836,,836,836,836,,836,836,836,836,836,,,,,,,,,,,,,,,,,,,,836,,,836,',
',836,836,,,836,,836,,,,836,,,,,,,,836,,,,,836,836,836,836,,836,836,',
',,836,836,903,903,903,903,903,903,836,,836,903,903,,,,903,,903,903,903',
'903,903,903,903,,,,,,903,903,903,903,903,903,903,,,903,,,,,,903,903',
'903,903,903,903,903,903,903,903,903,903,,903,903,903,,903,903,903,903',
'903,,,,,,,,,,,,,,,,,,,,903,,,903,,,903,903,,,903,,903,,,,903,,,,,,,',
'903,,,,,903,903,903,903,,903,903,,,,903,903,909,909,909,909,909,909',
'903,,903,909,909,,,,909,,909,909,909,909,909,909,909,,,,,,909,909,909',
'909,909,909,909,,,909,,,,,,909,909,909,909,909,909,909,909,909,909,909',
'909,,909,909,909,,909,909,909,909,909,,,,,,,,,,,,,,,,,,,,909,,,909,',
',909,909,,,909,,909,,,,909,,,,,,,,909,,,,,909,909,909,909,,909,909,',
',,909,909,911,911,911,911,911,911,909,,909,911,911,,,,911,,911,911,911',
'911,911,911,911,,,,,,911,911,911,911,911,911,911,,,911,,,,,,911,911',
'911,911,911,911,911,911,911,911,911,911,,911,911,911,,911,911,911,911',
'911,,,,,,,,,,,,,,,,,,,,911,,,911,,,911,911,,,911,,911,,,,911,,,,,,,',
'911,,,,,911,911,911,911,,911,911,,,,911,911,,5,5,5,5,5,911,,911,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,,18,18,18,,18,5,,5,18,18,,,,18,,18,18',
'18,18,18,18,18,,,,,,18,18,18,18,18,18,18,,,18,,,,,,,18,,,18,18,18,18',
'18,18,18,18,,18,18,18,,18,18,18,18,18,,,,,,,,,,,,,,,,,,,,18,,,18,,,18',
'18,,,18,,,,,,18,,,,,,,,18,,,,,18,18,18,18,,18,18,,,,18,18,,22,22,22',
',22,18,,18,22,22,,,,22,,22,22,22,22,22,22,22,,,,,,22,22,22,22,22,22',
'22,,,22,,,,,,,22,,,22,22,22,22,22,22,22,22,22,22,22,22,,22,22,22,22',
'22,,,,,,,,,,,,,,,,,,,,22,,,22,,,22,22,,,22,,22,,22,,22,,,,,,,,22,,,',
',22,22,22,22,,22,22,,,,22,22,,23,23,23,,23,22,,22,23,23,,,,23,,23,23',
'23,23,23,23,23,,,,,,23,23,23,23,23,23,23,,,23,,,,,,,23,,,23,23,23,23',
'23,23,23,23,23,23,23,23,,23,23,23,23,23,,,,,,,,,,,,,,,,,,,,23,,,23,',
',23,23,,,23,,23,,23,,23,,,,,,,,23,,,,,23,23,23,23,,23,23,,,,23,23,,24',
'24,24,,24,23,,23,24,24,,,,24,,24,24,24,24,24,24,24,,,,,,24,24,24,24',
'24,24,24,,,24,,,,,,,24,,,24,24,24,24,24,24,24,24,24,24,24,24,,24,24',
'24,24,24,,,,,,,,,,,,,,,,,,,,24,,,24,,,24,24,,,24,,24,,24,,24,,,,,,,',
'24,,,,,24,24,24,24,,24,24,,,,24,24,,31,31,31,,31,24,,24,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,,703,31,703,703,703,703,703,,,,,',
',,,,,,,,,31,,,31,,,31,31,,,31,,31,,,,703,,,,,,,,,703,703,703,703,31',
'31,31,31,,31,31,,,,31,31,,32,32,32,,32,31,,31,32,32,,,,32,,32,32,32',
'32,32,32,32,,,,,,32,32,32,32,32,32,32,,,32,,,,,,380,32,,,32,32,32,32',
'32,32,32,32,,32,32,32,,32,32,,,32,,380,380,380,380,380,380,380,380,380',
'380,380,,380,380,,,380,380,32,,,32,,,32,32,,,32,,,,380,,380,,380,380',
'380,380,380,380,380,,380,,,32,32,32,32,,32,32,,,,32,32,,,380,32,380',
',32,,32,38,38,38,,38,,,,38,38,,,,38,,38,38,38,38,38,38,38,,,,,,38,38',
'38,38,38,38,38,,,38,,,,,,,38,,,38,38,38,38,38,38,38,38,,38,38,38,,38',
'38,38,38,38,,,,,,,,,,,,,,,,,,,,38,,,38,,,38,38,,,38,,,,,,38,,,,,,,,38',
',,,,38,38,38,38,,38,38,,,,38,38,,39,39,39,,39,38,,38,39,39,,,,39,,39',
'39,39,39,39,39,39,,,,,,39,39,39,39,39,39,39,,,39,,,,,,,39,,,39,39,39',
'39,39,39,39,39,,39,39,39,,39,39,39,39,39,,,,,,,,,,,,,,,,,,,,39,,,39',
',,39,39,,,39,,,,,,39,,,,,,,,39,,,,,39,39,39,39,,39,39,,,,39,39,,40,40',
'40,,40,39,,39,40,40,,,,40,,40,40,40,40,40,40,40,,,,,,40,40,40,40,40',
'40,40,,,40,,,,,,,40,,,40,40,40,40,40,40,40,40,,40,40,40,,40,40,40,40',
'40,,,,,,,,,,,,,,,,,,,,40,,,40,,,40,40,,,40,,,,,,40,,,,,,,,40,,,,,40',
'40,40,40,,40,40,,,,40,40,,52,52,52,,52,40,,40,52,52,,,,52,,52,52,52',
'52,52,52,52,,,,,,52,52,52,52,52,52,52,,,52,,,,,,,52,,,52,52,52,52,52',
'52,52,52,,52,52,52,,52,52,52,52,52,,,,,,,,,,,,,,,,,,,,52,,,52,,,52,52',
',,52,,,,,,52,,,,,,,,52,,,,,52,52,52,52,,52,52,,,,52,52,,53,53,53,,53',
'52,,52,53,53,,,,53,,53,53,53,53,53,53,53,,,,,,53,53,53,53,53,53,53,',
',53,,,,,,,53,,,53,53,53,53,53,53,53,53,53,53,53,53,,53,53,53,53,53,',
',,,,,,,,,,,,,,,,,,53,,,53,,,53,53,,,53,,53,,,,53,,,,,,,,53,,,,,53,53',
'53,53,,53,53,,,,53,53,,54,54,54,,54,53,,53,54,54,,,,54,,54,54,54,54',
'54,54,54,,,,,,54,54,54,54,54,54,54,,,54,,,,,,,54,,,54,54,54,54,54,54',
'54,54,54,54,54,54,,54,54,54,54,54,,,,,,,,,,,,,,,,,,,,54,,,54,,,54,54',
',,54,,,,,,54,,,,,,,,54,,,,,54,54,54,54,,54,54,,,,54,54,,57,57,57,,57',
'54,,54,57,57,,,,57,,57,57,57,57,57,57,57,,,,,,57,57,57,57,57,57,57,',
',57,,,,,,,57,,,57,57,57,57,57,57,57,57,,57,57,57,,57,57,57,57,57,,,',
',,,,,,,,,,,,,,,,57,,,57,,,57,57,,,57,,,,,,57,,,,,,,,57,,,,,57,57,57',
'57,,57,57,,,,57,57,,58,58,58,,58,57,,57,58,58,,,,58,,58,58,58,58,58',
'58,58,,,,,,58,58,58,58,58,58,58,,,58,,,,,,,58,,,58,58,58,58,58,58,58',
'58,,58,58,58,,58,58,58,58,58,,,,,,,,,,,,,,,,,,,,58,,,58,,,58,58,,,58',
',,,,,58,,,,,,,,58,,,,,58,58,58,58,,58,58,,,,58,58,,61,61,61,,61,58,',
'58,61,61,,,,61,,61,61,61,61,61,61,61,,,,,,61,61,61,61,61,61,61,,,61',
',,,,388,,61,,,61,61,61,61,61,61,61,61,,61,61,61,,61,61,61,61,61,388',
'388,388,388,388,388,388,388,388,388,388,,388,388,,,388,388,,61,,,61',
',,61,61,,,61,,,388,,388,61,388,388,388,388,388,388,388,61,388,,,,61',
'61,61,61,,61,61,,,,61,61,61,388,,,,61,61,,61,62,62,62,,62,,,,62,62,',
',,62,,62,62,62,62,62,62,62,,,,,,62,62,62,62,62,62,62,,,62,,,,,,,62,',
',62,62,62,62,62,62,62,62,,62,62,62,,62,62,,817,62,817,817,817,817,817',
',,,,,,,,,,,,,,62,,,62,,,62,62,,,62,,62,,,,817,,,,,,,,,817,817,817,817',
'62,62,62,62,,62,62,,,,62,62,,63,63,63,,63,62,,62,63,63,,,,63,,63,63',
'63,63,63,63,63,,,,,,63,63,63,63,63,63,63,,,63,,,,,,,63,,,63,63,63,63',
'63,63,63,63,,63,63,63,,63,63,,819,63,819,819,819,819,819,,,,,,,,,,,',
'63,,,63,,,63,,,63,63,,,63,,,,,,819,,,,,,,,,819,819,819,819,63,63,63',
'63,,63,63,,,,63,63,,64,64,64,,64,63,,63,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,,846,64,846,846,846,846,846,,,,,,,,,,,,,,,64,,,64',
',,64,64,,,64,,,,,,846,,,,,,,,,846,846,846,846,64,64,64,64,,64,64,,,',
'64,64,,100,100,100,100,100,64,,64,100,100,,,,100,,100,100,100,100,100',
'100,100,,,,,,100,100,100,100,100,100,100,,,100,,,,,600,100,100,100,100',
'100,100,100,100,100,100,100,100,,100,100,100,,100,100,100,100,100,600',
'600,600,600,600,600,600,600,600,600,600,,600,600,,,600,600,,100,,,100',
',,100,100,,,100,,100,600,,600,100,600,600,600,600,600,600,600,100,600',
',,,100,100,100,100,,100,100,,,,100,100,,600,,,,100,100,,100,104,104',
'104,,104,,,,104,104,,,,104,,104,104,104,104,104,104,104,,,,,,104,104',
'104,104,104,104,104,,,104,,,,,,,104,,,104,104,104,104,104,104,104,104',
',104,104,104,,104,104,104,104,104,,,,,,,,,,,,,,,,,,,,104,,,104,,,104',
'104,,,104,,,,,,104,,,,,,,,104,,,,,104,104,104,104,,104,104,,,,104,104',
',105,105,105,,105,104,,104,105,105,,,,105,,105,105,105,105,105,105,105',
',,,,,105,105,105,105,105,105,105,,,105,,,,,,,105,,,105,105,105,105,105',
'105,105,105,,105,105,105,,105,105,105,105,105,,,,,,,,,,,,,,,,,,,,105',
',,105,,,105,105,,,105,,,,,,105,,,,,,,,105,,,,,105,105,105,105,,105,105',
',,,105,105,,106,106,106,,106,105,,105,106,106,,,,106,,106,106,106,106',
'106,106,106,,,,,,106,106,106,106,106,106,106,,,106,,,,,,,106,,,106,106',
'106,106,106,106,106,106,,106,106,106,,106,106,106,106,106,,,,,,,,,,',
',,,,,,,,,106,,,106,,,106,106,,,106,,,,,,106,,,,,,,,106,,,,,106,106,106',
'106,,106,106,,,,106,106,,107,107,107,,107,106,,106,107,107,,,,107,,107',
'107,107,107,107,107,107,,,,,,107,107,107,107,107,107,107,,,107,,,,,',
',107,,,107,107,107,107,107,107,107,107,,107,107,107,,107,107,107,107',
'107,,,,,,,,,,,,,,,,,,,,107,,,107,,,107,107,,,107,,,,,,107,,,,,,,,107',
',,,,107,107,107,107,,107,107,,,,107,107,,108,108,108,108,108,107,,107',
'108,108,,,,108,,108,108,108,108,108,108,108,,,,,,108,108,108,108,108',
'108,108,,,108,,,,,,108,108,108,108,108,108,108,108,108,108,108,108,',
'108,108,108,,108,108,108,108,108,,,,,,,,,,,,,,,,,,,,108,,,108,,,108',
'108,,,108,,108,,,,108,,,,,,,,108,,,,,108,108,108,108,,108,108,,,,108',
'108,,195,195,195,,195,108,,108,195,195,,,,195,,195,195,195,195,195,195',
'195,,,,,,195,195,195,195,195,195,195,,,195,,,,,,,195,,,195,195,195,195',
'195,195,195,195,,195,195,195,,195,195,195,195,195,,,,,,,,,,,,,,,,,,',
',195,,,195,,,195,195,,,195,,195,,,,195,,,,,,,,195,,,,,195,195,195,195',
',195,195,,,,195,195,,196,196,196,,196,195,,195,196,196,,,,196,,196,196',
'196,196,196,196,196,,,,,,196,196,196,196,196,196,196,,,196,,,,,,,196',
',,196,196,196,196,196,196,196,196,,196,196,196,,196,196,196,196,196',
',,,,,,,,,,,,,,,,,,,196,,,196,,,196,196,,,196,,196,,,,196,,,,,,,,196',
',,,,196,196,196,196,,196,196,,,,196,196,,197,197,197,,197,196,,196,197',
'197,,,,197,,197,197,197,197,197,197,197,,,,,,197,197,197,197,197,197',
'197,,,197,,,,,,,197,,,197,197,197,197,197,197,197,197,,197,197,197,',
'197,197,197,197,197,,,,,,,,,,,,,,,,,,,,197,,,197,,,197,197,,,197,,,',
',,197,,,,,,,,197,,,,,197,197,197,197,,197,197,,,,197,197,,198,198,198',
',198,197,,197,198,198,,,,198,,198,198,198,198,198,198,198,,,,,,198,198',
'198,198,198,198,198,,,198,,,,,,,198,,,198,198,198,198,198,198,198,198',
'198,198,198,198,,198,198,198,198,198,,,,,,,,,,,,,,,,,,,,198,,,198,,',
'198,198,,,198,,198,,198,,198,,,,,,,,198,,,,,198,198,198,198,,198,198',
',,,198,198,,203,203,203,,203,198,,198,203,203,,,,203,,203,203,203,203',
'203,203,203,,,,,,203,203,203,203,203,203,203,,,203,,,,,,,203,,,203,203',
'203,203,203,203,203,203,,203,203,203,,203,203,203,203,203,,,,,,,,,,',
',,,,,,,,,203,,,203,,,203,203,,,203,,,,,,203,,,,,,,,203,,,,,203,203,203',
'203,,203,203,,,,203,203,,204,204,204,,204,203,,203,204,204,,,,204,,204',
'204,204,204,204,204,204,,,,,,204,204,204,204,204,204,204,,,204,,,,,',
',204,,,204,204,204,204,204,204,204,204,,204,204,204,,204,204,204,204',
'204,,,,,,,,,,,,,,,,,,,,204,,,204,,,204,204,,,204,,,,,,204,,,,,,,,204',
',,,,204,204,204,204,,204,204,,,,204,204,,205,205,205,,205,204,,204,205',
'205,,,,205,,205,205,205,205,205,205,205,,,,,,205,205,205,205,205,205',
'205,,,205,,,,,,,205,,,205,205,205,205,205,205,205,205,,205,205,205,',
'205,205,205,205,205,,,,,,,,,,,,,,,,,,,,205,,,205,,,205,205,,,205,,,',
',,205,,,,,,,,205,,,,,205,205,205,205,,205,205,,,,205,205,,206,206,206',
',206,205,,205,206,206,,,,206,,206,206,206,206,206,206,206,,,,,,206,206',
'206,206,206,206,206,,,206,,,,,,,206,,,206,206,206,206,206,206,206,206',
',206,206,206,,206,206,206,206,206,,,,,,,,,,,,,,,,,,,,206,,,206,,,206',
'206,,,206,,,,,,206,,,,,,,,206,,,,,206,206,206,206,,206,206,,,,206,206',
',207,207,207,,207,206,,206,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,207,207,,207,207',
',,,207,207,207,217,217,217,,217,207,,207,217,217,,,,217,,217,217,217',
'217,217,217,217,,,,,,217,217,217,217,217,217,217,,,217,,,,,,,217,,,217',
'217,217,217,217,217,217,217,,217,217,217,,217,217,217,217,217,,,,,,',
',,,,,,,,,,,,,217,,,217,,,217,217,,,217,,,,,,217,,,,,,,,217,,,,,217,217',
'217,217,,217,217,,,,217,217,,220,220,220,,220,217,,217,220,220,,,,220',
',220,220,220,220,220,220,220,,,,,,220,220,220,220,220,220,220,,,220',
',,,,,,220,,,220,220,220,220,220,220,220,220,,220,220,220,,220,220,220',
'220,220,,,,,,,,,,,,,,,,,,,,220,,,220,,,220,220,,,220,,,,,,220,,,,,,',
',220,,,,,220,220,220,220,,220,220,,,,220,220,,221,221,221,,221,220,',
'220,221,221,,,,221,,221,221,221,221,221,221,221,,,,,,221,221,221,221',
'221,221,221,,,221,,,,,,,221,,,221,221,221,221,221,221,221,221,,221,221',
'221,,221,221,221,221,221,,,,,,,,,,,,,,,,,,,,221,,,221,,,221,221,,,221',
',,,,,221,,,,,,,,221,,,,,221,221,221,221,,221,221,,,,221,221,,222,222',
'222,,222,221,,221,222,222,,,,222,,222,222,222,222,222,222,222,,,,,,222',
'222,222,222,222,222,222,,,222,,,,,,,222,,,222,222,222,222,222,222,222',
'222,,222,222,222,,222,222,222,222,222,,,,,,,,,,,,,,,,,,,,222,,,222,',
',222,222,,,222,,,,,,222,,,,,,,,222,,,,,222,222,222,222,,222,222,,,,222',
'222,,223,223,223,,223,222,,222,223,223,,,,223,,223,223,223,223,223,223',
'223,,,,,,223,223,223,223,223,223,223,,,223,,,,,,,223,,,223,223,223,223',
'223,223,223,223,,223,223,223,,223,223,223,223,223,,,,,,,,,,,,,,,,,,',
',223,,,223,,,223,223,,,223,,,,,,223,,,,,,,,223,,,,,223,223,223,223,',
'223,223,,,,223,223,,224,224,224,,224,223,,223,224,224,,,,224,,224,224',
'224,224,224,224,224,,,,,,224,224,224,224,224,224,224,,,224,,,,,,,224',
',,224,224,224,224,224,224,224,224,,224,224,224,,224,224,224,224,224',
',,,,,,,,,,,,,,,,,,,224,,,224,,,224,224,,,224,,,,,,224,,,,,,,,224,,,',
',224,224,224,224,,224,224,,,,224,224,,225,225,225,,225,224,,224,225',
'225,,,,225,,225,225,225,225,225,225,225,,,,,,225,225,225,225,225,225',
'225,,,225,,,,,,,225,,,225,225,225,225,225,225,225,225,,225,225,225,',
'225,225,225,225,225,,,,,,,,,,,,,,,,,,,,225,,,225,,,225,225,,,225,,,',
',,225,,,,,,,,225,,,,,225,225,225,225,,225,225,,,,225,225,,226,226,226',
',226,225,,225,226,226,,,,226,,226,226,226,226,226,226,226,,,,,,226,226',
'226,226,226,226,226,,,226,,,,,,,226,,,226,226,226,226,226,226,226,226',
',226,226,226,,226,226,226,226,226,,,,,,,,,,,,,,,,,,,,226,,,226,,,226',
'226,,,226,,,,,,226,,,,,,,,226,,,,,226,226,226,226,,226,226,,,,226,226',
',227,227,227,,227,226,,226,227,227,,,,227,,227,227,227,227,227,227,227',
',,,,,227,227,227,227,227,227,227,,,227,,,,,,,227,,,227,227,227,227,227',
'227,227,227,,227,227,227,,227,227,227,227,227,,,,,,,,,,,,,,,,,,,,227',
',,227,,,227,227,,,227,,,,,,227,,,,,,,,227,,,,,227,227,227,227,,227,227',
',,,227,227,,228,228,228,,228,227,,227,228,228,,,,228,,228,228,228,228',
'228,228,228,,,,,,228,228,228,228,228,228,228,,,228,,,,,,,228,,,228,228',
'228,228,228,228,228,228,,228,228,228,,228,228,228,228,228,,,,,,,,,,',
',,,,,,,,,228,,,228,,,228,228,,,228,,,,,,228,,,,,,,,228,,,,,228,228,228',
'228,,228,228,,,,228,228,,229,229,229,,229,228,,228,229,229,,,,229,,229',
'229,229,229,229,229,229,,,,,,229,229,229,229,229,229,229,,,229,,,,,',
',229,,,229,229,229,229,229,229,229,229,,229,229,229,,229,229,229,229',
'229,,,,,,,,,,,,,,,,,,,,229,,,229,,,229,229,,,229,,,,,,229,,,,,,,,229',
',,,,229,229,229,229,,229,229,,,,229,229,,230,230,230,,230,229,,229,230',
'230,,,,230,,230,230,230,230,230,230,230,,,,,,230,230,230,230,230,230',
'230,,,230,,,,,,,230,,,230,230,230,230,230,230,230,230,,230,230,230,',
'230,230,230,230,230,,,,,,,,,,,,,,,,,,,,230,,,230,,,230,230,,,230,,,',
',,230,,,,,,,,230,,,,,230,230,230,230,,230,230,,,,230,230,,231,231,231',
',231,230,,230,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',
',232,232,232,,232,231,,231,232,232,,,,232,,232,232,232,232,232,232,232',
',,,,,232,232,232,232,232,232,232,,,232,,,,,,,232,,,232,232,232,232,232',
'232,232,232,,232,232,232,,232,232,232,232,232,,,,,,,,,,,,,,,,,,,,232',
',,232,,,232,232,,,232,,,,,,232,,,,,,,,232,,,,,232,232,232,232,,232,232',
',,,232,232,,233,233,233,,233,232,,232,233,233,,,,233,,233,233,233,233',
'233,233,233,,,,,,233,233,233,233,233,233,233,,,233,,,,,,,233,,,233,233',
'233,233,233,233,233,233,,233,233,233,,233,233,233,233,233,,,,,,,,,,',
',,,,,,,,,233,,,233,,,233,233,,,233,,,,,,233,,,,,,,,233,,,,,233,233,233',
'233,,233,233,,,,233,233,,234,234,234,,234,233,,233,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,,235,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,,236,236,236',
',236,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',
',237,237,237,,237,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,,238,238,238,,238,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,,239,239,239,,239,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,,240,240,240,,240,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,,241,241,241',
',241,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',
',242,242,242,,242,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,,243,243,243,,243,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,,244,244,244,,244,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,,245,245,245,,245,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,,254,254,254',
',254,245,,245,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',
',256,256,256,,256,254,,254,256,256,,,,256,,256,256,256,256,256,256,256',
',,,,,256,256,256,256,256,256,256,,,256,,,,,,,256,,,256,256,256,256,256',
'256,256,256,,256,256,256,,256,256,256,256,256,,,,,,,,,,,,,,,,,,,,256',
',,256,,,256,256,,,256,,,,,,256,,,,,,,,256,,,,,256,256,256,256,,256,256',
',,,256,256,,261,261,261,,261,256,,256,261,261,,,,261,,261,261,261,261',
'261,261,261,,,,,,261,261,261,261,261,261,261,,,261,,,,,,,261,,,261,261',
'261,261,261,261,261,261,,261,261,261,,261,261,261,261,261,,,,,,,,,,',
',,,,,,,,,261,,,261,,,261,261,,,261,,,,,,261,,,,,,,,261,,,,,261,261,261',
'261,,261,261,,,,261,261,,267,267,267,,267,261,,261,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,,268',
'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,,276,276,276,,276,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,282,282,282,,282,276,,276,282,282',
',,,282,,282,282,282,282,282,282,282,,,,,,282,282,282,282,282,282,282',
',,282,,,,,,,282,,,282,282,282,282,282,282,282,282,,282,282,282,,282',
'282,,,282,19,19,19,19,19,19,19,19,19,19,19,,19,19,,,19,19,,282,,,282',
',,282,282,,,282,,,19,,19,,19,19,19,19,19,19,19,,19,,,,282,282,282,282',
',282,282,,,,282,282,,19,,282,,,282,,282,295,295,295,,295,,,,295,295',
',,,295,,295,295,295,295,295,295,295,,,,,,295,295,295,295,295,295,295',
',,295,,,,,,,295,,,295,295,295,295,295,295,295,295,,295,295,295,,295',
'295,,872,295,872,872,872,872,872,,,,,,,,,,,,,,,295,,,295,,,295,295,',
',295,,,,,,872,872,,,,,,,,872,872,872,872,295,295,295,295,,295,295,,',
',295,295,,304,304,304,,304,295,,295,304,304,,,,304,,304,304,304,304',
'304,304,304,,,,,,304,304,304,304,304,304,304,,,304,,,,,,,304,,,304,304',
'304,304,304,304,304,304,,304,304,304,,304,304,304,304,304,,,,,,,,,,',
',,,,,,,,,304,,,304,304,,304,304,,,304,,,,,,304,,,,,,,,304,,,,,304,304',
'304,304,,304,304,,,,304,304,,321,321,321,,321,304,,304,321,321,,,,321',
',321,321,321,321,321,321,321,,,,,,321,321,321,321,321,321,321,,,321',
',,,,,,321,,,321,321,321,321,321,321,321,321,,321,321,321,,321,321,321',
'321,321,,,,,,,,,,,,,,,,,,,,321,,,321,,,321,321,,,321,,,,,,321,,,,,,',
',321,,,,,321,321,321,321,,321,321,,,,321,321,,322,322,322,,322,321,',
'321,322,322,,,,322,,322,322,322,322,322,322,322,,,,,,322,322,322,322',
'322,322,322,,,322,,,,,,,322,,,322,322,322,322,322,322,322,322,,322,322',
'322,,322,322,322,322,322,,,,,,,,,,,,,,,,,,,,322,,,322,,,322,322,,,322',
',,,,,322,,,,,,,,322,,,,,322,322,322,322,,322,322,,,,322,322,,340,340',
'340,,340,322,,322,340,340,,,,340,,340,340,340,340,340,340,340,,,,,,340',
'340,340,340,340,340,340,,,340,,,,,,,340,,,340,340,340,340,340,340,340',
'340,,340,340,340,,340,340,340,340,340,,,,,,,,,,,,,,,,,,,,340,,,340,',
',340,340,,,340,,,,,,340,,,,,,,,340,,,,,340,340,340,340,,340,340,,,,340',
'340,,355,355,355,,355,340,,340,355,355,,,,355,,355,355,355,355,355,355',
'355,,,,,,355,355,355,355,355,355,355,,,355,,,,,,,355,,,355,355,355,355',
'355,355,355,355,,355,355,355,,355,355,355,355,355,,,,,,,,,,,,,,,,,,',
',355,,,355,,,355,355,,,355,,,,,,355,,,,,,,,355,,,,,355,355,355,355,',
'355,355,,,,355,355,,382,382,382,,382,355,,355,382,382,,,,382,,382,382',
'382,382,382,382,382,,,,,,382,382,382,382,382,382,382,,,382,,,,,,,382',
',,382,382,382,382,382,382,382,382,,382,382,382,,382,382,382,382,382',
',,,,,,,,,,,,,,,,,,,382,,,382,,,382,382,,,382,,,,,,382,,,,,,,,382,,,',
',382,382,382,382,,382,382,,,,382,382,,414,414,414,,414,382,,382,414',
'414,,,,414,,414,414,414,414,414,414,414,,,,,,414,414,414,414,414,414',
'414,,,414,,,,,,,414,,,414,414,414,414,414,414,414,414,414,414,414,414',
',414,414,414,414,414,,,,,,,,,,,,,,,,,,,,414,,,414,,,414,414,,,414,,414',
',414,,414,,,,,,,,414,,,,,414,414,414,414,,414,414,,,,414,414,,416,416',
'416,,416,414,,414,416,416,,,,416,,416,416,416,416,416,416,416,,,,,,416',
'416,416,416,416,416,416,,,416,,,,,,,416,,,416,416,416,416,416,416,416',
'416,,416,416,416,,416,416,416,416,416,,,,,,,,,,,,,,,,,,,,416,,,416,',
',416,416,,,416,,,,,,416,,,,,,,,416,,,,,416,416,416,416,,416,416,,,,416',
'416,,417,417,417,,417,416,,416,417,417,,,,417,,417,417,417,417,417,417',
'417,,,,,,417,417,417,417,417,417,417,,,417,,,,,,,417,,,417,417,417,417',
'417,417,417,417,,417,417,417,,417,417,417,417,417,,,,,,,,,,,,,,,,,,',
',417,,,417,,,417,417,,,417,,,,,,417,,,,,,,,417,,,,,417,417,417,417,',
'417,417,,,,417,417,,418,418,418,,418,417,,417,418,418,,,,418,,418,418',
'418,418,418,418,418,,,,,,418,418,418,418,418,418,418,,,418,,,,,,,418',
',,418,418,418,418,418,418,418,418,,418,418,418,,418,418,418,418,418',
',,,,,,,,,,,,,,,,,,,418,,,418,,,418,418,,,418,,,,,,418,,,,,,,,418,,,',
',418,418,418,418,,418,418,,,,418,418,,447,447,447,,447,418,,418,447',
'447,,,,447,,447,447,447,447,447,447,447,,,,,,447,447,447,447,447,447',
'447,,,447,,,,,,,447,,,447,447,447,447,447,447,447,447,447,447,447,447',
',447,447,447,447,447,,,,,,,,,,,,,,,,,,,,447,,,447,,,447,447,,,447,,447',
',447,,447,,,,,,,,447,,,,,447,447,447,447,,447,447,,,,447,447,,449,449',
'449,,449,447,,447,449,449,,,,449,,449,449,449,449,449,449,449,,,,,,449',
'449,449,449,449,449,449,,,449,,,,,,,449,,,449,449,449,449,449,449,449',
'449,449,449,449,449,,449,449,449,449,449,,,,,,,,,,,,,,,,,,,,449,,,449',
',,449,449,,,449,,,,449,,449,,,,,,,,449,,,,,449,449,449,449,,449,449',
',,,449,449,,451,451,451,,451,449,,449,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,451,451,451,451,,,,,,,,,,',
',,,,,,,,,451,,,451,,,451,451,,,451,,,,,,451,,,,,,,,451,,,,,451,451,451',
'451,,451,451,,,,451,451,,463,463,463,,463,451,,451,463,463,,,,463,,463',
'463,463,463,463,463,463,,,,,,463,463,463,463,463,463,463,,,463,,,,,',
',463,,,463,463,463,463,463,463,463,463,463,463,463,463,,463,463,463',
'463,463,,,,,,,,,,,,,,,,,,,,463,,,463,,,463,463,,,463,,,,463,,463,,,',
',,,,463,,,,,463,463,463,463,,463,463,,,,463,463,,473,473,473,,473,463',
',463,473,473,,,,473,,473,473,473,473,473,473,473,,,,,,473,473,473,473',
'473,473,473,,,473,,,,,,,473,,,473,473,473,473,473,473,473,473,,473,473',
'473,,473,473,,912,473,912,912,912,912,912,,,,,,,,,,,,,,,473,,,473,,',
'473,473,,,473,,,,,,912,,,,,,,,,912,912,912,912,473,473,473,473,,473',
'473,,,,473,473,,475,475,475,,475,473,,473,475,475,,,,475,,475,475,475',
'475,475,475,475,,,,,,475,475,475,475,475,475,475,,,475,,,,,,,475,,,475',
'475,475,475,475,475,475,475,475,475,475,475,,475,475,475,475,475,,,',
',,,,,,,,,,,,,,,,475,,,475,,,475,475,,,475,,475,,475,,475,,,,,,,,475',
',,,,475,475,475,475,,475,475,,,,475,475,,482,482,482,,482,475,,475,482',
'482,,,,482,,482,482,482,482,482,482,482,,,,,,482,482,482,482,482,482',
'482,,,482,,,,,,,482,,,482,482,482,482,482,482,482,482,,482,482,482,',
'482,482,,,482,,,,,,,,,,,,,,,,,,,,482,,,482,,,482,482,,,482,,,,,,,,,',
',,,,,,,,,482,482,482,482,,482,482,,,,482,482,,485,485,485,,485,482,',
'482,485,485,,,,485,,485,485,485,485,485,485,485,,,,,,485,485,485,485',
'485,485,485,,,485,,,,,,,485,,,485,485,485,485,485,485,485,485,,485,485',
'485,,485,485,485,485,485,,,,,,,,,,,,,,,,,,,,485,,,485,,,485,485,,,485',
',,,,,485,,,,,,,,485,,,,,485,485,485,485,,485,485,,,,485,485,,486,486',
'486,,486,485,,485,486,486,,,,486,,486,486,486,486,486,486,486,,,,,,486',
'486,486,486,486,486,486,,,486,,,,,,,486,,,486,486,486,486,486,486,486',
'486,,486,486,486,,486,486,486,486,486,,,,,,,,,,,,,,,,,,,,486,,,486,',
',486,486,,,486,,,,,,486,,,,,,,,486,,,,,486,486,486,486,,486,486,,,,486',
'486,,487,487,487,,487,486,,486,487,487,,,,487,,487,487,487,487,487,487',
'487,,,,,,487,487,487,487,487,487,487,,,487,,,,,,,487,,,487,487,487,487',
'487,487,487,487,,487,487,487,,487,487,487,487,487,,,,,,,,,,,,,,,,,,',
',487,,,487,,,487,487,,,487,,,,,,487,,,,,,,,487,,,,,487,487,487,487,',
'487,487,,,,487,487,,491,491,491,,491,487,,487,491,491,,,,491,,491,491',
'491,491,491,491,491,,,,,,491,491,491,491,491,491,491,,,491,,,,,,,491',
',,491,491,491,491,491,491,491,491,,491,491,491,,491,491,491,491,491',
',,,,,,,,,,,,,,,,,,,491,,,491,,,491,491,,,491,,,,,,491,,,,,,,,491,,,',
',491,491,491,491,,491,491,,,,491,491,,493,493,493,,493,491,,491,493',
'493,,,,493,,493,493,493,493,493,493,493,,,,,,493,493,493,493,493,493',
'493,,,493,,,,,,,493,,,493,493,493,493,493,493,493,493,,493,493,493,',
'493,493,493,493,493,,,,,,,,,,,,,,,,,,,,493,,,493,,,493,493,,,493,,493',
',,,493,,,,,,,,493,,,,,493,493,493,493,,493,493,,,,493,493,,497,497,497',
',497,493,,493,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,,500,500,500,,500,497,,497,500,500,,,,500,,500,500,500,500',
'500,500,500,,,,,,500,500,500,500,500,500,500,,,500,,,,,,,500,,,500,500',
'500,500,500,500,500,500,500,500,500,500,,500,500,500,500,500,,,,,,,',
',,,,,,,,,,,,500,,,500,,,500,500,,,500,,,,,,500,,,,,,,,500,,,,,500,500',
'500,500,,500,500,,,,500,500,,536,536,536,,536,500,,500,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,,537,537,537,,537,536',
',536,537,537,,,,537,,537,537,537,537,537,537,537,,,,,,537,537,537,537',
'537,537,537,,,537,,,,,,,537,,,537,537,537,537,537,537,537,537,537,537',
'537,537,,537,537,537,537,537,,,,,,,,,,,,,,,,,,,,537,,,537,,,537,537',
',,537,,537,,537,,537,,,,,,,,537,,,,,537,537,537,537,,537,537,,,,537',
'537,,547,547,547,,547,537,,537,547,547,,,,547,,547,547,547,547,547,547',
'547,,,,,,547,547,547,547,547,547,547,,,547,,,,,,,547,,,547,547,547,547',
'547,547,547,547,547,547,547,547,,547,547,547,547,547,,,,,,,,,,,,,,,',
',,,,547,,,547,,,547,547,,,547,,547,,547,,547,,,,,,,,547,,,,,547,547',
'547,547,,547,547,,,,547,547,,550,550,550,,550,547,,547,550,550,,,,550',
',550,550,550,550,550,550,550,,,,,,550,550,550,550,550,550,550,,,550',
',,,,,,550,,,550,550,550,550,550,550,550,550,,550,550,550,,550,550,550',
'550,550,,,,,,,,,,,,,,,,,,,,550,,,550,,,550,550,,,550,,,,,,550,,,,,,',
',550,,,,,550,550,550,550,,550,550,,,,550,550,,578,578,578,,578,550,',
'550,578,578,,,,578,,578,578,578,578,578,578,578,,,,,,578,578,578,578',
'578,578,578,,,578,,,,,,,578,,,578,578,578,578,578,578,578,578,,578,578',
'578,,578,578,578,578,578,,,,,,,,,,,,,,,,,,,,578,,,578,,,578,578,,,578',
',,,,,578,,,,,,,,578,,,,,578,578,578,578,,578,578,,,,578,578,,580,580',
'580,,580,578,,578,580,580,,,,580,,580,580,580,580,580,580,580,,,,,,580',
'580,580,580,580,580,580,,,580,,,,,,,580,,,580,580,580,580,580,580,580',
'580,,580,580,580,,580,580,580,580,580,,,,,,,,,,,,,,,,,,,,580,,,580,',
',580,580,,,580,,580,,,,580,,,,,,,,580,,,,,580,580,580,580,,580,580,',
',,580,580,,581,581,581,,581,580,,580,581,581,,,,581,,581,581,581,581',
'581,581,581,,,,,,581,581,581,581,581,581,581,,,581,,,,,,,581,,,581,581',
'581,581,581,581,581,581,,581,581,581,,581,581,581,581,581,,,,,,,,,,',
',,,,,,,,,581,,,581,,,581,581,,,581,,,,,,581,,,,,,,,581,,,,,581,581,581',
'581,,581,581,,,,581,581,,584,584,584,,584,581,,581,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,,585,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,,589,589,589',
',589,585,,585,589,589,,,,589,,589,589,589,589,589,589,589,,,,,,589,589',
'589,589,589,589,589,,,589,,,,,,,589,,,589,589,589,589,589,589,589,589',
',589,589,589,,589,589,589,589,589,,,,,,,,,,,,,,,,,,,,589,,,589,,,589',
'589,,,589,,,,,,589,,,,,,,,589,,,,,589,589,589,589,,589,589,,,,589,589',
',592,592,592,,592,589,,589,592,592,,,,592,,592,592,592,592,592,592,592',
',,,,,592,592,592,592,592,592,592,,,592,,,,,,,592,,,592,592,592,592,592',
'592,592,592,,592,592,592,,592,592,592,592,592,,,,,,,,,,,,,,,,,,,,592',
',,592,,,592,592,,,592,,,,,,592,,,,,,,,592,,,,,592,592,592,592,,592,592',
',,,592,592,,609,609,609,,609,592,,592,609,609,,,,609,,609,609,609,609',
'609,609,609,,,,,,609,609,609,609,609,609,609,,,609,,,,,,,609,,,609,609',
'609,609,609,609,609,609,,609,609,609,,609,609,609,609,609,,,,,,,,,,',
',,,,,,,,,609,,,609,,,609,609,,,609,,,,,,609,,,,,,,,609,,,,,609,609,609',
'609,,609,609,,,,609,609,,628,628,628,,628,609,,609,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,,639,639,639,,639,628,,628,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,,666,666,666,,666,639,,639,666,666,',
',,666,,666,666,666,666,666,666,666,,,,,,666,666,666,666,666,666,666',
',,666,,,,,,,666,,,666,666,666,666,666,666,666,666,,666,666,666,,666',
'666,666,666,666,,,,,,,,,,,,,,,,,,,,666,,,666,,,666,666,,,666,,,,,,666',
',,,,,,,666,,,,,666,666,666,666,,666,666,,,,666,666,,692,692,692,,692',
'666,,666,692,692,,,,692,,692,692,692,692,692,692,692,,,,,,692,692,692',
'692,692,692,692,,,692,,,,,,,692,,,692,692,692,692,692,692,692,692,,692',
'692,692,,692,692,692,692,692,,,,,,,,,,,,,,,,,,,,692,,,692,,,692,692',
',,692,,,,,,692,,,,,,,,692,,,,,692,692,692,692,,692,692,,,,692,692,,720',
'720,720,,720,692,,692,720,720,,,,720,,720,720,720,720,720,720,720,,',
',,,720,720,720,720,720,720,720,,,720,,,,,,,720,,,720,720,720,720,720',
'720,720,720,,720,720,720,,720,720,720,720,720,,,,,,,,,,,,,,,,,,,,720',
',,720,,,720,720,,,720,,,,,,720,,,,,,,,720,,,,,720,720,720,720,,720,720',
',,,720,720,,722,722,722,,722,720,,720,722,722,,,,722,,722,722,722,722',
'722,722,722,,,,,,722,722,722,722,722,722,722,,,722,,,,,,,722,,,722,722',
'722,722,722,722,722,722,,722,722,722,,722,722,722,722,722,,,,,,,,,,',
',,,,,,,,,722,,,722,,,722,722,,,722,,,,,,722,,,,,,,,722,,,,,722,722,722',
'722,,722,722,,,,722,722,,733,733,733,,733,722,,722,733,733,,,,733,,733',
'733,733,733,733,733,733,,,,,,733,733,733,733,733,733,733,,,733,,,,,',
',733,,,733,733,733,733,733,733,733,733,,733,733,733,,733,733,733,733',
'733,,,,,,,,,,,,,,,,,,,,733,,,733,,,733,733,,,733,,,,,,733,,,,,,,,733',
',,,,733,733,733,733,,733,733,,,,733,733,,734,734,734,,734,733,,733,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,,735,735,735',
',735,734,,734,735,735,,,,735,,735,735,735,735,735,735,735,,,,,,735,735',
'735,735,735,735,735,,,735,,,,,,,735,,,735,735,735,735,735,735,735,735',
',735,735,735,,735,735,735,735,735,,,,,,,,,,,,,,,,,,,,735,,,735,,,735',
'735,,,735,,,,,,735,,,,,,,,735,,,,,735,735,735,735,,735,735,,,,735,735',
',737,737,737,,737,735,,735,737,737,,,,737,,737,737,737,737,737,737,737',
',,,,,737,737,737,737,737,737,737,,,737,,,,,,,737,,,737,737,737,737,737',
'737,737,737,,737,737,737,,737,737,737,737,737,,,,,,,,,,,,,,,,,,,,737',
',,737,,,737,737,,,737,,,,,,737,,,,,,,,737,,,,,737,737,737,737,,737,737',
',,,737,737,,748,748,748,,748,737,,737,748,748,,,,748,,748,748,748,748',
'748,748,748,,,,,,748,748,748,748,748,748,748,,,748,,,,,,,748,,,748,748',
'748,748,748,748,748,748,748,748,748,748,,748,748,748,748,748,,,,,,,',
',,,,,,,,,,,,748,,,748,,,748,748,,,748,,748,,748,,748,,,,,,,,748,,,,',
'748,748,748,748,,748,748,,,,748,748,,751,751,751,,751,748,,748,751,751',
',,,751,,751,751,751,751,751,751,751,,,,,,751,751,751,751,751,751,751',
',,751,,,,,,,751,,,751,751,751,751,751,751,751,751,751,751,751,751,,751',
'751,751,751,751,,,,,,,,,,,,,,,,,,,,751,,,751,,,751,751,,,751,,751,,751',
',751,,,,,,,,751,,,,,751,751,751,751,,751,751,,,,751,751,,766,766,766',
',766,751,,751,766,766,,,,766,,766,766,766,766,766,766,766,,,,,,766,766',
'766,766,766,766,766,,,766,,,,,,,766,,,766,766,766,766,766,766,766,766',
',766,766,766,,766,766,,,766,,,,,,,,,,,,,,,,,,,,766,,,766,,,766,766,',
',766,,,,,,,,,,,,,,,,,,,766,766,766,766,,766,766,,,,766,766,,793,793',
'793,,793,766,,766,793,793,,,,793,,793,793,793,793,793,793,793,,,,,,793',
'793,793,793,793,793,793,,,793,,,,,,,793,,,793,793,793,793,793,793,793',
'793,,793,793,793,,793,793,793,793,793,,,,,,,,,,,,,,,,,,,,793,,,793,',
',793,793,,,793,,,,,,793,,,,,,,,793,,,,,793,793,793,793,,793,793,,,,793',
'793,,798,798,798,,798,793,,793,798,798,,,,798,,798,798,798,798,798,798',
'798,,,,,,798,798,798,798,798,798,798,,,798,,,,,,,798,,,798,798,798,798',
'798,798,798,798,,798,798,798,,798,798,798,798,798,,,,,,,,,,,,,,,,,,',
',798,,,798,,,798,798,,,798,,798,,,,798,,,,,,,,798,,,,,798,798,798,798',
',798,798,,,,798,798,,815,815,815,,815,798,,798,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,,825,825,825,,825,815,,815,825',
'825,,,,825,,825,825,825,825,825,825,825,,,,,,825,825,825,825,825,825',
'825,,,825,,,,,,,825,,,825,825,825,825,825,825,825,825,,825,825,825,',
'825,825,,,825,,,,,,,,,,,,,,,,,,,,825,,,825,,,825,825,,,825,,,,,,,,,',
',,,,,,,,,825,825,825,825,,825,825,,,,825,825,,884,884,884,,884,825,',
'825,884,884,,,,884,,884,884,884,884,884,884,884,,,,,,884,884,884,884',
'884,884,884,,,884,,,,,,,884,,,884,884,884,884,884,884,884,884,,884,884',
'884,,884,884,884,884,884,,,,,,,,,,,,,,,,,,,,884,,,884,,,884,884,,,884',
',884,,884,,884,,,,,,,,884,,,,,884,884,884,884,,884,884,,,,884,884,,887',
'887,887,,887,884,,884,887,887,,,,887,,887,887,887,887,887,887,887,,',
',,,887,887,887,887,887,887,887,,,887,,,,,,,887,,,887,887,887,887,887',
'887,887,887,887,887,887,887,,887,887,887,887,887,,,,,,,,,,,,,,,,,,,',
'887,,,887,,,887,887,,,887,,887,,887,,887,,,,,,,,887,,,,,887,887,887',
'887,,887,887,,,,887,887,,890,890,890,,890,887,,887,890,890,,,,890,,890',
'890,890,890,890,890,890,,,,,,890,890,890,890,890,890,890,,,890,,,,,',
',890,,,890,890,890,890,890,890,890,890,890,890,890,890,,890,890,890',
'890,890,618,618,618,618,618,618,618,618,618,618,618,,618,618,,,618,618',
',890,,618,890,,,890,890,,,890,,890,618,890,618,890,618,618,618,618,618',
'618,618,890,618,,,,890,890,890,890,,890,890,,,,890,890,,618,,618,,,890',
',890,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,,,,6,6,6,6,6,6',
'6,6,6,6,,,,,,6,6,6,6,6,6,6,6,6,6,,6,,,,,,,,6,6,,6,6,6,6,6,6,6,,,6,6',
',,,6,6,6,6,,,,,,,,,,,,,,6,6,,6,6,6,6,6,6,6,6,6,6,6,,,6,6,,,,,,,,,,,6',
'7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,,,,7,7,7,7,7,7,7,7,7',
'7,,,,,,7,7,7,7,7,7,7,7,7,,,7,,,,,,,,7,7,,7,7,7,7,7,7,7,,,7,7,,,,7,7',
'7,7,,,,,,,,,,,,,,7,7,,7,7,7,7,7,7,7,7,7,7,7,,,7,7,,,,,,,,,,,7,371,371',
'371,371,371,371,371,371,371,371,371,371,371,371,371,371,371,371,371',
'371,371,371,371,371,,,,371,371,371,371,371,371,371,371,371,371,,,,,',
'371,371,371,371,371,371,371,371,371,,,371,,,,,,,,371,371,,371,371,371',
'371,371,371,371,,,371,371,,,,371,371,371,371,,,,,,,,,,,,,,371,371,,371',
'371,371,371,371,371,371,371,371,371,371,,,371,371,,,,,,,,,,,371,575',
'575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575,575',
'575,575,575,575,575,575,,,,575,575,575,575,575,575,575,575,575,575,',
',,,,575,575,575,575,575,575,575,575,575,,,575,,,,,,,,575,575,,575,575',
'575,575,575,575,575,,,575,575,,,,575,575,575,575,,,,,,,,,,,,,,575,575',
',575,575,575,575,575,575,575,575,575,575,575,,,575,575,,,,,,,,,,,575',
'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,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,705,705',
'705,705,705,705,705,705,705,705,705,705,705,705,705,705,705,705,705',
'705,705,705,705,705,,,,705,705,705,705,705,705,705,705,705,705,,,,,',
'705,705,705,705,705,705,705,705,705,,,705,,,,,,,,705,705,,705,705,705',
'705,705,705,705,,,705,705,,,,705,705,705,705,,,,,,,,,,,,,,705,705,,705',
'705,705,705,705,705,705,705,705,705,705,199,199,705,,199,,,,,,,,199',
'199,,199,199,199,199,199,199,199,,,199,199,,,,199,199,199,199,,,,,,199',
',,,,,,,199,199,,199,199,199,199,199,199,199,199,199,199,199,200,200',
'199,,200,,,,,,,,200,200,,200,200,200,200,200,200,200,,,200,200,,,,200',
'200,200,200,,,,,,200,,,,,,,,200,200,,200,200,200,200,200,200,200,200',
'200,200,200,264,264,200,,264,,,,,,,,264,264,,264,264,264,264,264,264',
'264,,,264,264,,,,264,264,264,264,,,,,,,,,,,,,,264,264,,264,264,264,264',
'264,264,264,264,264,264,264,265,265,264,,265,,,,,,,,265,265,,265,265',
'265,265,265,265,265,,,265,265,,,,265,265,265,265,,,,,,,,,,,,,,265,265',
',265,265,265,265,265,265,265,265,265,265,265,412,412,265,,412,,,,,,',
',412,412,,412,412,412,412,412,412,412,,,412,412,,,,412,412,412,412,',
',,,,412,,,,,,,,412,412,,412,412,412,412,412,412,412,412,412,412,412',
'413,413,412,,413,,,,,,,,413,413,,413,413,413,413,413,413,413,,,413,413',
',,,413,413,413,413,,,,,,413,,,,,,,,413,413,,413,413,413,413,413,413',
'413,413,413,413,413,476,476,413,,476,,,,,,,,476,476,,476,476,476,476',
'476,476,476,,,476,476,,,,476,476,476,476,,,,,,476,,,,,,,,476,476,,476',
'476,476,476,476,476,476,476,476,476,476,477,477,476,,477,,,,,,,,477',
'477,,477,477,477,477,477,477,477,,,477,477,,,,477,477,477,477,,,,,,477',
',,,,,,,477,477,,477,477,477,477,477,477,477,477,477,477,477,488,488',
'477,,488,,,,,,,,488,488,,488,488,488,488,488,488,488,,,488,488,,,,488',
'488,488,488,,,,,,488,,,,,,,,488,488,,488,488,488,488,488,488,488,488',
'488,488,488,489,489,488,,489,,,,,,,,489,489,,489,489,489,489,489,489',
'489,,,489,489,,,,489,489,489,489,,,,,,489,,,,,,,,489,489,,489,489,489',
'489,489,489,489,489,489,489,489,538,538,489,,538,,,,,,,,538,538,,538',
'538,538,538,538,538,538,,,538,538,,,,538,538,538,538,,,,,,538,,,,,,',
',538,538,,538,538,538,538,538,538,538,538,538,538,538,539,539,538,,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,545,545,539,,545,,,,,,,,545,545,,545,545,545,545,545,545,545,,,545',
'545,,,,545,545,545,545,,,,,,545,,,,,,,,545,545,,545,545,545,545,545',
'545,545,545,545,545,545,546,546,545,,546,,,,,,,,546,546,,546,546,546',
'546,546,546,546,,,546,546,,,,546,546,546,546,,,,,,546,,,,,,,,546,546',
',546,546,546,546,546,546,546,546,546,546,546,891,891,546,,891,,,,,,',
',891,891,,891,891,891,891,891,891,891,,,891,891,,,,891,891,891,891,',
',,,,891,,,,,,,,891,891,,891,891,891,891,891,891,891,891,891,891,891',
'892,892,891,,892,,,,,,,,892,892,,892,892,892,892,892,892,892,,,892,892',
',,,892,892,892,892,,,,,,892,,,,,,,,892,892,,892,892,892,892,892,892',
'892,892,892,892,892,920,920,892,,920,,,,,,,,920,920,,920,920,920,920',
'920,920,920,,,920,920,,,,920,920,920,920,,,,,,920,,,,,,,,920,920,,920',
'920,920,920,920,920,920,920,920,920,920,,,920,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,,405,405,405,405,405,405,405,405,405,405,405',
',405,405,,249,405,405,,,,,,,,,,,,,,,405,,405,,405,405,405,405,405,405',
'405,,405,,444,444,444,444,444,444,444,444,444,444,444,,444,444,,405',
'444,444,,,,,,,,,,,,,,,444,,444,,444,444,444,444,444,444,444,,444,,490',
'490,490,490,490,490,490,490,490,490,490,,490,490,444,444,490,490,,,',
',,,,,,,,,,,490,,490,,490,490,490,490,490,490,490,,490,,640,640,640,640',
'640,640,640,640,640,640,640,,640,640,,490,640,640,,,,,,,,,,,,,,,640',
',640,,640,640,640,640,640,640,640,,640,,718,718,718,718,718,718,718',
'718,718,718,718,,718,718,,640,718,718,,,,,,,,,,,,,,,718,,718,,718,718',
'718,718,718,718,718,,718,,721,721,721,721,721,721,721,721,721,721,721',
',721,721,,718,721,721,,,,,,,,,,,,,,,721,,721,,721,721,721,721,721,721',
'721,,721,,725,725,725,725,725,725,725,725,725,725,725,,725,725,,721',
'725,725,,,,,,,,,,,,,,,725,,725,,725,725,725,725,725,725,725,,725,,727',
'727,727,727,727,727,727,727,727,727,727,,727,727,,725,727,727,,,,,,',
',,,,,,,,727,,727,,727,727,727,727,727,727,727,,727,,730,730,730,730',
'730,730,730,730,730,730,730,,730,730,,727,730,730,,,,,,,,,,,,,,,730',
',730,,730,730,730,730,730,730,730,,730,,732,732,732,732,732,732,732',
'732,732,732,732,,732,732,,730,732,732,,,,,,,,,,,,,,,732,,732,,732,732',
'732,732,732,732,732,,732,,814,814,814,814,814,814,814,814,814,814,814',
',814,814,,732,814,814,,,,,,,,,,,,,,,814,,814,,814,814,814,814,814,814',
'814,,814,,816,816,816,816,816,816,816,816,816,816,816,,816,816,,814',
'816,816,,,,,,,,,,,,,,,816,,816,,816,816,816,816,816,816,816,,816,,,',
',,,,,,,,,,,,,816' ]
        racc_action_check = arr = ::Array.new(23318, 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 = [
     0,    80,   nil,    33,   849,  5297, 20962, 21086,     7,    30,
    11,    53,   139,   521,   300,   374,   nil,    61,  5422, 13696,
   266,   nil,  5547,  5672,  5797,    76,   348,   733,   858,   nil,
  1672,  5922,  6047,   nil,   197,   342,   304,   431,  6180,  6305,
  6430,   243,   548,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   983,  1797,  6555,  6680,  6805,     0,   nil,  6930,  7055,   nil,
   nil,  7180,  7313,  7438,  7563, 21458,   nil,   nil,   nil,   nil,
   nil,   580,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,     0,   nil,   nil,   130,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   383,   nil,
  7688,   nil,   nil,   nil,  7821,  7946,  8071,  8196,  8321,  1121,
   nil,   604,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   283,   nil,  1922,  2047,  8446,  8571,  8696,  8821, 21630,
 21690,   nil,   nil,  8946,  9071,  9196,  9321,  9446,   nil,   nil,
   651,    54,   380,   107,   303,   408,   nil,  9571,  2172,   415,
  9696,  9821,  9946, 10071, 10196, 10321, 10446, 10571, 10696, 10821,
 10946, 11071, 11196, 11321, 11446, 11571, 11696, 11821, 11946, 12071,
 12196, 12321, 12446, 12571, 12696, 12821,   nil,   nil,   nil, 22638,
   nil,   388,   394,   nil, 12946,   446, 13071,   nil,   nil,   nil,
   nil, 13196,   nil,   nil, 21750, 21810,   462, 13321, 13446,   nil,
   nil,   nil,   nil,   nil,   nil,   nil, 13571,   425,  2297,   439,
   482,   445, 13696,  2422,   684,   770,   552,   803,   529,   529,
   355,   nil,   569,   474,   539, 13829,   nil,   484,   618,   622,
   809,   nil,   628,   nil, 13954,   691,   693,   585,   nil,   158,
   269,   629,   612,   270,   639,   nil,   nil,  1077,   599,    48,
   136, 14079, 14204,    84,   711,   617,    65,   866,   697,    89,
   730,   nil,   nil,   356,   418,   137,   nil,   895,   nil,    55,
 14329,   nil,   nil,   167,   419,   447,   513,   577,   582,   707,
   711,   713,   nil,   744,   nil, 14454,   nil,   271,   341,   347,
   397,    39,   405,   nil,  1218,   nil,   nil,   nil,   nil,   nil,
   nil, 21210,   nil,   nil,   nil,   nil,   643,   655,   nil,   nil,
  6048,   nil, 14579,   642,   nil,   649,   nil,   nil,  7180,   666,
   nil,   614,   651,  1113,   nil,   nil,   nil,   239,   709,   348,
   nil,   nil,  1238,  1368,   nil, 22684,   nil,   nil,   nil,   115,
   nil,   723, 21870, 21930, 14704,   242, 14829, 14954, 15079,  2172,
  2297,   562,   691,   748,   758,   783,   785,  1557,  3672,  3797,
  2422,  1189,  1319,  2547,  2672,  2797,  2922,  3047,  3172,  3297,
   941,  1128,  3422,  3547, 22730,   398,   nil, 15204,   nil, 15329,
   nil, 15454,   nil,   nil,  1498,   nil,   nil,  1553,   nil,   nil,
   727,   nil,   nil, 15579,   456,   460,   730,   nil,   731,   732,
   nil,   nil,   740, 15704,   747, 15829, 21990, 22050,   928,   788,
   nil,   nil, 15954,   749,   nil, 16079, 16204, 16329, 22110, 22170,
 22776, 16454,   867, 16579,   nil,   757,   nil, 16704,   nil,   nil,
 16829,   nil,   nil,   nil,    94,  1300,   772,   788,   794,   810,
   nil,   nil,   nil,   nil,   nil,   nil,   243,   898,   nil,   858,
   nil,   nil,   nil,   nil,   906,   nil,   nil,   916,  2547,   957,
   nil,  2672,   119,   123,   962,   971, 16954, 17079, 22230, 22290,
   139,   nil,   nil,  1022,   nil, 22350, 22410, 17204,   nil,   nil,
 17329,   406,   316,  2797,  1430,   nil,   nil,   nil,   283,   nil,
   nil,   nil,  1333,   nil,   nil,   nil,   863,   nil,   nil,    61,
   nil,   nil,   852,   nil,   nil, 21334,   nil,   nil, 17454,   857,
 17579, 17704,   746,   900, 17829, 17954,   902,   nil,   nil, 18079,
   904,   nil, 18204,   nil,   nil,   268,   272,   473,   603,   876,
  7688,   875,   nil,   665,   nil,  2922,   875,   nil,   919, 18329,
   nil,   nil,   nil,   nil,   nil,   nil,   488,   nil, 20829,    -6,
   884,   nil,   888,   nil,  3047,  3172,   nil,   361, 18454,   886,
   nil,   890,   198,   277,   929,   497,  1058,   938,   899, 18579,
 22822,   963,   965,   335,  1025,   nil,  3297,   911,   954,   nil,
   nil,   nil,   379,   nil,  3422,  3547,   911,   728,   nil,  1517,
   nil,  1547,   nil,   nil,  1597,   996, 18704,   nil,   nil,   920,
   nil,   919,   538,   977,   942,   nil,   nil,   624,   nil,  1057,
   nil,   nil,   nil,   nil,  1063,   nil,   143,   948,   141,   144,
   171,   247, 18829,   741,  1121,   nil,   949,  3672,   625,   nil,
   nil,  1071,  3797,  5935,   724, 21570,   nil,   nil,   nil,   nil,
   nil,   nil,  3922,   nil,   nil,   nil,   nil,   nil, 22868,   953,
 18954, 22914, 19079,   nil,   nil, 22960,   nil, 23006,   nil,   nil,
 23052,   nil, 23098, 19204, 19329, 19454,   402, 19579,   955,   963,
   965,   nil,   988,   966,   389,   nil,  1089,   nil, 19704,   nil,
  4047, 19829,   nil,   nil,   974,   990,  1094,   975,   498,   nil,
   nil,   nil,  4172,   nil,   nil,   163, 19954,   nil,   nil,   993,
  1098,   993,   994,   nil,   nil,   nil,   995,  1007,   nil,   nil,
  1008,  1012,   nil,  1014,   nil,   nil,  1018,   981,  1016,   865,
   nil,  1137,   nil, 20079,  1139,  4297,  4422,   nil, 20204,  4547,
   156,   251,   nil,  1149,   nil,  4672,   nil,  1159,  1052,   nil,
   nil,  1087,  1072,   nil, 23144, 20329, 23190,  7326,   nil,  7451,
   nil,   nil,  1694,   nil,  1100, 20454,   nil,  1083,  1110,  1099,
   nil,  1100,   nil,   nil,   nil,   nil,  4797,   164,  1024,  1180,
   165,   nil,   nil,   nil,   nil,   853,  7576,   nil,   nil,  1723,
   nil,  1819,   nil,  1848,   nil,   nil,   nil,   596,  1116,  1107,
   nil,   166,   nil,  1228,  1232,   nil,   215,   nil,   nil,  1240,
   nil,   nil, 13842,   nil,  1124,  1133,  1138,  1139,   nil,  1140,
   nil,  1150,  1215,   nil, 20579,   nil,   nil, 20704,   nil,  1266,
 20829, 22470, 22530,   172,   nil,  1147,  1153,  1154,  1155,  1157,
  1492,  1159,  1658,  4922,   nil,   nil,   nil,   nil,   nil,  5047,
   nil,  5172, 15717,   nil,   nil,  1944,   nil,  1973,   nil,   nil,
 22590,   nil,  1161,   nil,  1169,   173,   207,   271,   274,   nil,
  2069,   nil,   nil,   nil,  1687,  1167,   678,  1289,  1291,  1172,
  1173,  1174,  1189,  1230,  1234,   nil,   209,  1195,  1197,   nil,
   nil,   nil,   nil,  2098,   nil,   nil,   nil,   nil,  1198,   nil ]

racc_action_default = [
    -4,  -547,    -1,  -533,    -5,  -547,  -547,  -547,  -547,  -547,
  -547,  -547,  -547,  -547,  -273,   -32,   -33,  -535,  -547,   -38,
   -40,   -41,  -283,  -318,  -319,   -45,  -248,  -248,  -248,   -58,
    -4,   -62,   -70,   -72,  -547,  -460,  -547,  -547,  -547,  -547,
  -547,  -535,  -225,  -266,  -267,  -268,  -269,  -270,  -271,  -272,
  -521,    -4,  -547,  -546,  -513,  -291,  -373,  -547,  -547,  -296,
  -299,  -533,  -547,  -547,  -547,  -547,  -320,  -321,  -409,  -410,
  -411,  -412,  -413,  -428,  -416,  -417,  -430,  -432,  -421,  -426,
  -442,  -430,  -444,  -445,  -519,  -449,  -450,  -520,  -452,  -453,
  -454,  -455,  -456,  -457,  -458,  -459,  -462,  -463,  -547,    -3,
  -534,  -542,  -543,  -544,  -547,  -547,  -547,  -547,  -547,    -7,
    -8,  -547,   -99,  -100,  -101,  -102,  -103,  -104,  -105,  -106,
  -107,  -111,  -112,  -113,  -114,  -115,  -116,  -117,  -118,  -119,
  -120,  -121,  -122,  -123,  -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,   -13,  -108,    -4,    -4,  -547,  -547,  -547,  -234,  -547,
  -547,  -531,  -532,  -547,  -547,  -547,  -547,  -535,  -536,   -37,
  -547,  -460,  -547,  -273,  -547,  -547,  -217,  -547,    -4,  -547,
  -547,  -547,  -547,  -547,  -547,  -547,  -547,  -547,  -547,  -547,
  -547,  -547,  -547,  -547,  -547,  -547,  -547,  -547,  -547,  -547,
  -547,  -547,  -547,  -547,  -547,  -547,  -379,  -381,   -42,  -226,
  -236,  -258,  -258,  -241,  -547,  -259,  -547,  -283,  -318,  -319,
  -515,  -547,   -43,   -44,  -547,  -547,   -50,  -234,  -547,  -290,
  -384,  -393,  -395,   -56,  -390,   -57,  -535,   -60,    -4,  -535,
  -547,   -63,   -66,    -4,   -78,  -547,  -547,   -85,  -286,  -535,
  -547,  -322,  -391,  -547,   -68,  -547,   -74,  -280,  -446,  -447,
  -547,  -202,  -203,  -218,  -547,  -401,  -547,  -276,  -227,  -539,
  -539,  -547,  -547,  -539,  -547,  -292,  -293,  -483,   -39,  -547,
  -547,  -547,  -547,  -533,  -547,  -534,  -460,  -547,  -547,  -273,
  -547,  -332,  -333,   -94,   -95,  -547,   -97,  -547,  -273,  -547,
  -547,  -460,  -311,   -99,  -100,  -140,  -141,  -142,  -158,  -163,
  -170,  -173,  -313,  -547,  -511,  -547,  -414,  -547,  -547,  -547,
  -547,  -547,  -547,   960,    -6,  -545,   -14,   -15,   -16,   -17,
   -18,  -547,   -10,   -11,   -12,  -109,  -547,  -547,   -21,   -29,
  -181,  -259,  -547,  -547,   -22,   -30,   -31,   -23,  -183,  -535,
  -235,  -522,  -523,  -248,  -388,  -524,  -525,  -522,  -248,  -523,
  -387,  -389,  -524,  -525,   -28,  -191,   -34,   -35,   -36,  -535,
  -289,  -547,  -547,  -547,  -234,  -280,  -547,  -547,  -547,  -192,
  -193,  -194,  -195,  -196,  -197,  -198,  -199,  -204,  -205,  -206,
  -207,  -208,  -209,  -210,  -211,  -212,  -213,  -214,  -215,  -216,
  -219,  -220,  -221,  -222,  -535,  -362,  -237,  -257,  -238,  -257,
  -255,  -547,  -260,  -518,  -248,  -522,  -523,  -248,   -48,   -51,
  -535,  -249,  -250,  -251,  -362,  -362,  -535,  -285,  -535,   -59,
  -278,   -75,   -64,  -547,  -535,  -234,  -547,  -547,   -84,  -547,
  -446,  -447,  -547,   -71,   -76,  -547,  -547,  -547,  -547,  -547,
  -223,  -547,  -546,  -546,  -275,  -535,  -228,  -541,  -540,  -230,
  -541,  -281,  -282,  -514,  -547,  -483,  -367,  -510,  -510,  -510,
  -482,  -484,  -485,  -486,  -487,  -488,  -489,  -547,  -492,  -547,
  -494,  -500,  -502,  -503,  -505,  -506,  -507,  -547,    -4,  -323,
  -324,    -4,  -547,  -547,  -547,  -547,  -547,  -234,  -547,  -547,
  -280,  -304,   -94,   -95,   -96,  -547,  -547,  -234,  -307,  -464,
  -547,  -547,  -547,    -4,  -483,  -315,  -529,  -530,  -535,  -415,
  -429,  -434,  -547,  -436,  -418,  -431,  -547,  -433,  -420,  -547,
  -423,  -425,  -547,  -443,    -9,  -547,   -19,   -20,  -547,  -265,
  -547,  -547,  -392,  -547,  -547,  -547,   -52,  -233,  -385,  -547,
   -54,  -386,  -547,  -288,  -537,  -522,  -523,  -522,  -523,  -535,
  -181,  -547,  -363,  -367,  -365,    -4,  -258,  -256,  -261,  -547,
  -516,  -517,   -46,  -382,   -47,  -383,  -362,  -231,   -38,  -547,
  -258,  -247,  -535,  -253,    -4,    -4,  -284,   -61,  -547,   -67,
   -73,  -535,  -522,  -523,  -232,  -526,   -83,  -547,   -69,  -547,
  -190,  -200,  -201,  -535,  -546,  -330,    -4,  -402,  -546,  -403,
  -404,  -277,  -539,  -374,    -4,    -4,  -367,  -547,  -376,  -547,
  -475,  -547,  -478,  -480,  -547,  -547,  -547,  -491,  -334,  -547,
  -336,  -338,  -345,  -489,  -535,  -504,  -508,  -546,  -325,  -546,
  -297,  -326,  -327,  -300,  -547,  -303,  -547,  -535,  -522,  -523,
  -526,  -279,  -547,   -94,   -95,   -98,  -535,    -4,  -547,  -466,
  -309,  -547,    -4,  -483,  -547,  -547,  -512,  -435,  -438,  -439,
  -440,  -441,    -4,  -419,  -422,  -424,  -427,  -110,  -182,  -263,
  -547,  -184,  -547,  -538,   -25,  -186,   -26,  -187,   -53,   -27,
  -188,   -55,  -189,  -547,  -547,  -547,  -392,  -547,  -510,  -510,
  -510,  -361,  -547,  -367,  -489,  -498,  -547,  -239,  -257,  -262,
    -4,  -547,  -244,  -252,  -535,  -547,  -547,   -65,  -392,   -77,
  -287,    -2,    -4,  -408,  -331,  -547,  -547,  -406,  -229,  -547,
  -547,  -535,  -368,  -369,  -371,  -372,  -510,  -510,  -495,  -509,
  -510,  -510,  -501,  -510,  -490,  -496,  -535,  -547,  -343,  -547,
  -493,  -547,  -328,  -547,  -547,    -4,    -4,  -302,  -547,    -4,
  -392,  -547,  -392,  -547,  -465,    -4,  -312,  -547,  -535,  -468,
  -316,  -547,  -264,   -24,  -185,  -547,  -224,  -352,  -354,  -547,
  -357,  -359,  -547,  -364,  -547,  -547,  -380,  -258,  -547,  -258,
  -243,  -258,  -254,  -394,  -396,  -407,    -4,  -460,  -547,  -547,
  -273,  -405,  -377,  -378,  -375,  -547,  -547,  -471,  -473,  -547,
  -476,  -547,  -479,  -547,  -481,  -335,  -337,  -341,  -547,  -346,
  -294,  -547,  -295,  -547,  -547,  -261,  -546,  -305,  -308,  -547,
  -314,  -467,  -483,  -437,  -510,  -510,  -510,  -510,  -499,  -510,
  -366,  -497,  -547,  -240,  -257,   -49,  -242,  -257,  -245,  -401,
  -234,  -547,  -547,  -280,  -370,  -510,  -510,  -510,  -510,  -339,
  -547,  -344,  -547,    -4,  -298,  -301,  -397,  -398,  -399,    -4,
  -310,    -4,  -547,  -349,  -351,  -547,  -355,  -547,  -358,  -360,
  -547,  -280,  -258,  -400,  -535,  -522,  -523,  -526,  -279,  -469,
  -547,  -472,  -474,  -477,  -547,  -342,  -546,  -547,  -547,  -510,
  -510,  -510,  -510,  -279,  -526,  -246,  -392,  -510,  -340,  -329,
  -306,  -317,  -347,  -547,  -350,  -353,  -356,  -470,  -510,  -348 ]

clist = [
'115,115,310,313,10,352,492,199,535,10,309,250,250,250,209,2,206,12,506',
'264,308,582,12,446,448,103,281,307,306,459,99,389,318,318,10,294,318',
'510,702,610,304,270,274,483,791,280,658,12,739,319,320,644,668,323,544',
'10,110,192,778,115,379,386,773,393,398,775,331,674,12,118,118,358,1',
'782,120,120,362,528,531,318,318,318,318,103,277,496,499,761,324,503',
'610,266,273,275,100,605,366,367,368,369,460,859,680,683,10,248,262,263',
'856,191,878,740,10,613,624,625,615,12,332,560,371,567,570,616,109,12',
'339,342,454,457,575,311,623,291,291,461,622,754,354,312,315,279,316',
'742,330,548,353,555,495,321,795,322,383,383,796,692,909,697,805,553',
'554,705,872,743,291,291,291,777,772,780,901,504,653,317,247,445,464',
'465,906,406,407,408,409,648,607,765,607,250,356,357,359,378,384,387',
'403,360,771,10,10,404,621,569,668,878,412,788,656,361,376,377,12,12',
'935,707,394,712,778,786,684,364,776,629,10,856,,510,,370,,,638,736,',
'280,,12,,,794,,,,,,,,948,599,,,894,,778,775,,,250,250,782,,,,874,758',
'695,250,750,,,,,,,,510,,393,398,,476,,,10,824,,472,,10,479,,484,,,280',
'488,12,318,318,280,,12,,,949,,270,,274,631,,,13,,532,533,552,13,,,800',
'668,538,668,741,,875,,876,802,210,558,715,277,210,210,210,,277,610,',
'634,13,285,285,,103,,556,,728,534,462,634,731,895,,911,,649,466,,549',
'13,210,,115,,,210,210,687,867,210,327,337,337,757,,747,,696,,,,291,',
',,583,468,899,668,752,,474,,606,291,,,,,634,250,808,,,403,587,,634,13',
'620,591,,210,210,210,210,13,939,574,,510,,907,,394,768,,,,,668,118,668',
',,307,120,,,,601,799,,652,,,,383,,,,,,,,586,,650,,,590,250,,643,668',
'484,587,,403,587,,,,,484,,,,,,403,,607,,,830,,,394,,686,,,,,,,,,,394',
'13,13,210,210,210,210,,,,,210,210,210,210,210,612,,,614,836,,318,250',
',,13,701,,10,403,,10,250,,,403,,,698,677,,12,679,,12,,908,,,394,681',
'681,946,10,,,,394,,,,,,,,115,12,,,699,700,291,,,210,210,724,726,,,291',
'729,,210,,13,923,,510,285,13,,,,583,883,,886,,888,410,,285,,,10,,763',
',,,767,,,,903,746,607,12,484,607,717,,,10,10,583,,210,210,759,,,,118',
'755,756,12,12,120,,810,,,,587,10,210,591,,,,,,10,10,,764,,12,,,210,318',
',769,770,12,12,467,803,,469,,,807,14,,,,801,14,583,,,,,,,,945,583,,',
',115,831,10,,,,827,10,,829,,14,287,287,,12,,10,,813,12,804,,,924,,210',
'809,811,,12,291,14,,,,,,,,,,291,329,338,338,,,,,,,,,,10,634,,,,,,,,',
',828,10,12,318,,841,,,,210,,,835,,12,14,,869,,285,861,210,,14,,,,,285',
',,,,,10,10,,210,10,,,593,,738,10,863,864,12,12,866,,12,,,,,,12,681,',
',,,,,,,891,,,314,922,,,13,10,,13,,,,,,210,,,889,,12,,,,617,210,,,210',
',626,13,627,781,,291,783,,630,,14,14,,,,,250,,,,,,,403,,938,,,,651,',
',210,210,,14,,210,,,,,,394,10,,,,,,10,403,10,13,,936,,12,,,583,937,',
'12,291,12,,,,,,,13,13,,,285,,,,,,,,,,,285,,,,,706,,13,14,,,,287,14,',
'13,13,,,,,,,,,287,381,385,,,,,,,,,,,,,,,26,,,,,26,,,,,,210,,,,,13,,26',
',,13,26,26,26,,,753,,,26,13,877,,,879,,,,,,210,,450,,452,,,760,,453',
'26,26,,,,,26,26,896,,26,897,,898,,,,,13,,,,,,,,,,790,,13,,,,838,,,,',
',,,,,,,,,,26,,,,26,26,26,26,26,,,,210,,13,13,,,13,,,35,,,13,940,35,',
'941,,942,,660,662,663,,,,,,,,,947,881,,,,,,,35,284,284,,13,,,,832,,287',
',,,,958,,,,287,579,35,,,,844,,,,,,,326,341,341,341,,,,,855,,26,26,26',
'26,26,26,,,,,26,26,26,26,26,,210,,,,871,,,14,,26,14,,35,13,,,,,,13,35',
'13,,,,,,608,,314,,611,14,,,,,,,,,711,,619,,,,,,,,,,,,,,,26,26,,,,,,',
',26,,26,,,,647,26,,,608,,,314,,,,14,,,,,,,,,,,,,,,,,,,14,14,35,35,287',
',,,,26,26,,,381,,287,,,,,,,14,,,,,35,26,,14,14,,,,,,,,,,,,26,,,,,,,',
'818,820,821,,,,719,,,,,,,,,,,,,,,,14,,,,,14,,,,,,,,749,35,14,847,848',
'284,35,850,852,,854,,,,,,26,,284,,,,,,,,,,,,,,,,,,,,,,14,,,,,,,,,,,',
'14,,,,840,785,,,,,,,,26,,,,,,,,,,,,26,,,,,,,,14,14,,,14,,,,26,,14,,',
',,,913,914,916,918,,919,,,,,812,,,,338,,,,,,,929,931,932,933,14,,,,26',
',,26,,,,,,26,,,,,,,,,,26,,,26,,,26,,,,,,,,,,,952,954,955,956,,,,,957',
',,,,,,,,,,959,26,26,,865,,26,,14,,,284,,,14,,14,,,,284,,26,,,,,,,,,',
',,,,,,,,,26,26,,,,,,,,,,,,,,,,,,,,,26,,,35,,,35,,26,26,,,,,,,,,,,,,',
',,,,865,35,,608,,,,,,,,,,,,,,,,26,,,,,26,,,,,26,,,,,,,,,,26,,,,,,,,',
',26,,,,35,,,,,,,,,,,,,,,,,,,35,35,,,284,26,,,,,,,,,,284,,26,,,216,,35',
',249,249,249,,,,35,35,,,,,,,,,301,302,303,,,,,,26,,26,26,,,26,249,249',
',,,26,,,,,,,,,,,,,35,,,,,35,,,,,,,,,,35,,,26,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,35,,,,,,,,,,,,35,,,,837,,,26,,,,,,,,,,,,,26,,,,,,26,,26,',
',,,35,35,,,35,,,,,,35,,,,,,,,,,,,,,,,380,249,388,249,341,,,,405,,,,',
',,35,,,,,,,216,,,419,420,421,422,423,424,425,426,427,428,429,430,431',
'432,433,434,435,436,437,438,439,440,441,442,443,444,,,,,,,,,249,,249',
',,,,249,,,,,,249,249,,,,,,,,249,35,,,,,,35,,35,,,,,,,,,,,,,,,,,,,490',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,249,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,249,,405,600,388,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,249,,249,,249,,,,,,,,,,,,618,,,,,,,,,,,,249,,,',
',,,,,,640,641,642,,,,,,249,,,,249,,,249,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,249,249,,,,,,,,,,249,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,718,,249,721',
',,725,727,,,,730,,,732,,,,,,,,,,,,,,,,,249,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,249,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,249,,814,,,,,,,,,,,725,727,730,,816,,,,,,,,,,,249',
',,249,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,249,,,,,,,,,,,,',
',,,,814,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,249,,,249,,,249' ]
        racc_goto_table = arr = ::Array.new(2630, 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 = [
'50,50,61,61,14,49,4,21,85,14,59,29,29,29,15,2,27,17,123,21,58,20,17',
'64,64,88,43,25,3,35,8,19,25,25,14,44,25,114,89,150,27,62,62,45,83,2',
'116,17,111,13,13,5,106,13,47,14,11,11,145,50,23,23,118,33,33,119,14',
'107,17,53,53,136,1,146,54,54,136,82,82,25,25,25,25,88,39,60,60,6,8,60',
'150,34,34,34,10,36,13,13,13,13,19,108,84,84,14,31,31,31,105,12,147,112',
'14,63,36,36,63,17,16,140,26,140,140,37,9,17,48,48,33,33,55,57,66,56',
'56,67,69,70,77,78,79,40,81,116,86,87,90,91,92,93,94,95,59,59,96,97,98',
'99,100,101,102,103,104,109,56,56,56,112,117,112,108,120,121,122,124',
'125,127,128,129,25,25,25,25,130,65,131,65,29,134,135,137,15,15,15,50',
'138,116,14,14,15,65,139,106,147,21,106,123,141,2,2,17,17,108,142,62',
'143,145,107,85,9,144,45,14,105,,114,,9,,,45,20,,2,,17,,,5,,,,,,,,108',
'19,,,118,,145,119,,,29,29,146,,,,111,20,47,29,36,,,,,,,,114,,33,33,',
'21,,,14,116,,44,,14,27,,43,,,2,21,17,25,25,2,,17,,,83,,62,,62,19,,,18',
',13,13,25,18,,,20,106,21,106,114,,112,,112,20,18,25,140,39,18,18,18',
',39,150,,33,18,18,18,,88,,21,,35,8,31,33,35,112,,89,,23,31,,88,18,18',
',50,,,18,18,19,84,18,18,18,18,45,,64,,19,,,,56,,,,27,40,106,106,64,',
'40,,61,56,,,,,33,29,123,,,50,62,,33,18,61,62,,18,18,18,18,18,112,11',
',114,,5,,62,60,,,,,106,53,106,,,25,54,,,,27,82,,61,,,,59,,,,,,,,34,',
'58,,,34,29,,25,106,43,62,,50,62,,,,,43,,,,,,50,,65,,,65,,,62,,59,,,',
',,,,,,62,18,18,18,18,18,18,,,,,18,18,18,18,18,34,,,34,82,,25,29,,,18',
'3,,14,50,,14,29,,,50,,,13,2,,17,2,,17,,85,,,62,88,88,20,14,,,,62,,,',
',,,,50,17,,,88,88,56,,,18,18,15,15,,,56,15,,18,,18,4,,114,18,18,,,,27',
'64,,64,,64,41,,18,,,14,,58,,,,58,,,,82,2,65,17,43,65,11,,,14,14,27,',
'18,18,43,,,,53,2,2,17,17,54,,49,,,,62,14,18,62,,,,,,14,14,,2,,17,,,18',
'25,,2,2,17,17,41,3,,41,,,3,22,,,,13,22,27,,,,,,,,64,27,,,,50,61,14,',
',,59,14,,59,,22,22,22,,17,,14,,15,17,88,,,19,,18,88,2,,17,56,22,,,,',
',,,,,56,22,22,22,,,,,,,,,,14,33,,,,,,,,,,2,14,17,25,,14,,,,18,,,2,,17',
'22,,3,,18,13,18,,22,,,,,18,,,,,,14,14,,18,14,,,41,,110,14,2,2,17,17',
'2,,17,,,,,,17,88,,,,,,,,,21,,,24,61,,,18,14,,18,,,,,,18,,,2,,17,,,,41',
'18,,,18,,41,18,41,110,,56,110,,41,,22,22,,,,,29,,,,,,,50,,3,,,,41,,',
'18,18,,22,,18,,,,,,62,14,,,,,,14,50,14,18,,2,,17,,,27,2,,17,56,17,,',
',,,,18,18,,,18,,,,,,,,,,,18,,,,,41,,18,22,,,,22,22,,18,18,,,,,,,,,22',
'24,24,,,,,,,,,,,,,,,38,,,,,38,,,,,,18,,,,,18,,38,,,18,38,38,38,,,41',
',,38,18,110,,,110,,,,,,18,,24,,24,,,41,,24,38,38,,,,,38,38,110,,38,110',
',110,,,,,18,,,,,,,,,,41,,18,,,,18,,,,,,,,,,,,,,,38,,,,38,38,38,38,38',
',,,18,,18,18,,,18,,,46,,,18,110,46,,110,,110,,113,113,113,,,,,,,,,110',
'18,,,,,,,46,46,46,,18,,,,41,,22,,,,,110,,,,22,24,46,,,,41,,,,,,,46,46',
'46,46,,,,,41,,38,38,38,38,38,38,,,,,38,38,38,38,38,,18,,,,41,,,22,,38',
'22,,46,18,,,,,,18,46,18,,,,,,24,,24,,24,22,,,,,,,,,22,,24,,,,,,,,,,',
',,,,38,38,,,,,,,,38,,38,,,,24,38,,,24,,,24,,,,22,,,,,,,,,,,,,,,,,,,22',
'22,46,46,22,,,,,38,38,,,24,,22,,,,,,,22,,,,,46,38,,22,22,,,,,,,,,,,',
'38,,,,,,,,113,113,113,,,,24,,,,,,,,,,,,,,,,22,,,,,22,,,,,,,,24,46,22',
'113,113,46,46,113,113,,113,,,,,,38,,46,,,,,,,,,,,,,,,,,,,,,,22,,,,,',
',,,,,,22,,,,22,24,,,,,,,,38,,,,,,,,,,,,38,,,,,,,,22,22,,,22,,,,38,,22',
',,,,,113,113,113,113,,113,,,,,24,,,,22,,,,,,,113,113,113,113,22,,,,38',
',,38,,,,,,38,,,,,,,,,,38,,,38,,,38,,,,,,,,,,,113,113,113,113,,,,,113',
',,,,,,,,,,113,38,38,,24,,38,,22,,,46,,,22,,22,,,,46,,38,,,,,,,,,,,,',
',,,,,,38,38,,,,,,,,,,,,,,,,,,,,,38,,,46,,,46,,38,38,,,,,,,,,,,,,,,,',
',24,46,,24,,,,,,,,,,,,,,,,38,,,,,38,,,,,38,,,,,,,,,,38,,,,,,,,,,38,',
',,46,,,,,,,,,,,,,,,,,,,46,46,,,46,38,,,,,,,,,,46,,38,,,28,,46,,28,28',
'28,,,,46,46,,,,,,,,,28,28,28,,,,,,38,,38,38,,,38,28,28,,,,38,,,,,,,',
',,,,,46,,,,,46,,,,,,,,,,46,,,38,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,46',
',,,,,,,,,,,46,,,,46,,,38,,,,,,,,,,,,,38,,,,,,38,,38,,,,,46,46,,,46,',
',,,,46,,,,,,,,,,,,,,,,28,28,28,28,46,,,,28,,,,,,,46,,,,,,,28,,,28,28',
'28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28',
'28,,,,,,,,,28,,28,,,,,28,,,,,,28,28,,,,,,,,28,46,,,,,,46,,46,,,,,,,',
',,,,,,,,,,,28,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,28,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,28,,28,28,28',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,28,,28,,28,,,,,,,,,,,,28,,,,,,,,,,,,28,',
',,,,,,,,28,28,28,,,,,,28,,,,28,,,28,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,28,28,,,,,,,,,,28,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,28,,28,28,,,28,28',
',,,28,,,28,,,,,,,,,,,,,,,,,28,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,28,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,28,,28,,,,,,,,,,,28,28,28,,28,,,,,,,,,,,28,,,28,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,28,,,,,,,,,,,,,,,,,28,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,28,,,28,,,28' ]
        racc_goto_check = arr = ::Array.new(2630, 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,    72,    15,   -23,  -299,  -441,  -557,   nil,    27,   119,
    91,    50,   102,    -8,     4,    -4,    56,    17,   311,  -167,
  -368,    -6,   680,  -135,   781,   -25,    10,    -1,  1739,   -11,
   nil,    83,   nil,  -136,    65,  -237,  -350,  -335,   992,    54,
   111,   397,   nil,    -5,     3,  -252,  1113,  -281,    63,   -60,
    -6,   nil,   nil,    63,    68,  -245,   102,    78,   -33,   -43,
  -224,   -51,    15,  -341,  -228,  -263,  -331,  -133,   nil,  -327,
  -486,   nil,   nil,   nil,   nil,   nil,   nil,    73,    85,    85,
   nil,    86,  -242,  -633,  -430,  -316,    82,  -194,    22,  -516,
    81,  -206,  -159,    90,  -530,    91,  -529,  -386,  -711,  -391,
  -542,  -183,  -192,  -394,  -648,  -679,  -467,  -452,  -688,  -440,
   205,  -555,  -492,   617,  -280,   nil,  -460,  -489,  -595,  -592,
  -146,  -332,   117,  -299,   154,   -71,   nil,   -95,   -95,  -688,
  -310,  -463,   nil,   nil,   117,   116,    -5,   113,   117,  -159,
  -238,   128,  -349,  -348,  -439,  -601,  -588,  -709,   nil,   nil,
  -410 ]

racc_goto_default = [
   nil,   nil,   305,   nil,   nil,   792,   nil,     3,   nil,     4,
   325,   nil,   nil,   nil,   214,    16,    11,   215,   300,   nil,
   nil,   546,   213,   nil,   255,    15,   nil,   411,    19,    20,
    21,   390,    25,   637,   nil,   nil,   nil,   nil,   290,    29,
   nil,   nil,    31,    34,    33,   nil,   211,   336,   nil,   117,
   396,   116,   119,    69,    70,   nil,    42,   nil,   645,   251,
   nil,   252,   401,   588,   nil,   253,   nil,   nil,   268,   nil,
   nil,    43,    44,    45,    46,    47,    48,    49,   nil,   269,
    55,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   529,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   670,   518,   nil,   671,   nil,
   507,   nil,   509,   nil,   779,   602,   nil,   nil,   nil,   515,
   nil,   nil,   nil,   704,   nil,   nil,   400,   nil,   nil,   nil,
   nil,   nil,    68,    71,    72,   nil,   nil,   nil,   nil,   nil,
   565,   nil,   nil,   nil,   508,   520,   521,   745,   524,   527,
   260 ]

racc_reduce_table = [
  0, 0, :racc_error,
  1, 139, :_reduce_none,
  4, 141, :_reduce_2,
  2, 140, :_reduce_3,
  0, 145, :_reduce_4,
  1, 145, :_reduce_5,
  3, 145, :_reduce_6,
  2, 145, :_reduce_7,
  0, 164, :_reduce_8,
  4, 147, :_reduce_9,
  3, 147, :_reduce_10,
  3, 147, :_reduce_11,
  3, 147, :_reduce_12,
  2, 147, :_reduce_13,
  3, 147, :_reduce_14,
  3, 147, :_reduce_15,
  3, 147, :_reduce_16,
  3, 147, :_reduce_17,
  3, 147, :_reduce_18,
  4, 147, :_reduce_19,
  4, 147, :_reduce_20,
  3, 147, :_reduce_21,
  3, 147, :_reduce_22,
  3, 147, :_reduce_23,
  6, 147, :_reduce_24,
  5, 147, :_reduce_25,
  5, 147, :_reduce_26,
  5, 147, :_reduce_27,
  3, 147, :_reduce_28,
  3, 147, :_reduce_29,
  3, 147, :_reduce_30,
  3, 147, :_reduce_31,
  1, 147, :_reduce_none,
  1, 163, :_reduce_none,
  3, 163, :_reduce_34,
  3, 163, :_reduce_35,
  3, 163, :_reduce_36,
  2, 163, :_reduce_37,
  1, 163, :_reduce_none,
  1, 151, :_reduce_none,
  1, 153, :_reduce_none,
  1, 153, :_reduce_none,
  2, 153, :_reduce_42,
  2, 153, :_reduce_43,
  2, 153, :_reduce_44,
  1, 168, :_reduce_none,
  4, 168, :_reduce_46,
  4, 168, :_reduce_47,
  0, 175, :_reduce_48,
  5, 173, :_reduce_49,
  2, 167, :_reduce_50,
  3, 167, :_reduce_51,
  4, 167, :_reduce_52,
  5, 167, :_reduce_53,
  4, 167, :_reduce_54,
  5, 167, :_reduce_55,
  2, 167, :_reduce_56,
  2, 167, :_reduce_57,
  1, 154, :_reduce_58,
  3, 154, :_reduce_59,
  1, 178, :_reduce_60,
  3, 178, :_reduce_61,
  1, 177, :_reduce_none,
  2, 177, :_reduce_63,
  3, 177, :_reduce_64,
  5, 177, :_reduce_65,
  2, 177, :_reduce_66,
  4, 177, :_reduce_67,
  2, 177, :_reduce_68,
  4, 177, :_reduce_69,
  1, 177, :_reduce_70,
  3, 177, :_reduce_71,
  1, 181, :_reduce_none,
  3, 181, :_reduce_73,
  2, 180, :_reduce_74,
  3, 180, :_reduce_75,
  1, 183, :_reduce_76,
  3, 183, :_reduce_77,
  1, 182, :_reduce_78,
  4, 182, :_reduce_79,
  3, 182, :_reduce_80,
  3, 182, :_reduce_81,
  3, 182, :_reduce_82,
  3, 182, :_reduce_83,
  2, 182, :_reduce_84,
  1, 182, :_reduce_85,
  1, 152, :_reduce_86,
  4, 152, :_reduce_87,
  3, 152, :_reduce_88,
  3, 152, :_reduce_89,
  3, 152, :_reduce_90,
  3, 152, :_reduce_91,
  2, 152, :_reduce_92,
  1, 152, :_reduce_93,
  1, 185, :_reduce_94,
  1, 185, :_reduce_none,
  2, 186, :_reduce_96,
  1, 186, :_reduce_97,
  3, 186, :_reduce_98,
  1, 187, :_reduce_none,
  1, 187, :_reduce_none,
  1, 187, :_reduce_none,
  1, 187, :_reduce_none,
  1, 187, :_reduce_none,
  1, 190, :_reduce_104,
  1, 190, :_reduce_none,
  1, 149, :_reduce_none,
  1, 149, :_reduce_none,
  1, 150, :_reduce_108,
  0, 193, :_reduce_109,
  4, 150, :_reduce_110,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  3, 166, :_reduce_181,
  5, 166, :_reduce_182,
  3, 166, :_reduce_183,
  5, 166, :_reduce_184,
  6, 166, :_reduce_185,
  5, 166, :_reduce_186,
  5, 166, :_reduce_187,
  5, 166, :_reduce_188,
  5, 166, :_reduce_189,
  4, 166, :_reduce_190,
  3, 166, :_reduce_191,
  3, 166, :_reduce_192,
  3, 166, :_reduce_193,
  3, 166, :_reduce_194,
  3, 166, :_reduce_195,
  3, 166, :_reduce_196,
  3, 166, :_reduce_197,
  3, 166, :_reduce_198,
  3, 166, :_reduce_199,
  4, 166, :_reduce_200,
  4, 166, :_reduce_201,
  2, 166, :_reduce_202,
  2, 166, :_reduce_203,
  3, 166, :_reduce_204,
  3, 166, :_reduce_205,
  3, 166, :_reduce_206,
  3, 166, :_reduce_207,
  3, 166, :_reduce_208,
  3, 166, :_reduce_209,
  3, 166, :_reduce_210,
  3, 166, :_reduce_211,
  3, 166, :_reduce_212,
  3, 166, :_reduce_213,
  3, 166, :_reduce_214,
  3, 166, :_reduce_215,
  3, 166, :_reduce_216,
  2, 166, :_reduce_217,
  2, 166, :_reduce_218,
  3, 166, :_reduce_219,
  3, 166, :_reduce_220,
  3, 166, :_reduce_221,
  3, 166, :_reduce_222,
  3, 166, :_reduce_223,
  6, 166, :_reduce_224,
  1, 166, :_reduce_none,
  1, 162, :_reduce_none,
  1, 195, :_reduce_none,
  2, 195, :_reduce_none,
  4, 195, :_reduce_229,
  2, 195, :_reduce_230,
  3, 200, :_reduce_231,
  0, 201, :_reduce_232,
  1, 201, :_reduce_none,
  0, 157, :_reduce_234,
  1, 157, :_reduce_none,
  1, 169, :_reduce_236,
  2, 169, :_reduce_237,
  2, 169, :_reduce_238,
  4, 169, :_reduce_239,
  6, 169, :_reduce_240,
  1, 169, :_reduce_241,
  4, 204, :_reduce_242,
  3, 204, :_reduce_243,
  2, 204, :_reduce_244,
  4, 204, :_reduce_245,
  6, 204, :_reduce_246,
  1, 204, :_reduce_247,
  0, 206, :_reduce_248,
  2, 172, :_reduce_249,
  1, 205, :_reduce_250,
  0, 207, :_reduce_251,
  3, 205, :_reduce_252,
  0, 208, :_reduce_253,
  4, 205, :_reduce_254,
  2, 203, :_reduce_255,
  2, 202, :_reduce_256,
  1, 202, :_reduce_257,
  0, 202, :_reduce_258,
  1, 197, :_reduce_259,
  2, 197, :_reduce_260,
  3, 197, :_reduce_261,
  4, 197, :_reduce_262,
  3, 161, :_reduce_263,
  4, 161, :_reduce_264,
  2, 161, :_reduce_265,
  1, 194, :_reduce_none,
  1, 194, :_reduce_none,
  1, 194, :_reduce_none,
  1, 194, :_reduce_none,
  1, 194, :_reduce_none,
  1, 194, :_reduce_none,
  1, 194, :_reduce_none,
  1, 194, :_reduce_none,
  1, 194, :_reduce_274,
  3, 194, :_reduce_275,
  0, 230, :_reduce_276,
  4, 194, :_reduce_277,
  3, 194, :_reduce_278,
  3, 194, :_reduce_279,
  2, 194, :_reduce_280,
  3, 194, :_reduce_281,
  3, 194, :_reduce_282,
  1, 194, :_reduce_283,
  4, 194, :_reduce_284,
  3, 194, :_reduce_285,
  1, 194, :_reduce_286,
  5, 194, :_reduce_287,
  4, 194, :_reduce_288,
  3, 194, :_reduce_289,
  2, 194, :_reduce_290,
  1, 194, :_reduce_none,
  2, 194, :_reduce_292,
  2, 194, :_reduce_293,
  6, 194, :_reduce_294,
  6, 194, :_reduce_295,
  0, 231, :_reduce_296,
  0, 232, :_reduce_297,
  7, 194, :_reduce_298,
  0, 233, :_reduce_299,
  0, 234, :_reduce_300,
  7, 194, :_reduce_301,
  5, 194, :_reduce_302,
  4, 194, :_reduce_303,
  0, 235, :_reduce_304,
  0, 236, :_reduce_305,
  9, 194, :_reduce_306,
  0, 237, :_reduce_307,
  6, 194, :_reduce_308,
  0, 238, :_reduce_309,
  7, 194, :_reduce_310,
  0, 239, :_reduce_311,
  5, 194, :_reduce_312,
  0, 240, :_reduce_313,
  6, 194, :_reduce_314,
  0, 241, :_reduce_315,
  0, 242, :_reduce_316,
  9, 194, :_reduce_317,
  1, 194, :_reduce_318,
  1, 194, :_reduce_319,
  1, 194, :_reduce_320,
  1, 194, :_reduce_321,
  1, 156, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  2, 220, :_reduce_325,
  1, 222, :_reduce_none,
  1, 222, :_reduce_none,
  1, 221, :_reduce_none,
  5, 221, :_reduce_329,
  1, 143, :_reduce_none,
  2, 143, :_reduce_331,
  1, 224, :_reduce_none,
  1, 224, :_reduce_none,
  1, 243, :_reduce_none,
  3, 243, :_reduce_335,
  1, 246, :_reduce_336,
  3, 246, :_reduce_337,
  1, 245, :_reduce_none,
  4, 245, :_reduce_339,
  6, 245, :_reduce_340,
  3, 245, :_reduce_341,
  5, 245, :_reduce_342,
  2, 245, :_reduce_343,
  4, 245, :_reduce_344,
  1, 245, :_reduce_345,
  3, 245, :_reduce_346,
  6, 247, :_reduce_347,
  8, 247, :_reduce_348,
  4, 247, :_reduce_349,
  6, 247, :_reduce_350,
  4, 247, :_reduce_351,
  2, 247, :_reduce_none,
  6, 247, :_reduce_353,
  2, 247, :_reduce_354,
  4, 247, :_reduce_355,
  6, 247, :_reduce_356,
  2, 247, :_reduce_357,
  4, 247, :_reduce_358,
  2, 247, :_reduce_359,
  4, 247, :_reduce_360,
  1, 247, :_reduce_361,
  0, 174, :_reduce_362,
  1, 174, :_reduce_363,
  3, 253, :_reduce_364,
  1, 253, :_reduce_365,
  4, 253, :_reduce_366,
  0, 254, :_reduce_367,
  2, 254, :_reduce_368,
  1, 255, :_reduce_369,
  3, 255, :_reduce_370,
  1, 256, :_reduce_371,
  1, 256, :_reduce_none,
  0, 260, :_reduce_373,
  3, 219, :_reduce_374,
  4, 258, :_reduce_375,
  2, 258, :_reduce_376,
  3, 259, :_reduce_377,
  3, 259, :_reduce_378,
  0, 263, :_reduce_379,
  5, 262, :_reduce_380,
  2, 170, :_reduce_381,
  4, 170, :_reduce_382,
  4, 170, :_reduce_383,
  2, 218, :_reduce_384,
  4, 218, :_reduce_385,
  4, 218, :_reduce_386,
  3, 218, :_reduce_387,
  3, 218, :_reduce_388,
  3, 218, :_reduce_389,
  2, 218, :_reduce_390,
  1, 218, :_reduce_391,
  4, 218, :_reduce_392,
  0, 265, :_reduce_393,
  5, 217, :_reduce_394,
  0, 266, :_reduce_395,
  5, 217, :_reduce_396,
  5, 223, :_reduce_397,
  1, 267, :_reduce_398,
  1, 267, :_reduce_none,
  6, 142, :_reduce_400,
  0, 142, :_reduce_401,
  1, 268, :_reduce_402,
  1, 268, :_reduce_none,
  1, 268, :_reduce_none,
  2, 269, :_reduce_405,
  1, 269, :_reduce_none,
  2, 144, :_reduce_407,
  1, 144, :_reduce_none,
  1, 209, :_reduce_none,
  1, 209, :_reduce_none,
  1, 209, :_reduce_none,
  1, 210, :_reduce_412,
  1, 271, :_reduce_413,
  2, 271, :_reduce_414,
  3, 272, :_reduce_415,
  1, 272, :_reduce_416,
  1, 272, :_reduce_417,
  3, 211, :_reduce_418,
  4, 212, :_reduce_419,
  3, 213, :_reduce_420,
  0, 276, :_reduce_421,
  3, 276, :_reduce_422,
  1, 277, :_reduce_423,
  2, 277, :_reduce_424,
  3, 214, :_reduce_425,
  0, 279, :_reduce_426,
  3, 279, :_reduce_427,
  0, 273, :_reduce_428,
  2, 273, :_reduce_429,
  0, 274, :_reduce_430,
  2, 274, :_reduce_431,
  0, 275, :_reduce_432,
  2, 275, :_reduce_433,
  1, 278, :_reduce_434,
  2, 278, :_reduce_435,
  0, 281, :_reduce_436,
  4, 278, :_reduce_437,
  1, 280, :_reduce_438,
  1, 280, :_reduce_439,
  1, 280, :_reduce_440,
  1, 280, :_reduce_none,
  1, 191, :_reduce_442,
  3, 192, :_reduce_443,
  1, 270, :_reduce_444,
  1, 270, :_reduce_445,
  2, 270, :_reduce_446,
  2, 270, :_reduce_447,
  1, 184, :_reduce_448,
  1, 184, :_reduce_449,
  1, 184, :_reduce_450,
  1, 184, :_reduce_451,
  1, 184, :_reduce_452,
  1, 184, :_reduce_453,
  1, 184, :_reduce_454,
  1, 184, :_reduce_455,
  1, 184, :_reduce_456,
  1, 184, :_reduce_457,
  1, 184, :_reduce_458,
  1, 184, :_reduce_459,
  1, 215, :_reduce_460,
  1, 155, :_reduce_461,
  1, 160, :_reduce_462,
  1, 160, :_reduce_463,
  1, 225, :_reduce_464,
  3, 225, :_reduce_465,
  2, 225, :_reduce_466,
  3, 227, :_reduce_467,
  2, 227, :_reduce_468,
  6, 261, :_reduce_469,
  8, 261, :_reduce_470,
  4, 261, :_reduce_471,
  6, 261, :_reduce_472,
  4, 261, :_reduce_473,
  6, 261, :_reduce_474,
  2, 261, :_reduce_475,
  4, 261, :_reduce_476,
  6, 261, :_reduce_477,
  2, 261, :_reduce_478,
  4, 261, :_reduce_479,
  2, 261, :_reduce_480,
  4, 261, :_reduce_481,
  1, 261, :_reduce_482,
  0, 261, :_reduce_483,
  1, 257, :_reduce_484,
  1, 257, :_reduce_485,
  1, 257, :_reduce_486,
  1, 257, :_reduce_487,
  1, 244, :_reduce_none,
  1, 244, :_reduce_489,
  3, 244, :_reduce_490,
  2, 244, :_reduce_491,
  1, 283, :_reduce_none,
  3, 283, :_reduce_493,
  1, 248, :_reduce_494,
  3, 248, :_reduce_495,
  3, 284, :_reduce_496,
  3, 285, :_reduce_497,
  1, 249, :_reduce_498,
  3, 249, :_reduce_499,
  1, 282, :_reduce_500,
  3, 282, :_reduce_501,
  1, 286, :_reduce_none,
  1, 286, :_reduce_none,
  2, 250, :_reduce_504,
  1, 250, :_reduce_505,
  1, 287, :_reduce_none,
  1, 287, :_reduce_none,
  2, 252, :_reduce_508,
  2, 251, :_reduce_509,
  0, 251, :_reduce_510,
  1, 228, :_reduce_none,
  3, 228, :_reduce_512,
  0, 216, :_reduce_513,
  2, 216, :_reduce_none,
  1, 199, :_reduce_515,
  3, 199, :_reduce_516,
  3, 288, :_reduce_517,
  2, 288, :_reduce_518,
  1, 176, :_reduce_none,
  1, 176, :_reduce_none,
  1, 176, :_reduce_none,
  1, 171, :_reduce_none,
  1, 171, :_reduce_none,
  1, 171, :_reduce_none,
  1, 171, :_reduce_none,
  1, 264, :_reduce_none,
  1, 264, :_reduce_none,
  1, 264, :_reduce_none,
  1, 229, :_reduce_none,
  1, 229, :_reduce_none,
  1, 159, :_reduce_531,
  1, 159, :_reduce_532,
  0, 146, :_reduce_none,
  1, 146, :_reduce_none,
  0, 165, :_reduce_none,
  1, 165, :_reduce_none,
  2, 179, :_reduce_537,
  2, 158, :_reduce_538,
  0, 198, :_reduce_none,
  1, 198, :_reduce_none,
  1, 198, :_reduce_none,
  1, 226, :_reduce_542,
  1, 226, :_reduce_none,
  1, 148, :_reduce_none,
  2, 148, :_reduce_none,
  0, 196, :_reduce_546 ]

racc_reduce_n = 547

racc_shift_n = 960

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,
  :tUMINUS_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,
  :tPLUS => 104,
  :tMINUS => 105,
  :tLT => 106,
  :tGT => 107,
  :tPIPE => 108,
  :tBANG => 109,
  :tCARET => 110,
  :tLCURLY => 111,
  :tRCURLY => 112,
  :tBACK_REF2 => 113,
  :tSYMBEG => 114,
  :tSTRING_BEG => 115,
  :tXSTRING_BEG => 116,
  :tREGEXP_BEG => 117,
  :tREGEXP_OPT => 118,
  :tWORDS_BEG => 119,
  :tQWORDS_BEG => 120,
  :tSTRING_DBEG => 121,
  :tSTRING_DVAR => 122,
  :tSTRING_END => 123,
  :tSTRING => 124,
  :tSYMBOL => 125,
  :tNL => 126,
  :tEH => 127,
  :tCOLON => 128,
  :tCOMMA => 129,
  :tSPACE => 130,
  :tSEMI => 131,
  :tLAMBDA => 132,
  :tLAMBEG => 133,
  :tCHARACTER => 134,
  :tANDDOT => 135,
  :tEQL => 136,
  :tLOWEST => 137 }

racc_nt_base = 138

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",
  "tUMINUS_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",
  "tPLUS",
  "tMINUS",
  "tLT",
  "tGT",
  "tPIPE",
  "tBANG",
  "tCARET",
  "tLCURLY",
  "tRCURLY",
  "tBACK_REF2",
  "tSYMBEG",
  "tSTRING_BEG",
  "tXSTRING_BEG",
  "tREGEXP_BEG",
  "tREGEXP_OPT",
  "tWORDS_BEG",
  "tQWORDS_BEG",
  "tSTRING_DBEG",
  "tSTRING_DVAR",
  "tSTRING_END",
  "tSTRING",
  "tSYMBOL",
  "tNL",
  "tEH",
  "tCOLON",
  "tCOMMA",
  "tSPACE",
  "tSEMI",
  "tLAMBDA",
  "tLAMBEG",
  "tCHARACTER",
  "tANDDOT",
  "tEQL",
  "tLOWEST",
  "$start",
  "program",
  "compstmt",
  "bodystmt",
  "opt_rescue",
  "opt_else",
  "opt_ensure",
  "stmts",
  "opt_terms",
  "stmt",
  "terms",
  "fitem",
  "undef_list",
  "expr_value",
  "lhs",
  "command_call",
  "mlhs",
  "var_lhs",
  "primary_value",
  "opt_call_args",
  "rbracket",
  "call_op",
  "backref",
  "mrhs",
  "arg_value",
  "expr",
  "@1",
  "opt_nl",
  "arg",
  "command",
  "block_command",
  "call_args",
  "block_call",
  "operation2",
  "command_args",
  "cmd_brace_block",
  "opt_block_param",
  "@2",
  "operation",
  "mlhs_basic",
  "mlhs_inner",
  "rparen",
  "mlhs_head",
  "mlhs_item",
  "mlhs_node",
  "mlhs_post",
  "variable",
  "cname",
  "cpath",
  "fname",
  "op",
  "reswords",
  "fsym",
  "symbol",
  "dsym",
  "@3",
  "primary",
  "aref_args",
  "none",
  "args",
  "trailer",
  "assocs",
  "paren_args",
  "opt_paren_args",
  "opt_block_arg",
  "block_arg",
  "call_args2",
  "open_args",
  "@4",
  "@5",
  "@6",
  "literal",
  "strings",
  "xstring",
  "regexp",
  "words",
  "qwords",
  "var_ref",
  "assoc_list",
  "brace_block",
  "method_call",
  "lambda",
  "then",
  "if_tail",
  "do",
  "case_body",
  "for_var",
  "superclass",
  "term",
  "f_arglist",
  "singleton",
  "dot_or_colon",
  "@7",
  "@8",
  "@9",
  "@10",
  "@11",
  "@12",
  "@13",
  "@14",
  "@15",
  "@16",
  "@17",
  "@18",
  "@19",
  "f_marg",
  "f_norm_arg",
  "f_margs",
  "f_marg_list",
  "block_param",
  "f_arg",
  "f_block_optarg",
  "f_rest_arg",
  "opt_f_block_arg",
  "f_block_arg",
  "block_param_def",
  "opt_bv_decl",
  "bv_decls",
  "bvar",
  "f_bad_arg",
  "f_larglist",
  "lambda_body",
  "@20",
  "f_args",
  "do_block",
  "@21",
  "operation3",
  "@22",
  "@23",
  "cases",
  "exc_list",
  "exc_var",
  "numeric",
  "string",
  "string1",
  "string_contents",
  "xstring_contents",
  "regexp_contents",
  "word_list",
  "word",
  "string_content",
  "qword_list",
  "string_dvar",
  "@24",
  "f_optarg",
  "f_arg_item",
  "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)
                      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_3(val, _values, result)
                      result = @builder.compstmt(val[0])
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

def _reduce_18(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_19(val, _values, result)
                      if in_def?
                        diagnostic :error, :begin_in_method, nil, val[0]
                      end

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

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

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

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

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

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

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

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

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

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

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.multi_assign(val[0], val[1],
                                  @builder.array(nil, val[2], nil))
                    
    result
end

# reduce 32 omitted

# reduce 33 omitted

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

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

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

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

# reduce 38 omitted

# reduce 39 omitted

# reduce 40 omitted

# reduce 41 omitted

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

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

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

# reduce 45 omitted

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

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

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

def _reduce_49(val, _values, result)
                      result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                    
    result
end

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

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

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

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

def _reduce_53(val, _values, result)
                      method_call = @builder.call_method(val[0], val[1], val[2],
                                        *val[3])

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

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

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

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

def _reduce_56(val, _values, result)
                      result = @builder.keyword_cmd(:super, val[0],
                                  *val[1])
                    
    result
end

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

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

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

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

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

# reduce 62 omitted

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

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

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

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

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

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

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

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

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

# reduce 72 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 95 omitted

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

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

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

# reduce 99 omitted

# reduce 100 omitted

# reduce 101 omitted

# reduce 102 omitted

# reduce 103 omitted

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

# reduce 105 omitted

# reduce 106 omitted

# reduce 107 omitted

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

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

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

# reduce 111 omitted

# reduce 112 omitted

# reduce 113 omitted

# reduce 114 omitted

# reduce 115 omitted

# reduce 116 omitted

# reduce 117 omitted

# reduce 118 omitted

# reduce 119 omitted

# reduce 120 omitted

# reduce 121 omitted

# reduce 122 omitted

# reduce 123 omitted

# 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

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

def _reduce_182(val, _values, result)
                      rescue_body = @builder.rescue_body(val[3],
                                        nil, nil, nil,
                                        nil, val[4])

                      rescue_ = @builder.begin_body(val[2], [ rescue_body ])

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

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

def _reduce_184(val, _values, result)
                      rescue_body = @builder.rescue_body(val[3],
                                        nil, nil, nil,
                                        nil, val[4])

                      rescue_ = @builder.begin_body(val[2], [ rescue_body ])

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

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

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

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

def _reduce_189(val, _values, result)
                      diagnostic :error, :dynamic_const, nil, val[2], [ val[3] ]
                    
    result
end

def _reduce_190(val, _values, result)
                      diagnostic :error, :dynamic_const, nil, val[1], [ val[2] ]
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

def _reduce_215(val, _values, result)
                      result = @builder.match_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.not_op(val[0], nil, val[1], nil)
                    
    result
end

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

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

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

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

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

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

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

# reduce 225 omitted

# reduce 226 omitted

# reduce 227 omitted

# reduce 228 omitted

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

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

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

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

# reduce 233 omitted

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

# reduce 235 omitted

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

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

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

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

def _reduce_240(val, _values, result)
                      val[2][-1] = @builder.objc_varargs(val[2][-1], val[4])
                      assocs = @builder.associate(nil, val[2], nil)
                      result = val[0] << assocs
                      result.concat(val[5])
                    
    result
end

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

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

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

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

def _reduce_245(val, _values, result)
                      result =  [ val[0],
                                  @builder.associate(nil, val[2], nil),
                                  *val[3] ]
                    
    result
end

def _reduce_246(val, _values, result)
                      result =  [ val[0],
                                  *val[2].
                                    push(@builder.associate(nil, val[4], nil)).
                                    concat(val[5]) ]
                    
    result
end

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

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

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

                      result = val[1]
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 266 omitted

# reduce 267 omitted

# reduce 268 omitted

# reduce 269 omitted

# reduce 270 omitted

# reduce 271 omitted

# reduce 272 omitted

# reduce 273 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

def _reduce_290(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 291 omitted

def _reduce_292(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_293(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_294(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_295(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_296(val, _values, result)
                      @lexer.cond.push(true)
                    
    result
end

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

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

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

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

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

def _reduce_302(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_303(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_304(val, _values, result)
                      @lexer.cond.push(true)
                    
    result
end

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

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

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

def _reduce_308(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_309(val, _values, result)
                      result = @def_level
                      @def_level = 0

                      @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
end

def _reduce_310(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_311(val, _values, result)
                      @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
end

def _reduce_312(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_313(val, _values, result)
                      @def_level += 1
                      @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
end

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

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

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

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

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

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

# reduce 322 omitted

# reduce 323 omitted

# reduce 324 omitted

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

# reduce 326 omitted

# reduce 327 omitted

# reduce 328 omitted

def _reduce_329(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 330 omitted

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

# reduce 332 omitted

# reduce 333 omitted

# reduce 334 omitted

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

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

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

# reduce 338 omitted

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

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

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

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

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

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

def _reduce_345(val, _values, result)
                      result = [ @builder.objc_restarg(val[0]) ]
                    
    result
end

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

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

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

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

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

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

# reduce 352 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 372 omitted

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

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

                      @static_env.unextend
                    
    result
end

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

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

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

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

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

def _reduce_380(val, _values, result)
                      result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                    
    result
end

def _reduce_381(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_382(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_383(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_384(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_385(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_386(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_387(val, _values, result)
                      result = @builder.call_method(val[0], val[1], val[2])
                    
    result
end

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

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

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

def _reduce_394(val, _values, result)
                      result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                    
    result
end

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

def _reduce_396(val, _values, result)
                      result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                    
    result
end

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

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

# reduce 399 omitted

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

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

# reduce 403 omitted

# reduce 404 omitted

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

# reduce 406 omitted

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

# reduce 408 omitted

# reduce 409 omitted

# reduce 410 omitted

# reduce 411 omitted

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

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

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

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

def _reduce_416(val, _values, result)
                      result = @builder.string(val[0])
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 441 omitted

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

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

def _reduce_444(val, _values, result)
                      result = @builder.integer(val[0])
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

def _reduce_466(val, _values, result)
                      yyerrok
                      result = nil
                    
    result
end

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

                      @lexer.state = :expr_value
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 488 omitted

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

                      result = @builder.arg(val[0])
                    
    result
end

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

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

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

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

# reduce 492 omitted

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

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

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

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

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

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

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

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

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

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

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

# reduce 502 omitted

# reduce 503 omitted

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

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

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

# reduce 506 omitted

# reduce 507 omitted

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

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

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

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

# reduce 511 omitted

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

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

# reduce 514 omitted

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

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

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

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

# reduce 519 omitted

# reduce 520 omitted

# reduce 521 omitted

# reduce 522 omitted

# reduce 523 omitted

# reduce 524 omitted

# reduce 525 omitted

# reduce 526 omitted

# reduce 527 omitted

# reduce 528 omitted

# reduce 529 omitted

# reduce 530 omitted

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

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

# reduce 533 omitted

# reduce 534 omitted

# reduce 535 omitted

# reduce 536 omitted

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

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

# reduce 539 omitted

# reduce 540 omitted

# reduce 541 omitted

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

# reduce 543 omitted

# reduce 544 omitted

# reduce 545 omitted

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

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

  end   # class RubyMotion
  end   # module Parse