#
# 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,-99,-95,-94,57,58,274,206,207,61,624,59,60,62,23,24,66',
'67,612,794,206,207,228,22,28,27,91,90,92,93,658,269,17,612,274,310,658',
'617,7,41,6,9,95,94,-92,85,50,87,86,88,73,89,96,97,535,81,82,83,74,38',
'39,102,269,-97,657,602,101,206,207,-95,657,-455,557,-462,623,-95,-99',
'816,-455,814,614,613,36,-97,580,30,612,-100,52,776,269,54,580,32,273',
'614,613,40,102,-85,580,269,-92,101,-99,18,-96,580,-86,-85,79,73,75,76',
'77,78,-99,-98,-99,74,80,-99,273,-92,63,64,65,56,51,-100,53,658,57,58',
'490,37,84,61,536,59,60,62,259,260,66,67,346,345,614,613,610,258,292',
'296,91,90,92,93,310,-92,220,-92,228,549,-92,657,551,41,-85,-88,95,94',
'601,85,50,87,86,88,556,89,96,97,-90,81,82,83,-538,38,39,102,-95,102',
'-95,-91,101,-95,101,-539,-97,102,-97,579,580,-97,101,-85,-94,102,-84',
'579,211,228,101,215,-85,102,52,579,-90,54,101,-96,102,-96,579,40,-96',
'101,-84,732,612,-91,-98,219,-98,228,535,-98,79,73,75,76,77,78,-100,-86',
'-100,74,80,-100,-96,732,63,64,65,56,51,-98,53,-89,57,58,274,37,84,61',
'537,59,60,62,259,260,66,67,206,207,658,-90,819,258,292,296,91,90,92',
'93,-99,-90,220,783,457,102,614,613,615,293,101,-84,95,94,-91,85,50,87',
'86,363,735,89,96,97,657,81,82,83,-86,206,207,102,-538,579,906,-94,101',
'-94,-90,-539,-94,-539,-89,269,102,654,731,-90,-84,101,-87,-91,364,-93',
'-100,215,-68,-84,52,813,-91,54,-88,732,273,-86,102,883,731,-458,-87',
'101,612,102,-86,825,-458,-89,101,-89,79,73,75,76,77,78,102,826,-89,74',
'80,101,-462,-79,-540,-540,-540,56,-540,102,53,563,-540,-540,101,297',
'84,-540,612,-540,-540,-540,-540,-540,-540,-540,760,-94,-538,-87,310',
'-540,-540,-540,-540,-540,-540,-540,757,566,-540,-88,635,-84,614,613',
'619,-540,782,587,-540,-540,-92,-540,-540,-540,-540,-540,-540,-540,-540',
'-540,829,-540,-540,-540,-87,-540,-540,265,266,346,345,830,102,-87,731',
'267,-88,101,614,613,625,-86,-453,760,566,-88,-450,-85,-540,-453,-95',
'-540,-540,-450,-540,757,-94,-540,833,-540,607,-540,882,-540,538,921',
'758,608,-460,549,760,-540,548,699,795,-460,-540,-540,-540,-540,-540',
'-540,757,819,549,-540,-540,551,346,345,-541,-541,-541,-540,-541,842',
'-540,-457,-541,-541,843,-540,-540,-541,-457,-541,-541,-541,-541,-541',
'-541,-541,-93,343,342,346,345,-541,-541,-541,-541,-541,-541,-541,-97',
'758,-541,-459,-456,549,216,630,551,-541,-459,-456,-541,-541,845,-541',
'-541,-541,-541,-541,-541,-541,-541,-541,727,-541,-541,-541,758,-541',
'-541,492,228,232,237,238,239,234,236,244,245,240,241,-285,-285,221,222',
'724,415,242,243,-285,-541,417,416,-541,-541,586,-541,587,819,-541,587',
'-541,225,-541,231,-541,227,226,223,224,235,233,229,-541,230,722,527',
'598,-541,-541,-541,-541,-541,-541,828,846,205,-541,-541,459,246,778',
'63,64,65,-541,51,-285,-541,-285,57,58,-538,-541,-541,61,848,59,60,62',
'259,260,66,67,714,-536,636,838,819,258,28,27,91,90,92,93,458,-91,220',
'302,303,304,597,494,526,41,-100,228,95,94,712,85,50,87,86,88,262,89',
'96,97,456,81,82,83,228,38,39,-88,838,819,228,310,343,342,346,345,-97',
'872,873,-453,-453,874,96,97,530,531,532,-453,211,206,207,215,-536,278',
'52,856,225,54,809,257,227,226,225,40,858,921,227,226,223,224,760,219',
'861,-536,206,207,79,73,75,76,77,78,757,346,345,74,80,402,403,404,63',
'64,65,56,51,-453,53,-453,57,58,862,37,84,61,864,59,60,62,259,260,66',
'67,866,343,342,346,345,258,28,27,91,90,92,93,868,568,220,338,336,335',
'808,337,870,41,-265,708,95,94,707,85,50,87,86,88,262,89,96,97,-266,81',
'82,83,758,38,39,706,228,232,237,238,239,234,236,244,245,240,241,-287',
'-287,221,222,552,553,242,243,-287,211,528,494,215,699,542,52,418,560',
'54,500,257,225,689,231,40,227,226,223,224,235,233,229,219,230,563,204',
'452,79,73,75,76,77,78,453,687,884,74,80,885,246,655,63,64,65,56,51,-287',
'53,-287,57,58,886,37,84,61,887,59,60,62,259,260,66,67,104,105,106,107',
'108,258,292,296,91,90,92,93,405,568,220,338,336,335,455,337,454,41,889',
'890,95,94,699,85,50,87,86,88,-79,89,96,97,892,81,82,83,806,38,39,-264',
'228,232,237,238,239,234,236,244,245,240,241,527,539,221,222,896,686',
'242,243,540,211,564,500,215,901,684,52,903,393,54,390,566,225,676,231',
'40,227,226,223,224,235,233,229,219,230,675,204,202,79,73,75,76,77,78',
'203,310,909,74,80,911,246,912,63,64,65,56,51,455,53,454,57,58,310,37',
'84,61,575,59,60,62,259,260,66,67,104,105,106,107,108,258,28,27,91,90',
'92,93,494,576,220,492,500,500,200,630,201,41,925,-267,95,94,228,85,50',
'87,86,88,262,89,96,97,228,81,82,83,228,38,39,269,228,232,237,238,239',
'234,236,244,245,240,241,527,952,221,222,407,927,242,243,953,211,592',
'-67,215,301,-539,52,566,593,54,937,257,225,938,231,40,227,226,223,224',
'235,233,229,219,230,300,594,269,79,73,75,76,77,78,943,861,945,74,80',
'866,246,866,-234,868,714,56,634,951,53,591,247,633,519,37,84,63,64,65',
'8,51,-264,954,632,57,58,629,798,199,61,960,59,60,62,23,24,66,67,104',
'105,106,107,108,22,28,27,91,90,92,93,626,198,17,343,342,346,345,706',
'7,41,197,9,95,94,622,85,50,87,86,88,618,89,96,97,196,81,82,83,797,38',
'39,970,228,232,237,238,239,234,236,244,245,240,241,-332,-332,221,222',
'866,972,242,243,-332,36,973,109,30,517,518,52,228,98,54,310,32,225,',
'231,40,227,226,223,224,235,233,229,18,230,,,,79,73,75,76,77,78,,,,74',
'80,225,246,,-234,227,226,56,,-332,53,-332,,,,37,84,63,64,65,8,51,,,',
'57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,91,90,92,93,,,17,,,',
',,7,41,,9,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,228,232',
'237,238,239,234,236,244,245,240,241,527,524,221,222,,,242,243,525,36',
',,30,,,52,,,54,,32,225,,231,40,227,226,223,224,235,233,229,18,230,,',
',79,73,75,76,77,78,527,598,,74,80,,246,,596,,,56,,523,53,526,,,,37,84',
'63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,91',
'90,92,93,,597,17,526,,,,,7,41,,9,95,94,,85,50,87,86,88,,89,96,97,,81',
'82,83,,38,39,,228,232,237,238,239,234,236,244,245,240,241,527,589,221',
'222,,,242,243,590,36,,,30,,,52,,,54,,32,225,,231,40,227,226,223,224',
'235,233,229,18,230,,-284,-284,79,73,75,76,77,78,-284,,,74,80,-539,246',
',63,64,65,56,51,588,53,591,57,58,,37,84,61,,59,60,62,259,260,66,67,',
',,,,258,292,296,91,90,92,93,,,220,,,,-284,,-284,41,,,95,94,,85,50,87',
'86,88,,89,96,97,,81,82,83,,38,39,,228,232,237,238,239,234,236,244,245',
'240,241,,,221,222,,,242,243,,211,,,215,,,52,,,54,,,225,,231,40,227,226',
'223,224,235,233,229,219,230,,,,79,73,75,76,77,78,,,,74,80,,246,,63,64',
'65,56,51,,53,,57,58,,37,84,61,,59,60,62,259,260,66,67,,,,,,258,292,296',
'91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82',
'83,,38,39,,228,232,237,238,239,234,236,244,245,240,241,,,221,222,,,242',
'243,,211,,,215,,,52,,,54,,,225,,231,40,227,226,223,224,235,233,229,219',
'230,,,,79,73,75,76,77,78,,,,74,80,,246,,63,64,65,56,51,,53,,57,58,,37',
'84,61,,59,60,62,23,24,66,67,,,,,,22,28,27,91,90,92,93,,,17,,,,,,,41',
',,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,228,232,237,238',
'239,234,236,244,245,240,241,,,221,222,,,242,243,,211,,,215,216,,52,',
',54,,,225,,231,40,227,226,223,224,235,233,229,18,230,,,,79,73,75,76',
'77,78,,,,74,80,,246,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,23',
'24,66,67,,,,,,22,28,27,91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50,87',
'86,88,,89,96,97,,81,82,83,,38,39,,228,232,237,238,239,234,236,244,245',
'240,241,,,221,222,,,242,243,,211,,,215,,,52,,,54,,,225,,231,40,227,226',
'223,224,235,233,229,219,230,,,,79,73,75,76,77,78,,,,74,80,,246,,,,,56',
',,53,,,,,37,84,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,',
',,,22,28,27,91,90,92,93,,,17,,,,,,7,41,,9,95,94,,85,50,87,86,88,,89',
'96,97,,81,82,83,,38,39,,228,232,237,238,239,234,236,244,245,240,241',
',,221,222,,,242,243,,36,,,30,,,52,,,54,,32,225,,231,40,227,226,223,224',
'235,233,229,18,230,,,,79,73,75,76,77,78,,,,74,80,,246,,63,64,65,56,51',
',53,,57,58,,37,84,61,,59,60,62,259,260,66,67,,,,,,258,292,296,91,90',
'92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38',
'39,,228,232,237,238,239,234,236,244,245,240,241,,,221,222,,,242,243',
',211,,,215,,,52,,,54,,663,225,255,231,40,227,226,223,224,235,233,229',
'219,230,,,,79,73,75,76,77,78,,,,74,80,,246,,63,64,65,56,51,,53,,57,58',
',37,84,61,,59,60,62,259,260,66,67,,,,,,258,28,27,91,90,92,93,,,220,',
',,,,,41,,,95,94,,85,50,87,86,88,262,89,96,97,,81,82,83,,38,39,,228,232',
'237,238,239,234,236,244,245,240,241,,,221,222,,,242,243,,211,,,215,',
',52,,,54,,257,225,255,231,40,227,226,223,224,235,233,229,219,230,,,',
'79,73,75,76,77,78,,,,74,80,,246,,63,64,65,56,51,,53,,57,58,,37,84,61',
',59,60,62,259,260,66,67,,,,,,258,28,27,91,90,92,93,,,220,,,,,,,41,,',
'95,94,,85,50,87,86,88,262,89,96,97,,81,82,83,,38,39,,228,232,237,238',
'239,234,236,244,245,240,241,,,221,222,,,242,243,,211,,,215,,,52,,,54',
',257,225,255,231,40,227,226,223,224,235,233,229,219,230,,,,79,73,75',
'76,77,78,,,,74,80,,246,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62',
'259,260,66,67,,,,,,258,28,27,91,90,92,93,,,220,,,,,,,41,,,95,94,,85',
'50,87,86,88,262,89,96,97,,81,82,83,,38,39,,228,232,237,238,239,234,236',
'244,245,240,241,,,221,222,,,242,243,,211,,,215,,,52,,,54,,257,225,255',
'231,40,227,226,223,224,235,233,229,219,230,,,,79,73,75,76,77,78,,,,74',
'80,,246,,,,,56,,,53,,,,,37,84,63,64,65,8,51,,,,57,58,,,,61,,59,60,62',
'23,24,66,67,,,,,,22,28,27,91,90,92,93,,,17,,,,,,7,41,,9,95,94,,85,50',
'87,86,88,,89,96,97,,81,82,83,,38,39,,228,232,237,238,239,234,236,244',
'245,240,241,,,221,222,,,242,243,,36,,,30,,,52,,,54,,32,225,,231,40,227',
'226,223,224,235,233,229,18,230,,,,79,73,75,76,77,78,,,,74,80,,246,,',
',,56,,,53,,,,,37,84,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66',
'67,,,,,,22,28,27,91,90,92,93,,,17,,,,,,7,41,,9,95,94,,85,50,87,86,88',
',89,96,97,,81,82,83,,38,39,,228,232,237,238,239,234,236,244,245,240',
'241,,,221,222,,,242,243,,36,,,30,,,52,,,54,,32,225,,231,40,227,226,223',
'224,235,233,229,18,230,,,,79,73,75,76,77,78,,,,74,80,,246,,63,64,65',
'56,51,,53,,57,58,,37,84,61,,59,60,62,259,260,66,67,,,,,,258,292,296',
'91,90,92,93,228,568,220,338,336,335,,337,,41,,,95,94,,85,50,87,86,88',
'262,89,96,97,,81,82,83,,38,39,,225,,,,227,226,223,224,,571,,,,,,,,574',
',,211,,,215,,,52,,,54,,663,,255,,40,329,,338,336,335,,337,219,,,,,79',
'73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61,340,59',
'60,62,259,260,66,67,343,342,346,345,,258,292,296,91,90,92,93,,568,220',
'338,336,335,,337,,41,,,95,94,,85,50,87,86,88,262,89,96,97,,81,82,83',
',38,39,568,,338,336,335,,337,,,,571,,,,,,,,574,,,211,,,215,228,,52,',
',54,,,,255,,40,,,,571,,242,243,219,,,,835,79,73,75,76,77,78,,,225,74',
'80,,227,226,223,224,,56,,,53,,,,,37,84,63,64,65,8,51,,,,57,58,,,,61',
',59,60,62,23,24,66,67,,,,,,22,28,27,91,90,92,93,,,17,,,,,,7,41,,9,95',
'94,,85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,228,-559,-559,-559,-559',
'234,236,,,-559,-559,,,,,,,242,243,,36,,,282,,,52,,,54,,32,225,,231,40',
'227,226,223,224,235,233,229,18,230,,,,79,73,75,76,77,78,,,,74,80,,,',
'63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,259,260,66,67,,,,,,258',
'292,296,91,90,92,93,,,220,,,,,,,293,,,95,94,,85,50,87,86,88,,89,96,97',
',81,82,83,329,,338,336,335,228,337,,,,,,,,,,,,,,,,242,243,290,,,287',
',,52,,,54,,286,,225,,231,340,227,226,223,224,,,,343,342,346,345,79,73',
'75,76,77,78,,800,,74,80,,,,63,64,65,56,51,,53,,57,58,,297,84,61,,59',
'60,62,259,260,66,67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,293,,,95',
'94,,85,50,87,86,88,,89,96,97,,81,82,83,329,,338,336,335,,337,,,,,,,',
',,,,,,,,,,290,,,215,,,52,,,54,,,,,,,340,,559,,,,,,343,342,346,345,79',
'73,75,76,77,78,,,,74,80,,,,299,,,56,,,53,,,,,297,84,63,64,65,,51,,,',
'57,58,,,,61,,59,60,62,259,260,66,67,,,,,,258,292,296,91,90,92,93,,,220',
',,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,228,232',
'237,238,239,234,236,244,245,240,241,,,-559,-559,,,242,243,,211,,,215',
',,52,,,54,,663,225,,231,40,227,226,223,224,235,233,229,219,230,,,,79',
'73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60',
'62,23,24,66,67,,,,,,22,28,27,91,90,92,93,,,17,,,,,,,41,,,95,94,,85,50',
'87,86,88,,89,96,97,,81,82,83,,38,39,,228,232,237,238,239,234,236,244',
'245,240,241,,,-559,-559,,,242,243,,211,,,215,,,52,,,54,,,225,,231,40',
'227,226,223,224,235,233,229,18,230,,,,79,73,75,76,77,78,,,,74,80,,,',
'63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,259,260,66,67,,,,,,258',
'292,296,91,90,92,93,,,220,,,,,,,293,,,95,94,,85,50,87,86,88,,89,96,97',
',81,82,83,329,,338,336,335,,337,,,,,,,,,,,,,,,,,,932,,,215,,,52,,,54',
',,,,,,340,324,,,,,,,343,342,346,345,79,73,75,76,77,78,,,,74,80,,,,63',
'64,65,56,51,,53,,57,58,,297,84,61,,59,60,62,23,24,66,67,,,,,,22,28,27',
'91,90,92,93,,,17,,,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82,83',
',38,39,,228,-559,-559,-559,-559,234,236,,,-559,-559,,,,,,,242,243,,211',
',,215,,,52,,,54,,,225,,231,40,227,226,223,224,235,233,229,18,230,,,',
'79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61,,59',
'60,62,259,260,66,67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,41,,,95',
'94,,85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,228,,,,,,,,,,,,,,,,,242',
'243,,211,,,215,,,52,,,54,,,225,,231,40,227,226,223,224,,,229,219,230',
',,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61',
',59,60,62,259,260,66,67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,41',
',,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,228,,,,,,,,,,,,',
',,,,242,243,,211,,,215,,,52,,,54,,,225,,231,40,227,226,223,224,,,229',
'219,230,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,',
'37,84,61,,59,60,62,259,260,66,67,,,,,,258,292,296,91,90,92,93,,,220',
',,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,228,,,',
',,,,,,,,,,,,,242,243,,211,,,215,,,52,,,54,,,225,,231,40,227,226,223',
'224,,,229,219,230,,,,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,,37',
'84,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27',
'91,90,92,93,,,17,,,,,,7,41,,9,95,94,,85,50,87,86,88,,89,96,97,,81,82',
'83,,38,39,,228,,,,,,,,,,,,,,,,,242,243,,36,,,30,,,52,,,54,,32,225,,231',
'40,227,226,223,224,,,229,18,230,,,,79,73,75,76,77,78,,,,74,80,,,,63',
'64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,259,260,66,67,,,,,,258,292',
'296,91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88,262,89,96,97',
',81,82,83,,38,39,,228,-559,-559,-559,-559,234,236,,,-559,-559,,,,,,',
'242,243,,211,,,215,,,52,,,54,,,225,255,231,40,227,226,223,224,235,233',
'229,219,230,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57',
'58,,37,84,61,,59,60,62,259,260,66,67,,,,,,258,292,296,91,90,92,93,,',
'220,,,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,228',
'-559,-559,-559,-559,234,236,,,-559,-559,,,,,,,242,243,,211,,,215,,,52',
',,54,,,225,,231,40,227,226,223,224,235,233,229,219,230,,,,79,73,75,76',
'77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,23,24',
'66,67,,,,,,22,28,27,91,90,92,93,,,17,,,,,,,41,,,95,94,,85,50,87,86,88',
',89,96,97,,81,82,83,,38,39,,228,-559,-559,-559,-559,234,236,,,-559,-559',
',,,,,,242,243,,211,,,215,,,52,,,54,,,225,,231,40,227,226,223,224,235',
'233,229,18,230,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,',
'57,58,,37,84,61,,59,60,62,259,260,66,67,,,,,,258,28,27,91,90,92,93,',
',220,,,,,,,41,,,95,94,,85,50,87,86,88,262,89,96,97,,81,82,83,,38,39',
',228,232,237,238,239,234,236,244,,240,241,,,,,,,242,243,,211,,,215,',
',52,,,54,,257,225,,231,40,227,226,223,224,235,233,229,219,230,,,,79',
'73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60',
'62,259,260,66,67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,41,,,95,94',
',85,50,87,86,88,262,89,96,97,,81,82,83,,38,39,,228,232,237,238,239,234',
'236,,,240,241,,,,,,,242,243,,211,,,215,,,52,,,54,,,225,,231,40,227,226',
'223,224,235,233,229,219,230,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65',
'56,51,,53,,57,58,,37,84,61,,59,60,62,259,260,66,67,,,,,,258,292,296',
'91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82',
'83,,38,39,,228,-559,-559,-559,-559,234,236,,,-559,-559,,,,,,,242,243',
',211,,,215,,,52,,,54,,,225,,231,40,227,226,223,224,235,233,229,219,230',
',,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61',
',59,60,62,259,260,66,67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,41',
',,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,228,,,,,,,,,,,,',
',,,,242,243,,211,,,215,,,52,,,54,,,225,,231,40,227,226,223,224,,,,219',
',,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61',
',59,60,62,23,24,66,67,,,,,,22,28,27,91,90,92,93,,,17,,,,,,,41,,,95,94',
',85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211',
',,215,,,52,,,54,,,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,',
'63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,23,24,66,67,,,,,,22,28',
'27,91,90,92,93,,,17,,,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82',
'83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,,,,,40,,,,,,,,18',
',,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61',
',59,60,62,23,24,66,67,,,,,,22,28,27,91,90,92,93,,,17,,,,,,,41,,,95,94',
',85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211',
',,215,,,52,,,54,,,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,102',
',,,,101,56,,,53,,,,,37,84,63,64,65,,51,,,,57,58,,,,61,,59,60,62,259',
'260,66,67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,293,,,95,94,,85,50',
'87,86,88,,89,96,97,,81,82,83,,,,,,,,,,,,,,,,,,,,,,,,,358,,,30,,,52,',
',54,,32,,,,,,,,,,,,,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51',
',53,,57,58,,297,84,61,,59,60,62,259,260,66,67,,,,,,258,292,296,91,90',
'92,93,,,220,,,,,,,293,,,95,94,,85,50,87,86,363,,89,96,97,,81,82,83,',
',,,,,,,,,,,,,,,,,,,,369,,,364,,,215,,,52,,,54,,,,,,,,,,,,,,,,,,,79,73',
'75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,297,84,61,,59,60',
'62,259,260,66,67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,41,,,95,94',
',85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211',
',,215,,,52,,,54,,,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,',
',63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,23,24,66,67,,,,,,22,28',
'27,91,90,92,93,,,17,,,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82',
'83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,680,52,,,54,,,,255,,40,,,',
',,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,,37,84,63,64',
'65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,91,90,92',
'93,,,17,,,,,,7,41,,9,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38,39',
',,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54,,32,,,,40,,,,,,,,18,,,,,79,73',
'75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,,37,84,63,64,65,8,51,,,,57,58',
',,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,91,90,92,93,,,17,,,,,,7,41',
',9,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,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,84,61,,59,60,62,23,24,66,67,',
',,,,22,28,27,91,90,92,93,,,17,,,,,,,41,,,95,94,,85,50,87,86,88,,89,96',
'97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,,,,,40',
',,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,,37,84,63',
'64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,91,90',
'92,93,,,17,,,,,,7,41,,9,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38',
'39,,,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54,,32,,,,40,,,,,,,,18,,,,,79',
'73,75,76,77,78,,,,74,80,,,,-535,-535,-535,56,-535,,53,,-535,-535,,37',
'84,-535,,-535,-535,-535,-535,-535,-535,-535,,-535,,,,-535,-535,-535',
'-535,-535,-535,-535,,,-535,,,,,,,-535,,,-535,-535,,-535,-535,-535,-535',
'-535,-535,-535,-535,-535,,-535,-535,-535,,-535,-535,,,,,,,,,,,,,,,,',
',,,,,-535,,,-535,-535,,-535,,,-535,,-535,,-535,,-535,,,,,,,,-535,,-535',
',,-535,-535,-535,-535,-535,-535,,,,-535,-535,,,,-536,-536,-536,-535',
'-536,,-535,,-536,-536,,-535,-535,-536,,-536,-536,-536,-536,-536,-536',
'-536,,-536,,,,-536,-536,-536,-536,-536,-536,-536,,,-536,,,,,,,-536,',
',-536,-536,,-536,-536,-536,-536,-536,-536,-536,-536,-536,,-536,-536',
'-536,,-536,-536,,,,,,,,,,,,,,,,,,,,,,-536,,,-536,-536,,-536,,,-536,',
'-536,,-536,,-536,,,,,,,,-536,,-536,,,-536,-536,-536,-536,-536,-536,',
',,-536,-536,,,,63,64,65,-536,51,,-536,,57,58,,-536,-536,61,,59,60,62',
'259,260,66,67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,41,,,95,94,,85',
'50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215',
',,52,,,54,,257,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,,,,',
',56,,,53,,,,,37,84,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67',
',,,,,22,28,27,91,90,92,93,,,17,,,,,,7,41,6,9,95,94,,85,50,87,86,88,',
'89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54,,32',
',,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,,,407,56,,,53,,,,',
'37,84,63,64,65,,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27',
'91,90,92,93,,,17,,,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82,83',
',38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,,,,,40,,,,,,,,18,,',
',,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61',
',59,60,62,23,24,66,67,,,,,,22,28,27,91,90,92,93,,,17,,,,,,,41,,,95,94',
',85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211',
',,215,,,52,,,54,,,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,',
'63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,23,24,66,67,,,,,,22,28',
'27,91,90,92,93,,,17,,,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82',
'83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,,,,,40,,,,,,,,18',
',,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61',
',59,60,62,23,24,66,67,,,,,,22,28,27,91,90,92,93,,,17,,,,,,,41,,,95,94',
',85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211',
',,215,,,52,,,54,,,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,',
',,,56,,,53,,,,,37,84,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66',
'67,,,,,,22,28,27,91,90,92,93,,,17,,,,,,7,41,,9,95,94,,85,50,87,86,88',
',89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54,,32',
',,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,,37',
'84,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27',
'91,90,92,93,,,17,,,,,,7,41,6,9,95,94,,85,50,87,86,88,,89,96,97,,81,82',
'83,,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,84,61',
',59,60,62,259,260,66,67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,41',
',,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,',
',,,,211,,,215,,,52,,,54,,,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,',
'74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,259,260,66,67',
',,,,,258,292,296,91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88',
',89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54',
',,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51',
',53,,57,58,,37,84,61,,59,60,62,259,260,66,67,,,,,,258,292,296,91,90',
'92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38',
'39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,,,,,40,,,,,,,,219,,,,,79',
'73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,,37,84,63,64,65,8,51,,,,57',
'58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,91,90,92,93,,,17,,,,,,7',
'41,,9,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,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,84,61,,59,60,62,23,24,66,67',
',,,,,22,28,27,91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88,,89',
'96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,424',
',,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53',
',57,58,,37,84,61,,59,60,62,23,24,66,67,,,,,,22,28,27,91,90,92,93,,,220',
',,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,',
',,,,,,,,,,,,,211,,,215,,,52,,,54,,424,,,,40,,,,,,,,219,,,,,79,73,75',
'76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,23',
'24,66,67,,,,,,22,28,27,91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50,87',
'86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52',
',,54,,,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56',
'51,,53,,57,58,,37,84,61,,59,60,62,259,260,66,67,,,,,,258,28,27,91,90',
'92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88,262,89,96,97,,81,82,83',
',38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,257,,,,40,,,,,,,,219',
',,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61',
',59,60,62,259,260,66,67,,,,,,258,28,27,91,90,92,93,,,220,,,,,,,41,,',
'95,94,,85,50,87,86,88,262,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,',
',,,,,211,,,215,,,52,,,54,,257,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78',
',,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,23,24,66,67',
',,,,,22,28,27,91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88,,89',
'96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,,,',
',40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53',
',57,58,,37,84,61,,59,60,62,23,24,66,67,,,,,,22,28,27,91,90,92,93,,,220',
',,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,',
',,,,,,,,,,,,,211,,,215,,,52,,,54,,,,,,40,,,,,,,,219,,,,,79,73,75,76',
'77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,259',
'260,66,67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50',
'87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,',
',52,,,54,,,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64',
'65,56,51,,53,,57,58,,37,84,61,,59,60,62,23,24,66,67,,,,,,22,28,27,91',
'90,92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82,83',
',38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,,,,,40,,,,,,,,219,',
',,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61',
',59,60,62,23,24,66,67,,,,,,22,28,27,91,90,92,93,,,17,,,,,,,41,,,95,94',
',85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211',
',,215,,,52,,,54,,,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,',
'63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,23,24,66,67,,,,,,22,28',
'27,91,90,92,93,,,17,,,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82',
'83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,,,,,40,,,,,,,,18',
',,,,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,,37,84,63,64,65,8,51',
',,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,91,90,92,93,,,17',
',,,,,7,41,,9,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,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,84,61,,59,60,62,259',
'260,66,67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50',
'87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,',
',52,,,54,,,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,,,,,,56',
',,53,,,,,37,84,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,',
',,,22,28,27,91,90,92,93,,,17,,,,,,7,41,,9,95,94,,85,50,87,86,88,,89',
'96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54,,32,,',
',40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,,37,84',
'63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,91',
'90,92,93,,,17,,,,,,7,41,,9,95,94,,85,50,87,86,88,,89,96,97,,81,82,83',
',38,39,,,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54,,32,,,,40,,,,,,,,18,,',
',,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,,37,84,63,64,65,8,51,',
',,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,91,90,92,93,,,17,',
',,,,7,41,,9,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,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,84,61,,59,60,62,23,24',
'66,67,,,,,,22,28,27,91,90,92,93,,,17,,,,,,,41,,,95,94,,85,50,87,86,88',
',89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54',
',,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,,37',
'84,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27',
'91,90,92,93,,,17,,,,,,7,41,,9,95,94,,85,50,87,86,88,,89,96,97,,81,82',
'83,,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,84,61',
',59,60,62,23,24,66,67,,,,,,22,28,27,91,90,92,93,,,17,,,,,,,41,,,95,94',
',85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211',
',,215,,461,52,,,54,,,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80',
',,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,259,260,66,67,,,,,',
'258,292,296,91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88,,89,96',
'97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,,,,,40',
',,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57',
'58,,37,84,61,,59,60,62,259,260,66,67,,,,,,258,292,296,91,90,92,93,,',
'220,,,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,',
',,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,257,,,,40,,,,,,,,219,,,,,79,73',
'75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62',
'259,260,66,67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,41,,,95,94,,85',
'50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215',
',,52,,,54,,,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64',
'65,56,51,,53,,57,58,,37,84,61,,59,60,62,259,260,66,67,,,,,,258,292,296',
'91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82',
'83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,,,,,40,,,,,,,,219',
',,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61',
',59,60,62,259,260,66,67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,41',
',,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,',
',,,,211,,,215,,,52,,,54,,,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,',
'74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,259,260,66,67',
',,,,,258,292,296,91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88',
',89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54',
',,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51',
',53,,57,58,,37,84,61,,59,60,62,259,260,66,67,,,,,,258,292,296,91,90',
'92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38',
'39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,,,,,40,,,,,,,,219,,,,,79',
'73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60',
'62,259,260,66,67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,41,,,95,94',
',85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211',
',,215,,,52,,,54,,,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,',
',63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,259,260,66,67,,,,,,258',
'292,296,91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97',
',81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,,,,,40,,',
',,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58',
',37,84,61,,59,60,62,259,260,66,67,,,,,,258,292,296,91,90,92,93,,,220',
',,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,',
',,,,,,,,,,,,,211,,,215,,,52,,,54,,,,,,40,,,,,,,,219,,,,,79,73,75,76',
'77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,259',
'260,66,67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50',
'87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,',
',52,,,54,,,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64',
'65,56,51,,53,,57,58,,37,84,61,,59,60,62,259,260,66,67,,,,,,258,292,296',
'91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82',
'83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,,,,,40,,,,,,,,219',
',,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61',
',59,60,62,259,260,66,67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,41',
',,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,',
',,,,211,,,215,,,52,,,54,,,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,',
'74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,259,260,66,67',
',,,,,258,292,296,91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88',
',89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54',
',,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51',
',53,,57,58,,37,84,61,,59,60,62,259,260,66,67,,,,,,258,292,296,91,90',
'92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38',
'39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,,,,,40,,,,,,,,219,,,,,79',
'73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60',
'62,259,260,66,67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,41,,,95,94',
',85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211',
',,215,,,52,,,54,,,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,',
',63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,259,260,66,67,,,,,,258',
'292,296,91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97',
',81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,,,,,40,,',
',,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58',
',37,84,61,,59,60,62,259,260,66,67,,,,,,258,292,296,91,90,92,93,,,220',
',,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,',
',,,,,,,,,,,,,211,,,215,,,52,,,54,,,,,,40,,,,,,,,219,,,,,79,73,75,76',
'77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,259',
'260,66,67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50',
'87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,',
',52,,,54,,,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64',
'65,56,51,,53,,57,58,,37,84,61,,59,60,62,259,260,66,67,,,,,,258,292,296',
'91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82',
'83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,,,,,40,,,,,,,,219',
',,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61',
',59,60,62,259,260,66,67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,41',
',,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,',
',,,,211,,,215,,,52,,,54,,,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,',
'74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,259,260,66,67',
',,,,,258,292,296,91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88',
',89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54',
',,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51',
',53,,57,58,,37,84,61,,59,60,62,259,260,66,67,,,,,,258,292,296,91,90',
'92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38',
'39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,,,,,40,,,,,,,,219,,,,,79',
'73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60',
'62,259,260,66,67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,41,,,95,94',
',85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211',
',,215,,,52,,,54,,,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,',
',63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,259,260,66,67,,,,,,258',
'292,296,91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97',
',81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,,,,,40,,',
',,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58',
',37,84,61,,59,60,62,259,260,66,67,,,,,,258,292,296,91,90,92,93,,,220',
',,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,',
',,,,,,,,,,,,,211,,,215,,,52,,,54,,,,,,40,,,,,,,,219,,,,,79,73,75,76',
'77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,259',
'260,66,67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50',
'87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,',
',52,,,54,,,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64',
'65,56,51,,53,,57,58,,37,84,61,,59,60,62,259,260,66,67,,,,,,258,292,296',
'91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82',
'83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,,,,,40,,,,,,,,219',
',,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61',
',59,60,62,259,260,66,67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,41',
',,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,',
',,,,211,,,215,,,52,,,54,,424,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78',
',,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,259,260,66',
'67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,293,,,95,94,,85,50,87,86',
'88,,89,96,97,,81,82,83,,,,,,,,,,,,,,,,,,,,,,,,,290,,,287,,,52,,,54,',
',,,,,,,,,,,,,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57',
'58,,297,84,61,,59,60,62,259,260,66,67,,,,,,258,292,296,91,90,92,93,',
',220,,,,,,,293,,,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,,,,,,,,',
',,,,,,,,,,,,,,,290,,,287,,,52,,,54,,,,,,,,,,,,,,,,,,,79,73,75,76,77',
'78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,297,84,61,,59,60,62,259,260',
'66,67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50,87',
'86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52',
',,54,,,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53',
',,,,37,84,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22',
'28,27,91,90,92,93,,,17,,,,,,7,41,,9,95,94,,85,50,87,86,88,,89,96,97',
',81,82,83,,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,84,61,,59,60,62,259,260,66,67,,,,,,258,292,296,91,90,92,93,,,220',
',,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,',
',,,,,,,,,,,,,211,,,215,,,52,,,54,,,,,,40,,,,,,,,219,,,,,79,73,75,76',
'77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,259',
'260,66,67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50',
'87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,',
',52,,,54,,,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,,,,,,56',
',,53,,,,,37,84,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,',
',,,22,28,27,91,90,92,93,,,17,,,,,,7,41,,9,95,94,,85,50,87,86,88,,89',
'96,97,,81,82,83,,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,84,61,,59,60,62,259,260,66,67,,,,,,258,292,296,91,90,92,93',
',,220,,,,,,,41,,,95,94,,85,50,87,86,88,262,89,96,97,,81,82,83,,38,39',
',,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,,,255,,40,,,,,,,,219,,,,,79',
'73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60',
'62,259,260,66,67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,41,,,95,94',
',85,50,87,86,88,262,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211',
',,215,,,52,,,54,,663,,255,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74',
'80,,,,,,,56,,,53,,,,,37,84,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23',
'24,66,67,,,,,,22,28,27,91,90,92,93,,,17,,,,,,7,41,,9,95,94,,85,50,87',
'86,88,,89,96,97,,81,82,83,,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,84,61,,59,60,62,259,260,66,67,,,,,,258,28,27,91,90',
'92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88,262,89,96,97,,81,82,83',
',38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,257,,255,,40,,,,,,',
',219,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37',
'84,61,,59,60,62,259,260,66,67,,,,,,258,28,27,91,90,92,93,,,220,,,,,',
',41,,,95,94,,85,50,87,86,88,262,89,96,97,,81,82,83,,38,39,,,,,,,,,,',
',,,,,,,,,,,211,,,215,,,509,,,54,,257,,255,,40,,,,,,,,219,,,,,79,73,75',
'76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,259',
'260,66,67,,,,,,258,28,27,91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50,87',
'86,88,262,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,',
'513,52,,,54,,257,,255,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80',
',,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,259,260,66,67,,,,,',
'258,292,296,91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88,,89,96',
'97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,,,,,40',
',,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,,37,84,63',
'64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,91,90',
'92,93,,,17,,,,,,7,41,,9,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,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,84,61,,59,60',
'62,259,260,66,67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,41,,,95,94',
',85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211',
',,215,,,52,,,54,,,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,',
',,,,56,,,53,,,,,37,84,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66',
'67,,,,,,22,28,27,91,90,92,93,,,17,,,,,,7,41,,9,95,94,,85,50,87,86,88',
',89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,36,,,282,,,52,,,54,',
'32,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,',
'37,84,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28',
'27,91,90,92,93,,,17,,,,,,7,41,,9,95,94,,85,50,87,86,88,,89,96,97,,81',
'82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54,,32,,,,40,,,,,,',
',18,,,,,79,73,75,76,77,78,,,,74,80,,,,,,407,56,,,53,,,,,37,84,63,64',
'65,,51,,,,57,58,,,,61,,59,60,62,259,260,66,67,,,,,,258,292,296,91,90',
'92,93,,,220,,,,,,,293,,,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,',
',,,,,,,,,,,,,,,,,,,,,,290,,,287,,,52,,,54,,,,,,,,,,,,,,,,,,,79,73,75',
'76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,297,84,61,,59,60,62',
'259,260,66,67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,41,,,95,94,,85',
'50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215',
',,52,,,54,,,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64',
'65,56,51,,53,,57,58,,37,84,61,,59,60,62,259,260,66,67,,,,,,258,292,296',
'91,90,92,93,,,220,,,,,,,293,,,95,94,,85,50,87,86,88,,89,96,97,,81,82',
'83,,,,,,,,,,,,,,,,,,,,,,,,,290,,,215,,,52,,,54,,,,,,,,,,,,,,,,,,,79',
'73,75,76,77,78,,,,74,80,,,,521,,,56,,,53,,,,,297,84,63,64,65,8,51,,',
',57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,91,90,92,93,,,17,,',
',,,7,41,,9,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,',
',,,,,,,,,,,,,36,,,282,,,52,,,54,,32,,,,40,,,,,,,,18,,,,,79,73,75,76',
'77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,23,24',
'66,67,,,,,,22,28,27,91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86',
'88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,',
'54,,,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56',
'51,,53,,57,58,,37,84,61,,59,60,62,23,24,66,67,,,,,,22,28,27,91,90,92',
'93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38,39',
',,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,,,,,40,,,,,,,,219,,,,,79,73',
'75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62',
'23,24,66,67,,,,,,22,28,27,91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50',
'87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,',
',52,,,54,,,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64',
'65,56,51,,53,,57,58,,37,84,61,,59,60,62,259,260,66,67,,,,,,258,292,296',
'91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82',
'83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,781,,,,40,,,,,,',
',219,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37',
'84,61,,59,60,62,259,260,66,67,,,,,,258,292,296,91,90,92,93,,,220,,,',
',,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,',
',,,,,,,,,,211,,,215,,,52,,,54,,,,,,40,,,,,,,,219,,,,,79,73,75,76,77',
'78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,23,24,66',
'67,,,,,,22,28,27,91,90,92,93,,,17,,,,,,,41,,,95,94,,85,50,87,86,88,',
'89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,',
',,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53',
',57,58,,37,84,61,,59,60,62,23,24,66,67,,,,,,22,28,27,91,90,92,93,,,17',
',,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,',
',,,,,,,,,,,,,211,,,215,,,52,,,54,,,,,,40,,,,,,,,18,,,,,79,73,75,76,77',
'78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,23,24,66',
'67,,,,,,22,28,27,91,90,92,93,,,17,,,,,,,41,,,95,94,,85,50,87,86,88,',
'89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,',
',,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53',
',57,58,,37,84,61,,59,60,62,259,260,66,67,,,,,,258,28,27,91,90,92,93',
',,220,,,,,,,41,,,95,94,,85,50,87,86,88,262,89,96,97,,81,82,83,,38,39',
',,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,257,,,,40,,,,,,,,219,,,,,79',
'73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60',
'62,259,260,66,67,,,,,,258,28,27,91,90,92,93,,,220,,,,,,,41,,,95,94,',
'85,50,87,86,88,262,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211',
',,215,,,52,,,54,,257,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80',
',,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,259,260,66,67,,,,,',
'258,28,27,91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88,262,89',
'96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,257',
',,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53',
',57,58,,37,84,61,,59,60,62,259,260,66,67,,,,,,258,28,27,91,90,92,93',
',,220,,,,,,,41,,,95,94,,85,50,87,86,88,262,89,96,97,,81,82,83,,38,39',
',,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,257,,,,40,,,,,,,,219,,,,,79',
'73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,,37,84,63,64,65,8,51,,,,57',
'58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,91,90,92,93,,,17,,,,,,7',
'41,,9,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,',
',,,,,,,,36,,,30,,,52,,,54,,32,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78',
',,,74,80,,,,,,,56,,,53,,,,,37,84,63,64,65,8,51,,,,57,58,,,,61,,59,60',
'62,23,24,66,67,,,,,,22,28,27,91,90,92,93,,,17,,,,,,7,41,,9,95,94,,85',
'50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,36,,,30',
',,52,,,54,,32,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,,,,56',
',,53,,,,,37,84,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,',
',,,22,28,27,91,90,92,93,,,17,,,,,,7,41,,9,95,94,,85,50,87,86,88,,89',
'96,97,,81,82,83,,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,84,61,,59,60,62,259,260,66,67,,,,,,258,292,296,91,90,92,93',
',,220,,,,,,,293,,,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,,,,,,,',
',,,,,,,,,,,,,,,,718,,,215,,,52,,,54,,,,,,,,,,,,,,,,,,,79,73,75,76,77',
'78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,297,84,61,,59,60,62,259,260',
'66,67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50,87',
'86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,542',
',52,,,54,,,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,,,,,,56',
',,53,,,,,37,84,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,',
',,,22,28,27,91,90,92,93,,,17,,,,,,7,41,,9,95,94,,85,50,87,86,88,,89',
'96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54,,32,,',
',40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,,37,84',
'63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,91',
'90,92,93,,,17,,,,,,7,41,,9,95,94,,85,50,87,86,88,,89,96,97,,81,82,83',
',38,39,,,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54,,32,,,,40,,,,,,,,18,,',
',,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,,37,84,63,64,65,8,51,',
',,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,91,90,92,93,,,17,',
',,,,7,41,,9,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,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,84,61,,59,60,62,259',
'260,66,67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50',
'87,86,88,262,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215',
',,52,,,54,,,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64',
'65,56,51,,53,,57,58,,37,84,61,,59,60,62,259,260,66,67,,,,,,258,292,296',
'91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88,262,89,96,97,,81',
'82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,663,,,,40,,,',
',,,,219,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58',
',37,84,61,,59,60,62,23,24,66,67,,,,,,22,28,27,91,90,92,93,,,17,,,,,',
',41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,',
',,,,,,,,211,,,215,,,52,,,54,,,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78',
',,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,259,260,66',
'67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86',
'88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,',
'54,,,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56',
'51,,53,,57,58,,37,84,61,,59,60,62,259,260,66,67,,,,,,258,292,296,91',
'90,92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88,,89,96,97,,81,82,83',
',38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,,,,,40,,,,,,,,219,',
',,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61',
',59,60,62,259,260,66,67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,41',
',,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,',
',,,,211,,,215,,,52,,,54,,,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,',
'74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61,,59,60,62,259,260,66,67',
',,,,,258,292,296,91,90,92,93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88',
',89,96,97,,81,82,83,,38,39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54',
',,,,,40,,,,,,,,219,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51',
',53,,57,58,,37,84,61,,59,60,62,259,260,66,67,,,,,,258,28,27,91,90,92',
'93,,,220,,,,,,,41,,,95,94,,85,50,87,86,88,262,89,96,97,,81,82,83,,38',
'39,,,,,,,,,,,,,,,,,,,,,,211,,,215,,,52,,,54,,257,,,,40,,,,,,,,219,,',
',,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,,37,84,61',
',59,60,62,259,260,66,67,,,,,,258,292,296,91,90,92,93,,,220,,,,,,,293',
',,95,94,,85,50,87,86,88,,89,96,97,,81,82,83,770,,338,336,335,760,337',
',,,,,,,,,,757,,,,,,,290,,,287,,,52,,,54,,,,,,,340,,,,,,,,343,342,346',
'345,79,73,75,76,77,78,,,,74,80,,,,,-542,,56,,,53,,-542,-542,-542,297',
'84,-542,-542,-542,,-542,,,,758,,,,,-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',
',796,-542,,,-542,,,-542,,-542,,-542,,-542,,-542,-542,-542,-542,-542',
'-542,-542,,-542,-542,-542,,,,,,,,,,,,,-542,-542,-542,-542,,-542,-284',
',-542,,-542,,-96,-284,-284,-284,,,-284,-284,-284,,-284,,,,,,,,,,-284',
'-284,,,,,,,,,-284,-284,,-284,-284,-284,-284,-284,,,,,,,,,,,,,,,,,,,',
',,,,,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284',
'-284,-284,,,-284,-284,-284,,644,-284,,,-284,,,-284,,-284,,-284,,-284',
',-284,-284,-284,-284,-284,-284,-284,,-284,,-284,,,,,,,,,,,,,-284,-284',
'-284,-284,,-284,-284,,-284,,-284,,-98,-284,-284,-284,,,,-284,-284,,-284',
',,,,,,,,,,,,,,,,,,,-284,-284,,-284,-284,-284,-284,-284,,,,,,,,,,,,,',
',,,,,,,,,,,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284',
'-284,-284,-284,,,-284,-284,-284,,644,,,,-284,,,,,,,-284,,-284,,-284',
'-284,-284,-284,-284,-284,-284,,-284,,-284,,,,,,,,,,,,,-284,-284,,-89',
',-284,-542,,-284,,-284,,-98,-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,,641,,,,-542,,,,,,,-542,,-542,,-542',
'-542,-542,-542,-542,-542,-542,,-542,-542,-542,,,,,,,,,,,,,-542,-542',
',-87,,-542,-383,,-542,,-542,,-96,-383,-383,-383,,,-383,-383,-383,,-383',
',,,,,,,,-383,-383,-383,,,,,,,,,-383,-383,,-383,-383,-383,-383,-383,',
',,,,,,,,,,,,,,,,,,,,,,,-383,-383,-383,-383,-383,-383,-383,-383,-383',
'-383,-383,-383,-383,-383,-383,,,-383,-383,-383,,,-383,,269,-383,,,-383',
',-383,,-383,,-383,,-383,-383,-383,-383,-383,-383,-383,,-383,-383,-383',
',,,,,,,,,,,,-383,-383,-383,-383,-293,-383,,,-383,,-383,-293,-293,-293',
',,-293,-293,-293,,-293,,,,,,,,,,-293,-293,,,,,,,,,-293,-293,,-293,-293',
'-293,-293,-293,,,,,,,,,,,,,,,,,,,,,,,,,-293,-293,-293,-293,-293,-293',
'-293,-293,-293,-293,-293,-293,-293,-293,-293,,,-293,-293,-293,,,-293',
',278,-293,,,-293,,-293,,-293,,-293,,-293,-293,-293,-293,-293,-293,-293',
',-293,,-293,,,,,,,,,,,,,-293,-293,-293,-293,-279,-293,,,-293,,-293,-279',
'-279,-279,,,-279,-279,-279,,-279,,,,,,,,,,-279,-279,-279,,,,,,,,-279',
'-279,,-279,-279,-279,-279,-279,,,,,,,,,,,,,,,,,,,,,,,,,-279,-279,-279',
'-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,,,-279,-279',
'-279,,,-279,,,-279,,,-279,,-279,,-279,,-279,,-279,-279,-279,-279,-279',
'-279,-279,,-279,,-279,,,,,,,,,,,,,-279,-279,-279,-279,-558,-279,,-279',
'-279,,-279,-558,-558,-558,,,-558,-558,-558,,-558,,,,,,,,,-558,-558,-558',
',,,,,,,,-558,-558,,-558,-558,-558,-558,-558,,,,,,,,,,,,,,,,,,,,,,,,',
'-558,-558,-558,-558,-558,-558,-558,-558,-558,-558,-558,-558,-558,-558',
'-558,,,-558,-558,-558,,,-558,,269,-558,,,-558,,-558,,-558,,-558,,-558',
'-558,-558,-558,-558,-558,-558,,-558,-558,-558,,,,,,,,,,,,,-558,-558',
'-558,-558,-558,-558,,,-558,,-558,-558,-558,-558,,,-558,-558,-558,,-558',
',,,,,,,,-558,-558,-558,,,,,,,,,-558,-558,,-558,-558,-558,-558,-558,',
',,,,,,,,,,,,,,,,,,,,,,,-558,-558,-558,-558,-558,-558,-558,-558,-558',
'-558,-558,-558,-558,-558,-558,,,-558,-558,-558,,,-558,,269,-558,,,-558',
',-558,,-558,,-558,,-558,-558,-558,-558,-558,-558,-558,,-558,-558,-558',
',,,,,,,,,,,,-558,-558,-558,-558,-558,-558,,,-558,,-558,-558,-558,-558',
',,-558,-558,-558,,-558,,,,,,,,,,-558,,,,,,,,,,-558,-558,,-558,-558,-558',
'-558,-558,,,,,,,,,,,,,,,-558,,,,,,,-558,-558,-558,,,-558,-558,-558,',
'-558,,,,,-558,-558,,,,-558,,,-558,,,,,269,-558,-558,-558,,-558,-558',
'-558,-558,-558,,,,,,,,,,,,,-558,,,,,770,,338,336,335,760,337,,-558,',
'-558,,,-558,,,,757,-558,-558,,-558,,,,,-558,,-558,-558,-558,269,-558',
'-558,-558,-558,,-558,,,340,755,,,,,,-558,343,342,346,345,,-558,,,,-558',
'-558,,-558,-558,-558,-558,-558,,-558,,-558,,,-558,,,,,,,,,,,,,,,,758',
',,,,770,,338,336,335,760,337,,-558,-558,,,,,,,-558,757,,,,269,-558,',
',,,,,,,,,,,,,,,,340,,,-558,,,,,343,342,346,345,,,,,-558,,-558,,,-558',
'157,168,158,181,154,174,164,163,189,192,179,162,161,156,182,190,191',
'166,155,169,173,175,167,160,,758,,176,183,178,177,170,180,165,153,172',
'171,184,185,186,187,188,152,159,150,151,148,149,,112,114,,,113,,,,,',
',,,,143,144,,140,122,123,124,131,128,130,,,125,126,,,,,145,146,132,133',
',,,,,,,,,,,,137,136,,121,142,139,138,134,135,129,127,119,141,120,,,147',
'193,,,,,,,,,,80,157,168,158,181,154,174,164,163,189,192,179,162,161',
'156,182,190,191,166,155,169,173,175,167,160,,,,176,183,178,177,170,180',
'165,153,172,171,184,185,186,187,188,152,159,150,151,148,149,,112,114',
',,113,,,,,,,,,,143,144,,140,122,123,124,131,128,130,,,125,126,,,,,145',
'146,132,133,,,,,,,,,,,,,137,136,,121,142,139,138,134,135,129,127,119',
'141,120,,,147,193,,,,,,,,,,80,157,168,158,181,154,174,164,163,189,192',
'179,162,161,156,182,190,191,166,155,169,173,175,167,160,,,,176,183,178',
'177,170,180,165,153,172,171,184,185,186,187,188,152,159,150,151,148',
'149,,112,114,111,,113,,,,,,,,,,143,144,,140,122,123,124,131,128,130',
',,125,126,,,,,145,146,132,133,,,,,,,,,,,,,137,136,,121,142,139,138,134',
'135,129,127,119,141,120,,,147,193,,,,,,,,,,80,157,168,158,181,154,174',
'164,163,189,192,179,162,161,156,182,190,191,166,155,169,173,175,167',
'160,,,,176,183,178,177,170,180,165,153,172,171,184,185,186,187,188,152',
'159,150,151,148,149,,112,114,,,113,,,,,,,,,,143,144,,140,122,123,124',
'131,128,130,,,125,126,,,,,145,146,132,133,,,,,,,,,,,,,137,136,,121,142',
'139,138,134,135,129,127,119,141,120,,,147,193,,,,,,,,,,80,157,168,158',
'181,154,174,164,163,189,192,179,162,161,156,182,190,191,166,155,169',
'173,175,167,160,,,,176,183,178,378,377,379,376,153,172,171,184,185,186',
'187,188,152,159,150,151,374,375,,372,114,87,86,373,,89,,,,,,,,143,144',
',140,122,123,124,131,128,130,,,125,126,,,,,145,146,132,133,,,,,,383',
',,,,,,137,136,,121,142,139,138,134,135,129,127,119,141,120,,,147,157',
'168,158,181,154,174,164,163,189,192,179,162,161,156,182,190,191,166',
'155,169,173,175,167,160,,,,176,183,178,177,170,180,165,153,172,171,184',
'185,186,187,188,152,159,150,151,148,149,,112,114,400,399,113,,401,,',
',,,,,143,144,,140,122,123,124,131,128,130,,,125,126,,,,,145,146,132',
'133,,,,,,,,,,,,,137,136,,121,142,139,138,134,135,129,127,119,141,120',
',,147,157,168,158,181,154,174,164,163,189,192,179,162,161,156,182,190',
'191,166,155,169,173,175,167,160,,,,176,183,178,177,170,180,165,153,172',
'171,184,185,186,187,188,152,159,150,151,148,149,,112,114,,,113,,,,,',
',,,,143,144,,140,122,123,124,131,128,130,,,125,126,,,,,145,146,132,133',
',,,,,,,,,,,,137,136,,121,142,139,138,134,135,129,127,119,141,120,,,147',
'157,168,158,181,154,174,164,163,189,192,179,162,161,156,182,190,191',
'166,155,169,173,175,167,160,,,,176,183,178,177,170,180,165,153,172,171',
'184,185,186,187,188,152,159,150,151,148,149,,112,114,400,399,113,,401',
',,,,,,,143,144,,140,122,123,124,131,128,130,,,125,126,,,,,145,146,132',
'133,,,,,,,,,,,,,137,136,,121,142,139,138,134,135,129,127,119,141,120',
',770,147,338,336,335,760,337,,,,747,443,,,898,,,757,,,,,,,143,144,,140',
'122,123,124,131,128,130,,,125,126,,,340,755,145,146,132,133,,,343,342',
'346,345,,,,,,,137,136,,121,142,139,138,134,135,129,127,119,141,120,',
',147,439,443,,,441,,,,,,,,758,,143,144,,140,122,123,124,131,128,130',
',,125,126,,,,,145,146,132,133,,,,,,,,,,,,,137,136,,121,142,139,138,134',
'135,129,127,119,141,120,446,437,147,,447,,,,,,,,,,143,144,,140,122,123',
'124,131,128,130,,,125,126,,,,,145,146,132,133,,,,,,,,,,,,,137,136,,121',
'142,139,138,134,135,129,127,119,141,120,446,437,147,,447,,,,,,,,,,143',
'144,,140,122,123,124,131,128,130,,,125,126,,,,,145,146,132,133,,,,,',
',,,,,,,137,136,,121,142,139,138,134,135,129,127,119,141,120,647,437',
'147,,648,,,,,,,,,,143,144,,140,122,123,124,131,128,130,,,125,126,,,',
',145,146,132,133,,,,,,269,,,,,,,137,136,,121,142,139,138,134,135,129',
'127,119,141,120,694,443,147,,695,,,,,,,,,,143,144,,140,122,123,124,131',
'128,130,,,125,126,,,,,145,146,132,133,,,,,,,,,,,,,137,136,,121,142,139',
'138,134,135,129,127,119,141,120,739,437,147,,740,,,,,,,,,,143,144,,140',
'122,123,124,131,128,130,,,125,126,,,,,145,146,132,133,,,,,,269,,,,,',
',137,136,,121,142,139,138,134,135,129,127,119,141,120,647,437,147,,648',
',,,,,,,,,143,144,,140,122,123,124,131,128,130,,,125,126,,,,,145,146',
'132,133,,,,,,269,,,,,,,137,136,,121,142,139,138,134,135,129,127,119',
'141,120,446,437,147,,447,,,,,,,,,,143,144,,140,122,123,124,131,128,130',
',,125,126,,,,,145,146,132,133,,,,,,,,,,,,,137,136,,121,142,139,138,134',
'135,129,127,119,141,120,649,443,147,,650,,,,,,,,,,143,144,,140,122,123',
'124,131,128,130,,,125,126,,,,,145,146,132,133,,,,,,,,,,,,,137,136,,121',
'142,139,138,134,135,129,127,119,141,120,446,437,147,,447,,,,,,,,,,143',
'144,,140,122,123,124,131,128,130,,,125,126,,,,,145,146,132,133,,,,,',
',,,,,,,137,136,,121,142,139,138,134,135,129,127,119,141,120,649,443',
'147,,650,,,,,,,,,,143,144,,140,122,123,124,131,128,130,,,125,126,,,',
',145,146,132,133,,,,,,,,,,,,,137,136,,121,142,139,138,134,135,129,127',
'119,141,120,446,437,147,,447,,,,,,,,,,143,144,,140,122,123,124,131,128',
'130,,,125,126,,,,,145,146,132,133,,,,,,,,,,,,,137,136,,121,142,139,138',
'134,135,129,127,119,141,120,741,443,147,,742,,,,,,,,,,143,144,,140,122',
'123,124,131,128,130,,,125,126,,,,,145,146,132,133,,,,,,,,,,,,,137,136',
',121,142,139,138,134,135,129,127,119,141,120,967,443,147,,968,,,,,,',
',,,143,144,,140,122,123,124,131,128,130,,,125,126,,,,,145,146,132,133',
',,,,,,,,,,,,137,136,,121,142,139,138,134,135,129,127,119,141,120,965',
'437,147,,966,,,,,,,,,,143,144,,140,122,123,124,131,128,130,,,125,126',
',,,,145,146,132,133,,,,,,269,,,,,,,137,136,,121,142,139,138,134,135',
'129,127,119,141,120,446,437,147,,447,,,,,,,,,,143,144,,140,122,123,124',
'131,128,130,,,125,126,,,,,145,146,132,133,,,,,,269,,,,,,,137,136,,121',
'142,139,138,134,135,129,127,119,141,120,433,437,147,,434,,,,,,,,,,143',
'144,,140,122,123,124,131,128,130,,,125,126,,,,,145,146,132,133,,,,,',
'269,,,,,,,137,136,,121,142,139,138,134,135,129,127,119,141,120,747,443',
'147,,745,,,,,,,,,,143,144,,140,122,123,124,131,128,130,,,125,126,,,',
',145,146,132,133,,,,,,,,,,,,,137,136,,121,142,139,138,134,135,129,127',
'119,141,120,691,437,147,,692,,,,,,,,,,143,144,,140,122,123,124,131,128',
'130,,,125,126,,,,,145,146,132,133,,,,,,269,,,,,,,137,136,,121,142,139',
'138,134,135,129,127,119,141,120,,,147' ]
        racc_action_table = arr = ::Array.new(25528, 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,954,739,845,0,0,55,752,752,0,394,0,0,0,0,0,0,0,620,647,704',
'704,466,0,0,0,0,0,0,0,500,296,0,389,26,293,511,389,0,0,0,0,0,0,930,0',
'0,0,0,0,71,0,0,0,456,0,0,0,71,0,0,756,696,740,500,368,756,609,609,647',
'511,377,323,210,394,965,592,704,377,697,620,620,0,966,902,0,385,359',
'0,620,698,0,895,0,55,389,389,0,752,813,350,26,356,752,456,0,967,349',
'739,845,0,0,0,0,0,0,954,968,954,0,0,954,26,210,424,424,424,0,424,933',
'0,488,424,424,252,0,0,424,302,424,424,424,424,424,424,424,566,566,385',
'385,385,424,424,424,424,424,424,424,609,930,424,930,701,319,930,488',
'319,424,813,740,424,424,368,424,424,424,424,424,323,424,424,424,592',
'424,424,424,967,424,424,750,965,368,965,359,750,965,368,968,966,902',
'966,902,844,966,902,813,973,895,356,895,424,702,895,424,813,350,424',
'350,528,424,350,967,349,967,349,424,967,349,288,583,387,291,968,424',
'968,703,301,968,424,424,424,424,424,424,933,691,933,424,424,933,741',
'582,371,371,371,424,371,742,424,695,371,371,294,424,424,371,303,371',
'371,371,371,371,371,371,460,460,510,301,705,371,371,371,371,371,371',
'371,301,528,371,634,212,279,387,387,387,371,279,288,371,371,291,371',
'371,371,371,371,585,371,371,371,510,371,371,371,691,312,312,844,741',
'844,844,973,844,973,528,742,973,695,695,294,583,460,583,528,288,583',
'694,291,371,634,212,371,686,288,371,690,291,371,692,847,294,691,582',
'798,582,376,741,582,391,3,691,710,376,742,3,695,371,371,371,371,371',
'371,353,711,695,371,371,353,35,686,443,443,443,371,443,602,371,714,443',
'443,602,371,371,443,396,443,443,443,443,443,443,443,866,798,694,694',
'312,443,443,443,443,443,443,443,866,716,443,692,433,35,391,391,391,443',
'633,584,443,443,35,443,443,443,443,443,443,443,443,443,718,443,443,443',
'694,443,443,25,25,866,866,719,847,694,847,25,692,847,396,396,396,433',
'373,858,720,692,372,633,443,373,433,443,443,372,443,858,633,443,723',
'443,381,443,797,443,304,945,866,381,374,315,945,443,315,688,648,374',
'443,443,443,443,443,443,945,728,709,443,443,709,858,858,444,444,444',
'443,444,734,443,379,444,444,736,443,443,444,379,444,444,444,444,444',
'444,444,797,945,945,945,945,444,444,444,444,444,444,444,648,858,444',
'375,378,316,220,653,316,444,375,378,444,444,738,444,444,444,444,444',
'444,444,444,444,578,444,444,444,945,444,444,253,653,653,653,653,653',
'653,653,653,653,653,653,594,594,653,653,573,111,653,653,594,444,111',
'111,444,444,354,444,354,940,444,940,444,653,444,653,444,653,653,653',
'653,653,653,653,444,653,569,717,717,444,444,444,444,444,444,717,743',
'14,444,444,214,653,624,454,454,454,444,454,594,444,594,454,454,747,444',
'444,454,748,454,454,454,454,454,454,454,560,363,434,955,955,454,454',
'454,454,454,454,454,213,14,454,37,37,37,717,256,717,454,14,307,454,454',
'558,454,454,454,454,454,454,454,454,454,211,454,454,454,465,454,454',
'434,726,726,483,314,560,560,560,560,434,774,774,363,363,774,774,774',
'297,297,297,363,454,15,15,454,363,292,454,759,465,454,681,454,465,465',
'483,454,763,864,483,483,483,483,864,454,764,363,348,348,454,454,454',
'454,454,454,864,861,861,454,454,84,84,84,455,455,455,454,455,363,454',
'363,455,455,766,454,454,455,767,455,455,455,455,455,455,455,768,864',
'864,864,864,455,455,455,455,455,455,455,770,835,455,835,835,835,678',
'835,773,455,631,545,455,455,544,455,455,455,455,455,455,455,455,455',
'780,455,455,455,864,455,455,543,487,487,487,487,487,487,487,487,487',
'487,487,846,846,487,487,317,318,487,487,846,455,290,320,455,533,529',
'455,194,328,455,637,455,487,522,487,455,487,487,487,487,487,487,487',
'455,487,329,209,209,455,455,455,455,455,455,209,520,801,455,455,802',
'487,487,457,457,457,455,457,846,455,846,457,457,805,455,455,457,807',
'457,457,457,457,457,457,457,280,280,280,280,280,457,457,457,457,457',
'457,457,98,574,457,574,574,574,209,574,209,457,810,811,457,457,812,457',
'457,457,457,457,517,457,457,457,817,457,457,457,674,457,457,820,700',
'700,700,700,700,700,700,700,700,700,700,305,305,700,700,821,516,700',
'700,305,457,331,268,457,836,512,457,839,78,457,77,332,700,506,700,457',
'700,700,700,700,700,700,700,457,700,505,13,13,457,457,457,457,457,457',
'13,502,849,457,457,852,700,853,951,951,951,457,951,305,457,305,951,951',
'854,457,457,951,344,951,951,951,951,951,951,951,685,685,685,685,685',
'951,951,951,951,951,951,951,662,347,951,660,645,642,13,422,13,951,876',
'877,951,951,469,951,951,951,951,951,951,951,951,951,468,951,951,951',
'467,951,951,693,422,422,422,422,422,422,422,422,422,422,422,931,931',
'422,422,355,888,422,422,931,951,358,281,951,36,898,951,899,360,951,904',
'951,422,905,422,951,422,422,422,422,422,422,422,951,422,34,364,440,951',
'951,951,951,951,951,913,915,918,951,951,919,422,920,422,921,830,951',
'432,931,951,931,20,431,285,951,951,949,949,949,949,949,427,932,425,949',
'949,419,652,12,949,942,949,949,949,949,949,949,949,5,5,5,5,5,949,949',
'949,949,949,949,949,413,11,949,830,830,830,830,950,949,949,10,949,949',
'949,393,949,949,949,949,949,390,949,949,949,9,949,949,949,651,949,949',
'959,677,677,677,677,677,677,677,677,677,677,677,42,42,677,677,961,962',
'677,677,42,949,964,6,949,283,284,949,464,1,949,41,949,677,,677,949,677',
'677,677,677,677,677,677,949,677,,,,949,949,949,949,949,949,,,,949,949',
'464,677,,677,464,464,949,,42,949,42,,,,949,949,941,941,941,941,941,',
',,941,941,,,,941,,941,941,941,941,941,941,941,,,,,,941,941,941,941,941',
'941,941,,,941,,,,,,941,941,,941,941,941,,941,941,941,941,941,,941,941',
'941,,941,941,941,,941,941,,19,19,19,19,19,19,19,19,19,19,19,289,289',
'19,19,,,19,19,289,941,,,941,,,941,,,941,,941,19,,19,941,19,19,19,19',
'19,19,19,941,19,,,,941,941,941,941,941,941,366,366,,941,941,,19,,366',
',,941,,289,941,289,,,,941,941,936,936,936,936,936,,,,936,936,,,,936',
',936,936,936,936,936,936,936,,,,,,936,936,936,936,936,936,936,,366,936',
'366,,,,,936,936,,936,936,936,,936,936,936,936,936,,936,936,936,,936',
'936,936,,936,936,,430,430,430,430,430,430,430,430,430,430,430,357,357',
'430,430,,,430,430,357,936,,,936,,,936,,,936,,936,430,,430,936,430,430',
'430,430,430,430,430,936,430,,745,745,936,936,936,936,936,936,745,,,936',
'936,745,430,,458,458,458,936,458,357,936,357,458,458,,936,936,458,,458',
'458,458,458,458,458,458,,,,,,458,458,458,458,458,458,458,,,458,,,,745',
',745,458,,,458,458,,458,458,458,458,458,,458,458,458,,458,458,458,,458',
'458,,879,879,879,879,879,879,879,879,879,879,879,,,879,879,,,879,879',
',458,,,458,,,458,,,458,,,879,,879,458,879,879,879,879,879,879,879,458',
'879,,,,458,458,458,458,458,458,,,,458,458,,879,,459,459,459,458,459',
',458,,459,459,,458,458,459,,459,459,459,459,459,459,459,,,,,,459,459',
'459,459,459,459,459,,,459,,,,,,,459,,,459,459,,459,459,459,459,459,',
'459,459,459,,459,459,459,,459,459,,881,881,881,881,881,881,881,881,881',
'881,881,,,881,881,,,881,881,,459,,,459,,,459,,,459,,,881,,881,459,881',
'881,881,881,881,881,881,459,881,,,,459,459,459,459,459,459,,,,459,459',
',881,,17,17,17,459,17,,459,,17,17,,459,459,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,17,,779,779,779,779,779,779,779,779,779,779,779',
',,779,779,,,779,779,,17,,,17,17,,17,,,17,,,779,,779,17,779,779,779,779',
'779,779,779,17,779,,,,17,17,17,17,17,17,,,,17,17,,779,,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,18,,449',
'449,449,449,449,449,449,449,449,449,449,,,449,449,,,449,449,,18,,,18',
',,18,,,18,,,449,,449,18,449,449,449,449,449,449,449,18,449,,,,18,18',
'18,18,18,18,,,,18,18,,449,,,,,18,,,18,,,,,18,18,929,929,929,929,929',
',,,929,929,,,,929,,929,929,929,929,929,929,929,,,,,,929,929,929,929',
'929,929,929,,,929,,,,,,929,929,,929,929,929,,929,929,929,929,929,,929',
'929,929,,929,929,929,,929,929,,785,785,785,785,785,785,785,785,785,785',
'785,,,785,785,,,785,785,,929,,,929,,,929,,,929,,929,785,,785,929,785',
'785,785,785,785,785,785,929,785,,,,929,929,929,929,929,929,,,,929,929',
',785,,927,927,927,929,927,,929,,927,927,,929,929,927,,927,927,927,927',
'927,927,927,,,,,,927,927,927,927,927,927,927,,,927,,,,,,,927,,,927,927',
',927,927,927,927,927,,927,927,927,,927,927,927,,927,927,,787,787,787',
'787,787,787,787,787,787,787,787,,,787,787,,,787,787,,927,,,927,,,927',
',,927,,927,787,927,787,927,787,787,787,787,787,787,787,927,787,,,,927',
'927,927,927,927,927,,,,927,927,,787,,22,22,22,927,22,,927,,22,22,,927',
'927,22,,22,22,22,22,22,22,22,,,,,,22,22,22,22,22,22,22,,,22,,,,,,,22',
',,22,22,,22,22,22,22,22,22,22,22,22,,22,22,22,,22,22,,790,790,790,790',
'790,790,790,790,790,790,790,,,790,790,,,790,790,,22,,,22,,,22,,,22,',
'22,790,22,790,22,790,790,790,790,790,790,790,22,790,,,,22,22,22,22,22',
'22,,,,22,22,,790,,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,23,,541,541,541,541,541,541,541,541,541,541',
'541,,,541,541,,,541,541,,23,,,23,,,23,,,23,,23,541,23,541,23,541,541',
'541,541,541,541,541,23,541,,,,23,23,23,23,23,23,,,,23,23,,541,,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,24,,799,799,799,799,799,799,799,799,799,799,799,,,799,799,,,799',
'799,,24,,,24,,,24,,,24,,24,799,24,799,24,799,799,799,799,799,799,799',
'24,799,,,,24,24,24,24,24,24,,,,24,24,,799,,,,,24,,,24,,,,,24,24,910',
'910,910,910,910,,,,910,910,,,,910,,910,910,910,910,910,910,910,,,,,',
'910,910,910,910,910,910,910,,,910,,,,,,910,910,,910,910,910,,910,910',
'910,910,910,,910,910,910,,910,910,910,,910,910,,250,250,250,250,250',
'250,250,250,250,250,250,,,250,250,,,250,250,,910,,,910,,,910,,,910,',
'910,250,,250,910,250,250,250,250,250,250,250,910,250,,,,910,910,910',
'910,910,910,,,,910,910,,250,,,,,910,,,910,,,,,910,910,907,907,907,907',
'907,,,,907,907,,,,907,,907,907,907,907,907,907,907,,,,,,907,907,907',
'907,907,907,907,,,907,,,,,,907,907,,907,907,907,,907,907,907,907,907',
',907,907,907,,907,907,907,,907,907,,792,792,792,792,792,792,792,792',
'792,792,792,,,792,792,,,792,792,,907,,,907,,,907,,,907,,907,792,,792',
'907,792,792,792,792,792,792,792,907,792,,,,907,907,907,907,907,907,',
',,907,907,,792,,490,490,490,907,490,,907,,490,490,,907,907,490,,490',
'490,490,490,490,490,490,,,,,,490,490,490,490,490,490,490,484,571,490',
'571,571,571,,571,,490,,,490,490,,490,490,490,490,490,490,490,490,490',
',490,490,490,,490,490,,484,,,,484,484,484,484,,571,,,,,,,,571,,,490',
',,490,,,490,,,490,,490,,490,,490,564,,564,564,564,,564,490,,,,,490,490',
'490,490,490,490,,,,490,490,,,,492,492,492,490,492,,490,,492,492,,490',
'490,492,564,492,492,492,492,492,492,492,564,564,564,564,,492,492,492',
'492,492,492,492,,340,492,340,340,340,,340,,492,,,492,492,,492,492,492',
'492,492,492,492,492,492,,492,492,492,,492,492,724,,724,724,724,,724',
',,,340,,,,,,,,340,,,492,,,492,472,,492,,,492,,,,492,,492,,,,724,,472',
'472,492,,,,724,492,492,492,492,492,492,,,472,492,492,,472,472,472,472',
',492,,,492,,,,,492,492,30,30,30,30,30,,,,30,30,,,,30,,30,30,30,30,30',
'30,30,,,,,,30,30,30,30,30,30,30,,,30,,,,,,30,30,,30,30,30,,30,30,30',
'30,30,,30,30,30,,30,30,30,,30,30,,481,481,481,481,481,481,481,,,481',
'481,,,,,,,481,481,,30,,,30,,,30,,,30,,30,481,,481,30,481,481,481,481',
'481,481,481,30,481,,,,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,31,657,,657,657',
'657,470,657,,,,,,,,,,,,,,,,470,470,31,,,31,,,31,,,31,,31,,470,,470,657',
'470,470,470,470,,,,657,657,657,657,31,31,31,31,31,31,,657,,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',
'32,324,,324,324,324,,324,,,,,,,,,,,,,,,,,,32,,,32,,,32,,,32,,,,,,,324',
',324,,,,,,324,324,324,324,32,32,32,32,32,32,,,,32,32,,,,32,,,32,,,32',
',,,,32,32,906,906,906,,906,,,,906,906,,,,906,,906,906,906,906,906,906',
'906,,,,,,906,906,906,906,906,906,906,,,906,,,,,,,906,,,906,906,,906',
'906,906,906,906,,906,906,906,,906,906,906,,906,906,,462,462,462,462',
'462,462,462,462,462,462,462,,,462,462,,,462,462,,906,,,906,,,906,,,906',
',906,462,,462,906,462,462,462,462,462,462,462,906,462,,,,906,906,906',
'906,906,906,,,,906,906,,,,352,352,352,906,352,,906,,352,352,,906,906',
'352,,352,352,352,352,352,352,352,,,,,,352,352,352,352,352,352,352,,',
'352,,,,,,,352,,,352,352,,352,352,352,352,352,,352,352,352,,352,352,352',
',352,352,,463,463,463,463,463,463,463,463,463,463,463,,,463,463,,,463',
'463,,352,,,352,,,352,,,352,,,463,,463,352,463,463,463,463,463,463,463',
'352,463,,,,352,352,352,352,352,352,,,,352,352,,,,896,896,896,352,896',
',352,,896,896,,352,352,896,,896,896,896,896,896,896,896,,,,,,896,896',
'896,896,896,896,896,,,896,,,,,,,896,,,896,896,,896,896,896,896,896,',
'896,896,896,,896,896,896,56,,56,56,56,,56,,,,,,,,,,,,,,,,,,896,,,896',
',,896,,,896,,,,,,,56,56,,,,,,,56,56,56,56,896,896,896,896,896,896,,',
',896,896,,,,351,351,351,896,351,,896,,351,351,,896,896,351,,351,351',
'351,351,351,351,351,,,,,,351,351,351,351,351,351,351,,,351,,,,,,,351',
',,351,351,,351,351,351,351,351,,351,351,351,,351,351,351,,351,351,,473',
'473,473,473,473,473,473,,,473,473,,,,,,,473,473,,351,,,351,,,351,,,351',
',,473,,473,351,473,473,473,473,473,473,473,351,473,,,,351,351,351,351',
'351,351,,,,351,351,,,,38,38,38,351,38,,351,,38,38,,351,351,38,,38,38',
'38,38,38,38,38,,,,,,38,38,38,38,38,38,38,,,38,,,,,,,38,,,38,38,,38,38',
'38,38,38,,38,38,38,,38,38,38,,38,38,,474,,,,,,,,,,,,,,,,,474,474,,38',
',,38,,,38,,,38,,,474,,474,38,474,474,474,474,,,474,38,474,,,,38,38,38',
'38,38,38,,,,38,38,,,,39,39,39,38,39,,38,,39,39,,38,38,39,,39,39,39,39',
'39,39,39,,,,,,39,39,39,39,39,39,39,,,39,,,,,,,39,,,39,39,,39,39,39,39',
'39,,39,39,39,,39,39,39,,39,39,,475,,,,,,,,,,,,,,,,,475,475,,39,,,39',
',,39,,,39,,,475,,475,39,475,475,475,475,,,475,39,475,,,,39,39,39,39',
'39,39,,,,39,39,,,,40,40,40,39,40,,39,,40,40,,39,39,40,,40,40,40,40,40',
'40,40,,,,,,40,40,40,40,40,40,40,,,40,,,,,,,40,,,40,40,,40,40,40,40,40',
',40,40,40,,40,40,40,,40,40,,476,,,,,,,,,,,,,,,,,476,476,,40,,,40,,,40',
',,40,,,476,,476,40,476,476,476,476,,,476,40,476,,,,40,40,40,40,40,40',
',,,40,40,,,,,,,40,,,40,,,,,40,40,892,892,892,892,892,,,,892,892,,,,892',
',892,892,892,892,892,892,892,,,,,,892,892,892,892,892,892,892,,,892',
',,,,,892,892,,892,892,892,,892,892,892,892,892,,892,892,892,,892,892',
'892,,892,892,,477,,,,,,,,,,,,,,,,,477,477,,892,,,892,,,892,,,892,,892',
'477,,477,892,477,477,477,477,,,477,892,477,,,,892,892,892,892,892,892',
',,,892,892,,,,887,887,887,892,887,,892,,887,887,,892,892,887,,887,887',
'887,887,887,887,887,,,,,,887,887,887,887,887,887,887,,,887,,,,,,,887',
',,887,887,,887,887,887,887,887,887,887,887,887,,887,887,887,,887,887',
',478,478,478,478,478,478,478,,,478,478,,,,,,,478,478,,887,,,887,,,887',
',,887,,,478,887,478,887,478,478,478,478,478,478,478,887,478,,,,887,887',
'887,887,887,887,,,,887,887,,,,494,494,494,887,494,,887,,494,494,,887',
'887,494,,494,494,494,494,494,494,494,,,,,,494,494,494,494,494,494,494',
',,494,,,,,,,494,,,494,494,,494,494,494,494,494,,494,494,494,,494,494',
'494,,494,494,,482,482,482,482,482,482,482,,,482,482,,,,,,,482,482,,494',
',,494,,,494,,,494,,,482,,482,494,482,482,482,482,482,482,482,494,482',
',,,494,494,494,494,494,494,,,,494,494,,,,52,52,52,494,52,,494,,52,52',
',494,494,52,,52,52,52,52,52,52,52,,,,,,52,52,52,52,52,52,52,,,52,,,',
',,,52,,,52,52,,52,52,52,52,52,,52,52,52,,52,52,52,,52,52,,480,480,480',
'480,480,480,480,,,480,480,,,,,,,480,480,,52,,,52,,,52,,,52,,,480,,480',
'52,480,480,480,480,480,480,480,52,480,,,,52,52,52,52,52,52,,,,52,52',
',,,53,53,53,52,53,,52,,53,53,,52,52,53,,53,53,53,53,53,53,53,,,,,,53',
'53,53,53,53,53,53,,,53,,,,,,,53,,,53,53,,53,53,53,53,53,53,53,53,53',
',53,53,53,,53,53,,486,486,486,486,486,486,486,486,,486,486,,,,,,,486',
'486,,53,,,53,,,53,,,53,,53,486,,486,53,486,486,486,486,486,486,486,53',
'486,,,,53,53,53,53,53,53,,,,53,53,,,,54,54,54,53,54,,53,,54,54,,53,53',
'54,,54,54,54,54,54,54,54,,,,,,54,54,54,54,54,54,54,,,54,,,,,,,54,,,54',
'54,,54,54,54,54,54,54,54,54,54,,54,54,54,,54,54,,485,485,485,485,485',
'485,485,,,485,485,,,,,,,485,485,,54,,,54,,,54,,,54,,,485,,485,54,485',
'485,485,485,485,485,485,54,485,,,,54,54,54,54,54,54,,,,54,54,,,,883',
'883,883,54,883,,54,,883,883,,54,54,883,,883,883,883,883,883,883,883',
',,,,,883,883,883,883,883,883,883,,,883,,,,,,,883,,,883,883,,883,883',
'883,883,883,,883,883,883,,883,883,883,,883,883,,479,479,479,479,479',
'479,479,,,479,479,,,,,,,479,479,,883,,,883,,,883,,,883,,,479,,479,883',
'479,479,479,479,479,479,479,883,479,,,,883,883,883,883,883,883,,,,883',
'883,,,,882,882,882,883,882,,883,,882,882,,883,883,882,,882,882,882,882',
'882,882,882,,,,,,882,882,882,882,882,882,882,,,882,,,,,,,882,,,882,882',
',882,882,882,882,882,,882,882,882,,882,882,882,,882,882,,471,,,,,,,',
',,,,,,,,,471,471,,882,,,882,,,882,,,882,,,471,,471,882,471,471,471,471',
',,,882,,,,,882,882,882,882,882,882,,,,882,882,,,,57,57,57,882,57,,882',
',57,57,,882,882,57,,57,57,57,57,57,57,57,,,,,,57,57,57,57,57,57,57,',
',57,,,,,,,57,,,57,57,,57,57,57,57,57,,57,57,57,,57,57,57,,57,57,,,,',
',,,,,,,,,,,,,,,,,57,,,57,,,57,,,57,,,,,,57,,,,,,,,57,,,,,57,57,57,57',
'57,57,,,,57,57,,,,58,58,58,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,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,61,62,62,62,,62,,,,62,62,,,,62',
',62,62,62,62,62,62,62,,,,,,62,62,62,62,62,62,62,,,62,,,,,,,62,,,62,62',
',62,62,62,62,62,,62,62,62,,62,62,62,,,,,,,,,,,,,,,,,,,,,,,,,62,,,62',
',,62,,,62,,62,,,,,,,,,,,,,,,,,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,63,,,,',
',,,,,,,,,,,,,,,,,63,,,63,,,63,,,63,,,63,,,,,,,,,,,,,,,,,,,63,63,63,63',
'63,63,,,,63,63,,,,868,868,868,63,868,,63,,868,868,,63,63,868,,868,868',
'868,868,868,868,868,,,,,,868,868,868,868,868,868,868,,,868,,,,,,,868',
',,868,868,,868,868,868,868,868,,868,868,868,,868,868,868,,868,868,,',
',,,,,,,,,,,,,,,,,,,868,,,868,,,868,,,868,,,,,,868,,,,,,,,868,,,,,868',
'868,868,868,868,868,,,,868,868,,,,509,509,509,868,509,,868,,509,509',
',868,868,509,,509,509,509,509,509,509,509,,,,,,509,509,509,509,509,509',
'509,,,509,,,,,,,509,,,509,509,,509,509,509,509,509,,509,509,509,,509',
'509,509,,509,509,,,,,,,,,,,,,,,,,,,,,,509,,,509,,509,509,,,509,,,,509',
',509,,,,,,,,509,,,,,509,509,509,509,509,509,,,,509,509,,,,,,,509,,,509',
',,,,509,509,841,841,841,841,841,,,,841,841,,,,841,,841,841,841,841,841',
'841,841,,,,,,841,841,841,841,841,841,841,,,841,,,,,,841,841,,841,841',
'841,,841,841,841,841,841,,841,841,841,,841,841,841,,841,841,,,,,,,,',
',,,,,,,,,,,,,841,,,841,,,841,,,841,,841,,,,841,,,,,,,,841,,,,,841,841',
'841,841,841,841,,,,841,841,,,,,,,841,,,841,,,,,841,841,840,840,840,840',
'840,,,,840,840,,,,840,,840,840,840,840,840,840,840,,,,,,840,840,840',
'840,840,840,840,,,840,,,,,,840,840,,840,840,840,,840,840,840,840,840',
',840,840,840,,840,840,840,,840,840,,,,,,,,,,,,,,,,,,,,,,840,,,840,,',
'840,,,840,,840,,,,840,,,,,,,,840,,,,,840,840,840,840,840,840,,,,840',
'840,,,,838,838,838,840,838,,840,,838,838,,840,840,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,838,,,,,,,,,,,,',
',,,,,,,,,838,,,838,,,838,,,838,,,,,,838,,,,,,,,838,,,,,838,838,838,838',
'838,838,,,,838,838,,,,,,,838,,,838,,,,,838,838,819,819,819,819,819,',
',,819,819,,,,819,,819,819,819,819,819,819,819,,,,,,819,819,819,819,819',
'819,819,,,819,,,,,,819,819,,819,819,819,,819,819,819,819,819,,819,819',
'819,,819,819,819,,819,819,,,,,,,,,,,,,,,,,,,,,,819,,,819,,,819,,,819',
',819,,,,819,,,,,,,,819,,,,,819,819,819,819,819,819,,,,819,819,,,,85',
'85,85,819,85,,819,,85,85,,819,819,85,,85,85,85,85,85,85,85,,85,,,,85',
'85,85,85,85,85,85,,,85,,,,,,,85,,,85,85,,85,85,85,85,85,85,85,85,85',
',85,85,85,,85,85,,,,,,,,,,,,,,,,,,,,,,85,,,85,85,,85,,,85,,85,,85,,85',
',,,,,,,85,,85,,,85,85,85,85,85,85,,,,85,85,,,,88,88,88,85,88,,85,,88',
'88,,85,85,88,,88,88,88,88,88,88,88,,88,,,,88,88,88,88,88,88,88,,,88',
',,,,,,88,,,88,88,,88,88,88,88,88,88,88,88,88,,88,88,88,,88,88,,,,,,',
',,,,,,,,,,,,,,,88,,,88,88,,88,,,88,,88,,88,,88,,,,,,,,88,,88,,,88,88',
'88,88,88,88,,,,88,88,,,,808,808,808,88,808,,88,,808,808,,88,88,808,',
'808,808,808,808,808,808,808,,,,,,808,808,808,808,808,808,808,,,808,',
',,,,,808,,,808,808,,808,808,808,808,808,,808,808,808,,808,808,808,,808',
'808,,,,,,,,,,,,,,,,,,,,,,808,,,808,,,808,,,808,,808,,,,808,,,,,,,,808',
',,,,808,808,808,808,808,808,,,,808,808,,,,,,,808,,,808,,,,,808,808,100',
'100,100,100,100,,,,100,100,,,,100,,100,100,100,100,100,100,100,,,,,',
'100,100,100,100,100,100,100,,,100,,,,,,100,100,100,100,100,100,,100',
'100,100,100,100,,100,100,100,,100,100,100,,100,100,,,,,,,,,,,,,,,,,',
',,,,100,,,100,,,100,,,100,,100,,,,100,,,,,,,,100,,,,,100,100,100,100',
'100,100,,,,100,100,,,,,,100,100,,,100,,,,,100,100,104,104,104,,104,',
',,104,104,,,,104,,104,104,104,104,104,104,104,,,,,,104,104,104,104,104',
'104,104,,,104,,,,,,,104,,,104,104,,104,104,104,104,104,,104,104,104',
',104,104,104,,104,104,,,,,,,,,,,,,,,,,,,,,,104,,,104,,,104,,,104,,,',
',,104,,,,,,,,104,,,,,104,104,104,104,104,104,,,,104,104,,,,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,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,,,,107,107,107,106,107,,106,,107,107',
',106,106,107,,107,107,107,107,107,107,107,,,,,,107,107,107,107,107,107',
'107,,,107,,,,,,,107,,,107,107,,107,107,107,107,107,,107,107,107,,107',
'107,107,,107,107,,,,,,,,,,,,,,,,,,,,,,107,,,107,,,107,,,107,,,,,,107',
',,,,,,,107,,,,,107,107,107,107,107,107,,,,107,107,,,,,,,107,,,107,,',
',,107,107,108,108,108,108,108,,,,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,109,109,109,109',
'109,,,,109,109,,,,109,,109,109,109,109,109,109,109,,,,,,109,109,109',
'109,109,109,109,,,109,,,,,,109,109,109,109,109,109,,109,109,109,109',
'109,,109,109,109,,109,109,109,,109,109,,,,,,,,,,,,,,,,,,,,,,109,,,109',
',,109,,,109,,109,,,,109,,,,,,,,109,,,,,109,109,109,109,109,109,,,,109',
'109,,,,796,796,796,109,796,,109,,796,796,,109,109,796,,796,796,796,796',
'796,796,796,,,,,,796,796,796,796,796,796,796,,,796,,,,,,,796,,,796,796',
',796,796,796,796,796,,796,796,796,,796,796,796,,796,796,,,,,,,,,,,,',
',,,,,,,,,796,,,796,,,796,,,796,,,,,,796,,,,,,,,796,,,,,796,796,796,796',
'796,796,,,,796,796,,,,795,795,795,796,795,,796,,795,795,,796,796,795',
',795,795,795,795,795,795,795,,,,,,795,795,795,795,795,795,795,,,795',
',,,,,,795,,,795,795,,795,795,795,795,795,,795,795,795,,795,795,795,',
'795,795,,,,,,,,,,,,,,,,,,,,,,795,,,795,,,795,,,795,,,,,,795,,,,,,,,795',
',,,,795,795,795,795,795,795,,,,795,795,,,,794,794,794,795,794,,795,',
'794,794,,795,795,794,,794,794,794,794,794,794,794,,,,,,794,794,794,794',
'794,794,794,,,794,,,,,,,794,,,794,794,,794,794,794,794,794,,794,794',
'794,,794,794,794,,794,794,,,,,,,,,,,,,,,,,,,,,,794,,,794,,,794,,,794',
',,,,,794,,,,,,,,794,,,,,794,794,794,794,794,794,,,,794,794,,,,,,,794',
',,794,,,,,794,794,196,196,196,196,196,,,,196,196,,,,196,,196,196,196',
'196,196,196,196,,,,,,196,196,196,196,196,196,196,,,196,,,,,,196,196',
',196,196,196,,196,196,196,196,196,,196,196,196,,196,196,196,,196,196',
',,,,,,,,,,,,,,,,,,,,,196,,,196,,,196,,,196,,196,,,,196,,,,,,,,196,,',
',,196,196,196,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,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,,,,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,,,,200,200,200,199,200,,199,,200,200',
',199,199,200,,200,200,200,200,200,200,200,,,,,,200,200,200,200,200,200',
'200,,,200,,,,,,,200,,,200,200,,200,200,200,200,200,200,200,200,200,',
'200,200,200,,200,200,,,,,,,,,,,,,,,,,,,,,,200,,,200,,,200,,,200,,200',
',,,200,,,,,,,,200,,,,,200,200,200,200,200,200,,,,200,200,,,,201,201',
'201,200,201,,200,,201,201,,200,200,201,,201,201,201,201,201,201,201',
',,,,,201,201,201,201,201,201,201,,,201,,,,,,,201,,,201,201,,201,201',
'201,201,201,201,201,201,201,,201,201,201,,201,201,,,,,,,,,,,,,,,,,,',
',,,201,,,201,,,201,,,201,,201,,,,201,,,,,,,,201,,,,,201,201,201,201',
'201,201,,,,201,201,,,,783,783,783,201,783,,201,,783,783,,201,201,783',
',783,783,783,783,783,783,783,,,,,,783,783,783,783,783,783,783,,,783',
',,,,,,783,,,783,783,,783,783,783,783,783,,783,783,783,,783,783,783,',
'783,783,,,,,,,,,,,,,,,,,,,,,,783,,,783,,,783,,,783,,,,,,783,,,,,,,,783',
',,,,783,783,783,783,783,783,,,,783,783,,,,782,782,782,783,782,,783,',
'782,782,,783,783,782,,782,782,782,782,782,782,782,,,,,,782,782,782,782',
'782,782,782,,,782,,,,,,,782,,,782,782,,782,782,782,782,782,,782,782',
'782,,782,782,782,,782,782,,,,,,,,,,,,,,,,,,,,,,782,,,782,,,782,,,782',
',,,,,782,,,,,,,,782,,,,,782,782,782,782,782,782,,,,782,782,,,,781,781',
'781,782,781,,782,,781,781,,782,782,781,,781,781,781,781,781,781,781',
',,,,,781,781,781,781,781,781,781,,,781,,,,,,,781,,,781,781,,781,781',
'781,781,781,,781,781,781,,781,781,781,,781,781,,,,,,,,,,,,,,,,,,,,,',
'781,,,781,,,781,,,781,,,,,,781,,,,,,,,781,,,,,781,781,781,781,781,781',
',,,781,781,,,,205,205,205,781,205,,781,,205,205,,781,781,205,,205,205',
'205,205,205,205,205,,,,,,205,205,205,205,205,205,205,,,205,,,,,,,205',
',,205,205,,205,205,205,205,205,,205,205,205,,205,205,205,,205,205,,',
',,,,,,,,,,,,,,,,,,,205,,,205,,,205,,,205,,,,,,205,,,,,,,,205,,,,,205',
'205,205,205,205,205,,,,205,205,,,,206,206,206,205,206,,205,,206,206',
',205,205,206,,206,206,206,206,206,206,206,,,,,,206,206,206,206,206,206',
'206,,,206,,,,,,,206,,,206,206,,206,206,206,206,206,,206,206,206,,206',
'206,206,,206,206,,,,,,,,,,,,,,,,,,,,,,206,,,206,,,206,,,206,,,,,,206',
',,,,,,,206,,,,,206,206,206,206,206,206,,,,206,206,,,,207,207,207,206',
'207,,206,,207,207,,206,206,207,,207,207,207,207,207,207,207,,,,,,207',
'207,207,207,207,207,207,,,207,,,,,,,207,,,207,207,,207,207,207,207,207',
',207,207,207,,207,207,207,,207,207,,,,,,,,,,,,,,,,,,,,,,207,,,207,,',
'207,,,207,,,,,,207,,,,,,,,207,,,,,207,207,207,207,207,207,,,,207,207',
',,,,,,207,,,207,,,,,207,207,775,775,775,775,775,,,,775,775,,,,775,,775',
'775,775,775,775,775,775,,,,,,775,775,775,775,775,775,775,,,775,,,,,',
'775,775,,775,775,775,,775,775,775,775,775,,775,775,775,,775,775,775',
',775,775,,,,,,,,,,,,,,,,,,,,,,775,,,775,,,775,,,775,,775,,,,775,,,,',
',,,775,,,,,775,775,775,775,775,775,,,,775,775,,,,761,761,761,775,761',
',775,,761,761,,775,775,761,,761,761,761,761,761,761,761,,,,,,761,761',
'761,761,761,761,761,,,761,,,,,,,761,,,761,761,,761,761,761,761,761,',
'761,761,761,,761,761,761,,761,761,,,,,,,,,,,,,,,,,,,,,,761,,,761,,,761',
',,761,,,,,,761,,,,,,,,761,,,,,761,761,761,761,761,761,,,,761,761,,,',
',,,761,,,761,,,,,761,761,754,754,754,754,754,,,,754,754,,,,754,,754',
'754,754,754,754,754,754,,,,,,754,754,754,754,754,754,754,,,754,,,,,',
'754,754,,754,754,754,,754,754,754,754,754,,754,754,754,,754,754,754',
',754,754,,,,,,,,,,,,,,,,,,,,,,754,,,754,,,754,,,754,,754,,,,754,,,,',
',,,754,,,,,754,754,754,754,754,754,,,,754,754,,,,,,,754,,,754,,,,,754',
'754,753,753,753,753,753,,,,753,753,,,,753,,753,753,753,753,753,753,753',
',,,,,753,753,753,753,753,753,753,,,753,,,,,,753,753,,753,753,753,,753',
'753,753,753,753,,753,753,753,,753,753,753,,753,753,,,,,,,,,,,,,,,,,',
',,,,753,,,753,,,753,,,753,,753,,,,753,,,,,,,,753,,,,,753,753,753,753',
'753,753,,,,753,753,,,,,,,753,,,753,,,,,753,753,749,749,749,749,749,',
',,749,749,,,,749,,749,749,749,749,749,749,749,,,,,,749,749,749,749,749',
'749,749,,,749,,,,,,749,749,,749,749,749,,749,749,749,749,749,,749,749',
'749,,749,749,749,,749,749,,,,,,,,,,,,,,,,,,,,,,749,,,749,,,749,,,749',
',749,,,,749,,,,,,,,749,,,,,749,749,749,749,749,749,,,,749,749,,,,744',
'744,744,749,744,,749,,744,744,,749,749,744,,744,744,744,744,744,744',
'744,,,,,,744,744,744,744,744,744,744,,,744,,,,,,,744,,,744,744,,744',
'744,744,744,744,,744,744,744,,744,744,744,,744,744,,,,,,,,,,,,,,,,,',
',,,,744,,,744,,,744,,,744,,,,,,744,,,,,,,,744,,,,,744,744,744,744,744',
'744,,,,744,744,,,,,,,744,,,744,,,,,744,744,215,215,215,215,215,,,,215',
'215,,,,215,,215,215,215,215,215,215,215,,,,,,215,215,215,215,215,215',
'215,,,215,,,,,,215,215,,215,215,215,,215,215,215,215,215,,215,215,215',
',215,215,215,,215,215,,,,,,,,,,,,,,,,,,,,,,215,,,215,,,215,,,215,,215',
',,,215,,,,,,,,215,,,,,215,215,215,215,215,215,,,,215,215,,,,216,216',
'216,215,216,,215,,216,216,,215,215,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,,,,216,216,,,,219,219,219,216,219,,216,,219,219,,216,216,219,,219',
'219,219,219,219,219,219,,,,,,219,219,219,219,219,219,219,,,219,,,,,',
',219,,,219,219,,219,219,219,219,219,,219,219,219,,219,219,219,,219,219',
',,,,,,,,,,,,,,,,,,,,,219,,,219,,,219,,,219,,,,,,219,,,,,,,,219,,,,,219',
'219,219,219,219,219,,,,219,219,,,,737,737,737,219,737,,219,,737,737',
',219,219,737,,737,737,737,737,737,737,737,,,,,,737,737,737,737,737,737',
'737,,,737,,,,,,,737,,,737,737,,737,737,737,737,737,,737,737,737,,737',
'737,737,,737,737,,,,,,,,,,,,,,,,,,,,,,737,,,737,,,737,,,737,,737,,,',
'737,,,,,,,,737,,,,,737,737,737,737,737,737,,,,737,737,,,,221,221,221',
'737,221,,737,,221,221,,737,737,221,,221,221,221,221,221,221,221,,,,',
',221,221,221,221,221,221,221,,,221,,,,,,,221,,,221,221,,221,221,221',
'221,221,,221,221,221,,221,221,221,,221,221,,,,,,,,,,,,,,,,,,,,,,221',
',,221,,,221,,,221,,,,,,221,,,,,,,,221,,,,,221,221,221,221,221,221,,',
',221,221,,,,222,222,222,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,243,,,,244,244,244,243,244,,243,,244,244',
',243,243,244,,244,244,244,244,244,244,244,,,,,,244,244,244,244,244,244',
'244,,,244,,,,,,,244,,,244,244,,244,244,244,244,244,,244,244,244,,244',
'244,244,,244,244,,,,,,,,,,,,,,,,,,,,,,244,,,244,,,244,,,244,,,,,,244',
',,,,,,,244,,,,,244,244,244,244,244,244,,,,244,244,,,,245,245,245,244',
'245,,244,,245,245,,244,244,245,,245,245,245,245,245,245,245,,,,,,245',
'245,245,245,245,245,245,,,245,,,,,,,245,,,245,245,,245,245,245,245,245',
',245,245,245,,245,245,245,,245,245,,,,,,,,,,,,,,,,,,,,,,245,,,245,,',
'245,,,245,,,,,,245,,,,,,,,245,,,,,245,245,245,245,245,245,,,,245,245',
',,,246,246,246,245,246,,245,,246,246,,245,245,246,,246,246,246,246,246',
'246,246,,,,,,246,246,246,246,246,246,246,,,246,,,,,,,246,,,246,246,',
'246,246,246,246,246,,246,246,246,,246,246,246,,246,246,,,,,,,,,,,,,',
',,,,,,,,246,,,246,,,246,,,246,,,,,,246,,,,,,,,246,,,,,246,246,246,246',
'246,246,,,,246,246,,,,706,706,706,246,706,,246,,706,706,,246,246,706',
',706,706,706,706,706,706,706,,,,,,706,706,706,706,706,706,706,,,706',
',,,,,,706,,,706,706,,706,706,706,706,706,,706,706,706,,706,706,706,',
'706,706,,,,,,,,,,,,,,,,,,,,,,706,,,706,,,706,,,706,,706,,,,706,,,,,',
',,706,,,,,706,706,706,706,706,706,,,,706,706,,,,699,699,699,706,699',
',706,,699,699,,706,706,699,,699,699,699,699,699,699,699,,,,,,699,699',
'699,699,699,699,699,,,699,,,,,,,699,,,699,699,,699,699,699,699,699,',
'699,699,699,,699,699,699,,,,,,,,,,,,,,,,,,,,,,,,,699,,,699,,,699,,,699',
',,,,,,,,,,,,,,,,,,699,699,699,699,699,699,,,,699,699,,,,687,687,687',
'699,687,,699,,687,687,,699,699,687,,687,687,687,687,687,687,687,,,,',
',687,687,687,687,687,687,687,,,687,,,,,,,687,,,687,687,,687,687,687',
'687,687,,687,687,687,,687,687,687,,,,,,,,,,,,,,,,,,,,,,,,,687,,,687',
',,687,,,687,,,,,,,,,,,,,,,,,,,687,687,687,687,687,687,,,,687,687,,,',
'255,255,255,687,255,,687,,255,255,,687,687,255,,255,255,255,255,255',
'255,255,,,,,,255,255,255,255,255,255,255,,,255,,,,,,,255,,,255,255,',
'255,255,255,255,255,,255,255,255,,255,255,255,,255,255,,,,,,,,,,,,,',
',,,,,,,,255,,,255,,,255,,,255,,,,,,255,,,,,,,,255,,,,,255,255,255,255',
'255,255,,,,255,255,,,,,,,255,,,255,,,,,255,255,683,683,683,683,683,',
',,683,683,,,,683,,683,683,683,683,683,683,683,,,,,,683,683,683,683,683',
'683,683,,,683,,,,,,683,683,,683,683,683,,683,683,683,683,683,,683,683',
'683,,683,683,683,,683,683,,,,,,,,,,,,,,,,,,,,,,683,,,683,,,683,,,683',
',683,,,,683,,,,,,,,683,,,,,683,683,683,683,683,683,,,,683,683,,,,257',
'257,257,683,257,,683,,257,257,,683,683,257,,257,257,257,257,257,257',
'257,,,,,,257,257,257,257,257,257,257,,,257,,,,,,,257,,,257,257,,257',
'257,257,257,257,,257,257,257,,257,257,257,,257,257,,,,,,,,,,,,,,,,,',
',,,,257,,,257,,,257,,,257,,,,,,257,,,,,,,,257,,,,,257,257,257,257,257',
'257,,,,257,257,,,,262,262,262,257,262,,257,,262,262,,257,257,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,262,,262,262',
',,,,,,,,,,,,,,,,,,,,,262,,,262,,,262,,,262,,,,,,262,,,,,,,,262,,,,,262',
'262,262,262,262,262,,,,262,262,,,,,,,262,,,262,,,,,262,262,682,682,682',
'682,682,,,,682,682,,,,682,,682,682,682,682,682,682,682,,,,,,682,682',
'682,682,682,682,682,,,682,,,,,,682,682,,682,682,682,,682,682,682,682',
'682,,682,682,682,,682,682,682,,682,682,,,,,,,,,,,,,,,,,,,,,,682,,,682',
',,682,,,682,,682,,,,682,,,,,,,,682,,,,,682,682,682,682,682,682,,,,682',
'682,,,,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,676,676,,676,676,,,,,,,,,',
',,,,,,,,,,,,676,,,676,,,676,,,676,,,,676,,676,,,,,,,,676,,,,,676,676',
'676,676,676,676,,,,676,676,,,,675,675,675,676,675,,676,,675,675,,676',
'676,675,,675,675,675,675,675,675,675,,,,,,675,675,675,675,675,675,675',
',,675,,,,,,,675,,,675,675,,675,675,675,675,675,675,675,675,675,,675',
'675,675,,675,675,,,,,,,,,,,,,,,,,,,,,,675,,,675,,,675,,,675,,675,,675',
',675,,,,,,,,675,,,,,675,675,675,675,675,675,,,,675,675,,,,,,,675,,,675',
',,,,675,675,672,672,672,672,672,,,,672,672,,,,672,,672,672,672,672,672',
'672,672,,,,,,672,672,672,672,672,672,672,,,672,,,,,,672,672,,672,672',
'672,,672,672,672,672,672,,672,672,672,,672,672,672,,672,672,,,,,,,,',
',,,,,,,,,,,,,672,,,672,,,672,,,672,,672,,,,672,,,,,,,,672,,,,,672,672',
'672,672,672,672,,,,672,672,,,,269,269,269,672,269,,672,,269,269,,672',
'672,269,,269,269,269,269,269,269,269,,,,,,269,269,269,269,269,269,269',
',,269,,,,,,,269,,,269,269,,269,269,269,269,269,269,269,269,269,,269',
'269,269,,269,269,,,,,,,,,,,,,,,,,,,,,,269,,,269,,,269,,,269,,269,,269',
',269,,,,,,,,269,,,,,269,269,269,269,269,269,,,,269,269,,,,270,270,270',
'269,270,,269,,270,270,,269,269,270,,270,270,270,270,270,270,270,,,,',
',270,270,270,270,270,270,270,,,270,,,,,,,270,,,270,270,,270,270,270',
'270,270,270,270,270,270,,270,270,270,,270,270,,,,,,,,,,,,,,,,,,,,,,270',
',,270,,,270,,,270,,270,,270,,270,,,,,,,,270,,,,,270,270,270,270,270',
'270,,,,270,270,,,,278,278,278,270,278,,270,,278,278,,270,270,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,,,,663,663,663,278,663',
',278,,663,663,,278,278,663,,663,663,663,663,663,663,663,,,,,,663,663',
'663,663,663,663,663,,,663,,,,,,,663,,,663,663,,663,663,663,663,663,',
'663,663,663,,663,663,663,,663,663,,,,,,,,,,,,,,,,,,,,,,663,,,663,,,663',
',,663,,,,,,663,,,,,,,,663,,,,,663,663,663,663,663,663,,,,663,663,,,',
',,,663,,,663,,,,,663,663,659,659,659,659,659,,,,659,659,,,,659,,659',
'659,659,659,659,659,659,,,,,,659,659,659,659,659,659,659,,,659,,,,,',
'659,659,,659,659,659,,659,659,659,659,659,,659,659,659,,659,659,659',
',659,659,,,,,,,,,,,,,,,,,,,,,,659,,,659,,,659,,,659,,659,,,,659,,,,',
',,,659,,,,,659,659,659,659,659,659,,,,659,659,,,,655,655,655,659,655',
',659,,655,655,,659,659,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,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,,,,282,,,,',
',,,282,,,,,282,282,282,282,282,282,,,,282,282,,,,,,,282,,,282,,,,,282',
'282,515,515,515,515,515,,,,515,515,,,,515,,515,515,515,515,515,515,515',
',,,,,515,515,515,515,515,515,515,,,515,,,,,,515,515,,515,515,515,,515',
'515,515,515,515,,515,515,515,,515,515,515,,515,515,,,,,,,,,,,,,,,,,',
',,,,515,,,515,,,515,,,515,,515,,,,515,,,,,,,,515,,,,,515,515,515,515',
'515,515,,,,515,515,,,,,,515,515,,,515,,,,,515,515,521,521,521,,521,',
',,521,521,,,,521,,521,521,521,521,521,521,521,,,,,,521,521,521,521,521',
'521,521,,,521,,,,,,,521,,,521,521,,521,521,521,521,521,,521,521,521',
',521,521,521,,,,,,,,,,,,,,,,,,,,,,,,,521,,,521,,,521,,,521,,,,,,,,,',
',,,,,,,,,521,521,521,521,521,521,,,,521,521,,,,644,644,644,521,644,',
'521,,644,644,,521,521,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,,,',
'286,286,286,644,286,,644,,286,286,,644,644,286,,286,286,286,286,286',
'286,286,,,,,,286,286,286,286,286,286,286,,,286,,,,,,,286,,,286,286,',
'286,286,286,286,286,,286,286,286,,286,286,286,,,,,,,,,,,,,,,,,,,,,,',
',,286,,,286,,,286,,,286,,,,,,,,,,,,,,,,,,,286,286,286,286,286,286,,',
',286,286,,,,286,,,286,,,286,,,,,286,286,287,287,287,287,287,,,,287,287',
',,,287,,287,287,287,287,287,287,287,,,,,,287,287,287,287,287,287,287',
',,287,,,,,,287,287,,287,287,287,,287,287,287,287,287,,287,287,287,,287',
'287,287,,287,287,,,,,,,,,,,,,,,,,,,,,,287,,,287,,,287,,,287,,287,,,',
'287,,,,,,,,287,,,,,287,287,287,287,287,287,,,,287,287,,,,641,641,641',
'287,641,,287,,641,641,,287,287,641,,641,641,641,641,641,641,641,,,,',
',641,641,641,641,641,641,641,,,641,,,,,,,641,,,641,641,,641,641,641',
'641,641,,641,641,641,,641,641,641,,641,641,,,,,,,,,,,,,,,,,,,,,,641',
',,641,,,641,,,641,,,,,,641,,,,,,,,641,,,,,641,641,641,641,641,641,,',
',641,641,,,,636,636,636,641,636,,641,,636,636,,641,641,636,,636,636',
'636,636,636,636,636,,,,,,636,636,636,636,636,636,636,,,636,,,,,,,636',
',,636,636,,636,636,636,636,636,,636,636,636,,636,636,636,,636,636,,',
',,,,,,,,,,,,,,,,,,,636,,,636,,,636,,,636,,,,,,636,,,,,,,,636,,,,,636',
'636,636,636,636,636,,,,636,636,,,,635,635,635,636,635,,636,,635,635',
',636,636,635,,635,635,635,635,635,635,635,,,,,,635,635,635,635,635,635',
'635,,,635,,,,,,,635,,,635,635,,635,635,635,635,635,,635,635,635,,635',
'635,635,,635,635,,,,,,,,,,,,,,,,,,,,,,635,,,635,,,635,,,635,,,,,,635',
',,,,,,,635,,,,,635,635,635,635,635,635,,,,635,635,,,,632,632,632,635',
'632,,635,,632,632,,635,635,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,,,,630,630,630,632,630,,632,,630,630,,632,632,630,,630,630,630,630',
'630,630,630,,,,,,630,630,630,630,630,630,630,,,630,,,,,,,630,,,630,630',
',630,630,630,630,630,,630,630,630,,630,630,630,,630,630,,,,,,,,,,,,',
',,,,,,,,,630,,,630,,,630,,,630,,,,,,630,,,,,,,,630,,,,,630,630,630,630',
'630,630,,,,630,630,,,,383,383,383,630,383,,630,,383,383,,630,630,383',
',383,383,383,383,383,383,383,,,,,,383,383,383,383,383,383,383,,,383',
',,,,,,383,,,383,383,,383,383,383,383,383,,383,383,383,,383,383,383,',
'383,383,,,,,,,,,,,,,,,,,,,,,,383,,,383,,,383,,,383,,,,,,383,,,,,,,,383',
',,,,383,383,383,383,383,383,,,,383,383,,,,603,603,603,383,603,,383,',
'603,603,,383,383,603,,603,603,603,603,603,603,603,,,,,,603,603,603,603',
'603,603,603,,,603,,,,,,,603,,,603,603,,603,603,603,603,603,,603,603',
'603,,603,603,603,,603,603,,,,,,,,,,,,,,,,,,,,,,603,,,603,,,603,,,603',
',,,,,603,,,,,,,,603,,,,,603,603,603,603,603,603,,,,603,603,,,,601,601',
'601,603,601,,603,,601,601,,603,603,601,,601,601,601,601,601,601,601',
',,,,,601,601,601,601,601,601,601,,,601,,,,,,,601,,,601,601,,601,601',
'601,601,601,,601,601,601,,601,601,601,,601,601,,,,,,,,,,,,,,,,,,,,,',
'601,,,601,,,601,,,601,,,,,,601,,,,,,,,601,,,,,601,601,601,601,601,601',
',,,601,601,,,,597,597,597,601,597,,601,,597,597,,601,601,597,,597,597',
'597,597,597,597,597,,,,,,597,597,597,597,597,597,597,,,597,,,,,,,597',
',,597,597,,597,597,597,597,597,597,597,597,597,,597,597,597,,597,597',
',,,,,,,,,,,,,,,,,,,,,597,,,597,,,597,,,597,,597,,,,597,,,,,,,,597,,',
',,597,597,597,597,597,597,,,,597,597,,,,523,523,523,597,523,,597,,523',
'523,,597,597,523,,523,523,523,523,523,523,523,,,,,,523,523,523,523,523',
'523,523,,,523,,,,,,,523,,,523,523,,523,523,523,523,523,523,523,523,523',
',523,523,523,,523,523,,,,,,,,,,,,,,,,,,,,,,523,,,523,,,523,,,523,,523',
',,,523,,,,,,,,523,,,,,523,523,523,523,523,523,,,,523,523,,,,591,591',
'591,523,591,,523,,591,591,,523,523,591,,591,591,591,591,591,591,591',
',,,,,591,591,591,591,591,591,591,,,591,,,,,,,591,,,591,591,,591,591',
'591,591,591,591,591,591,591,,591,591,591,,591,591,,,,,,,,,,,,,,,,,,',
',,,591,,,591,,,591,,,591,,591,,,,591,,,,,,,,591,,,,,591,591,591,591',
'591,591,,,,591,591,,,,588,588,588,591,588,,591,,588,588,,591,591,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,,588,,,,588,,,,',
',,,588,,,,,588,588,588,588,588,588,,,,588,588,,,,,,,588,,,588,,,,,588',
'588,586,586,586,586,586,,,,586,586,,,,586,,586,586,586,586,586,586,586',
',,,,,586,586,586,586,586,586,586,,,586,,,,,,586,586,,586,586,586,,586',
'586,586,586,586,,586,586,586,,586,586,586,,586,586,,,,,,,,,,,,,,,,,',
',,,,586,,,586,,,586,,,586,,586,,,,586,,,,,,,,586,,,,,586,586,586,586',
'586,586,,,,586,586,,,,,,,586,,,586,,,,,586,586,581,581,581,581,581,',
',,581,581,,,,581,,581,581,581,581,581,581,581,,,,,,581,581,581,581,581',
'581,581,,,581,,,,,,581,581,,581,581,581,,581,581,581,581,581,,581,581',
'581,,581,581,581,,581,581,,,,,,,,,,,,,,,,,,,,,,581,,,581,,,581,,,581',
',581,,,,581,,,,,,,,581,,,,,581,581,581,581,581,581,,,,581,581,,,,,,',
'581,,,581,,,,,581,581,577,577,577,577,577,,,,577,577,,,,577,,577,577',
'577,577,577,577,577,,,,,,577,577,577,577,577,577,577,,,577,,,,,,577',
'577,,577,577,577,,577,577,577,577,577,,577,577,577,,577,577,577,,577',
'577,,,,,,,,,,,,,,,,,,,,,,577,,,577,,,577,,,577,,577,,,,577,,,,,,,,577',
',,,,577,577,577,577,577,577,,,,577,577,,,,563,563,563,577,563,,577,',
'563,563,,577,577,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,,,,309,309,309,563,309',
',563,,309,309,,563,563,309,,309,309,309,309,309,309,309,,,,,,309,309',
'309,309,309,309,309,,,309,,,,,,,309,,,309,309,,309,309,309,309,309,',
'309,309,309,,309,309,309,,309,309,,,,,,,,,,,,,,,,,,,,,,309,,,309,309',
',309,,,309,,,,,,309,,,,,,,,309,,,,,309,309,309,309,309,309,,,,309,309',
',,,,,,309,,,309,,,,,309,309,311,311,311,311,311,,,,311,311,,,,311,,311',
'311,311,311,311,311,311,,,,,,311,311,311,311,311,311,311,,,311,,,,,',
'311,311,,311,311,311,,311,311,311,311,311,,311,311,311,,311,311,311',
',311,311,,,,,,,,,,,,,,,,,,,,,,311,,,311,,,311,,,311,,311,,,,311,,,,',
',,,311,,,,,311,311,311,311,311,311,,,,311,311,,,,,,,311,,,311,,,,,311',
'311,557,557,557,557,557,,,,557,557,,,,557,,557,557,557,557,557,557,557',
',,,,,557,557,557,557,557,557,557,,,557,,,,,,557,557,,557,557,557,,557',
'557,557,557,557,,557,557,557,,557,557,557,,557,557,,,,,,,,,,,,,,,,,',
',,,,557,,,557,,,557,,,557,,557,,,,557,,,,,,,,557,,,,,557,557,557,557',
'557,557,,,,557,557,,,,,,,557,,,557,,,,,557,557,556,556,556,556,556,',
',,556,556,,,,556,,556,556,556,556,556,556,556,,,,,,556,556,556,556,556',
'556,556,,,556,,,,,,556,556,,556,556,556,,556,556,556,556,556,,556,556',
'556,,556,556,556,,556,556,,,,,,,,,,,,,,,,,,,,,,556,,,556,,,556,,,556',
',556,,,,556,,,,,,,,556,,,,,556,556,556,556,556,556,,,,556,556,,,,551',
'551,551,556,551,,556,,551,551,,556,556,551,,551,551,551,551,551,551',
'551,,,,,,551,551,551,551,551,551,551,,,551,,,,,,,551,,,551,551,,551',
'551,551,551,551,551,551,551,551,,551,551,551,,551,551,,,,,,,,,,,,,,',
',,,,,,,551,,,551,,,551,,,551,,,,,,551,,,,,,,,551,,,,,551,551,551,551',
'551,551,,,,551,551,,,,548,548,548,551,548,,551,,548,548,,551,551,548',
',548,548,548,548,548,548,548,,,,,,548,548,548,548,548,548,548,,,548',
',,,,,,548,,,548,548,,548,548,548,548,548,548,548,548,548,,548,548,548',
',548,548,,,,,,,,,,,,,,,,,,,,,,548,,,548,,,548,,,548,,548,,,,548,,,,',
',,,548,,,,,548,548,548,548,548,548,,,,548,548,,,,542,542,542,548,542',
',548,,542,542,,548,548,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,,,',
'538,538,538,542,538,,542,,538,538,,542,542,538,,538,538,538,538,538',
'538,538,,,,,,538,538,538,538,538,538,538,,,538,,,,,,,538,,,538,538,',
'538,538,538,538,538,,538,538,538,,538,538,538,,538,538,,,,,,,,,,,,,',
',,,,,,,,538,,,538,,,538,,,538,,,,,,538,,,,,,,,538,,,,,538,538,538,538',
'538,538,,,,538,538,,,,537,537,537,538,537,,538,,537,537,,538,538,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,,,,536,536,536,537,536,,537,',
'536,536,,537,537,536,,536,536,536,536,536,536,536,,,,,,536,536,536,536',
'536,536,536,,,536,,,,,,,536,,,536,536,,536,536,536,536,536,,536,536',
'536,,536,536,536,,536,536,,,,,,,,,,,,,,,,,,,,,,536,,,536,,,536,,,536',
',,,,,536,,,,,,,,536,,,,,536,536,536,536,536,536,,,,536,536,,,,535,535',
'535,536,535,,536,,535,535,,536,536,535,,535,535,535,535,535,535,535',
',,,,,535,535,535,535,535,535,535,,,535,,,,,,,535,,,535,535,,535,535',
'535,535,535,,535,535,535,,535,535,535,,535,535,,,,,,,,,,,,,,,,,,,,,',
'535,,,535,,,535,,,535,,,,,,535,,,,,,,,535,,,,,535,535,535,535,535,535',
',,,535,535,,,,526,526,526,535,526,,535,,526,526,,535,535,526,,526,526',
'526,526,526,526,526,,,,,,526,526,526,526,526,526,526,,,526,,,,,,,526',
',,526,526,,526,526,526,526,526,526,526,526,526,,526,526,526,,526,526',
',,,,,,,,,,,,,,,,,,,,,526,,,526,,,526,,,526,,526,,,,526,,,,,,,,526,,',
',,526,526,526,526,526,526,,,,526,526,,,,299,299,299,526,299,,526,,299',
'299,,526,526,299,,299,299,299,299,299,299,299,,,,,,299,299,299,299,299',
'299,299,,,299,,,,,,,299,,,299,299,,299,299,299,299,299,,299,299,299',
',299,299,299,862,,862,862,862,862,862,,,,,,,,,,,862,,,,,,,299,,,299',
',,299,,,299,,,,,,,862,,,,,,,,862,862,862,862,299,299,299,299,299,299',
',,,299,299,,,,,649,,299,,,299,,649,649,649,299,299,649,649,649,,649',
',,,862,,,,,649,649,649,,,,,,,,,649,649,,649,649,649,649,649,,,,,,,,',
',,,,,,,,,,,,,,,,649,649,649,649,649,649,649,649,649,649,649,649,649',
'649,649,,,649,649,649,,649,649,,,649,,,649,,649,,649,,649,,649,649,649',
'649,649,649,649,,649,649,649,,,,,,,,,,,,,649,649,649,649,,649,650,,649',
',649,,649,650,650,650,,,650,650,650,,650,,,,,,,,,,650,650,,,,,,,,,650',
'650,,650,650,650,650,650,,,,,,,,,,,,,,,,,,,,,,,,,650,650,650,650,650',
'650,650,650,650,650,650,650,650,650,650,,,650,650,650,,650,650,,,650',
',,650,,650,,650,,650,,650,650,650,650,650,650,650,,650,,650,,,,,,,,',
',,,,650,650,650,650,,650,441,,650,,650,,650,441,441,441,,,,441,441,',
'441,,,,,,,,,,,,,,,,,,,,441,441,,441,441,441,441,441,,,,,,,,,,,,,,,,',
',,,,,,,,441,441,441,441,441,441,441,441,441,441,441,441,441,441,441',
',,441,441,441,,441,,,,441,,,,,,,441,,441,,441,441,441,441,441,441,441',
',441,,441,,,,,,,,,,,,,441,441,,441,,441,439,,441,,441,,441,439,439,439',
',,,439,439,,439,,,,,,,,,439,,,,,,,,,,,439,439,,439,439,439,439,439,',
',,,,,,,,,,,,,,,,,,,,,,,439,439,439,439,439,439,439,439,439,439,439,439',
'439,439,439,,,439,439,439,,439,,,,439,,,,,,,439,,439,,439,439,439,439',
'439,439,439,,439,439,439,,,,,,,,,,,,,439,439,,439,,439,27,,439,,439',
',439,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,27,28,27,,,27,,27,28,28,28,,,28,28,28',
',28,,,,,,,,,,28,28,,,,,,,,,28,28,,28,28,28,28,28,,,,,,,,,,,,,,,,,,,',
',,,,,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,,,28,28,28,,,28,,28',
'28,,,28,,28,,28,,28,,28,28,28,28,28,28,28,,28,,28,,,,,,,,,,,,,28,28',
'28,28,50,28,,,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,50,435,50,,50,50,,50,435',
'435,435,,,435,435,435,,435,,,,,,,,,435,435,435,,,,,,,,,435,435,,435',
'435,435,435,435,,,,,,,,,,,,,,,,,,,,,,,,,435,435,435,435,435,435,435',
'435,435,435,435,435,435,435,435,,,435,435,435,,,435,,435,435,,,435,',
'435,,435,,435,,435,435,435,435,435,435,435,,435,435,435,,,,,,,,,,,,',
'435,435,435,435,445,435,,,435,,435,445,445,445,,,445,445,445,,445,,',
',,,,,,445,445,445,,,,,,,,,445,445,,445,445,445,445,445,,,,,,,,,,,,,',
',,,,,,,,,,,445,445,445,445,445,445,445,445,445,445,445,445,445,445,445',
',,445,445,445,,,445,,445,445,,,445,,445,,445,,445,,445,445,445,445,445',
'445,445,,445,445,445,,,,,,,,,,,,,445,445,445,445,499,445,,,445,,445',
'499,499,499,,,499,499,499,,499,,,,,,,,,,499,,,,,,,,,,499,499,,499,499',
'499,499,499,,,,,,,,,,,,,,,498,,,,,,,498,498,498,,,498,498,498,,498,',
',,,499,499,,,,498,,,499,,,,,499,499,498,498,,498,498,498,498,498,,,',
',,,,,,,,,499,,,,,924,,924,924,924,924,924,,499,,499,,,499,,,,924,498',
'498,,497,,,,,498,,497,497,497,498,498,497,497,497,,497,,,924,924,,,',
',,497,924,924,924,924,,498,,,,497,497,,497,497,497,497,497,,498,,498',
',,498,,,,,,,,,,,,,,,,924,,,,,755,,755,755,755,755,755,,497,497,,,,,',
',497,755,,,,497,497,,,,,,,,,,,,,,,,,,755,,,497,,,,,755,755,755,755,',
',,,497,,497,,,497,418,418,418,418,418,418,418,418,418,418,418,418,418',
'418,418,418,418,418,418,418,418,418,418,418,,755,,418,418,418,418,418',
'418,418,418,418,418,418,418,418,418,418,418,418,418,418,418,418,,418',
'418,,,418,,,,,,,,,,418,418,,418,418,418,418,418,418,418,,,418,418,,',
',,418,418,418,418,,,,,,,,,,,,,418,418,,418,418,418,418,418,418,418,418',
'418,418,418,,,418,418,,,,,,,,,,418,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8',
'8,8,8,8,8,8,8,,,,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,,8,8,,,8',
',,,,,,,,,8,8,,8,8,8,8,8,8,8,,,8,8,,,,,8,8,8,8,,,,,,,,,,,,,8,8,,8,8,8',
'8,8,8,8,8,8,8,8,,,8,8,,,,,,,,,,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7',
'7,7,7,7,7,7,,,,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,,7,7,7,,7,',
',,,,,,,,7,7,,7,7,7,7,7,7,7,,,7,7,,,,,7,7,7,7,,,,,,,,,,,,,7,7,,7,7,7',
'7,7,7,7,7,7,7,7,,,7,7,,,,,,,,,,7,414,414,414,414,414,414,414,414,414',
'414,414,414,414,414,414,414,414,414,414,414,414,414,414,414,,,,414,414',
'414,414,414,414,414,414,414,414,414,414,414,414,414,414,414,414,414',
'414,414,,414,414,,,414,,,,,,,,,,414,414,,414,414,414,414,414,414,414',
',,414,414,,,,,414,414,414,414,,,,,,,,,,,,,414,414,,414,414,414,414,414',
'414,414,414,414,414,414,,,414,414,,,,,,,,,,414,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,,,65,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,772,772,772,772,772',
'772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772',
'772,772,,,,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772',
'772,772,772,772,772,772,,772,772,,,772,,,,,,,,,,772,772,,772,772,772',
'772,772,772,772,,,772,772,,,,,772,772,772,772,,,,,,,,,,,,,772,772,,772',
'772,772,772,772,772,772,772,772,772,772,,,772,193,193,193,193,193,193',
'193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193',
'193,,,,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193',
'193,193,193,193,193,,193,193,193,193,193,,193,,,,,,,,193,193,,193,193',
'193,193,193,193,193,,,193,193,,,,,193,193,193,193,,,,,,,,,,,,,193,193',
',193,193,193,193,193,193,193,193,193,193,193,,605,193,605,605,605,605',
'605,,,,828,828,,,828,,,605,,,,,,,828,828,,828,828,828,828,828,828,828',
',,828,828,,,605,605,828,828,828,828,,,605,605,605,605,,,,,,,828,828',
',828,828,828,828,828,828,828,828,828,828,828,,,828,203,203,,,203,,,',
',,,,605,,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,267,267,203,,267,,,,,,,,,,267,267,,267,267,267,267,267,267,267,',
',267,267,,,,,267,267,267,267,,,,,,,,,,,,,267,267,,267,267,267,267,267',
'267,267,267,267,267,267,527,527,267,,527,,,,,,,,,,527,527,,527,527,527',
'527,527,527,527,,,527,527,,,,,527,527,527,527,,,,,,,,,,,,,527,527,,527',
'527,527,527,527,527,527,527,527,527,527,539,539,527,,539,,,,,,,,,,539',
'539,,539,539,539,539,539,539,539,,,539,539,,,,,539,539,539,539,,,,,',
'539,,,,,,,539,539,,539,539,539,539,539,539,539,539,539,539,539,525,525',
'539,,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,589,589,525,,589,,,,,,,,,,589,589,,589,589,589,589,589,589',
'589,,,589,589,,,,,589,589,589,589,,,,,,589,,,,,,,589,589,,589,589,589',
'589,589,589,589,589,589,589,589,452,452,589,,452,,,,,,,,,,452,452,,452',
'452,452,452,452,452,452,,,452,452,,,,,452,452,452,452,,,,,,452,,,,,',
',452,452,,452,452,452,452,452,452,452,452,452,452,452,266,266,452,,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,453,453,266,,453,,,,,,,,,,453,453,,453,453,453,453,453,453,453,',
',453,453,,,,,453,453,453,453,,,,,,,,,,,,,453,453,,453,453,453,453,453',
'453,453,453,453,453,453,204,204,453,,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,540,540,204,,540,,,,,,,,,,540',
'540,,540,540,540,540,540,540,540,,,540,540,,,,,540,540,540,540,,,,,',
',,,,,,,540,540,,540,540,540,540,540,540,540,540,540,540,540,265,265',
'540,,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,590,590,265,,590,,,,,,,,,,590,590,,590,590,590,590,590,590',
'590,,,590,590,,,,,590,590,590,590,,,,,,,,,,,,,590,590,,590,590,590,590',
'590,590,590,590,590,590,590,953,953,590,,953,,,,,,,,,,953,953,,953,953',
'953,953,953,953,953,,,953,953,,,,,953,953,953,953,,,,,,,,,,,,,953,953',
',953,953,953,953,953,953,953,953,953,953,953,952,952,953,,952,,,,,,',
',,,952,952,,952,952,952,952,952,952,952,,,952,952,,,,,952,952,952,952',
',,,,,952,,,,,,,952,952,,952,952,952,952,952,952,952,952,952,952,952',
'598,598,952,,598,,,,,,,,,,598,598,,598,598,598,598,598,598,598,,,598',
'598,,,,,598,598,598,598,,,,,,598,,,,,,,598,598,,598,598,598,598,598',
'598,598,598,598,598,598,202,202,598,,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,596,596,202,,596,,,,,,',
',,,596,596,,596,596,596,596,596,596,596,,,596,596,,,,,596,596,596,596',
',,,,,,,,,,,,596,596,,596,596,596,596,596,596,596,596,596,596,596,524',
'524,596,,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' ]
        racc_action_check = arr = ::Array.new(25528, 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,  1259,   nil,   236,   nil,  1148,  1140, 23566, 23441,  1110,
  1070,  1061,  1088,   929,   545,   691,   nil,  1829,  1957,  1304,
  1133,   nil,  2354,  2482,  2610,   370,    13, 22390, 22521,   nil,
  3289,  3417,  3545,   nil,  1005,   293,  1059,   616,  4198,  4326,
  4454,  1134,  1163,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
 22652,   nil,  4979,  5107,  5235,   -15,  3955,  5619,  5747,   nil,
   nil,  5875,  6016,  6144,   nil, 23816,   nil,   nil,   nil,   nil,
   nil,   -63,   nil,   nil,   nil,   nil,   nil,   861,   859, 23930,
   nil,   nil,   nil,   nil,   704,  7079,   nil,   nil,  7207,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   930,   nil,
  7476,   nil,   nil,   nil,  7617,  7745,  7873,  8001,  8142,  8283,
   nil,   541,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil, 24158,   731,   nil,  8808,  8936,  9064,  9192,
  9320,  9448, 25288, 24296, 24854,  9960, 10088, 10216,   nil,   801,
   -12,   643,   205,   535,   548, 11177, 11305,   nil,   nil, 11433,
   460, 11689, 11817, 11945, 12073, 12201, 12329, 12457, 12585, 12713,
 12841, 12969, 13097, 13225, 13353, 13481, 13609, 13737, 13865, 13993,
 14121, 14249, 14377, 14505, 14633, 14761, 14889,   nil,   nil,   nil,
  2751,   nil,     8,   447,   nil, 15401,   591, 15670,   nil,   nil,
   nil,   nil, 15798,   nil,   nil, 24978, 24730, 24358,   886, 16464,
 16592,   nil,   nil,   nil,   nil,   nil,   nil,   nil, 16720,   168,
   879,  1019, 17258,  1162,  1163,  1032, 17796, 17937,   208,  1304,
   800,   211,   639,   -88,   241,   nil,   -57,   661,   nil, 21727,
   nil,   151,    74,   202,   418,   894,   nil,   617,   nil, 20152,
   nil, 20293,   283,   nil,   582,   364,   424,   753,   736,    40,
   766,   nil,   nil,    48,  3558,   nil,   nil,   nil,   732,   740,
   nil,   853,   863,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
  3134,   nil,   nil,   nil,   987,   nil,   nil,  1008,   716,    99,
    92,  4070,  3814,   249,   589,   973,    82,  1445,  1056,    67,
  1094,   nil,   nil,   638,  1081,   nil,  1347,   nil,    68,   nil,
   nil,   254,   388,   384,   410,   469,   279,    -5,   470,   439,
   nil,   402,   nil, 18705,   nil,    30,   nil,   174,   nil,   -23,
  1095,   302,   nil,  1089,   -46,   nil,   338,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,  1085, 23691,   nil,   nil,   nil, 23316,  1061,
   nil,   nil,  1022,   nil,   126,  1042,   nil,  1040,   nil,   nil,
  1445,  1065,  1060,   333,   575, 22783,   nil,   nil,   nil, 22257,
  1045, 22124,   nil,   382,   510, 22914,   nil,   nil,   nil,  1957,
   nil,   nil, 24668, 24792,   638,   766,   -31,   894,  1573,  1701,
   242,   nil,  3686,  3814,  1190,   634,   -42,  1018,  1014,  1004,
  3418,  5491,  3172,  4070,  4198,  4326,  4454,  4595,  4723,  5363,
  4979,  3289,  4851,   640,  2988,  5235,  5107,   766,    59,   nil,
  3020,   nil,  3148,   nil,  4851,   nil,   nil, 23185, 23103, 23045,
   -42,   nil,   890,   nil,   nil,   877,   865,   nil,   nil,  6400,
   204,   -36,   894,   nil,   nil, 17399,   885,   820,   nil,   nil,
   759, 17540,   774, 19217, 25412, 24544, 21599, 24420,   198,   767,
   nil,   nil,   nil,   728,   nil, 21471, 21343, 21215, 21087, 24482,
 24916,  2482, 20959,   826,   807,   720,   nil,   nil, 20831,   nil,
   nil, 20703,   nil,   nil,   nil,   nil, 20575, 20434,   595,   nil,
   611,   nil,   nil, 20024,  3073,   nil,    49,   nil,   nil,   530,
   nil,  3006,   nil,   463,   880,   nil,   nil, 19896,   558,   nil,
   nil, 19755,   229,   207,   413,   301, 19614,   nil, 19473, 24606,
 25040, 19345,    56,   nil,   510,   nil, 25350, 19089, 25226,   nil,
   nil, 18961,   262, 18833,   nil, 24221,   nil,   nil,   nil,    35,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   -38,   nil,   nil,   nil,   508,   nil,   nil,   nil,   nil,   nil,
 18577,   682, 18449,   339,   204, 18321, 18193,   766,   nil,   nil,
   nil, 18065,   965,   nil, 17668,   964,   nil,   -66,   407, 21858,
 21991,  1131,  1080,   510,   nil, 17117,   nil,  3430,   nil, 16989,
   931,   nil,   968, 16848,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil, 16336,   nil,   865, 16195, 16067,  1163,   678,   nil,
   nil,   643, 15939, 15542,   nil,  1007,   253, 15273,   365,   nil,
   253,   225,   328,   997,   316,   239,   -26,   -13,     2, 15145,
   894,    98,   147,   171,   -12,   268, 15017,   nil,   nil,   379,
   251,   368,   nil,   nil,   252,   nil,   289,   545,   387,   323,
   336,   nil,   nil,   387,  3164,   nil,   693,   nil,   491,   nil,
   nil,   nil,   nil,   nil,   508,   nil,   513, 11561,   464,   -18,
    43,   230,   237,   537, 11036,  1480,   nil,   558,   558, 10908,
    66,   nil,   -25, 10767, 10626, 23205,   -62,   nil,   nil,   682,
   nil, 10485,   nil,   612,   620,   nil,   648,   652,   660,   nil,
   663,   nil, 24044,   717,   662, 10357,   nil,   nil,   nil,  1829,
   696,  9832,  9704,  9576,   nil,  2098,   nil,  2226,   nil,   nil,
  2354,   nil,  2892,   nil,  8667,  8539,  8411,   395,   268,  2610,
   nil,   780,   884,   nil,   nil,   792,   nil,   780,  7335,   nil,
   826,   932,   814,    79,   nil,   nil,   nil,   946,   nil,  6951,
   831,   887,   nil,   nil,   nil,   nil,   nil,   nil, 24231,   nil,
  1103,   nil,   nil,   nil,   nil,   752,   977,   nil,  6810,   980,
  6682,  6541,   nil,   nil,   194,   -17,   766,   327,   nil,  1009,
   nil,   nil,  1012,  1014,   907,   nil,   nil,   nil,   409,   nil,
   nil,   660, 21740,   nil,   692,   nil,   350,   nil,  6272,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   954,   939,   nil,  1573,
   nil,  1701,  5491,  5363,   nil,   nil,   nil,  4723,   976,   nil,
   nil,   nil,  4595,   nil,   nil,    84,  3942,   nil,  1023,   987,
   nil,   nil,    76,   nil,  1111,  1114,  3686,  2892,   nil,   nil,
  2751,   nil,   nil,  1051,   nil,  1015,   nil,   nil,  1016,  1019,
  1021,  1014,   nil,   nil, 23113,   nil,   nil,  2226,   nil,  2098,
    36,  1022,  1116,   121,   nil,   nil,  1445,   nil,   nil,   nil,
   592,  1304,  1170,   nil,   nil,   436,   nil,   nil,   nil,  1163,
  1199,  1022, 25164, 25102,    -7,   652,   nil,   nil,   nil,  1221,
   nil,  1116,  1238,   nil,  1156,    67,    75,    98,   109,   nil,
   nil,   nil,   nil,   198 ]

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

