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

require 'racc/parser.rb'


require 'parser'

module Parser
  class Ruby24 < Parser::Base


  def version
    24
  end

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

clist = [
'-483,997,270,209,210,209,210,-483,-483,-483,109,543,-483,-483,-483,585',
'-483,772,-102,583,219,772,209,210,-483,397,-483,-483,-483,113,399,398',
'816,785,112,-107,-483,-483,-104,-483,-483,-483,-483,-483,543,-103,-105',
'543,-100,-100,-103,-102,771,-85,-101,113,771,113,270,121,112,220,112',
'-71,868,-106,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483',
'-483,-483,-483,206,584,-483,-483,-483,582,-483,-483,-104,269,-483,-99',
'-105,-483,-483,-101,-483,220,-483,220,-483,207,-483,-483,-107,-483,-483',
'-483,-483,-483,543,-483,-290,-483,543,-580,220,-106,-99,-290,-290,-290',
'-580,-581,-290,-290,-290,-483,-290,113,-483,-483,-483,-483,112,-483',
'-102,-483,-290,-290,-290,-102,-483,-483,-98,269,208,699,-290,-290,521',
'-290,-290,-290,-290,-290,-104,-581,-91,-94,-93,-104,113,-103,-105,113',
'-100,112,-103,-105,112,-100,-101,867,-97,699,699,-101,-290,-290,-290',
'-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,209,210,-290',
'-290,-290,-95,761,-290,-90,-96,-290,570,-92,-290,-290,-106,-290,270',
'-290,113,-290,211,-290,-290,112,-290,-290,-290,-290,-290,-107,-290,270',
'-290,217,-107,113,113,259,821,113,112,112,-106,-99,112,570,-290,-106',
'-99,-290,-290,-290,-290,318,-290,-497,-290,-584,113,-498,319,-290,-105',
'112,-584,-584,-584,91,92,-584,-584,-584,-94,-584,572,571,586,209,210',
'785,265,549,-584,-584,-584,-584,113,113,692,691,-107,112,112,-584,-584',
'265,-584,-584,-584,-584,-584,91,92,269,758,220,-95,-92,-93,572,571,676',
'-99,673,672,671,-100,674,269,732,521,209,210,-584,-584,-584,-584,-584',
'-584,-584,-584,-584,-584,-584,-584,-584,-584,-580,-94,-584,-584,-584',
'387,760,-584,93,94,-584,759,604,-584,-584,555,-584,400,-584,556,-584',
'449,-584,-584,-102,-584,-584,-584,-584,-584,-97,-584,-584,-584,113,-95',
'-92,-93,570,112,-106,-94,93,94,-94,816,785,-584,450,570,-584,-584,-584',
'-584,-94,-584,886,-584,-486,-95,745,840,-584,-103,603,-486,-486,-486',
'-104,-104,-486,-486,-486,451,-486,-95,-92,-93,-95,-92,-93,604,-486,452',
'-486,-486,-486,219,-95,-92,-93,483,492,603,-486,-486,494,-486,-486,-486',
'-486,-486,572,571,676,-107,673,672,671,215,674,-93,730,572,571,575,263',
'-101,-101,533,496,-102,535,745,-486,-486,-486,-486,-486,-486,-486,-486',
'-486,-486,-486,-486,-486,-486,-104,504,-486,-486,-486,533,-486,-486',
'535,-70,-486,570,-102,-486,-486,570,-486,217,-486,570,-486,-498,-486',
'-486,570,-486,-486,-486,-486,-486,-290,-486,-92,-486,220,507,216,-290',
'-290,-290,508,515,-101,-290,-290,274,-290,-486,984,220,-486,-486,-486',
'-486,215,-486,533,-486,-577,532,265,263,-486,-486,-98,518,-290,-290',
'-91,-290,-290,-290,-290,-290,-107,572,571,568,-100,572,571,568,522,572',
'571,573,570,-497,572,571,577,533,636,240,535,220,-290,-290,-290,-290',
'-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-483,536,-290,-290',
'-290,220,608,-483,1001,216,-290,537,-577,-290,496,549,-483,389,-290',
'553,-290,554,-290,-290,-90,-290,-290,-290,-290,-290,-290,-290,562,-290',
'-99,-577,587,-290,-290,-290,572,571,581,-290,-290,590,-290,-290,240',
'-263,-290,-290,79,-96,-490,-290,592,593,-578,597,220,-490,-290,-105',
'80,-483,-290,-290,601,-290,-290,-290,-290,-290,81,215,602,265,613,215',
'237,-489,524,-488,239,238,214,-491,-489,240,-488,448,240,240,-491,212',
'-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290',
'-486,215,-290,-290,-290,240,608,-486,970,-490,-290,220,-578,-290,-494',
'220,-486,560,-290,220,-290,-494,-290,-290,-85,-290,-290,-290,-290,-290',
'216,-290,-584,-290,216,-578,-489,640,-488,-584,-584,-584,-491,220,526',
'-584,-584,-290,-584,651,-290,-290,656,-290,215,-290,657,-584,220,240',
'659,975,-290,-105,695,-486,216,549,-584,-584,973,-584,-584,-584,-584',
'-584,702,215,719,-494,729,-291,-492,-493,447,-486,733,-483,-291,-492',
'-493,237,-486,448,-483,239,238,-291,-584,-584,-584,-584,-584,-584,-584',
'-584,-584,-584,-584,-584,-584,-584,734,-264,-584,-584,-584,-334,609',
'216,746,483,-584,483,-334,-584,220,-584,763,764,-584,259,-584,-334,-584',
'-584,769,-584,-584,-584,-584,-584,216,-584,-584,-584,-291,-492,-493',
'774,-486,494,-483,215,-290,496,778,651,220,-584,596,-290,-584,-584,-584',
'-584,-581,-584,265,594,-290,-584,-584,-584,-584,-103,265,-584,-584,-584',
'-584,967,-334,673,672,671,-584,674,651,-584,676,-580,673,672,671,-584',
'674,240,785,793,-584,-584,796,-584,-584,-584,-584,-584,797,-290,799',
'801,803,811,-584,812,-290,813,216,-290,967,-581,673,672,671,-290,674',
'805,785,820,-584,-584,-584,-584,-584,-584,-584,-584,-584,-584,-584,-584',
'-584,-584,-584,220,-584,-584,-584,-495,609,220,-496,829,-584,-265,-495',
'-584,220,-496,839,843,-584,651,-584,-495,-584,-584,-496,-584,-584,-584',
'-584,-584,-290,-584,-584,-584,676,860,673,672,671,681,674,215,116,117',
'118,119,120,-584,514,684,-584,-584,-413,-94,-263,-584,864,512,220,-413',
'-413,-413,-584,-103,-413,-413,-413,884,-413,220,-495,679,888,-496,890',
'240,896,-413,-413,-413,689,688,692,691,899,220,903,685,-413,-413,-266',
'-413,-413,-413,-413,-413,676,905,673,672,671,-281,674,796,908,910,216',
'237,-281,912,914,239,238,220,235,236,220,-281,-413,-413,-413,-413,-413',
'-413,-413,-413,-413,-413,-413,-413,-413,-413,916,805,-413,-413,-413',
'215,917,-413,-291,265,-413,930,970,-413,-413,-291,-413,796,-413,932',
'-413,560,-413,-413,-291,-413,-413,-413,-413,-413,934,-413,-413,-413',
'-281,240,681,936,215,681,938,215,938,220,944,558,684,-413,552,684,-413',
'-413,-246,-413,560,-413,947,550,948,-246,-246,-246,-413,953,-246,-246',
'-246,237,-246,719,216,239,238,-291,235,236,964,-246,-246,692,691,971',
'692,691,685,976,986,685,-246,-246,796,-246,-246,-246,-246,-246,676,991',
'673,672,671,993,674,216,724,725,216,995,726,107,108,997,997,676,656',
'673,672,671,681,674,116,117,118,119,120,1010,1011,1012,684,-246,938',
'-246,938,805,938,1017,-246,986,-246,-246,-246,265,-246,-246,-246,-246',
'1020,-246,1021,676,679,673,672,671,-581,674,-246,-246,-246,689,688,692',
'691,-580,-246,-246,685,-246,-246,220,-246,-246,-246,-246,-246,986,1030',
'997,997,-246,997,938,-246,986,,,805,-246,116,117,118,119,120,,-246,808',
',-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246',
',,-246,-246,-246,,,-246,,265,-246,,,-246,-246,,-246,,-246,,-246,,-246',
'-246,,-246,-246,-246,-246,-246,-282,-246,-246,-246,,,,-282,-282,-282',
',,-282,-282,-282,,-282,-246,,,-246,-246,,-246,,-246,-282,-282,-282,',
',,-246,,,,-282,-282,,-282,-282,-282,-282,-282,676,,673,672,671,676,674',
'673,672,671,676,674,673,672,671,,674,116,117,118,119,120,-282,-282,-282',
'-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,,805,-282,-282',
'-282,,805,-282,,,-282,805,,-282,-282,943,-282,,-282,,-282,,-282,-282',
',-282,-282,-282,-282,-282,,-282,,-282,676,,673,672,671,,674,,,,,,,-282',
',,-282,-282,-282,-282,,-282,-585,-282,,,,,-282,-585,-585,-585,,,-585',
'-585,-585,805,-585,240,,,,,,,808,-585,-585,-585,-585,,,,,254,255,,-585',
'-585,,-585,-585,-585,-585,-585,,,,,,237,,243,,239,238,,235,236,,,241',
',242,,,,-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,-586,-585,,,,,-585,-586,-586,-586,,,-586',
'-586,-586,240,-586,,,,,,,,,-586,-586,-586,-586,,,254,255,,,,-586,-586',
',-586,-586,-586,-586,-586,,,,237,,243,,239,238,,235,236,,,241,,242,',
',,,,-586,-586,-586,-586,-586,-586,-586,-586,-586,-586,-586,-586,-586',
'-586,,,-586,-586,-586,,,-586,,,-586,,,-586,-586,,-586,,-586,,-586,,-586',
'-586,,-586,-586,-586,-586,-586,,-586,-586,-586,,,,,,,,,,,,,,-586,,,-586',
'-586,-586,-586,,-586,-297,-586,,,,,-586,-297,-297,-297,,,-297,-297,-297',
'240,-297,,,,,,,,,,-297,-297,,,,254,255,,,,-297,-297,,-297,-297,-297',
'-297,-297,,,,237,,243,,239,238,,235,236,,,241,,242,,,,,,-297,-297,-297',
'-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,,,-297,-297,-297',
',,-297,,274,-297,,,-297,-297,,-297,,-297,,-297,,-297,-297,,-297,-297',
'-297,-297,-297,,-297,,-297,,,,,,,,,,,,,,-297,,,-297,-297,,-297,,-297',
'292,69,70,71,9,57,-297,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
'27,101,100,102,103,,,19,,,,,598,8,45,294,10,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,42,43,41,240,244,249,250,251,246,248,256,257,252',
'253,,233,234,,,254,255,,40,,,33,,,58,59,,,60,,35,237,,243,44,239,238',
',235,236,247,245,241,20,242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,258',
',-238,,,62,,81,93,94,292,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,598,8,45,294,10,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,240,244,249,250,251,246',
'248,256,257,252,253,,233,234,,,254,255,,40,,,33,,,58,59,,,60,,35,237',
',243,44,239,238,,235,236,247,245,241,20,242,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,258,,,,,62,,81,93,94,292,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,294',
'10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,240,244,249',
'250,251,246,248,256,257,252,253,,233,234,,,254,255,,40,,,33,,,58,59',
',,60,,35,237,,243,44,239,238,,235,236,247,245,241,20,242,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,220,258,,,,,62,,81,93,94,292,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,294,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,240,244,249,250,251,246,248,256,257,252,253,,233,234,,,254,255',
',40,,,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236,247,245,241,20',
'242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,258,,,,,62,,81,93,94,292',
'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,294,10,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,240,244,249,250,251,246,248,256,257,252,253,,233',
'234,,,254,255,,40,,,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236',
'247,245,241,20,242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,258,,,,,62',
',81,93,94,292,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,294,10,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,240,244,249,250,251,246,248,256,257',
'252,253,,233,234,,,254,255,,40,,,33,,,58,59,,,60,,35,237,,243,44,239',
'238,,235,236,247,245,241,20,242,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',258,,,,,62,,81,93,94,292,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,294,10,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,240,244,249,250,251,246',
'248,256,257,252,253,,233,234,,,254,255,,40,,,33,,,58,59,,,60,,35,237',
',243,44,239,238,,235,236,247,245,241,20,242,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,258,,,,,62,,81,93,94,292,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,294',
'10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,240,244,249',
'250,251,246,248,256,257,252,253,,233,234,,,254,255,,40,,,33,,,58,59',
',,60,,35,237,,243,44,239,238,,235,236,247,245,241,20,242,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,258,,,,,62,,81,93,94,292,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,294,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43',
'41,240,-605,-605,-605,-605,246,248,,,-605,-605,,,,,,254,255,,40,,,33',
',,58,59,,,60,,35,237,,243,44,239,238,,235,236,247,245,241,20,242,,,',
'89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,292,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,294,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
'42,43,41,240,-605,-605,-605,-605,246,248,,,-605,-605,,,,,,254,255,,40',
',,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236,247,245,241,20,242',
',,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,292,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,294,10,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,240,244,249,250,251,246,248,256,257,252,253,,-605,-605,',
',254,255,,40,,,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236,247',
'245,241,20,242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93',
'94,5,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'101,100,102,103,,,19,,,,,,8,45,7,10,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,240,-605,-605,-605,-605,246,248,,,-605,-605,,,,',
',254,255,,40,,,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236,247',
'245,241,20,242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93',
'94,5,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'101,100,102,103,,,19,,,,,,8,45,7,10,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,240,,,,,,,,,,,,,,,,254,255,,40,,,33,,,58,59,,,60',
',35,237,,243,44,239,238,,235,236,,,241,20,242,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,,,,62,,81,93,94,292,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,294',
'10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,240,-605,-605',
'-605,-605,246,248,,,-605,-605,,,,,,254,255,,40,,,33,,,58,59,,,60,,35',
'237,,243,44,239,238,,235,236,247,245,241,20,242,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,,,,62,,81,93,94,292,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,294',
'10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,240,-605,-605',
'-605,-605,246,248,,,-605,-605,,,,,,254,255,,40,,,33,,,58,59,,,60,,35',
'237,,243,44,239,238,,235,236,247,245,241,20,242,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,,,,62,,81,93,94,292,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,294',
'10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,240,-605,-605',
'-605,-605,246,248,,,-605,-605,,,,,,254,255,,40,,,33,,,58,59,,,60,,35',
'237,,243,44,239,238,,235,236,247,245,241,20,242,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,,,,62,,81,93,94,292,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,294',
'10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,240,244,249',
'250,251,246,248,256,257,252,253,,-605,-605,,,254,255,,40,,,33,,,58,59',
',,60,,35,237,,243,44,239,238,,235,236,247,245,241,20,242,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,292,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,294,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
'240,244,249,250,251,246,248,,,252,253,,,,,,254,255,,40,,,296,,,58,59',
',,60,,35,237,,243,44,239,238,,235,236,247,245,241,20,242,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,292,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,294,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
'240,244,249,250,251,246,248,256,,252,253,,,,,,254,255,,40,,,33,,,58',
'59,,,60,,35,237,,243,44,239,238,,235,236,247,245,241,20,242,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,292,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,294,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43',
'41,240,,,,,,,,,,,,,,,,254,255,,40,,,296,,,58,59,,,60,,35,237,,243,44',
'239,238,,235,236,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,',
'62,,81,93,94,292,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,294,10,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,42,43,41,240,,,,,,,,,,,,,,,,254,255,,40',
',,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236,,,,20,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,292,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,294,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
'240,,,,,,,,,,,,,,,,254,255,,40,,,33,,,58,59,,,60,,35,237,,,44,239,238',
',235,236,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93',
'94,292,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,294,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,,,,,,,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,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,',
'60,,35,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,',
',62,,81,93,94,292,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,294,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',
',,,,,,62,,81,93,94,292,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,294,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,,,,,,,62,,81,93,94,292,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,294,10,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,40',
',,296,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,,,,62,,81,93,94,292,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,294,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,,,,,,,62,,81,93,94,292,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,294,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',
'311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,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,,,232,,,,,,,45,,,105,104,106',
'95,56,97,96,98,286,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225',
',,231,,,58,59,,,60,,283,,281,,44,,,287,,,,,,230,,,,,89,284,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,,,232,,,,,,,45,,,105,104,106',
'95,56,97,96,98,286,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225',
',,231,,,58,59,,,60,,283,,281,,44,,,287,,,,,,230,,,,,89,284,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,,,232,,,,,,,45,,,105,104,106',
'95,56,97,96,98,286,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225',
',,231,,,58,59,,,60,,283,,281,,44,,,287,,,,,,230,,,,,89,284,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,309,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,,,315,,,,,,,,,,,,,,,,,,,,305',
',,231,,,58,59,,,60,,,676,,673,672,671,681,674,,,,,,,,,684,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,510,,679,62,,81,93,94,69,70,71,,57,692',
'691,,63,64,685,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100',
'102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,',
',,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102',
'103,,,232,,,,,,,309,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
',,315,,,,,,,,,,,,,,,,,,,,919,,,231,,,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,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,',
',,,,309,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,315,,,,,,',
',,,,,,,,,,,,,925,,,231,,,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,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311',
'312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,309,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,,,315,,,,,,,,,,,,,,,,,,,,305,',
',301,,,58,59,,,60,,300,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,',
',80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73',
',,,,,307,308,314,101,100,102,103,,,232,,,,,,,309,,,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,,,315,,,,,,,,,,,,,,,,,,,,305,,,231,,,58',
'59,,,60,,,676,,673,672,671,681,674,,,,,,,,,684,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,,,317,,679,62,,81,93,94,69,70,71,9,57,692,691,,63,64,685',
',,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8',
'45,7,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,',
',,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,309,,',
'105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,315,,,,,,,,,,,,,,,,',
',,,305,,,301,,,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,311,312,72',
'73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231',
',,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,',
',,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58',
'59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307',
'308,314,101,100,102,103,,,232,,,,,,,309,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,,,315,,,,,,,,,,,,,,,,,,,,305,,,301,,,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,311,312,72,73,,,,,,307,308,314,101',
'100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,',
',,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102',
'103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,',
'232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,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,,,232,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311',
'312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,309,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,,,315,,,,,,,,,,,,,,,,,,,,919,',
',231,,,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,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60',
',,,,,44,,,,,,,,,230,,,,,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,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,',
',,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102',
'103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,633,,,,44,,,,,,,,,230',
',,,,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,,,232,',
',,,,,45,,,105,104,106,95,56,97,96,98,286,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,283,,281,,44,,,287,,,,,,230',
',,,,89,284,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,',
'232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,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,,,,,,,,,,,',
',,,,,,,,225,,,231,,,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',
'311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311',
'312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225',
',,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72',
'73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231',
',,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,',
',,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58',
'59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307',
'308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60',
',,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314',
'101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44',
',,,,,,,,230,,,,,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,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,',
'232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,',
',,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311',
'312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225',
',,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72',
'73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231',
',,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,',
',,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58',
'59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307',
'308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60',
',,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314',
'101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44',
',,,,,,,,230,,,,,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,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286,99,107,108,,91,92',
'42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,283,,281,,44,,,287',
',,,,,230,,,,,89,284,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',
',,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,283,,281,,44,,,287',
',,,,,230,,,,,89,284,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',
',,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,283,,281,,44,,,287',
',,,,,230,,,,,89,284,82,83,,84,86,85,87,,,,,80,88,220,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100',
'102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,',
',,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102',
'103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,',
'232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,',
',,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311',
'312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225',
',,231,,,58,59,,,60,,405,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312',
'72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,',
'231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,',
',,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72',
'73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231',
',,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,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,,,,,,,,,,,,,,,,,,,,225,,,231,,,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,311,312,72,73,,,,,,307,308,314',
'101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44',
',,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100',
'102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,',
',,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102',
'103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,',
'232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,',
',,,,309,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,315,,,,,,',
',,,,,,,,,,,,,305,,,301,,,58,59,,,60,,,676,,673,672,671,681,674,,,,,',
',,,684,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,679,62,,81,93,94,69',
'70,71,9,57,692,691,,63,64,685,,,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,311,312,72,73,,,,,,307,308,314',
'101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44',
',,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100',
'102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,',
',,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102',
'103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286,99,107,108,,91,92',
'42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,281,,44,,,287',
',,,,,230,,,,,89,284,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102',
'103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230',
',,,,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,,,,',
',,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,220,,,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,,,,,,,,,,,,,',
',,,,,,225,,,231,,,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,,,232,,,,,,,45,,,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,',
'231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,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,,,232,,,,,,,45,,,105,104,106,95,56,97',
'96,98,286,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,',
'58,59,,,60,,283,,281,,44,,,287,,,,,,230,,,,,89,284,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72',
'73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231',
',,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,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,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98',
'286,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59',
',,60,,283,,281,,44,,,287,,,,,,230,,,,,89,284,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,,,,,,,,,,,,,,,,,,,,225,,,231,,,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,,,,,,,,,,,,,,,,,,,,225,,,231,,,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',
',,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,283,,281,,44,,,287',
',,,,,230,,,,,89,284,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102',
'103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,283,,,,44,,,,,,,,,230',
',,,,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,,,232,',
',,,,,45,,,105,104,106,95,56,97,96,98,286,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,283,,281,,44,,,287,,,,,,230',
',,,,89,284,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,,,232,',
',,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,',
',,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,',
',45,,,105,104,106,95,56,97,96,98,286,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,287,,,,,,230,,,,,89',
'284,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,',
',67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,',
',,,,,45,,,105,104,106,95,56,97,96,98,286,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,633,,,,44,,,287,,,,,,230',
',,,,89,284,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,,,,',
',,,,,,,,,,,,,,,225,,,231,,,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,,,,,,,,,,,,,,,,,',
',,225,,,231,,,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,,,232,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231',
',,58,59,,,60,,405,,,,44,,,,,,,,,230,,,,,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,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60',
',405,,,,44,,,,,,,,,230,,,,,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,,,,,,,,,,,,,,,,,,,,225,,,231,,,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,311,312,72,73,,,,,,307,308,314,101,100,102',
'103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286,99,107,108,,91,92',
'42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,283,,,,44,,,287',
',,,,,230,,,,,89,284,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102',
'103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230',
',,,,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,,,,',
',,,,,,,,,,,,,,,225,,,231,,,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,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,309,,',
'105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,315,,,,,,,,,,,,,,,,',
',,,305,,,301,,,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,,,232,,,,,,,45,,,105,104,106,95,56',
'97,96,98,286,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231',
',,58,59,,,60,,283,,281,,44,,,287,,,,,,230,,,,,89,284,82,83,,84,86,85',
'87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312',
'72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,309,,,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,,,315,,,,,,,,,,,,,,,,,,,,305,,,301',
',,58,59,,,60,,,676,,673,672,671,681,674,,,,,,,,,684,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,,,679,62,,81,93,94,69,70,71,9,57,692,691,,63,64',
'685,,,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,,,19,,,,,,,45,,',
'105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,',
',,,,,,225,,,231,,,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,,,,,,,,,,,,,,,,,,,,225,,',
'231,,,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,294,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,,,,,,389,62,,81,93,94,69,70,71,,57,,,,63,64,,,,67,,65,66,68',
'311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311',
'312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104',
'106,95,56,97,96,98,286,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,',
',225,,,231,,,58,59,,,60,,,,281,,44,,,287,,,,,,230,,,,,89,284,82,83,',
'84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105',
'104,106,95,56,97,96,98,286,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,',
',,,,,225,,,231,,,58,59,,,60,,633,,281,,44,,,287,,,,,,230,,,,,89,284',
'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,,,,,,,,,,,,,',
',,,,,,225,,,231,,,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,,,,,,,,,,,,,,,,,,,,225,,',
'231,,,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,,,,,,,,,,,,,,,,,,,,225,,,231,,,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,311,312,72,73,,,,,,307,308',
'314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286',
'99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60',
',,,,,44,,,287,,,,,,230,,,,,89,284,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,,,,,,,,,,,,,,,,,,,,225,,,231,,,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,311,312,72,73,,,,,,307,308,314,101,100,102',
'103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230',
',,,,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,,,,',
',,,,,,,,,,,,,,,225,,,231,,,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,,,,,,,,,,,,,,,,,',
',,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,113,,,,,112,62,,81,93,94,69,70,71,9,57,,,,63,64,,,,67,',
'65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,7',
'10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,',
',,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,,,389,62,,81,93,94,69,70,71,,57,,,,63,64,,',
',67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,',
',,,,,309,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,315,,,,,',
',,,,,,,,,,,,,,349,,,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,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,309,,',
'105,104,106,354,56,97,96,355,,99,107,108,,91,92,,,315,,,,,,,,,,,,,,',
',,361,,,356,,,231,,,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,311',
'312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,309,,,105,104',
'106,354,56,97,96,355,,99,107,108,,91,92,,,315,,,,,,,,,,,,,,,,,,,,356',
',,231,,,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,311,312,72,73,,',
',,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58',
'59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307',
'308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60',
',,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314',
'101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44',
',,,,,,,,230,,,,,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,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,',
'232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,225,,,231,526,,58,59,,,60,,,,,,44,,,,,,,,,230,,,',
',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,,,232,,,,',
',,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,',
',,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45',
',,105,104,106,95,56,97,96,98,286,99,107,108,,91,92,42,43,41,,,,,,,,',
',,,,,,,,,,,225,,,231,,,58,59,,,60,,,,281,,44,,,287,,,,,,230,,,,,89,284',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,',
',45,,,105,104,106,95,56,97,96,98,286,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,633,,281,,44,,,287,,,,,,230,',
',,,89,284,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,',
'232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,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,,,,,,,,,,,',
',,,,,,,,225,,,231,,,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,,,232,,,,,,,45,,,105,104,106',
'95,56,97,96,98,286,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225',
',,231,,,58,59,,,60,,283,,281,,44,,,287,,,,,,230,,,,,89,284,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,,,232,,,,,,,45,,,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,',
'231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,',
',,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72',
'73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231',
',,58,59,,,60,,737,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,',
',80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73',
',,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,',
'58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',,,,,,62,,81,93,94,173,184,174,197,170,190,180,179,200,201,195,178,177',
'172,198,202,203,182,171,185,189,191,183,176,,,,192,199,194,193,186,196',
'181,169,188,187,,,,,,168,175,166,167,163,164,165,124,126,,,125,,,,,',
',,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147',
',,,,,,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155,134',
',,162,89,,,,,,,,,,,,,,88,173,184,174,197,170,190,180,179,200,201,195',
'178,177,172,198,202,203,182,171,185,189,191,183,176,,,,192,199,194,193',
'186,196,181,169,188,187,,,,,,168,175,166,167,163,164,165,124,126,123',
',125,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160',
'146,147,,,,,,,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133',
'155,134,,,162,89,,,,,,,,,,,,,,88,173,184,174,197,170,190,180,179,200',
'201,195,178,177,172,198,202,203,182,171,185,189,191,183,176,,,,192,199',
'194,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,372,371,373,370,169,188,187,,,,,,168,175,166,167',
'367,368,369,365,126,97,96,366,,99,,,,,,157,158,,154,136,137,138,145',
'142,144,,,139,140,,,,159,160,146,147,,,,,,377,,,,,,,,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,644,431,162,,645,,,,,,,,157,158,,154,136',
'137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,265,,,,,,,,151',
'150,,135,156,153,152,161,148,149,143,141,133,155,134,481,431,162,,482',
',,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146',
'147,,,,,,265,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133',
'155,134,1003,438,162,,1002,,,,,,,,157,158,,154,136,137,138,145,142,144',
',,139,140,,,,159,160,146,147,,,,,,265,,,,,,,,151,150,,135,156,153,152',
'161,148,149,143,141,133,155,134,739,431,162,,740,,,,,,,,157,158,,154',
'136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,265,,,,,,',
',151,150,,135,156,153,152,161,148,149,143,141,133,155,134,742,438,162',
',741,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160',
'146,147,,,,,,265,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141',
'133,155,134,616,438,162,,617,,,,,,,,157,158,,154,136,137,138,145,142',
'144,,,139,140,,,,159,160,146,147,,,,,,265,,,,,,,,151,150,,135,156,153',
'152,161,148,149,143,141,133,155,134,614,431,162,,615,,,,,,,,157,158',
',154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,265,',
',,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155,134,481,431',
'162,,482,,,,,,,,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,427,431,162,,428,,,,,,,,157,158,,154,136,137,138,145,142',
'144,,,139,140,,,,159,160,146,147,,,,,,265,,,,,,,,151,150,,135,156,153',
'152,161,148,149,143,141,133,155,134,434,438,162,,433,,,,,,,,157,158',
',154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,265,',
',,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155,134,1006',
'431,162,,1007,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140',
',,,159,160,146,147,,,,,,265,,,,,,,,151,150,,135,156,153,152,161,148',
'149,143,141,133,155,134,710,438,162,,711,,,,,,,,157,158,,154,136,137',
'138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,265,,,,,,,,151,150',
',135,156,153,152,161,148,149,143,141,133,155,134,707,438,162,,708,,',
',,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147',
',,,,,265,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155',
'134,614,431,162,,615,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139',
'140,,,,159,160,146,147,,,,,,265,,,,,,,,151,150,,135,156,153,152,161',
'148,149,143,141,133,155,134,616,438,162,,617,,,,,,,,157,158,,154,136',
'137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,265,,,,,,,,151',
'150,,135,156,153,152,161,148,149,143,141,133,155,134,705,431,162,,706',
',,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146',
'147,,,,,,265,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133',
'155,134,1008,438,162,,1009,,,,,,,,157,158,,154,136,137,138,145,142,144',
',,139,140,,,,159,160,146,147,,,,,,265,,,,,,,,151,150,,135,156,153,152',
'161,148,149,143,141,133,155,134,647,438,162,,648,,,,,,,,157,158,,154',
'136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,265,,,,,,',
',151,150,,135,156,153,152,161,148,149,143,141,133,155,134,,676,162,673',
'672,671,681,674,,676,,673,672,671,681,674,684,,,,,,,,684,,676,,673,672',
'671,681,674,,,,,,679,662,,684,,,,,679,689,688,692,691,,,,685,689,688',
'692,691,,,,685,679,,676,,673,672,671,681,674,,,692,691,,,,685,684,,676',
',673,672,671,681,674,,676,,673,672,671,681,674,684,,,,,679,,,684,,,',
',,689,688,692,691,,,,685,679,,,,,,,,679,689,688,692,691,,,,685,689,688',
'692,691,,,676,685,673,672,671,681,674,,676,,673,672,671,681,674,684',
',,,,,,,684,,676,,673,672,671,681,674,,,,,,679,,,684,,,,,679,689,688',
'692,691,,,,685,689,688,692,691,,,,685,679,,676,,673,672,671,681,674',
',,692,691,,,,685,684,,676,,673,672,671,681,674,676,,673,672,671,681',
'674,,684,,,,,679,,684,,,,,,,689,688,692,691,,,,685,679,,,,,,,679,,,',
'692,691,,,,685,,692,691,,,676,685,673,672,671,681,674,676,,673,672,671',
'681,674,676,684,673,672,671,681,674,,684,,,,,,,684,,,,,,,,679,,,,,,',
'679,,689,688,692,691,,679,,685,,692,691,,,,685,,692,691,,,,685' ]
        racc_action_table = arr = ::Array.new(25333, 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,1036,623,567,567,443,443,95,95,95,1,889,95,95,95,385,95,627,1006',
'384,19,765,654,654,95,123,95,95,95,3,123,123,987,987,3,350,95,95,1007',
'95,95,95,95,95,340,1008,1009,339,923,347,707,705,627,639,1027,832,765',
'827,61,7,832,19,827,639,791,553,95,95,95,95,95,95,95,95,95,95,95,95',
'95,95,10,385,95,95,95,384,95,95,706,623,95,346,708,95,95,823,95,567',
'95,443,95,12,95,95,926,95,95,95,95,95,703,95,617,95,863,707,654,976',
'922,617,617,617,1008,1009,617,617,617,95,617,889,95,95,95,95,889,95',
'1006,95,617,617,617,1006,95,95,350,61,13,546,617,617,449,617,617,617',
'617,617,1007,708,347,707,705,1007,340,1008,1009,339,923,340,1008,1009',
'339,923,1027,791,553,545,824,1027,617,617,617,617,617,617,617,617,617',
'617,617,617,617,617,14,14,617,617,617,706,617,617,346,708,617,386,823',
'617,617,449,617,26,617,343,617,15,617,617,343,617,617,617,617,617,926',
'617,310,617,412,926,703,290,22,703,863,703,290,976,922,863,580,617,976',
'922,617,617,617,617,37,617,223,617,616,546,224,40,617,617,546,616,616',
'616,41,41,616,616,616,647,616,386,386,386,563,563,894,26,894,616,616',
'616,616,545,824,796,796,412,545,824,616,616,310,616,616,616,616,616',
'315,315,26,614,45,645,780,644,580,580,808,223,808,808,808,224,808,310',
'580,319,338,338,616,616,616,616,616,616,616,616,616,616,616,616,616',
'616,647,647,616,616,616,109,616,616,41,41,616,615,428,616,616,356,616',
'204,616,356,616,225,616,616,614,616,616,616,616,616,319,616,616,616',
'563,645,780,644,578,563,319,647,315,315,647,694,694,616,226,381,616',
'616,616,616,647,616,808,616,98,428,836,762,616,616,427,98,98,98,615',
'428,98,98,98,227,98,645,780,644,645,780,644,740,98,228,98,98,98,232',
'645,780,644,264,278,739,98,98,279,98,98,98,98,98,578,578,943,226,943',
'943,943,24,943,427,578,381,381,381,24,836,762,331,282,427,331,599,98',
'98,98,98,98,98,98,98,98,98,98,98,98,98,740,294,98,98,98,660,98,98,660',
'295,98,498,739,98,98,379,98,17,98,380,98,39,98,98,382,98,98,98,98,98',
'433,98,599,98,297,298,24,433,433,433,299,305,599,433,433,308,433,98',
'943,309,98,98,98,98,375,98,330,98,354,330,314,375,98,98,17,316,433,433',
'39,433,433,433,433,433,17,498,498,498,39,379,379,379,320,380,380,380',
'383,38,382,382,382,334,498,323,334,328,433,433,433,433,433,433,433,433',
'433,433,433,433,433,433,354,332,433,433,433,965,433,354,965,375,433',
'333,354,433,335,344,354,345,433,349,433,351,433,433,38,433,433,433,433',
'433,741,433,360,433,38,354,395,741,741,741,383,383,383,741,741,401,741',
'433,456,404,433,433,77,433,373,433,406,409,355,413,423,373,433,433,77',
'354,741,741,425,741,741,741,741,741,77,321,426,435,445,16,456,372,321',
'371,456,456,16,370,372,457,371,321,458,459,370,16,741,741,741,741,741',
'741,741,741,741,741,741,741,741,741,355,918,741,741,741,460,741,355',
'918,373,741,485,355,741,369,489,355,918,741,505,741,369,741,741,506',
'741,741,741,741,741,321,741,742,741,16,355,372,509,371,742,742,742,370',
'511,516,742,742,741,742,519,741,741,527,741,924,741,528,742,529,455',
'530,924,741,741,542,355,918,547,742,742,924,742,742,742,742,742,548',
'222,565,369,575,515,368,367,222,366,583,365,515,368,367,455,366,222',
'365,455,455,515,742,742,742,742,742,742,742,742,742,742,742,742,742',
'742,585,591,742,742,742,46,742,924,600,605,742,610,46,742,618,710,619',
'620,742,622,742,46,742,742,626,742,742,742,742,742,222,742,742,742,515',
'368,367,628,366,630,365,411,711,632,638,641,643,742,411,711,742,742',
'434,742,711,742,646,411,711,434,434,434,742,742,649,434,434,710,434',
'916,46,916,916,916,710,916,650,434,1017,710,1017,1017,1017,710,1017',
'653,655,664,434,434,665,434,434,434,434,434,667,648,668,669,678,686',
'710,690,648,693,411,711,1001,648,1001,1001,1001,648,1001,1017,696,701',
'434,434,434,434,434,434,434,434,434,434,434,434,434,434,710,704,434',
'434,434,302,434,713,303,717,434,736,302,434,738,303,747,768,434,779',
'434,302,434,434,303,434,434,434,434,434,648,434,434,434,771,783,771',
'771,771,771,771,304,6,6,6,6,6,434,304,771,434,434,27,434,786,434,787',
'304,792,27,27,27,434,434,27,27,27,807,27,809,302,771,814,303,817,474',
'826,27,27,27,771,771,771,771,830,831,834,771,27,27,835,27,27,27,27,27',
'944,844,944,944,944,306,944,845,847,848,304,474,306,849,851,474,474',
'771,474,474,852,306,27,27,27,27,27,27,27,27,27,27,27,27,27,27,853,944',
'27,27,27,969,854,27,556,27,27,869,969,27,27,556,27,870,27,874,27,969',
'27,27,556,27,27,27,27,27,875,27,27,27,306,475,905,877,358,793,878,348',
'880,883,885,358,905,27,348,793,27,27,480,27,358,27,891,348,892,480,480',
'480,27,898,480,480,480,475,480,902,969,475,475,556,475,475,915,480,480',
'905,905,919,793,793,905,925,945,793,480,480,955,480,480,480,480,480',
'886,958,886,886,886,959,886,358,571,571,348,960,571,571,571,961,963',
'932,972,932,932,932,932,932,327,327,327,327,327,977,978,979,932,480',
'980,429,981,886,982,983,480,985,429,429,429,480,480,429,429,429,988',
'429,989,679,932,679,679,679,1002,679,429,429,429,932,932,932,932,1003',
'480,480,932,429,429,1005,429,429,429,429,429,1018,1022,1023,1024,480',
'1025,1028,480,1029,,,679,480,293,293,293,293,293,,480,679,,429,429,429',
'429,429,429,429,429,429,429,429,429,429,429,,,429,429,429,,,429,,429',
'429,,,429,429,,429,,429,,429,,429,429,,429,429,429,429,429,56,429,429',
'429,,,,56,56,56,,,56,56,56,,56,429,,,429,429,,429,,429,56,56,56,,,,429',
',,,56,56,,56,56,56,56,56,986,,986,986,986,884,986,884,884,884,984,884',
'984,984,984,,984,503,503,503,503,503,56,56,56,56,56,56,56,56,56,56,56',
'56,56,56,,986,56,56,56,,884,56,,,56,984,,56,56,884,56,,56,,56,,56,56',
',56,56,56,56,56,,56,,56,805,,805,805,805,,805,,,,,,,56,,,56,56,56,56',
',56,438,56,,,,,56,438,438,438,,,438,438,438,805,438,468,,,,,,,805,438',
'438,438,438,,,,,468,468,,438,438,,438,438,438,438,438,,,,,,468,,468',
',468,468,,468,468,,,468,,468,,,,438,438,438,438,438,438,438,438,438',
'438,438,438,438,438,,,438,438,438,,,438,,,438,,,438,438,,438,,438,,438',
',438,438,,438,438,438,438,438,,438,438,438,,,,,,,,,,,,,,438,,,438,438',
'438,438,,438,439,438,,,,,438,439,439,439,,,439,439,439,465,439,,,,,',
',,,439,439,439,439,,,465,465,,,,439,439,,439,439,439,439,439,,,,465',
',465,,465,465,,465,465,,,465,,465,,,,,,439,439,439,439,439,439,439,439',
'439,439,439,439,439,439,,,439,439,439,,,439,,,439,,,439,439,,439,,439',
',439,,439,439,,439,439,439,439,439,,439,439,439,,,,,,,,,,,,,,439,,,439',
'439,439,439,,439,28,439,,,,,439,28,28,28,,,28,28,28,466,28,,,,,,,,,',
'28,28,,,,466,466,,,,28,28,,28,28,28,28,28,,,,466,,466,,466,466,,466',
'466,,,466,,466,,,,,,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,819,819,819,819,819,819,28,,,819,819,',
',,819,,819,819,819,819,819,819,819,,,,,,819,819,819,819,819,819,819',
',,819,,,,,416,819,819,819,819,819,819,819,819,819,819,819,819,,819,819',
'819,,819,819,819,819,819,416,416,416,416,416,416,416,416,416,416,416',
',416,416,,,416,416,,819,,,819,,,819,819,,,819,,819,416,,416,819,416',
'416,,416,416,416,416,416,819,416,,,,819,819,819,819,,819,819,819,819',
',,,,819,819,,416,,416,,,819,,819,819,819,822,822,822,822,822,822,,,',
'822,822,,,,822,,822,822,822,822,822,822,822,,,,,,822,822,822,822,822',
'822,822,,,822,,,,,422,822,822,822,822,822,822,822,822,822,822,822,822',
',822,822,822,,822,822,822,822,822,422,422,422,422,422,422,422,422,422',
'422,422,,422,422,,,422,422,,822,,,822,,,822,822,,,822,,822,422,,422',
'822,422,422,,422,422,422,422,422,822,422,,,,822,822,822,822,,822,822',
'822,822,,,,,822,822,,422,,,,,822,,822,822,822,929,929,929,929,929,929',
',,,929,929,,,,929,,929,929,929,929,929,929,929,,,,,,929,929,929,929',
'929,929,929,,,929,,,,,,929,929,929,929,929,929,929,929,929,929,929,929',
',929,929,929,,929,929,929,929,929,478,478,478,478,478,478,478,478,478',
'478,478,,478,478,,,478,478,,929,,,929,,,929,929,,,929,,929,478,,478',
'929,478,478,,478,478,478,478,478,929,478,,,,929,929,929,929,,929,929',
'929,929,,,,,929,929,478,478,,,,,929,,929,929,929,541,541,541,541,541',
'541,,,,541,541,,,,541,,541,541,541,541,541,541,541,,,,,,541,541,541',
'541,541,541,541,,,541,,,,,,541,541,541,541,541,541,541,541,541,541,541',
'541,,541,541,541,,541,541,541,541,541,744,744,744,744,744,744,744,744',
'744,744,744,,744,744,,,744,744,,541,,,541,,,541,541,,,541,,541,744,',
'744,541,744,744,,744,744,744,744,744,541,744,,,,541,541,541,541,,541',
'541,541,541,,,,,541,541,,744,,,,,541,,541,541,541,785,785,785,785,785',
'785,,,,785,785,,,,785,,785,785,785,785,785,785,785,,,,,,785,785,785',
'785,785,785,785,,,785,,,,,,785,785,785,785,785,785,785,785,785,785,785',
'785,,785,785,785,,785,785,785,785,785,21,21,21,21,21,21,21,21,21,21',
'21,,21,21,,,21,21,,785,,,785,,,785,785,,,785,,785,21,,21,785,21,21,',
'21,21,21,21,21,785,21,,,,785,785,785,785,,785,785,785,785,,,,,785,785',
',21,,,,,785,,785,785,785,544,544,544,544,544,544,,,,544,544,,,,544,',
'544,544,544,544,544,544,544,,,,,,544,544,544,544,544,544,544,,,544,',
',,,,544,544,544,544,544,544,544,544,544,544,544,544,,544,544,544,,544',
'544,544,544,544,276,276,276,276,276,276,276,276,276,276,276,,276,276',
',,276,276,,544,,,544,,,544,544,,,544,,544,276,,276,544,276,276,,276',
'276,276,276,276,544,276,,,,544,544,544,544,,544,544,544,544,,,,,544',
'544,,276,,,,,544,,544,544,544,828,828,828,828,828,828,,,,828,828,,,',
'828,,828,828,828,828,828,828,828,,,,,,828,828,828,828,828,828,828,,',
'828,,,,,,828,828,828,828,828,828,828,828,828,828,828,828,,828,828,828',
',828,828,828,828,828,841,841,841,841,841,841,841,841,841,841,841,,841',
'841,,,841,841,,828,,,828,,,828,828,,,828,,828,841,,841,828,841,841,',
'841,841,841,841,841,828,841,,,,828,828,828,828,,828,828,828,828,,,,',
'828,828,,841,,,,,828,,828,828,828,728,728,728,728,728,728,,,,728,728',
',,,728,,728,728,728,728,728,728,728,,,,,,728,728,728,728,728,728,728',
',,728,,,,,,728,728,728,728,728,728,728,728,728,728,728,728,,728,728',
'728,,728,728,728,728,728,525,525,525,525,525,525,525,525,525,525,525',
',525,525,,,525,525,,728,,,728,,,728,728,,,728,,728,525,,525,728,525',
'525,,525,525,525,525,525,728,525,,,,728,728,728,728,,728,728,728,728',
',,,,728,728,,525,,,,,728,,728,728,728,714,714,714,714,714,714,,,,714',
'714,,,,714,,714,714,714,714,714,714,714,,,,,,714,714,714,714,714,714',
'714,,,714,,,,,,714,714,714,714,714,714,714,714,714,714,714,714,,714',
'714,714,,714,714,714,714,714,473,473,473,473,473,473,473,,,473,473,',
',,,,473,473,,714,,,714,,,714,714,,,714,,714,473,,473,714,473,473,,473',
'473,473,473,473,714,473,,,,714,714,714,714,,714,714,714,714,,,,,714',
'714,,,,,,,714,,714,714,714,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,471,471,471,471,471,471,471,,,471,471,,,,,,471,471,',
'231,,,231,,,231,231,,,231,,231,471,,471,231,471,471,,471,471,471,471',
'471,231,471,,,,231,231,231,231,,231,231,231,231,,,,,231,231,,,,,,,231',
',231,231,231,928,928,928,928,928,928,,,,928,928,,,,928,,928,928,928',
'928,928,928,928,,,,,,928,928,928,928,928,928,928,,,928,,,,,,928,928',
'928,928,928,928,928,928,928,928,928,928,,928,928,928,,928,928,928,928',
'928,453,453,453,453,453,453,453,453,453,453,453,,453,453,,,453,453,',
'928,,,928,,,928,928,,,928,,928,453,,453,928,453,453,,453,453,453,453',
'453,928,453,,,,928,928,928,928,,928,928,928,928,,,,,928,928,,,,,,,928',
',928,928,928,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,469,469,469,469,469,469,469,,,469,469,,,,,,469,469,,504,,,504,,',
'504,504,,,504,,504,469,,469,504,469,469,,469,469,469,469,469,504,469',
',,,504,504,504,504,,504,504,504,504,,,,,504,504,,,,,,,504,,504,504,504',
'121,121,121,121,121,121,,,,121,121,,,,121,,121,121,121,121,121,121,121',
',,,,,121,121,121,121,121,121,121,,,121,,,,,,121,121,121,121,121,121',
'121,121,121,121,121,121,,121,121,121,,121,121,121,121,121,467,,,,,,',
',,,,,,,,,467,467,,121,,,121,,,121,121,,,121,,121,467,,467,121,467,467',
',467,467,,,467,121,467,,,,121,121,121,121,,121,121,121,121,,,,,121,121',
',,,,,,121,,121,121,121,718,718,718,718,718,718,,,,718,718,,,,718,,718',
'718,718,718,718,718,718,,,,,,718,718,718,718,718,718,718,,,718,,,,,',
'718,718,718,718,718,718,718,718,718,718,718,718,,718,718,718,,718,718',
'718,718,718,472,472,472,472,472,472,472,,,472,472,,,,,,472,472,,718',
',,718,,,718,718,,,718,,718,472,,472,718,472,472,,472,472,472,472,472',
'718,472,,,,718,718,718,718,,718,718,718,718,,,,,718,718,,,,,,,718,,718',
'718,718,921,921,921,921,921,921,,,,921,921,,,,921,,921,921,921,921,921',
'921,921,,,,,,921,921,921,921,921,921,921,,,921,,,,,,921,921,921,921',
'921,921,921,921,921,921,921,921,,921,921,921,,921,921,921,921,921,464',
'464,464,464,464,464,464,,,464,464,,,,,,464,464,,921,,,921,,,921,921',
',,921,,921,464,,464,921,464,464,,464,464,464,464,464,921,464,,,,921',
'921,921,921,,921,921,921,921,,,,,921,921,,,,,,,921,,921,921,921,564',
'564,564,564,564,564,,,,564,564,,,,564,,564,564,564,564,564,564,564,',
',,,,564,564,564,564,564,564,564,,,564,,,,,,564,564,564,564,564,564,564',
'564,564,564,564,564,,564,564,564,,564,564,564,564,564,470,470,470,470',
'470,470,470,,,470,470,,,,,,470,470,,564,,,564,,,564,564,,,564,,564,470',
',470,564,470,470,,470,470,470,470,470,564,470,,,,564,564,564,564,,564',
'564,564,564,,,,,564,564,,,,,,,564,,564,564,564,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,454,454,454,454,454,454,454,454,454',
'454,454,,454,454,,,454,454,,842,,,842,,,842,842,,,842,,842,454,,454',
'842,454,454,,454,454,454,454,454,842,454,,,,842,842,842,842,,842,842',
'842,842,,,,,842,842,,,,,,,842,,842,842,842,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,296,296,296,296,296,296,296,296,296,',
'296,296,296,,296,296,296,296,296,476,476,476,476,476,476,476,,,476,476',
',,,,,476,476,,296,,,296,,,296,296,,,296,,296,476,,476,296,476,476,,476',
'476,476,476,476,296,476,,,,296,296,296,296,,296,296,296,296,,,,,296',
'296,,,,,,,296,,296,296,296,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,477,477,477,477,477,477,477,477,,477,477,,,,,,477,477',
',773,,,773,,,773,773,,,773,,773,477,,477,773,477,477,,477,477,477,477',
'477,773,477,,,,773,773,773,773,,773,773,773,773,,,,,773,773,,,,,,,773',
',773,773,773,301,301,301,301,301,301,,,,301,301,,,,301,,301,301,301',
'301,301,301,301,,,,,,301,301,301,301,301,301,301,,,301,,,,,,301,301',
'301,301,301,301,301,301,301,301,301,301,,301,301,301,,301,301,301,301',
'301,462,,,,,,,,,,,,,,,,462,462,,301,,,301,,,301,301,,,301,,301,462,',
'462,301,462,462,,462,462,,,,301,,,,,301,301,301,301,,301,301,301,301',
',,,,301,301,,,,,,,301,,301,301,301,206,206,206,206,206,206,,,,206,206',
',,,206,,206,206,206,206,206,206,206,,,,,,206,206,206,206,206,206,206',
',,206,,,,,,206,206,206,206,206,206,206,206,206,206,206,206,,206,206',
'206,,206,206,206,206,206,461,,,,,,,,,,,,,,,,461,461,,206,,,206,,,206',
'206,,,206,,206,461,,461,206,461,461,,461,461,,,,206,,,,,206,206,206',
'206,,206,206,206,206,,,,,206,206,,,,,,,206,,206,206,206,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,463,,,,,,,,,,,,,,,,463',
'463,,860,,,860,,,860,860,,,860,,860,463,,,860,463,463,,463,463,,,,860',
',,,,860,860,860,860,,860,860,860,860,,,,,860,860,,,,,,,860,,860,860',
'860,954,954,954,954,954,954,,,,954,954,,,,954,,954,954,954,954,954,954',
'954,,,,,,954,954,954,954,954,954,954,,,954,,,,,,954,954,954,954,954',
'954,954,954,954,954,954,954,,954,954,954,,954,954,954,954,954,,,,,,',
',,,,,,,,,,,,,954,,,954,,,954,954,,,954,,954,,,,954,,,,,,,,,954,,,,,954',
'954,954,954,,954,954,954,954,,,,,954,954,,,,,,,954,,954,954,954,0,0',
'0,0,0,0,,,,0,0,,,,0,,0,0,0,0,0,0,0,,,,,,0,0,0,0,0,0,0,,,0,,,,,,0,0,0',
'0,0,0,0,0,0,0,0,0,,0,0,0,,0,0,0,0,0,,,,,,,,,,,,,,,,,,,,0,,,0,,,0,0,',
',0,,0,,,,0,,,,,,,,,0,,,,,0,0,0,0,,0,0,0,0,,,,,0,0,,,,,,,0,,0,0,0,952',
'952,952,952,952,952,,,,952,952,,,,952,,952,952,952,952,952,952,952,',
',,,,952,952,952,952,952,952,952,,,952,,,,,,952,952,952,952,952,952,952',
'952,952,952,952,952,,952,952,952,,952,952,952,952,952,,,,,,,,,,,,,,',
',,,,,952,,,952,,,952,952,,,952,,952,,,,952,,,,,,,,,952,,,,,952,952,952',
'952,,952,952,952,952,,,,,952,952,,,,,,,952,,952,952,952,946,946,946',
'946,946,946,,,,946,946,,,,946,,946,946,946,946,946,946,946,,,,,,946',
'946,946,946,946,946,946,,,946,,,,,,946,946,946,946,946,946,946,946,946',
'946,946,946,,946,946,946,,946,946,946,946,946,,,,,,,,,,,,,,,,,,,,946',
',,946,,,946,946,,,946,,946,,,,946,,,,,,,,,946,,,,,946,946,946,946,,946',
'946,946,946,,,,,946,946,,,,,,,946,,946,946,946,33,33,33,33,33,33,,,',
'33,33,,,,33,,33,33,33,33,33,33,33,,,,,,33,33,33,33,33,33,33,,,33,,,',
',,33,33,33,33,33,33,33,33,33,33,33,33,,33,33,33,,33,33,33,33,33,,,,',
',,,,,,,,,,,,,,,33,,,33,,,33,33,,,33,,33,,,,33,,,,,,,,,33,,,,,33,33,33',
'33,,33,33,33,33,,,,,33,33,,,,,,,33,,33,33,33,818,818,818,818,818,818',
',,,818,818,,,,818,,818,818,818,818,818,818,818,,,,,,818,818,818,818',
'818,818,818,,,818,,,,,,818,818,818,818,818,818,818,818,818,818,818,818',
',818,818,818,,818,818,818,818,818,,,,,,,,,,,,,,,,,,,,818,,,818,,,818',
'818,,,818,,818,,,,818,,,,,,,,,818,,,,,818,818,818,818,,818,818,818,818',
',,,,818,818,,,,,,,818,,818,818,818,326,326,326,326,326,326,,,,326,326',
',,,326,,326,326,326,326,326,326,326,,,,,,326,326,326,326,326,326,326',
',,326,,,,,,326,326,326,326,326,326,326,326,326,326,326,326,,326,326',
'326,,326,326,326,326,326,,,,,,,,,,,,,,,,,,,,326,,,326,,,326,326,,,326',
',326,,,,326,,,,,,,,,326,,,,,326,326,326,326,,326,326,326,326,,,,,326',
'326,,,,840,840,840,326,840,326,326,326,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',
'840,840,,840,840,840,840,,,,,840,840,,,,29,29,29,840,29,840,840,840',
'29,29,,,,29,,29,29,29,29,29,29,29,,,,,,29,29,29,29,29,29,29,,,29,,,',
',,,29,,,29,29,29,29,29,29,29,29,29,29,29,29,,29,29,29,29,29,,,,,,,,',
',,,,,,,,,,,29,,,29,,,29,29,,,29,,29,,29,,29,,,29,,,,,,29,,,,,29,29,29',
'29,,29,29,29,29,,,,,29,29,,,,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,,,,,,,,,,,,,,,,,,,,30,,,30',
',,30,30,,,30,,30,,30,,30,,,30,,,,,,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,,,,300,300',
'300,31,300,31,31,31,300,300,,,,300,,300,300,300,300,300,300,300,,,,',
',300,300,300,300,300,300,300,,,300,,,,,,,300,,,300,300,300,300,300,300',
'300,300,,300,300,300,,300,300,,,300,,,,,,,,,,,,,,,,,,,,300,,,300,,,300',
'300,,,300,,,1030,,1030,1030,1030,1030,1030,,,,,,,,,1030,,300,300,300',
'300,,300,300,300,300,,,,,300,300,,,,300,,1030,300,,300,300,300,238,238',
'238,,238,1030,1030,,238,238,1030,,,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,,,,855,855,855,238,855,238,238,238,855,855,',
',,855,,855,855,855,855,855,855,855,,,,,,855,855,855,855,855,855,855',
',,855,,,,,,,855,,,855,855,855,855,855,855,855,855,,855,855,855,,855',
'855,,,855,,,,,,,,,,,,,,,,,,,,855,,,855,,,855,855,,,855,,,,,,,,,,,,,',
',,,,,,855,855,855,855,,855,855,855,855,,,,,855,855,,,,864,864,864,855',
'864,855,855,855,864,864,,,,864,,864,864,864,864,864,864,864,,,,,,864',
'864,864,864,864,864,864,,,864,,,,,,,864,,,864,864,864,864,864,864,864',
'864,,864,864,864,,864,864,,,864,,,,,,,,,,,,,,,,,,,,864,,,864,,,864,864',
',,864,,,,,,,,,,,,,,,,,,,,864,864,864,864,,864,864,864,864,,,,,864,864',
',,,237,237,237,864,237,864,864,864,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,,,,34,34,34,237,34,237,237,237,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,,,934,,934',
'934,934,934,934,,,,,,,,,934,,35,35,35,35,,35,35,35,35,,,,,35,35,,,,35',
',934,35,,35,35,35,5,5,5,5,5,934,934,,5,5,934,,,5,,5,5,5,5,5,5,5,,,,',
',5,5,5,5,5,5,5,,,5,,,,,,5,5,5,5,5,5,5,5,5,5,5,5,,5,5,5,,5,5,5,5,5,,',
',,,,,,,,,,,,,,,,,5,,,5,,,5,5,,,5,,5,,,,5,,,,,,,,,5,,,,,5,5,5,5,,5,5',
'5,5,,,,,5,5,,,,236,236,236,5,236,5,5,5,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,,,,640,640,640,236,640,236,236',
'236,640,640,,,,640,,640,640,640,640,640,640,640,,,,,,640,640,640,640',
'640,640,640,,,640,,,,,,,640,,,640,640,640,640,640,640,640,640,,640,640',
'640,,640,640,,,640,,,,,,,,,,,,,,,,,,,,640,,,640,,,640,640,,,640,,,,',
',,,,,,,,,,,,,,,640,640,640,640,,640,640,640,640,,,,,640,640,,,,235,235',
'235,640,235,640,640,640,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,,,,636,636,636,235,636,235,235,235,636,636,',
',,636,,636,636,636,636,636,636,636,,,,,,636,636,636,636,636,636,636',
',,636,,,,,,,636,,,636,636,636,636,636,636,636,636,,636,636,636,,636',
'636,636,636,636,,,,,,,,,,,,,,,,,,,,636,,,636,,,636,636,,,636,,,,,,636',
',,,,,,,,636,,,,,636,636,636,636,,636,636,636,636,,,,,636,636,,,,317',
'317,317,636,317,636,636,636,317,317,,,,317,,317,317,317,317,317,317',
'317,,,,,,317,317,317,317,317,317,317,,,317,,,,,,,317,,,317,317,317,317',
'317,317,317,317,,317,317,317,,317,317,,,317,,,,,,,,,,,,,,,,,,,,317,',
',317,,,317,317,,,317,,,,,,,,,,,,,,,,,,,,317,317,317,317,,317,317,317',
'317,,,,,317,317,,,,633,633,633,317,633,317,317,317,633,633,,,,633,,633',
'633,633,633,633,633,633,,,,,,633,633,633,633,633,633,633,,,633,,,,,',
',633,,,633,633,633,633,633,633,633,633,,633,633,633,,633,633,633,633',
'633,,,,,,,,,,,,,,,,,,,,633,,,633,,,633,633,,,633,,,,,,633,,,,,,,,,633',
',,,,633,633,633,633,,633,633,633,633,,,,,633,633,,,,234,234,234,633',
'234,633,633,633,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,,,,233,233,233,234,233,234,234,234,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,,,,20,20,20,233,20',
'233,233,233,20,20,,,,20,,20,20,20,20,20,20,20,,,,,,20,20,20,20,20,20',
'20,,,20,,,,,,,20,,,20,20,20,20,20,20,20,20,,20,20,20,,20,20,20,20,20',
',,,,,,,,,,,,,,,,,,,20,,,20,,,20,20,,,20,,,,,,20,,,,,,,,,20,,,,,20,20',
'20,20,,20,20,20,20,,,,,20,20,,,,230,230,230,20,230,20,20,20,230,230',
',,,230,,230,230,230,230,230,230,230,,,,,,230,230,230,230,230,230,230',
',,230,,,,,,,230,,,230,230,230,230,230,230,230,230,,230,230,230,,230',
'230,230,230,230,,,,,,,,,,,,,,,,,,,,230,,,230,,,230,230,,,230,,,,,,230',
',,,,,,,,230,,,,,230,230,230,230,,230,230,230,230,,,,,230,230,,,,917',
'917,917,230,917,230,230,230,917,917,,,,917,,917,917,917,917,917,917',
'917,,,,,,917,917,917,917,917,917,917,,,917,,,,,,,917,,,917,917,917,917',
'917,917,917,917,,917,917,917,,917,917,,,917,,,,,,,,,,,,,,,,,,,,917,',
',917,,,917,917,,,917,,,,,,,,,,,,,,,,,,,,917,917,917,917,,917,917,917',
'917,,,,,917,917,,,,609,609,609,917,609,917,917,917,609,609,,,,609,,609',
'609,609,609,609,609,609,,,,,,609,609,609,609,609,609,609,,,609,,,,,',
',609,,,609,609,609,609,609,609,609,609,,609,609,609,,609,609,609,609',
'609,,,,,,,,,,,,,,,,,,,,609,,,609,,,609,609,,,609,,,,,,609,,,,,,,,,609',
',,,,609,609,609,609,,609,609,609,609,,,,,609,609,,,,608,608,608,609',
'608,609,609,609,608,608,,,,608,,608,608,608,608,608,608,608,,,,,,608',
'608,608,608,608,608,608,,,608,,,,,,,608,,,608,608,608,608,608,608,608',
'608,,608,608,608,,608,608,608,608,608,,,,,,,,,,,,,,,,,,,,608,,,608,',
',608,608,,,608,,,,,,608,,,,,,,,,608,,,,,608,608,608,608,,608,608,608',
'608,,,,,608,608,,,,821,821,821,608,821,608,608,608,821,821,,,,821,,821',
'821,821,821,821,821,821,,,,,,821,821,821,821,821,821,821,,,821,,,,,',
',821,,,821,821,821,821,821,821,821,821,,821,821,821,,821,821,821,821',
'821,,,,,,,,,,,,,,,,,,,,821,,,821,,,821,821,,,821,,821,,,,821,,,,,,,',
',821,,,,,821,821,821,821,,821,821,821,821,,,,,821,821,,,,448,448,448',
'821,448,821,821,821,448,448,,,,448,,448,448,448,448,448,448,448,,,,',
',448,448,448,448,448,448,448,,,448,,,,,,,448,,,448,448,448,448,448,448',
'448,448,448,448,448,448,,448,448,448,448,448,,,,,,,,,,,,,,,,,,,,448',
',,448,,,448,448,,,448,,448,,448,,448,,,448,,,,,,448,,,,,448,448,448',
'448,,448,448,448,448,,,,,448,448,,,,255,255,255,448,255,448,448,448',
'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',
',,,715,715,715,255,715,255,255,255,715,715,,,,715,,715,715,715,715,715',
'715,715,,,,,,715,715,715,715,715,715,715,,,715,,,,,,,715,,,715,715,715',
'715,715,715,715,715,,715,715,715,,715,715,715,715,715,,,,,,,,,,,,,,',
',,,,,715,,,715,,,715,715,,,715,,,,,,715,,,,,,,,,715,,,,,715,715,715',
'715,,715,715,715,715,,,,,715,715,,,,256,256,256,715,256,715,715,715',
'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',
',,,257,257,257,256,257,256,256,256,257,257,,,,257,,257,257,257,257,257',
'257,257,,,,,,257,257,257,257,257,257,257,,,257,,,,,,,257,,,257,257,257',
'257,257,257,257,257,,257,257,257,,257,257,257,257,257,,,,,,,,,,,,,,',
',,,,,257,,,257,,,257,257,,,257,,,,,,257,,,,,,,,,257,,,,,257,257,257',
'257,,257,257,257,257,,,,,257,257,,,,737,737,737,257,737,257,257,257',
'737,737,,,,737,,737,737,737,737,737,737,737,,,,,,737,737,737,737,737',
'737,737,,,737,,,,,,,737,,,737,737,737,737,737,737,737,737,,737,737,737',
',737,737,737,737,737,,,,,,,,,,,,,,,,,,,,737,,,737,,,737,737,,,737,,',
',,,737,,,,,,,,,737,,,,,737,737,737,737,,737,737,737,737,,,,,737,737',
',,,258,258,258,737,258,737,737,737,258,258,,,,258,,258,258,258,258,258',
'258,258,,,,,,258,258,258,258,258,258,258,,,258,,,,,,,258,,,258,258,258',
'258,258,258,258,258,,258,258,258,,258,258,258,258,258,,,,,,,,,,,,,,',
',,,,,258,,,258,,,258,258,,,258,,,,,,258,,,,,,,,,258,,,,,258,258,258',
'258,,258,258,258,258,,,,,258,258,,,,254,254,254,258,254,258,258,258',
'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',
',,,253,253,253,254,253,254,254,254,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,,,,745,745,745,253,745,253,253,253',
'745,745,,,,745,,745,745,745,745,745,745,745,,,,,,745,745,745,745,745',
'745,745,,,745,,,,,,,745,,,745,745,745,745,745,745,745,745,,745,745,745',
',745,745,745,745,745,,,,,,,,,,,,,,,,,,,,745,,,745,,,745,745,,,745,,',
',,,745,,,,,,,,,745,,,,,745,745,745,745,,745,745,745,745,,,,,745,745',
',,,252,252,252,745,252,745,745,745,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,,,,758,758,758,252,758,252,252,252',
'758,758,,,,758,,758,758,758,758,758,758,758,,,,,,758,758,758,758,758',
'758,758,,,758,,,,,,,758,,,758,758,758,758,758,758,758,758,,758,758,758',
',758,758,758,758,758,,,,,,,,,,,,,,,,,,,,758,,,758,,,758,758,,,758,,',
',,,758,,,,,,,,,758,,,,,758,758,758,758,,758,758,758,758,,,,,758,758',
',,,759,759,759,758,759,758,758,758,759,759,,,,759,,759,759,759,759,759',
'759,759,,,,,,759,759,759,759,759,759,759,,,759,,,,,,,759,,,759,759,759',
'759,759,759,759,759,,759,759,759,,759,759,759,759,759,,,,,,,,,,,,,,',
',,,,,759,,,759,,,759,759,,,759,,,,,,759,,,,,,,,,759,,,,,759,759,759',
'759,,759,759,759,759,,,,,759,759,,,,760,760,760,759,760,759,759,759',
'760,760,,,,760,,760,760,760,760,760,760,760,,,,,,760,760,760,760,760',
'760,760,,,760,,,,,,,760,,,760,760,760,760,760,760,760,760,,760,760,760',
',760,760,760,760,760,,,,,,,,,,,,,,,,,,,,760,,,760,,,760,760,,,760,,',
',,,760,,,,,,,,,760,,,,,760,760,760,760,,760,760,760,760,,,,,760,760',
',,,761,761,761,760,761,760,760,760,761,761,,,,761,,761,761,761,761,761',
'761,761,,,,,,761,761,761,761,761,761,761,,,761,,,,,,,761,,,761,761,761',
'761,761,761,761,761,,761,761,761,,761,761,761,761,761,,,,,,,,,,,,,,',
',,,,,761,,,761,,,761,761,,,761,,,,,,761,,,,,,,,,761,,,,,761,761,761',
'761,,761,761,761,761,,,,,761,761,,,,251,251,251,761,251,761,761,761',
'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',
',,,763,763,763,251,763,251,251,251,763,763,,,,763,,763,763,763,763,763',
'763,763,,,,,,763,763,763,763,763,763,763,,,763,,,,,,,763,,,763,763,763',
'763,763,763,763,763,,763,763,763,,763,763,763,763,763,,,,,,,,,,,,,,',
',,,,,763,,,763,,,763,763,,,763,,,,,,763,,,,,,,,,763,,,,,763,763,763',
'763,,763,763,763,763,,,,,763,763,,,,250,250,250,763,250,763,763,763',
'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',
',,,249,249,249,250,249,250,250,250,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,,,,682,682,682,249,682,249,249,249',
'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',
',,,265,265,265,682,265,682,682,682,265,265,,,,265,,265,265,265,265,265',
'265,265,,,,,,265,265,265,265,265,265,265,,,265,,,,,,,265,,,265,265,265',
'265,265,265,265,265,265,265,265,265,,265,265,265,265,265,,,,,,,,,,,',
',,,,,,,,265,,,265,,,265,265,,,265,,265,,265,,265,,,265,,,,,,265,,,,',
'265,265,265,265,,265,265,265,265,,,,,265,265,,,,266,266,266,265,266',
'265,265,265,266,266,,,,266,,266,266,266,266,266,266,266,,,,,,266,266',
'266,266,266,266,266,,,266,,,,,,,266,,,266,266,266,266,266,266,266,266',
'266,266,266,266,,266,266,266,266,266,,,,,,,,,,,,,,,,,,,,266,,,266,,',
'266,266,,,266,,266,,266,,266,,,266,,,,,,266,,,,,266,266,266,266,,266',
'266,266,266,,,,,266,266,,,,274,274,274,266,274,266,266,266,274,274,',
',,274,,274,274,274,274,274,274,274,,,,,,274,274,274,274,274,274,274',
',,274,,,,,,,274,,,274,274,274,274,274,274,274,274,274,274,274,274,,274',
'274,274,274,274,,,,,,,,,,,,,,,,,,,,274,,,274,,,274,274,,,274,,274,,274',
',274,,,274,,,,,,274,,,,,274,274,274,274,,274,274,274,274,,,,,274,274',
'274,,,248,248,248,274,248,274,274,274,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,,,,247,247,247,248,247,248,248',
'248,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',
',,,246,246,246,247,246,247,247,247,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,,,,245,245,245,246,245,246,246,246',
'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',
',,,244,244,244,245,244,245,245,245,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,,,,243,243,243,244,243,244,244,244',
'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',
',,,803,803,803,243,803,243,243,243,803,803,,,,803,,803,803,803,803,803',
'803,803,,,,,,803,803,803,803,803,803,803,,,803,,,,,,,803,,,803,803,803',
'803,803,803,803,803,,803,803,803,,803,803,803,803,803,,,,,,,,,,,,,,',
',,,,,803,,,803,,,803,803,,,803,,,,,,803,,,,,,,,,803,,,,,803,803,803',
'803,,803,803,803,803,,,,,803,803,,,,656,656,656,803,656,803,803,803',
'656,656,,,,656,,656,656,656,656,656,656,656,,,,,,656,656,656,656,656',
'656,656,,,656,,,,,,,656,,,656,656,656,656,656,656,656,656,,656,656,656',
',656,656,656,656,656,,,,,,,,,,,,,,,,,,,,656,,,656,,,656,656,,,656,,656',
',,,656,,,,,,,,,656,,,,,656,656,656,656,,656,656,656,656,,,,,656,656',
',,,242,242,242,656,242,656,656,656,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,,,,281,281,281,242,281,242,242,242',
'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',
',,,816,816,816,281,816,281,281,281,816,816,,,,816,,816,816,816,816,816',
'816,816,,,,,,816,816,816,816,816,816,816,,,816,,,,,,,816,,,816,816,816',
'816,816,816,816,816,,816,816,816,,816,816,816,816,816,,,,,,,,,,,,,,',
',,,,,816,,,816,,,816,816,,,816,,,,,,816,,,,,,,,,816,,,,,816,816,816',
'816,,816,816,816,816,,,,,816,816,,,,283,283,283,816,283,816,816,816',
'283,283,,,,283,,283,283,283,283,283,283,283,,,,,,283,283,283,283,283',
'283,283,,,283,,,,,,,283,,,283,283,283,283,283,283,283,283,,283,283,283',
',283,283,283,283,283,,,,,,,,,,,,,,,,,,,,283,,,283,,,283,283,,,283,,',
',,,283,,,,,,,,,283,,,,,283,283,283,283,,283,283,283,283,,,,,283,283',
',,,286,286,286,283,286,283,283,283,286,286,,,,286,,286,286,286,286,286',
'286,286,,,,,,286,286,286,286,286,286,286,,,286,,,,,,,286,,,286,286,286',
'286,286,286,286,286,,286,286,286,,286,286,286,286,286,,,,,,,,,,,,,,',
',,,,,286,,,286,,,286,286,,,286,,,,,,286,,,,,,,,,286,,,,,286,286,286',
'286,,286,286,286,286,,,,,286,286,,,,287,287,287,286,287,286,286,286',
'287,287,,,,287,,287,287,287,287,287,287,287,,,,,,287,287,287,287,287',
'287,287,,,287,,,,,,,287,,,287,287,287,287,287,287,287,287,,287,287,287',
',287,287,287,287,287,,,,,,,,,,,,,,,,,,,,287,,,287,,,287,287,,,287,,',
',,,287,,,,,,,,,287,,,,,287,287,287,287,,287,287,287,287,,,,,287,287',
',,,241,241,241,287,241,287,287,287,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,,,,651,651,651,241,651,241,241,241',
'651,651,,,,651,,651,651,651,651,651,651,651,,,,,,651,651,651,651,651',
'651,651,,,651,,,,,,,651,,,651,651,651,651,651,651,651,651,,651,651,651',
',651,651,,,651,,,,,,,,,,,,,,,,,,,,651,,,651,,,651,651,,,651,,,801,,801',
'801,801,801,801,,,,,,,,,801,,651,651,651,651,,651,651,651,651,,,,,651',
'651,,,,,,801,651,,651,651,651,292,292,292,292,292,801,801,,292,292,801',
',,292,,292,292,292,292,292,292,292,,,,,,292,292,292,292,292,292,292',
',,292,,,,,,292,292,,292,292,292,292,292,292,292,292,292,,292,292,292',
',292,292,292,292,292,,,,,,,,,,,,,,,,,,,,292,,,292,,,292,292,,,292,,292',
',,,292,,,,,,,,,292,,,,,292,292,292,292,,292,292,292,292,,,,,292,292',
',,,240,240,240,292,240,292,292,292,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,,,,239,239,239,240,239,240,240,240',
'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',
',,,839,839,839,239,839,239,239,239,839,839,,,,839,,839,839,839,839,839',
'839,839,,,,,,839,839,839,839,839,839,839,,,839,,,,,,,839,,,839,839,839',
'839,839,839,839,839,839,839,839,839,,839,839,839,839,839,,,,,,,,,,,',
',,,,,,,,839,,,839,,,839,839,,,839,,,,839,,839,,,839,,,,,,839,,,,,839',
'839,839,839,,839,839,839,839,,,,,839,839,,,,43,43,43,839,43,839,839',
'839,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,,,,219,219,219,43,219,43,43,43,219,219,,,,219',
',219,219,219,219,219,219,219,,,,,,219,219,219,219,219,219,219,,,219',
',,,,,,219,,,219,219,219,219,219,219,219,219,,219,219,219,,219,219,219',
'219,219,,,,,,,,,,,,,,,,,,,,219,,,219,,,219,219,,,219,,,,,,219,,,,,,',
',,219,,,,,219,219,219,219,,219,219,219,219,,,,,219,219,219,,,218,218',
'218,219,218,219,219,219,218,218,,,,218,,218,218,218,218,218,218,218',
',,,,,218,218,218,218,218,218,218,,,218,,,,,,,218,,,218,218,218,218,218',
'218,218,218,,218,218,218,,218,218,218,218,218,,,,,,,,,,,,,,,,,,,,218',
',,218,,,218,218,,,218,,,,,,218,,,,,,,,,218,,,,,218,218,218,218,,218',
'218,218,218,,,,,218,218,,,,217,217,217,218,217,218,218,218,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,,,,973',
'973,973,217,973,217,217,217,973,973,,,,973,,973,973,973,973,973,973',
'973,,,,,,973,973,973,973,973,973,973,,,973,,,,,,,973,,,973,973,973,973',
'973,973,973,973,973,973,973,973,,973,973,973,973,973,,,,,,,,,,,,,,,',
',,,,973,,,973,,,973,973,,,973,,973,,973,,973,,,973,,,,,,973,,,,,973',
'973,973,973,,973,973,973,973,,,,,973,973,,,,44,44,44,973,44,973,973',
'973,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,,,,560,560,560,44,560,44,44,44,560,560,,,,560',
',560,560,560,560,560,560,560,,,,,,560,560,560,560,560,560,560,,,560',
',,,,,,560,,,560,560,560,560,560,560,560,560,560,560,560,560,,560,560',
'560,560,560,,,,,,,,,,,,,,,,,,,,560,,,560,,,560,560,,,560,,560,,560,',
'560,,,560,,,,,,560,,,,,560,560,560,560,,560,560,560,560,,,,,560,560',
',,,341,341,341,560,341,560,560,560,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,,,,342,342,342,341,342,341,341,341',
'342,342,,,,342,,342,342,342,342,342,342,342,,,,,,342,342,342,342,342',
'342,342,,,342,,,,,,,342,,,342,342,342,342,342,342,342,342,,342,342,342',
',342,342,342,342,342,,,,,,,,,,,,,,,,,,,,342,,,342,,,342,342,,,342,,',
',,,342,,,,,,,,,342,,,,,342,342,342,342,,342,342,342,342,,,,,342,342',
',,,550,550,550,342,550,342,342,342,550,550,,,,550,,550,550,550,550,550',
'550,550,,,,,,550,550,550,550,550,550,550,,,550,,,,,,,550,,,550,550,550',
'550,550,550,550,550,550,550,550,550,,550,550,550,550,550,,,,,,,,,,,',
',,,,,,,,550,,,550,,,550,550,,,550,,550,,550,,550,,,550,,,,,,550,,,,',
'550,550,550,550,,550,550,550,550,,,,,550,550,,,,549,549,549,550,549',
'550,550,550,549,549,,,,549,,549,549,549,549,549,549,549,,,,,,549,549',
'549,549,549,549,549,,,549,,,,,,,549,,,549,549,549,549,549,549,549,549',
',549,549,549,,549,549,549,549,549,,,,,,,,,,,,,,,,,,,,549,,,549,,,549',
'549,,,549,,549,,,,549,,,,,,,,,549,,,,,549,549,549,549,,549,549,549,549',
',,,,549,549,,,,212,212,212,549,212,549,549,549,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,212,212,,,,,212,212,,,,211,211,211',
'212,211,212,212,212,211,211,,,,211,,211,211,211,211,211,211,211,,,,',
',211,211,211,211,211,211,211,,,211,,,,,,,211,,,211,211,211,211,211,211',
'211,211,,211,211,211,,211,211,211,211,211,,,,,,,,,,,,,,,,,,,,211,,,211',
',,211,211,,,211,,,,,,211,,,,,,,,,211,,,,,211,211,211,211,,211,211,211',
'211,,,,,211,211,,,,535,535,535,211,535,211,211,211,535,535,,,,535,,535',
'535,535,535,535,535,535,,,,,,535,535,535,535,535,535,535,,,535,,,,,',
',535,,,535,535,535,535,535,535,535,535,535,535,535,535,,535,535,535',
'535,535,,,,,,,,,,,,,,,,,,,,535,,,535,,,535,535,,,535,,,,,,535,,,535',
',,,,,535,,,,,535,535,535,535,,535,535,535,535,,,,,535,535,,,,532,532',
'532,535,532,535,535,535,532,532,,,,532,,532,532,532,532,532,532,532',
',,,,,532,532,532,532,532,532,532,,,532,,,,,,,532,,,532,532,532,532,532',
'532,532,532,532,532,532,532,,532,532,532,532,532,,,,,,,,,,,,,,,,,,,',
'532,,,532,,,532,532,,,532,,532,,,,532,,,532,,,,,,532,,,,,532,532,532',
'532,,532,532,532,532,,,,,532,532,,,,210,210,210,532,210,532,532,532',
'210,210,,,,210,,210,210,210,210,210,210,210,,,,,,210,210,210,210,210',
'210,210,,,210,,,,,,,210,,,210,210,210,210,210,210,210,210,,210,210,210',
',210,210,210,210,210,,,,,,,,,,,,,,,,,,,,210,,,210,,,210,210,,,210,,',
',,,210,,,,,,,,,210,,,,,210,210,210,210,,210,210,210,210,,,,,210,210',
',,,209,209,209,210,209,210,210,210,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,,,,208,208,208,209,208,209,209,209',
'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,208',
',,,,,,208,,208,208,208,58,58,58,58,58,,,,58,58,,,,58,,58,58,58,58,58',
'58,58,,,,,,58,58,58,58,58,58,58,,,58,,,,,,58,58,,58,58,58,58,58,58,58',
'58,58,,58,58,58,,58,58,58,58,58,,,,,,,,,,,,,,,,,,,,58,,,58,,,58,58,',
',58,,58,,,,58,,,,,,,,,58,,,,,58,58,58,58,,58,58,58,58,,,,,58,58,,,,207',
'207,207,58,207,58,58,58,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,,,,526,526,526,207,526,207,207,207,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,,,,59,59',
'59,526,59,526,526,526,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,,,,522,522,522,59,522',
'59,59,59,522,522,,,,522,,522,522,522,522,522,522,522,,,,,,522,522,522',
'522,522,522,522,,,522,,,,,,,522,,,522,522,522,522,522,522,522,522,,522',
'522,522,,522,522,522,522,522,,,,,,,,,,,,,,,,,,,,522,,,522,,,522,522',
',,522,,,,,,522,,,,,,,,,522,,,,,522,522,522,522,,522,522,522,522,,,,',
'522,522,,,,361,361,361,522,361,522,522,522,361,361,,,,361,,361,361,361',
'361,361,361,361,,,,,,361,361,361,361,361,361,361,,,361,,,,,,,361,,,361',
'361,361,361,361,361,361,361,,361,361,361,,361,361,361,361,361,,,,,,',
',,,,,,,,,,,,,361,,,361,,,361,361,,,361,,,,,,361,,,,,,,,,361,,,,,361',
'361,361,361,,361,361,361,361,,,,,361,361,,,,521,521,521,361,521,361',
'361,361,521,521,,,,521,,521,521,521,521,521,521,521,,,,,,521,521,521',
'521,521,521,521,,,521,,,,,,,521,,,521,521,521,521,521,521,521,521,,521',
'521,521,,521,521,521,521,521,,,,,,,,,,,,,,,,,,,,521,,,521,,,521,521',
',,521,,,,,,521,,,,,,,,,521,,,,,521,521,521,521,,521,521,521,521,,,,',
'521,521,,,,518,518,518,521,518,521,521,521,518,518,,,,518,,518,518,518',
'518,518,518,518,,,,,,518,518,518,518,518,518,518,,,518,,,,,,,518,,,518',
'518,518,518,518,518,518,518,,518,518,518,,518,518,,,518,,,,,,,,,,,,',
',,,,,,,518,,,518,,,518,518,,,518,,,,,,,,,,,,,,,,,,,,518,518,518,518',
',518,518,518,518,,,,,518,518,,,,512,512,512,518,512,518,518,518,512',
'512,,,,512,,512,512,512,512,512,512,512,,,,,,512,512,512,512,512,512',
'512,,,512,,,,,,,512,,,512,512,512,512,512,512,512,512,512,512,512,512',
',512,512,512,512,512,,,,,,,,,,,,,,,,,,,,512,,,512,,,512,512,,,512,,512',
',512,,512,,,512,,,,,,512,,,,,512,512,512,512,,512,512,512,512,,,,,512',
'512,,,,510,510,510,512,510,512,512,512,510,510,,,,510,,510,510,510,510',
'510,510,510,,,,,,510,510,510,510,510,510,510,,,510,,,,,,,510,,,510,510',
'510,510,510,510,510,510,,510,510,510,,510,510,,,510,,,,,,,,,,,,,,,,',
',,,510,,,510,,,510,510,,,510,,,995,,995,995,995,995,995,,,,,,,,,995',
',510,510,510,510,,510,510,510,510,,,,,510,510,,,,,,995,510,,510,510',
'510,120,120,120,120,120,995,995,,120,120,995,,,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,,,,119,119,119,120,119',
'120,120,120,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,,,,377,377,377,119,377,119,119,119,377,377,,,,377,,377,377',
'377,377,377,377,377,,,,,,377,377,377,377,377,377,377,,,377,,,,,,,377',
',,377,377,377,377,377,377,377,377,,377,377,377,,377,377,377,377,377',
',,,,,,,,,,,,,,,,,,,377,,,377,,,377,377,,,377,,,,,,377,,,,,,,,,377,,',
',,377,377,377,377,,377,377,377,377,,,,,377,377,,,,,,,377,,377,377,377',
'502,502,502,502,502,,,,502,502,,,,502,,502,502,502,502,502,502,502,',
',,,,502,502,502,502,502,502,502,,,502,,,,,,502,502,502,502,502,502,502',
'502,502,502,502,502,,502,502,502,,502,502,502,502,502,,,,,,,,,,,,,,',
',,,,,502,,,502,,,502,502,,,502,,502,,,,502,,,,,,,,,502,,,,,502,502,502',
'502,,502,502,502,502,,,,,502,502,,,,,,502,502,,502,502,502,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,,,,494,494,494,496,494,496,496,496,494,494,,,,494,,494,494,494',
'494,494,494,494,,,,,,494,494,494,494,494,494,494,,,494,,,,,,,494,,,494',
'494,494,494,494,494,494,494,494,494,494,494,,494,494,494,494,494,,,',
',,,,,,,,,,,,,,,,494,,,494,,,494,494,,,494,,,,494,,494,,,494,,,,,,494',
',,,,494,494,494,494,,494,494,494,494,,,,,494,494,,,,492,492,492,494',
'492,494,494,494,492,492,,,,492,,492,492,492,492,492,492,492,,,,,,492',
'492,492,492,492,492,492,,,492,,,,,,,492,,,492,492,492,492,492,492,492',
'492,492,492,492,492,,492,492,492,492,492,,,,,,,,,,,,,,,,,,,,492,,,492',
',,492,492,,,492,,492,,492,,492,,,492,,,,,,492,,,,,492,492,492,492,,492',
'492,492,492,,,,,492,492,,,,118,118,118,492,118,492,492,492,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,,,,117',
'117,117,118,117,118,118,118,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,,,,116,116,116,117,116,117,117,117,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,',
',,60,60,60,116,60,116,116,116,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,,,,405,405,405,63,405,63,63,63,405,405,,,',
'405,,405,405,405,405,405,405,405,,,,,,405,405,405,405,405,405,405,,',
'405,,,,,,,405,,,405,405,405,405,405,405,405,405,,405,405,405,,405,405',
'405,405,405,,,,,,,,,,,,,,,,,,,,405,,,405,,,405,405,,,405,,,,,,405,,',
',,,,,,405,,,,,405,405,405,405,,405,405,405,405,,,,,405,405,,,,64,64',
'64,405,64,405,405,405,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,111,111,111,111,111,,,,111,111',
',,,111,,111,111,111,111,111,111,111,,,,,,111,111,111,111,111,111,111',
',,111,,,,,,111,111,111,111,111,111,111,111,111,111,111,111,,111,111',
'111,,111,111,111,111,111,,,,,,,,,,,,,,,,,,,,111,,,111,,,111,111,,,111',
',111,,,,111,,,,,,,,,111,,,,,111,111,111,111,,111,111,111,111,,,,,111',
'111,,,,,,111,111,,111,111,111,68,68,68,,68,,,,68,68,,,,68,,68,68,68',
'68,68,68,68,,,,,,68,68,68,68,68,68,68,,,68,,,,,,,68,,,68,68,68,68,68',
'68,68,68,,68,68,68,,68,68,,,68,,,,,,,,,,,,,,,,,,,,68,,,68,,,68,68,,',
'68,,68,,,,,,,,,,,,,,,,,,68,68,68,68,,68,68,68,68,,,,,68,68,,,,69,69',
'69,68,69,68,68,68,69,69,,,,69,,69,69,69,69,69,69,69,,,,,,69,69,69,69',
'69,69,69,,,69,,,,,,,69,,,69,69,69,69,69,69,69,69,,69,69,69,,69,69,,',
'69,,,,,,,,,,,,,,,,,69,,,69,,,69,,,69,69,,,69,,,,,,,,,,,,,,,,,,,,69,69',
'69,69,,69,69,69,69,,,,,69,69,,,,70,70,70,69,70,69,69,69,70,70,,,,70',
',70,70,70,70,70,70,70,,,,,,70,70,70,70,70,70,70,,,70,,,,,,,70,,,70,70',
'70,70,70,70,70,70,,70,70,70,,70,70,,,70,,,,,,,,,,,,,,,,,,,,70,,,70,',
',70,70,,,70,,,,,,,,,,,,,,,,,,,,70,70,70,70,,70,70,70,70,,,,,70,70,,',
',452,452,452,70,452,70,70,70,452,452,,,,452,,452,452,452,452,452,452',
'452,,,,,,452,452,452,452,452,452,452,,,452,,,,,,,452,,,452,452,452,452',
'452,452,452,452,,452,452,452,,452,452,452,452,452,,,,,,,,,,,,,,,,,,',
',452,,,452,,,452,452,,,452,,,,,,452,,,,,,,,,452,,,,,452,452,452,452',
',452,452,452,452,,,,,452,452,,,,451,451,451,452,451,452,452,452,451',
'451,,,,451,,451,451,451,451,451,451,451,,,,,,451,451,451,451,451,451',
'451,,,451,,,,,,,451,,,451,451,451,451,451,451,451,451,,451,451,451,',
'451,451,451,451,451,,,,,,,,,,,,,,,,,,,,451,,,451,,,451,451,,,451,,,',
',,451,,,,,,,,,451,,,,,451,451,451,451,,451,451,451,451,,,,,451,451,',
',,450,450,450,451,450,451,451,451,450,450,,,,450,,450,450,450,450,450',
'450,450,,,,,,450,450,450,450,450,450,450,,,450,,,,,,,450,,,450,450,450',
'450,450,450,450,450,,450,450,450,,450,450,450,450,450,,,,,,,,,,,,,,',
',,,,,450,,,450,,,450,450,,,450,,,,,,450,,,,,,,,,450,,,,,450,450,450',
'450,,450,450,450,450,,,,,450,450,,,,604,604,604,450,604,450,450,450',
'604,604,,,,604,,604,604,604,604,604,604,604,,,,,,604,604,604,604,604',
'604,604,,,604,,,,,,,604,,,604,604,604,604,604,604,604,604,,604,604,604',
',604,604,604,604,604,,,,,,,,,,,,,,,,,,,,604,,,604,,,604,604,,,604,,',
',,,604,,,,,,,,,604,,,,,604,604,604,604,,604,604,604,604,,,,,604,604',
',,,325,325,325,604,325,604,604,604,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,325,,,,603,603,603,325,603,325,325,325',
'603,603,,,,603,,603,603,603,603,603,603,603,,,,,,603,603,603,603,603',
'603,603,,,603,,,,,,,603,,,603,603,603,603,603,603,603,603,,603,603,603',
',603,603,603,603,603,,,,,,,,,,,,,,,,,,,,603,,,603,,,603,603,,,603,,',
',,,603,,,,,,,,,603,,,,,603,603,603,603,,603,603,603,603,,,,,603,603',
',,,602,602,602,603,602,603,603,603,602,602,,,,602,,602,602,602,602,602',
'602,602,,,,,,602,602,602,602,602,602,602,,,602,,,,,,,602,,,602,602,602',
'602,602,602,602,602,602,602,602,602,,602,602,602,602,602,,,,,,,,,,,',
',,,,,,,,602,,,602,,,602,602,,,602,,,,602,,602,,,602,,,,,,602,,,,,602',
'602,602,602,,602,602,602,602,,,,,602,602,,,,601,601,601,602,601,602',
'602,602,601,601,,,,601,,601,601,601,601,601,601,601,,,,,,601,601,601',
'601,601,601,601,,,601,,,,,,,601,,,601,601,601,601,601,601,601,601,601',
'601,601,601,,601,601,601,601,601,,,,,,,,,,,,,,,,,,,,601,,,601,,,601',
'601,,,601,,601,,601,,601,,,601,,,,,,601,,,,,601,601,601,601,,601,601',
'601,601,,,,,601,601,,,,598,598,598,601,598,601,601,601,598,598,,,,598',
',598,598,598,598,598,598,598,,,,,,598,598,598,598,598,598,598,,,598',
',,,,,,598,,,598,598,598,598,598,598,598,598,,598,598,598,,598,598,598',
'598,598,,,,,,,,,,,,,,,,,,,,598,,,598,,,598,598,,,598,,,,,,598,,,,,,',
',,598,,,,,598,598,598,598,,598,598,598,598,,,,,598,598,,,,709,709,709',
'598,709,598,598,598,709,709,,,,709,,709,709,709,709,709,709,709,,,,',
',709,709,709,709,709,709,709,,,709,,,,,,,709,,,709,709,709,709,709,709',
'709,709,,709,709,709,,709,709,709,709,709,,,,,,,,,,,,,,,,,,,,709,,,709',
',,709,709,,,709,,,,,,709,,,,,,,,,709,,,,,709,709,709,709,,709,709,709',
'709,,,,,709,709,,,,,,,709,,709,709,709,597,597,597,597,597,,,,597,597',
',,,597,,597,597,597,597,597,597,597,,,,,,597,597,597,597,597,597,597',
',,597,,,,,,597,597,,597,597,597,597,597,597,597,597,597,,597,597,597',
',597,597,597,597,597,,,,,,,,,,,,,,,,,,,,597,,,597,,,597,597,,,597,,597',
',,,597,,,,,,,,,597,,,,,597,597,597,597,,597,597,597,597,,,,,597,597',
',,,594,594,594,597,594,597,597,597,594,594,,,,594,,594,594,594,594,594',
'594,594,,,,,,594,594,594,594,594,594,594,,,594,,,,,,,594,,,594,594,594',
'594,594,594,594,594,594,594,594,594,,594,594,594,594,594,,,,,,,,,,,',
',,,,,,,,594,,,594,,,594,594,,,594,,594,,594,,594,,,594,,,,,,594,,,,',
'594,594,594,594,,594,594,594,594,,,,,594,594,,,,593,593,593,594,593',
'594,594,594,593,593,,,,593,,593,593,593,593,593,593,593,,,,,,593,593',
'593,593,593,593,593,,,593,,,,,,,593,,,593,593,593,593,593,593,593,593',
',593,593,593,,593,593,593,593,593,,,,,,,,,,,,,,,,,,,,593,,,593,,,593',
'593,,,593,,,,,,593,,,,,,,,,593,,,,,593,593,593,593,,593,593,593,593',
',,,,593,593,,,,592,592,592,593,592,593,593,593,592,592,,,,592,,592,592',
'592,592,592,592,592,,,,,,592,592,592,592,592,592,592,,,592,,,,,,,592',
',,592,592,592,592,592,592,592,592,,592,592,592,,592,592,592,592,592',
',,,,,,,,,,,,,,,,,,,592,,,592,,,592,592,,,592,,592,,,,592,,,,,,,,,592',
',,,,592,592,592,592,,592,592,592,592,,,,,592,592,,,,42,42,42,592,42',
'592,592,592,42,42,,,,42,,42,42,42,42,42,42,42,,,,,,42,42,42,42,42,42',
'42,,,42,,,,,,,42,,,42,42,42,42,42,42,42,42,,42,42,42,,42,42,42,42,42',
',,,,,,,,,,,,,,,,,,,42,,,42,,,42,42,,,42,,,,,,42,,,,,,,,,42,,,,,42,42',
'42,42,,42,42,42,42,,,,,42,42,,,,,,,42,,42,42,42,9,9,9,9,9,9,9,9,9,9',
'9,9,9,9,9,9,9,9,9,9,9,9,9,9,,,,9,9,9,9,9,9,9,9,9,9,,,,,,9,9,9,9,9,9',
'9,9,9,,,9,,,,,,,,9,9,,9,9,9,9,9,9,9,,,9,9,,,,9,9,9,9,,,,,,,,,,,,,,9',
'9,,9,9,9,9,9,9,9,9,9,9,9,9,,,9,9,,,,,,,,,,,,,,9,8,8,8,8,8,8,8,8,8,8',
'8,8,8,8,8,8,8,8,8,8,8,8,8,8,,,,8,8,8,8,8,8,8,8,8,8,,,,,,8,8,8,8,8,8',
'8,8,8,8,,8,,,,,,,,8,8,,8,8,8,8,8,8,8,,,8,8,,,,8,8,8,8,,,,,,,,,,,,,,8',
'8,,8,8,8,8,8,8,8,8,8,8,8,8,,,8,8,,,,,,,,,,,,,,8,396,396,396,396,396',
'396,396,396,396,396,396,396,396,396,396,396,396,396,396,396,396,396',
'396,396,,,,396,396,396,396,396,396,396,396,396,396,,,,,,396,396,396',
'396,396,396,396,396,396,,,396,,,,,,,,396,396,,396,396,396,396,396,396',
'396,,,396,396,,,,396,396,396,396,,,,,,,,,,,,,,396,396,,396,396,396,396',
'396,396,396,396,396,396,396,396,,,396,396,,,,,,,,,,,,,,396,589,589,589',
'589,589,589,589,589,589,589,589,589,589,589,589,589,589,589,589,589',
'589,589,589,589,,,,589,589,589,589,589,589,589,589,589,589,,,,,,589',
'589,589,589,589,589,589,589,589,,,589,,,,,,,,589,589,,589,589,589,589',
'589,589,589,,,589,589,,,,589,589,589,589,,,,,,,,,,,,,,589,589,,589,589',
'589,589,589,589,589,589,589,589,589,589,,,589,589,,,,,,,,,,,,,,589,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,721,721',
'721,721,721,721,721,721,721,721,721,721,721,721,721,721,721,721,721',
'721,721,721,721,721,,,,721,721,721,721,721,721,721,721,721,721,,,,,',
'721,721,721,721,721,721,721,721,721,,,721,,,,,,,,721,721,,721,721,721',
'721,721,721,721,,,721,721,,,,721,721,721,721,,,,,,,,,,,,,,721,721,,721',
'721,721,721,721,721,721,721,721,721,721,721,513,513,721,,513,,,,,,,',
'513,513,,513,513,513,513,513,513,513,,,513,513,,,,513,513,513,513,,',
',,,513,,,,,,,,513,513,,513,513,513,513,513,513,513,513,513,513,513,513',
'559,559,513,,559,,,,,,,,559,559,,559,559,559,559,559,559,559,,,559,559',
',,,559,559,559,559,,,,,,559,,,,,,,,559,559,,559,559,559,559,559,559',
'559,559,559,559,559,559,970,970,559,,970,,,,,,,,970,970,,970,970,970',
'970,970,970,970,,,970,970,,,,970,970,970,970,,,,,,970,,,,,,,,970,970',
',970,970,970,970,970,970,970,970,970,970,970,970,595,595,970,,595,,',
',,,,,595,595,,595,595,595,595,595,595,595,,,595,595,,,,595,595,595,595',
',,,,,595,,,,,,,,595,595,,595,595,595,595,595,595,595,595,595,595,595',
'595,596,596,595,,596,,,,,,,,596,596,,596,596,596,596,596,596,596,,,596',
'596,,,,596,596,596,596,,,,,,596,,,,,,,,596,596,,596,596,596,596,596',
'596,596,596,596,596,596,596,447,447,596,,447,,,,,,,,447,447,,447,447',
'447,447,447,447,447,,,447,447,,,,447,447,447,447,,,,,,447,,,,,,,,447',
'447,,447,447,447,447,447,447,447,447,447,447,447,447,446,446,447,,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,261,261,446,,261,,,,,,,,261,261,,261,261,261,261,261,261,261',
',,261,261,,,,261,261,261,261,,,,,,,,,,,,,,261,261,,261,261,261,261,261',
'261,261,261,261,261,261,261,213,213,261,,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,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,974,974,214,,974,,,,,,,,974,974,,974,974,974,974,974,974,974',
',,974,974,,,,974,974,974,974,,,,,,974,,,,,,,,974,974,,974,974,974,974',
'974,974,974,974,974,974,974,974,558,558,974,,558,,,,,,,,558,558,,558',
'558,558,558,558,558,558,,,558,558,,,,558,558,558,558,,,,,,558,,,,,,',
',558,558,,558,558,558,558,558,558,558,558,558,558,558,558,552,552,558',
',552,,,,,,,,552,552,,552,552,552,552,552,552,552,,,552,552,,,,552,552',
'552,552,,,,,,552,,,,,,,,552,552,,552,552,552,552,552,552,552,552,552',
'552,552,552,523,523,552,,523,,,,,,,,523,523,,523,523,523,523,523,523',
'523,,,523,523,,,,523,523,523,523,,,,,,523,,,,,,,,523,523,,523,523,523',
'523,523,523,523,523,523,523,523,523,524,524,523,,524,,,,,,,,524,524',
',524,524,524,524,524,524,524,,,524,524,,,,524,524,524,524,,,,,,524,',
',,,,,,524,524,,524,524,524,524,524,524,524,524,524,524,524,524,551,551',
'524,,551,,,,,,,,551,551,,551,551,551,551,551,551,551,,,551,551,,,,551',
'551,551,551,,,,,,551,,,,,,,,551,551,,551,551,551,551,551,551,551,551',
'551,551,551,551,975,975,551,,975,,,,,,,,975,975,,975,975,975,975,975',
'975,975,,,975,975,,,,975,975,975,975,,,,,,975,,,,,,,,975,975,,975,975',
'975,975,975,975,975,975,975,975,975,975,514,514,975,,514,,,,,,,,514',
'514,,514,514,514,514,514,514,514,,,514,514,,,,514,514,514,514,,,,,,514',
',,,,,,,514,514,,514,514,514,514,514,514,514,514,514,514,514,514,,540',
'514,540,540,540,540,540,,719,,719,719,719,719,719,540,,,,,,,,719,,993',
',993,993,993,993,993,,,,,,540,540,,993,,,,,719,540,540,540,540,,,,540',
'719,719,719,719,,,,719,993,,991,,991,991,991,991,991,,,993,993,,,,993',
'991,,908,,908,908,908,908,908,,797,,797,797,797,797,797,908,,,,,991',
',,797,,,,,,991,991,991,991,,,,991,908,,,,,,,,797,908,908,908,908,,,',
'908,797,797,797,797,,,910,797,910,910,910,910,910,,799,,799,799,799',
'799,799,910,,,,,,,,799,,912,,912,912,912,912,912,,,,,,910,,,912,,,,',
'799,910,910,910,910,,,,910,799,799,799,799,,,,799,912,,720,,720,720',
'720,720,720,,,912,912,,,,912,720,,1012,,1012,1012,1012,1012,1012,938',
',938,938,938,938,938,,1012,,,,,720,,938,,,,,,,720,720,720,720,,,,720',
'1012,,,,,,,938,,,,1012,1012,,,,1012,,938,938,,,662,938,662,662,662,662',
'662,997,,997,997,997,997,997,936,662,936,936,936,936,936,,997,,,,,,',
'936,,,,,,,,662,,,,,,,997,,662,662,662,662,,936,,662,,997,997,,,,997',
',936,936,,,,936' ]
        racc_action_check = arr = ::Array.new(25333, 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 = [
  5068,    10,   nil,  -101,   nil,  7356,   935,   -53, 23276, 23148,
   -32,   nil,   -42,     3,   156,   127,   580,   399,   nil,   -69,
  8535,  2408,   203,   nil,   362,   nil,   184,   984,  1713,  6030,
  6161,  6292,   nil,  5488,  7086,  7217,   nil,   113,   469,   403,
   198,   199, 23009, 14962, 15617,   168,   728,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,  1305,   nil, 17328, 17721,
 19972,    33,   nil, 20103, 20365,   nil,   nil, 20496, 20774, 20905,
 21036, 23660,   nil,   nil,   nil,   nil,   nil,   514,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,     0,   nil,   nil,   388,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   335,
   nil, 20635,   nil,   nil,   nil,   nil, 19841, 19710, 19579, 18777,
 18646,  3528,   nil,   -28,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   214,   nil,  4648, 17459, 17189, 17058,
 16927, 16534, 16403, 24322, 24383,   nil,   nil, 15355, 15224, 15093,
   nil,   nil,   688,   162,   166,   296,   292,   260,   327,   nil,
  8666,  3108,   328,  8404,  8273,  7749,  7487,  6955,  6562, 14700,
 14569, 14168, 13382, 12989, 12858, 12727, 12596, 12465, 12334, 11679,
 11548, 11286, 10631, 10369, 10238,  9452,  9714,  9845, 10107,   nil,
   nil, 24261,   nil,   nil,   325, 11941, 12072,   nil,   nil,   nil,
   nil,   nil,   nil,   nil, 12203,   nil,  2548,   nil,   289,   293,
   nil, 13513,   363, 13775,   nil,   nil, 13906, 14037,   nil,   nil,
    99,   nil, 14438,  1213,   357,   334,  4228,   372,   413,   375,
  6423,  4508,   860,   863,   896,   454,   956,   nil,   424,   387,
   199,   nil,   nil,   nil,   439,   233,   400,  8011,   nil,   227,
   484,   576,   nil,   495,   nil, 21691,  5768,  1145,   433,   nil,
   394,   319,   485,   476,   429,   505,   nil,   nil,   278,    35,
    32, 15879, 16010,    81,   577,   460,    67,    25,  1028,   542,
    11,   575,   nil,   nil,   501,   611,   294,   nil,  1025,   nil,
   503, 17983,   nil,   nil,   nil,   698,   696,   694,   693,   625,
   588,   584,   582,   555,   nil,   445,   nil, 18908,   nil,   423,
   427,   319,   432,   494,   -41,   -45,   143,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   501, 23404,   nil,   nil,   nil,
   nil,   510,   nil,   nil,   494, 20234,   501,   nil,   nil,   492,
   nil,   764,   140,   594,   nil,   nil,  1848,   nil,   nil,   nil,
   nil,   nil,  1988,   508,   nil,   513,   521,   308,   256,  1195,
   nil,   nil,   nil,   498,   852,   566,   nil,   nil,  1441,  1577,
   nil,   nil,   nil,   -31,   nil,   566, 24200, 24139,  9321,    64,
 21429, 21298, 21167,  3248,  4088,   681,   560,   601,   604,   605,
   627,  4648,  4508,  4788,  3808,  1526,  1662,  3528,  1392,  3388,
  3948,  3108,  3668,  2968,   941,  1033,  4228,  4368,  2128,   nil,
  1116,   nil,   nil,   nil,   nil,   569,   nil,   nil,   nil,   573,
   nil,   nil, 19448,   nil, 19317,   nil, 19186,   nil,   419,   nil,
   nil,   nil, 19047,  1327,  3388,   577,   579,   nil,   nil,   592,
 18507,   601, 18376, 23834, 24871,   692,   643,   nil, 18245,   604,
   nil, 18114, 17852, 24627, 24688,  2828, 17590,   733,   735,   616,
   658,   nil, 16796,   nil,   nil, 16665,   nil,   nil,   nil,   nil,
 24933,  2268,   740,   nil,  2548,   149,   121,   739,   755, 16272,
 16141, 24749, 24566,    41,   nil,   nil,   995,   nil, 24505, 23895,
 15748,   nil,   nil,   234,  3948,   677,   nil,   -33,   nil,   nil,
   nil,  1115,   nil,   nil,   nil,   649,   nil,   nil,   308,   nil,
   178,   nil,   nil,   640,   nil,   666,   nil,   nil,   nil, 23532,
   nil,   668, 22878, 22747, 22616, 24017, 24078, 22485, 22215,   367,
   714, 22084, 21953, 21822, 21560,   713,   nil,   nil,  9059,  8928,
   715,   nil,   nil,   nil,   211,   255,   250,   112,   684,   684,
   808,   nil,   792,   -23,   nil,   nil,   711,   -57,   828,   nil,
   706,   nil,   756,  8142,   nil,   nil,  7880,   nil,   731,   -80,
  7618,   712,   nil,   716,   277,   275,   767,   241,   820,   775,
   743, 14299,   nil,   819,   -14,   872, 13251,   nil,   nil,   nil,
   343,   nil, 25214,   nil,   754,   757,   nil,   763,   765,   766,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   757,  1162,
   nil,   nil, 11810,   nil,   nil,   nil,   850,   nil,   nil,   nil,
   852,   nil,   nil,   854,   362,   nil,   902,   nil,   nil,   nil,
   nil,   908,   nil,    98,   803,    27,    64,    26,    68, 22346,
   790,   765,   nil,   809,  2968,  9583,   nil,   932,  3668, 24941,
 25138, 23773,   nil,   nil,   nil,   nil,   nil,   nil,  2828,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   810,  9976,   816,   337,
   325,   608,   720,   nil,  2268, 10500,   nil,   815,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil, 10762, 10893,
 11024, 11155,   305, 11417,   nil,   -53,   nil,   nil,   836,   nil,
   nil,   915,   nil,  4368,   nil,   nil,   nil,   nil,   nil,   818,
   276,   nil,   nil,   959,   nil,  2408,   853,   901,   nil,   nil,
   nil,    36,   860,  1047,   nil,   nil,   182, 25022,   nil, 25082,
   nil, 14346,   nil, 13120,   nil,  1368,   nil,   866,   253,   871,
   nil,   nil,   nil,   nil,   995,   nil, 13644,   997,  5628,  1848,
   nil,  9190,  1988,    71,   150,   nil,   999,   -73,  2688,   nil,
  1007,   887,   -75,   nil,   891,   889,   304,   nil,   nil, 14831,
  5899,  2688,  4088,   nil,   896,   902,   nil,   903,   904,   908,
   nil,   933,   918,   929,   927,  6693,   nil,   nil,   nil,   nil,
  4788,   nil,   nil,   102,  6824,   nil,   nil,   nil,   nil,   985,
   948,   nil,   nil,   nil,   950,   961,   nil,   968,   971,   nil,
   973,   nil,   nil,   977,  1303,   975,  1109,   nil,   nil,    -1,
   nil,  1111,  1113,   nil,   258,   nil,   nil,   nil,  1118,   nil,
   nil,   nil,  1044,   nil,   nil,  1044,   nil,   nil, 25014,   nil,
 25074,   nil, 25099,   nil,   nil,  1031,   818,  8797,   612,  1090,
   nil,  3808,   106,    36,   665,  1094,    92,   nil,  3248,  2128,
   nil,   nil,  1126,   nil,  7264,   nil, 25228,   nil, 25162,   nil,
   nil,   nil,   nil,   383,   977,  1017,  5348,   nil,   nil,   nil,
   nil,   nil,  5208,   nil,  4928,  1021,   nil,   nil,  1028,  1032,
  1038,  1042,   nil,  1043,   nil,   453,   nil,   nil,   nil,   992,
 23956,   nil,  1171, 15486, 24444, 24810,   105,  1076,  1181,  1058,
  1061,  1063,  1065,  1066,  1308,  1068,  1298,    19,  1201,  1203,
   nil, 24997,   nil, 24958,   nil, 18554,   nil, 25221,   nil,   nil,
   nil,   857,  1129,  1138,   nil,  1103,     6,    26,    33,    34,
   nil,   nil, 25155,   nil,   nil,   nil,   nil,   827,  1106,   nil,
   nil,   nil,  1107,  1108,  1109,  1111,   nil,    42,  1112,  1114,
  6470,   nil,   nil,   nil,   nil,   nil,  -132,   nil ]

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

clist = [
'218,374,336,26,814,329,541,544,26,260,127,127,493,2,261,114,548,268',
'272,278,278,278,528,26,299,655,325,379,634,213,423,484,26,26,26,519',
'26,262,599,407,408,697,700,339,340,6,718,343,111,330,6,132,132,130,130',
'879,809,264,271,273,221,26,320,295,773,942,26,26,316,634,26,783,557',
'127,631,16,631,122,205,114,16,429,435,485,297,968,626,277,277,277,848',
'414,962,115,414,222,390,391,392,393,414,382,620,327,222,222,222,110',
'16,304,304,628,817,876,26,966,360,364,859,26,26,26,26,26,26,851,531',
'534,380,480,538,945,637,16,395,386,634,204,222,222,578,580,222,348,358',
'358,869,353,403,396,279,279,279,624,589,332,6,623,376,493,275,288,289',
'333,539,394,6,942,351,561,968,344,375,962,326,529,794,795,328,337,331',
'334,883,631,631,341,16,444,879,985,818,222,222,222,222,16,16,406,406',
'388,1026,342,842,819,430,670,915,709,952,26,26,26,26,26,26,26,439,714',
'828,701,26,26,26,768,876,564,565,958,641,1018,298,721,498,762,26,446',
'650,902,850,852,965,661,490,866,313,313,540,402,413,791,928,413,929',
'479,876,487,278,413,780,488,717,765,1029,949,278,506,618,420,26,26,277',
'787,863,440,712,378,381,26,313,313,313,16,222,411,222,222,411,222,1',
'383,516,384,411,222,222,26,385,1019,723,26,728,268,114,663,26,272,16',
'520,715,530,950,874,871,876,429,435,956,513,,823,895,545,546,277,277',
',295,670,825,26,643,295,277,509,523,502,517,503,,,222,222,,,26,26,,505',
',222,,,511,836,,114,906,907,779,,,551,,775,26,566,,16,704,,822,16,752',
'634,39,304,16,757,713,39,26,646,931,954,670,670,,279,262,,,646,304,',
'501,279,,486,127,,,16,,401,600,489,,39,303,303,826,612,738,,830,,222',
'222,,646,606,631,,,595,792,611,646,298,,,,39,,,,222,430,,132,,130,347',
'363,363,363,,547,,439,,26,222,625,,,790,629,,619,605,,,429,435,588,610',
'990,,,1004,606,,639,,,414,,,642,775,,831,832,,39,414,414,788,,,414,414',
'298,39,39,,658,298,,520,,,,430,26,277,26,520,,313,622,,,430,26,439,638',
',,,,,222,898,,439,313,,26,921,,,,,722,13,,,703,,13,430,,26,,,26,,6,430',
',,26,439,,946,698,698,,439,,,26,767,,951,26,,13,277,,,,,716,,16,,16',
'39,,,,,304,430,222,,,,127,,304,13,,26,26,439,600,26,222,789,,352,39',
'26,26,277,766,,26,26,630,,,16,,277,16,1027,,782,,600,222,,,414,,520',
',132,413,130,222,,606,,16,611,781,743,413,413,,406,13,413,413,989,833',
'277,660,,,13,13,735,748,750,,,855,753,755,39,,411,222,39,,16,,303,39',
',,411,411,,,,411,411,600,,,,824,,303,,,600,827,,,,,39,,678,,,,,,574',
'576,579,579,26,,574,304,,26,26,600,313,26,747,127,,,304,,313,861,,26',
'845,865,,,,,694,,,696,13,,409,,,409,26,,,,853,409,870,338,338,,,338',
',,,,,,,13,,,,,,853,,,26,887,804,,,,,,222,413,,,26,16,222,1005,,16,,',
'889,855,,900,855,837,855,16,855,,,,338,338,338,338,,,,,,,,26,411,26',
'26,,678,26,,849,13,,,26,13,853,,,698,13,,897,,,646,,901,26,,,16,,313',
'941,,875,,877,,,,,16,313,13,26,,,955,,,845,,845,,845,,,39,,39,,421,678',
'678,855,303,855,441,855,,855,,222,303,16,16,,,16,,,,418,419,16,804,',
'731,885,731,,442,443,,,,39,,16,39,,,,855,,26,834,,,,,918,26,26,854,',
'16,,974,39,924,17,,,,,17,1000,,,26,847,,845,,845,26,845,26,845,678,',
'678,,,959,430,960,,,,858,39,439,17,306,306,26,439,878,,880,,862,804',
',804,600,,979,,,845,969,,,,16,,17,,,,,16,16,,,,350,359,359,,,,303,891',
'892,,,894,,16,,,,303,,16,,16,,277,,338,338,,,,13,904,13,,983,804,,,',
'1022,222,,,17,,563,,,,920,,,17,17,,,,313,335,,,567,854,,854,,313,,,13',
',,13,,,804,,804,,,39,961,,963,39,,678,,,,,,13,,39,,,798,800,802,,,,980',
',981,,982,804,,972,441,,421,,,,977,978,313,,409,,,,13,,,,,,409,409,',
',987,409,409,17,39,412,988,,412,,854,,,,412,,39,,,,,,,,,,,1023,17,1024',
',1025,,,38,,,,,38,,,,,,,,652,1028,39,39,,,39,,,,,,39,,,,,,,1036,38,302',
'302,404,417,,39,,654,,,,,,,,,,15,363,,,17,15,39,38,17,,923,,306,17,',
',,346,362,362,362,,13,,,,13,,,306,,,,15,,,13,,17,,,,,,749,751,,,,754',
'756,,,409,,,,,15,495,38,497,,363,499,500,,39,,38,38,,,,39,39,,,,,,13',
',,933,935,,937,939,,940,,39,13,,,,,39,,39,,,,,,,,,,,15,,,,,,,846,,15',
'15,,,,,13,13,,,13,,,,,,13,,,,872,,,872,,,,,,,13,,,,,38,,,,,,,,,,,,,13',
',,,927,338,,,,,,338,38,,,591,,,838,,,1013,1014,1015,1016,,,,,,,749,751',
'756,754,,,,15,,15,,,15,,,17,,17,15,909,911,913,,306,,,,,,,13,306,15',
',,,,13,13,1035,,,38,,,,38,,,,302,38,,872,17,13,846,17,846,,846,13,,13',
',,,302,,,,632,,335,,635,38,17,,,,338,838,,727,,,,,,,,,15,,,,15,,,,,15',
',,,412,,,,17,632,,,335,,412,412,,,,412,412,,,,,15,417,,992,994,996,998',
',999,,,,846,,846,,846,,846,,,,,,,,306,,,,,,,,,,,306,,,,,,,736,,,,,,',
'846,,632,335,,,,,,,,,,,,,1031,1032,1033,1034,,,,,,,,,,,1037,,,,776,',
',777,,,,,,,,,,,,17,,,,17,,,,786,,,,,,17,,,,,,,,,,,38,,38,,,,412,,302',
'810,,,,,,,302,,,,,,,,,,,,,,,,,,17,,,,,38,,,38,,,,17,,,,,15,,15,,,,,',
',,,38,,835,,,,,,,,,,,,,,,17,17,,,17,,,,,,17,15,,,15,,38,,,,,,,,17,,',
',,,,,,,15,,,359,,,,,17,,,,926,,,,,882,,,,,,,,302,,,,15,,,,15,,893,302',
',,15,15,,,,15,15,,,,,,,,335,,,,,,,,,,,,359,,,,17,,,,,,,17,17,,,,,,,',
',,,,,,,,,17,,,,,38,17,,17,38,,,,,,,,,,38,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,15,,,,15,,,,38,,,,,,15,,,,,,38,,,,,,,,,,,15,,,,,,,,,,,,,,,',
',,,,,,38,38,,,38,229,15,,,,38,,,,276,276,276,,15,,,,,,38,,,322,323,324',
',,,,,,,362,,,,,38,,276,276,922,,,,,15,15,,,15,,,,,,15,,,,,,,,,,,,,,15',
',,,,,,,,,,,,,,,,,15,,,,,,362,,,,38,,,,,,,38,38,,,,,,,,,,,,,,,,,38,,',
',,,38,,38,,,,,,,,,,,,,,,,,,15,,,,,,,15,15,,,,,,,,,,,,,,,,,15,,,,,,15',
',15,,,,,276,416,,,422,276,,,,,422,,,,,,,,,,,,,229,,,453,454,455,456',
'457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473',
'474,475,476,477,478,,,,,,,276,276,,,,,,,,276,,,,,,,276,,276,,,276,276',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,525,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,276,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,276,,422,422,422,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,276,,276,,276,,,,,,,,,,,,,,,,276,,,,,,,,,422,653,',
',,,,,,,,276,,,276,,,,,,,,,,,,,,276,276,,,,,,,,,,276,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,276,422,276,,,,744,,,276,276,422,422,,,,422,422,,,,,',
',,,,,,,,,,,,,,,,,,276,,,276,,,,,,,,,,,,,,,,,,,,276,,,,,,,,,,,,,,,,,',
',,,,,,,,276,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,276',
',,,,,,,422,,,,,,,,,,,,,422,422,422,422,,841,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,276,,,,,,,,,,,,,,,,,,276,,,,,,,,,,,,,,,,,,276,422,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,276' ]
        racc_goto_table = arr = ::Array.new(2954, 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 = [
'33,58,89,43,93,70,92,92,43,142,59,59,76,2,38,98,95,74,74,71,71,71,8',
'43,51,10,33,159,186,31,29,41,43,43,43,53,43,31,30,22,22,94,94,17,17',
'7,99,17,6,71,7,63,63,62,62,182,119,40,40,40,20,43,66,47,131,117,43,43',
'52,186,43,11,56,59,77,28,77,15,15,98,28,39,39,29,48,136,42,35,35,35',
'129,18,183,5,18,28,17,17,17,17,18,162,145,7,28,28,28,4,28,28,28,145',
'11,177,43,135,57,57,12,43,43,43,43,43,43,133,72,72,160,39,72,120,14',
'28,2,160,186,16,28,28,163,163,28,28,28,28,133,19,23,25,73,73,73,44,64',
'69,7,75,87,76,46,46,46,88,91,7,7,117,96,97,136,4,100,183,101,102,124',
'124,103,104,73,73,119,77,77,105,28,49,182,120,106,28,28,28,28,28,28',
'71,71,5,135,107,131,108,74,171,133,109,110,43,43,43,43,43,43,43,59,111',
'112,95,43,43,43,42,177,113,114,129,53,120,9,115,159,30,43,31,53,116',
'121,127,134,137,49,138,67,67,139,20,20,140,143,20,144,146,177,148,71',
'20,30,149,8,152,120,153,71,49,29,26,43,43,35,154,155,26,56,158,161,43',
'67,67,67,28,28,28,28,28,28,28,1,165,33,166,28,28,28,43,167,93,168,43',
'169,74,98,141,43,74,28,51,170,33,11,175,179,177,39,39,180,31,,30,94',
'17,17,35,35,,47,171,30,43,29,47,35,52,31,6,66,7,,,28,28,,,43,43,,48',
',28,,,48,30,,98,124,124,53,,,31,,76,43,38,,28,29,,92,28,41,186,55,28',
'28,41,29,55,43,39,124,99,171,171,,73,31,,,39,28,,4,73,,46,59,,,28,,9',
'33,46,,55,55,55,8,49,29,,8,,28,28,,39,74,77,,,31,141,74,39,9,,,,55,',
',,28,74,,63,,62,55,55,55,55,,4,,59,,43,28,49,,,72,49,,33,40,,,39,39',
'15,40,124,,,10,74,,49,,,18,,,49,76,,141,141,,55,18,18,22,,,18,18,9,55',
'55,,49,9,,51,,,,74,43,35,43,51,,67,40,,,74,43,59,2,,,,,,28,8,,59,67',
',43,92,,,,,49,21,,,71,,21,74,,43,,,43,,7,74,,,43,59,,92,98,98,,59,,',
'43,89,,95,43,,21,35,,,,,98,,28,,28,55,,,,,28,74,28,,,,59,,28,21,,43',
'43,59,33,43,28,70,,21,55,43,43,35,142,,43,43,73,,,28,,35,28,30,,49,',
'33,28,,,18,,51,,63,20,62,28,,74,,28,74,51,7,20,20,,71,21,20,20,8,58',
'35,73,,,21,21,15,26,26,,,178,26,26,55,,28,28,55,,28,,55,55,,,28,28,',
',,28,28,33,,,,17,,55,,,33,17,,,,,55,,176,,,,,,164,164,164,164,43,,164',
'28,,43,43,33,67,43,73,59,,,28,,67,70,,43,123,70,,,,,9,,,9,21,,21,,,21',
'43,,,,33,21,123,24,24,,,24,,,,,,,,21,,,,,,33,,,43,49,118,,,,,,28,20',
',,43,28,28,29,,28,,,17,178,,49,178,26,178,28,178,,,,24,24,24,24,,,,',
',,,43,28,43,43,,176,43,,130,21,,,43,21,33,,,98,21,,98,,,39,,98,43,,',
'28,,67,49,,130,,130,,,,,28,67,21,43,,,123,,,123,,123,,123,,,55,,55,',
'65,176,176,178,55,178,65,178,,178,,28,55,28,28,,,28,,,,24,24,28,118',
',164,118,164,,24,24,,,,55,,28,55,,,,178,,43,9,,,,,28,43,43,176,,28,',
'31,55,28,32,,,,,32,33,,,43,128,,123,,123,43,123,43,123,176,,176,,,130',
'74,130,,,,9,55,59,32,32,32,43,59,128,,128,,9,118,,118,33,,130,,,123',
'28,,,,28,,32,,,,,28,28,,,,32,32,32,,,,55,9,9,,,9,,28,,,,55,,28,,28,',
'35,,24,24,,,,21,9,21,,118,118,,,,130,28,,,32,,24,,,,9,,,32,32,,,,67',
'68,,,24,176,,176,,67,,,21,,,21,,,118,,118,,,55,128,,128,55,,176,,,,',
',21,,55,,,174,174,174,,,,128,,128,,128,118,,9,65,,65,,,,9,9,67,,21,',
',,21,,,,,,21,21,,,9,21,21,32,55,32,9,,32,,176,,,,32,,55,,,,,,,,,,,128',
'32,128,,128,,,54,,,,,54,,,,,,,,65,128,55,55,,,55,,,,,,55,,,,,,,128,54',
'54,54,68,68,,55,,24,,,,,,,,,,27,55,,,32,27,55,54,32,,55,,32,32,,,,54',
'54,54,54,,21,,,,21,,,32,,,,27,,,21,,32,,,,,,65,65,,,,65,65,,,21,,,,',
'27,68,54,68,,55,68,68,,55,,54,54,,,,55,55,,,,,,21,,,174,174,,174,174',
',174,,55,21,,,,,55,,55,,,,,,,,,,,27,,,,,,,125,,27,27,,,,,21,21,,,21',
',,,,,21,,,,125,,,125,,,,,,,21,,,,,54,,,,,,,,,,,,,21,,,,21,24,,,,,,24',
'54,,,68,,,65,,,174,174,174,174,,,,,,,65,65,65,65,,,,27,,27,,,27,,,32',
',32,27,126,126,126,,32,,,,,,,21,32,27,,,,,21,21,174,,,54,,,,54,,,,54',
'54,,125,32,21,125,32,125,,125,21,,21,,,,54,,,,68,,68,,68,54,32,,,,24',
'65,,32,,,,,,,,,27,,,,27,,,,,27,,,,32,,,,32,68,,,68,,32,32,,,,32,32,',
',,,27,68,,126,126,126,126,,126,,,,125,,125,,125,,125,,,,,,,,32,,,,,',
',,,,,32,,,,,,,68,,,,,,,125,,68,68,,,,,,,,,,,,,126,126,126,126,,,,,,',
',,,,126,,,,68,,,68,,,,,,,,,,,,32,,,,32,,,,68,,,,,,32,,,,,,,,,,,54,,54',
',,,32,,54,68,,,,,,,54,,,,,,,,,,,,,,,,,,32,,,,,54,,,54,,,,32,,,,,27,',
'27,,,,,,,,,54,,68,,,,,,,,,,,,,,,32,32,,,32,,,,,,32,27,,,27,,54,,,,,',
',,32,,,,,,,,,,27,,,32,,,,,32,,,,32,,,,,68,,,,,,,,54,,,,27,,,,27,,68',
'54,,,27,27,,,,27,27,,,,,,,,68,,,,,,,,,,,,32,,,,32,,,,,,,32,32,,,,,,',
',,,,,,,,,,32,,,,,54,32,,32,54,,,,,,,,,,54,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,27,,,,27,,,,54,,,,,,27,,,,,,54,,,,,,,,,,,27,,,,,,,,,,,,,,',
',,,,,,,54,54,,,54,34,27,,,,54,,,,34,34,34,,27,,,,,,54,,,34,34,34,,,',
',,,,54,,,,,54,,34,34,54,,,,,27,27,,,27,,,,,,27,,,,,,,,,,,,,,27,,,,,',
',,,,,,,,,,,,27,,,,,,54,,,,54,,,,,,,54,54,,,,,,,,,,,,,,,,,54,,,,,,54',
',54,,,,,,,,,,,,,,,,,,27,,,,,,,27,27,,,,,,,,,,,,,,,,,27,,,,,,27,,27,',
',,,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,',
',,,,,,,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' ]
        racc_goto_check = arr = ::Array.new(2954, 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,   288,    13,   nil,   104,    88,    45,    45,  -304,   197,
  -502,  -584,  -665,   nil,  -370,    69,   128,   -20,  -117,    79,
    40,   536,  -168,   -59,   692,    27,    56,  1228,    75,  -182,
  -385,    13,   940,   -19,  1980,    58,   nil,   nil,   -10,  -132,
    31,  -233,  -401,     3,  -330,   nil,   131,    30,    51,   -32,
   nil,   -10,    33,  -282,  1177,   374,  -284,    47,   -70,     2,
   nil,   nil,    45,    43,  -246,   669,    21,   210,  1006,    96,
   -54,   -10,  -204,   121,    -9,  -323,  -267,  -418,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,    87,   103,   -59,
   nil,  -173,  -333,  -690,  -504,  -328,   100,  -191,    12,  -519,
   101,   117,  -152,   120,   117,   120,  -507,   135,  -497,  -347,
  -687,  -344,  -498,  -139,  -148,  -335,  -596,  -819,    99,  -623,
  -755,  -533,   nil,   -39,  -488,   575,   599,  -532,   179,  -681,
    56,  -563,   nil,  -646,  -676,  -801,  -831,  -299,  -548,   -91,
  -412,  -237,   -13,  -617,  -616,  -377,    -6,   nil,   -14,   -11,
   nil,   nil,  -360,  -631,  -385,  -515,   nil,   nil,   198,   -52,
    46,   193,    17,  -242,   328,   204,   205,   209,  -273,  -272,
  -254,  -335,   nil,   nil,   438,  -486,   162,  -684,  -108,  -481,
  -589,   nil,  -744,  -818,   nil,   nil,  -466 ]

racc_goto_default = [
   nil,   nil,   nil,     3,   nil,     4,   345,   293,   nil,   527,
   nil,   815,   nil,   290,   291,   nil,   nil,   nil,    11,    12,
    18,   227,   nil,   nil,    14,   nil,   410,   228,   321,   nil,
   nil,   559,   226,   445,    21,    22,    23,    24,   nil,   649,
   nil,   nil,   nil,   310,   nil,    25,   424,    32,   nil,   nil,
    34,    37,    36,   nil,   223,   224,   357,   nil,   129,   432,
   128,   131,    75,    76,   nil,   415,    90,    46,   282,   nil,
   784,   425,   nil,   426,   437,   607,   491,   280,   266,    47,
    48,    49,    50,    51,    52,    53,    54,    55,   nil,   267,
    61,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   542,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   806,   677,   nil,
   807,   957,   844,   665,   nil,   666,   nil,   nil,   667,   nil,
   669,   nil,   770,   nil,   nil,   nil,   675,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   436,   nil,   nil,
   627,   621,   nil,   nil,   nil,   nil,    74,    77,    78,   nil,
   nil,   nil,   nil,   nil,   569,   nil,   nil,   nil,   nil,   nil,
   nil,   873,   720,   664,   nil,   668,   881,   680,   682,   683,
   856,   686,   687,   857,   690,   693,   285 ]

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

racc_reduce_n = 605

racc_shift_n = 1038

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,
  :tANDDOT => 142,
  :tEQL => 143,
  :tLOWEST => 144 }

racc_nt_base = 145

racc_use_result_var = true

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

Racc_token_to_s_table = [
  "$end",
  "error",
  "kCLASS",
  "kMODULE",
  "kDEF",
  "kUNDEF",
  "kBEGIN",
  "kRESCUE",
  "kENSURE",
  "kEND",
  "kIF",
  "kUNLESS",
  "kTHEN",
  "kELSIF",
  "kELSE",
  "kCASE",
  "kWHEN",
  "kWHILE",
  "kUNTIL",
  "kFOR",
  "kBREAK",
  "kNEXT",
  "kREDO",
  "kRETRY",
  "kIN",
  "kDO",
  "kDO_COND",
  "kDO_BLOCK",
  "kDO_LAMBDA",
  "kRETURN",
  "kYIELD",
  "kSUPER",
  "kSELF",
  "kNIL",
  "kTRUE",
  "kFALSE",
  "kAND",
  "kOR",
  "kNOT",
  "kIF_MOD",
  "kUNLESS_MOD",
  "kWHILE_MOD",
  "kUNTIL_MOD",
  "kRESCUE_MOD",
  "kALIAS",
  "kDEFINED",
  "klBEGIN",
  "klEND",
  "k__LINE__",
  "k__FILE__",
  "k__ENCODING__",
  "tIDENTIFIER",
  "tFID",
  "tGVAR",
  "tIVAR",
  "tCONSTANT",
  "tLABEL",
  "tCVAR",
  "tNTH_REF",
  "tBACK_REF",
  "tSTRING_CONTENT",
  "tINTEGER",
  "tFLOAT",
  "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",
  "tANDDOT",
  "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",
  "lhs",
  "mrhs",
  "mrhs_arg",
  "expr",
  "@1",
  "command_rhs",
  "var_lhs",
  "primary_value",
  "opt_call_args",
  "rbracket",
  "call_op",
  "backref",
  "opt_nl",
  "arg",
  "command",
  "block_command",
  "block_call",
  "dot_or_colon",
  "operation2",
  "command_args",
  "cmd_brace_block",
  "brace_body",
  "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",
  "arg_rhs",
  "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",
  "opt_block_param",
  "block_param_def",
  "opt_bv_decl",
  "bv_decls",
  "bvar",
  "f_bad_arg",
  "f_larglist",
  "lambda_body",
  "@21",
  "@22",
  "f_args",
  "do_block",
  "@23",
  "@24",
  "do_body",
  "@25",
  "operation3",
  "@26",
  "@27",
  "@28",
  "@29",
  "@30",
  "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",
  "@31",
  "@32",
  "args_tail",
  "@33",
  "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_t.nil?
                        diagnostic :warning, :useless_else, nil, else_t
                      end

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

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

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

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

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

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

# 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.assign(val[0], val[1],
                                  @builder.array(nil, val[2], nil))
                    
    result
end

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

# reduce 33 omitted

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

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

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

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

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

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

# reduce 42 omitted

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

# reduce 44 omitted

# reduce 45 omitted

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

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

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

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

# reduce 50 omitted

# reduce 51 omitted

# reduce 52 omitted

# reduce 53 omitted

# reduce 54 omitted

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

def _reduce_56(val, _values, result)
                      @context.push(:block)
                    
    result
end

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

# reduce 58 omitted

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

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

def _reduce_64(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_65(val, _values, result)
                      result = @builder.keyword_cmd(:super, val[0],
                                  nil, val[1], nil)
                    
    result
end

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

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

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

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

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

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

# reduce 74 omitted

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

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

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

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

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

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

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

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

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

# reduce 84 omitted

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

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

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

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

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

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

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

def _reduce_92(val, _values, result)
                      result = @builder.index_asgn(val[0], val[1], val[2], val[3])
                    
    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.attr_asgn(val[0], val[1], val[2])
                    
    result
end

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

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

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

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

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

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

def _reduce_101(val, _values, result)
                      result = @builder.index_asgn(val[0], val[1], val[2], val[3])
                    
    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.attr_asgn(val[0], val[1], val[2])
                    
    result
end

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

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

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

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

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

# reduce 109 omitted

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

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

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

# reduce 113 omitted

# reduce 114 omitted

# reduce 115 omitted

# reduce 116 omitted

# reduce 117 omitted

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

# reduce 119 omitted

# reduce 120 omitted

# reduce 121 omitted

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

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

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

# 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

# reduce 194 omitted

# reduce 195 omitted

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

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

# reduce 243 omitted

def _reduce_244(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_245(val, _values, result)
                      result = val
                    
    result
end

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

# reduce 247 omitted

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

# reduce 249 omitted

# reduce 250 omitted

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

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

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

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

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

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

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

def _reduce_258(val, _values, result)
                      # When branch gets invoked by RACC's lookahead
                      # and command args start with '[' or '('
                      # we need to put `true` to the cmdarg stack
                      # **before** `false` pushed by lexer
                      #   m [], n
                      #     ^
                      # Right here we have cmdarg [...0] because
                      # lexer pushed it on '['
                      # We need to modify cmdarg stack to [...10]
                      #
                      # For all other cases (like `m n` or `m n, []`) we simply put 1 to the stack
                      # and later lexer pushes corresponding bits on top of it.
                      last_token = @last_token[0]
                      lookahead = last_token == :tLBRACK || last_token == :tLPAREN_ARG

                      if lookahead
                        top = @lexer.cmdarg.pop
                        @lexer.cmdarg.push(true)
                        @lexer.cmdarg.push(top)
                      else
                        @lexer.cmdarg.push(true)
                      end
                    
    result
end

def _reduce_259(val, _values, result)
                      # call_args can be followed by tLBRACE_ARG (that does cmdarg.push(0) in the lexer)
                      # but the push must be done after cmdarg.pop() in the parser.
                      # So this code does cmdarg.pop() to pop 0 pushed by tLBRACE_ARG,
                      # cmdarg.pop() to pop 1 pushed by command_args,
                      # and cmdarg.push(0) to restore back the flag set by tLBRACE_ARG.
                      last_token = @last_token[0]
                      lookahead = last_token == :tLBRACE_ARG
                      if lookahead
                        top = @lexer.cmdarg.pop
                        @lexer.cmdarg.pop
                        @lexer.cmdarg.push(top)
                      else
                        @lexer.cmdarg.pop
                      end

                      result = val[1]
                    
    result
end

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

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

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

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

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

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

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

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

# reduce 268 omitted

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

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

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

# reduce 272 omitted

# reduce 273 omitted

# reduce 274 omitted

# reduce 275 omitted

# reduce 276 omitted

# reduce 277 omitted

# reduce 278 omitted

# reduce 279 omitted

# reduce 280 omitted

# reduce 281 omitted

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

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

def _reduce_284(val, _values, result)
                      @lexer.cmdarg.pop

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

def _reduce_301(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 302 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

def _reduce_319(val, _values, result)
                      @static_env.extend_static
                      @lexer.cmdarg.push(false)
                      @context.push(:class)
                    
    result
end

def _reduce_320(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.cmdarg.pop
                      @static_env.unextend
                      @context.pop
                    
    result
end

def _reduce_321(val, _values, result)
                      @static_env.extend_static
                      @lexer.cmdarg.push(false)
                      @context.push(:sclass)
                    
    result
end

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

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

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

def _reduce_324(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.cmdarg.pop
                      @static_env.unextend
                      @context.pop
                    
    result
end

def _reduce_325(val, _values, result)
                      @static_env.extend_static
                      @lexer.cmdarg.push(false)
                      @context.push(:def)
                    
    result
end

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

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

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

def _reduce_328(val, _values, result)
                      @static_env.extend_static
                      @lexer.cmdarg.push(false)
                      @context.push(:defs)
                    
    result
end

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

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

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

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

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

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

# reduce 334 omitted

# reduce 335 omitted

# reduce 336 omitted

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

# reduce 338 omitted

# reduce 339 omitted

# reduce 340 omitted

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

# reduce 342 omitted

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

# reduce 344 omitted

# reduce 345 omitted

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

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

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

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

# reduce 350 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 370 omitted

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

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

def _reduce_374(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    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

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

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

# reduce 379 omitted

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

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

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

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

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

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

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

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

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

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

# reduce 390 omitted

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

def _reduce_392(val, _values, result)
                      @context.pop
                      @lexer.cmdarg.push(false)
                    
    result
end

def _reduce_393(val, _values, result)
                      @lexer.cmdarg.pop

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

                      @static_env.unextend
                    
    result
end

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

def _reduce_395(val, _values, result)
                      result = @builder.args(nil, val[0], nil)
                    
    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)
                      @context.push(:lambda)
                    
    result
end

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

def _reduce_400(val, _values, result)
                      @context.push(:block)
                    
    result
end

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

def _reduce_402(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_403(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_404(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_405(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_406(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_407(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_408(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_409(val, _values, result)
                      result = @builder.call_method(val[0], val[1], val[2])
                    
    result
end

def _reduce_410(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_411(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_412(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_413(val, _values, result)
                      result = @builder.keyword_cmd(:zsuper, val[0])
                    
    result
end

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

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

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

def _reduce_417(val, _values, result)
                      @context.push(:block)
                    
    result
end

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

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

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

                      @static_env.unextend
                    
    result
end

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

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

def _reduce_423(val, _values, result)
                      result = [ val[2], val[3] ]

                      @static_env.unextend
                      @lexer.cmdarg.pop
                    
    result
end

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

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

# reduce 426 omitted

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

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

# reduce 430 omitted

# reduce 431 omitted

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

# reduce 433 omitted

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

# reduce 435 omitted

# reduce 436 omitted

# reduce 437 omitted

# reduce 438 omitted

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

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

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

def _reduce_442(val, _values, result)
                      string = @builder.string_compose(val[0], val[1], val[2])
                      result = @builder.dedent_string(string, @lexer.dedent_level)
                    
    result
end

def _reduce_443(val, _values, result)
                      string = @builder.string(val[0])
                      result = @builder.dedent_string(string, @lexer.dedent_level)
                    
    result
end

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

def _reduce_445(val, _values, result)
                      string = @builder.xstring_compose(val[0], val[1], val[2])
                      result = @builder.dedent_string(string, @lexer.dedent_level)
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

def _reduce_470(val, _values, result)
                      @lexer.cmdarg.pop
                      @lexer.cond.pop

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

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

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

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

# reduce 474 omitted

def _reduce_475(val, _values, result)
                      @lexer.state = :expr_end
                      result = @builder.symbol(val[0])
                    
    result
end

def _reduce_476(val, _values, result)
                      @lexer.state = :expr_end
                      result = @builder.symbol_compose(val[0], val[1], val[2])
                    
    result
end

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

def _reduce_478(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_479(val, _values, result)
                      @lexer.state = :expr_end
                      result = @builder.integer(val[0])
                    
    result
end

def _reduce_480(val, _values, result)
                      @lexer.state = :expr_end
                      result = @builder.float(val[0])
                    
    result
end

def _reduce_481(val, _values, result)
                      @lexer.state = :expr_end
                      result = @builder.rational(val[0])
                    
    result
end

def _reduce_482(val, _values, result)
                      @lexer.state = :expr_end
                      result = @builder.complex(val[0])
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                      @lexer.state = :expr_value
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

def _reduce_516(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    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[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 532 omitted

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

                      result = val[0]
                    
    result
end

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

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

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

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

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

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

                      @static_env.declare val[0][0]

                      result = val[0]
                    
    result
end

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

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

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

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

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

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

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

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

# reduce 548 omitted

# reduce 549 omitted

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

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

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

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

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

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

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

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

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

# reduce 558 omitted

# reduce 559 omitted

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

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

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

# reduce 562 omitted

# reduce 563 omitted

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

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

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

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

# reduce 567 omitted

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

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

# reduce 570 omitted

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

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

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

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

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

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

# 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

# reduce 587 omitted

# reduce 588 omitted

def _reduce_589(val, _values, result)
                      result = [:dot, val[0][1]]
                    
    result
end

def _reduce_590(val, _values, result)
                      result = [:anddot, val[0][1]]
                    
    result
end

# reduce 591 omitted

# reduce 592 omitted

# reduce 593 omitted

# reduce 594 omitted

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

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

# reduce 597 omitted

# reduce 598 omitted

# reduce 599 omitted

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

# reduce 601 omitted

# reduce 602 omitted

# reduce 603 omitted

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

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

  end   # class Ruby24
  end   # module Parser
