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

require 'racc/parser.rb'


require 'parser'

module Parser
  class MacRuby < Parser::Base


  def version
    19 # closest released match: v1_9_0_2
  end

  def default_encoding
    Encoding::BINARY
  end
##### State transition tables begin ###

clist = [
'-459,-97,255,763,705,-94,-93,-459,-459,-459,-472,489,-459,-459,-459',
'-80,-459,554,206,466,894,-66,586,512,-459,512,-459,-459,-459,691,692',
'533,799,693,97,98,-459,-459,665,-459,-459,-459,-459,-459,-96,512,-95',
'-86,512,-96,-97,764,512,-94,-91,207,585,203,204,-93,-99,734,894,-95',
'-94,832,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459',
'-459,-459,553,-94,-459,-459,-459,-100,-459,-459,254,665,-459,-99,-98',
'-459,-459,524,-459,920,-459,525,-459,665,-459,-459,-459,-459,-459,-459',
'-459,-537,-459,-85,-459,497,-533,-97,-537,-537,-537,-94,-97,-533,-537',
'-537,-94,-537,-459,-459,-459,-459,629,-459,518,-459,-537,-459,532,103',
'103,103,782,255,102,102,102,-537,-537,207,-537,-537,-537,-537,-537,894',
'-88,-89,103,-534,-96,103,-95,102,103,-96,102,-95,103,102,-87,-86,831',
'102,937,203,204,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537',
'-537,-537,-537,103,-92,-537,-537,-537,102,572,-91,-90,586,-537,255,103',
'-537,203,204,250,102,-537,567,-537,417,-537,-537,-537,-537,-537,-537',
'-537,489,-537,-537,-537,543,566,-87,203,204,254,-537,718,717,586,585',
'763,-462,-537,-537,198,-88,202,-537,-462,-462,-462,-96,538,-462,-462',
'-462,-462,-462,-89,539,-89,937,586,-462,-97,-462,-100,-462,-462,-462',
'103,250,585,-87,-99,102,197,-462,-462,-95,-462,-462,-462,-462,-462,-97',
'-95,-537,813,-92,545,544,548,254,-537,-100,585,-87,247,-533,207,103',
'195,-537,894,248,102,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462',
'-462,-462,-462,-462,-537,207,-462,-462,-462,-89,-462,-462,-403,-472',
'-462,464,-87,-462,-462,-87,-462,207,-462,111,-462,-87,-462,-462,-462',
'-462,-462,-462,-462,-286,-462,949,-462,-469,103,950,-286,-286,-286,102',
'-469,-89,-286,-286,-89,-286,-462,-462,-462,-462,-89,-462,-85,-462,74',
'-462,543,-537,-93,103,-403,777,629,75,102,-286,-286,-403,-286,-286,-286',
'-286,-286,76,952,771,-403,645,644,643,649,646,502,543,894,504,894,771',
'543,645,644,643,649,646,-403,-286,-286,-286,-286,-286,-286,-286,-286',
'-286,-286,-286,-286,-286,-286,-537,543,-286,-286,-286,894,571,-537,545',
'544,-286,956,-533,-286,543,-531,-537,697,-286,937,-286,959,-286,-286',
'-286,-286,-286,-286,-286,960,-286,-468,-286,962,-537,545,544,541,-468',
'-530,545,544,550,-470,935,-537,-286,-286,894,-90,-470,-286,-537,-537',
'-537,-98,847,-537,-537,-537,226,-537,545,544,546,894,502,-462,226,504',
'-537,-537,-537,-537,-462,545,544,555,196,-531,207,-537,-537,-462,-537',
'-537,-537,-537,-537,103,502,-459,223,504,102,-467,225,224,-459,-464',
'223,-531,-467,-530,225,224,-464,-459,203,204,207,-537,-537,-537,-537',
'-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-530,-465,-537,-537',
'-537,-286,719,-537,-465,226,-537,226,-286,-537,-537,226,-537,-534,-537',
'226,-537,-286,-537,-537,-537,-537,-537,-537,-537,207,-537,-537,-537',
'730,-466,645,644,643,649,646,502,-466,-80,501,611,-287,-537,-537,-537',
'-537,-286,-537,-287,-537,207,-96,894,-286,-286,-286,-459,-287,-286,-286',
'-286,226,-286,-459,-534,771,651,645,644,643,649,646,-286,-286,-286,655',
'654,658,657,103,300,301,-286,-286,102,-286,-286,-286,-286,-286,374,203',
'204,223,495,376,375,225,224,221,222,771,767,645,644,643,649,646,622',
'729,576,898,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286',
'-286,-286,103,413,-286,-286,-286,102,720,-286,414,-533,-286,99,767,-286',
'-286,629,-286,415,-286,250,-286,770,-286,-286,-286,-286,-286,-286,-286',
'207,-286,771,-286,645,644,643,649,646,-287,106,107,108,109,110,207,-287',
'-286,-286,-286,-286,661,-286,-266,-286,-287,-98,275,64,65,66,9,52,484',
'485,562,58,59,559,651,518,62,668,60,61,63,28,29,67,68,658,657,203,204',
'556,27,26,25,91,90,92,93,937,771,18,645,644,643,649,646,8,42,696,10',
'95,94,96,85,51,87,86,88,699,89,97,98,-267,83,84,39,40,38,771,706,645',
'644,643,649,646,771,767,645,644,643,649,646,-330,523,-286,770,522,37',
'451,-330,31,-286,366,53,54,451,-534,55,-330,33,-286,777,629,41,771,767',
'645,644,643,649,646,19,651,518,207,722,82,74,77,78,466,79,80,658,657',
'506,75,81,275,64,65,66,9,52,57,464,76,58,59,207,505,651,62,741,60,61',
'63,28,29,67,68,466,658,657,622,207,27,26,25,91,90,92,93,498,771,18,645',
'644,643,649,646,8,42,497,10,95,94,96,85,51,87,86,88,250,89,97,98,226',
'83,84,39,40,38,771,250,645,644,643,649,646,771,767,645,644,643,649,646',
'492,622,-471,881,226,37,226,493,31,-471,882,53,54,491,748,55,415,33',
'-471,880,490,41,771,767,645,644,643,649,646,19,651,-266,752,757,82,74',
'77,78,759,79,80,658,657,762,75,81,275,64,65,66,9,52,57,765,76,58,59',
'773,774,651,62,629,60,61,63,28,29,67,68,781,658,657,207,486,27,26,25',
'91,90,92,93,250,771,18,645,644,643,649,646,8,42,207,10,95,94,96,85,51',
'87,86,88,259,89,97,98,207,83,84,39,40,38,771,482,645,644,643,649,646',
'771,767,645,644,643,649,646,-280,790,528,-280,475,37,-268,-280,277,527',
'-280,53,54,474,207,55,-280,33,529,-280,-65,41,771,767,645,644,643,649',
'646,19,651,466,464,801,82,74,77,78,803,79,80,658,657,806,75,81,275,64',
'65,66,9,52,57,807,76,58,59,729,814,651,62,462,60,61,63,28,29,67,68,207',
'658,657,820,821,27,26,25,91,90,92,93,451,811,18,645,644,643,622,646',
'8,42,206,10,95,94,96,85,51,87,86,88,419,89,97,98,418,83,84,39,40,38',
'811,416,645,644,643,729,646,771,-286,645,644,643,649,646,528,-286,520',
'842,845,37,-534,919,31,521,-286,53,54,763,207,55,529,33,519,849,377',
'41,771,851,645,644,643,649,646,19,651,364,207,857,82,74,77,78,299,79',
'80,658,657,859,75,81,275,64,65,66,9,52,57,207,76,58,59,862,-269,651',
'62,869,60,61,63,28,29,67,68,870,658,657,298,873,27,26,25,91,90,92,93',
'226,875,18,106,107,108,109,110,8,42,464,10,95,94,96,85,51,87,86,88,878',
'89,97,98,480,83,84,39,40,38,226,481,223,883,-287,200,225,224,221,222',
'479,-287,201,207,887,890,240,241,892,37,-287,199,31,894,894,53,54,207',
'899,55,245,33,223,902,229,41,225,224,221,222,-471,903,227,19,228,908',
'910,-471,82,74,77,78,913,79,80,915,-471,,75,81,275,64,65,66,9,52,57',
',76,58,59,,,,62,,60,61,63,28,29,67,68,106,107,108,109,110,27,26,25,91',
'90,92,93,,,18,106,107,108,109,110,8,42,,10,95,94,96,85,51,87,86,88,',
'89,97,98,,83,84,39,40,38,226,-556,-556,-556,-556,232,234,,,-556,-556',
',,,,,240,241,,37,,,31,,,53,54,,,55,,33,223,,229,41,225,224,221,222,233',
'231,227,19,228,,,,82,74,77,78,,79,80,,,,75,81,275,64,65,66,9,52,57,',
'76,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91,90,92,93,,,18',
',,,,,8,42,,10,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,226',
'-556,-556,-556,-556,232,234,,,-556,-556,,,,,,240,241,,37,,,31,,,53,54',
',,55,,33,223,,229,41,225,224,221,222,233,231,227,19,228,,,,82,74,77',
'78,,79,80,,,,75,81,275,64,65,66,9,52,57,,76,58,59,,,,62,,60,61,63,28',
'29,67,68,,,,,,27,26,25,91,90,92,93,,,18,,,,,560,8,42,,10,95,94,96,85',
'51,87,86,88,,89,97,98,,83,84,39,40,38,226,230,235,236,237,232,234,242',
'243,238,239,,219,220,,,240,241,,37,,,31,,,53,54,,,55,,33,223,,229,41',
'225,224,221,222,233,231,227,19,228,,,,82,74,77,78,,79,80,,,,75,81,,244',
'-539,-233,,,57,,76,-539,-539,-539,,,-539,-539,-539,648,-539,645,644',
'643,649,646,,,,-539,-539,-539,-539,,,,,,,,-539,-539,,-539,-539,-539',
'-539,-539,,,,,,,,,651,,,,,,,,,655,654,658,657,,-539,-539,-539,-539,-539',
'-539,-539,-539,-539,-539,-539,-539,-539,-539,,,-539,-539,-539,,,-539',
',,-539,,,-539,-539,,-539,,-539,,-539,,-539,-539,-539,-539,-539,-539',
'-539,,-539,-539,-539,,,,,,,,,,,,,,-539,-539,-539,-539,,-539,,-539,275',
'64,65,66,9,52,,,,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91',
'90,92,93,,,18,,,,,,8,42,,10,95,94,96,85,51,87,86,88,,89,97,98,,83,84',
'39,40,38,226,230,235,236,237,232,234,242,243,238,239,,-556,-556,,,240',
'241,,37,,,31,,,53,54,,,55,,33,223,,229,41,225,224,221,222,233,231,227',
'19,228,,,,82,74,77,78,,79,80,,,,75,81,275,64,65,66,9,52,57,,76,58,59',
',,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91,90,92,93,,,18,,,,,563,8',
'42,,10,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,226,230,235',
'236,237,232,234,242,243,238,239,,219,220,,,240,241,,37,,,31,,,53,54',
',,55,,33,223,,229,41,225,224,221,222,233,231,227,19,228,,,,82,74,77',
'78,,79,80,,,,75,81,,244,-538,,,,57,,76,-538,-538,-538,,,-538,-538,-538',
'648,-538,645,644,643,649,646,,,,-538,-538,-538,-538,,,,,,,,-538,-538',
',-538,-538,-538,-538,-538,,,,,,,,,651,,,,,,,,,655,654,658,657,,-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,5,64,65,66,9,52,,,,58,59,,,,62,,60,61,63,28,29,67,68,,,',
',,27,26,25,91,90,92,93,,,18,,,,,,8,42,7,10,95,94,96,85,51,87,86,88,',
'89,97,98,,83,84,39,40,38,226,230,235,236,237,232,234,242,,238,239,,',
',,,240,241,,37,,,31,,,53,54,,,55,,33,223,,229,41,225,224,221,222,233',
'231,227,19,228,,,,82,74,77,78,,79,80,,,,75,81,275,64,65,66,9,52,57,',
'76,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91,90,92,93,,,18',
',,,,,8,42,,10,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,226',
'-556,-556,-556,-556,232,234,,,-556,-556,,,,,,240,241,,37,,,31,,,53,54',
',,55,,33,223,,229,41,225,224,221,222,233,231,227,19,228,,,,82,74,77',
'78,,79,80,,,,75,81,275,64,65,66,9,52,57,,76,58,59,,,,62,,60,61,63,28',
'29,67,68,,,,,,27,26,25,91,90,92,93,,,18,,,,,,8,42,,10,95,94,96,85,51',
'87,86,88,,89,97,98,,83,84,39,40,38,226,-556,-556,-556,-556,232,234,',
',-556,-556,,,,,,240,241,,37,,,31,,,53,54,,,55,,33,223,,229,41,225,224',
'221,222,233,231,227,19,228,,,,82,74,77,78,,79,80,,,,75,81,275,64,65',
'66,9,52,57,,76,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91,90',
'92,93,,,18,,,,,,8,42,,10,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39',
'40,38,226,-556,-556,-556,-556,232,234,,,-556,-556,,,,,,240,241,,37,',
',31,,,53,54,,,55,,33,223,,229,41,225,224,221,222,233,231,227,19,228',
',,,82,74,77,78,,79,80,,,,75,81,275,64,65,66,9,52,57,,76,58,59,,,,62',
',60,61,63,28,29,67,68,,,,,,27,26,25,91,90,92,93,,,18,,,,,560,8,42,,10',
'95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,226,230,235,236,237',
'232,234,242,243,238,239,,219,220,,,240,241,,37,,,31,,,53,54,,,55,,33',
'223,,229,41,225,224,221,222,233,231,227,19,228,,,,82,74,77,78,,79,80',
',,,75,81,,244,-281,,,,57,,76,-281,-281,-281,,,-281,-281,-281,648,-281',
'645,644,643,649,646,,,,,-281,-281,-281,,,,,,,,-281,-281,,-281,-281,-281',
'-281,-281,,,,,,,,,651,,,,,,,,,655,654,658,657,,-281,-281,-281,-281,-281',
'-281,-281,-281,-281,-281,-281,-281,-281,-281,,,-281,-281,-281,,,-281',
',,-281,,,-281,-281,,-281,,-281,,-281,,-281,-281,-281,-281,-281,-281',
'-281,,-281,,-281,,,,,,,,,,,,,,-281,-281,-281,-281,,-281,,-281,5,64,65',
'66,9,52,,,,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91,90,92',
'93,,,18,,,,,,8,42,7,10,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40',
'38,226,,,,,,,,,,,,,,,,240,241,,37,,,31,,,53,54,,,55,,33,223,,229,41',
'225,224,221,222,,,227,19,228,,,,82,74,77,78,,79,80,,,,75,81,275,64,65',
'66,9,52,57,,76,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91,90',
'92,93,,,18,,,,,,8,42,,10,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39',
'40,38,226,,,,,,,,,,,,,,,,240,241,,37,,,31,,,53,54,,,55,,33,223,,229',
'41,225,224,221,222,,,227,19,228,,,,82,74,77,78,,79,80,,,,75,81,275,64',
'65,66,9,52,57,,76,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91',
'90,92,93,,,18,,,,,,8,42,,10,95,94,96,85,51,87,86,88,,89,97,98,,83,84',
'39,40,38,226,,,,,,,,,,,,,,,,240,241,,37,,,31,,,53,54,,,55,,33,223,,229',
'41,225,224,221,222,,,227,19,228,,,,82,74,77,78,,79,80,,,,75,81,275,64',
'65,66,9,52,57,,76,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91',
'90,92,93,,,18,,,,,,8,42,,10,95,94,96,85,51,87,86,88,,89,97,98,,83,84',
'39,40,38,226,-556,-556,-556,-556,232,234,,,-556,-556,,,,,,240,241,,37',
',,31,,,53,54,,,55,,33,223,,229,41,225,224,221,222,233,231,227,19,228',
',,,82,74,77,78,,79,80,,,,75,81,275,64,65,66,9,52,57,,76,58,59,,,,62',
',60,61,63,28,29,67,68,,,,,,27,26,25,91,90,92,93,,,18,,,,,,8,42,,10,95',
'94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,226,230,235,236,237,232',
'234,,,238,239,,,,,,240,241,,37,,,31,,,53,54,,,55,,33,223,,229,41,225',
'224,221,222,233,231,227,19,228,,,,82,74,77,78,,79,80,,,,75,81,275,64',
'65,66,9,52,57,,76,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91',
'90,92,93,,,18,,,,,,8,42,,10,95,94,96,85,51,87,86,88,,89,97,98,,83,84',
'39,40,38,226,230,235,236,237,232,234,242,243,238,239,,-556,-556,,,240',
'241,,37,,,31,,,53,54,,,55,,33,223,,229,41,225,224,221,222,233,231,227',
'19,228,,,,82,74,77,78,,79,80,,,,75,81,275,64,65,66,9,52,57,,76,58,59',
',,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91,90,92,93,,,18,,,,,,8,42',
',10,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,226,,,,,,,,,,',
',,,,,240,241,,37,,,31,,,53,54,,,55,,33,223,,,41,225,224,221,222,,,,19',
',,,,82,74,77,78,,79,80,,,,75,81,275,64,65,66,9,52,57,,76,58,59,,,,62',
',60,61,63,28,29,67,68,,,,,,27,26,25,91,90,92,93,,,18,,,,,,8,42,,10,95',
'94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,226,,,,,,,,,,,,,,,,240',
'241,,37,,,31,,,53,54,,,55,,33,223,,229,41,225,224,221,222,,,,19,,,,',
'82,74,77,78,,79,80,,,,75,81,275,64,65,66,9,52,57,,76,58,59,,,,62,,60',
'61,63,28,29,67,68,,,,,,27,26,25,91,90,92,93,,,18,,,,,,8,42,,10,95,94',
'96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,226,,,,,,,,,,,,,,,,240,241',
',37,,,31,,,53,54,,,55,,33,223,,229,41,225,224,221,222,,,,19,,,,,82,74',
'77,78,,79,80,,,,75,81,275,64,65,66,9,52,57,,76,58,59,,,,62,,60,61,63',
'28,29,67,68,,,,,,27,26,25,91,90,92,93,,,18,,,,,,8,42,,10,95,94,96,85',
'51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,37,,,277,,',
'53,54,,,55,,33,,,,41,,,,,,,,19,,,,,82,74,77,78,,79,80,,,,75,81,275,64',
'65,66,9,52,57,,76,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91',
'90,92,93,,,18,,,,,,8,42,,10,95,94,96,85,51,87,86,88,,89,97,98,,83,84',
'39,40,38,,,,,,,,,,,,,,,,,,,,37,,,31,,,53,54,,,55,,33,,,,41,,,,,,,,19',
',,,,82,74,77,78,,79,80,,,,75,81,275,64,65,66,9,52,57,,76,58,59,,,,62',
',60,61,63,28,29,67,68,,,,,,27,26,25,91,90,92,93,,,18,,,,,,8,42,,10,95',
'94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,37',
',,31,,,53,54,,,55,,33,,,,41,,,,,,,,19,,,,,82,74,77,78,,79,80,,,,75,81',
'275,64,65,66,9,52,57,,76,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26',
'25,91,90,92,93,,,18,,,,,,8,42,,10,95,94,96,85,51,87,86,88,,89,97,98',
',83,84,39,40,38,,,,,,,,,,,,,,,,,,,,37,,,31,,,53,54,,,55,,33,,,,41,,',
',,,,,19,,,,,82,74,77,78,,79,80,,,,75,81,275,64,65,66,9,52,57,,76,58',
'59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91,90,92,93,,,18,,,,,,8',
'42,,10,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,',
',,,,,,,,37,,,31,,,53,54,,,55,,33,,,,41,,,,,,,,19,,,,,82,74,77,78,,79',
'80,,,,75,81,275,64,65,66,9,52,57,,76,58,59,,,,62,,60,61,63,28,29,67',
'68,,,,,,27,26,25,91,90,92,93,,,18,,,,,,8,42,,10,95,94,96,85,51,87,86',
'88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,37,,,277,,,53,54,,,55',
',33,,,,41,,,,,,,,19,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57',
',76,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91,90,92,93,,,218',
',,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,',
',,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74,77,78',
',79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,28,29,67',
'68,,,,,,27,26,25,91,90,92,93,,,18,,,,,,,42,,,95,94,96,85,51,87,86,88',
',89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55',
',,,,,41,,,,,,,,19,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,',
'76,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91,90,92,93,,,18',
',,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,',
',,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,19,,,,,82,74,77,78',
',79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,28,29,67',
'68,,,,,,27,26,25,91,90,92,93,,,18,,,,,,,42,,,95,94,96,85,51,87,86,88',
',89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55',
',,,,,41,,,,,,,,19,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,',
'76,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91,90,92,93,,,18',
',,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,',
',,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,19,,,,,82,74,77,78',
',79,80,,,,75,81,207,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291,292',
'67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87',
'86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54',
',,55,,,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52',
'57,,76,58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288,294,91,90,92',
'93,,,218,,,,,,,289,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,,730,295',
'645,644,643,649,646,,,,,,,,,,,,,,,827,,,217,,,53,54,,,55,,,,,,651,,',
',,,,,,655,654,658,657,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,',
'76,58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288,294,91,90,92,93',
',,218,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,',
',,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74',
'77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291',
'292,67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85',
'51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,',
',53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65',
'66,,52,57,,76,58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288,294,91',
'90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39',
'40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,216,',
',,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60',
'61,63,291,292,67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,,,,42,,,95',
'94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211',
',,217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81',
',64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288',
'294,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,',
'83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,',
',,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,',
',,62,,60,61,63,291,292,67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,',
',,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,',
',,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74,77,78,,79',
'80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291,292,67,68',
',,,,,287,288,294,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88',
',89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55',
',,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57',
',76,58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288,294,91,90,92,93',
',,218,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,',
',,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74',
'77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291',
'292,67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85',
'51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,',
',53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65',
'66,,52,57,,76,58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288,294,91',
'90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39',
'40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,216,',
',,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60',
'61,63,291,292,67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,,,,42,,,95',
'94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211',
',,217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81',
',64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288',
'294,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,',
'83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,',
',,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,',
',,62,,60,61,63,291,292,67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,',
',,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,',
',,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74,77,78,,79',
'80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291,292,67,68',
',,,,,287,288,294,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88',
',89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55',
',,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57',
',76,58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288,294,91,90,92,93',
',,218,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,',
',,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74',
'77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291',
'292,67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85',
'51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,',
',53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65',
'66,,52,57,,76,58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288,294,91',
'90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39',
'40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,216,',
',,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60',
'61,63,291,292,67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,,,,42,,,95',
'94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211',
',,217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81',
',64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288',
'294,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,',
'83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,',
',,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,',
',,62,,60,61,63,291,292,67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,',
',,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,',
',,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74,77,78,,79',
'80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291,292,67,68',
',,,,,287,288,294,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88',
',89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55',
',,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57',
',76,58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288,294,91,90,92,93',
',,218,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,',
',,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74',
'77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291',
'292,67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85',
'51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,',
',53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65',
'66,,52,57,,76,58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288,294,91',
'90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39',
'40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,216,',
',,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60',
'61,63,291,292,67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,,,,42,,,95',
'94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211',
',,217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81',
',64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288',
'294,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,',
'83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,',
',,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,',
',,62,,60,61,63,291,292,67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,',
',,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,',
',,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74,77,78,,79',
'80,,,,75,81,,64,65,66,9,52,57,,76,58,59,,,,62,,60,61,63,28,29,67,68',
',,,,,27,26,25,91,90,92,93,,,18,,,,,,8,42,7,10,95,94,96,85,51,87,86,88',
',89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,37,,,31,,,53,54,,,55,,33',
',,,41,,,,,,,,19,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76',
'58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288,294,91,90,92,93,,,218',
',,,,,,42,,,95,94,96,85,51,87,86,88,270,89,97,98,,83,84,39,40,38,,,,',
',,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,268,,266,,41,,,,,,,,216,,,,,82',
'74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63',
'28,29,67,68,,,,,,27,26,25,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51',
'87,86,88,270,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,',
',53,54,,,55,,268,,266,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81',
',64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25',
'91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88,270,89,97,98,,83',
'84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,456,54,,,55,,268,,266,,41',
',,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59',
',,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91,90,92,93,,,218,,,,,,,42',
',,95,94,96,85,51,87,86,88,270,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,',
',,,,,,211,,,217,,,53,54,,,55,,268,,266,,41,,,,,,,,216,,,,,82,74,77,78',
',79,80,,,,75,81,207,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291,292',
'67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87',
'86,88,270,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53',
'54,,,55,,268,,266,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64',
'65,66,,52,57,,76,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91',
'90,92,93,,,18,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39',
'40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,19,,',
',,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61',
'63,291,292,67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,,,,42,,,95,94',
'96,85,51,87,86,88,270,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211',
',,217,,,53,54,,,55,,,,266,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75',
'81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287',
'288,294,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88,270,89',
'97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,606',
',266,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57',
',76,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91,90,92,93,,,18',
',,,,,,42,,,95,94,96,85,51,87,86,88,270,89,97,98,,83,84,39,40,38,,,,',
',,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,266,,41,,,,,,,,19,,,,,82,74',
'77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,28',
'29,67,68,,,,,,27,26,25,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87',
'86,88,270,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53',
'54,,,55,,268,,266,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64',
'65,66,,52,57,,76,58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288,294',
'91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84',
'39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,606,,266,,41,,,',
',,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,',
',,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91,90,92,93,,,218,,,,,,,42',
',,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,',
',,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80',
',,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291,292,67,68,,',
',,,287,288,294,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88',
'270,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,',
'55,,606,,266,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66',
',52,57,,76,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91,90,92',
'93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88,270,89,97,98,,83,84,39,40',
'38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,268,,266,,41,,,,,,,,216',
',,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60',
'61,63,28,29,67,68,,,,,,27,26,25,91,90,92,93,,,218,,,,,,,42,,,95,94,96',
'85,51,87,86,88,270,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,',
',217,,,53,54,,,55,,268,,266,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,',
',75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27',
'26,25,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88,270,89,97',
'98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,268,,266',
',41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76',
'58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288,294,91,90,92,93,,,218',
',,,,,,289,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,,648,295,645,644',
'643,649,646,,,,,,,,,,,,,,,285,,,282,,,53,54,,,55,,281,,,,651,,,,,,,',
',655,654,658,657,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58',
'59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288,294,91,90,92,93,,,218',
',,,,,,289,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,,,295,226,230,235',
'236,237,232,234,242,243,238,239,,219,220,,,240,241,,285,,,217,,,53,54',
',,55,,,223,,229,,225,224,221,222,233,231,227,,228,,,,82,74,77,78,,79',
'80,,,,75,81,,244,,297,,,57,,76,64,65,66,,52,,,,58,59,,,,62,,60,61,63',
'291,292,67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,,,,289,,,95,94,96',
'85,51,87,86,88,,89,97,98,,83,84,,648,295,645,644,643,649,646,,,,,,,',
',,,,,,,872,,,217,,,53,54,,,55,,,,,,651,,,,,,,,,655,654,658,657,82,74',
'77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291',
'292,67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85',
'51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,',
',53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65',
'66,,52,57,,76,58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288,294,91',
'90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39',
'40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,216,',
',,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60',
'61,63,291,292,67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,,,,42,,,95',
'94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211',
',,217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81',
',64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288',
'294,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,',
'83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,',
',,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,',
',,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91,90,92,93,,,18,,,,,,,42,',
',95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,',
',,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,19,,,,,82,74,77,78,,79,80,,',
',75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291,292,67,68,,,,',
',287,288,294,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88,270',
'89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,',
'268,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57',
',76,58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288,294,91,90,92,93',
',,218,,,,,,,42,,,95,94,96,85,51,87,86,88,270,89,97,98,,83,84,39,40,38',
',,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82',
'74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63',
'28,29,67,68,,,,,,27,26,25,91,90,92,93,,,18,,,,,,,42,,,95,94,96,85,51',
'87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53',
'54,,,55,,,,,,41,,,,,,,,19,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66',
',52,57,,76,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91,90,92',
'93,,,18,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38',
',,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,19,,,,,82,74',
'77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,28',
'29,67,68,,,,,,27,26,25,91,90,92,93,,,18,,,,,,,42,,,95,94,96,85,51,87',
'86,88,,89,97,98,,83,84,39,40,38,226,230,235,236,237,232,234,242,243',
'238,239,,219,220,,,240,241,,211,,-233,217,,,53,54,,,55,,,223,,229,41',
'225,224,221,222,233,231,227,19,228,,,,82,74,77,78,,79,80,,,,75,81,103',
'244,,-233,,102,57,,76,64,65,66,,52,,,,58,59,,,,62,,60,61,63,291,292',
'67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,,,,289,,,95,94,96,85,51',
'87,86,88,,89,97,98,,83,84,,648,295,645,644,643,649,646,,,,,,,,,,,,,',
',329,,,31,,,53,54,,,55,,33,,,,651,686,,,,,,,,655,654,658,657,82,74,77',
'78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291,292',
'67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,,,,289,,,95,94,96,334,51',
'87,86,335,,89,97,98,,83,84,,648,295,645,644,643,649,646,,,,,,,,,,,,341',
',,336,,,217,,,53,54,,,55,,,,,,651,637,,,,,,,,655,654,658,657,82,74,77',
'78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291,292',
'67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,,,,289,,,95,94,96,334,51',
'87,86,335,,89,97,98,,83,84,,730,295,645,644,643,649,646,,,,,,,,,,,,',
',,336,,,217,,,53,54,,,55,,,,,,651,,,,,,,,,655,654,658,657,82,74,77,78',
',79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291,292,67',
'68,,,,,,287,288,294,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86',
'88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,',
'55,,606,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,9',
'52,57,,76,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91,90,92,93',
',,18,,,,,,8,42,7,10,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38',
'226,230,235,236,237,232,234,242,243,238,239,,219,220,,,240,241,,37,',
',31,,,53,54,,,55,,33,223,,229,41,225,224,221,222,233,231,227,19,228',
',,,82,74,77,78,,79,80,,,,75,81,,244,,,,366,57,,76,64,65,66,,52,,,,58',
'59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288,294,91,90,92,93,,,218',
',,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,',
',,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74,77,78',
',79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,28,29,67',
'68,,,,,,27,26,25,91,90,92,93,,,18,,,,,,,42,,,95,94,96,85,51,87,86,88',
',89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55',
',,,,,41,,,,,,,,19,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,',
'76,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91,90,92,93,,,18',
',,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,',
',,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,19,,,,,82,74,77,78',
',79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,28,29,67',
'68,,,,,,27,26,25,91,90,92,93,,,18,,,,,,,42,,,95,94,96,85,51,87,86,88',
',89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55',
',,,,,41,,,,,,,,19,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,9,52,57',
',76,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91,90,92,93,,,18',
',,,,,8,42,,10,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,,',
',,,,,,,,,,,,,,,37,,,31,,,53,54,,,55,,33,,,,41,,,,,,,,19,,,,,82,74,77',
'78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,28,29',
'67,68,,,,,,27,26,25,91,90,92,93,,,18,,,,,,,42,,,95,94,96,85,51,87,86',
'88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,',
'55,,,,,,41,,,,,,,,19,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57',
',76,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91,90,92,93,,,218',
',,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,',
',,,,,,,,,,,,211,,,217,,,53,54,,,55,,383,,,,41,,,,,,,,216,,,,,82,74,77',
'78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,28,29',
'67,68,,,,,,27,26,25,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86',
'88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,',
'55,,383,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,',
'52,57,,76,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91,90,92,93',
',,218,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,',
',,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74',
'77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,28',
'29,67,68,,,,,,27,26,25,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87',
'86,88,270,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53',
'54,,,55,,268,,266,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64',
'65,66,,52,57,,76,58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288,294',
'91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84',
'39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,216',
',,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60',
'61,63,291,292,67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,,,,42,,,95',
'94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211',
',,217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81',
',64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288',
'294,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,',
'83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,',
',,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,',
',,62,,60,61,63,291,292,67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,',
',,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,',
',,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74,77,78,,79',
'80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291,292,67,68',
',,,,,287,288,294,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88',
',89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55',
',,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57',
',76,58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288,294,91,90,92,93',
',,218,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,',
',,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74',
'77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291',
'292,67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85',
'51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,',
',53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65',
'66,9,52,57,,76,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91,90',
'92,93,,,18,,,,,,8,42,,10,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39',
'40,38,,,,,,,,,,,,,,,,,,,,37,,,31,,,53,54,,,55,,33,,,,41,,,,,,,,19,,',
',,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61',
'63,291,292,67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,,,,42,,,95,94',
'96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,',
',217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81',
',64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25',
'91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84',
'39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,216',
',,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60',
'61,63,291,292,67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,,,,42,,,95',
'94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211',
',,217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81',
',64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288',
'294,91,90,92,93,,,218,,,,,,,289,,,95,94,96,85,51,87,86,88,,89,97,98',
',83,84,,,295,226,230,235,236,237,232,234,242,243,238,239,,219,220,,',
'240,241,,285,,,217,,,53,54,,,55,,,223,,229,,225,224,221,222,233,231',
'227,,228,,,,82,74,77,78,,79,80,,,,75,81,207,244,,477,,,57,,76,64,65',
'66,,52,,,,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91,90,92,93',
',,18,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,',
',,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,19,,,,,82,74',
'77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291',
'292,67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,,,,289,,,95,94,96,85',
'51,87,86,88,,89,97,98,,83,84,,730,295,645,644,643,649,646,,,,,,,,,,',
',,,,285,,,282,,,53,54,,,55,,,,,,651,,,,,,,,,655,654,658,657,82,74,77',
'78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291,292',
'67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,,,,289,,,95,94,96,85,51',
'87,86,88,,89,97,98,,83,84,,648,295,645,644,643,649,646,,,,,,,,,,,,,',
',285,,,282,,,53,54,,,55,,,,,,651,686,,,,,,,,655,654,658,657,82,74,77',
'78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291,292',
'67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87',
'86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,495,,53',
'54,,,55,,,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66',
',52,57,,76,58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288,294,91,90',
'92,93,,,218,,,,,,,289,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,,,295',
',,,,,,,,,,,,,,,,,,,285,,,282,,,53,54,,,55,,,,,,,,,,,,,,,,,,,82,74,77',
'78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291,292',
'67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87',
'86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54',
',,55,,,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52',
'57,,76,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91,90,92,93,',
',18,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,',
',,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,19,,,,,82,74,77',
'78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,28,29',
'67,68,,,,,,27,26,25,91,90,92,93,,,18,,,,,,,42,,,95,94,96,85,51,87,86',
'88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,',
'55,,,,,,41,,,,,,,,19,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57',
',76,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91,90,92,93,,,218',
',,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,',
',,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74,77,78',
',79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,28,29,67',
'68,,,,,,27,26,25,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88',
',89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55',
',,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57',
',76,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91,90,92,93,,,218',
',,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,',
',,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74,77,78',
',79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,28,29,67',
'68,,,,,,27,26,25,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88',
',89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55',
',,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57',
',76,58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288,294,91,90,92,93',
',,218,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,',
',,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74',
'77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291',
'292,67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85',
'51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,',
',53,54,,,55,,703,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64',
'65,66,,52,57,,76,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91',
'90,92,93,,,18,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39',
'40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,19,,',
',,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61',
'63,291,292,67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,,,,42,,,95,94',
'96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,',
',217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81',
',64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25',
'91,90,92,93,,,18,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84',
'39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,19',
',,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60',
'61,63,28,29,67,68,,,,,,27,26,25,91,90,92,93,,,218,,,,,,,42,,,95,94,96',
'85,51,87,86,88,270,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,',
',217,,,53,54,,,55,,268,,266,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,',
',75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27',
'26,25,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88,270,89,97',
'98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,268,,266',
',41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76',
'58,59,,,,62,,60,61,63,28,29,67,68,,,,,,27,26,25,91,90,92,93,,,18,,,',
',,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,',
',,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,19,,,,,82,74,77,78,,79',
'80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291,292,67,68',
',,,,,287,288,294,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88',
',89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55',
',268,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52',
'57,,76,58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288,294,91,90,92',
'93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38',
',,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82',
'74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63',
'291,292,67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,,,,42,,,95,94,96',
'85,51,87,86,88,270,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,',
',217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81',
',64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288',
'294,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88,270,89,97,98',
',83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,606,,,,41',
',,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59',
',,,62,,60,61,63,291,292,67,68,,,,,,287,288,294,91,90,92,93,,,218,,,',
',,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,',
',,,,,,,,,211,,,217,,,53,54,,,55,,383,,,,41,,,,,,,,216,,,,,82,74,77,78',
',79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,28,29,67',
'68,,,,,,27,26,25,91,90,92,93,,,18,,,,,,,42,,,95,94,96,85,51,87,86,88',
',89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55',
',,,,,41,,,,,,,,19,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,',
'76,58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288,294,91,90,92,93',
',,218,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,',
',,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74',
'77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,28',
'29,67,68,,,,,,27,26,25,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87',
'86,88,270,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53',
'54,,,55,,268,,266,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64',
'65,66,,52,57,,76,58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288,294',
'91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84',
'39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,216',
',,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60',
'61,63,291,292,67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,,,,42,,,95',
'94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211',
',,217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81',
',64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288',
'294,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,',
'83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,',
',,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,',
',,62,,60,61,63,291,292,67,68,,,,,,287,288,294,91,90,92,93,,,218,,,,',
',,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38,,,,,,,,,,,',
',,,,,,,,211,,,217,,,53,54,,,55,,,,,,41,,,,,,,,216,,,,,82,74,77,78,,79',
'80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,291,292,67,68',
',,,,,287,288,294,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88',
',89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55',
',,,,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66,,52,57',
',76,58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288,294,91,90,92,93',
',,218,,,,,,,289,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,,,295,,,',
',,,,,,,,,,,,,,,,285,,,282,,,53,54,,,55,,,,,,,,,,,,,,,,,,,82,74,77,78',
',79,80,,,,75,81,,64,65,66,,52,57,,76,58,59,,,,62,,60,61,63,28,29,67',
'68,,,,,,27,26,25,91,90,92,93,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88',
'270,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,',
'55,,268,,266,,41,,,,,,,,216,,,,,82,74,77,78,,79,80,,,,75,81,,64,65,66',
',52,57,,76,58,59,,,,62,,60,61,63,291,292,67,68,,,,,,287,288,294,91,90',
'92,93,,,218,,,,,,,289,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,,,295',
',,,,,,,,,,,,,,,,,,,285,,,282,,,53,54,,,55,,,,,,,,,,,,,,,,,,,82,74,77',
'78,,79,80,,,,75,81,,64,65,66,9,52,57,,76,58,59,,,,62,,60,61,63,28,29',
'67,68,,,,,,27,26,25,91,90,92,93,,,18,,,,,,8,42,,10,95,94,96,85,51,87',
'86,88,,89,97,98,,83,84,39,40,38,226,230,235,236,237,232,234,242,243',
'238,239,,219,220,,,240,241,,37,,,31,,,53,54,,,55,,33,223,,229,41,225',
'224,221,222,233,231,227,19,228,,,,82,74,77,78,,79,80,,,,75,81,,244,-239',
',,366,57,,76,-239,-239,-239,,,-239,-239,-239,,-239,,,,,,,,,,-239,,,',
',,,,,,-239,-239,,-239,-239,-239,-239,-239,,,,,,,,,,,,-239,,,,,,,-239',
'-239,-239,,,-239,-239,-239,,-239,,,,,,-239,,,,-239,,,-239,,,,,250,-239',
'-239,-239,,-239,-239,-239,-239,-239,,,,,,,,,,,,,,-239,,,,,,,,,-293,',
',,,-239,,-293,-293,-293,-239,-239,-293,-293,-293,,-293,,-239,,,,,250',
'-239,,-293,-293,,,,,,,,,-293,-293,,-293,-293,-293,-293,-293,,,-239,',
',,,,,,,,,,,,-239,,,,,-239,-293,-293,-293,-293,-293,-293,-293,-293,-293',
'-293,-293,-293,-293,-293,,,-293,-293,-293,,,-293,,259,-293,,,-293,-293',
',-293,,-293,,-293,,-293,-293,-293,-293,-293,-293,-293,-402,-293,,-293',
',,,-402,-402,-402,,,-402,-402,-402,,-402,-293,-293,,-293,,-293,,,-402',
'-402,-402,,,,,,,,,-402,-402,,-402,-402,-402,-402,-402,,,,,,,,,,,,,,',
',,,,,,,,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402',
'-402,-402,,,-402,-402,-402,,,-402,,250,-402,,,-402,-402,,-402,,-402',
',-402,,-402,-402,-402,-402,-402,-402,-402,-239,-402,-402,-402,,,,-239',
'-239,-239,,,-239,-239,-239,,-239,-402,-402,,-402,,-402,,,-239,-239,-239',
',,,,,,,,-239,-239,,-239,-239,-239,-239,-239,,,,,,,,,,,,,,,,,,,,,,,-239',
'-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,,,-239',
'-239,-239,,,-239,,250,-239,,,-239,-239,,-239,,-239,,-239,,-239,-239',
'-239,-239,-239,-239,-239,,-239,-239,-239,,,,,,,,,,,,,,-239,-239,,-239',
',-239,162,173,163,186,159,179,169,168,189,190,184,167,166,161,187,191',
'192,171,160,174,178,180,172,165,,,,181,188,183,182,175,185,170,158,177',
'176,,,,,,157,164,155,156,152,153,154,114,116,,,115,,,,,,,,147,148,,144',
'126,127,128,135,132,134,,,129,130,,,,149,150,136,137,,,,,,,,,,,,,,141',
'140,,125,146,143,142,138,139,133,131,123,145,124,,,151,82,,,,,,,,,,',
'81,162,173,163,186,159,179,169,168,189,190,184,167,166,161,187,191,192',
'171,160,174,178,180,172,165,,,,181,188,183,182,175,185,170,158,177,176',
',,,,,157,164,155,156,152,153,154,114,116,,,115,,,,,,,,147,148,,144,126',
'127,128,135,132,134,,,129,130,,,,149,150,136,137,,,,,,,,,,,,,,141,140',
',125,146,143,142,138,139,133,131,123,145,124,,,151,82,,,,,,,,,,,81,162',
'173,163,186,159,179,169,168,189,190,184,167,166,161,187,191,192,171',
'160,174,178,180,172,165,,,,181,188,183,182,175,185,170,158,177,176,',
',,,,157,164,155,156,152,153,154,114,116,,,115,,,,,,,,147,148,,144,126',
'127,128,135,132,134,,,129,130,,,,149,150,136,137,,,,,,,,,,,,,,141,140',
',125,146,143,142,138,139,133,131,123,145,124,,,151,82,,,,,,,,,,,81,162',
'173,163,186,159,179,169,168,189,190,184,167,166,161,187,191,192,171',
'160,174,178,180,172,165,,,,181,188,183,182,175,185,170,158,177,176,',
',,,,157,164,155,156,152,153,154,114,116,113,,115,,,,,,,,147,148,,144',
'126,127,128,135,132,134,,,129,130,,,,149,150,136,137,,,,,,,,,,,,,,141',
'140,,125,146,143,142,138,139,133,131,123,145,124,,,151,82,,,,,,,,,,',
'81,162,173,163,186,159,179,169,168,189,190,184,167,166,161,187,191,192',
'171,160,174,178,180,172,165,,,,181,188,183,182,175,185,170,158,177,176',
',,,,,157,164,155,156,152,153,154,114,116,,,115,,,,,,,,147,148,,144,126',
'127,128,135,132,134,,,129,130,,,,149,150,136,137,,,,,,,,,,,,,,141,140',
',125,146,143,142,138,139,133,131,123,145,124,,,151,162,173,163,186,159',
'179,169,168,189,190,184,167,166,161,187,191,192,171,160,174,178,180',
'172,165,,,,181,188,183,351,350,352,349,158,177,176,,,,,,157,164,155',
'156,346,347,348,344,116,87,86,345,,89,,,,,,147,148,,144,126,127,128',
'135,132,134,,,129,130,,,,149,150,136,137,,,,,,356,,,,,,,,141,140,,125',
'146,143,142,138,139,133,131,123,145,124,392,396,151,,393,,,,,,,,147',
'148,,144,126,127,128,135,132,134,,,129,130,,,,149,150,136,137,,,,,,250',
',,,,,,,141,140,,125,146,143,142,138,139,133,131,123,145,124,399,403',
'151,,398,,,,,,,,147,148,,144,126,127,128,135,132,134,,,129,130,,,,149',
'150,136,137,,,,,,250,,,,,,,,141,140,,125,146,143,142,138,139,133,131',
'123,145,124,448,396,151,,449,,,,,,,,147,148,,144,126,127,128,135,132',
'134,,,129,130,,,,149,150,136,137,,,,,,,,,,,,,,141,140,,125,146,143,142',
'138,139,133,131,123,145,124,448,396,151,,449,,,,,,,,147,148,,144,126',
'127,128,135,132,134,,,129,130,,,,149,150,136,137,,,,,,,,,,,,,,141,140',
',125,146,143,142,138,139,133,131,123,145,124,577,396,151,,578,,,,,,',
',147,148,,144,126,127,128,135,132,134,,,129,130,,,,149,150,136,137,',
',,,,250,,,,,,,,141,140,,125,146,143,142,138,139,133,131,123,145,124',
'579,403,151,,580,,,,,,,,147,148,,144,126,127,128,135,132,134,,,129,130',
',,,149,150,136,137,,,,,,250,,,,,,,,141,140,,125,146,143,142,138,139',
'133,131,123,145,124,615,396,151,,616,,,,,,,,147,148,,144,126,127,128',
'135,132,134,,,129,130,,,,149,150,136,137,,,,,,250,,,,,,,,141,140,,125',
'146,143,142,138,139,133,131,123,145,124,618,403,151,,619,,,,,,,,147',
'148,,144,126,127,128,135,132,134,,,129,130,,,,149,150,136,137,,,,,,250',
',,,,,,,141,140,,125,146,143,142,138,139,133,131,123,145,124,577,396',
'151,,578,,,,,,,,147,148,,144,126,127,128,135,132,134,,,129,130,,,,149',
'150,136,137,,,,,,250,,,,,,,,141,140,,125,146,143,142,138,139,133,131',
'123,145,124,579,403,151,,580,,,,,,,,147,148,,144,126,127,128,135,132',
'134,,,129,130,,,,149,150,136,137,,,,,,250,,,,,,,,141,140,,125,146,143',
'142,138,139,133,131,123,145,124,671,396,151,,672,,,,,,,,147,148,,144',
'126,127,128,135,132,134,,,129,130,,,,149,150,136,137,,,,,,250,,,,,,',
',141,140,,125,146,143,142,138,139,133,131,123,145,124,673,403,151,,674',
',,,,,,,147,148,,144,126,127,128,135,132,134,,,129,130,,,,149,150,136',
'137,,,,,,250,,,,,,,,141,140,,125,146,143,142,138,139,133,131,123,145',
'124,676,403,151,,677,,,,,,,,147,148,,144,126,127,128,135,132,134,,,129',
'130,,,,149,150,136,137,,,,,,250,,,,,,,,141,140,,125,146,143,142,138',
'139,133,131,123,145,124,448,396,151,,449,,,,,,,,147,148,,144,126,127',
'128,135,132,134,,,129,130,,,,149,150,136,137,,,,,,250,,,,,,,,141,140',
',125,146,143,142,138,139,133,131,123,145,124,924,396,151,,925,,,,,,',
',147,148,,144,126,127,128,135,132,134,,,129,130,,,,149,150,136,137,',
',,,,250,,,,,,,,141,140,,125,146,143,142,138,139,133,131,123,145,124',
'926,403,151,,927,,,,,,,,147,148,,144,126,127,128,135,132,134,,,129,130',
',,,149,150,136,137,,,,,,250,,,,,,,,141,140,,125,146,143,142,138,139',
'133,131,123,145,124,946,403,151,,945,,,,,,,,147,148,,144,126,127,128',
'135,132,134,,,129,130,,,,149,150,136,137,,,,,,250,,,,,,,,141,140,,125',
'146,143,142,138,139,133,131,123,145,124,,,151,226,230,235,236,237,232',
'234,242,243,238,239,,219,220,,,240,241,,,,,,,,,,,,,,,223,,229,,225,224',
'221,222,233,231,227,,228,,226,230,235,236,237,232,234,242,243,238,239',
',219,220,,244,240,241,,,,,,,,,,,,,,,223,,229,,225,224,221,222,233,231',
'227,,228,,226,230,235,236,237,232,234,242,243,238,239,,219,220,,244',
'240,241,,,,,,,,,,,,,,,223,,229,,225,224,221,222,233,231,227,,228,,226',
'230,235,236,237,232,234,242,243,238,239,,219,220,,244,240,241,,,,,,',
',,,,,,,,223,,229,,225,224,221,222,233,231,227,,228,,226,230,235,236',
'237,232,234,242,243,238,239,,219,220,,244,240,241,,,,,,,,,,,,,,,223',
',229,,225,224,221,222,233,231,227,,228,,226,230,235,236,237,232,234',
'242,243,238,239,,219,220,,244,240,241,,,,,,,,,,,,,,,223,,229,,225,224',
'221,222,233,231,227,,228,,226,230,235,236,237,232,234,242,243,238,239',
',219,220,,244,240,241,,,,,,,,,,,,,,,223,,229,,225,224,221,222,233,231',
'227,,228,,226,230,235,236,237,232,234,242,243,238,239,,219,220,,244',
'240,241,,,,,,,,,,,,,,,223,,229,,225,224,221,222,233,231,227,,228,,226',
'230,235,236,237,232,234,242,243,238,239,,219,220,,244,240,241,,,,,,',
',,,,,,,,223,,229,,225,224,221,222,233,231,227,,228,,226,230,235,236',
'237,232,234,242,243,238,239,,219,220,,244,240,241,,,,,,,,,,,,,,,223',
',229,,225,224,221,222,233,231,227,,228,,,,,,,,,,,,,,,,,244' ]
        racc_action_table = arr = ::Array.new(23613, 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 = [
'85,925,56,648,564,948,327,85,85,85,210,299,85,85,85,610,85,362,18,595',
'866,610,458,669,85,850,85,85,85,544,544,340,721,544,544,544,85,85,514',
'85,85,85,85,85,926,751,924,564,320,673,672,648,321,564,299,18,458,626',
'626,210,299,595,868,671,784,755,85,85,85,85,85,85,85,85,85,85,85,85',
'85,85,362,721,85,85,85,330,85,85,56,515,85,522,674,85,85,336,85,872',
'85,336,85,785,85,85,85,85,85,85,85,399,85,327,85,879,673,925,399,399',
'399,948,925,926,399,399,948,399,85,85,85,85,855,85,855,85,399,85,340',
'669,514,850,669,24,669,514,850,399,399,626,399,399,399,399,399,966,673',
'672,340,674,926,751,924,340,320,926,751,924,321,320,671,784,755,321',
'967,534,534,399,399,399,399,399,399,399,399,399,399,399,399,399,399',
'515,330,399,399,399,515,399,522,674,446,399,290,785,399,540,540,24,785',
'399,393,399,212,399,399,399,399,399,399,399,416,399,399,399,360,392',
'615,410,410,24,676,578,577,592,446,730,88,399,399,13,399,15,399,88,88',
'88,399,354,88,88,88,345,88,393,354,616,900,457,345,393,88,212,88,88',
'88,534,290,592,392,416,534,12,88,88,392,88,88,88,88,88,578,577,676,730',
'15,360,360,360,290,676,15,457,615,23,676,540,3,10,676,968,23,3,88,88',
'88,88,88,88,88,88,88,88,88,88,88,88,676,410,88,88,88,616,88,88,744,36',
'88,921,615,88,88,615,88,923,88,7,88,615,88,88,88,88,88,88,88,398,88',
'928,88,346,324,929,398,398,398,324,346,616,398,398,616,398,88,88,88',
'88,616,88,36,88,72,88,551,618,36,681,744,938,938,72,681,398,398,744',
'398,398,398,398,398,72,930,898,744,898,898,898,898,898,312,358,931,312',
'932,770,361,770,770,770,770,770,744,398,398,398,398,398,398,398,398',
'398,398,398,398,398,398,618,359,398,398,398,933,398,618,551,551,398',
'934,618,398,363,335,618,551,398,936,398,939,398,398,398,398,398,398',
'398,940,398,347,398,941,618,358,358,358,347,334,361,361,361,348,898',
'579,398,398,942,398,348,398,579,579,579,398,770,579,579,579,422,579',
'359,359,359,943,315,335,423,315,579,579,579,579,335,363,363,363,11,335',
'453,579,579,335,579,579,579,579,579,533,635,334,422,635,533,349,422',
'422,334,350,423,335,349,334,423,423,350,334,319,319,459,579,579,579',
'579,579,579,579,579,579,579,579,579,579,579,334,351,579,579,579,927',
'579,579,351,427,579,426,927,579,579,425,579,927,579,424,579,927,579',
'579,579,579,579,579,579,472,579,579,579,585,352,585,585,585,585,585',
'311,352,473,311,476,482,579,579,579,579,580,579,482,579,478,579,944',
'580,580,580,344,482,580,580,580,441,580,344,945,845,585,845,845,845',
'845,845,580,580,580,585,585,585,585,273,38,38,580,580,273,580,580,580',
'580,580,113,309,309,441,483,113,113,441,441,441,441,651,845,651,651',
'651,651,651,487,585,412,845,580,580,580,580,580,580,580,580,580,580',
'580,580,580,580,687,209,580,580,580,687,580,580,209,946,580,1,651,580',
'580,496,580,209,580,400,580,651,580,580,580,580,580,580,580,499,580',
'915,580,915,915,915,915,915,525,471,471,471,471,471,390,525,580,580',
'580,580,511,580,386,580,525,580,907,907,907,907,907,907,295,295,384',
'907,907,378,915,516,907,517,907,907,907,907,907,907,907,915,915,16,16',
'372,907,907,907,907,907,907,907,957,767,907,767,767,767,767,767,907',
'907,548,907,907,907,907,907,907,907,907,907,554,907,907,907,561,907',
'907,907,907,907,899,565,899,899,899,899,899,762,767,762,762,762,762',
'762,43,331,619,767,329,907,568,43,907,619,326,907,907,573,619,907,43',
'907,619,660,660,907,952,899,952,952,952,952,952,907,762,325,581,583',
'907,907,907,907,316,907,907,762,762,314,907,907,901,901,901,901,901',
'901,907,596,907,901,901,598,313,952,901,603,901,901,901,901,901,901',
'901,605,952,952,612,614,901,901,901,901,901,901,901,308,935,901,935',
'935,935,935,935,901,901,307,901,901,901,901,901,901,901,901,901,617',
'901,901,901,304,901,901,901,901,901,956,620,956,956,956,956,956,962',
'935,962,962,962,962,962,302,621,825,826,624,901,625,302,901,825,826',
'901,901,301,627,901,302,901,825,826,300,901,913,956,913,913,913,913',
'913,901,962,630,631,639,901,901,901,901,640,901,901,962,962,641,901',
'901,31,31,31,31,31,31,901,649,901,31,31,656,659,913,31,662,31,31,31',
'31,31,31,31,667,913,913,670,296,31,31,31,31,31,31,31,294,847,31,847',
'847,847,847,847,31,31,289,31,31,31,31,31,31,31,31,31,288,31,31,31,679',
'31,31,31,31,31,937,285,937,937,937,937,937,890,847,890,890,890,890,890',
'828,684,338,286,280,31,702,828,31,338,286,31,31,279,278,31,828,31,338',
'286,276,31,892,937,892,892,892,892,892,31,890,267,264,723,31,31,31,31',
'724,31,31,890,890,725,31,31,629,629,629,629,629,629,31,727,31,629,629',
'728,732,892,629,263,629,629,629,629,629,629,629,737,892,892,738,739',
'629,629,629,629,629,629,629,249,729,629,729,729,729,743,729,629,629',
'218,629,629,629,629,629,629,629,629,629,214,629,629,629,213,629,629',
'629,629,629,870,211,870,870,870,756,870,894,677,894,894,894,894,894',
'871,677,328,763,769,629,677,871,629,328,677,629,629,771,772,629,871',
'629,328,775,193,629,806,778,806,806,806,806,806,629,894,99,42,787,629',
'629,629,629,37,629,629,894,894,791,629,629,510,510,510,510,510,510,629',
'792,629,510,510,795,796,806,510,808,510,510,510,510,510,510,510,809',
'806,806,35,815,510,510,510,510,510,510,510,442,816,510,274,274,274,274',
'274,510,510,818,510,510,510,510,510,510,510,510,510,822,510,510,510',
'284,510,510,510,510,510,435,284,442,827,883,14,442,442,442,442,284,883',
'14,833,834,835,435,435,838,510,883,14,510,839,841,510,510,844,846,510',
'21,510,435,852,435,510,435,435,435,435,283,853,435,510,435,858,863,283',
'510,510,510,510,864,510,510,865,283,,510,510,780,780,780,780,780,780',
'510,,510,780,780,,,,780,,780,780,780,780,780,780,780,6,6,6,6,6,780,780',
'780,780,780,780,780,,,780,609,609,609,609,609,780,780,,780,780,780,780',
'780,780,780,780,780,,780,780,780,,780,780,780,780,780,439,439,439,439',
'439,439,439,,,439,439,,,,,,439,439,,780,,,780,,,780,780,,,780,,780,439',
',439,780,439,439,439,439,439,439,439,780,439,,,,780,780,780,780,,780',
'780,,,,780,780,885,885,885,885,885,885,780,,780,885,885,,,,885,,885',
'885,885,885,885,885,885,,,,,,885,885,885,885,885,885,885,,,885,,,,,',
'885,885,,885,885,885,885,885,885,885,885,885,,885,885,885,,885,885,885',
'885,885,438,438,438,438,438,438,438,,,438,438,,,,,,438,438,,885,,,885',
',,885,885,,,885,,885,438,,438,885,438,438,438,438,438,438,438,885,438',
',,,885,885,885,885,,885,885,,,,885,885,884,884,884,884,884,884,885,',
'885,884,884,,,,884,,884,884,884,884,884,884,884,,,,,,884,884,884,884',
'884,884,884,,,884,,,,,381,884,884,,884,884,884,884,884,884,884,884,884',
',884,884,884,,884,884,884,884,884,381,381,381,381,381,381,381,381,381',
'381,381,,381,381,,,381,381,,884,,,884,,,884,884,,,884,,884,381,,381',
'884,381,381,381,381,381,381,381,884,381,,,,884,884,884,884,,884,884',
',,,884,884,,381,404,381,,,884,,884,404,404,404,,,404,404,404,759,404',
'759,759,759,759,759,,,,404,404,404,404,,,,,,,,404,404,,404,404,404,404',
'404,,,,,,,,,759,,,,,,,,,759,759,759,759,,404,404,404,404,404,404,404',
'404,404,404,404,404,404,404,,,404,404,404,,,404,,,404,,,404,404,,404',
',404,,404,,404,404,404,404,404,404,404,,404,404,404,,,,,,,,,,,,,,404',
'404,404,404,,404,,404,789,789,789,789,789,789,,,,789,789,,,,789,,789',
'789,789,789,789,789,789,,,,,,789,789,789,789,789,789,789,,,789,,,,,',
'789,789,,789,789,789,789,789,789,789,789,789,,789,789,789,,789,789,789',
'789,789,420,420,420,420,420,420,420,420,420,420,420,,420,420,,,420,420',
',789,,,789,,,789,789,,,789,,789,420,,420,789,420,420,420,420,420,420',
'420,789,420,,,,789,789,789,789,,789,789,,,,789,789,587,587,587,587,587',
'587,789,,789,587,587,,,,587,,587,587,587,587,587,587,587,,,,,,587,587',
'587,587,587,587,587,,,587,,,,,389,587,587,,587,587,587,587,587,587,587',
'587,587,,587,587,587,,587,587,587,587,587,389,389,389,389,389,389,389',
'389,389,389,389,,389,389,,,389,389,,587,,,587,,,587,587,,,587,,587,389',
',389,587,389,389,389,389,389,389,389,587,389,,,,587,587,587,587,,587',
'587,,,,587,587,,389,403,,,,587,,587,403,403,403,,,403,403,403,757,403',
'757,757,757,757,757,,,,403,403,403,403,,,,,,,,403,403,,403,403,403,403',
'403,,,,,,,,,757,,,,,,,,,757,757,757,757,,403,403,403,403,403,403,403',
'403,403,403,403,403,403,403,,,403,403,403,,,403,,,403,,,403,403,,403',
',403,,403,,403,403,403,403,403,403,403,,403,403,403,,,,,,,,,,,,,,403',
'403,403,403,,403,,403,111,111,111,111,111,111,,,,111,111,,,,111,,111',
'111,111,111,111,111,111,,,,,,111,111,111,111,111,111,111,,,111,,,,,',
'111,111,111,111,111,111,111,111,111,111,111,111,,111,111,111,,111,111',
'111,111,111,444,444,444,444,444,444,444,444,,444,444,,,,,,444,444,,111',
',,111,,,111,111,,,111,,111,444,,444,111,444,444,444,444,444,444,444',
'111,444,,,,111,111,111,111,,111,111,,,,111,111,779,779,779,779,779,779',
'111,,111,779,779,,,,779,,779,779,779,779,779,779,779,,,,,,779,779,779',
'779,779,779,779,,,779,,,,,,779,779,,779,779,779,779,779,779,779,779',
'779,,779,779,779,,779,779,779,779,779,437,437,437,437,437,437,437,,',
'437,437,,,,,,437,437,,779,,,779,,,779,779,,,779,,779,437,,437,779,437',
'437,437,437,437,437,437,779,437,,,,779,779,779,779,,779,779,,,,779,779',
'195,195,195,195,195,195,779,,779,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,436,436',
'436,436,436,436,436,,,436,436,,,,,,436,436,,195,,,195,,,195,195,,,195',
',195,436,,436,195,436,436,436,436,436,436,436,195,436,,,,195,195,195',
'195,,195,195,,,,195,195,600,600,600,600,600,600,195,,195,600,600,,,',
'600,,600,600,600,600,600,600,600,,,,,,600,600,600,600,600,600,600,,',
'600,,,,,,600,600,,600,600,600,600,600,600,600,600,600,,600,600,600,',
'600,600,600,600,600,440,440,440,440,440,440,440,,,440,440,,,,,,440,440',
',600,,,600,,,600,600,,,600,,600,440,,440,600,440,440,440,440,440,440',
'440,600,440,,,,600,600,600,600,,600,600,,,,600,600,783,783,783,783,783',
'783,600,,600,783,783,,,,783,,783,783,783,783,783,783,783,,,,,,783,783',
'783,783,783,783,783,,,783,,,,,582,783,783,,783,783,783,783,783,783,783',
'783,783,,783,783,783,,783,783,783,783,783,582,582,582,582,582,582,582',
'582,582,582,582,,582,582,,,582,582,,783,,,783,,,783,783,,,783,,783,582',
',582,783,582,582,582,582,582,582,582,783,582,,,,783,783,783,783,,783',
'783,,,,783,783,,582,51,,,,783,,783,51,51,51,,,51,51,51,637,51,637,637',
'637,637,637,,,,,51,51,51,,,,,,,,51,51,,51,51,51,51,51,,,,,,,,,637,,',
',,,,,,637,637,637,637,,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,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,434,,,,,,,,,,,,,,,,434,434,,0,,,0,,,0,0,,,0,,0,434,,434,0,434,434',
'434,434,,,434,0,434,,,,0,0,0,0,,0,0,,,,0,0,680,680,680,680,680,680,0',
',0,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,433,,,,,,,,,,,,,,,,433,433,,680,,',
'680,,,680,680,,,680,,680,433,,433,680,433,433,433,433,,,433,680,433',
',,,680,680,680,680,,680,680,,,,680,680,52,52,52,52,52,52,680,,680,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,432,,,,,,,',
',,,,,,,,432,432,,52,,,52,,,52,52,,,52,,52,432,,432,52,432,432,432,432',
',,432,52,432,,,,52,52,52,52,,52,52,,,,52,52,513,513,513,513,513,513',
'52,,52,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,431,431,431,431,431,431,431,,',
'431,431,,,,,,431,431,,513,,,513,,,513,513,,,513,,513,431,,431,513,431',
'431,431,431,431,431,431,513,431,,,,513,513,513,513,,513,513,,,,513,513',
'733,733,733,733,733,733,513,,513,733,733,,,,733,,733,733,733,733,733',
'733,733,,,,,,733,733,733,733,733,733,733,,,733,,,,,,733,733,,733,733',
'733,733,733,733,733,733,733,,733,733,733,,733,733,733,733,733,443,443',
'443,443,443,443,443,,,443,443,,,,,,443,443,,733,,,733,,,733,733,,,733',
',733,443,,443,733,443,443,443,443,443,443,443,733,443,,,,733,733,733',
'733,,733,733,,,,733,733,824,824,824,824,824,824,733,,733,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,824,824,824,,824,824,824,',
'824,824,824,824,824,421,421,421,421,421,421,421,421,421,421,421,,421',
'421,,,421,421,,824,,,824,,,824,824,,,824,,824,421,,421,824,421,421,421',
'421,421,421,421,824,421,,,,824,824,824,824,,824,824,,,,824,824,535,535',
'535,535,535,535,824,,824,535,535,,,,535,,535,535,535,535,535,535,535',
',,,,,535,535,535,535,535,535,535,,,535,,,,,,535,535,,535,535,535,535',
'535,535,535,535,535,,535,535,535,,535,535,535,535,535,430,,,,,,,,,,',
',,,,,430,430,,535,,,535,,,535,535,,,535,,535,430,,,535,430,430,430,430',
',,,535,,,,,535,535,535,535,,535,535,,,,535,535,601,601,601,601,601,601',
'535,,535,601,601,,,,601,,601,601,601,601,601,601,601,,,,,,601,601,601',
'601,601,601,601,,,601,,,,,,601,601,,601,601,601,601,601,601,601,601',
'601,,601,601,601,,601,601,601,601,601,429,,,,,,,,,,,,,,,,429,429,,601',
',,601,,,601,601,,,601,,601,429,,429,601,429,429,429,429,,,,601,,,,,601',
'601,601,601,,601,601,,,,601,601,685,685,685,685,685,685,601,,601,685',
'685,,,,685,,685,685,685,685,685,685,685,,,,,,685,685,685,685,685,685',
'685,,,685,,,,,,685,685,,685,685,685,685,685,685,685,685,685,,685,685',
'685,,685,685,685,685,685,428,,,,,,,,,,,,,,,,428,428,,685,,,685,,,685',
'685,,,685,,685,428,,428,685,428,428,428,428,,,,685,,,,,685,685,685,685',
',685,685,,,,685,685,282,282,282,282,282,282,685,,685,282,282,,,,282',
',282,282,282,282,282,282,282,,,,,,282,282,282,282,282,282,282,,,282',
',,,,,282,282,,282,282,282,282,282,282,282,282,282,,282,282,282,,282',
'282,282,282,282,,,,,,,,,,,,,,,,,,,,282,,,282,,,282,282,,,282,,282,,',
',282,,,,,,,,282,,,,,282,282,282,282,,282,282,,,,282,282,695,695,695',
'695,695,695,282,,282,695,695,,,,695,,695,695,695,695,695,695,695,,,',
',,695,695,695,695,695,695,695,,,695,,,,,,695,695,,695,695,695,695,695',
'695,695,695,695,,695,695,695,,695,695,695,695,695,,,,,,,,,,,,,,,,,,',
',695,,,695,,,695,695,,,695,,695,,,,695,,,,,,,,695,,,,,695,695,695,695',
',695,695,,,,695,695,748,748,748,748,748,748,695,,695,748,748,,,,748',
',748,748,748,748,748,748,748,,,,,,748,748,748,748,748,748,748,,,748',
',,,,,748,748,,748,748,748,748,748,748,748,748,748,,748,748,748,,748',
'748,748,748,748,,,,,,,,,,,,,,,,,,,,748,,,748,,,748,748,,,748,,748,,',
',748,,,,,,,,748,,,,,748,748,748,748,,748,748,,,,748,748,909,909,909',
'909,909,909,748,,748,909,909,,,,909,,909,909,909,909,909,909,909,,,',
',,909,909,909,909,909,909,909,,,909,,,,,,909,909,,909,909,909,909,909',
'909,909,909,909,,909,909,909,,909,909,909,909,909,,,,,,,,,,,,,,,,,,',
',909,,,909,,,909,909,,,909,,909,,,,909,,,,,,,,909,,,,,909,909,909,909',
',909,909,,,,909,909,217,217,217,217,217,217,909,,909,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,217,277,277,277',
'277,277,277,217,,217,277,277,,,,277,,277,277,277,277,277,277,277,,,',
',,277,277,277,277,277,277,277,,,277,,,,,,277,277,,277,277,277,277,277',
'277,277,277,277,,277,277,277,,277,277,277,277,277,,,,,,,,,,,,,,,,,,',
',277,,,277,,,277,277,,,277,,277,,,,277,,,,,,,,277,,,,,277,277,277,277',
',277,277,,,,277,277,,202,202,202,,202,277,,277,202,202,,,,202,,202,202',
'202,202,202,202,202,,,,,,202,202,202,202,202,202,202,,,202,,,,,,,202',
',,202,202,202,202,202,202,202,202,,202,202,202,,202,202,202,202,202',
',,,,,,,,,,,,,,,,,,,202,,,202,,,202,202,,,202,,,,,,202,,,,,,,,202,,,',
',202,202,202,202,,202,202,,,,202,202,,203,203,203,,203,202,,202,203',
'203,,,,203,,203,203,203,203,203,203,203,,,,,,203,203,203,203,203,203',
'203,,,203,,,,,,,203,,,203,203,203,203,203,203,203,203,,203,203,203,',
'203,203,203,203,203,,,,,,,,,,,,,,,,,,,,203,,,203,,,203,203,,,203,,,',
',,203,,,,,,,,203,,,,,203,203,203,203,,203,203,,,,203,203,,204,204,204',
',204,203,,203,204,204,,,,204,,204,204,204,204,204,204,204,,,,,,204,204',
'204,204,204,204,204,,,204,,,,,,,204,,,204,204,204,204,204,204,204,204',
',204,204,204,,204,204,204,204,204,,,,,,,,,,,,,,,,,,,,204,,,204,,,204',
'204,,,204,,,,,,204,,,,,,,,204,,,,,204,204,204,204,,204,204,,,,204,204',
',205,205,205,,205,204,,204,205,205,,,,205,,205,205,205,205,205,205,205',
',,,,,205,205,205,205,205,205,205,,,205,,,,,,,205,,,205,205,205,205,205',
'205,205,205,,205,205,205,,205,205,205,205,205,,,,,,,,,,,,,,,,,,,,205',
',,205,,,205,205,,,205,,,,,,205,,,,,,,,205,,,,,205,205,205,205,,205,205',
',,,205,205,,206,206,206,,206,205,,205,206,206,,,,206,,206,206,206,206',
'206,206,206,,,,,,206,206,206,206,206,206,206,,,206,,,,,,,206,,,206,206',
'206,206,206,206,206,206,,206,206,206,,206,206,206,206,206,,,,,,,,,,',
',,,,,,,,,206,,,206,,,206,206,,,206,,,,,,206,,,,,,,,206,,,,,206,206,206',
'206,,206,206,,,,206,206,206,764,764,764,,764,206,,206,764,764,,,,764',
',764,764,764,764,764,764,764,,,,,,764,764,764,764,764,764,764,,,764',
',,,,,,764,,,764,764,764,764,764,764,764,764,,764,764,764,,764,764,764',
'764,764,,,,,,,,,,,,,,,,,,,,764,,,764,,,764,764,,,764,,,,,,764,,,,,,',
',764,,,,,764,764,764,764,,764,764,,,,764,764,,752,752,752,,752,764,',
'764,752,752,,,,752,,752,752,752,752,752,752,752,,,,,,752,752,752,752',
'752,752,752,,,752,,,,,,,752,,,752,752,752,752,752,752,752,752,,752,752',
'752,,752,752,,910,752,910,910,910,910,910,,,,,,,,,,,,,,,752,,,752,,',
'752,752,,,752,,,,,,910,,,,,,,,,910,910,910,910,752,752,752,752,,752',
'752,,,,752,752,,216,216,216,,216,752,,752,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,,219,219,219,,219,216,,216,219,219,,,,219',
',219,219,219,219,219,219,219,,,,,,219,219,219,219,219,219,219,,,219',
',,,,,,219,,,219,219,219,219,219,219,219,219,,219,219,219,,219,219,219',
'219,219,,,,,,,,,,,,,,,,,,,,219,,,219,,,219,219,,,219,,,,,,219,,,,,,',
',219,,,,,219,219,219,219,,219,219,,,,219,219,,220,220,220,,220,219,',
'219,220,220,,,,220,,220,220,220,220,220,220,220,,,,,,220,220,220,220',
'220,220,220,,,220,,,,,,,220,,,220,220,220,220,220,220,220,220,,220,220',
'220,,220,220,220,220,220,,,,,,,,,,,,,,,,,,,,220,,,220,,,220,220,,,220',
',,,,,220,,,,,,,,220,,,,,220,220,220,220,,220,220,,,,220,220,,221,221',
'221,,221,220,,220,221,221,,,,221,,221,221,221,221,221,221,221,,,,,,221',
'221,221,221,221,221,221,,,221,,,,,,,221,,,221,221,221,221,221,221,221',
'221,,221,221,221,,221,221,221,221,221,,,,,,,,,,,,,,,,,,,,221,,,221,',
',221,221,,,221,,,,,,221,,,,,,,,221,,,,,221,221,221,221,,221,221,,,,221',
'221,,222,222,222,,222,221,,221,222,222,,,,222,,222,222,222,222,222,222',
'222,,,,,,222,222,222,222,222,222,222,,,222,,,,,,,222,,,222,222,222,222',
'222,222,222,222,,222,222,222,,222,222,222,222,222,,,,,,,,,,,,,,,,,,',
',222,,,222,,,222,222,,,222,,,,,,222,,,,,,,,222,,,,,222,222,222,222,',
'222,222,,,,222,222,,223,223,223,,223,222,,222,223,223,,,,223,,223,223',
'223,223,223,223,223,,,,,,223,223,223,223,223,223,223,,,223,,,,,,,223',
',,223,223,223,223,223,223,223,223,,223,223,223,,223,223,223,223,223',
',,,,,,,,,,,,,,,,,,,223,,,223,,,223,223,,,223,,,,,,223,,,,,,,,223,,,',
',223,223,223,223,,223,223,,,,223,223,,224,224,224,,224,223,,223,224',
'224,,,,224,,224,224,224,224,224,224,224,,,,,,224,224,224,224,224,224',
'224,,,224,,,,,,,224,,,224,224,224,224,224,224,224,224,,224,224,224,',
'224,224,224,224,224,,,,,,,,,,,,,,,,,,,,224,,,224,,,224,224,,,224,,,',
',,224,,,,,,,,224,,,,,224,224,224,224,,224,224,,,,224,224,,225,225,225',
',225,224,,224,225,225,,,,225,,225,225,225,225,225,225,225,,,,,,225,225',
'225,225,225,225,225,,,225,,,,,,,225,,,225,225,225,225,225,225,225,225',
',225,225,225,,225,225,225,225,225,,,,,,,,,,,,,,,,,,,,225,,,225,,,225',
'225,,,225,,,,,,225,,,,,,,,225,,,,,225,225,225,225,,225,225,,,,225,225',
',226,226,226,,226,225,,225,226,226,,,,226,,226,226,226,226,226,226,226',
',,,,,226,226,226,226,226,226,226,,,226,,,,,,,226,,,226,226,226,226,226',
'226,226,226,,226,226,226,,226,226,226,226,226,,,,,,,,,,,,,,,,,,,,226',
',,226,,,226,226,,,226,,,,,,226,,,,,,,,226,,,,,226,226,226,226,,226,226',
',,,226,226,,227,227,227,,227,226,,226,227,227,,,,227,,227,227,227,227',
'227,227,227,,,,,,227,227,227,227,227,227,227,,,227,,,,,,,227,,,227,227',
'227,227,227,227,227,227,,227,227,227,,227,227,227,227,227,,,,,,,,,,',
',,,,,,,,,227,,,227,,,227,227,,,227,,,,,,227,,,,,,,,227,,,,,227,227,227',
'227,,227,227,,,,227,227,,228,228,228,,228,227,,227,228,228,,,,228,,228',
'228,228,228,228,228,228,,,,,,228,228,228,228,228,228,228,,,228,,,,,',
',228,,,228,228,228,228,228,228,228,228,,228,228,228,,228,228,228,228',
'228,,,,,,,,,,,,,,,,,,,,228,,,228,,,228,228,,,228,,,,,,228,,,,,,,,228',
',,,,228,228,228,228,,228,228,,,,228,228,,229,229,229,,229,228,,228,229',
'229,,,,229,,229,229,229,229,229,229,229,,,,,,229,229,229,229,229,229',
'229,,,229,,,,,,,229,,,229,229,229,229,229,229,229,229,,229,229,229,',
'229,229,229,229,229,,,,,,,,,,,,,,,,,,,,229,,,229,,,229,229,,,229,,,',
',,229,,,,,,,,229,,,,,229,229,229,229,,229,229,,,,229,229,,230,230,230',
',230,229,,229,230,230,,,,230,,230,230,230,230,230,230,230,,,,,,230,230',
'230,230,230,230,230,,,230,,,,,,,230,,,230,230,230,230,230,230,230,230',
',230,230,230,,230,230,230,230,230,,,,,,,,,,,,,,,,,,,,230,,,230,,,230',
'230,,,230,,,,,,230,,,,,,,,230,,,,,230,230,230,230,,230,230,,,,230,230',
',231,231,231,,231,230,,230,231,231,,,,231,,231,231,231,231,231,231,231',
',,,,,231,231,231,231,231,231,231,,,231,,,,,,,231,,,231,231,231,231,231',
'231,231,231,,231,231,231,,231,231,231,231,231,,,,,,,,,,,,,,,,,,,,231',
',,231,,,231,231,,,231,,,,,,231,,,,,,,,231,,,,,231,231,231,231,,231,231',
',,,231,231,,232,232,232,,232,231,,231,232,232,,,,232,,232,232,232,232',
'232,232,232,,,,,,232,232,232,232,232,232,232,,,232,,,,,,,232,,,232,232',
'232,232,232,232,232,232,,232,232,232,,232,232,232,232,232,,,,,,,,,,',
',,,,,,,,,232,,,232,,,232,232,,,232,,,,,,232,,,,,,,,232,,,,,232,232,232',
'232,,232,232,,,,232,232,,233,233,233,,233,232,,232,233,233,,,,233,,233',
'233,233,233,233,233,233,,,,,,233,233,233,233,233,233,233,,,233,,,,,',
',233,,,233,233,233,233,233,233,233,233,,233,233,233,,233,233,233,233',
'233,,,,,,,,,,,,,,,,,,,,233,,,233,,,233,233,,,233,,,,,,233,,,,,,,,233',
',,,,233,233,233,233,,233,233,,,,233,233,,234,234,234,,234,233,,233,234',
'234,,,,234,,234,234,234,234,234,234,234,,,,,,234,234,234,234,234,234',
'234,,,234,,,,,,,234,,,234,234,234,234,234,234,234,234,,234,234,234,',
'234,234,234,234,234,,,,,,,,,,,,,,,,,,,,234,,,234,,,234,234,,,234,,,',
',,234,,,,,,,,234,,,,,234,234,234,234,,234,234,,,,234,234,,235,235,235',
',235,234,,234,235,235,,,,235,,235,235,235,235,235,235,235,,,,,,235,235',
'235,235,235,235,235,,,235,,,,,,,235,,,235,235,235,235,235,235,235,235',
',235,235,235,,235,235,235,235,235,,,,,,,,,,,,,,,,,,,,235,,,235,,,235',
'235,,,235,,,,,,235,,,,,,,,235,,,,,235,235,235,235,,235,235,,,,235,235',
',236,236,236,,236,235,,235,236,236,,,,236,,236,236,236,236,236,236,236',
',,,,,236,236,236,236,236,236,236,,,236,,,,,,,236,,,236,236,236,236,236',
'236,236,236,,236,236,236,,236,236,236,236,236,,,,,,,,,,,,,,,,,,,,236',
',,236,,,236,236,,,236,,,,,,236,,,,,,,,236,,,,,236,236,236,236,,236,236',
',,,236,236,,237,237,237,,237,236,,236,237,237,,,,237,,237,237,237,237',
'237,237,237,,,,,,237,237,237,237,237,237,237,,,237,,,,,,,237,,,237,237',
'237,237,237,237,237,237,,237,237,237,,237,237,237,237,237,,,,,,,,,,',
',,,,,,,,,237,,,237,,,237,237,,,237,,,,,,237,,,,,,,,237,,,,,237,237,237',
'237,,237,237,,,,237,237,,238,238,238,,238,237,,237,238,238,,,,238,,238',
'238,238,238,238,238,238,,,,,,238,238,238,238,238,238,238,,,238,,,,,',
',238,,,238,238,238,238,238,238,238,238,,238,238,238,,238,238,238,238',
'238,,,,,,,,,,,,,,,,,,,,238,,,238,,,238,238,,,238,,,,,,238,,,,,,,,238',
',,,,238,238,238,238,,238,238,,,,238,238,,239,239,239,,239,238,,238,239',
'239,,,,239,,239,239,239,239,239,239,239,,,,,,239,239,239,239,239,239',
'239,,,239,,,,,,,239,,,239,239,239,239,239,239,239,239,,239,239,239,',
'239,239,239,239,239,,,,,,,,,,,,,,,,,,,,239,,,239,,,239,239,,,239,,,',
',,239,,,,,,,,239,,,,,239,239,239,239,,239,239,,,,239,239,,240,240,240',
',240,239,,239,240,240,,,,240,,240,240,240,240,240,240,240,,,,,,240,240',
'240,240,240,240,240,,,240,,,,,,,240,,,240,240,240,240,240,240,240,240',
',240,240,240,,240,240,240,240,240,,,,,,,,,,,,,,,,,,,,240,,,240,,,240',
'240,,,240,,,,,,240,,,,,,,,240,,,,,240,240,240,240,,240,240,,,,240,240',
',241,241,241,,241,240,,240,241,241,,,,241,,241,241,241,241,241,241,241',
',,,,,241,241,241,241,241,241,241,,,241,,,,,,,241,,,241,241,241,241,241',
'241,241,241,,241,241,241,,241,241,241,241,241,,,,,,,,,,,,,,,,,,,,241',
',,241,,,241,241,,,241,,,,,,241,,,,,,,,241,,,,,241,241,241,241,,241,241',
',,,241,241,,242,242,242,,242,241,,241,242,242,,,,242,,242,242,242,242',
'242,242,242,,,,,,242,242,242,242,242,242,242,,,242,,,,,,,242,,,242,242',
'242,242,242,242,242,242,,242,242,242,,242,242,242,242,242,,,,,,,,,,',
',,,,,,,,,242,,,242,,,242,242,,,242,,,,,,242,,,,,,,,242,,,,,242,242,242',
'242,,242,242,,,,242,242,,243,243,243,,243,242,,242,243,243,,,,243,,243',
'243,243,243,243,243,243,,,,,,243,243,243,243,243,243,243,,,243,,,,,',
',243,,,243,243,243,243,243,243,243,243,,243,243,243,,243,243,243,243',
'243,,,,,,,,,,,,,,,,,,,,243,,,243,,,243,243,,,243,,,,,,243,,,,,,,,243',
',,,,243,243,243,243,,243,243,,,,243,243,,244,244,244,,244,243,,243,244',
'244,,,,244,,244,244,244,244,244,244,244,,,,,,244,244,244,244,244,244',
'244,,,244,,,,,,,244,,,244,244,244,244,244,244,244,244,,244,244,244,',
'244,244,244,244,244,,,,,,,,,,,,,,,,,,,,244,,,244,,,244,244,,,244,,,',
',,244,,,,,,,,244,,,,,244,244,244,244,,244,244,,,,244,244,,5,5,5,5,5',
'244,,244,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,,741,741,741,,741,5,,5,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,,741,,,,,,,,741,,,,,741,741,741,741,,741,741,,,,741,741,,250,250',
'250,,250,741,,741,250,250,,,,250,,250,250,250,250,250,250,250,,,,,,250',
'250,250,250,250,250,250,,,250,,,,,,,250,,,250,250,250,250,250,250,250',
'250,250,250,250,250,,250,250,250,250,250,,,,,,,,,,,,,,,,,,,,250,,,250',
',,250,250,,,250,,250,,250,,250,,,,,,,,250,,,,,250,250,250,250,,250,250',
',,,250,250,,251,251,251,,251,250,,250,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,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,251,,259,259,259,,259,251,,251,259,259',
',,,259,,259,259,259,259,259,259,259,,,,,,259,259,259,259,259,259,259',
',,259,,,,,,,259,,,259,259,259,259,259,259,259,259,259,259,259,259,,259',
'259,259,259,259,,,,,,,,,,,,,,,,,,,,259,,,259,,,259,259,,,259,,259,,259',
',259,,,,,,,,259,,,,,259,259,259,259,,259,259,,,,259,259,259,734,734',
'734,,734,259,,259,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,,106,106,106,,106,734,,734,106,106,,,,106,,106,106,106,106',
'106,106,106,,,,,,106,106,106,106,106,106,106,,,106,,,,,,,106,,,106,106',
'106,106,106,106,106,106,,106,106,106,,106,106,106,106,106,,,,,,,,,,',
',,,,,,,,,106,,,106,,,106,106,,,106,,,,,,106,,,,,,,,106,,,,,106,106,106',
'106,,106,106,,,,106,106,,464,464,464,,464,106,,106,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,,462,462,462,,462,464',
',464,462,462,,,,462,,462,462,462,462,462,462,462,,,,,,462,462,462,462',
'462,462,462,,,462,,,,,,,462,,,462,462,462,462,462,462,462,462,462,462',
'462,462,,462,462,462,462,462,,,,,,,,,,,,,,,,,,,,462,,,462,,,462,462',
',,462,,462,,462,,462,,,,,,,,462,,,,,462,462,462,462,,462,462,,,,462',
'462,,456,456,456,,456,462,,462,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,,880,880,880,,880,456,,456,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,,878,878,878,,878',
'880,,880,878,878,,,,878,,878,878,878,878,878,878,878,,,,,,878,878,878',
'878,878,878,878,,,878,,,,,,,878,,,878,878,878,878,878,878,878,878,,878',
'878,878,,878,878,878,878,878,,,,,,,,,,,,,,,,,,,,878,,,878,,,878,878',
',,878,,878,,878,,878,,,,,,,,878,,,,,878,878,878,878,,878,878,,,,878',
'878,,19,19,19,,19,878,,878,19,19,,,,19,,19,19,19,19,19,19,19,,,,,,19',
'19,19,19,19,19,19,,,19,,,,,,,19,,,19,19,19,19,19,19,19,19,,19,19,19',
',19,19,19,19,19,,,,,,,,,,,,,,,,,,,,19,,,19,,,19,19,,,19,,,,,,19,,,,',
',,,19,,,,,19,19,19,19,,19,19,,,,19,19,,875,875,875,,875,19,,19,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,875,,,,,,,,,,,,,,,,,,,,875,,,875,,,875,875,,,875,,875,,875',
',875,,,,,,,,875,,,,,875,875,875,875,,875,875,,,,875,875,,27,27,27,,27',
'875,,875,27,27,,,,27,,27,27,27,27,27,27,27,,,,,,27,27,27,27,27,27,27',
',,27,,,,,,,27,,,27,27,27,27,27,27,27,27,27,27,27,27,,27,27,27,27,27',
',,,,,,,,,,,,,,,,,,,27,,,27,,,27,27,,,27,,27,,27,,27,,,,,,,,27,,,,,27',
'27,27,27,,27,27,,,,27,27,,28,28,28,,28,27,,27,28,28,,,,28,,28,28,28',
'28,28,28,28,,,,,,28,28,28,28,28,28,28,,,28,,,,,,,28,,,28,28,28,28,28',
'28,28,28,28,28,28,28,,28,28,28,28,28,,,,,,,,,,,,,,,,,,,,28,,,28,,,28',
'28,,,28,,28,,28,,28,,,,,,,,28,,,,,28,28,28,28,,28,28,,,,28,28,,29,29',
'29,,29,28,,28,29,29,,,,29,,29,29,29,29,29,29,29,,,,,,29,29,29,29,29',
'29,29,,,29,,,,,,,29,,,29,29,29,29,29,29,29,29,29,29,29,29,,29,29,29',
'29,29,,,,,,,,,,,,,,,,,,,,29,,,29,,,29,29,,,29,,29,,29,,29,,,,,,,,29',
',,,,29,29,29,29,,29,29,,,,29,29,,32,32,32,,32,29,,29,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,,887,32,887,887,887,887,887,,,,,,,,',
',,,,,,32,,,32,,,32,32,,,32,,32,,,,887,,,,,,,,,887,887,887,887,32,32',
'32,32,,32,32,,,,32,32,,33,33,33,,33,32,,32,33,33,,,,33,,33,33,33,33',
'33,33,33,,,,,,33,33,33,33,33,33,33,,,33,,,,,,,33,,,33,33,33,33,33,33',
'33,33,,33,33,33,,33,33,,,33,623,623,623,623,623,623,623,623,623,623',
'623,,623,623,,,623,623,,33,,,33,,,33,33,,,33,,,623,,623,,623,623,623',
'623,623,623,623,,623,,,,33,33,33,33,,33,33,,,,33,33,,623,,33,,,33,,33',
'813,813,813,,813,,,,813,813,,,,813,,813,813,813,813,813,813,813,,,,',
',813,813,813,813,813,813,813,,,813,,,,,,,813,,,813,813,813,813,813,813',
'813,813,,813,813,813,,813,813,,686,813,686,686,686,686,686,,,,,,,,,',
',,,,,813,,,813,,,813,813,,,813,,,,,,686,,,,,,,,,686,686,686,686,813',
'813,813,813,,813,813,,,,813,813,,799,799,799,,799,813,,813,799,799,',
',,799,,799,799,799,799,799,799,799,,,,,,799,799,799,799,799,799,799',
',,799,,,,,,,799,,,799,799,799,799,799,799,799,799,,799,799,799,,799',
'799,799,799,799,,,,,,,,,,,,,,,,,,,,799,,,799,,,799,799,,,799,,,,,,799',
',,,,,,,799,,,,,799,799,799,799,,799,799,,,,799,799,,39,39,39,,39,799',
',799,39,39,,,,39,,39,39,39,39,39,39,39,,,,,,39,39,39,39,39,39,39,,,39',
',,,,,,39,,,39,39,39,39,39,39,39,39,,39,39,39,,39,39,39,39,39,,,,,,,',
',,,,,,,,,,,,39,,,39,,,39,39,,,39,,,,,,39,,,,,,,,39,,,,,39,39,39,39,',
'39,39,,,,39,39,,40,40,40,,40,39,,39,40,40,,,,40,,40,40,40,40,40,40,40',
',,,,,40,40,40,40,40,40,40,,,40,,,,,,,40,,,40,40,40,40,40,40,40,40,,40',
'40,40,,40,40,40,40,40,,,,,,,,,,,,,,,,,,,,40,,,40,,,40,40,,,40,,,,,,40',
',,,,,,,40,,,,,40,40,40,40,,40,40,,,,40,40,,41,41,41,,41,40,,40,41,41',
',,,41,,41,41,41,41,41,41,41,,,,,,41,41,41,41,41,41,41,,,41,,,,,,,41',
',,41,41,41,41,41,41,41,41,,41,41,41,,41,41,41,41,41,,,,,,,,,,,,,,,,',
',,,41,,,41,,,41,41,,,41,,,,,,41,,,,,,,,41,,,,,41,41,41,41,,41,41,,,',
'41,41,,53,53,53,,53,41,,41,53,53,,,,53,,53,53,53,53,53,53,53,,,,,,53',
'53,53,53,53,53,53,,,53,,,,,,,53,,,53,53,53,53,53,53,53,53,,53,53,53',
',53,53,53,53,53,,,,,,,,,,,,,,,,,,,,53,,,53,,,53,53,,,53,,,,,,53,,,,',
',,,53,,,,,53,53,53,53,,53,53,,,,53,53,,54,54,54,,54,53,,53,54,54,,,',
'54,,54,54,54,54,54,54,54,,,,,,54,54,54,54,54,54,54,,,54,,,,,,,54,,,54',
'54,54,54,54,54,54,54,54,54,54,54,,54,54,54,54,54,,,,,,,,,,,,,,,,,,,',
'54,,,54,,,54,54,,,54,,54,,,,54,,,,,,,,54,,,,,54,54,54,54,,54,54,,,,54',
'54,,55,55,55,,55,54,,54,55,55,,,,55,,55,55,55,55,55,55,55,,,,,,55,55',
'55,55,55,55,55,,,55,,,,,,,55,,,55,55,55,55,55,55,55,55,55,55,55,55,',
'55,55,55,55,55,,,,,,,,,,,,,,,,,,,,55,,,55,,,55,55,,,55,,,,,,55,,,,,',
',,55,,,,,55,55,55,55,,55,55,,,,55,55,,58,58,58,,58,55,,55,58,58,,,,58',
',58,58,58,58,58,58,58,,,,,,58,58,58,58,58,58,58,,,58,,,,,,,58,,,58,58',
'58,58,58,58,58,58,,58,58,58,,58,58,58,58,58,,,,,,,,,,,,,,,,,,,,58,,',
'58,,,58,58,,,58,,,,,,58,,,,,,,,58,,,,,58,58,58,58,,58,58,,,,58,58,,59',
'59,59,,59,58,,58,59,59,,,,59,,59,59,59,59,59,59,59,,,,,,59,59,59,59',
'59,59,59,,,59,,,,,,,59,,,59,59,59,59,59,59,59,59,,59,59,59,,59,59,59',
'59,59,,,,,,,,,,,,,,,,,,,,59,,,59,,,59,59,,,59,,,,,,59,,,,,,,,59,,,,',
'59,59,59,59,,59,59,,,,59,59,,62,62,62,,62,59,,59,62,62,,,,62,,62,62',
'62,62,62,62,62,,,,,,62,62,62,62,62,62,62,,,62,,,,,,,62,,,62,62,62,62',
'62,62,62,62,,62,62,62,,62,62,62,62,62,594,594,594,594,594,594,594,594',
'594,594,594,,594,594,,,594,594,,62,,594,62,,,62,62,,,62,,,594,,594,62',
'594,594,594,594,594,594,594,62,594,,,,62,62,62,62,,62,62,,,,62,62,62',
'594,,594,,62,62,,62,63,63,63,,63,,,,63,63,,,,63,,63,63,63,63,63,63,63',
',,,,,63,63,63,63,63,63,63,,,63,,,,,,,63,,,63,63,63,63,63,63,63,63,,63',
'63,63,,63,63,,861,63,861,861,861,861,861,,,,,,,,,,,,,,,63,,,63,,,63',
'63,,,63,,63,,,,861,861,,,,,,,,861,861,861,861,63,63,63,63,,63,63,,,',
'63,63,,64,64,64,,64,63,,63,64,64,,,,64,,64,64,64,64,64,64,64,,,,,,64',
'64,64,64,64,64,64,,,64,,,,,,,64,,,64,64,64,64,64,64,64,64,,64,64,64',
',64,64,,509,64,509,509,509,509,509,,,,,,,,,,,,64,,,64,,,64,,,64,64,',
',64,,,,,,509,509,,,,,,,,509,509,509,509,64,64,64,64,,64,64,,,,64,64',
',65,65,65,,65,64,,64,65,65,,,,65,,65,65,65,65,65,65,65,,,,,,65,65,65',
'65,65,65,65,,,65,,,,,,,65,,,65,65,65,65,65,65,65,65,,65,65,65,,65,65',
',801,65,801,801,801,801,801,,,,,,,,,,,,,,,65,,,65,,,65,65,,,65,,,,,',
'801,,,,,,,,,801,801,801,801,65,65,65,65,,65,65,,,,65,65,,782,782,782',
',782,65,,65,782,782,,,,782,,782,782,782,782,782,782,782,,,,,,782,782',
'782,782,782,782,782,,,782,,,,,,,782,,,782,782,782,782,782,782,782,782',
',782,782,782,,782,782,782,782,782,,,,,,,,,,,,,,,,,,,,782,,,782,,,782',
'782,,,782,,782,,,,782,,,,,,,,782,,,,,782,782,782,782,,782,782,,,,782',
'782,,101,101,101,101,101,782,,782,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,708',
'708,708,708,708,708,708,708,708,708,708,,708,708,,,708,708,,101,,,101',
',,101,101,,,101,,101,708,,708,101,708,708,708,708,708,708,708,101,708',
',,,101,101,101,101,,101,101,,,,101,101,,708,,,,101,101,,101,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,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,,466,466,,,,466,466',
',107,107,107,,107,466,,466,107,107,,,,107,,107,107,107,107,107,107,107',
',,,,,107,107,107,107,107,107,107,,,107,,,,,,,107,,,107,107,107,107,107',
'107,107,107,,107,107,107,,107,107,107,107,107,,,,,,,,,,,,,,,,,,,,107',
',,107,,,107,107,,,107,,,,,,107,,,,,,,,107,,,,,107,107,107,107,,107,107',
',,,107,107,,108,108,108,,108,107,,107,108,108,,,,108,,108,108,108,108',
'108,108,108,,,,,,108,108,108,108,108,108,108,,,108,,,,,,,108,,,108,108',
'108,108,108,108,108,108,,108,108,108,,108,108,108,108,108,,,,,,,,,,',
',,,,,,,,,108,,,108,,,108,108,,,108,,,,,,108,,,,,,,,108,,,,,108,108,108',
'108,,108,108,,,,108,108,,109,109,109,,109,108,,108,109,109,,,,109,,109',
'109,109,109,109,109,109,,,,,,109,109,109,109,109,109,109,,,109,,,,,',
',109,,,109,109,109,109,109,109,109,109,,109,109,109,,109,109,109,109',
'109,,,,,,,,,,,,,,,,,,,,109,,,109,,,109,109,,,109,,,,,,109,,,,,,,,109',
',,,,109,109,109,109,,109,109,,,,109,109,,110,110,110,110,110,109,,109',
'110,110,,,,110,,110,110,110,110,110,110,110,,,,,,110,110,110,110,110',
'110,110,,,110,,,,,,110,110,,110,110,110,110,110,110,110,110,110,,110',
'110,110,,110,110,110,110,110,,,,,,,,,,,,,,,,,,,,110,,,110,,,110,110',
',,110,,110,,,,110,,,,,,,,110,,,,,110,110,110,110,,110,110,,,,110,110',
',777,777,777,,777,110,,110,777,777,,,,777,,777,777,777,777,777,777,777',
',,,,,777,777,777,777,777,777,777,,,777,,,,,,,777,,,777,777,777,777,777',
'777,777,777,,777,777,777,,777,777,777,777,777,,,,,,,,,,,,,,,,,,,,777',
',,777,,,777,777,,,777,,,,,,777,,,,,,,,777,,,,,777,777,777,777,,777,777',
',,,777,777,,196,196,196,,196,777,,777,196,196,,,,196,,196,196,196,196',
'196,196,196,,,,,,196,196,196,196,196,196,196,,,196,,,,,,,196,,,196,196',
'196,196,196,196,196,196,,196,196,196,,196,196,196,196,196,,,,,,,,,,',
',,,,,,,,,196,,,196,,,196,196,,,196,,196,,,,196,,,,,,,,196,,,,,196,196',
'196,196,,196,196,,,,196,196,,197,197,197,,197,196,,196,197,197,,,,197',
',197,197,197,197,197,197,197,,,,,,197,197,197,197,197,197,197,,,197',
',,,,,,197,,,197,197,197,197,197,197,197,197,,197,197,197,,197,197,197',
'197,197,,,,,,,,,,,,,,,,,,,,197,,,197,,,197,197,,,197,,197,,,,197,,,',
',,,,197,,,,,197,197,197,197,,197,197,,,,197,197,,198,198,198,,198,197',
',197,198,198,,,,198,,198,198,198,198,198,198,198,,,,,,198,198,198,198',
'198,198,198,,,198,,,,,,,198,,,198,198,198,198,198,198,198,198,,198,198',
'198,,198,198,198,198,198,,,,,,,,,,,,,,,,,,,,198,,,198,,,198,198,,,198',
',,,,,198,,,,,,,,198,,,,,198,198,198,198,,198,198,,,,198,198,,199,199',
'199,,199,198,,198,199,199,,,,199,,199,199,199,199,199,199,199,,,,,,199',
'199,199,199,199,199,199,,,199,,,,,,,199,,,199,199,199,199,199,199,199',
'199,199,199,199,199,,199,199,199,199,199,,,,,,,,,,,,,,,,,,,,199,,,199',
',,199,199,,,199,,199,,199,,199,,,,,,,,199,,,,,199,199,199,199,,199,199',
',,,199,199,,722,722,722,,722,199,,199,722,722,,,,722,,722,722,722,722',
'722,722,722,,,,,,722,722,722,722,722,722,722,,,722,,,,,,,722,,,722,722',
'722,722,722,722,722,722,,722,722,722,,722,722,722,722,722,,,,,,,,,,',
',,,,,,,,,722,,,722,,,722,722,,,722,,,,,,722,,,,,,,,722,,,,,722,722,722',
'722,,722,722,,,,722,722,,266,266,266,,266,722,,722,266,266,,,,266,,266',
'266,266,266,266,266,266,,,,,,266,266,266,266,266,266,266,,,266,,,,,',
',266,,,266,266,266,266,266,266,266,266,,266,266,266,,266,266,266,266',
'266,,,,,,,,,,,,,,,,,,,,266,,,266,,,266,266,,,266,,,,,,266,,,,,,,,266',
',,,,266,266,266,266,,266,266,,,,266,266,,720,720,720,,720,266,,266,720',
'720,,,,720,,720,720,720,720,720,720,720,,,,,,720,720,720,720,720,720',
'720,,,720,,,,,,,720,,,720,720,720,720,720,720,720,720,,720,720,720,',
'720,720,720,720,720,,,,,,,,,,,,,,,,,,,,720,,,720,,,720,720,,,720,,,',
',,720,,,,,,,,720,,,,,720,720,720,720,,720,720,,,,720,720,,268,268,268',
',268,720,,720,268,268,,,,268,,268,268,268,268,268,268,268,,,,,,268,268',
'268,268,268,268,268,,,268,,,,,,,268,,,268,268,268,268,268,268,268,268',
',268,268,268,,268,268,268,268,268,,,,,,,,,,,,,,,,,,,,268,,,268,,,268',
'268,,,268,,,,,,268,,,,,,,,268,,,,,268,268,268,268,,268,268,,,,268,268',
',270,270,270,,270,268,,268,270,270,,,,270,,270,270,270,270,270,270,270',
',,,,,270,270,270,270,270,270,270,,,270,,,,,,,270,,,270,270,270,270,270',
'270,270,270,,270,270,270,,270,270,270,270,270,,,,,,,,,,,,,,,,,,,,270',
',,270,,,270,270,,,270,,,,,,270,,,,,,,,270,,,,,270,270,270,270,,270,270',
',,,270,270,,719,719,719,,719,270,,270,719,719,,,,719,,719,719,719,719',
'719,719,719,,,,,,719,719,719,719,719,719,719,,,719,,,,,,,719,,,719,719',
'719,719,719,719,719,719,,719,719,719,,719,719,719,719,719,,,,,,,,,,',
',,,,,,,,,719,,,719,,,719,719,,,719,,,,,,719,,,,,,,,719,,,,,719,719,719',
'719,,719,719,,,,719,719,,718,718,718,,718,719,,719,718,718,,,,718,,718',
'718,718,718,718,718,718,,,,,,718,718,718,718,718,718,718,,,718,,,,,',
',718,,,718,718,718,718,718,718,718,718,,718,718,718,,718,718,718,718',
'718,,,,,,,,,,,,,,,,,,,,718,,,718,,,718,718,,,718,,,,,,718,,,,,,,,718',
',,,,718,718,718,718,,718,718,,,,718,718,,275,275,275,275,275,718,,718',
'275,275,,,,275,,275,275,275,275,275,275,275,,,,,,275,275,275,275,275',
'275,275,,,275,,,,,,275,275,,275,275,275,275,275,275,275,275,275,,275',
'275,275,,275,275,275,275,275,,,,,,,,,,,,,,,,,,,,275,,,275,,,275,275',
',,275,,275,,,,275,,,,,,,,275,,,,,275,275,275,275,,275,275,,,,275,275',
',717,717,717,,717,275,,275,717,717,,,,717,,717,717,717,717,717,717,717',
',,,,,717,717,717,717,717,717,717,,,717,,,,,,,717,,,717,717,717,717,717',
'717,717,717,,717,717,717,,717,717,717,717,717,,,,,,,,,,,,,,,,,,,,717',
',,717,,,717,717,,,717,,,,,,717,,,,,,,,717,,,,,717,717,717,717,,717,717',
',,,717,717,,705,705,705,,705,717,,717,705,705,,,,705,,705,705,705,705',
'705,705,705,,,,,,705,705,705,705,705,705,705,,,705,,,,,,,705,,,705,705',
'705,705,705,705,705,705,,705,705,705,,705,705,705,705,705,,,,,,,,,,',
',,,,,,,,,705,,,705,,,705,705,,,705,,,,,,705,,,,,,,,705,,,,,705,705,705',
'705,,705,705,,,,705,705,,703,703,703,,703,705,,705,703,703,,,,703,,703',
'703,703,703,703,703,703,,,,,,703,703,703,703,703,703,703,,,703,,,,,',
',703,,,703,703,703,703,703,703,703,703,,703,703,703,,703,703,703,703',
'703,,,,,,,,,,,,,,,,,,,,703,,,703,,,703,703,,,703,,,,,,703,,,,,,,,703',
',,,,703,703,703,703,,703,703,,,,703,703,,281,281,281,,281,703,,703,281',
'281,,,,281,,281,281,281,281,281,281,281,,,,,,281,281,281,281,281,281',
'281,,,281,,,,,,,281,,,281,281,281,281,281,281,281,281,,281,281,281,',
'281,281,,,281,445,445,445,445,445,445,445,445,445,445,445,,445,445,',
',445,445,,281,,,281,,,281,281,,,281,,,445,,445,,445,445,445,445,445',
'445,445,,445,,,,281,281,281,281,,281,281,,,,281,281,445,445,,281,,,281',
',281,675,675,675,,675,,,,675,675,,,,675,,675,675,675,675,675,675,675',
',,,,,675,675,675,675,675,675,675,,,675,,,,,,,675,,,675,675,675,675,675',
'675,675,675,,675,675,675,,675,675,675,675,675,,,,,,,,,,,,,,,,,,,,675',
',,675,,,675,675,,,675,,,,,,675,,,,,,,,675,,,,,675,675,675,675,,675,675',
',,,675,675,,297,297,297,,297,675,,675,297,297,,,,297,,297,297,297,297',
'297,297,297,,,,,,297,297,297,297,297,297,297,,,297,,,,,,,297,,,297,297',
'297,297,297,297,297,297,,297,297,297,,297,297,,803,297,803,803,803,803',
'803,,,,,,,,,,,,,,,297,,,297,,,297,297,,,297,,,,,,803,,,,,,,,,803,803',
'803,803,297,297,297,297,,297,297,,,,297,297,,622,622,622,,622,297,,297',
'622,622,,,,622,,622,622,622,622,622,622,622,,,,,,622,622,622,622,622',
'622,622,,,622,,,,,,,622,,,622,622,622,622,622,622,622,622,,622,622,622',
',622,622,,536,622,536,536,536,536,536,,,,,,,,,,,,,,,622,,,622,,,622',
'622,,,622,,,,,,536,536,,,,,,,,536,536,536,536,622,622,622,622,,622,622',
',,,622,622,,306,306,306,,306,622,,622,306,306,,,,306,,306,306,306,306',
'306,306,306,,,,,,306,306,306,306,306,306,306,,,306,,,,,,,306,,,306,306',
'306,306,306,306,306,306,,306,306,306,,306,306,306,306,306,,,,,,,,,,',
',,,,,,,,,306,,,306,306,,306,306,,,306,,,,,,306,,,,,,,,306,,,,,306,306',
'306,306,,306,306,,,,306,306,,611,611,611,,611,306,,306,611,611,,,,611',
',611,611,611,611,611,611,611,,,,,,611,611,611,611,611,611,611,,,611',
',,,,,,611,,,611,611,611,611,611,611,611,611,,611,611,611,,611,611,,',
'611,,,,,,,,,,,,,,,,,,,,611,,,611,,,611,611,,,611,,,,,,,,,,,,,,,,,,,611',
'611,611,611,,611,611,,,,611,611,,606,606,606,,606,611,,611,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,606,606,606,,606,606,,,,606,606,,322,322,322,,322',
'606,,606,322,322,,,,322,,322,322,322,322,322,322,322,,,,,,322,322,322',
'322,322,322,322,,,322,,,,,,,322,,,322,322,322,322,322,322,322,322,,322',
'322,322,,322,322,322,322,322,,,,,,,,,,,,,,,,,,,,322,,,322,,,322,322',
',,322,,,,,,322,,,,,,,,322,,,,,322,322,322,322,,322,322,,,,322,322,,323',
'323,323,,323,322,,322,323,323,,,,323,,323,323,323,323,323,323,323,,',
',,,323,323,323,323,323,323,323,,,323,,,,,,,323,,,323,323,323,323,323',
'323,323,323,,323,323,323,,323,323,323,323,323,,,,,,,,,,,,,,,,,,,,323',
',,323,,,323,323,,,323,,,,,,323,,,,,,,,323,,,,,323,323,323,323,,323,323',
',,,323,323,,572,572,572,,572,323,,323,572,572,,,,572,,572,572,572,572',
'572,572,572,,,,,,572,572,572,572,572,572,572,,,572,,,,,,,572,,,572,572',
'572,572,572,572,572,572,,572,572,572,,572,572,572,572,572,,,,,,,,,,',
',,,,,,,,,572,,,572,,,572,572,,,572,,,,,,572,,,,,,,,572,,,,,572,572,572',
'572,,572,572,,,,572,572,,571,571,571,,571,572,,572,571,571,,,,571,,571',
'571,571,571,571,571,571,,,,,,571,571,571,571,571,571,571,,,571,,,,,',
',571,,,571,571,571,571,571,571,571,571,,571,571,571,,571,571,571,571',
'571,,,,,,,,,,,,,,,,,,,,571,,,571,,,571,571,,,571,,,,,,571,,,,,,,,571',
',,,,571,571,571,571,,571,571,,,,571,571,,567,567,567,,567,571,,571,567',
'567,,,,567,,567,567,567,567,567,567,567,,,,,,567,567,567,567,567,567',
'567,,,567,,,,,,,567,,,567,567,567,567,567,567,567,567,,567,567,567,',
'567,567,567,567,567,,,,,,,,,,,,,,,,,,,,567,,,567,,,567,567,,,567,,,',
',,567,,,,,,,,567,,,,,567,567,567,567,,567,567,,,,567,567,,566,566,566',
',566,567,,567,566,566,,,,566,,566,566,566,566,566,566,566,,,,,,566,566',
'566,566,566,566,566,,,566,,,,,,,566,,,566,566,566,566,566,566,566,566',
',566,566,566,,566,566,566,566,566,,,,,,,,,,,,,,,,,,,,566,,,566,,,566',
'566,,,566,,,,,,566,,,,,,,,566,,,,,566,566,566,566,,566,566,,,,566,566',
',563,563,563,,563,566,,566,563,563,,,,563,,563,563,563,563,563,563,563',
',,,,,563,563,563,563,563,563,563,,,563,,,,,,,563,,,563,563,563,563,563',
'563,563,563,,563,563,563,,563,563,563,563,563,,,,,,,,,,,,,,,,,,,,563',
',,563,,,563,563,,,563,,,,,,563,,,,,,,,563,,,,,563,563,563,563,,563,563',
',,,563,563,,562,562,562,,562,563,,563,562,562,,,,562,,562,562,562,562',
'562,562,562,,,,,,562,562,562,562,562,562,562,,,562,,,,,,,562,,,562,562',
'562,562,562,562,562,562,,562,562,562,,562,562,562,562,562,,,,,,,,,,',
',,,,,,,,,562,,,562,,,562,562,,,562,,562,,,,562,,,,,,,,562,,,,,562,562',
'562,562,,562,562,,,,562,562,,341,341,341,,341,562,,562,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,,560,560,560,,560,341,',
'341,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,,532,532',
'532,,532,560,,560,532,532,,,,532,,532,532,532,532,532,532,532,,,,,,532',
'532,532,532,532,532,532,,,532,,,,,,,532,,,532,532,532,532,532,532,532',
'532,,532,532,532,,532,532,532,532,532,,,,,,,,,,,,,,,,,,,,532,,,532,',
',532,532,,,532,,,,,,532,,,,,,,,532,,,,,532,532,532,532,,532,532,,,,532',
'532,,529,529,529,,529,532,,532,529,529,,,,529,,529,529,529,529,529,529',
'529,,,,,,529,529,529,529,529,529,529,,,529,,,,,,,529,,,529,529,529,529',
'529,529,529,529,529,529,529,529,,529,529,529,529,529,,,,,,,,,,,,,,,',
',,,,529,,,529,,,529,529,,,529,,529,,529,,529,,,,,,,,529,,,,,529,529',
'529,529,,529,529,,,,529,529,,519,519,519,,519,529,,529,519,519,,,,519',
',519,519,519,519,519,519,519,,,,,,519,519,519,519,519,519,519,,,519',
',,,,,,519,,,519,519,519,519,519,519,519,519,519,519,519,519,,519,519',
'519,519,519,,,,,,,,,,,,,,,,,,,,519,,,519,,,519,519,,,519,,519,,519,',
'519,,,,,,,,519,,,,,519,519,519,519,,519,519,,,,519,519,,356,356,356',
',356,519,,519,356,356,,,,356,,356,356,356,356,356,356,356,,,,,,356,356',
'356,356,356,356,356,,,356,,,,,,,356,,,356,356,356,356,356,356,356,356',
',356,356,356,,356,356,356,356,356,,,,,,,,,,,,,,,,,,,,356,,,356,,,356',
'356,,,356,,,,,,356,,,,,,,,356,,,,,356,356,356,356,,356,356,,,,356,356',
',518,518,518,,518,356,,356,518,518,,,,518,,518,518,518,518,518,518,518',
',,,,,518,518,518,518,518,518,518,,,518,,,,,,,518,,,518,518,518,518,518',
'518,518,518,,518,518,518,,518,518,518,518,518,,,,,,,,,,,,,,,,,,,,518',
',,518,,,518,518,,,518,,518,,,,518,,,,,,,,518,,,,,518,518,518,518,,518',
'518,,,,518,518,,383,383,383,,383,518,,518,383,383,,,,383,,383,383,383',
'383,383,383,383,,,,,,383,383,383,383,383,383,383,,,383,,,,,,,383,,,383',
'383,383,383,383,383,383,383,,383,383,383,,383,383,383,383,383,,,,,,',
',,,,,,,,,,,,,383,,,383,,,383,383,,,383,,,,,,383,,,,,,,,383,,,,,383,383',
'383,383,,383,383,,,,383,383,,504,504,504,,504,383,,383,504,504,,,,504',
',504,504,504,504,504,504,504,,,,,,504,504,504,504,504,504,504,,,504',
',,,,,,504,,,504,504,504,504,504,504,504,504,504,504,504,504,,504,504',
'504,504,504,,,,,,,,,,,,,,,,,,,,504,,,504,,,504,504,,,504,,,,,,504,,',
',,,,,504,,,,,504,504,504,504,,504,504,,,,504,504,,501,501,501,,501,504',
',504,501,501,,,,501,,501,501,501,501,501,501,501,,,,,,501,501,501,501',
'501,501,501,,,501,,,,,,,501,,,501,501,501,501,501,501,501,501,501,501',
'501,501,,501,501,501,501,501,,,,,,,,,,,,,,,,,,,,501,,,501,,,501,501',
',,501,,501,,,,501,,,,,,,,501,,,,,501,501,501,501,,501,501,,,,501,501',
',497,497,497,,497,501,,501,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,,495,495,495,,495,497,,497,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,495',
'495,495,,495,495,,,,495,495,,491,491,491,,491,495,,495,491,491,,,,491',
',491,491,491,491,491,491,491,,,,,,491,491,491,491,491,491,491,,,491',
',,,,,,491,,,491,491,491,491,491,491,491,491,,491,491,491,,491,491,491',
'491,491,,,,,,,,,,,,,,,,,,,,491,,,491,,,491,491,,,491,,,,,,491,,,,,,',
',491,,,,,491,491,491,491,,491,491,,,,491,491,,415,415,415,,415,491,',
'491,415,415,,,,415,,415,415,415,415,415,415,415,,,,,,415,415,415,415',
'415,415,415,,,415,,,,,,,415,,,415,415,415,415,415,415,415,415,415,415',
'415,415,,415,415,415,415,415,,,,,,,,,,,,,,,,,,,,415,,,415,,,415,415',
',,415,,415,,415,,415,,,,,,,,415,,,,,415,415,415,415,,415,415,,,,415',
'415,,490,490,490,,490,415,,415,490,490,,,,490,,490,490,490,490,490,490',
'490,,,,,,490,490,490,490,490,490,490,,,490,,,,,,,490,,,490,490,490,490',
'490,490,490,490,,490,490,490,,490,490,490,490,490,,,,,,,,,,,,,,,,,,',
',490,,,490,,,490,490,,,490,,,,,,490,,,,,,,,490,,,,,490,490,490,490,',
'490,490,,,,490,490,,417,417,417,,417,490,,490,417,417,,,,417,,417,417',
'417,417,417,417,417,,,,,,417,417,417,417,417,417,417,,,417,,,,,,,417',
',,417,417,417,417,417,417,417,417,,417,417,417,,417,417,417,417,417',
',,,,,,,,,,,,,,,,,,,417,,,417,,,417,417,,,417,,,,,,417,,,,,,,,417,,,',
',417,417,417,417,,417,417,,,,417,417,,418,418,418,,418,417,,417,418',
'418,,,,418,,418,418,418,418,418,418,418,,,,,,418,418,418,418,418,418',
'418,,,418,,,,,,,418,,,418,418,418,418,418,418,418,418,,418,418,418,',
'418,418,418,418,418,,,,,,,,,,,,,,,,,,,,418,,,418,,,418,418,,,418,,,',
',,418,,,,,,,,418,,,,,418,418,418,418,,418,418,,,,418,418,,419,419,419',
',419,418,,418,419,419,,,,419,,419,419,419,419,419,419,419,,,,,,419,419',
'419,419,419,419,419,,,419,,,,,,,419,,,419,419,419,419,419,419,419,419',
',419,419,419,,419,419,419,419,419,,,,,,,,,,,,,,,,,,,,419,,,419,,,419',
'419,,,419,,,,,,419,,,,,,,,419,,,,,419,419,419,419,,419,419,,,,419,419',
',489,489,489,,489,419,,419,489,489,,,,489,,489,489,489,489,489,489,489',
',,,,,489,489,489,489,489,489,489,,,489,,,,,,,489,,,489,489,489,489,489',
'489,489,489,,489,489,489,,489,489,489,489,489,,,,,,,,,,,,,,,,,,,,489',
',,489,,,489,489,,,489,,,,,,489,,,,,,,,489,,,,,489,489,489,489,,489,489',
',,,489,489,,486,486,486,,486,489,,489,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,,479,479,479,,479,486,,486,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,,477,477,477,,477,479,,479,477',
'477,,,,477,,477,477,477,477,477,477,477,,,,,,477,477,477,477,477,477',
'477,,,477,,,,,,,477,,,477,477,477,477,477,477,477,477,,477,477,477,',
'477,477,,,477,,,,,,,,,,,,,,,,,,,,477,,,477,,,477,477,,,477,,,,,,,,,',
',,,,,,,,,477,477,477,477,,477,477,,,,477,477,,470,470,470,470,470,477',
',477,470,470,,,,470,,470,470,470,470,470,470,470,,,,,,470,470,470,470',
'470,470,470,,,470,,,,,,470,470,,470,470,470,470,470,470,470,470,470',
',470,470,470,,470,470,470,470,470,798,798,798,798,798,798,798,798,798',
'798,798,,798,798,,,798,798,,470,,,470,,,470,470,,,470,,470,798,,798',
'470,798,798,798,798,798,798,798,470,798,,,,470,470,470,470,,470,470',
',,,470,470,,798,447,,,470,470,,470,447,447,447,,,447,447,447,,447,,',
',,,,,,,447,,,,,,,,,,447,447,,447,447,447,447,447,,,,,,,,,,,,450,,,,',
',,450,450,450,,,450,450,450,,450,,,,,,447,,,,450,,,447,,,,,447,447,450',
'450,,450,450,450,450,450,,,,,,,,,,,,,,447,,,,,,,,,26,,,,,447,,26,26',
'26,447,450,26,26,26,,26,,450,,,,,450,450,,26,26,,,,,,,,,26,26,,26,26',
'26,26,26,,,450,,,,,,,,,,,,,,450,,,,,450,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,25,26,,26,,,,25,25,25,,,25,25,25,,25,26,26,,26,,26,,,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,,25,25,,,25,25,,25,,25,,25',
',25,25,25,25,25,25,25,394,25,25,25,,,,394,394,394,,,394,394,394,,394',
'25,25,,25,,25,,,394,394,394,,,,,,,,,394,394,,394,394,394,394,394,,,',
',,,,,,,,,,,,,,,,,,,394,394,394,394,394,394,394,394,394,394,394,394,394',
'394,,,394,394,394,,,394,,394,394,,,394,394,,394,,394,,394,,394,394,394',
'394,394,394,394,,394,394,394,,,,,,,,,,,,,,394,394,,394,,394,9,9,9,9',
'9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,,,,9,9,9,9,9,9,9,9,9,9,,,,,',
'9,9,9,9,9,9,9,9,9,,,9,,,,,,,,9,9,,9,9,9,9,9,9,9,,,9,9,,,,9,9,9,9,,,',
',,,,,,,,,,9,9,,9,9,9,9,9,9,9,9,9,9,9,,,9,9,,,,,,,,,,,9,373,373,373,373',
'373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373',
'373,373,373,,,,373,373,373,373,373,373,373,373,373,373,,,,,,373,373',
'373,373,373,373,373,373,373,,,373,,,,,,,,373,373,,373,373,373,373,373',
'373,373,,,373,373,,,,373,373,373,373,,,,,,,,,,,,,,373,373,,373,373,373',
'373,373,373,373,373,373,373,373,,,373,373,,,,,,,,,,,373,558,558,558',
'558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558',
'558,558,558,558,,,,558,558,558,558,558,558,558,558,558,558,,,,,,558',
'558,558,558,558,558,558,558,558,,,558,,,,,,,,558,558,,558,558,558,558',
'558,558,558,,,558,558,,,,558,558,558,558,,,,,,,,,,,,,,558,558,,558,558',
'558,558,558,558,558,558,558,558,558,,,558,558,,,,,,,,,,,558,8,8,8,8',
'8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,,,,8,8,8,8,8,8,8,8,8,8,,,,,',
'8,8,8,8,8,8,8,8,8,8,,8,,,,,,,,8,8,,8,8,8,8,8,8,8,,,8,8,,,,8,8,8,8,,',
',,,,,,,,,,,8,8,,8,8,8,8,8,8,8,8,8,8,8,,,8,8,,,,,,,,,,,8,688,688,688',
'688,688,688,688,688,688,688,688,688,688,688,688,688,688,688,688,688',
'688,688,688,688,,,,688,688,688,688,688,688,688,688,688,688,,,,,,688',
'688,688,688,688,688,688,688,688,,,688,,,,,,,,688,688,,688,688,688,688',
'688,688,688,,,688,688,,,,688,688,688,688,,,,,,,,,,,,,,688,688,,688,688',
'688,688,688,688,688,688,688,688,688,,,688,66,66,66,66,66,66,66,66,66',
'66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,,,,66,66,66,66,66,66,66',
'66,66,66,,,,,,66,66,66,66,66,66,66,66,66,66,66,66,,66,,,,,,66,66,,66',
'66,66,66,66,66,66,,,66,66,,,,66,66,66,66,,,,,,66,,,,,,,,66,66,,66,66',
'66,66,66,66,66,66,66,66,66,200,200,66,,200,,,,,,,,200,200,,200,200,200',
'200,200,200,200,,,200,200,,,,200,200,200,200,,,,,,200,,,,,,,,200,200',
',200,200,200,200,200,200,200,200,200,200,200,201,201,200,,201,,,,,,',
',201,201,,201,201,201,201,201,201,201,,,201,201,,,,201,201,201,201,',
',,,,201,,,,,,,,201,201,,201,201,201,201,201,201,201,201,201,201,201',
'247,247,201,,247,,,,,,,,247,247,,247,247,247,247,247,247,247,,,247,247',
',,,247,247,247,247,,,,,,,,,,,,,,247,247,,247,247,247,247,247,247,247',
'247,247,247,247,248,248,247,,248,,,,,,,,248,248,,248,248,248,248,248',
'248,248,,,248,248,,,,248,248,248,248,,,,,,,,,,,,,,248,248,,248,248,248',
'248,248,248,248,248,248,248,248,413,413,248,,413,,,,,,,,413,413,,413',
'413,413,413,413,413,413,,,413,413,,,,413,413,413,413,,,,,,413,,,,,,',
',413,413,,413,413,413,413,413,413,413,413,413,413,413,414,414,413,,414',
',,,,,,,414,414,,414,414,414,414,414,414,414,,,414,414,,,,414,414,414',
'414,,,,,,414,,,,,,,,414,414,,414,414,414,414,414,414,414,414,414,414',
'414,480,480,414,,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,480,480,480,480,480,481,481,480,,481,,,,,,,,481,481,,481,481,481',
'481,481,481,481,,,481,481,,,,481,481,481,481,,,,,,481,,,,,,,,481,481',
',481,481,481,481,481,481,481,481,481,481,481,492,492,481,,492,,,,,,',
',492,492,,492,492,492,492,492,492,492,,,492,492,,,,492,492,492,492,',
',,,,492,,,,,,,,492,492,,492,492,492,492,492,492,492,492,492,492,492',
'493,493,492,,493,,,,,,,,493,493,,493,493,493,493,493,493,493,,,493,493',
',,,493,493,493,493,,,,,,493,,,,,,,,493,493,,493,493,493,493,493,493',
'493,493,493,493,493,520,520,493,,520,,,,,,,,520,520,,520,520,520,520',
'520,520,520,,,520,520,,,,520,520,520,520,,,,,,520,,,,,,,,520,520,,520',
'520,520,520,520,520,520,520,520,520,520,521,521,520,,521,,,,,,,,521',
'521,,521,521,521,521,521,521,521,,,521,521,,,,521,521,521,521,,,,,,521',
',,,,,,,521,521,,521,521,521,521,521,521,521,521,521,521,521,527,527',
'521,,527,,,,,,,,527,527,,527,527,527,527,527,527,527,,,527,527,,,,527',
'527,527,527,,,,,,527,,,,,,,,527,527,,527,527,527,527,527,527,527,527',
'527,527,527,528,528,527,,528,,,,,,,,528,528,,528,528,528,528,528,528',
'528,,,528,528,,,,528,528,528,528,,,,,,528,,,,,,,,528,528,,528,528,528',
'528,528,528,528,528,528,528,528,881,881,528,,881,,,,,,,,881,881,,881',
'881,881,881,881,881,881,,,881,881,,,,881,881,881,881,,,,,,881,,,,,,',
',881,881,,881,881,881,881,881,881,881,881,881,881,881,882,882,881,,882',
',,,,,,,882,882,,882,882,882,882,882,882,882,,,882,882,,,,882,882,882',
'882,,,,,,882,,,,,,,,882,882,,882,882,882,882,882,882,882,882,882,882',
'882,919,919,882,,919,,,,,,,,919,919,,919,919,919,919,919,919,919,,,919',
'919,,,,919,919,919,919,,,,,,919,,,,,,,,919,919,,919,919,919,919,919',
'919,919,919,919,919,919,,,919,710,710,710,710,710,710,710,710,710,710',
'710,,710,710,,,710,710,,,,,,,,,,,,,,,710,,710,,710,710,710,710,710,710',
'710,,710,,713,713,713,713,713,713,713,713,713,713,713,,713,713,,710',
'713,713,,,,,,,,,,,,,,,713,,713,,713,713,713,713,713,713,713,,713,,701',
'701,701,701,701,701,701,701,701,701,701,,701,701,,713,701,701,,,,,,',
',,,,,,,,701,,701,,701,701,701,701,701,701,701,,701,,406,406,406,406',
'406,406,406,406,406,406,406,,406,406,,701,406,406,,,,,,,,,,,,,,,406',
',406,,406,406,406,406,406,406,406,,406,,494,494,494,494,494,494,494',
'494,494,494,494,,494,494,,406,494,494,,,,,,,,,,,,,,,494,,494,,494,494',
'494,494,494,494,494,,494,,715,715,715,715,715,715,715,715,715,715,715',
',715,715,,494,715,715,,,,,,,,,,,,,,,715,,715,,715,715,715,715,715,715',
'715,,715,,704,704,704,704,704,704,704,704,704,704,704,,704,704,,715',
'704,704,,,,,,,,,,,,,,,704,,704,,704,704,704,704,704,704,704,,704,,20',
'20,20,20,20,20,20,20,20,20,20,,20,20,,704,20,20,,,,,,,,,,,,,,,20,,20',
',20,20,20,20,20,20,20,,20,,800,800,800,800,800,800,800,800,800,800,800',
',800,800,,20,800,800,,,,,,,,,,,,,,,800,,800,,800,800,800,800,800,800',
'800,,800,,261,261,261,261,261,261,261,261,261,261,261,,261,261,,800',
'261,261,,,,,,,,,,,,,,,261,,261,,261,261,261,261,261,261,261,,261,,,',
',,,,,,,,,,,,,261' ]
        racc_action_check = arr = ::Array.new(23613, 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 = [
  3016,   689,   nil,   168,   nil,  9141,  1343,   222, 21767, 21395,
   184,   366,   134,   151,  1227,   153,   723,   nil,   -71, 10641,
 23393,  1302,   nil,   214,   116, 21156, 21047, 10891, 11016, 11141,
   nil,   983, 11266, 11391,   nil,  1131,   237,  1171,   571, 11774,
 11899, 12024,  1094,   736,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,  2883,  3266, 12149, 12274, 12399,   -23,   nil, 12524, 12649,
   nil,   nil, 12774, 12907, 13032, 13157, 22003,   nil,   nil,   nil,
   nil,   nil,   253,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,     0,   nil,   nil,   234,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,  1219,
   nil, 13407,   nil,   nil,   nil,   nil,  9891, 13665, 13790, 13915,
 14040,  2255,   nil,   589,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,  1079,   nil,  2505, 14290, 14415, 14540, 14665,
 22063, 22123,  4891,  5016,  5141,  5266,  5391,   nil,   nil,   602,
   -76,  1120,   124,  1033,  1078,   nil,  5766,  4641,  1065,  5891,
  6016,  6141,  6266,  6391,  6516,  6641,  6766,  6891,  7016,  7141,
  7266,  7391,  7516,  7641,  7766,  7891,  8016,  8141,  8266,  8391,
  8516,  8641,  8766,  8891,  9016,   nil,   nil, 22183, 22243,  1048,
  9391,  9516,   nil,   nil,   nil,   nil,   nil,   nil,   nil,  9641,
   nil, 23485,   nil,   995,   966,   nil, 14915,  1007, 15165,   nil,
 15290,   nil,   nil,   505,  1233, 15665,   948,  4766,   951,   986,
   938, 16165,  4141,  1262,  1216,   995,   989,   nil,   950,   903,
   175,   nil,   nil,   nil,   930,   679,   882, 16423,   nil,   -75,
   892,   885,   861,   nil,   852,   nil, 16673,   897,   885,   607,
   nil,   462,   270,   777,   744,   363,   764,   nil,   nil,   495,
    36,    40, 17048, 17173,   222,   828,   692,   -18,  1113,   762,
    61,   790,   nil,   nil,   437,   413,    44,   nil,   988,   nil,
    30, 18048,   nil,   nil,   531,   172,   270,   377,   389,   441,
   445,   472,   505,   nil,   168,   nil, 18673,   nil,   337,   364,
   162,   342,   -43,   377,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   649, 21519,   nil,   nil,   nil,   nil,   633,   nil,
   nil,  1608,   nil, 18923,   613,   nil,   601,   nil,   nil,  1994,
   596,   nil,   137,   122, 21265,   nil,   nil,   nil,   343,   109,
   608,   nil,   nil,  2122,  1736,   nil, 23209,   nil,   nil,   nil,
   189,   nil,   572, 22303, 22363, 19673,   132, 19923, 20048, 20173,
  1869,  3641,   417,   425,   501,   497,   493,   491,  4016,  3891,
  3766,  3391,  3266,  3141,  3016,  1233,  2505,  2380,  1483,  1358,
  2630,   547,  1203,  3516,  2255, 16165,   124, 20926,   nil,   nil,
 20981,   nil,   nil,   377,   nil,   nil, 10266,   181,   -52,   407,
   nil,   nil, 10141,   nil, 10016,   nil, 13540,   nil,   nil,   nil,
 20798,   678,   451,   461,   nil,   nil,   463, 20673,   476, 20548,
 22423, 22483,   516,   557,   nil,   nil, 20423,   531,   nil, 20298,
 19798, 19548, 22543, 22603, 23255, 19423,   679, 19298,   nil,   581,
   nil, 19173,   nil,   nil, 19048,   nil,   nil,   nil,   nil, 13045,
  1233,   716,   nil,  3391,    12,    63,   731,   740, 18798, 18548,
 22663, 22723,    67,   nil,   nil,   639,   nil, 22783, 22843, 18423,
   nil,   nil, 18298,   386,   137,  3766, 16561,   nil,   nil,   nil,
   167,   nil,   nil,   nil,   -24,   nil,   nil,   nil,   661,   nil,
   nil,   310,   nil,   nil,   659,   nil,   nil,   nil, 21643,   nil,
 18173,   664, 17923, 17798,   -82,   706, 17673, 17548,   723,   nil,
   nil, 17423, 17298,   730,   nil,   nil,   nil,   144,   143,   468,
   598,   719,  2755,   718,   nil,   530,   nil,  1994,   nil,   nil,
   nil,   nil,   157,   nil, 12774,   -68,   737,   nil,   744,   nil,
  2630,  3891,   nil,   745,   nil,   795, 16923,   nil,   nil,  1358,
  -114, 16798,   756,   nil,   760,   200,   229,   825,   346,   738,
   836,   810, 16548, 11391,   876,   878,    21,   944,   nil,  1108,
   840,   883,   nil,   nil,   nil,   387,   nil,  2847,   nil,   842,
   847,   852,   nil,   nil,   nil,   nil,   nil,   nil,   -84,   940,
   nil,   602,   nil,   nil,   nil,   nil,   944,   nil,   nil,   945,
   819,   nil,   985,   nil,   nil,   nil,   nil,   998,   nil,    11,
   884,    39,    26,    25,    68, 16298,   203,  1105,   nil,   917,
  3141,   247,   nil,   nil,  1055,  4016, 11537,   552, 21891,   nil,
   nil,   nil,   nil,   nil,   nil,  4266,   nil,   nil,   nil,   nil,
   nil, 23163,   940, 16040, 23347, 15915,   nil,   nil, 13407,   nil,
 23071,   nil,   nil, 23117,   nil, 23301,   nil, 15790, 15540, 15415,
 15040,   -54, 14790,   967,   972,   977,   nil,  1008,   989,  1094,
   146,   nil,  1112,  3516,  9766,   nil,   nil,  1006,  1023,  1127,
   nil,  9266,   nil,  1021,   297,   nil,   nil,   nil,  4391,   nil,
   nil,    33,  5641,   nil,   nil,    37,  1048,  2086,   nil,  1700,
   nil,   nil,   755,  1140,  5516,   nil,   nil,   719,   nil,  1063,
   350,  1114,  1076,   nil,   nil,  1198,   nil, 14165,  1202,  2380,
  1358,   nil, 13282,  2755,    40,    75,   nil,  1212,   nil,  1869,
   nil,  1222,  1115,   nil,   nil,  1133,  1117,   nil, 20798, 11649,
 23439, 13170,   nil, 16436,   nil,   nil,  1159,   nil,  1141,  1128,
   nil,   nil,   nil, 11524,   nil,  1149,  1141,   nil,  1150,   nil,
   nil,   nil,  1160,   nil,  3641,   863,   864,  1247,   986,   nil,
   nil,   nil,   nil,  1186,  1184,  1185,   nil,   nil,  1188,  1193,
   nil,  1194,   nil,   nil,  1200,   566,  1198,   969,   nil,   nil,
    13,   nil,  1323,  1331,   nil,   116,   nil,   nil,  1335,   nil,
   nil, 12920,   nil,  1216,  1222,  1225,  -109,   nil,   -67,   nil,
  1123,  1111,    42,   nil,   nil, 10766,   nil,   nil, 10516,   106,
 10391, 22903, 22963,  1226,  1608,  1483,   nil, 11279,   nil,   nil,
  1005,   nil,  1034,   nil,  1130,   nil,   nil,   nil,   338,   748,
   125,   858,   nil,   nil,   nil,   nil,   nil,   733,   nil,  4516,
  5654,   nil,   nil,   909,   nil,   658,   nil,   nil,   nil, 23023,
   nil,   196,   nil,   205,    34,   -11,    32,   476,   233,   340,
   259,   269,   271,   299,   305,   844,   313,   998,   362,   435,
   443,   327,   342,   359,   475,   527,   598,   nil,    -7,   nil,
   nil,   nil,   784,   nil,   nil,   nil,   873,   640,   nil,   nil,
   nil,   nil,   880,   nil,   nil,   nil,    24,    43,   168,   nil,
   nil ]

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

clist = [
'117,117,205,310,308,36,262,262,262,496,36,208,452,312,315,517,353,120',
'120,564,627,316,685,293,293,104,306,253,257,487,390,394,400,311,112',
'194,36,283,283,775,461,463,320,321,15,100,324,122,122,15,101,280,278',
'725,293,293,293,36,117,510,513,500,503,380,387,507,296,276,327,342,342',
'342,526,642,724,15,286,286,447,450,638,453,663,666,104,727,249,256,258',
'836,367,368,369,370,607,772,15,867,780,542,642,549,552,840,325,2,36',
'330,339,339,260,271,272,6,812,36,36,810,6,587,597,105,359,897,340,343',
'604,363,604,747,600,601,900,836,607,589,193,333,591,373,592,558,313',
'599,454,15,598,737,355,726,314,317,508,331,15,15,530,354,537,499,318',
'322,382,386,779,323,1,675,907,680,789,535,536,688,861,384,384,728,262',
'809,636,830,509,755,936,246,778,884,379,385,388,885,446,404,405,457',
'458,904,631,751,36,642,357,395,867,358,667,360,756,612,721,844,361,551',
'6,897,372,365,621,362,957,690,36,371,6,835,836,838,808,262,262,840,465',
'695,467,834,468,,262,15,,967,,744,394,400,581,,,,642,,,,,812,833,792',
'918,,,15,,678,,733,,,,864,,865,293,483,,,,,,,36,,36,,,766,283,36,293',
',863,,698,253,,104,,257,472,784,,,283,478,,,514,515,786,,614,617,,276',
'476,469,488,958,276,15,470,15,,617,,286,15,,,,,711,13,,455,,716,13,',
',,286,459,743,,,104,909,,561,670,617,,856,,930,,,,617,679,,531,13,632',
'117,516,,,,,607,,735,565,,,,941,905,740,,120,,13,754,,,471,,,,,,262',
',279,569,817,557,,766,,574,846,604,404,,783,,,,122,,,596,395,,,,,603',
'595,,,642,,,605,583,316,,608,13,,,,,,,,,13,13,723,,633,,,,569,,,569',
',,568,,262,,635,,573,630,,,,605,293,,316,,,404,,36,384,293,,766,,766',
'283,395,382,404,,684,,,824,283,,,,395,488,669,262,,,,,,,488,,,262,588',
',,590,404,15,36,681,,36,404,,286,,395,,,,13,702,,286,395,934,766,,,664',
'664,,604,36,,604,,,906,,,,13,117,,948,,15,682,683,15,707,709,378,,,712',
'714,565,,120,,766,,766,742,11,,,749,,11,15,753,922,279,609,700,,,,694',
'901,766,,36,874,,876,,122,565,877,,,293,,11,36,36,13,,13,,,,293,13,',
'283,,839,,569,841,,574,,11,,283,,,488,15,787,,36,,332,791,794,,,745',
'279,,15,15,,279,,,,,,,565,286,,,,785,,,866,565,,868,286,,,796,,,,15',
'11,,,,,,117,,,11,11,36,,,,,36,,,818,,,,797,947,,36,,,788,,,,,,793,,923',
'617,816,,,,,,,822,,,,15,,,,,15,843,,,,,,,,36,15,,858,,293,,,931,,854',
'932,,933,,36,,,,825,,,,850,,,,,,,11,942,,,943,,944,,,15,,,,,,,36,36',
',,36,,11,,15,,36,,828,,,,,,13,,293,,,664,,,,966,,,,,,,342,,,968,,15',
'15,,,15,,36,,,,15,921,,,,,,,605,13,,854,13,,,11,,11,,,,,11,,339,,262',
',940,,,,,,13,15,,,,14,,404,660,,14,662,,,,,,395,,,,,36,36,209,,,,,,',
',209,209,209,,14,284,284,36,565,,,,404,36,,36,,,,,13,,,,,14,209,,,15',
'15,209,209,13,13,209,328,338,338,,,,,,,,15,,,,,,15,732,15,309,,,,,319',
'319,13,,319,,738,739,,411,,,,,14,,,,,209,209,209,209,14,14,,,,,,,,,',
',750,,,,,,,,,,,,,319,319,319,319,,13,,,,,13,,,,460,,,,,,13,,,,,,,,,',
',,,473,,,11,,,,,,,,,,,,,,,,,795,,,,,13,,14,209,209,209,209,,,209,209',
'209,209,209,,13,,,11,,,11,,,14,,,,,,,,,815,,,,,,407,408,409,410,11,',
',13,13,823,,13,,,,,,13,209,209,,,,,,,,209,,,,,,,,,,,,,852,853,,14,855',
'14,,,,284,14,,13,,,,11,,,,,,,,,284,,,575,11,11,,,,,,,,,,,,,,,879,,,',
',209,209,,,,,,,11,,,,,,,,,,,209,,593,13,13,,,,602,,319,319,,,,209,,',
',,13,610,,,,,13,613,13,534,,,,,,,928,929,,,11,,,,540,11,,,634,,,,,938',
',11,,,,939,,,,,,,,,,,,,,,209,,,,,,,,,,,,,,,689,,,,11,,,,,,24,,,,,24',
',,,11,,,,829,,,209,,,24,,,,,,,,24,24,24,14,24,,,,,,284,,209,11,11,,',
'11,309,284,,736,,11,,24,24,,209,,,24,24,,,24,,,,,,,,14,,,14,,,746,,',
'209,,,,,626,11,,,,209,,,209,,,14,,,,,,24,,,,,24,24,24,24,24,24,,,,,',
',,,,319,,,,,209,209,,,,209,209,,,,,,,,,,,,,11,11,14,,,,,,,,,,,,,14,14',
'11,,,,,,11,,11,284,758,760,761,,,,,,,,284,,,,,819,,14,,,,,,24,24,24',
'24,24,,,24,24,24,24,24,,,,,,,,,,,24,,,,,848,,,,,,,,,,,,,209,,,,,14,',
'860,,,14,,,,,24,24,,,,14,802,804,805,24,,,,,319,209,,,,,,,,,,24,,24',
',,,,24,886,,,,,,,,,,14,896,,,,,,,,,,,,,,14,,,,826,,,,,,,,,,24,24,,,',
',,,,,,,,,,209,,14,14,24,,14,,,,,,14,,,,,,,24,,,,,,,,,,319,888,889,,',
'891,893,871,895,,,,,,,,,,14,,,,,,,,,,,,911,912,914,916,,917,,,,,,,,',
',,,,,24,,,,,,,,,,,,,,,,,,,,,,,,,209,,,,14,14,,,,,,,,,,,24,,,,,14,,951',
'953,954,955,14,,14,24,,,,961,963,964,965,,24,,,,,,,,,,,,,,,,24,,,,969',
',970,,,,,,,,,24,,,24,,,,,,24,,,,,,,,,,24,,,24,,,24,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,24,24,,,,24,24,,,,,,,,,,,,,,,24,,,,,,,,215,,,,,24,24,,261',
'261,261,,,,,,,,,,303,304,305,,,,,,,,,,,,24,261,261,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,24,,,,,24,,,,,24,,,,,,,,,,24,,,,,,,,,,24,',
',,,,,,,,,,,,,,,,,,,,,,,,,,24,,,,,,,,,,,,,,,24,,,,,,,,,,,,,,,,,,,,,,',
',381,261,389,261,,24,406,24,24,,,24,,,,,,24,,,215,,,420,421,422,423',
'424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440',
'441,442,443,444,445,,,,24,,261,261,,,,,,,,261,,,,,,,261,,261,,261,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,24,,494,,24,24,,,,,,,,,,,,,,,,24,,,,',
',24,,24,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,261,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,261,,406,582,389,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,594,,,,,,261,,261,,261,,,,,,,,,,,,,261,,,,,,,,,,623,624,625',
',,,,,261,,,,261,,,261,,,,,,,,,,,,,,261,261,,,,,,,,,,261,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,701,,261,704,,,708,710,,,,713,715,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,261,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,261,,798,,,,,,,,,,',
',708,710,715,713,,800,,,,,,,,,,,,261,,,,,,,261,,,,,,,,,,,,,,,,,,,,,',
',261,,,,,,,,,,,,,,,,,,261,,,,,,,,,,,,,,,,,798,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,261,,,261,,261' ]
        racc_goto_table = arr = ::Array.new(2769, 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 = [
'52,52,29,60,8,48,31,31,31,10,48,18,36,63,63,87,51,55,55,23,11,26,91',
'58,58,90,29,64,64,47,22,34,34,61,14,14,48,48,48,85,66,66,16,16,24,4',
'16,56,56,24,6,45,42,115,58,58,58,48,52,84,84,62,62,25,25,62,46,41,48',
'48,48,48,49,117,114,24,24,24,34,34,127,22,86,86,90,119,35,35,35,151',
'16,16,16,16,156,110,24,153,99,146,117,146,146,152,4,2,48,24,24,24,40',
'40,40,7,122,48,48,121,7,37,67,5,142,108,50,50,67,142,67,12,37,37,111',
'151,156,65,15,19,65,28,38,57,59,68,69,24,71,72,79,117,80,81,83,88,24',
'24,89,92,93,94,95,96,26,26,97,98,1,100,101,102,103,104,105,106,107,61',
'61,112,31,120,123,124,125,126,111,128,11,129,18,18,18,130,131,52,18',
'133,134,135,136,137,48,117,140,64,153,141,87,143,127,47,23,110,144,145',
'7,108,2,5,47,147,111,148,48,7,7,115,151,115,119,31,31,152,26,149,26',
'150,26,,31,24,,111,,23,34,34,22,,,,117,,,,,122,119,127,121,,,24,,49',
',37,,,,115,,115,58,29,,,,,,,48,,48,,,109,48,48,58,,114,,146,64,,90,',
'64,42,23,,,48,42,,,16,16,23,,22,34,,41,46,4,45,85,41,24,6,24,,34,,24',
'24,,,,,36,20,,40,,36,20,,,,24,40,47,,,90,91,,26,22,34,,86,,115,,,,34',
'22,,90,20,25,52,4,,,,,156,,66,29,,,,115,11,66,,55,,20,62,,,7,,,,,,31',
',9,64,67,14,,109,,64,109,67,52,,84,,,,56,,,63,64,,,,,63,26,,,117,,,26',
'29,26,,26,20,,,,,,,,,20,20,113,,60,,,,64,,,64,,,35,,31,,63,,35,26,,',
',26,58,,26,,,52,,48,61,58,,109,,109,48,64,26,52,,8,,,84,48,,,,64,45',
'61,31,,,,,,,45,,,31,35,,,35,52,24,48,16,,48,52,,24,,64,,,,20,26,,24',
'64,109,109,,,90,90,,67,48,,67,,,87,,,,20,52,,23,,24,90,90,24,18,18,9',
',,18,18,29,,55,,109,,109,26,17,,,60,,17,24,60,10,9,7,14,,,,24,84,109',
',48,66,,66,,56,29,66,,,58,,17,48,48,20,,20,,,,58,20,,48,,113,,64,113',
',64,,17,,48,,,45,24,8,,48,,17,8,51,,,45,9,,24,24,,9,,,,,,,29,24,,,,16',
',,113,29,,113,24,,,26,,,,24,17,,,,,,52,,,17,17,48,,,,,48,,,63,,,,18',
'66,,48,,,90,,,,,,90,,22,34,61,,,,,,,61,,,,24,,,,,24,26,,,,,,,,48,24',
',8,,58,,,113,,26,113,,113,,48,,,,48,,,,16,,,,,,,17,113,,,113,,113,,',
'24,,,,,,,48,48,,,48,,17,,24,,48,,24,,,,,,20,,58,,,90,,,,113,,,,,,,48',
',,113,,24,24,,,24,,48,,,,24,63,,,,,,,26,20,,26,20,,,17,,17,,,,,17,,24',
',31,,8,,,,,,20,24,,,,21,,52,9,,21,9,,,,,,64,,,,,48,48,21,,,,,,,,21,21',
'21,,21,21,21,48,29,,,,52,48,,48,,,,,20,,,,,21,21,,,24,24,21,21,20,20',
'21,21,21,21,,,,,,,,24,,,,,,24,9,24,27,,,,,27,27,20,,27,,9,9,,43,,,,',
'21,,,,,21,21,21,21,21,21,,,,,,,,,,,9,,,,,,,,,,,,,27,27,27,27,,20,,,',
',20,,,,43,,,,,,20,,,,,,,,,,,,,43,,,17,,,,,,,,,,,,,,,,,9,,,,,20,,21,21',
'21,21,21,,,21,21,21,21,21,,20,,,17,,,17,,,21,,,,,,,,,9,,,,,,27,27,27',
'27,17,,,20,20,9,,20,,,,,,20,21,21,,,,,,,,21,,,,,,,,,,,,,9,9,,21,9,21',
',,,21,21,,20,,,,17,,,,,,,,,21,,,43,17,17,,,,,,,,,,,,,,,9,,,,,21,21,',
',,,,,17,,,,,,,,,,,21,,43,20,20,,,,43,,27,27,,,,21,,,,,20,43,,,,,20,43',
'20,27,,,,,,,9,9,,,17,,,,27,17,,,43,,,,,9,,17,,,,9,,,,,,,,,,,,,,,21,',
',,,,,,,,,,,,,43,,,,17,,,,,,39,,,,,39,,,,17,,,,17,,,21,,,39,,,,,,,,39',
'39,39,21,39,,,,,,21,,21,17,17,,,17,27,21,,43,,17,,39,39,,21,,,39,39',
',,39,,,,,,,,21,,,21,,,43,,,21,,,,,27,17,,,,21,,,21,,,21,,,,,,39,,,,',
'39,39,39,39,39,39,,,,,,,,,,27,,,,,21,21,,,,21,21,,,,,,,,,,,,,17,17,21',
',,,,,,,,,,,,21,21,17,,,,,,17,,17,21,116,116,116,,,,,,,,21,,,,,43,,21',
',,,,,39,39,39,39,39,,,39,39,39,39,39,,,,,,,,,,,39,,,,,43,,,,,,,,,,,',
',21,,,,,21,,43,,,21,,,,,39,39,,,,21,116,116,116,39,,,,,27,21,,,,,,,',
',,39,,39,,,,,39,43,,,,,,,,,,21,43,,,,,,,,,,,,,,21,,,,21,,,,,,,,,,39',
'39,,,,,,,,,,,,,,21,,21,21,39,,21,,,,,,21,,,,,,,39,,,,,,,,,,27,116,116',
',,116,116,21,116,,,,,,,,,,21,,,,,,,,,,,,116,116,116,116,,116,,,,,,,',
',,,,,,39,,,,,,,,,,,,,,,,,,,,,,,,,21,,,,21,21,,,,,,,,,,,39,,,,,21,,116',
'116,116,116,21,,21,39,,,,116,116,116,116,,39,,,,,,,,,,,,,,,,39,,,,116',
',116,,,,,,,,,39,,,39,,,,,,39,,,,,,,,,,39,,,39,,,39,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,39,39,,,,39,39,,,,,,,,,,,,,,,39,,,,,,,,30,,,,,39,39,,30',
'30,30,,,,,,,,,,30,30,30,,,,,,,,,,,,39,30,30,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,39,,,,,39,,,,,39,,,,,,,,,,39,,,,,,,,,,39,,,,,,,,',
',,,,,,,,,,,,,,,,,,,39,,,,,,,,,,,,,,,39,,,,,,,,,,,,,,,,,,,,,,,,30,30',
'30,30,,39,30,39,39,,,39,,,,,,39,,,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,,,,39,,30,30,,,,,,,',
'30,,,,,,,30,,30,,30,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,,30,,39,39,',
',,,,,,,,,,,,,,39,,,,,,39,,39,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,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' ]
        racc_goto_check = arr = ::Array.new(2769, 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,   166,   105,   nil,    42,   116,    47,   113,   -48,   365,
  -298,  -476,  -498,   nil,    26,   127,   -16,   573,    -8,    74,
   332,   872,  -169,  -371,    44,  -133,   -34,   901,    27,   -16,
  1888,   -21,   nil,   nil,  -169,    62,  -237,  -327,  -311,  1312,
    83,    36,    21,   762,   nil,    19,    33,  -268,     5,  -264,
    60,   -50,    -8,   nil,   nil,     9,    39,  -236,    -9,    88,
   -51,   -21,  -250,   -41,     3,  -312,  -223,  -336,  -313,  -107,
   nil,  -310,  -452,   nil,   nil,   nil,   nil,   nil,   nil,    82,
    95,    95,   nil,  -166,  -261,  -621,  -432,  -310,    90,  -184,
    22,  -514,    91,  -196,  -150,   103,   101,  -499,   104,  -568,
  -356,  -688,  -361,  -513,  -172,  -181,  -364,  -620,  -722,  -366,
  -556,  -715,  -408,  -141,  -511,  -532,   845,  -436,   nil,  -500,
  -550,  -612,  -615,  -329,  -574,  -136,  -453,  -429,   164,  -644,
  -641,   -53,   nil,   -59,   -59,  -658,  -299,  -432,   nil,   nil,
   130,   131,    45,   129,   133,  -148,  -259,   139,  -323,  -312,
  -522,  -668,  -656,  -706,   nil,   nil,  -370 ]

racc_goto_default = [
   nil,   nil,   nil,     3,   nil,     4,   326,   274,   nil,   307,
   nil,   776,   nil,   273,   nil,   nil,   nil,   213,    17,    12,
   214,   302,   nil,   nil,   212,   nil,   267,    16,   nil,   412,
    20,    21,    22,    23,   620,   nil,   nil,   nil,   nil,   290,
   391,    30,   nil,   nil,    32,    35,    34,   nil,   210,   337,
   nil,   119,   397,   118,   121,    70,    71,   nil,    43,   nil,
   628,   263,   nil,   264,   402,   570,   nil,   265,   nil,   nil,
   251,   nil,   nil,    44,    45,    46,    47,    48,    49,    50,
   nil,   252,    56,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   511,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   768,   650,
   nil,   769,   nil,   639,   nil,   641,   nil,   837,   584,   nil,
   nil,   nil,   647,   nil,   nil,   nil,   nil,   687,   nil,   nil,
   nil,   nil,   401,   nil,   nil,   nil,   nil,   nil,    69,    72,
    73,   nil,   nil,   nil,   nil,   nil,   547,   nil,   nil,   nil,
   640,   652,   653,   731,   656,   659,   269 ]

racc_reduce_table = [
  0, 0, :racc_error,
  1, 138, :_reduce_none,
  2, 139, :_reduce_2,
  0, 140, :_reduce_3,
  1, 140, :_reduce_4,
  3, 140, :_reduce_5,
  2, 140, :_reduce_6,
  1, 142, :_reduce_none,
  4, 142, :_reduce_8,
  4, 145, :_reduce_9,
  2, 146, :_reduce_10,
  0, 150, :_reduce_11,
  1, 150, :_reduce_12,
  3, 150, :_reduce_13,
  2, 150, :_reduce_14,
  0, 165, :_reduce_15,
  4, 144, :_reduce_16,
  3, 144, :_reduce_17,
  3, 144, :_reduce_18,
  3, 144, :_reduce_19,
  2, 144, :_reduce_20,
  3, 144, :_reduce_21,
  3, 144, :_reduce_22,
  3, 144, :_reduce_23,
  3, 144, :_reduce_24,
  3, 144, :_reduce_25,
  4, 144, :_reduce_26,
  3, 144, :_reduce_27,
  3, 144, :_reduce_28,
  3, 144, :_reduce_29,
  6, 144, :_reduce_30,
  5, 144, :_reduce_31,
  5, 144, :_reduce_32,
  5, 144, :_reduce_33,
  5, 144, :_reduce_34,
  3, 144, :_reduce_35,
  3, 144, :_reduce_36,
  3, 144, :_reduce_37,
  3, 144, :_reduce_38,
  1, 144, :_reduce_none,
  1, 164, :_reduce_none,
  3, 164, :_reduce_41,
  3, 164, :_reduce_42,
  3, 164, :_reduce_43,
  2, 164, :_reduce_44,
  1, 164, :_reduce_none,
  1, 153, :_reduce_none,
  1, 155, :_reduce_none,
  1, 155, :_reduce_none,
  1, 169, :_reduce_none,
  4, 169, :_reduce_50,
  4, 169, :_reduce_51,
  0, 175, :_reduce_52,
  5, 173, :_reduce_53,
  2, 168, :_reduce_54,
  3, 168, :_reduce_55,
  4, 168, :_reduce_56,
  5, 168, :_reduce_57,
  4, 168, :_reduce_58,
  5, 168, :_reduce_59,
  2, 168, :_reduce_60,
  2, 168, :_reduce_61,
  2, 168, :_reduce_62,
  2, 168, :_reduce_63,
  2, 168, :_reduce_64,
  1, 156, :_reduce_65,
  3, 156, :_reduce_66,
  1, 179, :_reduce_67,
  3, 179, :_reduce_68,
  1, 178, :_reduce_none,
  2, 178, :_reduce_70,
  3, 178, :_reduce_71,
  5, 178, :_reduce_72,
  2, 178, :_reduce_73,
  4, 178, :_reduce_74,
  2, 178, :_reduce_75,
  4, 178, :_reduce_76,
  1, 178, :_reduce_77,
  3, 178, :_reduce_78,
  1, 182, :_reduce_none,
  3, 182, :_reduce_80,
  2, 181, :_reduce_81,
  3, 181, :_reduce_82,
  1, 184, :_reduce_83,
  3, 184, :_reduce_84,
  1, 183, :_reduce_85,
  4, 183, :_reduce_86,
  3, 183, :_reduce_87,
  3, 183, :_reduce_88,
  3, 183, :_reduce_89,
  3, 183, :_reduce_90,
  2, 183, :_reduce_91,
  1, 183, :_reduce_92,
  1, 154, :_reduce_93,
  4, 154, :_reduce_94,
  3, 154, :_reduce_95,
  3, 154, :_reduce_96,
  3, 154, :_reduce_97,
  3, 154, :_reduce_98,
  2, 154, :_reduce_99,
  1, 154, :_reduce_100,
  1, 186, :_reduce_101,
  1, 186, :_reduce_none,
  2, 187, :_reduce_103,
  1, 187, :_reduce_104,
  3, 187, :_reduce_105,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 191, :_reduce_111,
  1, 191, :_reduce_none,
  1, 151, :_reduce_none,
  1, 151, :_reduce_none,
  1, 152, :_reduce_115,
  0, 194, :_reduce_116,
  4, 152, :_reduce_117,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  3, 167, :_reduce_188,
  5, 167, :_reduce_189,
  3, 167, :_reduce_190,
  5, 167, :_reduce_191,
  6, 167, :_reduce_192,
  5, 167, :_reduce_193,
  5, 167, :_reduce_194,
  5, 167, :_reduce_195,
  5, 167, :_reduce_196,
  4, 167, :_reduce_197,
  3, 167, :_reduce_198,
  3, 167, :_reduce_199,
  3, 167, :_reduce_200,
  3, 167, :_reduce_201,
  3, 167, :_reduce_202,
  3, 167, :_reduce_203,
  3, 167, :_reduce_204,
  3, 167, :_reduce_205,
  3, 167, :_reduce_206,
  4, 167, :_reduce_207,
  4, 167, :_reduce_208,
  2, 167, :_reduce_209,
  2, 167, :_reduce_210,
  3, 167, :_reduce_211,
  3, 167, :_reduce_212,
  3, 167, :_reduce_213,
  3, 167, :_reduce_214,
  3, 167, :_reduce_215,
  3, 167, :_reduce_216,
  3, 167, :_reduce_217,
  3, 167, :_reduce_218,
  3, 167, :_reduce_219,
  3, 167, :_reduce_220,
  3, 167, :_reduce_221,
  3, 167, :_reduce_222,
  3, 167, :_reduce_223,
  2, 167, :_reduce_224,
  2, 167, :_reduce_225,
  3, 167, :_reduce_226,
  3, 167, :_reduce_227,
  3, 167, :_reduce_228,
  3, 167, :_reduce_229,
  3, 167, :_reduce_230,
  6, 167, :_reduce_231,
  1, 167, :_reduce_none,
  1, 163, :_reduce_none,
  1, 196, :_reduce_none,
  2, 196, :_reduce_none,
  4, 196, :_reduce_236,
  2, 196, :_reduce_237,
  3, 201, :_reduce_238,
  0, 202, :_reduce_239,
  1, 202, :_reduce_none,
  0, 159, :_reduce_241,
  1, 159, :_reduce_none,
  1, 177, :_reduce_243,
  2, 177, :_reduce_244,
  2, 177, :_reduce_245,
  4, 177, :_reduce_246,
  6, 177, :_reduce_247,
  1, 177, :_reduce_248,
  4, 205, :_reduce_249,
  3, 205, :_reduce_250,
  2, 205, :_reduce_251,
  4, 205, :_reduce_252,
  6, 205, :_reduce_253,
  1, 205, :_reduce_254,
  0, 207, :_reduce_255,
  2, 172, :_reduce_256,
  1, 206, :_reduce_257,
  0, 208, :_reduce_258,
  3, 206, :_reduce_259,
  0, 209, :_reduce_260,
  4, 206, :_reduce_261,
  2, 204, :_reduce_262,
  2, 203, :_reduce_263,
  1, 203, :_reduce_264,
  0, 203, :_reduce_265,
  1, 198, :_reduce_266,
  2, 198, :_reduce_267,
  3, 198, :_reduce_268,
  4, 198, :_reduce_269,
  3, 162, :_reduce_270,
  4, 162, :_reduce_271,
  2, 162, :_reduce_272,
  1, 195, :_reduce_none,
  1, 195, :_reduce_none,
  1, 195, :_reduce_none,
  1, 195, :_reduce_none,
  1, 195, :_reduce_none,
  1, 195, :_reduce_none,
  1, 195, :_reduce_none,
  1, 195, :_reduce_none,
  1, 195, :_reduce_281,
  3, 195, :_reduce_282,
  0, 231, :_reduce_283,
  4, 195, :_reduce_284,
  3, 195, :_reduce_285,
  3, 195, :_reduce_286,
  2, 195, :_reduce_287,
  3, 195, :_reduce_288,
  3, 195, :_reduce_289,
  1, 195, :_reduce_290,
  4, 195, :_reduce_291,
  3, 195, :_reduce_292,
  1, 195, :_reduce_293,
  5, 195, :_reduce_294,
  4, 195, :_reduce_295,
  3, 195, :_reduce_296,
  2, 195, :_reduce_297,
  1, 195, :_reduce_none,
  2, 195, :_reduce_299,
  0, 232, :_reduce_300,
  3, 195, :_reduce_301,
  6, 195, :_reduce_302,
  6, 195, :_reduce_303,
  0, 233, :_reduce_304,
  0, 234, :_reduce_305,
  7, 195, :_reduce_306,
  0, 235, :_reduce_307,
  0, 236, :_reduce_308,
  7, 195, :_reduce_309,
  5, 195, :_reduce_310,
  4, 195, :_reduce_311,
  0, 237, :_reduce_312,
  0, 238, :_reduce_313,
  9, 195, :_reduce_314,
  0, 239, :_reduce_315,
  6, 195, :_reduce_316,
  0, 240, :_reduce_317,
  7, 195, :_reduce_318,
  0, 241, :_reduce_319,
  5, 195, :_reduce_320,
  0, 242, :_reduce_321,
  6, 195, :_reduce_322,
  0, 243, :_reduce_323,
  0, 244, :_reduce_324,
  9, 195, :_reduce_325,
  1, 195, :_reduce_326,
  1, 195, :_reduce_327,
  1, 195, :_reduce_328,
  1, 195, :_reduce_329,
  1, 158, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  2, 221, :_reduce_333,
  1, 223, :_reduce_none,
  1, 223, :_reduce_none,
  1, 222, :_reduce_none,
  5, 222, :_reduce_337,
  1, 148, :_reduce_none,
  2, 148, :_reduce_339,
  1, 225, :_reduce_none,
  1, 225, :_reduce_none,
  1, 245, :_reduce_none,
  3, 245, :_reduce_343,
  1, 248, :_reduce_344,
  3, 248, :_reduce_345,
  1, 247, :_reduce_none,
  4, 247, :_reduce_347,
  6, 247, :_reduce_348,
  3, 247, :_reduce_349,
  5, 247, :_reduce_350,
  2, 247, :_reduce_351,
  4, 247, :_reduce_352,
  1, 247, :_reduce_353,
  3, 247, :_reduce_354,
  6, 249, :_reduce_355,
  8, 249, :_reduce_356,
  4, 249, :_reduce_357,
  6, 249, :_reduce_358,
  4, 249, :_reduce_359,
  2, 249, :_reduce_none,
  6, 249, :_reduce_361,
  2, 249, :_reduce_362,
  4, 249, :_reduce_363,
  6, 249, :_reduce_364,
  2, 249, :_reduce_365,
  4, 249, :_reduce_366,
  2, 249, :_reduce_367,
  4, 249, :_reduce_368,
  1, 249, :_reduce_369,
  0, 174, :_reduce_370,
  1, 174, :_reduce_371,
  3, 255, :_reduce_372,
  1, 255, :_reduce_373,
  4, 255, :_reduce_374,
  0, 256, :_reduce_375,
  2, 256, :_reduce_376,
  1, 257, :_reduce_377,
  3, 257, :_reduce_378,
  1, 258, :_reduce_379,
  1, 258, :_reduce_none,
  0, 262, :_reduce_381,
  0, 263, :_reduce_382,
  4, 220, :_reduce_383,
  4, 260, :_reduce_384,
  1, 260, :_reduce_385,
  0, 266, :_reduce_386,
  4, 261, :_reduce_387,
  0, 267, :_reduce_388,
  4, 261, :_reduce_389,
  0, 268, :_reduce_390,
  5, 265, :_reduce_391,
  2, 170, :_reduce_392,
  4, 170, :_reduce_393,
  4, 170, :_reduce_394,
  2, 219, :_reduce_395,
  4, 219, :_reduce_396,
  4, 219, :_reduce_397,
  3, 219, :_reduce_398,
  3, 219, :_reduce_399,
  3, 219, :_reduce_400,
  2, 219, :_reduce_401,
  1, 219, :_reduce_402,
  4, 219, :_reduce_403,
  0, 270, :_reduce_404,
  5, 218, :_reduce_405,
  0, 271, :_reduce_406,
  5, 218, :_reduce_407,
  5, 224, :_reduce_408,
  1, 272, :_reduce_409,
  1, 272, :_reduce_none,
  6, 147, :_reduce_411,
  0, 147, :_reduce_412,
  1, 273, :_reduce_413,
  1, 273, :_reduce_none,
  1, 273, :_reduce_none,
  2, 274, :_reduce_416,
  1, 274, :_reduce_none,
  2, 149, :_reduce_418,
  1, 149, :_reduce_none,
  1, 210, :_reduce_none,
  1, 210, :_reduce_none,
  1, 210, :_reduce_none,
  1, 211, :_reduce_423,
  1, 276, :_reduce_424,
  2, 276, :_reduce_425,
  3, 277, :_reduce_426,
  1, 277, :_reduce_427,
  1, 277, :_reduce_428,
  3, 212, :_reduce_429,
  4, 213, :_reduce_430,
  3, 214, :_reduce_431,
  0, 281, :_reduce_432,
  3, 281, :_reduce_433,
  1, 282, :_reduce_434,
  2, 282, :_reduce_435,
  3, 215, :_reduce_436,
  0, 284, :_reduce_437,
  3, 284, :_reduce_438,
  0, 278, :_reduce_439,
  2, 278, :_reduce_440,
  0, 279, :_reduce_441,
  2, 279, :_reduce_442,
  0, 280, :_reduce_443,
  2, 280, :_reduce_444,
  1, 283, :_reduce_445,
  2, 283, :_reduce_446,
  0, 286, :_reduce_447,
  4, 283, :_reduce_448,
  1, 285, :_reduce_449,
  1, 285, :_reduce_450,
  1, 285, :_reduce_451,
  1, 285, :_reduce_none,
  1, 192, :_reduce_453,
  3, 193, :_reduce_454,
  1, 275, :_reduce_455,
  1, 275, :_reduce_456,
  2, 275, :_reduce_457,
  2, 275, :_reduce_458,
  1, 185, :_reduce_459,
  1, 185, :_reduce_460,
  1, 185, :_reduce_461,
  1, 185, :_reduce_462,
  1, 185, :_reduce_463,
  1, 185, :_reduce_464,
  1, 185, :_reduce_465,
  1, 185, :_reduce_466,
  1, 185, :_reduce_467,
  1, 185, :_reduce_468,
  1, 185, :_reduce_469,
  1, 185, :_reduce_470,
  1, 216, :_reduce_471,
  1, 157, :_reduce_472,
  1, 161, :_reduce_473,
  1, 161, :_reduce_474,
  1, 226, :_reduce_475,
  3, 226, :_reduce_476,
  2, 226, :_reduce_477,
  3, 228, :_reduce_478,
  2, 228, :_reduce_479,
  6, 264, :_reduce_480,
  8, 264, :_reduce_481,
  4, 264, :_reduce_482,
  6, 264, :_reduce_483,
  4, 264, :_reduce_484,
  6, 264, :_reduce_485,
  2, 264, :_reduce_486,
  4, 264, :_reduce_487,
  6, 264, :_reduce_488,
  2, 264, :_reduce_489,
  4, 264, :_reduce_490,
  2, 264, :_reduce_491,
  4, 264, :_reduce_492,
  1, 264, :_reduce_493,
  0, 264, :_reduce_494,
  1, 259, :_reduce_495,
  1, 259, :_reduce_496,
  1, 259, :_reduce_497,
  1, 259, :_reduce_498,
  1, 246, :_reduce_none,
  1, 246, :_reduce_500,
  3, 246, :_reduce_501,
  2, 246, :_reduce_502,
  1, 288, :_reduce_none,
  3, 288, :_reduce_504,
  1, 250, :_reduce_505,
  3, 250, :_reduce_506,
  3, 289, :_reduce_507,
  3, 290, :_reduce_508,
  1, 251, :_reduce_509,
  3, 251, :_reduce_510,
  1, 287, :_reduce_511,
  3, 287, :_reduce_512,
  1, 291, :_reduce_none,
  1, 291, :_reduce_none,
  2, 252, :_reduce_515,
  1, 252, :_reduce_516,
  1, 292, :_reduce_none,
  1, 292, :_reduce_none,
  2, 254, :_reduce_519,
  2, 253, :_reduce_520,
  0, 253, :_reduce_521,
  1, 229, :_reduce_none,
  3, 229, :_reduce_523,
  0, 217, :_reduce_524,
  2, 217, :_reduce_none,
  1, 200, :_reduce_526,
  3, 200, :_reduce_527,
  3, 293, :_reduce_528,
  2, 293, :_reduce_529,
  1, 176, :_reduce_none,
  1, 176, :_reduce_none,
  1, 176, :_reduce_none,
  1, 171, :_reduce_none,
  1, 171, :_reduce_none,
  1, 171, :_reduce_none,
  1, 171, :_reduce_none,
  1, 269, :_reduce_none,
  1, 269, :_reduce_none,
  1, 269, :_reduce_none,
  1, 230, :_reduce_none,
  1, 230, :_reduce_none,
  0, 141, :_reduce_none,
  1, 141, :_reduce_none,
  0, 166, :_reduce_none,
  1, 166, :_reduce_none,
  2, 180, :_reduce_546,
  2, 160, :_reduce_547,
  0, 199, :_reduce_none,
  1, 199, :_reduce_none,
  1, 199, :_reduce_none,
  1, 227, :_reduce_551,
  1, 227, :_reduce_none,
  1, 143, :_reduce_none,
  2, 143, :_reduce_none,
  0, 197, :_reduce_555 ]

racc_reduce_n = 556

racc_shift_n = 971

racc_token_table = {
  false => 0,
  :error => 1,
  :kCLASS => 2,
  :kMODULE => 3,
  :kDEF => 4,
  :kUNDEF => 5,
  :kBEGIN => 6,
  :kRESCUE => 7,
  :kENSURE => 8,
  :kEND => 9,
  :kIF => 10,
  :kUNLESS => 11,
  :kTHEN => 12,
  :kELSIF => 13,
  :kELSE => 14,
  :kCASE => 15,
  :kWHEN => 16,
  :kWHILE => 17,
  :kUNTIL => 18,
  :kFOR => 19,
  :kBREAK => 20,
  :kNEXT => 21,
  :kREDO => 22,
  :kRETRY => 23,
  :kIN => 24,
  :kDO => 25,
  :kDO_COND => 26,
  :kDO_BLOCK => 27,
  :kDO_LAMBDA => 28,
  :kRETURN => 29,
  :kYIELD => 30,
  :kSUPER => 31,
  :kSELF => 32,
  :kNIL => 33,
  :kTRUE => 34,
  :kFALSE => 35,
  :kAND => 36,
  :kOR => 37,
  :kNOT => 38,
  :kIF_MOD => 39,
  :kUNLESS_MOD => 40,
  :kWHILE_MOD => 41,
  :kUNTIL_MOD => 42,
  :kRESCUE_MOD => 43,
  :kALIAS => 44,
  :kDEFINED => 45,
  :klBEGIN => 46,
  :klEND => 47,
  :k__LINE__ => 48,
  :k__FILE__ => 49,
  :k__ENCODING__ => 50,
  :tIDENTIFIER => 51,
  :tFID => 52,
  :tGVAR => 53,
  :tIVAR => 54,
  :tCONSTANT => 55,
  :tLABEL => 56,
  :tCVAR => 57,
  :tNTH_REF => 58,
  :tBACK_REF => 59,
  :tSTRING_CONTENT => 60,
  :tINTEGER => 61,
  :tFLOAT => 62,
  :tUPLUS => 63,
  :tUMINUS => 64,
  :tUNARY_NUM => 65,
  :tPOW => 66,
  :tCMP => 67,
  :tEQ => 68,
  :tEQQ => 69,
  :tNEQ => 70,
  :tGEQ => 71,
  :tLEQ => 72,
  :tANDOP => 73,
  :tOROP => 74,
  :tMATCH => 75,
  :tNMATCH => 76,
  :tDOT => 77,
  :tDOT2 => 78,
  :tDOT3 => 79,
  :tAREF => 80,
  :tASET => 81,
  :tLSHFT => 82,
  :tRSHFT => 83,
  :tCOLON2 => 84,
  :tCOLON3 => 85,
  :tOP_ASGN => 86,
  :tASSOC => 87,
  :tLPAREN => 88,
  :tLPAREN2 => 89,
  :tRPAREN => 90,
  :tLPAREN_ARG => 91,
  :tLBRACK => 92,
  :tLBRACK2 => 93,
  :tRBRACK => 94,
  :tLBRACE => 95,
  :tLBRACE_ARG => 96,
  :tSTAR => 97,
  :tSTAR2 => 98,
  :tAMPER => 99,
  :tAMPER2 => 100,
  :tTILDE => 101,
  :tPERCENT => 102,
  :tDIVIDE => 103,
  :tPLUS => 104,
  :tMINUS => 105,
  :tLT => 106,
  :tGT => 107,
  :tPIPE => 108,
  :tBANG => 109,
  :tCARET => 110,
  :tLCURLY => 111,
  :tRCURLY => 112,
  :tBACK_REF2 => 113,
  :tSYMBEG => 114,
  :tSTRING_BEG => 115,
  :tXSTRING_BEG => 116,
  :tREGEXP_BEG => 117,
  :tREGEXP_OPT => 118,
  :tWORDS_BEG => 119,
  :tQWORDS_BEG => 120,
  :tSTRING_DBEG => 121,
  :tSTRING_DVAR => 122,
  :tSTRING_END => 123,
  :tSTRING => 124,
  :tSYMBOL => 125,
  :tNL => 126,
  :tEH => 127,
  :tCOLON => 128,
  :tCOMMA => 129,
  :tSPACE => 130,
  :tSEMI => 131,
  :tLAMBDA => 132,
  :tLAMBEG => 133,
  :tCHARACTER => 134,
  :tEQL => 135,
  :tLOWEST => 136 }

racc_nt_base = 137

racc_use_result_var = true

Racc_arg = [
  racc_action_table,
  racc_action_check,
  racc_action_default,
  racc_action_pointer,
  racc_goto_table,
  racc_goto_check,
  racc_goto_default,
  racc_goto_pointer,
  racc_nt_base,
  racc_reduce_table,
  racc_token_table,
  racc_shift_n,
  racc_reduce_n,
  racc_use_result_var ]

Racc_token_to_s_table = [
  "$end",
  "error",
  "kCLASS",
  "kMODULE",
  "kDEF",
  "kUNDEF",
  "kBEGIN",
  "kRESCUE",
  "kENSURE",
  "kEND",
  "kIF",
  "kUNLESS",
  "kTHEN",
  "kELSIF",
  "kELSE",
  "kCASE",
  "kWHEN",
  "kWHILE",
  "kUNTIL",
  "kFOR",
  "kBREAK",
  "kNEXT",
  "kREDO",
  "kRETRY",
  "kIN",
  "kDO",
  "kDO_COND",
  "kDO_BLOCK",
  "kDO_LAMBDA",
  "kRETURN",
  "kYIELD",
  "kSUPER",
  "kSELF",
  "kNIL",
  "kTRUE",
  "kFALSE",
  "kAND",
  "kOR",
  "kNOT",
  "kIF_MOD",
  "kUNLESS_MOD",
  "kWHILE_MOD",
  "kUNTIL_MOD",
  "kRESCUE_MOD",
  "kALIAS",
  "kDEFINED",
  "klBEGIN",
  "klEND",
  "k__LINE__",
  "k__FILE__",
  "k__ENCODING__",
  "tIDENTIFIER",
  "tFID",
  "tGVAR",
  "tIVAR",
  "tCONSTANT",
  "tLABEL",
  "tCVAR",
  "tNTH_REF",
  "tBACK_REF",
  "tSTRING_CONTENT",
  "tINTEGER",
  "tFLOAT",
  "tUPLUS",
  "tUMINUS",
  "tUNARY_NUM",
  "tPOW",
  "tCMP",
  "tEQ",
  "tEQQ",
  "tNEQ",
  "tGEQ",
  "tLEQ",
  "tANDOP",
  "tOROP",
  "tMATCH",
  "tNMATCH",
  "tDOT",
  "tDOT2",
  "tDOT3",
  "tAREF",
  "tASET",
  "tLSHFT",
  "tRSHFT",
  "tCOLON2",
  "tCOLON3",
  "tOP_ASGN",
  "tASSOC",
  "tLPAREN",
  "tLPAREN2",
  "tRPAREN",
  "tLPAREN_ARG",
  "tLBRACK",
  "tLBRACK2",
  "tRBRACK",
  "tLBRACE",
  "tLBRACE_ARG",
  "tSTAR",
  "tSTAR2",
  "tAMPER",
  "tAMPER2",
  "tTILDE",
  "tPERCENT",
  "tDIVIDE",
  "tPLUS",
  "tMINUS",
  "tLT",
  "tGT",
  "tPIPE",
  "tBANG",
  "tCARET",
  "tLCURLY",
  "tRCURLY",
  "tBACK_REF2",
  "tSYMBEG",
  "tSTRING_BEG",
  "tXSTRING_BEG",
  "tREGEXP_BEG",
  "tREGEXP_OPT",
  "tWORDS_BEG",
  "tQWORDS_BEG",
  "tSTRING_DBEG",
  "tSTRING_DVAR",
  "tSTRING_END",
  "tSTRING",
  "tSYMBOL",
  "tNL",
  "tEH",
  "tCOLON",
  "tCOMMA",
  "tSPACE",
  "tSEMI",
  "tLAMBDA",
  "tLAMBEG",
  "tCHARACTER",
  "tEQL",
  "tLOWEST",
  "$start",
  "program",
  "top_compstmt",
  "top_stmts",
  "opt_terms",
  "top_stmt",
  "terms",
  "stmt",
  "bodystmt",
  "compstmt",
  "opt_rescue",
  "opt_else",
  "opt_ensure",
  "stmts",
  "fitem",
  "undef_list",
  "expr_value",
  "lhs",
  "command_call",
  "mlhs",
  "var_lhs",
  "primary_value",
  "opt_call_args",
  "rbracket",
  "backref",
  "mrhs",
  "arg_value",
  "expr",
  "@1",
  "opt_nl",
  "arg",
  "command",
  "block_command",
  "block_call",
  "operation2",
  "command_args",
  "cmd_brace_block",
  "opt_block_param",
  "@2",
  "operation",
  "call_args",
  "mlhs_basic",
  "mlhs_inner",
  "rparen",
  "mlhs_head",
  "mlhs_item",
  "mlhs_node",
  "mlhs_post",
  "variable",
  "cname",
  "cpath",
  "fname",
  "op",
  "reswords",
  "fsym",
  "symbol",
  "dsym",
  "@3",
  "primary",
  "aref_args",
  "none",
  "args",
  "trailer",
  "assocs",
  "paren_args",
  "opt_paren_args",
  "opt_block_arg",
  "block_arg",
  "call_args2",
  "open_args",
  "@4",
  "@5",
  "@6",
  "literal",
  "strings",
  "xstring",
  "regexp",
  "words",
  "qwords",
  "var_ref",
  "assoc_list",
  "brace_block",
  "method_call",
  "lambda",
  "then",
  "if_tail",
  "do",
  "case_body",
  "for_var",
  "superclass",
  "term",
  "f_arglist",
  "singleton",
  "dot_or_colon",
  "@7",
  "@8",
  "@9",
  "@10",
  "@11",
  "@12",
  "@13",
  "@14",
  "@15",
  "@16",
  "@17",
  "@18",
  "@19",
  "@20",
  "f_marg",
  "f_norm_arg",
  "f_margs",
  "f_marg_list",
  "block_param",
  "f_arg",
  "f_block_optarg",
  "f_rest_arg",
  "opt_f_block_arg",
  "f_block_arg",
  "block_param_def",
  "opt_bv_decl",
  "bv_decls",
  "bvar",
  "f_bad_arg",
  "f_larglist",
  "lambda_body",
  "@21",
  "@22",
  "f_args",
  "do_block",
  "@23",
  "@24",
  "@25",
  "operation3",
  "@26",
  "@27",
  "cases",
  "exc_list",
  "exc_var",
  "numeric",
  "string",
  "string1",
  "string_contents",
  "xstring_contents",
  "regexp_contents",
  "word_list",
  "word",
  "string_content",
  "qword_list",
  "string_dvar",
  "@28",
  "f_optarg",
  "f_arg_item",
  "f_opt",
  "f_block_opt",
  "restarg_mark",
  "blkarg_mark",
  "assoc" ]

Racc_debug_parser = false

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

# reduce 0 omitted

# reduce 1 omitted

def _reduce_2(val, _values, result)
                      result = @builder.compstmt(val[0])
                    
    result
end

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

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

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

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

# reduce 7 omitted

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

def _reduce_9(val, _values, result)
                      rescue_bodies     = val[1]
                      else_t,   else_   = val[2]
                      ensure_t, ensure_ = val[3]

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

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

def _reduce_10(val, _values, result)
                      result = @builder.compstmt(val[0])
                    
    result
end

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

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

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

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

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

def _reduce_16(val, _values, result)
                      result = @builder.alias(val[0], val[1], val[3])
                    
    result
end

def _reduce_17(val, _values, result)
                      result = @builder.alias(val[0],
                                  @builder.gvar(val[1]),
                                  @builder.gvar(val[2]))
                    
    result
end

def _reduce_18(val, _values, result)
                      result = @builder.alias(val[0],
                                  @builder.gvar(val[1]),
                                  @builder.back_ref(val[2]))
                    
    result
end

def _reduce_19(val, _values, result)
                      diagnostic :error, :nth_ref_alias, nil, val[2]
                    
    result
end

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

def _reduce_21(val, _values, result)
                      result = @builder.condition_mod(val[0], nil,
                                                      val[1], val[2])
                    
    result
end

def _reduce_22(val, _values, result)
                      result = @builder.condition_mod(nil, val[0],
                                                      val[1], val[2])
                    
    result
end

def _reduce_23(val, _values, result)
                      result = @builder.loop_mod(:while, val[0], val[1], val[2])
                    
    result
end

def _reduce_24(val, _values, result)
                      result = @builder.loop_mod(:until, val[0], val[1], val[2])
                    
    result
end

def _reduce_25(val, _values, result)
                      rescue_body = @builder.rescue_body(val[1],
                                        nil, nil, nil,
                                        nil, val[2])

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

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

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

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

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

def _reduce_30(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.index(
                                    val[0], val[1], val[2], val[3]),
                                  val[4], val[5])
                    
    result
end

def _reduce_31(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])
                    
    result
end

def _reduce_32(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])
                    
    result
end

def _reduce_33(val, _values, result)
                      diagnostic :error, :const_reassignment, nil, val[3]
                    
    result
end

def _reduce_34(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])
                    
    result
