#
# DO NOT MODIFY!!!!
# This file is automatically generated by Racc 1.4.12
# from Racc grammer file "".
#

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


##### State transition tables begin ###

clist = [
'63,64,65,8,51,566,-89,-83,57,58,270,203,204,61,73,59,60,62,23,24,66',
'67,74,-523,785,639,767,22,28,27,90,89,91,92,543,609,17,572,270,573,768',
'265,7,41,6,9,94,93,566,84,50,86,85,87,-64,88,95,96,638,81,82,-94,38',
'39,-88,535,587,790,537,573,-95,203,204,-525,-83,-90,-440,101,566,566',
'-90,676,100,-440,36,-90,-91,30,-523,-92,52,-75,781,54,-92,32,269,608',
'-92,40,101,-93,566,265,265,100,780,18,399,-523,-81,-83,79,73,75,76,77',
'78,101,-83,565,74,80,100,269,708,63,64,65,56,51,-440,53,225,57,58,37',
'83,542,61,-91,59,60,62,256,257,66,67,203,204,708,341,340,255,28,27,90',
'89,91,92,305,101,217,565,-525,-86,100,-526,-80,41,708,586,94,93,-87',
'84,50,86,85,87,259,88,95,96,-82,81,82,620,38,39,101,101,101,565,565',
'100,100,100,-90,-91,-90,-91,-84,-90,-91,-85,-525,-92,225,-92,208,522',
'-92,212,778,101,52,565,873,54,100,254,270,-277,101,40,707,-447,-84,100',
'-277,-82,-84,216,-447,-526,-92,305,79,73,75,76,77,78,-83,-437,735,74',
'80,101,790,707,-437,639,100,56,850,732,53,735,-94,388,37,83,63,64,65',
'8,51,101,732,707,57,58,100,203,204,61,-277,59,60,62,23,24,66,67,638',
'265,412,341,340,22,28,27,90,89,91,92,-82,-84,17,597,341,340,597,-89',
'7,41,269,9,94,93,597,84,50,86,85,87,-449,88,95,96,597,81,82,733,38,39',
'409,796,787,797,-278,411,410,-82,-84,597,733,-278,203,204,888,-82,-84',
'446,549,735,36,-443,552,30,597,-278,52,602,-443,54,732,32,-278,599,598',
'40,599,598,600,-88,518,519,751,18,599,598,604,522,79,73,75,76,77,78',
'599,598,595,74,80,-278,338,337,341,340,639,56,-95,635,53,599,598,610',
'37,83,63,64,65,8,51,639,-278,101,57,58,599,598,100,61,-86,59,60,62,23',
'24,66,67,-94,638,733,809,790,22,28,27,90,89,91,92,101,101,17,-271,638',
'100,100,615,7,41,-271,9,94,93,-449,84,50,86,85,87,583,88,95,96,483,81',
'82,799,38,39,800,225,229,234,235,236,231,233,241,242,237,238,-277,218',
'219,-277,101,239,240,-277,36,100,-277,30,-526,-80,52,-526,-271,54,619',
'32,222,-88,228,40,224,223,220,221,232,230,226,18,227,582,801,202,79',
'73,75,76,77,78,583,552,-448,74,80,200,243,581,-227,-448,101,56,201,-277',
'53,100,-277,-82,37,83,63,64,65,8,51,-90,842,843,57,58,844,95,96,61,-87',
'59,60,62,23,24,66,67,-95,535,804,757,537,22,28,27,90,89,91,92,919,582',
'17,-448,341,340,199,920,7,41,481,9,94,93,770,84,50,86,85,87,525,88,95',
'96,790,81,82,526,38,39,575,442,-81,225,-448,-442,225,576,443,-271,-89',
'-448,-442,813,888,514,-271,-445,814,735,36,-446,515,30,-445,918,52,385',
'-446,54,732,32,816,-279,222,40,490,222,224,223,-279,224,223,18,490,444',
'445,592,79,73,75,76,77,78,593,574,444,74,80,-448,338,337,341,340,-271',
'56,535,447,53,537,513,-258,37,83,63,64,65,8,51,-444,448,535,57,58,534',
'-525,-444,61,-279,59,60,62,23,24,66,67,203,204,733,397,398,22,28,27',
'90,89,91,92,809,790,17,-278,298,299,818,615,7,41,-278,9,94,93,753,84',
'50,86,85,87,-279,88,95,96,213,81,82,-279,38,39,479,225,229,234,235,236',
'231,233,241,242,237,238,-324,218,219,262,481,239,240,-324,36,483,263',
'30,203,204,52,711,-278,54,573,32,222,826,228,40,224,223,220,221,232',
'230,226,18,227,-279,703,828,79,73,75,76,77,78,690,831,832,74,80,834',
'243,836,63,64,65,56,51,-324,53,-440,57,58,37,83,838,61,-440,59,60,62',
'256,257,66,67,103,104,105,106,107,255,288,292,90,89,91,92,700,840,217',
'698,338,337,341,340,490,41,688,-259,94,93,305,84,50,86,85,87,-63,88',
'95,96,507,81,82,684,38,39,683,225,229,234,235,236,231,233,241,242,237',
'238,682,218,219,297,508,239,240,296,208,509,676,212,851,852,52,853,854',
'54,528,644,222,252,228,40,224,223,220,221,232,230,226,216,227,856,857',
'676,79,73,75,76,77,78,516,859,668,74,80,-257,243,863,-227,666,-75,56',
'690,665,53,868,274,870,37,83,63,64,65,8,51,663,244,305,57,58,655,654',
'876,61,878,59,60,62,23,24,66,67,103,104,105,106,107,22,28,27,90,89,91',
'92,879,305,17,305,338,337,341,340,7,41,265,9,94,93,225,84,50,86,85,87',
'225,88,95,96,225,81,82,225,38,39,892,225,229,234,235,236,231,233,241',
'242,237,238,-260,218,219,523,524,239,240,265,36,894,618,30,-257,198',
'52,-526,552,54,617,32,222,904,228,40,224,223,220,221,232,230,226,18',
'227,905,197,196,79,73,75,76,77,78,195,910,831,74,80,912,243,636,836',
'836,838,56,225,614,53,611,607,603,37,83,63,64,65,8,51,921,305,108,57',
'58,579,578,927,61,577,59,60,62,23,24,66,67,103,104,105,106,107,22,28',
'27,90,89,91,92,401,554,17,333,331,330,682,332,7,41,97,9,94,93,562,84',
'50,86,85,87,561,88,95,96,552,81,82,550,38,39,937,225,229,234,235,236',
'231,233,241,242,237,238,836,218,219,939,940,239,240,549,36,546,483,30',
'539,538,52,,,54,,32,222,,228,40,224,223,220,221,232,230,226,18,227,',
',,79,73,75,76,77,78,,,,74,80,,243,,63,64,65,56,51,,53,,57,58,37,83,',
'61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,554,217,333',
'331,330,,332,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,225',
'229,234,235,236,231,233,241,242,237,238,,218,219,,,239,240,,208,,,212',
',,52,,,54,,644,222,,228,40,224,223,220,221,232,230,226,216,227,,,,79',
'73,75,76,77,78,,,,74,80,,243,,63,64,65,56,51,,53,,57,58,37,83,,61,,59',
'60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,554,217,333,331,330',
',332,,289,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,745,,333,331,330',
'735,332,,,,,,557,,,,732,,,,560,,,899,,,212,225,,52,,,54,,,,,,335,730',
',,,,,,338,337,341,340,,79,73,75,76,77,78,,222,,74,80,224,223,220,221',
',,56,,,53,,,,293,83,63,64,65,8,51,,,733,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,,225,229,234,235,236,231,233,241,242,237',
'238,,218,219,,,239,240,,36,,,30,,,52,,,54,,32,222,,228,40,224,223,220',
'221,232,230,226,18,227,,,,79,73,75,76,77,78,,,,74,80,,243,,63,64,65',
'56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292',
'90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,259,88,95,96,,81',
'82,,38,39,,225,229,234,235,236,231,233,241,242,237,238,,218,219,,,239',
'240,,208,,,212,,,52,,,54,,,222,252,228,40,224,223,220,221,232,230,226',
'216,227,,,,79,73,75,76,77,78,,,,74,80,,243,,63,64,65,56,51,,53,,57,58',
'37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217',
',,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,225,229,234',
'235,236,231,233,241,242,237,238,,218,219,,,239,240,,208,,,212,,,52,',
',54,,,222,,228,40,224,223,220,221,232,230,226,216,227,,,,79,73,75,76',
'77,78,,,,74,80,,243,,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,,225,229,234,235,236,231,233,241,242,237',
'238,,218,219,,,239,240,,208,,,212,213,,52,,,54,,,222,,228,40,224,223',
'220,221,232,230,226,18,227,,,,79,73,75,76,77,78,,,,74,80,,243,,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,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38',
'39,,225,229,234,235,236,231,233,241,242,237,238,,218,219,,,239,240,',
'208,,,212,,,52,,,54,,,222,,228,40,224,223,220,221,232,230,226,216,227',
',,,79,73,75,76,77,78,,,,74,80,,243,,63,64,65,56,51,,53,,57,58,37,83',
',61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,',
',41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,225,229,234,235',
'236,231,233,241,242,237,238,,218,219,,,239,240,,208,,,212,,,52,,,54',
',,222,,228,40,224,223,220,221,232,230,226,216,227,,,,79,73,75,76,77',
'78,,,,74,80,,243,,,,,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,,225,229,234,235,236,231',
'233,241,242,237,238,,218,219,,,239,240,,36,,,30,,,52,,,54,,32,222,,228',
'40,224,223,220,221,232,230,226,18,227,,,,79,73,75,76,77,78,,,,74,80',
',243,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,',
',,,255,28,27,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,259',
'88,95,96,,81,82,,38,39,,225,229,234,235,236,231,233,241,242,237,238',
',218,219,,,239,240,,208,,,212,,,52,,,54,,254,222,252,228,40,224,223',
'220,221,232,230,226,216,227,,,,79,73,75,76,77,78,,,,74,80,,243,,63,64',
'65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,28,27',
'90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,259,88,95,96,,81',
'82,,38,39,,225,229,234,235,236,231,233,241,242,237,238,,218,219,,,239',
'240,,208,,,212,,,52,,,54,,254,222,252,228,40,224,223,220,221,232,230',
'226,216,227,,,,79,73,75,76,77,78,,,,74,80,,243,,63,64,65,56,51,,53,',
'57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,28,27,90,89,91,92,',
',217,,,,,,,41,,,94,93,,84,50,86,85,87,259,88,95,96,,81,82,,38,39,,225',
'229,234,235,236,231,233,241,242,237,238,,218,219,,,239,240,,208,,,212',
',,52,,,54,,254,222,252,228,40,224,223,220,221,232,230,226,216,227,,',
',79,73,75,76,77,78,,,,74,80,,243,,,,,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,,225,229',
'234,235,236,231,233,241,242,237,238,,218,219,,,239,240,,36,,,30,,,52',
',,54,,32,222,,228,40,224,223,220,221,232,230,226,18,227,,,,79,73,75',
'76,77,78,,,,74,80,,243,,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,,554,17,333,331,330,225,332,,41',
',,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,554,,333,331,330,,332',
'222,,557,,224,223,220,221,,,560,,,208,,,212,225,,52,,,54,,,,,,40,,,557',
',239,240,,18,,,806,,79,73,75,76,77,78,,222,,74,80,224,223,220,221,,',
'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',
',,324,,333,331,330,18,332,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65',
'56,51,,53,,57,58,37,83,,61,335,59,60,62,256,257,66,67,338,337,341,340',
',255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88',
'95,96,,81,82,,38,39,,225,229,234,235,236,231,233,241,242,237,238,,-546',
'-546,,,239,240,,208,,,212,,,52,,,54,,254,222,,228,40,224,223,220,221',
'232,230,226,216,227,,,,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,,225,,,,,,,,,,,,,,,,239,240,,36,,,278,,,52,,,54,,32,222,,228',
'40,224,223,220,221,,,226,18,227,,,,79,73,75,76,77,78,,,,74,80,,,,63',
'64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288',
'292,90,89,91,92,,,217,,,,,,,289,,,94,93,,84,50,86,85,87,,88,95,96,,81',
'82,324,,333,331,330,,332,,,,,,,,,,,,,,,,,286,,,283,,,52,,,54,,282,,',
',335,,,,,,,,338,337,341,340,,79,73,75,76,77,78,772,,,74,80,,,,63,64',
'65,56,51,,53,,57,58,293,83,,61,,59,60,62,256,257,66,67,,,,,,255,288',
'292,90,89,91,92,,,217,,,,,,,289,,,94,93,,84,50,86,85,87,,88,95,96,,81',
'82,745,,333,331,330,735,332,,,,,,,,,,732,,,,,,,286,,,212,,,52,,,54,',
',,,,335,,,,,,,,338,337,341,340,,79,73,75,76,77,78,,,,74,80,,,,295,,',
'56,,,53,,,,293,83,63,64,65,,51,,,733,57,58,,,,61,,59,60,62,256,257,66',
'67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85',
'87,,88,95,96,,81,82,,38,39,,225,229,234,235,236,231,233,,,237,238,,',
',,,239,240,,208,,,212,,,52,,,54,,,222,,228,40,224,223,220,221,232,230',
'226,216,227,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57',
'58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,',
'217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,225,-546',
'-546,-546,-546,231,233,,,-546,-546,,,,,,239,240,,208,,,212,,,52,,,54',
',,222,,228,40,224,223,220,221,232,230,226,216,227,,,,79,73,75,76,77',
'78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257',
'66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86',
'85,87,,88,95,96,,81,82,,38,39,,225,229,234,235,236,231,233,241,,237',
'238,,,,,,239,240,,208,,,212,,,52,,,54,,,222,,228,40,224,223,220,221',
'232,230,226,216,227,,,,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',
',,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,225',
',,,,,,,,,,,,,,,239,240,,208,,,212,,,52,,,54,,,222,,228,40,224,223,220',
'221,,,226,216,227,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53',
',57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92',
',,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,225',
'-546,-546,-546,-546,231,233,,,-546,-546,,,,,,239,240,,208,,,212,,,52',
',,54,,,222,,228,40,224,223,220,221,232,230,226,216,227,,,,79,73,75,76',
'77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256',
'257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50',
'86,85,87,,88,95,96,,81,82,,38,39,,225,229,234,235,236,231,233,241,242',
'237,238,,-546,-546,,,239,240,,208,,,212,,,52,,,54,,,222,,228,40,224',
'223,220,221,232,230,226,216,227,,,,79,73,75,76,77,78,,,,74,80,,,,63',
'64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288',
'292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81',
'82,,38,39,,225,-546,-546,-546,-546,231,233,,,-546,-546,,,,,,239,240',
',208,,,212,,,52,,,54,,,222,,228,40,224,223,220,221,232,230,226,216,227',
',,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61',
',59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41',
',,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,225,-546,-546,-546',
'-546,231,233,,,-546,-546,,,,,,239,240,,208,,,212,,,52,,,54,,,222,,228',
'40,224,223,220,221,232,230,226,216,227,,,,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,,225,,,,,,,,,,,,,,,,239,240,,36,,,30,,,52',
',,54,,32,222,,228,40,224,223,220,221,,,226,18,227,,,,79,73,75,76,77',
'78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257',
'66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86',
'85,87,,88,95,96,,81,82,,38,39,,225,-546,-546,-546,-546,231,233,,,-546',
'-546,,,,,,239,240,,208,,,212,,,52,,,54,,,222,,228,40,224,223,220,221',
'232,230,226,216,227,,,,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,,225,',
',,,,,,,,,,,,,,239,240,,208,,,212,,,52,,,54,,,222,,228,40,224,223,220',
'221,,,226,18,227,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53',
',57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,28,27,90,89,91,92',
',,217,,,,,,,41,,,94,93,,84,50,86,85,87,259,88,95,96,,81,82,,38,39,,225',
'-546,-546,-546,-546,231,233,,,-546,-546,,,,,,239,240,,208,,,212,,,52',
',,54,,254,222,,228,40,224,223,220,221,232,230,226,216,227,,,,79,73,75',
'76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256',
'257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50',
'86,85,87,259,88,95,96,,81,82,,38,39,,225,,,,,,,,,,,,,,,,239,240,,208',
',,212,,,52,,,54,,,222,,228,40,224,223,220,221,,,,216,,,,,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,,225,,,,,,,,,,,,,,,,239,240',
',36,,,30,,,52,,,54,,32,222,,228,40,224,223,220,221,,,,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,,,,,,,,,,,,,,,,,,,,,208,,,212,,,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,,,,,,,,,,,,,,,,,,,,,208,,,212,,',
'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',
',,,,,,,,,,,,,,,,,,,,208,,,212,,,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,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217',
',,,,,,289,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,324,,333,331,330',
',332,,,,,,,,,,,,,,,,,353,,,30,,,52,,,54,,32,,,,335,319,,,,,,,338,337',
'341,340,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,293',
'83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,',
',,,,289,,,94,93,,84,50,86,85,358,,88,95,96,,81,82,745,,333,331,330,735',
'332,,,,,,,,,,732,,,,364,,,359,,,212,,,52,,,54,,,,,,335,,,,,,,,338,337',
'341,340,,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,293,83,63,64,65',
'8,51,,,733,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,,,,,,,,,,,,,,,,,,,,,208,,,212,,,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,256,257,66,67,,,,,,255,288,292,90,89,91,92',
',,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,',
',,,,,,,,,,,,,,,208,,,212,,,52,,,54,,254,,,,40,,,,,,,,216,,,,,79,73,75',
'76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256',
'257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50',
'86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52',
',,54,,418,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65',
'56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292',
'90,89,91,92,,,217,,,,,,,289,,,94,93,,84,50,86,85,87,,88,95,96,,81,82',
'324,,333,331,330,,332,,,,,,,,,,,,,,,,,286,,,283,,,52,,,54,,,,,,335,',
'545,,,,,,338,337,341,340,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56',
'51,,53,,57,58,293,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90',
'89,91,92,,,217,,,,,,,289,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,745',
',333,331,330,735,332,,,,,,,,,,732,,,,,,,286,,,283,,,52,,,54,,,,,,335',
'730,,,,,,,338,337,341,340,,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53',
',,,293,83,63,64,65,8,51,,,733,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,256',
'257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50',
'86,85,87,259,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,',
'52,,,54,,,,252,,40,,,,,,,,216,,,,,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,,,,,,401,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,,,',
',,,,,,,,,,,,,,,,,208,,,212,,,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,,,,,,,,,,,,,,,,,,,,,208,,,212,,,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,,,,,,,,,,,',
',,,,,,,,,208,,,212,,,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,,,,,,,,,,,,,,,,,,,,,208,,,212,,,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,,,,63',
'64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288',
'292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,259,88,95,96',
',81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,644,,252,,40',
',,,,,,,216,,,,,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',
'256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84',
'50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,',
'52,,,54,,,,,,40,,,,,,,,216,,,,,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,,,217,,,,,,,41',
',,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,',
'208,,,212,,,52,,,54,,418,,,,40,,,,,,,,216,,,,,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,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95',
'96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,418,,,,40',
',,,,,,,216,,,,,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,,,217,',
',,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,',
',,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78',
',,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66',
'67,,,,,,255,28,27,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87',
'259,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,',
'254,,,,40,,,,,,,,216,,,,,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,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41',
',,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,',
'208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,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,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,',
'81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,',
'216,,,,,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,,,,,,,,,,,,,,,,,,,,,208',
',,212,,,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,,,,,,,,,,,,,,,,,,,,,208,,,212,,,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,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,',
',94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208',
',,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,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,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81',
'82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216',
',,,,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,,,217,,,,,,,41,,,94',
'93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,',
',212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,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,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81',
'82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216',
',,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61',
',59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41',
',,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,',
'208,,,212,,,52,,,54,,756,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74',
'80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,',
',,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88',
'95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40',
',,,,,,,216,,,,,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,,,,,,,,,,,,,,,,,,,,,208,,,212,,450,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,256,257,66,67,,,,,,255,288,292,90',
'89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38',
'39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,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,,,,,,,,,,,,,,,,,,,,,208,,,212,,,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,256,257,66,67,,,,,,255,288,292,90',
'89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38',
'39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79',
'73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60',
'62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93',
',84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212',
',,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64',
'65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292',
'90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82',
',38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,',
',,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61',
',59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41',
',,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,',
'208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80',
',,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,',
'255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95',
'96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,',
',,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58',
'37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217',
',,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,',
',,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78',
',,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66',
'67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85',
'87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,',
',,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,',
'53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91',
'92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,',
',,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75',
'76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256',
'257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50',
'86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52',
',,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56',
'51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90',
'89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38',
'39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79',
'73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60',
'62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93',
',84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212',
',,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64',
'65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292',
'90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82',
',38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,',
',,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61',
',59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41',
',,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,',
'208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80',
',,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,',
'255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95',
'96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,',
',,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58',
'37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217',
',,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,',
',,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78',
',,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66',
'67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85',
'87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,',
',,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,',
'53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91',
'92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,',
',,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75',
'76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256',
'257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50',
'86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52',
',,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56',
'51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90',
'89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38',
'39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79',
'73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60',
'62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93',
',84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212',
',,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64',
'65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292',
'90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82',
',38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,',
',,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61',
',59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41',
',,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,',
'208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80',
',,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,',
'255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95',
'96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,',
',,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58',
'37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217',
',,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,',
',,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78',
',,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66',
'67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85',
'87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,',
',,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,',
'53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91',
'92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,',
',,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,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,,,,,,,,,,,,,,,,,,,,,208,,,212,,,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,256,257,66,67,,,,,,255,28,27,90,89,91,92',
',,217,,,,,,,41,,,94,93,,84,50,86,85,87,259,88,95,96,,81,82,,38,39,,',
',,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,254,,,,40,,,,,,,,216,,,,,79,73',
'75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62',
'256,257,66,67,,,,,,255,28,27,90,89,91,92,,,217,,,,,,,41,,,94,93,,84',
'50,86,85,87,259,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212',
',,52,,,54,,254,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63',
'64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288',
'292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81',
'82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216',
',,,,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,256,257',
'66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86',
'85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54',
',,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51',
',53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89',
'91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39',
',,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,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,256,257,66,67,,,,,,255,288,292,90,89,91,92',
',,217,,,,,,,289,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,,,,,,,,,,',
',,,,,,,,,,,,694,,,212,,,52,,,54,,,,,,,,,,,,,,,,,,,79,73,75,76,77,78',
',,,74,80,,,,63,64,65,56,51,,53,,57,58,293,83,,61,,59,60,62,256,257,66',
'67,,,,,,255,28,27,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87',
'259,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,',
'254,,252,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56',
'51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,28,27,90,89',
'91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,259,88,95,96,,81,82,,38',
'39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,499,,,54,,254,,252,,40,,,,,,,,216',
',,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61',
',59,60,62,256,257,66,67,,,,,,255,28,27,90,89,91,92,,,217,,,,,,,41,,',
'94,93,,84,50,86,85,87,259,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,',
',208,,,212,,503,52,,,54,,254,,252,,40,,,,,,,,216,,,,,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,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,',
',,,,41,,,94,93,,84,50,86,85,87,259,88,95,96,,81,82,,38,39,,,,,,,,,,',
',,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,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,,,278',
',,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,256,257,66,67,,,,,,255,288,292',
'90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,259,88,95,96,,81',
'82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,644,,,,40,,,,,,,',
'216,,,,,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,,,,,,,,,,,,,,,,,,,,,208',
',,212,,,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,256,257,66,67,,,,,,255',
'288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96',
',81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,',
',216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37',
'83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,',
',,,,289,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,,,,,,,,,,,,,,,,,,',
',,,,286,,,212,,,52,,,54,,,,,,,,,,,,,,,,,,,79,73,75,76,77,78,,,,74,80',
',,,511,,,56,,,53,,,,293,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,,,278,,,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,256,257,66,67,,,,,,255,288,292,90,89',
'91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39',
',,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73',
'75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62',
'256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84',
'50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,',
'52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65',
'56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,28,27,90',
'89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,259,88,95,96,,81,82',
',38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,254,,,,40,,,,,,,,216',
',,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61',
',59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,289',
',,94,93,,84,50,86,85,87,,88,95,96,,81,82,,,,,,,,,,,,,,,,,,,,,,,,286',
',,283,,,52,,,54,,,,,,,,,,,,,,,,,,,79,73,75,76,77,78,,,,74,80,,,,,,,56',
',,53,,,,293,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,,,,,,401,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,,,',
',,,,,,,,,,,,,,,,,208,,,212,,659,52,,,54,,,,252,,40,,,,,,,,18,,,,,79',
'73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60',
'62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93',
',84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212',
',,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64',
'65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292',
'90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,259,88,95,96,,81',
'82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,252,,40,,,,,,,',
'216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83',
',61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,',
',41,,,94,93,,84,50,86,85,87,259,88,95,96,,81,82,,38,39,,,,,,,,,,,,,',
',,,,,,,208,,,212,,,52,,,54,,644,,252,,40,,,,,,,,216,,,,,79,73,75,76',
'77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256',
'257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,289,,,94,93,,84,50',
'86,85,87,,88,95,96,,81,82,,,,,,,,,,,,,,,,,,,,,,,,286,,,283,,,52,,,54',
',,,,,,,,,,,,,,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,',
'57,58,293,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92',
',,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,',
',,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76',
'77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256',
'257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50',
'86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52',
',,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56',
'51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90',
'89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38',
'39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79',
'73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60',
'62,256,257,66,67,,,,,,255,28,27,90,89,91,92,,,217,,,,,,,41,,,94,93,',
'84,50,86,85,87,259,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,',
'212,,,52,,,54,,254,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,',
',,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255',
'288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96',
',81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,',
',216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37',
'83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,',
',,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,',
',,,,,,,208,,,212,528,,52,,,54,,,,,,40,,,,,,,,216,,,,,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,,,,,,,,,,,,,,,,,,,,,208,,,212,,,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,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,289,,,94,93',
',84,50,86,85,358,,88,95,96,,81,82,,,,,,,,,,,,,,,,,,,,,,,,359,,,212,',
',52,,,54,,,,,,,,,,,,,,,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56',
'51,,53,,57,58,293,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,,,',
',,,,,,,,,,,,,,,,,208,,,212,,,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,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,',
',,,,40,,,,,,,,18,,,,-277,79,73,75,76,77,78,-277,-277,-277,74,80,,-277',
'-277,,-277,,56,,,53,,,,37,83,,,,,,,,,,-277,-277,,-277,-277,-277,-277',
'-277,,,,,,,,,,,,,,,,,,,,,,,,-277,-277,-277,-277,-277,-277,-277,-277',
'-277,-277,-277,-277,-277,-277,,,-277,-277,-277,,628,,,,-277,,,,,,,-277',
',-277,,-277,-277,-277,-277,-277,-277,-277,,-277,,-277,,,,,,,,,,,,,-277',
'-277,,-85,,-277,-277,,-277,,,-93,,-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,,628,-277,,,-277,,,-277,,-277,',
'-277,,-277,,-277,-277,-277,-277,-277,-277,-277,,-277,,-277,,,,,,,,,',
',,,-277,-277,-277,-277,,-277,-437,,-277,,,-93,,-437,-437,-437,,,-437',
'-437,-437,,-437,,,,,,,,-437,,-437,-437,-437,,,,,,,,-437,-437,,-437,-437',
'-437,-437,-437,,,,,,,,,,,,,,,,,,,,,,,,-437,-437,-437,-437,-437,-437',
'-437,-437,-437,-437,-437,-437,-437,-437,,,-437,-437,-437,,-437,-437',
',,-437,,,-437,,-437,,-437,,-437,,-437,-437,-437,-437,-437,-437,-437',
',-437,,-437,,,,,,,,,,,,,-437,-437,-437,-437,,-437,-529,-437,-437,,,-437',
',-529,-529,-529,,,,-529,-529,,-529,,,,,,,,,-529,,,,,,,,,,,-529,-529',
',-529,-529,-529,-529,-529,,,,,,,,,,,,,,,,,,,,,,,,-529,-529,-529,-529',
'-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,,,-529,-529,-529,',
'625,,,,-529,,,,,,,-529,,-529,,-529,-529,-529,-529,-529,-529,-529,,-529',
'-529,-529,,,,,,,,,,,,,-529,-529,,-83,,-529,-529,,-529,,,-91,,-529,-529',
'-529,,,-529,-529,-529,,-529,,,,,,,,,-529,-529,-529,,,,,,,,,-529,-529',
',-529,-529,-529,-529,-529,,,,,,,,,,,,,,,,,,,,,,,,-529,-529,-529,-529',
'-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,,,-529,-529,-529,',
'769,-529,,,-529,,,-529,,-529,,-529,,-529,,-529,-529,-529,-529,-529,-529',
'-529,,-529,-529,-529,,,,,,,,,,,,,-529,-529,-529,-529,,-529,-440,,-529',
',,-91,,-440,-440,-440,,,-440,-440,-440,,-440,,,,,,,,-440,,-440,-440',
'-440,,,,,,,,-440,-440,,-440,-440,-440,-440,-440,,,,,,,,,,,,,,,,,,,,',
',,,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440',
'-440,,,-440,-440,-440,,-440,-440,,,-440,,,-440,,-440,,-440,,-440,,-440',
'-440,-440,-440,-440,-440,-440,,-440,,-440,,,,,,,,,,,,,-440,-440,-440',
'-440,,-440,-373,-440,-440,,,-440,,-373,-373,-373,,,-373,-373,-373,,-373',
',,,,,,,,-373,-373,-373,,,,,,,,,-373,-373,,-373,-373,-373,-373,-373,',
',,,,,,,,,,,,,,,,,,,,,,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373',
'-373,-373,-373,-373,,,-373,-373,-373,,,-373,,265,-373,,,-373,,-373,',
'-373,,-373,,-373,-373,-373,-373,-373,-373,-373,,-373,-373,-373,,,,,',
',,,,,,,-373,-373,-373,-373,-530,-373,,,-373,,,-530,-530,-530,,,-530',
'-530,-530,,-530,,,,,,,,,-530,-530,-530,-530,,,,,,,,-530,-530,,-530,-530',
'-530,-530,-530,,,,,,,,,,,,,,,,,,,,,,,,-530,-530,-530,-530,-530,-530',
'-530,-530,-530,-530,-530,-530,-530,-530,,,-530,-530,-530,,,-530,,,-530',
',,-530,,-530,,-530,,-530,,-530,-530,-530,-530,-530,-530,-530,,-530,-530',
'-530,,,,,,,,,,,,,-530,-530,-530,-530,-545,-530,,-530,-530,,,-545,-545',
'-545,,,-545,-545,-545,,-545,,,,,,,,,-545,-545,-545,,,,,,,,,-545,-545',
',-545,-545,-545,-545,-545,,,,,,,,,,,,,,,,,,,,,,,,-545,-545,-545,-545',
'-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,,,-545,-545,-545,',
',-545,,265,-545,,,-545,,-545,,-545,,-545,,-545,-545,-545,-545,-545,-545',
'-545,,-545,-545,-545,,,,,,,,,,,,,-545,-545,-545,-545,-531,-545,,,-545',
',,-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,,,,,,,,,,,,,-531,-531,-531,-531,-285',
'-531,,-531,-531,,,-285,-285,-285,,,-285,-285,-285,,-285,,,,,,,,,,-285',
'-285,,,,,,,,,-285,-285,,-285,-285,-285,-285,-285,,,,,,,,,,,,,,,,,,,',
',,,,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285',
'-285,,,-285,-285,-285,,,-285,,274,-285,,,-285,,-285,,-285,,-285,,-285',
'-285,-285,-285,-285,-285,-285,,-285,,-285,,,,,,,,,,,,,-285,-285,-285',
'-285,-272,-285,,,-285,,,-272,-272,-272,,,-272,-272,-272,,-272,,,,,,',
',,,-272,-272,-272,,,,,,,,-272,-272,,-272,-272,-272,-272,-272,,,,,,,',
',,,,,,,,,,,,,,,,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272',
'-272,-272,-272,,,-272,-272,-272,,,-272,,,-272,,,-272,,-272,,-272,,-272',
',-272,-272,-272,-272,-272,-272,-272,,-272,,-272,,,,,,,,,,,,,-272,-272',
'-272,-272,-545,-272,,-272,-272,,,-545,-545,-545,,,-545,-545,-545,,-545',
',,,,,,,,,-545,,,,,,,,,,-545,-545,,-545,-545,-545,-545,-545,,,,,,,,,',
',,,-545,,,,,,,-545,-545,-545,,,-545,-545,-545,,-545,,,,,,-545,,,,-545',
',,-545,,,,,265,-545,-545,-545,,-545,-545,-545,-545,-545,,,,,,,,,,,,',
'-545,,,,,,,,,,,,,-545,,-545,,,-545,,,,-545,,,,,,,-545,,,,,265,-545,',
',,,,,,,,,,,,,,,,,,,-545,,,,,,,,,,,,,-545,,-545,,,-545,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,,,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,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,395,394,112,,396,,,,,,,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,395,394,112,,396,,,,,,,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,373,372,374,371,152,171,170,183,184,185,186,187,151,158,149',
'150,369,370,,367,113,86,85,368,,88,,,,,,,142,143,,139,121,122,123,130',
'127,129,,,124,125,,,,144,145,131,132,,,,,,378,,,,,,,136,135,,120,141',
'138,137,133,134,128,126,118,140,119,631,436,146,,632,,,,,,,,,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,487,430,146,',
'488,,,,,,,,,142,143,,139,121,122,123,130,127,129,,,124,125,,,,144,145',
'131,132,,,,,,265,,,,,,,136,135,,120,141,138,137,133,134,128,126,118',
'140,119,722,436,146,,720,,,,,,,,,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,629,430,146,,630,,,,,,,,,142,143,,139,121,122',
'123,130,127,129,,,124,125,,,,144,145,131,132,,,,,,265,,,,,,,136,135',
',120,141,138,137,133,134,128,126,118,140,119,717,436,146,,718,,,,,,',
',,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,715',
'430,146,,716,,,,,,,,,142,143,,139,121,122,123,130,127,129,,,124,125',
',,,144,145,131,132,,,,,,265,,,,,,,136,135,,120,141,138,137,133,134,128',
'126,118,140,119,932,430,146,,933,,,,,,,,,142,143,,139,121,122,123,130',
'127,129,,,124,125,,,,144,145,131,132,,,,,,265,,,,,,,136,135,,120,141',
'138,137,133,134,128,126,118,140,119,934,436,146,,935,,,,,,,,,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,487,430,146,',
'488,,,,,,,,,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,487,430,146,,488,,,,,,,,,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,631,436,146,,632,,,,,,,,,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,432,436,146,,434,,,,,,,,,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,673,436,146',
',674,,,,,,,,,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,670,430,146,,671,,,,,,,,,142,143,,139,121,122,123,130,127,129,,',
'124,125,,,,144,145,131,132,,,,,,265,,,,,,,136,135,,120,141,138,137,133',
'134,128,126,118,140,119,426,430,146,,427,,,,,,,,,142,143,,139,121,122',
'123,130,127,129,,,124,125,,,,144,145,131,132,,,,,,265,,,,,,,136,135',
',120,141,138,137,133,134,128,126,118,140,119,722,436,146,,865,,,,,,',
',,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,629',
'430,146,,630,,,,,,,,,142,143,,139,121,122,123,130,127,129,,,124,125',
',,,144,145,131,132,,,,,,265,,,,,,,136,135,,120,141,138,137,133,134,128',
'126,118,140,119,,,146' ]
        racc_action_table = arr = ::Array.new(23792, 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 = [
'0,0,0,0,0,345,816,673,0,0,55,727,727,0,71,0,0,0,0,0,0,0,71,358,669,477',
'629,0,0,0,0,0,0,0,318,389,0,349,26,349,630,672,0,0,0,0,0,0,344,0,0,0',
'0,0,665,0,0,0,477,0,0,577,0,0,351,685,363,907,685,907,354,594,594,673',
'673,629,358,3,862,869,715,667,3,358,0,932,934,0,358,630,0,665,660,0',
'933,0,55,389,716,0,727,718,815,26,675,727,657,0,97,358,816,673,0,0,0',
'0,0,0,345,673,345,0,0,345,26,817,918,918,918,0,918,358,0,678,918,918',
'0,0,318,918,717,918,918,918,918,918,918,918,307,307,568,831,831,918',
'918,918,918,918,918,918,594,344,918,344,934,577,344,718,351,918,569',
'363,918,918,354,918,918,918,918,918,918,918,918,918,715,918,918,427',
'918,918,363,862,869,862,869,363,862,869,932,934,932,934,716,932,934',
'718,717,933,679,933,918,445,933,918,653,815,918,815,815,918,815,918',
'290,935,817,918,817,369,427,817,935,670,671,918,369,935,427,307,918',
'918,918,918,918,918,717,367,836,918,918,568,681,568,367,501,568,918',
'770,836,918,828,445,78,918,918,916,916,916,916,916,569,828,569,916,916',
'569,680,680,916,935,916,916,916,916,916,916,916,501,290,193,836,836',
'916,916,916,916,916,916,916,670,671,916,605,828,828,382,770,916,916',
'290,916,916,916,386,916,916,916,916,916,207,916,916,916,380,916,916',
'836,916,916,110,686,680,687,516,110,110,670,671,391,828,516,449,449',
'834,670,671,209,690,834,916,373,692,916,384,921,916,384,373,916,834',
'916,921,605,605,916,382,382,382,207,293,293,605,916,386,386,386,297',
'916,916,916,916,916,916,380,380,380,916,916,516,834,834,834,834,500',
'916,209,449,916,391,391,391,916,916,908,908,908,908,908,490,921,731',
'908,908,384,384,731,908,297,908,908,908,908,908,908,908,297,500,834',
'922,922,908,908,908,908,908,908,908,725,348,908,900,490,725,348,416',
'908,908,900,908,908,908,35,908,908,908,908,908,693,908,908,908,643,908',
'908,693,908,908,694,416,416,416,416,416,416,416,416,416,416,416,674',
'416,416,720,275,416,416,674,908,275,720,908,674,35,908,720,900,908,426',
'908,416,35,416,908,416,416,416,416,416,416,416,908,416,693,695,14,908',
'908,908,908,908,908,361,696,897,908,908,13,416,361,416,897,587,908,13',
'674,908,587,720,426,908,908,903,903,903,903,903,426,749,749,903,903',
'749,749,749,903,14,903,903,903,903,903,903,903,14,311,699,618,311,903',
'903,903,903,903,903,903,898,361,903,897,552,552,13,898,903,903,641,903',
'903,903,633,903,903,903,903,903,300,903,903,903,704,903,903,300,903',
'903,352,206,618,454,284,372,453,352,206,287,618,284,372,710,912,285',
'287,371,712,912,903,370,285,903,371,898,903,77,370,903,912,903,714,785',
'454,903,626,453,454,454,785,453,453,903,621,300,208,376,903,903,903',
'903,903,903,376,352,206,903,903,284,912,912,912,912,287,903,314,210',
'903,314,285,616,903,903,896,896,896,896,896,374,211,310,896,896,310',
'722,374,896,785,896,896,896,896,896,896,896,343,343,912,83,83,896,896',
'896,896,896,896,896,702,702,896,579,37,37,723,634,896,896,579,896,896',
'896,609,896,896,896,896,896,940,896,896,896,217,896,896,940,896,896',
'249,634,634,634,634,634,634,634,634,634,634,634,42,634,634,25,250,634',
'634,42,896,253,25,896,15,15,896,571,579,896,570,896,634,734,634,896',
'634,634,634,634,634,634,634,896,634,940,564,738,896,896,896,896,896',
'896,801,739,741,896,896,742,634,743,894,894,894,896,894,42,896,368,894',
'894,896,896,745,894,368,894,894,894,894,894,894,894,664,664,664,664',
'664,894,894,894,894,894,894,894,559,748,894,555,801,801,801,801,264',
'894,544,755,894,894,41,894,894,894,894,894,277,894,894,894,279,894,894',
'531,894,894,530,656,656,656,656,656,656,656,656,656,656,656,529,656',
'656,36,280,656,656,34,894,281,520,894,773,774,894,777,779,894,517,894',
'656,894,656,894,656,656,656,656,656,656,656,894,656,782,783,784,894',
'894,894,894,894,894,286,788,512,894,894,791,656,792,656,510,507,894',
'546,506,894,807,288,810,894,894,877,877,877,877,877,502,20,289,877,877',
'496,495,819,877,822,877,877,877,877,877,877,877,276,276,276,276,276',
'877,877,877,877,877,877,877,823,824,877,492,546,546,546,546,877,877',
'292,877,877,877,458,877,877,877,877,877,457,877,877,877,456,877,877',
'455,877,877,846,476,476,476,476,476,476,476,476,476,476,476,847,476',
'476,298,299,476,476,433,877,855,425,877,421,12,877,865,866,877,419,877',
'476,871,476,877,476,476,476,476,476,476,476,877,476,872,11,10,877,877',
'877,877,877,877,9,880,882,877,877,885,476,476,886,887,888,877,302,413',
'877,407,388,385,877,877,874,874,874,874,874,899,309,6,874,874,359,355',
'909,874,353,874,874,874,874,874,874,874,5,5,5,5,5,874,874,874,874,874',
'874,874,350,560,874,560,560,560,917,560,874,874,1,874,874,874,342,874',
'874,874,874,874,339,874,874,874,327,874,874,326,874,874,926,766,766',
'766,766,766,766,766,766,766,766,766,928,766,766,929,931,766,766,324',
'874,323,315,874,313,312,874,,,874,,874,766,,766,874,766,766,766,766',
'766,766,766,874,766,,,,874,874,874,874,874,874,,,,874,874,,766,,873',
'873,873,874,873,,874,,873,873,874,874,,873,,873,873,873,873,873,873',
'873,,,,,,873,873,873,873,873,873,873,,806,873,806,806,806,,806,,873',
',,873,873,,873,873,873,873,873,,873,873,873,,873,873,,873,873,,849,849',
'849,849,849,849,849,849,849,849,849,,849,849,,,849,849,,873,,,873,,',
'873,,,873,,873,849,,849,873,849,849,849,849,849,849,849,873,849,,,,873',
'873,873,873,873,873,,,,873,873,,849,,863,863,863,873,863,,873,,863,863',
'873,873,,863,,863,863,863,863,863,863,863,,,,,,863,863,863,863,863,863',
'863,,557,863,557,557,557,,557,,863,,,863,863,,863,863,863,863,863,,863',
'863,863,,863,863,891,,891,891,891,891,891,,,,,,557,,,,891,,,,557,,,863',
',,863,472,,863,,,863,,,,,,891,891,,,,,,,891,891,891,891,,863,863,863',
'863,863,863,,472,,863,863,472,472,472,472,,,863,,,863,,,,863,863,859',
'859,859,859,859,,,891,859,859,,,,859,,859,859,859,859,859,859,859,,',
',,,859,859,859,859,859,859,859,,,859,,,,,,859,859,,859,859,859,,859',
'859,859,859,859,,859,859,859,,859,859,,859,859,,439,439,439,439,439',
'439,439,439,439,439,439,,439,439,,,439,439,,859,,,859,,,859,,,859,,859',
'439,,439,859,439,439,439,439,439,439,439,859,439,,,,859,859,859,859',
'859,859,,,,859,859,,439,,854,854,854,859,854,,859,,854,854,859,859,',
'854,,854,854,854,854,854,854,854,,,,,,854,854,854,854,854,854,854,,',
'854,,,,,,,854,,,854,854,,854,854,854,854,854,854,854,854,854,,854,854',
',854,854,,247,247,247,247,247,247,247,247,247,247,247,,247,247,,,247',
'247,,854,,,854,,,854,,,854,,,247,854,247,854,247,247,247,247,247,247',
'247,854,247,,,,854,854,854,854,854,854,,,,854,854,,247,,850,850,850',
'854,850,,854,,850,850,854,854,,850,,850,850,850,850,850,850,850,,,,',
',850,850,850,850,850,850,850,,,850,,,,,,,850,,,850,850,,850,850,850',
'850,850,,850,850,850,,850,850,,850,850,,527,527,527,527,527,527,527',
'527,527,527,527,,527,527,,,527,527,,850,,,850,,,850,,,850,,,527,,527',
'850,527,527,527,527,527,527,527,850,527,,,,850,850,850,850,850,850,',
',,850,850,,527,,17,17,17,850,17,,850,,17,17,850,850,,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,,424,424,424,424,424,424,424,424,424,424',
'424,,424,424,,,424,424,,17,,,17,17,,17,,,17,,,424,,424,17,424,424,424',
'424,424,424,424,17,424,,,,17,17,17,17,17,17,,,,17,17,,424,,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',
',764,764,764,764,764,764,764,764,764,764,764,,764,764,,,764,764,,18',
',,18,,,18,,,18,,,764,,764,18,764,764,764,764,764,764,764,18,764,,,,18',
'18,18,18,18,18,,,,18,18,,764,,838,838,838,18,838,,18,,838,838,18,18',
',838,,838,838,838,838,838,838,838,,,,,,838,838,838,838,838,838,838,',
',838,,,,,,,838,,,838,838,,838,838,838,838,838,,838,838,838,,838,838',
',838,838,,761,761,761,761,761,761,761,761,761,761,761,,761,761,,,761',
'761,,838,,,838,,,838,,,838,,,761,,761,838,761,761,761,761,761,761,761',
'838,761,,,,838,838,838,838,838,838,,,,838,838,,761,,,,,838,,,838,,,',
'838,838,812,812,812,812,812,,,,812,812,,,,812,,812,812,812,812,812,812',
'812,,,,,,812,812,812,812,812,812,812,,,812,,,,,,812,812,,812,812,812',
',812,812,812,812,812,,812,812,812,,812,812,,812,812,,677,677,677,677',
'677,677,677,677,677,677,677,,677,677,,,677,677,,812,,,812,,,812,,,812',
',812,677,,677,812,677,677,677,677,677,677,677,812,677,,,,812,812,812',
'812,812,812,,,,812,812,,677,,22,22,22,812,22,,812,,22,22,812,812,,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,,19,19,19,19,19,19,19,19,19',
'19,19,,19,19,,,19,19,,22,,,22,,,22,,,22,,22,19,22,19,22,19,19,19,19',
'19,19,19,22,19,,,,22,22,22,22,22,22,,,,22,22,,19,,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,,754,754',
'754,754,754,754,754,754,754,754,754,,754,754,,,754,754,,23,,,23,,,23',
',,23,,23,754,23,754,23,754,754,754,754,754,754,754,23,754,,,,23,23,23',
'23,23,23,,,,23,23,,754,,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,,759,759,759,759,759,759,759,759,759',
'759,759,,759,759,,,759,759,,24,,,24,,,24,,,24,,24,759,24,759,24,759',
'759,759,759,759,759,759,24,759,,,,24,24,24,24,24,24,,,,24,24,,759,,',
',,24,,,24,,,,24,24,811,811,811,811,811,,,,811,811,,,,811,,811,811,811',
'811,811,811,811,,,,,,811,811,811,811,811,811,811,,,811,,,,,,811,811',
',811,811,811,,811,811,811,811,811,,811,811,811,,811,811,,811,811,,771',
'771,771,771,771,771,771,771,771,771,771,,771,771,,,771,771,,811,,,811',
',,811,,,811,,811,771,,771,811,771,771,771,771,771,771,771,811,771,,',
',811,811,811,811,811,811,,,,811,811,,771,,809,809,809,811,809,,811,',
'809,809,811,811,,809,,809,809,809,809,809,809,809,,,,,,809,809,809,809',
'809,809,809,,335,809,335,335,335,473,335,,809,,,809,809,,809,809,809',
'809,809,,809,809,809,,809,809,,809,809,700,,700,700,700,,700,473,,335',
',473,473,473,473,,,335,,,809,,,809,461,,809,,,809,,,,,,809,,,700,,461',
'461,,809,,,700,,809,809,809,809,809,809,,461,,809,809,461,461,461,461',
',,809,,,809,,,,809,809,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,,,,790,,,550,,550,550',
'550,790,550,,,,790,790,790,790,790,790,,,,790,790,,,,780,780,780,790',
'780,,790,,780,780,790,790,,780,550,780,780,780,780,780,780,780,550,550',
'550,550,,780,780,780,780,780,780,780,,,780,,,,,,,780,,,780,780,,780',
'780,780,780,780,,780,780,780,,780,780,,780,780,,451,451,451,451,451',
'451,451,451,451,451,451,,451,451,,,451,451,,780,,,780,,,780,,,780,,780',
'451,,451,780,451,451,451,451,451,451,451,780,451,,,,780,780,780,780',
'780,780,,,,780,780,,,,,,,780,,,780,,,,780,780,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,,464,,,,,,,,,,,,,',
',,464,464,,30,,,30,,,30,,,30,,30,464,,464,30,464,464,464,464,,,464,30',
'464,,,,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,638,,638,638,638,,638,,,,,,,',
',,,,,,,,,31,,,31,,,31,,,31,,31,,,,638,,,,,,,,638,638,638,638,,31,31',
'31,31,31,31,638,,,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,832,,832,832,832,832,832,,,,,,,,,,832,,,,',
',,32,,,32,,,32,,,32,,,,,,832,,,,,,,,832,832,832,832,,32,32,32,32,32',
'32,,,,32,32,,,,32,,,32,,,32,,,,32,32,769,769,769,,769,,,832,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,,474,474,474,474,474,474,474,,,474,474,,,,,,474,474,,769,,',
'769,,,769,,,769,,,474,,474,769,474,474,474,474,474,474,474,769,474,',
',,769,769,769,769,769,769,,,,769,769,,,,768,768,768,769,768,,769,,768',
'768,769,769,,768,,768,768,768,768,768,768,768,,,,,,768,768,768,768,768',
'768,768,,,768,,,,,,,768,,,768,768,,768,768,768,768,768,,768,768,768',
',768,768,,768,768,,471,471,471,471,471,471,471,,,471,471,,,,,,471,471',
',768,,,768,,,768,,,768,,,471,,471,768,471,471,471,471,471,471,471,768',
'471,,,,768,768,768,768,768,768,,,,768,768,,,,767,767,767,768,767,,768',
',767,767,768,768,,767,,767,767,767,767,767,767,767,,,,,,767,767,767',
'767,767,767,767,,,767,,,,,,,767,,,767,767,,767,767,767,767,767,,767',
'767,767,,767,767,,767,767,,475,475,475,475,475,475,475,475,,475,475',
',,,,,475,475,,767,,,767,,,767,,,767,,,475,,475,767,475,475,475,475,475',
'475,475,767,475,,,,767,767,767,767,767,767,,,,767,767,,,,757,757,757',
'767,757,,767,,757,757,767,767,,757,,757,757,757,757,757,757,757,,,,',
',757,757,757,757,757,757,757,,,757,,,,,,,757,,,757,757,,757,757,757',
'757,757,,757,757,757,,757,757,,757,757,,463,,,,,,,,,,,,,,,,463,463,',
'757,,,757,,,757,,,757,,,463,,463,757,463,463,463,463,,,463,757,463,',
',,757,757,757,757,757,757,,,,757,757,,,,38,38,38,757,38,,757,,38,38',
'757,757,,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,,470,470,470,470',
'470,470,470,,,470,470,,,,,,470,470,,38,,,38,,,38,,,38,,,470,,470,38',
'470,470,470,470,470,470,470,38,470,,,,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,,452,452,452,452,452,452,452,452,452,452,452,,452,452,,,452,452',
',39,,,39,,,39,,,39,,,452,,452,39,452,452,452,452,452,452,452,39,452',
',,,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,,468,468,468,468,468,468,468',
',,468,468,,,,,,468,468,,40,,,40,,,40,,,40,,,468,,468,40,468,468,468',
'468,468,468,468,40,468,,,,40,40,40,40,40,40,,,,40,40,,,,756,756,756',
'40,756,,40,,756,756,40,40,,756,,756,756,756,756,756,756,756,,,,,,756',
'756,756,756,756,756,756,,,756,,,,,,,756,,,756,756,,756,756,756,756,756',
',756,756,756,,756,756,,756,756,,467,467,467,467,467,467,467,,,467,467',
',,,,,467,467,,756,,,756,,,756,,,756,,,467,,467,756,467,467,467,467,467',
'467,467,756,467,,,,756,756,756,756,756,756,,,,756,756,,,,,,,756,,,756',
',,,756,756,750,750,750,750,750,,,,750,750,,,,750,,750,750,750,750,750',
'750,750,,,,,,750,750,750,750,750,750,750,,,750,,,,,,750,750,,750,750',
'750,,750,750,750,750,750,,750,750,750,,750,750,,750,750,,466,,,,,,,',
',,,,,,,,466,466,,750,,,750,,,750,,,750,,750,466,,466,750,466,466,466',
'466,,,466,750,466,,,,750,750,750,750,750,750,,,,750,750,,,,736,736,736',
'750,736,,750,,736,736,750,750,,736,,736,736,736,736,736,736,736,,,,',
',736,736,736,736,736,736,736,,,736,,,,,,,736,,,736,736,,736,736,736',
'736,736,,736,736,736,,736,736,,736,736,,462,462,462,462,462,462,462',
',,462,462,,,,,,462,462,,736,,,736,,,736,,,736,,,462,,462,736,462,462',
'462,462,462,462,462,736,462,,,,736,736,736,736,736,736,,,,736,736,,',
',52,52,52,736,52,,736,,52,52,736,736,,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,,465,,,,,,,,,,,,,,,,465,465,,52,,,52,,,52,,,52,,,465,',
'465,52,465,465,465,465,,,465,52,465,,,,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,,469,469,469,469,469,469,469,,,469,469,,,,,,469,469,,53,,',
'53,,,53,,,53,,53,469,,469,53,469,469,469,469,469,469,469,53,469,,,,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,,459,,,,,,,,,,,,,,,,459,459,,54,',
',54,,,54,,,54,,,459,,459,54,459,459,459,459,,,,54,,,,,54,54,54,54,54',
'54,,,,54,54,,,,,,,54,,,54,,,,54,54,729,729,729,729,729,,,,729,729,,',
',729,,729,729,729,729,729,729,729,,,,,,729,729,729,729,729,729,729,',
',729,,,,,,729,729,,729,729,729,,729,729,729,729,729,,729,729,729,,729',
'729,,729,729,,460,,,,,,,,,,,,,,,,460,460,,729,,,729,,,729,,,729,,729',
'460,,460,729,460,460,460,460,,,,729,,,,,729,729,729,729,729,729,,,,729',
'729,,,,,,,729,,,729,,,,729,729,728,728,728,728,728,,,,728,728,,,,728',
',728,728,728,728,728,728,728,,,,,,728,728,728,728,728,728,728,,,728',
',,,,,728,728,,728,728,728,,728,728,728,728,728,,728,728,728,,728,728',
',728,728,,,,,,,,,,,,,,,,,,,,,728,,,728,,,728,,,728,,728,,,,728,,,,,',
',,728,,,,,728,728,728,728,728,728,,,,728,728,,,,57,57,57,728,57,,728',
',57,57,728,728,,57,,57,57,57,57,57,57,57,,,,,,57,57,57,57,57,57,57,',
',57,,,,,,,57,,,57,57,,57,57,57,57,57,,57,57,57,,57,57,,57,57,,,,,,,',
',,,,,,,,,,,,,57,,,57,,,57,,,57,,,,,,57,,,,,,,,57,,,,,57,57,57,57,57',
'57,,,,57,57,,,,58,58,58,57,58,,57,,58,58,57,57,,58,,58,58,58,58,58,58',
'58,,,,,,58,58,58,58,58,58,58,,,58,,,,,,,58,,,58,58,,58,58,58,58,58,',
'58,58,58,,58,58,,58,58,,,,,,,,,,,,,,,,,,,,,58,,,58,,,58,,,58,,,,,,58',
',,,,,,,58,,,,,58,58,58,58,58,58,,,,58,58,,,,61,61,61,58,61,,58,,61,61',
'58,58,,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,730',
',730,730,730,730,730,,,,,,,,,,730,,,,63,,,63,,,63,,,63,,,63,,,,,,730',
',,,,,,,730,730,730,730,,63,63,63,63,63,63,,,,63,63,,,,,,,63,,,63,,,',
'63,63,724,724,724,724,724,,,730,724,724,,,,724,,724,724,724,724,724',
'724,724,,,,,,724,724,724,724,724,724,724,,,724,,,,,,724,724,,724,724',
'724,,724,724,724,724,724,,724,724,724,,724,724,,724,724,,,,,,,,,,,,',
',,,,,,,,724,,,724,,,724,,,724,,724,,,,724,,,,,,,,724,,,,,724,724,724',
'724,724,724,,,,724,724,,,,719,719,719,724,719,,724,,719,719,724,724',
',719,,719,719,719,719,719,719,719,,,,,,719,719,719,719,719,719,719,',
',719,,,,,,,719,,,719,719,,719,719,719,719,719,,719,719,719,,719,719',
',719,719,,,,,,,,,,,,,,,,,,,,,719,,,719,,,719,,,719,,,,,,719,,,,,,,,719',
',,,,719,719,719,719,719,719,,,,719,719,,,,713,713,713,719,713,,719,',
'713,713,719,719,,713,,713,713,713,713,713,713,713,,,,,,713,713,713,713',
'713,713,713,,,713,,,,,,,713,,,713,713,,713,713,713,713,713,,713,713',
'713,,713,713,,713,713,,,,,,,,,,,,,,,,,,,,,713,,,713,,,713,,,713,,713',
',,,713,,,,,,,,713,,,,,713,713,713,713,713,713,,,,713,713,,,,682,682',
'682,713,682,,713,,682,682,713,713,,682,,682,682,682,682,682,682,682',
',,,,,682,682,682,682,682,682,682,,,682,,,,,,,682,,,682,682,,682,682',
'682,682,682,,682,682,682,,682,682,,682,682,,,,,,,,,,,,,,,,,,,,,682,',
',682,,,682,,,682,,682,,,,682,,,,,,,,682,,,,,682,682,682,682,682,682',
',,,682,682,,,,676,676,676,682,676,,682,,676,676,682,682,,676,,676,676',
'676,676,676,676,676,,,,,,676,676,676,676,676,676,676,,,676,,,,,,,676',
',,676,676,,676,676,676,676,676,,676,676,676,,676,676,319,,319,319,319',
',319,,,,,,,,,,,,,,,,,676,,,676,,,676,,,676,,,,,,319,,319,,,,,,319,319',
'319,319,,676,676,676,676,676,676,,,,676,676,,,,666,666,666,676,666,',
'676,,666,666,676,676,,666,,666,666,666,666,666,666,666,,,,,,666,666',
'666,666,666,666,666,,,666,,,,,,,666,,,666,666,,666,666,666,666,666,',
'666,666,666,,666,666,590,,590,590,590,590,590,,,,,,,,,,590,,,,,,,666',
',,666,,,666,,,666,,,,,,590,590,,,,,,,590,590,590,590,,666,666,666,666',
'666,666,,,,666,666,,,,,,,666,,,666,,,,666,666,662,662,662,662,662,,',
'590,662,662,,,,662,,662,662,662,662,662,662,662,,,,,,662,662,662,662',
'662,662,662,,,662,,,,,,662,662,,662,662,662,,662,662,662,662,662,,662',
'662,662,,662,662,,662,662,,,,,,,,,,,,,,,,,,,,,662,,,662,,,662,,,662',
',662,,,,662,,,,,,,,662,,,,,662,662,662,662,662,662,,,,662,662,,,,,,',
'662,,,662,,,,662,662,661,661,661,661,661,,,,661,661,,,,661,,661,661',
'661,661,661,661,661,,,,,,661,661,661,661,661,661,661,,,661,,,,,,661',
'661,,661,661,661,,661,661,661,661,661,,661,661,661,,661,661,,661,661',
',,,,,,,,,,,,,,,,,,,,661,,,661,,,661,,,661,,661,,,,661,,,,,,,,661,,,',
',661,661,661,661,661,661,,,,661,661,,,,655,655,655,661,655,,661,,655',
'655,661,661,,655,,655,655,655,655,655,655,655,,,,,,655,655,655,655,655',
'655,655,,,655,,,,,,,655,,,655,655,,655,655,655,655,655,655,655,655,655',
',655,655,,655,655,,,,,,,,,,,,,,,,,,,,,655,,,655,,,655,,,655,,,,655,',
'655,,,,,,,,655,,,,,655,655,655,655,655,655,,,,655,655,,,,,,,655,,,655',
',,,655,655,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,,,,654,654,654',
'108,654,,108,,654,654,108,108,,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,651,651,651,651,651,,,,651,651',
',,,651,,651,651,651,651,651,651,651,,,,,,651,651,651,651,651,651,651',
',,651,,,,,,651,651,,651,651,651,,651,651,651,651,651,,651,651,651,,651',
'651,,651,651,,,,,,,,,,,,,,,,,,,,,651,,,651,,,651,,,651,,651,,,,651,',
',,,,,,651,,,,,651,651,651,651,651,651,,,,651,651,,,,644,644,644,651',
'644,,651,,644,644,651,651,,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,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,,,,,,,199,,,199,,,,199,199,640,640',
'640,640,640,,,,640,640,,,,640,,640,640,640,640,640,640,640,,,,,,640',
'640,640,640,640,640,640,,,640,,,,,,640,640,,640,640,640,,640,640,640',
'640,640,,640,640,640,,640,640,,640,640,,,,,,,,,,,,,,,,,,,,,640,,,640',
',,640,,,640,,640,,,,640,,,,,,,,640,,,,,640,640,640,640,640,640,,,,640',
'640,,,,636,636,636,640,636,,640,,636,636,640,640,,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,,,,202,202,202,636,202,,636,,202,202,636,636,,202,,202',
'202,202,202,202,202,202,,,,,,202,202,202,202,202,202,202,,,202,,,,,',
',202,,,202,202,,202,202,202,202,202,,202,202,202,,202,202,,202,202,',
',,,,,,,,,,,,,,,,,,,202,,,202,,,202,,,202,,,,,,202,,,,,,,,202,,,,,202',
'202,202,202,202,202,,,,202,202,,,,203,203,203,202,203,,202,,203,203',
'202,202,,203,,203,203,203,203,203,203,203,,,,,,203,203,203,203,203,203',
'203,,,203,,,,,,,203,,,203,203,,203,203,203,203,203,,203,203,203,,203',
'203,,203,203,,,,,,,,,,,,,,,,,,,,,203,,,203,,,203,,,203,,,,,,203,,,,',
',,,203,,,,,203,203,203,203,203,203,,,,203,203,,,,204,204,204,203,204',
',203,,204,204,203,203,,204,,204,204,204,204,204,204,204,,,,,,204,204',
'204,204,204,204,204,,,204,,,,,,,204,,,204,204,,204,204,204,204,204,',
'204,204,204,,204,204,,204,204,,,,,,,,,,,,,,,,,,,,,204,,,204,,,204,,',
'204,,,,,,204,,,,,,,,204,,,,,204,204,204,204,204,204,,,,204,204,,,,628',
'628,628,204,628,,204,,628,628,204,204,,628,,628,628,628,628,628,628',
'628,,,,,,628,628,628,628,628,628,628,,,628,,,,,,,628,,,628,628,,628',
'628,628,628,628,,628,628,628,,628,628,,628,628,,,,,,,,,,,,,,,,,,,,,628',
',,628,,,628,,,628,,,,,,628,,,,,,,,628,,,,,628,628,628,628,628,628,,',
',628,628,,,,625,625,625,628,625,,628,,625,625,628,628,,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,,,,620,620,620,625,620,,625,,620,620,625',
'625,,620,,620,620,620,620,620,620,620,,,,,,620,620,620,620,620,620,620',
',,620,,,,,,,620,,,620,620,,620,620,620,620,620,,620,620,620,,620,620',
',620,620,,,,,,,,,,,,,,,,,,,,,620,,,620,,,620,,,620,,,,,,620,,,,,,,,620',
',,,,620,620,620,620,620,620,,,,620,620,,,,619,619,619,620,619,,620,',
'619,619,620,620,,619,,619,619,619,619,619,619,619,,,,,,619,619,619,619',
'619,619,619,,,619,,,,,,,619,,,619,619,,619,619,619,619,619,,619,619',
'619,,619,619,,619,619,,,,,,,,,,,,,,,,,,,,,619,,,619,,,619,,,619,,,,',
',619,,,,,,,,619,,,,,619,619,619,619,619,619,,,,619,619,,,,617,617,617',
'619,617,,619,,617,617,619,619,,617,,617,617,617,617,617,617,617,,,,',
',617,617,617,617,617,617,617,,,617,,,,,,,617,,,617,617,,617,617,617',
'617,617,,617,617,617,,617,617,,617,617,,,,,,,,,,,,,,,,,,,,,617,,,617',
',,617,,,617,,617,,,,617,,,,,,,,617,,,,,617,617,617,617,617,617,,,,617',
'617,,,,615,615,615,617,615,,617,,615,615,617,617,,615,,615,615,615,615',
'615,615,615,,,,,,615,615,615,615,615,615,615,,,615,,,,,,,615,,,615,615',
',615,615,615,615,615,,615,615,615,,615,615,,615,615,,,,,,,,,,,,,,,,',
',,,,615,,,615,,,615,,,615,,,,,,615,,,,,,,,615,,,,,615,615,615,615,615',
'615,,,,615,615,,,,,,,615,,,615,,,,615,615,212,212,212,212,212,,,,212',
'212,,,,212,,212,212,212,212,212,212,212,,,,,,212,212,212,212,212,212',
'212,,,212,,,,,,212,212,,212,212,212,,212,212,212,212,212,,212,212,212',
',212,212,,212,212,,,,,,,,,,,,,,,,,,,,,212,,,212,,,212,,,212,,212,,,',
'212,,,,,,,,212,,,,,212,212,212,212,212,212,,,,212,212,,,,213,213,213',
'212,213,,212,,213,213,212,212,,213,,213,213,213,213,213,213,213,,,,',
',213,213,213,213,213,213,213,,,213,,,,,,,213,,,213,213,,213,213,213',
'213,213,,213,213,213,,213,213,,213,213,,,,,,,,,,,,,,,,,,,,,213,,,213',
',213,213,,,213,,,,,,213,,,,,,,,213,,,,,213,213,213,213,213,213,,,,213',
'213,,,,216,216,216,213,216,,213,,216,216,213,213,,216,,216,216,216,216',
'216,216,216,,,,,,216,216,216,216,216,216,216,,,216,,,,,,,216,,,216,216',
',216,216,216,216,216,,216,216,216,,216,216,,216,216,,,,,,,,,,,,,,,,',
',,,,216,,,216,,,216,,,216,,,,,,216,,,,,,,,216,,,,,216,216,216,216,216',
'216,,,,216,216,,,,346,346,346,216,346,,216,,346,346,216,216,,346,,346',
'346,346,346,346,346,346,,,,,,346,346,346,346,346,346,346,,,346,,,,,',
',346,,,346,346,,346,346,346,346,346,,346,346,346,,346,346,,346,346,',
',,,,,,,,,,,,,,,,,,,346,,,346,,,346,,,346,,,,,,346,,,,,,,,346,,,,,346',
'346,346,346,346,346,,,,346,346,,,,218,218,218,346,218,,346,,218,218',
'346,346,,218,,218,218,218,218,218,218,218,,,,,,218,218,218,218,218,218',
'218,,,218,,,,,,,218,,,218,218,,218,218,218,218,218,,218,218,218,,218',
'218,,218,218,,,,,,,,,,,,,,,,,,,,,218,,,218,,,218,,,218,,,,,,218,,,,',
',,,218,,,,,218,218,218,218,218,218,,,,218,218,,,,219,219,219,218,219',
',218,,219,219,218,218,,219,,219,219,219,219,219,219,219,,,,,,219,219',
'219,219,219,219,219,,,219,,,,,,,219,,,219,219,,219,219,219,219,219,',
'219,219,219,,219,219,,219,219,,,,,,,,,,,,,,,,,,,,,219,,,219,,,219,,',
'219,,,,,,219,,,,,,,,219,,,,,219,219,219,219,219,219,,,,219,219,,,,220',
'220,220,219,220,,219,,220,220,219,219,,220,,220,220,220,220,220,220',
'220,,,,,,220,220,220,220,220,220,220,,,220,,,,,,,220,,,220,220,,220',
'220,220,220,220,,220,220,220,,220,220,,220,220,,,,,,,,,,,,,,,,,,,,,220',
',,220,,,220,,,220,,,,,,220,,,,,,,,220,,,,,220,220,220,220,220,220,,',
',220,220,,,,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,,,,586,586,586,243,586,,243,,586,586,243,243,,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,,,,582,582,582,586,582,,586,,582,582',
'586,586,,582,,582,582,582,582,582,582,582,,,,,,582,582,582,582,582,582',
'582,,,582,,,,,,,582,,,582,582,,582,582,582,582,582,582,582,582,582,',
'582,582,,582,582,,,,,,,,,,,,,,,,,,,,,582,,,582,,,582,,,582,,582,,,,582',
',,,,,,,582,,,,,582,582,582,582,582,582,,,,582,582,,,,574,574,574,582',
'574,,582,,574,574,582,582,,574,,574,574,574,574,574,574,574,,,,,,574',
'574,574,574,574,574,574,,,574,,,,,,,574,,,574,574,,574,574,574,574,574',
'574,574,574,574,,574,574,,574,574,,,,,,,,,,,,,,,,,,,,,574,,,574,,,574',
',,574,,574,,,,574,,,,,,,,574,,,,,574,574,574,574,574,574,,,,574,574',
',,,252,252,252,574,252,,574,,252,252,574,574,,252,,252,252,252,252,252',
'252,252,,,,,,252,252,252,252,252,252,252,,,252,,,,,,,252,,,252,252,',
'252,252,252,252,252,,252,252,252,,252,252,,252,252,,,,,,,,,,,,,,,,,',
',,,252,,,252,,,252,,,252,,,,,,252,,,,,,,,252,,,,,252,252,252,252,252',
'252,,,,252,252,,,,,,,252,,,252,,,,252,252,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,,,,254,254,254',
'572,254,,572,,254,254,572,572,,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',
',,,259,259,259,254,259,,254,,259,259,254,254,,259,,259,259,259,259,259',
'259,259,,,,,,259,259,259,259,259,259,259,,,259,,,,,,,259,,,259,259,',
'259,259,259,259,259,,259,259,259,,259,259,,259,259,,,,,,,,,,,,,,,,,',
',,,259,,,259,,,259,,,259,,,,,,259,,,,,,,,259,,,,,259,259,259,259,259',
'259,,,,259,259,,,,,,,259,,,259,,,,259,259,567,567,567,567,567,,,,567',
'567,,,,567,,567,567,567,567,567,567,567,,,,,,567,567,567,567,567,567',
'567,,,567,,,,,,567,567,,567,567,567,,567,567,567,567,567,,567,567,567',
',567,567,,567,567,,,,,,,,,,,,,,,,,,,,,567,,,567,,,567,,,567,,567,,,',
'567,,,,,,,,567,,,,,567,567,567,567,567,567,,,,567,567,,,,,,,567,,,567',
',,,567,567,563,563,563,563,563,,,,563,563,,,,563,,563,563,563,563,563',
'563,563,,,,,,563,563,563,563,563,563,563,,,563,,,,,,563,563,,563,563',
'563,,563,563,563,563,563,,563,563,563,,563,563,,563,563,,,,,,,,,,,,',
',,,,,,,,563,,,563,,,563,,,563,,563,,,,563,,,,,,,,563,,,,,563,563,563',
'563,563,563,,,,563,563,,,,549,549,549,563,549,,563,,549,549,563,563',
',549,,549,549,549,549,549,549,549,,,,,,549,549,549,549,549,549,549,',
',549,,,,,,,549,,,549,549,,549,549,549,549,549,,549,549,549,,549,549',
',,,,,,,,,,,,,,,,,,,,,,,549,,,549,,,549,,,549,,,,,,,,,,,,,,,,,,,549,549',
'549,549,549,549,,,,549,549,,,,265,265,265,549,265,,549,,265,265,549',
'549,,265,,265,265,265,265,265,265,265,,,,,,265,265,265,265,265,265,265',
',,265,,,,,,,265,,,265,265,,265,265,265,265,265,265,265,265,265,,265',
'265,,265,265,,,,,,,,,,,,,,,,,,,,,265,,,265,,,265,,,265,,265,,265,,265',
',,,,,,,265,,,,,265,265,265,265,265,265,,,,265,265,,,,266,266,266,265',
'266,,265,,266,266,265,265,,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,266,,266,266,,,,,,,,,,,,,,,,,,,,,266,,,266,,,266',
',,266,,266,,266,,266,,,,,,,,266,,,,,266,266,266,266,266,266,,,,266,266',
',,,274,274,274,266,274,,266,,274,274,266,266,,274,,274,274,274,274,274',
'274,274,,,,,,274,274,274,274,274,274,274,,,274,,,,,,,274,,,274,274,',
'274,274,274,274,274,274,274,274,274,,274,274,,274,274,,,,,,,,,,,,,,',
',,,,,,274,,,274,,274,274,,,274,,274,,274,,274,,,,,,,,274,,,,,274,274',
'274,274,274,274,,,,274,274,,,,,,,274,,,274,,,,274,274,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,,,,,543,543,543,543,543,543,,,,543,543,',
',,,,,543,,,543,,,,543,543,542,542,542,542,542,,,,542,542,,,,542,,542',
'542,542,542,542,542,542,,,,,,542,542,542,542,542,542,542,,,542,,,,,',
'542,542,,542,542,542,,542,542,542,542,542,,542,542,542,,542,542,,542',
'542,,,,,,,,,,,,,,,,,,,,,542,,,542,,,542,,,542,,542,,,,542,,,,,,,,542',
',,,,542,542,542,542,542,542,,,,542,542,,,,537,537,537,542,537,,542,',
'537,537,542,542,,537,,537,537,537,537,537,537,537,,,,,,537,537,537,537',
'537,537,537,,,537,,,,,,,537,,,537,537,,537,537,537,537,537,537,537,537',
'537,,537,537,,537,537,,,,,,,,,,,,,,,,,,,,,537,,,537,,,537,,,537,,,,',
',537,,,,,,,,537,,,,,537,537,537,537,537,537,,,,537,537,,,,,,,537,,,537',
',,,537,537,278,278,278,278,278,,,,278,278,,,,278,,278,278,278,278,278',
'278,278,,,,,,278,278,278,278,278,278,278,,,278,,,,,,278,278,,278,278',
'278,,278,278,278,278,278,,278,278,278,,278,278,,278,278,,,,,,,,,,,,',
',,,,,,,,278,,,278,,,278,,,278,,278,,,,278,,,,,,,,278,,,,,278,278,278',
'278,278,278,,,,278,278,,,,534,534,534,278,534,,278,,534,534,278,278',
',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',
',534,534,,,,,,,,,,,,,,,,,,,,,534,,,534,,,534,,,534,,534,,,,534,,,,,',
',,534,,,,,534,534,534,534,534,534,,,,534,534,,,,528,528,528,534,528',
',534,,528,528,534,534,,528,,528,528,528,528,528,528,528,,,,,,528,528',
'528,528,528,528,528,,,528,,,,,,,528,,,528,528,,528,528,528,528,528,',
'528,528,528,,528,528,,528,528,,,,,,,,,,,,,,,,,,,,,528,,,528,,,528,,',
'528,,,,,,528,,,,,,,,528,,,,,528,528,528,528,528,528,,,,528,528,,,,524',
'524,524,528,524,,528,,524,524,528,528,,524,,524,524,524,524,524,524',
'524,,,,,,524,524,524,524,524,524,524,,,524,,,,,,,524,,,524,524,,524',
'524,524,524,524,,524,524,524,,524,524,,524,524,,,,,,,,,,,,,,,,,,,,,524',
',,524,,,524,,,524,,,,,,524,,,,,,,,524,,,,,524,524,524,524,524,524,,',
',524,524,,,,282,282,282,524,282,,524,,282,282,524,524,,282,,282,282',
'282,282,282,282,282,,,,,,282,282,282,282,282,282,282,,,282,,,,,,,282',
',,282,282,,282,282,282,282,282,,282,282,282,,282,282,,,,,,,,,,,,,,,',
',,,,,,,,282,,,282,,,282,,,282,,,,,,,,,,,,,,,,,,,282,282,282,282,282',
'282,,,,282,282,,,,282,,,282,,,282,,,,282,282,283,283,283,283,283,,,',
'283,283,,,,283,,283,283,283,283,283,283,283,,,,,,283,283,283,283,283',
'283,283,,,283,,,,,,283,283,,283,283,283,,283,283,283,283,283,,283,283',
'283,,283,283,,283,283,,,,,,,,,,,,,,,,,,,,,283,,,283,,,283,,,283,,283',
',,,283,,,,,,,,283,,,,,283,283,283,283,283,283,,,,283,283,,,,523,523',
'523,283,523,,283,,523,523,283,283,,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,,,,522,522,522,523,522,,523,,522,522,523,523,,522,,522,522,522',
'522,522,522,522,,,,,,522,522,522,522,522,522,522,,,522,,,,,,,522,,,522',
'522,,522,522,522,522,522,,522,522,522,,522,522,,522,522,,,,,,,,,,,,',
',,,,,,,,522,,,522,,,522,,,522,,,,,,522,,,,,,,,522,,,,,522,522,522,522',
'522,522,,,,522,522,,,,513,513,513,522,513,,522,,513,513,522,522,,513',
',513,513,513,513,513,513,513,,,,,,513,513,513,513,513,513,513,,,513',
',,,,,,513,,,513,513,,513,513,513,513,513,513,513,513,513,,513,513,,513',
'513,,,,,,,,,,,,,,,,,,,,,513,,,513,,,513,,,513,,513,,,,513,,,,,,,,513',
',,,,513,513,513,513,513,513,,,,513,513,,,,511,511,511,513,511,,513,',
'511,511,513,513,,511,,511,511,511,511,511,511,511,,,,,,511,511,511,511',
'511,511,511,,,511,,,,,,,511,,,511,511,,511,511,511,511,511,,511,511',
'511,,511,511,,,,,,,,,,,,,,,,,,,,,,,,511,,,511,,,511,,,511,,,,,,,,,,',
',,,,,,,,511,511,511,511,511,511,,,,511,511,,,,,,,511,,,511,,,,511,511',
'505,505,505,505,505,,,,505,505,,,,505,,505,505,505,505,505,505,505,',
',,,,505,505,505,505,505,505,505,,,505,,,,,,505,505,,505,505,505,,505',
'505,505,505,505,,505,505,505,,505,505,,505,505,,,,,,,,,,,,,,,,,,,,,505',
',,505,,,505,,,505,,505,,,,505,,,,,,,,505,,,,,505,505,505,505,505,505',
',,,505,505,,,,,,505,505,,,505,,,,505,505,499,499,499,,499,,,,499,499',
',,,499,,499,499,499,499,499,499,499,,,,,,499,499,499,499,499,499,499',
',,499,,,,,,,499,,,499,499,,499,499,499,499,499,,499,499,499,,499,499',
',499,499,,,,,,,,,,,,,,,,,,,,,499,,,499,,499,499,,,499,,,,499,,499,,',
',,,,,499,,,,,499,499,499,499,499,499,,,,499,499,,,,483,483,483,499,483',
',499,,483,483,499,499,,483,,483,483,483,483,483,483,483,,,,,,483,483',
'483,483,483,483,483,,,483,,,,,,,483,,,483,483,,483,483,483,483,483,',
'483,483,483,,483,483,,483,483,,,,,,,,,,,,,,,,,,,,,483,,,483,,,483,,',
'483,,,,,,483,,,,,,,,483,,,,,483,483,483,483,483,483,,,,483,483,,,,481',
'481,481,483,481,,483,,481,481,483,483,,481,,481,481,481,481,481,481',
'481,,,,,,481,481,481,481,481,481,481,,,481,,,,,,,481,,,481,481,,481',
'481,481,481,481,481,481,481,481,,481,481,,481,481,,,,,,,,,,,,,,,,,,',
',,481,,,481,,,481,,,481,,,,481,,481,,,,,,,,481,,,,,481,481,481,481,481',
'481,,,,481,481,,,,479,479,479,481,479,,481,,479,479,481,481,,479,,479',
'479,479,479,479,479,479,,,,,,479,479,479,479,479,479,479,,,479,,,,,',
',479,,,479,479,,479,479,479,479,479,479,479,479,479,,479,479,,479,479',
',,,,,,,,,,,,,,,,,,,,479,,,479,,,479,,,479,,479,,479,,479,,,,,,,,479',
',,,,479,479,479,479,479,479,,,,479,479,,,,295,295,295,479,295,,479,',
'295,295,479,479,,295,,295,295,295,295,295,295,295,,,,,,295,295,295,295',
'295,295,295,,,295,,,,,,,295,,,295,295,,295,295,295,295,295,,295,295',
'295,,295,295,,,,,,,,,,,,,,,,,,,,,,,,295,,,295,,,295,,,295,,,,,,,,,,',
',,,,,,,,295,295,295,295,295,295,,,,295,295,,,,448,448,448,295,448,,295',
',448,448,295,295,,448,,448,448,448,448,448,448,448,,,,,,448,448,448',
'448,448,448,448,,,448,,,,,,,448,,,448,448,,448,448,448,448,448,,448',
'448,448,,448,448,,448,448,,,,,,,,,,,,,,,,,,,,,448,,,448,,,448,,,448',
',,,,,448,,,,,,,,448,,,,,448,448,448,448,448,448,,,,448,448,,,,447,447',
'447,448,447,,448,,447,447,448,448,,447,,447,447,447,447,447,447,447',
',,,,,447,447,447,447,447,447,447,,,447,,,,,,,447,,,447,447,,447,447',
'447,447,447,,447,447,447,,447,447,,447,447,,,,,,,,,,,,,,,,,,,,,447,',
',447,,,447,,,447,,,,,,447,,,,,,,,447,,,,,447,447,447,447,447,447,,,',
'447,447,,,,446,446,446,447,446,,447,,446,446,447,447,,446,,446,446,446',
'446,446,446,446,,,,,,446,446,446,446,446,446,446,,,446,,,,,,,446,,,446',
'446,,446,446,446,446,446,,446,446,446,,446,446,,446,446,,,,,,,,,,,,',
',,,,,,,,446,,,446,,,446,,,446,,,,,,446,,,,,,,,446,,,,,446,446,446,446',
'446,446,,,,446,446,,,,444,444,444,446,444,,446,,444,444,446,446,,444',
',444,444,444,444,444,444,444,,,,,,444,444,444,444,444,444,444,,,444',
',,,,,,444,,,444,444,,444,444,444,444,444,444,444,444,444,,444,444,,444',
'444,,,,,,,,,,,,,,,,,,,,,444,,,444,,,444,,,444,,444,,,,444,,,,,,,,444',
',,,,444,444,444,444,444,444,,,,444,444,,,,418,418,418,444,418,,444,',
'418,418,444,444,,418,,418,418,418,418,418,418,418,,,,,,418,418,418,418',
'418,418,418,,,418,,,,,,,418,,,418,418,,418,418,418,418,418,,418,418',
'418,,418,418,,418,418,,,,,,,,,,,,,,,,,,,,,418,,,418,,,418,,,418,,,,',
',418,,,,,,,,418,,,,,418,418,418,418,418,418,,,,418,418,,,,304,304,304',
'418,304,,418,,304,304,418,418,,304,,304,304,304,304,304,304,304,,,,',
',304,304,304,304,304,304,304,,,304,,,,,,,304,,,304,304,,304,304,304',
'304,304,,304,304,304,,304,304,,304,304,,,,,,,,,,,,,,,,,,,,,304,,,304',
'304,,304,,,304,,,,,,304,,,,,,,,304,,,,,304,304,304,304,304,304,,,,304',
'304,,,,,,,304,,,304,,,,304,304,306,306,306,306,306,,,,306,306,,,,306',
',306,306,306,306,306,306,306,,,,,,306,306,306,306,306,306,306,,,306',
',,,,,306,306,,306,306,306,,306,306,306,306,306,,306,306,306,,306,306',
',306,306,,,,,,,,,,,,,,,,,,,,,306,,,306,,,306,,,306,,306,,,,306,,,,,',
',,306,,,,,306,306,306,306,306,306,,,,306,306,,,,378,378,378,306,378',
',306,,378,378,306,306,,378,,378,378,378,378,378,378,378,,,,,,378,378',
'378,378,378,378,378,,,378,,,,,,,378,,,378,378,,378,378,378,378,378,',
'378,378,378,,378,378,,378,378,,,,,,,,,,,,,,,,,,,,,378,,,378,,,378,,',
'378,,,,,,378,,,,,,,,378,,,,,378,378,378,378,378,378,,,,378,378,,,,366',
'366,366,378,366,,378,,366,366,378,378,,366,,366,366,366,366,366,366',
'366,,,,,,366,366,366,366,366,366,366,,,366,,,,,,,366,,,366,366,,366',
'366,366,366,366,,366,366,366,,366,366,,,,,,,,,,,,,,,,,,,,,,,,366,,,366',
',,366,,,366,,,,,,,,,,,,,,,,,,,366,366,366,366,366,366,,,,366,366,,,',
'347,347,347,366,347,,366,,347,347,366,366,,347,,347,347,347,347,347',
'347,347,,,,,,347,347,347,347,347,347,347,,,347,,,,,,,347,,,347,347,',
'347,347,347,347,347,,347,347,347,,347,347,,347,347,,,,,,,,,,,,,,,,,',
',,,347,,,347,,,347,,,347,,,,,,347,,,,,,,,347,,,,,347,347,347,347,347',
'347,,,,347,347,,,,588,588,588,347,588,,347,,588,588,347,347,,588,,588',
'588,588,588,588,588,588,,,,,,588,588,588,588,588,588,588,,,588,,,,,',
',588,,,588,588,,588,588,588,588,588,,588,588,588,,588,588,,588,588,',
',,,,,,,,,,,,,,,,,,,588,,,588,,,588,,,588,,,,,,588,,,,,,,,588,,,,434',
'588,588,588,588,588,588,434,434,434,588,588,,434,434,,434,,588,,,588',
',,,588,588,,,,,,,,,,434,434,,434,434,434,434,434,,,,,,,,,,,,,,,,,,,',
',,,,434,434,434,434,434,434,434,434,434,434,434,434,434,434,,,434,434',
'434,,434,,,,434,,,,,,,434,,434,,434,434,434,434,434,434,434,,434,,434',
',,,,,,,,,,,,434,434,,434,,434,632,,434,,,434,,632,632,632,,,632,632',
'632,,632,,,,,,,,,,632,632,,,,,,,,,632,632,,632,632,632,632,632,,,,,',
',,,,,,,,,,,,,,,,,,632,632,632,632,632,632,632,632,632,632,632,632,632',
'632,,,632,632,632,,632,632,,,632,,,632,,632,,632,,632,,632,632,632,632',
'632,632,632,,632,,632,,,,,,,,,,,,,632,632,632,632,,632,84,,632,,,632',
',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,,,,,,,,,,,,,84,84,84,84,,84,432,84,84,,,84,,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,,,,432,,,,,,,432,,432,,432,432,432,432,432,432,432',
',432,432,432,,,,,,,,,,,,,432,432,,432,,432,631,,432,,,432,,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,631,631,631,,631,631,631,,,,,,,,,,,,,631,631,631,631,,631',
'87,,631,,,631,,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,,87,27,87,87,,,87,,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,27,27',
',,27,,27,27,,,27,,27,,27,,27,,27,27,27,27,27,27,27,,27,27,27,,,,,,,',
',,,,,27,27,27,27,436,27,,,27,,,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,436,,,,,,,,,,,,,436,436,436,436,428,436,,436,436,,,428,428',
'428,,,428,428,428,,428,,,,,,,,,428,428,428,,,,,,,,,428,428,,428,428',
'428,428,428,,,,,,,,,,,,,,,,,,,,,,,,428,428,428,428,428,428,428,428,428',
'428,428,428,428,428,,,428,428,428,,,428,,428,428,,,428,,428,,428,,428',
',428,428,428,428,428,428,428,,428,428,428,,,,,,,,,,,,,428,428,428,428',
'437,428,,,428,,,437,437,437,,,437,437,437,,437,,,,,,,,,437,437,437,437',
',,,,,,,437,437,,437,437,437,437,437,,,,,,,,,,,,,,,,,,,,,,,,437,437,437',
'437,437,437,437,437,437,437,437,437,437,437,,,437,437,437,,,437,,,437',
',,437,,437,,437,,437,,437,437,437,437,437,437,437,,437,437,437,,,,,',
',,,,,,,437,437,437,437,28,437,,437,437,,,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,50',
'28,,,28,,,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,486,50,,50,50,,,486,486,486,,,486,486',
'486,,486,,,,,,,,,,486,,,,,,,,,,486,486,,486,486,486,486,486,,,,,,,,',
',,,,489,,,,,,,489,489,489,,,489,489,489,,489,,,,,,486,,,,489,,,486,',
',,,486,486,489,489,,489,489,489,489,489,,,,,,,,,,,,,486,,,,,,,,,,,,',
'486,,486,,,486,,,,489,,,,,,,489,,,,,489,489,,,,,,,,,,,,,,,,,,,,,489',
',,,,,,,,,,,,489,,489,,,489,408,408,408,408,408,408,408,408,408,408,408',
'408,408,408,408,408,408,408,408,408,408,408,408,408,,,,408,408,408,408',
'408,408,408,408,408,408,408,408,408,408,408,408,408,408,408,408,408',
',408,408,,,408,,,,,,,,,408,408,,408,408,408,408,408,408,408,,,408,408',
',,,408,408,408,408,,,,,,,,,,,,,408,408,,408,408,408,408,408,408,408',
'408,408,408,408,,,408,408,,,,,,,,,,408,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,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,412,412,412,412,412,412,412,412,412',
'412,412,412,412,412,412,412,412,412,412,412,412,412,412,412,,,,412,412',
'412,412,412,412,412,412,412,412,412,412,412,412,412,412,412,412,412',
'412,412,,412,412,,,412,,,,,,,,,412,412,,412,412,412,412,412,412,412',
',,412,412,,,,412,412,412,412,,,,,,,,,,,,,412,412,,412,412,412,412,412',
'412,412,412,412,412,412,,,412,412,,,,,,,,,,412,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,,,,747,747,747,747,,,,,,,,,,,,,747,747,,747,747',
'747,747,747,747,747,747,747,747,747,,,747,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,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,443,443,65,,443,,,,,,,,,443,443',
',443,443,443,443,443,443,443,,,443,443,,,,443,443,443,443,,,,,,,,,,',
',,443,443,,443,443,443,443,443,443,443,443,443,443,443,583,583,443,',
'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,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,442,442,581,,442,,,,,,,,,442,442,,442,442,442',
'442,442,442,442,,,442,442,,,,442,442,442,442,,,,,,442,,,,,,,442,442',
',442,442,442,442,442,442,442,442,442,442,442,576,576,442,,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,575',
'575,576,,575,,,,,,,,,575,575,,575,575,575,575,575,575,575,,,575,575',
',,,575,575,575,575,,,,,,575,,,,,,,575,575,,575,575,575,575,575,575,575',
'575,575,575,575,919,919,575,,919,,,,,,,,,919,919,,919,919,919,919,919',
'919,919,,,919,919,,,,919,919,919,919,,,,,,919,,,,,,,919,919,,919,919',
'919,919,919,919,919,919,919,919,919,920,920,919,,920,,,,,,,,,920,920',
',920,920,920,920,920,920,920,,,920,920,,,,920,920,920,920,,,,,,,,,,',
',,920,920,,920,920,920,920,920,920,920,920,920,920,920,262,262,920,',
'262,,,,,,,,,262,262,,262,262,262,262,262,262,262,,,262,262,,,,262,262',
'262,262,,,,,,,,,,,,,262,262,,262,262,262,262,262,262,262,262,262,262',
'262,263,263,262,,263,,,,,,,,,263,263,,263,263,263,263,263,263,263,,',
'263,263,,,,263,263,263,263,,,,,,,,,,,,,263,263,,263,263,263,263,263',
'263,263,263,263,263,263,526,526,263,,526,,,,,,,,,526,526,,526,526,526',
'526,526,526,526,,,526,526,,,,526,526,526,526,,,,,,,,,,,,,526,526,,526',
'526,526,526,526,526,526,526,526,526,526,201,201,526,,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,515,515,201',
',515,,,,,,,,,515,515,,515,515,515,515,515,515,515,,,515,515,,,,515,515',
'515,515,,,,,,,,,,,,,515,515,,515,515,515,515,515,515,515,515,515,515',
'515,514,514,515,,514,,,,,,,,,514,514,,514,514,514,514,514,514,514,,',
'514,514,,,,514,514,514,514,,,,,,514,,,,,,,514,514,,514,514,514,514,514',
'514,514,514,514,514,514,200,200,514,,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,799,799,200,,799,,,,,,',
',,799,799,,799,799,799,799,799,799,799,,,799,799,,,,799,799,799,799',
',,,,,,,,,,,,799,799,,799,799,799,799,799,799,799,799,799,799,799,525',
'525,799,,525,,,,,,,,,525,525,,525,525,525,525,525,525,525,,,525,525',
',,,525,525,525,525,,,,,,525,,,,,,,525,525,,525,525,525,525,525,525,525',
'525,525,525,525,,,525' ]
        racc_action_check = arr = ::Array.new(23792, 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 = [
    -2,  1124,   nil,   -48,   nil,  1063,   976, 21953, 22076,   949,
   917,   916,   944,   447,   426,   730,   nil,  1846,  1972,  2362,
   921,   nil,  2362,  2488,  2614,   679,    13, 20871, 21387,   nil,
  3280,  3406,  3532,   nil,   759,   363,   828,   655,  4174,  4300,
  4426,   727,   676,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
 21516,   nil,  4942,  5068,  5194,   -15,  5998,  5596,  5722,   nil,
   nil,  5848,  5986,  6112,   nil, 22658,   nil,   nil,   nil,   nil,
   nil,  -101,   nil,   nil,   nil,   nil,   nil,   502,   132, 22434,
   nil,   nil,   nil,   642, 20347,   nil,   nil, 20740,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   108,   nil,  7420,
   nil,   nil,   nil,  7558,  7684,  7810,  7936,  8074,  8212,   nil,
   275,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil, 22546,   160,   nil,  8740,  8866,  8992,  9118,  9244,
 23558, 23378,  9634,  9760,  9886,   nil,   527,   231,   595,   258,
   535,   597, 10780, 10906,   nil,   nil, 11032,   646, 11284, 11410,
 11536, 11662, 11788, 11914, 12040, 12166, 12292, 12418, 12544, 12670,
 12796, 12922, 13048, 13174, 13300, 13426, 13552, 13678, 13804, 13930,
 14056, 14182, 14308, 14434,   nil,   nil,   nil,  1594,   nil,   614,
   630,   nil, 14938,   675, 15202,   nil,   nil,   nil,   nil, 15328,
   nil,   nil, 23198, 23258,   750, 15856, 15982,   nil,   nil,   nil,
   nil,   nil,   nil,   nil, 16108,   357,   925,   767, 16648,   771,
   793,   761, 17152, 17290,   530,   541,   867,   535,   848,   824,
   197,   nil,   896,   307,   nil, 18574,   nil,   288,   954,   955,
   516,   nil,  1005,   nil, 19330,   nil, 19468,   112,   nil,   961,
   560,   438,  1075,  1056,   545,  1078,   nil,   nil,     6,  6766,
   nil,   nil,   nil,  1037,  1027,   nil,  1013,  1010,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,  2864,   nil,   nil,   nil,  1083,
   nil,   nil,  1077,   664,    36,    -7, 11158, 19846,   312,    23,
   984,    40,   526,  1039,    46,  1067,   nil,   nil,    -2,  1035,
   nil,   442,   nil,    65,   nil,   nil, 19720,   167,   733,   149,
   547,   543,   531,   271,   605,   nil,   573,   nil, 19594,   nil,
   262,   nil,   244,   nil,   292,   955,   252,   nil,   954,   -25,
   nil,   277,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   963, 21830,   nil,
   nil,   nil, 22199,   961,   nil,   nil,   400,   nil, 19204,   908,
   nil,   902,   nil,   nil,  1846,   934,   409,   100, 21129,   nil,
   nil,   nil, 20478,   935, 20085,   nil, 21000, 21258,   nil,  1468,
   nil,   nil, 22898, 22718, 19078,   124, 18952, 18826, 18700,   304,
   nil,  3142,  4300,   543,   540,   936,   933,   929,   923,  5194,
  5332,  2901,  4816,  4048,  3280,  4942,  4690,  4552,  4426,  5068,
  4174,  3796,  1353,  2853,  3670,  3922,   940,   -50,   nil, 18448,
   nil, 18322,   nil, 18196,   nil,   nil, 21645,   nil,   nil, 21701,
   332,   nil,   854,   nil,   nil,   825,   824,   nil,   nil, 18070,
   317,   178,   856,   nil,   nil, 17932,   844,   804,   nil,   nil,
   803, 17794,   833, 17668, 23498, 23438,   254,   808,   nil,   nil,
   762,   nil, 17542, 17416, 17026, 23678, 23318,  1720, 16900,   873,
   859,   774,   nil,   nil, 16774,   nil,   nil, 16510,   nil,   nil,
   nil,   nil, 16384, 16246,   757,   nil,   883,   nil,   nil, 15730,
  3069,   nil,   479,   nil,   nil,   750,   nil,  1316,   nil,   710,
  1064,   nil,   nil, 15604,   776,   nil,   nil, 15466,   124,   144,
   756,   760, 15076,   nil, 14812, 23018, 22958,    37,   nil,   637,
   nil, 22838, 14686, 22778,   nil,   nil, 14560,   405, 19972,   nil,
  6892,   nil,   nil,   nil,    35,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   241,   nil,   nil,   nil,   597,
   nil,   nil,   nil,   nil,   nil, 10642,   547, 10516,   478, 10390,
 10264,   552,   nil,   nil,   nil, 10138,   544,   nil, 10012,   -61,
   -47, 20609, 20216,   494,   676,   nil,  9508,   nil,  3418,   nil,
  9382,   456,   nil,   372,  8602,   nil,   nil,   nil,   nil,   nil,
   nil,  8476,   nil,   123,  8338,  7282,   802,   -22,   nil,   nil,
     1,  7156,  7018,   nil,   787,   -37,  6880,   -47,   nil,   -70,
   207,   208,   -49,   -17,   400,    14,  6754,  2236,    66,   141,
   239,   236,  6628,   nil,   nil,   -60,   217,   322,   nil,   nil,
   210,   nil,   222,   378,   411,   384,   393,   nil,   nil,   473,
  2893,   nil,   699,   nil,   584,   nil,   nil,   nil,   nil,   nil,
   608,   nil,   613,  6502,   542,    56,    74,   116,    77,  6376,
   403,   nil,   599,   624,  6250,   311,   nil,   -25,  5470,  5332,
  6124,   284,   nil,   nil,   724,   nil,  4816,   nil,   661,   669,
   nil,   670,   673,   675,   nil,   680,   nil, 22322,   748,   493,
  4690,   nil,   nil,   nil,  2488,   721,  4552,  4048,   nil,  2614,
   nil,  2098,   nil,   nil,  1972,   nil,  1078,  3922,  3796,  3670,
   169,  2752,   nil,   784,   884,   nil,   nil,   783,   nil,   768,
  3142,   nil,   801,   905,   787,   559,   nil,   nil,   915,   nil,
  3016,   799,   841,   nil,   nil,   nil,   nil,   nil,   nil, 23618,
   nil,   745,   nil,   nil,   nil,   nil,  1190,   928,   nil,  2878,
   930,  2752,  2236,   nil,   nil,    90,   -18,    99,   nil,   945,
   nil,   nil,   947,   967,   852,   nil,   nil,   nil,   203,   nil,
   nil,    52,  3544,   nil,   291,   nil,   190,   nil,  2098,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   894,   890,   nil,  1204,
  1720,   nil,   nil,   nil,  1594,   899,   nil,   nil,   nil,  1468,
   nil,   nil,    66,  1330,   nil,   943,   906,   nil,   nil,    67,
   nil,  1030,  1042,  1204,  1078,   nil,   nil,   940,   nil,   nil,
   970,   nil,   934,   nil,   nil,   937,   940,   941,   934,   nil,
   nil,  1342,   nil,   nil,   802,   nil,   676,   444,   496,  1030,
   361,   nil,   nil,   538,   nil,   nil,   nil,    53,   400,  1083,
   nil,   nil,   567,   nil,   nil,   nil,   262,  1113,   124, 23078,
 23138,   275,   414,   nil,   nil,   nil,  1135,   nil,  1028,  1150,
   nil,  1066,    73,    82,    74,   145,   nil,   nil,   nil,   nil,
   654 ]

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

clist = [
'26,304,375,556,248,248,248,214,428,433,328,312,320,571,520,102,393,26',
'26,5,363,98,26,26,26,530,563,567,281,729,26,109,194,480,689,309,548',
'291,291,551,553,415,422,681,117,117,344,345,741,744,348,807,26,26,99',
'533,536,26,26,540,697,26,580,891,788,306,645,2,291,291,486,489,491,102',
'294,596,264,271,273,349,555,606,889,114,114,346,279,810,249,249,249',
'811,402,403,404,405,705,709,347,26,250,250,250,26,26,26,26,26,26,277',
'642,812,642,829,830,692,13,719,5,696,382,384,645,908,391,648,406,5,650',
'393,658,724,314,206,206,588,877,366,206,206,206,114,728,246,260,261',
'13,285,285,590,833,835,837,747,591,114,318,425,541,743,889,376,695,858',
'584,355,400,193,206,206,640,268,272,206,206,407,357,206,352,361,245',
'309,477,651,500,414,420,423,741,744,501,438,923,661,662,26,26,26,26',
'26,713,792,26,26,26,862,379,380,317,12,386,605,26,26,316,13,389,841',
'749,206,206,206,206,13,13,556,750,824,701,882,667,881,313,377,710,497',
'885,660,408,12,645,652,805,492,1,,,248,248,517,428,433,,,,,248,911,280',
',,,419,419,,26,26,531,114,532,,936,,328,26,544,,437,26,480,,,,26,721',
'642,642,102,291,689,924,,521,504,913,914,915,,,743,752,291,699,,,,26',
',12,,,13,206,206,206,206,12,12,206,206,206,,672,589,510,,505,,13,206',
'916,495,249,672,506,568,569,938,,512,249,,697,496,250,875,26,26,,741',
'744,,250,,,,,277,,,102,,277,,,,570,,556,,866,,291,,,585,,,26,,,206,206',
'672,,784,494,498,,,206,672,,,13,502,,321,285,13,,886,633,887,12,798',
',,802,803,,285,,,381,,383,383,387,390,383,12,13,413,775,,309,,,762,795',
'930,612,,765,268,613,272,14,645,280,,,819,26,117,,822,823,117,,,653',
'740,,,,,,,743,,206,206,,,,,14,287,287,669,,,867,,,,621,,,928,361,626',
'114,642,,12,114,,,,12,,206,309,,874,,26,354,362,,,,26,280,,521,,,280',
',26,,12,,291,,437,,,,,664,642,,793,26,,,,714,,,,647,14,,649,723,,26',
'26,896,14,14,,,,,903,,,748,291,309,641,,,206,,775,26,309,,,26,,,,925',
'26,623,26,725,,,627,902,706,706,26,,,,26,,26,,,437,328,740,773,,909',
',,726,,,437,,,,493,,758,760,,,685,,763,206,,,,26,26,13,,,,26,,285,,206',
',623,,14,623,929,,,893,,26,,,,206,,,,,,14,26,437,,,,,437,13,13,,26,26',
'521,547,693,,547,547,,,,291,786,,,,,,13,,,291,13,839,,,,13,,206,883',
',,883,740,,740,206,740,,,206,,206,,,,817,,,,,,12,,14,,,26,287,14,,,26',
',,672,26,26,,,779,287,,206,206,820,,821,,206,,825,14,,848,,419,,26,12',
'12,,740,,13,26,,,,,,,,,,13,,622,686,687,12,,,740,12,13,13,815,,12,285',
',880,,,,,,26,702,285,,,704,,,869,,712,,35,,362,,,,,26,,26,26,,,,,623',
'637,,627,,,114,,,,622,,706,622,637,35,284,284,206,,,,,13,637,637,,13',
'13,855,,,12,,,,,,,,10,,26,12,,,,351,365,13,365,774,291,12,12,,206,26',
'437,931,26,,777,,,,,,,,10,,782,783,,,,,,26,,,,309,35,,26,,,13,,26,35',
'35,,,,,,26,,26,356,,,,315,,206,,13,13,,,,,12,,,,12,12,,,,,14,,,,,,287',
',,,,,,10,,,12,,,,,10,10,,,,,,,,,,13,,,846,898,14,14,,,,,,362,,,13,,',
'13,,,437,35,,12,,14,,,,14,,,,,14,,13,622,35,,,,861,13,12,12,789,794',
'13,,,,,,,,13,547,206,,547,547,,871,872,,,789,,789,,,,,,,10,,,,,,,,,',
',,,417,421,,12,10,,,,,,,,,14,,35,,,12,284,35,12,895,,14,,,,,,,,284,',
'14,14,,907,,287,12,205,,35,,,,12,,287,,,12,,,,482,,484,917,12,,,485',
'860,,922,,864,,10,926,,,,10,307,,,,,343,343,,,343,,,,,,,,,,,,14,10,',
',14,14,365,,,,,,,,,,,,,,,,,,,845,14,,,,343,343,343,343,,,,,,,,,,,,547',
',,,,,,,,,,,,,,,,,,,,14,,,,,,,,,,,,,,,,,,,,789,14,14,,,,,,,,,,,,,789',
',,,,,,,,,,,,,,,,,,,,,,,616,,,,,440,441,,,,14,,,,900,449,,,,,35,,,,,14',
'284,,14,,,,,,,,,,,,,,,,,,,14,,,,,,,14,,,35,35,14,,643,,315,365,646,',
'14,215,,,,247,247,247,10,,,35,,,657,35,,,,,35,301,302,303,,,,,,,,,,',
',,247,247,,,,,,,,10,10,,,643,,,315,,,,,,,,,,,,,,10,,,,10,,,,,10,,,,',
',343,343,,,,,,35,,,,,,,,,,,35,,,,,,,,,,35,35,,,594,284,,,,,,,,,,284',
',,,,,,,755,,,,,,,,,,,10,,,,,,,,,,,10,,,,,776,,,,,10,10,,,,643,315,,35',
',,,35,35,,416,247,424,247,,,439,,,,,,,,,,,,791,35,215,,451,452,453,454',
'455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471',
'472,473,474,475,476,10,417,,,10,10,,307,247,,247,35,,,,247,,,,,,247',
'247,,827,,10,,,,247,,35,35,,,680,,,,,,,,847,,,,,,,,,,,,,,,,527,,,,,',
'10,,417,,,,,,,,,,,,35,,,,897,,,10,10,,,,,,343,35,727,,35,,,,,,,,,,,',
',,,,,,,35,,,,,,,35,,890,,,35,,,,,,10,,35,,901,,,315,,,,,,,,10,,,10,',
',,,,,,906,,,,,,,,,,,10,,247,,,,,10,,,906,,10,,,,,,,,10,,,,,,,,247,,439',
'634,424,,,,,,,,,,,,,,,,,,,,,,,343,,,,,,,,247,,247,,247,,,,,,,,,,,,,',
',,656,,,,,,,,,,,,,,247,,,,,,,,,677,678,679,,,,,,,,,,247,,,247,,,,,,',
',,,,,,,,,,,,,,,,,343,,,,,,,,,,,,,247,,,,,,,,247,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,754,,247,,759,761,,,,,764,,,766,,,,,,,,771,,,,,,,,247,,',
',,,,,,,247,247,,,,,,,,,,,,,,,,,,,,,,,,,,,247,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,247,,,,,,,,,,,,,,,,,,,,,,,247,,,,,,,,,,,,,,,,,,,,247,849,,,,',
',,,,,759,761,764,,,,,,,,,,,247,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,247,,,,,,,,,,,,849,,,,247,,,,,,,,,,,,,,,,,,,247',
',,,,,,,,,,,,,,,,,,,,247,,,,,,,,,,,,,,,,,,,,,,,,247' ]
        racc_goto_table = arr = ::Array.new(2256, 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 = [
'37,51,47,145,29,29,29,18,33,33,107,22,104,80,43,83,47,37,37,7,46,4,37',
'37,37,8,77,77,41,84,37,14,14,61,106,29,109,52,52,109,109,24,24,10,50',
'50,16,16,110,141,16,78,37,37,6,55,55,37,37,55,147,37,45,101,11,87,154',
'2,52,52,33,33,35,83,42,129,34,34,34,4,148,129,151,48,48,88,39,11,54',
'54,54,89,16,16,16,16,79,79,90,37,56,56,56,37,37,37,37,37,37,38,62,91',
'62,142,142,111,21,92,7,111,126,126,154,93,126,60,7,7,60,47,62,94,56',
'21,21,95,96,97,21,21,21,48,98,31,31,31,21,21,21,99,143,143,143,100,86',
'48,102,22,103,111,151,85,105,12,82,81,5,15,21,21,36,57,57,21,21,2,19',
'21,21,21,112,29,113,36,115,18,18,18,110,141,116,18,117,36,36,37,37,37',
'37,37,118,119,37,37,37,120,124,125,76,20,127,128,37,37,74,21,130,131',
'132,21,21,21,21,21,21,145,133,135,145,137,43,139,73,72,80,64,144,63',
'27,20,154,59,149,58,1,,,29,29,51,33,33,,,,,29,142,9,,,,54,54,,37,37',
'51,48,51,,78,,107,37,104,,48,37,61,,,,37,45,62,62,83,52,106,11,,41,4',
'143,143,143,,,111,129,52,148,,,,37,,20,,,21,21,21,21,21,20,20,21,21',
'21,,33,46,42,,6,,21,21,84,54,54,33,39,16,16,143,,39,54,,147,56,56,79',
'37,37,,110,141,,56,,,,,38,,,83,,38,,,,4,,145,,111,,52,,,83,,,37,,,21',
'21,33,,43,31,31,,,21,33,,,21,31,,53,21,21,,111,22,111,20,109,,,109,109',
',21,,,53,,53,53,53,53,53,20,21,9,61,,29,,,35,55,10,14,,35,57,14,57,23',
'154,9,,,8,37,50,,8,8,50,,,51,108,,,,,,,111,,21,21,,,,,23,23,23,22,,',
'145,,,,34,,,111,21,34,48,62,,20,48,,,,20,,21,29,,77,,37,23,23,,,,37',
'9,,41,,,9,,37,,20,,52,,48,,,,,7,62,,24,37,,,,22,,,,34,23,,34,22,,37',
'37,77,23,23,,,,,77,,,51,52,29,56,,,21,,61,37,29,,,37,,,,80,37,57,37',
'16,,,57,109,83,83,37,,,,37,,37,,,48,107,108,104,,8,,,83,,,48,,,,53,',
'18,18,,,56,,18,21,,,,37,37,21,,,,37,,21,,21,,57,,23,57,8,,,61,,37,,',
',21,,,,,,23,37,48,,,,,48,21,21,,37,37,41,53,21,,53,53,,,,52,41,,,,,',
'21,,,52,21,47,,,,21,,21,108,,,108,108,,108,21,108,,,21,,21,,,,16,,,',
',,20,,23,,,37,23,23,,,37,,,33,37,37,,,56,23,,21,21,83,,83,,21,,83,23',
',18,,54,,37,20,20,,108,,21,37,,,,,,,,,,21,,53,9,9,20,,,108,20,21,21',
'54,,20,21,,51,,,,,,37,9,21,,,9,,,16,,9,,44,,23,,,,,37,,37,37,,,,,57',
'53,,57,,,48,,,,53,,83,53,53,44,44,44,21,,,,,21,53,53,,21,21,54,,,20',
',,,,,,,17,,37,20,,,,44,44,21,44,9,52,20,20,,21,37,48,22,37,,9,,,,,,',
',17,,9,9,,,,,,37,,,,29,44,,37,,,21,,37,44,44,,,,,,37,,37,17,,,,25,,21',
',21,21,,,,,20,,,,20,20,,,,,23,,,,,,23,,,,,,,17,,,20,,,,,17,17,,,,,,',
',,,21,,,9,21,23,23,,,,,,23,,,21,,,21,,,48,44,,20,,23,,,,23,,,,,23,,21',
'53,44,,,,9,21,20,20,53,53,21,,,,,,,,21,53,21,,53,53,,9,9,,,53,,53,,',
',,,,17,,,,,,,,,,,,,25,25,,20,17,,,,,,,,,23,,44,,,20,44,44,20,9,,23,',
',,,,,,44,,23,23,,9,,23,20,26,,44,,,,20,,23,,,20,,,,25,,25,9,20,,,25',
'53,,9,,53,,17,9,,,,17,26,,,,,26,26,,,26,,,,,,,,,,,,23,17,,,23,23,44',
',,,,,,,,,,,,,,,,,,23,23,,,,26,26,26,26,,,,,,,,,,,,53,,,,,,,,,,,,,,,',
',,,,,23,,,,,,,,,,,,,,,,,,,,53,23,23,,,,,,,,,,,,,53,,,,,,,,,,,,,,,,,',
',,,,,,25,,,,,26,26,,,,23,,,,23,26,,,,,44,,,,,23,44,,23,,,,,,,,,,,,,',
',,,,,23,,,,,,,23,,,44,44,23,,25,,25,44,25,,23,28,,,,28,28,28,17,,,44',
',,25,44,,,,,44,28,28,28,,,,,,,,,,,,,28,28,,,,,,,,17,17,,,25,,,25,,,',
',,,,,,,,,,17,,,,17,,,,,17,,,,,,26,26,,,,,,44,,,,,,,,,,,44,,,,,,,,,,44',
'44,,,26,44,,,,,,,,,,44,,,,,,,,25,,,,,,,,,,,17,,,,,,,,,,,17,,,,,25,,',
',,17,17,,,,25,25,,44,,,,44,44,,28,28,28,28,,,28,,,,,,,,,,,,25,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,17,25,,,17,17,,26,28,,28,44,,,,28,,,,,,28,28,,25,,17,,,,28',
',44,44,,,26,,,,,,,,25,,,,,,,,,,,,,,,,28,,,,,,17,,25,,,,,,,,,,,,44,,',
',44,,,17,17,,,,,,26,44,26,,44,,,,,,,,,,,,,,,,,,,44,,,,,,,44,,25,,,44',
',,,,,17,,44,,17,,,25,,,,,,,,17,,,17,,,,,,,,25,,,,,,,,,,,17,,28,,,,,17',
',,25,,17,,,,,,,,17,,,,,,,,28,,28,28,28,,,,,,,,,,,,,,,,,,,,,,,26,,,,',
',,,28,,28,,28,,,,,,,,,,,,,,,,28,,,,,,,,,,,,,,28,,,,,,,,,28,28,28,,,',
',,,,,,28,,,28,,,,,,,,,,,,,,,,,,,,,,,,26,,,,,,,,,,,,,28,,,,,,,,28,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,28,,28,,28,28,,,,,28,,,28,,,,,,,,28,,,',
',,,,28,,,,,,,,,,28,28,,,,,,,,,,,,,,,,,,,,,,,,,,,28,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,28,,,,,,,,,,,,,,,,,,,,,,,28,,,,,,,,,,,,,,,,,,,,28,28,,',
',,,,,,,28,28,28,,,,,,,,,,,28,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,28,,,,,,,,,,,,28,,,,28,,,,,,,,,,,,,,,,,,,28,,,,,,',
',,,,,,,,,,,,,,28,,,,,,,,,,,,,,,,,,,,,,,,28' ]
        racc_goto_check = arr = ::Array.new(2256, 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,   244,    67,   nil,    18,    67,    51,    19,  -281,   228,
  -486,  -617,  -625,   nil,    24,   159,   -11,   857,   -11,   114,
   209,   116,   -42,   438,  -155,   869,  1089,   129,  1337,   -18,
   nil,   121,   nil,  -192,    50,  -192,  -307,     0,    79,    56,
   nil,    -3,    42,  -281,   802,  -297,   -43,   -63,    76,   nil,
    37,   -40,     6,   341,    66,  -255,    78,   145,   -22,  -251,
  -361,  -217,  -369,  -262,   -31,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   168,   178,   159,   nil,   152,  -318,  -651,  -472,
  -336,   103,  -199,    12,  -561,    96,  -222,    14,    26,  -614,
    38,  -598,  -461,  -752,  -453,  -229,  -685,    73,  -447,  -226,
  -438,  -776,   100,  -160,   -44,  -388,  -512,   -46,  -137,  -287,
  -542,  -431,   160,   -62,   nil,   -85,   -80,  -715,  -373,  -481,
  -587,   nil,   nil,   nil,   135,   134,    45,   133,  -175,  -305,
   138,  -532,  -380,  -373,   nil,  -503,   nil,  -599,   nil,  -597,
   nil,  -541,  -625,  -591,  -596,  -332,   nil,  -490,  -255,  -458,
   nil,  -752,   nil,   nil,  -415 ]

racc_goto_default = [
   nil,   nil,   nil,     3,   nil,     4,   350,   276,   nil,   529,
   nil,   808,   nil,   275,   nil,   nil,   nil,   210,    16,    11,
   211,   300,   nil,   209,   nil,   253,    15,   nil,    19,    20,
    21,   nil,    25,   675,   nil,   nil,   nil,   290,    29,   nil,
    31,    34,    33,   nil,   207,   360,   nil,   116,   431,   115,
    69,   nil,    42,   308,   310,   nil,   311,   429,   nil,   nil,
   624,   478,   251,   nil,   nil,   266,    43,    44,    45,    46,
    47,    48,    49,   nil,   267,    55,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   564,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   323,   322,   691,   325,   nil,
   326,   327,   nil,   nil,   435,   nil,   nil,   nil,   nil,   nil,
   nil,    68,    70,    71,    72,   nil,   nil,   nil,   nil,   601,
   nil,   nil,   nil,   nil,   392,   731,   734,   739,   736,   737,
   738,   884,   nil,   nil,   742,   334,   329,   336,   nil,   558,
   559,   746,   339,   342,   258 ]

racc_reduce_table = [
  0, 0, :racc_error,
  1, 141, :_reduce_none,
  2, 142, :_reduce_2,
  0, 143, :_reduce_3,
  1, 143, :_reduce_4,
  3, 143, :_reduce_5,
  1, 145, :_reduce_none,
  4, 145, :_reduce_7,
  4, 148, :_reduce_8,
  2, 149, :_reduce_9,
  0, 153, :_reduce_10,
  1, 153, :_reduce_11,
  3, 153, :_reduce_12,
  0, 167, :_reduce_13,
  4, 147, :_reduce_14,
  3, 147, :_reduce_15,
  3, 147, :_reduce_none,
  3, 147, :_reduce_17,
  2, 147, :_reduce_18,
  3, 147, :_reduce_19,
  3, 147, :_reduce_20,
  3, 147, :_reduce_21,
  3, 147, :_reduce_22,
  3, 147, :_reduce_23,
  4, 147, :_reduce_none,
  3, 147, :_reduce_25,
  3, 147, :_reduce_26,
  3, 147, :_reduce_27,
  6, 147, :_reduce_none,
  5, 147, :_reduce_29,
  5, 147, :_reduce_none,
  5, 147, :_reduce_none,
  3, 147, :_reduce_none,
  3, 147, :_reduce_33,
  3, 147, :_reduce_34,
  3, 147, :_reduce_35,
  1, 147, :_reduce_none,
  1, 166, :_reduce_none,
  3, 166, :_reduce_38,
  3, 166, :_reduce_39,
  2, 166, :_reduce_40,
  2, 166, :_reduce_41,
  1, 166, :_reduce_none,
  1, 156, :_reduce_none,
  1, 158, :_reduce_none,
  1, 158, :_reduce_none,
  2, 158, :_reduce_46,
  2, 158, :_reduce_47,
  2, 158, :_reduce_48,
  1, 170, :_reduce_none,
  4, 170, :_reduce_none,
  4, 170, :_reduce_none,
  4, 175, :_reduce_none,
  2, 169, :_reduce_53,
  3, 169, :_reduce_none,
  4, 169, :_reduce_55,
  5, 169, :_reduce_none,
  4, 169, :_reduce_57,
  5, 169, :_reduce_none,
  2, 169, :_reduce_59,
  2, 169, :_reduce_60,
  1, 159, :_reduce_61,
  3, 159, :_reduce_62,
  1, 179, :_reduce_63,
  3, 179, :_reduce_64,
  1, 178, :_reduce_65,
  2, 178, :_reduce_66,
  3, 178, :_reduce_67,
  5, 178, :_reduce_none,
  2, 178, :_reduce_69,
  4, 178, :_reduce_none,
  2, 178, :_reduce_71,
  1, 178, :_reduce_72,
  3, 178, :_reduce_none,
  1, 181, :_reduce_74,
  3, 181, :_reduce_75,
  2, 180, :_reduce_76,
  3, 180, :_reduce_77,
  1, 183, :_reduce_none,
  3, 183, :_reduce_none,
  1, 182, :_reduce_80,
  4, 182, :_reduce_81,
  3, 182, :_reduce_82,
  3, 182, :_reduce_none,
  3, 182, :_reduce_none,
  3, 182, :_reduce_none,
  2, 182, :_reduce_none,
  1, 182, :_reduce_none,
  1, 157, :_reduce_88,
  4, 157, :_reduce_89,
  3, 157, :_reduce_90,
  3, 157, :_reduce_91,
  3, 157, :_reduce_92,
  3, 157, :_reduce_93,
  2, 157, :_reduce_94,
  1, 157, :_reduce_none,
  1, 185, :_reduce_none,
  2, 186, :_reduce_97,
  1, 186, :_reduce_98,
  3, 186, :_reduce_99,
  1, 187, :_reduce_none,
  1, 187, :_reduce_none,
  1, 187, :_reduce_none,
  1, 187, :_reduce_103,
  1, 187, :_reduce_104,
  1, 154, :_reduce_105,
  1, 154, :_reduce_none,
  1, 155, :_reduce_107,
  3, 155, :_reduce_108,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  3, 168, :_reduce_183,
  5, 168, :_reduce_184,
  3, 168, :_reduce_185,
  6, 168, :_reduce_186,
  5, 168, :_reduce_187,
  5, 168, :_reduce_none,
  5, 168, :_reduce_none,
  5, 168, :_reduce_none,
  4, 168, :_reduce_none,
  3, 168, :_reduce_none,
  3, 168, :_reduce_193,
  3, 168, :_reduce_194,
  3, 168, :_reduce_195,
  3, 168, :_reduce_196,
  3, 168, :_reduce_197,
  3, 168, :_reduce_198,
  3, 168, :_reduce_199,
  3, 168, :_reduce_200,
  4, 168, :_reduce_201,
  4, 168, :_reduce_202,
  2, 168, :_reduce_203,
  2, 168, :_reduce_204,
  3, 168, :_reduce_205,
  3, 168, :_reduce_206,
  3, 168, :_reduce_207,
  3, 168, :_reduce_208,
  3, 168, :_reduce_209,
  3, 168, :_reduce_210,
  3, 168, :_reduce_211,
  3, 168, :_reduce_212,
  3, 168, :_reduce_213,
  3, 168, :_reduce_214,
  3, 168, :_reduce_215,
  3, 168, :_reduce_216,
  3, 168, :_reduce_217,
  2, 168, :_reduce_218,
  2, 168, :_reduce_219,
  3, 168, :_reduce_220,
  3, 168, :_reduce_221,
  3, 168, :_reduce_222,
  3, 168, :_reduce_223,
  3, 168, :_reduce_224,
  5, 168, :_reduce_225,
  1, 168, :_reduce_none,
  1, 165, :_reduce_none,
  1, 162, :_reduce_228,
  2, 162, :_reduce_229,
  2, 162, :_reduce_230,
  4, 162, :_reduce_231,
  2, 162, :_reduce_232,
  3, 197, :_reduce_233,
  2, 199, :_reduce_none,
  1, 200, :_reduce_235,
  1, 200, :_reduce_none,
  1, 198, :_reduce_237,
  1, 198, :_reduce_none,
  2, 198, :_reduce_239,
  4, 198, :_reduce_240,
  2, 198, :_reduce_241,
  1, 171, :_reduce_242,
  2, 171, :_reduce_243,
  2, 171, :_reduce_244,
  4, 171, :_reduce_245,
  1, 171, :_reduce_246,
  4, 203, :_reduce_none,
  1, 203, :_reduce_none,
  0, 205, :_reduce_249,
  2, 174, :_reduce_250,
  1, 204, :_reduce_none,
  2, 204, :_reduce_252,
  3, 204, :_reduce_253,
  2, 202, :_reduce_254,
  2, 201, :_reduce_255,
  0, 201, :_reduce_256,
  1, 194, :_reduce_257,
  2, 194, :_reduce_258,
  3, 194, :_reduce_259,
  4, 194, :_reduce_260,
  3, 164, :_reduce_261,
  4, 164, :_reduce_262,
  2, 164, :_reduce_263,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  0, 227, :_reduce_273,
  4, 192, :_reduce_274,
  4, 192, :_reduce_275,
  3, 192, :_reduce_276,
  3, 192, :_reduce_277,
  2, 192, :_reduce_278,
  4, 192, :_reduce_279,
  3, 192, :_reduce_280,
  3, 192, :_reduce_281,
  1, 192, :_reduce_282,
  4, 192, :_reduce_283,
  3, 192, :_reduce_284,
  1, 192, :_reduce_285,
  5, 192, :_reduce_286,
  4, 192, :_reduce_287,
  3, 192, :_reduce_288,
  2, 192, :_reduce_289,
  1, 192, :_reduce_none,
  2, 192, :_reduce_291,
  2, 192, :_reduce_292,
  6, 192, :_reduce_293,
  6, 192, :_reduce_294,
  0, 228, :_reduce_295,
  0, 229, :_reduce_296,
  7, 192, :_reduce_297,
  0, 230, :_reduce_298,
  0, 231, :_reduce_299,
  7, 192, :_reduce_300,
  5, 192, :_reduce_301,
  4, 192, :_reduce_302,
  5, 192, :_reduce_303,
  0, 232, :_reduce_304,
  0, 233, :_reduce_305,
  9, 192, :_reduce_306,
  0, 234, :_reduce_307,
  6, 192, :_reduce_308,
  0, 235, :_reduce_309,
  0, 236, :_reduce_310,
  8, 192, :_reduce_311,
  0, 237, :_reduce_312,
  0, 238, :_reduce_313,
  6, 192, :_reduce_314,
  0, 239, :_reduce_315,
  6, 192, :_reduce_316,
  0, 240, :_reduce_317,
  0, 241, :_reduce_318,
  9, 192, :_reduce_319,
  1, 192, :_reduce_320,
  1, 192, :_reduce_321,
  1, 192, :_reduce_322,
  1, 192, :_reduce_none,
  1, 161, :_reduce_none,
  1, 217, :_reduce_none,
  1, 217, :_reduce_none,
  1, 217, :_reduce_none,
  2, 217, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  2, 216, :_reduce_332,
  3, 242, :_reduce_333,
  2, 242, :_reduce_334,
  1, 242, :_reduce_none,
  1, 242, :_reduce_none,
  3, 243, :_reduce_337,
  3, 243, :_reduce_338,
  1, 218, :_reduce_339,
  5, 218, :_reduce_340,
  1, 151, :_reduce_none,
  2, 151, :_reduce_342,
  1, 245, :_reduce_343,
  3, 245, :_reduce_344,
  3, 246, :_reduce_345,
  1, 176, :_reduce_none,
  2, 176, :_reduce_347,
  1, 176, :_reduce_348,
  3, 176, :_reduce_349,
  1, 247, :_reduce_350,
  2, 249, :_reduce_351,
  1, 249, :_reduce_352,
  6, 244, :_reduce_353,
  4, 244, :_reduce_354,
  4, 244, :_reduce_355,
  2, 244, :_reduce_356,
  2, 244, :_reduce_357,
  4, 244, :_reduce_358,
  2, 244, :_reduce_359,
  2, 244, :_reduce_360,
  1, 244, :_reduce_361,
  0, 253, :_reduce_362,
  5, 252, :_reduce_363,
  2, 172, :_reduce_364,
  4, 172, :_reduce_none,
  4, 172, :_reduce_none,
  2, 215, :_reduce_367,
  4, 215, :_reduce_368,
  3, 215, :_reduce_369,
  4, 215, :_reduce_370,
  3, 215, :_reduce_371,
  2, 215, :_reduce_372,
  1, 215, :_reduce_373,
  0, 255, :_reduce_374,
  5, 214, :_reduce_375,
  0, 256, :_reduce_376,
  5, 214, :_reduce_377,
  0, 258, :_reduce_378,
  6, 220, :_reduce_379,
  1, 257, :_reduce_380,
  1, 257, :_reduce_none,
  6, 150, :_reduce_382,
  0, 150, :_reduce_383,
  1, 259, :_reduce_384,
  1, 259, :_reduce_none,
  1, 259, :_reduce_none,
  2, 260, :_reduce_387,
  1, 260, :_reduce_388,
  2, 152, :_reduce_389,
  1, 152, :_reduce_none,
  1, 206, :_reduce_none,
  1, 206, :_reduce_none,
  1, 206, :_reduce_none,
  1, 207, :_reduce_394,
  1, 263, :_reduce_none,
  2, 263, :_reduce_396,
  3, 264, :_reduce_397,
  1, 264, :_reduce_398,
  3, 208, :_reduce_399,
  3, 209, :_reduce_400,
  3, 210, :_reduce_401,
  3, 210, :_reduce_402,
  1, 267, :_reduce_403,
  3, 267, :_reduce_404,
  1, 268, :_reduce_405,
  2, 268, :_reduce_406,
  3, 211, :_reduce_407,
  3, 211, :_reduce_408,
  1, 270, :_reduce_409,
  3, 270, :_reduce_410,
  1, 265, :_reduce_411,
  2, 265, :_reduce_412,
  1, 266, :_reduce_413,
  2, 266, :_reduce_414,
  1, 269, :_reduce_415,
  0, 272, :_reduce_416,
  3, 269, :_reduce_417,
  0, 273, :_reduce_418,
  4, 269, :_reduce_419,
  1, 271, :_reduce_420,
  1, 271, :_reduce_421,
  1, 271, :_reduce_422,
  1, 271, :_reduce_none,
  2, 190, :_reduce_424,
  1, 190, :_reduce_425,
  1, 274, :_reduce_none,
  1, 274, :_reduce_none,
  1, 274, :_reduce_none,
  1, 274, :_reduce_none,
  3, 262, :_reduce_430,
  1, 261, :_reduce_431,
  1, 261, :_reduce_432,
  2, 261, :_reduce_433,
  2, 261, :_reduce_434,
  2, 261, :_reduce_435,
  2, 261, :_reduce_436,
  1, 184, :_reduce_437,
  1, 184, :_reduce_438,
  1, 184, :_reduce_439,
  1, 184, :_reduce_440,
  1, 184, :_reduce_441,
  1, 184, :_reduce_442,
  1, 184, :_reduce_443,
  1, 184, :_reduce_444,
  1, 184, :_reduce_445,
  1, 184, :_reduce_446,
  1, 184, :_reduce_447,
  1, 212, :_reduce_448,
  1, 160, :_reduce_449,
  1, 163, :_reduce_450,
  1, 163, :_reduce_none,
  1, 222, :_reduce_452,
  3, 222, :_reduce_453,
  2, 222, :_reduce_454,
  4, 224, :_reduce_455,
  2, 224, :_reduce_456,
  1, 276, :_reduce_none,
  1, 276, :_reduce_none,
  2, 277, :_reduce_459,
  1, 277, :_reduce_460,
  1, 278, :_reduce_461,
  2, 279, :_reduce_462,
  1, 279, :_reduce_463,
  1, 280, :_reduce_464,
  3, 280, :_reduce_465,
  4, 281, :_reduce_466,
  2, 281, :_reduce_467,
  2, 281, :_reduce_468,
  1, 281, :_reduce_469,
  2, 283, :_reduce_470,
  0, 283, :_reduce_471,
  6, 275, :_reduce_472,
  4, 275, :_reduce_473,
  4, 275, :_reduce_474,
  2, 275, :_reduce_475,
  4, 275, :_reduce_476,
  2, 275, :_reduce_477,
  2, 275, :_reduce_478,
  1, 275, :_reduce_479,
  0, 275, :_reduce_480,
  1, 285, :_reduce_none,
  1, 285, :_reduce_482,
  1, 286, :_reduce_483,
  1, 286, :_reduce_484,
  1, 286, :_reduce_485,
  1, 286, :_reduce_486,
  1, 287, :_reduce_487,
  3, 287, :_reduce_488,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 289, :_reduce_491,
  3, 289, :_reduce_none,
  1, 290, :_reduce_493,
  3, 290, :_reduce_494,
  1, 288, :_reduce_none,
  4, 288, :_reduce_none,
  3, 288, :_reduce_none,
  2, 288, :_reduce_none,
  1, 288, :_reduce_none,
  1, 250, :_reduce_500,
  3, 250, :_reduce_501,
  3, 291, :_reduce_502,
  1, 284, :_reduce_503,
  3, 284, :_reduce_504,
  1, 292, :_reduce_none,
  1, 292, :_reduce_none,
  2, 251, :_reduce_507,
  1, 251, :_reduce_508,
  1, 293, :_reduce_none,
  1, 293, :_reduce_none,
  2, 248, :_reduce_511,
  2, 282, :_reduce_512,
  0, 282, :_reduce_513,
  1, 225, :_reduce_514,
  4, 225, :_reduce_515,
  0, 213, :_reduce_516,
  2, 213, :_reduce_517,
  1, 196, :_reduce_518,
  3, 196, :_reduce_519,
  3, 294, :_reduce_520,
  2, 294, :_reduce_521,
  1, 177, :_reduce_none,
  1, 177, :_reduce_none,
  1, 177, :_reduce_none,
  1, 173, :_reduce_none,
  1, 173, :_reduce_none,
  1, 173, :_reduce_none,
  1, 173, :_reduce_none,
  1, 254, :_reduce_none,
  1, 254, :_reduce_none,
  1, 254, :_reduce_none,
  1, 226, :_reduce_none,
  1, 226, :_reduce_none,
  0, 144, :_reduce_none,
  1, 144, :_reduce_none,
  0, 191, :_reduce_none,
  1, 191, :_reduce_none,
  0, 195, :_reduce_none,
  1, 195, :_reduce_none,
  1, 195, :_reduce_none,
  1, 223, :_reduce_none,
  1, 223, :_reduce_none,
  1, 146, :_reduce_none,
  2, 146, :_reduce_none,
  0, 193, :_reduce_545 ]

racc_reduce_n = 546

racc_shift_n = 941

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,
  :tDOT => 78,
  :tDOT2 => 79,
  :tDOT3 => 80,
  :tAREF => 81,
  :tASET => 82,
  :tLSHFT => 83,
  :tRSHFT => 84,
  :tCOLON2 => 85,
  :tCOLON3 => 86,
  :tOP_ASGN => 87,
  :tASSOC => 88,
  :tLPAREN => 89,
  :tLPAREN2 => 90,
  :tRPAREN => 91,
  :tLPAREN_ARG => 92,
  :ARRAY_BEG => 93,
  :tRBRACK => 94,
  :tLBRACE => 95,
  :tLBRACE_ARG => 96,
  :tSTAR => 97,
  :tSTAR2 => 98,
  :tAMPER => 99,
  :tAMPER2 => 100,
  :tTILDE => 101,
  :tPERCENT => 102,
  :tDIVIDE => 103,
  :tPLUS => 104,
  :tMINUS => 105,
  :tLT => 106,
  :tGT => 107,
  :tPIPE => 108,
  :tBANG => 109,
  :tCARET => 110,
  :tLCURLY => 111,
  :tRCURLY => 112,
  :tBACK_REF2 => 113,
  :tSYMBEG => 114,
  :tSTRING_BEG => 115,
  :tXSTRING_BEG => 116,
  :tREGEXP_BEG => 117,
  :tWORDS_BEG => 118,
  :tAWORDS_BEG => 119,
  :tSTRING_DBEG => 120,
  :tSTRING_DVAR => 121,
  :tSTRING_END => 122,
  :tSTRING => 123,
  :tSYMBOL => 124,
  :tNL => 125,
  :tEH => 126,
  :tCOLON => 127,
  :tCOMMA => 128,
  :tSPACE => 129,
  :tSEMI => 130,
  :tLAMBDA => 131,
  :tLAMBEG => 132,
  :tLBRACK2 => 133,
  :tLBRACK => 134,
  :tDSTAR => 135,
  :tEQL => 136,
  :tLOWEST => 137,
  "-@NUM" => 138,
  "+@NUM" => 139 }

racc_nt_base = 140

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",
  "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",
  "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

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

def _reduce_3(val, _values, result)
                      result = new_block
                    
    result
end

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

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

# reduce 6 omitted

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

def _reduce_8(val, _values, result)
                      result = new_body(val[0], val[1], val[2], val[3])
                    
    result
end

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

def _reduce_10(val, _values, result)
                      result = new_block
                    
    result
end

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

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

def _reduce_13(val, _values, result)
                      lexer.lex_state = :expr_fname
                    
    result
end

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

def _reduce_15(val, _values, result)
                      result = s(:valias, value(val[1]).to_sym, value(val[2]).to_sym)
                    
    result
end

# reduce 16 omitted

def _reduce_17(val, _values, result)
                      result = s(:valias, value(val[1]).to_sym, value(val[2]).to_sym)
                    
    result
end

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

def _reduce_19(val, _values, result)
                      result = new_if(val[1], val[2], val[0], nil)
                    
    result
end

def _reduce_20(val, _values, result)
                      result = new_if(val[1], val[2], nil, val[0])
                    
    result
end

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

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

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

# reduce 24 omitted

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

def _reduce_26(val, _values, result)
                      result = s(:masgn, val[0], s(:to_ary, val[2]))
                    
    result
end

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

# reduce 28 omitted

def _reduce_29(val, _values, result)
                      result = s(:op_asgn2, val[0], op_to_setter(val[2]), value(val[3]).to_sym, val[4])
                    
    result
end

# reduce 30 omitted

# reduce 31 omitted

# reduce 32 omitted

def _reduce_33(val, _values, result)
                      result = new_assign val[0], val[1], s(:svalue, val[2])
                    
    result
end

def _reduce_34(val, _values, result)
                      result = s(:masgn, val[0], s(:to_ary, val[2]))
                    
    result
end

def _reduce_35(val, _values, result)
                      result = s(:masgn, val[0], val[2])
                    
    result
end

# reduce 36 omitted

# reduce 37 omitted

def _reduce_38(val, _values, result)
                      result = s(:and, val[0], val[2])
                    
    result
end

def _reduce_39(val, _values, result)
                      result = s(:or, val[0], val[2])
                    
    result
end

def _reduce_40(val, _values, result)
                      result = new_unary_call(['!', []], val[1])
                    
    result
end

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

# reduce 42 omitted

# reduce 43 omitted

# reduce 44 omitted

# reduce 45 omitted

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

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

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

# reduce 49 omitted

# reduce 50 omitted

# reduce 51 omitted

# reduce 52 omitted

def _reduce_53(val, _values, result)
                      result = new_call(nil, val[0], val[1])
                    
    result
end

# reduce 54 omitted

def _reduce_55(val, _values, result)
                      result = new_call(val[0], val[2], val[3])
                    
    result
end

# reduce 56 omitted

def _reduce_57(val, _values, result)
                    result = new_call(val[0], val[2], val[3])
                  
    result
end

# reduce 58 omitted

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

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

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

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

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

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

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

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

def _reduce_67(val, _values, result)
                      result = val[0] << s(:splat, val[2])
                    
    result
end

# reduce 68 omitted

def _reduce_69(val, _values, result)
                      result = val[0] << s(:splat)
                    
    result
end

# reduce 70 omitted

def _reduce_71(val, _values, result)
                      result = s(:array, s(:splat, val[1]))
                    
    result
end

def _reduce_72(val, _values, result)
                      result = s(:array, s(:splat))
                    
    result
end

# reduce 73 omitted

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

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

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

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

# reduce 78 omitted

# reduce 79 omitted

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

def _reduce_81(val, _values, result)
                      args = val[2] ? val[2] : []
                      result = s(:attrasgn, val[0], :[]=, s(:arglist, *args))
                    
    result
end

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

# reduce 83 omitted

# reduce 84 omitted

# reduce 85 omitted

# reduce 86 omitted

# reduce 87 omitted

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

def _reduce_89(val, _values, result)
                      result = new_attrasgn(val[0], :[]=, val[2])
                    
    result
end

def _reduce_90(val, _values, result)
                      result = new_attrasgn(val[0], op_to_setter(val[2]))
                    
    result
end

def _reduce_91(val, _values, result)
                      result = new_attrasgn(val[0], op_to_setter(val[2]))
                    
    result
end

def _reduce_92(val, _values, result)
                      result = new_attrasgn(val[0], op_to_setter(val[2]))
                    
    result
end

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

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

# reduce 95 omitted

# reduce 96 omitted

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

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

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

# reduce 100 omitted

# reduce 101 omitted

# reduce 102 omitted

def _reduce_103(val, _values, result)
                      lexer.lex_state = :expr_end
                      result = val[0]
                    
    result
end

def _reduce_104(val, _values, result)
                      lexer.lex_state = :expr_end
                      result = val[0]
                    
    result
end

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

# reduce 106 omitted

def _reduce_107(val, _values, result)
                      result = s(:undef, val[0])
                    
    result
end

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

# reduce 109 omitted

# reduce 110 omitted

# reduce 111 omitted

# reduce 112 omitted

# reduce 113 omitted

# reduce 114 omitted

# reduce 115 omitted

# reduce 116 omitted

# reduce 117 omitted

# reduce 118 omitted

# reduce 119 omitted

# reduce 120 omitted

# reduce 121 omitted

# reduce 122 omitted

# reduce 123 omitted

# reduce 124 omitted

# reduce 125 omitted

# reduce 126 omitted

# reduce 127 omitted

# reduce 128 omitted

# reduce 129 omitted

# reduce 130 omitted

# reduce 131 omitted

# reduce 132 omitted

# reduce 133 omitted

# reduce 134 omitted

# reduce 135 omitted

# reduce 136 omitted

# reduce 137 omitted

# reduce 138 omitted

# reduce 139 omitted

# reduce 140 omitted

# reduce 141 omitted

# reduce 142 omitted

# reduce 143 omitted

# reduce 144 omitted

# reduce 145 omitted

# reduce 146 omitted

# reduce 147 omitted

# reduce 148 omitted

# reduce 149 omitted

# reduce 150 omitted

# reduce 151 omitted

# reduce 152 omitted

# reduce 153 omitted

# reduce 154 omitted

# reduce 155 omitted

# reduce 156 omitted

# reduce 157 omitted

# reduce 158 omitted

# reduce 159 omitted

# reduce 160 omitted

# reduce 161 omitted

# reduce 162 omitted

# reduce 163 omitted

# reduce 164 omitted

# reduce 165 omitted

# reduce 166 omitted

# reduce 167 omitted

# reduce 168 omitted

# reduce 169 omitted

# reduce 170 omitted

# reduce 171 omitted

# reduce 172 omitted

# reduce 173 omitted

# reduce 174 omitted

# reduce 175 omitted

# reduce 176 omitted

# reduce 177 omitted

# reduce 178 omitted

# reduce 179 omitted

# reduce 180 omitted

# reduce 181 omitted

# reduce 182 omitted

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

def _reduce_184(val, _values, result)
                      result = new_assign val[0], val[1], s(:rescue_mod, val[2], val[4])
                    
    result
end

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

def _reduce_186(val, _values, result)
                      result = new_op_asgn1(val[0], val[2], val[4], val[5])
                    
    result
end

def _reduce_187(val, _values, result)
                      result = s(:op_asgn2, val[0], op_to_setter(val[2]), value(val[3]).to_sym, val[4])
                    
    result
end

# reduce 188 omitted

# reduce 189 omitted

# reduce 190 omitted

# reduce 191 omitted

# reduce 192 omitted

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

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

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

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

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

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

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

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

def _reduce_201(val, _values, result)
                      result = new_call new_binary_call(new_int(val[1]), val[2], val[3]), [:"-@", []], []
                    
    result
end

def _reduce_202(val, _values, result)
                      result = new_call new_binary_call(new_float(val[1]), val[2], val[3]), [:"-@", []], []
                    
    result
end

def _reduce_203(val, _values, result)
                      result = new_call val[1], [:"+@", []], []
                      if [:int, :float].include? val[1].type
                        result = val[1]
                      end
                    
    result
end

def _reduce_204(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

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

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

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

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

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

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

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

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

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

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

def _reduce_215(val, _values, result)
                      result = new_unary_call(['!', []], new_binary_call(
                                 val[0], ['==', []], val[2]))
                    
    result
end

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

def _reduce_217(val, _values, result)
                      result = new_not(val[1], new_binary_call(
                                 val[0], ['=~', []], val[2]))
                    
    result
end

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

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

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

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

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

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

def _reduce_224(val, _values, result)
                      result = s(:defined, val[2])
                    
    result
end

def _reduce_225(val, _values, result)
                      result = new_if(val[1], val[0], val[2], val[4])
                    
    result
end

# reduce 226 omitted

# reduce 227 omitted

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

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

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

def _reduce_231(val, _values, result)
                      val[0] << s(:hash, *val[2])
                      result = val[0]
                    
    result
end

def _reduce_232(val, _values, result)
                      result = [s(:hash, *val[0])]
                    
    result
end

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

# reduce 234 omitted

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

# reduce 236 omitted

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

# reduce 238 omitted

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

def _reduce_240(val, _values, result)
                      result = val[0]
                      result << new_hash(nil, val[2], nil)
                    
    result
end

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

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

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

def _reduce_244(val, _values, result)
                      result = [new_hash(nil, val[0], nil)]
                      add_block_pass result, val[1]
                    
    result
end

def _reduce_245(val, _values, result)
                      result = val[0]
                      result << new_hash(nil, val[2], nil)
                    
    result
end

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

# reduce 247 omitted

# reduce 248 omitted

def _reduce_249(val, _values, result)
                      lexer.cmdarg_push 1
                    
    result
end

def _reduce_250(val, _values, result)
                      lexer.cmdarg_pop
                      result = val[1]
                    
    result
end

# reduce 251 omitted

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

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

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

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

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

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

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

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

def _reduce_260(val, _values, result)
                      result  = val[0] << new_splat(val[2], val[3])
                    
    result
end

def _reduce_261(val, _values, result)
                      val[0] << val[2]
                      result = s(:array, *val[0])
                    
    result
end

def _reduce_262(val, _values, result)
                      val[0] << s(:splat, val[3])
                      result = s(:array, *val[0])
                    
    result
end

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

# reduce 264 omitted

# reduce 265 omitted

# reduce 266 omitted

# reduce 267 omitted

# reduce 268 omitted

# reduce 269 omitted

# reduce 270 omitted

# reduce 271 omitted

# reduce 272 omitted

def _reduce_273(val, _values, result)
                      result = lexer.line
                    
    result
end

def _reduce_274(val, _values, result)
                      result = s(:begin, val[2])
                    
    result
end

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

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

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

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

def _reduce_279(val, _values, result)
                      result = new_call val[0], [:[], []], val[2]
                    
    result
end

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

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

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

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

def _reduce_284(val, _values, result)
                      result = s(:yield)
                    
    result
end

def _reduce_285(val, _values, result)
                      result = s(:yield)
                    
    result
end

def _reduce_286(val, _values, result)
                      result = s(:defined, val[3])
                    
    result
end

def _reduce_287(val, _values, result)
                      result = new_unary_call(['!', []], val[2])
                    
    result
end

def _reduce_288(val, _values, result)
                      result = new_unary_call(['!', []], new_nil(val[0]))
                    
    result
end

def _reduce_289(val, _values, result)
                      result = new_call(nil, val[0], [])
                      result << val[1]
                    
    result
end

# reduce 290 omitted

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

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

def _reduce_293(val, _values, result)
                      result = new_if(val[0], val[1], val[3], val[4])
                    
    result
end

def _reduce_294(val, _values, result)
                      result = new_if(val[0], val[1], val[4], val[3])
                    
    result
end

def _reduce_295(val, _values, result)
                      lexer.cond_push 1
                      result = lexer.line
                    
    result
end

def _reduce_296(val, _values, result)
                      lexer.cond_pop
                    
    result
end

def _reduce_297(val, _values, result)
                      result = s(:while, val[2], val[5])
                    
    result
end

def _reduce_298(val, _values, result)
                      lexer.cond_push 1
                      result = lexer.line
                    
    result
end

def _reduce_299(val, _values, result)
                      lexer.cond_pop
                    
    result
end

def _reduce_300(val, _values, result)
                      result = s(:until, val[2], val[5])
                    
    result
end

def _reduce_301(val, _values, result)
                      result = s(:case, val[1], *val[3])
                    
    result
end

def _reduce_302(val, _values, result)
                      result = s(:case, nil, *val[2])
                    
    result
end

def _reduce_303(val, _values, result)
                      result = s(:case, nil, val[3])
                    
    result
end

def _reduce_304(val, _values, result)
                      lexer.cond_push 1
                      result = lexer.line
                    
    result
end

def _reduce_305(val, _values, result)
                      lexer.cond_pop
                    
    result
end

def _reduce_306(val, _values, result)
                      result = s(:for, val[4], val[1], val[7])
                    
    result
end

def _reduce_307(val, _values, result)
                      # ...
                    
    result
end

def _reduce_308(val, _values, result)
                      result = new_class val[0], val[1], val[2], val[4], val[5]
                    
    result
end

def _reduce_309(val, _values, result)
                      result = lexer.line
                    
    result
end

def _reduce_310(val, _values, result)
                      # ...
                    
    result
end

def _reduce_311(val, _values, result)
                      result = new_sclass(val[0], val[3], val[6], val[7])
                    
    result
end

def _reduce_312(val, _values, result)
                      result = lexer.line
                    
    result
end

def _reduce_313(val, _values, result)
                      # ...
                    
    result
end

def _reduce_314(val, _values, result)
                      result = new_module(val[0], val[2], val[4], val[5])
                    
    result
end

def _reduce_315(val, _values, result)
                      push_scope
                      lexer.lex_state = :expr_endfn
                    
    result
end

def _reduce_316(val, _values, result)
                      result = new_def(val[0], nil, val[1], val[3], val[4], val[5])
                      pop_scope
                    
    result
end

def _reduce_317(val, _values, result)
                       lexer.lex_state = :expr_fname
                    
    result
end

def _reduce_318(val, _values, result)
                      push_scope
                      lexer.lex_state = :expr_endfn
                    
    result
end

def _reduce_319(val, _values, result)
                      result = new_def(val[0], val[1], val[4], val[6], val[7], val[8])
                      pop_scope
                    
    result
end

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

def _reduce_321(val, _values, result)
                      result = s(:next)
                    
    result
end

def _reduce_322(val, _values, result)
                      result = s(:redo)
                    
    result
end

# reduce 323 omitted

# reduce 324 omitted

# reduce 325 omitted

# reduce 326 omitted

# reduce 327 omitted

# reduce 328 omitted

# reduce 329 omitted

# reduce 330 omitted

# reduce 331 omitted

def _reduce_332(val, _values, result)
                      result = new_call nil, [:lambda, []], []
                      result << new_iter(val[0], val[1])
                    
    result
end

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

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

# reduce 335 omitted

# reduce 336 omitted

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

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

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

def _reduce_340(val, _values, result)
                      result = new_if(val[0], val[1], val[3], val[4])
                    
    result
end

# reduce 341 omitted

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

def _reduce_343(val, _values, result)
                      result = s(:block, val[0])
                    
    result
end

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

def _reduce_345(val, _values, result)
                      result = new_assign(new_assignable(new_ident(
                                  val[0])), val[1], val[2])
                    
    result
end

# reduce 346 omitted

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

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

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

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

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

def _reduce_352(val, _values, result)
                      nil
                    
    result
end

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

def _reduce_354(val, _values, result)
                      result = new_block_args(val[0], val[2], nil, val[3])
                    
    result
end

def _reduce_355(val, _values, result)
                      result = new_block_args(val[0], nil, val[2], val[3])
                    
    result
end

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

def _reduce_357(val, _values, result)
                      result = new_block_args(val[0], nil, nil, val[1])
                    
    result
end

def _reduce_358(val, _values, result)
                      result = new_block_args(nil, val[0], val[2], val[3])
                    
    result
end

def _reduce_359(val, _values, result)
                      result = new_block_args(nil, val[0], nil, val[1])
                    
    result
end

def _reduce_360(val, _values, result)
                      result = new_block_args(nil, nil, val[0], val[1])
                    
    result
end

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

def _reduce_362(val, _values, result)
                      push_scope :block
                      result = lexer.line
                    
    result
end

def _reduce_363(val, _values, result)
                      result = new_iter val[2], val[3]
                      pop_scope
                    
    result
end

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

# reduce 365 omitted

# reduce 366 omitted

def _reduce_367(val, _values, result)
                      result = new_call(nil, val[0], val[1])
                    
    result
end

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

def _reduce_369(val, _values, result)
                      result = new_call(val[0], [:call, []], val[2])
                    
    result
end

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

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

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

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

def _reduce_374(val, _values, result)
                      push_scope :block
                      result = lexer.line
                    
    result
end

def _reduce_375(val, _values, result)
                      result = new_iter val[2], val[3]
                      pop_scope
                    
    result
end

def _reduce_376(val, _values, result)
                      push_scope :block
                      result = lexer.line
                    
    result
end

def _reduce_377(val, _values, result)
                      result = new_iter val[2], val[3]
                      pop_scope
                    
    result
end

def _reduce_378(val, _values, result)
                      result = lexer.line
                    
    result
end

def _reduce_379(val, _values, result)
                      part = s(:when, s(:array, *val[2]), val[4])
                      result = [part]
                      result.push(*val[5]) if val[5]
                    
    result
end

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

# reduce 381 omitted

def _reduce_382(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

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

def _reduce_384(val, _values, result)
                      result = s(:array, val[0])
                    
    result
end

# reduce 385 omitted

# reduce 386 omitted

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

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

def _reduce_389(val, _values, result)
                      result = val[1].nil? ? s(:nil) : val[1]
                    
    result
end

# reduce 390 omitted

# reduce 391 omitted

# reduce 392 omitted

# reduce 393 omitted

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

# reduce 395 omitted

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

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

def _reduce_398(val, _values, result)
                      result = s(:str, value(val[0]))
                    
    result
end

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

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

def _reduce_401(val, _values, result)
                      result = s(:array)
                    
    result
end

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

def _reduce_403(val, _values, result)
                      result = s(:array)
                    
    result
end

def _reduce_404(val, _values, result)
                      part = val[1]
                      part = s(:dstr, "", val[1]) if part.type == :evstr
                      result = val[0] << part
                    
    result
end

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

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

def _reduce_407(val, _values, result)
                      result = s(:array)
                    
    result
end

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

def _reduce_409(val, _values, result)
                      result = s(:array)
                    
    result
end

def _reduce_410(val, _values, result)
                      result = val[0] << s(:str, value(val[1]))
                    
    result
end

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

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

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

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

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

def _reduce_416(val, _values, result)
                      result = lexer.strterm
                      lexer.strterm = nil
                    
    result
end

def _reduce_417(val, _values, result)
                      lexer.strterm = val[1]
                      result = new_evstr(val[2])
                    
    result
end

def _reduce_418(val, _values, result)
                      lexer.cond_push 0
                      lexer.cmdarg_push 0
                      result = lexer.strterm
                      lexer.strterm = nil
                      lexer.lex_state = :expr_beg
                    
    result
end

def _reduce_419(val, _values, result)
                      lexer.strterm = val[1]
                      lexer.cond_lexpop
                      lexer.cmdarg_lexpop
                      result = new_evstr(val[2])
                    
    result
end

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

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

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

# reduce 423 omitted

def _reduce_424(val, _values, result)
                      result = new_sym(val[1])
                      lexer.lex_state = :expr_end
                    
    result
end

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

# reduce 426 omitted

# reduce 427 omitted

# reduce 428 omitted

# reduce 429 omitted

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

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

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

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

def _reduce_434(val, _values, result)
                    result = negate_num(new_float(val[1]))
                  
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

def _reduce_450(val, _values, result)
                      result = s(:nth_ref, value(val[0]))
                    
    result
end

# reduce 451 omitted

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

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

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

def _reduce_455(val, _values, result)
                      result = val[1]
                      lexer.lex_state = :expr_beg
                    
    result
end

def _reduce_456(val, _values, result)
                      result = val[0]
                      lexer.lex_state = :expr_beg
                    
    result
end

# reduce 457 omitted

# reduce 458 omitted

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

def _reduce_460(val, _values, result)
                      result = new_kwrestarg()
                    
    result
end

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

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

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

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

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

def _reduce_466(val, _values, result)
                      result = new_args_tail(val[0], val[2], val[3])
                    
    result
end

def _reduce_467(val, _values, result)
                      result = new_args_tail(val[0], nil, val[1])
                    
    result
end

def _reduce_468(val, _values, result)
                      result = new_args_tail(nil, val[0], val[1])
                    
    result
end

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

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

def _reduce_471(val, _values, result)
                      result = new_args_tail(nil, nil, nil)
                    
    result
end

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

def _reduce_473(val, _values, result)
                      result = new_args(val[0], val[2], nil, val[3])
                    
    result
end

def _reduce_474(val, _values, result)
                      result = new_args(val[0], nil, val[2], val[3])
                    
    result
end

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

def _reduce_476(val, _values, result)
                      result = new_args(nil, val[0], val[2], val[3])
                    
    result
end

def _reduce_477(val, _values, result)
                      result = new_args(nil, val[0], nil, val[1])
                    
    result
end

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

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

def _reduce_480(val, _values, result)
                      result = new_args(nil, nil, nil, nil)
                    
    result
end

# reduce 481 omitted

def _reduce_482(val, _values, result)
                      result = value(val[0]).to_sym
                      scope.add_local result
                    
    result
end

def _reduce_483(val, _values, result)
                      raise 'formal argument cannot be a constant'
                    
    result
end

def _reduce_484(val, _values, result)
                      raise 'formal argument cannot be an instance variable'
                    
    result
end

def _reduce_485(val, _values, result)
                      raise 'formal argument cannot be a class variable'
                    
    result
end

def _reduce_486(val, _values, result)
                      raise 'formal argument cannot be a global variable'
                    
    result
end

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

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

# reduce 489 omitted

# reduce 490 omitted

def _reduce_491(val, _values, result)
                      result = s(:lasgn, val[0])
                    
    result
end

# reduce 492 omitted

def _reduce_493(val, _values, result)
                      result = s(:array, val[0])
                    
    result
end

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

# reduce 495 omitted

# reduce 496 omitted

# reduce 497 omitted

# reduce 498 omitted

# reduce 499 omitted

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

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

def _reduce_502(val, _values, result)
                      result = new_assign(new_assignable(new_ident(val[0])), val[1], val[2])
                    
    result
end

def _reduce_503(val, _values, result)
                      result = s(:block, val[0])
                    
    result
end

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

# reduce 505 omitted

# reduce 506 omitted

def _reduce_507(val, _values, result)
                      result = "*#{value(val[1])}".to_sym
                    
    result
end

def _reduce_508(val, _values, result)
                      result = :"*"
                    
    result
end

# reduce 509 omitted

# reduce 510 omitted

def _reduce_511(val, _values, result)
                      result = "&#{value(val[1])}".to_sym
                    
    result
end

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

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

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

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

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

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

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

def _reduce_519(val, _values, result)
                      result = val[0].push(*val[2])
                    
    result
end

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

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

# reduce 522 omitted

# reduce 523 omitted

# reduce 524 omitted

# reduce 525 omitted

# reduce 526 omitted

# reduce 527 omitted

# reduce 528 omitted

# reduce 529 omitted

# reduce 530 omitted

# 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

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

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

  end   # class Parser
  end   # module Opal
