lib/parser/ruby22.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

module Parser
  class Ruby22 < Parser::Base

module_eval(<<'...end ruby22.y/module_eval...', 'ruby22.y', 2335)

  def version
    22
  end

  def default_encoding
    Encoding::UTF_8
  end
...end ruby22.y/module_eval...
##### State transition tables begin ###

clist = [
'-577,-102,568,-101,-489,-98,443,-577,-577,-577,-490,-100,-577,-577,-577',
'217,-577,589,-288,689,647,218,214,215,647,-577,-577,-577,-577,-97,-100',
'-104,-101,214,215,568,-577,-577,-105,-577,-577,-577,-577,-577,610,-83',
'-102,-99,568,212,717,568,-99,614,-69,646,218,-89,-288,646,-97,580,568',
'214,215,581,-98,-577,-577,-577,-577,-577,-577,-577,-577,-577,-577,-577',
'-577,-577,-577,-573,717,-577,-577,-577,717,774,-577,214,215,-577,-103',
'808,-577,-577,-96,-577,-573,-577,268,-577,612,-577,-577,-105,-577,-577',
'-577,-577,-577,609,-577,-577,-577,-89,-91,218,91,92,-102,113,-101,-93',
'588,-102,112,-101,-577,688,-100,-577,-577,-577,-577,-100,-577,-475,-577',
'-88,-91,-95,-92,-101,-475,-475,-475,113,-96,-475,-475,-475,112,-475',
'113,113,-93,843,-574,112,112,-475,-90,-475,-475,-475,-99,113,268,611',
'113,-99,112,-475,-475,112,-475,-475,-475,-475,-475,113,527,-91,113,529',
'112,113,267,112,-93,113,112,214,215,842,112,93,94,214,215,808,-94,574',
'-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475',
'617,268,-475,-475,-475,-91,-475,-475,-91,218,-475,-263,-93,-475,-475',
'-93,-475,-91,-475,647,-475,597,-475,-475,-93,-475,-475,-475,-475,-475',
'-482,-475,-478,-475,91,92,-475,-482,267,-478,-478,-478,-490,-475,-478',
'-478,-478,-475,-478,619,-475,-475,-475,-475,646,-475,-478,-475,-478',
'-478,-478,527,-475,218,529,-571,263,268,-478,-478,218,-478,-478,-478',
'-478,-478,218,218,548,623,545,544,543,597,546,218,599,598,595,267,548',
'444,545,544,543,624,546,218,-98,-478,-478,-478,-478,-478,-478,-478,-478',
'-478,-478,-478,-478,-478,-478,93,94,-478,-478,-478,-478,-478,-478,861',
'597,-478,808,-478,-478,-478,597,-478,-571,-478,263,-478,-478,-478,-478',
'-570,-478,-478,-478,-478,-478,-291,-478,263,-478,-105,599,598,-291,-291',
'-291,-571,851,267,-291,-291,751,-291,-478,834,238,-478,-478,-478,-478',
'-478,-478,79,-478,-577,647,956,-478,-478,515,-99,634,-291,-291,80,-291',
'-291,-291,-291,-291,599,598,595,-475,81,515,599,598,597,527,-475,625',
'529,113,597,-570,749,662,112,-475,646,564,563,-291,-291,-291,-291,-291',
'-291,-291,-291,-291,-291,-291,-291,-291,-291,-577,-570,-291,-291,-291',
'579,630,-577,-104,626,-291,597,-573,-291,597,-95,-577,597,-291,578,-291',
'-91,-291,-291,-104,-291,-291,-291,-291,-291,-100,-291,-577,-291,773',
'-577,599,598,604,-577,-577,-577,599,598,608,-577,-577,-291,-577,113',
'-291,-291,-483,-94,112,-291,-93,-577,637,-483,-577,-411,-103,-480,218',
'-102,772,980,-577,-577,-480,-577,-577,-577,-577,-577,599,598,600,599',
'598,613,599,598,602,527,-265,260,526,548,-102,545,544,543,261,546,838',
'808,388,-577,-577,-577,-577,-577,-577,-577,-577,-577,-577,-577,-577',
'-577,-577,-577,-411,-577,-577,-577,758,631,-577,-411,-100,-577,574,-573',
'-577,703,677,-577,-411,-577,113,-577,-489,-577,-577,112,-577,-577,-577',
'-577,-577,-291,-577,-577,-577,553,-577,-411,-291,-291,-291,860,-486',
'-291,-291,-291,556,-291,-577,-486,263,-577,-577,-90,-92,396,-577,-291',
'-291,-291,398,397,-99,-101,838,808,490,-291,-291,-88,-291,-291,-291',
'-291,-291,-481,-484,263,-97,564,563,531,-481,-484,557,530,548,218,545',
'544,543,548,546,545,544,543,677,546,-291,-291,-291,-291,-291,-291,-291',
'-291,-291,-291,-291,-291,-291,-291,553,-485,-291,-291,-291,218,775,-291',
'-485,238,-291,556,703,-291,-291,801,-291,703,-291,862,-291,706,-291',
'-291,238,-291,-291,-291,-291,-291,863,-291,548,-291,545,544,543,548',
'546,545,544,543,694,546,564,563,866,-291,868,557,-291,-291,-291,-291',
'113,-291,235,-291,870,112,237,236,-103,290,69,70,71,9,57,260,703,-488',
'63,64,872,703,261,67,-488,65,66,68,30,31,72,73,218,-488,214,215,874',
'29,28,27,101,100,102,103,743,744,19,875,745,107,108,635,8,45,292,10',
'105,104,106,95,56,97,96,98,516,99,107,108,878,91,92,512,42,43,41,238',
'242,247,248,249,244,246,254,255,250,251,-292,231,232,985,113,252,253',
'-292,40,112,986,33,113,880,58,59,-292,112,60,984,35,235,881,241,44,237',
'236,677,233,234,245,243,239,20,240,263,883,218,89,79,82,83,584,84,86',
'85,87,-263,887,940,889,80,88,890,256,891,-240,892,585,62,694,81,93,94',
'290,69,70,71,9,57,894,896,440,63,64,898,900,900,67,441,65,66,68,30,31',
'72,73,218,442,238,906,238,29,28,27,101,100,102,103,908,272,19,910,490',
'509,488,620,8,45,292,10,105,104,106,95,56,97,96,98,238,99,107,108,238',
'91,92,502,42,43,41,238,242,247,248,249,244,246,254,255,250,251,-291',
'231,232,-281,916,252,253,-291,40,257,-281,33,-574,501,58,59,-291,919',
'60,-281,35,235,218,241,44,237,236,218,233,234,245,243,239,20,240,923',
'-266,218,89,79,82,83,-292,84,86,85,87,-68,498,-292,477,80,88,477,256',
'759,490,934,-292,62,218,81,93,94,290,69,70,71,9,57,488,-264,517,63,64',
'941,942,486,67,518,65,66,68,30,31,72,73,477,442,217,446,445,29,28,27',
'101,100,102,103,832,753,19,399,752,958,218,635,8,45,292,10,105,104,106',
'95,56,97,96,98,960,99,107,108,961,91,92,748,42,43,41,238,242,247,248',
'249,244,246,254,255,250,251,-291,231,232,-334,966,252,253,-291,40,738',
'-334,33,-574,386,58,59,-291,694,60,-334,35,235,970,241,44,237,236,972',
'233,234,245,243,239,20,240,974,976,976,89,79,82,83,-487,84,86,85,87',
'218,738,-487,-83,80,88,666,256,218,520,677,-487,62,987,81,93,94,5,69',
'70,71,9,57,682,988,-281,63,64,900,900,900,67,-281,65,66,68,30,31,72',
'73,993,-281,683,958,685,29,28,27,101,100,102,103,720,937,19,545,544',
'543,218,546,8,45,7,10,105,104,106,95,56,97,96,98,317,99,107,108,316',
'91,92,574,42,43,41,238,242,247,248,249,244,246,254,255,250,251,507,231',
'232,-488,257,252,253,508,40,691,-488,33,694,695,58,59,506,-574,60,-488',
'35,235,-573,241,44,237,236,682,233,234,245,243,239,20,240,213,713,208',
'89,79,82,83,584,84,86,85,87,697,207,583,711,80,88,958,256,710,1012,1013',
'585,62,1014,81,93,94,5,69,70,71,9,57,976,976,210,63,64,976,218,206,67',
'211,65,66,68,30,31,72,73,121,209,709,699,900,29,28,27,101,100,102,103',
'958,937,19,545,544,543,701,546,8,45,7,10,105,104,106,95,56,97,96,98',
'109,99,107,108,976,91,92,,42,43,41,238,242,247,248,249,244,246,254,255',
'250,251,584,231,232,-487,,252,253,940,40,,-487,33,,,58,59,585,,60,-487',
'35,235,,241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,576',
'84,86,85,87,,,577,,80,88,,256,,,,575,62,,81,93,94,290,69,70,71,9,57',
',,-292,63,64,,,,67,-292,65,66,68,30,31,72,73,,-292,,,,29,28,27,101,100',
'102,103,,,19,116,117,118,119,120,8,45,292,10,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,,42,43,41,238,242,247,248,249,244,246,254,255',
'250,251,-291,231,232,,,252,253,-291,40,,,33,-574,,58,59,-291,,60,,35',
'235,,241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,256,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,',
'67,,65,66,68,30,31,72,73,116,117,118,119,120,29,28,27,101,100,102,103',
',,19,116,117,118,119,120,8,45,292,10,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,,42,43,41,238,242,247,248,249,244,246,254,255,250,251',
',231,232,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233',
'234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,256,,',
',,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,,42,43,41,238,242,247,248,249,244,246,254',
'255,250,251,,231,232,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44',
'237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,',
'80,88,,256,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,238,242,247,248',
'249,244,246,254,255,250,251,,231,232,,,252,253,,40,,,33,,,58,59,,,60',
',35,235,,241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,218,256,,,,,62,,81,93,94,290,69,70,71,9,57,,,',
'63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19',
',,,,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
'41,238,242,247,248,249,244,246,254,255,250,251,,231,232,,,252,253,,40',
',,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245,243,239,20,240',
',,,89,79,82,83,,84,86,85,87,,,,,80,88,,256,,,,,62,,81,93,94,290,69,70',
'71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
'103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,,42,43,41,238,242,247,248,249,244,246,254,255,250,251,,231,232,,',
'252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245,243',
'239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,256,,,,,62,,81,93',
'94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
'27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,,42,43,41,238,242,247,248,249,244,246,254,255,250',
'251,,231,232,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236',
',233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,256',
',,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72',
'73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,,42,43,41,238,242,247,248,249,244,246',
'254,255,250,251,,231,232,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241',
'44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,',
',,,80,88,,256,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10',
'105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,238,242,247',
'248,249,244,246,254,255,250,251,,231,232,,,252,253,,40,,,33,,,58,59',
',,60,,35,235,,241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,256,,,,,62,,81,93,94,290,69,70,71,9,57,,',
',63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19',
',,,,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
'41,238,242,247,248,249,244,246,254,255,250,251,,231,232,,,252,253,,40',
',,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245,243,239,20,240',
',,,89,79,82,83,,84,86,85,87,,,,,80,88,,256,,,,,62,,81,93,94,290,69,70',
'71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
'103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,,42,43,41,238,242,247,248,249,244,246,254,255,250,251,,231,232,,',
'252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245,243',
'239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,256,,,,,62,,81,93',
'94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
'27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,,42,43,41,238,242,247,248,249,244,246,254,255,250',
'251,,231,232,,,252,253,,40,,,294,,,58,59,,,60,,35,235,,241,44,237,236',
',233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,256',
',,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72',
'73,,,,,,29,28,27,101,100,102,103,,548,19,545,544,543,238,546,8,45,292',
'10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,548,,545',
'544,543,238,546,235,703,,,237,236,,233,234,,706,,40,,,33,,,58,59,,238',
'60,,35,,,,44,,235,703,,,237,236,,20,,,905,,89,79,82,83,,84,86,85,87',
',,235,,80,88,237,236,,233,234,,62,,81,93,94,290,69,70,71,9,57,,,,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,548,19',
'545,544,543,,546,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,,42,43,41,238,,,,,,,,703,,,,,,,,252,253,,40,,,294,,,58,59,,,60',
',35,235,,241,44,237,236,,233,234,,,239,20,240,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292',
'10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,238,-596',
'-596,-596,-596,244,246,,,-596,-596,,,,,,252,253,,40,,,33,,,58,59,,,60',
',35,235,,241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,',
'8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41',
'238,,,,,,,,,,,,,,,,252,253,,40,,,294,,,58,59,,,60,,35,235,,241,44,237',
'236,,233,234,,,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,',
',,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,,42,43,41,238,,,,,,,,,,,,,,,,252,253,,40',
',,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,,,239,20,240,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,290,69,70,71,9,57',
',,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,',
',19,,,,,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,',
'42,43,41,238,242,247,248,249,244,246,254,,250,251,,,,,,252,253,,40,',
',33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245,243,239,20,240',
',,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,290,69,70,71',
'9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
'103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,,42,43,41,238,,,,,,,,,,,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235',
',241,44,237,236,,233,234,,,239,20,240,,,,89,79,82,83,,84,86,85,87,,',
',,80,88,,,,,,,62,,81,93,94,5,69,70,71,9,57,,,,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,7,10,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,238,-596,-596,-596,-596',
'244,246,,,-596,-596,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241',
'44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,',
',,,80,88,,,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,238,-596,-596,-596',
'-596,244,246,,,-596,-596,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235',
',241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10',
'105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,238,-596,-596',
'-596,-596,244,246,,,-596,-596,,,,,,252,253,,40,,,33,,,58,59,,,60,,35',
'235,,241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292',
'10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,238,242,247',
'248,249,244,246,254,255,250,251,,-596,-596,,,252,253,,40,,,33,,,58,59',
',,60,,35,235,,241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,',
',,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
'41,238,-596,-596,-596,-596,244,246,,,-596,-596,,,,,,252,253,,40,,,33',
',,58,59,,,60,,35,235,,241,44,237,236,,233,234,245,243,239,20,240,,,',
'89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,290,69,70,71,9',
'57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103',
',,19,,,,,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
',42,43,41,238,-596,-596,-596,-596,244,246,,,-596,-596,,,,,,252,253,',
'40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245,243,239,20',
'240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,290,69',
'70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
'102,103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,,42,43,41,238,242,247,248,249,244,246,,,250,251,,,,,,252,253',
',40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245,243,239,20',
'240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94',
'63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103',
',,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
'41,238,242,247,248,249,244,246,254,255,250,251,,-596,-596,,,252,253',
',223,,,229,,,58,59,,,60,,,235,,241,44,237,236,,233,234,245,243,239,228',
'240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94',
'63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103',
',,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
'41,238,,,,,,,,,,,,,,,,252,253,,223,,,229,,,58,59,,,60,,,235,,,44,237',
'236,,233,234,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107',
'108,,91,92,,42,43,41,238,,,,,,,,,,,,,,,,252,253,,223,,,229,,,58,59,',
',60,,,235,,241,44,237,236,285,233,234,,,,228,,,,,89,282,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309',
'310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,238,,,,,,,,,,,,,,,,252',
'253,,223,,,229,,,58,59,,,60,,,235,,241,44,237,236,,233,234,,,,228,,',
',,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230',
',,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108,,91,92,,42,43,41',
',,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,,,44,,,285,,,,,,228',
',,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
'230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108,,91,92,,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,285,,,,,,228',
',,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
'230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108,,91,92,,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,659,,,,44,,,285,,,',
',,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,',
',19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
'41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,',
'89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,',
',,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,',
',,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,113,,,,,112,62,,81,93,94,69,70,71,,57,,,,63,64,,,,67',
',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
',307,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,,313,,,,,,,,',
',,,,,,,,,,,348,,,33,,,58,59,,,60,,35,,,,,,,,,,,,,,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,307,,,105',
'104,106,353,56,97,96,354,,99,107,108,,91,92,,,,313,,,,,,,,,,,,,,,,,360',
',,355,,,229,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,307,,,105,104,106,353',
'56,97,96,354,,99,107,108,,91,92,,,,313,,,,,,,,,,,,,,,,,,,,355,,,229',
',,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305',
'306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,',
'60,,281,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,',
'69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
'27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99',
'107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,',
'281,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88',
',,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,',
',,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,',
'44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62',
'57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101',
'100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,',
',,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94',
'69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
'100,102,103,,,19,,,,,,8,45,7,10,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,',
',,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,388,62,,81,93',
'94,69,70,71,,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
'100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,',
'91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,',
',,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103',
',,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
'41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,',
'89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,',
',,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,',
',,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,,,,62,,81,93,94,69,70,71,9,57,,,,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,,10,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,',
',,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309',
'310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,307,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,,,,313,,,,,,,,,,,,,,,,,,,,303,,,299,',
',58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,',
',69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
'27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99',
'107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,',
'281,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88',
',,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284',
'99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60',
',281,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88',
',,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,',
'404,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
'100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,',
',,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108,,91,92',
',42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,',
'285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62',
'57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101',
'100,102,103,,,230,,,,,,,307,,,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,,,,313,,,,,,,,,,,,,,,,,,,,303,,,299,,,58,59,,,60,,548,,545,544',
'543,553,546,,,,,,,,,,556,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,551',
'62,,81,93,94,69,70,71,9,57,564,563,,63,64,557,,,67,,65,66,68,30,31,72',
'73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,7,10,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33',
',,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,',
',29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,',
'60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69',
'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,404',
',,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
'102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
',42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,',
'20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94',
'63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19',
',,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,',
',,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
',307,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,,313,,,,,,,,',
',,,,,,,,,,,303,,,229,,,58,59,,,60,,548,,545,544,543,553,546,,,,,,,,',
',556,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,315,,551,62,,81,93,94,69',
'70,71,,57,564,563,,63,64,557,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,',
',,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,218,,,,,,62,,81,93',
'94,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35',
',,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,388,62',
',81,93,94,69,70,71,,57,,,,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305',
'306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,',
'60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69',
'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306',
'312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284',
'99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60',
',,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,',
',69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305',
'306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98',
'284,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59',
',,60,,659,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,',
'80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73',
',,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,',
',58,59,,,60,,756,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,',
'80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73',
',,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,',
',58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,',
',,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58',
'59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305',
'306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,',
'60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69',
'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306',
'312,101,100,102,103,,,230,,,,,,,307,,,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,,,,313,,,,,,,,,,,,,,,,,,,,303,,,299,,,58,59,,,60,,298',
',,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100',
'102,103,,,230,,,,,,,307,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,,,,313,,,,,,,,,,,,,,,,,,,,948,,,229,,,58,59,,,60,,,,,,,,,,,,,,,,',
',,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
'230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
'41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,',
',89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230',
',,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,',
',,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,',
',,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,',
',,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,',
',,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83',
',84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,',
',,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309',
'310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
',,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,',
',,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58',
'59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305',
'306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,',
'60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69',
'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306',
'312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,',
',,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,',
'44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62',
'57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101',
'100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,',
',,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100',
'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,',
',,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,',
'42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
'230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
'41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,',
',89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230',
',,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,',
',,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,',
',,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,',
',,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,',
',,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83',
',84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,',
',,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309',
'310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
',,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,',
',,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58',
'59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305',
'306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,',
'60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69',
'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306',
'312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,',
',,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107',
'108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,659',
',279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69',
'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107',
'108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281',
',279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69',
'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107',
'108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281',
',279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69',
'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107',
'108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281',
',279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,218',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305',
'306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98',
'284,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59',
',,60,,,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,',
',29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98',
'284,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59',
',,60,,281,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,',
'80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73',
',,,,,305,306,312,101,100,102,103,,,230,,,,,,,307,,,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,,,,313,,,,,,,,,,,,,,,,,,,,877,,,229,,,58',
'59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69',
'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306',
'312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,',
',,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,',
',,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,',
'42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
'230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
'41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,',
',89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230',
',,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,',
',,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,',
',,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83',
',84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,69,70,71,9,57,,,,63,64,,,',
'67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45',
',10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,',
',,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,89,79,82,83',
',84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
',,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,',
',,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97',
'96,98,284,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,',
',58,59,,,60,,,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72',
'73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56',
'97,96,98,284,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
',,58,59,,,60,,281,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85',
'87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
',,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,',
',29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98',
'284,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59',
',,60,,281,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,',
'80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,',
',,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59',
',,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69',
'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306',
'312,101,100,102,103,,,230,,,,,,,307,,,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,,,,313,,,,,,,,,,,,,,,,,,,,303,,,229,,,58,59,,,60,,548',
',545,544,543,553,546,,,,,,,,,,556,,89,79,82,83,,84,86,85,87,,,,,80,88',
',,,504,,551,62,,81,93,94,69,70,71,,57,564,563,,63,64,557,,,67,,65,66',
'68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,',
',,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309',
'310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
',,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,',
',,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58',
'59,,,60,,659,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,',
'305,306,312,101,100,102,103,,,230,,,,,,,307,,,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,,,,313,,,,,,,,,,,,,,,,,,,,303,,,299,,,58,59,,',
'60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
'102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
',42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,',
'20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94',
'63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19',
',,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,',
',,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,',
',,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,',
',,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83',
',84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,',
',,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30',
'31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106',
'95,56,97,96,98,284,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,281,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,307,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,,,,313,,,,,,,,,,,,,,,,,,,',
'303,,,299,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,',
',,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,307,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,,,,313,,,,,,,,,,,,,,,,,,,,303,,,299,',
',58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,',
',69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305',
'306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,',
'60,,404,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,',
'69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305',
'306,312,101,100,102,103,,,230,,,,,,,307,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,,,,313,,,,,,,,,,,,,,,,,,,,877,,,229,,,58,59,,,60',
',,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62',
'57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101',
'100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,',
',,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100',
'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,',
',,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,',
'42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,520,,58,59,,,60,,,,,,44,,,,,,',
',,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,',
',230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
'41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,',
',89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,',
',,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,',
',,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83',
',84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,',
',,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309',
'310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
',,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,',
',29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,',
'60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
'100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,',
'91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,',
',,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103',
',,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108,,91,92,,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,285',
',,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103',
',,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
'41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,',
'89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,',
',,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,',
',,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83',
',84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72',
'73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58',
'59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,',
',69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
'27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,',
'44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,-579,,62,,81',
'93,94,-579,-579,-579,,,-579,-579,-579,,-579,,,,,,,,,-579,-579,-579,-579',
',,,,,,,-579,-579,,-579,-579,-579,-579,-579,,,,,,,,,,,,,,,,,,,,,,,,-579',
'-579,-579,-579,-579,-579,-579,-579,-579,-579,-579,-579,-579,-579,,,-579',
'-579,-579,,,-579,,,-579,,,-579,-579,,-579,,-579,,-579,,-579,-579,,-579',
'-579,-579,-579,-579,,-579,-579,-579,,,,,,,,,,,,,,-579,,,-579,-579,-579',
'-579,-282,-579,,-579,,,,-282,-282,-282,,,-282,-282,-282,,-282,,,,,,',
',,,-282,-282,-282,,,,,,,,-282,-282,,-282,-282,-282,-282,-282,,,,,,,',
',,,,,,,,,,,,,,,,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282',
'-282,-282,-282,,,-282,-282,-282,,,-282,,,-282,,,-282,-282,,-282,,-282',
',-282,,-282,-282,,-282,-282,-282,-282,-282,,-282,,-282,,,,,,,,,,,,,',
'-282,,,-282,-282,-282,-282,-578,-282,,-282,,,,-578,-578,-578,,,-578',
'-578,-578,,-578,,,,,,,,,-578,-578,-578,-578,,,,,,,,-578,-578,,-578,-578',
'-578,-578,-578,,,,,,,,,,,,,,,,,,,,,,,,-578,-578,-578,-578,-578,-578',
'-578,-578,-578,-578,-578,-578,-578,-578,,,-578,-578,-578,,,-578,,,-578',
',,-578,-578,,-578,,-578,,-578,,-578,-578,,-578,-578,-578,-578,-578,',
'-578,-578,-578,,,,,,,,,,,,,,-578,,,-578,-578,-578,-578,-246,-578,,-578',
',,,-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,,263,-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,548,-246,545,544,543',
'553,546,,,,-246,-246,,,,,556,,,,,-246,-246,,-246,-246,-246,-246,-246',
',,,,,,,,,551,,,,,,,,,561,560,564,563,,,,557,,,,,,,,,-246,,-410,,,,,-246',
',-410,-410,-410,263,-246,-410,-410,-410,218,-410,,,,,,,,,-410,-410,-410',
',,,,,-246,-246,,-410,-410,,-410,-410,-410,-410,-410,,,,,-246,,,-246',
',,,,-246,,,,,,,,,,,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410',
'-410,-410,-410,-410,,,-410,-410,-410,,,-410,,263,-410,,,-410,-410,,-410',
',-410,,-410,,-410,-410,,-410,-410,-410,-410,-410,-298,-410,-410,-410',
',,,-298,-298,-298,,,-298,-298,-298,,-298,-410,,,-410,-410,,-410,,-410',
'-298,-298,,,,,,,,,-298,-298,,-298,-298,-298,-298,-298,,,,,,,,,,,,,,',
',,,,,,,,,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298',
'-298,-298,,,-298,-298,-298,,,-298,,272,-298,,,-298,-298,,-298,,-298',
',-298,,-298,-298,,-298,-298,-298,-298,-298,,-298,,-298,,,,,,,,,,,,,',
'-298,,,-298,-298,,-298,,-298,173,184,174,197,170,190,180,179,200,201',
'195,178,177,172,198,202,203,182,171,185,189,191,183,176,,,,192,199,194',
'193,186,196,181,169,188,187,,,,,,168,175,166,167,163,164,165,124,126',
',,125,,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159',
'160,146,147,,,,,,,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141',
'133,155,134,,,162,89,,,,,,,,,,,,,,88,173,184,174,197,170,190,180,179',
'200,201,195,178,177,172,198,202,203,182,171,185,189,191,183,176,,,,192',
'199,194,193,186,196,181,169,188,187,,,,,,168,175,166,167,163,164,165',
'124,126,,,125,,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140',
',,,159,160,146,147,,,,,,,,,,,,,,151,150,,135,156,153,152,161,148,149',
'143,141,133,155,134,,,162,89,,,,,,,,,,,,,,88,173,184,174,197,170,190',
'180,179,200,201,195,178,177,172,198,202,203,182,171,185,189,191,183',
'176,,,,192,199,194,193,186,196,181,169,188,187,,,,,,168,175,166,167',
'163,164,165,124,126,,,125,,,,,,,,,157,158,,154,136,137,138,145,142,144',
',,139,140,,,,159,160,146,147,,,,,,,,,,,,,,151,150,,135,156,153,152,161',
'148,149,143,141,133,155,134,,,162,89,,,,,,,,,,,,,,88,173,184,174,197',
'170,190,180,179,200,201,195,178,177,172,198,202,203,182,171,185,189',
'191,183,176,,,,192,199,194,193,186,196,181,169,188,187,,,,,,168,175',
'166,167,163,164,165,124,126,123,,125,,,,,,,,,157,158,,154,136,137,138',
'145,142,144,,,139,140,,,,159,160,146,147,,,,,,,,,,,,,,151,150,,135,156',
'153,152,161,148,149,143,141,133,155,134,,,162,89,,,,,,,,,,,,,,88,173',
'184,174,197,170,190,180,179,200,201,195,178,177,172,198,202,203,182',
'171,185,189,191,183,176,,,,192,199,194,371,370,372,369,169,188,187,',
',,,,168,175,166,167,366,367,368,364,126,97,96,365,,99,,,,,,,157,158',
',154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,376,',
',,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155,134,,,162',
'173,184,174,197,170,190,180,179,200,201,195,178,177,172,198,202,203',
'182,171,185,189,191,183,176,,,,192,199,194,193,186,196,181,169,188,187',
',,,,,168,175,166,167,163,164,165,124,126,,,125,,,,,,,,,157,158,,154',
'136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,,,,,,,,,151',
'150,,135,156,153,152,161,148,149,143,141,133,155,134,982,424,162,,981',
',,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146',
'147,,,,,,263,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133',
'155,134,475,417,162,,476,,,,,,,,,157,158,,154,136,137,138,145,142,144',
',,139,140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152',
'161,148,149,143,141,133,155,134,673,424,162,,674,,,,,,,,,157,158,,154',
'136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,263,,,,,,',
',151,150,,135,156,153,152,161,148,149,143,141,133,155,134,728,424,162',
',729,,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160',
'146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141',
'133,155,134,638,417,162,,639,,,,,,,,,157,158,,154,136,137,138,145,142',
'144,,,139,140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153',
'152,161,148,149,143,141,133,155,134,475,417,162,,476,,,,,,,,,157,158',
',154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,,,,,',
',,,151,150,,135,156,153,152,161,148,149,143,141,133,155,134,1005,417',
'162,,1006,,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,',
'159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152,161,148,149',
'143,141,133,155,134,1007,424,162,,1008,,,,,,,,,157,158,,154,136,137',
'138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150',
',135,156,153,152,161,148,149,143,141,133,155,134,640,424,162,,641,,',
',,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146',
'147,,,,,,263,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133',
'155,134,413,417,162,,414,,,,,,,,,157,158,,154,136,137,138,145,142,144',
',,139,140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152',
'161,148,149,143,141,133,155,134,725,424,162,,726,,,,,,,,,157,158,,154',
'136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,263,,,,,,',
',151,150,,135,156,153,152,161,148,149,143,141,133,155,134,723,417,162',
',724,,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160',
'146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141',
'133,155,134,638,417,162,,639,,,,,,,,,157,158,,154,136,137,138,145,142',
'144,,,139,140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153',
'152,161,148,149,143,141,133,155,134,640,424,162,,641,,,,,,,,,157,158',
',154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,263,',
',,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155,134,420,424',
'162,,419,,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159',
'160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152,161,148,149,143',
'141,133,155,134,670,417,162,,671,,,,,,,,,157,158,,154,136,137,138,145',
'142,144,,,139,140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156',
'153,152,161,148,149,143,141,133,155,134,,548,162,545,544,543,553,546',
',548,,545,544,543,553,546,,556,,,,,,,548,556,545,544,543,553,546,,,',
',,,,,551,556,,,,,,,551,561,560,564,563,,,,557,561,560,564,563,,,551',
'557,548,,545,544,543,553,546,561,560,564,563,,,,557,548,556,545,544',
'543,553,546,,,,,,,,,548,556,545,544,543,553,546,,551,534,,,,,,,556,561',
'560,564,563,,,551,557,548,,545,544,543,553,546,561,560,564,563,,,551',
'557,548,556,545,544,543,553,546,,,564,563,,,,557,548,556,545,544,543',
'553,546,,551,548,,545,544,543,553,546,556,,,564,563,,,551,557,556,,',
',,,,561,560,564,563,,,551,557,,,,,,,,551,,564,563,,,,557,,561,560,564',
'563,,,548,557,545,544,543,553,546,,548,,545,544,543,553,546,548,556',
'545,544,543,553,546,,548,556,545,544,543,553,546,,556,,,,,,,551,556',
',,,,,,551,,,564,563,,,551,557,561,560,564,563,,,551,557,,564,563,,,',
'557,,,564,563,,,548,557,545,544,543,553,546,,548,,545,544,543,553,546',
',556,,,,,,,548,556,545,544,543,553,546,,,,,,,,,551,556,,,,,,,551,,,564',
'563,,,,557,561,560,564,563,,,551,557,,,,,,,,561,560,564,563,,,,557' ]
        racc_action_table = arr = ::Array.new(25294, 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 = [
'640,1006,886,1007,221,346,223,640,640,640,39,1005,640,640,640,19,640',
'359,58,533,482,707,680,680,651,640,640,640,640,345,723,578,725,17,17',
'721,640,640,349,640,640,640,640,640,383,665,724,1019,909,15,571,338',
'845,394,665,482,19,39,58,651,221,355,339,337,337,355,39,640,640,640',
'640,640,640,640,640,640,640,640,640,640,640,1007,570,640,640,640,846',
'640,640,590,590,640,726,714,640,640,15,640,725,640,61,640,384,640,640',
'15,640,640,640,640,640,383,640,640,640,346,670,680,313,313,1006,886',
'1007,671,359,1006,886,1007,640,533,1005,640,640,640,640,1005,640,95',
'640,345,723,578,725,640,95,95,95,359,349,95,95,95,359,95,721,571,724',
'721,726,721,571,95,845,95,95,95,1019,909,650,384,338,1019,909,95,95',
'338,95,95,95,95,95,339,686,670,590,686,339,570,61,590,671,846,570,437',
'437,719,846,313,313,594,594,914,726,914,95,95,95,95,95,95,95,95,95,95',
'95,95,95,95,400,308,95,95,95,670,95,95,670,722,95,403,671,95,95,671',
'95,670,95,481,95,378,95,95,671,95,95,95,95,95,372,95,98,95,41,41,364',
'372,650,98,98,98,222,364,98,98,98,95,98,405,95,95,95,95,481,95,98,95',
'98,98,98,329,95,690,329,354,308,26,98,98,437,98,98,98,98,98,594,409',
'706,411,706,706,706,607,706,684,378,378,378,308,905,224,905,905,905',
'412,905,731,222,98,98,98,98,98,98,98,98,98,98,98,98,98,98,41,41,98,98',
'98,354,98,98,776,492,98,681,354,98,98,605,98,354,98,26,98,354,98,98',
'353,98,98,98,98,98,419,98,421,98,224,607,607,419,419,419,354,736,26',
'419,419,607,419,98,706,679,98,98,98,98,365,98,77,98,673,473,905,365',
'98,443,776,429,419,419,77,419,419,419,419,419,492,492,492,353,77,317',
'605,605,381,332,353,413,332,342,382,353,605,492,342,353,473,694,694',
'419,419,419,419,419,419,419,419,419,419,419,419,419,419,673,353,419',
'419,419,350,419,673,443,414,419,379,673,419,385,317,673,380,419,348',
'419,413,419,419,317,419,419,419,419,419,413,419,420,419,639,673,381',
'381,381,420,420,420,382,382,382,420,420,419,420,288,419,419,369,419',
'288,419,414,420,439,369,728,803,419,370,935,414,638,935,420,420,370',
'420,420,420,420,420,379,379,379,385,385,385,380,380,380,328,755,24,328',
'956,639,956,956,956,24,956,712,712,344,420,420,420,420,420,420,420,420',
'420,420,420,420,420,420,728,803,420,420,420,621,420,728,803,638,420',
'343,728,420,956,676,728,803,420,3,420,38,420,420,3,420,420,420,420,420',
'641,420,420,420,691,728,803,641,641,641,760,368,641,641,641,691,641',
'420,368,675,420,420,621,420,123,420,641,641,641,123,123,621,420,995',
'995,333,641,641,38,641,641,641,641,641,371,367,672,38,691,691,331,371',
'367,691,330,551,669,551,551,551,993,551,993,993,993,667,993,641,641',
'641,641,641,641,641,641,641,641,641,641,641,641,863,366,641,641,641',
'326,641,641,366,321,641,863,551,641,641,664,641,993,641,777,641,551',
'641,641,449,641,641,641,641,641,778,641,958,641,958,958,958,834,958',
'834,834,834,779,834,863,863,781,641,782,863,641,641,641,641,849,641',
'449,641,783,849,449,449,641,808,808,808,808,808,808,374,958,946,808',
'808,785,834,374,808,946,808,808,808,808,808,808,808,786,946,523,523',
'787,808,808,808,808,808,808,808,598,598,808,788,598,598,598,432,808',
'808,808,808,808,808,808,808,808,808,808,808,318,808,808,808,792,808',
'808,314,808,808,808,432,432,432,432,432,432,432,432,432,432,432,581',
'432,432,947,589,432,432,581,808,589,947,808,854,796,808,808,581,854',
'808,947,808,432,797,432,808,432,432,802,432,432,432,432,432,808,432',
'312,806,307,808,808,808,808,876,808,808,808,808,809,810,876,813,808',
'808,815,432,816,432,817,876,808,818,808,808,808,653,653,653,653,653',
'653,822,823,220,653,653,825,826,828,653,220,653,653,653,653,653,653',
'653,831,220,451,833,452,653,653,653,653,653,653,653,836,306,653,839',
'658,303,656,408,653,653,653,653,653,653,653,653,653,653,653,653,453',
'653,653,653,454,653,653,297,653,653,653,408,408,408,408,408,408,408',
'408,408,408,408,674,408,408,949,848,408,408,674,653,649,949,653,674',
'296,653,653,674,852,653,949,653,408,853,408,653,408,408,642,408,408',
'408,408,408,653,408,856,857,295,653,653,653,653,509,653,653,653,653',
'293,292,509,632,653,653,627,408,622,280,873,509,653,479,653,653,653',
'654,654,654,654,654,654,277,618,319,654,654,877,879,276,654,319,654',
'654,654,654,654,654,654,262,319,230,226,225,654,654,654,654,654,654',
'654,705,612,654,204,610,907,483,643,654,654,654,654,654,654,654,654',
'654,654,654,654,911,654,654,654,912,654,654,602,654,654,654,643,643',
'643,643,643,643,643,643,643,643,643,729,643,643,46,918,643,643,729,654',
'922,46,654,729,109,654,654,729,925,654,46,654,643,928,643,654,643,643',
'929,643,643,643,643,643,654,643,930,931,933,654,654,654,654,945,654',
'654,654,654,499,592,945,500,654,654,503,643,505,510,513,945,654,948',
'654,654,654,0,0,0,0,0,0,521,951,304,0,0,952,953,954,0,304,0,0,0,0,0',
'0,0,955,304,522,957,524,0,0,0,0,0,0,0,573,874,0,874,874,874,45,874,0',
'0,0,0,0,0,0,0,0,0,0,0,40,0,0,0,37,0,0,572,0,0,0,519,519,519,519,519',
'519,519,519,519,519,519,302,519,519,301,22,519,519,302,0,536,301,0,537',
'539,0,0,302,981,0,301,0,519,982,519,0,519,519,983,519,519,519,519,519',
'0,519,16,567,13,0,0,0,0,357,0,0,0,0,540,12,357,565,0,0,994,519,562,996',
'997,357,0,998,0,0,0,498,498,498,498,498,498,999,1000,14,498,498,1001',
'1004,10,498,14,498,498,498,498,498,498,498,7,14,558,541,1009,498,498',
'498,498,498,498,498,1010,980,498,980,980,980,550,980,498,498,498,498',
'498,498,498,498,498,498,498,498,1,498,498,498,1021,498,498,,498,498',
'498,762,762,762,762,762,762,762,762,762,762,762,939,762,762,300,,762',
'762,939,498,,300,498,,,498,498,939,,498,300,498,762,,762,498,762,762',
',762,762,762,762,762,498,762,,,,498,498,498,498,347,498,498,498,498',
',,347,,498,498,,762,,,,347,498,,498,498,498,688,688,688,688,688,688',
',,987,688,688,,,,688,987,688,688,688,688,688,688,688,,987,,,,688,688',
'688,688,688,688,688,,,688,6,6,6,6,6,688,688,688,688,688,688,688,688',
'688,688,688,688,,688,688,688,,688,688,,688,688,688,767,767,767,767,767',
'767,767,767,767,767,767,1008,767,767,,,767,767,1008,688,,,688,1008,',
'688,688,1008,,688,,688,767,,767,688,767,767,,767,767,767,767,767,688',
'767,,,,688,688,688,688,,688,688,688,688,,,,,688,688,,767,,,,,688,,688',
'688,688,689,689,689,689,689,689,,,,689,689,,,,689,,689,689,689,689,689',
'689,689,497,497,497,497,497,689,689,689,689,689,689,689,,,689,291,291',
'291,291,291,689,689,689,689,689,689,689,689,689,689,689,689,,689,689',
'689,,689,689,,689,689,689,968,968,968,968,968,968,968,968,968,968,968',
',968,968,,,968,968,,689,,,689,,,689,689,,,689,,689,968,,968,689,968',
'968,,968,968,968,968,968,689,968,,,,689,689,689,689,,689,689,689,689',
',,,,689,689,,968,,,,,689,,689,689,689,732,732,732,732,732,732,,,,732',
'732,,,,732,,732,732,732,732,732,732,732,,,,,,732,732,732,732,732,732',
'732,,,732,,,,,,732,732,732,732,732,732,732,732,732,732,732,732,,732',
'732,732,,732,732,,732,732,732,764,764,764,764,764,764,764,764,764,764',
'764,,764,764,,,764,764,,732,,,732,,,732,732,,,732,,732,764,,764,732',
'764,764,,764,764,764,764,764,732,764,,,,732,732,732,732,,732,732,732',
'732,,,,,732,732,,764,,,,,732,,732,732,732,737,737,737,737,737,737,,',
',737,737,,,,737,,737,737,737,737,737,737,737,,,,,,737,737,737,737,737',
'737,737,,,737,,,,,,737,737,737,737,737,737,737,737,737,737,737,737,',
'737,737,737,,737,737,,737,737,737,644,644,644,644,644,644,644,644,644',
'644,644,,644,644,,,644,644,,737,,,737,,,737,737,,,737,,737,644,,644',
'737,644,644,,644,644,644,644,644,737,644,,,,737,737,737,737,,737,737',
'737,737,,,,,737,737,644,644,,,,,737,,737,737,737,747,747,747,747,747',
'747,,,,747,747,,,,747,,747,747,747,747,747,747,747,,,,,,747,747,747',
'747,747,747,747,,,747,,,,,,747,747,747,747,747,747,747,747,747,747,747',
'747,,747,747,747,,747,747,,747,747,747,427,427,427,427,427,427,427,427',
'427,427,427,,427,427,,,427,427,,747,,,747,,,747,747,,,747,,747,427,',
'427,747,427,427,,427,427,427,427,427,747,427,,,,747,747,747,747,,747',
'747,747,747,,,,,747,747,,427,,,,,747,,747,747,747,324,324,324,324,324',
'324,,,,324,324,,,,324,,324,324,324,324,324,324,324,,,,,,324,324,324',
'324,324,324,324,,,324,,,,,,324,324,324,324,324,324,324,324,324,324,324',
'324,,324,324,324,,324,324,,324,324,324,678,678,678,678,678,678,678,678',
'678,678,678,,678,678,,,678,678,,324,,,324,,,324,324,,,324,,324,678,',
'678,324,678,678,,678,678,678,678,678,324,678,,,,324,324,324,324,,324',
'324,324,324,,,,,324,324,,678,,,,,324,,324,324,324,795,795,795,795,795',
'795,,,,795,795,,,,795,,795,795,795,795,795,795,795,,,,,,795,795,795',
'795,795,795,795,,,795,,,,,,795,795,795,795,795,795,795,795,795,795,795',
'795,,795,795,795,,795,795,,795,795,795,21,21,21,21,21,21,21,21,21,21',
'21,,21,21,,,21,21,,795,,,795,,,795,795,,,795,,795,21,,21,795,21,21,',
'21,21,21,21,21,795,21,,,,795,795,795,795,,795,795,795,795,,,,,795,795',
',21,,,,,795,,795,795,795,648,648,648,648,648,648,,,,648,648,,,,648,',
'648,648,648,648,648,648,648,,,,,,648,648,648,648,648,648,648,,,648,',
',,,,648,648,648,648,648,648,648,648,648,648,648,648,,648,648,648,,648',
'648,,648,648,648,274,274,274,274,274,274,274,274,274,274,274,,274,274',
',,274,274,,648,,,648,,,648,648,,,648,,648,274,,274,648,274,274,,274',
'274,274,274,274,648,274,,,,648,648,648,648,,648,648,648,648,,,,,648',
'648,,274,,,,,648,,648,648,648,840,840,840,840,840,840,,,,840,840,,,',
'840,,840,840,840,840,840,840,840,,,,,,840,840,840,840,840,840,840,,',
'840,,,,,,840,840,840,840,840,840,840,840,840,840,840,840,,840,840,840',
',840,840,,840,840,840,757,757,757,757,757,757,757,757,757,757,757,,757',
'757,,,757,757,,840,,,840,,,840,840,,,840,,840,757,,757,840,757,757,',
'757,757,757,757,757,840,757,,,,840,840,840,840,,840,840,840,840,,,,',
'840,840,,757,,,,,840,,840,840,840,841,841,841,841,841,841,,,,841,841',
',,,841,,841,841,841,841,841,841,841,,,,,,841,841,841,841,841,841,841',
',,841,,,,,,841,841,841,841,841,841,841,841,841,841,841,841,,841,841',
'841,,841,841,,841,841,841,769,769,769,769,769,769,769,769,769,769,769',
',769,769,,,769,769,,841,,,841,,,841,841,,,841,,841,769,,769,841,769',
'769,,769,769,769,769,769,841,769,,,,841,841,841,841,,841,841,841,841',
',,,,841,841,,769,,,,,841,,841,841,841,844,844,844,844,844,844,,,,844',
'844,,,,844,,844,844,844,844,844,844,844,,,,,,844,844,844,844,844,844',
'844,,,844,,,,,,844,844,844,844,844,844,844,844,844,844,844,844,,844',
'844,844,,844,844,,844,844,844,771,771,771,771,771,771,771,771,771,771',
'771,,771,771,,,771,771,,844,,,844,,,844,844,,,844,,844,771,,771,844',
'771,771,,771,771,771,771,771,844,771,,,,844,844,844,844,,844,844,844',
'844,,,,,844,844,,771,,,,,844,,844,844,844,299,299,299,299,299,299,,',
',299,299,,,,299,,299,299,299,299,299,299,299,,,,,,299,299,299,299,299',
'299,299,,,299,,,,,,299,299,299,299,299,299,299,299,299,299,299,299,',
'299,299,299,,299,299,,299,299,299,859,859,859,859,859,859,859,859,859',
'859,859,,859,859,,,859,859,,299,,,299,,,299,299,,,299,,299,859,,859',
'299,859,859,,859,859,859,859,859,299,859,,,,299,299,299,299,,299,299',
'299,299,,,,,299,299,,859,,,,,299,,299,299,299,850,850,850,850,850,850',
',,,850,850,,,,850,,850,850,850,850,850,850,850,,,,,,850,850,850,850',
'850,850,850,,703,850,703,703,703,468,703,850,850,850,850,850,850,850',
'850,850,850,850,850,,850,850,850,,850,850,,850,850,850,832,,832,832',
'832,450,832,468,703,,,468,468,,468,468,,703,,850,,,850,,,850,850,,469',
'850,,850,,,,850,,450,832,,,450,450,,850,,,832,,850,850,850,850,,850',
'850,850,850,,,469,,850,850,469,469,,469,469,,850,,850,850,850,294,294',
'294,294,294,294,,,,294,294,,,,294,,294,294,294,294,294,294,294,,,,,',
'294,294,294,294,294,294,294,,906,294,906,906,906,,906,294,294,294,294',
'294,294,294,294,294,294,294,294,,294,294,294,,294,294,,294,294,294,461',
',,,,,,,906,,,,,,,,461,461,,294,,,294,,,294,294,,,294,,294,461,,461,294',
'461,461,,461,461,,,461,294,461,,,,294,294,294,294,,294,294,294,294,',
',,,294,294,,,,,,,294,,294,294,294,883,883,883,883,883,883,,,,883,883',
',,,883,,883,883,883,883,883,883,883,,,,,,883,883,883,883,883,883,883',
',,883,,,,,,883,883,883,883,883,883,883,883,883,883,883,883,,883,883',
'883,,883,883,,883,883,883,458,458,458,458,458,458,458,,,458,458,,,,',
',458,458,,883,,,883,,,883,883,,,883,,883,458,,458,883,458,458,,458,458',
'458,458,458,883,458,,,,883,883,883,883,,883,883,883,883,,,,,883,883',
',,,,,,883,,883,883,883,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,459,,,,,,,,,,,,,,,,459,459,,33',
',,33,,,33,33,,,33,,33,459,,459,33,459,459,,459,459,,,459,33,459,,,,33',
'33,33,33,,33,33,33,33,,,,,33,33,,,,,,,33,,33,33,33,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,460,,,,,,,,,,,,,,,,460,460,,229',
',,229,,,229,229,,,229,,229,460,,460,229,460,460,,460,460,,,460,229,460',
',,,229,229,229,229,,229,229,229,229,,,,,229,229,,,,,,,229,,229,229,229',
'965,965,965,965,965,965,,,,965,965,,,,965,,965,965,965,965,965,965,965',
',,,,,965,965,965,965,965,965,965,,,965,,,,,,965,965,965,965,965,965',
'965,965,965,965,965,965,,965,965,965,,965,965,,965,965,965,471,471,471',
'471,471,471,471,471,,471,471,,,,,,471,471,,965,,,965,,,965,965,,,965',
',965,471,,471,965,471,471,,471,471,471,471,471,965,471,,,,965,965,965',
'965,,965,965,965,965,,,,,965,965,,,,,,,965,,965,965,965,206,206,206',
'206,206,206,,,,206,206,,,,206,,206,206,206,206,206,206,206,,,,,,206',
'206,206,206,206,206,206,,,206,,,,,,206,206,206,206,206,206,206,206,206',
'206,206,206,,206,206,206,,206,206,,206,206,206,462,,,,,,,,,,,,,,,,462',
'462,,206,,,206,,,206,206,,,206,,206,462,,462,206,462,462,,462,462,,',
'462,206,462,,,,206,206,206,206,,206,206,206,206,,,,,206,206,,,,,,,206',
',206,206,206,121,121,121,121,121,121,,,,121,121,,,,121,,121,121,121',
'121,121,121,121,,,,,,121,121,121,121,121,121,121,,,121,,,,,,121,121',
'121,121,121,121,121,121,121,121,121,121,,121,121,121,,121,121,,121,121',
'121,463,463,463,463,463,463,463,,,463,463,,,,,,463,463,,121,,,121,,',
'121,121,,,121,,121,463,,463,121,463,463,,463,463,463,463,463,121,463',
',,,121,121,121,121,,121,121,121,121,,,,,121,121,,,,,,,121,,121,121,121',
'591,591,591,591,591,591,,,,591,591,,,,591,,591,591,591,591,591,591,591',
',,,,,591,591,591,591,591,591,591,,,591,,,,,,591,591,591,591,591,591',
'591,591,591,591,591,591,,591,591,591,,591,591,,591,591,591,464,464,464',
'464,464,464,464,,,464,464,,,,,,464,464,,591,,,591,,,591,591,,,591,,591',
'464,,464,591,464,464,,464,464,464,464,464,591,464,,,,591,591,591,591',
',591,591,591,591,,,,,591,591,,,,,,,591,,591,591,591,967,967,967,967',
'967,967,,,,967,967,,,,967,,967,967,967,967,967,967,967,,,,,,967,967',
'967,967,967,967,967,,,967,,,,,,967,967,967,967,967,967,967,967,967,967',
'967,967,,967,967,967,,967,967,,967,967,967,465,465,465,465,465,465,465',
',,465,465,,,,,,465,465,,967,,,967,,,967,967,,,967,,967,465,,465,967',
'465,465,,465,465,465,465,465,967,465,,,,967,967,967,967,,967,967,967',
'967,,,,,967,967,,,,,,,967,,967,967,967,569,569,569,569,569,569,,,,569',
'569,,,,569,,569,569,569,569,569,569,569,,,,,,569,569,569,569,569,569',
'569,,,569,,,,,,569,569,569,569,569,569,569,569,569,569,569,569,,569',
'569,569,,569,569,,569,569,569,447,447,447,447,447,447,447,447,447,447',
'447,,447,447,,,447,447,,569,,,569,,,569,569,,,569,,569,447,,447,569',
'447,447,,447,447,447,447,447,569,447,,,,569,569,569,569,,569,569,569',
'569,,,,,569,569,,,,,,,569,,569,569,569,944,944,944,944,944,944,,,,944',
'944,,,,944,,944,944,944,944,944,944,944,,,,,,944,944,944,944,944,944',
'944,,,944,,,,,,944,944,944,944,944,944,944,944,944,944,944,944,,944',
'944,944,,944,944,,944,944,944,466,466,466,466,466,466,466,,,466,466',
',,,,,466,466,,944,,,944,,,944,944,,,944,,944,466,,466,944,466,466,,466',
'466,466,466,466,944,466,,,,944,944,944,944,,944,944,944,944,,,,,944',
'944,,,,,,,944,,944,944,944,959,959,959,959,959,959,,,,959,959,,,,959',
',959,959,959,959,959,959,959,,,,,,959,959,959,959,959,959,959,,,959',
',,,,,959,959,959,959,959,959,959,959,959,959,959,959,,959,959,959,,959',
'959,,959,959,959,467,467,467,467,467,467,467,,,467,467,,,,,,467,467',
',959,,,959,,,959,959,,,959,,959,467,,467,959,467,467,,467,467,467,467',
'467,959,467,,,,959,959,959,959,,959,959,959,959,,,,,959,959,,,,,,,959',
',959,959,959,566,566,566,566,566,566,,,,566,566,,,,566,,566,566,566',
'566,566,566,566,,,,,,566,566,566,566,566,566,566,,,566,,,,,,566,566',
'566,566,566,566,566,566,566,566,566,566,,566,566,566,,566,566,,566,566',
'566,470,470,470,470,470,470,470,,,470,470,,,,,,470,470,,566,,,566,,',
'566,566,,,566,,566,470,,470,566,470,470,,470,470,470,470,470,566,470',
',,,566,566,566,566,,566,566,566,566,,,,,566,566,,,,44,44,44,566,44,566',
'566,566,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,448',
'448,448,448,448,448,448,448,448,448,448,,448,448,,,448,448,,44,,,44',
',,44,44,,,44,,,448,,448,44,448,448,,448,448,448,448,448,44,448,,,,44',
'44,44,44,,44,44,44,44,,,,,44,44,,,,43,43,43,44,43,44,44,44,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,457,,,,,,,,,,,,,,,,457',
'457,,43,,,43,,,43,43,,,43,,,457,,,43,457,457,,457,457,,,,43,,,,,43,43',
'43,43,,43,43,43,43,,,,,43,43,,,,529,529,529,43,529,43,43,43,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,456,,,,,,,,,,,,,,,,456,456,,529,,,529,,,529,529,,,529',
',,456,,456,529,456,456,529,456,456,,,,529,,,,,529,529,529,529,,529,529',
'529,529,,,,,529,529,,,,42,42,42,529,42,529,529,529,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,455,,,,,,,,,,,,,,,,455,455,,42',
',,42,,,42,42,,,42,,,455,,455,42,455,455,,455,455,,,,42,,,,,42,42,42',
'42,,42,42,42,42,,,,,42,42,,,,59,59,59,42,59,42,42,42,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,,,,60,60,60,59,60,59,59,59,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,,,,526,526',
'526,60,526,60,60,60,526,526,,,,526,,526,526,526,526,526,526,526,,,,',
',526,526,526,526,526,526,526,,,526,,,,,,,526,,,526,526,526,526,526,526',
'526,526,526,526,526,526,,526,526,,526,526,526,,,,,,,,,,,,,,,,,,,,526',
',,526,,,526,526,,,526,,526,,,,526,,,526,,,,,,526,,,,,526,526,526,526',
',526,526,526,526,,,,,526,526,,,,63,63,63,526,63,526,526,526,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,63,64,63,63,63,64,64,,,,64,,64,64,64,64,64',
'64,64,,,,,,64,64,64,64,64,64,64,,,64,,,,,,,64,,,64,64,64,64,64,64,64',
'64,,64,64,64,,64,64,,64,64,64,,,,,,,,,,,,,,,,,,,,64,,,64,,,64,64,,,64',
',,,,,64,,,,,,,,,64,,,,,64,64,64,64,,64,64,64,64,,,,,64,64,,,,67,67,67',
'64,67,64,64,64,67,67,,,,67,,67,67,67,67,67,67,67,,,,,,67,67,67,67,67',
'67,67,,,67,,,,,,,67,,,67,67,67,67,67,67,67,67,,67,67,67,,67,67,,67,67',
'67,,,,,,,,,,,,,,,,,,,,67,,,67,,,67,67,,,67,,,,,,67,,,,,,,,,67,,,,,67',
'67,67,67,,67,67,67,67,,,,,67,67,67,,,,,67,67,,67,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,68,69,68,68,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',
'69,70,69,69,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,,,,574,574,574,70,574,70,70,70,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,574,,,,575',
'575,575,574,575,574,574,574,575,575,,,,575,,575,575,575,575,575,575',
'575,,,,,,575,575,575,575,575,575,575,,,575,,,,,,,575,,,575,575,575,575',
'575,575,575,575,575,575,575,575,,575,575,,575,575,575,,,,,,,,,,,,,,',
',,,,,575,,,575,,,575,575,,,575,,575,,575,,575,,,575,,,,,,575,,,,,575',
'575,575,575,,575,575,575,575,,,,,575,575,,,,520,520,520,575,520,575',
'575,575,520,520,,,,520,,520,520,520,520,520,520,520,,,,,,520,520,520',
'520,520,520,520,,,520,,,,,,,520,,,520,520,520,520,520,520,520,520,,520',
'520,520,,520,520,,520,520,520,,,,,,,,,,,,,,,,,,,,520,,,520,,,520,520',
',,520,,,,,,520,,,,,,,,,520,,,,,520,520,520,520,,520,520,520,520,,,,',
'520,520,,,,516,516,516,520,516,520,520,520,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,,,,924,924,924,516,924,516',
'516,516,924,924,,,,924,,924,924,924,924,924,924,924,,,,,,924,924,924',
'924,924,924,924,,,924,,,,,,,924,,,924,924,924,924,924,924,924,924,,924',
'924,924,,924,924,,924,924,924,,,,,,,,,,,,,,,,,,,,924,,,924,,,924,924',
',,924,,,,,,924,,,,,,,,,924,,,,,924,924,924,924,,924,924,924,924,,,,',
'924,924,,,,,,,924,,924,924,924,111,111,111,111,111,,,,111,111,,,,111',
',111,111,111,111,111,111,111,,,,,,111,111,111,111,111,111,111,,,111',
',,,,,111,111,111,111,111,111,111,111,111,111,111,111,,111,111,111,,111',
'111,,111,111,111,,,,,,,,,,,,,,,,,,,,111,,,111,,,111,111,,,111,,111,',
',,111,,,,,,,,,111,,,,,111,111,111,111,,111,111,111,111,,,,,111,111,',
',,,,111,111,,111,111,111,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,116,,,,117,117,117,116,117',
'116,116,116,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,,,,118,118,118,117,118,117,117,117,118,118,,,,118,,118,118',
'118,118,118,118,118,,,,,,118,118,118,118,118,118,118,,,118,,,,,,,118',
',,118,118,118,118,118,118,118,118,,118,118,118,,118,118,,118,118,118',
',,,,,,,,,,,,,,,,,,,118,,,118,,,118,118,,,118,,,,,,118,,,,,,,,,118,,',
',,118,118,118,118,,118,118,118,118,,,,,118,118,,,,119,119,119,118,119',
'118,118,118,119,119,,,,119,,119,119,119,119,119,119,119,,,,,,119,119',
'119,119,119,119,119,,,119,,,,,,,119,,,119,119,119,119,119,119,119,119',
',119,119,119,,119,119,,119,119,119,,,,,,,,,,,,,,,,,,,,119,,,119,,,119',
'119,,,119,,,,,,119,,,,,,,,,119,,,,,119,119,119,119,,119,119,119,119',
',,,,119,119,,,,,,,119,,119,119,119,120,120,120,120,120,,,,120,120,,',
',120,,120,120,120,120,120,120,120,,,,,,120,120,120,120,120,120,120,',
',120,,,,,,120,120,,120,120,120,120,120,120,120,120,120,,120,120,120',
',120,120,,120,120,120,,,,,,,,,,,,,,,,,,,,120,,,120,,,120,120,,,120,',
'120,,,,120,,,,,,,,,120,,,,,120,120,120,120,,120,120,120,120,,,,,120',
'120,,,,515,515,515,120,515,120,120,120,515,515,,,,515,,515,515,515,515',
'515,515,515,,,,,,515,515,515,515,515,515,515,,,515,,,,,,,515,,,515,515',
'515,515,515,515,515,515,,515,515,515,,515,515,,515,515,515,,,,,,,,,',
',,,,,,,,,,515,,,515,,,515,515,,,515,,,,,,515,,,,,,,,,515,,,,,515,515',
'515,515,,515,515,515,515,,,,,515,515,,,,512,512,512,515,512,515,515',
'515,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,,,,506',
'506,506,512,506,512,512,512,506,506,,,,506,,506,506,506,506,506,506',
'506,,,,,,506,506,506,506,506,506,506,,,506,,,,,,,506,,,506,506,506,506',
'506,506,506,506,506,506,506,506,,506,506,,506,506,506,,,,,,,,,,,,,,',
',,,,,506,,,506,,,506,506,,,506,,506,,506,,506,,,506,,,,,,506,,,,,506',
'506,506,506,,506,506,506,506,,,,,506,506,,,,585,585,585,506,585,506',
'506,506,585,585,,,,585,,585,585,585,585,585,585,585,,,,,,585,585,585',
'585,585,585,585,,,585,,,,,,,585,,,585,585,585,585,585,585,585,585,585',
'585,585,585,,585,585,,585,585,585,,,,,,,,,,,,,,,,,,,,585,,,585,,,585',
'585,,,585,,585,,585,,585,,,585,,,,,,585,,,,,585,585,585,585,,585,585',
'585,585,,,,,585,585,,,,207,207,207,585,207,585,585,585,207,207,,,,207',
',207,207,207,207,207,207,207,,,,,,207,207,207,207,207,207,207,,,207',
',,,,,,207,,,207,207,207,207,207,207,207,207,,207,207,207,,207,207,,207',
'207,207,,,,,,,,,,,,,,,,,,,,207,,,207,,,207,207,,,207,,207,,,,207,,,',
',,,,,207,,,,,207,207,207,207,,207,207,207,207,,,,,207,207,,,,208,208',
'208,207,208,207,207,207,208,208,,,,208,,208,208,208,208,208,208,208',
',,,,,208,208,208,208,208,208,208,,,208,,,,,,,208,,,208,208,208,208,208',
'208,208,208,,208,208,208,,208,208,,208,208,208,,,,,,,,,,,,,,,,,,,,208',
',,208,,,208,208,,,208,,,,,,208,,,,,,,,,208,,,,,208,208,208,208,,208',
'208,208,208,,,,,208,208,,,,209,209,209,208,209,208,208,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,209,,,,,209',
'209,,,,504,504,504,209,504,209,209,209,504,504,,,,504,,504,504,504,504',
'504,504,504,,,,,,504,504,504,504,504,504,504,,,504,,,,,,,504,,,504,504',
'504,504,504,504,504,504,,504,504,504,,504,504,,,,504,,,,,,,,,,,,,,,',
',,,,504,,,504,,,504,504,,,504,,900,,900,900,900,900,900,,,,,,,,,,900',
',504,504,504,504,,504,504,504,504,,,,,504,504,,,,,,900,504,,504,504',
'504,5,5,5,5,5,900,900,,5,5,900,,,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,,',
',212,212,212,5,212,5,5,5,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,212,213,212,212,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,',
',,214,214,214,213,214,213,213,213,214,214,,,,214,,214,214,214,214,214',
'214,214,,,,,,214,214,214,214,214,214,214,,,214,,,,,,,214,,,214,214,214',
'214,214,214,214,214,,214,214,214,,214,214,,214,214,214,,,,,,,,,,,,,',
',,,,,,214,,,214,,,214,214,,,214,,,,,,214,,,,,,,,,214,,,,,214,214,214',
'214,,214,214,214,214,,,,,214,214,,,,215,215,215,214,215,214,214,214',
'215,215,,,,215,,215,215,215,215,215,215,215,,,,,,215,215,215,215,215',
'215,215,,,215,,,,,,,215,,,215,215,215,215,215,215,215,215,,215,215,215',
',215,215,,215,215,215,,,,,,,,,,,,,,,,,,,,215,,,215,,,215,215,,,215,',
',,,,215,,,,,,,,,215,,,,,215,215,215,215,,215,215,215,215,,,,,215,215',
',,,35,35,35,215,35,215,215,215,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,,976,,976,976',
'976,976,976,,,,,,,,,,976,,35,35,35,35,,35,35,35,35,,,,,35,35,,,,35,',
'976,35,,35,35,35,217,217,217,,217,976,976,,217,217,976,,,217,,217,217',
'217,217,217,217,217,,,,,,217,217,217,217,217,217,217,,,217,,,,,,,217',
',,217,217,217,217,217,217,217,217,,217,217,217,,217,217,,217,217,217',
',,,,,,,,,,,,,,,,,,,217,,,217,,,217,217,,,217,,,,,,217,,,,,,,,,217,,',
',,217,217,217,217,,217,217,217,217,,,,,217,217,217,,,,,,217,,217,217',
'217,496,496,496,496,496,,,,496,496,,,,496,,496,496,496,496,496,496,496',
',,,,,496,496,496,496,496,496,496,,,496,,,,,,496,496,496,496,496,496',
'496,496,496,496,496,496,,496,496,496,,496,496,,496,496,496,,,,,,,,,',
',,,,,,,,,,496,,,496,,,496,496,,,496,,496,,,,496,,,,,,,,,496,,,,,496',
'496,496,496,,496,496,496,496,,,,,496,496,,,,,,496,496,,496,496,496,490',
'490,490,,490,,,,490,490,,,,490,,490,490,490,490,490,490,490,,,,,,490',
'490,490,490,490,490,490,,,490,,,,,,,490,,,490,490,490,490,490,490,490',
'490,,490,490,490,,490,490,,490,490,490,,,,,,,,,,,,,,,,,,,,490,,,490',
',,490,490,,,490,,,,,,490,,,,,,,,,490,,,,,490,490,490,490,,490,490,490',
'490,,,,,490,490,,,,488,488,488,490,488,490,490,490,488,488,,,,488,,488',
'488,488,488,488,488,488,,,,,,488,488,488,488,488,488,488,,,488,,,,,',
',488,,,488,488,488,488,488,488,488,488,488,488,488,488,,488,488,,488',
'488,488,,,,,,,,,,,,,,,,,,,,488,,,488,,,488,488,,,488,,,,488,,488,,,488',
',,,,,488,,,,,488,488,488,488,,488,488,488,488,,,,,488,488,,,,486,486',
'486,488,486,488,488,488,486,486,,,,486,,486,486,486,486,486,486,486',
',,,,,486,486,486,486,486,486,486,,,486,,,,,,,486,,,486,486,486,486,486',
'486,486,486,486,486,486,486,,486,486,,486,486,486,,,,,,,,,,,,,,,,,,',
',486,,,486,,,486,486,,,486,,486,,486,,486,,,486,,,,,,486,,,,,486,486',
'486,486,,486,486,486,486,,,,,486,486,,,,619,619,619,486,619,486,486',
'486,619,619,,,,619,,619,619,619,619,619,619,619,,,,,,619,619,619,619',
'619,619,619,,,619,,,,,,,619,,,619,619,619,619,619,619,619,619,,619,619',
'619,,619,619,,619,619,619,,,,,,,,,,,,,,,,,,,,619,,,619,,,619,619,,,619',
',619,,,,619,,,,,,,,,619,,,,,619,619,619,619,,619,619,619,619,,,,,619',
'619,,,,620,620,620,619,620,619,619,619,620,620,,,,620,,620,620,620,620',
'620,620,620,,,,,,620,620,620,620,620,620,620,,,620,,,,,,,620,,,620,620',
'620,620,620,620,620,620,,620,620,620,,620,620,,620,620,620,,,,,,,,,',
',,,,,,,,,,620,,,620,,,620,620,,,620,,,,,,620,,,,,,,,,620,,,,,620,620',
'620,620,,620,620,620,620,,,,,620,620,,,,554,554,554,620,554,620,620',
'620,554,554,,,,554,,554,554,554,554,554,554,554,,,,,,554,554,554,554',
'554,554,554,,,554,,,,,,,554,,,554,554,554,554,554,554,554,554,,554,554',
'554,,554,554,,554,554,554,,,,,,,,,,,,,,,,,,,,554,,,554,,,554,554,,,554',
',,,,,554,,,,,,,,,554,,,,,554,554,554,554,,554,554,554,554,,,,,554,554',
',,,228,228,228,554,228,554,554,554,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,,,,34,34,34,228,34,228,228,228,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,,,,887,887,887,34,887,34,34,34,887,887,,,,887,,887,887,887',
'887,887,887,887,,,,,,887,887,887,887,887,887,887,,,887,,,,,,,887,,,887',
'887,887,887,887,887,887,887,,887,887,887,,887,887,,,,887,,,,,,,,,,,',
',,,,,,,,887,,,887,,,887,887,,,887,,,,,,,,,,,,,,,,,,,,887,887,887,887',
',887,887,887,887,,,,,887,887,,,,231,231,231,887,231,887,887,887,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,231,232,231,231,231,232,232,,,,232,,232,232,232,232,232',
'232,232,,,,,,232,232,232,232,232,232,232,,,232,,,,,,,232,,,232,232,232',
'232,232,232,232,232,,232,232,232,,232,232,,232,232,232,,,,,,,,,,,,,',
',,,,,,232,,,232,,,232,232,,,232,,,,,,232,,,,,,,,,232,,,,,232,232,232',
'232,,232,232,232,232,,,,,232,232,,,,233,233,233,232,233,232,232,232',
'233,233,,,,233,,233,233,233,233,233,233,233,,,,,,233,233,233,233,233',
'233,233,,,233,,,,,,,233,,,233,233,233,233,233,233,233,233,,233,233,233',
',233,233,,233,233,233,,,,,,,,,,,,,,,,,,,,233,,,233,,,233,233,,,233,',
',,,,233,,,,,,,,,233,,,,,233,233,233,233,,233,233,233,233,,,,,233,233',
',,,234,234,234,233,234,233,233,233,234,234,,,,234,,234,234,234,234,234',
'234,234,,,,,,234,234,234,234,234,234,234,,,234,,,,,,,234,,,234,234,234',
'234,234,234,234,234,,234,234,234,,234,234,,234,234,234,,,,,,,,,,,,,',
',,,,,,234,,,234,,,234,234,,,234,,,,,,234,,,,,,,,,234,,,,,234,234,234',
'234,,234,234,234,234,,,,,234,234,,,,235,235,235,234,235,234,234,234',
'235,235,,,,235,,235,235,235,235,235,235,235,,,,,,235,235,235,235,235',
'235,235,,,235,,,,,,,235,,,235,235,235,235,235,235,235,235,,235,235,235',
',235,235,,235,235,235,,,,,,,,,,,,,,,,,,,,235,,,235,,,235,235,,,235,',
',,,,235,,,,,,,,,235,,,,,235,235,235,235,,235,235,235,235,,,,,235,235',
',,,236,236,236,235,236,235,235,235,236,236,,,,236,,236,236,236,236,236',
'236,236,,,,,,236,236,236,236,236,236,236,,,236,,,,,,,236,,,236,236,236',
'236,236,236,236,236,,236,236,236,,236,236,,236,236,236,,,,,,,,,,,,,',
',,,,,,236,,,236,,,236,236,,,236,,,,,,236,,,,,,,,,236,,,,,236,236,236',
'236,,236,236,236,236,,,,,236,236,,,,237,237,237,236,237,236,236,236',
'237,237,,,,237,,237,237,237,237,237,237,237,,,,,,237,237,237,237,237',
'237,237,,,237,,,,,,,237,,,237,237,237,237,237,237,237,237,,237,237,237',
',237,237,,237,237,237,,,,,,,,,,,,,,,,,,,,237,,,237,,,237,237,,,237,',
',,,,237,,,,,,,,,237,,,,,237,237,237,237,,237,237,237,237,,,,,237,237',
',,,238,238,238,237,238,237,237,237,238,238,,,,238,,238,238,238,238,238',
'238,238,,,,,,238,238,238,238,238,238,238,,,238,,,,,,,238,,,238,238,238',
'238,238,238,238,238,,238,238,238,,238,238,,238,238,238,,,,,,,,,,,,,',
',,,,,,238,,,238,,,238,238,,,238,,,,,,238,,,,,,,,,238,,,,,238,238,238',
'238,,238,238,238,238,,,,,238,238,,,,239,239,239,238,239,238,238,238',
'239,239,,,,239,,239,239,239,239,239,239,239,,,,,,239,239,239,239,239',
'239,239,,,239,,,,,,,239,,,239,239,239,239,239,239,239,239,,239,239,239',
',239,239,,239,239,239,,,,,,,,,,,,,,,,,,,,239,,,239,,,239,239,,,239,',
',,,,239,,,,,,,,,239,,,,,239,239,239,239,,239,239,239,239,,,,,239,239',
',,,240,240,240,239,240,239,239,239,240,240,,,,240,,240,240,240,240,240',
'240,240,,,,,,240,240,240,240,240,240,240,,,240,,,,,,,240,,,240,240,240',
'240,240,240,240,240,,240,240,240,,240,240,,240,240,240,,,,,,,,,,,,,',
',,,,,,240,,,240,,,240,240,,,240,,,,,,240,,,,,,,,,240,,,,,240,240,240',
'240,,240,240,240,240,,,,,240,240,,,,241,241,241,240,241,240,240,240',
'241,241,,,,241,,241,241,241,241,241,241,241,,,,,,241,241,241,241,241',
'241,241,,,241,,,,,,,241,,,241,241,241,241,241,241,241,241,,241,241,241',
',241,241,,241,241,241,,,,,,,,,,,,,,,,,,,,241,,,241,,,241,241,,,241,',
',,,,241,,,,,,,,,241,,,,,241,241,241,241,,241,241,241,241,,,,,241,241',
',,,242,242,242,241,242,241,241,241,242,242,,,,242,,242,242,242,242,242',
'242,242,,,,,,242,242,242,242,242,242,242,,,242,,,,,,,242,,,242,242,242',
'242,242,242,242,242,,242,242,242,,242,242,,242,242,242,,,,,,,,,,,,,',
',,,,,,242,,,242,,,242,242,,,242,,,,,,242,,,,,,,,,242,,,,,242,242,242',
'242,,242,242,242,242,,,,,242,242,,,,243,243,243,242,243,242,242,242',
'243,243,,,,243,,243,243,243,243,243,243,243,,,,,,243,243,243,243,243',
'243,243,,,243,,,,,,,243,,,243,243,243,243,243,243,243,243,,243,243,243',
',243,243,,243,243,243,,,,,,,,,,,,,,,,,,,,243,,,243,,,243,243,,,243,',
',,,,243,,,,,,,,,243,,,,,243,243,243,243,,243,243,243,243,,,,,243,243',
',,,244,244,244,243,244,243,243,243,244,244,,,,244,,244,244,244,244,244',
'244,244,,,,,,244,244,244,244,244,244,244,,,244,,,,,,,244,,,244,244,244',
'244,244,244,244,244,,244,244,244,,244,244,,244,244,244,,,,,,,,,,,,,',
',,,,,,244,,,244,,,244,244,,,244,,,,,,244,,,,,,,,,244,,,,,244,244,244',
'244,,244,244,244,244,,,,,244,244,,,,245,245,245,244,245,244,244,244',
'245,245,,,,245,,245,245,245,245,245,245,245,,,,,,245,245,245,245,245',
'245,245,,,245,,,,,,,245,,,245,245,245,245,245,245,245,245,,245,245,245',
',245,245,,245,245,245,,,,,,,,,,,,,,,,,,,,245,,,245,,,245,245,,,245,',
',,,,245,,,,,,,,,245,,,,,245,245,245,245,,245,245,245,245,,,,,245,245',
',,,246,246,246,245,246,245,245,245,246,246,,,,246,,246,246,246,246,246',
'246,246,,,,,,246,246,246,246,246,246,246,,,246,,,,,,,246,,,246,246,246',
'246,246,246,246,246,,246,246,246,,246,246,,246,246,246,,,,,,,,,,,,,',
',,,,,,246,,,246,,,246,246,,,246,,,,,,246,,,,,,,,,246,,,,,246,246,246',
'246,,246,246,246,246,,,,,246,246,,,,247,247,247,246,247,246,246,246',
'247,247,,,,247,,247,247,247,247,247,247,247,,,,,,247,247,247,247,247',
'247,247,,,247,,,,,,,247,,,247,247,247,247,247,247,247,247,,247,247,247',
',247,247,,247,247,247,,,,,,,,,,,,,,,,,,,,247,,,247,,,247,247,,,247,',
',,,,247,,,,,,,,,247,,,,,247,247,247,247,,247,247,247,247,,,,,247,247',
',,,248,248,248,247,248,247,247,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,248,249,248,248,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,249,250,249,249,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,250,251,250,250,250',
'251,251,,,,251,,251,251,251,251,251,251,251,,,,,,251,251,251,251,251',
'251,251,,,251,,,,,,,251,,,251,251,251,251,251,251,251,251,,251,251,251',
',251,251,,251,251,251,,,,,,,,,,,,,,,,,,,,251,,,251,,,251,251,,,251,',
',,,,251,,,,,,,,,251,,,,,251,251,251,251,,251,251,251,251,,,,,251,251',
',,,252,252,252,251,252,251,251,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,,,,253,253,253,252,253,252,252,252',
'253,253,,,,253,,253,253,253,253,253,253,253,,,,,,253,253,253,253,253',
'253,253,,,253,,,,,,,253,,,253,253,253,253,253,253,253,253,,253,253,253',
',253,253,,253,253,253,,,,,,,,,,,,,,,,,,,,253,,,253,,,253,253,,,253,',
',,,,253,,,,,,,,,253,,,,,253,253,253,253,,253,253,253,253,,,,,253,253',
',,,254,254,254,253,254,253,253,253,254,254,,,,254,,254,254,254,254,254',
'254,254,,,,,,254,254,254,254,254,254,254,,,254,,,,,,,254,,,254,254,254',
'254,254,254,254,254,,254,254,254,,254,254,,254,254,254,,,,,,,,,,,,,',
',,,,,,254,,,254,,,254,254,,,254,,,,,,254,,,,,,,,,254,,,,,254,254,254',
'254,,254,254,254,254,,,,,254,254,,,,255,255,255,254,255,254,254,254',
'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',
',255,255,,255,255,255,,,,,,,,,,,,,,,,,,,,255,,,255,,,255,255,,,255,',
',,,,255,,,,,,,,,255,,,,,255,255,255,255,,255,255,255,255,,,,,255,255',
',,,472,472,472,255,472,255,255,255,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,,,,623,623,623,472,623,472,472,472',
'623,623,,,,623,,623,623,623,623,623,623,623,,,,,,623,623,623,623,623',
'623,623,,,623,,,,,,,623,,,623,623,623,623,623,623,623,623,623,623,623',
'623,,623,623,,623,623,623,,,,,,,,,,,,,,,,,,,,623,,,623,,,623,623,,,623',
',623,,623,,623,,,623,,,,,,623,,,,,623,623,623,623,,623,623,623,623,',
',,,623,623,,,,263,263,263,623,263,623,623,623,263,263,,,,263,,263,263',
'263,263,263,263,263,,,,,,263,263,263,263,263,263,263,,,263,,,,,,,263',
',,263,263,263,263,263,263,263,263,263,263,263,263,,263,263,,263,263',
'263,,,,,,,,,,,,,,,,,,,,263,,,263,,,263,263,,,263,,263,,263,,263,,,263',
',,,,,263,,,,,263,263,263,263,,263,263,263,263,,,,,263,263,,,,264,264',
'264,263,264,263,263,263,264,264,,,,264,,264,264,264,264,264,264,264',
',,,,,264,264,264,264,264,264,264,,,264,,,,,,,264,,,264,264,264,264,264',
'264,264,264,264,264,264,264,,264,264,,264,264,264,,,,,,,,,,,,,,,,,,',
',264,,,264,,,264,264,,,264,,264,,264,,264,,,264,,,,,,264,,,,,264,264',
'264,264,,264,264,264,264,,,,,264,264,,,,272,272,272,264,272,264,264',
'264,272,272,,,,272,,272,272,272,272,272,272,272,,,,,,272,272,272,272',
'272,272,272,,,272,,,,,,,272,,,272,272,272,272,272,272,272,272,272,272',
'272,272,,272,272,,272,272,272,,,,,,,,,,,,,,,,,,,,272,,,272,,,272,272',
',,272,,272,,272,,272,,,272,,,,,,272,,,,,272,272,272,272,,272,272,272',
'272,,,,,272,272,272,,,624,624,624,272,624,272,272,272,624,624,,,,624',
',624,624,624,624,624,624,624,,,,,,624,624,624,624,624,624,624,,,624',
',,,,,,624,,,624,624,624,624,624,624,624,624,624,624,624,624,,624,624',
',624,624,624,,,,,,,,,,,,,,,,,,,,624,,,624,,,624,624,,,624,,,,624,,624',
',,624,,,,,,624,,,,,624,624,624,624,,624,624,624,624,,,,,624,624,,,,31',
'31,31,624,31,624,624,624,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,,,,875,875,875,31',
'875,31,31,31,875,875,,,,875,,875,875,875,875,875,875,875,,,,,,875,875',
'875,875,875,875,875,,,875,,,,,,,875,,,875,875,875,875,875,875,875,875',
',875,875,875,,875,875,,,,875,,,,,,,,,,,,,,,,,,,,875,,,875,,,875,875',
',,875,,,,,,,,,,,,,,,,,,,,875,875,875,875,,875,875,875,875,,,,,875,875',
',,,279,279,279,875,279,875,875,875,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,,,,625,625,625,279,625,279,279,279',
'625,625,,,,625,,625,625,625,625,625,625,625,,,,,,625,625,625,625,625',
'625,625,,,625,,,,,,,625,,,625,625,625,625,625,625,625,625,,625,625,625',
',625,625,,625,625,625,,,,,,,,,,,,,,,,,,,,625,,,625,,,625,625,,,625,',
',,,,625,,,,,,,,,625,,,,,625,625,625,625,,625,625,625,625,,,,,625,625',
',,,281,281,281,625,281,625,625,625,281,281,,,,281,,281,281,281,281,281',
'281,281,,,,,,281,281,281,281,281,281,281,,,281,,,,,,,281,,,281,281,281',
'281,281,281,281,281,,281,281,281,,281,281,,281,281,281,,,,,,,,,,,,,',
',,,,,,281,,,281,,,281,281,,,281,,,,,,281,,,,,,,,,281,,,,,281,281,281',
'281,,281,281,281,281,,,,,281,281,,,,284,284,284,281,284,281,281,281',
'284,284,,,,284,,284,284,284,284,284,284,284,,,,,,284,284,284,284,284',
'284,284,,,284,,,,,,,284,,,284,284,284,284,284,284,284,284,,284,284,284',
',284,284,,284,284,284,,,,,,,,,,,,,,,,,,,,284,,,284,,,284,284,,,284,',
',,,,284,,,,,,,,,284,,,,,284,284,284,284,,284,284,284,284,,,,,284,284',
',,,285,285,285,284,285,284,284,284,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,,,,626,626,626,285,626,285,285,285',
'626,626,,,,626,,626,626,626,626,626,626,626,,,,,,626,626,626,626,626',
'626,626,,,626,,,,,,,626,,,626,626,626,626,626,626,626,626,,626,626,626',
',626,626,,626,626,626,,,,,,,,,,,,,,,,,,,,626,,,626,,,626,626,,,626,',
',,,,626,,,,,,,,,626,,,,,626,626,626,626,,626,626,626,626,,,,,626,626',
',,,,,,626,,626,626,626,290,290,290,290,290,,,,290,290,,,,290,,290,290',
'290,290,290,290,290,,,,,,290,290,290,290,290,290,290,,,290,,,,,,290',
'290,,290,290,290,290,290,290,290,290,290,,290,290,290,,290,290,,290',
'290,290,,,,,,,,,,,,,,,,,,,,290,,,290,,,290,290,,,290,,290,,,,290,,,',
',,,,,290,,,,,290,290,290,290,,290,290,290,290,,,,,290,290,,,,630,630',
'630,290,630,290,290,290,630,630,,,,630,,630,630,630,630,630,630,630',
',,,,,630,630,630,630,630,630,630,,,630,,,,,,,630,,,630,630,630,630,630',
'630,630,630,,630,630,630,,630,630,,630,630,630,,,,,,,,,,,,,,,,,,,,630',
',,630,,,630,630,,,630,,,,,,630,,,,,,,,,630,,,,,630,630,630,630,,630',
'630,630,630,,,,,630,630,,,,861,861,861,630,861,630,630,630,861,861,',
',,861,,861,861,861,861,861,861,861,,,,,,861,861,861,861,861,861,861',
',,861,,,,,,,861,,,861,861,861,861,861,861,861,861,,861,861,861,,861',
'861,,861,861,861,,,,,,,,,,,,,,,,,,,,861,,,861,,,861,861,,,861,,,,,,861',
',,,,,,,,861,,,,,861,861,861,861,,861,861,861,861,,,,,861,861,,,,860',
'860,860,861,860,861,861,861,860,860,,,,860,,860,860,860,860,860,860',
'860,,,,,,860,860,860,860,860,860,860,,,860,,,,,,,860,,,860,860,860,860',
'860,860,860,860,860,860,860,860,,860,860,,860,860,860,,,,,,,,,,,,,,',
',,,,,860,,,860,,,860,860,,,860,,,,860,,860,,,860,,,,,,860,,,,,860,860',
'860,860,,860,860,860,860,,,,,860,860,,,,30,30,30,860,30,860,860,860',
'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,,,,631,631,631,30,631,30,30,30,631,631',
',,,631,,631,631,631,631,631,631,631,,,,,,631,631,631,631,631,631,631',
',,631,,,,,,,631,,,631,631,631,631,631,631,631,631,,631,631,631,,631',
'631,,631,631,631,,,,,,,,,,,,,,,,,,,,631,,,631,,,631,631,,,631,,,,,,631',
',,,,,,,,631,,,,,631,631,631,631,,631,631,631,631,,,,,631,631,,,,29,29',
'29,631,29,631,631,631,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,,,,634,634,634,29,634',
'29,29,29,634,634,,,,634,,634,634,634,634,634,634,634,,,,,,634,634,634',
'634,634,634,634,,,634,,,,,,,634,,,634,634,634,634,634,634,634,634,,634',
'634,634,,634,634,,634,634,634,,,,,,,,,,,,,,,,,,,,634,,,634,,,634,634',
',,634,,,,,,634,,,,,,,,,634,,,,,634,634,634,634,,634,634,634,634,,,,',
'634,634,,,,298,298,298,634,298,634,634,634,298,298,,,,298,,298,298,298',
'298,298,298,298,,,,,,298,298,298,298,298,298,298,,,298,,,,,,,298,,,298',
'298,298,298,298,298,298,298,,298,298,298,,298,298,,,,298,,,,,,,,,,,',
',,,,,,,,298,,,298,,,298,298,,,298,,699,,699,699,699,699,699,,,,,,,,',
',699,,298,298,298,298,,298,298,298,298,,,,,298,298,,,,298,,699,298,',
'298,298,298,635,635,635,,635,699,699,,635,635,699,,,635,,635,635,635',
'635,635,635,635,,,,,,635,635,635,635,635,635,635,,,635,,,,,,,635,,,635',
'635,635,635,635,635,635,635,,635,635,635,,635,635,,635,635,635,,,,,',
',,,,,,,,,,,,,,635,,,635,,,635,635,,,635,,,,,,635,,,,,,,,,635,,,,,635',
'635,635,635,,635,635,635,635,,,,,635,635,,,,659,659,659,635,659,635',
'635,635,659,659,,,,659,,659,659,659,659,659,659,659,,,,,,659,659,659',
'659,659,659,659,,,659,,,,,,,659,,,659,659,659,659,659,659,659,659,,659',
'659,659,,659,659,,659,659,659,,,,,,,,,,,,,,,,,,,,659,,,659,,,659,659',
',,659,,,,,,659,,,,,,,,,659,,,,,659,659,659,659,,659,659,659,659,,,,',
'659,659,,,,662,662,662,659,662,659,659,659,662,662,,,,662,,662,662,662',
'662,662,662,662,,,,,,662,662,662,662,662,662,662,,,662,,,,,,,662,,,662',
'662,662,662,662,662,662,662,,662,662,662,,662,662,,662,662,662,,,,,',
',,,,,,,,,,,,,,662,,,662,,,662,662,,,662,,,,,,662,,,,,,,,,662,,,,,662',
'662,662,662,,662,662,662,662,,,,,662,662,,,,843,843,843,662,843,662',
'662,662,843,843,,,,843,,843,843,843,843,843,843,843,,,,,,843,843,843',
'843,843,843,843,,,843,,,,,,,843,,,843,843,843,843,843,843,843,843,,843',
'843,843,,843,843,,843,843,843,,,,,,,,,,,,,,,,,,,,843,,,843,,,843,843',
',,843,,843,,,,843,,,,,,,,,843,,,,,843,843,843,843,,843,843,843,843,',
',,,843,843,,,,666,666,666,843,666,843,843,843,666,666,,,,666,,666,666',
'666,666,666,666,666,,,,,,666,666,666,666,666,666,666,,,666,,,,,,,666',
',,666,666,666,666,666,666,666,666,,666,666,666,,666,666,,,,666,,,,,',
',,,,,,,,,,,,,,666,,,666,,,666,666,,,666,,,,,,,,,,,,,,,,,,,,666,666,666',
'666,,666,666,666,666,,,,,666,666,,,,341,341,341,666,341,666,666,666',
'341,341,,,,341,,341,341,341,341,341,341,341,,,,,,341,341,341,341,341',
'341,341,,,341,,,,,,,341,,,341,341,341,341,341,341,341,341,,341,341,341',
',341,341,,341,341,341,,,,,,,,,,,,,,,,,,,,341,,,341,,,341,341,,,341,',
',,,,341,,,,,,,,,341,,,,,341,341,341,341,,341,341,341,341,,,,,341,341',
',,,838,838,838,341,838,341,341,341,838,838,,,,838,,838,838,838,838,838',
'838,838,,,,,,838,838,838,838,838,838,838,,,838,,,,,,,838,,,838,838,838',
'838,838,838,838,838,,838,838,838,,838,838,,838,838,838,,,,,,,,,,,,,',
',,,,,,838,,,838,,,838,838,,,838,,,,,,838,,,,,,,,,838,,,,,838,838,838',
'838,,838,838,838,838,,,,,838,838,,,,446,446,446,838,446,838,838,838',
'446,446,,,,446,,446,446,446,446,446,446,446,,,,,,446,446,446,446,446',
'446,446,,,446,,,,,,,446,,,446,446,446,446,446,446,446,446,,446,446,446',
',446,446,,446,446,446,,,,,,,,,,,,,,,,,,,,446,,,446,,,446,446,,,446,',
',,,,446,,,,,,,,,446,,,,,446,446,446,446,,446,446,446,446,,,,,446,446',
',,,445,445,445,446,445,446,446,446,445,445,,,,445,,445,445,445,445,445',
'445,445,,,,,,445,445,445,445,445,445,445,,,445,,,,,,,445,,,445,445,445',
'445,445,445,445,445,,445,445,445,,445,445,,445,445,445,,,,,,,,,,,,,',
',,,,,,445,,,445,,,445,445,,,445,,,,,,445,,,,,,,,,445,,,,,445,445,445',
'445,,445,445,445,445,,,,,445,445,,,,444,444,444,445,444,445,445,445',
'444,444,,,,444,,444,444,444,444,444,444,444,,,,,,444,444,444,444,444',
'444,444,,,444,,,,,,,444,,,444,444,444,444,444,444,444,444,,444,444,444',
',444,444,,444,444,444,,,,,,,,,,,,,,,,,,,,444,,,444,,,444,444,,,444,',
',,,,444,,,,,,,,,444,,,,,444,444,444,444,,444,444,444,444,,,,,444,444',
',,,442,442,442,444,442,444,444,444,442,442,,,,442,,442,442,442,442,442',
'442,442,,,,,,442,442,442,442,442,442,442,,,442,,,,,,,442,,,442,442,442',
'442,442,442,442,442,442,442,442,442,,442,442,,442,442,442,,,,,,,,,,',
',,,,,,,,,442,,,442,,,442,442,,,442,,442,,442,,442,,,442,,,,,,442,,,',
',442,442,442,442,,442,442,442,442,,,,,442,442,,,,677,677,677,442,677',
'442,442,442,677,677,,,,677,,677,677,677,677,677,677,677,,,,,,677,677',
'677,677,677,677,677,,,677,,,,,,,677,,,677,677,677,677,677,677,677,677',
',677,677,677,,677,677,,,,677,,,,,,,,,,,,,,,,,,,,677,,,677,,,677,677',
',,677,,,,,,,,,,,,,,,,,,,,677,677,677,677,,677,677,677,677,,,,,677,677',
',,,315,315,315,677,315,677,677,677,315,315,,,,315,,315,315,315,315,315',
'315,315,,,,,,315,315,315,315,315,315,315,,,315,,,,,,,315,,,315,315,315',
'315,315,315,315,315,,315,315,315,,315,315,,,,315,,,,,,,,,,,,,,,,,,,',
'315,,,315,,,315,315,,,315,,,,,,,,,,,,,,,,,,,,315,315,315,315,,315,315',
'315,315,,,,,315,315,,,,682,682,682,315,682,315,315,315,682,682,,,,682',
',682,682,682,682,682,682,682,,,,,,682,682,682,682,682,682,682,,,682',
',,,,,,682,,,682,682,682,682,682,682,682,682,,682,682,682,,682,682,,682',
'682,682,,,,,,,,,,,,,,,,,,,,682,,,682,,,682,682,,,682,,682,,,,682,,,',
',,,,,682,,,,,682,682,682,682,,682,682,682,682,,,,,682,682,,,,789,789',
'789,682,789,682,682,682,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,,,,404,404,404,789,404,789,789,789,404,404,,,,404,,404,404',
'404,404,404,404,404,,,,,,404,404,404,404,404,404,404,,,404,,,,,,,404',
',,404,404,404,404,404,404,404,404,,404,404,404,,404,404,,404,404,404',
',,,,,,,,,,,,,,,,,,,404,,,404,,,404,404,,,404,,,,,,404,,,,,,,,,404,,',
',,404,404,404,404,,404,404,404,404,,,,,404,404,,,,775,775,775,404,775',
'404,404,404,775,775,,,,775,,775,775,775,775,775,775,775,,,,,,775,775',
'775,775,775,775,775,,,775,,,,,,,775,,,775,775,775,775,775,775,775,775',
',775,775,775,,775,775,,775,775,775,,,,,,,,,,,,,,,,,,,,775,,,775,,,775',
'775,,,775,,,,,,775,,,,,,,,,775,,,,,775,775,775,775,,775,775,775,775',
',,,,775,775,,,,323,323,323,775,323,775,775,775,323,323,,,,323,,323,323',
'323,323,323,323,323,,,,,,323,323,323,323,323,323,323,,,323,,,,,,,323',
',,323,323,323,323,323,323,323,323,,323,323,323,,323,323,,323,323,323',
',,,,,,,,,,,,,,,,,,,323,,,323,323,,323,323,,,323,,,,,,323,,,,,,,,,323',
',,,,323,323,323,323,,323,323,323,323,,,,,323,323,,,,20,20,20,323,20',
'323,323,323,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,,,,325,325,325,20,325,20,20,20,325,325',
',,,325,,325,325,325,325,325,325,325,,,,,,325,325,325,325,325,325,325',
',,325,,,,,,,325,,,325,325,325,325,325,325,325,325,,325,325,325,,325',
'325,,325,325,325,,,,,,,,,,,,,,,,,,,,325,,,325,,,325,325,,,325,,,,,,325',
',,,,,,,,325,,,,,325,325,325,325,,325,325,325,325,,,,,325,325,,,,774',
'774,774,325,774,325,325,325,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,,,,773,773,773,774,773,774,774,774,773',
'773,,,,773,,773,773,773,773,773,773,773,,,,,,773,773,773,773,773,773',
'773,,,773,,,,,,,773,,,773,773,773,773,773,773,773,773,,773,773,773,',
'773,773,,773,773,773,,,,,,,,,,,,,,,,,,,,773,,,773,,,773,773,,,773,,',
',,,773,,,,,,,,,773,,,,,773,773,773,773,,773,773,773,773,,,,,773,773',
',,,772,772,772,773,772,773,773,773,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,,,,701,701,701,772,701,772,772,772',
'701,701,,,,701,,701,701,701,701,701,701,701,,,,,,701,701,701,701,701',
'701,701,,,701,,,,,,,701,,,701,701,701,701,701,701,701,701,,701,701,701',
',701,701,,701,701,701,,,,,,,,,,,,,,,,,,,,701,,,701,,,701,701,,,701,',
',,,,701,,,,,,,,,701,,,,,701,701,701,701,,701,701,701,701,,,,,701,701',
',,,376,376,376,701,376,701,701,701,376,376,,,,376,,376,376,376,376,376',
'376,376,,,,,,376,376,376,376,376,376,376,,,376,,,,,,,376,,,376,376,376',
'376,376,376,376,376,,376,376,376,,376,376,,376,376,376,,,,,,,,,,,,,',
',,,,,,376,,,376,,,376,376,,,376,,,,,,376,,,,,,,,,376,,,,,376,376,376',
'376,,376,376,376,376,,,,,376,376,,,,727,727,727,376,727,376,376,376',
'727,727,,,,727,,727,727,727,727,727,727,727,,,,,,727,727,727,727,727',
'727,727,,,727,,,,,,,727,,,727,727,727,727,727,727,727,727,,727,727,727',
',727,727,,727,727,727,,,,,,,,,,,,,,,,,,,,727,,,727,,,727,727,,,727,',
',,,,727,,,,,,,,,727,,,,,727,727,727,727,,727,727,727,727,,,,,727,727',
',,,984,984,984,727,984,727,727,727,984,984,,,,984,,984,984,984,984,984',
'984,984,,,,,,984,984,984,984,984,984,984,,,984,,,,,,,984,,,984,984,984',
'984,984,984,984,984,984,984,984,984,,984,984,,984,984,984,,,,,,,,,,',
',,,,,,,,,984,,,984,,,984,984,,,984,,984,,984,,984,,,984,,,,,,984,,,',
',984,984,984,984,,984,984,984,984,,,,,984,984,,,,733,733,733,984,733',
'984,984,984,733,733,,,,733,,733,733,733,733,733,733,733,,,,,,733,733',
'733,733,733,733,733,,,733,,,,,,,733,,,733,733,733,733,733,733,733,733',
',733,733,733,,733,733,,733,733,733,,,,,,,,,,,,,,,,,,,,733,,,733,,,733',
'733,,,733,,,,,,733,,,,,,,,,733,,,,,733,733,733,733,,733,733,733,733',
',,,,733,733,,,,360,360,360,733,360,733,733,733,360,360,,,,360,,360,360',
'360,360,360,360,360,,,,,,360,360,360,360,360,360,360,,,360,,,,,,,360',
',,360,360,360,360,360,360,360,360,,360,360,360,,360,360,,360,360,360',
',,,,,,,,,,,,,,,,,,,360,,,360,,,360,360,,,360,,,,,,360,,,,,,,,,360,,',
',,360,360,360,360,,360,360,360,360,,,,,360,360,,,,756,756,756,360,756',
'360,360,360,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,,,,758,758,758,756,758,756,756,756,758,758,,,,758,,758,758',
'758,758,758,758,758,,,,,,758,758,758,758,758,758,758,,,758,,,,,,,758',
',,758,758,758,758,758,758,758,758,,758,758,758,,758,758,,758,758,758',
',,,,,,,,,,,,,,,,,,,758,,,758,,,758,758,,,758,,,,,,758,,,,,,,,,758,,',
',,758,758,758,758,,758,758,758,758,,,,,758,758,,,,340,340,340,758,340',
'758,758,758,340,340,,,,340,,340,340,340,340,340,340,340,,,,,,340,340',
'340,340,340,340,340,,,340,,,,,,,340,,,340,340,340,340,340,340,340,340',
',340,340,340,,340,340,,340,340,340,,,,,,,,,,,,,,,,,,,,340,,,340,,,340',
'340,,,340,,,,,,340,,,,,,,,,340,,,,,340,340,340,340,,340,340,340,340',
',,,,340,340,,,,216,216,216,340,216,340,340,340,216,216,,,,216,,216,216',
'216,216,216,216,216,,,,,,216,216,216,216,216,216,216,,,216,,,,,,,216',
',,216,216,216,216,216,216,216,216,,216,216,216,,216,216,,216,216,216',
',,,,,,,,,,,,,,,,,,,216,,,216,,,216,216,,,216,,,,,,216,,,,,,,,,216,,',
',,216,216,216,216,,216,216,216,216,,,,,216,216,,,,,425,,216,,216,216',
'216,425,425,425,,,425,425,425,,425,,,,,,,,,425,425,425,425,,,,,,,,425',
'425,,425,425,425,425,425,,,,,,,,,,,,,,,,,,,,,,,,425,425,425,425,425',
'425,425,425,425,425,425,425,425,425,,,425,425,425,,,425,,,425,,,425',
'425,,425,,425,,425,,425,425,,425,425,425,425,425,,425,425,425,,,,,,',
',,,,,,,425,,,425,425,425,425,56,425,,425,,,,56,56,56,,,56,56,56,,56',
',,,,,,,,,56,56,56,,,,,,,,56,56,,56,56,56,56,56,,,,,,,,,,,,,,,,,,,,,',
',,56,56,56,56,56,56,56,56,56,56,56,56,56,56,,,56,56,56,,,56,,,56,,,56',
'56,,56,,56,,56,,56,56,,56,56,56,56,56,,56,,56,,,,,,,,,,,,,,56,,,56,56',
'56,56,424,56,,56,,,,424,424,424,,,424,424,424,,424,,,,,,,,,424,424,424',
'424,,,,,,,,424,424,,424,424,424,424,424,,,,,,,,,,,,,,,,,,,,,,,,424,424',
'424,424,424,424,424,424,424,424,424,424,424,424,,,424,424,424,,,424',
',,424,,,424,424,,424,,424,,424,,424,424,,424,424,424,424,424,,424,424',
'424,,,,,,,,,,,,,,424,,,424,424,424,424,415,424,,424,,,,415,415,415,',
',415,415,415,,415,,,,,,,,,415,415,415,,,,,,,,,415,415,,415,415,415,415',
'415,,,,,,,,,,,,,,,,,,,,,,,,415,415,415,415,415,415,415,415,415,415,415',
'415,415,415,,,415,415,415,,,415,,415,415,,,415,415,,415,,415,,415,,415',
'415,,415,415,415,415,415,,415,415,415,,,,,,,,,,,,,,415,,474,415,415',
',415,,415,474,474,474,,,474,474,474,646,474,646,646,646,646,646,,,,474',
'474,,,,,646,,,,,474,474,,474,474,474,474,474,,,,,,,,,,646,,,,,,,,,646',
'646,646,646,,,,646,,,,,,,,,474,,27,,,,,474,,27,27,27,474,474,27,27,27',
'646,27,,,,,,,,,27,27,27,,,,,,474,474,,27,27,,27,27,27,27,27,,,,,474',
',,474,,,,,474,,,,,,,,,,,27,27,27,27,27,27,27,27,27,27,27,27,27,27,,',
'27,27,27,,,27,,27,27,,,27,27,,27,,27,,27,,27,27,,27,27,27,27,27,28,27',
'27,27,,,,28,28,28,,,28,28,28,,28,27,,,27,27,,27,,27,28,28,,,,,,,,,28',
'28,,28,28,28,28,28,,,,,,,,,,,,,,,,,,,,,,,,28,28,28,28,28,28,28,28,28',
'28,28,28,28,28,,,28,28,28,,,28,,28,28,,,28,28,,28,,28,,28,,28,28,,28',
'28,28,28,28,,28,,28,,,,,,,,,,,,,,28,,,28,28,,28,,28,616,616,616,616',
'616,616,616,616,616,616,616,616,616,616,616,616,616,616,616,616,616',
'616,616,616,,,,616,616,616,616,616,616,616,616,616,616,,,,,,616,616',
'616,616,616,616,616,616,616,,,616,,,,,,,,,616,616,,616,616,616,616,616',
'616,616,,,616,616,,,,616,616,616,616,,,,,,,,,,,,,,616,616,,616,616,616',
'616,616,616,616,616,616,616,616,616,,,616,616,,,,,,,,,,,,,,616,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,395,395',
'395,395,395,395,395,395,395,395,395,395,395,395,395,395,395,395,395',
'395,395,395,395,395,,,,395,395,395,395,395,395,395,395,395,395,,,,,',
'395,395,395,395,395,395,395,395,395,,,395,,,,,,,,,395,395,,395,395,395',
'395,395,395,395,,,395,395,,,,395,395,395,395,,,,,,,,,,,,,,395,395,,395',
'395,395,395,395,395,395,395,395,395,395,395,,,395,395,,,,,,,,,,,,,,395',
'8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,,,,8,8,8,8,8,8,8,8,8',
'8,,,,,,8,8,8,8,8,8,8,8,8,8,,8,,,,,,,,,8,8,,8,8,8,8,8,8,8,,,8,8,,,,8',
'8,8,8,,,,,,,,,,,,,,8,8,,8,8,8,8,8,8,8,8,8,8,8,8,,,8,8,,,,,,,,,,,,,,8',
'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,740,740',
'740,740,740,740,740,740,740,740,740,740,740,740,740,740,740,740,740',
'740,740,740,740,740,,,,740,740,740,740,740,740,740,740,740,740,,,,,',
'740,740,740,740,740,740,740,740,740,,,740,,,,,,,,,740,740,,740,740,740',
'740,740,740,740,,,740,740,,,,740,740,740,740,,,,,,,,,,,,,,740,740,,740',
'740,740,740,740,740,740,740,740,740,740,740,940,940,740,,940,,,,,,,',
',940,940,,940,940,940,940,940,940,940,,,940,940,,,,940,940,940,940,',
',,,,940,,,,,,,,940,940,,940,940,940,940,940,940,940,940,940,940,940',
'940,584,584,940,,584,,,,,,,,,584,584,,584,584,584,584,584,584,584,,',
'584,584,,,,584,584,584,584,,,,,,584,,,,,,,,584,584,,584,584,584,584',
'584,584,584,584,584,584,584,584,508,508,584,,508,,,,,,,,,508,508,,508',
'508,508,508,508,508,508,,,508,508,,,,508,508,508,508,,,,,,508,,,,,,',
',508,508,,508,508,508,508,508,508,508,508,508,508,508,508,583,583,508',
',583,,,,,,,,,583,583,,583,583,583,583,583,583,583,,,583,583,,,,583,583',
'583,583,,,,,,583,,,,,,,,583,583,,583,583,583,583,583,583,583,583,583',
'583,583,583,517,517,583,,517,,,,,,,,,517,517,,517,517,517,517,517,517',
'517,,,517,517,,,,517,517,517,517,,,,,,517,,,,,,,,517,517,,517,517,517',
'517,517,517,517,517,517,517,517,517,259,259,517,,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,985,985',
'259,,985,,,,,,,,,985,985,,985,985,985,985,985,985,985,,,985,985,,,,985',
'985,985,985,,,,,,985,,,,,,,,985,985,,985,985,985,985,985,985,985,985',
'985,985,985,985,986,986,985,,986,,,,,,,,,986,986,,986,986,986,986,986',
'986,986,,,986,986,,,,986,986,986,986,,,,,,986,,,,,,,,986,986,,986,986',
'986,986,986,986,986,986,986,986,986,986,518,518,986,,518,,,,,,,,,518',
'518,,518,518,518,518,518,518,518,,,518,518,,,,518,518,518,518,,,,,,518',
',,,,,,,518,518,,518,518,518,518,518,518,518,518,518,518,518,518,210',
'210,518,,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,577,577,210,,577,,,,,,,,,577,577,,577,577,577',
'577,577,577,577,,,577,577,,,,577,577,577,577,,,,,,577,,,,,,,,577,577',
',577,577,577,577,577,577,577,577,577,577,577,577,576,576,577,,576,,',
',,,,,,576,576,,576,576,576,576,576,576,576,,,576,576,,,,576,576,576',
'576,,,,,,576,,,,,,,,576,576,,576,576,576,576,576,576,576,576,576,576',
'576,576,440,440,576,,440,,,,,,,,,440,440,,440,440,440,440,440,440,440',
',,440,440,,,,440,440,440,440,,,,,,440,,,,,,,,440,440,,440,440,440,440',
'440,440,440,440,440,440,440,440,441,441,440,,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,211,211,441',
',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,507,507,211,,507,,,,,,,,,507,507,,507,507,507,507,507,507',
'507,,,507,507,,,,507,507,507,507,,,,,,507,,,,,,,,507,507,,507,507,507',
'507,507,507,507,507,507,507,507,507,,868,507,868,868,868,868,868,,866',
',866,866,866,866,866,,868,,,,,,,738,866,738,738,738,738,738,,,,,,,,',
'868,738,,,,,,,866,868,868,868,868,,,,868,866,866,866,866,,,738,866,336',
',336,336,336,336,336,738,738,738,738,,,,738,970,336,970,970,970,970',
'970,,,,,,,,,972,970,972,972,972,972,972,,336,336,,,,,,,972,336,336,336',
'336,,,970,336,870,,870,870,870,870,870,970,970,970,970,,,972,970,697',
'870,697,697,697,697,697,,,972,972,,,,972,988,697,988,988,988,988,988',
',870,739,,739,739,739,739,739,988,,,870,870,,,697,870,739,,,,,,,697',
'697,697,697,,,988,697,,,,,,,,739,,988,988,,,,988,,739,739,739,739,,',
'896,739,896,896,896,896,896,,534,,534,534,534,534,534,898,896,898,898',
'898,898,898,,1014,534,1014,1014,1014,1014,1014,,898,,,,,,,896,1014,',
',,,,,534,,,896,896,,,898,896,534,534,534,534,,,1014,534,,898,898,,,',
'898,,,1014,1014,,,974,1014,974,974,974,974,974,,695,,695,695,695,695',
'695,,974,,,,,,,894,695,894,894,894,894,894,,,,,,,,,974,894,,,,,,,695',
',,974,974,,,,974,695,695,695,695,,,894,695,,,,,,,,894,894,894,894,,',
',894' ]
        racc_action_check = arr = ::Array.new(25294, 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 = [
  1151,  1348,   nil,   443,   nil,  9354,  1433,  1203, 23581, 23323,
  1193,   nil,  1134,  1179,  1223,   -38,  1121,    -3,   nil,   -75,
 20350,  2279,  1206,   nil,   451,   nil,   260, 22948, 23059, 17570,
 17306, 15714,   nil,  3548, 11358, 10014,   nil,  1077,   489,   -77,
  1152,   191,  5486,  5222,  5090,  1062,  1013,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil, 22468,   nil,   -73,  5618,
  5750,    75,   nil,  6014,  6146,   nil,   nil,  6278,  6418,  6550,
  6682, 23710,   nil,   nil,   nil,   nil,   nil,   270,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   137,   nil,   nil,   250,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,  1101,
   nil,  7482,   nil,   nil,   nil,   nil,  7622,  7754,  7886,  8018,
  8158,  4112,   nil,   556,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   915,   nil,  3971,  8818,  8950,  9082,
 24444, 24754,  9486,  9618,  9750,  9882, 22198, 10154,   nil,   nil,
   800,   -83,   173,   -49,   222,   895,   950,   nil, 11226,  3689,
   946, 11622, 11754, 11886, 12018, 12150, 12282, 12414, 12546, 12678,
 12810, 12942, 13074, 13206, 13338, 13470, 13602, 13734, 13866, 13998,
 14130, 14262, 14394, 14526, 14658, 14790,   nil,   nil,   nil, 24196,
   nil,   nil,   937, 15186, 15318,   nil,   nil,   nil,   nil,   nil,
   nil,   nil, 15450,   nil,  2420,   nil,   890,   883,   nil, 15978,
   915, 16242,   nil,   nil, 16374, 16506,   nil,   nil,   360,   nil,
 16778,  1574,   882,   851,  3266,   853,   869,   798, 17834,  2984,
  1295,  1154,  1151,   855,  1082,   nil,   816,   712,   194,   nil,
   nil,   nil,   751,    57,   657, 19558,   nil,   323,   717,   941,
   nil,   608,   nil, 20218,  2138, 20482,   540,   nil,   396,   148,
   544,   521,   283,   532,   nil,   nil, 24942,    27,    39,    50,
 22066, 18634,   287,   550,   404,     5,   -19,  1334,   406,    14,
   423,   nil,   nil,   330,   258,    10,   nil,  1193,   nil,    16,
 21670,   nil,   nil,   nil,   176,   307,   589,   552,   518,   416,
   427,   551,   170,   nil,   657,   nil, 21142,   nil,   179,   393,
   399,   353,   359,   -16,    42,   396,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   -61, 23452,   nil,   nil,   nil,   nil,
   104,   nil,   nil,    95, 19954,   133,   nil,   nil,   869,   164,
   nil,   163,   179,   329,   364, 22738,   nil,   nil,   nil,   361,
   474,   273,   nil,   nil, 22603, 22333,   nil,  1997,   nil,   253,
   nil,   nil,   728,   nil,   nil,   nil,   nil,   157,   nil,   409,
 24630, 24692, 19294,   307, 19162, 19030, 18898,  4535,  5090,   623,
  3130,   828,   830,   858,   862,  5486,  5354,  5222,  3407,  3548,
  3689,  3266,  3971,  4112,  4253,  4394,  4676,  4817,  3100,  3153,
  4958,  3830, 14922,   315, 22868,   nil,   nil,   nil,   nil,   876,
   nil,   162,   -55,   921,   nil,   nil, 10698,   nil, 10566,   nil,
 10434,   nil,   280,   nil,   nil,   nil, 10294,  1559,  1292,  1004,
  1004,   nil,   nil,  1007,  9214,  1012,  8554, 24816, 24010,   911,
  1054,   nil,  8422,  1011,   nil,  8290,  7210, 24134, 24382,  1151,
  7078,  1151,  1168,   718,  1088,   nil,  5882,   nil,   nil,  5354,
   nil,   nil,   nil,    -9, 25097,   nil,  1104,  1107,   nil,  1108,
  1142,  1185,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
  1191,   589,   nil,   nil, 11094,   nil,   nil,   nil,  1267,   nil,
   nil,   nil,  1233,   nil,   nil,  1228,  4958,  1253,   nil,  4535,
    56,    24,  1198,  1178,  6814,  6946, 24568, 24506,     7,   nil,
   nil,   728,   nil, 24072, 23948,  8686,   nil,   nil,   nil,   679,
    53,  4253,  1046,   nil,   163,   nil,   nil,   nil,   711,   nil,
   nil,   nil,   953,   nil,   nil,   286,   nil,   241,   nil,   nil,
   915,   nil,   912,   nil,   nil,   nil, 23194,   nil,   884, 10830,
 10962,   473,   907, 15054, 15582, 16110, 16638,   903,   nil,   nil,
 16910, 17438,   900,   nil, 17702, 17974,   nil,   nil,   421,   389,
     0,   585,   843,  1010,  1856,   nil, 22832,   nil,  2420,   929,
   143,   -51,   nil,   869,  1010,   nil,   777,   nil,   821, 18106,
   nil,   nil, 18238,   nil,   567,   -89, 18502,   516,   nil,   510,
    92,    99,   541,   364,   869,   514,   436, 19426,  2138,   313,
   -14,   328, 19690,   nil,   172,   nil,    51,   nil,  1433,  1574,
   150,   533,   nil,   nil,   326, 25173,   nil, 25012,   nil, 17881,
   nil, 21010,   nil,  3111,   nil,   912,   245,  -110,   nil,   nil,
   nil,   nil,   525,   nil,    79,   nil,   nil,   nil,   nil,   186,
   nil,    23,    96,     6,    22,     8,    68, 21274,   477,  1010,
   nil,   184,  1715, 21538,   nil,   nil,   363,  1856, 24902, 25036,
 23824,   nil,   nil,   nil,   nil,   nil,   nil,  1997,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   394, 21802,  2561, 21934,   nil,
   461,   nil,  1292,   nil,  1715,   nil,   nil,  1433,   nil,  2702,
   nil,  2843, 20878, 20746, 20614, 20086,   252,   552,   562,   574,
   nil,   578,   580,   590,   nil,   630,   621,   620,   624, 19822,
   nil,   nil,   779,   nil,   nil,  2279,   705,   819,   nil,   nil,
   nil,   nil,   699,   478,   nil,   nil,   834,   nil,   728,   719,
   766,   nil,   nil,   765,   nil,   745,   852,   772,   732,   nil,
   nil,   nil,   742,   743,   nil,   747,   748,   nil,   749,   nil,
   nil,   762,  3141,   762,   652,   nil,   896,   nil, 18766,   899,
  2561,  2702,   nil, 18370,  2843,    28,    60,   nil,   942,   589,
  3125,   nil,   955,   838,   687,   nil,   854,   849,   nil,  2984,
 17174, 17042,   nil,   610,   nil,   nil, 24887,   nil, 24879,   nil,
 24997,   nil,   nil,   894,  1137, 15846,   770,   967,   nil,   909,
   nil,   nil,   nil,  3407,   nil,   nil,   -10, 11490,   nil,   nil,
   nil,   nil,   nil,   nil, 25188,   nil, 25089,   nil, 25104,   nil,
  9261,   nil,   nil,   nil,   nil,   257,  3252,   917,   nil,    36,
   nil,  1057,  1061,   nil,   187,   nil,   nil,   nil,  1083,   nil,
   nil,   nil,  1007,   nil,  7342,   971,   nil,   nil,   976,   981,
   989,   990,   nil,   991,   nil,   375,   nil,   nil,   nil,  1292,
 23886,   nil,   nil,   nil,  4676,  1052,   659,   731,  1093,   872,
   nil,  1025,  1029,  1030,  1031,  1041,   480,  1044,   647,  4817,
   nil,   nil,   nil,   nil,   nil,  3830,   nil,  4394,  1574,   nil,
 24957,   nil, 24972,   nil, 25165,   nil, 10061,   nil,   nil,   nil,
  1278,  1156,  1161,  1249, 21406, 24258, 24320,  1364, 25027,   nil,
   nil,   nil,   nil,   594,  1148,   605,  1276,  1277,  1155,  1165,
  1166,  1170,   nil,   nil,  1174,    -1,   -11,    -9,  1433,  1186,
  1194,   nil,   nil,   nil, 25112,   nil,   nil,   nil,   nil,    35,
   nil,  1218,   nil ]

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

clist = [
'216,327,409,26,373,127,127,334,26,275,275,275,266,270,2,258,621,522',
'573,6,566,569,702,26,6,296,323,681,415,421,114,487,26,26,26,431,26,513',
'314,111,535,132,132,338,339,259,406,342,660,806,311,311,428,478,130',
'130,479,836,219,122,205,737,262,269,271,542,26,26,127,824,26,827,297',
'318,550,782,657,474,657,707,692,693,839,582,311,311,311,378,115,660',
'293,525,528,648,114,532,389,390,391,392,110,653,654,907,715,718,277',
'277,277,935,783,904,732,785,26,850,938,936,591,26,26,26,26,26,26,932',
'592,337,337,740,6,337,276,276,276,394,329,332,922,393,6,605,607,379',
'727,295,601,603,606,606,385,841,601,359,363,341,840,817,784,823,340',
'825,328,326,343,684,487,325,786,324,374,586,350,965,702,957,789,833',
'335,331,337,337,337,337,660,533,687,336,375,275,650,473,481,482,387',
'962,416,810,400,886,377,273,286,287,330,924,380,381,425,26,26,26,26',
'657,657,26,26,26,26,26,26,296,938,1002,472,994,667,932,616,382,383,831',
'26,384,676,642,742,904,690,747,824,733,651,275,275,401,407,719,395,776',
'426,430,275,873,822,402,352,204,415,421,819,926,1010,542,438,663,26',
'26,827,882,1,795,550,,824,26,803,,434,435,436,437,963,,736,,296,,510',
',492,296,,26,266,928,,26,270,669,,503,26,702,,702,,524,,497,405,730',
',,311,114,405,,,484,570,571,864,865,496,672,,26,26,845,929,311,930,',
',672,,,847,,1011,277,500,26,26,511,,,,277,824,293,,514,13,,293,,951',
'13,,,893,26,,,,276,722,114,,,750,,750,276,955,702,731,26,915,,,,788',
'495,587,13,802,523,622,967,127,789,672,593,789,,789,,789,628,672,844',
'337,337,499,633,,,798,505,696,698,700,,,,765,,660,,275,770,590,848,416',
'702,132,702,852,,,550,998,550,480,,425,572,594,130,853,854,483,26,615',
',,814,657,627,,,,,431,632,,,628,,,,702,13,,542,542,969,,,,,13,13,550',
'550,,,,,,,636,,275,,,1003,,,,416,,,,,,26,789,26,789,416,789,425,789',
',,26,649,,664,,798,425,,6,,,311,811,,26,,,652,,311,,655,,,,,,,,,,,,514',
'918,789,,665,,,,514,,668,,,275,,,712,,13,714,416,656,780,275,,,944,26',
'416,,26,,425,,,,26,,425,,,13,680,,,,26,964,,959,,,26,,794,716,716,,',
',,686,788,,788,,,820,,1019,820,127,,,734,735,,,,,,622,812,777,,787,26',
'26,,,550,26,26,,,26,,,792,741,793,,13,796,797,,13,132,622,26,,13,14',
',26,26,628,14,997,633,130,761,763,813,,754,766,768,,787,430,855,220',
',,721,13,,815,816,311,220,220,220,,14,302,302,,26,26,311,,895,897,,899',
'901,760,902,,622,514,,,846,788,,,781,622,849,,804,,220,220,,,220,347',
'357,357,,,805,,,26,,,,,26,26,127,,856,26,,,,,,,,884,,26,,888,,835,,',
',,,,26,826,,828,14,,787,,,220,220,220,220,14,14,,1004,,,,820,,,780,405',
'780,879,780,,,337,,,,,858,337,26,,885,779,,672,,311,,,,,,26,,,,,,,909',
',,,,,989,990,991,992,,,,,911,912,,,914,,,,,26,,26,26,,818,26,,,13,,13',
'26,,,,,,,14,220,220,220,,,220,220,220,220,220,220,,716,,943,917,,903',
',,921,1020,14,,,26,,780,,780,311,780,,780,,,,,,920,,337,311,,,,,,,,',
',,,,979,220,220,,13,,,13,,,220,,,,,,780,931,,933,983,425,,,,,,,14,13',
',26,14,,,995,302,14,,,,996,,952,,953,26,954,275,,,,26,302,26,416,,,',
',,39,14,220,,,39,425,,622,,26,333,,,,,,220,220,,,,,,,13,,,,,13,13,,39',
'301,301,,220,,,,925,,,779,,779,,779,,,,,220,,,,,999,,1000,,1001,,,13',
'13,,346,362,362,362,,,,,1009,,,,,,,,,,,,,,,,,,,,,,,,,,1021,,,,,,,13',
',39,,,13,,,,,220,39,39,,,13,,,,867,869,871,,,38,,,,,38,,,,,,,,,,779',
',779,,779,,779,,,,403,,,,,,433,,38,300,300,,,,13,14,,14,,,,,,302,,220',
',13,,,,302,,,779,,,,,220,,,,345,361,361,361,,39,,,,,,,,,,,13,13,,,13',
',,,,,13,,39,489,,491,,,493,494,,,,,,,14,38,,14,,,,,,220,38,38,,,,,,13',
',220,,,,,,14,,,,,,,971,973,975,977,,978,,,,,,,,,,39,,,,39,,,,301,39',
',,220,220,,,,220,220,,,220,,,,301,,,,,,13,,,39,14,,,,,14,14,,,,,13,',
',38,,,13,302,13,1015,1016,1017,1018,,,,,,302,618,,,,,,,38,,,14,14,,1022',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,220,,,,,14,220,,,,14,,,,,,15,,,38',
'14,15,,38,,,,300,38,,,220,,658,,333,,661,,,,,,,300,,,,,15,304,304,,38',
',,,,,,,,876,,,,,,14,,,,,658,,,333,,,,,14,,,349,358,358,,,,,,39,,39,',
',,,,301,708,,,,,,,301,,,220,,14,14,,,14,,,,433,,14,,,16,15,,,,16,,,',
',15,15,,,,,,,,,,,939,,,,,,,,14,,,16,947,,39,,,39,755,,,,658,333,,,,',
',,,,,,,,,,,39,,,,,,,351,,,,,,,,,,,,799,,,800,,,,,,,,14,,,,,15,,,38,',
'38,,809,,,14,300,,,,16,14,,14,300,,,39,15,16,16,830,39,39,,,,,,,220',
',,,,301,,,,,,,,,,,301,,,,,,,,,,,39,39,,,,,,,,,,38,,,38,,,,,857,,,15',
',,,15,,,,304,15,,,,,38,,,,,,,,39,,,304,16,39,,,,,,429,15,,,39,,,,,,',
',,,,,16,,,,,,,,,,,,,,,,,,,,,,38,,,,,38,38,,362,,,,,913,39,,,,300,,,',
',,,,,39,,300,333,,,,,,,,,16,38,38,,16,,,,,16,,,,,,,,,,,39,39,,,39,,',
',,,39,,,,16,,,,,,,,,,,38,,,,,38,,,,,362,,,,,38,,,39,,,,946,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,15,,15,,,,361,,304,,,,38,,,,304,,,,,,,,,38,,,39,',
',,,,,,,,,,,,,39,,,,,,39,,39,,,,,,38,38,,,38,,,,,,38,,,15,,,15,,,,,,',
',,,,,,,,,,,,361,,,15,,,,,38,,746,,945,,,,,,16,,16,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,15,,,,,15,15,,,38,,,,,,,,,304,,,,,,38,,,,16,304',
'38,16,38,,,,,,,,15,15,,,,,,,,,,,,16,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,15',
',,,,15,,,,,,,429,,,15,,,,,,,,,,,16,,,,,16,16,,,,,,,,,,,,,,,,,,,,,,,',
',358,,227,,,,15,,,16,16,274,274,274,,,,,,15,,,,,320,321,322,,,,,,,,',
',,,,,,274,274,,,,,,,,,15,15,16,,15,,,16,,,15,,,,,,,16,,,,,,,,,,,,,,',
',,,358,,,,,,,,15,,,,949,,,,,,,,,,,,,,,,,,16,,,,,,,,,,,,,16,,,,,,,,,',
',,,,,,,,,,,,,,,,15,,,,,,16,16,,,16,,,,,15,16,,,,,15,,15,,,,,,,,,,,274',
'408,274,,,427,432,,,,,,,,,16,,,,950,,227,,,447,448,449,450,451,452,453',
'454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470',
'471,,,,,,,,274,274,,,,,,,,274,,,,,,,274,,274,,16,274,274,,,,,,,,,,,',
',16,,,,,,16,,16,,,,,,,,,,,,,,,,,519,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,274,,427,643,408,,,,,,,,,,,,,,,,,,,,,,,,,,644,',
',,,,,,,,,,,,274,,274,,274,,,,,,,,,,,,,,,,274,,,,,,,,,678,679,,,,,,,',
',,274,,,274,,,,,,,,,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,,,,,,,,,274,274,',
',,,,,,,,274,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274,757,,,274,274,762,764',
',,,767,769,,,643,771,,,,,,,,,,,,,,,,,,,,,,,,274,,,274,,,,,,,,,,,,,,',
',,,,,274,,,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,274,,859,,,,,,,,,,,,,,762,764,769,767,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274,,,,,,,,,,',
',,,,,,274,859,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,968,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,274' ]
        racc_goto_table = arr = ::Array.new(3153, 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 = [
'31,69,23,41,56,57,57,88,41,33,33,33,73,73,2,139,24,8,94,7,91,91,117',
'41,7,9,31,10,37,37,97,75,41,41,41,18,41,51,50,6,138,61,61,17,17,36,27',
'17,177,11,64,64,27,39,60,60,23,92,20,15,15,98,38,38,38,162,41,41,57',
'168,41,173,49,63,167,128,76,37,76,118,123,123,11,54,64,64,64,150,5,177',
'45,71,71,40,97,71,17,17,17,17,4,40,40,119,93,93,72,72,72,132,129,116',
'110,131,41,111,134,133,112,41,41,41,41,41,41,174,113,29,29,114,7,29',
'70,70,70,2,72,72,115,7,7,154,154,151,108,46,155,155,155,155,151,107',
'155,55,55,106,105,131,120,129,104,129,70,103,4,102,75,101,126,100,99',
'96,95,109,117,119,169,117,90,87,29,29,29,29,177,135,136,137,86,33,74',
'140,142,143,5,144,73,145,9,146,149,44,44,44,68,67,152,153,57,41,41,41',
'41,76,76,41,41,41,41,41,41,9,134,133,66,119,51,174,62,156,157,118,41',
'158,51,23,159,116,138,160,168,161,42,33,33,20,20,94,30,24,20,20,33,131',
'166,28,19,16,37,37,170,171,119,162,47,14,41,41,173,12,1,40,167,,168',
'41,24,,29,29,29,29,11,,8,,9,,31,,150,9,,41,73,128,,41,73,23,,50,41,117',
',117,,31,,7,70,54,,,64,97,70,,,47,17,17,123,123,6,37,,41,41,24,129,64',
'129,,,37,,,24,,92,72,47,41,41,63,,,,72,168,45,,49,21,,45,,129,21,,,123',
'41,,,,70,23,97,,,155,,155,70,117,117,23,41,93,,,,167,4,97,21,51,29,31',
'98,57,169,37,36,169,,169,,169,73,37,91,29,29,46,73,,,75,46,165,165,165',
',,,39,,177,,33,39,29,8,73,117,61,117,8,,,167,129,167,44,,57,4,29,60',
'138,138,44,41,15,,,71,76,38,,,,,18,38,,,73,,,,117,21,,162,162,123,,',
',,21,21,167,167,,,,,,,47,,33,,,10,,,,73,,,,,,41,169,41,169,73,169,57',
'169,,,41,38,,2,,75,57,,7,,,64,27,,41,,,47,,64,,47,,,,,,,,,,,,49,8,169',
',47,,,,49,,47,,,33,,,9,,21,9,73,72,124,33,,,91,41,73,,41,,57,,,,41,',
'57,,,21,29,,,,41,94,,91,,,41,,88,97,97,,,,,72,167,,167,,,124,,24,124',
'57,,,97,97,,,,,,31,69,31,,31,41,41,,,167,41,41,,,41,,,9,47,139,,21,9',
'9,,21,61,31,41,,21,22,,41,41,73,22,8,73,60,20,20,31,,15,20,20,,31,20',
'56,22,,,70,21,,9,9,64,22,22,22,,22,22,22,,41,41,64,,165,165,,165,165',
'72,165,,31,49,,,17,167,,,127,31,17,,49,,22,22,,,22,22,22,22,,,47,,,41',
',,,,41,41,57,,9,41,,,,,,,,69,,41,,69,,47,,,,,,,41,127,,127,22,,31,,',
'22,22,22,22,22,22,,23,,,,124,,,124,70,124,9,124,,,29,,,,,20,29,41,,9',
'122,,37,,64,,,,,,41,,,,,,,17,,,,,,165,165,165,165,,,,,9,9,,,9,,,,,41',
',41,41,,122,41,,,21,,21,41,,,,,,,22,22,22,22,,,22,22,22,22,22,22,,97',
',9,97,,47,,,97,165,22,,,41,,124,,124,64,124,,124,,,,,,47,,29,64,,,,',
',,,,,,,,31,22,22,,21,,,21,,,22,,,,,,124,127,,127,9,57,,,,,,,22,21,,41',
'22,,,9,22,22,,,,9,,127,,127,41,127,33,,,,41,22,41,73,,,,,,53,22,22,',
',53,57,,31,,41,65,,,,,,22,22,,,,,,,21,,,,,21,21,,53,53,53,,22,,,,122',
',,122,,122,,122,,,,,22,,,,,127,,127,,127,,,21,21,,53,53,53,53,,,,,127',
',,,,,,,,,,,,,,,,,,,,,,,,,127,,,,,,,21,,53,,,21,,,,,22,53,53,,,21,,,',
'125,125,125,,,52,,,,,52,,,,,,,,,,122,,122,,122,,122,,,,65,,,,,,65,,52',
'52,52,,,,21,22,,22,,,,,,22,,22,,21,,,,22,,,122,,,,,22,,,,52,52,52,52',
',53,,,,,,,,,,,21,21,,,21,,,,,,21,,53,65,,65,,,65,65,,,,,,,22,52,,22',
',,,,,22,52,52,,,,,,21,,22,,,,,,22,,,,,,,125,125,125,125,,125,,,,,,,',
',,53,,,,53,,,,53,53,,,22,22,,,,22,22,,,22,,,,53,,,,,,21,,,53,22,,,,',
'22,22,,,,,21,,,52,,,21,22,21,125,125,125,125,,,,,,22,65,,,,,,,52,,,22',
'22,,125,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,22,,,,,22,22,,,,22,,,,,,25',
',,52,22,25,,52,,,,52,52,,,22,,65,,65,,65,,,,,,,52,,,,,25,25,25,,52,',
',,,,,,,22,,,,,,22,,,,,65,,,65,,,,,22,,,25,25,25,,,,,,53,,53,,,,,,53',
'65,,,,,,,53,,,22,,22,22,,,22,,,,65,,22,,,26,25,,,,26,,,,,25,25,,,,,',
',,,,,22,,,,,,,,22,,,26,22,,53,,,53,65,,,,65,65,,,,,,,,,,,,,,,,53,,,',
',,,26,,,,,,,,,,,,65,,,65,,,,,,,,22,,,,,25,,,52,,52,,65,,,22,52,,,,26',
'22,,22,52,,,53,25,26,26,65,53,53,,,,,,,22,,,,,53,,,,,,,,,,,53,,,,,,',
',,,,53,53,,,,,,,,,,52,,,52,,,,,65,,,25,,,,25,,,,25,25,,,,,52,,,,,,,',
'53,,,25,26,53,,,,,,26,25,,,53,,,,,,,,,,,,26,,,,,,,,,,,,,,,,,,,,,,52',
',,,,52,52,,53,,,,,65,53,,,,52,,,,,,,,,53,,52,65,,,,,,,,,26,52,52,,26',
',,,,26,,,,,,,,,,,53,53,,,53,,,,,,53,,,,26,,,,,,,,,,,52,,,,,52,,,,,53',
',,,,52,,,53,,,,53,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,25,,,,52,,25,,,,52',
',,,25,,,,,,,,,52,,,53,,,,,,,,,,,,,,,53,,,,,,53,,53,,,,,,52,52,,,52,',
',,,,52,,,25,,,25,,,,,,,,,,,,,,,,,,,52,,,25,,,,,52,,25,,52,,,,,,26,,26',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,,,,,25,25,,,52,,,,,,,,,25',
',,,,,52,,,,26,25,52,26,52,,,,,,,,25,25,,,,,,,,,,,,26,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,25,,,,,25,,,,,,,26,,,25,,,,,,,,,,,26,,,,,26,26,,,,,,',
',,,,,,,,,,,,,,,,,,25,,32,,,,25,,,26,26,32,32,32,,,,,,25,,,,,32,32,32',
',,,,,,,,,,,,,,32,32,,,,,,,,,25,25,26,,25,,,26,,,25,,,,,,,26,,,,,,,,',
',,,,,,,,,25,,,,,,,,25,,,,25,,,,,,,,,,,,,,,,,,26,,,,,,,,,,,,,26,,,,,',
',,,,,,,,,,,,,,,,,,,,25,,,,,,26,26,,,26,,,,,25,26,,,,,25,,25,,,,,,,,',
',,32,32,32,,,32,32,,,,,,,,,26,,,,26,,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,,26,32,32,,,,,,,,,,,,,26,,,,,,26,,26,,,,,,,,,,,,,,,',
',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,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,32' ]
        racc_goto_check = arr = ::Array.new(3153, 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,   270,    14,   nil,    97,    83,    36,    19,  -307,    -8,
  -494,  -632,  -537,   nil,  -231,    51,   248,   -20,  -178,   188,
    38,   354,   654,  -207,  -393,  1397,  1507,  -161,    48,    64,
   126,   -19,  2168,   -20,   nil,   nil,    21,  -182,    36,  -209,
  -380,     3,  -235,   nil,   172,    57,   112,    47,   nil,    38,
     3,  -278,  1110,   977,  -272,    84,   -67,    -3,   nil,   nil,
    46,    33,  -171,    32,    16,   928,   -32,  -657,   145,   -58,
   103,  -237,    77,   -14,  -284,  -246,  -410,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   117,   119,   -54,   nil,
   116,  -318,  -655,  -466,  -325,   104,  -188,    27,  -531,    99,
   112,   109,  -358,   105,    95,  -559,    89,  -567,  -435,  -742,
  -474,  -620,  -245,  -247,  -464,  -717,  -721,  -529,  -472,  -731,
  -488,   nil,   155,  -456,   -82,   324,  -478,    65,  -571,  -536,
   nil,  -533,  -765,  -757,  -758,  -151,  -347,   125,  -296,    -7,
   -66,   nil,   -75,   -75,  -719,  -485,  -611,   nil,   nil,   123,
     8,    61,   123,   123,  -240,  -233,   144,   144,   146,  -362,
  -360,  -347,  -271,   nil,   nil,  -127,  -441,  -262,  -626,  -470,
  -431,  -602,   nil,  -626,  -743,   nil,   nil,  -440 ]

racc_goto_default = [
   nil,   nil,   nil,     3,   nil,     4,   344,   291,   nil,   521,
   nil,   837,   nil,   288,   289,   nil,   nil,   nil,    11,    12,
    18,   226,   319,   nil,   nil,   224,   225,   nil,   nil,    17,
   nil,   439,    21,    22,    23,    24,   nil,   675,   nil,   nil,
   nil,   308,   nil,    25,   410,    32,   nil,   nil,    34,    37,
    36,   nil,   221,   222,   356,   nil,   129,   418,   128,   131,
    75,    76,   nil,    90,    46,   280,   nil,   nil,   nil,   807,
   411,   nil,   412,   423,   629,   485,   278,   264,    47,    48,
    49,    50,    51,    52,    53,    54,    55,   nil,   265,    61,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   567,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   704,   549,   nil,   705,
   927,   778,   537,   nil,   538,   nil,   nil,   539,   nil,   541,
   645,   nil,   nil,   nil,   547,   nil,   nil,   nil,   nil,   nil,
   nil,   422,   nil,   nil,   nil,   nil,   nil,    74,    77,    78,
   nil,   nil,   nil,   nil,   nil,   596,   nil,   nil,   nil,   nil,
   nil,   nil,   821,   739,   536,   nil,   540,   829,   552,   554,
   555,   790,   558,   559,   791,   562,   565,   283 ]

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

racc_reduce_n = 596

racc_shift_n = 1023

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,
  :tCHARACTER => 139,
  :tRATIONAL => 140,
  :tIMAGINARY => 141,
  :tLABEL_END => 142,
  :tEQL => 143,
  :tLOWEST => 144 }

racc_nt_base = 145

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",
  "tCHARACTER",
  "tRATIONAL",
  "tIMAGINARY",
  "tLABEL_END",
  "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",
  "simple_numeric",
  "primary",
  "arg_value",
  "@4",
  "@5",
  "aref_args",
  "none",
  "args",
  "trailer",
  "assocs",
  "paren_args",
  "opt_paren_args",
  "opt_block_arg",
  "block_arg",
  "@6",
  "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",
  "@7",
  "@8",
  "@9",
  "@10",
  "@11",
  "@12",
  "@13",
  "@14",
  "@15",
  "@16",
  "@17",
  "@18",
  "@19",
  "@20",
  "@21",
  "@22",
  "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",
  "@23",
  "f_args",
  "do_block",
  "@24",
  "operation3",
  "@25",
  "@26",
  "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",
  "@27",
  "@28",
  "args_tail",
  "@29",
  "f_kwarg",
  "opt_args_tail",
  "f_optarg",
  "f_arg_asgn",
  "f_arg_item",
  "f_label",
  "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(<<'.,.,', 'ruby22.y', 52)
  def _reduce_2(val, _values, result)
                          result = @builder.compstmt(val[0])
                    
    result
  end
.,.,

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

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

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

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

# reduce 7 omitted

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

module_eval(<<'.,.,', 'ruby22.y', 80)
  def _reduce_9(val, _values, result)
                          rescue_bodies     = val[1]
                      else_t,   else_   = val[2]
                      ensure_t, ensure_ = val[3]

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

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

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

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

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

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

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

# reduce 15 omitted

module_eval(<<'.,.,', 'ruby22.y', 119)
  def _reduce_16(val, _values, result)
                          diagnostic :error, :begin_in_method, nil, val[0]
                    
    result
  end
.,.,

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

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

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

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

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

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

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

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

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

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

module_eval(<<'.,.,', 'ruby22.y', 170)
  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(<<'.,.,', 'ruby22.y', 178)
  def _reduce_28(val, _values, result)
                          result = @builder.postexe(val[0], val[1], val[2], val[3])
                    
    result
  end
.,.,

# reduce 29 omitted

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

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

module_eval(<<'.,.,', 'ruby22.y', 191)
  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(<<'.,.,', 'ruby22.y', 198)
  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(<<'.,.,', 'ruby22.y', 205)
  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(<<'.,.,', 'ruby22.y', 212)
  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(<<'.,.,', 'ruby22.y', 219)
  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(<<'.,.,', 'ruby22.y', 226)
  def _reduce_37(val, _values, result)
                          @builder.op_assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

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

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

# reduce 40 omitted

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

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

# reduce 43 omitted

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

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

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

module_eval(<<'.,.,', 'ruby22.y', 263)
  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(<<'.,.,', 'ruby22.y', 275)
  def _reduce_53(val, _values, result)
                          result = @builder.call_method(val[0], val[1], val[2],
                                  nil, val[3], nil)
                    
    result
  end
.,.,

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

module_eval(<<'.,.,', 'ruby22.y', 285)
  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(<<'.,.,', 'ruby22.y', 294)
  def _reduce_57(val, _values, result)
                          result = @builder.call_method(nil, nil, val[0],
                                  nil, val[1], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 299)
  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(<<'.,.,', 'ruby22.y', 308)
  def _reduce_59(val, _values, result)
                          result = @builder.call_method(val[0], val[1], val[2],
                                  nil, val[3], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 313)
  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(<<'.,.,', 'ruby22.y', 322)
  def _reduce_61(val, _values, result)
                          result = @builder.call_method(val[0], val[1], val[2],
                                  nil, val[3], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 327)
  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(<<'.,.,', 'ruby22.y', 336)
  def _reduce_63(val, _values, result)
                          result = @builder.keyword_cmd(:super, val[0],
                                  nil, val[1], nil)
                    
    result
  end
.,.,

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

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

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

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

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

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

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

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

# reduce 72 omitted

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

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

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

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

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

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

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

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

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

# reduce 82 omitted

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

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

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

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

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

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

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

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

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

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

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

module_eval(<<'.,.,', 'ruby22.y', 475)
  def _reduce_94(val, _values, result)
                          result = @builder.assignable(
                                  @builder.const_fetch(val[0], val[1], val[2]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 480)
  def _reduce_95(val, _values, result)
                          result = @builder.assignable(
                                  @builder.const_global(val[0], val[1]))
                    
    result
  end
.,.,

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

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

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

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

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

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

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

module_eval(<<'.,.,', 'ruby22.y', 514)
  def _reduce_103(val, _values, result)
                          result = @builder.assignable(
                                  @builder.const_fetch(val[0], val[1], val[2]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 519)
  def _reduce_104(val, _values, result)
                          result = @builder.assignable(
                                  @builder.const_global(val[0], val[1]))
                    
    result
  end
.,.,

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

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

# reduce 107 omitted

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

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

module_eval(<<'.,.,', 'ruby22.y', 543)
  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(<<'.,.,', 'ruby22.y', 552)
  def _reduce_116(val, _values, result)
                          result = @builder.symbol(val[0])
                    
    result
  end
.,.,

# reduce 117 omitted

# reduce 118 omitted

# reduce 119 omitted

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

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

module_eval(<<'.,.,', 'ruby22.y', 569)
  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(<<'.,.,', 'ruby22.y', 590)
  def _reduce_194(val, _values, result)
                          result = @builder.assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 594)
  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(<<'.,.,', 'ruby22.y', 604)
  def _reduce_196(val, _values, result)
                          result = @builder.op_assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 608)
  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(<<'.,.,', 'ruby22.y', 618)
  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(<<'.,.,', 'ruby22.y', 625)
  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(<<'.,.,', 'ruby22.y', 632)
  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(<<'.,.,', 'ruby22.y', 639)
  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(<<'.,.,', 'ruby22.y', 646)
  def _reduce_202(val, _values, result)
                          const  = @builder.const_op_assignable(
                                  @builder.const_fetch(val[0], val[1], val[2]))
                      result = @builder.op_assign(const, val[3], val[4])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 652)
  def _reduce_203(val, _values, result)
                          const  = @builder.const_op_assignable(
                                  @builder.const_global(val[0], val[1]))
                      result = @builder.op_assign(const, val[2], val[3])
                    
    result
  end
.,.,

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

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

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

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

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

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

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

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

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

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

module_eval(<<'.,.,', 'ruby22.y', 700)
  def _reduce_214(val, _values, result)
                          result = @builder.unary_op(val[0], val[1])
                    
    result
  end
.,.,

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

module_eval(<<'.,.,', 'ruby22.y', 708)
  def _reduce_216(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

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

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

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

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

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

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

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

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

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

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

module_eval(<<'.,.,', 'ruby22.y', 752)
  def _reduce_227(val, _values, result)
                          result = @builder.match_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 756)
  def _reduce_228(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 760)
  def _reduce_229(val, _values, result)
                          result = @builder.not_op(val[0], nil, val[1], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 764)
  def _reduce_230(val, _values, result)
                          result = @builder.unary_op(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 768)
  def _reduce_231(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

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

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

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

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

module_eval(<<'.,.,', 'ruby22.y', 789)
  def _reduce_236(val, _values, result)
                          @lexer.push_cond
                      @lexer.cond.push(true)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 794)
  def _reduce_237(val, _values, result)
                          @lexer.pop_cond
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 798)
  def _reduce_238(val, _values, result)
                          result = @builder.ternary(val[0], val[1],
                                                val[3], val[5], val[7])
                    
    result
  end