end

def _reduce_35(val, _values, result)
                      @builder.op_assign(val[0], val[1], val[2])
                    
    result
end

def _reduce_36(val, _values, result)
                      result = @builder.assign(val[0], val[1],
                                  @builder.array(nil, val[2], nil))
                    
    result
end

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

def _reduce_38(val, _values, result)
                      result = @builder.multi_assign(val[0], val[1],
                                  @builder.array(nil, val[2], nil))
                    
    result
end

# reduce 39 omitted

# reduce 40 omitted

def _reduce_41(val, _values, result)
                      result = @builder.logical_op(:and, val[0], val[1], val[2])
                    
    result
end

def _reduce_42(val, _values, result)
                      result = @builder.logical_op(:or, val[0], val[1], val[2])
                    
    result
end

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

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

# reduce 45 omitted

# reduce 46 omitted

# reduce 47 omitted

# reduce 48 omitted

# reduce 49 omitted

def _reduce_50(val, _values, result)
                      result = @builder.call_method(val[0], val[1], val[2],
                                  *val[3])
                    
    result
end

def _reduce_51(val, _values, result)
                      result = @builder.call_method(val[0], val[1], val[2],
                                  *val[3])
                    
    result
end

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

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

                      @static_env.unextend
                      @context.pop
                    
    result
