HEX
Server: Apache
System: Linux s198.coreserver.jp 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
User: nagasaki (10062)
PHP: 7.1.33
Disabled: NONE
Upload Files
File: //usr/local/rvm/src/ruby-2.7.4/test/racc/regress/opal
#
# DO NOT MODIFY!!!!
# This file is automatically generated by Racc 1.4.16
# from Racc grammar file "".
#

require 'racc/parser.rb'
module Opal
  class Parser < Racc::Parser

module_eval(<<'...end opal.y/module_eval...', 'opal.y', 1808)

...end opal.y/module_eval...
##### State transition tables begin ###

clist = [
'63,64,65,619,51,-94,-96,-94,57,58,268,205,206,61,73,59,60,62,23,24,66',
'67,74,544,205,206,546,22,28,27,90,89,91,92,777,653,17,607,273,273,205',
'206,531,41,-99,-92,94,93,575,84,50,86,85,87,273,88,95,96,-68,81,82,-97',
'38,39,-95,597,618,-100,718,652,-98,205,206,-534,-452,575,552,716,205',
'206,810,-452,575,-85,-93,210,575,581,214,582,575,52,-99,227,54,-79,649',
'-92,609,608,40,101,877,-100,268,268,100,770,18,-99,-95,-87,-85,79,73',
'75,76,77,78,-94,-97,-94,74,80,-94,272,272,63,64,65,56,51,813,53,582',
'57,58,-535,37,83,61,272,59,60,62,258,259,66,67,-90,-84,-85,-94,876,257',
'291,295,90,89,91,92,308,101,219,574,227,-88,100,308,-86,292,596,-91',
'94,93,-89,84,50,86,85,361,551,88,95,96,-458,81,82,-85,101,101,574,832',
'813,100,100,101,-85,574,900,101,100,574,-93,101,100,574,344,343,100',
'-96,-92,362,-92,-98,214,-92,-100,52,-100,-86,54,-100,-99,-95,-99,-95',
'-89,-99,-95,-91,813,101,277,-97,-92,-97,100,726,-97,79,73,75,76,77,78',
'653,-88,819,74,80,-87,-90,726,63,64,65,56,51,-84,53,607,57,58,612,296',
'83,61,653,59,60,62,258,259,66,67,544,820,653,546,652,257,291,295,90',
'89,91,92,-86,-534,219,-331,-331,-535,-535,-89,204,41,-91,-331,94,93',
'652,84,50,86,85,87,558,88,95,96,652,81,82,-88,38,39,-534,-87,-90,726',
'609,608,-96,-86,-96,-84,-98,-96,-98,561,-89,-98,-86,-91,454,-91,101',
'210,725,-89,214,100,-91,52,-100,-331,54,-331,527,528,-88,101,40,725',
'-87,-90,100,706,544,-88,218,546,-84,-87,-90,79,73,75,76,77,78,-84,823',
'630,74,80,824,631,561,63,64,65,56,51,-100,53,544,57,58,543,37,83,61',
'789,59,60,62,258,259,66,67,827,-532,400,401,308,257,291,295,90,89,91',
'92,813,-86,219,788,836,-88,101,625,725,41,-95,100,94,93,-97,84,50,86',
'85,87,-453,88,95,96,607,81,82,-453,38,39,-97,227,231,236,237,238,233',
'235,243,244,239,240,-449,-449,220,221,205,206,241,242,-449,210,602,-95',
'214,-532,412,52,837,603,54,414,413,224,268,230,40,226,225,222,223,234',
'232,228,218,229,-532,344,343,79,73,75,76,77,78,609,608,620,74,80,839',
'245,702,63,64,65,56,51,-449,53,-449,57,58,701,37,83,61,607,59,60,62',
'258,259,66,67,700,754,-458,840,754,257,291,295,90,89,91,92,751,607,219',
'751,-446,531,607,-449,776,41,415,-446,94,93,-449,84,50,86,85,87,-456',
'88,95,96,532,81,82,-456,38,39,101,-84,-534,344,343,100,344,343,842,227',
'-92,609,608,605,264,265,-90,533,101,-85,694,210,266,100,214,-99,101',
'52,-94,402,54,100,609,608,610,-455,40,609,608,614,752,224,-455,752,218',
'226,225,524,946,79,73,75,76,77,78,947,537,101,74,80,850,-454,100,63',
'64,65,56,51,-454,53,-451,57,58,852,37,83,61,-451,59,60,62,258,259,66',
'67,103,104,105,106,107,257,28,27,90,89,91,92,101,855,219,524,593,100',
'945,856,586,41,858,591,94,93,860,84,50,86,85,87,261,88,95,96,862,81',
'82,227,38,39,864,227,231,236,237,238,233,235,243,244,239,240,524,584',
'220,221,832,813,241,242,585,210,301,302,214,205,206,52,684,592,54,523',
'256,224,308,230,40,226,225,222,223,234,232,228,218,229,-265,-283,-283',
'79,73,75,76,77,78,-283,391,388,74,80,-535,245,650,63,64,65,56,51,583',
'53,586,57,58,682,37,83,61,-79,59,60,62,258,259,66,67,103,104,105,106',
'107,257,28,27,90,89,91,92,681,679,219,203,201,671,-283,670,-283,41,308',
'202,94,93,547,84,50,86,85,87,261,88,95,96,548,81,82,878,38,39,879,227',
'231,236,237,238,233,235,243,244,239,240,524,593,220,221,880,881,241',
'242,822,210,883,884,214,694,491,52,886,199,54,200,256,224,308,230,40',
'226,225,222,223,234,232,228,218,229,-263,524,534,79,73,75,76,77,78,535',
'890,227,74,80,227,245,895,-255,-255,-255,56,-255,592,53,523,-255,-255',
'897,37,83,-255,300,-255,-255,-255,-255,-255,-255,-255,103,104,105,106',
'107,-255,-255,-255,-255,-255,-255,-255,227,227,-255,203,449,555,452',
'558,451,-255,903,450,-255,-255,905,-255,-255,-255,-255,-255,-255,-255',
'-255,-255,906,-255,-255,308,-255,-255,559,227,231,236,237,238,233,235',
'243,244,239,240,524,521,220,221,561,570,241,242,522,-255,571,299,-255',
'268,919,-255,-266,452,-255,451,-255,224,-255,230,-255,226,225,222,223',
'234,232,228,-255,229,268,-284,-284,-255,-255,-255,-255,-255,-255,-284',
'246,921,-255,-255,404,245,964,-537,-537,-537,-255,-537,520,-255,523',
'-537,-537,-535,-255,-255,-537,561,-537,-537,-537,-537,-537,-537,-537',
'860,931,932,629,628,-537,-537,-537,-537,-537,-537,-537,198,937,-537',
'-286,-286,855,-284,939,-284,-537,227,-286,-537,-537,860,-537,-537,-537',
'-537,-537,-537,-537,-537,-537,860,-537,-537,862,-537,-537,-263,227,231',
'236,237,238,233,235,243,244,239,240,224,197,220,221,226,225,241,242',
'196,-537,966,627,-537,-537,948,-537,967,-286,-537,-286,-537,224,-537',
'230,-537,226,225,222,223,234,232,228,-537,229,195,108,954,-537,-537',
'-537,-537,-537,-537,708,624,700,-537,-537,587,245,621,-536,-536,-536',
'-537,-536,97,-537,589,-536,-536,617,-537,-537,-536,613,-536,-536,-536',
'-536,-536,-536,-536,708,588,497,497,497,-536,-536,-536,-536,-536,-536',
'-536,497,491,-536,-264,489,341,340,344,343,-536,791,792,-536,-536,487',
'-536,-536,-536,-536,-536,-536,-536,-536,-536,772,-536,-536,-67,-536',
'-536,489,227,491,215,456,341,340,344,343,227,866,867,800,915,868,95',
'96,455,754,514,802,-536,803,453,-536,-536,515,-536,516,751,-536,729',
'-536,224,-536,694,-536,226,225,222,223,224,807,582,-536,226,225,222',
'223,-536,-536,-536,-536,-536,-536,525,268,721,-536,-536,341,340,344',
'343,268,808,-536,915,,-536,,,754,,-536,-536,63,64,65,8,51,,,751,57,58',
',,,61,,59,60,62,23,24,66,67,,752,,,,22,28,27,90,89,91,92,,,17,,341,340',
'344,343,7,41,6,9,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,227',
'231,236,237,238,233,235,243,244,239,240,,752,220,221,,,241,242,,36,',
',30,,,52,,,54,,32,224,,230,40,226,225,222,223,234,232,228,18,229,,,',
'79,73,75,76,77,78,,,,74,80,,245,,63,64,65,56,51,,53,,57,58,,37,83,61',
',59,60,62,258,259,66,67,,,,,,257,28,27,90,89,91,92,,563,219,336,334',
'333,,335,,41,,,94,93,,84,50,86,85,87,261,88,95,96,,81,82,,38,39,,227',
'231,236,237,238,233,235,243,244,239,240,,,220,221,,,241,242,,210,,,214',
',,52,,,54,,256,224,,230,40,226,225,222,223,234,232,228,218,229,,,,79',
'73,75,76,77,78,,,,74,80,,245,,63,64,65,56,51,,53,,57,58,,37,83,61,,59',
'60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,563,17,336,334,333,,335',
',41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,227,231,236,237',
'238,233,235,243,244,239,240,,,220,221,,,241,242,,210,,,214,,,52,,,54',
',,224,,230,40,226,225,222,223,234,232,228,18,229,,,,79,73,75,76,77,78',
',,,74,80,,245,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,23,24,66',
'67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,,41,,,94,93,,84,50,86,85,87,',
'88,95,96,,81,82,,38,39,,227,231,236,237,238,233,235,243,244,239,240',
',,220,221,,,241,242,,210,,,214,,,52,,,54,,,224,,230,40,226,225,222,223',
'234,232,228,18,229,,,,79,73,75,76,77,78,,,,74,80,,245,,-255,-255,-255',
'56,-255,,53,,-255,-255,,37,83,-255,,-255,-255,-255,-255,-255,-255,-255',
',,,,,-255,-255,-255,-255,-255,-255,-255,,,-255,,,,,,,-255,,,-255,-255',
',-255,-255,-255,-255,-255,-255,-255,-255,-255,,-255,-255,,-255,-255',
',227,231,236,237,238,233,235,243,244,239,240,,,220,221,,,241,242,,-255',
',,-255,268,,-255,,,-255,,-255,224,-255,230,-255,226,225,222,223,234',
'232,228,-255,229,,,,-255,-255,-255,-255,-255,-255,,,,-255,-255,,245',
',63,64,65,-255,51,,-255,,57,58,,-255,-255,61,,59,60,62,258,259,66,67',
',,,,,257,291,295,90,89,91,92,,,219,,,,,625,,41,,,94,93,,84,50,86,85',
'87,,88,95,96,,81,82,,38,39,,227,231,236,237,238,233,235,243,244,239',
'240,,,220,221,,,241,242,,210,,,214,,,52,,,54,,,224,,230,40,226,225,222',
'223,234,232,228,218,229,,,,79,73,75,76,77,78,,,,74,80,,245,,-233,,,56',
',,53,,,,,37,83,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,',
',,,22,28,27,90,89,91,92,,,17,,,,,,7,41,,9,94,93,,84,50,86,85,87,,88',
'95,96,,81,82,,38,39,,227,231,236,237,238,233,235,243,244,239,240,,,220',
'221,,,241,242,,36,,,30,,,52,,,54,,32,224,,230,40,226,225,222,223,234',
'232,228,18,229,,,,79,73,75,76,77,78,,,,74,80,,245,,-233,,,56,,,53,,',
',,37,83,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28',
'27,90,89,91,92,,,17,,,,,,7,41,,9,94,93,,84,50,86,85,87,,88,95,96,,81',
'82,,38,39,,227,231,236,237,238,233,235,243,244,239,240,,,220,221,,,241',
'242,,36,,,30,,,52,,,54,,32,224,,230,40,226,225,222,223,234,232,228,18',
'229,,,,79,73,75,76,77,78,,,,74,80,,245,,,,,56,,,53,,,,,37,83,63,64,65',
'8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92',
',,17,,,,,,7,41,,9,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,227',
'231,236,237,238,233,235,243,244,239,240,,,220,221,,,241,242,,36,,,30',
',,52,,,54,,32,224,,230,40,226,225,222,223,234,232,228,18,229,,,,79,73',
'75,76,77,78,,,,74,80,,245,,,,,56,,,53,,,,,37,83,63,64,65,8,51,,,,57',
'58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,7',
'41,,9,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,227,231,236,237',
'238,233,235,243,244,239,240,,,220,221,,,241,242,,36,,,30,,,52,,,54,',
'32,224,,230,40,226,225,222,223,234,232,228,18,229,,,,79,73,75,76,77',
'78,,,,74,80,,245,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,258',
'259,66,67,,,,,,257,291,295,90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50',
'86,85,87,,88,95,96,,81,82,,38,39,,227,231,236,237,238,233,235,243,244',
'239,240,,,220,221,,,241,242,,210,,,214,,,52,,,54,,658,224,254,230,40',
'226,225,222,223,234,232,228,218,229,,,,79,73,75,76,77,78,,,,74,80,,245',
',,,,56,,,53,,,,,37,83,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66',
'67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,7,41,,9,94,93,,84,50,86,85,87',
',88,95,96,,81,82,,38,39,,227,231,236,237,238,233,235,243,244,239,240',
',,220,221,,,241,242,,36,,,30,,,52,,,54,,32,224,,230,40,226,225,222,223',
'234,232,228,18,229,,,,79,73,75,76,77,78,,,,74,80,,245,,,,,56,,,53,,',
',,37,83,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28',
'27,90,89,91,92,,,17,,,,,,7,41,,9,94,93,,84,50,86,85,87,,88,95,96,,81',
'82,,38,39,,227,231,236,237,238,233,235,243,244,239,240,,,220,221,,,241',
'242,,36,,,30,,,52,,,54,,32,224,,230,40,226,225,222,223,234,232,228,18',
'229,,,,79,73,75,76,77,78,,,,74,80,,245,,63,64,65,56,51,,53,,57,58,,37',
'83,61,,59,60,62,258,259,66,67,,,,,,257,291,295,90,89,91,92,,563,219',
'336,334,333,,335,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39',
'563,,336,334,333,,335,,,563,566,336,334,333,,335,,,829,,,210,,,214,',
',52,,,54,,658,,,,40,,,566,,,,,218,,,569,566,79,73,75,76,77,78,,569,',
'74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67',
',,,,,257,291,295,90,89,91,92,,,219,,,,,,,292,,,94,93,,84,50,86,85,87',
',88,95,96,,81,82,327,,336,334,333,227,335,,,,,,,,,,,,,,,,241,242,926',
',,214,,,52,,,54,,,,224,,338,,226,225,222,223,,,341,340,344,343,,79,73',
'75,76,77,78,794,,,74,80,,,,63,64,65,56,51,,53,,57,58,,296,83,61,,59',
'60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,,41,,,94,93,,84',
'50,86,85,87,,88,95,96,,81,82,,38,39,,227,-555,-555,-555,-555,233,235',
',,-555,-555,,,,,,,241,242,,210,,,214,215,,52,,,54,,,224,,230,40,226',
'225,222,223,234,232,228,18,229,,,,79,73,75,76,77,78,,,,74,80,,,,63,64',
'65,56,51,,53,,57,58,,37,83,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90',
'89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38',
'39,,227,-555,-555,-555,-555,233,235,,,-555,-555,,,,,,,241,242,,210,',
',214,,,52,,,54,,,224,,230,40,226,225,222,223,234,232,228,218,229,,,',
'79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,,37,83,63,64,65,8,51,,,',
'57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,',
',,7,41,,9,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,227,-555,-555',
'-555,-555,233,235,,,-555,-555,,,,,,,241,242,,36,,,30,,,52,,,54,,32,224',
',230,40,226,225,222,223,234,232,228,18,229,,,,79,73,75,76,77,78,,,,74',
'80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67,,',
',,,257,291,295,90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,261',
'88,95,96,,81,82,,38,39,,227,-555,-555,-555,-555,233,235,,,-555,-555',
',,,,,,241,242,,210,,,214,,,52,,,54,,,224,254,230,40,226,225,222,223',
'234,232,228,218,229,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51',
',53,,57,58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,28,27,90,89,91',
'92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,261,88,95,96,,81,82,,38,39',
',227,-555,-555,-555,-555,233,235,,,-555,-555,,,,,,,241,242,,210,,,214',
',,52,,,54,,256,224,254,230,40,226,225,222,223,234,232,228,218,229,,',
',79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,',
'59,60,62,258,259,66,67,,,,,,257,28,27,90,89,91,92,,,219,,,,,,,41,,,94',
'93,,84,50,86,85,87,261,88,95,96,,81,82,,38,39,,227,,,,,,,,,,,,,,,,,241',
'242,,210,,,214,,,52,,,54,,256,224,254,230,40,226,225,222,223,,,228,218',
'229,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83',
'61,,59,60,62,258,259,66,67,,,,,,257,28,27,90,89,91,92,,,219,,,,,,,41',
',,94,93,,84,50,86,85,87,261,88,95,96,,81,82,,38,39,,227,,,,,,,,,,,,',
',,,,241,242,,210,,,214,,,52,,,54,,256,224,254,230,40,226,225,222,223',
',,228,218,229,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57',
'58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,291,295,90,89,91,92,,',
'219,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,227,,',
',,,,,,,,,,,,,,241,242,,210,,,214,,,52,,,54,,,224,,230,40,226,225,222',
'223,,,228,218,229,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53',
',57,58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,291,295,90,89,91,92',
',,219,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,227',
'231,236,237,238,233,235,243,,239,240,,,,,,,241,242,,210,,,214,,,52,',
',54,,,224,,230,40,226,225,222,223,234,232,228,218,229,,,,79,73,75,76',
'77,78,,,,74,80,,,,-255,-255,-255,56,-255,,53,,-255,-255,,37,83,-255',
',-255,-255,-255,-255,-255,-255,-255,,,,,,-255,-255,-255,-255,-255,-255',
'-255,,,-255,,,,,,,-255,,,-255,-255,,-255,-255,-255,-255,-255,-255,-255',
'-255,-255,,-255,-255,,-255,-255,,227,231,236,237,238,233,235,,,239,240',
',,,,,,241,242,,-255,,,-255,268,,-255,,,-255,,-255,224,-255,230,-255',
'226,225,222,223,234,232,228,-255,229,,,,-255,-255,-255,-255,-255,-255',
',,,-255,-255,,,,,,,-255,,,-255,,,,,-255,-255,63,64,65,8,51,,,,57,58',
',,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,7,41',
',9,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,227,,,,,,,,,,,,,,',
',,241,242,,36,,,281,,,52,,,54,,32,224,,230,40,226,225,222,223,,,228',
'18,229,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37',
'83,61,,59,60,62,258,259,66,67,,,,,,257,291,295,90,89,91,92,,,219,,,',
',,,292,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,327,,336,334,333,,335',
',,,,,,,,,,,,,,,,,289,,,286,,,52,,,54,,285,,,,338,,554,,,,,,341,340,344',
'343,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,296,83',
'61,,59,60,62,258,259,66,67,,,,,,257,291,295,90,89,91,92,,,219,,,,,,',
'292,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,764,,336,334,333,754,335',
',,,,,,,,,751,,,,,,,,289,,,214,,,52,,,54,,,,,,338,,,,,,,,341,340,344',
'343,,79,73,75,76,77,78,,,,74,80,,,,298,,,56,,,53,,,,,296,83,63,64,65',
',51,,,752,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257,291,295,90,89',
'91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39',
',227,-555,-555,-555,-555,233,235,,,-555,-555,,,,,,,241,242,,210,,,214',
',,52,,,54,,,224,,230,40,226,225,222,223,234,232,228,218,229,,,,79,73',
'75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,,37,83,63,64,65,8,51,,,,57,58',
',,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,7,41',
',9,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,227,231,236,237,238',
'233,235,243,244,239,240,,,-555,-555,,,241,242,,36,,,30,,,52,,,54,,32',
'224,,230,40,226,225,222,223,234,232,228,18,229,,,,79,73,75,76,77,78',
',,,74,80,,,,,,,56,,,53,,,,,37,83,63,64,65,8,51,,,,57,58,,,,61,,59,60',
'62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,7,41,,9,94,93,,84',
'50,86,85,87,,88,95,96,,81,82,,38,39,,227,231,236,237,238,233,235,243',
'244,239,240,,,-555,-555,,,241,242,,36,,,30,,,52,,,54,,32,224,,230,40',
'226,225,222,223,234,232,228,18,229,,,,79,73,75,76,77,78,,,,74,80,,,',
'63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,23,24,66,67,,,,,,22,28',
'27,90,89,91,92,,,17,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82',
',38,39,,227,,,,,,,,,,,,,,,,,241,242,,210,,,214,,,52,,,54,,,224,,230',
'40,226,225,222,223,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65',
'56,51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,291,295',
'90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82',
',38,39,,227,,,,,,,,,,,,,,,,,241,242,,210,,,214,,,52,,,54,,,224,,230',
'40,226,225,222,223,,,,218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65',
'56,51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,291,295',
'90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82',
',38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40,,,,,,,,218,',
',,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61',
',59,60,62,258,259,66,67,,,,,,257,291,295,90,89,91,92,,,219,,,,,,,41',
',,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,',
',210,,,214,,,52,,,54,,,,,,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74',
'80,,,,,,,56,,,53,,,,,37,83,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23',
'24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,7,41,,9,94,93,,84,50,86',
'85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54',
',32,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51',
',53,,57,58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,291,295,90,89',
'91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39',
',,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,256,,,,40,,,,,,,,218,,,,,79',
'73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60',
'62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,,41,,,94,93,,84,50',
'86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52',
',,54,,,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56',
'51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,28,27,90,89',
'91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,261,88,95,96,,81,82,,38',
'39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,256,,,,40,,,,,,,,218,,',
',,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61',
',59,60,62,258,259,66,67,,,,,,257,291,295,90,89,91,92,,,219,,,,,,,41',
',,94,93,,84,50,86,85,87,261,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,',
',,,,210,,,214,,,52,,,54,,,,,,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,',
'74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67',
',,,,,257,291,295,90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87',
',88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,',
',,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53',
',57,58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,291,295,90,89,91,92',
',,219,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,',
',,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40,,,,,,,,218,,,,,79,73,75',
'76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,23',
'24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,,41,,,94,93,,84,50,86,85',
'87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54',
',,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,',
'53,,57,58,,37,83,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92',
',,17,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,',
',,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40,,,,,,,,18,,,,,79,73,75,76',
'77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,23,24',
'66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,,41,,,94,93,,84,50,86,85,87',
',88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,',
',,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,101,,,,,100,56,,,53,,',
',,37,83,63,64,65,,51,,,,57,58,,,,61,,59,60,62,258,259,66,67,,,,,,257',
'291,295,90,89,91,92,,,219,,,,,,,292,,,94,93,,84,50,86,85,87,,88,95,96',
',81,82,327,,336,334,333,,335,,,,,,,,,,,,,,,,,,356,,,30,,,52,,,54,,32',
',,,338,322,,,,,,,341,340,344,343,,79,73,75,76,77,78,,,,74,80,,,,63,64',
'65,56,51,,53,,57,58,,296,83,61,,59,60,62,258,259,66,67,,,,,,257,291',
'295,90,89,91,92,,,219,,,,,,,292,,,94,93,,84,50,86,85,361,,88,95,96,',
'81,82,327,,336,334,333,,335,,,,,,,,,,,,,,,367,,,362,,,214,,,52,,,54',
',,,,,338,,,,,,,,341,340,344,343,,79,73,75,76,77,78,,,,74,80,,,,63,64',
'65,56,51,,53,,57,58,,296,83,61,,59,60,62,258,259,66,67,,,,,,257,291',
'295,90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81',
'82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40,,,,,,,,218',
',,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61',
',59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,219,,,,,,,41,,,94',
'93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210',
',,214,,,52,,,54,,,,,,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74,80,,',
',63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,23,24,66,67,,,,,,22,28',
'27,90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81',
'82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40,,,,,,,,218',
',,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61',
',59,60,62,258,259,66,67,,,,,,257,291,295,90,89,91,92,,,219,,,,,,,41',
',,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,',
',210,,,214,,,52,,,54,,,,,,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74',
'80,,,,,,,56,,,53,,,,,37,83,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23',
'24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,7,41,,9,94,93,,84,50,86',
'85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54',
',32,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51',
',53,,57,58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,291,295,90,89',
'91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39',
',,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40,,,,,,,,218,,,,,79,73',
'75,76,77,78,,,,74,80,,,,-531,-531,-531,56,-531,,53,,-531,-531,,37,83',
'-531,,-531,-531,-531,-531,-531,-531,-531,,-531,,,,-531,-531,-531,-531',
'-531,-531,-531,,,-531,,,,,,,-531,,,-531,-531,,-531,-531,-531,-531,-531',
'-531,-531,-531,-531,,-531,-531,,-531,-531,,,,,,,,,,,,,,,,,,,,,,-531',
',,-531,-531,,-531,,,-531,,-531,,-531,,-531,,,,,,,,-531,,-531,,,-531',
'-531,-531,-531,-531,-531,,,,-531,-531,,,,-532,-532,-532,-531,-532,,-531',
',-532,-532,,-531,-531,-532,,-532,-532,-532,-532,-532,-532,-532,,-532',
',,,-532,-532,-532,-532,-532,-532,-532,,,-532,,,,,,,-532,,,-532,-532',
',-532,-532,-532,-532,-532,-532,-532,-532,-532,,-532,-532,,-532,-532',
',,,,,,,,,,,,,,,,,,,,,-532,,,-532,-532,,-532,,,-532,,-532,,-532,,-532',
',,,,,,,-532,,-532,,,-532,-532,-532,-532,-532,-532,,,,-532,-532,,,,,',
',-532,,,-532,,,,,-532,-532,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23',
'24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,7,41,,9,94,93,,84,50,86',
'85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54',
',32,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,',
',37,83,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28',
'27,90,89,91,92,,,17,,,,,,7,41,6,9,94,93,,84,50,86,85,87,,88,95,96,,81',
'82,,38,39,,,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54,,32,,,,40,,,,,,,,18',
',,,,79,73,75,76,77,78,,,,74,80,,,,,,404,56,,,53,,,,,37,83,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,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,',
',,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40,,,,,,,,18,,,,,79,73,75,76,77',
'78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,23,24,66',
'67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,,41,,,94,93,,84,50,86,85,87,',
'88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,',
',40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,',
'57,58,,37,83,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17',
',,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,',
',,,,,,,,,,210,,,214,,,52,,,54,,,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78',
',,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,23,24,66,67',
',,,,,22,28,27,90,89,91,92,,,17,,,,,,,41,,,94,93,,84,50,86,85,87,,88',
'95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40',
',,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,,37,83,63',
'64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89',
'91,92,,,17,,,,,,7,41,,9,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39',
',,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54,,32,,,,40,,,,,,,,18,,,,,79,73',
'75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,,37,83,63,64,65,8,51,,,,57,58',
',,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,7,41',
'6,9,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,',
',,,36,,,30,,,52,,,54,,32,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74',
'80,,,,,,,56,,,53,,,,,37,83,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23',
'24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,7,41,,9,94,93,,84,50,86',
'85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54',
',32,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,',
',37,83,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28',
'27,90,89,91,92,,,17,,,,,,7,41,,9,94,93,,84,50,86,85,87,,88,95,96,,81',
'82,,38,39,,,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54,,32,,,,40,,,,,,,,18',
',,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61',
',59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,,41,,,94,93',
',84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214',
',,52,,,54,,,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,,,,56',
',,53,,,,,37,83,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,',
',,,22,28,27,90,89,91,92,,,17,,,,,,7,41,,9,94,93,,84,50,86,85,87,,88',
'95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54,,32,,,,40',
',,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58',
',37,83,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,219,,,,',
',,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,',
',,,,,,210,,,214,,,52,,,54,,421,,,,40,,,,,,,,218,,,,,79,73,75,76,77,78',
',,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,23,24,66,67',
',,,,,22,28,27,90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,,88',
'95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,421,,',
',40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53',
',57,58,,37,83,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,219',
',,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,',
',,,,,,,,,,210,,,214,,,52,,,54,,,,,,40,,,,,,,,218,,,,,79,73,75,76,77',
'78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,258,259',
'66,67,,,,,,257,28,27,90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85',
'87,261,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,',
'54,,256,,,,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65',
'56,51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,28,27,90',
'89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,261,88,95,96,,81,82',
',38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,256,,,,40,,,,,,,,218',
',,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61',
',59,60,62,258,259,66,67,,,,,,257,291,295,90,89,91,92,,,219,,,,,,,41',
',,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,',
',210,,,214,,,52,,,54,,256,,,,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,',
'74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67',
',,,,,257,291,295,90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87',
',88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,421',
',,,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53',
',57,58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,291,295,90,89,91,92',
',,219,,,,,,,292,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,,,,,,,,,,',
',,,,,,,,,,,,,289,,,286,,,52,,,54,,,,,,,,,,,,,,,,,,,79,73,75,76,77,78',
',,,74,80,,,,63,64,65,56,51,,53,,57,58,,296,83,61,,59,60,62,23,24,66',
'67,,,,,,22,28,27,90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87',
',88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,',
',,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53',
',57,58,,37,83,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17',
',,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,',
',,,,,,,,,,210,,,214,,,52,,,54,,,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78',
',,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,23,24,66,67',
',,,,,22,28,27,90,89,91,92,,,17,,,,,,,41,,,94,93,,84,50,86,85,87,,88',
'95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40',
',,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58',
',37,83,61,,59,60,62,258,259,66,67,,,,,,257,291,295,90,89,91,92,,,219',
',,,,,,292,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,764,,336,334,333',
'754,335,,,,,,,,,,751,,,,,,,,289,,,286,,,52,,,54,,,,,,338,749,,,,,,,341',
'340,344,343,,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,,296,83,63',
'64,65,8,51,,,752,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90',
'89,91,92,,,17,,,,,,7,41,,9,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38',
'39,,,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54,,32,,,,40,,,,,,,,18,,,,,79',
'73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,,37,83,63,64,65,8,51,,,,57',
'58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,7',
'41,,9,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,',
',,,,,36,,,30,,,52,,,54,,32,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,',
'74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67',
',,,,,257,291,295,90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87',
'261,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54',
',,,254,,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56',
'51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,291,295,90',
'89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,261,88,95,96,,81,82',
',38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,658,,254,,40,,,,,,',
',218,,,,,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,,37,83,63,64,65',
'8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92',
',,17,,,,,,7,41,,9,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,',
',,,,,,,,,,,,,,,,,36,,,30,,,52,,,54,,32,,,,40,,,,,,,,18,,,,,79,73,75',
'76,77,78,,,,74,80,,,,,,,56,,,53,,,,,37,83,63,64,65,8,51,,,,57,58,,,',
'61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,7,41,,9',
'94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,36',
',,30,,,52,,,54,,32,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,',
',63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,23,24,66,67,,,,,,22,28',
'27,90,89,91,92,,,17,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82',
',38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,458,52,,,54,,,,,,40,,,,,,,,18',
',,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61',
',59,60,62,258,259,66,67,,,,,,257,291,295,90,89,91,92,,,219,,,,,,,41',
',,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,',
',210,,,214,,,52,,,54,,,,,,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74',
'80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67,,',
',,,257,291,295,90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,,88',
'95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40',
',,,,,,,218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57',
'58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,291,295,90,89,91,92,,',
'219,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,',
',,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40,,,,,,,,218,,,,,79,73,75,76',
'77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,258',
'259,66,67,,,,,,257,291,295,90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50',
'86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52',
',,54,,,,,,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56',
'51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,291,295,90',
'89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38',
'39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40,,,,,,,,218,,,,,79',
'73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60',
'62,258,259,66,67,,,,,,257,291,295,90,89,91,92,,,219,,,,,,,41,,,94,93',
',84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214',
',,52,,,54,,,,,,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64',
'65,56,51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,291,295',
'90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82',
',38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40,,,,,,,,218,',
',,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61',
',59,60,62,258,259,66,67,,,,,,257,291,295,90,89,91,92,,,219,,,,,,,41',
',,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,',
',210,,,214,,,52,,,54,,,,,,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74',
'80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67,,',
',,,257,291,295,90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,,88',
'95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40',
',,,,,,,218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57',
'58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,291,295,90,89,91,92,,',
'219,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,',
',,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40,,,,,,,,218,,,,,79,73,75,76',
'77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,258',
'259,66,67,,,,,,257,291,295,90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50',
'86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52',
',,54,,,,,,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56',
'51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,291,295,90',
'89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38',
'39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40,,,,,,,,218,,,,,79',
'73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60',
'62,258,259,66,67,,,,,,257,291,295,90,89,91,92,,,219,,,,,,,41,,,94,93',
',84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214',
',,52,,,54,,,,,,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64',
'65,56,51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,291,295',
'90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82',
',38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40,,,,,,,,218,',
',,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61',
',59,60,62,258,259,66,67,,,,,,257,291,295,90,89,91,92,,,219,,,,,,,41',
',,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,',
',210,,,214,,,52,,,54,,,,,,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74',
'80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67,,',
',,,257,291,295,90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,,88',
'95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40',
',,,,,,,218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57',
'58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,291,295,90,89,91,92,,',
'219,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,',
',,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40,,,,,,,,218,,,,,79,73,75,76',
'77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,258',
'259,66,67,,,,,,257,291,295,90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50',
'86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52',
',,54,,,,,,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56',
'51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,291,295,90',
'89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38',
'39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40,,,,,,,,218,,,,,79',
'73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60',
'62,258,259,66,67,,,,,,257,291,295,90,89,91,92,,,219,,,,,,,41,,,94,93',
',84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214',
',,52,,,54,,,,,,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64',
'65,56,51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,291,295',
'90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82',
',38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40,,,,,,,,218,',
',,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61',
',59,60,62,258,259,66,67,,,,,,257,291,295,90,89,91,92,,,219,,,,,,,41',
',,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,',
',210,,,214,,,52,,,54,,,,,,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74',
'80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67,,',
',,,257,291,295,90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,,88',
'95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40',
',,,,,,,218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57',
'58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,291,295,90,89,91,92,,',
'219,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,',
',,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40,,,,,,,,218,,,,,79,73,75,76',
'77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,258',
'259,66,67,,,,,,257,291,295,90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50',
'86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52',
',,54,,,,,,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56',
'51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,291,295,90',
'89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38',
'39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40,,,,,,,,218,,,,,79',
'73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60',
'62,258,259,66,67,,,,,,257,291,295,90,89,91,92,,,219,,,,,,,41,,,94,93',
',84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214',
',,52,,,54,,,,,,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64',
'65,56,51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,291,295',
'90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82',
',38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40,,,,,,,,218,',
',,,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,,37,83,63,64,65,8,51',
',,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17',
',,,,,7,41,,9,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,',
',,,,,,,,,,,,36,,,30,,,52,,,54,,32,,,,40,,,,,,,,18,,,,,79,73,75,76,77',
'78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,258,259',
'66,67,,,,,,257,291,295,90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86',
'85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,',
'54,,,,,,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56',
'51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,291,295,90',
'89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38',
'39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40,,,,,,,,218,,,,,79',
'73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60',
'62,258,259,66,67,,,,,,257,291,295,90,89,91,92,,,219,,,,,,,41,,,94,93',
',84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214',
',,52,,,54,,,,,,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64',
'65,56,51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,291,295',
'90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82',
',38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40,,,,,,,,218,',
',,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61',
',59,60,62,258,259,66,67,,,,,,257,291,295,90,89,91,92,,,219,,,,,,,41',
',,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,',
',210,,,214,,,52,,,54,,,,,,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74',
'80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,23,24,66,67,,,,',
',22,28,27,90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95',
'96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40,,',
',,,,,218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58',
',37,83,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,219,,,,',
',,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,',
',,,,,,210,,,214,,,52,,,54,,,,,,40,,,,,,,,218,,,,,79,73,75,76,77,78,',
',,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,23,24,66,67',
',,,,,22,28,27,90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,,88',
'95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40',
',,,,,,,218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57',
'58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,28,27,90,89,91,92,,,219',
',,,,,,41,,,94,93,,84,50,86,85,87,261,88,95,96,,81,82,,38,39,,,,,,,,',
',,,,,,,,,,,,,210,,,214,,,52,,,54,,256,,254,,40,,,,,,,,218,,,,,79,73',
'75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62',
'258,259,66,67,,,,,,257,28,27,90,89,91,92,,,219,,,,,,,41,,,94,93,,84',
'50,86,85,87,261,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214',
',,506,,,54,,256,,254,,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74,80,',
',,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257',
'28,27,90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,261,88,95,96',
',81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,510,52,,,54,,256,,254',
',40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53',
',57,58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,291,295,90,89,91,92',
',,219,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,',
',,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,775,,,,40,,,,,,,,218,,,,,79,73',
'75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62',
'258,259,66,67,,,,,,257,291,295,90,89,91,92,,,219,,,,,,,41,,,94,93,,84',
'50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,',
',52,,,54,,,,,,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64',
'65,56,51,,53,,57,58,,37,83,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90',
'89,91,92,,,17,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38',
'39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40,,,,,,,,18,,,,,79',
'73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,,37,83,63,64,65,8,51,,,,57',
'58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,7',
'41,,9,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,',
',,,,,36,,,281,,,52,,,54,,32,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,',
',74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,23,24,66,67',
',,,,,22,28,27,90,89,91,92,,,17,,,,,,,41,,,94,93,,84,50,86,85,87,,88',
'95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40',
',,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58',
',37,83,61,,59,60,62,258,259,66,67,,,,,,257,28,27,90,89,91,92,,,219,',
',,,,,41,,,94,93,,84,50,86,85,87,261,88,95,96,,81,82,,38,39,,,,,,,,,',
',,,,,,,,,,,,210,,,214,,,52,,,54,,256,,,,40,,,,,,,,218,,,,,79,73,75,76',
'77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,258',
'259,66,67,,,,,,257,28,27,90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86',
'85,87,261,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52',
',,54,,256,,,,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65',
'56,51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,291,295',
'90,89,91,92,,,219,,,,,,,292,,,94,93,,84,50,86,85,87,,88,95,96,,81,82',
'764,,336,334,333,754,335,,,,,,,,,,751,,,,,,,,289,,,214,,,52,,,54,,,',
',,338,749,,,,,,,341,340,344,343,,79,73,75,76,77,78,,,,74,80,,,,518,',
',56,,,53,,,,,296,83,63,64,65,8,51,,,752,57,58,,,,61,,59,60,62,23,24',
'66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,7,41,,9,94,93,,84,50,86,85',
'87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,36,,,281,,,52,,,54,',
'32,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51',
',53,,57,58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,28,27,90,89,91',
'92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,261,88,95,96,,81,82,,38,39',
',,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,256,,,,40,,,,,,,,218,,,,,79',
'73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,,37,83,63,64,65,8,51,,,,57',
'58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,7',
'41,,9,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,',
',,,,,36,,,30,,,52,,,54,,32,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,',
'74,80,,,,,,,56,,,53,,,,,37,83,63,64,65,8,51,,,,57,58,,,,61,,59,60,62',
'23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,7,41,,9,94,93,,84,50',
'86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,',
',54,,32,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53',
',,,,37,83,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22',
'28,27,90,89,91,92,,,17,,,,,,7,41,,9,94,93,,84,50,86,85,87,,88,95,96',
',81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54,,32,,,,40,,,,,',
',,18,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37',
'83,61,,59,60,62,258,259,66,67,,,,,,257,291,295,90,89,91,92,,,219,,,',
',,,292,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,764,,336,334,333,754',
'335,,,,,,,,,,751,,,,,,,,712,,,214,,,52,,,54,,,,,,338,,,,,,,,341,340',
'344,343,,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,,296,83,63,64,65',
'8,51,,,752,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91',
'92,,,17,,,,,,7,41,,9,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,',
',,,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54,,32,,,,40,,,,,,,,18,,,,,79,73',
'75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,,37,83,63,64,65,8,51,,,,57,58',
',,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,7,41',
',9,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,',
',,36,,,30,,,52,,,54,,32,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74',
'80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67,,',
',,,257,291,295,90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,261',
'88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,',
',40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53',
',57,58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,291,295,90,89,91,92',
',,219,,,,,,,41,,,94,93,,84,50,86,85,87,261,88,95,96,,81,82,,38,39,,',
',,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,658,,,,40,,,,,,,,218,,,,,79',
'73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60',
'62,258,259,66,67,,,,,,257,291,295,90,89,91,92,,,219,,,,,,,292,,,94,93',
',84,50,86,85,87,,88,95,96,,81,82,,,,,,,,,,,,,,,,,,,,,,,,,289,,,286,',
',52,,,54,,,,,,,,,,,,,,,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56',
'51,,53,,57,58,,296,83,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91',
'92,,,17,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,',
',,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40,,,,,,,,18,,,,,79,73,75',
'76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,258',
'259,66,67,,,,,,257,291,295,90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50',
'86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52',
',,54,,,,,,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56',
'51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,291,295,90',
'89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38',
'39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,,,,,40,,,,,,,,218,,,,,79',
'73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60',
'62,258,259,66,67,,,,,,257,291,295,90,89,91,92,,,219,,,,,,,41,,,94,93',
',84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214',
',,52,,,54,,,,,,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64',
'65,56,51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,28,27',
'90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,261,88,95,96,,81',
'82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,256,,,,40,,,,,,',
',218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37',
'83,61,,59,60,62,258,259,66,67,,,,,,257,291,295,90,89,91,92,,,219,,,',
',,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,',
',,,,,,,210,,,214,537,,52,,,54,,,,,,40,,,,,,,,218,,,,,79,73,75,76,77',
'78,,,,74,80,,,,,,,56,,,53,,,,,37,83,63,64,65,8,51,,,,57,58,,,,61,,59',
'60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,7,41,,9,94,93',
',84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,36,,,30',
',,52,,,54,,32,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64',
'65,56,51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,28,27',
'90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,261,88,95,96,,81',
'82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,256,,,,40,,,,,,',
',218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37',
'83,61,,59,60,62,258,259,66,67,,,,,,257,291,295,90,89,91,92,,,219,,,',
',,,292,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,,,,,,,,,,,,,,,,,,,',
',,,,289,,,286,,,52,,,54,,,,,,,,,,,,,,,,,,,79,73,75,76,77,78,,,,74,80',
',,,,,,56,,,53,,,,,296,83,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24',
'66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,7,41,,9,94,93,,84,50,86,85',
'87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54,,32',
',,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,,,404,56,,,53,,,,',
'37,83,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,,84,50,86,85,87,,88,95,96,,81,82,',
'38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,675,52,,,54,,,,254,,40,,,,,,,',
'18,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,83',
'61,,59,60,62,258,259,66,67,,,,,,257,291,295,90,89,91,92,,,219,,,,,,',
'41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,',
',,,,210,,,214,,,52,,,54,,,,,,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,',
'74,80,,,,63,64,65,56,51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67',
',,,,,257,291,295,90,89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87',
'261,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54',
',,,254,,40,,,,,,,,218,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56',
'51,,53,,57,58,,37,83,61,,59,60,62,258,259,66,67,,,,,,257,291,295,90',
'89,91,92,,,219,,,,,,,41,,,94,93,,84,50,86,85,87,261,88,95,96,,81,82',
',38,39,,,,,,,,,,,,,,,,,,,,,,210,,,214,,,52,,,54,,658,,254,,40,,,,,,',
',218,,,,-283,79,73,75,76,77,78,-283,-283,-283,74,80,,-283,-283,,-283',
',56,,,53,,,,,37,83,,,,,,,,,-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,,639,,,,-283,,,,,,,-283,,-283',
',-283,-283,-283,-283,-283,-283,-283,,-283,,-283,,,,,,,,,,,,,-283,-283',
',-89,,-283,-538,,-283,,-283,,-98,-538,-538,-538,,,-538,-538,-538,,-538',
',,,,,,,,-538,-538,-538,,,,,,,,,-538,-538,,-538,-538,-538,-538,-538,',
',,,,,,,,,,,,,,,,,,,,,,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538',
'-538,-538,-538,-538,-538,,,-538,-538,-538,,790,-538,,,-538,,,-538,,-538',
',-538,,-538,,-538,-538,-538,-538,-538,-538,-538,,-538,-538,-538,,,,',
',,,,,,,,-538,-538,-538,-538,,-538,-283,,-538,,-538,,-96,-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,,639,-283',
',,-283,,,-283,,-283,,-283,,-283,,-283,-283,-283,-283,-283,-283,-283',
',-283,,-283,,,,,,,,,,,,,-283,-283,-283,-283,,-283,-538,,-283,,-283,',
'-98,-538,-538,-538,,,,-538,-538,,-538,,,,,,,,,-538,,,,,,,,,,,-538,-538',
',-538,-538,-538,-538,-538,,,,,,,,,,,,,,,,,,,,,,,,-538,-538,-538,-538',
'-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,,,-538,-538,-538',
',636,,,,-538,,,,,,,-538,,-538,,-538,-538,-538,-538,-538,-538,-538,,-538',
'-538,-538,,,,,,,,,,,,,-538,-538,,-87,,-538,-278,,-538,,-538,,-96,-278',
'-278,-278,,,-278,-278,-278,,-278,,,,,,,,,,-278,-278,-278,,,,,,,,-278',
'-278,,-278,-278,-278,-278,-278,,,,,,,,,,,,,,,,,,,,,,,,-278,-278,-278',
'-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,,,-278,-278',
'-278,,,-278,,,-278,,,-278,,-278,,-278,,-278,,-278,-278,-278,-278,-278',
'-278,-278,,-278,,-278,,,,,,,,,,,,,-278,-278,-278,-278,-292,-278,,-278',
'-278,,-278,-292,-292,-292,,,-292,-292,-292,,-292,,,,,,,,,,-292,-292',
',,,,,,,,-292,-292,,-292,-292,-292,-292,-292,,,,,,,,,,,,,,,,,,,,,,,,-292',
'-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292',
',,-292,-292,-292,,,-292,,277,-292,,,-292,,-292,,-292,,-292,,-292,-292',
'-292,-292,-292,-292,-292,,-292,,-292,,,,,,,,,,,,,-292,-292,-292,-292',
'-554,-292,,,-292,,-292,-554,-554,-554,,,-554,-554,-554,,-554,,,,,,,',
',,-554,,,,,,,,,,-554,-554,,-554,-554,-554,-554,-554,,,,,,,,,,,,,,-554',
',,,,,,-554,-554,-554,,,-554,-554,-554,,-554,,,,,-554,-554,,,,-554,,',
'-554,,,,,268,-554,-554,-554,,-554,-554,-554,-554,-554,,,,,,,,,,,,,-554',
',,,,,,,,,,,-554,-554,,-554,,,-554,-554,-554,-554,-554,-554,-554,-554',
'-554,,-554,,-554,,,,,268,-554,,-554,,,,,,,,,,-554,-554,,-554,-554,-554',
'-554,-554,,-554,,,,,,436,440,,,438,,,-554,,-554,,,-554,142,143,,139',
'121,122,123,130,127,129,,,124,125,-554,-554,,,144,145,131,132,-554,',
',,,268,-554,,,,,,136,135,,120,141,138,137,133,134,128,126,118,140,119',
',-554,146,,,,,,,,,,,,-554,,-554,,,-554,156,167,157,180,153,173,163,162',
'188,191,178,161,160,155,181,189,190,165,154,168,172,174,166,159,,,,175',
'182,177,176,169,179,164,152,171,170,183,184,185,186,187,151,158,149',
'150,147,148,,111,113,,,112,,,,,,,,,142,143,,139,121,122,123,130,127',
'129,,,124,125,,,,,144,145,131,132,,,,,,,,,,,,,136,135,,120,141,138,137',
'133,134,128,126,118,140,119,,,146,192,,,,,,,,,,80,156,167,157,180,153',
'173,163,162,188,191,178,161,160,155,181,189,190,165,154,168,172,174',
'166,159,,,,175,182,177,176,169,179,164,152,171,170,183,184,185,186,187',
'151,158,149,150,147,148,,111,113,,,112,,,,,,,,,142,143,,139,121,122',
'123,130,127,129,,,124,125,,,,,144,145,131,132,,,,,,,,,,,,,136,135,,120',
'141,138,137,133,134,128,126,118,140,119,,,146,192,,,,,,,,,,80,156,167',
'157,180,153,173,163,162,188,191,178,161,160,155,181,189,190,165,154',
'168,172,174,166,159,,,,175,182,177,176,169,179,164,152,171,170,183,184',
'185,186,187,151,158,149,150,147,148,,111,113,,,112,,,,,,,,,142,143,',
'139,121,122,123,130,127,129,,,124,125,,,,,144,145,131,132,,,,,,,,,,',
',,136,135,,120,141,138,137,133,134,128,126,118,140,119,,,146,192,,,',
',,,,,,80,156,167,157,180,153,173,163,162,188,191,178,161,160,155,181',
'189,190,165,154,168,172,174,166,159,,,,175,182,177,176,169,179,164,152',
'171,170,183,184,185,186,187,151,158,149,150,147,148,,111,113,110,,112',
',,,,,,,,142,143,,139,121,122,123,130,127,129,,,124,125,,,,,144,145,131',
'132,,,,,,,,,,,,,136,135,,120,141,138,137,133,134,128,126,118,140,119',
',,146,192,,,,,,,,,,80,156,167,157,180,153,173,163,162,188,191,178,161',
'160,155,181,189,190,165,154,168,172,174,166,159,,,,175,182,177,176,169',
'179,164,152,171,170,183,184,185,186,187,151,158,149,150,147,148,,111',
'113,398,397,112,,399,,,,,,,142,143,,139,121,122,123,130,127,129,,,124',
'125,,,,,144,145,131,132,,,,,,,,,,,,,136,135,,120,141,138,137,133,134',
'128,126,118,140,119,,,146,156,167,157,180,153,173,163,162,188,191,178',
'161,160,155,181,189,190,165,154,168,172,174,166,159,,,,175,182,177,176',
'169,179,164,152,171,170,183,184,185,186,187,151,158,149,150,147,148',
',111,113,398,397,112,,399,,,,,,,142,143,,139,121,122,123,130,127,129',
',,124,125,,,,,144,145,131,132,,,,,,,,,,,,,136,135,,120,141,138,137,133',
'134,128,126,118,140,119,,,146,156,167,157,180,153,173,163,162,188,191',
'178,161,160,155,181,189,190,165,154,168,172,174,166,159,,,,175,182,177',
'176,169,179,164,152,171,170,183,184,185,186,187,151,158,149,150,147',
'148,,111,113,,,112,,,,,,,,,142,143,,139,121,122,123,130,127,129,,,124',
'125,,,,,144,145,131,132,,,,,,,,,,,,,136,135,,120,141,138,137,133,134',
'128,126,118,140,119,,,146,156,167,157,180,153,173,163,162,188,191,178',
'161,160,155,181,189,190,165,154,168,172,174,166,159,,,,175,182,177,376',
'375,377,374,152,171,170,183,184,185,186,187,151,158,149,150,372,373',
',370,113,86,85,371,,88,,,,,,,142,143,,139,121,122,123,130,127,129,,',
'124,125,,,,,144,145,131,132,,,,,,381,,,,,,,136,135,,120,141,138,137',
'133,134,128,126,118,140,119,642,434,146,,643,,,,,,,,,142,143,,139,121',
'122,123,130,127,129,,,124,125,,,,,144,145,131,132,,,,,,268,,,,,,,136',
'135,,120,141,138,137,133,134,128,126,118,140,119,644,440,146,,645,,',
',,,,,,142,143,,139,121,122,123,130,127,129,,,124,125,,,,,144,145,131',
'132,,,,,,,,,,,,,136,135,,120,141,138,137,133,134,128,126,118,140,119',
'430,434,146,,431,,,,,,,,,142,143,,139,121,122,123,130,127,129,,,124',
'125,,,,,144,145,131,132,,,,,,268,,,,,,,136,135,,120,141,138,137,133',
'134,128,126,118,140,119,961,440,146,,962,,,,,,,,,142,143,,139,121,122',
'123,130,127,129,,,124,125,,,,,144,145,131,132,,,,,,,,,,,,,136,135,,120',
'141,138,137,133,134,128,126,118,140,119,959,434,146,,960,,,,,,,,,142',
'143,,139,121,122,123,130,127,129,,,124,125,,,,,144,145,131,132,,,,,',
'268,,,,,,,136,135,,120,141,138,137,133,134,128,126,118,140,119,443,434',
'146,,444,,,,,,,,,142,143,,139,121,122,123,130,127,129,,,124,125,,,,',
'144,145,131,132,,,,,,,,,,,,,136,135,,120,141,138,137,133,134,128,126',
'118,140,119,443,434,146,,444,,,,,,,,,142,143,,139,121,122,123,130,127',
'129,,,124,125,,,,,144,145,131,132,,,,,,,,,,,,,136,135,,120,141,138,137',
'133,134,128,126,118,140,119,443,434,146,,444,,,,,,,,,142,143,,139,121',
'122,123,130,127,129,,,124,125,,,,,144,145,131,132,,,,,,,,,,,,,136,135',
',120,141,138,137,133,134,128,126,118,140,119,642,434,146,,643,,,,,,',
',,142,143,,139,121,122,123,130,127,129,,,124,125,,,,,144,145,131,132',
',,,,,268,,,,,,,136,135,,120,141,138,137,133,134,128,126,118,140,119',
'644,440,146,,645,,,,,,,,,142,143,,139,121,122,123,130,127,129,,,124',
'125,,,,,144,145,131,132,,,,,,,,,,,,,136,135,,120,141,138,137,133,134',
'128,126,118,140,119,741,440,146,,892,,,,,,,,,142,143,,139,121,122,123',
'130,127,129,,,124,125,,,,,144,145,131,132,,,,,,,,,,,,,136,135,,120,141',
'138,137,133,134,128,126,118,140,119,443,434,146,,444,,,,,,,,,142,143',
',139,121,122,123,130,127,129,,,124,125,,,,,144,145,131,132,,,,,,268',
',,,,,,136,135,,120,141,138,137,133,134,128,126,118,140,119,741,440,146',
',739,,,,,,,,,142,143,,139,121,122,123,130,127,129,,,124,125,,,,,144',
'145,131,132,,,,,,,,,,,,,136,135,,120,141,138,137,133,134,128,126,118',
'140,119,735,440,146,,736,,,,,,,,,142,143,,139,121,122,123,130,127,129',
',,124,125,,,,,144,145,131,132,,,,,,,,,,,,,136,135,,120,141,138,137,133',
'134,128,126,118,140,119,733,434,146,,734,,,,,,,,,142,143,,139,121,122',
'123,130,127,129,,,124,125,,,,,144,145,131,132,,,,,,268,,,,,,,136,135',
',120,141,138,137,133,134,128,126,118,140,119,443,434,146,,444,,,,,,',
',,142,143,,139,121,122,123,130,127,129,,,124,125,,,,,144,145,131,132',
',,,,,,,,,,,,136,135,,120,141,138,137,133,134,128,126,118,140,119,686',
'434,146,,687,,,,,,,,,142,143,,139,121,122,123,130,127,129,,,124,125',
',,,,144,145,131,132,,,,,,268,,,,,,,136,135,,120,141,138,137,133,134',
'128,126,118,140,119,689,440,146,,690,,,,,,,,,142,143,,139,121,122,123',
'130,127,129,,,124,125,,,,,144,145,131,132,,,,,,,,,,,,,136,135,,120,141',
'138,137,133,134,128,126,118,140,119,443,434,146,,444,,,,,,,,,142,143',
',139,121,122,123,130,127,129,,,124,125,,,,,144,145,131,132,,,,,,,,,',
',,,136,135,,120,141,138,137,133,134,128,126,118,140,119,,,146' ]
        racc_action_table = arr = ::Array.new(25094, 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 = [
'58,58,58,392,58,967,735,839,58,58,693,746,746,58,71,58,58,58,58,58,58',
'58,71,703,698,698,703,58,58,58,58,58,58,58,629,485,58,615,26,293,457',
'457,453,58,587,354,58,58,347,58,58,58,58,58,55,58,58,58,681,58,58,734',
'58,58,733,366,392,357,568,485,736,604,604,735,376,348,321,564,310,310',
'698,376,838,807,629,58,889,352,58,352,896,58,453,696,58,681,457,924',
'615,615,58,746,792,927,26,293,746,615,58,948,959,735,839,58,58,58,58',
'58,58,967,960,967,58,58,967,26,293,369,369,369,58,369,934,58,934,369',
'369,736,58,58,369,55,369,369,369,369,369,369,369,587,354,807,792,791',
'369,369,369,369,369,369,369,604,347,369,347,697,734,347,310,733,369',
'366,357,369,369,736,369,369,369,369,369,321,369,369,369,209,369,369',
'807,348,366,348,949,949,348,366,838,807,838,838,889,838,889,791,896',
'889,896,561,561,896,961,924,369,924,962,369,924,927,369,927,686,369',
'927,948,959,948,959,690,948,959,290,699,3,291,960,209,960,3,577,960',
'369,369,369,369,369,369,497,687,704,369,369,689,525,578,456,456,456',
'369,456,287,369,387,456,456,387,369,369,456,508,456,456,456,456,456',
'456,456,314,705,507,314,497,456,456,456,456,456,456,456,686,961,456',
'42,42,962,690,690,14,456,290,42,456,456,508,456,456,456,456,456,708',
'456,456,456,507,456,456,687,456,456,689,689,525,841,387,387,961,686',
'961,287,962,961,962,710,690,962,686,290,211,14,577,456,577,690,456,577',
'290,456,14,42,456,42,296,296,687,578,456,578,689,525,578,553,317,687',
'456,317,287,689,525,456,456,456,456,456,456,287,712,430,456,456,713',
'431,714,455,455,455,456,455,211,456,313,455,455,313,456,456,455,643',
'455,455,455,455,455,455,455,717,361,83,83,292,455,455,455,455,455,455',
'455,722,430,455,642,728,431,841,648,841,455,430,841,455,455,431,455',
'455,455,455,455,377,455,455,455,394,455,455,377,455,455,643,648,648',
'648,648,648,648,648,648,648,648,648,361,361,648,648,346,346,648,648',
'361,455,379,642,455,361,110,455,730,379,455,110,110,648,295,648,455',
'648,648,648,648,648,648,648,455,648,361,855,855,455,455,455,455,455',
'455,394,394,394,455,455,732,648,540,454,454,454,455,454,361,455,361',
'454,454,539,455,455,454,383,454,454,454,454,454,454,454,538,860,35,737',
'852,454,454,454,454,454,454,454,860,385,454,852,370,300,389,371,628',
'454,193,370,454,454,371,454,454,454,454,454,372,454,454,454,301,454',
'454,372,454,454,351,35,741,860,860,351,852,852,742,462,35,383,383,383',
'25,25,300,302,750,628,529,454,25,750,454,300,597,454,628,97,454,597',
'385,385,385,373,454,389,389,389,860,462,373,852,454,462,462,925,925',
'454,454,454,454,454,454,925,526,744,454,454,753,374,744,452,452,452',
'454,452,374,454,375,452,452,757,454,454,452,375,452,452,452,452,452',
'452,452,5,5,5,5,5,452,452,452,452,452,452,452,278,758,452,364,364,278',
'925,760,925,452,761,364,452,452,762,452,452,452,452,452,452,452,452',
'452,764,452,452,305,452,452,767,484,484,484,484,484,484,484,484,484',
'484,484,355,355,484,484,720,720,484,484,355,452,37,37,452,15,15,452',
'519,364,452,364,452,484,312,484,452,484,484,484,484,484,484,484,452',
'484,774,739,739,452,452,452,452,452,452,739,78,77,452,452,739,484,484',
'451,451,451,452,451,355,452,355,451,451,517,452,452,451,514,451,451',
'451,451,451,451,451,680,680,680,680,680,451,451,451,451,451,451,451',
'513,509,451,13,13,503,739,502,739,451,499,13,451,451,315,451,451,451',
'451,451,451,451,451,451,316,451,451,795,451,451,796,784,784,784,784',
'784,784,784,784,784,784,784,711,711,784,784,799,801,784,784,711,451',
'804,805,451,806,318,451,811,13,451,13,451,784,41,784,451,784,784,784',
'784,784,784,784,451,784,814,303,303,451,451,451,451,451,451,303,815',
'466,451,451,465,784,830,442,442,442,451,442,711,451,711,442,442,833',
'451,451,442,36,442,442,442,442,442,442,442,279,279,279,279,279,442,442',
'442,442,442,442,442,464,463,442,208,208,326,303,327,303,442,843,208',
'442,442,846,442,442,442,442,442,442,442,442,442,847,442,442,848,442',
'442,329,779,779,779,779,779,779,779,779,779,779,779,288,288,779,779',
'330,342,779,779,288,442,345,34,442,442,870,442,871,208,442,208,442,779',
'442,779,442,779,779,779,779,779,779,779,442,779,437,589,589,442,442',
'442,442,442,442,589,20,882,442,442,353,779,953,441,441,441,442,441,288',
'442,288,441,441,892,442,442,441,893,441,441,441,441,441,441,441,955',
'898,899,429,428,441,441,441,441,441,441,441,12,907,441,840,840,909,589',
'912,589,441,461,840,441,441,913,441,441,441,441,441,441,441,441,441',
'914,441,441,915,441,441,424,446,446,446,446,446,446,446,446,446,446',
'446,461,11,446,446,461,461,446,446,10,441,956,422,441,441,926,441,958',
'840,441,840,441,446,441,446,441,446,446,446,446,446,446,446,441,446',
'9,6,936,441,441,441,441,441,441,824,416,944,441,441,356,446,410,440',
'440,440,441,440,1,441,362,440,440,391,441,441,440,388,440,440,440,440',
'440,440,440,555,358,632,637,267,440,440,440,440,440,440,440,640,255',
'440,626,252,824,824,824,824,440,646,647,440,440,251,440,440,440,440',
'440,440,440,440,440,619,440,440,280,440,440,655,480,657,219,213,555',
'555,555,555,481,768,768,669,939,768,768,768,212,939,282,673,440,676',
'210,440,440,283,440,284,939,440,580,440,480,440,683,440,480,480,480',
'480,481,685,579,440,481,481,481,481,440,440,440,440,440,440,289,688',
'573,440,440,939,939,939,939,691,692,440,858,,440,,,858,,440,440,0,0',
'0,0,0,,,858,0,0,,,,0,,0,0,0,0,0,0,0,,939,,,,0,0,0,0,0,0,0,,,0,,858,858',
'858,858,0,0,0,0,0,0,,0,0,0,0,0,,0,0,0,,0,0,,0,0,,773,773,773,773,773',
'773,773,773,773,773,773,,858,773,773,,,773,773,,0,,,0,,,0,,,0,,0,773',
',773,0,773,773,773,773,773,773,773,0,773,,,,0,0,0,0,0,0,,,,0,0,,773',
',945,945,945,0,945,,0,,945,945,,0,0,945,,945,945,945,945,945,945,945',
',,,,,945,945,945,945,945,945,945,,829,945,829,829,829,,829,,945,,,945',
'945,,945,945,945,945,945,945,945,945,945,,945,945,,945,945,,19,19,19',
'19,19,19,19,19,19,19,19,,,19,19,,,19,19,,945,,,945,,,945,,,945,,945',
'19,,19,945,19,19,19,19,19,19,19,945,19,,,,945,945,945,945,945,945,,',
',945,945,,19,,349,349,349,945,349,,945,,349,349,,945,945,349,,349,349',
'349,349,349,349,349,,,,,,349,349,349,349,349,349,349,,569,349,569,569',
'569,,569,,349,,,349,349,,349,349,349,349,349,,349,349,349,,349,349,',
'349,349,,793,793,793,793,793,793,793,793,793,793,793,,,793,793,,,793',
'793,,349,,,349,,,349,,,349,,,793,,793,349,793,793,793,793,793,793,793',
'349,793,,,,349,349,349,349,349,349,,,,349,349,,793,,350,350,350,349',
'350,,349,,350,350,,349,349,350,,350,350,350,350,350,350,350,,,,,,350',
'350,350,350,350,350,350,,,350,,,,,,,350,,,350,350,,350,350,350,350,350',
',350,350,350,,350,350,,350,350,,873,873,873,873,873,873,873,873,873',
'873,873,,,873,873,,,873,873,,350,,,350,,,350,,,350,,,873,,873,350,873',
'873,873,873,873,873,873,350,873,,,,350,350,350,350,350,350,,,,350,350',
',873,,432,432,432,350,432,,350,,432,432,,350,350,432,,432,432,432,432',
'432,432,432,,,,,,432,432,432,432,432,432,432,,,432,,,,,,,432,,,432,432',
',432,432,432,432,432,432,432,432,432,,432,432,,432,432,,536,536,536',
'536,536,536,536,536,536,536,536,,,536,536,,,536,536,,432,,,432,432,',
'432,,,432,,432,536,432,536,432,536,536,536,536,536,536,536,432,536,',
',,432,432,432,432,432,432,,,,432,432,,536,,421,421,421,432,421,,432',
',421,421,,432,432,421,,421,421,421,421,421,421,421,,,,,,421,421,421',
'421,421,421,421,,,421,,,,,419,,421,,,421,421,,421,421,421,421,421,,421',
'421,421,,421,421,,421,421,,419,419,419,419,419,419,419,419,419,419,419',
',,419,419,,,419,419,,421,,,421,,,421,,,421,,,419,,419,421,419,419,419',
'419,419,419,419,421,419,,,,421,421,421,421,421,421,,,,421,421,,419,',
'419,,,421,,,421,,,,,421,421,943,943,943,943,943,,,,943,943,,,,943,,943',
'943,943,943,943,943,943,,,,,,943,943,943,943,943,943,943,,,943,,,,,',
'943,943,,943,943,943,,943,943,943,943,943,,943,943,943,,943,943,,943',
'943,,672,672,672,672,672,672,672,672,672,672,672,,,672,672,,,672,672',
',943,,,943,,,943,,,943,,943,672,,672,943,672,672,672,672,672,672,672',
'943,672,,,,943,943,943,943,943,943,,,,943,943,,672,,672,,,943,,,943',
',,,,943,943,935,935,935,935,935,,,,935,935,,,,935,,935,935,935,935,935',
'935,935,,,,,,935,935,935,935,935,935,935,,,935,,,,,,935,935,,935,935',
'935,,935,935,935,935,935,,935,935,935,,935,935,,935,935,,427,427,427',
'427,427,427,427,427,427,427,427,,,427,427,,,427,427,,935,,,935,,,935',
',,935,,935,427,,427,935,427,427,427,427,427,427,427,935,427,,,,935,935',
'935,935,935,935,,,,935,935,,427,,,,,935,,,935,,,,,935,935,930,930,930',
'930,930,,,,930,930,,,,930,,930,930,930,930,930,930,930,,,,,,930,930',
'930,930,930,930,930,,,930,,,,,,930,930,,930,930,930,,930,930,930,930',
'930,,930,930,930,,930,930,,930,930,,875,875,875,875,875,875,875,875',
'875,875,875,,,875,875,,,875,875,,930,,,930,,,930,,,930,,930,875,,875',
'930,875,875,875,875,875,875,875,930,875,,,,930,930,930,930,930,930,',
',,930,930,,875,,,,,930,,,930,,,,,930,930,923,923,923,923,923,,,,923',
'923,,,,923,,923,923,923,923,923,923,923,,,,,,923,923,923,923,923,923',
'923,,,923,,,,,,923,923,,923,923,923,,923,923,923,923,923,,923,923,923',
',923,923,,923,923,,695,695,695,695,695,695,695,695,695,695,695,,,695',
'695,,,695,695,,923,,,923,,,923,,,923,,923,695,,695,923,695,695,695,695',
'695,695,695,923,695,,,,923,923,923,923,923,923,,,,923,923,,695,,921',
'921,921,923,921,,923,,921,921,,923,923,921,,921,921,921,921,921,921',
'921,,,,,,921,921,921,921,921,921,921,,,921,,,,,,,921,,,921,921,,921',
'921,921,921,921,,921,921,921,,921,921,,921,921,,249,249,249,249,249',
'249,249,249,249,249,249,,,249,249,,,249,249,,921,,,921,,,921,,,921,',
'921,249,921,249,921,249,249,249,249,249,249,249,921,249,,,,921,921,921',
'921,921,921,,,,921,921,,249,,,,,921,,,921,,,,,921,921,904,904,904,904',
'904,,,,904,904,,,,904,,904,904,904,904,904,904,904,,,,,,904,904,904',
'904,904,904,904,,,904,,,,,,904,904,,904,904,904,,904,904,904,904,904',
',904,904,904,,904,904,,904,904,,786,786,786,786,786,786,786,786,786',
'786,786,,,786,786,,,786,786,,904,,,904,,,904,,,904,,904,786,,786,904',
'786,786,786,786,786,786,786,904,786,,,,904,904,904,904,904,904,,,,904',
'904,,786,,,,,904,,,904,,,,,904,904,901,901,901,901,901,,,,901,901,,',
',901,,901,901,901,901,901,901,901,,,,,,901,901,901,901,901,901,901,',
',901,,,,,,901,901,,901,901,901,,901,901,901,901,901,,901,901,901,,901',
'901,,901,901,,781,781,781,781,781,781,781,781,781,781,781,,,781,781',
',,781,781,,901,,,901,,,901,,,901,,901,781,,781,901,781,781,781,781,781',
'781,781,901,781,,,,901,901,901,901,901,901,,,,901,901,,781,,900,900',
'900,901,900,,901,,900,900,,901,901,900,,900,900,900,900,900,900,900',
',,,,,900,900,900,900,900,900,900,,718,900,718,718,718,,718,,900,,,900',
'900,,900,900,900,900,900,,900,900,900,,900,900,,900,900,338,,338,338',
'338,,338,,,566,718,566,566,566,,566,,,718,,,900,,,900,,,900,,,900,,900',
',,,900,,,338,,,,,900,,,338,566,900,900,900,900,900,900,,566,,900,900',
',,,890,890,890,900,890,,900,,890,890,,900,900,890,,890,890,890,890,890',
'890,890,,,,,,890,890,890,890,890,890,890,,,890,,,,,,,890,,,890,890,',
'890,890,890,890,890,,890,890,890,,890,890,652,,652,652,652,469,652,',
',,,,,,,,,,,,,,469,469,890,,,890,,,890,,,890,,,,469,,652,,469,469,469',
'469,,,652,652,652,652,,890,890,890,890,890,890,652,,,890,890,,,,17,17',
'17,890,17,,890,,17,17,,890,890,17,,17,17,17,17,17,17,17,,,,,,17,17,17',
'17,17,17,17,,,17,,,,,,,17,,,17,17,,17,17,17,17,17,,17,17,17,,17,17,',
'17,17,,479,479,479,479,479,479,479,,,479,479,,,,,,,479,479,,17,,,17',
'17,,17,,,17,,,479,,479,17,479,479,479,479,479,479,479,17,479,,,,17,17',
'17,17,17,17,,,,17,17,,,,18,18,18,17,18,,17,,18,18,,17,17,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,,478,478,478,478,478,478,478,,,478,478',
',,,,,,478,478,,18,,,18,,,18,,,18,,,478,,478,18,478,478,478,478,478,478',
'478,18,478,,,,18,18,18,18,18,18,,,,18,18,,,,,,,18,,,18,,,,,18,18,886',
'886,886,886,886,,,,886,886,,,,886,,886,886,886,886,886,886,886,,,,,',
'886,886,886,886,886,886,886,,,886,,,,,,886,886,,886,886,886,,886,886',
'886,886,886,,886,886,886,,886,886,,886,886,,477,477,477,477,477,477',
'477,,,477,477,,,,,,,477,477,,886,,,886,,,886,,,886,,886,477,,477,886',
'477,477,477,477,477,477,477,886,477,,,,886,886,886,886,886,886,,,,886',
'886,,,,881,881,881,886,881,,886,,881,881,,886,886,881,,881,881,881,881',
'881,881,881,,,,,,881,881,881,881,881,881,881,,,881,,,,,,,881,,,881,881',
',881,881,881,881,881,881,881,881,881,,881,881,,881,881,,476,476,476',
'476,476,476,476,,,476,476,,,,,,,476,476,,881,,,881,,,881,,,881,,,476',
'881,476,881,476,476,476,476,476,476,476,881,476,,,,881,881,881,881,881',
'881,,,,881,881,,,,22,22,22,881,22,,881,,22,22,,881,881,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,,475,475,475,475,475,475,475,,,475,475',
',,,,,,475,475,,22,,,22,,,22,,,22,,22,475,22,475,22,475,475,475,475,475',
'475,475,22,475,,,,22,22,22,22,22,22,,,,22,22,,,,23,23,23,22,23,,22,',
'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,,474,,,,',
',,,,,,,,,,,,474,474,,23,,,23,,,23,,,23,,23,474,23,474,23,474,474,474',
'474,,,474,23,474,,,,23,23,23,23,23,23,,,,23,23,,,,24,24,24,23,24,,23',
',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,,473,,,,',
',,,,,,,,,,,,473,473,,24,,,24,,,24,,,24,,24,473,24,473,24,473,473,473',
'473,,,473,24,473,,,,24,24,24,24,24,24,,,,24,24,,,,877,877,877,24,877',
',24,,877,877,,24,24,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,,471,,,,,,,,,,,,,,,,,471,471,,877,,,877,,',
'877,,,877,,,471,,471,877,471,471,471,471,,,471,877,471,,,,877,877,877',
'877,877,877,,,,877,877,,,,876,876,876,877,876,,877,,876,876,,877,877',
'876,,876,876,876,876,876,876,876,,,,,,876,876,876,876,876,876,876,,',
'876,,,,,,,876,,,876,876,,876,876,876,876,876,,876,876,876,,876,876,',
'876,876,,483,483,483,483,483,483,483,483,,483,483,,,,,,,483,483,,876',
',,876,,,876,,,876,,,483,,483,876,483,483,483,483,483,483,483,876,483',
',,,876,876,876,876,876,876,,,,876,876,,,,27,27,27,876,27,,876,,27,27',
',876,876,27,,27,27,27,27,27,27,27,,,,,,27,27,27,27,27,27,27,,,27,,,',
',,,27,,,27,27,,27,27,27,27,27,27,27,27,27,,27,27,,27,27,,482,482,482',
'482,482,482,482,,,482,482,,,,,,,482,482,,27,,,27,27,,27,,,27,,27,482',
'27,482,27,482,482,482,482,482,482,482,27,482,,,,27,27,27,27,27,27,,',
',27,27,,,,,,,27,,,27,,,,,27,27,30,30,30,30,30,,,,30,30,,,,30,,30,30',
'30,30,30,30,30,,,,,,30,30,30,30,30,30,30,,,30,,,,,,30,30,,30,30,30,',
'30,30,30,30,30,,30,30,30,,30,30,,30,30,,472,,,,,,,,,,,,,,,,,472,472',
',30,,,30,,,30,,,30,,30,472,,472,30,472,472,472,472,,,472,30,472,,,,30',
'30,30,30,30,30,,,,30,30,,,,31,31,31,30,31,,30,,31,31,,30,30,31,,31,31',
'31,31,31,31,31,,,,,,31,31,31,31,31,31,31,,,31,,,,,,,31,,,31,31,,31,31',
'31,31,31,,31,31,31,,31,31,322,,322,322,322,,322,,,,,,,,,,,,,,,,,,31',
',,31,,,31,,,31,,31,,,,322,,322,,,,,,322,322,322,322,,31,31,31,31,31',
'31,,,,31,31,,,,32,32,32,31,32,,31,,32,32,,31,31,32,,32,32,32,32,32,32',
'32,,,,,,32,32,32,32,32,32,32,,,32,,,,,,,32,,,32,32,,32,32,32,32,32,',
'32,32,32,,32,32,749,,749,749,749,749,749,,,,,,,,,,749,,,,,,,,32,,,32',
',,32,,,32,,,,,,749,,,,,,,,749,749,749,749,,32,32,32,32,32,32,,,,32,32',
',,,32,,,32,,,32,,,,,32,32,862,862,862,,862,,,749,862,862,,,,862,,862',
'862,862,862,862,862,862,,,,,,862,862,862,862,862,862,862,,,862,,,,,',
',862,,,862,862,,862,862,862,862,862,,862,862,862,,862,862,,862,862,',
'470,470,470,470,470,470,470,,,470,470,,,,,,,470,470,,862,,,862,,,862',
',,862,,,470,,470,862,470,470,470,470,470,470,470,862,470,,,,862,862',
'862,862,862,862,,,,862,862,,,,,,,862,,,862,,,,,862,862,835,835,835,835',
'835,,,,835,835,,,,835,,835,835,835,835,835,835,835,,,,,,835,835,835',
'835,835,835,835,,,835,,,,,,835,835,,835,835,835,,835,835,835,835,835',
',835,835,835,,835,835,,835,835,,460,460,460,460,460,460,460,460,460',
'460,460,,,460,460,,,460,460,,835,,,835,,,835,,,835,,835,460,,460,835',
'460,460,460,460,460,460,460,835,460,,,,835,835,835,835,835,835,,,,835',
'835,,,,,,,835,,,835,,,,,835,835,834,834,834,834,834,,,,834,834,,,,834',
',834,834,834,834,834,834,834,,,,,,834,834,834,834,834,834,834,,,834',
',,,,,834,834,,834,834,834,,834,834,834,834,834,,834,834,834,,834,834',
',834,834,,459,459,459,459,459,459,459,459,459,459,459,,,459,459,,,459',
'459,,834,,,834,,,834,,,834,,834,459,,459,834,459,459,459,459,459,459',
'459,834,459,,,,834,834,834,834,834,834,,,,834,834,,,,832,832,832,834',
'832,,834,,832,832,,834,834,832,,832,832,832,832,832,832,832,,,,,,832',
'832,832,832,832,832,832,,,832,,,,,,,832,,,832,832,,832,832,832,832,832',
',832,832,832,,832,832,,832,832,,468,,,,,,,,,,,,,,,,,468,468,,832,,,832',
',,832,,,832,,,468,,468,832,468,468,468,468,,,,832,,,,,832,832,832,832',
'832,832,,,,832,832,,,,38,38,38,832,38,,832,,38,38,,832,832,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,,467,,,,,,,,,,,,,,,,,467,467,,38,,',
'38,,,38,,,38,,,467,,467,38,467,467,467,467,,,,38,,,,,38,38,38,38,38',
'38,,,,38,38,,,,39,39,39,38,39,,38,,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,,,,40,40,40,39,40,,39,,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,813,813,813,813,813,,,,813,813,,,,813,,813',
'813,813,813,813,813,813,,,,,,813,813,813,813,813,813,813,,,813,,,,,',
'813,813,,813,813,813,,813,813,813,813,813,,813,813,813,,813,813,,813',
'813,,,,,,,,,,,,,,,,,,,,,,813,,,813,,,813,,,813,,813,,,,813,,,,,,,,813',
',,,,813,813,813,813,813,813,,,,813,813,,,,802,802,802,813,802,,813,',
'802,802,,813,813,802,,802,802,802,802,802,802,802,,,,,,802,802,802,802',
'802,802,802,,,802,,,,,,,802,,,802,802,,802,802,802,802,802,,802,802',
'802,,802,802,,802,802,,,,,,,,,,,,,,,,,,,,,,802,,,802,,,802,,,802,,802',
',,,802,,,,,,,,802,,,,,802,802,802,802,802,802,,,,802,802,,,,52,52,52',
'802,52,,802,,52,52,,802,802,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,52,53,,52,,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,,,,54,54,54,53',
'54,,53,,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,,,,790,790,790,54,790,,54,,790,790,,54,54,790,,790',
'790,790,790,790,790,790,,,,,,790,790,790,790,790,790,790,,,790,,,,,',
',790,,,790,790,,790,790,790,790,790,,790,790,790,,790,790,,790,790,',
',,,,,,,,,,,,,,,,,,,,790,,,790,,,790,,,790,,,,,,790,,,,,,,,790,,,,,790',
'790,790,790,790,790,,,,790,790,,,,789,789,789,790,789,,790,,789,789',
',790,790,789,,789,789,789,789,789,789,789,,,,,,789,789,789,789,789,789',
'789,,,789,,,,,,,789,,,789,789,,789,789,789,789,789,,789,789,789,,789',
'789,,789,789,,,,,,,,,,,,,,,,,,,,,,789,,,789,,,789,,,789,,,,,,789,,,',
',,,,789,,,,,789,789,789,789,789,789,,,,789,789,,,,57,57,57,789,57,,789',
',57,57,,789,789,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,,,,381,381,381,57,381,,57,,381,381,,57,57,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,,,,61,61,61,381,61,,381,,61,61,,381,381,61,,61,61',
'61,61,61,61,61,,,,,,61,61,61,61,61,61,61,,,61,,,,,,,61,,,61,61,,61,61',
'61,61,61,,61,61,61,,61,61,,61,61,,,,,,,,,,,,,,,,,,,,,,61,,,61,,,61,',
',61,,,,,,61,,,,,,,,61,,,,,61,61,61,61,61,61,,,,61,61,61,,,,,61,61,,',
'61,,,,,61,61,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,56,,56,56,56,,56,,,,,,,,,,,,,,,,,,62,,,62,,,62,,,62,,62,,,,56',
'56,,,,,,,56,56,56,56,,62,62,62,62,62,62,,,,62,62,,,,63,63,63,62,63,',
'62,,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,559,,559,559',
'559,,559,,,,,,,,,,,,,,,63,,,63,,,63,,,63,,,63,,,,,,559,,,,,,,,559,559',
'559,559,,63,63,63,63,63,63,,,,63,63,,,,788,788,788,63,788,,63,,788,788',
',63,63,788,,788,788,788,788,788,788,788,,,,,,788,788,788,788,788,788',
'788,,,788,,,,,,,788,,,788,788,,788,788,788,788,788,,788,788,788,,788',
'788,,788,788,,,,,,,,,,,,,,,,,,,,,,788,,,788,,,788,,,788,,,,,,788,,,',
',,,,788,,,,,788,788,788,788,788,788,,,,788,788,,,,777,777,777,788,777',
',788,,777,777,,788,788,777,,777,777,777,777,777,777,777,,,,,,777,777',
'777,777,777,777,777,,,777,,,,,,,777,,,777,777,,777,777,777,777,777,',
'777,777,777,,777,777,,777,777,,,,,,,,,,,,,,,,,,,,,,777,,,777,,,777,',
',777,,,,,,777,,,,,,,,777,,,,,777,777,777,777,777,777,,,,777,777,,,,776',
'776,776,777,776,,777,,776,776,,777,777,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,,,,775,775,775,776,775,,776,,775,775,,776,776,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,769,769,769,769',
'769,,,,769,769,,,,769,,769,769,769,769,769,769,769,,,,,,769,769,769',
'769,769,769,769,,,769,,,,,,769,769,,769,769,769,,769,769,769,769,769',
',769,769,769,,769,769,,769,769,,,,,,,,,,,,,,,,,,,,,,769,,,769,,,769',
',,769,,769,,,,769,,,,,,,,769,,,,,769,769,769,769,769,769,,,,769,769',
',,,755,755,755,769,755,,769,,755,755,,769,769,755,,755,755,755,755,755',
'755,755,,,,,,755,755,755,755,755,755,755,,,755,,,,,,,755,,,755,755,',
'755,755,755,755,755,,755,755,755,,755,755,,755,755,,,,,,,,,,,,,,,,,',
',,,,755,,,755,,,755,,,755,,,,,,755,,,,,,,,755,,,,,755,755,755,755,755',
'755,,,,755,755,,,,84,84,84,755,84,,755,,84,84,,755,755,84,,84,84,84',
'84,84,84,84,,84,,,,84,84,84,84,84,84,84,,,84,,,,,,,84,,,84,84,,84,84',
'84,84,84,84,84,84,84,,84,84,,84,84,,,,,,,,,,,,,,,,,,,,,,84,,,84,84,',
'84,,,84,,84,,84,,84,,,,,,,,84,,84,,,84,84,84,84,84,84,,,,84,84,,,,87',
'87,87,84,87,,84,,87,87,,84,84,87,,87,87,87,87,87,87,87,,87,,,,87,87',
'87,87,87,87,87,,,87,,,,,,,87,,,87,87,,87,87,87,87,87,87,87,87,87,,87',
'87,,87,87,,,,,,,,,,,,,,,,,,,,,,87,,,87,87,,87,,,87,,87,,87,,87,,,,,',
',,87,,87,,,87,87,87,87,87,87,,,,87,87,,,,,,,87,,,87,,,,,87,87,748,748',
'748,748,748,,,,748,748,,,,748,,748,748,748,748,748,748,748,,,,,,748',
'748,748,748,748,748,748,,,748,,,,,,748,748,,748,748,748,,748,748,748',
'748,748,,748,748,748,,748,748,,748,748,,,,,,,,,,,,,,,,,,,,,,748,,,748',
',,748,,,748,,748,,,,748,,,,,,,,748,,,,,748,748,748,748,748,748,,,,748',
'748,,,,,,,748,,,748,,,,,748,748,99,99,99,99,99,,,,99,99,,,,99,,99,99',
'99,99,99,99,99,,,,,,99,99,99,99,99,99,99,,,99,,,,,,99,99,99,99,99,99',
',99,99,99,99,99,,99,99,99,,99,99,,99,99,,,,,,,,,,,,,,,,,,,,,,99,,,99',
',,99,,,99,,99,,,,99,,,,,,,,99,,,,,99,99,99,99,99,99,,,,99,99,,,,,,99',
'99,,,99,,,,,99,99,103,103,103,,103,,,,103,103,,,,103,,103,103,103,103',
'103,103,103,,,,,,103,103,103,103,103,103,103,,,103,,,,,,,103,,,103,103',
',103,103,103,103,103,,103,103,103,,103,103,,103,103,,,,,,,,,,,,,,,,',
',,,,,103,,,103,,,103,,,103,,,,,,103,,,,,,,,103,,,,,103,103,103,103,103',
'103,,,,103,103,,,,104,104,104,103,104,,103,,104,104,,103,103,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,104,105,,104,,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,,,,106,106,106,105,106',
',105,,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,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,107,107,107,,,,107,107,,,,,,,107,,,107,,,,,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,,,,108,108,,,,,,,108,,,108,,,,,108,108,747,747,747,747,747,,,,747',
'747,,,,747,,747,747,747,747,747,747,747,,,,,,747,747,747,747,747,747',
'747,,,747,,,,,,747,747,,747,747,747,,747,747,747,747,747,,747,747,747',
',747,747,,747,747,,,,,,,,,,,,,,,,,,,,,,747,,,747,,,747,,,747,,747,,',
',747,,,,,,,,747,,,,,747,747,747,747,747,747,,,,747,747,,,,,,,747,,,747',
',,,,747,747,743,743,743,743,743,,,,743,743,,,,743,,743,743,743,743,743',
'743,743,,,,,,743,743,743,743,743,743,743,,,743,,,,,,743,743,,743,743',
'743,,743,743,743,743,743,,743,743,743,,743,743,,743,743,,,,,,,,,,,,',
',,,,,,,,,743,,,743,,,743,,,743,,743,,,,743,,,,,,,,743,,,,,743,743,743',
'743,743,743,,,,743,743,,,,738,738,738,743,738,,743,,738,738,,743,743',
'738,,738,738,738,738,738,738,738,,,,,,738,738,738,738,738,738,738,,',
'738,,,,,,,738,,,738,738,,738,738,738,738,738,,738,738,738,,738,738,',
'738,738,,,,,,,,,,,,,,,,,,,,,,738,,,738,,,738,,,738,,,,,,738,,,,,,,,738',
',,,,738,738,738,738,738,738,,,,738,738,,,,,,,738,,,738,,,,,738,738,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,195,195',
',,,195,195,,,,196,196,196,195,196,,195,,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,,,,197,197,197,196,197,,196,,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,,,,198,198,198,197',
'198,,197,,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,,,',
'199,199,199,198,199,,198,,199,199,,198,198,199,,199,199,199,199,199',
'199,199,,,,,,199,199,199,199,199,199,199,,,199,,,,,,,199,,,199,199,',
'199,199,199,199,199,199,199,199,199,,199,199,,199,199,,,,,,,,,,,,,,',
',,,,,,,199,,,199,,,199,,,199,,199,,,,199,,,,,,,,199,,,,,199,199,199',
'199,199,199,,,,199,199,,,,200,200,200,199,200,,199,,200,200,,199,199',
'200,,200,200,200,200,200,200,200,,,,,,200,200,200,200,200,200,200,,',
'200,,,,,,,200,,,200,200,,200,200,200,200,200,200,200,200,200,,200,200',
',200,200,,,,,,,,,,,,,,,,,,,,,,200,,,200,,,200,,,200,,200,,,,200,,,,',
',,,200,,,,,200,200,200,200,200,200,,,,200,200,,,,731,731,731,200,731',
',200,,731,731,,200,200,731,,731,731,731,731,731,731,731,,,,,,731,731',
'731,731,731,731,731,,,731,,,,,,,731,,,731,731,,731,731,731,731,731,',
'731,731,731,,731,731,,731,731,,,,,,,,,,,,,,,,,,,,,,731,,,731,,,731,',
',731,,731,,,,731,,,,,,,,731,,,,,731,731,731,731,731,731,,,,731,731,',
',,700,700,700,731,700,,731,,700,700,,731,731,700,,700,700,700,700,700',
'700,700,,,,,,700,700,700,700,700,700,700,,,700,,,,,,,700,,,700,700,',
'700,700,700,700,700,,700,700,700,,700,700,,700,700,,,,,,,,,,,,,,,,,',
',,,,700,,,700,,,700,,,700,,700,,,,700,,,,,,,,700,,,,,700,700,700,700',
'700,700,,,,700,700,,,,694,694,694,700,694,,700,,694,694,,700,700,694',
',694,694,694,694,694,694,694,,,,,,694,694,694,694,694,694,694,,,694',
',,,,,,694,,,694,694,,694,694,694,694,694,,694,694,694,,694,694,,,,,',
',,,,,,,,,,,,,,,,,,,694,,,694,,,694,,,694,,,,,,,,,,,,,,,,,,,694,694,694',
'694,694,694,,,,694,694,,,,204,204,204,694,204,,694,,204,204,,694,694',
'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,204,205,,204,',
'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,,,,206,206,206',
'205,206,,205,,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',
',,,682,682,682,206,682,,206,,682,682,,206,206,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,600,,600,600,600,600,600,',
',,,,,,,,600,,,,,,,,682,,,682,,,682,,,682,,,,,,600,600,,,,,,,600,600',
'600,600,,682,682,682,682,682,682,,,,682,682,,,,,,,682,,,682,,,,,682',
'682,678,678,678,678,678,,,600,678,678,,,,678,,678,678,678,678,678,678',
'678,,,,,,678,678,678,678,678,678,678,,,678,,,,,,678,678,,678,678,678',
',678,678,678,678,678,,678,678,678,,678,678,,678,678,,,,,,,,,,,,,,,,',
',,,,,678,,,678,,,678,,,678,,678,,,,678,,,,,,,,678,,,,,678,678,678,678',
'678,678,,,,678,678,,,,,,,678,,,678,,,,,678,678,677,677,677,677,677,',
',,677,677,,,,677,,677,677,677,677,677,677,677,,,,,,677,677,677,677,677',
'677,677,,,677,,,,,,677,677,,677,677,677,,677,677,677,677,677,,677,677',
'677,,677,677,,677,677,,,,,,,,,,,,,,,,,,,,,,677,,,677,,,677,,,677,,677',
',,,677,,,,,,,,677,,,,,677,677,677,677,677,677,,,,677,677,,,,671,671',
'671,677,671,,677,,671,671,,677,677,671,,671,671,671,671,671,671,671',
',,,,,671,671,671,671,671,671,671,,,671,,,,,,,671,,,671,671,,671,671',
'671,671,671,671,671,671,671,,671,671,,671,671,,,,,,,,,,,,,,,,,,,,,,671',
',,671,,,671,,,671,,,,671,,671,,,,,,,,671,,,,,671,671,671,671,671,671',
',,,671,671,,,,670,670,670,671,670,,671,,670,670,,671,671,670,,670,670',
'670,670,670,670,670,,,,,,670,670,670,670,670,670,670,,,670,,,,,,,670',
',,670,670,,670,670,670,670,670,670,670,670,670,,670,670,,670,670,,,',
',,,,,,,,,,,,,,,,,,670,,,670,,,670,,,670,,670,,670,,670,,,,,,,,670,,',
',,670,670,670,670,670,670,,,,670,670,,,,,,,670,,,670,,,,,670,670,667',
'667,667,667,667,,,,667,667,,,,667,,667,667,667,667,667,667,667,,,,,',
'667,667,667,667,667,667,667,,,667,,,,,,667,667,,667,667,667,,667,667',
'667,667,667,,667,667,667,,667,667,,667,667,,,,,,,,,,,,,,,,,,,,,,667',
',,667,,,667,,,667,,667,,,,667,,,,,,,,667,,,,,667,667,667,667,667,667',
',,,667,667,,,,,,,667,,,667,,,,,667,667,214,214,214,214,214,,,,214,214',
',,,214,,214,214,214,214,214,214,214,,,,,,214,214,214,214,214,214,214',
',,214,,,,,,214,214,,214,214,214,,214,214,214,214,214,,214,214,214,,214',
'214,,214,214,,,,,,,,,,,,,,,,,,,,,,214,,,214,,,214,,,214,,214,,,,214',
',,,,,,,214,,,,,214,214,214,214,214,214,,,,214,214,,,,215,215,215,214',
'215,,214,,215,215,,214,214,215,,215,215,215,215,215,215,215,,,,,,215',
'215,215,215,215,215,215,,,215,,,,,,,215,,,215,215,,215,215,215,215,215',
',215,215,215,,215,215,,215,215,,,,,,,,,,,,,,,,,,,,,,215,,,215,,215,215',
',,215,,,,,,215,,,,,,,,215,,,,,215,215,215,215,215,215,,,,215,215,,,',
'218,218,218,215,218,,215,,218,218,,215,215,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,,,,658,658,658,218,658,,218,,658,658,,218,218,658,,658',
'658,658,658,658,658,658,,,,,,658,658,658,658,658,658,658,,,658,,,,,',
',658,,,658,658,,658,658,658,658,658,,658,658,658,,658,658,,658,658,',
',,,,,,,,,,,,,,,,,,,,658,,,658,,,658,,,658,,,,,,658,,,,,,,,658,,,,,658',
'658,658,658,658,658,,,,658,658,,,,220,220,220,658,220,,658,,220,220',
',658,658,220,,220,220,220,220,220,220,220,,,,,,220,220,220,220,220,220',
'220,,,220,,,,,,,220,,,220,220,,220,220,220,220,220,,220,220,220,,220',
'220,,220,220,,,,,,,,,,,,,,,,,,,,,,220,,,220,,,220,,,220,,,,,,220,,,',
',,,,220,,,,,220,220,220,220,220,220,,,,220,220,,,,221,221,221,220,221',
',220,,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,,,,222',
'222,222,221,222,,221,,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,,,,223,223,223,222,223,,222,,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,,,,224,224,224,223,224,,223,,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,,,,225,225,225,224,225,,224',
',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,,,,226,226',
'226,225,226,,225,,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,,,,227,227,227,226,227,,226,,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,,,,228,228,228,227,228,,227,,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,,,,229,229,229,228,229,,228',
',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,,,,230,230',
'230,229,230,,229,,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,,,,231,231,231,230,231,,230,,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,,,,232,232,232,231,232,,231,,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,,,,233,233,233,232,233,,232',
',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,,,,234,234',
'234,233,234,,233,,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,,,,235,235,235,234,235,,234,,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,,,,236,236,236,235,236,,235,,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,,,,237,237,237,236,237,,236',
',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,,,,238,238',
'238,237,238,,237,,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,,,,239,239,239,238,239,,238,,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,,,,240,240,240,239,240,,239,,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,,,,241,241,241,240,241,,240',
',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,,,,242,242',
'242,241,242,,241,,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,,,,243,243,243,242,243,,242,,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,,,,244,244,244,243,244,,243,,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,,,,245,245,245,244,245,,244',
',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,654,654,654,654,654,,,,654,654,,,,654,,654,654,654',
'654,654,654,654,,,,,,654,654,654,654,654,654,654,,,654,,,,,,654,654',
',654,654,654,,654,654,654,654,654,,654,654,654,,654,654,,654,654,,,',
',,,,,,,,,,,,,,,,,,654,,,654,,,654,,,654,,654,,,,654,,,,,,,,654,,,,,654',
'654,654,654,654,654,,,,654,654,,,,650,650,650,654,650,,654,,650,650',
',654,654,650,,650,650,650,650,650,650,650,,,,,,650,650,650,650,650,650',
'650,,,650,,,,,,,650,,,650,650,,650,650,650,650,650,,650,650,650,,650',
'650,,650,650,,,,,,,,,,,,,,,,,,,,,,650,,,650,,,650,,,650,,,,,,650,,,',
',,,,650,,,,,650,650,650,650,650,650,,,,650,650,,,,254,254,254,650,254',
',650,,254,254,,650,650,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,254,256,,254,,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,,,,261,261,261,256,261,,256,,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,,,,639,639,639,261,639,,261,,639,639,,261',
'261,639,,639,639,639,639,639,639,639,,,,,,639,639,639,639,639,639,639',
',,639,,,,,,,639,,,639,639,,639,639,639,639,639,,639,639,639,,639,639',
',639,639,,,,,,,,,,,,,,,,,,,,,,639,,,639,,,639,,,639,,,,,,639,,,,,,,',
'639,,,,,639,639,639,639,639,639,,,,639,639,,,,636,636,636,639,636,,639',
',636,636,,639,639,636,,636,636,636,636,636,636,636,,,,,,636,636,636',
'636,636,636,636,,,636,,,,,,,636,,,636,636,,636,636,636,636,636,,636',
'636,636,,636,636,,636,636,,,,,,,,,,,,,,,,,,,,,,636,,,636,,,636,,,636',
',,,,,636,,,,,,,,636,,,,,636,636,636,636,636,636,,,,636,636,,,,631,631',
'631,636,631,,636,,631,631,,636,636,631,,631,631,631,631,631,631,631',
',,,,,631,631,631,631,631,631,631,,,631,,,,,,,631,,,631,631,,631,631',
'631,631,631,,631,631,631,,631,631,,631,631,,,,,,,,,,,,,,,,,,,,,,631',
',,631,,,631,,,631,,,,,,631,,,,,,,,631,,,,,631,631,631,631,631,631,,',
',631,631,,,,630,630,630,631,630,,631,,630,630,,631,631,630,,630,630',
'630,630,630,630,630,,,,,,630,630,630,630,630,630,630,,,630,,,,,,,630',
',,630,630,,630,630,630,630,630,,630,630,630,,630,630,,630,630,,,,,,',
',,,,,,,,,,,,,,,630,,,630,,,630,,,630,,,,,,630,,,,,,,,630,,,,,630,630',
'630,630,630,630,,,,630,630,,,,268,268,268,630,268,,630,,268,268,,630',
'630,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,,,,269,269,269,268',
'269,,268,,269,269,,268,268,269,,269,269,269,269,269,269,269,,,,,,269',
'269,269,269,269,269,269,,,269,,,,,,,269,,,269,269,,269,269,269,269,269',
'269,269,269,269,,269,269,,269,269,,,,,,,,,,,,,,,,,,,,,,269,,,269,,,269',
',,269,,269,,269,,269,,,,,,,,269,,,,,269,269,269,269,269,269,,,,269,269',
',,,277,277,277,269,277,,269,,277,277,,269,269,277,,277,277,277,277,277',
'277,277,,,,,,277,277,277,277,277,277,277,,,277,,,,,,,277,,,277,277,',
'277,277,277,277,277,277,277,277,277,,277,277,,277,277,,,,,,,,,,,,,,',
',,,,,,,277,,,277,,277,277,,,277,,277,,277,,277,,,,,,,,277,,,,,277,277',
'277,277,277,277,,,,277,277,,,,627,627,627,277,627,,277,,627,627,,277',
'277,627,,627,627,627,627,627,627,627,,,,,,627,627,627,627,627,627,627',
',,627,,,,,,,627,,,627,627,,627,627,627,627,627,,627,627,627,,627,627',
',627,627,,,,,,,,,,,,,,,,,,,,,,627,,,627,,,627,,,627,,627,,,,627,,,,',
',,,627,,,,,627,627,627,627,627,627,,,,627,627,,,,625,625,625,627,625',
',627,,625,625,,627,627,625,,625,625,625,625,625,625,625,,,,,,625,625',
'625,625,625,625,625,,,625,,,,,,,625,,,625,625,,625,625,625,625,625,',
'625,625,625,,625,625,,625,625,,,,,,,,,,,,,,,,,,,,,,625,,,625,,,625,',
',625,,,,,,625,,,,,,,,625,,,,,625,625,625,625,625,625,,,,625,625,,,,598',
'598,598,625,598,,625,,598,598,,625,625,598,,598,598,598,598,598,598',
'598,,,,,,598,598,598,598,598,598,598,,,598,,,,,,,598,,,598,598,,598',
'598,598,598,598,,598,598,598,,598,598,,598,598,,,,,,,,,,,,,,,,,,,,,',
'598,,,598,,,598,,,598,,,,,,598,,,,,,,,598,,,,,598,598,598,598,598,598',
',,,598,598,,,,,,,598,,,598,,,,,598,598,281,281,281,281,281,,,,281,281',
',,,281,,281,281,281,281,281,281,281,,,,,,281,281,281,281,281,281,281',
',,281,,,,,,281,281,,281,281,281,,281,281,281,281,281,,281,281,281,,281',
'281,,281,281,,,,,,,,,,,,,,,,,,,,,,281,,,281,,,281,,,281,,281,,,,281',
',,,,,,,281,,,,,281,281,281,281,281,281,,,,281,281,,,,596,596,596,281',
'596,,281,,596,596,,281,281,596,,596,596,596,596,596,596,596,,,,,,596',
'596,596,596,596,596,596,,,596,,,,,,,596,,,596,596,,596,596,596,596,596',
',596,596,596,,596,596,,596,596,,,,,,,,,,,,,,,,,,,,,,596,,,596,,,596',
',,596,,,,,,596,,,,,,,,596,,,,,596,596,596,596,596,596,,,,596,596,,,',
'592,592,592,596,592,,596,,592,592,,596,596,592,,592,592,592,592,592',
'592,592,,,,,,592,592,592,592,592,592,592,,,592,,,,,,,592,,,592,592,',
'592,592,592,592,592,592,592,592,592,,592,592,,592,592,,,,,,,,,,,,,,',
',,,,,,,592,,,592,,,592,,,592,,592,,,,592,,,,,,,,592,,,,,592,592,592',
'592,592,592,,,,592,592,,,,586,586,586,592,586,,592,,586,586,,592,592',
'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,,,,285,285,285,586,285',
',586,,285,285,,586,586,285,,285,285,285,285,285,285,285,,,,,,285,285',
'285,285,285,285,285,,,285,,,,,,,285,,,285,285,,285,285,285,285,285,',
'285,285,285,,285,285,918,,918,918,918,918,918,,,,,,,,,,918,,,,,,,,285',
',,285,,,285,,,285,,,,,,918,918,,,,,,,918,918,918,918,,285,285,285,285',
'285,285,,,,285,285,,,,285,,,285,,,285,,,,,285,285,286,286,286,286,286',
',,918,286,286,,,,286,,286,286,286,286,286,286,286,,,,,,286,286,286,286',
'286,286,286,,,286,,,,,,286,286,,286,286,286,,286,286,286,286,286,,286',
'286,286,,286,286,,286,286,,,,,,,,,,,,,,,,,,,,,,286,,,286,,,286,,,286',
',286,,,,286,,,,,,,,286,,,,,286,286,286,286,286,286,,,,286,286,,,,583',
'583,583,286,583,,286,,583,583,,286,286,583,,583,583,583,583,583,583',
'583,,,,,,583,583,583,583,583,583,583,,,583,,,,,,,583,,,583,583,,583',
'583,583,583,583,583,583,583,583,,583,583,,583,583,,,,,,,,,,,,,,,,,,',
',,,583,,,583,,,583,,,583,,583,,,,583,,,,,,,,583,,,,,583,583,583,583',
'583,583,,,,583,583,,,,,,,583,,,583,,,,,583,583,581,581,581,581,581,',
',,581,581,,,,581,,581,581,581,581,581,581,581,,,,,,581,581,581,581,581',
'581,581,,,581,,,,,,581,581,,581,581,581,,581,581,581,581,581,,581,581',
'581,,581,581,,581,581,,,,,,,,,,,,,,,,,,,,,,581,,,581,,,581,,,581,,581',
',,,581,,,,,,,,581,,,,,581,581,581,581,581,581,,,,581,581,,,,,,,581,',
',581,,,,,581,581,576,576,576,576,576,,,,576,576,,,,576,,576,576,576',
'576,576,576,576,,,,,,576,576,576,576,576,576,576,,,576,,,,,,576,576',
',576,576,576,,576,576,576,576,576,,576,576,576,,576,576,,576,576,,,',
',,,,,,,,,,,,,,,,,,576,,,576,,,576,,,576,,576,,,,576,,,,,,,,576,,,,,576',
'576,576,576,576,576,,,,576,576,,,,,,,576,,,576,,,,,576,576,572,572,572',
'572,572,,,,572,572,,,,572,,572,572,572,572,572,572,572,,,,,,572,572',
'572,572,572,572,572,,,572,,,,,,572,572,,572,572,572,,572,572,572,572',
'572,,572,572,572,,572,572,,572,572,,,,,,,,,,,,,,,,,,,,,,572,,,572,,',
'572,,,572,,572,,,,572,,,,,,,,572,,,,,572,572,572,572,572,572,,,,572',
'572,,,,558,558,558,572,558,,572,,558,558,,572,572,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,856,,856,856,856,856,856',
',,,,,,,,,856,,,,,,,,558,,,558,,,558,,,558,,,,,,856,,,,,,,,856,856,856',
'856,,558,558,558,558,558,558,,,,558,558,,,,,,,558,,,558,,,,,558,558',
'552,552,552,552,552,,,856,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,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,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,551,,,,546,546,546',
'551,546,,551,,546,546,,551,551,546,,546,546,546,546,546,546,546,,,,',
',546,546,546,546,546,546,546,,,546,,,,,,,546,,,546,546,,546,546,546',
'546,546,546,546,546,546,,546,546,,546,546,,,,,,,,,,,,,,,,,,,,,,546,',
',546,,,546,,,546,,,,,,546,,,,,,,,546,,,,,546,546,546,546,546,546,,,',
'546,546,,,,543,543,543,546,543,,546,,543,543,,546,546,543,,543,543,543',
'543,543,543,543,,,,,,543,543,543,543,543,543,543,,,543,,,,,,,543,,,543',
'543,,543,543,543,543,543,543,543,543,543,,543,543,,543,543,,,,,,,,,',
',,,,,,,,,,,,543,,,543,,,543,,,543,,543,,,,543,,,,,,,,543,,,,,543,543',
'543,543,543,543,,,,543,543,,,,298,298,298,543,298,,543,,298,298,,543',
'543,298,,298,298,298,298,298,298,298,,,,,,298,298,298,298,298,298,298',
',,298,,,,,,,298,,,298,298,,298,298,298,298,298,,298,298,298,,298,298',
',,,,,,,,,,,,,,,,,,,,,,,,298,,,298,,,298,,,298,,,,,,,,,,,,,,,,,,,298',
'298,298,298,298,298,,,,298,298,,,,537,537,537,298,537,,298,,537,537',
',298,298,537,,537,537,537,537,537,537,537,,,,,,537,537,537,537,537,537',
'537,,,537,,,,,,,537,,,537,537,,537,537,537,537,537,,537,537,537,,537',
'537,,537,537,,,,,,,,,,,,,,,,,,,,,,537,,,537,,,537,,,537,,,,,,537,,,',
',,,,537,,,,,537,537,537,537,537,537,,,,537,537,,,,533,533,533,537,533',
',537,,533,533,,537,537,533,,533,533,533,533,533,533,533,,,,,,533,533',
'533,533,533,533,533,,,533,,,,,,,533,,,533,533,,533,533,533,533,533,',
'533,533,533,,533,533,,533,533,,,,,,,,,,,,,,,,,,,,,,533,,,533,,,533,',
',533,,,,,,533,,,,,,,,533,,,,,533,533,533,533,533,533,,,,533,533,,,,532',
'532,532,533,532,,533,,532,532,,533,533,532,,532,532,532,532,532,532',
'532,,,,,,532,532,532,532,532,532,532,,,532,,,,,,,532,,,532,532,,532',
'532,532,532,532,,532,532,532,,532,532,,532,532,,,,,,,,,,,,,,,,,,,,,',
'532,,,532,,,532,,,532,,,,,,532,,,,,,,,532,,,,,532,532,532,532,532,532',
',,,532,532,,,,531,531,531,532,531,,532,,531,531,,532,532,531,,531,531',
'531,531,531,531,531,,,,,,531,531,531,531,531,531,531,,,531,,,,,,,531',
',,531,531,,531,531,531,531,531,,531,531,531,,531,531,,531,531,,,,,,',
',,,,,,,,,,,,,,,531,,,531,,,531,,,531,,,,,,531,,,,,,,,531,,,,,531,531',
'531,531,531,531,,,,531,531,,,,523,523,523,531,523,,531,,523,523,,531',
'531,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,,523,523,,,,,,,,,,,,,,,,,,,,,,523,,,523,,,523,,,523,,523,,,,523',
',,,,,,,523,,,,,523,523,523,523,523,523,,,,523,523,,,,307,307,307,523',
'307,,523,,307,307,,523,523,307,,307,307,307,307,307,307,307,,,,,,307',
'307,307,307,307,307,307,,,307,,,,,,,307,,,307,307,,307,307,307,307,307',
',307,307,307,,307,307,,307,307,,,,,,,,,,,,,,,,,,,,,,307,,,307,307,,307',
',,307,,,,,,307,,,,,,,,307,,,,,307,307,307,307,307,307,,,,307,307,,,',
',,,307,,,307,,,,,307,307,309,309,309,309,309,,,,309,309,,,,309,,309',
'309,309,309,309,309,309,,,,,,309,309,309,309,309,309,309,,,309,,,,,',
'309,309,,309,309,309,,309,309,309,309,309,,309,309,309,,309,309,,309',
'309,,,,,,,,,,,,,,,,,,,,,,309,,,309,,,309,,,309,,309,,,,309,,,,,,,,309',
',,,,309,309,309,309,309,309,,,,309,309,,,,520,520,520,309,520,,309,',
'520,520,,309,309,520,,520,520,520,520,520,520,520,,,,,,520,520,520,520',
'520,520,520,,,520,,,,,,,520,,,520,520,,520,520,520,520,520,520,520,520',
'520,,520,520,,520,520,,,,,,,,,,,,,,,,,,,,,,520,,,520,,,520,,,520,,520',
',,,520,,,,,,,,520,,,,,520,520,520,520,520,520,,,,520,520,,,,518,518',
'518,520,518,,520,,518,518,,520,520,518,,518,518,518,518,518,518,518',
',,,,,518,518,518,518,518,518,518,,,518,,,,,,,518,,,518,518,,518,518',
'518,518,518,,518,518,518,,518,518,,,,,,,,,,,,,,,,,,,,,,,,,518,,,518',
',,518,,,518,,,,,,,,,,,,,,,,,,,518,518,518,518,518,518,,,,518,518,,,',
',,,518,,,518,,,,,518,518,512,512,512,512,512,,,,512,512,,,,512,,512',
'512,512,512,512,512,512,,,,,,512,512,512,512,512,512,512,,,512,,,,,',
'512,512,,512,512,512,,512,512,512,512,512,,512,512,512,,512,512,,512',
'512,,,,,,,,,,,,,,,,,,,,,,512,,,512,,,512,,,512,,512,,,,512,,,,,,,,512',
',,,,512,512,512,512,512,512,,,,512,512,,,,,,512,512,,,512,,,,,512,512',
'506,506,506,,506,,,,506,506,,,,506,,506,506,506,506,506,506,506,,,,',
',506,506,506,506,506,506,506,,,506,,,,,,,506,,,506,506,,506,506,506',
'506,506,,506,506,506,,506,506,,506,506,,,,,,,,,,,,,,,,,,,,,,506,,,506',
',506,506,,,506,,,,506,,506,,,,,,,,506,,,,,506,506,506,506,506,506,,',
',506,506,,,,491,491,491,506,491,,506,,491,491,,506,506,491,,491,491',
'491,491,491,491,491,,,,,,491,491,491,491,491,491,491,,,491,,,,,,,491',
',,491,491,,491,491,491,491,491,,491,491,491,,491,491,,491,491,,,,,,',
',,,,,,,,,,,,,,,491,,,491,,,491,,,491,,,,,,491,,,,,,,,491,,,,,491,491',
'491,491,491,491,,,,491,491,,,,489,489,489,491,489,,491,,489,489,,491',
'491,489,,489,489,489,489,489,489,489,,,,,,489,489,489,489,489,489,489',
',,489,,,,,,,489,,,489,489,,489,489,489,489,489,489,489,489,489,,489',
'489,,489,489,,,,,,,,,,,,,,,,,,,,,,489,,,489,,,489,,,489,,,,489,,489',
',,,,,,,489,,,,,489,489,489,489,489,489,,,,489,489,,,,487,487,487,489',
'487,,489,,487,487,,489,489,487,,487,487,487,487,487,487,487,,,,,,487',
'487,487,487,487,487,487,,,487,,,,,,,487,,,487,487,,487,487,487,487,487',
'487,487,487,487,,487,487,,487,487,,,,,,,,,,,,,,,,,,,,,,487,,,487,,,487',
',,487,,487,,487,,487,,,,,,,,487,,,,438,487,487,487,487,487,487,438,438',
'438,487,487,,438,438,,438,,487,,,487,,,,,487,487,,,,,,,,,438,438,,438',
'438,438,438,438,,,,,,,,,,,,,,,,,,,,,,,,438,438,438,438,438,438,438,438',
'438,438,438,438,438,438,438,,,438,438,438,,438,,,,438,,,,,,,438,,438',
',438,438,438,438,438,438,438,,438,,438,,,,,,,,,,,,,438,438,,438,,438',
'644,,438,,438,,438,644,644,644,,,644,644,644,,644,,,,,,,,,644,644,644',
',,,,,,,,644,644,,644,644,644,644,644,,,,,,,,,,,,,,,,,,,,,,,,644,644',
'644,644,644,644,644,644,644,644,644,644,644,644,644,,,644,644,644,,644',
'644,,,644,,,644,,644,,644,,644,,644,644,644,644,644,644,644,,644,644',
'644,,,,,,,,,,,,,644,644,644,644,,644,645,,644,,644,,644,645,645,645',
',,645,645,645,,645,,,,,,,,,,645,645,,,,,,,,,645,645,,645,645,645,645',
'645,,,,,,,,,,,,,,,,,,,,,,,,645,645,645,645,645,645,645,645,645,645,645',
'645,645,645,645,,,645,645,645,,645,645,,,645,,,645,,645,,645,,645,,645',
'645,645,645,645,645,645,,645,,645,,,,,,,,,,,,,645,645,645,645,,645,436',
',645,,645,,645,436,436,436,,,,436,436,,436,,,,,,,,,436,,,,,,,,,,,436',
'436,,436,436,436,436,436,,,,,,,,,,,,,,,,,,,,,,,,436,436,436,436,436',
'436,436,436,436,436,436,436,436,436,436,,,436,436,436,,436,,,,436,,',
',,,,436,,436,,436,436,436,436,436,436,436,,436,436,436,,,,,,,,,,,,,436',
'436,,436,,436,50,,436,,436,,436,50,50,50,,,50,50,50,,50,,,,,,,,,,50',
'50,50,,,,,,,,50,50,,50,50,50,50,50,,,,,,,,,,,,,,,,,,,,,,,,50,50,50,50',
'50,50,50,50,50,50,50,50,50,50,50,,,50,50,50,,,50,,,50,,,50,,50,,50,',
'50,,50,50,50,50,50,50,50,,50,,50,,,,,,,,,,,,,50,50,50,50,28,50,,50,50',
',50,28,28,28,,,28,28,28,,28,,,,,,,,,,28,28,,,,,,,,,28,28,,28,28,28,28',
'28,,,,,,,,,,,,,,,,,,,,,,,,28,28,28,28,28,28,28,28,28,28,28,28,28,28',
'28,,,28,28,28,,,28,,28,28,,,28,,28,,28,,28,,28,28,28,28,28,28,28,,28',
',28,,,,,,,,,,,,,28,28,28,28,495,28,,,28,,28,495,495,495,,,495,495,495',
',495,,,,,,,,,,495,,,,,,,,,,495,495,,495,495,495,495,495,,,,,,,,,,,,',
',496,,,,,,,496,496,496,,,496,496,496,,496,,,,,495,495,,,,496,,,495,',
',,,495,495,496,496,,496,496,496,496,496,,,,,,,,,,,,,495,,,,,,,,,,,,494',
'495,,495,,,495,494,494,494,496,496,494,494,494,,494,,496,,,,,496,496',
',494,,,,,,,,,,494,494,,494,494,494,494,494,,496,,,,,,202,202,,,202,',
',496,,496,,,496,202,202,,202,202,202,202,202,202,202,,,202,202,494,494',
',,202,202,202,202,494,,,,,494,494,,,,,,202,202,,202,202,202,202,202',
'202,202,202,202,202,202,,494,202,,,,,,,,,,,,494,,494,,,494,411,411,411',
'411,411,411,411,411,411,411,411,411,411,411,411,411,411,411,411,411',
'411,411,411,411,,,,411,411,411,411,411,411,411,411,411,411,411,411,411',
'411,411,411,411,411,411,411,411,,411,411,,,411,,,,,,,,,411,411,,411',
'411,411,411,411,411,411,,,411,411,,,,,411,411,411,411,,,,,,,,,,,,,411',
'411,,411,411,411,411,411,411,411,411,411,411,411,,,411,411,,,,,,,,,',
'411,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,,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,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,,,',
'8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,,8,8,,,8,,,,,,,,,8,8,,8,8',
'8,8,8,8,8,,,8,8,,,,,8,8,8,8,,,,,,,,,,,,,8,8,,8,8,8,8,8,8,8,8,8,8,8,',
',8,8,,,,,,,,,,8,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,7,7,,,7',
'7,,,,,,,,,,7,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79',
'79,79,79,79,79,,,,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79',
'79,79,79,79,,79,79,79,79,79,,79,,,,,,,79,79,,79,79,79,79,79,79,79,,',
'79,79,,,,,79,79,79,79,,,,,,,,,,,,,79,79,,79,79,79,79,79,79,79,79,79',
'79,79,,,79,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192',
'192,192,192,192,192,192,192,192,192,,,,192,192,192,192,192,192,192,192',
'192,192,192,192,192,192,192,192,192,192,192,192,192,,192,192,192,192',
'192,,192,,,,,,,192,192,,192,192,192,192,192,192,192,,,192,192,,,,,192',
'192,192,192,,,,,,,,,,,,,192,192,,192,192,192,192,192,192,192,192,192',
'192,192,,,192,766,766,766,766,766,766,766,766,766,766,766,766,766,766',
'766,766,766,766,766,766,766,766,766,766,,,,766,766,766,766,766,766,766',
'766,766,766,766,766,766,766,766,766,766,766,766,766,766,,766,766,,,766',
',,,,,,,,766,766,,766,766,766,766,766,766,766,,,766,766,,,,,766,766,766',
'766,,,,,,,,,,,,,766,766,,766,766,766,766,766,766,766,766,766,766,766',
',,766,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65',
'65,65,65,,,,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65',
'65,65,,65,65,65,65,65,,65,,,,,,,65,65,,65,65,65,65,65,65,65,,,65,65',
',,,,65,65,65,65,,,,,,65,,,,,,,65,65,,65,65,65,65,65,65,65,65,65,65,65',
'534,534,65,,534,,,,,,,,,534,534,,534,534,534,534,534,534,534,,,534,534',
',,,,534,534,534,534,,,,,,534,,,,,,,534,534,,534,534,534,534,534,534',
'534,534,534,534,534,535,535,534,,535,,,,,,,,,535,535,,535,535,535,535',
'535,535,535,,,535,535,,,,,535,535,535,535,,,,,,,,,,,,,535,535,,535,535',
'535,535,535,535,535,535,535,535,535,201,201,535,,201,,,,,,,,,201,201',
',201,201,201,201,201,201,201,,,201,201,,,,,201,201,201,201,,,,,,201',
',,,,,,201,201,,201,201,201,201,201,201,201,201,201,201,201,947,947,201',
',947,,,,,,,,,947,947,,947,947,947,947,947,947,947,,,947,947,,,,,947',
'947,947,947,,,,,,,,,,,,,947,947,,947,947,947,947,947,947,947,947,947',
'947,947,946,946,947,,946,,,,,,,,,946,946,,946,946,946,946,946,946,946',
',,946,946,,,,,946,946,946,946,,,,,,946,,,,,,,946,946,,946,946,946,946',
'946,946,946,946,946,946,946,266,266,946,,266,,,,,,,,,266,266,,266,266',
'266,266,266,266,266,,,266,266,,,,,266,266,266,266,,,,,,,,,,,,,266,266',
',266,266,266,266,266,266,266,266,266,266,266,265,265,266,,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,449,449,264,,449,,,,,,,,,449,449,,449,449,449,449,449',
'449,449,,,449,449,,,,,449,449,449,449,,,,,,449,,,,,,,449,449,,449,449',
'449,449,449,449,449,449,449,449,449,450,450,449,,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,822,822,450',
',822,,,,,,,,,822,822,,822,822,822,822,822,822,822,,,822,822,,,,,822',
'822,822,822,,,,,,,,,,,,,822,822,,822,822,822,822,822,822,822,822,822',
'822,822,593,593,822,,593,,,,,,,,,593,593,,593,593,593,593,593,593,593',
',,593,593,,,,,593,593,593,593,,,,,,593,,,,,,,593,593,,593,593,593,593',
'593,593,593,593,593,593,593,591,591,593,,591,,,,,,,,,591,591,,591,591',
'591,591,591,591,591,,,591,591,,,,,591,591,591,591,,,,,,,,,,,,,591,591',
',591,591,591,591,591,591,591,591,591,591,591,585,585,591,,585,,,,,,',
',,585,585,,585,585,585,585,585,585,585,,,585,585,,,,,585,585,585,585',
',,,,,,,,,,,,585,585,,585,585,585,585,585,585,585,585,585,585,585,584',
'584,585,,584,,,,,,,,,584,584,,584,584,584,584,584,584,584,,,584,584',
',,,,584,584,584,584,,,,,,584,,,,,,,584,584,,584,584,584,584,584,584',
'584,584,584,584,584,203,203,584,,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,521,521,203,,521,,,,,,,,,521,521',
',521,521,521,521,521,521,521,,,521,521,,,,,521,521,521,521,,,,,,521',
',,,,,,521,521,,521,521,521,521,521,521,521,521,521,521,521,522,522,521',
',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,524,524,522,,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' ]
        racc_action_check = arr = ::Array.new(25094, 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 = [
  1281,  1148,   nil,   106,   nil,   618,  1015, 23357, 23233,  1014,
   962,   955,   962,   721,   208,   688,   nil,  3264,  3391,  1408,
   982,   nil,  3785,  3912,  4039,   508,    13,  4420, 22600,   nil,
  4560,  4687,  4814,   nil,   847,   444,   848,   660,  5488,  5615,
  5742,   734,   213,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
 22470,   nil,  6136,  6263,  6390,    29,  7177,  6771,    -2,   nil,
   nil,  7025,  7165,  7292,   nil, 23820,   nil,   nil,   nil,   nil,
   nil,  -102,   nil,   nil,   nil,   nil,   nil,   626,   625, 23481,
   nil,   nil,   nil,   344,  8194,   nil,   nil,  8321,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   601,   nil,  8601,
   nil,   nil,   nil,  8741,  8868,  8995,  9122,  9262,  9402,   nil,
   418,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil, 23594,   423,   nil,  9949, 10076, 10203, 10330, 10457,
 10584, 24003, 22855, 24796, 11092, 11219, 11346,   nil,   848,    97,
  1175,   248,  1086,  1123, 12287, 12414,   nil,   nil, 12541,  1119,
 12795, 12922, 13049, 13176, 13303, 13430, 13557, 13684, 13811, 13938,
 14065, 14192, 14319, 14446, 14573, 14700, 14827, 14954, 15081, 15208,
 15335, 15462, 15589, 15716, 15843, 15970,   nil,   nil,   nil,  2603,
   nil,  1062,  1052,   nil, 16364,  1089, 16491,   nil,   nil,   nil,
   nil, 16618,   nil,   nil, 24308, 24247, 24186,  1072, 17253, 17380,
   nil,   nil,   nil,   nil,   nil,   nil,   nil, 17507,   543,   872,
  1112, 18028,  1134,  1141,  1106, 18536, 18676,   235,   887,  1207,
   206,   142,   281,    14,   nil,   388,   289,   nil, 20011,   nil,
   459,   499,   522,   795,   nil,   629,   nil, 20773,   nil, 20913,
    42,   nil,   607,   262,   150,   715,   707,   234,   763,   nil,
   nil,    48,  4699,   nil,   nil,   nil,   799,   792,   nil,   824,
   840,   nil,   nil,   nil,   nil,   nil,   nil,   nil,  3025,   nil,
   nil,   nil,   919,   nil,   nil,   924,   425,    36,    63,  1535,
  1662,   446,    73,   882,    21,   633,  1085,    43,  1142,   nil,
   nil,   379,  1095,   nil,   594,   nil,    64,   nil,   nil,   125,
   467,   470,   483,   528,   554,   563,    -5,   356,   nil,   388,
   nil,  6898,   nil,   462,   nil,   483,   nil,   201,  1034,   488,
   nil,  1030,   -57,   nil,   379,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
  1029, 22985,   nil,   nil,   nil, 23109,  1023,   nil,   nil,  1916,
   nil,  1916,   974,   nil,   951,   nil,   nil,  2196,   947,   946,
   287,   291,  1789,   nil,   nil,   nil, 22338,   908, 21942,   nil,
  1141,  1014,   887,   nil,   nil,   nil,  1014,   nil,   nil, 24369,
 24430,   760,   633,   -46,   506,   379,   252,     4,   nil,  5234,
  5094,   993,   514,   857,   856,   819,   816,  5488,  5361,  3138,
  4954,  4166,  4560,  4039,  3912,  3785,  3658,  3531,  3391,  3264,
  1141,  1149,  4420,  4293,   633,   -40,   nil, 21828,   nil, 21701,
   nil, 21574,   nil,   nil, 22855, 22730, 22787,   171,   nil,   680,
   nil,   nil,   674,   672,   nil,   nil, 21447,   203,   193,   705,
   nil,   nil, 21307,   704,   647,   nil,   nil,   643, 21167,   635,
 21040, 24857, 24918, 20646, 24979,   228,   537,   nil,   nil,   463,
   nil, 20519, 20392, 20265, 23881, 23942,  1789, 20138,   523,   509,
   415,   nil,   nil, 19884,   nil,   nil, 19757,   nil,   nil,   nil,
   nil, 19630, 19490,   267,   nil,  1114,   nil,   nil, 19350,  7304,
   nil,   107,   nil,   nil,   -15,   nil,  3034,   nil,   -61,  1521,
   nil,   nil, 19223,  1252,   nil,   nil, 19083,   212,   227,  1234,
  1229, 18943,   nil, 18803, 24735, 24674, 18409,    20,   nil,   922,
   nil, 24613, 18282, 24552,   nil,   nil, 18155,   472, 17888,   nil,
 11485,   nil,   nil,   nil,    35,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   -23,   nil,   nil,   nil,  1071,
   nil,   nil,   nil,   nil,   nil, 17761,  1051, 17634,   462,   -54,
 17126, 16999,  1070,   nil,   nil,   nil, 16872,  1071,   nil, 16745,
  1080,   nil,   330,   307, 22074, 22206,  1092,  1093,   379,   nil,
 16237,   nil,  3149,   nil, 16110,  1078,   nil,  1120, 12668,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil, 12147,   nil,  1127,
 12007, 11880,  2056,  1098,   nil,   nil,  1137, 11753, 11613,   nil,
   745,   -34, 11473,  1113,   nil,  1154,   196,   223,  1172,   227,
   203,  1180,  1177,   -81, 10965,  2476,    26,    98,   -12,   217,
 10838,   nil,   nil,  -103,   135,   268,   nil,   nil,   170,   nil,
   202,   760,   319,   249,   251,   nil,   nil,   311,  2996,   nil,
   702,   nil,   401,   nil,   nil,   nil,   nil,   nil,   410,   nil,
   464, 10711,   410,    40,    37,   -18,    46,   438,  9809,   668,
   nil,   483,   485,  9682,   503,   nil,   -25,  9542,  8461,  4826,
   464,   nil,   nil,   581,   nil,  8067,   nil,   516,   541,   nil,
   547,   550,   554,   nil,   555,   nil, 23707,   607,  1164,  7940,
   nil,   nil,   nil,  1281,   616,  7800,  7673,  7546,   nil,   887,
   nil,  2883,   nil,   nil,   760,   nil,  2743,   nil,  7419,  6644,
  6517,    65,    14,  1535,   nil,   714,   817,   nil,   nil,   729,
   nil,   714,  6009,   nil,   735,   840,   722,    59,   nil,   nil,
   nil,   846,   nil,  5882,   743,   793,   nil,   nil,   nil,   nil,
   nil,   nil, 24491,   nil,  1084,   nil,   nil,   nil,   nil,  1394,
   879,   nil,  5361,   890,  5234,  5094,   nil,   nil,    70,   -17,
   975,   295,   nil,   924,   nil,   nil,   928,   938,   824,   nil,
   nil,   nil,   478,   nil,   nil,   392, 19362,   nil,  1223,   nil,
   475,   nil,  4954,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   866,   852,   nil,  1662,   nil,  2336,  4293,  4166,   nil,   nil,
   nil,  3658,   881,   nil,   nil,   nil,  3531,   nil,   nil,    74,
  3137,   nil,   935,   901,   nil,   nil,    78,   nil,  1030,  1031,
  3010,  2883,   nil,   nil,  2743,   nil,   nil,   959,   nil,   926,
   nil,   nil,   928,   935,   945,   939,   nil,   nil, 18548,   nil,
   nil,  2603,   nil,  2476,    85,   541,  1051,    91,   nil,   nil,
  2336,   nil,   nil,   nil,   118,  2196,  1119,   nil,   nil,  1169,
   nil,   nil,   nil,  2056,  1130,  1408, 24125, 24064,    97,   179,
   nil,   nil,   nil,  1006,   nil,   909,  1093,   nil,  1013,    98,
   108,   198,   202,   nil,   nil,   nil,   nil,    -7 ]

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

clist = [
'13,307,580,251,251,251,315,378,284,699,250,250,250,5,565,529,102,208',
'208,539,659,396,208,208,208,114,114,323,294,294,13,288,288,488,418,425',
'498,748,331,347,348,312,99,351,715,763,109,194,14,707,366,830,208,208',
'432,437,442,208,208,294,294,208,355,364,760,282,572,576,252,252,252',
'723,727,98,102,117,117,659,14,290,290,590,834,114,759,405,406,407,408',
'350,656,564,656,271,275,853,854,114,557,13,317,560,562,208,208,208,208',
'13,13,674,357,365,5,2,280,297,641,494,495,496,409,5,606,542,545,835',
'811,549,616,738,935,352,743,12,396,916,654,385,387,598,904,394,369,747',
'600,766,918,14,667,833,321,550,428,429,713,14,14,411,677,678,360,193',
'247,12,485,507,508,950,662,664,666,731,815,889,382,383,389,422,422,248',
'262,263,615,392,865,768,710,312,312,10,714,769,848,909,763,13,208,208',
'208,208,208,908,659,912,208,208,208,403,828,885,114,216,676,760,13,208',
'916,504,380,10,441,410,316,319,320,668,1,499,358,728,594,762,12,759',
'379,683,601,309,349,,12,12,565,14,,719,,938,,502,251,359,526,,,,250',
'250,251,,,,14,,,250,,,208,208,540,,541,656,656,530,,208,,,963,13,294',
',488,288,13,,10,,,102,,553,,294,10,10,288,,,,432,437,331,,,,,13,740',
'267,274,276,503,252,513,512,707,717,,519,,252,,,,,12,14,,577,578,290',
'14,902,910,,,910,759,715,759,,759,,290,12,511,208,208,,,,771,943,599',
'14,,,271,951,275,763,102,280,294,641,517,364,280,,,,688,,,693,,595,762',
'208,760,,10,,,688,,417,423,426,,,565,,,445,,806,,782,759,10,646,647',
'785,,,787,,,659,,12,957,,365,,12,,579,,759,,501,505,,,114,,,,114,509',
',797,688,,312,312,,12,,,,688,,,,622,208,208,843,623,893,,846,847,669',
',,,,,857,859,861,441,,10,,,685,,10,692,,,117,,,821,117,656,825,826,913',
',914,,,,,,530,,,10,634,,,,,638,894,208,,312,634,,312,13,818,,294,,,288',
',208,,,208,656,680,,,,,,,,655,,,732,208,816,737,441,,,,,742,,,,762,',
'13,13,441,,294,,901,711,,14,634,634,634,767,,290,,,,955,312,13,,312',
',13,,744,,312,13,797,208,952,,208,,,703,724,724,208,,,,208,,208,14,14',
',,441,,,365,,923,441,745,35,,,936,930,,940,941,942,14,,,795,14,,,,,14',
'208,208,,,331,,208,,283,,,35,287,287,,12,,,,,318,,,956,13,,,,,530,965',
',,920,,929,,13,,,,809,,354,368,,368,13,13,294,,422,288,,12,12,,,,,,294',
',,288,,,,,,,10,14,,,12,,,863,12,35,,838,,12,14,801,632,35,35,841,,637',
',,14,14,640,,,290,,,,,,,,208,,10,10,290,13,,,,13,13,,,,,,,634,,844,638',
'845,634,10,,849,,10,,,,13,10,,,,,,208,208,,661,663,665,,882,114,,,12',
',,,14,420,424,,14,14,,,688,12,,,416,,,35,,907,,12,12,,13,896,,869,14',
',,,,283,778,780,35,,,,783,,,208,,13,13,,,,,441,,,10,,,,,,,490,,492,',
'724,,10,493,,,,14,,,,,10,10,,,,,,,,,12,,,,12,12,14,14,,,13,294,,283',
'925,,35,,283,,287,35,958,,,13,12,,13,,,,,287,,,,,,,,,,,35,,,13,,,,,',
',13,,10,312,14,13,10,10,927,,,,,13,,208,12,,,14,,,14,,,,,,10,,,,,,,441',
'207,12,12,872,874,14,,,,,,,14,,368,,,14,,,,,,,,14,,217,,,,249,249,249',
',310,10,,,,346,346,,,346,,,304,305,306,,626,,12,,,,10,10,,,,249,249',
',,,,12,,,12,,,,,,,,,,,,,,,346,346,346,346,12,,,,,,,12,,,,,12,,,,,,,10',
'12,,,928,,,,657,,318,,660,,,10,,,10,,,,,,,,,673,,,,,,,,,,10,,,,,,,10',
',,,35,10,,,,,287,,,10,,,,,,,657,,,318,,,,,,,,,,,,447,448,,,,704,705',
',35,35,457,,,,,368,,419,249,427,249,249,,,,446,720,,,35,722,,,35,,730',
',,35,217,,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473',
'474,475,476,477,478,479,480,481,482,483,484,,,774,,,,,,249,,249,,,,',
'249,,,,,,,249,249,,,,,,,,249,,798,,,,,,,,796,,,35,657,318,,,,,,,,799',
',,35,,,,536,,,804,805,,35,35,,,,287,,,814,,346,346,,,324,,,287,,,,,',
',,,,,,,,384,,386,386,390,393,386,,420,,,604,,,,,,,,,,,,,,,,,,,,,851',
',,35,,,,35,35,,,,,,,,,,,,871,,,,,,870,,,35,,,,,,,,,,,,,,,,249,,420,',
',,,,,,,,,,,,,,,,,,,,,888,,,35,,249,249,,446,648,427,,,,,,,,,,,898,899',
',35,35,,,,,,,,,310,,,917,,,,249,,249,,249,,,,,,,,,,,318,,,,672,,,,,698',
',,,,,,,922,249,933,35,249,,,924,,,,,695,696,697,934,,,35,,500,35,,933',
'249,,,249,,,,,,,,,,944,,,35,,,,949,,,35,,953,,346,35,746,,,,,,,35,,',
',249,,,249,,,,,,249,,,,,556,,,556,556,,,,,,,,,,,,,,,,,,,,,,,,773,,249',
',,779,781,,,293,293,784,,,786,,293,293,293,,,,,,,793,,,,,,,293,249,',
',,,,,293,293,,,,249,249,,,,,,,,,,,,,,,,,,,,,,,,,,,,,249,,,633,,,,,,',
',,346,633,,,,,,,,,,,,,,,,,,249,,,,,,,,,,,,,,,,,,,,,,,,249,651,,,,,,',
',,633,633,633,651,,,,,,,249,873,875,651,651,,,,,,,,,779,781,784,,,,',
',,,,,,,249,,,,346,,,,,,,,,,,,,,,293,,293,293,293,293,293,293,293,293',
'293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293',
'293,,,,,,,,,293,,293,,,249,,293,,,,,,,,,,,,875,873,,,,249,,,,,,,293',
',,,,,,,,,,,249,293,,,,,,,,,293,,,,,,,,,,,249,,,,,,,,,,,,,,,,,,,,,,,',
'249,,,,,,,,,,,,,,633,,,,,633,,,,,,812,817,293,,,,,,,,,556,,,556,556',
',,,,,812,,812,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,293,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,293,293,293,,,,,,,,,,,,,,,,,,,,,,,887,,,,891,,,,293,,293',
',293,,,,,,,,,,,,,,,,,,,,,,,,,,,293,,,,,,,,,,,,,293,293,293,,,,,,,,,',
'293,,,293,,,,,,,,,,,,293,,,556,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,812,,,,,,,,,,,,,,,812,,,,,,,,293,,293,,,,,,,,,,,,293,,,,,,,,,,,293',
',,,,,,,293,,,,,,,,,,,,293,293,,,,,,,,,,,293,,,,,,,,,,,,293,,,,,,293',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,293,,,,,,,,,,,,,,,,,,,,,,,,293,,,,,,,',
',,,,,,,,,,,,293,,,,,,,,,,,,,293,293,293,,,,,,,,,,,,293,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,293,,,,,,,,,,,,,,293,293',
',,,293,,,,,,,,,293,,,,,,,,,,293,,,,,,,,,,,,,,,,,,,,,293' ]
        racc_goto_table = arr = ::Array.new(2500, 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 = [
'21,51,80,54,54,54,22,47,41,10,29,29,29,7,145,43,83,21,21,8,154,47,21',
'21,21,48,48,104,52,52,21,21,21,61,24,24,35,84,107,16,16,29,6,16,147',
'141,14,14,23,106,46,78,21,21,33,33,33,21,21,52,52,21,21,21,110,39,77',
'77,56,56,56,79,79,4,83,50,50,154,23,23,23,45,89,48,108,16,16,16,16,90',
'62,148,62,57,57,142,142,48,109,21,56,109,109,21,21,21,21,21,21,62,23',
'23,7,2,38,42,60,33,33,33,7,7,129,55,55,91,11,55,129,92,93,4,94,20,47',
'151,36,126,126,95,96,126,97,98,99,100,101,23,36,11,102,103,22,22,105',
'23,23,27,36,36,19,15,112,20,113,115,116,117,60,60,60,118,119,120,124',
'125,127,54,54,31,31,31,128,130,131,132,111,29,29,17,111,133,135,137',
'141,21,21,21,21,21,21,139,154,144,21,21,21,5,149,12,48,18,63,110,21',
'21,151,64,72,17,48,2,73,74,76,59,1,58,81,80,82,111,20,108,85,43,86,87',
'88,,20,20,145,23,,145,,142,,54,54,17,51,,,,29,29,54,,,,23,,,29,,,21',
'21,51,,51,62,62,41,,21,,,78,21,52,,61,21,21,,17,,,83,,104,,52,17,17',
'21,,,,33,33,107,,,,,21,45,34,34,34,56,56,39,6,106,148,,39,,56,,,,,20',
'23,,16,16,23,23,79,108,,,108,108,147,108,,108,,23,20,4,21,21,,,,129',
'84,46,23,,,57,11,57,141,83,38,52,60,42,21,38,,,,33,,,33,,83,111,21,110',
',17,,,33,,18,18,18,,,145,,,18,,43,,35,108,17,22,22,35,,,35,,,154,,20',
'10,,23,,20,,4,,108,,31,31,,,48,,,,48,31,,61,33,,29,29,,20,,,,33,,,,14',
'21,21,8,14,111,,8,8,51,,,,,,143,143,143,48,,17,,,22,,17,22,,,50,,,109',
'50,62,109,109,111,,111,,,,,,41,,,17,57,,,,,57,145,21,,29,57,,29,21,55',
',52,,,21,,21,,,21,62,7,,,,,,,,56,,,22,21,24,22,48,,,,,22,,,,111,,21',
'21,48,,52,,77,21,,23,57,57,57,51,,23,,,,111,29,21,,29,,21,,16,,29,21',
'61,21,80,,21,,,56,83,83,21,,,,21,,21,23,23,,,48,,,23,,77,48,83,44,,',
'8,77,,143,143,143,23,,,104,23,,,,,23,21,21,,,107,,21,,9,,,44,44,44,',
'20,,,,,25,,,8,21,,,,,41,143,,,61,,109,,21,,,,41,,44,44,,44,21,21,52',
',54,21,,20,20,,,,,,52,,,21,,,,,,,17,23,,,20,,,47,20,44,,54,,20,23,56',
'34,44,44,16,,34,,,23,23,34,,,23,,,,,,,,21,,17,17,23,21,,,,21,21,,,,',
',,57,,83,57,83,57,17,,83,,17,,,,21,17,,,,,,21,21,,34,34,34,,54,48,,',
'20,,,,23,25,25,,23,23,,,33,20,,,9,,,44,,51,,20,20,,21,16,,23,23,,,,',
'9,18,18,44,,,,18,,,21,,21,21,,,,,48,,,17,,,,,,,25,,25,,83,,17,25,,,',
'23,,,,,17,17,,,,,,,,,20,,,,20,20,23,23,,,21,52,,9,21,,44,,9,,44,44,22',
',,21,20,,21,,,,,44,,,,,,,,,,,44,,,21,,,,,,,21,,17,29,23,21,17,17,23',
',,,,21,,21,20,,,23,,,23,,,,,,17,,,,,,,48,26,20,20,18,18,23,,,,,,,23',
',44,,,23,,,,,,,,23,,28,,,,28,28,28,,26,17,,,,26,26,,,26,,,28,28,28,',
'25,,20,,,,17,17,,,,28,28,,,,,20,,,20,,,,,,,,,,,,,,,26,26,26,26,20,,',
',,,,20,,,,,20,,,,,,,17,20,,,17,,,,25,,25,,25,,,17,,,17,,,,,,,,,25,,',
',,,,,,,17,,,,,,,17,,,,44,17,,,,,44,,,17,,,,,,,25,,,25,,,,,,,,,,,,26',
'26,,,,9,9,,44,44,26,,,,,44,,28,28,28,28,28,,,,28,9,,,44,9,,,44,,9,,',
'44,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,,,25,,,,,,28,,28,,,,,28,,,,,,,28,28,,,,,,,,28,,25,,,',
',,,,9,,,44,25,25,,,,,,,,9,,,44,,,,28,,,9,9,,44,44,,,,44,,,25,,26,26',
',,53,,,44,,,,,,,,,,,,,,53,,53,53,53,53,53,,25,,,26,,,,,,,,,,,,,,,,,',
',,,25,,,44,,,,44,44,,,,,,,,,,,,25,,,,,,9,,,44,,,,,,,,,,,,,,,,28,,25',
',,,,,,,,,,,,,,,,,,,,,,9,,,44,,28,28,,28,28,28,,,,,,,,,,,9,9,,44,44,',
',,,,,,,26,,,25,,,,28,,28,,28,,,,,,,,,,,25,,,,28,,,,,26,,,,,,,,9,28,25',
'44,28,,,44,,,,,28,28,28,9,,,44,,53,44,,25,28,,,28,,,,,,,,,,9,,,44,,',
',9,,,44,,9,,26,44,26,,,,,,,44,,,,28,,,28,,,,,,28,,,,,53,,,53,53,,,,',
',,,,,,,,,,,,,,,,,,,28,,28,,,28,28,,,37,37,28,,,28,,37,37,37,,,,,,,28',
',,,,,,37,28,,,,,,,37,37,,,,28,28,,,,,,,,,,,,,,,,,,,,,,,,,,,,,28,,,53',
',,,,,,,,26,53,,,,,,,,,,,,,,,,,,28,,,,,,,,,,,,,,,,,,,,,,,,28,53,,,,,',
',,,53,53,53,53,,,,,,,28,28,28,53,53,,,,,,,,,28,28,28,,,,,,,,,,,,28,',
',,26,,,,,,,,,,,,,,,37,,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37',
'37,37,37,37,37,37,37,37,37,37,37,,,,,,,,,37,,37,,,28,,37,,,,,,,,,,,',
'28,28,,,,28,,,,,,,37,,,,,,,,,,,,28,37,,,,,,,,,37,,,,,,,,,,,28,,,,,,',
',,,,,,,,,,,,,,,,,28,,,,,,,,,,,,,,53,,,,,53,,,,,,53,53,37,,,,,,,,,53',
',,53,53,,,,,,53,,53,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,37,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,37,37,37,,,,,,,,,,,,,,,,,,,,,,,53,,,,53,,,,37,,37,',
'37,,,,,,,,,,,,,,,,,,,,,,,,,,,37,,,,,,,,,,,,,37,37,37,,,,,,,,,,37,,,37',
',,,,,,,,,,,37,,,53,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,53,,,,,,',
',,,,,,,,53,,,,,,,,37,,37,,,,,,,,,,,,37,,,,,,,,,,,37,,,,,,,,37,,,,,,',
',,,,,37,37,,,,,,,,,,,37,,,,,,,,,,,,37,,,,,,37,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,37,,,,,,,,,,,,,,,,,,,,,,,,37,,,,,,,,,,,,,,,,,,,,37,,,,,,,,,',
',,,37,37,37,,,,,,,,,,,,37,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,37,,,,,,,,,,,,,,37,37,,,,37,,,,,,,,,37,,,,,,,,,,37',
',,,,,,,,,,,,,,,,,,,,37' ]
        racc_goto_check = arr = ::Array.new(2500, 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,   226,   113,   nil,    70,   108,    39,    13,  -290,   608,
  -529,  -573,  -602,   nil,    39,   153,   -18,   189,   193,    98,
   133,     0,   -47,    48,  -162,   596,   949,    48,   975,   -12,
   nil,   157,   nil,  -147,   285,  -231,  -349,  1578,    84,    35,
   nil,   -23,    83,  -283,   611,  -281,   -13,   -58,    18,   nil,
    68,   -40,    -3,  1246,   -19,  -190,    46,    67,   -41,  -274,
  -326,  -219,  -397,  -294,   -52,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   153,   168,   168,   nil,   168,  -281,  -669,  -506,
  -350,   166,  -136,    13,  -563,   169,  -143,   186,   179,  -641,
    29,  -602,  -459,  -772,  -462,  -228,  -705,    78,  -456,  -234,
  -456,  -717,    94,  -170,   -29,  -405,  -506,   -18,  -516,  -228,
  -536,  -369,   142,   -82,   nil,  -107,  -107,  -767,  -411,  -528,
  -642,   nil,   nil,   nil,   103,   102,    62,    99,  -207,  -261,
   105,  -584,  -423,  -418,   nil,  -557,   nil,  -659,   nil,  -651,
   nil,  -555,  -662,  -295,  -653,  -324,   nil,  -515,  -247,  -510,
   nil,  -723,   nil,   nil,  -469 ]

racc_goto_default = [
   nil,   nil,   nil,     3,   nil,     4,   353,   279,   nil,   538,
   nil,   831,   nil,   278,   nil,   nil,   nil,   212,    16,    11,
   213,   303,   nil,   211,   nil,   255,    15,   nil,    19,    20,
    21,   nil,    25,   691,   nil,   nil,   nil,    26,    29,   nil,
    31,    34,    33,   nil,   209,   363,   nil,   116,   435,   115,
    69,   nil,    42,   311,   313,   nil,   314,   433,   nil,   nil,
   635,   486,   253,   nil,   nil,   269,    43,    44,    45,    46,
    47,    48,    49,   nil,   270,    55,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   573,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   326,   325,   709,   328,   nil,
   329,   330,   nil,   nil,   439,   nil,   nil,   nil,   nil,   nil,
   nil,    68,    70,    71,    72,   nil,   nil,   nil,   nil,   611,
   nil,   nil,   nil,   nil,   395,   750,   753,   758,   755,   756,
   757,   911,   nil,   nil,   761,   337,   332,   339,   nil,   567,
   568,   765,   342,   345,   260 ]

racc_reduce_table = [
  0, 0, :racc_error,
  1, 143, :_reduce_none,
  2, 144, :_reduce_2,
  0, 145, :_reduce_3,
  1, 145, :_reduce_4,
  3, 145, :_reduce_5,
  1, 147, :_reduce_none,
  4, 147, :_reduce_7,
  4, 150, :_reduce_8,
  2, 151, :_reduce_9,
  0, 155, :_reduce_10,
  1, 155, :_reduce_11,
  3, 155, :_reduce_12,
  0, 169, :_reduce_13,
  4, 149, :_reduce_14,
  3, 149, :_reduce_15,
  3, 149, :_reduce_none,
  3, 149, :_reduce_17,
  2, 149, :_reduce_18,
  3, 149, :_reduce_19,
  3, 149, :_reduce_20,
  3, 149, :_reduce_21,
  3, 149, :_reduce_22,
  3, 149, :_reduce_23,
  4, 149, :_reduce_none,
  3, 149, :_reduce_25,
  3, 149, :_reduce_26,
  3, 149, :_reduce_27,
  6, 149, :_reduce_none,
  6, 149, :_reduce_none,
  5, 149, :_reduce_30,
  5, 149, :_reduce_none,
  5, 149, :_reduce_none,
  3, 149, :_reduce_none,
  3, 149, :_reduce_34,
  3, 149, :_reduce_35,
  3, 149, :_reduce_36,
  1, 149, :_reduce_none,
  1, 168, :_reduce_none,
  3, 168, :_reduce_39,
  3, 168, :_reduce_40,
  2, 168, :_reduce_41,
  2, 168, :_reduce_42,
  1, 168, :_reduce_none,
  1, 158, :_reduce_none,
  1, 160, :_reduce_none,
  1, 160, :_reduce_none,
  2, 160, :_reduce_47,
  2, 160, :_reduce_48,
  2, 160, :_reduce_49,
  1, 172, :_reduce_none,
  4, 172, :_reduce_none,
  4, 172, :_reduce_none,
  4, 172, :_reduce_none,
  4, 177, :_reduce_none,
  2, 171, :_reduce_55,
  3, 171, :_reduce_none,
  4, 171, :_reduce_57,
  5, 171, :_reduce_none,
  4, 171, :_reduce_59,
  5, 171, :_reduce_none,
  4, 171, :_reduce_61,
  5, 171, :_reduce_none,
  2, 171, :_reduce_63,
  2, 171, :_reduce_64,
  1, 161, :_reduce_65,
  3, 161, :_reduce_66,
  1, 181, :_reduce_67,
  3, 181, :_reduce_68,
  1, 180, :_reduce_69,
  2, 180, :_reduce_70,
  3, 180, :_reduce_71,
  5, 180, :_reduce_none,
  2, 180, :_reduce_73,
  4, 180, :_reduce_none,
  2, 180, :_reduce_75,
  1, 180, :_reduce_76,
  3, 180, :_reduce_none,
  1, 183, :_reduce_78,
  3, 183, :_reduce_79,
  2, 182, :_reduce_80,
  3, 182, :_reduce_81,
  1, 185, :_reduce_none,
  3, 185, :_reduce_none,
  1, 184, :_reduce_84,
  4, 184, :_reduce_85,
  3, 184, :_reduce_86,
  3, 184, :_reduce_none,
  3, 184, :_reduce_none,
  3, 184, :_reduce_none,
  2, 184, :_reduce_none,
  1, 184, :_reduce_none,
  1, 159, :_reduce_92,
  4, 159, :_reduce_93,
  4, 159, :_reduce_94,
  3, 159, :_reduce_95,
  3, 159, :_reduce_96,
  3, 159, :_reduce_97,
  3, 159, :_reduce_98,
  2, 159, :_reduce_99,
  1, 159, :_reduce_none,
  1, 187, :_reduce_none,
  2, 188, :_reduce_102,
  1, 188, :_reduce_103,
  3, 188, :_reduce_104,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_108,
  1, 189, :_reduce_109,
  1, 156, :_reduce_110,
  1, 156, :_reduce_none,
  1, 157, :_reduce_112,
  3, 157, :_reduce_113,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  3, 170, :_reduce_188,
  5, 170, :_reduce_189,
  3, 170, :_reduce_190,
  6, 170, :_reduce_191,
  6, 170, :_reduce_192,
  5, 170, :_reduce_193,
  5, 170, :_reduce_none,
  5, 170, :_reduce_none,
  5, 170, :_reduce_none,
  4, 170, :_reduce_none,
  3, 170, :_reduce_none,
  3, 170, :_reduce_199,
  3, 170, :_reduce_200,
  3, 170, :_reduce_201,
  3, 170, :_reduce_202,
  3, 170, :_reduce_203,
  3, 170, :_reduce_204,
  3, 170, :_reduce_205,
  3, 170, :_reduce_206,
  4, 170, :_reduce_207,
  4, 170, :_reduce_208,
  2, 170, :_reduce_209,
  2, 170, :_reduce_210,
  3, 170, :_reduce_211,
  3, 170, :_reduce_212,
  3, 170, :_reduce_213,
  3, 170, :_reduce_214,
  3, 170, :_reduce_215,
  3, 170, :_reduce_216,
  3, 170, :_reduce_217,
  3, 170, :_reduce_218,
  3, 170, :_reduce_219,
  3, 170, :_reduce_220,
  3, 170, :_reduce_221,
  3, 170, :_reduce_222,
  3, 170, :_reduce_223,
  2, 170, :_reduce_224,
  2, 170, :_reduce_225,
  3, 170, :_reduce_226,
  3, 170, :_reduce_227,
  3, 170, :_reduce_228,
  3, 170, :_reduce_229,
  3, 170, :_reduce_230,
  5, 170, :_reduce_231,
  1, 170, :_reduce_none,
  1, 167, :_reduce_none,
  1, 164, :_reduce_234,
  2, 164, :_reduce_235,
  2, 164, :_reduce_236,
  4, 164, :_reduce_237,
  2, 164, :_reduce_238,
  3, 199, :_reduce_239,
  2, 201, :_reduce_none,
  1, 202, :_reduce_241,
  1, 202, :_reduce_none,
  1, 200, :_reduce_243,
  1, 200, :_reduce_none,
  2, 200, :_reduce_245,
  4, 200, :_reduce_246,
  2, 200, :_reduce_247,
  1, 173, :_reduce_248,
  2, 173, :_reduce_249,
  2, 173, :_reduce_250,
  4, 173, :_reduce_251,
  1, 173, :_reduce_252,
  4, 205, :_reduce_none,
  1, 205, :_reduce_none,
  0, 207, :_reduce_255,
  2, 176, :_reduce_256,
  1, 206, :_reduce_none,
  2, 206, :_reduce_258,
  3, 206, :_reduce_259,
  2, 204, :_reduce_260,
  2, 203, :_reduce_261,
  0, 203, :_reduce_262,
  1, 196, :_reduce_263,
  2, 196, :_reduce_264,
  3, 196, :_reduce_265,
  4, 196, :_reduce_266,
  3, 166, :_reduce_267,
  4, 166, :_reduce_268,
  2, 166, :_reduce_269,
  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_none,
  0, 229, :_reduce_279,
  4, 194, :_reduce_280,
  4, 194, :_reduce_281,
  3, 194, :_reduce_282,
  3, 194, :_reduce_283,
  2, 194, :_reduce_284,
  4, 194, :_reduce_285,
  4, 194, :_reduce_286,
  3, 194, :_reduce_287,
  3, 194, :_reduce_288,
  1, 194, :_reduce_289,
  4, 194, :_reduce_290,
  3, 194, :_reduce_291,
  1, 194, :_reduce_292,
  5, 194, :_reduce_293,
  4, 194, :_reduce_294,
  3, 194, :_reduce_295,
  2, 194, :_reduce_296,
  1, 194, :_reduce_none,
  2, 194, :_reduce_298,
  2, 194, :_reduce_299,
  6, 194, :_reduce_300,
  6, 194, :_reduce_301,
  0, 230, :_reduce_302,
  0, 231, :_reduce_303,
  7, 194, :_reduce_304,
  0, 232, :_reduce_305,
  0, 233, :_reduce_306,
  7, 194, :_reduce_307,
  5, 194, :_reduce_308,
  4, 194, :_reduce_309,
  5, 194, :_reduce_310,
  0, 234, :_reduce_311,
  0, 235, :_reduce_312,
  9, 194, :_reduce_313,
  0, 236, :_reduce_314,
  6, 194, :_reduce_315,
  0, 237, :_reduce_316,
  0, 238, :_reduce_317,
  8, 194, :_reduce_318,
  0, 239, :_reduce_319,
  0, 240, :_reduce_320,
  6, 194, :_reduce_321,
  0, 241, :_reduce_322,
  6, 194, :_reduce_323,
  0, 242, :_reduce_324,
  0, 243, :_reduce_325,
  9, 194, :_reduce_326,
  1, 194, :_reduce_327,
  1, 194, :_reduce_328,
  1, 194, :_reduce_329,
  1, 194, :_reduce_none,
  1, 163, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  2, 219, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  2, 218, :_reduce_339,
  3, 244, :_reduce_340,
  2, 244, :_reduce_341,
  1, 244, :_reduce_none,
  1, 244, :_reduce_none,
  3, 245, :_reduce_344,
  3, 245, :_reduce_345,
  1, 220, :_reduce_346,
  5, 220, :_reduce_347,
  1, 153, :_reduce_none,
  2, 153, :_reduce_349,
  1, 247, :_reduce_350,
  3, 247, :_reduce_351,
  3, 248, :_reduce_352,
  1, 178, :_reduce_none,
  2, 178, :_reduce_354,
  1, 178, :_reduce_355,
  3, 178, :_reduce_356,
  1, 249, :_reduce_357,
  2, 251, :_reduce_358,
  1, 251, :_reduce_359,
  6, 246, :_reduce_360,
  4, 246, :_reduce_361,
  4, 246, :_reduce_362,
  2, 246, :_reduce_363,
  2, 246, :_reduce_364,
  4, 246, :_reduce_365,
  2, 246, :_reduce_366,
  2, 246, :_reduce_367,
  1, 246, :_reduce_368,
  0, 255, :_reduce_369,
  5, 254, :_reduce_370,
  2, 174, :_reduce_371,
  4, 174, :_reduce_none,
  4, 174, :_reduce_none,
  4, 174, :_reduce_none,
  2, 217, :_reduce_375,
  4, 217, :_reduce_376,
  4, 217, :_reduce_377,
  3, 217, :_reduce_378,
  4, 217, :_reduce_379,
  3, 217, :_reduce_380,
  2, 217, :_reduce_381,
  1, 217, :_reduce_382,
  0, 257, :_reduce_383,
  5, 216, :_reduce_384,
  0, 258, :_reduce_385,
  5, 216, :_reduce_386,
  0, 260, :_reduce_387,
  6, 222, :_reduce_388,
  1, 259, :_reduce_389,
  1, 259, :_reduce_none,
  6, 152, :_reduce_391,
  0, 152, :_reduce_392,
  1, 261, :_reduce_393,
  1, 261, :_reduce_none,
  1, 261, :_reduce_none,
  2, 262, :_reduce_396,
  1, 262, :_reduce_397,
  2, 154, :_reduce_398,
  1, 154, :_reduce_none,
  1, 208, :_reduce_none,
  1, 208, :_reduce_none,
  1, 208, :_reduce_none,
  1, 209, :_reduce_403,
  1, 265, :_reduce_none,
  2, 265, :_reduce_405,
  3, 266, :_reduce_406,
  1, 266, :_reduce_407,
  3, 210, :_reduce_408,
  3, 211, :_reduce_409,
  3, 212, :_reduce_410,
  3, 212, :_reduce_411,
  1, 269, :_reduce_412,
  3, 269, :_reduce_413,
  1, 270, :_reduce_414,
  2, 270, :_reduce_415,
  3, 213, :_reduce_416,
  3, 213, :_reduce_417,
  1, 272, :_reduce_418,
  3, 272, :_reduce_419,
  1, 267, :_reduce_420,
  2, 267, :_reduce_421,
  1, 268, :_reduce_422,
  2, 268, :_reduce_423,
  1, 271, :_reduce_424,
  0, 274, :_reduce_425,
  3, 271, :_reduce_426,
  0, 275, :_reduce_427,
  4, 271, :_reduce_428,
  1, 273, :_reduce_429,
  1, 273, :_reduce_430,
  1, 273, :_reduce_431,
  1, 273, :_reduce_none,
  2, 192, :_reduce_433,
  1, 192, :_reduce_434,
  1, 276, :_reduce_none,
  1, 276, :_reduce_none,
  1, 276, :_reduce_none,
  1, 276, :_reduce_none,
  3, 264, :_reduce_439,
  1, 263, :_reduce_440,
  1, 263, :_reduce_441,
  2, 263, :_reduce_442,
  2, 263, :_reduce_443,
  2, 263, :_reduce_444,
  2, 263, :_reduce_445,
  1, 186, :_reduce_446,
  1, 186, :_reduce_447,
  1, 186, :_reduce_448,
  1, 186, :_reduce_449,
  1, 186, :_reduce_450,
  1, 186, :_reduce_451,
  1, 186, :_reduce_452,
  1, 186, :_reduce_453,
  1, 186, :_reduce_454,
  1, 186, :_reduce_455,
  1, 186, :_reduce_456,
  1, 214, :_reduce_457,
  1, 162, :_reduce_458,
  1, 165, :_reduce_459,
  1, 165, :_reduce_none,
  1, 224, :_reduce_461,
  3, 224, :_reduce_462,
  2, 224, :_reduce_463,
  4, 226, :_reduce_464,
  2, 226, :_reduce_465,
  1, 278, :_reduce_none,
  1, 278, :_reduce_none,
  2, 279, :_reduce_468,
  1, 279, :_reduce_469,
  1, 280, :_reduce_470,
  2, 281, :_reduce_471,
  1, 281, :_reduce_472,
  1, 282, :_reduce_473,
  3, 282, :_reduce_474,
  4, 283, :_reduce_475,
  2, 283, :_reduce_476,
  2, 283, :_reduce_477,
  1, 283, :_reduce_478,
  2, 285, :_reduce_479,
  0, 285, :_reduce_480,
  6, 277, :_reduce_481,
  4, 277, :_reduce_482,
  4, 277, :_reduce_483,
  2, 277, :_reduce_484,
  4, 277, :_reduce_485,
  2, 277, :_reduce_486,
  2, 277, :_reduce_487,
  1, 277, :_reduce_488,
  0, 277, :_reduce_489,
  1, 287, :_reduce_none,
  1, 287, :_reduce_491,
  1, 288, :_reduce_492,
  1, 288, :_reduce_493,
  1, 288, :_reduce_494,
  1, 288, :_reduce_495,
  1, 289, :_reduce_496,
  3, 289, :_reduce_497,
  1, 223, :_reduce_none,
  1, 223, :_reduce_none,
  1, 291, :_reduce_500,
  3, 291, :_reduce_none,
  1, 292, :_reduce_502,
  3, 292, :_reduce_503,
  1, 290, :_reduce_none,
  4, 290, :_reduce_none,
  3, 290, :_reduce_none,
  2, 290, :_reduce_none,
  1, 290, :_reduce_none,
  1, 252, :_reduce_509,
  3, 252, :_reduce_510,
  3, 293, :_reduce_511,
  1, 286, :_reduce_512,
  3, 286, :_reduce_513,
  1, 294, :_reduce_none,
  1, 294, :_reduce_none,
  2, 253, :_reduce_516,
  1, 253, :_reduce_517,
  1, 295, :_reduce_none,
  1, 295, :_reduce_none,
  2, 250, :_reduce_520,
  2, 284, :_reduce_521,
  0, 284, :_reduce_522,
  1, 227, :_reduce_523,
  4, 227, :_reduce_524,
  0, 215, :_reduce_525,
  2, 215, :_reduce_526,
  1, 198, :_reduce_527,
  3, 198, :_reduce_528,
  3, 296, :_reduce_529,
  2, 296, :_reduce_530,
  1, 179, :_reduce_none,
  1, 179, :_reduce_none,
  1, 179, :_reduce_none,
  1, 175, :_reduce_none,
  1, 175, :_reduce_none,
  1, 175, :_reduce_none,
  1, 175, :_reduce_none,
  1, 256, :_reduce_none,
  1, 256, :_reduce_none,
  1, 256, :_reduce_none,
  1, 228, :_reduce_none,
  1, 228, :_reduce_none,
  0, 146, :_reduce_none,
  1, 146, :_reduce_none,
  0, 193, :_reduce_none,
  1, 193, :_reduce_none,
  0, 197, :_reduce_none,
  1, 197, :_reduce_none,
  1, 197, :_reduce_none,
  1, 225, :_reduce_none,
  1, 225, :_reduce_none,
  1, 148, :_reduce_none,
  2, 148, :_reduce_none,
  0, 195, :_reduce_554 ]

racc_reduce_n = 555

racc_shift_n = 968

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,
  :tREGEXP_END => 63,
  :tUPLUS => 64,
  :tUMINUS => 65,
  :tUMINUS_NUM => 66,
  :tPOW => 67,
  :tCMP => 68,
  :tEQ => 69,
  :tEQQ => 70,
  :tNEQ => 71,
  :tGEQ => 72,
  :tLEQ => 73,
  :tANDOP => 74,
  :tOROP => 75,
  :tMATCH => 76,
  :tNMATCH => 77,
  :tJSDOT => 78,
  :tDOT => 79,
  :tDOT2 => 80,
  :tDOT3 => 81,
  :tAREF => 82,
  :tASET => 83,
  :tLSHFT => 84,
  :tRSHFT => 85,
  :tCOLON2 => 86,
  :tCOLON3 => 87,
  :tOP_ASGN => 88,
  :tASSOC => 89,
  :tLPAREN => 90,
  :tLPAREN2 => 91,
  :tRPAREN => 92,
  :tLPAREN_ARG => 93,
  :ARRAY_BEG => 94,
  :tRBRACK => 95,
  :tLBRACE => 96,
  :tLBRACE_ARG => 97,
  :tSTAR => 98,
  :tSTAR2 => 99,
  :tAMPER => 100,
  :tAMPER2 => 101,
  :tTILDE => 102,
  :tPERCENT => 103,
  :tDIVIDE => 104,
  :tPLUS => 105,
  :tMINUS => 106,
  :tLT => 107,
  :tGT => 108,
  :tPIPE => 109,
  :tBANG => 110,
  :tCARET => 111,
  :tLCURLY => 112,
  :tRCURLY => 113,
  :tBACK_REF2 => 114,
  :tSYMBEG => 115,
  :tSTRING_BEG => 116,
  :tXSTRING_BEG => 117,
  :tREGEXP_BEG => 118,
  :tWORDS_BEG => 119,
  :tAWORDS_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,
  :tLBRACK2 => 134,
  :tLBRACK => 135,
  :tJSLBRACK => 136,
  :tDSTAR => 137,
  :tEQL => 138,
  :tLOWEST => 139,
  "-@NUM" => 140,
  "+@NUM" => 141 }

racc_nt_base = 142

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",
  "tREGEXP_END",
  "tUPLUS",
  "tUMINUS",
  "tUMINUS_NUM",
  "tPOW",
  "tCMP",
  "tEQ",
  "tEQQ",
  "tNEQ",
  "tGEQ",
  "tLEQ",
  "tANDOP",
  "tOROP",
  "tMATCH",
  "tNMATCH",
  "tJSDOT",
  "tDOT",
  "tDOT2",
  "tDOT3",
  "tAREF",
  "tASET",
  "tLSHFT",
  "tRSHFT",
  "tCOLON2",
  "tCOLON3",
  "tOP_ASGN",
  "tASSOC",
  "tLPAREN",
  "tLPAREN2",
  "tRPAREN",
  "tLPAREN_ARG",
  "ARRAY_BEG",
  "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",
  "tWORDS_BEG",
  "tAWORDS_BEG",
  "tSTRING_DBEG",
  "tSTRING_DVAR",
  "tSTRING_END",
  "tSTRING",
  "tSYMBOL",
  "tNL",
  "tEH",
  "tCOLON",
  "tCOMMA",
  "tSPACE",
  "tSEMI",
  "tLAMBDA",
  "tLAMBEG",
  "tLBRACK2",
  "tLBRACK",
  "tJSLBRACK",
  "tDSTAR",
  "tEQL",
  "tLOWEST",
  "\"-@NUM\"",
  "\"+@NUM\"",
  "$start",
  "program",
  "top_compstmt",
  "top_stmts",
  "opt_terms",
  "top_stmt",
  "terms",
  "stmt",
  "bodystmt",
  "compstmt",
  "opt_rescue",
  "opt_else",
  "opt_ensure",
  "stmts",
  "fitem",
  "undef_list",
  "expr_value",
  "lhs",
  "command_call",
  "mlhs",
  "var_lhs",
  "primary_value",
  "aref_args",
  "backref",
  "mrhs",
  "arg_value",
  "expr",
  "@1",
  "arg",
  "command",
  "block_command",
  "call_args",
  "block_call",
  "operation2",
  "command_args",
  "cmd_brace_block",
  "opt_block_var",
  "operation",
  "mlhs_basic",
  "mlhs_entry",
  "mlhs_head",
  "mlhs_item",
  "mlhs_node",
  "mlhs_post",
  "variable",
  "cname",
  "cpath",
  "fname",
  "op",
  "reswords",
  "symbol",
  "opt_nl",
  "primary",
  "none",
  "args",
  "trailer",
  "assocs",
  "paren_args",
  "opt_call_args",
  "rparen",
  "opt_paren_args",
  "opt_block_arg",
  "block_arg",
  "call_args2",
  "open_args",
  "@2",
  "literal",
  "strings",
  "xstring",
  "regexp",
  "words",
  "awords",
  "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",
  "@3",
  "@4",
  "@5",
  "@6",
  "@7",
  "@8",
  "@9",
  "@10",
  "@11",
  "@12",
  "@13",
  "@14",
  "@15",
  "@16",
  "@17",
  "f_larglist",
  "lambda_body",
  "block_param",
  "f_block_optarg",
  "f_block_opt",
  "block_args_tail",
  "f_block_arg",
  "opt_block_args_tail",
  "f_arg",
  "f_rest_arg",
  "do_block",
  "@18",
  "operation3",
  "@19",
  "@20",
  "cases",
  "@21",
  "exc_list",
  "exc_var",
  "numeric",
  "dsym",
  "string",
  "string1",
  "string_contents",
  "xstring_contents",
  "word_list",
  "word",
  "string_content",
  "qword_list",
  "string_dvar",
  "@22",
  "@23",
  "sym",
  "f_args",
  "kwrest_mark",
  "f_kwrest",
  "f_label",
  "f_kw",
  "f_kwarg",
  "args_tail",
  "opt_f_block_arg",
  "opt_args_tail",
  "f_optarg",
  "f_norm_arg",
  "f_bad_arg",
  "f_arg_item",
  "f_margs",
  "f_marg",
  "f_marg_list",
  "f_opt",
  "restarg_mark",
  "blkarg_mark",
  "assoc" ]

Racc_debug_parser = false

##### State transition tables end #####

# reduce 0 omitted

# reduce 1 omitted

module_eval(<<'.,.,', 'opal.y', 70)
  def _reduce_2(val, _values, result)
                          result = new_compstmt val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 75)
  def _reduce_3(val, _values, result)
                          result = new_block

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 79)
  def _reduce_4(val, _values, result)
                          result = new_block val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 83)
  def _reduce_5(val, _values, result)
                          val[0] << val[2]
                      result = val[0]

    result
  end
