lib/parser/ruby18.rb



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

require 'racc/parser.rb'


require 'parser'

module Parser
  class Ruby18 < Parser::Base

module_eval(<<'...end ruby18.y/module_eval...', 'ruby18.y', 1910)

  def version
    18
  end

  def default_encoding
    Encoding::BINARY if defined? Encoding
  end
...end ruby18.y/module_eval...
##### State transition tables begin ###

clist = [
'-480,195,196,195,196,489,814,-480,-480,-480,511,578,578,-480,-480,-87',
'-480,768,579,579,489,72,531,-83,558,-480,758,489,-82,73,195,196,-84',
'395,-69,-480,-480,-81,-480,-480,-480,-480,-480,489,489,477,591,-86,479',
'-80,-61,-429,659,658,662,661,590,99,557,558,291,291,98,-81,-480,-480',
'-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,234,-87',
'-480,-480,-480,722,546,530,-476,-76,-480,-69,99,-480,291,557,621,98',
'-480,-80,-480,-85,-480,-480,-480,-480,-480,-480,-480,-277,-480,-480',
'-480,580,259,510,-277,-277,-277,99,-79,488,-277,-277,98,-277,-480,-480',
'-75,-75,431,-480,-83,-74,99,99,488,-76,-74,98,98,99,-73,488,-277,-277',
'98,-277,-277,-277,-277,-277,-78,-76,-72,690,259,99,99,488,488,621,98',
'98,-477,621,502,195,196,259,503,-76,713,-277,-277,-277,-277,-277,-277',
'-277,-277,-277,-277,-277,-277,-277,-277,521,558,-277,-277,-277,-76,549',
'99,-76,620,-277,258,98,-277,-82,-74,558,-77,-277,745,-277,521,-277,-277',
'-277,-277,-277,-277,-277,-226,-277,254,-277,-74,691,557,-226,-226,-226',
'-480,463,-226,-226,-226,254,-226,-277,-277,194,-77,557,-277,-85,258',
'-74,-226,477,-74,606,476,496,523,522,526,-226,-226,258,-226,-226,-226',
'-226,-226,99,521,620,291,99,98,620,814,-84,98,523,522,477,99,-86,482',
'251,-480,98,-79,673,469,-87,252,-480,541,521,749,-480,-476,521,-421',
'-226,-480,-272,99,-429,575,-421,-226,98,-272,-272,-272,254,-226,-272',
'-272,-272,568,-272,-480,516,659,658,662,661,743,-424,517,-272,-272,523',
'522,524,-424,753,-226,-74,-272,-272,-82,-272,-272,-272,-272,-272,-417',
'-480,-72,755,-226,-80,-226,-417,-480,-226,523,522,527,-476,523,522,532',
'-480,495,758,496,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272',
'-272,-272,-272,-480,-423,-272,-272,-272,-277,477,-272,-423,479,-272',
'521,-277,-272,-272,680,-272,-477,-272,759,-272,-277,-272,-272,-272,-272',
'-272,-272,-272,-226,-272,-477,-272,542,-480,99,-226,-226,-226,463,98',
'-226,-226,-226,-476,-226,-272,-272,-272,-272,760,-272,-422,-427,761',
'-226,215,-474,-73,-422,-427,-81,763,-473,-226,-226,215,-226,-226,-226',
'-226,-226,523,522,519,215,-76,195,196,-84,-426,-477,-78,-428,-480,-86',
'215,-426,-477,-260,-428,-480,215,-477,-476,215,-476,-477,212,-428,-480',
'-476,214,213,-226,466,-476,-421,284,285,-476,-226,467,-417,-421,-477',
'254,-226,-480,-474,-417,393,254,-421,540,-473,-259,212,-476,-417,391',
'214,213,210,211,461,462,392,538,-226,655,-474,653,652,651,654,393,-473',
'-476,-476,-476,536,-476,-226,99,-226,-476,-476,-226,98,535,-476,606',
'-476,-476,-476,-476,-476,-476,-476,734,606,662,661,-476,-476,-476,-476',
'-476,-476,-476,215,195,196,-425,291,659,658,662,661,-476,-425,740,-476',
'-476,-476,-476,-476,-476,-476,-476,-476,-476,739,-476,-476,769,-476',
'-476,-476,215,734,606,212,738,-278,606,214,213,210,211,-278,-278,777',
'778,568,229,230,-278,-476,692,-278,-476,-476,616,-476,-476,-278,568',
'-476,730,-476,212,-476,218,-476,214,213,210,211,498,358,216,-476,217',
'360,359,499,-476,-476,-476,-476,-476,-476,254,254,497,-476,-476,-477',
'-477,-477,215,-477,728,234,-83,-477,-477,-259,496,568,-477,790,-477',
'-477,-477,-477,-477,-477,-477,791,792,501,500,-477,-477,-477,-477,-477',
'-477,-477,667,668,212,669,93,94,214,213,351,-477,724,624,-477,-477,-477',
'-477,-477,-477,-477,-477,-477,-477,797,-477,-477,215,-477,-477,-477',
'215,219,224,225,226,221,223,231,232,227,228,-319,-497,-497,-279,799',
'229,230,-319,-477,549,-279,-477,-477,215,-477,-477,-319,484,-477,-279',
'-477,212,-477,218,-477,214,213,210,211,222,220,216,-477,217,254,481',
'708,-477,-477,-477,-477,-477,-477,672,507,805,-477,-477,62,63,64,505',
'51,291,807,-85,56,57,291,254,506,60,472,58,59,61,23,24,65,66,675,471',
'818,215,22,28,27,88,87,89,90,465,464,17,436,254,825,291,537,826,41,827',
'263,92,91,82,50,84,83,86,85,93,94,829,80,81,830,38,39,37,215,219,224',
'225,226,221,223,231,232,227,228,823,208,209,-278,832,229,230,824,200',
'459,-278,204,835,453,52,53,822,452,54,-278,451,212,839,218,40,214,213',
'210,211,222,220,216,18,217,840,-60,721,79,72,74,75,76,77,846,847,848',
'73,78,592,99,233,758,-215,-277,98,62,63,64,7,51,-277,759,436,56,57,-477',
'431,428,60,-277,58,59,61,23,24,65,66,426,397,396,394,22,28,27,88,87',
'89,90,861,361,17,101,102,103,104,105,6,41,8,9,92,91,82,50,84,83,86,85',
'93,94,436,80,81,693,38,39,37,215,219,224,225,226,221,223,231,232,227',
'228,192,-497,-497,-271,568,229,230,193,36,349,-271,30,568,471,52,53',
'191,704,54,-271,32,212,291,218,40,214,213,210,211,222,220,216,18,217',
'717,283,874,79,72,74,75,76,77,875,-271,876,73,78,62,63,64,-271,51,282',
'351,457,56,57,431,234,-271,60,458,58,59,61,246,247,65,66,715,456,190',
'189,245,275,279,88,87,89,90,101,102,103,104,105,880,188,431,883,276',
'758,885,92,91,82,50,84,83,86,85,93,94,886,80,81,215,187,655,280,653',
'652,651,654,-279,186,568,-428,243,568,707,-279,229,230,-428,95,568,',
',772,-279,,204,-428,,52,53,,212,54,218,,214,213,210,211,645,,216,,217',
',,,659,658,662,661,79,72,74,75,76,77,,,,73,78,,62,63,64,775,51,,,,56',
'57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,101,102',
'103,104,105,,,537,,276,,,92,91,82,50,84,83,86,85,93,94,,80,81,,,,280',
'215,219,224,225,226,221,223,231,232,227,228,-277,208,209,,,229,230,-277',
'772,,,204,-477,,52,53,-277,,54,,,212,,218,,214,213,210,211,222,220,216',
',217,,,,79,72,74,75,76,77,,,,73,78,,,233,,855,5,62,63,64,7,51,,,,56',
'57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6',
'41,8,9,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,',
',,,,,36,,,30,,,52,53,,,54,,32,,,,40,655,,653,652,651,654,,18,,,,,79',
'72,74,75,76,77,,,,73,78,5,62,63,64,7,51,,,,56,57,,,,60,,58,59,61,23',
'24,65,66,659,658,662,661,22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92',
'91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,36,,',
'30,,,52,53,,,54,,32,,,,40,655,,653,652,651,654,,18,,,,,79,72,74,75,76',
'77,,,,73,78,5,62,63,64,7,51,,,,56,57,,,,60,645,58,59,61,23,24,65,66',
'659,658,662,661,22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92,91,82,50',
'84,83,86,85,93,94,,80,81,,38,39,37,215,,,,,,,,,,,,,,,,229,230,,36,,',
'30,,,52,53,,,54,,32,212,,218,40,214,213,210,211,,,216,18,217,,,,79,72',
'74,75,76,77,,,,73,78,5,62,63,64,7,51,,,,56,57,,,,60,,58,59,61,23,24',
'65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92,91,82,50,84,83',
'86,85,93,94,,80,81,,38,39,37,215,,,,,,,,,,,,,,,,229,230,,36,,,30,,,52',
'53,,,54,,32,212,,218,40,214,213,210,211,,,216,18,217,,,,79,72,74,75',
'76,77,,,,73,78,5,62,63,64,7,51,,,,56,57,,,,60,,58,59,61,23,24,65,66',
',,,,22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92,91,82,50,84,83,86,85',
'93,94,,80,81,,38,39,37,215,-497,-497,-497,-497,221,223,,,-497,-497,',
',,,,229,230,,36,,,30,,,52,53,,,54,,32,212,,218,40,214,213,210,211,222',
'220,216,18,217,,,,79,72,74,75,76,77,,,,73,78,5,62,63,64,7,51,,,,56,57',
',,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6,41',
'8,9,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,215,-497,-497,-497',
'-497,221,223,,,-497,-497,,,,,,229,230,,36,,,30,,,52,53,,,54,,32,212',
',218,40,214,213,210,211,222,220,216,18,217,,,,79,72,74,75,76,77,,,,73',
'78,5,62,63,64,7,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27',
'88,87,89,90,,,17,,,,,,6,41,8,9,92,91,82,50,84,83,86,85,93,94,,80,81',
',38,39,37,215,-497,-497,-497,-497,221,223,,,-497,-497,,,,,,229,230,',
'36,,,30,,,52,53,,,54,,32,212,,218,40,214,213,210,211,222,220,216,18',
'217,,,,79,72,74,75,76,77,,,,73,78,5,62,63,64,7,51,,,,56,57,,,,60,,58',
'59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92,91',
'82,50,84,83,86,85,93,94,,80,81,,38,39,37,215,-497,-497,-497,-497,221',
'223,,,-497,-497,,,,,,229,230,,36,,,30,,,52,53,,,54,,32,212,,218,40,214',
'213,210,211,222,220,216,18,217,,,,79,72,74,75,76,77,,,,73,78,5,62,63',
'64,7,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90',
',,17,,,,,,6,41,8,9,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,215',
'-497,-497,-497,-497,221,223,,,-497,-497,,,,,,229,230,,36,,,30,,,52,53',
',,54,,32,212,,218,40,214,213,210,211,222,220,216,18,217,,,,79,72,74',
'75,76,77,,,,73,78,5,62,63,64,7,51,,,,56,57,,,,60,,58,59,61,23,24,65',
'66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92,91,82,50,84,83,86',
'85,93,94,,80,81,,38,39,37,215,219,224,225,226,221,223,,,227,228,,,,',
',229,230,,36,,,30,,,52,53,,,54,,32,212,,218,40,214,213,210,211,222,220',
'216,18,217,,,,79,72,74,75,76,77,,,,73,78,5,62,63,64,7,51,,,,56,57,,',
',60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6,41,8',
'9,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,215,219,224,225,226',
'221,223,231,,227,228,,,,,,229,230,,36,,,265,,,52,53,,,54,,32,212,,218',
'40,214,213,210,211,222,220,216,18,217,,,,79,72,74,75,76,77,,,,73,78',
'5,62,63,64,7,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88',
'87,89,90,,,17,,,,,,6,41,8,9,92,91,82,50,84,83,86,85,93,94,,80,81,,38',
'39,37,215,-497,-497,-497,-497,221,223,,,-497,-497,,,,,,229,230,,36,',
',30,,,52,53,,,54,,32,212,,218,40,214,213,210,211,222,220,216,18,217',
',,,79,72,74,75,76,77,,,,73,78,5,62,63,64,7,51,,,,56,57,,,,60,,58,59',
'61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92,91,82',
'50,84,83,86,85,93,94,,80,81,,38,39,37,215,,,,,,,,,,,,,,,,229,230,,36',
',,265,,,52,53,,,54,,32,212,,218,40,214,213,210,211,,,,18,,,,,79,72,74',
'75,76,77,,,,73,78,5,62,63,64,7,51,,,,56,57,,,,60,,58,59,61,23,24,65',
'66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92,91,82,50,84,83,86',
'85,93,94,,80,81,,38,39,37,215,,,,,,,,,,,,,,,,229,230,,36,,,30,,,52,53',
',,54,,32,212,,,40,214,213,210,211,,,,18,,,,,79,72,74,75,76,77,,,,73',
'78,5,62,63,64,7,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27',
'88,87,89,90,,,17,,,,,,6,41,8,9,92,91,82,50,84,83,86,85,93,94,,80,81',
',38,39,37,215,,,,,,,,,,,,,,,,229,230,,36,,,265,,,52,53,,,54,,32,212',
',218,40,214,213,210,211,,,,18,,,,,79,72,74,75,76,77,,,,73,78,5,62,63',
'64,7,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90',
',,17,,,,,,6,41,8,9,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,',
',,,,,,,,,,,,,,,,,36,,,30,,,52,53,,,54,,32,,,,40,,,,,,,,18,,,,,79,72',
'74,75,76,77,,,,73,78,5,62,63,64,7,51,,,,56,57,,,,60,,58,59,61,23,24',
'65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92,91,82,50,84,83',
'86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,53,,,54',
',32,,,,40,,,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78,5,62,63,64,7,51,',
',,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,',
',,,6,41,8,9,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,',
',,,,,,,,,,36,,,30,,,52,53,,,54,,32,,,,40,,,,,,,,18,,,,,79,72,74,75,76',
'77,,,,73,78,5,62,63,64,7,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,',
',22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92,91,82,50,84,83,86,85,93',
'94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,53,,,54,,32,,,,40',
',,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78,5,62,63,64,7,51,,,,56,57,,',
',60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6,41,8',
'9,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,',
'36,,,30,,,52,53,,,54,,32,,,,40,,,,,,,,18,,,,,79,72,74,75,76,77,,,,73',
'78,5,62,63,64,7,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27',
'88,87,89,90,,,17,,,,,,6,41,8,9,92,91,82,50,84,83,86,85,93,94,,80,81',
',38,39,37,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,53,,,54,,32,,,,40,,,,,,,,18',
',,,,79,72,74,75,76,77,,,,73,78,5,62,63,64,7,51,,,,56,57,,,,60,,58,59',
'61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92,91,82',
'50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,36,,,30,,,52',
'53,,,54,,32,,,,40,,,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78,5,62,63,64',
'7,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,',
',17,,,,,,6,41,8,9,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,',
',,,,,,,,,,,,,,,,36,,,30,,,52,53,,,54,,32,,,,40,,,,,,,,18,,,,,79,72,74',
'75,76,77,,,,73,78,5,62,63,64,7,51,,,,56,57,,,,60,,58,59,61,23,24,65',
'66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92,91,82,50,84,83,86',
'85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,53,,,54,,32',
',,,40,,,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78,5,62,63,64,7,51,,,,56',
'57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6',
'41,8,9,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,',
',,,,,36,,,30,,,52,53,,,54,,32,,,,40,,,,,,,,18,,,,,79,72,74,75,76,77',
',,,73,78,5,62,63,64,7,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22',
'28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92,91,82,50,84,83,86,85,93,94,',
'80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,53,,,54,,32,,,,40,,',
',,,,,18,,,,,79,72,74,75,76,77,,,,73,78,5,62,63,64,7,51,,,,56,57,,,,60',
',58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92',
'91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,36,,',
'30,,,52,53,,,54,,32,,,,40,,,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78,5',
'62,63,64,7,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87',
'89,90,,,17,,,,,,6,41,8,9,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39',
'37,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,53,,,54,,32,,,,40,,,,,,,,18,,,,,79',
'72,74,75,76,77,,,,73,78,5,62,63,64,7,51,,,,56,57,,,,60,,58,59,61,23',
'24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92,91,82,50,84',
'83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,53,',
',54,,32,,,,40,,,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51',
',,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,28,27,88,87,89,90,,,',
',,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,',
',,,,,,,,,200,,,204,,,52,53,,,54,,299,,,,40,,,,,,,,207,,,,,79,72,74,75',
'76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,',
',,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93',
'94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40',
',,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60',
',58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,276,,,92',
'91,82,50,84,83,86,85,93,94,,80,81,,,,280,,,,,,,,,,,,,,,,,,,,273,,,270',
',,52,53,,,54,,821,,820,,,,,,,,,,,,,,,79,72,74,75,76,77,,,,73,78,62,63',
'64,,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90',
',,17,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,',
',,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,18,,,,,79,72,74',
'75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,23,24,65,66',
',,,,22,28,27,88,87,89,90,,,17,,,,,,,41,,,92,91,82,50,84,83,86,85,93',
'94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40',
',,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60',
',58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,,41,,,92,91',
'82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204',
',,52,53,,,54,,,,,,40,,,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78,62,63',
'64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87',
'89,90,,,,,,,,,,276,,,92,91,82,50,84,83,86,85,93,94,,80,81,,,,280,,215',
'219,224,225,226,221,223,231,232,227,228,,208,209,,,229,230,315,,,30',
',,52,53,,,54,,32,,212,,218,,214,213,210,211,222,220,216,,217,,,79,72',
'74,75,76,77,,,,73,78,62,63,64,233,51,568,,,56,57,,,,60,,58,59,61,246',
'247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,276,,,92,91,320,50,84',
'83,321,85,93,94,,80,81,,,,280,,215,219,224,225,226,221,223,231,232,227',
'228,,208,209,,327,229,230,322,,,204,,,52,53,,,54,,,,212,,218,,214,213',
'210,211,222,220,216,,217,,,79,72,74,75,76,77,,,,73,78,62,63,64,233,51',
',,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,',
',,,,,,,,276,,,92,91,320,50,84,83,321,85,93,94,,80,81,,,,280,,215,219',
'224,225,226,221,223,231,232,227,228,,208,209,,,229,230,322,,,204,,,52',
'53,,,54,,,,212,,218,,214,213,210,211,222,220,216,,217,,,79,72,74,75',
'76,77,,,,73,78,62,63,64,233,51,,,,56,57,,,,60,,58,59,61,246,247,65,66',
',,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93',
'94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,560,',
'243,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56',
'57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,',
',,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,',
',,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77',
',,,73,78,-473,-473,-473,,-473,,,,-473,-473,,,,-473,,-473,-473,-473,-473',
'-473,-473,-473,,-473,,,-473,-473,-473,-473,-473,-473,-473,,,,,,,,,,-473',
',,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,,-473,-473,,-473',
'-473,-473,,,,,,,,,,,,,,,,,,,,-473,,,-473,-473,,-473,-473,,,-473,,-473',
',-473,,-473,,,,,,,,-473,,-473,,,-473,-473,-473,-473,-473,-473,,,,-473',
'-473,-474,-474,-474,,-474,,,,-474,-474,,,,-474,,-474,-474,-474,-474',
'-474,-474,-474,,-474,,,-474,-474,-474,-474,-474,-474,-474,,,,,,,,,,-474',
',,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,,-474,-474,,-474',
'-474,-474,,,,,,,,,,,,,,,,,,,,-474,,,-474,-474,,-474,-474,,,-474,,-474',
',-474,,-474,,,,,,,,-474,,-474,,,-474,-474,-474,-474,-474,-474,,,,-474',
'-474,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275',
'279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,',
'38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,867,,243,,40,,,',
',,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,',
'58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92',
'91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,',
',204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78',
'62,63,64,,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87',
'89,90,,,17,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37',
',,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,18,,,,,79,72',
'74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,23,24,65',
'66,,,,,22,28,27,88,87,89,90,,,17,,,,,,,41,,,92,91,82,50,84,83,86,85',
'93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,',
',,40,,,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57',
',,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,,41,',
',92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200',
',,204,,,52,53,,,54,,,,,,40,,,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78',
'62,63,64,,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87',
'89,90,,,17,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37',
',,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,18,,,,,79,72',
'74,75,76,77,,,,73,78,62,63,64,7,51,,,,56,57,,,,60,,58,59,61,23,24,65',
'66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92,91,82,50,84,83,86',
'85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,53,,,54,,32',
',,,40,,,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57',
',,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41',
',,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,',
'200,,,204,,,52,53,,,54,,864,,243,,40,,,,,,,,207,,,,,79,72,74,75,76,77',
',,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245',
'275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80',
'81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,',
',,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58',
'59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,276,,,92,91',
'82,50,84,83,86,85,93,94,,80,81,,,,280,,215,219,224,225,226,221,223,231',
'232,227,228,,208,209,,,229,230,772,,,204,,,52,53,,,54,,,,212,,218,,214',
'213,210,211,222,220,216,,217,,,79,72,74,75,76,77,,,,73,78,62,63,64,233',
'51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90',
',,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,',
',,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75',
'76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,',
',,,245,275,279,88,87,89,90,,,,,,,,,,276,,,92,91,82,50,84,83,86,85,93',
'94,,80,81,,,,280,,,,,,,,,,,,,,,,,,,,273,,,270,,,52,53,,,54,,697,,698',
',,,,,,,,699,,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,',
',60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,,,,,,,,41,,,92',
'91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,',
',204,,,52,53,,,54,,369,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73',
'78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88',
'87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37',
',,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,369,,,,40,,,,,,,,207,,,,',
'79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,23',
'24,65,66,,,,,22,28,27,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86',
'85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54',
',,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56',
'57,,,,60,,58,59,61,246,247,65,66,,,,,245,28,27,88,87,89,90,,,,,,,,,',
'41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,',
',,,200,,,204,,,52,53,,,54,,299,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77',
',,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245',
'275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80',
'81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,',
',,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58',
'59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,276,,,92,91',
'82,50,84,83,86,85,93,94,,80,81,,,,280,,215,219,224,225,226,221,223,231',
'232,227,228,,208,209,,,229,230,273,,,204,,,52,53,,,54,,,,212,,218,,214',
'213,210,211,222,220,216,,217,,,79,72,74,75,76,77,,,,73,78,62,63,64,233',
'51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,',
',,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,',
',,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76',
'77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22',
'28,27,88,87,89,90,,,17,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80',
'81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,',
',,18,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58',
'59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,,41,,,92,91,82',
'50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,',
',52,53,,,54,,,,,,40,,,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78,62,63,64',
',51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89',
'90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,',
',,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74',
'75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,23,24,65,66',
',,,,22,28,27,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94',
',80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,',
',,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60',
',58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92',
'91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,',
',204,,,52,53,,,54,,564,,243,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,',
'73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27',
'88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39',
'37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,',
'79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,23',
'24,65,66,,,,,22,28,27,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86',
'85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54',
',,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56',
'57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,',
',,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,',
',,,,,200,,,204,,,52,53,,,54,,679,,,,40,,,,,,,,207,,,,,79,72,74,75,76',
'77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,',
'245,275,279,88,87,89,90,,,,,,,,,,276,,,92,91,82,50,84,83,86,85,93,94',
',80,81,,,,280,,215,219,224,225,226,221,223,231,232,227,228,,208,209',
',,229,230,273,,,270,,,52,53,,,54,,269,,212,,218,,214,213,210,211,222',
'220,216,,217,,,79,72,74,75,76,77,,,,73,78,62,63,64,233,51,,,,56,57,',
',,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41',
',,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,',
'200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73',
'78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279',
'88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39',
'37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,',
'79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246',
'247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83',
'86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,',
'54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,',
',56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,',
',,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,',
',,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76',
'77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,',
'245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94',
',80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,',
',,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60',
',58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92',
'91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,',
',204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78',
'62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279',
'88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39',
'37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,',
'79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246',
'247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83',
'86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,',
'54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,',
',56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,',
',,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,',
',,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76',
'77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,',
'245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94',
',80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,',
',,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60',
',58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92',
'91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,',
',204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78',
'62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279',
'88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39',
'37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,',
'79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246',
'247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83',
'86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,',
'54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,',
',56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,',
',,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,',
',,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76',
'77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,',
'245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94',
',80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,',
',,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60',
',58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92',
'91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,',
',204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78',
'62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279',
'88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39',
'37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,',
'79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246',
'247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83',
'86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,',
'54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,',
',56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,',
',,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,',
',,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76',
'77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,',
'245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94',
',80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,',
',,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60',
',58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92',
'91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,',
',204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78',
'62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279',
'88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39',
'37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,',
'79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246',
'247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83',
'86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,',
'54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,',
',56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,',
',,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,',
',,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76',
'77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,',
'245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94',
',80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,',
',,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60',
',58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92',
'91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,',
',204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78',
'62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279',
'88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39',
'37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,',
'79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246',
'247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83',
'86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,',
'54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,',
',56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,28,27,88,87,89,90,,,,,',
',,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,',
',,,,,,,200,,,204,,,52,53,,,54,,299,,,,40,,,,,,,,207,,,,,79,72,74,75',
'76,77,,,,73,78,-249,-249,-249,,-249,,,,-249,-249,,,,-249,,-249,-249',
'-249,-249,-249,-249,-249,,,,,-249,-249,-249,-249,-249,-249,-249,,,,',
',,,,,-249,,,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,,-249',
'-249,,-249,-249,-249,,,,,,,,,,,,,,,,,,,,-249,,,-249,263,,-249,-249,',
',-249,,-249,,-249,,-249,,,,,,,,-249,,,,,-249,-249,-249,-249,-249,-249',
',,,-249,-249,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,',
',245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94',
',80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,',
',,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60',
',58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92',
'91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,',
',204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78',
'62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279',
'88,87,89,90,,,,,,,,,,276,,,92,91,82,50,84,83,86,85,93,94,,80,81,,,,280',
',,,,,,,,,,,,,,,,,,,772,,,204,,,52,53,,,54,,,,,,,,,,,,,,,,,,,79,72,74',
'75,76,77,,,,73,78,153,164,154,177,150,170,160,159,180,181,175,158,157',
'152,178,182,183,162,151,165,169,171,163,156,,,172,179,174,173,166,176',
'161,149,168,167,,,,,,148,155,146,147,144,145,109,111,,,110,,,,,,,,139',
'140,,137,121,122,123,,126,128,,,124,,,,,141,142,129,130,,,,,,,,,,,,',
',134,133,,120,138,136,135,131,132,127,125,118,,119,,,143,79,,,62,63',
'64,,51,,,78,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87',
'89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,',
',,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72',
'74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65',
'66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85',
'93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,',
',,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57',
',,,60,,58,59,61,246,247,65,66,,,,,245,28,27,88,87,89,90,,,,,,,,,,41',
',,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,',
'200,,,204,,,52,53,,,54,,241,,243,,40,,,,,,,,207,,,,,79,72,74,75,76,77',
',,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245',
'28,27,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81',
',38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,445,53,,,54,,241,,243,,40,',
',,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60',
',58,59,61,246,247,65,66,,,,,245,28,27,88,87,89,90,,,,,,,,,,41,,,92,91',
'82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204',
',449,52,53,,,54,,241,,243,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73',
'78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279',
'88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39',
'37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,',
'79,72,74,75,76,77,,,,73,78,-249,-249,-249,,-249,,,,-249,-249,,,,-249',
',-249,-249,-249,-249,-249,-249,-249,,,,,-249,-249,-249,-249,-249,-249',
'-249,,,,,,,,,,-249,,,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249',
',-249,-249,,-249,-249,-249,,,,,,,,,,,,,,,,,,,,-249,,,-249,254,,-249',
'-249,,,-249,,-249,,-249,,-249,,,,,,,,-249,,,,,-249,-249,-249,-249,-249',
'-249,,,,-249,-249,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66',
',,,,245,275,279,88,87,89,90,,,,,,,,,,276,,,92,91,82,50,84,83,86,85,93',
'94,,80,81,,,,280,,215,219,224,225,226,221,223,231,232,227,228,,208,209',
',,229,230,772,,,204,,,52,53,,,54,,,,212,,218,,214,213,210,211,222,220',
'216,,217,,,79,72,74,75,76,77,,,,73,78,62,63,64,233,51,,,,56,57,,,,60',
',58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92',
'91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,',
',204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78',
'62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279',
'88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39',
'37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,',
'79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246',
'247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,276,,,92,91,82,50,84',
'83,86,85,93,94,,80,81,,,,280,,215,219,224,225,226,221,223,231,232,227',
'228,,208,209,,,229,230,273,,,204,,,52,53,,,54,,,,212,,218,,214,213,210',
'211,222,220,216,,217,,,79,72,74,75,76,77,,,,73,78,62,63,64,233,51,,',
',56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,',
',,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,',
',,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76',
'77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,',
'245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94',
',80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,',
',,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60',
',58,59,61,246,247,65,66,,,,,245,28,27,88,87,89,90,,,,,,,,,,41,,,92,91',
'82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204',
',,52,53,,,54,,241,,243,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78',
'62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279',
'88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39',
'37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,',
'79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246',
'247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83',
'86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,',
'54,,889,,243,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64',
',51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89',
'90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,',
',,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74',
'75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,23,24,65,66',
',,,,22,28,27,88,87,89,90,,,17,,,,,,,41,,,92,91,82,50,84,83,86,85,93',
'94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40',
',,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60',
',58,59,61,246,247,65,66,,,,,245,28,27,88,87,89,90,,,,,,,,,,41,,,92,91',
'82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204',
',,52,53,,,54,,299,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62',
'63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,28,27,88,87',
'89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,',
',,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,299,,,,40,,,,,,,,207,,,,,79',
'72,74,75,76,77,,,,73,78,62,63,64,7,51,,,,56,57,,,,60,,58,59,61,23,24',
'65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92,91,82,50,84,83',
'86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,53,,,54',
',32,,,,40,,,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56',
'57,,,,60,,58,59,61,246,247,65,66,,,,,245,28,27,88,87,89,90,,,,,,,,,',
'41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,',
',,,200,,,204,,,52,53,,,54,,299,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77',
',,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245',
'28,27,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81',
',38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,241,,243,,40,,',
',,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60',
',58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92',
'91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,',
',204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78',
'62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279',
'88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39',
'37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,628,,,,40,,,,,,,,207,',
',,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61',
'246,247,65,66,,,,,245,28,27,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84',
'83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53',
',,54,,241,,243,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64',
',51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89',
'90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,',
',,,,,,,,,,,,,,,200,,,204,469,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72',
'74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65',
'66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85',
'93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,',
',,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57',
',,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,,41,',
',92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200',
',,204,,,52,53,,,54,,584,,243,,40,,,,,,,,18,,,,,79,72,74,75,76,77,,,',
'73,78,-479,-479,-479,,-479,,,,-479,-479,,,,-479,,-479,-479,-479,-479',
'-479,-479,-479,,,,,-479,-479,-479,-479,-479,-479,-479,,,,,,,,,,-479',
',,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,,-479,-479,,-479',
'-479,-479,,,,,,,,,,,,,,,,,,,,-479,,,-479,-479,,-479,-479,,,-479,,-479',
',-479,,-479,,,,,,,,-479,,,,,-479,-479,-479,-479,-479,-479,,,,-479,-479',
'62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279',
'88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39',
'37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,',
'79,72,74,75,76,77,,,,73,78,-478,-478,-478,,-478,,,,-478,-478,,,,-478',
',-478,-478,-478,-478,-478,-478,-478,,,,,-478,-478,-478,-478,-478,-478',
'-478,,,,,,,,,,-478,,,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478',
',-478,-478,,-478,-478,-478,,,,,,,,,,,,,,,,,,,,-478,,,-478,-478,,-478',
'-478,,,-478,,-478,,-478,,-478,,,,,,,,-478,,,,,-478,-478,-478,-478,-478',
'-478,,,,-478,-478,153,164,154,177,150,170,160,159,180,181,175,158,157',
'152,178,182,183,162,151,165,169,171,163,156,,,172,179,174,173,166,176',
'161,149,168,167,,,,,,148,155,146,147,144,145,109,111,108,,110,,,,,,',
',139,140,,137,121,122,123,,126,128,,,124,,,,,141,142,129,130,,,,,,,',
',,,,,,134,133,,120,138,136,135,131,132,127,125,118,,119,,,143,79,,,62',
'63,64,,51,,,78,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88',
'87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37',
',,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79',
'72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,23,24',
'65,66,,,,,22,28,27,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85',
'93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,',
',,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57',
',,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41',
',,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,',
'200,,,204,,,52,53,,,54,,802,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,',
',,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28',
'27,88,87,89,90,,,17,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81',
',38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,18',
',,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61',
'246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50',
'84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52',
'53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,',
'51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17',
',,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,',
',,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,18,,,,,79,72,74,75,76',
'77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22',
'28,27,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81',
',38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207',
',,,,79,72,74,75,76,77,,,,73,78,153,164,154,177,150,170,160,159,180,181',
'175,158,157,152,178,182,183,162,151,165,169,171,163,156,,,172,179,174',
'173,166,176,161,149,168,167,,,,,,148,155,146,147,144,145,109,111,,,110',
',,,,,,,139,140,,137,121,122,123,,126,128,,,124,,,,,141,142,129,130,',
',,,,,,,,,,,,134,133,,120,138,136,135,131,132,127,125,118,,119,,,143',
'79,,,62,63,64,,51,,,78,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27',
'88,87,89,90,,,17,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38',
'39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,18,,',
',,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,23',
'24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,,41,,,92,91,82,50,84,83',
'86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,',
'54,,,,,,40,,,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78,-249,-249,-249,',
'-249,,,,-249,-249,,,,-249,,-249,-249,-249,-249,-249,-249,-249,,,,,-249',
'-249,-249,-249,-249,-249,-249,,,,,,,,,,-249,,,-249,-249,-249,-249,-249',
'-249,-249,-249,-249,-249,,-249,-249,,-249,-249,-249,,,,,,,,,,,,,,,,',
',,,-249,,,-249,254,,-249,-249,,,-249,,-249,,-249,,-249,,,,,,,,-249,',
',,,-249,-249,-249,-249,-249,-249,,,,-249,-249,62,63,64,,51,,,,56,57',
',,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,276',
',,92,91,82,50,84,83,86,85,93,94,,80,81,,,,280,,215,219,224,225,226,221',
'223,231,232,227,228,,208,209,,,229,230,772,,,204,,,52,53,,,54,,,,212',
',218,,214,213,210,211,222,220,216,,217,,,79,72,74,75,76,77,,,,73,78',
'62,63,64,233,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88',
'87,89,90,,,17,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39',
'37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,18,,,,,79',
'72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247',
'65,66,,,,,245,28,27,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85',
'93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,299',
',,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57',
',,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41',
',,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,',
'200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73',
'78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279',
'88,87,89,90,,,,,,,,,,276,,,92,91,82,50,84,83,86,85,93,94,,80,81,,,,280',
',215,219,224,225,226,221,223,231,232,227,228,,208,209,,,229,230,772',
',,204,,,52,53,,,54,,,,212,,218,,214,213,210,211,222,220,216,,217,,,79',
'72,74,75,76,77,,,,73,78,62,63,64,233,51,,,,56,57,,,,60,,58,59,61,246',
'247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83',
'86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,',
'54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,',
',56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,',
',,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,',
',,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76',
'77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,',
'245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94',
',80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,',
',,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60',
',58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92',
'91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,',
',204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78',
'62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279',
'88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39',
'37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,788,,243,,40,,,,,,,,207',
',,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61',
'246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50',
'84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52',
'53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,',
'51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90',
',,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,',
',,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75',
'76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,',
',22,28,27,88,87,89,90,,,17,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94',
',80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,',
',,,,,,18,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60',
',58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92',
'91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,',
',204,,,52,53,,,54,,786,,243,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,',
'73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275',
'279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,',
'38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207',
',,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61',
'246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,276,,,92,91,82,50',
'84,83,86,85,93,94,,80,81,,,,280,,215,219,224,225,226,221,223,231,232',
'227,228,,208,209,,,229,230,772,,,204,,,52,53,,,54,,,,212,,218,,214,213',
'210,211,222,220,216,,217,,,79,72,74,75,76,77,,,,73,78,62,63,64,233,51',
',,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,',
',,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,',
',,,,,,,,,,,200,,,204,,,52,53,,,54,,780,,243,,40,,,,,,,,207,,,,,79,72',
'74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65',
'66,,,,,245,275,279,88,87,89,90,,,,,,,,,,276,,,92,91,82,50,84,83,86,85',
'93,94,,80,81,,,,280,,215,219,224,225,226,221,223,231,232,227,228,,208',
'209,,,229,230,772,,,204,,,52,53,,,54,,,,212,,218,,214,213,210,211,222',
'220,216,,217,,,79,72,74,75,76,77,,,,73,78,62,63,64,233,51,,,,56,57,',
',,60,,58,59,61,246,247,65,66,,,,,245,28,27,88,87,89,90,,,,,,,,,,41,',
',92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200',
',,204,,,52,53,,,54,,560,,243,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,',
',73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275',
'279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,',
'38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207',
',,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61',
'246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50',
'84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52',
'53,,,54,,612,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64',
',51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89',
'90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,',
',,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74',
'75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,23,24,65,66',
',,,,22,28,27,88,87,89,90,,,17,,,,,,,41,,,92,91,82,50,84,83,86,85,93',
'94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40',
',,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78,153,164,154,177,150,170,160',
'159,180,181,175,158,157,152,178,182,183,162,151,165,169,171,163,156',
',,172,179,174,173,166,176,161,149,168,167,,,,,,148,155,146,147,144,145',
'109,111,,,110,,,,,,,,139,140,,137,121,122,123,,126,128,,,124,,,,,141',
'142,129,130,,,,,,,,,,,,,,134,133,,120,138,136,135,131,132,127,125,118',
',119,,,143,79,,,62,63,64,,51,,,78,56,57,,,,60,,58,59,61,246,247,65,66',
',,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93',
'94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,369,',
',,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57',
',,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41',
',,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,',
'200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73',
'78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88',
'87,89,90,,,17,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39',
'37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,18,,,,,79',
'72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247',
'65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86',
'85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54',
',,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56',
'57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,',
',,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,',
',,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77',
',,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245',
'275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80',
'81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,',
',,207,,,,,79,72,74,75,76,77,,,,73,78,153,164,154,177,150,170,160,159',
'180,181,175,158,157,152,178,182,183,162,151,165,169,171,163,156,,,172',
'179,174,173,166,176,161,149,168,167,,,,,,148,155,146,147,144,145,109',
'111,,,110,,,,,,,,139,140,,137,121,122,123,,126,128,,,124,,,,,141,142',
'129,130,,,,,,,,,,,,,,134,133,,120,138,136,135,131,132,127,125,118,,119',
',,143,153,164,154,177,150,170,160,159,180,181,175,158,157,152,178,182',
'183,162,151,165,169,171,163,156,,,172,179,174,336,335,337,334,149,168',
'167,,,,,,148,155,146,147,332,333,330,111,84,83,331,85,,,,,,,139,140',
',137,121,122,123,,126,128,,,124,,,,,141,142,129,130,,,,,,341,,,,,,,',
'134,133,,120,138,136,135,131,132,127,125,118,,119,,,143,215,219,224',
'225,226,221,223,231,232,227,228,,208,209,,,229,230,,,,-215,,,,,,,,,',
',212,,218,,214,213,210,211,222,220,216,,217,,,,,,,,552,385,,,553,,,',
',233,,-215,139,140,,137,121,122,123,,126,128,,,124,,,,,141,142,129,130',
',,,,,,,,,,,,,134,133,,120,138,136,135,131,132,127,125,118,,119,433,379',
'143,,434,,,,,,,,139,140,,137,121,122,123,,126,128,,,124,,,,,141,142',
'129,130,,,,,,,,,,,,,,134,133,,120,138,136,135,131,132,127,125,118,,119',
'433,379,143,,434,,,,,,,,139,140,,137,121,122,123,,126,128,,,124,,,,',
'141,142,129,130,,,,,,,,,,,,,,134,133,,120,138,136,135,131,132,127,125',
'118,,119,857,379,143,,858,,,,,,,,139,140,,137,121,122,123,,126,128,',
',124,,,,,141,142,129,130,,,,,,,,,,,,,,134,133,,120,138,136,135,131,132',
'127,125,118,,119,376,379,143,,377,,,,,,,,139,140,,137,121,122,123,,126',
'128,,,124,,,,,141,142,129,130,,,,,,,,,,,,,,134,133,,120,138,136,135',
'131,132,127,125,118,,119,433,379,143,,434,,,,,,,,139,140,,137,121,122',
'123,,126,128,,,124,,,,,141,142,129,130,,,,,,,,,,,,,,134,133,,120,138',
'136,135,131,132,127,125,118,,119,552,385,143,,553,,,,,,,,139,140,,137',
'121,122,123,,126,128,,,124,,,,,141,142,129,130,,,,,,,,,,,,,,134,133',
',120,138,136,135,131,132,127,125,118,,119,,,143,215,219,224,225,226',
'221,223,231,232,227,228,,208,209,,,229,230,,,,,,,,,,,,,,,212,,218,,214',
'213,210,211,222,220,216,,217,,,,,,,550,379,,,551,,,,,,233,556,139,140',
',137,121,122,123,,126,128,,,124,,,,,141,142,129,130,,,,,,,,,,,,,,134',
'133,,120,138,136,135,131,132,127,125,118,,119,381,385,143,,383,,,,,',
',,139,140,,137,121,122,123,,126,128,,,124,,,,,141,142,129,130,,,,,,',
',,,,,,,134,133,,120,138,136,135,131,132,127,125,118,,119,433,379,143',
',434,,,,,,,,139,140,,137,121,122,123,,126,128,,,124,,,,,141,142,129',
'130,,,,,,,,,,,,,,134,133,,120,138,136,135,131,132,127,125,118,,119,859',
'385,143,,860,,,,,,,,139,140,,137,121,122,123,,126,128,,,124,,,,,141',
'142,129,130,,,,,,,,,,,,,,134,133,,120,138,136,135,131,132,127,125,118',
',119,635,385,143,,636,,,,,,,,139,140,,137,121,122,123,,126,128,,,124',
',,,,141,142,129,130,,,,,,,,,,,,,,134,133,,120,138,136,135,131,132,127',
'125,118,,119,632,385,143,,633,,,,,,,,139,140,,137,121,122,123,,126,128',
',,124,,,,,141,142,129,130,,,,,,,,,,,,,,134,133,,120,138,136,135,131',
'132,127,125,118,,119,630,379,143,,631,,,,,,,,139,140,,137,121,122,123',
',126,128,,,124,,,,,141,142,129,130,,,,,,,,,,,,,,134,133,,120,138,136',
'135,131,132,127,125,118,,119,597,385,143,,598,,,,,,,,139,140,,137,121',
'122,123,,126,128,,,124,,,,,141,142,129,130,,,,,,,,,,,,,,134,133,,120',
'138,136,135,131,132,127,125,118,,119,594,379,143,,595,,,,,,,,139,140',
',137,121,122,123,,126,128,,,124,,,,,141,142,129,130,,,,,,,,,,,,,,134',
'133,,120,138,136,135,131,132,127,125,118,,119,550,379,143,,551,,,,,',
',,139,140,,137,121,122,123,,126,128,,,124,,,,,141,142,129,130,,,,,,',
',,,,,,,134,133,,120,138,136,135,131,132,127,125,118,,119,433,379,143',
',434,,,,,,,,139,140,,137,121,122,123,,126,128,,,124,,,,,141,142,129',
'130,,,,,,,,,,,,,,134,133,,120,138,136,135,131,132,127,125,118,,119,',
',143,215,219,224,225,226,221,223,231,232,227,228,,208,209,,,229,230',
',,,,,,,,,,,,,,212,,218,,214,213,210,211,222,220,216,,217,,215,219,224',
'225,226,221,223,231,232,227,228,,208,209,291,233,229,230,,,,,,,,,,,',
',,,212,,218,,214,213,210,211,222,220,216,,217,,215,219,224,225,226,221',
'223,231,232,227,228,,208,209,291,233,229,230,,,,,,,,,,,,,,,212,,218',
',214,213,210,211,222,220,216,,217,,215,219,224,225,226,221,223,231,232',
'227,228,,208,209,,233,229,230,,,,,,,,,,,,,,,212,,218,,214,213,210,211',
'222,220,216,,217,,,,,,,,,,,,,,,,,233' ]
        racc_action_table = arr = ::Array.new(24400, 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 = [
'381,512,512,518,518,627,848,381,381,381,326,440,711,381,381,316,381',
'693,440,711,306,70,347,632,447,381,810,307,630,70,603,603,631,201,451',
'381,381,743,381,381,381,381,381,727,798,298,450,500,298,313,591,199',
'848,848,848,848,448,646,447,574,440,711,646,693,381,381,381,381,381',
'381,381,381,381,381,381,381,381,381,442,201,381,381,381,603,381,347',
'632,595,381,591,512,381,518,574,491,512,381,199,381,633,381,381,381',
'381,381,381,381,383,381,381,381,441,55,326,383,383,383,627,316,627,383',
'383,627,383,381,381,632,381,582,381,381,630,306,326,306,631,594,306',
'326,307,743,307,383,383,307,383,383,383,383,383,500,595,313,550,26,727',
'798,727,798,744,727,798,633,492,322,15,15,277,322,595,582,383,383,383',
'383,383,383,383,383,383,383,383,383,383,383,345,446,383,383,383,595',
'383,491,595,491,383,55,491,383,550,594,424,633,383,638,383,528,383,383',
'383,383,383,383,383,432,383,26,383,594,551,446,432,432,432,597,394,432',
'432,432,277,432,383,383,14,383,424,383,383,26,594,432,297,594,803,297',
'803,345,345,345,432,432,277,432,432,432,432,432,744,344,744,439,492',
'744,492,755,551,492,528,528,301,3,394,301,25,597,3,14,528,460,14,25',
'597,376,346,643,635,597,348,331,432,597,50,310,35,438,331,432,310,50',
'50,50,432,432,50,50,50,429,50,597,339,755,755,755,755,629,337,339,50',
'50,344,344,344,337,647,432,376,50,50,376,50,50,50,50,50,330,635,35,648',
'432,35,432,330,635,432,346,346,346,635,348,348,348,635,311,649,311,50',
'50,50,50,50,50,50,50,50,50,50,50,50,50,635,336,50,50,50,636,303,50,336',
'303,50,343,636,50,50,540,50,636,50,655,50,636,50,50,50,50,50,50,50,435',
'50,858,50,377,859,511,435,435,435,283,511,435,435,435,857,435,50,50',
'50,50,660,50,335,332,663,435,405,321,540,335,332,540,665,320,435,435',
'401,435,435,435,435,435,343,343,343,404,377,294,294,377,333,858,283',
'770,859,283,403,333,858,678,770,859,402,858,857,419,859,858,401,770',
'859,857,401,401,435,286,857,321,37,37,857,435,286,320,321,858,435,435',
'859,321,320,286,382,321,375,320,371,419,857,320,198,419,419,419,419',
'280,280,198,368,435,645,321,645,645,645,645,198,320,552,552,552,363',
'552,435,640,435,552,552,435,640,362,552,470,552,552,552,552,552,552',
'552,870,870,758,758,552,552,552,552,552,552,552,420,305,305,334,473',
'645,645,645,645,552,334,626,552,552,552,552,552,552,552,552,552,552',
'625,552,552,696,552,552,552,413,615,615,420,623,503,617,420,420,420',
'420,825,503,700,701,702,413,413,825,552,552,503,552,552,487,552,552',
'825,705,552,611,552,413,552,413,552,413,413,413,413,314,108,413,552',
'413,108,108,314,552,552,552,552,552,552,709,710,314,552,552,553,553',
'553,400,553,608,712,552,553,553,607,493,716,553,718,553,553,553,553',
'553,553,553,719,720,317,315,553,553,553,553,553,553,553,522,522,400',
'522,522,522,400,400,312,553,604,494,553,553,553,553,553,553,553,553',
'553,553,732,553,553,602,553,553,553,398,398,398,398,398,398,398,398',
'398,398,398,42,398,398,721,735,398,398,42,553,553,721,553,553,601,553',
'553,42,302,553,721,553,398,553,398,553,398,398,398,398,398,398,398,553',
'398,599,300,577,553,553,553,553,553,553,526,324,746,553,553,60,60,60',
'324,60,296,750,553,60,60,751,596,324,60,293,60,60,60,60,60,60,60,531',
'292,764,288,60,60,60,60,60,60,60,285,284,60,543,279,772,276,366,774',
'60,775,275,60,60,60,60,60,60,60,60,60,60,782,60,60,783,60,60,60,366',
'366,366,366,366,366,366,366,366,366,366,771,366,366,459,784,366,366',
'771,60,273,459,60,787,268,60,60,771,267,60,459,266,366,800,366,60,366',
'366,366,366,366,366,366,60,366,801,264,593,60,60,60,60,60,60,806,808',
'809,60,60,455,60,366,813,366,860,60,97,97,97,97,97,860,814,253,97,97',
'860,244,240,97,860,97,97,97,97,97,97,97,239,203,202,200,97,97,97,97',
'97,97,97,826,184,97,106,106,106,106,106,97,97,97,97,97,97,97,97,97,97',
'97,97,97,97,547,97,97,554,97,97,97,399,399,399,399,399,399,399,399,399',
'399,399,13,399,399,773,833,399,399,13,97,95,773,97,836,837,97,97,13',
'561,97,773,97,399,41,399,97,399,399,399,399,399,399,399,97,399,586,36',
'854,97,97,97,97,97,97,855,274,856,97,97,697,697,697,274,697,34,97,272',
'697,697,563,20,274,697,272,697,697,697,697,697,697,697,583,272,12,11',
'697,697,697,697,697,697,697,4,4,4,4,4,865,10,566,871,697,872,873,697',
'697,697,697,697,697,697,697,697,697,874,697,697,412,9,514,697,514,514',
'514,514,876,8,878,271,568,881,576,876,412,412,271,1,892,,,697,876,,697',
'271,,697,697,,412,697,412,,412,412,412,412,514,,412,,412,,,,514,514',
'514,514,697,697,697,697,697,697,,,,697,697,,821,821,821,697,821,,,,821',
'821,,,,821,,821,821,821,821,821,821,821,,,,,821,821,821,821,821,821',
'821,350,350,350,350,350,,,555,,821,,,821,821,821,821,821,821,821,821',
'821,821,,821,821,,,,821,555,555,555,555,555,555,555,555,555,555,555',
'598,555,555,,,555,555,598,821,,,821,598,,821,821,598,,821,,,555,,555',
',555,555,555,555,555,555,555,,555,,,,821,821,821,821,821,821,,,,821',
'821,,,555,,821,0,0,0,0,0,0,,,,0,0,,,,0,,0,0,0,0,0,0,0,,,,,0,0,0,0,0',
'0,0,,,0,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,,0,0,0,,,,,,,,,,,,,,,',
',,,,0,,,0,,,0,0,,,0,,0,,,,0,753,,753,753,753,753,,0,,,,,0,0,0,0,0,0',
',,,0,0,736,736,736,736,736,736,,,,736,736,,,,736,,736,736,736,736,736',
'736,736,753,753,753,753,736,736,736,736,736,736,736,,,736,,,,,,736,736',
'736,736,736,736,736,736,736,736,736,736,736,736,,736,736,,736,736,736',
',,,,,,,,,,,,,,,,,,,736,,,736,,,736,736,,,736,,736,,,,736,817,,817,817',
'817,817,,736,,,,,736,736,736,736,736,736,,,,736,736,588,588,588,588',
'588,588,,,,588,588,,,,588,817,588,588,588,588,588,588,588,817,817,817',
'817,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,411,,,,,,,,,,,,,,',
',411,411,,588,,,588,,,588,588,,,588,,588,411,,411,588,411,411,411,411',
',,411,588,411,,,,588,588,588,588,588,588,,,,588,588,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,410,,,,,,,,,,,,,,,,410,410,,737,,',
'737,,,737,737,,,737,,737,410,,410,737,410,410,410,410,,,410,737,410',
',,,737,737,737,737,737,737,,,,737,737,741,741,741,741,741,741,,,,741',
'741,,,,741,,741,741,741,741,741,741,741,,,,,741,741,741,741,741,741',
'741,,,741,,,,,,741,741,741,741,741,741,741,741,741,741,741,741,741,741',
',741,741,,741,741,741,414,414,414,414,414,414,414,,,414,414,,,,,,414',
'414,,741,,,741,,,741,741,,,741,,741,414,,414,741,414,414,414,414,414',
'414,414,741,414,,,,741,741,741,741,741,741,,,,741,741,748,748,748,748',
'748,748,,,,748,748,,,,748,,748,748,748,748,748,748,748,,,,,748,748,748',
'748,748,748,748,,,748,,,,,,748,748,748,748,748,748,748,748,748,748,748',
'748,748,748,,748,748,,748,748,748,409,409,409,409,409,409,409,,,409',
'409,,,,,,409,409,,748,,,748,,,748,748,,,748,,748,409,,409,748,409,409',
'409,409,409,409,409,748,409,,,,748,748,748,748,748,748,,,,748,748,606',
'606,606,606,606,606,,,,606,606,,,,606,,606,606,606,606,606,606,606,',
',,,606,606,606,606,606,606,606,,,606,,,,,,606,606,606,606,606,606,606',
'606,606,606,606,606,606,606,,606,606,,606,606,606,415,415,415,415,415',
'415,415,,,415,415,,,,,,415,415,,606,,,606,,,606,606,,,606,,606,415,',
'415,606,415,415,415,415,415,415,415,606,415,,,,606,606,606,606,606,606',
',,,606,606,495,495,495,495,495,495,,,,495,495,,,,495,,495,495,495,495',
'495,495,495,,,,,495,495,495,495,495,495,495,,,495,,,,,,495,495,495,495',
'495,495,495,495,495,495,495,495,495,495,,495,495,,495,495,495,416,416',
'416,416,416,416,416,,,416,416,,,,,,416,416,,495,,,495,,,495,495,,,495',
',495,416,,416,495,416,416,416,416,416,416,416,495,416,,,,495,495,495',
'495,495,495,,,,495,495,490,490,490,490,490,490,,,,490,490,,,,490,,490',
'490,490,490,490,490,490,,,,,490,490,490,490,490,490,490,,,490,,,,,,490',
'490,490,490,490,490,490,490,490,490,490,490,490,490,,490,490,,490,490',
'490,417,417,417,417,417,417,417,,,417,417,,,,,,417,417,,490,,,490,,',
'490,490,,,490,,490,417,,417,490,417,417,417,417,417,417,417,490,417',
',,,490,490,490,490,490,490,,,,490,490,513,513,513,513,513,513,,,,513',
'513,,,,513,,513,513,513,513,513,513,513,,,,,513,513,513,513,513,513',
'513,,,513,,,,,,513,513,513,513,513,513,513,513,513,513,513,513,513,513',
',513,513,,513,513,513,421,421,421,421,421,421,421,,,421,421,,,,,,421',
'421,,513,,,513,,,513,513,,,513,,513,421,,421,513,421,421,421,421,421',
'421,421,513,421,,,,513,513,513,513,513,513,,,,513,513,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,422,422,422,422,422,422,422,422,,422',
'422,,,,,,422,422,,270,,,270,,,270,270,,,270,,270,422,,422,270,422,422',
'422,422,422,422,422,270,422,,,,270,270,270,270,270,270,,,,270,270,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,418,418,418,418,418',
'418,418,,,418,418,,,,,,418,418,,794,,,794,,,794,794,,,794,,794,418,',
'418,794,418,418,418,418,418,418,418,794,418,,,,794,794,794,794,794,794',
',,,794,794,265,265,265,265,265,265,,,,265,265,,,,265,,265,265,265,265',
'265,265,265,,,,,265,265,265,265,265,265,265,,,265,,,,,,265,265,265,265',
'265,265,265,265,265,265,265,265,265,265,,265,265,,265,265,265,406,,',
',,,,,,,,,,,,,406,406,,265,,,265,,,265,265,,,265,,265,406,,406,265,406',
'406,406,406,,,,265,,,,,265,265,265,265,265,265,,,,265,265,724,724,724',
'724,724,724,,,,724,724,,,,724,,724,724,724,724,724,724,724,,,,,724,724',
'724,724,724,724,724,,,724,,,,,,724,724,724,724,724,724,724,724,724,724',
'724,724,724,724,,724,724,,724,724,724,408,,,,,,,,,,,,,,,,408,408,,724',
',,724,,,724,724,,,724,,724,408,,,724,408,408,408,408,,,,724,,,,,724',
'724,724,724,724,724,,,,724,724,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,30,30,407,,,,,,,,,,,,,,,,407,407',
',30,,,30,,,30,30,,,30,,30,407,,407,30,407,407,407,407,,,,30,,,,,30,30',
'30,30,30,30,,,,30,30,204,204,204,204,204,204,,,,204,204,,,,204,,204',
'204,204,204,204,204,204,,,,,204,204,204,204,204,204,204,,,204,,,,,,204',
'204,204,204,204,204,204,204,204,204,204,204,204,204,,204,204,,204,204',
'204,,,,,,,,,,,,,,,,,,,,204,,,204,,,204,204,,,204,,204,,,,204,,,,,,,',
'204,,,,,204,204,204,204,204,204,,,,204,204,486,486,486,486,486,486,',
',,486,486,,,,486,,486,486,486,486,486,486,486,,,,,486,486,486,486,486',
'486,486,,,486,,,,,,486,486,486,486,486,486,486,486,486,486,486,486,486',
'486,,486,486,,486,486,486,,,,,,,,,,,,,,,,,,,,486,,,486,,,486,486,,,486',
',486,,,,486,,,,,,,,486,,,,,486,486,486,486,486,486,,,,486,486,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,,,706,,706,,,,706,,,,,,,,706,,,,,706,706,706,706,706,706,',
',,706,706,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',
'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,559,,,,559,559,852,852,852,852,852,852,,,,852,852,,',
',852,,852,852,852,852,852,852,852,,,,,852,852,852,852,852,852,852,,',
'852,,,,,,852,852,852,852,852,852,852,852,852,852,852,852,852,852,,852',
'852,,852,852,852,,,,,,,,,,,,,,,,,,,,852,,,852,,,852,852,,,852,,852,',
',,852,,,,,,,,852,,,,,852,852,852,852,852,852,,,,852,852,187,187,187',
'187,187,187,,,,187,187,,,,187,,187,187,187,187,187,187,187,,,,,187,187',
'187,187,187,187,187,,,187,,,,,,187,187,187,187,187,187,187,187,187,187',
'187,187,187,187,,187,187,,187,187,187,,,,,,,,,,,,,,,,,,,,187,,,187,',
',187,187,,,187,,187,,,,187,,,,,,,,187,,,,,187,187,187,187,187,187,,',
',187,187,186,186,186,186,186,186,,,,186,186,,,,186,,186,186,186,186',
'186,186,186,,,,,186,186,186,186,186,186,186,,,186,,,,,,186,186,186,186',
'186,186,186,186,186,186,186,186,186,186,,186,186,,186,186,186,,,,,,',
',,,,,,,,,,,,,186,,,186,,,186,186,,,186,,186,,,,186,,,,,,,,186,,,,,186',
'186,186,186,186,186,,,,186,186,589,589,589,589,589,589,,,,589,589,,',
',589,,589,589,589,589,589,589,589,,,,,589,589,589,589,589,589,589,,',
'589,,,,,,589,589,589,589,589,589,589,589,589,589,589,589,589,589,,589',
'589,,589,589,589,,,,,,,,,,,,,,,,,,,,589,,,589,,,589,589,,,589,,589,',
',,589,,,,,,,,589,,,,,589,589,589,589,589,589,,,,589,589,639,639,639',
'639,639,639,,,,639,639,,,,639,,639,639,639,639,639,639,639,,,,,639,639',
'639,639,639,639,639,,,639,,,,,,639,639,639,639,639,639,639,639,639,639',
'639,639,639,639,,639,639,,639,639,639,,,,,,,,,,,,,,,,,,,,639,,,639,',
',639,639,,,639,,639,,,,639,,,,,,,,639,,,,,639,639,639,639,639,639,,',
',639,639,845,845,845,845,845,845,,,,845,845,,,,845,,845,845,845,845',
'845,845,845,,,,,845,845,845,845,845,845,845,,,845,,,,,,845,845,845,845',
'845,845,845,845,845,845,845,845,845,845,,845,845,,845,845,845,,,,,,',
',,,,,,,,,,,,,845,,,845,,,845,845,,,845,,845,,,,845,,,,,,,,845,,,,,845',
'845,845,845,845,845,,,,845,845,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,,,,,,,,838,,,,,838,838,838,838,838,838,,,,838,838,644,644,644',
'644,644,644,,,,644,644,,,,644,,644,644,644,644,644,644,644,,,,,644,644',
'644,644,644,644,644,,,644,,,,,,644,644,644,644,644,644,644,644,644,644',
'644,644,644,644,,644,644,,644,644,644,,,,,,,,,,,,,,,,,,,,644,,,644,',
',644,644,,,644,,644,,,,644,,,,,,,,644,,,,,644,644,644,644,644,644,,',
',644,644,51,51,51,51,51,51,,,,51,51,,,,51,,51,51,51,51,51,51,51,,,,',
'51,51,51,51,51,51,51,,,51,,,,,,51,51,51,51,51,51,51,51,51,51,51,51,51',
'51,,51,51,,51,51,51,,,,,,,,,,,,,,,,,,,,51,,,51,,,51,51,,,51,,51,,,,51',
',,,,,,,51,,,,,51,51,51,51,51,51,,,,51,51,671,671,671,671,671,671,,,',
'671,671,,,,671,,671,671,671,671,671,671,671,,,,,671,671,671,671,671',
'671,671,,,671,,,,,,671,671,671,671,671,671,671,671,671,671,671,671,671',
'671,,671,671,,671,671,671,,,,,,,,,,,,,,,,,,,,671,,,671,,,671,671,,,671',
',671,,,,671,,,,,,,,671,,,,,671,671,671,671,671,671,,,,671,671,53,53',
'53,,53,,,,53,53,,,,53,,53,53,53,53,53,53,53,,,,,53,53,53,53,53,53,53',
',,,,,,,,,53,,,53,53,53,53,53,53,53,53,53,53,,53,53,,53,53,53,,,,,,,',
',,,,,,,,,,,,53,,,53,,,53,53,,,53,,53,,,,53,,,,,,,,53,,,,,53,53,53,53',
'53,53,,,,53,53,54,54,54,,54,,,,54,54,,,,54,,54,54,54,54,54,54,54,,,',
',54,54,54,54,54,54,54,,,,,,,,,,54,,,54,54,54,54,54,54,54,54,54,54,,54',
'54,,54,54,54,,,,,,,,,,,,,,,,,,,,54,,,54,,,54,54,,,54,,,,,,54,,,,,,,',
'54,,,,,54,54,54,54,54,54,,,,54,54,769,769,769,,769,,,,769,769,,,,769',
',769,769,769,769,769,769,769,,,,,769,769,769,769,769,769,769,,,,,,,',
',,769,,,769,769,769,769,769,769,769,769,769,769,,769,769,,,,769,,,,',
',,,,,,,,,,,,,,,769,,,769,,,769,769,,,769,,769,,769,,,,,,,,,,,,,,,769',
'769,769,769,769,769,,,,769,769,56,56,56,,56,,,,56,56,,,,56,,56,56,56',
'56,56,56,56,,,,,56,56,56,56,56,56,56,,,56,,,,,,,56,,,56,56,56,56,56',
'56,56,56,56,56,,56,56,,56,56,56,,,,,,,,,,,,,,,,,,,,56,,,56,,,56,56,',
',56,,,,,,56,,,,,,,,56,,,,,56,56,56,56,56,56,,,,56,56,57,57,57,,57,,',
',57,57,,,,57,,57,57,57,57,57,57,57,,,,,57,57,57,57,57,57,57,,,57,,,',
',,,57,,,57,57,57,57,57,57,57,57,57,57,,57,57,,57,57,57,,,,,,,,,,,,,',
',,,,,,57,,,57,,,57,57,,,57,,,,,,57,,,,,,,,57,,,,,57,57,57,57,57,57,',
',,57,57,52,52,52,,52,,,,52,52,,,,52,,52,52,52,52,52,52,52,,,,,52,52',
'52,52,52,52,52,,,52,,,,,,,52,,,52,52,52,52,52,52,52,52,52,52,,52,52',
',52,52,52,,,,,,,,,,,,,,,,,,,,52,,,52,,,52,52,,,52,,,,,,52,,,,,,,,52',
',,,,52,52,52,52,52,52,,,,52,52,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,,828,828,828,828,828,828,828,828,828,828,828',
',828,828,,,828,828,61,,,61,,,61,61,,,61,,61,,828,,828,,828,828,828,828',
'828,828,828,,828,,,61,61,61,61,61,61,,,,61,61,62,62,62,828,62,828,,',
'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,,388,388,388,388,388',
'388,388,388,388,388,388,,388,388,,62,388,388,62,,,62,,,62,62,,,62,,',
',388,,388,,388,388,388,388,388,388,388,,388,,,62,62,62,62,62,62,,,,62',
'62,63,63,63,388,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',
',19,19,19,19,19,19,19,19,19,19,19,,19,19,,,19,19,63,,,63,,,63,63,,,63',
',,,19,,19,,19,19,19,19,19,19,19,,19,,,63,63,63,63,63,63,,,,63,63,426',
'426,426,19,426,,,,426,426,,,,426,,426,426,426,426,426,426,426,,,,,426',
'426,426,426,426,426,426,,,,,,,,,,426,,,426,426,426,426,426,426,426,426',
'426,426,,426,426,,426,426,426,,,,,,,,,,,,,,,,,,,,426,,,426,,,426,426',
',,426,,426,,426,,426,,,,,,,,426,,,,,426,426,426,426,426,426,,,,426,426',
'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',
'82,82,82,,82,,,,82,82,,,,82,,82,82,82,82,82,82,82,,82,,,82,82,82,82',
'82,82,82,,,,,,,,,,82,,,82,82,82,82,82,82,82,82,82,82,,82,82,,82,82,82',
',,,,,,,,,,,,,,,,,,,82,,,82,82,,82,82,,,82,,82,,82,,82,,,,,,,,82,,82',
',,82,82,82,82,82,82,,,,82,82,86,86,86,,86,,,,86,86,,,,86,,86,86,86,86',
'86,86,86,,86,,,86,86,86,86,86,86,86,,,,,,,,,,86,,,86,86,86,86,86,86',
'86,86,86,86,,86,86,,86,86,86,,,,,,,,,,,,,,,,,,,,86,,,86,86,,86,86,,',
'86,,86,,86,,86,,,,,,,,86,,86,,,86,86,86,86,86,86,,,,86,86,835,835,835',
',835,,,,835,835,,,,835,,835,835,835,835,835,835,835,,,,,835,835,835',
'835,835,835,835,,,,,,,,,,835,,,835,835,835,835,835,835,835,835,835,835',
',835,835,,835,835,835,,,,,,,,,,,,,,,,,,,,835,,,835,,,835,835,,,835,',
'835,,835,,835,,,,,,,,835,,,,,835,835,835,835,835,835,,,,835,835,40,40',
'40,,40,,,,40,40,,,,40,,40,40,40,40,40,40,40,,,,,40,40,40,40,40,40,40',
',,,,,,,,,40,,,40,40,40,40,40,40,40,40,40,40,,40,40,,40,40,40,,,,,,,',
',,,,,,,,,,,,40,,,40,,,40,40,,,40,,,,,,40,,,,,,,,40,,,,,40,40,40,40,40',
'40,,,,40,40,101,101,101,,101,,,,101,101,,,,101,,101,101,101,101,101',
'101,101,,,,,101,101,101,101,101,101,101,,,101,,,,,,,101,,,101,101,101',
'101,101,101,101,101,101,101,,101,101,,101,101,101,,,,,,,,,,,,,,,,,,',
',101,,,101,,,101,101,,,101,,,,,,101,,,,,,,,101,,,,,101,101,101,101,101',
'101,,,,101,101,102,102,102,,102,,,,102,102,,,,102,,102,102,102,102,102',
'102,102,,,,,102,102,102,102,102,102,102,,,102,,,,,,,102,,,102,102,102',
'102,102,102,102,102,102,102,,102,102,,102,102,102,,,,,,,,,,,,,,,,,,',
',102,,,102,,,102,102,,,102,,,,,,102,,,,,,,,102,,,,,102,102,102,102,102',
'102,,,,102,102,103,103,103,,103,,,,103,103,,,,103,,103,103,103,103,103',
'103,103,,,,,103,103,103,103,103,103,103,,,103,,,,,,,103,,,103,103,103',
'103,103,103,103,103,103,103,,103,103,,103,103,103,,,,,,,,,,,,,,,,,,',
',103,,,103,,,103,103,,,103,,,,,,103,,,,,,,,103,,,,,103,103,103,103,103',
'103,,,,103,103,104,104,104,,104,,,,104,104,,,,104,,104,104,104,104,104',
'104,104,,,,,104,104,104,104,104,104,104,,,104,,,,,,,104,,,104,104,104',
'104,104,104,104,104,104,104,,104,104,,104,104,104,,,,,,,,,,,,,,,,,,',
',104,,,104,,,104,104,,,104,,,,,,104,,,,,,,,104,,,,,104,104,104,104,104',
'104,,,,104,104,105,105,105,105,105,,,,105,105,,,,105,,105,105,105,105',
'105,105,105,,,,,105,105,105,105,105,105,105,,,105,,,,,,105,105,105,105',
'105,105,105,105,105,105,105,105,105,105,,105,105,,105,105,105,,,,,,',
',,,,,,,,,,,,,105,,,105,,,105,105,,,105,,105,,,,105,,,,,,,,105,,,,,105',
'105,105,105,105,105,,,,105,105,832,832,832,,832,,,,832,832,,,,832,,832',
'832,832,832,832,832,832,,,,,832,832,832,832,832,832,832,,,,,,,,,,832',
',,832,832,832,832,832,832,832,832,832,832,,832,832,,832,832,832,,,,',
',,,,,,,,,,,,,,,832,,,832,,,832,832,,,832,,832,,832,,832,,,,,,,,832,',
',,,832,832,832,832,832,832,,,,832,832,39,39,39,,39,,,,39,39,,,,39,,39',
'39,39,39,39,39,39,,,,,39,39,39,39,39,39,39,,,,,,,,,,39,,,39,39,39,39',
'39,39,39,39,39,39,,39,39,,39,39,39,,,,,,,,,,,,,,,,,,,,39,,,39,,,39,39',
',,39,,,,,,39,,,,,,,,39,,,,,39,39,39,39,39,39,,,,39,39,827,827,827,,827',
',,,827,827,,,,827,,827,827,827,827,827,827,827,,,,,827,827,827,827,827',
'827,827,,,,,,,,,,827,,,827,827,827,827,827,827,827,827,827,827,,827',
'827,,,,827,,468,468,468,468,468,468,468,468,468,468,468,,468,468,,,468',
'468,827,,,827,,,827,827,,,827,,,,468,,468,,468,468,468,468,468,468,468',
',468,,,827,827,827,827,827,827,,,,827,827,38,38,38,468,38,,,,38,38,',
',,38,,38,38,38,38,38,38,38,,,,,38,38,38,38,38,38,38,,,,,,,,,,38,,,38',
'38,38,38,38,38,38,38,38,38,,38,38,,38,38,38,,,,,,,,,,,,,,,,,,,,38,,',
'38,,,38,38,,,38,,,,,,38,,,,,,,,38,,,,,38,38,38,38,38,38,,,,38,38,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,188,188',
'188,,188,,,,188,188,,,,188,,188,188,188,188,188,188,188,,,,,188,188',
'188,188,188,188,188,,,,,,,,,,188,,,188,188,188,188,188,188,188,188,188',
'188,,188,188,,188,188,188,,,,,,,,,,,,,,,,,,,,188,,,188,,,188,188,,,188',
',188,,,,188,,,,,,,,188,,,,,188,188,188,188,188,188,,,,188,188,189,189',
'189,,189,,,,189,189,,,,189,,189,189,189,189,189,189,189,,,,,189,189',
'189,189,189,189,189,,,,,,,,,,189,,,189,189,189,189,189,189,189,189,189',
'189,,189,189,,189,189,189,,,,,,,,,,,,,,,,,,,,189,,,189,,,189,189,,,189',
',189,,,,189,,,,,,,,189,,,,,189,189,189,189,189,189,,,,189,189,190,190',
'190,,190,,,,190,190,,,,190,,190,190,190,190,190,190,190,,,,,190,190',
'190,190,190,190,190,,,,,,,,,,190,,,190,190,190,190,190,190,190,190,190',
'190,,190,190,,190,190,190,,,,,,,,,,,,,,,,,,,,190,,,190,,,190,190,,,190',
',,,,,190,,,,,,,,190,,,,,190,190,190,190,190,190,,,,190,190,191,191,191',
',191,,,,191,191,,,,191,,191,191,191,191,191,191,191,,,,,191,191,191',
'191,191,191,191,,,,,,,,,,191,,,191,191,191,191,191,191,191,191,191,191',
',191,191,,191,191,191,,,,,,,,,,,,,,,,,,,,191,,,191,,,191,191,,,191,',
'191,,,,191,,,,,,,,191,,,,,191,191,191,191,191,191,,,,191,191,679,679',
'679,,679,,,,679,679,,,,679,,679,679,679,679,679,679,679,,,,,679,679',
'679,679,679,679,679,,,,,,,,,,679,,,679,679,679,679,679,679,679,679,679',
'679,,679,679,,679,679,679,,,,,,,,,,,,,,,,,,,,679,,,679,,,679,679,,,679',
',,,,,679,,,,,,,,679,,,,,679,679,679,679,679,679,,,,679,679,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,32,32,,32,32,,,,32,,694,694,694',
'694,694,694,694,694,694,694,694,,694,694,,,694,694,32,,,32,,,32,32,',
',32,,,,694,,694,,694,694,694,694,694,694,694,,694,,,32,32,32,32,32,32',
',,,32,32,194,194,194,694,194,,,,194,194,,,,194,,194,194,194,194,194',
'194,194,,,,,194,194,194,194,194,194,194,,,,,,,,,,194,,,194,194,194,194',
'194,194,194,194,194,194,,194,194,,194,194,194,,,,,,,,,,,,,,,,,,,,194',
',,194,,,194,194,,,194,,,,,,194,,,,,,,,194,,,,,194,194,194,194,194,194',
',,,194,194,195,195,195,,195,,,,195,195,,,,195,,195,195,195,195,195,195',
'195,,,,,195,195,195,195,195,195,195,,,195,,,,,,,195,,,195,195,195,195',
'195,195,195,195,195,195,,195,195,,195,195,195,,,,,,,,,,,,,,,,,,,,195',
',,195,,,195,195,,,195,,,,,,195,,,,,,,,195,,,,,195,195,195,195,195,195',
',,,195,195,196,196,196,,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,549,549,549,,549,,,,549,549,,,,549,,549,549,549,549,549,549',
'549,,,,,549,549,549,549,549,549,549,,,,,,,,,,549,,,549,549,549,549,549',
'549,549,549,549,549,,549,549,,549,549,549,,,,,,,,,,,,,,,,,,,,549,,,549',
',,549,549,,,549,,,,,,549,,,,,,,,549,,,,,549,549,549,549,549,549,,,,549',
'549,546,546,546,,546,,,,546,546,,,,546,,546,546,546,546,546,546,546',
',,,,546,546,546,546,546,546,546,,,,,,,,,,546,,,546,546,546,546,546,546',
'546,546,546,546,,546,546,,546,546,546,,,,,,,,,,,,,,,,,,,,546,,,546,',
',546,546,,,546,,,,,,546,,,,,,,,546,,,,,546,546,546,546,546,546,,,,546',
'546,428,428,428,,428,,,,428,428,,,,428,,428,428,428,428,428,428,428',
',,,,428,428,428,428,428,428,428,,,,,,,,,,428,,,428,428,428,428,428,428',
'428,428,428,428,,428,428,,428,428,428,,,,,,,,,,,,,,,,,,,,428,,,428,',
',428,428,,,428,,428,,428,,428,,,,,,,,428,,,,,428,428,428,428,428,428',
',,,428,428,542,542,542,,542,,,,542,542,,,,542,,542,542,542,542,542,542',
'542,,,,,542,542,542,542,542,542,542,,,,,,,,,,542,,,542,542,542,542,542',
'542,542,542,542,542,,542,542,,542,542,542,,,,,,,,,,,,,,,,,,,,542,,,542',
',,542,542,,,542,,,,,,542,,,,,,,,542,,,,,542,542,542,542,542,542,,,,542',
'542,541,541,541,,541,,,,541,541,,,,541,,541,541,541,541,541,541,541',
',,,,541,541,541,541,541,541,541,,,,,,,,,,541,,,541,541,541,541,541,541',
'541,541,541,541,,541,541,,541,541,541,,,,,,,,,,,,,,,,,,,,541,,,541,',
',541,541,,,541,,,,,,541,,,,,,,,541,,,,,541,541,541,541,541,541,,,,541',
'541,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,538,538,538,538,538,,',
',538,538,31,31,31,,31,,,,31,31,,,,31,,31,31,31,31,31,31,31,,,,,31,31',
'31,31,31,31,31,,,,,,,,,,31,,,31,31,31,31,31,31,31,31,31,31,,31,31,,',
',31,,682,682,682,682,682,682,682,682,682,682,682,,682,682,,,682,682',
'31,,,31,,,31,31,,,31,,31,,682,,682,,682,682,682,682,682,682,682,,682',
',,31,31,31,31,31,31,,,,31,31,207,207,207,682,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,208,208,208,,208,,,,208,208,,,,208',
',208,208,208,208,208,208,208,,,,,208,208,208,208,208,208,208,,,,,,,',
',,208,,,208,208,208,208,208,208,208,208,208,208,,208,208,,208,208,208',
',,,,,,,,,,,,,,,,,,,208,,,208,,,208,208,,,208,,,,,,208,,,,,,,,208,,,',
',208,208,208,208,208,208,,,,208,208,209,209,209,,209,,,,209,209,,,,209',
',209,209,209,209,209,209,209,,,,,209,209,209,209,209,209,209,,,,,,,',
',,209,,,209,209,209,209,209,209,209,209,209,209,,209,209,,209,209,209',
',,,,,,,,,,,,,,,,,,,209,,,209,,,209,209,,,209,,,,,,209,,,,,,,,209,,,',
',209,209,209,209,209,209,,,,209,209,210,210,210,,210,,,,210,210,,,,210',
',210,210,210,210,210,210,210,,,,,210,210,210,210,210,210,210,,,,,,,',
',,210,,,210,210,210,210,210,210,210,210,210,210,,210,210,,210,210,210',
',,,,,,,,,,,,,,,,,,,210,,,210,,,210,210,,,210,,,,,,210,,,,,,,,210,,,',
',210,210,210,210,210,210,,,,210,210,691,691,691,,691,,,,691,691,,,,691',
',691,691,691,691,691,691,691,,,,,691,691,691,691,691,691,691,,,,,,,',
',,691,,,691,691,691,691,691,691,691,691,691,691,,691,691,,691,691,691',
',,,,,,,,,,,,,,,,,,,691,,,691,,,691,691,,,691,,,,,,691,,,,,,,,691,,,',
',691,691,691,691,691,691,,,,691,691,212,212,212,,212,,,,212,212,,,,212',
',212,212,212,212,212,212,212,,,,,212,212,212,212,212,212,212,,,,,,,',
',,212,,,212,212,212,212,212,212,212,212,212,212,,212,212,,212,212,212',
',,,,,,,,,,,,,,,,,,,212,,,212,,,212,212,,,212,,,,,,212,,,,,,,,212,,,',
',212,212,212,212,212,212,,,,212,212,213,213,213,,213,,,,213,213,,,,213',
',213,213,213,213,213,213,213,,,,,213,213,213,213,213,213,213,,,,,,,',
',,213,,,213,213,213,213,213,213,213,213,213,213,,213,213,,213,213,213',
',,,,,,,,,,,,,,,,,,,213,,,213,,,213,213,,,213,,,,,,213,,,,,,,,213,,,',
',213,213,213,213,213,213,,,,213,213,214,214,214,,214,,,,214,214,,,,214',
',214,214,214,214,214,214,214,,,,,214,214,214,214,214,214,214,,,,,,,',
',,214,,,214,214,214,214,214,214,214,214,214,214,,214,214,,214,214,214',
',,,,,,,,,,,,,,,,,,,214,,,214,,,214,214,,,214,,,,,,214,,,,,,,,214,,,',
',214,214,214,214,214,214,,,,214,214,215,215,215,,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,,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,,,,216,216,217,217,217,,217,,,,217,217,,,,217',
',217,217,217,217,217,217,217,,,,,217,217,217,217,217,217,217,,,,,,,',
',,217,,,217,217,217,217,217,217,217,217,217,217,,217,217,,217,217,217',
',,,,,,,,,,,,,,,,,,,217,,,217,,,217,217,,,217,,,,,,217,,,,,,,,217,,,',
',217,217,217,217,217,217,,,,217,217,218,218,218,,218,,,,218,218,,,,218',
',218,218,218,218,218,218,218,,,,,218,218,218,218,218,218,218,,,,,,,',
',,218,,,218,218,218,218,218,218,218,218,218,218,,218,218,,218,218,218',
',,,,,,,,,,,,,,,,,,,218,,,218,,,218,218,,,218,,,,,,218,,,,,,,,218,,,',
',218,218,218,218,218,218,,,,218,218,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,219,219,219,219,,,,219,219,220,220,220,,220,,,,220,220,,,,220',
',220,220,220,220,220,220,220,,,,,220,220,220,220,220,220,220,,,,,,,',
',,220,,,220,220,220,220,220,220,220,220,220,220,,220,220,,220,220,220',
',,,,,,,,,,,,,,,,,,,220,,,220,,,220,220,,,220,,,,,,220,,,,,,,,220,,,',
',220,220,220,220,220,220,,,,220,220,221,221,221,,221,,,,221,221,,,,221',
',221,221,221,221,221,221,221,,,,,221,221,221,221,221,221,221,,,,,,,',
',,221,,,221,221,221,221,221,221,221,221,221,221,,221,221,,221,221,221',
',,,,,,,,,,,,,,,,,,,221,,,221,,,221,221,,,221,,,,,,221,,,,,,,,221,,,',
',221,221,221,221,221,221,,,,221,221,222,222,222,,222,,,,222,222,,,,222',
',222,222,222,222,222,222,222,,,,,222,222,222,222,222,222,222,,,,,,,',
',,222,,,222,222,222,222,222,222,222,222,222,222,,222,222,,222,222,222',
',,,,,,,,,,,,,,,,,,,222,,,222,,,222,222,,,222,,,,,,222,,,,,,,,222,,,',
',222,222,222,222,222,222,,,,222,222,223,223,223,,223,,,,223,223,,,,223',
',223,223,223,223,223,223,223,,,,,223,223,223,223,223,223,223,,,,,,,',
',,223,,,223,223,223,223,223,223,223,223,223,223,,223,223,,223,223,223',
',,,,,,,,,,,,,,,,,,,223,,,223,,,223,223,,,223,,,,,,223,,,,,,,,223,,,',
',223,223,223,223,223,223,,,,223,223,224,224,224,,224,,,,224,224,,,,224',
',224,224,224,224,224,224,224,,,,,224,224,224,224,224,224,224,,,,,,,',
',,224,,,224,224,224,224,224,224,224,224,224,224,,224,224,,224,224,224',
',,,,,,,,,,,,,,,,,,,224,,,224,,,224,224,,,224,,,,,,224,,,,,,,,224,,,',
',224,224,224,224,224,224,,,,224,224,225,225,225,,225,,,,225,225,,,,225',
',225,225,225,225,225,225,225,,,,,225,225,225,225,225,225,225,,,,,,,',
',,225,,,225,225,225,225,225,225,225,225,225,225,,225,225,,225,225,225',
',,,,,,,,,,,,,,,,,,,225,,,225,,,225,225,,,225,,,,,,225,,,,,,,,225,,,',
',225,225,225,225,225,225,,,,225,225,226,226,226,,226,,,,226,226,,,,226',
',226,226,226,226,226,226,226,,,,,226,226,226,226,226,226,226,,,,,,,',
',,226,,,226,226,226,226,226,226,226,226,226,226,,226,226,,226,226,226',
',,,,,,,,,,,,,,,,,,,226,,,226,,,226,226,,,226,,,,,,226,,,,,,,,226,,,',
',226,226,226,226,226,226,,,,226,226,227,227,227,,227,,,,227,227,,,,227',
',227,227,227,227,227,227,227,,,,,227,227,227,227,227,227,227,,,,,,,',
',,227,,,227,227,227,227,227,227,227,227,227,227,,227,227,,227,227,227',
',,,,,,,,,,,,,,,,,,,227,,,227,,,227,227,,,227,,,,,,227,,,,,,,,227,,,',
',227,227,227,227,227,227,,,,227,227,228,228,228,,228,,,,228,228,,,,228',
',228,228,228,228,228,228,228,,,,,228,228,228,228,228,228,228,,,,,,,',
',,228,,,228,228,228,228,228,228,228,228,228,228,,228,228,,228,228,228',
',,,,,,,,,,,,,,,,,,,228,,,228,,,228,228,,,228,,,,,,228,,,,,,,,228,,,',
',228,228,228,228,228,228,,,,228,228,229,229,229,,229,,,,229,229,,,,229',
',229,229,229,229,229,229,229,,,,,229,229,229,229,229,229,229,,,,,,,',
',,229,,,229,229,229,229,229,229,229,229,229,229,,229,229,,229,229,229',
',,,,,,,,,,,,,,,,,,,229,,,229,,,229,229,,,229,,,,,,229,,,,,,,,229,,,',
',229,229,229,229,229,229,,,,229,229,230,230,230,,230,,,,230,230,,,,230',
',230,230,230,230,230,230,230,,,,,230,230,230,230,230,230,230,,,,,,,',
',,230,,,230,230,230,230,230,230,230,230,230,230,,230,230,,230,230,230',
',,,,,,,,,,,,,,,,,,,230,,,230,,,230,230,,,230,,,,,,230,,,,,,,,230,,,',
',230,230,230,230,230,230,,,,230,230,231,231,231,,231,,,,231,231,,,,231',
',231,231,231,231,231,231,231,,,,,231,231,231,231,231,231,231,,,,,,,',
',,231,,,231,231,231,231,231,231,231,231,231,231,,231,231,,231,231,231',
',,,,,,,,,,,,,,,,,,,231,,,231,,,231,231,,,231,,,,,,231,,,,,,,,231,,,',
',231,231,231,231,231,231,,,,231,231,232,232,232,,232,,,,232,232,,,,232',
',232,232,232,232,232,232,232,,,,,232,232,232,232,232,232,232,,,,,,,',
',,232,,,232,232,232,232,232,232,232,232,232,232,,232,232,,232,232,232',
',,,,,,,,,,,,,,,,,,,232,,,232,,,232,232,,,232,,,,,,232,,,,,,,,232,,,',
',232,232,232,232,232,232,,,,232,232,233,233,233,,233,,,,233,233,,,,233',
',233,233,233,233,233,233,233,,,,,233,233,233,233,233,233,233,,,,,,,',
',,233,,,233,233,233,233,233,233,233,233,233,233,,233,233,,233,233,233',
',,,,,,,,,,,,,,,,,,,233,,,233,,,233,233,,,233,,,,,,233,,,,,,,,233,,,',
',233,233,233,233,233,233,,,,233,233,537,537,537,,537,,,,537,537,,,,537',
',537,537,537,537,537,537,537,,,,,537,537,537,537,537,537,537,,,,,,,',
',,537,,,537,537,537,537,537,537,537,537,537,537,,537,537,,537,537,537',
',,,,,,,,,,,,,,,,,,,537,,,537,,,537,537,,,537,,,,,,537,,,,,,,,537,,,',
',537,537,537,537,537,537,,,,537,537,822,822,822,,822,,,,822,822,,,,822',
',822,822,822,822,822,822,822,,,,,822,822,822,822,822,822,822,,,,,,,',
',,822,,,822,822,822,822,822,822,822,822,822,822,,822,822,,822,822,822',
',,,,,,,,,,,,,,,,,,,822,,,822,,,822,822,,,822,,822,,,,822,,,,,,,,822',
',,,,822,822,822,822,822,822,,,,822,822,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,28,241',
'241,241,,241,,,,241,241,,,,241,,241,241,241,241,241,241,241,,,,,241',
'241,241,241,241,241,241,,,,,,,,,,241,,,241,241,241,241,241,241,241,241',
'241,241,,241,241,,241,241,241,,,,,,,,,,,,,,,,,,,,241,,,241,,,241,241',
',,241,,,,,,241,,,,,,,,241,,,,,241,241,241,241,241,241,,,,241,241,243',
'243,243,,243,,,,243,243,,,,243,,243,243,243,243,243,243,243,,,,,243',
'243,243,243,243,243,243,,,,,,,,,,243,,,243,243,243,243,243,243,243,243',
'243,243,,243,243,,243,243,243,,,,,,,,,,,,,,,,,,,,243,,,243,,,243,243',
',,243,,,,,,243,,,,,,,,243,,,,,243,243,243,243,243,243,,,,243,243,820',
'820,820,,820,,,,820,820,,,,820,,820,820,820,820,820,820,820,,,,,820',
'820,820,820,820,820,820,,,,,,,,,,820,,,820,820,820,820,820,820,820,820',
'820,820,,820,820,,,,820,,,,,,,,,,,,,,,,,,,,820,,,820,,,820,820,,,820',
',,,,,,,,,,,,,,,,,,820,820,820,820,820,820,,,,820,820,534,534,534,534',
'534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534',
'534,534,534,,,534,534,534,534,534,534,534,534,534,534,,,,,,534,534,534',
'534,534,534,534,534,,,534,,,,,,,,534,534,,534,534,534,534,,534,534,',
',534,,,,,534,534,534,534,,,,,,,,,,,,,,534,534,,534,534,534,534,534,534',
'534,534,534,,534,,,534,534,,,431,431,431,,431,,,534,431,431,,,,431,',
'431,431,431,431,431,431,431,,,,,431,431,431,431,431,431,431,,,,,,,,',
',431,,,431,431,431,431,431,431,431,431,431,431,,431,431,,431,431,431',
',,,,,,,,,,,,,,,,,,,431,,,431,,,431,431,,,431,,,,,,431,,,,,,,,431,,,',
',431,431,431,431,431,431,,,,431,431,889,889,889,,889,,,,889,889,,,,889',
',889,889,889,889,889,889,889,,,,,889,889,889,889,889,889,889,,,,,,,',
',,889,,,889,889,889,889,889,889,889,889,889,889,,889,889,,889,889,889',
',,,,,,,,,,,,,,,,,,,889,,,889,,,889,889,,,889,,,,,,889,,,,,,,,889,,,',
',889,889,889,889,889,889,,,,889,889,254,254,254,,254,,,,254,254,,,,254',
',254,254,254,254,254,254,254,,,,,254,254,254,254,254,254,254,,,,,,,',
',,254,,,254,254,254,254,254,254,254,254,254,254,,254,254,,254,254,254',
',,,,,,,,,,,,,,,,,,,254,,,254,,,254,254,,,254,,254,,254,,254,,,,,,,,254',
',,,,254,254,254,254,254,254,,,,254,254,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,255,255,,,,255,255,263,263,263,,263,',
',,263,263,,,,263,,263,263,263,263,263,263,263,,,,,263,263,263,263,263',
'263,263,,,,,,,,,,263,,,263,263,263,263,263,263,263,263,263,263,,263',
'263,,263,263,263,,,,,,,,,,,,,,,,,,,,263,,,263,,263,263,263,,,263,,263',
',263,,263,,,,,,,,263,,,,,263,263,263,263,263,263,,,,263,263,802,802',
'802,,802,,,,802,802,,,,802,,802,802,802,802,802,802,802,,,,,802,802',
'802,802,802,802,802,,,,,,,,,,802,,,802,802,802,802,802,802,802,802,802',
'802,,802,802,,802,802,802,,,,,,,,,,,,,,,,,,,,802,,,802,,,802,802,,,802',
',,,,,802,,,,,,,,802,,,,,802,802,802,802,802,802,,,,802,802,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,886,886,886,,886,,,,886,886,,,,886,,886,886,886,886',
'886,886,886,,,,,886,886,886,886,886,886,886,,,,,,,,,,886,,,886,886,886',
'886,886,886,886,886,886,886,,886,886,,,,886,,374,374,374,374,374,374',
'374,374,374,374,374,,374,374,,,374,374,886,,,886,,,886,886,,,886,,,',
'374,,374,,374,374,374,374,374,374,374,,374,,,886,886,886,886,886,886',
',,,886,886,397,397,397,374,397,,,,397,397,,,,397,,397,397,397,397,397',
'397,397,,,,,397,397,397,397,397,397,397,,,,,,,,,,397,,,397,397,397,397',
'397,397,397,397,397,397,,397,397,,397,397,397,,,,,,,,,,,,,,,,,,,,397',
',,397,,,397,397,,,397,,,,,,397,,,,,,,,397,,,,,397,397,397,397,397,397',
',,,397,397,788,788,788,,788,,,,788,788,,,,788,,788,788,788,788,788,788',
'788,,,,,788,788,788,788,788,788,788,,,,,,,,,,788,,,788,788,788,788,788',
'788,788,788,788,788,,788,788,,788,788,788,,,,,,,,,,,,,,,,,,,,788,,,788',
',,788,788,,,788,,,,,,788,,,,,,,,788,,,,,788,788,788,788,788,788,,,,788',
'788,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,,684,684,684,684,684,684,684,684,684',
'684,684,,684,684,,,684,684,269,,,269,,,269,269,,,269,,,,684,,684,,684',
'684,684,684,684,684,684,,684,,,269,269,269,269,269,269,,,,269,269,396',
'396,396,684,396,,,,396,396,,,,396,,396,396,396,396,396,396,396,,,,,396',
'396,396,396,396,396,396,,,,,,,,,,396,,,396,396,396,396,396,396,396,396',
'396,396,,396,396,,396,396,396,,,,,,,,,,,,,,,,,,,,396,,,396,,,396,396',
',,396,,,,,,396,,,,,,,,396,,,,,396,396,396,396,396,396,,,,396,396,395',
'395,395,,395,,,,395,395,,,,395,,395,395,395,395,395,395,395,,,,,395',
'395,395,395,395,395,395,,,,,,,,,,395,,,395,395,395,395,395,395,395,395',
'395,395,,395,395,,395,395,395,,,,,,,,,,,,,,,,,,,,395,,,395,,,395,395',
',,395,,,,,,395,,,,,,,,395,,,,,395,395,395,395,395,395,,,,395,395,24',
'24,24,,24,,,,24,24,,,,24,,24,24,24,24,24,24,24,,,,,24,24,24,24,24,24',
'24,,,,,,,,,,24,,,24,24,24,24,24,24,24,24,24,24,,24,24,,24,24,24,,,,',
',,,,,,,,,,,,,,,24,,,24,,,24,24,,,24,,24,,24,,24,,,,,,,,24,,,,,24,24',
'24,24,24,24,,,,24,24,786,786,786,,786,,,,786,786,,,,786,,786,786,786',
'786,786,786,786,,,,,786,786,786,786,786,786,786,,,,,,,,,,786,,,786,786',
'786,786,786,786,786,786,786,786,,786,786,,786,786,786,,,,,,,,,,,,,,',
',,,,,786,,,786,,,786,786,,,786,,,,,,786,,,,,,,,786,,,,,786,786,786,786',
'786,786,,,,786,786,880,880,880,,880,,,,880,880,,,,880,,880,880,880,880',
'880,880,880,,,,,880,880,880,880,880,880,880,,,,,,,,,,880,,,880,880,880',
'880,880,880,880,880,880,880,,880,880,,880,880,880,,,,,,,,,,,,,,,,,,',
',880,,,880,,,880,880,,,880,,880,,880,,880,,,,,,,,880,,,,,880,880,880',
'880,880,880,,,,880,880,780,780,780,,780,,,,780,780,,,,780,,780,780,780',
'780,780,780,780,,,,,780,780,780,780,780,780,780,,,,,,,,,,780,,,780,780',
'780,780,780,780,780,780,780,780,,780,780,,780,780,780,,,,,,,,,,,,,,',
',,,,,780,,,780,,,780,780,,,780,,,,,,780,,,,,,,,780,,,,,780,780,780,780',
'780,780,,,,780,780,510,510,510,,510,,,,510,510,,,,510,,510,510,510,510',
'510,510,510,,,,,510,510,510,510,510,510,510,,,510,,,,,,,510,,,510,510',
'510,510,510,510,510,510,510,510,,510,510,,510,510,510,,,,,,,,,,,,,,',
',,,,,510,,,510,,,510,510,,,510,,,,,,510,,,,,,,,510,,,,,510,510,510,510',
'510,510,,,,510,510,393,393,393,,393,,,,393,393,,,,393,,393,393,393,393',
'393,393,393,,,,,393,393,393,393,393,393,393,,,,,,,,,,393,,,393,393,393',
'393,393,393,393,393,393,393,,393,393,,393,393,393,,,,,,,,,,,,,,,,,,',
',393,,,393,,,393,393,,,393,,393,,,,393,,,,,,,,393,,,,,393,393,393,393',
'393,393,,,,393,393,506,506,506,,506,,,,506,506,,,,506,,506,506,506,506',
'506,506,506,,,,,506,506,506,506,506,506,506,,,,,,,,,,506,,,506,506,506',
'506,506,506,506,506,506,506,,506,506,,506,506,506,,,,,,,,,,,,,,,,,,',
',506,,,506,,,506,506,,,506,,506,,,,506,,,,,,,,506,,,,,506,506,506,506',
'506,506,,,,506,506,5,5,5,5,5,,,,5,5,,,,5,,5,5,5,5,5,5,5,,,,,5,5,5,5',
'5,5,5,,,5,,,,,,5,5,5,5,5,5,5,5,5,5,5,5,5,5,,5,5,,5,5,5,,,,,,,,,,,,,',
',,,,,,5,,,5,,,5,5,,,5,,5,,,,5,,,,,,,,5,,,,,5,5,5,5,5,5,,,,5,5,497,497',
'497,,497,,,,497,497,,,,497,,497,497,497,497,497,497,497,,,,,497,497',
'497,497,497,497,497,,,,,,,,,,497,,,497,497,497,497,497,497,497,497,497',
'497,,497,497,,497,497,497,,,,,,,,,,,,,,,,,,,,497,,,497,,,497,497,,,497',
',497,,,,497,,,,,,,,497,,,,,497,497,497,497,497,497,,,,497,497,23,23',
'23,,23,,,,23,23,,,,23,,23,23,23,23,23,23,23,,,,,23,23,23,23,23,23,23',
',,,,,,,,,23,,,23,23,23,23,23,23,23,23,23,23,,23,23,,23,23,23,,,,,,,',
',,,,,,,,,,,,23,,,23,,,23,23,,,23,,23,,23,,23,,,,,,,,23,,,,,23,23,23',
'23,23,23,,,,23,23,768,768,768,,768,,,,768,768,,,,768,,768,768,768,768',
'768,768,768,,,,,768,768,768,768,768,768,768,,,,,,,,,,768,,,768,768,768',
'768,768,768,768,768,768,768,,768,768,,768,768,768,,,,,,,,,,,,,,,,,,',
',768,,,768,,,768,768,,,768,,,,,,768,,,,,,,,768,,,,,768,768,768,768,768',
'768,,,,768,768,496,496,496,,496,,,,496,496,,,,496,,496,496,496,496,496',
'496,496,,,,,496,496,496,496,496,496,496,,,,,,,,,,496,,,496,496,496,496',
'496,496,496,496,496,496,,496,496,,496,496,496,,,,,,,,,,,,,,,,,,,,496',
',,496,,,496,496,,,496,,496,,,,496,,,,,,,,496,,,,,496,496,496,496,496',
'496,,,,496,496,22,22,22,,22,,,,22,22,,,,22,,22,22,22,22,22,22,22,,,',
',22,22,22,22,22,22,22,,,,,,,,,,22,,,22,22,22,22,22,22,22,22,22,22,,22',
'22,,22,22,22,,,,,,,,,,,,,,,,,,,,22,,,22,,,22,22,,,22,,22,,22,,22,,,',
',,,,22,,,,,22,22,22,22,22,22,,,,22,22,290,290,290,,290,,,,290,290,,',
',290,,290,290,290,290,290,290,290,,,,,290,290,290,290,290,290,290,,',
',,,,,,,290,,,290,290,290,290,290,290,290,290,290,290,,290,290,,290,290',
'290,,,,,,,,,,,,,,,,,,,,290,,,290,290,,290,290,,,290,,,,,,290,,,,,,,',
'290,,,,,290,290,290,290,290,290,,,,290,290,759,759,759,,759,,,,759,759',
',,,759,,759,759,759,759,759,759,759,,,,,759,759,759,759,759,759,759',
',,,,,,,,,759,,,759,759,759,759,759,759,759,759,759,759,,759,759,,759',
'759,759,,,,,,,,,,,,,,,,,,,,759,,,759,,,759,759,,,759,,,,,,759,,,,,,',
',759,,,,,759,759,759,759,759,759,,,,759,759,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,386,386,386,',
'386,,,,386,386,,,,386,,386,386,386,386,386,386,386,,,,,386,386,386,386',
'386,386,386,,,,,,,,,,386,,,386,386,386,386,386,386,386,386,386,386,',
'386,386,,386,386,386,,,,,,,,,,,,,,,,,,,,386,,,386,386,,386,386,,,386',
',386,,386,,386,,,,,,,,386,,,,,386,386,386,386,386,386,,,,386,386,560',
'560,560,,560,,,,560,560,,,,560,,560,560,560,560,560,560,560,,,,,560',
'560,560,560,560,560,560,,,,,,,,,,560,,,560,560,560,560,560,560,560,560',
'560,560,,560,560,,560,560,560,,,,,,,,,,,,,,,,,,,,560,,,560,,,560,560',
',,560,,,,,,560,,,,,,,,560,,,,,560,560,560,560,560,560,,,,560,560,385',
'385,385,,385,,,,385,385,,,,385,,385,385,385,385,385,385,385,,,,,385',
'385,385,385,385,385,385,,,,,,,,,,385,,,385,385,385,385,385,385,385,385',
'385,385,,385,385,,385,385,385,,,,,,,,,,,,,,,,,,,,385,,,385,385,,385',
'385,,,385,,385,,385,,385,,,,,,,,385,,,,,385,385,385,385,385,385,,,,385',
'385,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,,,6,6,6,6,6,6,6',
'6,6,6,,,,,,6,6,6,6,6,6,6,6,6,,6,,,,,,,,6,6,,6,6,6,6,,6,6,,,6,,,,,6,6',
'6,6,,,,,,,,,,,,,,6,6,,6,6,6,6,6,6,6,6,6,,6,,,6,6,,,299,299,299,,299',
',,6,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,,299,299,299,,,,,,,,,,,,,,,,,,,,299,,,299,,,299,299,,,299,,',
',,,299,,,,,,,,299,,,,,299,299,299,299,299,299,,,,299,299,18,18,18,,18',
',,,18,18,,,,18,,18,18,18,18,18,18,18,,,,,18,18,18,18,18,18,18,,,,,,',
',,,18,,,18,18,18,18,18,18,18,18,18,18,,18,18,,18,18,18,,,,,,,,,,,,,',
',,,,,,18,,,18,,,18,18,,,18,,,,,,18,,,,,,,,18,,,,,18,18,18,18,18,18,',
',,18,18,740,740,740,,740,,,,740,740,,,,740,,740,740,740,740,740,740',
'740,,,,,740,740,740,740,740,740,740,,,,,,,,,,740,,,740,740,740,740,740',
'740,740,740,740,740,,740,740,,740,740,740,,,,,,,,,,,,,,,,,,,,740,,,740',
',,740,740,,,740,,740,,,,740,,,,,,,,740,,,,,740,740,740,740,740,740,',
',,740,740,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,17,,17,17',
',17,17,17,,,,,,,,,,,,,,,,,,,,17,,,17,,,17,17,,,17,,,,,,17,,,,,,,,17',
',,,,17,17,17,17,17,17,,,,17,17,584,584,584,,584,,,,584,584,,,,584,,584',
'584,584,584,584,584,584,,,,,584,584,584,584,584,584,584,,,,,,,,,,584',
',,584,584,584,584,584,584,584,584,584,584,,584,584,,584,584,584,,,,',
',,,,,,,,,,,,,,,584,,,584,,,584,584,,,584,,,,,,584,,,,,,,,584,,,,,584',
'584,584,584,584,584,,,,584,584,734,734,734,,734,,,,734,734,,,,734,,734',
'734,734,734,734,734,734,,,,,734,734,734,734,734,734,734,,,734,,,,,,',
'734,,,734,734,734,734,734,734,734,734,734,734,,734,734,,734,734,734',
',,,,,,,,,,,,,,,,,,,734,,,734,,,734,734,,,734,,,,,,734,,,,,,,,734,,,',
',734,734,734,734,734,734,,,,734,734,680,680,680,,680,,,,680,680,,,,680',
',680,680,680,680,680,680,680,,,,,680,680,680,680,680,680,680,,,,,,,',
',,680,,,680,680,680,680,680,680,680,680,680,680,,680,680,,680,680,680',
',,,,,,,,,,,,,,,,,,,680,,,680,,,680,680,,,680,,,,,,680,,,,,,,,680,,,',
',680,680,680,680,680,680,,,,680,680,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7',
'7,7,7,7,7,7,7,7,,,7,7,7,7,7,7,7,7,7,7,,,,,,7,7,7,7,7,7,7,7,,,7,,,,,',
',,7,7,,7,7,7,7,,7,7,,,7,,,,,7,7,7,7,,,,,,,,,,,,,,7,7,,7,7,7,7,7,7,7',
'7,7,,7,,,7,7,,,308,308,308,,308,,,7,308,308,,,,308,,308,308,308,308',
'308,308,308,,,,,308,308,308,308,308,308,308,,,308,,,,,,,308,,,308,308',
'308,308,308,308,308,308,308,308,,308,308,,308,308,308,,,,,,,,,,,,,,',
',,,,,308,,,308,,,308,308,,,308,,,,,,308,,,,,,,,308,,,,,308,308,308,308',
'308,308,,,,308,308,309,309,309,,309,,,,309,309,,,,309,,309,309,309,309',
'309,309,309,,,,,309,309,309,309,309,309,309,,,309,,,,,,,309,,,309,309',
'309,309,309,309,309,309,309,309,,309,309,,309,309,309,,,,,,,,,,,,,,',
',,,,,309,,,309,,,309,309,,,309,,,,,,309,,,,,,,,309,,,,,309,309,309,309',
'309,309,,,,309,309,378,378,378,,378,,,,378,378,,,,378,,378,378,378,378',
'378,378,378,,,,,378,378,378,378,378,378,378,,,,,,,,,,378,,,378,378,378',
'378,378,378,378,378,378,378,,378,378,,378,378,378,,,,,,,,,,,,,,,,,,',
',378,,,378,378,,378,378,,,378,,378,,378,,378,,,,,,,,378,,,,,378,378',
'378,378,378,378,,,,378,378,728,728,728,,728,,,,728,728,,,,728,,728,728',
'728,728,728,728,728,,,,,728,728,728,728,728,728,728,,,,,,,,,,728,,,728',
'728,728,728,728,728,728,728,728,728,,728,728,,,,728,,237,237,237,237',
'237,237,237,237,237,237,237,,237,237,,,237,237,728,,,728,,,728,728,',
',728,,,,237,,237,,237,237,237,237,237,237,237,,237,,,728,728,728,728',
'728,728,,,,728,728,634,634,634,237,634,,,,634,634,,,,634,,634,634,634',
'634,634,634,634,,,,,634,634,634,634,634,634,634,,,634,,,,,,,634,,,634',
'634,634,634,634,634,634,634,634,634,,634,634,,634,634,634,,,,,,,,,,',
',,,,,,,,,634,,,634,,,634,634,,,634,,,,,,634,,,,,,,,634,,,,,634,634,634',
'634,634,634,,,,634,634,456,456,456,,456,,,,456,456,,,,456,,456,456,456',
'456,456,456,456,,,,,456,456,456,456,456,456,456,,,,,,,,,,456,,,456,456',
'456,456,456,456,456,456,456,456,,456,456,,456,456,456,,,,,,,,,,,,,,',
',,,,,456,,,456,,,456,456,,,456,,456,,,,456,,,,,,,,456,,,,,456,456,456',
'456,456,456,,,,456,456,564,564,564,,564,,,,564,564,,,,564,,564,564,564',
'564,564,564,564,,,,,564,564,564,564,564,564,564,,,,,,,,,,564,,,564,564',
'564,564,564,564,564,564,564,564,,564,564,,564,564,564,,,,,,,,,,,,,,',
',,,,,564,,,564,,,564,564,,,564,,,,,,564,,,,,,,,564,,,,,564,564,564,564',
'564,564,,,,564,564,861,861,861,,861,,,,861,861,,,,861,,861,861,861,861',
'861,861,861,,,,,861,861,861,861,861,861,861,,,,,,,,,,861,,,861,861,861',
'861,861,861,861,861,861,861,,861,861,,,,861,,767,767,767,767,767,767',
'767,767,767,767,767,,767,767,,,767,767,861,,,861,,,861,861,,,861,,,',
'767,,767,,767,767,767,767,767,767,767,,767,,,861,861,861,861,861,861',
',,,861,861,369,369,369,767,369,,,,369,369,,,,369,,369,369,369,369,369',
'369,369,,,,,369,369,369,369,369,369,369,,,,,,,,,,369,,,369,369,369,369',
'369,369,369,369,369,369,,369,369,,369,369,369,,,,,,,,,,,,,,,,,,,,369',
',,369,,,369,369,,,369,,,,,,369,,,,,,,,369,,,,,369,369,369,369,369,369',
',,,369,369,612,612,612,,612,,,,612,612,,,,612,,612,612,612,612,612,612',
'612,,,,,612,612,612,612,612,612,612,,,,,,,,,,612,,,612,612,612,612,612',
'612,612,612,612,612,,612,612,,612,612,612,,,,,,,,,,,,,,,,,,,,612,,,612',
',,612,612,,,612,,,,,,612,,,,,,,,612,,,,,612,612,612,612,612,612,,,,612',
'612,463,463,463,,463,,,,463,463,,,,463,,463,463,463,463,463,463,463',
',,,,463,463,463,463,463,463,463,,,,,,,,,,463,,,463,463,463,463,463,463',
'463,463,463,463,,463,463,,463,463,463,,,,,,,,,,,,,,,,,,,,463,,,463,',
',463,463,,,463,,,,,,463,,,,,,,,463,,,,,463,463,463,463,463,463,,,,463',
'463,690,690,690,,690,,,,690,690,,,,690,,690,690,690,690,690,690,690',
',,,,690,690,690,690,690,690,690,,,,,,,,,,690,,,690,690,690,690,690,690',
'690,690,690,690,,690,690,,690,690,690,,,,,,,,,,,,,,,,,,,,690,,,690,',
',690,690,,,690,,,,,,690,,,,,,,,690,,,,,690,690,690,690,690,690,,,,690',
'690,715,715,715,,715,,,,715,715,,,,715,,715,715,715,715,715,715,715',
',,,,715,715,715,715,715,715,715,,,,,,,,,,715,,,715,715,715,715,715,715',
'715,715,715,715,,715,715,,715,715,715,,,,,,,,,,,,,,,,,,,,715,,,715,',
',715,715,,,715,,715,,715,,715,,,,,,,,715,,,,,715,715,715,715,715,715',
',,,715,715,864,864,864,,864,,,,864,864,,,,864,,864,864,864,864,864,864',
'864,,,,,864,864,864,864,864,864,864,,,,,,,,,,864,,,864,864,864,864,864',
'864,864,864,864,864,,864,864,,864,864,864,,,,,,,,,,,,,,,,,,,,864,,,864',
',,864,864,,,864,,,,,,864,,,,,,,,864,,,,,864,864,864,864,864,864,,,,864',
'864,867,867,867,,867,,,,867,867,,,,867,,867,867,867,867,867,867,867',
',,,,867,867,867,867,867,867,867,,,,,,,,,,867,,,867,867,867,867,867,867',
'867,867,867,867,,867,867,,867,867,867,,,,,,,,,,,,,,,,,,,,867,,,867,',
',867,867,,,867,,,,,,867,,,,,,,,867,,,,,867,867,867,867,867,867,,,,867',
'867,327,327,327,,327,,,,327,327,,,,327,,327,327,327,327,327,327,327',
',,,,327,327,327,327,327,327,327,,,327,,,,,,,327,,,327,327,327,327,327',
'327,327,327,327,327,,327,327,,327,327,327,,,,,,,,,,,,,,,,,,,,327,,,327',
',,327,327,,,327,,,,,,327,,,,,,,,327,,,,,327,327,327,327,327,327,,,,327',
'327,713,713,713,,713,,,,713,713,,,,713,,713,713,713,713,713,713,713',
',,,,713,713,713,713,713,713,713,,,,,,,,,,713,,,713,713,713,713,713,713',
'713,713,713,713,,713,713,,713,713,713,,,,,,,,,,,,,,,,,,,,713,,,713,',
',713,713,,,713,,713,,713,,713,,,,,,,,713,,,,,713,713,713,713,713,713',
',,,713,713,482,482,482,,482,,,,482,482,,,,482,,482,482,482,482,482,482',
'482,,,,,482,482,482,482,482,482,482,,,,,,,,,,482,,,482,482,482,482,482',
'482,482,482,482,482,,482,482,,482,482,482,,,,,,,,,,,,,,,,,,,,482,,,482',
',,482,482,,,482,,,,,,482,,,,,,,,482,,,,,482,482,482,482,482,482,,,,482',
'482,875,875,875,,875,,,,875,875,,,,875,,875,875,875,875,875,875,875',
',,,,875,875,875,875,875,875,875,,,,,,,,,,875,,,875,875,875,875,875,875',
'875,875,875,875,,875,875,,,,875,,600,600,600,600,600,600,600,600,600',
'600,600,,600,600,,,600,600,875,,,875,,,875,875,,,875,,,,600,,600,,600',
'600,600,600,600,600,600,,600,,,875,875,875,875,875,875,,,,875,875,704',
'704,704,600,704,,,,704,704,,,,704,,704,704,704,704,704,704,704,,,,,704',
'704,704,704,704,704,704,,,,,,,,,,704,,,704,704,704,704,704,704,704,704',
'704,704,,704,704,,704,704,704,,,,,,,,,,,,,,,,,,,,704,,,704,,,704,704',
',,704,,704,,704,,704,,,,,,,,704,,,,,704,704,704,704,704,704,,,,704,704',
'698,698,698,,698,,,,698,698,,,,698,,698,698,698,698,698,698,698,,,,',
'698,698,698,698,698,698,698,,,,,,,,,,698,,,698,698,698,698,698,698,698',
'698,698,698,,698,698,,,,698,,687,687,687,687,687,687,687,687,687,687',
'687,,687,687,,,687,687,698,,,698,,,698,698,,,698,,,,687,,687,,687,687',
'687,687,687,687,687,,687,,,698,698,698,698,698,698,,,,698,698,580,580',
'580,687,580,,,,580,580,,,,580,,580,580,580,580,580,580,580,,,,,580,580',
'580,580,580,580,580,,,,,,,,,,580,,,580,580,580,580,580,580,580,580,580',
'580,,580,580,,580,580,580,,,,,,,,,,,,,,,,,,,,580,,,580,,,580,580,,,580',
',580,,580,,580,,,,,,,,580,,,,,580,580,580,580,580,580,,,,580,580,479',
'479,479,,479,,,,479,479,,,,479,,479,479,479,479,479,479,479,,,,,479',
'479,479,479,479,479,479,,,,,,,,,,479,,,479,479,479,479,479,479,479,479',
'479,479,,479,479,,479,479,479,,,,,,,,,,,,,,,,,,,,479,,,479,,,479,479',
',,479,,,,,,479,,,,,,,,479,,,,,479,479,479,479,479,479,,,,479,479,476',
'476,476,,476,,,,476,476,,,,476,,476,476,476,476,476,476,476,,,,,476',
'476,476,476,476,476,476,,,,,,,,,,476,,,476,476,476,476,476,476,476,476',
'476,476,,476,476,,476,476,476,,,,,,,,,,,,,,,,,,,,476,,,476,,,476,476',
',,476,,476,,,,476,,,,,,,,476,,,,,476,476,476,476,476,476,,,,476,476',
'692,692,692,,692,,,,692,692,,,,692,,692,692,692,692,692,692,692,,,,',
'692,692,692,692,692,692,692,,,,,,,,,,692,,,692,692,692,692,692,692,692',
'692,692,692,,692,692,,692,692,692,,,,,,,,,,,,,,,,,,,,692,,,692,,,692',
'692,,,692,,,,,,692,,,,,,,,692,,,,,692,692,692,692,692,692,,,,692,692',
'341,341,341,,341,,,,341,341,,,,341,,341,341,341,341,341,341,341,,,,',
'341,341,341,341,341,341,341,,,341,,,,,,,341,,,341,341,341,341,341,341',
'341,341,341,341,,341,341,,341,341,341,,,,,,,,,,,,,,,,,,,,341,,,341,',
',341,341,,,341,,,,,,341,,,,,,,,341,,,,,341,341,341,341,341,341,,,,341',
'341,357,357,357,357,357,357,357,357,357,357,357,357,357,357,357,357',
'357,357,357,357,357,357,357,357,,,357,357,357,357,357,357,357,357,357',
'357,,,,,,357,357,357,357,357,357,357,357,,,357,,,,,,,,357,357,,357,357',
'357,357,,357,357,,,357,,,,,357,357,357,357,,,,,,,,,,,,,,357,357,,357',
'357,357,357,357,357,357,357,357,,357,,,357,357,,,471,471,471,,471,,',
'357,471,471,,,,471,,471,471,471,471,471,471,471,,,,,471,471,471,471',
'471,471,471,,,,,,,,,,471,,,471,471,471,471,471,471,471,471,471,471,',
'471,471,,471,471,471,,,,,,,,,,,,,,,,,,,,471,,,471,,,471,471,,,471,,471',
',,,471,,,,,,,,471,,,,,471,471,471,471,471,471,,,,471,471,628,628,628',
',628,,,,628,628,,,,628,,628,628,628,628,628,628,628,,,,,628,628,628',
'628,628,628,628,,,,,,,,,,628,,,628,628,628,628,628,628,628,628,628,628',
',628,628,,628,628,628,,,,,,,,,,,,,,,,,,,,628,,,628,,,628,628,,,628,',
',,,,628,,,,,,,,628,,,,,628,628,628,628,628,628,,,,628,628,469,469,469',
',469,,,,469,469,,,,469,,469,469,469,469,469,469,469,,,,,469,469,469',
'469,469,469,469,,,469,,,,,,,469,,,469,469,469,469,469,469,469,469,469',
'469,,469,469,,469,469,469,,,,,,,,,,,,,,,,,,,,469,,,469,,,469,469,,,469',
',,,,,469,,,,,,,,469,,,,,469,469,469,469,469,469,,,,469,469,465,465,465',
',465,,,,465,465,,,,465,,465,465,465,465,465,465,465,,,,,465,465,465',
'465,465,465,465,,,,,,,,,,465,,,465,465,465,465,465,465,465,465,465,465',
',465,465,,465,465,465,,,,,,,,,,,,,,,,,,,,465,,,465,,,465,465,,,465,',
',,,,465,,,,,,,,465,,,,,465,465,465,465,465,465,,,,465,465,464,464,464',
',464,,,,464,464,,,,464,,464,464,464,464,464,464,464,,,,,464,464,464',
'464,464,464,464,,,,,,,,,,464,,,464,464,464,464,464,464,464,464,464,464',
',464,464,,464,464,464,,,,,,,,,,,,,,,,,,,,464,,,464,,,464,464,,,464,',
',,,,464,,,,,,,,464,,,,,464,464,464,464,464,464,,,,464,464,211,211,211',
',211,,,,211,211,,,,211,,211,211,211,211,211,211,211,,,,,211,211,211',
'211,211,211,211,,,,,,,,,,211,,,211,211,211,211,211,211,211,211,211,211',
',211,211,,211,211,211,,,,,,,,,,,,,,,,,,,,211,,,211,,,211,211,,,211,',
',,,,211,,,,,,,,211,,,,,211,211,211,211,211,211,,,,211,211,664,664,664',
'664,664,664,664,664,664,664,664,664,664,664,664,664,664,664,664,664',
'664,664,664,664,,,664,664,664,664,664,664,664,664,664,664,,,,,,664,664',
'664,664,664,664,664,664,,,664,,,,,,,,664,664,,664,664,664,664,,664,664',
',,664,,,,,664,664,664,664,,,,,,,,,,,,,,664,664,,664,664,664,664,664',
'664,664,664,664,,664,,,664,64,64,64,64,64,64,64,64,64,64,64,64,64,64',
'64,64,64,64,64,64,64,64,64,64,,,64,64,64,64,64,64,64,64,64,64,,,,,,64',
'64,64,64,64,64,64,64,64,64,64,64,,,,,,,64,64,,64,64,64,64,,64,64,,,64',
',,,,64,64,64,64,,,,,,64,,,,,,,,64,64,,64,64,64,64,64,64,64,64,64,,64',
',,64,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,,,,,,,,392',
'392,,,392,,,,,581,,581,392,392,,392,392,392,392,,392,392,,,392,,,,,392',
'392,392,392,,,,,,,,,,,,,,392,392,,392,392,392,392,392,392,392,392,392',
',392,251,251,392,,251,,,,,,,,251,251,,251,251,251,251,,251,251,,,251',
',,,,251,251,251,251,,,,,,,,,,,,,,251,251,,251,251,251,251,251,251,251',
'251,251,,251,252,252,251,,252,,,,,,,,252,252,,252,252,252,252,,252,252',
',,252,,,,,252,252,252,252,,,,,,,,,,,,,,252,252,,252,252,252,252,252',
'252,252,252,252,,252,823,823,252,,823,,,,,,,,823,823,,823,823,823,823',
',823,823,,,823,,,,,823,823,823,823,,,,,,,,,,,,,,823,823,,823,823,823',
'823,823,823,823,823,823,,823,192,192,823,,192,,,,,,,,192,192,,192,192',
'192,192,,192,192,,,192,,,,,192,192,192,192,,,,,,,,,,,,,,192,192,,192',
'192,192,192,192,192,192,192,192,,192,578,578,192,,578,,,,,,,,578,578',
',578,578,578,578,,578,578,,,578,,,,,578,578,578,578,,,,,,,,,,,,,,578',
'578,,578,578,578,578,578,578,578,578,578,,578,467,467,578,,467,,,,,',
',,467,467,,467,467,467,467,,467,467,,,467,,,,,467,467,467,467,,,,,,',
',,,,,,,467,467,,467,467,467,467,467,467,467,467,467,,467,,,467,423,423',
'423,423,423,423,423,423,423,423,423,,423,423,,,423,423,,,,,,,,,,,,,',
',423,,423,,423,423,423,423,423,423,423,,423,,,,,,,466,466,,,466,,,,',
',423,423,466,466,,466,466,466,466,,466,466,,,466,,,,,466,466,466,466',
',,,,,,,,,,,,,466,466,,466,466,466,466,466,466,466,466,466,,466,193,193',
'466,,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',
'507,507,193,,507,,,,,,,,507,507,,507,507,507,507,,507,507,,,507,,,,',
'507,507,507,507,,,,,,,,,,,,,,507,507,,507,507,507,507,507,507,507,507',
'507,,507,824,824,507,,824,,,,,,,,824,824,,824,824,824,824,,824,824,',
',824,,,,,824,824,824,824,,,,,,,,,,,,,,824,824,,824,824,824,824,824,824',
'824,824,824,,824,505,505,824,,505,,,,,,,,505,505,,505,505,505,505,,505',
'505,,,505,,,,,505,505,505,505,,,,,,,,,,,,,,505,505,,505,505,505,505',
'505,505,505,505,505,,505,499,499,505,,499,,,,,,,,499,499,,499,499,499',
'499,,499,499,,,499,,,,,499,499,499,499,,,,,,,,,,,,,,499,499,,499,499',
'499,499,499,499,499,499,499,,499,498,498,499,,498,,,,,,,,498,498,,498',
'498,498,498,,498,498,,,498,,,,,498,498,498,498,,,,,,,,,,,,,,498,498',
',498,498,498,498,498,498,498,498,498,,498,458,458,498,,458,,,,,,,,458',
'458,,458,458,458,458,,458,458,,,458,,,,,458,458,458,458,,,,,,,,,,,,',
',458,458,,458,458,458,458,458,458,458,458,458,,458,457,457,458,,457',
',,,,,,,457,457,,457,457,457,457,,457,457,,,457,,,,,457,457,457,457,',
',,,,,,,,,,,,457,457,,457,457,457,457,457,457,457,457,457,,457,391,391',
'457,,391,,,,,,,,391,391,,391,391,391,391,,391,391,,,391,,,,,391,391',
'391,391,,,,,,,,,,,,,,391,391,,391,391,391,391,391,391,391,391,391,,391',
'579,579,391,,579,,,,,,,,579,579,,579,579,579,579,,579,579,,,579,,,,',
'579,579,579,579,,,,,,,,,,,,,,579,579,,579,579,579,579,579,579,579,579',
'579,,579,,,579,480,480,480,480,480,480,480,480,480,480,480,,480,480',
',,480,480,,,,,,,,,,,,,,,480,,480,,480,480,480,480,480,480,480,,480,',
'731,731,731,731,731,731,731,731,731,731,731,,731,731,480,480,731,731',
',,,,,,,,,,,,,,731,,731,,731,731,731,731,731,731,731,,731,,689,689,689',
'689,689,689,689,689,689,689,689,,689,689,731,731,689,689,,,,,,,,,,,',
',,,689,,689,,689,689,689,689,689,689,689,,689,,677,677,677,677,677,677',
'677,677,677,677,677,,677,677,,689,677,677,,,,,,,,,,,,,,,677,,677,,677',
'677,677,677,677,677,677,,677,,,,,,,,,,,,,,,,,677' ]
        racc_action_check = arr = ::Array.new(24400, 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 = [
  1255,  1085,   nil,   146,  1003, 16279, 17731, 18691,   966,   958,
   917,   903,   948,   885,   149,   130,   nil, 18207, 17965,  5761,
   992,   nil, 16884, 16521, 15432,   198,   129, 14585, 13262,   nil,
  2963,  9632,  8422,   nil,   886,   209,   942,   419,  7575,  7333,
  6486,   858,   636,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   291,  4549,  5397,  4792,  4913,    87,  5155,  5276,   nil,   nil,
   757,  5518,  5639,  5760, 22899,   nil,   nil,   nil,   nil,   nil,
   -92,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,  6123,   nil,   nil,   nil,  6244,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   969,   nil,   885,   nil,   nil,
   nil,  6607,  6728,  6849,  6970,  7091,   885,   nil,   569,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   794,   nil,  3817,  3695,  7817,  7938,
  8059,  8180, 23254, 23548,  8543,  8664,  8785,   nil,   424,   -33,
   859,   -51,   781,   826,  3085,   nil,   nil,  9753,  9874,  9995,
 10116, 22668, 10358, 10479, 10600, 10721, 10842, 10963, 11084, 11205,
 11326, 11447, 11568, 11689, 11810, 11931, 12052, 12173, 12294, 12415,
 12536, 12657, 12778, 12899,   nil,   nil,   nil, 19168,   nil,   782,
   772, 13383,   nil, 13504,   813,   nil,   nil,   nil,   nil,   nil,
   nil, 23074, 23134,   800, 14101, 14222,   nil,   nil,   nil,   nil,
   nil,   nil,   nil, 14343,   779,  2719,   764,   761,   718, 15069,
  2475,  1002,   940,   788,   929,   716,   674,   142,   nil,   709,
   446,   nil,   nil,   324,   729,   728,   399,   nil,   720,   nil,
 17005,   nil,   775,   764,   411,   nil,   640,   117,   -79, 17844,
   654,   145,   618,   251,   nil,   516,     8,    15, 18804, 18925,
   168,   338,   550,    25,   544,   610,    -9,   638,   nil,   nil,
   407,   401,   115,   nil,   680,   nil,     9, 20619,   nil,   nil,
   259,   213,   347,   374,   478,   346,   295,   240,   nil,   234,
   nil, 21829,   nil,   323,   201,   128,   226,   -35,   230,   nil,
  1125,   nil,   nil,   nil,   nil,   nil,   nil, 21950,   nil,   nil,
   nil,   nil,   419,   410,   nil,   nil,   757,   nil,   380, 19772,
   nil,   368,   nil,   nil, 14707,   401,   198,   318, 19046,   nil,
   nil,     0,   404,   107,   nil, 17610, 17368,   nil,  5640,   nil,
   nil, 24028, 23014, 16037,   141, 15311, 15190, 14827,   636,   885,
   577,   371,   397,   391,   380,   361,  2719,  2963,  2841,  1865,
  1621,  1499,  1002,   515,  1743,  1987,  2109,  2231,  2597,   400,
   486,  2353,  2475, 23422,   129,   nil,  5881,   nil,  9148,   179,
   nil, 13859,   214,   nil,   nil,   398,   nil,   nil,   206,   136,
   -64,   -16,    51,   nil,   nil, 17247,   114,   -48,   -32,   nil,
   -42,   -93,   nil,   nil,   nil,   792, 19409, 23968, 23908,   760,
   191,   nil,   nil, 20014, 22547, 22426, 23488, 23374,  7455, 22305,
   517, 22063,   nil,   430,   nil,   nil, 21587,   nil,   nil, 21466,
 24136,   nil, 20861,   nil,   nil,   nil,  3207,   591,   nil,   nil,
  2231,    68,   137,   633,   673,  2109, 16763, 16400, 23848, 23788,
    23,   nil,   nil,   509,   nil, 23728, 16158, 23608,   nil,   nil,
 15916,   280,   -34,  2353,  1019,   nil,   nil,   nil,   -32,   nil,
   nil,   nil,   620,   nil,   nil,   nil,   631,   nil,   149,   nil,
   nil,   653,   nil,   nil, 13746,   nil,   nil, 13020,  9511,   nil,
   300,  9390,  9269,   701,   nil,   nil,  9027,   848,   nil,  8906,
    69,   135,   515,   636,   853,  1128,  6002,  7696,   nil,  3451,
 17489,   850,   nil,   933, 19530,   nil,   963,   nil,   981,   nil,
   nil,   nil,   nil,   nil,   -13,   nil,   992,   659, 23314, 24088,
 21345, 22947,    43,   903, 18328,   nil,   906,   nil,  1499,  3939,
   nil,   -38,   nil,   776,   112,    63,   683,   199,  1128,   658,
 20983,   660,   632,    -5,   673,   nil,  1987,   521,   558,   nil,
   nil,   521, 19893,   nil,   nil,   567,   nil,   571,   nil,   nil,
   nil,   nil,   nil,   574,   nil,   563,   434,    -7, 22184,   222,
     4,     8,    -1,    75, 19288,   260,   299,   nil,   112,  4061,
   399,   nil,   nil,   275,  4427,   460,   -67,   196,   210,   226,
   nil,   nil,   nil,   nil,   nil,   258,   nil,   nil,   nil,   nil,
   370,   nil,   nil,   374, 22789,   343,   nil,   nil,   nil,   nil,
   nil,  4671,   nil,   nil,   nil,   nil,   nil, 24274,   331,  8301,
 18570,   nil,  9633,   nil, 15070,   nil,   nil, 21225,   nil, 24228,
 20135, 10237, 21708,   -67,  8423,   nil,   448,  1006, 21224,   nil,
   486,   584,   467,   nil, 21103,   480,  3329,   nil,   nil,   546,
   547,   -63,   617, 20740,   nil, 20256,   523,   nil,   564,   550,
   652,   639,   nil,   nil,  2841,   nil,   nil,    31, 19167,   nil,
   nil, 24182,   684,   nil, 18449,   706,  1377,  1621,   nil,   nil,
 18086,  1743,   nil,    13,   133,   nil,   747,   nil,  1865,   nil,
   756,   645,   nil,  1306,   nil,   215,   nil,   nil,   444, 17126,
   nil,   nil,   nil,   nil,   673,   nil,   nil, 19652, 16642,  5034,
   377,   757,   744,   888,   673,   705,   nil,   nil,   nil,   nil,
 15795,   nil,   704,   729,   709,   nil, 15553,   717, 14948,   nil,
   nil,   nil,   nil,   nil,  2597,   nil,   nil,   nil,    32,   nil,
   845,   857, 14464,   229,   nil,   nil,   866,   nil,   788,   750,
  -101,   nil,   nil,   756,   763,   nil,   nil,  1428,   nil,   nil,
 13625,  1128, 13141, 23194, 23668,   515,   823,  7454,  5519,   nil,
   nil,   nil,  7212,   837,   nil,  6365,   845,   966,  4305,   nil,
   nil,   nil,   nil,   nil,   nil,  4183,   nil,   nil,   -43,   nil,
   nil,   nil,  3573,   nil,   869,   906,   913,   388,   375,   378,
   810, 19651,   nil,   nil, 20377,   919,   nil, 20498,   nil,   nil,
   526,  1040,   924,  1043,   966, 20982,   999,   nil,   949,   nil,
 15674,   952,   nil,   nil,   nil,   nil, 14706,   nil,   nil, 13980,
   nil,   nil,   959,   nil ]

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

clist = [
'13,338,470,266,293,13,300,278,278,240,240,240,604,486,490,100,440,198',
'198,268,732,650,198,198,198,242,242,242,112,112,13,272,272,644,281,115',
'115,278,278,278,504,303,306,307,438,494,310,106,257,261,264,13,198,198',
'96,520,198,198,529,514,198,314,324,324,565,437,107,185,815,304,117,117',
'100,365,372,253,260,262,238,238,238,340,618,622,559,718,112,352,353',
'354,355,571,326,329,573,586,443,13,236,249,250,198,198,198,198,13,588',
'589,810,296,813,311,475,478,317,565,483,508,485,35,587,239,239,239,35',
'534,205,344,345,339,515,473,348,378,382,308,736,309,737,350,634,754',
'756,757,375,845,639,356,748,35,271,271,650,301,513,302,664,817,696,735',
'700,815,424,446,447,627,842,608,727,342,35,10,343,574,346,528,10,357',
'347,666,313,328,328,328,671,751,13,13,198,198,198,198,432,435,198,198',
'198,809,319,184,97,10,811,872,13,723,1,,,,,,,,,386,35,,,,,,10,637,35',
',,623,,,,,318,,706,,,,450,,674,240,240,455,,278,,296,,,240,,,,198,198',
',242,242,,605,610,,198,,13,242,,10,272,13,454,,,,882,10,,,,,,,,,264',
'197,368,368,,264,,,,491,492,364,370,373,257,,261,387,849,850,35,35,851',
'198,198,442,238,,,,,,,,238,,294,100,35,650,305,305,198,,305,439,444',
'378,382,741,804,852,,509,448,565,198,711,,,843,554,,,,,565,290,441,239',
'685,609,10,10,688,,493,239,,,,884,,571,573,305,305,305,305,,10,,,,112',
',,,,35,,115,,271,35,,,,198,725,,,,729,599,,,,,548,605,,605,599,593,',
',,561,386,,,533,,,,117,,,,12,,543,,,12,547,583,,794,,10,,,,599,10,,',
',198,599,,585,296,629,,,,,12,198,,,638,,2,,,389,390,643,,,198,,565,',
',,,12,14,,,386,570,14,,572,,13,,,386,13,267,,,,13,640,198,,,,,,619,619',
'838,198,14,274,274,198,,296,13,,,565,,,709,710,386,12,641,642,,,386',
'14,,12,,,278,,,,844,316,325,325,198,198,,,695,198,869,,,,,,296,,,112',
'272,,13,,,296,115,,,,561,,,368,,,,14,,,305,305,,198,,14,,,,,460,13,13',
',,746,605,676,626,512,750,117,,,762,,,,35,13,474,,35,518,12,12,,35,',
',,,,744,548,,,,,,,,12,,,35,,198,,712,,,13,,,,,13,,,362,363,681,683,',
'747,,686,,,10,752,,605,10,,14,14,267,10,,,,,13,,278,278,,271,,35,,198',
'14,,,10,,112,,,,12,,,,,12,,771,771,,787,806,,,278,,13,35,35,,,,,,294',
',785,,,,798,,,,13,35,267,,771,,10,267,,,198,,13,13,603,,,13,14,,,278',
'274,14,13,,576,577,,,,,619,819,35,10,10,,,35,,599,,,,272,,,,,,856,,10',
',305,,,,,611,,,,766,,35,614,,,13,,278,278,,,,,,278,,873,,,,,10,,784',
',,10,770,770,,865,771,771,198,,,35,,771,,665,,,,,,,,278,13,,,,10,35',
',13,386,770,,,,278,13,,,35,35,,,,35,771,278,,,,427,35,774,776,,,,,,771',
',10,296,,,,,,,,771,,271,,,,,,,10,,,,795,,,,305,,,,10,10,,,12,10,35,',
'12,,,,10,12,,,,,,,,,,,,,,,,,,12,770,770,,,,,,770,615,,,,617,,,,,625',
'35,,,,,,14,35,10,,14,,,,35,14,,,,,,,,770,,,,12,,,,,,14,853,854,,770',
',,,862,670,,,,305,,770,,,,10,,,,12,12,,10,,,,701,,783,10,,,,,,,,12,877',
',274,,14,,,,,,796,,,,887,,,719,720,,,,,567,,891,,,,,808,,12,14,14,726',
',12,,,,,,,,,,,,,,14,,,,,,,,,,,,,12,,,,,,,,,,,,,,,,,,,,14,,,,,14,,,,',
',,,,,12,764,,,,,,,,,,,,,,,,14,12,,,,,,,,,,,,12,12,,,,12,782,,,,,,12',
'773,773,,,,,,,,14,,793,206,703,,,237,237,237,,,,,800,801,,,14,803,,',
'773,287,288,289,714,,,,14,14,,,,14,12,,237,237,,,14,,,,,,,,,,,,,367',
'371,,,,,,,274,,,,,,,,,837,,,,,,,,12,,,,,,,12,14,,,,,,12,,,,,,,,,,,,',
',429,,430,,,,773,773,870,,,,,773,,871,,,,,,,,,14,,,,,,,14,,,,,,779,14',
',781,,,,,,,773,,,,789,,,,,,,,,,773,,,,366,237,374,237,,,388,773,,,,',
',,,,,,,206,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412',
'413,414,415,416,417,418,419,420,421,422,423,,,,,,,,237,831,237,,834',
',,,,,539,,,237,237,,,,,,,,237,,,,,,,,,,,,,,,,,,,,,,,863,,,,468,866,',
',868,,,,,480,,,,,,,,,563,,566,,,569,,,,,,,,,,879,,,,582,,,,,,,,,888',
',,890,,,,,,,,,,,893,,,607,,,,,613,,,566,,,613,,,,,237,,,,,,,,,367,,',
',,,,,,,,,,,,237,,388,555,374,,,,,,,,,,,,,,,,,,,,,,,678,,,,,,237,,237',
',,237,,,,,,,,,,,702,,,581,705,,,,,,,,,,237,,,,,,563,600,601,602,716',
',26,,,237,,26,,,237,,,237,,,237,,,26,26,,,,26,26,26,,,,237,237,26,,',
',,,,,237,,,,742,,,,,,,,,26,26,26,,,26,26,,,26,,,,,,,,,677,237,,,682',
'684,,,,687,,,689,,,,,,,694,,,,237,765,,,237,26,,,,26,26,26,26,26,,,',
',,,237,,,,237,,566,,,,,,,,,,,566,,,,,,,,,,,,,,,731,,,,,,,,,,613,,,,',
',237,,,,,,,,,,,,,816,,,,,,,,,,,,,26,26,26,26,26,26,,,26,26,26,,,,833',
',836,,26,,,,,,,237,767,,,,841,,,,,,682,684,687,,,,,,,,,,,,237,,,,,,',
',,237,563,237,,566,,,,,26,26,,,,,,,,26,,26,,,,,26,,237,,,,,,878,,,881',
',,,,,,,,,237,,,566,,,,,,767,,,892,,,,,26,26,,,828,,,,,,237,,237,,,,',
',,26,,,,,,,237,,,,,,,26,,,,,,,,,,,,,237,,,,,,,,,,237,,,237,,,,,,,,,',
',,,,,,,,,,,,,,,,26,,,237,,,237,,,,,,,,,,,,,237,,,,,,,,,237,,,,,,,,,',
',,,,,,,,,,,,,,26,,,,,,,,,,,26,,,,,,,,,,,,,26,,,,,,,,,,,,,,,,,26,,,,26',
',,,,26,,26,,,,,,,,,26,,,,26,,,26,,,,,,,,,,,,,,,,,,,,,,,,,,,,26,26,,',
',26,,,,,,,,,,,,,26,,,,,,,,,,,,,,,,,,,,,26,,,,,,,,26,26,,,,,,,,,,,,,',
',,,26,,,,,,,,,,,,,,,,,,,,,,,,,,,,26,,,,,26,,,,,26,,,,,,,,,,,,,,,,,,',
',,,,,,,,26,,,,,,,,,26,,,,,,,,,,,,,,,,,,,,,,,,,,26,,,,,,,,,,,,,,,,,,26',
',,,,,,,,,26,,26,26,,,,26,,,,,,,26,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,26,,,,,,,,,,,,,,,,,,,,,,,,,,,,26,,,,,,,,,,,,,,,,26,,,,,,',
'26,,,,,,,26' ]
        racc_goto_table = arr = ::Array.new(2489, 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 = [
'18,44,4,37,3,18,19,52,52,56,56,56,5,76,76,82,29,18,18,39,77,126,18,18',
'18,60,60,60,45,45,18,18,18,83,40,48,48,52,52,52,42,56,13,13,53,79,13',
'9,57,57,36,18,18,18,8,117,18,18,117,96,18,18,18,18,131,32,11,11,128',
'74,49,49,82,21,21,31,31,31,26,26,26,72,78,78,33,65,45,13,13,13,13,58',
'43,43,58,64,62,18,28,28,28,18,18,18,18,18,33,33,124,26,124,8,55,55,80',
'131,55,81,55,41,61,54,54,54,41,50,15,114,114,84,85,86,114,30,30,87,88',
'89,90,9,91,125,125,125,19,92,93,9,94,41,41,41,126,54,95,73,97,98,99',
'5,100,128,102,104,105,106,107,108,109,112,41,14,113,34,115,116,14,24',
'118,119,41,41,41,41,120,121,18,18,18,18,18,18,30,30,18,18,18,123,16',
'12,10,14,127,124,18,6,1,,,,,,,,,45,41,,,,,,14,42,41,,,79,,,,,14,,33',
',,,37,,117,56,56,37,,52,,26,,,56,,,,18,18,,60,60,,53,53,,18,,18,60,',
'14,18,18,40,,,,77,14,,,,,,,,,36,23,54,54,,36,,,,13,13,15,15,15,57,,57',
'15,125,125,41,41,125,18,18,26,26,,,,,,,,26,,23,82,41,126,23,23,18,,23',
'28,28,30,30,76,78,83,,82,28,131,18,29,,,5,19,,,,,131,51,54,54,32,21',
'14,14,32,,8,54,,,,125,,58,58,23,23,23,23,,14,,,,45,,,,,41,,48,,41,41',
',,,18,53,,,,53,30,,,,,57,53,,53,30,19,,,,56,45,,,11,,,,49,,,,17,,31',
',,17,31,56,,76,,14,,,,30,14,,,,18,30,,60,26,19,,,,,17,18,,,19,,2,,,23',
'23,3,,,18,,131,,,,,17,20,,,45,31,20,,31,,18,,,45,18,2,,,,18,13,18,,',
',,,82,82,76,18,20,20,20,18,,26,18,,,131,,,30,30,45,17,82,82,,,45,20',
',17,,,52,,,,79,20,20,20,18,18,,,39,18,4,,,,,,26,,,45,18,,18,,,26,48',
',,,56,,,54,,,,20,,,23,23,,18,,20,,,,,51,18,18,,,3,53,11,54,23,3,49,',
',44,,,,41,18,51,,41,23,17,17,,41,,,,,,13,57,,,,,,,,17,,,41,,18,,26,',
',18,,,,,18,,,2,2,15,15,,82,,15,,,14,82,,53,14,,20,20,2,14,,,,,18,,52',
'52,,41,,41,,18,20,,,14,,45,,,,17,,,,,17,,18,18,,56,3,,,52,,18,41,41',
',,,,,23,,60,,,,13,,,,18,41,2,,18,,14,2,,,18,,18,18,23,,,18,20,,,52,20',
'20,18,,51,51,,,,,82,39,41,14,14,,,41,,30,,,,18,,,,,,19,,14,,23,,,,,51',
',,,15,,41,51,,,18,,52,52,,,,,,52,,3,,,,,14,,54,,,14,41,41,,56,18,18',
'18,,,41,,18,,51,,,,,,,,52,18,,,,14,41,,18,45,41,,,,52,18,,,41,41,,,',
'41,18,52,,,,59,41,14,14,,,,,,18,,14,26,,,,,,,,18,,41,,,,,,,14,,,,14',
',,,23,,,,14,14,,,17,14,41,,17,,,,14,17,,,,,,,,,,,,,,,,,,17,41,41,,,',
',,41,2,,,,2,,,,,2,41,,,,,,20,41,14,,20,,,,41,20,,,,,,,,41,,,,17,,,,',
',20,14,14,,41,,,,14,20,,,,23,,41,,,,14,,,,17,17,,14,,,,2,,51,14,,,,',
',,,17,14,,20,,20,,,,,,51,,,,14,,,2,2,,,,,59,,14,,,,,51,,17,20,20,2,',
'17,,,,,,,,,,,,,,20,,,,,,,,,,,,,17,,,,,,,,,,,,,,,,,,,,20,,,,,20,,,,,',
',,,,17,2,,,,,,,,,,,,,,,,20,17,,,,,,,,,,,,17,17,,,,17,2,,,,,,17,20,20',
',,,,,,,20,,2,25,59,,,25,25,25,,,,,2,2,,,20,2,,,20,25,25,25,59,,,,20',
'20,,,,20,17,,25,25,,,20,,,,,,,,,,,,,22,22,,,,,,,20,,,,,,,,,2,,,,,,,',
'17,,,,,,,17,20,,,,,,17,,,,,,,,,,,,,,22,,22,,,,20,20,2,,,,,20,,2,,,,',
',,,,20,,,,,,,20,,,,,,59,20,,59,,,,,,,20,,,,59,,,,,,,,,,20,,,,25,25,25',
'25,,,25,20,,,,,,,,,,,,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25',
'25,25,25,25,25,25,25,25,25,25,25,,,,,,,,25,59,25,,59,,,,,,22,,,25,25',
',,,,,,,25,,,,,,,,,,,,,,,,,,,,,,,59,,,,25,59,,,59,,,,,25,,,,,,,,,22,',
'22,,,22,,,,,,,,,,59,,,,22,,,,,,,,,59,,,59,,,,,,,,,,,59,,,22,,,,,22,',
',22,,,22,,,,,25,,,,,,,,,22,,,,,,,,,,,,,,,25,,25,25,25,,,,,,,,,,,,,,',
',,,,,,,,22,,,,,,25,,25,,,25,,,,,,,,,,,22,,,25,22,,,,,,,,,,25,,,,,,22',
'25,25,25,22,,35,,,25,,35,,,25,,,25,,,25,,,35,35,,,,35,35,35,,,,25,25',
'35,,,,,,,,25,,,,22,,,,,,,,,35,35,35,,,35,35,,,35,,,,,,,,,25,25,,,25',
'25,,,,25,,,25,,,,,,,25,,,,25,22,,,25,35,,,,35,35,35,35,35,,,,,,,25,',
',,25,,22,,,,,,,,,,,22,,,,,,,,,,,,,,,25,,,,,,,,,,22,,,,,,25,,,,,,,,,',
',,,22,,,,,,,,,,,,,35,35,35,35,35,35,,,35,35,35,,,,22,,22,,35,,,,,,,25',
'25,,,,22,,,,,,25,25,25,,,,,,,,,,,,25,,,,,,,,,25,22,25,,22,,,,,35,35',
',,,,,,,35,,35,,,,,35,,25,,,,,,22,,,22,,,,,,,,,,25,,,22,,,,,,25,,,22',
',,,,35,35,,,25,,,,,,25,,25,,,,,,,35,,,,,,,25,,,,,,,35,,,,,,,,,,,,,25',
',,,,,,,,,25,,,25,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,25,,,25,,,,,,,,,,,,,25',
',,,,,,,,25,,,,,,,,,,,,,,,,,,,,,,,,35,,,,,,,,,,,35,,,,,,,,,,,,,35,,,',
',,,,,,,,,,,,,35,,,,35,,,,,35,,35,,,,,,,,,35,,,,35,,,35,,,,,,,,,,,,,',
',,,,,,,,,,,,,,35,35,,,,35,,,,,,,,,,,,,35,,,,,,,,,,,,,,,,,,,,,35,,,,',
',,,35,35,,,,,,,,,,,,,,,,,35,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,,35,,,',
',35,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,,,,,,35,,,,,,,,,,,,,,,,,,,,,,,,',
',35,,,,,,,,,,,,,,,,,,35,,,,,,,,,,35,,35,35,,,,35,,,,,,,35,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,,,,,,,,,,,,,,,,,,,,,,,,,35',
',,,,,,,,,,,,,,,35,,,,,,,35,,,,,,,35' ]
        racc_goto_check = arr = ::Array.new(2489, 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,   206,   461,   -47,  -290,  -458,  -399,   nil,    51,    42,
   197,    60,   192,   -14,   171,   108,   137,   425,     0,   -47,
   477,  -115,  1050,   269,    70,  1168,    56,   nil,    76,  -238,
   -59,    49,  -188,  -340,  -263,  1636,    20,   -27,   nil,   -12,
     2,   119,  -282,    30,   -63,    22,   nil,   nil,    29,    64,
  -236,   311,   -24,  -210,    99,  -185,   -13,    22,  -341,   626,
     3,  -325,  -159,   nil,  -350,  -502,   nil,   nil,   nil,   nil,
   nil,   nil,    17,   101,    14,   nil,  -293,  -595,  -409,  -266,
    53,  -209,    12,  -481,    65,  -209,  -163,    77,  -482,    78,
  -484,  -361,  -659,  -362,  -494,  -175,  -279,  -359,  -605,  -399,
  -397,   nil,   -72,   nil,   -95,   -95,  -331,  -637,  -304,  -440,
   nil,   nil,    99,   100,    53,    98,  -171,  -288,   101,  -343,
  -339,  -460,   nil,  -556,  -645,  -506,  -493,  -551,  -687,   nil,
   nil,  -364 ]

racc_goto_default = [
   nil,   nil,   292,   nil,   nil,   733,   nil,     3,   nil,     4,
   312,   nil,   nil,   nil,   202,    16,    11,   203,   286,   nil,
   201,   nil,   244,    15,   nil,    19,    20,    21,   nil,    25,
   596,   nil,   nil,   nil,   nil,   277,    29,   nil,    31,    34,
    33,   199,   323,   nil,   114,   380,   113,   116,    68,    69,
   nil,   nil,    42,   295,   297,   nil,   298,   544,   545,   425,
   562,   nil,   nil,   255,   nil,   nil,    43,    44,    45,    46,
    47,    48,    49,   nil,   256,    55,   nil,   nil,   nil,   nil,
   nil,   nil,   487,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   235,   nil,   384,   nil,   nil,   nil,   nil,   nil,   nil,
    67,    70,    71,   nil,   nil,   nil,   nil,   525,   nil,   nil,
   nil,   646,   647,   648,   649,   nil,   812,   656,   657,   660,
   663,   248 ]

racc_reduce_table = [
  0, 0, :racc_error,
  1, 133, :_reduce_1,
  4, 135, :_reduce_2,
  2, 134, :_reduce_3,
  0, 139, :_reduce_4,
  1, 139, :_reduce_5,
  2, 139, :_reduce_6,
  3, 139, :_reduce_7,
  0, 156, :_reduce_8,
  4, 141, :_reduce_9,
  3, 141, :_reduce_10,
  3, 141, :_reduce_11,
  3, 141, :_reduce_12,
  2, 141, :_reduce_13,
  3, 141, :_reduce_14,
  3, 141, :_reduce_15,
  3, 141, :_reduce_16,
  3, 141, :_reduce_17,
  3, 141, :_reduce_18,
  4, 141, :_reduce_19,
  4, 141, :_reduce_20,
  3, 141, :_reduce_21,
  3, 141, :_reduce_22,
  3, 141, :_reduce_23,
  6, 141, :_reduce_24,
  5, 141, :_reduce_25,
  5, 141, :_reduce_26,
  5, 141, :_reduce_27,
  3, 141, :_reduce_28,
  3, 141, :_reduce_29,
  3, 141, :_reduce_30,
  3, 141, :_reduce_31,
  1, 141, :_reduce_none,
  1, 155, :_reduce_none,
  3, 155, :_reduce_34,
  3, 155, :_reduce_35,
  2, 155, :_reduce_36,
  2, 155, :_reduce_37,
  1, 155, :_reduce_none,
  1, 145, :_reduce_none,
  1, 147, :_reduce_none,
  1, 147, :_reduce_none,
  2, 147, :_reduce_42,
  2, 147, :_reduce_43,
  2, 147, :_reduce_44,
  1, 159, :_reduce_none,
  4, 159, :_reduce_46,
  4, 159, :_reduce_47,
  0, 166, :_reduce_48,
  5, 164, :_reduce_49,
  2, 158, :_reduce_50,
  3, 158, :_reduce_51,
  4, 158, :_reduce_52,
  5, 158, :_reduce_53,
  4, 158, :_reduce_54,
  5, 158, :_reduce_55,
  2, 158, :_reduce_56,
  2, 158, :_reduce_57,
  1, 148, :_reduce_58,
  3, 148, :_reduce_59,
  1, 169, :_reduce_60,
  3, 169, :_reduce_61,
  1, 168, :_reduce_62,
  2, 168, :_reduce_63,
  3, 168, :_reduce_64,
  2, 168, :_reduce_65,
  2, 168, :_reduce_66,
  1, 168, :_reduce_67,
  1, 171, :_reduce_none,
  3, 171, :_reduce_69,
  2, 170, :_reduce_70,
  3, 170, :_reduce_71,
  1, 172, :_reduce_72,
  4, 172, :_reduce_73,
  3, 172, :_reduce_74,
  3, 172, :_reduce_75,
  3, 172, :_reduce_76,
  3, 172, :_reduce_77,
  2, 172, :_reduce_78,
  1, 172, :_reduce_79,
  1, 146, :_reduce_80,
  4, 146, :_reduce_81,
  3, 146, :_reduce_82,
  3, 146, :_reduce_83,
  3, 146, :_reduce_84,
  3, 146, :_reduce_85,
  2, 146, :_reduce_86,
  1, 146, :_reduce_87,
  1, 174, :_reduce_88,
  1, 174, :_reduce_none,
  2, 175, :_reduce_90,
  1, 175, :_reduce_91,
  3, 175, :_reduce_92,
  1, 176, :_reduce_none,
  1, 176, :_reduce_none,
  1, 176, :_reduce_none,
  1, 176, :_reduce_none,
  1, 176, :_reduce_none,
  1, 179, :_reduce_98,
  1, 179, :_reduce_none,
  1, 143, :_reduce_none,
  1, 143, :_reduce_none,
  1, 144, :_reduce_102,
  0, 182, :_reduce_103,
  4, 144, :_reduce_104,
  1, 177, :_reduce_none,
  1, 177, :_reduce_none,
  1, 177, :_reduce_none,
  1, 177, :_reduce_none,
  1, 177, :_reduce_none,
  1, 177, :_reduce_none,
  1, 177, :_reduce_none,
  1, 177, :_reduce_none,
  1, 177, :_reduce_none,
  1, 177, :_reduce_none,
  1, 177, :_reduce_none,
  1, 177, :_reduce_none,
  1, 177, :_reduce_none,
  1, 177, :_reduce_none,
  1, 177, :_reduce_none,
  1, 177, :_reduce_none,
  1, 177, :_reduce_none,
  1, 177, :_reduce_none,
  1, 177, :_reduce_none,
  1, 177, :_reduce_none,
  1, 177, :_reduce_none,
  1, 177, :_reduce_none,
  1, 177, :_reduce_none,
  1, 177, :_reduce_none,
  1, 177, :_reduce_none,
  1, 177, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  3, 157, :_reduce_171,
  5, 157, :_reduce_172,
  3, 157, :_reduce_173,
  6, 157, :_reduce_174,
  5, 157, :_reduce_175,
  5, 157, :_reduce_176,
  5, 157, :_reduce_177,
  5, 157, :_reduce_178,
  4, 157, :_reduce_179,
  3, 157, :_reduce_180,
  3, 157, :_reduce_181,
  3, 157, :_reduce_182,
  3, 157, :_reduce_183,
  3, 157, :_reduce_184,
  3, 157, :_reduce_185,
  3, 157, :_reduce_186,
  3, 157, :_reduce_187,
  3, 157, :_reduce_188,
  4, 157, :_reduce_189,
  4, 157, :_reduce_190,
  2, 157, :_reduce_191,
  2, 157, :_reduce_192,
  3, 157, :_reduce_193,
  3, 157, :_reduce_194,
  3, 157, :_reduce_195,
  3, 157, :_reduce_196,
  3, 157, :_reduce_197,
  3, 157, :_reduce_198,
  3, 157, :_reduce_199,
  3, 157, :_reduce_200,
  3, 157, :_reduce_201,
  3, 157, :_reduce_202,
  3, 157, :_reduce_203,
  3, 157, :_reduce_204,
  3, 157, :_reduce_205,
  2, 157, :_reduce_206,
  2, 157, :_reduce_207,
  3, 157, :_reduce_208,
  3, 157, :_reduce_209,
  3, 157, :_reduce_210,
  3, 157, :_reduce_211,
  3, 157, :_reduce_212,
  5, 157, :_reduce_213,
  1, 157, :_reduce_none,
  1, 154, :_reduce_none,
  1, 151, :_reduce_none,
  2, 151, :_reduce_217,
  2, 151, :_reduce_218,
  5, 151, :_reduce_219,
  2, 151, :_reduce_220,
  3, 151, :_reduce_221,
  3, 189, :_reduce_222,
  4, 189, :_reduce_223,
  4, 189, :_reduce_224,
  6, 189, :_reduce_225,
  0, 190, :_reduce_226,
  1, 190, :_reduce_none,
  1, 160, :_reduce_228,
  2, 160, :_reduce_229,
  5, 160, :_reduce_230,
  2, 160, :_reduce_231,
  5, 160, :_reduce_232,
  4, 160, :_reduce_233,
  7, 160, :_reduce_234,
  3, 160, :_reduce_235,
  1, 160, :_reduce_236,
  4, 193, :_reduce_237,
  3, 193, :_reduce_238,
  5, 193, :_reduce_239,
  7, 193, :_reduce_240,
  2, 193, :_reduce_241,
  5, 193, :_reduce_242,
  4, 193, :_reduce_243,
  6, 193, :_reduce_244,
  7, 193, :_reduce_245,
  9, 193, :_reduce_246,
  3, 193, :_reduce_247,
  1, 193, :_reduce_248,
  0, 195, :_reduce_249,
  2, 163, :_reduce_250,
  1, 194, :_reduce_251,
  0, 196, :_reduce_252,
  3, 194, :_reduce_253,
  0, 197, :_reduce_254,
  4, 194, :_reduce_255,
  2, 192, :_reduce_256,
  2, 191, :_reduce_257,
  0, 191, :_reduce_258,
  1, 186, :_reduce_259,
  3, 186, :_reduce_260,
  3, 153, :_reduce_261,
  4, 153, :_reduce_262,
  2, 153, :_reduce_263,
  1, 184, :_reduce_none,
  1, 184, :_reduce_none,
  1, 184, :_reduce_none,
  1, 184, :_reduce_none,
  1, 184, :_reduce_none,
  1, 184, :_reduce_none,
  1, 184, :_reduce_none,
  1, 184, :_reduce_none,
  1, 184, :_reduce_272,
  3, 184, :_reduce_273,
  0, 218, :_reduce_274,
  5, 184, :_reduce_275,
  3, 184, :_reduce_276,
  3, 184, :_reduce_277,
  2, 184, :_reduce_278,
  4, 184, :_reduce_279,
  3, 184, :_reduce_280,
  3, 184, :_reduce_281,
  1, 184, :_reduce_282,
  4, 184, :_reduce_283,
  3, 184, :_reduce_284,
  1, 184, :_reduce_285,
  5, 184, :_reduce_286,
  2, 184, :_reduce_287,
  1, 184, :_reduce_none,
  2, 184, :_reduce_289,
  6, 184, :_reduce_290,
  6, 184, :_reduce_291,
  0, 219, :_reduce_292,
  0, 220, :_reduce_293,
  7, 184, :_reduce_294,
  0, 221, :_reduce_295,
  0, 222, :_reduce_296,
  7, 184, :_reduce_297,
  5, 184, :_reduce_298,
  4, 184, :_reduce_299,
  5, 184, :_reduce_300,
  0, 223, :_reduce_301,
  0, 224, :_reduce_302,
  9, 184, :_reduce_303,
  0, 225, :_reduce_304,
  6, 184, :_reduce_305,
  0, 226, :_reduce_306,
  7, 184, :_reduce_307,
  0, 227, :_reduce_308,
  5, 184, :_reduce_309,
  0, 228, :_reduce_310,
  6, 184, :_reduce_311,
  0, 229, :_reduce_312,
  0, 230, :_reduce_313,
  9, 184, :_reduce_314,
  1, 184, :_reduce_315,
  1, 184, :_reduce_316,
  1, 184, :_reduce_317,
  1, 184, :_reduce_318,
  1, 150, :_reduce_none,
  1, 208, :_reduce_none,
  1, 208, :_reduce_none,
  1, 208, :_reduce_none,
  2, 208, :_reduce_323,
  1, 210, :_reduce_none,
  1, 210, :_reduce_none,
  1, 210, :_reduce_none,
  1, 209, :_reduce_none,
  5, 209, :_reduce_328,
  1, 137, :_reduce_none,
  2, 137, :_reduce_330,
  1, 212, :_reduce_none,
  1, 212, :_reduce_none,
  1, 231, :_reduce_333,
  3, 231, :_reduce_334,
  1, 232, :_reduce_none,
  2, 232, :_reduce_none,
  4, 232, :_reduce_337,
  7, 232, :_reduce_338,
  6, 232, :_reduce_339,
  4, 232, :_reduce_340,
  3, 232, :_reduce_341,
  5, 232, :_reduce_342,
  4, 232, :_reduce_343,
  2, 232, :_reduce_344,
  1, 232, :_reduce_345,
  2, 232, :_reduce_346,
  0, 165, :_reduce_347,
  2, 165, :_reduce_348,
  1, 165, :_reduce_349,
  3, 165, :_reduce_350,
  0, 234, :_reduce_351,
  5, 233, :_reduce_352,
  2, 161, :_reduce_353,
  4, 161, :_reduce_354,
  4, 161, :_reduce_355,
  2, 207, :_reduce_356,
  4, 207, :_reduce_357,
  4, 207, :_reduce_358,
  3, 207, :_reduce_359,
  2, 207, :_reduce_360,
  1, 207, :_reduce_361,
  0, 236, :_reduce_362,
  5, 206, :_reduce_363,
  0, 237, :_reduce_364,
  5, 206, :_reduce_365,
  5, 211, :_reduce_366,
  1, 238, :_reduce_none,
  4, 238, :_reduce_368,
  2, 238, :_reduce_369,
  1, 239, :_reduce_370,
  1, 239, :_reduce_none,
  6, 136, :_reduce_372,
  0, 136, :_reduce_373,
  1, 240, :_reduce_374,
  1, 240, :_reduce_none,
  1, 240, :_reduce_none,
  2, 241, :_reduce_377,
  1, 241, :_reduce_none,
  2, 138, :_reduce_379,
  1, 138, :_reduce_none,
  1, 198, :_reduce_none,
  1, 198, :_reduce_none,
  1, 198, :_reduce_none,
  1, 199, :_reduce_384,
  1, 243, :_reduce_385,
  2, 243, :_reduce_386,
  3, 244, :_reduce_387,
  1, 244, :_reduce_388,
  3, 200, :_reduce_389,
  4, 201, :_reduce_390,
  3, 202, :_reduce_391,
  0, 247, :_reduce_392,
  3, 247, :_reduce_393,
  1, 248, :_reduce_394,
  2, 248, :_reduce_395,
  3, 203, :_reduce_396,
  0, 250, :_reduce_397,
  3, 250, :_reduce_398,
  0, 245, :_reduce_399,
  2, 245, :_reduce_400,
  0, 246, :_reduce_401,
  2, 246, :_reduce_402,
  1, 249, :_reduce_403,
  2, 249, :_reduce_404,
  0, 252, :_reduce_405,
  4, 249, :_reduce_406,
  1, 251, :_reduce_407,
  1, 251, :_reduce_408,
  1, 251, :_reduce_409,
  1, 251, :_reduce_none,
  1, 180, :_reduce_411,
  3, 181, :_reduce_412,
  1, 242, :_reduce_413,
  1, 242, :_reduce_414,
  2, 242, :_reduce_415,
  2, 242, :_reduce_416,
  1, 173, :_reduce_417,
  1, 173, :_reduce_418,
  1, 173, :_reduce_419,
  1, 173, :_reduce_420,
  1, 173, :_reduce_421,
  1, 173, :_reduce_422,
  1, 173, :_reduce_423,
  1, 173, :_reduce_424,
  1, 173, :_reduce_425,
  1, 173, :_reduce_426,
  1, 173, :_reduce_427,
  1, 204, :_reduce_428,
  1, 149, :_reduce_429,
  1, 152, :_reduce_430,
  1, 152, :_reduce_431,
  1, 213, :_reduce_432,
  3, 213, :_reduce_433,
  2, 213, :_reduce_434,
  4, 215, :_reduce_435,
  2, 215, :_reduce_436,
  6, 253, :_reduce_437,
  4, 253, :_reduce_438,
  4, 253, :_reduce_439,
  2, 253, :_reduce_440,
  4, 253, :_reduce_441,
  2, 253, :_reduce_442,
  2, 253, :_reduce_443,
  1, 253, :_reduce_444,
  0, 253, :_reduce_445,
  1, 259, :_reduce_446,
  1, 259, :_reduce_447,
  1, 259, :_reduce_448,
  1, 259, :_reduce_449,
  1, 259, :_reduce_450,
  1, 254, :_reduce_451,
  3, 254, :_reduce_452,
  3, 260, :_reduce_453,
  1, 255, :_reduce_454,
  3, 255, :_reduce_455,
  1, 261, :_reduce_none,
  1, 261, :_reduce_none,
  2, 256, :_reduce_458,
  1, 256, :_reduce_459,
  1, 262, :_reduce_none,
  1, 262, :_reduce_none,
  2, 258, :_reduce_462,
  2, 257, :_reduce_463,
  0, 257, :_reduce_464,
  1, 216, :_reduce_none,
  4, 216, :_reduce_466,
  0, 205, :_reduce_467,
  2, 205, :_reduce_468,
  2, 205, :_reduce_469,
  1, 188, :_reduce_470,
  3, 188, :_reduce_471,
  3, 263, :_reduce_472,
  1, 167, :_reduce_none,
  1, 167, :_reduce_none,
  1, 167, :_reduce_none,
  1, 162, :_reduce_none,
  1, 162, :_reduce_none,
  1, 162, :_reduce_none,
  1, 162, :_reduce_none,
  1, 235, :_reduce_none,
  1, 235, :_reduce_none,
  1, 235, :_reduce_none,
  1, 217, :_reduce_none,
  1, 217, :_reduce_none,
  0, 140, :_reduce_none,
  1, 140, :_reduce_none,
  0, 183, :_reduce_none,
  1, 183, :_reduce_none,
  0, 187, :_reduce_none,
  1, 187, :_reduce_none,
  1, 187, :_reduce_none,
  1, 214, :_reduce_492,
  1, 214, :_reduce_none,
  1, 142, :_reduce_none,
  2, 142, :_reduce_none,
  0, 185, :_reduce_496 ]

racc_reduce_n = 497

racc_shift_n = 894

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,
  :kRETURN => 28,
  :kYIELD => 29,
  :kSUPER => 30,
  :kSELF => 31,
  :kNIL => 32,
  :kTRUE => 33,
  :kFALSE => 34,
  :kAND => 35,
  :kOR => 36,
  :kNOT => 37,
  :kIF_MOD => 38,
  :kUNLESS_MOD => 39,
  :kWHILE_MOD => 40,
  :kUNTIL_MOD => 41,
  :kRESCUE_MOD => 42,
  :kALIAS => 43,
  :kDEFINED => 44,
  :klBEGIN => 45,
  :klEND => 46,
  :k__LINE__ => 47,
  :k__FILE__ => 48,
  :tIDENTIFIER => 49,
  :tFID => 50,
  :tGVAR => 51,
  :tIVAR => 52,
  :tCONSTANT => 53,
  :tCVAR => 54,
  :tNTH_REF => 55,
  :tBACK_REF => 56,
  :tSTRING_CONTENT => 57,
  :tINTEGER => 58,
  :tFLOAT => 59,
  :tREGEXP_END => 60,
  :tUPLUS => 61,
  :tUMINUS => 62,
  :tUMINUS_NUM => 63,
  :tPOW => 64,
  :tCMP => 65,
  :tEQ => 66,
  :tEQQ => 67,
  :tNEQ => 68,
  :tGEQ => 69,
  :tLEQ => 70,
  :tANDOP => 71,
  :tOROP => 72,
  :tMATCH => 73,
  :tNMATCH => 74,
  :tDOT => 75,
  :tDOT2 => 76,
  :tDOT3 => 77,
  :tAREF => 78,
  :tASET => 79,
  :tLSHFT => 80,
  :tRSHFT => 81,
  :tCOLON2 => 82,
  :tCOLON3 => 83,
  :tOP_ASGN => 84,
  :tASSOC => 85,
  :tLPAREN => 86,
  :tLPAREN2 => 87,
  :tRPAREN => 88,
  :tLPAREN_ARG => 89,
  :tLBRACK => 90,
  :tLBRACK2 => 91,
  :tRBRACK => 92,
  :tLBRACE => 93,
  :tLBRACE_ARG => 94,
  :tSTAR => 95,
  :tSTAR2 => 96,
  :tAMPER => 97,
  :tAMPER2 => 98,
  :tTILDE => 99,
  :tPERCENT => 100,
  :tDIVIDE => 101,
  :tPLUS => 102,
  :tMINUS => 103,
  :tLT => 104,
  :tGT => 105,
  :tPIPE => 106,
  :tBANG => 107,
  :tCARET => 108,
  :tLCURLY => 109,
  :tRCURLY => 110,
  :tBACK_REF2 => 111,
  :tSYMBEG => 112,
  :tSTRING_BEG => 113,
  :tXSTRING_BEG => 114,
  :tREGEXP_BEG => 115,
  :tWORDS_BEG => 116,
  :tQWORDS_BEG => 117,
  :tSTRING_DBEG => 118,
  :tSTRING_DVAR => 119,
  :tSTRING_END => 120,
  :tSTRING => 121,
  :tSYMBOL => 122,
  :tREGEXP_OPT => 123,
  :tNL => 124,
  :tEH => 125,
  :tCOLON => 126,
  :tCOMMA => 127,
  :tSPACE => 128,
  :tSEMI => 129,
  :tEQL => 130,
  :tLOWEST => 131 }

racc_nt_base = 132

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",
  "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__",
  "tIDENTIFIER",
  "tFID",
  "tGVAR",
  "tIVAR",
  "tCONSTANT",
  "tCVAR",
  "tNTH_REF",
  "tBACK_REF",
  "tSTRING_CONTENT",
  "tINTEGER",
  "tFLOAT",
  "tREGEXP_END",
  "tUPLUS",
  "tUMINUS",
  "tUMINUS_NUM",
  "tPOW",
  "tCMP",
  "tEQ",
  "tEQQ",
  "tNEQ",
  "tGEQ",
  "tLEQ",
  "tANDOP",
  "tOROP",
  "tMATCH",
  "tNMATCH",
  "tDOT",
  "tDOT2",
  "tDOT3",
  "tAREF",
  "tASET",
  "tLSHFT",
  "tRSHFT",
  "tCOLON2",
  "tCOLON3",
  "tOP_ASGN",
  "tASSOC",
  "tLPAREN",
  "tLPAREN2",
  "tRPAREN",
  "tLPAREN_ARG",
  "tLBRACK",
  "tLBRACK2",
  "tRBRACK",
  "tLBRACE",
  "tLBRACE_ARG",
  "tSTAR",
  "tSTAR2",
  "tAMPER",
  "tAMPER2",
  "tTILDE",
  "tPERCENT",
  "tDIVIDE",
  "tPLUS",
  "tMINUS",
  "tLT",
  "tGT",
  "tPIPE",
  "tBANG",
  "tCARET",
  "tLCURLY",
  "tRCURLY",
  "tBACK_REF2",
  "tSYMBEG",
  "tSTRING_BEG",
  "tXSTRING_BEG",
  "tREGEXP_BEG",
  "tWORDS_BEG",
  "tQWORDS_BEG",
  "tSTRING_DBEG",
  "tSTRING_DVAR",
  "tSTRING_END",
  "tSTRING",
  "tSYMBOL",
  "tREGEXP_OPT",
  "tNL",
  "tEH",
  "tCOLON",
  "tCOMMA",
  "tSPACE",
  "tSEMI",
  "tEQL",
  "tLOWEST",
  "$start",
  "program",
  "compstmt",
  "bodystmt",
  "opt_rescue",
  "opt_else",
  "opt_ensure",
  "stmts",
  "opt_terms",
  "stmt",
  "terms",
  "fitem",
  "undef_list",
  "expr_value",
  "lhs",
  "command_call",
  "mlhs",
  "var_lhs",
  "primary_value",
  "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",
  "@2",
  "operation",
  "mlhs_basic",
  "mlhs_entry",
  "mlhs_head",
  "mlhs_item",
  "mlhs_node",
  "variable",
  "cname",
  "cpath",
  "fname",
  "op",
  "reswords",
  "fsym",
  "symbol",
  "dsym",
  "@3",
  "opt_nl",
  "primary",
  "none",
  "args",
  "trailer",
  "assocs",
  "paren_args",
  "opt_paren_args",
  "opt_block_arg",
  "block_arg",
  "call_args2",
  "open_args",
  "@4",
  "@5",
  "@6",
  "literal",
  "strings",
  "xstring",
  "regexp",
  "words",
  "qwords",
  "var_ref",
  "assoc_list",
  "brace_block",
  "method_call",
  "then",
  "if_tail",
  "do",
  "case_body",
  "for_var",
  "superclass",
  "term",
  "f_arglist",
  "singleton",
  "dot_or_colon",
  "@7",
  "@8",
  "@9",
  "@10",
  "@11",
  "@12",
  "@13",
  "@14",
  "@15",
  "@16",
  "@17",
  "@18",
  "@19",
  "block_par",
  "block_var",
  "do_block",
  "@20",
  "operation3",
  "@21",
  "@22",
  "when_args",
  "cases",
  "exc_list",
  "exc_var",
  "numeric",
  "string",
  "string1",
  "string_contents",
  "xstring_contents",
  "word_list",
  "word",
  "string_content",
  "qword_list",
  "string_dvar",
  "@23",
  "f_args",
  "f_arg",
  "f_optarg",
  "f_rest_arg",
  "opt_f_block_arg",
  "f_block_arg",
  "f_norm_arg",
  "f_opt",
  "restarg_mark",
  "blkarg_mark",
  "assoc" ]

Racc_debug_parser = false

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

# reduce 0 omitted

module_eval(<<'.,.,', 'ruby18.y', 47)
  def _reduce_1(val, _values, result)
                          result = val[0]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 52)
  def _reduce_2(val, _values, result)
                          rescue_bodies     = val[1]
                      else_t,   else_   = val[2]
                      ensure_t, ensure_ = val[3]

                      if rescue_bodies.empty? && !else_.nil?
                        diagnostic :warning, :useless_else, nil, else_t
                      end

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