end

def _reduce_54(val, _values, result)
                      result = @builder.call_method(nil, nil, val[0],
                                  *val[1])
                    
    result
end

def _reduce_55(val, _values, result)
                      method_call = @builder.call_method(nil, nil, val[0],
                                        *val[1])

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

def _reduce_56(val, _values, result)
                      result = @builder.call_method(val[0], val[1], val[2],
                                  *val[3])
                    
    result
end

def _reduce_57(val, _values, result)
                      method_call = @builder.call_method(val[0], val[1], val[2],
                                        *val[3])

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

def _reduce_58(val, _values, result)
                      result = @builder.call_method(val[0], val[1], val[2],
                                  *val[3])
                    
    result
end

def _reduce_59(val, _values, result)
                      method_call = @builder.call_method(val[0], val[1], val[2],
                                        *val[3])

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

def _reduce_60(val, _values, result)
                      result = @builder.keyword_cmd(:super, val[0],
                                  *val[1])
                    
    result
end

def _reduce_61(val, _values, result)
                      result = @builder.keyword_cmd(:yield, val[0],
                                  *val[1])
                    
    result
end

def _reduce_62(val, _values, result)
                      result = @builder.keyword_cmd(:return, val[0],
                                  nil, val[1], nil)
                    
    result
end

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

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

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

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

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

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