clist = [
'13,309,317,325,585,380,115,115,491,435,440,445,285,577,581,705,570,209',
'209,398,333,501,209,209,209,368,5,100,544,754,13,289,289,533,349,350',
'12,562,353,217,565,567,713,421,428,766,252,252,252,110,195,664,209,209',
'118,118,99,209,209,103,721,209,357,366,115,283,12,769,10,281,295,295',
'497,498,499,569,298,661,115,661,817,408,409,410,411,547,550,595,922',
'554,924,729,733,253,253,253,679,311,10,2,13,295,295,839,209,209,209',
'209,13,13,664,351,716,836,354,840,720,103,352,249,263,264,251,251,251',
'319,5,859,860,841,361,646,744,398,412,5,12,611,941,268,275,277,659,621',
'12,12,749,603,35,431,432,387,389,314,672,396,910,768,371,753,605,772',
'606,323,682,683,555,381,10,922,719,891,599,360,406,194,10,10,35,288',
'288,362,248,667,669,671,488,510,511,956,737,821,115,895,384,766,13,209',
'209,209,209,209,444,385,322,209,209,209,413,391,356,370,620,370,321',
'13,209,769,420,426,429,425,425,394,765,871,448,774,775,854,915,914,12',
'318,734,664,382,507,918,681,414,673,834,502,1,,284,570,35,,725,12,,529',
',688,35,35,,435,440,491,661,661,10,,,,,209,209,558,545,,546,,,,209,944',
'534,,13,10,,,289,13,333,863,865,867,,505,252,,,,,289,314,314,252,515',
',,723,768,,,,13,713,,,957,,516,12,746,,281,522,12,,295,281,,582,583',
'520,693,514,604,698,103,,,295,,506,253,969,,35,,693,12,949,253,10,209',
'209,,,10,908,,721,,,,,35,766,,504,508,,251,251,366,777,,765,512,,,251',
'10,,,899,209,646,,769,,,,788,,,,,791,693,,793,,570,,,651,652,693,584',
',,103,295,,419,115,919,803,920,115,,,,812,963,,600,827,,,831,832,35',
'284,,,288,35,,,,,,946,947,948,,,664,288,,,,,444,,209,209,627,,,35,628',
'118,674,,,118,849,,,,852,853,690,,661,697,768,916,,824,916,765,,765',
'971,765,,,,,,,,,,,,961,284,,,,534,284,,,,,907,209,,900,,,661,13,,,,370',
',289,,209,444,,209,,272,276,,,,,,,,738,,444,743,685,209,765,,,748,,637',
',,12,822,642,314,314,13,13,645,929,295,660,803,717,765,,936,,,773,,',
',,,,,13,750,,,13,,10,14,,13,,209,444,958,209,12,12,,444,,209,,,,209',
'295,209,801,,,,935,,666,668,670,12,14,291,291,12,,709,,333,12,314,10',
'10,314,942,,,,,,,,209,209,,730,730,,209,,926,,10,359,367,,10,,,,,10',
',784,786,751,13,,,789,35,,,962,,534,288,,,13,,,,,,,,815,,13,13,14,,',
'289,314,,,314,14,14,,12,,314,,289,,,,,35,35,,,12,,,370,869,,,,,,12,12',
',847,,,,35,295,10,,35,425,,,,35,,,,295,,10,,,,209,,807,,,13,10,10,,13',
'13,,,,,693,,844,,,,,,,,,,115,710,711,,13,,,,,14,,209,209,,12,,,,12,12',
',,726,,,272,728,276,14,,,736,878,880,,850,35,851,,,12,855,,913,902,',
'10,,13,35,10,10,,,,,444,,,35,35,888,,,288,,,209,,13,13,,10,,,,288,,',
',,,,,12,,,,,,,,,,,14,,,,291,14,,,,802,12,12,,,,,,291,,,,10,805,,,,13',
',,14,931,35,810,811,964,35,35,730,,,,13,10,10,13,,,,,,,,,,,,,35,,,,',
'12,13,,,,,,295,13,639,,,,13,643,12,,,12,639,,13,,209,444,,,367,,,,,10',
',,,934,12,,35,,,,,12,,,10,,12,10,,,,,208,,12,,,35,35,,876,,,,,,10,,639',
'639,639,,,10,,,,,10,218,,,,250,250,250,10,312,,,,,348,348,,,348,,,306',
'307,308,,,894,,,,,35,,,,930,250,250,,,,,314,,,,35,904,905,35,,,,,,,',
',,,,348,348,348,348,,,,35,,,,,,,35,,,,,35,,,,,326,,,35,,14,,,,,,291',
',,928,,,386,,388,388,392,395,388,,,,,,940,,,,,,,,,,,,,,,,,14,14,,,,950',
',367,,,,,955,,,,,959,,,,14,,,,14,,,,,14,,450,451,,,,,,,,,460,,,,,,,422',
'250,430,250,250,,639,,449,643,,639,,,,,,,,,,,218,,462,463,464,465,466',
'467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483',
'484,485,486,487,,,,,14,,,,250,,250,,,,,250,,14,,,,,250,250,,,,14,14',
',,250,291,,,,,,,,,,,,291,,,,,,,,,,,,,,,,,,541,,,,,,503,,,,,,,,,,348',
'348,,,,,,,,,,,,,,,14,,,,14,14,,,,,,,,,,,609,,,,,,,,,875,14,,,,,,,561',
',,561,561,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,14,,,294,294,,,,,,294,294',
'294,250,,,,,,,,14,14,,,,294,,,,,,,,294,294,,,,,,,,250,250,,449,653,430',
',,,,,,,,,,,,,,,,,,,,,638,,312,14,,,,933,,250,638,250,,250,,,,,14,,,14',
',,,,,,677,,,,,320,,704,,,,,14,,250,,,250,,14,,,,,14,656,700,701,702',
'703,,,14,,638,638,638,656,,250,,,250,,,,,656,656,,,,,,,,,,,,,,,,,,348',
',752,,,,,,,,,,,250,,,250,,,,,,250,,,,,294,,294,294,294,294,294,294,294',
'294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294',
'294,294,779,,250,,,785,787,,294,,294,790,,,792,294,,,,,,,,,,799,,423',
'427,,,,,250,,,,,,294,,,,,,250,250,,,,,,294,,,,,,,,,,294,,,,,,,,,,,,',
',250,,,,,,,,,493,,495,348,,,,496,,,,,,,,,,,,,,,250,,638,,,,,638,,,,',
',,818,823,,294,,,,,,,250,561,,,561,561,,,,,,818,,818,,,,,,,250,879,881',
',,,,,,,,,,785,787,790,,,,,,,,,,,294,250,,,,348,,,,,,,,,,,,,,,,,,,,,',
',,,,,,294,294,294,,,,,,,,,,,,,,,,,,,,,893,,,,897,250,,,,,294,,294,,294',
',,,,881,879,631,,,250,,,,,,,,,,,,,,,,,294,,250,,,,,,,,,,,,294,294,294',
'294,,,,,,250,,,,294,,,294,,,,,,,,,,,561,294,,,,662,250,320,,665,,,,',
',,,,,,,,,,678,,,,,,,,,,,,,,,,,818,,,,,,,,,,,,,,,818,,,,,,,662,,,320',
',294,,294,,,,,,,,,,,,294,,,,,,,,,,,294,,,,,,,,294,,,,,,,,,,,,294,294',
',,,,,,,,,,294,,,,,,,,,,,,294,,,,,,,294,,,780,,,,,,,,,,,,,,,,,,,,,,,',
',,,,294,,,804,,,,,,,,,,,,662,320,,,,,,,,294,,,,,,,,,,,,,,,,,,,,294,',
'820,,,,,,,,,,,294,294,294,,,,,,,,,,,,294,,,,,,423,,,,,,,,,,,,,,,,,,',
',,,,,857,,,,,,,,,,,,,,,,,,,,877,,,,,,,,,,294,,,,,,,,,,,,,,294,294,,423',
',294,,,,,,,,,294,,,,,,,,,,294,,,,,,,,,,,,,,,,,,,,,294,,,,,,,,,,,,,,',
',,,923,,,,,,,,,,,,,,,,,,,320,,,,,,,,,,,,,,,,,,,939,,,,,,,,,,,,,,,,,',
',,,939' ]
        racc_goto_table = arr = ::Array.new(2380, nil)
        idx = 0
        clist.each do |str|
          str.split(',', -1).each do |i|
            arr[idx] = i.to_i unless i.empty?
            idx += 1
          end
        end