.,.,

# reduce 239 omitted

# reduce 240 omitted

# reduce 241 omitted

# reduce 242 omitted

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

module_eval(<<'.,.,', 'ruby22.y', 813)
  def _reduce_244(val, _values, result)
                          result = [ @builder.associate(nil, val[0], nil) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 818)
  def _reduce_245(val, _values, result)
                          result = val
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 823)
  def _reduce_246(val, _values, result)
                          result = [ nil, [], nil ]
                    
    result
  end
.,.,

# reduce 247 omitted

module_eval(<<'.,.,', 'ruby22.y', 829)
  def _reduce_248(val, _values, result)
                          result = []
                    
    result
  end
.,.,

# reduce 249 omitted

# reduce 250 omitted

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

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

module_eval(<<'.,.,', 'ruby22.y', 844)
  def _reduce_253(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 848)
  def _reduce_254(val, _values, result)
                          result = val[0].concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 852)
  def _reduce_255(val, _values, result)
                          result = [ @builder.associate(nil, val[0], nil) ]
                      result.concat(val[1])
                    
    result
  end
.,.,

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

module_eval(<<'.,.,', 'ruby22.y', 863)
  def _reduce_257(val, _values, result)
                          result =  [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 867)
  def _reduce_258(val, _values, result)
                          result = @lexer.cmdarg.dup
                      @lexer.cmdarg.push(true)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 872)
  def _reduce_259(val, _values, result)
                          @lexer.cmdarg = val[0]

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