# reduce 69 omitted

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

def _reduce_71(val, _values, result)
                      result = val[0].
                                  push(@builder.splat(val[1], val[2]))
                    
    result
end

def _reduce_72(val, _values, result)
                      result = val[0].
                                  push(@builder.splat(val[1], val[2])).
                                  concat(val[4])
                    
    result
end

def _reduce_73(val, _values, result)
                      result = val[0].
                                  push(@builder.splat(val[1]))
                    
    result
end

def _reduce_74(val, _values, result)
                      result = val[0].
                                  push(@builder.splat(val[1])).
                                  concat(val[3])
                    
    result
end

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

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

def _reduce_77(val, _values, result)
                      result = [ @builder.splat(val[0]) ]
                    
    result
end

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

# reduce 79 omitted

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

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

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

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

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

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

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

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

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

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

def _reduce_90(val, _values, result)
                      result = @builder.assignable(
                                  @builder.const_fetch(val[0], val[1], val[2]))
                    
    result
end

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

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

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

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

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

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

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

def _reduce_98(val, _values, result)
                      result = @builder.assignable(
                                  @builder.const_fetch(val[0], val[1], val[2]))
                    
    result
end

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

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

def _reduce_101(val, _values, result)
                      diagnostic :error, :module_name_const, nil, val[0]
                    
    result
