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

require 'racc/parser.rb'


require 'parser'

Parser.check_for_encoding_support

module Parser
  class Ruby24 < Parser::Base


  def version
    24
  end

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

clist = [
'-478,209,210,209,210,217,-98,-478,-478,-478,-287,577,-478,-478,-478',
'215,-478,270,219,617,790,790,263,577,-478,619,-478,-478,-478,270,589',
'270,-492,109,590,-99,-478,-478,577,-478,-478,-478,-478,-478,577,577',
'-98,-99,-106,-106,-287,-105,-97,-84,-105,789,789,536,270,220,535,536',
'-106,-70,538,815,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478',
'-478,-478,-478,216,265,-478,-478,-478,616,-478,-478,723,-98,-478,618',
'-101,-478,-478,220,-478,220,-478,806,-478,583,-478,-478,269,-478,-478',
'-478,-478,-478,-101,-478,-481,-478,-103,-89,269,-103,269,-481,-481,-481',
'265,-102,-481,-481,-481,-478,-481,113,-478,-478,-478,-478,112,-478,-481',
'-478,-481,-481,-481,113,-478,-478,-90,269,112,-92,-481,-481,-104,-481',
'-481,-481,-481,-481,113,-100,-97,843,-96,112,113,113,-98,-99,-106,112',
'112,-98,-99,-106,-105,723,814,-102,-100,-105,-481,-481,-481,-481,-481',
'-481,-481,-481,-481,-481,-481,-481,-481,-481,113,121,-481,-481,-481',
'112,-481,-481,-575,-92,-481,206,-94,-481,-481,723,-481,-104,-481,113',
'-481,-92,-481,-481,112,-481,-481,-481,-481,-481,-290,-481,-493,-481',
'-94,-576,-101,-290,-290,-290,-103,-101,207,-290,-290,-103,-290,-481',
'-575,-102,-481,-481,-481,-481,-102,-481,208,-481,209,210,451,-92,-481',
'-481,-92,79,-290,-290,-91,-290,-290,-290,-290,-290,-92,211,-104,80,-94',
'-478,-93,-104,-576,-100,259,113,-478,81,-100,-99,112,217,-93,-91,209',
'210,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290',
'-290,318,524,-290,-290,-290,-481,642,-106,-94,113,-290,-94,-481,-290',
'112,319,-95,220,-290,388,-290,-94,-290,-290,-91,-290,-290,-290,-290',
'-290,604,-290,-579,-290,-478,-575,-93,401,-106,-579,-579,-579,220,450',
'113,-579,-579,-290,-579,112,-290,-290,452,-95,398,-290,113,-579,-105',
'400,399,112,-290,-104,-91,-572,-492,-91,-579,-579,-481,-579,-579,-579',
'-579,-579,-93,-91,113,-93,209,210,453,112,557,782,554,553,552,-93,555',
'91,92,219,606,605,602,485,-579,-579,-579,-579,-579,-579,-579,-579,-579',
'-579,-579,-579,-579,-579,495,-89,-579,-579,-579,-478,643,91,92,604,-579',
'-98,-478,-579,113,783,497,-572,-579,112,-579,-478,-579,-579,-493,-579',
'-579,-579,-579,-579,-101,-579,-579,-579,604,557,604,554,553,552,-572',
'555,-488,113,499,-573,637,-579,112,-488,-579,-579,-579,-93,834,-579',
'507,93,94,-579,-579,-579,-579,-102,-579,-579,-579,-69,-579,220,-478',
'-90,-103,606,605,602,-487,-579,-579,-579,-579,-99,510,-487,536,93,94',
'538,-579,-579,670,-579,-579,-579,-579,-579,511,-481,606,605,606,605',
'604,-101,-481,604,518,-488,754,-573,756,604,274,-481,220,638,265,954',
'-579,-579,-579,-579,-579,-579,-579,-579,-579,-579,-579,-579,-579,-579',
'-573,521,-579,-579,-579,536,784,-579,538,-487,-579,604,524,-579,-579',
'604,-579,-489,-579,525,-579,637,-579,-579,-489,-579,-579,-579,-579,-579',
'-481,-579,-579,-579,606,605,607,606,605,609,-103,-486,240,606,605,611',
'638,-579,-486,220,-579,-579,-579,-579,-483,-579,539,-579,-290,-96,862',
'-483,-579,-102,540,-290,-290,-290,-92,-105,-290,-290,-290,499,-290,606',
'605,615,-101,606,605,620,-489,583,-290,-290,-290,220,390,769,985,587',
'769,-94,-290,-290,588,-290,-290,-290,-290,-290,596,-103,621,215,-486',
'-333,-484,-485,209,210,214,215,-333,-484,-485,-100,624,-483,263,212',
'-262,-333,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290',
'-290,-290,626,-91,-290,-290,-290,627,785,-290,-100,631,-290,-100,220',
'-290,-290,635,-290,636,-290,265,-290,647,-290,-290,240,-290,-290,-290',
'-290,-290,-290,-290,216,-290,-333,-484,-485,-290,-290,-290,216,573,572',
'-290,-290,240,-290,-290,240,240,-290,-290,-290,-290,240,-290,237,-290',
'-579,240,239,238,-290,-104,254,255,-290,-290,654,-290,-290,-290,-290',
'-290,220,215,838,806,660,-490,237,662,448,220,239,238,-490,235,236,838',
'806,449,220,-84,674,-490,-290,-290,-290,-290,-290,-290,-290,-290,-290',
'-290,-290,-290,-290,-290,-579,-491,-290,-290,-290,220,642,-579,-491',
'529,-290,685,-575,-290,690,691,-579,-491,-290,693,-290,697,-290,-290',
'700,-290,-290,-290,-290,-290,216,-290,-579,-290,-490,-579,701,703,705',
'-579,-579,-579,562,707,240,-579,-579,-290,-579,715,-290,-290,565,-290',
'215,-290,716,-579,717,719,583,517,-290,-104,726,-579,-491,743,-579,-579',
'515,-579,-579,-579,-579,-579,237,-280,753,757,239,238,758,-263,-280',
'573,572,770,485,485,566,748,749,-280,220,750,107,108,-579,-579,-579',
'-579,-579,-579,-579,-579,-579,-579,-579,-579,-579,-579,787,259,-579',
'-579,-579,215,643,216,215,794,-579,497,527,-579,499,586,799,685,-579',
'220,-579,449,-579,-579,584,-579,-579,-579,-579,-579,-280,-579,-579,-579',
'557,265,554,553,552,562,555,215,116,117,118,119,120,-579,592,565,-579',
'-579,-409,-579,265,-579,685,594,240,-409,-409,-409,-579,-102,-409,-409',
'-409,806,-409,220,216,560,220,216,832,240,220,-409,-409,-409,570,569',
'573,572,806,842,220,566,-409,-409,220,-409,-409,-409,-409,-409,557,851',
'554,553,552,215,555,-264,220,861,216,237,630,685,880,239,238,220,235',
'236,-262,628,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409',
'-409,-409,-409,884,709,-409,-409,-409,888,889,-409,700,265,-409,891',
'893,-409,-409,895,-409,897,-409,897,-409,220,-409,-409,903,-409,-409',
'-409,-409,-409,-297,-409,-409,-409,216,905,907,-297,-297,-297,913,916',
'-297,-297,-297,-291,-297,-409,220,920,-409,-409,-291,-409,-265,-409',
'-297,-297,921,700,924,-291,-409,926,928,930,-297,-297,220,-297,-297',
'-297,-297,-297,932,943,944,-291,956,-290,958,959,964,743,-291,975,-290',
'978,983,986,897,-576,897,-291,897,-290,-297,-297,-297,-297,-297,-297',
'-297,-297,-297,-297,-297,-297,-297,-297,-291,991,-297,-297,-297,956',
'700,-297,997,274,-297,999,1001,-297,-297,1003,-297,1003,-297,690,-297',
'956,-297,-297,1018,-297,-297,-297,-297,-297,-281,-297,-291,-297,-290',
'1019,-576,-281,-281,-281,-575,220,-281,-281,-281,215,-281,-297,897,956',
'-297,-297,977,-297,1026,-297,-281,-281,-281,1003,1003,594,-297,1003',
'1003,,-281,-281,,-281,-281,-281,-281,-281,,-290,,215,,215,,,-290,,982',
',977,-576,,,,-290,,980,,594,-281,-281,-281,-281,-281,-281,-281,-281',
'-281,-281,-281,-281,-281,-281,216,562,-281,-281,-281,,,-281,,,-281,565',
',-281,-281,,-281,,-281,,-281,,-281,-281,,-281,-281,-281,-281,-281,-290',
'-281,216,-281,216,947,,554,553,552,,555,,,573,572,,-281,240,566,-281',
'-281,-281,-281,,-281,-245,-281,,,,,-281,-245,-245,-245,,,-245,-245,-245',
'557,-245,554,553,552,,555,,,237,-245,-245,-245,239,238,,235,236,,,,-245',
'-245,,-245,-245,-245,-245,-245,557,,554,553,552,,555,557,709,554,553',
'552,947,555,554,553,552,712,555,,,,-245,-245,-245,-245,-245,-245,-245',
'-245,-245,-245,-245,-245,-245,-245,,709,-245,-245,-245,,,-245,709,265',
'-245,,,-245,-245,,-245,712,-245,,-245,,-245,-245,,-245,-245,-245,-245',
'-245,,-245,-245,-245,557,,554,553,552,562,555,116,117,118,119,120,,-245',
',565,-245,-245,-580,-245,,-245,,,,-580,-580,-580,-245,,-580,-580,-580',
',-580,240,557,560,554,553,552,,555,-580,-580,-580,-580,,573,572,,254',
'255,566,-580,-580,,-580,-580,-580,-580,-580,557,,554,553,552,237,555',
'243,,239,238,709,235,236,,,241,,242,,902,,-580,-580,-580,-580,-580,-580',
'-580,-580,-580,-580,-580,-580,-580,-580,,709,-580,-580,-580,,,-580,',
',-580,,,-580,-580,,-580,,-580,,-580,,-580,-580,,-580,-580,-580,-580',
'-580,,-580,-580,-580,,,557,,554,553,552,,555,,,,,-580,,,-580,-580,-580',
'-580,,-580,-581,-580,,,,,-580,-581,-581,-581,,,-581,-581,-581,240,-581',
'709,116,117,118,119,120,,,-581,-581,-581,-581,,,254,255,,,,-581,-581',
',-581,-581,-581,-581,-581,,,,237,,243,,239,238,,235,236,,,241,,242,116',
'117,118,119,120,-581,-581,-581,-581,-581,-581,-581,-581,-581,-581,-581',
'-581,-581,-581,,,-581,-581,-581,,,-581,,,-581,,,-581,-581,,-581,,-581',
',-581,,-581,-581,,-581,-581,-581,-581,-581,,-581,-581,-581,,,557,,554',
'553,552,,555,,,,,-581,,,-581,-581,-581,-581,,-581,-245,-581,,,,,-581',
'-245,-245,-245,,,-245,-245,-245,240,-245,709,,,,,,,,-245,-245,,,,,254',
'255,,,,-245,-245,,-245,-245,-245,-245,-245,,,,237,,243,,239,238,,235',
'236,,,,240,244,249,250,251,246,248,256,257,252,253,,233,234,,,254,255',
'-245,,,,,,,-245,,,,,265,-245,237,,243,,239,238,,235,236,247,245,241',
',242,,,,,,,,-245,-245,,,,,,,,,,,258,,,-245,,,-245,,,,,-245,5,69,70,71',
'9,57,-245,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
'102,103,,,19,,,,,632,8,45,7,10,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,42,43,41,240,244,249,250,251,246,248,256,257,252,253,,233,234',
',,254,255,,40,,,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236,247',
'245,241,20,242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,258,,-237,,,62',
',81,93,94,292,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,',
',,29,28,27,101,100,102,103,,,19,,,,,632,8,45,294,10,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,42,43,41,240,244,249,250,251,246,248,256',
'257,252,253,,233,234,,,254,255,,40,,,296,,,58,59,,,60,,35,237,,243,44',
'239,238,,235,236,247,245,241,20,242,,,,89,79,82,83,,84,86,85,87,,,,',
'80,88,,258,,,,,62,,81,93,94,5,69,70,71,9,57,,,,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,7,10,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,240,244,249,250,251,246',
'248,256,257,252,253,,233,234,,,254,255,,40,,,33,,,58,59,,,60,,35,237',
',243,44,239,238,,235,236,247,245,241,20,242,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,258,,,,,62,,81,93,94,292,69,70,71,9,57,,,,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,294',
'10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,240,244,249',
'250,251,246,248,256,257,252,253,,233,234,,,254,255,,40,,,33,,,58,59',
',,60,,35,237,,243,44,239,238,,235,236,247,245,241,20,242,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,220,258,,,,,62,,81,93,94,292,69,70,71,9,57',
',,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,',
',19,,,,,,8,45,294,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,240,244,249,250,251,246,248,256,257,252,253,,233,234,,,254,255',
',40,,,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236,247,245,241,20',
'242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,258,,,,,62,,81,93,94,292',
'69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
'100,102,103,,,19,,,,,,8,45,294,10,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,240,244,249,250,251,246,248,256,257,252,253,,233',
'234,,,254,255,,40,,,296,,,58,59,,,60,,35,237,,243,44,239,238,,235,236',
'247,245,241,20,242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,258,,,,,62',
',81,93,94,292,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,',
',,29,28,27,101,100,102,103,,,19,,,,,,8,45,294,10,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,240,244,249,250,251,246,248,256,257',
'252,253,,233,234,,,254,255,,40,,,296,,,58,59,,,60,,35,237,,243,44,239',
'238,,235,236,247,245,241,20,242,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',258,,,,,62,,81,93,94,292,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30',
'31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,294,10,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,240,244,249,250,251,246',
'248,256,257,252,253,,-600,-600,,,254,255,,40,,,33,,,58,59,,,60,,35,237',
',243,44,239,238,,235,236,247,245,241,20,242,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,,,,,,62,,81,93,94,5,69,70,71,9,57,,,,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,7,10,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,240,244,249,250,251',
'246,248,256,257,252,253,,-600,-600,,,254,255,,40,,,33,,,58,59,,,60,',
'35,237,,243,44,239,238,,235,236,247,245,241,20,242,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,,,,62,,81,93,94,292,69,70,71,9,57,,,,63,64,,,',
'67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45',
'294,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,240,-600',
'-600,-600,-600,246,248,,,-600,-600,,,,,,254,255,,40,,,33,,,58,59,,,60',
',35,237,,243,44,239,238,,235,236,247,245,241,20,242,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,292,69,70,71,9,57,,,,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,',
'8,45,294,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,240',
',,,,,,,,,,,,,,,254,255,,40,,,33,,,58,59,,,60,,35,237,,243,44,239,238',
',235,236,,,241,20,242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62',
',81,93,94,292,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,',
',,29,28,27,101,100,102,103,,,19,,,,,,8,45,294,10,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,240,,,,,,,,,,,,,,,,254,255,,40,,,33',
',,58,59,,,60,,35,237,,243,44,239,238,,235,236,,,241,20,242,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,292,69,70,71,9,57,,',
',63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19',
',,,,,8,45,294,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43',
'41,240,-600,-600,-600,-600,246,248,,,-600,-600,,,,,,254,255,,40,,,33',
',,58,59,,,60,,35,237,,243,44,239,238,,235,236,247,245,241,20,242,,,',
'89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,292,69,70,71,9',
'57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103',
',,19,,,,,,8,45,294,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
'42,43,41,240,-600,-600,-600,-600,246,248,,,-600,-600,,,,,,254,255,,40',
',,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236,247,245,241,20,242',
',,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,292,69,70,71',
'9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
'103,,,19,,,,,,8,45,294,10,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,240,-600,-600,-600,-600,246,248,,,-600,-600,,,,,,254,255',
',40,,,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236,247,245,241,20',
'242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,292,69',
'70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
'102,103,,,19,,,,,,8,45,294,10,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,42,43,41,240,-600,-600,-600,-600,246,248,,,-600,-600,,,,,,254',
'255,,40,,,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236,247,245,241',
'20,242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,292',
'69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
'100,102,103,,,19,,,,,,8,45,294,10,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,240,-600,-600,-600,-600,246,248,,,-600,-600,,,,',
',254,255,,40,,,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236,247',
'245,241,20,242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93',
'94,292,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
'27,101,100,102,103,,,19,,,,,,8,45,294,10,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,240,244,249,250,251,246,248,,,252,253,,',
',,,254,255,,40,,,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236,247',
'245,241,20,242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93',
'94,292,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
'27,101,100,102,103,,,19,,,,,,8,45,294,10,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,240,244,249,250,251,246,248,256,,252,253',
',,,,,254,255,,40,,,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236',
'247,245,241,20,242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81',
'93,94,292,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,19,,,,,,8,45,294,10,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,42,43,41,240,,,,,,,,,,,,,,,,254,255,,40,,,33,',
',58,59,,,60,,35,237,,243,44,239,238,,235,236,,,,20,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,292,69,70,71,9,57,,,,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,',
'8,45,294,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,',
',,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,292,69,70,71,9,57,,',
',63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19',
',,,,,8,45,294,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43',
'41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,',
'89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,292,69,70,71,9',
'57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103',
',,19,,,,,,8,45,294,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
'42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,292,69,70',
'71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
'103,,,19,,,,,,8,45,294,10,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,',
',,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,292,69',
'70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
'102,103,,,19,,,,,,8,45,294,10,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,',
',,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,292',
'69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
'100,102,103,,,19,,,,,,8,45,294,10,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44',
',,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94',
'292,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'101,100,102,103,,,19,,,,,,8,45,294,10,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35',
',,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81',
'93,94,292,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,19,,,,,,8,45,294,10,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,',
'60,,35,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,',
',62,,81,93,94,292,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,294,10,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58',
'59,,,60,,35,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',,,,,,62,,81,93,94,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,7,10,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58',
'59,,,60,,35,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,',
',,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
'102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286,99,107,108,',
'91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,283,,281,',
'44,,,287,,,,,,230,,,,,89,284,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
'102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286,99,107,108,',
'91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,283,,281,',
'44,,,287,,,,,,230,,,,,89,284,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
'102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286,99,107,108,',
'91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,283,,281,',
'44,,,287,,,,,,230,,,,,89,284,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314',
'101,100,102,103,,,232,,,,,,,309,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,,,315,,,,,,,,,,,,,,,,,,,,305,,,301,,,58,59,,,60,,300,,,,',
',,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102',
'103,,,232,,,,,,,309,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
',,315,,,,,,,,,,,,,,,,,,,,305,,,231,,,58,59,,,60,,,557,,554,553,552,562',
'555,,,,,,,,,565,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,317,,560,62,',
'81,93,94,69,70,71,,57,573,572,,63,64,566,,,67,,65,66,68,311,312,72,73',
',,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,',
'58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,',
'307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59',
',,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69',
'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308',
'314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,',
',,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314',
'101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,283,',
',,44,,,287,,,,,,230,,,,,89,284,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314',
'101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44',
',,287,,,,,,230,,,,,89,284,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62',
'57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
'102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
'42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,20',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,113,,,,,112,62,,81,93,94,69,70,71,,57,,,,63,64,,,,67,,65',
'66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,309',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,315,,,,,,,,,,,,,,',
',,,,,350,,,33,,,58,59,,,60,,35,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312',
'72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,309,,,105,104,106',
'355,56,97,96,356,,99,107,108,,91,92,,,315,,,,,,,,,,,,,,,,,362,,,357',
',,231,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,',
',,,307,308,314,101,100,102,103,,,232,,,,,,,309,,,105,104,106,355,56',
'97,96,356,,99,107,108,,91,92,,,315,,,,,,,,,,,,,,,,,,,,357,,,231,,,58',
'59,,,60,,,557,,554,553,552,562,555,,,,,,,,,565,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,,,,,560,62,,81,93,94,69,70,71,9,57,573,572,,63,64,566',
',,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,,,,,,390,62,,81,93,94,69,70,71,,57,,,,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,',
',,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83',
',84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225',
',,231,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,',
',,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59',
',,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69',
'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,',
',,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,69',
'70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
'102,103,,,19,,,,,,8,45,,10,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,',
',,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,',
',232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43',
'41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,406,,,,44,,,,,,,,,230',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,232,',
',,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,',
',,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,406,,,,44,,,,,,,,,230,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,',
'231,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,',
',80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58',
'59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286',
'99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60',
',283,,281,,44,,,287,,,,,,230,,,,,89,284,82,83,,84,86,85,87,,,,,80,88',
',,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,',
',,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
'102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
'42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,20',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,220,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,',
',,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311',
'312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225',
',,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72',
'73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231',
',,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,',
',,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58',
'59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307',
'308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60',
',,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314',
'101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44',
',,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100',
'102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,',
',,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102',
'103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,',
'232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,',
',,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311',
'312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225',
',,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72',
'73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231',
',,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,',
',,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58',
'59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307',
'308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60',
',,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314',
'101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44',
',,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100',
'102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,',
',,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102',
'103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,',
'232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,',
',,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30',
'31,72,73,,,,,,29,28,27,101,100,102,103,,,232,,,,,,,45,,,105,104,106',
'95,56,97,96,98,286,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225',
',,231,,,58,59,,,60,,283,,281,,44,,,287,,,,,,230,,,,,89,284,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,101,100,102,103,,,232,,,,,,,45,,,105,104,106',
'95,56,97,96,98,286,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225',
',,231,,,58,59,,,60,,283,,281,,44,,,287,,,,,,230,,,,,89,284,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,101,100,102,103,,,232,,,,,,,45,,,105,104,106',
'95,56,97,96,98,286,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225',
',,231,,,58,59,,,60,,283,,281,,44,,,287,,,,,,230,,,,,89,284,82,83,,84',
'86,85,87,,,,,80,88,220,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311',
'312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225',
',,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72',
'73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231',
',,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,',
',,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58',
'59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,,,,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,311,312,72,73,,,,,,307',
'308,314,101,100,102,103,,,232,,,,,,,309,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,,,315,,,,,,,,,,,,,,,,,,,,305,,,231,,,58,59,,,60,',
',557,,554,553,552,562,555,,,,,,,,,565,,89,79,82,83,,84,86,85,87,,,,',
'80,88,,,,513,,560,62,,81,93,94,69,70,71,,57,573,572,,63,64,566,,,67',
',65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,',
',309,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,315,,,,,,,,,',
',,,,,,,,,,305,,,301,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,225,,,231,529,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,,,,62,,81,93,94,69,70,71,9,57,,,,63,64,,,,67,',
'65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,,10',
'105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,',
',,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,',
'231,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,',
',80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59',
',,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69',
'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,',
',,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103',
',,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43',
'41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,',
'89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232',
',,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,',
',,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,232,,,,,,,45,',
',105,104,106,95,56,97,96,98,286,99,107,108,,91,92,42,43,41,,,,,,,,,',
',,,,,,,,,,225,,,231,,,58,59,,,60,,283,,281,,44,,,287,,,,,,230,,,,,89',
'284,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,',
',67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,',
',,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,',
',,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,',
',,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105',
'104,106,95,56,97,96,98,286,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,',
',,,,,225,,,231,,,58,59,,,60,,667,,281,,44,,,287,,,,,,230,,,,,89,284',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,',
',45,,,105,104,106,95,56,97,96,98,286,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,281,,44,,,287,,,,,,230,,,,',
'89,284,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232',
',,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,',
',,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,69,70,71,9,57,,,,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,',
',,,8,45,294,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,,,390,62,,81,93,94,69,70,71,,57,',
',,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103',
',,232,,,,,,,309,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,315',
',,,,,,,,,,,,,,,,,,,305,,,301,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,232,,,,,,,45,,,105',
'104,106,95,56,97,96,98,286,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,',
',,,,,225,,,231,,,58,59,,,60,,283,,281,,44,,,287,,,,,,230,,,,,89,284',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,',
',309,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,315,,,,,,,,,',
',,,,,,,,,,305,,,301,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311',
'312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225',
',,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72',
'73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58',
'59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,',
',69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307',
'308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98',
'286,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59',
',,60,,667,,,,44,,,287,,,,,,230,,,,,89,284,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,',
',,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97',
'96,98,286,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,',
'58,59,,,60,,,,,,44,,,287,,,,,,230,,,,,89,284,82,83,,84,86,85,87,,,,',
'80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73',
',,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,',
'58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,',
'307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59',
',,60,,283,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286',
'99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60',
',283,,281,,44,,,287,,,,,,230,,,,,89,284,82,83,,84,86,85,87,,,,,80,88',
',,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286',
'99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60',
',283,,281,,44,,,287,,,,,,230,,,,,89,284,82,83,,84,86,85,87,,,,,80,88',
',,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,',
'307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59',
',,60,,761,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,',
',,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
'102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286,99,107,108,',
'91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,283,,281,',
'44,,,287,,,,,,230,,,,,89,284,82,83,,84,86,85,87,,,,,80,88,,,,,,,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,311,312,72,73,,,,,,307,308,314',
'101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44',
',,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100',
'102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286,99,107,108,',
'91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,667,,281,',
'44,,,287,,,,,,230,,,,,89,284,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314',
'101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,281',
',44,,,287,,,,,,230,,,,,89,284,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
'100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,',
',,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103',
',,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43',
'41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,',
',89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,232,,,,',
',,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,',
',,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,232,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311',
'312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225',
',,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72',
'73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231',
',,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,',
',,,307,308,314,101,100,102,103,,,232,,,,,,,309,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,,,315,,,,,,,,,,,,,,,,,,,,305,,,301,,,58,59',
',,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314',
'101,100,102,103,,,232,,,,,,,309,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,,,315,,,,,,,,,,,,,,,,,,,,305,,,301,,,58,59,,,60,,,,,,,,,',
',,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102',
'103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,406,,,,44,,,,,,,,,230',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,',
'232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,',
'231,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,',
',80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73',
',,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,',
'58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,',
',,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314',
'101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44',
',,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100',
'102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,',
',,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102',
'103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,',
'232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,',
'105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,',
',,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,225,,,231,,,58,59,,,60,,667,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105',
'104,106,95,56,97,96,98,286,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,',
',,,,,225,,,231,,,58,59,,,60,,,,281,,44,,,287,,,,,,230,,,,,89,284,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,309,,',
'105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,315,,,,,,,,,,,,,,,,',
',,,934,,,231,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72',
'73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,309,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,,,315,,,,,,,,,,,,,,,,,,,,940,,,231,,',
'58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,',
'69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307',
'308,314,101,100,102,103,,,232,,,,,,,309,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,,,315,,,,,,,,,,,,,,,,,,,,934,,,231,,,58,59,,,60,',
',,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62',
'57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
'102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286,99,107,108,',
'91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,283,,281,',
'44,,,287,,,,,,230,,,,,89,284,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,',
'81,93,94,173,184,174,197,170,190,180,179,200,201,195,178,177,172,198',
'202,203,182,171,185,189,191,183,176,,,,192,199,194,193,186,196,181,169',
'188,187,,,,,,168,175,166,167,163,164,165,124,126,123,,125,,,,,,,,157',
'158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,',
',,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155,134,,,162',
'89,,,,,,,,,,,,,,88,173,184,174,197,170,190,180,179,200,201,195,178,177',
'172,198,202,203,182,171,185,189,191,183,176,,,,192,199,194,193,186,196',
'181,169,188,187,,,,,,168,175,166,167,163,164,165,124,126,,,125,,,,,',
',,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147',
',,,,,,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155,134',
',,162,89,,,,,,,,,,,,,,88,173,184,174,197,170,190,180,179,200,201,195',
'178,177,172,198,202,203,182,171,185,189,191,183,176,,,,192,199,194,193',
'186,196,181,169,188,187,,,,,,168,175,166,167,163,164,165,124,126,,,125',
',,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146',
'147,,,,,,,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155',
'134,,,162,89,,,,,,,,,,,,,,88,173,184,174,197,170,190,180,179,200,201',
'195,178,177,172,198,202,203,182,171,185,189,191,183,176,,,,192,199,194',
'193,186,196,181,169,188,187,,,,,,168,175,166,167,163,164,165,124,126',
',,125,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160',
'146,147,,,,,,,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133',
'155,134,,,162,89,,,,,,,,,,,,,,88,173,184,174,197,170,190,180,179,200',
'201,195,178,177,172,198,202,203,182,171,185,189,191,183,176,,,,192,199',
'194,373,372,374,371,169,188,187,,,,,,168,175,166,167,368,369,370,366',
'126,97,96,367,,99,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140',
',,,159,160,146,147,,,,,,378,,,,,,,,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,428,432,162,,429,,,,,,,,157,158,,154,136,137,138,145,142,144',
',,139,140,,,,159,160,146,147,,,,,,265,,,,,,,,151,150,,135,156,153,152',
'161,148,149,143,141,133,155,134,435,439,162,,434,,,,,,,,157,158,,154',
'136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,265,,,,,,',
',151,150,,135,156,153,152,161,148,149,143,141,133,155,134,483,432,162',
',484,,,,,,,,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,648,432,162,,649,,,,,,,,157,158,,154,136,137,138,145,142,144',
',,139,140,,,,159,160,146,147,,,,,,265,,,,,,,,151,150,,135,156,153,152',
'161,148,149,143,141,133,155,134,650,439,162,,651,,,,,,,,157,158,,154',
'136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,265,,,,,,',
',151,150,,135,156,153,152,161,148,149,143,141,133,155,134,678,432,162',
',679,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160',
'146,147,,,,,,265,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141',
'133,155,134,681,439,162,,682,,,,,,,,157,158,,154,136,137,138,145,142',
'144,,,139,140,,,,159,160,146,147,,,,,,265,,,,,,,,151,150,,135,156,153',
'152,161,148,149,143,141,133,155,134,648,432,162,,649,,,,,,,,157,158',
',154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,265,',
',,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155,134,650,439',
'162,,651,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159',
'160,146,147,,,,,,265,,,,,,,,151,150,,135,156,153,152,161,148,149,143',
'141,133,155,134,729,432,162,,730,,,,,,,,157,158,,154,136,137,138,145',
'142,144,,,139,140,,,,159,160,146,147,,,,,,265,,,,,,,,151,150,,135,156',
'153,152,161,148,149,143,141,133,155,134,731,439,162,,732,,,,,,,,157',
'158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,265',
',,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155,134,734',
'439,162,,735,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,',
',,159,160,146,147,,,,,,265,,,,,,,,151,150,,135,156,153,152,161,148,149',
'143,141,133,155,134,483,432,162,,484,,,,,,,,157,158,,154,136,137,138',
'145,142,144,,,139,140,,,,159,160,146,147,,,,,,265,,,,,,,,151,150,,135',
'156,153,152,161,148,149,143,141,133,155,134,763,432,162,,764,,,,,,,',
'157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,',
',,,265,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155,134',
'766,439,162,,765,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140',
',,,159,160,146,147,,,,,,265,,,,,,,,151,150,,135,156,153,152,161,148',
'149,143,141,133,155,134,1007,439,162,,1006,,,,,,,,157,158,,154,136,137',
'138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,265,,,,,,,,151,150',
',135,156,153,152,161,148,149,143,141,133,155,134,1010,432,162,,1011',
',,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146',
'147,,,,,,265,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133',
'155,134,1012,439,162,,1013,,,,,,,,157,158,,154,136,137,138,145,142,144',
',,139,140,,,,159,160,146,147,,,,,,265,,,,,,,,151,150,,135,156,153,152',
'161,148,149,143,141,133,155,134,,557,162,554,553,552,562,555,,557,,554',
'553,552,562,555,565,,,,,,,,565,,557,,554,553,552,562,555,,,,,,560,543',
',565,,,,,560,570,569,573,572,,,,566,570,569,573,572,,,,566,560,,557',
',554,553,552,562,555,570,569,573,572,,,,566,565,,557,,554,553,552,562',
'555,,557,,554,553,552,562,555,565,,,,,560,,,565,,,,,,570,569,573,572',
',,,566,560,,,,,,,,560,570,569,573,572,,,,566,570,569,573,572,,,557,566',
'554,553,552,562,555,,557,,554,553,552,562,555,565,,,,,,,,565,,557,,554',
'553,552,562,555,,,,,,560,,,565,,,,,560,570,569,573,572,,,,566,570,569',
'573,572,,,,566,560,,557,,554,553,552,562,555,570,569,573,572,,,,566',
'565,,557,,554,553,552,562,555,,557,,554,553,552,562,555,565,,,,,560',
',,565,,,,,,,,573,572,,,,566,560,,,,,,,,560,,,573,572,,,,566,570,569',
'573,572,,,557,566,554,553,552,562,555,557,,554,553,552,562,555,557,565',
'554,553,552,562,555,557,565,554,553,552,562,555,,565,,,,,,,565,560,',
',,,,,560,,,,573,572,,560,,566,,573,572,,560,,566,,573,572,,,,566,,573',
'572,,,,566' ]
        racc_action_table = arr = ::Array.new(25362, nil)
        idx = 0
        clist.each do |str|
          str.split(',', -1).each do |i|
            arr[idx] = i.to_i unless i.empty?
            idx += 1
          end
        end

