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

require 'racc/parser.rb'


require 'parser'

module Parser
  class Ruby22 < Parser::Base


  def version
    22
  end

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

clist = [
'-476,109,268,214,215,-97,-98,-476,-476,-476,217,568,-476,-476,-476,-286',
'-476,268,647,610,-83,121,214,215,-476,612,-476,-476,-476,-69,268,806',
'206,574,-105,589,-476,-476,568,-476,-476,-476,-476,-476,568,568,214',
'215,568,-104,815,218,-100,646,-102,-286,214,215,268,580,214,215,-490',
'581,-100,-102,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476',
'-476,-476,-476,207,263,-476,-476,-476,609,-476,-476,715,267,-476,611',
'260,-476,-476,-99,-476,218,-476,261,-476,-491,-476,-476,267,-476,-476',
'-476,-476,-476,-99,-476,-479,-476,-88,-89,218,267,-97,-479,-479,-479',
'263,-101,-479,-479,-479,-476,-479,113,-476,-476,-476,-476,112,-476,-479',
'-476,-479,-479,-479,588,-476,-96,715,267,-101,715,-479,-479,218,-479',
'-479,-479,-479,-479,113,-98,-95,814,-91,112,113,113,113,842,113,112',
'112,112,-100,112,-102,-91,-93,-100,444,-102,-479,-479,-479,-479,-479',
'-479,-479,-479,-479,-479,-479,-479,-479,-479,113,208,-479,-479,-479',
'112,-479,-479,-574,-93,-479,213,-90,-479,-479,-103,-479,257,-479,-574',
'-479,316,-479,-479,-571,-479,-479,-479,-479,-479,-289,-479,317,-479',
'-91,-476,-99,-289,-289,-289,-105,-99,-476,-289,-289,527,-289,-479,526',
'-101,-479,-479,-479,-479,-101,-479,113,-479,-572,113,647,112,-479,-92',
'112,527,-289,-289,529,-289,-289,-289,-289,-289,-91,-93,-476,-91,212',
'218,-575,214,215,-476,-490,386,-91,548,-571,545,544,543,-476,546,399',
'646,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289',
'-289,-479,-571,-289,-289,-289,-93,630,-479,-93,647,-289,-491,-572,-289',
'-94,-96,-479,-93,-289,597,-289,-88,-289,-289,-105,-289,-289,-289,-289',
'-289,-97,-289,-578,-289,527,-572,515,529,770,-578,-578,-578,91,92,646',
'-578,-578,-289,-578,-479,-289,-289,647,-94,443,-289,-479,-578,-89,833',
'-578,771,-103,527,445,113,529,-98,-578,-578,112,-578,-578,-578,-578',
'-578,548,446,545,544,543,217,546,599,598,597,515,646,597,477,91,92,-104',
'747,-100,486,597,488,-578,-578,-578,-578,-578,-578,-578,-578,-578,-578',
'-578,-578,-578,-578,-578,490,-578,-578,-578,-102,631,-578,93,94,-578',
'498,-574,-578,860,-412,-578,-578,-578,113,-578,-95,-578,-578,112,-578',
'-578,-578,-578,-578,-104,-578,-578,-578,597,-578,-68,599,598,595,599',
'598,595,597,214,215,956,-578,599,598,-578,-578,-578,-92,662,-578,93',
'94,749,-578,-578,-578,-101,218,-578,-578,-578,-412,-578,-578,-99,564',
'563,501,-412,-486,-578,-578,-578,-578,-578,-574,-486,-412,218,-578,502',
'979,-578,-578,509,-578,-578,-578,-578,-578,113,625,599,598,600,112,-412',
'597,-578,-485,597,599,598,602,597,396,-485,837,806,272,398,397,-578',
'-578,-578,-578,-578,-578,-578,-578,-578,-578,-578,-578,-578,-578,113',
'210,-578,-578,-578,112,772,-578,211,238,-578,626,-91,-578,-578,218,-578',
'209,-578,756,-578,-100,-578,-578,263,-578,-578,-578,-578,-578,512,-578',
'-578,-578,516,599,598,604,599,598,608,235,599,598,613,237,236,-578,233',
'234,-578,-578,-578,-578,238,-578,-289,-578,-93,837,806,553,-101,-289',
'-289,-289,-90,-102,-289,-289,-289,556,-289,238,548,-99,545,544,543,218',
'546,238,-289,-289,-289,530,235,-332,79,531,237,236,-289,-289,-332,-289',
'-289,-289,-289,-289,80,-487,490,-332,564,563,574,-484,-487,557,81,701',
'-481,235,-484,388,113,237,236,-481,704,112,-289,-289,-289,-289,-289',
'-289,-289,-289,-289,-289,-289,-289,-289,-289,578,553,-289,-289,-289',
'440,773,-289,-488,579,-289,556,441,-289,-289,-488,-289,614,-289,617',
'-289,442,-289,-289,-488,-289,-289,-289,-289,-289,-261,-289,548,-289',
'545,544,543,548,546,545,544,543,619,546,564,563,218,-289,623,557,-289',
'-289,-289,-289,-489,-289,624,-289,263,634,637,-489,-103,5,69,70,71,9',
'57,701,-489,113,63,64,701,238,112,67,704,65,66,68,30,31,72,73,116,117',
'118,119,120,29,28,27,101,100,102,103,741,742,19,238,743,107,108,635',
'8,45,7,10,105,104,106,95,56,97,96,98,238,99,107,108,238,91,92,42,43',
'41,238,242,247,248,249,244,246,254,255,250,251,507,231,232,-279,113',
'252,253,508,40,112,-279,33,218,218,58,59,506,218,60,-279,35,235,-83',
'241,44,237,236,666,233,234,245,243,239,20,240,218,520,677,89,79,82,83',
'517,84,86,85,87,682,-482,518,-483,80,88,260,256,-482,-238,-483,442,62',
'261,81,93,94,290,69,70,71,9,57,683,685,576,63,64,689,692,693,67,577',
'65,66,68,30,31,72,73,695,575,697,699,707,29,28,27,101,100,102,103,708',
'709,19,711,574,718,736,620,8,45,292,10,105,104,106,95,56,97,96,98,746',
'99,107,108,750,91,92,42,43,41,238,242,247,248,249,244,246,254,255,250',
'251,584,231,232,-290,751,252,253,583,40,-262,-290,294,757,477,58,59',
'585,477,60,-290,35,235,218,241,44,237,236,775,233,234,245,243,239,20',
'240,257,488,490,89,79,82,83,-290,84,86,85,87,799,677,-290,218,80,88',
'263,256,263,677,238,-290,62,806,81,93,94,5,69,70,71,9,57,218,218,584',
'63,64,831,218,806,67,938,65,66,68,30,31,72,73,841,585,218,218,850,29',
'28,27,101,100,102,103,-263,859,19,862,692,865,867,635,8,45,7,10,105',
'104,106,95,56,97,96,98,869,99,107,108,871,91,92,42,43,41,238,242,247',
'248,249,244,246,254,255,250,251,-289,231,232,584,218,252,253,-289,40',
'873,938,33,-575,874,58,59,-289,877,60,585,35,235,879,241,44,237,236',
'880,233,234,245,243,239,20,240,677,882,-261,89,79,82,83,-488,84,86,85',
'87,886,888,-488,891,80,88,692,256,893,895,897,-488,62,899,81,93,94,290',
'69,70,71,9,57,899,218,-489,63,64,905,907,909,67,-489,65,66,68,30,31',
'72,73,915,-489,918,218,922,29,28,27,101,100,102,103,-264,935,19,545',
'544,543,932,546,8,45,292,10,105,104,106,95,56,97,96,98,939,99,107,108',
'940,91,92,42,43,41,238,242,247,248,249,244,246,254,255,250,251,-289',
'231,232,984,958,252,253,-289,40,960,985,33,-575,961,58,59,-289,966,60',
'983,35,235,736,241,44,237,236,692,233,234,245,243,239,20,240,969,971',
'973,89,79,82,83,-279,84,86,85,87,975,975,-279,986,80,88,987,256,988',
'989,899,-279,62,899,81,93,94,290,69,70,71,9,57,899,994,-290,63,64,958',
'-575,-574,67,-290,65,66,68,30,31,72,73,682,-290,958,1013,1014,29,28',
'27,101,100,102,103,1015,935,19,545,544,543,975,546,8,45,292,10,105,104',
'106,95,56,97,96,98,975,99,107,108,975,91,92,42,43,41,238,242,247,248',
'249,244,246,254,255,250,251,-289,231,232,218,899,252,253,-289,40,958',
'975,33,-575,,58,59,-289,,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,,,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,,,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,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,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,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,,,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,238',
'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,,,235,,,,237,236,701,233,234,,,,,,,904,,40,,,33',
',,58,59,,,60,548,35,545,544,543,44,546,,,,,,,,20,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,701,,,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,,-597,-597,,,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,,548,,545,544,543,62,546,81,93,94',
'290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,701,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,,-597,-597,,,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,,548',
',545,544,543,62,546,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,701,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,-597,-597,-597,-597,244,246,,701,-597,-597,,,,,,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,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,,,,,,,,,,,,,,,,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,,,,,,',
',,,,,,,,,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,-597,-597,-597,-597,244,246,,,-597',
'-597,,,,,,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,-597,-597,-597,-597,244,246,,',
'-597,-597,,,,,,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,-597,-597,-597,-597,244',
'246,,,-597,-597,,,,,,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,-597,-597,-597,-597,244',
'246,,,-597,-597,,,,,,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,-597,-597,-597,-597,244',
'246,,,-597,-597,,,,,,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,,',
',,,,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,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,,',
',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,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,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,238,,,,,,,,,,,,,,,,252,253,',
'223,,,229,,,58,59,,,60,,281,235,279,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,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',
'238,,,,,,,,,,,,,,,,252,253,,223,,,229,,,58,59,,,60,,281,235,279,,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,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',
',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,,,,,,,,,,,,,,,,,,,,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,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,,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,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,,,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,,,,,,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,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,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,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,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,,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,,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,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,,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,,,,,,,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,,,,,,,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,,,,,,,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,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,,,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,,,,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,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,',
',,,,,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,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,,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,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,,,,,,,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,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,,,,,,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,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,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,,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,,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,,,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,,,,,,,45,,,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59',
',,60,,754,,,,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,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,,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,,,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,,,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,,,,,,,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,,',
',,,,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,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,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,,,,,,,,,',
',,,,,,,,,,876,,,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',
'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,,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,,,,,,,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,,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,,,,,,,,,,,,,,,,,,,,876,,,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,95,56,97,96,98,,99,107',
'108,,91,92,,,313,,,,,,,,,,,,,,,,,,,,946,,,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,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,,,,,-280,,62,,81,93',
'94,-280,-280,-280,,,-280,-280,-280,,-280,,,,,,,,,,-280,-280,-280,,,',
',,,,-280,-280,,-280,-280,-280,-280,-280,,,,,,,,,,,,,,,,,,,,,,,-280,-280',
'-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,,,-280,-280',
'-280,,,-280,,,-280,,,-280,-280,,-280,,-280,,-280,,-280,-280,,-280,-280',
'-280,-280,-280,,-280,,-280,,,,,,,,,,,,,,-280,,,-280,-280,-280,-280,-579',
'-280,,-280,,,,-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,-580,-579,,-579,,,,-580,-580,-580,,,-580,-580,-580,,-580',
',,,,,,,,-580,-580,-580,-580,,,,,,,,-580,-580,,-580,-580,-580,-580,-580',
',,,,,,,,,,,,,,,,,,,,,,-580,-580,-580,-580,-580,-580,-580,-580,-580,-580',
'-580,-580,-580,-580,,,-580,-580,-580,,,-580,,,-580,,,-580,-580,,-580',
',-580,,-580,,-580,-580,,-580,-580,-580,-580,-580,,-580,-580,-580,548',
',545,544,543,553,546,,,,,,,-580,,556,-580,-580,-580,-580,-411,-580,',
'-580,,,,-411,-411,-411,,,-411,-411,-411,,-411,551,,,,,,,,-411,-411,-411',
'564,563,,,,557,,,-411,-411,,-411,-411,-411,-411,-411,,,,,,,,,,,,,,,',
',,,,,,,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411',
'-411,,,-411,-411,-411,,,-411,,263,-411,,,-411,-411,,-411,,-411,,-411',
',-411,-411,,-411,-411,-411,-411,-411,-296,-411,-411,-411,,,,-296,-296',
'-296,,,-296,-296,-296,,-296,-411,,,-411,-411,,-411,,-411,-296,-296,',
',,,,,,,-296,-296,,-296,-296,-296,-296,-296,,,,,,,,,,,,,,,,,,,,,,,-296',
'-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,,,-296',
'-296,-296,,,-296,,272,-296,,,-296,-296,,-296,,-296,,-296,,-296,-296',
',-296,-296,-296,-296,-296,,-296,-244,-296,,,,,,-244,-244,-244,,,-244',
'-244,-244,-296,-244,,-296,-296,,-296,,-296,,-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,,263,-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,548,-244,545,544,543,553,546,',
',,-244,-244,,,,556,,,,,,-244,-244,,-244,-244,-244,-244,-244,,,,,,,,',
'551,,548,,545,544,543,553,546,561,560,564,563,,,,557,556,,,,,,,,-244',
',,,,,,-244,,,,,263,-244,551,534,,218,,,,,,561,560,564,563,,,,557,,,',
',-244,-244,,,,,,,,,,,,,,-244,,,-244,,,,,-244,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,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,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,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,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,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,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,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,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,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,721,417',
'162,,722,,,,,,,,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,424,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,726,424,162,,727,,,,,,,,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,981,424,162,,980,,,,,,,,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,1006,417,162,,1007,,,,,',
',,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,1008,424,162,,1009,,,,,,,,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,,,,,,,,556,,548,,545,544,543,553,546,,,,,,551,,',
'556,,,,,551,561,560,564,563,,,,557,561,560,564,563,,,,557,551,,548,',
'545,544,543,553,546,561,560,564,563,,,,557,556,,548,,545,544,543,553',
'546,,548,,545,544,543,553,546,556,,,,,551,,,556,,,,,,561,560,564,563',
',,,557,551,,,,,,,,551,561,560,564,563,,,,557,561,560,564,563,,,548,557',
'545,544,543,553,546,,548,,545,544,543,553,546,556,,,,,,,,556,,548,,545',
'544,543,553,546,,,,,,551,,,556,,,,,551,561,560,564,563,,,,557,561,560',
'564,563,,,,557,551,,548,,545,544,543,553,546,,,564,563,,,,557,556,,548',
',545,544,543,553,546,548,,545,544,543,553,546,,556,,,,,551,,556,,,,',
',,561,560,564,563,,,,557,551,,,,,,,551,,,,564,563,,,,557,,564,563,,',
'548,557,545,544,543,553,546,548,,545,544,543,553,546,548,556,545,544',
'543,553,546,,556,,,,,,,556,,,,,,,,551,,,,,,,551,,,,564,563,,551,,557',
',564,563,,,,557,,564,563,,,,557' ]
        racc_action_table = arr = ::Array.new(25138, 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 = [
'95,1,61,437,437,345,346,95,95,95,19,338,95,95,95,58,95,26,473,383,665',
'7,594,594,95,384,95,95,95,665,650,913,10,913,349,359,95,95,339,95,95',
'95,95,95,719,885,17,17,908,578,687,19,1006,473,1007,58,680,680,308,355',
'337,337,221,355,721,722,95,95,95,95,95,95,95,95,95,95,95,95,95,95,12',
'26,95,95,95,383,95,95,570,61,95,384,24,95,95,844,95,437,95,24,95,222',
'95,95,26,95,95,95,95,95,1020,95,98,95,345,346,594,650,221,98,98,98,308',
'1008,98,98,98,95,98,338,95,95,95,95,338,95,98,95,98,98,98,359,95,349',
'571,308,723,845,98,98,680,98,98,98,98,98,339,222,578,687,670,339,719',
'885,359,719,908,719,885,359,1006,908,1007,721,722,1006,224,1007,98,98',
'98,98,98,98,98,98,98,98,98,98,98,98,570,13,98,98,98,570,98,98,1008,671',
'98,16,844,98,98,724,98,22,98,723,98,37,98,98,353,98,98,98,98,98,419',
'98,40,98,670,364,1020,419,419,419,224,1020,364,419,419,328,419,98,328',
'1008,98,98,98,98,1008,98,571,98,354,845,481,571,98,723,845,329,419,419',
'329,419,419,419,419,419,670,671,353,670,15,45,724,590,590,353,38,109',
'670,704,353,704,704,704,353,704,204,481,419,419,419,419,419,419,419',
'419,419,419,419,419,419,419,354,353,419,419,419,671,419,354,671,482',
'419,39,354,419,724,15,354,671,419,605,419,38,419,419,15,419,419,419',
'419,419,38,419,420,419,332,354,443,332,638,420,420,420,41,41,482,420',
'420,419,420,365,419,419,651,419,223,419,365,420,39,704,673,639,419,686',
'225,590,686,39,420,420,590,420,420,420,420,420,904,226,904,904,904,230',
'904,605,605,492,317,651,378,262,313,313,443,605,638,276,607,277,420',
'420,420,420,420,420,420,420,420,420,420,420,420,420,673,280,420,420',
'420,639,420,673,41,41,420,292,673,420,774,801,673,726,420,3,420,317',
'420,420,3,420,420,420,420,420,317,420,420,420,379,673,293,492,492,492',
'378,378,378,380,523,523,904,420,607,607,420,420,640,420,492,420,313',
'313,607,640,640,640,420,295,640,640,640,801,640,726,774,692,692,296',
'801,366,726,640,640,640,640,726,366,801,933,726,297,933,640,640,303',
'640,640,640,640,640,288,413,379,379,379,288,801,381,726,367,382,380',
'380,380,385,123,367,710,710,306,123,123,640,640,640,640,640,640,640',
'640,640,640,640,640,640,640,342,14,640,640,640,342,640,640,14,468,640',
'414,413,640,640,307,640,14,640,621,640,413,640,640,312,640,640,640,640',
'640,314,640,640,640,318,381,381,381,382,382,382,468,385,385,385,468',
'468,640,468,468,640,640,640,640,449,640,641,640,414,996,996,689,640',
'641,641,641,621,414,641,641,641,689,641,321,551,621,551,551,551,326',
'551,450,641,641,641,330,449,46,77,331,449,449,641,641,46,641,641,641',
'641,641,77,368,333,46,689,689,343,369,368,689,77,551,370,450,369,344',
'589,450,450,370,551,589,641,641,641,641,641,641,641,641,641,641,641',
'641,641,641,348,862,641,641,641,220,641,641,300,350,641,862,220,641',
'641,300,641,394,641,400,641,220,641,641,300,641,641,641,641,641,403',
'641,701,641,701,701,701,833,701,833,833,833,405,833,862,862,409,641',
'411,862,641,641,641,641,301,641,412,641,421,429,439,301,641,0,0,0,0',
'0,0,701,301,848,0,0,833,451,848,0,701,0,0,0,0,0,0,0,6,6,6,6,6,0,0,0',
'0,0,0,0,598,598,0,452,598,598,598,432,0,0,0,0,0,0,0,0,0,0,0,0,453,0',
'0,0,454,0,0,0,0,0,432,432,432,432,432,432,432,432,432,432,432,302,432',
'432,304,853,432,432,302,0,853,304,0,479,483,0,0,302,499,0,304,0,432',
'500,432,0,432,432,503,432,432,432,432,432,0,432,505,510,513,0,0,0,0',
'319,0,0,0,0,521,371,319,372,0,0,374,432,371,432,372,319,0,374,0,0,0',
'33,33,33,33,33,33,522,524,347,33,33,536,537,539,33,347,33,33,33,33,33',
'33,33,540,347,541,550,558,33,33,33,33,33,33,33,562,565,33,567,572,573',
'592,408,33,33,33,33,33,33,33,33,33,33,33,33,602,33,33,33,610,33,33,33',
'33,33,408,408,408,408,408,408,408,408,408,408,408,357,408,408,509,612',
'408,408,357,33,618,509,33,622,627,33,33,357,632,33,509,33,408,642,408',
'33,408,408,644,408,408,408,408,408,33,408,649,656,658,33,33,33,33,581',
'33,33,33,33,664,667,581,669,33,33,672,408,675,676,679,581,33,681,33',
'33,33,121,121,121,121,121,121,684,688,875,121,121,703,705,712,121,875',
'121,121,121,121,121,121,121,717,875,720,729,734,121,121,121,121,121',
'121,121,753,758,121,776,777,779,780,643,121,121,121,121,121,121,121',
'121,121,121,121,121,781,121,121,121,783,121,121,121,121,121,643,643',
'643,643,643,643,643,643,643,643,643,674,643,643,937,784,643,643,674',
'121,785,937,121,674,786,121,121,674,790,121,937,121,643,794,643,121',
'643,643,795,643,643,643,643,643,121,643,800,804,807,121,121,121,121',
'943,121,121,121,121,808,811,943,816,121,121,817,643,821,822,824,943',
'121,825,121,121,121,206,206,206,206,206,206,827,830,944,206,206,832',
'835,838,206,944,206,206,206,206,206,206,206,847,944,851,852,855,206',
'206,206,206,206,206,206,856,873,206,873,873,873,872,873,206,206,206',
'206,206,206,206,206,206,206,206,206,876,206,206,206,878,206,206,206',
'206,206,21,21,21,21,21,21,21,21,21,21,21,727,21,21,945,906,21,21,727',
'206,910,945,206,727,911,206,206,727,917,206,945,206,21,921,21,206,21',
'21,923,21,21,21,21,21,206,21,926,927,928,206,206,206,206,947,206,206',
'206,206,929,931,947,946,206,206,949,21,950,951,952,947,206,953,206,206',
'206,229,229,229,229,229,229,954,955,986,229,229,957,980,981,229,986',
'229,229,229,229,229,229,229,982,986,995,997,998,229,229,229,229,229',
'229,229,999,979,229,979,979,979,1000,979,229,229,229,229,229,229,229',
'229,229,229,229,229,1001,229,229,229,1002,229,229,229,229,229,274,274',
'274,274,274,274,274,274,274,274,274,1009,274,274,1005,1010,274,274,1009',
'229,1011,1022,229,1009,,229,229,1009,,229,,229,274,,274,229,274,274',
',274,274,274,274,274,229,274,,,,229,229,229,229,,229,229,229,229,,,',
',229,229,,274,,,,,229,,229,229,229,294,294,294,294,294,294,,,,294,294',
',,,294,,294,294,294,294,294,294,294,291,291,291,291,291,294,294,294',
'294,294,294,294,,,294,497,497,497,497,497,294,294,294,294,294,294,294',
'294,294,294,294,294,,294,294,294,,294,294,294,294,294,427,427,427,427',
'427,427,427,427,427,427,427,,427,427,,,427,427,,294,,,294,,,294,294',
',,294,,294,427,,427,294,427,427,,427,427,427,427,427,294,427,,,,294',
'294,294,294,,294,294,294,294,,,,,294,294,,427,,,,,294,,294,294,294,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,472,472,472,472',
'472,472,472,472,472,472,472,,472,472,,,472,472,,299,,,299,,,299,299',
',,299,,299,472,,472,299,472,472,,472,472,472,472,472,299,472,,,,299',
'299,299,299,,299,299,299,299,,,,,299,299,472,472,,,,,299,,299,299,299',
'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,519,519,519',
'519,519,519,519,519,519,519,519,,519,519,,,519,519,,324,,,324,,,324',
'324,,,324,,324,519,,519,324,519,519,,519,519,519,519,519,324,519,,,',
'324,324,324,324,,324,324,324,324,,,,,324,324,,519,,,,,324,,324,324,324',
'498,498,498,498,498,498,,,,498,498,,,,498,,498,498,498,498,498,498,498',
',,,,,498,498,498,498,498,498,498,,,498,,,,,,498,498,498,498,498,498',
'498,498,498,498,498,498,,498,498,498,,498,498,498,498,498,678,678,678',
'678,678,678,678,678,678,678,678,,678,678,,,678,678,,498,,,498,,,498',
'498,,,498,,498,678,,678,498,678,678,,678,678,678,678,678,498,678,,,',
'498,498,498,498,,498,498,498,498,,,,,498,498,,678,,,,,498,,498,498,498',
'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,755,755,755',
'755,755,755,755,755,755,755,755,,755,755,,,755,755,,566,,,566,,,566',
'566,,,566,,566,755,,755,566,755,755,,755,755,755,755,755,566,755,,,',
'566,566,566,566,,566,566,566,566,,,,,566,566,,755,,,,,566,,566,566,566',
'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,760,760,760',
'760,760,760,760,760,760,760,760,,760,760,,,760,760,,569,,,569,,,569',
'569,,,569,,569,760,,760,569,760,760,,760,760,760,760,760,569,760,,,',
'569,569,569,569,,569,569,569,569,,,,,569,569,,760,,,,,569,,569,569,569',
'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,762,762,762',
'762,762,762,762,762,762,762,762,,762,762,,,762,762,,591,,,591,,,591',
'591,,,591,,591,762,,762,591,762,762,,762,762,762,762,762,591,762,,,',
'591,591,591,591,,591,591,591,591,,,,,591,591,,762,,,,,591,,591,591,591',
'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,765,765,765',
'765,765,765,765,765,765,765,765,,765,765,,,765,765,,648,,,648,,,648',
'648,,,648,,648,765,,765,648,765,765,,765,765,765,765,765,648,765,,,',
'648,648,648,648,,648,648,648,648,,,,,648,648,,765,,,,,648,,648,648,648',
'653,653,653,653,653,653,,,,653,653,,,,653,,653,653,653,653,653,653,653',
',,,,,653,653,653,653,653,653,653,,,653,,,,,,653,653,653,653,653,653',
'653,653,653,653,653,653,,653,653,653,,653,653,653,653,653,767,767,767',
'767,767,767,767,767,767,767,767,,767,767,,,767,767,,653,,,653,,,653',
'653,,,653,,653,767,,767,653,767,767,,767,767,767,767,767,653,767,,,',
'653,653,653,653,,653,653,653,653,,,,,653,653,,767,,,,,653,,653,653,653',
'654,654,654,654,654,654,,,,654,654,,,,654,,654,654,654,654,654,654,654',
',,,,,654,654,654,654,654,654,654,,,654,,,,,,654,654,654,654,654,654',
'654,654,654,654,654,654,,654,654,654,,654,654,654,654,654,769,769,769',
'769,769,769,769,769,769,769,769,,769,769,,,769,769,,654,,,654,,,654',
'654,,,654,,654,769,,769,654,769,769,,769,769,769,769,769,654,769,,,',
'654,654,654,654,,654,654,654,654,,,,,654,654,,769,,,,,654,,654,654,654',
'730,730,730,730,730,730,,,,730,730,,,,730,,730,730,730,730,730,730,730',
',,,,,730,730,730,730,730,730,730,,,730,,,,,,730,730,730,730,730,730',
'730,730,730,730,730,730,,730,730,730,,730,730,730,730,730,858,858,858',
'858,858,858,858,858,858,858,858,,858,858,,,858,858,,730,,,730,,,730',
'730,,,730,,730,858,,858,730,858,858,,858,858,858,858,858,730,858,,,',
'730,730,730,730,,730,730,730,730,,,,,730,730,,858,,,,,730,,730,730,730',
'735,735,735,735,735,735,,,,735,735,,,,735,,735,735,735,735,735,735,735',
',,,,,735,735,735,735,735,735,735,,,735,,,,,,735,735,735,735,735,735',
'735,735,735,735,735,735,,735,735,735,,735,735,735,735,735,861,861,861',
'861,861,861,861,861,861,861,861,,861,861,,,861,861,,735,,,735,,,735',
'735,,,735,,735,861,,861,735,861,861,,861,861,861,861,861,735,861,,,',
'735,735,735,735,,735,735,735,735,,,,,735,735,,861,,,,,735,,735,735,735',
'745,745,745,745,745,745,,,,745,745,,,,745,,745,745,745,745,745,745,745',
',,,,,745,745,745,745,745,745,745,469,831,745,831,831,831,,831,745,745',
'745,745,745,745,745,745,745,745,745,745,,745,745,745,,745,745,745,745',
'745,,,469,,,,469,469,831,469,469,,,,,,,831,,745,,,745,,,745,745,,,745',
'905,745,905,905,905,745,905,,,,,,,,745,,,,,745,745,745,745,,745,745',
'745,745,,,,,745,745,,,,905,,,745,,745,745,745,793,793,793,793,793,793',
',,,793,793,,,,793,,793,793,793,793,793,793,793,,,,,,793,793,793,793',
'793,793,793,,,793,,,,,,793,793,793,793,793,793,793,793,793,793,793,793',
',793,793,793,,793,793,793,793,793,447,447,447,447,447,447,447,447,447',
'447,447,,447,447,,,447,447,,793,,,793,,,793,793,,,793,,793,447,,447',
'793,447,447,,447,447,447,447,447,793,447,,,,793,793,793,793,,793,793',
'793,793,,,,,793,793,,956,,956,956,956,793,956,793,793,793,806,806,806',
'806,806,806,,,,806,806,,,,806,,806,806,806,806,806,806,806,,,,,956,806',
'806,806,806,806,806,806,,,806,,,,,,806,806,806,806,806,806,806,806,806',
'806,806,806,,806,806,806,,806,806,806,806,806,448,448,448,448,448,448',
'448,448,448,448,448,,448,448,,,448,448,,806,,,806,,,806,806,,,806,,806',
'448,,448,806,448,448,,448,448,448,448,448,806,448,,,,806,806,806,806',
',806,806,806,806,,,,,806,806,,958,,958,958,958,806,958,806,806,806,839',
'839,839,839,839,839,,,,839,839,,,,839,,839,839,839,839,839,839,839,',
',,,958,839,839,839,839,839,839,839,,994,839,994,994,994,,994,839,839',
'839,839,839,839,839,839,839,839,839,839,,839,839,839,,839,839,839,839',
'839,458,458,458,458,458,458,458,,994,458,458,,,,,,458,458,,839,,,839',
',,839,839,,,839,,839,458,,458,839,458,458,,458,458,458,458,458,839,458',
',,,839,839,839,839,,839,839,839,839,,,,,839,839,,,,,,,839,,839,839,839',
'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,459,,,,,,',
',,,,,,,,,459,459,,840,,,840,,,840,840,,,840,,840,459,,459,840,459,459',
',459,459,,,459,840,459,,,,840,840,840,840,,840,840,840,840,,,,,840,840',
',,,,,,840,,840,840,840,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,460,,,,,,,,,,,,,,,,460,460,,843,,,843,,,843,843,,,843,,843',
'460,,460,843,460,460,,460,460,,,460,843,460,,,,843,843,843,843,,843',
'843,843,843,,,,,843,843,,,,,,,843,,843,843,843,849,849,849,849,849,849',
',,,849,849,,,,849,,849,849,849,849,849,849,849,,,,,,849,849,849,849',
'849,849,849,,,849,,,,,,849,849,849,849,849,849,849,849,849,849,849,849',
',849,849,849,,849,849,849,849,849,461,,,,,,,,,,,,,,,,461,461,,849,,',
'849,,,849,849,,,849,,849,461,,461,849,461,461,,461,461,,,461,849,461',
',,,849,849,849,849,,849,849,849,849,,,,,849,849,,,,,,,849,,849,849,849',
'882,882,882,882,882,882,,,,882,882,,,,882,,882,882,882,882,882,882,882',
',,,,,882,882,882,882,882,882,882,,,882,,,,,,882,882,882,882,882,882',
'882,882,882,882,882,882,,882,882,882,,882,882,882,882,882,462,,,,,,',
',,,,,,,,,462,462,,882,,,882,,,882,882,,,882,,882,462,,462,882,462,462',
',462,462,,,462,882,462,,,,882,882,882,882,,882,882,882,882,,,,,882,882',
',,,,,,882,,882,882,882,889,889,889,889,889,889,,,,889,889,,,,889,,889',
'889,889,889,889,889,889,,,,,,889,889,889,889,889,889,889,,,889,,,,,',
'889,889,889,889,889,889,889,889,889,889,889,889,,889,889,889,,889,889',
'889,889,889,463,463,463,463,463,463,463,,,463,463,,,,,,463,463,,889',
',,889,,,889,889,,,889,,889,463,,463,889,463,463,,463,463,463,463,463',
'889,463,,,,889,889,889,889,,889,889,889,889,,,,,889,889,,,,,,,889,,889',
'889,889,890,890,890,890,890,890,,,,890,890,,,,890,,890,890,890,890,890',
'890,890,,,,,,890,890,890,890,890,890,890,,,890,,,,,,890,890,890,890',
'890,890,890,890,890,890,890,890,,890,890,890,,890,890,890,890,890,464',
'464,464,464,464,464,464,,,464,464,,,,,,464,464,,890,,,890,,,890,890',
',,890,,890,464,,464,890,464,464,,464,464,464,464,464,890,464,,,,890',
'890,890,890,,890,890,890,890,,,,,890,890,,,,,,,890,,890,890,890,942',
'942,942,942,942,942,,,,942,942,,,,942,,942,942,942,942,942,942,942,',
',,,,942,942,942,942,942,942,942,,,942,,,,,,942,942,942,942,942,942,942',
'942,942,942,942,942,,942,942,942,,942,942,942,942,942,465,465,465,465',
'465,465,465,,,465,465,,,,,,465,465,,942,,,942,,,942,942,,,942,,942,465',
',465,942,465,465,,465,465,465,465,465,942,465,,,,942,942,942,942,,942',
'942,942,942,,,,,942,942,,,,,,,942,,942,942,942,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,466,466,466,466,466,466,466,,,466',
'466,,,,,,466,466,,959,,,959,,,959,959,,,959,,959,466,,466,959,466,466',
',466,466,466,466,466,959,466,,,,959,959,959,959,,959,959,959,959,,,',
',959,959,,,,,,,959,,959,959,959,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,467,467,467,467,467,467,467,,,467,467,,,,,',
'467,467,,965,,,965,,,965,965,,,965,,965,467,,467,965,467,467,,467,467',
'467,467,467,965,467,,,,965,965,965,965,,965,965,965,965,,,,,965,965',
',,,,,,965,,965,965,965,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,470,470,470,470,470,470,470,,,470,470,,,,,,470,470,,967',
',,967,,,967,967,,,967,,967,470,,470,967,470,470,,470,470,470,470,470',
'967,470,,,,967,967,967,967,,967,967,967,967,,,,,967,967,,,,,,,967,,967',
'967,967,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,471,471,471,471,471,471',
'471,471,,471,471,,,,,,471,471,,5,,,5,,,5,5,,,5,,5,471,,471,5,471,471',
',471,471,471,471,471,5,471,,,,5,5,5,5,,5,5,5,5,,,,,5,5,,,,20,20,20,5',
'20,5,5,5,20,20,,,,20,,20,20,20,20,20,20,20,,,,,,20,20,20,20,20,20,20',
',,20,,,,,,,20,,,20,20,20,20,20,20,20,20,,20,20,20,,20,20,20,20,20,455',
',,,,,,,,,,,,,,,455,455,,20,,,20,,,20,20,,,20,,,455,,455,20,455,455,',
'455,455,,,,20,,,,,20,20,20,20,,20,20,20,20,,,,,20,20,,,,29,29,29,20',
'29,20,20,20,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,456,,,,,,,,,,,,,,,,456,456,,29,,,29,,,29,29,,,29,,29,456,29,456,29',
'456,456,29,456,456,,,,29,,,,,29,29,29,29,,29,29,29,29,,,,,29,29,,,,30',
'30,30,29,30,29,29,29,30,30,,,,30,,30,30,30,30,30,30,30,,,,,,30,30,30',
'30,30,30,30,,,30,,,,,,,30,,,30,30,30,30,30,30,30,30,30,30,30,30,,30',
'30,30,30,30,457,,,,,,,,,,,,,,,,457,457,,30,,,30,,,30,30,,,30,,30,457',
'30,,30,457,457,30,457,457,,,,30,,,,,30,30,30,30,,30,30,30,30,,,,,30',
'30,,,,31,31,31,30,31,30,30,30,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,,,,34,34,34',
'31,34,31,31,31,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,,,,35,35,35,34,35,34,34,34,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,,,697,,697,697,697,697,697,,,,,,,,,697,,35,35,35,35,,35,35,35',
'35,,,,,35,35,,,,35,,697,35,,35,35,35,42,42,42,,42,697,697,,42,42,697',
',,42,,42,42,42,42,42,42,42,,,,,,42,42,42,42,42,42,42,,,42,,,,,,,42,',
',42,42,42,42,42,42,42,42,,42,42,42,,42,42,42,42,42,,,,,,,,,,,,,,,,,',
',,42,,,42,,,42,42,,,42,,,,,,42,,,,,,,,,42,,,,,42,42,42,42,,42,42,42',
'42,,,,,42,42,,,,43,43,43,42,43,42,42,42,43,43,,,,43,,43,43,43,43,43',
'43,43,,,,,,43,43,43,43,43,43,43,,,43,,,,,,,43,,,43,43,43,43,43,43,43',
'43,,43,43,43,,43,43,43,43,43,,,,,,,,,,,,,,,,,,,,43,,,43,,,43,43,,,43',
',,,,,43,,,,,,,,,43,,,,,43,43,43,43,,43,43,43,43,,,,,43,43,,,,44,44,44',
'43,44,43,43,43,44,44,,,,44,,44,44,44,44,44,44,44,,,,,,44,44,44,44,44',
'44,44,,,44,,,,,,,44,,,44,44,44,44,44,44,44,44,,44,44,44,,44,44,44,44',
'44,,,,,,,,,,,,,,,,,,,,44,,,44,,,44,44,,,44,,,,,,44,,,,,,,,,44,,,,,44',
'44,44,44,,44,44,44,44,,,,,44,44,,,,59,59,59,44,59,44,44,44,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,,,,63',
'63,63,60,63,60,60,60,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',
',,869,,869,869,869,869,869,,,,,,,,,869,,70,70,70,70,,70,70,70,70,,,',
',70,70,,,,,,869,70,,70,70,70,111,111,111,111,111,869,869,,111,111,869',
',,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',
',,,207,207,207,120,207,120,120,120,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,,,,212,212,212,209,212',
'209,209,209,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,,,,216,216,216,215',
'216,215,215,215,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,,,,217,217,217,216,217,216,216,216,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,,,228,228,228,217',
'228,217,217,217,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,,,,231,231,231,228,231,228,228,228,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,,,,256,256,256,255',
'256,255,255,255,256,256,,,,256,,256,256,256,256,256,256,256,,,,,,256',
'256,256,256,256,256,256,,,256,,,,,,,256,,,256,256,256,256,256,256,256',
'256,,256,256,256,,256,256,256,256,256,,,,,,,,,,,,,,,,,,,,256,,,256,',
',256,256,,,256,,,,,,256,,,,,,,,,256,,,,,256,256,256,256,,256,256,256',
'256,,,,,256,256,,,,263,263,263,256,263,256,256,256,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,,,279,279,279,272,279,272,272,272,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,,,,281,281',
'281,279,281,279,279,279,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,,,,,,,285,,285,285,285,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,,,,298,298,298,290,298,290,290,290,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,,,895,,895,895,895',
'895,895,,,,,,,,,895,,298,298,298,298,,298,298,298,298,,,,,298,298,,',
',298,,895,298,,298,298,298,315,315,315,,315,895,895,,315,315,895,,,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,,,,323,323,323,315,323',
'315,315,315,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,,,,325,325,325,323,325,323,323,323,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,,,,340,340,340,325',
'340,325,325,325,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,,,,341,341,341,340,341,340,340,340,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,,,,360,360,360,341',
'360,341,341,341,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,,,,376,376,376,360,376,360,360,360,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,,,,404,404,404,376',
'404,376,376,376,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,,,,442,442,442,404,442,404,404,404,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,,,,444',
'444,444,442,444,442,442,442,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,,,,445,445,445,444,445,444,444,444,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,',
',,446,446,446,445,446,445,445,445,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,,,,486,486,486,446,486,446,446,446',
'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,,,,488,488,488,486,488,486,486,486,488,488,,,,488,,488,488',
'488,488,488,488,488,,,,,,488,488,488,488,488,488,488,,,488,,,,,,,488',
',,488,488,488,488,488,488,488,488,488,488,488,488,,488,488,488,488,488',
',,,,,,,,,,,,,,,,,,,488,,,488,,,488,488,,,488,,,,488,,488,,,488,,,,,',
'488,,,,,488,488,488,488,,488,488,488,488,,,,,488,488,,,,490,490,490',
'488,490,488,488,488,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,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,504,504,504,,504,,,,504,504,,,,504,,504',
'504,504,504,504,504,504,,,,,,504,504,504,504,504,504,504,,,504,,,,,',
',504,,,504,504,504,504,504,504,504,504,,504,504,504,,504,504,,,504,',
',,,,,,,,,,,,,,,,,,504,,,504,,,504,504,,,504,,,,,,,,,,,,,,,,,,,,504,504',
'504,504,,504,504,504,504,,,,,504,504,,,,506,506,506,504,506,504,504',
'504,506,506,,,,506,,506,506,506,506,506,506,506,,,,,,506,506,506,506',
'506,506,506,,,506,,,,,,,506,,,506,506,506,506,506,506,506,506,506,506',
'506,506,,506,506,506,506,506,,,,,,,,,,,,,,,,,,,,506,,,506,,,506,506',
',,506,,506,,506,,506,,,506,,,,,,506,,,,,506,506,506,506,,506,506,506',
'506,,,,,506,506,,,,512,512,512,506,512,506,506,506,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,,,,515,515,515,512,515,512,512',
'512,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',
',,,516,516,516,515,516,515,515,515,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,,,,520,520,520,516,520,516,516,516',
'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',
',,,526,526,526,520,526,520,520,520,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,,,,529,529,529,526,529,526',
'526,526,529,529,,,,529,,529,529,529,529,529,529,529,,,,,,529,529,529',
'529,529,529,529,,,529,,,,,,,529,,,529,529,529,529,529,529,529,529,529',
'529,529,529,,529,529,529,529,529,,,,,,,,,,,,,,,,,,,,529,,,529,,,529',
'529,,,529,,,,,,529,,,529,,,,,,529,,,,,529,529,529,529,,529,529,529,529',
',,,,529,529,,,,554,554,554,529,554,529,529,529,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,,,,574,574,574,554,574',
'554,554,554,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,,,,585,585,585',
'575,585,575,575,575,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,,,,619,619,619,585,619,585,585,585',
'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,,,,623,623,623,620,623,620,620,620',
'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,,,,624,624,624,623,624,623,623,623,624,624,,,,624,,624,624',
'624,624,624,624,624,,,,,,624,624,624,624,624,624,624,,,624,,,,,,,624',
',,624,624,624,624,624,624,624,624,624,624,624,624,,624,624,624,624,624',
',,,,,,,,,,,,,,,,,,,624,,,624,,,624,624,,,624,,,,624,,624,,,624,,,,,',
'624,,,,,624,624,624,624,,624,624,624,624,,,,,624,624,,,,625,625,625',
'624,625,624,624,624,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,,,,626,626,626,625,626,625,625,625,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,,,,630,630,630,626',
'630,626,626,626,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,,,,631,631,631,630,631,630,630,630,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,,,,634,634,634,631',
'634,631,631,631,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,,,,635,635,635,634,635,634,634,634,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,,,,,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,,,,666,666,666,662',
'666,662,662,662,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',
',,,677,677,677,666,677,666,666,666,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,,,,682,682,682,677,682,677,677,677,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,,,,699,699,699',
'682,699,682,682,682,699,699,,,,699,,699,699,699,699,699,699,699,,,,',
',699,699,699,699,699,699,699,,,699,,,,,,,699,,,699,699,699,699,699,699',
'699,699,,699,699,699,,699,699,699,699,699,,,,,,,,,,,,,,,,,,,,699,,,699',
',,699,699,,,699,,,,,,699,,,,,,,,,699,,,,,699,699,699,699,,699,699,699',
'699,,,,,699,699,,,,725,725,725,699,725,699,699,699,725,725,,,,725,,725',
'725,725,725,725,725,725,,,,,,725,725,725,725,725,725,725,,,725,,,,,',
',725,,,725,725,725,725,725,725,725,725,,725,725,725,,725,725,725,725',
'725,,,,,,,,,,,,,,,,,,,,725,,,725,,,725,725,,,725,,,,,,725,,,,,,,,,725',
',,,,725,725,725,725,,725,725,725,725,,,,,725,725,,,,731,731,731,725',
'731,725,725,725,731,731,,,,731,,731,731,731,731,731,731,731,,,,,,731',
'731,731,731,731,731,731,,,731,,,,,,,731,,,731,731,731,731,731,731,731',
'731,,731,731,731,,731,731,731,731,731,,,,,,,,,,,,,,,,,,,,731,,,731,',
',731,731,,,731,,,,,,731,,,,,,,,,731,,,,,731,731,731,731,,731,731,731',
'731,,,,,731,731,,,,754,754,754,731,754,731,731,731,754,754,,,,754,,754',
'754,754,754,754,754,754,,,,,,754,754,754,754,754,754,754,,,754,,,,,',
',754,,,754,754,754,754,754,754,754,754,,754,754,754,,754,754,754,754',
'754,,,,,,,,,,,,,,,,,,,,754,,,754,,,754,754,,,754,,,,,,754,,,,,,,,,754',
',,,,754,754,754,754,,754,754,754,754,,,,,754,754,,,,756,756,756,754',
'756,754,754,754,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,,,,770,770,770,756,770,756,756,756,770,770,,,,770,,770',
'770,770,770,770,770,770,,,,,,770,770,770,770,770,770,770,,,770,,,,,',
',770,,,770,770,770,770,770,770,770,770,,770,770,770,,770,770,770,770',
'770,,,,,,,,,,,,,,,,,,,,770,,,770,,,770,770,,,770,,,,,,770,,,,,,,,,770',
',,,,770,770,770,770,,770,770,770,770,,,,,770,770,,,,771,771,771,770',
'771,770,770,770,771,771,,,,771,,771,771,771,771,771,771,771,,,,,,771',
'771,771,771,771,771,771,,,771,,,,,,,771,,,771,771,771,771,771,771,771',
'771,,771,771,771,,771,771,771,771,771,,,,,,,,,,,,,,,,,,,,771,,,771,',
',771,771,,,771,,,,,,771,,,,,,,,,771,,,,,771,771,771,771,,771,771,771',
'771,,,,,771,771,,,,772,772,772,771,772,771,771,771,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,,,,773,773,773,772',
'773,772,772,772,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,,,,775,775,775,773,775,773,773,773,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,,,,787,787,787,775',
'787,775,775,775,787,787,,,,787,,787,787,787,787,787,787,787,,,,,,787',
'787,787,787,787,787,787,,,787,,,,,,,787,,,787,787,787,787,787,787,787',
'787,,787,787,787,,787,787,,,787,,,,,,,,,,,,,,,,,,,,787,,,787,,,787,787',
',,787,,,,,,,,,,,,,,,,,,,,787,787,787,787,,787,787,787,787,,,,,787,787',
',,,837,837,837,787,837,787,787,787,837,837,,,,837,,837,837,837,837,837',
'837,837,,,,,,837,837,837,837,837,837,837,,,837,,,,,,,837,,,837,837,837',
'837,837,837,837,837,,837,837,837,,837,837,837,837,837,,,,,,,,,,,,,,',
',,,,,837,,,837,,,837,837,,,837,,,,,,837,,,,,,,,,837,,,,,837,837,837',
'837,,837,837,837,837,,,,,837,837,,,,842,842,842,837,842,837,837,837',
'842,842,,,,842,,842,842,842,842,842,842,842,,,,,,842,842,842,842,842',
'842,842,,,842,,,,,,,842,,,842,842,842,842,842,842,842,842,,842,842,842',
',842,842,842,842,842,,,,,,,,,,,,,,,,,,,,842,,,842,,,842,842,,,842,,842',
',,,842,,,,,,,,,842,,,,,842,842,842,842,,842,842,842,842,,,,,842,842',
',,,859,859,859,842,859,842,842,842,859,859,,,,859,,859,859,859,859,859',
'859,859,,,,,,859,859,859,859,859,859,859,,,859,,,,,,,859,,,859,859,859',
'859,859,859,859,859,859,859,859,859,,859,859,859,859,859,,,,,,,,,,,',
',,,,,,,,859,,,859,,,859,859,,,859,,,,859,,859,,,859,,,,,,859,,,,,859',
'859,859,859,,859,859,859,859,,,,,859,859,,,,860,860,860,859,860,859',
'859,859,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,,,,874,874,874,860,874,860,860,860,874,874,,,,874,,874,874,874',
'874,874,874,874,,,,,,874,874,874,874,874,874,874,,,874,,,,,,,874,,,874',
'874,874,874,874,874,874,874,,874,874,874,,874,874,,,874,,,,,,,,,,,,',
',,,,,,,874,,,874,,,874,874,,,874,,,,,,,,,,,,,,,,,,,,874,874,874,874',
',874,874,874,874,,,,,874,874,,,,886,886,886,874,886,874,874,874,886',
'886,,,,886,,886,886,886,886,886,886,886,,,,,,886,886,886,886,886,886',
'886,,,886,,,,,,,886,,,886,886,886,886,886,886,886,886,,886,886,886,',
'886,886,,,886,,,,,,,,,,,,,,,,,,,,886,,,886,,,886,886,,,886,,,,,,,,,',
',,,,,,,,,,886,886,886,886,,886,886,886,886,,,,,886,886,,,,983,983,983',
'886,983,886,886,886,983,983,,,,983,,983,983,983,983,983,983,983,,,,',
',983,983,983,983,983,983,983,,,983,,,,,,,983,,,983,983,983,983,983,983',
'983,983,983,983,983,983,,983,983,983,983,983,,,,,,,,,,,,,,,,,,,,983',
',,983,,,983,983,,,983,,983,,983,,983,,,983,,,,,,983,,,,,983,983,983',
'983,,983,983,983,983,,,,,983,983,,,,,56,,983,,983,983,983,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,425,424',
',424,,,,425,425,425,,,425,425,425,,425,,,,,,,,,425,425,425,425,,,,,',
',,425,425,,425,425,425,425,425,,,,,,,,,,,,,,,,,,,,,,,425,425,425,425',
'425,425,425,425,425,425,425,425,425,425,,,425,425,425,,,425,,,425,,',
'425,425,,425,,425,,425,,425,425,,425,425,425,425,425,,425,425,425,897',
',897,897,897,897,897,,,,,,,425,,897,425,425,425,425,27,425,,425,,,,27',
'27,27,,,27,27,27,,27,897,,,,,,,,27,27,27,897,897,,,,897,,,27,27,,27',
'27,27,27,27,,,,,,,,,,,,,,,,,,,,,,,27,27,27,27,27,27,27,27,27,27,27,27',
'27,27,,,27,27,27,,,27,,27,27,,,27,27,,27,,27,,27,,27,27,,27,27,27,27',
'27,28,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,415,28,,,,,,415,415,415,,,415,415,415,28,415',
',28,28,,28,,28,,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,,336,,336,336,336',
'336,336,646,646,646,646,,,,646,336,,,,,,,,474,,,,,,,474,,,,,474,474',
'336,336,,646,,,,,,336,336,336,336,,,,336,,,,,474,474,,,,,,,,,,,,,,474',
',,474,,,,,474,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,,,,8,8',
'8,8,8,8,8,8,8,8,,,,,,8,8,8,8,8,8,8,8,8,8,,8,,,,,,,,8,8,,8,8,8,8,8,8',
'8,,,8,8,,,,8,8,8,8,,,,,,,,,,,,,,8,8,,8,8,8,8,8,8,8,8,8,8,8,8,,,8,8,',
',,,,,,,,,,,,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,,,,9,9',
'9,9,9,9,9,9,9,9,,,,,,9,9,9,9,9,9,9,9,9,,,9,,,,,,,,9,9,,9,9,9,9,9,9,9',
',,9,9,,,,9,9,9,9,,,,,,,,,,,,,,9,9,,9,9,9,9,9,9,9,9,9,9,9,9,,,9,9,,,',
',,,,,,,,,,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,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,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,738,738,738,738,738,738,738,738,738,738,738,738',
'738,738,738,738,738,738,738,738,738,738,738,738,,,,738,738,738,738,738',
'738,738,738,738,738,,,,,,738,738,738,738,738,738,738,738,738,,,738,',
',,,,,,738,738,,738,738,738,738,738,738,738,,,738,738,,,,738,738,738',
'738,,,,,,,,,,,,,,738,738,,738,738,738,738,738,738,738,738,738,738,738',
'738,210,210,738,,210,,,,,,,,210,210,,210,210,210,210,210,210,210,,,210',
'210,,,,210,210,210,210,,,,,,210,,,,,,,,210,210,,210,210,210,210,210',
'210,210,210,210,210,210,210,211,211,210,,211,,,,,,,,211,211,,211,211',
'211,211,211,211,211,,,211,211,,,,211,211,211,211,,,,,,211,,,,,,,,211',
'211,,211,211,211,211,211,211,211,211,211,211,211,211,259,259,211,,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,440,440,259,,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,507,507,441,,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,508,508,507,,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,517,517,508,,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,518,518,517',
',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,576,576,518,,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,577,577,576,,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,583,583',
'577,,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,584,584,583,,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,938,938,584,,938,,,,,,,,938',
'938,,938,938,938,938,938,938,938,,,938,938,,,,938,938,938,938,,,,,,938',
',,,,,,,938,938,,938,938,938,938,938,938,938,938,938,938,938,938,984',
'984,938,,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,985,985,984,,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,,534,985,534,534,534,534',
'534,,693,,693,693,693,693,693,534,,,,,,,,693,,695,,695,695,695,695,695',
',,,,,534,,,695,,,,,693,534,534,534,534,,,,534,693,693,693,693,,,,693',
'695,,736,,736,736,736,736,736,695,695,695,695,,,,695,736,,737,,737,737',
'737,737,737,,865,,865,865,865,865,865,737,,,,,736,,,865,,,,,,736,736',
'736,736,,,,736,737,,,,,,,,865,737,737,737,737,,,,737,865,865,865,865',
',,867,865,867,867,867,867,867,,893,,893,893,893,893,893,867,,,,,,,,893',
',899,,899,899,899,899,899,,,,,,867,,,899,,,,,893,867,867,867,867,,,',
'867,893,893,893,893,,,,893,899,,969,,969,969,969,969,969,,,899,899,',
',,899,969,,971,,971,971,971,971,971,973,,973,973,973,973,973,,971,,',
',,969,,973,,,,,,,969,969,969,969,,,,969,971,,,,,,,973,,,,971,971,,,',
'971,,973,973,,,975,973,975,975,975,975,975,989,,989,989,989,989,989',
'1015,975,1015,1015,1015,1015,1015,,989,,,,,,,1015,,,,,,,,975,,,,,,,989',
',,,975,975,,1015,,975,,989,989,,,,989,,1015,1015,,,,1015' ]
        racc_action_check = arr = ::Array.new(25138, 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 = [
   744,     1,   nil,   303,   nil,  5083,   729,   -91, 23075, 23203,
   -80,   nil,   -62,   107,   470,   184,    61,    10,   nil,   -79,
  5214,  1164,   182,   nil,    15,   nil,    -8, 22590, 22700,  5345,
  5476,  5607,   nil,   884,  5738,  5869,   nil,    80,   190,   227,
   169,   283,  6008,  6139,  6270,   141,   556,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil, 22188,   nil,   -75,  6401,
  6532,   -23,   nil,  6663,  6794,   nil,   nil,  6925,  7064,  7195,
  7326, 23587,   nil,   nil,   nil,   nil,   nil,   518,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,     0,   nil,   nil,   112,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   277,
   nil,  7465,   nil,   nil,   nil,   nil,  7604,  7735,  7866,  7997,
  8136,  1024,   nil,   472,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   153,   nil,  1164,  8267,  8398,  8529,
 23761, 23822,  8660,  8791,  8922,  9053,  9184,  9315,   nil,   nil,
   610,   -24,    15,   301,    90,   224,   293,   nil,  9446,  1304,
   294,  9577,  9708,  9839,  9970, 10101, 10232, 10363, 10494, 10625,
 10756, 10887, 11018, 11149, 11280, 11411, 11542, 11673, 11804, 11935,
 12066, 12197, 12328, 12459, 12590, 12721, 12852,   nil,   nil, 23883,
   nil,   nil,   295, 12983, 13114,   nil,   nil,   nil,   nil,   nil,
   nil,   nil, 13245,   nil,  1304,   nil,   264,   266,   nil, 13376,
   328, 13507,   nil,   nil, 13638, 13769,   nil,   nil,   380,   nil,
 13908,  1429,   313,   308,  1444,   347,   397,   367, 14039,  1584,
   613,   659,   744,   449,   747,   nil,   440,   431,    33,   nil,
   nil,   nil,   481,   331,   443, 14178,   nil,   302,   514,   786,
   nil,   553,   nil, 14309,  1724, 14440,   495,   nil,   107,   127,
   537,   522,   206,   561,   nil,   nil, 22944,    24,    -1,    26,
 14571, 14702,   416,   636,   526,   -19,   -18,   816,   627,    10,
   667,   nil,   nil,   191,   225,     8,   nil,   884,   nil,    34,
 14833,   nil,   nil,   nil,   150,   274,   412,   442,   570,   576,
   581,   792,   794,   nil,   797,   nil, 14964,   nil,   330,   388,
   397,   457,   460,   -41,   -35,   464,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   586, 23331,   nil,   nil,   nil,   nil,
   588,   nil,   nil,   579, 15095,   591,   nil,   nil,   884,   598,
   nil,   597,   605,   425,   471, 22812,   nil,   nil,   nil,   222,
   334,   651,   nil,   nil, 22322, 22456,   nil,  1444,   nil,   599,
   nil,   nil,   744,   nil,   nil,   nil,   nil,   -33,   nil,   652,
 23944, 24005, 15226,   252, 15357, 15488, 15619,  3264,  3404,   534,
   561,   691,   717,   734,   738,  5214,  5345,  5476,  3544,  3684,
  3824,  3964,  4104,  4244,  4384,  4524,  4664,  4804,   489,  3094,
  4944,  5083,  1584,   -56, 22941,   nil,   nil,   nil,   nil,   703,
   nil,   178,   237,   704,   nil,   nil, 15750,   nil, 15881,   nil,
 16012,   nil,   327,   nil,   nil,   nil, 16151,  1444,  1864,   708,
   710,   nil,   nil,   715, 16290,   726, 16421, 24066, 24127,   887,
   768,   nil, 16552,   725,   nil, 16683, 16814, 24188, 24249,  1724,
 16945,   861,   882,   422,   802,   nil, 17076,   nil,   nil, 17207,
   nil,   nil,   nil,   nil, 24738,   nil,   763,   764,   nil,   765,
   775,   777,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   769,   569,   nil,   nil, 17338,   nil,   nil,   nil,   861,   nil,
   nil,   nil,   869,   nil,   nil,   870,  2004,   911,   nil,  2144,
    62,   118,   908,   916, 17469, 17600, 24310, 24371,    25,   nil,
   nil,   926,   nil, 24432, 24493, 17731,   nil,   nil,   nil,   532,
   237,  2284,   837,   nil,   -14,   nil,   nil,   nil,   727,   nil,
   nil,   nil,   821,   nil,   nil,   261,   nil,   338,   nil,   nil,
   810,   nil,   831,   nil,   nil,   nil, 23459,   nil,   837, 17862,
 17993,   479,   879, 18124, 18255, 18386, 18517,   878,   nil,   nil,
 18648, 18779,   882,   nil, 18910, 19041,   nil,   nil,   254,   277,
   466,   602,   853,  1024,   856,   nil, 22905,   nil,  2424,   969,
     5,   280,   nil,  2564,  2704,   nil,   864,   nil,   911, 19172,
   nil,   nil, 19303,   nil,   895,  -113, 19434,   876,   nil,   881,
   136,   177,   925,   337,  1024,   927,   884, 19565,  1864,   952,
    20,  1007, 19696,   nil,   901,   nil,   235,    22,   902,   551,
   nil,   nil,   386, 24746,   nil, 24763,   nil,  5916,   nil, 19827,
   nil,   663,   nil,   903,   228,   907,   nil,   nil,   nil,   nil,
   514,   nil,  1024,   nil,   nil,   nil,   nil,  1039,   nil,    32,
   920,    40,    41,   122,   183, 19958,   406,  1164,   nil,   921,
  2844, 20089,   nil,   nil,  1043,  2984, 24802, 24819, 23700,   nil,
   nil,   nil,   nil,   nil,   nil,  3124,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   927, 20220,  2004, 20351,   nil,   928,   nil,
  2144,   nil,  2284,   nil,   nil,  2424,   nil,  2564,   nil,  2704,
 20482, 20613, 20744, 20875,   342, 21006,   930,   931,   nil,   932,
   933,   947,   nil,   975,   975,   975,   972, 21137,   nil,   nil,
  1109,   nil,   nil,  3264,  1010,  1119,   nil,   nil,   nil,   nil,
  1003,   404,   nil,   nil,  1129,   nil,  3404,  1005,  1061,   nil,
   nil,  1059,   nil,   nil,   nil,   nil,  1061,  1021,   nil,   nil,
   nil,  1023,  1024,   nil,  1025,  1028,   nil,  1038,   nil,   nil,
  1042,  3110,  1043,   668,   nil,  1168,   nil, 21268,  1169,  3544,
  3684,   nil, 21399,  3824,    71,   121,   nil,  1179,   623,  3964,
   nil,  1181,  1061,   695,   nil,  1065,  1067,   nil,  2844, 21530,
 21661,  2984,   627,   nil,   nil, 24827,   nil, 24879,   nil,  7373,
   nil,   nil,  1097,  1150, 21792,   956,  1165,   nil,  1111,   nil,
   nil,   nil,  4104,   nil,   nil,    33, 21923,   nil,   nil,  4244,
  4384,   nil,   nil, 24887,   nil, 14086,   nil, 22519,   nil, 24904,
   nil,   nil,   nil,   nil,   327,  3169,  1112,   nil,    36,   nil,
  1241,  1245,   nil,    17,   nil,   nil,   nil,  1249,   nil,   nil,
   nil,  1174,   nil,  1135,   nil,   nil,  1143,  1144,  1145,  1155,
   nil,  1156,   nil,   368,   nil,   nil,   nil,  1027, 24554,   nil,
   nil,   nil,  4524,  1066,  1096,  1167,  1236,  1206,   nil,  1181,
  1287,  1164,  1165,  1168,  1178,  1179,  3344,  1183,  3484,  4664,
   nil,   nil,   nil,   nil,   nil,  4804,   nil,  4944,   nil, 24943,
   nil, 24960,   nil, 24967,   nil, 25019,   nil,   nil,   nil,  1290,
  1228,  1229,  1321, 22054, 24615, 24676,  1236,   nil,   nil, 25026,
   nil,   nil,   nil,   nil,  3530,  1197,   592,  1322,  1323,  1207,
  1213,  1227,  1231,   nil,   nil,  1254,    40,    42,   111,  1304,
  1252,  1257,   nil,   nil,   nil, 25033,   nil,   nil,   nil,   nil,
    98,   nil,  1258,   nil ]

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

clist = [
'216,258,334,327,14,573,373,2,522,14,621,297,127,127,431,409,122,205',
'275,275,275,406,266,270,220,487,323,428,535,311,311,681,114,220,220',
'220,660,14,302,302,130,130,415,421,259,132,132,338,339,542,657,342,657',
'110,735,478,6,835,823,713,716,6,513,311,311,311,780,220,220,479,293',
'220,347,357,357,127,111,660,262,269,271,804,318,582,1,337,337,314,115',
'337,705,474,378,934,219,936,114,566,569,295,389,390,391,392,783,525',
'528,826,906,532,359,363,838,881,903,14,663,343,648,204,220,220,220,220',
'14,14,653,654,394,379,930,276,276,276,605,607,385,781,337,337,337,337',
'601,603,606,606,816,352,601,402,395,651,277,277,277,616,690,691,330',
'650,487,328,375,331,335,350,586,6,374,324,325,684,660,326,340,839,393',
'6,341,840,957,725,329,332,822,965,824,657,657,694,696,698,730,849,387',
'591,592,738,275,1003,921,936,782,784,933,533,416,813,336,687,14,220',
'220,220,889,425,220,220,220,220,220,220,273,286,287,890,688,473,481',
'482,823,995,930,14,717,962,434,435,436,437,830,903,872,774,808,885,377',
'542,642,380,381,667,275,275,382,383,384,740,13,676,745,275,731,13,823',
'821,818,220,220,1011,801,924,415,421,,734,220,,,,,401,407,,,926,426',
'430,510,296,,13,514,311,14,492,793,,14,,,,302,14,266,826,,524,270,405',
'311,728,669,963,,405,,114,,302,,844,26,,570,571,,26,14,220,846,293,',
'700,914,,293,,495,672,823,,26,1012,220,220,497,523,,672,503,26,26,26',
'511,26,927,,928,,499,496,337,337,220,505,276,550,748,13,748,114,,,276',
',,,13,13,220,720,590,967,951,26,26,277,587,26,622,729,572,,593,277,863',
'864,594,127,,,,615,796,,,660,672,,,628,,800,847,,672,633,,851,763,,',
'657,,768,,130,852,853,,275,132,26,,431,416,892,26,26,26,26,26,26,,425',
'220,,,542,542,,,644,,,,480,,,999,,400,812,13,483,,627,,787,628,894,896',
'632,898,900,,901,843,,,514,,700,,296,832,13,,514,,,1004,,,275,809,,',
'311,14,,14,416,,664,796,311,302,,220,,425,416,,,302,,,,,,425,,220,,649',
',26,26,26,26,,917,26,26,26,26,26,26,,,680,968,,,,,13,,296,26,13,,6,296',
',13,,,,,,,275,550,,,,,14,,416,14,275,964,,,,220,416,425,13,,,26,26,425',
',220,,792,,,26,14,,,,714,714,990,991,992,993,,1020,,,656,,,26,700,,700',
'26,,732,733,127,26,,622,752,,810,785,791,220,220,,,,220,220,,,220,,',
',,514,942,,26,26,130,686,622,998,14,132,802,,,14,14,,1021,311,26,26',
',811,,959,628,785,302,633,311,854,,,719,786,,779,,302,26,,,787,955,700',
'787,,787,,787,,,,,,26,759,761,622,,,764,766,,,430,845,622,,,,,848,,438',
',,,,,,550,,550,,825,220,827,,,,14,220,,,700,14,700,,127,777,,15,758',
'337,883,14,15,,887,337,13,,13,,,,220,,,,26,785,,550,550,,,,484,,,,700',
',15,304,304,,311,,405,,817,,,1005,,875,787,,787,500,787,14,787,,,,,',
',,,,778,,14,,16,349,358,358,672,16,26,,26,908,710,,13,712,,13,26,,857',
',,,,,,,787,,,220,26,14,14,16,,14,,13,,819,,14,819,,15,,,337,866,868',
'870,,,15,15,,,311,,,,,714,,,916,937,,351,311,920,,,,14,,26,,945,26,',
'14,14,,786,26,786,,929,,931,,790,,13,26,,794,795,13,13,26,978,,,,,,',
',,16,550,,952,,953,,954,,16,16,,,,636,,,,,425,,,,14,26,26,,,15,26,26',
',,26,,,923,,,777,14,777,,777,,,14,26,14,275,,15,26,26,,,652,416,,,655',
',,622,220,13,425,,,,13,,,,,,665,786,855,1000,13,1001,668,1002,970,972',
'974,976,,977,,,,,,16,,,,1010,333,819,429,,778,,778,,778,,,,15,,,,15',
',16,,304,15,,,26,1022,878,,13,26,26,,,,26,,,304,,884,,13,,777,26,777',
'15,777,,777,,,,,,26,,1016,1017,1018,1019,,,,,,,,,,,739,910,911,13,13',
'913,,13,16,1023,,,16,13,,,,16,777,,,26,38,,,,,38,,,,,,,26,,,778,,778',
',778,16,778,941,,13,,,,,949,950,13,13,38,300,300,,,,,,,,26,,26,26,,',
'26,,,,,403,26,,,,,433,778,,,803,,,,345,361,361,361,,,,,,,,,,,982,,13',
',,,26,834,,,,,,26,26,,,996,,13,,,,997,,13,,13,,38,39,,,,,39,,,38,38',
',,,15,489,15,491,,,493,494,304,,,,,,,,304,,,,39,301,301,26,,,,,,,,,',
',,,,,,,26,,,,,,26,,26,,,,,,,346,362,362,362,,,,,,26,,,16,,16,15,,,15',
',,,,,,,38,,,,,,,,902,,,,,,15,,,39,,,,744,,38,,,39,39,,,919,,,,,,,,,',
',,,,,618,,,,,,,,,,,16,,,16,,,,,,,,,,,,15,,,,,15,15,,,,16,,,38,,,,38',
'304,,,300,38,,,,,,,304,,,,,,,,,300,,,39,,,,,,38,,,,,,429,,,658,,333',
',661,,,,39,,,16,,,,,16,16,,,,,,,,,15,,,,,15,,,,,,,,,658,15,,333,,,,',
',,,,,,,,,,,,,,,,,,,,706,39,,,,39,,,,301,39,,,,,358,,,,,433,15,,,,16',
'301,,,,16,,,,15,39,,,,,16,,,,,,,,,,,,,,,,,,,,,,,,,753,,15,15,658,333',
'15,,,,,,15,,,,,,,,,,,16,,,,,,,38,,38,,,,16,358,300,,797,,,798,,15,300',
',,947,,,15,15,,,,,,,,,,807,,,,,,16,16,,,16,,,,,,16,829,,,,,,,,,,,,,',
',,,,,,38,,,38,,15,,,,,,,16,,,,948,,,16,16,,15,,,38,,,15,,15,,,,,856',
',,,,,,39,,39,,,,,,301,,,,,,,,301,,,,,,,,,,,,,,16,,,,,,,,,,38,,,,,38',
'38,16,,,,,,16,,16,,,300,,,,,,,,,,,300,39,,,39,,,,,,,,912,,,,,,,,,,,',
',,39,,,333,,,,,,,,,,,,,,,,,,,,,,,,38,,,,,38,,,,,,,,,,38,,,,,,,,,,,,',
',,39,,,,,39,39,,,,,,,,,,,,301,,,,,,,,,361,,301,,,227,38,,,,,,,,274,274',
'274,,,38,,,,,,,,320,321,322,,,,,,,,,,,,,,,274,274,,,,,,,38,38,,39,38',
',,,39,,38,,,,,,,,39,,,,,,,,,,,,,,,,,361,,,,,,,,38,,,,943,,,38,38,,,',
',,,,,362,,,,,,39,,,,,,,,,,,,,39,,,,,,,,,,,,,,,,,,,,,,,,38,,,,,,,,,39',
'39,,,39,,,,38,,39,,,,38,,38,,,,,,,,,,,,274,408,274,,,427,432,362,,,',
',,,,39,,,,944,,227,39,39,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,472,,,,,,,274',
'274,,,,,,,,274,,,,,,,274,,274,39,,274,274,,,,,,,,,,,,,,39,,,,,,39,,39',
',,,,,,,,,,,,,,,519,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,274,,427,643,408,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274,,274',
',274,,,,,,,,,,,,,,,,274,,,,,,,,,678,679,,,,,,,,,,274,,,274,,,,,,,,,',
',,,,,,,,,,,,,,,274,,,,,,,,,,,,,,,,,,,,274,274,,,,,,,,,,274,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,274,755,,,274,274,760,762,,,,765,767,,,643,769',
',,,,,,,,,,,,,,,,,,,,,,,274,,,274,,,,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,',
',,,,274,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274,,858',
',,,,,,,,,,,,,760,762,767,765,,861,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,,,,,,274,858,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274' ]
        racc_goto_table = arr = ::Array.new(2872, 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,138,86,67,22,92,56,2,8,22,24,49,57,57,18,23,15,15,33,33,33,27,71',
'71,22,73,31,27,137,64,64,10,95,22,22,22,178,22,22,22,60,60,37,37,36',
'61,61,17,17,163,74,17,74,4,96,39,7,90,169,91,91,7,51,64,64,64,126,22',
'22,23,45,22,22,22,22,57,6,178,38,38,38,11,63,54,1,29,29,50,5,29,116',
'37,151,131,20,132,95,89,89,46,17,17,17,17,129,69,69,174,117,69,55,55',
'11,12,114,22,14,4,40,16,22,22,22,22,22,22,40,40,2,152,175,68,68,68,155',
'155,152,127,29,29,29,29,156,156,156,156,129,19,156,28,30,42,70,70,70',
'62,121,121,66,72,73,68,84,85,88,93,94,7,97,98,99,100,178,101,102,103',
'7,7,104,105,117,106,70,70,127,107,127,74,74,166,166,166,108,109,5,110',
'111,112,33,131,113,132,118,124,130,133,71,134,135,136,22,22,22,22,139',
'57,22,22,22,22,22,22,44,44,44,140,137,141,143,144,169,117,175,22,92',
'145,29,29,29,29,116,114,129,24,146,147,150,163,23,153,154,51,33,33,157',
'158,159,160,21,51,161,33,162,21,169,167,171,22,22,117,24,172,37,37,',
'8,22,,,,,20,20,,,126,20,20,31,9,,21,49,64,22,151,40,,22,,,,22,22,71',
'174,,31,71,68,64,54,23,11,,68,,95,,22,,24,41,,17,17,,41,22,22,24,45',
',115,91,,45,,4,37,169,,41,90,22,22,7,29,,37,50,41,41,41,63,41,127,,127',
',46,6,29,29,22,46,68,168,156,21,156,95,,,68,,,,21,21,22,23,29,96,127',
'41,41,70,95,41,31,23,4,,36,70,121,121,29,57,,,,15,73,,,178,37,,,71,',
'51,8,,37,71,,8,39,,,74,,39,,60,137,137,,33,61,41,,18,71,121,41,41,41',
'41,41,41,,57,22,,,163,163,,,31,,,,44,,,127,,9,69,21,44,,38,,170,71,166',
'166,38,166,166,,166,89,,,49,,115,,9,115,21,,49,,,10,,,33,27,,,64,22',
',22,71,,2,73,64,22,,22,,57,71,,,22,,,,,,57,,22,,38,,41,41,41,41,,8,41',
'41,41,41,41,41,,,29,121,,,,,21,,9,41,21,,7,9,,21,,,,,,,33,168,,,,,22',
',71,22,33,92,,,,22,71,57,21,,,41,41,57,,22,,86,,,41,22,,,,95,95,166',
'166,166,166,,24,,,70,,,41,115,,115,41,,95,95,57,41,,31,15,,67,31,138',
'22,22,,,,22,22,,,22,,,,,49,89,,41,41,60,70,31,8,22,61,49,,,22,22,,166',
'64,41,41,,31,,89,71,31,22,71,64,56,,,68,168,,125,,22,41,,,170,115,115',
'170,,170,,170,,,,,,41,20,20,31,,,20,20,,,20,17,31,,,,,17,,47,,,,,,,168',
',168,,125,22,125,,,,22,22,,,115,22,115,,57,120,,25,70,29,67,22,25,,67',
'29,21,,21,,,,22,,,,41,31,,168,168,,,,47,,,,115,,25,25,25,,64,,68,,120',
',,23,,22,170,,170,47,170,22,170,,,,,,,,,,122,,22,,26,25,25,25,37,26',
'41,,41,17,9,,21,9,,21,41,,20,,,,,,,,170,,,22,41,22,22,26,,22,,21,,122',
',22,122,,25,,,29,123,123,123,,,25,25,,,64,,,,,95,,,95,22,,26,64,95,',
',,22,,41,,22,41,,22,22,,168,41,168,,125,,125,,9,,21,41,,9,9,21,21,41',
'31,,,,,,,,,26,168,,125,,125,,125,,26,26,,,,47,,,,,57,,,,22,41,41,,,25',
'41,41,,,41,,,120,,,120,22,120,,120,,,22,41,22,33,,25,41,41,,,47,71,',
',47,,,31,22,21,57,,,,21,,,,,,47,168,9,125,21,125,47,125,123,123,123',
'123,,123,,,,,,26,,,,125,65,122,26,,122,,122,,122,,,,25,,,,25,,26,,25',
'25,,,41,125,9,,21,41,41,,,,41,,,25,,9,,21,,120,41,120,25,120,,120,,',
',,,41,,123,123,123,123,,,,,,,,,,,47,9,9,21,21,9,,21,26,123,,,26,21,',
',,26,120,,,41,52,,,,,52,,,,,,,41,,,122,,122,,122,26,122,9,,21,,,,,9',
'9,21,21,52,52,52,,,,,,,,41,,41,41,,,41,,,,,65,41,,,,,65,122,,,47,,,',
'52,52,52,52,,,,,,,,,,,9,,21,,,,41,47,,,,,,41,41,,,9,,21,,,,9,,21,,21',
',52,53,,,,,53,,,52,52,,,,25,65,25,65,,,65,65,25,,,,,,,,25,,,,53,53,53',
'41,,,,,,,,,,,,,,,,,41,,,,,,41,,41,,,,,,,53,53,53,53,,,,,,41,,,26,,26',
'25,,,25,,,,,,,,52,,,,,,,,47,,,,,,25,,,53,,,,25,,52,,,53,53,,,47,,,,',
',,,,,,,,,,65,,,,,,,,,,,26,,,26,,,,,,,,,,,,25,,,,,25,25,,,,26,,,52,,',
',52,25,,,52,52,,,,,,,25,,,,,,,,,52,,,53,,,,,,52,,,,,,26,,,65,,65,,65',
',,,53,,,26,,,,,26,26,,,,,,,,,25,,,,,25,,,,,,,,,65,25,,65,,,,,,,,,,,',
',,,,,,,,,,,,,65,53,,,,53,,,,53,53,,,,,25,,,,,65,25,,,,26,53,,,,26,,',
',25,53,,,,,26,,,,,,,,,,,,,,,,,,,,,,,,,65,,25,25,65,65,25,,,,,,25,,,',
',,,,,,,26,,,,,,,52,,52,,,,26,25,52,,65,,,65,,25,52,,,25,,,25,25,,,,',
',,,,,65,,,,,,26,26,,,26,,,,,,26,65,,,,,,,,,,,,,,,,,,,,52,,,52,,25,,',
',,,,26,,,,26,,,26,26,,25,,,52,,,25,,25,,,,,65,,,,,,,53,,53,,,,,,53,',
',,,,,,53,,,,,,,,,,,,,,26,,,,,,,,,,52,,,,,52,52,26,,,,,,26,,26,,,52,',
',,,,,,,,,52,53,,,53,,,,,,,,65,,,,,,,,,,,,,,53,,,65,,,,,,,,,,,,,,,,,',
',,,,,,52,,,,,52,,,,,,,,,,52,,,,,,,,,,,,,,,53,,,,,53,53,,,,,,,,,,,,53',
',,,,,,,,52,,53,,,32,52,,,,,,,,32,32,32,,,52,,,,,,,,32,32,32,,,,,,,,',
',,,,,,32,32,,,,,,,52,52,,53,52,,,,53,,52,,,,,,,,53,,,,,,,,,,,,,,,,,52',
',,,,,,,52,,,,52,,,52,52,,,,,,,,,53,,,,,,53,,,,,,,,,,,,,53,,,,,,,,,,',
',,,,,,,,,,,,,52,,,,,,,,,53,53,,,53,,,,52,,53,,,,52,,52,,,,,,,,,,,,32',
'32,32,,,32,32,53,,,,,,,,53,,,,53,,32,53,53,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,53,,32,32,,,,,,,,,,,,,,53,,,,,,53,,53,,,,,,,,,,,,',
',,,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(2872, 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,    84,     7,   nil,    50,    83,    73,    56,  -316,   256,
  -490,  -600,  -691,   nil,  -380,     8,   110,   -16,  -199,    79,
    74,   258,     4,  -194,  -399,   745,   812,  -186,   -58,    22,
    28,   -19,  1888,   -11,   nil,   nil,    20,  -168,    52,  -207,
  -355,   322,  -326,   nil,   193,    37,    66,   500,   nil,   -23,
    52,  -253,  1116,  1228,  -272,    41,   -65,     4,   nil,   nil,
    32,    37,  -244,    41,    -5,   963,    99,   -56,   102,  -223,
   123,    -4,  -315,  -252,  -436,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,    91,   103,   -59,   nil,   102,  -241,
  -653,  -511,  -338,    97,  -193,    29,  -538,    97,   112,   112,
  -352,   115,   109,  -538,   112,  -537,  -398,  -729,  -394,  -540,
  -168,  -177,  -396,  -654,  -717,  -218,  -461,  -725,  -444,   nil,
    97,  -380,   162,    81,  -443,    33,  -580,  -509,   nil,  -542,
  -669,  -780,  -778,  -131,  -480,   146,  -324,  -308,   -21,  -600,
  -590,   -30,   nil,   -39,   -39,  -678,  -438,  -563,   nil,   nil,
   169,    13,    47,   166,   166,  -247,  -237,   169,   169,   169,
  -341,  -339,  -326,  -287,   nil,   nil,  -350,  -428,    31,  -635,
  -177,  -423,  -591,   nil,  -588,  -737,   nil,   nil,  -452 ]

racc_goto_default = [
   nil,   nil,   nil,     3,   nil,     4,   344,   291,   nil,   521,
   nil,   836,   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,   805,   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,   702,   549,   nil,   703,   925,   776,
   537,   nil,   538,   nil,   nil,   539,   nil,   541,   645,   nil,
   nil,   nil,   547,   nil,   nil,   nil,   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,   820,   737,   536,   nil,   540,   828,   552,
   554,   555,   788,   558,   559,   789,   562,   565,   283 ]

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

racc_reduce_n = 597

racc_shift_n = 1024

racc_token_table = {
  false => 0,
  :error => 1,
  :kCLASS => 2,
  :kMODULE => 3,
  :kDEF => 4,
  :kUNDEF => 5,
  :kBEGIN => 6,
  :kRESCUE => 7,
  :kENSURE => 8,
  :kEND => 9,
  :kIF => 10,
  :kUNLESS => 11,
  :kTHEN => 12,
  :kELSIF => 13,
  :kELSE => 14,
  :kCASE => 15,
  :kWHEN => 16,
  :kWHILE => 17,
  :kUNTIL => 18,
  :kFOR => 19,
  :kBREAK => 20,
  :kNEXT => 21,
  :kREDO => 22,
  :kRETRY => 23,
  :kIN => 24,
  :kDO => 25,
  :kDO_COND => 26,
  :kDO_BLOCK => 27,
  :kDO_LAMBDA => 28,
  :kRETURN => 29,
  :kYIELD => 30,
  :kSUPER => 31,
  :kSELF => 32,
  :kNIL => 33,
  :kTRUE => 34,
  :kFALSE => 35,
  :kAND => 36,
  :kOR => 37,
  :kNOT => 38,
  :kIF_MOD => 39,
  :kUNLESS_MOD => 40,
  :kWHILE_MOD => 41,
  :kUNTIL_MOD => 42,
  :kRESCUE_MOD => 43,
  :kALIAS => 44,
  :kDEFINED => 45,
  :klBEGIN => 46,
  :klEND => 47,
  :k__LINE__ => 48,
  :k__FILE__ => 49,
  :k__ENCODING__ => 50,
  :tIDENTIFIER => 51,
  :tFID => 52,
  :tGVAR => 53,
  :tIVAR => 54,
  :tCONSTANT => 55,
  :tLABEL => 56,
  :tCVAR => 57,
  :tNTH_REF => 58,
  :tBACK_REF => 59,
  :tSTRING_CONTENT => 60,
  :tINTEGER => 61,
  :tFLOAT => 62,
  :tUPLUS => 63,
  :tUMINUS => 64,
  :tUNARY_NUM => 65,
  :tPOW => 66,
  :tCMP => 67,
  :tEQ => 68,
  :tEQQ => 69,
  :tNEQ => 70,
  :tGEQ => 71,
  :tLEQ => 72,
  :tANDOP => 73,
  :tOROP => 74,
  :tMATCH => 75,
  :tNMATCH => 76,
  :tDOT => 77,
  :tDOT2 => 78,
  :tDOT3 => 79,
  :tAREF => 80,
  :tASET => 81,
  :tLSHFT => 82,
  :tRSHFT => 83,
  :tCOLON2 => 84,
  :tCOLON3 => 85,
  :tOP_ASGN => 86,
  :tASSOC => 87,
  :tLPAREN => 88,
  :tLPAREN2 => 89,
  :tRPAREN => 90,
  :tLPAREN_ARG => 91,
  :tLBRACK => 92,
  :tLBRACK2 => 93,
  :tRBRACK => 94,
  :tLBRACE => 95,
  :tLBRACE_ARG => 96,
  :tSTAR => 97,
  :tSTAR2 => 98,
  :tAMPER => 99,
  :tAMPER2 => 100,
  :tTILDE => 101,
  :tPERCENT => 102,
  :tDIVIDE => 103,
  :tDSTAR => 104,
  :tPLUS => 105,
  :tMINUS => 106,
  :tLT => 107,
  :tGT => 108,
  :tPIPE => 109,
  :tBANG => 110,
  :tCARET => 111,
  :tLCURLY => 112,
  :tRCURLY => 113,
  :tBACK_REF2 => 114,
  :tSYMBEG => 115,
  :tSTRING_BEG => 116,
  :tXSTRING_BEG => 117,
  :tREGEXP_BEG => 118,
  :tREGEXP_OPT => 119,
  :tWORDS_BEG => 120,
  :tQWORDS_BEG => 121,
  :tSYMBOLS_BEG => 122,
  :tQSYMBOLS_BEG => 123,
  :tSTRING_DBEG => 124,
  :tSTRING_DVAR => 125,
  :tSTRING_END => 126,
  :tSTRING_DEND => 127,
  :tSTRING => 128,
  :tSYMBOL => 129,
  :tNL => 130,
  :tEH => 131,
  :tCOLON => 132,
  :tCOMMA => 133,
  :tSPACE => 134,
  :tSEMI => 135,
  :tLAMBDA => 136,
  :tLAMBEG => 137,
  :tCHARACTER => 138,
  :tRATIONAL => 139,
  :tIMAGINARY => 140,
  :tLABEL_END => 141,
  :tEQL => 142,
  :tLOWEST => 143 }

racc_nt_base = 144

racc_use_result_var = true

Racc_arg = [
  racc_action_table,
  racc_action_check,
  racc_action_default,
  racc_action_pointer,
  racc_goto_table,
  racc_goto_check,
  racc_goto_default,
  racc_goto_pointer,
  racc_nt_base,
  racc_reduce_table,
  racc_token_table,
  racc_shift_n,
  racc_reduce_n,
  racc_use_result_var ]

Racc_token_to_s_table = [
  "$end",
  "error",
  "kCLASS",
  "kMODULE",
  "kDEF",
  "kUNDEF",
  "kBEGIN",
  "kRESCUE",
  "kENSURE",
  "kEND",
  "kIF",
  "kUNLESS",
  "kTHEN",
  "kELSIF",
  "kELSE",
  "kCASE",
  "kWHEN",
  "kWHILE",
  "kUNTIL",
  "kFOR",
  "kBREAK",
  "kNEXT",
  "kREDO",
  "kRETRY",
  "kIN",
  "kDO",
  "kDO_COND",
  "kDO_BLOCK",
  "kDO_LAMBDA",
  "kRETURN",
  "kYIELD",
  "kSUPER",
  "kSELF",
  "kNIL",
  "kTRUE",
  "kFALSE",
  "kAND",
  "kOR",
  "kNOT",
  "kIF_MOD",
  "kUNLESS_MOD",
  "kWHILE_MOD",
  "kUNTIL_MOD",
  "kRESCUE_MOD",
  "kALIAS",
  "kDEFINED",
  "klBEGIN",
  "klEND",
  "k__LINE__",
  "k__FILE__",
  "k__ENCODING__",
  "tIDENTIFIER",
  "tFID",
  "tGVAR",
  "tIVAR",
  "tCONSTANT",
  "tLABEL",
  "tCVAR",
  "tNTH_REF",
  "tBACK_REF",
  "tSTRING_CONTENT",
  "tINTEGER",
  "tFLOAT",
  "tUPLUS",
  "tUMINUS",
  "tUNARY_NUM",
  "tPOW",
  "tCMP",
  "tEQ",
  "tEQQ",
  "tNEQ",
  "tGEQ",
  "tLEQ",
  "tANDOP",
  "tOROP",
  "tMATCH",
  "tNMATCH",
  "tDOT",
  "tDOT2",
  "tDOT3",
  "tAREF",
  "tASET",
  "tLSHFT",
  "tRSHFT",
  "tCOLON2",
  "tCOLON3",
  "tOP_ASGN",
  "tASSOC",
  "tLPAREN",
  "tLPAREN2",
  "tRPAREN",
  "tLPAREN_ARG",
  "tLBRACK",
  "tLBRACK2",
  "tRBRACK",
  "tLBRACE",
  "tLBRACE_ARG",
  "tSTAR",
  "tSTAR2",
  "tAMPER",
  "tAMPER2",
  "tTILDE",
  "tPERCENT",
  "tDIVIDE",
  "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",
  "aref_args",
  "none",
  "args",
  "trailer",
  "assocs",
  "paren_args",
  "opt_paren_args",
  "opt_block_arg",
  "block_arg",
  "@4",
  "literal",
  "strings",
  "xstring",
  "regexp",
  "words",
  "qwords",
  "symbols",
  "qsymbols",
  "var_ref",
  "assoc_list",
  "brace_block",
  "method_call",
  "lambda",
  "then",
  "if_tail",
  "do",
  "case_body",
  "for_var",
  "superclass",
  "term",
  "f_arglist",
  "singleton",
  "@5",
  "@6",
  "@7",
  "@8",
  "@9",
  "@10",
  "@11",
  "@12",
  "@13",
  "@14",
  "@15",
  "@16",
  "@17",
  "@18",
  "@19",
  "@20",
  "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",
  "@21",
  "@22",
  "f_args",
  "do_block",
  "@23",
  "@24",
  "@25",
  "operation3",
  "@26",
  "@27",
  "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",
  "@28",
  "@29",
  "args_tail",
  "@30",
  "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

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

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

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

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

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

# reduce 7 omitted

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

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

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

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

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

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

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

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

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

# reduce 15 omitted

def _reduce_16(val, _values, result)
                      diagnostic :error, :begin_in_method, nil, val[0]
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 29 omitted

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

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

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

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

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

def _reduce_35(val, _values, result)
                      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

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

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

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

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

# reduce 40 omitted

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

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

# reduce 43 omitted

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

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

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

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

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

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

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

                      @static_env.unextend
                      @context.pop
                    
    result
end

# reduce 56 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 72 omitted

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

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

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

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

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

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

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

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

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

# reduce 82 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 107 omitted

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

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

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

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

# reduce 117 omitted

# reduce 118 omitted

# reduce 119 omitted

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

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

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

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

def _reduce_195(val, _values, result)
                      rescue_body = @builder.rescue_body(val[3],
                                        nil, nil, nil,
                                        nil, val[4])

                      rescue_ = @builder.begin_body(val[2], [ rescue_body ])

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 237 omitted

# reduce 238 omitted

# reduce 239 omitted

# reduce 240 omitted

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

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

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

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

# reduce 245 omitted

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

# reduce 247 omitted

# reduce 248 omitted

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

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

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

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

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

def _reduce_254(val, _values, result)
                      assocs = @builder.associate(nil, val[2], nil)
                      result = val[0] << assocs
                      result.concat(val[3])
                    
    result
end

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

def _reduce_256(val, _values, result)
                      result = @lexer.cmdarg.dup
                      @lexer.cmdarg.push(true)
                    
    result
end

def _reduce_257(val, _values, result)
                      @lexer.cmdarg = val[0]

                      result = val[1]
                    
    result
end

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

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

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

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

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

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

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

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

# reduce 266 omitted

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

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

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

# reduce 270 omitted

# reduce 271 omitted

# reduce 272 omitted

# reduce 273 omitted

# reduce 274 omitted

# reduce 275 omitted

# reduce 276 omitted

# reduce 277 omitted

# reduce 278 omitted

# reduce 279 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 301 omitted

def _reduce_302(val, _values, result)
                      begin_t, args, body, end_t = val[1]
                      result      = @builder.block(val[0],
                                      begin_t, args, body, end_t)
                    
    result
end

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

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

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

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

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

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

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

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

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

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

def _reduce_312(val, _values, result)
                      *when_bodies, (else_t, else_body) = *val[3]

                      result = @builder.case(val[0], val[1],
                                             when_bodies, else_t, else_body,
                                             val[4])
                    
    result
end

def _reduce_313(val, _values, result)
                      *when_bodies, (else_t, else_body) = *val[2]

                      result = @builder.case(val[0], nil,
                                             when_bodies, else_t, else_body,
                                             val[3])
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

                      @lexer.pop_cmdarg
                      @static_env.unextend
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

# reduce 332 omitted

# reduce 333 omitted

# reduce 334 omitted

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

# reduce 336 omitted

# reduce 337 omitted

# reduce 338 omitted

def _reduce_339(val, _values, result)
                      else_t, else_ = val[4]
                      result = [ val[0],
                                 @builder.condition(val[0], val[1], val[2],
                                                    val[3], else_t,
                                                    else_,  nil),
                               ]
                    
    result
end

# reduce 340 omitted

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

# reduce 342 omitted

# reduce 343 omitted

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

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

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

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

# reduce 348 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 368 omitted

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

def _reduce_370(val, _values, result)
                      if val[1].empty? && val[0].size == 1
                        result = [@builder.procarg0(val[0][0])]
                      else
                        result = val[0].concat(val[1])
                      end
                    
    result
end

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

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

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

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

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

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

# reduce 377 omitted

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

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

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

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

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

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

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

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

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

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

# reduce 388 omitted

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

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

def _reduce_391(val, _values, result)
                      @lexer.cmdarg = val[2]
                      @lexer.cmdarg.lexpop

                      result = [ val[1], val[3] ]

                      @static_env.unextend
                    
    result
end

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

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

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

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

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

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

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

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

                      @static_env.unextend
                      @context.pop
                    
    result
end

def _reduce_400(val, _values, result)
                      begin_t, block_args, body, end_t = val[1]
                      result      = @builder.block(val[0],
                                      begin_t, block_args, body, end_t)
                    
    result
end

def _reduce_401(val, _values, result)
                      lparen_t, args, rparen_t = val[3]
                      result = @builder.call_method(val[0], val[1], val[2],
                                  lparen_t, args, rparen_t)
                    
    result
end

def _reduce_402(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

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

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

def _reduce_404(val, _values, result)
                      lparen_t, args, rparen_t = val[1]
                      result = @builder.call_method(nil, nil, val[0],
                                  lparen_t, args, rparen_t)
                    
    result
end

def _reduce_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

def _reduce_406(val, _values, result)
                      lparen_t, args, rparen_t = val[3]
                      result = @builder.call_method(val[0], val[1], val[2],
                                  lparen_t, args, rparen_t)
                    
    result
end

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

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

def _reduce_409(val, _values, result)
                      lparen_t, args, rparen_t = val[2]
                      result = @builder.call_method(val[0], val[1], nil,
                                  lparen_t, args, rparen_t)
                    
    result
end

def _reduce_410(val, _values, result)
                      lparen_t, args, rparen_t = val[1]
                      result = @builder.keyword_cmd(:super, val[0],
                                  lparen_t, args, rparen_t)
                    
    result
end

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

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

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

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

                      @static_env.unextend
                      @context.pop
                    
    result
end

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

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

                      @static_env.unextend
                      @context.pop
                    
    result
end

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

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

# reduce 419 omitted

def _reduce_420(val, _values, result)
                      assoc_t, exc_var = val[2]

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

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

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

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

# reduce 423 omitted

# reduce 424 omitted

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

# reduce 426 omitted

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

# reduce 428 omitted

# reduce 429 omitted

# reduce 430 omitted

# reduce 431 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 467 omitted

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

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

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

def _reduce_471(val, _values, result)
                      if @builder.respond_to? :negate
                        # AST builder interface compatibility
                        result = @builder.negate(val[0], val[1])
                      else
                        result = @builder.unary_num(val[0], val[1])
                      end
                    
    result
end

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

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

def _reduce_474(val, _values, result)
                      result = @builder.rational(val[0])
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                      @lexer.state = :expr_value
                    
    result
end

def _reduce_499(val, _values, result)
                      result = @lexer.in_kwarg
                      @lexer.in_kwarg = true
                    
    result
end

def _reduce_500(val, _values, result)
                      @lexer.in_kwarg = val[0]
                      result = @builder.args(nil, val[1], nil)
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 526 omitted

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

                      result = val[0]
                    
    result
end

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

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

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

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

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

def _reduce_533(val, _values, result)
                      check_kwarg_name(val[0])

                      @static_env.declare val[0][0]

                      result = val[0]
                    
    result
end

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

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

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

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

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

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

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

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

# reduce 542 omitted

# reduce 543 omitted

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

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

def _reduce_545(val, _values, result)
                      result = [ @builder.kwrestarg(val[0]) ]
                    
    result
end

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

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

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

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

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

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

# reduce 552 omitted

# reduce 553 omitted

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

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

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

# reduce 556 omitted

# reduce 557 omitted

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

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

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

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

# reduce 561 omitted

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

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

# reduce 564 omitted

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

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

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

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

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

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

# 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

# reduce 586 omitted

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

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

# reduce 589 omitted

# reduce 590 omitted

# reduce 591 omitted

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

# reduce 593 omitted

# reduce 594 omitted

# reduce 595 omitted

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

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

  end   # class Ruby22
  end   # module Parser