module_eval(<<'.,.,', 'ruby18.y', 68)
  def _reduce_3(val, _values, result)
                          result = @builder.compstmt(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 73)
  def _reduce_4(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 77)
  def _reduce_5(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 81)
  def _reduce_6(val, _values, result)
                          result = [ val[1] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 85)
  def _reduce_7(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 90)
  def _reduce_8(val, _values, result)
                          @lexer.state = :expr_fname
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 94)
  def _reduce_9(val, _values, result)
                          result = @builder.alias(val[0], val[1], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 98)
  def _reduce_10(val, _values, result)
                          result = @builder.alias(val[0],
                                  @builder.gvar(val[1]),
                                  @builder.gvar(val[2]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 104)
  def _reduce_11(val, _values, result)
                          result = @builder.alias(val[0],
                                  @builder.gvar(val[1]),
                                  @builder.back_ref(val[2]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 110)
  def _reduce_12(val, _values, result)
                          diagnostic :error, :nth_ref_alias, nil, val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 114)
  def _reduce_13(val, _values, result)
                          result = @builder.undef_method(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 118)
  def _reduce_14(val, _values, result)
                          result = @builder.condition_mod(val[0], nil,
                                                      val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 123)
  def _reduce_15(val, _values, result)
                          result = @builder.condition_mod(nil, val[0],
                                                      val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 128)
  def _reduce_16(val, _values, result)
                          result = @builder.loop_mod(:while, val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 132)
  def _reduce_17(val, _values, result)
                          result = @builder.loop_mod(:until, val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 136)
  def _reduce_18(val, _values, result)
                          rescue_body = @builder.rescue_body(val[1],
                                        nil, nil, nil,
                                        nil, val[2])

                      result = @builder.begin_body(val[0], [ rescue_body ])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 144)
  def _reduce_19(val, _values, result)
                          if in_def?
                        diagnostic :error, :begin_in_method, nil, val[0]
                      end

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