.,.,

# reduce 6 omitted

module_eval(<<'.,.,', 'opal.y', 90)
  def _reduce_7(val, _values, result)
                          result = val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 95)
  def _reduce_8(val, _values, result)
                          result = new_body(val[0], val[1], val[2], val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 100)
  def _reduce_9(val, _values, result)
                          result = new_compstmt val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 105)
  def _reduce_10(val, _values, result)
                          result = new_block

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 109)
  def _reduce_11(val, _values, result)
                          result = new_block val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 113)
  def _reduce_12(val, _values, result)
                          val[0] << val[2]
                      result = val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 119)
  def _reduce_13(val, _values, result)
                          lexer.lex_state = :expr_fname

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 123)
  def _reduce_14(val, _values, result)
                          result = new_alias(val[0], val[1], val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 127)
  def _reduce_15(val, _values, result)
                          result = s(:valias, value(val[1]).to_sym, value(val[2]).to_sym)

    result
  end
.,.,

# reduce 16 omitted

module_eval(<<'.,.,', 'opal.y', 132)
  def _reduce_17(val, _values, result)
                          result = s(:valias, value(val[1]).to_sym, value(val[2]).to_sym)

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 136)
  def _reduce_18(val, _values, result)
                          result = val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 140)
  def _reduce_19(val, _values, result)
                          result = new_if(val[1], val[2], val[0], nil)

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 144)
  def _reduce_20(val, _values, result)
                          result = new_if(val[1], val[2], nil, val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 148)
  def _reduce_21(val, _values, result)
                          result = new_while(val[1], val[2], val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 152)
  def _reduce_22(val, _values, result)
                          result = new_until(val[1], val[2], val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 156)
  def _reduce_23(val, _values, result)
                          result = new_rescue_mod(val[1], val[0], val[2])

    result
  end
