lib/parser/ruby21.rb



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

require 'racc/parser.rb'


require 'parser'

Parser.check_for_encoding_support

warn "warning: you are loading parser/ruby21 from #{caller[0]}."
warn "warning: Ruby 2.1 is not released yet and parser support may be incomplete."

module Parser
  class Ruby21 < Parser::Base

module_eval(<<'...end ruby21.y/module_eval...', 'ruby21.y', 2337)

  def version
    21
  end

  def default_encoding
    Encoding::BINARY
  end
...end ruby21.y/module_eval...
##### State transition tables begin ###

clist = [
'-472,285,69,70,71,9,57,-472,-472,-472,63,64,-472,-472,-472,67,-472,65',
'66,68,30,31,72,73,-472,-83,-472,-472,-472,29,28,27,97,96,98,99,-472',
'-472,19,-472,-472,-472,-472,-472,8,45,287,10,101,100,102,91,56,93,92',
'94,609,95,103,104,588,89,90,588,42,43,41,-472,-472,-472,-472,-472,-472',
'-472,-472,-472,-472,-472,-472,-472,-472,822,562,-472,-472,-472,40,-472',
'-472,33,-104,-472,58,59,-472,-472,60,-472,35,-472,264,-472,44,-472,-472',
'264,-472,-472,-472,-472,-472,20,-472,-99,-472,667,88,79,81,82,733,83',
'85,84,86,-98,583,588,-472,80,87,-472,-472,-472,-472,-567,-472,62,-472',
'-472,588,-100,-567,-567,-567,-97,873,-99,-567,-567,666,-567,264,79,-102',
'822,632,594,210,211,-567,630,667,608,588,80,210,211,109,-102,259,-567',
'-567,108,-567,-567,-567,-567,-567,109,213,-100,109,-91,108,827,109,108',
'263,-105,-103,108,561,263,-101,600,-101,666,-99,601,-95,234,-567,-567',
'-567,-567,-567,-567,-567,-567,-567,-567,-567,-567,-567,-567,733,733',
'-567,-567,-567,214,651,631,264,109,-567,829,629,-567,108,830,-99,-484',
'-567,-89,-567,-99,-567,-567,263,-567,-567,-567,-567,-567,109,-567,-567',
'-567,-91,108,667,109,617,-88,-564,-90,108,109,-100,214,-563,-567,108',
'-100,-567,-567,-469,-92,831,-567,-563,-102,-101,-469,-469,-469,-102',
'-93,-469,-469,-469,109,-469,-98,855,666,108,259,-91,-91,-469,-91,-469',
'-469,-469,789,-91,-96,-94,-567,210,211,-469,-469,-92,-469,-469,-469',
'-469,-469,263,-101,210,211,832,-93,-101,619,618,109,109,667,567,617',
'108,108,617,767,834,788,836,541,470,-469,-469,-469,-469,-469,-469,-469',
'-469,-469,-469,-469,-469,-469,-469,-102,838,-469,-469,-469,-567,-469',
'-469,-290,666,-469,617,-567,-469,-469,-290,-469,-563,-469,-567,-469',
'-567,-469,-469,-290,-469,-469,-469,-469,-469,840,-469,-408,-469,-100',
'-93,-104,-105,361,360,-567,619,618,628,619,618,633,-469,214,596,-469',
'-469,-469,-469,-289,-469,597,-469,-469,840,214,-289,-289,-289,-483,595',
'-289,-289,-289,109,-289,214,-567,234,108,-93,619,618,-93,-567,-289,-289',
'-289,-93,-563,-408,765,-560,-567,846,-289,-289,-408,-289,-289,-289,-289',
'-289,-479,585,580,-408,344,343,342,-479,345,-567,580,696,344,343,342',
'422,345,822,-97,854,424,423,-408,-289,-289,-289,-289,-289,-289,-289',
'-289,-289,-289,-289,-289,-289,-289,259,256,-289,-289,-289,-469,791,-289',
'257,617,-289,214,-469,-289,-289,617,-289,-560,-289,574,-289,-469,-289',
'-289,-561,-289,-289,-289,-289,-289,-289,-289,572,-289,-476,-475,570',
'-289,-289,-289,-560,-476,-475,-289,-289,568,-289,-289,726,567,-289,-289',
'-289,-289,234,-289,909,-289,-103,214,617,256,950,564,541,259,-289,-289',
'257,-289,-289,-289,-289,-289,619,618,624,-472,-474,214,619,618,622,617',
'-472,-474,231,109,-477,-561,233,232,108,-472,-484,-477,516,-289,-289',
'-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-95,-561',
'-289,-289,-289,-104,650,584,234,863,-289,558,-478,-289,619,618,620,557',
'-289,-478,-289,594,-289,-289,646,-289,-289,-289,-289,-289,-89,-289,414',
'-289,774,-98,-469,619,618,615,231,-480,214,-469,233,232,-264,-289,-480',
'208,-289,-289,-567,-94,214,-289,-483,645,-103,-567,-567,-567,351,-472',
'-567,-567,-567,604,-567,554,-472,-93,556,353,938,696,-102,-567,-567',
'-567,-567,-90,109,605,234,109,-99,108,-567,-567,108,-567,-567,-567,-567',
'-567,-96,109,313,314,-83,-105,108,-88,-91,-69,361,360,-97,-100,580,354',
'344,343,342,554,345,872,553,-567,-567,-567,-567,-567,-567,-567,-567',
'-567,-567,-567,-567,-567,-567,804,-280,-567,-567,-567,-481,790,-567',
'-280,815,-567,353,-481,-567,-567,576,-567,-280,-567,543,-567,-481,-567',
'-567,579,-567,-567,-567,-567,-567,-482,-567,-567,-567,210,211,580,-482',
'344,343,342,542,345,598,361,360,-482,-567,538,354,-567,-567,-567,-567',
'-281,-567,554,-567,-101,556,516,-281,-281,-281,850,822,-281,-281,-281',
'580,-281,344,343,342,576,345,554,259,234,556,-281,-281,-281,845,214',
'981,210,211,850,822,-281,-281,982,-281,-281,-281,-281,-281,536,537,268',
'980,210,211,234,514,599,576,875,567,231,878,880,882,233,232,579,229',
'230,884,214,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281',
'-281,-281,886,231,-281,-281,-281,233,232,-281,229,230,-281,534,889,-281',
'-281,253,-281,891,-281,892,-281,696,-281,-281,793,-281,-281,-281,-281',
'-281,894,-281,214,-281,580,-262,344,343,342,580,345,344,343,342,898',
'345,503,-281,527,-280,-281,-281,-281,-281,-569,-281,-280,-281,526,214',
'-68,-569,-569,-569,523,-280,-569,-569,-569,234,-569,-482,576,503,911',
'912,-332,576,-482,-569,-569,-569,-569,-332,634,248,249,-482,914,637',
'-569,-569,-332,-569,-569,-569,-569,-569,516,514,-481,231,512,237,604',
'233,232,-481,229,230,503,938,235,213,236,920,-481,-262,472,923,605,-569',
'-569,-569,-569,-569,-569,-569,-569,-569,-569,-569,-569,-569,-569,214',
'926,-569,-569,-569,-289,-265,-569,544,471,-569,775,-289,-569,-569,545',
'-569,-564,-569,469,-569,-289,-569,-569,468,-569,-569,-569,-569,-569',
'639,-569,-569,-569,580,214,344,343,342,580,345,344,343,342,-263,345',
'643,-569,425,466,-569,-569,-569,-569,-568,-569,467,-569,936,769,768',
'-568,-568,-568,939,468,-568,-568,-568,234,-568,-289,576,940,412,644',
'764,576,-289,-568,-568,-568,-568,-564,259,248,249,-289,951,840,-568',
'-568,840,-568,-568,-568,-568,-568,840,956,654,231,911,237,-289,233,232',
'657,229,230,214,-289,235,959,236,960,-564,234,965,234,-289,-568,-568',
'-568,-568,-568,-568,-568,-568,-568,-568,-568,-568,-568,-568,567,-290',
'-568,-568,-568,206,968,-568,-290,970,-568,972,207,-568,-568,974,-568',
'-290,-568,974,-568,205,-568,-568,234,-568,-568,-568,-568,-568,312,-568',
'-568,-568,580,736,344,343,342,594,345,234,532,729,983,214,724,-568,214',
'533,-568,-568,-568,-568,-407,-568,705,-568,531,911,311,-407,-407,-407',
'214,253,-407,-407,-407,234,-407,604,576,703,702,209,-290,214,603,-407',
'-407,-407,-564,-290,-563,248,249,605,702,696,-407,-407,-290,-407,-407',
'-407,-407,-407,204,203,547,231,840,237,911,233,232,214,229,230,1002',
'1003,235,902,236,344,343,342,1004,345,974,-407,-407,-407,-407,-407,-407',
'-407,-407,-407,-407,-407,-407,-407,-407,974,974,-407,-407,-407,214,202',
'-407,117,259,-407,214,214,-407,-407,685,-407,105,-407,974,-407,,-407',
'-407,,-407,-407,-407,-407,-407,,-407,-407,-407,902,,344,343,342,,345',
'112,113,114,115,116,,-407,,-245,-407,-407,,-407,,-407,-245,-245,-245',
',,-245,-245,-245,234,-245,759,760,,,761,103,104,,-245,-245,-245,,,,248',
'249,,,,-245,-245,,-245,-245,-245,-245,-245,,,,231,,237,,233,232,,229',
'230,,,235,,236,112,113,114,115,116,,-245,-245,-245,-245,-245,-245,-245',
'-245,-245,-245,-245,-245,-245,-245,,,-245,-245,-245,,,-245,,259,-245',
',,-245,-245,,-245,,-245,,-245,,-245,-245,,-245,-245,-245,-245,-245,',
'-245,-245,-245,112,113,114,115,116,,,,,,,,,-245,,,-245,-245,,-245,,-245',
'285,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'97,96,98,99,,,19,,,,,,8,45,287,10,101,100,102,91,56,93,92,94,,95,103',
'104,,89,90,,42,43,41,234,-586,-586,-586,-586,240,242,,,-586,-586,,,',
',,248,249,,40,,,33,,,58,59,,,60,,35,231,,237,44,233,232,,229,230,241',
'239,235,20,236,,,,88,79,81,82,,83,85,84,86,,,,,80,87,285,69,70,71,9',
'57,62,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99',
',,19,,,,,,8,45,287,10,101,100,102,91,56,93,92,94,,95,103,104,,89,90',
',42,43,41,234,-586,-586,-586,-586,240,242,,,-586,-586,,,,,,248,249,',
'40,,,33,,,58,59,,,60,,35,231,,237,44,233,232,,229,230,241,239,235,20',
'236,,,,88,79,81,82,,83,85,84,86,,,,,80,87,285,69,70,71,9,57,62,,,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8',
'45,287,10,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,234',
'-586,-586,-586,-586,240,242,,,-586,-586,,,,,,248,249,,40,,,33,,,58,59',
',,60,,35,231,,237,44,233,232,,229,230,241,239,235,20,236,,,,88,79,81',
'82,,83,85,84,86,,,,,80,87,285,69,70,71,9,57,62,,,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8,45,287,10,101,100',
'102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,234,238,243,244,245',
'240,242,250,251,246,247,,-586,-586,,,248,249,,40,,,33,,,58,59,,,60,',
'35,231,,237,44,233,232,,229,230,241,239,235,20,236,,,,88,79,81,82,,83',
'85,84,86,,,,,80,87,285,69,70,71,9,57,62,,,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8,45,287,10,101,100,102,91',
'56,93,92,94,,95,103,104,,89,90,,42,43,41,234,-586,-586,-586,-586,240',
'242,,,-586,-586,,,,,,248,249,,40,,,33,,,58,59,,,60,,35,231,,237,44,233',
'232,,229,230,241,239,235,20,236,,,,88,79,81,82,,83,85,84,86,,,,,80,87',
'285,69,70,71,9,57,62,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
'27,97,96,98,99,,,19,,,,,,8,45,287,10,101,100,102,91,56,93,92,94,,95',
'103,104,,89,90,,42,43,41,234,-586,-586,-586,-586,240,242,,,-586,-586',
',,,,,248,249,,40,,,33,,,58,59,,,60,,35,231,,237,44,233,232,,229,230',
'241,239,235,20,236,,,,88,79,81,82,,83,85,84,86,,,,,80,87,285,69,70,71',
'9,57,62,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99',
',,19,,,,,,8,45,287,10,101,100,102,91,56,93,92,94,,95,103,104,,89,90',
',42,43,41,234,238,243,244,245,240,242,250,251,246,247,,-586,-586,,,248',
'249,,40,,,33,,,58,59,,,60,,35,231,,237,44,233,232,,229,230,241,239,235',
'20,236,,,,88,79,81,82,,83,85,84,86,,,,,80,87,285,69,70,71,9,57,62,,',
'63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,',
',,8,45,287,10,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41',
'234,238,243,244,245,240,242,,,246,247,,,,,,248,249,,40,,,33,,,58,59',
',,60,,35,231,,237,44,233,232,,229,230,241,239,235,20,236,,,,88,79,81',
'82,,83,85,84,86,,,,,80,87,285,69,70,71,9,57,62,,,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8,45,287,10,101,100',
'102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,234,238,243,244,245',
'240,242,250,,246,247,,,,,,248,249,,40,,,33,,,58,59,,,60,,35,231,,237',
'44,233,232,,229,230,241,239,235,20,236,,,,88,79,81,82,,83,85,84,86,',
',,,80,87,285,69,70,71,9,57,62,,,63,64,,,,67,,65,66,68,30,31,72,73,,',
',,,29,28,27,97,96,98,99,,,19,,,,,655,8,45,287,10,101,100,102,91,56,93',
'92,94,,95,103,104,,89,90,,42,43,41,234,238,243,244,245,240,242,250,251',
'246,247,,227,228,,,248,249,,40,,,33,,,58,59,,,60,,35,231,,237,44,233',
'232,,229,230,241,239,235,20,236,,,,88,79,81,82,,83,85,84,86,,-296,,',
'80,87,,252,-296,-296,-296,,62,-296,-296,-296,234,-296,,,,,,,,,,-296',
'-296,,,,248,249,,,,-296,-296,,-296,-296,-296,-296,-296,,,,231,,237,',
'233,232,,229,230,,,,,,,,,,,,-296,-296,-296,-296,-296,-296,-296,-296',
'-296,-296,-296,-296,-296,-296,,,-296,-296,-296,,,-296,,268,-296,,,-296',
'-296,,-296,,-296,,-296,,-296,-296,,-296,-296,-296,-296,-296,,-296,,-296',
',,,,,,,,,,,,,-296,,,-296,-296,,-296,,-296,285,69,70,71,9,57,,,,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8,45',
'287,10,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,234,-586',
'-586,-586,-586,240,242,,,-586,-586,,,,,,248,249,,40,,,33,,,58,59,,,60',
',35,231,,237,44,233,232,,229,230,241,239,235,20,236,,,,88,79,81,82,',
'83,85,84,86,,,,,80,87,285,69,70,71,9,57,62,,,63,64,,,,67,,65,66,68,30',
'31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8,45,287,10,101,100,102',
'91,56,93,92,94,,95,103,104,,89,90,,42,43,41,234,,,,,,,,,,,,,,,,248,249',
',40,,,33,,,58,59,,,60,,35,231,,,44,233,232,,229,230,,,,20,,,,,88,79',
'81,82,,83,85,84,86,,,,,80,87,285,69,70,71,9,57,62,,,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8,45,287,10,101',
'100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,234,,,,,,,,,,,,',
',,,248,249,,40,,,33,,,58,59,,,60,,35,231,,237,44,233,232,,229,230,,',
',20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,285,69,70,71,9,57,62,,,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8',
'45,287,10,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,',
',,,,,,,,,,,,,,,,,40,,,289,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,88,79',
'81,82,,83,85,84,86,,,,,80,87,285,69,70,71,9,57,62,,,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8,45,287,10,101',
'100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,',
',,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85',
'84,86,,,,,80,87,285,69,70,71,9,57,62,,,63,64,,,,67,,65,66,68,30,31,72',
'73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8,45,287,10,101,100,102,91,56',
'93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,289,,',
'58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80',
'87,285,69,70,71,9,57,62,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,97,96,98,99,,,19,,,,,,8,45,287,10,101,100,102,91,56,93,92,94,',
'95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60',
',35,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,285,69,70',
'71,9,57,62,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98',
'99,,,19,,,,,,8,45,287,10,101,100,102,91,56,93,92,94,,95,103,104,,89',
'90,,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,289,,,58,59,,,60,,35,,,,44,,,,',
',,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,285,69,70,71,9,57,62,',
',63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,',
',,,8,45,287,10,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43',
'41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,',
'88,79,81,82,,83,85,84,86,,,,,80,87,285,69,70,71,9,57,62,,,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8,45,287,10',
'101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,',
',,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83',
'85,84,86,,,,,80,87,285,69,70,71,9,57,62,,,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8,45,287,10,101,100,102,91',
'56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33',
',,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80',
'87,285,69,70,71,9,57,62,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,97,96,98,99,,,19,,,,,,8,45,287,10,101,100,102,91,56,93,92,94,',
'95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60',
',35,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,285,69,70',
'71,9,57,62,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98',
'99,,,19,,,,,,8,45,287,10,101,100,102,91,56,93,92,94,,95,103,104,,89',
'90,,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,',
',,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,285,69,70,71,9,57,62,,',
'63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,',
',,8,45,287,10,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41',
',,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,88',
'79,81,82,,83,85,84,86,,,,,80,87,285,69,70,71,9,57,62,,,63,64,,,,67,',
'65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8,45,287,10',
'101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,',
',,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83',
'85,84,86,,,,,80,87,285,69,70,71,9,57,62,,,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,640,8,45,287,10,101,100,102',
'91,56,93,92,94,,95,103,104,,89,90,,42,43,41,234,238,243,244,245,240',
'242,250,251,246,247,,227,228,,,248,249,,40,,,33,,,58,59,,,60,,35,231',
',237,44,233,232,,229,230,241,239,235,20,236,,,,88,79,81,82,,83,85,84',
'86,,-245,,,80,87,,252,-245,-245,-245,,62,-245,-245,-245,803,-245,344',
'343,342,804,345,,,,-245,-245,,,,,353,,,,,-245,-245,,-245,-245,-245,-245',
'-245,580,,344,343,342,804,345,,,349,,,,,,,353,,358,357,361,360,,,580',
'354,344,343,342,804,345,,,,-245,,,,349,,353,-245,,,,,259,-245,,361,360',
'214,,,354,,,,,,,,349,,,,,,,-245,-245,,,361,360,,,,354,,,,,,-245,,,-245',
',,,,-245,5,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,97,96,98,99,,,19,,,,,,8,45,7,10,101,100,102,91,56,93,92,94,,95',
'103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35',
',,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,285,69,70,71',
'9,57,62,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99',
',,19,,,,,,8,45,287,10,101,100,102,91,56,93,92,94,,95,103,104,,89,90',
',42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,',
'20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,5,69,70,71,9,57,62,,,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8,45',
'7,10,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,',
',,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,88,79,81,82',
',83,85,84,86,,,,,80,87,5,69,70,71,9,57,62,,,63,64,,,,67,,65,66,68,30',
'31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8,45,7,10,101,100,102,91',
'56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33',
',,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80',
'87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301',
'307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103',
'104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,',
'44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,',
'62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19',
',,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,',
',,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,88,79',
'81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,,45,,,101,100,102,91',
'56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225',
',,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80',
'87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'97,96,98,99,,,19,,,,,655,,45,,,101,100,102,91,56,93,92,94,,95,103,104',
',89,90,,42,43,41,234,238,243,244,245,240,242,250,251,246,247,,227,228',
',,248,249,,219,,,225,,,58,59,,,60,,,231,,237,44,233,232,,229,230,241',
'239,235,20,236,,,,88,79,81,82,,83,85,84,86,,,,,80,87,109,252,,-239,',
'108,62,69,70,71,,57,,,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300',
'301,307,97,96,98,99,,,226,,,,,,,302,,,101,100,102,91,56,93,92,94,,95',
'103,104,,89,90,,,,308,,,,,,,,,,,,,,,,,,,,374,,,33,,,58,59,,,60,,35,',
',,,,,,,,,,,,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62',
',63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,',
'226,,,,,,,302,,,101,100,102,379,56,93,92,380,,95,103,104,,89,90,,,,308',
',,,,,,,,,,,,,,,,386,,,381,,,225,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,88,79',
'81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68',
'304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,302,,,101,100',
'102,379,56,93,92,380,,95,103,104,,89,90,,,,308,,,,,,,,,,,,,,,,,,,,381',
',,225,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,88,79,81,82,,83,85,84,86,,,,,80',
'87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104',
',89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,',
',,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,',
'63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226',
',,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,',
',,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88',
'79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,226,,,,,,,45,,,101,100,102',
'91,56,93,92,94,279,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219',
',,225,,,58,59,,,60,,277,,275,,44,,,280,,,,,,224,,,,,88,79,81,82,,83',
'85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72',
'73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93',
'92,94,279,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,',
',58,59,,,60,,,,,,44,,,280,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,',
'80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300',
'301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,279',
'95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60',
',277,,,,44,,,280,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69',
'70,71,9,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96',
'98,99,,,19,,,,,,8,45,7,10,101,100,102,91,56,93,92,94,,95,103,104,,89',
'90,,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,',
',,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,414,62,,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,',
'45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,',
',,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,88,79,81,82',
',83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,,45,,,101,100,102,91,56,93',
'92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58',
'59,,,60,,,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69',
'70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96',
'98,99,,,19,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90',
',42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,',
'20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,',
',67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,,45,,',
'101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,',
',,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83',
'85,84,86,,,,,80,87,69,70,71,9,57,,62,,63,64,,,,67,,65,66,68,30,31,72',
'73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8,45,,10,101,100,102,91,56,93',
'92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59',
',,60,,35,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69',
'70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96',
'98,99,,,19,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90',
',42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,',
'20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,',
',67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,',
',302,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,,,308,,,,,,,,',
',,,,,,,,,,,888,,,225,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,88,79,81,82,,83',
'85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72',
'73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,302,,,101,100,102,91,56',
'93,92,94,,95,103,104,,89,90,,,,308,,,,,,,,,,,,,,,,,,,,298,,,294,,,58',
'59,,,60,,,,,,,,,,,,,,,,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70',
'71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97',
'96,98,99,,,226,,,,,,,302,,,101,100,102,91,56,93,92,94,,95,103,104,,89',
'90,,,,308,,,,,,,,,,,,,,,,,,,,946,,,225,,,58,59,,,60,,,,,,,,,,,,,,,,',
',,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,226,,,,,,,45,,,101',
'100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,',
',,,219,,,225,,,58,59,,,60,,430,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83',
'85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72',
'73,,,,,,29,28,27,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92',
'94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59',
',,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70',
'71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98',
'99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,279,95,103,104,,89,90',
',42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,277,,275,,44,,',
'280,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,9,57,,62',
',63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,',
',,,8,45,287,10,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43',
'41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,',
'88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,414,62,,63,64,,,,67',
',65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45',
',,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,',
',,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82',
',83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93',
'92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58',
'59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69',
'70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96',
'98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90',
',42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,430,,,,44,,,,,',
',,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,,45',
',,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,',
',,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,88,79,81,82,',
'83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,,45,,,101,100,102,91,56,93',
'92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58',
'59,,,60,,,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69',
'70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96',
'98,99,,,19,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90',
',42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,',
'20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,',
',67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,,45,,',
'101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,',
',,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83',
'85,84,86,,,,,80,87,214,69,70,71,,57,62,,,63,64,,,,67,,65,66,68,304,305',
'72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56',
'93,92,94,279,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225',
',,58,59,,,60,,,,275,,44,,,280,,,,,,224,,,,,88,79,81,82,,83,85,84,86',
',,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,',
',300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94',
'279,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59',
',,60,,679,,275,,44,,,280,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80',
'87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301',
'307,97,96,98,99,,,226,,,,,,,302,,,101,100,102,91,56,93,92,94,,95,103',
'104,,89,90,,,,308,,,,,,,,,,,,,,,,,,,,298,,,294,,,58,59,,,60,,,,,,,,',
',,,,,,,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64',
',,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,',
',,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,',
',,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79',
'81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68',
'304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100',
'102,91,56,93,92,94,279,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,',
',,219,,,225,,,58,59,,,60,,,,275,,44,,,280,,,,,,224,,,,,88,79,81,82,',
'83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305',
'72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56',
'93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,',
',58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80',
'87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104',
',89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,',
',,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,',
'63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226',
',,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,',
',,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,430,,,,44,,,,,,,,,224,,,,',
'88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65',
'66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101',
'100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,',
',,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85',
'84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94',
',95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,',
'60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70',
'71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97',
'96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89',
'90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,',
',,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64',
',,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,',
',,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,',
',,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79',
'81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68',
'304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100',
'102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219',
',,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86',
',,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,',
',300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94',
',95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,',
'60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70',
'71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97',
'96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89',
'90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,',
',,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64',
',,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,',
',,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,',
',,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79',
'81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68',
'304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100',
'102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219',
',,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86',
',,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,',
',300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94',
',95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,',
'60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70',
'71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97',
'96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89',
'90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,',
',,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64',
',,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,',
',,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,',
',,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79',
'81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68',
'304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100',
'102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219',
',,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86',
',,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,',
',300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94',
',95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,',
'60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70',
'71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97',
'96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89',
'90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,',
',,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64',
',,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,',
',,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,',
',,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79',
'81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68',
'304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100',
'102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219',
',,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86',
',,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,',
',300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94',
',95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,',
'60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70',
'71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97',
'96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89',
'90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,',
',,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64',
',,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,',
',,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,',
',,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79',
'81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68',
'304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100',
'102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219',
',,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86',
',,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,',
',300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94',
',95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,',
'60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70',
'71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97',
'96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89',
'90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,',
',,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64',
',,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,',
',,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,',
',,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79',
'81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68',
'304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100',
'102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219',
',,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86',
',,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,',
',300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94',
',95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,',
'60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70',
'71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97',
'96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89',
'90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,',
',,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64',
',,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,',
',,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,',
',,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79',
'81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,,45,,,101,100,102,91',
'56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225',
',,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80',
'87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104',
',89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,',
',,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,',
'63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,226,,',
',,,,45,,,101,100,102,91,56,93,92,94,279,95,103,104,,89,90,,42,43,41',
',,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,277,,275,,44,,,280,,,,,,224',
',,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,226,,,,,,,45,,,101',
'100,102,91,56,93,92,94,279,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,',
',,,,,,219,,,225,,,58,59,,,60,,277,,275,,44,,,280,,,,,,224,,,,,88,79',
'81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91',
'56,93,92,94,279,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,',
',225,,,58,59,,,60,,277,,275,,44,,,280,,,,,,224,,,,,88,79,81,82,,83,85',
'84,86,,,,,80,87,214,69,70,71,,57,62,,,63,64,,,,67,,65,66,68,304,305',
'72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56',
'93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,',
',58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80',
'87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301',
'307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103',
'104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,',
'44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,',
'62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99',
',,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43',
'41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,679,,,,44,,,,,,,,,224',
',,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67',
',65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45',
',,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,',
',,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82',
',83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305',
'72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56',
'93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,',
',58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80',
'87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301',
'307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103',
'104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,',
'44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,',
'62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99',
',,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43',
'41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,',
',88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65',
'66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101',
'100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,',
',,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85',
'84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,97,96,98,99,,,19,,,,,,,45,,,101,100,102,91,56,93,92,94',
',95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,',
'60,,,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71',
'9,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99',
',,19,,,,,,8,45,,10,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42',
'43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,',
',,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,,45,,,101',
'100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,',
',,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85',
'84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73',
',,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92',
'94,279,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58',
'59,,,60,,679,,,,44,,,280,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80',
'87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301',
'307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,279,95,103',
'104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,',
'44,,,280,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,9',
'57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99',
',,19,,,,,,8,45,7,10,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42',
'43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,',
',,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67',
',65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45',
',,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,',
',,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82',
',83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,,45,,,101,100,102,91,56,93',
'92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58',
'59,,,60,,,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69',
'70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307',
'97,96,98,99,,,226,,,,,,,302,,,101,100,102,91,56,93,92,94,,95,103,104',
',89,90,,,,308,,,,,,,,,,,,,,,,,,,,298,,,225,,,58,59,,,60,,,,,,,,,,,,',
',,,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,529,57,,62,,63,64',
',,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,',
',,,302,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,,,308,,,,,,',
',,,,,,,,,,,,,298,,,225,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,88,79,81,82,',
'83,85,84,86,,,,,80,87,69,70,71,310,57,,62,,63,64,,,,67,,65,66,68,304',
'305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,302,,,101,100,102',
'91,56,93,92,94,,95,103,104,,89,90,,,,308,,,,,,,,,,,,,,,,,,,,298,,,294',
',,58,59,,,60,,293,,,,,,,,,,,,,,,,,,88,79,81,82,,83,85,84,86,,,,,80,87',
'69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97',
'96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89',
'90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,',
',,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,226,,,,,,,45',
',,101,100,102,91,56,93,92,94,279,95,103,104,,89,90,,42,43,41,,,,,,,',
',,,,,,,,,,,,219,,,225,,,58,59,,,60,,277,,275,,44,,,280,,,,,,224,,,,',
'88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65',
'66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,302,,,101',
'100,102,91,56,93,92,94,,95,103,104,,89,90,,,,308,,,,,,,,,,,,,,,,,,,',
'888,,,225,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,88,79,81,82,,83,85,84,86,',
',,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,',
'300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94',
',95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,',
'60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70',
'71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97',
'96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89',
'90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,',
',,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64',
',,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,',
',,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,',
',,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79',
'81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68',
'304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100',
'102,91,56,93,92,94,279,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,',
',,219,,,225,,,58,59,,,60,,,,275,,44,,,280,,,,,,224,,,,,88,79,81,82,',
'83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305',
'72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56',
'93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,',
',58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80',
'87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301',
'307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103',
'104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,',
'44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,',
'62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99',
',,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43',
'41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,277,,,,44,,,,,,,,,224',
',,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67',
',65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,302',
',,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,,,308,,,,,,,,,,,,,',
',,,,,,298,,,294,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,88,79,81,82,,83,85,84',
'86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,',
',,29,28,27,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,279',
'95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60',
',277,,275,,44,,,280,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87',
'69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307',
'97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,279,95,103,104',
',89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,679,,275',
',44,,,280,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,',
'57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98',
'99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42',
'43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224',
',,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67',
',65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45',
',,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,',
',,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82',
',83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93',
'92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58',
'59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69',
'70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307',
'97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104',
',89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,547,,58,59,,,60,,,,,,44',
',,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62',
',63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,226,',
',,,,,45,,,101,100,102,91,56,93,92,94,279,95,103,104,,89,90,,42,43,41',
',,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,277,,275,,44,,,280,,,,,,224',
',,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67',
',65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45',
',,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,',
',,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82',
',83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305',
'72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56',
'93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,',
',58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80',
'87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,279,95,103,104',
',89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,277,,275',
',44,,,280,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,',
'57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98',
'99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42',
'43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224',
',,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,226,,,,,,,45,,,101',
'100,102,91,56,93,92,94,279,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,',
',,,,,,219,,,225,,,58,59,,,60,,277,,275,,44,,,280,,,,,,224,,,,,88,79',
'81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91',
'56,93,92,94,279,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,',
',225,,,58,59,,,60,,277,,275,,44,,,280,,,,,,224,,,,,88,79,81,82,,83,85',
'84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,97,96,98,99,,,19,,,,,,,45,,,101,100,102,91,56,93,92,94',
',95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,',
'60,,,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71',
',57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96',
'98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90',
',42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,',
'224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,',
',,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,226,,,,,,,45',
',,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,',
',,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82',
',83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305',
'72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56',
'93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,',
',58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80',
'87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301',
'307,97,96,98,99,,,226,,,,,,,302,,,101,100,102,91,56,93,92,94,,95,103',
'104,,89,90,,,,308,,,,,,,,,,,,,,,,,,,,298,,,294,,,58,59,,,60,,,,,,,,',
',,,,,,,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,,45',
',,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,',
',,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,88,79,81,82,',
'83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305',
'72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56',
'93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,',
',58,59,,,60,,772,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,',
'80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
'27,97,96,98,99,,,19,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104',
',89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,',
',,,,,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,',
'45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,',
',,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,88,79,81,82',
',83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305',
'72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,302,,,101,100,102,91',
'56,93,92,94,,95,103,104,,89,90,,,,308,,,,,,,,,,,,,,,,,,,,298,,,294,',
',58,59,,,60,,,,,,,,,,,,,,,,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69',
'70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96',
'98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,279,95,103,104,,89',
'90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,277,,275,,44',
',,280,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,',
'62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99',
',,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43',
'41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,',
',88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65',
'66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101',
'100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,234,238,243,244',
'245,240,242,250,251,246,247,,227,228,,,248,249,,219,,,225,,,58,59,,',
'60,,,231,,237,44,233,232,,229,230,241,239,235,224,236,,,,88,79,81,82',
',83,85,84,86,,,,,80,87,,252,,,,,62,169,180,170,193,166,186,176,175,196',
'197,191,174,173,168,194,198,199,178,167,181,185,187,179,172,,,,188,195',
'190,189,182,192,177,165,184,183,,,,,,164,171,162,163,159,160,161,120',
'122,,,121,,,,,,,,,153,154,,150,132,133,134,141,138,140,,,135,136,,,',
'155,156,142,143,,,,,,,,,,,,,,147,146,,131,152,149,148,157,144,145,139',
'137,129,151,130,,,158,88,,,,,,,,,,,,,,87,169,180,170,193,166,186,176',
'175,196,197,191,174,173,168,194,198,199,178,167,181,185,187,179,172',
',,,188,195,190,189,182,192,177,165,184,183,,,,,,164,171,162,163,159',
'160,161,120,122,,,121,,,,,,,,,153,154,,150,132,133,134,141,138,140,',
',135,136,,,,155,156,142,143,,,,,,,,,,,,,,147,146,,131,152,149,148,157',
'144,145,139,137,129,151,130,,,158,88,,,,,,,,,,,,,,87,169,180,170,193',
'166,186,176,175,196,197,191,174,173,168,194,198,199,178,167,181,185',
'187,179,172,,,,188,195,190,189,182,192,177,165,184,183,,,,,,164,171',
'162,163,159,160,161,120,122,119,,121,,,,,,,,,153,154,,150,132,133,134',
'141,138,140,,,135,136,,,,155,156,142,143,,,,,,,,,,,,,,147,146,,131,152',
'149,148,157,144,145,139,137,129,151,130,,,158,88,,,,,,,,,,,,,,87,169',
'180,170,193,166,186,176,175,196,197,191,174,173,168,194,198,199,178',
'167,181,185,187,179,172,,,,188,195,190,189,182,192,177,165,184,183,',
',,,,164,171,162,163,159,160,161,120,122,,,121,,,,,,,,,153,154,,150,132',
'133,134,141,138,140,,,135,136,,,,155,156,142,143,,,,,,,,,,,,,,147,146',
',131,152,149,148,157,144,145,139,137,129,151,130,,,158,88,,,,,,,,,,',
',,,87,169,180,170,193,166,186,176,175,196,197,191,174,173,168,194,198',
'199,178,167,181,185,187,179,172,,,,188,195,190,189,182,192,177,165,184',
'183,,,,,,164,171,162,163,159,160,161,120,122,,,121,,,,,,,,,153,154,',
'150,132,133,134,141,138,140,,,135,136,,,,155,156,142,143,,,,,,,,,,,',
',,147,146,,131,152,149,148,157,144,145,139,137,129,151,130,,,158,169',
'180,170,193,166,186,176,175,196,197,191,174,173,168,194,198,199,178',
'167,181,185,187,179,172,,,,188,195,190,397,396,398,395,165,184,183,',
',,,,164,171,162,163,392,393,394,390,122,93,92,391,,95,,,,,,,153,154',
',150,132,133,134,141,138,140,,,135,136,,,,155,156,142,143,,,,,,402,',
',,,,,,147,146,,131,152,149,148,157,144,145,139,137,129,151,130,,,158',
'234,238,243,244,245,240,242,250,251,246,247,,227,228,,,248,249,,580',
',344,343,342,351,345,,,,,,,231,,237,353,233,232,,229,230,241,239,235',
',236,234,238,243,244,245,240,242,250,251,246,247,349,227,228,,,248,249',
',252,,,361,360,,,,354,,,,,231,,237,,233,232,,229,230,241,239,235,,236',
'234,238,243,244,245,240,242,250,251,246,247,,227,228,,,248,249,,252',
',,347,,344,343,342,351,345,,,,231,,237,,233,232,353,229,230,241,239',
'235,,236,234,238,243,244,245,240,242,250,251,246,247,,227,228,349,,248',
'249,,252,,,,358,357,361,360,,,,354,,231,,237,,233,232,,229,230,241,239',
'235,,236,234,238,243,244,245,240,242,250,251,246,247,,227,228,,,248',
'249,214,252,,,347,,344,343,342,351,345,,,,231,,237,,233,232,353,229',
'230,241,239,235,,236,234,238,243,244,245,240,242,250,251,246,247,,227',
'228,349,,248,249,,252,,,,358,357,361,360,,,,354,,231,,237,,233,232,',
'229,230,241,239,235,,236,234,238,243,244,245,240,242,250,251,246,247',
',227,228,,,248,249,,252,,,580,,344,343,342,351,345,,,,231,,237,,233',
'232,353,229,230,241,239,235,,236,234,238,243,244,245,240,242,250,251',
'246,247,,227,228,349,,248,249,,252,,,,,,361,360,,,,354,,231,,237,,233',
'232,,229,230,241,239,235,,236,234,238,243,244,245,240,242,250,251,246',
'247,,227,228,,,248,249,,252,,,347,,344,343,342,351,345,,,,231,,237,',
'233,232,353,229,230,241,239,235,,236,234,238,243,244,245,240,242,250',
'251,246,247,,227,228,349,754,248,249,,252,,,,358,357,361,360,,,,354',
',231,,237,,233,232,,229,230,241,239,235,,236,234,238,243,244,245,240',
'242,250,251,246,247,,227,228,,,248,249,,252,,,580,,344,343,342,351,345',
',,,231,,237,,233,232,353,229,230,241,239,235,,236,234,238,243,244,245',
'240,242,250,251,246,247,,227,228,349,,248,249,,252,,,,,,361,360,,,,354',
',231,,237,,233,232,,229,230,241,239,235,,236,234,238,243,244,245,240',
'242,250,251,246,247,,227,228,,,248,249,,252,,,,,,,,,,,,,231,,237,,233',
'232,,229,230,241,239,235,,236,,,,,744,450,,,745,,,,,,,,,153,154,252',
'150,132,133,134,141,138,140,,,135,136,,,,155,156,142,143,,,,,,259,,',
',,,,,147,146,,131,152,149,148,157,144,145,139,137,129,151,130,501,443',
'158,,502,,,,,,,,,153,154,,150,132,133,134,141,138,140,,,135,136,,,,155',
'156,142,143,,,,,,259,,,,,,,,147,146,,131,152,149,148,157,144,145,139',
'137,129,151,130,739,443,158,,740,,,,,,,,,153,154,,150,132,133,134,141',
'138,140,,,135,136,,,,155,156,142,143,,,,,,259,,,,,,,,147,146,,131,152',
'149,148,157,144,145,139,137,129,151,130,996,443,158,,997,,,,,,,,,153',
'154,,150,132,133,134,141,138,140,,,135,136,,,,155,156,142,143,,,,,,259',
',,,,,,,147,146,,131,152,149,148,157,144,145,139,137,129,151,130,660',
'450,158,,661,,,,,,,,,153,154,,150,132,133,134,141,138,140,,,135,136',
',,,155,156,142,143,,,,,,259,,,,,,,,147,146,,131,152,149,148,157,144',
'145,139,137,129,151,130,689,443,158,,690,,,,,,,,,153,154,,150,132,133',
'134,141,138,140,,,135,136,,,,155,156,142,143,,,,,,259,,,,,,,,147,146',
',131,152,149,148,157,144,145,139,137,129,151,130,446,450,158,,445,,',
',,,,,,153,154,,150,132,133,134,141,138,140,,,135,136,,,,155,156,142',
'143,,,,,,259,,,,,,,,147,146,,131,152,149,148,157,144,145,139,137,129',
'151,130,501,443,158,,502,,,,,,,,,153,154,,150,132,133,134,141,138,140',
',,135,136,,,,155,156,142,143,,,,,,,,,,,,,,147,146,,131,152,149,148,157',
'144,145,139,137,129,151,130,658,443,158,,659,,,,,,,,,153,154,,150,132',
'133,134,141,138,140,,,135,136,,,,155,156,142,143,,,,,,259,,,,,,,,147',
'146,,131,152,149,148,157,144,145,139,137,129,151,130,439,443,158,,440',
',,,,,,,,153,154,,150,132,133,134,141,138,140,,,135,136,,,,155,156,142',
'143,,,,,,259,,,,,,,,147,146,,131,152,149,148,157,144,145,139,137,129',
'151,130,998,450,158,,999,,,,,,,,,153,154,,150,132,133,134,141,138,140',
',,135,136,,,,155,156,142,143,,,,,,259,,,,,,,,147,146,,131,152,149,148',
'157,144,145,139,137,129,151,130,658,443,158,,659,,,,,,,,,153,154,,150',
'132,133,134,141,138,140,,,135,136,,,,155,156,142,143,,,,,,259,,,,,,',
',147,146,,131,152,149,148,157,144,145,139,137,129,151,130,660,450,158',
',661,,,,,,,,,153,154,,150,132,133,134,141,138,140,,,135,136,,,,155,156',
'142,143,,,,,,259,,,,,,,,147,146,,131,152,149,148,157,144,145,139,137',
'129,151,130,692,450,158,,693,,,,,,,,,153,154,,150,132,133,134,141,138',
'140,,,135,136,,,,155,156,142,143,,,,,,259,,,,,,,,147,146,,131,152,149',
'148,157,144,145,139,137,129,151,130,978,450,158,,977,,,,,,,,,153,154',
',150,132,133,134,141,138,140,,,135,136,,,,155,156,142,143,,,,,,259,',
',,,,,,147,146,,131,152,149,148,157,144,145,139,137,129,151,130,741,450',
'158,,742,,,,,,,,,153,154,,150,132,133,134,141,138,140,,,135,136,,,,155',
'156,142,143,,,,,,259,,,,,,,,147,146,,131,152,149,148,157,144,145,139',
'137,129,151,130,,580,158,344,343,342,351,345,,347,,344,343,342,351,345',
',353,,,,,,,347,353,344,343,342,351,345,,347,,344,343,342,351,345,349',
'353,,,,,,,349,353,,361,360,,,,354,358,357,361,360,,,349,354,,,,,,,349',
'358,357,361,360,,,,354,358,357,361,360,,,347,354,344,343,342,351,345',
'580,,344,343,342,351,345,,803,353,344,343,342,804,345,,353,,,,,,,803',
'353,344,343,342,804,345,,349,754,,,,,,349,353,358,357,361,360,,,349',
'354,,361,360,,,,354,358,357,361,360,,,349,354,803,,344,343,342,804,345',
'358,357,361,360,,,,354,580,353,344,343,342,804,345,,580,,344,343,342',
'804,345,,353,,,,,,,349,353,347,,344,343,342,351,345,358,357,361,360',
',,349,354,,353,,,,,349,,,361,360,,,,354,,,361,360,,,,354,349,333,580',
',344,343,342,804,345,358,357,361,360,,,,354,,353,,,,,,,,,,,,,,,,,,,',
',,349,,,,,,,,,,,361,360,,,,354' ]
        racc_action_table = arr = ::Array.new(25032, 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 = [
'94,589,589,589,589,589,589,94,94,94,589,589,94,94,94,589,94,589,589',
'589,589,589,589,589,94,525,94,94,94,589,589,589,589,589,589,589,94,94',
'589,94,94,94,94,94,589,589,589,589,589,589,589,589,589,589,589,589,385',
'589,589,589,365,589,589,913,589,589,589,94,94,94,94,94,94,94,94,94,94',
'94,94,94,94,701,332,94,94,94,589,94,94,589,598,94,589,589,94,94,589',
'94,589,94,61,94,589,94,94,303,94,94,94,94,94,589,94,1009,94,508,589',
'589,589,589,591,589,589,589,589,372,355,364,94,589,589,94,94,94,94,446',
'94,589,94,94,897,996,446,446,446,371,792,857,446,446,508,446,670,77',
'997,918,410,918,610,610,446,409,507,385,737,77,700,700,3,740,303,446',
'446,3,446,446,446,446,446,365,19,739,913,689,365,704,385,913,61,375',
'742,385,332,303,998,381,741,507,792,381,598,699,446,446,446,446,446',
'446,446,446,446,446,446,446,446,446,858,590,446,446,446,19,446,410,26',
'591,446,707,409,446,591,708,1009,218,446,372,446,1009,446,446,670,446',
'446,446,446,446,364,446,446,446,689,364,671,610,627,371,742,857,610',
'897,996,700,741,446,897,996,446,446,91,446,709,446,998,997,446,91,91',
'91,997,740,91,91,91,737,91,218,737,671,737,26,689,739,91,689,91,91,91',
'659,689,375,742,692,614,614,91,91,741,91,91,91,91,91,26,998,463,463',
'710,690,998,627,627,858,590,499,711,408,858,590,411,627,715,658,716',
'469,220,91,91,91,91,91,91,91,91,91,91,91,91,91,91,659,718,91,91,91,692',
'91,91,601,499,91,625,692,91,91,601,91,692,91,744,91,692,91,91,601,91',
'91,91,91,91,719,91,817,91,658,690,469,220,567,567,692,408,408,408,411',
'411,411,91,614,373,91,91,91,91,661,91,373,91,91,721,463,661,661,661',
'217,373,661,661,661,283,661,723,744,698,283,690,625,625,690,744,661',
'661,661,690,744,817,625,379,744,725,661,661,817,661,661,661,661,661',
'392,362,579,817,579,579,579,392,579,744,845,695,845,845,845,119,845',
'730,217,735,119,119,817,661,661,661,661,661,661,661,661,661,661,661',
'661,661,661,694,24,661,661,661,379,661,661,24,407,661,738,379,661,661',
'406,661,379,661,347,661,379,661,661,380,661,661,661,661,661,445,661',
'340,661,398,397,339,445,445,445,379,398,397,445,445,338,445,661,579',
'336,661,661,661,661,476,661,845,661,661,900,405,400,900,335,312,691',
'445,445,400,445,445,445,445,445,407,407,407,380,396,747,406,406,406',
'404,380,396,476,861,395,380,476,476,861,380,39,395,329,445,445,445,445',
'445,445,445,445,445,445,445,445,445,445,312,380,445,445,445,312,445',
'359,475,752,445,327,393,445,405,405,405,326,445,393,445,369,445,445',
'440,445,445,445,445,445,39,445,370,445,641,39,390,404,404,404,475,394',
'688,390,475,475,771,445,394,15,445,445,660,445,322,445,38,439,445,660',
'660,660,564,391,660,660,660,937,660,706,391,440,706,564,937,686,440',
'660,660,660,660,641,755,937,317,368,641,755,660,660,368,660,660,660',
'660,660,15,609,41,41,684,15,609,38,439,684,564,564,38,439,576,564,576',
'576,576,324,576,776,324,660,660,660,660,660,660,660,660,660,660,660',
'660,660,660,875,299,660,660,660,943,660,660,299,683,660,875,943,660',
'660,576,660,299,660,314,660,943,660,660,576,660,660,660,660,660,944',
'660,660,660,17,17,724,944,724,724,724,313,724,374,875,875,944,660,309',
'875,660,660,660,660,56,660,328,660,660,328,678,56,56,56,728,728,56,56',
'56,349,56,349,349,349,724,349,325,307,495,325,56,56,56,724,302,945,363',
'363,987,987,56,56,945,56,56,56,56,56,308,308,301,945,321,321,494,676',
'376,349,794,795,495,797,798,799,495,495,349,495,495,801,802,56,56,56',
'56,56,56,56,56,56,56,56,56,56,56,803,494,56,56,56,494,494,56,494,494',
'56,298,807,56,56,669,56,811,56,812,56,816,56,56,664,56,56,56,56,56,820',
'56,662,56,956,823,956,956,956,846,956,846,846,846,824,846,652,56,292',
'947,56,56,56,56,451,56,947,56,291,290,288,451,451,451,287,947,451,451',
'451,485,451,296,956,647,847,848,46,846,296,451,451,451,451,46,420,485',
'485,296,851,426,451,451,46,451,451,451,451,451,276,273,295,485,272,485',
'887,485,485,295,485,485,258,887,485,226,485,860,295,429,222,864,887',
'451,451,451,451,451,451,451,451,451,451,451,451,451,451,865,868,451',
'451,451,999,869,451,315,221,451,642,999,451,451,315,451,999,451,219',
'451,999,451,451,315,451,451,451,451,451,431,451,451,451,726,435,726',
'726,726,911,726,911,911,911,638,911,437,451,200,216,451,451,451,451',
'450,451,216,451,885,632,630,450,450,450,888,216,450,450,450,488,450',
'693,726,890,105,438,622,911,693,450,450,450,450,693,447,488,488,693',
'904,905,450,450,906,450,450,450,450,450,907,908,455,488,910,488,745',
'488,488,465,488,488,45,745,488,915,488,916,745,477,922,478,745,450,450',
'450,450,450,450,450,450,450,450,450,450,450,450,927,534,450,450,450',
'14,930,450,534,931,450,932,14,450,450,933,450,534,450,935,450,14,450',
'450,479,450,450,450,450,450,40,450,450,450,909,593,909,909,909,592,909',
'480,297,587,946,581,578,450,563,297,450,450,450,450,27,450,551,450,297',
'957,37,27,27,27,550,22,27,27,27,487,27,383,909,549,548,16,983,505,383',
'27,27,27,977,983,978,487,487,383,979,539,27,27,983,27,27,27,27,27,13',
'12,535,487,985,487,986,487,487,509,487,487,988,989,487,950,487,950,950',
'950,990,950,991,27,27,27,27,27,27,27,27,27,27,27,27,27,27,992,993,27',
'27,27,995,10,27,7,27,27,530,524,27,27,528,27,1,27,1010,27,,27,27,,27',
'27,27,27,27,,27,27,27,831,,831,831,831,,831,522,522,522,522,522,,27',
',441,27,27,,27,,27,441,441,441,,,441,441,441,486,441,618,618,,,618,618',
'618,,441,441,441,,,,486,486,,,,441,441,,441,441,441,441,441,,,,486,',
'486,,486,486,,486,486,,,486,,486,6,6,6,6,6,,441,441,441,441,441,441',
'441,441,441,441,441,441,441,441,,,441,441,441,,,441,,441,441,,,441,441',
',441,,441,,441,,441,441,,441,441,441,441,441,,441,441,441,286,286,286',
'286,286,,,,,,,,,441,,,441,441,,441,,441,586,586,586,586,586,586,,,,586',
'586,,,,586,,586,586,586,586,586,586,586,,,,,,586,586,586,586,586,586',
'586,,,586,,,,,,586,586,586,586,586,586,586,586,586,586,586,586,,586',
'586,586,,586,586,,586,586,586,489,489,489,489,489,489,489,,,489,489',
',,,,,489,489,,586,,,586,,,586,586,,,586,,586,489,,489,586,489,489,,489',
'489,489,489,489,586,489,,,,586,586,586,586,,586,586,586,586,,,,,586',
'586,562,562,562,562,562,562,586,,,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,493',
'493,493,493,493,493,493,,,493,493,,,,,,493,493,,562,,,562,,,562,562',
',,562,,562,493,,493,562,493,493,,493,493,493,493,493,562,493,,,,562',
'562,562,562,,562,562,562,562,,,,,562,562,668,668,668,668,668,668,562',
',,668,668,,,,668,,668,668,668,668,668,668,668,,,,,,668,668,668,668,668',
'668,668,,,668,,,,,,668,668,668,668,668,668,668,668,668,668,668,668,',
'668,668,668,,668,668,,668,668,668,492,492,492,492,492,492,492,,,492',
'492,,,,,,492,492,,668,,,668,,,668,668,,,668,,668,492,,492,668,492,492',
',492,492,492,492,492,668,492,,,,668,668,668,668,,668,668,668,668,,,',
',668,668,673,673,673,673,673,673,668,,,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',
'474,474,474,474,474,474,474,474,474,474,474,,474,474,,,474,474,,673',
',,673,,,673,673,,,673,,673,474,,474,673,474,474,,474,474,474,474,474',
'673,474,,,,673,673,673,673,,673,673,673,673,,,,,673,673,674,674,674',
'674,674,674,673,,,674,674,,,,674,,674,674,674,674,674,674,674,,,,,,674',
'674,674,674,674,674,674,,,674,,,,,,674,674,674,674,674,674,674,674,674',
'674,674,674,,674,674,674,,674,674,,674,674,674,491,491,491,491,491,491',
'491,,,491,491,,,,,,491,491,,674,,,674,,,674,674,,,674,,674,491,,491',
'674,491,491,,491,491,491,491,491,674,491,,,,674,674,674,674,,674,674',
'674,674,,,,,674,674,748,748,748,748,748,748,674,,,748,748,,,,748,,748',
'748,748,748,748,748,748,,,,,,748,748,748,748,748,748,748,,,748,,,,,',
'748,748,748,748,748,748,748,748,748,748,748,748,,748,748,748,,748,748',
',748,748,748,490,490,490,490,490,490,490,,,490,490,,,,,,490,490,,748',
',,748,,,748,748,,,748,,748,490,,490,748,490,490,,490,490,490,490,490',
'748,490,,,,748,748,748,748,,748,748,748,748,,,,,748,748,966,966,966',
'966,966,966,748,,,966,966,,,,966,,966,966,966,966,966,966,966,,,,,,966',
'966,966,966,966,966,966,,,966,,,,,,966,966,966,966,966,966,966,966,966',
'966,966,966,,966,966,966,,966,966,,966,966,966,473,473,473,473,473,473',
'473,473,473,473,473,,473,473,,,473,473,,966,,,966,,,966,966,,,966,,966',
'473,,473,966,473,473,,473,473,473,473,473,966,473,,,,966,966,966,966',
',966,966,966,966,,,,,966,966,964,964,964,964,964,964,966,,,964,964,',
',,964,,964,964,964,964,964,964,964,,,,,,964,964,964,964,964,964,964',
',,964,,,,,,964,964,964,964,964,964,964,964,964,964,964,964,,964,964',
'964,,964,964,,964,964,964,496,496,496,496,496,496,496,,,496,496,,,,',
',496,496,,964,,,964,,,964,964,,,964,,964,496,,496,964,496,496,,496,496',
'496,496,496,964,496,,,,964,964,964,964,,964,964,964,964,,,,,964,964',
'753,753,753,753,753,753,964,,,753,753,,,,753,,753,753,753,753,753,753',
'753,,,,,,753,753,753,753,753,753,753,,,753,,,,,,753,753,753,753,753',
'753,753,753,753,753,753,753,,753,753,753,,753,753,,753,753,753,497,497',
'497,497,497,497,497,497,,497,497,,,,,,497,497,,753,,,753,,,753,753,',
',753,,753,497,,497,753,497,497,,497,497,497,497,497,753,497,,,,753,753',
'753,753,,753,753,753,753,,,,,753,753,611,611,611,611,611,611,753,,,611',
'611,,,,611,,611,611,611,611,611,611,611,,,,,,611,611,611,611,611,611',
'611,,,611,,,,,663,611,611,611,611,611,611,611,611,611,611,611,611,,611',
'611,611,,611,611,,611,611,611,663,663,663,663,663,663,663,663,663,663',
'663,,663,663,,,663,663,,611,,,611,,,611,611,,,611,,611,663,,663,611',
'663,663,,663,663,663,663,663,611,663,,,,611,611,611,611,,611,611,611',
'611,,28,,,611,611,,663,28,28,28,,611,28,28,28,481,28,,,,,,,,,,28,28',
',,,481,481,,,,28,28,,28,28,28,28,28,,,,481,,481,,481,481,,481,481,,',
',,,,,,,,,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,763,763,763,763,763,763,,,,763,763,,,,763,,763',
'763,763,763,763,763,763,,,,,,763,763,763,763,763,763,763,,,763,,,,,',
'763,763,763,763,763,763,763,763,763,763,763,763,,763,763,763,,763,763',
',763,763,763,484,484,484,484,484,484,484,,,484,484,,,,,,484,484,,763',
',,763,,,763,763,,,763,,763,484,,484,763,484,484,,484,484,484,484,484',
'763,484,,,,763,763,763,763,,763,763,763,763,,,,,763,763,320,320,320',
'320,320,320,763,,,320,320,,,,320,,320,320,320,320,320,320,320,,,,,,320',
'320,320,320,320,320,320,,,320,,,,,,320,320,320,320,320,320,320,320,320',
'320,320,320,,320,320,320,,320,320,,320,320,320,483,,,,,,,,,,,,,,,,483',
'483,,320,,,320,,,320,320,,,320,,320,483,,,320,483,483,,483,483,,,,320',
',,,,320,320,320,320,,320,320,320,320,,,,,320,320,810,810,810,810,810',
'810,320,,,810,810,,,,810,,810,810,810,810,810,810,810,,,,,,810,810,810',
'810,810,810,810,,,810,,,,,,810,810,810,810,810,810,810,810,810,810,810',
'810,,810,810,810,,810,810,,810,810,810,482,,,,,,,,,,,,,,,,482,482,,810',
',,810,,,810,810,,,810,,810,482,,482,810,482,482,,482,482,,,,810,,,,',
'810,810,810,810,,810,810,810,810,,,,,810,810,33,33,33,33,33,33,810,',
',33,33,,,,33,,33,33,33,33,33,33,33,,,,,,33,33,33,33,33,33,33,,,33,,',
',,,33,33,33,33,33,33,33,33,33,33,33,33,,33,33,33,,33,33,,33,33,33,,',
',,,,,,,,,,,,,,,,,33,,,33,,,33,33,,,33,,33,,,,33,,,,,,,,,33,,,,,33,33',
'33,33,,33,33,33,33,,,,,33,33,822,822,822,822,822,822,33,,,822,822,,',
',822,,822,822,822,822,822,822,822,,,,,,822,822,822,822,822,822,822,',
',822,,,,,,822,822,822,822,822,822,822,822,822,822,822,822,,822,822,822',
',822,822,,822,822,822,,,,,,,,,,,,,,,,,,,,822,,,822,,,822,822,,,822,',
'822,,,,822,,,,,,,,,822,,,,,822,822,822,822,,822,822,822,822,,,,,822',
'822,294,294,294,294,294,294,822,,,294,294,,,,294,,294,294,294,294,294',
'294,294,,,,,,294,294,294,294,294,294,294,,,294,,,,,,294,294,294,294',
'294,294,294,294,294,294,294,294,,294,294,294,,294,294,,294,294,294,',
',,,,,,,,,,,,,,,,,,294,,,294,,,294,294,,,294,,294,,,,294,,,,,,,,,294',
',,,,294,294,294,294,,294,294,294,294,,,,,294,294,958,958,958,958,958',
'958,294,,,958,958,,,,958,,958,958,958,958,958,958,958,,,,,,958,958,958',
'958,958,958,958,,,958,,,,,,958,958,958,958,958,958,958,958,958,958,958',
'958,,958,958,958,,958,958,,958,958,958,,,,,,,,,,,,,,,,,,,,958,,,958',
',,958,958,,,958,,958,,,,958,,,,,,,,,958,,,,,958,958,958,958,,958,958',
'958,958,,,,,958,958,289,289,289,289,289,289,958,,,289,289,,,,289,,289',
'289,289,289,289,289,289,,,,,,289,289,289,289,289,289,289,,,289,,,,,',
'289,289,289,289,289,289,289,289,289,289,289,289,,289,289,289,,289,289',
',289,289,289,,,,,,,,,,,,,,,,,,,,289,,,289,,,289,289,,,289,,289,,,,289',
',,,,,,,,289,,,,,289,289,289,289,,289,289,289,289,,,,,289,289,942,942',
'942,942,942,942,289,,,942,942,,,,942,,942,942,942,942,942,942,942,,',
',,,942,942,942,942,942,942,942,,,942,,,,,,942,942,942,942,942,942,942',
'942,942,942,942,942,,942,942,942,,942,942,,942,942,942,,,,,,,,,,,,,',
',,,,,,942,,,942,,,942,942,,,942,,942,,,,942,,,,,,,,,942,,,,,942,942',
'942,942,,942,942,942,942,,,,,942,942,852,852,852,852,852,852,942,,,852',
'852,,,,852,,852,852,852,852,852,852,852,,,,,,852,852,852,852,852,852',
'852,,,852,,,,,,852,852,852,852,852,852,852,852,852,852,852,852,,852',
'852,852,,852,852,,852,852,852,,,,,,,,,,,,,,,,,,,,852,,,852,,,852,852',
',,852,,852,,,,852,,,,,,,,,852,,,,,852,852,852,852,,852,852,852,852,',
',,,852,852,853,853,853,853,853,853,852,,,853,853,,,,853,,853,853,853',
'853,853,853,853,,,,,,853,853,853,853,853,853,853,,,853,,,,,,853,853',
'853,853,853,853,853,853,853,853,853,853,,853,853,853,,853,853,,853,853',
'853,,,,,,,,,,,,,,,,,,,,853,,,853,,,853,853,,,853,,853,,,,853,,,,,,,',
',853,,,,,853,853,853,853,,853,853,853,853,,,,,853,853,856,856,856,856',
'856,856,853,,,856,856,,,,856,,856,856,856,856,856,856,856,,,,,,856,856',
'856,856,856,856,856,,,856,,,,,,856,856,856,856,856,856,856,856,856,856',
'856,856,,856,856,856,,856,856,,856,856,856,,,,,,,,,,,,,,,,,,,,856,,',
'856,,,856,856,,,856,,856,,,,856,,,,,,,,,856,,,,,856,856,856,856,,856',
'856,856,856,,,,,856,856,561,561,561,561,561,561,856,,,561,561,,,,561',
',561,561,561,561,561,561,561,,,,,,561,561,561,561,561,561,561,,,561',
',,,,,561,561,561,561,561,561,561,561,561,561,561,561,,561,561,561,,561',
'561,,561,561,561,,,,,,,,,,,,,,,,,,,,561,,,561,,,561,561,,,561,,561,',
',,561,,,,,,,,,561,,,,,561,561,561,561,,561,561,561,561,,,,,561,561,225',
'225,225,225,225,225,561,,,225,225,,,,225,,225,225,225,225,225,225,225',
',,,,,225,225,225,225,225,225,225,,,225,,,,,,225,225,225,225,225,225',
'225,225,225,225,225,225,,225,225,225,,225,225,,225,225,225,,,,,,,,,',
',,,,,,,,,,225,,,225,,,225,225,,,225,,225,,,,225,,,,,,,,,225,,,,,225',
'225,225,225,,225,225,225,225,,,,,225,225,862,862,862,862,862,862,225',
',,862,862,,,,862,,862,862,862,862,862,862,862,,,,,,862,862,862,862,862',
'862,862,,,862,,,,,,862,862,862,862,862,862,862,862,862,862,862,862,',
'862,862,862,,862,862,,862,862,862,,,,,,,,,,,,,,,,,,,,862,,,862,,,862',
'862,,,862,,862,,,,862,,,,,,,,,862,,,,,862,862,862,862,,862,862,862,862',
',,,,862,862,202,202,202,202,202,202,862,,,202,202,,,,202,,202,202,202',
'202,202,202,202,,,,,,202,202,202,202,202,202,202,,,202,,,,,434,202,202',
'202,202,202,202,202,202,202,202,202,202,,202,202,202,,202,202,,202,202',
'202,434,434,434,434,434,434,434,434,434,434,434,,434,434,,,434,434,',
'202,,,202,,,202,202,,,202,,202,434,,434,202,434,434,,434,434,434,434',
'434,202,434,,,,202,202,202,202,,202,202,202,202,,500,,,202,202,,434',
'500,500,500,,202,500,500,500,666,500,666,666,666,666,666,,,,500,500',
',,,,666,,,,,500,500,,500,500,500,500,500,974,,974,974,974,974,974,,',
'666,,,,,,,974,,666,666,666,666,,,1004,666,1004,1004,1004,1004,1004,',
',,500,,,,974,,1004,500,,,,,500,500,,974,974,666,,,974,,,,,,,,1004,,',
',,,,500,500,,,1004,1004,,,,1004,,,,,,500,,,500,,,,,500,117,117,117,117',
'117,117,,,,117,117,,,,117,,117,117,117,117,117,117,117,,,,,,117,117',
'117,117,117,117,117,,,117,,,,,,117,117,117,117,117,117,117,117,117,117',
'117,117,,117,117,117,,117,117,,117,117,117,,,,,,,,,,,,,,,,,,,,117,,',
'117,,,117,117,,,117,,117,,,,117,,,,,,,,,117,,,,,117,117,117,117,,117',
'117,117,117,,,,,117,117,894,894,894,894,894,894,117,,,894,894,,,,894',
',894,894,894,894,894,894,894,,,,,,894,894,894,894,894,894,894,,,894',
',,,,,894,894,894,894,894,894,894,894,894,894,894,894,,894,894,894,,894',
'894,,894,894,894,,,,,,,,,,,,,,,,,,,,894,,,894,,,894,894,,,894,,894,',
',,894,,,,,,,,,894,,,,,894,894,894,894,,894,894,894,894,,,,,894,894,0',
'0,0,0,0,0,894,,,0,0,,,,0,,0,0,0,0,0,0,0,,,,,,0,0,0,0,0,0,0,,,0,,,,,',
'0,0,0,0,0,0,0,0,0,0,0,0,,0,0,0,,0,0,,0,0,0,,,,,,,,,,,,,,,,,,,,0,,,0',
',,0,0,,,0,,0,,,,0,,,,,,,,,0,,,,,0,0,0,0,,0,0,0,0,,,,,0,0,523,523,523',
'523,523,523,0,,,523,523,,,,523,,523,523,523,523,523,523,523,,,,,,523',
'523,523,523,523,523,523,,,523,,,,,,523,523,523,523,523,523,523,523,523',
'523,523,523,,523,523,523,,523,523,,523,523,523,,,,,,,,,,,,,,,,,,,,523',
',,523,,,523,523,,,523,,523,,,,523,,,,,,,,,523,,,,,523,523,523,523,,523',
'523,523,523,,,,,523,523,43,43,43,,43,,523,,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,,,,,43,43,63,63',
'63,,63,,43,,63,63,,,,63,,63,63,63,63,63,63,63,,,,,,63,63,63,63,63,63',
'63,,,63,,,,,,,63,,,63,63,63,63,63,63,63,63,,63,63,63,,63,63,,63,63,63',
',,,,,,,,,,,,,,,,,,,63,,,63,,,63,63,,,63,,,,,,63,,,,,,,,,63,,,,,63,63',
'63,63,,63,63,63,63,,,,,63,63,64,64,64,,64,,63,,64,64,,,,64,,64,64,64',
'64,64,64,64,,,,,,64,64,64,64,64,64,64,,,64,,,,,,,64,,,64,64,64,64,64',
'64,64,64,,64,64,64,,64,64,,64,64,64,,,,,,,,,,,,,,,,,,,,64,,,64,,,64',
'64,,,64,,,,,,64,,,,,,,,,64,,,,,64,64,64,64,,64,64,64,64,,,,,64,64,67',
'67,67,,67,,64,,67,67,,,,67,,67,67,67,67,67,67,67,,,,,,67,67,67,67,67',
'67,67,,,67,,,,,458,,67,,,67,67,67,67,67,67,67,67,,67,67,67,,67,67,,67',
'67,67,458,458,458,458,458,458,458,458,458,458,458,,458,458,,,458,458',
',67,,,67,,,67,67,,,67,,,458,,458,67,458,458,,458,458,458,458,458,67',
'458,,,,67,67,67,67,,67,67,67,67,,,,,67,67,67,458,,458,,67,67,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,69,69,69,,69,,68,,69,69,,,,69,,69,69,69,69,69',
'69,69,,,,,,69,69,69,69,69,69,69,,,69,,,,,,,69,,,69,69,69,69,69,69,69',
'69,,69,69,69,,69,69,,,,69,,,,,,,,,,,,,,,,,69,,,69,,,69,,,69,69,,,69',
',,,,,,,,,,,,,,,,,,,69,69,69,69,,69,69,69,69,,,,,69,69,70,70,70,,70,',
'69,,70,70,,,,70,,70,70,70,70,70,70,70,,,,,,70,70,70,70,70,70,70,,,70',
',,,,,,70,,,70,70,70,70,70,70,70,70,,70,70,70,,70,70,,,,70,,,,,,,,,,',
',,,,,,,,,70,,,70,,,70,70,,,70,,,,,,,,,,,,,,,,,,,,70,70,70,70,,70,70',
'70,70,,,,,70,70,654,654,654,,654,,70,,654,654,,,,654,,654,654,654,654',
'654,654,654,,,,,,654,654,654,654,654,654,654,,,654,,,,,,,654,,,654,654',
'654,654,654,654,654,654,,654,654,654,,654,654,,654,654,654,,,,,,,,,',
',,,,,,,,,,654,,,654,,,654,654,,,654,,,,,,654,,,,,,,,,654,,,,,654,654',
'654,654,,654,654,654,654,,,,,654,654,655,655,655,,655,,654,,655,655',
',,,655,,655,655,655,655,655,655,655,,,,,,655,655,655,655,655,655,655',
',,655,,,,,,,655,,,655,655,655,655,655,655,655,655,,655,655,655,,655',
'655,,655,655,655,,,,,,,,,,,,,,,,,,,,655,,,655,,,655,655,,,655,,,,,,655',
',,,,,,,,655,,,,,655,655,655,655,,655,655,655,655,,,,,655,655,531,531',
'531,,531,,655,,531,531,,,,531,,531,531,531,531,531,531,531,,,,,,531',
'531,531,531,531,531,531,,,531,,,,,,,531,,,531,531,531,531,531,531,531',
'531,531,531,531,531,,531,531,,531,531,531,,,,,,,,,,,,,,,,,,,,531,,,531',
',,531,531,,,531,,531,,531,,531,,,531,,,,,,531,,,,,531,531,531,531,,531',
'531,531,531,,,,,531,531,60,60,60,,60,,531,,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,60,60,,,,,60,60,59',
'59,59,,59,,60,,59,59,,,,59,,59,59,59,59,59,59,59,,,,,,59,59,59,59,59',
'59,59,,,59,,,,,,,59,,,59,59,59,59,59,59,59,59,59,59,59,59,,59,59,,59',
'59,59,,,,,,,,,,,,,,,,,,,,59,,,59,,,59,59,,,59,,59,,,,59,,,59,,,,,,59',
',,,,59,59,59,59,,59,59,59,59,,,,,59,59,107,107,107,107,107,,59,,107',
'107,,,,107,,107,107,107,107,107,107,107,,,,,,107,107,107,107,107,107',
'107,,,107,,,,,,107,107,107,107,107,107,107,107,107,107,107,107,,107',
'107,107,,107,107,,107,107,107,,,,,,,,,,,,,,,,,,,,107,,,107,,,107,107',
',,107,,107,,,,107,,,,,,,,,107,,,,,107,107,107,107,,107,107,107,107,',
',,,107,107,112,112,112,,112,107,107,,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,113,113,113,,113,,112,,113,113',
',,,113,,113,113,113,113,113,113,113,,,,,,113,113,113,113,113,113,113',
',,113,,,,,,,113,,,113,113,113,113,113,113,113,113,,113,113,113,,113',
'113,,113,113,113,,,,,,,,,,,,,,,,,,,,113,,,113,,,113,113,,,113,,,,,,113',
',,,,,,,,113,,,,,113,113,113,113,,113,113,113,113,,,,,113,113,114,114',
'114,,114,,113,,114,114,,,,114,,114,114,114,114,114,114,114,,,,,,114',
'114,114,114,114,114,114,,,114,,,,,,,114,,,114,114,114,114,114,114,114',
'114,,114,114,114,,114,114,,114,114,114,,,,,,,,,,,,,,,,,,,,114,,,114',
',,114,114,,,114,,,,,,114,,,,,,,,,114,,,,,114,114,114,114,,114,114,114',
'114,,,,,114,114,115,115,115,,115,,114,,115,115,,,,115,,115,115,115,115',
'115,115,115,,,,,,115,115,115,115,115,115,115,,,115,,,,,,,115,,,115,115',
'115,115,115,115,115,115,,115,115,115,,115,115,,115,115,115,,,,,,,,,',
',,,,,,,,,,115,,,115,,,115,115,,,115,,,,,,115,,,,,,,,,115,,,,,115,115',
'115,115,,115,115,115,115,,,,,115,115,116,116,116,116,116,,115,,116,116',
',,,116,,116,116,116,116,116,116,116,,,,,,116,116,116,116,116,116,116',
',,116,,,,,,116,116,,116,116,116,116,116,116,116,116,116,,116,116,116',
',116,116,,116,116,116,,,,,,,,,,,,,,,,,,,,116,,,116,,,116,116,,,116,',
'116,,,,116,,,,,,,,,116,,,,,116,116,116,116,,116,116,116,116,,,,,116',
'116,58,58,58,,58,,116,,58,58,,,,58,,58,58,58,58,58,58,58,,,,,,58,58',
'58,58,58,58,58,,,58,,,,,,,58,,,58,58,58,58,58,58,58,58,,58,58,58,,58',
'58,,58,58,58,,,,,,,,,,,,,,,,,,,,58,,,58,,,58,58,,,58,,,,,,58,,,,,,,',
',58,,,,,58,58,58,58,,58,58,58,58,,,,,58,58,886,886,886,,886,,58,,886',
'886,,,,886,,886,886,886,886,886,886,886,,,,,,886,886,886,886,886,886',
'886,,,886,,,,,,,886,,,886,886,886,886,886,886,886,886,,886,886,886,',
'886,886,,,,886,,,,,,,,,,,,,,,,,,,,886,,,886,,,886,886,,,886,,,,,,,,',
',,,,,,,,,,,886,886,886,886,,886,886,886,886,,,,,886,886,529,529,529',
',529,,886,,529,529,,,,529,,529,529,529,529,529,529,529,,,,,,529,529',
'529,529,529,529,529,,,529,,,,,,,529,,,529,529,529,529,529,529,529,529',
',529,529,529,,529,529,,,,529,,,,,,,,,,,,,,,,,,,,529,,,529,,,529,529',
',,529,,,,,,,,,,,,,,,,,,,,529,529,529,529,,529,529,529,529,,,,,529,529',
'898,898,898,,898,,529,,898,898,,,,898,,898,898,898,898,898,898,898,',
',,,,898,898,898,898,898,898,898,,,898,,,,,,,898,,,898,898,898,898,898',
'898,898,898,,898,898,898,,898,898,,,,898,,,,,,,,,,,,,,,,,,,,898,,,898',
',,898,898,,,898,,,,,,,,,,,,,,,,,,,,898,898,898,898,,898,898,898,898',
',,,,898,898,203,203,203,,203,,898,,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,203,,,,,203,203,204,204,204,,204,,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,204,205,205',
'205,,205,,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,,205',
'205,205,205,,,,,205,205,521,521,521,521,521,,205,,521,521,,,,521,,521',
'521,521,521,521,521,521,,,,,,521,521,521,521,521,521,521,,,521,,,,,',
'521,521,521,521,521,521,521,521,521,521,521,521,,521,521,521,,521,521',
',521,521,521,,,,,,,,,,,,,,,,,,,,521,,,521,,,521,521,,,521,,521,,,,521',
',,,,,,,,521,,,,,521,521,521,521,,521,521,521,521,,,,,521,521,516,516',
'516,,516,521,521,,516,516,,,,516,,516,516,516,516,516,516,516,,,,,,516',
'516,516,516,516,516,516,,,516,,,,,,,516,,,516,516,516,516,516,516,516',
'516,,516,516,516,,516,516,,516,516,516,,,,,,,,,,,,,,,,,,,,516,,,516',
',,516,516,,,516,,,,,,516,,,,,,,,,516,,,,,516,516,516,516,,516,516,516',
'516,,,,,516,516,208,208,208,,208,,516,,208,208,,,,208,,208,208,208,208',
'208,208,208,,,,,,208,208,208,208,208,208,208,,,208,,,,,,,208,,,208,208',
'208,208,208,208,208,208,,208,208,208,,208,208,,208,208,208,,,,,,,,,',
',,,,,,,,,,208,,,208,,,208,208,,,208,,,,,,208,,,,,,,,,208,,,,,208,208',
'208,208,,208,208,208,208,,,,,208,208,209,209,209,,209,,208,,209,209',
',,,209,,209,209,209,209,209,209,209,,,,,,209,209,209,209,209,209,209',
',,209,,,,,,,209,,,209,209,209,209,209,209,209,209,,209,209,209,,209',
'209,,209,209,209,,,,,,,,,,,,,,,,,,,,209,,,209,,,209,209,,,209,,209,',
',,209,,,,,,,,,209,,,,,209,209,209,209,,209,209,209,209,,,,,209,209,210',
'210,210,,210,,209,,210,210,,,,210,,210,210,210,210,210,210,210,,,,,',
'210,210,210,210,210,210,210,,,210,,,,,,,210,,,210,210,210,210,210,210',
'210,210,,210,210,210,,210,210,,210,210,210,,,,,,,,,,,,,,,,,,,,210,,',
'210,,,210,210,,,210,,,,,,210,,,,,,,,,210,,,,,210,210,210,210,,210,210',
'210,210,,,,,210,210,211,211,211,,211,,210,,211,211,,,,211,,211,211,211',
'211,211,211,211,,,,,,211,211,211,211,211,211,211,,,211,,,,,,,211,,,211',
'211,211,211,211,211,211,211,,211,211,211,,211,211,,211,211,211,,,,,',
',,,,,,,,,,,,,,211,,,211,,,211,211,,,211,,,,,,211,,,,,,,,,211,,,,,211',
'211,211,211,,211,211,211,211,,,,,211,211,212,212,212,,212,,211,,212',
'212,,,,212,,212,212,212,212,212,212,212,,,,,,212,212,212,212,212,212',
'212,,,212,,,,,,,212,,,212,212,212,212,212,212,212,212,,212,212,212,',
'212,212,,212,212,212,,,,,,,,,,,,,,,,,,,,212,,,212,,,212,212,,,212,,',
',,,212,,,,,,,,,212,,,,,212,212,212,212,,212,212,212,212,,,,,212,212',
'213,213,213,,213,,212,,213,213,,,,213,,213,213,213,213,213,213,213,',
',,,,213,213,213,213,213,213,213,,,213,,,,,,,213,,,213,213,213,213,213',
'213,213,213,,213,213,213,,213,213,,213,213,213,,,,,,,,,,,,,,,,,,,,213',
',,213,,,213,213,,,213,,,,,,213,,,,,,,,,213,,,,,213,213,213,213,,213',
'213,213,213,,,,,213,213,213,514,514,514,,514,213,,,514,514,,,,514,,514',
'514,514,514,514,514,514,,,,,,514,514,514,514,514,514,514,,,514,,,,,',
',514,,,514,514,514,514,514,514,514,514,514,514,514,514,,514,514,,514',
'514,514,,,,,,,,,,,,,,,,,,,,514,,,514,,,514,514,,,514,,,,514,,514,,,514',
',,,,,514,,,,,514,514,514,514,,514,514,514,514,,,,,514,514,512,512,512',
',512,,514,,512,512,,,,512,,512,512,512,512,512,512,512,,,,,,512,512',
'512,512,512,512,512,,,512,,,,,,,512,,,512,512,512,512,512,512,512,512',
'512,512,512,512,,512,512,,512,512,512,,,,,,,,,,,,,,,,,,,,512,,,512,',
',512,512,,,512,,512,,512,,512,,,512,,,,,,512,,,,,512,512,512,512,,512',
'512,512,512,,,,,512,512,538,538,538,,538,,512,,538,538,,,,538,,538,538',
'538,538,538,538,538,,,,,,538,538,538,538,538,538,538,,,538,,,,,,,538',
',,538,538,538,538,538,538,538,538,,538,538,538,,538,538,,,,538,,,,,',
',,,,,,,,,,,,,,538,,,538,,,538,538,,,538,,,,,,,,,,,,,,,,,,,,538,538,538',
'538,,538,538,538,538,,,,,538,538,873,873,873,,873,,538,,873,873,,,,873',
',873,873,873,873,873,873,873,,,,,,873,873,873,873,873,873,873,,,873',
',,,,,,873,,,873,873,873,873,873,873,873,873,,873,873,873,,873,873,,873',
'873,873,,,,,,,,,,,,,,,,,,,,873,,,873,,,873,873,,,873,,,,,,873,,,,,,',
',,873,,,,,873,873,873,873,,873,873,873,873,,,,,873,873,872,872,872,',
'872,,873,,872,872,,,,872,,872,872,872,872,872,872,872,,,,,,872,872,872',
'872,872,872,872,,,872,,,,,,,872,,,872,872,872,872,872,872,872,872,872',
'872,872,872,,872,872,,872,872,872,,,,,,,,,,,,,,,,,,,,872,,,872,,,872',
'872,,,872,,,,872,,872,,,872,,,,,,872,,,,,872,872,872,872,,872,872,872',
'872,,,,,872,872,541,541,541,,541,,872,,541,541,,,,541,,541,541,541,541',
'541,541,541,,,,,,541,541,541,541,541,541,541,,,541,,,,,,,541,,,541,541',
'541,541,541,541,541,541,,541,541,541,,541,541,,541,541,541,,,,,,,,,',
',,,,,,,,,,541,,,541,,,541,541,,,541,,,,,,541,,,,,,,,,541,,,,,541,541',
'541,541,,541,541,541,541,,,,,541,541,650,650,650,,650,,541,,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,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,,,,,650,650,702,702',
'702,,702,,650,,702,702,,,,702,,702,702,702,702,702,702,702,,,,,,702',
'702,702,702,702,702,702,,,702,,,,,,,702,,,702,702,702,702,702,702,702',
'702,,702,702,702,,702,702,,702,702,702,,,,,,,,,,,,,,,,,,,,702,,,702',
',,702,702,,,702,,702,,,,702,,,,,,,,,702,,,,,702,702,702,702,,702,702',
'702,702,,,,,702,702,44,44,44,,44,,702,,44,44,,,,44,,44,44,44,44,44,44',
'44,,,,,,44,44,44,44,44,44,44,,,44,,,,,,,44,,,44,44,44,44,44,44,44,44',
',44,44,44,,44,44,,44,44,44,,,,,,,,,,,,,,,,,,,,44,,,44,,,44,44,,,44,',
',,,,44,,,,,,,,,44,,,,,44,44,44,44,,44,44,44,44,,,,,44,44,646,646,646',
',646,,44,,646,646,,,,646,,646,646,646,646,646,646,646,,,,,,646,646,646',
'646,646,646,646,,,646,,,,,,,646,,,646,646,646,646,646,646,646,646,,646',
'646,646,,646,646,,646,646,646,,,,,,,,,,,,,,,,,,,,646,,,646,,,646,646',
',,646,,,,,,646,,,,,,,,,646,,,,,646,646,646,646,,646,646,646,646,,,,',
'646,646,227,227,227,,227,,646,,227,227,,,,227,,227,227,227,227,227,227',
'227,,,,,,227,227,227,227,227,227,227,,,227,,,,,,,227,,,227,227,227,227',
'227,227,227,227,,227,227,227,,227,227,,227,227,227,,,,,,,,,,,,,,,,,',
',,227,,,227,,,227,227,,,227,,,,,,227,,,,,,,,,227,,,,,227,227,227,227',
',227,227,227,227,,,,,227,227,228,228,228,,228,,227,,228,228,,,,228,',
'228,228,228,228,228,228,228,,,,,,228,228,228,228,228,228,228,,,228,',
',,,,,228,,,228,228,228,228,228,228,228,228,,228,228,228,,228,228,,228',
'228,228,,,,,,,,,,,,,,,,,,,,228,,,228,,,228,228,,,228,,,,,,228,,,,,,',
',,228,,,,,228,228,228,228,,228,228,228,228,,,,,228,228,229,229,229,',
'229,,228,,229,229,,,,229,,229,229,229,229,229,229,229,,,,,,229,229,229',
'229,229,229,229,,,229,,,,,,,229,,,229,229,229,229,229,229,229,229,,229',
'229,229,,229,229,,229,229,229,,,,,,,,,,,,,,,,,,,,229,,,229,,,229,229',
',,229,,,,,,229,,,,,,,,,229,,,,,229,229,229,229,,229,229,229,229,,,,',
'229,229,230,230,230,,230,,229,,230,230,,,,230,,230,230,230,230,230,230',
'230,,,,,,230,230,230,230,230,230,230,,,230,,,,,,,230,,,230,230,230,230',
'230,230,230,230,,230,230,230,,230,230,,230,230,230,,,,,,,,,,,,,,,,,',
',,230,,,230,,,230,230,,,230,,,,,,230,,,,,,,,,230,,,,,230,230,230,230',
',230,230,230,230,,,,,230,230,231,231,231,,231,,230,,231,231,,,,231,',
'231,231,231,231,231,231,231,,,,,,231,231,231,231,231,231,231,,,231,',
',,,,,231,,,231,231,231,231,231,231,231,231,,231,231,231,,231,231,,231',
'231,231,,,,,,,,,,,,,,,,,,,,231,,,231,,,231,231,,,231,,,,,,231,,,,,,',
',,231,,,,,231,231,231,231,,231,231,231,231,,,,,231,231,232,232,232,',
'232,,231,,232,232,,,,232,,232,232,232,232,232,232,232,,,,,,232,232,232',
'232,232,232,232,,,232,,,,,,,232,,,232,232,232,232,232,232,232,232,,232',
'232,232,,232,232,,232,232,232,,,,,,,,,,,,,,,,,,,,232,,,232,,,232,232',
',,232,,,,,,232,,,,,,,,,232,,,,,232,232,232,232,,232,232,232,232,,,,',
'232,232,233,233,233,,233,,232,,233,233,,,,233,,233,233,233,233,233,233',
'233,,,,,,233,233,233,233,233,233,233,,,233,,,,,,,233,,,233,233,233,233',
'233,233,233,233,,233,233,233,,233,233,,233,233,233,,,,,,,,,,,,,,,,,',
',,233,,,233,,,233,233,,,233,,,,,,233,,,,,,,,,233,,,,,233,233,233,233',
',233,233,233,233,,,,,233,233,234,234,234,,234,,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,,,,,234,234,235,235,235,',
'235,,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,,,,',
'235,235,236,236,236,,236,,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,,,,,236,236,237,237,237,,237,,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,,,,,237,237,238,238,238,',
'238,,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,,,,',
'238,238,239,239,239,,239,,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,,,,,239,239,240,240,240,,240,,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,,,,,240,240,241,241,241,',
'241,,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,,,,',
'241,241,242,242,242,,242,,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,,,,,242,242,243,243,243,,243,,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,,,,,243,243,244,244,244,',
'244,,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,,,,',
'244,244,245,245,245,,245,,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,,,,,245,245,246,246,246,,246,,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,,,,,246,246,247,247,247,',
'247,,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,,,,',
'247,247,248,248,248,,248,,247,,248,248,,,,248,,248,248,248,248,248,248',
'248,,,,,,248,248,248,248,248,248,248,,,248,,,,,,,248,,,248,248,248,248',
'248,248,248,248,,248,248,248,,248,248,,248,248,248,,,,,,,,,,,,,,,,,',
',,248,,,248,,,248,248,,,248,,,,,,248,,,,,,,,,248,,,,,248,248,248,248',
',248,248,248,248,,,,,248,248,249,249,249,,249,,248,,249,249,,,,249,',
'249,249,249,249,249,249,249,,,,,,249,249,249,249,249,249,249,,,249,',
',,,,,249,,,249,249,249,249,249,249,249,249,,249,249,249,,249,249,,249',
'249,249,,,,,,,,,,,,,,,,,,,,249,,,249,,,249,249,,,249,,,,,,249,,,,,,',
',,249,,,,,249,249,249,249,,249,249,249,249,,,,,249,249,250,250,250,',
'250,,249,,250,250,,,,250,,250,250,250,250,250,250,250,,,,,,250,250,250',
'250,250,250,250,,,250,,,,,,,250,,,250,250,250,250,250,250,250,250,,250',
'250,250,,250,250,,250,250,250,,,,,,,,,,,,,,,,,,,,250,,,250,,,250,250',
',,250,,,,,,250,,,,,,,,,250,,,,,250,250,250,250,,250,250,250,250,,,,',
'250,250,251,251,251,,251,,250,,251,251,,,,251,,251,251,251,251,251,251',
'251,,,,,,251,251,251,251,251,251,251,,,251,,,,,,,251,,,251,251,251,251',
'251,251,251,251,,251,251,251,,251,251,,251,251,251,,,,,,,,,,,,,,,,,',
',,251,,,251,,,251,251,,,251,,,,,,251,,,,,,,,,251,,,,,251,251,251,251',
',251,251,251,251,,,,,251,251,252,252,252,,252,,251,,252,252,,,,252,',
'252,252,252,252,252,252,252,,,,,,252,252,252,252,252,252,252,,,252,',
',,,,,252,,,252,252,252,252,252,252,252,252,,252,252,252,,252,252,,252',
'252,252,,,,,,,,,,,,,,,,,,,,252,,,252,,,252,252,,,252,,,,,,252,,,,,,',
',,252,,,,,252,252,252,252,,252,252,252,252,,,,,252,252,402,402,402,',
'402,,252,,402,402,,,,402,,402,402,402,402,402,402,402,,,,,,402,402,402',
'402,402,402,402,,,402,,,,,,,402,,,402,402,402,402,402,402,402,402,,402',
'402,402,,402,402,,402,402,402,,,,,,,,,,,,,,,,,,,,402,,,402,,,402,402',
',,402,,,,,,402,,,,,,,,,402,,,,,402,402,402,402,,402,402,402,402,,,,',
'402,402,645,645,645,,645,,402,,645,645,,,,645,,645,645,645,645,645,645',
'645,,,,,,645,645,645,645,645,645,645,,,645,,,,,,,645,,,645,645,645,645',
'645,645,645,645,,645,645,645,,645,645,,645,645,645,,,,,,,,,,,,,,,,,',
',,645,,,645,,,645,645,,,645,,,,,,645,,,,,,,,,645,,,,,645,645,645,645',
',645,645,645,645,,,,,645,645,259,259,259,,259,,645,,259,259,,,,259,',
'259,259,259,259,259,259,259,,,,,,259,259,259,259,259,259,259,,,259,',
',,,,,259,,,259,259,259,259,259,259,259,259,259,259,259,259,,259,259',
',259,259,259,,,,,,,,,,,,,,,,,,,,259,,,259,,,259,259,,,259,,259,,259',
',259,,,259,,,,,,259,,,,,259,259,259,259,,259,259,259,259,,,,,259,259',
'260,260,260,,260,,259,,260,260,,,,260,,260,260,260,260,260,260,260,',
',,,,260,260,260,260,260,260,260,,,260,,,,,,,260,,,260,260,260,260,260',
'260,260,260,260,260,260,260,,260,260,,260,260,260,,,,,,,,,,,,,,,,,,',
',260,,,260,,,260,260,,,260,,260,,260,,260,,,260,,,,,,260,,,,,260,260',
'260,260,,260,260,260,260,,,,,260,260,268,268,268,,268,,260,,268,268',
',,,268,,268,268,268,268,268,268,268,,,,,,268,268,268,268,268,268,268',
',,268,,,,,,,268,,,268,268,268,268,268,268,268,268,268,268,268,268,,268',
'268,,268,268,268,,,,,,,,,,,,,,,,,,,,268,,,268,,,268,268,,,268,,268,',
'268,,268,,,268,,,,,,268,,,,,268,268,268,268,,268,268,268,268,,,,,268',
'268,268,542,542,542,,542,268,,,542,542,,,,542,,542,542,542,542,542,542',
'542,,,,,,542,542,542,542,542,542,542,,,542,,,,,,,542,,,542,542,542,542',
'542,542,542,542,,542,542,542,,542,542,,542,542,542,,,,,,,,,,,,,,,,,',
',,542,,,542,,,542,542,,,542,,,,,,542,,,,,,,,,542,,,,,542,542,542,542',
',542,542,542,542,,,,,542,542,42,42,42,,42,,542,,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,,,,,42,42,855',
'855,855,,855,,42,,855,855,,,,855,,855,855,855,855,855,855,855,,,,,,855',
'855,855,855,855,855,855,,,855,,,,,,,855,,,855,855,855,855,855,855,855',
'855,,855,855,855,,855,855,,855,855,855,,,,,,,,,,,,,,,,,,,,855,,,855',
',,855,855,,,855,,855,,,,855,,,,,,,,,855,,,,,855,855,855,855,,855,855',
'855,855,,,,,855,855,275,275,275,,275,,855,,275,275,,,,275,,275,275,275',
'275,275,275,275,,,,,,275,275,275,275,275,275,275,,,275,,,,,,,275,,,275',
'275,275,275,275,275,275,275,,275,275,275,,275,275,,275,275,275,,,,,',
',,,,,,,,,,,,,,275,,,275,,,275,275,,,275,,,,,,275,,,,,,,,,275,,,,,275',
'275,275,275,,275,275,275,275,,,,,275,275,543,543,543,,543,,275,,543',
'543,,,,543,,543,543,543,543,543,543,543,,,,,,543,543,543,543,543,543',
'543,,,543,,,,,,,543,,,543,543,543,543,543,543,543,543,,543,543,543,',
'543,543,,543,543,543,,,,,,,,,,,,,,,,,,,,543,,,543,,,543,543,,,543,,',
',,,543,,,,,,,,,543,,,,,543,543,543,543,,543,543,543,543,,,,,543,543',
'277,277,277,,277,,543,,277,277,,,,277,,277,277,277,277,277,277,277,',
',,,,277,277,277,277,277,277,277,,,277,,,,,,,277,,,277,277,277,277,277',
'277,277,277,,277,277,277,,277,277,,277,277,277,,,,,,,,,,,,,,,,,,,,277',
',,277,,,277,277,,,277,,,,,,277,,,,,,,,,277,,,,,277,277,277,277,,277',
'277,277,277,,,,,277,277,279,279,279,,279,,277,,279,279,,,,279,,279,279',
'279,279,279,279,279,,,,,,279,279,279,279,279,279,279,,,279,,,,,,,279',
',,279,279,279,279,279,279,279,279,,279,279,279,,279,279,,279,279,279',
',,,,,,,,,,,,,,,,,,,279,,,279,,,279,279,,,279,,,,,,279,,,,,,,,,279,,',
',,279,279,279,279,,279,279,279,279,,,,,279,279,280,280,280,,280,,279',
',280,280,,,,280,,280,280,280,280,280,280,280,,,,,,280,280,280,280,280',
'280,280,,,280,,,,,,,280,,,280,280,280,280,280,280,280,280,,280,280,280',
',280,280,,280,280,280,,,,,,,,,,,,,,,,,,,,280,,,280,,,280,280,,,280,',
',,,,280,,,,,,,,,280,,,,,280,280,280,280,,280,280,280,280,,,,,280,280',
'547,547,547,,547,,280,,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,,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,285,285,285,285,285,,547,,285,285,,,,285,,285',
'285,285,285,285,285,285,,,,,,285,285,285,285,285,285,285,,,285,,,,,',
'285,285,,285,285,285,285,285,285,285,285,285,,285,285,285,,285,285,',
'285,285,285,,,,,,,,,,,,,,,,,,,,285,,,285,,,285,285,,,285,,285,,,,285',
',,,,,,,,285,,,,,285,285,285,285,,285,285,285,285,,,,,285,285,850,850',
'850,,850,,285,,850,850,,,,850,,850,850,850,850,850,850,850,,,,,,850',
'850,850,850,850,850,850,,,850,,,,,,,850,,,850,850,850,850,850,850,850',
'850,,850,850,850,,850,850,,850,850,850,,,,,,,,,,,,,,,,,,,,850,,,850',
',,850,850,,,850,,,,,,850,,,,,,,,,850,,,,,850,850,850,850,,850,850,850',
'850,,,,,850,850,553,553,553,,553,,850,,553,553,,,,553,,553,553,553,553',
'553,553,553,,,,,,553,553,553,553,553,553,553,,,553,,,,,,,553,,,553,553',
'553,553,553,553,553,553,553,553,553,553,,553,553,,553,553,553,,,,,,',
',,,,,,,,,,,,,553,,,553,,,553,553,,,553,,553,,,,553,,,553,,,,,,553,,',
',,553,553,553,553,,553,553,553,553,,,,,553,553,556,556,556,,556,,553',
',556,556,,,,556,,556,556,556,556,556,556,556,,,,,,556,556,556,556,556',
'556,556,,,556,,,,,,,556,,,556,556,556,556,556,556,556,556,556,556,556',
'556,,556,556,,556,556,556,,,,,,,,,,,,,,,,,,,,556,,,556,,,556,556,,,556',
',,,,,556,,,556,,,,,,556,,,,,556,556,556,556,,556,556,556,556,,,,,556',
'556,5,5,5,5,5,,556,,5,5,,,,5,,5,5,5,5,5,5,5,,,,,,5,5,5,5,5,5,5,,,5,',
',,,,5,5,5,5,5,5,5,5,5,5,5,5,,5,5,5,,5,5,,5,5,5,,,,,,,,,,,,,,,,,,,,5',
',,5,,,5,5,,,5,,5,,,,5,,,,,,,,,5,,,,,5,5,5,5,,5,5,5,5,,,,,5,5,574,574',
'574,,574,,5,,574,574,,,,574,,574,574,574,574,574,574,574,,,,,,574,574',
'574,574,574,574,574,,,574,,,,,,,574,,,574,574,574,574,574,574,574,574',
',574,574,574,,574,574,,574,574,574,,,,,,,,,,,,,,,,,,,,574,,,574,,,574',
'574,,,574,,,,,,574,,,,,,,,,574,,,,,574,574,574,574,,574,574,574,574',
',,,,574,574,386,386,386,,386,,574,,386,386,,,,386,,386,386,386,386,386',
'386,386,,,,,,386,386,386,386,386,386,386,,,386,,,,,,,386,,,386,386,386',
'386,386,386,386,386,,386,386,386,,386,386,,386,386,386,,,,,,,,,,,,,',
',,,,,,386,,,386,,,386,386,,,386,,,,,,386,,,,,,,,,386,,,,,386,386,386',
'386,,386,386,386,386,,,,,386,386,293,293,293,,293,,386,,293,293,,,,293',
',293,293,293,293,293,293,293,,,,,,293,293,293,293,293,293,293,,,293',
',,,,,,293,,,293,293,293,293,293,293,293,293,,293,293,293,,293,293,,',
',293,,,,,,,,,,,,,,,,,,,,293,,,293,,,293,293,,,293,,,,,,,,,,,,,,,,,,',
',293,293,293,293,,293,293,293,293,,,,,293,293,35,35,35,293,35,,293,',
'35,35,,,,35,,35,35,35,35,35,35,35,,,,,,35,35,35,35,35,35,35,,,35,,,',
',,,35,,,35,35,35,35,35,35,35,35,,35,35,35,,35,35,,,,35,,,,,,,,,,,,,',
',,,,,,35,,,35,,,35,35,,,35,,,,,,,,,,,,,,,,,,,,35,35,35,35,,35,35,35',
'35,,,,,35,35,34,34,34,35,34,,35,,34,34,,,,34,,34,34,34,34,34,34,34,',
',,,,34,34,34,34,34,34,34,,,34,,,,,,,34,,,34,34,34,34,34,34,34,34,,34',
'34,34,,34,34,,,,34,,,,,,,,,,,,,,,,,,,,34,,,34,,,34,34,,,34,,34,,,,,',
',,,,,,,,,,,,34,34,34,34,,34,34,34,34,,,,,34,34,651,651,651,,651,,34',
',651,651,,,,651,,651,651,651,651,651,651,651,,,,,,651,651,651,651,651',
'651,651,,,651,,,,,,,651,,,651,651,651,651,651,651,651,651,,651,651,651',
',651,651,,651,651,651,,,,,,,,,,,,,,,,,,,,651,,,651,,,651,651,,,651,',
',,,,651,,,,,,,,,651,,,,,651,651,651,651,,651,651,651,651,,,,,651,651',
'31,31,31,,31,,651,,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,,,31,,31,,31,,31,,,31,',
',,,,31,,,,,31,31,31,31,,31,31,31,31,,,,,31,31,804,804,804,,804,,31,',
'804,804,,,,804,,804,804,804,804,804,804,804,,,,,,804,804,804,804,804',
'804,804,,,804,,,,,,,804,,,804,804,804,804,804,804,804,804,,804,804,804',
',804,804,,,,804,,,,,,,,,,,,,,,,,,,,804,,,804,,,804,804,,,804,,,,,,,',
',,,,,,,,,,,,804,804,804,804,,804,804,804,804,,,,,804,804,793,793,793',
',793,,804,,793,793,,,,793,,793,793,793,793,793,793,793,,,,,,793,793',
'793,793,793,793,793,,,793,,,,,,,793,,,793,793,793,793,793,793,793,793',
',793,793,793,,793,793,,793,793,793,,,,,,,,,,,,,,,,,,,,793,,,793,,,793',
'793,,,793,,,,,,793,,,,,,,,,793,,,,,793,793,793,793,,793,793,793,793',
',,,,793,793,791,791,791,,791,,793,,791,791,,,,791,,791,791,791,791,791',
'791,791,,,,,,791,791,791,791,791,791,791,,,791,,,,,,,791,,,791,791,791',
'791,791,791,791,791,,791,791,791,,791,791,,791,791,791,,,,,,,,,,,,,',
',,,,,,791,,,791,,,791,791,,,791,,,,,,791,,,,,,,,,791,,,,,791,791,791',
'791,,791,791,791,791,,,,,791,791,790,790,790,,790,,791,,790,790,,,,790',
',790,790,790,790,790,790,790,,,,,,790,790,790,790,790,790,790,,,790',
',,,,,,790,,,790,790,790,790,790,790,790,790,,790,790,790,,790,790,,790',
'790,790,,,,,,,,,,,,,,,,,,,,790,,,790,,,790,790,,,790,,,,,,790,,,,,,',
',,790,,,,,790,790,790,790,,790,790,790,790,,,,,790,790,644,644,644,',
'644,,790,,644,644,,,,644,,644,644,644,644,644,644,644,,,,,,644,644,644',
'644,644,644,644,,,644,,,,,,,644,,,644,644,644,644,644,644,644,644,644',
'644,644,644,,644,644,,644,644,644,,,,,,,,,,,,,,,,,,,,644,,,644,,,644',
'644,,,644,,,,644,,644,,,644,,,,,,644,,,,,644,644,644,644,,644,644,644',
'644,,,,,644,644,789,789,789,,789,,644,,789,789,,,,789,,789,789,789,789',
'789,789,789,,,,,,789,789,789,789,789,789,789,,,789,,,,,,,789,,,789,789',
'789,789,789,789,789,789,,789,789,789,,789,789,,789,789,789,,,,,,,,,',
',,,,,,,,,,789,,,789,,,789,789,,,789,,,,,,789,,,,,,,,,789,,,,,789,789',
'789,789,,789,789,789,789,,,,,789,789,788,788,788,,788,,789,,788,788',
',,,788,,788,788,788,788,788,788,788,,,,,,788,788,788,788,788,788,788',
',,788,,,,,,,788,,,788,788,788,788,788,788,788,788,,788,788,788,,788',
'788,,788,788,788,,,,,,,,,,,,,,,,,,,,788,,,788,,,788,788,,,788,,,,,,788',
',,,,,,,,788,,,,,788,788,788,788,,788,788,788,788,,,,,788,788,594,594',
'594,,594,,788,,594,594,,,,594,,594,594,594,594,594,594,594,,,,,,594',
'594,594,594,594,594,594,,,594,,,,,,,594,,,594,594,594,594,594,594,594',
'594,,594,594,594,,594,594,,594,594,594,,,,,,,,,,,,,,,,,,,,594,,,594',
',,594,594,,,594,,594,,,,594,,,,,,,,,594,,,,,594,594,594,594,,594,594',
'594,594,,,,,594,594,310,310,310,,310,,594,,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,595,595,595,,595,,310,,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,595,,,,,595,595',
'643,643,643,,643,,595,,643,643,,,,643,,643,643,643,643,643,643,643,',
',,,,643,643,643,643,643,643,643,,,643,,,,,,,643,,,643,643,643,643,643',
'643,643,643,643,643,643,643,,643,643,,643,643,643,,,,,,,,,,,,,,,,,,',
',643,,,643,,,643,643,,,643,,643,,643,,643,,,643,,,,,,643,,,,,643,643',
'643,643,,643,643,643,643,,,,,643,643,472,472,472,,472,,643,,472,472',
',,,472,,472,472,472,472,472,472,472,,,,,,472,472,472,472,472,472,472',
',,472,,,,,,,472,,,472,472,472,472,472,472,472,472,,472,472,472,,472',
'472,,472,472,472,,,,,,,,,,,,,,,,,,,,472,,,472,,,472,472,,,472,,,,,,472',
',,,,,,,,472,,,,,472,472,472,472,,472,472,472,472,,,,,472,472,471,471',
'471,,471,,472,,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,774,774,774,,774,,471,,774,774,,,,774,,774,774,774,774',
'774,774,774,,,,,,774,774,774,774,774,774,774,,,774,,,,,,,774,,,774,774',
'774,774,774,774,774,774,,774,774,774,,774,774,,774,774,774,,,,,,,,,',
',,,,,,,,,,774,,,774,,,774,774,,,774,,,,,,774,,,,,,,,,774,,,,,774,774',
'774,774,,774,774,774,774,,,,,774,774,319,319,319,,319,,774,,319,319',
',,,319,,319,319,319,319,319,319,319,,,,,,319,319,319,319,319,319,319',
',,319,,,,,,,319,,,319,319,319,319,319,319,319,319,,319,319,319,,319',
'319,,319,319,319,,,,,,,,,,,,,,,,,,,,319,,,319,319,,319,319,,,319,,,',
',,319,,,,,,,,,319,,,,,319,319,319,319,,319,319,319,319,,,,,319,319,30',
'30,30,,30,,319,,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,30,,,,,30,30,470,470,470,,470,,30,,470',
'470,,,,470,,470,470,470,470,470,470,470,,,,,,470,470,470,470,470,470',
'470,,,470,,,,,,,470,,,470,470,470,470,470,470,470,470,,470,470,470,',
'470,470,,470,470,470,,,,,,,,,,,,,,,,,,,,470,,,470,,,470,470,,,470,,',
',,,470,,,,,,,,,470,,,,,470,470,470,470,,470,470,470,470,,,,,470,470',
'772,772,772,,772,,470,,772,772,,,,772,,772,772,772,772,772,772,772,',
',,,,772,772,772,772,772,772,772,,,772,,,,,,,772,,,772,772,772,772,772',
'772,772,772,,772,772,772,,772,772,,772,772,772,,,,,,,,,,,,,,,,,,,,772',
',,772,,,772,772,,,772,,,,,,772,,,,,,,,,772,,,,,772,772,772,772,,772',
'772,772,772,,,,,772,772,29,29,29,,29,,772,,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,29,,,,,29,29',
'430,430,430,,430,,29,,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,,,,,430,430,605,605,605,,605,,430,,605,605,,,,605,,605,605',
'605,605,605,605,605,,,,,,605,605,605,605,605,605,605,,,605,,,,,,,605',
',,605,605,605,605,605,605,605,605,605,605,605,605,,605,605,,605,605',
'605,,,,,,,,,,,,,,,,,,,,605,,,605,,,605,605,,,605,,605,,605,,605,,,605',
',,,,,605,,,,,605,605,605,605,,605,605,605,605,,,,,605,605,468,468,468',
',468,,605,,468,468,,,,468,,468,468,468,468,468,468,468,,,,,,468,468',
'468,468,468,468,468,,,468,,,,,,,468,,,468,468,468,468,468,468,468,468',
'468,468,468,468,,468,468,,468,468,468,,,,,,,,,,,,,,,,,,,,468,,,468,',
',468,468,,,468,,468,,468,,468,,,468,,,,,,468,,,,,468,468,468,468,,468',
'468,468,468,,,,,468,468,749,749,749,,749,,468,,749,749,,,,749,,749,749',
'749,749,749,749,749,,,,,,749,749,749,749,749,749,749,,,749,,,,,,,749',
',,749,749,749,749,749,749,749,749,,749,749,749,,749,749,,749,749,749',
',,,,,,,,,,,,,,,,,,,749,,,749,,,749,749,,,749,,,,,,749,,,,,,,,,749,,',
',,749,749,749,749,,749,749,749,749,,,,,749,749,640,640,640,,640,,749',
',640,640,,,,640,,640,640,640,640,640,640,640,,,,,,640,640,640,640,640',
'640,640,,,640,,,,,,,640,,,640,640,640,640,640,640,640,640,,640,640,640',
',640,640,,640,640,640,,,,,,,,,,,,,,,,,,,,640,,,640,,,640,640,,,640,',
',,,,640,,,,,,,,,640,,,,,640,640,640,640,,640,640,640,640,,,,,640,640',
'20,20,20,,20,,640,,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,,,,,20,20,679,679,679,,679,,20,,679,679,,',
',679,,679,679,679,679,679,679,679,,,,,,679,679,679,679,679,679,679,',
',679,,,,,,,679,,,679,679,679,679,679,679,679,679,,679,679,679,,679,679',
',679,679,679,,,,,,,,,,,,,,,,,,,,679,,,679,,,679,679,,,679,,,,,,679,',
',,,,,,,679,,,,,679,679,679,679,,679,679,679,679,,,,,679,679,685,685',
'685,,685,,679,,685,685,,,,685,,685,685,685,685,685,685,685,,,,,,685',
'685,685,685,685,685,685,,,685,,,,,,,685,,,685,685,685,685,685,685,685',
'685,,685,685,685,,685,685,,,,685,,,,,,,,,,,,,,,,,,,,685,,,685,,,685',
'685,,,685,,,,,,,,,,,,,,,,,,,,685,685,685,685,,685,685,685,685,,,,,685',
'685,743,743,743,,743,,685,,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,,,,,743,743,639,639,639,,639,,743,,639,639,,,,639,,639,639',
'639,639,639,639,639,,,,,,639,639,639,639,639,639,639,,,639,,,,,,,639',
',,639,639,639,639,639,639,639,639,,639,639,639,,639,639,,639,639,639',
',,,,,,,,,,,,,,,,,,,639,,,639,,,639,639,,,639,,639,,,,639,,,,,,,,,639',
',,,,639,639,639,639,,639,639,639,639,,,,,639,639,367,367,367,,367,,639',
',367,367,,,,367,,367,367,367,367,367,367,367,,,,,,367,367,367,367,367',
'367,367,,,367,,,,,,,367,,,367,367,367,367,367,367,367,367,,367,367,367',
',367,367,,367,367,367,,,,,,,,,,,,,,,,,,,,367,,,367,,,367,367,,,367,',
',,,,367,,,,,,,,,367,,,,,367,367,367,367,,367,367,367,367,,,,,367,367',
'366,366,366,,366,,367,,366,366,,,,366,,366,366,366,366,366,366,366,',
',,,,366,366,366,366,366,366,366,,,366,,,,,,,366,,,366,366,366,366,366',
'366,366,366,,366,366,366,,366,366,,366,366,366,,,,,,,,,,,,,,,,,,,,366',
',,366,,,366,366,,,366,,,,,,366,,,,,,,,,366,,,,,366,366,366,366,,366',
'366,366,366,,,,,366,366,696,696,696,,696,,366,,696,696,,,,696,,696,696',
'696,696,696,696,696,,,,,,696,696,696,696,696,696,696,,,696,,,,,,,696',
',,696,696,696,696,696,696,696,696,,696,696,696,,696,696,,,,696,,,,,',
',,,,,,,,,,,,,,696,,,696,,,696,696,,,696,,,,,,,,,,,,,,,,,,,,696,696,696',
'696,,696,696,696,696,,,,,696,696,980,980,980,,980,,696,,980,980,,,,980',
',980,980,980,980,980,980,980,,,,,,980,980,980,980,980,980,980,,,980',
',,,,,,980,,,980,980,980,980,980,980,980,980,980,980,980,980,,980,980',
',980,980,980,,,,,,,,,,,,,,,,,,,,980,,,980,,,980,980,,,980,,980,,980',
',980,,,980,,,,,,980,,,,,980,980,980,980,,980,980,980,980,,,,,980,980',
'351,351,351,,351,,980,,351,351,,,,351,,351,351,351,351,351,351,351,',
',,,,351,351,351,351,351,351,351,,,351,,,,,,,351,,,351,351,351,351,351',
'351,351,351,,351,351,351,,351,351,,351,351,351,,,,,,,,,,,,,,,,,,,,351',
',,351,,,351,351,,,351,,,,,,351,,,,,,,,,351,,,,,351,351,351,351,,351',
'351,351,351,,,,,351,351,224,224,224,,224,,351,,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',
'453,453,453,453,453,453,453,453,453,453,453,,453,453,,,453,453,,224',
',,224,,,224,224,,,224,,,453,,453,224,453,453,,453,453,453,453,453,224',
'453,,,,224,224,224,224,,224,224,224,224,,,,,224,224,,453,,,,,224,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,,,,,,,,,,,,,,9,636',
'636,636,636,636,636,636,636,636,636,636,636,636,636,636,636,636,636',
'636,636,636,636,636,636,,,,636,636,636,636,636,636,636,636,636,636,',
',,,,636,636,636,636,636,636,636,636,636,,,636,,,,,,,,,636,636,,636,636',
'636,636,636,636,636,,,636,636,,,,636,636,636,636,,,,,,,,,,,,,,636,636',
',636,636,636,636,636,636,636,636,636,636,636,636,,,636,636,,,,,,,,,',
',,,,636,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,,,,,,,',
',,,,,,8,421,421,421,421,421,421,421,421,421,421,421,421,421,421,421',
'421,421,421,421,421,421,421,421,421,,,,421,421,421,421,421,421,421,421',
'421,421,,,,,,421,421,421,421,421,421,421,421,421,,,421,,,,,,,,,421,421',
',421,421,421,421,421,421,421,,,421,421,,,,421,421,421,421,,,,,,,,,,',
',,,421,421,,421,421,421,421,421,421,421,421,421,421,421,421,,,421,421',
',,,,,,,,,,,,,421,756,756,756,756,756,756,756,756,756,756,756,756,756',
'756,756,756,756,756,756,756,756,756,756,756,,,,756,756,756,756,756,756',
'756,756,756,756,,,,,,756,756,756,756,756,756,756,756,756,,,756,,,,,',
',,,756,756,,756,756,756,756,756,756,756,,,756,756,,,,756,756,756,756',
',,,,,,,,,,,,,756,756,,756,756,756,756,756,756,756,756,756,756,756,756',
',,756,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71',
'71,71,71,,,,71,71,71,71,71,71,71,71,71,71,,,,,,71,71,71,71,71,71,71',
'71,71,71,71,71,,71,,,,,,,71,71,,71,71,71,71,71,71,71,,,71,71,,,,71,71',
'71,71,,,,,,71,,,,,,,,71,71,,71,71,71,71,71,71,71,71,71,71,71,71,,,71',
'21,21,21,21,21,21,21,21,21,21,21,,21,21,,,21,21,,951,,951,951,951,951',
'951,,,,,,,21,,21,951,21,21,,21,21,21,21,21,,21,874,874,874,874,874,874',
'874,874,874,874,874,951,874,874,,,874,874,,21,,,951,951,,,,951,,,,,874',
',874,,874,874,,874,874,874,874,874,,874,546,546,546,546,546,546,546',
'546,546,546,546,,546,546,,,546,546,,874,,,568,,568,568,568,568,568,',
',,546,,546,,546,546,568,546,546,546,546,546,,546,498,498,498,498,498',
'498,498,498,498,498,498,,498,498,568,,498,498,,546,,,,568,568,568,568',
',,,568,,498,,498,,498,498,,498,498,498,498,498,,498,270,270,270,270',
'270,270,270,270,270,270,270,,270,270,,,270,270,498,498,,,570,,570,570',
'570,570,570,,,,270,,270,,270,270,570,270,270,270,270,270,,270,787,787',
'787,787,787,787,787,787,787,787,787,,787,787,570,,787,787,,270,,,,570',
'570,570,570,,,,570,,787,,787,,787,787,,787,787,787,787,787,,787,785',
'785,785,785,785,785,785,785,785,785,785,,785,785,,,785,785,,787,,,572',
',572,572,572,572,572,,,,785,,785,,785,785,572,785,785,785,785,785,,785',
'871,871,871,871,871,871,871,871,871,871,871,,871,871,572,,871,871,,785',
',,,,,572,572,,,,572,,871,,871,,871,871,,871,871,871,871,871,,871,773',
'773,773,773,773,773,773,773,773,773,773,,773,773,,,773,773,,871,,,925',
',925,925,925,925,925,,,,773,,773,,773,773,925,773,773,773,773,773,,773',
'778,778,778,778,778,778,778,778,778,778,778,,778,778,925,925,778,778',
',773,,,,925,925,925,925,,,,925,,778,,778,,778,778,,778,778,778,778,778',
',778,780,780,780,780,780,780,780,780,780,780,780,,780,780,,,780,780',
',778,,,838,,838,838,838,838,838,,,,780,,780,,780,780,838,780,780,780',
'780,780,,780,783,783,783,783,783,783,783,783,783,783,783,,783,783,838',
',783,783,,780,,,,,,838,838,,,,838,,783,,783,,783,783,,783,783,783,783',
'783,,783,697,697,697,697,697,697,697,697,697,697,697,,697,697,,,697',
'697,,783,,,,,,,,,,,,,697,,697,,697,697,,697,697,697,697,697,,697,,,',
',603,603,,,603,,,,,,,,,603,603,697,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,604,604,603,,604,,,,,,,,,604,604,,604,604',
'604,604,604,604,604,,,604,604,,,,604,604,604,604,,,,,,604,,,,,,,,604',
'604,,604,604,604,604,604,604,604,604,604,604,604,604,596,596,604,,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,981,981,596,,981,,,,,,,,,981,981,,981,981,981,981,981,981,981',
',,981,981,,,,981,981,981,981,,,,,,981,,,,,,,,981,981,,981,981,981,981',
'981,981,981,981,981,981,981,981,467,467,981,,467,,,,,,,,,467,467,,467',
'467,467,467,467,467,467,,,467,467,,,,467,467,467,467,,,,,,467,,,,,,',
',467,467,,467,467,467,467,467,467,467,467,467,467,467,467,532,532,467',
',532,,,,,,,,,532,532,,532,532,532,532,532,532,532,,,532,532,,,,532,532',
'532,532,,,,,,532,,,,,,,,532,532,,532,532,532,532,532,532,532,532,532',
'532,532,532,207,207,532,,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,255,255,207,,255,,,,,,,,,255,255',
',255,255,255,255,255,255,255,,,255,255,,,,255,255,255,255,,,,,,,,,,',
',,,255,255,,255,255,255,255,255,255,255,255,255,255,255,255,466,466',
'255,,466,,,,,,,,,466,466,,466,466,466,466,466,466,466,,,466,466,,,,466',
'466,466,466,,,,,,466,,,,,,,,466,466,,466,466,466,466,466,466,466,466',
'466,466,466,466,206,206,466,,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,982,982,206,,982,,,,,,,,,982',
'982,,982,982,982,982,982,982,982,,,982,982,,,,982,982,982,982,,,,,,982',
',,,,,,,982,982,,982,982,982,982,982,982,982,982,982,982,982,982,544',
'544,982,,544,,,,,,,,,544,544,,544,544,544,544,544,544,544,,,544,544',
',,,544,544,544,544,,,,,,544,,,,,,,,544,544,,544,544,544,544,544,544',
'544,544,544,544,544,544,545,545,544,,545,,,,,,,,,545,545,,545,545,545',
'545,545,545,545,,,545,545,,,,545,545,545,545,,,,,,545,,,,,,,,545,545',
',545,545,545,545,545,545,545,545,545,545,545,545,533,533,545,,533,,',
',,,,,,533,533,,533,533,533,533,533,533,533,,,533,533,,,,533,533,533',
'533,,,,,,533,,,,,,,,533,533,,533,533,533,533,533,533,533,533,533,533',
'533,533,938,938,533,,938,,,,,,,,,938,938,,938,938,938,938,938,938,938',
',,938,938,,,,938,938,938,938,,,,,,938,,,,,,,,938,938,,938,938,938,938',
'938,938,938,938,938,938,938,938,597,597,938,,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,,836,597,836',
'836,836,836,836,,834,,834,834,834,834,834,,836,,,,,,,754,834,754,754',
'754,754,754,,333,,333,333,333,333,333,836,754,,,,,,,834,333,,836,836',
',,,836,834,834,834,834,,,754,834,,,,,,,333,754,754,754,754,,,,754,333',
'333,333,333,,,612,333,612,612,612,612,612,840,,840,840,840,840,840,',
'878,612,878,878,878,878,878,,840,,,,,,,880,878,880,880,880,880,880,',
'612,612,,,,,,840,880,612,612,612,612,,,878,612,,840,840,,,,840,878,878',
'878,878,,,880,878,968,,968,968,968,968,968,880,880,880,880,,,,880,970',
'968,970,970,970,970,970,,972,,972,972,972,972,972,,970,,,,,,,968,972',
'62,,62,62,62,62,62,968,968,968,968,,,970,968,,62,,,,,972,,,970,970,',
',,970,,,972,972,,,,972,62,62,882,,882,882,882,882,882,62,62,62,62,,',
',62,,882,,,,,,,,,,,,,,,,,,,,,,882,,,,,,,,,,,882,882,,,,882' ]
        racc_action_check = arr = ::Array.new(25032, 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 = [
  5357,  1285,   nil,    37,   nil, 16848,  1339,  1163, 22660, 22402,
  1161,   nil,  1093,  1144,  1060,   557,  1069,   726,   nil,    90,
 20976, 23081,  1171,   nil,   407,   nil,   199,  1187,  2749, 20202,
 19815, 17751,   nil,  3275, 17493, 17364,   nil,  1059,   564,   491,
  1108,   632, 15300,  5616, 10913,   977,   861,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   782,   nil,  7945,  7042,
  6913,    75, 24886,  5745,  5874,   nil,   nil,  6003,  6139,  6268,
  6397, 23032,   nil,   nil,   nil,   nil,   nil,    36,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   268,   nil,   nil,     0,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,  1072,   nil,  7171,   nil,   nil,
   nil,   nil,  7300,  7429,  7558,  7687,  7816,  5097,   nil,   409,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   912,   nil,  4835,  8461,  8590,  8719, 24257, 24071,  9106,  9235,
  9364,  9493,  9622,  9751,   nil,   nil,   969,   326,   146,   962,
   247,   868,   894,   nil, 22266,  4575,   886, 11171, 11300, 11429,
 11558, 11687, 11816, 11945, 12074, 12203, 12332, 12461, 12590, 12719,
 12848, 12977, 13106, 13235, 13364, 13493, 13622, 13751, 13880, 14009,
 14138, 14267, 14396,   nil,   nil, 24133,   nil,   nil,   876, 14783,
 14912,   nil,   nil,   nil,   nil,   nil,   nil,   nil, 15041,   nil,
 23265,   nil,   831,   828,   nil, 15558,   873, 15816,   nil, 15945,
 16074,   nil,   nil,   287,   nil, 16332,  1393,   814,   784,  3795,
   791,   830,   777, 17235,  3535,   885,   856,  1097,   819,   651,
   nil,   738,   681,    80,   nil,   nil,   nil,   715,   765,   642,
 18912,   nil,   461,   702,   680,   928,   nil,   612,   nil, 19686,
  3015,   794,   518,   nil,   579,   673,   517,   492,   653,   492,
   nil,   nil,    54, 24723,   nil,   413,   399,   nil,   395,   386,
   382,   nil,   nil,   nil,   nil,   nil,   nil,   364,   nil,   746,
   nil, 22137,   nil,   nil,   nil,    75,   nil,   nil,   nil,   551,
   nil,   nil,   397,   778,   115,    48, 21750, 21621,   549,   600,
   491,   121,   101,   320,   716,   165,   810,   nil,   nil,   411,
   483,   144,   nil,  1126,   nil,    55, 17106,   nil,   nil,   nil,
   553,   580,   369,   529,   558,   494,   484,   441,   440,   nil,
   467,   nil, 14525,   nil,   507,   484,   439,   433,   265,   101,
    96,   268,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   833, 22789,   nil,   nil,   nil,   nil,   838,   nil,   nil,   846,
 20331,   894,   nil,   nil,  4835,   902,   nil,   910,   939,   565,
   532,  1317,   nil,   nil,   nil,   514,   135,   992,   nil,   nil,
  1052,   917,   nil, 22266,   nil,   959,   nil,   nil,  6003,   nil,
   nil,   nil,   nil,   278,   nil,  1014, 24195, 23947, 20589,   246,
 19944, 19428, 19299,  2233,  1843,   536,   471,  1048,  1050,  1090,
  1107,  2697,  3145,  3015,  2885,   865,  1265,  1135,  1000,  1453,
  2103,  1973,  1713,  1583,   765,   739,  2363,  2493, 23219,   248,
  4961,   nil,   nil,   nil,   nil,  1079,   nil,    87,    40,  1109,
   nil,   nil, 10010,   nil,  9881,   nil,  8977,   nil,   nil,   nil,
   nil,  8848,  1270,  5487,  1149,  -109,   nil,   nil,  1149,  8203,
  1148,  6784, 24009, 24505,  1056,  1143,   nil,   nil, 10139,  1088,
   nil, 10526, 15171, 15687, 24381, 24443, 23173, 16203,  1200,  1197,
  1066,  1098,   nil, 16590,   nil,   nil, 16719,   nil,   nil,   nil,
   nil,  4445,  1583,  1050,   601,   nil,   nil,   287, 23211,   nil,
 23303,   nil, 23395,   nil, 16977,   nil,   654,   nil,  1045,   398,
   nil,  1047,   nil,   nil,   nil,   nil,  1453,  1164,   nil,     0,
   191,    94,  1156,  1159, 18783, 19041, 23823, 24629,    66,   nil,
   nil,   279,   nil, 23699, 23761, 20460,   nil,   nil,   nil,   561,
   122,  2623, 24776,   nil,   266,   nil,   nil,   nil,  1281,   nil,
   nil,   nil,   954,   nil,   nil,   300,   nil,   194,   nil,   nil,
   923,   nil,   922,   nil,   nil,   nil, 22531,   nil,   908, 21492,
 20847,   542,   914, 19170, 18396, 14654, 11042,   839,   nil,   nil,
 10655, 17622,   812,   nil,  6526,  6655,   nil,   nil,   244,   210,
   647,   403,   764,  2623,   754,   nil,  4925,   nil,  1713,   851,
   127,   177,   nil,  1843,  1973,   nil,   699,   nil,   700, 21105,
   nil,   nil,   nil,   623,   561, 21234,   536,   nil,   506,   159,
   293,   459,   276,   991,   394,   324, 21879, 23633,   355,   134,
   130,    67, 10784,   nil,    94,   nil,   533,   113,   222,   134,
   225,   190,   nil,   nil,   nil,   196,   198,   nil,   216,   245,
   nil,   274,   nil,   289,   713,   304,   981,   nil,   779,   nil,
   450,   nil,   nil,   nil,   nil,   457,   nil,   152,   364,   157,
   145,   172,   166, 21363,   343,  1024,   nil,   432,  2103, 20718,
   nil,   nil,   595,  2493, 24715,   546, 22918,   nil,   nil,   nil,
   nil,   nil,   nil,  2885,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   507, 20073, 23449, 19557,   nil,   578,   nil, 23495,   nil,
 23541,   nil,   nil, 23587,   nil, 23357,   nil, 23311, 18654, 18525,
 18267, 18138,    59, 18009,   702,   703,   nil,   705,   706,   707,
   nil,   737,   717,   724, 17880,   nil,   nil,   866,   nil,   nil,
  3145,   766,   873,   nil,   nil,   nil,   750,   356,   nil,   nil,
   885,   nil,  3405,   764,   819,   nil,   nil,   nil,   nil,   nil,
   nil,  1251,   nil,   nil, 24700,   nil, 24692,   nil, 23579,   nil,
 24783,   nil,   nil,   nil,   nil,   406,   851,   803,   929,   nil,
 16461,   942,  4055,  4185,   nil, 15429,  4315,   123,   190,   nil,
   969,   440,  4705,   nil,   973,   867,   nil,   nil,   871,   870,
   nil, 23403, 10397, 10268, 23127,   672,   nil,   nil, 24791,   nil,
 24806,   nil, 24926,   nil,   nil,   946,  8074,   889,  1007,   nil,
   957,   nil,   nil,   nil,  5227,   nil,   nil,   128,  8332,   nil,
   412,   nil,   nil,   nil,   952,   953,   956,   962,   963,  1116,
   966,   986,   nil,    51,   nil,  1102,  1104,   nil,   141,   nil,
   nil,   nil,  1107,   nil,   nil, 23487,   nil,   999,   nil,   nil,
  1005,  1008,  1010,  1014,   nil,  1018,   nil,   584, 24567,   nil,
   nil,   nil,  3925,   655,   680,   735,  1122,   834,   nil,   nil,
  1195, 23116,   nil,   nil,   nil,   nil,   846,  1058,  3665,   nil,
   nil,   nil,   nil,   nil,  2363,   nil,  2233,   nil, 24846,   nil,
 24861,   nil, 24869,   nil,  4954,   nil,   nil,  1125,  1127,  1214,
 22008, 23885, 24319,  1131,   nil,  1101,  1103,   803,  1234,  1235,
  1117,  1119,  1134,  1135,   nil,  1142,   129,   142,   182,   925,
   nil,   nil,   nil,   nil,  4978,   nil,   nil,   nil,   nil,   101,
  1153,   nil ]

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

clist = [
'26,271,271,271,399,26,341,2,435,212,323,254,330,128,128,334,118,201',
'262,266,26,123,123,255,513,641,549,565,566,26,26,26,593,26,457,319,126',
'126,364,365,701,717,368,680,677,432,677,504,6,586,589,454,720,6,441',
'447,111,753,26,848,107,847,505,26,26,290,309,26,258,265,267,14,407,581',
'215,798,14,464,539,602,273,273,273,844,123,680,934,415,416,417,418,216',
'552,555,288,292,559,716,106,718,216,216,216,500,14,297,297,26,731,734',
'325,328,26,26,26,26,26,26,710,903,405,820,385,389,420,625,627,411,748',
'216,901,862,510,611,216,216,306,306,216,373,383,383,612,756,925,331',
'269,281,282,636,851,668,743,853,525,6,800,367,413,673,674,852,369,671',
'419,6,366,291,802,322,306,306,306,680,934,677,677,271,14,550,421,910',
'428,216,216,216,216,14,14,513,900,321,569,571,573,799,363,363,442,320',
'363,400,26,26,26,26,332,560,26,26,26,26,26,26,378,200,499,507,508,961',
'451,801,824,897,403,26,404,326,406,964,670,271,271,606,408,409,410,758',
'903,616,271,623,626,626,957,363,363,363,363,984,763,749,792,682,893',
'735,715,427,433,26,26,376,452,456,712,928,401,327,26,1,844,662,,14,216',
'216,216,341,817,216,216,216,216,216,216,26,563,930,,26,,986,535,,26',
'262,14,686,,266,723,746,272,272,272,,695,,,,,273,551,717,441,447,720',
'752,1001,273,26,524,,810,528,,530,656,857,,216,216,324,522,688,,426',
'859,962,216,521,590,591,460,461,462,463,,,39,288,717,,,39,288,14,885',
',291,14,,,904,297,14,26,26,,672,966,540,,675,,,919,506,520,,691,297',
'39,296,296,509,26,,684,,,14,691,,687,306,,,738,613,,680,26,833,677,',
',931,747,932,,,306,,,,,372,388,388,388,,856,291,,642,128,813,291,635',
',,,648,123,,781,216,216,653,271,786,,,691,727,,717,,126,,,691,816,860',
',39,216,442,864,766,,766,592,,39,39,,26,,,994,,216,828,,431,,757,457',
'451,,431,647,,,876,877,664,652,,,648,,,,,990,,363,363,,,271,,,,,,,16',
',,,,16,,,,610,110,26,713,26,442,713,,813,,,683,26,,272,,614,442,,,216',
'704,272,669,16,825,,451,26,,,,39,,709,,,341,,451,,,26,26,676,819,,,271',
'922,835,837,6,839,841,39,842,,271,377,,,963,942,,110,1009,26,843,442',
'26,540,,14,,14,26,442,,958,540,297,,216,,706,26,,,,297,451,26,,,,,451',
'16,216,967,,809,,,796,,16,16,,329,,306,14,14,39,,,,39,,306,128,296,39',
'770,26,26,,,123,26,26,642,826,26,,709,14,808,296,14,,,,126,,216,,26',
'39,,575,989,26,26,,216,,642,,700,,14,648,,,653,,,867,,,,,776,707,708',
',341,777,779,,,,782,784,,865,456,,,,16,,,,216,216,858,455,728,216,216',
'730,861,216,,,642,924,,,,,,16,,642,,14,,,,26,14,14,540,38,26,26,,,38',
'26,,,297,818,952,953,954,955,,26,,,711,297,,123,,895,429,,26,899,,,459',
',38,295,295,995,,,,306,,,,,709,,,16,,,306,16,110,,807,,16,,,811,812',
',26,,,,216,371,387,387,387,14,216,,26,,14,913,,,870,691,16,,,713,14',
',796,,796,1000,796,,,,515,216,517,,518,519,26,,26,26,38,,26,,,,,,26',
'38,38,,,737,795,341,39,,39,,,887,363,,296,,,14,363,,,110,,296,,,949',
',,14,26,,,868,575,,,725,607,,13,,306,,,13,39,39,,,,,,,,,582,216,,14',
'14,,796,14,796,,796,,796,14,,39,,13,39,,,,26,,890,,,,,38,,451,271,,',
',896,937,26,,39,,796,,26,14,26,,,945,,,38,442,,431,,,,,26,,,363,,642',
'915,916,306,,918,,,,,451,,,,638,306,879,881,883,,,,,,,,13,,14,,,,39',
',,13,13,39,39,,15,,,941,14,15,16,38,16,296,14,38,14,,,295,38,,,,296',
'575,,575,,,216,,,,,,295,15,299,299,,,,,,,38,,,,16,16,,,,979,927,,,795',
'678,795,329,795,681,719,,721,,,,987,375,384,384,16,39,988,16,,,39,,',
',13,732,732,,,,39,,,,,,,,,16,678,,,329,750,751,,13,,,15,,969,971,973',
'975,,976,,15,15,722,,,,,,,,,,388,,,,,,39,,,,459,455,,,908,575,,795,39',
'795,,795,,795,,16,,,,797,16,16,,,,,13,,,,13,1005,1006,1007,1008,13,',
',39,39,,,39,795,,771,,,39,678,329,1011,,,,,,,,,,13,,,15,,,,575,,575',
',388,,,,,,,,39,,,,944,814,,15,,,,,,,,16,,,,,16,,,,,38,,38,823,866,16',
',,295,,575,,,,,,,295,,,,,,39,,,,,,,,,,,,,,,,39,38,38,15,,,39,15,39,',
',299,15,16,,,,,,,,,,,,16,38,,299,38,,,,,869,,,,15,,,,,905,,906,,907',
',,,38,,,,16,16,,,16,,,,,,16,,,732,,,921,,,,,,,,,,,,,,,,,,933,,935,,',
',,,16,,,,948,,,,,,,38,,,,,38,38,,,917,13,,13,,,,,295,,,,,,,,,329,,295',
',,,,,,,,16,,,,,,,,,,,,,13,13,985,16,,,,,,16,,16,,,,,,,,991,,992,,993',
',13,,,13,,38,,,,,38,,,,,,,,,,38,,,,,13,,,,,1010,,,,,,,,,,,,,,,,,,,,',
',,,,,15,,15,,,387,,,299,,,38,,,,,,299,,,,,,38,,,13,,,,,13,13,,,,,,,',
'15,15,,,,,,,,,,,,38,38,,,38,,,,,,38,,15,,,15,,,,,,,,,,,,,,,,,,,387,',
',15,,,,,38,,762,,943,,,,,,,13,,,,,13,,,,,,,,,,13,,,,,,,,,,,,,,,,,,,',
',,38,,,,15,,,,,15,15,,,,,,38,,,,,299,38,,38,13,,,,,,,299,,,,223,13,',
',,,,,,270,270,270,,,,,,,,,,,316,317,318,,,,,,,13,13,,,13,,,,270,270',
'13,,,,,,,15,,,,,15,,,,,,,,,,15,,,,,,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,384,,,,,,15,,,,,,,,,,,13,15,,,,,,,,,,,,,,,13,,,,,,13,,13,,,,,,',
'15,15,,,15,,,,,,15,,,,,,,,,,,,,,,,,,,,,270,434,270,384,,453,458,,,,',
'15,,,,947,,,,,,223,,,473,474,475,476,477,478,479,480,481,482,483,484',
'485,486,487,488,489,490,491,492,493,494,495,496,497,498,,,,,,,270,270',
',15,,,,,,270,,,,,,,270,,270,15,270,270,,,,15,,15,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,546,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,270,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,270,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,270,,453,663,434,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,270,,270,,270,,,,,,,,,,,,,,,270,,,,,,,,,,697',
'698,699,,,,,,,,,,270,,,270,,,,,,,,,,,,,,,,,,270,,,,,,,,,,,,,,,,,,,,270',
'270,,,,,,,,,,270,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,270,773,,,270,270',
'778,780,,,,783,785,,,663,787,,,,,,,,,,,,,,,,,,,,,,,,270,,,,,,,,,,,,',
',,,,,,,,,,270,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,270,,871,,,,,,,,,,,,,,778,780,785,783,,874,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,270,,,,,,,,,,,,,',
',,,270,871,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,270' ]
        racc_goto_table = arr = ::Array.new(2686, 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 = [
'41,33,33,33,56,41,157,2,23,31,66,134,85,61,61,133,15,15,70,70,41,57',
'57,36,72,24,8,119,119,41,41,41,91,41,18,31,60,60,17,17,10,161,17,169',
'73,27,73,39,7,88,88,27,165,7,37,37,5,95,41,89,6,115,23,41,41,46,50,41',
'38,38,38,22,148,114,20,124,22,47,51,54,69,69,69,112,57,169,166,17,17',
'17,17,22,68,68,45,49,68,125,4,125,22,22,22,37,22,22,22,41,90,90,69,69',
'41,41,41,41,41,41,127,130,146,11,55,55,2,149,149,146,106,22,129,107',
'47,108,22,22,63,63,22,22,22,22,109,110,111,87,44,44,44,62,11,40,104',
'103,47,7,116,102,5,40,40,101,4,42,7,7,100,9,122,99,63,63,63,169,166',
'73,73,33,22,98,30,115,28,22,22,22,22,22,22,72,128,29,159,159,159,125',
'29,29,70,97,29,96,41,41,41,41,131,132,41,41,41,41,41,41,19,16,135,137',
'138,139,57,127,140,141,144,41,145,65,147,105,71,33,33,93,151,152,153',
'154,130,150,33,150,150,150,115,29,29,29,29,129,155,156,24,14,12,91,160',
'20,20,41,41,92,20,20,162,163,83,84,41,1,112,23,,22,22,22,22,157,24,22',
'22,22,22,22,22,41,133,124,,41,,115,31,,41,70,22,51,,70,114,54,67,67',
'67,,51,,,,,69,31,161,37,37,165,8,89,69,41,46,,40,50,,46,47,24,,22,22',
'67,7,23,,9,24,11,22,6,17,17,29,29,29,29,,,53,45,161,,,53,45,22,127,',
'9,22,,,125,22,22,41,41,,47,95,49,,47,,,90,44,4,,37,22,53,53,53,44,41',
',47,,,22,37,,47,63,,,23,36,,169,41,119,73,,,125,23,125,,,63,,,,,53,53',
'53,53,,88,9,,31,61,72,9,15,,,,70,57,,39,22,22,70,33,39,,,37,47,,161',
',60,,,37,51,8,,53,22,70,8,150,,150,4,,53,53,,41,,,10,,22,68,,67,,47',
'18,57,,67,38,,,119,119,31,38,,,70,,,,,125,,29,29,,,33,,,,,,,26,,,,,26',
',,,29,94,41,120,41,70,120,,72,,,2,41,,67,,29,70,,,22,31,67,38,26,27',
',57,41,,,,53,,31,,,157,,57,,,41,41,69,47,,,33,8,159,159,7,159,159,53',
'159,,33,26,,,91,88,,94,24,41,47,70,41,49,,22,,22,41,70,,88,49,22,,22',
',69,41,,,,22,57,41,,,,,57,26,22,119,,85,,,120,,26,26,,64,,63,22,22,53',
',,,53,,63,61,53,53,15,41,41,,,57,41,41,31,66,41,,31,22,134,53,22,,,',
'60,,22,,41,53,,113,8,41,41,,22,,31,,29,,22,70,,,70,,,56,,,,,69,9,9,',
'157,20,20,,,,20,20,,133,20,,,,26,,,,22,22,17,26,9,22,22,9,17,22,,,31',
'47,,,,,,26,,31,,22,,,,41,22,22,49,52,41,41,,,52,41,,,22,49,159,159,159',
'159,,41,,,118,22,,57,,66,64,,41,66,,,64,,52,52,52,23,,,,63,,,,,31,,',
'26,,,63,26,94,,9,,26,,,9,9,,41,,,,22,52,52,52,52,22,22,,41,,22,17,,',
'20,37,26,,,120,22,,120,,120,159,120,,,,64,22,64,,64,64,41,,41,41,52',
',41,,,,,,41,52,52,,,67,118,157,53,,53,,,22,29,,53,,,22,29,,,94,,53,',
',31,,,22,41,,,9,113,,,113,94,,21,,63,,,21,53,53,,,,,,,,,64,22,,22,22',
',120,22,120,,120,,120,22,,53,,21,53,,,,41,,9,,,,,52,,57,33,,,,9,22,41',
',53,,120,,41,22,41,,,22,,,52,70,,67,,,,,41,,,29,,31,9,9,63,,9,,,,,57',
',,,64,63,121,121,121,,,,,,,,21,,22,,,,53,,,21,21,53,53,,25,,,9,22,25',
'26,52,26,53,22,52,22,,,52,52,,,,53,113,,113,,,22,,,,,,52,25,25,25,,',
',,,,52,,,,26,26,,,,9,118,,,118,64,118,64,118,64,123,,123,,,,9,25,25',
'25,26,53,9,26,,,53,,,,21,94,94,,,,53,,,,,,,,,26,64,,,64,94,94,,21,,',
'25,,121,121,121,121,,121,,25,25,64,,,,,,,,,,53,,,,,,53,,,,64,26,,,113',
'113,,118,53,118,,118,,118,,26,,,,123,26,26,,,,,21,,,,21,121,121,121',
'121,21,,,53,53,,,53,118,,64,,,53,64,64,121,,,,,,,,,,21,,,25,,,,113,',
'113,,53,,,,,,,,53,,,,53,64,,25,,,,,,,,26,,,,,26,,,,,52,,52,64,94,26',
',,52,,113,,,,,,,52,,,,,,53,,,,,,,,,,,,,,,,53,52,52,25,,,53,25,53,,,25',
'25,26,,,,,,,,,,,,26,52,,25,52,,,,,64,,,,25,,,,,123,,123,,123,,,,52,',
',,26,26,,,26,,,,,,26,,,94,,,94,,,,,,,,,,,,,,,,,,123,,123,,,,,,26,,,',
'26,,,,,,,52,,,,,52,52,,,64,21,,21,,,,,52,,,,,,,,,64,,52,,,,,,,,,26,',
',,,,,,,,,,,21,21,123,26,,,,,,26,,26,,,,,,,,123,,123,,123,,21,,,21,,52',
',,,,52,,,,,,,,,,52,,,,,21,,,,,123,,,,,,,,,,,,,,,,,,,,,,,,,,25,,25,,',
'52,,,25,,,52,,,,,,25,,,,,,52,,,21,,,,,21,21,,,,,,,,25,25,,,,,,,,,,,',
'52,52,,,52,,,,,,52,,25,,,25,,,,,,,,,,,,,,,,,,,52,,,25,,,,,52,,25,,52',
',,,,,,21,,,,,21,,,,,,,,,,21,,,,,,,,,,,,,,,,,,,,,,52,,,,25,,,,,25,25',
',,,,,52,,,,,25,52,,52,21,,,,,,,25,,,,32,21,,,,,,,,32,32,32,,,,,,,,,',
',32,32,32,,,,,,,21,21,,,21,,,,32,32,21,,,,,,,25,,,,,25,,,,,,,,,,25,',
',,,,,,,,21,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,,,,,25,,,,,,,,,,,21,25',
',,,,,,,,,,,,,,21,,,,,,21,,21,,,,,,,25,25,,,25,,,,,,25,,,,,,,,,,,,,,',
',,,,,,32,32,32,25,,32,32,,,,,25,,,,25,,,,,,32,,,32,32,32,32,32,32,32',
'32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,,,,,,,32,32',
',25,,,,,,32,,,,,,,32,,32,25,32,32,,,,25,,25,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,32,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,32,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,32,,32,32,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,32,,32,,32,,,,,,,,,,,,,,,32,,,,,,,,,,32,32,32,,,,,,,,,,32',
',,32,,,,,,,,,,,,,,,,,,32,,,,,,,,,,,,,,,,,,,,32,32,,,,,,,,,,32,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,32,32,,,32,32,32,32,,,,32,32,,,32,32,,,,',
',,,,,,,,,,,,,,,,,,,32,,,,,,,,,,,,,,,,,,,,,,,32,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,32,,32,,,,,,,,,,,,,',
'32,32,32,32,,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,32,,,,,,,,,,,,,,,,,32,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,32' ]
        racc_goto_check = arr = ::Array.new(2686, 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,   269,     7,   nil,    95,    51,    57,    48,  -294,   134,
  -508,  -580,  -566,   nil,  -268,     8,   206,   -25,  -175,   146,
    54,   904,    71,  -197,  -410,  1025,   510,  -158,   -21,   133,
    62,   -10,  1705,   -28,   nil,   nil,    -1,  -152,    42,  -211,
  -348,     0,  -340,   nil,   117,    61,    32,  -136,   nil,    61,
    31,  -232,   747,   349,  -302,    53,   -67,    13,   nil,   nil,
    28,     5,  -276,   102,   569,   168,   -49,   273,  -232,    51,
    -8,  -270,  -249,  -468,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   195,   207,   -49,   nil,    83,  -315,  -669,
  -482,  -337,   193,  -152,   517,  -555,   130,   142,  -142,   111,
   101,  -570,    91,  -581,  -447,  -690,  -478,  -620,  -256,  -257,
  -470,  -723,  -641,   322,  -276,  -665,  -510,   nil,   202,  -308,
   -42,   204,  -498,   516,  -591,  -471,   nil,  -445,  -641,  -701,
  -712,   144,  -125,   -47,   -11,   -37,   nil,   -46,   -46,  -699,
  -480,  -601,   nil,   nil,   147,   147,    39,   146,   -11,  -282,
  -165,   150,   150,   150,  -381,  -369,  -357,   -56,   nil,  -146,
  -312,  -527,  -300,  -610,   nil,  -518,  -794,   nil,   nil,  -471 ]

racc_goto_default = [
   nil,   nil,   nil,     3,   nil,     4,   370,   286,   nil,   548,
   nil,   849,   nil,   283,   284,   nil,   nil,   nil,    11,    12,
    18,   222,   315,   nil,   nil,   220,   221,   nil,   nil,    17,
   nil,   465,    21,    22,    23,    24,   nil,   694,   nil,   nil,
   nil,   303,   nil,    25,   436,    32,   nil,   nil,    34,    37,
    36,   nil,   217,   218,   382,   nil,   125,   444,   124,   127,
    75,    76,   nil,    46,   276,   nil,   821,   437,   nil,   438,
   449,   649,   511,   274,   260,    47,    48,    49,    50,    51,
    52,    53,    54,    55,   nil,   261,    61,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   587,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   577,   348,   nil,   578,   929,   794,   336,   nil,
   337,   nil,   nil,   338,   nil,   340,   665,   nil,   nil,   nil,
   346,   nil,   nil,   755,   nil,   nil,   448,   nil,   nil,   nil,
   nil,   nil,    74,    77,    78,   nil,   nil,   nil,   nil,   nil,
   621,   nil,   nil,   nil,   nil,   nil,   nil,   714,   335,   nil,
   339,   350,   352,   805,   355,   356,   806,   359,   362,   278 ]

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

racc_reduce_n = 586

racc_shift_n = 1012

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,
  :tREGEXP_END => 63,
  :tUPLUS => 64,
  :tUMINUS => 65,
  :tUMINUS_NUM => 66,
  :tPOW => 67,
  :tCMP => 68,
  :tEQ => 69,
  :tEQQ => 70,
  :tNEQ => 71,
  :tGEQ => 72,
  :tLEQ => 73,
  :tANDOP => 74,
  :tOROP => 75,
  :tMATCH => 76,
  :tNMATCH => 77,
  :tDOT => 78,
  :tDOT2 => 79,
  :tDOT3 => 80,
  :tAREF => 81,
  :tASET => 82,
  :tLSHFT => 83,
  :tRSHFT => 84,
  :tCOLON2 => 85,
  :tCOLON3 => 86,
  :tOP_ASGN => 87,
  :tASSOC => 88,
  :tLPAREN => 89,
  :tLPAREN2 => 90,
  :tRPAREN => 91,
  :tLPAREN_ARG => 92,
  :tLBRACK => 93,
  :tLBRACK2 => 94,
  :tRBRACK => 95,
  :tLBRACE => 96,
  :tLBRACE_ARG => 97,
  :tSTAR => 98,
  :tSTAR2 => 99,
  :tAMPER => 100,
  :tAMPER2 => 101,
  :tTILDE => 102,
  :tPERCENT => 103,
  :tDIVIDE => 104,
  :tDSTAR => 105,
  :tPLUS => 106,
  :tMINUS => 107,
  :tLT => 108,
  :tGT => 109,
  :tPIPE => 110,
  :tBANG => 111,
  :tCARET => 112,
  :tLCURLY => 113,
  :tRCURLY => 114,
  :tBACK_REF2 => 115,
  :tSYMBEG => 116,
  :tSTRING_BEG => 117,
  :tXSTRING_BEG => 118,
  :tREGEXP_BEG => 119,
  :tREGEXP_OPT => 120,
  :tWORDS_BEG => 121,
  :tQWORDS_BEG => 122,
  :tSYMBOLS_BEG => 123,
  :tQSYMBOLS_BEG => 124,
  :tSTRING_DBEG => 125,
  :tSTRING_DVAR => 126,
  :tSTRING_END => 127,
  :tSTRING_DEND => 128,
  :tSTRING => 129,
  :tSYMBOL => 130,
  :tNL => 131,
  :tEH => 132,
  :tCOLON => 133,
  :tCOMMA => 134,
  :tSPACE => 135,
  :tSEMI => 136,
  :tLAMBDA => 137,
  :tLAMBEG => 138,
  :tEQL => 139,
  :tLOWEST => 140 }

racc_nt_base = 141

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",
  "tREGEXP_END",
  "tUPLUS",
  "tUMINUS",
  "tUMINUS_NUM",
  "tPOW",
  "tCMP",
  "tEQ",
  "tEQQ",
  "tNEQ",
  "tGEQ",
  "tLEQ",
  "tANDOP",
  "tOROP",
  "tMATCH",
  "tNMATCH",
  "tDOT",
  "tDOT2",
  "tDOT3",
  "tAREF",
  "tASET",
  "tLSHFT",
  "tRSHFT",
  "tCOLON2",
  "tCOLON3",
  "tOP_ASGN",
  "tASSOC",
  "tLPAREN",
  "tLPAREN2",
  "tRPAREN",
  "tLPAREN_ARG",
  "tLBRACK",
  "tLBRACK2",
  "tRBRACK",
  "tLBRACE",
  "tLBRACE_ARG",
  "tSTAR",
  "tSTAR2",
  "tAMPER",
  "tAMPER2",
  "tTILDE",
  "tPERCENT",
  "tDIVIDE",
  "tDSTAR",
  "tPLUS",
  "tMINUS",
  "tLT",
  "tGT",
  "tPIPE",
  "tBANG",
  "tCARET",
  "tLCURLY",
  "tRCURLY",
  "tBACK_REF2",
  "tSYMBEG",
  "tSTRING_BEG",
  "tXSTRING_BEG",
  "tREGEXP_BEG",
  "tREGEXP_OPT",
  "tWORDS_BEG",
  "tQWORDS_BEG",
  "tSYMBOLS_BEG",
  "tQSYMBOLS_BEG",
  "tSTRING_DBEG",
  "tSTRING_DVAR",
  "tSTRING_END",
  "tSTRING_DEND",
  "tSTRING",
  "tSYMBOL",
  "tNL",
  "tEH",
  "tCOLON",
  "tCOMMA",
  "tSPACE",
  "tSEMI",
  "tLAMBDA",
  "tLAMBEG",
  "tEQL",
  "tLOWEST",
  "$start",
  "program",
  "top_compstmt",
  "top_stmts",
  "opt_terms",
  "top_stmt",
  "terms",
  "stmt",
  "bodystmt",
  "compstmt",
  "opt_rescue",
  "opt_else",
  "opt_ensure",
  "stmts",
  "stmt_or_begin",
  "fitem",
  "undef_list",
  "expr_value",
  "command_asgn",
  "mlhs",
  "command_call",
  "var_lhs",
  "primary_value",
  "opt_call_args",
  "rbracket",
  "backref",
  "lhs",
  "mrhs",
  "mrhs_arg",
  "expr",
  "@1",
  "opt_nl",
  "arg",
  "command",
  "block_command",
  "block_call",
  "dot_or_colon",
  "operation2",
  "command_args",
  "cmd_brace_block",
  "opt_block_param",
  "fcall",
  "@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",
  "arg_value",
  "aref_args",
  "none",
  "args",
  "trailer",
  "assocs",
  "paren_args",
  "opt_paren_args",
  "opt_block_arg",
  "block_arg",
  "@4",
  "literal",
  "strings",
  "xstring",
  "regexp",
  "words",
  "qwords",
  "symbols",
  "qsymbols",
  "var_ref",
  "assoc_list",
  "brace_block",
  "method_call",
  "lambda",
  "then",
  "if_tail",
  "do",
  "case_body",
  "for_var",
  "superclass",
  "term",
  "f_arglist",
  "singleton",
  "@5",
  "@6",
  "@7",
  "@8",
  "@9",
  "@10",
  "@11",
  "@12",
  "@13",
  "@14",
  "@15",
  "@16",
  "@17",
  "@18",
  "@19",
  "f_marg",
  "f_norm_arg",
  "f_margs",
  "f_marg_list",
  "block_args_tail",
  "f_block_kwarg",
  "f_kwrest",
  "opt_f_block_arg",
  "f_block_arg",
  "opt_block_args_tail",
  "block_param",
  "f_arg",
  "f_block_optarg",
  "f_rest_arg",
  "block_param_def",
  "opt_bv_decl",
  "bv_decls",
  "bvar",
  "f_bad_arg",
  "f_larglist",
  "lambda_body",
  "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",
  "symbol_list",
  "qword_list",
  "qsym_list",
  "string_dvar",
  "@23",
  "@24",
  "args_tail",
  "f_kwarg",
  "opt_args_tail",
  "f_optarg",
  "f_arg_item",
  "f_kw",
  "f_block_kw",
  "kwrest_mark",
  "f_opt",
  "f_block_opt",
  "restarg_mark",
  "blkarg_mark",
  "assoc" ]

Racc_debug_parser = false

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

# reduce 0 omitted

# reduce 1 omitted

module_eval(<<'.,.,', 'ruby21.y', 51)
  def _reduce_2(val, _values, result)
                          result = @builder.compstmt(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 56)
  def _reduce_3(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 60)
  def _reduce_4(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 64)
  def _reduce_5(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

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

# reduce 7 omitted

module_eval(<<'.,.,', 'ruby21.y', 74)
  def _reduce_8(val, _values, result)
                          result = @builder.preexe(val[0], val[1], val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 79)
  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, else_t
                      end

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

module_eval(<<'.,.,', 'ruby21.y', 95)
  def _reduce_10(val, _values, result)
                          result = @builder.compstmt(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 100)
  def _reduce_11(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 104)
  def _reduce_12(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 108)
  def _reduce_13(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 112)
  def _reduce_14(val, _values, result)
                          result = [ val[1] ]
                    
    result
  end
.,.,

# reduce 15 omitted

module_eval(<<'.,.,', 'ruby21.y', 118)
  def _reduce_16(val, _values, result)
                          if in_def?
                        diagnostic(:error, :begin_in_method, val[0])
                      end

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

module_eval(<<'.,.,', 'ruby21.y', 127)
  def _reduce_17(val, _values, result)
                          @lexer.state = :expr_fname
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 131)
  def _reduce_18(val, _values, result)
                          result = @builder.alias(val[0], val[1], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 135)
  def _reduce_19(val, _values, result)
                          result = @builder.alias(val[0],
                                  @builder.gvar(val[1]),
                                  @builder.gvar(val[2]))
                    
    result
  end
.,.,

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

module_eval(<<'.,.,', 'ruby21.y', 147)
  def _reduce_21(val, _values, result)
                          diagnostic(:error, :nth_ref_alias, val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 151)
  def _reduce_22(val, _values, result)
                          result = @builder.undef_method(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 155)
  def _reduce_23(val, _values, result)
                          result = @builder.condition_mod(val[0], nil,
                                                      val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 160)
  def _reduce_24(val, _values, result)
                          result = @builder.condition_mod(nil, val[0],
                                                      val[1], val[2])
                    
    result
  end
.,.,

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

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

module_eval(<<'.,.,', 'ruby21.y', 173)
  def _reduce_27(val, _values, result)
                          rescue_body = @builder.rescue_body(val[1],
                                        nil, nil, nil,
                                        nil, val[2])

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

module_eval(<<'.,.,', 'ruby21.y', 181)
  def _reduce_28(val, _values, result)
                          if in_def?
                        diagnostic(:warning, :end_in_method, val[0])
                      end

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

# reduce 29 omitted

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

module_eval(<<'.,.,', 'ruby21.y', 194)
  def _reduce_31(val, _values, result)
                          result = @builder.op_assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

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

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

module_eval(<<'.,.,', 'ruby21.y', 212)
  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
.,.,

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

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

module_eval(<<'.,.,', 'ruby21.y', 233)
  def _reduce_37(val, _values, result)
                          @builder.op_assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

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

module_eval(<<'.,.,', 'ruby21.y', 242)
  def _reduce_39(val, _values, result)
                          result = @builder.multi_assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

# reduce 40 omitted

module_eval(<<'.,.,', 'ruby21.y', 248)
  def _reduce_41(val, _values, result)
                          result = @builder.assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 252)
  def _reduce_42(val, _values, result)
                          result = @builder.assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