end

# reduce 102 omitted

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

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

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

# reduce 106 omitted

# reduce 107 omitted

# reduce 108 omitted

# reduce 109 omitted

# reduce 110 omitted

def _reduce_111(val, _values, result)
                      result = @builder.symbol_internal(val[0])
                    
    result
end

# reduce 112 omitted

# reduce 113 omitted

# reduce 114 omitted

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

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

def _reduce_117(val, _values, result)
                      result = val[0] << val[3]
                    
    result
end

# reduce 118 omitted

# reduce 119 omitted

# reduce 120 omitted

# reduce 121 omitted

# reduce 122 omitted

# reduce 123 omitted

# reduce 124 omitted

# reduce 125 omitted

# reduce 126 omitted

# reduce 127 omitted

# reduce 128 omitted

# reduce 129 omitted

# reduce 130 omitted

# reduce 131 omitted

# reduce 132 omitted

# reduce 133 omitted

# reduce 134 omitted

# reduce 135 omitted

# reduce 136 omitted

# reduce 137 omitted

# reduce 138 omitted

# reduce 139 omitted

# reduce 140 omitted

# reduce 141 omitted

# reduce 142 omitted

# reduce 143 omitted

# reduce 144 omitted

# reduce 145 omitted

# reduce 146 omitted