.,.,

# reduce 24 omitted

module_eval(<<'.,.,', 'opal.y', 161)
  def _reduce_25(val, _values, result)
                          result = new_assign(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 165)
  def _reduce_26(val, _values, result)
                          result = s(:masgn, val[0], s(:to_ary, val[2]))

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 169)
  def _reduce_27(val, _values, result)
                          result = new_op_asgn val[1], val[0], val[2]

    result
  end
.,.,

# reduce 28 omitted

# reduce 29 omitted

module_eval(<<'.,.,', 'opal.y', 175)
  def _reduce_30(val, _values, result)
                          result = s(:op_asgn2, val[0], op_to_setter(val[2]), value(val[3]).to_sym, val[4])

    result
  end
.,.,

# reduce 31 omitted

# reduce 32 omitted

# reduce 33 omitted

module_eval(<<'.,.,', 'opal.y', 182)
  def _reduce_34(val, _values, result)
                          result = new_assign val[0], val[1], s(:svalue, val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 186)
  def _reduce_35(val, _values, result)
                          result = s(:masgn, val[0], s(:to_ary, val[2]))

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 190)
  def _reduce_36(val, _values, result)
                          result = s(:masgn, val[0], val[2])

    result
  end
.,.,

# reduce 37 omitted

# reduce 38 omitted