module_eval(<<'.,.,', 'ruby22.y', 879)
  def _reduce_260(val, _values, result)
                          result = @builder.block_pass(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 884)
  def _reduce_261(val, _values, result)
                          result = [ val[1] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 888)
  def _reduce_262(val, _values, result)
                          result = []
                    
    result
  end
.,.,

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

module_eval(<<'.,.,', 'ruby22.y', 897)
  def _reduce_264(val, _values, result)
                          result = [ @builder.splat(val[0], val[1]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 901)
  def _reduce_265(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 905)
  def _reduce_266(val, _values, result)
                          result = val[0] << @builder.splat(val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 910)
  def _reduce_267(val, _values, result)
                          result = @builder.array(nil, val[0], nil)
                    
    result
  end
.,.,

# reduce 268 omitted

module_eval(<<'.,.,', 'ruby22.y', 916)
  def _reduce_269(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 920)
  def _reduce_270(val, _values, result)
                          result = val[0] << @builder.splat(val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 924)
  def _reduce_271(val, _values, result)
                          result = [ @builder.splat(val[0], val[1]) ]
                    
    result
  end
.,.,

# 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

# reduce 281 omitted

module_eval(<<'.,.,', 'ruby22.y', 939)
  def _reduce_282(val, _values, result)
                          result = @builder.call_method(nil, nil, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 943)
  def _reduce_283(val, _values, result)
                          result = @lexer.cmdarg.dup
                      @lexer.cmdarg.clear
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 948)
  def _reduce_284(val, _values, result)
                          @lexer.cmdarg = val[1]

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

module_eval(<<'.,.,', 'ruby22.y', 954)
  def _reduce_285(val, _values, result)
                          result = @lexer.cmdarg.dup
                      @lexer.cmdarg.clear
                    
    result
  end
.,.,

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

module_eval(<<'.,.,', 'ruby22.y', 963)
  def _reduce_287(val, _values, result)
                          @lexer.cmdarg = val[1]

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

module_eval(<<'.,.,', 'ruby22.y', 969)
  def _reduce_288(val, _values, result)
                          @lexer.state = :expr_endarg
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 973)
  def _reduce_289(val, _values, result)
                          result = @builder.begin(val[0], nil, val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 977)
  def _reduce_290(val, _values, result)
                          result = @builder.begin(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 981)
  def _reduce_291(val, _values, result)
                          result = @builder.const_fetch(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 985)
  def _reduce_292(val, _values, result)
                          result = @builder.const_global(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 989)
  def _reduce_293(val, _values, result)
                          result = @builder.array(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 993)
  def _reduce_294(val, _values, result)
                          result = @builder.associate(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 997)
  def _reduce_295(val, _values, result)
                          result = @builder.keyword_cmd(:return, val[0])
                    
    result
  end
.,.,

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

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

module_eval(<<'.,.,', 'ruby22.y', 1009)
  def _reduce_298(val, _values, result)
                          result = @builder.keyword_cmd(:yield, val[0])
                    
    result
  end
