Skip to content

Instantly share code, notes, and snippets.

@mbj
Created June 14, 2013 20:23
Show Gist options
  • Save mbj/5784976 to your computer and use it in GitHub Desktop.
Save mbj/5784976 to your computer and use it in GitHub Desktop.
ruby20.rb generated via whitequark/parser 2.0.0.beta5
# -*- encoding:utf-8; warn-indent:false -*-
#
# DO NOT MODIFY!!!!
# This file is automatically generated by Racc 1.4.9
# from Racc grammer file "".
#
require 'racc/parser.rb'
require 'parser'
Parser.check_for_encoding_support
module Parser
class Ruby20 < Parser::Base
module_eval(<<'...end ruby20.y/module_eval...', 'ruby20.y', 2323)
def version
20
end
...end ruby20.y/module_eval...
##### State transition tables begin ###
clist = [
'-471,285,69,70,71,9,57,-471,-471,-471,63,64,-471,-471,-471,67,-471,65',
'66,68,30,31,72,73,-471,-84,-471,-471,-471,29,28,27,97,96,98,99,-471',
'-471,19,-471,-471,-471,-471,-471,8,45,287,10,101,100,102,91,56,93,92',
'94,608,95,103,104,587,89,90,587,42,43,41,-471,-471,-471,-471,-471,-471',
'-471,-471,-471,-471,-471,-471,-471,-471,821,561,-471,-471,-471,40,-471',
'-471,33,-105,-471,58,59,-471,-471,60,-471,35,-471,264,-471,44,-471,-471',
'264,-471,-471,-471,-471,-471,20,-471,-100,-471,666,88,79,81,82,732,83',
'85,84,86,-99,582,587,-471,80,87,-471,-471,-471,-471,-564,-471,62,-471',
'-471,587,-101,-564,-564,-564,-98,872,-100,-564,-564,665,-564,264,79',
'-103,821,631,593,210,211,-564,629,666,607,587,80,210,211,109,-103,259',
'-564,-564,108,-564,-564,-564,-564,-564,109,213,-101,109,-92,108,826',
'109,108,263,-106,-104,108,560,263,-102,599,-102,665,-100,600,-96,234',
'-564,-564,-564,-564,-564,-564,-564,-564,-564,-564,-564,-564,-564,-564',
'732,732,-564,-564,-564,214,650,630,264,109,-564,828,628,-564,108,829',
'-100,-483,-564,-90,-564,-100,-564,-564,263,-564,-564,-564,-564,-564',
'109,-564,-564,-564,-92,108,666,109,616,-89,-561,-91,108,109,-101,214',
'-560,-564,108,-101,-564,-564,-468,-93,830,-564,-560,-103,-102,-468,-468',
'-468,-103,-94,-468,-468,-468,109,-468,-99,854,665,108,259,-92,-92,-468',
'-92,-468,-468,-468,788,-92,-97,-95,-564,210,211,-468,-468,-93,-468,-468',
'-468,-468,-468,263,-102,210,211,831,-94,-102,618,617,109,109,666,566',
'616,108,108,616,766,833,787,835,540,469,-468,-468,-468,-468,-468,-468',
'-468,-468,-468,-468,-468,-468,-468,-468,-103,837,-468,-468,-468,-564',
'-468,-468,-289,665,-468,616,-564,-468,-468,-289,-468,-560,-468,-564',
'-468,-564,-468,-468,-289,-468,-468,-468,-468,-468,839,-468,-407,-468',
'-101,-94,-105,-106,361,360,-564,618,617,627,618,617,632,-468,214,595',
'-468,-468,-468,-468,-288,-468,596,-468,-468,839,214,-288,-288,-288,-482',
'594,-288,-288,-288,109,-288,214,-564,234,108,-94,618,617,-94,-564,-288',
'-288,-288,-94,-560,-407,764,-557,-564,845,-288,-288,-407,-288,-288,-288',
'-288,-288,-478,584,579,-407,344,343,342,-478,345,-564,579,695,344,343',
'342,422,345,821,-98,853,424,423,-407,-288,-288,-288,-288,-288,-288,-288',
'-288,-288,-288,-288,-288,-288,-288,259,256,-288,-288,-288,-468,790,-288',
'257,616,-288,214,-468,-288,-288,616,-288,-557,-288,573,-288,-468,-288',
'-288,-558,-288,-288,-288,-288,-288,-288,-288,571,-288,-475,-474,569',
'-288,-288,-288,-557,-475,-474,-288,-288,567,-288,-288,725,566,-288,-288',
'-288,-288,234,-288,908,-288,-104,214,616,256,949,563,540,259,-288,-288',
'257,-288,-288,-288,-288,-288,618,617,623,-471,-473,214,618,617,621,616',
'-471,-473,231,109,-476,-558,233,232,108,-471,-483,-476,515,-288,-288',
'-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-96,-558',
'-288,-288,-288,-105,649,583,234,862,-288,557,-477,-288,618,617,619,556',
'-288,-477,-288,593,-288,-288,645,-288,-288,-288,-288,-288,-90,-288,414',
'-288,773,-99,-468,618,617,614,231,-479,214,-468,233,232,-265,-288,-479',
'208,-288,-288,-564,-95,214,-288,-482,644,-104,-564,-564,-564,351,-471',
'-564,-564,-564,603,-564,553,-471,-94,555,353,937,695,-103,-564,-564',
'-564,-564,-91,109,604,234,109,-100,108,-564,-564,108,-564,-564,-564',
'-564,-564,-97,109,313,314,-84,-106,108,-89,-92,-70,361,360,-98,-101',
'579,354,344,343,342,553,345,871,552,-564,-564,-564,-564,-564,-564,-564',
'-564,-564,-564,-564,-564,-564,-564,803,-279,-564,-564,-564,-480,789',
'-564,-279,814,-564,353,-480,-564,-564,575,-564,-279,-564,542,-564,-480',
'-564,-564,578,-564,-564,-564,-564,-564,-481,-564,-564,-564,210,211,579',
'-481,344,343,342,541,345,597,361,360,-481,-564,537,354,-564,-564,-564',
'-564,-280,-564,553,-564,-102,555,515,-280,-280,-280,849,821,-280,-280',
'-280,579,-280,344,343,342,575,345,553,259,234,555,-280,-280,-280,844',
'214,980,210,211,849,821,-280,-280,981,-280,-280,-280,-280,-280,535,536',
'268,979,210,211,234,513,598,575,874,566,231,877,879,881,233,232,578',
'229,230,883,214,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280',
'-280,-280,-280,885,231,-280,-280,-280,233,232,-280,229,230,-280,533',
'888,-280,-280,253,-280,890,-280,891,-280,695,-280,-280,792,-280,-280',
'-280,-280,-280,893,-280,214,-280,579,-263,344,343,342,579,345,344,343',
'342,897,345,502,-280,526,-279,-280,-280,-280,-280,-566,-280,-279,-280',
'525,214,-69,-566,-566,-566,522,-279,-566,-566,-566,234,-566,-481,575',
'502,910,911,-331,575,-481,-566,-566,-566,-566,-331,633,248,249,-481',
'913,636,-566,-566,-331,-566,-566,-566,-566,-566,515,513,-480,231,511',
'237,603,233,232,-480,229,230,502,937,235,213,236,919,-480,-263,471,922',
'604,-566,-566,-566,-566,-566,-566,-566,-566,-566,-566,-566,-566,-566',
'-566,214,925,-566,-566,-566,-288,-266,-566,543,470,-566,774,-288,-566',
'-566,544,-566,-561,-566,468,-566,-288,-566,-566,467,-566,-566,-566,-566',
'-566,638,-566,-566,-566,579,214,344,343,342,579,345,344,343,342,-264',
'345,642,-566,425,465,-566,-566,-566,-566,-565,-566,466,-566,935,768',
'767,-565,-565,-565,938,467,-565,-565,-565,234,-565,-288,575,939,412',
'643,763,575,-288,-565,-565,-565,-565,-561,259,248,249,-288,950,839,-565',
'-565,839,-565,-565,-565,-565,-565,839,955,653,231,910,237,-288,233,232',
'656,229,230,214,-288,235,958,236,959,-561,234,964,234,-288,-565,-565',
'-565,-565,-565,-565,-565,-565,-565,-565,-565,-565,-565,-565,566,-289',
'-565,-565,-565,206,967,-565,-289,969,-565,971,207,-565,-565,973,-565',
'-289,-565,973,-565,205,-565,-565,234,-565,-565,-565,-565,-565,312,-565',
'-565,-565,579,735,344,343,342,593,345,234,531,728,982,214,723,-565,214',
'532,-565,-565,-565,-565,-406,-565,704,-565,530,910,311,-406,-406,-406',
'214,253,-406,-406,-406,234,-406,603,575,702,701,209,-289,214,602,-406',
'-406,-406,-561,-289,-560,248,249,604,701,695,-406,-406,-289,-406,-406',
'-406,-406,-406,204,203,546,231,839,237,910,233,232,214,229,230,1001',
'1002,235,901,236,344,343,342,1003,345,973,-406,-406,-406,-406,-406,-406',
'-406,-406,-406,-406,-406,-406,-406,-406,973,973,-406,-406,-406,214,202',
'-406,117,259,-406,214,214,-406,-406,684,-406,105,-406,973,-406,,-406',
'-406,,-406,-406,-406,-406,-406,,-406,-406,-406,901,,344,343,342,,345',
'112,113,114,115,116,,-406,,-246,-406,-406,,-406,,-406,-246,-246,-246',
',,-246,-246,-246,234,-246,758,759,,,760,103,104,,-246,-246,-246,,,,248',
'249,,,,-246,-246,,-246,-246,-246,-246,-246,,,,231,,237,,233,232,,229',
'230,,,235,,236,112,113,114,115,116,,-246,-246,-246,-246,-246,-246,-246',
'-246,-246,-246,-246,-246,-246,-246,,,-246,-246,-246,,,-246,,259,-246',
',,-246,-246,,-246,,-246,,-246,,-246,-246,,-246,-246,-246,-246,-246,',
'-246,-246,-246,112,113,114,115,116,,,,,,,,,-246,,,-246,-246,,-246,,-246',
'285,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'97,96,98,99,,,19,,,,,,8,45,287,10,101,100,102,91,56,93,92,94,,95,103',
'104,,89,90,,42,43,41,234,-583,-583,-583,-583,240,242,,,-583,-583,,,',
',,248,249,,40,,,33,,,58,59,,,60,,35,231,,237,44,233,232,,229,230,241',
'239,235,20,236,,,,88,79,81,82,,83,85,84,86,,,,,80,87,285,69,70,71,9',
'57,62,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99',
',,19,,,,,,8,45,287,10,101,100,102,91,56,93,92,94,,95,103,104,,89,90',
',42,43,41,234,-583,-583,-583,-583,240,242,,,-583,-583,,,,,,248,249,',
'40,,,33,,,58,59,,,60,,35,231,,237,44,233,232,,229,230,241,239,235,20',
'236,,,,88,79,81,82,,83,85,84,86,,,,,80,87,285,69,70,71,9,57,62,,,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8',
'45,287,10,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,234',
'-583,-583,-583,-583,240,242,,,-583,-583,,,,,,248,249,,40,,,33,,,58,59',
',,60,,35,231,,237,44,233,232,,229,230,241,239,235,20,236,,,,88,79,81',
'82,,83,85,84,86,,,,,80,87,285,69,70,71,9,57,62,,,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8,45,287,10,101,100',
'102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,234,238,243,244,245',
'240,242,250,251,246,247,,-583,-583,,,248,249,,40,,,33,,,58,59,,,60,',
'35,231,,237,44,233,232,,229,230,241,239,235,20,236,,,,88,79,81,82,,83',
'85,84,86,,,,,80,87,285,69,70,71,9,57,62,,,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8,45,287,10,101,100,102,91',
'56,93,92,94,,95,103,104,,89,90,,42,43,41,234,-583,-583,-583,-583,240',
'242,,,-583,-583,,,,,,248,249,,40,,,33,,,58,59,,,60,,35,231,,237,44,233',
'232,,229,230,241,239,235,20,236,,,,88,79,81,82,,83,85,84,86,,,,,80,87',
'285,69,70,71,9,57,62,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
'27,97,96,98,99,,,19,,,,,,8,45,287,10,101,100,102,91,56,93,92,94,,95',
'103,104,,89,90,,42,43,41,234,-583,-583,-583,-583,240,242,,,-583,-583',
',,,,,248,249,,40,,,33,,,58,59,,,60,,35,231,,237,44,233,232,,229,230',
'241,239,235,20,236,,,,88,79,81,82,,83,85,84,86,,,,,80,87,285,69,70,71',
'9,57,62,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99',
',,19,,,,,,8,45,287,10,101,100,102,91,56,93,92,94,,95,103,104,,89,90',
',42,43,41,234,238,243,244,245,240,242,250,251,246,247,,-583,-583,,,248',
'249,,40,,,33,,,58,59,,,60,,35,231,,237,44,233,232,,229,230,241,239,235',
'20,236,,,,88,79,81,82,,83,85,84,86,,,,,80,87,285,69,70,71,9,57,62,,',
'63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,',
',,8,45,287,10,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41',
'234,238,243,244,245,240,242,,,246,247,,,,,,248,249,,40,,,33,,,58,59',
',,60,,35,231,,237,44,233,232,,229,230,241,239,235,20,236,,,,88,79,81',
'82,,83,85,84,86,,,,,80,87,285,69,70,71,9,57,62,,,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8,45,287,10,101,100',
'102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,234,238,243,244,245',
'240,242,250,,246,247,,,,,,248,249,,40,,,33,,,58,59,,,60,,35,231,,237',
'44,233,232,,229,230,241,239,235,20,236,,,,88,79,81,82,,83,85,84,86,',
',,,80,87,285,69,70,71,9,57,62,,,63,64,,,,67,,65,66,68,30,31,72,73,,',
',,,29,28,27,97,96,98,99,,,19,,,,,654,8,45,287,10,101,100,102,91,56,93',
'92,94,,95,103,104,,89,90,,42,43,41,234,238,243,244,245,240,242,250,251',
'246,247,,227,228,,,248,249,,40,,,33,,,58,59,,,60,,35,231,,237,44,233',
'232,,229,230,241,239,235,20,236,,,,88,79,81,82,,83,85,84,86,,-295,,',
'80,87,,252,-295,-295,-295,,62,-295,-295,-295,234,-295,,,,,,,,,,-295',
'-295,,,,248,249,,,,-295,-295,,-295,-295,-295,-295,-295,,,,231,,237,',
'233,232,,229,230,,,,,,,,,,,,-295,-295,-295,-295,-295,-295,-295,-295',
'-295,-295,-295,-295,-295,-295,,,-295,-295,-295,,,-295,,268,-295,,,-295',
'-295,,-295,,-295,,-295,,-295,-295,,-295,-295,-295,-295,-295,,-295,,-295',
',,,,,,,,,,,,,-295,,,-295,-295,,-295,,-295,285,69,70,71,9,57,,,,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8,45',
'287,10,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,234,-583',
'-583,-583,-583,240,242,,,-583,-583,,,,,,248,249,,40,,,33,,,58,59,,,60',
',35,231,,237,44,233,232,,229,230,241,239,235,20,236,,,,88,79,81,82,',
'83,85,84,86,,,,,80,87,285,69,70,71,9,57,62,,,63,64,,,,67,,65,66,68,30',
'31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8,45,287,10,101,100,102',
'91,56,93,92,94,,95,103,104,,89,90,,42,43,41,234,,,,,,,,,,,,,,,,248,249',
',40,,,33,,,58,59,,,60,,35,231,,,44,233,232,,229,230,,,,20,,,,,88,79',
'81,82,,83,85,84,86,,,,,80,87,285,69,70,71,9,57,62,,,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8,45,287,10,101',
'100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,234,,,,,,,,,,,,',
',,,248,249,,40,,,33,,,58,59,,,60,,35,231,,237,44,233,232,,229,230,,',
',20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,285,69,70,71,9,57,62,,,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8',
'45,287,10,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,',
',,,,,,,,,,,,,,,,,40,,,289,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,88,79',
'81,82,,83,85,84,86,,,,,80,87,285,69,70,71,9,57,62,,,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8,45,287,10,101',
'100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,',
',,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85',
'84,86,,,,,80,87,285,69,70,71,9,57,62,,,63,64,,,,67,,65,66,68,30,31,72',
'73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8,45,287,10,101,100,102,91,56',
'93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,289,,',
'58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80',
'87,285,69,70,71,9,57,62,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,97,96,98,99,,,19,,,,,,8,45,287,10,101,100,102,91,56,93,92,94,',
'95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60',
',35,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,285,69,70',
'71,9,57,62,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98',
'99,,,19,,,,,,8,45,287,10,101,100,102,91,56,93,92,94,,95,103,104,,89',
'90,,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,289,,,58,59,,,60,,35,,,,44,,,,',
',,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,285,69,70,71,9,57,62,',
',63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,',
',,,8,45,287,10,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43',
'41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,',
'88,79,81,82,,83,85,84,86,,,,,80,87,285,69,70,71,9,57,62,,,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8,45,287,10',
'101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,',
',,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83',
'85,84,86,,,,,80,87,285,69,70,71,9,57,62,,,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8,45,287,10,101,100,102,91',
'56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33',
',,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80',
'87,285,69,70,71,9,57,62,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,97,96,98,99,,,19,,,,,,8,45,287,10,101,100,102,91,56,93,92,94,',
'95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60',
',35,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,285,69,70',
'71,9,57,62,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98',
'99,,,19,,,,,,8,45,287,10,101,100,102,91,56,93,92,94,,95,103,104,,89',
'90,,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,',
',,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,285,69,70,71,9,57,62,,',
'63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,',
',,8,45,287,10,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41',
',,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,88',
'79,81,82,,83,85,84,86,,,,,80,87,285,69,70,71,9,57,62,,,63,64,,,,67,',
'65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8,45,287,10',
'101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,',
',,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83',
'85,84,86,,,,,80,87,285,69,70,71,9,57,62,,,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,639,8,45,287,10,101,100,102',
'91,56,93,92,94,,95,103,104,,89,90,,42,43,41,234,238,243,244,245,240',
'242,250,251,246,247,,227,228,,,248,249,,40,,,33,,,58,59,,,60,,35,231',
',237,44,233,232,,229,230,241,239,235,20,236,,,,88,79,81,82,,83,85,84',
'86,,-246,,,80,87,,252,-246,-246,-246,,62,-246,-246,-246,802,-246,344',
'343,342,803,345,,,,-246,-246,,,,,353,,,,,-246,-246,,-246,-246,-246,-246',
'-246,579,,344,343,342,803,345,,,349,,,,,,,353,,358,357,361,360,,,579',
'354,344,343,342,803,345,,,,-246,,,,349,,353,-246,,,,,259,-246,,361,360',
'214,,,354,,,,,,,,349,,,,,,,-246,-246,,,361,360,,,,354,,,,,,-246,,,-246',
',,,,-246,5,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,97,96,98,99,,,19,,,,,,8,45,7,10,101,100,102,91,56,93,92,94,,95',
'103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35',
',,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,285,69,70,71',
'9,57,62,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99',
',,19,,,,,,8,45,287,10,101,100,102,91,56,93,92,94,,95,103,104,,89,90',
',42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,',
'20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,5,69,70,71,9,57,62,,,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8,45',
'7,10,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,',
',,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,88,79,81,82',
',83,85,84,86,,,,,80,87,5,69,70,71,9,57,62,,,63,64,,,,67,,65,66,68,30',
'31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8,45,7,10,101,100,102,91',
'56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33',
',,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80',
'87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301',
'307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103',
'104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,',
'44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,',
'62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19',
',,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,',
',,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,88,79',
'81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,,45,,,101,100,102,91',
'56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225',
',,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80',
'87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'97,96,98,99,,,19,,,,,654,,45,,,101,100,102,91,56,93,92,94,,95,103,104',
',89,90,,42,43,41,234,238,243,244,245,240,242,250,251,246,247,,227,228',
',,248,249,,219,,,225,,,58,59,,,60,,,231,,237,44,233,232,,229,230,241',
'239,235,20,236,,,,88,79,81,82,,83,85,84,86,,,,,80,87,109,252,,-240,',
'108,62,69,70,71,,57,,,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300',
'301,307,97,96,98,99,,,226,,,,,,,302,,,101,100,102,91,56,93,92,94,,95',
'103,104,,89,90,,,,308,,,,,,,,,,,,,,,,,,,,374,,,33,,,58,59,,,60,,35,',
',,,,,,,,,,,,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62',
',63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,',
'226,,,,,,,302,,,101,100,102,379,56,93,92,380,,95,103,104,,89,90,,,,308',
',,,,,,,,,,,,,,,,386,,,381,,,225,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,88,79',
'81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68',
'304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,302,,,101,100',
'102,379,56,93,92,380,,95,103,104,,89,90,,,,308,,,,,,,,,,,,,,,,,,,,381',
',,225,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,88,79,81,82,,83,85,84,86,,,,,80',
'87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104',
',89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,',
',,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,',
'63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226',
',,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,',
',,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88',
'79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,226,,,,,,,45,,,101,100,102',
'91,56,93,92,94,279,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219',
',,225,,,58,59,,,60,,277,,275,,44,,,280,,,,,,224,,,,,88,79,81,82,,83',
'85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72',
'73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93',
'92,94,279,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,',
',58,59,,,60,,,,,,44,,,280,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,',
'80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300',
'301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,279',
'95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60',
',277,,,,44,,,280,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69',
'70,71,9,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96',
'98,99,,,19,,,,,,8,45,7,10,101,100,102,91,56,93,92,94,,95,103,104,,89',
'90,,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,',
',,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,414,62,,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,',
'45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,',
',,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,88,79,81,82',
',83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,,45,,,101,100,102,91,56,93',
'92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58',
'59,,,60,,,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69',
'70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96',
'98,99,,,19,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90',
',42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,',
'20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,',
',67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,,45,,',
'101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,',
',,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83',
'85,84,86,,,,,80,87,69,70,71,9,57,,62,,63,64,,,,67,,65,66,68,30,31,72',
'73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,8,45,,10,101,100,102,91,56,93',
'92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59',
',,60,,35,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69',
'70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96',
'98,99,,,19,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90',
',42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,',
'20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,',
',67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,',
',302,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,,,308,,,,,,,,',
',,,,,,,,,,,887,,,225,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,88,79,81,82,,83',
'85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72',
'73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,302,,,101,100,102,91,56',
'93,92,94,,95,103,104,,89,90,,,,308,,,,,,,,,,,,,,,,,,,,298,,,294,,,58',
'59,,,60,,,,,,,,,,,,,,,,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70',
'71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97',
'96,98,99,,,226,,,,,,,302,,,101,100,102,91,56,93,92,94,,95,103,104,,89',
'90,,,,308,,,,,,,,,,,,,,,,,,,,945,,,225,,,58,59,,,60,,,,,,,,,,,,,,,,',
',,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,226,,,,,,,45,,,101',
'100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,',
',,,219,,,225,,,58,59,,,60,,430,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83',
'85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72',
'73,,,,,,29,28,27,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92',
'94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59',
',,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70',
'71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98',
'99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,279,95,103,104,,89,90',
',42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,277,,275,,44,,',
'280,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,9,57,,62',
',63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,',
',,,8,45,287,10,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43',
'41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,',
'88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,414,62,,63,64,,,,67',
',65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45',
',,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,',
',,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82',
',83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93',
'92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58',
'59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69',
'70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96',
'98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90',
',42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,430,,,,44,,,,,',
',,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,,45',
',,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,',
',,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,88,79,81,82,',
'83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,,45,,,101,100,102,91,56,93',
'92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58',
'59,,,60,,,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69',
'70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96',
'98,99,,,19,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90',
',42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,',
'20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,',
',67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,,45,,',
'101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,',
',,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83',
'85,84,86,,,,,80,87,214,69,70,71,,57,62,,,63,64,,,,67,,65,66,68,304,305',
'72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56',
'93,92,94,279,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225',
',,58,59,,,60,,,,275,,44,,,280,,,,,,224,,,,,88,79,81,82,,83,85,84,86',
',,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,',
',300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94',
'279,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59',
',,60,,678,,275,,44,,,280,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80',
'87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301',
'307,97,96,98,99,,,226,,,,,,,302,,,101,100,102,91,56,93,92,94,,95,103',
'104,,89,90,,,,308,,,,,,,,,,,,,,,,,,,,298,,,294,,,58,59,,,60,,,,,,,,',
',,,,,,,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64',
',,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,',
',,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,',
',,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79',
'81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68',
'304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100',
'102,91,56,93,92,94,279,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,',
',,219,,,225,,,58,59,,,60,,,,275,,44,,,280,,,,,,224,,,,,88,79,81,82,',
'83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305',
'72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56',
'93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,',
',58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80',
'87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104',
',89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,',
',,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,',
'63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226',
',,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,',
',,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,430,,,,44,,,,,,,,,224,,,,',
'88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65',
'66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101',
'100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,',
',,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85',
'84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94',
',95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,',
'60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70',
'71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97',
'96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89',
'90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,',
',,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64',
',,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,',
',,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,',
',,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79',
'81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68',
'304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100',
'102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219',
',,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86',
',,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,',
',300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94',
',95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,',
'60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70',
'71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97',
'96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89',
'90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,',
',,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64',
',,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,',
',,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,',
',,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79',
'81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68',
'304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100',
'102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219',
',,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86',
',,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,',
',300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94',
',95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,',
'60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70',
'71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97',
'96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89',
'90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,',
',,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64',
',,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,',
',,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,',
',,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79',
'81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68',
'304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100',
'102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219',
',,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86',
',,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,',
',300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94',
',95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,',
'60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70',
'71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97',
'96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89',
'90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,',
',,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64',
',,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,',
',,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,',
',,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79',
'81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68',
'304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100',
'102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219',
',,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86',
',,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,',
',300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94',
',95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,',
'60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70',
'71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97',
'96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89',
'90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,',
',,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64',
',,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,',
',,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,',
',,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79',
'81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68',
'304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100',
'102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219',
',,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86',
',,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,',
',300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94',
',95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,',
'60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70',
'71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97',
'96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89',
'90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,',
',,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64',
',,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,',
',,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,',
',,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79',
'81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68',
'304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100',
'102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219',
',,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86',
',,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,',
',300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94',
',95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,',
'60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70',
'71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97',
'96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89',
'90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,',
',,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64',
',,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,',
',,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,',
',,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79',
'81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,,45,,,101,100,102,91',
'56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225',
',,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80',
'87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104',
',89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,',
',,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,',
'63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,226,,',
',,,,45,,,101,100,102,91,56,93,92,94,279,95,103,104,,89,90,,42,43,41',
',,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,277,,275,,44,,,280,,,,,,224',
',,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,226,,,,,,,45,,,101',
'100,102,91,56,93,92,94,279,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,',
',,,,,,219,,,225,,,58,59,,,60,,277,,275,,44,,,280,,,,,,224,,,,,88,79',
'81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91',
'56,93,92,94,279,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,',
',225,,,58,59,,,60,,277,,275,,44,,,280,,,,,,224,,,,,88,79,81,82,,83,85',
'84,86,,,,,80,87,214,69,70,71,,57,62,,,63,64,,,,67,,65,66,68,304,305',
'72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56',
'93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,',
',58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80',
'87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301',
'307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103',
'104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,',
'44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,',
'62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99',
',,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43',
'41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,678,,,,44,,,,,,,,,224',
',,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67',
',65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45',
',,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,',
',,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82',
',83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305',
'72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56',
'93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,',
',58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80',
'87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301',
'307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103',
'104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,',
'44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,',
'62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99',
',,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43',
'41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,',
',88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65',
'66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101',
'100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,',
',,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85',
'84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,97,96,98,99,,,19,,,,,,,45,,,101,100,102,91,56,93,92,94',
',95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,',
'60,,,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71',
'9,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99',
',,19,,,,,,8,45,,10,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42',
'43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,',
',,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,,45,,,101',
'100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,',
',,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85',
'84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73',
',,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92',
'94,279,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58',
'59,,,60,,678,,,,44,,,280,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80',
'87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301',
'307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,279,95,103',
'104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,',
'44,,,280,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,9',
'57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99',
',,19,,,,,,8,45,7,10,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42',
'43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,',
',,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67',
',65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45',
',,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,',
',,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82',
',83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,,45,,,101,100,102,91,56,93',
'92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58',
'59,,,60,,,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69',
'70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307',
'97,96,98,99,,,226,,,,,,,302,,,101,100,102,91,56,93,92,94,,95,103,104',
',89,90,,,,308,,,,,,,,,,,,,,,,,,,,298,,,225,,,58,59,,,60,,,,,,,,,,,,',
',,,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,528,57,,62,,63,64',
',,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,',
',,,302,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,,,308,,,,,,',
',,,,,,,,,,,,,298,,,225,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,88,79,81,82,',
'83,85,84,86,,,,,80,87,69,70,71,310,57,,62,,63,64,,,,67,,65,66,68,304',
'305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,302,,,101,100,102',
'91,56,93,92,94,,95,103,104,,89,90,,,,308,,,,,,,,,,,,,,,,,,,,298,,,294',
',,58,59,,,60,,293,,,,,,,,,,,,,,,,,,88,79,81,82,,83,85,84,86,,,,,80,87',
'69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97',
'96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89',
'90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,',
',,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,226,,,,,,,45',
',,101,100,102,91,56,93,92,94,279,95,103,104,,89,90,,42,43,41,,,,,,,',
',,,,,,,,,,,,219,,,225,,,58,59,,,60,,277,,275,,44,,,280,,,,,,224,,,,',
'88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65',
'66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,302,,,101',
'100,102,91,56,93,92,94,,95,103,104,,89,90,,,,308,,,,,,,,,,,,,,,,,,,',
'887,,,225,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,88,79,81,82,,83,85,84,86,',
',,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,',
'300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94',
',95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,',
'60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70',
'71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97',
'96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89',
'90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,',
',,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64',
',,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,',
',,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,',
',,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79',
'81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68',
'304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100',
'102,91,56,93,92,94,279,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,',
',,219,,,225,,,58,59,,,60,,,,275,,44,,,280,,,,,,224,,,,,88,79,81,82,',
'83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305',
'72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56',
'93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,',
',58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80',
'87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301',
'307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103',
'104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,',
'44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,',
'62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99',
',,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43',
'41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,277,,,,44,,,,,,,,,224',
',,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67',
',65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,302',
',,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,,,308,,,,,,,,,,,,,',
',,,,,,298,,,294,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,88,79,81,82,,83,85,84',
'86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,',
',,29,28,27,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,279',
'95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60',
',277,,275,,44,,,280,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87',
'69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307',
'97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,279,95,103,104',
',89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,678,,275',
',44,,,280,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,',
'57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98',
'99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42',
'43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224',
',,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67',
',65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45',
',,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,',
',,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82',
',83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93',
'92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58',
'59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69',
'70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307',
'97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104',
',89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,546,,58,59,,,60,,,,,,44',
',,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62',
',63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,226,',
',,,,,45,,,101,100,102,91,56,93,92,94,279,95,103,104,,89,90,,42,43,41',
',,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,277,,275,,44,,,280,,,,,,224',
',,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67',
',65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45',
',,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,',
',,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82',
',83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305',
'72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56',
'93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,',
',58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80',
'87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,279,95,103,104',
',89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,277,,275',
',44,,,280,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,',
'57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98',
'99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42',
'43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224',
',,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,226,,,,,,,45,,,101',
'100,102,91,56,93,92,94,279,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,',
',,,,,,219,,,225,,,58,59,,,60,,277,,275,,44,,,280,,,,,,224,,,,,88,79',
'81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91',
'56,93,92,94,279,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,',
',225,,,58,59,,,60,,277,,275,,44,,,280,,,,,,224,,,,,88,79,81,82,,83,85',
'84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,97,96,98,99,,,19,,,,,,,45,,,101,100,102,91,56,93,92,94',
',95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,',
'60,,,,,,44,,,,,,,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71',
',57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96',
'98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90',
',42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,',
'224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,',
',,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,226,,,,,,,45',
',,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,',
',,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82',
',83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305',
'72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56',
'93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,',
',58,59,,,60,,,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80',
'87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301',
'307,97,96,98,99,,,226,,,,,,,302,,,101,100,102,91,56,93,92,94,,95,103',
'104,,89,90,,,,308,,,,,,,,,,,,,,,,,,,,298,,,294,,,58,59,,,60,,,,,,,,',
',,,,,,,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,,45',
',,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,',
',,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,88,79,81,82,',
'83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305',
'72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101,100,102,91,56',
'93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,',
',58,59,,,60,,771,,,,44,,,,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,',
'80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
'27,97,96,98,99,,,19,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104',
',89,90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,',
',,,,,,,20,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96,98,99,,,19,,,,,,',
'45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,,,,,,,',
',,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,88,79,81,82',
',83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65,66,68,304,305',
'72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,302,,,101,100,102,91',
'56,93,92,94,,95,103,104,,89,90,,,,308,,,,,,,,,,,,,,,,,,,,298,,,294,',
',58,59,,,60,,,,,,,,,,,,,,,,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69',
'70,71,,57,,62,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,97,96',
'98,99,,,226,,,,,,,45,,,101,100,102,91,56,93,92,94,279,95,103,104,,89',
'90,,42,43,41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,277,,275,,44',
',,280,,,,,,224,,,,,88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,',
'62,,63,64,,,,67,,65,66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99',
',,226,,,,,,,45,,,101,100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43',
'41,,,,,,,,,,,,,,,,,,,,219,,,225,,,58,59,,,60,,,,,,44,,,,,,,,,224,,,',
',88,79,81,82,,83,85,84,86,,,,,80,87,69,70,71,,57,,62,,63,64,,,,67,,65',
'66,68,304,305,72,73,,,,,,300,301,307,97,96,98,99,,,226,,,,,,,45,,,101',
'100,102,91,56,93,92,94,,95,103,104,,89,90,,42,43,41,234,238,243,244',
'245,240,242,250,251,246,247,,227,228,,,248,249,,219,,,225,,,58,59,,',
'60,,,231,,237,44,233,232,,229,230,241,239,235,224,236,,,,88,79,81,82',
',83,85,84,86,,,,,80,87,,252,,,,,62,169,180,170,193,166,186,176,175,196',
'197,191,174,173,168,194,198,199,178,167,181,185,187,179,172,,,,188,195',
'190,189,182,192,177,165,184,183,,,,,,164,171,162,163,159,160,161,120',
'122,,,121,,,,,,,,,153,154,,150,132,133,134,141,138,140,,,135,136,,,',
'155,156,142,143,,,,,,,,,,,,,,147,146,,131,152,149,148,157,144,145,139',
'137,129,151,130,,,158,88,,,,,,,,,,,,,,87,169,180,170,193,166,186,176',
'175,196,197,191,174,173,168,194,198,199,178,167,181,185,187,179,172',
',,,188,195,190,189,182,192,177,165,184,183,,,,,,164,171,162,163,159',
'160,161,120,122,,,121,,,,,,,,,153,154,,150,132,133,134,141,138,140,',
',135,136,,,,155,156,142,143,,,,,,,,,,,,,,147,146,,131,152,149,148,157',
'144,145,139,137,129,151,130,,,158,88,,,,,,,,,,,,,,87,169,180,170,193',
'166,186,176,175,196,197,191,174,173,168,194,198,199,178,167,181,185',
'187,179,172,,,,188,195,190,189,182,192,177,165,184,183,,,,,,164,171',
'162,163,159,160,161,120,122,119,,121,,,,,,,,,153,154,,150,132,133,134',
'141,138,140,,,135,136,,,,155,156,142,143,,,,,,,,,,,,,,147,146,,131,152',
'149,148,157,144,145,139,137,129,151,130,,,158,88,,,,,,,,,,,,,,87,169',
'180,170,193,166,186,176,175,196,197,191,174,173,168,194,198,199,178',
'167,181,185,187,179,172,,,,188,195,190,189,182,192,177,165,184,183,',
',,,,164,171,162,163,159,160,161,120,122,,,121,,,,,,,,,153,154,,150,132',
'133,134,141,138,140,,,135,136,,,,155,156,142,143,,,,,,,,,,,,,,147,146',
',131,152,149,148,157,144,145,139,137,129,151,130,,,158,88,,,,,,,,,,',
',,,87,169,180,170,193,166,186,176,175,196,197,191,174,173,168,194,198',
'199,178,167,181,185,187,179,172,,,,188,195,190,189,182,192,177,165,184',
'183,,,,,,164,171,162,163,159,160,161,120,122,,,121,,,,,,,,,153,154,',
'150,132,133,134,141,138,140,,,135,136,,,,155,156,142,143,,,,,,,,,,,',
',,147,146,,131,152,149,148,157,144,145,139,137,129,151,130,,,158,169',
'180,170,193,166,186,176,175,196,197,191,174,173,168,194,198,199,178',
'167,181,185,187,179,172,,,,188,195,190,397,396,398,395,165,184,183,',
',,,,164,171,162,163,392,393,394,390,122,93,92,391,,95,,,,,,,153,154',
',150,132,133,134,141,138,140,,,135,136,,,,155,156,142,143,,,,,,402,',
',,,,,,147,146,,131,152,149,148,157,144,145,139,137,129,151,130,,,158',
'234,238,243,244,245,240,242,250,251,246,247,,227,228,,,248,249,,579',
',344,343,342,351,345,,,,,,,231,,237,353,233,232,,229,230,241,239,235',
',236,234,238,243,244,245,240,242,250,251,246,247,349,227,228,,,248,249',
',252,,,361,360,,,,354,,,,,231,,237,,233,232,,229,230,241,239,235,,236',
'234,238,243,244,245,240,242,250,251,246,247,,227,228,,,248,249,,252',
',,347,,344,343,342,351,345,,,,231,,237,,233,232,353,229,230,241,239',
'235,,236,234,238,243,244,245,240,242,250,251,246,247,,227,228,349,,248',
'249,,252,,,,358,357,361,360,,,,354,,231,,237,,233,232,,229,230,241,239',
'235,,236,234,238,243,244,245,240,242,250,251,246,247,,227,228,,,248',
'249,214,252,,,347,,344,343,342,351,345,,,,231,,237,,233,232,353,229',
'230,241,239,235,,236,234,238,243,244,245,240,242,250,251,246,247,,227',
'228,349,,248,249,,252,,,,358,357,361,360,,,,354,,231,,237,,233,232,',
'229,230,241,239,235,,236,234,238,243,244,245,240,242,250,251,246,247',
',227,228,,,248,249,,252,,,579,,344,343,342,351,345,,,,231,,237,,233',
'232,353,229,230,241,239,235,,236,234,238,243,244,245,240,242,250,251',
'246,247,,227,228,349,,248,249,,252,,,,,,361,360,,,,354,,231,,237,,233',
'232,,229,230,241,239,235,,236,234,238,243,244,245,240,242,250,251,246',
'247,,227,228,,,248,249,,252,,,347,,344,343,342,351,345,,,,231,,237,',
'233,232,353,229,230,241,239,235,,236,234,238,243,244,245,240,242,250',
'251,246,247,,227,228,349,753,248,249,,252,,,,358,357,361,360,,,,354',
',231,,237,,233,232,,229,230,241,239,235,,236,234,238,243,244,245,240',
'242,250,251,246,247,,227,228,,,248,249,,252,,,579,,344,343,342,351,345',
',,,231,,237,,233,232,353,229,230,241,239,235,,236,234,238,243,244,245',
'240,242,250,251,246,247,,227,228,349,,248,249,,252,,,,,,361,360,,,,354',
',231,,237,,233,232,,229,230,241,239,235,,236,234,238,243,244,245,240',
'242,250,251,246,247,,227,228,,,248,249,,252,,,,,,,,,,,,,231,,237,,233',
'232,,229,230,241,239,235,,236,,,,,743,449,,,744,,,,,,,,,153,154,252',
'150,132,133,134,141,138,140,,,135,136,,,,155,156,142,143,,,,,,259,,',
',,,,,147,146,,131,152,149,148,157,144,145,139,137,129,151,130,500,442',
'158,,501,,,,,,,,,153,154,,150,132,133,134,141,138,140,,,135,136,,,,155',
'156,142,143,,,,,,259,,,,,,,,147,146,,131,152,149,148,157,144,145,139',
'137,129,151,130,738,442,158,,739,,,,,,,,,153,154,,150,132,133,134,141',
'138,140,,,135,136,,,,155,156,142,143,,,,,,259,,,,,,,,147,146,,131,152',
'149,148,157,144,145,139,137,129,151,130,995,442,158,,996,,,,,,,,,153',
'154,,150,132,133,134,141,138,140,,,135,136,,,,155,156,142,143,,,,,,259',
',,,,,,,147,146,,131,152,149,148,157,144,145,139,137,129,151,130,659',
'449,158,,660,,,,,,,,,153,154,,150,132,133,134,141,138,140,,,135,136',
',,,155,156,142,143,,,,,,259,,,,,,,,147,146,,131,152,149,148,157,144',
'145,139,137,129,151,130,688,442,158,,689,,,,,,,,,153,154,,150,132,133',
'134,141,138,140,,,135,136,,,,155,156,142,143,,,,,,259,,,,,,,,147,146',
',131,152,149,148,157,144,145,139,137,129,151,130,445,449,158,,444,,',
',,,,,,153,154,,150,132,133,134,141,138,140,,,135,136,,,,155,156,142',
'143,,,,,,259,,,,,,,,147,146,,131,152,149,148,157,144,145,139,137,129',
'151,130,500,442,158,,501,,,,,,,,,153,154,,150,132,133,134,141,138,140',
',,135,136,,,,155,156,142,143,,,,,,,,,,,,,,147,146,,131,152,149,148,157',
'144,145,139,137,129,151,130,657,442,158,,658,,,,,,,,,153,154,,150,132',
'133,134,141,138,140,,,135,136,,,,155,156,142,143,,,,,,259,,,,,,,,147',
'146,,131,152,149,148,157,144,145,139,137,129,151,130,438,442,158,,439',
',,,,,,,,153,154,,150,132,133,134,141,138,140,,,135,136,,,,155,156,142',
'143,,,,,,259,,,,,,,,147,146,,131,152,149,148,157,144,145,139,137,129',
'151,130,997,449,158,,998,,,,,,,,,153,154,,150,132,133,134,141,138,140',
',,135,136,,,,155,156,142,143,,,,,,259,,,,,,,,147,146,,131,152,149,148',
'157,144,145,139,137,129,151,130,657,442,158,,658,,,,,,,,,153,154,,150',
'132,133,134,141,138,140,,,135,136,,,,155,156,142,143,,,,,,259,,,,,,',
',147,146,,131,152,149,148,157,144,145,139,137,129,151,130,659,449,158',
',660,,,,,,,,,153,154,,150,132,133,134,141,138,140,,,135,136,,,,155,156',
'142,143,,,,,,259,,,,,,,,147,146,,131,152,149,148,157,144,145,139,137',
'129,151,130,691,449,158,,692,,,,,,,,,153,154,,150,132,133,134,141,138',
'140,,,135,136,,,,155,156,142,143,,,,,,259,,,,,,,,147,146,,131,152,149',
'148,157,144,145,139,137,129,151,130,977,449,158,,976,,,,,,,,,153,154',
',150,132,133,134,141,138,140,,,135,136,,,,155,156,142,143,,,,,,259,',
',,,,,,147,146,,131,152,149,148,157,144,145,139,137,129,151,130,740,449',
'158,,741,,,,,,,,,153,154,,150,132,133,134,141,138,140,,,135,136,,,,155',
'156,142,143,,,,,,259,,,,,,,,147,146,,131,152,149,148,157,144,145,139',
'137,129,151,130,,579,158,344,343,342,351,345,,347,,344,343,342,351,345',
',353,,,,,,,347,353,344,343,342,351,345,,347,,344,343,342,351,345,349',
'353,,,,,,,349,353,,361,360,,,,354,358,357,361,360,,,349,354,,,,,,,349',
'358,357,361,360,,,,354,358,357,361,360,,,347,354,344,343,342,351,345',
'579,,344,343,342,351,345,,802,353,344,343,342,803,345,,353,,,,,,,802',
'353,344,343,342,803,345,,349,753,,,,,,349,353,358,357,361,360,,,349',
'354,,361,360,,,,354,358,357,361,360,,,349,354,802,,344,343,342,803,345',
'358,357,361,360,,,,354,579,353,344,343,342,803,345,,579,,344,343,342',
'803,345,,353,,,,,,,349,353,347,,344,343,342,351,345,358,357,361,360',
',,349,354,,353,,,,,349,,,361,360,,,,354,,,361,360,,,,354,349,333,579',
',344,343,342,803,345,358,357,361,360,,,,354,,353,,,,,,,,,,,,,,,,,,,',
',,349,,,,,,,,,,,361,360,,,,354' ]
racc_action_table = arr = ::Array.new(25032, 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 = [
'94,588,588,588,588,588,588,94,94,94,588,588,94,94,94,588,94,588,588',
'588,588,588,588,588,94,524,94,94,94,588,588,588,588,588,588,588,94,94',
'588,94,94,94,94,94,588,588,588,588,588,588,588,588,588,588,588,588,385',
'588,588,588,365,588,588,912,588,588,588,94,94,94,94,94,94,94,94,94,94',
'94,94,94,94,700,332,94,94,94,588,94,94,588,597,94,588,588,94,94,588',
'94,588,94,61,94,588,94,94,303,94,94,94,94,94,588,94,1008,94,507,588',
'588,588,588,590,588,588,588,588,372,355,364,94,588,588,94,94,94,94,445',
'94,588,94,94,896,995,445,445,445,371,791,856,445,445,507,445,669,77',
'996,917,410,917,609,609,445,409,506,385,736,77,699,699,3,739,303,445',
'445,3,445,445,445,445,445,365,19,738,912,688,365,703,385,912,61,375',
'741,385,332,303,997,381,740,506,791,381,597,698,445,445,445,445,445',
'445,445,445,445,445,445,445,445,445,857,589,445,445,445,19,445,410,26',
'590,445,706,409,445,590,707,1008,218,445,372,445,1008,445,445,669,445',
'445,445,445,445,364,445,445,445,688,364,670,609,626,371,741,856,609',
'896,995,699,740,445,896,995,445,445,91,445,708,445,997,996,445,91,91',
'91,996,739,91,91,91,736,91,218,736,670,736,26,688,738,91,688,91,91,91',
'658,688,375,741,691,613,613,91,91,740,91,91,91,91,91,26,997,462,462',
'709,689,997,626,626,857,589,498,710,408,857,589,411,626,714,657,715',
'468,220,91,91,91,91,91,91,91,91,91,91,91,91,91,91,658,717,91,91,91,691',
'91,91,600,498,91,624,691,91,91,600,91,691,91,743,91,691,91,91,600,91',
'91,91,91,91,718,91,816,91,657,689,468,220,566,566,691,408,408,408,411',
'411,411,91,613,373,91,91,91,91,660,91,373,91,91,720,462,660,660,660',
'217,373,660,660,660,283,660,722,743,697,283,689,624,624,689,743,660',
'660,660,689,743,816,624,379,743,724,660,660,816,660,660,660,660,660',
'392,362,578,816,578,578,578,392,578,743,844,694,844,844,844,119,844',
'729,217,734,119,119,816,660,660,660,660,660,660,660,660,660,660,660',
'660,660,660,693,24,660,660,660,379,660,660,24,407,660,737,379,660,660',
'406,660,379,660,347,660,379,660,660,380,660,660,660,660,660,444,660',
'340,660,398,397,339,444,444,444,379,398,397,444,444,338,444,660,578',
'336,660,660,660,660,475,660,844,660,660,899,405,400,899,335,312,690',
'444,444,400,444,444,444,444,444,407,407,407,380,396,746,406,406,406',
'404,380,396,475,860,395,380,475,475,860,380,39,395,329,444,444,444,444',
'444,444,444,444,444,444,444,444,444,444,312,380,444,444,444,312,444',
'359,474,751,444,327,393,444,405,405,405,326,444,393,444,369,444,444',
'439,444,444,444,444,444,39,444,370,444,640,39,390,404,404,404,474,394',
'687,390,474,474,770,444,394,15,444,444,659,444,322,444,38,438,444,659',
'659,659,563,391,659,659,659,936,659,705,391,439,705,563,936,685,439',
'659,659,659,659,640,754,936,317,368,640,754,659,659,368,659,659,659',
'659,659,15,608,41,41,683,15,608,38,438,683,563,563,38,438,575,563,575',
'575,575,324,575,775,324,659,659,659,659,659,659,659,659,659,659,659',
'659,659,659,874,299,659,659,659,942,659,659,299,682,659,874,942,659',
'659,575,659,299,659,314,659,942,659,659,575,659,659,659,659,659,943',
'659,659,659,17,17,723,943,723,723,723,313,723,374,874,874,943,659,309',
'874,659,659,659,659,56,659,328,659,659,328,677,56,56,56,727,727,56,56',
'56,349,56,349,349,349,723,349,325,307,494,325,56,56,56,723,302,944,363',
'363,986,986,56,56,944,56,56,56,56,56,308,308,301,944,321,321,493,675',
'376,349,793,794,494,796,797,798,494,494,349,494,494,800,801,56,56,56',
'56,56,56,56,56,56,56,56,56,56,56,802,493,56,56,56,493,493,56,493,493',
'56,298,806,56,56,668,56,810,56,811,56,815,56,56,663,56,56,56,56,56,819',
'56,661,56,955,822,955,955,955,845,955,845,845,845,823,845,651,56,292',
'946,56,56,56,56,450,56,946,56,291,290,288,450,450,450,287,946,450,450',
'450,484,450,296,955,646,846,847,46,845,296,450,450,450,450,46,420,484',
'484,296,850,426,450,450,46,450,450,450,450,450,276,273,295,484,272,484',
'886,484,484,295,484,484,258,886,484,226,484,859,295,428,222,863,886',
'450,450,450,450,450,450,450,450,450,450,450,450,450,450,864,867,450',
'450,450,998,868,450,315,221,450,641,998,450,450,315,450,998,450,219',
'450,998,450,450,315,450,450,450,450,450,431,450,450,450,725,434,725',
'725,725,910,725,910,910,910,637,910,436,450,200,216,450,450,450,450',
'449,450,216,450,884,631,629,449,449,449,887,216,449,449,449,487,449',
'692,725,889,105,437,621,910,692,449,449,449,449,692,446,487,487,692',
'903,904,449,449,905,449,449,449,449,449,906,907,454,487,909,487,744',
'487,487,464,487,487,45,744,487,914,487,915,744,476,921,477,744,449,449',
'449,449,449,449,449,449,449,449,449,449,449,449,926,533,449,449,449',
'14,929,449,533,930,449,931,14,449,449,932,449,533,449,934,449,14,449',
'449,478,449,449,449,449,449,40,449,449,449,908,592,908,908,908,591,908',
'479,297,586,945,580,577,449,562,297,449,449,449,449,27,449,550,449,297',
'956,37,27,27,27,549,22,27,27,27,486,27,383,908,548,547,16,982,504,383',
'27,27,27,976,982,977,486,486,383,978,538,27,27,982,27,27,27,27,27,13',
'12,534,486,984,486,985,486,486,508,486,486,987,988,486,949,486,949,949',
'949,989,949,990,27,27,27,27,27,27,27,27,27,27,27,27,27,27,991,992,27',
'27,27,994,10,27,7,27,27,529,523,27,27,527,27,1,27,1009,27,,27,27,,27',
'27,27,27,27,,27,27,27,830,,830,830,830,,830,521,521,521,521,521,,27',
',440,27,27,,27,,27,440,440,440,,,440,440,440,485,440,617,617,,,617,617',
'617,,440,440,440,,,,485,485,,,,440,440,,440,440,440,440,440,,,,485,',
'485,,485,485,,485,485,,,485,,485,6,6,6,6,6,,440,440,440,440,440,440',
'440,440,440,440,440,440,440,440,,,440,440,440,,,440,,440,440,,,440,440',
',440,,440,,440,,440,440,,440,440,440,440,440,,440,440,440,286,286,286',
'286,286,,,,,,,,,440,,,440,440,,440,,440,585,585,585,585,585,585,,,,585',
'585,,,,585,,585,585,585,585,585,585,585,,,,,,585,585,585,585,585,585',
'585,,,585,,,,,,585,585,585,585,585,585,585,585,585,585,585,585,,585',
'585,585,,585,585,,585,585,585,488,488,488,488,488,488,488,,,488,488',
',,,,,488,488,,585,,,585,,,585,585,,,585,,585,488,,488,585,488,488,,488',
'488,488,488,488,585,488,,,,585,585,585,585,,585,585,585,585,,,,,585',
'585,561,561,561,561,561,561,585,,,561,561,,,,561,,561,561,561,561,561',
'561,561,,,,,,561,561,561,561,561,561,561,,,561,,,,,,561,561,561,561',
'561,561,561,561,561,561,561,561,,561,561,561,,561,561,,561,561,561,492',
'492,492,492,492,492,492,,,492,492,,,,,,492,492,,561,,,561,,,561,561',
',,561,,561,492,,492,561,492,492,,492,492,492,492,492,561,492,,,,561',
'561,561,561,,561,561,561,561,,,,,561,561,667,667,667,667,667,667,561',
',,667,667,,,,667,,667,667,667,667,667,667,667,,,,,,667,667,667,667,667',
'667,667,,,667,,,,,,667,667,667,667,667,667,667,667,667,667,667,667,',
'667,667,667,,667,667,,667,667,667,491,491,491,491,491,491,491,,,491',
'491,,,,,,491,491,,667,,,667,,,667,667,,,667,,667,491,,491,667,491,491',
',491,491,491,491,491,667,491,,,,667,667,667,667,,667,667,667,667,,,',
',667,667,672,672,672,672,672,672,667,,,672,672,,,,672,,672,672,672,672',
'672,672,672,,,,,,672,672,672,672,672,672,672,,,672,,,,,,672,672,672',
'672,672,672,672,672,672,672,672,672,,672,672,672,,672,672,,672,672,672',
'473,473,473,473,473,473,473,473,473,473,473,,473,473,,,473,473,,672',
',,672,,,672,672,,,672,,672,473,,473,672,473,473,,473,473,473,473,473',
'672,473,,,,672,672,672,672,,672,672,672,672,,,,,672,672,673,673,673',
'673,673,673,672,,,673,673,,,,673,,673,673,673,673,673,673,673,,,,,,673',
'673,673,673,673,673,673,,,673,,,,,,673,673,673,673,673,673,673,673,673',
'673,673,673,,673,673,673,,673,673,,673,673,673,490,490,490,490,490,490',
'490,,,490,490,,,,,,490,490,,673,,,673,,,673,673,,,673,,673,490,,490',
'673,490,490,,490,490,490,490,490,673,490,,,,673,673,673,673,,673,673',
'673,673,,,,,673,673,747,747,747,747,747,747,673,,,747,747,,,,747,,747',
'747,747,747,747,747,747,,,,,,747,747,747,747,747,747,747,,,747,,,,,',
'747,747,747,747,747,747,747,747,747,747,747,747,,747,747,747,,747,747',
',747,747,747,489,489,489,489,489,489,489,,,489,489,,,,,,489,489,,747',
',,747,,,747,747,,,747,,747,489,,489,747,489,489,,489,489,489,489,489',
'747,489,,,,747,747,747,747,,747,747,747,747,,,,,747,747,965,965,965',
'965,965,965,747,,,965,965,,,,965,,965,965,965,965,965,965,965,,,,,,965',
'965,965,965,965,965,965,,,965,,,,,,965,965,965,965,965,965,965,965,965',
'965,965,965,,965,965,965,,965,965,,965,965,965,472,472,472,472,472,472',
'472,472,472,472,472,,472,472,,,472,472,,965,,,965,,,965,965,,,965,,965',
'472,,472,965,472,472,,472,472,472,472,472,965,472,,,,965,965,965,965',
',965,965,965,965,,,,,965,965,963,963,963,963,963,963,965,,,963,963,',
',,963,,963,963,963,963,963,963,963,,,,,,963,963,963,963,963,963,963',
',,963,,,,,,963,963,963,963,963,963,963,963,963,963,963,963,,963,963',
'963,,963,963,,963,963,963,495,495,495,495,495,495,495,,,495,495,,,,',
',495,495,,963,,,963,,,963,963,,,963,,963,495,,495,963,495,495,,495,495',
'495,495,495,963,495,,,,963,963,963,963,,963,963,963,963,,,,,963,963',
'752,752,752,752,752,752,963,,,752,752,,,,752,,752,752,752,752,752,752',
'752,,,,,,752,752,752,752,752,752,752,,,752,,,,,,752,752,752,752,752',
'752,752,752,752,752,752,752,,752,752,752,,752,752,,752,752,752,496,496',
'496,496,496,496,496,496,,496,496,,,,,,496,496,,752,,,752,,,752,752,',
',752,,752,496,,496,752,496,496,,496,496,496,496,496,752,496,,,,752,752',
'752,752,,752,752,752,752,,,,,752,752,610,610,610,610,610,610,752,,,610',
'610,,,,610,,610,610,610,610,610,610,610,,,,,,610,610,610,610,610,610',
'610,,,610,,,,,662,610,610,610,610,610,610,610,610,610,610,610,610,,610',
'610,610,,610,610,,610,610,610,662,662,662,662,662,662,662,662,662,662',
'662,,662,662,,,662,662,,610,,,610,,,610,610,,,610,,610,662,,662,610',
'662,662,,662,662,662,662,662,610,662,,,,610,610,610,610,,610,610,610',
'610,,28,,,610,610,,662,28,28,28,,610,28,28,28,480,28,,,,,,,,,,28,28',
',,,480,480,,,,28,28,,28,28,28,28,28,,,,480,,480,,480,480,,480,480,,',
',,,,,,,,,28,28,28,28,28,28,28,28,28,28,28,28,28,28,,,28,28,28,,,28,',
'28,28,,,28,28,,28,,28,,28,,28,28,,28,28,28,28,28,,28,,28,,,,,,,,,,,',
',,28,,,28,28,,28,,28,762,762,762,762,762,762,,,,762,762,,,,762,,762',
'762,762,762,762,762,762,,,,,,762,762,762,762,762,762,762,,,762,,,,,',
'762,762,762,762,762,762,762,762,762,762,762,762,,762,762,762,,762,762',
',762,762,762,483,483,483,483,483,483,483,,,483,483,,,,,,483,483,,762',
',,762,,,762,762,,,762,,762,483,,483,762,483,483,,483,483,483,483,483',
'762,483,,,,762,762,762,762,,762,762,762,762,,,,,762,762,320,320,320',
'320,320,320,762,,,320,320,,,,320,,320,320,320,320,320,320,320,,,,,,320',
'320,320,320,320,320,320,,,320,,,,,,320,320,320,320,320,320,320,320,320',
'320,320,320,,320,320,320,,320,320,,320,320,320,482,,,,,,,,,,,,,,,,482',
'482,,320,,,320,,,320,320,,,320,,320,482,,,320,482,482,,482,482,,,,320',
',,,,320,320,320,320,,320,320,320,320,,,,,320,320,809,809,809,809,809',
'809,320,,,809,809,,,,809,,809,809,809,809,809,809,809,,,,,,809,809,809',
'809,809,809,809,,,809,,,,,,809,809,809,809,809,809,809,809,809,809,809',
'809,,809,809,809,,809,809,,809,809,809,481,,,,,,,,,,,,,,,,481,481,,809',
',,809,,,809,809,,,809,,809,481,,481,809,481,481,,481,481,,,,809,,,,',
'809,809,809,809,,809,809,809,809,,,,,809,809,33,33,33,33,33,33,809,',
',33,33,,,,33,,33,33,33,33,33,33,33,,,,,,33,33,33,33,33,33,33,,,33,,',
',,,33,33,33,33,33,33,33,33,33,33,33,33,,33,33,33,,33,33,,33,33,33,,',
',,,,,,,,,,,,,,,,,33,,,33,,,33,33,,,33,,33,,,,33,,,,,,,,,33,,,,,33,33',
'33,33,,33,33,33,33,,,,,33,33,821,821,821,821,821,821,33,,,821,821,,',
',821,,821,821,821,821,821,821,821,,,,,,821,821,821,821,821,821,821,',
',821,,,,,,821,821,821,821,821,821,821,821,821,821,821,821,,821,821,821',
',821,821,,821,821,821,,,,,,,,,,,,,,,,,,,,821,,,821,,,821,821,,,821,',
'821,,,,821,,,,,,,,,821,,,,,821,821,821,821,,821,821,821,821,,,,,821',
'821,294,294,294,294,294,294,821,,,294,294,,,,294,,294,294,294,294,294',
'294,294,,,,,,294,294,294,294,294,294,294,,,294,,,,,,294,294,294,294',
'294,294,294,294,294,294,294,294,,294,294,294,,294,294,,294,294,294,',
',,,,,,,,,,,,,,,,,,294,,,294,,,294,294,,,294,,294,,,,294,,,,,,,,,294',
',,,,294,294,294,294,,294,294,294,294,,,,,294,294,957,957,957,957,957',
'957,294,,,957,957,,,,957,,957,957,957,957,957,957,957,,,,,,957,957,957',
'957,957,957,957,,,957,,,,,,957,957,957,957,957,957,957,957,957,957,957',
'957,,957,957,957,,957,957,,957,957,957,,,,,,,,,,,,,,,,,,,,957,,,957',
',,957,957,,,957,,957,,,,957,,,,,,,,,957,,,,,957,957,957,957,,957,957',
'957,957,,,,,957,957,289,289,289,289,289,289,957,,,289,289,,,,289,,289',
'289,289,289,289,289,289,,,,,,289,289,289,289,289,289,289,,,289,,,,,',
'289,289,289,289,289,289,289,289,289,289,289,289,,289,289,289,,289,289',
',289,289,289,,,,,,,,,,,,,,,,,,,,289,,,289,,,289,289,,,289,,289,,,,289',
',,,,,,,,289,,,,,289,289,289,289,,289,289,289,289,,,,,289,289,941,941',
'941,941,941,941,289,,,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,,,,941,,,,,,,,,941,,,,,941,941',
'941,941,,941,941,941,941,,,,,941,941,851,851,851,851,851,851,941,,,851',
'851,,,,851,,851,851,851,851,851,851,851,,,,,,851,851,851,851,851,851',
'851,,,851,,,,,,851,851,851,851,851,851,851,851,851,851,851,851,,851',
'851,851,,851,851,,851,851,851,,,,,,,,,,,,,,,,,,,,851,,,851,,,851,851',
',,851,,851,,,,851,,,,,,,,,851,,,,,851,851,851,851,,851,851,851,851,',
',,,851,851,852,852,852,852,852,852,851,,,852,852,,,,852,,852,852,852',
'852,852,852,852,,,,,,852,852,852,852,852,852,852,,,852,,,,,,852,852',
'852,852,852,852,852,852,852,852,852,852,,852,852,852,,852,852,,852,852',
'852,,,,,,,,,,,,,,,,,,,,852,,,852,,,852,852,,,852,,852,,,,852,,,,,,,',
',852,,,,,852,852,852,852,,852,852,852,852,,,,,852,852,855,855,855,855',
'855,855,852,,,855,855,,,,855,,855,855,855,855,855,855,855,,,,,,855,855',
'855,855,855,855,855,,,855,,,,,,855,855,855,855,855,855,855,855,855,855',
'855,855,,855,855,855,,855,855,,855,855,855,,,,,,,,,,,,,,,,,,,,855,,',
'855,,,855,855,,,855,,855,,,,855,,,,,,,,,855,,,,,855,855,855,855,,855',
'855,855,855,,,,,855,855,560,560,560,560,560,560,855,,,560,560,,,,560',
',560,560,560,560,560,560,560,,,,,,560,560,560,560,560,560,560,,,560',
',,,,,560,560,560,560,560,560,560,560,560,560,560,560,,560,560,560,,560',
'560,,560,560,560,,,,,,,,,,,,,,,,,,,,560,,,560,,,560,560,,,560,,560,',
',,560,,,,,,,,,560,,,,,560,560,560,560,,560,560,560,560,,,,,560,560,225',
'225,225,225,225,225,560,,,225,225,,,,225,,225,225,225,225,225,225,225',
',,,,,225,225,225,225,225,225,225,,,225,,,,,,225,225,225,225,225,225',
'225,225,225,225,225,225,,225,225,225,,225,225,,225,225,225,,,,,,,,,',
',,,,,,,,,,225,,,225,,,225,225,,,225,,225,,,,225,,,,,,,,,225,,,,,225',
'225,225,225,,225,225,225,225,,,,,225,225,861,861,861,861,861,861,225',
',,861,861,,,,861,,861,861,861,861,861,861,861,,,,,,861,861,861,861,861',
'861,861,,,861,,,,,,861,861,861,861,861,861,861,861,861,861,861,861,',
'861,861,861,,861,861,,861,861,861,,,,,,,,,,,,,,,,,,,,861,,,861,,,861',
'861,,,861,,861,,,,861,,,,,,,,,861,,,,,861,861,861,861,,861,861,861,861',
',,,,861,861,202,202,202,202,202,202,861,,,202,202,,,,202,,202,202,202',
'202,202,202,202,,,,,,202,202,202,202,202,202,202,,,202,,,,,433,202,202',
'202,202,202,202,202,202,202,202,202,202,,202,202,202,,202,202,,202,202',
'202,433,433,433,433,433,433,433,433,433,433,433,,433,433,,,433,433,',
'202,,,202,,,202,202,,,202,,202,433,,433,202,433,433,,433,433,433,433',
'433,202,433,,,,202,202,202,202,,202,202,202,202,,499,,,202,202,,433',
'499,499,499,,202,499,499,499,665,499,665,665,665,665,665,,,,499,499',
',,,,665,,,,,499,499,,499,499,499,499,499,973,,973,973,973,973,973,,',
'665,,,,,,,973,,665,665,665,665,,,1003,665,1003,1003,1003,1003,1003,',
',,499,,,,973,,1003,499,,,,,499,499,,973,973,665,,,973,,,,,,,,1003,,',
',,,,499,499,,,1003,1003,,,,1003,,,,,,499,,,499,,,,,499,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,,,,,117,117,117,117,,117',
'117,117,117,,,,,117,117,893,893,893,893,893,893,117,,,893,893,,,,893',
',893,893,893,893,893,893,893,,,,,,893,893,893,893,893,893,893,,,893',
',,,,,893,893,893,893,893,893,893,893,893,893,893,893,,893,893,893,,893',
'893,,893,893,893,,,,,,,,,,,,,,,,,,,,893,,,893,,,893,893,,,893,,893,',
',,893,,,,,,,,,893,,,,,893,893,893,893,,893,893,893,893,,,,,893,893,0',
'0,0,0,0,0,893,,,0,0,,,,0,,0,0,0,0,0,0,0,,,,,,0,0,0,0,0,0,0,,,0,,,,,',
'0,0,0,0,0,0,0,0,0,0,0,0,,0,0,0,,0,0,,0,0,0,,,,,,,,,,,,,,,,,,,,0,,,0',
',,0,0,,,0,,0,,,,0,,,,,,,,,0,,,,,0,0,0,0,,0,0,0,0,,,,,0,0,522,522,522',
'522,522,522,0,,,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,522,522,,,,,522,522,43,43,43,,43,,522,,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,63,63',
'63,,63,,43,,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,,64,,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,,67,,64,,67,67,,,,67,,67,67,67,67,67,67,67,,,,,,67,67,67,67,67',
'67,67,,,67,,,,,457,,67,,,67,67,67,67,67,67,67,67,,67,67,67,,67,67,,67',
'67,67,457,457,457,457,457,457,457,457,457,457,457,,457,457,,,457,457',
',67,,,67,,,67,67,,,67,,,457,,457,67,457,457,,457,457,457,457,457,67',
'457,,,,67,67,67,67,,67,67,67,67,,,,,67,67,67,457,,457,,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,,69,,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,,70,',
'69,,70,70,,,,70,,70,70,70,70,70,70,70,,,,,,70,70,70,70,70,70,70,,,70',
',,,,,,70,,,70,70,70,70,70,70,70,70,,70,70,70,,70,70,,,,70,,,,,,,,,,',
',,,,,,,,,70,,,70,,,70,70,,,70,,,,,,,,,,,,,,,,,,,,70,70,70,70,,70,70',
'70,70,,,,,70,70,653,653,653,,653,,70,,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',
'653,653,,653,653,653,653,,,,,653,653,654,654,654,,654,,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,654,654,,654,654,654,654,,,,,654,654,530,530',
'530,,530,,654,,530,530,,,,530,,530,530,530,530,530,530,530,,,,,,530',
'530,530,530,530,530,530,,,530,,,,,,,530,,,530,530,530,530,530,530,530',
'530,530,530,530,530,,530,530,,530,530,530,,,,,,,,,,,,,,,,,,,,530,,,530',
',,530,530,,,530,,530,,530,,530,,,530,,,,,,530,,,,,530,530,530,530,,530',
'530,530,530,,,,,530,530,60,60,60,,60,,530,,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,59',
'59,59,,59,,60,,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,107,107,107,107,107,,59,,107',
'107,,,,107,,107,107,107,107,107,107,107,,,,,,107,107,107,107,107,107',
'107,,,107,,,,,,107,107,107,107,107,107,107,107,107,107,107,107,,107',
'107,107,,107,107,,107,107,107,,,,,,,,,,,,,,,,,,,,107,,,107,,,107,107',
',,107,,107,,,,107,,,,,,,,,107,,,,,107,107,107,107,,107,107,107,107,',
',,,107,107,112,112,112,,112,107,107,,112,112,,,,112,,112,112,112,112',
'112,112,112,,,,,,112,112,112,112,112,112,112,,,112,,,,,,,112,,,112,112',
'112,112,112,112,112,112,,112,112,112,,112,112,,112,112,112,,,,,,,,,',
',,,,,,,,,,112,,,112,,,112,112,,,112,,,,,,112,,,,,,,,,112,,,,,112,112',
'112,112,,112,112,112,112,,,,,112,112,113,113,113,,113,,112,,113,113',
',,,113,,113,113,113,113,113,113,113,,,,,,113,113,113,113,113,113,113',
',,113,,,,,,,113,,,113,113,113,113,113,113,113,113,,113,113,113,,113',
'113,,113,113,113,,,,,,,,,,,,,,,,,,,,113,,,113,,,113,113,,,113,,,,,,113',
',,,,,,,,113,,,,,113,113,113,113,,113,113,113,113,,,,,113,113,114,114',
'114,,114,,113,,114,114,,,,114,,114,114,114,114,114,114,114,,,,,,114',
'114,114,114,114,114,114,,,114,,,,,,,114,,,114,114,114,114,114,114,114',
'114,,114,114,114,,114,114,,114,114,114,,,,,,,,,,,,,,,,,,,,114,,,114',
',,114,114,,,114,,,,,,114,,,,,,,,,114,,,,,114,114,114,114,,114,114,114',
'114,,,,,114,114,115,115,115,,115,,114,,115,115,,,,115,,115,115,115,115',
'115,115,115,,,,,,115,115,115,115,115,115,115,,,115,,,,,,,115,,,115,115',
'115,115,115,115,115,115,,115,115,115,,115,115,,115,115,115,,,,,,,,,',
',,,,,,,,,,115,,,115,,,115,115,,,115,,,,,,115,,,,,,,,,115,,,,,115,115',
'115,115,,115,115,115,115,,,,,115,115,116,116,116,116,116,,115,,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,58,58,58,,58,,116,,58,58,,,,58,,58,58,58,58,58,58,58,,,,,,58,58',
'58,58,58,58,58,,,58,,,,,,,58,,,58,58,58,58,58,58,58,58,,58,58,58,,58',
'58,,58,58,58,,,,,,,,,,,,,,,,,,,,58,,,58,,,58,58,,,58,,,,,,58,,,,,,,',
',58,,,,,58,58,58,58,,58,58,58,58,,,,,58,58,885,885,885,,885,,58,,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,528,528,528',
',528,,885,,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',
'897,897,897,,897,,528,,897,897,,,,897,,897,897,897,897,897,897,897,',
',,,,897,897,897,897,897,897,897,,,897,,,,,,,897,,,897,897,897,897,897',
'897,897,897,,897,897,897,,897,897,,,,897,,,,,,,,,,,,,,,,,,,,897,,,897',
',,897,897,,,897,,,,,,,,,,,,,,,,,,,,897,897,897,897,,897,897,897,897',
',,,,897,897,203,203,203,,203,,897,,203,203,,,,203,,203,203,203,203,203',
'203,203,,,,,,203,203,203,203,203,203,203,,,203,,,,,,,203,,,203,203,203',
'203,203,203,203,203,,203,203,203,,203,203,,203,203,203,,,,,,,,,,,,,',
',,,,,,203,,,203,,,203,203,,,203,,203,,,,203,,,,,,,,,203,,,,,203,203',
'203,203,,203,203,203,203,,,,,203,203,204,204,204,,204,,203,,204,204',
',,,204,,204,204,204,204,204,204,204,,,,,,204,204,204,204,204,204,204',
',,204,,,,,,,204,,,204,204,204,204,204,204,204,204,,204,204,204,,204',
'204,,204,204,204,,,,,,,,,,,,,,,,,,,,204,,,204,,,204,204,,,204,,,,,,204',
',,,,,,,,204,,,,,204,204,204,204,,204,204,204,204,,,,,204,204,205,205',
'205,,205,,204,,205,205,,,,205,,205,205,205,205,205,205,205,,,,,,205',
'205,205,205,205,205,205,,,205,,,,,,,205,,,205,205,205,205,205,205,205',
'205,205,205,205,205,,205,205,,205,205,205,,,,,,,,,,,,,,,,,,,,205,,,205',
',,205,205,,,205,,205,,205,,205,,,205,,,,,,205,,,,,205,205,205,205,,205',
'205,205,205,,,,,205,205,520,520,520,520,520,,205,,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,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,515,515',
'515,,515,520,520,,515,515,,,,515,,515,515,515,515,515,515,515,,,,,,515',
'515,515,515,515,515,515,,,515,,,,,,,515,,,515,515,515,515,515,515,515',
'515,,515,515,515,,515,515,,515,515,515,,,,,,,,,,,,,,,,,,,,515,,,515',
',,515,515,,,515,,,,,,515,,,,,,,,,515,,,,,515,515,515,515,,515,515,515',
'515,,,,,515,515,208,208,208,,208,,515,,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,,209,,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,210',
'210,210,,210,,209,,210,210,,,,210,,210,210,210,210,210,210,210,,,,,',
'210,210,210,210,210,210,210,,,210,,,,,,,210,,,210,210,210,210,210,210',
'210,210,,210,210,210,,210,210,,210,210,210,,,,,,,,,,,,,,,,,,,,210,,',
'210,,,210,210,,,210,,,,,,210,,,,,,,,,210,,,,,210,210,210,210,,210,210',
'210,210,,,,,210,210,211,211,211,,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,211,,211,211,211,,,,,',
',,,,,,,,,,,,,,211,,,211,,,211,211,,,211,,,,,,211,,,,,,,,,211,,,,,211',
'211,211,211,,211,211,211,211,,,,,211,211,212,212,212,,212,,211,,212',
'212,,,,212,,212,212,212,212,212,212,212,,,,,,212,212,212,212,212,212',
'212,,,212,,,,,,,212,,,212,212,212,212,212,212,212,212,,212,212,212,',
'212,212,,212,212,212,,,,,,,,,,,,,,,,,,,,212,,,212,,,212,212,,,212,,',
',,,212,,,,,,,,,212,,,,,212,212,212,212,,212,212,212,212,,,,,212,212',
'213,213,213,,213,,212,,213,213,,,,213,,213,213,213,213,213,213,213,',
',,,,213,213,213,213,213,213,213,,,213,,,,,,,213,,,213,213,213,213,213',
'213,213,213,,213,213,213,,213,213,,213,213,213,,,,,,,,,,,,,,,,,,,,213',
',,213,,,213,213,,,213,,,,,,213,,,,,,,,,213,,,,,213,213,213,213,,213',
'213,213,213,,,,,213,213,213,513,513,513,,513,213,,,513,513,,,,513,,513',
'513,513,513,513,513,513,,,,,,513,513,513,513,513,513,513,,,513,,,,,',
',513,,,513,513,513,513,513,513,513,513,513,513,513,513,,513,513,,513',
'513,513,,,,,,,,,,,,,,,,,,,,513,,,513,,,513,513,,,513,,,,513,,513,,,513',
',,,,,513,,,,,513,513,513,513,,513,513,513,513,,,,,513,513,511,511,511',
',511,,513,,511,511,,,,511,,511,511,511,511,511,511,511,,,,,,511,511',
'511,511,511,511,511,,,511,,,,,,,511,,,511,511,511,511,511,511,511,511',
'511,511,511,511,,511,511,,511,511,511,,,,,,,,,,,,,,,,,,,,511,,,511,',
',511,511,,,511,,511,,511,,511,,,511,,,,,,511,,,,,511,511,511,511,,511',
'511,511,511,,,,,511,511,537,537,537,,537,,511,,537,537,,,,537,,537,537',
'537,537,537,537,537,,,,,,537,537,537,537,537,537,537,,,537,,,,,,,537',
',,537,537,537,537,537,537,537,537,,537,537,537,,537,537,,,,537,,,,,',
',,,,,,,,,,,,,,537,,,537,,,537,537,,,537,,,,,,,,,,,,,,,,,,,,537,537,537',
'537,,537,537,537,537,,,,,537,537,872,872,872,,872,,537,,872,872,,,,872',
',872,872,872,872,872,872,872,,,,,,872,872,872,872,872,872,872,,,872',
',,,,,,872,,,872,872,872,872,872,872,872,872,,872,872,872,,872,872,,872',
'872,872,,,,,,,,,,,,,,,,,,,,872,,,872,,,872,872,,,872,,,,,,872,,,,,,',
',,872,,,,,872,872,872,872,,872,872,872,872,,,,,872,872,871,871,871,',
'871,,872,,871,871,,,,871,,871,871,871,871,871,871,871,,,,,,871,871,871',
'871,871,871,871,,,871,,,,,,,871,,,871,871,871,871,871,871,871,871,871',
'871,871,871,,871,871,,871,871,871,,,,,,,,,,,,,,,,,,,,871,,,871,,,871',
'871,,,871,,,,871,,871,,,871,,,,,,871,,,,,871,871,871,871,,871,871,871',
'871,,,,,871,871,540,540,540,,540,,871,,540,540,,,,540,,540,540,540,540',
'540,540,540,,,,,,540,540,540,540,540,540,540,,,540,,,,,,,540,,,540,540',
'540,540,540,540,540,540,,540,540,540,,540,540,,540,540,540,,,,,,,,,',
',,,,,,,,,,540,,,540,,,540,540,,,540,,,,,,540,,,,,,,,,540,,,,,540,540',
'540,540,,540,540,540,540,,,,,540,540,649,649,649,,649,,540,,649,649',
',,,649,,649,649,649,649,649,649,649,,,,,,649,649,649,649,649,649,649',
',,649,,,,,,,649,,,649,649,649,649,649,649,649,649,,649,649,649,,649',
'649,,649,649,649,,,,,,,,,,,,,,,,,,,,649,,,649,,,649,649,,,649,,,,,,649',
',,,,,,,,649,,,,,649,649,649,649,,649,649,649,649,,,,,649,649,701,701',
'701,,701,,649,,701,701,,,,701,,701,701,701,701,701,701,701,,,,,,701',
'701,701,701,701,701,701,,,701,,,,,,,701,,,701,701,701,701,701,701,701',
'701,,701,701,701,,701,701,,701,701,701,,,,,,,,,,,,,,,,,,,,701,,,701',
',,701,701,,,701,,701,,,,701,,,,,,,,,701,,,,,701,701,701,701,,701,701',
'701,701,,,,,701,701,44,44,44,,44,,701,,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,645,645,645',
',645,,44,,645,645,,,,645,,645,645,645,645,645,645,645,,,,,,645,645,645',
'645,645,645,645,,,645,,,,,,,645,,,645,645,645,645,645,645,645,645,,645',
'645,645,,645,645,,645,645,645,,,,,,,,,,,,,,,,,,,,645,,,645,,,645,645',
',,645,,,,,,645,,,,,,,,,645,,,,,645,645,645,645,,645,645,645,645,,,,',
'645,645,227,227,227,,227,,645,,227,227,,,,227,,227,227,227,227,227,227',
'227,,,,,,227,227,227,227,227,227,227,,,227,,,,,,,227,,,227,227,227,227',
'227,227,227,227,,227,227,227,,227,227,,227,227,227,,,,,,,,,,,,,,,,,',
',,227,,,227,,,227,227,,,227,,,,,,227,,,,,,,,,227,,,,,227,227,227,227',
',227,227,227,227,,,,,227,227,228,228,228,,228,,227,,228,228,,,,228,',
'228,228,228,228,228,228,228,,,,,,228,228,228,228,228,228,228,,,228,',
',,,,,228,,,228,228,228,228,228,228,228,228,,228,228,228,,228,228,,228',
'228,228,,,,,,,,,,,,,,,,,,,,228,,,228,,,228,228,,,228,,,,,,228,,,,,,',
',,228,,,,,228,228,228,228,,228,228,228,228,,,,,228,228,229,229,229,',
'229,,228,,229,229,,,,229,,229,229,229,229,229,229,229,,,,,,229,229,229',
'229,229,229,229,,,229,,,,,,,229,,,229,229,229,229,229,229,229,229,,229',
'229,229,,229,229,,229,229,229,,,,,,,,,,,,,,,,,,,,229,,,229,,,229,229',
',,229,,,,,,229,,,,,,,,,229,,,,,229,229,229,229,,229,229,229,229,,,,',
'229,229,230,230,230,,230,,229,,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,231,231,231,,231,,230,,231,231,,,,231,',
'231,231,231,231,231,231,231,,,,,,231,231,231,231,231,231,231,,,231,',
',,,,,231,,,231,231,231,231,231,231,231,231,,231,231,231,,231,231,,231',
'231,231,,,,,,,,,,,,,,,,,,,,231,,,231,,,231,231,,,231,,,,,,231,,,,,,',
',,231,,,,,231,231,231,231,,231,231,231,231,,,,,231,231,232,232,232,',
'232,,231,,232,232,,,,232,,232,232,232,232,232,232,232,,,,,,232,232,232',
'232,232,232,232,,,232,,,,,,,232,,,232,232,232,232,232,232,232,232,,232',
'232,232,,232,232,,232,232,232,,,,,,,,,,,,,,,,,,,,232,,,232,,,232,232',
',,232,,,,,,232,,,,,,,,,232,,,,,232,232,232,232,,232,232,232,232,,,,',
'232,232,233,233,233,,233,,232,,233,233,,,,233,,233,233,233,233,233,233',
'233,,,,,,233,233,233,233,233,233,233,,,233,,,,,,,233,,,233,233,233,233',
'233,233,233,233,,233,233,233,,233,233,,233,233,233,,,,,,,,,,,,,,,,,',
',,233,,,233,,,233,233,,,233,,,,,,233,,,,,,,,,233,,,,,233,233,233,233',
',233,233,233,233,,,,,233,233,234,234,234,,234,,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,',
'235,,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,,236,,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,,237,,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,',
'238,,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,,239,,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,,240,,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,',
'241,,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,,242,,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,,243,,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,',
'244,,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,,245,,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,,246,,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,',
'247,,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,,248,,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,,249,,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,',
'250,,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,,251,,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,,252,,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,402,402,402,',
'402,,252,,402,402,,,,402,,402,402,402,402,402,402,402,,,,,,402,402,402',
'402,402,402,402,,,402,,,,,,,402,,,402,402,402,402,402,402,402,402,,402',
'402,402,,402,402,,402,402,402,,,,,,,,,,,,,,,,,,,,402,,,402,,,402,402',
',,402,,,,,,402,,,,,,,,,402,,,,,402,402,402,402,,402,402,402,402,,,,',
'402,402,644,644,644,,644,,402,,644,644,,,,644,,644,644,644,644,644,644',
'644,,,,,,644,644,644,644,644,644,644,,,644,,,,,,,644,,,644,644,644,644',
'644,644,644,644,,644,644,644,,644,644,,644,644,644,,,,,,,,,,,,,,,,,',
',,644,,,644,,,644,644,,,644,,,,,,644,,,,,,,,,644,,,,,644,644,644,644',
',644,644,644,644,,,,,644,644,259,259,259,,259,,644,,259,259,,,,259,',
'259,259,259,259,259,259,259,,,,,,259,259,259,259,259,259,259,,,259,',
',,,,,259,,,259,259,259,259,259,259,259,259,259,259,259,259,,259,259',
',259,259,259,,,,,,,,,,,,,,,,,,,,259,,,259,,,259,259,,,259,,259,,259',
',259,,,259,,,,,,259,,,,,259,259,259,259,,259,259,259,259,,,,,259,259',
'260,260,260,,260,,259,,260,260,,,,260,,260,260,260,260,260,260,260,',
',,,,260,260,260,260,260,260,260,,,260,,,,,,,260,,,260,260,260,260,260',
'260,260,260,260,260,260,260,,260,260,,260,260,260,,,,,,,,,,,,,,,,,,',
',260,,,260,,,260,260,,,260,,260,,260,,260,,,260,,,,,,260,,,,,260,260',
'260,260,,260,260,260,260,,,,,260,260,268,268,268,,268,,260,,268,268',
',,,268,,268,268,268,268,268,268,268,,,,,,268,268,268,268,268,268,268',
',,268,,,,,,,268,,,268,268,268,268,268,268,268,268,268,268,268,268,,268',
'268,,268,268,268,,,,,,,,,,,,,,,,,,,,268,,,268,,,268,268,,,268,,268,',
'268,,268,,,268,,,,,,268,,,,,268,268,268,268,,268,268,268,268,,,,,268',
'268,268,541,541,541,,541,268,,,541,541,,,,541,,541,541,541,541,541,541',
'541,,,,,,541,541,541,541,541,541,541,,,541,,,,,,,541,,,541,541,541,541',
'541,541,541,541,,541,541,541,,541,541,,541,541,541,,,,,,,,,,,,,,,,,',
',,541,,,541,,,541,541,,,541,,,,,,541,,,,,,,,,541,,,,,541,541,541,541',
',541,541,541,541,,,,,541,541,42,42,42,,42,,541,,42,42,,,,42,,42,42,42',
'42,42,42,42,,,,,,42,42,42,42,42,42,42,,,42,,,,,,,42,,,42,42,42,42,42',
'42,42,42,,42,42,42,,42,42,,42,42,42,,,,,,,,,,,,,,,,,,,,42,,,42,,,42',
'42,,,42,,,,,,42,,,,,,,,,42,,,,,42,42,42,42,,42,42,42,42,,,,,42,42,854',
'854,854,,854,,42,,854,854,,,,854,,854,854,854,854,854,854,854,,,,,,854',
'854,854,854,854,854,854,,,854,,,,,,,854,,,854,854,854,854,854,854,854',
'854,,854,854,854,,854,854,,854,854,854,,,,,,,,,,,,,,,,,,,,854,,,854',
',,854,854,,,854,,854,,,,854,,,,,,,,,854,,,,,854,854,854,854,,854,854',
'854,854,,,,,854,854,275,275,275,,275,,854,,275,275,,,,275,,275,275,275',
'275,275,275,275,,,,,,275,275,275,275,275,275,275,,,275,,,,,,,275,,,275',
'275,275,275,275,275,275,275,,275,275,275,,275,275,,275,275,275,,,,,',
',,,,,,,,,,,,,,275,,,275,,,275,275,,,275,,,,,,275,,,,,,,,,275,,,,,275',
'275,275,275,,275,275,275,275,,,,,275,275,542,542,542,,542,,275,,542',
'542,,,,542,,542,542,542,542,542,542,542,,,,,,542,542,542,542,542,542',
'542,,,542,,,,,,,542,,,542,542,542,542,542,542,542,542,,542,542,542,',
'542,542,,542,542,542,,,,,,,,,,,,,,,,,,,,542,,,542,,,542,542,,,542,,',
',,,542,,,,,,,,,542,,,,,542,542,542,542,,542,542,542,542,,,,,542,542',
'277,277,277,,277,,542,,277,277,,,,277,,277,277,277,277,277,277,277,',
',,,,277,277,277,277,277,277,277,,,277,,,,,,,277,,,277,277,277,277,277',
'277,277,277,,277,277,277,,277,277,,277,277,277,,,,,,,,,,,,,,,,,,,,277',
',,277,,,277,277,,,277,,,,,,277,,,,,,,,,277,,,,,277,277,277,277,,277',
'277,277,277,,,,,277,277,279,279,279,,279,,277,,279,279,,,,279,,279,279',
'279,279,279,279,279,,,,,,279,279,279,279,279,279,279,,,279,,,,,,,279',
',,279,279,279,279,279,279,279,279,,279,279,279,,279,279,,279,279,279',
',,,,,,,,,,,,,,,,,,,279,,,279,,,279,279,,,279,,,,,,279,,,,,,,,,279,,',
',,279,279,279,279,,279,279,279,279,,,,,279,279,280,280,280,,280,,279',
',280,280,,,,280,,280,280,280,280,280,280,280,,,,,,280,280,280,280,280',
'280,280,,,280,,,,,,,280,,,280,280,280,280,280,280,280,280,,280,280,280',
',280,280,,280,280,280,,,,,,,,,,,,,,,,,,,,280,,,280,,,280,280,,,280,',
',,,,280,,,,,,,,,280,,,,,280,280,280,280,,280,280,280,280,,,,,280,280',
'546,546,546,,546,,280,,546,546,,,,546,,546,546,546,546,546,546,546,',
',,,,546,546,546,546,546,546,546,,,546,,,,,,,546,,,546,546,546,546,546',
'546,546,546,,546,546,546,,546,546,,546,546,546,,,,,,,,,,,,,,,,,,,,546',
',,546,,,546,546,,,546,,,,,,546,,,,,,,,,546,,,,,546,546,546,546,,546',
'546,546,546,,,,,546,546,285,285,285,285,285,,546,,285,285,,,,285,,285',
'285,285,285,285,285,285,,,,,,285,285,285,285,285,285,285,,,285,,,,,',
'285,285,,285,285,285,285,285,285,285,285,285,,285,285,285,,285,285,',
'285,285,285,,,,,,,,,,,,,,,,,,,,285,,,285,,,285,285,,,285,,285,,,,285',
',,,,,,,,285,,,,,285,285,285,285,,285,285,285,285,,,,,285,285,849,849',
'849,,849,,285,,849,849,,,,849,,849,849,849,849,849,849,849,,,,,,849',
'849,849,849,849,849,849,,,849,,,,,,,849,,,849,849,849,849,849,849,849',
'849,,849,849,849,,849,849,,849,849,849,,,,,,,,,,,,,,,,,,,,849,,,849',
',,849,849,,,849,,,,,,849,,,,,,,,,849,,,,,849,849,849,849,,849,849,849',
'849,,,,,849,849,552,552,552,,552,,849,,552,552,,,,552,,552,552,552,552',
'552,552,552,,,,,,552,552,552,552,552,552,552,,,552,,,,,,,552,,,552,552',
'552,552,552,552,552,552,552,552,552,552,,552,552,,552,552,552,,,,,,',
',,,,,,,,,,,,,552,,,552,,,552,552,,,552,,552,,,,552,,,552,,,,,,552,,',
',,552,552,552,552,,552,552,552,552,,,,,552,552,555,555,555,,555,,552',
',555,555,,,,555,,555,555,555,555,555,555,555,,,,,,555,555,555,555,555',
'555,555,,,555,,,,,,,555,,,555,555,555,555,555,555,555,555,555,555,555',
'555,,555,555,,555,555,555,,,,,,,,,,,,,,,,,,,,555,,,555,,,555,555,,,555',
',,,,,555,,,555,,,,,,555,,,,,555,555,555,555,,555,555,555,555,,,,,555',
'555,5,5,5,5,5,,555,,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,573,573',
'573,,573,,5,,573,573,,,,573,,573,573,573,573,573,573,573,,,,,,573,573',
'573,573,573,573,573,,,573,,,,,,,573,,,573,573,573,573,573,573,573,573',
',573,573,573,,573,573,,573,573,573,,,,,,,,,,,,,,,,,,,,573,,,573,,,573',
'573,,,573,,,,,,573,,,,,,,,,573,,,,,573,573,573,573,,573,573,573,573',
',,,,573,573,386,386,386,,386,,573,,386,386,,,,386,,386,386,386,386,386',
'386,386,,,,,,386,386,386,386,386,386,386,,,386,,,,,,,386,,,386,386,386',
'386,386,386,386,386,,386,386,386,,386,386,,386,386,386,,,,,,,,,,,,,',
',,,,,,386,,,386,,,386,386,,,386,,,,,,386,,,,,,,,,386,,,,,386,386,386',
'386,,386,386,386,386,,,,,386,386,293,293,293,,293,,386,,293,293,,,,293',
',293,293,293,293,293,293,293,,,,,,293,293,293,293,293,293,293,,,293',
',,,,,,293,,,293,293,293,293,293,293,293,293,,293,293,293,,293,293,,',
',293,,,,,,,,,,,,,,,,,,,,293,,,293,,,293,293,,,293,,,,,,,,,,,,,,,,,,',
',293,293,293,293,,293,293,293,293,,,,,293,293,35,35,35,293,35,,293,',
'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,,,,,,,,,,,,,,,,,,,,35,35,35,35,,35,35,35',
'35,,,,,35,35,34,34,34,35,34,,35,,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,650,650,650,,650,,34',
',650,650,,,,650,,650,650,650,650,650,650,650,,,,,,650,650,650,650,650',
'650,650,,,650,,,,,,,650,,,650,650,650,650,650,650,650,650,,650,650,650',
',650,650,,650,650,650,,,,,,,,,,,,,,,,,,,,650,,,650,,,650,650,,,650,',
',,,,650,,,,,,,,,650,,,,,650,650,650,650,,650,650,650,650,,,,,650,650',
'31,31,31,,31,,650,,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,803,803,803,,803,,31,',
'803,803,,,,803,,803,803,803,803,803,803,803,,,,,,803,803,803,803,803',
'803,803,,,803,,,,,,,803,,,803,803,803,803,803,803,803,803,,803,803,803',
',803,803,,,,803,,,,,,,,,,,,,,,,,,,,803,,,803,,,803,803,,,803,,,,,,,',
',,,,,,,,,,,,803,803,803,803,,803,803,803,803,,,,,803,803,792,792,792',
',792,,803,,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,792,792,,792,792,,792,792,792,,,,,,,,,,,,,,,,,,,,792,,,792,,,792',
'792,,,792,,,,,,792,,,,,,,,,792,,,,,792,792,792,792,,792,792,792,792',
',,,,792,792,790,790,790,,790,,792,,790,790,,,,790,,790,790,790,790,790',
'790,790,,,,,,790,790,790,790,790,790,790,,,790,,,,,,,790,,,790,790,790',
'790,790,790,790,790,,790,790,790,,790,790,,790,790,790,,,,,,,,,,,,,',
',,,,,,790,,,790,,,790,790,,,790,,,,,,790,,,,,,,,,790,,,,,790,790,790',
'790,,790,790,790,790,,,,,790,790,789,789,789,,789,,790,,789,789,,,,789',
',789,789,789,789,789,789,789,,,,,,789,789,789,789,789,789,789,,,789',
',,,,,,789,,,789,789,789,789,789,789,789,789,,789,789,789,,789,789,,789',
'789,789,,,,,,,,,,,,,,,,,,,,789,,,789,,,789,789,,,789,,,,,,789,,,,,,',
',,789,,,,,789,789,789,789,,789,789,789,789,,,,,789,789,643,643,643,',
'643,,789,,643,643,,,,643,,643,643,643,643,643,643,643,,,,,,643,643,643',
'643,643,643,643,,,643,,,,,,,643,,,643,643,643,643,643,643,643,643,643',
'643,643,643,,643,643,,643,643,643,,,,,,,,,,,,,,,,,,,,643,,,643,,,643',
'643,,,643,,,,643,,643,,,643,,,,,,643,,,,,643,643,643,643,,643,643,643',
'643,,,,,643,643,788,788,788,,788,,643,,788,788,,,,788,,788,788,788,788',
'788,788,788,,,,,,788,788,788,788,788,788,788,,,788,,,,,,,788,,,788,788',
'788,788,788,788,788,788,,788,788,788,,788,788,,788,788,788,,,,,,,,,',
',,,,,,,,,,788,,,788,,,788,788,,,788,,,,,,788,,,,,,,,,788,,,,,788,788',
'788,788,,788,788,788,788,,,,,788,788,787,787,787,,787,,788,,787,787',
',,,787,,787,787,787,787,787,787,787,,,,,,787,787,787,787,787,787,787',
',,787,,,,,,,787,,,787,787,787,787,787,787,787,787,,787,787,787,,787',
'787,,787,787,787,,,,,,,,,,,,,,,,,,,,787,,,787,,,787,787,,,787,,,,,,787',
',,,,,,,,787,,,,,787,787,787,787,,787,787,787,787,,,,,787,787,593,593',
'593,,593,,787,,593,593,,,,593,,593,593,593,593,593,593,593,,,,,,593',
'593,593,593,593,593,593,,,593,,,,,,,593,,,593,593,593,593,593,593,593',
'593,,593,593,593,,593,593,,593,593,593,,,,,,,,,,,,,,,,,,,,593,,,593',
',,593,593,,,593,,593,,,,593,,,,,,,,,593,,,,,593,593,593,593,,593,593',
'593,593,,,,,593,593,310,310,310,,310,,593,,310,310,,,,310,,310,310,310',
'310,310,310,310,,,,,,310,310,310,310,310,310,310,,,310,,,,,,,310,,,310',
'310,310,310,310,310,310,310,,310,310,310,,310,310,,,,310,,,,,,,,,,,',
',,,,,,,,310,,,310,,,310,310,,,310,,,,,,,,,,,,,,,,,,,,310,310,310,310',
',310,310,310,310,,,,,310,310,594,594,594,,594,,310,,594,594,,,,594,',
'594,594,594,594,594,594,594,,,,,,594,594,594,594,594,594,594,,,594,',
',,,,,594,,,594,594,594,594,594,594,594,594,594,594,594,594,,594,594',
',594,594,594,,,,,,,,,,,,,,,,,,,,594,,,594,,,594,594,,,594,,594,,594',
',594,,,594,,,,,,594,,,,,594,594,594,594,,594,594,594,594,,,,,594,594',
'642,642,642,,642,,594,,642,642,,,,642,,642,642,642,642,642,642,642,',
',,,,642,642,642,642,642,642,642,,,642,,,,,,,642,,,642,642,642,642,642',
'642,642,642,642,642,642,642,,642,642,,642,642,642,,,,,,,,,,,,,,,,,,',
',642,,,642,,,642,642,,,642,,642,,642,,642,,,642,,,,,,642,,,,,642,642',
'642,642,,642,642,642,642,,,,,642,642,471,471,471,,471,,642,,471,471',
',,,471,,471,471,471,471,471,471,471,,,,,,471,471,471,471,471,471,471',
',,471,,,,,,,471,,,471,471,471,471,471,471,471,471,,471,471,471,,471',
'471,,471,471,471,,,,,,,,,,,,,,,,,,,,471,,,471,,,471,471,,,471,,,,,,471',
',,,,,,,,471,,,,,471,471,471,471,,471,471,471,471,,,,,471,471,470,470',
'470,,470,,471,,470,470,,,,470,,470,470,470,470,470,470,470,,,,,,470',
'470,470,470,470,470,470,,,470,,,,,,,470,,,470,470,470,470,470,470,470',
'470,,470,470,470,,470,470,,470,470,470,,,,,,,,,,,,,,,,,,,,470,,,470',
',,470,470,,,470,,,,,,470,,,,,,,,,470,,,,,470,470,470,470,,470,470,470',
'470,,,,,470,470,773,773,773,,773,,470,,773,773,,,,773,,773,773,773,773',
'773,773,773,,,,,,773,773,773,773,773,773,773,,,773,,,,,,,773,,,773,773',
'773,773,773,773,773,773,,773,773,773,,773,773,,773,773,773,,,,,,,,,',
',,,,,,,,,,773,,,773,,,773,773,,,773,,,,,,773,,,,,,,,,773,,,,,773,773',
'773,773,,773,773,773,773,,,,,773,773,319,319,319,,319,,773,,319,319',
',,,319,,319,319,319,319,319,319,319,,,,,,319,319,319,319,319,319,319',
',,319,,,,,,,319,,,319,319,319,319,319,319,319,319,,319,319,319,,319',
'319,,319,319,319,,,,,,,,,,,,,,,,,,,,319,,,319,319,,319,319,,,319,,,',
',,319,,,,,,,,,319,,,,,319,319,319,319,,319,319,319,319,,,,,319,319,30',
'30,30,,30,,319,,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,469,469,469,,469,,30,,469',
'469,,,,469,,469,469,469,469,469,469,469,,,,,,469,469,469,469,469,469',
'469,,,469,,,,,,,469,,,469,469,469,469,469,469,469,469,,469,469,469,',
'469,469,,469,469,469,,,,,,,,,,,,,,,,,,,,469,,,469,,,469,469,,,469,,',
',,,469,,,,,,,,,469,,,,,469,469,469,469,,469,469,469,469,,,,,469,469',
'771,771,771,,771,,469,,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,29,29,29,,29,,771,,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',
'430,430,430,,430,,29,,430,430,,,,430,,430,430,430,430,430,430,430,,',
',,,430,430,430,430,430,430,430,,,430,,,,,,,430,,,430,430,430,430,430',
'430,430,430,,430,430,430,,430,430,,430,430,430,,,,,,,,,,,,,,,,,,,,430',
',,430,,,430,430,,,430,,,,,,430,,,,,,,,,430,,,,,430,430,430,430,,430',
'430,430,430,,,,,430,430,604,604,604,,604,,430,,604,604,,,,604,,604,604',
'604,604,604,604,604,,,,,,604,604,604,604,604,604,604,,,604,,,,,,,604',
',,604,604,604,604,604,604,604,604,604,604,604,604,,604,604,,604,604',
'604,,,,,,,,,,,,,,,,,,,,604,,,604,,,604,604,,,604,,604,,604,,604,,,604',
',,,,,604,,,,,604,604,604,604,,604,604,604,604,,,,,604,604,467,467,467',
',467,,604,,467,467,,,,467,,467,467,467,467,467,467,467,,,,,,467,467',
'467,467,467,467,467,,,467,,,,,,,467,,,467,467,467,467,467,467,467,467',
'467,467,467,467,,467,467,,467,467,467,,,,,,,,,,,,,,,,,,,,467,,,467,',
',467,467,,,467,,467,,467,,467,,,467,,,,,,467,,,,,467,467,467,467,,467',
'467,467,467,,,,,467,467,748,748,748,,748,,467,,748,748,,,,748,,748,748',
'748,748,748,748,748,,,,,,748,748,748,748,748,748,748,,,748,,,,,,,748',
',,748,748,748,748,748,748,748,748,,748,748,748,,748,748,,748,748,748',
',,,,,,,,,,,,,,,,,,,748,,,748,,,748,748,,,748,,,,,,748,,,,,,,,,748,,',
',,748,748,748,748,,748,748,748,748,,,,,748,748,639,639,639,,639,,748',
',639,639,,,,639,,639,639,639,639,639,639,639,,,,,,639,639,639,639,639',
'639,639,,,639,,,,,,,639,,,639,639,639,639,639,639,639,639,,639,639,639',
',639,639,,639,639,639,,,,,,,,,,,,,,,,,,,,639,,,639,,,639,639,,,639,',
',,,,639,,,,,,,,,639,,,,,639,639,639,639,,639,639,639,639,,,,,639,639',
'20,20,20,,20,,639,,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,678,678,678,,678,,20,,678,678,,',
',678,,678,678,678,678,678,678,678,,,,,,678,678,678,678,678,678,678,',
',678,,,,,,,678,,,678,678,678,678,678,678,678,678,,678,678,678,,678,678',
',678,678,678,,,,,,,,,,,,,,,,,,,,678,,,678,,,678,678,,,678,,,,,,678,',
',,,,,,,678,,,,,678,678,678,678,,678,678,678,678,,,,,678,678,684,684',
'684,,684,,678,,684,684,,,,684,,684,684,684,684,684,684,684,,,,,,684',
'684,684,684,684,684,684,,,684,,,,,,,684,,,684,684,684,684,684,684,684',
'684,,684,684,684,,684,684,,,,684,,,,,,,,,,,,,,,,,,,,684,,,684,,,684',
'684,,,684,,,,,,,,,,,,,,,,,,,,684,684,684,684,,684,684,684,684,,,,,684',
'684,742,742,742,,742,,684,,742,742,,,,742,,742,742,742,742,742,742,742',
',,,,,742,742,742,742,742,742,742,,,742,,,,,,,742,,,742,742,742,742,742',
'742,742,742,,742,742,742,,742,742,,742,742,742,,,,,,,,,,,,,,,,,,,,742',
',,742,,,742,742,,,742,,,,,,742,,,,,,,,,742,,,,,742,742,742,742,,742',
'742,742,742,,,,,742,742,638,638,638,,638,,742,,638,638,,,,638,,638,638',
'638,638,638,638,638,,,,,,638,638,638,638,638,638,638,,,638,,,,,,,638',
',,638,638,638,638,638,638,638,638,,638,638,638,,638,638,,638,638,638',
',,,,,,,,,,,,,,,,,,,638,,,638,,,638,638,,,638,,638,,,,638,,,,,,,,,638',
',,,,638,638,638,638,,638,638,638,638,,,,,638,638,367,367,367,,367,,638',
',367,367,,,,367,,367,367,367,367,367,367,367,,,,,,367,367,367,367,367',
'367,367,,,367,,,,,,,367,,,367,367,367,367,367,367,367,367,,367,367,367',
',367,367,,367,367,367,,,,,,,,,,,,,,,,,,,,367,,,367,,,367,367,,,367,',
',,,,367,,,,,,,,,367,,,,,367,367,367,367,,367,367,367,367,,,,,367,367',
'366,366,366,,366,,367,,366,366,,,,366,,366,366,366,366,366,366,366,',
',,,,366,366,366,366,366,366,366,,,366,,,,,,,366,,,366,366,366,366,366',
'366,366,366,,366,366,366,,366,366,,366,366,366,,,,,,,,,,,,,,,,,,,,366',
',,366,,,366,366,,,366,,,,,,366,,,,,,,,,366,,,,,366,366,366,366,,366',
'366,366,366,,,,,366,366,695,695,695,,695,,366,,695,695,,,,695,,695,695',
'695,695,695,695,695,,,,,,695,695,695,695,695,695,695,,,695,,,,,,,695',
',,695,695,695,695,695,695,695,695,,695,695,695,,695,695,,,,695,,,,,',
',,,,,,,,,,,,,,695,,,695,,,695,695,,,695,,,,,,,,,,,,,,,,,,,,695,695,695',
'695,,695,695,695,695,,,,,695,695,979,979,979,,979,,695,,979,979,,,,979',
',979,979,979,979,979,979,979,,,,,,979,979,979,979,979,979,979,,,979',
',,,,,,979,,,979,979,979,979,979,979,979,979,979,979,979,979,,979,979',
',979,979,979,,,,,,,,,,,,,,,,,,,,979,,,979,,,979,979,,,979,,979,,979',
',979,,,979,,,,,,979,,,,,979,979,979,979,,979,979,979,979,,,,,979,979',
'351,351,351,,351,,979,,351,351,,,,351,,351,351,351,351,351,351,351,',
',,,,351,351,351,351,351,351,351,,,351,,,,,,,351,,,351,351,351,351,351',
'351,351,351,,351,351,351,,351,351,,351,351,351,,,,,,,,,,,,,,,,,,,,351',
',,351,,,351,351,,,351,,,,,,351,,,,,,,,,351,,,,,351,351,351,351,,351',
'351,351,351,,,,,351,351,224,224,224,,224,,351,,224,224,,,,224,,224,224',
'224,224,224,224,224,,,,,,224,224,224,224,224,224,224,,,224,,,,,,,224',
',,224,224,224,224,224,224,224,224,,224,224,224,,224,224,,224,224,224',
'452,452,452,452,452,452,452,452,452,452,452,,452,452,,,452,452,,224',
',,224,,,224,224,,,224,,,452,,452,224,452,452,,452,452,452,452,452,224',
'452,,,,224,224,224,224,,224,224,224,224,,,,,224,224,,452,,,,,224,9,9',
'9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,,,,9,9,9,9,9,9,9,9,9,9,',
',,,,9,9,9,9,9,9,9,9,9,,,9,,,,,,,,,9,9,,9,9,9,9,9,9,9,,,9,9,,,,9,9,9',
'9,,,,,,,,,,,,,,9,9,,9,9,9,9,9,9,9,9,9,9,9,9,,,9,9,,,,,,,,,,,,,,9,635',
'635,635,635,635,635,635,635,635,635,635,635,635,635,635,635,635,635',
'635,635,635,635,635,635,,,,635,635,635,635,635,635,635,635,635,635,',
',,,,635,635,635,635,635,635,635,635,635,,,635,,,,,,,,,635,635,,635,635',
'635,635,635,635,635,,,635,635,,,,635,635,635,635,,,,,,,,,,,,,,635,635',
',635,635,635,635,635,635,635,635,635,635,635,635,,,635,635,,,,,,,,,',
',,,,635,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,,,,8,8,8,8,8',
'8,8,8,8,8,,,,,,8,8,8,8,8,8,8,8,8,8,,8,,,,,,,,,8,8,,8,8,8,8,8,8,8,,,8',
'8,,,,8,8,8,8,,,,,,,,,,,,,,8,8,,8,8,8,8,8,8,8,8,8,8,8,8,,,8,8,,,,,,,',
',,,,,,8,421,421,421,421,421,421,421,421,421,421,421,421,421,421,421',
'421,421,421,421,421,421,421,421,421,,,,421,421,421,421,421,421,421,421',
'421,421,,,,,,421,421,421,421,421,421,421,421,421,,,421,,,,,,,,,421,421',
',421,421,421,421,421,421,421,,,421,421,,,,421,421,421,421,,,,,,,,,,',
',,,421,421,,421,421,421,421,421,421,421,421,421,421,421,421,,,421,421',
',,,,,,,,,,,,,421,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,755,,,755,755,,,,755,755,755,755',
',,,,,,,,,,,,,755,755,,755,755,755,755,755,755,755,755,755,755,755,755',
',,755,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71',
'71,71,71,,,,71,71,71,71,71,71,71,71,71,71,,,,,,71,71,71,71,71,71,71',
'71,71,71,71,71,,71,,,,,,,71,71,,71,71,71,71,71,71,71,,,71,71,,,,71,71',
'71,71,,,,,,71,,,,,,,,71,71,,71,71,71,71,71,71,71,71,71,71,71,71,,,71',
'21,21,21,21,21,21,21,21,21,21,21,,21,21,,,21,21,,950,,950,950,950,950',
'950,,,,,,,21,,21,950,21,21,,21,21,21,21,21,,21,873,873,873,873,873,873',
'873,873,873,873,873,950,873,873,,,873,873,,21,,,950,950,,,,950,,,,,873',
',873,,873,873,,873,873,873,873,873,,873,545,545,545,545,545,545,545',
'545,545,545,545,,545,545,,,545,545,,873,,,567,,567,567,567,567,567,',
',,545,,545,,545,545,567,545,545,545,545,545,,545,497,497,497,497,497',
'497,497,497,497,497,497,,497,497,567,,497,497,,545,,,,567,567,567,567',
',,,567,,497,,497,,497,497,,497,497,497,497,497,,497,270,270,270,270',
'270,270,270,270,270,270,270,,270,270,,,270,270,497,497,,,569,,569,569',
'569,569,569,,,,270,,270,,270,270,569,270,270,270,270,270,,270,786,786',
'786,786,786,786,786,786,786,786,786,,786,786,569,,786,786,,270,,,,569',
'569,569,569,,,,569,,786,,786,,786,786,,786,786,786,786,786,,786,784',
'784,784,784,784,784,784,784,784,784,784,,784,784,,,784,784,,786,,,571',
',571,571,571,571,571,,,,784,,784,,784,784,571,784,784,784,784,784,,784',
'870,870,870,870,870,870,870,870,870,870,870,,870,870,571,,870,870,,784',
',,,,,571,571,,,,571,,870,,870,,870,870,,870,870,870,870,870,,870,772',
'772,772,772,772,772,772,772,772,772,772,,772,772,,,772,772,,870,,,924',
',924,924,924,924,924,,,,772,,772,,772,772,924,772,772,772,772,772,,772',
'777,777,777,777,777,777,777,777,777,777,777,,777,777,924,924,777,777',
',772,,,,924,924,924,924,,,,924,,777,,777,,777,777,,777,777,777,777,777',
',777,779,779,779,779,779,779,779,779,779,779,779,,779,779,,,779,779',
',777,,,837,,837,837,837,837,837,,,,779,,779,,779,779,837,779,779,779',
'779,779,,779,782,782,782,782,782,782,782,782,782,782,782,,782,782,837',
',782,782,,779,,,,,,837,837,,,,837,,782,,782,,782,782,,782,782,782,782',
'782,,782,696,696,696,696,696,696,696,696,696,696,696,,696,696,,,696',
'696,,782,,,,,,,,,,,,,696,,696,,696,696,,696,696,696,696,696,,696,,,',
',602,602,,,602,,,,,,,,,602,602,696,602,602,602,602,602,602,602,,,602',
'602,,,,602,602,602,602,,,,,,602,,,,,,,,602,602,,602,602,602,602,602',
'602,602,602,602,602,602,602,603,603,602,,603,,,,,,,,,603,603,,603,603',
'603,603,603,603,603,,,603,603,,,,603,603,603,603,,,,,,603,,,,,,,,603',
'603,,603,603,603,603,603,603,603,603,603,603,603,603,595,595,603,,595',
',,,,,,,,595,595,,595,595,595,595,595,595,595,,,595,595,,,,595,595,595',
'595,,,,,,595,,,,,,,,595,595,,595,595,595,595,595,595,595,595,595,595',
'595,595,980,980,595,,980,,,,,,,,,980,980,,980,980,980,980,980,980,980',
',,980,980,,,,980,980,980,980,,,,,,980,,,,,,,,980,980,,980,980,980,980',
'980,980,980,980,980,980,980,980,466,466,980,,466,,,,,,,,,466,466,,466',
'466,466,466,466,466,466,,,466,466,,,,466,466,466,466,,,,,,466,,,,,,',
',466,466,,466,466,466,466,466,466,466,466,466,466,466,466,531,531,466',
',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,207,207,531,,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,255,255,207,,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,465,465',
'255,,465,,,,,,,,,465,465,,465,465,465,465,465,465,465,,,465,465,,,,465',
'465,465,465,,,,,,465,,,,,,,,465,465,,465,465,465,465,465,465,465,465',
'465,465,465,465,206,206,465,,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,981,981,206,,981,,,,,,,,,981',
'981,,981,981,981,981,981,981,981,,,981,981,,,,981,981,981,981,,,,,,981',
',,,,,,,981,981,,981,981,981,981,981,981,981,981,981,981,981,981,543',
'543,981,,543,,,,,,,,,543,543,,543,543,543,543,543,543,543,,,543,543',
',,,543,543,543,543,,,,,,543,,,,,,,,543,543,,543,543,543,543,543,543',
'543,543,543,543,543,543,544,544,543,,544,,,,,,,,,544,544,,544,544,544',
'544,544,544,544,,,544,544,,,,544,544,544,544,,,,,,544,,,,,,,,544,544',
',544,544,544,544,544,544,544,544,544,544,544,544,532,532,544,,532,,',
',,,,,,532,532,,532,532,532,532,532,532,532,,,532,532,,,,532,532,532',
'532,,,,,,532,,,,,,,,532,532,,532,532,532,532,532,532,532,532,532,532',
'532,532,937,937,532,,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,596,596,937,,596,,,,,,,,,596,596,,596',
'596,596,596,596,596,596,,,596,596,,,,596,596,596,596,,,,,,596,,,,,,',
',596,596,,596,596,596,596,596,596,596,596,596,596,596,596,,835,596,835',
'835,835,835,835,,833,,833,833,833,833,833,,835,,,,,,,753,833,753,753',
'753,753,753,,333,,333,333,333,333,333,835,753,,,,,,,833,333,,835,835',
',,,835,833,833,833,833,,,753,833,,,,,,,333,753,753,753,753,,,,753,333',
'333,333,333,,,611,333,611,611,611,611,611,839,,839,839,839,839,839,',
'877,611,877,877,877,877,877,,839,,,,,,,879,877,879,879,879,879,879,',
'611,611,,,,,,839,879,611,611,611,611,,,877,611,,839,839,,,,839,877,877',
'877,877,,,879,877,967,,967,967,967,967,967,879,879,879,879,,,,879,969',
'967,969,969,969,969,969,,971,,971,971,971,971,971,,969,,,,,,,967,971',
'62,,62,62,62,62,62,967,967,967,967,,,969,967,,62,,,,,971,,,969,969,',
',,969,,,971,971,,,,971,62,62,881,,881,881,881,881,881,62,62,62,62,,',
',62,,881,,,,,,,,,,,,,,,,,,,,,,881,,,,,,,,,,,881,881,,,,881' ]
racc_action_check = arr = ::Array.new(25032, 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 = [
5357, 1285, nil, 37, nil, 16848, 1339, 1163, 22660, 22402,
1161, nil, 1093, 1144, 1060, 557, 1069, 726, nil, 90,
20976, 23081, 1171, nil, 407, nil, 199, 1187, 2749, 20202,
19815, 17751, nil, 3275, 17493, 17364, nil, 1059, 564, 491,
1108, 632, 15300, 5616, 10913, 977, 861, nil, nil, nil,
nil, nil, nil, nil, nil, nil, 782, nil, 7945, 7042,
6913, 75, 24886, 5745, 5874, nil, nil, 6003, 6139, 6268,
6397, 23032, nil, nil, nil, nil, nil, 36, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, 268, nil, nil, 0, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, 1072, nil, 7171, nil, nil,
nil, nil, 7300, 7429, 7558, 7687, 7816, 5097, nil, 409,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
912, nil, 4835, 8461, 8590, 8719, 24257, 24071, 9106, 9235,
9364, 9493, 9622, 9751, nil, nil, 969, 326, 146, 962,
247, 868, 894, nil, 22266, 4575, 886, 11171, 11300, 11429,
11558, 11687, 11816, 11945, 12074, 12203, 12332, 12461, 12590, 12719,
12848, 12977, 13106, 13235, 13364, 13493, 13622, 13751, 13880, 14009,
14138, 14267, 14396, nil, nil, 24133, nil, nil, 876, 14783,
14912, nil, nil, nil, nil, nil, nil, nil, 15041, nil,
23265, nil, 831, 828, nil, 15558, 873, 15816, nil, 15945,
16074, nil, nil, 287, nil, 16332, 1393, 814, 784, 3795,
791, 830, 777, 17235, 3535, 885, 856, 1097, 819, 651,
nil, 738, 681, 80, nil, nil, nil, 715, 765, 642,
18912, nil, 461, 702, 680, 928, nil, 612, nil, 19686,
3015, 794, 518, nil, 579, 673, 517, 492, 653, 492,
nil, nil, 54, 24723, nil, 413, 399, nil, 395, 386,
382, nil, nil, nil, nil, nil, nil, 364, nil, 746,
nil, 22137, nil, nil, nil, 75, nil, nil, nil, 551,
nil, nil, 397, 778, 115, 48, 21750, 21621, 549, 600,
491, 121, 101, 320, 716, 165, 810, nil, nil, 411,
483, 144, nil, 1126, nil, 55, 17106, nil, nil, nil,
553, 580, 369, 529, 558, 494, 484, 441, 440, nil,
467, nil, 14525, nil, 507, 484, 439, 433, 265, 101,
96, 268, nil, nil, nil, nil, nil, nil, nil, nil,
833, 22789, nil, nil, nil, nil, 838, nil, 846, nil,
20331, 894, nil, 4835, 902, nil, 910, 939, 565, 532,
1317, nil, nil, nil, 514, 135, 992, nil, nil, 1052,
917, nil, 22266, nil, 959, nil, nil, 6003, nil, nil,
nil, nil, 278, nil, 1014, 24195, 23947, 20589, 246, 19944,
19428, 19299, 2233, 1843, 536, 471, 1048, 1050, 1090, 1107,
2697, 3145, 3015, 2885, 865, 1265, 1135, 1000, 1453, 2103,
1973, 1713, 1583, 765, 739, 2363, 2493, 23219, 248, 4961,
nil, nil, nil, nil, 1079, nil, 87, 40, 1109, nil,
nil, 10010, nil, 9881, nil, 8977, nil, nil, nil, nil,
8848, 1270, 5487, 1149, -109, nil, nil, 1149, 8203, 1148,
6784, 24009, 24505, 1056, 1143, nil, nil, 10139, 1088, nil,
10526, 15171, 15687, 24381, 24443, 23173, 16203, 1200, 1197, 1066,
1098, nil, 16590, nil, nil, 16719, nil, nil, nil, nil,
4445, 1583, 1050, 601, nil, nil, 287, 23211, nil, 23303,
nil, 23395, nil, 16977, nil, 654, nil, 1045, 398, nil,
1047, nil, nil, nil, nil, 1453, 1164, nil, 0, 191,
94, 1156, 1159, 18783, 19041, 23823, 24629, 66, nil, nil,
279, nil, 23699, 23761, 20460, nil, nil, nil, 561, 122,
2623, 24776, nil, 266, nil, nil, nil, 1281, nil, nil,
nil, 954, nil, nil, 300, nil, 194, nil, nil, 923,
nil, 922, nil, nil, nil, 22531, nil, 908, 21492, 20847,
542, 914, 19170, 18396, 14654, 11042, 839, nil, nil, 10655,
17622, 812, nil, 6526, 6655, nil, nil, 244, 210, 647,
403, 764, 2623, 754, nil, 4925, nil, 1713, 851, 127,
177, nil, 1843, 1973, nil, 699, nil, 700, 21105, nil,
nil, nil, 623, 561, 21234, 536, nil, 506, 159, 293,
459, 276, 991, 394, 324, 21879, 23633, 355, 134, 130,
67, 10784, nil, 94, nil, 533, 113, 222, 134, 225,
190, nil, nil, nil, 196, 198, nil, 216, 245, nil,
274, nil, 289, 713, 304, 981, nil, 779, nil, 450,
nil, nil, nil, nil, 457, nil, 152, 364, 157, 145,
172, 166, 21363, 343, 1024, nil, 432, 2103, 20718, nil,
nil, 595, 2493, 24715, 546, 22918, nil, nil, nil, nil,
nil, nil, 2885, nil, nil, nil, nil, nil, nil, nil,
507, 20073, 23449, 19557, nil, 578, nil, 23495, nil, 23541,
nil, nil, 23587, nil, 23357, nil, 23311, 18654, 18525, 18267,
18138, 59, 18009, 702, 703, nil, 705, 706, 707, nil,
737, 717, 724, 17880, nil, nil, 866, nil, nil, 3145,
766, 873, nil, nil, nil, 750, 356, nil, nil, 885,
nil, 3405, 764, 819, nil, nil, nil, nil, nil, nil,
1251, nil, nil, 24700, nil, 24692, nil, 23579, nil, 24783,
nil, nil, nil, nil, 406, 851, 803, 929, nil, 16461,
942, 4055, 4185, nil, 15429, 4315, 123, 190, nil, 969,
440, 4705, nil, 973, 867, nil, nil, 871, 870, nil,
23403, 10397, 10268, 23127, 672, nil, nil, 24791, nil, 24806,
nil, 24926, nil, nil, 946, 8074, 889, 1007, nil, 957,
nil, nil, nil, 5227, nil, nil, 128, 8332, nil, 412,
nil, nil, nil, 952, 953, 956, 962, 963, 1116, 966,
986, nil, 51, nil, 1102, 1104, nil, 141, nil, nil,
nil, 1107, nil, nil, 23487, nil, 999, nil, nil, 1005,
1008, 1010, 1014, nil, 1018, nil, 584, 24567, nil, nil,
nil, 3925, 655, 680, 735, 1122, 834, nil, nil, 1195,
23116, nil, nil, nil, nil, 846, 1058, 3665, nil, nil,
nil, nil, nil, 2363, nil, 2233, nil, 24846, nil, 24861,
nil, 24869, nil, 4954, nil, nil, 1125, 1127, 1214, 22008,
23885, 24319, 1131, nil, 1101, 1103, 803, 1234, 1235, 1117,
1119, 1134, 1135, nil, 1142, 129, 142, 182, 925, nil,
nil, nil, nil, 4978, nil, nil, nil, nil, 101, 1153,
nil ]
racc_action_default = [
-3, -583, -1, -569, -4, -583, -7, -583, -583, -583,
-583, -29, -583, -583, -583, -279, -583, -41, -44, -571,
-583, -49, -51, -52, -53, -57, -258, -258, -258, -292,
-327, -328, -69, -11, -73, -81, -83, -583, -480, -481,
-583, -583, -583, -583, -583, -571, -239, -270, -271, -272,
-273, -274, -275, -276, -277, -278, -559, -281, -285, -582,
-550, -300, -512, -583, -583, -305, -308, -569, -583, -583,
-583, -583, -329, -330, -424, -425, -426, -427, -428, -448,
-431, -450, -452, -435, -440, -444, -446, -462, -450, -464,
-465, -557, -469, -470, -558, -472, -473, -474, -475, -476,
-477, -478, -479, -484, -485, -583, -2, -570, -578, -579,
-580, -6, -583, -583, -583, -583, -583, -3, -17, -583,
-112, -113, -114, -115, -116, -117, -118, -119, -120, -124,
-125, -126, -127, -128, -129, -130, -131, -132, -133, -134,
-135, -136, -137, -138, -139, -140, -141, -142, -143, -144,
-145, -146, -147, -148, -149, -150, -151, -152, -153, -154,
-155, -156, -157, -158, -159, -160, -161, -162, -163, -164,
-165, -166, -167, -168, -169, -170, -171, -172, -173, -174,
-175, -176, -177, -178, -179, -180, -181, -182, -183, -184,
-185, -186, -187, -188, -189, -190, -191, -192, -193, -194,
-22, -121, -11, -583, -583, -248, -583, -583, -583, -583,
-583, -583, -583, -571, -572, -48, -583, -480, -481, -583,
-279, -583, -583, -231, -583, -11, -583, -583, -583, -583,
-583, -583, -583, -583, -583, -583, -583, -583, -583, -583,
-583, -583, -583, -583, -583, -583, -583, -583, -583, -583,
-583, -583, -583, -393, -395, -583, -567, -568, -58, -248,
-583, -299, -399, -408, -410, -64, -405, -65, -571, -66,
-240, -253, -262, -262, -257, -583, -263, -583, -552, -583,
-583, -67, -68, -569, -12, -583, -15, -583, -71, -11,
-571, -583, -74, -77, -11, -89, -90, -583, -583, -97,
-292, -295, -571, -583, -327, -328, -331, -406, -583, -79,
-583, -85, -289, -466, -467, -583, -216, -217, -232, -583,
-11, -283, -571, -241, -575, -575, -583, -583, -575, -583,
-301, -302, -583, -512, -390, -547, -547, -495, -497, -497,
-497, -511, -513, -514, -515, -516, -517, -518, -519, -583,
-521, -583, -527, -529, -530, -532, -537, -539, -540, -542,
-543, -544, -583, -50, -583, -583, -583, -583, -569, -583,
-570, -480, -481, -583, -583, -279, -583, -341, -342, -107,
-108, -583, -110, -583, -279, -583, -583, -480, -481, -320,
-112, -113, -154, -155, -156, -172, -177, -184, -187, -322,
-583, -548, -583, -429, -583, -583, -583, -583, -583, -583,
-583, -583, 1011, -5, -581, -23, -24, -25, -26, -27,
-583, -583, -19, -20, -21, -122, -583, -30, -39, -40,
-583, -583, -31, -197, -571, -249, -262, -262, -560, -561,
-258, -403, -562, -563, -561, -560, -258, -402, -404, -562,
-563, -37, -205, -38, -583, -42, -43, -195, -263, -45,
-46, -47, -571, -298, -583, -583, -583, -248, -289, -583,
-583, -583, -206, -207, -208, -209, -210, -211, -212, -213,
-218, -219, -220, -221, -222, -223, -224, -225, -226, -227,
-228, -229, -230, -233, -234, -235, -236, -571, -377, -258,
-560, -561, -55, -59, -571, -259, -377, -377, -571, -294,
-254, -583, -255, -583, -260, -583, -264, -555, -556, -10,
-570, -14, -3, -571, -70, -287, -86, -75, -583, -571,
-248, -583, -583, -96, -583, -466, -467, -583, -82, -87,
-583, -583, -583, -583, -583, -237, -583, -416, -583, -571,
-583, -242, -577, -576, -244, -577, -290, -291, -551, -388,
-11, -11, -571, -583, -493, -494, -583, -583, -504, -583,
-507, -583, -509, -583, -343, -583, -345, -347, -354, -518,
-571, -523, -531, -541, -545, -11, -332, -333, -11, -583,
-583, -583, -583, -583, -248, -583, -583, -289, -313, -107,
-108, -109, -583, -583, -248, -316, -486, -487, -583, -583,
-11, -512, -324, -571, -430, -449, -454, -583, -456, -432,
-451, -583, -453, -434, -583, -437, -583, -439, -442, -583,
-443, -583, -463, -8, -18, -583, -28, -269, -583, -583,
-407, -583, -250, -252, -583, -583, -60, -247, -400, -583,
-583, -62, -401, -583, -583, -297, -573, -560, -561, -560,
-561, -571, -195, -583, -378, -571, -380, -11, -54, -396,
-377, -245, -11, -11, -293, -262, -261, -265, -583, -553,
-554, -13, -583, -72, -583, -78, -84, -571, -560, -561,
-246, -93, -95, -583, -80, -583, -204, -214, -215, -571,
-582, -582, -282, -583, -286, -575, -583, -583, -382, -583,
-547, -528, -546, -496, -497, -497, -522, -497, -497, -538,
-497, -533, -571, -583, -352, -583, -520, -582, -334, -582,
-306, -335, -336, -309, -583, -312, -583, -571, -560, -561,
-564, -288, -583, -107, -108, -111, -571, -11, -583, -489,
-318, -583, -11, -512, -583, -583, -549, -455, -458, -459,
-460, -461, -11, -433, -436, -438, -441, -445, -447, -123,
-267, -583, -198, -583, -574, -262, -33, -200, -34, -201,
-61, -35, -203, -36, -202, -63, -196, -583, -583, -583,
-583, -407, -583, -547, -547, -359, -361, -361, -361, -376,
-583, -571, -518, -583, -525, -535, -583, -398, -397, -11,
-583, -583, -256, -266, -16, -76, -91, -88, -296, -582,
-339, -11, -417, -582, -418, -419, -284, -243, -391, -392,
-583, -389, -492, -583, -500, -583, -502, -583, -505, -583,
-508, -510, -344, -346, -350, -583, -355, -583, -337, -583,
-583, -11, -11, -311, -583, -11, -407, -583, -407, -583,
-583, -11, -321, -583, -571, -491, -325, -583, -268, -32,
-199, -251, -583, -238, -583, -357, -358, -367, -369, -583,
-372, -583, -374, -379, -583, -583, -524, -583, -394, -583,
-409, -411, -9, -11, -423, -340, -583, -583, -421, -571,
-384, -386, -387, -497, -497, -497, -497, -348, -583, -353,
-583, -303, -583, -304, -583, -583, -265, -582, -314, -317,
-488, -583, -323, -490, -512, -457, -547, -526, -360, -361,
-361, -361, -361, -536, -361, -381, -534, -583, -289, -56,
-422, -11, -98, -99, -583, -583, -106, -420, -383, -583,
-583, -498, -501, -503, -506, -583, -351, -11, -307, -310,
-412, -413, -414, -11, -319, -11, -356, -583, -364, -583,
-366, -583, -370, -583, -373, -375, -288, -564, -416, -248,
-583, -583, -105, -385, -497, -349, -582, -583, -583, -361,
-361, -361, -361, -415, -571, -560, -561, -564, -104, -499,
-338, -315, -326, -583, -362, -365, -368, -371, -407, -361,
-363 ]
clist = [
'14,271,271,271,399,14,334,341,434,254,323,700,330,548,592,456,255,272',
'272,272,216,123,123,503,292,106,429,752,107,216,216,216,453,14,297,297',
'128,128,440,446,847,2,262,266,716,564,565,324,719,309,512,551,554,797',
'212,558,730,733,216,118,201,640,504,216,216,126,126,216,373,383,383',
'26,709,290,585,588,26,538,215,111,319,601,843,6,123,679,406,499,6,369',
'288,26,258,265,267,580,306,306,861,902,26,26,26,610,26,364,365,14,846',
'368,900,611,216,216,216,216,14,14,819,715,676,717,676,385,389,755,405',
'679,933,26,306,306,306,411,26,26,624,626,26,269,281,282,924,273,273',
'273,331,850,326,615,963,622,625,625,415,416,417,418,420,742,667,799',
'635,852,367,851,801,670,672,673,366,322,421,325,328,800,899,271,26,549',
'320,413,332,26,26,26,26,26,26,321,6,431,559,378,363,363,200,431,363',
'419,6,498,14,216,216,216,506,507,216,216,216,216,216,216,512,679,933',
'798,902,960,450,823,441,896,403,14,404,400,909,983,747,271,271,407,669',
'401,734,408,409,410,271,757,762,363,363,363,363,748,272,681,892,676',
'676,714,605,711,272,927,376,216,216,427,432,327,1,929,451,455,216,843',
'661,,,26,26,26,26,562,341,26,26,26,26,26,26,14,,,791,14,,956,,297,14',
'685,26,440,446,1000,539,,745,751,694,519,,527,520,,297,884,719,,816',
',716,,,262,14,722,,266,918,,,,,523,26,26,809,687,529,961,,534,985,26',
'965,459,460,461,462,,288,,13,,,288,,13,716,306,26,550,,,26,,,690,856',
'26,216,216,521,765,505,765,306,858,273,690,,,508,,,13,273,,,903,216',
'574,,,591,26,612,16,,,,737,16,,,,216,,,,,746,589,590,,780,,110,,,785',
',,,832,,568,570,572,,16,690,,930,,931,827,,123,690,,26,26,271,859,,993',
'679,,863,855,,,128,716,815,812,,,13,647,26,,456,,377,652,,13,13,,216',
',641,,,634,26,,,,110,126,450,676,441,,,,,,,,,,,,,,,,363,363,,16,,271',
'875,876,,646,,,16,16,,651,,,647,,609,539,989,14,,14,,824,,,539,297,',
'216,463,663,613,,,,297,26,,,,,,,450,216,441,,291,13,,812,,921,,341,450',
',441,14,14,962,682,,668,271,,,,,,,13,,,271,,,,,736,,,703,14,509,,14',
',306,26,,26,216,16,,708,,306,,26,454,,216,6,941,,524,450,14,441,,574',
',450,724,26,16,441,808,1008,957,,,675,,,,,,26,26,13,,,966,13,,,,,13',
',216,216,,,123,216,216,,825,216,,807,26,,988,26,,,,128,,26,705,14,13',
',,,14,14,539,26,,699,16,,,26,16,,297,817,769,16,866,431,,,126,110,,297',
'641,864,341,,708,,776,778,,,647,781,783,652,,455,,16,,26,26,,426,,26',
'26,641,,26,,,,,,,,,,,,,,26,,,291,216,26,26,,306,14,216,,,,14,,,,775',
'306,,39,,574,14,574,39,,,,123,,894,,641,216,898,,,,110,,655,641,994',
',857,,,,,,860,,39,296,296,606,,,834,836,710,838,840,886,841,291,,,,14',
'291,,690,26,,,,,26,26,,14,671,26,,,674,372,388,388,388,869,,26,,,708',
',,,,683,,,26,,,686,,216,,14,14,,,14,,,,,,14,,,,306,39,,13,341,13,,,363',
',39,39,,,363,26,,907,574,,936,,,,,,912,26,14,,,,944,726,,,,794,,,,,',
'13,13,,,,16,,16,,,,,26,,26,26,,,26,,,,,756,26,13,948,712,13,,712,,38',
'14,,,,38,574,306,574,,450,271,,16,16,,,14,13,306,,39,,14,26,14,,,,,',
',,38,295,295,,,16,216,363,16,,,39,,,951,952,953,954,,,574,450,,441,',
',731,731,,,16,,,,,371,387,387,387,26,,,13,,818,749,750,13,13,,,,,,,26',
'641,,,,,26,,26,795,,,842,,,,39,,454,38,39,,26,,296,39,,,38,38,,,16,',
',,,16,16,,999,296,,,,,,,706,707,,39,,,,,,,,,,,,,,,,13,,,,,13,727,,,729',
',,,,,13,926,,,794,,794,,794,,,,,,718,,720,,,,,,,,,,,,,,16,,38,,,16,',
',,,,,,,,16,,13,,878,880,882,,,865,38,,,,13,,,,,,,,,,,,329,923,806,,',
',,810,811,,,,15,,,,,15,13,13,,16,13,794,,794,,794,13,794,,,,16,,,,,',
'796,,,,,38,15,299,299,38,,,,295,38,,,,,,794,13,,,16,16,712,,16,795,295',
'795,,795,16,,,,,,38,375,384,384,,,,731,,,920,,,,,,,,867,39,,39,,,,,16',
'296,,13,947,,968,970,972,974,296,975,,,15,,,,,13,,,,15,15,13,,13,,,',
',,39,39,,,,428,889,,,,,458,,,,16,,,895,,795,,795,,795,39,795,,39,,,16',
',1004,1005,1006,1007,16,,16,,,,,,,,,914,915,39,,917,1010,,,795,,,,,',
',,,,,,,904,,905,,906,,,15,514,,516,,517,518,,,,,,,,940,,,,,,,,,15,,',
',,,,,39,,,,,39,39,,932,,934,,,,,,,296,,,,,,,,,,,296,,,978,,,38,,38,',
',,,,295,,,,581,986,,,,295,15,987,,,15,,,,299,15,,,,,,,,,,,,,38,38,,299',
',984,39,,,,,39,,15,,,,,,,,39,990,,991,38,992,,38,,,,,,,,,,,,,,,,,,,',
',,38,637,,,,,,,1009,,,,388,,,,,,39,,,,,,,,,,,,39,,,,,,,,,,,,,,,,,,,',
',,,,,,,38,,,39,39,38,38,39,,,,,,39,,,,295,,,,,,,,677,,329,295,680,,',
',,,,,388,,,,,,,,39,,,,943,,,,,,,,,,,,,,,,,677,,,329,,,,,,,,,,,38,,,',
',38,,721,,,,,,39,,38,,,,,,,,,,,15,458,15,39,,,,,299,39,,39,,,,,,299',
',,,,,,,,,,,,387,,,,,,38,,,,15,15,,,,,770,,38,,677,329,,,,,,,,,,,,,,15',
',,15,,,,,,,,,,38,38,,,38,,,,813,,38,,15,,,,,,,761,,,,,,,,,,,,822,,,387',
',,,,,,,38,,,,942,,,,,,,,,,,,,,,,,,,,,,,15,,,,,15,15,,,,,,,,,,,299,,',
',38,,,223,,,,299,,,,868,270,270,270,,38,,,,,,38,,38,316,317,318,,,,',
',,,,,,,,,,270,270,,,,,,,,,,,,,,,,15,,,,,15,,,,,,,,,,15,,,,,,,,,,,,,',
',,,,,,916,,,,,,,,,,,,,,,,,329,,,,384,,,,,,15,,,,,,,,,,,,15,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,15,15,,,15,,,,,,15,,,,,,,,,,,,,270,433,270,,,452',
'457,,,,,384,,,,,,,,15,,223,,946,472,473,474,475,476,477,478,479,480',
'481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497',
',,,,,,270,270,,,,,,,,270,,15,,,,,270,,270,,270,270,,,,,,15,,,,,,15,',
'15,,,,,,,,,,,,,,,,,,,,,,,,,545,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,270,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,270,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,270,,452,662,433,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,270,,270,,270,,,,,,,,,,,,,,,270',
',,,,,,,,,696,697,698,,,,,,,,,,270,,,270,,,,,,,,,,,,,,,,,,270,,,,,,,',
',,,,,,,,,,,,270,270,,,,,,,,,,270,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,270',
'772,,,270,270,777,779,,,,782,784,,,662,786,,,,,,,,,,,,,,,,,,,,,,,,270',
',,,,,,,,,,,,,,,,,,,,,,270,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,270,,870,,,,,,,,,,,,,,777,779,784,782,,873',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,270,,,',
',,,,,,,,,,,,,270,870,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,270' ]
racc_goto_table = arr = ::Array.new(2844, 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 = [
'22,33,33,33,56,22,132,156,23,133,65,10,84,8,90,18,36,66,66,66,22,57',
'57,39,49,4,27,94,6,22,22,22,27,22,22,22,61,61,37,37,88,2,69,69,160,118',
'118,66,164,50,71,67,67,123,31,67,89,89,22,15,15,24,23,22,22,60,60,22',
'22,22,22,41,126,46,87,87,41,51,20,5,31,54,111,7,57,168,146,37,7,4,45',
'41,38,38,38,113,63,63,106,129,41,41,41,107,41,17,17,22,114,17,128,108',
'22,22,22,22,22,22,11,124,72,124,72,55,55,109,145,168,165,41,63,63,63',
'145,41,41,148,148,41,44,44,44,110,68,68,68,86,11,64,149,104,149,149',
'149,17,17,17,17,2,103,40,115,62,102,101,100,121,42,40,40,99,98,30,68',
'68,126,127,33,41,97,96,5,130,41,41,41,41,41,41,29,7,66,131,19,29,29',
'16,66,29,7,7,134,22,22,22,22,136,137,22,22,22,22,22,22,71,168,165,124',
'129,138,57,139,69,140,143,22,144,95,114,128,105,33,33,147,70,82,90,150',
'151,152,33,153,154,29,29,29,29,155,66,14,12,72,72,159,92,161,66,162',
'91,22,22,20,20,83,1,123,20,20,22,111,23,,,41,41,41,41,132,156,41,41',
'41,41,41,41,22,,,24,22,,114,,22,22,51,41,37,37,88,49,,54,8,51,4,,50',
'6,,22,126,164,,24,,160,,,69,22,113,,69,89,,,,,46,41,41,40,23,46,11,',
'31,114,41,94,29,29,29,29,,45,,21,,,45,,21,160,63,41,31,,,41,,,37,24',
'41,22,22,7,149,44,149,63,24,68,37,,,44,,,21,68,,,124,22,112,,,4,41,36',
'26,,,,23,26,,,,22,,,,,23,17,17,,39,,93,,,39,,,,118,,158,158,158,,26',
'37,,124,,124,67,,57,37,,41,41,33,8,,10,168,,8,87,,,61,160,51,71,,,21',
'69,41,,18,,26,69,,21,21,,22,,31,,,15,41,,,,93,60,57,72,69,,,,,,,,,,',
',,,,,29,29,,26,,33,118,118,,38,,,26,26,,38,,,69,,29,49,124,22,,22,,27',
',,49,22,,22,47,31,29,,,,22,41,,,,,,,57,22,69,,9,21,,71,,8,,156,57,,69',
'22,22,90,2,,38,33,,,,,,,21,,,33,,,,,66,,,31,22,47,,22,,63,41,,41,22',
'26,,31,,63,,41,26,,22,7,87,,47,57,22,69,,112,,57,112,41,26,69,84,24',
'87,,,68,,,,,,41,41,21,,,118,21,,,,,21,,22,22,,,57,22,22,,65,22,,133',
'41,,8,41,,,,61,,41,68,22,21,,,,22,22,49,41,,29,26,,,41,26,,22,49,15',
'26,56,66,,,60,93,,22,31,132,156,,31,,20,20,,,69,20,20,69,,20,,26,,41',
'41,,9,,41,41,31,,41,,,,,,,,,,,,,,41,,,9,22,41,41,,63,22,22,,,,22,,,',
'68,63,,53,,112,22,112,53,,,,57,,65,,31,22,65,,,,93,,47,31,23,,17,,,',
',,17,,53,53,53,93,,,158,158,117,158,158,22,158,9,,,,22,9,,37,41,,,,',
'41,41,,22,47,41,,,47,53,53,53,53,20,,41,,,31,,,,,47,,,41,,,47,,22,,22',
'22,,,22,,,,,,22,,,,63,53,,21,156,21,,,29,,53,53,,,29,41,,112,112,,22',
',,,,,17,41,22,,,,22,47,,,,117,,,,,,21,21,,,,26,,26,,,,,41,,41,41,,,41',
',,,,47,41,21,31,119,21,,119,,52,22,,,,52,112,63,112,,57,33,,26,26,,',
'22,21,63,,53,,22,41,22,,,,,,,,52,52,52,,,26,22,29,26,,,53,,,158,158',
'158,158,,,112,57,,69,,,93,93,,,26,,,,,52,52,52,52,41,,,21,,47,93,93',
'21,21,,,,,,,41,31,,,,,41,,41,119,,,47,,,,53,,26,52,53,,41,,53,53,,,52',
'52,,,26,,,,,26,26,,158,53,,,,,,,9,9,,53,,,,,,,,,,,,,,,,21,,,,,21,9,',
',9,,,,,,21,117,,,117,,117,,117,,,,,,122,,122,,,,,,,,,,,,,,26,,52,,,26',
',,,,,,,,,26,,21,,120,120,120,,,93,52,,,,21,,,,,,,,,,,,28,47,9,,,,,9',
'9,,,,25,,,,,25,21,21,,26,21,117,,117,,117,21,117,,,,26,,,,,,122,,,,',
'52,25,25,25,52,,,,52,52,,,,,,117,21,,,26,26,119,,26,119,52,119,,119',
'26,,,,,,52,25,25,25,,,,93,,,93,,,,,,,,9,53,,53,,,,,26,53,,21,26,,120',
'120,120,120,53,120,,,25,,,,,21,,,,25,25,21,,21,,,,,,53,53,,,,28,9,,',
',,28,,,,26,,,9,,119,,119,,119,53,119,,53,,,26,,120,120,120,120,26,,26',
',,,,,,,,9,9,53,,9,120,,,119,,,,,,,,,,,,,122,,122,,122,,,25,28,,28,,28',
'28,,,,,,,,9,,,,,,,,,25,,,,,,,,53,,,,,53,53,,122,,122,,,,,,,53,,,,,,',
',,,,53,,,9,,,52,,52,,,,,,52,,,,28,9,,,,52,25,9,,,25,,,,25,25,,,,,,,',
',,,,,52,52,,25,,122,53,,,,,53,,25,,,,,,,,53,122,,122,52,122,,52,,,,',
',,,,,,,,,,,,,,,,,52,28,,,,,,,122,,,,53,,,,,,53,,,,,,,,,,,,53,,,,,,,',
',,,,,,,,,,,,,,,,,,,52,,,53,53,52,52,53,,,,,,53,,,,52,,,,,,,,28,,28,52',
'28,,,,,,,,53,,,,,,,,53,,,,53,,,,,,,,,,,,,,,,,28,,,28,,,,,,,,,,,52,,',
',,52,,28,,,,,,53,,52,,,,,,,,,,,25,28,25,53,,,,,25,53,,53,,,,,,25,,,',
',,,,,,,,,52,,,,,,52,,,,25,25,,,,,28,,52,,28,28,,,,,,,,,,,,,,25,,,25',
',,,,,,,,,52,52,,,52,,,,28,,52,,25,,,,,,,25,,,,,,,,,,,,28,,,52,,,,,,',
',52,,,,52,,,,,,,,,,,,,,,,,,,,,,,25,,,,,25,25,,,,,,,,,,,25,,,,52,,,32',
',,,25,,,,28,32,32,32,,52,,,,,,52,,52,32,32,32,,,,,,,,,,,,,,,32,32,,',
',,,,,,,,,,,,,25,,,,,25,,,,,,,,,,25,,,,,,,,,,,,,,,,,,,,28,,,,,,,,,,,',
',,,,,28,,,,25,,,,,,25,,,,,,,,,,,,25,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25',
'25,,,25,,,,,,25,,,,,,,,,,,,,32,32,32,,,32,32,,,,,25,,,,,,,,25,,32,,25',
'32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32',
'32,32,32,,,,,,,32,32,,,,,,,,32,,25,,,,,32,,32,,32,32,,,,,,25,,,,,,25',
',25,,,,,,,,,,,,,,,,,,,,,,,,,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,32,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,32,,32,32,32,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,32,,32,,32,,,,,,,,,,,,,,,32,,,,,,,,,,32',
'32,32,,,,,,,,,,32,,,32,,,,,,,,,,,,,,,,,,32,,,,,,,,,,,,,,,,,,,,32,32',
',,,,,,,,,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,32,32,,,32,32,32,32,,,',
'32,32,,,32,32,,,,,,,,,,,,,,,,,,,,,,,,32,,,,,,,,,,,,,,,,,,,,,,,32,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,32',
',32,,,,,,,,,,,,,,32,32,32,32,,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,32,,,,,,,,,,,,,,,,,32,32,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,32' ]
racc_goto_check = arr = ::Array.new(2844, 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, 264, 41, nil, 22, 74, 25, 83, -307, 516,
-536, -582, -569, nil, -271, 51, 187, 42, -194, 125,
58, 348, 0, -197, -373, 1193, 393, -177, 1121, 131,
54, 35, 1864, -28, nil, nil, -8, -168, 66, -235,
-338, 71, -335, nil, 110, 57, 40, 318, nil, -10,
14, -233, 940, 759, -300, 54, -67, 13, nil, nil,
57, 28, -263, 62, 89, -49, -12, -273, 114, 16,
-265, -223, -391, nil, nil, nil, nil, nil, nil, nil,
nil, nil, 164, 203, -49, nil, 84, -290, -687, -533,
-355, 190, -131, 410, -584, 156, 123, -142, 113, 105,
-565, 98, -570, -439, -768, -375, -652, -286, -288, -487,
-724, -641, 38, -254, -617, -504, nil, 237, -290, 372,
363, -499, 555, -612, -448, nil, -490, -654, -720, -731,
120, -140, -56, -13, -52, nil, -57, -57, -698, -480,
-600, nil, nil, 147, 147, 45, 4, 150, -271, -255,
153, 153, 153, -376, -376, -360, -55, nil, 84, -314,
-523, -308, -617, nil, -521, -751, nil, nil, -428 ]
racc_goto_default = [
nil, nil, nil, 3, nil, 4, 370, 286, nil, 547,
nil, 848, nil, 283, 284, nil, nil, nil, 11, 12,
18, 222, 315, nil, nil, 220, 221, nil, 276, 17,
nil, 464, 21, 22, 23, 24, nil, 693, nil, nil,
nil, 303, nil, 25, 435, 32, nil, nil, 34, 37,
36, nil, 217, 218, 382, nil, 125, 443, 124, 127,
75, 76, nil, 46, nil, 820, 436, nil, 437, 448,
648, 510, 274, 260, 47, 48, 49, 50, 51, 52,
53, 54, 55, nil, 261, 61, nil, nil, nil, nil,
nil, nil, nil, 586, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, 576, 348, nil, 577, 928, 793, 336, nil, 337,
nil, nil, 338, nil, 340, 664, nil, nil, nil, 346,
nil, nil, 754, nil, nil, 447, nil, nil, nil, nil,
nil, 74, 77, 78, nil, nil, nil, nil, nil, 620,
nil, nil, nil, nil, nil, nil, 713, 335, nil, 339,
350, 352, 804, 355, 356, 805, 359, 362, 278 ]
racc_reduce_table = [
0, 0, :racc_error,
1, 142, :_reduce_none,
2, 143, :_reduce_2,
0, 144, :_reduce_3,
1, 144, :_reduce_4,
3, 144, :_reduce_5,
2, 144, :_reduce_6,
1, 146, :_reduce_none,
4, 146, :_reduce_8,
4, 149, :_reduce_9,
2, 150, :_reduce_10,
0, 154, :_reduce_11,
1, 154, :_reduce_12,
3, 154, :_reduce_13,
2, 154, :_reduce_14,
1, 155, :_reduce_none,
4, 155, :_reduce_16,
0, 171, :_reduce_17,
4, 148, :_reduce_18,
3, 148, :_reduce_19,
3, 148, :_reduce_20,
3, 148, :_reduce_21,
2, 148, :_reduce_22,
3, 148, :_reduce_23,
3, 148, :_reduce_24,
3, 148, :_reduce_25,
3, 148, :_reduce_26,
3, 148, :_reduce_27,
4, 148, :_reduce_28,
1, 148, :_reduce_none,
3, 148, :_reduce_30,
3, 148, :_reduce_31,
6, 148, :_reduce_32,
5, 148, :_reduce_33,
5, 148, :_reduce_34,
5, 148, :_reduce_35,
5, 148, :_reduce_36,
3, 148, :_reduce_37,
3, 148, :_reduce_38,
3, 148, :_reduce_39,
3, 148, :_reduce_40,
1, 148, :_reduce_none,
3, 159, :_reduce_42,
3, 159, :_reduce_43,
1, 170, :_reduce_none,
3, 170, :_reduce_45,
3, 170, :_reduce_46,
3, 170, :_reduce_47,
2, 170, :_reduce_48,
1, 170, :_reduce_none,
1, 158, :_reduce_50,
1, 161, :_reduce_none,
1, 161, :_reduce_none,
1, 175, :_reduce_none,
4, 175, :_reduce_54,
0, 183, :_reduce_55,
5, 180, :_reduce_56,
1, 182, :_reduce_none,
2, 174, :_reduce_58,
3, 174, :_reduce_59,
4, 174, :_reduce_60,
5, 174, :_reduce_61,
4, 174, :_reduce_62,
5, 174, :_reduce_63,
2, 174, :_reduce_64,
2, 174, :_reduce_65,
2, 174, :_reduce_66,
2, 174, :_reduce_67,
2, 174, :_reduce_68,
1, 160, :_reduce_69,
3, 160, :_reduce_70,
1, 187, :_reduce_71,
3, 187, :_reduce_72,
1, 186, :_reduce_none,
2, 186, :_reduce_74,
3, 186, :_reduce_75,
5, 186, :_reduce_76,
2, 186, :_reduce_77,
4, 186, :_reduce_78,
2, 186, :_reduce_79,
4, 186, :_reduce_80,
1, 186, :_reduce_81,
3, 186, :_reduce_82,
1, 190, :_reduce_none,
3, 190, :_reduce_84,
2, 189, :_reduce_85,
3, 189, :_reduce_86,
1, 192, :_reduce_87,
3, 192, :_reduce_88,
1, 191, :_reduce_89,
1, 191, :_reduce_90,
4, 191, :_reduce_91,
3, 191, :_reduce_92,
3, 191, :_reduce_93,
3, 191, :_reduce_94,
3, 191, :_reduce_95,
2, 191, :_reduce_96,
1, 191, :_reduce_97,
1, 167, :_reduce_98,
1, 167, :_reduce_99,
4, 167, :_reduce_100,
3, 167, :_reduce_101,
3, 167, :_reduce_102,
3, 167, :_reduce_103,
3, 167, :_reduce_104,
2, 167, :_reduce_105,
1, 167, :_reduce_106,
1, 195, :_reduce_107,
1, 195, :_reduce_none,
2, 196, :_reduce_109,
1, 196, :_reduce_110,
3, 196, :_reduce_111,
1, 197, :_reduce_none,
1, 197, :_reduce_none,
1, 197, :_reduce_none,
1, 197, :_reduce_none,
1, 197, :_reduce_none,
1, 200, :_reduce_117,
1, 200, :_reduce_none,
1, 156, :_reduce_none,
1, 156, :_reduce_none,
1, 157, :_reduce_121,
0, 203, :_reduce_122,
4, 157, :_reduce_123,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
3, 173, :_reduce_195,
5, 173, :_reduce_196,
3, 173, :_reduce_197,
5, 173, :_reduce_198,
6, 173, :_reduce_199,
5, 173, :_reduce_200,
5, 173, :_reduce_201,
5, 173, :_reduce_202,
5, 173, :_reduce_203,
4, 173, :_reduce_204,
3, 173, :_reduce_205,
3, 173, :_reduce_206,
3, 173, :_reduce_207,
3, 173, :_reduce_208,
3, 173, :_reduce_209,
3, 173, :_reduce_210,
3, 173, :_reduce_211,
3, 173, :_reduce_212,
3, 173, :_reduce_213,
4, 173, :_reduce_214,
4, 173, :_reduce_215,
2, 173, :_reduce_216,
2, 173, :_reduce_217,
3, 173, :_reduce_218,
3, 173, :_reduce_219,
3, 173, :_reduce_220,
3, 173, :_reduce_221,
3, 173, :_reduce_222,
3, 173, :_reduce_223,
3, 173, :_reduce_224,
3, 173, :_reduce_225,
3, 173, :_reduce_226,
3, 173, :_reduce_227,
3, 173, :_reduce_228,
3, 173, :_reduce_229,
3, 173, :_reduce_230,
2, 173, :_reduce_231,
2, 173, :_reduce_232,
3, 173, :_reduce_233,
3, 173, :_reduce_234,
3, 173, :_reduce_235,
3, 173, :_reduce_236,
3, 173, :_reduce_237,
6, 173, :_reduce_238,
1, 173, :_reduce_none,
1, 169, :_reduce_240,
1, 205, :_reduce_none,
2, 205, :_reduce_none,
4, 205, :_reduce_243,
2, 205, :_reduce_244,
3, 210, :_reduce_245,
0, 211, :_reduce_246,
1, 211, :_reduce_none,
0, 164, :_reduce_248,
1, 164, :_reduce_none,
2, 164, :_reduce_none,
4, 164, :_reduce_251,
2, 164, :_reduce_252,
1, 185, :_reduce_253,
2, 185, :_reduce_254,
2, 185, :_reduce_255,
4, 185, :_reduce_256,
1, 185, :_reduce_257,
0, 214, :_reduce_258,
2, 179, :_reduce_259,
2, 213, :_reduce_260,
2, 212, :_reduce_261,
0, 212, :_reduce_262,
1, 207, :_reduce_263,
2, 207, :_reduce_264,
3, 207, :_reduce_265,
4, 207, :_reduce_266,
3, 168, :_reduce_267,
4, 168, :_reduce_268,
2, 168, :_reduce_269,
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_280,
0, 237, :_reduce_281,
4, 204, :_reduce_282,
0, 238, :_reduce_283,
5, 204, :_reduce_284,
0, 239, :_reduce_285,
4, 204, :_reduce_286,
3, 204, :_reduce_287,
3, 204, :_reduce_288,
2, 204, :_reduce_289,
3, 204, :_reduce_290,
3, 204, :_reduce_291,
1, 204, :_reduce_292,
4, 204, :_reduce_293,
3, 204, :_reduce_294,
1, 204, :_reduce_295,
5, 204, :_reduce_296,
4, 204, :_reduce_297,
3, 204, :_reduce_298,
2, 204, :_reduce_299,
1, 204, :_reduce_none,
2, 204, :_reduce_301,
2, 204, :_reduce_302,
6, 204, :_reduce_303,
6, 204, :_reduce_304,
0, 240, :_reduce_305,
0, 241, :_reduce_306,
7, 204, :_reduce_307,
0, 242, :_reduce_308,
0, 243, :_reduce_309,
7, 204, :_reduce_310,
5, 204, :_reduce_311,
4, 204, :_reduce_312,
0, 244, :_reduce_313,
0, 245, :_reduce_314,
9, 204, :_reduce_315,
0, 246, :_reduce_316,
6, 204, :_reduce_317,
0, 247, :_reduce_318,
7, 204, :_reduce_319,
0, 248, :_reduce_320,
5, 204, :_reduce_321,
0, 249, :_reduce_322,
6, 204, :_reduce_323,
0, 250, :_reduce_324,
0, 251, :_reduce_325,
9, 204, :_reduce_326,
1, 204, :_reduce_327,
1, 204, :_reduce_328,
1, 204, :_reduce_329,
1, 204, :_reduce_330,
1, 163, :_reduce_331,
1, 228, :_reduce_none,
1, 228, :_reduce_none,
2, 228, :_reduce_none,
1, 230, :_reduce_none,
1, 230, :_reduce_none,
1, 229, :_reduce_none,
5, 229, :_reduce_338,
1, 152, :_reduce_none,
2, 152, :_reduce_340,
1, 232, :_reduce_none,
1, 232, :_reduce_none,
1, 252, :_reduce_343,
3, 252, :_reduce_344,
1, 255, :_reduce_345,
3, 255, :_reduce_346,
1, 254, :_reduce_none,
4, 254, :_reduce_348,
6, 254, :_reduce_349,
3, 254, :_reduce_350,
5, 254, :_reduce_351,
2, 254, :_reduce_352,
4, 254, :_reduce_353,
1, 254, :_reduce_354,
3, 254, :_reduce_355,
4, 256, :_reduce_356,
2, 256, :_reduce_357,
2, 256, :_reduce_358,
1, 256, :_reduce_359,
2, 261, :_reduce_360,
0, 261, :_reduce_361,
6, 262, :_reduce_362,
8, 262, :_reduce_363,
4, 262, :_reduce_364,
6, 262, :_reduce_365,
4, 262, :_reduce_366,
2, 262, :_reduce_none,
6, 262, :_reduce_368,
2, 262, :_reduce_369,
4, 262, :_reduce_370,
6, 262, :_reduce_371,
2, 262, :_reduce_372,
4, 262, :_reduce_373,
2, 262, :_reduce_374,
4, 262, :_reduce_375,
1, 262, :_reduce_none,
0, 181, :_reduce_377,
1, 181, :_reduce_378,
3, 266, :_reduce_379,
1, 266, :_reduce_380,
4, 266, :_reduce_381,
1, 267, :_reduce_382,
4, 267, :_reduce_383,
1, 268, :_reduce_384,
3, 268, :_reduce_385,
1, 269, :_reduce_386,
1, 269, :_reduce_none,
2, 227, :_reduce_388,
4, 271, :_reduce_389,
1, 271, :_reduce_390,
3, 272, :_reduce_391,
3, 272, :_reduce_392,
0, 275, :_reduce_393,
5, 274, :_reduce_394,
2, 176, :_reduce_395,
4, 176, :_reduce_396,
5, 176, :_reduce_397,
5, 176, :_reduce_398,
2, 226, :_reduce_399,
4, 226, :_reduce_400,
4, 226, :_reduce_401,
3, 226, :_reduce_402,
3, 226, :_reduce_403,
3, 226, :_reduce_404,
2, 226, :_reduce_405,
1, 226, :_reduce_406,
4, 226, :_reduce_407,
0, 277, :_reduce_408,
5, 225, :_reduce_409,
0, 278, :_reduce_410,
5, 225, :_reduce_411,
5, 231, :_reduce_412,
1, 279, :_reduce_413,
1, 279, :_reduce_none,
6, 151, :_reduce_415,
0, 151, :_reduce_416,
1, 280, :_reduce_417,
1, 280, :_reduce_none,
1, 280, :_reduce_none,
2, 281, :_reduce_420,
1, 281, :_reduce_none,
2, 153, :_reduce_422,
1, 153, :_reduce_none,
1, 215, :_reduce_none,
1, 215, :_reduce_none,
1, 215, :_reduce_none,
1, 216, :_reduce_427,
1, 283, :_reduce_428,
2, 283, :_reduce_429,
3, 284, :_reduce_430,
1, 284, :_reduce_431,
3, 217, :_reduce_432,
4, 218, :_reduce_433,
3, 219, :_reduce_434,
0, 288, :_reduce_435,
3, 288, :_reduce_436,
1, 289, :_reduce_437,
2, 289, :_reduce_438,
3, 221, :_reduce_439,
0, 291, :_reduce_440,
3, 291, :_reduce_441,
3, 220, :_reduce_442,
3, 222, :_reduce_443,
0, 292, :_reduce_444,
3, 292, :_reduce_445,
0, 293, :_reduce_446,
3, 293, :_reduce_447,
0, 285, :_reduce_448,
2, 285, :_reduce_449,
0, 286, :_reduce_450,
2, 286, :_reduce_451,
0, 287, :_reduce_452,
2, 287, :_reduce_453,
1, 290, :_reduce_454,
2, 290, :_reduce_455,
0, 295, :_reduce_456,
4, 290, :_reduce_457,
1, 294, :_reduce_458,
1, 294, :_reduce_459,
1, 294, :_reduce_460,
1, 294, :_reduce_none,
1, 201, :_reduce_462,
3, 202, :_reduce_463,
1, 282, :_reduce_464,
1, 282, :_reduce_465,
2, 282, :_reduce_466,
2, 282, :_reduce_467,
1, 193, :_reduce_468,
1, 193, :_reduce_469,
1, 193, :_reduce_470,
1, 193, :_reduce_471,
1, 193, :_reduce_472,
1, 194, :_reduce_473,
1, 194, :_reduce_474,
1, 194, :_reduce_475,
1, 194, :_reduce_476,
1, 194, :_reduce_477,
1, 194, :_reduce_478,
1, 194, :_reduce_479,
1, 223, :_reduce_480,
1, 223, :_reduce_481,
1, 162, :_reduce_482,
1, 162, :_reduce_483,
1, 166, :_reduce_484,
1, 166, :_reduce_485,
1, 233, :_reduce_486,
0, 296, :_reduce_487,
4, 233, :_reduce_488,
2, 233, :_reduce_489,
3, 235, :_reduce_490,
2, 235, :_reduce_491,
4, 297, :_reduce_492,
2, 297, :_reduce_493,
2, 297, :_reduce_494,
1, 297, :_reduce_495,
2, 299, :_reduce_496,
0, 299, :_reduce_497,
6, 273, :_reduce_498,
8, 273, :_reduce_499,
4, 273, :_reduce_500,
6, 273, :_reduce_501,
4, 273, :_reduce_502,
6, 273, :_reduce_503,
2, 273, :_reduce_504,
4, 273, :_reduce_505,
6, 273, :_reduce_506,
2, 273, :_reduce_507,
4, 273, :_reduce_508,
2, 273, :_reduce_509,
4, 273, :_reduce_510,
1, 273, :_reduce_511,
0, 273, :_reduce_512,
1, 270, :_reduce_513,
1, 270, :_reduce_514,
1, 270, :_reduce_515,
1, 270, :_reduce_516,
1, 253, :_reduce_none,
1, 253, :_reduce_none,
1, 301, :_reduce_519,
3, 301, :_reduce_520,
1, 263, :_reduce_521,
3, 263, :_reduce_522,
2, 302, :_reduce_523,
2, 303, :_reduce_524,
1, 257, :_reduce_525,
3, 257, :_reduce_526,
1, 298, :_reduce_527,
3, 298, :_reduce_528,
1, 304, :_reduce_none,
1, 304, :_reduce_none,
2, 258, :_reduce_531,
1, 258, :_reduce_532,
3, 305, :_reduce_533,
3, 306, :_reduce_534,
1, 264, :_reduce_535,
3, 264, :_reduce_536,
1, 300, :_reduce_537,
3, 300, :_reduce_538,
1, 307, :_reduce_none,
1, 307, :_reduce_none,
2, 265, :_reduce_541,
1, 265, :_reduce_542,
1, 308, :_reduce_none,
1, 308, :_reduce_none,
2, 260, :_reduce_545,
2, 259, :_reduce_546,
0, 259, :_reduce_547,
1, 236, :_reduce_none,
3, 236, :_reduce_549,
0, 224, :_reduce_550,
2, 224, :_reduce_none,
1, 209, :_reduce_552,
3, 209, :_reduce_553,
3, 309, :_reduce_554,
2, 309, :_reduce_555,
2, 309, :_reduce_556,
1, 184, :_reduce_none,
1, 184, :_reduce_none,
1, 184, :_reduce_none,
1, 178, :_reduce_none,
1, 178, :_reduce_none,
1, 178, :_reduce_none,
1, 178, :_reduce_none,
1, 276, :_reduce_none,
1, 276, :_reduce_none,
1, 276, :_reduce_none,
1, 177, :_reduce_none,
1, 177, :_reduce_none,
0, 145, :_reduce_none,
1, 145, :_reduce_none,
0, 172, :_reduce_none,
1, 172, :_reduce_none,
2, 188, :_reduce_573,
2, 165, :_reduce_574,
0, 208, :_reduce_none,
1, 208, :_reduce_none,
1, 208, :_reduce_none,
1, 234, :_reduce_578,
1, 234, :_reduce_none,
1, 147, :_reduce_none,
2, 147, :_reduce_none,
0, 206, :_reduce_582 ]
racc_reduce_n = 583
racc_shift_n = 1011
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,
:tREGEXP_END => 63,
:tUPLUS => 64,
:tUMINUS => 65,
:tUMINUS_NUM => 66,
:tPOW => 67,
:tCMP => 68,
:tEQ => 69,
:tEQQ => 70,
:tNEQ => 71,
:tGEQ => 72,
:tLEQ => 73,
:tANDOP => 74,
:tOROP => 75,
:tMATCH => 76,
:tNMATCH => 77,
:tDOT => 78,
:tDOT2 => 79,
:tDOT3 => 80,
:tAREF => 81,
:tASET => 82,
:tLSHFT => 83,
:tRSHFT => 84,
:tCOLON2 => 85,
:tCOLON3 => 86,
:tOP_ASGN => 87,
:tASSOC => 88,
:tLPAREN => 89,
:tLPAREN2 => 90,
:tRPAREN => 91,
:tLPAREN_ARG => 92,
:tLBRACK => 93,
:tLBRACK2 => 94,
:tRBRACK => 95,
:tLBRACE => 96,
:tLBRACE_ARG => 97,
:tSTAR => 98,
:tSTAR2 => 99,
:tAMPER => 100,
:tAMPER2 => 101,
:tTILDE => 102,
:tPERCENT => 103,
:tDIVIDE => 104,
:tDSTAR => 105,
:tPLUS => 106,
:tMINUS => 107,
:tLT => 108,
:tGT => 109,
:tPIPE => 110,
:tBANG => 111,
:tCARET => 112,
:tLCURLY => 113,
:tRCURLY => 114,
:tBACK_REF2 => 115,
:tSYMBEG => 116,
:tSTRING_BEG => 117,
:tXSTRING_BEG => 118,
:tREGEXP_BEG => 119,
:tREGEXP_OPT => 120,
:tWORDS_BEG => 121,
:tQWORDS_BEG => 122,
:tSYMBOLS_BEG => 123,
:tQSYMBOLS_BEG => 124,
:tSTRING_DBEG => 125,
:tSTRING_DVAR => 126,
:tSTRING_END => 127,
:tSTRING_DEND => 128,
:tSTRING => 129,
:tSYMBOL => 130,
:tNL => 131,
:tEH => 132,
:tCOLON => 133,
:tCOMMA => 134,
:tSPACE => 135,
:tSEMI => 136,
:tLAMBDA => 137,
:tLAMBEG => 138,
:tEQL => 139,
:tLOWEST => 140 }
racc_nt_base = 141
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",
"tREGEXP_END",
"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",
"tEQL",
"tLOWEST",
"$start",
"program",
"top_compstmt",
"top_stmts",
"opt_terms",
"top_stmt",
"terms",
"stmt",
"bodystmt",
"compstmt",
"opt_rescue",
"opt_else",
"opt_ensure",
"stmts",
"stmt_or_begin",
"fitem",
"undef_list",
"expr_value",
"command_asgn",
"mlhs",
"command_call",
"var_lhs",
"primary_value",
"opt_call_args",
"rbracket",
"backref",
"lhs",
"mrhs",
"arg_value",
"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",
"primary",
"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",
"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",
"f_args",
"do_block",
"@20",
"operation3",
"@21",
"@22",
"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",
"@23",
"@24",
"args_tail",
"f_kwarg",
"opt_args_tail",
"f_optarg",
"f_arg_item",
"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
module_eval(<<'.,.,', 'ruby20.y', 51)
def _reduce_2(val, _values, result)
result = @builder.compstmt(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 56)
def _reduce_3(val, _values, result)
result = []
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 60)
def _reduce_4(val, _values, result)
result = [ val[0] ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 64)
def _reduce_5(val, _values, result)
result = val[0] << val[2]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 68)
def _reduce_6(val, _values, result)
result = [ val[1] ]
result
end
.,.,
# reduce 7 omitted
module_eval(<<'.,.,', 'ruby20.y', 74)
def _reduce_8(val, _values, result)
result = @builder.preexe(val[0], val[1], val[2], val[3])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 79)
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, else_t
end
result = @builder.begin_body(val[0],
rescue_bodies,
else_t, else_,
ensure_t, ensure_)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 95)
def _reduce_10(val, _values, result)
result = @builder.compstmt(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 100)
def _reduce_11(val, _values, result)
result = []
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 104)
def _reduce_12(val, _values, result)
result = [ val[0] ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 108)
def _reduce_13(val, _values, result)
result = val[0] << val[2]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 112)
def _reduce_14(val, _values, result)
result = [ val[1] ]
result
end
.,.,
# reduce 15 omitted
module_eval(<<'.,.,', 'ruby20.y', 118)
def _reduce_16(val, _values, result)
if in_def?
diagnostic(:error, :begin_in_method, val[0])
end
result = @builder.preexe(val[0], val[1], val[2], val[3])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 127)
def _reduce_17(val, _values, result)
@lexer.state = :expr_fname
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 131)
def _reduce_18(val, _values, result)
result = @builder.alias(val[0], val[1], val[3])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 135)
def _reduce_19(val, _values, result)
result = @builder.alias(val[0],
@builder.gvar(val[1]),
@builder.gvar(val[2]))
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 141)
def _reduce_20(val, _values, result)
result = @builder.alias(val[0],
@builder.gvar(val[1]),
@builder.back_ref(val[2]))
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 147)
def _reduce_21(val, _values, result)
diagnostic(:error, :nth_ref_alias, val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 151)
def _reduce_22(val, _values, result)
result = @builder.undef_method(val[0], val[1])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 155)
def _reduce_23(val, _values, result)
result = @builder.condition_mod(val[0], nil,
val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 160)
def _reduce_24(val, _values, result)
result = @builder.condition_mod(nil, val[0],
val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 165)
def _reduce_25(val, _values, result)
result = @builder.loop_mod(:while, val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 169)
def _reduce_26(val, _values, result)
result = @builder.loop_mod(:until, val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 173)
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
.,.,
module_eval(<<'.,.,', 'ruby20.y', 181)
def _reduce_28(val, _values, result)
if in_def?
diagnostic(:warning, :end_in_method, val[0])
end
result = @builder.postexe(val[0], val[1], val[2], val[3])
result
end
.,.,
# reduce 29 omitted
module_eval(<<'.,.,', 'ruby20.y', 190)
def _reduce_30(val, _values, result)
result = @builder.multi_assign(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 194)
def _reduce_31(val, _values, result)
result = @builder.op_assign(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 198)
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
.,.,
module_eval(<<'.,.,', 'ruby20.y', 205)
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
.,.,
module_eval(<<'.,.,', 'ruby20.y', 212)
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
.,.,
module_eval(<<'.,.,', 'ruby20.y', 219)
def _reduce_35(val, _values, result)
result = @builder.op_assign(
@builder.call_method(
val[0], val[1], val[2]),
val[3], val[4])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 226)
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
.,.,
module_eval(<<'.,.,', 'ruby20.y', 233)
def _reduce_37(val, _values, result)
@builder.op_assign(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 237)
def _reduce_38(val, _values, result)
result = @builder.assign(val[0], val[1],
@builder.array(nil, val[2], nil))
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 242)
def _reduce_39(val, _values, result)
result = @builder.multi_assign(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 246)
def _reduce_40(val, _values, result)
result = @builder.multi_assign(val[0], val[1],
@builder.array(nil, val[2], nil))
result
end
.,.,
# reduce 41 omitted
module_eval(<<'.,.,', 'ruby20.y', 253)
def _reduce_42(val, _values, result)
result = @builder.assign(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 257)
def _reduce_43(val, _values, result)
result = @builder.assign(val[0], val[1], val[2])
result
end
.,.,
# reduce 44 omitted
module_eval(<<'.,.,', 'ruby20.y', 263)
def _reduce_45(val, _values, result)
result = @builder.logical_op(:and, val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 267)
def _reduce_46(val, _values, result)
result = @builder.logical_op(:or, val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 271)
def _reduce_47(val, _values, result)
result = @builder.not_op(val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 275)
def _reduce_48(val, _values, result)
result = @builder.not_op(val[0], val[1])
result
end
.,.,
# reduce 49 omitted
module_eval(<<'.,.,', 'ruby20.y', 281)
def _reduce_50(val, _values, result)
result = value_expr(val[0])
result
end
.,.,
# reduce 51 omitted
# reduce 52 omitted
# reduce 53 omitted
module_eval(<<'.,.,', 'ruby20.y', 290)
def _reduce_54(val, _values, result)
result = @builder.call_method(val[0], val[1], val[2],
nil, val[3], nil)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 296)
def _reduce_55(val, _values, result)
@static_env.extend_dynamic
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 300)
def _reduce_56(val, _values, result)
result = [ val[0], val[2], val[3], val[4] ]
@static_env.unextend
result
end
.,.,
# reduce 57 omitted
module_eval(<<'.,.,', 'ruby20.y', 309)
def _reduce_58(val, _values, result)
result = @builder.call_method(nil, nil, val[0],
nil, val[1], nil)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 314)
def _reduce_59(val, _values, result)
method_call = @builder.call_method(nil, nil, val[0],
nil, val[1], nil)
begin_t, args, body, end_t = val[2]
result = @builder.block(method_call,
begin_t, args, body, end_t)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 323)
def _reduce_60(val, _values, result)
result = @builder.call_method(val[0], val[1], val[2],
nil, val[3], nil)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 328)
def _reduce_61(val, _values, result)
method_call = @builder.call_method(val[0], val[1], val[2],
nil, val[3], nil)
begin_t, args, body, end_t = val[4]
result = @builder.block(method_call,
begin_t, args, body, end_t)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 337)
def _reduce_62(val, _values, result)
result = @builder.call_method(val[0], val[1], val[2],
nil, val[3], nil)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 342)
def _reduce_63(val, _values, result)
method_call = @builder.call_method(val[0], val[1], val[2],
nil, val[3], nil)
begin_t, args, body, end_t = val[4]
result = @builder.block(method_call,
begin_t, args, body, end_t)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 351)
def _reduce_64(val, _values, result)
result = @builder.keyword_cmd(:super, val[0],
nil, val[1], nil)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 356)
def _reduce_65(val, _values, result)
result = @builder.keyword_cmd(:yield, val[0],
nil, val[1], nil)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 361)
def _reduce_66(val, _values, result)
result = @builder.keyword_cmd(:return, val[0],
nil, val[1], nil)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 366)
def _reduce_67(val, _values, result)
result = @builder.keyword_cmd(:break, val[0],
nil, val[1], nil)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 371)
def _reduce_68(val, _values, result)
result = @builder.keyword_cmd(:next, val[0],
nil, val[1], nil)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 377)
def _reduce_69(val, _values, result)
result = @builder.multi_lhs(nil, val[0], nil)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 381)
def _reduce_70(val, _values, result)
result = @builder.begin(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 386)
def _reduce_71(val, _values, result)
result = @builder.multi_lhs(nil, val[0], nil)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 390)
def _reduce_72(val, _values, result)
result = @builder.multi_lhs(val[0], val[1], val[2])
result
end
.,.,
# reduce 73 omitted
module_eval(<<'.,.,', 'ruby20.y', 396)
def _reduce_74(val, _values, result)
result = val[0].
push(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 401)
def _reduce_75(val, _values, result)
result = val[0].
push(@builder.splat(val[1], val[2]))
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 406)
def _reduce_76(val, _values, result)
result = val[0].
push(@builder.splat(val[1], val[2])).
concat(val[4])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 412)
def _reduce_77(val, _values, result)
result = val[0].
push(@builder.splat(val[1]))
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 417)
def _reduce_78(val, _values, result)
result = val[0].
push(@builder.splat(val[1])).
concat(val[3])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 423)
def _reduce_79(val, _values, result)
result = [ @builder.splat(val[0], val[1]) ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 427)
def _reduce_80(val, _values, result)
result = [ @builder.splat(val[0], val[1]),
*val[3] ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 432)
def _reduce_81(val, _values, result)
result = [ @builder.splat(val[0]) ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 436)
def _reduce_82(val, _values, result)
result = [ @builder.splat(val[0]),
*val[2] ]
result
end
.,.,
# reduce 83 omitted
module_eval(<<'.,.,', 'ruby20.y', 443)
def _reduce_84(val, _values, result)
result = @builder.begin(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 448)
def _reduce_85(val, _values, result)
result = [ val[0] ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 452)
def _reduce_86(val, _values, result)
result = val[0] << val[1]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 457)
def _reduce_87(val, _values, result)
result = [ val[0] ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 461)
def _reduce_88(val, _values, result)
result = val[0] << val[2]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 466)
def _reduce_89(val, _values, result)
result = @builder.assignable(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 470)
def _reduce_90(val, _values, result)
result = @builder.assignable(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 474)
def _reduce_91(val, _values, result)
result = @builder.index_asgn(val[0], val[1], val[2], val[3])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 478)
def _reduce_92(val, _values, result)
result = @builder.attr_asgn(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 482)
def _reduce_93(val, _values, result)
result = @builder.attr_asgn(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 486)
def _reduce_94(val, _values, result)
result = @builder.attr_asgn(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 490)
def _reduce_95(val, _values, result)
if in_def?
diagnostic(:error, :dynamic_const, val[2])
end
result = @builder.assignable(
@builder.const_fetch(val[0], val[1], val[2]))
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 499)
def _reduce_96(val, _values, result)
if in_def?
diagnostic(:error, :dynamic_const, val[1])
end
result = @builder.assignable(
@builder.const_global(val[0], val[1]))
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 508)
def _reduce_97(val, _values, result)
result = @builder.assignable(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 513)
def _reduce_98(val, _values, result)
result = @builder.assignable(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 517)
def _reduce_99(val, _values, result)
result = @builder.assignable(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 521)
def _reduce_100(val, _values, result)
result = @builder.index_asgn(val[0], val[1], val[2], val[3])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 525)
def _reduce_101(val, _values, result)
result = @builder.attr_asgn(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 529)
def _reduce_102(val, _values, result)
result = @builder.attr_asgn(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 533)
def _reduce_103(val, _values, result)
result = @builder.attr_asgn(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 537)
def _reduce_104(val, _values, result)
if in_def?
diagnostic(:error, :dynamic_const, val[2])
end
result = @builder.assignable(
@builder.const_fetch(val[0], val[1], val[2]))
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 546)
def _reduce_105(val, _values, result)
if in_def?
diagnostic(:error, :dynamic_const, val[1])
end
result = @builder.assignable(
@builder.const_global(val[0], val[1]))
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 555)
def _reduce_106(val, _values, result)
result = @builder.assignable(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 560)
def _reduce_107(val, _values, result)
diagnostic(:error, :module_name_const, val[0])
result
end
.,.,
# reduce 108 omitted
module_eval(<<'.,.,', 'ruby20.y', 566)
def _reduce_109(val, _values, result)
result = @builder.const_global(val[0], val[1])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 570)
def _reduce_110(val, _values, result)
result = @builder.const(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 574)
def _reduce_111(val, _values, result)
result = @builder.const_fetch(val[0], val[1], val[2])
result
end
.,.,
# reduce 112 omitted
# reduce 113 omitted
# reduce 114 omitted
# reduce 115 omitted
# reduce 116 omitted
module_eval(<<'.,.,', 'ruby20.y', 583)
def _reduce_117(val, _values, result)
result = @builder.symbol(val[0])
result
end
.,.,
# reduce 118 omitted
# reduce 119 omitted
# reduce 120 omitted
module_eval(<<'.,.,', 'ruby20.y', 592)
def _reduce_121(val, _values, result)
result = [ val[0] ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 596)
def _reduce_122(val, _values, result)
@lexer.state = :expr_fname
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 600)
def _reduce_123(val, _values, result)
result = val[0] << val[3]
result
end
.,.,
# reduce 124 omitted
# reduce 125 omitted
# reduce 126 omitted
# reduce 127 omitted
# reduce 128 omitted
# reduce 129 omitted
# reduce 130 omitted
# reduce 131 omitted
# reduce 132 omitted
# reduce 133 omitted
# reduce 134 omitted
# reduce 135 omitted
# reduce 136 omitted
# reduce 137 omitted
# reduce 138 omitted
# reduce 139 omitted
# reduce 140 omitted
# reduce 141 omitted
# reduce 142 omitted
# reduce 143 omitted
# reduce 144 omitted
# reduce 145 omitted
# reduce 146 omitted
# reduce 147 omitted
# reduce 148 omitted
# reduce 149 omitted
# reduce 150 omitted
# reduce 151 omitted
# reduce 152 omitted
# reduce 153 omitted
# reduce 154 omitted
# reduce 155 omitted
# reduce 156 omitted
# reduce 157 omitted
# reduce 158 omitted
# reduce 159 omitted
# reduce 160 omitted
# reduce 161 omitted
# reduce 162 omitted
# reduce 163 omitted
# reduce 164 omitted
# reduce 165 omitted
# reduce 166 omitted
# reduce 167 omitted
# reduce 168 omitted
# reduce 169 omitted
# reduce 170 omitted
# reduce 171 omitted
# reduce 172 omitted
# reduce 173 omitted
# reduce 174 omitted
# reduce 175 omitted
# reduce 176 omitted
# reduce 177 omitted
# reduce 178 omitted
# reduce 179 omitted
# reduce 180 omitted
# reduce 181 omitted
# reduce 182 omitted
# reduce 183 omitted
# reduce 184 omitted
# reduce 185 omitted
# reduce 186 omitted
# reduce 187 omitted
# reduce 188 omitted
# reduce 189 omitted
# reduce 190 omitted
# reduce 191 omitted
# reduce 192 omitted
# reduce 193 omitted
# reduce 194 omitted
module_eval(<<'.,.,', 'ruby20.y', 621)
def _reduce_195(val, _values, result)
result = @builder.assign(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 625)
def _reduce_196(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
.,.,
module_eval(<<'.,.,', 'ruby20.y', 635)
def _reduce_197(val, _values, result)
result = @builder.op_assign(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 639)
def _reduce_198(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
.,.,
module_eval(<<'.,.,', 'ruby20.y', 649)
def _reduce_199(val, _values, result)
result = @builder.op_assign(
@builder.index(
val[0], val[1], val[2], val[3]),
val[4], val[5])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 656)
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
.,.,
module_eval(<<'.,.,', 'ruby20.y', 663)
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
.,.,
module_eval(<<'.,.,', 'ruby20.y', 670)
def _reduce_202(val, _values, result)
result = @builder.op_assign(
@builder.call_method(
val[0], val[1], val[2]),
val[3], val[4])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 677)
def _reduce_203(val, _values, result)
if in_def?
diagnostic(:error, :dynamic_const, val[2], [ val[3] ])
end
const = @builder.assignable(
@builder.const_fetch(val[0], val[1], val[2]))
result = @builder.op_assign(const, val[3], val[4])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 687)
def _reduce_204(val, _values, result)
if in_def?
diagnostic(:error, :dynamic_const, val[1], [ val[2] ])
end
const = @builder.assignable(
@builder.const_global(val[0], val[1]))
result = @builder.op_assign(const, val[2], val[3])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 697)
def _reduce_205(val, _values, result)
result = @builder.op_assign(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 701)
def _reduce_206(val, _values, result)
result = @builder.range_inclusive(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 705)
def _reduce_207(val, _values, result)
result = @builder.range_exclusive(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 709)
def _reduce_208(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 713)
def _reduce_209(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 717)
def _reduce_210(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 721)
def _reduce_211(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 725)
def _reduce_212(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 729)
def _reduce_213(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 733)
def _reduce_214(val, _values, result)
result = @builder.unary_op(val[0],
@builder.binary_op(
@builder.integer(val[1]),
val[2], val[3]))
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 740)
def _reduce_215(val, _values, result)
result = @builder.unary_op(val[0],
@builder.binary_op(
@builder.float(val[1]),
val[2], val[3]))
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 747)
def _reduce_216(val, _values, result)
result = @builder.unary_op(val[0], val[1])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 751)
def _reduce_217(val, _values, result)
result = @builder.unary_op(val[0], val[1])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 755)
def _reduce_218(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 759)
def _reduce_219(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 763)
def _reduce_220(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 767)
def _reduce_221(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 771)
def _reduce_222(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 775)
def _reduce_223(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 779)
def _reduce_224(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 783)
def _reduce_225(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 787)
def _reduce_226(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 791)
def _reduce_227(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 795)
def _reduce_228(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 799)
def _reduce_229(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 803)
def _reduce_230(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 807)
def _reduce_231(val, _values, result)
result = @builder.not_op(val[0], val[1])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 811)
def _reduce_232(val, _values, result)
result = @builder.unary_op(val[0], val[1])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 815)
def _reduce_233(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 819)
def _reduce_234(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 823)
def _reduce_235(val, _values, result)
result = @builder.logical_op(:and, val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 827)
def _reduce_236(val, _values, result)
result = @builder.logical_op(:or, val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 831)
def _reduce_237(val, _values, result)
result = @builder.keyword_cmd(:defined?, val[0], nil, [ val[2] ], nil)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 836)
def _reduce_238(val, _values, result)
result = @builder.ternary(val[0], val[1],
val[2], val[4], val[5])
result
end
.,.,
# reduce 239 omitted
module_eval(<<'.,.,', 'ruby20.y', 843)
def _reduce_240(val, _values, result)
result = value_expr(val[0])
result
end
.,.,
# reduce 241 omitted
# reduce 242 omitted
module_eval(<<'.,.,', 'ruby20.y', 850)
def _reduce_243(val, _values, result)
result = val[0] << @builder.associate(nil, val[2], nil)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 854)
def _reduce_244(val, _values, result)
result = [ @builder.associate(nil, val[0], nil) ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 859)
def _reduce_245(val, _values, result)
result = val
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 864)
def _reduce_246(val, _values, result)
result = [ nil, [], nil ]
result
end
.,.,
# reduce 247 omitted
module_eval(<<'.,.,', 'ruby20.y', 870)
def _reduce_248(val, _values, result)
result = []
result
end
.,.,
# reduce 249 omitted
# reduce 250 omitted
module_eval(<<'.,.,', 'ruby20.y', 876)
def _reduce_251(val, _values, result)
result = val[0] << @builder.associate(nil, val[2], nil)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 880)
def _reduce_252(val, _values, result)
result = [ @builder.associate(nil, val[0], nil) ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 885)
def _reduce_253(val, _values, result)
result = [ val[0] ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 889)
def _reduce_254(val, _values, result)
result = val[0].concat(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 893)
def _reduce_255(val, _values, result)
result = [ @builder.associate(nil, val[0], nil) ]
result.concat(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 898)
def _reduce_256(val, _values, result)
assocs = @builder.associate(nil, val[2], nil)
result = val[0] << assocs
result.concat(val[3])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 904)
def _reduce_257(val, _values, result)
result = [ val[0] ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 908)
def _reduce_258(val, _values, result)
result = @lexer.cmdarg.dup
@lexer.cmdarg.push(true)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 913)
def _reduce_259(val, _values, result)
@lexer.cmdarg = val[0]
result = val[1]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 920)
def _reduce_260(val, _values, result)
result = @builder.block_pass(val[0], val[1])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 925)
def _reduce_261(val, _values, result)
result = [ val[1] ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 929)
def _reduce_262(val, _values, result)
result = []
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 934)
def _reduce_263(val, _values, result)
result = [ val[0] ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 938)
def _reduce_264(val, _values, result)
result = [ @builder.splat(val[0], val[1]) ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 942)
def _reduce_265(val, _values, result)
result = val[0] << val[2]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 946)
def _reduce_266(val, _values, result)
result = val[0] << @builder.splat(val[2], val[3])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 951)
def _reduce_267(val, _values, result)
result = val[0] << val[2]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 955)
def _reduce_268(val, _values, result)
result = val[0] << @builder.splat(val[2], val[3])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 959)
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
module_eval(<<'.,.,', 'ruby20.y', 974)
def _reduce_280(val, _values, result)
result = @builder.call_method(nil, nil, val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 978)
def _reduce_281(val, _values, result)
result = @lexer.cmdarg.dup
@lexer.cmdarg.clear
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 983)
def _reduce_282(val, _values, result)
@lexer.cmdarg = val[1]
result = @builder.begin(val[0], val[2], val[3])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 989)
def _reduce_283(val, _values, result)
@lexer.state = :expr_endarg
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 993)
def _reduce_284(val, _values, result)
result = @builder.begin(val[0], val[1], val[4])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 997)
def _reduce_285(val, _values, result)
@lexer.state = :expr_endarg
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1001)
def _reduce_286(val, _values, result)
result = @builder.begin(val[0], nil, val[3])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1005)
def _reduce_287(val, _values, result)
result = @builder.begin(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1009)
def _reduce_288(val, _values, result)
result = @builder.const_fetch(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1013)
def _reduce_289(val, _values, result)
result = @builder.const_global(val[0], val[1])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1017)
def _reduce_290(val, _values, result)
result = @builder.array(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1021)
def _reduce_291(val, _values, result)
result = @builder.associate(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1025)
def _reduce_292(val, _values, result)
result = @builder.keyword_cmd(:return, val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1029)
def _reduce_293(val, _values, result)
result = @builder.keyword_cmd(:yield, val[0], val[1], val[2], val[3])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1033)
def _reduce_294(val, _values, result)
result = @builder.keyword_cmd(:yield, val[0], val[1], [], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1037)
def _reduce_295(val, _values, result)
result = @builder.keyword_cmd(:yield, val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1041)
def _reduce_296(val, _values, result)
result = @builder.keyword_cmd(:defined?, val[0],
val[2], [ val[3] ], val[4])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1046)
def _reduce_297(val, _values, result)
result = @builder.not_op(val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1050)
def _reduce_298(val, _values, result)
result = @builder.not_op(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1054)
def _reduce_299(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 300 omitted
module_eval(<<'.,.,', 'ruby20.y', 1063)
def _reduce_301(val, _values, result)
begin_t, args, body, end_t = val[1]
result = @builder.block(val[0],
begin_t, args, body, end_t)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1069)
def _reduce_302(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
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1077)
def _reduce_303(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
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1084)
def _reduce_304(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
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1091)
def _reduce_305(val, _values, result)
@lexer.cond.push(true)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1095)
def _reduce_306(val, _values, result)
@lexer.cond.pop
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1099)
def _reduce_307(val, _values, result)
result = @builder.loop(:while, val[0], val[2], val[3],
val[5], val[6])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1104)
def _reduce_308(val, _values, result)
@lexer.cond.push(true)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1108)
def _reduce_309(val, _values, result)
@lexer.cond.pop
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1112)
def _reduce_310(val, _values, result)
result = @builder.loop(:until, val[0], val[2], val[3],
val[5], val[6])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1117)
def _reduce_311(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
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1125)
def _reduce_312(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
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1133)
def _reduce_313(val, _values, result)
@lexer.cond.push(true)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1137)
def _reduce_314(val, _values, result)
@lexer.cond.pop
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1141)
def _reduce_315(val, _values, result)
result = @builder.for(val[0], val[1],
val[2], val[4],
val[5], val[7], val[8])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1147)
def _reduce_316(val, _values, result)
if in_def?
diagnostic(:error, :class_in_def, val[0])
end
@static_env.extend_static
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1155)
def _reduce_317(val, _values, result)
lt_t, superclass = val[2]
result = @builder.def_class(val[0], val[1],
lt_t, superclass,
val[4], val[5])
@static_env.unextend
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1164)
def _reduce_318(val, _values, result)
result = @def_level
@def_level = 0
@static_env.extend_static
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1171)
def _reduce_319(val, _values, result)
result = @builder.def_sclass(val[0], val[1], val[2],
val[5], val[6])
@static_env.unextend
@def_level = val[4]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1180)
def _reduce_320(val, _values, result)
if in_def?
diagnostic(:error, :module_in_def, val[0])
end
@static_env.extend_static
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1188)
def _reduce_321(val, _values, result)
result = @builder.def_module(val[0], val[1],
val[3], val[4])
@static_env.unextend
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1195)
def _reduce_322(val, _values, result)
@def_level += 1
@static_env.extend_static
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1200)
def _reduce_323(val, _values, result)
result = @builder.def_method(val[0], val[1],
val[3], val[4], val[5])
@static_env.unextend
@def_level -= 1
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1208)
def _reduce_324(val, _values, result)
@lexer.state = :expr_fname
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1212)
def _reduce_325(val, _values, result)
@def_level += 1
@static_env.extend_static
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1217)
def _reduce_326(val, _values, result)
result = @builder.def_singleton(val[0], val[1], val[2],
val[4], val[6], val[7], val[8])
@static_env.unextend
@def_level -= 1
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1225)
def _reduce_327(val, _values, result)
result = @builder.keyword_cmd(:break, val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1229)
def _reduce_328(val, _values, result)
result = @builder.keyword_cmd(:next, val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1233)
def _reduce_329(val, _values, result)
result = @builder.keyword_cmd(:redo, val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1237)
def _reduce_330(val, _values, result)
result = @builder.keyword_cmd(:retry, val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1242)
def _reduce_331(val, _values, result)
result = value_expr(val[0])
result
end
.,.,
# reduce 332 omitted
# reduce 333 omitted
# reduce 334 omitted
# reduce 335 omitted
# reduce 336 omitted
# reduce 337 omitted
module_eval(<<'.,.,', 'ruby20.y', 1255)
def _reduce_338(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 339 omitted
module_eval(<<'.,.,', 'ruby20.y', 1266)
def _reduce_340(val, _values, result)
result = val
result
end
.,.,
# reduce 341 omitted
# reduce 342 omitted
module_eval(<<'.,.,', 'ruby20.y', 1274)
def _reduce_343(val, _values, result)
@static_env.declare val[0][0]
result = @builder.arg(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1280)
def _reduce_344(val, _values, result)
result = @builder.multi_lhs(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1285)
def _reduce_345(val, _values, result)
result = [ val[0] ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1289)
def _reduce_346(val, _values, result)
result = val[0] << val[2]
result
end
.,.,
# reduce 347 omitted
module_eval(<<'.,.,', 'ruby20.y', 1295)
def _reduce_348(val, _values, result)
@static_env.declare val[3][0]
result = val[0].
push(@builder.restarg(val[2], val[3]))
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1302)
def _reduce_349(val, _values, result)
@static_env.declare val[3][0]
result = val[0].
push(@builder.restarg(val[2], val[3])).
concat(val[5])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1310)
def _reduce_350(val, _values, result)
result = val[0].
push(@builder.restarg(val[2]))
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1315)
def _reduce_351(val, _values, result)
result = val[0].
push(@builder.restarg(val[2])).
concat(val[4])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1321)
def _reduce_352(val, _values, result)
@static_env.declare val[1][0]
result = [ @builder.restarg(val[0], val[1]) ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1327)
def _reduce_353(val, _values, result)
@static_env.declare val[1][0]
result = [ @builder.restarg(val[0], val[1]),
*val[3] ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1334)
def _reduce_354(val, _values, result)
result = [ @builder.restarg(val[0]) ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1338)
def _reduce_355(val, _values, result)
result = [ @builder.restarg(val[0]),
*val[2] ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1344)
def _reduce_356(val, _values, result)
result = val[0].concat(val[2]).concat(val[3])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1348)
def _reduce_357(val, _values, result)
result = val[0].concat(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1352)
def _reduce_358(val, _values, result)
result = val[0].concat(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1356)
def _reduce_359(val, _values, result)
result = [ val[0] ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1362)
def _reduce_360(val, _values, result)
result = val[1]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1366)
def _reduce_361(val, _values, result)
result = []
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1371)
def _reduce_362(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1378)
def _reduce_363(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[6]).
concat(val[7])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1386)
def _reduce_364(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1392)
def _reduce_365(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1399)
def _reduce_366(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
.,.,
# reduce 367 omitted
module_eval(<<'.,.,', 'ruby20.y', 1406)
def _reduce_368(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1413)
def _reduce_369(val, _values, result)
result = val[0].concat(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1417)
def _reduce_370(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1423)
def _reduce_371(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1430)
def _reduce_372(val, _values, result)
result = val[0].
concat(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1435)
def _reduce_373(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1441)
def _reduce_374(val, _values, result)
result = val[0].
concat(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1446)
def _reduce_375(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
.,.,
# reduce 376 omitted
module_eval(<<'.,.,', 'ruby20.y', 1454)
def _reduce_377(val, _values, result)
result = @builder.args(nil, [], nil)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1458)
def _reduce_378(val, _values, result)
@lexer.state = :expr_value
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1463)
def _reduce_379(val, _values, result)
result = @builder.args(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1467)
def _reduce_380(val, _values, result)
result = @builder.args(val[0], [], val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1471)
def _reduce_381(val, _values, result)
result = @builder.args(val[0], val[1].concat(val[2]), val[3])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1476)
def _reduce_382(val, _values, result)
result = []
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1480)
def _reduce_383(val, _values, result)
result = val[2]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1485)
def _reduce_384(val, _values, result)
result = [ val[0] ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1489)
def _reduce_385(val, _values, result)
result = val[0] << val[2]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1494)
def _reduce_386(val, _values, result)
result = @builder.shadowarg(val[0])
result
end
.,.,
# reduce 387 omitted
module_eval(<<'.,.,', 'ruby20.y', 1500)
def _reduce_388(val, _values, result)
result = [ val[0], val[1] ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1505)
def _reduce_389(val, _values, result)
result = @builder.args(val[0], val[1].concat(val[2]), val[3])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1509)
def _reduce_390(val, _values, result)
result = @builder.args(nil, val[0], nil)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1514)
def _reduce_391(val, _values, result)
result = [ val[0], val[1], val[2] ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1518)
def _reduce_392(val, _values, result)
result = [ val[0], val[1], val[2] ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1523)
def _reduce_393(val, _values, result)
@static_env.extend_dynamic
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1527)
def _reduce_394(val, _values, result)
result = [ val[0], val[2], val[3], val[4] ]
@static_env.unextend
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1534)
def _reduce_395(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
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1540)
def _reduce_396(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
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1546)
def _reduce_397(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
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1556)
def _reduce_398(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
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1566)
def _reduce_399(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
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1572)
def _reduce_400(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
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1578)
def _reduce_401(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
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1584)
def _reduce_402(val, _values, result)
result = @builder.call_method(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1588)
def _reduce_403(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
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1594)
def _reduce_404(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
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1600)
def _reduce_405(val, _values, result)
lparen_t, args, rparen_t = val[1]
result = @builder.keyword_cmd(:super, val[0],
lparen_t, args, rparen_t)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1606)
def _reduce_406(val, _values, result)
result = @builder.keyword_cmd(:zsuper, val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1610)
def _reduce_407(val, _values, result)
result = @builder.index(val[0], val[1], val[2], val[3])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1615)
def _reduce_408(val, _values, result)
@static_env.extend_dynamic
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1619)
def _reduce_409(val, _values, result)
result = [ val[0], val[2], val[3], val[4] ]
@static_env.unextend
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1625)
def _reduce_410(val, _values, result)
@static_env.extend_dynamic
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1629)
def _reduce_411(val, _values, result)
result = [ val[0], val[2], val[3], val[4] ]
@static_env.unextend
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1636)
def _reduce_412(val, _values, result)
result = [ @builder.when(val[0], val[1], val[2], val[3]),
*val[4] ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1642)
def _reduce_413(val, _values, result)
result = [ val[0] ]
result
end
.,.,
# reduce 414 omitted
module_eval(<<'.,.,', 'ruby20.y', 1648)
def _reduce_415(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
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1661)
def _reduce_416(val, _values, result)
result = []
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1666)
def _reduce_417(val, _values, result)
result = [ val[0] ]
result
end
.,.,
# reduce 418 omitted
# reduce 419 omitted
module_eval(<<'.,.,', 'ruby20.y', 1673)
def _reduce_420(val, _values, result)
result = [ val[0], val[1] ]
result
end
.,.,
# reduce 421 omitted
module_eval(<<'.,.,', 'ruby20.y', 1679)
def _reduce_422(val, _values, result)
result = [ val[0], val[1] ]
result
end
.,.,
# reduce 423 omitted
# reduce 424 omitted
# reduce 425 omitted
# reduce 426 omitted
module_eval(<<'.,.,', 'ruby20.y', 1689)
def _reduce_427(val, _values, result)
result = @builder.string_compose(nil, val[0], nil)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1694)
def _reduce_428(val, _values, result)
result = [ val[0] ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1698)
def _reduce_429(val, _values, result)
result = val[0] << val[1]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1703)
def _reduce_430(val, _values, result)
result = @builder.string_compose(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1707)
def _reduce_431(val, _values, result)
result = @builder.string(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1712)
def _reduce_432(val, _values, result)
result = @builder.xstring_compose(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1717)
def _reduce_433(val, _values, result)
opts = @builder.regexp_options(val[3])
result = @builder.regexp_compose(val[0], val[1], val[2], opts)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1723)
def _reduce_434(val, _values, result)
result = @builder.words_compose(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1728)
def _reduce_435(val, _values, result)
result = []
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1732)
def _reduce_436(val, _values, result)
result = val[0] << @builder.word(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1737)
def _reduce_437(val, _values, result)
result = [ val[0] ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1741)
def _reduce_438(val, _values, result)
result = val[0] << val[1]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1746)
def _reduce_439(val, _values, result)
result = @builder.symbols_compose(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1751)
def _reduce_440(val, _values, result)
result = []
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1755)
def _reduce_441(val, _values, result)
result = val[0] << @builder.word(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1760)
def _reduce_442(val, _values, result)
result = @builder.words_compose(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1765)
def _reduce_443(val, _values, result)
result = @builder.symbols_compose(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1770)
def _reduce_444(val, _values, result)
result = []
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1774)
def _reduce_445(val, _values, result)
result = val[0] << @builder.string(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1779)
def _reduce_446(val, _values, result)
result = []
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1783)
def _reduce_447(val, _values, result)
result = val[0] << @builder.symbol(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1788)
def _reduce_448(val, _values, result)
result = []
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1792)
def _reduce_449(val, _values, result)
result = val[0] << val[1]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1797)
def _reduce_450(val, _values, result)
result = []
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1801)
def _reduce_451(val, _values, result)
result = val[0] << val[1]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1806)
def _reduce_452(val, _values, result)
result = []
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1810)
def _reduce_453(val, _values, result)
result = val[0] << val[1]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1815)
def _reduce_454(val, _values, result)
result = @builder.string(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1819)
def _reduce_455(val, _values, result)
result = val[1]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1823)
def _reduce_456(val, _values, result)
@lexer.cond.push(false)
@lexer.cmdarg.push(false)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1828)
def _reduce_457(val, _values, result)
@lexer.cond.lexpop
@lexer.cmdarg.lexpop
result = val[2]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1836)
def _reduce_458(val, _values, result)
result = @builder.gvar(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1840)
def _reduce_459(val, _values, result)
result = @builder.ivar(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1844)
def _reduce_460(val, _values, result)
result = @builder.cvar(val[0])
result
end
.,.,
# reduce 461 omitted
module_eval(<<'.,.,', 'ruby20.y', 1851)
def _reduce_462(val, _values, result)
result = @builder.symbol(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1856)
def _reduce_463(val, _values, result)
result = @builder.symbol_compose(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1861)
def _reduce_464(val, _values, result)
result = @builder.integer(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1865)
def _reduce_465(val, _values, result)
result = @builder.float(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1869)
def _reduce_466(val, _values, result)
result = @builder.integer(val[1], true)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1873)
def _reduce_467(val, _values, result)
result = @builder.float(val[1], true)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1878)
def _reduce_468(val, _values, result)
result = @builder.ident(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1882)
def _reduce_469(val, _values, result)
result = @builder.ivar(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1886)
def _reduce_470(val, _values, result)
result = @builder.gvar(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1890)
def _reduce_471(val, _values, result)
result = @builder.const(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1894)
def _reduce_472(val, _values, result)
result = @builder.cvar(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1899)
def _reduce_473(val, _values, result)
result = @builder.nil(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1903)
def _reduce_474(val, _values, result)
result = @builder.self(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1907)
def _reduce_475(val, _values, result)
result = @builder.true(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1911)
def _reduce_476(val, _values, result)
result = @builder.false(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1915)
def _reduce_477(val, _values, result)
result = @builder.__FILE__(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1919)
def _reduce_478(val, _values, result)
result = @builder.__LINE__(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1923)
def _reduce_479(val, _values, result)
result = @builder.__ENCODING__(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1928)
def _reduce_480(val, _values, result)
result = @builder.accessible(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1932)
def _reduce_481(val, _values, result)
result = @builder.accessible(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1937)
def _reduce_482(val, _values, result)
result = @builder.assignable(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1941)
def _reduce_483(val, _values, result)
result = @builder.assignable(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1946)
def _reduce_484(val, _values, result)
result = @builder.nth_ref(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1950)
def _reduce_485(val, _values, result)
result = @builder.back_ref(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1955)
def _reduce_486(val, _values, result)
result = nil
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1959)
def _reduce_487(val, _values, result)
@lexer.state = :expr_value
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1963)
def _reduce_488(val, _values, result)
result = [ val[0], val[2] ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1967)
def _reduce_489(val, _values, result)
yyerrok
result = nil
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1973)
def _reduce_490(val, _values, result)
result = @builder.args(val[0], val[1], val[2])
@lexer.state = :expr_value
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1979)
def _reduce_491(val, _values, result)
result = @builder.args(nil, val[0], nil)
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1984)
def _reduce_492(val, _values, result)
result = val[0].concat(val[2]).concat(val[3])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1988)
def _reduce_493(val, _values, result)
result = val[0].concat(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1992)
def _reduce_494(val, _values, result)
result = val[0].concat(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 1996)
def _reduce_495(val, _values, result)
result = [ val[0] ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2001)
def _reduce_496(val, _values, result)
result = val[1]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2005)
def _reduce_497(val, _values, result)
result = []
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2010)
def _reduce_498(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2017)
def _reduce_499(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[6]).
concat(val[7])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2025)
def _reduce_500(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2031)
def _reduce_501(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2038)
def _reduce_502(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2044)
def _reduce_503(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2051)
def _reduce_504(val, _values, result)
result = val[0].
concat(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2056)
def _reduce_505(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2062)
def _reduce_506(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2069)
def _reduce_507(val, _values, result)
result = val[0].
concat(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2074)
def _reduce_508(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2080)
def _reduce_509(val, _values, result)
result = val[0].
concat(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2085)
def _reduce_510(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2091)
def _reduce_511(val, _values, result)
result = val[0]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2095)
def _reduce_512(val, _values, result)
result = []
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2100)
def _reduce_513(val, _values, result)
diagnostic(:error, :argument_const, val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2104)
def _reduce_514(val, _values, result)
diagnostic(:error, :argument_ivar, val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2108)
def _reduce_515(val, _values, result)
diagnostic(:error, :argument_gvar, val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2112)
def _reduce_516(val, _values, result)
diagnostic(:error, :argument_cvar, val[0])
result
end
.,.,
# reduce 517 omitted
# reduce 518 omitted
module_eval(<<'.,.,', 'ruby20.y', 2120)
def _reduce_519(val, _values, result)
@static_env.declare val[0][0]
result = @builder.arg(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2126)
def _reduce_520(val, _values, result)
result = @builder.multi_lhs(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2131)
def _reduce_521(val, _values, result)
result = [ val[0] ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2135)
def _reduce_522(val, _values, result)
result = val[0] << val[2]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2140)
def _reduce_523(val, _values, result)
check_kwarg_name(val[0])
@static_env.declare val[0][0]
result = @builder.kwoptarg(val[0], val[1])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2149)
def _reduce_524(val, _values, result)
check_kwarg_name(val[0])
@static_env.declare val[0][0]
result = @builder.kwoptarg(val[0], val[1])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2158)
def _reduce_525(val, _values, result)
result = [ val[0] ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2162)
def _reduce_526(val, _values, result)
result = val[0] << val[2]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2167)
def _reduce_527(val, _values, result)
result = [ val[0] ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2171)
def _reduce_528(val, _values, result)
result = val[0] << val[2]
result
end
.,.,
# reduce 529 omitted
# reduce 530 omitted
module_eval(<<'.,.,', 'ruby20.y', 2178)
def _reduce_531(val, _values, result)
@static_env.declare val[1][0]
result = [ @builder.kwrestarg(val[0], val[1]) ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2184)
def _reduce_532(val, _values, result)
result = [ @builder.kwrestarg(val[0]) ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2189)
def _reduce_533(val, _values, result)
@static_env.declare val[0][0]
result = @builder.optarg(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2196)
def _reduce_534(val, _values, result)
@static_env.declare val[0][0]
result = @builder.optarg(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2203)
def _reduce_535(val, _values, result)
result = [ val[0] ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2207)
def _reduce_536(val, _values, result)
result = val[0] << val[2]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2212)
def _reduce_537(val, _values, result)
result = [ val[0] ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2216)
def _reduce_538(val, _values, result)
result = val[0] << val[2]
result
end
.,.,
# reduce 539 omitted
# reduce 540 omitted
module_eval(<<'.,.,', 'ruby20.y', 2223)
def _reduce_541(val, _values, result)
@static_env.declare val[1][0]
result = [ @builder.restarg(val[0], val[1]) ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2229)
def _reduce_542(val, _values, result)
result = [ @builder.restarg(val[0]) ]
result
end
.,.,
# reduce 543 omitted
# reduce 544 omitted
module_eval(<<'.,.,', 'ruby20.y', 2236)
def _reduce_545(val, _values, result)
@static_env.declare val[1][0]
result = @builder.blockarg(val[0], val[1])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2243)
def _reduce_546(val, _values, result)
result = [ val[1] ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2247)
def _reduce_547(val, _values, result)
result = []
result
end
.,.,
# reduce 548 omitted
module_eval(<<'.,.,', 'ruby20.y', 2253)
def _reduce_549(val, _values, result)
result = val[1]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2258)
def _reduce_550(val, _values, result)
result = []
result
end
.,.,
# reduce 551 omitted
module_eval(<<'.,.,', 'ruby20.y', 2264)
def _reduce_552(val, _values, result)
result = [ val[0] ]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2268)
def _reduce_553(val, _values, result)
result = val[0] << val[2]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2273)
def _reduce_554(val, _values, result)
result = @builder.pair(val[0], val[1], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2277)
def _reduce_555(val, _values, result)
result = @builder.pair_keyword(val[0], val[1])
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2281)
def _reduce_556(val, _values, result)
result = @builder.kwsplat(val[0], val[1])
result
end
.,.,
# reduce 557 omitted
# reduce 558 omitted
# reduce 559 omitted
# reduce 560 omitted
# reduce 561 omitted
# reduce 562 omitted
# reduce 563 omitted
# reduce 564 omitted
# reduce 565 omitted
# reduce 566 omitted
# reduce 567 omitted
# reduce 568 omitted
# reduce 569 omitted
# reduce 570 omitted
# reduce 571 omitted
# reduce 572 omitted
module_eval(<<'.,.,', 'ruby20.y', 2292)
def _reduce_573(val, _values, result)
result = val[1]
result
end
.,.,
module_eval(<<'.,.,', 'ruby20.y', 2296)
def _reduce_574(val, _values, result)
result = val[1]
result
end
.,.,
# reduce 575 omitted
# reduce 576 omitted
# reduce 577 omitted
module_eval(<<'.,.,', 'ruby20.y', 2302)
def _reduce_578(val, _values, result)
yyerrok
result
end
.,.,
# reduce 579 omitted
# reduce 580 omitted
# reduce 581 omitted
module_eval(<<'.,.,', 'ruby20.y', 2311)
def _reduce_582(val, _values, result)
result = nil
result
end
.,.,
def _reduce_none(val, _values, result)
val[0]
end
end # class Ruby20
end # module Parser
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment