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

require 'racc/parser.rb'


require 'parser'

Parser.check_for_encoding_support

module Parser
  class Ruby19 < Parser::Base


  def version
    19
  end

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

clist = [
'-450,5,66,67,68,9,54,-450,-450,-450,60,61,-450,-450,-450,64,-450,62',
'63,65,29,30,69,70,-450,258,-450,-450,-450,28,27,26,93,92,94,95,-450',
'-450,19,-450,-450,-450,-450,-450,8,44,7,10,97,96,98,87,53,89,88,90,563',
'91,99,100,542,85,86,41,42,40,-450,-450,-450,-450,-450,-450,-450,-450',
'-450,-450,-450,-450,-450,-450,101,208,-450,-450,-450,39,-450,-450,32',
'-96,-450,55,56,-450,-450,57,-450,34,-450,584,-450,43,-450,-450,-450',
'-450,-450,-450,-450,20,-450,257,-450,-97,84,76,79,80,209,81,82,656,-104',
'548,77,83,-450,-450,-450,-450,-453,-450,59,-450,78,-450,665,-453,-453',
'-453,-464,203,-453,-453,-453,688,-453,554,542,-90,113,555,542,250,-453',
'229,-453,-453,-453,-103,251,562,583,205,206,-99,-453,-453,688,-453,-453',
'-453,-453,-453,105,542,542,-99,-101,104,-101,105,205,206,-95,-98,104',
'226,105,-96,-104,228,227,104,-87,-98,-453,-453,-453,-453,-453,-453,-453',
'-453,-453,-453,-453,-453,-453,-453,619,197,-453,-453,-453,-90,-453,-453',
'-88,198,-453,-100,-92,-453,-453,-465,-453,-95,-453,199,-453,688,-453',
'-453,-453,-453,-453,-453,-453,-281,-453,664,-453,204,618,105,-281,-281',
'-281,619,104,-90,-281,-281,-90,-281,-453,-453,-453,-453,-90,-453,105',
'-453,-94,-453,105,104,105,799,-90,104,105,104,-97,-281,-281,104,-281',
'-281,-281,-281,-281,618,248,-92,258,-100,-92,105,105,-99,-101,-102,104',
'104,-99,-101,-524,-98,-89,304,305,302,-98,-281,-281,-281,-281,-281,-281',
'-281,-281,-281,-281,-281,-281,-281,-281,205,206,-281,-281,-281,-92,602',
'-464,-92,303,-281,428,105,-281,-92,498,-100,104,-281,209,-281,-100,-281',
'-281,-281,-281,-281,-281,-281,-528,-281,253,-281,-524,205,206,-528,-528',
'-528,-525,205,206,-528,-528,741,-528,-281,-281,619,-93,-87,-281,258',
'257,-528,-102,-96,619,-394,511,-104,-82,510,371,-103,-528,-528,-68,-528',
'-528,-528,-528,-528,-91,679,384,526,525,524,-93,527,679,618,526,525',
'524,427,527,429,105,209,618,430,-99,104,-528,-528,-528,-528,-528,-528',
'-528,-528,-528,-528,-528,-528,-528,-528,208,-394,-528,-528,-528,573',
'603,253,-394,-450,-528,742,462,-528,817,209,-450,-394,-528,-465,-528',
'209,-528,-528,-528,-528,-528,-528,-528,257,-528,-528,-528,573,498,-394',
'471,-453,473,-521,-522,-460,475,790,-453,-528,-528,-528,-460,-91,897',
'-528,-528,-528,-528,-100,-67,-528,-528,-528,-101,-528,-88,-98,493,494',
'575,574,-97,-459,-528,-528,-528,-528,381,720,-459,-94,-528,383,382,-528',
'-528,-103,-528,-528,-528,-528,-528,209,511,-450,-453,513,575,574,571',
'573,-450,-453,573,105,-461,-521,-522,573,104,-450,-453,-461,483,-528',
'-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-521',
'-522,-528,-528,-528,-528,743,-528,573,484,-528,597,-528,-528,-528,-528',
'-528,-524,-528,491,-528,-528,-528,-528,-528,-528,-528,-528,-528,262',
'-528,-528,-528,575,574,576,575,574,578,-528,209,575,574,580,253,598',
'-528,-528,-528,-528,-281,-528,495,-528,-90,-100,727,-281,-281,-281,-99',
'499,-281,-281,-281,500,-281,-528,201,575,574,585,229,-458,-528,202,-281',
'-281,-281,-524,-458,229,511,-528,200,513,-281,-281,-92,-281,-281,-281',
'-281,-281,-101,-455,-324,205,206,-89,-456,-528,-455,-324,226,-98,-457',
'-456,228,227,224,225,-324,-457,205,206,-281,-281,-281,-281,-281,-281',
'-281,-281,-281,-281,-281,-281,-281,-281,76,424,-281,-281,-281,-462,744',
'-281,425,77,-281,506,-462,-281,-281,507,-281,426,-281,78,-281,-462,-281',
'-281,-281,-281,-281,-281,-281,514,-281,229,-281,515,529,568,526,525',
'524,105,527,475,569,548,104,105,-281,-281,-281,-281,104,-281,373,-281',
'552,-102,278,66,67,68,9,54,553,226,105,60,61,228,227,104,64,531,62,63',
'65,29,30,69,70,586,535,534,538,537,28,27,26,93,92,94,95,714,715,19,589',
'716,99,100,607,8,44,-260,10,97,96,98,87,53,89,88,90,591,91,99,100,209',
'85,86,41,42,40,229,233,238,239,240,235,237,245,246,241,242,-463,222',
'223,489,595,243,244,-463,39,511,490,280,513,596,55,56,-463,253,57,488',
'34,226,606,232,43,228,227,224,225,236,234,230,20,231,794,656,609,84',
'76,79,80,229,81,82,229,229,-274,77,83,229,247,-275,-237,-274,229,59',
'209,78,-275,-275,-275,209,-274,-275,-275,-275,754,-275,526,525,524,209',
'527,794,656,-82,226,-275,-275,-275,228,227,224,225,638,209,504,-275',
'-275,649,-275,-275,-275,-275,-275,679,656,526,525,524,501,527,679,531',
'526,525,524,502,527,667,669,672,535,534,538,537,426,-275,-275,-275,-275',
'-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,673,675,-275,-275',
'-275,550,681,-275,675,682,-275,684,551,-275,-275,753,-275,678,-275,548',
'-275,549,-275,-275,-275,-275,-275,-275,-275,558,-275,691,-275,719,-282',
'722,557,-261,728,462,462,-282,209,746,473,559,-275,-275,-275,-275,-282',
'-275,475,-275,278,66,67,68,9,54,649,209,-282,60,61,253,253,649,64,-282',
'62,63,65,29,30,69,70,229,-282,229,767,-260,28,27,26,93,92,94,95,771',
'829,19,526,525,524,209,527,8,44,753,10,97,96,98,87,53,89,88,90,788,91',
'99,100,209,85,86,41,42,40,679,656,526,525,524,798,527,209,679,209,526',
'525,524,807,527,-262,816,819,821,39,824,825,32,753,831,55,56,832,834',
'57,679,34,526,525,524,43,527,675,529,835,526,525,524,20,527,531,678',
'649,84,76,79,80,844,81,82,845,538,537,77,83,5,66,67,68,9,54,59,675,78',
'60,61,846,209,848,64,531,62,63,65,29,30,69,70,851,535,534,538,537,28',
'27,26,93,92,94,95,853,829,19,526,525,524,855,527,8,44,7,10,97,96,98',
'87,53,89,88,90,855,91,99,100,209,85,86,41,42,40,679,860,526,525,524',
'862,527,864,679,870,526,525,524,872,527,209,875,-263,882,39,883,886',
'32,891,899,55,56,901,902,57,679,34,526,525,524,43,527,675,529,907,526',
'525,524,20,527,531,859,909,84,76,79,80,912,81,82,914,538,537,77,83,278',
'66,67,68,9,54,59,675,78,60,61,855,855,919,64,531,62,63,65,29,30,69,70',
'506,535,534,538,537,28,27,26,93,92,94,95,927,855,19,108,109,110,111',
'112,8,44,855,10,97,96,98,87,53,89,88,90,855,91,99,100,931,85,86,41,42',
'40,679,899,526,525,524,209,527,899,679,946,526,525,524,947,527,949,855',
'855,855,39,-525,-524,32,855,899,55,56,855,,57,679,34,526,525,524,43',
'527,675,529,-462,526,525,524,20,527,531,-462,,84,76,79,80,,81,82,-462',
'538,537,77,83,278,66,67,68,9,54,59,675,78,60,61,,,,64,531,62,63,65,29',
'30,69,70,,535,534,538,537,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,,,-463',
'108,109,110,111,112,679,-463,526,525,524,,527,,-281,889,-463,39,-274',
',32,-281,890,55,56,-274,-525,57,558,34,-281,888,,43,-274,918,754,,526',
'525,524,20,527,531,559,,84,76,79,80,,81,82,,538,537,77,83,278,66,67',
'68,9,54,59,,78,60,61,,,,64,531,62,63,65,29,30,69,70,,535,534,538,537',
'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,,,-282,,,,,,679,-282,526,525,524',
',527,,-281,,-282,39,,,280,-281,,55,56,,-525,57,,34,-281,,,43,,,754,',
'526,525,524,20,527,531,,,84,76,79,80,,81,82,,538,537,77,83,278,66,67',
'68,9,54,59,,78,60,61,,,,64,531,62,63,65,29,30,69,70,,535,534,538,537',
'28,27,26,93,92,94,95,,,19,,,,,592,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',
'-281,222,223,,,243,244,-281,39,,,280,-525,,55,56,-281,,57,,34,226,,232',
'43,228,227,224,225,236,234,230,20,231,,,,84,76,79,80,,81,82,,,,77,83',
',247,-529,,,,59,,78,-529,-529,-529,,,-529,-529,-529,529,-529,526,525',
'524,,527,,,,-529,-529,-529,-529,,,,,,,,-529,-529,,-529,-529,-529,-529',
'-529,,,,,,,,,531,518,,,,,,,,535,534,538,537,,-529,-529,-529,-529,-529',
'-529,-529,-529,-529,-529,-529,-529,-529,-529,,,-529,-529,-529,,,-529',
',,-529,,,-529,-529,,-529,,-529,,-529,,-529,-529,-529,-529,-529,-529',
'-529,-530,-529,-529,-529,,,,-530,-530,-530,,,-530,-530,-530,229,-530',
'-529,-529,-529,-529,,-529,,-529,-530,-530,-530,-530,,,243,244,,,,-530',
'-530,,-530,-530,-530,-530,-530,,,,226,,232,,228,227,224,225,,,230,,231',
',,,,,,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530',
'-530,,,-530,-530,-530,,,-530,,,-530,,,-530,-530,,-530,,-530,,-530,,-530',
'-530,-530,-530,-530,-530,-530,,-530,-530,-530,,,,,,,,,,,,,,-530,-530',
'-530,-530,,-530,,-530,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,,,,,,,,,679,,526,525,524,,527,,',
',,39,,,32,,,55,56,,,57,,34,,,,43,,,529,,526,525,524,20,527,531,,,84',
'76,79,80,,81,82,,538,537,77,83,278,66,67,68,9,54,59,,78,60,61,,,,64',
'531,62,63,65,29,30,69,70,,535,534,538,537,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,,,',
',,,,,679,,526,525,524,,527,,,,,39,,,32,,,55,56,,,57,,34,,,,43,,,754',
',526,525,524,20,527,531,,,84,76,79,80,,81,82,,538,537,77,83,278,66,67',
'68,9,54,59,,78,60,61,,,,64,531,62,63,65,29,30,69,70,,535,534,538,537',
'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,,,,,,,,679,,526,525,524,,527,,,,,,39,,,32,,,55',
'56,,,57,,34,,,,43,679,,526,525,524,,527,20,531,,,,84,76,79,80,,81,82',
'538,537,,77,83,278,66,67,68,9,54,59,,78,60,61,,,531,64,,62,63,65,29',
'30,69,70,,538,537,,,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,,-547,-547,,,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,,-547',
'-547,,,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,-547,-547,-547,-547,235,237,,,-547,-547,,,,,,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,,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,,,,,,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,-547,-547,-547,-547',
'235,237,,,-547,-547,,,,,,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,-547,-547,-547,-547,235,237,,,-547,-547,,,,,,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,-547,-547',
'-547,-547,235,237,,,-547,-547,,,,,,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,-547,-547,-547,-547,235,237,,,-547,-547',
',,,,,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',
'-547,-547,-547,-547,235,237,,,-547,-547,,,,,,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,,,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,233,238,239,240,235,237,245,,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,,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,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,,,,,,,,,,,,,,,,,,,,39,,,32,,,55,56',
',,57,,34,,,,43,,,,,,,,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,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,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,,529,299,526,525,524,,527,,,,,,,,,,,,,,,289,,,285,,,55,56,,,57,,284',
',,,531,709,,,,,,,,535,534,538,537,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,,,,,607,,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,,529,299,526,525',
'524,,527,,,,,,,,,,,,,,,335,,,32,,,55,56,,,57,,34,,,,531,709,,,,,,,,535',
'534,538,537,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,340,53,89,88,341,,91,99,100,,85,86,,,299,,,,,,,,,,',
',,,,,,347,,,342,,,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,340,53,89,88',
'341,,91,99,100,,85,86,,,299,,,,,,,,,,,,,,,,,,,,342,,,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,,,,373,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,,389,,,,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,,389,',
',,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,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,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,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,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,,,,,,,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,,486,,',
'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,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,504,,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,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,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,273,91,99,100,,85,86,41,42,40,,,,,,',
',,,,,,,,,,,,,214,,,220,,,55,56,,,57,,633,,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,209,247,,,,373,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,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,,389,,,,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,,633',
',,,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,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,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,,,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,,725,,,,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,,633,,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',
'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,,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',
',,,,,,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,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,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,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,,,,,,,,,,,,,,,,,,,,841,,,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,,,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,,633,,,,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,,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,,,,,,,,,,,,,,,,,,,,885,,,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,229',
'233,238,239,240,235,237,245,246,241,242,,222,223,,,243,244,,214,,,220',
',,55,56,,,57,,271,226,269,232,43,228,227,224,225,236,234,230,219,231',
',,,84,76,79,80,,81,82,,,,77,83,,247,-393,,,,59,,78,-393,-393,-393,,',
'-393,-393,-393,,-393,,,,,,,,,-393,-393,-393,,,,,,,,,-393,-393,,-393',
'-393,-393,-393,-393,,,,,,,,,,,,,,,,,,,,,,,-393,-393,-393,-393,-393,-393',
'-393,-393,-393,-393,-393,-393,-393,-393,,,-393,-393,-393,,,-393,,253',
'-393,,,-393,-393,,-393,,-393,,-393,,-393,-393,-393,-393,-393,-393,-393',
'-288,-393,-393,-393,,,,-288,-288,-288,,,-288,-288,-288,,-288,-393,-393',
',-393,,-393,,,,-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,-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,-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,,,,,253,-243,-243,-243,,-243,-243',
'-243,-243,-243,,,,,,397,401,,,398,,,,-243,,,,149,150,,146,128,129,130',
'137,134,136,-243,,131,132,,-243,-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,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,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,358,357,359,356,160,179,178,,,,,,159,166,157,158,353,354,355',
'351,118,89,88,352,,91,,,,,,149,150,,146,128,129,130,137,134,136,,,131',
'132,,,,151,152,138,139,,,,,,363,,,,,,,,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',
'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,404,408,153,,403,,,,,,,,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,459,401,153,,460,,,,,,,,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,459,401,153,,460,,,,,,,,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,610,401',
'153,,611,,,,,,,,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,612,408,153,,613,,,,,,,,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,642,401,153,,643,,,,,,,,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,645,408,153,,646',
',,,,,,,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,610,401,153,,611,,,,,,,,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,612,408,153,,613,,,,,,,,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,694,401,153,,695,,,,,,',
',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',
'696,408,153,,697,,,,,,,,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,699,408,153,,700,,,,,,,,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,459,401,153,,460,,,,,,,,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,922,401',
'153,,923,,,,,,,,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,924,408,153,,925,,,,,,,,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,941,408,153,,940,,,,,,,,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,,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(23286, 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 = [
'87,0,0,0,0,0,0,87,87,87,0,0,87,87,87,0,87,0,0,0,0,0,0,0,87,58,87,87',
'87,0,0,0,0,0,0,0,87,87,0,87,87,87,87,87,0,0,0,0,0,0,0,0,0,0,0,0,346',
'0,0,0,325,0,0,0,0,0,87,87,87,87,87,87,87,87,87,87,87,87,87,87,1,19,87',
'87,87,0,87,87,0,332,87,0,0,87,87,0,87,0,87,369,87,0,87,87,87,87,87,87',
'87,0,87,58,87,333,0,0,0,0,19,0,0,868,336,868,0,0,87,87,87,87,90,87,0',
'87,0,87,517,90,90,90,212,15,90,90,90,544,90,342,326,642,7,342,692,24',
'90,433,90,90,90,552,24,346,369,17,17,694,90,90,545,90,90,90,90,90,325',
'770,863,922,923,325,695,346,564,564,15,942,346,433,3,212,15,433,433',
'3,332,801,90,90,90,90,90,90,90,90,90,90,90,90,90,90,457,10,90,90,90',
'642,90,90,333,12,90,924,643,90,90,213,90,336,90,13,90,802,90,90,90,90',
'90,90,90,403,90,517,90,16,457,544,403,403,403,466,544,642,403,403,642',
'403,90,90,90,90,642,90,326,90,552,90,692,326,545,692,694,692,564,545',
'213,403,403,564,403,403,403,403,403,466,22,695,25,696,643,770,863,922',
'923,697,770,863,922,923,924,942,801,40,40,36,942,403,403,403,403,403',
'403,403,403,403,403,403,403,403,403,421,421,403,403,403,643,403,37,643',
'39,403,215,802,403,643,427,924,802,403,44,403,924,403,403,403,403,403',
'403,403,404,403,25,403,696,570,570,404,404,404,697,653,653,404,404,610',
'404,403,403,467,403,37,403,294,25,404,403,37,625,763,315,215,637,315',
'101,427,404,404,637,404,404,404,404,404,696,678,195,678,678,678,697',
'678,859,467,859,859,859,214,859,216,276,421,625,217,610,276,404,404',
'404,404,404,404,404,404,404,404,404,404,404,404,221,763,404,404,404',
'581,404,294,763,351,404,611,252,404,745,570,351,763,404,38,404,653,404',
'404,404,404,404,404,404,294,404,404,404,365,303,763,266,352,267,340',
'341,353,270,678,352,612,404,404,353,404,859,404,612,612,612,404,279',
'612,612,612,611,612,38,745,299,299,581,581,38,354,612,612,612,612,115',
'581,354,303,645,115,115,612,612,303,612,612,612,612,612,281,316,340',
'341,316,365,365,365,366,340,341,367,329,355,340,341,368,329,340,341',
'355,282,612,612,612,612,612,612,612,612,612,612,612,612,612,612,340',
'341,612,612,612,645,612,612,370,283,612,397,645,612,612,699,612,645',
'612,289,612,645,612,612,612,612,612,612,612,292,612,612,612,366,366',
'366,367,367,367,645,293,368,368,368,298,398,612,612,612,612,613,612',
'300,612,397,612,593,613,613,613,397,304,613,613,613,305,613,699,14,370',
'370,370,452,356,699,14,613,613,613,699,356,308,319,699,14,319,613,613',
'398,613,613,613,613,613,398,357,45,324,324,593,358,699,357,45,452,593',
'359,358,452,452,452,452,45,359,508,508,613,613,613,613,613,613,613,613',
'613,613,613,613,613,613,74,211,613,613,613,286,613,613,211,74,613,311',
'286,613,613,312,613,211,613,74,613,286,613,613,613,613,613,613,613,317',
'613,434,613,318,518,361,518,518,518,563,518,320,361,330,563,704,613',
'613,613,613,704,613,331,613,335,613,32,32,32,32,32,32,337,434,710,32',
'32,434,434,710,32,518,32,32,32,32,32,32,32,379,518,518,518,518,32,32',
'32,32,32,32,32,574,574,32,385,574,574,574,416,32,32,387,32,32,32,32',
'32,32,32,32,32,390,32,32,32,393,32,32,32,32,32,416,416,416,416,416,416',
'416,416,416,416,416,287,416,416,288,395,416,416,287,32,662,288,32,662',
'396,32,32,287,405,32,288,32,416,413,416,32,416,416,416,416,416,416,416',
'32,416,683,683,423,32,32,32,32,435,32,32,453,436,290,32,32,437,416,53',
'416,290,438,32,464,32,53,53,53,468,290,53,53,53,618,53,618,618,618,481',
'618,933,933,482,453,53,53,53,453,453,453,453,485,487,492,53,53,496,53',
'53,53,53,53,790,505,790,790,790,306,790,531,618,531,531,531,306,531',
'520,521,522,618,618,618,618,306,53,53,53,53,53,53,53,53,53,53,53,53',
'53,53,529,790,53,53,53,334,536,53,531,539,53,541,334,53,53,618,53,531',
'53,546,53,334,53,53,53,53,53,53,53,344,53,547,53,578,491,584,344,590',
'594,599,604,491,614,616,630,344,53,53,53,53,491,53,632,53,54,54,54,54',
'54,54,639,641,555,54,54,644,647,648,54,555,54,54,54,54,54,54,54,651',
'555,652,654,657,54,54,54,54,54,54,54,658,753,54,753,753,753,661,753',
'54,54,666,54,54,54,54,54,54,54,54,54,677,54,54,54,680,54,54,54,54,54',
'675,685,675,675,675,690,675,693,672,702,672,672,672,707,672,724,729',
'747,748,54,749,751,54,752,754,54,54,756,758,54,860,54,860,860,860,54',
'860,675,667,759,667,667,667,54,667,672,675,762,54,54,54,54,773,54,54',
'775,672,672,54,54,113,113,113,113,113,113,54,860,54,113,113,776,777',
'778,113,667,113,113,113,113,113,113,113,779,667,667,667,667,113,113',
'113,113,113,113,113,782,883,113,883,883,883,783,883,113,113,113,113',
'113,113,113,113,113,113,113,113,785,113,113,113,787,113,113,113,113',
'113,788,789,788,788,788,792,788,795,824,804,824,824,824,808,824,809',
'812,813,826,113,827,833,113,841,861,113,113,865,866,113,897,113,897',
'897,897,113,897,788,669,871,669,669,669,113,669,824,788,876,113,113',
'113,113,877,113,113,878,824,824,113,113,197,197,197,197,197,197,113',
'897,113,197,197,879,881,885,197,669,197,197,197,197,197,197,197,887',
'669,669,669,669,197,197,197,197,197,197,197,892,893,197,6,6,6,6,6,197',
'197,894,197,197,197,197,197,197,197,197,197,895,197,197,197,896,197',
'197,197,197,197,899,898,899,899,899,921,899,932,851,934,851,851,851',
'935,851,936,937,938,939,197,940,941,197,943,944,197,197,954,,197,931',
'197,931,931,931,197,931,899,709,838,709,709,709,197,709,851,838,,197',
'197,197,197,,197,197,838,851,851,197,197,220,220,220,220,220,220,197',
'931,197,220,220,,,,220,709,220,220,220,220,220,220,220,,709,709,709',
'709,220,220,220,220,220,220,220,,,220,277,277,277,277,277,220,220,,220',
'220,220,220,220,220,220,220,220,,220,220,220,,220,220,220,220,220,,',
'839,480,480,480,480,480,853,839,853,853,853,,853,,646,840,839,220,842',
',220,646,840,220,220,842,646,220,884,220,646,840,,220,842,884,819,,819',
'819,819,220,819,853,884,,220,220,220,220,,220,220,,853,853,220,220,280',
'280,280,280,280,280,220,,220,280,280,,,,280,819,280,280,280,280,280',
'280,280,,819,819,819,819,280,280,280,280,280,280,280,,,280,636,636,636',
'636,636,280,280,,280,280,280,280,280,280,280,280,280,,280,280,280,,280',
'280,280,280,280,,,891,,,,,,855,891,855,855,855,,855,,700,,891,280,,',
'280,700,,280,280,,700,280,,280,700,,,280,,,821,,821,821,821,280,821',
'855,,,280,280,280,280,,280,280,,855,855,280,280,285,285,285,285,285',
'285,280,,280,285,285,,,,285,821,285,285,285,285,285,285,285,,821,821',
'821,821,285,285,285,285,285,285,285,,,285,,,,,392,285,285,,285,285,285',
'285,285,285,285,285,285,,285,285,285,,285,285,285,285,285,392,392,392',
'392,392,392,392,392,392,392,392,925,392,392,,,392,392,925,285,,,285',
'925,,285,285,925,,285,,285,392,,392,285,392,392,392,392,392,392,392',
'285,392,,,,285,285,285,285,,285,285,,,,285,285,,392,408,,,,285,,285',
'408,408,408,,,408,408,408,323,408,323,323,323,,323,,,,408,408,408,408',
',,,,,,,408,408,,408,408,408,408,408,,,,,,,,,323,323,,,,,,,,323,323,323',
'323,,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',
'409,408,408,408,,,,409,409,409,,,409,409,409,443,409,408,408,408,408',
',408,,408,409,409,409,409,,,443,443,,,,409,409,,409,409,409,409,409',
',,,443,,443,,443,443,443,443,,,443,,443,,,,,,,409,409,409,409,409,409',
'409,409,409,409,409,409,409,409,,,409,409,409,,,409,,,409,,,409,409',
',409,,409,,409,,409,409,409,409,409,409,409,,409,409,409,,,,,,,,,,,',
',,409,409,409,409,,409,,409,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,,,,,,,,,912,,912,912,912,,912,,,,,540,,,540,,,540,540',
',,540,,540,,,,540,,,848,,848,848,848,540,848,912,,,540,540,540,540,',
'540,540,,912,912,540,540,543,543,543,543,543,543,540,,540,543,543,,',
',543,848,543,543,543,543,543,543,543,,848,848,848,848,543,543,543,543',
'543,543,543,,,543,,,,,,543,543,,543,543,543,543,543,543,543,543,543',
',543,543,543,,543,543,543,543,543,,,,,,,,,914,,914,914,914,,914,,,,',
'543,,,543,,,543,543,,,543,,543,,,,543,,,909,,909,909,909,543,909,914',
',,543,543,543,543,,543,543,,914,914,543,543,565,565,565,565,565,565',
'543,,543,565,565,,,,565,909,565,565,565,565,565,565,565,,909,909,909',
'909,565,565,565,565,565,565,565,,,565,,,,,,565,565,,565,565,565,565',
'565,565,565,565,565,,565,565,565,,565,565,565,565,565,,,,,,,,927,,927',
'927,927,,927,,,,,,565,,,565,,,565,565,,,565,,565,,,,565,949,,949,949',
'949,,949,565,927,,,,565,565,565,565,,565,565,927,927,,565,565,620,620',
'620,620,620,620,565,,565,620,620,,,949,620,,620,620,620,620,620,620',
'620,,949,949,,,620,620,620,620,620,620,620,,,620,,,,,,620,620,,620,620',
'620,620,620,620,620,620,620,,620,620,620,,620,620,620,620,620,431,431',
'431,431,431,431,431,431,431,431,431,,431,431,,,431,431,,620,,,620,,',
'620,620,,,620,,620,431,,431,620,431,431,431,431,431,431,431,620,431',
',,,620,620,620,620,,620,620,,,,620,620,627,627,627,627,627,627,620,',
'620,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,432,432,432,432,432,432,432,432,432',
'432,432,,432,432,,,432,432,,627,,,627,,,627,627,,,627,,627,432,,432',
'627,432,432,432,432,432,432,432,627,432,,,,627,627,627,627,,627,627',
',,,627,627,628,628,628,628,628,628,627,,627,628,628,,,,628,,628,628',
'628,628,628,628,628,,,,,,628,628,628,628,628,628,628,,,628,,,,,,628',
'628,,628,628,628,628,628,628,628,628,628,,628,628,628,,628,628,628,628',
'628,442,442,442,442,442,442,442,,,442,442,,,,,,442,442,,628,,,628,,',
'628,628,,,628,,628,442,,442,628,442,442,442,442,442,442,442,628,442',
',,,628,628,628,628,,628,628,,,,628,628,656,656,656,656,656,656,628,',
'628,656,656,,,,656,,656,656,656,656,656,656,656,,,,,,656,656,656,656',
'656,656,656,,,656,,,,,,656,656,,656,656,656,656,656,656,656,656,656',
',656,656,656,,656,656,656,656,656,444,,,,,,,,,,,,,,,,444,444,,656,,',
'656,,,656,656,,,656,,656,444,,444,656,444,444,444,444,,,444,656,444',
',,,656,656,656,656,,656,656,,,,656,656,664,664,664,664,664,664,656,',
'656,664,664,,,,664,,664,664,664,664,664,664,664,,,,,,664,664,664,664',
'664,664,664,,,664,,,,,,664,664,,664,664,664,664,664,664,664,664,664',
',664,664,664,,664,664,664,664,664,445,,,,,,,,,,,,,,,,445,445,,664,,',
'664,,,664,664,,,664,,664,445,,445,664,445,445,445,445,,,445,664,445',
',,,664,664,664,664,,664,664,,,,664,664,665,665,665,665,665,665,664,',
'664,665,665,,,,665,,665,665,665,665,665,665,665,,,,,,665,665,665,665',
'665,665,665,,,665,,,,,,665,665,,665,665,665,665,665,665,665,665,665',
',665,665,665,,665,665,665,665,665,446,,,,,,,,,,,,,,,,446,446,,665,,',
'665,,,665,665,,,665,,665,446,,446,665,446,446,446,446,,,446,665,446',
',,,665,665,665,665,,665,665,,,,665,665,703,703,703,703,703,703,665,',
'665,703,703,,,,703,,703,703,703,703,703,703,703,,,,,,703,703,703,703',
'703,703,703,,,703,,,,,,703,703,,703,703,703,703,703,703,703,703,703',
',703,703,703,,703,703,703,703,703,447,447,447,447,447,447,447,,,447',
'447,,,,,,447,447,,703,,,703,,,703,703,,,703,,703,447,,447,703,447,447',
'447,447,447,447,447,703,447,,,,703,703,703,703,,703,703,,,,703,703,708',
'708,708,708,708,708,703,,703,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,448,448,448',
'448,448,448,448,,,448,448,,,,,,448,448,,708,,,708,,,708,708,,,708,,708',
'448,,448,708,448,448,448,448,448,448,448,708,448,,,,708,708,708,708',
',708,708,,,,708,708,718,718,718,718,718,718,708,,708,718,718,,,,718',
',718,718,718,718,718,718,718,,,,,,718,718,718,718,718,718,718,,,718',
',,,,,718,718,,718,718,718,718,718,718,718,718,718,,718,718,718,,718',
'718,718,718,718,449,449,449,449,449,449,449,,,449,449,,,,,,449,449,',
'718,,,718,,,718,718,,,718,,718,449,,449,718,449,449,449,449,449,449',
'449,718,449,,,,718,718,718,718,,718,718,,,,718,718,757,757,757,757,757',
'757,718,,718,757,757,,,,757,,757,757,757,757,757,757,757,,,,,,757,757',
'757,757,757,757,757,,,757,,,,,,757,757,,757,757,757,757,757,757,757',
'757,757,,757,757,757,,757,757,757,757,757,450,450,450,450,450,450,450',
',,450,450,,,,,,450,450,,757,,,757,,,757,757,,,757,,757,450,,450,757',
'450,450,450,450,450,450,450,757,450,,,,757,757,757,757,,757,757,,,,757',
'757,767,767,767,767,767,767,757,,757,767,767,,,,767,,767,767,767,767',
'767,767,767,,,,,,767,767,767,767,767,767,767,,,767,,,,,,767,767,,767',
'767,767,767,767,767,767,767,767,,767,767,767,,767,767,767,767,767,451',
'451,451,451,451,451,451,,,451,451,,,,,,451,451,,767,,,767,,,767,767',
',,767,,767,451,,451,767,451,451,451,451,451,451,451,767,451,,,,767,767',
'767,767,,767,767,,,,767,767,796,796,796,796,796,796,767,,767,796,796',
',,,796,,796,796,796,796,796,796,796,,,,,,796,796,796,796,796,796,796',
',,796,,,,,,796,796,,796,796,796,796,796,796,796,796,796,,796,796,796',
',796,796,796,796,796,454,454,454,454,454,454,454,,,454,454,,,,,,454',
'454,,796,,,796,,,796,796,,,796,,796,454,,454,796,454,454,454,454,454',
'454,454,796,454,,,,796,796,796,796,,796,796,,,,796,796,797,797,797,797',
'797,797,796,,796,797,797,,,,797,,797,797,797,797,797,797,797,,,,,,797',
'797,797,797,797,797,797,,,797,,,,,,797,797,,797,797,797,797,797,797',
'797,797,797,,797,797,797,,797,797,797,797,797,455,455,455,455,455,455',
'455,455,,455,455,,,,,,455,455,,797,,,797,,,797,797,,,797,,797,455,,455',
'797,455,455,455,455,455,455,455,797,455,,,,797,797,797,797,,797,797',
',,,797,797,800,800,800,800,800,800,797,,797,800,800,,,,800,,800,800',
'800,800,800,800,800,,,,,,800,800,800,800,800,800,800,,,800,,,,,,800',
'800,,800,800,800,800,800,800,800,800,800,,800,800,800,,800,800,800,800',
'800,439,,,,,,,,,,,,,,,,439,439,,800,,,800,,,800,800,,,800,,800,439,',
'439,800,439,439,439,439,,,,800,,,,,800,800,800,800,,800,800,,,,800,800',
'806,806,806,806,806,806,800,,800,806,806,,,,806,,806,806,806,806,806',
'806,806,,,,,,806,806,806,806,806,806,806,,,806,,,,,,806,806,,806,806',
'806,806,806,806,806,806,806,,806,806,806,,806,806,806,806,806,440,,',
',,,,,,,,,,,,,440,440,,806,,,806,,,806,806,,,806,,806,440,,440,806,440',
'440,440,440,,,,806,,,,,806,806,806,806,,806,806,,,,806,806,837,837,837',
'837,837,837,806,,806,837,837,,,,837,,837,837,837,837,837,837,837,,,',
',,837,837,837,837,837,837,837,,,837,,,,,,837,837,,837,837,837,837,837',
'837,837,837,837,,837,837,837,,837,837,837,837,837,441,,,,,,,,,,,,,,',
',441,441,,837,,,837,,,837,837,,,837,,837,441,,,837,441,441,441,441,',
',,837,,,,,837,837,837,837,,837,837,,,,837,837,900,900,900,900,900,900',
'837,,837,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,906,906,906,906,906,906,900,,900,906,906,,,,906,,906,906,906',
'906,906,906,906,,,,,,906,906,906,906,906,906,906,,,906,,,,,,906,906',
',906,906,906,906,906,906,906,906,906,,906,906,906,,906,906,906,906,906',
',,,,,,,,,,,,,,,,,,,906,,,906,,,906,906,,,906,,906,,,,906,,,,,,,,906',
',,,,906,906,906,906,,906,906,,,,906,906,908,908,908,908,908,908,906',
',906,908,908,,,,908,,908,908,908,908,908,908,908,,,,,,908,908,908,908',
'908,908,908,,,908,,,,,,908,908,,908,908,908,908,908,908,908,908,908',
',908,908,908,,908,908,908,908,908,,,,,,,,,,,,,,,,,,,,908,,,908,,,908',
'908,,,908,,908,,,,908,,,,,,,,908,,,,,908,908,908,908,,908,908,,,,908',
'908,,5,5,5,5,5,908,,908,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,,566',
'33,566,566,566,,566,,,,,,,,,,,,,,,33,,,33,,,33,33,,,33,,33,,,,566,566',
',,,,,,,566,566,566,566,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',
',,,,615,,34,,,34,34,34,34,34,34,34,34,,34,34,34,,34,34,,,34,615,615',
'615,615,615,615,615,615,615,615,615,,615,615,,,615,615,,34,,,34,,,34',
'34,,,34,,,615,,615,,615,615,615,615,615,615,615,,615,,,,34,34,34,34',
',34,34,,,,34,34,,615,,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,21,21,21',
'21,21,21,21,21,21,21,21,,21,21,,,21,21,,64,,,64,,,64,64,,,64,,,21,,21',
'64,21,21,21,21,21,21,21,64,21,,,,64,64,64,64,,64,64,,,,64,64,64,21,',
',,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,,874,65,874,874,874,,874,,,,,,,,,,,,,,,65,,,65,,,65,65,,,65,',
'65,,,,874,874,,,,,,,,874,874,874,874,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,264,264,264,264,264,264,264,264,264',
'264,264,,264,264,,,264,264,,103,,,103,,,103,103,,,103,,103,264,,264',
'103,264,264,264,264,264,264,264,103,264,,,,103,103,103,103,,103,103',
',,,103,103,,264,,,,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',
',205,205,205,,205,204,,204,205,205,,,,205,,205,205,205,205,205,205,205',
',,,,,205,205,205,205,205,205,205,,,205,,,,,,,205,,,205,205,205,205,205',
'205,205,205,,205,205,205,,205,205,205,205,205,,,,,,,,,,,,,,,,,,,,205',
',,205,,,205,205,,,205,,,,,,205,,,,,,,,205,,,,,205,205,205,205,,205,205',
',,,205,205,,206,206,206,,206,205,,205,206,206,,,,206,,206,206,206,206',
'206,206,206,,,,,,206,206,206,206,206,206,206,,,206,,,,,,,206,,,206,206',
'206,206,206,206,206,206,,206,206,206,,206,206,206,206,206,,,,,,,,,,',
',,,,,,,,,206,,,206,,,206,206,,,206,,,,,,206,,,,,,,,206,,,,,206,206,206',
'206,,206,206,,,,206,206,,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,219,219',
'219,,219,208,,208,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,,253,253,253,,253,247,,247,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,,278,278,278,278,278,273,,273,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,,284,284,284,,284,278,,278,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,411,411,411,411,411,411,411,411,411,411,411,,411,411,',
',411,411,,284,,,284,,,284,284,,,284,,,411,,411,,411,411,411,411,411',
'411,411,,411,,,,284,284,284,284,,284,284,,,,284,284,,411,,284,,,284',
',284,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,,301,301,,,,301,301',
',310,310,310,,310,301,,301,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,,327,327,327,,327,313,,313,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,,328,328,328,,328,327,',
'327,328,328,,,,328,,328,328,328,328,328,328,328,,,,,,328,328,328,328',
'328,328,328,,,328,,,,,,,328,,,328,328,328,328,328,328,328,328,,328,328',
'328,,328,328,328,328,328,,,,,,,,,,,,,,,,,,,,328,,,328,,,328,328,,,328',
',,,,,328,,,,,,,,328,,,,,328,328,328,328,,328,328,,,,328,328,,347,347',
'347,,347,328,,328,347,347,,,,347,,347,347,347,347,347,347,347,,,,,,347',
'347,347,347,347,347,347,,,347,,,,,,,347,,,347,347,347,347,347,347,347',
'347,,347,347,347,,347,347,347,347,347,,,,,,,,,,,,,,,,,,,,347,,,347,',
',347,347,,,347,,,,,,347,,,,,,,,347,,,,,347,347,347,347,,347,347,,,,347',
'347,,363,363,363,,363,347,,347,363,363,,,,363,,363,363,363,363,363,363',
'363,,,,,,363,363,363,363,363,363,363,,,363,,,,,,,363,,,363,363,363,363',
'363,363,363,363,,363,363,363,,363,363,363,363,363,,,,,,,,,,,,,,,,,,',
',363,,,363,,,363,363,,,363,,,,,,363,,,,,,,,363,,,,,363,363,363,363,',
'363,363,,,,363,363,,389,389,389,,389,363,,363,389,389,,,,389,,389,389',
'389,389,389,389,389,,,,,,389,389,389,389,389,389,389,,,389,,,,,,,389',
',,389,389,389,389,389,389,389,389,,389,389,389,,389,389,389,389,389',
',,,,,,,,,,,,,,,,,,,389,,,389,,,389,389,,,389,,,,,,389,,,,,,,,389,,,',
',389,389,389,389,,389,389,,,,389,389,,426,426,426,,426,389,,389,426',
'426,,,,426,,426,426,426,426,426,426,426,,,,,,426,426,426,426,426,426',
'426,,,426,,,,,,,426,,,426,426,426,426,426,426,426,426,426,426,426,426',
',426,426,426,426,426,,,,,,,,,,,,,,,,,,,,426,,,426,,,426,426,,,426,,426',
',426,,426,,,,,,,,426,,,,,426,426,426,426,,426,426,,,,426,426,,428,428',
'428,,428,426,,426,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,,430,430,430,,430,429,,429,430,430,,,,430,,430,430',
'430,430,430,430,430,,,,,,430,430,430,430,430,430,430,,,430,,,,,,,430',
',,430,430,430,430,430,430,430,430,,430,430,430,,430,430,430,430,430',
',,,,,,,,,,,,,,,,,,,430,,,430,,,430,430,,,430,,,,,,430,,,,,,,,430,,,',
',430,430,430,430,,430,430,,,,430,430,,471,471,471,,471,430,,430,471',
'471,,,,471,,471,471,471,471,471,471,471,,,,,,471,471,471,471,471,471',
'471,,,471,,,,,,,471,,,471,471,471,471,471,471,471,471,471,471,471,471',
',471,471,471,471,471,,,,,,,,,,,,,,,,,,,,471,,,471,,,471,471,,,471,,471',
',471,,471,,,,,,,,471,,,,,471,471,471,471,,471,471,,,,471,471,,473,473',
'473,,473,471,,471,473,473,,,,473,,473,473,473,473,473,473,473,,,,,,473',
'473,473,473,473,473,473,,,473,,,,,,,473,,,473,473,473,473,473,473,473',
'473,473,473,473,473,,473,473,473,473,473,,,,,,,,,,,,,,,,,,,,473,,,473',
',,473,473,,,473,,,,473,,473,,,,,,,,473,,,,,473,473,473,473,,473,473',
',,,473,473,,475,475,475,,475,473,,473,475,475,,,,475,,475,475,475,475',
'475,475,475,,,,,,475,475,475,475,475,475,475,,,475,,,,,,,475,,,475,475',
'475,475,475,475,475,475,,475,475,475,,475,475,475,475,475,,,,,,,,,,',
',,,,,,,,,475,,,475,,,475,475,,,475,,,,,,475,,,,,,,,475,,,,,475,475,475',
'475,,475,475,,,,475,475,,479,479,479,479,479,475,,475,479,479,,,,479',
',479,479,479,479,479,479,479,,,,,,479,479,479,479,479,479,479,,,479',
',,,,,479,479,,479,479,479,479,479,479,479,479,479,,479,479,479,,479',
'479,479,479,479,456,456,456,456,456,456,456,456,456,456,456,,456,456',
',,456,456,,479,,,479,,,479,479,,,479,,479,456,,456,479,456,456,456,456',
'456,456,456,479,456,,,,479,479,479,479,,479,479,,,,479,479,456,456,',
',,479,479,,479,486,486,486,,486,,,,486,486,,,,486,,486,486,486,486,486',
'486,486,,,,,,486,486,486,486,486,486,486,,,486,,,,,,,486,,,486,486,486',
'486,486,486,486,486,,486,486,486,,486,486,,,486,,,,,,,,,,,,,,,,,,,,486',
',,486,,,486,486,,,486,,,,,,,,,,,,,,,,,,,486,486,486,486,,486,486,,,',
'486,486,,488,488,488,,488,486,,486,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,488,,488,488,488,488,488,,,,,,,,,,,',
',,,,,,,,488,,,488,,,488,488,,,488,,488,,488,,488,,,,,,,,488,,,,,488',
'488,488,488,,488,488,,,,488,488,,495,495,495,,495,488,,488,495,495,',
',,495,,495,495,495,495,495,495,495,,,,,,495,495,495,495,495,495,495',
',,495,,,,,,,495,,,495,495,495,495,495,495,495,495,,495,495,495,,495',
'495,,,495,,,,,,,,,,,,,,,,,,,,495,,,495,,,495,495,,,495,,,,,,,,,,,,,',
',,,,,495,495,495,495,,495,495,,,,495,495,,498,498,498,,498,495,,495',
'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',
',500,500,500,,500,499,,499,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,,500,500,500,500,500,,,,,,,,,,,,,,,,,,,,500',
',,500,,,500,500,,,500,,,,,,500,,,,,,,,500,,,,,500,500,500,500,,500,500',
',,,500,500,,504,504,504,,504,500,,500,504,504,,,,504,,504,504,504,504',
'504,504,504,,,,,,504,504,504,504,504,504,504,,,504,,,,,,,504,,,504,504',
'504,504,504,504,504,504,,504,504,504,,504,504,504,504,504,,,,,,,,,,',
',,,,,,,,,504,,,504,,,504,504,,,504,,,,,,504,,,,,,,,504,,,,,504,504,504',
'504,,504,504,,,,504,504,,506,506,506,,506,504,,504,506,506,,,,506,,506',
'506,506,506,506,506,506,,,,,,506,506,506,506,506,506,506,,,506,,,,,',
',506,,,506,506,506,506,506,506,506,506,,506,506,506,,506,506,506,506',
'506,,,,,,,,,,,,,,,,,,,,506,,,506,,,506,506,,,506,,506,,,,506,,,,,,,',
'506,,,,,506,506,506,506,,506,506,,,,506,506,,510,510,510,,510,506,,506',
'510,510,,,,510,,510,510,510,510,510,510,510,,,,,,510,510,510,510,510',
'510,510,,,510,,,,,,,510,,,510,510,510,510,510,510,510,510,510,510,510',
'510,,510,510,510,510,510,,,,,,,,,,,,,,,,,,,,510,,,510,,,510,510,,,510',
',510,,,,510,,,,,,,,510,,,,,510,510,510,510,,510,510,,,,510,510,,513',
'513,513,,513,510,,510,513,513,,,,513,,513,513,513,513,513,513,513,,',
',,,513,513,513,513,513,513,513,,,513,,,,,,,513,,,513,513,513,513,513',
'513,513,513,513,513,513,513,,513,513,513,513,513,,,,,,,,,,,,,,,,,,,',
'513,,,513,,,513,513,,,513,,,,,,513,,,,,,,,513,,,,,513,513,513,513,,513',
'513,,,,513,513,,548,548,548,,548,513,,513,548,548,,,,548,,548,548,548',
'548,548,548,548,,,,,,548,548,548,548,548,548,548,,,548,,,,,,,548,,,548',
'548,548,548,548,548,548,548,,548,548,548,,548,548,548,548,548,,,,,,',
',,,,,,,,,,,,,548,,,548,,,548,548,,,548,,548,,,,548,,,,,,,,548,,,,,548',
'548,548,548,,548,548,,,,548,548,,549,549,549,,549,548,,548,549,549,',
',,549,,549,549,549,549,549,549,549,,,,,,549,549,549,549,549,549,549',
',,549,,,,,,,549,,,549,549,549,549,549,549,549,549,549,549,549,549,,549',
'549,549,549,549,,,,,,,,,,,,,,,,,,,,549,,,549,,,549,549,,,549,,549,,549',
',549,,,,,,,,549,,,,,549,549,549,549,,549,549,,,,549,549,,559,559,559',
',559,549,,549,559,559,,,,559,,559,559,559,559,559,559,559,,,,,,559,559',
'559,559,559,559,559,,,559,,,,,,,559,,,559,559,559,559,559,559,559,559',
'559,559,559,559,,559,559,559,559,559,,,,,,,,,,,,,,,,,,,,559,,,559,,',
'559,559,,,559,,559,,559,,559,,,,,,,,559,,,,,559,559,559,559,,559,559',
',,,559,559,,562,562,562,,562,559,,559,562,562,,,,562,,562,562,562,562',
'562,562,562,,,,,,562,562,562,562,562,562,562,,,562,,,,,,,562,,,562,562',
'562,562,562,562,562,562,,562,562,562,,562,562,562,562,562,,,,,,,,,,',
',,,,,,,,,562,,,562,,,562,562,,,562,,,,,,562,,,,,,,,562,,,,,562,562,562',
'562,,562,562,,,,562,562,,591,591,591,,591,562,,562,591,591,,,,591,,591',
'591,591,591,591,591,591,,,,,,591,591,591,591,591,591,591,,,591,,,,,',
',591,,,591,591,591,591,591,591,591,591,,591,591,591,,591,591,591,591',
'591,,,,,,,,,,,,,,,,,,,,591,,,591,,,591,591,,,591,,591,,,,591,,,,,,,',
'591,,,,,591,591,591,591,,591,591,,,,591,591,,592,592,592,,592,591,,591',
'592,592,,,,592,,592,592,592,592,592,592,592,,,,,,592,592,592,592,592',
'592,592,,,592,,,,,,,592,,,592,592,592,592,592,592,592,592,,592,592,592',
',592,592,592,592,592,,,,,,,,,,,,,,,,,,,,592,,,592,,,592,592,,,592,,',
',,,592,,,,,,,,592,,,,,592,592,592,592,,592,592,,,,592,592,,595,595,595',
',595,592,,592,595,595,,,,595,,595,595,595,595,595,595,595,,,,,,595,595',
'595,595,595,595,595,,,595,,,,,,,595,,,595,595,595,595,595,595,595,595',
'595,595,595,595,,595,595,595,595,595,,,,,,,,,,,,,,,,,,,,595,,,595,,',
'595,595,,,595,,595,,595,,595,,,,,,,,595,,,,,595,595,595,595,,595,595',
',,,595,595,,596,596,596,,596,595,,595,596,596,,,,596,,596,596,596,596',
'596,596,596,,,,,,596,596,596,596,596,596,596,,,596,,,,,,,596,,,596,596',
'596,596,596,596,596,596,596,596,596,596,,596,596,596,596,596,,,,,,,',
',,,,,,,,,,,,596,,,596,,,596,596,,,596,,,,596,,596,,,,,,,,596,,,,,596',
'596,596,596,,596,596,,,,596,596,,597,597,597,,597,596,,596,597,597,',
',,597,,597,597,597,597,597,597,597,,,,,,597,597,597,597,597,597,597',
',,597,,,,,,,597,,,597,597,597,597,597,597,597,597,,597,597,597,,597',
'597,597,597,597,,,,,,,,,,,,,,,,,,,,597,,,597,,,597,597,,,597,,,,,,597',
',,,,,,,597,,,,,597,597,597,597,,597,597,,,,597,597,,598,598,598,,598',
'597,,597,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,,,598,598',
',,598,,,,,,598,,,,,,,,598,,,,,598,598,598,598,,598,598,,,,598,598,,602',
'602,602,,602,598,,598,602,602,,,,602,,602,602,602,602,602,602,602,,',
',,,602,602,602,602,602,602,602,,,602,,,,,,,602,,,602,602,602,602,602',
'602,602,602,,602,602,602,,602,602,602,602,602,,,,,,,,,,,,,,,,,,,,602',
',,602,,,602,602,,,602,,,,,,602,,,,,,,,602,,,,,602,602,602,602,,602,602',
',,,602,602,,603,603,603,,603,602,,602,603,603,,,,603,,603,603,603,603',
'603,603,603,,,,,,603,603,603,603,603,603,603,,,603,,,,,,,603,,,603,603',
'603,603,603,603,603,603,,603,603,603,,603,603,603,603,603,,,,,,,,,,',
',,,,,,,,,603,,,603,,,603,603,,,603,,,,,,603,,,,,,,,603,,,,,603,603,603',
'603,,603,603,,,,603,603,,606,606,606,,606,603,,603,606,606,,,,606,,606',
'606,606,606,606,606,606,,,,,,606,606,606,606,606,606,606,,,606,,,,,',
',606,,,606,606,606,606,606,606,606,606,,606,606,606,,606,606,606,606',
'606,,,,,,,,,,,,,,,,,,,,606,,,606,,,606,606,,,606,,,,,,606,,,,,,,,606',
',,,,606,606,606,606,,606,606,,,,606,606,,607,607,607,,607,606,,606,607',
'607,,,,607,,607,607,607,607,607,607,607,,,,,,607,607,607,607,607,607',
'607,,,607,,,,,,,607,,,607,607,607,607,607,607,607,607,,607,607,607,',
'607,607,607,607,607,,,,,,,,,,,,,,,,,,,,607,,,607,,,607,607,,,607,,,',
',,607,,,,,,,,607,,,,,607,607,607,607,,607,607,,,,607,607,,633,633,633',
',633,607,,607,633,633,,,,633,,633,633,633,633,633,633,633,,,,,,633,633',
'633,633,633,633,633,,,633,,,,,,,633,,,633,633,633,633,633,633,633,633',
',633,633,633,,633,633,633,633,633,,,,,,,,,,,,,,,,,,,,633,,,633,,,633',
'633,,,633,,,,,,633,,,,,,,,633,,,,,633,633,633,633,,633,633,,,,633,633',
',638,638,638,,638,633,,633,638,638,,,,638,,638,638,638,638,638,638,638',
',,,,,638,638,638,638,638,638,638,,,638,,,,,,,638,,,638,638,638,638,638',
'638,638,638,,638,638,638,,638,638,,,638,,,,,,,,,,,,,,,,,,,,638,,,638',
',,638,638,,,638,,,,,,,,,,,,,,,,,,,638,638,638,638,,638,638,,,,638,638',
',649,649,649,,649,638,,638,649,649,,,,649,,649,649,649,649,649,649,649',
',,,,,649,649,649,649,649,649,649,,,649,,,,,,,649,,,649,649,649,649,649',
'649,649,649,,649,649,649,,649,649,,,649,,,,,,,,,,,,,,,,,,,,649,,,649',
',,649,649,,,649,,,,,,,,,,,,,,,,,,,649,649,649,649,,649,649,,,,649,649',
',673,673,673,,673,649,,649,673,673,,,,673,,673,673,673,673,673,673,673',
',,,,,673,673,673,673,673,673,673,,,673,,,,,,,673,,,673,673,673,673,673',
'673,673,673,,673,673,673,,673,673,673,673,673,,,,,,,,,,,,,,,,,,,,673',
',,673,,,673,673,,,673,,,,,,673,,,,,,,,673,,,,,673,673,673,673,,673,673',
',,,673,673,,698,698,698,,698,673,,673,698,698,,,,698,,698,698,698,698',
'698,698,698,,,,,,698,698,698,698,698,698,698,,,698,,,,,,,698,,,698,698',
'698,698,698,698,698,698,,698,698,698,,698,698,698,698,698,,,,,,,,,,',
',,,,,,,,,698,,,698,,,698,698,,,698,,,,,,698,,,,,,,,698,,,,,698,698,698',
'698,,698,698,,,,698,698,,725,725,725,,725,698,,698,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,,727,727,727,,727,725,,725,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,,741,741,741',
',741,727,,727,741,741,,,,741,,741,741,741,741,741,741,741,,,,,,741,741',
'741,741,741,741,741,,,741,,,,,,,741,,,741,741,741,741,741,741,741,741',
',741,741,741,,741,741,741,741,741,,,,,,,,,,,,,,,,,,,,741,,,741,,,741',
'741,,,741,,,,,,741,,,,,,,,741,,,,,741,741,741,741,,741,741,,,,741,741',
',742,742,742,,742,741,,741,742,742,,,,742,,742,742,742,742,742,742,742',
',,,,,742,742,742,742,742,742,742,,,742,,,,,,,742,,,742,742,742,742,742',
'742,742,742,,742,742,742,,742,742,742,742,742,,,,,,,,,,,,,,,,,,,,742',
',,742,,,742,742,,,742,,,,,,742,,,,,,,,742,,,,,742,742,742,742,,742,742',
',,,742,742,,743,743,743,,743,742,,742,743,743,,,,743,,743,743,743,743',
'743,743,743,,,,,,743,743,743,743,743,743,743,,,743,,,,,,,743,,,743,743',
'743,743,743,743,743,743,,743,743,743,,743,743,743,743,743,,,,,,,,,,',
',,,,,,,,,743,,,743,,,743,743,,,743,,,,,,743,,,,,,,,743,,,,,743,743,743',
'743,,743,743,,,,743,743,,744,744,744,,744,743,,743,744,744,,,,744,,744',
'744,744,744,744,744,744,,,,,,744,744,744,744,744,744,744,,,744,,,,,',
',744,,,744,744,744,744,744,744,744,744,,744,744,744,,744,744,744,744',
'744,,,,,,,,,,,,,,,,,,,,744,,,744,,,744,744,,,744,,,,,,744,,,,,,,,744',
',,,,744,744,744,744,,744,744,,,,744,744,,746,746,746,,746,744,,744,746',
'746,,,,746,,746,746,746,746,746,746,746,,,,,,746,746,746,746,746,746',
'746,,,746,,,,,,,746,,,746,746,746,746,746,746,746,746,,746,746,746,',
'746,746,746,746,746,,,,,,,,,,,,,,,,,,,,746,,,746,,,746,746,,,746,,,',
',,746,,,,,,,,746,,,,,746,746,746,746,,746,746,,,,746,746,,771,771,771',
',771,746,,746,771,771,,,,771,,771,771,771,771,771,771,771,,,,,,771,771',
'771,771,771,771,771,,,771,,,,,,,771,,,771,771,771,771,771,771,771,771',
',771,771,771,,771,771,,,771,,,,,,,,,,,,,,,,,,,,771,,,771,,,771,771,',
',771,,,,,,,,,,,,,,,,,,,771,771,771,771,,771,771,,,,771,771,,794,794',
'794,,794,771,,771,794,794,,,,794,,794,794,794,794,794,794,794,,,,,,794',
'794,794,794,794,794,794,,,794,,,,,,,794,,,794,794,794,794,794,794,794',
'794,,794,794,794,,794,794,794,794,794,,,,,,,,,,,,,,,,,,,,794,,,794,',
',794,794,,,794,,,,,,794,,,,,,,,794,,,,,794,794,794,794,,794,794,,,,794',
'794,,799,799,799,,799,794,,794,799,799,,,,799,,799,799,799,799,799,799',
'799,,,,,,799,799,799,799,799,799,799,,,799,,,,,,,799,,,799,799,799,799',
'799,799,799,799,,799,799,799,,799,799,799,799,799,,,,,,,,,,,,,,,,,,',
',799,,,799,,,799,799,,,799,,799,,,,799,,,,,,,,799,,,,,799,799,799,799',
',799,799,,,,799,799,,816,816,816,,816,799,,799,816,816,,,,816,,816,816',
'816,816,816,816,816,,,,,,816,816,816,816,816,816,816,,,816,,,,,,,816',
',,816,816,816,816,816,816,816,816,816,816,816,816,,816,816,816,816,816',
',,,,,,,,,,,,,,,,,,,816,,,816,,,816,816,,,816,,,,816,,816,,,,,,,,816',
',,,,816,816,816,816,,816,816,,,,816,816,,817,817,817,,817,816,,816,817',
'817,,,,817,,817,817,817,817,817,817,817,,,,,,817,817,817,817,817,817',
'817,,,817,,,,,,,817,,,817,817,817,817,817,817,817,817,,817,817,817,',
'817,817,817,817,817,,,,,,,,,,,,,,,,,,,,817,,,817,,,817,817,,,817,,,',
',,817,,,,,,,,817,,,,,817,817,817,817,,817,817,,,,817,817,,831,831,831',
',831,817,,817,831,831,,,,831,,831,831,831,831,831,831,831,,,,,,831,831',
'831,831,831,831,831,,,831,,,,,,,831,,,831,831,831,831,831,831,831,831',
',831,831,831,,831,831,,,831,,,,,,,,,,,,,,,,,,,,831,,,831,,,831,831,',
',831,,,,,,,,,,,,,,,,,,,831,831,831,831,,831,831,,,,831,831,,888,888',
'888,,888,831,,831,888,888,,,,888,,888,888,888,888,888,888,888,,,,,,888',
'888,888,888,888,888,888,,,888,,,,,,,888,,,888,888,888,888,888,888,888',
'888,888,888,888,888,,888,888,888,888,888,503,503,503,503,503,503,503',
'503,503,503,503,,503,503,,,503,503,,888,,,888,,,888,888,,,888,,888,503',
'888,503,888,503,503,503,503,503,503,503,888,503,,,,888,888,888,888,',
'888,888,,,,888,888,,503,26,,,,888,,888,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,27,26,26,26,,,,27,27,27,,,27,27,27',
',27,26,26,,26,,26,,,,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,399,27,,27,,,,399,399',
'399,,,399,399,399,,399,27,27,,27,,27,,,399,399,399,,,,,,,,,399,399,',
'399,399,399,399,399,,,,,,,,,,,,,,,,,,,,,,,399,399,399,399,399,399,399',
'399,399,399,399,399,399,399,,,399,399,399,,,399,,399,399,,,399,399,',
'399,,399,,399,,399,399,399,399,399,399,399,458,399,399,399,,,,458,458',
'458,,,458,458,458,,458,399,399,,399,,399,,,,458,,,,,,,,,,458,458,,458',
'458,458,458,458,,,,,,,,,,,,461,,,,,,,461,461,461,,,461,461,461,,461',
',,,,,458,,,,461,,,458,,,,,458,458,461,461,,461,461,461,461,461,,,,,',
'201,201,,,201,,,,458,,,,201,201,,201,201,201,201,201,201,201,458,,201',
'201,,458,461,201,201,201,201,,,461,,,201,,461,461,,,,,201,201,,201,201',
'201,201,201,201,201,201,201,201,201,,,201,461,,,,,,,,,,,,,,461,,,,,461',
'8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,,,,8,8,8,8,8,8,8,8,8',
'8,,,,,,8,8,8,8,8,8,8,8,8,8,,8,,,,,,,,8,8,,8,8,8,8,8,8,8,,,8,8,,,,8,8',
'8,8,,,,,,,,,,,,,,8,8,,8,8,8,8,8,8,8,8,8,8,8,,,8,8,,,,,,,,,,,8,9,9,9',
'9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,,,,9,9,9,9,9,9,9,9,9,9,,,',
',,9,9,9,9,9,9,9,9,9,,,9,,,,,,,,9,9,,9,9,9,9,9,9,9,,,9,9,,,,9,9,9,9,',
',,,,,,,,,,,,9,9,,9,9,9,9,9,9,9,9,9,9,9,,,9,9,,,,,,,,,,,9,380,380,380',
'380,380,380,380,380,380,380,380,380,380,380,380,380,380,380,380,380',
'380,380,380,380,,,,380,380,380,380,380,380,380,380,380,380,,,,,,380',
'380,380,380,380,380,380,380,380,,,380,,,,,,,,380,380,,380,380,380,380',
'380,380,380,,,380,380,,,,380,380,380,380,,,,,,,,,,,,,,380,380,,380,380',
'380,380,380,380,380,380,380,380,380,,,380,380,,,,,,,,,,,380,588,588',
'588,588,588,588,588,588,588,588,588,588,588,588,588,588,588,588,588',
'588,588,588,588,588,,,,588,588,588,588,588,588,588,588,588,588,,,,,',
'588,588,588,588,588,588,588,588,588,,,588,,,,,,,,588,588,,588,588,588',
'588,588,588,588,,,588,588,,,,588,588,588,588,,,,,,,,,,,,,,588,588,,588',
'588,588,588,588,588,588,588,588,588,588,,,588,588,,,,,,,,,,,588,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,,,68,711,711,711,711',
'711,711,711,711,711,711,711,711,711,711,711,711,711,711,711,711,711',
'711,711,711,,,,711,711,711,711,711,711,711,711,711,711,,,,,,711,711',
'711,711,711,711,711,711,711,,,711,,,,,,,,711,711,,711,711,711,711,711',
'711,711,,,711,711,,,,711,711,711,711,,,,,,,,,,,,,,711,711,,711,711,711',
'711,711,711,711,711,711,711,711,202,202,711,,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,250,250,202,,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,424,424,251,,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,425,425,424,,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,489,489,425',
',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,490,490,489,,490,,,,,,,,490,490,,490,490,490,490,490,490,490',
',,490,490,,,,490,490,490,490,,,,,,490,,,,,,,,490,490,,490,490,490,490',
'490,490,490,490,490,490,490,501,501,490,,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,502,502,501,,502,,',
',,,,,502,502,,502,502,502,502,502,502,502,,,502,502,,,,502,502,502,502',
',,,,,502,,,,,,,,502,502,,502,502,502,502,502,502,502,502,502,502,502',
'550,550,502,,550,,,,,,,,550,550,,550,550,550,550,550,550,550,,,550,550',
',,,550,550,550,550,,,,,,550,,,,,,,,550,550,,550,550,550,550,550,550',
'550,550,550,550,550,551,551,550,,551,,,,,,,,551,551,,551,551,551,551',
'551,551,551,,,551,551,,,,551,551,551,551,,,,,,551,,,,,,,,551,551,,551',
'551,551,551,551,551,551,551,551,551,551,557,557,551,,557,,,,,,,,557',
'557,,557,557,557,557,557,557,557,,,557,557,,,,557,557,557,557,,,,,,557',
',,,,,,,557,557,,557,557,557,557,557,557,557,557,557,557,557,558,558',
'557,,558,,,,,,,,558,558,,558,558,558,558,558,558,558,,,558,558,,,,558',
'558,558,558,,,,,,558,,,,,,,,558,558,,558,558,558,558,558,558,558,558',
'558,558,558,889,889,558,,889,,,,,,,,889,889,,889,889,889,889,889,889',
'889,,,889,889,,,,889,889,889,889,,,,,,889,,,,,,,,889,889,,889,889,889',
'889,889,889,889,889,889,889,889,890,890,889,,890,,,,,,,,890,890,,890',
'890,890,890,890,890,890,,,890,890,,,,890,890,890,890,,,,,,890,,,,,,',
',890,890,,890,890,890,890,890,890,890,890,890,890,890,918,918,890,,918',
',,,,,,,918,918,,918,918,918,918,918,918,918,,,918,918,,,,918,918,918',
'918,,,,,,918,,,,,,,,918,918,,918,918,918,918,918,918,918,918,918,918',
'918,,,918,650,650,650,650,650,650,650,650,650,650,650,,650,650,,,650',
'650,,,,,,,,,,,,,,,650,,650,,650,650,650,650,650,650,650,,650,,726,726',
'726,726,726,726,726,726,726,726,726,,726,726,,650,726,726,,,,,,,,,,',
',,,,726,,726,,726,726,726,726,726,726,726,,726,,731,731,731,731,731',
'731,731,731,731,731,731,,731,731,,726,731,731,,,,,,,,,,,,,,,731,,731',
',731,731,731,731,731,731,731,,731,,733,733,733,733,733,733,733,733,733',
'733,733,,733,733,,731,733,733,,,,,,,,,,,,,,,733,,733,,733,733,733,733',
'733,733,733,,733,,736,736,736,736,736,736,736,736,736,736,736,,736,736',
',733,736,736,,,,,,,,,,,,,,,736,,736,,736,736,736,736,736,736,736,,736',
',738,738,738,738,738,738,738,738,738,738,738,,738,738,,736,738,738,',
',,,,,,,,,,,,,738,,738,,738,738,738,738,738,738,738,,738,,740,740,740',
'740,740,740,740,740,740,740,740,,740,740,,738,740,740,,,,,,,,,,,,,,',
'740,,740,,740,740,740,740,740,740,740,,740,,815,815,815,815,815,815',
'815,815,815,815,815,,815,815,,740,815,815,,,,,,,,,,,,,,,815,,815,,815',
'815,815,815,815,815,815,,815,,818,818,818,818,818,818,818,818,818,818',
'818,,818,818,,815,818,818,,,,,,,,,,,,,,,818,,818,,818,818,818,818,818',
'818,818,,818,,,,,,,,,,,,,,,,,818' ]
        racc_action_check = arr = ::Array.new(23286, nil)
        idx = 0
        clist.each do |str|
          str.split(',', -1).each do |i|
            arr[idx] = i.to_i unless i.empty?
            idx += 1
          end
        end