# reduce 43 omitted

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

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

module_eval(<<'.,.,', 'ruby21.y', 266)
  def _reduce_46(val, _values, result)
                          result = @builder.not_op(val[0], nil, val[2], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 270)
  def _reduce_47(val, _values, result)
                          result = @builder.not_op(val[0], nil, val[1], nil)
                    
    result
  end
.,.,

# reduce 48 omitted

# reduce 49 omitted

# reduce 50 omitted

# reduce 51 omitted

# reduce 52 omitted

module_eval(<<'.,.,', 'ruby21.y', 282)
  def _reduce_53(val, _values, result)
                          result = @builder.call_method(val[0], val[1], val[2],
                                  nil, val[3], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 288)
  def _reduce_54(val, _values, result)
                          @static_env.extend_dynamic
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 292)
  def _reduce_55(val, _values, result)
                          result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                    
    result
  end
.,.,

# reduce 56 omitted

module_eval(<<'.,.,', 'ruby21.y', 301)
  def _reduce_57(val, _values, result)
                          result = @builder.call_method(nil, nil, val[0],
                                  nil, val[1], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 306)
  def _reduce_58(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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 315)
  def _reduce_59(val, _values, result)
                          result = @builder.call_method(val[0], val[1], val[2],
                                  nil, val[3], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 320)
  def _reduce_60(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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 329)
  def _reduce_61(val, _values, result)
                          result = @builder.call_method(val[0], val[1], val[2],
                                  nil, val[3], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 334)
  def _reduce_62(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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 343)
  def _reduce_63(val, _values, result)
                          result = @builder.keyword_cmd(:super, val[0],
                                  nil, val[1], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 348)
  def _reduce_64(val, _values, result)
                          result = @builder.keyword_cmd(:yield, val[0],
                                  nil, val[1], nil)
                    
    result
  end
