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

require 'racc/parser.rb'


require 'parser'

module Parser
  class Ruby19 < Parser::Base


  def version
    19
  end

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

clist = [
'-532,278,66,67,68,9,54,-532,-532,-532,60,61,-532,-532,-532,64,-532,62',
'63,65,29,30,69,70,847,-532,-532,-532,-532,28,27,26,93,92,94,95,-532',
'-532,19,-532,-532,-532,-532,-532,8,44,520,10,97,96,98,87,53,89,88,90',
'541,91,99,100,520,85,86,41,42,40,-532,-532,-532,-532,-532,-532,-532',
'-532,-532,-532,-532,-532,-532,-532,-104,208,-532,-532,-532,39,724,-532',
'32,-101,-532,55,56,-532,-532,57,-532,34,-532,562,-532,43,-532,-532,-532',
'-532,-532,-532,-532,20,-532,-532,-532,-100,84,76,79,80,209,81,82,551',
'-97,490,77,83,-532,-532,-532,-532,-454,-532,59,-532,78,-100,-98,-454',
'-454,-454,829,-82,-454,-454,-454,258,-454,-68,669,669,510,483,-101,509',
'-454,258,-454,-454,-454,-103,105,540,561,520,520,104,-454,-454,853,-454',
'-454,-454,-454,-454,105,-100,520,597,-528,104,-99,105,553,552,563,-95',
'104,-96,776,634,-99,205,206,669,-92,723,-454,-454,-454,-454,-454,-454',
'-454,-454,-454,-454,-454,-454,-454,-454,-98,596,-454,-454,-454,482,-454',
'-454,-91,253,-454,205,206,-454,-454,532,-454,-88,-454,533,-454,257,-454',
'-454,-454,-454,-454,-454,-454,855,-454,257,-454,209,-101,828,-90,858',
'105,105,-98,-263,-528,104,104,-98,-454,-454,-454,-454,-457,-454,551',
'-454,-94,-454,-101,-457,-457,-457,497,-101,-457,-457,-457,-102,-457',
'105,105,-92,781,209,104,104,-457,-90,-457,-457,-457,-100,105,209,-87',
'105,-100,104,-457,-457,104,-457,-457,-457,-457,-457,-99,510,205,206',
'512,-99,722,105,-90,205,206,-89,104,105,510,-103,-67,512,104,553,552',
'554,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457',
'-457,-529,597,-457,-457,-457,-92,-457,-457,-90,474,-457,-90,427,-457',
'-457,799,-457,-90,-457,-99,-457,472,-457,-457,-457,-457,-457,-457,-457',
'-281,-457,551,-457,597,470,596,-281,-281,-281,-469,-93,-92,-281,-281',
'-92,-281,-457,-457,-457,-457,-92,-457,597,-457,258,-457,209,-525,-398',
'510,865,-104,512,209,-98,-281,-281,596,-281,-281,-281,-281,-281,770',
'-469,650,649,648,634,651,526,770,-88,650,649,648,596,651,-97,-468,205',
'206,553,552,549,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281',
'-281,-281,-281,-454,-398,-281,-281,-281,551,580,-454,-398,253,-281,-532',
'-525,-281,-97,551,-454,-398,-281,866,-281,461,-281,-281,-281,-281,-281',
'-281,-281,-96,-281,257,-281,105,-525,-398,-461,250,104,-526,-532,-465',
'843,-461,251,-281,-281,-281,-465,-93,925,-281,-281,-281,-281,-102,869',
'-281,-281,-281,105,-281,-457,-532,229,104,553,552,558,-457,-532,-281',
'-281,-281,208,-528,553,552,556,-532,874,-281,-281,-462,-281,-281,-281',
'-281,-281,105,-462,-457,-532,-468,104,-459,226,-532,-457,-532,228,227',
'-459,-526,-528,105,209,-457,-532,878,104,-281,-281,-281,-281,-281,-281',
'-281,-281,-281,-281,-281,-281,-281,-281,-526,-532,-281,-281,-281,881',
'725,-281,-464,497,-281,-87,551,-281,-281,-464,-281,-96,-281,883,-281',
'885,-281,-281,-281,-281,-281,-281,-281,-532,-281,76,-281,885,-463,203',
'-532,-532,-532,209,77,-463,-532,-532,576,-532,-281,-281,-281,-281,78',
'-281,-94,-281,-532,-102,429,770,-103,650,649,648,890,651,428,-532,-532',
'575,-532,-532,-532,-532,-532,553,552,776,634,735,-95,650,649,648,701',
'651,-104,-454,105,-92,205,206,893,104,-454,-101,766,-532,-532,-532,-532',
'-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,894,-90,-532,-532',
'-532,655,581,-99,205,206,-532,492,493,-532,659,658,662,661,-532,708',
'-532,899,-532,-532,-532,-532,-532,-532,-532,426,-532,-532,-532,901,770',
'-460,650,649,648,380,651,904,-460,546,382,381,-532,-532,734,-91,547',
'-532,304,305,906,-100,278,66,67,68,9,54,-89,885,885,60,61,911,-98,505',
'64,655,62,63,65,29,30,69,70,383,370,209,662,661,28,27,26,93,92,94,95',
'303,770,19,650,649,648,302,651,8,44,927,10,97,96,98,87,53,89,88,90,248',
'91,99,100,204,85,86,41,42,40,770,634,650,649,648,-467,651,770,766,650',
'649,648,-467,651,209,198,536,889,197,39,113,-467,32,535,938,55,56,939',
'941,57,885,34,537,885,885,43,770,766,650,649,648,945,651,20,655,927',
'769,948,84,76,79,80,949,81,82,662,661,951,77,83,278,66,67,68,9,54,59',
'885,78,60,61,885,885,655,64,-529,62,63,65,29,30,69,70,-528,662,661,927',
'101,28,27,26,93,92,94,95,885,811,19,650,649,648,665,651,8,44,199,10',
'97,96,98,87,53,89,88,90,627,91,99,100,526,85,86,41,42,40,770,672,650',
'649,648,503,651,209,770,616,650,649,648,-82,651,209,209,209,700,39,703',
'-261,32,709,461,55,56,461,229,57,770,34,650,649,648,43,651,766,735,209',
'650,649,648,20,651,655,769,229,84,76,79,80,727,81,82,229,662,661,77',
'83,5,66,67,68,9,54,59,766,78,60,61,229,472,474,64,655,62,63,65,29,30',
'69,70,627,659,658,662,661,28,27,26,93,92,94,95,209,811,19,650,649,648',
'587,651,8,44,7,10,97,96,98,87,53,89,88,90,584,91,99,100,253,85,86,41',
'42,40,770,253,650,649,648,253,651,627,770,574,650,649,648,573,651,229',
'229,209,748,39,569,-260,32,752,209,55,56,-260,758,57,770,34,650,649',
'648,43,651,766,735,-466,650,649,648,20,651,655,-466,760,84,76,79,80',
'763,81,82,-466,662,661,77,83,278,66,67,68,9,54,59,766,78,60,61,764,927',
'772,64,655,62,63,65,29,30,69,70,773,659,658,662,661,28,27,26,93,92,94',
'95,229,634,19,108,109,110,111,112,8,44,780,10,97,96,98,87,53,89,88,90',
'567,91,99,100,209,85,86,41,42,40,564,209,226,789,-262,531,228,227,770',
'798,650,649,648,530,651,372,526,474,514,39,513,872,32,801,803,55,56',
'806,873,57,770,34,650,649,648,43,651,871,653,-274,650,649,648,20,651',
'655,-274,807,84,76,79,80,734,81,82,-274,662,661,77,83,278,66,67,68,9',
'54,59,766,78,60,61,813,814,816,64,655,62,63,65,29,30,69,70,817,659,658',
'662,661,28,27,26,93,92,94,95,695,696,19,627,697,99,100,506,8,44,505',
'10,97,96,98,87,53,89,88,90,229,91,99,100,826,85,86,41,42,40,528,499',
'-282,734,498,494,253,529,770,-282,650,649,648,885,651,841,527,536,-282',
'39,-281,423,32,-282,910,55,56,-281,424,57,-282,34,-529,537,209,43,-281',
'425,653,-282,650,649,648,20,651,655,209,845,84,76,79,80,262,81,82,,662',
'661,77,83,278,66,67,68,9,54,59,,78,60,61,,,,64,655,62,63,65,29,30,69',
'70,,659,658,662,661,28,27,26,93,92,94,95,,,19,108,109,110,111,112,8',
'44,,10,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40,,-325,,,,500',
',770,-325,650,649,648,501,651,,,-282,-325,,39,,425,32,-282,,55,56,,',
'57,201,34,-282,,,43,770,202,650,649,648,,651,20,655,,200,,84,76,79,80',
',81,82,662,661,,77,83,278,66,67,68,9,54,59,,78,60,61,,,655,64,,62,63',
'65,29,30,69,70,,662,661,,,28,27,26,93,92,94,95,229,,19,108,109,110,111',
'112,8,44,,10,97,96,98,87,53,89,88,90,,91,99,100,-274,85,86,41,42,40',
',-274,226,,-281,488,228,227,224,225,-274,-281,489,,,,-529,-467,,39,-281',
'487,32,-466,-467,55,56,,,57,-466,34,,-467,,43,,,653,-466,650,649,648',
'20,651,,,,84,76,79,80,,81,82,,,,77,83,278,66,67,68,9,54,59,,78,60,61',
',,,64,655,62,63,65,29,30,69,70,,659,658,662,661,28,27,26,93,92,94,95',
'229,,19,108,109,110,111,112,8,44,,10,97,96,98,87,53,89,88,90,,91,99',
'100,,85,86,41,42,40,,,226,,-281,,228,227,224,225,,-281,,,,,-529,,,39',
'-281,,32,,,55,56,,,57,,34,,,,43,,,653,,650,649,648,20,651,,,,84,76,79',
'80,,81,82,,,,77,83,278,66,67,68,9,54,59,,78,60,61,,,,64,655,62,63,65',
'29,30,69,70,,659,658,662,661,28,27,26,93,92,94,95,,,19,,,,,,8,44,,10',
'97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,',
',,39,,,32,,,55,56,,,57,,34,,,,43,,,735,,650,649,648,20,651,,,,84,76',
'79,80,,81,82,,,,77,83,278,66,67,68,9,54,59,,78,60,61,,,,64,655,62,63',
'65,29,30,69,70,,659,658,662,661,28,27,26,93,92,94,95,,,19,,,,,,8,44',
',10,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,',
',,,,,,39,,,32,,,55,56,,,57,,34,,,,43,,,653,,650,649,648,20,651,,,,84',
'76,79,80,,81,82,,,,77,83,5,66,67,68,9,54,59,,78,60,61,,,,64,655,62,63',
'65,29,30,69,70,,659,658,662,661,28,27,26,93,92,94,95,,,19,,,,,,8,44',
'7,10,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40,229,-551,-551',
'-551,-551,235,237,,,-551,-551,,,,,,243,244,,39,,,32,,,55,56,,,57,,34',
'226,,232,43,228,227,224,225,236,234,230,20,231,,,,84,76,79,80,,81,82',
',,,77,83,278,66,67,68,9,54,59,,78,60,61,,,,64,,62,63,65,29,30,69,70',
',,,,,28,27,26,93,92,94,95,,,19,,,,,,8,44,,10,97,96,98,87,53,89,88,90',
',91,99,100,,85,86,41,42,40,229,-551,-551,-551,-551,235,237,,,-551,-551',
',,,,,243,244,,39,,,32,,,55,56,,,57,,34,226,,232,43,228,227,224,225,236',
'234,230,20,231,,,,84,76,79,80,,81,82,,,,77,83,278,66,67,68,9,54,59,',
'78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27,26,93,92,94,95,,,19',
',,,,,8,44,,10,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40,229',
'233,238,239,240,235,237,245,246,241,242,,-551,-551,,,243,244,,39,,,32',
',,55,56,,,57,,34,226,,232,43,228,227,224,225,236,234,230,20,231,,,,84',
'76,79,80,,81,82,,,,77,83,278,66,67,68,9,54,59,,78,60,61,,,,64,,62,63',
'65,29,30,69,70,,,,,,28,27,26,93,92,94,95,,,19,,,,,,8,44,,10,97,96,98',
'87,53,89,88,90,,91,99,100,,85,86,41,42,40,229,233,238,239,240,235,237',
'245,,241,242,,,,,,243,244,,39,,,280,,,55,56,,,57,,34,226,,232,43,228',
'227,224,225,236,234,230,20,231,,,,84,76,79,80,,81,82,,,,77,83,278,66',
'67,68,9,54,59,,78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27,26,93',
'92,94,95,,,19,,,,,,8,44,,10,97,96,98,87,53,89,88,90,,91,99,100,,85,86',
'41,42,40,229,233,238,239,240,235,237,245,246,241,242,,-551,-551,,,243',
'244,,39,,,32,,,55,56,,,57,,34,226,,232,43,228,227,224,225,236,234,230',
'20,231,,,,84,76,79,80,,81,82,,,,77,83,278,66,67,68,9,54,59,,78,60,61',
',,,64,,62,63,65,29,30,69,70,,,,,,28,27,26,93,92,94,95,,,19,,,,,,8,44',
',10,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40,229,-551,-551',
'-551,-551,235,237,,,-551,-551,,,,,,243,244,,39,,,32,,,55,56,,,57,,34',
'226,,232,43,228,227,224,225,236,234,230,20,231,,,,84,76,79,80,,81,82',
',,,77,83,278,66,67,68,9,54,59,,78,60,61,,,,64,,62,63,65,29,30,69,70',
',,,,,28,27,26,93,92,94,95,,,19,,,,,,8,44,,10,97,96,98,87,53,89,88,90',
',91,99,100,,85,86,41,42,40,229,-551,-551,-551,-551,235,237,,,-551,-551',
',,,,,243,244,,39,,,32,,,55,56,,,57,,34,226,,232,43,228,227,224,225,236',
'234,230,20,231,,,,84,76,79,80,,81,82,,,,77,83,278,66,67,68,9,54,59,',
'78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27,26,93,92,94,95,,,19',
',,,,,8,44,,10,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40,229',
'-551,-551,-551,-551,235,237,,,-551,-551,,,,,,243,244,,39,,,32,,,55,56',
',,57,,34,226,,232,43,228,227,224,225,236,234,230,20,231,,,,84,76,79',
'80,,81,82,,,,77,83,278,66,67,68,9,54,59,,78,60,61,,,,64,,62,63,65,29',
'30,69,70,,,,,,28,27,26,93,92,94,95,,,19,,,,,,8,44,,10,97,96,98,87,53',
'89,88,90,,91,99,100,,85,86,41,42,40,229,-551,-551,-551,-551,235,237',
',,-551,-551,,,,,,243,244,,39,,,32,,,55,56,,,57,,34,226,,232,43,228,227',
'224,225,236,234,230,20,231,,,,84,76,79,80,,81,82,,,,77,83,278,66,67',
'68,9,54,59,,78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27,26,93,92',
'94,95,,,19,,,,,,8,44,,10,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41',
'42,40,229,,,,,,,,,,,,,,,,243,244,,39,,,280,,,55,56,,,57,,34,226,,232',
'43,228,227,224,225,,,230,20,231,,,,84,76,79,80,,81,82,,,,77,83,278,66',
'67,68,9,54,59,,78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27,26,93',
'92,94,95,,,19,,,,,,8,44,,10,97,96,98,87,53,89,88,90,,91,99,100,,85,86',
'41,42,40,229,,,,,,,,,,,,,,,,243,244,,39,,,32,,,55,56,,,57,,34,226,,232',
'43,228,227,224,225,,,230,20,231,,,,84,76,79,80,,81,82,,,,77,83,278,66',
'67,68,9,54,59,,78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27,26,93',
'92,94,95,,,19,,,,,585,8,44,,10,97,96,98,87,53,89,88,90,,91,99,100,,85',
'86,41,42,40,229,233,238,239,240,235,237,245,246,241,242,,222,223,,,243',
'244,,39,,,32,,,55,56,,,57,,34,226,,232,43,228,227,224,225,236,234,230',
'20,231,,,,84,76,79,80,,81,82,,,,77,83,,247,-534,-237,,,59,,78,-534,-534',
'-534,,,-534,-534,-534,653,-534,650,649,648,,651,,,,-534,-534,-534,-534',
',,,,,,,-534,-534,,-534,-534,-534,-534,-534,,,,,,,,,655,642,,,,,,,,659',
'658,662,661,,-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,-533,-534,-534,-534,,,,-533',
'-533,-533,,,-533,-533,-533,229,-533,-534,-534,-534,-534,,-534,,-534',
'-533,-533,-533,-533,,,243,244,,,,-533,-533,,-533,-533,-533,-533,-533',
',,,226,,232,,228,227,224,225,,,230,,231,,,,,,,-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,278',
'66,67,68,9,54,,,,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27,26,93',
'92,94,95,,,19,,,,,585,8,44,,10,97,96,98,87,53,89,88,90,,91,99,100,,85',
'86,41,42,40,229,233,238,239,240,235,237,245,246,241,242,,222,223,,,243',
'244,,39,,,280,,,55,56,,,57,,34,226,,232,43,228,227,224,225,236,234,230',
'20,231,,,,84,76,79,80,,81,82,,,,77,83,,247,-275,,,,59,,78,-275,-275',
'-275,,,-275,-275,-275,653,-275,650,649,648,,651,,,,,-275,-275,-275,',
',,,,,,-275,-275,,-275,-275,-275,-275,-275,,,,,,,,,655,690,,,,,,,,659',
'658,662,661,,-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,278,66,67,68,9,54,,,,60,61,,,,64,,62,63,65',
'29,30,69,70,,,,,,28,27,26,93,92,94,95,,,19,,,,,,8,44,,10,97,96,98,87',
'53,89,88,90,,91,99,100,,85,86,41,42,40,229,,,,,,,,,,,,,,,,243,244,,39',
',,32,,,55,56,,,57,,34,226,,232,43,228,227,224,225,,,230,20,231,,,,84',
'76,79,80,,81,82,,,,77,83,278,66,67,68,9,54,59,,78,60,61,,,,64,,62,63',
'65,29,30,69,70,,,,,,28,27,26,93,92,94,95,,,19,,,,,,8,44,,10,97,96,98',
'87,53,89,88,90,,91,99,100,,85,86,41,42,40,229,233,238,239,240,235,237',
',,241,242,,,,,,243,244,,39,,,32,,,55,56,,,57,,34,226,,232,43,228,227',
'224,225,236,234,230,20,231,,,,84,76,79,80,,81,82,,,,77,83,278,66,67',
'68,9,54,59,,78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27,26,93,92',
'94,95,,,19,,,,,,8,44,,10,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41',
'42,40,229,,,,,,,,,,,,,,,,243,244,,39,,,32,,,55,56,,,57,,34,226,,,43',
'228,227,224,225,,,,20,,,,,84,76,79,80,,81,82,,,,77,83,278,66,67,68,9',
'54,59,,78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27,26,93,92,94,95',
',,19,,,,,,8,44,,10,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40',
'229,,,,,,,,,,,,,,,,243,244,,39,,,32,,,55,56,,,57,,34,226,,232,43,228',
'227,224,225,,,,20,,,,,84,76,79,80,,81,82,,,,77,83,278,66,67,68,9,54',
'59,,78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27,26,93,92,94,95,',
',19,,,,,,8,44,,10,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40',
'229,,,,,,,,,,,,,,,,243,244,,39,,,32,,,55,56,,,57,,34,226,,232,43,228',
'227,224,225,,,,20,,,,,84,76,79,80,,81,82,,,,77,83,278,66,67,68,9,54',
'59,,78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27,26,93,92,94,95,',
',19,,,,,,8,44,,10,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40',
',,,,,,,,,,,,,,,,,,,39,,,32,,,55,56,,,57,,34,,,,43,,,,,,,,20,,,,,84,76',
'79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,29',
'30,69,70,,,,,,28,27,26,93,92,94,95,,,19,,,,,,,44,,,97,96,98,87,53,89',
'88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56',
',,57,,,,,,43,,,,,,,,20,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,9,54',
'59,,78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27,26,93,92,94,95,',
',19,,,,,,8,44,7,10,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40',
',,,,,,,,,,,,,,,,,,,39,,,32,,,55,56,,,57,,34,,,,43,,,,,,,,20,,,,,84,76',
'79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,29',
'30,69,70,,,,,,28,27,26,93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89',
'88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56',
',,57,,,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54',
'59,,78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27,26,93,92,94,95,',
',221,,,,,,,44,,,97,96,98,87,53,89,88,90,273,91,99,100,,85,86,41,42,40',
',,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,271,,269,,43,,,,,,,,219,',
',,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62',
'63,65,29,30,69,70,,,,,,28,27,26,93,92,94,95,,,221,,,,,,,44,,,97,96,98',
'87,53,89,88,90,273,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214',
',,220,,,55,56,,,57,,271,,269,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,',
',,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,',
'28,27,26,93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90,273,91',
'99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,271',
',269,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59',
',78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291,292,298,93,92,94,95',
',,221,,,,,,,293,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86,,653,299',
'650,649,648,,651,,,,,,,,,,,,,,,289,,,285,,,55,56,,,57,,284,,,,655,690',
',,,,,,,659,658,662,661,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59',
',78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291,292,298,93,92,94,95',
',,221,,,,,570,,293,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86,,,299',
'229,233,238,239,240,235,237,245,246,241,242,,222,223,,,243,244,,289',
',,220,,,55,56,,,57,,,226,,232,,228,227,224,225,236,234,230,,231,,,,84',
'76,79,80,,81,82,,,,77,83,,247,,301,,,59,,78,66,67,68,,54,,,,60,61,,',
',64,,62,63,65,295,296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,,,',
',44,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,',
',,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84,76,79,80,,81',
'82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,295,296,69,70',
',,,,,291,292,298,93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90',
',91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57',
',,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59',
',78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291,292,298,93,92,94,95',
',,221,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40',
',,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84',
'76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65',
'295,296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,,,,,44,,,97,96,98',
'87,53,89,88,90,273,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214',
',,220,,,55,56,,,57,,271,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77',
'83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291',
'292,298,93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90,273,91',
'99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,',
',,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78',
'60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27,26,93,92,94,95,,,19,,,',
',,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,',
',,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,20,,,,,84,76,79,80,',
'81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,29,30,69,70',
',,,,,28,27,26,93,92,94,95,,,19,,,,,,,44,,,97,96,98,87,53,89,88,90,,91',
'99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,',
',,43,,,,,,,,20,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78',
'60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27,26,93,92,94,95,,,19,,,',
',,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40,229,233,238',
'239,240,235,237,245,246,241,242,,222,223,,,243,244,,214,,,220,,,55,56',
',,57,,,226,,232,43,228,227,224,225,236,234,230,20,231,,,,84,76,79,80',
',81,82,,,,77,83,105,247,,,,104,59,,78,66,67,68,,54,,,,60,61,,,,64,,62',
'63,65,295,296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,,,,,293,,,97',
'96,98,87,53,89,88,90,,91,99,100,,85,86,,,299,,,,,,,,,,,,,,,,,,,,334',
',,32,,,55,56,,,57,,34,,,,,,,,,,,,,,,,,84,76,79,80,,81,82,,,,77,83,,66',
'67,68,,54,59,,78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291,292,298',
'93,92,94,95,,,221,,,,,,,293,,,97,96,98,339,53,89,88,340,,91,99,100,',
'85,86,,,299,,,,,,,,,,,,,,,,,346,,,341,,,220,,,55,56,,,57,,,,,,,,,,,',
',,,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64',
',62,63,65,295,296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,,,,,293',
',,97,96,98,339,53,89,88,340,,91,99,100,,85,86,,,299,,,,,,,,,,,,,,,,',
',,,341,,,220,,,55,56,,,57,,,,,,,,,,,,,,,,,,,84,76,79,80,,81,82,,,,77',
'83,,66,67,68,9,54,59,,78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27',
'26,93,92,94,95,,,19,,,,,,8,44,7,10,97,96,98,87,53,89,88,90,,91,99,100',
',85,86,41,42,40,229,233,238,239,240,235,237,245,246,241,242,,222,223',
',,243,244,,39,,,32,,,55,56,,,57,,34,226,,232,43,228,227,224,225,236',
'234,230,20,231,,,,84,76,79,80,,81,82,,,,77,83,,247,,,,372,59,,78,66',
'67,68,,54,,,,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27,26,93,92,94',
'95,,,19,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40',
',,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,20,,,,,84,76',
'79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,29',
'30,69,70,,,,,,28,27,26,93,92,94,95,,,19,,,,,,,44,,,97,96,98,87,53,89',
'88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56',
',,57,,,,,,43,,,,,,,,20,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54',
'59,,78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27,26,93,92,94,95,',
',19,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40,,',
',,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,20,,,,,84,76',
'79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,29',
'30,69,70,,,,,,28,27,26,93,92,94,95,,,19,,,,,,,44,,,97,96,98,87,53,89',
'88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56',
',,57,,,,,,43,,,,,,,,20,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,9,54',
'59,,78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27,26,93,92,94,95,',
',19,,,,,,8,44,,10,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40',
',,,,,,,,,,,,,,,,,,,39,,,32,,,55,56,,,57,,34,,,,43,,,,,,,,20,,,,,84,76',
'79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,29',
'30,69,70,,,,,,28,27,26,93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89',
'88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56',
',,57,,388,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68',
',54,59,,78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27,26,93,92,94',
'95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42',
'40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,219,,,,',
'84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63',
'65,29,30,69,70,,,,,,28,27,26,93,92,94,95,,,221,,,,,,,44,,,97,96,98,87',
'53,89,88,90,273,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220',
',,55,56,,,57,,271,,269,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83',
',66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27,26',
'93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85',
'86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,',
',219,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64',
',62,63,65,29,30,69,70,,,,,,28,27,26,93,92,94,95,,,221,,,,,,,44,,,97',
'96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214',
',,220,,,55,56,,,57,,388,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77',
'83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27',
'26,93,92,94,95,,,19,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85',
'86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,',
',20,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64',
',62,63,65,29,30,69,70,,,,,,28,27,26,93,92,94,95,,,19,,,,,,,44,,,97,96',
'98,87,53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214',
',,220,,,55,56,,,57,,,,,,43,,,,,,,,20,,,,,84,76,79,80,,81,82,,,,77,83',
',66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27,26',
'93,92,94,95,,,19,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86',
'41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,20',
',,,,84,76,79,80,,81,82,,,,77,83,209,66,67,68,,54,59,,78,60,61,,,,64',
',62,63,65,29,30,69,70,,,,,,28,27,26,93,92,94,95,,,221,,,,,,,44,,,97',
'96,98,87,53,89,88,90,273,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,',
',,214,,,220,,,55,56,,,57,,271,,269,,43,,,,,,,,219,,,,,84,76,79,80,,81',
'82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,295,296,69,70',
',,,,,291,292,298,93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90',
',91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57',
',,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59',
',78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291,292,298,93,92,94,95',
',,221,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40',
',,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84',
'76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65',
'295,296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,,,,,44,,,97,96,98',
'87,53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220',
',,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66',
'67,68,,54,59,,78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291,292,298',
'93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85',
'86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,',
',219,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64',
',62,63,65,295,296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,,,,,44',
',,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,',
',,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82',
',,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,295,296,69,70,,',
',,,291,292,298,93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90',
',91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57',
',,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59',
',78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291,292,298,93,92,94,95',
',,221,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40',
',,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84',
'76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65',
'295,296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,,,,,44,,,97,96,98',
'87,53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220',
',,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66',
'67,68,,54,59,,78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291,292,298',
'93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85',
'86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,',
',219,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64',
',62,63,65,295,296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,,,,,44',
',,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,',
',,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82',
',,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,295,296,69,70,,',
',,,291,292,298,93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90',
',91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57',
',,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59',
',78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291,292,298,93,92,94,95',
',,221,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40',
',,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84',
'76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65',
'295,296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,,,,,44,,,97,96,98',
'87,53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220',
',,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66',
'67,68,,54,59,,78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291,292,298',
'93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85',
'86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,',
',219,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64',
',62,63,65,295,296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,,,,,44',
',,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,',
',,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82',
',,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,295,296,69,70,,',
',,,291,292,298,93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90',
',91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57',
',,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59',
',78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291,292,298,93,92,94,95',
',,221,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40',
',,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84',
'76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65',
'295,296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,,,,,44,,,97,96,98',
'87,53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220',
',,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66',
'67,68,,54,59,,78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291,292,298',
'93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85',
'86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,',
',219,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64',
',62,63,65,295,296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,,,,,44',
',,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,',
',,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82',
',,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,295,296,69,70,,',
',,,291,292,298,93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90',
',91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57',
',,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59',
',78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291,292,298,93,92,94,95',
',,221,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40',
',,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84',
'76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65',
'295,296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,,,,,44,,,97,96,98',
'87,53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220',
',,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66',
'67,68,,54,59,,78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291,292,298',
'93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85',
'86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,',
',219,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64',
',62,63,65,295,296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,,,,,44',
',,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,',
',,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82',
',,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,295,296,69,70,,',
',,,291,292,298,93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90',
',91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57',
',,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59',
',78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291,292,298,93,92,94,95',
',,221,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40',
',,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84',
'76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65',
'295,296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,,,,,293,,,97,96,98',
'87,53,89,88,90,,91,99,100,,85,86,,,299,,,,,,,,,,,,,,,,,,,,868,,,220',
',,55,56,,,57,,,,,,,,,,,,,,,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68',
',54,59,,78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27,26,93,92,94',
'95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90,273,91,99,100,,85,86,41',
'42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,271,,269,,43,,,,,,',
',219,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64',
',62,63,65,29,30,69,70,,,,,,28,27,26,93,92,94,95,,,221,,,,,,,44,,,97',
'96,98,87,53,89,88,90,273,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,',
',,214,,,220,,,55,56,,,57,,271,,269,,43,,,,,,,,219,,,,,84,76,79,80,,81',
'82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,29,30,69,70,',
',,,,28,27,26,93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90,273',
'91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57',
',271,,269,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,209,66,67,68',
',54,59,,78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291,292,298,93,92',
'94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41',
'42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,219,',
',,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62',
'63,65,295,296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,,,,,44,,,97',
'96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214',
',,220,,,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83',
',66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291,292',
'298,93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100',
',85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,',
',,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61',
',,,64,,62,63,65,295,296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,',
',,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,',
',,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84,76,79,80',
',81,82,,,,77,83,,66,67,68,9,54,59,,78,60,61,,,,64,,62,63,65,29,30,69',
'70,,,,,,28,27,26,93,92,94,95,,,19,,,,,,8,44,,10,97,96,98,87,53,89,88',
'90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,39,,,32,,,55,56,,,57',
',34,,,,43,,,,,,,,20,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59',
',78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291,292,298,93,92,94,95',
',,221,,,,,,,44,,,97,96,98,87,53,89,88,90,273,91,99,100,,85,86,41,42',
'40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,269,,43,,,,,,,,219,',
',,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62',
'63,65,295,296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,,,,,293,,,97',
'96,98,87,53,89,88,90,,91,99,100,,85,86,,,299,229,233,238,239,240,235',
'237,245,246,241,242,,222,223,,,243,244,,289,,,220,,,55,56,,,57,,,226',
',232,,228,227,224,225,236,234,230,,231,,,,84,76,79,80,,81,82,,,,77,83',
',247,,485,,,59,,78,66,67,68,,54,,,,60,61,,,,64,,62,63,65,295,296,69',
'70,,,,,,291,292,298,93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88',
'90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,',
',57,,611,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68',
',54,59,,78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27,26,93,92,94',
'95,,,19,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40',
',,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,20,,,,,84,76',
'79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,295',
'296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,,,,,44,,,97,96,98,87',
'53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220',
',,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66',
'67,68,,54,59,,78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291,292,298',
'93,92,94,95,,,221,,,,,,,293,,,97,96,98,87,53,89,88,90,,91,99,100,,85',
'86,,,299,,,,,,,,,,,,,,,,,,,,289,,,285,,,55,56,,,57,,,,,,,,,,,,,,,,,',
',84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63',
'65,295,296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,,,,,293,,,97,96',
'98,87,53,89,88,90,,91,99,100,,85,86,,,299,,,,,,,,,,,,,,,,,,,,823,,,220',
',,55,56,,,57,,,,,,,,,,,,,,,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68',
',54,59,,78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291,292,298,93,92',
'94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41',
'42,40,,,,,,,,,,,,,,,,,,,,214,,,220,503,,55,56,,,57,,,,,,43,,,,,,,,219',
',,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62',
'63,65,29,30,69,70,,,,,,28,27,26,93,92,94,95,,,19,,,,,,,44,,,97,96,98',
'87,53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220',
',,55,56,,,57,,,,,,43,,,,,,,,20,,,,,84,76,79,80,,81,82,,,,77,83,,66,67',
'68,,54,59,,78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291,292,298,93',
'92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86',
'41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,219',
',,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62',
'63,65,295,296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,,,,,44,,,97',
'96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214',
',,220,,,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83',
',66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291,292',
'298,93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100',
',85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,',
',,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61',
',,,64,,62,63,65,295,296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,',
',,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,',
',,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84,76,79,80',
',81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,295,296,69',
'70,,,,,,291,292,298,93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88',
'90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,',
',57,,,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54',
'59,,78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27,26,93,92,94,95,',
',19,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40,,',
',,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,20,,,,,84,76',
'79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,29',
'30,69,70,,,,,,28,27,26,93,92,94,95,,,19,,,,,,,44,,,97,96,98,87,53,89',
'88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56',
',,57,,,,,,43,,,,,,,,20,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54',
'59,,78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27,26,93,92,94,95,',
',221,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40,',
',,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84,76',
'79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,295',
'296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,,,,,44,,,97,96,98,87',
'53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220',
',,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66',
'67,68,,54,59,,78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27,26,93',
'92,94,95,,,19,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41',
'42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,20,,',
',,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63',
'65,29,30,69,70,,,,,,28,27,26,93,92,94,95,,,19,,,,,,,44,,,97,96,98,87',
'53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220',
',,55,56,,,57,,,,,,43,,,,,,,,20,,,,,84,76,79,80,,81,82,,,,77,83,,66,67',
'68,,54,59,,78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27,26,93,92',
'94,95,,,19,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42',
'40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,20,,,,,84',
'76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65',
'295,296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,,,,,44,,,97,96,98',
'87,53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220',
',,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66',
'67,68,,54,59,,78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291,292,298',
'93,92,94,95,,,221,,,,,,,293,,,97,96,98,87,53,89,88,90,,91,99,100,,85',
'86,,,299,,,,,,,,,,,,,,,,,,,,289,,,285,,,55,56,,,57,,,,,,,,,,,,,,,,,',
',84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63',
'65,29,30,69,70,,,,,,28,27,26,93,92,94,95,,,221,,,,,,,44,,,97,96,98,87',
'53,89,88,90,273,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220',
',,55,56,,,57,,271,,269,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83',
',66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291,292',
'298,93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100',
',85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,',
',,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61',
',,,64,,62,63,65,295,296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,',
',,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,',
',,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84,76,79,80',
',81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,295,296,69',
'70,,,,,,291,292,298,93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88',
'90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,',
',57,,,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54',
'59,,78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291,292,298,93,92,94',
'95,,,221,,,,,,,293,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86,,,299',
',,,,,,,,,,,,,,,,,,,289,,,285,,,55,56,,,57,,,,,,,,,,,,,,,,,,,84,76,79',
'80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,295,296',
'69,70,,,,,,291,292,298,93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89',
'88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56',
',,57,,,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54',
'59,,78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291,292,298,93,92,94',
'95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42',
'40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,219,,,,',
'84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63',
'65,29,30,69,70,,,,,,28,27,26,93,92,94,95,,,221,,,,,,,44,,,97,96,98,87',
'53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220',
',,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66',
'67,68,,54,59,,78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27,26,93',
'92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86',
'41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,219',
',,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62',
'63,65,29,30,69,70,,,,,,28,27,26,93,92,94,95,,,221,,,,,,,44,,,97,96,98',
'87,53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220',
',,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66',
'67,68,,54,59,,78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27,26,93',
'92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86',
'41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,219',
',,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62',
'63,65,29,30,69,70,,,,,,28,27,26,93,92,94,95,,,221,,,,,,,44,,,97,96,98',
'87,53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220',
',,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66',
'67,68,,54,59,,78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291,292,298',
'93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90,273,91,99,100,',
'85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,269,,43',
',,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61',
',,,64,,62,63,65,295,296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,',
',,,44,,,97,96,98,87,53,89,88,90,273,91,99,100,,85,86,41,42,40,,,,,,',
',,,,,,,,,,,,,214,,,220,,,55,56,,,57,,611,,269,,43,,,,,,,,219,,,,,84',
'76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65',
'295,296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,,,,,44,,,97,96,98',
'87,53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220',
',,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66',
'67,68,,54,59,,78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291,292,298',
'93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85',
'86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,706,,,,43,,,',
',,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,',
',,64,,62,63,65,29,30,69,70,,,,,,28,27,26,93,92,94,95,,,19,,,,,,,44,',
',97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,',
',,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,20,,,,,84,76,79,80,,81,82,',
',,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,',
'28,27,26,93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90,273,91',
'99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,271',
',269,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59',
',78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291,292,298,93,92,94,95',
',,221,,,,,,,44,,,97,96,98,87,53,89,88,90,273,91,99,100,,85,86,41,42',
'40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,611,,269,,43,,,,,,,,219',
',,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62',
'63,65,295,296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,,,,,44,,,97',
'96,98,87,53,89,88,90,273,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,',
',,214,,,220,,,55,56,,,57,,,,269,,43,,,,,,,,219,,,,,84,76,79,80,,81,82',
',,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,295,296,69,70,,',
',,,291,292,298,93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90',
',91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57',
',,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,9,54,59',
',78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27,26,93,92,94,95,,,19',
',,,,,8,44,,10,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40,229',
'233,238,239,240,235,237,245,246,241,242,,222,223,,,243,244,,39,,,32',
',,55,56,,,57,,34,226,,232,43,228,227,224,225,236,234,230,20,231,,,,84',
'76,79,80,,81,82,,,,77,83,,247,,,,372,59,,78,66,67,68,,54,,,,60,61,,',
',64,,62,63,65,295,296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,,,',
',293,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86,,,299,,,,,,,,,,,,,',
',,,,,,289,,,285,,,55,56,,,57,,,,,,,,,,,,,,,,,,,84,76,79,80,,81,82,,',
',77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28',
'27,26,93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90,273,91,99',
'100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,271,',
'269,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59',
',78,60,61,,,,64,,62,63,65,29,30,69,70,,,,,,28,27,26,93,92,94,95,,,221',
',,,,,,44,,,97,96,98,87,53,89,88,90,273,91,99,100,,85,86,41,42,40,,,',
',,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,271,,269,,43,,,,,,,,219,,,,',
'84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63',
'65,295,296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,,,,,44,,,97,96',
'98,87,53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214',
',,220,,,55,56,,,57,,271,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77',
'83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291',
'292,298,93,92,94,95,,,221,,,,,,,293,,,97,96,98,87,53,89,88,90,,91,99',
'100,,85,86,,,299,,,,,,,,,,,,,,,,,,,,289,,,285,,,55,56,,,57,,,,,,,,,',
',,,,,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64',
',62,63,65,295,296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,,,,,44',
',,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,',
',,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82',
',,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,295,296,69,70,,',
',,,291,292,298,93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90',
',91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57',
',,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59',
',78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291,292,298,93,92,94,95',
',,221,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41,42,40',
',,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,,,,,43,,,,,,,,219,,,,,84',
'76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65',
'29,30,69,70,,,,,,28,27,26,93,92,94,95,,,19,,,,,,,44,,,97,96,98,87,53',
'89,88,90,,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55',
'56,,,57,,,,,,43,,,,,,,,20,,,,,84,76,79,80,,81,82,,,,77,83,,66,67,68',
',54,59,,78,60,61,,,,64,,62,63,65,295,296,69,70,,,,,,291,292,298,93,92',
'94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90,,91,99,100,,85,86,41',
'42,40,,,,,,,,,,,,,,,,,,,,214,,,220,,,55,56,,,57,,388,,,,43,,,,,,,,219',
',,,,84,76,79,80,,81,82,,,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62',
'63,65,295,296,69,70,,,,,,291,292,298,93,92,94,95,,,221,,,,,,,44,,,97',
'96,98,87,53,89,88,90,273,91,99,100,,85,86,41,42,40,,,,,,,,,,,,,,,,,',
',,214,,,220,,,55,56,,,57,,611,,,,43,,,,,,,,219,,,,,84,76,79,80,,81,82',
',,,77,83,,66,67,68,,54,59,,78,60,61,,,,64,,62,63,65,295,296,69,70,,',
',,,291,292,298,93,92,94,95,,,221,,,,,,,44,,,97,96,98,87,53,89,88,90',
'273,91,99,100,,85,86,41,42,40,229,233,238,239,240,235,237,245,246,241',
'242,,222,223,,,243,244,,214,,,220,,,55,56,,,57,,,226,,232,43,228,227',
'224,225,236,234,230,219,231,,,,84,76,79,80,,81,82,,,,77,83,,247,-397',
',,,59,,78,-397,-397,-397,,,-397,-397,-397,,-397,,,,,,,,,-397,-397,-397',
',,,,,,,,-397,-397,,-397,-397,-397,-397,-397,,,,,,,,,,,,,,,,,,,,,,,-397',
'-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,,,-397',
'-397,-397,,,-397,,253,-397,,,-397,-397,,-397,,-397,,-397,,-397,-397',
'-397,-397,-397,-397,-397,-243,-397,-397,-397,,,,-243,-243,-243,,,-243',
'-243,-243,,-243,-397,-397,,-397,,-397,,,,-243,,,,,,,,,,-243,-243,,-243',
'-243,-243,-243,-243,,,,,,,,,,,,,,,,,,,,,,,-243,,,,,,,-243,-243,-243',
',-243,-243,-243,-243,,-243,,-243,,,,,253,-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,,253,-243,,,-243,-243,,-243,,-243,,-243,,-243',
'-243,-243,-243,-243,-243,-243,-288,-243,-243,-243,,,,-288,-288,-288',
',,-288,-288,-288,,-288,-243,-243,,-243,,-243,,,,-288,-288,,,,,,,,,-288',
'-288,,-288,-288,-288,-288,-288,,,,,,,,,,,,,,,,,,,,,,,-288,-288,-288',
'-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,,,-288,-288,-288',
',,-288,,262,-288,,,-288,-288,,-288,,-288,,-288,,-288,-288,-288,-288',
'-288,-288,-288,-243,-288,,-288,,,,-243,-243,-243,,,-243,-243,-243,,-243',
'-288,-288,,-288,,-288,,,,-243,,,,,,,,,,-243,-243,,-243,-243,-243,-243',
'-243,,,,,,588,400,,,589,,,,,,,,149,150,,146,128,129,130,137,134,136',
',,131,132,,,-243,151,152,138,139,,,-243,,,253,,253,-243,,,,,143,142',
',127,148,145,144,140,141,135,133,125,147,126,,,153,-243,,,,,,,,,,,,',
',-243,,,,,-243,164,175,165,188,161,181,171,170,191,192,186,169,168,163',
'189,193,194,173,162,176,180,182,174,167,,,,183,190,185,184,177,187,172',
'160,179,178,,,,,,159,166,157,158,154,155,156,116,118,,,117,,,,,,,,149',
'150,,146,128,129,130,137,134,136,,,131,132,,,,151,152,138,139,,,,,,',
',,,,,,,143,142,,127,148,145,144,140,141,135,133,125,147,126,,,153,84',
',,,,,,,,,,83,164,175,165,188,161,181,171,170,191,192,186,169,168,163',
'189,193,194,173,162,176,180,182,174,167,,,,183,190,185,184,177,187,172',
'160,179,178,,,,,,159,166,157,158,154,155,156,116,118,,,117,,,,,,,,149',
'150,,146,128,129,130,137,134,136,,,131,132,,,,151,152,138,139,,,,,,',
',,,,,,,143,142,,127,148,145,144,140,141,135,133,125,147,126,,,153,84',
',,,,,,,,,,83,164,175,165,188,161,181,171,170,191,192,186,169,168,163',
'189,193,194,173,162,176,180,182,174,167,,,,183,190,185,184,177,187,172',
'160,179,178,,,,,,159,166,157,158,154,155,156,116,118,,,117,,,,,,,,149',
'150,,146,128,129,130,137,134,136,,,131,132,,,,151,152,138,139,,,,,,',
',,,,,,,143,142,,127,148,145,144,140,141,135,133,125,147,126,,,153,84',
',,,,,,,,,,83,164,175,165,188,161,181,171,170,191,192,186,169,168,163',
'189,193,194,173,162,176,180,182,174,167,,,,183,190,185,184,177,187,172',
'160,179,178,,,,,,159,166,157,158,154,155,156,116,118,115,,117,,,,,,',
',149,150,,146,128,129,130,137,134,136,,,131,132,,,,151,152,138,139,',
',,,,,,,,,,,,143,142,,127,148,145,144,140,141,135,133,125,147,126,,,153',
'84,,,,,,,,,,,83,164,175,165,188,161,181,171,170,191,192,186,169,168',
'163,189,193,194,173,162,176,180,182,174,167,,,,183,190,185,184,177,187',
'172,160,179,178,,,,,,159,166,157,158,154,155,156,116,118,,,117,,,,,',
',,149,150,,146,128,129,130,137,134,136,,,131,132,,,,151,152,138,139',
',,,,,,,,,,,,,143,142,,127,148,145,144,140,141,135,133,125,147,126,,',
'153,164,175,165,188,161,181,171,170,191,192,186,169,168,163,189,193',
'194,173,162,176,180,182,174,167,,,,183,190,185,357,356,358,355,160,179',
'178,,,,,,159,166,157,158,352,353,354,350,118,89,88,351,,91,,,,,,149',
'150,,146,128,129,130,137,134,136,,,131,132,,,,151,152,138,139,,,,,,362',
',,,,,,,143,142,,127,148,145,144,140,141,135,133,125,147,126,590,407',
'153,,591,,,,,,,,149,150,,146,128,129,130,137,134,136,,,131,132,,,,151',
'152,138,139,,,,,,253,,,,,,,,143,142,,127,148,145,144,140,141,135,133',
'125,147,126,620,400,153,,621,,,,,,,,149,150,,146,128,129,130,137,134',
'136,,,131,132,,,,151,152,138,139,,,,,,253,,,,,,,,143,142,,127,148,145',
'144,140,141,135,133,125,147,126,458,400,153,,459,,,,,,,,149,150,,146',
'128,129,130,137,134,136,,,131,132,,,,151,152,138,139,,,,,,,,,,,,,,143',
'142,,127,148,145,144,140,141,135,133,125,147,126,458,400,153,,459,,',
',,,,,149,150,,146,128,129,130,137,134,136,,,131,132,,,,151,152,138,139',
',,,,,,,,,,,,,143,142,,127,148,145,144,140,141,135,133,125,147,126,623',
'407,153,,624,,,,,,,,149,150,,146,128,129,130,137,134,136,,,131,132,',
',,151,152,138,139,,,,,,253,,,,,,,,143,142,,127,148,145,144,140,141,135',
'133,125,147,126,588,400,153,,589,,,,,,,,149,150,,146,128,129,130,137',
'134,136,,,131,132,,,,151,152,138,139,,,,,,253,,,,,,,,143,142,,127,148',
'145,144,140,141,135,133,125,147,126,680,407,153,,681,,,,,,,,149,150',
',146,128,129,130,137,134,136,,,131,132,,,,151,152,138,139,,,,,,253,',
',,,,,,143,142,,127,148,145,144,140,141,135,133,125,147,126,590,407,153',
',591,,,,,,,,149,150,,146,128,129,130,137,134,136,,,131,132,,,,151,152',
'138,139,,,,,,253,,,,,,,,143,142,,127,148,145,144,140,141,135,133,125',
'147,126,677,407,153,,678,,,,,,,,149,150,,146,128,129,130,137,134,136',
',,131,132,,,,151,152,138,139,,,,,,253,,,,,,,,143,142,,127,148,145,144',
'140,141,135,133,125,147,126,458,400,153,,459,,,,,,,,149,150,,146,128',
'129,130,137,134,136,,,131,132,,,,151,152,138,139,,,,,,253,,,,,,,,143',
'142,,127,148,145,144,140,141,135,133,125,147,126,916,407,153,,917,,',
',,,,,149,150,,146,128,129,130,137,134,136,,,131,132,,,,151,152,138,139',
',,,,,253,,,,,,,,143,142,,127,148,145,144,140,141,135,133,125,147,126',
'936,407,153,,935,,,,,,,,149,150,,146,128,129,130,137,134,136,,,131,132',
',,,151,152,138,139,,,,,,253,,,,,,,,143,142,,127,148,145,144,140,141',
'135,133,125,147,126,403,407,153,,402,,,,,,,,149,150,,146,128,129,130',
'137,134,136,,,131,132,,,,151,152,138,139,,,,,,253,,,,,,,,143,142,,127',
'148,145,144,140,141,135,133,125,147,126,396,400,153,,397,,,,,,,,149',
'150,,146,128,129,130,137,134,136,,,131,132,,,,151,152,138,139,,,,,,253',
',,,,,,,143,142,,127,148,145,144,140,141,135,133,125,147,126,675,400',
'153,,676,,,,,,,,149,150,,146,128,129,130,137,134,136,,,131,132,,,,151',
'152,138,139,,,,,,253,,,,,,,,143,142,,127,148,145,144,140,141,135,133',
'125,147,126,914,400,153,,915,,,,,,,,149,150,,146,128,129,130,137,134',
'136,,,131,132,,,,151,152,138,139,,,,,,253,,,,,,,,143,142,,127,148,145',
'144,140,141,135,133,125,147,126,,,153,229,233,238,239,240,235,237,245',
'246,241,242,,222,223,,,243,244,,,,,,,,,,,,,,,226,,232,,228,227,224,225',
'236,234,230,,231,,229,233,238,239,240,235,237,245,246,241,242,,222,223',
',247,243,244,,,,,,,,,,,,,,,226,,232,,228,227,224,225,236,234,230,,231',
',229,233,238,239,240,235,237,245,246,241,242,,222,223,,247,243,244,',
',,,,,,,,,,,,,226,,232,,228,227,224,225,236,234,230,,231,,229,233,238',
'239,240,235,237,245,246,241,242,,222,223,,247,243,244,,,,,,,,,,,,,,',
'226,,232,,228,227,224,225,236,234,230,,231,,229,233,238,239,240,235',
'237,245,246,241,242,,222,223,209,247,243,244,,,,,,,,,,,,,,,226,,232',
',228,227,224,225,236,234,230,,231,,229,233,238,239,240,235,237,245,246',
'241,242,,222,223,,247,243,244,,,,,,,,,,,,,,,226,,232,,228,227,224,225',
'236,234,230,,231,,229,233,238,239,240,235,237,245,246,241,242,,222,223',
',247,243,244,,,,,,,,,,,,,,,226,,232,,228,227,224,225,236,234,230,,231',
',229,233,238,239,240,235,237,245,246,241,242,,222,223,,247,243,244,',
',,,,,,,,,,,,,226,,232,,228,227,224,225,236,234,230,,231,,229,233,238',
'239,240,235,237,245,246,241,242,,222,223,,247,243,244,,,,,,,,,,,,,,',
'226,,232,,228,227,224,225,236,234,230,,231,,,,,,,,,,,,,,,,,247' ]
        racc_action_table = arr = ::Array.new(23297, 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 = [
'590,543,543,543,543,543,543,590,590,590,543,543,590,590,590,543,590',
'543,543,543,543,543,543,543,777,590,590,590,590,543,543,543,543,543',
'543,543,590,590,543,590,590,590,590,590,543,543,325,543,543,543,543',
'543,543,543,543,543,345,543,543,543,324,543,543,543,543,543,590,590',
'590,590,590,590,590,590,590,590,590,590,590,590,335,19,590,590,590,543',
'590,590,543,676,590,543,543,590,590,543,590,543,590,368,590,543,590',
'590,590,590,590,590,590,543,590,590,590,677,543,543,543,543,19,543,543',
'369,332,289,543,543,590,590,590,590,87,590,543,590,543,590,937,87,87',
'87,756,615,87,87,87,58,87,615,523,784,315,283,915,315,87,294,87,87,87',
'530,325,345,368,673,846,325,87,87,786,87,87,87,87,87,324,916,751,466',
'677,324,675,345,369,369,369,335,345,331,664,664,914,420,420,522,676',
'589,87,87,87,87,87,87,87,87,87,87,87,87,87,87,783,466,87,87,87,282,87',
'87,677,294,87,542,542,87,87,341,87,332,87,341,87,58,87,87,87,87,87,87',
'87,790,87,294,87,791,589,756,620,794,523,784,937,795,916,523,784,937',
'87,87,87,87,90,87,365,87,530,87,915,90,90,90,426,915,90,90,90,678,90',
'673,846,621,673,420,673,846,90,675,90,90,90,916,751,281,331,522,916',
'751,90,90,522,90,90,90,90,90,914,640,631,631,640,914,588,542,620,548',
'548,783,542,3,319,426,279,319,3,365,365,365,90,90,90,90,90,90,90,90',
'90,90,90,90,90,90,678,603,90,90,90,621,90,90,620,270,90,620,215,90,90',
'726,90,620,90,588,90,267,90,90,90,90,90,90,90,402,90,364,90,456,266',
'603,402,402,402,38,678,621,402,402,621,402,90,90,90,90,621,90,465,90',
'25,90,631,339,744,316,808,215,316,548,726,402,402,456,402,402,402,402',
'402,769,213,769,769,769,851,769,851,889,38,889,889,889,465,889,38,212',
'323,323,364,364,364,402,402,402,402,402,402,402,402,402,402,402,402',
'402,402,339,744,402,402,402,367,402,339,744,25,402,623,339,402,213,366',
'339,744,402,809,402,252,402,402,402,402,402,402,402,212,402,25,402,276',
'339,744,358,24,276,340,680,354,769,358,24,591,402,402,354,402,889,402',
'591,591,591,402,815,591,591,591,685,591,351,623,432,685,367,367,367',
'351,623,591,591,591,221,623,366,366,366,623,823,591,591,355,591,591',
'591,591,591,328,355,340,680,37,328,356,432,623,340,680,432,432,356,340',
'680,691,830,340,680,831,691,591,591,591,591,591,591,591,591,591,591',
'591,591,591,591,340,680,591,591,591,832,591,591,352,303,591,37,559,591',
'591,352,591,37,591,835,591,836,591,591,591,591,591,591,591,403,591,74',
'591,838,353,15,403,403,403,840,74,353,403,403,397,403,591,591,591,591',
'74,591,303,591,403,591,217,927,303,927,927,927,842,927,216,403,403,396',
'403,403,403,403,403,559,559,928,928,596,15,596,596,596,559,596,15,350',
'541,397,507,507,848,541,350,397,927,403,403,403,403,403,403,403,403',
'403,403,403,403,403,403,849,396,403,403,403,596,403,396,17,17,403,299',
'299,403,596,596,596,596,403,571,403,854,403,403,403,403,403,403,403',
'214,403,403,403,859,881,357,881,881,881,115,881,860,357,360,115,115',
'403,403,596,403,360,403,40,40,861,403,689,689,689,689,689,689,571,862',
'864,689,689,868,571,870,689,881,689,689,689,689,689,689,689,195,101',
'44,881,881,689,689,689,689,689,689,689,39,841,689,841,841,841,36,841',
'689,689,891,689,689,689,689,689,689,689,689,689,22,689,689,689,16,689',
'689,689,689,689,655,504,655,655,655,821,655,885,841,885,885,885,821',
'885,913,12,343,841,10,689,7,821,689,343,918,689,689,919,920,689,921',
'689,343,922,923,689,806,655,806,806,806,924,806,689,885,926,655,929',
'689,689,689,689,930,689,689,885,885,931,689,689,898,898,898,898,898',
'898,689,932,689,898,898,933,934,806,898,935,898,898,898,898,898,898',
'898,936,806,806,946,1,898,898,898,898,898,898,898,955,734,898,734,734',
'734,519,734,898,898,13,898,898,898,898,898,898,898,898,898,495,898,898',
'898,524,898,898,898,898,898,766,525,766,766,766,491,766,486,941,484',
'941,941,941,481,941,480,467,463,556,898,562,568,898,572,577,898,898',
'582,437,898,843,898,843,843,843,898,843,766,801,592,801,801,801,898',
'801,941,766,436,898,898,898,898,594,898,898,435,941,941,898,898,0,0',
'0,0,0,0,898,843,898,0,0,434,608,610,0,801,0,0,0,0,0,0,0,617,801,801',
'801,801,0,0,0,0,0,0,0,619,866,0,866,866,866,422,866,0,0,0,0,0,0,0,0',
'0,0,0,0,412,0,0,0,622,0,0,0,0,0,890,404,890,890,890,625,890,626,763',
'395,763,763,763,394,763,629,630,392,632,0,389,635,0,636,639,0,0,386',
'644,0,945,0,945,945,945,0,945,890,803,820,803,803,803,0,803,763,820',
'645,0,0,0,0,646,0,0,820,763,763,0,0,876,876,876,876,876,876,0,945,0',
'876,876,653,956,660,876,803,876,876,876,876,876,876,876,663,803,803',
'803,803,876,876,876,876,876,876,876,433,666,876,479,479,479,479,479',
'876,876,671,876,876,876,876,876,876,876,876,876,384,876,876,876,674',
'876,876,876,876,876,378,683,433,688,705,336,433,433,906,710,906,906',
'906,334,906,330,329,320,318,876,317,822,876,728,729,876,876,730,822',
'876,925,876,925,925,925,876,925,822,760,824,760,760,760,876,760,906',
'824,732,876,876,876,876,733,876,876,824,906,906,876,876,875,875,875',
'875,875,875,876,925,876,875,875,735,737,739,875,760,875,875,875,875',
'875,875,875,740,760,760,760,760,875,875,875,875,875,875,875,552,552',
'875,743,552,552,552,312,875,875,311,875,875,875,875,875,875,875,875',
'875,308,875,875,875,754,875,875,875,875,875,333,305,490,757,304,300',
'298,333,951,490,951,951,951,957,951,768,333,867,490,875,624,211,875',
'874,867,875,875,624,211,875,874,875,624,867,293,875,624,211,758,874',
'758,758,758,875,758,951,771,774,875,875,875,875,292,875,875,,951,951',
'875,875,892,892,892,892,892,892,875,,875,892,892,,,,892,758,892,892',
'892,892,892,892,892,,758,758,758,758,892,892,892,892,892,892,892,,,892',
'6,6,6,6,6,892,892,,892,892,892,892,892,892,892,892,892,,892,892,892',
',892,892,892,892,892,,45,,,,306,,904,45,904,904,904,306,904,,,533,45',
',892,,306,892,533,,892,892,,,892,14,892,533,,,892,883,14,883,883,883',
',883,892,904,,14,,892,892,892,892,,892,892,904,904,,892,892,699,699',
'699,699,699,699,892,,892,699,699,,,883,699,,699,699,699,699,699,699',
'699,,883,883,,,699,699,699,699,699,699,699,451,,699,277,277,277,277',
'277,699,699,,699,699,699,699,699,699,699,699,699,,699,699,699,290,699',
'699,699,699,699,,290,451,,917,288,451,451,451,451,290,917,288,,,,917',
'287,,699,917,288,699,286,287,699,699,,,699,286,699,,287,,699,,,642,286',
'642,642,642,699,642,,,,699,699,699,699,,699,699,,,,699,699,738,738,738',
'738,738,738,699,,699,738,738,,,,738,642,738,738,738,738,738,738,738',
',642,642,642,642,738,738,738,738,738,738,738,452,,738,614,614,614,614',
'614,738,738,,738,738,738,738,738,738,738,738,738,,738,738,738,,738,738',
'738,738,738,,,452,,681,,452,452,452,452,,681,,,,,681,,,738,681,,738',
',,738,738,,,738,,738,,,,738,,,878,,878,878,878,738,878,,,,738,738,738',
'738,,738,738,,,,738,738,748,748,748,748,748,748,738,,738,748,748,,,',
'748,878,748,748,748,748,748,748,748,,878,878,878,878,748,748,748,748',
'748,748,748,,,748,,,,,,748,748,,748,748,748,748,748,748,748,748,748',
',748,748,748,,748,748,748,748,748,,,,,,,,,,,,,,,,,,,,748,,,748,,,748',
'748,,,748,,748,,,,748,,,901,,901,901,901,748,901,,,,748,748,748,748',
',748,748,,,,748,748,521,521,521,521,521,521,748,,748,521,521,,,,521',
'901,521,521,521,521,521,521,521,,901,901,901,901,521,521,521,521,521',
'521,521,,,521,,,,,,521,521,,521,521,521,521,521,521,521,521,521,,521',
'521,521,,521,521,521,521,521,,,,,,,,,,,,,,,,,,,,521,,,521,,,521,521',
',,521,,521,,,,521,,,690,,690,690,690,521,690,,,,521,521,521,521,,521',
'521,,,,521,521,113,113,113,113,113,113,521,,521,113,113,,,,113,690,113',
'113,113,113,113,113,113,,690,690,690,690,113,113,113,113,113,113,113',
',,113,,,,,,113,113,113,113,113,113,113,113,113,113,113,113,,113,113',
'113,,113,113,113,113,113,441,441,441,441,441,441,441,,,441,441,,,,,',
'441,441,,113,,,113,,,113,113,,,113,,113,441,,441,113,441,441,441,441',
'441,441,441,113,441,,,,113,113,113,113,,113,113,,,,113,113,518,518,518',
'518,518,518,113,,113,518,518,,,,518,,518,518,518,518,518,518,518,,,',
',,518,518,518,518,518,518,518,,,518,,,,,,518,518,,518,518,518,518,518',
'518,518,518,518,,518,518,518,,518,518,518,518,518,449,449,449,449,449',
'449,449,,,449,449,,,,,,449,449,,518,,,518,,,518,518,,,518,,518,449,',
'449,518,449,449,449,449,449,449,449,518,449,,,,518,518,518,518,,518',
'518,,,,518,518,197,197,197,197,197,197,518,,518,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,431,431,431,431,431,431,431,431,431,431,431,,431,431,,,431,431',
',197,,,197,,,197,197,,,197,,197,431,,431,197,431,431,431,431,431,431',
'431,197,431,,,,197,197,197,197,,197,197,,,,197,197,32,32,32,32,32,32',
'197,,197,32,32,,,,32,,32,32,32,32,32,32,32,,,,,,32,32,32,32,32,32,32',
',,32,,,,,,32,32,,32,32,32,32,32,32,32,32,32,,32,32,32,,32,32,32,32,32',
'454,454,454,454,454,454,454,454,,454,454,,,,,,454,454,,32,,,32,,,32',
'32,,,32,,32,454,,454,32,454,454,454,454,454,454,454,32,454,,,,32,32',
'32,32,,32,32,,,,32,32,598,598,598,598,598,598,32,,32,598,598,,,,598',
',598,598,598,598,598,598,598,,,,,,598,598,598,598,598,598,598,,,598',
',,,,,598,598,,598,598,598,598,598,598,598,598,598,,598,598,598,,598',
'598,598,598,598,430,430,430,430,430,430,430,430,430,430,430,,430,430',
',,430,430,,598,,,598,,,598,598,,,598,,598,430,,430,598,430,430,430,430',
'430,430,430,598,430,,,,598,598,598,598,,598,598,,,,598,598,605,605,605',
'605,605,605,598,,598,605,605,,,,605,,605,605,605,605,605,605,605,,,',
',,605,605,605,605,605,605,605,,,605,,,,,,605,605,,605,605,605,605,605',
'605,605,605,605,,605,605,605,,605,605,605,605,605,448,448,448,448,448',
'448,448,,,448,448,,,,,,448,448,,605,,,605,,,605,605,,,605,,605,448,',
'448,605,448,448,448,448,448,448,448,605,448,,,,605,605,605,605,,605',
'605,,,,605,605,778,778,778,778,778,778,605,,605,778,778,,,,778,,778',
'778,778,778,778,778,778,,,,,,778,778,778,778,778,778,778,,,778,,,,,',
'778,778,,778,778,778,778,778,778,778,778,778,,778,778,778,,778,778,778',
'778,778,450,450,450,450,450,450,450,,,450,450,,,,,,450,450,,778,,,778',
',,778,778,,,778,,778,450,,450,778,450,450,450,450,450,450,450,778,450',
',,,778,778,778,778,,778,778,,,,778,778,779,779,779,779,779,779,778,',
'778,779,779,,,,779,,779,779,779,779,779,779,779,,,,,,779,779,779,779',
'779,779,779,,,779,,,,,,779,779,,779,779,779,779,779,779,779,779,779',
',779,779,779,,779,779,779,779,779,447,447,447,447,447,447,447,,,447',
'447,,,,,,447,447,,779,,,779,,,779,779,,,779,,779,447,,447,779,447,447',
'447,447,447,447,447,779,447,,,,779,779,779,779,,779,779,,,,779,779,782',
'782,782,782,782,782,779,,779,782,782,,,,782,,782,782,782,782,782,782',
'782,,,,,,782,782,782,782,782,782,782,,,782,,,,,,782,782,,782,782,782',
'782,782,782,782,782,782,,782,782,782,,782,782,782,782,782,446,446,446',
'446,446,446,446,,,446,446,,,,,,446,446,,782,,,782,,,782,782,,,782,,782',
'446,,446,782,446,446,446,446,446,446,446,782,446,,,,782,782,782,782',
',782,782,,,,782,782,285,285,285,285,285,285,782,,782,285,285,,,,285',
',285,285,285,285,285,285,285,,,,,,285,285,285,285,285,285,285,,,285',
',,,,,285,285,,285,285,285,285,285,285,285,285,285,,285,285,285,,285',
'285,285,285,285,445,,,,,,,,,,,,,,,,445,445,,285,,,285,,,285,285,,,285',
',285,445,,445,285,445,445,445,445,,,445,285,445,,,,285,285,285,285,',
'285,285,,,,285,285,788,788,788,788,788,788,285,,285,788,788,,,,788,',
'788,788,788,788,788,788,788,,,,,,788,788,788,788,788,788,788,,,788,',
',,,,788,788,,788,788,788,788,788,788,788,788,788,,788,788,788,,788,788',
'788,788,788,444,,,,,,,,,,,,,,,,444,444,,788,,,788,,,788,788,,,788,,788',
'444,,444,788,444,444,444,444,,,444,788,444,,,,788,788,788,788,,788,788',
',,,788,788,606,606,606,606,606,606,788,,788,606,606,,,,606,,606,606',
'606,606,606,606,606,,,,,,606,606,606,606,606,606,606,,,606,,,,,415,606',
'606,,606,606,606,606,606,606,606,606,606,,606,606,606,,606,606,606,606',
'606,415,415,415,415,415,415,415,415,415,415,415,,415,415,,,415,415,',
'606,,,606,,,606,606,,,606,,606,415,,415,606,415,415,415,415,415,415',
'415,606,415,,,,606,606,606,606,,606,606,,,,606,606,,415,408,415,,,606',
',606,408,408,408,,,408,408,408,517,408,517,517,517,,517,,,,408,408,408',
'408,,,,,,,,408,408,,408,408,408,408,408,,,,,,,,,517,517,,,,,,,,517,517',
'517,517,,408,408,408,408,408,408,408,408,408,408,408,408,408,408,,,408',
'408,408,,,408,,,408,,,408,408,,408,,408,,408,,408,408,408,408,408,408',
'408,407,408,408,408,,,,407,407,407,,,407,407,407,443,407,408,408,408',
'408,,408,,408,407,407,407,407,,,443,443,,,,407,407,,407,407,407,407',
'407,,,,443,,443,,443,443,443,443,,,443,,443,,,,,,,407,407,407,407,407',
'407,407,407,407,407,407,407,407,407,,,407,407,407,,,407,,,407,,,407',
'407,,407,,407,,407,,407,407,407,407,407,407,407,,407,407,407,,,,,,,',
',,,,,,407,407,407,407,,407,,407,280,280,280,280,280,280,,,,280,280,',
',,280,,280,280,280,280,280,280,280,,,,,,280,280,280,280,280,280,280',
',,280,,,,,593,280,280,,280,280,280,280,280,280,280,280,280,,280,280',
'280,,280,280,280,280,280,593,593,593,593,593,593,593,593,593,593,593',
',593,593,,,593,593,,280,,,280,,,280,280,,,280,,280,593,,593,280,593',
'593,593,593,593,593,593,280,593,,,,280,280,280,280,,280,280,,,,280,280',
',593,53,,,,280,,280,53,53,53,,,53,53,53,857,53,857,857,857,,857,,,,',
'53,53,53,,,,,,,,53,53,,53,53,53,53,53,,,,,,,,,857,857,,,,,,,,857,857',
'857,857,,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,819,819,819,819,819,819,,,,819,819,,,,819,,819,819',
'819,819,819,819,819,,,,,,819,819,819,819,819,819,819,,,819,,,,,,819',
'819,,819,819,819,819,819,819,819,819,819,,819,819,819,,819,819,819,819',
'819,442,,,,,,,,,,,,,,,,442,442,,819,,,819,,,819,819,,,819,,819,442,',
'442,819,442,442,442,442,,,442,819,442,,,,819,819,819,819,,819,819,,',
',819,819,54,54,54,54,54,54,819,,819,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,453,453,453,453,453,453,453,,,453,453,,,,',
',453,453,,54,,,54,,,54,54,,,54,,54,453,,453,54,453,453,453,453,453,453',
'453,54,453,,,,54,54,54,54,,54,54,,,,54,54,220,220,220,220,220,220,54',
',54,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,440,,,,,,,,,,,,,,,,440,440,,220,,',
'220,,,220,220,,,220,,220,440,,,220,440,440,440,440,,,,220,,,,,220,220',
'220,220,,220,220,,,,220,220,634,634,634,634,634,634,220,,220,634,634',
',,,634,,634,634,634,634,634,634,634,,,,,,634,634,634,634,634,634,634',
',,634,,,,,,634,634,,634,634,634,634,634,634,634,634,634,,634,634,634',
',634,634,634,634,634,439,,,,,,,,,,,,,,,,439,439,,634,,,634,,,634,634',
',,634,,634,439,,439,634,439,439,439,439,,,,634,,,,,634,634,634,634,',
'634,634,,,,634,634,684,684,684,684,684,684,634,,634,684,684,,,,684,',
'684,684,684,684,684,684,684,,,,,,684,684,684,684,684,684,684,,,684,',
',,,,684,684,,684,684,684,684,684,684,684,684,684,,684,684,684,,684,684',
'684,684,684,438,,,,,,,,,,,,,,,,438,438,,684,,,684,,,684,684,,,684,,684',
'438,,438,684,438,438,438,438,,,,684,,,,,684,684,684,684,,684,684,,,',
'684,684,900,900,900,900,900,900,684,,684,900,900,,,,900,,900,900,900',
'900,900,900,900,,,,,,900,900,900,900,900,900,900,,,900,,,,,,900,900',
',900,900,900,900,900,900,900,900,900,,900,900,900,,900,900,900,900,900',
',,,,,,,,,,,,,,,,,,,900,,,900,,,900,900,,,900,,900,,,,900,,,,,,,,900',
',,,,900,900,900,900,,900,900,,,,900,900,,205,205,205,,205,900,,900,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,,5,5,5,5,5',
'205,,205,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,,20,20,20,,20,5,,5,20,20,,',
',20,,20,20,20,20,20,20,20,,,,,,20,20,20,20,20,20,20,,,20,,,,,,,20,,',
'20,20,20,20,20,20,20,20,,20,20,20,,20,20,20,20,20,,,,,,,,,,,,,,,,,,',
',20,,,20,,,20,20,,,20,,,,,,20,,,,,,,,20,,,,,20,20,20,20,,20,20,,,,20',
'20,,28,28,28,,28,20,,20,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,,30,30,30,,30,29,,29,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,,30,,,,,,,,30,,,,,30,30,30,30,,30,30,,,,30,30,,33,33,33,,33,30,',
'30,33,33,,,,33,,33,33,33,33,33,33,33,,,,,,33,33,33,33,33,33,33,,,33',
',,,,,,33,,,33,33,33,33,33,33,33,33,,33,33,33,,33,33,,544,33,544,544',
'544,,544,,,,,,,,,,,,,,,33,,,33,,,33,33,,,33,,33,,,,544,544,,,,,,,,544',
'544,544,544,33,33,33,33,,33,33,,,,33,33,,34,34,34,,34,33,,33,34,34,',
',,34,,34,34,34,34,34,34,34,,,,,,34,34,34,34,34,34,34,,,34,,,,,391,,34',
',,34,34,34,34,34,34,34,34,,34,34,34,,34,34,,,34,391,391,391,391,391',
'391,391,391,391,391,391,,391,391,,,391,391,,34,,,34,,,34,34,,,34,,,391',
',391,,391,391,391,391,391,391,391,,391,,,,34,34,34,34,,34,34,,,,34,34',
',391,,34,,,34,,34,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,,41,41,,,,41,41,,42,42,42,,42,41,,41,42,42',
',,,42,,42,42,42,42,42,42,42,,,,,,42,42,42,42,42,42,42,,,42,,,,,,,42',
',,42,42,42,42,42,42,42,42,,42,42,42,,42,42,42,42,42,,,,,,,,,,,,,,,,',
',,,42,,,42,,,42,42,,,42,,,,,,42,,,,,,,,42,,,,,42,42,42,42,,42,42,,,',
'42,42,,43,43,43,,43,42,,42,43,43,,,,43,,43,43,43,43,43,43,43,,,,,,43',
'43,43,43,43,43,43,,,43,,,,,,,43,,,43,43,43,43,43,43,43,43,,43,43,43',
',43,43,43,43,43,,,,,,,,,,,,,,,,,,,,43,,,43,,,43,43,,,43,,,,,,43,,,,',
',,,43,,,,,43,43,43,43,,43,43,,,,43,43,,56,56,56,,56,43,,43,56,56,,,',
'56,,56,56,56,56,56,56,56,,,,,,56,56,56,56,56,56,56,,,56,,,,,,,56,,,56',
'56,56,56,56,56,56,56,56,56,56,56,,56,56,56,56,56,,,,,,,,,,,,,,,,,,,',
'56,,,56,,,56,56,,,56,,56,,,,56,,,,,,,,56,,,,,56,56,56,56,,56,56,,,,56',
'56,,57,57,57,,57,56,,56,57,57,,,,57,,57,57,57,57,57,57,57,,,,,,57,57',
'57,57,57,57,57,,,57,,,,,,,57,,,57,57,57,57,57,57,57,57,57,57,57,57,',
'57,57,57,57,57,,,,,,,,,,,,,,,,,,,,57,,,57,,,57,57,,,57,,,,,,57,,,,,',
',,57,,,,,57,57,57,57,,57,57,,,,57,57,,60,60,60,,60,57,,57,60,60,,,,60',
',60,60,60,60,60,60,60,,,,,,60,60,60,60,60,60,60,,,60,,,,,,,60,,,60,60',
'60,60,60,60,60,60,,60,60,60,,60,60,60,60,60,,,,,,,,,,,,,,,,,,,,60,,',
'60,,,60,60,,,60,,,,,,60,,,,,,,,60,,,,,60,60,60,60,,60,60,,,,60,60,,61',
'61,61,,61,60,,60,61,61,,,,61,,61,61,61,61,61,61,61,,,,,,61,61,61,61',
'61,61,61,,,61,,,,,,,61,,,61,61,61,61,61,61,61,61,,61,61,61,,61,61,61',
'61,61,,,,,,,,,,,,,,,,,,,,61,,,61,,,61,61,,,61,,,,,,61,,,,,,,,61,,,,',
'61,61,61,61,,61,61,,,,61,61,,64,64,64,,64,61,,61,64,64,,,,64,,64,64',
'64,64,64,64,64,,,,,,64,64,64,64,64,64,64,,,64,,,,,,,64,,,64,64,64,64',
'64,64,64,64,,64,64,64,,64,64,64,64,64,264,264,264,264,264,264,264,264',
'264,264,264,,264,264,,,264,264,,64,,,64,,,64,64,,,64,,,264,,264,64,264',
'264,264,264,264,264,264,64,264,,,,64,64,64,64,,64,64,,,,64,64,64,264',
',,,64,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,65',
'65,,65,65,,,65,,,,,,,,,,,,,,,,,,,,65,,,65,,,65,65,,,65,,65,,,,,,,,,',
',,,,,,,65,65,65,65,,65,65,,,,65,65,,66,66,66,,66,65,,65,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,,67,67,67',
',67,66,,66,67,67,,,,67,,67,67,67,67,67,67,67,,,,,,67,67,67,67,67,67',
'67,,,67,,,,,,,67,,,67,67,67,67,67,67,67,67,,67,67,67,,67,67,,,67,,,',
',,,,,,,,,,,,,,,,67,,,67,,,67,67,,,67,,,,,,,,,,,,,,,,,,,67,67,67,67,',
'67,67,,,,67,67,,103,103,103,103,103,67,,67,103,103,,,,103,,103,103,103',
'103,103,103,103,,,,,,103,103,103,103,103,103,103,,,103,,,,,,103,103',
'103,103,103,103,103,103,103,103,103,103,,103,103,103,,103,103,103,103',
'103,721,721,721,721,721,721,721,721,721,721,721,,721,721,,,721,721,',
'103,,,103,,,103,103,,,103,,103,721,,721,103,721,721,721,721,721,721',
'721,103,721,,,,103,103,103,103,,103,103,,,,103,103,,721,,,,103,103,',
'103,108,108,108,,108,,,,108,108,,,,108,,108,108,108,108,108,108,108',
',,,,,108,108,108,108,108,108,108,,,108,,,,,,,108,,,108,108,108,108,108',
'108,108,108,,108,108,108,,108,108,108,108,108,,,,,,,,,,,,,,,,,,,,108',
',,108,,,108,108,,,108,,,,,,108,,,,,,,,108,,,,,108,108,108,108,,108,108',
',,,108,108,,109,109,109,,109,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,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,,111,111,111,,111,110,,110,111',
'111,,,,111,,111,111,111,111,111,111,111,,,,,,111,111,111,111,111,111',
'111,,,111,,,,,,,111,,,111,111,111,111,111,111,111,111,,111,111,111,',
'111,111,111,111,111,,,,,,,,,,,,,,,,,,,,111,,,111,,,111,111,,,111,,,',
',,111,,,,,,,,111,,,,,111,111,111,111,,111,111,,,,111,111,,112,112,112',
'112,112,111,,111,112,112,,,,112,,112,112,112,112,112,112,112,,,,,,112',
'112,112,112,112,112,112,,,112,,,,,,112,112,,112,112,112,112,112,112',
'112,112,112,,112,112,112,,112,112,112,112,112,,,,,,,,,,,,,,,,,,,,112',
',,112,,,112,112,,,112,,112,,,,112,,,,,,,,112,,,,,112,112,112,112,,112',
'112,,,,112,112,,198,198,198,,198,112,,112,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,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,,200,200,200,,200',
'199,,199,200,200,,,,200,,200,200,200,200,200,200,200,,,,,,200,200,200',
'200,200,200,200,,,200,,,,,,,200,,,200,200,200,200,200,200,200,200,200',
'200,200,200,,200,200,200,200,200,,,,,,,,,,,,,,,,,,,,200,,,200,,,200',
'200,,,200,,200,,200,,200,,,,,,,,200,,,,,200,200,200,200,,200,200,,,',
'200,200,,203,203,203,,203,200,,200,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,204,,206,206,206,,206,204,,204,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,,207,207,207',
',207,206,,206,207,207,,,,207,,207,207,207,207,207,207,207,,,,,,207,207',
'207,207,207,207,207,,,207,,,,,,,207,,,207,207,207,207,207,207,207,207',
',207,207,207,,207,207,207,207,207,,,,,,,,,,,,,,,,,,,,207,,,207,,,207',
'207,,,207,,,,,,207,,,,,,,,207,,,,,207,207,207,207,,207,207,,,,207,207',
',208,208,208,,208,207,,207,208,208,,,,208,,208,208,208,208,208,208,208',
',,,,,208,208,208,208,208,208,208,,,208,,,,,,,208,,,208,208,208,208,208',
'208,208,208,,208,208,208,,208,208,208,208,208,,,,,,,,,,,,,,,,,,,,208',
',,208,,,208,208,,,208,,,,,,208,,,,,,,,208,,,,,208,208,208,208,,208,208',
',,,208,208,208,871,871,871,,871,208,,208,871,871,,,,871,,871,871,871',
'871,871,871,871,,,,,,871,871,871,871,871,871,871,,,871,,,,,,,871,,,871',
'871,871,871,871,871,871,871,871,871,871,871,,871,871,871,871,871,,,',
',,,,,,,,,,,,,,,,871,,,871,,,871,871,,,871,,871,,871,,871,,,,,,,,871',
',,,,871,871,871,871,,871,871,,,,871,871,,219,219,219,,219,871,,871,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,,222,222,222',
',222,219,,219,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,,245,245,245,,245,244,,244,245,245,,,,245,,245',
'245,245,245,245,245,245,,,,,,245,245,245,245,245,245,245,,,245,,,,,',
',245,,,245,245,245,245,245,245,245,245,,245,245,245,,245,245,245,245',
'245,,,,,,,,,,,,,,,,,,,,245,,,245,,,245,245,,,245,,,,,,245,,,,,,,,245',
',,,,245,245,245,245,,245,245,,,,245,245,,246,246,246,,246,245,,245,246',
'246,,,,246,,246,246,246,246,246,246,246,,,,,,246,246,246,246,246,246',
'246,,,246,,,,,,,246,,,246,246,246,246,246,246,246,246,,246,246,246,',
'246,246,246,246,246,,,,,,,,,,,,,,,,,,,,246,,,246,,,246,246,,,246,,,',
',,246,,,,,,,,246,,,,,246,246,246,246,,246,246,,,,246,246,,247,247,247',
',247,246,,246,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,247,,247,247,247,247,247,,,,,,,,,,,,,,,,,,,,247,,,247,,,247',
'247,,,247,,,,,,247,,,,,,,,247,,,,,247,247,247,247,,247,247,,,,247,247',
',813,813,813,,813,247,,247,813,813,,,,813,,813,813,813,813,813,813,813',
',,,,,813,813,813,813,813,813,813,,,813,,,,,,,813,,,813,813,813,813,813',
'813,813,813,,813,813,813,,813,813,,,813,,,,,,,,,,,,,,,,,,,,813,,,813',
',,813,813,,,813,,,,,,,,,,,,,,,,,,,813,813,813,813,,813,813,,,,813,813',
',253,253,253,,253,813,,813,253,253,,,,253,,253,253,253,253,253,253,253',
',,,,,253,253,253,253,253,253,253,,,253,,,,,,,253,,,253,253,253,253,253',
'253,253,253,253,253,253,253,,253,253,253,253,253,,,,,,,,,,,,,,,,,,,',
'253,,,253,,,253,253,,,253,,253,,253,,253,,,,,,,,253,,,,,253,253,253',
'253,,253,253,,,,253,253,,254,254,254,,254,253,,253,254,254,,,,254,,254',
'254,254,254,254,254,254,,,,,,254,254,254,254,254,254,254,,,254,,,,,',
',254,,,254,254,254,254,254,254,254,254,254,254,254,254,,254,254,254',
'254,254,,,,,,,,,,,,,,,,,,,,254,,,254,,,254,254,,,254,,254,,254,,254',
',,,,,,,254,,,,,254,254,254,254,,254,254,,,,254,254,,262,262,262,,262',
'254,,254,262,262,,,,262,,262,262,262,262,262,262,262,,,,,,262,262,262',
'262,262,262,262,,,262,,,,,,,262,,,262,262,262,262,262,262,262,262,262',
'262,262,262,,262,262,262,262,262,,,,,,,,,,,,,,,,,,,,262,,,262,,,262',
'262,,,262,,262,,262,,262,,,,,,,,262,,,,,262,262,262,262,,262,262,,,',
'262,262,262,269,269,269,,269,262,,262,269,269,,,,269,,269,269,269,269',
'269,269,269,,,,,,269,269,269,269,269,269,269,,,269,,,,,,,269,,,269,269',
'269,269,269,269,269,269,,269,269,269,,269,269,269,269,269,,,,,,,,,,',
',,,,,,,,,269,,,269,,,269,269,,,269,,,,,,269,,,,,,,,269,,,,,269,269,269',
'269,,269,269,,,,269,269,,271,271,271,,271,269,,269,271,271,,,,271,,271',
'271,271,271,271,271,271,,,,,,271,271,271,271,271,271,271,,,271,,,,,',
',271,,,271,271,271,271,271,271,271,271,,271,271,271,,271,271,271,271',
'271,,,,,,,,,,,,,,,,,,,,271,,,271,,,271,271,,,271,,,,,,271,,,,,,,,271',
',,,,271,271,271,271,,271,271,,,,271,271,,273,273,273,,273,271,,271,273',
'273,,,,273,,273,273,273,273,273,273,273,,,,,,273,273,273,273,273,273',
'273,,,273,,,,,,,273,,,273,273,273,273,273,273,273,273,,273,273,273,',
'273,273,273,273,273,,,,,,,,,,,,,,,,,,,,273,,,273,,,273,273,,,273,,,',
',,273,,,,,,,,273,,,,,273,273,273,273,,273,273,,,,273,273,,799,799,799',
',799,273,,273,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',
',278,278,278,278,278,799,,799,278,278,,,,278,,278,278,278,278,278,278',
'278,,,,,,278,278,278,278,278,278,278,,,278,,,,,,278,278,,278,278,278',
'278,278,278,278,278,278,,278,278,278,,278,278,278,278,278,,,,,,,,,,',
',,,,,,,,,278,,,278,,,278,278,,,278,,278,,,,278,,,,,,,,278,,,,,278,278',
'278,278,,278,278,,,,278,278,,798,798,798,,798,278,,278,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,,,798,,,798,798,,,798,,,,798,,798',
',,,,,,,798,,,,,798,798,798,798,,798,798,,,,798,798,,284,284,284,,284',
'798,,798,284,284,,,,284,,284,284,284,284,284,284,284,,,,,,284,284,284',
'284,284,284,284,,,284,,,,,,,284,,,284,284,284,284,284,284,284,284,,284',
'284,284,,284,284,,,284,719,719,719,719,719,719,719,719,719,719,719,',
'719,719,,,719,719,,284,,,284,,,284,284,,,284,,,719,,719,,719,719,719',
'719,719,719,719,,719,,,,284,284,284,284,,284,284,,,,284,284,,719,,284',
',,284,,284,781,781,781,,781,,,,781,781,,,,781,,781,781,781,781,781,781',
'781,,,,,,781,781,781,781,781,781,781,,,781,,,,,,,781,,,781,781,781,781',
'781,781,781,781,,781,781,781,,781,781,781,781,781,,,,,,,,,,,,,,,,,,',
',781,,,781,,,781,781,,,781,,781,,,,781,,,,,,,,781,,,,,781,781,781,781',
',781,781,,,,781,781,,776,776,776,,776,781,,781,776,776,,,,776,,776,776',
'776,776,776,776,776,,,,,,776,776,776,776,776,776,776,,,776,,,,,,,776',
',,776,776,776,776,776,776,776,776,,776,776,776,,776,776,776,776,776',
',,,,,,,,,,,,,,,,,,,776,,,776,,,776,776,,,776,,,,,,776,,,,,,,,776,,,',
',776,776,776,776,,776,776,,,,776,776,,764,764,764,,764,776,,776,764',
'764,,,,764,,764,764,764,764,764,764,764,,,,,,764,764,764,764,764,764',
'764,,,764,,,,,,,764,,,764,764,764,764,764,764,764,764,,764,764,764,',
'764,764,764,764,764,,,,,,,,,,,,,,,,,,,,764,,,764,,,764,764,,,764,,,',
',,764,,,,,,,,764,,,,,764,764,764,764,,764,764,,,,764,764,,301,301,301',
',301,764,,764,301,301,,,,301,,301,301,301,301,301,301,301,,,,,,301,301',
'301,301,301,301,301,,,301,,,,,,,301,,,301,301,301,301,301,301,301,301',
',301,301,301,,301,301,,,301,,,,,,,,,,,,,,,,,,,,301,,,301,,,301,301,',
',301,,,,,,,,,,,,,,,,,,,301,301,301,301,,301,301,,,,301,301,,752,752',
'752,,752,301,,301,752,752,,,,752,,752,752,752,752,752,752,752,,,,,,752',
'752,752,752,752,752,752,,,752,,,,,,,752,,,752,752,752,752,752,752,752',
'752,,752,752,752,,752,752,,,752,,,,,,,,,,,,,,,,,,,,752,,,752,,,752,752',
',,752,,,,,,,,,,,,,,,,,,,752,752,752,752,,752,752,,,,752,752,,310,310',
'310,,310,752,,752,310,310,,,,310,,310,310,310,310,310,310,310,,,,,,310',
'310,310,310,310,310,310,,,310,,,,,,,310,,,310,310,310,310,310,310,310',
'310,,310,310,310,,310,310,310,310,310,,,,,,,,,,,,,,,,,,,,310,,,310,310',
',310,310,,,310,,,,,,310,,,,,,,,310,,,,,310,310,310,310,,310,310,,,,310',
'310,,313,313,313,,313,310,,310,313,313,,,,313,,313,313,313,313,313,313',
'313,,,,,,313,313,313,313,313,313,313,,,313,,,,,,,313,,,313,313,313,313',
'313,313,313,313,,313,313,313,,313,313,313,313,313,,,,,,,,,,,,,,,,,,',
',313,,,313,,,313,313,,,313,,,,,,313,,,,,,,,313,,,,,313,313,313,313,',
'313,313,,,,313,313,,727,727,727,,727,313,,313,727,727,,,,727,,727,727',
'727,727,727,727,727,,,,,,727,727,727,727,727,727,727,,,727,,,,,,,727',
',,727,727,727,727,727,727,727,727,,727,727,727,,727,727,727,727,727',
',,,,,,,,,,,,,,,,,,,727,,,727,,,727,727,,,727,,,,,,727,,,,,,,,727,,,',
',727,727,727,727,,727,727,,,,727,727,,725,725,725,,725,727,,727,725',
'725,,,,725,,725,725,725,725,725,725,725,,,,,,725,725,725,725,725,725',
'725,,,725,,,,,,,725,,,725,725,725,725,725,725,725,725,,725,725,725,',
'725,725,725,725,725,,,,,,,,,,,,,,,,,,,,725,,,725,,,725,725,,,725,,,',
',,725,,,,,,,,725,,,,,725,725,725,725,,725,725,,,,725,725,,724,724,724',
',724,725,,725,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',
',723,723,723,,723,724,,724,723,723,,,,723,,723,723,723,723,723,723,723',
',,,,,723,723,723,723,723,723,723,,,723,,,,,,,723,,,723,723,723,723,723',
'723,723,723,,723,723,723,,723,723,723,723,723,,,,,,,,,,,,,,,,,,,,723',
',,723,,,723,723,,,723,,,,,,723,,,,,,,,723,,,,,723,723,723,723,,723,723',
',,,723,723,,722,722,722,,722,723,,723,722,722,,,,722,,722,722,722,722',
'722,722,722,,,,,,722,722,722,722,722,722,722,,,722,,,,,,,722,,,722,722',
'722,722,722,722,722,722,,722,722,722,,722,722,722,722,722,,,,,,,,,,',
',,,,,,,,,722,,,722,,,722,722,,,722,,,,,,722,,,,,,,,722,,,,,722,722,722',
'722,,722,722,,,,722,722,,326,326,326,,326,722,,722,326,326,,,,326,,326',
'326,326,326,326,326,326,,,,,,326,326,326,326,326,326,326,,,326,,,,,',
',326,,,326,326,326,326,326,326,326,326,,326,326,326,,326,326,326,326',
'326,,,,,,,,,,,,,,,,,,,,326,,,326,,,326,326,,,326,,,,,,326,,,,,,,,326',
',,,,326,326,326,326,,326,326,,,,326,326,,327,327,327,,327,326,,326,327',
'327,,,,327,,327,327,327,327,327,327,327,,,,,,327,327,327,327,327,327',
'327,,,327,,,,,,,327,,,327,327,327,327,327,327,327,327,,327,327,327,',
'327,327,327,327,327,,,,,,,,,,,,,,,,,,,,327,,,327,,,327,327,,,327,,,',
',,327,,,,,,,,327,,,,,327,327,327,327,,327,327,,,,327,327,,708,708,708',
',708,327,,327,708,708,,,,708,,708,708,708,708,708,708,708,,,,,,708,708',
'708,708,708,708,708,,,708,,,,,,,708,,,708,708,708,708,708,708,708,708',
',708,708,708,,708,708,708,708,708,,,,,,,,,,,,,,,,,,,,708,,,708,,,708',
'708,,,708,,,,,,708,,,,,,,,708,,,,,708,708,708,708,,708,708,,,,708,708',
',706,706,706,,706,708,,708,706,706,,,,706,,706,706,706,706,706,706,706',
',,,,,706,706,706,706,706,706,706,,,706,,,,,,,706,,,706,706,706,706,706',
'706,706,706,,706,706,706,,706,706,706,706,706,,,,,,,,,,,,,,,,,,,,706',
',,706,,,706,706,,,706,,,,,,706,,,,,,,,706,,,,,706,706,706,706,,706,706',
',,,706,706,,346,346,346,,346,706,,706,346,346,,,,346,,346,346,346,346',
'346,346,346,,,,,,346,346,346,346,346,346,346,,,346,,,,,,,346,,,346,346',
'346,346,346,346,346,346,,346,346,346,,346,346,346,346,346,,,,,,,,,,',
',,,,,,,,,346,,,346,,,346,346,,,346,,,,,,346,,,,,,,,346,,,,,346,346,346',
'346,,346,346,,,,346,346,,679,679,679,,679,346,,346,679,679,,,,679,,679',
'679,679,679,679,679,679,,,,,,679,679,679,679,679,679,679,,,679,,,,,',
',679,,,679,679,679,679,679,679,679,679,,679,679,679,,679,679,679,679',
'679,,,,,,,,,,,,,,,,,,,,679,,,679,,,679,679,,,679,,,,,,679,,,,,,,,679',
',,,,679,679,679,679,,679,679,,,,679,679,,362,362,362,,362,679,,679,362',
'362,,,,362,,362,362,362,362,362,362,362,,,,,,362,362,362,362,362,362',
'362,,,362,,,,,,,362,,,362,362,362,362,362,362,362,362,,362,362,362,',
'362,362,362,362,362,,,,,,,,,,,,,,,,,,,,362,,,362,,,362,362,,,362,,,',
',,362,,,,,,,,362,,,,,362,362,362,362,,362,362,,,,362,362,,388,388,388',
',388,362,,362,388,388,,,,388,,388,388,388,388,388,388,388,,,,,,388,388',
'388,388,388,388,388,,,388,,,,,,,388,,,388,388,388,388,388,388,388,388',
',388,388,388,,388,388,388,388,388,,,,,,,,,,,,,,,,,,,,388,,,388,,,388',
'388,,,388,,,,,,388,,,,,,,,388,,,,,388,388,388,388,,388,388,,,,388,388',
',627,627,627,,627,388,,388,627,627,,,,627,,627,627,627,627,627,627,627',
',,,,,627,627,627,627,627,627,627,,,627,,,,,,,627,,,627,627,627,627,627',
'627,627,627,,627,627,627,,627,627,,,627,,,,,,,,,,,,,,,,,,,,627,,,627',
',,627,627,,,627,,,,,,,,,,,,,,,,,,,627,627,627,627,,627,627,,,,627,627',
',425,425,425,,425,627,,627,425,425,,,,425,,425,425,425,425,425,425,425',
',,,,,425,425,425,425,425,425,425,,,425,,,,,,,425,,,425,425,425,425,425',
'425,425,425,425,425,425,425,,425,425,425,425,425,,,,,,,,,,,,,,,,,,,',
'425,,,425,,,425,425,,,425,,425,,425,,425,,,,,,,,425,,,,,425,425,425',
'425,,425,425,,,,425,425,,427,427,427,,427,425,,425,427,427,,,,427,,427',
'427,427,427,427,427,427,,,,,,427,427,427,427,427,427,427,,,427,,,,,',
',427,,,427,427,427,427,427,427,427,427,,427,427,427,,427,427,427,427',
'427,,,,,,,,,,,,,,,,,,,,427,,,427,,,427,427,,,427,,,,,,427,,,,,,,,427',
',,,,427,427,427,427,,427,427,,,,427,427,,428,428,428,,428,427,,427,428',
'428,,,,428,,428,428,428,428,428,428,428,,,,,,428,428,428,428,428,428',
'428,,,428,,,,,,,428,,,428,428,428,428,428,428,428,428,,428,428,428,',
'428,428,428,428,428,,,,,,,,,,,,,,,,,,,,428,,,428,,,428,428,,,428,,,',
',,428,,,,,,,,428,,,,,428,428,428,428,,428,428,,,,428,428,,429,429,429',
',429,428,,428,429,429,,,,429,,429,429,429,429,429,429,429,,,,,,429,429',
'429,429,429,429,429,,,429,,,,,,,429,,,429,429,429,429,429,429,429,429',
',429,429,429,,429,429,429,429,429,,,,,,,,,,,,,,,,,,,,429,,,429,,,429',
'429,,,429,,,,,,429,,,,,,,,429,,,,,429,429,429,429,,429,429,,,,429,429',
',616,616,616,,616,429,,429,616,616,,,,616,,616,616,616,616,616,616,616',
',,,,,616,616,616,616,616,616,616,,,616,,,,,,,616,,,616,616,616,616,616',
'616,616,616,,616,616,616,,616,616,,,616,,,,,,,,,,,,,,,,,,,,616,,,616',
',,616,616,,,616,,,,,,,,,,,,,,,,,,,616,616,616,616,,616,616,,,,616,616',
',611,611,611,,611,616,,616,611,611,,,,611,,611,611,611,611,611,611,611',
',,,,,611,611,611,611,611,611,611,,,611,,,,,,,611,,,611,611,611,611,611',
'611,611,611,,611,611,611,,611,611,611,611,611,,,,,,,,,,,,,,,,,,,,611',
',,611,,,611,611,,,611,,,,,,611,,,,,,,,611,,,,,611,611,611,611,,611,611',
',,,611,611,,585,585,585,,585,611,,611,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,,584,584,584,,584,585,,585,584,584,,,,584,,584',
'584,584,584,584,584,584,,,,,,584,584,584,584,584,584,584,,,584,,,,,',
',584,,,584,584,584,584,584,584,584,584,,584,584,584,,584,584,584,584',
'584,,,,,,,,,,,,,,,,,,,,584,,,584,,,584,584,,,584,,,,,,584,,,,,,,,584',
',,,,584,584,584,584,,584,584,,,,584,584,,581,581,581,,581,584,,584,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,,580,580,580',
',580,581,,581,580,580,,,,580,,580,580,580,580,580,580,580,,,,,,580,580',
'580,580,580,580,580,,,580,,,,,,,580,,,580,580,580,580,580,580,580,580',
',580,580,580,,580,580,580,580,580,,,,,,,,,,,,,,,,,,,,580,,,580,,,580',
'580,,,580,,,,,,580,,,,,,,,580,,,,,580,580,580,580,,580,580,,,,580,580',
',576,576,576,,576,580,,580,576,576,,,,576,,576,576,576,576,576,576,576',
',,,,,576,576,576,576,576,576,576,,,576,,,,,,,576,,,576,576,576,576,576',
'576,576,576,,576,576,576,,576,576,576,576,576,,,,,,,,,,,,,,,,,,,,576',
',,576,,,576,576,,,576,,,,,,576,,,,,,,,576,,,,,576,576,576,576,,576,576',
',,,576,576,,575,575,575,,575,576,,576,575,575,,,,575,,575,575,575,575',
'575,575,575,,,,,,575,575,575,575,575,575,575,,,575,,,,,,,575,,,575,575',
'575,575,575,575,575,575,,575,575,575,,575,575,575,575,575,,,,,,,,,,',
',,,,,,,,,575,,,575,,,575,575,,,575,,,,,,575,,,,,,,,575,,,,,575,575,575',
'575,,575,575,,,,575,575,,574,574,574,,574,575,,575,574,574,,,,574,,574',
'574,574,574,574,574,574,,,,,,574,574,574,574,574,574,574,,,574,,,,,',
',574,,,574,574,574,574,574,574,574,574,574,574,574,574,,574,574,574',
'574,574,,,,,,,,,,,,,,,,,,,,574,,,574,,,574,574,,,574,,,,574,,574,,,',
',,,,574,,,,,574,574,574,574,,574,574,,,,574,574,,573,573,573,,573,574',
',574,573,573,,,,573,,573,573,573,573,573,573,573,,,,,,573,573,573,573',
'573,573,573,,,573,,,,,,,573,,,573,573,573,573,573,573,573,573,573,573',
'573,573,,573,573,573,573,573,,,,,,,,,,,,,,,,,,,,573,,,573,,,573,573',
',,573,,573,,573,,573,,,,,,,,573,,,,,573,573,573,573,,573,573,,,,573',
'573,,570,570,570,,570,573,,573,570,570,,,,570,,570,570,570,570,570,570',
'570,,,,,,570,570,570,570,570,570,570,,,570,,,,,,,570,,,570,570,570,570',
'570,570,570,570,,570,570,570,,570,570,570,570,570,,,,,,,,,,,,,,,,,,',
',570,,,570,,,570,570,,,570,,,,,,570,,,,,,,,570,,,,,570,570,570,570,',
'570,570,,,,570,570,,569,569,569,,569,570,,570,569,569,,,,569,,569,569',
'569,569,569,569,569,,,,,,569,569,569,569,569,569,569,,,569,,,,,,,569',
',,569,569,569,569,569,569,569,569,,569,569,569,,569,569,569,569,569',
',,,,,,,,,,,,,,,,,,,569,,,569,,,569,569,,,569,,569,,,,569,,,,,,,,569',
',,,,569,569,569,569,,569,569,,,,569,569,,540,540,540,,540,569,,569,540',
'540,,,,540,,540,540,540,540,540,540,540,,,,,,540,540,540,540,540,540',
'540,,,540,,,,,,,540,,,540,540,540,540,540,540,540,540,,540,540,540,',
'540,540,540,540,540,,,,,,,,,,,,,,,,,,,,540,,,540,,,540,540,,,540,,,',
',,540,,,,,,,,540,,,,,540,540,540,540,,540,540,,,,540,540,,537,537,537',
',537,540,,540,537,537,,,,537,,537,537,537,537,537,537,537,,,,,,537,537',
'537,537,537,537,537,,,537,,,,,,,537,,,537,537,537,537,537,537,537,537',
'537,537,537,537,,537,537,537,537,537,,,,,,,,,,,,,,,,,,,,537,,,537,,',
'537,537,,,537,,537,,537,,537,,,,,,,,537,,,,,537,537,537,537,,537,537',
',,,537,537,,470,470,470,,470,537,,537,470,470,,,,470,,470,470,470,470',
'470,470,470,,,,,,470,470,470,470,470,470,470,,,470,,,,,,,470,,,470,470',
'470,470,470,470,470,470,470,470,470,470,,470,470,470,470,470,,,,,,,',
',,,,,,,,,,,,470,,,470,,,470,470,,,470,,470,,470,,470,,,,,,,,470,,,,',
'470,470,470,470,,470,470,,,,470,470,,472,472,472,,472,470,,470,472,472',
',,,472,,472,472,472,472,472,472,472,,,,,,472,472,472,472,472,472,472',
',,472,,,,,,,472,,,472,472,472,472,472,472,472,472,472,472,472,472,,472',
'472,472,472,472,,,,,,,,,,,,,,,,,,,,472,,,472,,,472,472,,,472,,,,472',
',472,,,,,,,,472,,,,,472,472,472,472,,472,472,,,,472,472,,474,474,474',
',474,472,,472,474,474,,,,474,,474,474,474,474,474,474,474,,,,,,474,474',
'474,474,474,474,474,,,474,,,,,,,474,,,474,474,474,474,474,474,474,474',
',474,474,474,,474,474,474,474,474,,,,,,,,,,,,,,,,,,,,474,,,474,,,474',
'474,,,474,,,,,,474,,,,,,,,474,,,,,474,474,474,474,,474,474,,,,474,474',
',478,478,478,478,478,474,,474,478,478,,,,478,,478,478,478,478,478,478',
'478,,,,,,478,478,478,478,478,478,478,,,478,,,,,,478,478,,478,478,478',
'478,478,478,478,478,478,,478,478,478,,478,478,478,478,478,717,717,717',
'717,717,717,717,717,717,717,717,,717,717,,,717,717,,478,,,478,,,478',
'478,,,478,,478,717,,717,478,717,717,717,717,717,717,717,478,717,,,,478',
'478,478,478,,478,478,,,,478,478,,717,,,,478,478,,478,485,485,485,,485',
',,,485,485,,,,485,,485,485,485,485,485,485,485,,,,,,485,485,485,485',
'485,485,485,,,485,,,,,,,485,,,485,485,485,485,485,485,485,485,,485,485',
'485,,485,485,,,485,,,,,,,,,,,,,,,,,,,,485,,,485,,,485,485,,,485,,,,',
',,,,,,,,,,,,,,485,485,485,485,,485,485,,,,485,485,,487,487,487,,487',
'485,,485,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,487,487,487,487,,,,,,,,,,,,,,,,,,,,487,,,487,,,487',
'487,,,487,,487,,487,,487,,,,,,,,487,,,,,487,487,487,487,,487,487,,,',
'487,487,,527,527,527,,527,487,,487,527,527,,,,527,,527,527,527,527,527',
'527,527,,,,,,527,527,527,527,527,527,527,,,527,,,,,,,527,,,527,527,527',
'527,527,527,527,527,527,527,527,527,,527,527,527,527,527,,,,,,,,,,,',
',,,,,,,,527,,,527,,,527,527,,,527,,527,,527,,527,,,,,,,,527,,,,,527',
'527,527,527,,527,527,,,,527,527,,526,526,526,,526,527,,527,526,526,',
',,526,,526,526,526,526,526,526,526,,,,,,526,526,526,526,526,526,526',
',,526,,,,,,,526,,,526,526,526,526,526,526,526,526,,526,526,526,,526',
'526,526,526,526,,,,,,,,,,,,,,,,,,,,526,,,526,,,526,526,,,526,,526,,',
',526,,,,,,,,526,,,,,526,526,526,526,,526,526,,,,526,526,,494,494,494',
',494,526,,526,494,494,,,,494,,494,494,494,494,494,494,494,,,,,,494,494',
'494,494,494,494,494,,,494,,,,,,,494,,,494,494,494,494,494,494,494,494',
',494,494,494,,494,494,,,494,,,,,,,,,,,,,,,,,,,,494,,,494,,,494,494,',
',494,,,,,,,,,,,,,,,,,,,494,494,494,494,,494,494,,,,494,494,,497,497',
'497,,497,494,,494,497,497,,,,497,,497,497,497,497,497,497,497,,,,,,497',
'497,497,497,497,497,497,,,497,,,,,,,497,,,497,497,497,497,497,497,497',
'497,,497,497,497,,497,497,497,497,497,,,,,,,,,,,,,,,,,,,,497,,,497,',
',497,497,,,497,,,,,,497,,,,,,,,497,,,,,497,497,497,497,,497,497,,,,497',
'497,,498,498,498,,498,497,,497,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,,499,499,499,,499,498,,498,499,499,,,,499,,499,499',
'499,499,499,499,499,,,,,,499,499,499,499,499,499,499,,,499,,,,,,,499',
',,499,499,499,499,499,499,499,499,,499,499,499,,499,499,499,499,499',
',,,,,,,,,,,,,,,,,,,499,,,499,,,499,499,,,499,,,,,,499,,,,,,,,499,,,',
',499,499,499,499,,499,499,,,,499,499,,503,503,503,,503,499,,499,503',
'503,,,,503,,503,503,503,503,503,503,503,,,,,,503,503,503,503,503,503',
'503,,,503,,,,,,,503,,,503,503,503,503,503,503,503,503,,503,503,503,',
'503,503,503,503,503,,,,,,,,,,,,,,,,,,,,503,,,503,,,503,503,,,503,,,',
',,503,,,,,,,,503,,,,,503,503,503,503,,503,503,,,,503,503,,505,505,505',
',505,503,,503,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,,509,509,509,,509,505,,505,509,509,,,,509,,509,509,509,509,509,509',
'509,,,,,,509,509,509,509,509,509,509,,,509,,,,,,,509,,,509,509,509,509',
'509,509,509,509,509,509,509,509,,509,509,509,509,509,,,,,,,,,,,,,,,',
',,,,509,,,509,,,509,509,,,509,,509,,,,509,,,,,,,,509,,,,,509,509,509',
'509,,509,509,,,,509,509,,512,512,512,,512,509,,509,512,512,,,,512,,512',
'512,512,512,512,512,512,,,,,,512,512,512,512,512,512,512,,,512,,,,,',
',512,,,512,512,512,512,512,512,512,512,512,512,512,512,,512,512,512',
'512,512,714,714,714,714,714,714,714,714,714,714,714,,714,714,,,714,714',
',512,,,512,,,512,512,,,512,,,714,,714,512,714,714,714,714,714,714,714',
'512,714,,,,512,512,512,512,,512,512,,,,512,512,,714,26,,,,512,,512,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,,26,,26,26,26,26,26,26,26,460,26,26',
'26,,,,460,460,460,,,460,460,460,,460,26,26,,26,,26,,,,460,,,,,,,,,,460',
'460,,460,460,460,460,460,,,,,,,,,,,,,,,,,,,,,,,398,,,,,,,398,398,398',
',460,398,398,398,,398,,460,,,,,460,460,398,398,398,,,,,,,,,398,398,',
'398,398,398,398,398,,,460,,,,,,,,,,,,,,460,,,,,460,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,27,398,398,398,,,,27',
'27,27,,,27,27,27,,27,398,398,,398,,398,,,,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',
'457,27,,27,,,,457,457,457,,,457,457,457,,457,27,27,,27,,27,,,,457,,',
',,,,,,,457,457,,457,457,457,457,457,,,,,,423,423,,,423,,,,,,,,423,423',
',423,423,423,423,423,423,423,,,423,423,,,457,423,423,423,423,,,457,',
',423,,457,457,,,,,423,423,,423,423,423,423,423,423,423,423,423,423,423',
',,423,457,,,,,,,,,,,,,,457,,,,,457,379,379,379,379,379,379,379,379,379',
'379,379,379,379,379,379,379,379,379,379,379,379,379,379,379,,,,379,379',
'379,379,379,379,379,379,379,379,,,,,,379,379,379,379,379,379,379,379',
'379,,,379,,,,,,,,379,379,,379,379,379,379,379,379,379,,,379,379,,,,379',
'379,379,379,,,,,,,,,,,,,,379,379,,379,379,379,379,379,379,379,379,379',
'379,379,,,379,379,,,,,,,,,,,379,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,566,566,566,566,566,566,566,566,566,566,566',
'566,566,566,566,566,566,566,566,566,566,566,566,566,,,,566,566,566,566',
'566,566,566,566,566,566,,,,,,566,566,566,566,566,566,566,566,566,,,566',
',,,,,,,566,566,,566,566,566,566,566,566,566,,,566,566,,,,566,566,566',
'566,,,,,,,,,,,,,,566,566,,566,566,566,566,566,566,566,566,566,566,566',
',,566,566,,,,,,,,,,,566,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,692,692,692,692,692,692,692,692,692,692,692,692,692',
'692,692,692,692,692,692,692,692,692,692,692,,,,692,692,692,692,692,692',
'692,692,692,692,,,,,,692,692,692,692,692,692,692,692,692,,,692,,,,,',
',,692,692,,692,692,692,692,692,692,692,,,692,692,,,,692,692,692,692',
',,,,,,,,,,,,,692,692,,692,692,692,692,692,692,692,692,692,692,692,,',
'692,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68',
'68,68,,,,68,68,68,68,68,68,68,68,68,68,,,,,,68,68,68,68,68,68,68,68',
'68,68,68,68,,68,,,,,,68,68,,68,68,68,68,68,68,68,,,68,68,,,,68,68,68',
'68,,,,,,68,,,,,,,,68,68,,68,68,68,68,68,68,68,68,68,68,68,424,424,68',
',424,,,,,,,,424,424,,424,424,424,424,424,424,424,,,424,424,,,,424,424',
'424,424,,,,,,424,,,,,,,,424,424,,424,424,424,424,424,424,424,424,424',
'424,424,488,488,424,,488,,,,,,,,488,488,,488,488,488,488,488,488,488',
',,488,488,,,,488,488,488,488,,,,,,488,,,,,,,,488,488,,488,488,488,488',
'488,488,488,488,488,488,488,250,250,488,,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,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,489',
'489,251,,489,,,,,,,,489,489,,489,489,489,489,489,489,489,,,489,489,',
',,489,489,489,489,,,,,,489,,,,,,,,489,489,,489,489,489,489,489,489,489',
'489,489,489,489,500,500,489,,500,,,,,,,,500,500,,500,500,500,500,500',
'500,500,,,500,500,,,,500,500,500,500,,,,,,500,,,,,,,,500,500,,500,500',
'500,500,500,500,500,500,500,500,500,535,535,500,,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,501,501,535',
',501,,,,,,,,501,501,,501,501,501,501,501,501,501,,,501,501,,,,501,501',
'501,501,,,,,,501,,,,,,,,501,501,,501,501,501,501,501,501,501,501,501',
'501,501,529,529,501,,529,,,,,,,,529,529,,529,529,529,529,529,529,529',
',,529,529,,,,529,529,529,529,,,,,,529,,,,,,,,529,529,,529,529,529,529',
'529,529,529,529,529,529,529,536,536,529,,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,873,873,536,,873,,',
',,,,,873,873,,873,873,873,873,873,873,873,,,873,873,,,,873,873,873,873',
',,,,,873,,,,,,,,873,873,,873,873,873,873,873,873,873,873,873,873,873',
'910,910,873,,910,,,,,,,,910,910,,910,910,910,910,910,910,910,,,910,910',
',,,910,910,910,910,,,,,,910,,,,,,,,910,910,,910,910,910,910,910,910',
'910,910,910,910,910,202,202,910,,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,201,201,202,,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,528,528',
'201,,528,,,,,,,,528,528,,528,528,528,528,528,528,528,,,528,528,,,,528',
'528,528,528,,,,,,528,,,,,,,,528,528,,528,528,528,528,528,528,528,528',
'528,528,528,872,872,528,,872,,,,,,,,872,872,,872,872,872,872,872,872',
'872,,,872,872,,,,872,872,872,872,,,,,,872,,,,,,,,872,872,,872,872,872',
'872,872,872,872,872,872,872,872,,,872,712,712,712,712,712,712,712,712',
'712,712,712,,712,712,,,712,712,,,,,,,,,,,,,,,712,,712,,712,712,712,712',
'712,712,712,,712,,707,707,707,707,707,707,707,707,707,707,707,,707,707',
',712,707,707,,,,,,,,,,,,,,,707,,707,,707,707,707,707,707,707,707,,707',
',21,21,21,21,21,21,21,21,21,21,21,,21,21,,707,21,21,,,,,,,,,,,,,,,21',
',21,,21,21,21,21,21,21,21,,21,,455,455,455,455,455,455,455,455,455,455',
'455,,455,455,,21,455,455,,,,,,,,,,,,,,,455,,455,,455,455,455,455,455',
'455,455,,455,,628,628,628,628,628,628,628,628,628,628,628,,628,628,455',
'455,628,628,,,,,,,,,,,,,,,628,,628,,628,628,628,628,628,628,628,,628',
',410,410,410,410,410,410,410,410,410,410,410,,410,410,,628,410,410,',
',,,,,,,,,,,,,410,,410,,410,410,410,410,410,410,410,,410,,502,502,502',
'502,502,502,502,502,502,502,502,,502,502,,410,502,502,,,,,,,,,,,,,,',
'502,,502,,502,502,502,502,502,502,502,,502,,800,800,800,800,800,800',
'800,800,800,800,800,,800,800,,502,800,800,,,,,,,,,,,,,,,800,,800,,800',
'800,800,800,800,800,800,,800,,797,797,797,797,797,797,797,797,797,797',
'797,,797,797,,800,797,797,,,,,,,,,,,,,,,797,,797,,797,797,797,797,797',
'797,797,,797,,,,,,,,,,,,,,,,,797' ]
        racc_action_check = arr = ::Array.new(23297, 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 = [
   988,   891,   nil,   191,   nil,  4869,  1363,   713, 21557, 21309,
   711,   nil,   684,   823,  1382,   523,   663,   655,   nil,    -8,
  4994, 22893,   767,   nil,   409,   369, 20662, 20946,  5119,  5244,
  5369,   nil,  2363,  5494,  5619,   nil,   651,   456,   293,   719,
   674,  5752,  5877,  6002,   638,  1353,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,  3861,  4119,   nil,  6127,  6252,   120,   nil,
  6377,  6502,   nil,   nil,  6627,  6760,  6885,  7010, 21793,   nil,
   nil,   nil,   nil,   nil,   490,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   130,   nil,   nil,
   260,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   763,   nil,  7135,   nil,   nil,   nil,   nil,  7268,  7393,
  7518,  7643,  7768,  1988,   nil,   669,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   633,   nil,  2238,  7893,  8018,
  8143, 22633, 22573,  8268,  8393,  4744,  8518,  8643,  8768,   nil,
   nil,  1248,   343,   328,   657,   266,   503,   544,   nil,  9018,
  4244,   434,  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,
 21973, 22033,   374, 12518, 12643,   nil,   nil,   nil,   nil,   nil,
   nil,   nil, 12768,   nil,  6627,   nil,   245,   232,   nil, 12893,
   262, 13018,   nil, 13143,   nil,   nil,   356,  1488, 13393,   185,
  3733,   165,   125,    22, 13643,  3113,  1500,  1494,  1482,    68,
  1471,   nil,  1267,  1212,   130,   nil,   nil,   nil,  1221,   633,
  1180, 14151,   nil,   497,  1242,  1239,  1357,   nil,  1228,   nil,
 14401,  1277,  1272, 14526,   nil,    24,   273,  1105,  1085,   192,
  1109,   nil,   nil,   394,    48,    34, 15276, 15401,   412,  1179,
  1063,   163,    98,  1227,  1137,    56,  1160,   nil,   nil,   372,
   463,   174,   nil,   743,   nil,    55, 15776,   nil,   nil,   nil,
   582,   434,   505,   531,   413,   455,   467,   641,   408,   nil,
   649,   nil, 16026,   nil,   311,   202,   404,   394,    39,    61,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,  1067, 21185,
   nil,   nil,   nil,   nil,  1057,   nil,   952,   nil, 16151,   945,
   nil,  5619,   945,   nil,   938,   934,   555,   532, 20837,   nil,
   nil,   nil,   369,   603,   966,   nil,   nil,  3600,  3491,   nil,
 23031,   nil,   909,   nil,   nil,  3363,   nil,   nil,   nil,   nil,
   155,   nil,   940, 21053, 21853, 16401,   184, 16526, 16651, 16776,
  2488,  2238,   447,  1083,   934,   918,   910,   891,  4494,  4369,
  4244,  1988,  3994,  3549,  3238,  3113,  2988,  2863,  2613,  2113,
  2738,  1458,  1583,  4119,  2363, 22939,   299, 21055,   nil,   nil,
 20771,   nil,   nil,   820,   nil,   318,   103,   819,   nil,   nil,
 18651,   nil, 18776,   nil, 18901,   nil,   nil,   nil, 19026,  1113,
   818,   813,   nil,   nil,   809, 19159,   810, 19284, 21913, 22093,
  1229,   845,   nil,   nil, 19659,   790,   nil, 19784, 19909, 20034,
 22153, 22273, 23077, 20159,   791, 20284,   nil,   626,   nil, 20409,
   nil,   nil, 20534,   nil,   nil,   nil,   nil,  3455,  2113,   893,
   nil,  1863,   167,   122,   907,   921, 19534, 19409, 22693, 22333,
   135,   nil,   nil,  1368,   nil, 22213, 22393, 18526,   nil,   nil,
 18401,   534,   185,     0,  5507,   nil,   nil,   nil,   277,   nil,
   nil,   nil,  1221,   nil,   nil,   nil,   829,   nil,   nil,   526,
   nil,   nil,   819,   nil,   nil,   nil, 21433,   nil,   821, 18276,
 18151,   616,   858, 18026, 17901, 17776, 17651,   857,   nil,   nil,
 17526, 17401,   860,   nil, 17276, 17151,   nil,   nil,   224,   109,
     0,   494,   842,  3733,   853,   nil,   600,   nil,  2488,   nil,
   nil,   nil,   nil,   267,   nil,  2613,  3363,   nil,   872,   nil,
   915, 17026,   nil,   nil,  1613,    12, 16901,   883,   nil,   898,
   222,   255,   959,   435,  1247,   970,   932, 16276, 22985,  1003,
  1004,   270,  1064,   nil,  4369,   946,   990,   nil,   nil,   952,
   179,   nil,  1541,   nil,   953,   972,   977,   nil,   nil,   nil,
   nil,   nil,   nil,   990,   nil,   753,   nil,   nil,   nil,   nil,
  1076,   nil,   nil,  1086,   175,   nil,  1136,   nil,   nil,   nil,
   nil,  1150,   nil,   151,  1047,   156,    65,    89,   251, 15901,
   464,  1606,   nil,  1054,  4494,   383,   nil,   nil,  1173,   738,
  1916,   428, 21681,   nil,   nil,   nil,   nil,   nil,   nil,  1488,
   nil,   nil,   nil,   nil,   nil,  1054, 15651, 22847, 15526,   nil,
  1059,   nil, 22801,   nil, 20534,   nil,   nil, 19026,   nil, 13643,
   nil,  7135, 15151, 15026, 14901, 14776,   269, 14651,  1073,  1074,
  1077,   nil,  1118,  1100,   849,  1115,   nil,  1242,  1613,  1140,
  1253,   nil,   nil,  1148,   373,   nil,   nil,   nil,  1738,   nil,
   nil,   164, 14276,   nil,  1208,   nil,   112,  1176,  1291,   nil,
  1166,   nil,   nil,  1011, 14026,   nil,   878,   nil,  1190,   362,
   nil,  1224,   nil,   nil,  1342,   nil, 13901,    15,  2738,  2863,
   nil, 13776,  2988,   186,   123,   nil,   159,   nil,  3238,   nil,
   230,   117,   nil,   nil,   135,   122,   nil, 23169, 13518, 13268,
 23123,   916,   nil,  1041,   nil,   nil,   789,   nil,   292,   339,
   nil,   nil,   nil, 12393,   nil,   393,   nil,   nil,   nil,  3994,
  1016,   732,  1123,   474,  1141,   nil,   nil,   nil,   nil,   nil,
   429,   429,   450,   nil,   nil,   464,   466,   nil,   478,   nil,
   487,   724,   507,   908,   nil,   nil,   152,   nil,   655,   674,
   nil,   404,   nil,   nil,   695,   nil,   nil,  3825,   nil,   587,
   595,   608,   617,   nil,   618,   nil,   974,  1244,   695,   nil,
   745,  8893, 22753, 22453,  1250,  1238,  1113,   nil,  1666,   nil,
   nil,   666,   nil,  1414,   nil,   760,   nil,   nil,   nil,   370,
  1003,   655,  1363,   nil,   nil,   nil,   nil,   nil,   863,   nil,
  4619,  1791,   nil,   nil,  1385,   nil,  1136,   nil,   nil,   nil,
 22513,   nil,   nil,   692,   178,   140,   163,  1481,   716,   822,
   703,   705,   708,   709,   716,  1158,   720,   580,   636,   842,
   847,   732,   742,   746,   747,   790,   798,   124,   nil,   nil,
   nil,   886,   nil,   nil,   nil,  1033,   761,   nil,   nil,   nil,
   nil,  1261,   nil,   nil,   nil,   770,   997,  1188,   nil,   nil ]

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

clist = [
'119,119,312,392,207,359,504,14,525,124,124,632,14,265,265,265,283,314',
'6,571,414,122,122,6,689,103,279,211,281,310,518,521,471,13,462,211,211',
'211,13,14,288,288,810,774,114,196,612,667,670,300,647,106,282,508,511',
'534,463,515,729,495,119,14,102,833,732,13,812,211,211,2,771,211,333',
'343,343,643,609,647,609,387,266,266,266,888,837,411,612,13,210,323,323',
'365,778,323,297,297,369,263,274,275,600,324,325,602,598,328,833,891',
'315,327,14,779,106,605,606,211,211,211,211,14,14,6,550,329,557,560,297',
'297,297,731,377,6,679,107,863,898,13,323,323,323,323,345,349,398,404',
'13,13,684,612,373,374,375,376,788,926,543,544,692,857,733,471,603,379',
'338,195,1,809,641,827,888,516,756,747,777,909,647,249,875,876,609,609',
'840,378,456,465,265,466,256,260,946,833,895,457,460,408,252,259,261',
'812,636,757,808,837,671,14,211,211,211,751,956,211,211,211,211,211,211',
'363,384,364,726,366,367,559,647,368,830,694,14,592,699,13,371,863,831',
'417,418,419,420,265,265,282,517,321,617,730,318,744,265,791,682,389',
'738,626,13,361,336,389,538,317,566,211,211,360,859,545,313,385,390,639',
'211,322,409,413,326,279,,480,,491,279,,486,,,496,14,,14,,,619,288,14',
',,,479,,478,484,282,783,,,,282,266,947,288,852,785,13,,13,266,,15,702',
'13,,211,15,,464,106,,,,,,674,467,,211,211,477,,900,,,683,,507,,,297',
',,15,290,290,,,211,,323,323,,896,715,,,297,399,720,398,404,522,523,211',
'15,119,612,741,743,542,106,572,755,782,124,335,344,344,,,637,524,,,647',
'548,122,539,,,,,,,414,,,,609,,832,,835,,265,,,,,565,408,,,15,,,,,,,',
',15,15,622,,211,,,267,267,267,,,594,,622,,,,,,,860,37,861,,,,37,256',
'819,,,260,,,316,319,,638,,496,,622,,265,,,741,,496,622,,,408,37,286',
'286,14,,,421,,,688,288,408,211,,614,,,,,288,,,37,,,,,,211,13,265,15',
',331,347,347,347,,,408,265,,,14,920,408,14,,897,,631,,211,,15,,664,',
'937,666,468,,211,,297,211,,931,14,13,892,37,13,297,,389,119,,578,481',
'37,37,,912,583,124,577,323,668,668,,,582,,13,572,673,122,,685,211,211',
',399,,211,211,686,687,211,,749,15,,15,753,,496,290,15,704,,572,14,,',
',,745,,14,14,,,,290,737,578,,,578,288,754,739,740,599,320,793,601,13',
'786,,288,,,790,13,13,,14,,711,713,,,37,716,718,399,,413,,750,,,,,572',
'16,267,399,,,16,,13,572,267,37,,,,913,,,297,,,,,728,,119,,211,,297,',
'399,14,16,,,,14,,399,,586,,,,,,14,,323,,,,,,16,211,,13,,794,784,,13',
',,337,,765,37,,37,,13,787,286,37,854,,,792,,,,604,,14,,607,,,,286,,',
',14,,,815,822,615,,,16,,,618,,818,386,,13,16,16,,416,796,,,,,13,,211',
'578,14,14,583,,14,,,,,15,14,,,848,849,,290,851,,,323,,,,,290,13,13,297',
'622,13,,846,,,867,13,,,,,14,,693,,,,668,,15,,,15,765,870,473,842,475',
',476,,836,,930,838,,,13,,,,265,16,,15,,,,,412,408,,,698,,,,,,297,,,608',
'211,,16,,14,14,,,,,,862,,,864,,,918,919,,572,14,,,408,,,14,,14,13,13',
',746,928,765,15,765,640,,929,,,15,15,,,13,,,37,,,13,290,13,,286,,,16',
',16,,,290,286,16,,,,,15,,,,,,,,,568,,924,765,,921,,,922,37,923,,37,',
',,,,,,,710,,,,,,,932,,,933,,934,37,,,,765,,765,15,,,,,15,,,,,,,,,,15',
',765,,,,,,,,,,955,,,,,,,399,,,957,,,,610,,320,,613,,,37,,,844,,,15,37',
'37,,,,,,,,15,,286,,824,,,856,,,,,635,286,,,610,,,320,37,,,,,,,,,,15',
'15,,416,15,,,,,,15,,,,,,877,,,,,,,,,,887,,,,,,,,,344,,,,,37,15,,,16',
'37,705,,,,610,320,,,,37,,,,,,,,,,,,,,,,,,,,,,,,,,,,,16,,,16,742,,,,',
',37,,,15,15,,,,,,37,,,,820,16,,,,,15,,,,,,15,,15,,,,25,,,,,25,,,37,37',
',,37,,,,,,37,,25,,,,412,,,,25,25,25,,25,,,,,,16,,,,,347,,16,16,,,37',
',,,,25,,,795,,,25,25,,,25,,,,,,,,,,16,,,,759,761,762,,,,,,,,,,,,,,,',
',,,,,,,25,,37,37,,25,25,25,25,25,25,,839,,,,,,,37,,16,,,,37,16,37,,850',
',,,,,,16,,,,,,,,,,320,,,,,,,,,,,,,802,804,805,,,,,,,,,,,,,,16,38,,,',
',38,,,,16,,,,825,,,,,25,25,25,25,,,25,25,25,25,25,25,,,38,287,287,,',
',,16,16,25,,16,,,,,,16,,,,,38,,,,,,,,,,,332,348,348,348,,,,,,25,25,',
',,,16,,,25,,,879,880,,,882,884,,886,,,,,,25,,25,,38,,,25,,,,,,38,38',
'902,903,905,907,,908,,,,,,,,,,,,,,,25,,16,16,,,,,,,,,,25,25,,,,,16,',
',,,,16,,16,,,,,,25,,,,,,,,940,942,943,944,,,,,25,,,950,952,953,954,',
',,,,,,38,,,,,,,,,,,,,958,,959,,,,,,,,38,,,,,,,,,,,,,,,,,,,,,,,,,,25',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,38,,38,,,,287,38,,,,,,,,,,,,,,25,,287',
',,,,,,25,,,,,,,,,,,,,,,,25,,,,,,,,,,,,,,,25,,,25,,,,,,25,,,,,,,,,,25',
',,25,,,25,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,25,,,,25,25,,,25,,,,,,,',
',,,,,,25,,,,,,,25,25,,,,,,,,,,,,,,,,,,,,,,,,,218,,,25,,,,,264,264,264',
',,,,,,,,,,307,308,309,,,38,,,,,,,287,,,264,264,,,,,287,,,,,,25,,,,,25',
',,,,25,,,,,,,,38,,25,38,,,,,,,,25,,,,,,,,,,,,,,38,,,,,,,,,,,,,,,,25',
',,,,,,,,,25,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,38,25,25,,,25,,38,38,,,25',
',,,,,,287,,,,,,,,,,,287,,,264,391,264,,38,410,415,,,,25,,,,,,,,,,,218',
',,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446',
'447,448,449,450,451,452,453,454,455,,,,,38,264,264,,,38,,,25,,264,,25',
'25,,38,,264,,264,,264,,,,,,,,25,,,,,,25,,25,,,,,,,,,,,,,,,,,38,,,,502',
',,,,,38,,,,821,,,,,,,,,,,,,,,,,,,,,,,,,,38,38,,,38,,,,,,38,,,,,,,,,',
',,,,,,,,,,,,,,,348,,,,,,38,264,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,264',
',410,593,391,,,,,,,,,,,,,,38,38,,,,,,,,,,,,,,,,38,,,,,,38,,38,,264,',
'264,,264,,,,,,,,,,,,,264,,,,,,,,,,628,629,630,,,,,,264,,,,264,,,264',
',,,,,,,,,,,,,264,264,,,,,,,,,,264,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,264',
'707,,,264,264,712,714,,,,717,719,,,593,721,,,,,,,,,,,,,,,,,,,,,,,,,',
'264,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,264,,797,,,,,,,,,,,,,,712,714,719,717',
',800,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,264,,,,,,,,,,,,,,,,,264,,,',
',,,,,,,,,,,,,264,797,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,264' ]
        racc_goto_table = arr = ::Array.new(2703, 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 = [
'54,54,8,22,30,53,10,21,85,58,58,11,21,32,32,32,46,62,7,23,17,57,57,7',
'89,6,42,21,43,30,82,82,68,20,37,21,21,21,20,21,21,21,120,83,14,14,155',
'84,84,47,116,88,9,64,64,51,22,64,113,48,54,21,4,150,118,20,121,21,21',
'2,109,21,21,21,21,126,69,116,69,26,63,63,63,107,151,26,155,20,19,28',
'28,141,96,28,60,60,141,41,41,41,67,16,16,67,38,16,150,110,63,97,21,98',
'88,38,38,21,21,21,21,21,21,7,145,4,145,145,60,60,60,116,7,7,99,5,152',
'100,20,28,28,28,28,52,52,35,35,20,20,101,155,16,16,16,16,102,110,103',
'104,105,106,111,68,39,29,18,15,1,119,122,123,107,81,125,12,11,120,116',
'127,128,129,69,69,109,2,130,132,32,133,66,66,110,150,134,35,35,54,36',
'36,36,121,135,126,118,151,85,21,21,21,21,136,110,21,21,21,21,21,21,139',
'9,140,23,142,143,144,116,146,118,147,21,22,148,20,5,152,149,28,28,28',
'28,32,32,9,124,79,48,114,78,23,32,126,51,63,38,48,20,77,86,63,87,61',
'59,21,21,90,113,91,92,19,19,93,21,94,19,19,95,42,,43,,30,42,,43,,,46',
'21,,21,,,22,21,21,,,,7,,6,47,9,23,,,,9,63,83,21,84,23,20,,20,63,,24',
'145,20,,21,24,,41,88,,,,,,22,41,,21,21,4,,89,,,22,,28,,,60,,,24,24,24',
',,21,,28,28,,11,37,,,60,66,37,35,35,16,16,21,24,54,155,68,48,28,88,30',
'64,82,58,24,24,24,,,26,4,,,116,28,57,88,,,,,,,17,,,,69,,114,,114,,32',
',,,,14,54,,,24,,,,,,,,,24,24,35,,21,,,65,65,65,,,30,,35,,,,,,,114,49',
'114,,,,49,66,82,,,66,,,65,65,,62,,46,,35,,32,,,68,,46,35,,,54,49,49',
'49,21,,,44,,,8,21,54,21,,7,,,,,21,,,49,,,,,,21,20,32,24,,49,49,49,49',
',,54,32,,,21,114,54,21,,85,,28,,21,,24,,9,,23,9,44,,21,,60,21,,114,21',
'20,82,49,20,60,,63,54,,66,44,49,49,,10,66,58,36,28,88,88,,,36,,20,30',
'63,57,,16,21,21,,66,,21,21,88,88,21,,62,24,,24,62,,46,24,24,14,,30,21',
',,,,46,,21,21,,,,24,9,66,,,66,21,30,9,9,36,27,53,36,20,8,,21,,,8,20',
'20,,21,,19,19,,,49,19,19,66,,19,,9,,,,,30,25,65,66,,,25,,20,30,65,49',
',,,22,,,60,,,,,112,,54,,21,,60,,66,21,25,,,,21,,66,,44,,,,,,21,,28,',
',,,,25,21,,20,,9,16,,20,,,25,,108,49,,49,,20,88,49,49,8,,,88,,,,44,',
'21,,44,,,,49,,,,21,,,9,21,44,,,25,,,44,,9,27,,20,25,25,,27,19,,,,,20',
',21,66,21,21,66,,21,,,,,24,21,,,9,9,,24,9,,,28,,,,,24,20,20,60,35,20',
',16,,,21,20,,,,,21,,44,,,,88,,24,,,24,108,9,27,108,27,,27,,112,,8,112',
',,20,,,,32,25,,24,,,,,25,54,,,24,,,,,,60,,,65,21,,25,,21,21,,,,,,112',
',,112,,,9,9,,30,21,,,54,,,21,,21,20,20,,44,9,108,24,108,65,,9,,,24,24',
',,20,,,49,,,20,24,20,,49,,,25,,25,,,24,49,25,,,,,24,,,,,,,,,27,,108',
'108,,112,,,112,49,112,,49,,,,,,,,,65,,,,,,,112,,,112,,112,49,,,,108',
',108,24,,,,,24,,,,,,,,,,24,,108,,,,,,,,,,112,,,,,,,66,,,112,,,,27,,27',
',27,,,49,,,44,,,24,49,49,,,,,,,,24,,49,,24,,,44,,,,,27,49,,,27,,,27',
'49,,,,,,,,,,24,24,,27,24,,,,,,24,,,,,,44,,,,,,,,,,44,,,,,,,,,24,,,,',
'49,24,,,25,49,27,,,,27,27,,,,49,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,,25',
'27,,,,,,49,,,24,24,,,,,,49,,,,49,25,,,,,24,,,,,,24,,24,,,,40,,,,,40',
',,49,49,,,49,,,,,,49,,40,,,,25,,,,40,40,40,,40,,,,,,25,,,,,49,,25,25',
',,49,,,,,40,,,27,,,40,40,,,40,,,,,,,,,,25,,,,115,115,115,,,,,,,,,,,',
',,,,,,,,,,,40,,49,49,,40,40,40,40,40,40,,27,,,,,,,49,,25,,,,49,25,49',
',27,,,,,,,25,,,,,,,,,,27,,,,,,,,,,,,,115,115,115,,,,,,,,,,,,,,25,50',
',,,,50,,,,25,,,,25,,,,,40,40,40,40,,,40,40,40,40,40,40,,,50,50,50,,',
',,25,25,40,,25,,,,,,25,,,,,50,,,,,,,,,,,50,50,50,50,,,,,,40,40,,,,,25',
',,40,,,115,115,,,115,115,,115,,,,,,40,,40,,50,,,40,,,,,,50,50,115,115',
'115,115,,115,,,,,,,,,,,,,,,40,,25,25,,,,,,,,,,40,40,,,,,25,,,,,,25,',
'25,,,,,,40,,,,,,,,115,115,115,115,,,,,40,,,115,115,115,115,,,,,,,,50',
',,,,,,,,,,,,115,,115,,,,,,,,50,,,,,,,,,,,,,,,,,,,,,,,,,,40,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,50,,50,,,,50,50,,,,,,,,,,,,,,40,,50,,,,,,,40,',
',,,,,,,,,,,,,,40,,,,,,,,,,,,,,,40,,,40,,,,,,40,,,,,,,,,,40,,,40,,,40',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,40,40,,,,40,40,,,40,,,,,,,,,,,,,,40,',
',,,,,40,40,,,,,,,,,,,,,,,,,,,,,,,,,31,,,40,,,,,31,31,31,,,,,,,,,,,31',
'31,31,,,50,,,,,,,50,,,31,31,,,,,50,,,,,,40,,,,,40,,,,,40,,,,,,,,50,',
'40,50,,,,,,,,40,,,,,,,,,,,,,,50,,,,,,,,,,,,,,,,40,,,,,,,,,,40,,,,,,',
',,,,,,,,,,,,,,,,,,,,,40,50,40,40,,,40,,50,50,,,40,,,,,,,50,,,,,,,,,',
',50,,,31,31,31,,50,31,31,,,,40,,,,,,,,,,,31,,,31,31,31,31,31,31,31,31',
'31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,,,,,50,31,31,',
',50,,,40,,31,,40,40,,50,,31,,31,,31,,,,,,,,40,,,,,,40,,40,,,,,,,,,,',
',,,,,,50,,,,31,,,,,,50,,,,50,,,,,,,,,,,,,,,,,,,,,,,,,,50,50,,,50,,,',
',,50,,,,,,,,,,,,,,,,,,,,,,,,,50,,,,,,50,31,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,31,,31,31,31,,,,,,,,,,,,,,50,50,,,,,,,,,,,,,,,,50,,,,,,50',
',50,,31,,31,,31,,,,,,,,,,,,,31,,,,,,,,,,31,31,31,,,,,,31,,,,31,,,31',
',,,,,,,,,,,,,31,31,,,,,,,,,,31,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,31,31',
',,31,31,31,31,,,,31,31,,,31,31,,,,,,,,,,,,,,,,,,,,,,,,,,31,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,31,,31,,,,,,,,,,,,,,31,31,31,31,,31,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,31,,,,,,,,,,,,,,,,,31,,,,,,,,,,,,,,,,,31,31,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
'31' ]
        racc_goto_check = arr = ::Array.new(2703, 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,   165,    69,   nil,    59,   128,    22,    18,   -52,    20,
  -305,  -493,  -460,   nil,    36,   155,    41,  -184,    98,    68,
    33,     7,  -197,  -373,   316,   660,  -119,   571,    29,    48,
   -15,  1831,   -15,   nil,   nil,   -58,   170,  -218,  -352,  -300,
  1220,    69,    -6,    -4,   280,   nil,   -17,    15,  -242,   450,
  1399,  -286,    75,   -63,    -8,   nil,   nil,    13,     1,  -124,
    61,   202,   -39,    52,  -262,   407,   162,  -357,  -235,  -394,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   186,   188,   184,
   nil,  -152,  -294,  -621,  -475,  -321,   190,   -88,    48,  -520,
   194,   -96,   210,  -239,   211,   211,  -575,    46,  -559,  -399,
  -717,  -391,  -534,  -194,  -203,  -388,  -635,  -758,    72,  -585,
  -736,  -437,    86,  -538,  -352,   654,  -467,   nil,  -532,  -568,
  -692,  -668,  -350,  -588,   -81,  -470,  -442,   154,  -651,  -651,
   -65,   nil,   -73,   -72,  -660,  -306,  -428,   nil,   nil,   142,
   142,    12,   140,   140,  -145,  -242,   142,  -326,  -324,  -525,
  -695,  -676,  -669,   nil,   nil,  -426 ]

racc_goto_default = [
   nil,   nil,   nil,     3,   nil,     4,   330,   277,   nil,   311,
   nil,   775,   nil,   276,   nil,   nil,   nil,    11,    12,    18,
   217,   306,   nil,   nil,   215,   216,   nil,   270,    17,   nil,
   422,    21,    22,    23,    24,   625,   nil,   nil,   nil,   nil,
   294,   393,    31,   nil,   nil,    33,    36,    35,   nil,   212,
   213,   342,   nil,   121,   401,   120,   123,    72,    73,   nil,
    45,   nil,   633,   394,   nil,   395,   406,   579,   469,   268,
   254,    46,    47,    48,    49,    50,    51,    52,   nil,   255,
    58,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   519,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   767,   654,   nil,
   768,   nil,   644,   nil,   646,   nil,   834,   595,   nil,   nil,
   nil,   652,   nil,   nil,   nil,   nil,   691,   nil,   nil,   nil,
   nil,   405,   nil,   nil,   nil,   nil,   nil,    71,    74,    75,
   nil,   nil,   nil,   nil,   nil,   555,   nil,   nil,   nil,   645,
   656,   657,   736,   660,   663,   272 ]

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, 166, :_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,
  1, 144, :_reduce_none,
  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,
  3, 154, :_reduce_40,
  3, 154, :_reduce_41,
  1, 165, :_reduce_none,
  3, 165, :_reduce_43,
  3, 165, :_reduce_44,
  3, 165, :_reduce_45,
  2, 165, :_reduce_46,
  1, 165, :_reduce_none,
  1, 153, :_reduce_none,
  1, 156, :_reduce_none,
  1, 156, :_reduce_none,
  1, 170, :_reduce_none,
  4, 170, :_reduce_52,
  4, 170, :_reduce_53,
  0, 176, :_reduce_54,
  5, 174, :_reduce_55,
  2, 169, :_reduce_56,
  3, 169, :_reduce_57,
  4, 169, :_reduce_58,
  5, 169, :_reduce_59,
  4, 169, :_reduce_60,
  5, 169, :_reduce_61,
  2, 169, :_reduce_62,
  2, 169, :_reduce_63,
  2, 169, :_reduce_64,
  2, 169, :_reduce_65,
  2, 169, :_reduce_66,
  1, 155, :_reduce_67,
  3, 155, :_reduce_68,
  1, 180, :_reduce_69,
  3, 180, :_reduce_70,
  1, 179, :_reduce_none,
  2, 179, :_reduce_72,
  3, 179, :_reduce_73,
  5, 179, :_reduce_74,
  2, 179, :_reduce_75,
  4, 179, :_reduce_76,
  2, 179, :_reduce_77,
  4, 179, :_reduce_78,
  1, 179, :_reduce_79,
  3, 179, :_reduce_80,
  1, 183, :_reduce_none,
  3, 183, :_reduce_82,
  2, 182, :_reduce_83,
  3, 182, :_reduce_84,
  1, 185, :_reduce_85,
  3, 185, :_reduce_86,
  1, 184, :_reduce_87,
  1, 184, :_reduce_88,
  4, 184, :_reduce_89,
  3, 184, :_reduce_90,
  3, 184, :_reduce_91,
  3, 184, :_reduce_92,
  3, 184, :_reduce_93,
  2, 184, :_reduce_94,
  1, 184, :_reduce_95,
  1, 162, :_reduce_96,
  1, 162, :_reduce_97,
  4, 162, :_reduce_98,
  3, 162, :_reduce_99,
  3, 162, :_reduce_100,
  3, 162, :_reduce_101,
  3, 162, :_reduce_102,
  2, 162, :_reduce_103,
  1, 162, :_reduce_104,
  1, 188, :_reduce_105,
  1, 188, :_reduce_none,
  2, 189, :_reduce_107,
  1, 189, :_reduce_108,
  3, 189, :_reduce_109,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 190, :_reduce_none,
  1, 193, :_reduce_115,
  1, 193, :_reduce_none,
  1, 151, :_reduce_none,
  1, 151, :_reduce_none,
  1, 152, :_reduce_119,
  0, 196, :_reduce_120,
  4, 152, :_reduce_121,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 191, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  1, 192, :_reduce_none,
  3, 168, :_reduce_192,
  5, 168, :_reduce_193,
  3, 168, :_reduce_194,
  5, 168, :_reduce_195,
  6, 168, :_reduce_196,
  5, 168, :_reduce_197,
  5, 168, :_reduce_198,
  5, 168, :_reduce_199,
  5, 168, :_reduce_200,
  4, 168, :_reduce_201,
  3, 168, :_reduce_202,
  3, 168, :_reduce_203,
  3, 168, :_reduce_204,
  3, 168, :_reduce_205,
  3, 168, :_reduce_206,
  3, 168, :_reduce_207,
  3, 168, :_reduce_208,
  3, 168, :_reduce_209,
  3, 168, :_reduce_210,
  4, 168, :_reduce_211,
  4, 168, :_reduce_212,
  2, 168, :_reduce_213,
  2, 168, :_reduce_214,
  3, 168, :_reduce_215,
  3, 168, :_reduce_216,
  3, 168, :_reduce_217,
  3, 168, :_reduce_218,
  3, 168, :_reduce_219,
  3, 168, :_reduce_220,
  3, 168, :_reduce_221,
  3, 168, :_reduce_222,
  3, 168, :_reduce_223,
  3, 168, :_reduce_224,
  3, 168, :_reduce_225,
  3, 168, :_reduce_226,
  3, 168, :_reduce_227,
  2, 168, :_reduce_228,
  2, 168, :_reduce_229,
  3, 168, :_reduce_230,
  3, 168, :_reduce_231,
  3, 168, :_reduce_232,
  3, 168, :_reduce_233,
  3, 168, :_reduce_234,
  6, 168, :_reduce_235,
  1, 168, :_reduce_none,
  1, 164, :_reduce_none,
  1, 198, :_reduce_none,
  2, 198, :_reduce_none,
  4, 198, :_reduce_240,
  2, 198, :_reduce_241,
  3, 203, :_reduce_242,
  0, 204, :_reduce_243,
  1, 204, :_reduce_none,
  0, 159, :_reduce_245,
  1, 159, :_reduce_none,
  2, 159, :_reduce_none,
  4, 159, :_reduce_248,
  2, 159, :_reduce_249,
  1, 178, :_reduce_250,
  2, 178, :_reduce_251,
  2, 178, :_reduce_252,
  4, 178, :_reduce_253,
  1, 178, :_reduce_254,
  0, 207, :_reduce_255,
  2, 173, :_reduce_256,
  2, 206, :_reduce_257,
  2, 205, :_reduce_258,
  0, 205, :_reduce_259,
  1, 200, :_reduce_260,
  2, 200, :_reduce_261,
  3, 200, :_reduce_262,
  4, 200, :_reduce_263,
  3, 163, :_reduce_264,
  4, 163, :_reduce_265,
  2, 163, :_reduce_266,
  1, 197, :_reduce_none,
  1, 197, :_reduce_none,
  1, 197, :_reduce_none,
  1, 197, :_reduce_none,
  1, 197, :_reduce_none,
  1, 197, :_reduce_none,
  1, 197, :_reduce_none,
  1, 197, :_reduce_none,
  1, 197, :_reduce_275,
  3, 197, :_reduce_276,
  0, 229, :_reduce_277,
  0, 230, :_reduce_278,
  6, 197, :_reduce_279,
  3, 197, :_reduce_280,
  3, 197, :_reduce_281,
  2, 197, :_reduce_282,
  3, 197, :_reduce_283,
  3, 197, :_reduce_284,
  1, 197, :_reduce_285,
  4, 197, :_reduce_286,
  3, 197, :_reduce_287,
  1, 197, :_reduce_288,
  5, 197, :_reduce_289,
  4, 197, :_reduce_290,
  3, 197, :_reduce_291,
  2, 197, :_reduce_292,
  1, 197, :_reduce_none,
  2, 197, :_reduce_294,
  0, 231, :_reduce_295,
  3, 197, :_reduce_296,
  6, 197, :_reduce_297,
  6, 197, :_reduce_298,
  0, 232, :_reduce_299,
  0, 233, :_reduce_300,
  7, 197, :_reduce_301,
  0, 234, :_reduce_302,
  0, 235, :_reduce_303,
  7, 197, :_reduce_304,
  5, 197, :_reduce_305,
  4, 197, :_reduce_306,
  0, 236, :_reduce_307,
  0, 237, :_reduce_308,
  9, 197, :_reduce_309,
  0, 238, :_reduce_310,
  6, 197, :_reduce_311,
  0, 239, :_reduce_312,
  7, 197, :_reduce_313,
  0, 240, :_reduce_314,
  5, 197, :_reduce_315,
  0, 241, :_reduce_316,
  6, 197, :_reduce_317,
  0, 242, :_reduce_318,
  0, 243, :_reduce_319,
  9, 197, :_reduce_320,
  1, 197, :_reduce_321,
  1, 197, :_reduce_322,
  1, 197, :_reduce_323,
  1, 197, :_reduce_324,
  1, 158, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  2, 219, :_reduce_328,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 220, :_reduce_none,
  5, 220, :_reduce_332,
  1, 148, :_reduce_none,
  2, 148, :_reduce_334,
  1, 223, :_reduce_none,
  1, 223, :_reduce_none,
  1, 244, :_reduce_337,
  3, 244, :_reduce_338,
  1, 247, :_reduce_339,
  3, 247, :_reduce_340,
  1, 246, :_reduce_none,
  4, 246, :_reduce_342,
  6, 246, :_reduce_343,
  3, 246, :_reduce_344,
  5, 246, :_reduce_345,
  2, 246, :_reduce_346,
  4, 246, :_reduce_347,
  1, 246, :_reduce_348,
  3, 246, :_reduce_349,
  6, 248, :_reduce_350,
  8, 248, :_reduce_351,
  4, 248, :_reduce_352,
  6, 248, :_reduce_353,
  4, 248, :_reduce_354,
  2, 248, :_reduce_none,
  6, 248, :_reduce_356,
  2, 248, :_reduce_357,
  4, 248, :_reduce_358,
  6, 248, :_reduce_359,
  2, 248, :_reduce_360,
  4, 248, :_reduce_361,
  2, 248, :_reduce_362,
  4, 248, :_reduce_363,
  1, 248, :_reduce_364,
  0, 175, :_reduce_365,
  1, 175, :_reduce_366,
  3, 254, :_reduce_367,
  1, 254, :_reduce_368,
  4, 254, :_reduce_369,
  0, 255, :_reduce_370,
  2, 255, :_reduce_371,
  1, 256, :_reduce_372,
  3, 256, :_reduce_373,
  1, 257, :_reduce_374,
  1, 257, :_reduce_none,
  0, 261, :_reduce_376,
  0, 262, :_reduce_377,
  4, 218, :_reduce_378,
  4, 259, :_reduce_379,
  1, 259, :_reduce_380,
  0, 265, :_reduce_381,
  4, 260, :_reduce_382,
  0, 266, :_reduce_383,
  4, 260, :_reduce_384,
  0, 267, :_reduce_385,
  5, 264, :_reduce_386,
  2, 171, :_reduce_387,
  4, 171, :_reduce_388,
  4, 171, :_reduce_389,
  2, 217, :_reduce_390,
  4, 217, :_reduce_391,
  4, 217, :_reduce_392,
  3, 217, :_reduce_393,
  3, 217, :_reduce_394,
  3, 217, :_reduce_395,
  2, 217, :_reduce_396,
  1, 217, :_reduce_397,
  4, 217, :_reduce_398,
  0, 269, :_reduce_399,
  5, 216, :_reduce_400,
  0, 270, :_reduce_401,
  5, 216, :_reduce_402,
  5, 222, :_reduce_403,
  1, 271, :_reduce_404,
  1, 271, :_reduce_none,
  6, 147, :_reduce_406,
  0, 147, :_reduce_407,
  1, 272, :_reduce_408,
  1, 272, :_reduce_none,
  1, 272, :_reduce_none,
  2, 273, :_reduce_411,
  1, 273, :_reduce_none,
  2, 149, :_reduce_413,
  1, 149, :_reduce_none,
  1, 208, :_reduce_none,
  1, 208, :_reduce_none,
  1, 208, :_reduce_none,
  1, 209, :_reduce_418,
  1, 275, :_reduce_419,
  2, 275, :_reduce_420,
  3, 276, :_reduce_421,
  1, 276, :_reduce_422,
  1, 276, :_reduce_423,
  3, 210, :_reduce_424,
  4, 211, :_reduce_425,
  3, 212, :_reduce_426,
  0, 280, :_reduce_427,
  3, 280, :_reduce_428,
  1, 281, :_reduce_429,
  2, 281, :_reduce_430,
  3, 213, :_reduce_431,
  0, 283, :_reduce_432,
  3, 283, :_reduce_433,
  0, 277, :_reduce_434,
  2, 277, :_reduce_435,
  0, 278, :_reduce_436,
  2, 278, :_reduce_437,
  0, 279, :_reduce_438,
  2, 279, :_reduce_439,
  1, 282, :_reduce_440,
  2, 282, :_reduce_441,
  0, 285, :_reduce_442,
  4, 282, :_reduce_443,
  1, 284, :_reduce_444,
  1, 284, :_reduce_445,
  1, 284, :_reduce_446,
  1, 284, :_reduce_none,
  1, 194, :_reduce_448,
  3, 195, :_reduce_449,
  1, 274, :_reduce_450,
  1, 274, :_reduce_451,
  2, 274, :_reduce_452,
  2, 274, :_reduce_453,
  1, 186, :_reduce_454,
  1, 186, :_reduce_455,
  1, 186, :_reduce_456,
  1, 186, :_reduce_457,
  1, 186, :_reduce_458,
  1, 187, :_reduce_459,
  1, 187, :_reduce_460,
  1, 187, :_reduce_461,
  1, 187, :_reduce_462,
  1, 187, :_reduce_463,
  1, 187, :_reduce_464,
  1, 187, :_reduce_465,
  1, 214, :_reduce_466,
  1, 214, :_reduce_467,
  1, 157, :_reduce_468,
  1, 157, :_reduce_469,
  1, 161, :_reduce_470,
  1, 161, :_reduce_471,
  1, 224, :_reduce_472,
  3, 224, :_reduce_473,
  2, 224, :_reduce_474,
  3, 226, :_reduce_475,
  2, 226, :_reduce_476,
  6, 263, :_reduce_477,
  8, 263, :_reduce_478,
  4, 263, :_reduce_479,
  6, 263, :_reduce_480,
  4, 263, :_reduce_481,
  6, 263, :_reduce_482,
  2, 263, :_reduce_483,
  4, 263, :_reduce_484,
  6, 263, :_reduce_485,
  2, 263, :_reduce_486,
  4, 263, :_reduce_487,
  2, 263, :_reduce_488,
  4, 263, :_reduce_489,
  1, 263, :_reduce_490,
  0, 263, :_reduce_491,
  1, 258, :_reduce_492,
  1, 258, :_reduce_493,
  1, 258, :_reduce_494,
  1, 258, :_reduce_495,
  1, 245, :_reduce_none,
  1, 245, :_reduce_none,
  1, 287, :_reduce_498,
  3, 287, :_reduce_499,
  1, 249, :_reduce_500,
  3, 249, :_reduce_501,
  3, 288, :_reduce_502,
  3, 289, :_reduce_503,
  1, 250, :_reduce_504,
  3, 250, :_reduce_505,
  1, 286, :_reduce_506,
  3, 286, :_reduce_507,
  1, 290, :_reduce_none,
  1, 290, :_reduce_none,
  2, 251, :_reduce_510,
  1, 251, :_reduce_511,
  1, 291, :_reduce_none,
  1, 291, :_reduce_none,
  2, 253, :_reduce_514,
  2, 252, :_reduce_515,
  0, 252, :_reduce_516,
  1, 227, :_reduce_none,
  3, 227, :_reduce_518,
  0, 215, :_reduce_519,
  2, 215, :_reduce_none,
  1, 202, :_reduce_521,
  3, 202, :_reduce_522,
  3, 292, :_reduce_523,
  2, 292, :_reduce_524,
  1, 177, :_reduce_none,
  1, 177, :_reduce_none,
  1, 177, :_reduce_none,
  1, 172, :_reduce_none,
  1, 172, :_reduce_none,
  1, 172, :_reduce_none,
  1, 172, :_reduce_none,
  1, 268, :_reduce_none,
  1, 268, :_reduce_none,
  1, 268, :_reduce_none,
  1, 228, :_reduce_none,
  1, 228, :_reduce_none,
  0, 141, :_reduce_none,
  1, 141, :_reduce_none,
  0, 167, :_reduce_none,
  1, 167, :_reduce_none,
  2, 181, :_reduce_541,
  2, 160, :_reduce_542,
  0, 201, :_reduce_none,
  1, 201, :_reduce_none,
  1, 201, :_reduce_none,
  1, 225, :_reduce_546,
  1, 225, :_reduce_none,
  1, 143, :_reduce_none,
  2, 143, :_reduce_none,
  0, 199, :_reduce_550 ]

racc_reduce_n = 551

racc_shift_n = 960

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",
  "command_asgn",
  "mlhs",
  "command_call",
  "var_lhs",
  "primary_value",
  "opt_call_args",
  "rbracket",
  "backref",
  "lhs",
  "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",
  "user_variable",
  "keyword_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",
  "@4",
  "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",
  "@5",
  "@6",
  "@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",
  "@21",
  "f_args",
  "do_block",
  "@22",
  "@23",
  "@24",
  "operation3",
  "@25",
  "@26",
  "cases",
  "exc_list",
  "exc_var",
  "numeric",
  "string",
  "string1",
  "string_contents",
  "xstring_contents",
  "regexp_contents",
  "word_list",
  "word",
  "string_content",
  "qword_list",
  "string_dvar",
  "@27",
  "f_optarg",
  "f_arg_item",
  "f_opt",
  "f_block_opt",
  "restarg_mark",
  "blkarg_mark",
  "assoc" ]

Racc_debug_parser = false

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

# reduce 0 omitted

# reduce 1 omitted

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

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

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

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

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

# reduce 7 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 27 omitted

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

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

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

# reduce 42 omitted

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

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

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

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

# reduce 47 omitted

# reduce 48 omitted

# reduce 49 omitted

# reduce 50 omitted

# reduce 51 omitted

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

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

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

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

                      @static_env.unextend
                      @context.pop
                    
    result
end

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

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

                      begin_t, args, body, end_t = val[2]
                      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],
                                  nil, val[3], nil)
                    
    result
