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


  def version
    23
  end

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

clist = [
'-474,216,217,216,217,214,-97,-474,-474,-474,-286,570,-474,-474,-474',
'212,-474,270,219,610,647,647,263,570,-474,612,-474,-474,-474,270,582',
'270,-488,109,583,-98,-474,-474,570,-474,-474,-474,-474,-474,570,570',
'-97,-98,-105,-105,-286,-104,-96,-83,-104,646,646,529,270,220,528,121',
'-105,-69,647,814,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474',
'-474,-474,-474,213,265,-474,-474,-474,609,-474,-474,715,-97,-474,611',
'-100,-474,-474,220,-474,220,-474,646,-474,206,-474,-474,269,-474,-474',
'-474,-474,-474,-100,-474,-477,-474,-102,-88,269,-102,269,-477,-477,-477',
'265,-101,-477,-477,-477,-474,-477,113,-474,-474,-474,-474,112,-474,-477',
'-474,-477,-477,-477,113,-474,-474,-89,269,112,-91,-477,-477,-103,-477',
'-477,-477,-477,-477,113,-99,-96,841,-95,112,113,113,-97,-98,-105,112',
'112,-97,-98,-105,-104,715,813,-101,-99,-104,-477,-477,-477,-477,-477',
'-477,-477,-477,-477,-477,-477,-477,-477,-477,113,207,-477,-477,-477',
'112,-477,-477,-571,-91,-477,208,-93,-477,-477,715,-477,-103,-477,113',
'-477,-91,-477,-477,112,-477,-477,-477,-477,-477,-289,-477,-489,-477',
'-93,-572,-100,-289,-289,-289,-102,-100,647,-289,-289,-102,-289,-477',
'-571,-101,-477,-477,-477,-477,-101,-477,215,-477,216,217,446,-91,-477',
'-477,-91,259,-289,-289,-90,-289,-289,-289,-289,-289,-91,318,-103,646',
'-93,-474,-92,-103,-572,-99,529,113,-474,531,-99,-98,112,517,-92,-90',
'216,217,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289',
'-289,-289,319,769,-289,-289,-289,-477,630,-105,-93,113,-289,-93,-477',
'-289,112,805,-94,576,-289,220,-289,-93,-289,-289,-90,-289,-289,-289',
'-289,-289,597,-289,-575,-289,-474,-571,-92,79,-104,-575,-575,-575,220',
'216,217,-575,-575,-289,-575,80,-289,-289,388,-94,401,-289,113,-575,-100',
'81,445,112,-289,-103,-90,-568,-488,-90,-575,-575,-477,-575,-575,-575',
'-575,-575,-92,-90,113,-92,216,217,447,112,550,770,547,546,545,-92,548',
'91,92,448,599,598,595,219,-575,-575,-575,-575,-575,-575,-575,-575,-575',
'-575,-575,-575,-575,-575,479,-88,-575,-575,-575,-474,631,91,92,597,-575',
'-97,-474,-575,113,859,488,-568,-575,112,-575,-474,-575,-575,-489,-575',
'-575,-575,-575,-575,-102,-575,-575,-575,597,550,597,547,546,545,-568',
'548,-484,113,490,-569,492,-575,112,-484,-575,-575,-575,-92,832,-575',
'500,93,94,-575,-575,-575,-575,-101,-575,-575,-575,-68,-575,220,-474',
'-89,-99,599,598,595,-483,-575,-575,-575,-575,-98,113,-483,503,93,94',
'112,-575,-575,662,-575,-575,-575,-575,-575,504,-477,599,598,599,598',
'597,529,-477,597,531,-484,746,-569,748,597,529,-477,511,531,274,955',
'-575,-575,-575,-575,-575,-575,-575,-575,-575,-575,-575,-575,-575,-575',
'-569,220,-575,-575,-575,220,771,-575,978,-483,-575,597,517,-575,-575',
'597,-575,-485,-575,265,-575,625,-575,-575,-485,-575,-575,-575,-575,-575',
'-477,-575,-575,-575,599,598,600,599,598,602,514,-482,518,599,598,604',
'240,-575,-482,220,-575,-575,-575,-575,532,-575,533,-575,-289,-95,216',
'217,-575,-101,492,-289,-289,-289,-91,-104,-289,-289,-289,576,-289,599',
'598,608,-100,599,598,613,-485,398,-289,-289,-289,390,400,399,566,565',
'626,580,-289,-289,581,-289,-289,-289,-289,-289,589,212,614,-332,-482',
'212,-479,-480,211,617,-332,-481,443,-479,-480,836,805,209,-481,-332',
'-261,444,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289',
'-289,-289,619,-93,-289,-289,-289,240,772,-289,-486,220,-289,-102,212',
'-289,-289,-486,-289,623,-289,263,-289,755,-289,-289,-486,-289,-289,-289',
'-289,-289,213,-289,-332,-289,213,-479,-480,237,-487,624,-481,239,238',
'265,240,-487,634,-289,836,805,-289,-289,-289,-289,-487,-289,637,-289',
'-409,240,240,240,-289,-103,240,-409,-409,-409,-90,555,-409,-409,-409',
'-486,-409,220,237,213,-99,558,239,238,220,-409,-409,-409,740,741,220',
'-83,742,107,108,666,-409,-409,220,-409,-409,-409,-409,-409,550,-487',
'547,546,545,212,548,522,677,682,566,565,510,683,550,559,547,546,545',
'685,548,508,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409',
'-409,-409,689,701,-409,-409,-409,692,693,-409,695,265,-409,697,699,-409',
'-409,701,-409,707,-409,708,-409,709,-409,-409,704,-409,-409,-409,-409',
'-409,-296,-409,-409,-409,213,711,576,-296,-296,-296,718,735,-296,-296',
'-296,-279,-296,-409,745,749,-409,-409,-279,-409,750,-409,-296,-296,-262',
'756,479,-279,-409,479,220,774,-296,-296,259,-296,-296,-296,-296,-296',
'490,492,798,212,677,212,220,265,265,677,520,550,579,547,546,545,240',
'548,805,444,220,577,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296',
'-296,-296,-296,-296,-279,220,-296,-296,-296,830,220,-296,805,274,-296',
'840,701,-296,-296,220,-296,220,-296,849,-296,704,-296,-296,-263,-296',
'-296,-296,-296,-296,-280,-296,213,-296,213,858,861,-280,-280,-280,692',
'864,-280,-280,-280,212,-280,-296,866,868,-296,-296,585,-296,870,-296',
'-280,-280,-280,220,872,587,-296,873,876,878,-280,-280,879,-280,-280',
'-280,-280,-280,677,-290,881,-290,-261,212,885,887,-290,890,-290,692',
'937,892,894,896,898,-290,898,-290,220,587,-280,-280,-280,-280,-280,-280',
'-280,-280,-280,-280,-280,-280,-280,-280,213,212,-280,-280,-280,904,906',
'-280,937,908,-280,914,917,-280,-280,220,-280,587,-280,921,-280,-264',
'-280,-280,931,-280,-280,-280,-280,-280,-290,-280,-290,-280,213,938,555',
'550,212,547,546,545,939,548,948,984,558,-280,949,-575,-280,-280,-280',
'-280,982,-280,-244,-280,957,959,960,965,-280,-244,-244,-244,213,735',
'-244,-244,-244,692,-244,968,701,240,970,972,974,566,565,-244,-244,-244',
'559,934,974,547,546,545,985,548,-244,-244,986,-244,-244,-244,-244,-244',
'898,-575,898,213,898,991,957,237,-575,-572,-571,239,238,-571,235,236',
'682,-575,957,1010,1011,1012,-244,-244,-244,-244,-244,-244,-244,-244',
'-244,-244,-244,-244,-244,-244,-575,974,-244,-244,-244,-289,974,-244',
'974,265,-244,220,-289,-244,-244,898,-244,-572,-244,957,-244,-289,-244',
'-244,974,-244,-244,-244,-244,-244,-575,-244,-244,-244,,550,,547,546',
'545,,548,-289,,,,,-244,,-289,-244,-244,-576,-244,-572,-244,,,-289,-576',
'-576,-576,-244,,-576,-576,-576,,-576,240,-289,,701,,,,,-576,-576,-576',
'-576,903,,,,254,255,,-576,-576,,-576,-576,-576,-576,-576,550,,547,546',
'545,237,548,243,,239,238,-289,235,236,,,241,,242,,,,-576,-576,-576,-576',
'-576,-576,-576,-576,-576,-576,-576,-576,-576,-576,,701,-576,-576,-576',
'240,,-576,,,-576,,,-576,-576,,-576,,-576,,-576,,-576,-576,,-576,-576',
'-576,-576,-576,,-576,-576,-576,,,,237,,,,239,238,,235,236,,-576,,,-576',
'-576,-576,-576,,-576,-577,-576,,,,,-576,-577,-577,-577,,,-577,-577,-577',
'240,-577,934,,547,546,545,,548,,-577,-577,-577,-577,,,254,255,,,,-577',
'-577,,-577,-577,-577,-577,-577,,,,237,,243,,239,238,,235,236,,,241,',
'242,116,117,118,119,120,-577,-577,-577,-577,-577,-577,-577,-577,-577',
'-577,-577,-577,-577,-577,,,-577,-577,-577,,,-577,,,-577,,,-577,-577',
',-577,,-577,,-577,,-577,-577,,-577,-577,-577,-577,-577,,-577,-577,-577',
'116,117,118,119,120,,,,550,,547,546,545,-577,548,,-577,-577,-577,-577',
',-577,-244,-577,,,,,-577,-244,-244,-244,,,-244,-244,-244,550,-244,547',
'546,545,555,548,,701,,-244,-244,,,,558,,,,240,,-244,-244,,-244,-244',
'-244,-244,-244,116,117,118,119,120,,254,255,553,,550,,547,546,545,555',
'548,563,562,566,565,,237,,559,558,239,238,,235,236,,,-244,,,,,240,,-244',
',,,,265,-244,553,536,,220,,,,254,255,563,562,566,565,,,,559,,,,,-244',
'-244,237,,243,,239,238,,235,236,,,,,-244,,,-244,,,,,-244,5,69,70,71',
'9,57,-244,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
'102,103,,,19,,,,,635,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,,-238,,,62',
',81,93,94,292,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,',
',,29,28,27,101,100,102,103,,,19,,,,,620,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,,,,,635,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,,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',
'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,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,,258,,,,,62,,81,93,94,292,69,70',
'71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
'103,,,19,,,,,,8,45,294,10,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,240,244,249,250,251,246,248,256,257,252,253,,233,234,,,254',
'255,,40,,,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236,247,245,241',
'20,242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,258,,,,,62,,81,93,94,292',
'69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
'100,102,103,,,19,,,,,,8,45,294,10,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,240,244,249,250,251,246,248,256,257,252,253,,233',
'234,,,254,255,,40,,,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236',
'247,245,241,20,242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,258,,,,,62',
',81,93,94,292,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,',
',,29,28,27,101,100,102,103,,,19,,,,,,8,45,294,10,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,240,244,249,250,251,246,248,256,257',
'252,253,,233,234,,,254,255,,40,,,33,,,58,59,,,60,,35,237,,243,44,239',
'238,,235,236,247,245,241,20,242,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',258,,,,,62,,81,93,94,292,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30',
'31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,294,10,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,240,244,249,250,251,246',
'248,256,257,252,253,,233,234,,,254,255,,40,,,33,,,58,59,,,60,,35,237',
',243,44,239,238,,235,236,247,245,241,20,242,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,258,,,,,62,,81,93,94,292,69,70,71,9,57,,,,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,294',
'10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,240,244,249',
'250,251,246,248,256,257,252,253,,233,234,,,254,255,,40,,,33,,,58,59',
',,60,,35,237,,243,44,239,238,,235,236,247,245,241,20,242,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,258,,,,,62,,81,93,94,292,69,70,71,9,57,,',
',63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19',
',,,,,8,45,294,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43',
'41,240,244,249,250,251,246,248,256,257,252,253,,233,234,,,254,255,,40',
',,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236,247,245,241,20,242',
',,,89,79,82,83,,84,86,85,87,,,,,80,88,,258,,,,,62,,81,93,94,292,69,70',
'71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
'103,,,19,,,,,,8,45,294,10,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,240,244,249,250,251,246,248,256,257,252,253,,233,234,,,254',
'255,,40,,,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236,247,245,241',
'20,242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,258,,,,,62,,81,93,94,292',
'69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
'100,102,103,,,19,,,,,,8,45,294,10,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,240,244,249,250,251,246,248,256,257,252,253,,-596',
'-596,,,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,,550,,547,546',
'545,62,548,81,93,94,292,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,701,29,28,27,101,100,102,103,,,19,,,,,,8,45,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,,-596,-596,,,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,-596,-596',
'-596,-596,246,248,,,-596,-596,,,,,,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,-596,-596,-596,-596,246,248,,,-596,-596,,,,,,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,-596,-596,-596,-596,246,248,,,-596,-596,,,,,,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,-596,-596,-596,-596,246,248,,,-596,-596,,,,,,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,-596,-596,-596,-596,246,248,,,-596,-596,,,,,,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,-596,-596,-596,-596,246,248,,,-596,-596,,,,',
',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,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,,,550,,547,546,545,555,548,,,,,,,,,558,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,317,,553,62,,81,93,94,69,70,71,,57,566,565,,63',
'64,559,,,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,,,550,,547,546',
'545,555,548,,,,,,,,,558,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,553',
'62,,81,93,94,69,70,71,9,57,566,565,,63,64,559,,,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,,,,,,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,,,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,,,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,,,550,,547,546,545,555,548,,,,,,,,',
'558,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,506,,553,62,,81,93,94,69',
'70,71,,57,566,565,,63,64,559,,,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,522,,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,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,,659,,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,,659,,,,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,,753,,,,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,,659,',
'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',
'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,,,,,,,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,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,,,,,,,,,',
',,,,,,,,,,875,,,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,,,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,,659,,,,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,,,,,,,,,,,,,,,,,,,,875,,,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,,,,,,,,,,,,,,,,,,,,945,,,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,415,419,162,,416,,,,,,,,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,422,426,162,,421,,,,,,,,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,477,419,162,,478',
',,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146',
'147,,,,,,,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155',
'134,638,419,162,,639,,,,,,,,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,640,426,162,,641,,,,,,,,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,670,419,162,,671',
',,,,,,,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,673,426,162,,674,,,,,,,,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,638,419,162,,639,,,,,,,,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,640,426,162',
',641,,,,,,,,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,721,419,162,,722,,,,,,,,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,723,426,162,,724,,,,,,,,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,726,426',
'162,,727,,,,,,,,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,477,419,162,,478,,,,,,,,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,980,426,162,,979,,,,,,,,157',
'158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,265',
',,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155,134,1003',
'419,162,,1004,,,,,,,,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,1005,426,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,,550,162,547,546,545',
'555,548,,550,,547,546,545,555,548,558,,,,,,,,558,,550,,547,546,545,555',
'548,,,,,,553,,,558,,,,,553,563,562,566,565,,,,559,563,562,566,565,,',
',559,553,,550,,547,546,545,555,548,563,562,566,565,,,,559,558,,550,',
'547,546,545,555,548,,550,,547,546,545,555,548,558,,,,,553,,,558,,,,',
',563,562,566,565,,,,559,553,,,,,,,,553,563,562,566,565,,,,559,563,562',
'566,565,,,550,559,547,546,545,555,548,,550,,547,546,545,555,548,558',
',,,,,,,558,,550,,547,546,545,555,548,,,,,,553,,,558,,,,,553,563,562',
'566,565,,,,559,563,562,566,565,,,,559,553,,550,,547,546,545,555,548',
',,566,565,,,,559,558,,550,,547,546,545,555,548,550,,547,546,545,555',
'548,,558,,,,,553,,558,,550,,547,546,545,555,548,566,565,,,,559,553,',
'558,,,,,553,,563,562,566,565,,,,559,,566,565,,,,559,553,,550,,547,546',
'545,555,548,,,566,565,,,,559,558,,550,,547,546,545,555,548,550,,547',
'546,545,555,548,,558,,,,,553,,558,,,,,,,,,566,565,,,,559,553,,,,,,,553',
',,,566,565,,,,559,,566,565,,,,559' ]
        racc_action_table = arr = ::Array.new(25163, 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,439,439,594,594,15,347,95,95,95,58,340,95,95,95,24,95,26,19,385,475',
'483,24,341,95,386,95,95,95,61,357,650,223,1,357,348,95,95,719,95,95',
'95,95,95,884,907,942,943,946,351,58,580,15,665,985,475,483,330,310,19',
'330,7,15,665,484,687,95,95,95,95,95,95,95,95,95,95,95,95,95,95,24,26',
'95,95,95,385,95,95,572,223,95,386,721,95,95,439,95,594,95,484,95,10',
'95,95,26,95,95,95,95,95,1003,95,98,95,1004,347,61,722,650,98,98,98,310',
'1005,98,98,98,95,98,340,95,95,95,95,340,95,98,95,98,98,98,341,95,95',
'348,310,341,670,98,98,1006,98,98,98,98,98,719,1017,351,719,580,719,884',
'907,942,943,946,884,907,942,943,946,985,573,687,723,843,985,98,98,98',
'98,98,98,98,98,98,98,98,98,98,98,572,12,98,98,98,572,98,98,1005,721',
'98,13,671,98,98,844,98,724,98,3,98,670,98,98,3,98,98,98,98,98,421,98',
'224,98,722,1006,1003,421,421,421,1004,1003,651,421,421,1004,421,98,723',
'1005,98,98,98,98,1005,98,16,98,680,680,226,670,98,98,670,22,421,421',
'800,421,421,421,421,421,670,37,1006,651,671,366,673,1006,724,1017,331',
'573,366,331,1017,224,573,445,723,843,590,590,421,421,421,421,421,421',
'421,421,421,421,421,421,421,421,40,638,421,421,421,367,421,226,671,844',
'421,671,367,421,844,912,724,912,421,45,421,671,421,421,800,421,421,421',
'421,421,380,421,422,421,366,673,673,77,445,422,422,422,680,17,17,422',
'422,421,422,77,421,421,109,421,204,421,290,422,638,77,225,290,421,421',
'800,355,38,800,422,422,367,422,422,422,422,422,673,800,590,673,339,339',
'227,590,704,639,704,704,704,673,704,41,41,228,380,380,380,232,422,422',
'422,422,422,422,422,422,422,422,422,422,422,422,264,38,422,422,422,355',
'422,315,315,494,422,38,355,422,344,773,278,355,422,344,422,355,422,422',
'39,422,422,422,422,422,639,422,422,422,605,903,607,903,903,903,355,903',
'368,847,279,356,282,422,847,368,422,422,640,422,704,422,294,41,41,640',
'640,640,422,422,640,640,640,295,640,297,355,39,773,494,494,494,369,640',
'640,640,640,39,852,369,298,315,315,852,640,640,494,640,640,640,640,640',
'299,356,605,605,607,607,381,334,356,382,334,368,605,356,607,383,686',
'356,305,686,308,903,640,640,640,640,640,640,640,640,640,640,640,640',
'640,640,356,309,640,640,640,932,640,640,932,369,640,384,319,640,640',
'387,640,370,640,314,640,415,640,640,370,640,640,640,640,640,356,640',
'640,640,381,381,381,382,382,382,316,371,320,383,383,383,323,640,371',
'328,640,640,640,640,332,640,333,640,641,319,525,525,640,640,335,641',
'641,641,415,319,641,641,641,345,641,384,384,384,415,387,387,387,370',
'123,641,641,641,346,123,123,692,692,416,350,641,641,352,641,641,641',
'641,641,361,14,396,46,371,222,372,373,14,402,46,374,222,372,373,710',
'710,14,374,46,405,222,641,641,641,641,641,641,641,641,641,641,641,641',
'641,641,407,416,641,641,641,451,641,641,302,411,641,416,376,641,641',
'302,641,413,641,376,641,621,641,641,302,641,641,641,641,641,14,641,46',
'641,222,372,373,451,303,414,374,451,451,423,452,303,431,641,993,993',
'641,641,641,641,303,641,441,641,27,453,454,455,641,641,456,27,27,27',
'621,689,27,27,27,302,27,481,452,376,621,689,452,452,485,27,27,27,598',
'598,501,502,598,598,598,505,27,27,507,27,27,27,27,27,832,303,832,832',
'832,304,832,512,515,523,689,689,304,524,553,689,553,553,553,526,553',
'304,27,27,27,27,27,27,27,27,27,27,27,27,27,27,538,832,27,27,27,539,541',
'27,542,27,27,543,552,27,27,553,27,560,27,564,27,567,27,27,553,27,27',
'27,27,27,28,27,27,27,304,569,574,28,28,28,575,592,28,28,28,306,28,27',
'602,610,27,27,306,27,612,27,28,28,618,622,627,306,27,632,642,644,28',
'28,649,28,28,28,28,28,656,658,664,321,667,349,669,672,675,676,321,701',
'349,701,701,701,679,701,681,321,684,349,28,28,28,28,28,28,28,28,28,28',
'28,28,28,28,306,688,28,28,28,703,705,28,712,28,28,717,701,28,28,720',
'28,729,28,733,28,701,28,28,752,28,28,28,28,28,56,28,321,28,349,757,775',
'56,56,56,776,778,56,56,56,359,56,28,779,780,28,28,359,28,782,28,56,56',
'56,783,784,359,28,785,789,793,56,56,794,56,56,56,56,56,799,511,803,583',
'806,874,807,810,511,815,583,816,874,820,821,823,824,511,826,583,829',
'874,56,56,56,56,56,56,56,56,56,56,56,56,56,56,359,936,56,56,56,831,834',
'56,936,837,56,846,850,56,56,851,56,936,56,854,56,855,56,56,871,56,56',
'56,56,56,511,56,583,56,874,875,861,904,944,904,904,904,877,904,888,944',
'861,56,889,726,56,56,56,56,944,56,417,56,905,909,910,916,56,417,417',
'417,936,920,417,417,417,922,417,925,904,470,926,927,928,861,861,417',
'417,417,861,872,930,872,872,872,945,872,417,417,950,417,417,417,417',
'417,951,726,952,944,953,954,956,470,726,979,980,470,470,726,470,470',
'981,726,992,994,995,996,417,417,417,417,417,417,417,417,417,417,417',
'417,417,417,726,997,417,417,417,674,998,417,999,417,417,1002,674,417',
'417,1007,417,674,417,1008,417,674,417,417,1019,417,417,417,417,417,726',
'417,417,417,,830,,830,830,830,,830,727,,,,,417,,727,417,417,426,417',
'727,417,,,727,426,426,426,417,,426,426,426,,426,461,674,,830,,,,,426',
'426,426,426,830,,,,461,461,,426,426,,426,426,426,426,426,955,,955,955',
'955,461,955,461,,461,461,727,461,461,,,461,,461,,,,426,426,426,426,426',
'426,426,426,426,426,426,426,426,426,,955,426,426,426,471,,426,,,426',
',,426,426,,426,,426,,426,,426,426,,426,426,426,426,426,,426,426,426',
',,,471,,,,471,471,,471,471,,426,,,426,426,426,426,,426,427,426,,,,,426',
'427,427,427,,,427,427,427,462,427,978,,978,978,978,,978,,427,427,427',
'427,,,462,462,,,,427,427,,427,427,427,427,427,,,,462,,462,,462,462,',
'462,462,,,462,,462,6,6,6,6,6,427,427,427,427,427,427,427,427,427,427',
'427,427,427,427,,,427,427,427,,,427,,,427,,,427,427,,427,,427,,427,',
'427,427,,427,427,427,427,427,,427,427,427,293,293,293,293,293,,,,957',
',957,957,957,427,957,,427,427,427,427,,427,476,427,,,,,427,476,476,476',
',,476,476,476,646,476,646,646,646,646,646,,957,,476,476,,,,646,,,,459',
',476,476,,476,476,476,476,476,499,499,499,499,499,,459,459,646,,338',
',338,338,338,338,338,646,646,646,646,,459,,646,338,459,459,,459,459',
',,476,,,,,457,,476,,,,,476,476,338,338,,646,,,,457,457,338,338,338,338',
',,,338,,,,,476,476,457,,457,,457,457,,457,457,,,,,476,,,476,,,,,476',
'0,0,0,0,0,0,476,,,0,0,,,,0,,0,0,0,0,0,0,0,,,,,,0,0,0,0,0,0,0,,,0,,,',
',434,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,0,,0,0,0,0,0,434,434,434,434,434,434',
'434,434,434,434,434,,434,434,,,434,434,,0,,,0,,,0,0,,,0,,0,434,,434',
'0,434,434,,434,434,434,434,434,0,434,,,,0,0,0,0,,0,0,0,0,,,,,0,0,,434',
',434,,,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,,,,,410,33,33,33,33,33,33,33,33,33',
'33,33,33,,33,33,33,,33,33,33,33,33,410,410,410,410,410,410,410,410,410',
'410,410,,410,410,,,410,410,,33,,,33,,,33,33,,,33,,33,410,,410,33,410',
'410,,410,410,410,410,410,33,410,,,,33,33,33,33,,33,33,33,33,,,,,33,33',
',410,,,,,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,,,,,643',
'121,121,121,121,121,121,121,121,121,121,121,121,,121,121,121,,121,121',
'121,121,121,643,643,643,643,643,643,643,643,643,643,643,,643,643,,,643',
'643,,121,,,121,,,121,121,,,121,,121,643,,643,121,643,643,,643,643,643',
'643,643,121,643,,,,121,121,121,121,,121,121,121,121,,,,,121,121,,643',
',,,,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,21,21,21,21,21,21,21,21,21,21,21,,21,21,,,21,21,,206,,,206',
',,206,206,,,206,,206,21,,21,206,21,21,,21,21,21,21,21,206,21,,,,206',
'206,206,206,,206,206,206,206,,,,,206,206,,21,,,,,206,,206,206,206,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,276,276,276,276',
'276,276,276,276,276,276,276,,276,276,,,276,276,,231,,,231,,,231,231',
',,231,,231,276,,276,231,276,276,,276,276,276,276,276,231,276,,,,231',
'231,231,231,,231,231,231,231,,,,,231,231,,276,,,,,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,429,429,429,429',
'429,429,429,429,429,429,429,,429,429,,,429,429,,296,,,296,,,296,296',
',,296,,296,429,,429,296,429,429,,429,429,429,429,429,296,429,,,,296',
'296,296,296,,296,296,296,296,,,,,296,296,,429,,,,,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,474,474,474,474',
'474,474,474,474,474,474,474,,474,474,,,474,474,,301,,,301,,,301,301',
',,301,,301,474,,474,301,474,474,,474,474,474,474,474,301,474,,,,301',
'301,301,301,,301,301,301,301,,,,,301,301,474,474,,,,,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,521,521,521',
'521,521,521,521,521,521,521,521,,521,521,,,521,521,,326,,,326,,,326',
'326,,,326,,326,521,,521,326,521,521,,521,521,521,521,521,326,521,,,',
'326,326,326,326,,326,326,326,326,,,,,326,326,,521,,,,,326,,326,326,326',
'500,500,500,500,500,500,,,,500,500,,,,500,,500,500,500,500,500,500,500',
',,,,,500,500,500,500,500,500,500,,,500,,,,,,500,500,500,500,500,500',
'500,500,500,500,500,500,,500,500,500,,500,500,500,500,500,678,678,678',
'678,678,678,678,678,678,678,678,,678,678,,,678,678,,500,,,500,,,500',
'500,,,500,,500,678,,678,500,678,678,,678,678,678,678,678,500,678,,,',
'500,500,500,500,,500,500,500,500,,,,,500,500,,678,,,,,500,,500,500,500',
'568,568,568,568,568,568,,,,568,568,,,,568,,568,568,568,568,568,568,568',
',,,,,568,568,568,568,568,568,568,,,568,,,,,,568,568,568,568,568,568',
'568,568,568,568,568,568,,568,568,568,,568,568,568,568,568,754,754,754',
'754,754,754,754,754,754,754,754,,754,754,,,754,754,,568,,,568,,,568',
'568,,,568,,568,754,,754,568,754,754,,754,754,754,754,754,568,754,,,',
'568,568,568,568,,568,568,568,568,,,,,568,568,,754,,,,,568,,568,568,568',
'571,571,571,571,571,571,,,,571,571,,,,571,,571,571,571,571,571,571,571',
',,,,,571,571,571,571,571,571,571,,,571,,,,,,571,571,571,571,571,571',
'571,571,571,571,571,571,,571,571,571,,571,571,571,571,571,759,759,759',
'759,759,759,759,759,759,759,759,,759,759,,,759,759,,571,,,571,,,571',
'571,,,571,,571,759,,759,571,759,759,,759,759,759,759,759,571,759,,,',
'571,571,571,571,,571,571,571,571,,,,,571,571,,759,,,,,571,,571,571,571',
'591,591,591,591,591,591,,,,591,591,,,,591,,591,591,591,591,591,591,591',
',,,,,591,591,591,591,591,591,591,,,591,,,,,,591,591,591,591,591,591',
'591,591,591,591,591,591,,591,591,591,,591,591,591,591,591,761,761,761',
'761,761,761,761,761,761,761,761,,761,761,,,761,761,,591,,,591,,,591',
'591,,,591,,591,761,,761,591,761,761,,761,761,761,761,761,591,761,,,',
'591,591,591,591,,591,591,591,591,,,,,591,591,,761,,,,,591,,591,591,591',
'648,648,648,648,648,648,,,,648,648,,,,648,,648,648,648,648,648,648,648',
',,,,,648,648,648,648,648,648,648,,,648,,,,,,648,648,648,648,648,648',
'648,648,648,648,648,648,,648,648,648,,648,648,648,648,648,764,764,764',
'764,764,764,764,764,764,764,764,,764,764,,,764,764,,648,,,648,,,648',
'648,,,648,,648,764,,764,648,764,764,,764,764,764,764,764,648,764,,,',
'648,648,648,648,,648,648,648,648,,,,,648,648,,764,,,,,648,,648,648,648',
'653,653,653,653,653,653,,,,653,653,,,,653,,653,653,653,653,653,653,653',
',,,,,653,653,653,653,653,653,653,,,653,,,,,,653,653,653,653,653,653',
'653,653,653,653,653,653,,653,653,653,,653,653,653,653,653,766,766,766',
'766,766,766,766,766,766,766,766,,766,766,,,766,766,,653,,,653,,,653',
'653,,,653,,653,766,,766,653,766,766,,766,766,766,766,766,653,766,,,',
'653,653,653,653,,653,653,653,653,,,,,653,653,,766,,,,,653,,653,653,653',
'654,654,654,654,654,654,,,,654,654,,,,654,,654,654,654,654,654,654,654',
',,,,,654,654,654,654,654,654,654,,,654,,,,,,654,654,654,654,654,654',
'654,654,654,654,654,654,,654,654,654,,654,654,654,654,654,768,768,768',
'768,768,768,768,768,768,768,768,,768,768,,,768,768,,654,,,654,,,654',
'654,,,654,,654,768,,768,654,768,768,,768,768,768,768,768,654,768,,,',
'654,654,654,654,,654,654,654,654,,,,,654,654,,768,,,,,654,,654,654,654',
'730,730,730,730,730,730,,,,730,730,,,,730,,730,730,730,730,730,730,730',
',,,,,730,730,730,730,730,730,730,,,730,,,,,,730,730,730,730,730,730',
'730,730,730,730,730,730,,730,730,730,,730,730,730,730,730,857,857,857',
'857,857,857,857,857,857,857,857,,857,857,,,857,857,,730,,,730,,,730',
'730,,,730,,730,857,,857,730,857,857,,857,857,857,857,857,730,857,,,',
'730,730,730,730,,730,730,730,730,,,,,730,730,,857,,,,,730,,730,730,730',
'734,734,734,734,734,734,,,,734,734,,,,734,,734,734,734,734,734,734,734',
',,,,,734,734,734,734,734,734,734,,,734,,,,,,734,734,734,734,734,734',
'734,734,734,734,734,734,,734,734,734,,734,734,734,734,734,860,860,860',
'860,860,860,860,860,860,860,860,,860,860,,,860,860,,734,,,734,,,734',
'734,,,734,,734,860,,860,734,860,860,,860,860,860,860,860,734,860,,,',
'734,734,734,734,,734,734,734,734,,,,,734,734,,860,,,,,734,,734,734,734',
'744,744,744,744,744,744,,,,744,744,,,,744,,744,744,744,744,744,744,744',
',,,,,744,744,744,744,744,744,744,,,744,,,,,,744,744,744,744,744,744',
'744,744,744,744,744,744,,744,744,744,,744,744,744,744,744,449,449,449',
'449,449,449,449,449,449,449,449,,449,449,,,449,449,,744,,,744,,,744',
'744,,,744,,744,449,,449,744,449,449,,449,449,449,449,449,744,449,,,',
'744,744,744,744,,744,744,744,744,,,,,744,744,,991,,991,991,991,744,991',
'744,744,744,792,792,792,792,792,792,,,,792,792,,,,792,,792,792,792,792',
'792,792,792,,,,,991,792,792,792,792,792,792,792,,,792,,,,,,792,792,792',
'792,792,792,792,792,792,792,792,792,,792,792,792,,792,792,792,792,792',
'450,450,450,450,450,450,450,450,450,450,450,,450,450,,,450,450,,792',
',,792,,,792,792,,,792,,792,450,,450,792,450,450,,450,450,450,450,450',
'792,450,,,,792,792,792,792,,792,792,792,792,,,,,792,792,,,,,,,792,,792',
'792,792,805,805,805,805,805,805,,,,805,805,,,,805,,805,805,805,805,805',
'805,805,,,,,,805,805,805,805,805,805,805,,,805,,,,,,805,805,805,805',
'805,805,805,805,805,805,805,805,,805,805,805,,805,805,805,805,805,460',
'460,460,460,460,460,460,,,460,460,,,,,,460,460,,805,,,805,,,805,805',
',,805,,805,460,,460,805,460,460,,460,460,460,460,460,805,460,,,,805',
'805,805,805,,805,805,805,805,,,,,805,805,,,,,,,805,,805,805,805,813',
'813,813,813,813,813,,,,813,813,,,,813,,813,813,813,813,813,813,813,',
',,,,813,813,813,813,813,813,813,,,813,,,,,,813,813,813,813,813,813,813',
'813,813,813,813,813,,813,813,813,,813,813,813,813,813,463,,,,,,,,,,',
',,,,,463,463,,813,,,813,,,813,813,,,813,,813,463,,463,813,463,463,,463',
'463,,,463,813,463,,,,813,813,813,813,,813,813,813,813,,,,,813,813,,',
',,,,813,,813,813,813,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,464,,,,,,,,,,,,,,,,464,464,,814,,,814,,,814,814,,,814,,814',
'464,,464,814,464,464,,464,464,,,464,814,464,,,,814,814,814,814,,814',
'814,814,814,,,,,814,814,,,,,,,814,,814,814,814,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,465,465,465,465,465,465,465,,,465',
'465,,,,,,465,465,,838,,,838,,,838,838,,,838,,838,465,,465,838,465,465',
',465,465,465,465,465,838,465,,,,838,838,838,838,,838,838,838,838,,,',
',838,838,,,,,,,838,,838,838,838,839,839,839,839,839,839,,,,839,839,',
',,839,,839,839,839,839,839,839,839,,,,,,839,839,839,839,839,839,839',
',,839,,,,,,839,839,839,839,839,839,839,839,839,839,839,839,,839,839',
'839,,839,839,839,839,839,466,466,466,466,466,466,466,,,466,466,,,,,',
'466,466,,839,,,839,,,839,839,,,839,,839,466,,466,839,466,466,,466,466',
'466,466,466,839,466,,,,839,839,839,839,,839,839,839,839,,,,,839,839',
',,,,,,839,,839,839,839,842,842,842,842,842,842,,,,842,842,,,,842,,842',
'842,842,842,842,842,842,,,,,,842,842,842,842,842,842,842,,,842,,,,,',
'842,842,842,842,842,842,842,842,842,842,842,842,,842,842,842,,842,842',
'842,842,842,467,467,467,467,467,467,467,,,467,467,,,,,,467,467,,842',
',,842,,,842,842,,,842,,842,467,,467,842,467,467,,467,467,467,467,467',
'842,467,,,,842,842,842,842,,842,842,842,842,,,,,842,842,,,,,,,842,,842',
'842,842,848,848,848,848,848,848,,,,848,848,,,,848,,848,848,848,848,848',
'848,848,,,,,,848,848,848,848,848,848,848,,,848,,,,,,848,848,848,848',
'848,848,848,848,848,848,848,848,,848,848,848,,848,848,848,848,848,468',
'468,468,468,468,468,468,,,468,468,,,,,,468,468,,848,,,848,,,848,848',
',,848,,848,468,,468,848,468,468,,468,468,468,468,468,848,468,,,,848',
'848,848,848,,848,848,848,848,,,,,848,848,,,,,,,848,,848,848,848,881',
'881,881,881,881,881,,,,881,881,,,,881,,881,881,881,881,881,881,881,',
',,,,881,881,881,881,881,881,881,,,881,,,,,,881,881,881,881,881,881,881',
'881,881,881,881,881,,881,881,881,,881,881,881,881,881,469,469,469,469',
'469,469,469,,,469,469,,,,,,469,469,,881,,,881,,,881,881,,,881,,881,469',
',469,881,469,469,,469,469,469,469,469,881,469,,,,881,881,881,881,,881',
'881,881,881,,,,,881,881,,,,,,,881,,881,881,881,941,941,941,941,941,941',
',,,941,941,,,,941,,941,941,941,941,941,941,941,,,,,,941,941,941,941',
'941,941,941,,,941,,,,,,941,941,941,941,941,941,941,941,941,941,941,941',
',941,941,941,,941,941,941,941,941,472,472,472,472,472,472,472,,,472',
'472,,,,,,472,472,,941,,,941,,,941,941,,,941,,941,472,,472,941,472,472',
',472,472,472,472,472,941,472,,,,941,941,941,941,,941,941,941,941,,,',
',941,941,,,,,,,941,,941,941,941,958,958,958,958,958,958,,,,958,958,',
',,958,,958,958,958,958,958,958,958,,,,,,958,958,958,958,958,958,958',
',,958,,,,,,958,958,958,958,958,958,958,958,958,958,958,958,,958,958',
'958,,958,958,958,958,958,473,473,473,473,473,473,473,473,,473,473,,',
',,,473,473,,958,,,958,,,958,958,,,958,,958,473,,473,958,473,473,,473',
'473,473,473,473,958,473,,,,958,958,958,958,,958,958,958,958,,,,,958',
'958,,,,,,,958,,958,958,958,964,964,964,964,964,964,,,,964,964,,,,964',
',964,964,964,964,964,964,964,,,,,,964,964,964,964,964,964,964,,,964',
',,,,,964,964,964,964,964,964,964,964,964,964,964,964,,964,964,964,,964',
'964,964,964,964,458,,,,,,,,,,,,,,,,458,458,,964,,,964,,,964,964,,,964',
',964,458,,458,964,458,458,,458,458,,,,964,,,,,964,964,964,964,,964,964',
'964,964,,,,,964,964,,,,,,,964,,964,964,964,966,966,966,966,966,966,',
',,966,966,,,,966,,966,966,966,966,966,966,966,,,,,,966,966,966,966,966',
'966,966,,,966,,,,,,966,966,966,966,966,966,966,966,966,966,966,966,',
'966,966,966,,966,966,966,966,966,,,,,,,,,,,,,,,,,,,,966,,,966,,,966',
'966,,,966,,966,,,,966,,,,,,,,,966,,,,,966,966,966,966,,966,966,966,966',
',,,,966,966,,,,,,,966,,966,966,966,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,,,697,,697,697,697,697,697,,,,,,,,,697',
',35,35,35,35,,35,35,35,35,,,,,35,35,,,,35,,697,35,,35,35,35,42,42,42',
',42,697,697,,42,42,697,,,42,,42,42,42,42,42,42,42,,,,,,42,42,42,42,42',
'42,42,,,42,,,,,,,42,,,42,42,42,42,42,42,42,42,,42,42,42,,42,42,42,42',
'42,,,,,,,,,,,,,,,,,,,,42,,,42,,,42,42,,,42,,,,,,42,,,,,,,,,42,,,,,42',
'42,42,42,,42,42,42,42,,,,,42,42,,,,43,43,43,42,43,42,42,42,43,43,,,',
'43,,43,43,43,43,43,43,43,,,,,,43,43,43,43,43,43,43,,,43,,,,,,,43,,,43',
'43,43,43,43,43,43,43,,43,43,43,,43,43,43,43,43,,,,,,,,,,,,,,,,,,,,43',
',,43,,,43,43,,,43,,,,,,43,,,,,,,,,43,,,,,43,43,43,43,,43,43,43,43,,',
',,43,43,,,,44,44,44,43,44,43,43,43,44,44,,,,44,,44,44,44,44,44,44,44',
',,,,,44,44,44,44,44,44,44,,,44,,,,,,,44,,,44,44,44,44,44,44,44,44,,44',
'44,44,,44,44,44,44,44,,,,,,,,,,,,,,,,,,,,44,,,44,,,44,44,,,44,,,,,,44',
',,,,,,,,44,,,,,44,44,44,44,,44,44,44,44,,,,,44,44,,,,59,59,59,44,59',
'44,44,44,59,59,,,,59,,59,59,59,59,59,59,59,,,,,,59,59,59,59,59,59,59',
',,59,,,,,,,59,,,59,59,59,59,59,59,59,59,59,59,59,59,,59,59,59,59,59',
',,,,,,,,,,,,,,,,,,,59,,,59,,,59,59,,,59,,59,,,,59,,,59,,,,,,59,,,,,59',
'59,59,59,,59,59,59,59,,,,,59,59,,,,60,60,60,59,60,59,59,59,60,60,,,',
'60,,60,60,60,60,60,60,60,,,,,,60,60,60,60,60,60,60,,,60,,,,,,,60,,,60',
'60,60,60,60,60,60,60,60,60,60,60,,60,60,60,60,60,,,,,,,,,,,,,,,,,,,',
'60,,,60,,,60,60,,,60,,,,,,60,,,60,,,,,,60,,,,,60,60,60,60,,60,60,60',
'60,,,,,60,60,,,,63,63,63,60,63,60,60,60,63,63,,,,63,,63,63,63,63,63',
'63,63,,,,,,63,63,63,63,63,63,63,,,63,,,,,,,63,,,63,63,63,63,63,63,63',
'63,,63,63,63,,63,63,63,63,63,,,,,,,,,,,,,,,,,,,,63,,,63,,,63,63,,,63',
',,,,,63,,,,,,,,,63,,,,,63,63,63,63,,63,63,63,63,,,,,63,63,,,,64,64,64',
'63,64,63,63,63,64,64,,,,64,,64,64,64,64,64,64,64,,,,,,64,64,64,64,64',
'64,64,,,64,,,,,,,64,,,64,64,64,64,64,64,64,64,,64,64,64,,64,64,64,64',
'64,,,,,,,,,,,,,,,,,,,,64,,,64,,,64,64,,,64,,,,,,64,,,,,,,,,64,,,,,64',
'64,64,64,,64,64,64,64,,,,,64,64,,,,67,67,67,64,67,64,64,64,67,67,,,',
'67,,67,67,67,67,67,67,67,,,,,,67,67,67,67,67,67,67,,,67,,,,,,,67,,,67',
'67,67,67,67,67,67,67,,67,67,67,,67,67,67,67,67,,,,,,,,,,,,,,,,,,,,67',
',,67,,,67,67,,,67,,,,,,67,,,,,,,,,67,,,,,67,67,67,67,,67,67,67,67,,',
',,67,67,67,,,,,67,67,,67,67,67,68,68,68,,68,,,,68,68,,,,68,,68,68,68',
'68,68,68,68,,,,,,68,68,68,68,68,68,68,,,68,,,,,,,68,,,68,68,68,68,68',
'68,68,68,,68,68,68,,68,68,,,68,,,,,,,,,,,,,,,,,,,,68,,,68,,,68,68,,',
'68,,68,,,,,,,,,,,,,,,,,,68,68,68,68,,68,68,68,68,,,,,68,68,,,,69,69',
'69,68,69,68,68,68,69,69,,,,69,,69,69,69,69,69,69,69,,,,,,69,69,69,69',
'69,69,69,,,69,,,,,,,69,,,69,69,69,69,69,69,69,69,,69,69,69,,69,69,,',
'69,,,,,,,,,,,,,,,,,69,,,69,,,69,,,69,69,,,69,,,,,,,,,,,,,,,,,,,,69,69',
'69,69,,69,69,69,69,,,,,69,69,,,,70,70,70,69,70,69,69,69,70,70,,,,70',
',70,70,70,70,70,70,70,,,,,,70,70,70,70,70,70,70,,,70,,,,,,,70,,,70,70',
'70,70,70,70,70,70,,70,70,70,,70,70,,,70,,,,,,,,,,,,,,,,,,,,70,,,70,',
',70,70,,,70,,,868,,868,868,868,868,868,,,,,,,,,868,,70,70,70,70,,70',
'70,70,70,,,,,70,70,,,,,,868,70,,70,70,70,111,111,111,111,111,868,868',
',111,111,868,,,111,,111,111,111,111,111,111,111,,,,,,111,111,111,111',
'111,111,111,,,111,,,,,,111,111,111,111,111,111,111,111,111,111,111,111',
',111,111,111,,111,111,111,111,111,,,,,,,,,,,,,,,,,,,,111,,,111,,,111',
'111,,,111,,111,,,,111,,,,,,,,,111,,,,,111,111,111,111,,111,111,111,111',
',,,,111,111,,,,,,111,111,,111,111,111,116,116,116,,116,,,,116,116,,',
',116,,116,116,116,116,116,116,116,,,,,,116,116,116,116,116,116,116,',
',116,,,,,,,116,,,116,116,116,116,116,116,116,116,,116,116,116,,116,116',
'116,116,116,,,,,,,,,,,,,,,,,,,,116,,,116,,,116,116,,,116,,,,,,116,,',
',,,,,,116,,,,,116,116,116,116,,116,116,116,116,,,,,116,116,,,,117,117',
'117,116,117,116,116,116,117,117,,,,117,,117,117,117,117,117,117,117',
',,,,,117,117,117,117,117,117,117,,,117,,,,,,,117,,,117,117,117,117,117',
'117,117,117,,117,117,117,,117,117,117,117,117,,,,,,,,,,,,,,,,,,,,117',
',,117,,,117,117,,,117,,,,,,117,,,,,,,,,117,,,,,117,117,117,117,,117',
'117,117,117,,,,,117,117,,,,118,118,118,117,118,117,117,117,118,118,',
',,118,,118,118,118,118,118,118,118,,,,,,118,118,118,118,118,118,118',
',,118,,,,,,,118,,,118,118,118,118,118,118,118,118,,118,118,118,,118',
'118,118,118,118,,,,,,,,,,,,,,,,,,,,118,,,118,,,118,118,,,118,,,,,,118',
',,,,,,,,118,,,,,118,118,118,118,,118,118,118,118,,,,,118,118,,,,119',
'119,119,118,119,118,118,118,119,119,,,,119,,119,119,119,119,119,119',
'119,,,,,,119,119,119,119,119,119,119,,,119,,,,,,,119,,,119,119,119,119',
'119,119,119,119,,119,119,119,,119,119,119,119,119,,,,,,,,,,,,,,,,,,',
',119,,,119,,,119,119,,,119,,,,,,119,,,,,,,,,119,,,,,119,119,119,119',
',119,119,119,119,,,,,119,119,,,,,,,119,,119,119,119,120,120,120,120',
'120,,,,120,120,,,,120,,120,120,120,120,120,120,120,,,,,,120,120,120',
'120,120,120,120,,,120,,,,,,120,120,,120,120,120,120,120,120,120,120',
'120,,120,120,120,,120,120,120,120,120,,,,,,,,,,,,,,,,,,,,120,,,120,',
',120,120,,,120,,120,,,,120,,,,,,,,,120,,,,,120,120,120,120,,120,120',
'120,120,,,,,120,120,,,,207,207,207,120,207,120,120,120,207,207,,,,207',
',207,207,207,207,207,207,207,,,,,,207,207,207,207,207,207,207,,,207',
',,,,,,207,,,207,207,207,207,207,207,207,207,,207,207,207,,207,207,207',
'207,207,,,,,,,,,,,,,,,,,,,,207,,,207,,,207,207,,,207,,207,,,,207,,,',
',,,,,207,,,,,207,207,207,207,,207,207,207,207,,,,,207,207,,,,208,208',
'208,207,208,207,207,207,208,208,,,,208,,208,208,208,208,208,208,208',
',,,,,208,208,208,208,208,208,208,,,208,,,,,,,208,,,208,208,208,208,208',
'208,208,208,,208,208,208,,208,208,208,208,208,,,,,,,,,,,,,,,,,,,,208',
',,208,,,208,208,,,208,,,,,,208,,,,,,,,,208,,,,,208,208,208,208,,208',
'208,208,208,,,,,208,208,,,,209,209,209,208,209,208,208,208,209,209,',
',,209,,209,209,209,209,209,209,209,,,,,,209,209,209,209,209,209,209',
',,209,,,,,,,209,,,209,209,209,209,209,209,209,209,209,209,209,209,,209',
'209,209,209,209,,,,,,,,,,,,,,,,,,,,209,,,209,,,209,209,,,209,,209,,209',
',209,,,209,,,,,,209,,,,,209,209,209,209,,209,209,209,209,,,,,209,209',
',,,214,214,214,209,214,209,209,209,214,214,,,,214,,214,214,214,214,214',
'214,214,,,,,,214,214,214,214,214,214,214,,,214,,,,,,,214,,,214,214,214',
'214,214,214,214,214,,214,214,214,,214,214,214,214,214,,,,,,,,,,,,,,',
',,,,,214,,,214,,,214,214,,,214,,,,,,214,,,,,,,,,214,,,,,214,214,214',
'214,,214,214,214,214,,,,,214,214,,,,215,215,215,214,215,214,214,214',
'215,215,,,,215,,215,215,215,215,215,215,215,,,,,,215,215,215,215,215',
'215,215,,,215,,,,,,,215,,,215,215,215,215,215,215,215,215,,215,215,215',
',215,215,215,215,215,,,,,,,,,,,,,,,,,,,,215,,,215,,,215,215,,,215,,215',
',,,215,,,,,,,,,215,,,,,215,215,215,215,,215,215,215,215,,,,,215,215',
',,,216,216,216,215,216,215,215,215,216,216,,,,216,,216,216,216,216,216',
'216,216,,,,,,216,216,216,216,216,216,216,,,216,,,,,,,216,,,216,216,216',
'216,216,216,216,216,,216,216,216,,216,216,216,216,216,,,,,,,,,,,,,,',
',,,,,216,,,216,,,216,216,,,216,,,,,,216,,,,,,,,,216,,,,,216,216,216',
'216,,216,216,216,216,,,,,216,216,,,,217,217,217,216,217,216,216,216',
'217,217,,,,217,,217,217,217,217,217,217,217,,,,,,217,217,217,217,217',
'217,217,,,217,,,,,,,217,,,217,217,217,217,217,217,217,217,,217,217,217',
',217,217,217,217,217,,,,,,,,,,,,,,,,,,,,217,,,217,,,217,217,,,217,,',
',,,217,,,,,,,,,217,,,,,217,217,217,217,,217,217,217,217,,,,,217,217',
',,,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,,,894,,894,894,894',
'894,894,,,,,,,,,894,,300,300,300,300,,300,300,300,300,,,,,300,300,,',
',300,,894,300,,300,300,300,317,317,317,,317,894,894,,317,317,894,,,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,,,,327,327,327,325,327,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,,,,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,,,,444,444,444,406,444,406,406,406,444,444,,,,444,,444',
'444,444,444,444,444,444,,,,,,444,444,444,444,444,444,444,,,444,,,,,',
',444,,,444,444,444,444,444,444,444,444,444,444,444,444,,444,444,444',
'444,444,,,,,,,,,,,,,,,,,,,,444,,,444,,,444,444,,,444,,444,,444,,444',
',,444,,,,,,444,,,,,444,444,444,444,,444,444,444,444,,,,,444,444,,,,446',
'446,446,444,446,444,444,444,446,446,,,,446,,446,446,446,446,446,446',
'446,,,,,,446,446,446,446,446,446,446,,,446,,,,,,,446,,,446,446,446,446',
'446,446,446,446,,446,446,446,,446,446,446,446,446,,,,,,,,,,,,,,,,,,',
',446,,,446,,,446,446,,,446,,,,,,446,,,,,,,,,446,,,,,446,446,446,446',
',446,446,446,446,,,,,446,446,,,,447,447,447,446,447,446,446,446,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,447,447,447,447,,,,,,,,,,,,,,,,,,,,447,,,447,,,447,447,,,447,,,',
',,447,,,,,,,,,447,,,,,447,447,447,447,,447,447,447,447,,,,,447,447,',
',,448,448,448,447,448,447,447,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,448,448,448,448,,,,,,,,,,,,,,',
',,,,,448,,,448,,,448,448,,,448,,,,,,448,,,,,,,,,448,,,,,448,448,448',
'448,,448,448,448,448,,,,,448,448,,,,488,488,488,448,488,448,448,448',
'488,488,,,,488,,488,488,488,488,488,488,488,,,,,,488,488,488,488,488',
'488,488,,,488,,,,,,,488,,,488,488,488,488,488,488,488,488,488,488,488',
'488,,488,488,488,488,488,,,,,,,,,,,,,,,,,,,,488,,,488,,,488,488,,,488',
',488,,488,,488,,,488,,,,,,488,,,,,488,488,488,488,,488,488,488,488,',
',,,488,488,,,,490,490,490,488,490,488,488,488,490,490,,,,490,,490,490',
'490,490,490,490,490,,,,,,490,490,490,490,490,490,490,,,490,,,,,,,490',
',,490,490,490,490,490,490,490,490,490,490,490,490,,490,490,490,490,490',
',,,,,,,,,,,,,,,,,,,490,,,490,,,490,490,,,490,,,,490,,490,,,490,,,,,',
'490,,,,,490,490,490,490,,490,490,490,490,,,,,490,490,,,,492,492,492',
'490,492,490,490,490,492,492,,,,492,,492,492,492,492,492,492,492,,,,',
',492,492,492,492,492,492,492,,,492,,,,,,,492,,,492,492,492,492,492,492',
'492,492,,492,492,492,,492,492,492,492,492,,,,,,,,,,,,,,,,,,,,492,,,492',
',,492,492,,,492,,,,,,492,,,,,,,,,492,,,,,492,492,492,492,,492,492,492',
'492,,,,,492,492,,,,,,,492,,492,492,492,498,498,498,498,498,,,,498,498',
',,,498,,498,498,498,498,498,498,498,,,,,,498,498,498,498,498,498,498',
',,498,,,,,,498,498,498,498,498,498,498,498,498,498,498,498,,498,498',
'498,,498,498,498,498,498,,,,,,,,,,,,,,,,,,,,498,,,498,,,498,498,,,498',
',498,,,,498,,,,,,,,,498,,,,,498,498,498,498,,498,498,498,498,,,,,498',
'498,,,,,,498,498,,498,498,498,506,506,506,,506,,,,506,506,,,,506,,506',
'506,506,506,506,506,506,,,,,,506,506,506,506,506,506,506,,,506,,,,,',
',506,,,506,506,506,506,506,506,506,506,,506,506,506,,506,506,,,506,',
',,,,,,,,,,,,,,,,,,506,,,506,,,506,506,,,506,,,,,,,,,,,,,,,,,,,,506,506',
'506,506,,506,506,506,506,,,,,506,506,,,,508,508,508,506,508,506,506',
'506,508,508,,,,508,,508,508,508,508,508,508,508,,,,,,508,508,508,508',
'508,508,508,,,508,,,,,,,508,,,508,508,508,508,508,508,508,508,508,508',
'508,508,,508,508,508,508,508,,,,,,,,,,,,,,,,,,,,508,,,508,,,508,508',
',,508,,508,,508,,508,,,508,,,,,,508,,,,,508,508,508,508,,508,508,508',
'508,,,,,508,508,,,,514,514,514,508,514,508,508,508,514,514,,,,514,,514',
'514,514,514,514,514,514,,,,,,514,514,514,514,514,514,514,,,514,,,,,',
',514,,,514,514,514,514,514,514,514,514,,514,514,514,,514,514,,,514,',
',,,,,,,,,,,,,,,,,,514,,,514,,,514,514,,,514,,,,,,,,,,,,,,,,,,,,514,514',
'514,514,,514,514,514,514,,,,,514,514,,,,517,517,517,514,517,514,514',
'514,517,517,,,,517,,517,517,517,517,517,517,517,,,,,,517,517,517,517',
'517,517,517,,,517,,,,,,,517,,,517,517,517,517,517,517,517,517,,517,517',
'517,,517,517,517,517,517,,,,,,,,,,,,,,,,,,,,517,,,517,,,517,517,,,517',
',,,,,517,,,,,,,,,517,,,,,517,517,517,517,,517,517,517,517,,,,,517,517',
',,,518,518,518,517,518,517,517,517,518,518,,,,518,,518,518,518,518,518',
'518,518,,,,,,518,518,518,518,518,518,518,,,518,,,,,,,518,,,518,518,518',
'518,518,518,518,518,,518,518,518,,518,518,518,518,518,,,,,,,,,,,,,,',
',,,,,518,,,518,,,518,518,,,518,,,,,,518,,,,,,,,,518,,,,,518,518,518',
'518,,518,518,518,518,,,,,518,518,,,,522,522,522,518,522,518,518,518',
'522,522,,,,522,,522,522,522,522,522,522,522,,,,,,522,522,522,522,522',
'522,522,,,522,,,,,,,522,,,522,522,522,522,522,522,522,522,,522,522,522',
',522,522,522,522,522,,,,,,,,,,,,,,,,,,,,522,,,522,,,522,522,,,522,,',
',,,522,,,,,,,,,522,,,,,522,522,522,522,,522,522,522,522,,,,,522,522',
',,,528,528,528,522,528,522,522,522,528,528,,,,528,,528,528,528,528,528',
'528,528,,,,,,528,528,528,528,528,528,528,,,528,,,,,,,528,,,528,528,528',
'528,528,528,528,528,528,528,528,528,,528,528,528,528,528,,,,,,,,,,,',
',,,,,,,,528,,,528,,,528,528,,,528,,528,,,,528,,,528,,,,,,528,,,,,528',
'528,528,528,,528,528,528,528,,,,,528,528,,,,531,531,531,528,531,528',
'528,528,531,531,,,,531,,531,531,531,531,531,531,531,,,,,,531,531,531',
'531,531,531,531,,,531,,,,,,,531,,,531,531,531,531,531,531,531,531,531',
'531,531,531,,531,531,531,531,531,,,,,,,,,,,,,,,,,,,,531,,,531,,,531',
'531,,,531,,,,,,531,,,531,,,,,,531,,,,,531,531,531,531,,531,531,531,531',
',,,,531,531,,,,556,556,556,531,556,531,531,531,556,556,,,,556,,556,556',
'556,556,556,556,556,,,,,,556,556,556,556,556,556,556,,,556,,,,,,,556',
',,556,556,556,556,556,556,556,556,,556,556,556,,556,556,556,556,556',
',,,,,,,,,,,,,,,,,,,556,,,556,,,556,556,,,556,,,,,,556,,,,,,,,,556,,',
',,556,556,556,556,,556,556,556,556,,,,,556,556,,,,576,576,576,556,576',
'556,556,556,576,576,,,,576,,576,576,576,576,576,576,576,,,,,,576,576',
'576,576,576,576,576,,,576,,,,,,,576,,,576,576,576,576,576,576,576,576',
',576,576,576,,576,576,576,576,576,,,,,,,,,,,,,,,,,,,,576,,,576,,,576',
'576,,,576,,576,,,,576,,,,,,,,,576,,,,,576,576,576,576,,576,576,576,576',
',,,,576,576,,,,577,577,577,576,577,576,576,576,577,577,,,,577,,577,577',
'577,577,577,577,577,,,,,,577,577,577,577,577,577,577,,,577,,,,,,,577',
',,577,577,577,577,577,577,577,577,577,577,577,577,,577,577,577,577,577',
',,,,,,,,,,,,,,,,,,,577,,,577,,,577,577,,,577,,577,,577,,577,,,577,,',
',,,577,,,,,577,577,577,577,,577,577,577,577,,,,,577,577,,,,587,587,587',
'577,587,577,577,577,587,587,,,,587,,587,587,587,587,587,587,587,,,,',
',587,587,587,587,587,587,587,,,587,,,,,,,587,,,587,587,587,587,587,587',
'587,587,587,587,587,587,,587,587,587,587,587,,,,,,,,,,,,,,,,,,,,587',
',,587,,,587,587,,,587,,587,,587,,587,,,587,,,,,,587,,,,,587,587,587',
'587,,587,587,587,587,,,,,587,587,,,,619,619,619,587,619,587,587,587',
'619,619,,,,619,,619,619,619,619,619,619,619,,,,,,619,619,619,619,619',
'619,619,,,619,,,,,,,619,,,619,619,619,619,619,619,619,619,,619,619,619',
',619,619,619,619,619,,,,,,,,,,,,,,,,,,,,619,,,619,,,619,619,,,619,,619',
',,,619,,,,,,,,,619,,,,,619,619,619,619,,619,619,619,619,,,,,619,619',
',,,620,620,620,619,620,619,619,619,620,620,,,,620,,620,620,620,620,620',
'620,620,,,,,,620,620,620,620,620,620,620,,,620,,,,,,,620,,,620,620,620',
'620,620,620,620,620,,620,620,620,,620,620,620,620,620,,,,,,,,,,,,,,',
',,,,,620,,,620,,,620,620,,,620,,,,,,620,,,,,,,,,620,,,,,620,620,620',
'620,,620,620,620,620,,,,,620,620,,,,623,623,623,620,623,620,620,620',
'623,623,,,,623,,623,623,623,623,623,623,623,,,,,,623,623,623,623,623',
'623,623,,,623,,,,,,,623,,,623,623,623,623,623,623,623,623,623,623,623',
'623,,623,623,623,623,623,,,,,,,,,,,,,,,,,,,,623,,,623,,,623,623,,,623',
',623,,623,,623,,,623,,,,,,623,,,,,623,623,623,623,,623,623,623,623,',
',,,623,623,,,,624,624,624,623,624,623,623,623,624,624,,,,624,,624,624',
'624,624,624,624,624,,,,,,624,624,624,624,624,624,624,,,624,,,,,,,624',
',,624,624,624,624,624,624,624,624,624,624,624,624,,624,624,624,624,624',
',,,,,,,,,,,,,,,,,,,624,,,624,,,624,624,,,624,,,,624,,624,,,624,,,,,',
'624,,,,,624,624,624,624,,624,624,624,624,,,,,624,624,,,,625,625,625',
'624,625,624,624,624,625,625,,,,625,,625,625,625,625,625,625,625,,,,',
',625,625,625,625,625,625,625,,,625,,,,,,,625,,,625,625,625,625,625,625',
'625,625,,625,625,625,,625,625,625,625,625,,,,,,,,,,,,,,,,,,,,625,,,625',
',,625,625,,,625,,,,,,625,,,,,,,,,625,,,,,625,625,625,625,,625,625,625',
'625,,,,,625,625,,,,626,626,626,625,626,625,625,625,626,626,,,,626,,626',
'626,626,626,626,626,626,,,,,,626,626,626,626,626,626,626,,,626,,,,,',
',626,,,626,626,626,626,626,626,626,626,,626,626,626,,626,626,626,626',
'626,,,,,,,,,,,,,,,,,,,,626,,,626,,,626,626,,,626,,,,,,626,,,,,,,,,626',
',,,,626,626,626,626,,626,626,626,626,,,,,626,626,,,,630,630,630,626',
'630,626,626,626,630,630,,,,630,,630,630,630,630,630,630,630,,,,,,630',
'630,630,630,630,630,630,,,630,,,,,,,630,,,630,630,630,630,630,630,630',
'630,,630,630,630,,630,630,630,630,630,,,,,,,,,,,,,,,,,,,,630,,,630,',
',630,630,,,630,,,,,,630,,,,,,,,,630,,,,,630,630,630,630,,630,630,630',
'630,,,,,630,630,,,,631,631,631,630,631,630,630,630,631,631,,,,631,,631',
'631,631,631,631,631,631,,,,,,631,631,631,631,631,631,631,,,631,,,,,',
',631,,,631,631,631,631,631,631,631,631,,631,631,631,,631,631,631,631',
'631,,,,,,,,,,,,,,,,,,,,631,,,631,,,631,631,,,631,,,,,,631,,,,,,,,,631',
',,,,631,631,631,631,,631,631,631,631,,,,,631,631,,,,634,634,634,631',
'634,631,631,631,634,634,,,,634,,634,634,634,634,634,634,634,,,,,,634',
'634,634,634,634,634,634,,,634,,,,,,,634,,,634,634,634,634,634,634,634',
'634,,634,634,634,,634,634,634,634,634,,,,,,,,,,,,,,,,,,,,634,,,634,',
',634,634,,,634,,,,,,634,,,,,,,,,634,,,,,634,634,634,634,,634,634,634',
'634,,,,,634,634,,,,635,635,635,634,635,634,634,634,635,635,,,,635,,635',
'635,635,635,635,635,635,,,,,,635,635,635,635,635,635,635,,,635,,,,,',
',635,,,635,635,635,635,635,635,635,635,,635,635,635,,635,635,635,635',
'635,,,,,,,,,,,,,,,,,,,,635,,,635,,,635,635,,,635,,,,,,635,,,,,,,,,635',
',,,,635,635,635,635,,635,635,635,635,,,,,635,635,,,,659,659,659,635',
'659,635,635,635,659,659,,,,659,,659,659,659,659,659,659,659,,,,,,659',
'659,659,659,659,659,659,,,659,,,,,,,659,,,659,659,659,659,659,659,659',
'659,,659,659,659,,659,659,659,659,659,,,,,,,,,,,,,,,,,,,,659,,,659,',
',659,659,,,659,,,,,,659,,,,,,,,,659,,,,,659,659,659,659,,659,659,659',
'659,,,,,659,659,,,,662,662,662,659,662,659,659,659,662,662,,,,662,,662',
'662,662,662,662,662,662,,,,,,662,662,662,662,662,662,662,,,662,,,,,',
',662,,,662,662,662,662,662,662,662,662,,662,662,662,,662,662,662,662',
'662,,,,,,,,,,,,,,,,,,,,662,,,662,,,662,662,,,662,,,,,,662,,,,,,,,,662',
',,,,662,662,662,662,,662,662,662,662,,,,,662,662,,,,666,666,666,662',
'666,662,662,662,666,666,,,,666,,666,666,666,666,666,666,666,,,,,,666',
'666,666,666,666,666,666,,,666,,,,,,,666,,,666,666,666,666,666,666,666',
'666,,666,666,666,,666,666,,,666,,,,,,,,,,,,,,,,,,,,666,,,666,,,666,666',
',,666,,,,,,,,,,,,,,,,,,,,666,666,666,666,,666,666,666,666,,,,,666,666',
',,,677,677,677,666,677,666,666,666,677,677,,,,677,,677,677,677,677,677',
'677,677,,,,,,677,677,677,677,677,677,677,,,677,,,,,,,677,,,677,677,677',
'677,677,677,677,677,,677,677,677,,677,677,,,677,,,,,,,,,,,,,,,,,,,,677',
',,677,,,677,677,,,677,,,,,,,,,,,,,,,,,,,,677,677,677,677,,677,677,677',
'677,,,,,677,677,,,,682,682,682,677,682,677,677,677,682,682,,,,682,,682',
'682,682,682,682,682,682,,,,,,682,682,682,682,682,682,682,,,682,,,,,',
',682,,,682,682,682,682,682,682,682,682,,682,682,682,,682,682,682,682',
'682,,,,,,,,,,,,,,,,,,,,682,,,682,,,682,682,,,682,,682,,,,682,,,,,,,',
',682,,,,,682,682,682,682,,682,682,682,682,,,,,682,682,,,,699,699,699',
'682,699,682,682,682,699,699,,,,699,,699,699,699,699,699,699,699,,,,',
',699,699,699,699,699,699,699,,,699,,,,,,,699,,,699,699,699,699,699,699',
'699,699,,699,699,699,,699,699,699,699,699,,,,,,,,,,,,,,,,,,,,699,,,699',
',,699,699,,,699,,,,,,699,,,,,,,,,699,,,,,699,699,699,699,,699,699,699',
'699,,,,,699,699,,,,725,725,725,699,725,699,699,699,725,725,,,,725,,725',
'725,725,725,725,725,725,,,,,,725,725,725,725,725,725,725,,,725,,,,,',
',725,,,725,725,725,725,725,725,725,725,,725,725,725,,725,725,725,725',
'725,,,,,,,,,,,,,,,,,,,,725,,,725,,,725,725,,,725,,,,,,725,,,,,,,,,725',
',,,,725,725,725,725,,725,725,725,725,,,,,725,725,,,,731,731,731,725',
'731,725,725,725,731,731,,,,731,,731,731,731,731,731,731,731,,,,,,731',
'731,731,731,731,731,731,,,731,,,,,,,731,,,731,731,731,731,731,731,731',
'731,,731,731,731,,731,731,731,731,731,,,,,,,,,,,,,,,,,,,,731,,,731,',
',731,731,,,731,,,,,,731,,,,,,,,,731,,,,,731,731,731,731,,731,731,731',
'731,,,,,731,731,,,,753,753,753,731,753,731,731,731,753,753,,,,753,,753',
'753,753,753,753,753,753,,,,,,753,753,753,753,753,753,753,,,753,,,,,',
',753,,,753,753,753,753,753,753,753,753,,753,753,753,,753,753,753,753',
'753,,,,,,,,,,,,,,,,,,,,753,,,753,,,753,753,,,753,,,,,,753,,,,,,,,,753',
',,,,753,753,753,753,,753,753,753,753,,,,,753,753,,,,755,755,755,753',
'755,753,753,753,755,755,,,,755,,755,755,755,755,755,755,755,,,,,,755',
'755,755,755,755,755,755,,,755,,,,,,,755,,,755,755,755,755,755,755,755',
'755,,755,755,755,,755,755,755,755,755,,,,,,,,,,,,,,,,,,,,755,,,755,',
',755,755,,,755,,,,,,755,,,,,,,,,755,,,,,755,755,755,755,,755,755,755',
'755,,,,,755,755,,,,769,769,769,755,769,755,755,755,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,,,,770,770,770,769',
'770,769,769,769,770,770,,,,770,,770,770,770,770,770,770,770,,,,,,770',
'770,770,770,770,770,770,,,770,,,,,,,770,,,770,770,770,770,770,770,770',
'770,,770,770,770,,770,770,770,770,770,,,,,,,,,,,,,,,,,,,,770,,,770,',
',770,770,,,770,,,,,,770,,,,,,,,,770,,,,,770,770,770,770,,770,770,770',
'770,,,,,770,770,,,,771,771,771,770,771,770,770,770,771,771,,,,771,,771',
'771,771,771,771,771,771,,,,,,771,771,771,771,771,771,771,,,771,,,,,',
',771,,,771,771,771,771,771,771,771,771,,771,771,771,,771,771,771,771',
'771,,,,,,,,,,,,,,,,,,,,771,,,771,,,771,771,,,771,,,,,,771,,,,,,,,,771',
',,,,771,771,771,771,,771,771,771,771,,,,,771,771,,,,772,772,772,771',
'772,771,771,771,772,772,,,,772,,772,772,772,772,772,772,772,,,,,,772',
'772,772,772,772,772,772,,,772,,,,,,,772,,,772,772,772,772,772,772,772',
'772,,772,772,772,,772,772,772,772,772,,,,,,,,,,,,,,,,,,,,772,,,772,',
',772,772,,,772,,,,,,772,,,,,,,,,772,,,,,772,772,772,772,,772,772,772',
'772,,,,,772,772,,,,774,774,774,772,774,772,772,772,774,774,,,,774,,774',
'774,774,774,774,774,774,,,,,,774,774,774,774,774,774,774,,,774,,,,,',
',774,,,774,774,774,774,774,774,774,774,,774,774,774,,774,774,774,774',
'774,,,,,,,,,,,,,,,,,,,,774,,,774,,,774,774,,,774,,,,,,774,,,,,,,,,774',
',,,,774,774,774,774,,774,774,774,774,,,,,774,774,,,,786,786,786,774',
'786,774,774,774,786,786,,,,786,,786,786,786,786,786,786,786,,,,,,786',
'786,786,786,786,786,786,,,786,,,,,,,786,,,786,786,786,786,786,786,786',
'786,,786,786,786,,786,786,,,786,,,,,,,,,,,,,,,,,,,,786,,,786,,,786,786',
',,786,,,,,,,,,,,,,,,,,,,,786,786,786,786,,786,786,786,786,,,,,786,786',
',,,836,836,836,786,836,786,786,786,836,836,,,,836,,836,836,836,836,836',
'836,836,,,,,,836,836,836,836,836,836,836,,,836,,,,,,,836,,,836,836,836',
'836,836,836,836,836,,836,836,836,,836,836,836,836,836,,,,,,,,,,,,,,',
',,,,,836,,,836,,,836,836,,,836,,,,,,836,,,,,,,,,836,,,,,836,836,836',
'836,,836,836,836,836,,,,,836,836,,,,841,841,841,836,841,836,836,836',
'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',
',,,858,858,858,841,858,841,841,841,858,858,,,,858,,858,858,858,858,858',
'858,858,,,,,,858,858,858,858,858,858,858,,,858,,,,,,,858,,,858,858,858',
'858,858,858,858,858,858,858,858,858,,858,858,858,858,858,,,,,,,,,,,',
',,,,,,,,858,,,858,,,858,858,,,858,,,,858,,858,,,858,,,,,,858,,,,,858',
'858,858,858,,858,858,858,858,,,,,858,858,,,,859,859,859,858,859,858',
'858,858,859,859,,,,859,,859,859,859,859,859,859,859,,,,,,859,859,859',
'859,859,859,859,,,859,,,,,,,859,,,859,859,859,859,859,859,859,859,,859',
'859,859,,859,859,859,859,859,,,,,,,,,,,,,,,,,,,,859,,,859,,,859,859',
',,859,,,,,,859,,,,,,,,,859,,,,,859,859,859,859,,859,859,859,859,,,,',
'859,859,,,,873,873,873,859,873,859,859,859,873,873,,,,873,,873,873,873',
'873,873,873,873,,,,,,873,873,873,873,873,873,873,,,873,,,,,,,873,,,873',
'873,873,873,873,873,873,873,,873,873,873,,873,873,,,873,,,,,,,,,,,,',
',,,,,,,873,,,873,,,873,873,,,873,,,,,,,,,,,,,,,,,,,,873,873,873,873',
',873,873,873,873,,,,,873,873,,,,885,885,885,873,885,873,873,873,885',
'885,,,,885,,885,885,885,885,885,885,885,,,,,,885,885,885,885,885,885',
'885,,,885,,,,,,,885,,,885,885,885,885,885,885,885,885,,885,885,885,',
'885,885,,,885,,,,,,,,,,,,,,,,,,,,885,,,885,,,885,885,,,885,,,,,,,,,',
',,,,,,,,,,885,885,885,885,,885,885,885,885,,,,,885,885,,,,982,982,982',
'885,982,885,885,885,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,,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,8,8,8,8,8,8',
'8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,,,,8,8,8,8,8,8,8,8,8,8,,,,,,8,8',
'8,8,8,8,8,8,8,8,,8,,,,,,,,8,8,,8,8,8,8,8,8,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,616',
'616,616,616,616,616,616,616,616,616,616,616,616,616,616,616,616,616',
'616,616,616,616,616,616,,,,616,616,616,616,616,616,616,616,616,616,',
',,,,616,616,616,616,616,616,616,616,616,,,616,,,,,,,,616,616,,616,616',
'616,616,616,616,616,,,616,616,,,,616,616,616,616,,,,,,,,,,,,,,616,616',
',616,616,616,616,616,616,616,616,616,616,616,616,,,616,616,,,,,,,,,',
',,,,616,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71',
'71,71,71,71,,,,71,71,71,71,71,71,71,71,71,71,,,,,,71,71,71,71,71,71',
'71,71,71,71,71,71,,71,,,,,,71,71,,71,71,71,71,71,71,71,,,71,71,,,,71',
'71,71,71,,,,,,71,,,,,,,,71,71,,71,71,71,71,71,71,71,71,71,71,71,71,',
',71,737,737,737,737,737,737,737,737,737,737,737,737,737,737,737,737',
'737,737,737,737,737,737,737,737,,,,737,737,737,737,737,737,737,737,737',
'737,,,,,,737,737,737,737,737,737,737,737,737,,,737,,,,,,,,737,737,,737',
'737,737,737,737,737,737,,,737,737,,,,737,737,737,737,,,,,,,,,,,,,,737',
'737,,737,737,737,737,737,737,737,737,737,737,737,737,210,210,737,,210',
',,,,,,,210,210,,210,210,210,210,210,210,210,,,210,210,,,,210,210,210',
'210,,,,,,210,,,,,,,,210,210,,210,210,210,210,210,210,210,210,210,210',
'210,210,211,211,210,,211,,,,,,,,211,211,,211,211,211,211,211,211,211',
',,211,211,,,,211,211,211,211,,,,,,211,,,,,,,,211,211,,211,211,211,211',
'211,211,211,211,211,211,211,211,261,261,211,,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,442,442,261,,442',
',,,,,,,442,442,,442,442,442,442,442,442,442,,,442,442,,,,442,442,442',
'442,,,,,,442,,,,,,,,442,442,,442,442,442,442,442,442,442,442,442,442',
'442,442,443,443,442,,443,,,,,,,,443,443,,443,443,443,443,443,443,443',
',,443,443,,,,443,443,443,443,,,,,,443,,,,,,,,443,443,,443,443,443,443',
'443,443,443,443,443,443,443,443,509,509,443,,509,,,,,,,,509,509,,509',
'509,509,509,509,509,509,,,509,509,,,,509,509,509,509,,,,,,509,,,,,,',
',509,509,,509,509,509,509,509,509,509,509,509,509,509,509,510,510,509',
',510,,,,,,,,510,510,,510,510,510,510,510,510,510,,,510,510,,,,510,510',
'510,510,,,,,,510,,,,,,,,510,510,,510,510,510,510,510,510,510,510,510',
'510,510,510,519,519,510,,519,,,,,,,,519,519,,519,519,519,519,519,519',
'519,,,519,519,,,,519,519,519,519,,,,,,519,,,,,,,,519,519,,519,519,519',
'519,519,519,519,519,519,519,519,519,520,520,519,,520,,,,,,,,520,520',
',520,520,520,520,520,520,520,,,520,520,,,,520,520,520,520,,,,,,520,',
',,,,,,520,520,,520,520,520,520,520,520,520,520,520,520,520,520,578,578',
'520,,578,,,,,,,,578,578,,578,578,578,578,578,578,578,,,578,578,,,,578',
'578,578,578,,,,,,578,,,,,,,,578,578,,578,578,578,578,578,578,578,578',
'578,578,578,578,579,579,578,,579,,,,,,,,579,579,,579,579,579,579,579',
'579,579,,,579,579,,,,579,579,579,579,,,,,,579,,,,,,,,579,579,,579,579',
'579,579,579,579,579,579,579,579,579,579,585,585,579,,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,937,937,586,,937,,,,,,,,937,937,,937,937,937,937',
'937,937,937,,,937,937,,,,937,937,937,937,,,,,,937,,,,,,,,937,937,,937',
'937,937,937,937,937,937,937,937,937,937,937,983,983,937,,983,,,,,,,',
'983,983,,983,983,983,983,983,983,983,,,983,983,,,,983,983,983,983,,',
',,,983,,,,,,,,983,983,,983,983,983,983,983,983,983,983,983,983,983,983',
'984,984,983,,984,,,,,,,,984,984,,984,984,984,984,984,984,984,,,984,984',
',,,984,984,984,984,,,,,,984,,,,,,,,984,984,,984,984,984,984,984,984',
'984,984,984,984,984,984,,536,984,536,536,536,536,536,,693,,693,693,693',
'693,693,536,,,,,,,,693,,695,,695,695,695,695,695,,,,,,536,,,695,,,,',
'693,536,536,536,536,,,,536,693,693,693,693,,,,693,695,,735,,735,735',
'735,735,735,695,695,695,695,,,,695,735,,736,,736,736,736,736,736,,864',
',864,864,864,864,864,736,,,,,735,,,864,,,,,,735,735,735,735,,,,735,736',
',,,,,,,864,736,736,736,736,,,,736,864,864,864,864,,,866,864,866,866',
'866,866,866,,892,,892,892,892,892,892,866,,,,,,,,892,,896,,896,896,896',
'896,896,,,,,,866,,,896,,,,,892,866,866,866,866,,,,866,892,892,892,892',
',,,892,896,,898,,898,898,898,898,898,,,896,896,,,,896,898,,968,,968',
'968,968,968,968,970,,970,970,970,970,970,,968,,,,,898,,970,,972,,972',
'972,972,972,972,898,898,,,,898,968,,972,,,,,970,,968,968,968,968,,,',
'968,,970,970,,,,970,972,,974,,974,974,974,974,974,,,972,972,,,,972,974',
',986,,986,986,986,986,986,1012,,1012,1012,1012,1012,1012,,986,,,,,974',
',1012,,,,,,,,,974,974,,,,974,986,,,,,,,1012,,,,986,986,,,,986,,1012',
'1012,,,,1012' ]
        racc_action_check = arr = ::Array.new(25163, 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 = [
  1637,    33,   nil,    81,   nil,  5976,  1388,   -51, 23086, 23214,
   -11,   nil,    50,   117,   572,   -81,   105,   309,   nil,   -71,
  6107,  2057,   230,   nil,   -62,   nil,    -8,   742,   852,  6238,
  6369,  6500,   nil,  1777,  6631,  6762,   nil,   134,   282,   352,
   247,   332,  6901,  7032,  7163,   191,   574,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   962,   nil,   -80,  7294,
  7425,     4,   nil,  7556,  7687,   nil,   nil,  7818,  7957,  8088,
  8219, 23598,   nil,   nil,   nil,   nil,   nil,   223,   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,   354,
   nil,  8358,   nil,   nil,   nil,   nil,  8497,  8628,  8759,  8890,
  9029,  1917,   nil,   576,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   223,   nil,  2057,  9160,  9291,  9422,
 23772, 23833,   nil,   nil,  9553,  9684,  9815,  9946, 10077, 10208,
   nil,   nil,   576,   -54,   138,   307,   166,   241,   309,   nil,
 10339,  2197,   310, 10470, 10601, 10732, 10863, 10994, 11125, 11256,
 11387, 11518, 11649, 11780, 11911, 12042, 12173, 12304, 12435, 12566,
 12697, 12828, 12959, 13090, 13221, 13352, 13483, 13614, 13745,   nil,
   nil, 23894,   nil,   nil,   318, 13876, 14007,   nil,   nil,   nil,
   nil,   nil,   nil,   nil, 14138,   nil,  2197,   nil,   297,   325,
   nil, 14269,   373, 14400,   nil,   nil, 14531, 14662,   nil,   nil,
   228,   nil, 14801,  1441,   358,   338,  2337,   353,   408,   377,
 14932,  2477,   615,   645,   714,   473,   790,   nil,   441,   417,
    33,   nil,   nil,   nil,   476,   360,   453, 15071,   nil,   472,
   522,   822,   nil,   526,   nil, 15202,  2617, 15333,   465,   nil,
   -73,   146,   506,   489,   387,   523,   nil,   nil,  1505,   346,
    -1,    11, 15464, 15595,   298,   603,   498,   -18,    11,   824,
   584,    25,   618,   nil,   nil,   342,   434,   -21,   nil,   900,
   nil,   541, 15726,   nil,   nil,   nil,   194,   230,   379,   413,
   486,   510,   577,   578,   582,   nil,   619,   nil, 15857,   nil,
   272,   456,   459,   465,   497,   -41,   -35,   501,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   537, 23342,   nil,   nil,
   nil,   nil,   544,   nil,   nil,   535, 15988,   551,   nil,   nil,
  1777,   563,   nil,   568,   590,   481,   552,  1098,   nil,   nil,
   nil,   222,   334,   638,   nil,   nil,  1230,  1366,   nil,  2337,
   nil,   587,   nil,   nil,  1637,   nil,   nil,   nil,   nil,   -35,
   nil,   650, 23955, 24016, 16119,   197, 16250, 16381, 16512,  4017,
  4157,   623,   662,   677,   678,   679,   682,  1518,  5697,  1470,
  4297,  1181,  1315,  4437,  4577,  4717,  4857,  4997,  5137,  5277,
  1051,  1249,  5417,  5557,  2477,   -54,  1502,   nil,   nil,   nil,
   nil,   629,   nil,   -53,   -10,   636,   nil,   nil, 16643,   nil,
 16774,   nil, 16905,   nil,   363,   nil,   nil,   nil, 17044,  1507,
  2757,   642,   640,   nil,   nil,   644, 17183,   650, 17314, 24077,
 24138,   930,   704,   nil, 17445,   661,   nil, 17576, 17707, 24199,
 24260,  2617, 17838,   788,   790,   570,   715,   nil, 17969,   nil,
   nil, 18100,   nil,   nil,   nil,   nil, 24749,   nil,   689,   694,
   nil,   695,   697,   700,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   691,   749,   nil,   nil, 18231,   nil,   nil,   nil,
   788,   nil,   nil,   nil,   790,   nil,   nil,   792,  2897,   845,
   nil,  3037,    62,   147,   842,   853, 18362, 18493, 24321, 24382,
    27,   nil,   nil,   932,   nil, 24443, 24504, 18624,   nil,   nil,
   250,  3177,   774,   nil,   -33,   nil,   nil,   nil,   717,   nil,
   nil,   nil,   751,   nil,   nil,   388,   nil,   390,   nil,   nil,
   737,   nil,   742,   nil,   nil,   nil, 23470,   nil,   747, 18755,
 18886,   619,   787, 19017, 19148, 19279, 19410,   786,   nil,   nil,
 19541, 19672,   789,   nil, 19803, 19934,   nil,   nil,   217,   301,
   466,   604,   756,  1917,   755,   nil,  1466,   nil,  3317,   863,
     6,   160,   nil,  3457,  3597,   nil,   763,   nil,   810, 20065,
   nil,   nil, 20196,   nil,   785,   -80, 20327,   767,   nil,   772,
   123,   180,   814,   248,  1106,   815,   772, 20458,  2757,   846,
   214,   900, 20589,   nil,   786,   nil,   396,    37,   803,   697,
   nil,   nil,   537, 24757,   nil, 24774,   nil,  6809,   nil, 20720,
   nil,   856,   nil,   804,   335,   808,   nil,   nil,   nil,   nil,
   650,   nil,   926,   nil,   nil,   nil,   nil,   934,   nil,    26,
   817,    68,    93,   151,   185, 20851,  1066,  1143,   nil,   819,
  3737, 20982,   nil,   942,  3877, 24813, 24830, 23711,   nil,   nil,
   nil,   nil,   nil,   nil,  4017,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   823, 21113,  2897, 21244,   nil,   834,   nil,  3037,
   nil,  3177,   nil,   nil,  3317,   nil,  3457,   nil,  3597, 21375,
 21506, 21637, 21768,   343, 21899,   835,   839,   nil,   840,   847,
   848,   nil,   877,   861,   857,   852, 22030,   nil,   nil,   987,
   nil,   nil,  4157,   884,   991,   nil,   nil,   nil,   nil,   873,
   236,   nil,   nil,  1000,   nil,  4297,   877,   925,   nil,   nil,
   923,   nil,   nil,  4437,  4577,   925,   884,   nil,   nil,   nil,
   886,   887,   nil,   888,   889,   nil,   891,   nil,   nil,   896,
  1162,   914,   735,   nil,  1039,   nil, 22161,  1042,  4717,  4857,
   nil, 22292,  4997,   152,   181,   nil,  1044,   327,  5137,   nil,
  1045,   927,   366,   nil,   934,   930,   nil,  3737, 22423, 22554,
  3877,  1022,   nil,   nil, 24838,   nil, 24890,   nil,  8266,   nil,
   nil,   957,  1076, 22685,   934,  1022,   nil,   971,   nil,   nil,
   nil,  5277,   nil,   nil,    32, 22816,   nil,   nil,   973,  1081,
   nil,   nil, 24898,   nil, 14979,   nil, 24915,   nil, 24954,   nil,
   nil,   nil,   nil,   398,  1028,   967,   nil,    33,   nil,  1092,
  1093,   nil,   303,   nil,   nil,   nil,  1094,   nil,   nil,   nil,
  1020,   nil,   980,   nil,   nil,   982,   985,   986,   987,   nil,
   995,   nil,   421,   nil,   nil,   nil,   966, 24565,   nil,   nil,
   nil,  5417,    34,    35,  1003,  1077,    36,   nil,   nil,   nil,
  1003,  1009,  1011,  1013,  1014,  1223,  1015,  1437,  5557,   nil,
   nil,   nil,   nil,   nil,  5697,   nil,  5837,   nil, 24971,   nil,
 24978,   nil, 24995,   nil, 25034,   nil,   nil,   nil,  1332,  1062,
  1063,  1151, 22947, 24626, 24687,    42, 25051,   nil,   nil,   nil,
   nil,  4097,  1027,   719,  1152,  1153,  1030,  1046,  1051,  1053,
   nil,   nil,  1059,    98,   102,   111,   138,  1060,  1064,   nil,
   nil,   nil, 25058,   nil,   nil,   nil,   nil,   145,   nil,  1069,
   nil ]

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

clist = [
'218,277,277,277,14,375,278,278,278,14,313,313,336,411,268,272,260,122',
'205,2,681,210,329,575,222,433,325,6,127,127,834,262,6,222,222,222,330',
'14,304,304,130,130,568,571,313,313,313,340,341,261,489,344,660,299,132',
'132,417,423,515,264,271,273,221,480,657,111,657,222,222,481,408,222',
'349,359,359,537,734,114,430,320,279,279,279,527,530,690,691,534,825',
'822,584,127,110,660,316,115,440,713,716,902,391,392,393,394,295,297',
'803,476,782,380,331,334,275,288,289,14,779,1,705,648,222,222,222,222',
'14,14,544,653,654,621,780,929,381,933,935,361,365,837,6,387,396,114',
'905,605,607,880,663,395,6,204,815,486,354,404,397,651,345,616,332,650',
'524,377,333,337,352,588,376,326,327,684,328,342,838,343,502,839,725',
'821,964,823,730,277,848,591,407,489,660,592,601,603,606,606,407,737',
'601,920,781,783,418,657,657,389,932,535,812,338,687,475,483,484,14,222',
'222,222,956,961,807,884,222,222,222,222,222,222,379,382,902,383,384',
'442,385,427,386,929,739,14,744,277,277,1000,935,731,820,278,817,871',
'277,667,642,403,409,278,717,923,,676,428,432,,,822,,,,,992,829,,,222',
'222,,,688,,,313,26,222,,,,26,,,825,,,417,423,512,,,313,822,792,14,26',
'268,,14,1008,272,,304,14,26,26,26,526,26,509,669,1009,494,,636,279,728',
'499,,304,862,863,544,279,572,573,519,,14,222,,,925,,516,962,,,26,26',
',,26,,222,222,926,482,927,,498,513,,672,578,485,652,505,773,,655,891',
'114,672,222,295,501,913,822,,295,507,,,950,,665,497,,720,222,262,668',
',,800,26,,,729,622,26,26,26,26,26,26,,,593,,,966,628,615,799,,,,633',
'747,,747,298,277,127,114,,660,842,,,672,733,762,795,,130,418,767,672',
'574,657,13,,,843,811,13,,,132,433,,,845,222,,627,,996,,,644,632,,,,',
'339,339,427,628,339,,,13,967,,738,851,852,,,,,1001,,277,,313,26,26,26',
'26,,,,313,26,26,26,26,26,26,418,,,,,14,,14,,,418,26,649,304,,222,,339',
'339,339,339,304,664,,,,544,544,516,222,6,795,,427,,,516,,,,,,656,427',
',26,26,,808,13,,,277,,26,,719,,13,13,802,,277,,,,,846,,418,,850,26,',
',14,26,418,14,,,26,686,,222,833,,,,941,,402,,963,222,,,,14,700,,,427',
',791,,26,26,427,,,,958,,,,298,436,437,438,439,,26,26,,,622,,751,,784',
',222,222,,,,222,222,127,,222,26,,13,313,790,,809,714,714,130,,622,,14',
'313,,26,,14,14,407,628,,132,633,732,810,13,758,760,784,304,853,763,765',
'757,,432,,298,,,304,916,298,15,516,,,552,15,,,,,,,801,,,,,622,,,,,901',
',,844,622,,,,,847,,15,306,306,1017,26,,,,525,,13,918,222,,13,,,14,222',
'13,,14,,339,339,,,700,,,831,14,,,,351,360,360,,,127,16,222,590,13,313',
'16,784,,882,,,,886,,,,,26,594,26,,,,,,,,26,1002,,,,874,16,,,,15,14,856',
',26,995,335,,,15,15,,,,14,,,,,,,,14,14,,907,,,,,,353,,,672,,,,,,,,,776',
',222,,14,14,,26,14,,26,313,,,14,,26,,,,,,,313,,,26,,,,26,16,,38,,700',
',700,38,936,16,16,,816,,,,14,552,,,944,15,,,,,,,,,,,,26,26,38,302,302',
'26,26,,,26,,977,,15,,,714,,680,915,,,,26,919,,,,26,26,,13,,13,,,,347',
'363,363,363,,,14,954,700,405,,710,983,,712,277,,435,427,,,,,14,,16,',
',,14,778,14,418,,431,,,15,,,,15,,38,622,306,15,222,,,16,,38,38,,,,785',
',700,,700,306,26,13,427,,13,26,26,,15,26,,,,,,,824,,826,26,491,,493',
',13,495,496,,789,,26,,700,793,794,,,,,,,552,,552,,,,,16,,,922,16,,776',
',776,16,776,,694,696,698,,,,,26,,,,,,,,38,,,,,26,13,16,552,552,,13,13',
'26,26,,777,,,,,,,,,38,,,,,,,,,,,26,,26,26,,,26,,,,339,,26,854,,,339',
',,,,,,818,,,818,,,,,,,,618,,,,,,,865,867,869,,26,,776,,776,38,776,13',
'776,38,,13,,302,38,,877,,,,,13,,,15,,15,,,883,302,928,306,930,,,,888',
'889,38,306,,,,,,776,,,786,,,,,,,785,951,785,952,26,953,909,910,,,912',
',,13,,658,,335,,661,339,26,,,,,13,26,552,26,,,,,13,13,,,15,,,15,16,',
'16,26,,,,940,,,,,,658,,,335,13,13,15,,13,,,,,743,13,,,,39,,,,997,39',
'998,,999,,706,,,,969,971,973,975,,976,,818,1007,,777,,777,,777,13,435',
'785,,39,303,303,981,,,16,,,16,,,15,,,1019,,15,15,,993,893,895,,897,899',
'994,900,,16,306,,,,,348,364,364,364,,752,306,,,658,335,,,,38,,38,1013',
'1014,1015,1016,13,302,,,,,,,,302,,,,,,,431,13,,1020,,,39,13,796,13,',
'797,,,16,39,39,,,16,16,,15,777,,777,15,777,,777,786,806,,786,,786,15',
'786,,,,,,,,,,38,828,,38,,,,,,,,,,,,,,,,,777,,,38,,,,,,,,360,987,988',
'989,990,,15,,,,,,,,,,,,16,15,,,16,39,855,,,15,15,,,,16,,,,,,,,,,,,,',
',,39,38,,,15,15,38,38,15,,1018,786,,786,15,786,,786,,302,,,,,,,,,,,302',
',16,,,,,,,360,,,,,,16,,15,,,,946,,16,16,786,,,,,,39,,,911,39,,,,303',
'39,,,,,,,,16,16,,335,16,38,,,303,38,16,,,,,,,39,,38,,,,,,,,,,15,,,,',
',,,,,,,,,16,,,15,947,,,,,15,,15,,,,,,,363,,,,,,38,,,,,,,,,,,,,38,,,',
',,,,38,38,,,,,,,,,,,,,,16,,,,,,,,,,38,38,,,38,,,16,,,38,,,16,,16,,,',
',,,,,,,,,,,,,,,,363,,,,,,,,38,,,,942,,,,,,,,,,,,,,,,,,,,,,,,,,,,,39',
',39,,,,,,303,,,,,,,,303,,,,,,,,,,,38,,,,,,,,,,,,,,,,,38,,,,,,38,,38',
',,,,,,,,,,,,,,,,,39,,,39,,,,,,,,,,,,,,,,,,,,39,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,,,,,39,39,,,,,,,,,,,,303,,,,,',
',229,,,,303,,,,,276,276,276,,,,,,,,,,,322,323,324,,,,,,,,,,,,,,,276',
'276,,,,,,,,,,,,,,,,,39,,,,39,,,,,,,,,,39,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,364,,,,,,39,,,,,,,,,,,,,39,,,,,,,,39,39,,,,,,,,,,,,,,',
',,,,,,,,,39,39,,,39,,,,,,39,,,,,,,,,,,,276,410,276,,,,,429,434,,,,,364',
',,,,,,,39,,229,,943,449,450,451,452,453,454,455,456,457,458,459,460',
'461,462,463,464,465,466,467,468,469,470,471,472,473,474,,,,,,,276,276',
',,,,,,,276,,,,,,,276,,276,,,276,276,39,,,,,,,,,,,,,,,,,39,,,,,,39,,39',
',,,,,,,,,,,521,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,276,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
'276,,429,643,410,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,276,,276,,276',
',,,,,,,,,,,,,,,276,,,,,,,,,678,679,,,,,,,,,,276,,,276,,,,,,,,,,,,,,',
',,,,,,,,,,276,,,,,,,,,,,,,,,,,,,,276,276,,,,,,,,,,276,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,276,754,,,276,276,759,761,,,,764,766,,,643,768,,,,',
',,,,,,,,,,,,,,,,,,,276,,,276,,,,,,,,,,,,,,,,,,,,276,,,,,,,,,,,,,,,,',
'276,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,276,,857,,',
',,,,,,,,,,,759,761,766,764,,860,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,276,,,,,,,,,,,,,,,,,276,857,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,276' ]
        racc_goto_table = arr = ::Array.new(2923, 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 = [
'32,34,34,34,22,57,69,69,69,22,65,65,87,23,72,72,139,15,15,2,10,25,68',
'93,22,18,32,7,58,58,91,25,7,22,22,22,69,22,22,22,61,61,90,90,65,65,65',
'17,17,37,74,17,177,50,62,62,38,38,52,39,39,39,20,40,75,6,75,22,22,23',
'28,22,22,22,22,138,97,96,28,64,71,71,71,70,70,122,122,70,173,168,55',
'58,4,177,51,5,48,92,92,115,17,17,17,17,46,47,11,38,130,150,71,71,45',
'45,45,22,127,1,117,41,22,22,22,22,22,22,162,41,41,24,128,174,151,132',
'133,56,56,11,7,151,2,96,118,154,154,12,14,7,7,16,130,48,19,29,31,43',
'4,63,67,73,8,85,86,89,94,95,98,99,100,101,102,103,104,105,48,106,107',
'128,108,128,109,34,110,111,69,74,177,112,155,155,155,155,69,113,155',
'114,119,125,72,75,75,5,131,134,135,136,137,140,142,143,22,22,22,22,118',
'144,145,146,22,22,22,22,22,22,149,152,115,153,156,25,157,58,158,174',
'159,22,160,34,34,132,133,161,166,69,170,130,34,52,23,20,20,69,93,171',
',52,20,20,,,168,,,,,118,117,,,22,22,,,138,,,65,42,22,,,,42,,,173,,,38',
'38,32,,,65,168,41,22,42,72,,22,118,72,,22,22,42,42,42,32,42,25,23,91',
'150,,48,71,55,7,,22,122,122,162,71,17,17,25,,22,22,,,127,,50,11,,,42',
'42,,,42,,22,22,128,45,128,,6,64,,38,25,45,48,51,24,,48,122,96,38,22',
'46,47,92,168,,46,47,,,128,,48,4,,23,22,25,48,,,24,42,,,23,32,42,42,42',
'42,42,42,,,37,,,97,72,15,52,,,,72,155,,155,9,34,58,96,,177,90,,,38,8',
'40,74,,61,72,40,38,4,75,21,,,24,70,21,,,62,18,,,24,22,,39,,128,,,32',
'39,,,,,30,30,58,72,30,,,21,122,,48,138,138,,,,,10,,34,,65,42,42,42,42',
',,,65,42,42,42,42,42,42,72,,,,,22,,22,,,72,42,39,22,,22,,30,30,30,30',
'22,2,,,,162,162,50,22,7,74,,58,,,50,,,,,,71,58,,42,42,,28,21,,,34,,42',
',69,,21,21,48,,34,,,,,8,,72,,8,42,,,22,42,72,22,,,42,71,,22,48,,,,90',
',9,,93,22,,,,22,116,,,58,,87,,42,42,58,,,,90,,,,9,30,30,30,30,,42,42',
',,32,,15,,32,,22,22,,,,22,22,58,,22,42,,21,65,139,,68,96,96,61,,32,',
'22,65,,42,,22,22,69,72,,62,72,96,32,21,20,20,32,22,57,20,20,71,,20,',
'9,,,22,8,9,26,50,,,167,26,,,,,,,50,,,,,32,,,,,48,,,17,32,,,,,17,,26',
'26,26,24,42,,,,30,,21,48,22,,21,,,22,22,21,,22,,30,30,,,116,,,116,22',
',,,26,26,26,,,58,27,22,30,21,65,27,32,,68,,,,68,,,,,42,30,42,,,,,,,',
'42,23,,,,22,27,,,,26,22,20,,42,8,66,,,26,26,,,,22,,,,,,,,22,22,,17,',
',,,,27,,,38,,,,,,,,,121,,22,,22,22,,42,22,,42,65,,,22,,42,,,,,,,65,',
',42,,,,42,27,,53,,116,,116,53,22,27,27,,121,,,,22,167,,,22,26,,,,,,',
',,,,,42,42,53,53,53,42,42,,,42,,32,,26,,,96,,30,96,,,,42,96,,,,42,42',
',21,,21,,,,53,53,53,53,,,22,116,116,66,,9,25,,9,34,,66,58,,,,,22,,27',
',,,22,126,22,72,,27,,,26,,,,26,,53,32,26,26,22,,,27,,53,53,,,,167,,116',
',116,26,42,21,58,,21,42,42,,26,42,,,,,,,126,,126,42,66,,66,,21,66,66',
',9,,42,,116,9,9,,,,,,,167,,167,,,,,27,,,121,27,,121,,121,27,121,,165',
'165,165,,,,,42,,,,,,,,53,,,,,42,21,27,167,167,,21,21,42,42,,123,,,,',
',,,,53,,,,,,,,,,,42,,42,42,,,42,,,,30,,42,9,,,30,,,,,,,123,,,123,,,',
',,,,66,,,,,,,124,124,124,,42,,121,,121,53,121,21,121,53,,21,,53,53,',
'9,,,,,21,,,26,,26,,,9,53,126,26,126,,,,9,9,53,26,,,,,,121,,,169,,,,',
',,167,126,167,126,42,126,9,9,,,9,,,21,,66,,66,,66,30,42,,,,,21,42,167',
'42,,,,,21,21,,,26,,,26,27,,27,42,,,,9,,,,,,66,,,66,21,21,26,,21,,,,',
'26,21,,,,54,,,,126,54,126,,126,,66,,,,124,124,124,124,,124,,123,126',
',123,,123,,123,21,66,167,,54,54,54,9,,,27,,,27,,,26,,,126,,26,26,,9',
'165,165,,165,165,9,165,,27,26,,,,,54,54,54,54,,66,26,,,66,66,,,,53,',
'53,124,124,124,124,21,53,,,,,,,,53,,,,,,,27,21,,124,,,54,21,66,21,,66',
',,27,54,54,,,27,27,,26,123,,123,26,123,,123,169,66,,169,,169,26,169',
',,,,,,,,,53,66,,53,,,,,,,,,,,,,,,,,123,,,53,,,,,,,,26,165,165,165,165',
',26,,,,,,,,,,,,27,26,,,27,54,66,,,26,26,,,,27,,,,,,,,,,,,,,,,54,53,',
',26,26,53,53,26,,165,169,,169,26,169,,169,,53,,,,,,,,,,,53,,27,,,,,',
',26,,,,,,27,,26,,,,26,,27,27,169,,,,,,54,,,66,54,,,,54,54,,,,,,,,27',
'27,,66,27,53,,,54,53,27,,,,,,,54,,53,,,,,,,,,,26,,,,,,,,,,,,,,27,,,26',
'27,,,,,26,,26,,,,,,,53,,,,,,53,,,,,,,,,,,,,53,,,,,,,,53,53,,,,,,,,,',
',,,,27,,,,,,,,,,53,53,,,53,,,27,,,53,,,27,,27,,,,,,,,,,,,,,,,,,,,53',
',,,,,,,53,,,,53,,,,,,,,,,,,,,,,,,,,,,,,,,,,,54,,54,,,,,,54,,,,,,,,54',
',,,,,,,,,,53,,,,,,,,,,,,,,,,,53,,,,,,53,,53,,,,,,,,,,,,,,,,,,54,,,54',
',,,,,,,,,,,,,,,,,,,54,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,54,,,,,54,54,,,,,,,,,,,,54,,,,,,,33,,,,54,,,,,33,33,33,,,',
',,,,,,,33,33,33,,,,,,,,,,,,,,,33,33,,,,,,,,,,,,,,,,,54,,,,54,,,,,,,',
',,54,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,54,,,,,,54,,,,,,,,,,,',
',54,,,,,,,,54,54,,,,,,,,,,,,,,,,,,,,,,,,54,54,,,54,,,,,,54,,,,,,,,,',
',,33,33,33,,,,,33,33,,,,,54,,,,,,,,54,,33,,54,33,33,33,33,33,33,33,33',
'33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,,,,,,,33,33,,',
',,,,,33,,,,,,,33,,33,,,33,33,54,,,,,,,,,,,,,,,,,54,,,,,,54,,54,,,,,',
',,,,,,33,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,33,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,33,,33',
'33,33,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,33,,33,,33,,,,,,,,,,,,',
',,,33,,,,,,,,,33,33,,,,,,,,,,33,,,33,,,,,,,,,,,,,,,,,,,,,,,,,33,,,,',
',,,,,,,,,,,,,,,33,33,,,,,,,,,,33,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,33,33',
',,33,33,33,33,,,,33,33,,,33,33,,,,,,,,,,,,,,,,,,,,,,,,33,,,33,,,,,,',
',,,,,,,,,,,,,33,,,,,,,,,,,,,,,,,33,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,33,,33,,,,,,,,,,,,,,33,33,33,33,,33,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,33,,,,,,,,,,,',
',,,,,33,33,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,33' ]
        racc_goto_check = arr = ::Array.new(2923, 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,   117,    19,   nil,    89,    90,    62,    27,  -166,   382,
  -503,  -575,  -658,   nil,  -352,     9,   140,   -16,  -190,    84,
    42,   435,     4,  -196,  -282,     7,   684,   758,  -137,   -54,
   398,    32,   -19,  1940,   -28,   nil,   nil,    25,  -154,    33,
  -201,  -356,   277,  -324,   nil,    83,    71,    72,  -123,   nil,
    19,    59,  -259,   871,  1287,  -267,    66,   -66,    20,   nil,
   nil,    32,    46,  -244,    38,   -24,   741,    99,   -37,   -23,
  -247,    51,   -12,  -317,  -229,  -424,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,    90,   102,   -49,   nil,   101,
  -298,  -680,  -475,  -322,    96,  -196,    74,  -516,    95,   110,
   110,  -356,   112,   106,  -541,   107,  -541,  -405,  -735,  -408,
  -550,  -182,  -188,  -400,  -658,  -731,    43,  -435,  -690,  -450,
   nil,   192,  -453,   447,   376,  -449,   323,  -530,  -516,   nil,
  -538,  -670,  -739,  -738,  -135,  -483,   143,  -329,  -263,    -6,
   -52,   nil,   -61,   -61,  -697,  -466,  -590,   nil,   nil,   147,
    30,    50,   142,   143,  -240,  -193,   143,   144,   145,  -364,
  -363,  -348,  -212,   nil,   nil,   521,  -451,   350,  -604,   561,
  -445,  -608,   nil,  -607,  -735,   nil,   nil,  -438 ]

racc_goto_default = [
   nil,   nil,   nil,     3,   nil,     4,   346,   293,   nil,   523,
   nil,   835,   nil,   290,   291,   nil,   nil,   nil,    11,    12,
    18,   228,   321,   nil,   nil,   586,   226,   227,   nil,   nil,
    17,   nil,   441,    21,    22,    23,    24,   nil,   675,   nil,
   nil,   nil,   310,   nil,    25,   412,    32,   nil,   nil,    34,
    37,    36,   nil,   223,   224,   358,   nil,   129,   420,   128,
   131,    75,    76,   nil,    90,    46,   282,   nil,   804,   413,
   nil,   414,   425,   629,   487,   280,   266,    47,    48,    49,
    50,    51,    52,    53,    54,    55,   nil,   267,    61,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   569,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   702,   551,   nil,   703,   924,
   775,   539,   nil,   540,   nil,   nil,   541,   nil,   543,   645,
   nil,   nil,   nil,   549,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   424,   nil,   nil,   nil,   nil,   nil,    74,    77,    78,
   nil,   nil,   nil,   nil,   nil,   596,   nil,   nil,   nil,   nil,
   nil,   nil,   819,   736,   538,   nil,   542,   827,   554,   556,
   557,   787,   560,   561,   788,   564,   567,   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, 176, :_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,
  6, 152, :_reduce_32,
  5, 152, :_reduce_33,
  5, 152, :_reduce_34,
  5, 152, :_reduce_35,
  5, 152, :_reduce_36,
  3, 152, :_reduce_37,
  3, 152, :_reduce_38,
  3, 152, :_reduce_39,
  1, 152, :_reduce_none,
  3, 163, :_reduce_41,
  3, 163, :_reduce_42,
  1, 175, :_reduce_none,
  3, 175, :_reduce_44,
  3, 175, :_reduce_45,
  3, 175, :_reduce_46,
  2, 175, :_reduce_47,
  1, 175, :_reduce_none,
  1, 162, :_reduce_none,
  1, 165, :_reduce_none,
  1, 165, :_reduce_none,
  1, 180, :_reduce_none,
  4, 180, :_reduce_53,
  0, 188, :_reduce_54,
  5, 185, :_reduce_55,
  1, 187, :_reduce_none,
  2, 179, :_reduce_57,
  3, 179, :_reduce_58,
  4, 179, :_reduce_59,
  5, 179, :_reduce_60,
  4, 179, :_reduce_61,
  5, 179, :_reduce_62,
  2, 179, :_reduce_63,
  2, 179, :_reduce_64,
  2, 179, :_reduce_65,
  2, 179, :_reduce_66,
  2, 179, :_reduce_67,
  1, 164, :_reduce_68,
  3, 164, :_reduce_69,
  1, 192, :_reduce_70,
  3, 192, :_reduce_71,
  1, 191, :_reduce_none,
  2, 191, :_reduce_73,
  3, 191, :_reduce_74,
  5, 191, :_reduce_75,
  2, 191, :_reduce_76,
  4, 191, :_reduce_77,
  2, 191, :_reduce_78,
  4, 191, :_reduce_79,
  1, 191, :_reduce_80,
  3, 191, :_reduce_81,
  1, 195, :_reduce_none,
  3, 195, :_reduce_83,
  2, 194, :_reduce_84,
  3, 194, :_reduce_85,
  1, 197, :_reduce_86,
  3, 197, :_reduce_87,
  1, 196, :_reduce_88,
  1, 196, :_reduce_89,
  4, 196, :_reduce_90,
  3, 196, :_reduce_91,
  3, 196, :_reduce_92,
  3, 196, :_reduce_93,
  3, 196, :_reduce_94,
  2, 196, :_reduce_95,
  1, 196, :_reduce_96,
  1, 172, :_reduce_97,
  1, 172, :_reduce_98,
  4, 172, :_reduce_99,
  3, 172, :_reduce_100,
  3, 172, :_reduce_101,
  3, 172, :_reduce_102,
  3, 172, :_reduce_103,
  2, 172, :_reduce_104,
  1, 172, :_reduce_105,
  1, 200, :_reduce_106,
  1, 200, :_reduce_none,
  2, 201, :_reduce_108,
  1, 201, :_reduce_109,
  3, 201, :_reduce_110,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 205, :_reduce_116,
  1, 205, :_reduce_none,
  1, 160, :_reduce_none,
  1, 160, :_reduce_none,
  1, 161, :_reduce_120,
  0, 208, :_reduce_121,
  4, 161, :_reduce_122,
  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, 178, :_reduce_194,
  5, 178, :_reduce_195,
  3, 178, :_reduce_196,
  5, 178, :_reduce_197,
  6, 178, :_reduce_198,
  5, 178, :_reduce_199,
  5, 178, :_reduce_200,
  5, 178, :_reduce_201,
  5, 178, :_reduce_202,
  4, 178, :_reduce_203,
  3, 178, :_reduce_204,
  3, 178, :_reduce_205,
  3, 178, :_reduce_206,
  3, 178, :_reduce_207,
  3, 178, :_reduce_208,
  3, 178, :_reduce_209,
  3, 178, :_reduce_210,
  3, 178, :_reduce_211,
  3, 178, :_reduce_212,
  4, 178, :_reduce_213,
  2, 178, :_reduce_214,
  2, 178, :_reduce_215,
  3, 178, :_reduce_216,
  3, 178, :_reduce_217,
  3, 178, :_reduce_218,
  3, 178, :_reduce_219,
  3, 178, :_reduce_220,
  3, 178, :_reduce_221,
  3, 178, :_reduce_222,
  3, 178, :_reduce_223,
  3, 178, :_reduce_224,
  3, 178, :_reduce_225,
  3, 178, :_reduce_226,
  3, 178, :_reduce_227,
  3, 178, :_reduce_228,
  2, 178, :_reduce_229,
  2, 178, :_reduce_230,
  3, 178, :_reduce_231,
  3, 178, :_reduce_232,
  3, 178, :_reduce_233,
  3, 178, :_reduce_234,
  3, 178, :_reduce_235,
  6, 178, :_reduce_236,
  1, 178, :_reduce_none,
  1, 211, :_reduce_none,
  1, 212, :_reduce_none,
  2, 212, :_reduce_none,
  4, 212, :_reduce_241,
  2, 212, :_reduce_242,
  3, 217, :_reduce_243,
  0, 218, :_reduce_244,
  1, 218, :_reduce_none,
  0, 168, :_reduce_246,
  1, 168, :_reduce_none,
  2, 168, :_reduce_none,
  4, 168, :_reduce_249,
  2, 168, :_reduce_250,
  1, 190, :_reduce_251,
  2, 190, :_reduce_252,
  2, 190, :_reduce_253,
  4, 190, :_reduce_254,
  1, 190, :_reduce_255,
  0, 221, :_reduce_256,
  2, 184, :_reduce_257,
  2, 220, :_reduce_258,
  2, 219, :_reduce_259,
  0, 219, :_reduce_260,
  1, 214, :_reduce_261,
  2, 214, :_reduce_262,
  3, 214, :_reduce_263,
  4, 214, :_reduce_264,
  1, 174, :_reduce_265,
  1, 174, :_reduce_none,
  3, 173, :_reduce_267,
  4, 173, :_reduce_268,
  2, 173, :_reduce_269,
  1, 210, :_reduce_none,
  1, 210, :_reduce_none,
  1, 210, :_reduce_none,
  1, 210, :_reduce_none,
  1, 210, :_reduce_none,
  1, 210, :_reduce_none,
  1, 210, :_reduce_none,
  1, 210, :_reduce_none,
  1, 210, :_reduce_none,
  1, 210, :_reduce_none,
  1, 210, :_reduce_280,
  0, 244, :_reduce_281,
  4, 210, :_reduce_282,
  0, 245, :_reduce_283,
  0, 246, :_reduce_284,
  6, 210, :_reduce_285,
  0, 247, :_reduce_286,
  4, 210, :_reduce_287,
  3, 210, :_reduce_288,
  3, 210, :_reduce_289,
  2, 210, :_reduce_290,
  3, 210, :_reduce_291,
  3, 210, :_reduce_292,
  1, 210, :_reduce_293,
  4, 210, :_reduce_294,
  3, 210, :_reduce_295,
  1, 210, :_reduce_296,
  5, 210, :_reduce_297,
  4, 210, :_reduce_298,
  3, 210, :_reduce_299,
  2, 210, :_reduce_300,
  1, 210, :_reduce_none,
  2, 210, :_reduce_302,
  2, 210, :_reduce_303,
  6, 210, :_reduce_304,
  6, 210, :_reduce_305,
  0, 248, :_reduce_306,
  0, 249, :_reduce_307,
  7, 210, :_reduce_308,
  0, 250, :_reduce_309,
  0, 251, :_reduce_310,
  7, 210, :_reduce_311,
  5, 210, :_reduce_312,
  4, 210, :_reduce_313,
  0, 252, :_reduce_314,
  0, 253, :_reduce_315,
  9, 210, :_reduce_316,
  0, 254, :_reduce_317,
  6, 210, :_reduce_318,
  0, 255, :_reduce_319,
  7, 210, :_reduce_320,
  0, 256, :_reduce_321,
  5, 210, :_reduce_322,
  0, 257, :_reduce_323,
  6, 210, :_reduce_324,
  0, 258, :_reduce_325,
  0, 259, :_reduce_326,
  9, 210, :_reduce_327,
  1, 210, :_reduce_328,
  1, 210, :_reduce_329,
  1, 210, :_reduce_330,
  1, 210, :_reduce_331,
  1, 167, :_reduce_none,
  1, 235, :_reduce_none,
  1, 235, :_reduce_none,
  2, 235, :_reduce_335,
  1, 237, :_reduce_none,
  1, 237, :_reduce_none,
  1, 236, :_reduce_none,
  5, 236, :_reduce_339,
  1, 156, :_reduce_none,
  2, 156, :_reduce_341,
  1, 239, :_reduce_none,
  1, 239, :_reduce_none,
  1, 260, :_reduce_344,
  3, 260, :_reduce_345,
  1, 263, :_reduce_346,
  3, 263, :_reduce_347,
  1, 262, :_reduce_none,
  4, 262, :_reduce_349,
  6, 262, :_reduce_350,
  3, 262, :_reduce_351,
  5, 262, :_reduce_352,
  2, 262, :_reduce_353,
  4, 262, :_reduce_354,
  1, 262, :_reduce_355,
  3, 262, :_reduce_356,
  4, 264, :_reduce_357,
  2, 264, :_reduce_358,
  2, 264, :_reduce_359,
  1, 264, :_reduce_360,
  2, 269, :_reduce_361,
  0, 269, :_reduce_362,
  6, 270, :_reduce_363,
  8, 270, :_reduce_364,
  4, 270, :_reduce_365,
  6, 270, :_reduce_366,
  4, 270, :_reduce_367,
  2, 270, :_reduce_none,
  6, 270, :_reduce_369,
  2, 270, :_reduce_370,
  4, 270, :_reduce_371,
  6, 270, :_reduce_372,
  2, 270, :_reduce_373,
  4, 270, :_reduce_374,
  2, 270, :_reduce_375,
  4, 270, :_reduce_376,
  1, 270, :_reduce_none,
  0, 186, :_reduce_378,
  1, 186, :_reduce_379,
  3, 274, :_reduce_380,
  1, 274, :_reduce_381,
  4, 274, :_reduce_382,
  1, 275, :_reduce_383,
  4, 275, :_reduce_384,
  1, 276, :_reduce_385,
  3, 276, :_reduce_386,
  1, 277, :_reduce_387,
  1, 277, :_reduce_none,
  0, 281, :_reduce_389,
  0, 282, :_reduce_390,
  4, 234, :_reduce_391,
  4, 279, :_reduce_392,
  1, 279, :_reduce_393,
  3, 280, :_reduce_394,
  3, 280, :_reduce_395,
  0, 285, :_reduce_396,
  5, 284, :_reduce_397,
  2, 181, :_reduce_398,
  4, 181, :_reduce_399,
  5, 181, :_reduce_400,
  5, 181, :_reduce_401,
  2, 233, :_reduce_402,
  4, 233, :_reduce_403,
  4, 233, :_reduce_404,
  3, 233, :_reduce_405,
  3, 233, :_reduce_406,
  3, 233, :_reduce_407,
  2, 233, :_reduce_408,
  1, 233, :_reduce_409,
  4, 233, :_reduce_410,
  0, 287, :_reduce_411,
  5, 232, :_reduce_412,
  0, 288, :_reduce_413,
  5, 232, :_reduce_414,
  5, 238, :_reduce_415,
  1, 289, :_reduce_416,
  1, 289, :_reduce_none,
  6, 155, :_reduce_418,
  0, 155, :_reduce_419,
  1, 290, :_reduce_420,
  1, 290, :_reduce_none,
  1, 290, :_reduce_none,
  2, 291, :_reduce_423,
  1, 291, :_reduce_none,
  2, 157, :_reduce_425,
  1, 157, :_reduce_none,
  1, 222, :_reduce_none,
  1, 222, :_reduce_none,
  1, 222, :_reduce_none,
  1, 223, :_reduce_430,
  1, 293, :_reduce_431,
  2, 293, :_reduce_432,
  3, 294, :_reduce_433,
  1, 294, :_reduce_434,
  1, 294, :_reduce_435,
  3, 224, :_reduce_436,
  4, 225, :_reduce_437,
  3, 226, :_reduce_438,
  0, 298, :_reduce_439,
  3, 298, :_reduce_440,
  1, 299, :_reduce_441,
  2, 299, :_reduce_442,
  3, 228, :_reduce_443,
  0, 301, :_reduce_444,
  3, 301, :_reduce_445,
  3, 227, :_reduce_446,
  3, 229, :_reduce_447,
  0, 302, :_reduce_448,
  3, 302, :_reduce_449,
  0, 303, :_reduce_450,
  3, 303, :_reduce_451,
  0, 295, :_reduce_452,
  2, 295, :_reduce_453,
  0, 296, :_reduce_454,
  2, 296, :_reduce_455,
  0, 297, :_reduce_456,
  2, 297, :_reduce_457,
  1, 300, :_reduce_458,
  2, 300, :_reduce_459,
  0, 305, :_reduce_460,
  4, 300, :_reduce_461,
  1, 304, :_reduce_462,
  1, 304, :_reduce_463,
  1, 304, :_reduce_464,
  1, 304, :_reduce_none,
  1, 206, :_reduce_466,
  3, 207, :_reduce_467,
  1, 292, :_reduce_468,
  2, 292, :_reduce_469,
  1, 209, :_reduce_470,
  1, 209, :_reduce_471,
  1, 209, :_reduce_472,
  1, 209, :_reduce_473,
  1, 198, :_reduce_474,
  1, 198, :_reduce_475,
  1, 198, :_reduce_476,
  1, 198, :_reduce_477,
  1, 198, :_reduce_478,
  1, 199, :_reduce_479,
  1, 199, :_reduce_480,
  1, 199, :_reduce_481,
  1, 199, :_reduce_482,
  1, 199, :_reduce_483,
  1, 199, :_reduce_484,
  1, 199, :_reduce_485,
  1, 230, :_reduce_486,
  1, 230, :_reduce_487,
  1, 166, :_reduce_488,
  1, 166, :_reduce_489,
  1, 171, :_reduce_490,
  1, 171, :_reduce_491,
  0, 306, :_reduce_492,
  4, 240, :_reduce_493,
  0, 240, :_reduce_494,
  3, 242, :_reduce_495,
  0, 308, :_reduce_496,
  3, 242, :_reduce_497,
  4, 307, :_reduce_498,
  2, 307, :_reduce_499,
  2, 307, :_reduce_500,
  1, 307, :_reduce_501,
  2, 310, :_reduce_502,
  0, 310, :_reduce_503,
  6, 283, :_reduce_504,
  8, 283, :_reduce_505,
  4, 283, :_reduce_506,
  6, 283, :_reduce_507,
  4, 283, :_reduce_508,
  6, 283, :_reduce_509,
  2, 283, :_reduce_510,
  4, 283, :_reduce_511,
  6, 283, :_reduce_512,
  2, 283, :_reduce_513,
  4, 283, :_reduce_514,
  2, 283, :_reduce_515,
  4, 283, :_reduce_516,
  1, 283, :_reduce_517,
  0, 283, :_reduce_518,
  1, 278, :_reduce_519,
  1, 278, :_reduce_520,
  1, 278, :_reduce_521,
  1, 278, :_reduce_522,
  1, 261, :_reduce_none,
  1, 261, :_reduce_524,
  1, 312, :_reduce_525,
  1, 313, :_reduce_526,
  3, 313, :_reduce_527,
  1, 271, :_reduce_528,
  3, 271, :_reduce_529,
  1, 314, :_reduce_530,
  2, 315, :_reduce_531,
  1, 315, :_reduce_532,
  2, 316, :_reduce_533,
  1, 316, :_reduce_534,
  1, 265, :_reduce_535,
  3, 265, :_reduce_536,
  1, 309, :_reduce_537,
  3, 309, :_reduce_538,
  1, 317, :_reduce_none,
  1, 317, :_reduce_none,
  2, 266, :_reduce_541,
  1, 266, :_reduce_542,
  3, 318, :_reduce_543,
  3, 319, :_reduce_544,
  1, 272, :_reduce_545,
  3, 272, :_reduce_546,
  1, 311, :_reduce_547,
  3, 311, :_reduce_548,
  1, 320, :_reduce_none,
  1, 320, :_reduce_none,
  2, 273, :_reduce_551,
  1, 273, :_reduce_552,
  1, 321, :_reduce_none,
  1, 321, :_reduce_none,
  2, 268, :_reduce_555,
  2, 267, :_reduce_556,
  0, 267, :_reduce_557,
  1, 243, :_reduce_none,
  3, 243, :_reduce_559,
  0, 231, :_reduce_560,
  2, 231, :_reduce_none,
  1, 216, :_reduce_562,
  3, 216, :_reduce_563,
  3, 322, :_reduce_564,
  2, 322, :_reduce_565,
  4, 322, :_reduce_566,
  2, 322, :_reduce_567,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 183, :_reduce_none,
  1, 183, :_reduce_none,
  1, 183, :_reduce_none,
  1, 183, :_reduce_none,
  1, 286, :_reduce_none,
  1, 286, :_reduce_none,
  1, 286, :_reduce_none,
  1, 182, :_reduce_none,
  1, 182, :_reduce_none,
  1, 170, :_reduce_580,
  1, 170, :_reduce_581,
  0, 149, :_reduce_none,
  1, 149, :_reduce_none,
  0, 177, :_reduce_none,
  1, 177, :_reduce_none,
  2, 193, :_reduce_586,
  2, 169, :_reduce_587,
  0, 215, :_reduce_none,
  1, 215, :_reduce_none,
  1, 215, :_reduce_none,
  1, 241, :_reduce_591,
  1, 241, :_reduce_none,
  1, 151, :_reduce_none,
  2, 151, :_reduce_none,
  0, 213, :_reduce_595 ]

racc_reduce_n = 596

racc_shift_n = 1021

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",
  "var_lhs",
  "primary_value",
  "opt_call_args",
  "rbracket",
  "call_op",
  "backref",
  "lhs",
  "mrhs",
  "mrhs_arg",
  "expr",
  "@1",
  "opt_nl",
  "arg",
  "command",
  "block_command",
  "block_call",
  "dot_or_colon",
  "operation2",
  "command_args",
  "cmd_brace_block",
  "opt_block_param",
  "fcall",
  "@2",
  "operation",
  "call_args",
  "mlhs_basic",
  "mlhs_inner",
  "rparen",
  "mlhs_head",
  "mlhs_item",
  "mlhs_node",
  "mlhs_post",
  "user_variable",
  "keyword_variable",
  "cname",
  "cpath",
  "fname",
  "op",
  "reswords",
  "fsym",
  "symbol",
  "dsym",
  "@3",
  "simple_numeric",
  "primary",
  "arg_value",
  "aref_args",
  "none",
  "args",
  "trailer",
  "assocs",
  "paren_args",
  "opt_paren_args",
  "opt_block_arg",
  "block_arg",
  "@4",
  "literal",
  "strings",
  "xstring",
  "regexp",
  "words",
  "qwords",
  "symbols",
  "qsymbols",
  "var_ref",
  "assoc_list",
  "brace_block",
  "method_call",
  "lambda",
  "then",
  "if_tail",
  "do",
  "case_body",
  "for_var",
  "superclass",
  "term",
  "f_arglist",
  "singleton",
  "@5",
  "@6",
  "@7",
  "@8",
  "@9",
  "@10",
  "@11",
  "@12",
  "@13",
  "@14",
  "@15",
  "@16",
  "@17",
  "@18",
  "@19",
  "@20",
  "f_marg",
  "f_norm_arg",
  "f_margs",
  "f_marg_list",
  "block_args_tail",
  "f_block_kwarg",
  "f_kwrest",
  "opt_f_block_arg",
  "f_block_arg",
  "opt_block_args_tail",
  "block_param",
  "f_arg",
  "f_block_optarg",
  "f_rest_arg",
  "block_param_def",
  "opt_bv_decl",
  "bv_decls",
  "bvar",
  "f_bad_arg",
  "f_larglist",
  "lambda_body",
  "@21",
  "@22",
  "f_args",
  "do_block",
  "@23",
  "operation3",
  "@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.op_assign(val[0], val[1], val[2])
                    
    result
end

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

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

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

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

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

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

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

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

# reduce 40 omitted

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

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

# reduce 43 omitted

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

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

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

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

# reduce 48 omitted

# reduce 49 omitted

# reduce 50 omitted

# reduce 51 omitted

# reduce 52 omitted

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

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

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

                      @static_env.unextend
                    
    result
end

# reduce 56 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 72 omitted

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

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

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

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

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

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

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

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

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

# reduce 82 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 107 omitted

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

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

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

# reduce 111 omitted

# reduce 112 omitted

# reduce 113 omitted

# reduce 114 omitted

# reduce 115 omitted

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

# reduce 117 omitted

# reduce 118 omitted

# reduce 119 omitted

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

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

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

# reduce 123 omitted

# reduce 124 omitted

# reduce 125 omitted

# reduce 126 omitted

# reduce 127 omitted

# reduce 128 omitted

# reduce 129 omitted

# reduce 130 omitted

# reduce 131 omitted

# reduce 132 omitted

# reduce 133 omitted

# reduce 134 omitted

# reduce 135 omitted

# reduce 136 omitted

# reduce 137 omitted

# reduce 138 omitted

# reduce 139 omitted

# reduce 140 omitted

# reduce 141 omitted

# reduce 142 omitted

# reduce 143 omitted

# reduce 144 omitted

# reduce 145 omitted

# reduce 146 omitted

# reduce 147 omitted

# reduce 148 omitted

# reduce 149 omitted

# reduce 150 omitted

# reduce 151 omitted

# reduce 152 omitted

# reduce 153 omitted

# reduce 154 omitted

# reduce 155 omitted

# reduce 156 omitted

# reduce 157 omitted

# reduce 158 omitted

# reduce 159 omitted

# reduce 160 omitted

# reduce 161 omitted

# reduce 162 omitted

# reduce 163 omitted

# reduce 164 omitted

# reduce 165 omitted

# reduce 166 omitted

# reduce 167 omitted

# reduce 168 omitted

# reduce 169 omitted

# reduce 170 omitted

# reduce 171 omitted

# reduce 172 omitted

# reduce 173 omitted

# reduce 174 omitted

# reduce 175 omitted

# reduce 176 omitted

# reduce 177 omitted

# reduce 178 omitted

# reduce 179 omitted

# reduce 180 omitted

# reduce 181 omitted

# reduce 182 omitted

# reduce 183 omitted

# reduce 184 omitted

# reduce 185 omitted

# reduce 186 omitted

# reduce 187 omitted

# reduce 188 omitted

# reduce 189 omitted

# reduce 190 omitted

# reduce 191 omitted

# reduce 192 omitted

# reduce 193 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 237 omitted

# reduce 238 omitted

# reduce 239 omitted

# reduce 240 omitted

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

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

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

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

# reduce 245 omitted

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

# reduce 247 omitted

# reduce 248 omitted

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

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

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

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

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

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

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

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

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

                      result = val[1]
                    
    result
end

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

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

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

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

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

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

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

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

# reduce 266 omitted

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

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

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

# reduce 270 omitted

# reduce 271 omitted

# reduce 272 omitted

# reduce 273 omitted

# reduce 274 omitted

# reduce 275 omitted

# reduce 276 omitted

# reduce 277 omitted

# reduce 278 omitted

# reduce 279 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 301 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

def _reduce_318(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_319(val, _values, result)
                      result = @def_level
                      @def_level = 0

                      @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
end

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

                      @lexer.pop_cmdarg
                      @static_env.unextend

                      @def_level = val[4]
                    
    result
end

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

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

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

                      @lexer.pop_cmdarg
                      @static_env.unextend
                      @def_level -= 1
                    
    result
end

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

def _reduce_326(val, _values, result)
                      @def_level += 1
                      @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
end

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

                      @lexer.pop_cmdarg
                      @static_env.unextend
                      @def_level -= 1
                    
    result
end

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

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

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

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

# reduce 332 omitted

# reduce 333 omitted

# reduce 334 omitted

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

# reduce 336 omitted

# reduce 337 omitted

# reduce 338 omitted

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

# reduce 340 omitted

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

# reduce 342 omitted

# reduce 343 omitted

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

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

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

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

# reduce 348 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 368 omitted

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

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

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

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

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

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

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

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

# reduce 377 omitted

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

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

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

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

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

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

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

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

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

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

# reduce 388 omitted

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

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

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

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

                      @static_env.unextend
                    
    result
end

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

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

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

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

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

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

                      @static_env.unextend
                    
    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)
                      @static_env.extend_dynamic
                    
    result
end

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

                      @static_env.unextend
                    
    result
end

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

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

                      @static_env.unextend
                    
    result
end

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

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

# reduce 417 omitted

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

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

# reduce 421 omitted

# reduce 422 omitted

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

# reduce 424 omitted

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

# reduce 426 omitted

# reduce 427 omitted

# reduce 428 omitted

# reduce 429 omitted

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

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

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

def _reduce_433(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_434(val, _values, result)
                      string = @builder.string(val[0])
                      result = @builder.dedent_string(string, @lexer.dedent_level)
                    
    result
end

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

def _reduce_436(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_437(val, _values, result)
                      opts   = @builder.regexp_options(val[3])
                      result = @builder.regexp_compose(val[0], val[1], val[2], opts)
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 465 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                      @lexer.state = :expr_value
                    
    result
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 523 omitted

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

                      result = val[0]
                    
    result
end

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

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

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

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

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

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

                      @static_env.declare val[0][0]

                      result = val[0]
                    
    result
end

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

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

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

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

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

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

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

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

# reduce 539 omitted

# reduce 540 omitted

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

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

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

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

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

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

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

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

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

# reduce 549 omitted

# reduce 550 omitted

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

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

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

# reduce 553 omitted

# reduce 554 omitted

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

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

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

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

# reduce 558 omitted

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

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

# reduce 561 omitted

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

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

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

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

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

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

# reduce 568 omitted

# reduce 569 omitted

# reduce 570 omitted

# reduce 571 omitted

# reduce 572 omitted

# reduce 573 omitted

# reduce 574 omitted

# reduce 575 omitted

# reduce 576 omitted

# reduce 577 omitted

# reduce 578 omitted

# reduce 579 omitted

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

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

# reduce 582 omitted

# reduce 583 omitted

# reduce 584 omitted

# reduce 585 omitted

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

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

# reduce 588 omitted

# reduce 589 omitted

# reduce 590 omitted

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

# reduce 592 omitted

# reduce 593 omitted

# reduce 594 omitted

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

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

  end   # class Ruby23
  end   # module Parser