clist = [
'21,51,22,104,80,47,48,48,61,33,33,33,41,77,77,10,145,21,21,47,107,35',
'21,21,21,46,7,6,8,84,21,21,21,43,16,16,20,109,16,18,109,109,106,24,24',
'110,54,54,54,14,14,154,21,21,50,50,4,21,21,83,147,21,21,21,48,39,20',
'141,17,38,52,52,33,33,33,148,42,62,48,62,11,16,16,16,16,55,55,45,151',
'55,101,79,79,56,56,56,62,87,17,2,21,52,52,11,21,21,21,21,21,21,154,88',
'111,78,4,89,111,83,90,31,31,31,29,29,29,56,7,142,142,91,17,60,92,47',
'7,7,20,129,93,34,34,34,36,129,20,20,94,95,44,22,22,126,126,29,36,126',
'96,111,97,98,99,100,86,102,36,36,103,85,17,151,105,12,82,81,5,15,17',
'17,44,44,44,19,112,60,60,60,113,115,116,117,118,119,48,120,124,110,21',
'21,21,21,21,21,48,125,76,21,21,21,2,127,44,44,128,44,74,21,21,141,18',
'18,18,54,54,130,108,131,18,132,133,135,137,139,20,73,80,154,72,64,144',
'63,27,59,149,58,1,,9,145,44,,145,20,,51,,43,44,44,,33,33,61,62,62,17',
',,,,21,21,104,51,,51,,,,21,142,41,,21,17,,,21,21,107,143,143,143,,54',
'54,,,,,21,29,29,54,6,,,148,111,,,,21,106,,,11,,39,20,45,,38,39,20,,52',
'38,,16,16,42,33,4,46,33,83,,,52,,56,56,78,,44,,33,20,84,56,17,21,21',
',,17,79,,147,,,,,44,110,,31,31,,29,29,21,129,,108,31,,,29,17,,,111,21',
'60,,141,,,,35,,,,,35,33,,35,,145,,,22,22,33,4,,,83,52,,9,48,111,61,111',
'48,,,,43,10,,83,109,,,109,109,44,9,,,44,44,,,,,,143,143,143,,,154,44',
',,,,48,,21,21,14,,,44,14,50,51,,,50,8,,,,8,8,22,,62,22,111,108,,55,108',
'108,,108,143,108,,,,,,,,,,,,111,9,,,,41,9,,,,,77,21,,145,,,62,21,,,',
'44,,21,,21,48,,21,,57,57,,,,,,,,22,,48,22,7,21,108,,,22,,34,,,20,24',
'34,29,29,21,21,34,77,52,56,61,21,108,,77,,,51,,,,,,,,21,16,,,21,,17',
'23,,21,,21,48,80,21,20,20,,48,,21,,,,21,52,21,104,,,,109,,34,34,34,20',
'23,23,23,20,,56,,107,20,29,17,17,29,8,,,,,,,,21,21,,83,83,,21,,61,,17',
'23,23,,17,,,,,17,,18,18,83,21,,,18,44,,,8,,41,44,,,21,,,,,,,,41,,21',
'21,23,,,21,29,,,29,23,23,,20,,29,,21,,,,,44,44,,,20,,,44,47,,,,,,20',
'20,,16,,,,44,52,17,,44,54,,,,44,,,,52,,17,,,,21,,56,,,21,17,17,,21,21',
',,,,33,,54,,,,,,,,,,48,9,9,,21,,,,,23,,21,21,,20,,,,20,20,,,9,,,57,9',
'57,23,,,9,18,18,,83,44,83,,,20,83,,51,16,,17,,21,44,17,17,,,,,48,,,44',
'44,54,,,44,,,21,,21,21,,17,,,,44,,,,,,,,20,,,,,,,,,,,23,,,,23,23,,,',
'9,20,20,,,,,,23,,,,17,9,,,,21,,,23,21,44,9,9,22,44,44,83,,,,21,17,17',
'21,,,,,,,,,,,,,44,,,,,20,21,,,,,,52,21,57,,,,21,57,20,,,20,57,,21,,21',
'48,,,23,,,,,17,,,,17,20,,44,,,,,20,,,17,,20,17,,,,,26,,20,,,44,44,,9',
',,,,,17,,57,57,57,,,17,,,,,17,28,,,,28,28,28,17,26,,,,,26,26,,,26,,',
'28,28,28,,,9,,,,,44,,,,44,28,28,,,,,29,,,,44,9,9,44,,,,,,,,,,,,26,26',
'26,26,,,,44,,,,,,,44,,,,,44,,,,,53,,,44,,23,,,,,,23,,,9,,,53,,53,53',
'53,53,53,,,,,,9,,,,,,,,,,,,,,,,,23,23,,,,9,,23,,,,,9,,,,,9,,,,23,,,',
'23,,,,,23,,26,26,,,,,,,,,26,,,,,,,28,28,28,28,28,,57,,28,57,,57,,,,',
',,,,,,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,,,,,23,,,,28,,28,,,,,28,,23,,,,,28,28,,,,23,23,,,28',
'23,,,,,,,,,,,,23,,,,,,,,,,,,,,,,,,28,,,,,,53,,,,,,,,,,26,26,,,,,,,,',
',,,,,,23,,,,23,23,,,,,,,,,,,26,,,,,,,,,23,23,,,,,,,53,,,53,53,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,23,,,37,37,,,,,,37,37,37,28,,,,,,,,23,23,',
',,37,,,,,,,,37,37,,,,,,,,28,28,,28,28,28,,,,,,,,,,,,,,,,,,,,,,53,,26',
'23,,,,23,,28,53,28,,28,,,,,23,,,23,,,,,,,28,,,,,25,,26,,,,,23,,28,,',
'28,,23,,,,,23,53,28,28,28,28,,,23,,53,53,53,53,,28,,,28,,,,,53,53,,',
',,,,,,,,,,,,,,,26,,26,,,,,,,,,,,28,,,28,,,,,,28,,,,,37,,37,37,37,37',
'37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,28',
',28,,,28,28,,37,,37,28,,,28,37,,,,,,,,,,28,,25,25,,,,,28,,,,,,37,,,',
',,28,28,,,,,,37,,,,,,,,,,37,,,,,,,,,,,,,,28,,,,,,,,,25,,25,26,,,,25',
',,,,,,,,,,,,,,28,,53,,,,,53,,,,,,,53,53,,37,,,,,,,28,53,,,53,53,,,,',
',53,,53,,,,,,,28,28,28,,,,,,,,,,,28,28,28,,,,,,,,,,,37,28,,,,26,,,,',
',,,,,,,,,,,,,,,,,,,,,,,37,37,37,,,,,,,,,,,,,,,,,,,,,53,,,,53,28,,,,',
'37,,37,,37,,,,,28,28,25,,,28,,,,,,,,,,,,,,,,,37,,28,,,,,,,,,,,,37,37',
'37,37,,,,,,28,,,,37,,,37,,,,,,,,,,,53,37,,,,25,28,25,,25,,,,,,,,,,,',
',,,25,,,,,,,,,,,,,,,,,53,,,,,,,,,,,,,,,53,,,,,,,25,,,25,,37,,37,,,,',
',,,,,,,37,,,,,,,,,,,37,,,,,,,,37,,,,,,,,,,,,37,37,,,,,,,,,,,37,,,,,',
',,,,,,37,,,,,,,37,,,25,,,,,,,,,,,,,,,,,,,,,,,,,,,,37,,,25,,,,,,,,,,',
',25,25,,,,,,,,37,,,,,,,,,,,,,,,,,,,,37,,25,,,,,,,,,,,37,37,37,,,,,,',
',,,,,37,,,,,,25,,,,,,,,,,,,,,,,,,,,,,,,25,,,,,,,,,,,,,,,,,,,,25,,,,',
',,,,,37,,,,,,,,,,,,,,37,37,,25,,37,,,,,,,,,37,,,,,,,,,,37,,,,,,,,,,',
',,,,,,,,,,37,,,,,,,,,,,,,,,,,,25,,,,,,,,,,,,,,,,,,,25,,,,,,,,,,,,,,',
',,,,25,,,,,,,,,,,,,,,,,,,,,25' ]
        racc_goto_check = arr = ::Array.new(2380, 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,    99,   nil,    53,    74,    24,    26,  -283,   216,
  -528,  -625,  -646,   nil,    42,   167,   -23,    68,    21,   119,
    36,     0,   -51,   584,  -154,  1452,   966,   130,   992,   100,
   nil,    97,   nil,  -193,   113,  -247,  -346,  1375,    39,    35,
   nil,   -19,    44,  -266,   148,  -277,   -38,   -60,    -1,   nil,
    47,   -40,    39,  1038,    24,  -230,    71,   502,   -26,  -261,
  -314,  -245,  -413,  -270,   -33,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   171,   179,   159,   nil,   148,  -336,  -613,  -491,
  -350,   111,  -196,    56,  -576,   102,  -219,    46,    52,  -614,
    58,  -604,  -461,  -770,  -453,  -222,  -695,    94,  -445,  -220,
  -445,  -779,   107,  -157,   -53,  -394,  -518,   -36,  -381,  -291,
  -560,  -448,   162,   -61,   nil,   -86,   -86,  -751,  -397,  -515,
  -628,   nil,   nil,   nil,   123,   130,    76,   132,  -179,  -248,
   145,  -549,  -386,  -386,   nil,  -526,   nil,  -628,   nil,  -627,
   nil,  -538,  -636,  -477,  -624,  -324,   nil,  -504,  -265,  -482,
   nil,  -776,   nil,   nil,  -441 ]