module_eval(<<'.,.,', 'opal.y', 197)
  def _reduce_39(val, _values, result)
                          result = s(:and, val[0], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 201)
  def _reduce_40(val, _values, result)
                          result = s(:or, val[0], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 205)
  def _reduce_41(val, _values, result)
                          result = new_unary_call(['!', []], val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 209)
  def _reduce_42(val, _values, result)
                          result = new_unary_call(val[0], val[1])

    result
  end
.,.,

# reduce 43 omitted

# reduce 44 omitted

# reduce 45 omitted

# reduce 46 omitted

module_eval(<<'.,.,', 'opal.y', 219)
  def _reduce_47(val, _values, result)
                          result = new_return(val[0], val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 223)
  def _reduce_48(val, _values, result)
                          result = new_break(val[0], val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 227)
  def _reduce_49(val, _values, result)
                          result = new_next(val[0], val[1])

    result
  end
.,.,

# reduce 50 omitted

# reduce 51 omitted

# reduce 52 omitted

# reduce 53 omitted

# reduce 54 omitted

module_eval(<<'.,.,', 'opal.y', 239)
  def _reduce_55(val, _values, result)
                          result = new_call(nil, val[0], val[1])

    result
  end
.,.,

# reduce 56 omitted

module_eval(<<'.,.,', 'opal.y', 244)
  def _reduce_57(val, _values, result)
                          result = new_js_call(val[0], val[2], val[3])

    result
  end
