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

require 'racc/parser.rb'


require 'parser'

module Parser
  class 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 = [
'-452,507,272,-463,201,507,-93,-452,-452,-452,-463,200,-452,-452,-452',
'711,-452,549,450,207,198,208,-73,201,-452,507,-452,-452,-452,-59,265',
'497,528,276,499,825,-452,-452,659,-452,-452,-452,-452,-452,-93,507,662',
'-88,756,-87,-90,507,477,-89,102,-91,208,204,205,101,729,-463,202,792',
'794,-90,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452',
'-452,-452,548,202,-452,-452,-452,-88,-452,-452,271,-90,-452,-87,-92',
'-452,-452,-91,-452,757,-452,796,-452,659,-452,-452,-452,-452,-452,-452',
'-452,-530,-452,-85,-452,-87,-92,102,-530,-530,-530,102,101,-465,-530',
'-530,101,-530,-452,-452,-452,-452,-526,-452,-527,-452,-530,-452,-452',
'527,102,102,824,659,-86,101,101,-530,-530,208,-530,-530,-530,-530,-530',
'-86,-79,-82,799,102,-93,102,-527,-88,101,-93,101,102,-88,-89,775,-91',
'101,-86,-89,800,-91,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530',
'-530,-530,-530,-530,272,-80,-530,-530,-530,519,566,721,-84,520,-530',
'-83,102,-530,-90,-89,-87,101,-530,-90,-530,-87,-530,-530,-530,-530,-530',
'-530,-530,-279,-530,-530,-530,204,205,415,-279,-279,-279,-92,484,562',
'-279,-279,-92,-279,-530,-530,538,-81,513,-530,102,204,205,-530,-89,101',
'-78,204,205,272,-530,807,267,-279,-279,756,-279,-279,-279,-279,-279',
'73,-80,623,102,513,-86,227,-526,101,74,-86,-82,-93,271,-81,710,102,-92',
'-90,75,470,101,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279',
'-279,-279,-279,540,539,-279,-279,-279,-530,569,806,-452,691,-279,-81',
'-530,-279,102,-452,267,-526,-279,101,-279,-530,-279,-279,-279,-279,-279',
'-279,-279,-88,-279,-80,-279,538,208,581,102,208,271,-530,208,101,227',
'-526,-81,-279,-279,-279,561,-83,814,-279,-279,-279,-279,-279,-91,-279',
'-279,-279,102,-279,815,-530,616,101,-452,-80,-455,580,-80,-279,-279',
'-279,224,-455,581,-80,226,225,-81,-279,-279,-81,-279,-279,-279,-279',
'-279,469,-81,-80,-82,-79,540,539,545,208,-88,764,581,639,638,637,643',
'640,538,770,623,-58,580,-279,-279,-279,-279,-279,-279,-279,-279,-279',
'-279,-279,-279,-279,-279,457,-455,-279,-279,-279,497,569,-279,499,580',
'-279,450,497,-279,-279,496,-279,484,-279,721,-279,538,-279,-279,-279',
'-279,-279,-279,-279,227,-279,581,-279,-82,-79,764,538,639,638,637,643',
'640,540,539,541,538,-279,-279,-279,-279,-530,-279,840,-279,-462,-279',
'-91,-530,-530,-530,-84,-462,-530,-530,-530,580,-530,-92,227,-82,-79',
'497,-82,-79,499,-530,-530,-530,-530,-82,-79,201,540,539,543,655,-530',
'-530,534,-530,-530,-530,-530,-530,227,203,371,540,539,536,224,373,372',
'835,226,225,540,539,550,204,205,448,-462,928,479,480,-530,-530,-530',
'-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,298,299,-530',
'-530,-530,208,712,-530,-85,202,-530,770,623,-530,-530,-93,-530,699,-530',
'838,-530,446,-530,-530,-530,-530,-530,-530,-530,756,-530,-530,-530,722',
'208,639,638,637,643,640,104,105,106,107,108,-280,-530,-530,-530,-530',
'-455,-530,-280,-530,-465,-530,-89,-455,-455,-455,-79,-280,-455,-455',
'-455,842,-455,-87,207,804,645,639,638,637,-455,640,-455,-455,-455,649',
'648,652,651,204,205,844,-455,-455,417,-455,-455,-455,-455,-455,685,686',
'416,-78,687,96,97,-459,227,-280,-86,-458,414,-457,-459,204,205,208,-458',
'721,-457,850,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455',
'-455,-455,-455,374,852,-455,-455,-455,208,-455,-455,855,-262,-455,930',
'-460,-455,-455,887,-455,623,-455,-460,-455,862,-455,-455,-455,-455,-455',
'-455,-455,-459,-455,863,-455,-458,867,-457,201,-461,-323,868,870,448',
'362,912,-461,-323,-455,-455,-455,-455,-274,-455,524,-455,-323,-455,-455',
'-274,-274,-274,876,208,-274,-274,-274,804,-274,639,638,637,-460,640',
'201,880,227,883,-274,-274,-274,875,104,105,106,107,108,885,-274,-274',
'873,-274,-274,-274,-274,-274,202,-461,-323,887,887,764,208,639,638,637',
'643,640,224,-73,892,208,226,225,222,223,895,896,-274,-274,-274,-274',
'-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,202,901,-274,-274',
'-274,903,760,-274,906,908,-274,887,887,-274,-274,891,-274,913,-274,297',
'-274,492,-274,-274,-274,-274,-274,-274,-274,296,-274,246,-274,616,490',
'930,201,197,-464,196,208,605,195,412,448,-464,-274,-274,-274,-274,-232',
'-274,413,-274,-464,-274,208,-232,-232,-232,194,193,-232,-232,-232,764',
'-232,639,638,637,643,640,201,227,942,-232,-232,-232,943,476,945,887',
'887,-524,887,949,-232,-232,474,-232,-232,-232,-232,-232,202,930,-464',
'104,105,106,107,108,645,952,953,224,955,887,887,226,225,222,223,652',
'651,887,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232',
'-232,-232,202,-527,-232,-232,-232,-455,208,-232,457,267,-232,700,-455',
'-232,-232,-523,-232,-524,-232,457,-232,-455,-232,-232,-232,-232,-232',
'-232,-232,-260,-232,-232,-232,693,-273,208,553,714,690,-524,726,-273',
'450,518,517,-395,-232,-232,448,-232,-273,-232,-395,-395,-395,-232,208',
'-395,-395,-395,364,-395,513,-455,616,208,267,-452,450,554,-395,-395',
'-395,-280,-452,267,616,-526,227,-523,-280,-395,-395,-452,-395,-395,-395',
'-395,-395,-280,227,501,-273,740,500,-259,744,557,721,750,752,-523,755',
'764,-259,639,638,637,643,640,758,-395,-395,-395,-395,-395,-395,-395',
'-395,-395,-395,-395,-395,-395,-395,-452,208,-395,-395,-395,-279,-280',
'-395,766,267,-395,767,-279,-395,-395,760,-395,-527,-395,623,-395,-279',
'-395,-395,-395,-395,-395,-395,-395,774,-395,-395,-395,764,201,639,638',
'637,643,640,208,488,493,492,227,-286,-395,-395,208,-395,413,-395,-286',
'-286,-286,-395,208,-286,-286,-286,486,-286,783,-279,485,267,571,-279',
'481,98,760,-286,-286,201,-279,-261,267,930,887,-527,516,-286,-286,-279',
'-286,-286,-286,-286,-286,514,,,202,,,,764,,639,638,637,643,640,764,',
'639,638,637,643,640,,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286',
'-286,-286,-286,-286,-279,,-286,-286,-286,201,202,-286,760,276,-286,',
'522,-286,-286,760,-286,763,-286,,-286,524,-286,-286,-286,-286,-286,-286',
'-286,,-286,642,-286,639,638,637,643,640,764,,639,638,637,643,640,-532',
'-286,-286,,-286,,-286,-532,-532,-532,-286,,-532,-532,-532,,-532,,202',
',,,,645,,-532,-532,-532,-532,,760,,649,648,652,651,-532,-532,,-532,-532',
'-532,-532,-532,,,,,,764,,639,638,637,643,640,,,,,,,,,,,-532,-532,-532',
'-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,,,-532,-532,-532',
',760,-532,,,-532,,,-532,-532,763,-532,,-532,,-532,,-532,-532,-532,-532',
'-532,-532,-532,,-532,-532,-532,642,,639,638,637,643,640,,,,,,,-532,-532',
'-532,-532,-232,-532,,-532,,-532,,-232,-232,-232,,,-232,-232,-232,,-232',
',,642,645,639,638,637,643,640,-232,,,649,648,652,651,,,,-232,-232,,-232',
'-232,-232,-232,-232,227,,,,764,,639,638,637,643,640,,645,680,,,241,242',
',,,649,648,652,651,,,,,,,,224,-232,,-531,226,225,222,223,-232,645,-531',
'-531,-531,267,-232,-531,-531,-531,,-531,652,651,,,,,,,-531,-531,-531',
'-531,,,,,-232,,,-531,-531,,-531,-531,-531,-531,-531,,,,-232,,,,,-232',
',,764,-232,639,638,637,643,640,,,,,-531,-531,-531,-531,-531,-531,-531',
'-531,-531,-531,-531,-531,-531,-531,,,-531,-531,-531,,,-531,,,-531,,760',
'-531,-531,,-531,,-531,,-531,,-531,-531,-531,-531,-531,-531,-531,,-531',
'-531,-531,722,,639,638,637,643,640,,,,,,,-531,-531,-531,-531,-232,-531',
',-531,,-531,,-232,-232,-232,,,-232,-232,-232,,-232,,,,645,,,,,,-232',
',,649,648,652,651,,,,-232,-232,,-232,-232,-232,-232,-232,,,,,,390,394',
',,391,,,,,,,,145,146,,142,124,125,126,133,130,132,,,127,128,,,-232,147',
'148,134,135,,,-232,,,267,,267,-232,,,,,139,138,,123,144,141,140,136',
'137,131,129,121,143,122,,,149,-232,,,,,,,,5,63,64,65,7,51,-232,,,57',
'58,-232,,,61,-232,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,,,,',
',,,764,,639,638,637,643,640,,,,,,36,,,30,,,52,53,,,54,,32,,,,40,764',
',639,638,637,643,640,18,645,,,,81,73,76,77,,78,79,652,651,,74,80,5,63',
'64,65,7,51,56,,75,57,58,,,645,61,,59,60,62,23,24,66,67,,652,651,,,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,,,,,,,,764,,639,638,637,643,640,,,,,,36,,,30,,,52',
'53,,,54,,32,,,,40,764,,639,638,637,643,640,18,645,,,,81,73,76,77,,78',
'79,652,651,,74,80,5,63,64,65,7,51,56,,75,57,58,,,645,61,,59,60,62,23',
'24,66,67,,652,651,,,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,,,,,,,,764,,639,638,637,643',
'640,,,,,,36,,,30,,,52,53,,,54,,32,,,,40,764,,639,638,637,643,640,18',
'645,,,,81,73,76,77,,78,79,652,651,,74,80,5,63,64,65,7,51,56,,75,57,58',
',,645,61,,59,60,62,23,24,66,67,,652,651,,,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',
',,,,,,764,,639,638,637,643,640,,,241,242,,36,,,30,,,52,53,,,54,,32,224',
',230,40,226,225,222,223,,,,18,645,,,,81,73,76,77,,78,79,652,651,,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,-551,-551,-551,-551,233,235,,,-551,-551,,,,,',
'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,,,278,,,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,-551,-551',
'-551,-551,233,235,,,-551,-551,,,,,,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,-551,-551,-551,-551,233,235,,,-551,-551',
',,,,,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,-551',
'-551,-551,-551,233,235,,,-551,-551,,,,,,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,,,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,-551,-551,-551,-551,233,235,,,-551,-551',
',,,,,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,,,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,-551,-551,-551,-551,233,235,,,-551,-551,,,,,,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,,-551,-551,,,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,,-551,-551',
',,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,,,,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,,,278,,',
'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,,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,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,,697,,,,40,,,,,,,,217,,,,,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,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,,586,,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,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,,722,293,639,638,637,643,640,,,,,,,,,,,,,',
',286,,,283,,,52,53,,,54,,282,,,,645,,,,,,,,,649,648,652,651,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,,,,,,555,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,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,261,88,96,97,,82,83,38,39',
'37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,586,,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,,586,,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,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,,,,,555',
',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,,642,293,639,638,637,643,640,',
',,,,,,,,,,,,,327,,,30,,,52,53,,,54,,32,,,,645,631,,,,,,,,649,648,652',
'651,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,332,50,86,85,333,,88,96,97,,82,83,,642,293,639,638,637,643,640',
',,,,,,,,,,,339,,,334,,,218,,,52,53,,,54,,,,,,645,,,,,,,,,649,648,652',
'651,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,332,50,86,85,333,,88,96,97,,82,83,,642,293,639,638,637,643,640',
',,,,,,,,,,,,,,334,,,218,,,52,53,,,54,,,,,,645,,,,,,,,,649,648,652,651',
'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,,,,,558,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,,,,364,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,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,,642,293',
'639,638,637,643,640,,,,,,,,,,,,,,,865,,,218,,,52,53,,,54,,,,,,645,,',
',,,,,,649,648,652,651,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,,381,,,,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,,381,,,,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',
',586,,,,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,,642,293',
'639,638,637,643,640,,,,,,,,,,,,,,,820,,,218,,,52,53,,,54,,,,,,645,680',
',,,,,,,649,648,652,651,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,,,462,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,,,,,,,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,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,,472,,,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,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,,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,,,,,,,289,,,94,93,95',
'84,50,86,85,87,,88,96,97,,82,83,,722,293,639,638,637,643,640,,,,,,,',
',,,,,,,286,,,283,,,52,53,,,54,,,,,,645,,,,,,,,,649,648,652,651,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,490,,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,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,,,,,,,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,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,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,,,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,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,,,,,,,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,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,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,261,88,96,97,,82,83,38,39',
'37,,,,,,,,,,,,,,,,,,,,212,,,218,,,52,53,,,54,,586,,,,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,,381,,,,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',
',,,,,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,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,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,227,231,236,237,238,233,235,243,244,239,240,,220,221,,,241',
'242,,212,,-226,218,,,52,53,,,54,,,224,254,230,40,226,225,222,223,234',
'232,228,18,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,,,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,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,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,349,348,350,347,156,175,174,,,,,,155,162,153',
'154,344,345,346,342,114,86,85,343,,88,,,,,,145,146,,142,124,125,126',
'133,130,132,,,127,128,,,,147,148,134,135,,,,,,354,,,,,,,,139,138,,123',
'144,141,140,136,137,131,129,121,143,122,572,394,149,,573,,,,,,,,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,609,394',
'149,,610,,,,,,,,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,612,401,149,,613,,,,,,,,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,919,401,149,,920,,,,,,,,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,454,394,149,,455',
',,,,,,,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,454,394,149,,455,,,,,,,,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,454,394,149,,455,,,,,,,,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,667,401,149,,668,,,,,,,,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,670,401,149',
',671,,,,,,,,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,396,401,149,,398,,,,,,,,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,574,401,149,,575,,,,,,,,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,939,401,149,,938,,',
',,,,,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',
'917,394,149,,918,,,,,,,,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,574,401,149,,575,,,,,,,,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,572,394,149,,573,,,,,,,,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,665,394',
'149,,666,,,,,,,,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,,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,,,,,,,,,,,,,,,,,245' ]
        racc_action_table = arr = ::Array.new(23407, 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,743,55,346,13,319,328,84,84,84,346,13,84,84,84,573,84,360,596,17',
'13,289,604,25,84,318,84,84,84,604,25,310,338,288,310,747,84,84,510,84',
'84,84,84,84,821,843,512,917,642,777,666,663,286,919,322,920,17,408,408',
'322,596,346,13,713,715,573,84,84,84,84,84,84,84,84,84,84,84,84,84,84',
'360,25,84,84,84,665,84,84,55,918,84,941,517,84,84,668,84,642,84,716',
'84,509,84,84,84,84,84,84,84,396,84,328,84,713,876,743,396,396,396,319',
'743,211,396,396,319,396,84,84,84,84,919,84,920,84,396,84,84,338,510',
'318,747,778,325,510,318,396,396,408,396,396,396,396,396,818,777,666',
'717,338,821,843,668,917,338,821,843,663,917,919,663,920,663,211,919',
'719,920,396,396,396,396,396,396,396,396,396,396,396,396,396,396,26,665',
'396,396,396,334,396,720,517,334,396,668,509,396,918,667,941,509,396',
'918,396,941,396,396,396,396,396,396,396,398,396,396,396,529,529,213',
'398,398,398,876,414,391,398,398,876,398,396,396,546,396,511,396,778',
'535,535,396,396,778,325,620,620,290,670,724,26,398,398,722,398,398,398',
'398,398,71,609,848,675,848,818,422,667,675,71,818,391,213,26,612,572',
'681,414,391,71,281,681,398,398,398,398,398,398,398,398,398,398,398,398',
'398,398,546,546,398,398,398,670,398,722,342,546,398,667,670,398,529',
'342,290,670,398,529,398,670,398,398,398,398,398,398,398,572,398,609',
'398,359,535,463,3,732,290,670,620,3,421,612,612,575,398,398,390,398',
'733,398,575,575,575,398,398,575,575,575,528,575,734,670,735,528,342',
'609,343,463,609,575,575,575,421,343,444,609,421,421,612,575,575,612',
'575,575,575,575,575,280,612,390,610,736,359,359,359,279,390,763,593',
'763,763,763,763,763,357,931,931,277,444,575,575,575,575,575,575,575',
'575,575,575,575,575,575,575,266,343,575,575,575,629,575,575,629,593',
'575,255,309,575,575,309,575,297,575,748,575,358,575,575,575,575,575',
'575,575,423,575,464,575,610,736,891,356,891,891,891,891,891,357,357',
'357,361,575,575,575,575,574,575,763,575,344,575,575,574,574,574,297',
'344,574,574,574,464,574,297,420,610,736,313,610,736,313,574,574,574',
'574,610,736,352,358,358,358,506,574,574,352,574,574,574,574,574,424',
'14,111,356,356,356,420,111,111,756,420,420,361,361,361,307,307,252,344',
'891,293,293,574,574,574,574,574,574,574,574,574,574,574,574,574,574',
'37,37,574,574,574,467,574,574,14,352,574,654,654,574,574,14,574,559',
'574,762,574,251,574,574,574,574,574,574,574,764,574,574,574,580,765',
'580,580,580,580,580,109,109,109,109,109,477,574,574,574,574,87,574,477',
'574,35,574,574,87,87,87,559,477,87,87,87,768,87,559,219,863,580,863',
'863,863,87,863,87,87,87,580,580,580,580,15,15,771,87,87,215,87,87,87',
'87,87,539,539,214,35,539,539,539,350,425,477,35,349,212,348,350,317',
'317,494,349,580,348,780,87,87,87,87,87,87,87,87,87,87,87,87,87,87,191',
'784,87,87,87,785,87,87,788,789,87,960,347,87,87,961,87,491,87,347,87',
'801,87,87,87,87,87,87,87,350,87,802,87,349,808,348,864,345,42,809,810',
'812,98,864,345,42,87,87,87,87,50,87,864,87,42,87,87,50,50,50,820,826',
'50,50,50,721,50,721,721,721,347,721,819,827,439,828,50,50,50,819,363',
'363,363,363,363,831,50,50,819,50,50,50,50,50,864,345,42,832,834,838',
'837,838,838,838,838,838,439,468,839,41,439,439,439,439,845,846,50,50',
'50,50,50,50,50,50,50,50,50,50,50,50,819,851,50,50,50,856,838,50,857',
'858,50,859,861,50,50,838,50,865,50,36,50,872,50,50,50,50,50,50,50,34',
'50,20,50,482,478,893,210,12,284,11,473,471,10,210,914,284,50,50,50,50',
'392,50,210,50,284,50,916,392,392,392,9,8,392,392,392,883,392,883,883',
'883,883,883,285,440,921,392,392,392,922,285,923,924,925,333,926,927',
'392,392,285,392,392,392,392,392,210,929,284,4,4,4,4,4,883,932,933,440',
'934,935,936,440,440,440,440,883,883,937,392,392,392,392,392,392,392',
'392,392,392,392,392,392,392,285,938,392,392,392,333,459,392,567,392',
'392,560,333,392,392,332,392,333,392,563,392,333,392,392,392,392,392',
'392,392,556,392,392,392,549,287,576,375,578,543,333,583,287,585,329',
'327,27,392,392,597,392,287,392,27,27,27,392,599,27,27,27,324,27,323',
'333,606,608,611,332,314,376,27,27,27,520,332,614,615,939,618,332,520',
'27,27,332,27,27,27,27,27,520,619,312,287,621,311,624,625,382,632,633',
'634,332,635,949,384,949,949,949,949,949,643,27,27,27,27,27,27,27,27',
'27,27,27,27,27,27,332,465,27,27,27,671,520,27,650,27,27,653,671,27,27',
'949,27,671,27,656,27,671,27,27,27,27,27,27,27,661,27,27,27,928,300,928',
'928,928,928,928,664,300,306,305,302,28,27,27,388,27,300,27,28,28,28',
'27,673,28,28,28,299,28,678,671,298,397,410,613,294,1,928,28,28,326,613',
'696,292,950,959,613,326,28,28,613,28,28,28,28,28,326,,,300,,,,645,,645',
'645,645,645,645,930,,930,930,930,930,930,,28,28,28,28,28,28,28,28,28',
'28,28,28,28,28,613,,28,28,28,336,326,28,645,28,28,,336,28,28,930,28',
'645,28,,28,336,28,28,28,28,28,28,28,,28,880,28,880,880,880,880,880,892',
',892,892,892,892,892,402,28,28,,28,,28,402,402,402,28,,402,402,402,',
'402,,336,,,,,880,,402,402,402,402,,892,,880,880,880,880,402,402,,402',
'402,402,402,402,,,,,,760,,760,760,760,760,760,,,,,,,,,,,402,402,402',
'402,402,402,402,402,402,402,402,402,402,402,,,402,402,402,,760,402,',
',402,,,402,402,760,402,,402,,402,,402,402,402,402,402,402,402,,402,402',
'402,680,,680,680,680,680,680,,,,,,,402,402,402,402,453,402,,402,,402',
',453,453,453,,,453,453,453,,453,,,854,680,854,854,854,854,854,453,,',
'680,680,680,680,,,,453,453,,453,453,453,453,453,428,,,,799,,799,799',
'799,799,799,,854,854,,,428,428,,,,854,854,854,854,,,,,,,,428,453,,401',
'428,428,428,428,453,799,401,401,401,453,453,401,401,401,,401,799,799',
',,,,,,401,401,401,401,,,,,453,,,401,401,,401,401,401,401,401,,,,453',
',,,,453,,,840,453,840,840,840,840,840,,,,,401,401,401,401,401,401,401',
'401,401,401,401,401,401,401,,,401,401,401,,,401,,,401,,840,401,401,',
'401,,401,,401,,401,401,401,401,401,401,401,,401,401,401,796,,796,796',
'796,796,796,,,,,,,401,401,401,401,456,401,,401,,401,,456,456,456,,,456',
'456,456,,456,,,,796,,,,,,456,,,796,796,796,796,,,,456,456,,456,456,456',
'456,456,,,,,,199,199,,,199,,,,,,,,199,199,,199,199,199,199,199,199,199',
',,199,199,,,456,199,199,199,199,,,456,,,199,,456,456,,,,,199,199,,199',
'199,199,199,199,199,199,199,199,199,199,,,199,456,,,,,,,,51,51,51,51',
'51,51,456,,,51,51,456,,,51,456,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,51,51,,51',
'51,51,51,51,,,,,,,,755,,755,755,755,755,755,,,,,,51,,,51,,,51,51,,,51',
',51,,,,51,955,,955,955,955,955,955,51,755,,,,51,51,51,51,,51,51,755',
'755,,51,51,602,602,602,602,602,602,51,,51,602,602,,,955,602,,602,602',
'602,602,602,602,602,,955,955,,,602,602,602,602,602,602,602,,,602,,,',
',,602,602,602,602,602,602,602,602,602,602,602,602,,602,602,602,,602',
'602,602,602,602,,,,,,,,945,,945,945,945,945,945,,,,,,602,,,602,,,602',
'602,,,602,,602,,,,602,908,,908,908,908,908,908,602,945,,,,602,602,602',
'602,,602,602,945,945,,602,602,772,772,772,772,772,772,602,,602,772,772',
',,908,772,,772,772,772,772,772,772,772,,908,908,,,772,772,772,772,772',
'772,772,,,772,,,,,,772,772,772,772,772,772,772,772,772,772,772,772,',
'772,772,772,,772,772,772,772,772,,,,,,,,906,,906,906,906,906,906,,,',
',,772,,,772,,,772,772,,,772,,772,,,,772,887,,887,887,887,887,887,772',
'906,,,,772,772,772,772,,772,772,906,906,,772,772,773,773,773,773,773',
'773,772,,772,773,773,,,887,773,,773,773,773,773,773,773,773,,887,887',
',,773,773,773,773,773,773,773,,,773,,,,,,773,773,773,773,773,773,773',
'773,773,773,773,773,,773,773,773,,773,773,773,773,773,427,,,,,,,885',
',885,885,885,885,885,,,427,427,,773,,,773,,,773,773,,,773,,773,427,',
'427,773,427,427,427,427,,,,773,885,,,,773,773,773,773,,773,773,885,885',
',773,773,817,817,817,817,817,817,773,,773,817,817,,,,817,,817,817,817',
'817,817,817,817,,,,,,817,817,817,817,817,817,817,,,817,,,,,,817,817',
'817,817,817,817,817,817,817,817,817,817,,817,817,817,,817,817,817,817',
'817,438,438,438,438,438,438,438,,,438,438,,,,,,438,438,,817,,,817,,',
'817,817,,,817,,817,438,,438,817,438,438,438,438,438,438,438,817,438',
',,,817,817,817,817,,817,817,,,,817,817,30,30,30,30,30,30,817,,817,30',
'30,,,,30,,30,30,30,30,30,30,30,,,,,,30,30,30,30,30,30,30,,,30,,,,,,30',
'30,30,30,30,30,30,30,30,30,30,30,,30,30,30,,30,30,30,30,30,431,,,,,',
',,,,,,,,,,431,431,,30,,,30,,,30,30,,,30,,30,431,,431,30,431,431,431',
'431,,,431,30,431,,,,30,30,30,30,,30,30,,,,30,30,740,740,740,740,740',
'740,30,,30,740,740,,,,740,,740,740,740,740,740,740,740,,,,,,740,740',
'740,740,740,740,740,,,740,,,,,,740,740,740,740,740,740,740,740,740,740',
'740,740,,740,740,740,,740,740,740,740,740,435,435,435,435,435,435,435',
',,435,435,,,,,,435,435,,740,,,740,,,740,740,,,740,,740,435,,435,740',
'435,435,435,435,435,435,435,740,435,,,,740,740,740,740,,740,740,,,,740',
'740,902,902,902,902,902,902,740,,740,902,902,,,,902,,902,902,902,902',
'902,902,902,,,,,,902,902,902,902,902,902,902,,,902,,,,,,902,902,902',
'902,902,902,902,902,902,902,902,902,,902,902,902,,902,902,902,902,902',
'436,436,436,436,436,436,436,,,436,436,,,,,,436,436,,902,,,902,,,902',
'902,,,902,,902,436,,436,902,436,436,436,436,436,436,436,902,436,,,,902',
'902,902,902,,902,902,,,,902,902,689,689,689,689,689,689,902,,902,689',
'689,,,,689,,689,689,689,689,689,689,689,,,,,,689,689,689,689,689,689',
'689,,,689,,,,,,689,689,689,689,689,689,689,689,689,689,689,689,,689',
'689,689,,689,689,689,689,689,437,437,437,437,437,437,437,,,437,437,',
',,,,437,437,,689,,,689,,,689,689,,,689,,689,437,,437,689,437,437,437',
'437,437,437,437,689,437,,,,689,689,689,689,,689,689,,,,689,689,900,900',
'900,900,900,900,689,,689,900,900,,,,900,,900,900,900,900,900,900,900',
',,,,,900,900,900,900,900,900,900,,,900,,,,,,900,900,900,900,900,900',
'900,900,900,900,900,900,,900,900,900,,900,900,900,900,900,441,441,441',
'441,441,441,441,,,441,441,,,,,,441,441,,900,,,900,,,900,900,,,900,,900',
'441,,441,900,441,441,441,441,441,441,441,900,441,,,,900,900,900,900',
',900,900,,,,900,900,894,894,894,894,894,894,900,,900,894,894,,,,894',
',894,894,894,894,894,894,894,,,,,,894,894,894,894,894,894,894,,,894',
',,,,,894,894,894,894,894,894,894,894,894,894,894,894,,894,894,894,,894',
'894,894,894,894,442,442,442,442,442,442,442,442,,442,442,,,,,,442,442',
',894,,,894,,,894,894,,,894,,894,442,,442,894,442,442,442,442,442,442',
'442,894,442,,,,894,894,894,894,,894,894,,,,894,894,679,679,679,679,679',
'679,894,,894,679,679,,,,679,,679,679,679,679,679,679,679,,,,,,679,679',
'679,679,679,679,679,,,679,,,,,,679,679,679,679,679,679,679,679,679,679',
'679,679,,679,679,679,,679,679,679,679,679,430,,,,,,,,,,,,,,,,430,430',
',679,,,679,,,679,679,,,679,,679,430,,430,679,430,430,430,430,,,430,679',
'430,,,,679,679,679,679,,679,679,,,,679,679,878,878,878,878,878,878,679',
',679,878,878,,,,878,,878,878,878,878,878,878,878,,,,,,878,878,878,878',
'878,878,878,,,878,,,,,,878,878,878,878,878,878,878,878,878,878,878,878',
',878,878,878,,878,878,878,878,878,429,429,429,429,429,429,429,,,429',
'429,,,,,,429,429,,878,,,878,,,878,878,,,878,,878,429,,429,878,429,429',
'429,429,429,429,429,878,429,,,,878,878,878,878,,878,878,,,,878,878,782',
'782,782,782,782,782,878,,878,782,782,,,,782,,782,782,782,782,782,782',
'782,,,,,,782,782,782,782,782,782,782,,,782,,,,,,782,782,782,782,782',
'782,782,782,782,782,782,782,,782,782,782,,782,782,782,782,782,433,,',
',,,,,,,,,,,,,433,433,,782,,,782,,,782,782,,,782,,782,433,,433,782,433',
'433,433,433,,,433,782,433,,,,782,782,782,782,,782,782,,,,782,782,193',
'193,193,193,193,193,782,,782,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,193,193,,193,193,193,,193,193,193,193,193,432,,',
',,,,,,,,,,,,,432,432,,193,,,193,,,193,193,,,193,,193,432,,432,193,432',
'432,432,432,,,432,193,432,,,,193,193,193,193,,193,193,,,,193,193,194',
'194,194,194,194,194,193,,193,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,194,194,,194,194,194,,194,194,194,194,194,434,434',
'434,434,434,434,434,,,434,434,,,,,,434,434,,194,,,194,,,194,194,,,194',
',194,434,,434,194,434,434,434,434,434,434,434,194,434,,,,194,194,194',
'194,,194,194,,,,194,194,877,877,877,877,877,877,194,,194,877,877,,,',
'877,,877,877,877,877,877,877,877,,,,,,877,877,877,877,877,877,877,,',
'877,,,,,,877,877,877,877,877,877,877,877,877,877,877,877,,877,877,877',
',877,877,877,877,877,418,418,418,418,418,418,418,418,418,418,418,,418',
'418,,,418,418,,877,,,877,,,877,877,,,877,,877,418,,418,877,418,418,418',
'418,418,418,418,877,418,,,,877,877,877,877,,877,877,,,,877,877,278,278',
'278,278,278,278,877,,877,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,419,419,419',
'419,419,419,419,419,419,419,419,,419,419,,,419,419,,278,,,278,,,278',
'278,,,278,,278,419,,419,278,419,419,419,419,419,419,419,278,419,,,,278',
'278,278,278,,278,278,,,,278,278,582,582,582,582,582,582,278,,278,582',
'582,,,,582,,582,582,582,582,582,582,582,,,,,,582,582,582,582,582,582',
'582,,,582,,,,,,582,582,582,582,582,582,582,582,582,582,582,582,,582',
'582,582,,582,582,582,582,582,426,,,,,,,,,,,,,,,,426,426,,582,,,582,',
',582,582,,,582,,582,426,,426,582,426,426,426,426,,,,582,,,,,582,582',
'582,582,,582,582,,,,582,582,776,776,776,776,776,776,582,,582,776,776',
',,,776,,776,776,776,776,776,776,776,,,,,,776,776,776,776,776,776,776',
',,776,,,,,,776,776,776,776,776,776,776,776,776,776,776,776,,776,776',
'776,,776,776,776,776,776,,,,,,,,,,,,,,,,,,,,776,,,776,,,776,776,,,776',
',776,,,,776,,,,,,,,776,,,,,776,776,776,776,,776,776,,,,776,776,623,623',
'623,623,623,623,776,,776,623,623,,,,623,,623,623,623,623,623,623,623',
',,,,,623,623,623,623,623,623,623,,,623,,,,,,623,623,623,623,623,623',
'623,623,623,623,623,623,,623,623,623,,623,623,623,623,623,,,,,,,,,,',
',,,,,,,,,623,,,623,,,623,623,,,623,,623,,,,623,,,,,,,,623,,,,,623,623',
'623,623,,623,623,,,,623,623,674,674,674,674,674,674,623,,623,674,674',
',,,674,,674,674,674,674,674,674,674,,,,,,674,674,674,674,674,674,674',
',,674,,,,,,674,674,674,674,674,674,674,674,674,674,674,674,,674,674',
'674,,674,674,674,674,674,,,,,,,,,,,,,,,,,,,,674,,,674,,,674,674,,,674',
',674,,,,674,,,,,,,,674,,,,,674,674,674,674,,674,674,,,,674,674,728,728',
'728,728,728,728,674,,674,728,728,,,,728,,728,728,728,728,728,728,728',
',,,,,728,728,728,728,728,728,728,,,728,,,,,,728,728,728,728,728,728',
'728,728,728,728,728,728,,728,728,728,,728,728,728,728,728,,,,,,,,,,',
',,,,,,,,,728,,,728,,,728,728,,,728,,728,,,,728,,,,,,,,728,,,,,728,728',
'728,728,,728,728,,,,728,728,505,505,505,505,505,505,728,,728,505,505',
',,,505,,505,505,505,505,505,505,505,,,,,,505,505,505,505,505,505,505',
',,505,,,,,,505,505,505,505,505,505,505,505,505,505,505,505,,505,505',
'505,,505,505,505,505,505,,,,,,,,,,,,,,,,,,,,505,,,505,,,505,505,,,505',
',505,,,,505,,,,,,,,505,,,,,505,505,505,505,,505,505,,,,505,505,218,218',
'218,218,218,218,505,,505,218,218,,,,218,,218,218,218,218,218,218,218',
',,,,,218,218,218,218,218,218,218,,,218,,,,,,218,218,218,218,218,218',
'218,218,218,218,218,218,,218,218,218,,218,218,218,218,218,,,,,,,,,,',
',,,,,,,,,218,,,218,,,218,218,,,218,,218,,,,218,,,,,,,,218,,,,,218,218',
'218,218,,218,218,,,,218,218,508,508,508,508,508,508,218,,218,508,508',
',,,508,,508,508,508,508,508,508,508,,,,,,508,508,508,508,508,508,508',
',,508,,,,,,508,508,508,508,508,508,508,508,508,508,508,508,,508,508',
'508,,508,508,508,508,508,,,,,,,,,,,,,,,,,,,,508,,,508,,,508,508,,,508',
',508,,,,508,,,,,,,,508,,,,,508,508,508,508,,508,508,,,,508,508,283,283',
'283,283,283,283,508,,508,283,283,,,,283,,283,283,283,283,283,283,283',
',,,,,283,283,283,283,283,283,283,,,283,,,,,,283,283,283,283,283,283',
'283,283,283,283,283,283,,283,283,283,,283,283,283,283,283,,,,,,,,,,',
',,,,,,,,,283,,,283,,,283,283,,,283,,283,,,,283,,,,,,,,283,,,,,283,283',
'283,283,,283,283,,,,283,283,530,530,530,530,530,530,283,,283,530,530',
',,,530,,530,530,530,530,530,530,530,,,,,,530,530,530,530,530,530,530',
',,530,,,,,,530,530,530,530,530,530,530,530,530,530,530,530,,530,530',
'530,,530,530,530,530,530,,,,,,,,,,,,,,,,,,,,530,,,530,,,530,530,,,530',
',530,,,,530,,,,,,,,530,,,,,530,530,530,530,,530,530,,,,530,530,0,0,0',
'0,0,0,530,,530,0,0,,,,0,,0,0,0,0,0,0,0,,,,,,0,0,0,0,0,0,0,,,0,,,,,,0',
'0,0,0,0,0,0,0,0,0,0,0,,0,0,0,,0,0,0,0,0,,,,,,,,,,,,,,,,,,,,0,,,0,,,0',
'0,,,0,,0,,,,0,,,,,,,,0,,,,,0,0,0,0,,0,0,,,,0,0,601,601,601,601,601,601',
'0,,0,601,601,,,,601,,601,601,601,601,601,601,601,,,,,,601,601,601,601',
'601,601,601,,,601,,,,,,601,601,601,601,601,601,601,601,601,601,601,601',
',601,601,601,,601,601,601,601,601,,,,,,,,,,,,,,,,,,,,601,,,601,,,601',
'601,,,601,,601,,,,601,,,,,,,,601,,,,,601,601,601,601,,601,601,,,,601',
'601,,217,217,217,,217,601,,601,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,,770,770,770,,770,217,,217,770,770,,,,770,,770,770',
'770,770,770,770,770,,,,,,770,770,770,770,770,770,770,,,770,,,,,,,770',
',,770,770,770,770,770,770,770,770,,770,770,770,,770,770,770,770,770',
',,,,,,,,,,,,,,,,,,,770,,,770,,,770,770,,,770,,,,,,770,,,,,,,,770,,,',
',770,770,770,770,,770,770,,,,770,770,,220,220,220,,220,770,,770,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,,757,757,757',
',757,245,,245,757,757,,,,757,,757,757,757,757,757,757,757,,,,,,757,757',
'757,757,757,757,757,,,757,,,,,,,757,,,757,757,757,757,757,757,757,757',
',757,757,757,,757,757,757,757,757,,,,,,,,,,,,,,,,,,,,757,,,757,,,757',
'757,,,757,,,,,,757,,,,,,,,757,,,,,757,757,757,757,,757,757,,,,757,757',
',254,254,254,,254,757,,757,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,,557,557,557,,557,261,,261,557',
'557,,,,557,,557,557,557,557,557,557,557,,,,,,557,557,557,557,557,557',
'557,,,557,,,,,,,557,,,557,557,557,557,557,557,557,557,,557,557,557,',
'557,557,557,557,557,,,,,,,,,,,,,,,,,,,,557,,,557,,,557,557,,,557,,557',
',,,557,,,,,,,,557,,,,,557,557,557,557,,557,557,,,,557,557,,5,5,5,5,5',
'557,,557,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,,450,450,450,,450,5,,5,450',
'450,,,,450,,450,450,450,450,450,450,450,,,,,,450,450,450,450,450,450',
'450,,,450,,,,,,,450,,,450,450,450,450,450,450,450,450,,450,450,450,',
'450,450,450,450,450,,,,,,,,,,,,,,,,,,,,450,,,450,,,450,450,,,450,,,',
',,450,,,,,,,,450,,,,,450,450,450,450,,450,450,,,,450,450,,446,446,446',
',446,450,,450,446,446,,,,446,,446,446,446,446,446,446,446,,,,,,446,446',
'446,446,446,446,446,,,446,,,,,,,446,,,446,446,446,446,446,446,446,446',
'446,446,446,446,,446,446,446,446,446,,,,,,,,,,,,,,,,,,,,446,,,446,,',
'446,446,,,446,,446,,446,,446,,,,,,,,446,,,,,446,446,446,446,,446,446',
',,,446,446,,448,448,448,,448,446,,446,448,448,,,,448,,448,448,448,448',
'448,448,448,,,,,,448,448,448,448,448,448,448,,,448,,,,,,,448,,,448,448',
'448,448,448,448,448,448,448,448,448,448,,448,448,448,448,448,,,,,,,',
',,,,,,,,,,,,448,,,448,,,448,448,,,448,,,,448,,448,,,,,,,,448,,,,,448',
'448,448,448,,448,448,,,,448,448,,18,18,18,,18,448,,448,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,,794,31,794,794,794,794,794',
',,,,,,,,,,,,,,31,,,31,,,31,31,,,31,,31,,,,794,,,,,,,,,794,794,794,794',
'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,,,,,,379,32,,,32,32,32',
'32,32,32,32,32,,32,32,32,,32,32,,,32,,379,379,379,379,379,379,379,379',
'379,379,379,,379,379,,,379,379,32,,,32,,,32,32,,,32,,,,379,,379,,379',
'379,379,379,379,379,379,,379,,,32,32,32,32,,32,32,,,,32,32,,,379,32',
'379,,32,,32,873,873,873,,873,,,,873,873,,,,873,,873,873,873,873,873',
'873,873,,,,,,873,873,873,873,873,873,873,,,873,,,,,,,873,,,873,873,873',
'873,873,873,873,873,873,873,873,873,,873,873,873,873,873,,,,,,,,,,,',
',,,,,,,,873,,,873,,,873,873,,,873,,873,,873,,873,,,,,,,,873,,,,,873',
'873,873,873,,873,873,,,,873,873,,870,870,870,,870,873,,873,870,870,',
',,870,,870,870,870,870,870,870,870,,,,,,870,870,870,870,870,870,870',
',,870,,,,,,,870,,,870,870,870,870,870,870,870,870,870,870,870,870,,870',
'870,870,870,870,,,,,,,,,,,,,,,,,,,,870,,,870,,,870,870,,,870,,870,,870',
',870,,,,,,,,870,,,,,870,870,870,870,,870,870,,,,870,870,,867,867,867',
',867,870,,870,867,867,,,,867,,867,867,867,867,867,867,867,,,,,,867,867',
'867,867,867,867,867,,,867,,,,,,,867,,,867,867,867,867,867,867,867,867',
',867,867,867,,867,867,867,867,867,,,,,,,,,,,,,,,,,,,,867,,,867,,,867',
'867,,,867,,867,,867,,867,,,,,,,,867,,,,,867,867,867,867,,867,867,,,',
'867,867,,38,38,38,,38,867,,867,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,,,,,577,,61,,,61,61,61,61,61,61,61,61,,61,61,61,,61,61,61',
'61,61,577,577,577,577,577,577,577,577,577,577,577,,577,577,,,577,577',
',61,,,61,,,61,61,,,61,,,577,,577,61,577,577,577,577,577,577,577,61,577',
',,,61,61,61,61,,61,61,,,,61,61,61,577,,,,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,,504,62,504,504,504,504',
'504,,,,,,,,,,,,,,,62,,,62,,,62,62,,,62,,62,,,,504,504,,,,,,,,504,504',
'504,504,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,,750,63,750,750,750,750,750,,,,,',
',,,,,,63,,,63,,,63,,,63,63,,,63,,,,,,750,,,,,,,,,750,750,750,750,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,,752,64,752,752,752,752,752,,,,,,,,,,,,,,',
'64,,,64,,,64,64,,,64,,,,,,752,,,,,,,,,752,752,752,752,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,,,,,387,100,100',
'100,100,100,100,100,100,100,100,100,100,,100,100,100,,100,100,100,100',
'100,387,387,387,387,387,387,387,387,387,387,387,,387,387,,,387,387,',
'100,,,100,,,100,100,,,100,,100,387,,387,100,387,387,387,387,387,387',
'387,100,387,,,,100,100,100,100,,100,100,,,,100,100,,387,,,,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,,806,806,806,,806,108,,108,806,806,,,,806,,806,806,806',
'806,806,806,806,,,,,,806,806,806,806,806,806,806,,,806,,,,,,,806,,,806',
'806,806,806,806,806,806,806,,806,806,806,,806,806,,631,806,631,631,631',
'631,631,,,,,,,,,,,,,,,806,,,806,,,806,806,,,806,,,,,,631,,,,,,,,,631',
'631,631,631,806,806,806,806,,806,806,,,,806,806,,792,792,792,,792,806',
',806,792,792,,,,792,,792,792,792,792,792,792,792,,,,,,792,792,792,792',
'792,792,792,,,792,,,,,,,792,,,792,792,792,792,792,792,792,792,,792,792',
'792,,792,792,792,792,792,,,,,,,,,,,,,,,,,,,,792,,,792,,,792,792,,,792',
',,,,,792,,,,,,,,792,,,,,792,792,792,792,,792,792,,,,792,792,,195,195',
'195,,195,792,,792,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,775,775,775,,775,207,,207,775,775,,,,775,,775,775,775',
'775,775,775,775,,,,,,775,775,775,775,775,775,775,,,775,,,,,,,775,,,775',
'775,775,775,775,775,775,775,,775,775,775,,775,775,775,775,775,,,,,,',
',,,,,,,,,,,,,775,,,775,,,775,775,,,775,,775,,,,775,,,,,,,,775,,,,,775',
'775,775,775,,775,775,,,,775,775,,744,744,744,,744,775,,775,744,744,',
',,744,,744,744,744,744,744,744,744,,,,,,744,744,744,744,744,744,744',
',,744,,,,,,,744,,,744,744,744,744,744,744,744,744,,744,744,744,,744',
'744,,531,744,531,531,531,531,531,,,,,,,,,,,,,,,744,,,744,,,744,744,',
',744,,,,,,531,531,,,,,,,,531,531,531,531,744,744,744,744,,744,744,,',
',744,744,,267,267,267,,267,744,,744,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,729,729,729,,729,276,,276,729,729,,,,729,,729,729,729',
'729,729,729,729,,,,,,729,729,729,729,729,729,729,,,729,,,,,,,729,,,729',
'729,729,729,729,729,729,729,729,729,729,729,,729,729,729,729,729,,,',
',,,,,,,,,,,,,,,,729,,,729,,,729,729,,,729,,729,,729,,729,,,,,,,,729',
',,,,729,729,729,729,,729,729,,,,729,729,,282,282,282,,282,729,,729,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,489,489,489,489,489,489,489,489,489,489,489,,489,489,',
',489,489,,282,,,282,,,282,282,,,282,,,489,,489,,489,489,489,489,489',
'489,489,,489,,,,282,282,282,282,,282,282,,,,282,282,,489,,282,,,282',
',282,726,726,726,,726,,,,726,726,,,,726,,726,726,726,726,726,726,726',
',,,,,726,726,726,726,726,726,726,,,726,,,,,,,726,,,726,726,726,726,726',
'726,726,726,726,726,726,726,,726,726,726,726,726,,,,,,,,,,,,,,,,,,,',
'726,,,726,,,726,726,,,726,,726,,726,,726,,,,,,,,726,,,,,726,726,726',
'726,,726,726,,,,726,726,,714,714,714,,714,726,,726,714,714,,,,714,,714',
'714,714,714,714,714,714,,,,,,714,714,714,714,714,714,714,,,714,,,,,',
',714,,,714,714,714,714,714,714,714,714,,714,714,714,,714,714,714,714',
'714,,,,,,,,,,,,,,,,,,,,714,,,714,,,714,714,,,714,,,,,,714,,,,,,,,714',
',,,,714,714,714,714,,714,714,,,,714,714,,712,712,712,,712,714,,714,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,,711,711,711',
',711,712,,712,711,711,,,,711,,711,711,711,711,711,711,711,,,,,,711,711',
'711,711,711,711,711,,,711,,,,,,,711,,,711,711,711,711,711,711,711,711',
',711,711,711,,711,711,711,711,711,,,,,,,,,,,,,,,,,,,,711,,,711,,,711',
'711,,,711,,,,,,711,,,,,,,,711,,,,,711,711,711,711,,711,711,,,,711,711',
',710,710,710,,710,711,,711,710,710,,,,710,,710,710,710,710,710,710,710',
',,,,,710,710,710,710,710,710,710,,,710,,,,,,,710,,,710,710,710,710,710',
'710,710,710,,710,710,710,,710,710,710,710,710,,,,,,,,,,,,,,,,,,,,710',
',,710,,,710,710,,,710,,,,,,710,,,,,,,,710,,,,,710,710,710,710,,710,710',
',,,710,710,,699,699,699,,699,710,,710,699,699,,,,699,,699,699,699,699',
'699,699,699,,,,,,699,699,699,699,699,699,699,,,699,,,,,,,699,,,699,699',
'699,699,699,699,699,699,,699,699,699,,699,699,699,699,699,,,,,,,,,,',
',,,,,,,,,699,,,699,,,699,699,,,699,,,,,,699,,,,,,,,699,,,,,699,699,699',
'699,,699,699,,,,699,699,,697,697,697,,697,699,,699,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,697,,,697,,,,,,697,,,,,,,,697',
',,,,697,697,697,697,,697,697,,,,697,697,,295,295,295,,295,697,,697,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,,903,295,903,903,903,903,903,,,,,,,,,,,,,,,295,,,295,,,295,295',
',,295,,,,,,903,,,,,,,,,903,903,903,903,295,295,295,295,,295,295,,,,295',
'295,,669,669,669,,669,295,,295,669,669,,,,669,,669,669,669,669,669,669',
'669,,,,,,669,669,669,669,669,669,669,,,669,,,,,,,669,,,669,669,669,669',
'669,669,669,669,,669,669,669,,669,669,669,669,669,,,,,,,,,,,,,,,,,,',
',669,,,669,,,669,669,,,669,,,,,,669,,,,,,,,669,,,,,669,669,669,669,',
'669,669,,,,669,669,,304,304,304,,304,669,,669,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,,616,616,616,,616,304,,304,616',
'616,,,,616,,616,616,616,616,616,616,616,,,,,,616,616,616,616,616,616',
'616,,,616,,,,,,,616,,,616,616,616,616,616,616,616,616,,616,616,616,',
'616,616,,,616,,,,,,,,,,,,,,,,,,,,616,,,616,,,616,616,,,616,,,,,,,,,',
',,,,,,,,,616,616,616,616,,616,616,,,,616,616,,320,320,320,,320,616,',
'616,320,320,,,,320,,320,320,320,320,320,320,320,,,,,,320,320,320,320',
'320,320,320,,,320,,,,,,,320,,,320,320,320,320,320,320,320,320,,320,320',
'320,,320,320,320,320,320,,,,,,,,,,,,,,,,,,,,320,,,320,,,320,320,,,320',
',,,,,320,,,,,,,,320,,,,,320,320,320,320,,320,320,,,,320,320,,321,321',
'321,,321,320,,320,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,,605,605,605,,605,321,,321,605,605,,,,605,,605,605,605,605,605,605',
'605,,,,,,605,605,605,605,605,605,605,,,605,,,,,,,605,,,605,605,605,605',
'605,605,605,605,,605,605,605,,605,605,,,605,,,,,,,,,,,,,,,,,,,,605,',
',605,,,605,605,,,605,,,,,,,,,,,,,,,,,,,605,605,605,605,,605,605,,,,605',
'605,,586,586,586,,586,605,,605,586,586,,,,586,,586,586,586,586,586,586',
'586,,,,,,586,586,586,586,586,586,586,,,586,,,,,,,586,,,586,586,586,586',
'586,586,586,586,,586,586,586,,586,586,586,586,586,,,,,,,,,,,,,,,,,,',
',586,,,586,,,586,586,,,586,,,,,,586,,,,,,,,586,,,,,586,586,586,586,',
'586,586,,,,586,586,,339,339,339,,339,586,,586,339,339,,,,339,,339,339',
'339,339,339,339,339,,,,,,339,339,339,339,339,339,339,,,339,,,,,,,339',
',,339,339,339,339,339,339,339,339,,339,339,339,,339,339,339,339,339',
',,,,,,,,,,,,,,,,,,,339,,,339,,,339,339,,,339,,,,,,339,,,,,,,,339,,,',
',339,339,339,339,,339,339,,,,339,339,,569,569,569,,569,339,,339,569',
'569,,,,569,,569,569,569,569,569,569,569,,,,,,569,569,569,569,569,569',
'569,,,569,,,,,,,569,,,569,569,569,569,569,569,569,569,,569,569,569,',
'569,569,569,569,569,,,,,,,,,,,,,,,,,,,,569,,,569,,,569,569,,,569,,,',
',,569,,,,,,,,569,,,,,569,569,569,569,,569,569,,,,569,569,,566,566,566',
',566,569,,569,566,566,,,,566,,566,566,566,566,566,566,566,,,,,,566,566',
'566,566,566,566,566,,,566,,,,,,,566,,,566,566,566,566,566,566,566,566',
',566,566,566,,566,566,566,566,566,,,,,,,,,,,,,,,,,,,,566,,,566,,,566',
'566,,,566,,,,,,566,,,,,,,,566,,,,,566,566,566,566,,566,566,,,,566,566',
',562,562,562,,562,566,,566,562,562,,,,562,,562,562,562,562,562,562,562',
',,,,,562,562,562,562,562,562,562,,,562,,,,,,,562,,,562,562,562,562,562',
'562,562,562,,562,562,562,,562,562,562,562,562,,,,,,,,,,,,,,,,,,,,562',
',,562,,,562,562,,,562,,,,,,562,,,,,,,,562,,,,,562,562,562,562,,562,562',
',,,562,562,,561,561,561,,561,562,,562,561,561,,,,561,,561,561,561,561',
'561,561,561,,,,,,561,561,561,561,561,561,561,,,561,,,,,,,561,,,561,561',
'561,561,561,561,561,561,,561,561,561,,561,561,561,561,561,,,,,,,,,,',
',,,,,,,,,561,,,561,,,561,561,,,561,,,,,,561,,,,,,,,561,,,,,561,561,561',
'561,,561,561,,,,561,561,,558,558,558,,558,561,,561,558,558,,,,558,,558',
'558,558,558,558,558,558,,,,,,558,558,558,558,558,558,558,,,558,,,,,',
',558,,,558,558,558,558,558,558,558,558,,558,558,558,,558,558,558,558',
'558,,,,,,,,,,,,,,,,,,,,558,,,558,,,558,558,,,558,,,,,,558,,,,,,,,558',
',,,,558,558,558,558,,558,558,,,,558,558,,555,555,555,,555,558,,558,555',
'555,,,,555,,555,555,555,555,555,555,555,,,,,,555,555,555,555,555,555',
'555,,,555,,,,,,,555,,,555,555,555,555,555,555,555,555,,555,555,555,',
'555,555,555,555,555,,,,,,,,,,,,,,,,,,,,555,,,555,,,555,555,,,555,,,',
',,555,,,,,,,,555,,,,,555,555,555,555,,555,555,,,,555,555,,354,354,354',
',354,555,,555,354,354,,,,354,,354,354,354,354,354,354,354,,,,,,354,354',
'354,354,354,354,354,,,354,,,,,,,354,,,354,354,354,354,354,354,354,354',
',354,354,354,,354,354,354,354,354,,,,,,,,,,,,,,,,,,,,354,,,354,,,354',
'354,,,354,,,,,,354,,,,,,,,354,,,,,354,354,354,354,,354,354,,,,354,354',
',381,381,381,,381,354,,354,381,381,,,,381,,381,381,381,381,381,381,381',
',,,,,381,381,381,381,381,381,381,,,381,,,,,,,381,,,381,381,381,381,381',
'381,381,381,,381,381,381,,381,381,381,381,381,,,,,,,,,,,,,,,,,,,,381',
',,381,,,381,381,,,381,,,,,,381,,,,,,,,381,,,,,381,381,381,381,,381,381',
',,,381,381,,527,527,527,,527,381,,381,527,527,,,,527,,527,527,527,527',
'527,527,527,,,,,,527,527,527,527,527,527,527,,,527,,,,,,,527,,,527,527',
'527,527,527,527,527,527,,527,527,527,,527,527,527,527,527,,,,,,,,,,',
',,,,,,,,,527,,,527,,,527,527,,,527,,,,,,527,,,,,,,,527,,,,,527,527,527',
'527,,527,527,,,,527,527,,524,524,524,,524,527,,527,524,524,,,,524,,524',
'524,524,524,524,524,524,,,,,,524,524,524,524,524,524,524,,,524,,,,,',
',524,,,524,524,524,524,524,524,524,524,524,524,524,524,,524,524,524',
'524,524,,,,,,,,,,,,,,,,,,,,524,,,524,,,524,524,,,524,,524,,524,,524',
',,,,,,,524,,,,,524,524,524,524,,524,524,,,,524,524,,413,413,413,,413',
'524,,524,413,413,,,,413,,413,413,413,413,413,413,413,,,,,,413,413,413',
'413,413,413,413,,,413,,,,,,,413,,,413,413,413,413,413,413,413,413,413',
'413,413,413,,413,413,413,413,413,,,,,,,,,,,,,,,,,,,,413,,,413,,,413',
'413,,,413,,413,,413,,413,,,,,,,,413,,,,,413,413,413,413,,413,413,,,',
'413,413,,415,415,415,,415,413,,413,415,415,,,,415,,415,415,415,415,415',
'415,415,,,,,,415,415,415,415,415,415,415,,,415,,,,,,,415,,,415,415,415',
'415,415,415,415,415,,415,415,415,,415,415,415,415,415,,,,,,,,,,,,,,',
',,,,,415,,,415,,,415,415,,,415,,,,,,415,,,,,,,,415,,,,,415,415,415,415',
',415,415,,,,415,415,,416,416,416,,416,415,,415,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,,514,514,514',
',514,417,,417,514,514,,,,514,,514,514,514,514,514,514,514,,,,,,514,514',
'514,514,514,514,514,,,514,,,,,,,514,,,514,514,514,514,514,514,514,514',
'514,514,514,514,,514,514,514,514,514,,,,,,,,,,,,,,,,,,,,514,,,514,,',
'514,514,,,514,,514,,514,,514,,,,,,,,514,,,,,514,514,514,514,,514,514',
',,,514,514,,513,513,513,,513,514,,514,513,513,,,,513,,513,513,513,513',
'513,513,513,,,,,,513,513,513,513,513,513,513,,,513,,,,,,,513,,,513,513',
'513,513,513,513,513,513,,513,513,513,,513,513,513,513,513,,,,,,,,,,',
',,,,,,,,,513,,,513,,,513,513,,,513,,513,,,,513,,,,,,,,513,,,,,513,513',
'513,513,,513,513,,,,513,513,,499,499,499,,499,513,,513,499,499,,,,499',
',499,499,499,499,499,499,499,,,,,,499,499,499,499,499,499,499,,,499',
',,,,,,499,,,499,499,499,499,499,499,499,499,499,499,499,499,,499,499',
'499,499,499,,,,,,,,,,,,,,,,,,,,499,,,499,,,499,499,,,499,,,,,,499,,',
',,,,,499,,,,,499,499,499,499,,499,499,,,,499,499,,496,496,496,,496,499',
',499,496,496,,,,496,,496,496,496,496,496,496,496,,,,,,496,496,496,496',
'496,496,496,,,496,,,,,,,496,,,496,496,496,496,496,496,496,496,496,496',
'496,496,,496,496,496,496,496,,,,,,,,,,,,,,,,,,,,496,,,496,,,496,496',
',,496,,496,,,,496,,,,,,,,496,,,,,496,496,496,496,,496,496,,,,496,496',
',492,492,492,,492,496,,496,492,492,,,,492,,492,492,492,492,492,492,492',
',,,,,492,492,492,492,492,492,492,,,492,,,,,,,492,,,492,492,492,492,492',
'492,492,492,,492,492,492,,492,492,492,492,492,,,,,,,,,,,,,,,,,,,,492',
',,492,,,492,492,,,492,,492,,,,492,,,,,,,,492,,,,,492,492,492,492,,492',
'492,,,,492,492,,490,490,490,,490,492,,492,490,490,,,,490,,490,490,490',
'490,490,490,490,,,,,,490,490,490,490,490,490,490,,,490,,,,,,,490,,,490',
'490,490,490,490,490,490,490,,490,490,490,,490,490,490,490,490,,,,,,',
',,,,,,,,,,,,,490,,,490,,,490,490,,,490,,,,,,490,,,,,,,,490,,,,,490,490',
'490,490,,490,490,,,,490,490,,486,486,486,,486,490,,490,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,,485,485,485,,485,486,',
'486,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,,484,484',
'484,,484,485,,485,484,484,,,,484,,484,484,484,484,484,484,484,,,,,,484',
'484,484,484,484,484,484,,,484,,,,,,,484,,,484,484,484,484,484,484,484',
'484,,484,484,484,,484,484,484,484,484,,,,,,,,,,,,,,,,,,,,484,,,484,',
',484,484,,,484,,,,,,484,,,,,,,,484,,,,,484,484,484,484,,484,484,,,,484',
'484,,481,481,481,,481,484,,484,481,481,,,,481,,481,481,481,481,481,481',
'481,,,,,,481,481,481,481,481,481,481,,,481,,,,,,,481,,,481,481,481,481',
'481,481,481,481,,481,481,481,,481,481,,,481,,,,,,,,,,,,,,,,,,,,481,',
',481,,,481,481,,,481,,,,,,,,,,,,,,,,,,,481,481,481,481,,481,481,,,,481',
'481,,474,474,474,,474,481,,481,474,474,,,,474,,474,474,474,474,474,474',
'474,,,,,,474,474,474,474,474,474,474,,,474,,,,,,,474,,,474,474,474,474',
'474,474,474,474,474,474,474,474,,474,474,474,474,474,,,,,,,,,,,,,,,',
',,,,474,,,474,,,474,474,,,474,,474,,474,,474,,,,,,,,474,,,,,474,474',
'474,474,,474,474,,,,474,474,,472,472,472,,472,474,,474,472,472,,,,472',
',472,472,472,472,472,472,472,,,,,,472,472,472,472,472,472,472,,,472',
',,,,,,472,,,472,472,472,472,472,472,472,472,,472,472,472,,472,472,,',
'472,,,,,,,,,,,,,,,,,,,,472,,,472,,,472,472,,,472,,,,,,,,,,,,,,,,,,,472',
'472,472,472,,472,472,,,,472,472,,462,462,462,,462,472,,472,462,462,',
',,462,,462,462,462,462,462,462,462,,,,,,462,462,462,462,462,462,462',
',,462,,,,,,,462,,,462,462,462,462,462,462,462,462,462,462,462,462,,462',
'462,462,462,462,595,595,595,595,595,595,595,595,595,595,595,,595,595',
',,595,595,,462,,595,462,,,462,462,,,462,,,595,462,595,462,595,595,595',
'595,595,595,595,462,595,,,,462,462,462,462,,462,462,,,,462,462,,595',
',595,,,462,,462,552,552,552,552,552,552,552,552,552,552,552,552,552',
'552,552,552,552,552,552,552,552,552,552,552,,,,552,552,552,552,552,552',
'552,552,552,552,,,,,,552,552,552,552,552,552,552,552,552,,,552,,,,,',
',,552,552,,552,552,552,552,552,552,552,,,552,552,,,,552,552,552,552',
',,,,,,,,,,,,,552,552,,552,552,552,552,552,552,552,552,552,552,552,,',
'552,552,,,,,,,,,,,552,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,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,370,370,370,370,370,370,370,370,370,370,370,370,370,370',
'370,370,370,370,370,370,370,370,370,370,,,,370,370,370,370,370,370,370',
'370,370,370,,,,,,370,370,370,370,370,370,370,370,370,,,370,,,,,,,,370',
'370,,370,370,370,370,370,370,370,,,370,370,,,,370,370,370,370,,,,,,',
',,,,,,,370,370,,370,370,370,370,370,370,370,370,370,370,370,,,370,370',
',,,,,,,,,,370,682,682,682,682,682,682,682,682,682,682,682,682,682,682',
'682,682,682,682,682,682,682,682,682,682,,,,682,682,682,682,682,682,682',
'682,682,682,,,,,,682,682,682,682,682,682,682,682,682,,,682,,,,,,,,682',
'682,,682,682,682,682,682,682,682,,,682,682,,,,682,682,682,682,,,,,,',
',,,,,,,682,682,,682,682,682,682,682,682,682,682,682,682,682,,,682,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,411,411,65,,411',
',,,,,,,411,411,,411,411,411,411,411,411,411,,,411,411,,,,411,411,411',
'411,,,,,,411,,,,,,,,411,411,,411,411,411,411,411,411,411,411,411,411',
'411,475,475,411,,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,476,476,475,,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,875,875,476,,875,,,,,,',
',875,875,,875,875,875,875,875,875,875,,,875,875,,,,875,875,875,875,',
',,,,875,,,,,,,,875,875,,875,875,875,875,875,875,875,875,875,875,875',
'523,523,875,,523,,,,,,,,523,523,,523,523,523,523,523,523,523,,,523,523',
',,,523,523,523,523,,,,,,523,,,,,,,,523,523,,523,523,523,523,523,523',
'523,523,523,523,523,265,265,523,,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,264,264,265,,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,516,516,264',
',516,,,,,,,,516,516,,516,516,516,516,516,516,516,,,516,516,,,,516,516',
'516,516,,,,,,516,,,,,,,,516,516,,516,516,516,516,516,516,516,516,516',
'516,516,522,522,516,,522,,,,,,,,522,522,,522,522,522,522,522,522,522',
',,522,522,,,,522,522,522,522,,,,,,522,,,,,,,,522,522,,522,522,522,522',
'522,522,522,522,522,522,522,200,200,522,,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,488,488,200,,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',
'912,912,488,,912,,,,,,,,912,912,,912,912,912,912,912,912,912,,,912,912',
',,,912,912,912,912,,,,,,912,,,,,,,,912,912,,912,912,912,912,912,912',
'912,912,912,912,912,874,874,912,,874,,,,,,,,874,874,,874,874,874,874',
'874,874,874,,,874,874,,,,874,874,874,874,,,,,,874,,,,,,,,874,874,,874',
'874,874,874,874,874,874,874,874,874,874,412,412,874,,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,487,487',
'412,,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,515,515,487,,515,,,,,,,,515,515,,515,515,515,515,515,515',
'515,,,515,515,,,,515,515,515,515,,,,,,515,,,,,,,,515,515,,515,515,515',
'515,515,515,515,515,515,515,515,,,515,19,19,19,19,19,19,19,19,19,19',
'19,,19,19,,,19,19,,,,,,,,,,,,,,,19,,19,,19,19,19,19,19,19,19,,19,,249',
'249,249,249,249,249,249,249,249,249,249,,249,249,,19,249,249,,,,,,,',
',,,,,,,249,,249,,249,249,249,249,249,249,249,,249,,404,404,404,404,404',
'404,404,404,404,404,404,,404,404,,249,404,404,,,,,,,,,,,,,,,404,,404',
',404,404,404,404,404,404,404,,404,,443,443,443,443,443,443,443,443,443',
'443,443,,443,443,,404,443,443,,,,,,,,,,,,,,,443,,443,,443,443,443,443',
'443,443,443,,443,,617,617,617,617,617,617,617,617,617,617,617,,617,617',
'443,443,617,617,,,,,,,,,,,,,,,617,,617,,617,617,617,617,617,617,617',
',617,,695,695,695,695,695,695,695,695,695,695,695,,695,695,,617,695',
'695,,,,,,,,,,,,,,,695,,695,,695,695,695,695,695,695,695,,695,,698,698',
'698,698,698,698,698,698,698,698,698,,698,698,,695,698,698,,,,,,,,,,',
',,,,698,,698,,698,698,698,698,698,698,698,,698,,702,702,702,702,702',
'702,702,702,702,702,702,,702,702,,698,702,702,,,,,,,,,,,,,,,702,,702',
',702,702,702,702,702,702,702,,702,,704,704,704,704,704,704,704,704,704',
'704,704,,704,704,,702,704,704,,,,,,,,,,,,,,,704,,704,,704,704,704,704',
'704,704,704,,704,,707,707,707,707,707,707,707,707,707,707,707,,707,707',
',704,707,707,,,,,,,,,,,,,,,707,,707,,707,707,707,707,707,707,707,,707',
',709,709,709,709,709,709,709,709,709,709,709,,709,709,,707,709,709,',
',,,,,,,,,,,,,709,,709,,709,709,709,709,709,709,709,,709,,791,791,791',
'791,791,791,791,791,791,791,791,,791,791,,709,791,791,,,,,,,,,,,,,,',
'791,,791,,791,791,791,791,791,791,791,,791,,793,793,793,793,793,793',
'793,793,793,793,793,,793,793,,791,793,793,,,,,,,,,,,,,,,793,,793,,793',
'793,793,793,793,793,793,,793,,,,,,,,,,,,,,,,,793' ]
        racc_action_check = arr = ::Array.new(23407, 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 = [
  5196,  1137,   nil,   208,   871,  9571, 21359, 21235,   763,   762,
   719,   716,   764,   -73,   432,   600,   nil,   -70, 10071, 22727,
   817,   nil, 10196, 10321, 10446,   -54,   164,   988,  1113,   nil,
  2321, 10571, 10696,   nil,   713,   521,   777,   492, 11204, 11329,
 11454,   666,   644,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   733,  1696, 11579, 11704, 11829,   -23,   nil, 11954, 12079,   nil,
   nil, 12204, 12337, 12462, 12587, 21719,   nil,   nil,   nil,   nil,
   nil,   147,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,     0,   nil,   nil,   603,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   725,   nil,
 12712,   nil,   nil,   nil, 12845, 12970, 13095, 13220, 13345,   554,
   nil,   466,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   554,   nil,  3446,  3571, 13720, 13845, 13970, 14095,  1575,
 22319,   nil,   nil, 14220, 14345, 14470, 14595, 14720,   nil,   nil,
   772,    35,   604,   138,   513,   555,   nil,  5446,  4696,   532,
  5696,  5821,  5946,  6071,  6196,  6321,  6446,  6571,  6696,  6821,
  6946,  7071,  7196,  7321,  7446,  7571,  7696,  7821,  7946,  8071,
  8196,  8321,  8446,  8571,  8696,  8821,   nil,   nil,   nil, 22773,
   nil,   445,   405,   nil,  9071,   347,  9196,   nil,   nil,   nil,
   nil,  9321,   nil,   nil, 22139, 22079,   327, 15095, 15220,   nil,
   nil,   nil,   nil,   nil,   nil,   nil, 15345,   271,  3821,   269,
   297,   153, 15595,  4946,   774,   808,    -3,   900,   -56,  -105,
   225,   nil,  1055,   476,  1007, 16603,   nil,   354,  1066,  1062,
  1025,   nil,  1046,   nil, 16853,  1104,  1101,   496,   nil,   309,
   -95,   943,   922,   368,   924,   nil,   nil,   626,    13,    -7,
 17103, 17228,   -72,   989,   872,   118,  1064,   932,   -18,   962,
   nil,   nil,   933,   871,   143,   nil,  1121,   nil,    31, 17603,
   nil,   nil,   229,   289,   400,   643,   -74,   618,   583,   581,
   577,   nil,   427,   nil, 18478,   nil,   399,   344,   384,   271,
   -43,   408,   nil,   724,   nil,   nil,   nil,   nil,   nil,   nil,
 21483,   nil,   nil,   nil,   nil,   867,   900,   nil,   nil, 10697,
   nil, 18603,   911,   nil,   918,   nil,   nil, 12712,   990,   nil,
   260,   144,   863,   nil,   nil,   nil,   109,  1044,   218,   nil,
   nil,  1447,  1238,   nil, 22819,   nil,   nil,   nil,    21,   nil,
  1044, 21779, 22559, 18978,   143, 19103, 19228, 19353,  3696,  3821,
   425,   274,   202,   386,   451,   589,  3946,  2071,  1346,  3196,
  3071,  2321,  3446,  3321,  3571,  2446,  2571,  2696,  2196,   691,
   820,  2821,  2946, 22865,   300,   nil,  9821,   nil,  9946,   nil,
  9696,   nil,   nil,  1368,   nil,   nil,  1577,   nil,   nil,   823,
   nil,   nil, 20978,   259,   380,   943,   nil,   432,   661,   nil,
   nil,   725, 20853,   727, 20728, 21839, 21899,   521,   758,   nil,
   nil, 20603,   717,   nil, 20478, 20353, 20228, 22619, 22379, 15595,
 20103,   686, 19978,   nil,   538,   nil, 19853,   nil,   nil, 19728,
   nil,   nil,   nil,   nil, 12350,  4571,   496,   nil,  4821,    75,
    12,   223,    37, 19603, 19478, 22679, 22199,    68,   nil,   nil,
   939,   nil, 22259, 22019, 18853,   nil,   nil, 18728,   232,   186,
  5071, 14983,   nil,   nil,   nil,   206,   nil,   nil,   nil,   594,
   nil,   nil,   nil,   863,   nil,   nil,   177,   nil,   nil,   846,
   nil,   nil, 21111,   nil,   nil, 18353,   843,  9446, 18228,   484,
   860, 18103, 17978,   866,   nil,   nil, 17853,   855,   nil, 17728,
   nil,   nil,   191,   -71,   473,   343,   852, 12204,   852,   nil,
   535,   nil,  3946,   854,   nil,   898, 17478,   nil,   nil,   nil,
   nil,   nil,   nil,   324,   nil, 20978,   -69,   862,   nil,   873,
   nil,  5321,  1821,   nil,  -107, 17353,   878,   nil,   882,   239,
   366,   920,   252,  1058,   929,   890, 16978, 22911,   955,   967,
   212,  1028,   nil,  4196,   909,   952,   nil,   nil,   nil,   302,
   nil, 13483,   910,   913,   914,   916,   nil,   nil,   nil,   nil,
   nil,   nil,   -39,  1002,   nil,  1113,   nil,   nil,   nil,   nil,
  1025,   nil,   nil,  1028,   551,   nil,  1073,   nil,   nil,   nil,
   nil,  1088,   nil,    39,   982,    61,    26,   180,    71, 16728,
   226,   996,   nil,   998,  4321,   139,   nil,   nil,  1121,  3071,
  1300,   152, 21607,   nil,   nil,   nil,   nil,   nil,   nil,  2696,
   nil,   nil,   nil,   nil,   nil, 22957,  1014, 16478, 23003, 16353,
   nil,   nil, 23049,   nil, 23095,   nil,   nil, 23141,   nil, 23187,
 16228, 16103, 15978,   -23, 15853,   -65,   -30,    27,   nil,    65,
    65,   697,   169,   nil,   243,   nil, 15728,   nil,  4446, 15470,
   nil,   nil,   209,   236,   351,   233,   367,   nil,   nil,   nil,
  2446,   nil,   nil,   -11, 14970,   nil,   nil,     7,   311,   nil,
 12475,   nil, 12600,   nil,   nil,  1718,   475,  8946,   nil,   nil,
  1236,   nil,   443,   346,   495,   461,   nil,   nil,   609,   nil,
  5571,   629,  1946,  2071,   nil, 14845,  4071,    25,   115,   nil,
   659,   nil,  3321,   nil,   675,   562,   nil,   nil,   579,   563,
   nil, 23233, 13595, 23279, 10584,   nil,  1509,   nil,   nil,  1365,
   nil,   596,   585,   nil,   nil,   nil, 13470,   nil,   588,   610,
   594,   nil,   595,   nil,   nil,   nil,   nil,  2196,   141,   678,
   688,    32,   nil,   nil,   nil,   nil,   618,   627,   629,   nil,
   nil,   639,   651,   nil,   652,   nil,   nil,   657,   731,   662,
  1451,   nil,   nil,    33,   nil,   788,   789,   nil,   250,   nil,
   nil,   805,   nil,   nil,  1336,   nil,   689,   692,   693,   695,
   nil,   696,   nil,   571,   642,   775,   nil, 11079,   nil,   nil,
 10954,   nil,   827, 10829, 22499, 21959,   102,  3696,  3196,   nil,
  1173,   nil,   nil,   827,   nil,  2093,   nil,  1997,   nil,   nil,
   nil,   407,  1180,   719,  2946,   nil,   nil,   nil,   nil,   nil,
  2821,   nil,  2571, 16616,   nil,   nil,  1968,   nil,  1872,   nil,
   nil,   nil, 22439,   nil,   728,   nil,   743,    35,    77,    41,
    43,   775,   882,   764,   765,   766,   768,   769,  1050,   779,
  1120,   392,   907,   908,   790,   791,   792,   799,   855,   931,
   nil,    79,   nil,   nil,   nil,  1843,   nil,   nil,   nil,   995,
  1016,   nil,   nil,   nil,   nil,  1747,   nil,   nil,   nil,  1017,
   565,   569,   nil,   nil ]

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

clist = [
'115,115,351,26,281,306,491,587,26,679,277,206,294,309,768,512,521,621',
'308,310,313,26,505,508,279,26,26,26,559,584,803,584,388,26,199,304,378',
'385,657,660,99,632,250,250,250,598,264,291,291,636,716,120,120,805,26',
'26,103,860,587,115,26,26,833,765,26,458,209,109,890,532,110,192,118',
'118,719,494,636,316,291,291,291,320,307,482,357,717,829,317,317,361',
'772,317,266,273,275,248,262,263,323,321,582,459,537,26,544,547,773,26',
'26,26,26,26,495,498,103,590,502,669,592,601,602,900,13,893,674,718,749',
'13,338,341,829,782,530,531,317,317,317,317,682,854,210,720,593,370,210',
'210,210,331,191,445,447,1,13,285,285,382,382,802,630,823,890,504,363',
'747,860,100,247,877,748,878,369,444,911,13,210,929,636,463,837,210,210',
'464,771,210,326,336,336,897,625,743,833,355,356,358,402,805,26,26,26',
'26,26,26,359,661,672,546,26,26,26,26,26,950,360,684,801,689,713,785',
'250,827,732,26,13,829,739,636,210,210,210,210,13,411,960,353,405,406',
'407,408,312,315,503,599,826,377,383,386,460,576,736,728,600,403,329',
'525,311,828,552,831,277,352,606,,471,277,856,,,,483,615,26,26,467,,',
',,473,,26,,26,,478,,587,26,250,250,318,319,951,692,322,,,250,,291,857',
',858,,,777,,475,849,608,584,,291,811,779,,13,13,210,210,210,210,487',
',26,26,210,210,210,210,210,10,,902,626,,10,365,366,367,368,13,461,26',
',,,,515,664,465,317,317,,,,,35,26,673,511,10,35,705,,115,,708,776,,529',
',,,533,898,103,,,270,274,,10,560,2,535,923,35,284,284,210,210,526,330',
'735,,,,,210,636,13,,,,285,13,402,35,934,,,,583,280,,120,26,285,325,340',
'340,340,,,,,,,597,,10,,746,250,551,,118,578,10,,,,210,210,,483,,817',
',,584,,382,584,483,,35,627,563,,,210,629,567,35,26,392,397,,,402,,,663',
',14,210,26,,,14,725,402,,678,,,,291,,,,307,26,250,730,,291,,,,,,,,14',
'287,287,26,,402,26,,,,,402,26,,589,620,,591,10,10,,14,26,,,26,453,456',
'26,250,210,,328,337,337,899,,,,250,,115,894,10,35,35,393,509,510,,,941',
'317,,,,,658,658,26,26,,,,26,560,,,915,35,14,375,376,483,,,676,677,14',
'210,26,741,,,737,745,,,,285,,210,120,,,,280,560,285,26,26,,,10,701,703',
',210,10,706,,694,,118,787,,291,,,,,26,13,780,,13,,291,784,35,,210,759',
'284,35,12,,270,,274,12,210,,,210,,284,13,,,,,,560,,,280,,,,,280,560',
'14,14,12,,26,,,,115,26,392,397,,,26,210,210,,808,,210,810,,12,26,14',
',812,,,,317,,,26,,13,,866,916,869,,871,,,,,,,,,,,,,13,13,,,285,781,',
',26,,,786,,851,,285,,12,,611,26,564,13,,790,12,568,,,759,14,611,839',
',287,14,675,291,,,393,,,,,,,287,,,26,,26,26,,,26,409,,611,,,26,,,,,611',
'210,715,,,,13,,,,317,13,,,,564,,,564,,,13,940,,,,,,,,26,210,291,,,,',
'393,284,,759,658,759,12,12,10,914,284,10,393,874,,,,,,,,,466,13,,468',
',,,933,,12,,10,35,13,,35,,819,393,,402,,,,,,393,26,,,,26,26,,927,759',
',35,,654,,,656,210,250,13,13,,26,13,,,778,,26,13,26,402,,,,560,,10,',
',,,,12,,759,,759,12,,,,,864,,,10,10,,,,,,35,13,,759,,,,,,287,,,,,,10',
',,287,35,35,,,284,,564,832,724,568,834,,,,,284,,,,,,,35,14,570,,14,733',
'734,,,,,,,,,,210,,,,13,13,,843,,10,14,742,,859,10,,861,,,688,,13,,,10',
',,13,,13,,,,,,35,,594,,,35,,,603,,604,,,,,35,607,,,,,,,,,,,14,10,,,',
',,,,,628,,,10,,788,,822,,14,14,,,287,,,,35,,,,,,,287,924,,,925,35,926',
'14,,818,,10,10,,,10,,683,,,809,10,,,935,,,936,,937,,,816,,,,,35,35,',
',35,314,,,,,35,,,611,,,,12,,10,12,14,,,,,14,845,846,959,,848,,,340,',
'14,,,961,,,12,,731,35,,,,,,,,,,,,,,,,,,,,738,,,,,,,872,,,14,,,,10,10',
',,,,,,14,,,,821,,,12,,10,,393,,,,10,,10,35,35,,,,,,,12,12,,,,,14,14',
',35,14,,,,,35,14,35,,921,922,,12,216,,,,249,249,249,,,,380,384,,931',
',,,337,,932,301,302,303,,,,,,14,,,,,,,249,249,,,,,813,,,,,,,,,12,,,',
',12,,,,,,,,,,12,,,,449,,451,,,841,,452,,,,,,,,,,,,14,14,,,,,853,,,,',
',,,,,12,14,,,,,,14,,14,,,12,,,,,,,,,,,,,,,,,,,879,,,,,,,,,,,889,,12',
'12,,,12,,,,,,12,,,,,,,,,,,,,,,,,,,379,249,387,249,,,,,404,,,,,,,,12',
',,556,,,216,,,418,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,,,,,,,,,249,,249,,,',
',249,,,,,,249,249,,,12,12,,,,249,,,585,,314,,588,,,,,12,,,,,,12,596',
'12,,,,,,,,489,,,,,751,753,754,,,,,,,,,,,,,,624,,,,585,,,314,,,,,,,,',
',,,,,380,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,249,,,,,,,,,696,795,797,798',
',,,,,,,,,,,,,,,,,,,249,,404,577,387,,727,,,,,,,,,,,,,,,,,,,,,,,,,,,249',
',249,,249,,,,,,,,,,,,595,,,,,,,,,,,,249,,,,,,,,,,617,618,619,,,,,,249',
',,,249,,,249,,,,881,882,,,884,886,,888,,,249,249,,,,,,,,,,249,,,,,,789',
',904,905,907,909,,910,,,,,,,,,,,,,,,,,,695,,249,698,,,702,704,,,,707',
',,709,,,,,,,,,,,,,,,,,249,,,,836,,,,,,,,,944,946,947,948,,,,,,847,,954',
'956,957,958,,,,,,,,,,,,,,,,,,,,,,962,,963,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,249,,791,847,,,585,,,,,,,702,704,707',
',793,,,,,,,,,,,,249,,,249,,,,,,,,,,,,,,,,,,,,,,,,,,,,249,,,,,,,,,,,',
',,,,,,249,,,,,,,,,,,,,,,,,791,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,249,,,249,,,249' ]
        racc_goto_table = arr = ::Array.new(2120, 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,49,38,43,3,4,154,38,89,39,27,44,59,83,85,47,5,58,61,61,38,82,82',
'40,38,38,38,20,65,119,65,19,38,21,27,23,23,84,84,8,125,29,29,29,65,21',
'56,56,115,112,54,54,120,38,38,88,151,154,50,38,38,150,108,38,35,15,9',
'106,91,11,11,53,53,117,92,115,93,56,56,56,94,25,45,140,113,149,25,25',
'140,95,25,34,34,34,31,31,31,8,96,36,19,144,38,144,144,97,38,38,38,38',
'38,60,60,88,63,60,98,63,36,36,99,18,109,100,115,117,18,48,48,149,101',
'102,103,25,25,25,25,104,105,18,110,37,26,18,18,18,16,12,64,64,1,18,18',
'18,59,59,118,121,122,106,123,9,124,151,10,126,127,125,128,9,129,119',
'18,18,109,115,131,108,18,18,132,5,18,18,18,18,133,134,135,150,138,139',
'141,50,120,38,38,38,38,38,38,142,85,47,143,38,38,38,38,38,109,145,146',
'117,147,20,125,29,148,70,38,18,149,6,115,18,18,18,18,18,21,109,77,25',
'25,25,25,78,79,81,69,117,15,15,15,67,19,20,36,66,15,86,87,57,113,55',
'113,39,90,45,,44,39,112,,,,43,45,38,38,40,,,,,40,,38,,38,,27,,154,38',
'29,29,13,13,83,144,13,,,29,,56,113,,113,,,20,,21,84,19,65,,56,65,20',
',18,18,18,18,18,18,21,,38,38,18,18,18,18,18,14,,89,23,,14,13,13,13,13',
'18,31,38,,,,,21,19,31,25,25,,,,,46,38,19,8,14,46,35,,50,,35,82,,25,',
',,21,5,88,,,62,62,,14,27,2,25,113,46,46,46,18,18,88,14,45,,,,,18,115',
'18,,,,18,18,50,46,113,,,,61,2,,54,38,18,46,46,46,46,,,,,,,61,,14,,60',
'29,11,,53,27,14,,,,18,18,,43,,82,,,65,,59,65,43,,46,58,34,,,18,61,34',
'46,38,33,33,,,50,,,59,,22,18,38,,,22,64,50,,3,,,,56,,,,25,38,29,64,',
'56,,,,,,,,22,22,22,38,,50,38,,,,,50,38,,34,25,,34,14,14,,22,38,,,38',
'33,33,38,29,18,,22,22,22,85,,,,29,,50,82,14,46,46,62,13,13,,,20,25,',
',,,88,88,38,38,,,,38,27,,,4,46,22,2,2,43,,,88,88,22,18,38,58,,,43,58',
',,,18,,18,54,,,,2,27,18,38,38,,,14,15,15,,18,14,15,,11,,53,49,,56,,',
',,38,18,3,,18,,56,3,46,,18,107,46,46,17,,62,,62,17,18,,,18,,46,18,,',
',,,27,,,2,,,,,2,27,22,22,17,,38,,,,50,38,33,33,,,38,18,18,,59,,18,59',
',17,38,22,,61,,,,25,,,38,,18,,64,19,64,,64,,,,,,,,,,,,,18,18,,,18,88',
',,38,,,88,,3,,18,,17,,33,38,62,18,,15,17,62,,,107,22,33,107,,22,22,13',
'56,,,62,,,,,,,22,,,38,,38,38,,,38,41,,33,,,38,,,,,33,18,111,,,,18,,',
',25,18,,,,62,,,62,,,18,64,,,,,,,,38,18,56,,,,,62,46,,107,88,107,17,17',
'14,61,46,14,62,21,,,,,,,,,41,18,,41,,,,3,,17,,14,46,18,,46,,18,62,,50',
',,,,,62,38,,,,38,38,,107,107,,46,,2,,,2,18,29,18,18,,38,18,,,13,,38',
'18,38,50,,,,27,,14,,,,,,17,,107,,107,17,,,,,18,,,14,14,,,,,,46,18,,107',
',,,,,22,,,,,,14,,,22,46,46,,,46,,62,111,2,62,111,,,,,46,,,,,,,46,22',
'41,,22,2,2,,,,,,,,,,18,,,,18,18,,13,,14,22,2,,111,14,,111,,,22,,18,',
',14,,,18,,18,,,,,,46,,41,,,46,,,41,,41,,,,,46,41,,,,,,,,,,,22,14,,,',
',,,,,41,,,14,,2,,14,,22,22,,,22,,,,46,,,,,,,22,111,,,111,46,111,22,',
'46,,14,14,,,14,,41,,,2,14,,,111,,,111,,111,,,2,,,,,46,46,,,46,24,,,',
',46,,,33,,,,17,,14,17,22,,,,,22,2,2,111,,2,,,46,,22,,,111,,,17,,41,46',
',,,,,,,,,,,,,,,,,,,41,,,,,,,2,,,22,,,,14,14,,,,,,,22,,,,22,,,17,,14',
',62,,,,14,,14,46,46,,,,,,,17,17,,,,,22,22,,46,22,,,,,46,22,46,,2,2,',
'17,28,,,,28,28,28,,,,24,24,,2,,,,22,,2,28,28,28,,,,,,22,,,,,,,28,28',
',,,,41,,,,,,,,,17,,,,,17,,,,,,,,,,17,,,,24,,24,,,41,,24,,,,,,,,,,,,22',
'22,,,,,41,,,,,,,,,,17,22,,,,,,22,,22,,,17,,,,,,,,,,,,,,,,,,,41,,,,,',
',,,,,41,,17,17,,,17,,,,,,17,,,,,,,,,,,,,,,,,,,28,28,28,28,,,,,28,,,',
',,,,17,,,24,,,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,,,17,17',
',,,28,,,24,,24,,24,,,,,17,,,,,,17,24,17,,,,,,,,28,,,,,114,114,114,,',
',,,,,,,,,,,24,,,,24,,,24,,,,,,,,,,,,,,24,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,28,,,,,,,,,24,114,114,114,,,,,,,,,,,,,,,,,,,,28,,28,28,28,,24',
',,,,,,,,,,,,,,,,,,,,,,,,,,28,,28,,28,,,,,,,,,,,,28,,,,,,,,,,,,28,,,',
',,,,,,28,28,28,,,,,,28,,,,28,,,28,,,,114,114,,,114,114,,114,,,28,28',
',,,,,,,,,28,,,,,,24,,114,114,114,114,,114,,,,,,,,,,,,,,,,,,28,,28,28',
',,28,28,,,,28,,,28,,,,,,,,,,,,,,,,,28,,,,24,,,,,,,,,114,114,114,114',
',,,,,24,,114,114,114,114,,,,,,,,,,,,,,,,,,,,,,114,,114,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,28,,28,24,,,24,,,,,,,28',
'28,28,,28,,,,,,,,,,,,28,,,28,,,,,,,,,,,,,,,,,,,,,,,,,,,,28,,,,,,,,,',
',,,,,,,,28,,,,,,,,,,,,,,,,,28,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,28,,,28,,,28' ]
        racc_goto_check = arr = ::Array.new(2120, 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,   151,   383,   -46,  -299,  -474,  -397,   nil,    37,    62,
   162,    64,   141,   232,   330,    48,    85,   640,   122,  -166,
  -360,    21,   475,  -159,  1079,    30,    33,    -6,  1246,    20,
   nil,    73,   nil,   267,    66,  -201,  -344,  -315,     3,   -20,
    -6,   573,   nil,   -27,   -20,  -212,   356,  -318,    65,   -63,
    -6,   nil,   nil,    66,    45,  -118,    16,   201,   -35,   -40,
  -197,   -34,   352,  -338,  -102,  -417,  -212,   -22,   nil,  -221,
  -380,   nil,   nil,   nil,   nil,   nil,   nil,   168,   184,   184,
   nil,   -76,  -296,  -640,  -471,  -308,   190,   -85,    53,  -522,
   194,  -283,  -232,    21,    22,  -567,    39,  -554,  -401,  -728,
  -401,  -546,  -209,  -218,  -394,  -648,  -770,    -8,  -582,  -717,
  -439,   212,  -530,  -495,   922,  -455,   nil,  -506,  -564,  -691,
  -668,  -346,  -588,  -155,  -467,  -463,   146,  -657,  -656,   -75,
   nil,   -94,   -91,  -661,  -304,  -436,   nil,   nil,   120,   119,
     8,   116,   124,  -154,  -254,   133,  -326,  -325,  -531,  -664,
  -690,  -739,   nil,   nil,  -441 ]

racc_goto_default = [
   nil,   nil,   305,   nil,   nil,   769,   nil,     3,   nil,     4,
   324,   nil,   nil,   nil,   214,    16,    11,   215,   300,   nil,
   nil,   523,   213,   nil,   255,    15,   nil,   410,    19,    20,
    21,   389,    25,   614,   nil,   nil,   nil,   nil,   290,    29,
   nil,   nil,    31,    34,    33,   nil,   211,   335,   nil,   117,
   395,   116,   119,    69,    70,   nil,    42,   nil,   622,   251,
   nil,   252,   400,   565,   nil,   253,   nil,   nil,   268,   nil,
   nil,    43,    44,    45,    46,    47,    48,    49,   nil,   269,
    55,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   506,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   761,   644,   nil,   762,
   nil,   633,   nil,   635,   nil,   830,   579,   nil,   nil,   nil,
   641,   nil,   nil,   nil,   nil,   681,   nil,   nil,   nil,   nil,
   399,   nil,   nil,   nil,   nil,   nil,    68,    71,    72,   nil,
   nil,   nil,   nil,   nil,   542,   nil,   nil,   nil,   634,   646,
   647,   723,   650,   653,   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,
  0, 231, :_reduce_293,
  3, 194, :_reduce_294,
  6, 194, :_reduce_295,
  6, 194, :_reduce_296,
  0, 232, :_reduce_297,
  0, 233, :_reduce_298,
  7, 194, :_reduce_299,
  0, 234, :_reduce_300,
  0, 235, :_reduce_301,
  7, 194, :_reduce_302,
  5, 194, :_reduce_303,
  4, 194, :_reduce_304,
  0, 236, :_reduce_305,
  0, 237, :_reduce_306,
  9, 194, :_reduce_307,
  0, 238, :_reduce_308,
  6, 194, :_reduce_309,
  0, 239, :_reduce_310,
  7, 194, :_reduce_311,
  0, 240, :_reduce_312,
  5, 194, :_reduce_313,
  0, 241, :_reduce_314,
  6, 194, :_reduce_315,
  0, 242, :_reduce_316,
  0, 243, :_reduce_317,
  9, 194, :_reduce_318,
  1, 194, :_reduce_319,
  1, 194, :_reduce_320,
  1, 194, :_reduce_321,
  1, 194, :_reduce_322,
  1, 156, :_reduce_none,
  1, 220, :_reduce_none,
  1, 220, :_reduce_none,
  2, 220, :_reduce_326,
  1, 222, :_reduce_none,
  1, 222, :_reduce_none,
  1, 221, :_reduce_none,
  5, 221, :_reduce_330,
  1, 143, :_reduce_none,
  2, 143, :_reduce_332,
  1, 224, :_reduce_none,
  1, 224, :_reduce_none,
  1, 244, :_reduce_none,
  3, 244, :_reduce_336,
  1, 247, :_reduce_337,
  3, 247, :_reduce_338,
  1, 246, :_reduce_none,
  4, 246, :_reduce_340,
  6, 246, :_reduce_341,
  3, 246, :_reduce_342,
  5, 246, :_reduce_343,
  2, 246, :_reduce_344,
  4, 246, :_reduce_345,
  1, 246, :_reduce_346,
  3, 246, :_reduce_347,
  6, 248, :_reduce_348,
  8, 248, :_reduce_349,
  4, 248, :_reduce_350,
  6, 248, :_reduce_351,
  4, 248, :_reduce_352,
  2, 248, :_reduce_none,
  6, 248, :_reduce_354,
  2, 248, :_reduce_355,
  4, 248, :_reduce_356,
  6, 248, :_reduce_357,
  2, 248, :_reduce_358,
  4, 248, :_reduce_359,
  2, 248, :_reduce_360,
  4, 248, :_reduce_361,
  1, 248, :_reduce_362,
  0, 174, :_reduce_363,
  1, 174, :_reduce_364,
  3, 254, :_reduce_365,
  1, 254, :_reduce_366,
  4, 254, :_reduce_367,
  0, 255, :_reduce_368,
  2, 255, :_reduce_369,
  1, 256, :_reduce_370,
  3, 256, :_reduce_371,
  1, 257, :_reduce_372,
  1, 257, :_reduce_none,
  0, 261, :_reduce_374,
  0, 262, :_reduce_375,
  4, 219, :_reduce_376,
  4, 259, :_reduce_377,
  2, 259, :_reduce_378,
  0, 265, :_reduce_379,
  4, 260, :_reduce_380,
  0, 266, :_reduce_381,
  4, 260, :_reduce_382,
  0, 267, :_reduce_383,
  5, 264, :_reduce_384,
  2, 170, :_reduce_385,
  4, 170, :_reduce_386,
  4, 170, :_reduce_387,
  2, 218, :_reduce_388,
  4, 218, :_reduce_389,
  4, 218, :_reduce_390,
  3, 218, :_reduce_391,
  3, 218, :_reduce_392,
  3, 218, :_reduce_393,
  2, 218, :_reduce_394,
  1, 218, :_reduce_395,
  4, 218, :_reduce_396,
  0, 269, :_reduce_397,
  5, 217, :_reduce_398,
  0, 270, :_reduce_399,
  5, 217, :_reduce_400,
  5, 223, :_reduce_401,
  1, 271, :_reduce_402,
  1, 271, :_reduce_none,
  6, 142, :_reduce_404,
  0, 142, :_reduce_405,
  1, 272, :_reduce_406,
  1, 272, :_reduce_none,
  1, 272, :_reduce_none,
  2, 273, :_reduce_409,
  1, 273, :_reduce_none,
  2, 144, :_reduce_411,
  1, 144, :_reduce_none,
  1, 209, :_reduce_none,
  1, 209, :_reduce_none,
  1, 209, :_reduce_none,
  1, 210, :_reduce_416,
  1, 275, :_reduce_417,
  2, 275, :_reduce_418,
  3, 276, :_reduce_419,
  1, 276, :_reduce_420,
  1, 276, :_reduce_421,
  3, 211, :_reduce_422,
  4, 212, :_reduce_423,
  3, 213, :_reduce_424,
  0, 280, :_reduce_425,
  3, 280, :_reduce_426,
  1, 281, :_reduce_427,
  2, 281, :_reduce_428,
  3, 214, :_reduce_429,
  0, 283, :_reduce_430,
  3, 283, :_reduce_431,
  0, 277, :_reduce_432,
  2, 277, :_reduce_433,
  0, 278, :_reduce_434,
  2, 278, :_reduce_435,
  0, 279, :_reduce_436,
  2, 279, :_reduce_437,
  1, 282, :_reduce_438,
  2, 282, :_reduce_439,
  0, 285, :_reduce_440,
  4, 282, :_reduce_441,
  1, 284, :_reduce_442,
  1, 284, :_reduce_443,
  1, 284, :_reduce_444,
  1, 284, :_reduce_none,
  1, 191, :_reduce_446,
  3, 192, :_reduce_447,
  1, 274, :_reduce_448,
  1, 274, :_reduce_449,
  2, 274, :_reduce_450,
  2, 274, :_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, 184, :_reduce_460,
  1, 184, :_reduce_461,
  1, 184, :_reduce_462,
  1, 184, :_reduce_463,
  1, 215, :_reduce_464,
  1, 155, :_reduce_465,
  1, 160, :_reduce_466,
  1, 160, :_reduce_467,
  1, 225, :_reduce_468,
  3, 225, :_reduce_469,
  2, 225, :_reduce_470,
  3, 227, :_reduce_471,
  2, 227, :_reduce_472,
  6, 263, :_reduce_473,
  8, 263, :_reduce_474,
  4, 263, :_reduce_475,
  6, 263, :_reduce_476,
  4, 263, :_reduce_477,
  6, 263, :_reduce_478,
  2, 263, :_reduce_479,
  4, 263, :_reduce_480,
  6, 263, :_reduce_481,
  2, 263, :_reduce_482,
  4, 263, :_reduce_483,
  2, 263, :_reduce_484,
  4, 263, :_reduce_485,
  1, 263, :_reduce_486,
  0, 263, :_reduce_487,
  1, 258, :_reduce_488,
  1, 258, :_reduce_489,
  1, 258, :_reduce_490,
  1, 258, :_reduce_491,
  1, 245, :_reduce_none,
  1, 245, :_reduce_493,
  3, 245, :_reduce_494,
  2, 245, :_reduce_495,
  1, 287, :_reduce_none,
  3, 287, :_reduce_497,
  1, 249, :_reduce_498,
  3, 249, :_reduce_499,
  3, 288, :_reduce_500,
  3, 289, :_reduce_501,
  1, 250, :_reduce_502,
  3, 250, :_reduce_503,
  1, 286, :_reduce_504,
  3, 286, :_reduce_505,
  1, 290, :_reduce_none,
  1, 290, :_reduce_none,
  2, 251, :_reduce_508,
  1, 251, :_reduce_509,
  1, 291, :_reduce_none,
  1, 291, :_reduce_none,
  2, 253, :_reduce_512,
  2, 252, :_reduce_513,
  0, 252, :_reduce_514,
  1, 228, :_reduce_none,
  3, 228, :_reduce_516,
  0, 216, :_reduce_517,
  2, 216, :_reduce_none,
  1, 199, :_reduce_519,
  3, 199, :_reduce_520,
  3, 292, :_reduce_521,
  2, 292, :_reduce_522,
  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, 268, :_reduce_none,
  1, 268, :_reduce_none,
  1, 268, :_reduce_none,
  1, 229, :_reduce_none,
  1, 229, :_reduce_none,
  1, 159, :_reduce_535,
  1, 159, :_reduce_536,
  0, 146, :_reduce_none,
  1, 146, :_reduce_none,
  0, 165, :_reduce_none,
  1, 165, :_reduce_none,
  2, 179, :_reduce_541,
  2, 158, :_reduce_542,
  0, 198, :_reduce_none,
  1, 198, :_reduce_none,
  1, 198, :_reduce_none,
  1, 226, :_reduce_546,
  1, 226, :_reduce_none,
  1, 148, :_reduce_none,
  2, 148, :_reduce_none,
  0, 196, :_reduce_550 ]

racc_reduce_n = 551

racc_shift_n = 964

racc_token_table = {
  false => 0,
  :error => 1,
  :kCLASS => 2,
  :kMODULE => 3,
  :kDEF => 4,
  :kUNDEF => 5,
  :kBEGIN => 6,
  :kRESCUE => 7,
  :kENSURE => 8,
  :kEND => 9,
  :kIF => 10,
  :kUNLESS => 11,
  :kTHEN => 12,
  :kELSIF => 13,
  :kELSE => 14,
  :kCASE => 15,
  :kWHEN => 16,
  :kWHILE => 17,
  :kUNTIL => 18,
  :kFOR => 19,
  :kBREAK => 20,
  :kNEXT => 21,
  :kREDO => 22,
  :kRETRY => 23,
  :kIN => 24,
  :kDO => 25,
  :kDO_COND => 26,
  :kDO_BLOCK => 27,
  :kDO_LAMBDA => 28,
  :kRETURN => 29,
  :kYIELD => 30,
  :kSUPER => 31,
  :kSELF => 32,
  :kNIL => 33,
  :kTRUE => 34,
  :kFALSE => 35,
  :kAND => 36,
  :kOR => 37,
  :kNOT => 38,
  :kIF_MOD => 39,
  :kUNLESS_MOD => 40,
  :kWHILE_MOD => 41,
  :kUNTIL_MOD => 42,
  :kRESCUE_MOD => 43,
  :kALIAS => 44,
  :kDEFINED => 45,
  :klBEGIN => 46,
  :klEND => 47,
  :k__LINE__ => 48,
  :k__FILE__ => 49,
  :k__ENCODING__ => 50,
  :tIDENTIFIER => 51,
  :tFID => 52,
  :tGVAR => 53,
  :tIVAR => 54,
  :tCONSTANT => 55,
  :tLABEL => 56,
  :tCVAR => 57,
  :tNTH_REF => 58,
  :tBACK_REF => 59,
  :tSTRING_CONTENT => 60,
  :tINTEGER => 61,
  :tFLOAT => 62,
  :tUPLUS => 63,
  :tUMINUS => 64,
  :tUNARY_NUM => 65,
  :tPOW => 66,
  :tCMP => 67,
  :tEQ => 68,
  :tEQQ => 69,
  :tNEQ => 70,
  :tGEQ => 71,
  :tLEQ => 72,
  :tANDOP => 73,
  :tOROP => 74,
  :tMATCH => 75,
  :tNMATCH => 76,
  :tDOT => 77,
  :tDOT2 => 78,
  :tDOT3 => 79,
  :tAREF => 80,
  :tASET => 81,
  :tLSHFT => 82,
  :tRSHFT => 83,
  :tCOLON2 => 84,
  :tCOLON3 => 85,
  :tOP_ASGN => 86,
  :tASSOC => 87,
  :tLPAREN => 88,
  :tLPAREN2 => 89,
  :tRPAREN => 90,
  :tLPAREN_ARG => 91,
  :tLBRACK => 92,
  :tLBRACK2 => 93,
  :tRBRACK => 94,
  :tLBRACE => 95,
  :tLBRACE_ARG => 96,
  :tSTAR => 97,
  :tSTAR2 => 98,
  :tAMPER => 99,
  :tAMPER2 => 100,
  :tTILDE => 101,
  :tPERCENT => 102,
  :tDIVIDE => 103,
  :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",
  "tUNARY_NUM",
  "tPOW",
  "tCMP",
  "tEQ",
  "tEQQ",
  "tNEQ",
  "tGEQ",
  "tLEQ",
  "tANDOP",
  "tOROP",
  "tMATCH",
  "tNMATCH",
  "tDOT",
  "tDOT2",
  "tDOT3",
  "tAREF",
  "tASET",
  "tLSHFT",
  "tRSHFT",
  "tCOLON2",
  "tCOLON3",
  "tOP_ASGN",
  "tASSOC",
  "tLPAREN",
  "tLPAREN2",
  "tRPAREN",
  "tLPAREN_ARG",
  "tLBRACK",
  "tLBRACK2",
  "tRBRACK",
  "tLBRACE",
  "tLBRACE_ARG",
  "tSTAR",
  "tSTAR2",
  "tAMPER",
  "tAMPER2",
  "tTILDE",
  "tPERCENT",
  "tDIVIDE",
  "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",
  "@20",
  "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",
  "@21",
  "@22",
  "f_args",
  "do_block",
  "@23",
  "@24",
  "@25",
  "operation3",
  "@26",
  "@27",
  "cases",
  "exc_list",
  "exc_var",
  "numeric",
  "string",
  "string1",
  "string_contents",
  "xstring_contents",
  "regexp_contents",
  "word_list",
  "word",
  "string_content",
  "qword_list",
  "string_dvar",
  "@28",
  "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_t.nil?
                        diagnostic :warning, :useless_else, nil, else_t
                      end

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

def _reduce_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 @context.indirectly_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
                      @context.push(:block)
                    
    result
end

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

                      @static_env.unextend
                      @context.pop
                    
    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_internal(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)
                      @context.push(:lambda)
                    
    result
end

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

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

def _reduce_295(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_296(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_297(val, _values, result)
                      @lexer.cond.push(true)
                    
    result
end

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

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

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

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

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

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

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

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

def _reduce_308(val, _values, result)
                      @static_env.extend_static
                      @lexer.push_cmdarg
                      @context.push(:class)
                    
    result
end

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

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

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

def _reduce_310(val, _values, result)
                      @static_env.extend_static
                      @lexer.push_cmdarg
                      @context.push(:sclass)
                    
    result
end

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

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

def _reduce_312(val, _values, result)
                      @static_env.extend_static
                      @lexer.push_cmdarg
                      @context.push(:module)
                    
    result
end

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

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

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

def _reduce_314(val, _values, result)
                      @static_env.extend_static
                      @lexer.push_cmdarg
                      @context.push(:def)
                    
    result
end

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

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

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

def _reduce_317(val, _values, result)
                      @static_env.extend_static
                      @lexer.push_cmdarg
                      @context.push(:defs)
                    
    result
end

def _reduce_318(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
                      @context.pop
                    
    result
end

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

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

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

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

# reduce 323 omitted

# reduce 324 omitted

# reduce 325 omitted

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

# reduce 327 omitted

# reduce 328 omitted

# reduce 329 omitted

def _reduce_330(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 331 omitted

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

# reduce 333 omitted

# reduce 334 omitted

# reduce 335 omitted

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

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

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

# reduce 339 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 353 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 373 omitted

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

def _reduce_375(val, _values, result)
                      @context.pop
                    
    result
end

def _reduce_376(val, _values, result)
                      result = [ val[1], val[3] ]

                      @static_env.unextend
                    
    result
end

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

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

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

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

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

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

def _reduce_383(val, _values, result)
                      @static_env.extend_dynamic
                      @context.push(:block)
                    
    result
end

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

                      @static_env.unextend
                      @context.pop
                    
    result
end

def _reduce_385(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_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)
                      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_388(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_389(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_390(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_391(val, _values, result)
                      result = @builder.call_method(val[0], val[1], val[2])
                    
    result
end

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

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

def _reduce_397(val, _values, result)
                      @static_env.extend_dynamic
                      @context.push(:block)
                    
    result
end

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

                      @static_env.unextend
                      @context.pop
                    
    result
end

def _reduce_399(val, _values, result)
                      @static_env.extend_dynamic
                      @context.push(:block)
                    
    result
end

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

                      @static_env.unextend
                      @context.pop
                    
    result
end

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

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

# reduce 403 omitted

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

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

# reduce 407 omitted

# reduce 408 omitted

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

# reduce 410 omitted

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

# reduce 412 omitted

# reduce 413 omitted

# reduce 414 omitted

# reduce 415 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 445 omitted

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

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

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

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

def _reduce_450(val, _values, result)
                      num = @builder.integer(val[1])
                      if @builder.respond_to? :negate
                        # AST builder interface compatibility
                        result = @builder.negate(val[0], num)
                      else
                        result = @builder.unary_num(val[0], num)
                      end
                    
    result
end

def _reduce_451(val, _values, result)
                      num = @builder.float(val[1])
                      if @builder.respond_to? :negate
                        # AST builder interface compatibility
                        result = @builder.negate(val[0], num)
                      else
                        result = @builder.unary_num(val[0], num)
                      end
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                      @lexer.state = :expr_value
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 492 omitted

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

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

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

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

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

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

# reduce 496 omitted

def _reduce_497(val, _values, result)
                      result = @builder.multi_lhs(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)
                      @static_env.declare val[0][0]

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

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

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

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

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

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

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

# reduce 506 omitted

# reduce 507 omitted

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

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

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

# reduce 510 omitted

# reduce 511 omitted

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

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

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

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

# reduce 515 omitted

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

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

# reduce 518 omitted

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

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

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

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

# reduce 523 omitted

# reduce 524 omitted

# reduce 525 omitted

# reduce 526 omitted

# reduce 527 omitted

# reduce 528 omitted

# reduce 529 omitted

# reduce 530 omitted

# reduce 531 omitted

# reduce 532 omitted

# reduce 533 omitted

# reduce 534 omitted

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

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

# reduce 537 omitted

# reduce 538 omitted

# reduce 539 omitted

# reduce 540 omitted

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

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

# reduce 543 omitted

# reduce 544 omitted

# reduce 545 omitted

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

# reduce 547 omitted

# reduce 548 omitted

# reduce 549 omitted

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

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

  end   # class RubyMotion
  end   # module Parser