racc_goto_default = [
   nil,   nil,   nil,     3,   nil,     4,   355,   280,   nil,   543,
   nil,   837,   nil,   279,   nil,   nil,   nil,   213,    16,    11,
   214,   305,   nil,   212,   nil,   256,    15,   nil,    19,    20,
    21,   nil,    25,   696,   nil,   nil,   nil,    26,    29,   nil,
    31,    34,    33,   nil,   210,   365,   nil,   117,   438,   116,
    69,   nil,    42,   313,   315,   nil,   316,   436,   nil,   nil,
   640,   489,   254,   nil,   nil,   270,    43,    44,    45,    46,
    47,    48,    49,   nil,   271,    55,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   578,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   328,   327,   715,   330,   nil,
   331,   332,   nil,   nil,   442,   nil,   nil,   nil,   nil,   nil,
   nil,    68,    70,    71,    72,   nil,   nil,   nil,   nil,   616,
   nil,   nil,   nil,   nil,   397,   756,   759,   764,   761,   762,
   763,   917,   nil,   nil,   767,   339,   334,   341,   nil,   572,
   573,   771,   344,   347,   261 ]

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

racc_reduce_n = 559

racc_shift_n = 974

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

racc_nt_base = 143

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

Racc_debug_parser = false

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

# reduce 0 omitted

