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


  def version
    21
  end

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

clist = [
'-577,442,534,592,268,214,215,-577,-577,-577,555,534,-105,-577,-577,-83',
'-577,-286,217,534,-99,576,534,-69,-480,-577,578,-102,214,215,-492,-480',
'524,214,215,526,-577,-577,-100,-577,-577,-577,-577,-577,534,-102,834',
'-488,-93,-91,-93,-101,961,-486,-488,689,-105,-286,-102,218,-486,-99',
'865,-100,811,779,-577,-577,-577,-577,-577,-577,-577,-577,-577,-577,-577',
'-577,-577,-577,109,-104,-577,-577,-577,-98,597,575,-97,-98,-577,267',
'577,-577,779,689,540,689,-577,113,-577,-99,-577,-577,112,-577,-577,-577',
'-577,-577,-289,-577,-577,-577,-93,-91,554,-289,-289,-289,113,-96,218',
'-289,-289,112,-289,-577,-573,113,-577,-577,816,-92,112,-577,-93,113',
'-99,113,113,-101,112,-99,112,112,-289,-289,268,-289,-289,-289,-289,-289',
'-93,-91,-100,-93,-91,113,-101,-100,113,-102,112,-93,-91,112,-102,-101',
'-90,864,-91,-103,-101,121,-289,-289,-289,-289,-289,-289,-289,-289,-289',
'-289,-289,-289,-289,-289,-95,268,-289,-289,-289,206,596,-88,-89,113',
'-289,113,563,-289,112,207,112,563,-289,563,-289,524,-289,-289,523,-289',
'-289,-289,-289,-289,-289,-289,512,-289,-491,-573,208,-289,-289,-289',
'214,215,-289,-289,-289,267,-289,-289,-574,113,-289,-289,213,-94,112',
'-289,-289,-289,-289,214,215,-103,257,745,-491,263,-289,-289,-487,-289',
'-289,-289,-289,-289,546,-487,565,564,547,-92,563,565,564,565,564,561',
'721,-104,267,-97,613,723,-94,744,91,92,-289,-289,-289,-289,-289,-289',
'-289,-289,-289,-289,-289,-289,-289,-289,268,-88,-289,-289,-289,315,747',
'-289,-102,-97,-289,91,92,-289,-289,612,-289,316,-289,563,-289,218,-289',
'-289,218,-289,-289,-289,-289,-289,563,-289,-480,-289,565,564,566,384',
'-100,-480,-480,-480,613,218,-480,-480,-480,-289,-480,113,-289,-289,-289',
'-289,112,-289,-480,-289,-480,-480,-480,-103,93,94,263,-571,591,524,-480',
'-480,526,-480,-480,-480,-480,-480,667,612,664,663,662,550,665,565,564',
'568,-485,267,916,93,94,397,-570,-485,565,564,570,551,-480,-480,-480',
'-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,613,-91,-480',
'-480,-480,-480,-480,-480,613,-100,-480,512,-480,-480,-480,441,-480,-571',
'-480,-413,-480,-480,-480,-480,443,-480,-480,-480,-480,-480,260,-480',
'-477,-480,-477,612,444,261,563,-477,-571,-477,217,612,-570,563,883,-480',
'-477,-577,-480,-480,-480,-480,113,-480,-577,-480,-95,112,-492,-480,475',
'-577,-577,-577,-104,-570,-577,-577,-577,-413,-577,667,484,664,663,662',
'-413,665,394,-577,-577,-577,-577,396,395,-413,218,-577,212,965,-577',
'-577,486,-577,-577,-577,-577,-577,488,-577,565,564,574,-290,-413,-89',
'-577,565,564,579,-290,-573,495,-98,-68,-577,218,730,498,-290,-577,-577',
'-577,-577,-577,-577,-577,-577,-577,-577,-577,-577,-577,-577,-577,-96',
'-577,-577,-577,-577,746,-577,260,-105,-577,499,-577,-577,-577,261,-577',
'-573,-577,980,-577,-577,-577,-577,79,-577,-577,-577,-577,-577,-90,-577',
'-577,-577,-484,-483,80,-482,-99,506,-577,-484,-483,113,-482,272,81,-577',
'112,113,-577,-577,-577,-577,112,-577,-477,-577,69,70,71,-101,57,-477',
'-477,-477,63,64,-477,-477,-477,67,-477,65,66,68,308,309,72,73,-477,218',
'-477,-477,-477,304,305,311,101,100,102,103,-477,-477,230,-477,-477,-477',
'-477,-477,524,45,263,526,105,104,106,95,56,97,96,98,509,99,107,108,513',
'91,92,42,43,41,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477',
'-477,-477,-477,214,215,-477,-477,-477,223,-477,-477,229,238,-477,58',
'59,-477,-477,60,-477,218,-477,113,-477,44,-477,-477,112,-477,-477,-477',
'-477,-477,228,-477,527,-477,528,89,79,82,83,488,84,86,85,87,811,779',
'540,-477,80,88,-477,-477,-477,-477,386,-477,62,-477,81,93,94,-477,5',
'69,70,71,9,57,214,215,-333,63,64,682,681,544,67,-333,65,66,68,30,31',
'72,73,545,-333,580,583,-261,29,28,27,101,100,102,103,715,716,19,585',
'717,107,108,601,8,45,7,10,105,104,106,95,56,97,96,98,218,99,107,108',
'589,91,92,42,43,41,238,242,247,248,249,244,246,254,255,250,251,542,231',
'232,-290,590,252,253,543,40,263,-290,33,600,603,58,59,541,238,60,-290',
'35,235,238,241,44,237,236,671,233,234,245,243,239,20,240,238,238,674',
'89,79,82,83,550,84,86,85,87,218,218,549,218,80,88,-83,256,631,-238,218',
'551,62,517,81,93,94,289,69,70,71,9,57,682,681,-279,63,64,675,642,647',
'67,-279,65,66,68,30,31,72,73,648,-279,650,685,540,29,28,27,101,100,102',
'103,692,710,19,720,724,725,-262,586,8,45,291,10,105,104,106,95,56,97',
'96,98,731,99,107,108,475,91,92,42,43,41,238,242,247,248,249,244,246',
'254,255,250,251,970,231,232,-490,475,252,253,971,40,218,-490,33,671',
'749,58,59,969,257,60,-490,35,235,674,241,44,237,236,486,233,234,245',
'243,239,20,240,488,772,642,89,79,82,83,438,84,86,85,87,218,263,439,263',
'80,88,642,256,682,681,238,440,62,675,81,93,94,289,69,70,71,9,57,779',
'218,-489,63,64,788,791,792,67,-489,65,66,68,30,31,72,73,794,-489,796',
'798,806,29,28,27,101,100,102,103,807,808,19,779,815,218,218,601,8,45',
'291,10,105,104,106,95,56,97,96,98,824,99,107,108,-263,91,92,42,43,41',
'238,242,247,248,249,244,246,254,255,250,251,-289,231,232,-290,833,252',
'253,-289,40,836,-290,33,-574,791,58,59,-289,839,60,-290,35,235,841,241',
'44,237,236,843,233,234,245,243,239,20,240,845,218,847,89,79,82,83,514',
'84,86,85,87,848,851,515,853,80,88,854,256,642,856,-261,440,62,860,81',
'93,94,289,69,70,71,9,57,862,218,-279,63,64,881,218,885,67,-279,65,66',
'68,30,31,72,73,887,-279,893,896,218,29,28,27,101,100,102,103,900,913',
'19,664,663,662,-264,665,8,45,291,10,105,104,106,95,56,97,96,98,910,99',
'107,108,917,91,92,42,43,41,238,242,247,248,249,244,246,254,255,250,251',
'-289,231,232,504,918,252,253,-289,40,929,505,33,-574,791,58,59,-289',
'931,60,503,35,235,933,241,44,237,236,935,233,234,245,243,239,20,240',
'937,937,218,89,79,82,83,-490,84,86,85,87,943,946,-490,947,80,88,952',
'256,710,791,955,-490,62,957,81,93,94,289,69,70,71,9,57,959,961,-489',
'63,64,961,972,982,67,-489,65,66,68,30,31,72,73,-574,-489,-573,647,997',
'29,28,27,101,100,102,103,998,913,19,664,663,662,999,665,8,45,291,10',
'105,104,106,95,56,97,96,98,937,99,107,108,937,91,92,42,43,41,238,242',
'247,248,249,244,246,254,255,250,251,550,231,232,210,937,252,253,916',
'40,1004,211,33,982,1007,58,59,551,1008,60,209,35,235,1009,241,44,237',
'236,961,233,234,245,243,239,20,240,961,961,218,89,79,82,83,982,84,86',
'85,87,937,982,,,80,88,,256,,,,,62,,81,93,94,5,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,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',
'-289,231,232,,,252,253,-289,40,,,33,-574,,58,59,-289,,60,,35,235,,241',
'44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,',
',,,80,88,,256,,,,,62,,81,93,94,5,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,,,',
',,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,289,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,291,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,289',
'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,291,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,289,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,291,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,289,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,291,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,,,293,,,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,289,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,291',
'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,289,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,291,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,289,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,291,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,289,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,291,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,289,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,291,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,289,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,291,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,289,69,70,71,9,57,,,,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,667,19',
'664,663,662,,665,8,45,291,10,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,42,43,41,667,,664,663,662,,665,,800,,,238,,,,,,803,,40,,,293',
',,58,59,,,60,,35,,,,44,,800,,,,,,235,20,,942,237,236,89,79,82,83,,84',
'86,85,87,,,,,80,88,,667,,664,663,662,62,665,81,93,94,289,69,70,71,9',
'57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,800,29,28,27,101,100,102',
'103,238,803,19,,,,238,,8,45,291,10,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,238,,235,,,,237,236,235,233,234,,237,236,,,252,253',
',40,,,33,,,58,59,,238,60,,35,235,,241,44,237,236,,233,234,,,239,20,240',
',,,89,79,82,83,,84,86,85,87,,,235,,80,88,237,236,,233,234,,62,,81,93',
'94,289,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
'27,101,100,102,103,,667,19,664,663,662,,665,8,45,291,10,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,667,,664,663,662,,665',
'800,667,,664,663,662,,665,252,253,,40,,,33,,,58,59,,,60,,35,235,,241',
'44,237,236,800,233,234,,,239,20,240,800,,,89,79,82,83,,84,86,85,87,',
',,,80,88,,667,,664,663,662,62,665,81,93,94,289,69,70,71,9,57,,,,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,800,29,28,27,101,100,102,103,,667,19',
'664,663,662,,665,8,45,291,10,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,42,43,41,238,242,247,248,249,244,246,,800,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,289,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,291,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,289,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,291,10,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,42,43,41,238,-596,-596,-596,-596,244,246,,,-596,-596,,,,,,252',
'253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245,243,239',
'20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,289',
'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,291,10,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,238,242,247,248,249,244,246,254,255,250,251,,-596',
'-596,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234',
'245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81',
'93,94,289,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,291,10,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,42,43,41,238,242,247,248,249,244,246,254,255,250',
'251,,-596,-596,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236',
',233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,',
',,,,62,,81,93,94,289,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,291,10,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,238,-596,-596,-596,-596,244',
'246,,,-596,-596,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237',
'236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',,,,,,62,,81,93,94,289,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,291,10,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,-596,-596,-596,-596,244',
'246,,,-596,-596,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237',
'236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',,,,,,62,,81,93,94,289,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,291,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,289,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,291,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,289,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,291,10,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,-596,-596,-596',
'-596,244,246,,,-596,-596,,,,,,252,253,,40,,,293,,,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,289,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,291,10',
'105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,-596,-596',
'-596,-596,244,246,,,-596,-596,,,,,,252,253,,40,,,33,,,58,59,,,60,,35',
'235,,241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,308',
'309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,-596,-596,-596,-596',
'244,246,,,-596,-596,,,,,,252,253,,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,308,309,72',
'73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,,,,,,,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,238,,,,,,,,,,,,,,,,252,253,,40,,,33,,,58,59',
',,60,,35,235,,,44,237,236,,233,234,,,,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,308,309,72',
'73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311',
'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,,625,',
',,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,308,309,72,73,,,,,,304,305,311',
'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,,402,',
',,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,283,99,107,108,',
'91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,',
'44,,,284,,,,,,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,308,309,72,73,,,,,,304,305,311',
'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,283,99,107,108,,91,92',
'42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,284',
',,,,,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,283,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,284',
',,,,,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,308,309,72,73,,,,,,304,305,311,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,283,99,107,108,,91,92',
'42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,279,,44,,,284',
',,,,,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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,',
',,,,306,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,312,,,,,,',
',,,,,,,,,,,,,302,,,298,,,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,308,309,72,73,,,,,,304,305,311,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,308',
'309,72,73,,,,,,304,305,311,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,308,309,72',
'73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,306,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,,,312,,,,,,,,,,,,,,,,,,,,302,,,229,,',
'58,59,,,60,,,667,,664,663,662,671,665,,,,,,,,,674,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,501,,669,62,,81,93,94,69,70,71,,57,682,681,,63,64',
'675,,,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,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,',
',306,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,312,,,,,,,,,',
',,,,,,,,,,850,,,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',
'308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,306,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,,,312,,,,,,,,,,,,,,,,,,,,924',
',,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,308,309,72,73,,',
',,,304,305,311,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,308,309,72,73,,,,,,304',
'305,311,101,100,102,103,,,230,,,,,,,306,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,,,312,,,,,,,,,,,,,,,,,,,,302,,,298,,,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,308,309,72,73,,,,,,304,305,311,101',
'100,102,103,,,230,,,,,,,306,,,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,,,312,,,,,,,,,,,,,,,,,,,,302,,,298,,,58,59,,,60,,297,,,,,,,,',
',,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102',
'103,,,230,,,,,,,306,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
',,312,,,,,,,,,,,,,,,,,,,,302,,,229,,,58,59,,,60,,,667,,664,663,662,671',
'665,,,,,,,,,674,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,314,,669,62,',
'81,93,94,69,70,71,9,57,682,681,,63,64,675,,,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,308,309,72,73,,,,,',
'304,305,311,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,283,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,',
'279,,44,,,284,,,,,,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,308,309,72,73,,,,,,304,305',
'311,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,308,309,72,73,,,,,,304,305,311',
'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,308,309,72,73,,,,,,304,305,311,101,100',
'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,',
',,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,69,70',
'71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
'103,,,19,,,,,,8,45,7,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
'42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,386,62,,81,93,94,69,70,71',
',57,,,,63,64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,308',
'309,72,73,,,,,,304,305,311,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,308,309,72',
'73,,,,,,304,305,311,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,308,309,72,73,,',
',,,304,305,311,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,308,309,72,73,,,,,,304',
'305,311,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,308,309,72,73,,,,,,304,305,311',
'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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,283,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,281,,279,,44,,,284,,,,,,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,283,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,281,,279,,44,,,284,,,,,,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',
'308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,306,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,,,312,,,,,,,,,,,,,,,,,,,,850',
',,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',
'283,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59',
',,60,,281,,279,,44,,,284,,,,,,228,,,,,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,308,309,72,73',
',,,,,304,305,311,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,308,309,72,73,,,,,',
'304,305,311,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,308,309,72,73,,,,,,304,305',
'311,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,308,309,72,73,,,,,,304,305,311',
'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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,308,309,72',
'73,,,,,,304,305,311,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,,,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,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,308,309,72',
'73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,283,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,',
'229,,,58,59,,,60,,,,279,,44,,,284,,,,,,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,308,309',
'72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105,104,106',
'95,56,97,96,98,283,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,625,,279,,44,,,284,,,,,,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,308,309,72,73',
',,,,,304,305,311,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,308,309,72,73,,,,,',
'304,305,311,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,,728,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,',
',,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
'102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
'42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,',
',,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,',
',,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,402,,,,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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73,,,,,,304,305,311,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,283,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,',
',,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,284,,,,,,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,308',
'309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72',
'73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58',
'59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,',
',69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
'27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44',
',,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,283,99,107,108,,91,92',
'42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,284',
',,,,,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,283,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,284',
',,,,,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,308,309,72,73,,,,,,304,305,311,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,,,44,,,,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,',
',,,,,45,,,105,104,106,95,56,97,96,98,283,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,284,,,,,,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,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,',
',45,,,105,104,106,95,56,97,96,98,283,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,284,,,,,,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,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,',
',,,,45,,,105,104,106,95,56,97,96,98,283,99,107,108,,91,92,42,43,41,',
',,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,625,,,,44,,,284,,,,,,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,,402,,,,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,308,309,72,73',
',,,,,304,305,311,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,308,309,72,73,,,,,',
'304,305,311,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,308,309,72,73,,,,,,304,305',
'311,101,100,102,103,,,230,,,,,,,306,,,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,,,312,,,,,,,,,,,,,,,,,,,,302,,,298,,,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,283,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,284',
',,,,,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,308,309,72,73,,,,,,304,305,311,101,100,102',
'103,,,230,,,,,,,306,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
',,312,,,,,,,,,,,,,,,,,,,,302,,,298,,,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,,,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,308,309,72,73,,,,,,304,305',
'311,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,308,309,72,73,,,,,,304,305,311,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,308,309,72,73',
',,,,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56',
'97,96,98,283,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
',,58,59,,,60,,281,,,,44,,,284,,,,,,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,308,309,72',
'73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,283,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,',
'229,,,58,59,,,60,,,,,,44,,,284,,,,,,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,308,309,72',
'73,,,,,,304,305,311,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,113,,,,,112,62,,81,93,94,69,70,71,,57,,,,63',
'64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,',
'230,,,,,,,306,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,312',
',,,,,,,,,,,,,,,,,,,346,,,33,,,58,59,,,60,,35,667,,664,663,662,671,665',
',,,,,,,,674,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,669,62,,81,93,94',
'69,70,71,9,57,682,681,,63,64,675,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,19,,,,,,8,45,291,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,,,,,',
'386,62,,81,93,94,69,70,71,,57,,,,63,64,,,,67,,65,66,68,308,309,72,73',
',,,,,304,305,311,101,100,102,103,,,230,,,,,,,306,,,105,104,106,351,56',
'97,96,352,,99,107,108,,91,92,,,312,,,,,,,,,,,,,,,,,358,,,353,,,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,308,309,72,73,,,,,,304',
'305,311,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,308,309,72,73,,,,,,304,305,311',
'101,100,102,103,,,230,,,,,,,306,,,105,104,106,351,56,97,96,352,,99,107',
'108,,91,92,,,312,,,,,,,,,,,,,,,,,,,,353,,,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,308,309,72,73,,,,,,304,305,311,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,283,99,107,108,,91,92',
'42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,279,,44,,,284',
',,,,,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,308,309,72,73,,,,,,304,305,311,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,283,99,107,108,,91,92',
'42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,625,,279,,44,,,284',
',,,,,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,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230',
',,,,,,306,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,312,,,,',
',,,,,,,,,,,,,,,302,,,298,,,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,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,223,,,229,517,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,,-578,,62,,81,93,94,-578,-578,-578,,,-578,-578',
'-578,,-578,,,,,,,,,-578,-578,-578,-578,,,,,,,,-578,-578,,-578,-578,-578',
'-578,-578,,,,,,,,,,,,,,,,,,,,,,,-578,-578,-578,-578,-578,-578,-578,-578',
'-578,-578,-578,-578,-578,-578,,,-578,-578,-578,,,-578,,,-578,,,-578',
'-578,,-578,,-578,,-578,,-578,-578,,-578,-578,-578,-578,-578,,-578,-578',
'-578,,,,,,,,,,,,,,-578,,,-578,-578,-578,-578,-579,-578,,-578,,,,-579',
'-579,-579,,,-579,-579,-579,,-579,,,,,,,,,-579,-579,-579,-579,,,,,,,',
'-579,-579,,-579,-579,-579,-579,-579,,,,,,,,,,,,,,,,,,,,,,,-579,-579',
'-579,-579,-579,-579,-579,-579,-579,-579,-579,-579,-579,-579,,,-579,-579',
'-579,,,-579,,,-579,,,-579,-579,,-579,,-579,,-579,,-579,-579,,-579,-579',
'-579,-579,-579,,-579,-579,-579,,,,,,,,,,,,,,-579,,,-579,-579,-579,-579',
'-280,-579,,-579,,,,-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,667,,664,663,662,671,665',
',,,,,,-280,,674,-280,-280,-280,-280,-244,-280,,-280,,,,-244,-244,-244',
',,-244,-244,-244,,-244,669,,,,,,,,-244,-244,-244,682,681,,,,675,,,-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,,-412,-244,-244,,-244',
',-244,-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,-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,667,-244,664,663,662',
'671,665,,,,-244,-244,,,,674,,,,,,-244,-244,,-244,-244,-244,-244,-244',
',,,,,,,,669,,,,,,,,,679,678,682,681,,,,675,,,,,,,,,-244,,-296,,,,,-244',
',-296,-296,-296,263,-244,-296,-296,-296,218,-296,,,,,,,,,,-296,-296',
',,,,,-244,-244,,-296,-296,,-296,-296,-296,-296,-296,,,,,-244,,,-244',
',,,,-244,,,,,,,,,,-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,,-296,,,,,,,',
',,,,,,-296,,,-296,-296,,-296,,-296,173,184,174,197,170,190,180,179,200',
'201,195,178,177,172,198,202,203,182,171,185,189,191,183,176,,,,192,199',
'194,193,186,196,181,169,188,187,,,,,,168,175,166,167,163,164,165,124',
'126,,,125,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159',
'160,146,147,,,,,,,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141',
'133,155,134,,,162,89,,,,,,,,,,,,,,88,173,184,174,197,170,190,180,179',
'200,201,195,178,177,172,198,202,203,182,171,185,189,191,183,176,,,,192',
'199,194,193,186,196,181,169,188,187,,,,,,168,175,166,167,163,164,165',
'124,126,,,125,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140',
',,,159,160,146,147,,,,,,,,,,,,,,151,150,,135,156,153,152,161,148,149',
'143,141,133,155,134,,,162,89,,,,,,,,,,,,,,88,173,184,174,197,170,190',
'180,179,200,201,195,178,177,172,198,202,203,182,171,185,189,191,183',
'176,,,,192,199,194,193,186,196,181,169,188,187,,,,,,168,175,166,167',
'163,164,165,124,126,,,125,,,,,,,,157,158,,154,136,137,138,145,142,144',
',,139,140,,,,159,160,146,147,,,,,,,,,,,,,,151,150,,135,156,153,152,161',
'148,149,143,141,133,155,134,,,162,89,,,,,,,,,,,,,,88,173,184,174,197',
'170,190,180,179,200,201,195,178,177,172,198,202,203,182,171,185,189',
'191,183,176,,,,192,199,194,193,186,196,181,169,188,187,,,,,,168,175',
'166,167,163,164,165,124,126,123,,125,,,,,,,,157,158,,154,136,137,138',
'145,142,144,,,139,140,,,,159,160,146,147,,,,,,,,,,,,,,151,150,,135,156',
'153,152,161,148,149,143,141,133,155,134,,,162,89,,,,,,,,,,,,,,88,173',
'184,174,197,170,190,180,179,200,201,195,178,177,172,198,202,203,182',
'171,185,189,191,183,176,,,,192,199,194,369,368,370,367,169,188,187,',
',,,,168,175,166,167,364,365,366,362,126,97,96,363,,99,,,,,,157,158,',
'154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,374,,',
',,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155,134,,,162',
'173,184,174,197,170,190,180,179,200,201,195,178,177,172,198,202,203',
'182,171,185,189,191,183,176,,,,192,199,194,193,186,196,181,169,188,187',
',,,,,168,175,166,167,163,164,165,124,126,,,125,,,,,,,,157,158,,154,136',
'137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,,,,,,,,,151,150',
',135,156,153,152,161,148,149,143,141,133,155,134,695,415,162,,696,,',
',,,,,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,473,415,162,,474,,,,,,,,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,606,422,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,604,415,162,,605,,',
',,,,,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,635,415,162,,636,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139',
'140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152,161',
'148,149,143,141,133,155,134,638,422,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,967,422,162,,966',
',,,,,,,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,604,415,162,,605,,,,,,,,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,422,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,993,415,162',
',994,,,,,,,,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,995,422,162,,996,,,,,,,,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,418,422,162,,417,,,,,,,,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,473,415',
'162,,474,,,,,,,,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,700,422,162,,701,,,,,,,,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,697,422,162,,698,,,,,,,,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,411',
'415,162,,412,,,,,,,,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,,667,162,664,663,662,671,665,,667,,664,663,662,671',
'665,674,,,,,,,,674,,667,,664,663,662,671,665,,,,,,669,,,674,,,,,669',
'679,678,682,681,,,,675,679,678,682,681,,,,675,669,,667,,664,663,662',
'671,665,679,678,682,681,,,,675,674,,667,,664,663,662,671,665,,667,,664',
'663,662,671,665,674,,,,,669,,,674,,,,,,679,678,682,681,,,,675,669,,',
',,,,,669,,,682,681,,,,675,679,678,682,681,,,667,675,664,663,662,671',
'665,667,,664,663,662,671,665,667,674,664,663,662,671,665,667,674,664',
'663,662,671,665,,674,,,,,,,674,669,,,,,,,669,,,,682,681,,669,,675,,682',
'681,,669,,675,,682,681,,,,675,,682,681,,,667,675,664,663,662,671,665',
',667,,664,663,662,671,665,674,,,,,,,,674,,667,,664,663,662,671,665,',
',,,,669,653,,674,,,,,669,679,678,682,681,,,,675,679,678,682,681,,,,675',
'669,,667,,664,663,662,671,665,679,678,682,681,,,,675,674,,667,,664,663',
'662,671,665,,667,,664,663,662,671,665,674,,,,,669,,,674,,,,,,,,682,681',
',,,675,669,,,,,,,,669,679,678,682,681,,,,675,679,678,682,681,,,,675' ]
        racc_action_table = arr = ::Array.new(24863, 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 = [
'418,224,336,412,616,556,556,418,418,418,357,693,347,418,418,630,418',
'58,19,859,1014,381,886,630,363,418,382,696,645,645,222,363,328,335,335',
'328,418,418,993,418,418,418,418,418,337,994,748,366,636,635,412,995',
'1017,365,366,536,224,58,412,19,365,818,786,695,684,684,418,418,418,418',
'418,418,418,418,418,418,418,418,418,418,1,544,418,418,418,222,418,381',
'343,344,418,616,382,418,891,819,891,537,418,556,418,748,418,418,556',
'418,418,418,418,418,417,418,418,418,636,635,357,417,417,417,336,347',
'645,417,417,336,417,418,995,693,418,418,693,418,693,418,696,859,1014',
'357,886,418,859,1014,357,886,417,417,61,417,417,417,417,417,636,635',
'993,636,635,536,697,993,337,994,536,636,635,337,994,995,818,786,695',
'698,995,7,417,417,417,417,417,417,417,417,417,417,417,417,417,417,544',
'307,417,417,417,10,417,343,344,819,417,537,571,417,819,12,537,573,417',
'376,417,327,417,417,327,417,417,417,417,417,607,417,441,417,221,697',
'13,607,607,607,560,560,607,607,607,61,607,417,698,555,417,417,16,417',
'555,417,607,607,607,435,435,417,22,605,38,307,607,607,364,607,607,607',
'607,607,353,364,571,571,353,697,377,573,573,376,376,376,571,441,307',
'221,617,573,698,604,312,312,607,607,607,607,607,607,607,607,607,607',
'607,607,607,607,26,38,607,607,607,37,607,607,605,38,607,41,41,607,607',
'617,607,40,607,378,607,45,607,607,560,607,607,607,607,607,379,607,98',
'607,377,377,377,109,604,98,98,98,479,435,98,98,98,607,98,340,607,607',
'607,607,340,607,98,607,98,98,98,607,312,312,26,352,411,651,98,98,651',
'98,98,98,98,98,803,479,803,803,803,915,803,378,378,378,367,26,915,41',
'41,204,351,367,379,379,379,915,98,98,98,98,98,98,98,98,98,98,98,98,98',
'98,471,411,98,98,98,352,98,98,480,411,98,316,352,98,98,223,98,352,98',
'774,98,352,98,98,225,98,98,98,98,98,372,98,351,98,362,471,226,372,380',
'351,352,362,230,480,351,383,803,98,351,638,98,98,98,98,3,98,606,98,316',
'3,39,98,262,606,606,606,316,351,606,606,606,774,606,942,276,942,942',
'942,774,942,123,606,606,606,606,123,123,774,911,700,15,911,606,606,277',
'606,606,606,606,606,280,638,380,380,380,547,774,39,638,383,383,383,547',
'638,291,39,292,638,294,587,295,547,606,606,606,606,606,606,606,606,606',
'606,606,606,606,606,638,15,606,606,606,700,606,606,24,15,606,296,700',
'606,606,24,606,700,606,942,606,700,606,606,77,606,606,606,606,606,587',
'606,606,606,370,369,77,368,587,302,700,370,369,827,368,305,77,606,827',
'822,606,606,606,606,822,606,95,606,238,238,238,606,238,95,95,95,238',
'238,95,95,95,238,95,238,238,238,238,238,238,238,95,306,95,95,95,238',
'238,238,238,238,238,238,95,95,238,95,95,95,95,95,331,238,311,331,238',
'238,238,238,238,238,238,238,313,238,238,238,317,238,238,238,238,238',
'95,95,95,95,95,95,95,95,95,95,95,95,95,95,520,520,95,95,95,238,95,95',
'238,320,95,238,238,95,95,238,95,325,95,287,95,238,95,95,287,95,95,95',
'95,95,238,95,329,95,330,238,238,238,238,332,238,238,238,238,983,983',
'341,95,238,238,95,95,95,95,342,95,238,95,238,238,238,95,495,495,495',
'495,495,495,17,17,46,495,495,791,791,346,495,46,495,495,495,495,495',
'495,495,348,46,392,398,401,495,495,495,495,495,495,495,564,564,495,403',
'564,564,564,430,495,495,495,495,495,495,495,495,495,495,495,495,407',
'495,495,495,409,495,495,495,495,495,430,430,430,430,430,430,430,430',
'430,430,430,345,430,430,972,410,430,430,345,495,419,972,495,427,437',
'495,495,345,449,495,972,495,430,450,430,495,430,430,788,430,430,430',
'430,430,495,430,451,452,788,495,495,495,495,355,495,495,495,495,477',
'481,355,496,495,495,497,430,500,430,502,355,495,507,495,495,495,920',
'920,920,920,920,920,788,788,925,920,920,788,510,518,920,925,920,920',
'920,920,920,920,920,519,925,521,533,538,920,920,920,920,920,920,920',
'539,558,920,568,576,578,584,406,920,920,920,920,920,920,920,920,920',
'920,920,920,588,920,920,920,593,920,920,920,920,920,406,406,406,406',
'406,406,406,406,406,406,406,923,406,406,922,598,406,406,923,920,608',
'922,920,836,610,920,920,923,615,920,922,920,406,836,406,920,406,406',
'622,406,406,406,406,406,920,406,624,629,632,920,920,920,920,220,920',
'920,920,920,634,637,220,640,920,920,641,406,836,836,644,220,920,836',
'920,920,920,709,709,709,709,709,709,646,649,921,709,709,655,656,658',
'709,921,709,709,709,709,709,709,709,659,921,660,668,676,709,709,709',
'709,709,709,709,680,683,709,686,691,694,703,609,709,709,709,709,709',
'709,709,709,709,709,709,709,708,709,709,709,727,709,709,709,709,709',
'609,609,609,609,609,609,609,609,609,609,609,996,609,609,506,732,609',
'609,996,709,750,506,709,996,751,709,709,996,753,709,506,709,609,754',
'609,709,609,609,755,609,609,609,609,609,709,609,757,758,759,709,709',
'709,709,318,709,709,709,709,760,764,318,768,709,709,769,609,773,777',
'780,318,709,781,709,709,709,704,704,704,704,704,704,784,787,303,704',
'704,802,804,809,704,303,704,704,704,704,704,704,704,812,303,821,825',
'826,704,704,704,704,704,704,704,829,847,704,847,847,847,830,847,704',
'704,704,704,704,704,704,704,704,704,704,704,846,704,704,704,850,704',
'704,704,704,704,643,643,643,643,643,643,643,643,643,643,643,701,643',
'643,301,852,643,643,701,704,866,301,704,701,867,704,704,701,871,704',
'301,704,643,872,643,704,643,643,874,643,643,643,643,643,704,643,875',
'877,880,704,704,704,704,300,704,704,704,704,882,888,300,889,704,704',
'895,643,899,901,904,300,704,905,704,704,704,767,767,767,767,767,767',
'906,907,299,767,767,909,924,944,767,299,767,767,767,767,767,767,767',
'966,299,967,968,973,767,767,767,767,767,767,767,974,965,767,965,965',
'965,975,965,767,767,767,767,767,767,767,767,767,767,767,767,976,767',
'767,767,977,767,767,767,767,767,832,832,832,832,832,832,832,832,832',
'832,832,849,832,832,14,978,832,832,849,767,979,14,767,981,984,767,767',
'849,985,767,14,767,832,986,832,767,832,832,987,832,832,832,832,832,767',
'832,988,989,992,767,767,767,767,1005,767,767,767,767,1015,1016,,,767',
'767,,832,,,,,767,,767,767,767,121,121,121,121,121,121,,,,121,121,,,',
'121,,121,121,121,121,121,121,121,494,494,494,494,494,121,121,121,121',
'121,121,121,,,121,6,6,6,6,6,121,121,121,121,121,121,121,121,121,121',
'121,121,,121,121,121,,121,121,121,121,121,425,425,425,425,425,425,425',
'425,425,425,425,639,425,425,,,425,425,639,121,,,121,639,,121,121,639',
',121,,121,425,,425,121,425,425,,425,425,425,425,425,121,425,,,,121,121',
'121,121,,121,121,121,121,,,,,121,121,,425,,,,,121,,121,121,121,0,0,0',
'0,0,0,,,,0,0,,,,0,,0,0,0,0,0,0,0,290,290,290,290,290,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,729,729,729,729,729',
'729,729,729,729,729,729,,729,729,,,729,729,,0,,,0,,,0,0,,,0,,0,729,',
'729,0,729,729,,729,729,729,729,729,0,729,,,,0,0,0,0,,0,0,0,0,,,,,0,0',
',729,,,,,0,,0,0,0,719,719,719,719,719,719,,,,719,719,,,,719,,719,719',
'719,719,719,719,719,,,,,,719,719,719,719,719,719,719,,,719,,,,,,719',
'719,719,719,719,719,719,719,719,719,719,719,,719,719,719,,719,719,719',
'719,719,734,734,734,734,734,734,734,734,734,734,734,,734,734,,,734,734',
',719,,,719,,,719,719,,,719,,719,734,,734,719,734,734,,734,734,734,734',
'734,719,734,,,,719,719,719,719,,719,719,719,719,,,,,719,719,,734,,,',
',719,,719,719,719,953,953,953,953,953,953,,,,953,953,,,,953,,953,953',
'953,953,953,953,953,,,,,,953,953,953,953,953,953,953,,,953,,,,,,953',
'953,953,953,953,953,953,953,953,953,953,953,,953,953,953,,953,953,953',
'953,953,736,736,736,736,736,736,736,736,736,736,736,,736,736,,,736,736',
',953,,,953,,,953,953,,,953,,953,736,,736,953,736,736,,736,736,736,736',
'736,953,736,,,,953,953,953,953,,953,953,953,953,,,,,953,953,,736,,,',
',953,,953,953,953,532,532,532,532,532,532,,,,532,532,,,,532,,532,532',
'532,532,532,532,532,,,,,,532,532,532,532,532,532,532,,,532,,,,,,532',
'532,532,532,532,532,532,532,532,532,532,532,,532,532,532,,532,532,532',
'532,532,739,739,739,739,739,739,739,739,739,739,739,,739,739,,,739,739',
',532,,,532,,,532,532,,,532,,532,739,,739,532,739,739,,739,739,739,739',
'739,532,739,,,,532,532,532,532,,532,532,532,532,,,,,532,532,,739,,,',
',532,,532,532,532,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,298,,298,298,298',
'298,298,741,741,741,741,741,741,741,741,741,741,741,,741,741,,,741,741',
',298,,,298,,,298,298,,,298,,298,741,,741,298,741,741,,741,741,741,741',
'741,298,741,,,,298,298,298,298,,298,298,298,298,,,,,298,298,,741,,,',
',298,,298,298,298,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,743,743,743,743,743,743,743,743,743,743,743,,743,743,,,743,743',
',323,,,323,,,323,323,,,323,,323,743,,743,323,743,743,,743,743,743,743',
'743,323,743,,,,323,323,323,323,,323,323,323,323,,,,,323,323,,743,,,',
',323,,323,323,323,856,856,856,856,856,856,,,,856,856,,,,856,,856,856',
'856,856,856,856,856,,,,,,856,856,856,856,856,856,856,,,856,,,,,,856',
'856,856,856,856,856,856,856,856,856,856,856,,856,856,856,,856,856,856',
'856,856,470,470,470,470,470,470,470,470,470,470,470,,470,470,,,470,470',
',856,,,856,,,856,856,,,856,,856,470,,470,856,470,470,,470,470,470,470',
'470,856,470,,,,856,856,856,856,,856,856,856,856,,,,,856,856,470,470',
',,,,856,,856,856,856,614,614,614,614,614,614,,,,614,614,,,,614,,614',
'614,614,614,614,614,614,,,,,,614,614,614,614,614,614,614,,,614,,,,,',
'614,614,614,614,614,614,614,614,614,614,614,614,,614,614,614,,614,614',
'614,614,614,516,516,516,516,516,516,516,516,516,516,516,,516,516,,,516',
'516,,614,,,614,,,614,614,,,614,,614,516,,516,614,516,516,,516,516,516',
'516,516,614,516,,,,614,614,614,614,,614,614,614,614,,,,,614,614,,516',
',,,,614,,614,614,614,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,21,21,21,21,21,21,21,21,21,21,21,,21,21,,,21,21,,206,,,206',
',,206,206,,,206,,206,21,,21,206,21,21,,21,21,21,21,21,206,21,,,,206',
'206,206,206,,206,206,206,206,,,,,206,206,,21,,,,,206,,206,206,206,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,274,274,274,274',
'274,274,274,274,274,274,274,,274,274,,,274,274,,229,,,229,,,229,229',
',,229,,229,274,,274,229,274,274,,274,274,274,274,274,229,274,,,,229',
'229,229,229,,229,229,229,229,,,,,229,229,,274,,,,,229,,229,229,229,779',
'779,779,779,779,779,,,,779,779,,,,779,,779,779,779,779,779,779,779,',
',,,,779,779,779,779,779,779,779,,,779,,,,,,779,779,779,779,779,779,779',
'779,779,779,779,779,,779,779,779,,779,779,779,779,779,835,835,835,835',
'835,835,835,835,835,835,835,,835,835,,,835,835,,779,,,779,,,779,779',
',,779,,779,835,,835,779,835,835,,835,835,835,835,835,779,835,,,,779',
'779,779,779,,779,779,779,779,,,,,779,779,,835,,,,,779,,779,779,779,33',
'33,33,33,33,33,,,,33,33,,,,33,,33,33,33,33,33,33,33,,,,,,33,33,33,33',
'33,33,33,,800,33,800,800,800,,800,33,33,33,33,33,33,33,33,33,33,33,33',
',33,33,33,,33,33,33,33,33,881,,881,881,881,,881,,800,,,447,,,,,,800',
',33,,,33,,,33,33,,,33,,33,,,,33,,881,,,,,,447,33,,881,447,447,33,33',
'33,33,,33,33,33,33,,,,,33,33,,669,,669,669,669,33,669,33,33,33,951,951',
'951,951,951,951,,,,951,951,,,,951,,951,951,951,951,951,951,951,,,,,669',
'951,951,951,951,951,951,951,466,669,951,,,,448,,951,951,951,951,951',
'951,951,951,951,951,951,951,,951,951,951,,951,951,951,951,951,460,,466',
',,,466,466,448,466,466,,448,448,,,460,460,,951,,,951,,,951,951,,467',
'951,,951,460,,460,951,460,460,,460,460,,,460,951,460,,,,951,951,951',
'951,,951,951,951,951,,,467,,951,951,467,467,,467,467,,951,,951,951,951',
'813,813,813,813,813,813,,,,813,813,,,,813,,813,813,813,813,813,813,813',
',,,,,813,813,813,813,813,813,813,,982,813,982,982,982,,982,813,813,813',
'813,813,813,813,813,813,813,813,813,,813,813,813,,813,813,813,813,813',
'459,980,,980,980,980,,980,982,1004,,1004,1004,1004,,1004,459,459,,813',
',,813,,,813,813,,,813,,813,459,,459,813,459,459,980,459,459,,,459,813',
'459,1004,,,813,813,813,813,,813,813,813,813,,,,,813,813,,883,,883,883',
'883,813,883,813,813,813,814,814,814,814,814,814,,,,814,814,,,,814,,814',
'814,814,814,814,814,814,,,,,883,814,814,814,814,814,814,814,,943,814',
'943,943,943,,943,814,814,814,814,814,814,814,814,814,814,814,814,,814',
'814,814,,814,814,814,814,814,468,468,468,468,468,468,468,,943,468,468',
',,,,,468,468,,814,,,814,,,814,814,,,814,,814,468,,468,814,468,468,,468',
'468,468,468,468,814,468,,,,814,814,814,814,,814,814,814,814,,,,,814',
'814,,,,,,,814,,814,814,814,619,619,619,619,619,619,,,,619,619,,,,619',
',619,619,619,619,619,619,619,,,,,,619,619,619,619,619,619,619,,,619',
',,,,,619,619,619,619,619,619,619,619,619,619,619,619,,619,619,619,,619',
'619,619,619,619,469,469,469,469,469,469,469,469,,469,469,,,,,,469,469',
',619,,,619,,,619,619,,,619,,619,469,,469,619,469,469,,469,469,469,469',
'469,619,469,,,,619,619,619,619,,619,619,619,619,,,,,619,619,,,,,,,619',
',619,619,619,535,535,535,535,535,535,,,,535,535,,,,535,,535,535,535',
'535,535,535,535,,,,,,535,535,535,535,535,535,535,,,535,,,,,,535,535',
'535,535,535,535,535,535,535,535,535,535,,535,535,535,,535,535,535,535',
'535,465,465,465,465,465,465,465,,,465,465,,,,,,465,465,,535,,,535,,',
'535,535,,,535,,535,465,,465,535,465,465,,465,465,465,465,465,535,465',
',,,535,535,535,535,,535,535,535,535,,,,,535,535,,,,,,,535,,535,535,535',
'817,817,817,817,817,817,,,,817,817,,,,817,,817,817,817,817,817,817,817',
',,,,,817,817,817,817,817,817,817,,,817,,,,,,817,817,817,817,817,817',
'817,817,817,817,817,817,,817,817,817,,817,817,817,817,817,446,446,446',
'446,446,446,446,446,446,446,446,,446,446,,,446,446,,817,,,817,,,817',
'817,,,817,,817,446,,446,817,446,446,,446,446,446,446,446,817,446,,,',
'817,817,817,817,,817,817,817,817,,,,,817,817,,,,,,,817,,817,817,817',
'945,945,945,945,945,945,,,,945,945,,,,945,,945,945,945,945,945,945,945',
',,,,,945,945,945,945,945,945,945,,,945,,,,,,945,945,945,945,945,945',
'945,945,945,945,945,945,,945,945,945,,945,945,945,945,945,445,445,445',
'445,445,445,445,445,445,445,445,,445,445,,,445,445,,945,,,945,,,945',
'945,,,945,,945,445,,445,945,445,445,,445,445,445,445,445,945,445,,,',
'945,945,945,945,,945,945,945,945,,,,,945,945,,,,,,,945,,945,945,945',
'620,620,620,620,620,620,,,,620,620,,,,620,,620,620,620,620,620,620,620',
',,,,,620,620,620,620,620,620,620,,,620,,,,,,620,620,620,620,620,620',
'620,620,620,620,620,620,,620,620,620,,620,620,620,620,620,456,456,456',
'456,456,456,456,,,456,456,,,,,,456,456,,620,,,620,,,620,620,,,620,,620',
'456,,456,620,456,456,,456,456,456,456,456,620,456,,,,620,620,620,620',
',620,620,620,620,,,,,620,620,,,,,,,620,,620,620,620,928,928,928,928',
'928,928,,,,928,928,,,,928,,928,928,928,928,928,928,928,,,,,,928,928',
'928,928,928,928,928,,,928,,,,,,928,928,928,928,928,928,928,928,928,928',
'928,928,,928,928,928,,928,928,928,928,928,464,464,464,464,464,464,464',
',,464,464,,,,,,464,464,,928,,,928,,,928,928,,,928,,928,464,,464,928',
'464,464,,464,464,464,464,464,928,464,,,,928,928,928,928,,928,928,928',
'928,,,,,928,928,,,,,,,928,,928,928,928,927,927,927,927,927,927,,,,927',
'927,,,,927,,927,927,927,927,927,927,927,,,,,,927,927,927,927,927,927',
'927,,,927,,,,,,927,927,927,927,927,927,927,927,927,927,927,927,,927',
'927,927,,927,927,927,927,927,457,,,,,,,,,,,,,,,,457,457,,927,,,927,',
',927,927,,,927,,927,457,,457,927,457,457,,457,457,,,457,927,457,,,,927',
'927,927,927,,927,927,927,927,,,,,927,927,,,,,,,927,,927,927,927,823',
'823,823,823,823,823,,,,823,823,,,,823,,823,823,823,823,823,823,823,',
',,,,823,823,823,823,823,823,823,,,823,,,,,,823,823,823,823,823,823,823',
'823,823,823,823,823,,823,823,823,,823,823,823,823,823,458,,,,,,,,,,',
',,,,,458,458,,823,,,823,,,823,823,,,823,,823,458,,458,823,458,458,,458',
'458,,,458,823,458,,,,823,823,823,823,,823,823,823,823,,,,,823,823,,',
',,,,823,,823,823,823,293,293,293,293,293,293,,,,293,293,,,,293,,293',
'293,293,293,293,293,293,,,,,,293,293,293,293,293,293,293,,,293,,,,,',
'293,293,293,293,293,293,293,293,293,293,293,293,,293,293,293,,293,293',
'293,293,293,463,463,463,463,463,463,463,,,463,463,,,,,,463,463,,293',
',,293,,,293,293,,,293,,293,463,,463,293,463,463,,463,463,463,463,463',
'293,463,,,,293,293,293,293,,293,293,293,293,,,,,293,293,,,,,,,293,,293',
'293,293,557,557,557,557,557,557,,,,557,557,,,,557,,557,557,557,557,557',
'557,557,,,,,,557,557,557,557,557,557,557,,,557,,,,,,557,557,557,557',
'557,557,557,557,557,557,557,557,,557,557,557,,557,557,557,557,557,462',
'462,462,462,462,462,462,,,462,462,,,,,,462,462,,557,,,557,,,557,557',
',,557,,557,462,,462,557,462,462,,462,462,462,462,462,557,462,,,,557',
'557,557,557,,557,557,557,557,,,,,557,557,,,,798,798,798,557,798,557',
'557,557,798,798,,,,798,,798,798,798,798,798,798,798,,,,,,798,798,798',
'798,798,798,798,,,798,,,,,,,798,,,798,798,798,798,798,798,798,798,,798',
'798,798,,798,798,798,798,798,461,461,461,461,461,461,461,,,461,461,',
',,,,461,461,,798,,,798,,,798,798,,,798,,,461,,461,798,461,461,,461,461',
'461,461,461,798,461,,,,798,798,798,798,,798,798,798,798,,,,,798,798',
',,,237,237,237,798,237,798,798,798,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,453,,,,,,,,,,',
',,,,,453,453,,237,,,237,,,237,237,,,237,,,453,,453,237,453,453,,453',
'453,,,,237,,,,,237,237,237,237,,237,237,237,237,,,,,237,237,,,,236,236',
'236,237,236,237,237,237,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,454,,,,,,,,,,,,,,,,454',
'454,,236,,,236,,,236,236,,,236,,,454,,454,236,454,454,,454,454,,,,236',
',,,,236,236,236,236,,236,236,236,236,,,,,236,236,,,,,,,236,,236,236',
'236,289,289,289,289,289,,,,289,289,,,,289,,289,289,289,289,289,289,289',
',,,,,289,289,289,289,289,289,289,,,289,,,,,,289,289,,289,289,289,289',
'289,289,289,289,289,,289,289,289,,289,289,289,289,289,455,,,,,,,,,,',
',,,,,455,455,,289,,,289,,,289,289,,,289,,289,455,,,289,455,455,,455',
'455,,,,289,,,,,289,289,289,289,,289,289,289,289,,,,,289,289,,,,235,235',
'235,289,235,289,289,289,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,,,,811,811,811,235,811,235,235,235,811,811,',
',,811,,811,811,811,811,811,811,811,,,,,,811,811,811,811,811,811,811',
',,811,,,,,,,811,,,811,811,811,811,811,811,811,811,,811,811,811,,811',
'811,811,811,811,,,,,,,,,,,,,,,,,,,,811,,,811,,,811,811,,,811,,,,,,811',
',,,,,,,,811,,,,,811,811,811,811,,811,811,811,811,,,,,811,811,,,,816',
'816,816,811,816,811,811,811,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,816,,,,647,647,647,816,647,816,816,816,647',
'647,,,,647,,647,647,647,647,647,647,647,,,,,,647,647,647,647,647,647',
'647,,,647,,,,,,,647,,,647,647,647,647,647,647,647,647,,647,647,647,',
'647,647,647,647,647,,,,,,,,,,,,,,,,,,,,647,,,647,,,647,647,,,647,,647',
',,,647,,,,,,,,,647,,,,,647,647,647,647,,647,647,647,647,,,,,647,647',
',,,29,29,29,647,29,647,647,647,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,,,,234,234,234',
'29,234,29,29,29,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,,,,30,30,30,234,30,234,234,234,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,,,,833,833,833',
'31,833,31,31,31,833,833,,,,833,,833,833,833,833,833,833,833,,,,,,833',
'833,833,833,833,833,833,,,833,,,,,,,833,,,833,833,833,833,833,833,833',
'833,833,833,833,833,,833,833,833,833,833,,,,,,,,,,,,,,,,,,,,833,,,833',
',,833,833,,,833,,,,833,,833,,,833,,,,,,833,,,,,833,833,833,833,,833',
'833,833,833,,,,,833,833,,,,834,834,834,833,834,833,833,833,834,834,',
',,834,,834,834,834,834,834,834,834,,,,,,834,834,834,834,834,834,834',
',,834,,,,,,,834,,,834,834,834,834,834,834,834,834,,834,834,834,,834',
'834,834,834,834,,,,,,,,,,,,,,,,,,,,834,,,834,,,834,834,,,834,,,,,,834',
',,,,,,,,834,,,,,834,834,834,834,,834,834,834,834,,,,,834,834,,,,233',
'233,233,834,233,834,834,834,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,,,,642,642,642,233,642,233,233,233,642',
'642,,,,642,,642,642,642,642,642,642,642,,,,,,642,642,642,642,642,642',
'642,,,642,,,,,,,642,,,642,642,642,642,642,642,642,642,,642,642,642,',
'642,642,,,642,,,,,,,,,,,,,,,,,,,,642,,,642,,,642,642,,,642,,,,,,,,,',
',,,,,,,,,,642,642,642,642,,642,642,642,642,,,,,642,642,,,,232,232,232',
'642,232,642,642,642,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,,,,231,231,231,232,231,232,232,232,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,,,,297,297,297,231',
'297,231,231,231,297,297,,,,297,,297,297,297,297,297,297,297,,,,,,297',
'297,297,297,297,297,297,,,297,,,,,,,297,,,297,297,297,297,297,297,297',
'297,,297,297,297,,297,297,,,297,,,,,,,,,,,,,,,,,,,,297,,,297,,,297,297',
',,297,,,843,,843,843,843,843,843,,,,,,,,,843,,297,297,297,297,,297,297',
'297,297,,,,,297,297,,,,297,,843,297,,297,297,297,20,20,20,,20,843,843',
',20,20,843,,,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,,,,848,848,848,20,848,20,20,20,848,848,,,,848',
',848,848,848,848,848,848,848,,,,,,848,848,848,848,848,848,848,,,848',
',,,,,,848,,,848,848,848,848,848,848,848,848,,848,848,848,,848,848,,',
'848,,,,,,,,,,,,,,,,,,,,848,,,848,,,848,848,,,848,,,,,,,,,,,,,,,,,,,',
'848,848,848,848,,848,848,848,848,,,,,848,848,,,,860,860,860,848,860',
'848,848,848,860,860,,,,860,,860,860,860,860,860,860,860,,,,,,860,860',
'860,860,860,860,860,,,860,,,,,,,860,,,860,860,860,860,860,860,860,860',
',860,860,860,,860,860,,,860,,,,,,,,,,,,,,,,,,,,860,,,860,,,860,860,',
',860,,,,,,,,,,,,,,,,,,,,860,860,860,860,,860,860,860,860,,,,,860,860',
',,,228,228,228,860,228,860,860,860,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,,,,631,631,631,228,631,228,228,228',
'631,631,,,,631,,631,631,631,631,631,631,631,,,,,,631,631,631,631,631',
'631,631,,,631,,,,,,,631,,,631,631,631,631,631,631,631,631,,631,631,631',
',631,631,,,631,,,,,,,,,,,,,,,,,,,,631,,,631,,,631,631,,,631,,,,,,,,',
',,,,,,,,,,,631,631,631,631,,631,631,631,631,,,,,631,631,,,,34,34,34',
'631,34,631,631,631,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,,,957,,957,957,957,957,957,,,,,,,,,957,,35,35,35,35,,35',
'35,35,35,,,,,35,35,,,,35,,957,35,,35,35,35,5,5,5,5,5,957,957,,5,5,957',
',,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,,,,625,625,625,5,625,5,5,5,625,625',
',,,625,,625,625,625,625,625,625,625,,,,,,625,625,625,625,625,625,625',
',,625,,,,,,,625,,,625,625,625,625,625,625,625,625,,625,625,625,,625',
'625,625,625,625,,,,,,,,,,,,,,,,,,,,625,,,625,,,625,625,,,625,,,,,,625',
',,,,,,,,625,,,,,625,625,625,625,,625,625,625,625,,,,,625,625,,,,440',
'440,440,625,440,625,625,625,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,,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,,,,442,442,442,440,442,440',
'440,440,442,442,,,,442,,442,442,442,442,442,442,442,,,,,,442,442,442',
'442,442,442,442,,,442,,,,,,,442,,,442,442,442,442,442,442,442,442,,442',
'442,442,,442,442,442,442,442,,,,,,,,,,,,,,,,,,,,442,,,442,,,442,442',
',,442,,,,,,442,,,,,,,,,442,,,,,442,442,442,442,,442,442,442,442,,,,',
'442,442,,,,443,443,443,442,443,442,442,442,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,,,,444,444,444,443,444,443',
'443,443,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,,,,,,,444,,444,444,444,111,111,111,111,111,,,,111,111,,,,111',
',111,111,111,111,111,111,111,,,,,,111,111,111,111,111,111,111,,,111',
',,,,,111,111,111,111,111,111,111,111,111,111,111,111,,111,111,111,,111',
'111,111,111,111,,,,,,,,,,,,,,,,,,,,111,,,111,,,111,111,,,111,,111,,',
',111,,,,,,,,,111,,,,,111,111,111,111,,111,111,111,111,,,,,111,111,,',
',,,111,111,,111,111,111,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,250,250,,,,,250,250,,,,728,728,728,250,728',
'250,250,250,728,728,,,,728,,728,728,728,728,728,728,728,,,,,,728,728',
'728,728,728,728,728,,,728,,,,,,,728,,,728,728,728,728,728,728,728,728',
',728,728,728,,728,728,728,728,728,,,,,,,,,,,,,,,,,,,,728,,,728,,,728',
'728,,,728,,,,,,728,,,,,,,,,728,,,,,728,728,728,728,,728,728,728,728',
',,,,728,728,,,,730,730,730,728,730,728,728,728,730,730,,,,730,,730,730',
'730,730,730,730,730,,,,,,730,730,730,730,730,730,730,,,730,,,,,,,730',
',,730,730,730,730,730,730,730,730,,730,730,730,,730,730,730,730,730',
',,,,,,,,,,,,,,,,,,,730,,,730,,,730,730,,,730,,,,,,730,,,,,,,,,730,,',
',,730,730,730,730,,730,730,730,730,,,,,730,730,,,,251,251,251,730,251',
'730,730,730,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,,,,247,247,247,251,247,251,251,251,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,,,,744,744,744,247,744',
'247,247,247,744,744,,,,744,,744,744,744,744,744,744,744,,,,,,744,744',
'744,744,744,744,744,,,744,,,,,,,744,,,744,744,744,744,744,744,744,744',
',744,744,744,,744,744,744,744,744,,,,,,,,,,,,,,,,,,,,744,,,744,,,744',
'744,,,744,,,,,,744,,,,,,,,,744,,,,,744,744,744,744,,744,744,744,744',
',,,,744,744,,,,745,745,745,744,745,744,744,744,745,745,,,,745,,745,745',
'745,745,745,745,745,,,,,,745,745,745,745,745,745,745,,,745,,,,,,,745',
',,745,745,745,745,745,745,745,745,,745,745,745,,745,745,745,745,745',
',,,,,,,,,,,,,,,,,,,745,,,745,,,745,745,,,745,,,,,,745,,,,,,,,,745,,',
',,745,745,745,745,,745,745,745,745,,,,,745,745,,,,746,746,746,745,746',
'745,745,745,746,746,,,,746,,746,746,746,746,746,746,746,,,,,,746,746',
'746,746,746,746,746,,,746,,,,,,,746,,,746,746,746,746,746,746,746,746',
',746,746,746,,746,746,746,746,746,,,,,,,,,,,,,,,,,,,,746,,,746,,,746',
'746,,,746,,,,,,746,,,,,,,,,746,,,,,746,746,746,746,,746,746,746,746',
',,,,746,746,,,,747,747,747,746,747,746,746,746,747,747,,,,747,,747,747',
'747,747,747,747,747,,,,,,747,747,747,747,747,747,747,,,747,,,,,,,747',
',,747,747,747,747,747,747,747,747,,747,747,747,,747,747,747,747,747',
',,,,,,,,,,,,,,,,,,,747,,,747,,,747,747,,,747,,,,,,747,,,,,,,,,747,,',
',,747,747,747,747,,747,747,747,747,,,,,747,747,,,,246,246,246,747,246',
'747,747,747,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,,,,749,749,749,246,749,246,246,246,749,749,,,,749,,749,749',
'749,749,749,749,749,,,,,,749,749,749,749,749,749,749,,,749,,,,,,,749',
',,749,749,749,749,749,749,749,749,,749,749,749,,749,749,749,749,749',
',,,,,,,,,,,,,,,,,,,749,,,749,,,749,749,,,749,,,,,,749,,,,,,,,,749,,',
',,749,749,749,749,,749,749,749,749,,,,,749,749,,,,252,252,252,749,252',
'749,749,749,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,,,,245,245,245,256,245,256,256,256,245,245,,,,245,,245,245',
'245,245,245,245,245,,,,,,245,245,245,245,245,245,245,,,245,,,,,,,245',
',,245,245,245,245,245,245,245,245,,245,245,245,,245,245,245,245,245',
',,,,,,,,,,,,,,,,,,,245,,,245,,,245,245,,,245,,,,,,245,,,,,,,,,245,,',
',,245,245,245,245,,245,245,245,245,,,,,245,245,,,,244,244,244,245,244',
'245,245,245,244,244,,,,244,,244,244,244,244,244,244,244,,,,,,244,244',
'244,244,244,244,244,,,244,,,,,,,244,,,244,244,244,244,244,244,244,244',
',244,244,244,,244,244,244,244,244,,,,,,,,,,,,,,,,,,,,244,,,244,,,244',
'244,,,244,,,,,,244,,,,,,,,,244,,,,,244,244,244,244,,244,244,244,244',
',,,,244,244,,,,263,263,263,244,263,244,244,244,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,,,,761,761,761,264,761,264,264,264',
'761,761,,,,761,,761,761,761,761,761,761,761,,,,,,761,761,761,761,761',
'761,761,,,761,,,,,,,761,,,761,761,761,761,761,761,761,761,,761,761,761',
',761,761,,,761,,,,,,,,,,,,,,,,,,,,761,,,761,,,761,761,,,761,,,,,,,,',
',,,,,,,,,,,761,761,761,761,,761,761,761,761,,,,,761,761,,,,272,272,272',
'761,272,761,761,761,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,,,243,243,243,272,243,272,272,272',
'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',
',,,242,242,242,243,242,243,243,243,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,,,,279,279,279,242,279,242,242,242',
'279,279,,,,279,,279,279,279,279,279,279,279,,,,,,279,279,279,279,279',
'279,279,,,279,,,,,,,279,,,279,279,279,279,279,279,279,279,,279,279,279',
',279,279,279,279,279,,,,,,,,,,,,,,,,,,,,279,,,279,,,279,279,,,279,,',
',,,279,,,,,,,,,279,,,,,279,279,279,279,,279,279,279,279,,,,,279,279',
',,,281,281,281,279,281,279,279,279,281,281,,,,281,,281,281,281,281,281',
'281,281,,,,,,281,281,281,281,281,281,281,,,281,,,,,,,281,,,281,281,281',
'281,281,281,281,281,,281,281,281,,281,281,281,281,281,,,,,,,,,,,,,,',
',,,,,281,,,281,,,281,281,,,281,,,,,,281,,,,,,,,,281,,,,,281,281,281',
'281,,281,281,281,281,,,,,281,281,,,,283,283,283,281,283,281,281,281',
'283,283,,,,283,,283,283,283,283,283,283,283,,,,,,283,283,283,283,283',
'283,283,,,283,,,,,,,283,,,283,283,283,283,283,283,283,283,,283,283,283',
',283,283,283,283,283,,,,,,,,,,,,,,,,,,,,283,,,283,,,283,283,,,283,,',
',,,283,,,,,,,,,283,,,,,283,283,283,283,,283,283,283,283,,,,,283,283',
',,,284,284,284,283,284,283,283,283,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,,,,672,672,672,284,672,284,284,284',
'672,672,,,,672,,672,672,672,672,672,672,672,,,,,,672,672,672,672,672',
'672,672,,,672,,,,,,,672,,,672,672,672,672,672,672,672,672,,672,672,672',
',672,672,672,672,672,,,,,,,,,,,,,,,,,,,,672,,,672,,,672,672,,,672,,',
',,,672,,,,,,,,,672,,,,,672,672,672,672,,672,672,672,672,,,,,672,672',
',,,241,241,241,672,241,672,672,672,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,,,,240,240,240,241,240,241,241,241',
'240,240,,,,240,,240,240,240,240,240,240,240,,,,,,240,240,240,240,240',
'240,240,,,240,,,,,,,240,,,240,240,240,240,240,240,240,240,,240,240,240',
',240,240,240,240,240,,,,,,,,,,,,,,,,,,,,240,,,240,,,240,240,,,240,,',
',,,240,,,,,,,,,240,,,,,240,240,240,240,,240,240,240,240,,,,,240,240',
',,,239,239,239,240,239,240,240,240,239,239,,,,239,,239,239,239,239,239',
'239,239,,,,,,239,239,239,239,239,239,239,,,239,,,,,,,239,,,239,239,239',
'239,239,239,239,239,,239,239,239,,239,239,239,239,239,,,,,,,,,,,,,,',
',,,,,239,,,239,,,239,239,,,239,,,,,,239,,,,,,,,,239,,,,,239,239,239',
'239,,239,239,239,239,,,,,239,239,,,,324,324,324,239,324,239,239,239',
'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,324,324,,324,324,324,324,,,,,324,324',
',,,601,601,601,324,601,324,324,324,601,601,,,,601,,601,601,601,601,601',
'601,601,,,,,,601,601,601,601,601,601,601,,,601,,,,,,,601,,,601,601,601',
'601,601,601,601,601,,601,601,601,,601,601,601,601,601,,,,,,,,,,,,,,',
',,,,,601,,,601,,,601,601,,,601,,,,,,601,,,,,,,,,601,,,,,601,601,601',
'601,,601,601,601,601,,,,,601,601,,,,600,600,600,601,600,601,601,601',
'600,600,,,,600,,600,600,600,600,600,600,600,,,,,,600,600,600,600,600',
'600,600,,,600,,,,,,,600,,,600,600,600,600,600,600,600,600,,600,600,600',
',600,600,600,600,600,,,,,,,,,,,,,,,,,,,,600,,,600,,,600,600,,,600,,',
',,,600,,,,,,,,,600,,,,,600,600,600,600,,600,600,600,600,,,,,600,600',
',,,597,597,597,600,597,600,600,600,597,597,,,,597,,597,597,597,597,597',
'597,597,,,,,,597,597,597,597,597,597,597,,,597,,,,,,,597,,,597,597,597',
'597,597,597,597,597,,597,597,597,,597,597,597,597,597,,,,,,,,,,,,,,',
',,,,,597,,,597,,,597,597,,,597,,,,,,597,,,,,,,,,597,,,,,597,597,597',
'597,,597,597,597,597,,,,,597,597,,,,596,596,596,597,596,597,597,597',
'596,596,,,,596,,596,596,596,596,596,596,596,,,,,,596,596,596,596,596',
'596,596,,,596,,,,,,,596,,,596,596,596,596,596,596,596,596,,596,596,596',
',596,596,596,596,596,,,,,,,,,,,,,,,,,,,,596,,,596,,,596,596,,,596,,',
',,,596,,,,,,,,,596,,,,,596,596,596,596,,596,596,596,596,,,,,596,596',
',,,217,217,217,596,217,596,596,596,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,,,592,592,592,217,592,217,217,217',
'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,,,,590,590,590,591,590,591,591,591',
'590,590,,,,590,,590,590,590,590,590,590,590,,,,,,590,590,590,590,590',
'590,590,,,590,,,,,,,590,,,590,590,590,590,590,590,590,590,590,590,590',
'590,,590,590,590,590,590,,,,,,,,,,,,,,,,,,,,590,,,590,,,590,590,,,590',
',,,590,,590,,,590,,,,,,590,,,,,590,590,590,590,,590,590,590,590,,,,',
'590,590,,,,589,589,589,590,589,590,590,590,589,589,,,,589,,589,589,589',
'589,589,589,589,,,,,,589,589,589,589,589,589,589,,,589,,,,,,,589,,,589',
'589,589,589,589,589,589,589,589,589,589,589,,589,589,589,589,589,,,',
',,,,,,,,,,,,,,,,589,,,589,,,589,589,,,589,,589,,589,,589,,,589,,,,,',
'589,,,,,589,589,589,589,,589,589,589,589,,,,,589,589,,,,216,216,216',
'589,216,589,589,589,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,,,,586,586,586,216,586,216,216,216,586,586,,,,586,,586',
'586,586,586,586,586,586,,,,,,586,586,586,586,586,586,586,,,586,,,,,',
',586,,,586,586,586,586,586,586,586,586,,586,586,586,,586,586,586,586',
'586,,,,,,,,,,,,,,,,,,,,586,,,586,,,586,586,,,586,,,,,,586,,,,,,,,,586',
',,,,586,586,586,586,,586,586,586,586,,,,,586,586,,,,585,585,585,586',
'585,586,586,586,585,585,,,,585,,585,585,585,585,585,585,585,,,,,,585',
'585,585,585,585,585,585,,,585,,,,,,,585,,,585,585,585,585,585,585,585',
'585,,585,585,585,,585,585,585,585,585,,,,,,,,,,,,,,,,,,,,585,,,585,',
',585,585,,,585,,585,,,,585,,,,,,,,,585,,,,,585,585,585,585,,585,585',
'585,585,,,,,585,585,,,,215,215,215,585,215,585,585,585,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,,,,214,214,214',
'215,214,215,215,215,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,,,,213,213,213,214,213,214,214,214,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,,,,42,42,42,213',
'42,213,213,213,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,,,,969,969,969,43,969,43,43,43,969,969,,,,969,,969,969,969,969',
'969,969,969,,,,,,969,969,969,969,969,969,969,,,969,,,,,,,969,,,969,969',
'969,969,969,969,969,969,969,969,969,969,,969,969,969,969,969,,,,,,,',
',,,,,,,,,,,,969,,,969,,,969,969,,,969,,969,,969,,969,,,969,,,,,,969',
',,,,969,969,969,969,,969,969,969,969,,,,,969,969,,,,212,212,212,969',
'212,969,969,969,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,,,,44,44,44,212,44,212,212,212,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,,,,338',
'338,338,44,338,44,44,44,338,338,,,,338,,338,338,338,338,338,338,338',
',,,,,338,338,338,338,338,338,338,,,338,,,,,,,338,,,338,338,338,338,338',
'338,338,338,,338,338,338,,338,338,338,338,338,,,,,,,,,,,,,,,,,,,,338',
',,338,,,338,338,,,338,,,,,,338,,,,,,,,,338,,,,,338,338,338,338,,338',
'338,338,338,,,,,338,338,,,,339,339,339,338,339,338,338,338,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,,,,551',
'551,551,339,551,339,339,339,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,,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,,,,541,541,541,551,541,551',
'551,551,541,541,,,,541,,541,541,541,541,541,541,541,,,,,,541,541,541',
'541,541,541,541,,,541,,,,,,,541,,,541,541,541,541,541,541,541,541,541',
'541,541,541,,541,541,541,541,541,,,,,,,,,,,,,,,,,,,,541,,,541,,,541',
'541,,,541,,541,,541,,541,,,541,,,,,,541,,,,,541,541,541,541,,541,541',
'541,541,,,,,541,541,,,,540,540,540,541,540,541,541,541,540,540,,,,540',
',540,540,540,540,540,540,540,,,,,,540,540,540,540,540,540,540,,,540',
',,,,,,540,,,540,540,540,540,540,540,540,540,,540,540,540,,540,540,540',
'540,540,,,,,,,,,,,,,,,,,,,,540,,,540,,,540,540,,,540,,540,,,,540,,,',
',,,,,540,,,,,540,540,540,540,,540,540,540,540,,,,,540,540,,,,209,209',
'209,540,209,540,540,540,209,209,,,,209,,209,209,209,209,209,209,209',
',,,,,209,209,209,209,209,209,209,,,209,,,,,,,209,,,209,209,209,209,209',
'209,209,209,209,209,209,209,,209,209,209,209,209,,,,,,,,,,,,,,,,,,,',
'209,,,209,,,209,209,,,209,,209,,209,,209,,,209,,,,,,209,,,,,209,209',
'209,209,,209,209,209,209,,,,,209,209,,,,208,208,208,209,208,209,209',
'209,208,208,,,,208,,208,208,208,208,208,208,208,,,,,,208,208,208,208',
'208,208,208,,,208,,,,,,,208,,,208,208,208,208,208,208,208,208,,208,208',
'208,,208,208,208,208,208,,,,,,,,,,,,,,,,,,,,208,,,208,,,208,208,,,208',
',,,,,208,,,,,,,,,208,,,,,208,208,208,208,,208,208,208,208,,,,,208,208',
',,,526,526,526,208,526,208,208,208,526,526,,,,526,,526,526,526,526,526',
'526,526,,,,,,526,526,526,526,526,526,526,,,526,,,,,,,526,,,526,526,526',
'526,526,526,526,526,526,526,526,526,,526,526,526,526,526,,,,,,,,,,,',
',,,,,,,,526,,,526,,,526,526,,,526,,,,,,526,,,526,,,,,,526,,,,,526,526',
'526,526,,526,526,526,526,,,,,526,526,,,,523,523,523,526,523,526,526',
'526,523,523,,,,523,,523,523,523,523,523,523,523,,,,,,523,523,523,523',
'523,523,523,,,523,,,,,,,523,,,523,523,523,523,523,523,523,523,523,523',
'523,523,,523,523,523,523,523,,,,,,,,,,,,,,,,,,,,523,,,523,,,523,523',
',,523,,523,,,,523,,,523,,,,,,523,,,,,523,523,523,523,,523,523,523,523',
',,,,523,523,,,,207,207,207,523,207,523,523,523,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,,,,358,358,358,207',
'358,207,207,207,358,358,,,,358,,358,358,358,358,358,358,358,,,,,,358',
'358,358,358,358,358,358,,,358,,,,,,,358,,,358,358,358,358,358,358,358',
'358,,358,358,358,,358,358,358,358,358,,,,,,,,,,,,,,,,,,,,358,,,358,',
',358,358,,,358,,,,,,358,,,,,,,,,358,,,,,358,358,358,358,,358,358,358',
'358,,,,,358,358,,,,517,517,517,358,517,358,358,358,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,517,517,517',
'517,,,,,,,,,,,,,,,,,,,,517,,,517,,,517,517,,,517,,,,,,517,,,,,,,,,517',
',,,,517,517,517,517,,517,517,517,517,,,,,517,517,,,,513,513,513,517',
'513,517,517,517,513,513,,,,513,,513,513,513,513,513,513,513,,,,,,513',
'513,513,513,513,513,513,,,513,,,,,,,513,,,513,513,513,513,513,513,513',
'513,,513,513,513,,513,513,513,513,513,,,,,,,,,,,,,,,,,,,,513,,,513,',
',513,513,,,513,,,,,,513,,,,,,,,,513,,,,,513,513,513,513,,513,513,513',
'513,,,,,513,513,,,,512,512,512,513,512,513,513,513,512,512,,,,512,,512',
'512,512,512,512,512,512,,,,,,512,512,512,512,512,512,512,,,512,,,,,',
',512,,,512,512,512,512,512,512,512,512,,512,512,512,,512,512,512,512',
'512,,,,,,,,,,,,,,,,,,,,512,,,512,,,512,512,,,512,,,,,,512,,,,,,,,,512',
',,,,512,512,512,512,,512,512,512,512,,,,,512,512,,,,509,509,509,512',
'509,512,512,512,509,509,,,,509,,509,509,509,509,509,509,509,,,,,,509',
'509,509,509,509,509,509,,,509,,,,,,,509,,,509,509,509,509,509,509,509',
'509,,509,509,509,,509,509,,,509,,,,,,,,,,,,,,,,,,,,509,,,509,,,509,509',
',,509,,,,,,,,,,,,,,,,,,,,509,509,509,509,,509,509,509,509,,,,,509,509',
',,,503,503,503,509,503,509,509,509,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,,,503,503,,,503,,503,,503,,503,,,503,,,,,,503,,,,',
'503,503,503,503,,503,503,503,503,,,,,503,503,,,,,,,503,,503,503,503',
'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,,,,501,501,501,120,501,120,120,120',
'501,501,,,,501,,501,501,501,501,501,501,501,,,,,,501,501,501,501,501',
'501,501,,,501,,,,,,,501,,,501,501,501,501,501,501,501,501,,501,501,501',
',501,501,,,501,,,,,,,,,,,,,,,,,,,,501,,,501,,,501,501,,,501,,,,,,,,',
',,,,,,,,,,,501,501,501,501,,501,501,501,501,,,,,501,501,,,,119,119,119',
'501,119,501,501,501,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,,,,118,118,118,119,118,119,119,119,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,,,,374,374,374,118',
'374,118,118,118,374,374,,,,374,,374,374,374,374,374,374,374,,,,,,374',
'374,374,374,374,374,374,,,374,,,,,,,374,,,374,374,374,374,374,374,374',
'374,,374,374,374,,374,374,374,374,374,,,,,,,,,,,,,,,,,,,,374,,,374,',
',374,374,,,374,,,,,,374,,,,,,,,,374,,,,,374,374,374,374,,374,374,374',
'374,,,,,374,374,,,,248,248,248,374,248,374,374,374,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,,,,705,705,705,248',
'705,248,248,248,705,705,,,,705,,705,705,705,705,705,705,705,,,,,,705',
'705,705,705,705,705,705,,,705,,,,,,,705,,,705,705,705,705,705,705,705',
'705,,705,705,705,,705,705,705,705,705,,,,,,,,,,,,,,,,,,,,705,,,705,',
',705,705,,,705,,,,,,705,,,,,,,,,705,,,,,705,705,705,705,,705,705,705',
'705,,,,,705,705,,,,249,249,249,705,249,705,705,705,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,,,,117,117,117,249',
'117,249,249,249,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,,,,699,699,699,117,699,117,117,117,699,699,,,,699,,699',
'699,699,699,699,699,699,,,,,,699,699,699,699,699,699,699,,,699,,,,,',
',699,,,699,699,699,699,699,699,699,699,,699,699,699,,699,699,699,699',
'699,,,,,,,,,,,,,,,,,,,,699,,,699,,,699,699,,,699,,,,,,699,,,,,,,,,699',
',,,,699,699,699,699,,699,699,699,699,,,,,699,699,,,,59,59,59,699,59',
'699,699,699,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,,,,402,402,402,60,402,60,60,60,402,402,,,,402,,402,402',
'402,402,402,402,402,,,,,,402,402,402,402,402,402,402,,,402,,,,,,,402',
',,402,402,402,402,402,402,402,402,,402,402,402,,402,402,402,402,402',
',,,,,,,,,,,,,,,,,,,402,,,402,,,402,402,,,402,,,,,,402,,,,,,,,,402,,',
',,402,402,402,402,,402,402,402,402,,,,,402,402,,,,63,63,63,402,63,402',
'402,402,63,63,,,,63,,63,63,63,63,63,63,63,,,,,,63,63,63,63,63,63,63',
',,63,,,,,,,63,,,63,63,63,63,63,63,63,63,,63,63,63,,63,63,63,63,63,,',
',,,,,,,,,,,,,,,,,63,,,63,,,63,63,,,63,,,,,,63,,,,,,,,,63,,,,,63,63,63',
'63,,63,63,63,63,,,,,63,63,,,,64,64,64,63,64,63,63,63,64,64,,,,64,,64',
'64,64,64,64,64,64,,,,,,64,64,64,64,64,64,64,,,64,,,,,,,64,,,64,64,64',
'64,64,64,64,64,,64,64,64,,64,64,64,64,64,,,,,,,,,,,,,,,,,,,,64,,,64',
',,64,64,,,64,,,,,,64,,,,,,,,,64,,,,,64,64,64,64,,64,64,64,64,,,,,64',
'64,,,,67,67,67,64,67,64,64,64,67,67,,,,67,,67,67,67,67,67,67,67,,,,',
',67,67,67,67,67,67,67,,,67,,,,,,,67,,,67,67,67,67,67,67,67,67,,67,67',
'67,,67,67,67,67,67,,,,,,,,,,,,,,,,,,,,67,,,67,,,67,67,,,67,,,,,,67,',
',,,,,,,67,,,,,67,67,67,67,,67,67,67,67,,,,,67,67,67,,,,,67,67,,67,67',
'67,68,68,68,,68,,,,68,68,,,,68,,68,68,68,68,68,68,68,,,,,,68,68,68,68',
'68,68,68,,,68,,,,,,,68,,,68,68,68,68,68,68,68,68,,68,68,68,,68,68,,',
'68,,,,,,,,,,,,,,,,,,,,68,,,68,,,68,68,,,68,,68,959,,959,959,959,959',
'959,,,,,,,,,959,,68,68,68,68,,68,68,68,68,,,,,68,68,,,,,,959,68,,68',
'68,68,493,493,493,493,493,959,959,,493,493,959,,,493,,493,493,493,493',
'493,493,493,,,,,,493,493,493,493,493,493,493,,,493,,,,,,493,493,493',
'493,493,493,493,493,493,493,493,493,,493,493,493,,493,493,493,493,493',
',,,,,,,,,,,,,,,,,,,493,,,493,,,493,493,,,493,,493,,,,493,,,,,,,,,493',
',,,,493,493,493,493,,493,493,493,493,,,,,493,493,,,,,,493,493,,493,493',
'493,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,69,69,,,,,69,69,,,,488,488,488,69,488,69,69,69,488,488',
',,,488,,488,488,488,488,488,488,488,,,,,,488,488,488,488,488,488,488',
',,488,,,,,,,488,,,488,488,488,488,488,488,488,488,,488,488,488,,488',
'488,488,488,488,,,,,,,,,,,,,,,,,,,,488,,,488,,,488,488,,,488,,,,,,488',
',,,,,,,,488,,,,,488,488,488,488,,488,488,488,488,,,,,488,488,,,,70,70',
'70,488,70,488,488,488,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,,,,486,486,486,70,486,70,70,70,486,486',
',,,486,,486,486,486,486,486,486,486,,,,,,486,486,486,486,486,486,486',
',,486,,,,,,,486,,,486,486,486,486,486,486,486,486,486,486,486,486,,486',
'486,486,486,486,,,,,,,,,,,,,,,,,,,,486,,,486,,,486,486,,,486,,,,486',
',486,,,486,,,,,,486,,,,,486,486,486,486,,486,486,486,486,,,,,486,486',
',,,484,484,484,486,484,486,486,486,484,484,,,,484,,484,484,484,484,484',
'484,484,,,,,,484,484,484,484,484,484,484,,,484,,,,,,,484,,,484,484,484',
'484,484,484,484,484,484,484,484,484,,484,484,484,484,484,,,,,,,,,,,',
',,,,,,,,484,,,484,,,484,484,,,484,,484,,484,,484,,,484,,,,,,484,,,,',
'484,484,484,484,,484,484,484,484,,,,,484,484,,,,116,116,116,484,116',
'484,484,484,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,,,,314,314,314,116,314,116,116,116,314,314,,,,314,,314,314',
'314,314,314,314,314,,,,,,314,314,314,314,314,314,314,,,314,,,,,,,314',
',,314,314,314,314,314,314,314,314,,314,314,314,,314,314,,,314,,,,,,',
',,,,,,,,,,,,,314,,,314,,,314,314,,,314,,,,,,,,,,,,,,,,,,,,314,314,314',
'314,,314,314,314,314,,,,,314,314,,,,322,322,322,314,322,314,314,314',
'322,322,,,,322,,322,322,322,322,322,322,322,,,,,,322,322,322,322,322',
'322,322,,,322,,,,,,,322,,,322,322,322,322,322,322,322,322,,322,322,322',
',322,322,322,322,322,,,,,,,,,,,,,,,,,,,,322,,,322,322,,322,322,,,322',
',,,,,322,,,,,,,,,322,,,,,322,322,322,322,,322,322,322,322,,,,,322,322',
',,,,422,,322,,322,322,322,422,422,422,,,422,422,422,,422,,,,,,,,,422',
'422,422,422,,,,,,,,422,422,,422,422,422,422,422,,,,,,,,,,,,,,,,,,,,',
',,422,422,422,422,422,422,422,422,422,422,422,422,422,422,,,422,422',
'422,,,422,,,422,,,422,422,,422,,422,,422,,422,422,,422,422,422,422,422',
',422,422,422,,,,,,,,,,,,,,422,,,422,422,422,422,423,422,,422,,,,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,,,,,,,,,,,,,,423,,,423',
'423,423,423,56,423,,423,,,,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,961,,961,961,961,961,961,,,,,,,56,,961,56',
'56,56,56,413,56,,56,,,,413,413,413,,,413,413,413,,413,961,,,,,,,,413',
'413,413,961,961,,,,961,,,413,413,,413,413,413,413,413,,,,,,,,,,,,,,',
',,,,,,,,413,413,413,413,413,413,413,413,413,413,413,413,413,413,,,413',
'413,413,,,413,,413,413,,,413,413,,413,,413,,413,,413,413,,413,413,413',
'413,413,,413,413,413,,,,,,,,,,,,,,413,,27,413,413,,413,,413,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,27,27,27,,27,27,27,,,',
',,,,,,,,,,27,,472,27,27,,27,,27,472,472,472,,,472,472,472,612,472,612',
'612,612,612,612,,,,472,472,,,,612,,,,,,472,472,,472,472,472,472,472',
',,,,,,,,612,,,,,,,,,612,612,612,612,,,,612,,,,,,,,,472,,28,,,,,472,',
'28,28,28,472,472,28,28,28,612,28,,,,,,,,,,28,28,,,,,,472,472,,28,28',
',28,28,28,28,28,,,,,472,,,472,,,,,472,,,,,,,,,,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,393,393,393',
'393,393,393,393,393,393,393,393,393,393,393,393,393,393,393,393,393',
'393,393,393,393,,,,393,393,393,393,393,393,393,393,393,393,,,,,,393',
'393,393,393,393,393,393,393,393,,,393,,,,,,,,393,393,,393,393,393,393',
'393,393,393,,,393,393,,,,393,393,393,393,,,,,,,,,,,,,,393,393,,393,393',
'393,393,393,393,393,393,393,393,393,393,,,393,393,,,,,,,,,,,,,,393,9',
'9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,,,,9,9,9,9,9,9,9,9,9,9',
',,,,,9,9,9,9,9,9,9,9,9,,,9,,,,,,,,9,9,,9,9,9,9,9,9,9,,,9,9,,,,9,9,9',
'9,,,,,,,,,,,,,,9,9,,9,9,9,9,9,9,9,9,9,9,9,9,,,9,9,,,,,,,,,,,,,,9,582',
'582,582,582,582,582,582,582,582,582,582,582,582,582,582,582,582,582',
'582,582,582,582,582,582,,,,582,582,582,582,582,582,582,582,582,582,',
',,,,582,582,582,582,582,582,582,582,582,,,582,,,,,,,,582,582,,582,582',
'582,582,582,582,582,,,582,582,,,,582,582,582,582,,,,,,,,,,,,,,582,582',
',582,582,582,582,582,582,582,582,582,582,582,582,,,582,582,,,,,,,,,',
',,,,582,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,,,,8,8,8,8,8',
'8,8,8,8,8,,,,,,8,8,8,8,8,8,8,8,8,8,,8,,,,,,,,8,8,,8,8,8,8,8,8,8,,,8',
'8,,,,8,8,8,8,,,,,,,,,,,,,,8,8,,8,8,8,8,8,8,8,8,8,8,8,8,,,8,8,,,,,,,',
',,,,,,8,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71',
'71,71,71,71,,,,71,71,71,71,71,71,71,71,71,71,,,,,,71,71,71,71,71,71',
'71,71,71,71,71,71,,71,,,,,,71,71,,71,71,71,71,71,71,71,,,71,71,,,,71',
'71,71,71,,,,,,71,,,,,,,,71,71,,71,71,71,71,71,71,71,71,71,71,71,71,',
',71,712,712,712,712,712,712,712,712,712,712,712,712,712,712,712,712',
'712,712,712,712,712,712,712,712,,,,712,712,712,712,712,712,712,712,712',
'712,,,,,,712,712,712,712,712,712,712,712,712,,,712,,,,,,,,712,712,,712',
'712,712,712,712,712,712,,,712,712,,,,712,712,712,712,,,,,,,,,,,,,,712',
'712,,712,712,712,712,712,712,712,712,712,712,712,712,542,542,712,,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,259,259,542,,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,439,439,259,,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,438,438,439,,438',
',,,,,,,438,438,,438,438,438,438,438,438,438,,,438,438,,,,438,438,438',
'438,,,,,,438,,,,,,,,438,438,,438,438,438,438,438,438,438,438,438,438',
'438,438,504,504,438,,504,,,,,,,,504,504,,504,504,504,504,504,504,504',
',,504,504,,,,504,504,504,504,,,,,,504,,,,,,,,504,504,,504,504,504,504',
'504,504,504,504,504,504,504,504,505,505,504,,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,916,916,505',
',916,,,,,,,,916,916,,916,916,916,916,916,916,916,,,916,916,,,,916,916',
'916,916,,,,,,916,,,,,,,,916,916,,916,916,916,916,916,916,916,916,916',
'916,916,916,514,514,916,,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,515,515,514,,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,970,970',
'515,,970,,,,,,,,970,970,,970,970,970,970,970,970,970,,,970,970,,,,970',
'970,970,970,,,,,,970,,,,,,,,970,970,,970,970,970,970,970,970,970,970',
'970,970,970,970,971,971,970,,971,,,,,,,,971,971,,971,971,971,971,971',
'971,971,,,971,971,,,,971,971,971,971,,,,,,971,,,,,,,,971,971,,971,971',
'971,971,971,971,971,971,971,971,971,971,211,211,971,,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,550',
'550,211,,550,,,,,,,,550,550,,550,550,550,550,550,550,550,,,550,550,',
',,550,550,550,550,,,,,,550,,,,,,,,550,550,,550,550,550,550,550,550,550',
'550,550,550,550,550,549,549,550,,549,,,,,,,,549,549,,549,549,549,549',
'549,549,549,,,549,549,,,,549,549,549,549,,,,,,549,,,,,,,,549,549,,549',
'549,549,549,549,549,549,549,549,549,549,549,543,543,549,,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',
'210,210,543,,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,,794,210,794,794,794,794,794,,792,,792,792,792',
'792,792,794,,,,,,,,792,,839,,839,839,839,839,839,,,,,,794,,,839,,,,',
'792,794,794,794,794,,,,794,792,792,792,792,,,,792,839,,841,,841,841',
'841,841,841,839,839,839,839,,,,839,841,,1009,,1009,1009,1009,1009,1009',
',931,,931,931,931,931,931,1009,,,,,841,,,931,,,,,,841,841,841,841,,',
',841,1009,,,,,,,,931,,,1009,1009,,,,1009,931,931,931,931,,,933,931,933',
'933,933,933,933,935,,935,935,935,935,935,937,933,937,937,937,937,937',
'999,935,999,999,999,999,999,,937,,,,,,,999,933,,,,,,,935,,,,933,933',
',937,,933,,935,935,,999,,935,,937,937,,,,937,,999,999,,,531,999,531',
'531,531,531,531,,710,,710,710,710,710,710,531,,,,,,,,710,,955,,955,955',
'955,955,955,,,,,,531,531,,955,,,,,710,531,531,531,531,,,,531,710,710',
'710,710,,,,710,955,,796,,796,796,796,796,796,955,955,955,955,,,,955',
'796,,653,,653,653,653,653,653,,711,,711,711,711,711,711,653,,,,,796',
',,711,,,,,,,,796,796,,,,796,653,,,,,,,,711,653,653,653,653,,,,653,711',
'711,711,711,,,,711' ]
        racc_action_check = arr = ::Array.new(24863, 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 = [
  1585,    80,   nil,   336,   nil,  8506,  1445,    63, 23176, 22920,
    83,   nil,    64,   140,  1308,   416,   101,   716,   nil,   -71,
  7581,  2705,   225,   nil,   479,   nil,   275, 22450, 22658,  6132,
  6394,  6525,   nil,  3125,  8236,  8367,   nil,   172,   168,   386,
   262,   250, 15727, 15858, 16251,   191,   677,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil, 22187,   nil,   -73, 19796,
 19927,   123,   nil, 20189, 20320,   nil,   nil, 20451, 20590, 20868,
 21130, 23304,   nil,   nil,   nil,   nil,   nil,   456,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   604,   nil,   nil,   332,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   337,
   nil,  9300,   nil,   nil,   nil,   nil, 21523, 19534, 18879, 18748,
 18486,  1445,   nil,   439,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   258,   nil,  2705, 17561, 17168, 17037,
 24393, 24149, 16120, 15596, 15465, 15334, 14941, 14286,   nil,   nil,
   927,   138,   -56,   372,   -85,   295,   362,   nil,  7974,  2845,
   365,  7311,  7180,  6918,  6263,  5608,  5338,  5207,   604, 13500,
 13369, 13238, 12452, 12321, 11666, 11535, 10618,  9963, 19141, 19403,
  9439,  9832, 10880, 11011, 11142, 11273, 11404,   nil,   nil, 23539,
   nil,   nil,   378, 11797, 11928,   nil,   nil,   nil,   nil,   nil,
   nil,   nil, 12190,   nil,  2845,   nil,   353,   373,   nil, 12583,
   425, 12714,   nil, 12845, 12976,   nil,   nil,   573,   nil,  5477,
  1570,   414,   387,  4805,   400,   442,   426,  7442,  2145,  1237,
  1207,  1168,   532,  1097,   nil,   504,   499,   166,   nil,   nil,
   nil,   561,   223,   527, 21654,   nil,   337,   598,  1067,   nil,
   627,   nil, 21785,  2285, 13631,   571,   nil,    81,   -98,   622,
   605,   518,   636,   nil,   nil,    -3,   -10,    32, 16382, 16513,
   219,   714,   603,    64,    65,   745,   704,   -12,   745,   nil,
   nil,   367,   340,   213,   nil,   787,   nil,     9, 17692,   nil,
   nil,   nil,   369,   -53,   181,   -24,   -30,   309,   508,   506,
   505,   nil,   365,   nil, 19010,   nil,   149,   210,   259,   270,
   390,   -39,   -34,   397,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   658, 22792,   nil,   nil,   nil,   nil,   659,   nil,
   nil,   640, 20058,   651,   nil,   nil,   885,   671,   nil,   672,
   693,   280,   -83, 22321,   nil,   nil,   nil,   110,     0,   742,
   nil,   nil, 21919, 22053,   nil,  1445,   nil,   693,   nil,   nil,
   745,   nil,   nil,   nil,   nil,   213,   nil,   745, 23661, 23600,
  8768,   136,  8899,  9030,  9161,  4105,  3965,  3136,  3241,   773,
   778,   791,   792,  5207,  5338,  5477,  4245,  4525,  4665,  3405,
  3265,  5076,  4945,  4805,  4385,  3825,  3235,  3293,  3545,  3685,
  2425,   338, 22579,   nil,   nil,   nil,   nil,   739,   nil,   268,
   346,   740,   nil,   nil, 21392,   nil, 21261,   nil, 20999,   nil,
   nil,   nil,   nil, 20729,  1430,   745,   742,   742,   nil,   nil,
   744, 18617,   749, 18347, 23722, 23783,  1028,   793,   nil, 18216,
   765,   nil, 18085, 17954, 23905, 23966,  2565, 17823,   892,   900,
   648,   821,   nil, 17430,   nil,   nil, 17299,   nil,   nil,   nil,
   nil, 24669,  2005,   900,   nil,  3825,    29,    71,   897,   912,
 16906, 16775, 23478, 24332,    57,   nil,   nil,   440,   nil, 24271,
 24210, 16644,   nil,   nil,   nil,   109,   -31,  4945,   833,   nil,
   194,   nil,   nil,   nil,   728,   nil,   nil,   nil,   805,   nil,
   nil,   142,   nil,   147,   nil,   nil,   791,   nil,   792,   nil,
   nil,   nil, 23048,   nil,   794, 15203, 15072,   445,   847, 14810,
 14679, 14548, 14417,   849,   nil,   nil, 14155, 14024,   870,   nil,
 13893, 13762,   nil,   nil,   197,   167,   468,   220,   841,  1025,
   843,   nil, 22543,   nil,  2565,   952,   -21,   206,   nil,  3685,
  4245,   nil,   856,   nil,   910,  8637,   nil,   nil,   nil,   885,
  -118,  8105,   866,   nil,   879,    25,    24,   921,   436,  1445,
   923,   882,  7049,  1165,   953,    -8,  1018,  6001,   nil,   903,
   nil,   237,   nil, 24750,   nil,   904,   905,   nil,   906,   916,
   918,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   911,  3205,
   nil,   nil, 13107,   nil,   nil,   nil,  1002,   nil,   nil,   nil,
  1010,   nil,   nil,  1011,    51,   nil,  1050,   nil,   nil,   nil,
   nil,  1056,   nil,    -1,   936,    39,     3,   136,   149, 19665,
   476,  1165,   nil,   937,  1165, 19272,   nil,   nil,  1072,  1025,
 24677, 24758, 23417,   nil,   nil,   nil,   nil,   nil,   nil,  1725,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   952,  9570,  1585,
  9701,   nil,   973,   nil,  1725,   nil,  1865,   nil,   nil,  2005,
   nil,  2145,   nil,  2285, 10094, 10225, 10356, 10487,   -40, 10749,
   978,   982,   nil,   986,   991,   996,   nil,  1028,  1008,  1004,
  1008, 12059,   nil,   nil,  1141,   nil,   nil,  1305,  1039,  1146,
   nil,   nil,   nil,  1024,   406,   nil,   nil,  1150,   nil,  2985,
  1026,  1075,   nil,   nil,  1082,   nil,    34,  1043,   793,   nil,
   nil,   658, 24463,   nil, 24455,   nil, 24733,   nil,  5076,   nil,
  3111,   nil,  1044,   325,  1048,   nil,   nil,   nil,   nil,  1170,
   nil,  5739,  1180,  3405,  3545,   nil,  5870,  3965,    37,    69,
   nil,  1182,   467,  4665,   nil,  1183,  1063,   461,   nil,  1074,
  1074,   nil,  1305,  6656,  6787,  2985,   918,   nil,   nil, 24480,
   nil, 24519,   nil,  7489,   nil,   nil,  1112,  1151,  7712,  1305,
  1170,   nil,  1133,   nil,   nil,   nil,  2425,   nil,   nil,     7,
  7843,   nil,   nil,   nil,   nil,   nil,  1161,  1122,   nil,   nil,
   nil,  1126,  1131,   nil,  1136,  1144,   nil,  1145,   nil,   nil,
  1149,  3140,  1156,  3485,   nil,   nil,    10,   nil,  1281,  1283,
   nil,    80,   nil,   nil,   nil,  1286,   nil,   nil,   nil,  1208,
   nil,  1165,   nil,   nil,  1166,  1169,  1179,  1180,   nil,  1184,
   nil,   370,   nil,   nil,   nil,   304, 23844,   nil,   nil,   nil,
   885,   957,   888,   885,  1263,   817,   nil,  4525,  4385,   nil,
   nil, 24544,   nil, 24596,   nil, 24603,   nil, 24610,   nil,   nil,
   nil,   nil,   434,  3531,  1186,  4105,   nil,   nil,   nil,   nil,
   nil,  3265,   nil,  1865,   nil, 24694,   nil,  8414,   nil, 20637,
   nil, 22250,   nil,   nil,   nil,  1291,  1240,  1242,  1325, 15989,
 24027, 24088,   748,  1220,  1332,  1214,  1228,  1232,  1253,  1258,
  3421,  1261,  3391,   715,  1386,  1390,  1271,  1276,  1284,  1285,
   nil,   nil,  1289,    26,    33,    39,  1025,   nil,   nil, 24617,
   nil,   nil,   nil,   nil,  3429,  1291,   nil,   nil,   nil, 24536,
   nil,   nil,   nil,   nil,     8,  1296,  1297,   -81,   nil,   nil ]

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

clist = [
'216,371,326,14,258,413,419,2,14,436,519,219,485,646,333,275,275,275',
'262,269,271,429,259,220,407,809,322,127,127,276,276,276,220,220,220',
'709,14,301,301,404,310,310,130,130,6,426,623,587,623,6,122,205,114,313',
'472,761,336,337,510,327,340,132,132,539,482,295,220,220,266,270,220',
'345,355,355,310,310,310,626,477,110,296,111,476,532,535,754,497,317',
'687,690,127,522,525,548,294,529,757,804,789,790,876,777,292,944,277',
'277,277,914,912,387,388,389,390,941,14,908,114,626,654,220,220,220,220',
'14,14,661,571,573,392,273,285,286,379,873,328,331,855,115,628,614,204',
'812,377,341,350,485,400,619,620,383,393,623,623,357,361,6,617,582,755',
'329,616,373,330,981,391,6,530,348,552,372,323,324,649,325,334,338,813',
'339,814,699,873,626,951,704,823,557,562,558,569,572,572,712,899,837',
'838,275,756,758,399,405,1005,911,652,424,428,863,531,403,786,14,220',
'220,220,403,941,220,220,220,220,220,220,927,928,471,1016,914,990,602',
'880,908,423,479,14,413,419,480,948,876,398,781,787,859,846,385,708,632',
'375,661,748,275,275,376,414,641,378,608,1,380,275,381,691,295,382,714',
'276,719,220,220,705,618,871,866,276,621,774,220,868,902,873,761,,,761',
',761,767,761,507,630,702,,,14,,633,,14,826,827,637,301,14,873,310,661',
'661,521,,,637,930,,904,,,500,,301,634,,310,,,,1006,295,14,220,,,295',
'536,537,494,818,,114,637,872,277,874,220,220,820,954,637,949,277,,266',
',,713,270,496,,694,770,508,502,511,220,292,492,478,493,703,292,,,559',
'892,481,,,773,953,220,335,335,,722,335,722,,905,,906,588,114,,821,,',
',623,825,,761,,761,,761,,761,593,553,,429,,,598,127,737,,785,538,,742',
',,,,,626,,275,130,,,,335,335,335,335,581,,776,,,817,,,220,,,132,,,,',
'610,761,,26,594,,,423,26,,599,,991,615,,,770,,,,,,,26,,,975,,782,414',
',,26,26,26,,26,,275,,,,,,,14,,14,,,986,629,,301,,220,310,39,,895,,301',
'39,594,310,,26,26,,220,26,,,423,,,275,,432,433,434,435,,423,14,,275',
'14,6,693,39,300,300,220,,414,511,,,,,,,220,511,414,,,622,14,,423,,684',
'26,,686,423,766,26,26,26,26,26,26,344,360,360,360,,,733,735,414,688',
'688,738,740,588,783,428,414,759,220,220,884,765,651,220,220,127,,220',
'706,707,920,,,,,,,950,,588,130,14,897,39,,,14,14,726,,,,39,39,784,,1014',
'945,301,132,,310,,520,985,,828,,,301,764,403,310,,,768,769,335,335,',
',,,,26,26,26,26,732,,26,26,26,26,26,26,940,556,,588,,511,,594,,751,599',
'26,588,,,,775,560,,,819,,,,,,822,,,,220,,,,,14,220,,,,14,,39,,,26,26',
',857,831,14,,861,,26,,,,,127,,220,,,,39,752,759,,,,26,,,,26,,,,829,26',
',,,,,,,,,,,849,637,,310,759,16,14,,,332,16,,,26,26,,,,14,,992,,,,,,',
',26,26,,,,39,,852,,39,16,,886,300,39,,,,,858,26,,220,,14,14,,,14,,300',
',,,14,,26,,,39,645,,,,,349,,,,,,,,888,889,,,891,,915,,,310,,,867,,14',
',,,923,,,310,,688,,,894,,753,,,898,,,,16,,,,,,,,919,16,16,,964,,26,',
',,,,,,,,,901,,,751,,751,15,751,,869,,15,869,,,401,,,14,,,431,,,,14,14',
',,,423,,,,,,,,,15,303,303,26,14,26,,,968,,14,275,14,26,,973,974,,869',
',,752,,752,,752,,26,220,588,,16,,983,,347,356,356,427,984,,,26,,,26',
'423,,487,,489,26,490,491,16,,,39,,39,,26,,,,300,,26,414,,335,,,300,',
',335,,15,,751,,751,,751,,751,15,15,,,793,795,797,,,39,,,39,13,26,26',
',,13,26,26,,,26,875,,877,16,,,,16,,,39,,16,26,,,,,26,26,,,13,751,,,752',
',752,,752,,752,,,,,16,,,,,,,,,,907,,909,,,,,,,,,,,584,,15,,,,,39,,,',
'335,39,39,,,,,,,752,,,,300,15,,,,,,,,,,300,,,26,,13,,,26,26,,,,26,13',
'13,,,,,,,,26,,,,,,,,,,,26,,,,,,,,976,,977,,978,624,,332,15,627,,,15',
',,,303,15,,,39,,,,987,39,988,,989,26,,,,303,,39,,,,,,26,15,668,624,',
',332,,,,,,,,,932,934,13,936,938,431,939,,,840,842,844,1015,,16,,16,26',
',26,26,360,1017,26,,13,,39,,26,,,,,,,,,,39,,,,,,,,,,,727,,,16,624,332',
'16,,,,,,26,,,,,,760,,,,,39,39,,,39,16,,,,,39,,13,,,,13,771,,,,13,,,',
',,,,,,1000,1001,1002,1003,360,668,,,780,,,,39,,,13,922,427,,,,799,26',
',,,,,,26,26,16,,805,,,16,16,,,1018,,,,,,,26,,,,,15,26,15,26,956,958',
'960,962,303,963,668,668,,,,,303,,,26,,,,,39,,,,,,,39,39,,,,,830,,15',
',,15,38,,,,,38,39,,,,,,39,,39,,,,,,,15,,,,,16,,718,,,16,,38,299,299',
',,,,,16,,1010,1011,1012,1013,,,668,,668,,,,,,799,,,882,,,,879,,,,343',
'359,359,359,,,1019,,,,15,,,,890,15,15,,,,,16,13,,13,,,303,760,,760,332',
',16,,,,,303,,,,,38,,,,,,,,,38,38,,,,,,,,13,,,13,,,16,16,,799,16,799',
',,,,16,,,,,,,,,13,,,,,,,,,,,,,,15,,,,,15,,,,,16,,,,926,15,,,,,668,,',
',,,,,,,,979,799,,,,,,38,,,,,13,760,,,,13,13,,,,,,,,356,,,,38,,15,,,',
',,799,,799,,,16,15,,,,,,16,16,,,,,,,,,,,799,,,,,,16,,,,,,16,,16,,15',
'15,,,15,,,,,,15,,38,,,,38,,,,299,38,,,13,,,,,13,,,,,,356,,299,,13,,',
',15,,,38,925,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,13,,,,,,,,,,,,13',
',,,,,,,15,,,,,,,15,15,,,,,,,,,,,,,,,,,15,13,13,,,13,15,,15,,,13,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,227,,13,,,,,,,274,274,274,,,,,,,,,,,319,320',
'321,,,,,,,,,,,,,,,274,274,,38,,38,,,,,,299,,,,,,,,299,,,,,,,,13,,,,',
',,13,13,,,,,,,38,,,38,,,,,,,13,,,,,,13,,13,,,,,,,38,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,38,,,,,38,38,,,,,,,,,,,299,',
',,,,,274,406,274,,299,425,430,,,,,,,,,,,,,,,227,,,445,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,,,,,,,274,274,,,,,,,,274,38,,,,,38,274,,274,,274,274',
',,,38,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,516,,,,,,,,359,,,,,,38,,,,,,',
',,,,,38,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,38,38,,,38,,,,,,38,,,,,,,,',
',274,,,,,,,,,,,,,,,359,,,,,,,,38,,,,921,,,,,,,,,,,274,,425,609,406,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274,,274,,274,38,,,,,,,38,38,',
',,,,274,,,,,,,,,643,644,38,,,,,,38,,38,274,,,274,,,,,,,,,,,,,,274,274',
',,,,,,,,,274,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274,729,,,274,274,734',
'736,,,,739,741,,,609,743,,,,,,,,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,,,,,',
',,,,,274,,,,,,,,,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,274,,832,,,,,,,,,,,,,,734,736,741,739,,835,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,,,,,,',
'274,,,,,,,,,,,,,,,,,274,832,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,274' ]
        racc_goto_table = arr = ::Array.new(2848, 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,67,22,139,37,37,2,22,47,8,20,73,10,86,33,33,33,38,38,38,18,36',
'22,23,90,31,57,57,68,68,68,22,22,22,96,22,22,22,27,64,64,60,60,7,27',
'74,24,74,7,15,15,95,50,37,170,17,17,51,68,17,61,61,92,47,9,22,22,71',
'71,22,22,22,22,64,64,64,178,23,4,49,6,39,89,89,127,47,63,91,91,57,69',
'69,54,46,69,130,117,122,122,174,11,45,118,70,70,70,133,132,17,17,17',
'17,115,22,175,95,178,138,22,22,22,22,22,22,164,156,156,2,44,44,44,155',
'169,70,70,12,5,14,40,16,11,153,4,19,73,28,40,40,153,30,74,74,55,55,7',
'42,62,128,66,72,84,85,118,7,7,88,93,94,97,98,99,100,101,102,103,104',
'105,106,107,169,178,108,109,110,111,157,112,157,157,157,113,114,122',
'122,33,119,125,20,20,118,131,134,20,20,135,136,68,137,22,22,22,22,68',
'115,22,22,22,22,22,22,140,141,142,118,133,132,47,117,175,57,144,22,37',
'37,145,146,174,9,147,138,148,130,5,8,51,151,164,24,33,33,152,71,51,154',
'23,1,158,33,159,92,9,160,161,68,162,22,22,163,47,168,130,68,47,24,22',
'171,172,169,170,,,170,,170,40,170,31,47,54,,,22,,47,,22,138,138,37,22',
'22,169,64,164,164,31,,,37,122,,127,,,50,,22,23,,64,,,,90,9,22,22,,,9',
'17,17,7,24,,95,37,128,70,128,22,22,24,122,37,11,70,,71,,,47,71,46,,23',
'73,63,46,49,22,45,4,44,6,23,45,,,36,91,44,,,51,96,22,29,29,,157,29,157',
',128,,128,31,95,,8,,,,74,8,,170,,170,,170,,170,38,95,,18,,,38,57,39',
',69,4,,39,,,,,,178,,33,60,,,,29,29,29,29,15,,47,,,89,,,22,,,61,,,,,31',
'170,,41,71,,,57,41,,71,,10,38,,,73,,,,,,,41,,,128,,27,71,,,41,41,41',
',41,,33,,,,,,,22,,22,,,128,2,,22,,22,64,53,,8,,22,53,71,64,,41,41,,22',
'41,,,57,,,33,,29,29,29,29,,57,22,,33,22,7,68,53,53,53,22,,71,49,,,,',
',,22,49,71,,,70,22,,57,,9,41,,9,57,86,41,41,41,41,41,41,53,53,53,53',
',,20,20,71,95,95,20,20,31,67,20,71,31,22,22,47,139,70,22,22,57,,22,95',
'95,89,,,,,,,92,,31,60,22,47,53,,,22,22,15,,,,53,53,31,,24,89,22,61,',
'64,,29,8,,56,,,22,9,68,64,,,9,9,29,29,,,,,,41,41,41,41,70,,41,41,41',
'41,41,41,47,29,,31,,49,,71,,121,71,41,31,,,,49,29,,,17,,,,,,17,,,,22',
',,,,22,22,,,,22,,53,,,41,41,,67,20,22,,67,,41,,,,,57,,22,,,,53,123,31',
',,,41,,,,41,,,,9,41,,,,,,,,,,,,22,37,,64,31,26,22,,,65,26,,,41,41,,',
',22,,23,,,,,,,,41,41,,,,53,,9,,53,26,,17,53,53,,,,,9,41,,22,,22,22,',
',22,,53,,,,22,,41,,,53,29,,,,,26,,,,,,,,9,9,,,9,,22,,,64,,,121,,22,',
',,22,,,64,,95,,,95,,126,,,95,,,,26,,,,,,,,9,26,26,,31,,41,,,,,,,,,,',
'121,,,121,,121,25,121,,123,,25,123,,,65,,,22,,,65,,,,22,22,,,,57,,,',
',,,,,25,25,25,41,22,41,,,9,,22,33,22,41,,9,9,,123,,,123,,123,,123,,41',
'22,31,,26,,9,,25,25,25,26,9,,,41,,,41,57,,65,,65,41,65,65,26,,,53,,53',
',41,,,,53,,41,71,,29,,,53,,,29,,25,,121,,121,,121,,121,25,25,,,167,167',
'167,,,53,,,53,21,41,41,,,21,41,41,,,41,126,,126,26,,,,26,,,53,,26,41',
',,,,41,41,,,21,121,,,123,,123,,123,,123,,,,,26,,,,,,,,,,126,,126,,,',
',,,,,,,65,,25,,,,,53,,,,29,53,53,,,,,,,123,,,,53,25,,,,,,,,,,53,,,41',
',21,,,41,41,,,,41,21,21,,,,,,,,41,,,,,,,,,,,41,,,,,,,,126,,126,,126',
'65,,65,25,65,,,25,,,,25,25,,,53,,,,126,53,126,,126,41,,,,25,,53,,,,',
',41,25,116,65,,,65,,,,,,,,,167,167,21,167,167,65,167,,,124,124,124,126',
',26,,26,41,,41,41,53,126,41,,21,,53,,41,,,,,,,,,,53,,,,,,,,,,,65,,,26',
'65,65,26,,,,,,41,,,,,,116,,,,,53,53,,,53,26,,,,,53,,21,,,,21,65,,,,21',
',,,,,,,,,167,167,167,167,53,116,,,65,,,,53,,,21,53,26,,,,116,41,,,,',
',,41,41,26,,65,,,26,26,,,167,,,,,,,41,,,,,25,41,25,41,124,124,124,124',
'25,124,116,116,,,,,25,,,41,,,,,53,,,,,,,53,53,,,,,65,,25,,,25,52,,,',
',52,53,,,,,,53,,53,,,,,,,25,,,,,26,,25,,,26,,52,52,52,,,,,,26,,124,124',
'124,124,,,116,,116,,,,,,116,,,116,,,,65,,,,52,52,52,52,,,124,,,,25,',
',,65,25,25,,,,,26,21,,21,,,25,116,,116,65,,26,,,,,25,,,,,52,,,,,,,,',
'52,52,,,,,,,,21,,,21,,,26,26,,116,26,116,,,,,26,,,,,,,,,21,,,,,,,,,',
',,,,25,,,,,25,,,,,26,,,,26,25,,,,,116,,,,,,,,,,,116,116,,,,,,52,,,,',
'21,116,,,,21,21,,,,,,,,25,,,,52,,25,,,,,,116,,116,,,26,25,,,,,,26,26',
',,,,,,,,,,116,,,,,,26,,,,,,26,,26,,25,25,,,25,,,,,,25,,52,,,,52,,,,52',
'52,,,21,,,,,21,,,,,,25,,52,,21,,,,25,,,52,25,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,21,,,,,,,,,,,,21,,,,,,,,25,,,,,,,25,25,,,,,,,,,,,,,',
',,,25,21,21,,,21,25,,25,,,21,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,32,,21,,',
',,,,32,32,32,,,,,,,,,,,32,32,32,,,,,,,,,,,,,,,32,32,,52,,52,,,,,,52',
',,,,,,,52,,,,,,,,21,,,,,,,21,21,,,,,,,52,,,52,,,,,,,21,,,,,,21,,21,',
',,,,,52,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,52,',
',,,52,52,,,,,,,,,,,52,,,,,,,32,32,32,,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,52,,,,,52,32,,32,,32,32,,,,52,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,32,,,,,,,,52,,,,,,52,,,,,,,,,,,,52,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,52,52,,,52,,,,,,52,,,,,,,,,,32,,,,,,,,,,,,,,',
'52,,,,,,,,52,,,,52,,,,,,,,,,,32,,32,32,32,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,32,,32,,32,52,,,,,,,52,52,,,,,,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' ]
        racc_goto_check = arr = ::Array.new(2848, 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,   256,     7,   nil,    76,   132,    78,    44,  -313,    32,
  -505,  -545,  -641,   nil,  -355,    42,   131,    -7,  -192,    76,
    -9,  1044,     3,  -185,  -360,   911,   769,  -168,   -61,   315,
    28,   -19,  1878,   -14,   nil,   nil,    -2,  -205,    -8,  -180,
  -332,   454,  -319,   nil,   100,    69,    61,  -208,   nil,    46,
    18,  -256,  1447,   508,  -260,    84,   -70,    19,   nil,   nil,
    34,    53,  -240,    46,     6,   713,   100,   -57,     0,  -236,
    75,    42,  -312,  -265,  -438,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,    90,   102,   -47,   nil,  -168,  -253,
  -659,  -448,  -278,    99,  -189,    49,  -523,    98,   113,   113,
  -348,   115,   112,   110,  -511,   111,  -512,  -366,  -710,  -369,
  -523,  -176,  -184,  -368,  -636,  -768,   704,  -572,  -780,  -416,
   nil,    69,  -557,   126,   504,  -415,   261,  -527,  -454,   nil,
  -516,  -646,  -739,  -740,  -329,  -581,  -128,  -444,  -413,   -18,
  -643,  -643,   -34,   nil,   -36,   -33,  -655,  -408,  -540,   nil,
   nil,   169,   172,    60,   171,    48,  -253,  -190,   172,   173,
   175,  -301,  -300,  -286,  -406,   nil,   nil,   377,  -522,  -659,
  -557,  -512,  -559,   nil,  -694,  -726,   nil,   nil,  -409 ]

racc_goto_default = [
   nil,   nil,   nil,     3,   nil,     4,   342,   290,   nil,   518,
   nil,   810,   nil,   287,   288,   nil,   nil,   nil,    11,    12,
    18,   226,   318,   nil,   nil,   224,   225,   nil,   nil,    17,
   nil,   437,    21,    22,    23,    24,   nil,   640,   nil,   nil,
   nil,   307,   nil,    25,   408,    32,   nil,   nil,    34,    37,
    36,   nil,   221,   222,   354,   nil,   129,   416,   128,   131,
    75,    76,   nil,    90,    46,   280,   nil,   778,   409,   nil,
   410,   421,   595,   483,   278,   264,    47,    48,    49,    50,
    51,    52,    53,    54,    55,   nil,   265,    61,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   533,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   801,   878,   nil,   802,   903,
   750,   656,   nil,   657,   nil,   nil,   658,   nil,   660,   611,
   nil,   nil,   nil,   666,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   420,   nil,   nil,   nil,   nil,   nil,    74,
    77,    78,   nil,   nil,   nil,   nil,   nil,   567,   nil,   nil,
   nil,   nil,   nil,   nil,   870,   711,   655,   nil,   659,   670,
   672,   673,   762,   676,   677,   763,   680,   683,   282 ]

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

racc_reduce_n = 596

racc_shift_n = 1020

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,
  :tEQL => 141,
  :tLOWEST => 142 }

racc_nt_base = 143

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",
  "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_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 = @builder.arg(val[0])
                    
    result
end

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

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

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

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

                      @static_env.declare val[0][0]

                      result = val[0]
                    
    result
end

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

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

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

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

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

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

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

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

# reduce 542 omitted

# reduce 543 omitted

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

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

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

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

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

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

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

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

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

# reduce 552 omitted

# reduce 553 omitted

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

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

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

# reduce 556 omitted

# reduce 557 omitted

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

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

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

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

# reduce 561 omitted

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

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

# reduce 564 omitted

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

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

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

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

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

# reduce 570 omitted

# reduce 571 omitted

# reduce 572 omitted

# reduce 573 omitted

# reduce 574 omitted

# reduce 575 omitted

# reduce 576 omitted

# reduce 577 omitted

# reduce 578 omitted

# reduce 579 omitted

# reduce 580 omitted

# reduce 581 omitted

# reduce 582 omitted

# reduce 583 omitted

# reduce 584 omitted

# reduce 585 omitted

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

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

# reduce 588 omitted

# reduce 589 omitted

# reduce 590 omitted

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

# reduce 592 omitted

# reduce 593 omitted

# reduce 594 omitted

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

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

  end   # class Ruby21
  end   # module Parser