.,.,

# reduce 58 omitted

module_eval(<<'.,.,', 'opal.y', 249)
  def _reduce_59(val, _values, result)
                          result = new_call(val[0], val[2], val[3])

    result
  end
.,.,

# reduce 60 omitted

module_eval(<<'.,.,', 'opal.y', 254)
  def _reduce_61(val, _values, result)
                        result = new_call(val[0], val[2], val[3])

    result
  end
.,.,

# reduce 62 omitted

module_eval(<<'.,.,', 'opal.y', 259)
  def _reduce_63(val, _values, result)
                          result = new_super(val[0], val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 263)
  def _reduce_64(val, _values, result)
                          result = new_yield val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 268)
  def _reduce_65(val, _values, result)
                          result = val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 272)
  def _reduce_66(val, _values, result)
                          result = val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 277)
  def _reduce_67(val, _values, result)
                          result = val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 281)
  def _reduce_68(val, _values, result)
                          result = val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 286)
  def _reduce_69(val, _values, result)
                          result = val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 290)
  def _reduce_70(val, _values, result)
                          result = val[0] << val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 294)
  def _reduce_71(val, _values, result)
                          result = val[0] << s(:splat, val[2])

    result
  end
.,.,

# reduce 72 omitted

module_eval(<<'.,.,', 'opal.y', 299)
  def _reduce_73(val, _values, result)
                          result = val[0] << s(:splat)

    result
  end