# reduce 1 omitted

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

# reduce 29 omitted

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

# reduce 31 omitted

# reduce 32 omitted

# reduce 33 omitted

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

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

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

# reduce 37 omitted

# reduce 38 omitted

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

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

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

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

# reduce 43 omitted

# reduce 44 omitted

# reduce 45 omitted

# reduce 46 omitted

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

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

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

# reduce 50 omitted

# reduce 51 omitted

# reduce 52 omitted

# reduce 53 omitted

# reduce 54 omitted

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

# reduce 56 omitted

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

# reduce 58 omitted

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

# reduce 60 omitted

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

# reduce 62 omitted

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

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

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

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

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

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

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

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

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

# reduce 72 omitted

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

# reduce 74 omitted

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

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

# reduce 77 omitted

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

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

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

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

# reduce 82 omitted

# reduce 83 omitted

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

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

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

# reduce 87 omitted

# reduce 88 omitted

# reduce 89 omitted

# reduce 90 omitted

# reduce 91 omitted

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

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

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

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

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

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

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

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

# reduce 100 omitted

# reduce 101 omitted

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

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

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

# reduce 105 omitted

# reduce 106 omitted

# reduce 107 omitted

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

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

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

# reduce 111 omitted

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

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

# reduce 114 omitted

# reduce 115 omitted