.,.,

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

module_eval(<<'.,.,', 'ruby22.y', 1018)
  def _reduce_300(val, _values, result)
                          result = @builder.not_op(val[0], val[1], val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1022)
  def _reduce_301(val, _values, result)
                          result = @builder.not_op(val[0], val[1], nil, val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1026)
  def _reduce_302(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 303 omitted

module_eval(<<'.,.,', 'ruby22.y', 1035)
  def _reduce_304(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(<<'.,.,', 'ruby22.y', 1041)
  def _reduce_305(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(<<'.,.,', 'ruby22.y', 1049)
  def _reduce_306(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(<<'.,.,', 'ruby22.y', 1056)
  def _reduce_307(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(<<'.,.,', 'ruby22.y', 1063)
  def _reduce_308(val, _values, result)
                          @lexer.cond.push(true)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1067)
  def _reduce_309(val, _values, result)
                          @lexer.cond.pop
                    
    result
  end
.,.,

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

module_eval(<<'.,.,', 'ruby22.y', 1076)
  def _reduce_311(val, _values, result)
                          @lexer.cond.push(true)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1080)
  def _reduce_312(val, _values, result)
                          @lexer.cond.pop
                    
    result
  end
.,.,

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

module_eval(<<'.,.,', 'ruby22.y', 1089)
  def _reduce_314(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(<<'.,.,', 'ruby22.y', 1097)
  def _reduce_315(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(<<'.,.,', 'ruby22.y', 1105)
  def _reduce_316(val, _values, result)
                          @lexer.cond.push(true)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1109)
  def _reduce_317(val, _values, result)
                          @lexer.cond.pop
                    
    result
  end
.,.,

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

module_eval(<<'.,.,', 'ruby22.y', 1119)
  def _reduce_319(val, _values, result)
                          @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1124)
  def _reduce_320(val, _values, result)
                          if in_def?
                        diagnostic :error, :class_in_def, nil, val[0]
                      end

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

                      @lexer.pop_cmdarg
                      @static_env.unextend
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1138)
  def _reduce_321(val, _values, result)
                          result = @def_level
                      @def_level = 0

                      @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1146)
  def _reduce_322(val, _values, result)
                          result = @builder.def_sclass(val[0], val[1], val[2],
                                                   val[5], val[6])

                      @lexer.pop_cmdarg
                      @static_env.unextend

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

module_eval(<<'.,.,', 'ruby22.y', 1156)
  def _reduce_323(val, _values, result)
                          @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1161)
  def _reduce_324(val, _values, result)
                          if in_def?
                        diagnostic :error, :module_in_def, nil, val[0]
                      end

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

                      @lexer.pop_cmdarg
                      @static_env.unextend
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1173)
  def _reduce_325(val, _values, result)
                          @def_level += 1
                      @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1179)
  def _reduce_326(val, _values, result)
                          result = @builder.def_method(val[0], val[1],
                                  val[3], val[4], val[5])

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