module_eval(<<'.,.,', 'ruby18.y', 152)
  def _reduce_20(val, _values, result)
                          result = @builder.postexe(val[0], val[1], val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 156)
  def _reduce_21(val, _values, result)
                          result = @builder.assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 160)
  def _reduce_22(val, _values, result)
                          result = @builder.multi_assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 164)
  def _reduce_23(val, _values, result)
                          result = @builder.op_assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 168)
  def _reduce_24(val, _values, result)
                          result = @builder.op_assign(
                                  @builder.index(
                                    val[0], val[1], val[2], val[3]),
                                  val[4], val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 175)
  def _reduce_25(val, _values, result)
                          result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 182)
  def _reduce_26(val, _values, result)
                          result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 189)
  def _reduce_27(val, _values, result)
                          result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 196)
  def _reduce_28(val, _values, result)
                          @builder.op_assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 200)
  def _reduce_29(val, _values, result)
                          result = @builder.assign(val[0], val[1],
                                  @builder.array(nil, val[2], nil))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 205)
  def _reduce_30(val, _values, result)
                          result = @builder.multi_assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 209)
  def _reduce_31(val, _values, result)
                          result = @builder.multi_assign(val[0], val[1],
                                  @builder.array(nil, val[2], nil))
                    
    result
  end