racc_action_pointer = [
     0,    80,   nil,    62,   nil,  4744,  1249,    39, 21174, 21298,
   100,   nil,    84,   143,   544,    55,   108,   127,   nil,    -8,
  4869,  6502,   257,   nil,    76,   261, 20662, 20771,  4994,  5119,
  5244,   nil,   738,  5369,  5494,   nil,   174,   240,   361,   273,
   240,  5627,  5752,  5877,   212,   572,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   866,   999,   nil,  6002,  6127,     0,   nil,
  6252,  6377,   nil,   nil,  6502,  6635,  6760,  6885, 21670,   nil,
   nil,   nil,   nil,   nil,   568,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,     0,   nil,   nil,
   130,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   382,   nil,  7010,   nil,   nil,   nil,   nil,  7143,  7268,
  7393,  7518,  7643,  1124,   nil,   449,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   265,   nil,  1249,  7768,  7893,
  8018, 21042, 21842,  8143,  8268,  8393,  8518,  8643,  8768,   nil,
   nil,   607,    54,   139,   350,   244,   272,   325,   nil,  8893,
  1374,   339,  9018,  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,   nil,   nil,
 21902, 21962,   344, 12268, 12393,   nil,   nil,   nil,   nil,   nil,
   nil,   nil, 12518,   nil,  7010,   nil,   335,   337,   nil, 12643,
   383, 12768,   nil, 12893,   nil,   nil,   282,  1374, 13018,   349,
  1499,   391,   448,   433, 13143,  1624,   611,   738,   741,   517,
   784,   nil,   493,   467,   346,   nil,   nil,   nil,   508,   431,
   476, 13276,   nil,   376,   548,   552,   838,   nil,   568,   nil,
 13401,   687,   689, 13526,   nil,   252,   392,   618,   604,   509,
   637,   nil,   nil,  1716,   614,    48,   136, 13651, 13776,   403,
   710,   604,    65,    89,   874,   682,    98,   721,   nil,   nil,
   442,   443,    96,   nil,   898,   nil,    55, 13901,   nil,   nil,
   nil,   360,   388,   392,   420,   453,   549,   571,   576,   582,
   nil,   641,   nil, 14026,   nil,   401,   465,   468,   473,    39,
   501,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   650,
 21422,   nil,   nil,   nil,   nil,   665,   nil,   655,   nil, 14151,
   665,   nil,  1624,   672,   nil,   690,   699,   478,   512, 20880,
   nil,   nil,   nil,   239,   348,   743,   nil,   nil,  1752,  1861,
   nil, 13143,   nil,   702,   nil,   nil,   738,   nil,   nil,   nil,
   nil,   283,   nil,   761, 22022, 22082, 14276,   248, 14401, 14526,
 14651,  2369,  2494,    89,   648,   790,   794,   798,   803,  3994,
  4119,  4244,  2619,  1810,  2744,  2869,  2994,  3119,  3244,  3369,
  3494,  3619,   559,   793,  3744,  3869, 15151,   136, 20989,   nil,
   nil, 21044,   nil,   nil,   745,   nil,   175,   293,   750,   nil,
   nil, 14776,   nil, 14901,   nil, 15026,   nil,   nil,   nil, 15151,
  1404,   760,   761,   nil,   nil,   770, 15284,   774, 15409, 22142,
 22202,   903,   812,   nil,   nil, 15534,   775,   nil, 15659, 15784,
 15909, 22262, 22322, 20534, 16034,   897, 16159,   nil,   631,   nil,
 16284,   nil,   nil, 16409,   nil,   nil,   nil,   108,   666,   nil,
   795,   796,   797,   nil,   nil,   nil,   nil,   nil,   nil,   811,
   nil,   866,   nil,   nil,   nil,   nil,   901,   nil,   nil,   904,
  1994,   945,   nil,  2119,   119,   142,   949,   968, 16534, 16659,
 22382, 22442,   135,   nil,   nil,   931,   nil, 22502, 22562, 16784,
   nil,   nil, 16909,   596,   146,  2244,  5382,   nil,   nil,   nil,
   317,   nil,   nil,   nil,   721,   nil,   nil,   nil,   861,   nil,
   nil,   373,   nil,   nil,   851,   nil,   nil,   nil, 21546,   nil,
   854, 17034, 17159,   523,   890, 17284, 17409, 17534, 17659,   889,
   nil,   nil, 17784, 17909,   890,   nil, 18034, 18159,   nil,   nil,
   277,   353,   473,   603,   862,  5494,   861,   nil,   830,   nil,
  2369,   nil,   nil,   nil,   nil,   302,   nil,  2494,  2619,   nil,
   861,   nil,   911, 18284,   nil,   nil,  1499,   251, 18409,   877,
   nil,   881,   125,   198,   922,   481,  1379,   923,   884, 18534,
 22790,   957,   959,   323,  1018,   nil,  2744,   898,   948,   nil,
   nil,   915,   698,   nil,  2869,  2994,   914,  1052,   nil,  1177,
   nil,   nil,  1022, 18659,   nil,  1014,   nil,   926,   342,   nil,
   933,   nil,   nil,   836,   nil,  1052,   nil,   nil,   nil,   nil,
  1061,   nil,   140,   946,   141,   156,   263,   269, 18784,   543,
  1504,   nil,   948,  3119,   602,   nil,   nil,  1069,  3244,  1302,
   621, 21782,   nil,   nil,   nil,   nil,   nil,   nil,  3369,   nil,
   nil,   nil,   nil,   nil,   951, 18909, 22836, 19034,   nil,   952,
   nil, 22882,   nil, 22928,   nil,   nil, 22974,   nil, 23020,   nil,
 23066, 19159, 19284, 19409, 19534,   356, 19659,   953,   954,   956,
   nil,   978,   957,   985,   954,   nil,  1083,  3494,   981,  1095,
   nil,   nil,   983,   352,   nil,   nil,   nil,  3619,   nil,   nil,
   163, 19784,   nil,  1027,   nil,  1008,  1127,  1011,  1009,  1019,
   nil,   nil,  1031,  1037,   nil,  1051,   nil,  1058,  1139,  1062,
   859,   nil,  1186,   nil, 19909,  1188,  3744,  3869,   nil, 20034,
  3994,   171,   205,   nil,  1190,   nil,  4119,   nil,  1194,  1079,
   nil,   nil,  1094,  1078,   nil, 23112, 20159, 20284, 23158,  1427,
   nil,  1552,   nil,   nil,  1147,   nil,  1100,  1081,   nil,   nil,
   nil, 20409,   nil,  1099,   nil,   nil,   nil,  4244,  1277,  1365,
  1380,  1158,  1383,   nil,   nil,   nil,   nil,   nil,  2047,   nil,
   nil,  1272,   nil,  1397,   nil,  1522,   nil,   nil,   nil,   349,
  1044,  1085,   nil,   164,   nil,  1208,  1209,   nil,   107,   nil,
   nil,  1220,   nil,   nil,  6648,   nil,  1108,  1113,  1116,  1132,
   nil,  1133,   nil,  1110,  1393,  1208,   nil,  1266, 20534, 22622,
 22682,  1490,  1156,  1157,  1166,  1176,  1180,  1169,  1187,  1264,
  4369,   nil,   nil,   nil,   nil,   nil,  4494,   nil,  4619,  2172,
   nil,   nil,  2017,   nil,  2142,   nil,   nil,   nil, 22742,   nil,
   nil,  1194,   165,   166,   209,  1624,   nil,  2266,   nil,   nil,
   nil,  1294,  1193,   875,  1315,  1319,  1201,  1202,  1203,  1204,
  1246,  1247,   173,  1209,  1210,   nil,   nil,   nil,   nil,  2295,
   nil,   nil,   nil,   nil,  1213,   nil ]

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