module_eval(<<'.,.,', 'ruby22.y', 1188)
  def _reduce_327(val, _values, result)
                          @lexer.state = :expr_fname
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1192)
  def _reduce_328(val, _values, result)
                          @def_level += 1
                      @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
  end
.,.,

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

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

module_eval(<<'.,.,', 'ruby22.y', 1207)
  def _reduce_330(val, _values, result)
                          result = @builder.keyword_cmd(:break, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1211)
  def _reduce_331(val, _values, result)
                          result = @builder.keyword_cmd(:next, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1215)
  def _reduce_332(val, _values, result)
                          result = @builder.keyword_cmd(:redo, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1219)
  def _reduce_333(val, _values, result)
                          result = @builder.keyword_cmd(:retry, val[0])
                    
    result
  end
.,.,

# reduce 334 omitted

# reduce 335 omitted

# reduce 336 omitted

module_eval(<<'.,.,', 'ruby22.y', 1228)
  def _reduce_337(val, _values, result)
                          result = val[1]
                    
    result
  end
.,.,

# reduce 338 omitted

# reduce 339 omitted

# reduce 340 omitted

module_eval(<<'.,.,', 'ruby22.y', 1237)
  def _reduce_341(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 342 omitted

module_eval(<<'.,.,', 'ruby22.y', 1248)
  def _reduce_343(val, _values, result)
                          result = val
                    
    result
  end
.,.,

# reduce 344 omitted

# reduce 345 omitted

module_eval(<<'.,.,', 'ruby22.y', 1256)
  def _reduce_346(val, _values, result)
                          result = @builder.arg(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1260)
  def _reduce_347(val, _values, result)
                          result = @builder.multi_lhs(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1265)
  def _reduce_348(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1269)
  def _reduce_349(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

# reduce 350 omitted

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

module_eval(<<'.,.,', 'ruby22.y', 1280)
  def _reduce_352(val, _values, result)
                          result = val[0].
                                  push(@builder.restarg(val[2], val[3])).
                                  concat(val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1286)
  def _reduce_353(val, _values, result)
                          result = val[0].
                                  push(@builder.restarg(val[2]))
                    
    result
  end
.,.,

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

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

module_eval(<<'.,.,', 'ruby22.y', 1301)
  def _reduce_356(val, _values, result)
                          result = [ @builder.restarg(val[0], val[1]),
                                 *val[3] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1306)
  def _reduce_357(val, _values, result)
                          result = [ @builder.restarg(val[0]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1310)
  def _reduce_358(val, _values, result)
                          result = [ @builder.restarg(val[0]),
                                 *val[2] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1316)
  def _reduce_359(val, _values, result)
                          result = val[0].concat(val[2]).concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1320)
  def _reduce_360(val, _values, result)
                          result = val[0].concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1324)
  def _reduce_361(val, _values, result)
                          result = val[0].concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1328)
  def _reduce_362(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1334)
  def _reduce_363(val, _values, result)
                          result = val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1338)
  def _reduce_364(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1343)
  def _reduce_365(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1350)
  def _reduce_366(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[6]).
                                  concat(val[7])
                    
    result
  end