.,.,

# reduce 32 omitted

# reduce 33 omitted

module_eval(<<'.,.,', 'ruby18.y', 217)
  def _reduce_34(val, _values, result)
                          result = @builder.logical_op(:and, val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 221)
  def _reduce_35(val, _values, result)
                          result = @builder.logical_op(:or, val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 225)
  def _reduce_36(val, _values, result)
                          result = @builder.not_op(val[0], nil, val[1], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 229)
  def _reduce_37(val, _values, result)
                          result = @builder.not_op(val[0], nil, val[1], nil)
                    
    result
  end
.,.,

# reduce 38 omitted

# reduce 39 omitted

# reduce 40 omitted

# reduce 41 omitted

module_eval(<<'.,.,', 'ruby18.y', 239)
  def _reduce_42(val, _values, result)
                          result = @builder.keyword_cmd(:return, val[0],
                                  nil, val[1], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 244)
  def _reduce_43(val, _values, result)
                          result = @builder.keyword_cmd(:break, val[0],
                                  nil, val[1], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 249)
  def _reduce_44(val, _values, result)
                          result = @builder.keyword_cmd(:next, val[0],
                                  nil, val[1], nil)
                    
    result
  end
.,.,

# reduce 45 omitted

module_eval(<<'.,.,', 'ruby18.y', 256)
  def _reduce_46(val, _values, result)
                          lparen_t, args, rparen_t = val[3]
                      result = @builder.call_method(val[0], val[1], val[2],
                                  lparen_t, args, rparen_t)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 262)
  def _reduce_47(val, _values, result)
                          lparen_t, args, rparen_t = val[3]
                      result = @builder.call_method(val[0], val[1], val[2],
                                  lparen_t, args, rparen_t)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 269)
  def _reduce_48(val, _values, result)
                          @static_env.extend_dynamic
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 273)
  def _reduce_49(val, _values, result)
                          result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 280)
  def _reduce_50(val, _values, result)
                          lparen_t, args, rparen_t = val[1]
                      result = @builder.call_method(nil, nil, val[0],
                                  lparen_t, args, rparen_t)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 286)
  def _reduce_51(val, _values, result)
                          lparen_t, args, rparen_t = val[1]
                      method_call = @builder.call_method(nil, nil, val[0],
                                      lparen_t, args, rparen_t)

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