.,.,

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

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

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

module_eval(<<'.,.,', 'ruby21.y', 369)
  def _reduce_68(val, _values, result)
                          result = @builder.multi_lhs(nil, val[0], nil)
                    
    result
  end
.,.,

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

module_eval(<<'.,.,', 'ruby21.y', 378)
  def _reduce_70(val, _values, result)
                          result = @builder.multi_lhs(nil, val[0], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 382)
  def _reduce_71(val, _values, result)
                          result = @builder.multi_lhs(val[0], val[1], val[2])
                    
    result
  end
.,.,

# reduce 72 omitted

module_eval(<<'.,.,', 'ruby21.y', 388)
  def _reduce_73(val, _values, result)
                          result = val[0].
                                  push(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 393)
  def _reduce_74(val, _values, result)
                          result = val[0].
                                  push(@builder.splat(val[1], val[2]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 398)
  def _reduce_75(val, _values, result)
                          result = val[0].
                                  push(@builder.splat(val[1], val[2])).
                                  concat(val[4])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 404)
  def _reduce_76(val, _values, result)
                          result = val[0].
                                  push(@builder.splat(val[1]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 409)
  def _reduce_77(val, _values, result)
                          result = val[0].
                                  push(@builder.splat(val[1])).
                                  concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 415)
  def _reduce_78(val, _values, result)
                          result = [ @builder.splat(val[0], val[1]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 419)
  def _reduce_79(val, _values, result)
                          result = [ @builder.splat(val[0], val[1]),
                                 *val[3] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 424)
  def _reduce_80(val, _values, result)
                          result = [ @builder.splat(val[0]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 428)
  def _reduce_81(val, _values, result)
                          result = [ @builder.splat(val[0]),
                                 *val[2] ]
                    
    result
  end
.,.,

# reduce 82 omitted

module_eval(<<'.,.,', 'ruby21.y', 435)
  def _reduce_83(val, _values, result)
                          result = @builder.begin(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 440)
  def _reduce_84(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 444)
  def _reduce_85(val, _values, result)
                          result = val[0] << val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 449)
  def _reduce_86(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 453)
  def _reduce_87(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 458)
  def _reduce_88(val, _values, result)
                          result = @builder.assignable(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 462)
  def _reduce_89(val, _values, result)
                          result = @builder.assignable(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 466)
  def _reduce_90(val, _values, result)
                          result = @builder.index_asgn(val[0], val[1], val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 470)
  def _reduce_91(val, _values, result)
                          result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 474)
  def _reduce_92(val, _values, result)
                          result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 478)
  def _reduce_93(val, _values, result)
                          result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 482)
  def _reduce_94(val, _values, result)
                          if in_def?
                        diagnostic(:error, :dynamic_const, val[2])
                      end

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