.,.,

# reduce 74 omitted

module_eval(<<'.,.,', 'opal.y', 304)
  def _reduce_75(val, _values, result)
                          result = s(:array, s(:splat, val[1]))

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 308)
  def _reduce_76(val, _values, result)
                          result = s(:array, s(:splat))

    result
  end
.,.,

# reduce 77 omitted

module_eval(<<'.,.,', 'opal.y', 314)
  def _reduce_78(val, _values, result)
                          result = val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 318)
  def _reduce_79(val, _values, result)
                          result = val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 323)
  def _reduce_80(val, _values, result)
                          result = s(:array, val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 327)
  def _reduce_81(val, _values, result)
                          result = val[0] << val[1]

    result
  end
.,.,

# reduce 82 omitted

# reduce 83 omitted

module_eval(<<'.,.,', 'opal.y', 335)
  def _reduce_84(val, _values, result)
                          result = new_assignable val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 339)
  def _reduce_85(val, _values, result)
                          args = val[2] ? val[2] : []
                      result = s(:attrasgn, val[0], :[]=, s(:arglist, *args))

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 344)
  def _reduce_86(val, _values, result)
                          result = new_call val[0], val[2], []

    result
  end
.,.,

# reduce 87 omitted

# reduce 88 omitted

# reduce 89 omitted