clist = [
'119,119,519,505,360,13,265,265,265,523,13,393,415,312,314,207,14,748',
'283,114,196,14,122,122,399,405,124,124,547,6,540,543,708,102,6,103,211',
'13,472,634,310,266,266,266,211,211,211,654,14,288,288,686,689,463,780',
'593,496,256,260,13,119,680,556,282,464,252,259,261,828,315,14,509,512',
'458,461,516,211,211,858,634,211,334,344,344,388,106,784,300,297,297',
'412,674,751,279,330,107,1,880,766,325,326,792,195,329,830,631,620,631',
'13,324,324,622,747,324,624,627,628,13,13,14,297,297,297,339,211,211',
'211,211,14,14,281,366,6,2,380,749,370,625,861,588,777,378,6,317,210',
'362,106,374,375,376,377,318,572,321,579,582,322,324,324,324,324,337',
'634,783,346,350,785,472,560,361,567,313,661,327,796,328,797,698,265',
'906,703,267,267,267,779,880,782,806,565,858,263,274,275,372,409,566',
'711,666,917,874,752,827,13,517,523,787,780,663,898,316,319,390,323,14',
'211,211,211,390,876,211,211,211,211,211,211,13,826,795,385,631,631,265',
'265,400,830,674,14,614,789,249,265,639,780,457,690,932,379,399,405,466',
'648,282,523,467,418,419,420,421,903,658,770,364,365,367,368,784,581',
'266,369,211,211,713,718,778,757,266,745,701,211,944,,,,13,,13,497,,',
'492,13,,,,14,,14,,,641,288,14,,763,750,,478,480,479,869,,282,644,,,879',
'282,288,881,,15,,386,391,644,15,256,410,414,211,260,,,,,,877,485,878',
'297,908,279,893,211,211,894,279,895,674,,674,945,15,290,290,801,297',
',106,546,693,,508,211,803,892,544,545,721,,702,,119,644,15,,324,324',
'481,211,,644,634,487,,336,345,345,809,594,,587,659,762,122,523,564,800',
'124,,734,760,,937,265,739,938,267,939,,904,106,570,,415,267,465,409',
'774,896,674,943,,15,468,,936,,561,,,600,15,15,,,,605,,599,,,211,954',
',604,,,,,631,,616,,,,400,674,,674,,,,,660,,265,,,,,497,,,16,837,,,,16',
'497,,409,,13,,,,,,600,674,,600,409,14,,,621,,760,623,288,,211,,16,,636',
',,288,,,,,,15,,390,211,400,,,707,,,265,16,,,,,400,,,,265,,338,15,297',
',409,,13,,,13,409,297,,,653,,,14,,,14,523,692,,,,211,905,,900,,13,683',
',,685,211,,16,211,920,119,14,400,942,,,16,16,,,400,,,,,,,,15,723,15',
'704,122,,290,15,124,,,,594,324,768,211,211,,772,,211,211,,290,211,497',
'630,13,687,687,,,,,13,13,764,,14,594,,,,,,14,14,705,706,811,,,,756,',
',288,,,773,758,759,,13,804,662,,288,,808,,13,13,16,14,,,,600,,413,605',
'14,14,,,,,,769,,594,,,,297,16,775,776,,594,921,,,,119,297,,,,13,,,,644',
'13,211,,,,,14,,730,732,13,14,,735,737,,,414,,,,14,,,802,,,,,,211,,,',
'324,729,812,,,16,,16,,,,,16,,,13,,,871,,,,,,,13,14,,,,,,,,,,14,,,805',
'840,833,,,,810,,,,,,836,15,,13,13,,,13,290,,,,211,13,14,14,,290,14,',
',422,,,14,,,,297,865,866,,,868,,863,,,,,,,,,13,324,,,,884,,,,814,,14',
',,,,,,15,,,15,,,265,935,887,,,,,469,,,,,,,,,409,,687,15,297,,,,,,482',
',717,,,,,,,,,,211,13,,,,,409,13,,13,,,14,594,,320,,400,14,,14,,,,,,',
'933,,,,,,934,,,15,,,,,37,,15,15,,37,,,16,,,,,290,,,,,,,,,,,290,,,,,',
',15,37,286,286,,,,,15,15,,,,,,,,,,,,,,37,,25,,,,,25,,,,332,348,348,348',
'16,,,16,,,,25,,15,,,,,15,25,25,25,608,25,,,,,15,16,,,,,,,,,37,,,,,,',
'25,,37,37,,387,25,25,,,25,417,,,,,,,,,626,,15,,629,413,,,,,,,15,,,,842',
'637,,16,,,,640,,,16,16,,25,,,,,25,25,25,25,25,25,,15,15,,,15,,,,,,15',
',,,16,474,,476,,477,,,16,16,,,37,,,,,,,,,345,,,,,,15,,,,,,,,37,,,,,',
',,,,,,16,,,,712,16,,,,,,,,,,16,,,,,,25,25,25,25,,,25,25,25,25,25,25',
',,,,,,,,,,15,25,,37,,37,15,,15,286,37,16,,,,,,,,,,16,,,,843,286,,,,',
'590,,,25,25,,,,,,,,25,765,,,,,,16,16,,,16,,,,,25,16,25,,,38,,25,,,38',
',791,,,,,,,,,,,,,,,,,,,,16,,,25,,38,287,287,,,,,,,,,,25,25,,,,632,,320',
',635,38,,,,,,,,,,25,333,349,349,349,,,,,,,,,,,,25,,,,657,,,,632,,16',
'320,,,,,16,,16,,,,,38,847,,,,,,,,38,38,857,,,,,,,,,,,,417,,,,,,,,,,873',
',,,37,,,25,,,,286,,,,,,,,,286,,,,,,,,,,,,,724,,,,632,320,,,,,,,,,,,',
',,,,,,,,,,25,38,,,,37,,,37,25,,,,,,761,,,,,,,,,38,25,,,,,37,,,,,,,,',
',,,,,,,,,,,,,,,,786,,,,,,25,,,25,,,,,,25,,,,,,,,,,25,,38,25,38,37,25',
',287,38,,,37,37,,,,,,,,,,286,,287,,813,,,,,,,286,,,,25,25,,37,,25,25',
',,25,,37,37,,,,,,,,,,,25,,,,,,,25,25,,,,,,,,,,,,,,,,,,,37,,,,,37,,,',
'25,,,,867,,37,,25,25,,,,,,,,,,,,320,,,,,,,,,,,,,,,,,,,,,25,,,37,,25',
',,,,25,,,37,,,,838,,,25,,,,,,,,,25,,,,,,,,,,668,670,671,37,37,,,37,',
',,,,37,,,,,,,25,,,,,38,,,,,25,,287,,,,,,348,,,287,,,37,,,,,,,,,,,,,25',
',25,25,,,25,,,,,,25,,,218,,,,,,,,264,264,264,,,,38,,,38,,,,307,308,309',
',,,,25,,,,,,,37,264,264,,38,,37,,37,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,25,,,,,,,,,,,,25,,,38,,,25,,25,,38,38,,,,,,,,,,287,,,,,,,,,,,287',
',,,,,,38,,,,,,,,38,38,,,,,,,,,,,,,,,,820,822,823,,,,,,,,,,,,,,,,,,,',
'38,264,392,264,,38,411,416,,849,850,,,852,854,38,856,,,,,,218,,,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,456,,,,38,,264,264,,,,,,,38,264,,,839,,',
',264,,264,,264,,,,,,,,,,,,,,,,,38,38,,,38,,,,,,38,,,,910,911,913,915',
',916,503,,,,,,,,,,926,928,929,930,,349,,,,,,38,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,948,950,951,952,,,,953,,,,,,,,,,,955,,,,,,,264,,,,,38,,,',
',,38,,38,,,,,,,,,,,,,,,,,,,,,,,,264,,411,615,392,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,264,,264,,264,,,,,,,,,,,,,264,,,,,,,,,,650,651',
'652,,,,,,264,,,,264,,,264,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,264,264',
',,,,,,,,,264,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,264,726,,,264,264,731,733',
',,,736,738,,,615,740,,,,,,,,,,,,,,,,,,,,,,,,,,264,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,264,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,264,,815,,,,,,,,,,,,,,731,733,738,736,,818,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,264,,,,,,,,,,,,,,,,,264,815,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,264' ]
        racc_goto_table = arr = ::Array.new(2679, 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,124,10,53,20,32,32,32,115,20,22,17,8,62,30,21,112,46,14,14,21',
'57,57,35,35,58,58,85,7,82,82,89,4,7,6,21,20,68,151,30,63,63,63,21,21',
'21,11,21,21,21,84,84,37,146,23,48,66,66,20,54,108,51,9,22,36,36,36,119',
'63,21,64,64,35,35,64,21,21,106,151,21,21,21,21,26,88,147,47,60,60,26',
'107,117,42,4,5,1,148,12,16,16,83,15,16,120,69,38,69,20,28,28,67,111',
'28,67,38,38,20,20,21,60,60,60,18,21,21,21,21,21,21,43,137,7,2,29,113',
'137,39,109,59,117,7,7,61,19,77,88,16,16,16,16,78,141,79,141,141,81,28',
'28,28,28,86,151,111,52,52,111,68,87,90,91,92,93,94,95,96,97,98,32,99',
'100,65,65,65,113,148,113,101,102,106,41,41,41,5,54,103,104,124,119,105',
'110,118,20,121,115,108,146,122,109,65,65,63,123,21,21,21,21,63,112,21',
'21,21,21,21,21,20,117,11,9,69,69,32,32,66,120,107,21,22,107,125,32,48',
'146,126,85,109,2,35,35,128,48,9,115,129,28,28,28,28,130,131,132,135',
'136,138,139,147,140,63,142,21,21,143,144,145,38,63,23,51,21,109,,,,20',
',20,46,,,30,20,,,,21,,21,,,22,21,21,,23,115,,4,7,6,84,,9,35,,,111,9',
'21,111,,24,,19,19,35,24,66,19,19,21,66,,,,,,113,47,113,60,89,42,111',
'21,21,111,42,111,107,,107,83,24,24,24,23,60,,88,4,22,,28,21,23,113,16',
'16,141,,22,,54,35,24,,28,28,43,21,,35,151,43,,24,24,24,124,30,,14,26',
'48,57,115,28,82,58,,37,68,,111,32,37,111,65,111,,11,88,28,,17,65,41',
'54,64,107,107,111,,24,41,,113,,88,,,66,24,24,,,,66,,36,,,21,111,,36',
',,,,69,,30,,,,66,107,,107,,,,,62,,32,,,,,46,,,25,82,,,,25,46,,54,,20',
',,,,,66,107,,66,54,21,,,36,,68,36,21,,21,,25,,7,,,21,,,,,,24,,63,21',
'66,,,8,,,32,25,,,,,66,,,,32,,25,24,60,,54,,20,,,20,54,60,,,28,,,21,',
',21,115,63,,,,21,85,,82,,20,9,,,9,21,,25,21,10,54,21,66,23,,,25,25,',
',66,,,,,,,,24,14,24,16,57,,24,24,58,,,,30,28,62,21,21,,62,,21,21,,24',
'21,46,65,20,88,88,,,,,20,20,46,,21,30,,,,,,21,21,88,88,53,,,,9,,,21',
',,30,9,9,,20,8,65,,21,,8,,20,20,25,21,,,,66,,25,66,21,21,,,,,,9,,30',
',,,60,25,9,9,,30,22,,,,54,60,,,,20,,,,35,20,21,,,,,21,,19,19,20,21,',
'19,19,,,19,,,,21,,,16,,,,,,21,,,,28,65,9,,,25,,25,,,,,25,,,20,,,8,,',
',,,,20,21,,,,,,,,,,21,,,88,21,9,,,,88,,,,,,9,24,,20,20,,,20,24,,,,21',
'20,21,21,,24,21,,,44,,,21,,,,60,9,9,,,9,,16,,,,,,,,,20,28,,,,21,,,,19',
',21,,,,,,,24,,,24,,,32,8,9,,,,,44,,,,,,,,,54,,88,24,60,,,,,,44,,24,',
',,,,,,,,21,20,,,,,54,20,,20,,,21,30,,27,,66,21,,21,,,,,,,9,,,,,,9,,',
'24,,,,,49,,24,24,,49,,,25,,,,,24,,,,,,,,,,,24,,,,,,,24,49,49,49,,,,',
'24,24,,,,,,,,,,,,,,49,,40,,,,,40,,,,49,49,49,49,25,,,25,,,,40,,24,,',
',,24,40,40,40,44,40,,,,,24,25,,,,,,,,,49,,,,,,,40,,49,49,,27,40,40,',
',40,27,,,,,,,,,44,,24,,44,25,,,,,,,24,,,,24,44,,25,,,,44,,,25,25,,40',
',,,,40,40,40,40,40,40,,24,24,,,24,,,,,,24,,,,25,27,,27,,27,,,25,25,',
',49,,,,,,,,,24,,,,,,24,,,,,,,,49,,,,,,,,,,,,25,,,,44,25,,,,,,,,,,25',
',,,,,40,40,40,40,,,40,40,40,40,40,40,,,,,,,,,,,24,40,,49,,49,24,,24',
'49,49,25,,,,,,,,,,25,,,,25,49,,,,,27,,,40,40,,,,,,,,40,44,,,,,,25,25',
',,25,,,,,40,25,40,,,50,,40,,,50,,44,,,,,,,,,,,,,,,,,,,,25,,,40,,50,50',
'50,,,,,,,,,,40,40,,,,27,,27,,27,50,,,,,,,,,,40,50,50,50,50,,,,,,,,,',
',,40,,,,27,,,,27,,25,27,,,,,25,,25,,,,,50,44,,,,,,,,50,50,44,,,,,,,',
',,,,27,,,,,,,,,,44,,,,49,,,40,,,,49,,,,,,,,,49,,,,,,,,,,,,,27,,,,27',
'27,,,,,,,,,,,,,,,,,,,,,,40,50,,,,49,,,49,40,,,,,,27,,,,,,,,,50,40,,',
',,49,,,,,,,,,,,,,,,,,,,,,,,,,27,,,,,,40,,,40,,,,,,40,,,,,,,,,,40,,50',
'40,50,49,40,,50,50,,,49,49,,,,,,,,,,49,,50,,27,,,,,,,49,,,,40,40,,49',
',40,40,,,40,,49,49,,,,,,,,,,,40,,,,,,,40,40,,,,,,,,,,,,,,,,,,,49,,,',
',49,,,,40,,,,27,,49,,40,40,,,,,,,,,,,,27,,,,,,,,,,,,,,,,,,,,,40,,,49',
',40,,,,,40,,,49,,,,49,,,40,,,,,,,,,40,,,,,,,,,,114,114,114,49,49,,,49',
',,,,,49,,,,,,,40,,,,,50,,,,,40,,50,,,,,,49,,,50,,,49,,,,,,,,,,,,,40',
',40,40,,,40,,,,,,40,,,31,,,,,,,,31,31,31,,,,50,,,50,,,,31,31,31,,,,',
'40,,,,,,,49,31,31,,50,,49,,49,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,40',
',,,,,,,,,,,40,,,50,,,40,,40,,50,50,,,,,,,,,,50,,,,,,,,,,,50,,,,,,,50',
',,,,,,,50,50,,,,,,,,,,,,,,,,114,114,114,,,,,,,,,,,,,,,,,,,,50,31,31',
'31,,50,31,31,,114,114,,,114,114,50,114,,,,,,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,31,,,50,,,,31,,31,,31,,,,,,,,,,,,,,,,,50,50,,,50,,,,,,50,,',
',114,114,114,114,,114,31,,,,,,,,,,114,114,114,114,,50,,,,,,50,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,114,114,114,114,,,,114,,,,,,,,,,,114,,,,,',
',31,,,,,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,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,31,,,,,,,,,,,,,,,,,31,31,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,31' ]
        racc_goto_check = arr = ::Array.new(2679, 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,    96,   133,   nil,    30,    90,    32,    29,   -41,    31,
  -308,  -458,  -556,   nil,    11,    93,    39,  -192,    58,   124,
     5,    16,  -189,  -338,   320,   474,  -114,   862,    49,    20,
    -4,  1790,   -22,   nil,   nil,  -177,    40,  -199,  -351,  -325,
  1001,   162,    61,    98,   611,   nil,   -15,    53,  -245,   945,
  1284,  -280,    98,   -64,    -8,   nil,   nil,    14,    18,  -245,
    55,    87,   -42,    13,  -244,   153,    32,  -347,  -229,  -366,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,    77,    94,    95,
   nil,    97,  -295,  -582,  -493,  -302,    96,  -178,    82,  -534,
   101,  -191,   116,  -336,   111,  -512,   112,  -513,  -376,  -690,
  -380,  -519,  -162,  -165,  -371,  -612,  -710,  -440,  -470,  -652,
  -418,  -506,  -601,  -483,  1218,  -314,   nil,  -526,  -552,  -685,
  -649,  -120,  -310,   153,  -321,   217,    -5,   nil,    -8,    -5,
  -610,  -247,  -398,   nil,   nil,   187,   186,    52,   183,   183,
  -102,  -213,   186,  -303,  -303,  -394,  -613,  -583,  -724,   nil,
   nil,  -434 ]

