File Manager
Viewing File: ruby23.rb
# -*- 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,
:tUMINUS_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",
"tUMINUS_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)
result = @builder.negate(val[0], val[1])
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