end

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

                      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.call_method(val[0], val[1], val[2],
                                  nil, val[3], nil)
                    
    result
end

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

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

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

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

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

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

def _reduce_66(val, _values, result)
                      result = @builder.keyword_cmd(:next, val[0],
                                  nil, val[1], nil)
                    
    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.begin(val[0], val[1], val[2])
                    
    result
end

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

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

# reduce 71 omitted

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

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

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

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

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

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

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

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

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

# reduce 81 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 106 omitted

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

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

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

# reduce 110 omitted

# reduce 111 omitted

# reduce 112 omitted

# reduce 113 omitted

# reduce 114 omitted

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

# reduce 116 omitted

# reduce 117 omitted

# reduce 118 omitted

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

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

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

# 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

# reduce 188 omitted

# reduce 189 omitted

# reduce 190 omitted

# reduce 191 omitted

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

def _reduce_193(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_194(val, _values, result)
                      result = @builder.op_assign(val[0], val[1], val[2])
                    
    result
end

def _reduce_195(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_196(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_197(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])
                    
    result
end

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

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

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

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

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

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

def _reduce_204(val, _values, result)
                      result = @builder.range_exclusive(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.binary_op(val[0], val[1], val[2])
                    
    result
end

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

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

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

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

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

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

def _reduce_214(val, _values, result)
                      result = @builder.unary_op(val[0], val[1])
                    
    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.binary_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.binary_op(val[0], val[1], val[2])
                    
    result
end

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

def _reduce_226(val, _values, result)
                      result = @builder.match_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.not_op(val[0], nil, val[1], nil)
                    
    result
end

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

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

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

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

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

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

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

# reduce 236 omitted

# reduce 237 omitted

# reduce 238 omitted

# reduce 239 omitted

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

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

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

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

# reduce 244 omitted

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

# reduce 246 omitted

# reduce 247 omitted

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

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

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

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

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

def _reduce_253(val, _values, result)
                      assocs = @builder.associate(nil, val[2], nil)
                      result = val[0] << assocs
                      result.concat(val[3])
                    
    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 = @builder.block_pass(val[0], val[1])
                    
    result
end

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

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

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

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

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

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

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

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

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

# reduce 267 omitted

# reduce 268 omitted

# reduce 269 omitted

# reduce 270 omitted

# reduce 271 omitted

# reduce 272 omitted

# reduce 273 omitted

# reduce 274 omitted

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

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

def _reduce_277(val, _values, result)
                      result = @lexer.cmdarg.dup
                      @lexer.cmdarg.clear
                    
    result
end

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

def _reduce_279(val, _values, result)
                      @lexer.cmdarg = val[1]

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

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

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

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

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

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

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

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

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

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

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

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

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

def _reduce_292(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 293 omitted

def _reduce_294(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_295(val, _values, result)
                      @context.push(:lambda)
                    
    result
end

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

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

def _reduce_297(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_298(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_299(val, _values, result)
                      @lexer.cond.push(true)
                    
    result
end

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

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

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

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

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

def _reduce_305(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_306(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_307(val, _values, result)
                      @lexer.cond.push(true)
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 325 omitted

# reduce 326 omitted

# reduce 327 omitted

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

# reduce 329 omitted

# reduce 330 omitted

# reduce 331 omitted

def _reduce_332(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 333 omitted

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

# reduce 335 omitted

# reduce 336 omitted

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

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

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

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

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

# reduce 341 omitted

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

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

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

                      result = val[0].
                                  push(@builder.restarg(val[2], val[3])).
                                  concat(val[5])
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 355 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 375 omitted

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

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

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

                      @static_env.unextend
                    
    result
end

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

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

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

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

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

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

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

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

                      @static_env.unextend
                      @context.pop
                    
    result
end

def _reduce_387(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_388(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_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[1]
                      result = @builder.call_method(nil, nil, val[0],
                                  lparen_t, args, rparen_t)
                    
    result
end

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

def _reduce_394(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_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[1]
                      result = @builder.keyword_cmd(:super, val[0],
                                  lparen_t, args, rparen_t)
                    
    result
end

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

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

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

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

                      @static_env.unextend
                      @context.pop
                    
    result
end

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

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

                      @static_env.unextend
                      @context.pop
                    
    result
end

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

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

# reduce 405 omitted

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

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

# reduce 409 omitted

# reduce 410 omitted

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

# reduce 412 omitted

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

# reduce 414 omitted

# reduce 415 omitted

# reduce 416 omitted

# reduce 417 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 447 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                      @lexer.state = :expr_value
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 496 omitted

# reduce 497 omitted

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

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

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

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

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

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

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

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

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

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

# reduce 508 omitted

# reduce 509 omitted

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

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

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

# reduce 512 omitted

# reduce 513 omitted

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

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

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

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

# reduce 517 omitted

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

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

# reduce 520 omitted

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

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

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

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

# reduce 525 omitted

# reduce 526 omitted

# reduce 527 omitted

# reduce 528 omitted

# reduce 529 omitted

# reduce 530 omitted

# reduce 531 omitted

# reduce 532 omitted

# reduce 533 omitted

# reduce 534 omitted

# reduce 535 omitted

# reduce 536 omitted

# reduce 537 omitted

# reduce 538 omitted

# reduce 539 omitted

# reduce 540 omitted

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

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

# reduce 543 omitted

# reduce 544 omitted

# reduce 545 omitted

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

# reduce 547 omitted

# reduce 548 omitted

# reduce 549 omitted

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

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

  end   # class Ruby19
  end   # module Parser