module_eval(<<'.,.,', 'ruby21.y', 491)
  def _reduce_95(val, _values, result)
                          if in_def?
                        diagnostic(:error, :dynamic_const, val[1])
                      end

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

module_eval(<<'.,.,', 'ruby21.y', 500)
  def _reduce_96(val, _values, result)
                          result = @builder.assignable(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 505)
  def _reduce_97(val, _values, result)
                          result = @builder.assignable(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 509)
  def _reduce_98(val, _values, result)
                          result = @builder.assignable(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 513)
  def _reduce_99(val, _values, result)
                          result = @builder.index_asgn(val[0], val[1], val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 517)
  def _reduce_100(val, _values, result)
                          result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 521)
  def _reduce_101(val, _values, result)
                          result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 525)
  def _reduce_102(val, _values, result)
                          result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 529)
  def _reduce_103(val, _values, result)
                          if in_def?
                        diagnostic(:error, :dynamic_const, val[2])
                      end

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

module_eval(<<'.,.,', 'ruby21.y', 538)
  def _reduce_104(val, _values, result)
                          if in_def?
                        diagnostic(:error, :dynamic_const, val[1])
                      end

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

module_eval(<<'.,.,', 'ruby21.y', 547)
  def _reduce_105(val, _values, result)
                          result = @builder.assignable(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 552)
  def _reduce_106(val, _values, result)
                          diagnostic(:error, :module_name_const, val[0])
                    
    result
  end