# reduce 116 omitted

# reduce 117 omitted

# reduce 118 omitted

# reduce 119 omitted

# reduce 120 omitted

# reduce 121 omitted

# reduce 122 omitted

# reduce 123 omitted

# reduce 124 omitted

# reduce 125 omitted

# reduce 126 omitted

# reduce 127 omitted

# reduce 128 omitted

# reduce 129 omitted

# reduce 130 omitted

# reduce 131 omitted

# reduce 132 omitted

# reduce 133 omitted

# reduce 134 omitted

# reduce 135 omitted

# reduce 136 omitted

# reduce 137 omitted

# reduce 138 omitted

# reduce 139 omitted

# reduce 140 omitted

# reduce 141 omitted

# reduce 142 omitted

# reduce 143 omitted

# reduce 144 omitted

# reduce 145 omitted

# reduce 146 omitted

# reduce 147 omitted

# reduce 148 omitted

# reduce 149 omitted

# reduce 150 omitted

# reduce 151 omitted

# reduce 152 omitted

# reduce 153 omitted

# reduce 154 omitted

# reduce 155 omitted

# reduce 156 omitted

# reduce 157 omitted

# reduce 158 omitted

# reduce 159 omitted

# reduce 160 omitted

# reduce 161 omitted

# reduce 162 omitted