module_eval(<<'.,.,', 'ruby18.y', 296)
  def _reduce_52(val, _values, result)
                          lparen_t, args, rparen_t = val[3]
                      result = @builder.call_method(val[0], val[1], val[2],
                                  lparen_t, args, rparen_t)

                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 303)
  def _reduce_53(val, _values, result)
                          lparen_t, args, rparen_t = val[3]
                      method_call = @builder.call_method(val[0], val[1], val[2],
                                      lparen_t, args, rparen_t)

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

module_eval(<<'.,.,', 'ruby18.y', 313)
  def _reduce_54(val, _values, result)
                          lparen_t, args, rparen_t = val[3]
                      result = @builder.call_method(val[0], val[1], val[2],
                                  lparen_t, args, rparen_t)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 319)
  def _reduce_55(val, _values, result)
                          lparen_t, args, rparen_t = val[3]
                      method_call = @builder.call_method(val[0], val[1], val[2],
                                      lparen_t, args, rparen_t)

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

module_eval(<<'.,.,', 'ruby18.y', 329)
  def _reduce_56(val, _values, result)
                          lparen_t, args, rparen_t = val[1]
                      result = @builder.keyword_cmd(:super, val[0],
                                  lparen_t, args, rparen_t)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 335)
  def _reduce_57(val, _values, result)
                          lparen_t, args, rparen_t = val[1]
                      result = @builder.keyword_cmd(:yield, val[0],
                                  lparen_t, args, rparen_t)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 342)
  def _reduce_58(val, _values, result)
                          result = @builder.multi_lhs(nil, val[0], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 346)
  def _reduce_59(val, _values, result)
                          result = @builder.begin(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 351)
  def _reduce_60(val, _values, result)
                          result = @builder.multi_lhs(nil, val[0], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 355)
  def _reduce_61(val, _values, result)
                          result = @builder.multi_lhs(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 360)
  def _reduce_62(val, _values, result)
                          result = val[0]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 364)
  def _reduce_63(val, _values, result)
                          result = val[0] << val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 368)
  def _reduce_64(val, _values, result)
                          result = val[0] << @builder.splat(val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 372)
  def _reduce_65(val, _values, result)
                          result = val[0] << @builder.splat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 376)
  def _reduce_66(val, _values, result)
                          result = [ @builder.splat(val[0], val[1]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 380)
  def _reduce_67(val, _values, result)
                          result = [ @builder.splat(val[0]) ]
                    
    result
  end
.,.,

# reduce 68 omitted

module_eval(<<'.,.,', 'ruby18.y', 386)
  def _reduce_69(val, _values, result)
                          result = @builder.begin(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 391)
  def _reduce_70(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 395)
  def _reduce_71(val, _values, result)
                          result = val[0] << val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 400)
  def _reduce_72(val, _values, result)
                          result = @builder.assignable(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 404)
  def _reduce_73(val, _values, result)
                          result = @builder.index_asgn(val[0], val[1], val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 408)
  def _reduce_74(val, _values, result)
                          result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 412)
  def _reduce_75(val, _values, result)
                          result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 416)
  def _reduce_76(val, _values, result)
                          result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 420)
  def _reduce_77(val, _values, result)
                          result = @builder.assignable(
                                  @builder.const_fetch(val[0], val[1], val[2]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 425)
  def _reduce_78(val, _values, result)
                          result = @builder.assignable(
                                  @builder.const_global(val[0], val[1]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 430)
  def _reduce_79(val, _values, result)
                          result = @builder.assignable(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 435)
  def _reduce_80(val, _values, result)
                          result = @builder.assignable(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 439)
  def _reduce_81(val, _values, result)
                          result = @builder.index_asgn(val[0], val[1], val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 443)
  def _reduce_82(val, _values, result)
                          result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 447)
  def _reduce_83(val, _values, result)
                          result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 451)
  def _reduce_84(val, _values, result)
                          result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 455)
  def _reduce_85(val, _values, result)
                          result = @builder.assignable(
                                  @builder.const_fetch(val[0], val[1], val[2]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 460)
  def _reduce_86(val, _values, result)
                          result = @builder.assignable(
                                  @builder.const_global(val[0], val[1]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 465)
  def _reduce_87(val, _values, result)
                          result = @builder.assignable(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 470)
  def _reduce_88(val, _values, result)
                          diagnostic :error, :module_name_const, nil, val[0]
                    
    result
  end
.,.,

# reduce 89 omitted

module_eval(<<'.,.,', 'ruby18.y', 476)
  def _reduce_90(val, _values, result)
                          result = @builder.const_global(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 480)
  def _reduce_91(val, _values, result)
                          result = @builder.const(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 484)
  def _reduce_92(val, _values, result)
                          result = @builder.const_fetch(val[0], val[1], val[2])
                    
    result
  end
.,.,

# reduce 93 omitted

# reduce 94 omitted

# reduce 95 omitted

# reduce 96 omitted

# reduce 97 omitted

module_eval(<<'.,.,', 'ruby18.y', 493)
  def _reduce_98(val, _values, result)
                          result = @builder.symbol(val[0])
                    
    result
  end
.,.,

# reduce 99 omitted

# reduce 100 omitted

# reduce 101 omitted

module_eval(<<'.,.,', 'ruby18.y', 502)
  def _reduce_102(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 506)
  def _reduce_103(val, _values, result)
                          @lexer.state = :expr_fname
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 510)
  def _reduce_104(val, _values, result)
                          result = val[0] << val[3]
                    
    result
  end
.,.,

# reduce 105 omitted

# reduce 106 omitted

# reduce 107 omitted

# reduce 108 omitted

# reduce 109 omitted

# reduce 110 omitted

# reduce 111 omitted

# reduce 112 omitted

# reduce 113 omitted

# reduce 114 omitted

# reduce 115 omitted

# reduce 116 omitted

# reduce 117 omitted

# reduce 118 omitted

# reduce 119 omitted

# reduce 120 omitted

# reduce 121 omitted

# reduce 122 omitted

# reduce 123 omitted

# reduce 124 omitted

# reduce 125 omitted

# reduce 126 omitted

# reduce 127 omitted

# reduce 128 omitted

# reduce 129 omitted

# reduce 130 omitted

# reduce 131 omitted

# reduce 132 omitted

# reduce 133 omitted

# reduce 134 omitted

# reduce 135 omitted

# reduce 136 omitted

# reduce 137 omitted

# reduce 138 omitted

# reduce 139 omitted

# reduce 140 omitted

# reduce 141 omitted

# reduce 142 omitted

# reduce 143 omitted

# reduce 144 omitted

# reduce 145 omitted

# reduce 146 omitted

# reduce 147 omitted

# reduce 148 omitted

# reduce 149 omitted

# reduce 150 omitted

# reduce 151 omitted

# reduce 152 omitted

# reduce 153 omitted

# reduce 154 omitted

# reduce 155 omitted

# reduce 156 omitted

# reduce 157 omitted

# reduce 158 omitted

# reduce 159 omitted

# reduce 160 omitted

# reduce 161 omitted

# reduce 162 omitted

# reduce 163 omitted

# reduce 164 omitted

# reduce 165 omitted

# reduce 166 omitted

# reduce 167 omitted

# reduce 168 omitted

# reduce 169 omitted

# reduce 170 omitted

module_eval(<<'.,.,', 'ruby18.y', 529)
  def _reduce_171(val, _values, result)
                          result = @builder.assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 533)
  def _reduce_172(val, _values, result)
                          rescue_body = @builder.rescue_body(val[3],
                                        nil, nil, nil,
                                        nil, val[4])

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

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