.,.,

# reduce 107 omitted

module_eval(<<'.,.,', 'ruby21.y', 558)
  def _reduce_108(val, _values, result)
                          result = @builder.const_global(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 562)
  def _reduce_109(val, _values, result)
                          result = @builder.const(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 566)
  def _reduce_110(val, _values, result)
                          result = @builder.const_fetch(val[0], val[1], val[2])
                    
    result
  end
.,.,

# reduce 111 omitted

# reduce 112 omitted

# reduce 113 omitted

# reduce 114 omitted

# reduce 115 omitted

module_eval(<<'.,.,', 'ruby21.y', 575)
  def _reduce_116(val, _values, result)
                          result = @builder.symbol(val[0])
                    
    result
  end
.,.,

# reduce 117 omitted

# reduce 118 omitted

# reduce 119 omitted

module_eval(<<'.,.,', 'ruby21.y', 584)
  def _reduce_120(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 588)
  def _reduce_121(val, _values, result)
                          @lexer.state = :expr_fname
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 592)
  def _reduce_122(val, _values, result)
                          result = val[0] << val[3]
                    
    result
  end
.,.,

# 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

# reduce 192 omitted

# reduce 193 omitted

module_eval(<<'.,.,', 'ruby21.y', 613)
  def _reduce_194(val, _values, result)
                          result = @builder.assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 617)
  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.assign(val[0], val[1], rescue_)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 627)
  def _reduce_196(val, _values, result)
                          result = @builder.op_assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 631)
  def _reduce_197(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
.,.,

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

module_eval(<<'.,.,', 'ruby21.y', 648)
  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
.,.,

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

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

module_eval(<<'.,.,', 'ruby21.y', 669)
  def _reduce_202(val, _values, result)
                          if in_def?
                        diagnostic(:error, :dynamic_const, val[2], [ val[3] ])
                      end

                      const  = @builder.assignable(
                                  @builder.const_fetch(val[0], val[1], val[2]))
                      result = @builder.op_assign(const, val[3], val[4])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 679)
  def _reduce_203(val, _values, result)
                          if in_def?
                        diagnostic(:error, :dynamic_const, val[1], [ val[2] ])
                      end

                      const  = @builder.assignable(
                                  @builder.const_global(val[0], val[1]))
                      result = @builder.op_assign(const, val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 689)
  def _reduce_204(val, _values, result)
                          result = @builder.op_assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 693)
  def _reduce_205(val, _values, result)
                          result = @builder.range_inclusive(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 697)
  def _reduce_206(val, _values, result)
                          result = @builder.range_exclusive(val[0], val[1], val[2])
                    
    result
  end
