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

require 'racc/parser.rb'


require 'parser'

Parser.check_for_encoding_support

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 = [
'-455,5,64,65,66,9,52,-455,-455,-455,58,59,-455,-455,-455,62,-455,60',
'61,63,28,29,67,68,-455,255,-455,-455,-455,27,26,25,91,90,92,93,-455',
'-455,18,-455,-455,-455,-455,-455,8,42,7,10,95,94,96,85,51,87,86,88,556',
'89,97,98,535,83,84,39,40,38,-455,-455,-455,-455,-455,-455,-455,-455',
'-455,-455,-455,-455,-455,-455,99,467,-455,-455,-455,37,-455,-455,31',
'-93,-455,53,54,-455,-455,55,-455,33,-455,577,-455,41,-455,-455,-455',
'-455,-455,-455,-455,19,-455,254,-455,-100,82,74,77,78,206,79,80,111',
'661,755,75,81,-455,-455,-455,-455,-458,-455,57,-455,76,-455,-99,-458',
'-458,-458,-468,202,-458,-458,-458,686,-458,547,535,-87,195,548,535,609',
'-458,207,-458,-458,-458,-95,503,555,576,502,196,-97,-458,-458,686,-458',
'-458,-458,-458,-458,103,535,535,-95,-97,102,-94,103,203,204,-92,-94',
'102,608,103,-93,-100,609,197,102,-85,418,-458,-458,-458,-458,-458,-458',
'-458,-458,-458,-458,-458,-458,-458,-458,203,204,-458,-458,-458,-87,-458',
'-458,-92,198,-458,-96,-89,-458,-458,608,-458,660,-458,245,-458,686,-458',
'-458,-458,-458,-458,-458,-458,-286,-458,-91,-458,298,-100,103,-286,-286',
'-286,609,102,-87,-286,-286,-87,-286,-458,-458,-458,-458,-87,-458,103',
'-458,-87,-458,103,102,103,801,-89,102,103,102,255,-286,-286,102,-286',
'-286,-286,-286,-286,608,299,-86,255,-96,-89,103,103,-95,-97,-98,102',
'102,-95,-97,-529,-94,207,652,207,541,-94,-286,-286,-286,-286,-286,-286',
'-286,-286,-286,-286,-286,-286,-286,-286,203,204,-286,-286,-286,-89,594',
'-468,-89,365,-286,490,103,-286,-89,566,-96,102,-286,250,-286,-96,-286',
'-286,-286,-286,-286,-286,-286,-533,-286,250,-286,-529,203,204,-533,-533',
'-533,-530,669,254,-533,-533,738,-533,-286,-286,609,-90,-85,-286,247',
'254,-533,-98,-93,-526,-399,248,-99,503,203,204,505,-533,-533,-455,-533',
'-533,-533,-533,-533,-88,-455,378,568,567,564,-90,669,677,608,518,517',
'516,522,519,670,566,207,503,417,-95,505,-533,-533,-533,-533,-533,-533',
'-533,-533,-533,-533,-533,-533,-533,-533,-455,-399,-533,-533,-533,419',
'595,-455,-399,420,-533,739,-526,-533,566,207,-455,-399,-533,832,-533',
'206,-533,-533,-533,-533,-533,-533,-533,74,-533,-533,-533,566,-526,-399',
'300,301,75,-527,-533,568,567,569,818,-533,-533,-533,76,-88,792,-533',
'-533,-533,-533,-96,-458,-533,-533,-533,-97,-533,677,-458,518,517,516',
'522,519,226,-533,-533,-533,-533,375,568,567,571,-533,377,376,-533,-533',
'-465,-533,-533,-533,-533,-533,452,-465,-458,-533,-94,568,567,573,566',
'-458,-533,566,223,-464,-527,-529,225,224,-458,-533,-464,463,-533,-533',
'-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-527,-533',
'-533,-533,-533,-533,740,-533,485,486,-533,490,-533,-533,-533,906,-533',
'-529,-533,465,-533,-533,-533,-533,-533,-533,-533,-533,-533,-80,-533',
'-533,-533,568,567,-66,568,567,578,-533,467,503,718,226,505,589,-533',
'-533,-533,-533,-286,-533,590,-533,-91,-96,726,-286,-286,-286,-99,-65',
'-286,-286,-286,751,-286,518,517,516,522,519,226,203,204,223,-286,-286',
'-286,225,224,221,222,203,204,207,-286,-286,-87,-286,-286,-286,-286,-286',
'-95,-89,-466,796,652,-86,-463,-97,524,-466,223,-94,475,-463,225,224',
'103,528,527,531,530,102,-286,-286,-286,-286,-286,-286,-286,-286,-286',
'-286,-286,-286,-286,-286,476,200,-286,-286,-286,-329,741,-286,201,483',
'-286,259,-329,-286,-286,750,-286,199,-286,207,-286,-329,-286,-286,-286',
'-286,-286,-286,-286,250,-286,487,-286,491,521,-460,518,517,516,522,519',
'492,-460,-461,226,-462,-286,-286,-286,-286,-461,-286,-462,-286,498,-98',
'275,64,65,66,9,52,561,103,499,58,59,506,102,562,62,524,60,61,63,28,29',
'67,68,507,528,527,531,530,27,26,25,91,90,92,93,712,713,18,467,714,97',
'98,583,8,42,541,10,95,94,96,85,51,87,86,88,367,89,97,98,545,83,84,39',
'40,38,226,230,235,236,237,232,234,242,243,238,239,414,219,220,-467,103',
'240,241,415,37,102,-467,277,103,546,53,54,416,102,55,-467,33,223,579',
'229,41,225,224,221,222,233,231,227,19,228,796,652,103,82,74,77,78,102',
'79,80,226,582,481,75,81,585,244,-281,-233,482,-266,57,207,76,-281,-281',
'-281,250,480,-281,-281,-281,521,-281,518,517,516,522,519,599,226,226',
'223,-281,-281,-281,225,224,221,222,226,226,207,-281,-281,207,-281,-281',
'-281,-281,-281,677,207,518,517,516,522,519,-80,524,510,677,634,518,517',
'516,522,519,528,527,531,530,207,-281,-281,-281,-281,-281,-281,-281,-281',
'-281,-281,-281,-281,-281,-281,496,673,-281,-281,-281,-280,645,-281,652',
'207,-281,673,-280,-281,-281,663,-281,665,-281,668,-281,-280,-281,-281',
'-281,-281,-281,-281,-281,493,-281,671,-281,679,543,680,494,682,541,689',
'717,544,720,-267,727,416,-281,-281,-281,-281,542,-281,452,-281,275,64',
'65,66,9,52,452,207,551,58,59,743,465,207,62,550,60,61,63,28,29,67,68',
'762,552,467,645,207,27,26,25,91,90,92,93,250,677,18,518,517,516,522',
'519,8,42,250,10,95,94,96,85,51,87,86,88,645,89,97,98,226,83,84,39,40',
'38,677,226,518,517,516,522,519,677,673,518,517,516,522,519,-287,769',
'-287,676,-266,37,773,-287,31,-287,750,53,54,787,790,55,-287,33,-287',
'669,207,41,677,673,518,517,516,522,519,19,524,652,676,800,82,74,77,78',
'207,79,80,531,530,207,75,81,5,64,65,66,9,52,57,809,76,58,59,-268,820',
'524,62,822,60,61,63,28,29,67,68,825,531,530,826,750,27,26,25,91,90,92',
'93,833,677,18,518,517,516,522,519,8,42,7,10,95,94,96,85,51,87,86,88',
'207,89,97,98,839,83,84,39,40,38,677,840,518,517,516,522,519,677,673',
'518,517,516,522,519,-467,645,-286,863,849,37,850,-467,31,-286,207,53',
'54,852,-530,55,-467,33,-286,855,857,41,677,673,518,517,516,522,519,19',
'524,859,859,207,82,74,77,78,864,79,80,531,530,866,75,81,275,64,65,66',
'9,52,57,868,76,58,59,874,876,524,62,207,60,61,63,28,29,67,68,879,531',
'530,-269,886,27,26,25,91,90,92,93,887,677,18,518,517,516,522,519,8,42',
'890,10,95,94,96,85,51,87,86,88,892,89,97,98,465,83,84,39,40,38,677,895',
'518,517,516,522,519,677,673,518,517,516,522,519,898,900,-286,-280,908',
'37,910,899,31,-286,-280,53,54,911,-530,55,897,33,-286,-280,916,41,677',
'673,518,517,516,522,519,19,524,918,921,923,82,74,77,78,859,79,80,531',
'530,859,75,81,275,64,65,66,9,52,57,928,76,58,59,498,937,524,62,859,60',
'61,63,28,29,67,68,859,531,530,859,941,27,26,25,91,90,92,93,908,830,18',
'518,517,516,465,519,8,42,207,10,95,94,96,85,51,87,86,88,908,89,97,98',
'957,83,84,39,40,38,830,551,518,517,516,958,519,677,927,518,517,516,522',
'519,-287,960,-286,552,859,37,859,-287,31,-286,859,53,54,-530,-530,55',
'-287,33,-286,-529,859,41,677,908,518,517,516,522,519,19,524,859,,,82',
'74,77,78,,79,80,531,530,,75,81,275,64,65,66,9,52,57,,76,58,59,,,524',
'62,,60,61,63,28,29,67,68,,531,530,,,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,106,107,108,109,110,,677,,518,517,516,522,519,,,240,241,,37,',
',277,,,53,54,,,55,,33,223,,229,41,225,224,221,222,,,,19,524,,,,82,74',
'77,78,,79,80,531,530,,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,,,,',
'586,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,,,277,,,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,-534,,,,57,,76,-534,-534,-534,,,-534,-534',
'-534,521,-534,518,517,516,522,519,,,,-534,-534,-534,-534,106,107,108',
'109,110,,,-534,-534,,-534,-534,-534,-534,-534,,,,,,,,,524,707,,,,,,',
',528,527,531,530,,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534',
'-534,-534,-534,-534,,,-534,-534,-534,,,-534,,,-534,,,-534,-534,,-534',
',-534,,-534,,-534,-534,-534,-534,-534,-534,-534,-535,-534,-534,-534',
',,,-535,-535,-535,,,-535,-535,-535,226,-535,-534,-534,-534,-534,,-534',
',-534,-535,-535,-535,-535,,,240,241,,,,-535,-535,,-535,-535,-535,-535',
'-535,,,,223,,229,,225,224,221,222,,,227,,228,,,,,,,-535,-535,-535,-535',
'-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,,,-535,-535,-535,',
',-535,,,-535,,,-535,-535,,-535,,-535,,-535,,-535,-535,-535,-535,-535',
'-535,-535,,-535,-535,-535,,,,,,,,,,,,,,-535,-535,-535,-535,,-535,,-535',
'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,,-552,-552,',
',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,,-552,-552,,,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,-552,-552,-552,-552,232,234,',
',-552,-552,,,,,,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,,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,-552,-552,-552,-552,232,234,,,-552,-552,,,,,,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,-552,-552,-552,-552',
'232,234,,,-552,-552,,,,,,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,-552,-552,-552,-552,232,234,,,-552,-552,,,,,,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,-552,-552',
'-552,-552,232,234,,,-552,-552,,,,,,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,-552,-552,-552,-552,232,234,,,-552,-552',
',,,,,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,,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',
',,,,,,,,,,,,,,,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,,,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,,,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,,,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,,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,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,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,,521,295,518,517,516,522,519,',
',,,,,,,,,,,,,285,,,282,,,53,54,,,55,,281,,,,524,,,,,,,,,528,527,531',
'530,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,,,,,583,,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,,,,,,,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,,521,295,518,517',
'516,522,519,,,,,,,,,,,,,,,330,,,31,,,53,54,,,55,,33,,,,524,,,,,,,,,528',
'527,531,530,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,335,51,87,86,336,,89,97,98,,83,84,,521,295,518,517',
'516,522,519,,,,,,,,,,,,342,,,337,,,217,,,53,54,,,55,,,,,,524,,,,,,,',
',528,527,531,530,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,335,51,87,86,336,,89,97,98,,83,84,,751,295,518',
'517,516,522,519,,,,,,,,,,,,,,,337,,,217,,,53,54,,,55,,,,,,524,,,,,,',
',,528,527,531,530,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,,,,367,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,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,,,218,,,,,,,42,,,95,94,96,85,51,87,86,88,,89,97,98,,83,84,39,40,38',
',,,,,,,,,,,,,,,,,,,211,,,217,,,53,54,,,55,,384,,,,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,,384,,,,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,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,,,,,,,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,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,,,457,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,,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,,,,,,,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,,478,,,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',
',751,295,518,517,516,522,519,,,,,,,,,,,,,,,285,,,282,,,53,54,,,55,,',
',,,524,,,,,,,,,528,527,531,530,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,496,,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,,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,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,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,,629,,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,,,,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,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,,,,367,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,,521,295,518,517',
'516,522,519,,,,,,,,,,,,,,,285,,,282,,,53,54,,,55,,,,,,524,,,,,,,,,528',
'527,531,530,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,,521,295,518,517,516,522,519,,,,,,,,,,,,,,,285',
',,282,,,53,54,,,55,,,,,,524,707,,,,,,,,528,527,531,530,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,,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,',
',217,,,53,54,,,55,,384,,,,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,,629',
',,,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,,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,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,,,,,,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',
',724,,,,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,,,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,,,,,,,289,,,95,94,96,85,51,87,86,88,,89,97,98,,83',
'84,,751,295,518,517,516,522,519,,,,,,,,,,,,,,,285,,,282,,,53,54,,,55',
',,,,,524,,,,,,,,,528,527,531,530,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,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,,,,,,,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,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,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,,,,,,,,,',
',,,,,,,,,,846,,,217,,,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,,,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,,629,,,,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',
',,,,,,,,,,,,,,,,,,,889,,,217,,,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,270,89,97,98,,83,84,39,40,38,,,,,,,,,,,,,,,,,,,,211,,,217,,,53',
'54,,,55,,629,,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,,629,,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,226,230,235,236',
'237,232,234,242,243,238,239,,219,220,,,240,241,,211,,,217,,,53,54,,',
'55,,268,223,266,229,41,225,224,221,222,233,231,227,216,228,,,,82,74',
'77,78,,79,80,,,,75,81,207,244,-398,,,,57,,76,-398,-398,-398,,,-398,-398',
'-398,,-398,,,,,,,,,-398,-398,-398,,,,,,,,,-398,-398,,-398,-398,-398',
'-398,-398,,,,,,,,,,,,,,,,,,,,,,,-398,-398,-398,-398,-398,-398,-398,-398',
'-398,-398,-398,-398,-398,-398,,,-398,-398,-398,,,-398,,250,-398,,,-398',
'-398,,-398,,-398,,-398,,-398,-398,-398,-398,-398,-398,-398,-293,-398',
'-398,-398,,,,-293,-293,-293,,,-293,-293,-293,,-293,-398,-398,,-398,',
'-398,,,,-293,-293,,,,,,,,,-293,-293,,-293,-293,-293,-293,-293,,,,,,',
',,,,,,,,,,,,,,,,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293',
'-293,-293,-293,,,-293,-293,-293,,,-293,,259,-293,,,-293,-293,,-293,',
'-293,,-293,,-293,-293,-293,-293,-293,-293,-293,-239,-293,,-293,,,,-239',
'-239,-239,,,-239,-239,-239,,-239,-293,-293,,-293,,-293,,,-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,,,-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,,,,,,393,397,,,394,,,,-239,,,,147,148,,144,126,127,128',
'135,132,134,-239,,129,130,,-239,-239,149,150,136,137,,,-239,,,250,,250',
'-239,,,,,141,140,,125,146,143,142,138,139,133,131,123,145,124,,,151',
'-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,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,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,352,351,353,350,158,177,176,,,,,,157,164,155,156,347,348,349',
'345,116,87,86,346,,89,,,,,,147,148,,144,126,127,128,135,132,134,,,129',
'130,,,,149,150,136,137,,,,,,357,,,,,,,,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',
'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,400,404,151,,399,,,,,,,,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,449,397,151,,450,,,,,,,,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,449,397,151,,450,,,,,,,,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,600,397',
'151,,601,,,,,,,,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,602,404,151,,603,,,,,,,,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,638,397,151,,639,,,,,,,,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,641,404,151,,642',
',,,,,,,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,600,397,151,,601,,,,,,,,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,602,404,151,,603,,,,,,,,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,692,397,151,,693,,,,,,',
',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',
'694,404,151,,695,,,,,,,,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,697,404,151,,698,,,,,,,,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,449,397,151,,450,,,,,,,,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,932,397',
'151,,933,,,,,,,,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,934,404,151,,935,,,,,,,,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,951,404,151,,950,,,,,,,,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(23457, 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,0,0,0,0,0,0,85,85,85,0,0,85,85,85,0,85,0,0,0,0,0,0,0,85,56,85,85',
'85,0,0,0,0,0,0,0,85,85,0,85,85,85,85,85,0,0,0,0,0,0,0,0,0,0,0,0,341',
'0,0,0,321,0,0,0,0,0,85,85,85,85,85,85,85,85,85,85,85,85,85,85,1,618',
'85,85,85,0,85,85,0,328,85,0,0,85,85,0,85,0,85,363,85,0,85,85,85,85,85',
'85,85,0,85,56,85,331,0,0,0,0,18,0,0,7,509,618,0,0,85,85,85,85,88,85',
'0,85,0,85,545,88,88,88,210,15,88,88,88,537,88,337,322,638,10,337,690',
'447,88,18,88,88,88,692,311,341,363,311,11,693,88,88,538,88,88,88,88',
'88,321,772,867,932,933,321,803,341,557,557,15,953,341,447,3,210,15,458',
'12,3,328,212,88,88,88,88,88,88,88,88,88,88,88,88,88,88,411,411,88,88',
'88,638,88,88,331,13,88,934,639,88,88,458,88,509,88,21,88,804,88,88,88',
'88,88,88,88,399,88,545,88,35,212,537,399,399,399,459,537,638,399,399',
'638,399,88,88,88,88,638,88,322,88,692,88,690,322,538,690,693,690,557',
'538,24,399,399,557,399,399,399,399,399,459,37,803,290,694,639,772,867',
'932,933,695,772,867,932,933,934,953,411,872,42,872,953,399,399,399,399',
'399,399,399,399,399,399,399,399,399,399,563,563,399,399,399,639,399',
'36,639,99,399,417,804,399,639,359,934,804,399,24,399,934,399,399,399',
'399,399,399,399,400,399,290,399,694,649,649,400,400,400,695,521,24,400',
'400,600,400,399,399,615,399,36,399,23,290,400,399,36,335,765,23,417',
'312,16,16,312,400,400,345,400,400,400,400,400,694,345,193,359,359,359',
'695,751,676,615,676,676,676,676,676,521,360,563,315,211,600,315,400',
'400,400,400,400,400,400,400,400,400,400,400,400,400,335,765,400,400',
'400,213,400,335,765,214,400,601,335,400,361,649,335,765,400,751,400',
'218,400,400,400,400,400,400,400,72,400,400,400,362,335,765,38,38,72',
'336,641,360,360,360,742,602,400,400,72,400,676,400,602,602,602,400,346',
'602,602,602,601,602,863,346,863,863,863,863,863,423,602,602,602,602',
'113,361,361,361,697,113,113,602,602,347,602,602,602,602,602,249,347',
'336,641,742,362,362,362,574,336,641,364,423,348,336,641,423,423,336',
'641,348,263,602,602,602,602,602,602,602,602,602,602,602,602,602,602',
'336,641,602,602,602,697,602,602,295,295,602,299,697,602,602,863,602',
'697,602,264,602,697,602,602,602,602,602,602,602,633,602,602,602,574',
'574,633,364,364,364,697,267,658,574,442,658,393,602,602,602,602,603',
'602,394,602,299,602,587,603,603,603,299,276,603,603,603,608,603,608',
'608,608,608,608,424,309,309,442,603,603,603,442,442,442,442,320,320',
'278,603,603,393,603,603,603,603,603,393,394,349,681,681,587,350,394',
'608,349,424,587,279,350,424,424,273,608,608,608,608,273,603,603,603',
'603,603,603,603,603,603,603,603,603,603,603,280,14,603,603,603,43,603',
'603,14,285,603,288,43,603,603,608,603,14,603,289,603,43,603,603,603',
'603,603,603,603,294,603,296,603,300,510,351,510,510,510,510,510,301',
'351,352,304,353,603,603,603,603,352,603,353,603,307,603,31,31,31,31',
'31,31,355,325,308,31,31,313,325,355,31,510,31,31,31,31,31,31,31,314',
'510,510,510,510,31,31,31,31,31,31,31,567,567,31,316,567,567,567,382',
'31,31,326,31,31,31,31,31,31,31,31,31,327,31,31,31,330,31,31,31,31,31',
'382,382,382,382,382,382,382,382,382,382,382,209,382,382,283,556,382',
'382,209,31,556,283,31,702,332,31,31,209,702,31,283,31,382,373,382,31',
'382,382,382,382,382,382,382,31,382,943,943,708,31,31,31,31,708,31,31',
'443,379,284,31,31,385,382,51,382,284,387,31,391,31,51,51,51,401,284',
'51,51,51,319,51,319,319,319,319,319,413,425,426,443,51,51,51,443,443',
'443,443,427,428,454,51,51,460,51,51,51,51,51,792,473,792,792,792,792',
'792,474,319,319,864,477,864,864,864,864,864,319,319,319,319,479,51,51',
'51,51,51,51,51,51,51,51,51,51,51,51,484,792,51,51,51,286,488,51,497',
'500,51,864,286,51,51,512,51,513,51,514,51,286,51,51,51,51,51,51,51,302',
'51,522,51,529,329,532,302,534,539,540,571,329,577,584,588,302,51,51',
'51,51,329,51,591,51,52,52,52,52,52,52,596,604,339,52,52,606,619,621',
'52,339,52,52,52,52,52,52,52,626,339,628,635,637,52,52,52,52,52,52,52',
'640,524,52,524,524,524,524,524,52,52,643,52,52,52,52,52,52,52,52,52',
'644,52,52,52,647,52,52,52,52,52,673,648,673,673,673,673,673,668,524',
'668,668,668,668,668,483,650,548,524,653,52,654,483,52,548,662,52,52',
'669,675,52,483,52,548,677,678,52,825,673,825,825,825,825,825,52,668',
'683,673,688,52,52,52,52,691,52,52,668,668,700,52,52,111,111,111,111',
'111,111,52,705,52,111,111,723,744,825,111,745,111,111,111,111,111,111',
'111,746,825,825,748,749,111,111,111,111,111,111,111,753,790,111,790',
'790,790,790,790,111,111,111,111,111,111,111,111,111,111,111,111,758',
'111,111,111,759,111,111,111,111,111,906,760,906,906,906,906,906,855',
'790,855,855,855,855,855,844,764,642,790,776,111,777,844,111,642,778',
'111,111,779,642,111,844,111,642,780,783,111,857,906,857,857,857,857',
'857,111,855,784,786,789,111,111,111,111,791,111,111,855,855,794,111',
'111,195,195,195,195,195,195,111,797,111,195,195,806,810,857,195,811',
'195,195,195,195,195,195,195,814,857,857,815,827,195,195,195,195,195',
'195,195,828,908,195,908,908,908,908,908,195,195,834,195,195,195,195',
'195,195,195,195,195,835,195,195,195,837,195,195,195,195,195,941,841',
'941,941,941,941,941,859,908,859,859,859,859,859,845,846,698,847,865',
'195,869,845,195,698,847,195,195,870,698,195,845,195,698,847,875,195',
'921,941,921,921,921,921,921,195,859,880,881,882,195,195,195,195,883',
'195,195,859,859,885,195,195,217,217,217,217,217,217,195,889,195,217',
'217,896,901,921,217,902,217,217,217,217,217,217,217,903,921,921,904',
'905,217,217,217,217,217,217,217,907,750,217,750,750,750,929,750,217',
'217,931,217,217,217,217,217,217,217,217,217,942,217,217,217,944,217',
'217,217,217,217,887,888,887,887,887,945,887,923,888,923,923,923,923',
'923,900,946,935,888,947,217,948,900,217,935,949,217,217,950,935,217',
'900,217,935,951,954,217,937,955,937,937,937,937,937,217,923,965,,,217',
'217,217,217,,217,217,923,923,,217,217,277,277,277,277,277,277,217,,217',
'277,277,,,937,277,,277,277,277,277,277,277,277,,937,937,,,277,277,277',
'277,277,277,277,,,277,6,6,6,6,6,277,277,,277,277,277,277,277,277,277',
'277,277,,277,277,277,,277,277,277,277,277,429,274,274,274,274,274,,960',
',960,960,960,960,960,,,429,429,,277,,,277,,,277,277,,,277,,277,429,',
'429,277,429,429,429,429,,,,277,960,,,,277,277,277,277,,277,277,960,960',
',277,277,282,282,282,282,282,282,277,,277,282,282,,,,282,,282,282,282',
'282,282,282,282,472,472,472,472,472,282,282,282,282,282,282,282,,,282',
',,,,390,282,282,,282,282,282,282,282,282,282,282,282,,282,282,282,,282',
'282,282,282,282,390,390,390,390,390,390,390,390,390,390,390,,390,390',
',,390,390,,282,,,282,,,282,282,,,282,,282,390,,390,282,390,390,390,390',
'390,390,390,282,390,,,,282,282,282,282,,282,282,,,,282,282,,390,404',
',,,282,,282,404,404,404,,,404,404,404,559,404,559,559,559,559,559,,',
',404,404,404,404,632,632,632,632,632,,,404,404,,404,404,404,404,404',
',,,,,,,,559,559,,,,,,,,559,559,559,559,,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,405,404,404,404,,,,405,405,405',
',,405,405,405,433,405,404,404,404,404,,404,,404,405,405,405,405,,,433',
'433,,,,405,405,,405,405,405,405,405,,,,433,,433,,433,433,433,433,,,433',
',433,,,,,,,405,405,405,405,405,405,405,405,405,405,405,405,405,405,',
',405,405,405,,,405,,,405,,,405,405,,405,,405,,405,,405,405,405,405,405',
'405,405,,405,405,405,,,,,,,,,,,,,,405,405,405,405,,405,,405,533,533',
'533,533,533,533,,,,533,533,,,,533,,533,533,533,533,533,533,533,,,,,',
'533,533,533,533,533,533,533,,,533,,,,,,533,533,,533,533,533,533,533',
'533,533,533,533,,533,533,533,,533,533,533,533,533,421,421,421,421,421',
'421,421,421,421,421,421,,421,421,,,421,421,,533,,,533,,,533,533,,,533',
',533,421,,421,533,421,421,421,421,421,421,421,533,421,,,,533,533,533',
'533,,533,533,,,,533,533,536,536,536,536,536,536,533,,533,536,536,,,',
'536,,536,536,536,536,536,536,536,,,,,,536,536,536,536,536,536,536,,',
'536,,,,,,536,536,,536,536,536,536,536,536,536,536,536,,536,536,536,',
'536,536,536,536,536,422,422,422,422,422,422,422,422,422,422,422,,422',
'422,,,422,422,,536,,,536,,,536,536,,,536,,536,422,,422,536,422,422,422',
'422,422,422,422,536,422,,,,536,536,536,536,,536,536,,,,536,536,558,558',
'558,558,558,558,536,,536,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,432,432,432,432',
'432,432,432,,,432,432,,,,,,432,432,,558,,,558,,,558,558,,,558,,558,432',
',432,558,432,432,432,432,432,432,432,558,432,,,,558,558,558,558,,558',
'558,,,,558,558,610,610,610,610,610,610,558,,558,610,610,,,,610,,610',
'610,610,610,610,610,610,,,,,,610,610,610,610,610,610,610,,,610,,,,,',
'610,610,,610,610,610,610,610,610,610,610,610,,610,610,610,,610,610,610',
'610,610,434,,,,,,,,,,,,,,,,434,434,,610,,,610,,,610,610,,,610,,610,434',
',434,610,434,434,434,434,,,434,610,434,,,,610,610,610,610,,610,610,',
',,610,610,623,623,623,623,623,623,610,,610,623,623,,,,623,,623,623,623',
'623,623,623,623,,,,,,623,623,623,623,623,623,623,,,623,,,,,,623,623',
',623,623,623,623,623,623,623,623,623,,623,623,623,,623,623,623,623,623',
'435,,,,,,,,,,,,,,,,435,435,,623,,,623,,,623,623,,,623,,623,435,,435',
'623,435,435,435,435,,,435,623,435,,,,623,623,623,623,,623,623,,,,623',
'623,624,624,624,624,624,624,623,,623,624,624,,,,624,,624,624,624,624',
'624,624,624,,,,,,624,624,624,624,624,624,624,,,624,,,,,,624,624,,624',
'624,624,624,624,624,624,624,624,,624,624,624,,624,624,624,624,624,436',
',,,,,,,,,,,,,,,436,436,,624,,,624,,,624,624,,,624,,624,436,,436,624',
'436,436,436,436,,,436,624,436,,,,624,624,624,624,,624,624,,,,624,624',
'652,652,652,652,652,652,624,,624,652,652,,,,652,,652,652,652,652,652',
'652,652,,,,,,652,652,652,652,652,652,652,,,652,,,,,,652,652,,652,652',
'652,652,652,652,652,652,652,,652,652,652,,652,652,652,652,652,437,437',
'437,437,437,437,437,,,437,437,,,,,,437,437,,652,,,652,,,652,652,,,652',
',652,437,,437,652,437,437,437,437,437,437,437,652,437,,,,652,652,652',
'652,,652,652,,,,652,652,660,660,660,660,660,660,652,,652,660,660,,,',
'660,,660,660,660,660,660,660,660,,,,,,660,660,660,660,660,660,660,,',
'660,,,,,,660,660,,660,660,660,660,660,660,660,660,660,,660,660,660,',
'660,660,660,660,660,438,438,438,438,438,438,438,,,438,438,,,,,,438,438',
',660,,,660,,,660,660,,,660,,660,438,,438,660,438,438,438,438,438,438',
'438,660,438,,,,660,660,660,660,,660,660,,,,660,660,661,661,661,661,661',
'661,660,,660,661,661,,,,661,,661,661,661,661,661,661,661,,,,,,661,661',
'661,661,661,661,661,,,661,,,,,,661,661,,661,661,661,661,661,661,661',
'661,661,,661,661,661,,661,661,661,661,661,439,439,439,439,439,439,439',
',,439,439,,,,,,439,439,,661,,,661,,,661,661,,,661,,661,439,,439,661',
'439,439,439,439,439,439,439,661,439,,,,661,661,661,661,,661,661,,,,661',
'661,701,701,701,701,701,701,661,,661,701,701,,,,701,,701,701,701,701',
'701,701,701,,,,,,701,701,701,701,701,701,701,,,701,,,,,,701,701,,701',
'701,701,701,701,701,701,701,701,,701,701,701,,701,701,701,701,701,440',
'440,440,440,440,440,440,,,440,440,,,,,,440,440,,701,,,701,,,701,701',
',,701,,701,440,,440,701,440,440,440,440,440,440,440,701,440,,,,701,701',
'701,701,,701,701,,,,701,701,706,706,706,706,706,706,701,,701,706,706',
',,,706,,706,706,706,706,706,706,706,,,,,,706,706,706,706,706,706,706',
',,706,,,,,,706,706,,706,706,706,706,706,706,706,706,706,,706,706,706',
',706,706,706,706,706,441,441,441,441,441,441,441,,,441,441,,,,,,441',
'441,,706,,,706,,,706,706,,,706,,706,441,,441,706,441,441,441,441,441',
'441,441,706,441,,,,706,706,706,706,,706,706,,,,706,706,716,716,716,716',
'716,716,706,,706,716,716,,,,716,,716,716,716,716,716,716,716,,,,,,716',
'716,716,716,716,716,716,,,716,,,,,,716,716,,716,716,716,716,716,716',
'716,716,716,,716,716,716,,716,716,716,716,716,444,444,444,444,444,444',
'444,,,444,444,,,,,,444,444,,716,,,716,,,716,716,,,716,,716,444,,444',
'716,444,444,444,444,444,444,444,716,444,,,,716,716,716,716,,716,716',
',,,716,716,754,754,754,754,754,754,716,,716,754,754,,,,754,,754,754',
'754,754,754,754,754,,,,,,754,754,754,754,754,754,754,,,754,,,,,,754',
'754,,754,754,754,754,754,754,754,754,754,,754,754,754,,754,754,754,754',
'754,445,445,445,445,445,445,445,445,,445,445,,,,,,445,445,,754,,,754',
',,754,754,,,754,,754,445,,445,754,445,445,445,445,445,445,445,754,445',
',,,754,754,754,754,,754,754,,,,754,754,769,769,769,769,769,769,754,',
'754,769,769,,,,769,,769,769,769,769,769,769,769,,,,,,769,769,769,769',
'769,769,769,,,769,,,,,,769,769,,769,769,769,769,769,769,769,769,769',
',769,769,769,,769,769,769,769,769,430,,,,,,,,,,,,,,,,430,430,,769,,',
'769,,,769,769,,,769,,769,430,,430,769,430,430,430,430,,,,769,,,,,769',
'769,769,769,,769,769,,,,769,769,798,798,798,798,798,798,769,,769,798',
'798,,,,798,,798,798,798,798,798,798,798,,,,,,798,798,798,798,798,798',
'798,,,798,,,,,,798,798,,798,798,798,798,798,798,798,798,798,,798,798',
'798,,798,798,798,798,798,431,,,,,,,,,,,,,,,,431,431,,798,,,798,,,798',
'798,,,798,,798,431,,,798,431,431,431,431,,,,798,,,,,798,798,798,798',
',798,798,,,,798,798,799,799,799,799,799,799,798,,798,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,799,,,,799,799,802,802,802',
'802,802,802,799,,799,802,802,,,,802,,802,802,802,802,802,802,802,,,',
',,802,802,802,802,802,802,802,,,802,,,,,,802,802,,802,802,802,802,802',
'802,802,802,802,,802,802,802,,802,802,802,802,802,,,,,,,,,,,,,,,,,,',
',802,,,802,,,802,802,,,802,,802,,,,802,,,,,,,,802,,,,,802,802,802,802',
',802,802,,,,802,802,808,808,808,808,808,808,802,,802,808,808,,,,808',
',808,808,808,808,808,808,808,,,,,,808,808,808,808,808,808,808,,,808',
',,,,,808,808,,808,808,808,808,808,808,808,808,808,,808,808,808,,808',
'808,808,808,808,,,,,,,,,,,,,,,,,,,,808,,,808,,,808,808,,,808,,808,,',
',808,,,,,,,,808,,,,,808,808,808,808,,808,808,,,,808,808,843,843,843',
'843,843,843,808,,808,843,843,,,,843,,843,843,843,843,843,843,843,,,',
',,843,843,843,843,843,843,843,,,843,,,,,,843,843,,843,843,843,843,843',
'843,843,843,843,,843,843,843,,843,843,843,843,843,,,,,,,,,,,,,,,,,,',
',843,,,843,,,843,843,,,843,,843,,,,843,,,,,,,,843,,,,,843,843,843,843',
',843,843,,,,843,843,909,909,909,909,909,909,843,,843,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,915,915,915',
'915,915,915,909,,909,915,915,,,,915,,915,915,915,915,915,915,915,,,',
',,915,915,915,915,915,915,915,,,915,,,,,,915,915,,915,915,915,915,915',
'915,915,915,915,,915,915,915,,915,915,915,915,915,,,,,,,,,,,,,,,,,,',
',915,,,915,,,915,915,,,915,,915,,,,915,,,,,,,,915,,,,,915,915,915,915',
',915,915,,,,915,915,917,917,917,917,917,917,915,,915,917,917,,,,917',
',917,917,917,917,917,917,917,,,,,,917,917,917,917,917,917,917,,,917',
',,,,,917,917,,917,917,917,917,917,917,917,917,917,,917,917,917,,917',
'917,917,917,917,,,,,,,,,,,,,,,,,,,,917,,,917,,,917,917,,,917,,917,,',
',917,,,,,,,,917,,,,,917,917,917,917,,917,917,,,,917,917,,5,5,5,5,5,917',
',917,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,,19,19,19,,19,5,,5,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,,27',
'27,27,,27,19,,19,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,,663,32,663,663,663,663,663',
',,,,,,,,,,,,,,32,,,32,,,32,32,,,32,,32,,,,663,,,,,,,,,663,663,663,663',
'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,,,,,605,,33,,,33,33,33',
'33,33,33,33,33,,33,33,33,,33,33,,,33,605,605,605,605,605,605,605,605',
'605,605,605,,605,605,,,605,605,,33,,,33,,,33,33,,,33,,,605,,605,,605',
'605,605,605,605,605,605,,605,,,,33,33,33,33,,33,33,,,,33,33,,605,,33',
',,33,,33,39,39,39,,39,,,,39,39,,,,39,,39,39,39,39,39,39,39,,,,,,39,39',
'39,39,39,39,39,,,39,,,,,,,39,,,39,39,39,39,39,39,39,39,,39,39,39,,39',
'39,39,39,39,,,,,,,,,,,,,,,,,,,,39,,,39,,,39,39,,,39,,,,,,39,,,,,,,,39',
',,,,39,39,39,39,,39,39,,,,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,617,617',
'617,617,617,617,617,617,617,617,617,,617,617,,,617,617,,62,,617,62,',
',62,62,,,62,,,617,,617,62,617,617,617,617,617,617,617,62,617,,,,62,62',
'62,62,,62,62,,,,62,62,62,617,,617,,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,,665,63,665,665,665,665,665',
',,,,,,,,,,,,,,63,,,63,,,63,63,,,63,,63,,,,665,,,,,,,,,665,665,665,665',
'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,,707,64,707,707,707,707,707,,,,,,,,,,,',
'64,,,64,,,64,,,64,64,,,64,,,,,,707,,,,,,,,,707,707,707,707,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,,820,65,820,820,820,820,820,,,,,,,,,,,,,,,65,,,65',
',,65,65,,,65,,,,,,820,,,,,,,,,820,820,820,820,65,65,65,65,,65,65,,,',
'65,65,,101,101,101,101,101,65,,65,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,20',
'20,20,20,20,20,20,20,20,20,20,,20,20,,,20,20,,101,,,101,,,101,101,,',
'101,,101,20,,20,101,20,20,20,20,20,20,20,101,20,,,,101,101,101,101,',
'101,101,,,,101,101,,20,,,,101,101,,101,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,,106,106,,,,106,106,,107,107,107,,107',
'106,,106,107,107,,,,107,,107,107,107,107,107,107,107,,,,,,107,107,107',
'107,107,107,107,,,107,,,,,,,107,,,107,107,107,107,107,107,107,107,,107',
'107,107,,107,107,107,107,107,,,,,,,,,,,,,,,,,,,,107,,,107,,,107,107',
',,107,,,,,,107,,,,,,,,107,,,,,107,107,107,107,,107,107,,,,107,107,,108',
'108,108,,108,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,,196,196,196',
',196,110,,110,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,,202,202',
'202,,202,199,,199,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,216,216,216,,216,206,,206,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,,250,250,250,,250,244,,244,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,266,266,266,,266,259,,259,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,,268,268,268',
',268,266,,266,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,,275,275,275,275,275,270,,270,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,,281,281,281,,281,275,,275,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,261,261,261,261,261,261,261,261,261,261,261,,261,261,',
',261,261,,281,,,281,,,281,281,,,281,,,261,,261,,261,261,261,261,261',
'261,261,,261,,,,281,281,281,281,,281,281,,,,281,281,,261,,281,,,281',
',281,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,297,297,,297,297,,822,297,822,822,822,822,822,,,,,',
',,,,,,,,,297,,,297,,,297,297,,,297,,,,,,822,,,,,,,,,822,822,822,822',
'297,297,297,297,,297,297,,,,297,297,,306,306,306,,306,297,,297,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,,323,323,323',
',323,306,,306,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',
',324,324,324,,324,323,,323,324,324,,,,324,,324,324,324,324,324,324,324',
',,,,,324,324,324,324,324,324,324,,,324,,,,,,,324,,,324,324,324,324,324',
'324,324,324,,324,324,324,,324,324,324,324,324,,,,,,,,,,,,,,,,,,,,324',
',,324,,,324,324,,,324,,,,,,324,,,,,,,,324,,,,,324,324,324,324,,324,324',
',,,324,324,,342,342,342,,342,324,,324,342,342,,,,342,,342,342,342,342',
'342,342,342,,,,,,342,342,342,342,342,342,342,,,342,,,,,,,342,,,342,342',
'342,342,342,342,342,342,,342,342,342,,342,342,342,342,342,,,,,,,,,,',
',,,,,,,,,342,,,342,,,342,342,,,342,,,,,,342,,,,,,,,342,,,,,342,342,342',
'342,,342,342,,,,342,342,,357,357,357,,357,342,,342,357,357,,,,357,,357',
'357,357,357,357,357,357,,,,,,357,357,357,357,357,357,357,,,357,,,,,',
',357,,,357,357,357,357,357,357,357,357,,357,357,357,,357,357,357,357',
'357,,,,,,,,,,,,,,,,,,,,357,,,357,,,357,357,,,357,,,,,,357,,,,,,,,357',
',,,,357,357,357,357,,357,357,,,,357,357,,384,384,384,,384,357,,357,384',
'384,,,,384,,384,384,384,384,384,384,384,,,,,,384,384,384,384,384,384',
'384,,,384,,,,,,,384,,,384,384,384,384,384,384,384,384,,384,384,384,',
'384,384,384,384,384,,,,,,,,,,,,,,,,,,,,384,,,384,,,384,384,,,384,,,',
',,384,,,,,,,,384,,,,,384,384,384,384,,384,384,,,,384,384,,416,416,416',
',416,384,,384,416,416,,,,416,,416,416,416,416,416,416,416,,,,,,416,416',
'416,416,416,416,416,,,416,,,,,,,416,,,416,416,416,416,416,416,416,416',
'416,416,416,416,,416,416,416,416,416,,,,,,,,,,,,,,,,,,,,416,,,416,,',
'416,416,,,416,,416,,416,,416,,,,,,,,416,,,,,416,416,416,416,,416,416',
',,,416,416,,418,418,418,,418,416,,416,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,,420,420,420,,420,419,,419,420',
'420,,,,420,,420,420,420,420,420,420,420,,,,,,420,420,420,420,420,420',
'420,,,420,,,,,,,420,,,420,420,420,420,420,420,420,420,,420,420,420,',
'420,420,420,420,420,,,,,,,,,,,,,,,,,,,,420,,,420,,,420,420,,,420,,,',
',,420,,,,,,,,420,,,,,420,420,420,420,,420,420,,,,420,420,,457,457,457',
',457,420,,420,457,457,,,,457,,457,457,457,457,457,457,457,,,,,,457,457',
'457,457,457,457,457,,,457,,,,,,,457,,,457,457,457,457,457,457,457,457',
'457,457,457,457,,457,457,457,457,457,,,,,,,,,,,,,,,,,,,,457,,,457,,',
'457,457,,,457,,,,457,,457,,,,,,,,457,,,,,457,457,457,457,,457,457,,',
',457,457,,463,463,463,,463,457,,457,463,463,,,,463,,463,463,463,463',
'463,463,463,,,,,,463,463,463,463,463,463,463,,,463,,,,,,,463,,,463,463',
'463,463,463,463,463,463,463,463,463,463,,463,463,463,463,463,,,,,,,',
',,,,,,,,,,,,463,,,463,,,463,463,,,463,,463,,463,,463,,,,,,,,463,,,,',
'463,463,463,463,,463,463,,,,463,463,,465,465,465,,465,463,,463,465,465',
',,,465,,465,465,465,465,465,465,465,,,,,,465,465,465,465,465,465,465',
',,465,,,,,,,465,,,465,465,465,465,465,465,465,465,465,465,465,465,,465',
'465,465,465,465,,,,,,,,,,,,,,,,,,,,465,,,465,,,465,465,,,465,,,,465',
',465,,,,,,,,465,,,,,465,465,465,465,,465,465,,,,465,465,,467,467,467',
',467,465,,465,467,467,,,,467,,467,467,467,467,467,467,467,,,,,,467,467',
'467,467,467,467,467,,,467,,,,,,,467,,,467,467,467,467,467,467,467,467',
',467,467,467,,467,467,467,467,467,,,,,,,,,,,,,,,,,,,,467,,,467,,,467',
'467,,,467,,,,,,467,,,,,,,,467,,,,,467,467,467,467,,467,467,,,,467,467',
',471,471,471,471,471,467,,467,471,471,,,,471,,471,471,471,471,471,471',
'471,,,,,,471,471,471,471,471,471,471,,,471,,,,,,471,471,,471,471,471',
'471,471,471,471,471,471,,471,471,471,,471,471,471,471,471,407,407,407',
'407,407,407,407,407,407,407,407,,407,407,,,407,407,,471,,,471,,,471',
'471,,,471,,471,407,,407,471,407,407,407,407,407,407,407,471,407,,,,471',
'471,471,471,,471,471,,,,471,471,,407,,,,471,471,,471,478,478,478,,478',
',,,478,478,,,,478,,478,478,478,478,478,478,478,,,,,,478,478,478,478',
'478,478,478,,,478,,,,,,,478,,,478,478,478,478,478,478,478,478,,478,478',
'478,,478,478,,852,478,852,852,852,852,852,,,,,,,,,,,,,,,478,,,478,,',
'478,478,,,478,,,,,,852,,,,,,,,,852,852,852,852,478,478,478,478,,478',
'478,,,,478,478,,480,480,480,,480,478,,478,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,480,,480,480,480,480,480,,,',
',,,,,,,,,,,,,,,,480,,,480,,,480,480,,,480,,480,,480,,480,,,,,,,,480',
',,,,480,480,480,480,,480,480,,,,480,480,,487,487,487,,487,480,,480,487',
'487,,,,487,,487,487,487,487,487,487,487,,,,,,487,487,487,487,487,487',
'487,,,487,,,,,,,487,,,487,487,487,487,487,487,487,487,,487,487,487,',
'487,487,,878,487,878,878,878,878,878,,,,,,,,,,,,,,,487,,,487,,,487,487',
',,487,,,,,,878,878,,,,,,,,878,878,878,878,487,487,487,487,,487,487,',
',,487,487,,490,490,490,,490,487,,487,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,,491,491,491,,491,490,,490,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,,492,492,492,,492,491,,491,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,',
'492,492,492,492,492,,,,,,,,,,,,,,,,,,,,492,,,492,,,492,492,,,492,,,',
',,492,,,,,,,,492,,,,,492,492,492,492,,492,492,,,,492,492,,496,496,496',
',496,492,,492,496,496,,,,496,,496,496,496,496,496,496,496,,,,,,496,496',
'496,496,496,496,496,,,496,,,,,,,496,,,496,496,496,496,496,496,496,496',
',496,496,496,,496,496,496,496,496,,,,,,,,,,,,,,,,,,,,496,,,496,,,496',
'496,,,496,,,,,,496,,,,,,,,496,,,,,496,496,496,496,,496,496,,,,496,496',
',498,498,498,,498,496,,496,498,498,,,,498,,498,498,498,498,498,498,498',
',,,,,498,498,498,498,498,498,498,,,498,,,,,,,498,,,498,498,498,498,498',
'498,498,498,,498,498,498,,498,498,498,498,498,,,,,,,,,,,,,,,,,,,,498',
',,498,,,498,498,,,498,,498,,,,498,,,,,,,,498,,,,,498,498,498,498,,498',
'498,,,,498,498,,502,502,502,,502,498,,498,502,502,,,,502,,502,502,502',
'502,502,502,502,,,,,,502,502,502,502,502,502,502,,,502,,,,,,,502,,,502',
'502,502,502,502,502,502,502,502,502,502,502,,502,502,502,502,502,,,',
',,,,,,,,,,,,,,,,502,,,502,,,502,502,,,502,,502,,,,502,,,,,,,,502,,,',
',502,502,502,502,,502,502,,,,502,502,,505,505,505,,505,502,,502,505',
'505,,,,505,,505,505,505,505,505,505,505,,,,,,505,505,505,505,505,505',
'505,,,505,,,,,,,505,,,505,505,505,505,505,505,505,505,505,505,505,505',
',505,505,505,505,505,,,,,,,,,,,,,,,,,,,,505,,,505,,,505,505,,,505,,',
',,,505,,,,,,,,505,,,,,505,505,505,505,,505,505,,,,505,505,,541,541,541',
',541,505,,505,541,541,,,,541,,541,541,541,541,541,541,541,,,,,,541,541',
'541,541,541,541,541,,,541,,,,,,,541,,,541,541,541,541,541,541,541,541',
',541,541,541,,541,541,541,541,541,,,,,,,,,,,,,,,,,,,,541,,,541,,,541',
'541,,,541,,541,,,,541,,,,,,,,541,,,,,541,541,541,541,,541,541,,,,541',
'541,,542,542,542,,542,541,,541,542,542,,,,542,,542,542,542,542,542,542',
'542,,,,,,542,542,542,542,542,542,542,,,542,,,,,,,542,,,542,542,542,542',
'542,542,542,542,542,542,542,542,,542,542,542,542,542,,,,,,,,,,,,,,,',
',,,,542,,,542,,,542,542,,,542,,542,,542,,542,,,,,,,,542,,,,,542,542',
'542,542,,542,542,,,,542,542,,552,552,552,,552,542,,542,552,552,,,,552',
',552,552,552,552,552,552,552,,,,,,552,552,552,552,552,552,552,,,552',
',,,,,,552,,,552,552,552,552,552,552,552,552,552,552,552,552,,552,552',
'552,552,552,,,,,,,,,,,,,,,,,,,,552,,,552,,,552,552,,,552,,552,,552,',
'552,,,,,,,,552,,,,,552,552,552,552,,552,552,,,,552,552,,555,555,555',
',555,552,,552,555,555,,,,555,,555,555,555,555,555,555,555,,,,,,555,555',
'555,555,555,555,555,,,555,,,,,,,555,,,555,555,555,555,555,555,555,555',
',555,555,555,,555,555,555,555,555,,,,,,,,,,,,,,,,,,,,555,,,555,,,555',
'555,,,555,,,,,,555,,,,,,,,555,,,,,555,555,555,555,,555,555,,,,555,555',
',583,583,583,,583,555,,555,583,583,,,,583,,583,583,583,583,583,583,583',
',,,,,583,583,583,583,583,583,583,,,583,,,,,,,583,,,583,583,583,583,583',
'583,583,583,,583,583,583,,583,583,583,583,583,,,,,,,,,,,,,,,,,,,,583',
',,583,,,583,583,,,583,,,,,,583,,,,,,,,583,,,,,583,583,583,583,,583,583',
',,,583,583,,585,585,585,,585,583,,583,585,585,,,,585,,585,585,585,585',
'585,585,585,,,,,,585,585,585,585,585,585,585,,,585,,,,,,,585,,,585,585',
'585,585,585,585,585,585,,585,585,585,,585,585,585,585,585,,,,,,,,,,',
',,,,,,,,,585,,,585,,,585,585,,,585,,585,,,,585,,,,,,,,585,,,,,585,585',
'585,585,,585,585,,,,585,585,,586,586,586,,586,585,,585,586,586,,,,586',
',586,586,586,586,586,586,586,,,,,,586,586,586,586,586,586,586,,,586',
',,,,,,586,,,586,586,586,586,586,586,586,586,,586,586,586,,586,586,586',
'586,586,,,,,,,,,,,,,,,,,,,,586,,,586,,,586,586,,,586,,,,,,586,,,,,,',
',586,,,,,586,586,586,586,,586,586,,,,586,586,,589,589,589,,589,586,',
'586,589,589,,,,589,,589,589,589,589,589,589,589,,,,,,589,589,589,589',
'589,589,589,,,589,,,,,,,589,,,589,589,589,589,589,589,589,589,,589,589',
'589,,589,589,589,589,589,,,,,,,,,,,,,,,,,,,,589,,,589,,,589,589,,,589',
',,,,,589,,,,,,,,589,,,,,589,589,589,589,,589,589,,,,589,589,,590,590',
'590,,590,589,,589,590,590,,,,590,,590,590,590,590,590,590,590,,,,,,590',
'590,590,590,590,590,590,,,590,,,,,,,590,,,590,590,590,590,590,590,590',
'590,,590,590,590,,590,590,590,590,590,,,,,,,,,,,,,,,,,,,,590,,,590,',
',590,590,,,590,,,,,,590,,,,,,,,590,,,,,590,590,590,590,,590,590,,,,590',
'590,,594,594,594,,594,590,,590,594,594,,,,594,,594,594,594,594,594,594',
'594,,,,,,594,594,594,594,594,594,594,,,594,,,,,,,594,,,594,594,594,594',
'594,594,594,594,,594,594,594,,594,594,594,594,594,,,,,,,,,,,,,,,,,,',
',594,,,594,,,594,594,,,594,,,,,,594,,,,,,,,594,,,,,594,594,594,594,',
'594,594,,,,594,594,,595,595,595,,595,594,,594,595,595,,,,595,,595,595',
'595,595,595,595,595,,,,,,595,595,595,595,595,595,595,,,595,,,,,,,595',
',,595,595,595,595,595,595,595,595,,595,595,595,,595,595,595,595,595',
',,,,,,,,,,,,,,,,,,,595,,,595,,,595,595,,,595,,,,,,595,,,,,,,,595,,,',
',595,595,595,595,,595,595,,,,595,595,,629,629,629,,629,595,,595,629',
'629,,,,629,,629,629,629,629,629,629,629,,,,,,629,629,629,629,629,629',
'629,,,629,,,,,,,629,,,629,629,629,629,629,629,629,629,,629,629,629,',
'629,629,629,629,629,,,,,,,,,,,,,,,,,,,,629,,,629,,,629,629,,,629,,,',
',,629,,,,,,,,629,,,,,629,629,629,629,,629,629,,,,629,629,,634,634,634',
',634,629,,629,634,634,,,,634,,634,634,634,634,634,634,634,,,,,,634,634',
'634,634,634,634,634,,,634,,,,,,,634,,,634,634,634,634,634,634,634,634',
',634,634,634,,634,634,,918,634,918,918,918,918,918,,,,,,,,,,,,,,,634',
',,634,,,634,634,,,634,,,,,,918,,,,,,,,,918,918,918,918,634,634,634,634',
',634,634,,,,634,634,,645,645,645,,645,634,,634,645,645,,,,645,,645,645',
'645,645,645,645,645,,,,,,645,645,645,645,645,645,645,,,645,,,,,,,645',
',,645,645,645,645,645,645,645,645,,645,645,645,,645,645,,,645,,,,,,',
',,,,,,,,,,,,,645,,,645,,,645,645,,,645,,,,,,,,,,,,,,,,,,,645,645,645',
'645,,645,645,,,,645,645,,670,670,670,,670,645,,645,670,670,,,,670,,670',
'670,670,670,670,670,670,,,,,,670,670,670,670,670,670,670,,,670,,,,,',
',670,,,670,670,670,670,670,670,670,670,,670,670,670,,670,670,670,670',
'670,,,,,,,,,,,,,,,,,,,,670,,,670,,,670,670,,,670,,,,,,670,,,,,,,,670',
',,,,670,670,670,670,,670,670,,,,670,670,,696,696,696,,696,670,,670,696',
'696,,,,696,,696,696,696,696,696,696,696,,,,,,696,696,696,696,696,696',
'696,,,696,,,,,,,696,,,696,696,696,696,696,696,696,696,,696,696,696,',
'696,696,696,696,696,,,,,,,,,,,,,,,,,,,,696,,,696,,,696,696,,,696,,,',
',,696,,,,,,,,696,,,,,696,696,696,696,,696,696,,,,696,696,,724,724,724',
',724,696,,696,724,724,,,,724,,724,724,724,724,724,724,724,,,,,,724,724',
'724,724,724,724,724,,,724,,,,,,,724,,,724,724,724,724,724,724,724,724',
',724,724,724,,724,724,724,724,724,,,,,,,,,,,,,,,,,,,,724,,,724,,,724',
'724,,,724,,,,,,724,,,,,,,,724,,,,,724,724,724,724,,724,724,,,,724,724',
',726,726,726,,726,724,,724,726,726,,,,726,,726,726,726,726,726,726,726',
',,,,,726,726,726,726,726,726,726,,,726,,,,,,,726,,,726,726,726,726,726',
'726,726,726,,726,726,726,,726,726,726,726,726,,,,,,,,,,,,,,,,,,,,726',
',,726,,,726,726,,,726,,,,,,726,,,,,,,,726,,,,,726,726,726,726,,726,726',
',,,726,726,,738,738,738,,738,726,,726,738,738,,,,738,,738,738,738,738',
'738,738,738,,,,,,738,738,738,738,738,738,738,,,738,,,,,,,738,,,738,738',
'738,738,738,738,738,738,,738,738,738,,738,738,738,738,738,,,,,,,,,,',
',,,,,,,,,738,,,738,,,738,738,,,738,,,,,,738,,,,,,,,738,,,,,738,738,738',
'738,,738,738,,,,738,738,,739,739,739,,739,738,,738,739,739,,,,739,,739',
'739,739,739,739,739,739,,,,,,739,739,739,739,739,739,739,,,739,,,,,',
',739,,,739,739,739,739,739,739,739,739,,739,739,739,,739,739,739,739',
'739,,,,,,,,,,,,,,,,,,,,739,,,739,,,739,739,,,739,,,,,,739,,,,,,,,739',
',,,,739,739,739,739,,739,739,,,,739,739,,740,740,740,,740,739,,739,740',
'740,,,,740,,740,740,740,740,740,740,740,,,,,,740,740,740,740,740,740',
'740,,,740,,,,,,,740,,,740,740,740,740,740,740,740,740,,740,740,740,',
'740,740,740,740,740,,,,,,,,,,,,,,,,,,,,740,,,740,,,740,740,,,740,,,',
',,740,,,,,,,,740,,,,,740,740,740,740,,740,740,,,,740,740,,741,741,741',
',741,740,,740,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',
',743,743,743,,743,741,,741,743,743,,,,743,,743,743,743,743,743,743,743',
',,,,,743,743,743,743,743,743,743,,,743,,,,,,,743,,,743,743,743,743,743',
'743,743,743,,743,743,743,,743,743,743,743,743,,,,,,,,,,,,,,,,,,,,743',
',,743,,,743,743,,,743,,,,,,743,,,,,,,,743,,,,,743,743,743,743,,743,743',
',,,743,743,,755,755,755,,755,743,,743,755,755,,,,755,,755,755,755,755',
'755,755,755,,,,,,755,755,755,755,755,755,755,,,755,,,,,,,755,,,755,755',
'755,755,755,755,755,755,755,755,755,755,,755,755,755,755,755,,,,,,,',
',,,,,,,,,,,,755,,,755,,,755,755,,,755,,755,,755,,755,,,,,,,,755,,,,',
'755,755,755,755,,755,755,,,,755,755,,762,762,762,,762,755,,755,762,762',
',,,762,,762,762,762,762,762,762,762,,,,,,762,762,762,762,762,762,762',
',,762,,,,,,,762,,,762,762,762,762,762,762,762,762,762,762,762,762,,762',
'762,762,762,762,,,,,,,,,,,,,,,,,,,,762,,,762,,,762,762,,,762,,762,,762',
',762,,,,,,,,762,,,,,762,762,762,762,,762,762,,,,762,762,,773,773,773',
',773,762,,762,773,773,,,,773,,773,773,773,773,773,773,773,,,,,,773,773',
'773,773,773,773,773,,,773,,,,,,,773,,,773,773,773,773,773,773,773,773',
',773,773,773,,773,773,,,773,,,,,,,,,,,,,,,,,,,,773,,,773,,,773,773,',
',773,,,,,,,,,,,,,,,,,,,773,773,773,773,,773,773,,,,773,773,,796,796',
'796,,796,773,,773,796,796,,,,796,,796,796,796,796,796,796,796,,,,,,796',
'796,796,796,796,796,796,,,796,,,,,,,796,,,796,796,796,796,796,796,796',
'796,,796,796,796,,796,796,796,796,796,,,,,,,,,,,,,,,,,,,,796,,,796,',
',796,796,,,796,,,,,,796,,,,,,,,796,,,,,796,796,796,796,,796,796,,,,796',
'796,,801,801,801,,801,796,,796,801,801,,,,801,,801,801,801,801,801,801',
'801,,,,,,801,801,801,801,801,801,801,,,801,,,,,,,801,,,801,801,801,801',
'801,801,801,801,,801,801,801,,801,801,801,801,801,,,,,,,,,,,,,,,,,,',
',801,,,801,,,801,801,,,801,,801,,,,801,,,,,,,,801,,,,,801,801,801,801',
',801,801,,,,801,801,,818,818,818,,818,801,,801,818,818,,,,818,,818,818',
'818,818,818,818,818,,,,,,818,818,818,818,818,818,818,,,818,,,,,,,818',
',,818,818,818,818,818,818,818,818,,818,818,818,,818,818,818,818,818',
',,,,,,,,,,,,,,,,,,,818,,,818,,,818,818,,,818,,,,,,818,,,,,,,,818,,,',
',818,818,818,818,,818,818,,,,818,818,,832,832,832,,832,818,,818,832',
'832,,,,832,,832,832,832,832,832,832,832,,,,,,832,832,832,832,832,832',
'832,,,832,,,,,,,832,,,832,832,832,832,832,832,832,832,,832,832,832,',
'832,832,,,832,,,,,,,,,,,,,,,,,,,,832,,,832,,,832,832,,,832,,,,,,,,,',
',,,,,,,,,832,832,832,832,,832,832,,,,832,832,,892,892,892,,892,832,',
'832,892,892,,,,892,,892,892,892,892,892,892,892,,,,,,892,892,892,892',
'892,892,892,,,892,,,,,,,892,,,892,892,892,892,892,892,892,892,892,892',
'892,892,,892,892,892,892,892,,,,,,,,,,,,,,,,,,,,892,,,892,,,892,892',
',,892,,892,,892,,892,,,,,,,,892,,,,,892,892,892,892,,892,892,,,,892',
'892,,895,895,895,,895,892,,892,895,895,,,,895,,895,895,895,895,895,895',
'895,,,,,,895,895,895,895,895,895,895,,,895,,,,,,,895,,,895,895,895,895',
'895,895,895,895,,895,895,895,,895,895,895,895,895,,,,,,,,,,,,,,,,,,',
',895,,,895,,,895,895,,,895,,895,,895,,895,,,,,,,,895,,,,,895,895,895',
'895,,895,895,,,,895,895,,897,897,897,,897,895,,895,897,897,,,,897,,897',
'897,897,897,897,897,897,,,,,,897,897,897,897,897,897,897,,,897,,,,,',
',897,,,897,897,897,897,897,897,897,897,897,897,897,897,,897,897,897',
'897,897,446,446,446,446,446,446,446,446,446,446,446,,446,446,,,446,446',
',897,,,897,,,897,897,,,897,,897,446,897,446,897,446,446,446,446,446',
'446,446,897,446,,,,897,897,897,897,,897,897,,,,897,897,446,446,25,,',
',897,,897,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,,25,25,25,25,25,25',
'25,26,25,25,25,,,,26,26,26,,,26,26,26,,26,25,25,,25,,25,,,,26,26,,,',
',,,,,26,26,,26,26,26,26,26,,,,,,,,,,,,,,,,,,,,,,,26,26,26,26,26,26,26',
'26,26,26,26,26,26,26,,,26,26,26,,,26,,26,26,,,26,26,,26,,26,,26,,26',
'26,26,26,26,26,26,395,26,,26,,,,395,395,395,,,395,395,395,,395,26,26',
',26,,26,,,395,395,395,,,,,,,,,395,395,,395,395,395,395,395,,,,,,,,,',
',,,,,,,,,,,,,395,395,395,395,395,395,395,395,395,395,395,395,395,395',
',,395,395,395,,,395,,395,395,,,395,395,,395,,395,,395,,395,395,395,395',
'395,395,395,448,395,395,395,,,,448,448,448,,,448,448,448,,448,395,395',
',395,,395,,,,448,,,,,,,,,,448,448,,448,448,448,448,448,,,,,,,,,,,,451',
',,,,,,451,451,451,,,451,451,451,,451,,,,,,448,,,,451,,,448,,,,,448,448',
'451,451,,451,451,451,451,451,,,,,,200,200,,,200,,,,448,,,,200,200,,200',
'200,200,200,200,200,200,448,,200,200,,448,451,200,200,200,200,,,451',
',,200,,451,451,,,,,200,200,,200,200,200,200,200,200,200,200,200,200',
'200,,,200,451,,,,,,,,,,,,,,451,,,,,451,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,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,374,374,374,374,374,374,374,374,374,374,374',
'374,374,374,374,374,374,374,374,374,374,374,374,374,,,,374,374,374,374',
'374,374,374,374,374,374,,,,,,374,374,374,374,374,374,374,374,374,,,374',
',,,,,,,374,374,,374,374,374,374,374,374,374,,,374,374,,,,374,374,374',
'374,,,,,,,,,,,,,,374,374,,374,374,374,374,374,374,374,374,374,374,374',
',,374,374,,,,,,,,,,,374,581,581,581,581,581,581,581,581,581,581,581',
'581,581,581,581,581,581,581,581,581,581,581,581,581,,,,581,581,581,581',
'581,581,581,581,581,581,,,,,,581,581,581,581,581,581,581,581,581,,,581',
',,,,,,,581,581,,581,581,581,581,581,581,581,,,581,581,,,,581,581,581',
'581,,,,,,,,,,,,,,581,581,,581,581,581,581,581,581,581,581,581,581,581',
',,581,581,,,,,,,,,,,581,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,,,66,709,709,709,709,709,709,709,709,709,709,709,709,709,709',
'709,709,709,709,709,709,709,709,709,709,,,,709,709,709,709,709,709,709',
'709,709,709,,,,,,709,709,709,709,709,709,709,709,709,,,709,,,,,,,,709',
'709,,709,709,709,709,709,709,709,,,709,709,,,,709,709,709,709,,,,,,',
',,,,,,,709,709,,709,709,709,709,709,709,709,709,709,709,709,201,201',
'709,,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,414,414,248,,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',
'415,415,414,,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,481,481,415,,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,482,482,481,,482,,,,,,,,482',
'482,,482,482,482,482,482,482,482,,,482,482,,,,482,482,482,482,,,,,,482',
',,,,,,,482,482,,482,482,482,482,482,482,482,482,482,482,482,493,493',
'482,,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,494,494,493,,494,,,,,,,,494,494,,494,494,494,494,494,494',
'494,,,494,494,,,,494,494,494,494,,,,,,494,,,,,,,,494,494,,494,494,494',
'494,494,494,494,494,494,494,494,543,543,494,,543,,,,,,,,543,543,,543',
'543,543,543,543,543,543,,,543,543,,,,543,543,543,543,,,,,,543,,,,,,',
',543,543,,543,543,543,543,543,543,543,543,543,543,543,544,544,543,,544',
',,,,,,,544,544,,544,544,544,544,544,544,544,,,544,544,,,,544,544,544',
'544,,,,,,544,,,,,,,,544,544,,544,544,544,544,544,544,544,544,544,544',
'544,550,550,544,,550,,,,,,,,550,550,,550,550,550,550,550,550,550,,,550',
'550,,,,550,550,550,550,,,,,,550,,,,,,,,550,550,,550,550,550,550,550',
'550,550,550,550,550,550,551,551,550,,551,,,,,,,,551,551,,551,551,551',
'551,551,551,551,,,551,551,,,,551,551,551,551,,,,,,551,,,,,,,,551,551',
',551,551,551,551,551,551,551,551,551,551,551,898,898,551,,898,,,,,,',
',898,898,,898,898,898,898,898,898,898,,,898,898,,,,898,898,898,898,',
',,,,898,,,,,,,,898,898,,898,898,898,898,898,898,898,898,898,898,898',
'899,899,898,,899,,,,,,,,899,899,,899,899,899,899,899,899,899,,,899,899',
',,,899,899,899,899,,,,,,899,,,,,,,,899,899,,899,899,899,899,899,899',
'899,899,899,899,899,927,927,899,,927,,,,,,,,927,927,,927,927,927,927',
'927,927,927,,,927,927,,,,927,927,927,927,,,,,,927,,,,,,,,927,927,,927',
'927,927,927,927,927,927,927,927,927,927,,,927,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,,646,646,646,646,646,646,646,646,646,646,646',
',646,646,,495,646,646,,,,,,,,,,,,,,,646,,646,,646,646,646,646,646,646',
'646,,646,,722,722,722,722,722,722,722,722,722,722,722,,722,722,,646',
'722,722,,,,,,,,,,,,,,,722,,722,,722,722,722,722,722,722,722,,722,,725',
'725,725,725,725,725,725,725,725,725,725,,725,725,,722,725,725,,,,,,',
',,,,,,,,725,,725,,725,725,725,725,725,725,725,,725,,729,729,729,729',
'729,729,729,729,729,729,729,,729,729,,725,729,729,,,,,,,,,,,,,,,729',
',729,,729,729,729,729,729,729,729,,729,,731,731,731,731,731,731,731',
'731,731,731,731,,731,731,,729,731,731,,,,,,,,,,,,,,,731,,731,,731,731',
'731,731,731,731,731,,731,,734,734,734,734,734,734,734,734,734,734,734',
',734,734,,731,734,734,,,,,,,,,,,,,,,734,,734,,734,734,734,734,734,734',
'734,,734,,736,736,736,736,736,736,736,736,736,736,736,,736,736,,734',
'736,736,,,,,,,,,,,,,,,736,,736,,736,736,736,736,736,736,736,,736,,817',
'817,817,817,817,817,817,817,817,817,817,,817,817,,736,817,817,,,,,,',
',,,,,,,,817,,817,,817,817,817,817,817,817,817,,817,,819,819,819,819',
'819,819,819,819,819,819,819,,819,819,,817,819,819,,,,,,,,,,,,,,,819',
',819,,819,819,819,819,819,819,819,,819,,,,,,,,,,,,,,,,,819' ]
        racc_action_check = arr = ::Array.new(23457, 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 = [
     0,    80,   nil,    62,   nil,  4744,  1499,    10, 21299, 21423,
    39,    29,    57,   133,   607,    55,   345,   nil,    29,  4869,
  7135,   202,   nil,   294,   249, 20787, 20896,  4994,  5119,  5244,
   nil,   738,  5369,  5494,   nil,   114,   240,   229,   403,  5627,
  5752,  5877,   176,   611,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   866,   999,  6002,  6127,  6252,     0,   nil,  6377,  6502,
   nil,   nil,  6627,  6760,  6885,  7010, 21795,   nil,   nil,   nil,
   nil,   nil,   342,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,     0,   nil,   nil,   130,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   328,
   nil,  7135,   nil,   nil,   nil,   nil,  7268,  7393,  7518,  7643,
  7768,  1124,   nil,   449,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   265,   nil,  1249,  7893,  8018,  8143,  8268,
 21167, 21967,  8393,  8518,  8643,  8768,  8893,   nil,   nil,   738,
    54,   356,   109,   298,   351,   nil,  9018,  1374,   360,  9143,
  9268,  9393,  9518,  9643,  9768,  9893, 10018, 10143, 10268, 10393,
 10518, 10643, 10768, 10893, 11018, 11143, 11268, 11393, 11518, 11643,
 11768, 11893, 12018, 12143, 12268,   nil,   nil, 22027, 22087,   421,
 12393, 12518,   nil,   nil,   nil,   nil,   nil,   nil,   nil, 12643,
   nil, 13268,   nil,   409,   443,   nil, 12768,   506, 12893,   nil,
 13018,   nil,   nil,   537,  1527, 13143,   479,  1499,   512,   569,
   554, 13268,  1624,   741,   784,   637,   874,   nil,   605,   576,
   261,   nil,   nil,   nil,   623,   500,   585, 13401,   nil,   478,
   650,   658,   898,   nil,   661,   nil, 13526,   730,   738,   590,
   nil,    34,   254,   656,   650,   284,   690,   nil,   nil,   830,
   600,    48,   136, 13651, 13776,   620,   768,   663,    65,   903,
   743,    89,   804,   nil,   nil,   351,   442,    96,   nil,   931,
   nil,    55, 13901,   nil,   nil,   309,   407,   434,   453,   572,
   576,   641,   649,   651,   nil,   668,   nil, 14026,   nil,   274,
   348,   382,   401,    39,   468,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   725, 21547,   nil,   nil,   nil,   nil,   748,
   nil,   nil,   738,   nil, 14151,   735,   nil,   740,   nil,   nil,
  1624,   745,   nil,   512,   519, 21005,   nil,   nil,   nil,   239,
   348,   787,   nil,   nil,  1752,  1861,   nil, 15276,   nil,   nil,
   nil,   174,   nil,   798, 22147, 22207, 14276,   244, 14401, 14526,
 14651,  1994,  2119,   431,   559,   823,   824,   833,   834,  1499,
  3619,  3744,  2244,  1810,  2369,  2494,  2619,  2744,  2869,  2994,
  3119,  3244,   530,   793,  3369,  3494, 20659,    79, 21114,   nil,
   nil, 21169,   nil,   nil,   775,   nil,   nil, 14776,   117,   175,
   778,   nil,   nil, 14901,   nil, 15026,   nil, 15151,   nil,   nil,
   nil, 15276,  1609,   785,   788,   nil,   nil,   792, 15409,   805,
 15534, 22267, 22327,  1002,   857,   nil,   nil, 15659,   823,   nil,
 15784, 15909, 16034, 22387, 22447, 22915, 16159,   940, 16284,   nil,
   829,   nil, 16409,   nil,   nil, 16534,   nil,   nil,   nil,    94,
   666,   nil,   832,   834,   836,   nil,   nil,   nil,   nil,   nil,
   nil,   272,   926,   nil,   985,   nil,   nil,   nil,   nil,   928,
   nil,   nil,   930,  1994,   971,   nil,  2119,   119,   142,   968,
   976, 16659, 16784, 22507, 22567,   112,   nil,   nil,  1004,   nil,
 22627, 22687, 16909,   nil,   nil, 17034,   693,   146,  2244,  1716,
   nil,   nil,   nil,   283,   nil,   nil,   nil,   721,   nil,   nil,
   nil,   868,   nil,   nil,   465,   nil,   nil,   858,   nil,   nil,
   nil, 21671,   nil, 17159,   860, 17284, 17409,   523,   896, 17534,
 17659,   902,   nil,   nil, 17784, 17909,   910,   nil,   nil,   nil,
   277,   353,   473,   603,   881,  5494,   883,   nil,   567,   nil,
  2369,   nil,   nil,   nil,   nil,   293,   nil,  6627,    -6,   883,
   nil,   887,   nil,  2494,  2619,   nil,   894,   nil,   938, 18034,
   nil,   nil,  1742,   453, 18159,   897,   nil,   901,   125,   198,
   946,   443,  1129,   956,   926, 18284, 22961,   993,  1000,   317,
  1072,   nil,  2744,   954,   998,   nil,   nil,   nil,   468,   nil,
  2869,  2994,   958,  5382,   nil,  6773,   nil,   nil,  1021,  1041,
 18409,   nil,   nil,  1014,   nil,   964,   349,  1011,   973,   nil,
   nil,   637,   nil,  1096,   nil,   nil,   nil,   nil,  1103,   nil,
   140,   991,   135,   141,   263,   269, 18534,   481,  1254,   nil,
   996,  3119,   701,   nil,   nil,  1123,  3244,  6898,   725, 21907,
   nil,   nil,   nil,   nil,   nil,   nil,  3369,   nil,   nil,   nil,
   nil,   nil, 23007,  1007, 18659, 23053, 18784,   nil,   nil, 23099,
   nil, 23145,   nil,   nil, 23191,   nil, 23237,   nil, 18909, 19034,
 19159, 19284,   386, 19409,  1008,  1011,  1019,   nil,  1043,  1021,
  1360,   312,   nil,  1151,  3494, 19534,   nil,   nil,  1054,  1072,
  1182,   nil, 19659,   nil,  1076,   352,   nil,   nil,   nil,  3619,
   nil,   nil,   163, 19784,   nil,   nil,  1096,  1201,  1088,  1088,
  1094,   nil,   nil,  1095,  1106,   nil,  1107,   nil,   nil,  1111,
  1110,  1113,   859,   nil,  1238,   nil, 19909,  1248,  3744,  3869,
   nil, 20034,  3994,   156,   205,   nil,  1252,   nil,  4119,   nil,
  1253,  1139,   nil,   nil,  1161,  1147,   nil, 23283, 20159, 23329,
  7023,   nil, 13414,   nil,   nil,  1050,   nil,  1169,  1156,   nil,
   nil,   nil, 20284,   nil,  1183,  1176,   nil,  1180,   nil,   nil,
   nil,  1187,   nil,  4244,  1127,  1252,  1275,  1255,   nil,   nil,
   nil,   nil, 15422,   nil,   nil,  1146,   nil,  1175,   nil,  1271,
   nil,   nil,   nil,   439,   869,  1204,   nil,   164,   nil,  1326,
  1333,   nil,   287,   nil,   nil,  1340,   nil,   nil, 15672,   nil,
  1231,  1232,  1233,  1238,   nil,  1243,   nil,  1389,  1364,  1327,
   nil,   nil, 20409,   nil,   nil, 20534,  1379, 20659, 22747, 22807,
  1377,  1258,  1261,  1269,  1272,  1273,  1139,  1281,  1235,  4369,
   nil,   nil,   nil,   nil,   nil,  4494,   nil,  4619, 18172,   nil,
   nil,  1300,   nil,  1396,   nil,   nil,   nil, 22867,   nil,  1287,
   nil,  1294,   165,   166,   209,  1379,   nil,  1425,   nil,   nil,
   nil,  1264,  1301,   836,  1425,  1436,  1326,  1329,  1331,  1335,
  1378,  1384,   nil,   173,  1345,  1348,   nil,   nil,   nil,   nil,
  1521,   nil,   nil,   nil,   nil,  1356,   nil ]

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

clist = [
'117,117,205,497,308,11,311,354,540,650,11,515,262,262,262,391,310,13',
'312,315,208,706,13,488,112,194,306,104,533,536,453,630,253,257,101,511',
'11,587,309,381,388,293,293,320,320,120,120,320,13,100,794,321,322,122',
'122,325,549,11,117,276,6,781,745,395,401,6,454,279,333,13,678,630,293',
'293,293,278,249,256,258,501,504,684,687,508,296,785,104,748,829,462',
'464,320,320,320,320,2,865,280,862,368,369,370,371,831,1,105,11,360,326',
'884,448,451,364,610,612,11,11,614,13,746,768,260,271,272,623,624,193',
'13,13,334,620,374,565,615,572,575,627,581,627,341,344,778,313,622,455',
'621,758,356,385,385,314,317,318,332,553,355,560,500,323,798,324,6,799',
'696,915,701,808,558,907,559,372,6,709,878,780,749,783,828,509,659,319',
'246,447,458,262,459,912,654,408,409,410,411,772,405,358,797,359,380',
'386,389,11,366,515,406,635,884,373,361,396,362,942,574,13,644,363,711',
'862,716,781,789,779,688,11,,,926,662,,827,,,379,604,,13,262,262,,,,831',
',,,262,955,,,,,742,515,,279,,,,781,,,,,,,,,,,,699,,,785,484,880,,,395',
'401,,11,754,11,765,,,,11,,,293,,13,,13,,637,104,253,13,747,,257,,471',
'276,293,,320,320,276,,956,279,,,537,538,279,470,,473,,,,,479,557,630',
',,881,477,882,,472,,803,,,917,655,563,,640,456,805,719,873,104,,,,460',
',,640,,691,,764,,489,901,,554,117,,700,,,539,732,,,588,,737,,,,,,,913',
',,,,,580,,,,,,,802,,515,,262,,592,,14,640,405,,597,14,120,,,640,,,,',
'122,,619,396,811,209,,775,626,836,946,606,,209,209,209,627,14,284,284',
',,,309,,,756,,591,,,385,,761,596,,,592,14,209,592,656,,,209,209,262',
'658,209,329,339,339,,,,405,,11,,,843,,649,,,,,405,293,13,396,672,,,690',
',,293,,,,611,396,,613,,,14,,,,705,209,209,209,209,14,14,,,,,,,,,,,262',
',,,632,,,,,405,262,11,,320,11,405,489,,,,,702,,13,396,489,13,914,,,',
',396,412,685,685,11,,627,,,627,681,515,,683,117,909,13,,953,,,703,704',
',,,,,,588,,728,730,930,,,733,735,721,,,14,209,209,209,209,,,209,209',
'209,209,209,770,461,,11,774,,120,,,588,14,,,,122,13,11,11,,,474,,,,',
',,672,13,13,791,293,,,753,,592,,813,597,,806,293,209,209,11,810,759',
'760,891,,893,209,11,11,894,,13,,,,,,588,,13,13,,14,320,14,,588,,284',
'14,771,804,,,,,,,776,777,,489,,117,284,,,,11,835,,,766,11,,931,841,',
',,13,837,,11,,13,,,807,816,209,209,,,812,13,,,,,,,,,,,,,,209,,,,,814',
',,952,672,,672,11,875,640,209,,,598,,,,,,13,,,11,,,,848,15,,320,293',
',15,,13,,,867,834,,,,,,,,,,,,,11,11,842,,11,616,,15,286,286,11,625,13',
'13,,,13,,209,,,,13,,633,685,905,672,15,,636,869,870,,,872,,,293,331',
'340,340,,,,11,,,,,,657,,929,,,,13,,209,,,,,,,945,,,672,,672,,14,,,896',
'15,,262,284,,209,,,,15,15,405,284,,,,,,,,,209,744,,,,396,672,,,,,,,11',
'588,,710,,405,11,,11,,,,13,,,,,,13,,13,,,,14,,,14,,,,943,,209,,,,944',
',,,,,209,,784,209,,786,14,,,,,,,,,,,15,757,,,,,,,316,,,24,,,,,24,,,',
'209,209,15,,,209,209,,,767,24,,,,,,,,24,24,24,14,24,,,,,,,,,,,,14,14',
',,793,,,,,24,24,284,,,,24,24,,,24,,,284,,,,15,,15,14,,,286,15,,,,14',
'14,,,,,,,,,,286,,,,,,,,,,24,,,,,24,24,24,24,24,24,,,,,209,,,,,14,,,',
',14,838,,,,883,,,885,,14,,383,387,,,,,,,209,851,,,,,,,,,,,861,,,902',
',,903,,904,,,,,,,,14,,,,,,877,,,,,,,,,14,,,,845,,24,24,24,24,24,,,24',
'24,24,24,24,,466,,468,,469,,,,209,24,14,14,,,14,,,,,947,14,,948,,949',
',,,,,,,,,,,,,954,,,,24,24,888,,,,,,,24,,,,14,,15,,,36,965,,,286,36,',
'24,,24,,,,286,24,,,,,,,,,,,,,,,,,36,283,283,,,,,,,,,,,,,,,,209,,,36',
',,24,24,,584,15,,14,15,328,343,343,343,14,,14,,,,,24,,,,,,,,,,15,,,',
',24,,,,715,,,,,,,,36,,,,,,,,,36,36,,,,,,,,,,,,,,,,,,,,618,,,,,15,628',
',316,,631,,,,,,,24,15,15,,,664,666,667,,,,,286,,,,,,,,,,,286,653,,,',
'628,,15,316,,,,,,,15,15,,24,,,,,,36,,,,,,,,24,,,,,,,,,24,,,383,,36,',
',,,,,,,,15,24,,,,15,,,,,,,,,,15,,,,,,,,,,,,,,,,,723,,,,,,24,,,24,,,',
',,24,36,,36,,,15,283,36,,24,,,24,,,24,,,,,15,,283,,847,,,,763,,,,,,',
',,,,,,,,,,,24,24,,15,15,24,24,15,,,,,,15,,,,,,,,24,,788,,,,,,,,,,,24',
'24,,340,,,,,,,,,,,15,,,,,,,,,,,,,,,24,821,823,824,,,,,24,24,,,,,815',
',,,,,,,,,,,,,,,,,,,,,853,854,,,856,858,,860,24,,,,,24,,15,,,24,,,15',
',15,,,,,24,,,,,,,,,,24,,,,,,,,,,,,,36,,,,871,,,283,,,,,,,,24,283,,,',
',,,,,,,,,,24,,,,,,,,,,,,,,,,,,,,919,920,922,924,,925,,24,,24,24,,36',
'24,,36,,,,24,,936,938,939,940,,,,,,,,,,,,,36,,,,,,,,628,,,871,,,,,,24',
',,,,,,,,,,,959,961,962,963,,,,,964,,,,,,,,,,,966,,,,36,,,,,,,,,,,,,36',
'36,,,,,24,,,,,283,,,,,,,24,,,,283,,24,215,24,,,36,,,,261,261,261,,36',
'36,,,,,,,303,304,305,,,,,,,,,,,,,261,261,,,,,,,,,,,,,,,,,36,,,,,36,',
',,,,,,,,36,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,36,,,,,,,,,,,,,,,36',
',,,844,,,,,,,,,,,,,,,,,,,,,,,,,36,36,,,36,,,,,,36,,,,,,,,,,,,,,,,,382',
'261,390,261,,,407,343,,,,,,,,,,,36,,215,,,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,446,,,,,,261,261,,,,,,,,261,,,,,,,261,,261,,261,,,,,,,,,,36,,,,',
',36,,36,,,,,,,,,,,,,,,,,,495,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,261,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,261,,407,605,390,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,617,,,,,,261',
',261,,261,,,,,,,,,,,,,261,,,,,,,,,,646,647,648,,,,,,261,,,,261,,,261',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,261,261,,,,,,,,,,261,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,722,,261,725,,,729,731,,,,734,736,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,261,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,261,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,261,,817,,,,,,,,,',
',,729,731,736,734,,819,,,,,,,,,,,,261,,,,,,,261,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,261,,,,,,,,,,,,,,,,,817,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,261,,,261,,261' ]
        racc_goto_table = arr = ::Array.new(2780, 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,10,8,17,61,51,87,11,17,116,31,31,31,22,60,20,63,63,18,91,20',
'47,14,14,29,90,84,84,36,152,64,64,6,125,17,23,27,25,25,58,58,27,27,55',
'55,27,20,4,85,16,16,56,56,16,49,17,52,41,7,147,113,34,34,7,22,9,17,20',
'109,152,58,58,58,42,35,35,35,62,62,86,86,62,46,148,90,118,120,66,66',
'27,27,27,27,2,110,45,107,16,16,16,16,121,1,5,17,138,4,149,34,34,138',
'37,65,17,17,65,20,114,12,40,40,40,37,37,15,20,20,19,67,28,142,38,142',
'142,67,57,67,50,50,118,59,68,69,71,72,79,61,61,80,81,83,88,89,92,93',
'94,95,96,97,7,98,99,100,101,102,103,110,104,7,7,105,106,114,111,114',
'119,122,123,124,126,127,129,31,130,131,132,27,27,27,27,133,52,136,11',
'137,18,18,18,17,5,116,18,47,149,2,139,64,140,110,141,20,47,143,144,107',
'145,147,109,146,87,17,,,120,125,,118,,,9,22,,20,31,31,,,,121,,,,31,110',
',,,,23,116,,9,,,,147,,,,,,,,,,,,49,,,148,29,113,,,34,34,,17,37,17,23',
',,,17,,,58,,20,,20,,22,90,64,20,116,,64,,6,41,58,,27,27,41,,85,9,,,16',
'16,9,4,,42,,,,,42,27,152,,,114,46,114,,7,,23,,,91,25,27,,34,40,23,142',
'86,90,,,,40,,,34,,22,,47,,45,114,,90,52,,22,,,4,36,,,29,,36,,,,,,,11',
',,,,,14,,,,,,,84,,116,,31,,64,,21,34,52,,64,21,55,,,34,,,,,56,,63,64',
'125,21,,62,63,67,114,29,,21,21,21,67,21,21,21,,,,27,,,66,,35,,,61,,66',
'35,,,64,21,21,64,60,,,21,21,31,63,21,21,21,21,,,,52,,17,,,84,,27,,,',
',52,58,20,64,108,,,61,,,58,,,,35,64,,35,,,21,,,,8,21,21,21,21,21,21',
',,,,,,,,,,31,,,,7,,,,,52,31,17,,27,17,52,45,,,,,16,,20,64,45,20,87,',
',,,64,43,90,90,17,,67,,,67,9,116,,9,52,84,20,,23,,,90,90,,,,,,,29,,18',
'18,10,,,18,18,14,,,21,21,21,21,21,,,21,21,21,21,21,60,43,,17,60,,55',
',,29,21,,,,56,20,17,17,,,43,,,,,,,108,20,20,108,58,,,9,,64,,51,64,,8',
'58,21,21,17,8,9,9,66,,66,21,17,17,66,,20,,,,,,29,,20,20,,21,27,21,,29',
',21,21,9,16,,,,,,,9,9,,45,,52,21,,,,17,61,,,45,17,,22,61,,,,20,63,,17',
',20,,,90,18,21,21,,,90,20,,,,,,,,,,,,,,21,,,,,9,,,66,108,,108,17,8,34',
'21,,,43,,,,,,20,,,17,,,,17,24,,27,58,,24,,20,,,16,9,,,,,,,,,,,,,17,17',
'9,,17,43,,24,24,24,17,43,20,20,,,20,,21,,,,20,,43,90,108,108,24,,43',
'9,9,,,9,,,58,24,24,24,,,,17,,,,,,43,,63,,,,20,,21,,,,,,,8,,,108,,108',
',21,,,9,24,,31,21,,21,,,,24,24,52,21,,,,,,,,,21,112,,,,64,108,,,,,,',
'17,29,,43,,52,17,,17,,,,20,,,,,,20,,20,,,,21,,,21,,,,9,,21,,,,9,,,,',
',21,,112,21,,112,21,,,,,,,,,,,24,43,,,,,,,26,,,39,,,,,39,,,,21,21,24',
',,21,21,,,43,39,,,,,,,,39,39,39,21,39,,,,,,,,,,,,21,21,,,43,,,,,39,39',
'21,,,,39,39,,,39,,,21,,,,24,,24,21,,,24,24,,,,21,21,,,,,,,,,,24,,,,',
',,,,,39,,,,,39,39,39,39,39,39,,,,,21,,,,,21,,,,,21,43,,,,112,,,112,',
'21,,26,26,,,,,,,21,43,,,,,,,,,,,43,,,112,,,112,,112,,,,,,,,21,,,,,,43',
',,,,,,,,21,,,,21,,39,39,39,39,39,,,39,39,39,39,39,,26,,26,,26,,,,21',
'39,21,21,,,21,,,,,112,21,,112,,112,,,,,,,,,,,,,,112,,,,39,39,21,,,,',
',,39,,,,21,,24,,,48,112,,,24,48,,39,,39,,,,24,39,,,,,,,,,,,,,,,,,48',
'48,48,,,,,,,,,,,,,,,,21,,,48,,,39,39,,26,24,,21,24,48,48,48,48,21,,21',
',,,,39,,,,,,,,,,24,,,,,39,,,,24,,,,,,,,48,,,,,,,,,48,48,,,,,,,,,,,,',
',,,,,,,26,,,,,24,26,,26,,26,,,,,,,39,24,24,,,115,115,115,,,,,24,,,,',
',,,,,,24,26,,,,26,,24,26,,,,,,,24,24,,39,,,,,,48,,,,,,,,39,,,,,,,,,39',
',,26,,48,,,,,,,,,,24,39,,,,24,,,,,,,,,,24,,,,,,,,,,,,,,,,,26,,,,,,39',
',,39,,,,,,39,48,,48,,,24,48,48,,39,,,39,,,39,,,,,24,,48,,24,,,,26,,',
',,,,,,,,,,,,,,,39,39,,24,24,39,39,24,,,,,,24,,,,,,,,39,,26,,,,,,,,,',
',39,39,,24,,,,,,,,,,,24,,,,,,,,,,,,,,,39,115,115,115,,,,,39,39,,,,,26',
',,,,,,,,,,,,,,,,,,,,,115,115,,,115,115,,115,39,,,,,39,,24,,,39,,,24',
',24,,,,,39,,,,,,,,,,39,,,,,,,,,,,,,48,,,,26,,,48,,,,,,,,39,48,,,,,,',
',,,,,,,39,,,,,,,,,,,,,,,,,,,,115,115,115,115,,115,,39,,39,39,,48,39',
',48,,,,39,,115,115,115,115,,,,,,,,,,,,,48,,,,,,,,26,,,26,,,,,,39,,,',
',,,,,,,,115,115,115,115,,,,,115,,,,,,,,,,,115,,,,48,,,,,,,,,,,,,48,48',
',,,,39,,,,,48,,,,,,,39,,,,48,,39,30,39,,,48,,,,30,30,30,,48,48,,,,,',
',30,30,30,,,,,,,,,,,,,30,30,,,,,,,,,,,,,,,,,48,,,,,48,,,,,,,,,,48,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,48,,,,,,,,,,,,,,,48,,,,48,,,,,,,',
',,,,,,,,,,,,,,,,,48,48,,,48,,,,,,48,,,,,,,,,,,,,,,,,30,30,30,30,,,30',
'48,,,,,,,,,,,48,,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',
',,,,,,,,,48,,,,,,48,,48,,,,,,,,,,,,,,,,,,30,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,30,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,30,,30,30,30,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
'30,,,,,,30,,30,,30,,,,,,,,,,,,,30,,,,,,,,,,30,30,30,,,,,,30,,,,30,,',
'30,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,30,30,,,,,,,,,,30,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,30,,30,30,,,30,30,,,,30,30,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,30,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,30,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,30,,30,,,,,,,,,,,,30,30,30',
'30,,30,,,,,,,,,,,,30,,,,,,,30,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
'30,,,,,,,,,,,,,,,,,30,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,30,,,30,,30' ]
        racc_goto_check = arr = ::Array.new(2780, 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,   104,    95,   nil,    46,   100,    31,    60,   -48,    36,
  -304,  -488,  -530,   nil,    16,   117,    -7,     5,     1,    66,
    17,   405,  -184,  -354,   779,  -157,   927,   -15,    19,   -16,
  1882,   -15,   nil,   nil,  -137,    52,  -219,  -334,  -319,   985,
    94,    28,    44,   354,   nil,    65,    51,  -274,  1253,  -281,
    75,   -59,    -8,   nil,   nil,    37,    45,  -241,     9,    88,
   -38,   -48,  -232,   -36,     8,  -334,  -174,  -327,  -314,  -107,
   nil,  -312,  -476,   nil,   nil,   nil,   nil,   nil,   nil,    81,
    95,    95,   nil,    95,  -293,  -631,  -456,  -318,    90,  -187,
    24,  -538,    89,  -199,  -152,    98,  -525,    99,  -525,  -383,
  -709,  -388,  -538,  -177,  -185,  -388,  -640,  -692,   -34,  -454,
  -696,  -433,   294,  -546,  -489,   894,  -308,   nil,  -521,  -573,
  -662,  -647,  -141,  -330,   123,  -284,   160,   -63,   nil,   -71,
   -70,  -686,  -311,  -462,   nil,   nil,   122,   122,    30,   129,
   130,  -151,  -227,   134,  -352,  -351,  -443,  -602,  -580,  -713,
   nil,   nil,  -434 ]

racc_goto_default = [
   nil,   nil,   nil,     3,   nil,     4,   327,   274,   nil,   307,
   nil,   795,   nil,   273,   nil,   nil,   nil,   213,    17,    12,
   214,   302,   nil,   nil,   212,   nil,   267,    16,   nil,   413,
    20,    21,    22,    23,   643,   nil,   nil,   nil,   nil,   290,
   392,    30,   nil,   nil,    32,    35,    34,   nil,   210,   338,
   nil,   119,   398,   118,   121,    70,    71,   nil,    43,   nil,
   651,   263,   nil,   264,   403,   593,   nil,   265,   nil,   nil,
   251,   nil,   nil,    44,    45,    46,    47,    48,    49,    50,
   nil,   252,    56,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   534,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   674,   523,   nil,
   675,   nil,   512,   nil,   514,   nil,   782,   607,   nil,   nil,
   nil,   520,   nil,   nil,   nil,   708,   nil,   nil,   402,   nil,
   nil,   nil,   nil,   nil,    69,    72,    73,   nil,   nil,   nil,
   nil,   nil,   570,   nil,   nil,   nil,   513,   525,   526,   752,
   529,   532,   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,
  2, 195, :_reduce_300,
  6, 195, :_reduce_301,
  6, 195, :_reduce_302,
  0, 232, :_reduce_303,
  0, 233, :_reduce_304,
  7, 195, :_reduce_305,
  0, 234, :_reduce_306,
  0, 235, :_reduce_307,
  7, 195, :_reduce_308,
  5, 195, :_reduce_309,
  4, 195, :_reduce_310,
  0, 236, :_reduce_311,
  0, 237, :_reduce_312,
  9, 195, :_reduce_313,
  0, 238, :_reduce_314,
  6, 195, :_reduce_315,
  0, 239, :_reduce_316,
  7, 195, :_reduce_317,
  0, 240, :_reduce_318,
  5, 195, :_reduce_319,
  0, 241, :_reduce_320,
  6, 195, :_reduce_321,
  0, 242, :_reduce_322,
  0, 243, :_reduce_323,
  9, 195, :_reduce_324,
  1, 195, :_reduce_325,
  1, 195, :_reduce_326,
  1, 195, :_reduce_327,
  1, 195, :_reduce_328,
  1, 158, :_reduce_none,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  2, 221, :_reduce_332,
  1, 223, :_reduce_none,
  1, 223, :_reduce_none,
  1, 222, :_reduce_none,
  5, 222, :_reduce_336,
  1, 148, :_reduce_none,
  2, 148, :_reduce_338,
  1, 225, :_reduce_none,
  1, 225, :_reduce_none,
  1, 244, :_reduce_none,
  3, 244, :_reduce_342,
  1, 247, :_reduce_343,
  3, 247, :_reduce_344,
  1, 246, :_reduce_none,
  4, 246, :_reduce_346,
  6, 246, :_reduce_347,
  3, 246, :_reduce_348,
  5, 246, :_reduce_349,
  2, 246, :_reduce_350,
  4, 246, :_reduce_351,
  1, 246, :_reduce_352,
  3, 246, :_reduce_353,
  6, 248, :_reduce_354,
  8, 248, :_reduce_355,
  4, 248, :_reduce_356,
  6, 248, :_reduce_357,
  4, 248, :_reduce_358,
  2, 248, :_reduce_none,
  6, 248, :_reduce_360,
  2, 248, :_reduce_361,
  4, 248, :_reduce_362,
  6, 248, :_reduce_363,
  2, 248, :_reduce_364,
  4, 248, :_reduce_365,
  2, 248, :_reduce_366,
  4, 248, :_reduce_367,
  1, 248, :_reduce_368,
  0, 174, :_reduce_369,
  1, 174, :_reduce_370,
  3, 254, :_reduce_371,
  1, 254, :_reduce_372,
  4, 254, :_reduce_373,
  0, 255, :_reduce_374,
  2, 255, :_reduce_375,
  1, 256, :_reduce_376,
  3, 256, :_reduce_377,
  1, 257, :_reduce_378,
  1, 257, :_reduce_none,
  0, 261, :_reduce_380,
  3, 220, :_reduce_381,
  4, 259, :_reduce_382,
  1, 259, :_reduce_383,
  3, 260, :_reduce_384,
  3, 260, :_reduce_385,
  0, 264, :_reduce_386,
  5, 263, :_reduce_387,
  2, 170, :_reduce_388,
  4, 170, :_reduce_389,
  4, 170, :_reduce_390,
  2, 219, :_reduce_391,
  4, 219, :_reduce_392,
  4, 219, :_reduce_393,
  3, 219, :_reduce_394,
  3, 219, :_reduce_395,
  3, 219, :_reduce_396,
  2, 219, :_reduce_397,
  1, 219, :_reduce_398,
  4, 219, :_reduce_399,
  0, 266, :_reduce_400,
  5, 218, :_reduce_401,
  0, 267, :_reduce_402,
  5, 218, :_reduce_403,
  5, 224, :_reduce_404,
  1, 268, :_reduce_405,
  1, 268, :_reduce_none,
  6, 147, :_reduce_407,
  0, 147, :_reduce_408,
  1, 269, :_reduce_409,
  1, 269, :_reduce_none,
  1, 269, :_reduce_none,
  2, 270, :_reduce_412,
  1, 270, :_reduce_none,
  2, 149, :_reduce_414,
  1, 149, :_reduce_none,
  1, 210, :_reduce_none,
  1, 210, :_reduce_none,
  1, 210, :_reduce_none,
  1, 211, :_reduce_419,
  1, 272, :_reduce_420,
  2, 272, :_reduce_421,
  3, 273, :_reduce_422,
  1, 273, :_reduce_423,
  1, 273, :_reduce_424,
  3, 212, :_reduce_425,
  4, 213, :_reduce_426,
  3, 214, :_reduce_427,
  0, 277, :_reduce_428,
  3, 277, :_reduce_429,
  1, 278, :_reduce_430,
  2, 278, :_reduce_431,
  3, 215, :_reduce_432,
  0, 280, :_reduce_433,
  3, 280, :_reduce_434,
  0, 274, :_reduce_435,
  2, 274, :_reduce_436,
  0, 275, :_reduce_437,
  2, 275, :_reduce_438,
  0, 276, :_reduce_439,
  2, 276, :_reduce_440,
  1, 279, :_reduce_441,
  2, 279, :_reduce_442,
  0, 282, :_reduce_443,
  4, 279, :_reduce_444,
  1, 281, :_reduce_445,
  1, 281, :_reduce_446,
  1, 281, :_reduce_447,
  1, 281, :_reduce_none,
  1, 192, :_reduce_449,
  3, 193, :_reduce_450,
  1, 271, :_reduce_451,
  1, 271, :_reduce_452,
  2, 271, :_reduce_453,
  2, 271, :_reduce_454,
  1, 185, :_reduce_455,
  1, 185, :_reduce_456,
  1, 185, :_reduce_457,
  1, 185, :_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, 216, :_reduce_467,
  1, 157, :_reduce_468,
  1, 161, :_reduce_469,
  1, 161, :_reduce_470,
  1, 226, :_reduce_471,
  3, 226, :_reduce_472,
  2, 226, :_reduce_473,
  3, 228, :_reduce_474,
  2, 228, :_reduce_475,
  6, 262, :_reduce_476,
  8, 262, :_reduce_477,
  4, 262, :_reduce_478,
  6, 262, :_reduce_479,
  4, 262, :_reduce_480,
  6, 262, :_reduce_481,
  2, 262, :_reduce_482,
  4, 262, :_reduce_483,
  6, 262, :_reduce_484,
  2, 262, :_reduce_485,
  4, 262, :_reduce_486,
  2, 262, :_reduce_487,
  4, 262, :_reduce_488,
  1, 262, :_reduce_489,
  0, 262, :_reduce_490,
  1, 258, :_reduce_491,
  1, 258, :_reduce_492,
  1, 258, :_reduce_493,
  1, 258, :_reduce_494,
  1, 245, :_reduce_none,
  1, 245, :_reduce_496,
  3, 245, :_reduce_497,
  2, 245, :_reduce_498,
  1, 284, :_reduce_none,
  3, 284, :_reduce_500,
  1, 249, :_reduce_501,
  3, 249, :_reduce_502,
  3, 285, :_reduce_503,
  3, 286, :_reduce_504,
  1, 250, :_reduce_505,
  3, 250, :_reduce_506,
  1, 283, :_reduce_507,
  3, 283, :_reduce_508,
  1, 287, :_reduce_none,
  1, 287, :_reduce_none,
  2, 251, :_reduce_511,
  1, 251, :_reduce_512,
  1, 288, :_reduce_none,
  1, 288, :_reduce_none,
  2, 253, :_reduce_515,
  2, 252, :_reduce_516,
  0, 252, :_reduce_517,
  1, 229, :_reduce_none,
  3, 229, :_reduce_519,
  0, 217, :_reduce_520,
  2, 217, :_reduce_none,
  1, 200, :_reduce_522,
  3, 200, :_reduce_523,
  3, 289, :_reduce_524,
  2, 289, :_reduce_525,
  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, 265, :_reduce_none,
  1, 265, :_reduce_none,
  1, 265, :_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_542,
  2, 160, :_reduce_543,
  0, 199, :_reduce_none,
  1, 199, :_reduce_none,
  1, 199, :_reduce_none,
  1, 227, :_reduce_547,
  1, 227, :_reduce_none,
  1, 143, :_reduce_none,
  2, 143, :_reduce_none,
  0, 197, :_reduce_551 ]

racc_reduce_n = 552

racc_shift_n = 967

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",
  "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",
  "@20",
  "f_args",
  "do_block",
  "@21",
  "operation3",
  "@22",
  "@23",
  "cases",
  "exc_list",
  "exc_var",
  "numeric",
  "string",
  "string1",
  "string_contents",
  "xstring_contents",
  "regexp_contents",
  "word_list",
  "word",
  "string_content",
  "qword_list",
  "string_dvar",
  "@24",
  "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_.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
                    
    result
end

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

                      @static_env.unextend
                    
    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(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)
                      lambda_call = @builder.call_lambda(val[0])

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

def _reduce_301(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_302(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_303(val, _values, result)
                      @lexer.cond.push(true)
                    
    result
end

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

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

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

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

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

def _reduce_309(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_310(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_311(val, _values, result)
                      @lexer.cond.push(true)
                    
    result
end

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

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

def _reduce_314(val, _values, result)
                      @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
end

def _reduce_315(val, _values, result)
                      if in_def?
                        diagnostic :error, :class_in_def, nil, val[0]
                      end

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

                      @lexer.pop_cmdarg
                      @static_env.unextend
                    
    result
end

def _reduce_316(val, _values, result)
                      result = @def_level
                      @def_level = 0

                      @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
end

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

                      @lexer.pop_cmdarg
                      @static_env.unextend

                      @def_level = val[4]
                    
    result
end

def _reduce_318(val, _values, result)
                      @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
end

def _reduce_319(val, _values, result)
                      if in_def?
                        diagnostic :error, :module_in_def, nil, val[0]
                      end

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

                      @lexer.pop_cmdarg
                      @static_env.unextend
                    
    result
end

def _reduce_320(val, _values, result)
                      @def_level += 1
                      @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
end

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

                      @lexer.pop_cmdarg
                      @static_env.unextend
                      @def_level -= 1
                    
    result
end

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

def _reduce_323(val, _values, result)
                      @def_level += 1
                      @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
end

def _reduce_324(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
                      @def_level -= 1
                    
    result
end

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

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

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

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

# reduce 329 omitted

# reduce 330 omitted

# reduce 331 omitted

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

# reduce 333 omitted

# reduce 334 omitted

# reduce 335 omitted

def _reduce_336(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 337 omitted

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

# reduce 339 omitted

# reduce 340 omitted

# reduce 341 omitted

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

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

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

# reduce 345 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 359 omitted

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

def _reduce_361(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_362(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 379 omitted

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

def _reduce_381(val, _values, result)
                      result = [ val[1], val[2] ]

                      @static_env.unextend
                    
    result
end

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

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

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

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

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

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

                      @static_env.unextend
                    
    result
end

def _reduce_388(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_389(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_390(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_391(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_392(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_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)
                      result = @builder.call_method(val[0], val[1], val[2])
                    
    result
end

def _reduce_395(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_396(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_397(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_398(val, _values, result)
                      result = @builder.keyword_cmd(:zsuper, val[0])
                    
    result
end

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

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

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

                      @static_env.unextend
                    
    result
end

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

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

                      @static_env.unextend
                    
    result
end

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

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

# reduce 406 omitted

def _reduce_407(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_408(val, _values, result)
                      result = []
                    
    result
end

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

# reduce 410 omitted

# reduce 411 omitted

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

# reduce 413 omitted

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

# reduce 415 omitted

# reduce 416 omitted

# reduce 417 omitted

# reduce 418 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

def _reduce_438(val, _values, result)
                      result = val[0] << 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 = @builder.string_internal(val[0])
                    
    result
end

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

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

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

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

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

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

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

# reduce 448 omitted

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

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

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

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

def _reduce_453(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_454(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_455(val, _values, result)
                      result = @builder.ident(val[0])
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                      @lexer.state = :expr_value
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 495 omitted

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

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

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

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

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

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

# reduce 499 omitted

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

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

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

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

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

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

                      result = @builder.optarg(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)
                      result = [ val[0] ]
                    
    result
end

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

# reduce 509 omitted

# reduce 510 omitted

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

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

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

# reduce 513 omitted

# reduce 514 omitted

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

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

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

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

# reduce 518 omitted

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

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

# reduce 521 omitted

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

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

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

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

# reduce 526 omitted

# reduce 527 omitted

# reduce 528 omitted

# reduce 529 omitted

# reduce 530 omitted

# reduce 531 omitted

# reduce 532 omitted

# reduce 533 omitted

# reduce 534 omitted

# reduce 535 omitted

# reduce 536 omitted

# reduce 537 omitted

# reduce 538 omitted

# reduce 539 omitted

# reduce 540 omitted

# reduce 541 omitted

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

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

# reduce 544 omitted

# reduce 545 omitted

# reduce 546 omitted

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

# reduce 548 omitted

# reduce 549 omitted

# reduce 550 omitted

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

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

  end   # class MacRuby
  end   # module Parser