module_eval(<<'.,.,', 'ruby18.y', 543)
  def _reduce_173(val, _values, result)
                          result = @builder.op_assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 547)
  def _reduce_174(val, _values, result)
                          result = @builder.op_assign(
                                  @builder.index(
                                    val[0], val[1], val[2], val[3]),
                                  val[4], val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 554)
  def _reduce_175(val, _values, result)
                          result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 561)
  def _reduce_176(val, _values, result)
                          result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 568)
  def _reduce_177(val, _values, result)
                          result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 575)
  def _reduce_178(val, _values, result)
                          diagnostic :error, :dynamic_const, nil, val[2], [ val[3] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 579)
  def _reduce_179(val, _values, result)
                          diagnostic :error, :dynamic_const, nil, val[1], [ val[2] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 583)
  def _reduce_180(val, _values, result)
                          result = @builder.op_assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 587)
  def _reduce_181(val, _values, result)
                          result = @builder.range_inclusive(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 591)
  def _reduce_182(val, _values, result)
                          result = @builder.range_exclusive(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 595)
  def _reduce_183(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 599)
  def _reduce_184(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 603)
  def _reduce_185(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 607)
  def _reduce_186(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 611)
  def _reduce_187(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 615)
  def _reduce_188(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 619)
  def _reduce_189(val, _values, result)
                          result = @builder.unary_op(val[0],
                                  @builder.binary_op(
                                    @builder.integer(val[1]),
                                      val[2], val[3]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 626)
  def _reduce_190(val, _values, result)
                          result = @builder.unary_op(val[0],
                                  @builder.binary_op(
                                    @builder.float(val[1]),
                                      val[2], val[3]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 633)
  def _reduce_191(val, _values, result)
                          result = @builder.unary_op(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 637)
  def _reduce_192(val, _values, result)
                          result = @builder.unary_op(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 641)
  def _reduce_193(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 645)
  def _reduce_194(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 649)
  def _reduce_195(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 653)
  def _reduce_196(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 657)
  def _reduce_197(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 661)
  def _reduce_198(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 665)
  def _reduce_199(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 669)
  def _reduce_200(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 673)
  def _reduce_201(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 677)
  def _reduce_202(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 681)
  def _reduce_203(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 685)
  def _reduce_204(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 689)
  def _reduce_205(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 693)
  def _reduce_206(val, _values, result)
                          result = @builder.not_op(val[0], nil, val[1], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 697)
  def _reduce_207(val, _values, result)
                          result = @builder.unary_op(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 701)
  def _reduce_208(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 705)
  def _reduce_209(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 709)
  def _reduce_210(val, _values, result)
                          result = @builder.logical_op(:and, val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 713)
  def _reduce_211(val, _values, result)
                          result = @builder.logical_op(:or, val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 717)
  def _reduce_212(val, _values, result)
                          result = @builder.keyword_cmd(:defined?, val[0], nil, [ val[2] ], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 721)
  def _reduce_213(val, _values, result)
                          result = @builder.ternary(val[0], val[1],
                                                val[2], val[3], val[4])
                    
    result
  end
.,.,

# reduce 214 omitted

# reduce 215 omitted

# reduce 216 omitted

module_eval(<<'.,.,', 'ruby18.y', 731)
  def _reduce_217(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 735)
  def _reduce_218(val, _values, result)
                          result = val[0]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 739)
  def _reduce_219(val, _values, result)
                          result = val[0] << @builder.splat(val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 743)
  def _reduce_220(val, _values, result)
                          result = [ @builder.associate(nil, val[0], nil) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 747)
  def _reduce_221(val, _values, result)
                          result = [ @builder.splat(val[0], val[1]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 752)
  def _reduce_222(val, _values, result)
                          result = [ val[0], [], val[2] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 756)
  def _reduce_223(val, _values, result)
                          result = [ val[0], val[1], val[3] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 760)
  def _reduce_224(val, _values, result)
                          result = [ val[0], [ val[1] ], val[3] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 764)
  def _reduce_225(val, _values, result)
                          result = [ val[0], val[1] << val[3], val[5] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 769)
  def _reduce_226(val, _values, result)
                          result = [ nil, [], nil ]
                    
    result
  end
.,.,

# reduce 227 omitted

module_eval(<<'.,.,', 'ruby18.y', 775)
  def _reduce_228(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 779)
  def _reduce_229(val, _values, result)
                          result = val[0].concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 783)
  def _reduce_230(val, _values, result)
                          result = val[0].concat(
                                [ @builder.splat(val[2], val[3]),
                                   *val[4] ])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 789)
  def _reduce_231(val, _values, result)
                          result =  [ @builder.associate(nil, val[0], nil),
                                  *val[1] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 794)
  def _reduce_232(val, _values, result)
                          result =  [ @builder.associate(nil, val[0], nil),
                                  @builder.splat(val[2], val[3]),
                                  *val[4] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 800)
  def _reduce_233(val, _values, result)
                          result = val[0].concat(
                                [ @builder.associate(nil, val[2], nil),
                                  *val[3] ])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 806)
  def _reduce_234(val, _values, result)
                          result = val[0].concat(
                                [ @builder.associate(nil, val[2], nil),
                                  @builder.splat(val[4], val[5]),
                                  *val[6] ])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 813)
  def _reduce_235(val, _values, result)
                          result =  [ @builder.splat(val[0], val[1]),
                                  *val[2] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 818)
  def _reduce_236(val, _values, result)
                          result =  [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 823)
  def _reduce_237(val, _values, result)
                          result = [ val[0], *val[2].concat(val[3]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 827)
  def _reduce_238(val, _values, result)
                          result = [ val[0], val[2] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 831)
  def _reduce_239(val, _values, result)
                          result =  [ val[0],
                                  @builder.splat(val[2], val[3]),
                                  *val[4] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 837)
  def _reduce_240(val, _values, result)
                          result =  [ val[0],
                                  *val[2].
                                    push(@builder.splat(val[4], val[5])).
                                    concat(val[6]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 844)
  def _reduce_241(val, _values, result)
                          result =  [ @builder.associate(nil, val[0], nil),
                                  *val[1] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 849)
  def _reduce_242(val, _values, result)
                          result =  [ @builder.associate(nil, val[0], nil),
                                  @builder.splat(val[2], val[3]),
                                  *val[4] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 855)
  def _reduce_243(val, _values, result)
                          result =  [ val[0],
                                  @builder.associate(nil, val[2], nil),
                                  *val[3] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 861)
  def _reduce_244(val, _values, result)
                          result =  [ val[0],
                                  *val[2].
                                    push(@builder.associate(nil, val[4], nil)).
                                    concat(val[5]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 868)
  def _reduce_245(val, _values, result)
                          result =  [ val[0],
                                  @builder.associate(nil, val[2], nil),
                                  @builder.splat(val[4], val[5]),
                                  *val[6] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 875)
  def _reduce_246(val, _values, result)
                          result =  [ val[0],
                                  *val[2].
                                    push(@builder.associate(nil, val[4], nil)).
                                    push(@builder.splat(val[6], val[7])).
                                    concat(val[8]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 883)
  def _reduce_247(val, _values, result)
                          result =  [ @builder.splat(val[0], val[1]),
                                  *val[2] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 888)
  def _reduce_248(val, _values, result)
                          result =  [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 892)
  def _reduce_249(val, _values, result)
                          result = @lexer.cmdarg.dup
                      @lexer.cmdarg.push(true)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 897)
  def _reduce_250(val, _values, result)
                          @lexer.cmdarg = val[0]

                      result = val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 904)
  def _reduce_251(val, _values, result)
                          result = [ nil, val[0], nil ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 908)
  def _reduce_252(val, _values, result)
                          @lexer.state = :expr_endarg
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 912)
  def _reduce_253(val, _values, result)
                          result = [ val[0], [], val[2] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 916)
  def _reduce_254(val, _values, result)
                          @lexer.state = :expr_endarg
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 920)
  def _reduce_255(val, _values, result)
                          result = [ val[0], val[1], val[3] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 925)
  def _reduce_256(val, _values, result)
                          result = @builder.block_pass(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 930)
  def _reduce_257(val, _values, result)
                          result = [ val[1] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 934)
  def _reduce_258(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 939)
  def _reduce_259(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 943)
  def _reduce_260(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 948)
  def _reduce_261(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

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

module_eval(<<'.,.,', 'ruby18.y', 956)
  def _reduce_263(val, _values, result)
                          result = [ @builder.splat(val[0], val[1]) ]
                    
    result
  end
.,.,

# reduce 264 omitted

# reduce 265 omitted

# reduce 266 omitted

# reduce 267 omitted

# reduce 268 omitted

# reduce 269 omitted

# reduce 270 omitted

# reduce 271 omitted

module_eval(<<'.,.,', 'ruby18.y', 969)
  def _reduce_272(val, _values, result)
                          result = @builder.call_method(nil, nil, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 973)
  def _reduce_273(val, _values, result)
                          result = @builder.begin_keyword(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 977)
  def _reduce_274(val, _values, result)
                          @lexer.state = :expr_endarg
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 981)
  def _reduce_275(val, _values, result)
                          result = @builder.begin(val[0], val[1], val[4])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 985)
  def _reduce_276(val, _values, result)
                          result = @builder.begin(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 989)
  def _reduce_277(val, _values, result)
                          result = @builder.const_fetch(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 993)
  def _reduce_278(val, _values, result)
                          result = @builder.const_global(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 997)
  def _reduce_279(val, _values, result)
                          result = @builder.index(val[0], val[1], val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1001)
  def _reduce_280(val, _values, result)
                          result = @builder.array(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1005)
  def _reduce_281(val, _values, result)
                          result = @builder.associate(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1009)
  def _reduce_282(val, _values, result)
                          result = @builder.keyword_cmd(:return, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1013)
  def _reduce_283(val, _values, result)
                          result = @builder.keyword_cmd(:yield, val[0], val[1], val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1017)
  def _reduce_284(val, _values, result)
                          result = @builder.keyword_cmd(:yield, val[0], val[1], [], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1021)
  def _reduce_285(val, _values, result)
                          result = @builder.keyword_cmd(:yield, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1025)
  def _reduce_286(val, _values, result)
                          result = @builder.keyword_cmd(:defined?, val[0],
                                                    val[2], [ val[3] ], val[4])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1030)
  def _reduce_287(val, _values, result)
                          method_call = @builder.call_method(nil, nil, val[0])

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