.,.,

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

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

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

module_eval(<<'.,.,', 'ruby21.y', 713)
  def _reduce_210(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 717)
  def _reduce_211(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 721)
  def _reduce_212(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

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

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

module_eval(<<'.,.,', 'ruby21.y', 739)
  def _reduce_215(val, _values, result)
                          result = @builder.unary_op(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 743)
  def _reduce_216(val, _values, result)
                          result = @builder.unary_op(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 747)
  def _reduce_217(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 751)
  def _reduce_218(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 755)
  def _reduce_219(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 759)
  def _reduce_220(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 763)
  def _reduce_221(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 767)
  def _reduce_222(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 771)
  def _reduce_223(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 775)
  def _reduce_224(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 779)
  def _reduce_225(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 783)
  def _reduce_226(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 787)
  def _reduce_227(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 791)
  def _reduce_228(val, _values, result)
                          result = @builder.match_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 795)
  def _reduce_229(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 799)
  def _reduce_230(val, _values, result)
                          result = @builder.not_op(val[0], nil, val[1], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 803)
  def _reduce_231(val, _values, result)
                          result = @builder.unary_op(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 807)
  def _reduce_232(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 811)
  def _reduce_233(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

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

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

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

module_eval(<<'.,.,', 'ruby21.y', 828)
  def _reduce_237(val, _values, result)
                          result = @builder.ternary(val[0], val[1],
                                                val[2], val[4], val[5])
                    
    result
  end
.,.,

# reduce 238 omitted

# reduce 239 omitted

# reduce 240 omitted

# reduce 241 omitted

module_eval(<<'.,.,', 'ruby21.y', 839)
  def _reduce_242(val, _values, result)
                          result = val[0] << @builder.associate(nil, val[2], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 843)
  def _reduce_243(val, _values, result)
                          result = [ @builder.associate(nil, val[0], nil) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 848)
  def _reduce_244(val, _values, result)
                          result = val
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 853)
  def _reduce_245(val, _values, result)
                          result = [ nil, [], nil ]
                    
    result
  end