clist = [
'95,444,444,601,601,17,347,95,95,95,58,340,95,95,95,24,95,26,19,385,655',
'661,24,341,95,386,95,95,95,61,357,657,223,1,357,348,95,95,727,95,95',
'95,95,95,883,906,937,938,941,351,58,587,17,673,983,655,661,330,310,19',
'330,331,17,673,331,695,95,95,95,95,95,95,95,95,95,95,95,95,95,95,24',
'26,95,95,95,385,95,95,579,223,95,386,729,95,95,444,95,601,95,911,95',
'911,95,95,26,95,95,95,95,95,1010,95,98,95,1011,347,61,730,657,98,98',
'98,310,1012,98,98,98,95,98,340,95,95,95,95,340,95,98,95,98,98,98,341',
'95,95,348,310,341,678,98,98,1013,98,98,98,98,98,727,1024,351,727,587',
'727,883,906,937,938,941,883,906,937,938,941,983,580,695,731,845,983',
'98,98,98,98,98,98,98,98,98,98,98,98,98,98,579,7,98,98,98,579,98,98,1012',
'729,98,10,679,98,98,846,98,732,98,3,98,678,98,98,3,98,98,98,98,98,434',
'98,224,98,730,1013,1010,434,434,434,1011,1010,12,434,434,1011,434,98',
'731,1012,98,98,98,98,1012,98,13,98,688,688,226,678,98,98,678,77,434',
'434,801,434,434,434,434,434,678,15,1013,77,679,366,681,1013,732,1024',
'22,580,366,77,1024,224,580,413,731,845,597,597,434,434,434,434,434,434',
'434,434,434,434,434,434,434,434,37,450,434,434,434,367,434,226,679,846',
'434,679,367,434,846,40,732,45,434,109,434,679,434,434,801,434,434,434',
'434,434,380,434,435,434,366,681,681,204,413,435,435,435,688,225,290',
'435,435,434,435,290,434,434,227,434,123,434,344,435,450,123,123,344',
'434,434,801,355,38,801,435,435,367,435,435,435,435,435,681,801,597,681',
'14,14,228,597,712,648,712,712,712,681,712,41,41,232,380,380,380,264',
'435,435,435,435,435,435,435,435,435,435,435,435,435,435,278,38,435,435',
'435,355,435,315,315,501,435,38,355,435,849,649,279,355,435,849,435,355',
'435,435,39,435,435,435,435,435,648,435,435,435,612,902,614,902,902,902',
'355,902,368,854,282,356,763,435,854,368,435,435,650,435,712,435,294',
'41,41,650,650,650,435,435,650,650,650,295,650,297,355,39,649,501,501',
'501,369,650,650,650,650,39,298,369,334,315,315,334,650,650,501,650,650',
'650,650,650,299,356,612,612,614,614,381,763,356,382,305,368,612,356',
'614,383,308,356,309,764,314,902,650,650,650,650,650,650,650,650,650',
'650,650,650,650,650,356,316,650,650,650,694,650,650,694,369,650,384',
'319,650,650,387,650,370,650,320,650,428,650,650,370,650,650,650,650',
'650,356,650,650,650,381,381,381,382,382,382,764,371,323,383,383,383',
'429,650,371,328,650,650,650,650,372,650,332,650,651,319,786,372,650',
'650,333,651,651,651,428,319,651,651,651,335,651,384,384,384,428,387',
'387,387,370,345,651,651,651,945,346,858,945,350,633,429,651,651,352',
'651,651,651,651,651,361,429,396,16,371,46,373,374,339,339,16,376,46',
'373,374,786,402,372,376,16,405,46,651,651,651,651,651,651,651,651,651',
'651,651,651,651,651,407,633,651,651,651,410,651,651,858,414,651,633',
'424,651,651,426,651,427,651,436,651,446,651,651,456,651,651,651,651',
'651,765,651,16,651,46,373,374,765,765,765,376,700,700,765,765,458,765',
'651,464,459,651,651,651,651,460,651,456,651,734,461,456,456,651,651',
'464,464,765,765,480,765,765,765,765,765,487,222,718,718,489,302,464',
'491,222,492,464,464,302,464,464,993,993,222,508,509,512,302,765,765',
'765,765,765,765,765,765,765,765,765,765,765,765,734,303,765,765,765',
'514,765,734,303,519,765,522,734,765,530,531,734,303,765,533,765,545',
'765,765,546,765,765,765,765,765,222,765,766,765,302,734,548,549,550',
'766,766,766,697,559,457,766,766,765,766,567,765,765,697,765,304,765',
'571,766,574,576,581,304,765,765,582,734,303,599,766,766,304,766,766',
'766,766,766,457,306,609,617,457,457,619,625,306,697,697,634,639,644',
'697,605,605,306,652,605,605,605,766,766,766,766,766,766,766,766,766',
'766,766,766,766,766,653,656,766,766,766,321,766,304,349,658,766,664',
'321,766,666,349,672,675,766,677,766,321,766,766,349,766,766,766,766',
'766,306,766,766,766,789,680,789,789,789,789,789,359,6,6,6,6,6,766,359',
'789,766,766,27,766,683,766,684,359,687,27,27,27,766,766,27,27,27,689',
'27,692,321,789,696,349,711,475,713,27,27,27,789,789,789,789,720,725',
'728,789,27,27,737,27,27,27,27,27,834,741,834,834,834,412,834,760,762',
'771,359,475,412,800,804,475,475,789,475,475,807,412,27,27,27,27,27,27',
'27,27,27,27,27,27,27,27,808,834,27,27,27,816,817,27,818,27,27,822,823',
'27,27,825,27,826,27,828,27,831,27,27,833,27,27,27,27,27,28,27,27,27',
'412,836,839,28,28,28,848,852,28,28,28,518,28,27,853,856,27,27,518,27',
'857,27,28,28,864,865,867,518,27,868,869,871,28,28,872,28,28,28,28,28',
'873,886,887,590,904,682,908,909,915,919,590,931,682,934,940,949,950',
'682,951,590,952,682,28,28,28,28,28,28,28,28,28,28,28,28,28,28,518,953',
'28,28,28,955,966,28,969,28,28,970,971,28,28,972,28,974,28,979,28,992',
'28,28,994,28,28,28,28,28,56,28,590,28,682,995,1006,56,56,56,1007,1009',
'56,56,56,933,56,28,1015,1016,28,28,933,28,1020,28,56,56,56,1021,1022',
'933,28,1023,1031,,56,56,,56,56,56,56,56,,735,,939,,976,,,735,,939,,976',
'735,,,,735,,939,,976,56,56,56,56,56,56,56,56,56,56,56,56,56,56,933,921',
'56,56,56,,,56,,,56,921,,56,56,,56,,56,,56,,56,56,,56,56,56,56,56,735',
'56,939,56,976,888,,888,888,888,,888,,,921,921,,56,476,921,56,56,56,56',
',56,430,56,,,,,56,430,430,430,,,430,430,430,560,430,560,560,560,,560',
',,476,430,430,430,476,476,,476,476,,,,430,430,,430,430,430,430,430,903',
',903,903,903,,903,709,560,709,709,709,985,709,985,985,985,560,985,,',
',430,430,430,430,430,430,430,430,430,430,430,430,430,430,,903,430,430',
'430,,,430,709,430,430,,,430,430,,430,709,430,,430,,430,430,,430,430',
'430,430,430,,430,430,430,705,,705,705,705,705,705,293,293,293,293,293',
',430,,705,430,430,439,430,,430,,,,439,439,439,430,,439,439,439,,439',
'466,832,705,832,832,832,,832,439,439,439,439,,705,705,,466,466,705,439',
'439,,439,439,439,439,439,954,,954,954,954,466,954,466,,466,466,832,466',
'466,,,466,,466,,832,,439,439,439,439,439,439,439,439,439,439,439,439',
'439,439,,954,439,439,439,,,439,,,439,,,439,439,,439,,439,,439,,439,439',
',439,439,439,439,439,,439,439,439,,,956,,956,956,956,,956,,,,,439,,',
'439,439,439,439,,439,440,439,,,,,439,440,440,440,,,440,440,440,467,440',
'956,506,506,506,506,506,,,440,440,440,440,,,467,467,,,,440,440,,440',
'440,440,440,440,,,,467,,467,,467,467,,467,467,,,467,,467,532,532,532',
'532,532,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,,,991,,991,991,991,,991,,,,,440,,,440,440,440,440,',
'440,482,440,,,,,440,482,482,482,,,482,482,482,462,482,991,,,,,,,,482',
'482,,,,,462,462,,,,482,482,,482,482,482,482,482,,,,462,,462,,462,462',
',462,462,,,,21,21,21,21,21,21,21,21,21,21,21,,21,21,,,21,21,482,,,,',
',,482,,,,,482,482,21,,21,,21,21,,21,21,21,21,21,,21,,,,,,,,482,482,',
',,,,,,,,,21,,,482,,,482,,,,,482,0,0,0,0,0,0,482,,,0,0,,,,0,,0,0,0,0',
'0,0,0,,,,,,0,0,0,0,0,0,0,,,0,,,,,417,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,0',
',0,0,0,0,0,417,417,417,417,417,417,417,417,417,417,417,,417,417,,,417',
'417,,0,,,0,,,0,0,,,0,,0,417,,417,0,417,417,,417,417,417,417,417,0,417',
',,,0,0,0,0,,0,0,0,0,,,,,0,0,,417,,417,,,0,,0,0,0,33,33,33,33,33,33,',
',,33,33,,,,33,,33,33,33,33,33,33,33,,,,,,33,33,33,33,33,33,33,,,33,',
',,,423,33,33,33,33,33,33,33,33,33,33,33,33,,33,33,33,,33,33,33,33,33',
'423,423,423,423,423,423,423,423,423,423,423,,423,423,,,423,423,,33,',
',33,,,33,33,,,33,,33,423,,423,33,423,423,,423,423,423,423,423,33,423',
',,,33,33,33,33,,33,33,33,33,,,,,33,33,,423,,,,,33,,33,33,33,121,121',
'121,121,121,121,,,,121,121,,,,121,,121,121,121,121,121,121,121,,,,,',
'121,121,121,121,121,121,121,,,121,,,,,,121,121,121,121,121,121,121,121',
'121,121,121,121,,121,121,121,,121,121,121,121,121,276,276,276,276,276',
'276,276,276,276,276,276,,276,276,,,276,276,,121,,,121,,,121,121,,,121',
',121,276,,276,121,276,276,,276,276,276,276,276,121,276,,,,121,121,121',
'121,,121,121,121,121,,,,,121,121,,276,,,,,121,,121,121,121,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,479,479,479,479,479,479',
'479,479,479,479,479,,479,479,,,479,479,,206,,,206,,,206,206,,,206,,206',
'479,,479,206,479,479,,479,479,479,479,479,206,479,,,,206,206,206,206',
',206,206,206,206,,,,,206,206,479,479,,,,,206,,206,206,206,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,528,528,528,528,528,528',
'528,528,528,528,528,,528,528,,,528,528,,231,,,231,,,231,231,,,231,,231',
'528,,528,231,528,528,,528,528,528,528,528,231,528,,,,231,231,231,231',
',231,231,231,231,,,,,231,231,,528,,,,,231,,231,231,231,296,296,296,296',
'296,296,,,,296,296,,,,296,,296,296,296,296,296,296,296,,,,,,296,296',
'296,296,296,296,296,,,296,,,,,,296,296,296,296,296,296,296,296,296,296',
'296,296,,296,296,296,,296,296,296,296,296,768,768,768,768,768,768,768',
'768,768,768,768,,768,768,,,768,768,,296,,,296,,,296,296,,,296,,296,768',
',768,296,768,768,,768,768,768,768,768,296,768,,,,296,296,296,296,,296',
'296,296,296,,,,,296,296,,768,,,,,296,,296,296,296,301,301,301,301,301',
'301,,,,301,301,,,,301,,301,301,301,301,301,301,301,,,,,,301,301,301',
'301,301,301,301,,,301,,,,,,301,301,301,301,301,301,301,301,301,301,301',
'301,,301,301,301,,301,301,301,301,301,863,863,863,863,863,863,863,863',
'863,863,863,,863,863,,,863,863,,301,,,301,,,301,301,,,301,,301,863,',
'863,301,863,863,,863,863,863,863,863,301,863,,,,301,301,301,301,,301',
'301,301,301,,,,,301,301,,863,,,,,301,,301,301,301,326,326,326,326,326',
'326,,,,326,326,,,,326,,326,326,326,326,326,326,326,,,,,,326,326,326',
'326,326,326,326,,,326,,,,,,326,326,326,326,326,326,326,326,326,326,326',
'326,,326,326,326,,326,326,326,326,326,454,454,454,454,454,454,454,454',
'454,454,454,,454,454,,,454,454,,326,,,326,,,326,326,,,326,,326,454,',
'454,326,454,454,,454,454,454,454,454,326,454,,,,326,326,326,326,,326',
'326,326,326,,,,,326,326,,,,,,,326,,326,326,326,507,507,507,507,507,507',
',,,507,507,,,,507,,507,507,507,507,507,507,507,,,,,,507,507,507,507',
'507,507,507,,,507,,,,,,507,507,507,507,507,507,507,507,507,507,507,507',
',507,507,507,,507,507,507,507,507,455,455,455,455,455,455,455,455,455',
'455,455,,455,455,,,455,455,,507,,,507,,,507,507,,,507,,507,455,,455',
'507,455,455,,455,455,455,455,455,507,455,,,,507,507,507,507,,507,507',
'507,507,,,,,507,507,,,,,,,507,,507,507,507,575,575,575,575,575,575,',
',,575,575,,,,575,,575,575,575,575,575,575,575,,,,,,575,575,575,575,575',
'575,575,,,575,,,,,,575,575,575,575,575,575,575,575,575,575,575,575,',
'575,575,575,,575,575,575,575,575,465,465,465,465,465,465,465,,,465,465',
',,,,,465,465,,575,,,575,,,575,575,,,575,,575,465,,465,575,465,465,,465',
'465,465,465,465,575,465,,,,575,575,575,575,,575,575,575,575,,,,,575',
'575,,,,,,,575,,575,575,575,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,468,,,,,,,,,,,,,,,,468,468,,578,,,578,,,578,578,,,578',
',578,468,,468,578,468,468,,468,468,,,468,578,468,,,,578,578,578,578',
',578,578,578,578,,,,,578,578,,,,,,,578,,578,578,578,598,598,598,598',
'598,598,,,,598,598,,,,598,,598,598,598,598,598,598,598,,,,,,598,598',
'598,598,598,598,598,,,598,,,,,,598,598,598,598,598,598,598,598,598,598',
'598,598,,598,598,598,,598,598,598,598,598,469,,,,,,,,,,,,,,,,469,469',
',598,,,598,,,598,598,,,598,,598,469,,469,598,469,469,,469,469,,,469',
'598,469,,,,598,598,598,598,,598,598,598,598,,,,,598,598,,,,,,,598,,598',
'598,598,738,738,738,738,738,738,,,,738,738,,,,738,,738,738,738,738,738',
'738,738,,,,,,738,738,738,738,738,738,738,,,738,,,,,,738,738,738,738',
'738,738,738,738,738,738,738,738,,738,738,738,,738,738,738,738,738,470',
'470,470,470,470,470,470,,,470,470,,,,,,470,470,,738,,,738,,,738,738',
',,738,,738,470,,470,738,470,470,,470,470,470,470,470,738,470,,,,738',
'738,738,738,,738,738,738,738,,,,,738,738,,,,,,,738,,738,738,738,742',
'742,742,742,742,742,,,,742,742,,,,742,,742,742,742,742,742,742,742,',
',,,,742,742,742,742,742,742,742,,,742,,,,,,742,742,742,742,742,742,742',
'742,742,742,742,742,,742,742,742,,742,742,742,742,742,471,471,471,471',
'471,471,471,,,471,471,,,,,,471,471,,742,,,742,,,742,742,,,742,,742,471',
',471,742,471,471,,471,471,471,471,471,742,471,,,,742,742,742,742,,742',
'742,742,742,,,,,742,742,,,,,,,742,,742,742,742,752,752,752,752,752,752',
',,,752,752,,,,752,,752,752,752,752,752,752,752,,,,,,752,752,752,752',
'752,752,752,,,752,,,,,,752,752,752,752,752,752,752,752,752,752,752,752',
',752,752,752,,752,752,752,752,752,472,472,472,472,472,472,472,,,472',
'472,,,,,,472,472,,752,,,752,,,752,752,,,752,,752,472,,472,752,472,472',
',472,472,472,472,472,752,472,,,,752,752,752,752,,752,752,752,752,,,',
',752,752,,,,,,,752,,752,752,752,791,791,791,791,791,791,,,,791,791,',
',,791,,791,791,791,791,791,791,791,,,,,,791,791,791,791,791,791,791',
',,791,,,,,,791,791,791,791,791,791,791,791,791,791,791,791,,791,791',
'791,,791,791,791,791,791,473,473,473,473,473,473,473,,,473,473,,,,,',
'473,473,,791,,,791,,,791,791,,,791,,791,473,,473,791,473,473,,473,473',
'473,473,473,791,473,,,,791,791,791,791,,791,791,791,791,,,,,791,791',
',,,,,,791,,791,791,791,795,795,795,795,795,795,,,,795,795,,,,795,,795',
'795,795,795,795,795,795,,,,,,795,795,795,795,795,795,795,,,795,,,,,',
'795,795,795,795,795,795,795,795,795,795,795,795,,795,795,795,,795,795',
'795,795,795,474,474,474,474,474,474,474,,,474,474,,,,,,474,474,,795',
',,795,,,795,795,,,795,,795,474,,474,795,474,474,,474,474,474,474,474',
'795,474,,,,795,795,795,795,,795,795,795,795,,,,,795,795,,,,,,,795,,795',
'795,795,806,806,806,806,806,806,,,,806,806,,,,806,,806,806,806,806,806',
'806,806,,,,,,806,806,806,806,806,806,806,,,806,,,,,,806,806,806,806',
'806,806,806,806,806,806,806,806,,806,806,806,,806,806,806,806,806,477',
'477,477,477,477,477,477,,,477,477,,,,,,477,477,,806,,,806,,,806,806',
',,806,,806,477,,477,806,477,477,,477,477,477,477,477,806,477,,,,806',
'806,806,806,,806,806,806,806,,,,,806,806,,,,,,,806,,806,806,806,814',
'814,814,814,814,814,,,,814,814,,,,814,,814,814,814,814,814,814,814,',
',,,,814,814,814,814,814,814,814,,,814,,,,,,814,814,814,814,814,814,814',
'814,814,814,814,814,,814,814,814,,814,814,814,814,814,478,478,478,478',
'478,478,478,478,,478,478,,,,,,478,478,,814,,,814,,,814,814,,,814,,814',
'478,,478,814,478,478,,478,478,478,478,478,814,478,,,,814,814,814,814',
',814,814,814,814,,,,,814,814,,,,,,,814,,814,814,814,815,815,815,815',
'815,815,,,,815,815,,,,815,,815,815,815,815,815,815,815,,,,,,815,815',
'815,815,815,815,815,,,815,,,,,,815,815,815,815,815,815,815,815,815,815',
'815,815,,815,815,815,,815,815,815,815,815,463,,,,,,,,,,,,,,,,463,463',
',815,,,815,,,815,815,,,815,,815,463,,463,815,463,463,,463,463,,,,815',
',,,,815,815,815,815,,815,815,815,815,,,,,815,815,,,,,,,815,,815,815',
'815,840,840,840,840,840,840,,,,840,840,,,,840,,840,840,840,840,840,840',
'840,,,,,,840,840,840,840,840,840,840,,,840,,,,,,840,840,840,840,840',
'840,840,840,840,840,840,840,,840,840,840,,840,840,840,840,840,,,,,,',
',,,,,,,,,,,,,840,,,840,,,840,840,,,840,,840,,,,840,,,,,,,,,840,,,,,840',
'840,840,840,,840,840,840,840,,,,,840,840,,,,,,,840,,840,840,840,841',
'841,841,841,841,841,,,,841,841,,,,841,,841,841,841,841,841,841,841,',
',,,,841,841,841,841,841,841,841,,,841,,,,,,841,841,841,841,841,841,841',
'841,841,841,841,841,,841,841,841,,841,841,841,841,841,,,,,,,,,,,,,,',
',,,,,841,,,841,,,841,841,,,841,,841,,,,841,,,,,,,,,841,,,,,841,841,841',
'841,,841,841,841,841,,,,,841,841,,,,,,,841,,841,841,841,844,844,844',
'844,844,844,,,,844,844,,,,844,,844,844,844,844,844,844,844,,,,,,844',
'844,844,844,844,844,844,,,844,,,,,,844,844,844,844,844,844,844,844,844',
'844,844,844,,844,844,844,,844,844,844,844,844,,,,,,,,,,,,,,,,,,,,844',
',,844,,,844,844,,,844,,844,,,,844,,,,,,,,,844,,,,,844,844,844,844,,844',
'844,844,844,,,,,844,844,,,,,,,844,,844,844,844,850,850,850,850,850,850',
',,,850,850,,,,850,,850,850,850,850,850,850,850,,,,,,850,850,850,850',
'850,850,850,,,850,,,,,,850,850,850,850,850,850,850,850,850,850,850,850',
',850,850,850,,850,850,850,850,850,,,,,,,,,,,,,,,,,,,,850,,,850,,,850',
'850,,,850,,850,,,,850,,,,,,,,,850,,,,,850,850,850,850,,850,850,850,850',
',,,,850,850,,,,,,,850,,850,850,850,880,880,880,880,880,880,,,,880,880',
',,,880,,880,880,880,880,880,880,880,,,,,,880,880,880,880,880,880,880',
',,880,,,,,,880,880,880,880,880,880,880,880,880,880,880,880,,880,880',
'880,,880,880,880,880,880,,,,,,,,,,,,,,,,,,,,880,,,880,,,880,880,,,880',
',880,,,,880,,,,,,,,,880,,,,,880,880,880,880,,880,880,880,880,,,,,880',
'880,,,,,,,880,,880,880,880,936,936,936,936,936,936,,,,936,936,,,,936',
',936,936,936,936,936,936,936,,,,,,936,936,936,936,936,936,936,,,936',
',,,,,936,936,936,936,936,936,936,936,936,936,936,936,,936,936,936,,936',
'936,936,936,936,,,,,,,,,,,,,,,,,,,,936,,,936,,,936,936,,,936,,936,,',
',936,,,,,,,,,936,,,,,936,936,936,936,,936,936,936,936,,,,,936,936,,',
',,,,936,,936,936,936,957,957,957,957,957,957,,,,957,957,,,,957,,957',
'957,957,957,957,957,957,,,,,,957,957,957,957,957,957,957,,,957,,,,,',
'957,957,957,957,957,957,957,957,957,957,957,957,,957,957,957,,957,957',
'957,957,957,,,,,,,,,,,,,,,,,,,,957,,,957,,,957,957,,,957,,957,,,,957',
',,,,,,,,957,,,,,957,957,957,957,,957,957,957,957,,,,,957,957,,,,,,,957',
',957,957,957,963,963,963,963,963,963,,,,963,963,,,,963,,963,963,963',
'963,963,963,963,,,,,,963,963,963,963,963,963,963,,,963,,,,,,963,963',
'963,963,963,963,963,963,963,963,963,963,,963,963,963,,963,963,963,963',
'963,,,,,,,,,,,,,,,,,,,,963,,,963,,,963,963,,,963,,963,,,,963,,,,,,,',
',963,,,,,963,963,963,963,,963,963,963,963,,,,,963,963,,,,,,,963,,963',
'963,963,965,965,965,965,965,965,,,,965,965,,,,965,,965,965,965,965,965',
'965,965,,,,,,965,965,965,965,965,965,965,,,965,,,,,,965,965,965,965',
'965,965,965,965,965,965,965,965,,965,965,965,,965,965,965,965,965,,',
',,,,,,,,,,,,,,,,,965,,,965,,,965,965,,,965,,965,,,,965,,,,,,,,,965,',
',,,965,965,965,965,,965,965,965,965,,,,,965,965,,,,,,,965,,965,965,965',
'5,5,5,5,5,,,,5,5,,,,5,,5,5,5,5,5,5,5,,,,,,5,5,5,5,5,5,5,,,5,,,,,,5,5',
'5,5,5,5,5,5,5,5,5,5,,5,5,5,,5,5,5,5,5,,,,,,,,,,,,,,,,,,,,5,,,5,,,5,5',
',,5,,5,,,,5,,,,,,,,,5,,,,,5,5,5,5,,5,5,5,5,,,,,5,5,,,,20,20,20,5,20',
'5,5,5,20,20,,,,20,,20,20,20,20,20,20,20,,,,,,20,20,20,20,20,20,20,,',
'20,,,,,,,20,,,20,20,20,20,20,20,20,20,,20,20,20,,20,20,20,20,20,,,,',
',,,,,,,,,,,,,,,20,,,20,,,20,20,,,20,,,,,,20,,,,,,,,,20,,,,,20,20,20',
'20,,20,20,20,20,,,,,20,20,,,,29,29,29,20,29,20,20,20,29,29,,,,29,,29',
'29,29,29,29,29,29,,,,,,29,29,29,29,29,29,29,,,29,,,,,,,29,,,29,29,29',
'29,29,29,29,29,29,29,29,29,,29,29,29,29,29,,,,,,,,,,,,,,,,,,,,29,,,29',
',,29,29,,,29,,29,,29,,29,,,29,,,,,,29,,,,,29,29,29,29,,29,29,29,29,',
',,,29,29,,,,30,30,30,29,30,29,29,29,30,30,,,,30,,30,30,30,30,30,30,30',
',,,,,30,30,30,30,30,30,30,,,30,,,,,,,30,,,30,30,30,30,30,30,30,30,30',
'30,30,30,,30,30,30,30,30,,,,,,,,,,,,,,,,,,,,30,,,30,,,30,30,,,30,,30',
',30,,30,,,30,,,,,,30,,,,,30,30,30,30,,30,30,30,30,,,,,30,30,,,,31,31',
'31,30,31,30,30,30,31,31,,,,31,,31,31,31,31,31,31,31,,,,,,31,31,31,31',
'31,31,31,,,31,,,,,,,31,,,31,31,31,31,31,31,31,31,31,31,31,31,,31,31',
'31,31,31,,,,,,,,,,,,,,,,,,,,31,,,31,,,31,31,,,31,,31,,31,,31,,,31,,',
',,,31,,,,,31,31,31,31,,31,31,31,31,,,,,31,31,,,,34,34,34,31,34,31,31',
'31,34,34,,,,34,,34,34,34,34,34,34,34,,,,,,34,34,34,34,34,34,34,,,34',
',,,,,,34,,,34,34,34,34,34,34,34,34,,34,34,34,,34,34,,,34,,,,,,,,,,,',
',,,,,,,,34,,,34,,,34,34,,,34,,34,,,,,,,,,,,,,,,,,,34,34,34,34,,34,34',
'34,34,,,,,34,34,,,,35,35,35,34,35,34,34,34,35,35,,,,35,,35,35,35,35',
'35,35,35,,,,,,35,35,35,35,35,35,35,,,35,,,,,,,35,,,35,35,35,35,35,35',
'35,35,,35,35,35,,35,35,,,35,,,,,,,,,,,,,,,,,,,,35,,,35,,,35,35,,,35',
',,893,,893,893,893,893,893,,,,,,,,,893,,35,35,35,35,,35,35,35,35,,,',
',35,35,,,,35,,893,35,,35,35,35,42,42,42,,42,893,893,,42,42,893,,,42',
',42,42,42,42,42,42,42,,,,,,42,42,42,42,42,42,42,,,42,,,,,,,42,,,42,42',
'42,42,42,42,42,42,,42,42,42,,42,42,42,42,42,,,,,,,,,,,,,,,,,,,,42,,',
'42,,,42,42,,,42,,,,,,42,,,,,,,,,42,,,,,42,42,42,42,,42,42,42,42,,,,',
'42,42,,,,43,43,43,42,43,42,42,42,43,43,,,,43,,43,43,43,43,43,43,43,',
',,,,43,43,43,43,43,43,43,,,43,,,,,,,43,,,43,43,43,43,43,43,43,43,,43',
'43,43,,43,43,43,43,43,,,,,,,,,,,,,,,,,,,,43,,,43,,,43,43,,,43,,,,,,43',
',,,,,,,,43,,,,,43,43,43,43,,43,43,43,43,,,,,43,43,,,,44,44,44,43,44',
'43,43,43,44,44,,,,44,,44,44,44,44,44,44,44,,,,,,44,44,44,44,44,44,44',
',,44,,,,,,,44,,,44,44,44,44,44,44,44,44,,44,44,44,,44,44,44,44,44,,',
',,,,,,,,,,,,,,,,,44,,,44,,,44,44,,,44,,,,,,44,,,,,,,,,44,,,,,44,44,44',
'44,,44,44,44,44,,,,,44,44,,,,59,59,59,44,59,44,44,44,59,59,,,,59,,59',
'59,59,59,59,59,59,,,,,,59,59,59,59,59,59,59,,,59,,,,,,,59,,,59,59,59',
'59,59,59,59,59,59,59,59,59,,59,59,59,59,59,,,,,,,,,,,,,,,,,,,,59,,,59',
',,59,59,,,59,,59,,,,59,,,59,,,,,,59,,,,,59,59,59,59,,59,59,59,59,,,',
',59,59,,,,60,60,60,59,60,59,59,59,60,60,,,,60,,60,60,60,60,60,60,60',
',,,,,60,60,60,60,60,60,60,,,60,,,,,,,60,,,60,60,60,60,60,60,60,60,60',
'60,60,60,,60,60,60,60,60,,,,,,,,,,,,,,,,,,,,60,,,60,,,60,60,,,60,,,',
',,60,,,60,,,,,,60,,,,,60,60,60,60,,60,60,60,60,,,,,60,60,,,,63,63,63',
'60,63,60,60,60,63,63,,,,63,,63,63,63,63,63,63,63,,,,,,63,63,63,63,63',
'63,63,,,63,,,,,,,63,,,63,63,63,63,63,63,63,63,,63,63,63,,63,63,63,63',
'63,,,,,,,,,,,,,,,,,,,,63,,,63,,,63,63,,,63,,,,,,63,,,,,,,,,63,,,,,63',
'63,63,63,,63,63,63,63,,,,,63,63,,,,64,64,64,63,64,63,63,63,64,64,,,',
'64,,64,64,64,64,64,64,64,,,,,,64,64,64,64,64,64,64,,,64,,,,,,,64,,,64',
'64,64,64,64,64,64,64,,64,64,64,,64,64,64,64,64,,,,,,,,,,,,,,,,,,,,64',
',,64,,,64,64,,,64,,,,,,64,,,,,,,,,64,,,,,64,64,64,64,,64,64,64,64,,',
',,64,64,,,,67,67,67,64,67,64,64,64,67,67,,,,67,,67,67,67,67,67,67,67',
',,,,,67,67,67,67,67,67,67,,,67,,,,,,,67,,,67,67,67,67,67,67,67,67,,67',
'67,67,,67,67,67,67,67,,,,,,,,,,,,,,,,,,,,67,,,67,,,67,67,,,67,,,,,,67',
',,,,,,,,67,,,,,67,67,67,67,,67,67,67,67,,,,,67,67,67,,,,,67,67,,67,67',
'67,68,68,68,,68,,,,68,68,,,,68,,68,68,68,68,68,68,68,,,,,,68,68,68,68',
'68,68,68,,,68,,,,,,,68,,,68,68,68,68,68,68,68,68,,68,68,68,,68,68,,',
'68,,,,,,,,,,,,,,,,,,,,68,,,68,,,68,68,,,68,,68,,,,,,,,,,,,,,,,,,68,68',
'68,68,,68,68,68,68,,,,,68,68,,,,69,69,69,68,69,68,68,68,69,69,,,,69',
',69,69,69,69,69,69,69,,,,,,69,69,69,69,69,69,69,,,69,,,,,,,69,,,69,69',
'69,69,69,69,69,69,,69,69,69,,69,69,,,69,,,,,,,,,,,,,,,,,69,,,69,,,69',
',,69,69,,,69,,,,,,,,,,,,,,,,,,,,69,69,69,69,,69,69,69,69,,,,,69,69,',
',,70,70,70,69,70,69,69,69,70,70,,,,70,,70,70,70,70,70,70,70,,,,,,70',
'70,70,70,70,70,70,,,70,,,,,,,70,,,70,70,70,70,70,70,70,70,,70,70,70',
',70,70,,,70,,,,,,,,,,,,,,,,,,,,70,,,70,,,70,70,,,70,,,895,,895,895,895',
'895,895,,,,,,,,,895,,70,70,70,70,,70,70,70,70,,,,,70,70,,,,,,895,70',
',70,70,70,111,111,111,111,111,895,895,,111,111,895,,,111,,111,111,111',
'111,111,111,111,,,,,,111,111,111,111,111,111,111,,,111,,,,,,111,111',
'111,111,111,111,111,111,111,111,111,111,,111,111,111,,111,111,111,111',
'111,,,,,,,,,,,,,,,,,,,,111,,,111,,,111,111,,,111,,111,,,,111,,,,,,,',
',111,,,,,111,111,111,111,,111,111,111,111,,,,,111,111,,,,,,111,111,',
'111,111,111,116,116,116,,116,,,,116,116,,,,116,,116,116,116,116,116',
'116,116,,,,,,116,116,116,116,116,116,116,,,116,,,,,,,116,,,116,116,116',
'116,116,116,116,116,,116,116,116,,116,116,116,116,116,,,,,,,,,,,,,,',
',,,,,116,,,116,,,116,116,,,116,,,,,,116,,,,,,,,,116,,,,,116,116,116',
'116,,116,116,116,116,,,,,116,116,,,,117,117,117,116,117,116,116,116',
'117,117,,,,117,,117,117,117,117,117,117,117,,,,,,117,117,117,117,117',
'117,117,,,117,,,,,,,117,,,117,117,117,117,117,117,117,117,,117,117,117',
',117,117,117,117,117,,,,,,,,,,,,,,,,,,,,117,,,117,,,117,117,,,117,,',
',,,117,,,,,,,,,117,,,,,117,117,117,117,,117,117,117,117,,,,,117,117',
',,,118,118,118,117,118,117,117,117,118,118,,,,118,,118,118,118,118,118',
'118,118,,,,,,118,118,118,118,118,118,118,,,118,,,,,,,118,,,118,118,118',
'118,118,118,118,118,,118,118,118,,118,118,118,118,118,,,,,,,,,,,,,,',
',,,,,118,,,118,,,118,118,,,118,,,,,,118,,,,,,,,,118,,,,,118,118,118',
'118,,118,118,118,118,,,,,118,118,,,,119,119,119,118,119,118,118,118',
'119,119,,,,119,,119,119,119,119,119,119,119,,,,,,119,119,119,119,119',
'119,119,,,119,,,,,,,119,,,119,119,119,119,119,119,119,119,,119,119,119',
',119,119,119,119,119,,,,,,,,,,,,,,,,,,,,119,,,119,,,119,119,,,119,,',
',,,119,,,,,,,,,119,,,,,119,119,119,119,,119,119,119,119,,,,,119,119',
',,,,,,119,,119,119,119,120,120,120,120,120,,,,120,120,,,,120,,120,120',
'120,120,120,120,120,,,,,,120,120,120,120,120,120,120,,,120,,,,,,120',
'120,,120,120,120,120,120,120,120,120,120,,120,120,120,,120,120,120,120',
'120,,,,,,,,,,,,,,,,,,,,120,,,120,,,120,120,,,120,,120,,,,120,,,,,,,',
',120,,,,,120,120,120,120,,120,120,120,120,,,,,120,120,,,,207,207,207',
'120,207,120,120,120,207,207,,,,207,,207,207,207,207,207,207,207,,,,',
',207,207,207,207,207,207,207,,,207,,,,,,,207,,,207,207,207,207,207,207',
'207,207,,207,207,207,,207,207,207,207,207,,,,,,,,,,,,,,,,,,,,207,,,207',
',,207,207,,,207,,207,,,,207,,,,,,,,,207,,,,,207,207,207,207,,207,207',
'207,207,,,,,207,207,,,,208,208,208,207,208,207,207,207,208,208,,,,208',
',208,208,208,208,208,208,208,,,,,,208,208,208,208,208,208,208,,,208',
',,,,,,208,,,208,208,208,208,208,208,208,208,,208,208,208,,208,208,208',
'208,208,,,,,,,,,,,,,,,,,,,,208,,,208,,,208,208,,,208,,208,,,,208,,,',
',,,,,208,,,,,208,208,208,208,,208,208,208,208,,,,,208,208,,,,209,209',
'209,208,209,208,208,208,209,209,,,,209,,209,209,209,209,209,209,209',
',,,,,209,209,209,209,209,209,209,,,209,,,,,,,209,,,209,209,209,209,209',
'209,209,209,,209,209,209,,209,209,209,209,209,,,,,,,,,,,,,,,,,,,,209',
',,209,,,209,209,,,209,,,,,,209,,,,,,,,,209,,,,,209,209,209,209,,209',
'209,209,209,,,,,209,209,,,,210,210,210,209,210,209,209,209,210,210,',
',,210,,210,210,210,210,210,210,210,,,,,,210,210,210,210,210,210,210',
',,210,,,,,,,210,,,210,210,210,210,210,210,210,210,,210,210,210,,210',
'210,210,210,210,,,,,,,,,,,,,,,,,,,,210,,,210,,,210,210,,,210,,,,,,210',
',,,,,,,,210,,,,,210,210,210,210,,210,210,210,210,,,,,210,210,,,,211',
'211,211,210,211,210,210,210,211,211,,,,211,,211,211,211,211,211,211',
'211,,,,,,211,211,211,211,211,211,211,,,211,,,,,,,211,,,211,211,211,211',
'211,211,211,211,,211,211,211,,211,211,211,211,211,,,,,,,,,,,,,,,,,,',
',211,,,211,,,211,211,,,211,,,,,,211,,,,,,,,,211,,,,,211,211,211,211',
',211,211,211,211,,,,,211,211,,,,212,212,212,211,212,211,211,211,212',
'212,,,,212,,212,212,212,212,212,212,212,,,,,,212,212,212,212,212,212',
'212,,,212,,,,,,,212,,,212,212,212,212,212,212,212,212,212,212,212,212',
',212,212,212,212,212,,,,,,,,,,,,,,,,,,,,212,,,212,,,212,212,,,212,,212',
',212,,212,,,212,,,,,,212,,,,,212,212,212,212,,212,212,212,212,,,,,212',
'212,,,,217,217,217,212,217,212,212,212,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,,,,218,218,218,217,218,217,217',
'217,218,218,,,,218,,218,218,218,218,218,218,218,,,,,,218,218,218,218',
'218,218,218,,,218,,,,,,,218,,,218,218,218,218,218,218,218,218,,218,218',
'218,,218,218,218,218,218,,,,,,,,,,,,,,,,,,,,218,,,218,,,218,218,,,218',
',,,,,218,,,,,,,,,218,,,,,218,218,218,218,,218,218,218,218,,,,,218,218',
',,,219,219,219,218,219,218,218,218,219,219,,,,219,,219,219,219,219,219',
'219,219,,,,,,219,219,219,219,219,219,219,,,219,,,,,,,219,,,219,219,219',
'219,219,219,219,219,,219,219,219,,219,219,219,219,219,,,,,,,,,,,,,,',
',,,,,219,,,219,,,219,219,,,219,,,,,,219,,,,,,,,,219,,,,,219,219,219',
'219,,219,219,219,219,,,,,219,219,219,,,230,230,230,219,230,219,219,219',
'230,230,,,,230,,230,230,230,230,230,230,230,,,,,,230,230,230,230,230',
'230,230,,,230,,,,,,,230,,,230,230,230,230,230,230,230,230,,230,230,230',
',230,230,230,230,230,,,,,,,,,,,,,,,,,,,,230,,,230,,,230,230,,,230,,',
',,,230,,,,,,,,,230,,,,,230,230,230,230,,230,230,230,230,,,,,230,230',
',,,233,233,233,230,233,230,230,230,233,233,,,,233,,233,233,233,233,233',
'233,233,,,,,,233,233,233,233,233,233,233,,,233,,,,,,,233,,,233,233,233',
'233,233,233,233,233,,233,233,233,,233,233,233,233,233,,,,,,,,,,,,,,',
',,,,,233,,,233,,,233,233,,,233,,,,,,233,,,,,,,,,233,,,,,233,233,233',
'233,,233,233,233,233,,,,,233,233,,,,234,234,234,233,234,233,233,233',
'234,234,,,,234,,234,234,234,234,234,234,234,,,,,,234,234,234,234,234',
'234,234,,,234,,,,,,,234,,,234,234,234,234,234,234,234,234,,234,234,234',
',234,234,234,234,234,,,,,,,,,,,,,,,,,,,,234,,,234,,,234,234,,,234,,',
',,,234,,,,,,,,,234,,,,,234,234,234,234,,234,234,234,234,,,,,234,234',
',,,235,235,235,234,235,234,234,234,235,235,,,,235,,235,235,235,235,235',
'235,235,,,,,,235,235,235,235,235,235,235,,,235,,,,,,,235,,,235,235,235',
'235,235,235,235,235,,235,235,235,,235,235,235,235,235,,,,,,,,,,,,,,',
',,,,,235,,,235,,,235,235,,,235,,,,,,235,,,,,,,,,235,,,,,235,235,235',
'235,,235,235,235,235,,,,,235,235,,,,236,236,236,235,236,235,235,235',
'236,236,,,,236,,236,236,236,236,236,236,236,,,,,,236,236,236,236,236',
'236,236,,,236,,,,,,,236,,,236,236,236,236,236,236,236,236,,236,236,236',
',236,236,236,236,236,,,,,,,,,,,,,,,,,,,,236,,,236,,,236,236,,,236,,',
',,,236,,,,,,,,,236,,,,,236,236,236,236,,236,236,236,236,,,,,236,236',
',,,237,237,237,236,237,236,236,236,237,237,,,,237,,237,237,237,237,237',
'237,237,,,,,,237,237,237,237,237,237,237,,,237,,,,,,,237,,,237,237,237',
'237,237,237,237,237,,237,237,237,,237,237,237,237,237,,,,,,,,,,,,,,',
',,,,,237,,,237,,,237,237,,,237,,,,,,237,,,,,,,,,237,,,,,237,237,237',
'237,,237,237,237,237,,,,,237,237,,,,238,238,238,237,238,237,237,237',
'238,238,,,,238,,238,238,238,238,238,238,238,,,,,,238,238,238,238,238',
'238,238,,,238,,,,,,,238,,,238,238,238,238,238,238,238,238,,238,238,238',
',238,238,238,238,238,,,,,,,,,,,,,,,,,,,,238,,,238,,,238,238,,,238,,',
',,,238,,,,,,,,,238,,,,,238,238,238,238,,238,238,238,238,,,,,238,238',
',,,239,239,239,238,239,238,238,238,239,239,,,,239,,239,239,239,239,239',
'239,239,,,,,,239,239,239,239,239,239,239,,,239,,,,,,,239,,,239,239,239',
'239,239,239,239,239,,239,239,239,,239,239,239,239,239,,,,,,,,,,,,,,',
',,,,,239,,,239,,,239,239,,,239,,,,,,239,,,,,,,,,239,,,,,239,239,239',
'239,,239,239,239,239,,,,,239,239,,,,240,240,240,239,240,239,239,239',
'240,240,,,,240,,240,240,240,240,240,240,240,,,,,,240,240,240,240,240',
'240,240,,,240,,,,,,,240,,,240,240,240,240,240,240,240,240,,240,240,240',
',240,240,240,240,240,,,,,,,,,,,,,,,,,,,,240,,,240,,,240,240,,,240,,',
',,,240,,,,,,,,,240,,,,,240,240,240,240,,240,240,240,240,,,,,240,240',
',,,241,241,241,240,241,240,240,240,241,241,,,,241,,241,241,241,241,241',
'241,241,,,,,,241,241,241,241,241,241,241,,,241,,,,,,,241,,,241,241,241',
'241,241,241,241,241,,241,241,241,,241,241,241,241,241,,,,,,,,,,,,,,',
',,,,,241,,,241,,,241,241,,,241,,,,,,241,,,,,,,,,241,,,,,241,241,241',
'241,,241,241,241,241,,,,,241,241,,,,242,242,242,241,242,241,241,241',
'242,242,,,,242,,242,242,242,242,242,242,242,,,,,,242,242,242,242,242',
'242,242,,,242,,,,,,,242,,,242,242,242,242,242,242,242,242,,242,242,242',
',242,242,242,242,242,,,,,,,,,,,,,,,,,,,,242,,,242,,,242,242,,,242,,',
',,,242,,,,,,,,,242,,,,,242,242,242,242,,242,242,242,242,,,,,242,242',
',,,243,243,243,242,243,242,242,242,243,243,,,,243,,243,243,243,243,243',
'243,243,,,,,,243,243,243,243,243,243,243,,,243,,,,,,,243,,,243,243,243',
'243,243,243,243,243,,243,243,243,,243,243,243,243,243,,,,,,,,,,,,,,',
',,,,,243,,,243,,,243,243,,,243,,,,,,243,,,,,,,,,243,,,,,243,243,243',
'243,,243,243,243,243,,,,,243,243,,,,244,244,244,243,244,243,243,243',
'244,244,,,,244,,244,244,244,244,244,244,244,,,,,,244,244,244,244,244',
'244,244,,,244,,,,,,,244,,,244,244,244,244,244,244,244,244,,244,244,244',
',244,244,244,244,244,,,,,,,,,,,,,,,,,,,,244,,,244,,,244,244,,,244,,',
',,,244,,,,,,,,,244,,,,,244,244,244,244,,244,244,244,244,,,,,244,244',
',,,245,245,245,244,245,244,244,244,245,245,,,,245,,245,245,245,245,245',
'245,245,,,,,,245,245,245,245,245,245,245,,,245,,,,,,,245,,,245,245,245',
'245,245,245,245,245,,245,245,245,,245,245,245,245,245,,,,,,,,,,,,,,',
',,,,,245,,,245,,,245,245,,,245,,,,,,245,,,,,,,,,245,,,,,245,245,245',
'245,,245,245,245,245,,,,,245,245,,,,246,246,246,245,246,245,245,245',
'246,246,,,,246,,246,246,246,246,246,246,246,,,,,,246,246,246,246,246',
'246,246,,,246,,,,,,,246,,,246,246,246,246,246,246,246,246,,246,246,246',
',246,246,246,246,246,,,,,,,,,,,,,,,,,,,,246,,,246,,,246,246,,,246,,',
',,,246,,,,,,,,,246,,,,,246,246,246,246,,246,246,246,246,,,,,246,246',
',,,247,247,247,246,247,246,246,246,247,247,,,,247,,247,247,247,247,247',
'247,247,,,,,,247,247,247,247,247,247,247,,,247,,,,,,,247,,,247,247,247',
'247,247,247,247,247,,247,247,247,,247,247,247,247,247,,,,,,,,,,,,,,',
',,,,,247,,,247,,,247,247,,,247,,,,,,247,,,,,,,,,247,,,,,247,247,247',
'247,,247,247,247,247,,,,,247,247,,,,248,248,248,247,248,247,247,247',
'248,248,,,,248,,248,248,248,248,248,248,248,,,,,,248,248,248,248,248',
'248,248,,,248,,,,,,,248,,,248,248,248,248,248,248,248,248,,248,248,248',
',248,248,248,248,248,,,,,,,,,,,,,,,,,,,,248,,,248,,,248,248,,,248,,',
',,,248,,,,,,,,,248,,,,,248,248,248,248,,248,248,248,248,,,,,248,248',
',,,249,249,249,248,249,248,248,248,249,249,,,,249,,249,249,249,249,249',
'249,249,,,,,,249,249,249,249,249,249,249,,,249,,,,,,,249,,,249,249,249',
'249,249,249,249,249,,249,249,249,,249,249,249,249,249,,,,,,,,,,,,,,',
',,,,,249,,,249,,,249,249,,,249,,,,,,249,,,,,,,,,249,,,,,249,249,249',
'249,,249,249,249,249,,,,,249,249,,,,250,250,250,249,250,249,249,249',
'250,250,,,,250,,250,250,250,250,250,250,250,,,,,,250,250,250,250,250',
'250,250,,,250,,,,,,,250,,,250,250,250,250,250,250,250,250,,250,250,250',
',250,250,250,250,250,,,,,,,,,,,,,,,,,,,,250,,,250,,,250,250,,,250,,',
',,,250,,,,,,,,,250,,,,,250,250,250,250,,250,250,250,250,,,,,250,250',
',,,251,251,251,250,251,250,250,250,251,251,,,,251,,251,251,251,251,251',
'251,251,,,,,,251,251,251,251,251,251,251,,,251,,,,,,,251,,,251,251,251',
'251,251,251,251,251,,251,251,251,,251,251,251,251,251,,,,,,,,,,,,,,',
',,,,,251,,,251,,,251,251,,,251,,,,,,251,,,,,,,,,251,,,,,251,251,251',
'251,,251,251,251,251,,,,,251,251,,,,252,252,252,251,252,251,251,251',
'252,252,,,,252,,252,252,252,252,252,252,252,,,,,,252,252,252,252,252',
'252,252,,,252,,,,,,,252,,,252,252,252,252,252,252,252,252,,252,252,252',
',252,252,252,252,252,,,,,,,,,,,,,,,,,,,,252,,,252,,,252,252,,,252,,',
',,,252,,,,,,,,,252,,,,,252,252,252,252,,252,252,252,252,,,,,252,252',
',,,253,253,253,252,253,252,252,252,253,253,,,,253,,253,253,253,253,253',
'253,253,,,,,,253,253,253,253,253,253,253,,,253,,,,,,,253,,,253,253,253',
'253,253,253,253,253,,253,253,253,,253,253,253,253,253,,,,,,,,,,,,,,',
',,,,,253,,,253,,,253,253,,,253,,,,,,253,,,,,,,,,253,,,,,253,253,253',
'253,,253,253,253,253,,,,,253,253,,,,254,254,254,253,254,253,253,253',
'254,254,,,,254,,254,254,254,254,254,254,254,,,,,,254,254,254,254,254',
'254,254,,,254,,,,,,,254,,,254,254,254,254,254,254,254,254,,254,254,254',
',254,254,254,254,254,,,,,,,,,,,,,,,,,,,,254,,,254,,,254,254,,,254,,',
',,,254,,,,,,,,,254,,,,,254,254,254,254,,254,254,254,254,,,,,254,254',
',,,255,255,255,254,255,254,254,254,255,255,,,,255,,255,255,255,255,255',
'255,255,,,,,,255,255,255,255,255,255,255,,,255,,,,,,,255,,,255,255,255',
'255,255,255,255,255,,255,255,255,,255,255,255,255,255,,,,,,,,,,,,,,',
',,,,,255,,,255,,,255,255,,,255,,,,,,255,,,,,,,,,255,,,,,255,255,255',
'255,,255,255,255,255,,,,,255,255,,,,256,256,256,255,256,255,255,255',
'256,256,,,,256,,256,256,256,256,256,256,256,,,,,,256,256,256,256,256',
'256,256,,,256,,,,,,,256,,,256,256,256,256,256,256,256,256,,256,256,256',
',256,256,256,256,256,,,,,,,,,,,,,,,,,,,,256,,,256,,,256,256,,,256,,',
',,,256,,,,,,,,,256,,,,,256,256,256,256,,256,256,256,256,,,,,256,256',
',,,257,257,257,256,257,256,256,256,257,257,,,,257,,257,257,257,257,257',
'257,257,,,,,,257,257,257,257,257,257,257,,,257,,,,,,,257,,,257,257,257',
'257,257,257,257,257,,257,257,257,,257,257,257,257,257,,,,,,,,,,,,,,',
',,,,,257,,,257,,,257,257,,,257,,,,,,257,,,,,,,,,257,,,,,257,257,257',
'257,,257,257,257,257,,,,,257,257,,,,258,258,258,257,258,257,257,257',
'258,258,,,,258,,258,258,258,258,258,258,258,,,,,,258,258,258,258,258',
'258,258,,,258,,,,,,,258,,,258,258,258,258,258,258,258,258,,258,258,258',
',258,258,258,258,258,,,,,,,,,,,,,,,,,,,,258,,,258,,,258,258,,,258,,',
',,,258,,,,,,,,,258,,,,,258,258,258,258,,258,258,258,258,,,,,258,258',
',,,265,265,265,258,265,258,258,258,265,265,,,,265,,265,265,265,265,265',
'265,265,,,,,,265,265,265,265,265,265,265,,,265,,,,,,,265,,,265,265,265',
'265,265,265,265,265,265,265,265,265,,265,265,265,265,265,,,,,,,,,,,',
',,,,,,,,265,,,265,,,265,265,,,265,,265,,265,,265,,,265,,,,,,265,,,,',
'265,265,265,265,,265,265,265,265,,,,,265,265,,,,266,266,266,265,266',
'265,265,265,266,266,,,,266,,266,266,266,266,266,266,266,,,,,,266,266',
'266,266,266,266,266,,,266,,,,,,,266,,,266,266,266,266,266,266,266,266',
'266,266,266,266,,266,266,266,266,266,,,,,,,,,,,,,,,,,,,,266,,,266,,',
'266,266,,,266,,266,,266,,266,,,266,,,,,,266,,,,,266,266,266,266,,266',
'266,266,266,,,,,266,266,,,,274,274,274,266,274,266,266,266,274,274,',
',,274,,274,274,274,274,274,274,274,,,,,,274,274,274,274,274,274,274',
',,274,,,,,,,274,,,274,274,274,274,274,274,274,274,274,274,274,274,,274',
'274,274,274,274,,,,,,,,,,,,,,,,,,,,274,,,274,,,274,274,,,274,,274,,274',
',274,,,274,,,,,,274,,,,,274,274,274,274,,274,274,274,274,,,,,274,274',
'274,,,281,281,281,274,281,274,274,274,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',
',,,286,286,286,283,286,283,283,283,286,286,,,,286,,286,286,286,286,286',
'286,286,,,,,,286,286,286,286,286,286,286,,,286,,,,,,,286,,,286,286,286',
'286,286,286,286,286,,286,286,286,,286,286,286,286,286,,,,,,,,,,,,,,',
',,,,,286,,,286,,,286,286,,,286,,,,,,286,,,,,,,,,286,,,,,286,286,286',
'286,,286,286,286,286,,,,,286,286,,,,287,287,287,286,287,286,286,286',
'287,287,,,,287,,287,287,287,287,287,287,287,,,,,,287,287,287,287,287',
'287,287,,,287,,,,,,,287,,,287,287,287,287,287,287,287,287,,287,287,287',
',287,287,287,287,287,,,,,,,,,,,,,,,,,,,,287,,,287,,,287,287,,,287,,',
',,,287,,,,,,,,,287,,,,,287,287,287,287,,287,287,287,287,,,,,287,287',
',,,,,,287,,287,287,287,292,292,292,292,292,,,,292,292,,,,292,,292,292',
'292,292,292,292,292,,,,,,292,292,292,292,292,292,292,,,292,,,,,,292',
'292,,292,292,292,292,292,292,292,292,292,,292,292,292,,292,292,292,292',
'292,,,,,,,,,,,,,,,,,,,,292,,,292,,,292,292,,,292,,292,,,,292,,,,,,,',
',292,,,,,292,292,292,292,,292,292,292,292,,,,,292,292,,,,300,300,300',
'292,300,292,292,292,300,300,,,,300,,300,300,300,300,300,300,300,,,,',
',300,300,300,300,300,300,300,,,300,,,,,,,300,,,300,300,300,300,300,300',
'300,300,,300,300,300,,300,300,,,300,,,,,,,,,,,,,,,,,,,,300,,,300,,,300',
'300,,,300,,,897,,897,897,897,897,897,,,,,,,,,897,,300,300,300,300,,300',
'300,300,300,,,,,300,300,,,,300,,897,300,,300,300,300,317,317,317,,317',
'897,897,,317,317,897,,,317,,317,317,317,317,317,317,317,,,,,,317,317',
'317,317,317,317,317,,,317,,,,,,,317,,,317,317,317,317,317,317,317,317',
',317,317,317,,317,317,,,317,,,,,,,,,,,,,,,,,,,,317,,,317,,,317,317,',
',317,,,,,,,,,,,,,,,,,,,,317,317,317,317,,317,317,317,317,,,,,317,317',
',,,325,325,325,317,325,317,317,317,325,325,,,,325,,325,325,325,325,325',
'325,325,,,,,,325,325,325,325,325,325,325,,,325,,,,,,,325,,,325,325,325',
'325,325,325,325,325,,325,325,325,,325,325,325,325,325,,,,,,,,,,,,,,',
',,,,,325,,,325,325,,325,325,,,325,,,,,,325,,,,,,,,,325,,,,,325,325,325',
'325,,325,325,325,325,,,,,325,325,,,,,,,325,,325,325,325,327,327,327',
'327,327,,,,327,327,,,,327,,327,327,327,327,327,327,327,,,,,,327,327',
'327,327,327,327,327,,,327,,,,,,327,327,,327,327,327,327,327,327,327',
'327,327,,327,327,327,,327,327,327,327,327,,,,,,,,,,,,,,,,,,,,327,,,327',
',,327,327,,,327,,327,,,,327,,,,,,,,,327,,,,,327,327,327,327,,327,327',
'327,327,,,,,327,327,,,,342,342,342,327,342,327,327,327,342,342,,,,342',
',342,342,342,342,342,342,342,,,,,,342,342,342,342,342,342,342,,,342',
',,,,,,342,,,342,342,342,342,342,342,342,342,,342,342,342,,342,342,342',
'342,342,,,,,,,,,,,,,,,,,,,,342,,,342,,,342,342,,,342,,,,,,342,,,,,,',
',,342,,,,,342,342,342,342,,342,342,342,342,,,,,342,342,,,,343,343,343',
'342,343,342,342,342,343,343,,,,343,,343,343,343,343,343,343,343,,,,',
',343,343,343,343,343,343,343,,,343,,,,,,,343,,,343,343,343,343,343,343',
'343,343,,343,343,343,,343,343,343,343,343,,,,,,,,,,,,,,,,,,,,343,,,343',
',,343,343,,,343,,,,,,343,,,,,,,,,343,,,,,343,343,343,343,,343,343,343',
'343,,,,,343,343,,,,362,362,362,343,362,343,343,343,362,362,,,,362,,362',
'362,362,362,362,362,362,,,,,,362,362,362,362,362,362,362,,,362,,,,,',
',362,,,362,362,362,362,362,362,362,362,,362,362,362,,362,362,362,362',
'362,,,,,,,,,,,,,,,,,,,,362,,,362,,,362,362,,,362,,,,,,362,,,,,,,,,362',
',,,,362,362,362,362,,362,362,362,362,,,,,362,362,,,,378,378,378,362',
'378,362,362,362,378,378,,,,378,,378,378,378,378,378,378,378,,,,,,378',
'378,378,378,378,378,378,,,378,,,,,,,378,,,378,378,378,378,378,378,378',
'378,,378,378,378,,378,378,378,378,378,,,,,,,,,,,,,,,,,,,,378,,,378,',
',378,378,,,378,,,,,,378,,,,,,,,,378,,,,,378,378,378,378,,378,378,378',
'378,,,,,378,378,,,,406,406,406,378,406,378,378,378,406,406,,,,406,,406',
'406,406,406,406,406,406,,,,,,406,406,406,406,406,406,406,,,406,,,,,',
',406,,,406,406,406,406,406,406,406,406,,406,406,406,,406,406,406,406',
'406,,,,,,,,,,,,,,,,,,,,406,,,406,,,406,406,,,406,,,,,,406,,,,,,,,,406',
',,,,406,406,406,406,,406,406,406,406,,,,,406,406,,,,449,449,449,406',
'449,406,406,406,449,449,,,,449,,449,449,449,449,449,449,449,,,,,,449',
'449,449,449,449,449,449,,,449,,,,,,,449,,,449,449,449,449,449,449,449',
'449,449,449,449,449,,449,449,449,449,449,,,,,,,,,,,,,,,,,,,,449,,,449',
',,449,449,,,449,,449,,449,,449,,,449,,,,,,449,,,,,449,449,449,449,,449',
'449,449,449,,,,,449,449,,,,451,451,451,449,451,449,449,449,451,451,',
',,451,,451,451,451,451,451,451,451,,,,,,451,451,451,451,451,451,451',
',,451,,,,,,,451,,,451,451,451,451,451,451,451,451,,451,451,451,,451',
'451,451,451,451,,,,,,,,,,,,,,,,,,,,451,,,451,,,451,451,,,451,,,,,,451',
',,,,,,,,451,,,,,451,451,451,451,,451,451,451,451,,,,,451,451,,,,452',
'452,452,451,452,451,451,451,452,452,,,,452,,452,452,452,452,452,452',
'452,,,,,,452,452,452,452,452,452,452,,,452,,,,,,,452,,,452,452,452,452',
'452,452,452,452,,452,452,452,,452,452,452,452,452,,,,,,,,,,,,,,,,,,',
',452,,,452,,,452,452,,,452,,,,,,452,,,,,,,,,452,,,,,452,452,452,452',
',452,452,452,452,,,,,452,452,,,,453,453,453,452,453,452,452,452,453',
'453,,,,453,,453,453,453,453,453,453,453,,,,,,453,453,453,453,453,453',
'453,,,453,,,,,,,453,,,453,453,453,453,453,453,453,453,,453,453,453,',
'453,453,453,453,453,,,,,,,,,,,,,,,,,,,,453,,,453,,,453,453,,,453,,,',
',,453,,,,,,,,,453,,,,,453,453,453,453,,453,453,453,453,,,,,453,453,',
',,495,495,495,453,495,453,453,453,495,495,,,,495,,495,495,495,495,495',
'495,495,,,,,,495,495,495,495,495,495,495,,,495,,,,,,,495,,,495,495,495',
'495,495,495,495,495,495,495,495,495,,495,495,495,495,495,,,,,,,,,,,',
',,,,,,,,495,,,495,,,495,495,,,495,,495,,495,,495,,,495,,,,,,495,,,,',
'495,495,495,495,,495,495,495,495,,,,,495,495,,,,497,497,497,495,497',
'495,495,495,497,497,,,,497,,497,497,497,497,497,497,497,,,,,,497,497',
'497,497,497,497,497,,,497,,,,,,,497,,,497,497,497,497,497,497,497,497',
'497,497,497,497,,497,497,497,497,497,,,,,,,,,,,,,,,,,,,,497,,,497,,',
'497,497,,,497,,,,497,,497,,,497,,,,,,497,,,,,497,497,497,497,,497,497',
'497,497,,,,,497,497,,,,499,499,499,497,499,497,497,497,499,499,,,,499',
',499,499,499,499,499,499,499,,,,,,499,499,499,499,499,499,499,,,499',
',,,,,,499,,,499,499,499,499,499,499,499,499,,499,499,499,,499,499,499',
'499,499,,,,,,,,,,,,,,,,,,,,499,,,499,,,499,499,,,499,,,,,,499,,,,,,',
',,499,,,,,499,499,499,499,,499,499,499,499,,,,,499,499,,,,,,,499,,499',
'499,499,505,505,505,505,505,,,,505,505,,,,505,,505,505,505,505,505,505',
'505,,,,,,505,505,505,505,505,505,505,,,505,,,,,,505,505,505,505,505',
'505,505,505,505,505,505,505,,505,505,505,,505,505,505,505,505,,,,,,',
',,,,,,,,,,,,,505,,,505,,,505,505,,,505,,505,,,,505,,,,,,,,,505,,,,,505',
'505,505,505,,505,505,505,505,,,,,505,505,,,,,,505,505,,505,505,505,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',
',,,515,515,515,513,515,513,513,513,515,515,,,,515,,515,515,515,515,515',
'515,515,,,,,,515,515,515,515,515,515,515,,,515,,,,,,,515,,,515,515,515',
'515,515,515,515,515,515,515,515,515,,515,515,515,515,515,,,,,,,,,,,',
',,,,,,,,515,,,515,,,515,515,,,515,,515,,515,,515,,,515,,,,,,515,,,,',
'515,515,515,515,,515,515,515,515,,,,,515,515,,,,521,521,521,515,521',
'515,515,515,521,521,,,,521,,521,521,521,521,521,521,521,,,,,,521,521',
'521,521,521,521,521,,,521,,,,,,,521,,,521,521,521,521,521,521,521,521',
',521,521,521,,521,521,,,521,,,,,,,,,,,,,,,,,,,,521,,,521,,,521,521,',
',521,,,,,,,,,,,,,,,,,,,,521,521,521,521,,521,521,521,521,,,,,521,521',
',,,524,524,524,521,524,521,521,521,524,524,,,,524,,524,524,524,524,524',
'524,524,,,,,,524,524,524,524,524,524,524,,,524,,,,,,,524,,,524,524,524',
'524,524,524,524,524,,524,524,524,,524,524,524,524,524,,,,,,,,,,,,,,',
',,,,,524,,,524,,,524,524,,,524,,,,,,524,,,,,,,,,524,,,,,524,524,524',
'524,,524,524,524,524,,,,,524,524,,,,525,525,525,524,525,524,524,524',
'525,525,,,,525,,525,525,525,525,525,525,525,,,,,,525,525,525,525,525',
'525,525,,,525,,,,,,,525,,,525,525,525,525,525,525,525,525,,525,525,525',
',525,525,525,525,525,,,,,,,,,,,,,,,,,,,,525,,,525,,,525,525,,,525,,',
',,,525,,,,,,,,,525,,,,,525,525,525,525,,525,525,525,525,,,,,525,525',
',,,529,529,529,525,529,525,525,525,529,529,,,,529,,529,529,529,529,529',
'529,529,,,,,,529,529,529,529,529,529,529,,,529,,,,,,,529,,,529,529,529',
'529,529,529,529,529,,529,529,529,,529,529,529,529,529,,,,,,,,,,,,,,',
',,,,,529,,,529,,,529,529,,,529,,,,,,529,,,,,,,,,529,,,,,529,529,529',
'529,,529,529,529,529,,,,,529,529,,,,535,535,535,529,535,529,529,529',
'535,535,,,,535,,535,535,535,535,535,535,535,,,,,,535,535,535,535,535',
'535,535,,,535,,,,,,,535,,,535,535,535,535,535,535,535,535,535,535,535',
'535,,535,535,535,535,535,,,,,,,,,,,,,,,,,,,,535,,,535,,,535,535,,,535',
',535,,,,535,,,535,,,,,,535,,,,,535,535,535,535,,535,535,535,535,,,,',
'535,535,,,,538,538,538,535,538,535,535,535,538,538,,,,538,,538,538,538',
'538,538,538,538,,,,,,538,538,538,538,538,538,538,,,538,,,,,,,538,,,538',
'538,538,538,538,538,538,538,538,538,538,538,,538,538,538,538,538,,,',
',,,,,,,,,,,,,,,,538,,,538,,,538,538,,,538,,,,,,538,,,538,,,,,,538,,',
',,538,538,538,538,,538,538,538,538,,,,,538,538,,,,563,563,563,538,563',
'538,538,538,563,563,,,,563,,563,563,563,563,563,563,563,,,,,,563,563',
'563,563,563,563,563,,,563,,,,,,,563,,,563,563,563,563,563,563,563,563',
',563,563,563,,563,563,563,563,563,,,,,,,,,,,,,,,,,,,,563,,,563,,,563',
'563,,,563,,,,,,563,,,,,,,,,563,,,,,563,563,563,563,,563,563,563,563',
',,,,563,563,,,,583,583,583,563,583,563,563,563,583,583,,,,583,,583,583',
'583,583,583,583,583,,,,,,583,583,583,583,583,583,583,,,583,,,,,,,583',
',,583,583,583,583,583,583,583,583,,583,583,583,,583,583,583,583,583',
',,,,,,,,,,,,,,,,,,,583,,,583,,,583,583,,,583,,583,,,,583,,,,,,,,,583',
',,,,583,583,583,583,,583,583,583,583,,,,,583,583,,,,584,584,584,583',
'584,583,583,583,584,584,,,,584,,584,584,584,584,584,584,584,,,,,,584',
'584,584,584,584,584,584,,,584,,,,,,,584,,,584,584,584,584,584,584,584',
'584,584,584,584,584,,584,584,584,584,584,,,,,,,,,,,,,,,,,,,,584,,,584',
',,584,584,,,584,,584,,584,,584,,,584,,,,,,584,,,,,584,584,584,584,,584',
'584,584,584,,,,,584,584,,,,594,594,594,584,594,584,584,584,594,594,',
',,594,,594,594,594,594,594,594,594,,,,,,594,594,594,594,594,594,594',
',,594,,,,,,,594,,,594,594,594,594,594,594,594,594,594,594,594,594,,594',
'594,594,594,594,,,,,,,,,,,,,,,,,,,,594,,,594,,,594,594,,,594,,594,,594',
',594,,,594,,,,,,594,,,,,594,594,594,594,,594,594,594,594,,,,,594,594',
',,,626,626,626,594,626,594,594,594,626,626,,,,626,,626,626,626,626,626',
'626,626,,,,,,626,626,626,626,626,626,626,,,626,,,,,,,626,,,626,626,626',
'626,626,626,626,626,,626,626,626,,626,626,626,626,626,,,,,,,,,,,,,,',
',,,,,626,,,626,,,626,626,,,626,,626,,,,626,,,,,,,,,626,,,,,626,626,626',
'626,,626,626,626,626,,,,,626,626,,,,627,627,627,626,627,626,626,626',
'627,627,,,,627,,627,627,627,627,627,627,627,,,,,,627,627,627,627,627',
'627,627,,,627,,,,,,,627,,,627,627,627,627,627,627,627,627,,627,627,627',
',627,627,627,627,627,,,,,,,,,,,,,,,,,,,,627,,,627,,,627,627,,,627,,',
',,,627,,,,,,,,,627,,,,,627,627,627,627,,627,627,627,627,,,,,627,627',
',,,628,628,628,627,628,627,627,627,628,628,,,,628,,628,628,628,628,628',
'628,628,,,,,,628,628,628,628,628,628,628,,,628,,,,,,,628,,,628,628,628',
'628,628,628,628,628,628,628,628,628,,628,628,628,628,628,,,,,,,,,,,',
',,,,,,,,628,,,628,,,628,628,,,628,,628,,628,,628,,,628,,,,,,628,,,,',
'628,628,628,628,,628,628,628,628,,,,,628,628,,,,,,,628,,628,628,628',
'631,631,631,631,631,,,,631,631,,,,631,,631,631,631,631,631,631,631,',
',,,,631,631,631,631,631,631,631,,,631,,,,,,631,631,,631,631,631,631',
'631,631,631,631,631,,631,631,631,,631,631,631,631,631,,,,,,,,,,,,,,',
',,,,,631,,,631,,,631,631,,,631,,631,,,,631,,,,,,,,,631,,,,,631,631,631',
'631,,631,631,631,631,,,,,631,631,,,,632,632,632,631,632,631,631,631',
'632,632,,,,632,,632,632,632,632,632,632,632,,,,,,632,632,632,632,632',
'632,632,,,632,,,,,,,632,,,632,632,632,632,632,632,632,632,,632,632,632',
',632,632,632,632,632,,,,,,,,,,,,,,,,,,,,632,,,632,,,632,632,,,632,,',
',,,632,,,,,,,,,632,,,,,632,632,632,632,,632,632,632,632,,,,,632,632',
',,,635,635,635,632,635,632,632,632,635,635,,,,635,,635,635,635,635,635',
'635,635,,,,,,635,635,635,635,635,635,635,,,635,,,,,,,635,,,635,635,635',
'635,635,635,635,635,635,635,635,635,,635,635,635,635,635,,,,,,,,,,,',
',,,,,,,,635,,,635,,,635,635,,,635,,635,,635,,635,,,635,,,,,,635,,,,',
'635,635,635,635,,635,635,635,635,,,,,635,635,,,,636,636,636,635,636',
'635,635,635,636,636,,,,636,,636,636,636,636,636,636,636,,,,,,636,636',
'636,636,636,636,636,,,636,,,,,,,636,,,636,636,636,636,636,636,636,636',
'636,636,636,636,,636,636,636,636,636,,,,,,,,,,,,,,,,,,,,636,,,636,,',
'636,636,,,636,,,,636,,636,,,636,,,,,,636,,,,,636,636,636,636,,636,636',
'636,636,,,,,636,636,,,,637,637,637,636,637,636,636,636,637,637,,,,637',
',637,637,637,637,637,637,637,,,,,,637,637,637,637,637,637,637,,,637',
',,,,,,637,,,637,637,637,637,637,637,637,637,,637,637,637,,637,637,637',
'637,637,,,,,,,,,,,,,,,,,,,,637,,,637,,,637,637,,,637,,,,,,637,,,,,,',
',,637,,,,,637,637,637,637,,637,637,637,637,,,,,637,637,,,,638,638,638',
'637,638,637,637,637,638,638,,,,638,,638,638,638,638,638,638,638,,,,',
',638,638,638,638,638,638,638,,,638,,,,,,,638,,,638,638,638,638,638,638',
'638,638,,638,638,638,,638,638,638,638,638,,,,,,,,,,,,,,,,,,,,638,,,638',
',,638,638,,,638,,,,,,638,,,,,,,,,638,,,,,638,638,638,638,,638,638,638',
'638,,,,,638,638,,,,642,642,642,638,642,638,638,638,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,642,642,,,,,642,642,,,,643,643,643,642',
'643,642,642,642,643,643,,,,643,,643,643,643,643,643,643,643,,,,,,643',
'643,643,643,643,643,643,,,643,,,,,,,643,,,643,643,643,643,643,643,643',
'643,,643,643,643,,643,643,643,643,643,,,,,,,,,,,,,,,,,,,,643,,,643,',
',643,643,,,643,,,,,,643,,,,,,,,,643,,,,,643,643,643,643,,643,643,643',
'643,,,,,643,643,,,,667,667,667,643,667,643,643,643,667,667,,,,667,,667',
'667,667,667,667,667,667,,,,,,667,667,667,667,667,667,667,,,667,,,,,',
',667,,,667,667,667,667,667,667,667,667,,667,667,667,,667,667,667,667',
'667,,,,,,,,,,,,,,,,,,,,667,,,667,,,667,667,,,667,,,,,,667,,,,,,,,,667',
',,,,667,667,667,667,,667,667,667,667,,,,,667,667,,,,670,670,670,667',
'670,667,667,667,670,670,,,,670,,670,670,670,670,670,670,670,,,,,,670',
'670,670,670,670,670,670,,,670,,,,,,,670,,,670,670,670,670,670,670,670',
'670,,670,670,670,,670,670,670,670,670,,,,,,,,,,,,,,,,,,,,670,,,670,',
',670,670,,,670,,,,,,670,,,,,,,,,670,,,,,670,670,670,670,,670,670,670',
'670,,,,,670,670,,,,674,674,674,670,674,670,670,670,674,674,,,,674,,674',
'674,674,674,674,674,674,,,,,,674,674,674,674,674,674,674,,,674,,,,,',
',674,,,674,674,674,674,674,674,674,674,,674,674,674,,674,674,,,674,',
',,,,,,,,,,,,,,,,,,674,,,674,,,674,674,,,674,,,,,,,,,,,,,,,,,,,,674,674',
'674,674,,674,674,674,674,,,,,674,674,,,,685,685,685,674,685,674,674',
'674,685,685,,,,685,,685,685,685,685,685,685,685,,,,,,685,685,685,685',
'685,685,685,,,685,,,,,,,685,,,685,685,685,685,685,685,685,685,,685,685',
'685,,685,685,,,685,,,,,,,,,,,,,,,,,,,,685,,,685,,,685,685,,,685,,,,',
',,,,,,,,,,,,,,,685,685,685,685,,685,685,685,685,,,,,685,685,,,,690,690',
'690,685,690,685,685,685,690,690,,,,690,,690,690,690,690,690,690,690',
',,,,,690,690,690,690,690,690,690,,,690,,,,,,,690,,,690,690,690,690,690',
'690,690,690,,690,690,690,,690,690,690,690,690,,,,,,,,,,,,,,,,,,,,690',
',,690,,,690,690,,,690,,690,,,,690,,,,,,,,,690,,,,,690,690,690,690,,690',
'690,690,690,,,,,690,690,,,,707,707,707,690,707,690,690,690,707,707,',
',,707,,707,707,707,707,707,707,707,,,,,,707,707,707,707,707,707,707',
',,707,,,,,,,707,,,707,707,707,707,707,707,707,707,,707,707,707,,707',
'707,707,707,707,,,,,,,,,,,,,,,,,,,,707,,,707,,,707,707,,,707,,,,,,707',
',,,,,,,,707,,,,,707,707,707,707,,707,707,707,707,,,,,707,707,,,,733',
'733,733,707,733,707,707,707,733,733,,,,733,,733,733,733,733,733,733',
'733,,,,,,733,733,733,733,733,733,733,,,733,,,,,,,733,,,733,733,733,733',
'733,733,733,733,,733,733,733,,733,733,733,733,733,,,,,,,,,,,,,,,,,,',
',733,,,733,,,733,733,,,733,,,,,,733,,,,,,,,,733,,,,,733,733,733,733',
',733,733,733,733,,,,,733,733,,,,739,739,739,733,739,733,733,733,739',
'739,,,,739,,739,739,739,739,739,739,739,,,,,,739,739,739,739,739,739',
'739,,,739,,,,,,,739,,,739,739,739,739,739,739,739,739,,739,739,739,',
'739,739,739,739,739,,,,,,,,,,,,,,,,,,,,739,,,739,,,739,739,,,739,,,',
',,739,,,,,,,,,739,,,,,739,739,739,739,,739,739,739,739,,,,,739,739,',
',,761,761,761,739,761,739,739,739,761,761,,,,761,,761,761,761,761,761',
'761,761,,,,,,761,761,761,761,761,761,761,,,761,,,,,,,761,,,761,761,761',
'761,761,761,761,761,,761,761,761,,761,761,761,761,761,,,,,,,,,,,,,,',
',,,,,761,,,761,,,761,761,,,761,,,,,,761,,,,,,,,,761,,,,,761,761,761',
'761,,761,761,761,761,,,,,761,761,,,,769,769,769,761,769,761,761,761',
'769,769,,,,769,,769,769,769,769,769,769,769,,,,,,769,769,769,769,769',
'769,769,,,769,,,,,,,769,,,769,769,769,769,769,769,769,769,,769,769,769',
',769,769,769,769,769,,,,,,,,,,,,,,,,,,,,769,,,769,,,769,769,,,769,,',
',,,769,,,,,,,,,769,,,,,769,769,769,769,,769,769,769,769,,,,,769,769',
',,,782,782,782,769,782,769,769,769,782,782,,,,782,,782,782,782,782,782',
'782,782,,,,,,782,782,782,782,782,782,782,,,782,,,,,,,782,,,782,782,782',
'782,782,782,782,782,,782,782,782,,782,782,782,782,782,,,,,,,,,,,,,,',
',,,,,782,,,782,,,782,782,,,782,,,,,,782,,,,,,,,,782,,,,,782,782,782',
'782,,782,782,782,782,,,,,782,782,,,,783,783,783,782,783,782,782,782',
'783,783,,,,783,,783,783,783,783,783,783,783,,,,,,783,783,783,783,783',
'783,783,,,783,,,,,,,783,,,783,783,783,783,783,783,783,783,,783,783,783',
',783,783,783,783,783,,,,,,,,,,,,,,,,,,,,783,,,783,,,783,783,,,783,,',
',,,783,,,,,,,,,783,,,,,783,783,783,783,,783,783,783,783,,,,,783,783',
',,,784,784,784,783,784,783,783,783,784,784,,,,784,,784,784,784,784,784',
'784,784,,,,,,784,784,784,784,784,784,784,,,784,,,,,,,784,,,784,784,784',
'784,784,784,784,784,,784,784,784,,784,784,784,784,784,,,,,,,,,,,,,,',
',,,,,784,,,784,,,784,784,,,784,,,,,,784,,,,,,,,,784,,,,,784,784,784',
'784,,784,784,784,784,,,,,784,784,,,,785,785,785,784,785,784,784,784',
'785,785,,,,785,,785,785,785,785,785,785,785,,,,,,785,785,785,785,785',
'785,785,,,785,,,,,,,785,,,785,785,785,785,785,785,785,785,,785,785,785',
',785,785,785,785,785,,,,,,,,,,,,,,,,,,,,785,,,785,,,785,785,,,785,,',
',,,785,,,,,,,,,785,,,,,785,785,785,785,,785,785,785,785,,,,,785,785',
',,,787,787,787,785,787,785,785,785,787,787,,,,787,,787,787,787,787,787',
'787,787,,,,,,787,787,787,787,787,787,787,,,787,,,,,,,787,,,787,787,787',
'787,787,787,787,787,,787,787,787,,787,787,787,787,787,,,,,,,,,,,,,,',
',,,,,787,,,787,,,787,787,,,787,,,,,,787,,,,,,,,,787,,,,,787,787,787',
'787,,787,787,787,787,,,,,787,787,,,,838,838,838,787,838,787,787,787',
'838,838,,,,838,,838,838,838,838,838,838,838,,,,,,838,838,838,838,838',
'838,838,,,838,,,,,,,838,,,838,838,838,838,838,838,838,838,,838,838,838',
',838,838,838,838,838,,,,,,,,,,,,,,,,,,,,838,,,838,,,838,838,,,838,,',
',,,838,,,,,,,,,838,,,,,838,838,838,838,,838,838,838,838,,,,,838,838',
',,,843,843,843,838,843,838,838,838,843,843,,,,843,,843,843,843,843,843',
'843,843,,,,,,843,843,843,843,843,843,843,,,843,,,,,,,843,,,843,843,843',
'843,843,843,843,843,,843,843,843,,843,843,843,843,843,,,,,,,,,,,,,,',
',,,,,843,,,843,,,843,843,,,843,,843,,,,843,,,,,,,,,843,,,,,843,843,843',
'843,,843,843,843,843,,,,,843,843,,,,861,861,861,843,861,843,843,843',
'861,861,,,,861,,861,861,861,861,861,861,861,,,,,,861,861,861,861,861',
'861,861,,,861,,,,,,,861,,,861,861,861,861,861,861,861,861,861,861,861',
'861,,861,861,861,861,861,,,,,,,,,,,,,,,,,,,,861,,,861,,,861,861,,,861',
',,,861,,861,,,861,,,,,,861,,,,,861,861,861,861,,861,861,861,861,,,,',
'861,861,,,,862,862,862,861,862,861,861,861,862,862,,,,862,,862,862,862',
'862,862,862,862,,,,,,862,862,862,862,862,862,862,,,862,,,,,,,862,,,862',
'862,862,862,862,862,862,862,,862,862,862,,862,862,862,862,862,,,,,,',
',,,,,,,,,,,,,862,,,862,,,862,862,,,862,,,,,,862,,,,,,,,,862,,,,,862',
'862,862,862,,862,862,862,862,,,,,862,862,,,,874,874,874,862,874,862',
'862,862,874,874,,,,874,,874,874,874,874,874,874,874,,,,,,874,874,874',
'874,874,874,874,,,874,,,,,,,874,,,874,874,874,874,874,874,874,874,,874',
'874,874,,874,874,,,874,,,,,,,,,,,,,,,,,,,,874,,,874,,,874,874,,,874',
',,,,,,,,,,,,,,,,,,,874,874,874,874,,874,874,874,874,,,,,874,874,,,,884',
'884,884,874,884,874,874,874,884,884,,,,884,,884,884,884,884,884,884',
'884,,,,,,884,884,884,884,884,884,884,,,884,,,,,,,884,,,884,884,884,884',
'884,884,884,884,,884,884,884,,884,884,,,884,,,,,,,,,,,,,,,,,,,,884,',
',884,,,884,884,,,884,,,,,,,,,,,,,,,,,,,,884,884,884,884,,884,884,884',
'884,,,,,884,884,,,,932,932,932,884,932,884,884,884,932,932,,,,932,,932',
'932,932,932,932,932,932,,,,,,932,932,932,932,932,932,932,,,932,,,,,',
',932,,,932,932,932,932,932,932,932,932,,932,932,932,,932,932,,,932,',
',,,,,,,,,,,,,,,,,,932,,,932,,,932,932,,,932,,,,,,,,,,,,,,,,,,,,932,932',
'932,932,,932,932,932,932,,,,,932,932,,,,980,980,980,932,980,932,932',
'932,980,980,,,,980,,980,980,980,980,980,980,980,,,,,,980,980,980,980',
'980,980,980,,,980,,,,,,,980,,,980,980,980,980,980,980,980,980,980,980',
'980,980,,980,980,980,980,980,,,,,,,,,,,,,,,,,,,,980,,,980,,,980,980',
',,980,,980,,980,,980,,,980,,,,,,980,,,,,980,980,980,980,,980,980,980',
'980,,,,,980,980,,,,,,,980,,980,980,980,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8',
'8,8,8,8,8,8,8,8,8,,,,8,8,8,8,8,8,8,8,8,8,,,,,,8,8,8,8,8,8,8,8,8,8,,8',
',,,,,,,8,8,,8,8,8,8,8,8,8,,,8,8,,,,8,8,8,8,,,,,,,,,,,,,,8,8,,8,8,8,8',
'8,8,8,8,8,8,8,8,,,8,8,,,,,,,,,,,,,,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9',
'9,9,9,9,9,9,9,9,,,,9,9,9,9,9,9,9,9,9,9,,,,,,9,9,9,9,9,9,9,9,9,,,9,,',
',,,,,9,9,,9,9,9,9,9,9,9,,,9,9,,,,9,9,9,9,,,,,,,,,,,,,,9,9,,9,9,9,9,9',
'9,9,9,9,9,9,9,,,9,9,,,,,,,,,,,,,,9,397,397,397,397,397,397,397,397,397',
'397,397,397,397,397,397,397,397,397,397,397,397,397,397,397,,,,397,397',
'397,397,397,397,397,397,397,397,,,,,,397,397,397,397,397,397,397,397',
'397,,,397,,,,,,,,397,397,,397,397,397,397,397,397,397,,,397,397,,,,397',
'397,397,397,,,,,,,,,,,,,,397,397,,397,397,397,397,397,397,397,397,397',
'397,397,397,,,397,397,,,,,,,,,,,,,,397,623,623,623,623,623,623,623,623',
'623,623,623,623,623,623,623,623,623,623,623,623,623,623,623,623,,,,623',
'623,623,623,623,623,623,623,623,623,,,,,,623,623,623,623,623,623,623',
'623,623,,,623,,,,,,,,623,623,,623,623,623,623,623,623,623,,,623,623',
',,,623,623,623,623,,,,,,,,,,,,,,623,623,,623,623,623,623,623,623,623',
'623,623,623,623,623,,,623,623,,,,,,,,,,,,,,623,71,71,71,71,71,71,71',
'71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,,,,71,71,71,71,71',
'71,71,71,71,71,,,,,,71,71,71,71,71,71,71,71,71,71,71,71,,71,,,,,,71',
'71,,71,71,71,71,71,71,71,,,71,71,,,,71,71,71,71,,,,,,71,,,,,,,,71,71',
',71,71,71,71,71,71,71,71,71,71,71,71,,,71,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,745,,',
'745,745,,,,745,745,745,745,,,,,,,,,,,,,,745,745,,745,745,745,745,745',
'745,745,745,745,745,745,745,213,213,745,,213,,,,,,,,213,213,,213,213',
'213,213,213,213,213,,,213,213,,,,213,213,213,213,,,,,,213,,,,,,,,213',
'213,,213,213,213,213,213,213,213,213,213,213,213,213,214,214,213,,214',
',,,,,,,214,214,,214,214,214,214,214,214,214,,,214,214,,,,214,214,214',
'214,,,,,,214,,,,,,,,214,214,,214,214,214,214,214,214,214,214,214,214',
'214,214,261,261,214,,261,,,,,,,,261,261,,261,261,261,261,261,261,261',
',,261,261,,,,261,261,261,261,,,,,,,,,,,,,,261,261,,261,261,261,261,261',
'261,261,261,261,261,261,261,447,447,261,,447,,,,,,,,447,447,,447,447',
'447,447,447,447,447,,,447,447,,,,447,447,447,447,,,,,,447,,,,,,,,447',
'447,,447,447,447,447,447,447,447,447,447,447,447,447,448,448,447,,448',
',,,,,,,448,448,,448,448,448,448,448,448,448,,,448,448,,,,448,448,448',
'448,,,,,,448,,,,,,,,448,448,,448,448,448,448,448,448,448,448,448,448',
'448,448,516,516,448,,516,,,,,,,,516,516,,516,516,516,516,516,516,516',
',,516,516,,,,516,516,516,516,,,,,,516,,,,,,,,516,516,,516,516,516,516',
'516,516,516,516,516,516,516,516,517,517,516,,517,,,,,,,,517,517,,517',
'517,517,517,517,517,517,,,517,517,,,,517,517,517,517,,,,,,517,,,,,,',
',517,517,,517,517,517,517,517,517,517,517,517,517,517,517,526,526,517',
',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,527,527,526,,527,,,,,,,,527,527,,527,527,527,527,527,527',
'527,,,527,527,,,,527,527,527,527,,,,,,527,,,,,,,,527,527,,527,527,527',
'527,527,527,527,527,527,527,527,527,585,585,527,,585,,,,,,,,585,585',
',585,585,585,585,585,585,585,,,585,585,,,,585,585,585,585,,,,,,585,',
',,,,,,585,585,,585,585,585,585,585,585,585,585,585,585,585,585,586,586',
'585,,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,592,592,586,,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,593,593,592,,593,,,,,,,,593',
'593,,593,593,593,593,593,593,593,,,593,593,,,,593,593,593,593,,,,,,593',
',,,,,,,593,593,,593,593,593,593,593,593,593,593,593,593,593,593,629',
'629,593,,629,,,,,,,,629,629,,629,629,629,629,629,629,629,,,629,629,',
',,629,629,629,629,,,,,,629,,,,,,,,629,629,,629,629,629,629,629,629,629',
'629,629,629,629,629,630,630,629,,630,,,,,,,,630,630,,630,630,630,630',
'630,630,630,,,630,630,,,,630,630,630,630,,,,,,630,,,,,,,,630,630,,630',
'630,630,630,630,630,630,630,630,630,630,630,977,977,630,,977,,,,,,,',
'977,977,,977,977,977,977,977,977,977,,,977,977,,,,977,977,977,977,,',
',,,977,,,,,,,,977,977,,977,977,977,977,977,977,977,977,977,977,977,977',
'981,981,977,,981,,,,,,,,981,981,,981,981,981,981,981,981,981,,,981,981',
',,,981,981,981,981,,,,,,981,,,,,,,,981,981,,981,981,981,981,981,981',
'981,981,981,981,981,981,982,982,981,,982,,,,,,,,982,982,,982,982,982',
'982,982,982,982,,,982,982,,,,982,982,982,982,,,,,,982,,,,,,,,982,982',
',982,982,982,982,982,982,982,982,982,982,982,982,,338,982,338,338,338',
'338,338,,543,,543,543,543,543,543,338,,,,,,,,543,,701,,701,701,701,701',
'701,,,,,,338,338,,701,,,,,543,338,338,338,338,,,,338,543,543,543,543',
',,,543,701,,703,,703,703,703,703,703,701,701,701,701,,,,701,703,,743',
',743,743,743,743,743,,744,,744,744,744,744,744,743,,,,,703,,,744,,,',
',,703,703,703,703,,,,703,743,,,,,,,,744,743,743,743,743,,,,743,744,744',
'744,744,,,891,744,891,891,891,891,891,,924,,924,924,924,924,924,891',
',,,,,,,924,,926,,926,926,926,926,926,,,,,,891,,,926,,,,,924,891,891',
'891,891,,,,891,924,924,924,924,,,,924,926,,928,,928,928,928,928,928',
'926,926,926,926,,,,926,928,,986,,986,986,986,986,986,,997,,997,997,997',
'997,997,986,,,,,928,,,997,,,,,,,,928,928,,,,928,986,,,,,,,,997,,,986',
'986,,,,986,997,997,997,997,,,999,997,999,999,999,999,999,1001,,1001',
'1001,1001,1001,1001,1003,999,1003,1003,1003,1003,1003,1026,1001,1026',
'1026,1026,1026,1026,,1003,,,,,,,1026,999,,,,,,,1001,,,,999,999,,1003',
',999,,1001,1001,,1026,,1001,,1003,1003,,,,1003,,1026,1026,,,,1026' ]
        racc_action_check = arr = ::Array.new(25362, 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 = [
  1853,    33,   nil,    81,   nil,  5912,   909,    81, 23169, 23297,
    91,   nil,    91,   105,   346,   181,   574,   -81,   nil,   -71,
  6043,  1711,   249,   nil,   -62,   nil,    -8,   958,  1068,  6174,
  6305,  6436,   nil,  1993,  6567,  6698,   nil,   169,   282,   352,
   262,   332,  6837,  6968,  7099,   189,   576,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,  1178,   nil,   -80,  7230,
  7361,     4,   nil,  7492,  7623,   nil,   nil,  7754,  7893,  8024,
  8155, 23681,   nil,   nil,   nil,   nil,   nil,   141,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,     0,   nil,   nil,   112,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   321,
   nil,  8294,   nil,   nil,   nil,   nil,  8433,  8564,  8695,  8826,
  8965,  2133,   nil,   303,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   206,   nil,  2273,  9096,  9227,  9358,
  9489,  9620,  9751, 23855, 23916,   nil,   nil,  9882, 10013, 10144,
   nil,   nil,   682,   -54,   138,   290,   166,   211,   298,   nil,
 10275,  2413,   306, 10406, 10537, 10668, 10799, 10930, 11061, 11192,
 11323, 11454, 11585, 11716, 11847, 11978, 12109, 12240, 12371, 12502,
 12633, 12764, 12895, 13026, 13157, 13288, 13419, 13550, 13681,   nil,
   nil, 23977,   nil,   nil,   303, 13812, 13943,   nil,   nil,   nil,
   nil,   nil,   nil,   nil, 14074,   nil,  2133,   nil,   281,   297,
   nil, 14205,   371, 14336,   nil,   nil, 14467, 14598,   nil,   nil,
   216,   nil, 14737,  1396,   358,   338,  2553,   353,   406,   377,
 14868,  2693,   686,   718,   771,   465,   794,   nil,   437,   398,
    33,   nil,   nil,   nil,   441,   360,   414, 15007,   nil,   472,
   499,   834,   nil,   522,   nil, 15138,  2833, 15277,   465,   nil,
   -73,   -69,   508,   497,   368,   532,   nil,   nil, 24954,   620,
    -1,    11, 15408, 15539,   228,   613,   499,   -18,    11,   837,
   582,    25,   618,   nil,   nil,   342,   434,   -21,   nil,   870,
   nil,   541, 15670,   nil,   nil,   nil,   194,   230,   379,   413,
   486,   510,   523,   577,   578,   nil,   582,   nil, 15801,   nil,
   272,   456,   459,   465,   497,   -41,   -35,   501,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   537, 23425,   nil,   nil,
   nil,   nil,   551,   nil,   nil,   535, 15932,   551,   nil,   nil,
   546,   nil,   930,   197,   650,   nil,   nil,  1853,   nil,   nil,
   nil,   nil,   nil,  1993,   566,   nil,   566,   568,   481,   506,
  1314,   nil,   nil,   nil,   222,   334,   614,   nil,   nil,  1446,
  1582,   nil,   nil,   nil,   -35,   nil,   615, 24038, 24099, 16063,
   217, 16194, 16325, 16456,  2833,  2973,   642,   772,   663,   667,
   672,   677,  1667,  4513,   666,  3113,  1397,  1531,  3253,  3393,
  3533,  3673,  3813,  3953,  4093,   915,  1240,  4233,  4373,  2273,
   743,   nil,  1718,   nil,   nil,   nil,   nil,   628,   nil,   649,
   nil,   756,   637,   nil,   nil, 16587,   nil, 16718,   nil, 16849,
   nil,   363,   nil,   nil,   nil, 16988,  1561,  2973,   646,   644,
   nil,   nil,   645, 17127,   669, 17258, 24160, 24221,  1006,   714,
   nil, 17389,   672,   nil, 17520, 17651, 24282, 24343,  2413, 17782,
   801,   800,  1604,   723,   nil, 17913,   nil,   nil, 18044,   nil,
   nil,   nil,   nil, 24962,   nil,   682,   685,   nil,   697,   698,
   699,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   694,
  1278,   nil,   nil, 18175,   nil,   nil,   nil,   792,   nil,   nil,
   nil,   799,   nil,   nil,   801,  3113,   841,   nil,  3253,    62,
   147,   838,   849, 18306, 18437, 24404, 24465,    27,   nil,   nil,
  1038,   nil, 24526, 24587, 18568,   nil,   nil,   250,  3393,   772,
   nil,   -33,   nil,   nil,   nil,   832,   nil,   nil,   nil,   753,
   nil,   nil,   388,   nil,   390,   nil,   nil,   739,   nil,   742,
   nil,   nil,   nil, 23553,   nil,   744, 18699, 18830, 18961, 24648,
 24709, 19100, 19231,   552,   787, 19362, 19493, 19624, 19755,   786,
   nil,   nil, 19886, 20017,   787,   nil,   nil,   nil,   301,   343,
   466,   604,   758,   774,   nil,   -54,   880,     6,   802,   nil,
   nil,   -53,   nil,   nil,   784,   nil,   833, 20148,   nil,   nil,
 20279,   nil,   809,   -80, 20410,   790,   nil,   795,   123,   180,
   852,   248,  1040,   871,   829, 20541,   nil,   898,   214,   959,
 20672,   nil,   845,   nil,   421,    37,   848,   780,   nil,   nil,
   626, 24979,   nil, 25018,   nil,  1377,   nil, 20803,   nil,  1314,
   nil,   847,   335,   852,   nil,   nil,   nil,   nil,   747,   nil,
   976,   nil,   nil,   nil,   nil,   982,   nil,    26,   862,    68,
    93,   151,   185, 20934,   717,  1146,   nil,   866,  3533, 21065,
   nil,   994,  3673, 25035, 25043, 23794,   nil,   nil,   nil,   nil,
   nil,   nil,  3813,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   876, 21196,   880,   374,   443,   714,   826,   nil,  2553, 21327,
   nil,   878,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil, 21458, 21589, 21720, 21851,   520, 21982,   nil,   889,
   nil,  3953,   nil,   nil,   nil,  4093,   nil,   nil,   nil,   nil,
   882,   236,   nil,   nil,  1008,   nil,  4233,   889,   951,   nil,
   nil,   nil,   nil,   nil,  4373,  4513,   908,   954,   913,   nil,
   nil,   nil,   916,   917,   nil,   920,   922,   nil,   924,   nil,
   nil,   929,  1413,   929,   951,   nil,  1064,   nil, 22113,  1065,
  4653,  4793,   nil, 22244,  4933,   152,   181,   nil,  1069,   298,
  5073,   nil,  1070,   956,   327,   nil,   960,   959,   549,   nil,
   nil, 22375, 22506,  2693,   963,   964,   nil,   965,   968,   969,
   nil,   994,   976,   969, 22637,   nil,   nil,   nil,   nil,   nil,
  5213,   nil,   nil,    32, 22768,   nil,  1000,  1105,  1242,   nil,
   nil, 25095,   nil,  6745,   nil,  8202,   nil, 14915,   nil,   nil,
   nil,   nil,   398,  1307,   983,   nil,    33,   nil,  1109,  1110,
   nil,    85,   nil,   nil,   nil,  1111,   nil,   nil,   nil,  1032,
   nil,  1203,   nil,   nil, 25103,   nil, 25120,   nil, 25159,   nil,
   nil,  1014, 22899,  1116,  1070,   nil,  5353,    34,    35,  1148,
  1071,    36,   nil,   nil,   nil,   503,   nil,   nil,   nil,   994,
   995,   997,   999,  1016,  1439,  1020,  1511,  5493,   nil,   nil,
   nil,   nil,   nil,  5633,   nil,  5773,  1021,   nil,   nil,  1023,
  1026,  1027,  1030,   nil,  1032,   nil,  1150, 24770,   nil,  1160,
 23030, 24831, 24892,    42,   nil,  1319, 25176,   nil,   nil,   nil,
   nil,  1647,  1036,   760,  1163,  1174,   nil, 25184,   nil, 25236,
   nil, 25243,   nil, 25250,   nil,   nil,  1095,  1099,   nil,  1059,
    98,   102,   111,   138,   nil,  1063,  1064,   nil,   nil,   nil,
  1069,  1074,  1075,  1078,   145,   nil, 25257,   nil,   nil,   nil,
   nil,  1079,   nil ]

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

clist = [
'218,375,127,127,277,277,277,16,268,272,336,424,16,689,213,582,329,299',
'114,278,278,278,262,742,2,531,325,222,261,260,111,122,205,130,130,110',
'222,222,222,486,16,304,304,6,132,132,408,409,6,330,836,340,341,575,578',
'344,591,421,633,496,295,313,313,441,487,127,221,320,489,544,222,222',
'721,724,222,349,359,359,713,522,551,316,114,264,271,273,430,436,339',
'339,668,665,339,665,827,313,313,313,297,345,817,380,904,708,391,392',
'393,394,279,279,279,698,699,946,824,534,537,115,16,541,275,288,289,222',
'222,222,222,16,16,804,868,668,1,948,482,973,480,879,331,334,671,339',
'339,339,339,396,901,491,381,204,791,354,422,404,6,387,795,397,442,623',
'839,361,365,395,6,612,614,608,610,613,613,955,332,608,657,377,333,337',
'352,595,376,326,445,327,692,328,342,277,840,343,841,733,963,871,738',
'431,850,407,407,598,599,745,415,559,919,415,973,496,440,870,1014,415',
'872,16,222,412,222,222,412,222,447,945,992,389,412,222,222,831,542,668',
'948,665,665,813,419,420,338,493,16,695,277,277,661,443,444,655,960,808',
'652,277,883,725,708,403,414,833,278,414,379,1016,509,13,382,414,278',
'969,13,383,384,385,901,386,222,222,696,675,931,747,752,739,822,222,827',
'684,658,551,786,819,967,,519,736,268,,13,,272,741,,16,523,,516,16,,114',
'501,304,16,533,824,801,,,677,,,505,,526,430,436,504,295,304,1017,,313',
'295,353,579,580,,16,16,506,,824,,912,,520,,965,313,279,512,585,,222',
'222,961,,279,,,,488,,114,,508,845,,,492,514,339,339,222,532,847,13,',
'262,708,581,708,,,600,13,13,728,890,222,,597,,680,,127,442,737,422,',
'858,,755,680,755,,,601,298,634,,646,559,,629,,640,,776,,824,,645,781',
'622,,130,,277,,,762,,431,922,923,,132,,,800,848,,,844,852,440,,796,953',
'708,,,,659,,,,668,663,222,665,680,,653,,1008,,640,686,680,13,,410,,673',
'410,,853,854,,676,410,812,,,,772,774,551,551,639,777,779,277,,13,644',
',,523,708,431,708,,,430,436,523,15,,,431,,15,440,16,,16,,,,,,304,440',
'222,,,,,,304,809,,672,996,,708,,222,,15,656,313,,,,,,,,313,915,6,796',
',13,688,,,13,,277,,,13,,746,,559,431,559,277,,,,727,664,431,,402,773',
'775,440,962,16,778,780,16,440,13,13,,,222,,,722,722,936,,,,,222,298',
'277,,16,793,,559,559,,431,740,,694,859,15,127,,957,,415,,,440,15,15',
'823,,825,,415,415,634,412,222,415,415,16,702,704,706,,1024,412,412,759',
'810,130,412,412,803,,,873,811,,523,634,132,,,640,792,995,645,26,298',
'802,,,26,298,414,767,855,835,816,,,407,304,,414,414,,26,,414,414,,,304',
',,26,26,26,818,26,,313,,,,,,,,634,860,15,313,15,771,869,15,,634,,,846',
'15,773,775,780,778,849,,26,26,,,26,,,15,,,127,222,,,634,,16,222,,,16',
',,,,,,559,820,339,16,820,881,,415,339,885,13,,13,,816,,,,,,412,26,,1009',
',,26,26,26,26,26,26,,873,865,873,,,900,,,15,16,,,15,16,860,,,15,,,,',
',,16,,414,917,949,,,,16,16,,,,906,,,,,15,15,,,,13,,,13,,,,,,222,,16',
'16,866,970,16,971,816,680,,,16,,13,,722,873,339,914,,,,,918,,,26,26',
'26,26,26,26,26,874,,933,,26,26,26,,16,410,,,939,13,,,,,26,410,410,,313',
',410,410,,,,826,,828,313,,892,894,,896,898,,899,,,966,1020,,865,984',
'865,,865,,26,26,,,,,981,,976,26,,,16,,,718,,,720,,,,,,277,,,26,313,',
',26,431,16,,,26,,,16,440,16,,,,440,,,,,820,,,866,,866,222,866,,634,',
'26,26,867,,,,865,13,865,,865,13,865,,,,26,26,15,874,15,13,874,,874,',
'874,,,,,,,,,865,26,,410,,,,,,,,,,987,988,989,990,26,,,,,,,,13,,,,13',
'866,,866,,866,,866,,,,13,,,,,,,,13,13,,,,15,,,15,,,866,874,,874,,874',
',874,,,950,,951,,952,13,13,15,,13,1025,,,,,13,,,,26,874,,,17,,,,856',
'17,,,,,,,972,15,974,,,15,,,,,13,15,15,,942,,15,15,,,,17,306,306,,,,',
',,,877,,,,878,,,335,,26,,26,,,,882,,,,26,,,,886,887,351,360,360,,1015',
',,,26,,13,,,,,1021,,1022,,1023,,,,,908,909,,,911,,,13,,,,,,13,,13,,',
',17,1031,,,,,,,,17,17,26,,15,26,,,15,,,26,935,,38,,,,15,38,,26,,,,26',
',,,,,,,,,15,925,927,929,,,,,,,,,38,302,302,,,,,26,26,,15,26,,,15,,,26',
'26,,,979,26,26,,15,,,,,405,418,,15,15,347,363,363,363,17,,413,993,,413',
',,,994,,413,,,,,,,,,15,15,,,15,17,,,39,,15,,,39,,,,,,38,,,,,,,,,38,38',
',,998,1000,1002,1004,,1005,,,15,39,303,303,,498,,500,,,502,503,,,26',
',,,,26,26,,,26,,,17,,,,17,,,26,306,17,348,364,364,364,,,,1027,1028,1029',
'1030,,,,26,306,,,1032,,15,,,,17,17,,,,,,,,,,,26,,38,,26,15,,39,,,,15',
',15,,26,39,39,,,,,,26,26,,,38,,,,,,,,,,,,,,,,,,,,26,,26,26,,,26,,,,',
'625,26,,,,,,,,,,,,,,,,,,,,,,,,,,,,,38,26,,,38,,,,302,38,,,,,39,,,,,',
',,,,,302,,,,,,,,,38,38,,,,39,,,,,,,,,,,,,,,,,,26,,666,,335,,669,,,,',
',,,,,,,,,,26,17,,17,,,26,,26,306,,,,,,,,306,,,,666,39,26,335,,39,,,',
'303,39,,,,,,,,,,,,,,,,303,,714,,,,,,,39,39,,,,,,,,,,,,418,,17,,,17,',
',,,,,,,,,,,,,,,,,,17,,,,,,,751,,,,,,,,,,,760,,,,,,,,,666,335,413,,,',
'17,,,,,,413,413,38,,38,413,413,,,,302,,,,,,,,302,,797,,,798,,,,,,,,',
',,,,,306,,,,,,807,,,,,306,,,,,,,,,,,,830,,,,,,,,,,,,38,,,38,,,,,,,,',
',,,,,,,,,,,38,,,,,,17,39,,39,17,,,,,303,,,,857,17,,,303,,,,,,,,,,38',
',,,413,,,,,,,,,,,,,,,,,,,,,,17,,,,17,,,,,,,,,,,17,,302,39,,,39,,17,17',
',,,302,,,,,,,,,,,,,39,910,,,,,,,17,17,,,17,,,,,,17,335,,,,,,,,,,,,,',
'39,,,,,,,38,,360,,38,,,,17,,,,941,,38,,,,,,,,,,,,,,,,,,,,,,303,,,,,',
',,,,,303,,,,,,38,,,,38,,,360,,,,17,,,,38,,,,,,,,38,38,,,,,,,,17,,,,',
',17,,17,,,,,,,39,,38,38,39,,38,,,,,,38,,39,,229,,,,,,,,,276,276,276',
',,,,,,,,363,,322,323,324,,38,,,,937,,,,,,,39,,276,276,39,,,,,,,,,,,39',
',,,,,,,39,39,,,,,,,,,,,,,,,,,363,,,,38,,,,39,39,,,39,,,,,,39,,,,,,,38',
',,,,,38,,38,,,,,,,,,364,,,,,,39,,,,938,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,364,,,,39,,,,,276,417,,,423,276,,,,,423,,,,,,39,,',
',,,39,229,39,,454,455,456,457,458,459,460,461,462,463,464,465,466,467',
'468,469,470,471,472,473,474,475,476,477,478,479,,,,,,,276,276,,,,,,',
',276,,,,,,,276,,276,,,276,276,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,528',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,276,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,276,,423,423',
'423,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,276,,276,,276,,,,,,,,,',
',,,,,,276,,,,,,,,,423,687,,,,,,,,,,276,,,276,,,,,,,,,,,,,,,,,,,,,,,',
',276,,,,,,,,,,,,,,,,,,,,276,276,,,,,,,,,,276,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,276,423,276,,,,768,,,276,276,423,423,,,,423,423,,,,,,,,,,,,',
',,,,,,,,,,,276,,,276,,,,,,,,,,,,,,,,,,,,276,,,,,,,,,,,,,,,,,276,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,276,,,,,,,,423,,,,',
',,,,,,,,423,423,423,423,,863,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,276,,,,,,,,,,,,,,,,,,276,423,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,276' ]
        racc_goto_table = arr = ::Array.new(3068, nil)
        idx = 0
        clist.each do |str|
          str.split(',', -1).each do |i|
            arr[idx] = i.to_i unless i.empty?
            idx += 1
          end
        end

clist = [
'33,57,58,58,35,35,35,28,73,73,88,29,28,10,31,94,69,50,97,70,70,70,31',
'98,2,8,33,28,38,141,6,15,15,61,61,4,28,28,28,41,28,28,28,7,62,62,22',
'22,7,70,92,17,17,91,91,17,55,26,30,75,46,66,66,26,29,58,20,65,42,140',
'28,28,93,93,28,28,28,28,118,52,166,51,97,40,40,40,39,39,24,24,181,76',
'24,76,177,66,66,66,47,4,132,154,119,117,17,17,17,17,72,72,72,123,123',
'134,172,71,71,5,28,71,45,45,45,28,28,28,28,28,28,11,128,181,1,135,39',
'178,142,12,72,72,14,24,24,24,24,2,116,142,155,16,130,19,64,23,7,155',
'130,25,64,63,11,56,56,7,7,158,158,159,159,159,159,119,68,159,74,86,87',
'90,95,96,99,100,48,101,102,103,104,35,105,106,107,108,109,132,110,73',
'111,70,70,112,113,114,18,171,115,18,178,75,58,120,134,18,126,28,28,28',
'28,28,28,28,31,133,119,5,28,28,28,118,136,181,135,76,76,137,24,24,138',
'48,28,139,35,35,145,24,24,147,148,149,29,35,150,94,117,20,20,117,70',
'20,153,119,48,21,156,20,70,128,21,157,160,161,116,162,28,28,140,52,132',
'163,164,165,170,28,177,52,42,166,30,174,175,,33,55,73,,21,,73,8,,28',
'50,,31,28,,97,154,28,28,33,172,30,,,29,,,6,,31,39,39,4,46,28,92,,66',
'46,21,17,17,,28,28,7,,172,,93,,65,,98,66,72,51,31,,28,28,11,,72,,,,45',
',97,,47,30,,,45,47,24,24,28,7,30,21,,31,117,4,117,,,38,21,21,29,123',
'28,,24,,39,,58,64,29,64,,30,,159,39,159,,,24,9,33,,48,171,,31,,73,,41',
',172,,73,41,15,,61,,35,,,29,,73,123,123,,62,,,52,8,,,91,8,58,,75,117',
'117,,,,48,,,,181,48,28,76,39,,33,,10,,73,64,39,21,,21,,48,21,,140,140',
',48,21,71,,,,26,26,166,166,40,26,26,35,,21,40,,,50,117,73,117,,,39,39',
'50,27,,,73,,27,58,28,,28,,,,,,28,58,28,,,,,,28,22,,2,123,,117,,28,,27',
'40,66,,,,,,,,66,8,7,75,,21,24,,,21,,35,,,21,,48,,171,73,171,35,,,,70',
'72,73,,9,64,64,58,94,28,64,64,28,58,21,21,,,28,,,97,97,91,,,,,28,9,35',
',28,88,,171,171,,73,97,,72,26,27,58,,91,,18,,,58,27,27,129,,129,,18',
'18,33,28,28,18,18,28,169,169,169,,30,28,28,15,69,61,28,28,48,,,171,48',
',50,33,62,,,73,141,8,73,43,9,50,,,43,9,20,7,57,48,33,,,70,28,,20,20',
',43,,20,20,,,28,,,43,43,43,122,43,,66,,,,,,,,33,64,27,66,27,72,129,27',
',33,,,17,27,64,64,64,64,17,,43,43,,,43,,,27,,,58,28,,,33,,28,28,,,28',
',,,,,,171,124,24,28,124,69,,18,24,69,21,,21,,33,,,,,,28,43,,29,,,43',
'43,43,43,43,43,,171,122,171,,,48,,,27,28,,,27,28,64,,,27,,,,,,,28,,20',
'48,129,,,,28,28,,,,17,,,,,27,27,,,,21,,,21,,,,,,28,,28,28,124,129,28',
'129,33,39,,,28,,21,,97,171,24,97,,,,,97,,,43,43,43,43,43,43,43,173,',
'28,,43,43,43,,28,21,,,28,21,,,,,43,21,21,,66,,21,21,,,,127,,127,66,',
'169,169,,169,169,,169,,,122,129,,122,33,122,,122,,43,43,,,,,31,,28,43',
',,28,,,9,,,9,,,,,,35,,,43,66,,,43,73,28,,,43,,,28,58,28,,,,58,,,,,124',
',,124,,124,28,124,,33,,43,43,127,,,,122,21,122,,122,21,122,,,,43,43',
'27,173,27,21,173,,173,,173,,,,,,,,,122,43,,21,,,,,,,,,,169,169,169,169',
'43,,,,,,,,21,,,,21,124,,124,,124,,124,,,,21,,,,,,,,21,21,,,,27,,,27',
',,124,173,,173,,173,,173,,,127,,127,,127,21,21,27,,21,169,,,,,21,,,',
'43,173,,,32,,,,9,32,,,,,,,127,27,127,,,27,,,,,21,27,27,,21,,27,27,,',
',32,32,32,,,,,,,,9,,,,9,,,67,,43,,43,,,,9,,,,43,,,,9,9,32,32,32,,127',
',,,43,,21,,,,,127,,127,,127,,,,,9,9,,,9,,,21,,,,,,21,,21,,,,32,127,',
',,,,,,32,32,43,,27,43,,,27,,,43,9,,53,,,,27,53,,43,,,,43,,,,,,,,,,27',
'125,125,125,,,,,,,,,53,53,53,,,,,43,43,,27,43,,,27,,,43,43,,,9,43,43',
',27,,,,,67,67,,27,27,53,53,53,53,32,,32,9,,32,,,,9,,32,,,,,,,,,27,27',
',,27,32,,,54,,27,,,54,,,,,,53,,,,,,,,,53,53,,,125,125,125,125,,125,',
',27,54,54,54,,67,,67,,,67,67,,,43,,,,,43,43,,,43,,,32,,,,32,,,43,32',
'32,54,54,54,54,,,,125,125,125,125,,,,43,32,,,125,,27,,,,32,32,,,,,,',
',,,,43,,53,,43,27,,54,,,,27,,27,,43,54,54,,,,,,43,43,,,53,,,,,,,,,,',
',,,,,,,,,43,,43,43,,,43,,,,,67,43,,,,,,,,,,,,,,,,,,,,,,,,,,,,,53,43',
',,53,,,,53,53,,,,,54,,,,,,,,,,,53,,,,,,,,,53,53,,,,54,,,,,,,,,,,,,,',
',,,43,,67,,67,,67,,,,,,,,,,,,,,,43,32,,32,,,43,,43,32,,,,,,,,32,,,,67',
'54,43,67,,54,,,,54,54,,,,,,,,,,,,,,,,54,,67,,,,,,,54,54,,,,,,,,,,,,67',
',32,,,32,,,,,,,,,,,,,,,,,,,,32,,,,,,,32,,,,,,,,,,,67,,,,,,,,,67,67,32',
',,,32,,,,,,32,32,53,,53,32,32,,,,53,,,,,,,,53,,67,,,67,,,,,,,,,,,,,',
'32,,,,,,67,,,,,32,,,,,,,,,,,,67,,,,,,,,,,,,53,,,53,,,,,,,,,,,,,,,,,',
',,53,,,,,,32,54,,54,32,,,,,54,,,,67,32,,,54,,,,,,,,,,53,,,,32,,,,,,',
',,,,,,,,,,,,,,,32,,,,32,,,,,,,,,,,32,,53,54,,,54,,32,32,,,,53,,,,,,',
',,,,,,54,67,,,,,,,32,32,,,32,,,,,,32,67,,,,,,,,,,,,,,54,,,,,,,53,,32',
',53,,,,32,,,,32,,53,,,,,,,,,,,,,,,,,,,,,,54,,,,,,,,,,,54,,,,,,53,,,',
'53,,,32,,,,32,,,,53,,,,,,,,53,53,,,,,,,,32,,,,,,32,,32,,,,,,,54,,53',
'53,54,,53,,,,,,53,,54,,34,,,,,,,,,34,34,34,,,,,,,,,53,,34,34,34,,53',
',,,53,,,,,,,54,,34,34,54,,,,,,,,,,,54,,,,,,,,54,54,,,,,,,,,,,,,,,,,53',
',,,53,,,,54,54,,,54,,,,,,54,,,,,,,53,,,,,,53,,53,,,,,,,,,54,,,,,,54',
',,,54,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,54,,,,54,,,,,34',
'34,,,34,34,,,,,34,,,,,,54,,,,,,54,34,54,,34,34,34,34,34,34,34,34,34',
'34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,,,,,,,34,34,,,,,',
',,34,,,,,,,34,,34,,,34,34,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,34,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,34,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,34,,34,34,34',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,34,,34,,34,,,,,,,,,,,,,,,,34',
',,,,,,,,34,34,,,,,,,,,,34,,,34,,,,,,,,,,,,,,,,,,,,,,,,,34,,,,,,,,,,',
',,,,,,,,,34,34,,,,,,,,,,34,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,34,34,34,',
',,34,,,34,34,34,34,,,,34,34,,,,,,,,,,,,,,,,,,,,,,,,34,,,34,,,,,,,,,',
',,,,,,,,,,34,,,,,,,,,,,,,,,,,34,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,34,,,,,,,,34,,,,,,,,,,,,,34,34,34,34,,34,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,34,,,,,,,,,,,,,,,,,,34',
'34,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,34' ]
        racc_goto_check = arr = ::Array.new(3068, 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,   132,    24,   nil,    32,   112,    27,    43,  -301,   371,
  -517,  -560,  -667,   nil,  -365,    23,   140,   -12,    -6,    83,
    46,   261,  -161,   -54,    25,    35,  -154,   505,     7,  -201,
  -366,    -2,  1119,   -19,  2087,   -25,   nil,   nil,     4,  -127,
    57,  -225,  -201,   666,   nil,    91,    27,    65,   -37,   nil,
   -17,    46,  -238,  1253,  1353,  -301,    92,   -70,    -6,   nil,
   nil,    25,    36,  -242,   -59,    26,    27,  1109,   113,   -43,
   -10,  -215,    79,   -18,  -308,  -220,  -404,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   104,   116,   -51,   nil,
   115,  -287,  -668,  -507,  -330,   110,  -182,    15,  -576,   109,
   124,   125,  -348,   127,   121,  -533,   123,  -534,  -397,  -720,
  -401,  -544,  -166,  -175,  -399,  -651,  -686,  -457,  -482,  -732,
  -580,   nil,     1,  -434,    60,   408,  -577,   205,  -659,   -74,
  -505,   nil,  -596,  -667,  -775,  -755,  -110,  -462,   174,  -303,
  -269,     7,  -123,   nil,   nil,  -248,   nil,  -236,  -665,  -443,
  -558,   nil,   nil,   181,    22,    66,   179,   183,  -218,  -214,
   183,   183,   184,  -328,  -328,  -317,  -258,   nil,   nil,    91,
  -421,  -135,  -587,    90,  -410,  -633,   nil,  -609,  -791,   nil,
   nil,  -407 ]

racc_goto_default = [
   nil,   nil,   nil,     3,   nil,     4,   346,   293,   nil,   530,
   nil,   837,   nil,   290,   291,   nil,   nil,   nil,    11,    12,
    18,   227,   nil,   nil,    14,   nil,   411,   228,   321,   nil,
   nil,   593,   226,   446,    21,    22,    23,    24,   nil,   683,
   nil,   nil,   nil,   310,    25,   425,    32,   nil,   nil,    34,
    37,    36,   nil,   223,   224,   358,   nil,   129,   433,   128,
   131,    75,    76,   nil,   416,    90,    46,   282,   nil,   805,
   426,   nil,   427,   438,   641,   494,   280,   266,    47,    48,
    49,    50,    51,    52,    53,    54,    55,   nil,   267,    61,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   576,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   710,   558,   nil,   711,
   968,   864,   546,   nil,   547,   nil,   nil,   548,   nil,   550,
   nil,   788,   nil,   nil,   nil,   556,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   437,   490,   nil,   481,   nil,   nil,   nil,
   nil,    74,    77,    78,   nil,   nil,   nil,   nil,   nil,   603,
   nil,   nil,   nil,   nil,   nil,   nil,   821,   744,   545,   nil,
   549,   829,   561,   563,   564,   875,   567,   568,   876,   571,
   574,   285 ]

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

racc_reduce_n = 600

racc_shift_n = 1033

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

racc_nt_base = 145

racc_use_result_var = true

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

Racc_token_to_s_table = [
  "$end",
  "error",
  "kCLASS",
  "kMODULE",
  "kDEF",
  "kUNDEF",
  "kBEGIN",
  "kRESCUE",
  "kENSURE",
  "kEND",
  "kIF",
  "kUNLESS",
  "kTHEN",
  "kELSIF",
  "kELSE",
  "kCASE",
  "kWHEN",
  "kWHILE",
  "kUNTIL",
  "kFOR",
  "kBREAK",
  "kNEXT",
  "kREDO",
  "kRETRY",
  "kIN",
  "kDO",
  "kDO_COND",
  "kDO_BLOCK",
  "kDO_LAMBDA",
  "kRETURN",
  "kYIELD",
  "kSUPER",
  "kSELF",
  "kNIL",
  "kTRUE",
  "kFALSE",
  "kAND",
  "kOR",
  "kNOT",
  "kIF_MOD",
  "kUNLESS_MOD",
  "kWHILE_MOD",
  "kUNTIL_MOD",
  "kRESCUE_MOD",
  "kALIAS",
  "kDEFINED",
  "klBEGIN",
  "klEND",
  "k__LINE__",
  "k__FILE__",
  "k__ENCODING__",
  "tIDENTIFIER",
  "tFID",
  "tGVAR",
  "tIVAR",
  "tCONSTANT",
  "tLABEL",
  "tCVAR",
  "tNTH_REF",
  "tBACK_REF",
  "tSTRING_CONTENT",
  "tINTEGER",
  "tFLOAT",
  "tUPLUS",
  "tUMINUS",
  "tUNARY_NUM",
  "tPOW",
  "tCMP",
  "tEQ",
  "tEQQ",
  "tNEQ",
  "tGEQ",
  "tLEQ",
  "tANDOP",
  "tOROP",
  "tMATCH",
  "tNMATCH",
  "tDOT",
  "tDOT2",
  "tDOT3",
  "tAREF",
  "tASET",
  "tLSHFT",
  "tRSHFT",
  "tCOLON2",
  "tCOLON3",
  "tOP_ASGN",
  "tASSOC",
  "tLPAREN",
  "tLPAREN2",
  "tRPAREN",
  "tLPAREN_ARG",
  "tLBRACK",
  "tLBRACK2",
  "tRBRACK",
  "tLBRACE",
  "tLBRACE_ARG",
  "tSTAR",
  "tSTAR2",
  "tAMPER",
  "tAMPER2",
  "tTILDE",
  "tPERCENT",
  "tDIVIDE",
  "tDSTAR",
  "tPLUS",
  "tMINUS",
  "tLT",
  "tGT",
  "tPIPE",
  "tBANG",
  "tCARET",
  "tLCURLY",
  "tRCURLY",
  "tBACK_REF2",
  "tSYMBEG",
  "tSTRING_BEG",
  "tXSTRING_BEG",
  "tREGEXP_BEG",
  "tREGEXP_OPT",
  "tWORDS_BEG",
  "tQWORDS_BEG",
  "tSYMBOLS_BEG",
  "tQSYMBOLS_BEG",
  "tSTRING_DBEG",
  "tSTRING_DVAR",
  "tSTRING_END",
  "tSTRING_DEND",
  "tSTRING",
  "tSYMBOL",
  "tNL",
  "tEH",
  "tCOLON",
  "tCOMMA",
  "tSPACE",
  "tSEMI",
  "tLAMBDA",
  "tLAMBEG",
  "tCHARACTER",
  "tRATIONAL",
  "tIMAGINARY",
  "tLABEL_END",
  "tANDDOT",
  "tEQL",
  "tLOWEST",
  "$start",
  "program",
  "top_compstmt",
  "top_stmts",
  "opt_terms",
  "top_stmt",
  "terms",
  "stmt",
  "bodystmt",
  "compstmt",
  "opt_rescue",
  "opt_else",
  "opt_ensure",
  "stmts",
  "stmt_or_begin",
  "fitem",
  "undef_list",
  "expr_value",
  "command_asgn",
  "mlhs",
  "command_call",
  "lhs",
  "mrhs",
  "mrhs_arg",
  "expr",
  "@1",
  "command_rhs",
  "var_lhs",
  "primary_value",
  "opt_call_args",
  "rbracket",
  "call_op",
  "backref",
  "opt_nl",
  "arg",
  "command",
  "block_command",
  "block_call",
  "dot_or_colon",
  "operation2",
  "command_args",
  "cmd_brace_block",
  "brace_body",
  "fcall",
  "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",
  "@2",
  "arg_rhs",
  "simple_numeric",
  "primary",
  "arg_value",
  "aref_args",
  "none",
  "args",
  "trailer",
  "assocs",
  "paren_args",
  "opt_paren_args",
  "opt_block_arg",
  "block_arg",
  "@3",
  "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",
  "@4",
  "@5",
  "@6",
  "@7",
  "@8",
  "@9",
  "@10",
  "@11",
  "@12",
  "@13",
  "@14",
  "@15",
  "@16",
  "@17",
  "@18",
  "@19",
  "f_marg",
  "f_norm_arg",
  "f_margs",
  "f_marg_list",
  "block_args_tail",
  "f_block_kwarg",
  "f_kwrest",
  "opt_f_block_arg",
  "f_block_arg",
  "opt_block_args_tail",
  "block_param",
  "f_arg",
  "f_block_optarg",
  "f_rest_arg",
  "opt_block_param",
  "block_param_def",
  "opt_bv_decl",
  "bv_decls",
  "bvar",
  "f_bad_arg",
  "f_larglist",
  "lambda_body",
  "@20",
  "@21",
  "f_args",
  "do_block",
  "do_body",
  "operation3",
  "@22",
  "@23",
  "@24",
  "@25",
  "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",
  "@26",
  "@27",
  "args_tail",
  "@28",
  "f_kwarg",
  "opt_args_tail",
  "f_optarg",
  "f_arg_asgn",
  "f_arg_item",
  "f_label",
  "f_kw",
  "f_block_kw",
  "kwrest_mark",
  "f_opt",
  "f_block_opt",
  "restarg_mark",
  "blkarg_mark",
  "assoc" ]

Racc_debug_parser = false

##### State transition tables end #####

# reduce 0 omitted

# reduce 1 omitted

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

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

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

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

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

# reduce 7 omitted

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

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

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

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

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

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

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

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

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

# reduce 15 omitted

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

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

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

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

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

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

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

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

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

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

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

def _reduce_27(val, _values, result)
                      rescue_body = @builder.rescue_body(val[1],
                                        nil, nil, nil,
                                        nil, val[2])

                      result = @builder.begin_body(val[0], [ rescue_body ])
                    
    result
end

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

# reduce 29 omitted

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

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

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

# reduce 33 omitted

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

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

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

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

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

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

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

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

# reduce 42 omitted

def _reduce_43(val, _values, result)
                      rescue_body = @builder.rescue_body(val[1],
                                        nil, nil, nil,
                                        nil, val[2])

                      result = @builder.begin_body(val[0], [ rescue_body ])
                    
    result
end

# reduce 44 omitted

# reduce 45 omitted

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

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

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

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

# reduce 50 omitted

# reduce 51 omitted

# reduce 52 omitted

# reduce 53 omitted

# reduce 54 omitted

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

def _reduce_56(val, _values, result)
                      result = [ val[0], *val[1], val[2] ]
                    
    result
end

# reduce 57 omitted

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 73 omitted

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

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

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

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

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

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

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

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

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

# reduce 83 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 108 omitted

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

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

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

# reduce 112 omitted

# reduce 113 omitted

# reduce 114 omitted

# reduce 115 omitted

# reduce 116 omitted

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

# reduce 118 omitted

# reduce 119 omitted

# reduce 120 omitted

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

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

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

# 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

# reduce 194 omitted

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

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

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

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

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

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

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

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

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

def _reduce_230(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    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.logical_op(:and, val[0], val[1], val[2])
                    
    result
end

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

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

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

# reduce 236 omitted

# reduce 237 omitted

# reduce 238 omitted

# reduce 239 omitted

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

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

# reduce 242 omitted

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

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

# reduce 246 omitted

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

# reduce 248 omitted

# reduce 249 omitted

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

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

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

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

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

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

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

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

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

                      result = val[1]
                    
    result
end

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

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

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

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

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

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

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

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

# reduce 267 omitted

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

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

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

# 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

# reduce 280 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 302 omitted

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

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

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

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

def _reduce_319(val, _values, result)
                      if in_def?
                        diagnostic :error, :class_in_def, nil, val[0]
                      end

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

                      @lexer.pop_cmdarg
                      @static_env.unextend
                    
    result
end

def _reduce_320(val, _values, result)
                      result = @def_level
                      @def_level = 0

                      @static_env.extend_static
                      @lexer.push_cmdarg
                    
    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

                      @def_level = val[4]
                    
    result
end

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

def _reduce_323(val, _values, result)
                      if in_def?
                        diagnostic :error, :module_in_def, nil, val[0]
                      end

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

                      @lexer.pop_cmdarg
                      @static_env.unextend
                    
    result
end

def _reduce_324(val, _values, result)
                      @def_level += 1
                      @static_env.extend_static
                      @lexer.push_cmdarg
                    
    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
                      @def_level -= 1
                    
    result
end

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

def _reduce_327(val, _values, result)
                      @def_level += 1
                      @static_env.extend_static
                      @lexer.push_cmdarg
                    
    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
                      @def_level -= 1
                    
    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
                    
    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)
                      result = [ val[0], val[1], val[2] ]
                    
    result
end

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

def _reduce_397(val, _values, result)
                      result = [ val[0], *val[1], val[2] ]
                    
    result
end

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

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

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

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

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

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

def _reduce_411(val, _values, result)
                      result = [ val[0], *val[1], val[2] ]
                    
    result
end

def _reduce_412(val, _values, result)
                      result = [ val[0], *val[1], val[2] ]
                    
    result
end

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

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

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

                      @static_env.unextend
                      @lexer.cmdarg = val[1]
                      @lexer.cmdarg.pop
                    
    result
end

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

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

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

                      @static_env.unextend
                      @lexer.cmdarg = val[1]
                      @lexer.cmdarg.pop
                    
    result
end

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

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

# reduce 421 omitted

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

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

# reduce 425 omitted

# reduce 426 omitted

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

# reduce 428 omitted

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

# reduce 430 omitted

# reduce 431 omitted

# reduce 432 omitted

# reduce 433 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 469 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

def _reduce_489(val, _values, result)
                      result = @builder.__ENCODING__(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.accessible(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.assignable(val[0])
                    
    result
end

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

def _reduce_495(val, _values, result)
                      result = @builder.back_ref(val[0])
                    
    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)
                      result = nil
                    
    result
end

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

                      @lexer.state = :expr_value
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 527 omitted

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

                      result = val[0]
                    
    result
end

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

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

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

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

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

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

                      @static_env.declare val[0][0]

                      result = val[0]
                    
    result
end

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

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

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

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

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

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

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

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

# reduce 543 omitted

# reduce 544 omitted

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

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

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

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

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

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

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

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

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

# reduce 553 omitted

# reduce 554 omitted

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

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

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

# reduce 557 omitted

# reduce 558 omitted

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

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

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

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

# reduce 562 omitted

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

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

# reduce 565 omitted

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

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

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

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

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

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

# reduce 572 omitted

# reduce 573 omitted

# reduce 574 omitted

# reduce 575 omitted

# reduce 576 omitted

# reduce 577 omitted

# reduce 578 omitted

# reduce 579 omitted

# reduce 580 omitted

# reduce 581 omitted

# reduce 582 omitted

# reduce 583 omitted

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

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

# reduce 586 omitted

# reduce 587 omitted

# reduce 588 omitted

# reduce 589 omitted

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

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

# reduce 592 omitted

# reduce 593 omitted

# reduce 594 omitted

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

# reduce 596 omitted

# reduce 597 omitted

# reduce 598 omitted

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

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

  end   # class Ruby24
  end   # module Parser