# reduce 147 omitted

# reduce 148 omitted

# reduce 149 omitted

# reduce 150 omitted

# reduce 151 omitted

# reduce 152 omitted

# reduce 153 omitted

# reduce 154 omitted

# reduce 155 omitted

# reduce 156 omitted

# reduce 157 omitted

# reduce 158 omitted

# reduce 159 omitted

# reduce 160 omitted

# reduce 161 omitted

# reduce 162 omitted

# reduce 163 omitted

# reduce 164 omitted

# reduce 165 omitted

# reduce 166 omitted

# reduce 167 omitted

# reduce 168 omitted

# reduce 169 omitted

# reduce 170 omitted

# reduce 171 omitted

# reduce 172 omitted

# reduce 173 omitted

# reduce 174 omitted

# reduce 175 omitted

# reduce 176 omitted

# reduce 177 omitted

# reduce 178 omitted

# reduce 179 omitted

# reduce 180 omitted

# reduce 181 omitted

# reduce 182 omitted

# reduce 183 omitted

# reduce 184 omitted

# reduce 185 omitted

# reduce 186 omitted

# reduce 187 omitted

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

def _reduce_189(val, _values, result)
                      rescue_body = @builder.rescue_body(val[3],
                                        nil, nil, nil,
                                        nil, val[4])

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

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

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