.,.,

# reduce 246 omitted

module_eval(<<'.,.,', 'ruby21.y', 859)
  def _reduce_247(val, _values, result)
                          result = []
                    
    result
  end
.,.,

# reduce 248 omitted

# reduce 249 omitted

module_eval(<<'.,.,', 'ruby21.y', 865)
  def _reduce_250(val, _values, result)
                          result = val[0] << @builder.associate(nil, val[2], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 869)
  def _reduce_251(val, _values, result)
                          result = [ @builder.associate(nil, val[0], nil) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 874)
  def _reduce_252(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 878)
  def _reduce_253(val, _values, result)
                          result = val[0].concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 882)
  def _reduce_254(val, _values, result)
                          result = [ @builder.associate(nil, val[0], nil) ]
                      result.concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 887)
  def _reduce_255(val, _values, result)
                          assocs = @builder.associate(nil, val[2], nil)
                      result = val[0] << assocs
                      result.concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 893)
  def _reduce_256(val, _values, result)
                          result =  [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 897)
  def _reduce_257(val, _values, result)
                          result = @lexer.cmdarg.dup
                      @lexer.cmdarg.push(true)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 902)
  def _reduce_258(val, _values, result)
                          @lexer.cmdarg = val[0]

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

module_eval(<<'.,.,', 'ruby21.y', 909)
  def _reduce_259(val, _values, result)
                          result = @builder.block_pass(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 914)
  def _reduce_260(val, _values, result)
                          result = [ val[1] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 918)
  def _reduce_261(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 923)
  def _reduce_262(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

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

module_eval(<<'.,.,', 'ruby21.y', 931)
  def _reduce_264(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

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

module_eval(<<'.,.,', 'ruby21.y', 940)
  def _reduce_266(val, _values, result)
                          result = @builder.array(nil, val[0], nil)
                    
    result
  end
.,.,

# reduce 267 omitted

module_eval(<<'.,.,', 'ruby21.y', 946)
  def _reduce_268(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

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

module_eval(<<'.,.,', 'ruby21.y', 954)
  def _reduce_270(val, _values, result)
                          result = [ @builder.splat(val[0], val[1]) ]
                    
    result
  end
.,.,

# reduce 271 omitted

# reduce 272 omitted

# reduce 273 omitted

# reduce 274 omitted

# reduce 275 omitted

# reduce 276 omitted

# reduce 277 omitted

# reduce 278 omitted

# reduce 279 omitted

# reduce 280 omitted

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

module_eval(<<'.,.,', 'ruby21.y', 973)
  def _reduce_282(val, _values, result)
                          result = @lexer.cmdarg.dup
                      @lexer.cmdarg.clear
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 978)
  def _reduce_283(val, _values, result)
                          @lexer.cmdarg = val[1]

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

module_eval(<<'.,.,', 'ruby21.y', 984)
  def _reduce_284(val, _values, result)
                          @lexer.state = :expr_endarg
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 988)
  def _reduce_285(val, _values, result)
                          result = @builder.begin(val[0], val[1], val[4])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 992)
  def _reduce_286(val, _values, result)
                          @lexer.state = :expr_endarg
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 996)
  def _reduce_287(val, _values, result)
                          result = @builder.begin(val[0], nil, val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1000)
  def _reduce_288(val, _values, result)
                          result = @builder.begin(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1004)
  def _reduce_289(val, _values, result)
                          result = @builder.const_fetch(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1008)
  def _reduce_290(val, _values, result)
                          result = @builder.const_global(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1012)
  def _reduce_291(val, _values, result)
                          result = @builder.array(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1016)
  def _reduce_292(val, _values, result)
                          result = @builder.associate(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1020)
  def _reduce_293(val, _values, result)
                          result = @builder.keyword_cmd(:return, val[0])
                    
    result
  end