# reduce 90 omitted

# reduce 91 omitted

module_eval(<<'.,.,', 'opal.y', 354)
  def _reduce_92(val, _values, result)
                          result = new_assignable val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 358)
  def _reduce_93(val, _values, result)
                          result = new_js_attrasgn(val[0], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 362)
  def _reduce_94(val, _values, result)
                          result = new_attrasgn(val[0], :[]=, val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 366)
  def _reduce_95(val, _values, result)
                          result = new_attrasgn(val[0], op_to_setter(val[2]))

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 370)
  def _reduce_96(val, _values, result)
                          result = new_attrasgn(val[0], op_to_setter(val[2]))

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 374)
  def _reduce_97(val, _values, result)
                          result = new_attrasgn(val[0], op_to_setter(val[2]))

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 378)
  def _reduce_98(val, _values, result)
                          result = new_colon2(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 382)
  def _reduce_99(val, _values, result)
                          result = new_colon3(val[0], val[1])

    result
  end
.,.,

# reduce 100 omitted

# reduce 101 omitted

module_eval(<<'.,.,', 'opal.y', 390)
  def _reduce_102(val, _values, result)
                          result = new_colon3(val[0], val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 394)
  def _reduce_103(val, _values, result)
                          result = new_const(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 398)
  def _reduce_104(val, _values, result)
                          result = new_colon2(val[0], val[1], val[2])

    result
  end
.,.,

# reduce 105 omitted

# reduce 106 omitted

# reduce 107 omitted

module_eval(<<'.,.,', 'opal.y', 406)
  def _reduce_108(val, _values, result)
                          lexer.lex_state = :expr_end
                      result = val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 411)
  def _reduce_109(val, _values, result)
                          lexer.lex_state = :expr_end
                      result = val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 417)
  def _reduce_110(val, _values, result)
                          result = new_sym(val[0])

    result
  end
.,.,

# reduce 111 omitted

module_eval(<<'.,.,', 'opal.y', 423)
  def _reduce_112(val, _values, result)
                          result = s(:undef, val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 427)
  def _reduce_113(val, _values, result)
                          result = val[0] << val[2]

    result
  end
.,.,

# 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

# reduce 181 omitted

# reduce 182 omitted

# reduce 183 omitted

# reduce 184 omitted

# reduce 185 omitted

# reduce 186 omitted

# reduce 187 omitted

module_eval(<<'.,.,', 'opal.y', 447)
  def _reduce_188(val, _values, result)
                          result = new_assign(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 451)
  def _reduce_189(val, _values, result)
                          result = new_assign val[0], val[1], s(:rescue_mod, val[2], val[4])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 455)
  def _reduce_190(val, _values, result)
                          result = new_op_asgn val[1], val[0], val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 459)
  def _reduce_191(val, _values, result)
                          result = new_op_asgn1(val[0], val[2], val[4], val[5])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 463)
  def _reduce_192(val, _values, result)
                          raise ".JS[...] #{val[4]} is not supported"

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 467)
  def _reduce_193(val, _values, result)
                          result = s(:op_asgn2, val[0], op_to_setter(val[2]), value(val[3]).to_sym, val[4])

    result
  end
.,.,

# reduce 194 omitted

# reduce 195 omitted

# reduce 196 omitted

# reduce 197 omitted

# reduce 198 omitted

module_eval(<<'.,.,', 'opal.y', 476)
  def _reduce_199(val, _values, result)
                          result = new_irange(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 480)
  def _reduce_200(val, _values, result)
                          result = new_erange(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 484)
  def _reduce_201(val, _values, result)
                          result = new_binary_call(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 488)
  def _reduce_202(val, _values, result)
                          result = new_binary_call(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 492)
  def _reduce_203(val, _values, result)
                          result = new_binary_call(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 496)
  def _reduce_204(val, _values, result)
                          result = new_binary_call(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 500)
  def _reduce_205(val, _values, result)
                          result = new_binary_call(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 504)
  def _reduce_206(val, _values, result)
                          result = new_binary_call(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 508)
  def _reduce_207(val, _values, result)
                          result = new_call new_binary_call(new_int(val[1]), val[2], val[3]), [:"-@", []], []

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 512)
  def _reduce_208(val, _values, result)
                          result = new_call new_binary_call(new_float(val[1]), val[2], val[3]), [:"-@", []], []

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 516)
  def _reduce_209(val, _values, result)
                          result = new_call val[1], [:"+@", []], []
                      if [:int, :float].include? val[1].type
                        result = val[1]
                      end

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 523)
  def _reduce_210(val, _values, result)
                          result = new_call val[1], [:"-@", []], []
                      if val[1].type == :int
                        val[1][1] = -val[1][1]
                        result = val[1]
                      elsif val[1].type == :float
                        val[1][1] = -val[1][1].to_f
                        result = val[1]
                      end

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 534)
  def _reduce_211(val, _values, result)
                          result = new_binary_call(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 538)
  def _reduce_212(val, _values, result)
                          result = new_binary_call(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 542)
  def _reduce_213(val, _values, result)
                          result = new_binary_call(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 546)
  def _reduce_214(val, _values, result)
                          result = new_binary_call(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 550)
  def _reduce_215(val, _values, result)
                          result = new_binary_call(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 554)
  def _reduce_216(val, _values, result)
                          result = new_binary_call(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 558)
  def _reduce_217(val, _values, result)
                          result = new_binary_call(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 562)
  def _reduce_218(val, _values, result)
                          result = new_binary_call(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 566)
  def _reduce_219(val, _values, result)
                          result = new_binary_call(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 570)
  def _reduce_220(val, _values, result)
                          result = new_binary_call(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 574)
  def _reduce_221(val, _values, result)
                          result = new_binary_call(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 578)
  def _reduce_222(val, _values, result)
                          result = new_binary_call(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 582)
  def _reduce_223(val, _values, result)
                          result = new_binary_call(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 586)
  def _reduce_224(val, _values, result)
                          result = new_unary_call(val[0], val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 590)
  def _reduce_225(val, _values, result)
                          result = new_unary_call(val[0], val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 594)
  def _reduce_226(val, _values, result)
                          result = new_binary_call(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 598)
  def _reduce_227(val, _values, result)
                          result = new_binary_call(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 602)
  def _reduce_228(val, _values, result)
                          result = new_and(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 606)
  def _reduce_229(val, _values, result)
                          result = new_or(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 610)
  def _reduce_230(val, _values, result)
                          result = s(:defined, val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 614)
  def _reduce_231(val, _values, result)
                          result = new_if(val[1], val[0], val[2], val[4])

    result
  end
