aboutsummaryrefslogtreecommitdiffstats
path: root/test/racc/regress/ruby18
diff options
context:
space:
mode:
Diffstat (limited to 'test/racc/regress/ruby18')
-rw-r--r--test/racc/regress/ruby186351
1 files changed, 6351 insertions, 0 deletions
diff --git a/test/racc/regress/ruby18 b/test/racc/regress/ruby18
new file mode 100644
index 0000000000..de6bbccaf4
--- /dev/null
+++ b/test/racc/regress/ruby18
@@ -0,0 +1,6351 @@
+#
+# DO NOT MODIFY!!!!
+# This file is automatically generated by Racc 1.4.14
+# from Racc grammer file "".
+#
+
+require 'racc/parser.rb'
+
+
+require 'parser'
+
+module Parser
+ class Ruby18 < Racc::Parser
+
+module_eval(<<'...end ruby18.y/module_eval...', 'ruby18.y', 1936)
+
+ def version
+ 18
+ end
+
+ def default_encoding
+ Encoding::BINARY if defined? Encoding
+ end
+...end ruby18.y/module_eval...
+##### State transition tables begin ###
+
+clist = [
+'-277,195,196,195,196,489,-84,-277,-277,-277,511,814,578,-277,-277,-81',
+'-277,-429,558,579,531,558,489,489,-425,-82,72,259,-87,568,578,-425,195',
+'196,73,-277,-277,579,-277,-277,-277,-277,-277,489,489,477,-426,-80,476',
+'-83,-86,395,557,-426,-61,557,535,659,658,662,661,291,-74,-80,-277,-277',
+'-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,536,291',
+'-277,-277,-277,530,549,722,477,-76,-277,479,99,-277,291,-69,621,98,-277',
+'-87,-277,-85,-277,-277,-277,-277,-277,-277,-277,-480,-277,-76,-277,258',
+'-476,510,-480,-480,-480,99,-73,488,-480,-480,98,-480,-277,-277,-74,-77',
+'-74,-277,-85,-79,-480,99,99,99,488,488,98,98,98,621,-480,-480,-74,-480',
+'-480,-480,-480,-480,-72,-76,-75,-78,768,99,99,488,488,621,98,98,-477',
+'-427,431,-74,538,558,-74,-76,-427,-480,-480,-480,-480,-480,-480,-480',
+'-480,-480,-480,-480,-480,-480,-480,-476,259,-480,-480,-480,-76,546,99',
+'-76,620,-480,259,98,-480,463,-81,557,-77,-480,521,-480,713,-480,-480',
+'-480,-480,-480,-480,-480,-226,-480,-480,-480,542,734,606,-226,-226,-226',
+'-474,194,-226,-226,-226,-259,-226,-480,-480,680,-75,-476,-480,-83,691',
+'99,-226,620,-476,558,98,-86,814,-476,254,-226,-226,-476,-226,-226,-226',
+'-226,-226,99,254,620,521,-76,98,541,-84,523,522,-429,-79,-476,258,-87',
+'540,463,-421,673,-73,557,254,-81,258,-421,690,521,-84,-473,-474,521',
+'361,-226,-421,-272,659,658,662,661,-226,825,-272,-272,-272,254,-226',
+'-272,-272,-272,-74,-272,-474,-82,-72,477,215,-80,482,99,-78,-272,-272',
+'-86,98,523,522,532,-226,215,-272,-272,-82,-272,-272,-272,-272,-272,-421',
+'-417,477,215,-226,479,-226,-421,-417,-226,523,522,527,-473,523,522,526',
+'-417,495,215,496,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272',
+'-272,-272,-272,-473,-271,-272,-272,-272,-278,826,-272,-271,827,-272',
+'521,-278,-272,-272,521,-272,-271,-272,568,-272,-278,-272,-272,-272,-272',
+'-272,-272,-272,-226,-272,-480,-272,-417,-480,502,-226,-226,-226,503',
+'-417,-226,-226,-226,-477,-226,-272,-272,-272,-272,215,-272,568,215,-422',
+'-226,251,-480,606,-279,496,-422,575,252,-226,-226,-279,-226,-226,-226',
+'-226,-226,523,522,524,-279,523,522,519,195,196,-480,212,291,-480,212',
+'214,213,-480,214,213,-480,192,-476,-477,215,-476,-480,99,193,-480,-477',
+'516,98,-226,-319,-477,-480,191,517,-477,-226,-319,-277,-480,-480,254',
+'-226,-480,-476,-277,-319,580,-480,234,-477,829,212,-477,-277,-428,214',
+'213,210,211,284,285,-428,590,-226,655,-480,653,652,651,654,-428,-424',
+'-477,-477,-477,591,-477,-226,-424,-226,-477,-477,-226,734,606,-477,-69',
+'-477,-477,-477,-477,-477,-477,-477,461,462,662,661,-477,-477,-477,-477',
+'-477,-477,-477,195,196,592,-423,215,659,658,662,661,-477,-423,830,-477',
+'-477,-477,-477,-477,-477,-477,-477,-477,-477,469,-477,-477,832,-477',
+'-477,-477,215,-497,-497,-497,-497,221,223,212,457,-497,-497,214,213',
+'210,211,458,229,230,880,-477,549,835,-477,-477,456,-477,-477,195,196',
+'-477,568,-477,212,-477,218,-477,214,213,210,211,222,220,216,-477,217',
+'606,187,291,-477,-477,-477,-477,-477,-477,839,-271,840,-477,-477,-476',
+'-476,-476,-271,-476,349,358,-85,-476,-476,360,359,-271,-476,616,-476',
+'-476,-476,-476,-476,-476,-476,496,624,846,847,-476,-476,-476,-476,-476',
+'-476,-476,99,99,99,672,675,98,98,98,848,-476,758,758,-476,-476,-476',
+'-476,-476,-476,-476,-476,-476,-476,759,-476,-476,436,-476,-476,-476',
+'215,219,224,225,226,221,223,883,-279,227,228,466,436,186,-278,-279,229',
+'230,467,-476,692,-278,-476,-476,-279,-476,-476,393,291,-476,-278,-476',
+'212,-476,218,-476,214,213,210,211,222,220,216,-476,217,693,758,704,-476',
+'-476,-476,-476,-476,-476,431,498,431,-476,-476,62,63,64,499,51,243,707',
+'-83,56,57,708,861,497,60,715,58,59,61,23,24,65,66,885,717,283,721,22',
+'28,27,88,87,89,90,667,668,17,669,93,94,254,537,254,41,215,215,92,91',
+'82,50,84,83,86,85,93,94,724,80,81,282,38,39,37,215,219,224,225,226,221',
+'223,231,232,227,228,-277,208,209,-428,-259,229,230,-277,200,728,-428',
+'204,-477,730,52,53,-277,606,54,-428,738,212,739,218,40,214,213,210,211',
+'222,220,216,18,217,740,886,743,79,72,74,75,76,77,568,507,745,73,78,749',
+'99,233,505,-215,753,98,62,63,64,7,51,506,755,391,56,57,758,759,760,60',
+'392,58,59,61,23,24,65,66,761,393,763,234,22,28,27,88,87,89,90,-260,818',
+'17,101,102,103,104,105,6,41,8,9,92,91,82,50,84,83,86,85,93,94,568,80',
+'81,471,38,39,37,215,219,224,225,226,221,223,231,823,227,228,-277,769',
+'396,-278,824,229,230,-277,36,397,-278,30,-477,822,52,53,-277,777,54',
+'-278,32,212,778,218,40,214,213,210,211,222,220,216,18,217,568,95,568',
+'79,72,74,75,76,77,254,254,234,73,78,62,63,64,874,51,875,351,568,56,57',
+'790,791,792,60,876,58,59,61,246,247,65,66,797,799,190,426,245,275,279',
+'88,87,89,90,101,102,103,104,105,428,189,431,436,276,805,-60,92,91,82',
+'50,84,83,86,85,93,94,394,80,81,215,451,655,280,653,652,651,654,101,102',
+'103,104,105,452,453,188,229,230,459,263,291,254,464,772,465,215,204',
+'807,471,52,53,472,212,54,218,291,214,213,210,211,645,291,216,481,217',
+'484,351,500,659,658,662,661,79,72,74,75,76,77,501,,,73,78,,62,63,64',
+'855,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87',
+'89,90,,,,,,,,537,,276,,,92,91,82,50,84,83,86,85,93,94,,80,81,,,,280',
+'215,219,224,225,226,221,223,231,232,227,228,,208,209,,,229,230,,772',
+',,204,,,52,53,,,54,,,212,,218,,214,213,210,211,222,220,216,,217,,,,79',
+'72,74,75,76,77,,,,73,78,,,233,,775,5,62,63,64,7,51,,,,56,57,,,,60,,58',
+'59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92,91',
+'82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,36,,,265',
+',,52,53,,,54,,32,,,,40,655,,653,652,651,654,,18,,,,,79,72,74,75,76,77',
+',,,73,78,5,62,63,64,7,51,,,,56,57,,,,60,645,58,59,61,23,24,65,66,659',
+'658,662,661,22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92,91,82,50,84,83',
+'86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,53,,,54',
+',32,,,,40,655,,653,652,651,654,,18,,,,,79,72,74,75,76,77,,,,73,78,5',
+'62,63,64,7,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,659,658,662,661,22',
+'28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92,91,82,50,84,83,86,85,93,94,',
+'80,81,,38,39,37,215,,,,,,,,,,,,,,,,229,230,,36,,,30,,,52,53,,,54,,32',
+'212,,218,40,214,213,210,211,,,216,18,217,,,,79,72,74,75,76,77,,,,73',
+'78,5,62,63,64,7,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27',
+'88,87,89,90,,,17,,,,,,6,41,8,9,92,91,82,50,84,83,86,85,93,94,,80,81',
+',38,39,37,215,-497,-497,-497,-497,221,223,,,-497,-497,,,,,,229,230,',
+'36,,,30,,,52,53,,,54,,32,212,,218,40,214,213,210,211,222,220,216,18',
+'217,,,,79,72,74,75,76,77,,,,73,78,5,62,63,64,7,51,,,,56,57,,,,60,,58',
+'59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92,91',
+'82,50,84,83,86,85,93,94,,80,81,,38,39,37,215,,,,,,,,,,,,,,,,229,230',
+',36,,,30,,,52,53,,,54,,32,212,,218,40,214,213,210,211,,,216,18,217,',
+',,79,72,74,75,76,77,,,,73,78,5,62,63,64,7,51,,,,56,57,,,,60,,58,59,61',
+'23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92,91,82,50',
+'84,83,86,85,93,94,,80,81,,38,39,37,215,219,224,225,226,221,223,231,232',
+'227,228,,-497,-497,,,229,230,,36,,,30,,,52,53,,,54,,32,212,,218,40,214',
+'213,210,211,222,220,216,18,217,,,,79,72,74,75,76,77,,,,73,78,5,62,63',
+'64,7,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90',
+',,17,,,,,,6,41,8,9,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,215',
+'219,224,225,226,221,223,231,232,227,228,,-497,-497,,,229,230,,36,,,30',
+',,52,53,,,54,,32,212,,218,40,214,213,210,211,222,220,216,18,217,,,,79',
+'72,74,75,76,77,,,,73,78,5,62,63,64,7,51,,,,56,57,,,,60,,58,59,61,23',
+'24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92,91,82,50,84',
+'83,86,85,93,94,,80,81,,38,39,37,215,-497,-497,-497,-497,221,223,,,-497',
+'-497,,,,,,229,230,,36,,,30,,,52,53,,,54,,32,212,,218,40,214,213,210',
+'211,222,220,216,18,217,,,,79,72,74,75,76,77,,,,73,78,5,62,63,64,7,51',
+',,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,',
+',,,,6,41,8,9,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,215,-497',
+'-497,-497,-497,221,223,,,-497,-497,,,,,,229,230,,36,,,30,,,52,53,,,54',
+',32,212,,218,40,214,213,210,211,222,220,216,18,217,,,,79,72,74,75,76',
+'77,,,,73,78,5,62,63,64,7,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,',
+',22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92,91,82,50,84,83,86,85,93',
+'94,,80,81,,38,39,37,215,,,,,,,,,,,,,,,,229,230,,36,,,30,,,52,53,,,54',
+',32,212,,218,40,214,213,210,211,,,216,18,217,,,,79,72,74,75,76,77,,',
+',73,78,5,62,63,64,7,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28',
+'27,88,87,89,90,,,17,,,,,,6,41,8,9,92,91,82,50,84,83,86,85,93,94,,80',
+'81,,38,39,37,215,-497,-497,-497,-497,221,223,,,-497,-497,,,,,,229,230',
+',36,,,30,,,52,53,,,54,,32,212,,218,40,214,213,210,211,222,220,216,18',
+'217,,,,79,72,74,75,76,77,,,,73,78,5,62,63,64,7,51,,,,56,57,,,,60,,58',
+'59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92,91',
+'82,50,84,83,86,85,93,94,,80,81,,38,39,37,215,-497,-497,-497,-497,221',
+'223,,,-497,-497,,,,,,229,230,,36,,,30,,,52,53,,,54,,32,212,,218,40,214',
+'213,210,211,222,220,216,18,217,,,,79,72,74,75,76,77,,,,73,78,5,62,63',
+'64,7,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90',
+',,17,,,,,,6,41,8,9,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,215',
+',,,,,,,,,,,,,,,229,230,,36,,,30,,,52,53,,,54,,32,212,,,40,214,213,210',
+'211,,,,18,,,,,79,72,74,75,76,77,,,,73,78,5,62,63,64,7,51,,,,56,57,,',
+',60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6,41,8',
+'9,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,215,,,,,,,,,,,,,,,',
+'229,230,,36,,,265,,,52,53,,,54,,32,212,,218,40,214,213,210,211,,,,18',
+',,,,79,72,74,75,76,77,,,,73,78,5,62,63,64,7,51,,,,56,57,,,,60,,58,59',
+'61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92,91,82',
+'50,84,83,86,85,93,94,,80,81,,38,39,37,215,,,,,,,,,,,,,,,,229,230,,36',
+',,265,,,52,53,,,54,,32,212,,218,40,214,213,210,211,,,,18,,,,,79,72,74',
+'75,76,77,,,,73,78,5,62,63,64,7,51,,,,56,57,,,,60,,58,59,61,23,24,65',
+'66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92,91,82,50,84,83,86',
+'85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,53,,,54,,32',
+',,,40,,,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78,5,62,63,64,7,51,,,,56',
+'57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6',
+'41,8,9,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,',
+',,,,,36,,,30,,,52,53,,,54,,32,,,,40,,,,,,,,18,,,,,79,72,74,75,76,77',
+',,,73,78,5,62,63,64,7,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22',
+'28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92,91,82,50,84,83,86,85,93,94,',
+'80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,53,,,54,,32,,,,40,,',
+',,,,,18,,,,,79,72,74,75,76,77,,,,73,78,5,62,63,64,7,51,,,,56,57,,,,60',
+',58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92',
+'91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,36,,',
+'30,,,52,53,,,54,,32,,,,40,,,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78,5',
+'62,63,64,7,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87',
+'89,90,,,17,,,,,,6,41,8,9,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39',
+'37,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,53,,,54,,32,,,,40,,,,,,,,18,,,,,79',
+'72,74,75,76,77,,,,73,78,5,62,63,64,7,51,,,,56,57,,,,60,,58,59,61,23',
+'24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92,91,82,50,84',
+'83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,53,',
+',54,,32,,,,40,,,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78,5,62,63,64,7',
+'51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17',
+',,,,,6,41,8,9,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,',
+',,,,,,,,,,,,36,,,30,,,52,53,,,54,,32,,,,40,,,,,,,,18,,,,,79,72,74,75',
+'76,77,,,,73,78,5,62,63,64,7,51,,,,56,57,,,,60,,58,59,61,23,24,65,66',
+',,,,22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92,91,82,50,84,83,86,85',
+'93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,53,,,54,,32,',
+',,40,,,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78,5,62,63,64,7,51,,,,56',
+'57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6',
+'41,8,9,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,',
+',,,,,36,,,30,,,52,53,,,54,,32,,,,40,,,,,,,,18,,,,,79,72,74,75,76,77',
+',,,73,78,5,62,63,64,7,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22',
+'28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92,91,82,50,84,83,86,85,93,94,',
+'80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,53,,,54,,32,,,,40,,',
+',,,,,18,,,,,79,72,74,75,76,77,,,,73,78,5,62,63,64,7,51,,,,56,57,,,,60',
+',58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92',
+'91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,36,,',
+'30,,,52,53,,,54,,32,,,,40,,,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78,5',
+'62,63,64,7,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87',
+'89,90,,,17,,,,,,6,41,8,9,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39',
+'37,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,53,,,54,,32,,,,40,,,,,,,,18,,,,,79',
+'72,74,75,76,77,,,,73,78,5,62,63,64,7,51,,,,56,57,,,,60,,58,59,61,23',
+'24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92,91,82,50,84',
+'83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,53,',
+',54,,32,,,,40,,,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78,5,62,63,64,7',
+'51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17',
+',,,,,6,41,8,9,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,',
+',,,,,,,,,,,,36,,,30,,,52,53,,,54,,32,,,,40,,,,,,,,18,,,,,79,72,74,75',
+'76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,',
+',,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93',
+'94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40',
+',,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,7,51,,,,56,57,,,',
+'60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9',
+'92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,36',
+',,30,,,52,53,,,54,,32,,,,40,,,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78',
+'153,164,154,177,150,170,160,159,180,181,175,158,157,152,178,182,183',
+'162,151,165,169,171,163,156,,,172,179,174,173,166,176,161,149,168,167',
+',,,,,148,155,146,147,144,145,109,111,108,,110,,,,,,,,139,140,,137,121',
+'122,123,,126,128,,,124,,,,,141,142,129,130,,,,,,,,,,,,,,134,133,,120',
+'138,136,135,131,132,127,125,118,,119,,,143,79,,,,,,,,,,78,153,164,154',
+'177,150,170,160,159,180,181,175,158,157,152,178,182,183,162,151,165',
+'169,171,163,156,,,172,179,174,173,166,176,161,149,168,167,,,,,,148,155',
+'146,147,144,145,109,111,,,110,,,,,,,,139,140,,137,121,122,123,,126,128',
+',,124,,,,,141,142,129,130,,,,,,,,,,,,,,134,133,,120,138,136,135,131',
+'132,127,125,118,,119,,,143,79,,,62,63,64,,51,,,78,56,57,,,,60,,58,59',
+'61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,,41,,,92,91,82,50',
+'84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52',
+'53,,,54,,,,,,40,,,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51',
+',,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,,,,',
+',,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,',
+',,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77',
+',,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245',
+'28,27,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81',
+',38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,241,,243,,40,,',
+',,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60',
+',58,59,61,246,247,65,66,,,,,245,28,27,88,87,89,90,,,,,,,,,,41,,,92,91',
+'82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204',
+',,52,53,,,54,,241,,243,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78',
+'62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,28,27,88',
+'87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37',
+',,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,241,,243,,40,,,,,,,,207,',
+',,,79,72,74,75,76,77,,,,73,78,-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,254,,-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,,,,,,,,,,,,,,,,,,,,-249,,,-249,263,,-249,-249,',
+',-249,,-249,,-249,,-249,,,,,,,,-249,,,,,-249,-249,-249,-249,-249,-249',
+',,,-249,-249,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,',
+',245,275,279,88,87,89,90,,,,,,,,,,276,,,92,91,82,50,84,83,86,85,93,94',
+',80,81,,,,280,,215,219,224,225,226,221,223,231,232,227,228,,208,209',
+',,229,230,273,,,270,,,52,53,,,54,,269,,212,,218,,214,213,210,211,222',
+'220,216,,217,,,79,72,74,75,76,77,,,,73,78,62,63,64,233,51,568,,,56,57',
+',,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,276',
+',,92,91,82,50,84,83,86,85,93,94,,80,81,,,,280,,215,219,224,225,226,221',
+'223,231,232,227,228,,208,209,,,229,230,273,,,204,,,52,53,,,54,,,,212',
+',218,,214,213,210,211,222,220,216,,217,,,79,72,74,75,76,77,,,,73,78',
+'62,63,64,233,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279',
+'88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39',
+'37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,',
+'79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246',
+'247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83',
+'86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,',
+'54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,',
+',56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,',
+',,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,',
+',,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76',
+'77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22',
+'28,27,88,87,89,90,,,17,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80',
+'81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,',
+',,18,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58',
+'59,61,246,247,65,66,,,,,245,28,27,88,87,89,90,,,,,,,,,,41,,,92,91,82',
+'50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,',
+',52,53,,,54,,299,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62',
+'63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88',
+'87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37',
+',,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79',
+'72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,23,24',
+'65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,,41,,,92,91,82,50,84,83,86',
+'85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54',
+',,,,,40,,,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56',
+'57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,,41',
+',,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,',
+'200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,18,,,,,79,72,74,75,76,77,,,,73',
+'78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279',
+'88,87,89,90,,,,,,,,,,276,,,92,91,82,50,84,83,86,85,93,94,,80,81,,,,280',
+',215,219,224,225,226,221,223,231,232,227,228,,208,209,,,229,230,315',
+',,30,,,52,53,,,54,,32,,212,,218,,214,213,210,211,222,220,216,,217,,',
+'79,72,74,75,76,77,,,,73,78,62,63,64,233,51,,,,56,57,,,,60,,58,59,61',
+'246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,276,,,92,91,320,50',
+'84,83,321,85,93,94,,80,81,,,,280,,215,219,224,225,226,221,223,231,232',
+'227,228,,208,209,,327,229,230,322,,,204,,,52,53,,,54,,,,212,,218,,214',
+'213,210,211,222,220,216,,217,,,79,72,74,75,76,77,,,,73,78,62,63,64,233',
+'51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90',
+',,,,,,,,,276,,,92,91,320,50,84,83,321,85,93,94,,80,81,,,,280,,215,219',
+'224,225,226,221,223,231,232,227,228,,208,209,,,229,230,322,,,204,,,52',
+'53,,,54,,,,212,,218,,214,213,210,211,222,220,216,,217,,,79,72,74,75',
+'76,77,,,,73,78,-473,-473,-473,233,-473,,,,-473,-473,,,,-473,,-473,-473',
+'-473,-473,-473,-473,-473,,-473,,,-473,-473,-473,-473,-473,-473,-473',
+',,,,,,,,,-473,,,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,,-473',
+'-473,,-473,-473,-473,,,,,,,,,,,,,,,,,,,,-473,,,-473,-473,,-473,-473',
+',,-473,,-473,,-473,,-473,,,,,,,,-473,,-473,,,-473,-473,-473,-473,-473',
+'-473,,,,-473,-473,-474,-474,-474,,-474,,,,-474,-474,,,,-474,,-474,-474',
+'-474,-474,-474,-474,-474,,-474,,,-474,-474,-474,-474,-474,-474,-474',
+',,,,,,,,,-474,,,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,,-474',
+'-474,,-474,-474,-474,,,,,,,,,,,,,,,,,,,,-474,,,-474,-474,,-474,-474',
+',,-474,,-474,,-474,,-474,,,,,,,,-474,,-474,,,-474,-474,-474,-474,-474',
+'-474,,,,-474,-474,62,63,64,,51,,,,56,57,,,,60,,58,59,61,23,24,65,66',
+',,,,22,28,27,88,87,89,90,,,17,,,,,,,41,,,92,91,82,50,84,83,86,85,93',
+'94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40',
+',,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60',
+',58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,,41,,,92,91',
+'82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204',
+',,52,53,,,54,,,,,,40,,,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78,62,63',
+'64,,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90',
+',,17,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,',
+',,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,18,,,,,79,72,74',
+'75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,23,24,65,66',
+',,,,22,28,27,88,87,89,90,,,17,,,,,,,41,,,92,91,82,50,84,83,86,85,93',
+'94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40',
+',,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,7,51,,,,56,57,,,,60',
+',58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,6,41,8,9,92',
+'91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,36,,',
+'30,,,52,53,,,54,,32,,,,40,,,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78,62',
+'63,64,,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89',
+'90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,',
+',,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,369,,,,40,,,,,,,,207,,,,,79,72',
+'74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,23,24,65',
+'66,,,,,22,28,27,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93',
+'94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,369,',
+',,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57',
+',,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,,,,,,,,41,,,92',
+'91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,',
+',204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78',
+'62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,28,27,88',
+'87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37',
+',,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,299,,,,40,,,,,,,,207,,,,',
+'79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,23',
+'24,65,66,,,,,22,28,27,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86',
+'85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54',
+',,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56',
+'57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,,41',
+',,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,',
+'200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,18,,,,,79,72,74,75,76,77,,,,73',
+'78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88',
+'87,89,90,,,17,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39',
+'37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,18,,,,,79',
+'72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247',
+'65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86',
+'85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54',
+',,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56',
+'57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,',
+',,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,',
+',,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77',
+',,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245',
+'275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80',
+'81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,',
+',,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58',
+'59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91',
+'82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204',
+',,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63',
+'64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87',
+'89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,',
+',,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72',
+'74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65',
+'66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85',
+'93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,',
+',,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57',
+',,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41',
+',,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,',
+'200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73',
+'78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279',
+'88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39',
+'37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,',
+'79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246',
+'247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83',
+'86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,',
+'54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,',
+',56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,',
+',,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,',
+',,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76',
+'77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,',
+'245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94',
+',80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,',
+',,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60',
+',58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92',
+'91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,',
+',204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78',
+'62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279',
+'88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39',
+'37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,',
+'79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246',
+'247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83',
+'86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,',
+'54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,',
+',56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,',
+',,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,',
+',,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76',
+'77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,',
+'245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94',
+',80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,',
+',,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60',
+',58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92',
+'91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,',
+',204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78',
+'62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279',
+'88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39',
+'37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,',
+'79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246',
+'247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83',
+'86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,',
+'54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,',
+',56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,',
+',,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,',
+',,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76',
+'77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,',
+'245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94',
+',80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,',
+',,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60',
+',58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92',
+'91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,',
+',204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78',
+'62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279',
+'88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39',
+'37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,',
+'79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246',
+'247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83',
+'86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,',
+'54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,',
+',56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,',
+',,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,',
+',,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76',
+'77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,',
+'245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94',
+',80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,',
+',,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60',
+',58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92',
+'91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,',
+',204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78',
+'62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279',
+'88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39',
+'37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,',
+'79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246',
+'247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83',
+'86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,',
+'54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,',
+',56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,28,27,88,87,89,90,,,,,',
+',,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,',
+',,,,,,,200,,,204,,,52,53,,,54,,241,,243,,40,,,,,,,,207,,,,,79,72,74',
+'75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66',
+',,,,245,28,27,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94',
+',80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,445,53,,,54,,241,,243',
+',40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57',
+',,,60,,58,59,61,246,247,65,66,,,,,245,28,27,88,87,89,90,,,,,,,,,,41',
+',,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,',
+'200,,,204,,449,52,53,,,54,,241,,243,,40,,,,,,,,207,,,,,79,72,74,75,76',
+'77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,',
+'245,275,279,88,87,89,90,,,,,,,,,,276,,,92,91,82,50,84,83,86,85,93,94',
+',80,81,,,,280,,215,219,224,225,226,221,223,231,232,227,228,,208,209',
+',,229,230,273,,,204,,,52,53,,,54,,,,212,,218,,214,213,210,211,222,220',
+'216,,217,,,79,72,74,75,76,77,,,,73,78,62,63,64,233,51,,,,56,57,,,,60',
+',58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92',
+'91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,',
+',204,469,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73',
+'78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279',
+'88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39',
+'37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,',
+'79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,23',
+'24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,,41,,,92,91,82,50,84,83',
+'86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,',
+'54,,,,,,40,,,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,',
+'56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,',
+',,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,',
+',,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,18,,,,,79,72,74,75,76,77',
+',,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28',
+'27,88,87,89,90,,,17,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81',
+',38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,18',
+',,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61',
+'23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,,41,,,92,91,82,50,84',
+'83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53',
+',,54,,,,,,40,,,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78,153,164,154,177',
+'150,170,160,159,180,181,175,158,157,152,178,182,183,162,151,165,169',
+'171,163,156,,,172,179,174,173,166,176,161,149,168,167,,,,,,148,155,146',
+'147,144,145,109,111,,,110,,,,,,,,139,140,,137,121,122,123,,126,128,',
+',124,,,,,141,142,129,130,,,,,,,,,,,,,,134,133,,120,138,136,135,131,132',
+'127,125,118,,119,,,143,79,,,-249,-249,-249,,-249,,,78,-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,254,,-249',
+'-249,,,-249,,-249,,-249,,-249,,,,,,,,-249,,,,,-249,-249,-249,-249,-249',
+'-249,,,,-249,-249,-478,-478,-478,,-478,,,,-478,-478,,,,-478,,-478,-478',
+'-478,-478,-478,-478,-478,,,,,-478,-478,-478,-478,-478,-478,-478,,,,',
+',,,,,-478,,,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,,-478',
+'-478,,-478,-478,-478,,,,,,,,,,,,,,,,,,,,-478,,,-478,-478,,-478,-478',
+',,-478,,-478,,-478,,-478,,,,,,,,-478,,,,,-478,-478,-478,-478,-478,-478',
+',,,-478,-478,-479,-479,-479,,-479,,,,-479,-479,,,,-479,,-479,-479,-479',
+'-479,-479,-479,-479,,,,,-479,-479,-479,-479,-479,-479,-479,,,,,,,,,',
+'-479,,,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,,-479,-479',
+',-479,-479,-479,,,,,,,,,,,,,,,,,,,,-479,,,-479,-479,,-479,-479,,,-479',
+',-479,,-479,,-479,,,,,,,,-479,,,,,-479,-479,-479,-479,-479,-479,,,,-479',
+'-479,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,28',
+'27,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38',
+'39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,299,,,,40,,,,,,,,207',
+',,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61',
+'246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50',
+'84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52',
+'53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,',
+'51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90',
+',,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,',
+',,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75',
+'76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,',
+',,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93',
+'94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40',
+',,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60',
+',58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92',
+'91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,',
+',204,,,52,53,,,54,,560,,243,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,',
+'73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275',
+'279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,',
+'38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,564,,243,,40,,,',
+',,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,',
+'58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92',
+'91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,',
+',204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78',
+'62,63,64,,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87',
+'89,90,,,17,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37',
+',,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,584,,243,,40,,,,,,,,18,,',
+',,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246',
+'247,65,66,,,,,245,28,27,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83',
+'86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,',
+'54,,299,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51',
+',,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,',
+',,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,',
+',,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75',
+'76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,',
+',,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93',
+'94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40',
+',,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60',
+',58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92',
+'91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,',
+',204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78',
+'62,63,64,,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87',
+'89,90,,,17,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37',
+',,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,18,,,,,79,72',
+'74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65',
+'66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85',
+'93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,369',
+',,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57',
+',,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41',
+',,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,',
+'200,,,204,,,52,53,,,54,,612,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,',
+',,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245',
+'275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80',
+'81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,',
+',,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58',
+'59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91',
+'82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204',
+',,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63',
+'64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87',
+'89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,',
+',,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,628,,,,40,,,,,,,,207,,,,,79',
+'72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247',
+'65,66,,,,,245,28,27,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85',
+'93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,299',
+',,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57',
+',,,60,,58,59,61,246,247,65,66,,,,,245,28,27,88,87,89,90,,,,,,,,,,41',
+',,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,',
+'200,,,204,,,52,53,,,54,,299,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,',
+',,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28',
+'27,88,87,89,90,,,17,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81',
+',38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,18',
+',,,,79,72,74,75,76,77,,,,73,78,153,164,154,177,150,170,160,159,180,181',
+'175,158,157,152,178,182,183,162,151,165,169,171,163,156,,,172,179,174',
+'173,166,176,161,149,168,167,,,,,,148,155,146,147,144,145,109,111,,,110',
+',,,,,,,139,140,,137,121,122,123,,126,128,,,124,,,,,141,142,129,130,',
+',,,,,,,,,,,,134,133,,120,138,136,135,131,132,127,125,118,,119,,,143',
+'79,,,62,63,64,,51,,,78,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275',
+'279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,',
+'38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207',
+',,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61',
+'246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50',
+'84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52',
+'53,,,54,,679,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64',
+',51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,',
+',,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,',
+',,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75',
+'76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,',
+',22,28,27,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80',
+'81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,',
+',,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58',
+'59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,,,,,,,,41,,,92,91,82,50',
+'84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52',
+'53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,',
+'51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90',
+',,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,',
+',,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75',
+'76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,',
+',,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93',
+'94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40',
+',,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60',
+',58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,276,,,92',
+'91,82,50,84,83,86,85,93,94,,80,81,,,,280,,,,,,,,,,,,,,,,,,,,273,,,270',
+',,52,53,,,54,,697,,698,,,,,,,,,699,,,,,,79,72,74,75,76,77,,,,73,78,62',
+'63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88',
+'87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37',
+',,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79',
+'72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247',
+'65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86',
+'85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54',
+',,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56',
+'57,,,,60,,58,59,61,246,247,65,66,,,,,245,28,27,88,87,89,90,,,,,,,,,',
+'41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,',
+',,,200,,,204,,,52,53,,,54,,560,,243,,40,,,,,,,,207,,,,,79,72,74,75,76',
+'77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,',
+'245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94',
+',80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,',
+',,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60',
+',58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92',
+'91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,',
+',204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78',
+'62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279',
+'88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39',
+'37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,',
+'79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,23',
+'24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,,,,,41,,,92,91,82,50,84,83',
+'86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,',
+'54,,,,,,40,,,,,,,,18,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,',
+'56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,',
+',,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,',
+',,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76',
+'77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,23,24,65,66,,,,,22',
+'28,27,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81',
+',38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207',
+',,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61',
+'246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50',
+'84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52',
+'53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,',
+'51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90',
+',,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,',
+',,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75',
+'76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,',
+',,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93',
+'94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40',
+',,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60',
+',58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,276,,,92',
+'91,82,50,84,83,86,85,93,94,,80,81,,,,280,,215,219,224,225,226,221,223',
+'231,232,227,228,,208,209,,,229,230,772,,,204,,,52,53,,,54,,,,212,,218',
+',214,213,210,211,222,220,216,,217,,,79,72,74,75,76,77,,,,73,78,62,63',
+'64,233,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88',
+'87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37',
+',,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,780,,243,,40,,,,,,,,207,',
+',,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61',
+'246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50',
+'84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52',
+'53,,,54,,786,,243,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63',
+'64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87',
+'89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,',
+',,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,788,,243,,40,,,,,,,,207,,',
+',,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246',
+'247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,276,,,92,91,82,50,84',
+'83,86,85,93,94,,80,81,,,,280,,215,219,224,225,226,221,223,231,232,227',
+'228,,208,209,,,229,230,772,,,204,,,52,53,,,54,,,,212,,218,,214,213,210',
+'211,222,220,216,,217,,,79,72,74,75,76,77,,,,73,78,62,63,64,233,51,,',
+',56,57,,,,60,,58,59,61,23,24,65,66,,,,,22,28,27,88,87,89,90,,,17,,,',
+',,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,',
+',,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,18,,,,,79,72,74,75,76,77',
+',,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245',
+'275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80',
+'81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,802,,,,40,,',
+',,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60',
+',58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92',
+'91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,',
+',204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78',
+'62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279',
+'88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39',
+'37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,',
+'79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246',
+'247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,276,,,92,91,82,50,84',
+'83,86,85,93,94,,80,81,,,,280,,,,,,,,,,,,,,,,,,,,273,,,270,,,52,53,,',
+'54,,821,,820,,,,,,,,,,,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,',
+',,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,',
+',,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,',
+',,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75',
+'76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,',
+',,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93',
+'94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40',
+',,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60',
+',58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92',
+'91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,',
+',204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78',
+'62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279',
+'88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39',
+'37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,',
+'79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246',
+'247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,276,,,92,91,82,50,84',
+'83,86,85,93,94,,80,81,,,,280,,215,219,224,225,226,221,223,231,232,227',
+'228,,208,209,,,229,230,772,,,204,,,52,53,,,54,,,,212,,218,,214,213,210',
+'211,222,220,216,,217,,,79,72,74,75,76,77,,,,73,78,62,63,64,233,51,,',
+',56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,28,27,88,87,89,90,,,,,',
+',,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,',
+',,,,,,,200,,,204,,,52,53,,,54,,299,,,,40,,,,,,,,207,,,,,79,72,74,75',
+'76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,',
+',,,245,275,279,88,87,89,90,,,,,,,,,,276,,,92,91,82,50,84,83,86,85,93',
+'94,,80,81,,,,280,,215,219,224,225,226,221,223,231,232,227,228,,208,209',
+',,229,230,772,,,204,,,52,53,,,54,,,,212,,218,,214,213,210,211,222,220',
+'216,,217,,,79,72,74,75,76,77,,,,73,78,62,63,64,233,51,,,,56,57,,,,60',
+',58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92',
+'91,82,50,84,83,86,85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,',
+',204,,,52,53,,,54,,864,,243,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,',
+'73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275',
+'279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,',
+'38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,867,,243,,40,,,',
+',,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,',
+'58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,276,,,92',
+'91,82,50,84,83,86,85,93,94,,80,81,,,,280,,215,219,224,225,226,221,223',
+'231,232,227,228,,208,209,,,229,230,772,,,204,,,52,53,,,54,,,,212,,218',
+',214,213,210,211,222,220,216,,217,,,79,72,74,75,76,77,,,,73,78,62,63',
+'64,233,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88',
+'87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37',
+',,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79',
+'72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60,,58,59,61,246,247',
+'65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86',
+'85,93,94,,80,81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54',
+',,,,,40,,,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56',
+'57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,',
+',,276,,,92,91,82,50,84,83,86,85,93,94,,80,81,,,,280,,215,219,224,225',
+'226,221,223,231,232,227,228,,208,209,,,229,230,772,,,204,,,52,53,,,54',
+',,,212,,218,,214,213,210,211,222,220,216,,217,,,79,72,74,75,76,77,,',
+',73,78,62,63,64,233,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245',
+'275,279,88,87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80',
+'81,,38,39,37,,,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,889,,243,,40',
+',,,,,,,207,,,,,79,72,74,75,76,77,,,,73,78,62,63,64,,51,,,,56,57,,,,60',
+',58,59,61,246,247,65,66,,,,,245,275,279,88,87,89,90,,,,,,,,,,276,,,92',
+'91,82,50,84,83,86,85,93,94,,80,81,,,,280,,215,219,224,225,226,221,223',
+'231,232,227,228,,208,209,,,229,230,772,,,204,,,52,53,,,54,,,,212,,218',
+',214,213,210,211,222,220,216,,217,,,79,72,74,75,76,77,,,,73,78,62,63',
+'64,233,51,,,,56,57,,,,60,,58,59,61,246,247,65,66,,,,,245,275,279,88',
+'87,89,90,,,,,,,,,,41,,,92,91,82,50,84,83,86,85,93,94,,80,81,,38,39,37',
+',,,,,,,,,,,,,,,,,,,200,,,204,,,52,53,,,54,,,,,,40,,,,,,,,207,,,,,79',
+'72,74,75,76,77,,,,73,78,153,164,154,177,150,170,160,159,180,181,175',
+'158,157,152,178,182,183,162,151,165,169,171,163,156,,,172,179,174,336',
+'335,337,334,149,168,167,,,,,,148,155,146,147,332,333,330,111,84,83,331',
+'85,,,,,,,139,140,,137,121,122,123,,126,128,,,124,,,,,141,142,129,130',
+',,,,,341,,,,,,,,134,133,,120,138,136,135,131,132,127,125,118,,119,,',
+'143,153,164,154,177,150,170,160,159,180,181,175,158,157,152,178,182',
+'183,162,151,165,169,171,163,156,,,172,179,174,173,166,176,161,149,168',
+'167,,,,,,148,155,146,147,144,145,109,111,,,110,,,,,,,,139,140,,137,121',
+'122,123,,126,128,,,124,,,,,141,142,129,130,,,,,,,,,,,,,,134,133,,120',
+'138,136,135,131,132,127,125,118,,119,,,143,215,219,224,225,226,221,223',
+'231,232,227,228,,208,209,,,229,230,,,,-215,,,,,,,,,,,212,,218,,214,213',
+'210,211,222,220,216,,217,,,,,,,,635,385,,,636,,,,,233,,-215,139,140',
+',137,121,122,123,,126,128,,,124,,,,,141,142,129,130,,,,,,,,,,,,,,134',
+'133,,120,138,136,135,131,132,127,125,118,,119,433,379,143,,434,,,,,',
+',,139,140,,137,121,122,123,,126,128,,,124,,,,,141,142,129,130,,,,,,',
+',,,,,,,134,133,,120,138,136,135,131,132,127,125,118,,119,632,385,143',
+',633,,,,,,,,139,140,,137,121,122,123,,126,128,,,124,,,,,141,142,129',
+'130,,,,,,,,,,,,,,134,133,,120,138,136,135,131,132,127,125,118,,119,630',
+'379,143,,631,,,,,,,,139,140,,137,121,122,123,,126,128,,,124,,,,,141',
+'142,129,130,,,,,,,,,,,,,,134,133,,120,138,136,135,131,132,127,125,118',
+',119,550,379,143,,551,,,,,,,,139,140,,137,121,122,123,,126,128,,,124',
+',,,,141,142,129,130,,,,,,,,,,,,,,134,133,,120,138,136,135,131,132,127',
+'125,118,,119,433,379,143,,434,,,,,,,,139,140,,137,121,122,123,,126,128',
+',,124,,,,,141,142,129,130,,,,,,,,,,,,,,134,133,,120,138,136,135,131',
+'132,127,125,118,,119,433,379,143,,434,,,,,,,,139,140,,137,121,122,123',
+',126,128,,,124,,,,,141,142,129,130,,,,,,,,,,,,,,134,133,,120,138,136',
+'135,131,132,127,125,118,,119,,,143,215,219,224,225,226,221,223,231,232',
+'227,228,,208,209,,,229,230,,,,,,,,,,,,,,,212,,218,,214,213,210,211,222',
+'220,216,,217,,,,,,,552,385,,,553,,,,,,233,556,139,140,,137,121,122,123',
+',126,128,,,124,,,,,141,142,129,130,,,,,,,,,,,,,,134,133,,120,138,136',
+'135,131,132,127,125,118,,119,376,379,143,,377,,,,,,,,139,140,,137,121',
+'122,123,,126,128,,,124,,,,,141,142,129,130,,,,,,,,,,,,,,134,133,,120',
+'138,136,135,131,132,127,125,118,,119,857,379,143,,858,,,,,,,,139,140',
+',137,121,122,123,,126,128,,,124,,,,,141,142,129,130,,,,,,,,,,,,,,134',
+'133,,120,138,136,135,131,132,127,125,118,,119,597,385,143,,598,,,,,',
+',,139,140,,137,121,122,123,,126,128,,,124,,,,,141,142,129,130,,,,,,',
+',,,,,,,134,133,,120,138,136,135,131,132,127,125,118,,119,859,385,143',
+',860,,,,,,,,139,140,,137,121,122,123,,126,128,,,124,,,,,141,142,129',
+'130,,,,,,,,,,,,,,134,133,,120,138,136,135,131,132,127,125,118,,119,594',
+'379,143,,595,,,,,,,,139,140,,137,121,122,123,,126,128,,,124,,,,,141',
+'142,129,130,,,,,,,,,,,,,,134,133,,120,138,136,135,131,132,127,125,118',
+',119,550,379,143,,551,,,,,,,,139,140,,137,121,122,123,,126,128,,,124',
+',,,,141,142,129,130,,,,,,,,,,,,,,134,133,,120,138,136,135,131,132,127',
+'125,118,,119,552,385,143,,553,,,,,,,,139,140,,137,121,122,123,,126,128',
+',,124,,,,,141,142,129,130,,,,,,,,,,,,,,134,133,,120,138,136,135,131',
+'132,127,125,118,,119,433,379,143,,434,,,,,,,,139,140,,137,121,122,123',
+',126,128,,,124,,,,,141,142,129,130,,,,,,,,,,,,,,134,133,,120,138,136',
+'135,131,132,127,125,118,,119,381,385,143,,383,,,,,,,,139,140,,137,121',
+'122,123,,126,128,,,124,,,,,141,142,129,130,,,,,,,,,,,,,,134,133,,120',
+'138,136,135,131,132,127,125,118,,119,433,379,143,,434,,,,,,,,139,140',
+',137,121,122,123,,126,128,,,124,,,,,141,142,129,130,,,,,,,,,,,,,,134',
+'133,,120,138,136,135,131,132,127,125,118,,119,,,143,215,219,224,225',
+'226,221,223,231,232,227,228,,208,209,,,229,230,,,,,,,,,,,,,,,212,,218',
+',214,213,210,211,222,220,216,,217,,215,219,224,225,226,221,223,231,232',
+'227,228,,208,209,291,233,229,230,,,,,,,,,,,,,,,212,,218,,214,213,210',
+'211,222,220,216,,217,,215,219,224,225,226,221,223,231,232,227,228,,208',
+'209,291,233,229,230,,,,,,,,,,,,,,,212,,218,,214,213,210,211,222,220',
+'216,,217,,,,,,,,,,,,,,,,,233' ]
+ racc_action_table = arr = ::Array.new(24362, 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 = [
+'383,512,512,518,518,798,631,383,383,383,326,848,440,383,383,743,383',
+'199,446,440,347,424,306,727,334,630,70,55,316,881,711,334,603,603,70',
+'383,383,711,383,383,383,383,383,307,627,297,333,313,297,632,500,201',
+'446,333,591,424,362,848,848,848,848,440,594,199,383,383,383,383,383',
+'383,383,383,383,383,383,383,383,383,363,711,383,383,383,347,383,603',
+'303,595,383,303,512,383,518,591,744,512,383,201,383,633,383,383,383',
+'383,383,383,383,381,383,631,383,55,632,326,381,381,381,798,743,798,381',
+'381,798,381,383,383,594,383,630,383,383,316,381,326,306,727,306,727',
+'326,306,727,491,381,381,594,381,381,381,381,381,313,595,632,500,693',
+'307,627,307,627,492,307,627,633,332,582,594,368,447,594,595,332,381',
+'381,381,381,381,381,381,381,381,381,381,381,381,381,857,277,381,381',
+'381,595,381,744,595,744,381,26,744,381,394,693,447,633,381,528,381,582',
+'381,381,381,381,381,381,381,432,381,381,381,377,615,615,432,432,432',
+'321,14,432,432,432,371,432,381,381,540,381,857,381,381,551,491,432,491',
+'857,574,491,394,755,857,277,432,432,857,432,432,432,432,432,492,26,492',
+'348,377,492,376,377,528,528,35,14,857,277,14,375,283,321,528,540,574',
+'382,540,26,321,550,346,551,320,321,345,184,432,321,50,755,755,755,755',
+'432,772,50,50,50,432,432,50,50,50,376,50,321,376,35,301,402,35,301,3',
+'283,50,50,283,3,348,348,348,432,403,50,50,550,50,50,50,50,50,331,320',
+'298,404,432,298,432,331,320,432,346,346,346,320,345,345,345,320,311',
+'405,311,50,50,50,50,50,50,50,50,50,50,50,50,50,50,320,773,50,50,50,503',
+'774,50,773,775,50,344,503,50,50,343,50,773,50,429,50,503,50,50,50,50',
+'50,50,50,435,50,859,50,330,597,322,435,435,435,322,330,435,435,435,858',
+'435,50,50,50,50,401,50,878,400,335,435,25,635,803,721,803,335,438,25',
+'435,435,721,435,435,435,435,435,344,344,344,721,343,343,343,15,15,859',
+'401,439,597,400,401,401,859,400,400,597,13,859,858,420,597,859,310,13',
+'597,858,339,310,435,42,858,635,13,339,858,435,42,636,635,859,435,435',
+'597,635,636,42,441,635,442,636,782,420,858,636,271,420,420,420,420,37',
+'37,271,448,435,645,635,645,645,645,645,271,337,553,553,553,450,553,435',
+'337,435,553,553,435,870,870,553,451,553,553,553,553,553,553,553,280',
+'280,758,758,553,553,553,553,553,553,553,294,294,455,336,419,645,645',
+'645,645,553,336,783,553,553,553,553,553,553,553,553,553,553,460,553',
+'553,784,553,553,553,415,415,415,415,415,415,415,419,272,415,415,419',
+'419,419,419,272,415,415,865,553,553,787,553,553,272,553,553,305,305',
+'553,892,553,415,553,415,553,415,415,415,415,415,415,415,553,415,470',
+'9,473,553,553,553,553,553,553,800,274,801,553,553,552,552,552,274,552',
+'95,108,553,552,552,108,108,274,552,487,552,552,552,552,552,552,552,493',
+'494,806,808,552,552,552,552,552,552,552,646,640,511,526,531,646,640',
+'511,809,552,810,813,552,552,552,552,552,552,552,552,552,552,814,552',
+'552,543,552,552,552,421,421,421,421,421,421,421,871,876,421,421,286',
+'547,8,825,876,421,421,286,552,552,825,552,552,876,552,552,286,41,552',
+'825,552,421,552,421,552,421,421,421,421,421,421,421,552,421,554,872',
+'561,552,552,552,552,552,552,563,314,566,552,552,60,60,60,314,60,568',
+'576,552,60,60,577,826,314,60,583,60,60,60,60,60,60,60,873,586,36,593',
+'60,60,60,60,60,60,60,522,522,60,522,522,522,596,366,599,60,601,602,60',
+'60,60,60,60,60,60,60,60,60,604,60,60,34,60,60,60,366,366,366,366,366',
+'366,366,366,366,366,366,860,366,366,770,607,366,366,860,60,608,770,60',
+'860,611,60,60,860,617,60,770,623,366,625,366,60,366,366,366,366,366',
+'366,366,60,366,626,874,629,60,60,60,60,60,60,833,324,638,60,60,643,60',
+'366,324,366,647,60,97,97,97,97,97,324,648,198,97,97,649,655,660,97,198',
+'97,97,97,97,97,97,97,663,198,665,20,97,97,97,97,97,97,97,678,764,97',
+'4,4,4,4,4,97,97,97,97,97,97,97,97,97,97,97,97,97,97,836,97,97,837,97',
+'97,97,422,422,422,422,422,422,422,422,771,422,422,598,696,202,459,771',
+'422,422,598,97,203,459,97,598,771,97,97,598,700,97,459,97,422,701,422',
+'97,422,422,422,422,422,422,422,97,422,702,1,705,97,97,97,97,97,97,709',
+'710,712,97,97,821,821,821,854,821,855,97,716,821,821,718,719,720,821',
+'856,821,821,821,821,821,821,821,732,735,12,239,821,821,821,821,821,821',
+'821,350,350,350,350,350,240,11,244,253,821,746,264,821,821,821,821,821',
+'821,821,821,821,821,200,821,821,413,266,817,821,817,817,817,817,106',
+'106,106,106,106,267,268,10,413,413,273,275,276,279,284,821,285,288,821',
+'750,292,821,821,293,413,821,413,296,413,413,413,413,817,751,413,300',
+'413,302,312,315,817,817,817,817,821,821,821,821,821,821,317,,,821,821',
+',697,697,697,821,697,,,,697,697,,,,697,,697,697,697,697,697,697,697',
+',,,,697,697,697,697,697,697,697,,,,,,,,555,,697,,,697,697,697,697,697',
+'697,697,697,697,697,,697,697,,,,697,555,555,555,555,555,555,555,555',
+'555,555,555,,555,555,,,555,555,,697,,,697,,,697,697,,,697,,,555,,555',
+',555,555,555,555,555,555,555,,555,,,,697,697,697,697,697,697,,,,697',
+'697,,,555,,697,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,514,,514,514,514,514,,30,,,,,30,30,30,30,30,30,,,,30,30,737,737',
+'737,737,737,737,,,,737,737,,,,737,514,737,737,737,737,737,737,737,514',
+'514,514,514,737,737,737,737,737,737,737,,,737,,,,,,737,737,737,737,737',
+'737,737,737,737,737,737,737,737,737,,737,737,,737,737,737,,,,,,,,,,',
+',,,,,,,,,737,,,737,,,737,737,,,737,,737,,,,737,753,,753,753,753,753',
+',737,,,,,737,737,737,737,737,737,,,,737,737,736,736,736,736,736,736',
+',,,736,736,,,,736,,736,736,736,736,736,736,736,753,753,753,753,736,736',
+'736,736,736,736,736,,,736,,,,,,736,736,736,736,736,736,736,736,736,736',
+'736,736,736,736,,736,736,,736,736,736,412,,,,,,,,,,,,,,,,412,412,,736',
+',,736,,,736,736,,,736,,736,412,,412,736,412,412,412,412,,,412,736,412',
+',,,736,736,736,736,736,736,,,,736,736,606,606,606,606,606,606,,,,606',
+'606,,,,606,,606,606,606,606,606,606,606,,,,,606,606,606,606,606,606',
+'606,,,606,,,,,,606,606,606,606,606,606,606,606,606,606,606,606,606,606',
+',606,606,,606,606,606,409,409,409,409,409,409,409,,,409,409,,,,,,409',
+'409,,606,,,606,,,606,606,,,606,,606,409,,409,606,409,409,409,409,409',
+'409,409,606,409,,,,606,606,606,606,606,606,,,,606,606,589,589,589,589',
+'589,589,,,,589,589,,,,589,,589,589,589,589,589,589,589,,,,,589,589,589',
+'589,589,589,589,,,589,,,,,,589,589,589,589,589,589,589,589,589,589,589',
+'589,589,589,,589,589,,589,589,589,410,,,,,,,,,,,,,,,,410,410,,589,,',
+'589,,,589,589,,,589,,589,410,,410,589,410,410,410,410,,,410,589,410',
+',,,589,589,589,589,589,589,,,,589,589,186,186,186,186,186,186,,,,186',
+'186,,,,186,,186,186,186,186,186,186,186,,,,,186,186,186,186,186,186',
+'186,,,186,,,,,,186,186,186,186,186,186,186,186,186,186,186,186,186,186',
+',186,186,,186,186,186,399,399,399,399,399,399,399,399,399,399,399,,399',
+'399,,,399,399,,186,,,186,,,186,186,,,186,,186,399,,399,186,399,399,399',
+'399,399,399,399,186,399,,,,186,186,186,186,186,186,,,,186,186,187,187',
+'187,187,187,187,,,,187,187,,,,187,,187,187,187,187,187,187,187,,,,,187',
+'187,187,187,187,187,187,,,187,,,,,,187,187,187,187,187,187,187,187,187',
+'187,187,187,187,187,,187,187,,187,187,187,398,398,398,398,398,398,398',
+'398,398,398,398,,398,398,,,398,398,,187,,,187,,,187,187,,,187,,187,398',
+',398,187,398,398,398,398,398,398,398,187,398,,,,187,187,187,187,187',
+'187,,,,187,187,588,588,588,588,588,588,,,,588,588,,,,588,,588,588,588',
+'588,588,588,588,,,,,588,588,588,588,588,588,588,,,588,,,,,,588,588,588',
+'588,588,588,588,588,588,588,588,588,588,588,,588,588,,588,588,588,414',
+'414,414,414,414,414,414,,,414,414,,,,,,414,414,,588,,,588,,,588,588',
+',,588,,588,414,,414,588,414,414,414,414,414,414,414,588,414,,,,588,588',
+'588,588,588,588,,,,588,588,559,559,559,559,559,559,,,,559,559,,,,559',
+',559,559,559,559,559,559,559,,,,,559,559,559,559,559,559,559,,,559,',
+',,,,559,559,559,559,559,559,559,559,559,559,559,559,559,559,,559,559',
+',559,559,559,418,418,418,418,418,418,418,,,418,418,,,,,,418,418,,559',
+',,559,,,559,559,,,559,,559,418,,418,559,418,418,418,418,418,418,418',
+'559,418,,,,559,559,559,559,559,559,,,,559,559,724,724,724,724,724,724',
+',,,724,724,,,,724,,724,724,724,724,724,724,724,,,,,724,724,724,724,724',
+'724,724,,,724,,,,,,724,724,724,724,724,724,724,724,724,724,724,724,724',
+'724,,724,724,,724,724,724,411,,,,,,,,,,,,,,,,411,411,,724,,,724,,,724',
+'724,,,724,,724,411,,411,724,411,411,411,411,,,411,724,411,,,,724,724',
+'724,724,724,724,,,,724,724,706,706,706,706,706,706,,,,706,706,,,,706',
+',706,706,706,706,706,706,706,,,,,706,706,706,706,706,706,706,,,706,',
+',,,,706,706,706,706,706,706,706,706,706,706,706,706,706,706,,706,706',
+',706,706,706,416,416,416,416,416,416,416,,,416,416,,,,,,416,416,,706',
+',,706,,,706,706,,,706,,706,416,,416,706,416,416,416,416,416,416,416',
+'706,416,,,,706,706,706,706,706,706,,,,706,706,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,417,417,417,417,417,417,417,,,417,417,,,,,,417,417,',
+'0,,,0,,,0,0,,,0,,0,417,,417,0,417,417,417,417,417,417,417,0,417,,,,0',
+'0,0,0,0,0,,,,0,0,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',
+'408,,,,,,,,,,,,,,,,408,408,,852,,,852,,,852,852,,,852,,852,408,,,852',
+'408,408,408,408,,,,852,,,,,852,852,852,852,852,852,,,,852,852,270,270',
+'270,270,270,270,,,,270,270,,,,270,,270,270,270,270,270,270,270,,,,,270',
+'270,270,270,270,270,270,,,270,,,,,,270,270,270,270,270,270,270,270,270',
+'270,270,270,270,270,,270,270,,270,270,270,407,,,,,,,,,,,,,,,,407,407',
+',270,,,270,,,270,270,,,270,,270,407,,407,270,407,407,407,407,,,,270',
+',,,,270,270,270,270,270,270,,,,270,270,265,265,265,265,265,265,,,,265',
+'265,,,,265,,265,265,265,265,265,265,265,,,,,265,265,265,265,265,265',
+'265,,,265,,,,,,265,265,265,265,265,265,265,265,265,265,265,265,265,265',
+',265,265,,265,265,265,406,,,,,,,,,,,,,,,,406,406,,265,,,265,,,265,265',
+',,265,,265,406,,406,265,406,406,406,406,,,,265,,,,,265,265,265,265,265',
+'265,,,,265,265,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,204,204,204,204,204,,,,204,204,51,51,51,51,51,51,,,,51,51,,,,51',
+',51,51,51,51,51,51,51,,,,,51,51,51,51,51,51,51,,,51,,,,,,51,51,51,51',
+'51,51,51,51,51,51,51,51,51,51,,51,51,,51,51,51,,,,,,,,,,,,,,,,,,,,51',
+',,51,,,51,51,,,51,,51,,,,51,,,,,,,,51,,,,,51,51,51,51,51,51,,,,51,51',
+'845,845,845,845,845,845,,,,845,845,,,,845,,845,845,845,845,845,845,845',
+',,,,845,845,845,845,845,845,845,,,845,,,,,,845,845,845,845,845,845,845',
+'845,845,845,845,845,845,845,,845,845,,845,845,845,,,,,,,,,,,,,,,,,,',
+',845,,,845,,,845,845,,,845,,845,,,,845,,,,,,,,845,,,,,845,845,845,845',
+'845,845,,,,845,845,671,671,671,671,671,671,,,,671,671,,,,671,,671,671',
+'671,671,671,671,671,,,,,671,671,671,671,671,671,671,,,671,,,,,,671,671',
+'671,671,671,671,671,671,671,671,671,671,671,671,,671,671,,671,671,671',
+',,,,,,,,,,,,,,,,,,,671,,,671,,,671,671,,,671,,671,,,,671,,,,,,,,671',
+',,,,671,671,671,671,671,671,,,,671,671,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,513,513,,,,513,513,838,838',
+'838,838,838,838,,,,838,838,,,,838,,838,838,838,838,838,838,838,,,,,838',
+'838,838,838,838,838,838,,,838,,,,,,838,838,838,838,838,838,838,838,838',
+'838,838,838,838,838,,838,838,,838,838,838,,,,,,,,,,,,,,,,,,,,838,,,838',
+',,838,838,,,838,,838,,,,838,,,,,,,,838,,,,,838,838,838,838,838,838,',
+',,838,838,794,794,794,794,794,794,,,,794,794,,,,794,,794,794,794,794',
+'794,794,794,,,,,794,794,794,794,794,794,794,,,794,,,,,,794,794,794,794',
+'794,794,794,794,794,794,794,794,794,794,,794,794,,794,794,794,,,,,,',
+',,,,,,,,,,,,,794,,,794,,,794,794,,,794,,794,,,,794,,,,,,,,794,,,,,794',
+'794,794,794,794,794,,,,794,794,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,644,644,644,644,644,,,,644,644,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,639,639,639,639,639,,',
+',639,639,495,495,495,495,495,495,,,,495,495,,,,495,,495,495,495,495',
+'495,495,495,,,,,495,495,495,495,495,495,495,,,495,,,,,,495,495,495,495',
+'495,495,495,495,495,495,495,495,495,495,,495,495,,495,495,495,,,,,,',
+',,,,,,,,,,,,,495,,,495,,,495,495,,,495,,495,,,,495,,,,,,,,495,,,,,495',
+'495,495,495,495,495,,,,495,495,490,490,490,490,490,490,,,,490,490,,',
+',490,,490,490,490,490,490,490,490,,,,,490,490,490,490,490,490,490,,',
+'490,,,,,,490,490,490,490,490,490,490,490,490,490,490,490,490,490,,490',
+'490,,490,490,490,,,,,,,,,,,,,,,,,,,,490,,,490,,,490,490,,,490,,490,',
+',,490,,,,,,,,490,,,,,490,490,490,490,490,490,,,,490,490,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,748,748,748,748,748,,',
+',748,748,741,741,741,741,741,741,,,,741,741,,,,741,,741,741,741,741',
+'741,741,741,,,,,741,741,741,741,741,741,741,,,741,,,,,,741,741,741,741',
+'741,741,741,741,741,741,741,741,741,741,,741,741,,741,741,741,,,,,,',
+',,,,,,,,,,,,,741,,,741,,,741,741,,,741,,741,,,,741,,,,,,,,741,,,,,741',
+'741,741,741,741,741,,,,741,741,486,486,486,486,486,486,,,,486,486,,',
+',486,,486,486,486,486,486,486,486,,,,,486,486,486,486,486,486,486,,',
+'486,,,,,,486,486,486,486,486,486,486,486,486,486,486,486,486,486,,486',
+'486,,486,486,486,,,,,,,,,,,,,,,,,,,,486,,,486,,,486,486,,,486,,486,',
+',,486,,,,,,,,486,,,,,486,486,486,486,486,486,,,,486,486,369,369,369',
+',369,,,,369,369,,,,369,,369,369,369,369,369,369,369,,,,,369,369,369',
+'369,369,369,369,,,,,,,,,,369,,,369,369,369,369,369,369,369,369,369,369',
+',369,369,,369,369,369,,,,,,,,,,,,,,,,,,,,369,,,369,,,369,369,,,369,',
+',,,,369,,,,,,,,369,,,,,369,369,369,369,369,369,,,,369,369,5,5,5,5,5',
+',,,5,5,,,,5,,5,5,5,5,5,5,5,,,,,5,5,5,5,5,5,5,,,5,,,,,,5,5,5,5,5,5,5',
+'5,5,5,5,5,5,5,,5,5,,5,5,5,,,,,,,,,,,,,,,,,,,,5,,,5,,,5,5,,,5,,5,,,,5',
+',,,,,,,5,,,,,5,5,5,5,5,5,,,,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6',
+'6,6,6,6,6,6,,,6,6,6,6,6,6,6,6,6,6,,,,,,6,6,6,6,6,6,6,6,6,,6,,,,,,,,6',
+'6,,6,6,6,6,,6,6,,,6,,,,,6,6,6,6,,,,,,,,,,,,,,6,6,,6,6,6,6,6,6,6,6,6',
+',6,,,6,6,,,,,,,,,,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7',
+',,7,7,7,7,7,7,7,7,7,7,,,,,,7,7,7,7,7,7,7,7,,,7,,,,,,,,7,7,,7,7,7,7,',
+'7,7,,,7,,,,,7,7,7,7,,,,,,,,,,,,,,7,7,,7,7,7,7,7,7,7,7,7,,7,,,7,7,,,17',
+'17,17,,17,,,7,17,17,,,,17,,17,17,17,17,17,17,17,,,,,17,17,17,17,17,17',
+'17,,,17,,,,,,,17,,,17,17,17,17,17,17,17,17,17,17,,17,17,,17,17,17,,',
+',,,,,,,,,,,,,,,,,17,,,17,,,17,17,,,17,,,,,,17,,,,,,,,17,,,,,17,17,17',
+'17,17,17,,,,17,17,18,18,18,,18,,,,18,18,,,,18,,18,18,18,18,18,18,18',
+',,,,18,18,18,18,18,18,18,,,,,,,,,,18,,,18,18,18,18,18,18,18,18,18,18',
+',18,18,,18,18,18,,,,,,,,,,,,,,,,,,,,18,,,18,,,18,18,,,18,,,,,,18,,,',
+',,,,18,,,,,18,18,18,18,18,18,,,,18,18,22,22,22,,22,,,,22,22,,,,22,,22',
+'22,22,22,22,22,22,,,,,22,22,22,22,22,22,22,,,,,,,,,,22,,,22,22,22,22',
+'22,22,22,22,22,22,,22,22,,22,22,22,,,,,,,,,,,,,,,,,,,,22,,,22,,,22,22',
+',,22,,22,,22,,22,,,,,,,,22,,,,,22,22,22,22,22,22,,,,22,22,23,23,23,',
+'23,,,,23,23,,,,23,,23,23,23,23,23,23,23,,,,,23,23,23,23,23,23,23,,,',
+',,,,,,23,,,23,23,23,23,23,23,23,23,23,23,,23,23,,23,23,23,,,,,,,,,,',
+',,,,,,,,,23,,,23,,,23,23,,,23,,23,,23,,23,,,,,,,,23,,,,,23,23,23,23',
+'23,23,,,,23,23,24,24,24,,24,,,,24,24,,,,24,,24,24,24,24,24,24,24,,,',
+',24,24,24,24,24,24,24,,,,,,,,,,24,,,24,24,24,24,24,24,24,24,24,24,,24',
+'24,,24,24,24,,,,,,,,,,,,,,,,,,,,24,,,24,,,24,24,,,24,,24,,24,,24,,,',
+',,,,24,,,,,24,24,24,24,24,24,,,,24,24,27,27,27,,27,,,,27,27,,,,27,,27',
+'27,27,27,27,27,27,,,,,27,27,27,27,27,27,27,,,,,,,,,,27,,,27,27,27,27',
+'27,27,27,27,27,27,,27,27,,27,27,27,,,,,,,,,,,,,,,,,,,,27,,,27,27,,27',
+'27,,,27,,27,,27,,27,,,,,,,,27,,,,,27,27,27,27,27,27,,,,27,27,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,28,,28,28,,,28,,28,,28,,28,,,,,,,,28,,,,,28,28,28',
+'28,28,28,,,,28,28,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,,828,828,828,828,828,828,828,828,828,828,828,,828,828,',
+',828,828,31,,,31,,,31,31,,,31,,31,,828,,828,,828,828,828,828,828,828',
+'828,,828,,,31,31,31,31,31,31,,,,31,31,32,32,32,828,32,828,,,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,,468,468,468,468,468,468,468',
+'468,468,468,468,,468,468,,,468,468,32,,,32,,,32,32,,,32,,,,468,,468',
+',468,468,468,468,468,468,468,,468,,,32,32,32,32,32,32,,,,32,32,38,38',
+'38,468,38,,,,38,38,,,,38,,38,38,38,38,38,38,38,,,,,38,38,38,38,38,38',
+'38,,,,,,,,,,38,,,38,38,38,38,38,38,38,38,38,38,,38,38,,38,38,38,,,,',
+',,,,,,,,,,,,,,,38,,,38,,,38,38,,,38,,,,,,38,,,,,,,,38,,,,,38,38,38,38',
+'38,38,,,,38,38,39,39,39,,39,,,,39,39,,,,39,,39,39,39,39,39,39,39,,,',
+',39,39,39,39,39,39,39,,,,,,,,,,39,,,39,39,39,39,39,39,39,39,39,39,,39',
+'39,,39,39,39,,,,,,,,,,,,,,,,,,,,39,,,39,,,39,39,,,39,,,,,,39,,,,,,,',
+'39,,,,,39,39,39,39,39,39,,,,39,39,40,40,40,,40,,,,40,40,,,,40,,40,40',
+'40,40,40,40,40,,,,,40,40,40,40,40,40,40,,,,,,,,,,40,,,40,40,40,40,40',
+'40,40,40,40,40,,40,40,,40,40,40,,,,,,,,,,,,,,,,,,,,40,,,40,,,40,40,',
+',40,,,,,,40,,,,,,,,40,,,,,40,40,40,40,40,40,,,,40,40,52,52,52,,52,,',
+',52,52,,,,52,,52,52,52,52,52,52,52,,,,,52,52,52,52,52,52,52,,,52,,,',
+',,,52,,,52,52,52,52,52,52,52,52,52,52,,52,52,,52,52,52,,,,,,,,,,,,,',
+',,,,,,52,,,52,,,52,52,,,52,,,,,,52,,,,,,,,52,,,,,52,52,52,52,52,52,',
+',,52,52,53,53,53,,53,,,,53,53,,,,53,,53,53,53,53,53,53,53,,,,,53,53',
+'53,53,53,53,53,,,,,,,,,,53,,,53,53,53,53,53,53,53,53,53,53,,53,53,,53',
+'53,53,,,,,,,,,,,,,,,,,,,,53,,,53,,,53,53,,,53,,53,,,,53,,,,,,,,53,,',
+',,53,53,53,53,53,53,,,,53,53,54,54,54,,54,,,,54,54,,,,54,,54,54,54,54',
+'54,54,54,,,,,54,54,54,54,54,54,54,,,,,,,,,,54,,,54,54,54,54,54,54,54',
+'54,54,54,,54,54,,54,54,54,,,,,,,,,,,,,,,,,,,,54,,,54,,,54,54,,,54,,',
+',,,54,,,,,,,,54,,,,,54,54,54,54,54,54,,,,54,54,56,56,56,,56,,,,56,56',
+',,,56,,56,56,56,56,56,56,56,,,,,56,56,56,56,56,56,56,,,56,,,,,,,56,',
+',56,56,56,56,56,56,56,56,56,56,,56,56,,56,56,56,,,,,,,,,,,,,,,,,,,,56',
+',,56,,,56,56,,,56,,,,,,56,,,,,,,,56,,,,,56,56,56,56,56,56,,,,56,56,57',
+'57,57,,57,,,,57,57,,,,57,,57,57,57,57,57,57,57,,,,,57,57,57,57,57,57',
+'57,,,57,,,,,,,57,,,57,57,57,57,57,57,57,57,57,57,,57,57,,57,57,57,,',
+',,,,,,,,,,,,,,,,,57,,,57,,,57,57,,,57,,,,,,57,,,,,,,,57,,,,,57,57,57',
+'57,57,57,,,,57,57,61,61,61,,61,,,,61,61,,,,61,,61,61,61,61,61,61,61',
+',,,,61,61,61,61,61,61,61,,,,,,,,,,61,,,61,61,61,61,61,61,61,61,61,61',
+',61,61,,,,61,,689,689,689,689,689,689,689,689,689,689,689,,689,689,',
+',689,689,61,,,61,,,61,61,,,61,,61,,689,,689,,689,689,689,689,689,689',
+'689,,689,,,61,61,61,61,61,61,,,,61,61,62,62,62,689,62,,,,62,62,,,,62',
+',62,62,62,62,62,62,62,,,,,62,62,62,62,62,62,62,,,,,,,,,,62,,,62,62,62',
+'62,62,62,62,62,62,62,,62,62,,,,62,,684,684,684,684,684,684,684,684,684',
+'684,684,,684,684,,62,684,684,62,,,62,,,62,62,,,62,,,,684,,684,,684,684',
+'684,684,684,684,684,,684,,,62,62,62,62,62,62,,,,62,62,63,63,63,684,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,,374,374,374,374',
+'374,374,374,374,374,374,374,,374,374,,,374,374,63,,,63,,,63,63,,,63',
+',,,374,,374,,374,374,374,374,374,374,374,,374,,,63,63,63,63,63,63,,',
+',63,63,82,82,82,374,82,,,,82,82,,,,82,,82,82,82,82,82,82,82,,82,,,82',
+'82,82,82,82,82,82,,,,,,,,,,82,,,82,82,82,82,82,82,82,82,82,82,,82,82',
+',82,82,82,,,,,,,,,,,,,,,,,,,,82,,,82,82,,82,82,,,82,,82,,82,,82,,,,',
+',,,82,,82,,,82,82,82,82,82,82,,,,82,82,86,86,86,,86,,,,86,86,,,,86,',
+'86,86,86,86,86,86,86,,86,,,86,86,86,86,86,86,86,,,,,,,,,,86,,,86,86',
+'86,86,86,86,86,86,86,86,,86,86,,86,86,86,,,,,,,,,,,,,,,,,,,,86,,,86',
+'86,,86,86,,,86,,86,,86,,86,,,,,,,,86,,86,,,86,86,86,86,86,86,,,,86,86',
+'101,101,101,,101,,,,101,101,,,,101,,101,101,101,101,101,101,101,,,,',
+'101,101,101,101,101,101,101,,,101,,,,,,,101,,,101,101,101,101,101,101',
+'101,101,101,101,,101,101,,101,101,101,,,,,,,,,,,,,,,,,,,,101,,,101,',
+',101,101,,,101,,,,,,101,,,,,,,,101,,,,,101,101,101,101,101,101,,,,101',
+'101,102,102,102,,102,,,,102,102,,,,102,,102,102,102,102,102,102,102',
+',,,,102,102,102,102,102,102,102,,,102,,,,,,,102,,,102,102,102,102,102',
+'102,102,102,102,102,,102,102,,102,102,102,,,,,,,,,,,,,,,,,,,,102,,,102',
+',,102,102,,,102,,,,,,102,,,,,,,,102,,,,,102,102,102,102,102,102,,,,102',
+'102,103,103,103,,103,,,,103,103,,,,103,,103,103,103,103,103,103,103',
+',,,,103,103,103,103,103,103,103,,,103,,,,,,,103,,,103,103,103,103,103',
+'103,103,103,103,103,,103,103,,103,103,103,,,,,,,,,,,,,,,,,,,,103,,,103',
+',,103,103,,,103,,,,,,103,,,,,,,,103,,,,,103,103,103,103,103,103,,,,103',
+'103,104,104,104,,104,,,,104,104,,,,104,,104,104,104,104,104,104,104',
+',,,,104,104,104,104,104,104,104,,,104,,,,,,,104,,,104,104,104,104,104',
+'104,104,104,104,104,,104,104,,104,104,104,,,,,,,,,,,,,,,,,,,,104,,,104',
+',,104,104,,,104,,,,,,104,,,,,,,,104,,,,,104,104,104,104,104,104,,,,104',
+'104,105,105,105,105,105,,,,105,105,,,,105,,105,105,105,105,105,105,105',
+',,,,105,105,105,105,105,105,105,,,105,,,,,,105,105,105,105,105,105,105',
+'105,105,105,105,105,105,105,,105,105,,105,105,105,,,,,,,,,,,,,,,,,,',
+',105,,,105,,,105,105,,,105,,105,,,,105,,,,,,,,105,,,,,105,105,105,105',
+'105,105,,,,105,105,188,188,188,,188,,,,188,188,,,,188,,188,188,188,188',
+'188,188,188,,,,,188,188,188,188,188,188,188,,,,,,,,,,188,,,188,188,188',
+'188,188,188,188,188,188,188,,188,188,,188,188,188,,,,,,,,,,,,,,,,,,',
+',188,,,188,,,188,188,,,188,,188,,,,188,,,,,,,,188,,,,,188,188,188,188',
+'188,188,,,,188,188,189,189,189,,189,,,,189,189,,,,189,,189,189,189,189',
+'189,189,189,,,,,189,189,189,189,189,189,189,,,,,,,,,,189,,,189,189,189',
+'189,189,189,189,189,189,189,,189,189,,189,189,189,,,,,,,,,,,,,,,,,,',
+',189,,,189,,,189,189,,,189,,189,,,,189,,,,,,,,189,,,,,189,189,189,189',
+'189,189,,,,189,189,190,190,190,,190,,,,190,190,,,,190,,190,190,190,190',
+'190,190,190,,,,,190,190,190,190,190,190,190,,,,,,,,,,190,,,190,190,190',
+'190,190,190,190,190,190,190,,190,190,,190,190,190,,,,,,,,,,,,,,,,,,',
+',190,,,190,,,190,190,,,190,,,,,,190,,,,,,,,190,,,,,190,190,190,190,190',
+'190,,,,190,190,191,191,191,,191,,,,191,191,,,,191,,191,191,191,191,191',
+'191,191,,,,,191,191,191,191,191,191,191,,,,,,,,,,191,,,191,191,191,191',
+'191,191,191,191,191,191,,191,191,,191,191,191,,,,,,,,,,,,,,,,,,,,191',
+',,191,,,191,191,,,191,,191,,,,191,,,,,,,,191,,,,,191,191,191,191,191',
+'191,,,,191,191,194,194,194,,194,,,,194,194,,,,194,,194,194,194,194,194',
+'194,194,,,,,194,194,194,194,194,194,194,,,,,,,,,,194,,,194,194,194,194',
+'194,194,194,194,194,194,,194,194,,194,194,194,,,,,,,,,,,,,,,,,,,,194',
+',,194,,,194,194,,,194,,,,,,194,,,,,,,,194,,,,,194,194,194,194,194,194',
+',,,194,194,195,195,195,,195,,,,195,195,,,,195,,195,195,195,195,195,195',
+'195,,,,,195,195,195,195,195,195,195,,,195,,,,,,,195,,,195,195,195,195',
+'195,195,195,195,195,195,,195,195,,195,195,195,,,,,,,,,,,,,,,,,,,,195',
+',,195,,,195,195,,,195,,,,,,195,,,,,,,,195,,,,,195,195,195,195,195,195',
+',,,195,195,196,196,196,,196,,,,196,196,,,,196,,196,196,196,196,196,196',
+'196,,,,,196,196,196,196,196,196,196,,,196,,,,,,,196,,,196,196,196,196',
+'196,196,196,196,196,196,,196,196,,196,196,196,,,,,,,,,,,,,,,,,,,,196',
+',,196,,,196,196,,,196,,,,,,196,,,,,,,,196,,,,,196,196,196,196,196,196',
+',,,196,196,207,207,207,,207,,,,207,207,,,,207,,207,207,207,207,207,207',
+'207,,,,,207,207,207,207,207,207,207,,,,,,,,,,207,,,207,207,207,207,207',
+'207,207,207,207,207,,207,207,,207,207,207,,,,,,,,,,,,,,,,,,,,207,,,207',
+',,207,207,,,207,,,,,,207,,,,,,,,207,,,,,207,207,207,207,207,207,,,,207',
+'207,208,208,208,,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,,,,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,,,,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,,,,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,,,,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,,,,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,214,214,214,,214,,,,214,214,,,,214,,214,214,214,214,214,214,214',
+',,,,214,214,214,214,214,214,214,,,,,,,,,,214,,,214,214,214,214,214,214',
+'214,214,214,214,,214,214,,214,214,214,,,,,,,,,,,,,,,,,,,,214,,,214,',
+',214,214,,,214,,,,,,214,,,,,,,,214,,,,,214,214,214,214,214,214,,,,214',
+'214,215,215,215,,215,,,,215,215,,,,215,,215,215,215,215,215,215,215',
+',,,,215,215,215,215,215,215,215,,,,,,,,,,215,,,215,215,215,215,215,215',
+'215,215,215,215,,215,215,,215,215,215,,,,,,,,,,,,,,,,,,,,215,,,215,',
+',215,215,,,215,,,,,,215,,,,,,,,215,,,,,215,215,215,215,215,215,,,,215',
+'215,216,216,216,,216,,,,216,216,,,,216,,216,216,216,216,216,216,216',
+',,,,216,216,216,216,216,216,216,,,,,,,,,,216,,,216,216,216,216,216,216',
+'216,216,216,216,,216,216,,216,216,216,,,,,,,,,,,,,,,,,,,,216,,,216,',
+',216,216,,,216,,,,,,216,,,,,,,,216,,,,,216,216,216,216,216,216,,,,216',
+'216,217,217,217,,217,,,,217,217,,,,217,,217,217,217,217,217,217,217',
+',,,,217,217,217,217,217,217,217,,,,,,,,,,217,,,217,217,217,217,217,217',
+'217,217,217,217,,217,217,,217,217,217,,,,,,,,,,,,,,,,,,,,217,,,217,',
+',217,217,,,217,,,,,,217,,,,,,,,217,,,,,217,217,217,217,217,217,,,,217',
+'217,218,218,218,,218,,,,218,218,,,,218,,218,218,218,218,218,218,218',
+',,,,218,218,218,218,218,218,218,,,,,,,,,,218,,,218,218,218,218,218,218',
+'218,218,218,218,,218,218,,218,218,218,,,,,,,,,,,,,,,,,,,,218,,,218,',
+',218,218,,,218,,,,,,218,,,,,,,,218,,,,,218,218,218,218,218,218,,,,218',
+'218,219,219,219,,219,,,,219,219,,,,219,,219,219,219,219,219,219,219',
+',,,,219,219,219,219,219,219,219,,,,,,,,,,219,,,219,219,219,219,219,219',
+'219,219,219,219,,219,219,,219,219,219,,,,,,,,,,,,,,,,,,,,219,,,219,',
+',219,219,,,219,,,,,,219,,,,,,,,219,,,,,219,219,219,219,219,219,,,,219',
+'219,220,220,220,,220,,,,220,220,,,,220,,220,220,220,220,220,220,220',
+',,,,220,220,220,220,220,220,220,,,,,,,,,,220,,,220,220,220,220,220,220',
+'220,220,220,220,,220,220,,220,220,220,,,,,,,,,,,,,,,,,,,,220,,,220,',
+',220,220,,,220,,,,,,220,,,,,,,,220,,,,,220,220,220,220,220,220,,,,220',
+'220,221,221,221,,221,,,,221,221,,,,221,,221,221,221,221,221,221,221',
+',,,,221,221,221,221,221,221,221,,,,,,,,,,221,,,221,221,221,221,221,221',
+'221,221,221,221,,221,221,,221,221,221,,,,,,,,,,,,,,,,,,,,221,,,221,',
+',221,221,,,221,,,,,,221,,,,,,,,221,,,,,221,221,221,221,221,221,,,,221',
+'221,222,222,222,,222,,,,222,222,,,,222,,222,222,222,222,222,222,222',
+',,,,222,222,222,222,222,222,222,,,,,,,,,,222,,,222,222,222,222,222,222',
+'222,222,222,222,,222,222,,222,222,222,,,,,,,,,,,,,,,,,,,,222,,,222,',
+',222,222,,,222,,,,,,222,,,,,,,,222,,,,,222,222,222,222,222,222,,,,222',
+'222,223,223,223,,223,,,,223,223,,,,223,,223,223,223,223,223,223,223',
+',,,,223,223,223,223,223,223,223,,,,,,,,,,223,,,223,223,223,223,223,223',
+'223,223,223,223,,223,223,,223,223,223,,,,,,,,,,,,,,,,,,,,223,,,223,',
+',223,223,,,223,,,,,,223,,,,,,,,223,,,,,223,223,223,223,223,223,,,,223',
+'223,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,224,224,,,,,,,,,,,,,,,,,,,,224,,,224,',
+',224,224,,,224,,,,,,224,,,,,,,,224,,,,,224,224,224,224,224,224,,,,224',
+'224,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,226,226,226,,226,,,,226,226,,,,226,,226,226,226,226,226,226,226',
+',,,,226,226,226,226,226,226,226,,,,,,,,,,226,,,226,226,226,226,226,226',
+'226,226,226,226,,226,226,,226,226,226,,,,,,,,,,,,,,,,,,,,226,,,226,',
+',226,226,,,226,,,,,,226,,,,,,,,226,,,,,226,226,226,226,226,226,,,,226',
+'226,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,,,,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,,,,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,,,,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,,,,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,,,,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,,,,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,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,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,254,254,254,,254,,,,254,254,,,,254,,254,254,254,254,254,254,254',
+',,,,254,254,254,254,254,254,254,,,,,,,,,,254,,,254,254,254,254,254,254',
+'254,254,254,254,,254,254,,254,254,254,,,,,,,,,,,,,,,,,,,,254,,,254,',
+',254,254,,,254,,254,,254,,254,,,,,,,,254,,,,,254,254,254,254,254,254',
+',,,254,254,255,255,255,,255,,,,255,255,,,,255,,255,255,255,255,255,255',
+'255,,,,,255,255,255,255,255,255,255,,,,,,,,,,255,,,255,255,255,255,255',
+'255,255,255,255,255,,255,255,,255,255,255,,,,,,,,,,,,,,,,,,,,255,,,255',
+',,255,255,,,255,,255,,255,,255,,,,,,,,255,,,,,255,255,255,255,255,255',
+',,,255,255,263,263,263,,263,,,,263,263,,,,263,,263,263,263,263,263,263',
+'263,,,,,263,263,263,263,263,263,263,,,,,,,,,,263,,,263,263,263,263,263',
+'263,263,263,263,263,,263,263,,263,263,263,,,,,,,,,,,,,,,,,,,,263,,,263',
+',263,263,263,,,263,,263,,263,,263,,,,,,,,263,,,,,263,263,263,263,263',
+'263,,,,263,263,269,269,269,,269,,,,269,269,,,,269,,269,269,269,269,269',
+'269,269,,,,,269,269,269,269,269,269,269,,,,,,,,,,269,,,269,269,269,269',
+'269,269,269,269,269,269,,269,269,,,,269,,687,687,687,687,687,687,687',
+'687,687,687,687,,687,687,,,687,687,269,,,269,,,269,269,,,269,,,,687',
+',687,,687,687,687,687,687,687,687,,687,,,269,269,269,269,269,269,,,',
+'269,269,290,290,290,687,290,,,,290,290,,,,290,,290,290,290,290,290,290',
+'290,,,,,290,290,290,290,290,290,290,,,,,,,,,,290,,,290,290,290,290,290',
+'290,290,290,290,290,,290,290,,290,290,290,,,,,,,,,,,,,,,,,,,,290,,,290',
+'290,,290,290,,,290,,,,,,290,,,,,,,,290,,,,,290,290,290,290,290,290,',
+',,290,290,299,299,299,,299,,,,299,299,,,,299,,299,299,299,299,299,299',
+'299,,,,,299,299,299,299,299,299,299,,,,,,,,,,299,,,299,299,299,299,299',
+'299,299,299,299,299,,299,299,,299,299,299,,,,,,,,,,,,,,,,,,,,299,,,299',
+',,299,299,,,299,,,,,,299,,,,,,,,299,,,,,299,299,299,299,299,299,,,,299',
+'299,308,308,308,,308,,,,308,308,,,,308,,308,308,308,308,308,308,308',
+',,,,308,308,308,308,308,308,308,,,308,,,,,,,308,,,308,308,308,308,308',
+'308,308,308,308,308,,308,308,,308,308,308,,,,,,,,,,,,,,,,,,,,308,,,308',
+',,308,308,,,308,,,,,,308,,,,,,,,308,,,,,308,308,308,308,308,308,,,,308',
+'308,309,309,309,,309,,,,309,309,,,,309,,309,309,309,309,309,309,309',
+',,,,309,309,309,309,309,309,309,,,309,,,,,,,309,,,309,309,309,309,309',
+'309,309,309,309,309,,309,309,,309,309,309,,,,,,,,,,,,,,,,,,,,309,,,309',
+',,309,309,,,309,,,,,,309,,,,,,,,309,,,,,309,309,309,309,309,309,,,,309',
+'309,327,327,327,,327,,,,327,327,,,,327,,327,327,327,327,327,327,327',
+',,,,327,327,327,327,327,327,327,,,327,,,,,,,327,,,327,327,327,327,327',
+'327,327,327,327,327,,327,327,,327,327,327,,,,,,,,,,,,,,,,,,,,327,,,327',
+',,327,327,,,327,,,,,,327,,,,,,,,327,,,,,327,327,327,327,327,327,,,,327',
+'327,341,341,341,,341,,,,341,341,,,,341,,341,341,341,341,341,341,341',
+',,,,341,341,341,341,341,341,341,,,341,,,,,,,341,,,341,341,341,341,341',
+'341,341,341,341,341,,341,341,,341,341,341,,,,,,,,,,,,,,,,,,,,341,,,341',
+',,341,341,,,341,,,,,,341,,,,,,,,341,,,,,341,341,341,341,341,341,,,,341',
+'341,357,357,357,357,357,357,357,357,357,357,357,357,357,357,357,357',
+'357,357,357,357,357,357,357,357,,,357,357,357,357,357,357,357,357,357',
+'357,,,,,,357,357,357,357,357,357,357,357,,,357,,,,,,,,357,357,,357,357',
+'357,357,,357,357,,,357,,,,,357,357,357,357,,,,,,,,,,,,,,357,357,,357',
+'357,357,357,357,357,357,357,357,,357,,,357,357,,,378,378,378,,378,,',
+'357,378,378,,,,378,,378,378,378,378,378,378,378,,,,,378,378,378,378',
+'378,378,378,,,,,,,,,,378,,,378,378,378,378,378,378,378,378,378,378,',
+'378,378,,378,378,378,,,,,,,,,,,,,,,,,,,,378,,,378,378,,378,378,,,378',
+',378,,378,,378,,,,,,,,378,,,,,378,378,378,378,378,378,,,,378,378,385',
+'385,385,,385,,,,385,385,,,,385,,385,385,385,385,385,385,385,,,,,385',
+'385,385,385,385,385,385,,,,,,,,,,385,,,385,385,385,385,385,385,385,385',
+'385,385,,385,385,,385,385,385,,,,,,,,,,,,,,,,,,,,385,,,385,385,,385',
+'385,,,385,,385,,385,,385,,,,,,,,385,,,,,385,385,385,385,385,385,,,,385',
+'385,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,386',
+',,,386,386,393,393,393,,393,,,,393,393,,,,393,,393,393,393,393,393,393',
+'393,,,,,393,393,393,393,393,393,393,,,,,,,,,,393,,,393,393,393,393,393',
+'393,393,393,393,393,,393,393,,393,393,393,,,,,,,,,,,,,,,,,,,,393,,,393',
+',,393,393,,,393,,393,,,,393,,,,,,,,393,,,,,393,393,393,393,393,393,',
+',,393,393,395,395,395,,395,,,,395,395,,,,395,,395,395,395,395,395,395',
+'395,,,,,395,395,395,395,395,395,395,,,,,,,,,,395,,,395,395,395,395,395',
+'395,395,395,395,395,,395,395,,395,395,395,,,,,,,,,,,,,,,,,,,,395,,,395',
+',,395,395,,,395,,,,,,395,,,,,,,,395,,,,,395,395,395,395,395,395,,,,395',
+'395,396,396,396,,396,,,,396,396,,,,396,,396,396,396,396,396,396,396',
+',,,,396,396,396,396,396,396,396,,,,,,,,,,396,,,396,396,396,396,396,396',
+'396,396,396,396,,396,396,,396,396,396,,,,,,,,,,,,,,,,,,,,396,,,396,',
+',396,396,,,396,,,,,,396,,,,,,,,396,,,,,396,396,396,396,396,396,,,,396',
+'396,397,397,397,,397,,,,397,397,,,,397,,397,397,397,397,397,397,397',
+',,,,397,397,397,397,397,397,397,,,,,,,,,,397,,,397,397,397,397,397,397',
+'397,397,397,397,,397,397,,397,397,397,,,,,,,,,,,,,,,,,,,,397,,,397,',
+',397,397,,,397,,,,,,397,,,,,,,,397,,,,,397,397,397,397,397,397,,,,397',
+'397,426,426,426,,426,,,,426,426,,,,426,,426,426,426,426,426,426,426',
+',,,,426,426,426,426,426,426,426,,,,,,,,,,426,,,426,426,426,426,426,426',
+'426,426,426,426,,426,426,,426,426,426,,,,,,,,,,,,,,,,,,,,426,,,426,',
+',426,426,,,426,,426,,426,,426,,,,,,,,426,,,,,426,426,426,426,426,426',
+',,,426,426,428,428,428,,428,,,,428,428,,,,428,,428,428,428,428,428,428',
+'428,,,,,428,428,428,428,428,428,428,,,,,,,,,,428,,,428,428,428,428,428',
+'428,428,428,428,428,,428,428,,428,428,428,,,,,,,,,,,,,,,,,,,,428,,,428',
+',,428,428,,,428,,428,,428,,428,,,,,,,,428,,,,,428,428,428,428,428,428',
+',,,428,428,431,431,431,,431,,,,431,431,,,,431,,431,431,431,431,431,431',
+'431,,,,,431,431,431,431,431,431,431,,,,,,,,,,431,,,431,431,431,431,431',
+'431,431,431,431,431,,431,431,,431,431,431,,,,,,,,,,,,,,,,,,,,431,,,431',
+',,431,431,,,431,,,,,,431,,,,,,,,431,,,,,431,431,431,431,431,431,,,,431',
+'431,445,445,445,,445,,,,445,445,,,,445,,445,445,445,445,445,445,445',
+',,,,445,445,445,445,445,445,445,,,445,,,,,,,445,,,445,445,445,445,445',
+'445,445,445,445,445,,445,445,,445,445,445,,,,,,,,,,,,,,,,,,,,445,,,445',
+',,445,445,,,445,,445,,445,,445,,,,,,,,445,,,,,445,445,445,445,445,445',
+',,,445,445,456,456,456,,456,,,,456,456,,,,456,,456,456,456,456,456,456',
+'456,,,,,456,456,456,456,456,456,456,,,,,,,,,,456,,,456,456,456,456,456',
+'456,456,456,456,456,,456,456,,456,456,456,,,,,,,,,,,,,,,,,,,,456,,,456',
+',,456,456,,,456,,456,,,,456,,,,,,,,456,,,,,456,456,456,456,456,456,',
+',,456,456,463,463,463,,463,,,,463,463,,,,463,,463,463,463,463,463,463',
+'463,,,,,463,463,463,463,463,463,463,,,,,,,,,,463,,,463,463,463,463,463',
+'463,463,463,463,463,,463,463,,463,463,463,,,,,,,,,,,,,,,,,,,,463,,,463',
+',,463,463,,,463,,,,,,463,,,,,,,,463,,,,,463,463,463,463,463,463,,,,463',
+'463,464,464,464,,464,,,,464,464,,,,464,,464,464,464,464,464,464,464',
+',,,,464,464,464,464,464,464,464,,,,,,,,,,464,,,464,464,464,464,464,464',
+'464,464,464,464,,464,464,,464,464,464,,,,,,,,,,,,,,,,,,,,464,,,464,',
+',464,464,,,464,,,,,,464,,,,,,,,464,,,,,464,464,464,464,464,464,,,,464',
+'464,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,465,,465,465,,465,465,465,,,,,,,,,,,,,,,,,,,,465,,,465,',
+',465,465,,,465,,,,,,465,,,,,,,,465,,,,,465,465,465,465,465,465,,,,465',
+'465,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',
+'469,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,471,476,476,476,,476,,,,476,476,,,,476,,476,476,476,476,476,476',
+'476,,,,,476,476,476,476,476,476,476,,,,,,,,,,476,,,476,476,476,476,476',
+'476,476,476,476,476,,476,476,,476,476,476,,,,,,,,,,,,,,,,,,,,476,,,476',
+',,476,476,,,476,,476,,,,476,,,,,,,,476,,,,,476,476,476,476,476,476,',
+',,476,476,479,479,479,,479,,,,479,479,,,,479,,479,479,479,479,479,479',
+'479,,,,,479,479,479,479,479,479,479,,,,,,,,,,479,,,479,479,479,479,479',
+'479,479,479,479,479,,479,479,,479,479,479,,,,,,,,,,,,,,,,,,,,479,,,479',
+',,479,479,,,479,,,,,,479,,,,,,,,479,,,,,479,479,479,479,479,479,,,,479',
+'479,482,482,482,,482,,,,482,482,,,,482,,482,482,482,482,482,482,482',
+',,,,482,482,482,482,482,482,482,,,,,,,,,,482,,,482,482,482,482,482,482',
+'482,482,482,482,,482,482,,482,482,482,,,,,,,,,,,,,,,,,,,,482,,,482,',
+',482,482,,,482,,,,,,482,,,,,,,,482,,,,,482,482,482,482,482,482,,,,482',
+'482,496,496,496,,496,,,,496,496,,,,496,,496,496,496,496,496,496,496',
+',,,,496,496,496,496,496,496,496,,,,,,,,,,496,,,496,496,496,496,496,496',
+'496,496,496,496,,496,496,,496,496,496,,,,,,,,,,,,,,,,,,,,496,,,496,',
+',496,496,,,496,,496,,,,496,,,,,,,,496,,,,,496,496,496,496,496,496,,',
+',496,496,497,497,497,,497,,,,497,497,,,,497,,497,497,497,497,497,497',
+'497,,,,,497,497,497,497,497,497,497,,,,,,,,,,497,,,497,497,497,497,497',
+'497,497,497,497,497,,497,497,,497,497,497,,,,,,,,,,,,,,,,,,,,497,,,497',
+',,497,497,,,497,,497,,,,497,,,,,,,,497,,,,,497,497,497,497,497,497,',
+',,497,497,506,506,506,,506,,,,506,506,,,,506,,506,506,506,506,506,506',
+'506,,,,,506,506,506,506,506,506,506,,,,,,,,,,506,,,506,506,506,506,506',
+'506,506,506,506,506,,506,506,,506,506,506,,,,,,,,,,,,,,,,,,,,506,,,506',
+',,506,506,,,506,,506,,,,506,,,,,,,,506,,,,,506,506,506,506,506,506,',
+',,506,506,510,510,510,,510,,,,510,510,,,,510,,510,510,510,510,510,510',
+'510,,,,,510,510,510,510,510,510,510,,,510,,,,,,,510,,,510,510,510,510',
+'510,510,510,510,510,510,,510,510,,510,510,510,,,,,,,,,,,,,,,,,,,,510',
+',,510,,,510,510,,,510,,,,,,510,,,,,,,,510,,,,,510,510,510,510,510,510',
+',,,510,510,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534',
+'534,534,534,534,534,534,534,534,534,,,534,534,534,534,534,534,534,534',
+'534,534,,,,,,534,534,534,534,534,534,534,534,,,534,,,,,,,,534,534,,534',
+'534,534,534,,534,534,,,534,,,,,534,534,534,534,,,,,,,,,,,,,,534,534',
+',534,534,534,534,534,534,534,534,534,,534,,,534,534,,,537,537,537,,537',
+',,534,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,538,538,538',
+',538,,,,538,538,,,,538,,538,538,538,538,538,538,538,,,,,538,538,538',
+'538,538,538,538,,,,,,,,,,538,,,538,538,538,538,538,538,538,538,538,538',
+',538,538,,538,538,538,,,,,,,,,,,,,,,,,,,,538,,,538,,,538,538,,,538,',
+'538,,,,538,,,,,,,,538,,,,,538,538,538,538,538,538,,,,538,538,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,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,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,549,549,549',
+',549,,,,549,549,,,,549,,549,549,549,549,549,549,549,,,,,549,549,549',
+'549,549,549,549,,,,,,,,,,549,,,549,549,549,549,549,549,549,549,549,549',
+',549,549,,549,549,549,,,,,,,,,,,,,,,,,,,,549,,,549,,,549,549,,,549,',
+',,,,549,,,,,,,,549,,,,,549,549,549,549,549,549,,,,549,549,556,556,556',
+',556,,,,556,556,,,,556,,556,556,556,556,556,556,556,,,,,556,556,556',
+'556,556,556,556,,,,,,,,,,556,,,556,556,556,556,556,556,556,556,556,556',
+',556,556,,556,556,556,,,,,,,,,,,,,,,,,,,,556,,,556,,,556,556,,,556,',
+',,,,556,,,,,,,,556,,,,,556,556,556,556,556,556,,,,556,556,557,557,557',
+',557,,,,557,557,,,,557,,557,557,557,557,557,557,557,,,,,557,557,557',
+'557,557,557,557,,,,,,,,,,557,,,557,557,557,557,557,557,557,557,557,557',
+',557,557,,,,557,,,,,,,,,,,,,,,,,,,,557,,,557,,,557,557,,,557,,557,,557',
+',,,,,,,,557,,,,,,557,557,557,557,557,557,,,,557,557,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,564,564,564,,564,',
+',,564,564,,,,564,,564,564,564,564,564,564,564,,,,,564,564,564,564,564',
+'564,564,,,,,,,,,,564,,,564,564,564,564,564,564,564,564,564,564,,564',
+'564,,564,564,564,,,,,,,,,,,,,,,,,,,,564,,,564,,,564,564,,,564,,,,,,564',
+',,,,,,,564,,,,,564,564,564,564,564,564,,,,564,564,580,580,580,,580,',
+',,580,580,,,,580,,580,580,580,580,580,580,580,,,,,580,580,580,580,580',
+'580,580,,,,,,,,,,580,,,580,580,580,580,580,580,580,580,580,580,,580',
+'580,,580,580,580,,,,,,,,,,,,,,,,,,,,580,,,580,,,580,580,,,580,,580,',
+'580,,580,,,,,,,,580,,,,,580,580,580,580,580,580,,,,580,580,584,584,584',
+',584,,,,584,584,,,,584,,584,584,584,584,584,584,584,,,,,584,584,584',
+'584,584,584,584,,,,,,,,,,584,,,584,584,584,584,584,584,584,584,584,584',
+',584,584,,584,584,584,,,,,,,,,,,,,,,,,,,,584,,,584,,,584,584,,,584,',
+',,,,584,,,,,,,,584,,,,,584,584,584,584,584,584,,,,584,584,612,612,612',
+',612,,,,612,612,,,,612,,612,612,612,612,612,612,612,,,,,612,612,612',
+'612,612,612,612,,,,,,,,,,612,,,612,612,612,612,612,612,612,612,612,612',
+',612,612,,612,612,612,,,,,,,,,,,,,,,,,,,,612,,,612,,,612,612,,,612,',
+',,,,612,,,,,,,,612,,,,,612,612,612,612,612,612,,,,612,612,628,628,628',
+',628,,,,628,628,,,,628,,628,628,628,628,628,628,628,,,,,628,628,628',
+'628,628,628,628,,,,,,,,,,628,,,628,628,628,628,628,628,628,628,628,628',
+',628,628,,628,628,628,,,,,,,,,,,,,,,,,,,,628,,,628,,,628,628,,,628,',
+',,,,628,,,,,,,,628,,,,,628,628,628,628,628,628,,,,628,628,634,634,634',
+',634,,,,634,634,,,,634,,634,634,634,634,634,634,634,,,,,634,634,634',
+'634,634,634,634,,,634,,,,,,,634,,,634,634,634,634,634,634,634,634,634',
+'634,,634,634,,634,634,634,,,,,,,,,,,,,,,,,,,,634,,,634,,,634,634,,,634',
+',,,,,634,,,,,,,,634,,,,,634,634,634,634,634,634,,,,634,634,679,679,679',
+',679,,,,679,679,,,,679,,679,679,679,679,679,679,679,,,,,679,679,679',
+'679,679,679,679,,,,,,,,,,679,,,679,679,679,679,679,679,679,679,679,679',
+',679,679,,679,679,679,,,,,,,,,,,,,,,,,,,,679,,,679,,,679,679,,,679,',
+',,,,679,,,,,,,,679,,,,,679,679,679,679,679,679,,,,679,679,680,680,680',
+',680,,,,680,680,,,,680,,680,680,680,680,680,680,680,,,,,680,680,680',
+'680,680,680,680,,,,,,,,,,680,,,680,680,680,680,680,680,680,680,680,680',
+',680,680,,680,680,680,,,,,,,,,,,,,,,,,,,,680,,,680,,,680,680,,,680,',
+',,,,680,,,,,,,,680,,,,,680,680,680,680,680,680,,,,680,680,690,690,690',
+',690,,,,690,690,,,,690,,690,690,690,690,690,690,690,,,,,690,690,690',
+'690,690,690,690,,,,,,,,,,690,,,690,690,690,690,690,690,690,690,690,690',
+',690,690,,690,690,690,,,,,,,,,,,,,,,,,,,,690,,,690,,,690,690,,,690,',
+',,,,690,,,,,,,,690,,,,,690,690,690,690,690,690,,,,690,690,691,691,691',
+',691,,,,691,691,,,,691,,691,691,691,691,691,691,691,,,,,691,691,691',
+'691,691,691,691,,,,,,,,,,691,,,691,691,691,691,691,691,691,691,691,691',
+',691,691,,691,691,691,,,,,,,,,,,,,,,,,,,,691,,,691,,,691,691,,,691,',
+',,,,691,,,,,,,,691,,,,,691,691,691,691,691,691,,,,691,691,692,692,692',
+',692,,,,692,692,,,,692,,692,692,692,692,692,692,692,,,,,692,692,692',
+'692,692,692,692,,,,,,,,,,692,,,692,692,692,692,692,692,692,692,692,692',
+',692,692,,692,692,692,,,,,,,,,,,,,,,,,,,,692,,,692,,,692,692,,,692,',
+',,,,692,,,,,,,,692,,,,,692,692,692,692,692,692,,,,692,692,698,698,698',
+',698,,,,698,698,,,,698,,698,698,698,698,698,698,698,,,,,698,698,698',
+'698,698,698,698,,,,,,,,,,698,,,698,698,698,698,698,698,698,698,698,698',
+',698,698,,,,698,,694,694,694,694,694,694,694,694,694,694,694,,694,694',
+',,694,694,698,,,698,,,698,698,,,698,,,,694,,694,,694,694,694,694,694',
+'694,694,,694,,,698,698,698,698,698,698,,,,698,698,704,704,704,694,704',
+',,,704,704,,,,704,,704,704,704,704,704,704,704,,,,,704,704,704,704,704',
+'704,704,,,,,,,,,,704,,,704,704,704,704,704,704,704,704,704,704,,704',
+'704,,704,704,704,,,,,,,,,,,,,,,,,,,,704,,,704,,,704,704,,,704,,704,',
+'704,,704,,,,,,,,704,,,,,704,704,704,704,704,704,,,,704,704,713,713,713',
+',713,,,,713,713,,,,713,,713,713,713,713,713,713,713,,,,,713,713,713',
+'713,713,713,713,,,,,,,,,,713,,,713,713,713,713,713,713,713,713,713,713',
+',713,713,,713,713,713,,,,,,,,,,,,,,,,,,,,713,,,713,,,713,713,,,713,',
+'713,,713,,713,,,,,,,,713,,,,,713,713,713,713,713,713,,,,713,713,715',
+'715,715,,715,,,,715,715,,,,715,,715,715,715,715,715,715,715,,,,,715',
+'715,715,715,715,715,715,,,,,,,,,,715,,,715,715,715,715,715,715,715,715',
+'715,715,,715,715,,715,715,715,,,,,,,,,,,,,,,,,,,,715,,,715,,,715,715',
+',,715,,715,,715,,715,,,,,,,,715,,,,,715,715,715,715,715,715,,,,715,715',
+'728,728,728,,728,,,,728,728,,,,728,,728,728,728,728,728,728,728,,,,',
+'728,728,728,728,728,728,728,,,,,,,,,,728,,,728,728,728,728,728,728,728',
+'728,728,728,,728,728,,,,728,,767,767,767,767,767,767,767,767,767,767',
+'767,,767,767,,,767,767,728,,,728,,,728,728,,,728,,,,767,,767,,767,767',
+'767,767,767,767,767,,767,,,728,728,728,728,728,728,,,,728,728,734,734',
+'734,767,734,,,,734,734,,,,734,,734,734,734,734,734,734,734,,,,,734,734',
+'734,734,734,734,734,,,734,,,,,,,734,,,734,734,734,734,734,734,734,734',
+'734,734,,734,734,,734,734,734,,,,,,,,,,,,,,,,,,,,734,,,734,,,734,734',
+',,734,,,,,,734,,,,,,,,734,,,,,734,734,734,734,734,734,,,,734,734,740',
+'740,740,,740,,,,740,740,,,,740,,740,740,740,740,740,740,740,,,,,740',
+'740,740,740,740,740,740,,,,,,,,,,740,,,740,740,740,740,740,740,740,740',
+'740,740,,740,740,,740,740,740,,,,,,,,,,,,,,,,,,,,740,,,740,,,740,740',
+',,740,,740,,,,740,,,,,,,,740,,,,,740,740,740,740,740,740,,,,740,740',
+'759,759,759,,759,,,,759,759,,,,759,,759,759,759,759,759,759,759,,,,',
+'759,759,759,759,759,759,759,,,,,,,,,,759,,,759,759,759,759,759,759,759',
+'759,759,759,,759,759,,759,759,759,,,,,,,,,,,,,,,,,,,,759,,,759,,,759',
+'759,,,759,,,,,,759,,,,,,,,759,,,,,759,759,759,759,759,759,,,,759,759',
+'768,768,768,,768,,,,768,768,,,,768,,768,768,768,768,768,768,768,,,,',
+'768,768,768,768,768,768,768,,,,,,,,,,768,,,768,768,768,768,768,768,768',
+'768,768,768,,768,768,,768,768,768,,,,,,,,,,,,,,,,,,,,768,,,768,,,768',
+'768,,,768,,,,,,768,,,,,,,,768,,,,,768,768,768,768,768,768,,,,768,768',
+'769,769,769,,769,,,,769,769,,,,769,,769,769,769,769,769,769,769,,,,',
+'769,769,769,769,769,769,769,,,,,,,,,,769,,,769,769,769,769,769,769,769',
+'769,769,769,,769,769,,,,769,,,,,,,,,,,,,,,,,,,,769,,,769,,,769,769,',
+',769,,769,,769,,,,,,,,,,,,,,,769,769,769,769,769,769,,,,769,769,780',
+'780,780,,780,,,,780,780,,,,780,,780,780,780,780,780,780,780,,,,,780',
+'780,780,780,780,780,780,,,,,,,,,,780,,,780,780,780,780,780,780,780,780',
+'780,780,,780,780,,780,780,780,,,,,,,,,,,,,,,,,,,,780,,,780,,,780,780',
+',,780,,,,,,780,,,,,,,,780,,,,,780,780,780,780,780,780,,,,780,780,786',
+'786,786,,786,,,,786,786,,,,786,,786,786,786,786,786,786,786,,,,,786',
+'786,786,786,786,786,786,,,,,,,,,,786,,,786,786,786,786,786,786,786,786',
+'786,786,,786,786,,786,786,786,,,,,,,,,,,,,,,,,,,,786,,,786,,,786,786',
+',,786,,,,,,786,,,,,,,,786,,,,,786,786,786,786,786,786,,,,786,786,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,802',
+'802,802,,802,,,,802,802,,,,802,,802,802,802,802,802,802,802,,,,,802',
+'802,802,802,802,802,802,,,,,,,,,,802,,,802,802,802,802,802,802,802,802',
+'802,802,,802,802,,802,802,802,,,,,,,,,,,,,,,,,,,,802,,,802,,,802,802',
+',,802,,,,,,802,,,,,,,,802,,,,,802,802,802,802,802,802,,,,802,802,820',
+'820,820,,820,,,,820,820,,,,820,,820,820,820,820,820,820,820,,,,,820',
+'820,820,820,820,820,820,,,,,,,,,,820,,,820,820,820,820,820,820,820,820',
+'820,820,,820,820,,,,820,,600,600,600,600,600,600,600,600,600,600,600',
+',600,600,,,600,600,820,,,820,,,820,820,,,820,,,,600,,600,,600,600,600',
+'600,600,600,600,,600,,,820,820,820,820,820,820,,,,820,820,822,822,822',
+'600,822,,,,822,822,,,,822,,822,822,822,822,822,822,822,,,,,822,822,822',
+'822,822,822,822,,,,,,,,,,822,,,822,822,822,822,822,822,822,822,822,822',
+',822,822,,822,822,822,,,,,,,,,,,,,,,,,,,,822,,,822,,,822,822,,,822,',
+'822,,,,822,,,,,,,,822,,,,,822,822,822,822,822,822,,,,822,822,827,827',
+'827,,827,,,,827,827,,,,827,,827,827,827,827,827,827,827,,,,,827,827',
+'827,827,827,827,827,,,,,,,,,,827,,,827,827,827,827,827,827,827,827,827',
+'827,,827,827,,,,827,,388,388,388,388,388,388,388,388,388,388,388,,388',
+'388,,,388,388,827,,,827,,,827,827,,,827,,,,388,,388,,388,388,388,388',
+'388,388,388,,388,,,827,827,827,827,827,827,,,,827,827,832,832,832,388',
+'832,,,,832,832,,,,832,,832,832,832,832,832,832,832,,,,,832,832,832,832',
+'832,832,832,,,,,,,,,,832,,,832,832,832,832,832,832,832,832,832,832,',
+'832,832,,832,832,832,,,,,,,,,,,,,,,,,,,,832,,,832,,,832,832,,,832,,832',
+',832,,832,,,,,,,,832,,,,,832,832,832,832,832,832,,,,832,832,835,835',
+'835,,835,,,,835,835,,,,835,,835,835,835,835,835,835,835,,,,,835,835',
+'835,835,835,835,835,,,,,,,,,,835,,,835,835,835,835,835,835,835,835,835',
+'835,,835,835,,835,835,835,,,,,,,,,,,,,,,,,,,,835,,,835,,,835,835,,,835',
+',835,,835,,835,,,,,,,,835,,,,,835,835,835,835,835,835,,,,835,835,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,,237,237,237,237,237,237,237,237,237,237,237',
+',237,237,,,237,237,861,,,861,,,861,861,,,861,,,,237,,237,,237,237,237',
+'237,237,237,237,,237,,,861,861,861,861,861,861,,,,861,861,864,864,864',
+'237,864,,,,864,864,,,,864,,864,864,864,864,864,864,864,,,,,864,864,864',
+'864,864,864,864,,,,,,,,,,864,,,864,864,864,864,864,864,864,864,864,864',
+',864,864,,864,864,864,,,,,,,,,,,,,,,,,,,,864,,,864,,,864,864,,,864,',
+',,,,864,,,,,,,,864,,,,,864,864,864,864,864,864,,,,864,864,867,867,867',
+',867,,,,867,867,,,,867,,867,867,867,867,867,867,867,,,,,867,867,867',
+'867,867,867,867,,,,,,,,,,867,,,867,867,867,867,867,867,867,867,867,867',
+',867,867,,867,867,867,,,,,,,,,,,,,,,,,,,,867,,,867,,,867,867,,,867,',
+',,,,867,,,,,,,,867,,,,,867,867,867,867,867,867,,,,867,867,875,875,875',
+',875,,,,875,875,,,,875,,875,875,875,875,875,875,875,,,,,875,875,875',
+'875,875,875,875,,,,,,,,,,875,,,875,875,875,875,875,875,875,875,875,875',
+',875,875,,,,875,,677,677,677,677,677,677,677,677,677,677,677,,677,677',
+',,677,677,875,,,875,,,875,875,,,875,,,,677,,677,,677,677,677,677,677',
+'677,677,,677,,,875,875,875,875,875,875,,,,875,875,880,880,880,677,880',
+',,,880,880,,,,880,,880,880,880,880,880,880,880,,,,,880,880,880,880,880',
+'880,880,,,,,,,,,,880,,,880,880,880,880,880,880,880,880,880,880,,880',
+'880,,880,880,880,,,,,,,,,,,,,,,,,,,,880,,,880,,,880,880,,,880,,880,',
+'880,,880,,,,,,,,880,,,,,880,880,880,880,880,880,,,,880,880,886,886,886',
+',886,,,,886,886,,,,886,,886,886,886,886,886,886,886,,,,,886,886,886',
+'886,886,886,886,,,,,,,,,,886,,,886,886,886,886,886,886,886,886,886,886',
+',886,886,,,,886,,19,19,19,19,19,19,19,19,19,19,19,,19,19,,,19,19,886',
+',,886,,,886,886,,,886,,,,19,,19,,19,19,19,19,19,19,19,,19,,,886,886',
+'886,886,886,886,,,,886,886,889,889,889,19,889,,,,889,889,,,,889,,889',
+'889,889,889,889,889,889,,,,,889,889,889,889,889,889,889,,,,,,,,,,889',
+',,889,889,889,889,889,889,889,889,889,889,,889,889,,889,889,889,,,,',
+',,,,,,,,,,,,,,,889,,,889,,,889,889,,,889,,,,,,889,,,,,,,,889,,,,,889',
+'889,889,889,889,889,,,,889,889,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,,64,64',
+',,64,,,,,64,64,64,64,,,,,,64,,,,,,,,64,64,,64,64,64,64,64,64,64,64,64',
+',64,,,64,664,664,664,664,664,664,664,664,664,664,664,664,664,664,664',
+'664,664,664,664,664,664,664,664,664,,,664,664,664,664,664,664,664,664',
+'664,664,,,,,,664,664,664,664,664,664,664,664,,,664,,,,,,,,664,664,,664',
+'664,664,664,,664,664,,,664,,,,,664,664,664,664,,,,,,,,,,,,,,664,664',
+',664,664,664,664,664,664,664,664,664,,664,,,664,581,581,581,581,581',
+'581,581,581,581,581,581,,581,581,,,581,581,,,,581,,,,,,,,,,,581,,581',
+',581,581,581,581,581,581,581,,581,,,,,,,,505,505,,,505,,,,,581,,581',
+'505,505,,505,505,505,505,,505,505,,,505,,,,,505,505,505,505,,,,,,,,',
+',,,,,505,505,,505,505,505,505,505,505,505,505,505,,505,507,507,505,',
+'507,,,,,,,,507,507,,507,507,507,507,,507,507,,,507,,,,,507,507,507,507',
+',,,,,,,,,,,,,507,507,,507,507,507,507,507,507,507,507,507,,507,499,499',
+'507,,499,,,,,,,,499,499,,499,499,499,499,,499,499,,,499,,,,,499,499',
+'499,499,,,,,,,,,,,,,,499,499,,499,499,499,499,499,499,499,499,499,,499',
+'498,498,499,,498,,,,,,,,498,498,,498,498,498,498,,498,498,,,498,,,,',
+'498,498,498,498,,,,,,,,,,,,,,498,498,,498,498,498,498,498,498,498,498',
+'498,,498,466,466,498,,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,251,251,466,,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,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,423,423,423,423,423,423,423,423',
+'423,423,423,,423,423,,,423,423,,,,,,,,,,,,,,,423,,423,,423,423,423,423',
+'423,423,423,,423,,,,,,,467,467,,,467,,,,,,423,423,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,192,192,467,,192,,,,,,,,192,192,,192',
+'192,192,192,,192,192,,,192,,,,,192,192,192,192,,,,,,,,,,,,,,192,192',
+',192,192,192,192,192,192,192,192,192,,192,823,823,192,,823,,,,,,,,823',
+'823,,823,823,823,823,,823,823,,,823,,,,,823,823,823,823,,,,,,,,,,,,',
+',823,823,,823,823,823,823,823,823,823,823,823,,823,458,458,823,,458',
+',,,,,,,458,458,,458,458,458,458,,458,458,,,458,,,,,458,458,458,458,',
+',,,,,,,,,,,,458,458,,458,458,458,458,458,458,458,458,458,,458,824,824',
+'458,,824,,,,,,,,824,824,,824,824,824,824,,824,824,,,824,,,,,824,824',
+'824,824,,,,,,,,,,,,,,824,824,,824,824,824,824,824,824,824,824,824,,824',
+'457,457,824,,457,,,,,,,,457,457,,457,457,457,457,,457,457,,,457,,,,',
+'457,457,457,457,,,,,,,,,,,,,,457,457,,457,457,457,457,457,457,457,457',
+'457,,457,391,391,457,,391,,,,,,,,391,391,,391,391,391,391,,391,391,',
+',391,,,,,391,391,391,391,,,,,,,,,,,,,,391,391,,391,391,391,391,391,391',
+'391,391,391,,391,392,392,391,,392,,,,,,,,392,392,,392,392,392,392,,392',
+'392,,,392,,,,,392,392,392,392,,,,,,,,,,,,,,392,392,,392,392,392,392',
+'392,392,392,392,392,,392,578,578,392,,578,,,,,,,,578,578,,578,578,578',
+'578,,578,578,,,578,,,,,578,578,578,578,,,,,,,,,,,,,,578,578,,578,578',
+'578,578,578,578,578,578,578,,578,193,193,578,,193,,,,,,,,193,193,,193',
+'193,193,193,,193,193,,,193,,,,,193,193,193,193,,,,,,,,,,,,,,193,193',
+',193,193,193,193,193,193,193,193,193,,193,579,579,193,,579,,,,,,,,579',
+'579,,579,579,579,579,,579,579,,,579,,,,,579,579,579,579,,,,,,,,,,,,',
+',579,579,,579,579,579,579,579,579,579,579,579,,579,,,579,480,480,480',
+'480,480,480,480,480,480,480,480,,480,480,,,480,480,,,,,,,,,,,,,,,480',
+',480,,480,480,480,480,480,480,480,,480,,731,731,731,731,731,731,731',
+'731,731,731,731,,731,731,480,480,731,731,,,,,,,,,,,,,,,731,,731,,731',
+'731,731,731,731,731,731,,731,,682,682,682,682,682,682,682,682,682,682',
+'682,,682,682,731,731,682,682,,,,,,,,,,,,,,,682,,682,,682,682,682,682',
+'682,682,682,,682,,,,,,,,,,,,,,,,,682' ]
+ racc_action_check = arr = ::Array.new(24362, 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 = [
+ 2597, 995, nil, 191, 885, 4913, 5034, 5155, 604, 516,
+ 951, 917, 948, 386, 141, 413, nil, 5268, 5389, 22556,
+ 885, nil, 5510, 5631, 5752, 350, 171, 5873, 5994, nil,
+ 1255, 6115, 6236, nil, 690, 183, 730, 446, 6357, 6478,
+ 6599, 604, 399, nil, nil, nil, nil, nil, nil, nil,
+ 291, 3207, 6720, 6841, 6962, 2, 7083, 7204, nil, nil,
+ 757, 7325, 7446, 7567, 22797, nil, nil, nil, nil, nil,
+ -87, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, 7688, nil, nil, nil, 7809, nil, nil, nil,
+ nil, nil, nil, nil, nil, 643, nil, 885, nil, nil,
+ nil, 7930, 8051, 8172, 8293, 8414, 1036, nil, 593, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, 161, nil, 1865, 1987, 8535, 8656,
+ 8777, 8898, 23556, 24036, 9019, 9140, 9261, nil, 819, -67,
+ 1010, -33, 832, 885, 3085, nil, nil, 9382, 9503, 9624,
+ 9745, 9866, 9987, 10108, 10229, 10350, 10471, 10592, 10713, 10834,
+ 10955, 11076, 11197, 11318, 11439, 11560, 11681, 11802, 11923, 12044,
+ 12165, 12286, 12407, 12528, nil, nil, nil, 21951, nil, 906,
+ 919, 12649, nil, 12770, 963, nil, nil, nil, nil, nil,
+ nil, 23322, 23382, 955, 12891, 13012, nil, nil, nil, nil,
+ nil, nil, nil, 13133, 964, 2963, 979, 991, 953, 13254,
+ 2841, 424, 512, 1031, 559, 998, 962, 161, nil, 1000,
+ 481, nil, nil, 189, 1024, 1026, 636, nil, 1027, nil,
+ 13375, nil, 1087, 1088, 515, nil, 977, -79, 212, 13496,
+ 1017, 187, 1001, -38, nil, 571, 10, 31, 13617, 13738,
+ 343, 338, 983, 23, 680, 1060, 4, 1100, nil, nil,
+ 260, 199, 355, nil, 801, nil, 9, 13859, nil, nil,
+ 327, 259, 88, -29, -51, 348, 478, 441, nil, 396,
+ nil, 13980, nil, 327, 323, 230, 226, -37, 203, nil,
+ 1003, nil, nil, nil, nil, nil, nil, 14101, nil, nil,
+ nil, nil, -54, -32, nil, nil, 757, nil, 39, 4792,
+ nil, 102, nil, nil, 7568, 180, 179, 134, 14214, nil,
+ nil, 107, 191, 0, nil, 14335, 14456, nil, 21588, nil,
+ nil, 23856, 23916, 14577, 115, 14698, 14819, 14940, 1987, 1865,
+ 358, 355, 248, 261, 273, 289, 2963, 2841, 2719, 1621,
+ 1743, 2353, 1499, 1002, 2109, 515, 2475, 2597, 2231, 490,
+ 400, 636, 885, 23430, -51, nil, 15061, nil, 15182, 261,
+ nil, 15303, 214, nil, nil, 398, nil, nil, 343, 328,
+ -63, 364, 466, nil, nil, 15424, -54, 95, 419, nil,
+ 432, 404, nil, nil, nil, 464, 15545, 23796, 23676, 888,
+ 485, nil, nil, 15666, 15787, 15908, 23262, 23496, 6237, 16029,
+ 610, 16150, nil, 502, nil, nil, 16271, nil, nil, 16392,
+ 24144, nil, 16513, nil, nil, nil, 4671, 640, nil, nil,
+ 4305, 115, 133, 644, 652, 4183, 16634, 16755, 23202, 23142,
+ 26, nil, nil, 299, nil, 23022, 16876, 23082, nil, nil,
+ 16997, 549, -34, 3573, 1306, nil, nil, nil, -32, nil,
+ nil, nil, 741, nil, nil, nil, 551, nil, 147, nil,
+ nil, 547, nil, nil, 17118, nil, nil, 17231, 17352, nil,
+ 149, 17473, 17594, 602, nil, nil, 17715, 618, nil, 17836,
+ 198, 154, 636, 515, 653, 1128, 17957, 18078, nil, 2231,
+ 18199, 620, nil, 669, 18320, nil, 671, nil, 667, nil,
+ nil, nil, nil, nil, 171, nil, 677, 681, 23976, 24096,
+ 18441, 22955, 79, 646, 18562, nil, 694, nil, 2109, 1743,
+ nil, -34, nil, 692, 38, 63, 711, 378, 885, 713,
+ 21346, 738, 739, -3, 806, nil, 1621, 709, 756, nil,
+ nil, 757, 18683, nil, nil, 206, nil, 835, nil, nil,
+ nil, nil, nil, 843, nil, 845, 739, 32, 18804, 776,
+ 1, -18, 25, 75, 18925, 401, 407, nil, 785, 4061,
+ 548, nil, nil, 871, 3939, 460, 547, 758, 766, 770,
+ nil, nil, nil, nil, nil, 768, nil, nil, nil, nil,
+ 850, nil, nil, 860, 22907, 823, nil, nil, nil, nil,
+ nil, 3451, nil, nil, nil, nil, nil, 22314, 793, 19046,
+ 19167, nil, 24236, nil, 7447, nil, nil, 13255, nil, 7326,
+ 19288, 19409, 19530, 70, 19652, nil, 834, 1128, 19651, nil,
+ 871, 973, 867, nil, 19772, 869, 2475, nil, nil, 916,
+ 917, -45, 978, 19893, nil, 20014, 888, nil, 930, 909,
+ 1011, 353, nil, nil, 2353, nil, nil, 11, 20135, nil,
+ nil, 24190, 1021, nil, 20256, 1022, 1499, 1377, nil, nil,
+ 20377, 4549, nil, -9, 68, nil, 1042, nil, 4427, nil,
+ 1084, 983, nil, 1428, nil, 197, nil, nil, 444, 20498,
+ nil, nil, nil, nil, 811, nil, nil, 20136, 20619, 20740,
+ 760, 882, 244, 295, 248, 281, nil, nil, nil, nil,
+ 20861, nil, 385, 473, 448, nil, 20982, 473, 21103, nil,
+ nil, nil, nil, nil, 3817, nil, nil, nil, -7, nil,
+ 624, 626, 21224, 413, nil, nil, 653, nil, 575, 552,
+ 554, nil, nil, 555, 563, nil, nil, 1019, nil, nil,
+ 21345, 1006, 21466, 23616, 23736, 639, 673, 21587, 6116, nil,
+ nil, nil, 21708, 748, nil, 21829, 815, 938, 3695, nil,
+ nil, nil, nil, nil, nil, 3329, nil, nil, -38, nil,
+ nil, nil, 2719, nil, 884, 916, 930, 160, 388, 375,
+ 757, 21950, nil, nil, 22071, 470, nil, 22192, nil, nil,
+ 515, 698, 619, 772, 770, 22313, 633, nil, 294, nil,
+ 22434, -98, nil, nil, nil, nil, 22555, nil, nil, 22676,
+ nil, nil, 482, nil ]
+
+racc_action_default = [
+ -4, -497, -1, -485, -5, -497, -497, -497, -497, -497,
+ -497, -497, -497, -497, -271, -32, -33, -497, -497, -38,
+ -40, -41, -282, -315, -316, -45, -249, -361, -285, -58,
+ -4, -62, -67, -68, -497, -428, -497, -497, -497, -497,
+ -497, -487, -214, -264, -265, -266, -267, -268, -269, -270,
+ -475, -4, -497, -496, -467, -288, -497, -497, -292, -295,
+ -485, -497, -497, -497, -497, -317, -318, -381, -382, -383,
+ -384, -385, -399, -388, -401, -401, -392, -397, -411, -401,
+ -413, -414, -417, -418, -419, -420, -421, -422, -423, -424,
+ -425, -426, -427, -430, -431, -497, -3, -486, -492, -493,
+ -494, -497, -497, -497, -497, -497, -6, -8, -497, -93,
+ -94, -95, -96, -97, -98, -99, -100, -101, -105, -106,
+ -107, -108, -109, -110, -111, -112, -113, -114, -115, -116,
+ -117, -118, -119, -120, -121, -122, -123, -124, -125, -126,
+ -127, -128, -129, -130, -131, -132, -133, -134, -135, -136,
+ -137, -138, -139, -140, -141, -142, -143, -144, -145, -146,
+ -147, -148, -149, -150, -151, -152, -153, -154, -155, -156,
+ -157, -158, -159, -160, -161, -162, -163, -164, -165, -166,
+ -167, -168, -169, -170, -13, -102, -4, -4, -497, -497,
+ -497, -496, -497, -497, -497, -497, -497, -36, -497, -428,
+ -497, -271, -497, -497, -4, -37, -206, -497, -497, -497,
+ -497, -497, -497, -497, -497, -497, -497, -497, -497, -497,
+ -497, -497, -497, -497, -497, -497, -497, -497, -497, -497,
+ -497, -497, -497, -497, -351, -353, -42, -215, -228, -258,
+ -258, -497, -236, -497, -259, -282, -315, -316, -470, -43,
+ -44, -497, -497, -50, -496, -497, -287, -356, -362, -364,
+ -56, -360, -57, -497, -58, -4, -497, -497, -63, -65,
+ -4, -72, -497, -497, -79, -285, -487, -497, -319, -361,
+ -497, -66, -70, -278, -415, -416, -497, -191, -192, -207,
+ -497, -488, -373, -497, -274, -216, -487, -489, -489, -497,
+ -497, -489, -497, -489, -289, -39, -497, -497, -497, -497,
+ -485, -497, -486, -428, -497, -497, -271, -497, -331, -332,
+ -88, -89, -497, -91, -497, -271, -497, -497, -428, -308,
+ -93, -94, -131, -132, -148, -153, -160, -163, -310, -497,
+ -465, -497, -386, -497, -497, -497, -497, -497, -497, 894,
+ -7, -495, -14, -15, -16, -17, -18, -497, -10, -11,
+ -12, -103, -497, -497, -21, -29, -171, -259, -497, -497,
+ -22, -30, -31, -23, -173, -497, -476, -477, -226, -478,
+ -479, -476, -249, -477, -359, -481, -482, -28, -180, -34,
+ -35, -497, -497, -496, -278, -497, -497, -497, -181, -182,
+ -183, -184, -185, -186, -187, -188, -193, -194, -195, -196,
+ -197, -198, -199, -200, -201, -202, -203, -204, -205, -208,
+ -209, -210, -211, -497, -347, -229, -497, -231, -497, -258,
+ -256, -497, -249, -476, -477, -249, -48, -51, -497, -487,
+ -487, -258, -228, -250, -251, -252, -347, -347, -497, -284,
+ -497, -59, -276, -71, -64, -497, -496, -497, -497, -78,
+ -497, -415, -416, -497, -497, -497, -497, -497, -212, -497,
+ -496, -496, -273, -487, -217, -218, -491, -490, -220, -491,
+ -487, -280, -491, -469, -281, -468, -4, -320, -321, -322,
+ -4, -497, -497, -497, -497, -4, -497, -496, -497, -497,
+ -278, -301, -88, -89, -90, -497, -496, -497, -304, -432,
+ -497, -497, -497, -4, -445, -312, -483, -484, -487, -387,
+ -400, -403, -497, -405, -389, -402, -497, -391, -497, -394,
+ -396, -497, -412, -9, -497, -19, -20, -497, -497, -263,
+ -279, -497, -497, -52, -227, -357, -497, -54, -358, -497,
+ -476, -477, -480, -277, -497, -171, -497, -497, -349, -4,
+ -497, -258, -257, -260, -497, -471, -497, -235, -497, -472,
+ -46, -354, -47, -355, -347, -222, -497, -497, -497, -497,
+ -497, -38, -497, -258, -497, -248, -497, -254, -4, -4,
+ -283, -59, -69, -497, -476, -477, -226, -75, -77, -497,
+ -179, -189, -190, -497, -496, -329, -4, -374, -496, -375,
+ -376, -497, -497, -260, -221, -496, -323, -496, -293, -324,
+ -325, -326, -296, -497, -299, -497, -367, -497, -497, -497,
+ -476, -477, -480, -277, -497, -88, -89, -92, -497, -4,
+ -497, -434, -306, -497, -4, -445, -497, -464, -464, -464,
+ -444, -446, -447, -448, -449, -450, -451, -454, -456, -457,
+ -459, -460, -461, -497, -497, -497, -404, -407, -408, -409,
+ -410, -4, -390, -393, -395, -398, -104, -172, -261, -497,
+ -497, -25, -175, -26, -176, -53, -27, -177, -55, -178,
+ -497, -497, -497, -279, -213, -333, -335, -345, -497, -348,
+ -497, -497, -258, -233, -497, -258, -4, -223, -224, -226,
+ -226, -487, -497, -497, -241, -497, -258, -253, -497, -497,
+ -497, -73, -286, -2, -4, -380, -330, -497, -497, -378,
+ -275, -487, -497, -327, -497, -497, -4, -4, -298, -300,
+ -497, -4, -369, -279, -497, -279, -497, -433, -4, -309,
+ -497, -487, -436, -497, -440, -497, -442, -443, -497, -497,
+ -458, -462, -313, -466, -497, -262, -24, -174, -497, -336,
+ -80, -497, -497, -87, -344, -497, -346, -350, -352, -230,
+ -497, -232, -497, -497, -258, -238, -497, -258, -497, -247,
+ -255, -363, -365, -379, -4, -377, -219, -290, -497, -291,
+ -497, -497, -497, -496, -302, -305, -497, -311, -497, -464,
+ -464, -452, -463, -464, -497, -455, -453, -445, -406, -334,
+ -497, -341, -496, -497, -497, -86, -497, -497, -258, -49,
+ -225, -237, -497, -258, -243, -497, -258, -373, -4, -294,
+ -297, -368, -366, -370, -371, -4, -307, -435, -497, -438,
+ -439, -441, -4, -337, -340, -497, -497, -82, -84, -83,
+ -85, -497, -343, -234, -497, -258, -239, -497, -242, -372,
+ -496, -497, -464, -497, -497, -497, -81, -342, -258, -244,
+ -497, -258, -328, -303, -437, -314, -497, -339, -240, -497,
+ -245, -338, -258, -246 ]
+
+clist = [
+'35,300,306,307,268,35,310,338,494,470,440,278,278,107,185,10,96,650',
+'117,117,10,565,293,437,115,115,644,240,240,240,35,271,271,112,112,604',
+'100,732,257,261,205,278,278,278,281,10,504,352,353,354,355,35,365,372',
+'238,238,238,618,622,303,438,313,328,328,328,106,10,266,242,242,242,264',
+'565,311,571,309,318,573,754,756,757,559,810,815,813,296,520,737,197',
+'529,634,112,845,100,486,490,639,35,236,249,250,344,345,588,589,35,348',
+'475,478,326,329,483,10,485,748,513,514,239,239,239,10,290,664,294,817',
+'378,382,305,305,696,700,305,424,446,447,627,842,427,608,375,727,342',
+'343,346,528,347,666,671,650,301,751,809,811,723,574,534,1,350,357,319',
+'184,587,443,586,718,356,253,260,262,340,302,304,305,305,305,305,815',
+'872,97,317,508,339,735,515,432,435,35,35,473,308,623,736,,,,,,,,,,10',
+'10,,35,,,,,,364,370,373,,,,387,,,10,386,,,296,,,,,,637,,706,,,,,,,,',
+'849,850,,,851,,,,,278,,,,,491,492,,,,240,240,,,,,35,389,390,240,271',
+'35,674,,,,,605,610,,,10,454,,368,368,10,442,238,,257,,261,882,,,238',
+',565,,,242,242,450,884,,,264,455,565,242,804,264,,685,,,,688,,,650,',
+',493,378,382,567,,,852,439,444,,,,609,711,,,448,,554,,100,,,,,,441,239',
+'571,573,,,,460,,239,509,,,,,533,,,,843,117,,,,,,115,474,,,305,305,,',
+',112,,,,,,,599,2,,548,,,,512,,599,,,,593,,,,,,725,,518,,729,741,,,,386',
+',605,267,605,,296,,,565,,,561,599,,,,,,599,,,,,,,629,13,,,,583,13,,',
+'638,,640,,703,,,,,198,198,,,,198,198,198,,,565,,,13,272,272,,714,,,',
+'643,386,35,,296,,35,585,,,386,35,,13,198,198,844,10,198,198,,10,198',
+'314,324,324,10,709,710,35,,794,294,,543,576,577,,547,,619,619,386,,10',
+'296,695,,386,,,,,278,296,,603,676,,13,641,642,117,198,198,198,198,13',
+'115,611,869,,,271,,35,614,112,,681,683,,368,,686,,,,570,,10,572,,,362',
+'363,744,305,,,,561,838,,35,35,,626,,,,,267,,665,779,,,781,10,10,,35',
+'762,,605,746,548,712,789,,750,,,,,,10,,,,,,,,,,,13,13,198,198,198,198',
+',35,198,198,198,,35,,,,,,13,,,,10,,,267,,10,,,267,,,,,,,,,35,,747,,',
+'605,278,278,752,798,831,,,834,,10,,,,,112,,,,,,770,770,,198,198,766',
+',,305,35,,278,198,,13,774,776,,272,13,,787,806,,10,,,35,863,,,770,,866',
+',,868,,,35,35,,10,,35,819,795,,,,,35,278,,10,10,,198,198,10,599,,785',
+',,879,10,,,,14,,271,856,,14,198,,888,,619,890,,,,,,,,,198,,893,,783',
+',,35,,,14,274,274,278,278,,,,305,,278,784,10,,796,,,,,,,14,,770,770',
+',873,,,,770,316,325,325,808,,,,853,854,865,35,198,,278,862,,,35,,,,',
+',386,35,10,296,278,,,,,10,770,,,14,,278,10,,,,,14,,,770,877,,615,,,',
+'617,,,,770,625,,,887,198,,,,,,,,,,891,198,,,,,,,,,,,,,198,,,,,,,,,,',
+',,,,,,13,,,,13,,,,,13,,198,,,,,,,,701,198,14,14,,198,,,13,,,,,,,,,,',
+',14,,,,,,,,,719,720,,,,,,198,198,,,,198,,,,,,726,,,,,272,,13,,,,,,,',
+',,,,,,,,,,,,,198,,,,,,14,,13,13,274,14,,,,,,,,,,,,,,,13,,,,,,,,,,,764',
+',,,,,,,,,,,,,,,,198,,,,,13,,,,,13,,,,,,,,782,,,,,,,,,,,,,,,,,,793,13',
+',,,,,,,,198,,800,801,,,,803,,,,,,,,,,771,771,,,,,,,,13,,,,,,,,,,,,,',
+',,,,13,,,,771,,,,,,198,,13,13,,,837,13,,,,,,,13,,,,,,,,,,,,,,,,,,,,',
+'272,,,,,,,,,,,,,,,870,,,,,,,871,,,13,,,,,,,,,,,,,14,,,,14,,,,,14,,,',
+'771,771,198,,,,,771,,,,,,,14,,,,13,,,,12,670,,13,,12,,,,,13,,,,,,,,',
+'771,,,,,,,,,,,12,,,771,,,274,,14,,,,,,771,,,,,,,12,,,,,,,,,,,,,,,,14',
+'14,,,,,,,,,,,,,,,,,14,,,,,,,,,,,,12,,,,,,,,12,,,,,,,,,,,,,14,,,,,14',
+',,,,,,,,,,,,,,,,,,,,,,,,,,14,,,,,,,,,,,,,,,,,,,,,,,,,,773,773,,,,,,',
+',14,12,12,206,,,,237,237,237,,,,,,,,,14,12,,,773,287,288,289,,,,,14',
+'14,,,,14,,,237,237,,,14,,,,,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,,,,,,12,',
+',,,12,,,14,,,,,,,,,,,,,,,,,,,,,,,,,,773,773,,,,,,773,,,,,,,,,,,14,,',
+',,,,14,,,,,,,14,,,,,,,,,773,,,,,,,,,,,,,,773,,,,366,237,374,237,,,388',
+'773,,,,,,,,,,,,206,398,399,400,401,402,403,404,405,406,407,408,409,410',
+'411,412,413,414,415,416,417,418,419,420,421,422,423,,,,,,,,237,,237',
+',,,,,,,,,,237,237,,,,,,,,237,,,,,,,,,,,,,,,,,,,,,,,,,,,468,,,,,,,,,480',
+',,,,,,,,,,,,,,,,12,,,,12,,,,,12,,,,,,,,,,,,,,,,,,12,,,,,,,,,,,,,,,,',
+',,,,,,,,,237,367,371,,,,,,,,,,,,,,,,,,12,,,,237,,388,555,374,,,,,,,',
+',,,,,,,,,,,,,12,12,,,,429,,430,237,,237,,,237,,,,,12,,,,,,,,,581,,,',
+',,,,,,,237,,,,,,,600,601,602,,,,12,,237,,,12,,237,,,237,,,237,,,,,,',
+',,,,,,,237,237,,,,12,,,,,237,,,,,,,,,,,,,,,,,,,,,,,,,,,,,26,12,677,237',
+',26,682,684,,,,687,,,689,,539,26,26,12,,694,26,26,26,237,,,,237,26,12',
+'12,,,,12,,,,,,,12,,237,,,,237,,26,26,26,,,26,26,,,26,,,,,,,,,,,,,563',
+',566,,731,569,,,,,,,,,,,12,,,582,237,,,,26,,,,26,26,26,26,26,,,,,,,',
+',,,,,607,,,,,613,,,566,,,613,,,,12,,,,,,,12,,,367,237,767,,12,,,,,,',
+',682,684,687,,,,,,,,,,,,237,,,,,,,,,237,,237,,,,,678,26,26,26,26,26',
+'26,,,26,26,26,,,,,,,,26,237,,702,,,,705,,,,,,,,,,,,,237,,,563,,,,716',
+',767,,,,,,,,,,,,828,,,,,,237,,237,26,26,,,,,,,,26,,26,,237,,,26,,,,',
+'742,,,,,,,,,,,,237,,,,,,,,,,237,,,237,,,,,,,,26,26,,,,,,,,,,,,,,,,,765',
+'26,,237,,,237,,,,,,,,,26,,,,237,,,,,,566,,,237,,,,,,,,566,,,,,,,,,,',
+',,,,,,,,,,,,,,613,,,,,,26,,,,,,,,,,,,,816,,,,,,,,,,,,,,,,,,,,,,,,,,',
+'833,,836,,,,,,,,,,26,,,,841,,,,,,,26,,,,,,,,,,,,,26,,,,,,,,,,563,,,566',
+',,,26,,,,26,,,,,26,,26,,,,,,,,,26,,,,26,878,,26,881,,,,,,,,,,,,,566',
+',,,,,,,,892,,,,,26,26,,,,26,,,,,,,,,,,,,26,,,,,,,,,,,,,,,,,,,,,26,,',
+',,,,,26,26,,,,,,,,,,,,,,,,,26,,,,,,,,,,,,,,,,,,,,,,,,,,,,26,,,,,26,',
+',,,26,,,,,,,,,,,,,,,,,,,,,,,,,,,26,,,,,,,,,26,,,,,,,,,,,,,,,,,,,,,,',
+',,,26,,,,,,,,,,,,,,,,,,26,,,,,,,,,,26,,26,26,,,,26,,,,,,,26,,,,,,,,',
+',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,26,,,,,,,,,,,,,,,,,,,,,,,,,,,,26',
+',,,,,,,,,,,,,,,26,,,,,,,26,,,,,,,26' ]
+ racc_goto_table = arr = ::Array.new(2846, 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 = [
+'41,19,13,13,39,41,13,44,79,4,29,52,52,11,11,14,8,126,49,49,14,131,3',
+'32,48,48,83,56,56,56,41,41,41,45,45,5,82,77,57,57,15,52,52,52,40,14',
+'42,13,13,13,13,41,21,21,26,26,26,78,78,56,53,41,41,41,41,9,14,37,60',
+'60,60,36,131,8,58,89,14,58,125,125,125,33,124,128,124,26,117,90,23,117',
+'91,45,92,82,76,76,93,41,28,28,28,114,114,33,33,41,114,55,55,43,43,55',
+'14,55,94,95,96,54,54,54,14,51,97,23,98,30,30,23,23,99,100,23,102,104',
+'105,106,107,59,108,19,109,112,113,115,116,118,119,120,126,54,121,123',
+'127,6,34,50,1,9,24,16,12,61,62,64,65,9,31,31,31,72,73,74,23,23,23,23',
+'128,124,10,80,81,84,5,85,30,30,41,41,86,87,79,88,,,,,,,,,,14,14,,41',
+',,,,,15,15,15,,,,15,,,14,45,,,26,,,,,,42,,33,,,,,,,,,125,125,,,125,',
+',,,52,,,,,13,13,,,,56,56,,,,,41,23,23,56,41,41,117,,,,,53,53,,,14,40',
+',54,54,14,26,26,,57,,57,77,,,26,,131,,,60,60,37,125,,,36,37,131,60,78',
+'36,,32,,,,32,,,126,,,8,30,30,59,,,83,28,28,,,,21,29,,,28,,19,,82,,,',
+',,54,54,58,58,,,,51,,54,82,,,,,11,,,,5,49,,,,,,48,51,,,23,23,,,,45,',
+',,,,,30,2,,57,,,,23,,30,,,,19,,,,,,53,,23,,53,76,,,,45,,53,2,53,,26',
+',,131,,,56,30,,,,,,30,,,,,,,19,18,,,,56,18,,,19,,13,,59,,,,,18,18,,',
+',18,18,18,,,131,,,18,18,18,,59,,,,3,45,41,,26,,41,60,,,45,41,,18,18',
+'18,79,14,18,18,,14,18,18,18,18,14,30,30,41,,76,23,,31,51,51,,31,,82',
+'82,45,,14,26,39,,45,,,,,52,26,,23,11,,18,82,82,49,18,18,18,18,18,48',
+'51,4,,,41,,41,51,45,,15,15,,54,,15,,,,31,,14,31,,,2,2,13,23,,,,56,76',
+',41,41,,54,,,,,2,,51,59,,,59,14,14,,41,44,,53,3,57,26,59,,3,,,,,,14',
+',,,,,,,,,,18,18,18,18,18,18,,41,18,18,18,,41,,,,,,18,,,,14,,,2,,14,',
+',2,,,,,,,,,41,,82,,,53,52,52,82,13,59,,,59,,14,,,,,45,,,,,,41,41,,18',
+'18,15,,,23,41,,52,18,,18,14,14,,18,18,,56,3,,14,,,41,59,,,41,,59,,,59',
+',,41,41,,14,,41,39,14,,,,,41,52,,14,14,,18,18,14,30,,60,,,59,14,,,,20',
+',41,19,,20,18,,59,,82,59,,,,,,,,,18,,59,,51,,,41,,,20,20,20,52,52,,',
+',23,,52,54,14,,51,,,,,,,20,,41,41,,3,,,,41,20,20,20,51,,,,14,14,56,41',
+'18,,52,14,,,41,,,,,,45,41,14,26,52,,,,,14,41,,,20,,52,14,,,,,20,,,41',
+'14,,2,,,,2,,,,41,2,,,14,18,,,,,,,,,,14,18,,,,,,,,,,,,,18,,,,,,,,,,,',
+',,,,,18,,,,18,,,,,18,,18,,,,,,,,2,18,20,20,,18,,,18,,,,,,,,,,,,20,,',
+',,,,,,2,2,,,,,,18,18,,,,18,,,,,,2,,,,,18,,18,,,,,,,,,,,,,,,,,,,,,18',
+',,,,,20,,18,18,20,20,,,,,,,,,,,,,,,18,,,,,,,,,,,2,,,,,,,,,,,,,,,,,18',
+',,,,18,,,,,18,,,,,,,,2,,,,,,,,,,,,,,,,,,2,18,,,,,,,,,18,,2,2,,,,2,,',
+',,,,,,,18,18,,,,,,,,18,,,,,,,,,,,,,,,,,,18,,,,18,,,,,,18,,18,18,,,2',
+'18,,,,,,,18,,,,,,,,,,,,,,,,,,,,,18,,,,,,,,,,,,,,,2,,,,,,,2,,,18,,,,',
+',,,,,,,,20,,,,20,,,,,20,,,,18,18,18,,,,,18,,,,,,,20,,,,18,,,,17,20,',
+'18,,17,,,,,18,,,,,,,,,18,,,,,,,,,,,17,,,18,,,20,,20,,,,,,18,,,,,,,17',
+',,,,,,,,,,,,,,,20,20,,,,,,,,,,,,,,,,,20,,,,,,,,,,,,17,,,,,,,,17,,,,',
+',,,,,,,,20,,,,,20,,,,,,,,,,,,,,,,,,,,,,,,,,,20,,,,,,,,,,,,,,,,,,,,,',
+',,,,20,20,,,,,,,,20,17,17,25,,,,25,25,25,,,,,,,,,20,17,,,20,25,25,25',
+',,,,20,20,,,,20,,,25,25,,,20,,,,,,,,,,,,,,,,,,,,,20,,,,,,,,,,,,,,,,',
+'17,,,,,17,,,20,,,,,,,,,,,,,,,,,,,,,,,,,,20,20,,,,,,20,,,,,,,,,,,20,',
+',,,,,20,,,,,,,20,,,,,,,,,20,,,,,,,,,,,,,,20,,,,25,25,25,25,,,25,20,',
+',,,,,,,,,,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25',
+'25,25,25,25,25,25,25,,,,,,,,25,,25,,,,,,,,,,,25,25,,,,,,,,25,,,,,,,',
+',,,,,,,,,,,,,,,,,,,25,,,,,,,,,25,,,,,,,,,,,,,,,,,17,,,,17,,,,,17,,,',
+',,,,,,,,,,,,,,17,,,,,,,,,,,,,,,,,,,,,,,,,,25,22,22,,,,,,,,,,,,,,,,,',
+'17,,,,25,,25,25,25,,,,,,,,,,,,,,,,,,,,,17,17,,,,22,,22,25,,25,,,25,',
+',,,17,,,,,,,,,25,,,,,,,,,,,25,,,,,,,25,25,25,,,,17,,25,,,17,,25,,,25',
+',,25,,,,,,,,,,,,,,25,25,,,,17,,,,,25,,,,,,,,,,,,,,,,,,,,,,,,,,,,,35',
+'17,25,25,,35,25,25,,,,25,,,25,,22,35,35,17,,25,35,35,35,25,,,,25,35',
+'17,17,,,,17,,,,,,,17,,25,,,,25,,35,35,35,,,35,35,,,35,,,,,,,,,,,,,22',
+',22,,25,22,,,,,,,,,,,17,,,22,25,,,,35,,,,35,35,35,35,35,,,,,,,,,,,,',
+'22,,,,,22,,,22,,,22,,,,17,,,,,,,17,,,22,25,25,,17,,,,,,,,25,25,25,,',
+',,,,,,,,,25,,,,,,,,,25,,25,,,,,22,35,35,35,35,35,35,,,35,35,35,,,,,',
+',,35,25,,22,,,,22,,,,,,,,,,,,,25,,,22,,,,22,,25,,,,,,,,,,,,25,,,,,,25',
+',25,35,35,,,,,,,,35,,35,,25,,,35,,,,,22,,,,,,,,,,,,25,,,,,,,,,,25,,',
+'25,,,,,,,,35,35,,,,,,,,,,,,,,,,,22,35,,25,,,25,,,,,,,,,35,,,,25,,,,',
+',22,,,25,,,,,,,,22,,,,,,,,,,,,,,,,,,,,,,,,,22,,,,,,35,,,,,,,,,,,,,22',
+',,,,,,,,,,,,,,,,,,,,,,,,,,22,,22,,,,,,,,,,35,,,,22,,,,,,,35,,,,,,,,',
+',,,,35,,,,,,,,,,22,,,22,,,,35,,,,35,,,,,35,,35,,,,,,,,,35,,,,35,22,',
+'35,22,,,,,,,,,,,,,22,,,,,,,,,22,,,,,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' ]
+ racc_goto_check = arr = ::Array.new(2846, 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, 156, 392, -29, -283, -435, -451, nil, 13, 60,
+ 175, 7, 153, -54, 15, 22, 98, 1288, 446, -52,
+ 767, -136, 1640, 71, 51, 1458, 32, nil, 76, -244,
+ -67, 140, -230, -343, -282, 1993, 41, 37, nil, -27,
+ 12, 0, -276, 47, -57, 27, nil, nil, 18, 12,
+ -206, 80, -20, -194, 95, -190, 5, 12, -358, -103,
+ 46, -284, -93, nil, -282, -423, nil, nil, nil, nil,
+ nil, nil, 105, 116, 116, nil, -212, -578, -434, -303,
+ 118, -146, 33, -488, 117, -156, -106, 131, -427, 16,
+ -535, -411, -712, -412, -528, -214, -222, -393, -638, -428,
+ -427, nil, -102, nil, -125, -125, -361, -667, -333, -468,
+ nil, nil, 71, 70, 27, 67, -202, -257, 68, -376,
+ -376, -495, nil, -602, -671, -569, -497, -601, -672, nil,
+ nil, -407 ]
+
+racc_goto_default = [
+ nil, nil, 292, nil, nil, 733, nil, 3, nil, 4,
+ 312, nil, nil, nil, 202, 16, 11, 203, 286, nil,
+ 201, nil, 244, 15, nil, 19, 20, 21, nil, 25,
+ 596, nil, nil, nil, nil, 277, 29, nil, 31, 34,
+ 33, 199, 323, nil, 114, 380, 113, 116, 68, 69,
+ nil, nil, 42, 295, 297, nil, 298, 544, 545, 425,
+ 562, nil, nil, 255, nil, nil, 43, 44, 45, 46,
+ 47, 48, 49, nil, 256, 55, nil, nil, nil, nil,
+ nil, nil, 487, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, 235, nil, 384, nil, nil, nil, nil, nil, nil,
+ 67, 70, 71, nil, nil, nil, nil, 525, nil, nil,
+ nil, 646, 647, 648, 649, nil, 812, 656, 657, 660,
+ 663, 248 ]
+
+racc_reduce_table = [
+ 0, 0, :racc_error,
+ 1, 133, :_reduce_1,
+ 4, 135, :_reduce_2,
+ 2, 134, :_reduce_3,
+ 0, 139, :_reduce_4,
+ 1, 139, :_reduce_5,
+ 2, 139, :_reduce_6,
+ 3, 139, :_reduce_7,
+ 0, 156, :_reduce_8,
+ 4, 141, :_reduce_9,
+ 3, 141, :_reduce_10,
+ 3, 141, :_reduce_11,
+ 3, 141, :_reduce_12,
+ 2, 141, :_reduce_13,
+ 3, 141, :_reduce_14,
+ 3, 141, :_reduce_15,
+ 3, 141, :_reduce_16,
+ 3, 141, :_reduce_17,
+ 3, 141, :_reduce_18,
+ 4, 141, :_reduce_19,
+ 4, 141, :_reduce_20,
+ 3, 141, :_reduce_21,
+ 3, 141, :_reduce_22,
+ 3, 141, :_reduce_23,
+ 6, 141, :_reduce_24,
+ 5, 141, :_reduce_25,
+ 5, 141, :_reduce_26,
+ 5, 141, :_reduce_27,
+ 3, 141, :_reduce_28,
+ 3, 141, :_reduce_29,
+ 3, 141, :_reduce_30,
+ 3, 141, :_reduce_31,
+ 1, 141, :_reduce_none,
+ 1, 155, :_reduce_none,
+ 3, 155, :_reduce_34,
+ 3, 155, :_reduce_35,
+ 2, 155, :_reduce_36,
+ 2, 155, :_reduce_37,
+ 1, 155, :_reduce_none,
+ 1, 145, :_reduce_none,
+ 1, 147, :_reduce_none,
+ 1, 147, :_reduce_none,
+ 2, 147, :_reduce_42,
+ 2, 147, :_reduce_43,
+ 2, 147, :_reduce_44,
+ 1, 159, :_reduce_none,
+ 4, 159, :_reduce_46,
+ 4, 159, :_reduce_47,
+ 0, 166, :_reduce_48,
+ 5, 164, :_reduce_49,
+ 2, 158, :_reduce_50,
+ 3, 158, :_reduce_51,
+ 4, 158, :_reduce_52,
+ 5, 158, :_reduce_53,
+ 4, 158, :_reduce_54,
+ 5, 158, :_reduce_55,
+ 2, 158, :_reduce_56,
+ 2, 158, :_reduce_57,
+ 1, 148, :_reduce_58,
+ 3, 148, :_reduce_59,
+ 1, 169, :_reduce_60,
+ 3, 169, :_reduce_61,
+ 1, 168, :_reduce_62,
+ 2, 168, :_reduce_63,
+ 3, 168, :_reduce_64,
+ 2, 168, :_reduce_65,
+ 2, 168, :_reduce_66,
+ 1, 168, :_reduce_67,
+ 1, 171, :_reduce_none,
+ 3, 171, :_reduce_69,
+ 2, 170, :_reduce_70,
+ 3, 170, :_reduce_71,
+ 1, 172, :_reduce_72,
+ 4, 172, :_reduce_73,
+ 3, 172, :_reduce_74,
+ 3, 172, :_reduce_75,
+ 3, 172, :_reduce_76,
+ 3, 172, :_reduce_77,
+ 2, 172, :_reduce_78,
+ 1, 172, :_reduce_79,
+ 1, 146, :_reduce_80,
+ 4, 146, :_reduce_81,
+ 3, 146, :_reduce_82,
+ 3, 146, :_reduce_83,
+ 3, 146, :_reduce_84,
+ 3, 146, :_reduce_85,
+ 2, 146, :_reduce_86,
+ 1, 146, :_reduce_87,
+ 1, 174, :_reduce_88,
+ 1, 174, :_reduce_none,
+ 2, 175, :_reduce_90,
+ 1, 175, :_reduce_91,
+ 3, 175, :_reduce_92,
+ 1, 176, :_reduce_none,
+ 1, 176, :_reduce_none,
+ 1, 176, :_reduce_none,
+ 1, 176, :_reduce_none,
+ 1, 176, :_reduce_none,
+ 1, 179, :_reduce_98,
+ 1, 179, :_reduce_none,
+ 1, 143, :_reduce_none,
+ 1, 143, :_reduce_none,
+ 1, 144, :_reduce_102,
+ 0, 182, :_reduce_103,
+ 4, 144, :_reduce_104,
+ 1, 177, :_reduce_none,
+ 1, 177, :_reduce_none,
+ 1, 177, :_reduce_none,
+ 1, 177, :_reduce_none,
+ 1, 177, :_reduce_none,
+ 1, 177, :_reduce_none,
+ 1, 177, :_reduce_none,
+ 1, 177, :_reduce_none,
+ 1, 177, :_reduce_none,
+ 1, 177, :_reduce_none,
+ 1, 177, :_reduce_none,
+ 1, 177, :_reduce_none,
+ 1, 177, :_reduce_none,
+ 1, 177, :_reduce_none,
+ 1, 177, :_reduce_none,
+ 1, 177, :_reduce_none,
+ 1, 177, :_reduce_none,
+ 1, 177, :_reduce_none,
+ 1, 177, :_reduce_none,
+ 1, 177, :_reduce_none,
+ 1, 177, :_reduce_none,
+ 1, 177, :_reduce_none,
+ 1, 177, :_reduce_none,
+ 1, 177, :_reduce_none,
+ 1, 177, :_reduce_none,
+ 1, 177, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 1, 178, :_reduce_none,
+ 3, 157, :_reduce_171,
+ 5, 157, :_reduce_172,
+ 3, 157, :_reduce_173,
+ 6, 157, :_reduce_174,
+ 5, 157, :_reduce_175,
+ 5, 157, :_reduce_176,
+ 5, 157, :_reduce_177,
+ 5, 157, :_reduce_178,
+ 4, 157, :_reduce_179,
+ 3, 157, :_reduce_180,
+ 3, 157, :_reduce_181,
+ 3, 157, :_reduce_182,
+ 3, 157, :_reduce_183,
+ 3, 157, :_reduce_184,
+ 3, 157, :_reduce_185,
+ 3, 157, :_reduce_186,
+ 3, 157, :_reduce_187,
+ 3, 157, :_reduce_188,
+ 4, 157, :_reduce_189,
+ 4, 157, :_reduce_190,
+ 2, 157, :_reduce_191,
+ 2, 157, :_reduce_192,
+ 3, 157, :_reduce_193,
+ 3, 157, :_reduce_194,
+ 3, 157, :_reduce_195,
+ 3, 157, :_reduce_196,
+ 3, 157, :_reduce_197,
+ 3, 157, :_reduce_198,
+ 3, 157, :_reduce_199,
+ 3, 157, :_reduce_200,
+ 3, 157, :_reduce_201,
+ 3, 157, :_reduce_202,
+ 3, 157, :_reduce_203,
+ 3, 157, :_reduce_204,
+ 3, 157, :_reduce_205,
+ 2, 157, :_reduce_206,
+ 2, 157, :_reduce_207,
+ 3, 157, :_reduce_208,
+ 3, 157, :_reduce_209,
+ 3, 157, :_reduce_210,
+ 3, 157, :_reduce_211,
+ 3, 157, :_reduce_212,
+ 5, 157, :_reduce_213,
+ 1, 157, :_reduce_none,
+ 1, 154, :_reduce_none,
+ 1, 151, :_reduce_none,
+ 2, 151, :_reduce_217,
+ 2, 151, :_reduce_218,
+ 5, 151, :_reduce_219,
+ 2, 151, :_reduce_220,
+ 3, 151, :_reduce_221,
+ 3, 189, :_reduce_222,
+ 4, 189, :_reduce_223,
+ 4, 189, :_reduce_224,
+ 6, 189, :_reduce_225,
+ 0, 190, :_reduce_226,
+ 1, 190, :_reduce_none,
+ 1, 160, :_reduce_228,
+ 2, 160, :_reduce_229,
+ 5, 160, :_reduce_230,
+ 2, 160, :_reduce_231,
+ 5, 160, :_reduce_232,
+ 4, 160, :_reduce_233,
+ 7, 160, :_reduce_234,
+ 3, 160, :_reduce_235,
+ 1, 160, :_reduce_236,
+ 4, 193, :_reduce_237,
+ 3, 193, :_reduce_238,
+ 5, 193, :_reduce_239,
+ 7, 193, :_reduce_240,
+ 2, 193, :_reduce_241,
+ 5, 193, :_reduce_242,
+ 4, 193, :_reduce_243,
+ 6, 193, :_reduce_244,
+ 7, 193, :_reduce_245,
+ 9, 193, :_reduce_246,
+ 3, 193, :_reduce_247,
+ 1, 193, :_reduce_248,
+ 0, 195, :_reduce_249,
+ 2, 163, :_reduce_250,
+ 1, 194, :_reduce_251,
+ 0, 196, :_reduce_252,
+ 3, 194, :_reduce_253,
+ 0, 197, :_reduce_254,
+ 4, 194, :_reduce_255,
+ 2, 192, :_reduce_256,
+ 2, 191, :_reduce_257,
+ 0, 191, :_reduce_258,
+ 1, 186, :_reduce_259,
+ 3, 186, :_reduce_260,
+ 3, 153, :_reduce_261,
+ 4, 153, :_reduce_262,
+ 2, 153, :_reduce_263,
+ 1, 184, :_reduce_none,
+ 1, 184, :_reduce_none,
+ 1, 184, :_reduce_none,
+ 1, 184, :_reduce_none,
+ 1, 184, :_reduce_none,
+ 1, 184, :_reduce_none,
+ 1, 184, :_reduce_none,
+ 1, 184, :_reduce_none,
+ 1, 184, :_reduce_272,
+ 3, 184, :_reduce_273,
+ 0, 218, :_reduce_274,
+ 5, 184, :_reduce_275,
+ 3, 184, :_reduce_276,
+ 3, 184, :_reduce_277,
+ 2, 184, :_reduce_278,
+ 4, 184, :_reduce_279,
+ 3, 184, :_reduce_280,
+ 3, 184, :_reduce_281,
+ 1, 184, :_reduce_282,
+ 4, 184, :_reduce_283,
+ 3, 184, :_reduce_284,
+ 1, 184, :_reduce_285,
+ 5, 184, :_reduce_286,
+ 2, 184, :_reduce_287,
+ 1, 184, :_reduce_none,
+ 2, 184, :_reduce_289,
+ 6, 184, :_reduce_290,
+ 6, 184, :_reduce_291,
+ 0, 219, :_reduce_292,
+ 0, 220, :_reduce_293,
+ 7, 184, :_reduce_294,
+ 0, 221, :_reduce_295,
+ 0, 222, :_reduce_296,
+ 7, 184, :_reduce_297,
+ 5, 184, :_reduce_298,
+ 4, 184, :_reduce_299,
+ 5, 184, :_reduce_300,
+ 0, 223, :_reduce_301,
+ 0, 224, :_reduce_302,
+ 9, 184, :_reduce_303,
+ 0, 225, :_reduce_304,
+ 6, 184, :_reduce_305,
+ 0, 226, :_reduce_306,
+ 7, 184, :_reduce_307,
+ 0, 227, :_reduce_308,
+ 5, 184, :_reduce_309,
+ 0, 228, :_reduce_310,
+ 6, 184, :_reduce_311,
+ 0, 229, :_reduce_312,
+ 0, 230, :_reduce_313,
+ 9, 184, :_reduce_314,
+ 1, 184, :_reduce_315,
+ 1, 184, :_reduce_316,
+ 1, 184, :_reduce_317,
+ 1, 184, :_reduce_318,
+ 1, 150, :_reduce_none,
+ 1, 208, :_reduce_none,
+ 1, 208, :_reduce_none,
+ 1, 208, :_reduce_none,
+ 2, 208, :_reduce_323,
+ 1, 210, :_reduce_none,
+ 1, 210, :_reduce_none,
+ 1, 210, :_reduce_none,
+ 1, 209, :_reduce_none,
+ 5, 209, :_reduce_328,
+ 1, 137, :_reduce_none,
+ 2, 137, :_reduce_330,
+ 1, 212, :_reduce_none,
+ 1, 212, :_reduce_none,
+ 1, 231, :_reduce_333,
+ 3, 231, :_reduce_334,
+ 1, 232, :_reduce_none,
+ 2, 232, :_reduce_none,
+ 4, 232, :_reduce_337,
+ 7, 232, :_reduce_338,
+ 6, 232, :_reduce_339,
+ 4, 232, :_reduce_340,
+ 3, 232, :_reduce_341,
+ 5, 232, :_reduce_342,
+ 4, 232, :_reduce_343,
+ 2, 232, :_reduce_344,
+ 1, 232, :_reduce_345,
+ 2, 232, :_reduce_346,
+ 0, 165, :_reduce_347,
+ 2, 165, :_reduce_348,
+ 1, 165, :_reduce_349,
+ 3, 165, :_reduce_350,
+ 0, 234, :_reduce_351,
+ 5, 233, :_reduce_352,
+ 2, 161, :_reduce_353,
+ 4, 161, :_reduce_354,
+ 4, 161, :_reduce_355,
+ 2, 207, :_reduce_356,
+ 4, 207, :_reduce_357,
+ 4, 207, :_reduce_358,
+ 3, 207, :_reduce_359,
+ 2, 207, :_reduce_360,
+ 1, 207, :_reduce_361,
+ 0, 236, :_reduce_362,
+ 5, 206, :_reduce_363,
+ 0, 237, :_reduce_364,
+ 5, 206, :_reduce_365,
+ 5, 211, :_reduce_366,
+ 1, 238, :_reduce_none,
+ 4, 238, :_reduce_368,
+ 2, 238, :_reduce_369,
+ 1, 239, :_reduce_370,
+ 1, 239, :_reduce_none,
+ 6, 136, :_reduce_372,
+ 0, 136, :_reduce_373,
+ 1, 240, :_reduce_374,
+ 1, 240, :_reduce_none,
+ 1, 240, :_reduce_none,
+ 2, 241, :_reduce_377,
+ 1, 241, :_reduce_none,
+ 2, 138, :_reduce_379,
+ 1, 138, :_reduce_none,
+ 1, 198, :_reduce_none,
+ 1, 198, :_reduce_none,
+ 1, 198, :_reduce_none,
+ 1, 199, :_reduce_384,
+ 1, 243, :_reduce_385,
+ 2, 243, :_reduce_386,
+ 3, 244, :_reduce_387,
+ 1, 244, :_reduce_388,
+ 3, 200, :_reduce_389,
+ 4, 201, :_reduce_390,
+ 3, 202, :_reduce_391,
+ 0, 247, :_reduce_392,
+ 3, 247, :_reduce_393,
+ 1, 248, :_reduce_394,
+ 2, 248, :_reduce_395,
+ 3, 203, :_reduce_396,
+ 0, 250, :_reduce_397,
+ 3, 250, :_reduce_398,
+ 0, 245, :_reduce_399,
+ 2, 245, :_reduce_400,
+ 0, 246, :_reduce_401,
+ 2, 246, :_reduce_402,
+ 1, 249, :_reduce_403,
+ 2, 249, :_reduce_404,
+ 0, 252, :_reduce_405,
+ 4, 249, :_reduce_406,
+ 1, 251, :_reduce_407,
+ 1, 251, :_reduce_408,
+ 1, 251, :_reduce_409,
+ 1, 251, :_reduce_none,
+ 1, 180, :_reduce_411,
+ 3, 181, :_reduce_412,
+ 1, 242, :_reduce_413,
+ 1, 242, :_reduce_414,
+ 2, 242, :_reduce_415,
+ 2, 242, :_reduce_416,
+ 1, 173, :_reduce_417,
+ 1, 173, :_reduce_418,
+ 1, 173, :_reduce_419,
+ 1, 173, :_reduce_420,
+ 1, 173, :_reduce_421,
+ 1, 173, :_reduce_422,
+ 1, 173, :_reduce_423,
+ 1, 173, :_reduce_424,
+ 1, 173, :_reduce_425,
+ 1, 173, :_reduce_426,
+ 1, 173, :_reduce_427,
+ 1, 204, :_reduce_428,
+ 1, 149, :_reduce_429,
+ 1, 152, :_reduce_430,
+ 1, 152, :_reduce_431,
+ 1, 213, :_reduce_432,
+ 3, 213, :_reduce_433,
+ 2, 213, :_reduce_434,
+ 4, 215, :_reduce_435,
+ 2, 215, :_reduce_436,
+ 6, 253, :_reduce_437,
+ 4, 253, :_reduce_438,
+ 4, 253, :_reduce_439,
+ 2, 253, :_reduce_440,
+ 4, 253, :_reduce_441,
+ 2, 253, :_reduce_442,
+ 2, 253, :_reduce_443,
+ 1, 253, :_reduce_444,
+ 0, 253, :_reduce_445,
+ 1, 259, :_reduce_446,
+ 1, 259, :_reduce_447,
+ 1, 259, :_reduce_448,
+ 1, 259, :_reduce_449,
+ 1, 259, :_reduce_450,
+ 1, 254, :_reduce_451,
+ 3, 254, :_reduce_452,
+ 3, 260, :_reduce_453,
+ 1, 255, :_reduce_454,
+ 3, 255, :_reduce_455,
+ 1, 261, :_reduce_none,
+ 1, 261, :_reduce_none,
+ 2, 256, :_reduce_458,
+ 1, 256, :_reduce_459,
+ 1, 262, :_reduce_none,
+ 1, 262, :_reduce_none,
+ 2, 258, :_reduce_462,
+ 2, 257, :_reduce_463,
+ 0, 257, :_reduce_464,
+ 1, 216, :_reduce_none,
+ 4, 216, :_reduce_466,
+ 0, 205, :_reduce_467,
+ 2, 205, :_reduce_468,
+ 2, 205, :_reduce_469,
+ 1, 188, :_reduce_470,
+ 3, 188, :_reduce_471,
+ 3, 263, :_reduce_472,
+ 1, 167, :_reduce_none,
+ 1, 167, :_reduce_none,
+ 1, 167, :_reduce_none,
+ 1, 162, :_reduce_none,
+ 1, 162, :_reduce_none,
+ 1, 162, :_reduce_none,
+ 1, 162, :_reduce_none,
+ 1, 235, :_reduce_none,
+ 1, 235, :_reduce_none,
+ 1, 235, :_reduce_none,
+ 1, 217, :_reduce_none,
+ 1, 217, :_reduce_none,
+ 0, 140, :_reduce_none,
+ 1, 140, :_reduce_none,
+ 0, 183, :_reduce_none,
+ 1, 183, :_reduce_none,
+ 0, 187, :_reduce_none,
+ 1, 187, :_reduce_none,
+ 1, 187, :_reduce_none,
+ 1, 214, :_reduce_492,
+ 1, 214, :_reduce_none,
+ 1, 142, :_reduce_none,
+ 2, 142, :_reduce_none,
+ 0, 185, :_reduce_496 ]
+
+racc_reduce_n = 497
+
+racc_shift_n = 894
+
+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,
+ :kRETURN => 28,
+ :kYIELD => 29,
+ :kSUPER => 30,
+ :kSELF => 31,
+ :kNIL => 32,
+ :kTRUE => 33,
+ :kFALSE => 34,
+ :kAND => 35,
+ :kOR => 36,
+ :kNOT => 37,
+ :kIF_MOD => 38,
+ :kUNLESS_MOD => 39,
+ :kWHILE_MOD => 40,
+ :kUNTIL_MOD => 41,
+ :kRESCUE_MOD => 42,
+ :kALIAS => 43,
+ :kDEFINED => 44,
+ :klBEGIN => 45,
+ :klEND => 46,
+ :k__LINE__ => 47,
+ :k__FILE__ => 48,
+ :tIDENTIFIER => 49,
+ :tFID => 50,
+ :tGVAR => 51,
+ :tIVAR => 52,
+ :tCONSTANT => 53,
+ :tCVAR => 54,
+ :tNTH_REF => 55,
+ :tBACK_REF => 56,
+ :tSTRING_CONTENT => 57,
+ :tINTEGER => 58,
+ :tFLOAT => 59,
+ :tREGEXP_END => 60,
+ :tUPLUS => 61,
+ :tUMINUS => 62,
+ :tUMINUS_NUM => 63,
+ :tPOW => 64,
+ :tCMP => 65,
+ :tEQ => 66,
+ :tEQQ => 67,
+ :tNEQ => 68,
+ :tGEQ => 69,
+ :tLEQ => 70,
+ :tANDOP => 71,
+ :tOROP => 72,
+ :tMATCH => 73,
+ :tNMATCH => 74,
+ :tDOT => 75,
+ :tDOT2 => 76,
+ :tDOT3 => 77,
+ :tAREF => 78,
+ :tASET => 79,
+ :tLSHFT => 80,
+ :tRSHFT => 81,
+ :tCOLON2 => 82,
+ :tCOLON3 => 83,
+ :tOP_ASGN => 84,
+ :tASSOC => 85,
+ :tLPAREN => 86,
+ :tLPAREN2 => 87,
+ :tRPAREN => 88,
+ :tLPAREN_ARG => 89,
+ :tLBRACK => 90,
+ :tLBRACK2 => 91,
+ :tRBRACK => 92,
+ :tLBRACE => 93,
+ :tLBRACE_ARG => 94,
+ :tSTAR => 95,
+ :tSTAR2 => 96,
+ :tAMPER => 97,
+ :tAMPER2 => 98,
+ :tTILDE => 99,
+ :tPERCENT => 100,
+ :tDIVIDE => 101,
+ :tPLUS => 102,
+ :tMINUS => 103,
+ :tLT => 104,
+ :tGT => 105,
+ :tPIPE => 106,
+ :tBANG => 107,
+ :tCARET => 108,
+ :tLCURLY => 109,
+ :tRCURLY => 110,
+ :tBACK_REF2 => 111,
+ :tSYMBEG => 112,
+ :tSTRING_BEG => 113,
+ :tXSTRING_BEG => 114,
+ :tREGEXP_BEG => 115,
+ :tWORDS_BEG => 116,
+ :tQWORDS_BEG => 117,
+ :tSTRING_DBEG => 118,
+ :tSTRING_DVAR => 119,
+ :tSTRING_END => 120,
+ :tSTRING => 121,
+ :tSYMBOL => 122,
+ :tREGEXP_OPT => 123,
+ :tNL => 124,
+ :tEH => 125,
+ :tCOLON => 126,
+ :tCOMMA => 127,
+ :tSPACE => 128,
+ :tSEMI => 129,
+ :tEQL => 130,
+ :tLOWEST => 131 }
+
+racc_nt_base = 132
+
+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",
+ "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__",
+ "tIDENTIFIER",
+ "tFID",
+ "tGVAR",
+ "tIVAR",
+ "tCONSTANT",
+ "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",
+ "tPLUS",
+ "tMINUS",
+ "tLT",
+ "tGT",
+ "tPIPE",
+ "tBANG",
+ "tCARET",
+ "tLCURLY",
+ "tRCURLY",
+ "tBACK_REF2",
+ "tSYMBEG",
+ "tSTRING_BEG",
+ "tXSTRING_BEG",
+ "tREGEXP_BEG",
+ "tWORDS_BEG",
+ "tQWORDS_BEG",
+ "tSTRING_DBEG",
+ "tSTRING_DVAR",
+ "tSTRING_END",
+ "tSTRING",
+ "tSYMBOL",
+ "tREGEXP_OPT",
+ "tNL",
+ "tEH",
+ "tCOLON",
+ "tCOMMA",
+ "tSPACE",
+ "tSEMI",
+ "tEQL",
+ "tLOWEST",
+ "$start",
+ "program",
+ "compstmt",
+ "bodystmt",
+ "opt_rescue",
+ "opt_else",
+ "opt_ensure",
+ "stmts",
+ "opt_terms",
+ "stmt",
+ "terms",
+ "fitem",
+ "undef_list",
+ "expr_value",
+ "lhs",
+ "command_call",
+ "mlhs",
+ "var_lhs",
+ "primary_value",
+ "aref_args",
+ "backref",
+ "mrhs",
+ "arg_value",
+ "expr",
+ "@1",
+ "arg",
+ "command",
+ "block_command",
+ "call_args",
+ "block_call",
+ "operation2",
+ "command_args",
+ "cmd_brace_block",
+ "opt_block_var",
+ "@2",
+ "operation",
+ "mlhs_basic",
+ "mlhs_entry",
+ "mlhs_head",
+ "mlhs_item",
+ "mlhs_node",
+ "variable",
+ "cname",
+ "cpath",
+ "fname",
+ "op",
+ "reswords",
+ "fsym",
+ "symbol",
+ "dsym",
+ "@3",
+ "opt_nl",
+ "primary",
+ "none",
+ "args",
+ "trailer",
+ "assocs",
+ "paren_args",
+ "opt_paren_args",
+ "opt_block_arg",
+ "block_arg",
+ "call_args2",
+ "open_args",
+ "@4",
+ "@5",
+ "@6",
+ "literal",
+ "strings",
+ "xstring",
+ "regexp",
+ "words",
+ "qwords",
+ "var_ref",
+ "assoc_list",
+ "brace_block",
+ "method_call",
+ "then",
+ "if_tail",
+ "do",
+ "case_body",
+ "for_var",
+ "superclass",
+ "term",
+ "f_arglist",
+ "singleton",
+ "dot_or_colon",
+ "@7",
+ "@8",
+ "@9",
+ "@10",
+ "@11",
+ "@12",
+ "@13",
+ "@14",
+ "@15",
+ "@16",
+ "@17",
+ "@18",
+ "@19",
+ "block_par",
+ "block_var",
+ "do_block",
+ "@20",
+ "operation3",
+ "@21",
+ "@22",
+ "when_args",
+ "cases",
+ "exc_list",
+ "exc_var",
+ "numeric",
+ "string",
+ "string1",
+ "string_contents",
+ "xstring_contents",
+ "word_list",
+ "word",
+ "string_content",
+ "qword_list",
+ "string_dvar",
+ "@23",
+ "f_args",
+ "f_arg",
+ "f_optarg",
+ "f_rest_arg",
+ "opt_f_block_arg",
+ "f_block_arg",
+ "f_norm_arg",
+ "f_opt",
+ "restarg_mark",
+ "blkarg_mark",
+ "assoc" ]
+
+Racc_debug_parser = false
+
+##### State transition tables end #####
+
+# reduce 0 omitted
+
+module_eval(<<'.,.,', 'ruby18.y', 73)
+ def _reduce_1(val, _values, result)
+ result = val[0]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 78)
+ def _reduce_2(val, _values, result)
+ rescue_bodies = val[1]
+ else_t, else_ = val[2]
+ ensure_t, ensure_ = val[3]
+
+ if rescue_bodies.empty? && !else_.nil?
+ diagnostic :warning, :useless_else, nil, else_t
+ end
+
+ result = @builder.begin_body(val[0],
+ rescue_bodies,
+ else_t, else_,
+ ensure_t, ensure_)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 94)
+ def _reduce_3(val, _values, result)
+ result = @builder.compstmt(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 99)
+ def _reduce_4(val, _values, result)
+ result = []
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 103)
+ def _reduce_5(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 107)
+ def _reduce_6(val, _values, result)
+ result = [ val[1] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 111)
+ def _reduce_7(val, _values, result)
+ result = val[0] << val[2]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 116)
+ def _reduce_8(val, _values, result)
+ @lexer.state = :expr_fname
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 120)
+ def _reduce_9(val, _values, result)
+ result = @builder.alias(val[0], val[1], val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 124)
+ def _reduce_10(val, _values, result)
+ result = @builder.alias(val[0],
+ @builder.gvar(val[1]),
+ @builder.gvar(val[2]))
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 130)
+ def _reduce_11(val, _values, result)
+ result = @builder.alias(val[0],
+ @builder.gvar(val[1]),
+ @builder.back_ref(val[2]))
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 136)
+ def _reduce_12(val, _values, result)
+ diagnostic :error, :nth_ref_alias, nil, val[2]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 140)
+ def _reduce_13(val, _values, result)
+ result = @builder.undef_method(val[0], val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 144)
+ def _reduce_14(val, _values, result)
+ result = @builder.condition_mod(val[0], nil,
+ val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 149)
+ def _reduce_15(val, _values, result)
+ result = @builder.condition_mod(nil, val[0],
+ val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 154)
+ def _reduce_16(val, _values, result)
+ result = @builder.loop_mod(:while, val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 158)
+ def _reduce_17(val, _values, result)
+ result = @builder.loop_mod(:until, val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 162)
+ def _reduce_18(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(<<'.,.,', 'ruby18.y', 170)
+ def _reduce_19(val, _values, result)
+ if in_def?
+ diagnostic :error, :begin_in_method, nil, val[0]
+ end
+
+ result = @builder.preexe(val[0], val[1], val[2], val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 178)
+ def _reduce_20(val, _values, result)
+ result = @builder.postexe(val[0], val[1], val[2], val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 182)
+ def _reduce_21(val, _values, result)
+ result = @builder.assign(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 186)
+ def _reduce_22(val, _values, result)
+ result = @builder.multi_assign(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 190)
+ def _reduce_23(val, _values, result)
+ result = @builder.op_assign(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 194)
+ def _reduce_24(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(<<'.,.,', 'ruby18.y', 201)
+ def _reduce_25(val, _values, result)
+ result = @builder.op_assign(
+ @builder.call_method(
+ val[0], val[1], val[2]),
+ val[3], val[4])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 208)
+ def _reduce_26(val, _values, result)
+ result = @builder.op_assign(
+ @builder.call_method(
+ val[0], val[1], val[2]),
+ val[3], val[4])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 215)
+ def _reduce_27(val, _values, result)
+ result = @builder.op_assign(
+ @builder.call_method(
+ val[0], val[1], val[2]),
+ val[3], val[4])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 222)
+ def _reduce_28(val, _values, result)
+ @builder.op_assign(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 226)
+ def _reduce_29(val, _values, result)
+ result = @builder.assign(val[0], val[1],
+ @builder.array(nil, val[2], nil))
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 231)
+ def _reduce_30(val, _values, result)
+ result = @builder.multi_assign(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 235)
+ def _reduce_31(val, _values, result)
+ result = @builder.multi_assign(val[0], val[1],
+ @builder.array(nil, val[2], nil))
+
+ result
+ end
+.,.,
+
+# reduce 32 omitted
+
+# reduce 33 omitted
+
+module_eval(<<'.,.,', 'ruby18.y', 243)
+ def _reduce_34(val, _values, result)
+ result = @builder.logical_op(:and, val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 247)
+ def _reduce_35(val, _values, result)
+ result = @builder.logical_op(:or, val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 251)
+ def _reduce_36(val, _values, result)
+ result = @builder.not_op(val[0], nil, val[1], nil)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 255)
+ def _reduce_37(val, _values, result)
+ result = @builder.not_op(val[0], nil, val[1], nil)
+
+ result
+ end
+.,.,
+
+# reduce 38 omitted
+
+# reduce 39 omitted
+
+# reduce 40 omitted
+
+# reduce 41 omitted
+
+module_eval(<<'.,.,', 'ruby18.y', 265)
+ def _reduce_42(val, _values, result)
+ result = @builder.keyword_cmd(:return, val[0],
+ nil, val[1], nil)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 270)
+ def _reduce_43(val, _values, result)
+ result = @builder.keyword_cmd(:break, val[0],
+ nil, val[1], nil)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 275)
+ def _reduce_44(val, _values, result)
+ result = @builder.keyword_cmd(:next, val[0],
+ nil, val[1], nil)
+
+ result
+ end
+.,.,
+
+# reduce 45 omitted
+
+module_eval(<<'.,.,', 'ruby18.y', 282)
+ def _reduce_46(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(<<'.,.,', 'ruby18.y', 288)
+ def _reduce_47(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(<<'.,.,', 'ruby18.y', 295)
+ def _reduce_48(val, _values, result)
+ @static_env.extend_dynamic
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 299)
+ def _reduce_49(val, _values, result)
+ result = [ val[0], val[2], val[3], val[4] ]
+
+ @static_env.unextend
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 306)
+ def _reduce_50(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(<<'.,.,', 'ruby18.y', 312)
+ def _reduce_51(val, _values, result)
+ lparen_t, args, rparen_t = val[1]
+ method_call = @builder.call_method(nil, nil, val[0],
+ lparen_t, args, rparen_t)
+
+ begin_t, block_args, body, end_t = val[2]
+ result = @builder.block(method_call,
+ begin_t, block_args, body, end_t)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 322)
+ def _reduce_52(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(<<'.,.,', 'ruby18.y', 329)
+ def _reduce_53(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, block_args, body, end_t = val[4]
+ result = @builder.block(method_call,
+ begin_t, block_args, body, end_t)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 339)
+ def _reduce_54(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(<<'.,.,', 'ruby18.y', 345)
+ def _reduce_55(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, block_args, body, end_t = val[4]
+ result = @builder.block(method_call,
+ begin_t, block_args, body, end_t)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 355)
+ def _reduce_56(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(<<'.,.,', 'ruby18.y', 361)
+ def _reduce_57(val, _values, result)
+ lparen_t, args, rparen_t = val[1]
+ result = @builder.keyword_cmd(:yield, val[0],
+ lparen_t, args, rparen_t)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 368)
+ def _reduce_58(val, _values, result)
+ result = @builder.multi_lhs(nil, val[0], nil)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 372)
+ def _reduce_59(val, _values, result)
+ result = @builder.begin(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 377)
+ def _reduce_60(val, _values, result)
+ result = @builder.multi_lhs(nil, val[0], nil)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 381)
+ def _reduce_61(val, _values, result)
+ result = @builder.multi_lhs(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 386)
+ def _reduce_62(val, _values, result)
+ result = val[0]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 390)
+ def _reduce_63(val, _values, result)
+ result = val[0] << val[1]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 394)
+ def _reduce_64(val, _values, result)
+ result = val[0] << @builder.splat(val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 398)
+ def _reduce_65(val, _values, result)
+ result = val[0] << @builder.splat(val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 402)
+ def _reduce_66(val, _values, result)
+ result = [ @builder.splat(val[0], val[1]) ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 406)
+ def _reduce_67(val, _values, result)
+ result = [ @builder.splat(val[0]) ]
+
+ result
+ end
+.,.,
+
+# reduce 68 omitted
+
+module_eval(<<'.,.,', 'ruby18.y', 412)
+ def _reduce_69(val, _values, result)
+ result = @builder.begin(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 417)
+ def _reduce_70(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 421)
+ def _reduce_71(val, _values, result)
+ result = val[0] << val[1]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 426)
+ def _reduce_72(val, _values, result)
+ result = @builder.assignable(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 430)
+ def _reduce_73(val, _values, result)
+ result = @builder.index_asgn(val[0], val[1], val[2], val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 434)
+ def _reduce_74(val, _values, result)
+ result = @builder.attr_asgn(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 438)
+ def _reduce_75(val, _values, result)
+ result = @builder.attr_asgn(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 442)
+ def _reduce_76(val, _values, result)
+ result = @builder.attr_asgn(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 446)
+ def _reduce_77(val, _values, result)
+ result = @builder.assignable(
+ @builder.const_fetch(val[0], val[1], val[2]))
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 451)
+ def _reduce_78(val, _values, result)
+ result = @builder.assignable(
+ @builder.const_global(val[0], val[1]))
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 456)
+ def _reduce_79(val, _values, result)
+ result = @builder.assignable(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 461)
+ def _reduce_80(val, _values, result)
+ result = @builder.assignable(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 465)
+ def _reduce_81(val, _values, result)
+ result = @builder.index_asgn(val[0], val[1], val[2], val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 469)
+ def _reduce_82(val, _values, result)
+ result = @builder.attr_asgn(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 473)
+ def _reduce_83(val, _values, result)
+ result = @builder.attr_asgn(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 477)
+ def _reduce_84(val, _values, result)
+ result = @builder.attr_asgn(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 481)
+ def _reduce_85(val, _values, result)
+ result = @builder.assignable(
+ @builder.const_fetch(val[0], val[1], val[2]))
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 486)
+ def _reduce_86(val, _values, result)
+ result = @builder.assignable(
+ @builder.const_global(val[0], val[1]))
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 491)
+ def _reduce_87(val, _values, result)
+ result = @builder.assignable(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 496)
+ def _reduce_88(val, _values, result)
+ diagnostic :error, :module_name_const, nil, val[0]
+
+ result
+ end
+.,.,
+
+# reduce 89 omitted
+
+module_eval(<<'.,.,', 'ruby18.y', 502)
+ def _reduce_90(val, _values, result)
+ result = @builder.const_global(val[0], val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 506)
+ def _reduce_91(val, _values, result)
+ result = @builder.const(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 510)
+ def _reduce_92(val, _values, result)
+ result = @builder.const_fetch(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+# reduce 93 omitted
+
+# reduce 94 omitted
+
+# reduce 95 omitted
+
+# reduce 96 omitted
+
+# reduce 97 omitted
+
+module_eval(<<'.,.,', 'ruby18.y', 519)
+ def _reduce_98(val, _values, result)
+ result = @builder.symbol(val[0])
+
+ result
+ end
+.,.,
+
+# reduce 99 omitted
+
+# reduce 100 omitted
+
+# reduce 101 omitted
+
+module_eval(<<'.,.,', 'ruby18.y', 528)
+ def _reduce_102(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 532)
+ def _reduce_103(val, _values, result)
+ @lexer.state = :expr_fname
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 536)
+ def _reduce_104(val, _values, result)
+ result = val[0] << val[3]
+
+ result
+ end
+.,.,
+
+# reduce 105 omitted
+
+# reduce 106 omitted
+
+# reduce 107 omitted
+
+# reduce 108 omitted
+
+# reduce 109 omitted
+
+# reduce 110 omitted
+
+# reduce 111 omitted
+
+# reduce 112 omitted
+
+# reduce 113 omitted
+
+# reduce 114 omitted
+
+# reduce 115 omitted
+
+# reduce 116 omitted
+
+# reduce 117 omitted
+
+# reduce 118 omitted
+
+# reduce 119 omitted
+
+# reduce 120 omitted
+
+# reduce 121 omitted
+
+# reduce 122 omitted
+
+# reduce 123 omitted
+
+# reduce 124 omitted
+
+# reduce 125 omitted
+
+# reduce 126 omitted
+
+# reduce 127 omitted
+
+# reduce 128 omitted
+
+# reduce 129 omitted
+
+# reduce 130 omitted
+
+# reduce 131 omitted
+
+# reduce 132 omitted
+
+# reduce 133 omitted
+
+# reduce 134 omitted
+
+# reduce 135 omitted
+
+# reduce 136 omitted
+
+# reduce 137 omitted
+
+# reduce 138 omitted
+
+# reduce 139 omitted
+
+# reduce 140 omitted
+
+# reduce 141 omitted
+
+# reduce 142 omitted
+
+# reduce 143 omitted
+
+# reduce 144 omitted
+
+# reduce 145 omitted
+
+# reduce 146 omitted
+
+# reduce 147 omitted
+
+# reduce 148 omitted
+
+# reduce 149 omitted
+
+# reduce 150 omitted
+
+# reduce 151 omitted
+
+# reduce 152 omitted
+
+# reduce 153 omitted
+
+# reduce 154 omitted
+
+# reduce 155 omitted
+
+# reduce 156 omitted
+
+# reduce 157 omitted
+
+# reduce 158 omitted
+
+# reduce 159 omitted
+
+# reduce 160 omitted
+
+# reduce 161 omitted
+
+# reduce 162 omitted
+
+# reduce 163 omitted
+
+# reduce 164 omitted
+
+# reduce 165 omitted
+
+# reduce 166 omitted
+
+# reduce 167 omitted
+
+# reduce 168 omitted
+
+# reduce 169 omitted
+
+# reduce 170 omitted
+
+module_eval(<<'.,.,', 'ruby18.y', 555)
+ def _reduce_171(val, _values, result)
+ result = @builder.assign(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 559)
+ def _reduce_172(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(<<'.,.,', 'ruby18.y', 569)
+ def _reduce_173(val, _values, result)
+ result = @builder.op_assign(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 573)
+ def _reduce_174(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(<<'.,.,', 'ruby18.y', 580)
+ def _reduce_175(val, _values, result)
+ result = @builder.op_assign(
+ @builder.call_method(
+ val[0], val[1], val[2]),
+ val[3], val[4])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 587)
+ def _reduce_176(val, _values, result)
+ result = @builder.op_assign(
+ @builder.call_method(
+ val[0], val[1], val[2]),
+ val[3], val[4])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 594)
+ def _reduce_177(val, _values, result)
+ result = @builder.op_assign(
+ @builder.call_method(
+ val[0], val[1], val[2]),
+ val[3], val[4])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 601)
+ def _reduce_178(val, _values, result)
+ diagnostic :error, :dynamic_const, nil, val[2], [ val[3] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 605)
+ def _reduce_179(val, _values, result)
+ diagnostic :error, :dynamic_const, nil, val[1], [ val[2] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 609)
+ def _reduce_180(val, _values, result)
+ result = @builder.op_assign(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 613)
+ def _reduce_181(val, _values, result)
+ result = @builder.range_inclusive(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 617)
+ def _reduce_182(val, _values, result)
+ result = @builder.range_exclusive(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 621)
+ def _reduce_183(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 625)
+ def _reduce_184(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 629)
+ def _reduce_185(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 633)
+ def _reduce_186(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 637)
+ def _reduce_187(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 641)
+ def _reduce_188(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 645)
+ def _reduce_189(val, _values, result)
+ result = @builder.unary_op(val[0],
+ @builder.binary_op(
+ @builder.integer(val[1]),
+ val[2], val[3]))
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 652)
+ def _reduce_190(val, _values, result)
+ result = @builder.unary_op(val[0],
+ @builder.binary_op(
+ @builder.float(val[1]),
+ val[2], val[3]))
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 659)
+ def _reduce_191(val, _values, result)
+ result = @builder.unary_op(val[0], val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 663)
+ def _reduce_192(val, _values, result)
+ result = @builder.unary_op(val[0], val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 667)
+ def _reduce_193(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 671)
+ def _reduce_194(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 675)
+ def _reduce_195(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 679)
+ def _reduce_196(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 683)
+ def _reduce_197(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 687)
+ def _reduce_198(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 691)
+ def _reduce_199(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 695)
+ def _reduce_200(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 699)
+ def _reduce_201(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 703)
+ def _reduce_202(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 707)
+ def _reduce_203(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 711)
+ def _reduce_204(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 715)
+ def _reduce_205(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 719)
+ def _reduce_206(val, _values, result)
+ result = @builder.not_op(val[0], nil, val[1], nil)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 723)
+ def _reduce_207(val, _values, result)
+ result = @builder.unary_op(val[0], val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 727)
+ def _reduce_208(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 731)
+ def _reduce_209(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 735)
+ def _reduce_210(val, _values, result)
+ result = @builder.logical_op(:and, val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 739)
+ def _reduce_211(val, _values, result)
+ result = @builder.logical_op(:or, val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 743)
+ def _reduce_212(val, _values, result)
+ result = @builder.keyword_cmd(:defined?, val[0], nil, [ val[2] ], nil)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 747)
+ def _reduce_213(val, _values, result)
+ result = @builder.ternary(val[0], val[1],
+ val[2], val[3], val[4])
+
+ result
+ end
+.,.,
+
+# reduce 214 omitted
+
+# reduce 215 omitted
+
+# reduce 216 omitted
+
+module_eval(<<'.,.,', 'ruby18.y', 757)
+ def _reduce_217(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 761)
+ def _reduce_218(val, _values, result)
+ result = val[0]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 765)
+ def _reduce_219(val, _values, result)
+ result = val[0] << @builder.splat(val[2], val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 769)
+ def _reduce_220(val, _values, result)
+ result = [ @builder.associate(nil, val[0], nil) ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 773)
+ def _reduce_221(val, _values, result)
+ result = [ @builder.splat(val[0], val[1]) ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 778)
+ def _reduce_222(val, _values, result)
+ result = [ val[0], [], val[2] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 782)
+ def _reduce_223(val, _values, result)
+ result = [ val[0], val[1], val[3] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 786)
+ def _reduce_224(val, _values, result)
+ result = [ val[0], [ val[1] ], val[3] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 790)
+ def _reduce_225(val, _values, result)
+ result = [ val[0], val[1] << val[3], val[5] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 795)
+ def _reduce_226(val, _values, result)
+ result = [ nil, [], nil ]
+
+ result
+ end
+.,.,
+
+# reduce 227 omitted
+
+module_eval(<<'.,.,', 'ruby18.y', 801)
+ def _reduce_228(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 805)
+ def _reduce_229(val, _values, result)
+ result = val[0].concat(val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 809)
+ def _reduce_230(val, _values, result)
+ result = val[0].concat(
+ [ @builder.splat(val[2], val[3]),
+ *val[4] ])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 815)
+ def _reduce_231(val, _values, result)
+ result = [ @builder.associate(nil, val[0], nil),
+ *val[1] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 820)
+ def _reduce_232(val, _values, result)
+ result = [ @builder.associate(nil, val[0], nil),
+ @builder.splat(val[2], val[3]),
+ *val[4] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 826)
+ def _reduce_233(val, _values, result)
+ result = val[0].concat(
+ [ @builder.associate(nil, val[2], nil),
+ *val[3] ])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 832)
+ def _reduce_234(val, _values, result)
+ result = val[0].concat(
+ [ @builder.associate(nil, val[2], nil),
+ @builder.splat(val[4], val[5]),
+ *val[6] ])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 839)
+ def _reduce_235(val, _values, result)
+ result = [ @builder.splat(val[0], val[1]),
+ *val[2] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 844)
+ def _reduce_236(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 849)
+ def _reduce_237(val, _values, result)
+ result = [ val[0], *val[2].concat(val[3]) ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 853)
+ def _reduce_238(val, _values, result)
+ result = [ val[0], val[2] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 857)
+ def _reduce_239(val, _values, result)
+ result = [ val[0],
+ @builder.splat(val[2], val[3]),
+ *val[4] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 863)
+ def _reduce_240(val, _values, result)
+ result = [ val[0],
+ *val[2].
+ push(@builder.splat(val[4], val[5])).
+ concat(val[6]) ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 870)
+ def _reduce_241(val, _values, result)
+ result = [ @builder.associate(nil, val[0], nil),
+ *val[1] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 875)
+ def _reduce_242(val, _values, result)
+ result = [ @builder.associate(nil, val[0], nil),
+ @builder.splat(val[2], val[3]),
+ *val[4] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 881)
+ def _reduce_243(val, _values, result)
+ result = [ val[0],
+ @builder.associate(nil, val[2], nil),
+ *val[3] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 887)
+ def _reduce_244(val, _values, result)
+ result = [ val[0],
+ *val[2].
+ push(@builder.associate(nil, val[4], nil)).
+ concat(val[5]) ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 894)
+ def _reduce_245(val, _values, result)
+ result = [ val[0],
+ @builder.associate(nil, val[2], nil),
+ @builder.splat(val[4], val[5]),
+ *val[6] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 901)
+ def _reduce_246(val, _values, result)
+ result = [ val[0],
+ *val[2].
+ push(@builder.associate(nil, val[4], nil)).
+ push(@builder.splat(val[6], val[7])).
+ concat(val[8]) ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 909)
+ def _reduce_247(val, _values, result)
+ result = [ @builder.splat(val[0], val[1]),
+ *val[2] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 914)
+ def _reduce_248(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 918)
+ def _reduce_249(val, _values, result)
+ result = @lexer.cmdarg.dup
+ @lexer.cmdarg.push(true)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 923)
+ def _reduce_250(val, _values, result)
+ @lexer.cmdarg = val[0]
+
+ result = val[1]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 930)
+ def _reduce_251(val, _values, result)
+ result = [ nil, val[0], nil ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 934)
+ def _reduce_252(val, _values, result)
+ @lexer.state = :expr_endarg
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 938)
+ def _reduce_253(val, _values, result)
+ result = [ val[0], [], val[2] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 942)
+ def _reduce_254(val, _values, result)
+ @lexer.state = :expr_endarg
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 946)
+ def _reduce_255(val, _values, result)
+ result = [ val[0], val[1], val[3] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 951)
+ def _reduce_256(val, _values, result)
+ result = @builder.block_pass(val[0], val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 956)
+ def _reduce_257(val, _values, result)
+ result = [ val[1] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 960)
+ def _reduce_258(val, _values, result)
+ result = []
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 965)
+ def _reduce_259(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 969)
+ def _reduce_260(val, _values, result)
+ result = val[0] << val[2]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 974)
+ def _reduce_261(val, _values, result)
+ result = val[0] << val[2]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 978)
+ def _reduce_262(val, _values, result)
+ result = val[0] << @builder.splat(val[2], val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 982)
+ def _reduce_263(val, _values, result)
+ result = [ @builder.splat(val[0], val[1]) ]
+
+ result
+ end
+.,.,
+
+# reduce 264 omitted
+
+# reduce 265 omitted
+
+# reduce 266 omitted
+
+# reduce 267 omitted
+
+# reduce 268 omitted
+
+# reduce 269 omitted
+
+# reduce 270 omitted
+
+# reduce 271 omitted
+
+module_eval(<<'.,.,', 'ruby18.y', 995)
+ def _reduce_272(val, _values, result)
+ result = @builder.call_method(nil, nil, val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 999)
+ def _reduce_273(val, _values, result)
+ result = @builder.begin_keyword(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1003)
+ def _reduce_274(val, _values, result)
+ @lexer.state = :expr_endarg
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1007)
+ def _reduce_275(val, _values, result)
+ result = @builder.begin(val[0], val[1], val[4])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1011)
+ def _reduce_276(val, _values, result)
+ result = @builder.begin(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1015)
+ def _reduce_277(val, _values, result)
+ result = @builder.const_fetch(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1019)
+ def _reduce_278(val, _values, result)
+ result = @builder.const_global(val[0], val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1023)
+ def _reduce_279(val, _values, result)
+ result = @builder.index(val[0], val[1], val[2], val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1027)
+ def _reduce_280(val, _values, result)
+ result = @builder.array(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1031)
+ def _reduce_281(val, _values, result)
+ result = @builder.associate(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1035)
+ def _reduce_282(val, _values, result)
+ result = @builder.keyword_cmd(:return, val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1039)
+ def _reduce_283(val, _values, result)
+ result = @builder.keyword_cmd(:yield, val[0], val[1], val[2], val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1043)
+ def _reduce_284(val, _values, result)
+ result = @builder.keyword_cmd(:yield, val[0], val[1], [], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1047)
+ def _reduce_285(val, _values, result)
+ result = @builder.keyword_cmd(:yield, val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1051)
+ def _reduce_286(val, _values, result)
+ result = @builder.keyword_cmd(:defined?, val[0],
+ val[2], [ val[3] ], val[4])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1056)
+ def _reduce_287(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 288 omitted
+
+module_eval(<<'.,.,', 'ruby18.y', 1065)
+ def _reduce_289(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(<<'.,.,', 'ruby18.y', 1071)
+ def _reduce_290(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(<<'.,.,', 'ruby18.y', 1078)
+ def _reduce_291(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(<<'.,.,', 'ruby18.y', 1085)
+ def _reduce_292(val, _values, result)
+ @lexer.cond.push(true)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1089)
+ def _reduce_293(val, _values, result)
+ @lexer.cond.pop
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1093)
+ def _reduce_294(val, _values, result)
+ result = @builder.loop(:while, val[0], val[2], val[3],
+ val[5], val[6])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1098)
+ def _reduce_295(val, _values, result)
+ @lexer.cond.push(true)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1102)
+ def _reduce_296(val, _values, result)
+ @lexer.cond.pop
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1106)
+ def _reduce_297(val, _values, result)
+ result = @builder.loop(:until, val[0], val[2], val[3],
+ val[5], val[6])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1111)
+ def _reduce_298(val, _values, result)
+ when_bodies = val[3][0..-2]
+ else_t, else_body = val[3][-1]
+
+ result = @builder.case(val[0], val[1],
+ when_bodies, else_t, else_body,
+ val[4])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1120)
+ def _reduce_299(val, _values, result)
+ when_bodies = val[2][0..-2]
+ else_t, else_body = val[2][-1]
+
+ result = @builder.case(val[0], nil,
+ when_bodies, else_t, else_body,
+ val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1129)
+ def _reduce_300(val, _values, result)
+ result = @builder.case(val[0], nil,
+ [], val[2], val[3],
+ val[4])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1135)
+ def _reduce_301(val, _values, result)
+ @lexer.cond.push(true)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1139)
+ def _reduce_302(val, _values, result)
+ @lexer.cond.pop
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1143)
+ def _reduce_303(val, _values, result)
+ result = @builder.for(val[0], val[1],
+ val[2], val[4],
+ val[5], val[7], val[8])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1149)
+ def _reduce_304(val, _values, result)
+ @static_env.extend_static
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1153)
+ def _reduce_305(val, _values, result)
+ if in_def?
+ diagnostic :error, :class_in_def, nil, val[0]
+ end
+
+ lt_t, superclass = val[2]
+ result = @builder.def_class(val[0], val[1],
+ lt_t, superclass,
+ val[4], val[5])
+
+ @static_env.unextend
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1166)
+ def _reduce_306(val, _values, result)
+ result = @def_level
+ @def_level = 0
+
+ @static_env.extend_static
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1173)
+ def _reduce_307(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(<<'.,.,', 'ruby18.y', 1182)
+ def _reduce_308(val, _values, result)
+ @static_env.extend_static
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1186)
+ def _reduce_309(val, _values, result)
+ if in_def?
+ diagnostic :error, :module_in_def, nil, val[0]
+ end
+
+ result = @builder.def_module(val[0], val[1],
+ val[3], val[4])
+
+ @static_env.unextend
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1197)
+ def _reduce_310(val, _values, result)
+ @def_level += 1
+ @static_env.extend_static
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1202)
+ def _reduce_311(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(<<'.,.,', 'ruby18.y', 1210)
+ def _reduce_312(val, _values, result)
+ @lexer.state = :expr_fname
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1214)
+ def _reduce_313(val, _values, result)
+ @def_level += 1
+ @static_env.extend_static
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1219)
+ def _reduce_314(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(<<'.,.,', 'ruby18.y', 1227)
+ def _reduce_315(val, _values, result)
+ result = @builder.keyword_cmd(:break, val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1231)
+ def _reduce_316(val, _values, result)
+ result = @builder.keyword_cmd(:next, val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1235)
+ def _reduce_317(val, _values, result)
+ result = @builder.keyword_cmd(:redo, val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1239)
+ def _reduce_318(val, _values, result)
+ result = @builder.keyword_cmd(:retry, val[0])
+
+ result
+ end
+.,.,
+
+# reduce 319 omitted
+
+# reduce 320 omitted
+
+# reduce 321 omitted
+
+# reduce 322 omitted
+
+module_eval(<<'.,.,', 'ruby18.y', 1249)
+ def _reduce_323(val, _values, result)
+ result = val[1]
+
+ result
+ end
+.,.,
+
+# reduce 324 omitted
+
+# reduce 325 omitted
+
+# reduce 326 omitted
+
+# reduce 327 omitted
+
+module_eval(<<'.,.,', 'ruby18.y', 1259)
+ def _reduce_328(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 329 omitted
+
+module_eval(<<'.,.,', 'ruby18.y', 1270)
+ def _reduce_330(val, _values, result)
+ result = val
+
+ result
+ end
+.,.,
+
+# reduce 331 omitted
+
+# reduce 332 omitted
+
+module_eval(<<'.,.,', 'ruby18.y', 1278)
+ def _reduce_333(val, _values, result)
+ result = [ @builder.arg_expr(val[0]) ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1282)
+ def _reduce_334(val, _values, result)
+ result = val[0] << @builder.arg_expr(val[2])
+
+ result
+ end
+.,.,
+
+# reduce 335 omitted
+
+# reduce 336 omitted
+
+module_eval(<<'.,.,', 'ruby18.y', 1289)
+ def _reduce_337(val, _values, result)
+ result = val[0].
+ push(@builder.blockarg_expr(val[2], val[3]))
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1294)
+ def _reduce_338(val, _values, result)
+ result = val[0].
+ push(@builder.restarg_expr(val[2], val[3])).
+ push(@builder.blockarg_expr(val[5], val[6]))
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1300)
+ def _reduce_339(val, _values, result)
+ result = val[0].
+ push(@builder.restarg_expr(val[2])).
+ push(@builder.blockarg_expr(val[4], val[5]))
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1306)
+ def _reduce_340(val, _values, result)
+ result = val[0].
+ push(@builder.restarg_expr(val[2], val[3]))
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1311)
+ def _reduce_341(val, _values, result)
+ result = val[0].
+ push(@builder.restarg_expr(val[2]))
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1316)
+ def _reduce_342(val, _values, result)
+ result = [ @builder.restarg_expr(val[0], val[1]),
+ @builder.blockarg_expr(val[3], val[4]) ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1321)
+ def _reduce_343(val, _values, result)
+ result = [ @builder.restarg_expr(val[0]),
+ @builder.blockarg_expr(val[2], val[3]) ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1326)
+ def _reduce_344(val, _values, result)
+ result = [ @builder.restarg_expr(val[0], val[1]) ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1330)
+ def _reduce_345(val, _values, result)
+ result = [ @builder.restarg_expr(val[0]) ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1334)
+ def _reduce_346(val, _values, result)
+ result = [ @builder.blockarg_expr(val[0], val[1]) ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1340)
+ def _reduce_347(val, _values, result)
+ result = @builder.args(nil, [], nil)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1344)
+ def _reduce_348(val, _values, result)
+ result = @builder.args(val[0], [], val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1348)
+ def _reduce_349(val, _values, result)
+ result = @builder.args(val[0], [], val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1352)
+ def _reduce_350(val, _values, result)
+ result = @builder.args(val[0], val[1], val[2], false)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1357)
+ def _reduce_351(val, _values, result)
+ @static_env.extend_dynamic
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1361)
+ def _reduce_352(val, _values, result)
+ result = [ val[0], val[2], val[3], val[4] ]
+
+ @static_env.unextend
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1368)
+ def _reduce_353(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(<<'.,.,', 'ruby18.y', 1374)
+ def _reduce_354(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(<<'.,.,', 'ruby18.y', 1380)
+ def _reduce_355(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(<<'.,.,', 'ruby18.y', 1387)
+ def _reduce_356(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(<<'.,.,', 'ruby18.y', 1393)
+ def _reduce_357(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(<<'.,.,', 'ruby18.y', 1399)
+ def _reduce_358(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(<<'.,.,', 'ruby18.y', 1405)
+ def _reduce_359(val, _values, result)
+ result = @builder.call_method(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1409)
+ def _reduce_360(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(<<'.,.,', 'ruby18.y', 1415)
+ def _reduce_361(val, _values, result)
+ result = @builder.keyword_cmd(:zsuper, val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1420)
+ def _reduce_362(val, _values, result)
+ @static_env.extend_dynamic
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1424)
+ def _reduce_363(val, _values, result)
+ result = [ val[0], val[2], val[3], val[4] ]
+
+ @static_env.unextend
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1430)
+ def _reduce_364(val, _values, result)
+ @static_env.extend_dynamic
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1434)
+ def _reduce_365(val, _values, result)
+ result = [ val[0], val[2], val[3], val[4] ]
+
+ @static_env.unextend
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1441)
+ def _reduce_366(val, _values, result)
+ result = [ @builder.when(val[0], val[1], val[2], val[3]),
+ *val[4] ]
+
+ result
+ end
+.,.,
+
+# reduce 367 omitted
+
+module_eval(<<'.,.,', 'ruby18.y', 1448)
+ def _reduce_368(val, _values, result)
+ result = val[0] << @builder.splat(val[2], val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1452)
+ def _reduce_369(val, _values, result)
+ result = [ @builder.splat(val[0], val[1]) ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1457)
+ def _reduce_370(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+# reduce 371 omitted
+
+module_eval(<<'.,.,', 'ruby18.y', 1463)
+ def _reduce_372(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(<<'.,.,', 'ruby18.y', 1476)
+ def _reduce_373(val, _values, result)
+ result = []
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1481)
+ def _reduce_374(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+# reduce 375 omitted
+
+# reduce 376 omitted
+
+module_eval(<<'.,.,', 'ruby18.y', 1488)
+ def _reduce_377(val, _values, result)
+ result = [ val[0], val[1] ]
+
+ result
+ end
+.,.,
+
+# reduce 378 omitted
+
+module_eval(<<'.,.,', 'ruby18.y', 1494)
+ def _reduce_379(val, _values, result)
+ result = [ val[0], val[1] ]
+
+ result
+ end
+.,.,
+
+# reduce 380 omitted
+
+# reduce 381 omitted
+
+# reduce 382 omitted
+
+# reduce 383 omitted
+
+module_eval(<<'.,.,', 'ruby18.y', 1504)
+ def _reduce_384(val, _values, result)
+ result = @builder.string_compose(nil, val[0], nil)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1509)
+ def _reduce_385(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1513)
+ def _reduce_386(val, _values, result)
+ result = val[0] << val[1]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1518)
+ def _reduce_387(val, _values, result)
+ result = @builder.string_compose(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1522)
+ def _reduce_388(val, _values, result)
+ result = @builder.string(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1527)
+ def _reduce_389(val, _values, result)
+ result = @builder.xstring_compose(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1532)
+ def _reduce_390(val, _values, result)
+ opts = @builder.regexp_options(val[3])
+ result = @builder.regexp_compose(val[0], val[1], val[2], opts)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1538)
+ def _reduce_391(val, _values, result)
+ result = @builder.words_compose(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1543)
+ def _reduce_392(val, _values, result)
+ result = []
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1547)
+ def _reduce_393(val, _values, result)
+ result = val[0] << @builder.word(val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1552)
+ def _reduce_394(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1556)
+ def _reduce_395(val, _values, result)
+ result = val[0] << val[1]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1561)
+ def _reduce_396(val, _values, result)
+ result = @builder.words_compose(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1566)
+ def _reduce_397(val, _values, result)
+ result = []
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1570)
+ def _reduce_398(val, _values, result)
+ result = val[0] << @builder.string_internal(val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1575)
+ def _reduce_399(val, _values, result)
+ result = []
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1579)
+ def _reduce_400(val, _values, result)
+ result = val[0] << val[1]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1584)
+ def _reduce_401(val, _values, result)
+ result = []
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1588)
+ def _reduce_402(val, _values, result)
+ result = val[0] << val[1]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1593)
+ def _reduce_403(val, _values, result)
+ result = @builder.string_internal(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1597)
+ def _reduce_404(val, _values, result)
+ result = val[1]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1601)
+ def _reduce_405(val, _values, result)
+ @lexer.cond.push(false)
+ @lexer.cmdarg.push(false)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1606)
+ def _reduce_406(val, _values, result)
+ @lexer.cond.lexpop
+ @lexer.cmdarg.lexpop
+
+ result = @builder.begin(val[0], val[2], val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1614)
+ def _reduce_407(val, _values, result)
+ result = @builder.gvar(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1618)
+ def _reduce_408(val, _values, result)
+ result = @builder.ivar(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1622)
+ def _reduce_409(val, _values, result)
+ result = @builder.cvar(val[0])
+
+ result
+ end
+.,.,
+
+# reduce 410 omitted
+
+module_eval(<<'.,.,', 'ruby18.y', 1629)
+ def _reduce_411(val, _values, result)
+ result = @builder.symbol(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1634)
+ def _reduce_412(val, _values, result)
+ result = @builder.symbol_compose(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1639)
+ def _reduce_413(val, _values, result)
+ result = @builder.integer(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1643)
+ def _reduce_414(val, _values, result)
+ result = @builder.float(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1647)
+ def _reduce_415(val, _values, result)
+ result = @builder.negate(val[0],
+ @builder.integer(val[1]))
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1652)
+ def _reduce_416(val, _values, result)
+ result = @builder.negate(val[0],
+ @builder.float(val[1]))
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1658)
+ def _reduce_417(val, _values, result)
+ result = @builder.ident(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1662)
+ def _reduce_418(val, _values, result)
+ result = @builder.ivar(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1666)
+ def _reduce_419(val, _values, result)
+ result = @builder.gvar(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1670)
+ def _reduce_420(val, _values, result)
+ result = @builder.cvar(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1674)
+ def _reduce_421(val, _values, result)
+ result = @builder.const(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1678)
+ def _reduce_422(val, _values, result)
+ result = @builder.nil(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1682)
+ def _reduce_423(val, _values, result)
+ result = @builder.self(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1686)
+ def _reduce_424(val, _values, result)
+ result = @builder.true(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1690)
+ def _reduce_425(val, _values, result)
+ result = @builder.false(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1694)
+ def _reduce_426(val, _values, result)
+ result = @builder.__FILE__(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1698)
+ def _reduce_427(val, _values, result)
+ result = @builder.__LINE__(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1703)
+ def _reduce_428(val, _values, result)
+ result = @builder.accessible(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1708)
+ def _reduce_429(val, _values, result)
+ result = @builder.assignable(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1713)
+ def _reduce_430(val, _values, result)
+ result = @builder.nth_ref(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1717)
+ def _reduce_431(val, _values, result)
+ result = @builder.back_ref(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1722)
+ def _reduce_432(val, _values, result)
+ result = nil
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1726)
+ def _reduce_433(val, _values, result)
+ result = [ val[0], val[1] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1730)
+ def _reduce_434(val, _values, result)
+ yyerrok
+ result = nil
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1736)
+ def _reduce_435(val, _values, result)
+ result = @builder.args(val[0], val[1], val[3])
+
+ @lexer.state = :expr_beg
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1742)
+ def _reduce_436(val, _values, result)
+ result = @builder.args(nil, val[0], nil)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1747)
+ def _reduce_437(val, _values, result)
+ result = val[0].
+ concat(val[2]).
+ concat(val[4]).
+ concat(val[5])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1754)
+ def _reduce_438(val, _values, result)
+ result = val[0].
+ concat(val[2]).
+ concat(val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1760)
+ def _reduce_439(val, _values, result)
+ result = val[0].
+ concat(val[2]).
+ concat(val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1766)
+ def _reduce_440(val, _values, result)
+ result = val[0].
+ concat(val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1771)
+ def _reduce_441(val, _values, result)
+ result = val[0].
+ concat(val[2]).
+ concat(val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1777)
+ def _reduce_442(val, _values, result)
+ result = val[0].
+ concat(val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1782)
+ def _reduce_443(val, _values, result)
+ result = val[0].
+ concat(val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1787)
+ def _reduce_444(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1791)
+ def _reduce_445(val, _values, result)
+ result = []
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1796)
+ def _reduce_446(val, _values, result)
+ diagnostic :error, :argument_const, nil, val[0]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1800)
+ def _reduce_447(val, _values, result)
+ diagnostic :error, :argument_ivar, nil, val[0]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1804)
+ def _reduce_448(val, _values, result)
+ diagnostic :error, :argument_gvar, nil, val[0]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1808)
+ def _reduce_449(val, _values, result)
+ diagnostic :error, :argument_cvar, nil, val[0]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1812)
+ def _reduce_450(val, _values, result)
+ @static_env.declare val[0][0]
+
+ result = @builder.arg(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1819)
+ def _reduce_451(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1823)
+ def _reduce_452(val, _values, result)
+ result = val[0] << val[2]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1828)
+ def _reduce_453(val, _values, result)
+ @static_env.declare val[0][0]
+
+ result = @builder.optarg(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1835)
+ def _reduce_454(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1839)
+ def _reduce_455(val, _values, result)
+ result = val[0] << val[2]
+
+ result
+ end
+.,.,
+
+# reduce 456 omitted
+
+# reduce 457 omitted
+
+module_eval(<<'.,.,', 'ruby18.y', 1846)
+ def _reduce_458(val, _values, result)
+ @static_env.declare val[1][0]
+
+ result = [ @builder.restarg(val[0], val[1]) ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1852)
+ def _reduce_459(val, _values, result)
+ result = [ @builder.restarg(val[0]) ]
+
+ result
+ end
+.,.,
+
+# reduce 460 omitted
+
+# reduce 461 omitted
+
+module_eval(<<'.,.,', 'ruby18.y', 1859)
+ def _reduce_462(val, _values, result)
+ @static_env.declare val[1][0]
+
+ result = @builder.blockarg(val[0], val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1866)
+ def _reduce_463(val, _values, result)
+ result = [ val[1] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1870)
+ def _reduce_464(val, _values, result)
+ result = []
+
+ result
+ end
+.,.,
+
+# reduce 465 omitted
+
+module_eval(<<'.,.,', 'ruby18.y', 1876)
+ def _reduce_466(val, _values, result)
+ result = val[1]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1881)
+ def _reduce_467(val, _values, result)
+ result = []
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1885)
+ def _reduce_468(val, _values, result)
+ result = val[0]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1889)
+ def _reduce_469(val, _values, result)
+ result = @builder.pair_list_18(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1894)
+ def _reduce_470(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1898)
+ def _reduce_471(val, _values, result)
+ result = val[0] << val[2]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby18.y', 1903)
+ def _reduce_472(val, _values, result)
+ result = @builder.pair(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+# reduce 473 omitted
+
+# reduce 474 omitted
+
+# reduce 475 omitted
+
+# reduce 476 omitted
+
+# reduce 477 omitted
+
+# reduce 478 omitted
+
+# reduce 479 omitted
+
+# reduce 480 omitted
+
+# reduce 481 omitted
+
+# reduce 482 omitted
+
+# reduce 483 omitted
+
+# reduce 484 omitted
+
+# reduce 485 omitted
+
+# reduce 486 omitted
+
+# reduce 487 omitted
+
+# reduce 488 omitted
+
+# reduce 489 omitted
+
+# reduce 490 omitted
+
+# reduce 491 omitted
+
+module_eval(<<'.,.,', 'ruby18.y', 1916)
+ def _reduce_492(val, _values, result)
+ yyerrok
+
+ result
+ end
+.,.,
+
+# reduce 493 omitted
+
+# reduce 494 omitted
+
+# reduce 495 omitted
+
+module_eval(<<'.,.,', 'ruby18.y', 1925)
+ def _reduce_496(val, _values, result)
+ result = nil
+
+ result
+ end
+.,.,
+
+def _reduce_none(val, _values, result)
+ val[0]
+end
+
+ end # class Ruby18
+ end # module Parser