def _reduce_191(val, _values, result)
                      rescue_body = @builder.rescue_body(val[3],
                                        nil, nil, nil,
                                        nil, val[4])

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

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

def _reduce_192(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.index(
                                    val[0], val[1], val[2], val[3]),
                                  val[4], val[5])
                    
    result
end

def _reduce_193(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])
                    
    result
end

def _reduce_194(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])
                    
    result
end

def _reduce_195(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])
                    
    result
end

def _reduce_196(val, _values, result)
                      diagnostic :error, :dynamic_const, nil, val[2], [ val[3] ]
                    
    result
end

def _reduce_197(val, _values, result)
                      diagnostic :error, :dynamic_const, nil, val[1], [ val[2] ]
                    
    result
end

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

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

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

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

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

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

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

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

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

def _reduce_207(val, _values, result)
                      result = @builder.unary_op(val[0],
                                  @builder.binary_op(
                                    @builder.integer(val[1]),
                                      val[2], val[3]))
                    
    result
end

def _reduce_208(val, _values, result)
                      result = @builder.unary_op(val[0],
                                  @builder.binary_op(
                                    @builder.float(val[1]),
                                      val[2], val[3]))
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

def _reduce_228(val, _values, result)
                      result = @builder.logical_op(:and, val[0], val[1], val[2])
                    
    result
