# -*- 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 Ruby22 < Parser::Base


  def version
    22
  end

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

clist = [
'-579,268,536,214,215,268,-100,-579,-579,-579,557,536,-98,-579,-579,217',
'-579,268,-286,-105,615,580,-101,-99,-492,-579,615,238,113,-491,565,445',
'-104,112,-97,578,-579,-579,-100,-579,-579,-579,-579,-579,-99,-102,536',
'536,-91,-102,870,-83,113,214,215,614,218,112,-286,235,-69,614,526,237',
'236,528,-579,-579,-579,-579,-579,-579,-579,-579,-579,-579,-579,-579',
'-579,-579,-98,263,-579,-579,-579,-97,599,579,267,-93,-579,444,267,-579',
'567,566,572,218,-579,-575,-579,577,-579,-579,267,-579,-579,-579,-579',
'-579,-289,-579,-579,-579,-91,-91,556,-289,-289,-289,113,-89,-289,-289',
'-289,112,-289,-579,-96,113,-579,-579,-90,-92,112,-579,-289,-289,-289',
'113,-101,-95,-101,-88,112,-101,-289,-289,536,-289,-289,-289,-289,-289',
'-91,-93,-100,-91,-93,869,829,-100,-99,-102,113,113,-91,-99,-102,112',
'112,693,693,693,-101,489,-289,-289,-289,-289,-289,-289,-289,-289,-289',
'-289,-289,-289,-289,-289,214,215,-289,-289,-289,-93,751,-289,-93,749',
'-289,748,-103,-289,-289,487,-289,-93,-289,615,-289,442,-289,-289,839',
'-289,-289,-289,-289,-289,548,-289,-477,-289,549,214,215,214,215,-477',
'-477,-477,-263,615,-477,-477,-477,-289,-477,-575,-289,-289,-289,-289',
'614,-289,-477,-289,-477,-477,-477,443,-103,268,514,-102,497,-100,-477',
'-477,-68,-477,-477,-477,-477,-477,113,-576,614,821,-99,112,565,816,784',
'113,113,113,-484,260,112,112,112,-92,218,-484,261,257,-477,-477,-477',
'-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,565,838,-477',
'-477,-477,-105,-477,-477,-104,-94,-477,214,215,-477,-477,263,-477,218',
'-477,113,-477,218,-477,-477,112,-477,-477,-477,-477,-477,-482,-477,-480',
'-477,567,566,568,-482,267,-480,-480,-480,-485,753,-480,-480,-480,-477',
'-480,-485,-477,-477,-477,-477,218,-477,-480,-477,-480,-480,-480,-413',
'-477,552,567,566,563,500,-480,-480,921,-480,-480,-480,-480,-480,-488',
'501,670,553,667,666,665,-488,668,784,670,542,667,666,665,113,668,91',
'92,476,112,514,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480',
'-480,-480,-480,565,-413,-480,-480,-480,508,-480,-480,-413,476,-480,91',
'92,-480,-480,565,-480,-413,-480,398,-480,565,-480,-480,-579,-480,-480',
'-480,-480,-480,-289,-480,-95,-480,272,-486,-413,-289,-289,-289,113,-104',
'-486,-289,-289,112,-289,-480,888,113,-480,-480,-480,-480,112,-480,985',
'-480,-579,93,94,-290,-480,841,567,566,-289,-289,-290,-289,-289,-289',
'-289,-289,725,796,-579,-290,212,567,566,581,565,-579,593,567,566,-487',
'-575,93,94,844,-579,846,-487,727,-289,-289,-289,-289,-289,-289,-289',
'-289,-289,-289,-289,-289,-289,-289,-579,-579,-289,-289,-289,594,598',
'-579,218,848,-289,970,-575,-289,565,-96,-579,565,-289,850,-289,-91,-289',
'-289,-105,-289,-289,-289,-289,-289,-100,-289,-579,-289,218,-579,567',
'566,576,-579,-579,-579,79,852,-579,-579,-579,-289,-579,-480,-289,-289',
'-93,-94,80,-289,-480,-579,-579,-579,-579,-102,-103,526,81,-573,528,853',
'-579,-579,516,-579,-579,-579,-579,-579,385,517,567,566,563,567,566,570',
'-477,526,441,856,528,218,670,-477,667,666,665,630,668,858,-579,-579',
'-579,-579,-579,-579,-579,-579,-579,-579,-579,-579,-579,-579,859,675',
'-579,-579,-579,-480,750,-579,214,215,-579,678,-480,-579,-579,805,-579',
'-573,-579,645,-579,-480,-579,-579,808,-579,-579,-579,-579,-579,-333',
'-579,-579,-579,260,735,526,-333,238,525,-573,261,734,-491,686,685,-333',
'-579,861,679,-579,-579,-579,-579,-483,-579,263,-579,816,784,-261,-483',
'-101,290,69,70,71,9,57,865,235,113,63,64,237,236,112,67,867,65,66,68',
'30,31,72,73,-262,-572,218,-90,-88,29,28,27,101,100,102,103,-99,-97,19',
'511,-492,686,685,603,8,45,292,10,105,104,106,95,56,97,96,98,729,99,107',
'108,728,91,92,42,43,41,238,242,247,248,249,244,246,254,255,250,251,-477',
'231,232,724,714,252,253,-477,40,886,-89,33,-572,218,58,59,-477,890,60',
'-98,35,235,515,241,44,237,236,675,233,234,245,243,239,20,240,-572,892',
'678,89,79,82,83,210,84,86,85,87,238,218,211,696,80,88,317,256,542,-238',
'218,209,62,898,81,93,94,290,69,70,71,9,57,686,685,552,63,64,679,689',
'901,67,921,65,66,68,30,31,72,73,218,553,905,-264,316,29,28,27,101,100',
'102,103,395,529,19,653,651,397,396,588,8,45,292,10,105,104,106,95,56',
'97,96,98,650,99,107,108,915,91,92,42,43,41,238,242,247,248,249,244,246',
'254,255,250,251,-289,231,232,-279,530,252,253,-289,40,922,-279,33,-576',
'923,58,59,-289,987,60,-279,35,235,257,241,44,237,236,489,233,234,245',
'243,239,20,240,934,796,936,89,79,82,83,506,84,86,85,87,938,940,507,942',
'80,88,942,256,218,645,948,505,62,519,81,93,94,5,69,70,71,9,57,951,952',
'439,63,64,957,714,796,67,440,65,66,68,30,31,72,73,960,441,962,964,966',
'29,28,27,101,100,102,103,719,720,19,966,721,107,108,603,8,45,7,10,105',
'104,106,95,56,97,96,98,218,99,107,108,542,91,92,42,43,41,238,242,247',
'248,249,244,246,254,255,250,251,-289,231,232,-490,634,252,253,-289,40',
'-83,-490,33,-576,977,58,59,-289,218,60,-490,35,235,213,241,44,237,236',
'387,233,234,245,243,239,20,240,546,218,218,89,79,82,83,-489,84,86,85',
'87,238,238,-489,987,80,88,238,256,208,207,238,-489,62,547,81,93,94,290',
'69,70,71,9,57,605,-576,552,63,64,-575,650,206,67,551,65,66,68,30,31',
'72,73,602,553,263,592,1002,29,28,27,101,100,102,103,1003,918,19,667',
'666,665,1004,668,8,45,292,10,105,104,106,95,56,97,96,98,942,99,107,108',
'942,91,92,42,43,41,238,242,247,248,249,244,246,254,255,250,251,-290',
'231,232,-290,942,252,253,-290,40,1009,-290,294,591,987,58,59,-290,218',
'60,-290,35,235,1012,241,44,237,236,1013,233,234,245,243,239,20,240,1014',
'966,966,89,79,82,83,-489,84,86,85,87,966,218,-489,121,80,88,587,256',
'-261,585,987,-489,62,582,81,93,94,290,69,70,71,9,57,109,942,-490,63',
'64,238,485,784,67,-490,65,66,68,30,31,72,73,218,-490,645,793,796,29',
'28,27,101,100,102,103,797,918,19,667,666,665,799,668,8,45,292,10,105',
'104,106,95,56,97,96,98,801,99,107,108,803,91,92,42,43,41,238,242,247',
'248,249,244,246,254,255,250,251,-289,231,232,975,263,252,253,-289,40',
'476,976,33,-576,811,58,59,-289,812,60,974,35,235,813,241,44,237,236',
'784,233,234,245,243,239,20,240,820,263,218,89,79,82,83,-279,84,86,85',
'87,966,487,-279,218,80,88,645,256,217,489,777,-279,62,218,81,93,94,290',
'69,70,71,9,57,,,544,63,64,,,,67,545,65,66,68,30,31,72,73,,543,,,,29',
'28,27,101,100,102,103,,,19,116,117,118,119,120,8,45,292,10,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,242,247,248,249,244,246',
'254,255,250,251,,231,232,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241',
'44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,',
',,,80,88,,256,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65',
'66,68,30,31,72,73,116,117,118,119,120,29,28,27,101,100,102,103,,,19',
'116,117,118,119,120,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,42,43,41,238,242,247,248,249,244,246,254,255,250,251,,231,232',
',,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245',
'243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,256,,,,,62,,81',
'93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,42,43,41,238,242,247,248,249,244,246,254,255,250',
'251,,231,232,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236',
',233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,256',
',,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72',
'73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,238,242,247,248,249,244,246',
'254,255,250,251,,231,232,,,252,253,,40,,,294,,,58,59,,,60,,35,235,,241',
'44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,',
',,,80,88,,256,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10',
'105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,242,247,248',
'249,244,246,254,255,250,251,,231,232,,,252,253,,40,,,294,,,58,59,,,60',
',35,235,,241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,256,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,',
',,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
'238,242,247,248,249,244,246,254,255,250,251,,231,232,,,252,253,,40,',
',33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245,243,239,20,240',
',,,89,79,82,83,,84,86,85,87,,,,,80,88,218,256,,,,,62,,81,93,94,290,69',
'70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
'102,103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,42,43,41,238,242,247,248,249,244,246,254,255,250,251,,231,232',
',,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245',
'243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,256,,,,,62,,81',
'93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,42,43,41,238,242,247,248,249,244,246,254,255,250',
'251,,231,232,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236',
',233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,256',
',,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72',
'73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,238,242,247,248,249,244,246',
'254,255,250,251,,231,232,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241',
'44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,',
',,,80,88,,256,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10',
'105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,242,247,248',
'249,244,246,254,255,250,251,,231,232,,,252,253,,40,,,33,,,58,59,,,60',
',35,235,,241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,256,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,',
',,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
'238,242,247,248,249,244,246,254,255,250,251,,231,232,,,252,253,,40,',
',33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245,243,239,20,240',
',,,89,79,82,83,,84,86,85,87,,,,,80,88,,256,,,,,62,,81,93,94,5,69,70',
'71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
'103,,,19,,,,,,8,45,7,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
'42,43,41,238,242,247,248,249,244,246,254,255,250,251,,231,232,,,252',
'253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245,243,239',
'20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,256,,,,,62,,81,93,94,290',
'69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
'100,102,103,,670,19,667,666,665,,668,8,45,292,10,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,670,,667,666,665,,668,,805,,670,,667',
'666,665,,668,947,,40,,,33,,,58,59,,238,60,,35,,,,44,,805,,,,,,,20,,808',
'805,,89,79,82,83,,84,86,85,87,,,235,,80,88,237,236,,233,234,,62,,81',
'93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,19,,,238,,,8,45,292,10,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,238,-598,-598,-598,-598,244,246,235',
',-598,-598,237,236,,233,234,252,253,,40,,,33,,,58,59,,,60,,35,235,,241',
'44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,',
',,,80,88,,670,,667,666,665,62,668,81,93,94,290,69,70,71,9,57,,,,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,805,29,28,27,101,100,102,103,,670,19',
'667,666,665,,668,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,42,43,41,238,-598,-598,-598,-598,244,246,,805,-598,-598,,,,,',
'252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245,243',
'239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,670,,667,666,665,62',
'668,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,805,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,238,242,247,248,249,244,246',
'254,255,250,251,,-598,-598,,,252,253,,40,,,33,,,58,59,,,60,,35,235,',
'241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,670,,667,666,665,62,668,81,93,94,290,69,70,71,9,57,,,',
'63,64,,,,67,,65,66,68,30,31,72,73,,,,,805,29,28,27,101,100,102,103,',
',19,,,,,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,238,-598,-598,-598,-598,244,246,,,-598,-598,,,,,,252,253,,40,',
',33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245,243,239,20,240',
',,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,290,69,70,71',
'9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
'103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,238,242,247,248,249,244,246,254,,250,251,,,,,,252,253,,40',
',,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245,243,239,20,240',
',,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,290,69,70,71',
'9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
'103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,238,242,247,248,249,244,246,254,255,250,251,,-598,-598,',
',252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245',
'243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93',
'94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
'27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,238,,,,,,,,,,,,,,,,252,253,,40,,,33,,,58',
'59,,,60,,35,235,,241,44,237,236,,233,234,,,239,20,240,,,,89,79,82,83',
',84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,',
'8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,238',
'-598,-598,-598,-598,244,246,,,-598,-598,,,,,,252,253,,40,,,33,,,58,59',
',,60,,35,235,,241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,5,69,70,71,9,57,,,,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,',
'8,45,7,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,238',
'242,247,248,249,244,246,,,250,251,,,,,,252,253,,40,,,33,,,58,59,,,60',
',35,235,,241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,',
'8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,238',
',,,,,,,,,,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236',
',233,234,,,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62',
',81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,',
',,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,238,,,,,,,,,,,,,,,,252,253,,40,,,33',
',,58,59,,,60,,35,235,,241,44,237,236,,233,234,,,239,20,240,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,290,69,70,71,9,57,,',
',63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19',
',,,,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43',
'41,238,,,,,,,,,,,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44',
'237,236,,233,234,,,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,-598,-598,-598,-598,244',
'246,,,-598,-598,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237',
'236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,42,43,41,238,-598,-598,-598,-598,244,246,,,-598,-598',
',,,,,252,253,,223,,,229,,,58,59,,,60,,,235,,241,44,237,236,,233,234',
'245,243,239,228,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108,',
'91,92,42,43,41,238,,,,,,,,,,,,,,,,252,253,,223,,,229,,,58,59,,,60,,281',
'235,279,241,44,237,236,285,233,234,,,,228,,,,,89,282,82,83,,84,86,85',
'87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310',
'72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,,,,,,,,,,,,,,,,252,253',
',223,,,229,,,58,59,,,60,,,235,,,44,237,236,,233,234,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,,,',
',,,,,,,,,,,,252,253,,223,,,229,,,58,59,,,60,,,235,,241,44,237,236,,233',
'234,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,',
',,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,',
',,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,403,,,,44,,,,,,,,,228,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,',
'229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,',
',80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59',
',,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69',
'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,',
',,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,218,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100',
'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,',
',,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,',
',230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43',
'41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,',
',89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230',
',,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,',
',,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,',
'105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,',
',,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30',
'31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
',,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,',
',,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58',
'59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305',
'306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60',
',,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44',
',,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100',
'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,',
',,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
'230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,',
',,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309',
'310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
',,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,',
',,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58',
'59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305',
'306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60',
',,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44',
',,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100',
'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,',
',,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
'230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,',
',,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309',
'310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
',,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,',
',,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58',
'59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305',
'306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60',
',,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44',
',,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108,,91,92',
'42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,285',
',,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103',
',,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,285',
',,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103',
',,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,285',
',,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,218,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100',
'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,403,,,,44,,,',
',,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102',
'103,,,230,,,,,,,307,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
',,313,,,,,,,,,,,,,,,,,,,,303,,,299,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
',307,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,313,,,,,,,,,',
',,,,,,,,,,303,,,299,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309',
'310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
',,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,',
',,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58',
'59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,,,,62,,81,93,94,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,,10,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59',
',,60,,35,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,',
'69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305',
'306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60',
',,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
'100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,',
'91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,',
',,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,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,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108,,91,92',
'42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,285',
',,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103',
',,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43',
'41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,',
',89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230',
',,,,,,307,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,313,,,,',
',,,,,,,,,,,,,,,929,,,229,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83',
',84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,307,,',
'105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,313,,,,,,,,,,,,,,,,',
',,,855,,,229,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72',
'73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56',
'97,96,98,284,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
',,58,59,,,60,,281,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85',
'87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,284,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,',
'229,,,58,59,,,60,,281,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30',
'31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106',
'95,56,97,96,98,284,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,281,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,307,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,,,313,,,,,,,,,,,,,,,,,,,,303',
',,299,,,58,59,,,60,,298,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,',
',,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,307,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,,,313,,,,,,,,,,,,,,,,,,,,303,,,229,,',
'58,59,,,60,,,670,,667,666,665,675,668,,,,,,,,,678,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,315,,673,62,,81,93,94,69,70,71,,57,686,685,,63,64',
'679,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
'230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,',
',,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108,,91,92,42,43,41,',
',,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,279,,44,,,285,,,,,,228,',
',,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
'230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,627,,,,44,,,,,,,,,228,,,',
',89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230',
',,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,',
',,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,',
',,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,',
',,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,284,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,',
'229,,,58,59,,,60,,281,,,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85',
'87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310',
'72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106',
'95,56,97,96,98,284,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,,,,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85',
'87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310',
'72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,',
'229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,',
',,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59',
',,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69',
'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,',
',,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103',
',,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43',
'41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,',
'89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230',
',,,,,,307,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,313,,,,',
',,,,,,,,,,,,,,,347,,,33,,,58,59,,,60,,35,,,,,,,,,,,,,,,,,,89,79,82,83',
',84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,307,,',
'105,104,106,352,56,97,96,353,,99,107,108,,91,92,,,313,,,,,,,,,,,,,,',
',,359,,,354,,,229,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309',
'310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,307,,,105,104',
'106,352,56,97,96,353,,99,107,108,,91,92,,,313,,,,,,,,,,,,,,,,,,,,354',
',,229,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,',
',,,305,306,312,101,100,102,103,,,230,,,,,,,307,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,,,313,,,,,,,,,,,,,,,,,,,,855,,,229,,,58,59',
',,60,,,670,,667,666,665,675,668,,,,,,,,,678,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,,,673,62,,81,93,94,69,70,71,9,57,686,685,,63,64,679,,,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,,,,,,387,62,,81,93,94,69,70,71,,57,,,,63,64,,',
',67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,',
'229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,',
',80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59',
',,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69',
'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,',
',,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,69',
'70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
'102,103,,,19,,,,,,8,45,,10,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,',
',,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
'230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,223,,,229,,,58,59,,,60,,403,,,,44,,,,,,,,,228,,,,,89,79,82,83',
',84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,',
',,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,284,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,',
'229,,,58,59,,,60,,,,,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,284,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,',
'229,,,58,59,,,60,,627,,,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85',
'87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,',
'58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,',
'305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59',
',,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69',
'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306',
'312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,',
',,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312',
'101,100,102,103,,,230,,,,,,,307,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,,,313,,,,,,,,,,,,,,,,,,,,303,,,299,,,58,59,,,60,,,,,,,,,',
',,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,',
',19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106',
'95,56,97,96,98,284,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,281,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,307,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,,,313,,,,,,,,,,,,,,,,,,,,303',
',,299,,,58,59,,,60,,,670,,667,666,665,675,668,,,,,,,,,678,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,,,673,62,,81,93,94,69,70,71,9,57,686,685',
',63,64,679,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103',
',,19,,,,,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
'42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,387,62,,81,93,94,69,70,71',
',57,,,,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100',
'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,',
',,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108,,91,92',
'42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,279,,44,,,285',
',,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108,,91,92',
'42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,627,,279,,44,,,285',
',,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
'230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,',
',105,104,106,95,56,97,96,98,284,99,107,108,,91,92,42,43,41,,,,,,,,,',
',,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,285,,,,,,228,,,,,89',
'282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,',
',67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309',
'310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,307,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,,,313,,,,,,,,,,,,,,,,,,,,303,',
',229,,,58,59,,,60,,,670,,667,666,665,675,668,,,,,,,,,678,,89,79,82,83',
',84,86,85,87,,,,,80,88,,,,503,,673,62,,81,93,94,69,70,71,,57,686,685',
',63,64,679,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,',
',,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,',
',,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,',
',105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,',
',,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,',
'229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,',
',,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58',
'59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,',
',,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,279',
',44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,627,',
'279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69',
'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306',
'312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,',
',,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,732,',
',,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312',
'101,100,102,103,,,230,,,,,,,307,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,,,313,,,,,,,,,,,,,,,,,,,,303,,,299,,,58,59,,,60,,,,,,,,,',
',,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,',
',230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,285',
',,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103',
',,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,285',
',,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,,,44,,,,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
'230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,223,,,229,519,,58,59,,,60,,,,,,44,,,,,,,,,228,,,',
',89,79,82,83,,84,86,85,87,,,,,80,88,,,,,-280,,62,,81,93,94,-280,-280',
'-280,,,-280,-280,-280,,-280,,,,,,,,,,-280,-280,-280,,,,,,,,-280,-280',
',-280,-280,-280,-280,-280,,,,,,,,,,,,,,,,,,,,,,,-280,-280,-280,-280',
'-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,,,-280,-280,-280,',
',-280,,,-280,,,-280,-280,,-280,,-280,,-280,,-280,-280,,-280,-280,-280',
'-280,-280,,-280,,-280,,,,,,,,,,,,,,-280,,,-280,-280,-280,-280,-581,-280',
',-280,,,,-581,-581,-581,,,-581,-581,-581,,-581,,,,,,,,,-581,-581,-581',
'-581,,,,,,,,-581,-581,,-581,-581,-581,-581,-581,,,,,,,,,,,,,,,,,,,,',
',,-581,-581,-581,-581,-581,-581,-581,-581,-581,-581,-581,-581,-581,-581',
',,-581,-581,-581,,,-581,,,-581,,,-581,-581,,-581,,-581,,-581,,-581,-581',
',-581,-581,-581,-581,-581,,-581,-581,-581,,,,,,,,,,,,,,-581,,,-581,-581',
'-581,-581,-580,-581,,-581,,,,-580,-580,-580,,,-580,-580,-580,,-580,',
',,,,,,,-580,-580,-580,-580,,,,,,,,-580,-580,,-580,-580,-580,-580,-580',
',,,,,,,,,,,,,,,,,,,,,,-580,-580,-580,-580,-580,-580,-580,-580,-580,-580',
'-580,-580,-580,-580,,,-580,-580,-580,,,-580,,,-580,,,-580,-580,,-580',
',-580,,-580,,-580,-580,,-580,-580,-580,-580,-580,,-580,-580,-580,670',
',667,666,665,675,668,,,,,,,-580,,678,-580,-580,-580,-580,-296,-580,',
'-580,,,,-296,-296,-296,,,-296,-296,-296,,-296,673,,,,,,,,,-296,-296',
'686,685,,,,679,,,-296,-296,,-296,-296,-296,-296,-296,,,,,,,,,,,,,,,',
',,,,,,,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296',
'-296,,,-296,-296,-296,,,-296,,272,-296,,,-296,-296,,-296,,-296,,-296',
',-296,-296,,-296,-296,-296,-296,-296,,-296,-412,-296,,,,,,-412,-412',
'-412,,,-412,-412,-412,-296,-412,,-296,-296,,-296,,-296,,-412,-412,-412',
',,,,,,,,-412,-412,,-412,-412,-412,-412,-412,,,,,,,,,,,,,,,,,,,,,,,-412',
'-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,,,-412',
'-412,-412,,,-412,,263,-412,,,-412,-412,,-412,,-412,,-412,,-412,-412',
',-412,-412,-412,-412,-412,,-412,-412,-412,,,,,,,,,,,,,,-412,,-244,-412',
'-412,,-412,,-412,-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,,263,-244,,,-244,-244,,-244,,-244',
',-244,,-244,-244,,-244,-244,-244,-244,-244,,-244,-244,-244,,,,,,,,,',
',,,,-244,,-244,-244,-244,,-244,,-244,-244,-244,-244,,,-244,-244,-244',
'670,-244,667,666,665,675,668,,,,-244,-244,,,,678,,,,,,-244,-244,,-244',
'-244,-244,-244,-244,,,,,,,,670,673,667,666,665,675,668,,,,683,682,686',
'685,,678,,679,,670,,667,666,665,675,668,-244,,,,,,,-244,678,,,673,263',
'-244,,,,218,,,683,682,686,685,,,,679,,,673,,,,,-244,-244,,,683,682,686',
'685,,,,679,,,,-244,,,-244,,,,,-244,173,184,174,197,170,190,180,179,200',
'201,195,178,177,172,198,202,203,182,171,185,189,191,183,176,,,,192,199',
'194,193,186,196,181,169,188,187,,,,,,168,175,166,167,163,164,165,124',
'126,,,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,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,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,370,369,371,368,169,188,187,,,,,,168,175,166',
'167,365,366,367,363,126,97,96,364,,99,,,,,,157,158,,154,136,137,138',
'145,142,144,,,139,140,,,,159,160,146,147,,,,,,375,,,,,,,,151,150,,135',
'156,153,152,161,148,149,143,141,133,155,134,638,416,162,,639,,,,,,,',
'157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,',
',,,263,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155,134',
'474,416,162,,475,,,,,,,,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,1000,423,162,,1001,,,,,,,,157,158,,154,136,137,138',
'145,142,144,,,139,140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135',
'156,153,152,161,148,149,143,141,133,155,134,998,416,162,,999,,,,,,,',
'157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,',
',,,263,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155,134',
'606,416,162,,607,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140',
',,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152,161,148',
'149,143,141,133,155,134,608,423,162,,609,,,,,,,,157,158,,154,136,137',
'138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150',
',135,156,153,152,161,148,149,143,141,133,155,134,972,423,162,,971,,',
',,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147',
',,,,,263,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155',
'134,641,423,162,,642,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139',
'140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152,161',
'148,149,143,141,133,155,134,606,416,162,,607,,,,,,,,157,158,,154,136',
'137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,263,,,,,,,,151',
'150,,135,156,153,152,161,148,149,143,141,133,155,134,608,423,162,,609',
',,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146',
'147,,,,,,263,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133',
'155,134,699,416,162,,700,,,,,,,,157,158,,154,136,137,138,145,142,144',
',,139,140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152',
'161,148,149,143,141,133,155,134,701,423,162,,702,,,,,,,,157,158,,154',
'136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,263,,,,,,',
',151,150,,135,156,153,152,161,148,149,143,141,133,155,134,704,423,162',
',705,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160',
'146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141',
'133,155,134,474,416,162,,475,,,,,,,,157,158,,154,136,137,138,145,142',
'144,,,139,140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153',
'152,161,148,149,143,141,133,155,134,412,416,162,,413,,,,,,,,157,158',
',154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,263,',
',,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155,134,419,423',
'162,,418,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159',
'160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152,161,148,149,143',
'141,133,155,134,,670,162,667,666,665,675,668,,670,,667,666,665,675,668',
'678,,,,,,,,678,,670,,667,666,665,675,668,,,,,,673,,,678,,,,,673,683',
'682,686,685,,,,679,683,682,686,685,,,,679,673,,670,,667,666,665,675',
'668,683,682,686,685,,,,679,678,,670,,667,666,665,675,668,670,,667,666',
'665,675,668,,678,,,,,673,,678,,,,,,,683,682,686,685,,,,679,673,,,,,',
',673,,683,682,686,685,,,,679,,686,685,,,670,679,667,666,665,675,668',
'670,,667,666,665,675,668,670,678,667,666,665,675,668,670,678,667,666',
'665,675,668,,678,,,,,,,678,673,,,,,,,673,,,,686,685,,673,,679,,686,685',
',673,,679,,686,685,,,,679,,686,685,,,670,679,667,666,665,675,668,,670',
',667,666,665,675,668,678,,,,,,,,678,,670,,667,666,665,675,668,,,,,,673',
',,678,,,,,673,683,682,686,685,,,,679,683,682,686,685,,,,679,673,656',
',,,,,,,683,682,686,685,,,,679' ]
        racc_action_table = arr = ::Array.new(25046, 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 = [
'419,618,338,436,436,61,699,419,419,419,358,864,345,419,419,19,419,308',
'58,348,481,383,1000,823,222,419,480,448,832,221,380,226,546,832,344',
'382,419,419,998,419,419,419,419,419,1019,999,891,337,638,700,791,633',
'341,336,336,481,19,341,58,448,633,480,329,448,448,329,419,419,419,419',
'419,419,419,419,419,419,419,419,419,419,222,308,419,419,419,221,419',
'383,618,639,419,225,61,419,380,380,380,436,419,1000,419,382,419,419',
'308,419,419,419,419,419,609,419,419,419,638,699,358,609,609,609,338',
'345,609,609,609,338,609,419,348,864,419,419,823,419,864,419,609,609',
'609,358,1000,546,419,344,358,1000,609,609,697,609,609,609,609,609,638',
'639,998,638,700,791,712,998,1019,999,891,337,638,1019,999,891,337,538',
'539,824,701,626,609,609,609,609,609,609,609,609,609,609,609,609,609',
'609,648,648,609,609,609,639,609,609,639,607,609,606,702,609,609,624',
'609,639,609,472,609,223,609,609,752,609,609,609,609,609,354,609,95,609',
'354,562,562,558,558,95,95,95,731,619,95,95,95,609,95,701,609,609,609',
'609,472,609,95,609,95,95,95,224,609,26,442,607,292,606,95,95,293,95',
'95,95,95,95,697,702,619,697,752,697,378,988,988,538,539,824,371,373',
'538,539,824,701,648,371,373,617,95,95,95,95,95,95,95,95,95,95,95,95',
'95,95,377,736,95,95,95,224,95,95,442,702,95,522,522,95,95,26,95,562',
'95,558,95,295,95,95,558,95,95,95,95,95,369,95,98,95,378,378,378,369',
'26,98,98,98,368,612,98,98,98,95,98,368,95,95,95,95,610,95,98,95,98,98',
'98,779,95,920,377,377,377,296,98,98,920,98,98,98,98,98,367,297,808,920',
'808,808,808,367,808,896,947,896,947,947,947,3,947,313,313,600,3,317',
'98,98,98,98,98,98,98,98,98,98,98,98,98,98,573,779,98,98,98,303,98,98',
'779,595,98,41,41,98,98,384,98,779,98,204,98,575,98,98,704,98,98,98,98',
'98,418,98,317,98,306,366,779,418,418,418,288,317,366,418,418,288,418',
'98,808,557,98,98,98,98,557,98,947,98,641,313,313,549,98,754,573,573',
'418,418,549,418,418,418,418,418,573,755,704,549,15,384,384,384,381,704',
'412,575,575,365,704,41,41,757,704,758,365,575,418,418,418,418,418,418',
'418,418,418,418,418,418,418,418,641,704,418,418,418,413,418,641,916',
'759,418,916,641,418,491,15,641,379,418,761,418,412,418,418,15,418,418',
'418,418,418,412,418,608,418,762,641,381,381,381,608,608,608,77,763,608',
'608,608,418,608,364,418,418,413,418,77,418,364,608,608,608,608,413,418',
'332,77,353,332,764,608,608,319,608,608,608,608,608,109,319,491,491,491',
'379,379,379,363,654,319,768,654,307,805,363,805,805,805,491,805,772',
'608,608,608,608,608,608,608,608,608,608,608,608,608,608,773,793,608',
'608,608,353,608,608,17,17,608,793,353,608,608,805,608,353,608,778,608',
'353,608,608,805,608,608,608,608,608,46,608,608,608,24,590,328,46,449',
'328,353,24,589,38,793,793,46,608,782,793,608,608,608,608,370,608,312',
'608,688,688,785,370,608,818,818,818,818,818,818,786,449,827,818,818',
'449,449,827,818,789,818,818,818,818,818,818,818,586,352,792,589,38,818',
'818,818,818,818,818,818,589,38,818,314,39,796,796,431,818,818,818,818',
'818,818,818,818,818,818,818,818,580,818,818,818,578,818,818,818,818',
'818,431,431,431,431,431,431,431,431,431,431,431,352,431,431,570,560',
'431,431,352,818,807,39,818,352,809,818,818,352,814,818,39,818,431,318',
'431,818,431,431,841,431,431,431,431,431,818,431,352,817,841,818,818',
'818,818,14,818,818,818,818,321,45,14,541,818,818,40,431,540,431,326',
'14,818,826,818,818,818,616,616,616,616,616,616,841,841,854,616,616,841',
'535,830,616,854,616,616,616,616,616,616,616,831,854,834,835,37,616,616',
'616,616,616,616,616,123,330,616,523,521,123,123,407,616,616,616,616',
'616,616,616,616,616,616,616,616,520,616,616,616,851,616,616,616,616',
'616,407,407,407,407,407,407,407,407,407,407,407,705,407,407,304,331',
'407,407,705,616,855,304,616,705,857,616,616,705,1021,616,304,616,407',
'22,407,616,407,407,333,407,407,407,407,407,616,407,871,872,876,616,616',
'616,616,302,616,616,616,616,877,879,302,880,616,616,882,407,885,512',
'887,302,616,509,616,616,616,497,497,497,497,497,497,893,894,220,497',
'497,900,904,906,497,220,497,497,497,497,497,497,497,909,220,910,911',
'912,497,497,497,497,497,497,497,566,566,497,914,566,566,566,611,497',
'497,497,497,497,497,497,497,497,497,497,497,504,497,497,497,342,497',
'497,497,497,497,611,611,611,611,611,611,611,611,611,611,611,642,611',
'611,301,502,611,611,642,497,499,301,497,642,929,497,497,642,498,497',
'301,497,611,16,611,497,611,611,343,611,611,611,611,611,497,611,347,482',
'478,497,497,497,497,300,497,497,497,497,453,452,300,949,497,497,451',
'611,13,12,450,300,497,349,497,497,497,299,299,299,299,299,299,438,971',
'356,299,299,972,973,10,299,356,299,299,299,299,299,299,299,428,356,420',
'411,978,299,299,299,299,299,299,299,979,970,299,970,970,970,980,970',
'299,299,299,299,299,299,299,299,299,299,299,299,981,299,299,299,982',
'299,299,299,299,299,745,745,745,745,745,745,745,745,745,745,745,508',
'745,745,977,983,745,745,508,299,984,977,299,410,986,299,299,508,408',
'299,977,299,745,989,745,299,745,745,990,745,745,745,745,745,299,745',
'991,992,993,299,299,299,299,926,299,299,299,299,994,997,926,7,299,299',
'404,745,402,399,1010,926,299,393,299,299,299,861,861,861,861,861,861',
'1,1020,927,861,861,647,276,649,861,927,861,861,861,861,861,861,861,652',
'927,644,658,659,861,861,861,861,861,861,861,661,852,861,852,852,852',
'662,852,861,861,861,861,861,861,861,861,861,861,861,861,663,861,861',
'861,672,861,861,861,861,861,837,837,837,837,837,837,837,837,837,837',
'837,1001,837,837,928,643,837,837,1001,861,262,928,861,1001,680,861,861',
'1001,684,861,928,861,837,687,837,861,837,837,690,837,837,837,837,837',
'861,837,695,640,698,861,861,861,861,930,861,861,861,861,1022,277,930',
'637,861,861,635,837,230,280,632,930,861,707,861,861,861,534,534,534',
'534,534,534,,,346,534,534,,,,534,346,534,534,534,534,534,534,534,,346',
',,,534,534,534,534,534,534,534,,,534,496,496,496,496,496,534,534,534',
'534,534,534,534,534,534,534,534,534,,534,534,534,,534,534,534,534,534',
'740,740,740,740,740,740,740,740,740,740,740,,740,740,,,740,740,,534',
',,534,,,534,534,,,534,,534,740,,740,534,740,740,,740,740,740,740,740',
'534,740,,,,534,534,534,534,,534,534,534,534,,,,,534,534,,740,,,,,534',
',534,534,534,537,537,537,537,537,537,,,,537,537,,,,537,,537,537,537',
'537,537,537,537,291,291,291,291,291,537,537,537,537,537,537,537,,,537',
'6,6,6,6,6,537,537,537,537,537,537,537,537,537,537,537,537,,537,537,537',
',537,537,537,537,537,426,426,426,426,426,426,426,426,426,426,426,,426',
'426,,,426,426,,537,,,537,,,537,537,,,537,,537,426,,426,537,426,426,',
'426,426,426,426,426,537,426,,,,537,537,537,537,,537,537,537,537,,,,',
'537,537,,426,,,,,537,,537,537,537,324,324,324,324,324,324,,,,324,324',
',,,324,,324,324,324,324,324,324,324,,,,,,324,324,324,324,324,324,324',
',,324,,,,,,324,324,324,324,324,324,324,324,324,324,324,324,,324,324',
'324,,324,324,324,324,324,747,747,747,747,747,747,747,747,747,747,747',
',747,747,,,747,747,,324,,,324,,,324,324,,,324,,324,747,,747,324,747',
'747,,747,747,747,747,747,324,747,,,,324,324,324,324,,324,324,324,324',
',,,,324,324,,747,,,,,324,,324,324,324,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,646,646,646,646',
'646,646,646,646,646,646,646,,646,646,,,646,646,,33,,,33,,,33,33,,,33',
',33,646,,646,33,646,646,,646,646,646,646,646,33,646,,,,33,33,33,33,',
'33,33,33,33,,,,,33,33,,646,,,,,33,,33,33,33,294,294,294,294,294,294',
',,,294,294,,,,294,,294,294,294,294,294,294,294,,,,,,294,294,294,294',
'294,294,294,,,294,,,,,,294,294,294,294,294,294,294,294,294,294,294,294',
',294,294,294,,294,294,294,294,294,274,274,274,274,274,274,274,274,274',
'274,274,,274,274,,,274,274,,294,,,294,,,294,294,,,294,,294,274,,274',
'294,274,274,,274,274,274,274,274,294,274,,,,294,294,294,294,,294,294',
'294,294,,,,,294,294,,274,,,,,294,,294,294,294,723,723,723,723,723,723',
',,,723,723,,,,723,,723,723,723,723,723,723,723,,,,,,723,723,723,723',
'723,723,723,,,723,,,,,,723,723,723,723,723,723,723,723,723,723,723,723',
',723,723,723,,723,723,723,723,723,471,471,471,471,471,471,471,471,471',
'471,471,,471,471,,,471,471,,723,,,723,,,723,723,,,723,,723,471,,471',
'723,471,471,,471,471,471,471,471,723,471,,,,723,723,723,723,,723,723',
'723,723,,,,,723,723,471,471,,,,,723,,723,723,723,713,713,713,713,713',
'713,,,,713,713,,,,713,,713,713,713,713,713,713,713,,,,,,713,713,713',
'713,713,713,713,,,713,,,,,,713,713,713,713,713,713,713,713,713,713,713',
'713,,713,713,713,,713,713,713,713,713,21,21,21,21,21,21,21,21,21,21',
'21,,21,21,,,21,21,,713,,,713,,,713,713,,,713,,713,21,,21,713,21,21,',
'21,21,21,21,21,713,21,,,,713,713,713,713,,713,713,713,713,,,,,713,713',
',21,,,,,713,,713,713,713,784,784,784,784,784,784,,,,784,784,,,,784,',
'784,784,784,784,784,784,784,,,,,,784,784,784,784,784,784,784,,,784,',
',,,,784,784,784,784,784,784,784,784,784,784,784,784,,784,784,784,,784',
'784,784,784,784,733,733,733,733,733,733,733,733,733,733,733,,733,733',
',,733,733,,784,,,784,,,784,784,,,784,,784,733,,733,784,733,733,,733',
'733,733,733,733,784,733,,,,784,784,784,784,,784,784,784,784,,,,,784',
'784,,733,,,,,784,,784,784,784,708,708,708,708,708,708,,,,708,708,,,',
'708,,708,708,708,708,708,708,708,,,,,,708,708,708,708,708,708,708,,',
'708,,,,,,708,708,708,708,708,708,708,708,708,708,708,708,,708,708,708',
',708,708,708,708,708,840,840,840,840,840,840,840,840,840,840,840,,840',
'840,,,840,840,,708,,,708,,,708,708,,,708,,708,840,,840,708,840,840,',
'840,840,840,840,840,708,840,,,,708,708,708,708,,708,708,708,708,,,,',
'708,708,,840,,,,,708,,708,708,708,771,771,771,771,771,771,,,,771,771',
',,,771,,771,771,771,771,771,771,771,,,,,,771,771,771,771,771,771,771',
',,771,,,,,,771,771,771,771,771,771,771,771,771,771,771,771,,771,771',
'771,,771,771,771,771,771,738,738,738,738,738,738,738,738,738,738,738',
',738,738,,,738,738,,771,,,771,,,771,771,,,771,,771,738,,738,771,738',
'738,,738,738,738,738,738,771,738,,,,771,771,771,771,,771,771,771,771',
',,,,771,771,,738,,,,,771,,771,771,771,229,229,229,229,229,229,,,,229',
'229,,,,229,,229,229,229,229,229,229,229,,,,,,229,229,229,229,229,229',
'229,,,229,,,,,,229,229,229,229,229,229,229,229,229,229,229,229,,229',
'229,229,,229,229,229,229,229,518,518,518,518,518,518,518,518,518,518',
'518,,518,518,,,518,518,,229,,,229,,,229,229,,,229,,229,518,,518,229',
'518,518,,518,518,518,518,518,229,518,,,,229,229,229,229,,229,229,229',
'229,,,,,229,229,,518,,,,,229,,229,229,229,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,743,743,743,743,743,743,743,743,743,743,743,,743,743,,',
'743,743,,0,,,0,,,0,0,,,0,,0,743,,743,0,743,743,,743,743,743,743,743',
'0,743,,,,0,0,0,0,,0,0,0,0,,,,,0,0,,743,,,,,0,,0,0,0,958,958,958,958',
'958,958,,,,958,958,,,,958,,958,958,958,958,958,958,958,,,,,,958,958',
'958,958,958,958,958,,886,958,886,886,886,,886,958,958,958,958,958,958',
'958,958,958,958,958,958,,958,958,958,,958,958,958,958,958,673,,673,673',
'673,,673,,886,,888,,888,888,888,,888,886,,958,,,958,,,958,958,,467,958',
',958,,,,958,,673,,,,,,,958,,673,888,,958,958,958,958,,958,958,958,958',
',,467,,958,958,467,467,,467,467,,958,,958,958,958,956,956,956,956,956',
'956,,,,956,956,,,,956,,956,956,956,956,956,956,956,,,,,,956,956,956',
'956,956,956,956,,,956,,,468,,,956,956,956,956,956,956,956,956,956,956',
'956,956,,956,956,956,,956,956,956,956,956,463,463,463,463,463,463,463',
'468,,463,463,468,468,,468,468,463,463,,956,,,956,,,956,956,,,956,,956',
'463,,463,956,463,463,,463,463,463,463,463,956,463,,,,956,956,956,956',
',956,956,956,956,,,,,956,956,,985,,985,985,985,956,985,956,956,956,950',
'950,950,950,950,950,,,,950,950,,,,950,,950,950,950,950,950,950,950,',
',,,985,950,950,950,950,950,950,950,,987,950,987,987,987,,987,950,950',
'950,950,950,950,950,950,950,950,950,950,,950,950,950,,950,950,950,950',
'950,464,464,464,464,464,464,464,,987,464,464,,,,,,464,464,,950,,,950',
',,950,950,,,950,,950,464,,464,950,464,464,,464,464,464,464,464,950,464',
',,,950,950,950,950,,950,950,950,950,,,,,950,950,,1009,,1009,1009,1009',
'950,1009,950,950,950,933,933,933,933,933,933,,,,933,933,,,,933,,933',
'933,933,933,933,933,933,,,,,1009,933,933,933,933,933,933,933,,,933,',
',,,,933,933,933,933,933,933,933,933,933,933,933,933,,933,933,933,,933',
'933,933,933,933,447,447,447,447,447,447,447,447,447,447,447,,447,447',
',,447,447,,933,,,933,,,933,933,,,933,,933,447,,447,933,447,447,,447',
'447,447,447,447,933,447,,,,933,933,933,933,,933,933,933,933,,,,,933',
'933,,948,,948,948,948,933,948,933,933,933,828,828,828,828,828,828,,',
',828,828,,,,828,,828,828,828,828,828,828,828,,,,,948,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,457,457,457,457,457,457,457,,,457',
'457,,,,,,457,457,,828,,,828,,,828,828,,,828,,828,457,,457,828,457,457',
',457,457,457,457,457,828,457,,,,828,828,828,828,,828,828,828,828,,,',
',828,828,,,,,,,828,,828,828,828,822,822,822,822,822,822,,,,822,822,',
',,822,,822,822,822,822,822,822,822,,,,,,822,822,822,822,822,822,822',
',,822,,,,,,822,822,822,822,822,822,822,822,822,822,822,822,,822,822',
'822,,822,822,822,822,822,470,470,470,470,470,470,470,470,,470,470,,',
',,,470,470,,822,,,822,,,822,822,,,822,,822,470,,470,822,470,470,,470',
'470,470,470,470,822,470,,,,822,822,822,822,,822,822,822,822,,,,,822',
'822,,,,,,,822,,822,822,822,622,622,622,622,622,622,,,,622,622,,,,622',
',622,622,622,622,622,622,622,,,,,,622,622,622,622,622,622,622,,,622',
',,,,,622,622,622,622,622,622,622,622,622,622,622,622,,622,622,622,,622',
'622,622,622,622,446,446,446,446,446,446,446,446,446,446,446,,446,446',
',,446,446,,622,,,622,,,622,622,,,622,,622,446,,446,622,446,446,,446',
'446,446,446,446,622,446,,,,622,622,622,622,,622,622,622,622,,,,,622',
'622,,,,,,,622,,622,622,622,932,932,932,932,932,932,,,,932,932,,,,932',
',932,932,932,932,932,932,932,,,,,,932,932,932,932,932,932,932,,,932',
',,,,,932,932,932,932,932,932,932,932,932,932,932,932,,932,932,932,,932',
'932,932,932,932,461,,,,,,,,,,,,,,,,461,461,,932,,,932,,,932,932,,,932',
',932,461,,461,932,461,461,,461,461,,,461,932,461,,,,932,932,932,932',
',932,932,932,932,,,,,932,932,,,,,,,932,,932,932,932,621,621,621,621',
'621,621,,,,621,621,,,,621,,621,621,621,621,621,621,621,,,,,,621,621',
'621,621,621,621,621,,,621,,,,,,621,621,621,621,621,621,621,621,621,621',
'621,621,,621,621,621,,621,621,621,621,621,462,462,462,462,462,462,462',
',,462,462,,,,,,462,462,,621,,,621,,,621,621,,,621,,621,462,,462,621',
'462,462,,462,462,462,462,462,621,462,,,,621,621,621,621,,621,621,621',
'621,,,,,621,621,,,,,,,621,,621,621,621,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,469,469,469,469,469,469,469,,,469,469,',
',,,,469,469,,121,,,121,,,121,121,,,121,,121,469,,469,121,469,469,,469',
'469,469,469,469,121,469,,,,121,121,121,121,,121,121,121,121,,,,,121',
'121,,,,,,,121,,121,121,121,925,925,925,925,925,925,,,,925,925,,,,925',
',925,925,925,925,925,925,925,,,,,,925,925,925,925,925,925,925,,,925',
',,,,,925,925,925,925,925,925,925,925,925,925,925,925,,925,925,925,,925',
'925,925,925,925,459,,,,,,,,,,,,,,,,459,459,,925,,,925,,,925,925,,,925',
',925,459,,459,925,459,459,,459,459,,,459,925,459,,,,925,925,925,925',
',925,925,925,925,,,,,925,925,,,,,,,925,,925,925,925,559,559,559,559',
'559,559,,,,559,559,,,,559,,559,559,559,559,559,559,559,,,,,,559,559',
'559,559,559,559,559,,,559,,,,,,559,559,559,559,559,559,559,559,559,559',
'559,559,,559,559,559,,559,559,559,559,559,458,,,,,,,,,,,,,,,,458,458',
',559,,,559,,,559,559,,,559,,559,458,,458,559,458,458,,458,458,,,458',
'559,458,,,,559,559,559,559,,559,559,559,559,,,,,559,559,,,,,,,559,,559',
'559,559,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,460',
',,,,,,,,,,,,,,,460,460,,206,,,206,,,206,206,,,206,,206,460,,460,206',
'460,460,,460,460,,,460,206,460,,,,206,206,206,206,,206,206,206,206,',
',,,206,206,,,,,,,206,,206,206,206,819,819,819,819,819,819,,,,819,819',
',,,819,,819,819,819,819,819,819,819,,,,,,819,819,819,819,819,819,819',
',,819,,,,,,819,819,819,819,819,819,819,819,819,819,819,819,,819,819',
'819,,819,819,819,819,819,465,465,465,465,465,465,465,,,465,465,,,,,',
'465,465,,819,,,819,,,819,819,,,819,,819,465,,465,819,465,465,,465,465',
'465,465,465,819,465,,,,819,819,819,819,,819,819,819,819,,,,,819,819',
',,,208,208,208,819,208,819,819,819,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,466,466,466,466',
'466,466,466,,,466,466,,,,,,466,466,,208,,,208,,,208,208,,,208,,,466',
',466,208,466,466,,466,466,466,466,466,208,466,,,,208,208,208,208,,208',
'208,208,208,,,,,208,208,,,,209,209,209,208,209,208,208,208,209,209,',
',,209,,209,209,209,209,209,209,209,,,,,,209,209,209,209,209,209,209',
',,209,,,,,,,209,,,209,209,209,209,209,209,209,209,209,209,209,209,,209',
'209,209,209,209,454,,,,,,,,,,,,,,,,454,454,,209,,,209,,,209,209,,,209',
',209,454,209,454,209,454,454,209,454,454,,,,209,,,,,209,209,209,209',
',209,209,209,209,,,,,209,209,,,,750,750,750,209,750,209,209,209,750',
'750,,,,750,,750,750,750,750,750,750,750,,,,,,750,750,750,750,750,750',
'750,,,750,,,,,,,750,,,750,750,750,750,750,750,750,750,,750,750,750,',
'750,750,750,750,750,456,,,,,,,,,,,,,,,,456,456,,750,,,750,,,750,750',
',,750,,,456,,,750,456,456,,456,456,,,,750,,,,,750,750,750,750,,750,750',
'750,750,,,,,750,750,,,,749,749,749,750,749,750,750,750,749,749,,,,749',
',749,749,749,749,749,749,749,,,,,,749,749,749,749,749,749,749,,,749',
',,,,,,749,,,749,749,749,749,749,749,749,749,,749,749,749,,749,749,749',
'749,749,455,,,,,,,,,,,,,,,,455,455,,749,,,749,,,749,749,,,749,,,455',
',455,749,455,455,,455,455,,,,749,,,,,749,749,749,749,,749,749,749,749',
',,,,749,749,,,,212,212,212,749,212,749,749,749,212,212,,,,212,,212,212',
'212,212,212,212,212,,,,,,212,212,212,212,212,212,212,,,212,,,,,,,212',
',,212,212,212,212,212,212,212,212,,212,212,212,,212,212,212,212,212',
',,,,,,,,,,,,,,,,,,,212,,,212,,,212,212,,,212,,,,,,212,,,,,,,,,212,,',
',,212,212,212,212,,212,212,212,212,,,,,212,212,,,,213,213,213,212,213',
'212,212,212,213,213,,,,213,,213,213,213,213,213,213,213,,,,,,213,213',
'213,213,213,213,213,,,213,,,,,,,213,,,213,213,213,213,213,213,213,213',
',213,213,213,,213,213,213,213,213,,,,,,,,,,,,,,,,,,,,213,,,213,,,213',
'213,,,213,,213,,,,213,,,,,,,,,213,,,,,213,213,213,213,,213,213,213,213',
',,,,213,213,,,,214,214,214,213,214,213,213,213,214,214,,,,214,,214,214',
'214,214,214,214,214,,,,,,214,214,214,214,214,214,214,,,214,,,,,,,214',
',,214,214,214,214,214,214,214,214,,214,214,214,,214,214,214,214,214',
',,,,,,,,,,,,,,,,,,,214,,,214,,,214,214,,,214,,,,,,214,,,,,,,,,214,,',
',,214,214,214,214,,214,214,214,214,,,,,214,214,,,,215,215,215,214,215',
'214,214,214,215,215,,,,215,,215,215,215,215,215,215,215,,,,,,215,215',
'215,215,215,215,215,,,215,,,,,,,215,,,215,215,215,215,215,215,215,215',
',215,215,215,,215,215,215,215,215,,,,,,,,,,,,,,,,,,,,215,,,215,,,215',
'215,,,215,,,,,,215,,,,,,,,,215,,,,,215,215,215,215,,215,215,215,215',
',,,,215,215,,,,216,216,216,215,216,215,215,215,216,216,,,,216,,216,216',
'216,216,216,216,216,,,,,,216,216,216,216,216,216,216,,,216,,,,,,,216',
',,216,216,216,216,216,216,216,216,,216,216,216,,216,216,216,216,216',
',,,,,,,,,,,,,,,,,,,216,,,216,,,216,216,,,216,,,,,,216,,,,,,,,,216,,',
',,216,216,216,216,,216,216,216,216,,,,,216,216,,,,217,217,217,216,217',
'216,216,216,217,217,,,,217,,217,217,217,217,217,217,217,,,,,,217,217',
'217,217,217,217,217,,,217,,,,,,,217,,,217,217,217,217,217,217,217,217',
',217,217,217,,217,217,217,217,217,,,,,,,,,,,,,,,,,,,,217,,,217,,,217',
'217,,,217,,,,,,217,,,,,,,,,217,,,,,217,217,217,217,,217,217,217,217',
',,,,217,217,217,,,748,748,748,217,748,217,217,217,748,748,,,,748,,748',
'748,748,748,748,748,748,,,,,,748,748,748,748,748,748,748,,,748,,,,,',
',748,,,748,748,748,748,748,748,748,748,,748,748,748,,748,748,748,748',
'748,,,,,,,,,,,,,,,,,,,,748,,,748,,,748,748,,,748,,,,,,748,,,,,,,,,748',
',,,,748,748,748,748,,748,748,748,748,,,,,748,748,,,,734,734,734,748',
'734,748,748,748,734,734,,,,734,,734,734,734,734,734,734,734,,,,,,734',
'734,734,734,734,734,734,,,734,,,,,,,734,,,734,734,734,734,734,734,734',
'734,,734,734,734,,734,734,734,734,734,,,,,,,,,,,,,,,,,,,,734,,,734,',
',734,734,,,734,,,,,,734,,,,,,,,,734,,,,,734,734,734,734,,734,734,734',
'734,,,,,734,734,,,,732,732,732,734,732,734,734,734,732,732,,,,732,,732',
'732,732,732,732,732,732,,,,,,732,732,732,732,732,732,732,,,732,,,,,',
',732,,,732,732,732,732,732,732,732,732,,732,732,732,,732,732,732,732',
'732,,,,,,,,,,,,,,,,,,,,732,,,732,,,732,732,,,732,,,,,,732,,,,,,,,,732',
',,,,732,732,732,732,,732,732,732,732,,,,,732,732,,,,709,709,709,732',
'709,732,732,732,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,,,,228,228,228,709,228,709,709,709,228,228,,,,228,,228',
'228,228,228,228,228,228,,,,,,228,228,228,228,228,228,228,,,228,,,,,',
',228,,,228,228,228,228,228,228,228,228,,228,228,228,,228,228,228,228',
'228,,,,,,,,,,,,,,,,,,,,228,,,228,,,228,228,,,228,,,,,,228,,,,,,,,,228',
',,,,228,228,228,228,,228,228,228,228,,,,,228,228,,,,703,703,703,228',
'703,228,228,228,703,703,,,,703,,703,703,703,703,703,703,703,,,,,,703',
'703,703,703,703,703,703,,,703,,,,,,,703,,,703,703,703,703,703,703,703',
'703,,703,703,703,,703,703,703,703,703,,,,,,,,,,,,,,,,,,,,703,,,703,',
',703,703,,,703,,,,,,703,,,,,,,,,703,,,,,703,703,703,703,,703,703,703',
'703,,,,,703,703,,,,231,231,231,703,231,703,703,703,231,231,,,,231,,231',
'231,231,231,231,231,231,,,,,,231,231,231,231,231,231,231,,,231,,,,,',
',231,,,231,231,231,231,231,231,231,231,,231,231,231,,231,231,231,231',
'231,,,,,,,,,,,,,,,,,,,,231,,,231,,,231,231,,,231,,,,,,231,,,,,,,,,231',
',,,,231,231,231,231,,231,231,231,231,,,,,231,231,,,,232,232,232,231',
'232,231,231,231,232,232,,,,232,,232,232,232,232,232,232,232,,,,,,232',
'232,232,232,232,232,232,,,232,,,,,,,232,,,232,232,232,232,232,232,232',
'232,,232,232,232,,232,232,232,232,232,,,,,,,,,,,,,,,,,,,,232,,,232,',
',232,232,,,232,,,,,,232,,,,,,,,,232,,,,,232,232,232,232,,232,232,232',
'232,,,,,232,232,,,,233,233,233,232,233,232,232,232,233,233,,,,233,,233',
'233,233,233,233,233,233,,,,,,233,233,233,233,233,233,233,,,233,,,,,',
',233,,,233,233,233,233,233,233,233,233,,233,233,233,,233,233,233,233',
'233,,,,,,,,,,,,,,,,,,,,233,,,233,,,233,233,,,233,,,,,,233,,,,,,,,,233',
',,,,233,233,233,233,,233,233,233,233,,,,,233,233,,,,234,234,234,233',
'234,233,233,233,234,234,,,,234,,234,234,234,234,234,234,234,,,,,,234',
'234,234,234,234,234,234,,,234,,,,,,,234,,,234,234,234,234,234,234,234',
'234,,234,234,234,,234,234,234,234,234,,,,,,,,,,,,,,,,,,,,234,,,234,',
',234,234,,,234,,,,,,234,,,,,,,,,234,,,,,234,234,234,234,,234,234,234',
'234,,,,,234,234,,,,235,235,235,234,235,234,234,234,235,235,,,,235,,235',
'235,235,235,235,235,235,,,,,,235,235,235,235,235,235,235,,,235,,,,,',
',235,,,235,235,235,235,235,235,235,235,,235,235,235,,235,235,235,235',
'235,,,,,,,,,,,,,,,,,,,,235,,,235,,,235,235,,,235,,,,,,235,,,,,,,,,235',
',,,,235,235,235,235,,235,235,235,235,,,,,235,235,,,,236,236,236,235',
'236,235,235,235,236,236,,,,236,,236,236,236,236,236,236,236,,,,,,236',
'236,236,236,236,236,236,,,236,,,,,,,236,,,236,236,236,236,236,236,236',
'236,,236,236,236,,236,236,236,236,236,,,,,,,,,,,,,,,,,,,,236,,,236,',
',236,236,,,236,,,,,,236,,,,,,,,,236,,,,,236,236,236,236,,236,236,236',
'236,,,,,236,236,,,,237,237,237,236,237,236,236,236,237,237,,,,237,,237',
'237,237,237,237,237,237,,,,,,237,237,237,237,237,237,237,,,237,,,,,',
',237,,,237,237,237,237,237,237,237,237,,237,237,237,,237,237,237,237',
'237,,,,,,,,,,,,,,,,,,,,237,,,237,,,237,237,,,237,,,,,,237,,,,,,,,,237',
',,,,237,237,237,237,,237,237,237,237,,,,,237,237,,,,238,238,238,237',
'238,237,237,237,238,238,,,,238,,238,238,238,238,238,238,238,,,,,,238',
'238,238,238,238,238,238,,,238,,,,,,,238,,,238,238,238,238,238,238,238',
'238,,238,238,238,,238,238,238,238,238,,,,,,,,,,,,,,,,,,,,238,,,238,',
',238,238,,,238,,,,,,238,,,,,,,,,238,,,,,238,238,238,238,,238,238,238',
'238,,,,,238,238,,,,239,239,239,238,239,238,238,238,239,239,,,,239,,239',
'239,239,239,239,239,239,,,,,,239,239,239,239,239,239,239,,,239,,,,,',
',239,,,239,239,239,239,239,239,239,239,,239,239,239,,239,239,239,239',
'239,,,,,,,,,,,,,,,,,,,,239,,,239,,,239,239,,,239,,,,,,239,,,,,,,,,239',
',,,,239,239,239,239,,239,239,239,239,,,,,239,239,,,,240,240,240,239',
'240,239,239,239,240,240,,,,240,,240,240,240,240,240,240,240,,,,,,240',
'240,240,240,240,240,240,,,240,,,,,,,240,,,240,240,240,240,240,240,240',
'240,,240,240,240,,240,240,240,240,240,,,,,,,,,,,,,,,,,,,,240,,,240,',
',240,240,,,240,,,,,,240,,,,,,,,,240,,,,,240,240,240,240,,240,240,240',
'240,,,,,240,240,,,,241,241,241,240,241,240,240,240,241,241,,,,241,,241',
'241,241,241,241,241,241,,,,,,241,241,241,241,241,241,241,,,241,,,,,',
',241,,,241,241,241,241,241,241,241,241,,241,241,241,,241,241,241,241',
'241,,,,,,,,,,,,,,,,,,,,241,,,241,,,241,241,,,241,,,,,,241,,,,,,,,,241',
',,,,241,241,241,241,,241,241,241,241,,,,,241,241,,,,242,242,242,241',
'242,241,241,241,242,242,,,,242,,242,242,242,242,242,242,242,,,,,,242',
'242,242,242,242,242,242,,,242,,,,,,,242,,,242,242,242,242,242,242,242',
'242,,242,242,242,,242,242,242,242,242,,,,,,,,,,,,,,,,,,,,242,,,242,',
',242,242,,,242,,,,,,242,,,,,,,,,242,,,,,242,242,242,242,,242,242,242',
'242,,,,,242,242,,,,243,243,243,242,243,242,242,242,243,243,,,,243,,243',
'243,243,243,243,243,243,,,,,,243,243,243,243,243,243,243,,,243,,,,,',
',243,,,243,243,243,243,243,243,243,243,,243,243,243,,243,243,243,243',
'243,,,,,,,,,,,,,,,,,,,,243,,,243,,,243,243,,,243,,,,,,243,,,,,,,,,243',
',,,,243,243,243,243,,243,243,243,243,,,,,243,243,,,,244,244,244,243',
'244,243,243,243,244,244,,,,244,,244,244,244,244,244,244,244,,,,,,244',
'244,244,244,244,244,244,,,244,,,,,,,244,,,244,244,244,244,244,244,244',
'244,,244,244,244,,244,244,244,244,244,,,,,,,,,,,,,,,,,,,,244,,,244,',
',244,244,,,244,,,,,,244,,,,,,,,,244,,,,,244,244,244,244,,244,244,244',
'244,,,,,244,244,,,,245,245,245,244,245,244,244,244,245,245,,,,245,,245',
'245,245,245,245,245,245,,,,,,245,245,245,245,245,245,245,,,245,,,,,',
',245,,,245,245,245,245,245,245,245,245,,245,245,245,,245,245,245,245',
'245,,,,,,,,,,,,,,,,,,,,245,,,245,,,245,245,,,245,,,,,,245,,,,,,,,,245',
',,,,245,245,245,245,,245,245,245,245,,,,,245,245,,,,246,246,246,245',
'246,245,245,245,246,246,,,,246,,246,246,246,246,246,246,246,,,,,,246',
'246,246,246,246,246,246,,,246,,,,,,,246,,,246,246,246,246,246,246,246',
'246,,246,246,246,,246,246,246,246,246,,,,,,,,,,,,,,,,,,,,246,,,246,',
',246,246,,,246,,,,,,246,,,,,,,,,246,,,,,246,246,246,246,,246,246,246',
'246,,,,,246,246,,,,247,247,247,246,247,246,246,246,247,247,,,,247,,247',
'247,247,247,247,247,247,,,,,,247,247,247,247,247,247,247,,,247,,,,,',
',247,,,247,247,247,247,247,247,247,247,,247,247,247,,247,247,247,247',
'247,,,,,,,,,,,,,,,,,,,,247,,,247,,,247,247,,,247,,,,,,247,,,,,,,,,247',
',,,,247,247,247,247,,247,247,247,247,,,,,247,247,,,,248,248,248,247',
'248,247,247,247,248,248,,,,248,,248,248,248,248,248,248,248,,,,,,248',
'248,248,248,248,248,248,,,248,,,,,,,248,,,248,248,248,248,248,248,248',
'248,,248,248,248,,248,248,248,248,248,,,,,,,,,,,,,,,,,,,,248,,,248,',
',248,248,,,248,,,,,,248,,,,,,,,,248,,,,,248,248,248,248,,248,248,248',
'248,,,,,248,248,,,,249,249,249,248,249,248,248,248,249,249,,,,249,,249',
'249,249,249,249,249,249,,,,,,249,249,249,249,249,249,249,,,249,,,,,',
',249,,,249,249,249,249,249,249,249,249,,249,249,249,,249,249,249,249',
'249,,,,,,,,,,,,,,,,,,,,249,,,249,,,249,249,,,249,,,,,,249,,,,,,,,,249',
',,,,249,249,249,249,,249,249,249,249,,,,,249,249,,,,250,250,250,249',
'250,249,249,249,250,250,,,,250,,250,250,250,250,250,250,250,,,,,,250',
'250,250,250,250,250,250,,,250,,,,,,,250,,,250,250,250,250,250,250,250',
'250,,250,250,250,,250,250,250,250,250,,,,,,,,,,,,,,,,,,,,250,,,250,',
',250,250,,,250,,,,,,250,,,,,,,,,250,,,,,250,250,250,250,,250,250,250',
'250,,,,,250,250,,,,251,251,251,250,251,250,250,250,251,251,,,,251,,251',
'251,251,251,251,251,251,,,,,,251,251,251,251,251,251,251,,,251,,,,,',
',251,,,251,251,251,251,251,251,251,251,,251,251,251,,251,251,251,251',
'251,,,,,,,,,,,,,,,,,,,,251,,,251,,,251,251,,,251,,,,,,251,,,,,,,,,251',
',,,,251,251,251,251,,251,251,251,251,,,,,251,251,,,,252,252,252,251',
'252,251,251,251,252,252,,,,252,,252,252,252,252,252,252,252,,,,,,252',
'252,252,252,252,252,252,,,252,,,,,,,252,,,252,252,252,252,252,252,252',
'252,,252,252,252,,252,252,252,252,252,,,,,,,,,,,,,,,,,,,,252,,,252,',
',252,252,,,252,,,,,,252,,,,,,,,,252,,,,,252,252,252,252,,252,252,252',
'252,,,,,252,252,,,,253,253,253,252,253,252,252,252,253,253,,,,253,,253',
'253,253,253,253,253,253,,,,,,253,253,253,253,253,253,253,,,253,,,,,',
',253,,,253,253,253,253,253,253,253,253,,253,253,253,,253,253,253,253',
'253,,,,,,,,,,,,,,,,,,,,253,,,253,,,253,253,,,253,,,,,,253,,,,,,,,,253',
',,,,253,253,253,253,,253,253,253,253,,,,,253,253,,,,254,254,254,253',
'254,253,253,253,254,254,,,,254,,254,254,254,254,254,254,254,,,,,,254',
'254,254,254,254,254,254,,,254,,,,,,,254,,,254,254,254,254,254,254,254',
'254,,254,254,254,,254,254,254,254,254,,,,,,,,,,,,,,,,,,,,254,,,254,',
',254,254,,,254,,,,,,254,,,,,,,,,254,,,,,254,254,254,254,,254,254,254',
'254,,,,,254,254,,,,255,255,255,254,255,254,254,254,255,255,,,,255,,255',
'255,255,255,255,255,255,,,,,,255,255,255,255,255,255,255,,,255,,,,,',
',255,,,255,255,255,255,255,255,255,255,,255,255,255,,255,255,255,255',
'255,,,,,,,,,,,,,,,,,,,,255,,,255,,,255,255,,,255,,,,,,255,,,,,,,,,255',
',,,,255,255,255,255,,255,255,255,255,,,,,255,255,,,,256,256,256,255',
'256,255,255,255,256,256,,,,256,,256,256,256,256,256,256,256,,,,,,256',
'256,256,256,256,256,256,,,256,,,,,,,256,,,256,256,256,256,256,256,256',
'256,,256,256,256,,256,256,256,256,256,,,,,,,,,,,,,,,,,,,,256,,,256,',
',256,256,,,256,,,,,,256,,,,,,,,,256,,,,,256,256,256,256,,256,256,256',
'256,,,,,256,256,,,,676,676,676,256,676,256,256,256,676,676,,,,676,,676',
'676,676,676,676,676,676,,,,,,676,676,676,676,676,676,676,,,676,,,,,',
',676,,,676,676,676,676,676,676,676,676,,676,676,676,,676,676,676,676',
'676,,,,,,,,,,,,,,,,,,,,676,,,676,,,676,676,,,676,,,,,,676,,,,,,,,,676',
',,,,676,676,676,676,,676,676,676,676,,,,,676,676,,,,263,263,263,676',
'263,676,676,676,263,263,,,,263,,263,263,263,263,263,263,263,,,,,,263',
'263,263,263,263,263,263,,,263,,,,,,,263,,,263,263,263,263,263,263,263',
'263,263,263,263,263,,263,263,263,263,263,,,,,,,,,,,,,,,,,,,,263,,,263',
',,263,263,,,263,,263,,263,,263,,,263,,,,,,263,,,,,263,263,263,263,,263',
'263,263,263,,,,,263,263,,,,264,264,264,263,264,263,263,263,264,264,',
',,264,,264,264,264,264,264,264,264,,,,,,264,264,264,264,264,264,264',
',,264,,,,,,,264,,,264,264,264,264,264,264,264,264,264,264,264,264,,264',
'264,264,264,264,,,,,,,,,,,,,,,,,,,,264,,,264,,,264,264,,,264,,264,,264',
',264,,,264,,,,,,264,,,,,264,264,264,264,,264,264,264,264,,,,,264,264',
',,,272,272,272,264,272,264,264,264,272,272,,,,272,,272,272,272,272,272',
'272,272,,,,,,272,272,272,272,272,272,272,,,272,,,,,,,272,,,272,272,272',
'272,272,272,272,272,272,272,272,272,,272,272,272,272,272,,,,,,,,,,,',
',,,,,,,,272,,,272,,,272,272,,,272,,272,,272,,272,,,272,,,,,,272,,,,',
'272,272,272,272,,272,272,272,272,,,,,272,272,272,,,650,650,650,272,650',
'272,272,272,650,650,,,,650,,650,650,650,650,650,650,650,,,,,,650,650',
'650,650,650,650,650,,,650,,,,,,,650,,,650,650,650,650,650,650,650,650',
',650,650,650,,650,650,650,650,650,,,,,,,,,,,,,,,,,,,,650,,,650,,,650',
'650,,,650,,650,,,,650,,,,,,,,,650,,,,,650,650,650,650,,650,650,650,650',
',,,,650,650,,,,645,645,645,650,645,650,650,650,645,645,,,,645,,645,645',
'645,645,645,645,645,,,,,,645,645,645,645,645,645,645,,,645,,,,,,,645',
',,645,645,645,645,645,645,645,645,,645,645,645,,645,645,,,645,,,,,,',
',,,,,,,,,,,,,645,,,645,,,645,645,,,645,,,,,,,,,,,,,,,,,,,,645,645,645',
'645,,645,645,645,645,,,,,645,645,,,,279,279,279,645,279,645,645,645',
'279,279,,,,279,,279,279,279,279,279,279,279,,,,,,279,279,279,279,279',
'279,279,,,279,,,,,,,279,,,279,279,279,279,279,279,279,279,,279,279,279',
',279,279,279,279,279,,,,,,,,,,,,,,,,,,,,279,,,279,,,279,279,,,279,,',
',,,279,,,,,,,,,279,,,,,279,279,279,279,,279,279,279,279,,,,,279,279',
',,,634,634,634,279,634,279,279,279,634,634,,,,634,,634,634,634,634,634',
'634,634,,,,,,634,634,634,634,634,634,634,,,634,,,,,,,634,,,634,634,634',
'634,634,634,634,634,,634,634,634,,634,634,,,634,,,,,,,,,,,,,,,,,,,,634',
',,634,,,634,634,,,634,,,,,,,,,,,,,,,,,,,,634,634,634,634,,634,634,634',
'634,,,,,634,634,,,,281,281,281,634,281,634,634,634,281,281,,,,281,,281',
'281,281,281,281,281,281,,,,,,281,281,281,281,281,281,281,,,281,,,,,',
',281,,,281,281,281,281,281,281,281,281,,281,281,281,,281,281,281,281',
'281,,,,,,,,,,,,,,,,,,,,281,,,281,,,281,281,,,281,,,,,,281,,,,,,,,,281',
',,,,281,281,281,281,,281,281,281,281,,,,,281,281,,,,284,284,284,281',
'284,281,281,281,284,284,,,,284,,284,284,284,284,284,284,284,,,,,,284',
'284,284,284,284,284,284,,,284,,,,,,,284,,,284,284,284,284,284,284,284',
'284,,284,284,284,,284,284,284,284,284,,,,,,,,,,,,,,,,,,,,284,,,284,',
',284,284,,,284,,,,,,284,,,,,,,,,284,,,,,284,284,284,284,,284,284,284',
'284,,,,,284,284,,,,285,285,285,284,285,284,284,284,285,285,,,,285,,285',
'285,285,285,285,285,285,,,,,,285,285,285,285,285,285,285,,,285,,,,,',
',285,,,285,285,285,285,285,285,285,285,,285,285,285,,285,285,285,285',
'285,,,,,,,,,,,,,,,,,,,,285,,,285,,,285,285,,,285,,,,,,285,,,,,,,,,285',
',,,,285,285,285,285,,285,285,285,285,,,,,285,285,,,,630,630,630,285',
'630,285,285,285,630,630,,,,630,,630,630,630,630,630,630,630,,,,,,630',
'630,630,630,630,630,630,,,630,,,,,,,630,,,630,630,630,630,630,630,630',
'630,,630,630,630,,630,630,630,630,630,,,,,,,,,,,,,,,,,,,,630,,,630,',
',630,630,,,630,,,,,,630,,,,,,,,,630,,,,,630,630,630,630,,630,630,630',
'630,,,,,630,630,,,,,,,630,,630,630,630,290,290,290,290,290,,,,290,290',
',,,290,,290,290,290,290,290,290,290,,,,,,290,290,290,290,290,290,290',
',,290,,,,,,290,290,,290,290,290,290,290,290,290,290,290,,290,290,290',
',290,290,290,290,290,,,,,,,,,,,,,,,,,,,,290,,,290,,,290,290,,,290,,290',
',,,290,,,,,,,,,290,,,,,290,290,290,290,,290,290,290,290,,,,,290,290',
',,,627,627,627,290,627,290,290,290,627,627,,,,627,,627,627,627,627,627',
'627,627,,,,,,627,627,627,627,627,627,627,,,627,,,,,,,627,,,627,627,627',
'627,627,627,627,627,,627,627,627,,627,627,627,627,627,,,,,,,,,,,,,,',
',,,,,627,,,627,,,627,627,,,627,,,,,,627,,,,,,,,,627,,,,,627,627,627',
'627,,627,627,627,627,,,,,627,627,,,,67,67,67,627,67,627,627,627,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,5,5,5,5,5,,,,5,5,,,,5,,5,5,5,5,5',
'5,5,,,,,,5,5,5,5,5,5,5,,,5,,,,,,5,5,5,5,5,5,5,5,5,5,5,5,,5,5,5,,5,5',
'5,5,5,,,,,,,,,,,,,,,,,,,,5,,,5,,,5,5,,,5,,5,,,,5,,,,,,,,,5,,,,,5,5,5',
'5,,5,5,5,5,,,,,5,5,,,,974,974,974,5,974,5,5,5,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,,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,,,,20,20,20',
'974,20,974,974,974,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,,,,865,865,865,20,865,20,20,20,865',
'865,,,,865,,865,865,865,865,865,865,865,,,,,,865,865,865,865,865,865',
'865,,,865,,,,,,,865,,,865,865,865,865,865,865,865,865,,865,865,865,',
'865,865,,,865,,,,,,,,,,,,,,,,,,,,865,,,865,,,865,865,,,865,,,,,,,,,',
',,,,,,,,,,865,865,865,865,,865,865,865,865,,,,,865,865,,,,853,853,853',
'865,853,865,865,865,853,853,,,,853,,853,853,853,853,853,853,853,,,,',
',853,853,853,853,853,853,853,,,853,,,,,,,853,,,853,853,853,853,853,853',
'853,853,,853,853,853,,853,853,,,853,,,,,,,,,,,,,,,,,,,,853,,,853,,,853',
'853,,,853,,,,,,,,,,,,,,,,,,,,853,853,853,853,,853,853,853,853,,,,,853',
'853,,,,29,29,29,853,29,853,853,853,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,,,,34,34,34,31,34,31,31,31,34,34,,,,34',
',34,34,34,34,34,34,34,,,,,,34,34,34,34,34,34,34,,,34,,,,,,,34,,,34,34',
'34,34,34,34,34,34,,34,34,34,,34,34,,,34,,,,,,,,,,,,,,,,,,,,34,,,34,',
',34,34,,,34,,34,,,,,,,,,,,,,,,,,,34,34,34,34,,34,34,34,34,,,,,34,34',
',,,35,35,35,34,35,34,34,34,35,35,,,,35,,35,35,35,35,35,35,35,,,,,,35',
'35,35,35,35,35,35,,,35,,,,,,,35,,,35,35,35,35,35,35,35,35,,35,35,35',
',35,35,,,35,,,,,,,,,,,,,,,,,,,,35,,,35,,,35,35,,,35,,,962,,962,962,962',
'962,962,,,,,,,,,962,,35,35,35,35,,35,35,35,35,,,,,35,35,,,,35,,962,35',
',35,35,35,839,839,839,,839,962,962,,839,839,962,,,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,,,,838,838,838,839,838,839,839',
'839,838,838,,,,838,,838,838,838,838,838,838,838,,,,,,838,838,838,838',
'838,838,838,,,838,,,,,,,838,,,838,838,838,838,838,838,838,838,838,838',
'838,838,,838,838,838,838,838,,,,,,,,,,,,,,,,,,,,838,,,838,,,838,838',
',,838,,,,838,,838,,,838,,,,,,838,,,,,838,838,838,838,,838,838,838,838',
',,,,838,838,,,,821,821,821,838,821,838,838,838,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,,,,42,42,42,821,42',
'821,821,821,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,,,,43,43,43,42,43,42,42,42,43,43,,,,43',
',43,43,43,43,43,43,43,,,,,,43,43,43,43,43,43,43,,,43,,,,,,,43,,,43,43',
'43,43,43,43,43,43,,43,43,43,,43,43,43,43,43,,,,,,,,,,,,,,,,,,,,43,,',
'43,,,43,43,,,43,,,,,,43,,,,,,,,,43,,,,,43,43,43,43,,43,43,43,43,,,,',
'43,43,,,,44,44,44,43,44,43,43,43,44,44,,,,44,,44,44,44,44,44,44,44,',
',,,,44,44,44,44,44,44,44,,,44,,,,,,,44,,,44,44,44,44,44,44,44,44,,44',
'44,44,,44,44,44,44,44,,,,,,,,,,,,,,,,,,,,44,,,44,,,44,44,,,44,,,,,,44',
',,,,,,,,44,,,,,44,44,44,44,,44,44,44,44,,,,,44,44,,,,816,816,816,44',
'816,44,44,44,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,,,,59,59,59,816,59,816,816,816,59,59,,,,59,,59,59,59,59',
'59,59,59,,,,,,59,59,59,59,59,59,59,,,59,,,,,,,59,,,59,59,59,59,59,59',
'59,59,59,59,59,59,,59,59,59,59,59,,,,,,,,,,,,,,,,,,,,59,,,59,,,59,59',
',,59,,59,,,,59,,,59,,,,,,59,,,,,59,59,59,59,,59,59,59,59,,,,,59,59,',
',,60,60,60,59,60,59,59,59,60,60,,,,60,,60,60,60,60,60,60,60,,,,,,60',
'60,60,60,60,60,60,,,60,,,,,,,60,,,60,60,60,60,60,60,60,60,60,60,60,60',
',60,60,60,60,60,,,,,,,,,,,,,,,,,,,,60,,,60,,,60,60,,,60,,,,,,60,,,60',
',,,,,60,,,,,60,60,60,60,,60,60,60,60,,,,,60,60,,,,803,803,803,60,803',
'60,60,60,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,,,,63,63,63,803,63,803,803,803,63,63,,,,63,,63,63,63,63,63,63',
'63,,,,,,63,63,63,63,63,63,63,,,63,,,,,,,63,,,63,63,63,63,63,63,63,63',
',63,63,63,,63,63,63,63,63,,,,,,,,,,,,,,,,,,,,63,,,63,,,63,63,,,63,,',
',,,63,,,,,,,,,63,,,,,63,63,63,63,,63,63,63,63,,,,,63,63,,,,64,64,64',
'63,64,63,63,63,64,64,,,,64,,64,64,64,64,64,64,64,,,,,,64,64,64,64,64',
'64,64,,,64,,,,,,,64,,,64,64,64,64,64,64,64,64,,64,64,64,,64,64,64,64',
'64,,,,,,,,,,,,,,,,,,,,64,,,64,,,64,64,,,64,,,,,,64,,,,,,,,,64,,,,,64',
'64,64,64,,64,64,64,64,,,,,64,64,,,,375,375,375,64,375,64,64,64,375,375',
',,,375,,375,375,375,375,375,375,375,,,,,,375,375,375,375,375,375,375',
',,375,,,,,,,375,,,375,375,375,375,375,375,375,375,,375,375,375,,375',
'375,375,375,375,,,,,,,,,,,,,,,,,,,,375,,,375,,,375,375,,,375,,,,,,375',
',,,,,,,,375,,,,,375,375,375,375,,375,375,375,375,,,,,375,375,,,,68,68',
'68,375,68,375,375,375,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,,,,765,765,765,70,765,70,70',
'70,765,765,,,,765,,765,765,765,765,765,765,765,,,,,,765,765,765,765',
'765,765,765,,,765,,,,,,,765,,,765,765,765,765,765,765,765,765,,765,765',
'765,,765,765,,,765,,,,,,,,,,,,,,,,,,,,765,,,765,,,765,765,,,765,,,966',
',966,966,966,966,966,,,,,,,,,966,,765,765,765,765,,765,765,765,765,',
',,,765,765,,,,,,966,765,,765,765,765,111,111,111,111,111,966,966,,111',
'111,966,,,111,,111,111,111,111,111,111,111,,,,,,111,111,111,111,111',
'111,111,,,111,,,,,,111,111,111,111,111,111,111,111,111,111,111,111,',
'111,111,111,,111,111,111,111,111,,,,,,,,,,,,,,,,,,,,111,,,111,,,111',
'111,,,111,,111,,,,111,,,,,,,,,111,,,,,111,111,111,111,,111,111,111,111',
',,,,111,111,,,,,,111,111,,111,111,111,116,116,116,,116,,,,116,116,,',
',116,,116,116,116,116,116,116,116,,,,,,116,116,116,116,116,116,116,',
',116,,,,,,,116,,,116,116,116,116,116,116,116,116,,116,116,116,,116,116',
'116,116,116,,,,,,,,,,,,,,,,,,,,116,,,116,,,116,116,,,116,,,,,,116,,',
',,,,,,116,,,,,116,116,116,116,,116,116,116,116,,,,,116,116,,,,117,117',
'117,116,117,116,116,116,117,117,,,,117,,117,117,117,117,117,117,117',
',,,,,117,117,117,117,117,117,117,,,117,,,,,,,117,,,117,117,117,117,117',
'117,117,117,,117,117,117,,117,117,117,117,117,,,,,,,,,,,,,,,,,,,,117',
',,117,,,117,117,,,117,,,,,,117,,,,,,,,,117,,,,,117,117,117,117,,117',
'117,117,117,,,,,117,117,,,,118,118,118,117,118,117,117,117,118,118,',
',,118,,118,118,118,118,118,118,118,,,,,,118,118,118,118,118,118,118',
',,118,,,,,,,118,,,118,118,118,118,118,118,118,118,,118,118,118,,118',
'118,118,118,118,,,,,,,,,,,,,,,,,,,,118,,,118,,,118,118,,,118,,,,,,118',
',,,,,,,,118,,,,,118,118,118,118,,118,118,118,118,,,,,118,118,,,,119',
'119,119,118,119,118,118,118,119,119,,,,119,,119,119,119,119,119,119',
'119,,,,,,119,119,119,119,119,119,119,,,119,,,,,,,119,,,119,119,119,119',
'119,119,119,119,,119,119,119,,119,119,119,119,119,,,,,,,,,,,,,,,,,,',
',119,,,119,,,119,119,,,119,,,,,,119,,,,,,,,,119,,,,,119,119,119,119',
',119,119,119,119,,,,,119,119,,,,,,,119,,119,119,119,120,120,120,120',
'120,,,,120,120,,,,120,,120,120,120,120,120,120,120,,,,,,120,120,120',
'120,120,120,120,,,120,,,,,,120,120,,120,120,120,120,120,120,120,120',
'120,,120,120,120,,120,120,120,120,120,,,,,,,,,,,,,,,,,,,,120,,,120,',
',120,120,,,120,,120,,,,120,,,,,,,,,120,,,,,120,120,120,120,,120,120',
'120,120,,,,,120,120,,,,753,753,753,120,753,120,120,120,753,753,,,,753',
',753,753,753,753,753,753,753,,,,,,753,753,753,753,753,753,753,,,753',
',,,,,,753,,,753,753,753,753,753,753,753,753,,753,753,753,,753,753,753',
'753,753,,,,,,,,,,,,,,,,,,,,753,,,753,,,753,753,,,753,,,,,,753,,,,,,',
',,753,,,,,753,753,753,753,,753,753,753,753,,,,,753,753,,,,751,751,751',
'753,751,753,753,753,751,751,,,,751,,751,751,751,751,751,751,751,,,,',
',751,751,751,751,751,751,751,,,751,,,,,,,751,,,751,751,751,751,751,751',
'751,751,,751,751,751,,751,751,751,751,751,,,,,,,,,,,,,,,,,,,,751,,,751',
',,751,751,,,751,,,,,,751,,,,,,,,,751,,,,,751,751,751,751,,751,751,751',
'751,,,,,751,751,,,,207,207,207,751,207,751,751,751,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,,,,325,325,325',
'207,325,207,207,207,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,,,,528,528,528,325,528,325,325,325,528,528,,,,528,,528',
'528,528,528,528,528,528,,,,,,528,528,528,528,528,528,528,,,528,,,,,',
',528,,,528,528,528,528,528,528,528,528,528,528,528,528,,528,528,528',
'528,528,,,,,,,,,,,,,,,,,,,,528,,,528,,,528,528,,,528,,,,,,528,,,528',
',,,,,528,,,,,528,528,528,528,,528,528,528,528,,,,,528,528,,,,525,525',
'525,528,525,528,528,528,525,525,,,,525,,525,525,525,525,525,525,525',
',,,,,525,525,525,525,525,525,525,,,525,,,,,,,525,,,525,525,525,525,525',
'525,525,525,525,525,525,525,,525,525,525,525,525,,,,,,,,,,,,,,,,,,,',
'525,,,525,,,525,525,,,525,,525,,,,525,,,525,,,,,,525,,,,,525,525,525',
'525,,525,525,525,525,,,,,525,525,,,,519,519,519,525,519,525,525,525',
'519,519,,,,519,,519,519,519,519,519,519,519,,,,,,519,519,519,519,519',
'519,519,,,519,,,,,,,519,,,519,519,519,519,519,519,519,519,,519,519,519',
',519,519,519,519,519,,,,,,,,,,,,,,,,,,,,519,,,519,,,519,519,,,519,,',
',,,519,,,,,,,,,519,,,,,519,519,519,519,,519,519,519,519,,,,,519,519',
',,,515,515,515,519,515,519,519,519,515,515,,,,515,,515,515,515,515,515',
'515,515,,,,,,515,515,515,515,515,515,515,,,515,,,,,,,515,,,515,515,515',
'515,515,515,515,515,,515,515,515,,515,515,515,515,515,,,,,,,,,,,,,,',
',,,,,515,,,515,,,515,515,,,515,,,,,,515,,,,,,,,,515,,,,,515,515,515',
'515,,515,515,515,515,,,,,515,515,,,,514,514,514,515,514,515,515,515',
'514,514,,,,514,,514,514,514,514,514,514,514,,,,,,514,514,514,514,514',
'514,514,,,514,,,,,,,514,,,514,514,514,514,514,514,514,514,,514,514,514',
',514,514,514,514,514,,,,,,,,,,,,,,,,,,,,514,,,514,,,514,514,,,514,,',
',,,514,,,,,,,,,514,,,,,514,514,514,514,,514,514,514,514,,,,,514,514',
',,,511,511,511,514,511,514,514,514,511,511,,,,511,,511,511,511,511,511',
'511,511,,,,,,511,511,511,511,511,511,511,,,511,,,,,,,511,,,511,511,511',
'511,511,511,511,511,,511,511,511,,511,511,,,511,,,,,,,,,,,,,,,,,,,,511',
',,511,,,511,511,,,511,,,,,,,,,,,,,,,,,,,,511,511,511,511,,511,511,511',
'511,,,,,511,511,,,,339,339,339,511,339,511,511,511,339,339,,,,339,,339',
'339,339,339,339,339,339,,,,,,339,339,339,339,339,339,339,,,339,,,,,',
',339,,,339,339,339,339,339,339,339,339,,339,339,339,,339,339,339,339',
'339,,,,,,,,,,,,,,,,,,,,339,,,339,,,339,339,,,339,,,,,,339,,,,,,,,,339',
',,,,339,339,339,339,,339,339,339,339,,,,,339,339,,,,340,340,340,339',
'340,339,339,339,340,340,,,,340,,340,340,340,340,340,340,340,,,,,,340',
'340,340,340,340,340,340,,,340,,,,,,,340,,,340,340,340,340,340,340,340',
'340,,340,340,340,,340,340,340,340,340,,,,,,,,,,,,,,,,,,,,340,,,340,',
',340,340,,,340,,,,,,340,,,,,,,,,340,,,,,340,340,340,340,,340,340,340',
'340,,,,,340,340,,,,505,505,505,340,505,340,340,340,505,505,,,,505,,505',
'505,505,505,505,505,505,,,,,,505,505,505,505,505,505,505,,,505,,,,,',
',505,,,505,505,505,505,505,505,505,505,505,505,505,505,,505,505,505',
'505,505,,,,,,,,,,,,,,,,,,,,505,,,505,,,505,505,,,505,,505,,505,,505',
',,505,,,,,,505,,,,,505,505,505,505,,505,505,505,505,,,,,505,505,,,,503',
'503,503,505,503,505,505,505,503,503,,,,503,,503,503,503,503,503,503',
'503,,,,,,503,503,503,503,503,503,503,,,503,,,,,,,503,,,503,503,503,503',
'503,503,503,503,,503,503,503,,503,503,,,503,,,,,,,,,,,,,,,,,,,,503,',
',503,,,503,503,,,503,,,964,,964,964,964,964,964,,,,,,,,,964,,503,503',
'503,503,,503,503,503,503,,,,,503,503,,,,,,964,503,,503,503,503,495,495',
'495,495,495,964,964,,495,495,964,,,495,,495,495,495,495,495,495,495',
',,,,,495,495,495,495,495,495,495,,,495,,,,,,495,495,495,495,495,495',
'495,495,495,495,495,495,,495,495,495,,495,495,495,495,495,,,,,,,,,,',
',,,,,,,,,495,,,495,,,495,495,,,495,,495,,,,495,,,,,,,,,495,,,,,495,495',
'495,495,,495,495,495,495,,,,,495,495,,,,,,495,495,,495,495,495,489,489',
'489,,489,,,,489,489,,,,489,,489,489,489,489,489,489,489,,,,,,489,489',
'489,489,489,489,489,,,489,,,,,,,489,,,489,489,489,489,489,489,489,489',
',489,489,489,,489,489,489,489,489,,,,,,,,,,,,,,,,,,,,489,,,489,,,489',
'489,,,489,,,,,,489,,,,,,,,,489,,,,,489,489,489,489,,489,489,489,489',
',,,,489,489,,,,487,487,487,489,487,489,489,489,487,487,,,,487,,487,487',
'487,487,487,487,487,,,,,,487,487,487,487,487,487,487,,,487,,,,,,,487',
',,487,487,487,487,487,487,487,487,487,487,487,487,,487,487,487,487,487',
',,,,,,,,,,,,,,,,,,,487,,,487,,,487,487,,,487,,,,487,,487,,,487,,,,,',
'487,,,,,487,487,487,487,,487,487,487,487,,,,,487,487,,,,485,485,485',
'487,485,487,487,487,485,485,,,,485,,485,485,485,485,485,485,485,,,,',
',485,485,485,485,485,485,485,,,485,,,,,,,485,,,485,485,485,485,485,485',
'485,485,485,485,485,485,,485,485,485,485,485,,,,,,,,,,,,,,,,,,,,485',
',,485,,,485,485,,,485,,485,,485,,485,,,485,,,,,,485,,,,,485,485,485',
'485,,485,485,485,485,,,,,485,485,,,,445,445,445,485,445,485,485,485',
'445,445,,,,445,,445,445,445,445,445,445,445,,,,,,445,445,445,445,445',
'445,445,,,445,,,,,,,445,,,445,445,445,445,445,445,445,445,,445,445,445',
',445,445,445,445,445,,,,,,,,,,,,,,,,,,,,445,,,445,,,445,445,,,445,,',
',,,445,,,,,,,,,445,,,,,445,445,445,445,,445,445,445,445,,,,,445,445',
',,,444,444,444,445,444,445,445,445,444,444,,,,444,,444,444,444,444,444',
'444,444,,,,,,444,444,444,444,444,444,444,,,444,,,,,,,444,,,444,444,444',
'444,444,444,444,444,,444,444,444,,444,444,444,444,444,,,,,,,,,,,,,,',
',,,,,444,,,444,,,444,444,,,444,,,,,,444,,,,,,,,,444,,,,,444,444,444',
'444,,444,444,444,444,,,,,444,444,,,,443,443,443,444,443,444,444,444',
'443,443,,,,443,,443,443,443,443,443,443,443,,,,,,443,443,443,443,443',
'443,443,,,443,,,,,,,443,,,443,443,443,443,443,443,443,443,,443,443,443',
',443,443,443,443,443,,,,,,,,,,,,,,,,,,,,443,,,443,,,443,443,,,443,,',
',,,443,,,,,,,,,443,,,,,443,443,443,443,,443,443,443,443,,,,,443,443',
',,,441,441,441,443,441,443,443,443,441,441,,,,441,,441,441,441,441,441',
'441,441,,,,,,441,441,441,441,441,441,441,,,441,,,,,,,441,,,441,441,441',
'441,441,441,441,441,441,441,441,441,,441,441,441,441,441,,,,,,,,,,,',
',,,,,,,,441,,,441,,,441,441,,,441,,441,,441,,441,,,441,,,,,,441,,,,',
'441,441,441,441,,441,441,441,441,,,,,441,441,,,,359,359,359,441,359',
'441,441,441,359,359,,,,359,,359,359,359,359,359,359,359,,,,,,359,359',
'359,359,359,359,359,,,359,,,,,,,359,,,359,359,359,359,359,359,359,359',
',359,359,359,,359,359,359,359,359,,,,,,,,,,,,,,,,,,,,359,,,359,,,359',
'359,,,359,,,,,,359,,,,,,,,,359,,,,,359,359,359,359,,359,359,359,359',
',,,,359,359,,,,403,403,403,359,403,359,359,359,403,403,,,,403,,403,403',
'403,403,403,403,403,,,,,,403,403,403,403,403,403,403,,,403,,,,,,,403',
',,403,403,403,403,403,403,403,403,,403,403,403,,403,403,403,403,403',
',,,,,,,,,,,,,,,,,,,403,,,403,,,403,403,,,403,,,,,,403,,,,,,,,,403,,',
',,403,403,403,403,,403,403,403,403,,,,,403,403,,,,298,298,298,403,298',
'403,403,403,298,298,,,,298,,298,298,298,298,298,298,298,,,,,,298,298',
'298,298,298,298,298,,,298,,,,,,,298,,,298,298,298,298,298,298,298,298',
',298,298,298,,298,298,,,298,,,,,,,,,,,,,,,,,,,,298,,,298,,,298,298,',
',298,,,848,,848,848,848,848,848,,,,,,,,,848,,298,298,298,298,,298,298',
'298,298,,,,,298,298,,,,298,,848,298,,298,298,298,603,603,603,,603,848',
'848,,603,603,848,,,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,,,,599,599,599,602,599,602',
'602,602,599,599,,,,599,,599,599,599,599,599,599,599,,,,,,599,599,599',
'599,599,599,599,,,599,,,,,,,599,,,599,599,599,599,599,599,599,599,,599',
'599,599,,599,599,599,599,599,,,,,,,,,,,,,,,,,,,,599,,,599,,,599,599',
',,599,,,,,,599,,,,,,,,,599,,,,,599,599,599,599,,599,599,599,599,,,,',
'599,599,,,,598,598,598,599,598,599,599,599,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,,,,594,594,594,598,594,598',
'598,598,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,,,,,592,592,,,,591,591,591,592,591,592,592,592,591,591,,,,591,,591',
'591,591,591,591,591,591,,,,,,591,591,591,591,591,591,591,,,591,,,,,',
',591,,,591,591,591,591,591,591,591,591,591,591,591,591,,591,591,591',
'591,591,,,,,,,,,,,,,,,,,,,,591,,,591,,,591,591,,,591,,591,,591,,591',
',,591,,,,,,591,,,,,591,591,591,591,,591,591,591,591,,,,,591,591,,,,588',
'588,588,591,588,591,591,591,588,588,,,,588,,588,588,588,588,588,588',
'588,,,,,,588,588,588,588,588,588,588,,,588,,,,,,,588,,,588,588,588,588',
'588,588,588,588,,588,588,588,,588,588,588,588,588,,,,,,,,,,,,,,,,,,',
',588,,,588,,,588,588,,,588,,,,,,588,,,,,,,,,588,,,,,588,588,588,588',
',588,588,588,588,,,,,588,588,,,,587,587,587,588,587,588,588,588,587',
'587,,,,587,,587,587,587,587,587,587,587,,,,,,587,587,587,587,587,587',
'587,,,587,,,,,,,587,,,587,587,587,587,587,587,587,587,,587,587,587,',
'587,587,587,587,587,,,,,,,,,,,,,,,,,,,,587,,,587,,,587,587,,,587,,587',
',,,587,,,,,,,,,587,,,,,587,587,587,587,,587,587,587,587,,,,,587,587',
',,,315,315,315,587,315,587,587,587,315,315,,,,315,,315,315,315,315,315',
'315,315,,,,,,315,315,315,315,315,315,315,,,315,,,,,,,315,,,315,315,315',
'315,315,315,315,315,,315,315,315,,315,315,,,315,,,,,,,,,,,,,,,,,,,,315',
',,315,,,315,315,,,315,,,,,,,,,,,,,,,,,,,,315,315,315,315,,315,315,315',
'315,,,,,315,315,,,,553,553,553,315,553,315,315,315,553,553,,,,553,,553',
'553,553,553,553,553,553,,,,,,553,553,553,553,553,553,553,,,553,,,,,',
',553,,,553,553,553,553,553,553,553,553,553,553,553,553,,553,553,553',
'553,553,,,,,,,,,,,,,,,,,,,,553,,,553,,,553,553,,,553,,553,,553,,553',
',,553,,,,,,553,,,,,553,553,553,553,,553,553,553,553,,,,,553,553,,,,543',
'543,543,553,543,553,553,553,543,543,,,,543,,543,543,543,543,543,543',
'543,,,,,,543,543,543,543,543,543,543,,,543,,,,,,,543,,,543,543,543,543',
'543,543,543,543,543,543,543,543,,543,543,543,543,543,,,,,,,,,,,,,,,',
',,,,543,,,543,,,543,543,,,543,,543,,543,,543,,,543,,,,,,543,,,,,543',
'543,543,543,,543,543,543,543,,,,,543,543,,,,542,542,542,543,542,543',
'543,543,542,542,,,,542,,542,542,542,542,542,542,542,,,,,,542,542,542',
'542,542,542,542,,,542,,,,,,,542,,,542,542,542,542,542,542,542,542,,542',
'542,542,,542,542,542,542,542,,,,,,,,,,,,,,,,,,,,542,,,542,,,542,542',
',,542,,542,,,,542,,,,,,,,,542,,,,,542,542,542,542,,542,542,542,542,',
',,,542,542,,,,323,323,323,542,323,542,542,542,323,323,,,,323,,323,323',
'323,323,323,323,323,,,,,,323,323,323,323,323,323,323,,,323,,,,,,,323',
',,323,323,323,323,323,323,323,323,,323,323,323,,323,323,323,323,323',
',,,,,,,,,,,,,,,,,,,323,,,323,323,,323,323,,,323,,,,,,323,,,,,,,,,323',
',,,,323,323,323,323,,323,323,323,323,,,,,323,323,,,,,56,,323,,323,323',
'323,56,56,56,,,56,56,56,,56,,,,,,,,,,56,56,56,,,,,,,,56,56,,56,56,56',
'56,56,,,,,,,,,,,,,,,,,,,,,,,56,56,56,56,56,56,56,56,56,56,56,56,56,56',
',,56,56,56,,,56,,,56,,,56,56,,56,,56,,56,,56,56,,56,56,56,56,56,,56',
',56,,,,,,,,,,,,,,56,,,56,56,56,56,424,56,,56,,,,424,424,424,,,424,424',
'424,,424,,,,,,,,,424,424,424,424,,,,,,,,424,424,,424,424,424,424,424',
',,,,,,,,,,,,,,,,,,,,,,424,424,424,424,424,424,424,424,424,424,424,424',
'424,424,,,424,424,424,,,424,,,424,,,424,424,,424,,424,,424,,424,424',
',424,424,424,424,424,,424,424,424,,,,,,,,,,,,,,424,,,424,424,424,424',
'423,424,,424,,,,423,423,423,,,423,423,423,,423,,,,,,,,,423,423,423,423',
',,,,,,,423,423,,423,423,423,423,423,,,,,,,,,,,,,,,,,,,,,,,423,423,423',
'423,423,423,423,423,423,423,423,423,423,423,,,423,423,423,,,423,,,423',
',,423,423,,423,,423,,423,,423,423,,423,423,423,423,423,,423,423,423',
'1014,,1014,1014,1014,1014,1014,,,,,,,423,,1014,423,423,423,423,28,423',
',423,,,,28,28,28,,,28,28,28,,28,1014,,,,,,,,,28,28,1014,1014,,,,1014',
',,28,28,,28,28,28,28,28,,,,,,,,,,,,,,,,,,,,,,,28,28,28,28,28,28,28,28',
'28,28,28,28,28,28,,,28,28,28,,,28,,28,28,,,28,28,,28,,28,,28,,28,28',
',28,28,28,28,28,,28,27,28,,,,,,27,27,27,,,27,27,27,28,27,,28,28,,28',
',28,,27,27,27,,,,,,,,,27,27,,27,27,27,27,27,,,,,,,,,,,,,,,,,,,,,,,27',
'27,27,27,27,27,27,27,27,27,27,27,27,27,,,27,27,27,,,27,,27,27,,,27,27',
',27,,27,,27,,27,27,,27,27,27,27,27,,27,27,27,,,,,,,,,,,,,,27,,414,27',
'27,,27,,27,414,414,414,,,414,414,414,,414,,,,,,,,,414,414,414,,,,,,',
',,414,414,,414,414,414,414,414,,,,,,,,,,,,,,,,,,,,,,,414,414,414,414',
'414,414,414,414,414,414,414,414,414,414,,,414,414,414,,,414,,414,414',
',,414,414,,414,,414,,414,,414,414,,414,414,414,414,414,,414,414,414',
',,,,,,,,,,,,,414,,473,414,414,,414,,414,473,473,473,,,473,473,473,614',
'473,614,614,614,614,614,,,,473,473,,,,614,,,,,,473,473,,473,473,473',
'473,473,,,,,,,,656,614,656,656,656,656,656,,,,614,614,614,614,,656,',
'614,,936,,936,936,936,936,936,473,,,,,,,473,936,,,656,473,473,,,,614',
',,656,656,656,656,,,,656,,,936,,,,,473,473,,,936,936,936,936,,,,936',
',,,473,,,473,,,,,473,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9',
',,,9,9,9,9,9,9,9,9,9,9,,,,,,9,9,9,9,9,9,9,9,9,,,9,,,,,,,,9,9,,9,9,9',
'9,9,9,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,394,394,394,394,394,394,394,394,394,394,394,394',
'394,394,394,394,394,394,394,394,394,394,394,394,,,,394,394,394,394,394',
'394,394,394,394,394,,,,,,394,394,394,394,394,394,394,394,394,,,394,',
',,,,,,394,394,,394,394,394,394,394,394,394,,,394,394,,,,394,394,394',
'394,,,,,,,,,,,,,,394,394,,394,394,394,394,394,394,394,394,394,394,394',
'394,,,394,394,,,,,,,,,,,,,,394,584,584,584,584,584,584,584,584,584,584',
'584,584,584,584,584,584,584,584,584,584,584,584,584,584,,,,584,584,584',
'584,584,584,584,584,584,584,,,,,,584,584,584,584,584,584,584,584,584',
',,584,,,,,,,,584,584,,584,584,584,584,584,584,584,,,584,584,,,,584,584',
'584,584,,,,,,,,,,,,,,584,584,,584,584,584,584,584,584,584,584,584,584',
'584,584,,,584,584,,,,,,,,,,,,,,584,716,716,716,716,716,716,716,716,716',
'716,716,716,716,716,716,716,716,716,716,716,716,716,716,716,,,,716,716',
'716,716,716,716,716,716,716,716,,,,,,716,716,716,716,716,716,716,716',
'716,,,716,,,,,,,,716,716,,716,716,716,716,716,716,716,,,716,716,,,,716',
'716,716,716,,,,,,,,,,,,,,716,716,,716,716,716,716,716,716,716,716,716',
'716,716,716,,,716,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,506,506,71,,506,,,,,,,,506,506,,506,506,506,506,506,506,506,,',
'506,506,,,,506,506,506,506,,,,,,506,,,,,,,,506,506,,506,506,506,506',
'506,506,506,506,506,506,506,506,259,259,506,,259,,,,,,,,259,259,,259',
'259,259,259,259,259,259,,,259,259,,,,259,259,259,259,,,,,,,,,,,,,,259',
'259,,259,259,259,259,259,259,259,259,259,259,259,259,976,976,259,,976',
',,,,,,,976,976,,976,976,976,976,976,976,976,,,976,976,,,,976,976,976',
'976,,,,,,976,,,,,,,,976,976,,976,976,976,976,976,976,976,976,976,976',
'976,976,975,975,976,,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,439,439,975,,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,440,440,439',
',440,,,,,,,,440,440,,440,440,440,440,440,440,440,,,440,440,,,,440,440',
'440,440,,,,,,440,,,,,,,,440,440,,440,440,440,440,440,440,440,440,440',
'440,440,440,921,921,440,,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,507,507,921,,507,,,,,,,,507,507',
',507,507,507,507,507,507,507,,,507,507,,,,507,507,507,507,,,,,,507,',
',,,,,,507,507,,507,507,507,507,507,507,507,507,507,507,507,507,516,516',
'507,,516,,,,,,,,516,516,,516,516,516,516,516,516,516,,,516,516,,,,516',
'516,516,516,,,,,,516,,,,,,,,516,516,,516,516,516,516,516,516,516,516',
'516,516,516,516,517,517,516,,517,,,,,,,,517,517,,517,517,517,517,517',
'517,517,,,517,517,,,,517,517,517,517,,,,,,517,,,,,,,,517,517,,517,517',
'517,517,517,517,517,517,517,517,517,517,544,544,517,,544,,,,,,,,544',
'544,,544,544,544,544,544,544,544,,,544,544,,,,544,544,544,544,,,,,,544',
',,,,,,,544,544,,544,544,544,544,544,544,544,544,544,544,544,544,545',
'545,544,,545,,,,,,,,545,545,,545,545,545,545,545,545,545,,,545,545,',
',,545,545,545,545,,,,,,545,,,,,,,,545,545,,545,545,545,545,545,545,545',
'545,545,545,545,545,551,551,545,,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,552,552,551,,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',
'210,210,552,,210,,,,,,,,210,210,,210,210,210,210,210,210,210,,,210,210',
',,,210,210,210,210,,,,,,210,,,,,,,,210,210,,210,210,210,210,210,210',
'210,210,210,210,210,210,211,211,210,,211,,,,,,,,211,211,,211,211,211',
'211,211,211,211,,,211,211,,,,211,211,211,211,,,,,,211,,,,,,,,211,211',
',211,211,211,211,211,211,211,211,211,211,211,211,,714,211,714,714,714',
'714,714,,797,,797,797,797,797,797,714,,,,,,,,797,,799,,799,799,799,799',
'799,,,,,,714,,,799,,,,,797,714,714,714,714,,,,714,797,797,797,797,,',
',797,799,,846,,846,846,846,846,846,799,799,799,799,,,,799,846,,844,',
'844,844,844,844,844,938,,938,938,938,938,938,,844,,,,,846,,938,,,,,',
',846,846,846,846,,,,846,844,,,,,,,938,,844,844,844,844,,,,844,,938,938',
',,940,938,940,940,940,940,940,942,,942,942,942,942,942,1004,940,1004',
'1004,1004,1004,1004,801,942,801,801,801,801,801,,1004,,,,,,,801,940',
',,,,,,942,,,,940,940,,1004,,940,,942,942,,801,,942,,1004,1004,,,,1004',
',801,801,,,960,801,960,960,960,960,960,,715,,715,715,715,715,715,960',
',,,,,,,715,,533,,533,533,533,533,533,,,,,,960,,,533,,,,,715,960,960',
'960,960,,,,960,715,715,715,715,,,,715,533,533,,,,,,,,533,533,533,533',
',,,533' ]
        racc_action_check = arr = ::Array.new(25046, 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 = [
  2938,  1265,   nil,   263,   nil, 12512,  1538,  1133, 23168, 23040,
  1020,   nil,   969,  1024,   740,   406,   935,   608,   nil,   -74,
 12774,  2238,   910,   nil,   593,   nil,   228, 22648, 22536, 13167,
 13298, 13429,   nil,  1818, 13560, 13691,   nil,   733,   593,   652,
   773,   364, 14223, 14354, 14485,   693,   589,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil, 22134,   nil,   -72, 14747,
 14878,   -20,   nil, 15140, 15271,   nil,   nil, 12373, 15533, 15664,
 15795, 23665,   nil,   nil,   nil,   nil,   nil,   450,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   222,   nil,   nil,   334,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   600,
   nil, 16065,   nil,   nil,   nil,   nil, 16204, 16335, 16466, 16597,
 16736,  4338,   nil,   821,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   300,   nil,  4758, 17129,  5029,  5160,
 24580, 24641,  5553,  5684,  5815,  5946,  6077,  6208,   nil,   nil,
   910,   -57,   -62,   156,   165,   -51,   -55,   nil,  6863,  2798,
  1301,  7125,  7256,  7387,  7518,  7649,  7780,  7911,  8042,  8173,
  8304,  8435,  8566,  8697,  8828,  8959,  9090,  9221,  9352,  9483,
  9614,  9745,  9876, 10007, 10138, 10269, 10400,   nil,   nil, 23787,
   nil,   nil,  1248, 10662, 10793,   nil,   nil,   nil,   nil,   nil,
   nil,   nil, 10924,   nil,  1958,   nil,  1138,  1250,   nil, 11317,
  1304, 11579,   nil,   nil, 11710, 11841,   nil,   nil,   324,   nil,
 12111,  1523,   144,   118,  1958,   193,   279,   246, 20027,  1118,
  1020,   981,   880,   364,   841,   nil,   359,   483,    -8,   nil,
   nil,   nil,   603,   334,   604, 21476,   nil,   313,   731,   517,
   nil,   756,   nil, 22000,  1678, 17260,   702,   nil,   542,   -68,
   781,   806,   457,   855,   nil,   nil,    17,    35,   -10, 18177,
 18308,   -78,  1022,   947,    10,   -12,  1330,  1035,    -5,  1091,
   nil,   nil,   698,   564,   169,   nil,  1050,   nil,     9, 19765,
   nil,   nil,   nil,   531,   496,   424,   372,   301,   267,   255,
   613,   201,   nil,   202,   nil, 15402,   nil,   242,   212,   481,
   -30,   436,   -25,   -39,   369,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,  1142, 23296,   nil,   nil,   nil,   nil,  1138,
   nil,   nil,  1117, 19896,  1115,   nil,   nil,   838,  1082,   nil,
  1074,  1012,   412,   443, 22777,   nil,   nil,   nil,   444,     0,
  1055,   nil,   nil, 22402, 22268,   nil,  1538,   nil,  1000,   nil,
   nil,   698,   nil,   nil,   nil,   nil,   -33,   nil,  1035, 23970,
 24031, 19634,   168, 19503, 19372, 19241,  3918,  3498,   -39,   608,
  1046,  1042,  1037,  1036,  5160,  5422,  5291,  3638,  4618,  4478,
  4758,  4058,  4198,  3218,  3358,  4898,  5029,  3106,  3193,  4338,
  3778,  2098,   135, 22906,   nil,   nil,   nil,   nil,   962,   nil,
   -48,   -54,   961,   nil,   nil, 19110,   nil, 18979,   nil, 18848,
   nil,   478,   nil,   nil,   nil, 18709,  1398,   978,   942,   931,
   nil,   nil,   926, 18570,   904, 18439, 23726, 24153,  1118,   886,
   nil, 18046,   838,   nil, 17915, 17784, 24214, 24275,  2798, 17653,
   887,   869,   277,   787,   nil, 17522,   nil,   nil, 17391,   nil,
   nil,   nil,   nil, 24941,  1398,   839,   nil,  1538,   145,   146,
   814,   816, 21869, 21738, 24336, 24397,     8,   nil,   nil,   398,
   nil, 24458, 24519, 21607,   nil,   nil,   nil,   333,   191,  4618,
   690,   nil,   189,   nil,   nil,   nil,   961,   nil,   nil,   nil,
   659,   nil,   nil,   354,   nil,   375,   nil,   nil,   624,   nil,
   620,   nil,   nil,   nil, 23424,   nil,   589, 21345, 21214,   592,
   577, 21083, 20952, 20821, 20690,   327,   nil,   nil, 20559, 20428,
   301,   nil, 20297, 20166,   nil,   nil,   115,   113,   556,   110,
   226,   978,   213,   nil, 22870,   nil,   838,   260,   -24,   159,
   nil,  4198,  3918,   nil,    72,   nil,    88, 12242,   nil,   nil,
 11972,   nil,  1279,   -82, 11448,  1255,   nil,  1255,    24,    65,
  1282,   447,   978,  1250,  1151, 11186,  1818,  1204,   154,  1258,
 11055,   nil,  1152,   nil,   479,   nil, 22906,   nil,  1152,  1153,
   nil,  1161,  1167,  1181,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,  1176,  3093,   nil,   nil, 10531,   nil,   nil,   nil,
  1297,   nil,   nil,   nil,  1301,   nil,   nil,  1306,   681,   nil,
  1348,   nil,   nil,   nil,   nil,  1361,   nil,   136,  1242,   -18,
    25,   150,   178,  6994,   413,   838,   nil,  1265,  2518,  6732,
   nil,   nil,   151,  2238, 24703, 24924, 23552,   nil,   nil,   nil,
   nil,   nil,   nil,  2098,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,    99,  6601,  2378,  6470,   nil,   170,   nil,  2658,   nil,
  1398,   nil,   nil,  2938,   nil,  1118,   nil,  1678,  6339,  5422,
  5291, 16998,   128, 16867,   344,   356,   nil,   372,   374,   400,
   nil,   434,   428,   432,   449, 15926,   nil,   nil,   602,   nil,
   nil,  2658,   508,   627,   nil,   nil,   nil,   nil,   522,   338,
   nil,   nil,   676,   nil,  2378,   563,   618,   nil,   nil,   624,
   nil,    22,   594,   581,   nil,   nil,   640, 24711,   nil, 24728,
   nil, 24864,   nil, 15009,   nil,   563,   nil,   651,   329,   658,
   nil,   nil,   nil,   nil,   783,   nil, 14616,   802,   698,  4898,
   nil, 14092,  3778,    -1,   147,   nil,   826,   577,  3638,   nil,
   843,   732,  -102,   nil,   737,   732,   nil,  1258, 13961, 13830,
  2518,   746,   nil,   nil, 24784,   nil, 24767,   nil, 20074,   nil,
   nil,   789,  1244, 13036,   770,   869,   nil,   815,   nil,   nil,
   nil,  1258,   nil,   nil,    -1, 12905,   nil,   nil,   nil,   nil,
   nil,   860,   818,   nil,   nil,   nil,   819,   829,   nil,   830,
   832,   nil,   835,   nil,   nil,   840,  3064,   839,  3103,   nil,
   nil,    34,   nil,   976,   977,   nil,   373,   nil,   nil,   nil,
   981,   nil,   nil,   nil,   902,   nil,   859,   nil,   nil,   869,
   871,   872,   873,   nil,   884,   nil,   402,   nil,   nil,   nil,
   288, 24092,   nil,   nil,   nil,  4478,  1160,  1190,  1261,  1013,
  1300,   nil,  4058,  3498,   nil,   nil, 22925,   nil, 24791,   nil,
 24843,   nil, 24850,   nil,   nil,   nil,   nil,   337,  3578,   972,
  3358,   nil,   nil,   nil,   nil,   nil,  3218,   nil,  3078,   nil,
 24916,   nil, 13738,   nil, 18617,   nil, 15973,   nil,   nil,   nil,
  1104,  1037,  1041,  1124, 12643, 23909, 23848,  1121,  1033,  1145,
  1027,  1041,  1045,  1066,  1071,  3298,  1075,  3344,   260,  1208,
  1213,  1097,  1098,  1099,  1109,   nil,   nil,  1113,    26,    33,
    10,  1258,   nil,   nil, 24857,   nil,   nil,   nil,   nil,  3438,
  1119,   nil,   nil,   nil, 22465,   nil,   nil,   nil,   nil,    32,
  1133,   799,  1249,   nil,   nil ]

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

clist = [
'216,372,649,26,297,127,127,334,26,327,2,521,414,420,477,114,258,486',
'430,275,275,275,6,26,408,259,323,6,311,311,132,132,26,26,26,219,26,337',
'338,713,541,341,765,314,130,130,276,276,276,589,122,205,111,336,336',
'628,512,336,534,537,814,473,311,311,311,758,26,26,127,405,26,262,269',
'271,110,427,328,377,478,114,550,266,270,691,694,625,761,625,881,318',
'388,389,390,391,782,919,628,277,277,277,913,759,878,616,809,293,336',
'336,336,336,378,621,622,917,26,115,437,384,295,26,26,26,26,26,26,524',
'527,329,332,531,860,393,828,6,946,817,949,559,342,560,657,716,392,6',
'573,575,358,362,904,878,956,486,703,819,340,760,818,339,335,326,628',
'762,794,795,652,325,273,286,287,324,373,483,916,554,349,664,655,868',
'533,791,532,331,932,933,472,480,481,953,786,864,376,625,625,374,499',
'618,986,379,380,275,1,330,381,382,433,434,435,436,424,26,26,26,26,919',
'913,26,26,26,26,26,26,386,400,406,404,881,383,425,429,718,404,995,26',
'1010,851,946,885,723,695,709,756,414,420,584,635,619,712,878,876,394',
'771,752,644,275,275,401,610,1021,842,843,351,873,275,792,871,415,26',
'26,907,765,204,878,765,631,765,26,765,706,779,708,491,276,,,877,513',
'879,,509,276,,,311,26,,909,,26,664,,114,,26,,755,,502,523,640,311,,',
'496,538,539,522,,,640,,637,831,832,,,,,26,26,336,336,910,277,911,,604',
',495,,823,277,954,26,26,,,640,741,825,558,,,746,114,640,,664,664,698',
'494,1011,510,26,266,774,562,293,270,707,897,555,293,,,561,778,935,620',
'26,498,,623,,958,504,,,,765,590,765,127,765,,765,826,,633,,,830,479',
',636,,,628,430,,482,959,,540,,,,132,,822,874,,,874,980,,,569,571,574',
'574,130,275,569,,,,583,424,625,,,,765,,26,,,991,,,,790,612,,,996,,14',
',595,,717,14,,,600,,874,,596,756,,756,513,756,601,774,220,,,,513,,872',
',,220,220,220,,14,302,302,,415,275,,311,26,,26,,,,424,311,,632,26,648',
',16,787,,424,900,16,,617,6,220,220,26,,220,346,356,356,596,,,906,,275',
'755,,755,26,755,,26,,424,275,16,,26,781,424,,692,692,,624,,,26,,,697',
',415,26,,770,,,,14,710,711,415,,220,220,220,220,14,14,350,,127,,,,925',
'756,,756,,756,590,756,654,955,763,26,26,,415,788,26,26,,513,26,132,415',
'737,739,,769,950,742,744,780,,429,590,26,130,726,16,726,26,26,730,,311',
',,16,16,789,,,,,1019,311,756,,,,,990,833,,,,755,,755,,755,,755,,,736',
',,,14,220,220,220,404,,220,220,220,220,220,220,,,824,,590,,,,827,672',
',14,,590,,,804,,336,,596,,,601,336,,,,,755,,26,,889,,,26,26,127,,,26',
'16,,,220,220,,,428,,26,,,220,902,,862,,15,,866,26,757,15,16,,,763,,',
',14,,836,,14,,,,302,14,,,311,,,,,,764,,15,304,304,,,302,763,26,13,,640',
',,13,14,220,,945,,,26,,997,891,,,,,,220,220,,,,16,348,357,357,16,336',
'672,13,,16,,,,,,220,,,26,,26,26,804,,26,887,,,,,26,220,,,16,692,,,899',
'296,,,,903,15,,311,,,,,,,15,15,,,,311,,,,,26,672,672,,,,,,,,798,800',
'802,,,,,,,,,,13,845,847,849,,,,,,13,13,969,220,,,,,,804,,804,,,,,,,',
',,,,424,,,,,880,,882,,,26,,,,,,,26,26,,,,15,,,,,,,,672,,672,,14,26,14',
',,,,26,302,26,220,15,275,984,804,,302,,912,,914,424,,,220,26,590,,,13',
',,,,,,,,,14,,,14,764,,764,,,220,,,804,13,804,16,,16,,220,,,399,,,14',
',,,,,,,15,,,804,15,,415,,304,15,,,296,,,961,963,965,967,,968,16,,,16',
'304,220,220,,,,220,220,,15,220,981,,982,,983,13,,,,13,16,,,14,13,,,',
'14,14,,,,,992,,993,672,994,937,939,302,941,943,,944,,,,13,,296,302,',
',,296,,,,,764,,428,,,,,,,,1015,1016,1017,1018,,,16,1020,,,,16,16,,,',
',1022,,39,,,,,39,,,,,,,1024,,,,,,,,220,,,,,14,220,,,,14,,,39,301,301',
',,,,14,,,,,,,,,,,220,,1005,1006,1007,1008,,,,,,,,,,,,345,361,361,361',
',,,,,,,16,,,854,,16,,,,14,15,,15,,1023,16,,,304,,,,14,,,,304,,,,,,39',
',,,,,,,,39,39,,,,,,,15,,13,15,13,220,,14,14,,,14,,,16,,,14,,,,,,38,',
'15,,16,38,,,,722,,,,,,,,,13,920,,13,,,,,,14,,,,928,,38,300,300,,,16',
'16,,,16,13,,,,,16,,688,,,690,,39,,,,15,,,,,15,15,,,344,360,360,360,',
',,,,304,39,,,16,,,,931,,,304,,,14,,,,,,,14,14,13,,,,,13,13,,,,,38,,',
',,14,,,,38,38,14,,14,,,,,,,,768,,,,,772,773,39,220,,333,39,,16,,301',
'39,,,15,16,16,,,15,,,,,,,,301,,15,,,,16,,,39,,,16,,16,,,,,,,,,,,,,,13',
',,,,13,,,,,,,,,38,13,357,,,,,,15,,,,,,,,,,,,,15,,38,,,,,,,,,,834,,,',
',,,,,,,,,,,,13,,,,,,15,15,,,15,,,13,,,15,,,,,,,,,,,,,,,,857,,402,38',
',,,38,432,357,,300,38,863,,13,13,15,,13,,930,,,,13,,,300,,,,,,,,,38',
',,,,,,,,,893,894,,,896,,,,,,39,13,39,,,,,,301,,,,,,,,301,488,,490,,',
'492,493,15,,,,,,,15,15,924,,,,,,39,,,39,,,,,,,15,,,,,,15,,15,,,,,,,39',
'13,,,,,,,13,13,,,,,,,,,,,,,,,,,13,,,,,,13,973,13,,,,,,978,979,,,,,,',
',,,,,,,,,39,988,,,,39,39,989,,,,,,,,,,,301,,586,,,,,,,,,301,38,,38,',
',,,,300,,,,,,,,300,,,,,,,,,,,,,,,,,,,,,,,38,,,38,,,,,,,,,,,,,,,,,,,',
'39,,38,,,39,,,,,626,,333,,629,39,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,626',
',,333,,,,361,,38,,,,39,38,38,,432,,,,,,,,,39,300,,,,,,,,,,,300,,,,,',
',,,,,,,,,,,,,,,,39,39,731,,39,,626,333,,,39,,,,,,,,,,,,,,,,,,,,,,,,',
'361,,,,,,38,775,39,,776,38,927,,,,,,,,,38,,,,,,,,,785,,,,,,,,,,,,,,',
',,,,,,227,,,,,810,,,,274,274,274,360,,,,,,38,,,39,320,321,322,,,,39',
'39,,38,,,,,,,,274,274,,,,,,39,,,,,,39,,39,,,,,,,835,,,,38,38,,,38,,',
',,,38,,,,,,,,,,,,,,,,,,,,,,,,,360,,,,,,,,38,,,,926,,,,,,,,,,,,,,,,,',
',,884,,,,,,,,,,,,,,,,,,895,,,,,,,,,,,,,,,,,333,,,,,38,,,,,,,38,38,,',
',,,,274,407,274,,,426,431,,,,38,,,,,,38,,38,,,227,,,446,447,448,449',
'450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466',
'467,468,469,470,471,,,,,,,274,274,,,,,,,,274,,,,,,,274,,274,,,274,274',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,518,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,274,,426,611,407,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,274,,274,,274,,,,,,,,,,,,,,,,274,,,,,,,,,646,647,,,,,,',
',,,274,,,274,,,,,,,,,,,,,,274,274,,,,,,,,,,274,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,274,733,,,274,274,738,740,,,,743,745,,,611,747,,,,,,,,,',
',,,,,,,,,,,,,,274,,,274,,,,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,,,,,,,,,,',
',,,,274,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274,',
'837,,,,,,,,,,,,,,738,740,745,743,,840,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,,,,,,274,837',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274' ]
        racc_goto_table = arr = ::Array.new(2999, nil)
        idx = 0
        clist.each do |str|
          str.split(',', -1).each do |i|
            arr[idx] = i.to_i unless i.empty?
            idx += 1
          end
        end

clist = [
'31,56,10,41,49,57,57,86,41,67,2,8,37,37,39,95,139,73,18,33,33,33,7,41',
'23,36,31,7,64,64,61,61,41,41,41,20,41,17,17,96,92,17,171,50,60,60,68',
'68,68,24,15,15,6,29,29,179,51,29,89,89,90,37,64,64,64,127,41,41,57,27',
'41,38,38,38,4,27,68,152,23,95,54,71,71,91,91,74,130,74,175,63,17,17',
'17,17,11,133,179,70,70,70,176,128,170,40,117,45,29,29,29,29,153,40,40',
'132,41,5,47,153,46,41,41,41,41,41,41,69,69,70,70,69,12,2,110,7,115,11',
'118,111,4,112,138,113,7,7,156,156,55,55,114,170,108,73,107,106,105,119',
'104,103,102,101,179,125,122,122,100,99,44,44,44,98,97,47,131,94,93,164',
'134,135,136,137,88,85,140,141,142,144,145,146,147,148,151,74,74,84,47',
'72,118,154,155,33,1,66,158,159,29,29,29,29,57,41,41,41,41,133,176,41',
'41,41,41,41,41,5,20,20,68,175,160,20,20,161,68,132,41,118,130,115,117',
'162,92,163,123,37,37,62,51,42,8,170,168,30,40,24,51,33,33,28,23,118',
'122,122,19,172,33,138,130,71,41,41,173,171,16,170,171,14,171,41,171',
'54,24,109,152,68,,,128,49,128,,31,68,,,64,41,,127,,41,164,,95,,41,,121',
',50,31,37,64,,,7,17,17,29,,,37,,23,138,138,,,,,41,41,29,29,128,70,128',
',47,,6,,24,70,11,41,41,,,37,39,24,29,,,39,95,37,,164,164,23,4,90,63',
'41,71,73,29,45,71,23,91,95,45,,,36,51,122,47,41,46,,47,,96,46,,,,171',
'31,171,57,171,,171,8,,47,,,8,44,,47,,,179,18,,44,122,,4,,,,61,,89,123',
',,123,128,,,157,157,157,157,60,33,157,,,,15,57,74,,,,171,,41,,,128,',
',,69,31,,,10,,22,,38,,47,22,,,38,,123,,71,123,,123,49,123,71,73,22,',
',,49,,121,,,22,22,22,,22,22,22,,71,33,,64,41,,41,,,,57,64,,2,41,29,',
'26,27,,57,8,26,,38,7,22,22,41,,22,22,22,22,71,,,121,,33,121,,121,41',
'121,,41,,57,33,26,,41,47,57,,95,95,,70,,,41,,,68,,71,41,,86,,,,22,95',
'95,71,,22,22,22,22,22,22,26,,57,,,,89,123,,123,,123,31,123,70,92,31',
'41,41,,71,67,41,41,,49,41,61,71,20,20,,139,89,20,20,49,,20,31,41,60',
'157,26,157,41,41,15,,64,,,26,26,31,,,,,24,64,123,,,,,8,56,,,,121,,121',
',121,,121,,,70,,,,22,22,22,22,68,,22,22,22,22,22,22,,,17,,31,,,,17,169',
',22,,31,,,116,,29,,71,,,71,29,,,,,121,,41,,47,,,41,41,57,,,41,26,,,22',
'22,,,26,,41,,,22,47,,67,,25,,67,41,126,25,26,,,31,,,,22,,20,,22,,,,22',
'22,,,64,,,,,,169,,25,25,25,,,22,31,41,21,,37,,,21,22,22,,47,,,41,,23',
'17,,,,,,22,22,,,,26,25,25,25,26,29,169,21,,26,,,,,,22,,,41,,41,41,116',
',41,116,,,,,41,22,,,26,95,,,95,9,,,,95,25,,64,,,,,,,25,25,,,,64,,,,',
'41,169,169,,,,,,,,167,167,167,,,,,,,,,,21,124,124,124,,,,,,21,21,31',
'22,,,,,,116,,116,,,,,,,,,,,,57,,,,,126,,126,,,41,,,,,,,41,41,,,,25,',
',,,,,,169,,169,,22,41,22,,,,,41,22,41,22,25,33,116,116,,22,,126,,126',
'57,,,22,41,31,,,21,,,,,,,,,,22,,,22,169,,169,,,22,,,116,21,116,26,,26',
',22,,,9,,,22,,,,,,,,25,,,116,25,,71,,25,25,,,9,,,124,124,124,124,,124',
'26,,,26,25,22,22,,,,22,22,,25,22,126,,126,,126,21,,,,21,26,,,22,21,',
',,22,22,,,,,126,,126,169,126,167,167,22,167,167,,167,,,,21,,9,22,,,',
'9,,,,,169,,26,,,,,,,,124,124,124,124,,,26,126,,,,26,26,,,,,126,,53,',
',,,53,,,,,,,124,,,,,,,,22,,,,,22,22,,,,22,,,53,53,53,,,,,22,,,,,,,,',
',,22,,167,167,167,167,,,,,,,,,,,,53,53,53,53,,,,,,,,26,,,22,,26,,,,22',
'25,,25,,167,26,,,25,,,,22,,,,25,,,,,,53,,,,,,,,,53,53,,,,,,,25,,21,25',
'21,22,,22,22,,,22,,,26,,,22,,,,,,52,,25,,26,52,,,,25,,,,,,,,,21,22,',
'21,,,,,,22,,,,22,,52,52,52,,,26,26,,,26,21,,,,,26,,9,,,9,,53,,,,25,',
',,,25,25,,,52,52,52,52,,,,,,25,53,,,26,,,,26,,,25,,,22,,,,,,,22,22,21',
',,,,21,21,,,,,52,,,,,22,,,,52,52,22,,22,,,,,,,,9,,,,,9,9,53,22,,65,53',
',26,,53,53,,,25,26,26,,,25,,,,,,,,53,,25,,,,26,,,53,,,26,,26,,,,,,,',
',,,,,,21,,,,,21,,,,,,,,,52,21,25,,,,,,25,,,,,,,,,,,,,25,,52,,,,,,,,',
',9,,,,,,,,,,,,,,,,21,,,,,,25,25,,,25,,,21,,,25,,,,,,,,,,,,,,,,9,,65',
'52,,,,52,65,25,,52,52,9,,21,21,25,,21,,25,,,,21,,,52,,,,,,,,,52,,,,',
',,,,,9,9,,,9,,,,,,53,21,53,,,,,,53,,,,,,,,53,65,,65,,,65,65,25,,,,,',
',25,25,9,,,,,,53,,,53,,,,,,,25,,,,,,25,,25,,,,,,,53,21,,,,,,,21,21,',
',,,,,,,,,,,,,,,21,,,,,,21,9,21,,,,,,9,9,,,,,,,,,,,,,,,,53,9,,,,53,53',
'9,,,,,,,,,,,53,,65,,,,,,,,,53,52,,52,,,,,,52,,,,,,,,52,,,,,,,,,,,,,',
',,,,,,,,,52,,,52,,,,,,,,,,,,,,,,,,,,53,,52,,,53,,,,,65,,65,,65,53,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,65,,,65,,,,53,,52,,,,53,52,52,,65,,',
',,,,,,53,52,,,,,,,,,,,52,,,,,,,,,,,,,,,,,,,,,,53,53,65,,53,,65,65,,',
'53,,,,,,,,,,,,,,,,,,,,,,,,,53,,,,,,52,65,53,,65,52,53,,,,,,,,,52,,,',
',,,,,65,,,,,,,,,,,,,,,,,,,,,32,,,,,65,,,,32,32,32,52,,,,,,52,,,53,32',
'32,32,,,,53,53,,52,,,,,,,,32,32,,,,,,53,,,,,,53,,53,,,,,,,65,,,,52,52',
',,52,,,,,,52,,,,,,,,,,,,,,,,,,,,,,,,,52,,,,,,,,52,,,,52,,,,,,,,,,,,',
',,,,,,,65,,,,,,,,,,,,,,,,,,65,,,,,,,,,,,,,,,,,65,,,,,52,,,,,,,52,52',
',,,,,,32,32,32,,,32,32,,,,52,,,,,,52,,52,,,32,,,32,32,32,32,32,32,32',
'32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,,,,,,,32,32',
',,,,,,,32,,,,,,,32,,32,,,32,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
'32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,32,,32,32,32,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,32,,32,,32,,,,,,,,,,,,,,,,32,',
',,,,,,,32,32,,,,,,,,,,32,,,32,,,,,,,,,,,,,,32,32,,,,,,,,,,32,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,32,32,,,32,32,32,32,,,,32,32,,,32,32,,,,,',
',,,,,,,,,,,,,,,,,,32,,,32,,,,,,,,,,,,,,,,,,,,32,,,,,,,,,,,,,,,,,,,,',
',,,,,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,32,,32',
',,,,,,,,,,,,,32,32,32,32,,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,32,,,,,,,,,,,,,,,,,,32,,,,,,,,,,,,,,,,,32,32,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,32' ]
        racc_goto_check = arr = ::Array.new(2999, 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,   200,    10,   nil,    71,   110,    49,    22,  -313,   807,
  -518,  -555,  -652,   nil,  -222,    42,   261,   -26,  -195,   192,
    15,   775,   457,  -185,  -359,   734,   511,  -138,    48,   -10,
   127,   -19,  2024,   -10,   nil,   nil,     1,  -198,    45,  -248,
  -369,     3,  -231,   nil,   137,    72,    85,  -101,   nil,   -30,
     8,  -259,  1291,  1140,  -274,    77,   -70,    -3,   nil,   nil,
    36,    22,  -155,    48,    -6,  1373,   142,   -50,    17,  -203,
    68,    55,  -278,  -260,  -400,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   122,   121,   -54,   nil,  -155,  -279,
  -628,  -455,  -302,   106,  -185,    12,  -521,    99,   112,   107,
  -358,   101,    96,    92,  -535,    88,  -541,  -395,  -747,  -275,
  -579,  -225,  -233,  -420,  -685,  -752,    18,  -569,  -752,  -459,
   nil,  -310,  -496,  -374,   130,  -453,   124,  -549,  -513,   nil,
  -528,  -680,  -739,  -757,  -357,  -614,  -157,  -476,  -393,    -6,
  -687,  -687,   -73,   nil,   -82,   -82,  -709,  -462,  -597,   nil,
   nil,   113,    -2,    28,   114,   114,  -236,    48,   117,   117,
   139,  -337,  -330,  -317,  -358,   nil,   nil,   213,  -549,   151,
  -695,  -572,  -532,  -573,   nil,  -711,  -746,   nil,   nil,  -432 ]

racc_goto_default = [
   nil,   nil,   nil,     3,   nil,     4,   343,   291,   nil,   520,
   nil,   815,   nil,   288,   289,   nil,   nil,   nil,    11,    12,
    18,   226,   319,   nil,   nil,   224,   225,   nil,   nil,    17,
   nil,   438,    21,    22,    23,    24,   nil,   643,   nil,   nil,
   nil,   308,   nil,    25,   409,    32,   nil,   nil,    34,    37,
    36,   nil,   221,   222,   355,   nil,   129,   417,   128,   131,
    75,    76,   nil,    90,    46,   280,   nil,   783,   410,   nil,
   411,   422,   597,   484,   278,   264,    47,    48,    49,    50,
    51,    52,    53,    54,    55,   nil,   265,    61,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   535,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   806,   671,   nil,   807,   908,
   754,   659,   nil,   660,   nil,   nil,   661,   nil,   663,   613,
   nil,   nil,   nil,   669,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   421,   nil,   nil,   nil,   nil,   nil,    74,
    77,    78,   nil,   nil,   nil,   nil,   nil,   564,   nil,   nil,
   nil,   nil,   nil,   nil,   875,   715,   658,   nil,   662,   883,
   674,   676,   677,   766,   680,   681,   767,   684,   687,   283 ]

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

racc_reduce_n = 598

racc_shift_n = 1025

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

racc_nt_base = 144

racc_use_result_var = true

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

Racc_token_to_s_table = [
  "$end",
  "error",
  "kCLASS",
  "kMODULE",
  "kDEF",
  "kUNDEF",
  "kBEGIN",
  "kRESCUE",
  "kENSURE",
  "kEND",
  "kIF",
  "kUNLESS",
  "kTHEN",
  "kELSIF",
  "kELSE",
  "kCASE",
  "kWHEN",
  "kWHILE",
  "kUNTIL",
  "kFOR",
  "kBREAK",
  "kNEXT",
  "kREDO",
  "kRETRY",
  "kIN",
  "kDO",
  "kDO_COND",
  "kDO_BLOCK",
  "kDO_LAMBDA",
  "kRETURN",
  "kYIELD",
  "kSUPER",
  "kSELF",
  "kNIL",
  "kTRUE",
  "kFALSE",
  "kAND",
  "kOR",
  "kNOT",
  "kIF_MOD",
  "kUNLESS_MOD",
  "kWHILE_MOD",
  "kUNTIL_MOD",
  "kRESCUE_MOD",
  "kALIAS",
  "kDEFINED",
  "klBEGIN",
  "klEND",
  "k__LINE__",
  "k__FILE__",
  "k__ENCODING__",
  "tIDENTIFIER",
  "tFID",
  "tGVAR",
  "tIVAR",
  "tCONSTANT",
  "tLABEL",
  "tCVAR",
  "tNTH_REF",
  "tBACK_REF",
  "tSTRING_CONTENT",
  "tINTEGER",
  "tFLOAT",
  "tUPLUS",
  "tUMINUS",
  "tUNARY_NUM",
  "tPOW",
  "tCMP",
  "tEQ",
  "tEQQ",
  "tNEQ",
  "tGEQ",
  "tLEQ",
  "tANDOP",
  "tOROP",
  "tMATCH",
  "tNMATCH",
  "tDOT",
  "tDOT2",
  "tDOT3",
  "tAREF",
  "tASET",
  "tLSHFT",
  "tRSHFT",
  "tCOLON2",
  "tCOLON3",
  "tOP_ASGN",
  "tASSOC",
  "tLPAREN",
  "tLPAREN2",
  "tRPAREN",
  "tLPAREN_ARG",
  "tLBRACK",
  "tLBRACK2",
  "tRBRACK",
  "tLBRACE",
  "tLBRACE_ARG",
  "tSTAR",
  "tSTAR2",
  "tAMPER",
  "tAMPER2",
  "tTILDE",
  "tPERCENT",
  "tDIVIDE",
  "tDSTAR",
  "tPLUS",
  "tMINUS",
  "tLT",
  "tGT",
  "tPIPE",
  "tBANG",
  "tCARET",
  "tLCURLY",
  "tRCURLY",
  "tBACK_REF2",
  "tSYMBEG",
  "tSTRING_BEG",
  "tXSTRING_BEG",
  "tREGEXP_BEG",
  "tREGEXP_OPT",
  "tWORDS_BEG",
  "tQWORDS_BEG",
  "tSYMBOLS_BEG",
  "tQSYMBOLS_BEG",
  "tSTRING_DBEG",
  "tSTRING_DVAR",
  "tSTRING_END",
  "tSTRING_DEND",
  "tSTRING",
  "tSYMBOL",
  "tNL",
  "tEH",
  "tCOLON",
  "tCOMMA",
  "tSPACE",
  "tSEMI",
  "tLAMBDA",
  "tLAMBEG",
  "tCHARACTER",
  "tRATIONAL",
  "tIMAGINARY",
  "tLABEL_END",
  "tEQL",
  "tLOWEST",
  "$start",
  "program",
  "top_compstmt",
  "top_stmts",
  "opt_terms",
  "top_stmt",
  "terms",
  "stmt",
  "bodystmt",
  "compstmt",
  "opt_rescue",
  "opt_else",
  "opt_ensure",
  "stmts",
  "stmt_or_begin",
  "fitem",
  "undef_list",
  "expr_value",
  "command_asgn",
  "mlhs",
  "command_call",
  "var_lhs",
  "primary_value",
  "opt_call_args",
  "rbracket",
  "backref",
  "lhs",
  "mrhs",
  "mrhs_arg",
  "expr",
  "@1",
  "opt_nl",
  "arg",
  "command",
  "block_command",
  "block_call",
  "dot_or_colon",
  "operation2",
  "command_args",
  "cmd_brace_block",
  "opt_block_param",
  "fcall",
  "@2",
  "operation",
  "call_args",
  "mlhs_basic",
  "mlhs_inner",
  "rparen",
  "mlhs_head",
  "mlhs_item",
  "mlhs_node",
  "mlhs_post",
  "user_variable",
  "keyword_variable",
  "cname",
  "cpath",
  "fname",
  "op",
  "reswords",
  "fsym",
  "symbol",
  "dsym",
  "@3",
  "simple_numeric",
  "primary",
  "arg_value",
  "aref_args",
  "none",
  "args",
  "trailer",
  "assocs",
  "paren_args",
  "opt_paren_args",
  "opt_block_arg",
  "block_arg",
  "@4",
  "literal",
  "strings",
  "xstring",
  "regexp",
  "words",
  "qwords",
  "symbols",
  "qsymbols",
  "var_ref",
  "assoc_list",
  "brace_block",
  "method_call",
  "lambda",
  "then",
  "if_tail",
  "do",
  "case_body",
  "for_var",
  "superclass",
  "term",
  "f_arglist",
  "singleton",
  "@5",
  "@6",
  "@7",
  "@8",
  "@9",
  "@10",
  "@11",
  "@12",
  "@13",
  "@14",
  "@15",
  "@16",
  "@17",
  "@18",
  "@19",
  "@20",
  "@21",
  "f_marg",
  "f_norm_arg",
  "f_margs",
  "f_marg_list",
  "block_args_tail",
  "f_block_kwarg",
  "f_kwrest",
  "opt_f_block_arg",
  "f_block_arg",
  "opt_block_args_tail",
  "block_param",
  "f_arg",
  "f_block_optarg",
  "f_rest_arg",
  "block_param_def",
  "opt_bv_decl",
  "bv_decls",
  "bvar",
  "f_bad_arg",
  "f_larglist",
  "lambda_body",
  "@22",
  "@23",
  "f_args",
  "do_block",
  "@24",
  "@25",
  "@26",
  "operation3",
  "@27",
  "@28",
  "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",
  "@29",
  "@30",
  "args_tail",
  "@31",
  "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.op_assign(val[0], val[1], val[2])
                    
    result
end

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

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

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

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

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

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

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

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

# reduce 40 omitted

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

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

# reduce 43 omitted

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

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

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

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

# reduce 48 omitted

# reduce 49 omitted

# reduce 50 omitted

# reduce 51 omitted

# reduce 52 omitted

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

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

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

                      @static_env.unextend
                      @context.pop
                    
    result
end

# reduce 56 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 72 omitted

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

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

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

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

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

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

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

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

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

# reduce 82 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 107 omitted

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

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

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

# reduce 111 omitted

# reduce 112 omitted

# reduce 113 omitted

# reduce 114 omitted

# reduce 115 omitted

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

# reduce 117 omitted

# reduce 118 omitted

# reduce 119 omitted

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

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

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

# reduce 123 omitted

# reduce 124 omitted

# reduce 125 omitted

# reduce 126 omitted

# reduce 127 omitted

# reduce 128 omitted

# reduce 129 omitted

# reduce 130 omitted

# reduce 131 omitted

# reduce 132 omitted

# reduce 133 omitted

# reduce 134 omitted

# reduce 135 omitted

# reduce 136 omitted

# reduce 137 omitted

# reduce 138 omitted

# reduce 139 omitted

# reduce 140 omitted

# reduce 141 omitted

# reduce 142 omitted

# reduce 143 omitted

# reduce 144 omitted

# reduce 145 omitted

# reduce 146 omitted

# reduce 147 omitted

# reduce 148 omitted

# reduce 149 omitted

# reduce 150 omitted

# reduce 151 omitted

# reduce 152 omitted

# reduce 153 omitted

# reduce 154 omitted

# reduce 155 omitted

# reduce 156 omitted

# reduce 157 omitted

# reduce 158 omitted

# reduce 159 omitted

# reduce 160 omitted

# reduce 161 omitted

# reduce 162 omitted

# reduce 163 omitted

# reduce 164 omitted

# reduce 165 omitted

# reduce 166 omitted

# reduce 167 omitted

# reduce 168 omitted

# reduce 169 omitted

# reduce 170 omitted

# reduce 171 omitted

# reduce 172 omitted

# reduce 173 omitted

# reduce 174 omitted

# reduce 175 omitted

# reduce 176 omitted

# reduce 177 omitted

# reduce 178 omitted

# reduce 179 omitted

# reduce 180 omitted

# reduce 181 omitted

# reduce 182 omitted

# reduce 183 omitted

# reduce 184 omitted

# reduce 185 omitted

# reduce 186 omitted

# reduce 187 omitted

# reduce 188 omitted

# reduce 189 omitted

# reduce 190 omitted

# reduce 191 omitted

# reduce 192 omitted

# reduce 193 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

def _reduce_203(val, _values, result)
                      const  = @builder.const_op_assignable(
                                  @builder.const_global(val[0], val[1]))
                      result = @builder.op_assign(const, val[2], val[3])
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 237 omitted

# reduce 238 omitted

# reduce 239 omitted

# reduce 240 omitted

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

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

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

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

# reduce 245 omitted

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

# reduce 247 omitted

# reduce 248 omitted

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

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

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

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

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

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

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

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

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

                      result = val[1]
                    
    result
end

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

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

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

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

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

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

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

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

# reduce 266 omitted

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

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

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

# reduce 270 omitted

# reduce 271 omitted

# reduce 272 omitted

# reduce 273 omitted

# reduce 274 omitted

# reduce 275 omitted

# reduce 276 omitted

# reduce 277 omitted

# reduce 278 omitted

# reduce 279 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 301 omitted

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

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

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

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

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

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

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

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

def _reduce_313(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_314(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_315(val, _values, result)
                      @lexer.cond.push(true)
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 333 omitted

# reduce 334 omitted

# reduce 335 omitted

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

# reduce 337 omitted

# reduce 338 omitted

# reduce 339 omitted

def _reduce_340(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 341 omitted

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

# reduce 343 omitted

# reduce 344 omitted

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

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

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

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

# reduce 349 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 369 omitted

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

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

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

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

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

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

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

# reduce 378 omitted

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

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

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

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

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

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

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

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

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

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

# reduce 389 omitted

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

def _reduce_391(val, _values, result)
                      result = @lexer.cmdarg.dup
                      @lexer.cmdarg.clear
                      @context.pop
                    
    result
end

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

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

                      @static_env.unextend
                    
    result
end

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

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

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

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

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

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

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

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

                      @static_env.unextend
                      @context.pop
                    
    result
end

def _reduce_401(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_402(val, _values, result)
                      lparen_t, args, rparen_t = val[3]
                      result = @builder.call_method(val[0], val[1], val[2],
                                  lparen_t, args, rparen_t)
                    
    result
end

def _reduce_403(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_404(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_405(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_406(val, _values, result)
                      lparen_t, args, rparen_t = val[3]
                      result = @builder.call_method(val[0], val[1], val[2],
                                  lparen_t, args, rparen_t)
                    
    result
end

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

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

def _reduce_410(val, _values, result)
                      lparen_t, args, rparen_t = val[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[1]
                      result = @builder.keyword_cmd(:super, val[0],
                                  lparen_t, args, rparen_t)
                    
    result
end

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

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

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

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

                      @static_env.unextend
                      @context.pop
                    
    result
end

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

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

                      @static_env.unextend
                      @context.pop
                    
    result
end

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

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

# reduce 420 omitted

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

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

# reduce 424 omitted

# reduce 425 omitted

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

# reduce 427 omitted

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

# reduce 429 omitted

# reduce 430 omitted

# reduce 431 omitted

# reduce 432 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 468 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                      @lexer.state = :expr_value
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 527 omitted

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

                      result = val[0]
                    
    result
end

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

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

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

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

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

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

                      @static_env.declare val[0][0]

                      result = val[0]
                    
    result
end

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

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

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

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

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

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

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

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

# reduce 543 omitted

# reduce 544 omitted

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

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

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

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

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

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

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

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

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

# reduce 553 omitted

# reduce 554 omitted

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

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

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

# reduce 557 omitted

# reduce 558 omitted

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

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

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

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

# reduce 562 omitted

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

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

# reduce 565 omitted

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

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

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

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

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

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

# reduce 572 omitted

# reduce 573 omitted

# reduce 574 omitted

# reduce 575 omitted

# reduce 576 omitted

# reduce 577 omitted

# reduce 578 omitted

# reduce 579 omitted

# reduce 580 omitted

# reduce 581 omitted

# reduce 582 omitted

# reduce 583 omitted

# reduce 584 omitted

# reduce 585 omitted

# reduce 586 omitted

# reduce 587 omitted

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

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

# reduce 590 omitted

# reduce 591 omitted

# reduce 592 omitted

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

# reduce 594 omitted

# reduce 595 omitted

# reduce 596 omitted

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

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

  end   # class Ruby22
  end   # module Parser