racc_goto_default = [
   nil,   nil,   nil,     3,   nil,     4,   331,   277,   nil,   311,
   nil,   793,   nil,   276,   nil,   nil,   nil,    11,    12,    18,
   217,   306,   nil,   nil,   215,   216,   nil,   270,    17,   nil,
   423,    21,    22,    23,    24,   647,   nil,   nil,   nil,   nil,
   294,   394,    31,   nil,   nil,    33,    36,    35,   nil,   212,
   213,   343,   nil,   121,   402,   120,   123,    72,    73,   nil,
    45,   nil,   655,   395,   nil,   396,   407,   601,   470,   268,
   254,    46,    47,    48,    49,    50,    51,    52,   nil,   255,
    58,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   541,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   676,   530,   nil,   677,
   nil,   520,   nil,   522,   nil,   781,   617,   nil,   nil,   nil,
   528,   nil,   nil,   nil,   710,   nil,   nil,   406,   nil,   nil,
   nil,   nil,   nil,    71,    74,    75,   nil,   nil,   nil,   nil,
   nil,   577,   nil,   nil,   nil,   521,   532,   533,   755,   536,
   539,   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,
  2, 197, :_reduce_295,
  6, 197, :_reduce_296,
  6, 197, :_reduce_297,
  0, 231, :_reduce_298,
  0, 232, :_reduce_299,
  7, 197, :_reduce_300,
  0, 233, :_reduce_301,
  0, 234, :_reduce_302,
  7, 197, :_reduce_303,
  5, 197, :_reduce_304,
  4, 197, :_reduce_305,
  0, 235, :_reduce_306,
  0, 236, :_reduce_307,
  9, 197, :_reduce_308,
  0, 237, :_reduce_309,
  6, 197, :_reduce_310,
  0, 238, :_reduce_311,
  7, 197, :_reduce_312,
  0, 239, :_reduce_313,
  5, 197, :_reduce_314,
  0, 240, :_reduce_315,
  6, 197, :_reduce_316,
  0, 241, :_reduce_317,
  0, 242, :_reduce_318,
  9, 197, :_reduce_319,
  1, 197, :_reduce_320,
  1, 197, :_reduce_321,
  1, 197, :_reduce_322,
  1, 197, :_reduce_323,
  1, 158, :_reduce_none,
  1, 219, :_reduce_none,
  1, 219, :_reduce_none,
  2, 219, :_reduce_327,
  1, 221, :_reduce_none,
  1, 221, :_reduce_none,
  1, 220, :_reduce_none,
  5, 220, :_reduce_331,
  1, 148, :_reduce_none,
  2, 148, :_reduce_333,
  1, 223, :_reduce_none,
  1, 223, :_reduce_none,
  1, 243, :_reduce_336,
  3, 243, :_reduce_337,
  1, 246, :_reduce_338,
  3, 246, :_reduce_339,
  1, 245, :_reduce_none,
  4, 245, :_reduce_341,
  6, 245, :_reduce_342,
  3, 245, :_reduce_343,
  5, 245, :_reduce_344,
  2, 245, :_reduce_345,
  4, 245, :_reduce_346,
  1, 245, :_reduce_347,
  3, 245, :_reduce_348,
  6, 247, :_reduce_349,
  8, 247, :_reduce_350,
  4, 247, :_reduce_351,
  6, 247, :_reduce_352,
  4, 247, :_reduce_353,
  2, 247, :_reduce_none,
  6, 247, :_reduce_355,
  2, 247, :_reduce_356,
  4, 247, :_reduce_357,
  6, 247, :_reduce_358,
  2, 247, :_reduce_359,
  4, 247, :_reduce_360,
  2, 247, :_reduce_361,
  4, 247, :_reduce_362,
  1, 247, :_reduce_363,
  0, 175, :_reduce_364,
  1, 175, :_reduce_365,
  3, 253, :_reduce_366,
  1, 253, :_reduce_367,
  4, 253, :_reduce_368,
  0, 254, :_reduce_369,
  2, 254, :_reduce_370,
  1, 255, :_reduce_371,
  3, 255, :_reduce_372,
  1, 256, :_reduce_373,
  1, 256, :_reduce_none,
  0, 260, :_reduce_375,
  3, 218, :_reduce_376,
  4, 258, :_reduce_377,
  1, 258, :_reduce_378,
  3, 259, :_reduce_379,
  3, 259, :_reduce_380,
  0, 263, :_reduce_381,
  5, 262, :_reduce_382,
  2, 171, :_reduce_383,
  4, 171, :_reduce_384,
  4, 171, :_reduce_385,
  2, 217, :_reduce_386,
  4, 217, :_reduce_387,
  4, 217, :_reduce_388,
  3, 217, :_reduce_389,
  3, 217, :_reduce_390,
  3, 217, :_reduce_391,
  2, 217, :_reduce_392,
  1, 217, :_reduce_393,
  4, 217, :_reduce_394,
  0, 265, :_reduce_395,
  5, 216, :_reduce_396,
  0, 266, :_reduce_397,
  5, 216, :_reduce_398,
  5, 222, :_reduce_399,
  1, 267, :_reduce_400,
  1, 267, :_reduce_none,
  6, 147, :_reduce_402,
  0, 147, :_reduce_403,
  1, 268, :_reduce_404,
  1, 268, :_reduce_none,
  1, 268, :_reduce_none,
  2, 269, :_reduce_407,
  1, 269, :_reduce_none,
  2, 149, :_reduce_409,
  1, 149, :_reduce_none,
  1, 208, :_reduce_none,
  1, 208, :_reduce_none,
  1, 208, :_reduce_none,
  1, 209, :_reduce_414,
  1, 271, :_reduce_415,
  2, 271, :_reduce_416,
  3, 272, :_reduce_417,
  1, 272, :_reduce_418,
  1, 272, :_reduce_419,
  3, 210, :_reduce_420,
  4, 211, :_reduce_421,
  3, 212, :_reduce_422,
  0, 276, :_reduce_423,
  3, 276, :_reduce_424,
  1, 277, :_reduce_425,
  2, 277, :_reduce_426,
  3, 213, :_reduce_427,
  0, 279, :_reduce_428,
  3, 279, :_reduce_429,
  0, 273, :_reduce_430,
  2, 273, :_reduce_431,
  0, 274, :_reduce_432,
  2, 274, :_reduce_433,
  0, 275, :_reduce_434,
  2, 275, :_reduce_435,
  1, 278, :_reduce_436,
  2, 278, :_reduce_437,
  0, 281, :_reduce_438,
  4, 278, :_reduce_439,
  1, 280, :_reduce_440,
  1, 280, :_reduce_441,
  1, 280, :_reduce_442,
  1, 280, :_reduce_none,
  1, 194, :_reduce_444,
  3, 195, :_reduce_445,
  1, 270, :_reduce_446,
  1, 270, :_reduce_447,
  2, 270, :_reduce_448,
  2, 270, :_reduce_449,
  1, 186, :_reduce_450,
  1, 186, :_reduce_451,
  1, 186, :_reduce_452,
  1, 186, :_reduce_453,
  1, 186, :_reduce_454,
  1, 187, :_reduce_455,
  1, 187, :_reduce_456,
  1, 187, :_reduce_457,
  1, 187, :_reduce_458,
  1, 187, :_reduce_459,
  1, 187, :_reduce_460,
  1, 187, :_reduce_461,
  1, 214, :_reduce_462,
  1, 214, :_reduce_463,
  1, 157, :_reduce_464,
  1, 157, :_reduce_465,
  1, 161, :_reduce_466,
  1, 161, :_reduce_467,
  1, 224, :_reduce_468,
  3, 224, :_reduce_469,
  2, 224, :_reduce_470,
  3, 226, :_reduce_471,
  2, 226, :_reduce_472,
  6, 261, :_reduce_473,
  8, 261, :_reduce_474,
  4, 261, :_reduce_475,
  6, 261, :_reduce_476,
  4, 261, :_reduce_477,
  6, 261, :_reduce_478,
  2, 261, :_reduce_479,
  4, 261, :_reduce_480,
  6, 261, :_reduce_481,
  2, 261, :_reduce_482,
  4, 261, :_reduce_483,
  2, 261, :_reduce_484,
  4, 261, :_reduce_485,
  1, 261, :_reduce_486,
  0, 261, :_reduce_487,
  1, 257, :_reduce_488,
  1, 257, :_reduce_489,
  1, 257, :_reduce_490,
  1, 257, :_reduce_491,
  1, 244, :_reduce_none,
  1, 244, :_reduce_none,
  1, 283, :_reduce_494,
  3, 283, :_reduce_495,
  1, 248, :_reduce_496,
  3, 248, :_reduce_497,
  3, 284, :_reduce_498,
  3, 285, :_reduce_499,
  1, 249, :_reduce_500,
  3, 249, :_reduce_501,
  1, 282, :_reduce_502,
  3, 282, :_reduce_503,
  1, 286, :_reduce_none,
  1, 286, :_reduce_none,
  2, 250, :_reduce_506,
  1, 250, :_reduce_507,
  1, 287, :_reduce_none,
  1, 287, :_reduce_none,
  2, 252, :_reduce_510,
  2, 251, :_reduce_511,
  0, 251, :_reduce_512,
  1, 227, :_reduce_none,
  3, 227, :_reduce_514,
  0, 215, :_reduce_515,
  2, 215, :_reduce_none,
  1, 202, :_reduce_517,
  3, 202, :_reduce_518,
  3, 288, :_reduce_519,
  2, 288, :_reduce_520,
  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, 264, :_reduce_none,
  1, 264, :_reduce_none,
  1, 264, :_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_537,
  2, 160, :_reduce_538,
  0, 201, :_reduce_none,
  1, 201, :_reduce_none,
  1, 201, :_reduce_none,
  1, 225, :_reduce_542,
  1, 225, :_reduce_none,
  1, 143, :_reduce_none,
  2, 143, :_reduce_none,
  0, 199, :_reduce_546 ]