.,.,

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

module_eval(<<'.,.,', 'ruby22.y', 1364)
  def _reduce_368(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1371)
  def _reduce_369(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

# reduce 370 omitted

module_eval(<<'.,.,', 'ruby22.y', 1378)
  def _reduce_371(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1385)
  def _reduce_372(val, _values, result)
                          result = val[0].concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1389)
  def _reduce_373(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1395)
  def _reduce_374(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
  end
.,.,

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

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

module_eval(<<'.,.,', 'ruby22.y', 1413)
  def _reduce_377(val, _values, result)
                          result = val[0].
                                  concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1418)
  def _reduce_378(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

# reduce 379 omitted

module_eval(<<'.,.,', 'ruby22.y', 1426)
  def _reduce_380(val, _values, result)
                          result = @builder.args(nil, [], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1430)
  def _reduce_381(val, _values, result)
                          @lexer.state = :expr_value
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1435)
  def _reduce_382(val, _values, result)
                          result = @builder.args(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1439)
  def _reduce_383(val, _values, result)
                          result = @builder.args(val[0], [], val[0])
                    
    result
  end
.,.,

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

module_eval(<<'.,.,', 'ruby22.y', 1448)
  def _reduce_385(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1452)
  def _reduce_386(val, _values, result)
                          result = val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1457)
  def _reduce_387(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1461)
  def _reduce_388(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1466)
  def _reduce_389(val, _values, result)
                          result = @builder.shadowarg(val[0])
                    
    result
  end