# reduce 163 omitted

# reduce 164 omitted

# reduce 165 omitted

# reduce 166 omitted

# reduce 167 omitted

# reduce 168 omitted

# reduce 169 omitted

# reduce 170 omitted

# reduce 171 omitted

# reduce 172 omitted

# reduce 173 omitted

# reduce 174 omitted

# reduce 175 omitted

# reduce 176 omitted

# reduce 177 omitted

# reduce 178 omitted

# reduce 179 omitted

# reduce 180 omitted

# reduce 181 omitted

# reduce 182 omitted

# reduce 183 omitted

# reduce 184 omitted

# reduce 185 omitted

# reduce 186 omitted

# reduce 187 omitted

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

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

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

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

def _reduce_192(val, _values, result)
                      raise ".JS[...] #{val[4]} is not supported"
                    
    result
end

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

# reduce 194 omitted

# reduce 195 omitted

# reduce 196 omitted

# reduce 197 omitted

# reduce 198 omitted

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

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

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

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

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

def _reduce_204(val, _values, result)
                      result = new_binary_call(val[0], val[1], val[2])
                    
    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_call new_binary_call(new_int(val[1]), val[2], val[3]), [:"-@", []], []
                    
    result
end

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

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

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

def _reduce_211(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_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_binary_call(val[0], val[1], 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_binary_call(val[0], val[1], val[2])
                    
    result
end

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

def _reduce_219(val, _values, result)
                      result = new_binary_call(val[0], val[1], val[2])
                    
    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_binary_call(val[0], val[1], val[2])
                    
    result
end

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

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

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

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

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

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

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

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

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

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

# reduce 233 omitted

# reduce 234 omitted

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

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

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

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

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

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

# reduce 241 omitted

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

# reduce 243 omitted

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

# reduce 245 omitted

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

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

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

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

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

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

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

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

# reduce 254 omitted

# reduce 255 omitted

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

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

# reduce 258 omitted

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 271 omitted

# reduce 272 omitted

# reduce 273 omitted

# reduce 274 omitted

# reduce 275 omitted

# reduce 276 omitted

# reduce 277 omitted

# reduce 278 omitted

# reduce 279 omitted

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

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

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

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

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

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

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

def _reduce_287(val, _values, result)
                      result = new_js_call val[0], [:[], []], val[2]
                    
    result
end

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

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

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

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

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

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

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

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

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

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

# reduce 298 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 331 omitted

# reduce 332 omitted

# reduce 333 omitted

# reduce 334 omitted

# reduce 335 omitted

# reduce 336 omitted

# reduce 337 omitted

# reduce 338 omitted

# reduce 339 omitted

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

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

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

# reduce 343 omitted

# reduce 344 omitted

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

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

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

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

# reduce 349 omitted

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

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

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

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

# reduce 354 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 373 omitted

# reduce 374 omitted

# reduce 375 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

def _reduce_389(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_390(val, _values, result)
                      result = [val[0]]
                    
    result
end

# reduce 391 omitted

def _reduce_392(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_393(val, _values, result)
                      result = nil
                    
    result
end

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

# reduce 395 omitted

# reduce 396 omitted

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

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

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

# reduce 400 omitted

# reduce 401 omitted

# reduce 402 omitted

# reduce 403 omitted

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

# reduce 405 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

def _reduce_428(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_429(val, _values, result)
                      lexer.strterm = val[1]
                      lexer.cond_lexpop
                      lexer.cmdarg_lexpop
                      result = new_evstr(val[2])
                    
    result
end

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

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

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

# reduce 433 omitted

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

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

# reduce 436 omitted

# reduce 437 omitted

# reduce 438 omitted

# reduce 439 omitted

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

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

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

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

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

def _reduce_445(val, _values, result)
                    result = new_bignum(negate_bignum(val[1]))
                  
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 464 omitted

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

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

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

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

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

# reduce 470 omitted

# reduce 471 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 494 omitted

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

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

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

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

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

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

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

# reduce 502 omitted

# reduce 503 omitted

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

# reduce 505 omitted

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

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

# reduce 508 omitted

# reduce 509 omitted

# reduce 510 omitted

# reduce 511 omitted

# reduce 512 omitted

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

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

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

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

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

# reduce 518 omitted

# reduce 519 omitted

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

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

# reduce 522 omitted

# reduce 523 omitted

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

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

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

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

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

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

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

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

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

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

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

# reduce 535 omitted

# reduce 536 omitted

# reduce 537 omitted

# reduce 538 omitted

# reduce 539 omitted

# reduce 540 omitted

# reduce 541 omitted

# reduce 542 omitted

# reduce 543 omitted

# reduce 544 omitted

# reduce 545 omitted

# reduce 546 omitted

# reduce 547 omitted

# reduce 548 omitted

# reduce 549 omitted

# reduce 550 omitted

# reduce 551 omitted

# reduce 552 omitted

# reduce 553 omitted

# reduce 554 omitted

# reduce 555 omitted

# reduce 556 omitted

# reduce 557 omitted

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

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

  end   # class Parser
  end   # module Opal