end

def _reduce_229(val, _values, result)
                      result = @builder.logical_op(:or, val[0], val[1], val[2])
                    
    result
end

def _reduce_230(val, _values, result)
                      result = @builder.keyword_cmd(:defined?, val[0], nil, [ val[2] ], nil)
                    
    result
end

def _reduce_231(val, _values, result)
                      result = @builder.ternary(val[0], val[1],
                                                val[2], val[4], val[5])
                    
    result
end

# reduce 232 omitted

# reduce 233 omitted

# reduce 234 omitted

# reduce 235 omitted

def _reduce_236(val, _values, result)
                      result = val[0] << @builder.associate(nil, val[2], nil)
                    
    result
end

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

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

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

# reduce 240 omitted

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

# reduce 242 omitted

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

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

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

def _reduce_246(val, _values, result)
                      assocs = @builder.associate(nil, val[2], nil)
                      result = val[0] << assocs
                      result.concat(val[3])
                    
    result
end

def _reduce_247(val, _values, result)
                      val[2][-1] = @builder.objc_varargs(val[2][-1], val[4])
                      assocs = @builder.associate(nil, val[2], nil)
                      result = val[0] << assocs
                      result.concat(val[5])
                    
    result
end

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

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

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

def _reduce_251(val, _values, result)
                      result =  [ @builder.associate(nil, val[0], nil),
                                  *val[1] ]
                    
    result
end

def _reduce_252(val, _values, result)
                      result =  [ val[0],
                                  @builder.associate(nil, val[2], nil),
                                  *val[3] ]
                    
    result
end

def _reduce_253(val, _values, result)
                      result =  [ val[0],
                                  *val[2].
                                    push(@builder.associate(nil, val[4], nil)).
                                    concat(val[5]) ]
                    
    result
end

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

def _reduce_255(val, _values, result)
                      result = @lexer.cmdarg.dup
                      @lexer.cmdarg.push(true)
                    
    result
end

def _reduce_256(val, _values, result)
                      @lexer.cmdarg = val[0]

                      result = val[1]
                    
    result
end

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

def _reduce_258(val, _values, result)
                      @lexer.state = :expr_endarg
                    
    result
end

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

def _reduce_260(val, _values, result)
                      @lexer.state = :expr_endarg
                    
    result
end

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

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

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

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

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

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

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

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

def _reduce_269(val, _values, result)
                      result = val[0] << @builder.splat(val[2], val[3])
                    
    result
end

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

def _reduce_271(val, _values, result)
                      result = val[0] << @builder.splat(val[2], val[3])
                    
    result
end

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

# reduce 273 omitted

# reduce 274 omitted

# reduce 275 omitted

# reduce 276 omitted

# reduce 277 omitted

# reduce 278 omitted

# reduce 279 omitted

# reduce 280 omitted

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

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

def _reduce_283(val, _values, result)
                      @lexer.state = :expr_endarg
                    
    result
end

def _reduce_284(val, _values, result)
                      result = @builder.begin(val[0], val[1], val[3])
                    
    result
end

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

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

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

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

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

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

def _reduce_291(val, _values, result)
                      result = @builder.keyword_cmd(:yield, val[0], val[1], val[2], val[3])
                    
    result
end

def _reduce_292(val, _values, result)
                      result = @builder.keyword_cmd(:yield, val[0], val[1], [], val[2])
                    
    result
end

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

def _reduce_294(val, _values, result)
                      result = @builder.keyword_cmd(:defined?, val[0],
                                                    val[2], [ val[3] ], val[4])
                    
    result
end

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

def _reduce_296(val, _values, result)
                      result = @builder.not_op(val[0], val[1], nil, val[2])
                    
    result
end

def _reduce_297(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 298 omitted

def _reduce_299(val, _values, result)
                      begin_t, args, body, end_t = val[1]
                      result      = @builder.block(val[0],
                                      begin_t, args, body, end_t)
                    
    result
end

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

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

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

def _reduce_302(val, _values, result)
                      else_t, else_ = val[4]
                      result = @builder.condition(val[0], val[1], val[2],
                                                  val[3], else_t,
                                                  else_,  val[5])
                    
    result
end

def _reduce_303(val, _values, result)
                      else_t, else_ = val[4]
                      result = @builder.condition(val[0], val[1], val[2],
                                                  else_,  else_t,
                                                  val[3], val[5])
                    
    result
end

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

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

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

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

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

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

def _reduce_310(val, _values, result)
                      *when_bodies, (else_t, else_body) = *val[3]

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

def _reduce_311(val, _values, result)
                      *when_bodies, (else_t, else_body) = *val[2]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

def _reduce_325(val, _values, result)
                      result = @builder.def_singleton(val[0], val[1], val[2],
                                  val[4], val[6], val[7], val[8])

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

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

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

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

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

# reduce 330 omitted

# reduce 331 omitted

# reduce 332 omitted

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

# reduce 334 omitted

# reduce 335 omitted

# reduce 336 omitted

def _reduce_337(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 338 omitted

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

# reduce 340 omitted

# reduce 341 omitted

# reduce 342 omitted

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

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

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

# reduce 346 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 360 omitted

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

def _reduce_362(val, _values, result)
                      if val[1].empty? && val[0].size == 1
                        result = [@builder.procarg0(val[0][0])]
                      else
                        result = val[0].concat(val[1])
                      end
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 380 omitted

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

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

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

                      @static_env.unextend
                    
    result
end

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

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

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

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

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

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

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

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

                      @static_env.unextend
                      @context.pop
                    
    result
end

def _reduce_392(val, _values, result)
                      begin_t, block_args, body, end_t = val[1]
                      result      = @builder.block(val[0],
                                      begin_t, block_args, body, end_t)
                    
    result
end

def _reduce_393(val, _values, result)
                      lparen_t, args, rparen_t = val[3]
                      result = @builder.call_method(val[0], val[1], val[2],
                                  lparen_t, args, rparen_t)
                    
    result
end

def _reduce_394(val, _values, result)
                      lparen_t, args, rparen_t = val[3]
                      result = @builder.call_method(val[0], val[1], val[2],
                                  lparen_t, args, rparen_t)
                    
    result
end

def _reduce_395(val, _values, result)
                      lparen_t, args, rparen_t = val[1]
                      result = @builder.call_method(nil, nil, val[0],
                                  lparen_t, args, rparen_t)
                    
    result
end

def _reduce_396(val, _values, result)
                      lparen_t, args, rparen_t = val[3]
                      result = @builder.call_method(val[0], val[1], val[2],
                                  lparen_t, args, rparen_t)
                    
    result
end

def _reduce_397(val, _values, result)
                      lparen_t, args, rparen_t = val[3]
                      result = @builder.call_method(val[0], val[1], val[2],
                                  lparen_t, args, rparen_t)
                    
    result
end

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

def _reduce_399(val, _values, result)
                      lparen_t, args, rparen_t = val[2]
                      result = @builder.call_method(val[0], val[1], nil,
                                  lparen_t, args, rparen_t)
                    
    result
end

def _reduce_400(val, _values, result)
                      lparen_t, args, rparen_t = val[2]
                      result = @builder.call_method(val[0], val[1], nil,
                                  lparen_t, args, rparen_t)
                    
    result
end

def _reduce_401(val, _values, result)
                      lparen_t, args, rparen_t = val[1]
                      result = @builder.keyword_cmd(:super, val[0],
                                  lparen_t, args, rparen_t)
                    
    result
end

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

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

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

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

                      @static_env.unextend
                      @context.pop
                    
    result
end

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

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

                      @static_env.unextend
                      @context.pop
                    
    result
end

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

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

# reduce 410 omitted

def _reduce_411(val, _values, result)
                      assoc_t, exc_var = val[2]

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

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

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

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

# reduce 414 omitted

# reduce 415 omitted

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

# reduce 417 omitted

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

# reduce 419 omitted

# reduce 420 omitted

# reduce 421 omitted

# reduce 422 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 452 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                      @lexer.state = :expr_value
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 499 omitted

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

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

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

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

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

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

# reduce 503 omitted

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

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

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

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

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

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

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

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

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

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

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

# reduce 513 omitted

# reduce 514 omitted

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

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

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

# reduce 517 omitted

# reduce 518 omitted

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

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

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

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

# reduce 522 omitted

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

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

# reduce 525 omitted

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

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

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

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

# reduce 530 omitted

# reduce 531 omitted

# reduce 532 omitted

# reduce 533 omitted

# reduce 534 omitted

# reduce 535 omitted

# reduce 536 omitted

# reduce 537 omitted

# reduce 538 omitted

# reduce 539 omitted

# reduce 540 omitted

# reduce 541 omitted

# reduce 542 omitted

# reduce 543 omitted

# reduce 544 omitted

# reduce 545 omitted

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

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

# reduce 548 omitted

# reduce 549 omitted

# reduce 550 omitted

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

# reduce 552 omitted

# reduce 553 omitted

# reduce 554 omitted

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

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

  end   # class MacRuby
  end   # module Parser