# reduce 288 omitted

module_eval(<<'.,.,', 'ruby18.y', 1039)
  def _reduce_289(val, _values, result)
                          begin_t, args, body, end_t = val[1]
                      result      = @builder.block(val[0],
                                      begin_t, args, body, end_t)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1045)
  def _reduce_290(val, _values, result)
                          else_t, else_ = val[4]
                      result = @builder.condition(val[0], val[1], val[2],
                                                  val[3], else_t,
                                                  else_,  val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1052)
  def _reduce_291(val, _values, result)
                          else_t, else_ = val[4]
                      result = @builder.condition(val[0], val[1], val[2],
                                                  else_,  else_t,
                                                  val[3], val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1059)
  def _reduce_292(val, _values, result)
                          @lexer.cond.push(true)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1063)
  def _reduce_293(val, _values, result)
                          @lexer.cond.pop
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1067)
  def _reduce_294(val, _values, result)
                          result = @builder.loop(:while, val[0], val[2], val[3],
                                             val[5], val[6])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1072)
  def _reduce_295(val, _values, result)
                          @lexer.cond.push(true)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1076)
  def _reduce_296(val, _values, result)
                          @lexer.cond.pop
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1080)
  def _reduce_297(val, _values, result)
                          result = @builder.loop(:until, val[0], val[2], val[3],
                                             val[5], val[6])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1085)
  def _reduce_298(val, _values, result)
                          when_bodies       = val[3][0..-2]
                      else_t, else_body = val[3][-1]

                      result = @builder.case(val[0], val[1],
                                             when_bodies, else_t, else_body,
                                             val[4])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1094)
  def _reduce_299(val, _values, result)
                          when_bodies       = val[2][0..-2]
                      else_t, else_body = val[2][-1]

                      result = @builder.case(val[0], nil,
                                             when_bodies, else_t, else_body,
                                             val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1103)
  def _reduce_300(val, _values, result)
                          result = @builder.case(val[0], nil,
                                             [], val[2], val[3],
                                             val[4])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1109)
  def _reduce_301(val, _values, result)
                          @lexer.cond.push(true)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1113)
  def _reduce_302(val, _values, result)
                          @lexer.cond.pop
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1117)
  def _reduce_303(val, _values, result)
                          result = @builder.for(val[0], val[1],
                                            val[2], val[4],
                                            val[5], val[7], val[8])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1123)
  def _reduce_304(val, _values, result)
                          @static_env.extend_static
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1127)
  def _reduce_305(val, _values, result)
                          if in_def?
                        diagnostic :error, :class_in_def, nil, val[0]
                      end

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

                      @static_env.unextend
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1140)
  def _reduce_306(val, _values, result)
                          result = @def_level
                      @def_level = 0

                      @static_env.extend_static
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1147)
  def _reduce_307(val, _values, result)
                          result = @builder.def_sclass(val[0], val[1], val[2],
                                                   val[5], val[6])

                      @static_env.unextend

                      @def_level = val[4]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1156)
  def _reduce_308(val, _values, result)
                          @static_env.extend_static
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1160)
  def _reduce_309(val, _values, result)
                          if in_def?
                        diagnostic :error, :module_in_def, nil, val[0]
                      end

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

                      @static_env.unextend
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1171)
  def _reduce_310(val, _values, result)
                          @def_level += 1
                      @static_env.extend_static
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1176)
  def _reduce_311(val, _values, result)
                          result = @builder.def_method(val[0], val[1],
                                  val[3], val[4], val[5])

                      @static_env.unextend
                      @def_level -= 1
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1184)
  def _reduce_312(val, _values, result)
                          @lexer.state = :expr_fname
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1188)
  def _reduce_313(val, _values, result)
                          @def_level += 1
                      @static_env.extend_static
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1193)
  def _reduce_314(val, _values, result)
                          result = @builder.def_singleton(val[0], val[1], val[2],
                                  val[4], val[6], val[7], val[8])

                      @static_env.unextend
                      @def_level -= 1
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1201)
  def _reduce_315(val, _values, result)
                          result = @builder.keyword_cmd(:break, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1205)
  def _reduce_316(val, _values, result)
                          result = @builder.keyword_cmd(:next, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1209)
  def _reduce_317(val, _values, result)
                          result = @builder.keyword_cmd(:redo, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1213)
  def _reduce_318(val, _values, result)
                          result = @builder.keyword_cmd(:retry, val[0])
                    
    result
  end