.,.,

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

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

module_eval(<<'.,.,', 'ruby21.y', 1032)
  def _reduce_296(val, _values, result)
                          result = @builder.keyword_cmd(:yield, val[0])
                    
    result
  end
.,.,

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

module_eval(<<'.,.,', 'ruby21.y', 1041)
  def _reduce_298(val, _values, result)
                          result = @builder.not_op(val[0], val[1], val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1045)
  def _reduce_299(val, _values, result)
                          result = @builder.not_op(val[0], val[1], nil, val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1049)
  def _reduce_300(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 301 omitted

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

module_eval(<<'.,.,', 'ruby21.y', 1064)
  def _reduce_303(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
.,.,

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

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

module_eval(<<'.,.,', 'ruby21.y', 1086)
  def _reduce_306(val, _values, result)
                          @lexer.cond.push(true)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1090)
  def _reduce_307(val, _values, result)
                          @lexer.cond.pop
                    
    result
  end
.,.,

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

module_eval(<<'.,.,', 'ruby21.y', 1099)
  def _reduce_309(val, _values, result)
                          @lexer.cond.push(true)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1103)
  def _reduce_310(val, _values, result)
                          @lexer.cond.pop
                    
    result
  end
.,.,

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

module_eval(<<'.,.,', 'ruby21.y', 1112)
  def _reduce_312(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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1120)
  def _reduce_313(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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1128)
  def _reduce_314(val, _values, result)
                          @lexer.cond.push(true)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1132)
  def _reduce_315(val, _values, result)
                          @lexer.cond.pop
                    
    result
  end
.,.,

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

module_eval(<<'.,.,', 'ruby21.y', 1142)
  def _reduce_317(val, _values, result)
                          if in_def?
                        diagnostic(:error, :class_in_def, val[0])
                      end

                      @static_env.extend_static
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1150)
  def _reduce_318(val, _values, result)
                          lt_t, superclass = val[2]
                      result = @builder.def_class(val[0], val[1],
                                                  lt_t, superclass,
                                                  val[4], val[5])

                      @static_env.unextend
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1159)
  def _reduce_319(val, _values, result)
                          result = @def_level
                      @def_level = 0

                      @static_env.extend_static
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1166)
  def _reduce_320(val, _values, result)
                          result = @builder.def_sclass(val[0], val[1], val[2],
                                                   val[5], val[6])

                      @static_env.unextend

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

module_eval(<<'.,.,', 'ruby21.y', 1175)
  def _reduce_321(val, _values, result)
                          if in_def?
                        diagnostic(:error, :module_in_def, val[0])
                      end

                      @static_env.extend_static
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1183)
  def _reduce_322(val, _values, result)
                          result = @builder.def_module(val[0], val[1],
                                                   val[3], val[4])

                      @static_env.unextend
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1190)
  def _reduce_323(val, _values, result)
                          @def_level += 1
                      @static_env.extend_static
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1195)
  def _reduce_324(val, _values, result)
                          result = @builder.def_method(val[0], val[1],
                                  val[3], val[4], val[5])

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

module_eval(<<'.,.,', 'ruby21.y', 1203)
  def _reduce_325(val, _values, result)
                          @lexer.state = :expr_fname
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1207)
  def _reduce_326(val, _values, result)
                          @def_level += 1
                      @static_env.extend_static
                    
    result
  end
.,.,

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

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

module_eval(<<'.,.,', 'ruby21.y', 1220)
  def _reduce_328(val, _values, result)
                          result = @builder.keyword_cmd(:break, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1224)
  def _reduce_329(val, _values, result)
                          result = @builder.keyword_cmd(:next, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1228)
  def _reduce_330(val, _values, result)
                          result = @builder.keyword_cmd(:redo, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1232)
  def _reduce_331(val, _values, result)
                          result = @builder.keyword_cmd(:retry, val[0])
                    
    result
  end
.,.,

# reduce 332 omitted

# reduce 333 omitted

# reduce 334 omitted

module_eval(<<'.,.,', 'ruby21.y', 1241)
  def _reduce_335(val, _values, result)
                          result = val[1]
                    
    result
  end
.,.,

# reduce 336 omitted

# reduce 337 omitted

# reduce 338 omitted

module_eval(<<'.,.,', 'ruby21.y', 1250)
  def _reduce_339(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 340 omitted

module_eval(<<'.,.,', 'ruby21.y', 1261)
  def _reduce_341(val, _values, result)
                          result = val
                    
    result
  end
.,.,

# reduce 342 omitted

# reduce 343 omitted

module_eval(<<'.,.,', 'ruby21.y', 1269)
  def _reduce_344(val, _values, result)
                          @static_env.declare val[0][0]

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

module_eval(<<'.,.,', 'ruby21.y', 1275)
  def _reduce_345(val, _values, result)
                          result = @builder.multi_lhs(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1280)
  def _reduce_346(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1284)
  def _reduce_347(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

# reduce 348 omitted

module_eval(<<'.,.,', 'ruby21.y', 1290)
  def _reduce_349(val, _values, result)
                          @static_env.declare val[3][0]

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

module_eval(<<'.,.,', 'ruby21.y', 1297)
  def _reduce_350(val, _values, result)
                          @static_env.declare val[3][0]

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

module_eval(<<'.,.,', 'ruby21.y', 1305)
  def _reduce_351(val, _values, result)
                          result = val[0].
                                  push(@builder.restarg(val[2]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1310)
  def _reduce_352(val, _values, result)
                          result = val[0].
                                  push(@builder.restarg(val[2])).
                                  concat(val[4])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1316)
  def _reduce_353(val, _values, result)
                          @static_env.declare val[1][0]

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

module_eval(<<'.,.,', 'ruby21.y', 1322)
  def _reduce_354(val, _values, result)
                          @static_env.declare val[1][0]

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

module_eval(<<'.,.,', 'ruby21.y', 1329)
  def _reduce_355(val, _values, result)
                          result = [ @builder.restarg(val[0]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1333)
  def _reduce_356(val, _values, result)
                          result = [ @builder.restarg(val[0]),
                                 *val[2] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1339)
  def _reduce_357(val, _values, result)
                          result = val[0].concat(val[2]).concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1343)
  def _reduce_358(val, _values, result)
                          result = val[0].concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1347)
  def _reduce_359(val, _values, result)
                          result = val[0].concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1351)
  def _reduce_360(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1357)
  def _reduce_361(val, _values, result)
                          result = val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1361)
  def _reduce_362(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1366)
  def _reduce_363(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1373)
  def _reduce_364(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[6]).
                                  concat(val[7])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1381)
  def _reduce_365(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1387)
  def _reduce_366(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1394)
  def _reduce_367(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

# reduce 368 omitted

module_eval(<<'.,.,', 'ruby21.y', 1401)
  def _reduce_369(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1408)
  def _reduce_370(val, _values, result)
                          result = val[0].concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1412)
  def _reduce_371(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1418)
  def _reduce_372(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1425)
  def _reduce_373(val, _values, result)
                          result = val[0].
                                  concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1430)
  def _reduce_374(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1436)
  def _reduce_375(val, _values, result)
                          result = val[0].
                                  concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1441)
  def _reduce_376(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

# reduce 377 omitted

module_eval(<<'.,.,', 'ruby21.y', 1449)
  def _reduce_378(val, _values, result)
                          result = @builder.args(nil, [], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1453)
  def _reduce_379(val, _values, result)
                          @lexer.state = :expr_value
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1458)
  def _reduce_380(val, _values, result)
                          result = @builder.args(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1462)
  def _reduce_381(val, _values, result)
                          result = @builder.args(val[0], [], val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1466)
  def _reduce_382(val, _values, result)
                          result = @builder.args(val[0], val[1].concat(val[2]), val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1471)
  def _reduce_383(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1475)
  def _reduce_384(val, _values, result)
                          result = val[2]
                    
    result
  end
.,.,

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

module_eval(<<'.,.,', 'ruby21.y', 1484)
  def _reduce_386(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1489)
  def _reduce_387(val, _values, result)
                          result = @builder.shadowarg(val[0])
                    
    result
  end
.,.,

# reduce 388 omitted

module_eval(<<'.,.,', 'ruby21.y', 1495)
  def _reduce_389(val, _values, result)
                          result = [ val[0], val[1] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1500)
  def _reduce_390(val, _values, result)
                          result = @builder.args(val[0], val[1].concat(val[2]), val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1504)
  def _reduce_391(val, _values, result)
                          result = @builder.args(nil, val[0], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1509)
  def _reduce_392(val, _values, result)
                          result = [ val[0], val[1], val[2] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1513)
  def _reduce_393(val, _values, result)
                          result = [ val[0], val[1], val[2] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1518)
  def _reduce_394(val, _values, result)
                          @static_env.extend_dynamic
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1522)
  def _reduce_395(val, _values, result)
                          result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                    
    result
  end
.,.,

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

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

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

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

module_eval(<<'.,.,', 'ruby21.y', 1551)
  def _reduce_399(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
.,.,

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

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

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

module_eval(<<'.,.,', 'ruby21.y', 1579)
  def _reduce_403(val, _values, result)
                          result = @builder.call_method(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1583)
  def _reduce_404(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
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1589)
  def _reduce_405(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
.,.,

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

module_eval(<<'.,.,', 'ruby21.y', 1601)
  def _reduce_407(val, _values, result)
                          result = @builder.keyword_cmd(:zsuper, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1605)
  def _reduce_408(val, _values, result)
                          result = @builder.index(val[0], val[1], val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1610)
  def _reduce_409(val, _values, result)
                          @static_env.extend_dynamic
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1614)
  def _reduce_410(val, _values, result)
                          result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1620)
  def _reduce_411(val, _values, result)
                          @static_env.extend_dynamic
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1624)
  def _reduce_412(val, _values, result)
                          result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                    
    result
  end
.,.,

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

module_eval(<<'.,.,', 'ruby21.y', 1637)
  def _reduce_414(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

# reduce 415 omitted

module_eval(<<'.,.,', 'ruby21.y', 1643)
  def _reduce_416(val, _values, result)
                          assoc_t, exc_var = val[2]

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

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

module_eval(<<'.,.,', 'ruby21.y', 1656)
  def _reduce_417(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1661)
  def _reduce_418(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

# reduce 419 omitted

# reduce 420 omitted

module_eval(<<'.,.,', 'ruby21.y', 1668)
  def _reduce_421(val, _values, result)
                          result = [ val[0], val[1] ]
                    
    result
  end
.,.,

# reduce 422 omitted

module_eval(<<'.,.,', 'ruby21.y', 1674)
  def _reduce_423(val, _values, result)
                          result = [ val[0], val[1] ]
                    
    result
  end
.,.,

# reduce 424 omitted

# reduce 425 omitted

# reduce 426 omitted

# reduce 427 omitted

module_eval(<<'.,.,', 'ruby21.y', 1684)
  def _reduce_428(val, _values, result)
                          result = @builder.string_compose(nil, val[0], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1689)
  def _reduce_429(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1693)
  def _reduce_430(val, _values, result)
                          result = val[0] << val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1698)
  def _reduce_431(val, _values, result)
                          result = @builder.string_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1702)
  def _reduce_432(val, _values, result)
                          result = @builder.string(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1707)
  def _reduce_433(val, _values, result)
                          result = @builder.xstring_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

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

module_eval(<<'.,.,', 'ruby21.y', 1718)
  def _reduce_435(val, _values, result)
                          result = @builder.words_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1723)
  def _reduce_436(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1727)
  def _reduce_437(val, _values, result)
                          result = val[0] << @builder.word(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1732)
  def _reduce_438(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1736)
  def _reduce_439(val, _values, result)
                          result = val[0] << val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1741)
  def _reduce_440(val, _values, result)
                          result = @builder.symbols_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1746)
  def _reduce_441(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1750)
  def _reduce_442(val, _values, result)
                          result = val[0] << @builder.word(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1755)
  def _reduce_443(val, _values, result)
                          result = @builder.words_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1760)
  def _reduce_444(val, _values, result)
                          result = @builder.symbols_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

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

module_eval(<<'.,.,', 'ruby21.y', 1769)
  def _reduce_446(val, _values, result)
                          result = val[0] << @builder.string(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1774)
  def _reduce_447(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1778)
  def _reduce_448(val, _values, result)
                          result = val[0] << @builder.symbol(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1783)
  def _reduce_449(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1787)
  def _reduce_450(val, _values, result)
                          result = val[0] << val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1792)
  def _reduce_451(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1796)
  def _reduce_452(val, _values, result)
                          result = val[0] << val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1801)
  def _reduce_453(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1805)
  def _reduce_454(val, _values, result)
                          result = val[0] << val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1810)
  def _reduce_455(val, _values, result)
                          result = @builder.string(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1814)
  def _reduce_456(val, _values, result)
                          result = val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1818)
  def _reduce_457(val, _values, result)
                          @lexer.cond.push(false)
                      @lexer.cmdarg.push(false)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1823)
  def _reduce_458(val, _values, result)
                          @lexer.cond.lexpop
                      @lexer.cmdarg.lexpop

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

module_eval(<<'.,.,', 'ruby21.y', 1831)
  def _reduce_459(val, _values, result)
                          result = @builder.gvar(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1835)
  def _reduce_460(val, _values, result)
                          result = @builder.ivar(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1839)
  def _reduce_461(val, _values, result)
                          result = @builder.cvar(val[0])
                    
    result
  end
.,.,

# reduce 462 omitted

module_eval(<<'.,.,', 'ruby21.y', 1846)
  def _reduce_463(val, _values, result)
                          result = @builder.symbol(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1851)
  def _reduce_464(val, _values, result)
                          result = @builder.symbol_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1856)
  def _reduce_465(val, _values, result)
                          result = @builder.integer(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1860)
  def _reduce_466(val, _values, result)
                          result = @builder.float(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1864)
  def _reduce_467(val, _values, result)
                          result = @builder.integer(val[1], true)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1868)
  def _reduce_468(val, _values, result)
                          result = @builder.float(val[1], true)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1873)
  def _reduce_469(val, _values, result)
                          result = @builder.ident(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1877)
  def _reduce_470(val, _values, result)
                          result = @builder.ivar(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1881)
  def _reduce_471(val, _values, result)
                          result = @builder.gvar(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1885)
  def _reduce_472(val, _values, result)
                          result = @builder.const(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1889)
  def _reduce_473(val, _values, result)
                          result = @builder.cvar(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1894)
  def _reduce_474(val, _values, result)
                          result = @builder.nil(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1898)
  def _reduce_475(val, _values, result)
                          result = @builder.self(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1902)
  def _reduce_476(val, _values, result)
                          result = @builder.true(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1906)
  def _reduce_477(val, _values, result)
                          result = @builder.false(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1910)
  def _reduce_478(val, _values, result)
                          result = @builder.__FILE__(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1914)
  def _reduce_479(val, _values, result)
                          result = @builder.__LINE__(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1918)
  def _reduce_480(val, _values, result)
                          result = @builder.__ENCODING__(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1923)
  def _reduce_481(val, _values, result)
                          result = @builder.accessible(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1927)
  def _reduce_482(val, _values, result)
                          result = @builder.accessible(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1932)
  def _reduce_483(val, _values, result)
                          result = @builder.assignable(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1936)
  def _reduce_484(val, _values, result)
                          result = @builder.assignable(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1941)
  def _reduce_485(val, _values, result)
                          result = @builder.nth_ref(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1945)
  def _reduce_486(val, _values, result)
                          result = @builder.back_ref(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1950)
  def _reduce_487(val, _values, result)
                          result = nil
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1954)
  def _reduce_488(val, _values, result)
                          @lexer.state = :expr_value
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1958)
  def _reduce_489(val, _values, result)
                          result = [ val[0], val[2] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1962)
  def _reduce_490(val, _values, result)
                          yyerrok
                      result = nil
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1968)
  def _reduce_491(val, _values, result)
                          result = @builder.args(val[0], val[1], val[2])

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

module_eval(<<'.,.,', 'ruby21.y', 1974)
  def _reduce_492(val, _values, result)
                          result = @builder.args(nil, val[0], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1979)
  def _reduce_493(val, _values, result)
                          result = val[0].concat(val[2]).concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1983)
  def _reduce_494(val, _values, result)
                          result = val[0].concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1987)
  def _reduce_495(val, _values, result)
                          result = val[0].concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1991)
  def _reduce_496(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 1996)
  def _reduce_497(val, _values, result)
                          result = val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2000)
  def _reduce_498(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2005)
  def _reduce_499(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2012)
  def _reduce_500(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[6]).
                                  concat(val[7])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2020)
  def _reduce_501(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2026)
  def _reduce_502(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2033)
  def _reduce_503(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2039)
  def _reduce_504(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2046)
  def _reduce_505(val, _values, result)
                          result = val[0].
                                  concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2051)
  def _reduce_506(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2057)
  def _reduce_507(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2064)
  def _reduce_508(val, _values, result)
                          result = val[0].
                                  concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2069)
  def _reduce_509(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2075)
  def _reduce_510(val, _values, result)
                          result = val[0].
                                  concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2080)
  def _reduce_511(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2086)
  def _reduce_512(val, _values, result)
                          result = val[0]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2090)
  def _reduce_513(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2095)
  def _reduce_514(val, _values, result)
                          diagnostic(:error, :argument_const, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2099)
  def _reduce_515(val, _values, result)
                          diagnostic(:error, :argument_ivar, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2103)
  def _reduce_516(val, _values, result)
                          diagnostic(:error, :argument_gvar, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2107)
  def _reduce_517(val, _values, result)
                          diagnostic(:error, :argument_cvar, val[0])
                    
    result
  end
.,.,

# reduce 518 omitted

# reduce 519 omitted

module_eval(<<'.,.,', 'ruby21.y', 2115)
  def _reduce_520(val, _values, result)
                          @static_env.declare val[0][0]

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

module_eval(<<'.,.,', 'ruby21.y', 2121)
  def _reduce_521(val, _values, result)
                          result = @builder.multi_lhs(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2126)
  def _reduce_522(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2130)
  def _reduce_523(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2135)
  def _reduce_524(val, _values, result)
                          check_kwarg_name(val[0])

                      @static_env.declare val[0][0]

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

module_eval(<<'.,.,', 'ruby21.y', 2143)
  def _reduce_525(val, _values, result)
                          check_kwarg_name(val[0])

                      @static_env.declare val[0][0]

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

module_eval(<<'.,.,', 'ruby21.y', 2152)
  def _reduce_526(val, _values, result)
                          check_kwarg_name(val[0])

                      @static_env.declare val[0][0]

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

module_eval(<<'.,.,', 'ruby21.y', 2160)
  def _reduce_527(val, _values, result)
                          check_kwarg_name(val[0])

                      @static_env.declare val[0][0]

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

module_eval(<<'.,.,', 'ruby21.y', 2169)
  def _reduce_528(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2173)
  def _reduce_529(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2178)
  def _reduce_530(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2182)
  def _reduce_531(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

# reduce 532 omitted

# reduce 533 omitted

module_eval(<<'.,.,', 'ruby21.y', 2189)
  def _reduce_534(val, _values, result)
                          @static_env.declare val[1][0]

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

module_eval(<<'.,.,', 'ruby21.y', 2195)
  def _reduce_535(val, _values, result)
                          result = [ @builder.kwrestarg(val[0]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2200)
  def _reduce_536(val, _values, result)
                          @static_env.declare val[0][0]

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

module_eval(<<'.,.,', 'ruby21.y', 2207)
  def _reduce_537(val, _values, result)
                          @static_env.declare val[0][0]

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

module_eval(<<'.,.,', 'ruby21.y', 2214)
  def _reduce_538(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2218)
  def _reduce_539(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2223)
  def _reduce_540(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2227)
  def _reduce_541(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

# reduce 542 omitted

# reduce 543 omitted

module_eval(<<'.,.,', 'ruby21.y', 2234)
  def _reduce_544(val, _values, result)
                          @static_env.declare val[1][0]

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

module_eval(<<'.,.,', 'ruby21.y', 2240)
  def _reduce_545(val, _values, result)
                          result = [ @builder.restarg(val[0]) ]
                    
    result
  end
.,.,

# reduce 546 omitted

# reduce 547 omitted

module_eval(<<'.,.,', 'ruby21.y', 2247)
  def _reduce_548(val, _values, result)
                          @static_env.declare val[1][0]

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

module_eval(<<'.,.,', 'ruby21.y', 2254)
  def _reduce_549(val, _values, result)
                          result = [ val[1] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2258)
  def _reduce_550(val, _values, result)
                          result = []
                    
    result
  end
.,.,

# reduce 551 omitted

module_eval(<<'.,.,', 'ruby21.y', 2264)
  def _reduce_552(val, _values, result)
                          result = val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2269)
  def _reduce_553(val, _values, result)
                          result = []
                    
    result
  end
.,.,

# reduce 554 omitted

module_eval(<<'.,.,', 'ruby21.y', 2275)
  def _reduce_555(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2279)
  def _reduce_556(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2284)
  def _reduce_557(val, _values, result)
                          result = @builder.pair(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2288)
  def _reduce_558(val, _values, result)
                          result = @builder.pair_keyword(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2292)
  def _reduce_559(val, _values, result)
                          result = @builder.kwsplat(val[0], val[1])
                    
    result
  end
.,.,

# reduce 560 omitted

# reduce 561 omitted

# reduce 562 omitted

# reduce 563 omitted

# reduce 564 omitted

# reduce 565 omitted

# reduce 566 omitted

# reduce 567 omitted

# reduce 568 omitted

# reduce 569 omitted

# reduce 570 omitted

# reduce 571 omitted

# reduce 572 omitted

# reduce 573 omitted

# reduce 574 omitted

# reduce 575 omitted

module_eval(<<'.,.,', 'ruby21.y', 2303)
  def _reduce_576(val, _values, result)
                          result = val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby21.y', 2307)
  def _reduce_577(val, _values, result)
                          result = val[1]
                    
    result
  end
.,.,

# reduce 578 omitted

# reduce 579 omitted

# reduce 580 omitted

module_eval(<<'.,.,', 'ruby21.y', 2313)
  def _reduce_581(val, _values, result)
                        yyerrok
                  
    result
  end
.,.,

# reduce 582 omitted

# reduce 583 omitted

# reduce 584 omitted

module_eval(<<'.,.,', 'ruby21.y', 2322)
  def _reduce_585(val, _values, result)
                        result = nil
                  
    result
  end
.,.,

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

  end   # class Ruby21
  end   # module Parser