.,.,

# reduce 390 omitted

module_eval(<<'.,.,', 'ruby22.y', 1471)
  def _reduce_391(val, _values, result)
                          @static_env.extend_dynamic
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1475)
  def _reduce_392(val, _values, result)
                          result = [ val[1], val[2] ]

                      @static_env.unextend
                    
    result
  end
.,.,

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

module_eval(<<'.,.,', 'ruby22.y', 1486)
  def _reduce_394(val, _values, result)
                          result = @builder.args(nil, val[0], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1491)
  def _reduce_395(val, _values, result)
                          result = [ val[0], val[1], val[2] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1495)
  def _reduce_396(val, _values, result)
                          result = [ val[0], val[1], val[2] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1500)
  def _reduce_397(val, _values, result)
                          @static_env.extend_dynamic
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1504)
  def _reduce_398(val, _values, result)
                          result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1511)
  def _reduce_399(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(<<'.,.,', 'ruby22.y', 1517)
  def _reduce_400(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(<<'.,.,', 'ruby22.y', 1523)
  def _reduce_401(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(<<'.,.,', 'ruby22.y', 1533)
  def _reduce_402(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(<<'.,.,', 'ruby22.y', 1543)
  def _reduce_403(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(<<'.,.,', 'ruby22.y', 1549)
  def _reduce_404(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(<<'.,.,', 'ruby22.y', 1555)
  def _reduce_405(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(<<'.,.,', 'ruby22.y', 1561)
  def _reduce_406(val, _values, result)
                          result = @builder.call_method(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1565)
  def _reduce_407(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(<<'.,.,', 'ruby22.y', 1571)
  def _reduce_408(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(<<'.,.,', 'ruby22.y', 1577)
  def _reduce_409(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(<<'.,.,', 'ruby22.y', 1583)
  def _reduce_410(val, _values, result)
                          result = @builder.keyword_cmd(:zsuper, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1587)
  def _reduce_411(val, _values, result)
                          result = @builder.index(val[0], val[1], val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1592)
  def _reduce_412(val, _values, result)
                          @static_env.extend_dynamic
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1596)
  def _reduce_413(val, _values, result)
                          result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1602)
  def _reduce_414(val, _values, result)
                          @static_env.extend_dynamic
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1606)
  def _reduce_415(val, _values, result)
                          result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                    
    result
  end
.,.,

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

module_eval(<<'.,.,', 'ruby22.y', 1619)
  def _reduce_417(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

# reduce 418 omitted

module_eval(<<'.,.,', 'ruby22.y', 1625)
  def _reduce_419(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(<<'.,.,', 'ruby22.y', 1638)
  def _reduce_420(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1643)
  def _reduce_421(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

# reduce 422 omitted

# reduce 423 omitted

module_eval(<<'.,.,', 'ruby22.y', 1650)
  def _reduce_424(val, _values, result)
                          result = [ val[0], val[1] ]
                    
    result
  end
.,.,

# reduce 425 omitted

module_eval(<<'.,.,', 'ruby22.y', 1656)
  def _reduce_426(val, _values, result)
                          result = [ val[0], val[1] ]
                    
    result
  end
.,.,

# reduce 427 omitted

# reduce 428 omitted

# reduce 429 omitted

# reduce 430 omitted

module_eval(<<'.,.,', 'ruby22.y', 1666)
  def _reduce_431(val, _values, result)
                          result = @builder.string_compose(nil, val[0], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1671)
  def _reduce_432(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1675)
  def _reduce_433(val, _values, result)
                          result = val[0] << val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1680)
  def _reduce_434(val, _values, result)
                          result = @builder.string_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1684)
  def _reduce_435(val, _values, result)
                          result = @builder.string(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1688)
  def _reduce_436(val, _values, result)
                          result = @builder.character(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1693)
  def _reduce_437(val, _values, result)
                          result = @builder.xstring_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

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

module_eval(<<'.,.,', 'ruby22.y', 1704)
  def _reduce_439(val, _values, result)
                          result = @builder.words_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1709)
  def _reduce_440(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1713)
  def _reduce_441(val, _values, result)
                          result = val[0] << @builder.word(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1718)
  def _reduce_442(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1722)
  def _reduce_443(val, _values, result)
                          result = val[0] << val[1]
                    
    result
  end
.,.,

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

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

module_eval(<<'.,.,', 'ruby22.y', 1736)
  def _reduce_446(val, _values, result)
                          result = val[0] << @builder.word(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1741)
  def _reduce_447(val, _values, result)
                          result = @builder.words_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1746)
  def _reduce_448(val, _values, result)
                          result = @builder.symbols_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

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

module_eval(<<'.,.,', 'ruby22.y', 1755)
  def _reduce_450(val, _values, result)
                          result = val[0] << @builder.string_internal(val[1])
                    
    result
  end
.,.,

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

module_eval(<<'.,.,', 'ruby22.y', 1764)
  def _reduce_452(val, _values, result)
                          result = val[0] << @builder.symbol_internal(val[1])
                    
    result
  end
.,.,

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

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

module_eval(<<'.,.,', 'ruby22.y', 1778)
  def _reduce_455(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1782)
  def _reduce_456(val, _values, result)
                          result = val[0] << val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1787)
  def _reduce_457(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1791)
  def _reduce_458(val, _values, result)
                          result = val[0] << val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1796)
  def _reduce_459(val, _values, result)
                          result = @builder.string_internal(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1800)
  def _reduce_460(val, _values, result)
                          result = val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1804)
  def _reduce_461(val, _values, result)
                          @lexer.cond.push(false)
                      @lexer.cmdarg.push(false)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1809)
  def _reduce_462(val, _values, result)
                          @lexer.cond.lexpop
                      @lexer.cmdarg.lexpop

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

module_eval(<<'.,.,', 'ruby22.y', 1817)
  def _reduce_463(val, _values, result)
                          result = @builder.gvar(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1821)
  def _reduce_464(val, _values, result)
                          result = @builder.ivar(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1825)
  def _reduce_465(val, _values, result)
                          result = @builder.cvar(val[0])
                    
    result
  end
.,.,

# reduce 466 omitted

module_eval(<<'.,.,', 'ruby22.y', 1832)
  def _reduce_467(val, _values, result)
                          result = @builder.symbol(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1837)
  def _reduce_468(val, _values, result)
                          result = @builder.symbol_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1842)
  def _reduce_469(val, _values, result)
                          result = val[0]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1846)
  def _reduce_470(val, _values, result)
                          result = @builder.negate(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1851)
  def _reduce_471(val, _values, result)
                          result = @builder.integer(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1855)
  def _reduce_472(val, _values, result)
                          result = @builder.float(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1859)
  def _reduce_473(val, _values, result)
                          result = @builder.rational(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1863)
  def _reduce_474(val, _values, result)
                          result = @builder.complex(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1868)
  def _reduce_475(val, _values, result)
                          result = @builder.ident(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1872)
  def _reduce_476(val, _values, result)
                          result = @builder.ivar(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1876)
  def _reduce_477(val, _values, result)
                          result = @builder.gvar(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1880)
  def _reduce_478(val, _values, result)
                          result = @builder.const(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1884)
  def _reduce_479(val, _values, result)
                          result = @builder.cvar(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1889)
  def _reduce_480(val, _values, result)
                          result = @builder.nil(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1893)
  def _reduce_481(val, _values, result)
                          result = @builder.self(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1897)
  def _reduce_482(val, _values, result)
                          result = @builder.true(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1901)
  def _reduce_483(val, _values, result)
                          result = @builder.false(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1905)
  def _reduce_484(val, _values, result)
                          result = @builder.__FILE__(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1909)
  def _reduce_485(val, _values, result)
                          result = @builder.__LINE__(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1913)
  def _reduce_486(val, _values, result)
                          result = @builder.__ENCODING__(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1918)
  def _reduce_487(val, _values, result)
                          result = @builder.accessible(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1922)
  def _reduce_488(val, _values, result)
                          result = @builder.accessible(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1927)
  def _reduce_489(val, _values, result)
                          result = @builder.assignable(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1931)
  def _reduce_490(val, _values, result)
                          result = @builder.assignable(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1936)
  def _reduce_491(val, _values, result)
                          result = @builder.nth_ref(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1940)
  def _reduce_492(val, _values, result)
                          result = @builder.back_ref(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1945)
  def _reduce_493(val, _values, result)
                          result = nil
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1949)
  def _reduce_494(val, _values, result)
                          @lexer.state = :expr_value
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1953)
  def _reduce_495(val, _values, result)
                          result = [ val[0], val[2] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1957)
  def _reduce_496(val, _values, result)
                          yyerrok
                      result = nil
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1963)
  def _reduce_497(val, _values, result)
                          result = @builder.args(val[0], val[1], val[2])

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

module_eval(<<'.,.,', 'ruby22.y', 1968)
  def _reduce_498(val, _values, result)
                          result = @lexer.in_kwarg
                      @lexer.in_kwarg = true
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1973)
  def _reduce_499(val, _values, result)
                          @lexer.in_kwarg = val[0]
                      result = @builder.args(nil, val[1], nil)
                    
    result
  end
.,.,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 525 omitted

module_eval(<<'.,.,', 'ruby22.y', 2113)
  def _reduce_526(val, _values, result)
                          @static_env.declare val[0][0]

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

module_eval(<<'.,.,', 'ruby22.y', 2120)
  def _reduce_527(val, _values, result)
                          result = val[0]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2125)
  def _reduce_528(val, _values, result)
                          result = @builder.arg(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2129)
  def _reduce_529(val, _values, result)
                          result = @builder.multi_lhs(val[0], val[1], val[2])
                    
    result
  end
.,.,

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

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

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

                      @static_env.declare val[0][0]

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

module_eval(<<'.,.,', 'ruby22.y', 2152)
  def _reduce_533(val, _values, result)
                          result = @builder.kwoptarg(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2156)
  def _reduce_534(val, _values, result)
                          result = @builder.kwarg(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2161)
  def _reduce_535(val, _values, result)
                          result = @builder.kwoptarg(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2165)
  def _reduce_536(val, _values, result)
                          result = @builder.kwarg(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2170)
  def _reduce_537(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2174)
  def _reduce_538(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2179)
  def _reduce_539(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2183)
  def _reduce_540(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

# reduce 541 omitted

# reduce 542 omitted

module_eval(<<'.,.,', 'ruby22.y', 2190)
  def _reduce_543(val, _values, result)
                          @static_env.declare val[1][0]

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

module_eval(<<'.,.,', 'ruby22.y', 2196)
  def _reduce_544(val, _values, result)
                          result = [ @builder.kwrestarg(val[0]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2201)
  def _reduce_545(val, _values, result)
                          result = @builder.optarg(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2206)
  def _reduce_546(val, _values, result)
                          result = @builder.optarg(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2211)
  def _reduce_547(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2215)
  def _reduce_548(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2220)
  def _reduce_549(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2224)
  def _reduce_550(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

# reduce 551 omitted

# reduce 552 omitted

module_eval(<<'.,.,', 'ruby22.y', 2231)
  def _reduce_553(val, _values, result)
                          @static_env.declare val[1][0]

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

module_eval(<<'.,.,', 'ruby22.y', 2237)
  def _reduce_554(val, _values, result)
                          result = [ @builder.restarg(val[0]) ]
                    
    result
  end
.,.,

# reduce 555 omitted

# reduce 556 omitted

module_eval(<<'.,.,', 'ruby22.y', 2244)
  def _reduce_557(val, _values, result)
                          @static_env.declare val[1][0]

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

module_eval(<<'.,.,', 'ruby22.y', 2251)
  def _reduce_558(val, _values, result)
                          result = [ val[1] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2255)
  def _reduce_559(val, _values, result)
                          result = []
                    
    result
  end
.,.,

# reduce 560 omitted

module_eval(<<'.,.,', 'ruby22.y', 2261)
  def _reduce_561(val, _values, result)
                          result = val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2266)
  def _reduce_562(val, _values, result)
                          result = []
                    
    result
  end
.,.,

# reduce 563 omitted

module_eval(<<'.,.,', 'ruby22.y', 2272)
  def _reduce_564(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2276)
  def _reduce_565(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2281)
  def _reduce_566(val, _values, result)
                          result = @builder.pair(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2285)
  def _reduce_567(val, _values, result)
                          result = @builder.pair_keyword(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2289)
  def _reduce_568(val, _values, result)
                          result = @builder.pair_quoted(val[0], val[1], val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2293)
  def _reduce_569(val, _values, result)
                          result = @builder.kwsplat(val[0], val[1])
                    
    result
  end
.,.,

# reduce 570 omitted

# reduce 571 omitted

# reduce 572 omitted

# reduce 573 omitted

# reduce 574 omitted

# reduce 575 omitted

# reduce 576 omitted

# reduce 577 omitted

# reduce 578 omitted

# reduce 579 omitted

# reduce 580 omitted

# reduce 581 omitted

# reduce 582 omitted

# reduce 583 omitted

# reduce 584 omitted

# reduce 585 omitted

module_eval(<<'.,.,', 'ruby22.y', 2304)
  def _reduce_586(val, _values, result)
                          result = val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2308)
  def _reduce_587(val, _values, result)
                          result = val[1]
                    
    result
  end
.,.,

# reduce 588 omitted

# reduce 589 omitted

# reduce 590 omitted

module_eval(<<'.,.,', 'ruby22.y', 2314)
  def _reduce_591(val, _values, result)
                        yyerrok
                  
    result
  end
.,.,

# reduce 592 omitted

# reduce 593 omitted

# reduce 594 omitted

module_eval(<<'.,.,', 'ruby22.y', 2323)
  def _reduce_595(val, _values, result)
                        result = nil
                  
    result
  end
.,.,

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

  end   # class Ruby22
  end   # module Parser