.,.,

# reduce 232 omitted

# reduce 233 omitted

module_eval(<<'.,.,', 'opal.y', 622)
  def _reduce_234(val, _values, result)
                          result = nil

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 626)
  def _reduce_235(val, _values, result)
                          result = [val[0]]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 630)
  def _reduce_236(val, _values, result)
                          result = val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 634)
  def _reduce_237(val, _values, result)
                          val[0] << s(:hash, *val[2])
                      result = val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 639)
  def _reduce_238(val, _values, result)
                          result = [s(:hash, *val[0])]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 644)
  def _reduce_239(val, _values, result)
                          result = val[1]

    result
  end
.,.,

# reduce 240 omitted

module_eval(<<'.,.,', 'opal.y', 651)
  def _reduce_241(val, _values, result)
                          result = []

    result
  end
.,.,

# reduce 242 omitted

module_eval(<<'.,.,', 'opal.y', 657)
  def _reduce_243(val, _values, result)
                          result = []

    result
  end
.,.,

# reduce 244 omitted

module_eval(<<'.,.,', 'opal.y', 662)
  def _reduce_245(val, _values, result)
                          result = val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 666)
  def _reduce_246(val, _values, result)
                          result = val[0]
                      result << new_hash(nil, val[2], nil)

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 671)
  def _reduce_247(val, _values, result)
                          result = [new_hash(nil, val[0], nil)]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 676)
  def _reduce_248(val, _values, result)
                          result = [val[0]]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 680)
  def _reduce_249(val, _values, result)
                          result = val[0]
                      add_block_pass val[0], val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 685)
  def _reduce_250(val, _values, result)
                          result = [new_hash(nil, val[0], nil)]
                      add_block_pass result, val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 690)
  def _reduce_251(val, _values, result)
                          result = val[0]
                      result << new_hash(nil, val[2], nil)
                      result << val[3] if val[3]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 696)
  def _reduce_252(val, _values, result)
                          result = []
                      add_block_pass result, val[0]

    result
  end
.,.,

# reduce 253 omitted

# reduce 254 omitted

module_eval(<<'.,.,', 'opal.y', 704)
  def _reduce_255(val, _values, result)
                          lexer.cmdarg_push 1

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 708)
  def _reduce_256(val, _values, result)
                          lexer.cmdarg_pop
                      result = val[1]

    result
  end
.,.,

# reduce 257 omitted

module_eval(<<'.,.,', 'opal.y', 715)
  def _reduce_258(val, _values, result)
                          result = nil

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 719)
  def _reduce_259(val, _values, result)
                          result = val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 724)
  def _reduce_260(val, _values, result)
                          result = new_block_pass(val[0], val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 729)
  def _reduce_261(val, _values, result)
                          result = val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 733)
  def _reduce_262(val, _values, result)
                          result = nil

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 738)
  def _reduce_263(val, _values, result)
                          result = [val[0]]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 742)
  def _reduce_264(val, _values, result)
                          result = [new_splat(val[0], val[1])]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 746)
  def _reduce_265(val, _values, result)
                          result = val[0] << val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 750)
  def _reduce_266(val, _values, result)
                          result  = val[0] << new_splat(val[2], val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 755)
  def _reduce_267(val, _values, result)
                          val[0] << val[2]
                      result = s(:array, *val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 760)
  def _reduce_268(val, _values, result)
                          val[0] << s(:splat, val[3])
                      result = s(:array, *val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 765)
  def _reduce_269(val, _values, result)
                          result = s(:splat, val[1])

    result
  end
.,.,

# reduce 270 omitted

# reduce 271 omitted

# reduce 272 omitted

# reduce 273 omitted

# reduce 274 omitted

# reduce 275 omitted

# reduce 276 omitted

# reduce 277 omitted

# reduce 278 omitted

module_eval(<<'.,.,', 'opal.y', 779)
  def _reduce_279(val, _values, result)
                          result = lexer.line

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 783)
  def _reduce_280(val, _values, result)
                          result = s(:begin, val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 787)
  def _reduce_281(val, _values, result)
                          result = val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 791)
  def _reduce_282(val, _values, result)
                          result = new_paren(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 795)
  def _reduce_283(val, _values, result)
                          result = new_colon2(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 799)
  def _reduce_284(val, _values, result)
                          result = new_colon3(val[0], val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 803)
  def _reduce_285(val, _values, result)
                          result = new_call val[0], [:[], []], val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 807)
  def _reduce_286(val, _values, result)
                          result = new_js_call val[0], [:[], []], val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 811)
  def _reduce_287(val, _values, result)
                          result = new_array(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 815)
  def _reduce_288(val, _values, result)
                          result = new_hash(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 819)
  def _reduce_289(val, _values, result)
                          result = new_return(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 823)
  def _reduce_290(val, _values, result)
                          result = new_yield val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 827)
  def _reduce_291(val, _values, result)
                          result = s(:yield)

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 831)
  def _reduce_292(val, _values, result)
                          result = s(:yield)

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 835)
  def _reduce_293(val, _values, result)
                          result = s(:defined, val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 839)
  def _reduce_294(val, _values, result)
                          result = new_unary_call(['!', []], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 843)
  def _reduce_295(val, _values, result)
                          result = new_unary_call(['!', []], new_nil(val[0]))

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 847)
  def _reduce_296(val, _values, result)
                          result = new_call(nil, val[0], [])
                      result << val[1]

    result
  end
.,.,

# reduce 297 omitted

module_eval(<<'.,.,', 'opal.y', 853)
  def _reduce_298(val, _values, result)
                          val[0] << val[1]
                      result = val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 858)
  def _reduce_299(val, _values, result)
                          result = val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 862)
  def _reduce_300(val, _values, result)
                          result = new_if(val[0], val[1], val[3], val[4])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 866)
  def _reduce_301(val, _values, result)
                          result = new_if(val[0], val[1], val[4], val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 870)
  def _reduce_302(val, _values, result)
                          lexer.cond_push 1
                      result = lexer.line

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 875)
  def _reduce_303(val, _values, result)
                          lexer.cond_pop

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 879)
  def _reduce_304(val, _values, result)
                          result = s(:while, val[2], val[5])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 883)
  def _reduce_305(val, _values, result)
                          lexer.cond_push 1
                      result = lexer.line

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 888)
  def _reduce_306(val, _values, result)
                          lexer.cond_pop

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 892)
  def _reduce_307(val, _values, result)
                          result = s(:until, val[2], val[5])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 896)
  def _reduce_308(val, _values, result)
                          result = s(:case, val[1], *val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 900)
  def _reduce_309(val, _values, result)
                          result = s(:case, nil, *val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 904)
  def _reduce_310(val, _values, result)
                          result = s(:case, nil, val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 908)
  def _reduce_311(val, _values, result)
                          lexer.cond_push 1
                      result = lexer.line

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 913)
  def _reduce_312(val, _values, result)
                          lexer.cond_pop

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 917)
  def _reduce_313(val, _values, result)
                          result = s(:for, val[4], val[1], val[7])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 921)
  def _reduce_314(val, _values, result)
                          # ...

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 925)
  def _reduce_315(val, _values, result)
                          result = new_class val[0], val[1], val[2], val[4], val[5]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 929)
  def _reduce_316(val, _values, result)
                          result = lexer.line

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 933)
  def _reduce_317(val, _values, result)
                          # ...

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 937)
  def _reduce_318(val, _values, result)
                          result = new_sclass(val[0], val[3], val[6], val[7])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 941)
  def _reduce_319(val, _values, result)
                          result = lexer.line

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 945)
  def _reduce_320(val, _values, result)
                          # ...

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 949)
  def _reduce_321(val, _values, result)
                          result = new_module(val[0], val[2], val[4], val[5])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 953)
  def _reduce_322(val, _values, result)
                          push_scope
                      lexer.lex_state = :expr_endfn

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 958)
  def _reduce_323(val, _values, result)
                          result = new_def(val[0], nil, val[1], val[3], val[4], val[5])
                      pop_scope

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 963)
  def _reduce_324(val, _values, result)
                           lexer.lex_state = :expr_fname

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 967)
  def _reduce_325(val, _values, result)
                          push_scope
                      lexer.lex_state = :expr_endfn

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 972)
  def _reduce_326(val, _values, result)
                          result = new_def(val[0], val[1], val[4], val[6], val[7], val[8])
                      pop_scope

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 977)
  def _reduce_327(val, _values, result)
                          result = new_break(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 981)
  def _reduce_328(val, _values, result)
                          result = s(:next)

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 985)
  def _reduce_329(val, _values, result)
                          result = s(:redo)

    result
  end
.,.,

# reduce 330 omitted

# reduce 331 omitted

# reduce 332 omitted

# reduce 333 omitted

# reduce 334 omitted

# reduce 335 omitted

# reduce 336 omitted

# reduce 337 omitted

# reduce 338 omitted

module_eval(<<'.,.,', 'opal.y', 1002)
  def _reduce_339(val, _values, result)
                          result = new_call nil, [:lambda, []], []
                      result << new_iter(val[0], val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1008)
  def _reduce_340(val, _values, result)
                          result = val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1012)
  def _reduce_341(val, _values, result)
                          result = nil

    result
  end
.,.,

# reduce 342 omitted

# reduce 343 omitted

module_eval(<<'.,.,', 'opal.y', 1019)
  def _reduce_344(val, _values, result)
                          result = val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1023)
  def _reduce_345(val, _values, result)
                          result = val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1028)
  def _reduce_346(val, _values, result)
                          result = val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1032)
  def _reduce_347(val, _values, result)
                          result = new_if(val[0], val[1], val[3], val[4])

    result
  end
.,.,

# reduce 348 omitted

module_eval(<<'.,.,', 'opal.y', 1038)
  def _reduce_349(val, _values, result)
                          result = val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1043)
  def _reduce_350(val, _values, result)
                          result = s(:block, val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1047)
  def _reduce_351(val, _values, result)
                          val[0] << val[2]
                      result = val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1053)
  def _reduce_352(val, _values, result)
                          result = new_assign(new_assignable(new_ident(
                                  val[0])), val[1], val[2])

    result
  end
.,.,

# reduce 353 omitted

module_eval(<<'.,.,', 'opal.y', 1060)
  def _reduce_354(val, _values, result)
                          result = nil

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1064)
  def _reduce_355(val, _values, result)
                          result = nil

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1068)
  def _reduce_356(val, _values, result)
                          result = val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1073)
  def _reduce_357(val, _values, result)
                          result = val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1078)
  def _reduce_358(val, _values, result)
                          result = val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1082)
  def _reduce_359(val, _values, result)
                          nil

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1087)
  def _reduce_360(val, _values, result)
                          result = new_block_args(val[0], val[2], val[4], val[5])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1091)
  def _reduce_361(val, _values, result)
                          result = new_block_args(val[0], val[2], nil, val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1095)
  def _reduce_362(val, _values, result)
                          result = new_block_args(val[0], nil, val[2], val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1099)
  def _reduce_363(val, _values, result)
                          result = new_block_args(val[0], nil, nil, nil)

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1103)
  def _reduce_364(val, _values, result)
                          result = new_block_args(val[0], nil, nil, val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1107)
  def _reduce_365(val, _values, result)
                          result = new_block_args(nil, val[0], val[2], val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1111)
  def _reduce_366(val, _values, result)
                          result = new_block_args(nil, val[0], nil, val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1115)
  def _reduce_367(val, _values, result)
                          result = new_block_args(nil, nil, val[0], val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1119)
  def _reduce_368(val, _values, result)
                          result = new_block_args(nil, nil, nil, val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1124)
  def _reduce_369(val, _values, result)
                          push_scope :block
                      result = lexer.line

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1129)
  def _reduce_370(val, _values, result)
                          result = new_iter val[2], val[3]
                      pop_scope

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1135)
  def _reduce_371(val, _values, result)
                          val[0] << val[1]
                      result = val[0]

    result
  end
.,.,

# reduce 372 omitted

# reduce 373 omitted

# reduce 374 omitted

module_eval(<<'.,.,', 'opal.y', 1144)
  def _reduce_375(val, _values, result)
                          result = new_call(nil, val[0], val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1148)
  def _reduce_376(val, _values, result)
                          result = new_call(val[0], val[2], val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1152)
  def _reduce_377(val, _values, result)
                          result = new_js_call(val[0], val[2], val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1156)
  def _reduce_378(val, _values, result)
                          result = new_call(val[0], [:call, []], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1160)
  def _reduce_379(val, _values, result)
                          result = new_call(val[0], val[2], val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1164)
  def _reduce_380(val, _values, result)
                          result = new_call(val[0], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1168)
  def _reduce_381(val, _values, result)
                          result = new_super(val[0], val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1172)
  def _reduce_382(val, _values, result)
                          result = new_super(val[0], nil)

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1177)
  def _reduce_383(val, _values, result)
                          push_scope :block
                      result = lexer.line

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1182)
  def _reduce_384(val, _values, result)
                          result = new_iter val[2], val[3]
                      pop_scope

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1187)
  def _reduce_385(val, _values, result)
                          push_scope :block
                      result = lexer.line

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1192)
  def _reduce_386(val, _values, result)
                          result = new_iter val[2], val[3]
                      pop_scope

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1198)
  def _reduce_387(val, _values, result)
                          result = lexer.line

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1202)
  def _reduce_388(val, _values, result)
                          part = s(:when, s(:array, *val[2]), val[4])
                      result = [part]
                      result.push(*val[5]) if val[5]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1209)
  def _reduce_389(val, _values, result)
                          result = [val[0]]

    result
  end
.,.,

# reduce 390 omitted

module_eval(<<'.,.,', 'opal.y', 1215)
  def _reduce_391(val, _values, result)
                          exc = val[1] || s(:array)
                      exc << new_assign(val[2], val[2], s(:gvar, '$!'.intern)) if val[2]
                      result = [s(:resbody, exc, val[4])]
                      result.push val[5].first if val[5]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1222)
  def _reduce_392(val, _values, result)
                          result = nil

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1227)
  def _reduce_393(val, _values, result)
                          result = s(:array, val[0])

    result
  end
.,.,

# reduce 394 omitted

# reduce 395 omitted

module_eval(<<'.,.,', 'opal.y', 1234)
  def _reduce_396(val, _values, result)
                          result = val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1238)
  def _reduce_397(val, _values, result)
                          result = nil

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1243)
  def _reduce_398(val, _values, result)
                          result = val[1].nil? ? s(:nil) : val[1]

    result
  end
.,.,

# reduce 399 omitted

# reduce 400 omitted

# reduce 401 omitted

# reduce 402 omitted

module_eval(<<'.,.,', 'opal.y', 1253)
  def _reduce_403(val, _values, result)
                          result = new_str val[0]

    result
  end
.,.,

# reduce 404 omitted

module_eval(<<'.,.,', 'opal.y', 1259)
  def _reduce_405(val, _values, result)
                        result = str_append val[0], val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1264)
  def _reduce_406(val, _values, result)
                          result = val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1268)
  def _reduce_407(val, _values, result)
                          result = s(:str, value(val[0]))

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1273)
  def _reduce_408(val, _values, result)
                          result = new_xstr(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1278)
  def _reduce_409(val, _values, result)
                          result = new_regexp val[1], val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1283)
  def _reduce_410(val, _values, result)
                          result = s(:array)

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1287)
  def _reduce_411(val, _values, result)
                          result = val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1292)
  def _reduce_412(val, _values, result)
                          result = s(:array)

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1296)
  def _reduce_413(val, _values, result)
                          part = val[1]
                      part = s(:dstr, "", val[1]) if part.type == :evstr
                      result = val[0] << part

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1303)
  def _reduce_414(val, _values, result)
                          result = val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1307)
  def _reduce_415(val, _values, result)
                          result = val[0].concat([val[1]])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1312)
  def _reduce_416(val, _values, result)
                          result = s(:array)

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1316)
  def _reduce_417(val, _values, result)
                          result = val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1321)
  def _reduce_418(val, _values, result)
                          result = s(:array)

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1325)
  def _reduce_419(val, _values, result)
                          result = val[0] << s(:str, value(val[1]))

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1330)
  def _reduce_420(val, _values, result)
                          result = nil

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1334)
  def _reduce_421(val, _values, result)
                          result = str_append val[0], val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1339)
  def _reduce_422(val, _values, result)
                          result = nil

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1343)
  def _reduce_423(val, _values, result)
                          result = str_append val[0], val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1348)
  def _reduce_424(val, _values, result)
                          result = new_str_content(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1352)
  def _reduce_425(val, _values, result)
                          result = lexer.strterm
                      lexer.strterm = nil

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1357)
  def _reduce_426(val, _values, result)
                          lexer.strterm = val[1]
                      result = new_evstr(val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1362)
  def _reduce_427(val, _values, result)
                          lexer.cond_push 0
                      lexer.cmdarg_push 0
                      result = lexer.strterm
                      lexer.strterm = nil
                      lexer.lex_state = :expr_beg

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1370)
  def _reduce_428(val, _values, result)
                          lexer.strterm = val[1]
                      lexer.cond_lexpop
                      lexer.cmdarg_lexpop
                      result = new_evstr(val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1378)
  def _reduce_429(val, _values, result)
                          result = new_gvar(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1382)
  def _reduce_430(val, _values, result)
                          result = new_ivar(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1386)
  def _reduce_431(val, _values, result)
                          result = new_cvar(val[0])

    result
  end
.,.,

# reduce 432 omitted

module_eval(<<'.,.,', 'opal.y', 1393)
  def _reduce_433(val, _values, result)
                          result = new_sym(val[1])
                      lexer.lex_state = :expr_end

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1398)
  def _reduce_434(val, _values, result)
                          result = new_sym(val[0])

    result
  end
.,.,

# reduce 435 omitted

# reduce 436 omitted

# reduce 437 omitted

# reduce 438 omitted

module_eval(<<'.,.,', 'opal.y', 1408)
  def _reduce_439(val, _values, result)
                          result = new_dsym val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1413)
  def _reduce_440(val, _values, result)
                          result = new_int(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1417)
  def _reduce_441(val, _values, result)
                          result = new_float(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1421)
  def _reduce_442(val, _values, result)
                        result = negate_num(new_int(val[1]))

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1425)
  def _reduce_443(val, _values, result)
                        result = negate_num(new_float(val[1]))

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1429)
  def _reduce_444(val, _values, result)
                        result = new_int(val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1433)
  def _reduce_445(val, _values, result)
                        result = new_float(val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1438)
  def _reduce_446(val, _values, result)
                          result = new_ident(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1442)
  def _reduce_447(val, _values, result)
                          result = new_ivar(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1446)
  def _reduce_448(val, _values, result)
                          result = new_gvar(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1450)
  def _reduce_449(val, _values, result)
                          result = new_const(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1454)
  def _reduce_450(val, _values, result)
                          result = new_cvar(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1458)
  def _reduce_451(val, _values, result)
                          result = new_nil(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1462)
  def _reduce_452(val, _values, result)
                          result = new_self(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1466)
  def _reduce_453(val, _values, result)
                          result = new_true(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1470)
  def _reduce_454(val, _values, result)
                          result = new_false(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1474)
  def _reduce_455(val, _values, result)
                          result = new___FILE__(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1478)
  def _reduce_456(val, _values, result)
                          result = new___LINE__(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1483)
  def _reduce_457(val, _values, result)
                          result = new_var_ref(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1488)
  def _reduce_458(val, _values, result)
                          result = new_assignable val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1493)
  def _reduce_459(val, _values, result)
                          result = s(:nth_ref, value(val[0]))

    result
  end
.,.,

# reduce 460 omitted

module_eval(<<'.,.,', 'opal.y', 1499)
  def _reduce_461(val, _values, result)
                          result = nil

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1503)
  def _reduce_462(val, _values, result)
                          result = val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1507)
  def _reduce_463(val, _values, result)
                          result = nil

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1512)
  def _reduce_464(val, _values, result)
                          result = val[1]
                      lexer.lex_state = :expr_beg

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1517)
  def _reduce_465(val, _values, result)
                          result = val[0]
                      lexer.lex_state = :expr_beg

    result
  end
.,.,

# reduce 466 omitted

# reduce 467 omitted

module_eval(<<'.,.,', 'opal.y', 1526)
  def _reduce_468(val, _values, result)
                          result = new_kwrestarg(val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1530)
  def _reduce_469(val, _values, result)
                          result = new_kwrestarg()

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1535)
  def _reduce_470(val, _values, result)
                          result = new_sym(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1540)
  def _reduce_471(val, _values, result)
                          result = new_kwoptarg(val[0], val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1544)
  def _reduce_472(val, _values, result)
                          result = new_kwarg(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1549)
  def _reduce_473(val, _values, result)
                          result = [val[0]]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1553)
  def _reduce_474(val, _values, result)
                          result = val[0]
                      result << val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1559)
  def _reduce_475(val, _values, result)
                          result = new_args_tail(val[0], val[2], val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1563)
  def _reduce_476(val, _values, result)
                          result = new_args_tail(val[0], nil, val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1567)
  def _reduce_477(val, _values, result)
                          result = new_args_tail(nil, val[0], val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1571)
  def _reduce_478(val, _values, result)
                          result = new_args_tail(nil, nil, val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1576)
  def _reduce_479(val, _values, result)
                          result = val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1580)
  def _reduce_480(val, _values, result)
                          result = new_args_tail(nil, nil, nil)

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1585)
  def _reduce_481(val, _values, result)
                          result = new_args(val[0], val[2], val[4], val[5])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1589)
  def _reduce_482(val, _values, result)
                          result = new_args(val[0], val[2], nil, val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1593)
  def _reduce_483(val, _values, result)
                          result = new_args(val[0], nil, val[2], val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1597)
  def _reduce_484(val, _values, result)
                          result = new_args(val[0], nil, nil, val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1601)
  def _reduce_485(val, _values, result)
                          result = new_args(nil, val[0], val[2], val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1605)
  def _reduce_486(val, _values, result)
                          result = new_args(nil, val[0], nil, val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1609)
  def _reduce_487(val, _values, result)
                          result = new_args(nil, nil, val[0], val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1613)
  def _reduce_488(val, _values, result)
                          result = new_args(nil, nil, nil, val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1617)
  def _reduce_489(val, _values, result)
                          result = new_args(nil, nil, nil, nil)

    result
  end
.,.,

# reduce 490 omitted

module_eval(<<'.,.,', 'opal.y', 1623)
  def _reduce_491(val, _values, result)
                          result = value(val[0]).to_sym
                      scope.add_local result

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1629)
  def _reduce_492(val, _values, result)
                          raise 'formal argument cannot be a constant'

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1633)
  def _reduce_493(val, _values, result)
                          raise 'formal argument cannot be an instance variable'

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1637)
  def _reduce_494(val, _values, result)
                          raise 'formal argument cannot be a class variable'

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1641)
  def _reduce_495(val, _values, result)
                          raise 'formal argument cannot be a global variable'

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1646)
  def _reduce_496(val, _values, result)
                          result = val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1650)
  def _reduce_497(val, _values, result)
                          result = val[1]

    result
  end
.,.,

# reduce 498 omitted

# reduce 499 omitted

module_eval(<<'.,.,', 'opal.y', 1658)
  def _reduce_500(val, _values, result)
                          result = s(:lasgn, val[0])

    result
  end
.,.,

# reduce 501 omitted

module_eval(<<'.,.,', 'opal.y', 1664)
  def _reduce_502(val, _values, result)
                          result = s(:array, val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1668)
  def _reduce_503(val, _values, result)
                          val[0] << val[2]
                      result = val[0]

    result
  end
.,.,

# reduce 504 omitted

# reduce 505 omitted

# reduce 506 omitted

# reduce 507 omitted

# reduce 508 omitted

module_eval(<<'.,.,', 'opal.y', 1680)
  def _reduce_509(val, _values, result)
                          result = [val[0]]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1684)
  def _reduce_510(val, _values, result)
                          val[0] << val[2]
                      result = val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1690)
  def _reduce_511(val, _values, result)
                          result = new_assign(new_assignable(new_ident(val[0])), val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1695)
  def _reduce_512(val, _values, result)
                          result = s(:block, val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1699)
  def _reduce_513(val, _values, result)
                          result = val[0]
                      val[0] << val[2]

    result
  end
.,.,

# reduce 514 omitted

# reduce 515 omitted

module_eval(<<'.,.,', 'opal.y', 1708)
  def _reduce_516(val, _values, result)
                          result = "*#{value(val[1])}".to_sym

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1712)
  def _reduce_517(val, _values, result)
                          result = :"*"

    result
  end
.,.,

# reduce 518 omitted

# reduce 519 omitted

module_eval(<<'.,.,', 'opal.y', 1720)
  def _reduce_520(val, _values, result)
                          result = "&#{value(val[1])}".to_sym

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1725)
  def _reduce_521(val, _values, result)
                          result = val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1729)
  def _reduce_522(val, _values, result)
                          result = nil

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1734)
  def _reduce_523(val, _values, result)
                          result = val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1738)
  def _reduce_524(val, _values, result)
                          result = val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1743)
  def _reduce_525(val, _values, result)
                          result = []

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1747)
  def _reduce_526(val, _values, result)
                          result = val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1752)
  def _reduce_527(val, _values, result)
                          result = val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1756)
  def _reduce_528(val, _values, result)
                          result = val[0].push(*val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1761)
  def _reduce_529(val, _values, result)
                          result = [val[0], val[2]]

    result
  end
.,.,

module_eval(<<'.,.,', 'opal.y', 1765)
  def _reduce_530(val, _values, result)
                          result = [new_sym(val[0]), val[1]]

    result
  end
.,.,

# reduce 531 omitted

# reduce 532 omitted

# reduce 533 omitted

# reduce 534 omitted

# reduce 535 omitted

# reduce 536 omitted

# reduce 537 omitted

# reduce 538 omitted

# reduce 539 omitted

# reduce 540 omitted

# reduce 541 omitted

# reduce 542 omitted

# reduce 543 omitted

# reduce 544 omitted

# reduce 545 omitted

# reduce 546 omitted

# reduce 547 omitted

# reduce 548 omitted

# reduce 549 omitted

# reduce 550 omitted

# reduce 551 omitted

# reduce 552 omitted

# reduce 553 omitted

module_eval(<<'.,.,', 'opal.y', 1802)
  def _reduce_554(val, _values, result)
                          result = nil

    result
  end
.,.,

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

  end   # class Parser
end   # module Opal