racc_reduce_n = 547

racc_shift_n = 956

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",
  "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",
  "@19",
  "f_args",
  "do_block",
  "@20",
  "operation3",
  "@21",
  "@22",
  "cases",
  "exc_list",
  "exc_var",
  "numeric",
  "string",
  "string1",
  "string_contents",
  "xstring_contents",
  "regexp_contents",
  "word_list",
  "word",
  "string_content",
  "qword_list",
  "string_dvar",
  "@23",
  "f_optarg",
  "f_arg_item",
  "f_opt",
  "f_block_opt",
  "restarg_mark",
  "blkarg_mark",
  "assoc" ]

Racc_debug_parser = false

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

# reduce 0 omitted

# reduce 1 omitted

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

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

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

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

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

# reduce 7 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# 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
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                      @lexer.pop_cmdarg
                      @static_env.unextend
                    
    result
end

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

                      @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
end

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

                      @lexer.pop_cmdarg
                      @static_env.unextend

                      @def_level = val[4]
                    
    result
end

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

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

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

                      @lexer.pop_cmdarg
                      @static_env.unextend
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

# reduce 324 omitted

# reduce 325 omitted

# reduce 326 omitted

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

# reduce 328 omitted

# reduce 329 omitted

# reduce 330 omitted

def _reduce_331(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 332 omitted

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

# reduce 334 omitted

# reduce 335 omitted

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

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

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

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

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

# reduce 340 omitted

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

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

def _reduce_342(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_343(val, _values, result)
                      result = val[0].
                                  push(@builder.restarg(val[2]))
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 354 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 374 omitted

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

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

                      @static_env.unextend
                    
    result
end

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

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

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

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

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

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

                      @static_env.unextend
                    
    result
end

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

def _reduce_390(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_391(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_392(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_393(val, _values, result)
                      result = @builder.keyword_cmd(:zsuper, val[0])
                    
    result
end

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

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

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

                      @static_env.unextend
                    
    result
end

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

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

                      @static_env.unextend
                    
    result
end

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

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

# reduce 401 omitted

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

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

# reduce 405 omitted

# reduce 406 omitted

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

# reduce 408 omitted

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

# reduce 410 omitted

# reduce 411 omitted

# reduce 412 omitted

# reduce 413 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 443 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                      @lexer.state = :expr_value
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 492 omitted

# reduce 493 omitted

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

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

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

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

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

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

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

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

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

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

# reduce 504 omitted

# reduce 505 omitted

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

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

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

# reduce 508 omitted

# reduce 509 omitted

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

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

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

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

# reduce 513 omitted

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

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

# reduce 516 omitted

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

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

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

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

# reduce 521 omitted

# reduce 522 omitted

# reduce 523 omitted

# reduce 524 omitted

# 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

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

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

# reduce 539 omitted

# reduce 540 omitted

# reduce 541 omitted

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

# reduce 543 omitted

# reduce 544 omitted

# reduce 545 omitted

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

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

  end   # class Ruby19
  end   # module Parser