.,.,

# reduce 319 omitted

# reduce 320 omitted

# reduce 321 omitted

# reduce 322 omitted

module_eval(<<'.,.,', 'ruby18.y', 1223)
  def _reduce_323(val, _values, result)
                          result = val[1]
                    
    result
  end
.,.,

# reduce 324 omitted

# reduce 325 omitted

# reduce 326 omitted

# reduce 327 omitted

module_eval(<<'.,.,', 'ruby18.y', 1233)
  def _reduce_328(val, _values, result)
                          else_t, else_ = val[4]
                      result = [ val[0],
                                 @builder.condition(val[0], val[1], val[2],
                                                    val[3], else_t,
                                                    else_,  nil),
                               ]
                    
    result
  end
.,.,

# reduce 329 omitted

module_eval(<<'.,.,', 'ruby18.y', 1244)
  def _reduce_330(val, _values, result)
                          result = val
                    
    result
  end
.,.,

# reduce 331 omitted

# reduce 332 omitted

module_eval(<<'.,.,', 'ruby18.y', 1252)
  def _reduce_333(val, _values, result)
                          result = [ @builder.arg_expr(val[0]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1256)
  def _reduce_334(val, _values, result)
                          result = val[0] << @builder.arg_expr(val[2])
                    
    result
  end
.,.,

# reduce 335 omitted

# reduce 336 omitted

module_eval(<<'.,.,', 'ruby18.y', 1263)
  def _reduce_337(val, _values, result)
                          result =  val[0].
                                  push(@builder.blockarg_expr(val[2], val[3]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1268)
  def _reduce_338(val, _values, result)
                          result =  val[0].
                                  push(@builder.restarg_expr(val[2], val[3])).
                                  push(@builder.blockarg_expr(val[5], val[6]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1274)
  def _reduce_339(val, _values, result)
                          result =  val[0].
                                  push(@builder.restarg_expr(val[2])).
                                  push(@builder.blockarg_expr(val[4], val[5]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1280)
  def _reduce_340(val, _values, result)
                          result =  val[0].
                                  push(@builder.restarg_expr(val[2], val[3]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1285)
  def _reduce_341(val, _values, result)
                          result =  val[0].
                                  push(@builder.restarg_expr(val[2]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1290)
  def _reduce_342(val, _values, result)
                          result =  [ @builder.restarg_expr(val[0], val[1]),
                                  @builder.blockarg_expr(val[3], val[4]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1295)
  def _reduce_343(val, _values, result)
                          result =  [ @builder.restarg_expr(val[0]),
                                  @builder.blockarg_expr(val[2], val[3]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1300)
  def _reduce_344(val, _values, result)
                          result =  [ @builder.restarg_expr(val[0], val[1]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1304)
  def _reduce_345(val, _values, result)
                          result =  [ @builder.restarg_expr(val[0]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1308)
  def _reduce_346(val, _values, result)
                          result =  [ @builder.blockarg_expr(val[0], val[1]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1314)
  def _reduce_347(val, _values, result)
                          result = @builder.args(nil, [], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1318)
  def _reduce_348(val, _values, result)
                          result = @builder.args(val[0], [], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1322)
  def _reduce_349(val, _values, result)
                          result = @builder.args(val[0], [], val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1326)
  def _reduce_350(val, _values, result)
                          result = @builder.args(val[0], val[1], val[2], false)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1331)
  def _reduce_351(val, _values, result)
                          @static_env.extend_dynamic
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1335)
  def _reduce_352(val, _values, result)
                          result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1342)
  def _reduce_353(val, _values, result)
                          begin_t, block_args, body, end_t = val[1]
                      result      = @builder.block(val[0],
                                      begin_t, block_args, body, end_t)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1348)
  def _reduce_354(val, _values, result)
                          lparen_t, args, rparen_t = val[3]
                      result = @builder.call_method(val[0], val[1], val[2],
                                  lparen_t, args, rparen_t)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1354)
  def _reduce_355(val, _values, result)
                          lparen_t, args, rparen_t = val[3]
                      result = @builder.call_method(val[0], val[1], val[2],
                                  lparen_t, args, rparen_t)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1361)
  def _reduce_356(val, _values, result)
                          lparen_t, args, rparen_t = val[1]
                      result = @builder.call_method(nil, nil, val[0],
                                  lparen_t, args, rparen_t)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1367)
  def _reduce_357(val, _values, result)
                          lparen_t, args, rparen_t = val[3]
                      result = @builder.call_method(val[0], val[1], val[2],
                                  lparen_t, args, rparen_t)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1373)
  def _reduce_358(val, _values, result)
                          lparen_t, args, rparen_t = val[3]
                      result = @builder.call_method(val[0], val[1], val[2],
                                  lparen_t, args, rparen_t)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1379)
  def _reduce_359(val, _values, result)
                          result = @builder.call_method(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1383)
  def _reduce_360(val, _values, result)
                          lparen_t, args, rparen_t = val[1]
                      result = @builder.keyword_cmd(:super, val[0],
                                  lparen_t, args, rparen_t)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1389)
  def _reduce_361(val, _values, result)
                          result = @builder.keyword_cmd(:zsuper, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1394)
  def _reduce_362(val, _values, result)
                          @static_env.extend_dynamic
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1398)
  def _reduce_363(val, _values, result)
                          result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1404)
  def _reduce_364(val, _values, result)
                          @static_env.extend_dynamic
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1408)
  def _reduce_365(val, _values, result)
                          result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1415)
  def _reduce_366(val, _values, result)
                          result = [ @builder.when(val[0], val[1], val[2], val[3]),
                                 *val[4] ]
                    
    result
  end
.,.,

# reduce 367 omitted

module_eval(<<'.,.,', 'ruby18.y', 1422)
  def _reduce_368(val, _values, result)
                          result = val[0] << @builder.splat(val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1426)
  def _reduce_369(val, _values, result)
                          result = [ @builder.splat(val[0], val[1]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1431)
  def _reduce_370(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

# reduce 371 omitted

module_eval(<<'.,.,', 'ruby18.y', 1437)
  def _reduce_372(val, _values, result)
                          assoc_t, exc_var = val[2]

                      if val[1]
                        exc_list = @builder.array(nil, val[1], nil)
                      end

                      result = [ @builder.rescue_body(val[0],
                                      exc_list, assoc_t, exc_var,
                                      val[3], val[4]),
                                 *val[5] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1450)
  def _reduce_373(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1455)
  def _reduce_374(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

# reduce 375 omitted

# reduce 376 omitted

module_eval(<<'.,.,', 'ruby18.y', 1462)
  def _reduce_377(val, _values, result)
                          result = [ val[0], val[1] ]
                    
    result
  end
.,.,

# reduce 378 omitted

module_eval(<<'.,.,', 'ruby18.y', 1468)
  def _reduce_379(val, _values, result)
                          result = [ val[0], val[1] ]
                    
    result
  end
.,.,

# reduce 380 omitted

# reduce 381 omitted

# reduce 382 omitted

# reduce 383 omitted

module_eval(<<'.,.,', 'ruby18.y', 1478)
  def _reduce_384(val, _values, result)
                          result = @builder.string_compose(nil, val[0], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1483)
  def _reduce_385(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1487)
  def _reduce_386(val, _values, result)
                          result = val[0] << val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1492)
  def _reduce_387(val, _values, result)
                          result = @builder.string_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1496)
  def _reduce_388(val, _values, result)
                          result = @builder.string(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1501)
  def _reduce_389(val, _values, result)
                          result = @builder.xstring_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1506)
  def _reduce_390(val, _values, result)
                          opts   = @builder.regexp_options(val[3])
                      result = @builder.regexp_compose(val[0], val[1], val[2], opts)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1512)
  def _reduce_391(val, _values, result)
                          result = @builder.words_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1517)
  def _reduce_392(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1521)
  def _reduce_393(val, _values, result)
                          result = val[0] << @builder.word(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1526)
  def _reduce_394(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1530)
  def _reduce_395(val, _values, result)
                          result = val[0] << val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1535)
  def _reduce_396(val, _values, result)
                          result = @builder.words_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1540)
  def _reduce_397(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1544)
  def _reduce_398(val, _values, result)
                          result = val[0] << @builder.string_internal(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1549)
  def _reduce_399(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1553)
  def _reduce_400(val, _values, result)
                          result = val[0] << val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1558)
  def _reduce_401(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1562)
  def _reduce_402(val, _values, result)
                          result = val[0] << val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1567)
  def _reduce_403(val, _values, result)
                          result = @builder.string_internal(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1571)
  def _reduce_404(val, _values, result)
                          result = val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1575)
  def _reduce_405(val, _values, result)
                          @lexer.cond.push(false)
                      @lexer.cmdarg.push(false)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1580)
  def _reduce_406(val, _values, result)
                          @lexer.cond.lexpop
                      @lexer.cmdarg.lexpop

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

module_eval(<<'.,.,', 'ruby18.y', 1588)
  def _reduce_407(val, _values, result)
                          result = @builder.gvar(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1592)
  def _reduce_408(val, _values, result)
                          result = @builder.ivar(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1596)
  def _reduce_409(val, _values, result)
                          result = @builder.cvar(val[0])
                    
    result
  end
.,.,

# reduce 410 omitted

module_eval(<<'.,.,', 'ruby18.y', 1603)
  def _reduce_411(val, _values, result)
                          result = @builder.symbol(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1608)
  def _reduce_412(val, _values, result)
                          result = @builder.symbol_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1613)
  def _reduce_413(val, _values, result)
                          result = @builder.integer(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1617)
  def _reduce_414(val, _values, result)
                          result = @builder.float(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1621)
  def _reduce_415(val, _values, result)
                          result = @builder.negate(val[0],
                                  @builder.integer(val[1]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1626)
  def _reduce_416(val, _values, result)
                          result = @builder.negate(val[0],
                                  @builder.float(val[1]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1632)
  def _reduce_417(val, _values, result)
                          result = @builder.ident(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1636)
  def _reduce_418(val, _values, result)
                          result = @builder.ivar(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1640)
  def _reduce_419(val, _values, result)
                          result = @builder.gvar(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1644)
  def _reduce_420(val, _values, result)
                          result = @builder.cvar(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1648)
  def _reduce_421(val, _values, result)
                          result = @builder.const(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1652)
  def _reduce_422(val, _values, result)
                          result = @builder.nil(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1656)
  def _reduce_423(val, _values, result)
                          result = @builder.self(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1660)
  def _reduce_424(val, _values, result)
                          result = @builder.true(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1664)
  def _reduce_425(val, _values, result)
                          result = @builder.false(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1668)
  def _reduce_426(val, _values, result)
                          result = @builder.__FILE__(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1672)
  def _reduce_427(val, _values, result)
                          result = @builder.__LINE__(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1677)
  def _reduce_428(val, _values, result)
                          result = @builder.accessible(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1682)
  def _reduce_429(val, _values, result)
                          result = @builder.assignable(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1687)
  def _reduce_430(val, _values, result)
                          result = @builder.nth_ref(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1691)
  def _reduce_431(val, _values, result)
                          result = @builder.back_ref(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1696)
  def _reduce_432(val, _values, result)
                          result = nil
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1700)
  def _reduce_433(val, _values, result)
                          result = [ val[0], val[1] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1704)
  def _reduce_434(val, _values, result)
                          yyerrok
                      result = nil
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1710)
  def _reduce_435(val, _values, result)
                          result = @builder.args(val[0], val[1], val[3])

                      @lexer.state = :expr_beg
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1716)
  def _reduce_436(val, _values, result)
                          result = @builder.args(nil, val[0], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1721)
  def _reduce_437(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1728)
  def _reduce_438(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1734)
  def _reduce_439(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1740)
  def _reduce_440(val, _values, result)
                          result = val[0].
                                  concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1745)
  def _reduce_441(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1751)
  def _reduce_442(val, _values, result)
                          result = val[0].
                                  concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1756)
  def _reduce_443(val, _values, result)
                          result = val[0].
                                  concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1761)
  def _reduce_444(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1765)
  def _reduce_445(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1770)
  def _reduce_446(val, _values, result)
                          diagnostic :error, :argument_const, nil, val[0]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1774)
  def _reduce_447(val, _values, result)
                          diagnostic :error, :argument_ivar, nil, val[0]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1778)
  def _reduce_448(val, _values, result)
                          diagnostic :error, :argument_gvar, nil, val[0]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1782)
  def _reduce_449(val, _values, result)
                          diagnostic :error, :argument_cvar, nil, val[0]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1786)
  def _reduce_450(val, _values, result)
                          @static_env.declare val[0][0]

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

module_eval(<<'.,.,', 'ruby18.y', 1793)
  def _reduce_451(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1797)
  def _reduce_452(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1802)
  def _reduce_453(val, _values, result)
                          @static_env.declare val[0][0]

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

module_eval(<<'.,.,', 'ruby18.y', 1809)
  def _reduce_454(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1813)
  def _reduce_455(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

# reduce 456 omitted

# reduce 457 omitted

module_eval(<<'.,.,', 'ruby18.y', 1820)
  def _reduce_458(val, _values, result)
                          @static_env.declare val[1][0]

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

module_eval(<<'.,.,', 'ruby18.y', 1826)
  def _reduce_459(val, _values, result)
                          result = [ @builder.restarg(val[0]) ]
                    
    result
  end
.,.,

# reduce 460 omitted

# reduce 461 omitted

module_eval(<<'.,.,', 'ruby18.y', 1833)
  def _reduce_462(val, _values, result)
                          @static_env.declare val[1][0]

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

module_eval(<<'.,.,', 'ruby18.y', 1840)
  def _reduce_463(val, _values, result)
                          result = [ val[1] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1844)
  def _reduce_464(val, _values, result)
                          result = []
                    
    result
  end
.,.,

# reduce 465 omitted

module_eval(<<'.,.,', 'ruby18.y', 1850)
  def _reduce_466(val, _values, result)
                          result = val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1855)
  def _reduce_467(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1859)
  def _reduce_468(val, _values, result)
                          result = val[0]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1863)
  def _reduce_469(val, _values, result)
                          result = @builder.pair_list_18(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1868)
  def _reduce_470(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1872)
  def _reduce_471(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby18.y', 1877)
  def _reduce_472(val, _values, result)
                          result = @builder.pair(val[0], val[1], val[2])
                    
    result
  end
.,.,

# reduce 473 omitted

# reduce 474 omitted

# reduce 475 omitted

# reduce 476 omitted

# reduce 477 omitted

# reduce 478 omitted

# reduce 479 omitted

# reduce 480 omitted

# reduce 481 omitted

# reduce 482 omitted

# reduce 483 omitted

# reduce 484 omitted

# reduce 485 omitted

# reduce 486 omitted

# reduce 487 omitted

# reduce 488 omitted

# reduce 489 omitted

# reduce 490 omitted

# reduce 491 omitted

module_eval(<<'.,.,', 'ruby18.y', 1890)
  def _reduce_492(val, _values, result)
                          yyerrok
                    
    result
  end
.,.,

# reduce 493 omitted

# reduce 494 omitted

# reduce 495 omitted

module_eval(<<'.,.,', 'ruby18.y', 1899)
  def _reduce_496(val, _values, result)
                          result = nil
                    
    result
  end
.,.,

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

  end   # class Ruby18
  end   # module Parser