aboutsummaryrefslogtreecommitdiffstats
path: root/test/racc/regress/ruby22
diff options
context:
space:
mode:
Diffstat (limited to 'test/racc/regress/ruby22')
-rw-r--r--test/racc/regress/ruby227456
1 files changed, 7456 insertions, 0 deletions
diff --git a/test/racc/regress/ruby22 b/test/racc/regress/ruby22
new file mode 100644
index 0000000000..0c925d8948
--- /dev/null
+++ b/test/racc/regress/ruby22
@@ -0,0 +1,7456 @@
+#
+# DO NOT MODIFY!!!!
+# This file is automatically generated by Racc 1.4.14
+# from Racc grammer file "".
+#
+
+require 'racc/parser.rb'
+
+
+require 'parser'
+
+Parser.check_for_encoding_support
+
+module Parser
+ class Ruby22 < Racc::Parser
+
+module_eval(<<'...end ruby22.y/module_eval...', 'ruby22.y', 2374)
+
+ def version
+ 22
+ end
+
+ def default_encoding
+ Encoding::UTF_8
+ end
+...end ruby22.y/module_eval...
+##### State transition tables begin ###
+
+clist = [
+'-291,568,-102,-100,860,-99,951,-291,-291,-291,-490,568,-291,-291,-291',
+'217,-291,589,214,215,959,-288,214,215,214,215,-291,-291,-291,-105,-99',
+'-97,-103,837,806,268,-291,-291,610,-291,-291,-291,-291,-291,568,568',
+'-102,568,113,-100,715,-101,268,112,-83,815,218,-88,-482,113,-99,-288',
+'-98,-69,112,-482,-97,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291',
+'-291,-291,-291,-291,-93,-104,-291,-291,-291,961,773,-291,715,612,-291',
+'-101,715,-291,-291,268,-291,-575,-291,263,-291,962,-291,-291,609,-291',
+'-291,-291,-291,-291,967,-291,113,-291,-90,-91,218,112,218,113,-102,-100',
+'267,588,112,-102,-100,-291,-574,113,-291,-291,-291,-291,112,-291,-578',
+'-291,-96,267,-88,-94,-103,-578,-578,-578,113,-93,-99,-578,-578,112,-578',
+'-99,113,-93,611,-574,-91,112,647,-578,113,113,814,113,842,112,112,-101',
+'112,-89,-578,-578,-101,-578,-578,-578,-578,-578,214,215,-91,267,580',
+'-476,268,-93,581,647,-93,-95,-476,113,736,646,-490,113,112,-93,574,-92',
+'112,-578,-578,-578,-578,-578,-578,-578,-578,-578,-578,-578,-578,-578',
+'-578,692,647,-578,-578,-578,-91,631,646,-91,-491,-578,113,626,-578,647',
+'971,112,-91,-578,515,-578,973,-578,-578,-571,-578,-578,-578,-578,-578',
+'-291,-578,-578,-578,263,-97,646,-291,-291,-291,91,92,79,-291,-291,-486',
+'-291,-578,975,646,-578,-578,-486,-92,80,-578,-89,267,218,-93,977,597',
+'-101,-412,81,-98,-291,-291,-102,-291,-291,-291,-291,-291,444,-104,548',
+'-476,545,544,543,597,546,527,-476,806,529,574,548,-571,545,544,543,-476',
+'546,91,92,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291',
+'-291,-291,260,-571,-291,-291,-291,-412,630,261,93,94,-291,977,-412,-291',
+'597,599,598,595,-291,-105,-291,-412,-291,-291,-578,-291,-291,-291,-291',
+'-291,-476,-291,662,-291,771,599,598,-476,-476,-476,-412,988,-476,-476',
+'-476,749,-476,-291,833,527,-291,-291,529,-94,-476,-291,-476,-476,-476',
+'238,957,-485,-103,93,94,989,-476,-476,-485,-476,-476,-476,-476,-476',
+'770,899,625,-578,-292,599,598,608,597,113,-578,-292,899,113,112,-574',
+'-102,235,112,-578,-292,237,236,-476,-476,-476,-476,-476,-476,-476,-476',
+'-476,-476,-476,-476,-476,-476,899,-578,-476,-476,-476,-491,-476,-476',
+'564,563,-476,597,-91,-476,-476,597,-476,994,-476,-100,-476,-100,-476',
+'-476,597,-476,-476,-476,-476,-476,597,-476,-479,-476,959,-487,599,598',
+'613,-479,-479,-479,-487,121,-479,-479,-479,-476,-479,113,-476,-476,-476',
+'-476,112,-476,-479,-476,-479,-479,-479,-98,-476,210,527,-578,212,526',
+'-479,-479,211,-479,-479,-479,-479,-479,599,598,584,209,599,598,602,597',
+'218,939,747,981,388,599,598,600,-572,-575,585,599,598,595,-574,-479',
+'-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-96',
+'260,-479,-479,-479,-578,-479,-479,261,-105,-479,682,-578,-479,-479,109',
+'-479,-574,-479,756,-479,-578,-479,-479,515,-479,-479,-479,-479,-479',
+'959,-479,-479,-479,1013,599,598,604,-484,-479,-578,238,-291,527,-572',
+'-484,529,-479,-479,-291,-479,-479,-479,-479,-575,-479,-578,-479,-291',
+'837,806,1014,-479,-578,-578,-578,-90,-572,-578,-578,-578,-95,-578,235',
+'1015,-99,977,237,236,-481,-104,-578,-578,-578,-578,396,-481,-483,214',
+'215,398,397,-578,-578,-483,-578,-578,-578,-578,-578,548,-479,545,544',
+'543,576,546,548,-479,545,544,543,577,546,548,-263,545,544,543,238,546',
+'575,218,-578,-578,-578,-578,-578,-578,-578,-578,-578,-578,-578,-578',
+'-578,-578,553,701,-578,-578,-578,584,772,-578,701,218,-578,556,583,-578',
+'-578,701,-578,704,-578,218,-578,585,-578,-578,704,-578,-578,-578,-578',
+'-578,-488,-578,-578,-578,214,215,548,-488,545,544,543,238,546,238,564',
+'563,-488,-578,516,557,-578,-578,-578,-578,-489,-578,218,-578,214,215',
+'-83,-489,-101,290,69,70,71,9,57,666,-489,986,63,64,701,218,512,67,987',
+'65,66,68,30,31,72,73,520,985,238,677,263,29,28,27,101,100,102,103,741',
+'742,19,238,743,107,108,635,8,45,292,10,105,104,106,95,56,97,96,98,977',
+'99,107,108,218,91,92,682,42,43,41,238,242,247,248,249,244,246,254,255',
+'250,251,517,231,232,-281,683,252,253,518,40,685,-281,33,272,689,58,59',
+'442,692,60,-281,35,235,693,241,44,237,236,695,233,234,245,243,239,20',
+'240,697,699,509,89,79,82,83,-489,84,86,85,87,707,708,-489,709,80,88',
+'711,256,574,-240,718,-489,62,502,81,93,94,290,69,70,71,9,57,501,218',
+'-292,63,64,736,530,746,67,-292,65,66,68,30,31,72,73,531,-292,750,751',
+'-264,29,28,27,101,100,102,103,-68,498,19,757,490,488,477,635,8,45,292',
+'10,105,104,106,95,56,97,96,98,486,99,107,108,977,91,92,477,42,43,41',
+'238,242,247,248,249,244,246,254,255,250,251,-291,231,232,-488,477,252',
+'253,-291,40,217,-488,33,-575,446,58,59,-291,218,60,-488,35,235,490,241',
+'44,237,236,218,233,234,245,243,239,20,240,445,257,443,89,79,82,83,507',
+'84,86,85,87,488,490,508,799,80,88,677,256,218,637,634,506,62,263,81',
+'93,94,290,69,70,71,9,57,977,263,-334,63,64,677,238,806,67,-334,65,66',
+'68,30,31,72,73,218,-334,263,218,399,29,28,27,101,100,102,103,831,218',
+'19,806,841,218,624,620,8,45,292,10,105,104,106,95,56,97,96,98,623,99',
+'107,108,218,91,92,619,42,43,41,238,242,247,248,249,244,246,254,255,250',
+'251,-291,231,232,-281,218,252,253,-291,40,386,-281,33,-575,850,58,59',
+'-291,-263,60,-281,35,235,617,241,44,237,236,614,233,234,245,243,239',
+'20,240,-265,579,859,89,79,82,83,584,84,86,85,87,578,899,939,959,80,88',
+'218,256,317,861,862,585,62,692,81,93,94,290,69,70,71,9,57,865,867,-292',
+'63,64,869,871,218,67,-292,65,66,68,30,31,72,73,873,-292,874,877,316',
+'29,28,27,101,100,102,103,879,936,19,545,544,543,880,546,8,45,292,10',
+'105,104,106,95,56,97,96,98,677,99,107,108,882,91,92,886,42,43,41,238',
+'242,247,248,249,244,246,254,255,250,251,440,231,232,888,891,252,253',
+'441,40,692,893,33,895,897,58,59,442,899,60,899,35,235,218,241,44,237',
+'236,905,233,234,245,243,239,20,240,907,909,257,89,79,82,83,915,84,86',
+'85,87,213,918,218,922,80,88,-266,256,933,208,940,941,62,207,81,93,94',
+'290,69,70,71,9,57,206,950,,63,64,,,,67,,65,66,68,30,31,72,73,116,117',
+'118,119,120,29,28,27,101,100,102,103,,936,19,545,544,543,,546,8,45,292',
+'10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,238,242,247',
+'248,249,244,246,254,255,250,251,,231,232,,,252,253,,40,,,33,,,58,59',
+',,60,,35,235,,241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82',
+'83,,84,86,85,87,,,,,80,88,,256,,,,,62,,81,93,94,290,69,70,71,9,57,,',
+',63,64,,,,67,,65,66,68,30,31,72,73,116,117,118,119,120,29,28,27,101',
+'100,102,103,,,19,116,117,118,119,120,8,45,292,10,105,104,106,95,56,97',
+'96,98,,99,107,108,,91,92,,42,43,41,238,242,247,248,249,244,246,254,255',
+'250,251,,231,232,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237',
+'236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
+',256,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30',
+'31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104',
+'106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,238,242,247,248,249',
+'244,246,254,255,250,251,,231,232,,,252,253,,40,,,33,,,58,59,,,60,,35',
+'235,,241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86',
+'85,87,,,,,80,88,,256,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,',
+'67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45',
+'292,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,238,242',
+'247,248,249,244,246,254,255,250,251,,231,232,,,252,253,,40,,,294,,,58',
+'59,,,60,,35,235,,241,44,237,236,,233,234,245,243,239,20,240,,,,89,79',
+'82,83,,84,86,85,87,,,,,80,88,218,256,,,,,62,,81,93,94,290,69,70,71,9',
+'57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103',
+',,19,,,,,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
+',42,43,41,238,242,247,248,249,244,246,254,255,250,251,,231,232,,,252',
+'253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245,243,239',
+'20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,256,,,,,62,,81,93,94,5',
+'69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
+'100,102,103,,,19,,,,,,8,45,7,10,105,104,106,95,56,97,96,98,,99,107,108',
+',91,92,,42,43,41,238,242,247,248,249,244,246,254,255,250,251,,231,232',
+',,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245',
+'243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,256,,,,,62,,81',
+'93,94,5,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
+'27,101,100,102,103,,,19,,,,,,8,45,7,10,105,104,106,95,56,97,96,98,,99',
+'107,108,,91,92,,42,43,41,238,242,247,248,249,244,246,254,255,250,251',
+',231,232,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233',
+'234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,256,,',
+',,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73',
+',,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95,56',
+'97,96,98,,99,107,108,,91,92,,42,43,41,238,242,247,248,249,244,246,254',
+'255,250,251,,231,232,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44',
+'237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,',
+'80,88,,256,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66',
+'68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105',
+'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,238,242,247,248',
+'249,244,246,254,255,250,251,,231,232,,,252,253,,40,,,33,,,58,59,,,60',
+',35,235,,241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,',
+'84,86,85,87,,,,,80,88,,256,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63',
+'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,',
+',,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
+'41,238,242,247,248,249,244,246,254,255,250,251,,231,232,,,252,253,,40',
+',,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245,243,239,20,240',
+',,,89,79,82,83,,84,86,85,87,,,,,80,88,,256,,,,,62,,81,93,94,290,69,70',
+'71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
+'103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91',
+'92,,42,43,41,238,242,247,248,249,244,246,254,255,250,251,,231,232,,',
+'252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245,243',
+'239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,256,,,,,62,,81,93',
+'94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
+'27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97,96,98',
+',99,107,108,,91,92,,42,43,41,238,242,247,248,249,244,246,254,255,250',
+'251,,231,232,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236',
+',233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,256',
+',,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72',
+'73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95',
+'56,97,96,98,,99,107,108,,91,92,,42,43,41,238,242,247,248,249,244,246',
+'254,255,250,251,,231,232,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241',
+'44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,',
+',,,80,88,,256,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65',
+'66,68,30,31,72,73,,553,,,,29,28,27,101,100,102,103,556,548,19,545,544',
+'543,,546,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,',
+'42,43,41,238,,564,563,,,238,557,701,548,,545,544,543,,546,,904,,40,',
+',33,,,58,59,,,60,,35,235,,,44,237,236,235,233,234,,237,236,20,233,234',
+'701,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,290,69,70',
+'71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
+'103,,548,19,545,544,543,,546,8,45,292,10,105,104,106,95,56,97,96,98',
+',99,107,108,,91,92,,42,43,41,238,,,548,,545,544,543,701,546,,,,,,,252',
+'253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,701,,239',
+'20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,290',
+'69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
+'100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107',
+'108,,91,92,,42,43,41,238,,,,,,,,,,,,,,,,252,253,,40,,,33,,,58,59,,,60',
+',35,235,,241,44,237,236,,233,234,,,239,20,240,,,,89,79,82,83,,84,86',
+'85,87,,,,,80,88,,,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67',
+',65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292',
+'10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,238,242,247',
+'248,249,244,246,,,250,251,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235',
+',241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85',
+'87,,,,,80,88,,,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65',
+'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10',
+'105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,238,242,247',
+'248,249,244,246,254,255,250,251,,-597,-597,,,252,253,,40,,,33,,,58,59',
+',,60,,35,235,,241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82',
+'83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63',
+'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,',
+',,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
+'41,238,,,,,,,,,,,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44',
+'237,236,,233,234,,,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
+',,,,,,62,,81,93,94,5,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72',
+'73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,7,10,105,104,106,95',
+'56,97,96,98,,99,107,108,,91,92,,42,43,41,238,-597,-597,-597,-597,244',
+'246,,,-597,-597,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237',
+'236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
+',,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31',
+'72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106',
+'95,56,97,96,98,,99,107,108,,91,92,,42,43,41,238,242,247,248,249,244',
+'246,254,255,250,251,,-597,-597,,,252,253,,40,,,33,,,58,59,,,60,,35,235',
+',241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85',
+'87,,,,,80,88,,,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65',
+'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10',
+'105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,238,,,,,,,,',
+',,,,,,,252,253,,40,,,294,,,58,59,,,60,,35,235,,241,44,237,236,,233,234',
+',,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94',
+'290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
+'101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97,96,98,,99',
+'107,108,,91,92,,42,43,41,238,-597,-597,-597,-597,244,246,,,-597,-597',
+',,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234',
+'245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81',
+'93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
+'28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97,96',
+'98,,99,107,108,,91,92,,42,43,41,238,-597,-597,-597,-597,244,246,,,-597',
+'-597,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233',
+'234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62',
+',81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,',
+',,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97',
+'96,98,,99,107,108,,91,92,,42,43,41,238,-597,-597,-597,-597,244,246,',
+',-597,-597,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236',
+',233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,',
+',,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72',
+'73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95',
+'56,97,96,98,,99,107,108,,91,92,,42,43,41,238,-597,-597,-597,-597,244',
+'246,,,-597,-597,,,,,,252,253,,40,,,294,,,58,59,,,60,,35,235,,241,44',
+'237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,',
+'80,88,,,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68',
+'30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105',
+'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,238,242,247,248',
+'249,244,246,254,,250,251,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235',
+',241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85',
+'87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31',
+'72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56',
+'97,96,98,,99,107,108,,91,92,,42,43,41,238,-597,-597,-597,-597,244,246',
+',,-597,-597,,,,,,252,253,,223,,,229,,,58,59,,,60,,,235,,241,44,237,236',
+',233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,',
+',69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
+'27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
+'108,,91,92,,42,43,41,238,,,,,,,,,,,,,,,,252,253,,223,,,229,,,58,59,',
+',60,,,235,,241,44,237,236,,233,234,,,,20,,,,,89,79,82,83,,84,86,85,87',
+',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72',
+'73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97',
+'96,98,,99,107,108,,91,92,,42,43,41,238,,,,,,,,,,,,,,,,252,253,,223,',
+',229,,,58,59,,,60,,,235,,241,44,237,236,,233,234,,,,20,,,,,89,79,82',
+'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
+'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105',
+'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,238,,,,,,,,,,,,',
+',,,252,253,,223,,,229,,,58,59,,,60,,,235,,,44,237,236,,233,234,,,,20',
+',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,69,70,71,9',
+'57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103',
+',,19,,,,,,8,45,,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42',
+'43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,',
+',,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
+'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,',
+',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,',
+',,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79',
+'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
+',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
+',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,',
+',,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82',
+'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
+'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105',
+'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,',
+',,,223,,,229,,,58,59,,,60,,404,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84',
+'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
+'30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106',
+'95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,',
+',229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,',
+',,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73',
+',,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97',
+'96,98,284,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,',
+',58,59,,,60,,281,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85',
+'87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310',
+'72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106',
+'95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,',
+',229,,,58,59,,,60,,404,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87',
+',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
+'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,307,,,105,104,106,95',
+'56,97,96,98,,99,107,108,,91,92,,,,313,,,,,,,,,,,,,,,,,,,,303,,,299,',
+',58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,',
+',69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
+'27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
+'108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,',
+'44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62',
+'57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
+'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
+'92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,404,,,,44,,',
+',,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
+'93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103',
+',,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
+'41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,',
+'89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
+',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,',
+',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,',
+',,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82',
+'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
+'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105',
+'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,',
+',,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86',
+'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30',
+'31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95',
+'56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
+',,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80',
+'88,218,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73',
+',,,,,305,306,312,101,100,102,103,,,230,,,,,,,307,,,105,104,106,95,56',
+'97,96,98,,99,107,108,,91,92,,,,313,,,,,,,,,,,,,,,,,,,,303,,,299,,,58',
+'59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69',
+'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306',
+'312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99',
+'107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,',
+',,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
+'62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312',
+'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
+'108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,',
+'44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62',
+'57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101',
+'100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108',
+',91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,',
+',,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
+'81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100',
+'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
+'92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,',
+',,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
+'94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102',
+'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,',
+'42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228',
+',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
+'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
+'230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
+'41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,',
+',89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
+',,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230',
+',,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,',
+',,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89',
+'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
+'67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,',
+',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,',
+',,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
+'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
+',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
+',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,',
+',,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82',
+'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
+'66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45',
+',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,',
+',,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83',
+',84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
+'68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105',
+'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,',
+',,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86',
+'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309',
+'310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104',
+'106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223',
+',,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87',
+',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
+'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
+'56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
+',,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80',
+'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,',
+',,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97',
+'96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58',
+'59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
+',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305',
+'306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98',
+',99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,',
+'60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69',
+'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306',
+'312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99',
+'107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,',
+',,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
+'62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312',
+'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
+'108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,',
+'44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62',
+'57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101',
+'100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108',
+',91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,',
+',,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
+'81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100',
+'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
+'92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,',
+',,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
+'94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102',
+'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,',
+'42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228',
+',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
+'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
+'230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
+'41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,',
+',89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
+',,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230',
+',,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,',
+',,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89',
+'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
+'67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,',
+',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,',
+',,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
+'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
+',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
+',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,',
+',,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82',
+'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
+'66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45',
+',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,',
+',,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83',
+',84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
+'68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105',
+'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,',
+',,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86',
+'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309',
+'310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104',
+'106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223',
+',,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87',
+',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
+'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
+'56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
+',,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80',
+'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,',
+',,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97',
+'96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58',
+'59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
+',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
+'28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99',
+'107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,',
+',,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
+'62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
+'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108,',
+'91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279',
+',44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
+'71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
+'100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108',
+',91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279',
+',44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
+'71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
+'100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108',
+',91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279',
+',44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,218,,,69',
+'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
+'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
+'108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,',
+'44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62',
+'57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
+'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
+'92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,',
+',,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
+'94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,',
+',230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
+'41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,',
+',89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
+',,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230',
+',,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,',
+',,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89',
+'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
+'67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45',
+',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,',
+',,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83',
+',84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
+'68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105',
+'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,',
+',,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86',
+'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309',
+'310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104',
+'106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223',
+',,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87',
+',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
+'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
+'56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
+',,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80',
+'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,',
+',,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97',
+'96,98,284,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,',
+',58,59,,,60,,,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87',
+',,,,80,88,,,,,,,62,,81,93,94,69,70,71,9,57,,,,63,64,,,,67,,65,66,68',
+'30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,,10,105,104',
+'106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,40',
+',,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87',
+',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
+'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
+'56,97,96,98,284,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,',
+',229,,,58,59,,,60,,659,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84',
+'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
+'309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105',
+'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,',
+',,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86',
+'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309',
+'310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104',
+'106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223',
+',,229,,,58,59,,,60,,754,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85',
+'87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31',
+'72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
+'56,97,96,98,284,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,',
+',229,,,58,59,,,60,,281,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84',
+'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
+'30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106',
+'95,56,97,96,98,284,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223',
+',,229,,,58,59,,,60,,281,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84',
+'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
+'309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,307,,,105',
+'104,106,95,56,97,96,98,,99,107,108,,91,92,,,,313,,,,,,,,,,,,,,,,,,,',
+'303,,,229,,,58,59,,,60,,548,,545,544,543,553,546,,,,,,,,,,556,,89,79',
+'82,83,,84,86,85,87,,,,,80,88,,,,504,,551,62,,81,93,94,69,70,71,,57,564',
+'563,,63,64,557,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100',
+'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
+'92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,,,44,,',
+',,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
+'93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102',
+'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,',
+'42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228',
+',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
+'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
+'230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108,,91,92,,42',
+'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,285,,,,,,228',
+',,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
+'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
+'230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108,,91,92,,42',
+'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,659,,,,44,,,285,,,',
+',,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
+'94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,',
+',19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
+'41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,',
+'89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
+',,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230',
+',,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,',
+',,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89',
+'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
+'67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,',
+',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,',
+',,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
+'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
+',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
+',307,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,,313,,,,,,,,',
+',,,,,,,,,,,303,,,299,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84',
+'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
+'30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106',
+'95,56,97,96,98,284,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223',
+',,229,,,58,59,,,60,,281,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84',
+'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
+'309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,307,,,105',
+'104,106,95,56,97,96,98,,99,107,108,,91,92,,,,313,,,,,,,,,,,,,,,,,,,',
+'303,,,299,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,',
+',,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
+'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,307,,,105,104,106,95',
+'56,97,96,98,,99,107,108,,91,92,,,,313,,,,,,,,,,,,,,,,,,,,303,,,299,',
+',58,59,,,60,,548,,545,544,543,553,546,,,,,,,,,,556,,89,79,82,83,,84',
+'86,85,87,,,,,80,88,,,,,,551,62,,81,93,94,69,70,71,9,57,564,563,,63,64',
+'557,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,',
+',,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
+'41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,',
+'89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,388,62,,81,93,94,69,70,71,,57',
+',,,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102',
+'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,',
+'42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228',
+',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
+'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
+'230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
+'41,,,,,,,,,,,,,,,,,,,,223,,,229,520,,58,59,,,60,,,,,,44,,,,,,,,,228',
+',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
+'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,',
+',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,',
+',,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79',
+'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
+',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
+',45,,,105,104,106,95,56,97,96,98,284,99,107,108,,91,92,,42,43,41,,,',
+',,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,279,,44,,,285,,,,,,228,,,',
+',89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
+',,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230',
+',,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108,,91,92,,42,43,41',
+',,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,659,,279,,44,,,285,,,,,,228',
+',,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
+'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
+'230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
+'41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,',
+',89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
+',,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230',
+',,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,',
+',,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89',
+'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
+'67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,',
+',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,',
+',,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
+'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
+',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
+',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,',
+',,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82',
+'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
+'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105',
+'104,106,95,56,97,96,98,284,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,',
+',,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,285,,,,,,228,,,,,89,282',
+'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
+',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
+',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,',
+',,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82',
+'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
+'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105',
+'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,',
+',,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86',
+'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30',
+'31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95',
+'56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
+',,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80',
+'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,',
+',29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98',
+',99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,',
+'60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
+'71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
+'100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,',
+'91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,',
+',,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,69',
+'70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
+'102,103,,,19,,,,,,8,45,7,10,105,104,106,95,56,97,96,98,,99,107,108,',
+'91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,',
+',,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
+'93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102',
+'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,',
+'42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228',
+',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
+'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
+'230,,,,,,,307,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,,313',
+',,,,,,,,,,,,,,,,,,,947,,,229,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82',
+'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
+'66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,307',
+',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,,313,,,,,,,,,,,,,',
+',,,,,,876,,,229,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85',
+'87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310',
+'72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106',
+'95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,',
+',229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,',
+',,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
+'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
+'56,97,96,98,284,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,',
+',229,,,58,59,,,60,,,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86',
+'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309',
+'310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104',
+'106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223',
+',,229,,,58,59,,,60,,659,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85',
+'87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31',
+'72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
+'56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
+',,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80',
+'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,',
+',29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98',
+',99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,',
+'60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
+'71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
+'100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108',
+',91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279',
+',44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
+'71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
+'100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108',
+',91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279',
+',44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
+'71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
+'100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108',
+',91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279',
+',44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
+'71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312',
+'101,100,102,103,,,230,,,,,,,307,,,105,104,106,95,56,97,96,98,,99,107',
+'108,,91,92,,,,313,,,,,,,,,,,,,,,,,,,,303,,,299,,,58,59,,,60,,298,,,',
+',,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
+'93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102',
+'103,,,230,,,,,,,307,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
+',,,313,,,,,,,,,,,,,,,,,,,,303,,,229,,,58,59,,,60,,548,,545,544,543,553',
+'546,,,,,,,,,,556,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,315,,551,62',
+',81,93,94,69,70,71,,57,564,563,,63,64,557,,,67,,65,66,68,309,310,72',
+'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,307,,,105,104,106,95',
+'56,97,96,98,,99,107,108,,91,92,,,,313,,,,,,,,,,,,,,,,,,,,876,,,229,',
+',58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,',
+',69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305',
+'306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98',
+',99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,',
+'60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69',
+'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306',
+'312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99',
+'107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,',
+',,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
+'62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312',
+'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
+'108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,',
+'44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62',
+'57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101',
+'100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108',
+',91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,',
+',,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
+'81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100',
+'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
+'92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,',
+',,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
+'94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102',
+'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,',
+'42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228',
+',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
+'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
+'230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
+'41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,',
+',89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
+',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,',
+',,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,',
+',,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82',
+'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
+'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105',
+'104,106,95,56,97,96,98,284,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,',
+',,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,285,,,,,,228,,,,,89,282',
+'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
+',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
+',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,',
+',,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82',
+'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
+'66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45',
+',,105,104,106,95,56,97,96,98,284,99,107,108,,91,92,,42,43,41,,,,,,,',
+',,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,,,44,,,285,,,,,,228,,,,,89',
+'282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,',
+',67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,',
+',,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108,,91,92,,42,43,41',
+',,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,285,,,,,,228,,,',
+',89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
+',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,',
+',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,',
+',,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82',
+'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
+'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105',
+'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,',
+',,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86',
+'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30',
+'31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95',
+'56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
+',,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80',
+'88,113,,,,,112,62,,81,93,94,69,70,71,,57,,,,63,64,,,,67,,65,66,68,309',
+'310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,307,,,105,104',
+'106,95,56,97,96,98,,99,107,108,,91,92,,,,313,,,,,,,,,,,,,,,,,,,,348',
+',,33,,,58,59,,,60,,35,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,',
+'80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73',
+',,,,,305,306,312,101,100,102,103,,,230,,,,,,,307,,,105,104,106,353,56',
+'97,96,354,,99,107,108,,91,92,,,,313,,,,,,,,,,,,,,,,,360,,,355,,,229',
+',,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
+',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305',
+'306,312,101,100,102,103,,,230,,,,,,,307,,,105,104,106,353,56,97,96,354',
+',99,107,108,,91,92,,,,313,,,,,,,,,,,,,,,,,,,,355,,,229,,,58,59,,,60',
+',,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62',
+'57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
+'102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
+',42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,',
+'20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,69,70,71',
+'9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
+'103,,,19,,,,,,8,45,7,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
+',42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,',
+'20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,-579,388,62,,81,93,94',
+'-579,-579,-579,,,-579,-579,-579,,-579,,,,,,,,,-579,-579,-579,-579,,',
+',,,,,-579,-579,,-579,-579,-579,-579,-579,,,,,,,,,,,,,,,,,,,,,,,,-579',
+'-579,-579,-579,-579,-579,-579,-579,-579,-579,-579,-579,-579,-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,-282,-579,,-579,,,,-282,-282,-282,,,-282,-282,-282,,-282,,,,,,',
+',,,-282,-282,-282,,,,,,,,-282,-282,,-282,-282,-282,-282,-282,,,,,,,',
+',,,,,,,,,,,,,,,,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282',
+'-282,-282,-282,,,-282,-282,-282,,,-282,,,-282,,,-282,-282,,-282,,-282',
+',-282,,-282,-282,,-282,-282,-282,-282,-282,,-282,,-282,,,,,,,,,,,,,',
+'-282,,,-282,-282,-282,-282,-580,-282,,-282,,,,-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,-580,-580,-580,-411,-580,,-580',
+',,,-411,-411,-411,,,-411,-411,-411,,-411,,,,,,,,,-411,-411,-411,,,,',
+',,,,-411,-411,,-411,-411,-411,-411,-411,,,,,,,,,,,,,,,,,,,,,,,,-411',
+'-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,,,-411',
+'-411,-411,,,-411,,263,-411,,,-411,-411,,-411,,-411,,-411,,-411,-411',
+',-411,-411,-411,-411,-411,,-411,-411,-411,,,,,,,,,,,,,,-411,,-246,-411',
+'-411,,-411,,-411,-246,-246,-246,,,-246,-246,-246,548,-246,545,544,543',
+'553,546,,,,-246,-246,,,,,556,,,,,-246,-246,,-246,-246,-246,-246,-246',
+',,,,,,,,,551,,,,,,,,,561,560,564,563,,,,557,,,,,,,,,-246,,-298,,,,,-246',
+',-298,-298,-298,263,-246,-298,-298,-298,218,-298,,,,,,,,,,-298,-298',
+',,,,,-246,-246,,-298,-298,,-298,-298,-298,-298,-298,,,,,-246,,,-246',
+',,,,-246,,,,,,,,,,,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298',
+'-298,-298,-298,-298,,,-298,-298,-298,,,-298,,272,-298,,,-298,-298,,-298',
+',-298,,-298,,-298,-298,,-298,-298,-298,-298,-298,,-298,-246,-298,,,',
+',,-246,-246,-246,,,-246,-246,-246,-298,-246,,-298,-298,,-298,,-298,',
+'-246,-246,-246,,,,,,,,,-246,-246,,-246,-246,-246,-246,-246,,,,,,,,,',
+',,,,,,,,,,,,,,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246',
+'-246,-246,-246,,,-246,-246,-246,,,-246,,263,-246,,,-246,-246,,-246,',
+'-246,,-246,,-246,-246,,-246,-246,-246,-246,-246,,-246,-246,-246,,,,',
+',,,,,,,,,-246,,,-246,-246,,-246,,-246,173,184,174,197,170,190,180,179',
+'200,201,195,178,177,172,198,202,203,182,171,185,189,191,183,176,,,,192',
+'199,194,193,186,196,181,169,188,187,,,,,,168,175,166,167,163,164,165',
+'124,126,,,125,,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140',
+',,,159,160,146,147,,,,,,,,,,,,,,151,150,,135,156,153,152,161,148,149',
+'143,141,133,155,134,,,162,89,,,,,,,,,,,,,,88,173,184,174,197,170,190',
+'180,179,200,201,195,178,177,172,198,202,203,182,171,185,189,191,183',
+'176,,,,192,199,194,193,186,196,181,169,188,187,,,,,,168,175,166,167',
+'163,164,165,124,126,123,,125,,,,,,,,,157,158,,154,136,137,138,145,142',
+'144,,,139,140,,,,159,160,146,147,,,,,,,,,,,,,,151,150,,135,156,153,152',
+'161,148,149,143,141,133,155,134,,,162,89,,,,,,,,,,,,,,88,173,184,174',
+'197,170,190,180,179,200,201,195,178,177,172,198,202,203,182,171,185',
+'189,191,183,176,,,,192,199,194,193,186,196,181,169,188,187,,,,,,168',
+'175,166,167,163,164,165,124,126,,,125,,,,,,,,,157,158,,154,136,137,138',
+'145,142,144,,,139,140,,,,159,160,146,147,,,,,,,,,,,,,,151,150,,135,156',
+'153,152,161,148,149,143,141,133,155,134,,,162,89,,,,,,,,,,,,,,88,173',
+'184,174,197,170,190,180,179,200,201,195,178,177,172,198,202,203,182',
+'171,185,189,191,183,176,,,,192,199,194,193,186,196,181,169,188,187,',
+',,,,168,175,166,167,163,164,165,124,126,,,125,,,,,,,,,157,158,,154,136',
+'137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,,,,,,,,,151,150',
+',135,156,153,152,161,148,149,143,141,133,155,134,,,162,89,,,,,,,,,,',
+',,,88,173,184,174,197,170,190,180,179,200,201,195,178,177,172,198,202',
+'203,182,171,185,189,191,183,176,,,,192,199,194,193,186,196,181,169,188',
+'187,,,,,,168,175,166,167,163,164,165,124,126,,,125,,,,,,,,,157,158,',
+'154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,,,,,,',
+',,151,150,,135,156,153,152,161,148,149,143,141,133,155,134,,,162,173',
+'184,174,197,170,190,180,179,200,201,195,178,177,172,198,202,203,182',
+'171,185,189,191,183,176,,,,192,199,194,371,370,372,369,169,188,187,',
+',,,,168,175,166,167,366,367,368,364,126,97,96,365,,99,,,,,,,157,158',
+',154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,376,',
+',,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155,134,673,424',
+'162,,674,,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159',
+'160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152,161,148,149,143',
+'141,133,155,134,1008,424,162,,1009,,,,,,,,,157,158,,154,136,137,138',
+'145,142,144,,,139,140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135',
+'156,153,152,161,148,149,143,141,133,155,134,640,424,162,,641,,,,,,,',
+',157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,',
+',,,,263,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155',
+'134,638,417,162,,639,,,,,,,,,157,158,,154,136,137,138,145,142,144,,',
+'139,140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152',
+'161,148,149,143,141,133,155,134,670,417,162,,671,,,,,,,,,157,158,,154',
+'136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,263,,,,,,',
+',151,150,,135,156,153,152,161,148,149,143,141,133,155,134,721,417,162',
+',722,,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160',
+'146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141',
+'133,155,134,723,424,162,,724,,,,,,,,,157,158,,154,136,137,138,145,142',
+'144,,,139,140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153',
+'152,161,148,149,143,141,133,155,134,983,424,162,,982,,,,,,,,,157,158',
+',154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,263,',
+',,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155,134,726,424',
+'162,,727,,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159',
+'160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152,161,148,149,143',
+'141,133,155,134,638,417,162,,639,,,,,,,,,157,158,,154,136,137,138,145',
+'142,144,,,139,140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156',
+'153,152,161,148,149,143,141,133,155,134,475,417,162,,476,,,,,,,,,157',
+'158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,263',
+',,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155,134,640',
+'424,162,,641,,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140',
+',,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152,161,148',
+'149,143,141,133,155,134,475,417,162,,476,,,,,,,,,157,158,,154,136,137',
+'138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,,,,,,,,,151,150,,135',
+'156,153,152,161,148,149,143,141,133,155,134,413,417,162,,414,,,,,,,',
+',157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,',
+',,,,263,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155',
+'134,1006,417,162,,1007,,,,,,,,,157,158,,154,136,137,138,145,142,144',
+',,139,140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152',
+'161,148,149,143,141,133,155,134,420,424,162,,419,,,,,,,,,157,158,,154',
+'136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,263,,,,,,',
+',151,150,,135,156,153,152,161,148,149,143,141,133,155,134,,548,162,545',
+'544,543,553,546,,548,,545,544,543,553,546,,556,548,,545,544,543,553',
+'546,556,548,,545,544,543,553,546,,556,,,,,551,,,556,,,,,551,561,560',
+'564,563,,,,557,551,534,564,563,,,,557,551,561,560,564,563,,,,557,561',
+'560,564,563,,,548,557,545,544,543,553,546,548,,545,544,543,553,546,',
+'548,556,545,544,543,553,546,,556,,,,,,,548,556,545,544,543,553,546,',
+'551,,,,,,,551,556,,,564,563,,,551,557,,564,563,,,,557,561,560,564,563',
+',,551,557,548,,545,544,543,553,546,561,560,564,563,,,,557,548,556,545',
+'544,543,553,546,,548,,545,544,543,553,546,,556,,,,,,,551,556,548,,545',
+'544,543,553,546,561,560,564,563,,,551,557,,556,,,,,551,561,560,564,563',
+',,,557,561,560,564,563,,,,557,551,548,,545,544,543,553,546,,561,560',
+'564,563,,,,557,556,548,,545,544,543,553,546,548,,545,544,543,553,546',
+',,556,,,,,551,,556,548,,545,544,543,553,546,,564,563,,,,557,551,,556',
+',,,,551,,561,560,564,563,,,,557,,564,563,,,,557,551,548,,545,544,543',
+'553,546,,,,564,563,,,,557,556,,,,,,,,,,,,,,,,,,,,,,551,,,,,,,,,,,564',
+'563,,,,557' ]
+ racc_action_table = arr = ::Array.new(25310, 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 = [
+'641,339,1007,1006,774,844,890,641,641,641,38,908,641,641,641,19,641',
+'359,590,590,906,58,437,437,594,594,641,641,641,349,1020,345,724,996',
+'996,308,641,641,383,641,641,641,641,641,338,719,722,885,3,721,845,1008',
+'650,3,665,687,19,38,371,342,774,58,346,665,342,371,38,641,641,641,641',
+'641,641,641,641,641,641,641,641,641,641,671,578,641,641,641,910,641',
+'641,571,384,641,723,570,641,641,61,641,724,641,308,641,911,641,641,383',
+'641,641,641,641,641,917,641,590,641,844,670,437,590,594,339,1007,1006',
+'308,359,339,1007,1006,641,1008,908,641,641,641,641,908,641,420,641,349',
+'650,345,724,641,420,420,420,359,671,1020,420,420,359,420,1020,845,722',
+'384,723,721,845,481,420,338,719,687,885,719,338,719,1008,885,346,420',
+'420,1008,420,420,420,420,420,680,680,670,61,355,364,26,671,355,473,671',
+'578,364,571,921,481,221,570,571,671,343,723,570,420,420,420,420,420',
+'420,420,420,420,420,420,420,420,420,924,482,420,420,420,670,420,473',
+'670,39,420,853,414,420,651,927,853,670,420,443,420,928,420,420,353,420',
+'420,420,420,420,419,420,420,420,26,221,482,419,419,419,41,41,77,419',
+'419,366,419,420,929,651,420,420,366,420,77,420,39,26,680,414,930,492',
+'420,801,77,39,419,419,414,419,419,419,419,419,224,443,704,353,704,704',
+'704,607,704,332,353,913,332,913,904,353,904,904,904,353,904,313,313',
+'419,419,419,419,419,419,419,419,419,419,419,419,419,419,374,353,419',
+'419,419,801,419,374,41,41,419,932,801,419,382,492,492,492,419,224,419',
+'801,419,419,726,419,419,419,419,419,95,419,492,419,639,607,607,95,95',
+'95,801,947,95,95,95,607,95,419,704,329,419,419,329,419,95,419,95,95',
+'95,450,904,367,419,313,313,952,95,95,367,95,95,95,95,95,638,953,413',
+'726,509,382,382,382,385,589,726,509,954,288,589,726,639,450,288,726',
+'509,450,450,95,95,95,95,95,95,95,95,95,95,95,95,95,95,955,726,95,95',
+'95,222,95,95,692,692,95,605,413,95,95,380,95,956,95,638,95,413,95,95',
+'379,95,95,95,95,95,378,95,98,95,958,368,385,385,385,98,98,98,368,7,98',
+'98,98,95,98,848,95,95,95,95,848,95,98,95,98,98,98,222,95,14,328,673',
+'15,328,98,98,14,98,98,98,98,98,605,605,938,14,380,380,380,381,934,938',
+'605,934,344,379,379,379,354,982,938,378,378,378,983,98,98,98,98,98,98',
+'98,98,98,98,98,98,98,98,15,24,98,98,98,673,98,98,24,15,98,984,673,98',
+'98,1,98,673,98,621,98,673,98,98,317,98,98,98,98,98,995,98,354,98,997',
+'381,381,381,369,354,673,449,727,686,354,369,686,98,354,727,98,98,98',
+'98,727,98,640,98,727,710,710,998,98,640,640,640,621,354,640,640,640',
+'317,640,449,999,621,1000,449,449,370,317,640,640,640,640,123,370,372',
+'17,17,123,123,640,640,372,640,640,640,640,640,994,365,994,994,994,347',
+'994,701,365,701,701,701,347,701,551,807,551,551,551,454,551,347,479',
+'640,640,640,640,640,640,640,640,640,640,640,640,640,640,689,994,640',
+'640,640,357,640,640,701,483,640,689,357,640,640,551,640,701,640,326',
+'640,357,640,640,551,640,640,640,640,640,944,640,640,640,337,337,833',
+'944,833,833,833,321,833,453,689,689,944,640,318,689,640,640,640,640',
+'945,640,499,640,523,523,500,945,640,569,569,569,569,569,569,503,945',
+'946,569,569,833,505,314,569,946,569,569,569,569,569,569,569,510,946',
+'452,513,312,569,569,569,569,569,569,569,598,598,569,451,598,598,598',
+'432,569,569,569,569,569,569,569,569,569,569,569,569,1001,569,569,569',
+'307,569,569,521,569,569,569,432,432,432,432,432,432,432,432,432,432',
+'432,319,432,432,948,522,432,432,319,569,524,948,569,306,536,569,569',
+'319,537,569,948,569,432,539,432,569,432,432,540,432,432,432,432,432',
+'569,432,541,550,303,569,569,569,569,301,569,569,569,569,558,562,301',
+'565,569,569,567,432,572,432,573,301,569,297,569,569,569,566,566,566',
+'566,566,566,296,295,988,566,566,592,330,602,566,988,566,566,566,566',
+'566,566,566,331,988,610,612,618,566,566,566,566,566,566,566,293,292',
+'566,622,280,277,627,643,566,566,566,566,566,566,566,566,566,566,566',
+'566,276,566,566,566,1002,566,566,632,566,566,566,643,643,643,643,643',
+'643,643,643,643,643,643,1009,643,643,300,262,643,643,1009,566,230,300',
+'566,1009,226,566,566,1009,642,566,300,566,643,333,643,566,643,643,1005',
+'643,643,643,643,643,566,643,225,649,223,566,566,566,566,302,566,566',
+'566,566,656,658,302,664,566,566,667,643,669,439,429,302,566,672,566',
+'566,566,654,654,654,654,654,654,1022,675,46,654,654,676,679,681,654',
+'46,654,654,654,654,654,654,654,684,46,421,688,204,654,654,654,654,654',
+'654,654,703,705,654,712,717,720,412,408,654,654,654,654,654,654,654',
+'654,654,654,654,654,411,654,654,654,409,654,654,405,654,654,654,408',
+'408,408,408,408,408,408,408,408,408,408,674,408,408,304,729,408,408',
+'674,654,109,304,654,674,734,654,654,674,403,654,304,654,408,400,408',
+'654,408,408,394,408,408,408,408,408,654,408,753,350,758,654,654,654',
+'654,875,654,654,654,654,348,1010,875,1011,654,654,45,408,40,775,776',
+'875,654,777,654,654,654,653,653,653,653,653,653,779,780,581,653,653',
+'781,783,784,653,581,653,653,653,653,653,653,653,785,581,786,790,37,653',
+'653,653,653,653,653,653,794,873,653,873,873,873,795,873,653,653,653',
+'653,653,653,653,653,653,653,653,653,800,653,653,653,804,653,653,808',
+'653,653,653,760,760,760,760,760,760,760,760,760,760,760,220,760,760',
+'811,816,760,760,220,653,817,821,653,822,824,653,653,220,825,653,827',
+'653,760,830,760,653,760,760,832,760,760,760,760,760,653,760,835,838',
+'22,653,653,653,653,847,653,653,653,653,16,851,852,855,653,653,856,760',
+'872,13,876,878,653,12,653,653,653,648,648,648,648,648,648,10,889,,648',
+'648,,,,648,,648,648,648,648,648,648,648,6,6,6,6,6,648,648,648,648,648',
+'648,648,,981,648,981,981,981,,981,648,648,648,648,648,648,648,648,648',
+'648,648,648,,648,648,648,,648,648,,648,648,648,427,427,427,427,427,427',
+'427,427,427,427,427,,427,427,,,427,427,,648,,,648,,,648,648,,,648,,648',
+'427,,427,648,427,427,,427,427,427,427,427,648,427,,,,648,648,648,648',
+',648,648,648,648,,,,,648,648,,427,,,,,648,,648,648,648,849,849,849,849',
+'849,849,,,,849,849,,,,849,,849,849,849,849,849,849,849,291,291,291,291',
+'291,849,849,849,849,849,849,849,,,849,497,497,497,497,497,849,849,849',
+'849,849,849,849,849,849,849,849,849,,849,849,849,,849,849,,849,849,849',
+'519,519,519,519,519,519,519,519,519,519,519,,519,519,,,519,519,,849',
+',,849,,,849,849,,,849,,849,519,,519,849,519,519,,519,519,519,519,519',
+'849,519,,,,849,849,849,849,,849,849,849,849,,,,,849,849,,519,,,,,849',
+',849,849,849,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,274,274,274,274,274,274,274,274,274,274,274,,274,274,,,274,274,',
+'229,,,229,,,229,229,,,229,,229,274,,274,229,274,274,,274,274,274,274',
+'274,229,274,,,,229,229,229,229,,229,229,229,229,,,,,229,229,,274,,,',
+',229,,229,229,229,33,33,33,33,33,33,,,,33,33,,,,33,,33,33,33,33,33,33',
+'33,,,,,,33,33,33,33,33,33,33,,,33,,,,,,33,33,33,33,33,33,33,33,33,33',
+'33,33,,33,33,33,,33,33,,33,33,33,644,644,644,644,644,644,644,644,644',
+'644,644,,644,644,,,644,644,,33,,,33,,,33,33,,,33,,33,644,,644,33,644',
+'644,,644,644,644,644,644,33,644,,,,33,33,33,33,,33,33,33,33,,,,,33,33',
+'644,644,,,,,33,,33,33,33,843,843,843,843,843,843,,,,843,843,,,,843,',
+'843,843,843,843,843,843,843,,,,,,843,843,843,843,843,843,843,,,843,',
+',,,,843,843,843,843,843,843,843,843,843,843,843,843,,843,843,843,,843',
+'843,,843,843,843,678,678,678,678,678,678,678,678,678,678,678,,678,678',
+',,678,678,,843,,,843,,,843,843,,,843,,843,678,,678,843,678,678,,678',
+'678,678,678,678,843,678,,,,843,843,843,843,,843,843,843,843,,,,,843',
+'843,,678,,,,,843,,843,843,843,121,121,121,121,121,121,,,,121,121,,,',
+'121,,121,121,121,121,121,121,121,,,,,,121,121,121,121,121,121,121,,',
+'121,,,,,,121,121,121,121,121,121,121,121,121,121,121,121,,121,121,121',
+',121,121,,121,121,121,755,755,755,755,755,755,755,755,755,755,755,,755',
+'755,,,755,755,,121,,,121,,,121,121,,,121,,121,755,,755,121,755,755,',
+'755,755,755,755,755,121,755,,,,121,121,121,121,,121,121,121,121,,,,',
+'121,121,,755,,,,,121,,121,121,121,498,498,498,498,498,498,,,,498,498',
+',,,498,,498,498,498,498,498,498,498,,,,,,498,498,498,498,498,498,498',
+',,498,,,,,,498,498,498,498,498,498,498,498,498,498,498,498,,498,498',
+'498,,498,498,,498,498,498,762,762,762,762,762,762,762,762,762,762,762',
+',762,762,,,762,762,,498,,,498,,,498,498,,,498,,498,762,,762,498,762',
+'762,,762,762,762,762,762,498,762,,,,498,498,498,498,,498,498,498,498',
+',,,,498,498,,762,,,,,498,,498,498,498,966,966,966,966,966,966,,,,966',
+'966,,,,966,,966,966,966,966,966,966,966,,,,,,966,966,966,966,966,966',
+'966,,,966,,,,,,966,966,966,966,966,966,966,966,966,966,966,966,,966',
+'966,966,,966,966,,966,966,966,765,765,765,765,765,765,765,765,765,765',
+'765,,765,765,,,765,765,,966,,,966,,,966,966,,,966,,966,765,,765,966',
+'765,765,,765,765,765,765,765,966,765,,,,966,966,966,966,,966,966,966',
+'966,,,,,966,966,,765,,,,,966,,966,966,966,745,745,745,745,745,745,,',
+',745,745,,,,745,,745,745,745,745,745,745,745,,,,,,745,745,745,745,745',
+'745,745,,,745,,,,,,745,745,745,745,745,745,745,745,745,745,745,745,',
+'745,745,745,,745,745,,745,745,745,767,767,767,767,767,767,767,767,767',
+'767,767,,767,767,,,767,767,,745,,,745,,,745,745,,,745,,745,767,,767',
+'745,767,767,,767,767,767,767,767,745,767,,,,745,745,745,745,,745,745',
+'745,745,,,,,745,745,,767,,,,,745,,745,745,745,206,206,206,206,206,206',
+',,,206,206,,,,206,,206,206,206,206,206,206,206,,,,,,206,206,206,206',
+'206,206,206,,,206,,,,,,206,206,206,206,206,206,206,206,206,206,206,206',
+',206,206,206,,206,206,,206,206,206,769,769,769,769,769,769,769,769,769',
+'769,769,,769,769,,,769,769,,206,,,206,,,206,206,,,206,,206,769,,769',
+'206,769,769,,769,769,769,769,769,206,769,,,,206,206,206,206,,206,206',
+'206,206,,,,,206,206,,769,,,,,206,,206,206,206,324,324,324,324,324,324',
+',,,324,324,,,,324,,324,324,324,324,324,324,324,,,,,,324,324,324,324',
+'324,324,324,,,324,,,,,,324,324,324,324,324,324,324,324,324,324,324,324',
+',324,324,324,,324,324,,324,324,324,21,21,21,21,21,21,21,21,21,21,21',
+',21,21,,,21,21,,324,,,324,,,324,324,,,324,,324,21,,21,324,21,21,,21',
+'21,21,21,21,324,21,,,,324,324,324,324,,324,324,324,324,,,,,324,324,',
+'21,,,,,324,,324,324,324,793,793,793,793,793,793,,,,793,793,,,,793,,793',
+'793,793,793,793,793,793,,,,,,793,793,793,793,793,793,793,,,793,,,,,',
+'793,793,793,793,793,793,793,793,793,793,793,793,,793,793,793,,793,793',
+',793,793,793,858,858,858,858,858,858,858,858,858,858,858,,858,858,,',
+'858,858,,793,,,793,,,793,793,,,793,,793,858,,858,793,858,858,,858,858',
+'858,858,858,793,858,,,,793,793,793,793,,793,793,793,793,,,,,793,793',
+',858,,,,,793,,793,793,793,882,882,882,882,882,882,,,,882,882,,,,882',
+',882,882,882,882,882,882,882,,,,,,882,882,882,882,882,882,882,,,882',
+',,,,,882,882,882,882,882,882,882,882,882,882,882,882,,882,882,882,,882',
+'882,,882,882,882,969,969,969,969,969,969,969,969,969,969,969,,969,969',
+',,969,969,,882,,,882,,,882,882,,,882,,882,969,,969,882,969,969,,969',
+'969,969,969,969,882,969,,,,882,882,882,882,,882,882,882,882,,,,,882',
+'882,,969,,,,,882,,882,882,882,840,840,840,840,840,840,,,,840,840,,,',
+'840,,840,840,840,840,840,840,840,,862,,,,840,840,840,840,840,840,840',
+'862,831,840,831,831,831,,831,840,840,840,840,840,840,840,840,840,840',
+'840,840,,840,840,840,,840,840,,840,840,840,468,,862,862,,,469,862,831',
+'905,,905,905,905,,905,,831,,840,,,840,,,840,840,,,840,,840,468,,,840',
+'468,468,469,468,468,,469,469,840,469,469,905,,840,840,840,840,,840,840',
+'840,840,,,,,840,840,,,,,,,840,,840,840,840,839,839,839,839,839,839,',
+',,839,839,,,,839,,839,839,839,839,839,839,839,,,,,,839,839,839,839,839',
+'839,839,,957,839,957,957,957,,957,839,839,839,839,839,839,839,839,839',
+'839,839,839,,839,839,839,,839,839,,839,839,839,460,,,959,,959,959,959',
+'957,959,,,,,,,460,460,,839,,,839,,,839,839,,,839,,839,460,,460,839,460',
+'460,,460,460,959,,460,839,460,,,,839,839,839,839,,839,839,839,839,,',
+',,839,839,,,,,,,839,,839,839,839,960,960,960,960,960,960,,,,960,960',
+',,,960,,960,960,960,960,960,960,960,,,,,,960,960,960,960,960,960,960',
+',,960,,,,,,960,960,960,960,960,960,960,960,960,960,960,960,,960,960',
+'960,,960,960,,960,960,960,461,,,,,,,,,,,,,,,,461,461,,960,,,960,,,960',
+'960,,,960,,960,461,,461,960,461,461,,461,461,,,461,960,461,,,,960,960',
+'960,960,,960,960,960,960,,,,,960,960,,,,,,,960,,960,960,960,815,815',
+'815,815,815,815,,,,815,815,,,,815,,815,815,815,815,815,815,815,,,,,',
+'815,815,815,815,815,815,815,,,815,,,,,,815,815,815,815,815,815,815,815',
+'815,815,815,815,,815,815,815,,815,815,,815,815,815,470,470,470,470,470',
+'470,470,,,470,470,,,,,,470,470,,815,,,815,,,815,815,,,815,,815,470,',
+'470,815,470,470,,470,470,470,470,470,815,470,,,,815,815,815,815,,815',
+'815,815,815,,,,,815,815,,,,,,,815,,815,815,815,735,735,735,735,735,735',
+',,,735,735,,,,735,,735,735,735,735,735,735,735,,,,,,735,735,735,735',
+'735,735,735,,,735,,,,,,735,735,735,735,735,735,735,735,735,735,735,735',
+',735,735,735,,735,735,,735,735,735,447,447,447,447,447,447,447,447,447',
+'447,447,,447,447,,,447,447,,735,,,735,,,735,735,,,735,,735,447,,447',
+'735,447,447,,447,447,447,447,447,735,447,,,,735,735,735,735,,735,735',
+'735,735,,,,,735,735,,,,,,,735,,735,735,735,814,814,814,814,814,814,',
+',,814,814,,,,814,,814,814,814,814,814,814,814,,,,,,814,814,814,814,814',
+'814,814,,,814,,,,,,814,814,814,814,814,814,814,814,814,814,814,814,',
+'814,814,814,,814,814,,814,814,814,462,,,,,,,,,,,,,,,,462,462,,814,,',
+'814,,,814,814,,,814,,814,462,,462,814,462,462,,462,462,,,462,814,462',
+',,,814,814,814,814,,814,814,814,814,,,,,814,814,,,,,,,814,,814,814,814',
+'0,0,0,0,0,0,,,,0,0,,,,0,,0,0,0,0,0,0,0,,,,,,0,0,0,0,0,0,0,,,0,,,,,,0',
+'0,0,0,0,0,0,0,0,0,0,0,,0,0,0,,0,0,,0,0,0,458,458,458,458,458,458,458',
+',,458,458,,,,,,458,458,,0,,,0,,,0,0,,,0,,0,458,,458,0,458,458,,458,458',
+'458,458,458,0,458,,,,0,0,0,0,,0,0,0,0,,,,,0,0,,,,,,,0,,0,0,0,591,591',
+'591,591,591,591,,,,591,591,,,,591,,591,591,591,591,591,591,591,,,,,',
+'591,591,591,591,591,591,591,,,591,,,,,,591,591,591,591,591,591,591,591',
+'591,591,591,591,,591,591,591,,591,591,,591,591,591,448,448,448,448,448',
+'448,448,448,448,448,448,,448,448,,,448,448,,591,,,591,,,591,591,,,591',
+',591,448,,448,591,448,448,,448,448,448,448,448,591,448,,,,591,591,591',
+'591,,591,591,591,591,,,,,591,591,,,,,,,591,,591,591,591,294,294,294',
+'294,294,294,,,,294,294,,,,294,,294,294,294,294,294,294,294,,,,,,294',
+'294,294,294,294,294,294,,,294,,,,,,294,294,294,294,294,294,294,294,294',
+'294,294,294,,294,294,294,,294,294,,294,294,294,459,,,,,,,,,,,,,,,,459',
+'459,,294,,,294,,,294,294,,,294,,294,459,,459,294,459,459,,459,459,,',
+'459,294,459,,,,294,294,294,294,,294,294,294,294,,,,,294,294,,,,,,,294',
+',294,294,294,730,730,730,730,730,730,,,,730,730,,,,730,,730,730,730',
+'730,730,730,730,,,,,,730,730,730,730,730,730,730,,,730,,,,,,730,730',
+'730,730,730,730,730,730,730,730,730,730,,730,730,730,,730,730,,730,730',
+'730,463,463,463,463,463,463,463,,,463,463,,,,,,463,463,,730,,,730,,',
+'730,730,,,730,,730,463,,463,730,463,463,,463,463,463,463,463,730,463',
+',,,730,730,730,730,,730,730,730,730,,,,,730,730,,,,,,,730,,730,730,730',
+'806,806,806,806,806,806,,,,806,806,,,,806,,806,806,806,806,806,806,806',
+',,,,,806,806,806,806,806,806,806,,,806,,,,,,806,806,806,806,806,806',
+'806,806,806,806,806,806,,806,806,806,,806,806,,806,806,806,466,466,466',
+'466,466,466,466,,,466,466,,,,,,466,466,,806,,,806,,,806,806,,,806,,806',
+'466,,466,806,466,466,,466,466,466,466,466,806,466,,,,806,806,806,806',
+',806,806,806,806,,,,,806,806,,,,,,,806,,806,806,806,943,943,943,943',
+'943,943,,,,943,943,,,,943,,943,943,943,943,943,943,943,,,,,,943,943',
+'943,943,943,943,943,,,943,,,,,,943,943,943,943,943,943,943,943,943,943',
+'943,943,,943,943,943,,943,943,,943,943,943,464,464,464,464,464,464,464',
+',,464,464,,,,,,464,464,,943,,,943,,,943,943,,,943,,943,464,,464,943',
+'464,464,,464,464,464,464,464,943,464,,,,943,943,943,943,,943,943,943',
+'943,,,,,943,943,,,,,,,943,,943,943,943,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,465,465,465,465,465,465,465,,,465,465',
+',,,,,465,465,,299,,,299,,,299,299,,,299,,299,465,,465,299,465,465,,465',
+'465,465,465,465,299,465,,,,299,299,299,299,,299,299,299,299,,,,,299',
+'299,,,,,,,299,,299,299,299,968,968,968,968,968,968,,,,968,968,,,,968',
+',968,968,968,968,968,968,968,,,,,,968,968,968,968,968,968,968,,,968',
+',,,,,968,968,968,968,968,968,968,968,968,968,968,968,,968,968,968,,968',
+'968,,968,968,968,471,471,471,471,471,471,471,471,,471,471,,,,,,471,471',
+',968,,,968,,,968,968,,,968,,968,471,,471,968,471,471,,471,471,471,471',
+'471,968,471,,,,968,968,968,968,,968,968,968,968,,,,,968,968,,,,116,116',
+'116,968,116,968,968,968,116,116,,,,116,,116,116,116,116,116,116,116',
+',,,,,116,116,116,116,116,116,116,,,116,,,,,,,116,,,116,116,116,116,116',
+'116,116,116,,116,116,116,,116,116,,116,116,116,467,467,467,467,467,467',
+'467,,,467,467,,,,,,467,467,,116,,,116,,,116,116,,,116,,,467,,467,116',
+'467,467,,467,467,467,467,467,116,467,,,,116,116,116,116,,116,116,116',
+'116,,,,,116,116,,,,117,117,117,116,117,116,116,116,117,117,,,,117,,117',
+'117,117,117,117,117,117,,,,,,117,117,117,117,117,117,117,,,117,,,,,',
+',117,,,117,117,117,117,117,117,117,117,,117,117,117,,117,117,,117,117',
+'117,455,,,,,,,,,,,,,,,,455,455,,117,,,117,,,117,117,,,117,,,455,,455',
+'117,455,455,,455,455,,,,117,,,,,117,117,117,117,,117,117,117,117,,,',
+',117,117,,,,118,118,118,117,118,117,117,117,118,118,,,,118,,118,118',
+'118,118,118,118,118,,,,,,118,118,118,118,118,118,118,,,118,,,,,,,118',
+',,118,118,118,118,118,118,118,118,,118,118,118,,118,118,,118,118,118',
+'456,,,,,,,,,,,,,,,,456,456,,118,,,118,,,118,118,,,118,,,456,,456,118',
+'456,456,,456,456,,,,118,,,,,118,118,118,118,,118,118,118,118,,,,,118',
+'118,,,,119,119,119,118,119,118,118,118,119,119,,,,119,,119,119,119,119',
+'119,119,119,,,,,,119,119,119,119,119,119,119,,,119,,,,,,,119,,,119,119',
+'119,119,119,119,119,119,,119,119,119,,119,119,,119,119,119,457,,,,,',
+',,,,,,,,,,457,457,,119,,,119,,,119,119,,,119,,,457,,,119,457,457,,457',
+'457,,,,119,,,,,119,119,119,119,,119,119,119,119,,,,,119,119,,,,,,,119',
+',119,119,119,120,120,120,120,120,,,,120,120,,,,120,,120,120,120,120',
+'120,120,120,,,,,,120,120,120,120,120,120,120,,,120,,,,,,120,120,,120',
+'120,120,120,120,120,120,120,120,,120,120,120,,120,120,,120,120,120,',
+',,,,,,,,,,,,,,,,,,120,,,120,,,120,120,,,120,,120,,,,120,,,,,,,,,120',
+',,,,120,120,120,120,,120,120,120,120,,,,,120,120,,,,725,725,725,120',
+'725,120,120,120,725,725,,,,725,,725,725,725,725,725,725,725,,,,,,725',
+'725,725,725,725,725,725,,,725,,,,,,,725,,,725,725,725,725,725,725,725',
+'725,,725,725,725,,725,725,,725,725,725,,,,,,,,,,,,,,,,,,,,725,,,725',
+',,725,725,,,725,,,,,,725,,,,,,,,,725,,,,,725,725,725,725,,725,725,725',
+'725,,,,,725,725,,,,699,699,699,725,699,725,725,725,699,699,,,,699,,699',
+'699,699,699,699,699,699,,,,,,699,699,699,699,699,699,699,,,699,,,,,',
+',699,,,699,699,699,699,699,699,699,699,,699,699,699,,699,699,,699,699',
+'699,,,,,,,,,,,,,,,,,,,,699,,,699,,,699,699,,,699,,,,,,699,,,,,,,,,699',
+',,,,699,699,699,699,,699,699,699,699,,,,,699,699,,,,207,207,207,699',
+'207,699,699,699,207,207,,,,207,,207,207,207,207,207,207,207,,,,,,207',
+'207,207,207,207,207,207,,,207,,,,,,,207,,,207,207,207,207,207,207,207',
+'207,,207,207,207,,207,207,,207,207,207,,,,,,,,,,,,,,,,,,,,207,,,207',
+',,207,207,,,207,,207,,,,207,,,,,,,,,207,,,,,207,207,207,207,,207,207',
+'207,207,,,,,207,207,,,,208,208,208,207,208,207,207,207,208,208,,,,208',
+',208,208,208,208,208,208,208,,,,,,208,208,208,208,208,208,208,,,208',
+',,,,,,208,,,208,208,208,208,208,208,208,208,,208,208,208,,208,208,,208',
+'208,208,,,,,,,,,,,,,,,,,,,,208,,,208,,,208,208,,,208,,,,,,208,,,,,,',
+',,208,,,,,208,208,208,208,,208,208,208,208,,,,,208,208,,,,209,209,209',
+'208,209,208,208,208,209,209,,,,209,,209,209,209,209,209,209,209,,,,',
+',209,209,209,209,209,209,209,,,209,,,,,,,209,,,209,209,209,209,209,209',
+'209,209,209,209,209,209,,209,209,,209,209,209,,,,,,,,,,,,,,,,,,,,209',
+',,209,,,209,209,,,209,,209,,209,,209,,,209,,,,,,209,,,,,209,209,209',
+'209,,209,209,209,209,,,,,209,209,,,,682,682,682,209,682,209,209,209',
+'682,682,,,,682,,682,682,682,682,682,682,682,,,,,,682,682,682,682,682',
+'682,682,,,682,,,,,,,682,,,682,682,682,682,682,682,682,682,,682,682,682',
+',682,682,,682,682,682,,,,,,,,,,,,,,,,,,,,682,,,682,,,682,682,,,682,',
+'682,,,,682,,,,,,,,,682,,,,,682,682,682,682,,682,682,682,682,,,,,682',
+'682,,,,677,677,677,682,677,682,682,682,677,677,,,,677,,677,677,677,677',
+'677,677,677,,,,,,677,677,677,677,677,677,677,,,677,,,,,,,677,,,677,677',
+'677,677,677,677,677,677,,677,677,677,,677,677,,,,677,,,,,,,,,,,,,,,',
+',,,,677,,,677,,,677,677,,,677,,,,,,,,,,,,,,,,,,,,677,677,677,677,,677',
+'677,677,677,,,,,677,677,,,,212,212,212,677,212,677,677,677,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,212,213,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,213,,,,214,214,214,213,214,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,214,215,214,214,214,215,215,,,,215,,215,215,215,215,215',
+'215,215,,,,,,215,215,215,215,215,215,215,,,215,,,,,,,215,,,215,215,215',
+'215,215,215,215,215,,215,215,215,,215,215,,215,215,215,,,,,,,,,,,,,',
+',,,,,,215,,,215,,,215,215,,,215,,,,,,215,,,,,,,,,215,,,,,215,215,215',
+'215,,215,215,215,215,,,,,215,215,,,,216,216,216,215,216,215,215,215',
+'216,216,,,,216,,216,216,216,216,216,216,216,,,,,,216,216,216,216,216',
+'216,216,,,216,,,,,,,216,,,216,216,216,216,216,216,216,216,,216,216,216',
+',216,216,,216,216,216,,,,,,,,,,,,,,,,,,,,216,,,216,,,216,216,,,216,',
+',,,,216,,,,,,,,,216,,,,,216,216,216,216,,216,216,216,216,,,,,216,216',
+',,,217,217,217,216,217,216,216,216,217,217,,,,217,,217,217,217,217,217',
+'217,217,,,,,,217,217,217,217,217,217,217,,,217,,,,,,,217,,,217,217,217',
+'217,217,217,217,217,,217,217,217,,217,217,,217,217,217,,,,,,,,,,,,,',
+',,,,,,217,,,217,,,217,217,,,217,,,,,,217,,,,,,,,,217,,,,,217,217,217',
+'217,,217,217,217,217,,,,,217,217,217,,,666,666,666,217,666,217,217,217',
+'666,666,,,,666,,666,666,666,666,666,666,666,,,,,,666,666,666,666,666',
+'666,666,,,666,,,,,,,666,,,666,666,666,666,666,666,666,666,,666,666,666',
+',666,666,,,,666,,,,,,,,,,,,,,,,,,,,666,,,666,,,666,666,,,666,,,,,,,',
+',,,,,,,,,,,,666,666,666,666,,666,666,666,666,,,,,666,666,,,,662,662',
+'662,666,662,666,666,666,662,662,,,,662,,662,662,662,662,662,662,662',
+',,,,,662,662,662,662,662,662,662,,,662,,,,,,,662,,,662,662,662,662,662',
+'662,662,662,,662,662,662,,662,662,,662,662,662,,,,,,,,,,,,,,,,,,,,662',
+',,662,,,662,662,,,662,,,,,,662,,,,,,,,,662,,,,,662,662,662,662,,662',
+'662,662,662,,,,,662,662,,,,659,659,659,662,659,662,662,662,659,659,',
+',,659,,659,659,659,659,659,659,659,,,,,,659,659,659,659,659,659,659',
+',,659,,,,,,,659,,,659,659,659,659,659,659,659,659,,659,659,659,,659',
+'659,,659,659,659,,,,,,,,,,,,,,,,,,,,659,,,659,,,659,659,,,659,,,,,,659',
+',,,,,,,,659,,,,,659,659,659,659,,659,659,659,659,,,,,659,659,,,,228',
+'228,228,659,228,659,659,659,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,,,,231,231,231,228,231,228,228,228,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,231,232,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,232,233,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',
+',,,234,234,234,233,234,233,233,233,234,234,,,,234,,234,234,234,234,234',
+'234,234,,,,,,234,234,234,234,234,234,234,,,234,,,,,,,234,,,234,234,234',
+'234,234,234,234,234,,234,234,234,,234,234,,234,234,234,,,,,,,,,,,,,',
+',,,,,,234,,,234,,,234,234,,,234,,,,,,234,,,,,,,,,234,,,,,234,234,234',
+'234,,234,234,234,234,,,,,234,234,,,,235,235,235,234,235,234,234,234',
+'235,235,,,,235,,235,235,235,235,235,235,235,,,,,,235,235,235,235,235',
+'235,235,,,235,,,,,,,235,,,235,235,235,235,235,235,235,235,,235,235,235',
+',235,235,,235,235,235,,,,,,,,,,,,,,,,,,,,235,,,235,,,235,235,,,235,',
+',,,,235,,,,,,,,,235,,,,,235,235,235,235,,235,235,235,235,,,,,235,235',
+',,,236,236,236,235,236,235,235,235,236,236,,,,236,,236,236,236,236,236',
+'236,236,,,,,,236,236,236,236,236,236,236,,,236,,,,,,,236,,,236,236,236',
+'236,236,236,236,236,,236,236,236,,236,236,,236,236,236,,,,,,,,,,,,,',
+',,,,,,236,,,236,,,236,236,,,236,,,,,,236,,,,,,,,,236,,,,,236,236,236',
+'236,,236,236,236,236,,,,,236,236,,,,237,237,237,236,237,236,236,236',
+'237,237,,,,237,,237,237,237,237,237,237,237,,,,,,237,237,237,237,237',
+'237,237,,,237,,,,,,,237,,,237,237,237,237,237,237,237,237,,237,237,237',
+',237,237,,237,237,237,,,,,,,,,,,,,,,,,,,,237,,,237,,,237,237,,,237,',
+',,,,237,,,,,,,,,237,,,,,237,237,237,237,,237,237,237,237,,,,,237,237',
+',,,238,238,238,237,238,237,237,237,238,238,,,,238,,238,238,238,238,238',
+'238,238,,,,,,238,238,238,238,238,238,238,,,238,,,,,,,238,,,238,238,238',
+'238,238,238,238,238,,238,238,238,,238,238,,238,238,238,,,,,,,,,,,,,',
+',,,,,,238,,,238,,,238,238,,,238,,,,,,238,,,,,,,,,238,,,,,238,238,238',
+'238,,238,238,238,238,,,,,238,238,,,,239,239,239,238,239,238,238,238',
+'239,239,,,,239,,239,239,239,239,239,239,239,,,,,,239,239,239,239,239',
+'239,239,,,239,,,,,,,239,,,239,239,239,239,239,239,239,239,,239,239,239',
+',239,239,,239,239,239,,,,,,,,,,,,,,,,,,,,239,,,239,,,239,239,,,239,',
+',,,,239,,,,,,,,,239,,,,,239,239,239,239,,239,239,239,239,,,,,239,239',
+',,,240,240,240,239,240,239,239,239,240,240,,,,240,,240,240,240,240,240',
+'240,240,,,,,,240,240,240,240,240,240,240,,,240,,,,,,,240,,,240,240,240',
+'240,240,240,240,240,,240,240,240,,240,240,,240,240,240,,,,,,,,,,,,,',
+',,,,,,240,,,240,,,240,240,,,240,,,,,,240,,,,,,,,,240,,,,,240,240,240',
+'240,,240,240,240,240,,,,,240,240,,,,241,241,241,240,241,240,240,240',
+'241,241,,,,241,,241,241,241,241,241,241,241,,,,,,241,241,241,241,241',
+'241,241,,,241,,,,,,,241,,,241,241,241,241,241,241,241,241,,241,241,241',
+',241,241,,241,241,241,,,,,,,,,,,,,,,,,,,,241,,,241,,,241,241,,,241,',
+',,,,241,,,,,,,,,241,,,,,241,241,241,241,,241,241,241,241,,,,,241,241',
+',,,242,242,242,241,242,241,241,241,242,242,,,,242,,242,242,242,242,242',
+'242,242,,,,,,242,242,242,242,242,242,242,,,242,,,,,,,242,,,242,242,242',
+'242,242,242,242,242,,242,242,242,,242,242,,242,242,242,,,,,,,,,,,,,',
+',,,,,,242,,,242,,,242,242,,,242,,,,,,242,,,,,,,,,242,,,,,242,242,242',
+'242,,242,242,242,242,,,,,242,242,,,,243,243,243,242,243,242,242,242',
+'243,243,,,,243,,243,243,243,243,243,243,243,,,,,,243,243,243,243,243',
+'243,243,,,243,,,,,,,243,,,243,243,243,243,243,243,243,243,,243,243,243',
+',243,243,,243,243,243,,,,,,,,,,,,,,,,,,,,243,,,243,,,243,243,,,243,',
+',,,,243,,,,,,,,,243,,,,,243,243,243,243,,243,243,243,243,,,,,243,243',
+',,,244,244,244,243,244,243,243,243,244,244,,,,244,,244,244,244,244,244',
+'244,244,,,,,,244,244,244,244,244,244,244,,,244,,,,,,,244,,,244,244,244',
+'244,244,244,244,244,,244,244,244,,244,244,,244,244,244,,,,,,,,,,,,,',
+',,,,,,244,,,244,,,244,244,,,244,,,,,,244,,,,,,,,,244,,,,,244,244,244',
+'244,,244,244,244,244,,,,,244,244,,,,245,245,245,244,245,244,244,244',
+'245,245,,,,245,,245,245,245,245,245,245,245,,,,,,245,245,245,245,245',
+'245,245,,,245,,,,,,,245,,,245,245,245,245,245,245,245,245,,245,245,245',
+',245,245,,245,245,245,,,,,,,,,,,,,,,,,,,,245,,,245,,,245,245,,,245,',
+',,,,245,,,,,,,,,245,,,,,245,245,245,245,,245,245,245,245,,,,,245,245',
+',,,246,246,246,245,246,245,245,245,246,246,,,,246,,246,246,246,246,246',
+'246,246,,,,,,246,246,246,246,246,246,246,,,246,,,,,,,246,,,246,246,246',
+'246,246,246,246,246,,246,246,246,,246,246,,246,246,246,,,,,,,,,,,,,',
+',,,,,,246,,,246,,,246,246,,,246,,,,,,246,,,,,,,,,246,,,,,246,246,246',
+'246,,246,246,246,246,,,,,246,246,,,,247,247,247,246,247,246,246,246',
+'247,247,,,,247,,247,247,247,247,247,247,247,,,,,,247,247,247,247,247',
+'247,247,,,247,,,,,,,247,,,247,247,247,247,247,247,247,247,,247,247,247',
+',247,247,,247,247,247,,,,,,,,,,,,,,,,,,,,247,,,247,,,247,247,,,247,',
+',,,,247,,,,,,,,,247,,,,,247,247,247,247,,247,247,247,247,,,,,247,247',
+',,,248,248,248,247,248,247,247,247,248,248,,,,248,,248,248,248,248,248',
+'248,248,,,,,,248,248,248,248,248,248,248,,,248,,,,,,,248,,,248,248,248',
+'248,248,248,248,248,,248,248,248,,248,248,,248,248,248,,,,,,,,,,,,,',
+',,,,,,248,,,248,,,248,248,,,248,,,,,,248,,,,,,,,,248,,,,,248,248,248',
+'248,,248,248,248,248,,,,,248,248,,,,249,249,249,248,249,248,248,248',
+'249,249,,,,249,,249,249,249,249,249,249,249,,,,,,249,249,249,249,249',
+'249,249,,,249,,,,,,,249,,,249,249,249,249,249,249,249,249,,249,249,249',
+',249,249,,249,249,249,,,,,,,,,,,,,,,,,,,,249,,,249,,,249,249,,,249,',
+',,,,249,,,,,,,,,249,,,,,249,249,249,249,,249,249,249,249,,,,,249,249',
+',,,250,250,250,249,250,249,249,249,250,250,,,,250,,250,250,250,250,250',
+'250,250,,,,,,250,250,250,250,250,250,250,,,250,,,,,,,250,,,250,250,250',
+'250,250,250,250,250,,250,250,250,,250,250,,250,250,250,,,,,,,,,,,,,',
+',,,,,,250,,,250,,,250,250,,,250,,,,,,250,,,,,,,,,250,,,,,250,250,250',
+'250,,250,250,250,250,,,,,250,250,,,,251,251,251,250,251,250,250,250',
+'251,251,,,,251,,251,251,251,251,251,251,251,,,,,,251,251,251,251,251',
+'251,251,,,251,,,,,,,251,,,251,251,251,251,251,251,251,251,,251,251,251',
+',251,251,,251,251,251,,,,,,,,,,,,,,,,,,,,251,,,251,,,251,251,,,251,',
+',,,,251,,,,,,,,,251,,,,,251,251,251,251,,251,251,251,251,,,,,251,251',
+',,,252,252,252,251,252,251,251,251,252,252,,,,252,,252,252,252,252,252',
+'252,252,,,,,,252,252,252,252,252,252,252,,,252,,,,,,,252,,,252,252,252',
+'252,252,252,252,252,,252,252,252,,252,252,,252,252,252,,,,,,,,,,,,,',
+',,,,,,252,,,252,,,252,252,,,252,,,,,,252,,,,,,,,,252,,,,,252,252,252',
+'252,,252,252,252,252,,,,,252,252,,,,253,253,253,252,253,252,252,252',
+'253,253,,,,253,,253,253,253,253,253,253,253,,,,,,253,253,253,253,253',
+'253,253,,,253,,,,,,,253,,,253,253,253,253,253,253,253,253,,253,253,253',
+',253,253,,253,253,253,,,,,,,,,,,,,,,,,,,,253,,,253,,,253,253,,,253,',
+',,,,253,,,,,,,,,253,,,,,253,253,253,253,,253,253,253,253,,,,,253,253',
+',,,254,254,254,253,254,253,253,253,254,254,,,,254,,254,254,254,254,254',
+'254,254,,,,,,254,254,254,254,254,254,254,,,254,,,,,,,254,,,254,254,254',
+'254,254,254,254,254,,254,254,254,,254,254,,254,254,254,,,,,,,,,,,,,',
+',,,,,,254,,,254,,,254,254,,,254,,,,,,254,,,,,,,,,254,,,,,254,254,254',
+'254,,254,254,254,254,,,,,254,254,,,,255,255,255,254,255,254,254,254',
+'255,255,,,,255,,255,255,255,255,255,255,255,,,,,,255,255,255,255,255',
+'255,255,,,255,,,,,,,255,,,255,255,255,255,255,255,255,255,,255,255,255',
+',255,255,,255,255,255,,,,,,,,,,,,,,,,,,,,255,,,255,,,255,255,,,255,',
+',,,,255,,,,,,,,,255,,,,,255,255,255,255,,255,255,255,255,,,,,255,255',
+',,,635,635,635,255,635,255,255,255,635,635,,,,635,,635,635,635,635,635',
+'635,635,,,,,,635,635,635,635,635,635,635,,,635,,,,,,,635,,,635,635,635',
+'635,635,635,635,635,,635,635,635,,635,635,,635,635,635,,,,,,,,,,,,,',
+',,,,,,635,,,635,,,635,635,,,635,,,,,,635,,,,,,,,,635,,,,,635,635,635',
+'635,,635,635,635,635,,,,,635,635,,,,634,634,634,635,634,635,635,635',
+'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',
+',,,263,263,263,634,263,634,634,634,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,263,,,,264,264,264,263,264',
+'263,263,263,264,264,,,,264,,264,264,264,264,264,264,264,,,,,,264,264',
+'264,264,264,264,264,,,264,,,,,,,264,,,264,264,264,264,264,264,264,264',
+'264,264,264,264,,264,264,,264,264,264,,,,,,,,,,,,,,,,,,,,264,,,264,',
+',264,264,,,264,,264,,264,,264,,,264,,,,,,264,,,,,264,264,264,264,,264',
+'264,264,264,,,,,264,264,,,,272,272,272,264,272,264,264,264,272,272,',
+',,272,,272,272,272,272,272,272,272,,,,,,272,272,272,272,272,272,272',
+',,272,,,,,,,272,,,272,272,272,272,272,272,272,272,272,272,272,272,,272',
+'272,,272,272,272,,,,,,,,,,,,,,,,,,,,272,,,272,,,272,272,,,272,,272,',
+'272,,272,,,272,,,,,,272,,,,,272,272,272,272,,272,272,272,272,,,,,272',
+'272,272,,,631,631,631,272,631,272,272,272,631,631,,,,631,,631,631,631',
+'631,631,631,631,,,,,,631,631,631,631,631,631,631,,,631,,,,,,,631,,,631',
+'631,631,631,631,631,631,631,,631,631,631,,631,631,,631,631,631,,,,,',
+',,,,,,,,,,,,,,631,,,631,,,631,631,,,631,,,,,,631,,,,,,,,,631,,,,,631',
+'631,631,631,,631,631,631,631,,,,,631,631,,,,630,630,630,631,630,631',
+'631,631,630,630,,,,630,,630,630,630,630,630,630,630,,,,,,630,630,630',
+'630,630,630,630,,,630,,,,,,,630,,,630,630,630,630,630,630,630,630,,630',
+'630,630,,630,630,,630,630,630,,,,,,,,,,,,,,,,,,,,630,,,630,,,630,630',
+',,630,,,,,,630,,,,,,,,,630,,,,,630,630,630,630,,630,630,630,630,,,,',
+'630,630,,,,626,626,626,630,626,630,630,630,626,626,,,,626,,626,626,626',
+'626,626,626,626,,,,,,626,626,626,626,626,626,626,,,626,,,,,,,626,,,626',
+'626,626,626,626,626,626,626,,626,626,626,,626,626,,626,626,626,,,,,',
+',,,,,,,,,,,,,,626,,,626,,,626,626,,,626,,,,,,626,,,,,,,,,626,,,,,626',
+'626,626,626,,626,626,626,626,,,,,626,626,,,,279,279,279,626,279,626',
+'626,626,279,279,,,,279,,279,279,279,279,279,279,279,,,,,,279,279,279',
+'279,279,279,279,,,279,,,,,,,279,,,279,279,279,279,279,279,279,279,,279',
+'279,279,,279,279,,279,279,279,,,,,,,,,,,,,,,,,,,,279,,,279,,,279,279',
+',,279,,,,,,279,,,,,,,,,279,,,,,279,279,279,279,,279,279,279,279,,,,',
+'279,279,,,,625,625,625,279,625,279,279,279,625,625,,,,625,,625,625,625',
+'625,625,625,625,,,,,,625,625,625,625,625,625,625,,,625,,,,,,,625,,,625',
+'625,625,625,625,625,625,625,,625,625,625,,625,625,,625,625,625,,,,,',
+',,,,,,,,,,,,,,625,,,625,,,625,625,,,625,,,,,,625,,,,,,,,,625,,,,,625',
+'625,625,625,,625,625,625,625,,,,,625,625,,,,281,281,281,625,281,625',
+'625,625,281,281,,,,281,,281,281,281,281,281,281,281,,,,,,281,281,281',
+'281,281,281,281,,,281,,,,,,,281,,,281,281,281,281,281,281,281,281,,281',
+'281,281,,281,281,,281,281,281,,,,,,,,,,,,,,,,,,,,281,,,281,,,281,281',
+',,281,,,,,,281,,,,,,,,,281,,,,,281,281,281,281,,281,281,281,281,,,,',
+'281,281,,,,284,284,284,281,284,281,281,281,284,284,,,,284,,284,284,284',
+'284,284,284,284,,,,,,284,284,284,284,284,284,284,,,284,,,,,,,284,,,284',
+'284,284,284,284,284,284,284,,284,284,284,,284,284,,284,284,284,,,,,',
+',,,,,,,,,,,,,,284,,,284,,,284,284,,,284,,,,,,284,,,,,,,,,284,,,,,284',
+'284,284,284,,284,284,284,284,,,,,284,284,,,,285,285,285,284,285,284',
+'284,284,285,285,,,,285,,285,285,285,285,285,285,285,,,,,,285,285,285',
+'285,285,285,285,,,285,,,,,,,285,,,285,285,285,285,285,285,285,285,,285',
+'285,285,,285,285,,285,285,285,,,,,,,,,,,,,,,,,,,,285,,,285,,,285,285',
+',,285,,,,,,285,,,,,,,,,285,,,,,285,285,285,285,,285,285,285,285,,,,',
+'285,285,,,,624,624,624,285,624,285,285,285,624,624,,,,624,,624,624,624',
+'624,624,624,624,,,,,,624,624,624,624,624,624,624,,,624,,,,,,,624,,,624',
+'624,624,624,624,624,624,624,624,624,624,624,,624,624,,624,624,624,,',
+',,,,,,,,,,,,,,,,,624,,,624,,,624,624,,,624,,,,624,,624,,,624,,,,,,624',
+',,,,624,624,624,624,,624,624,624,624,,,,,624,624,,,,,,,624,,624,624',
+'624,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,,,,,290,290',
+'290,290,,290,290,290,290,,,,,290,290,,,,623,623,623,290,623,290,290',
+'290,623,623,,,,623,,623,623,623,623,623,623,623,,,,,,623,623,623,623',
+'623,623,623,,,623,,,,,,,623,,,623,623,623,623,623,623,623,623,623,623',
+'623,623,,623,623,,623,623,623,,,,,,,,,,,,,,,,,,,,623,,,623,,,623,623',
+',,623,,623,,623,,623,,,623,,,,,,623,,,,,623,623,623,623,,623,623,623',
+'623,,,,,623,623,,,,620,620,620,623,620,623,623,623,620,620,,,,620,,620',
+'620,620,620,620,620,620,,,,,,620,620,620,620,620,620,620,,,620,,,,,',
+',620,,,620,620,620,620,620,620,620,620,,620,620,620,,620,620,,620,620',
+'620,,,,,,,,,,,,,,,,,,,,620,,,620,,,620,620,,,620,,,,,,620,,,,,,,,,620',
+',,,,620,620,620,620,,620,620,620,620,,,,,620,620,,,,619,619,619,620',
+'619,620,620,620,619,619,,,,619,,619,619,619,619,619,619,619,,,,,,619',
+'619,619,619,619,619,619,,,619,,,,,,,619,,,619,619,619,619,619,619,619',
+'619,,619,619,619,,619,619,,619,619,619,,,,,,,,,,,,,,,,,,,,619,,,619',
+',,619,619,,,619,,619,,,,619,,,,,,,,,619,,,,,619,619,619,619,,619,619',
+'619,619,,,,,619,619,,,,585,585,585,619,585,619,619,619,585,585,,,,585',
+',585,585,585,585,585,585,585,,,,,,585,585,585,585,585,585,585,,,585',
+',,,,,,585,,,585,585,585,585,585,585,585,585,585,585,585,585,,585,585',
+',585,585,585,,,,,,,,,,,,,,,,,,,,585,,,585,,,585,585,,,585,,585,,585',
+',585,,,585,,,,,,585,,,,,585,585,585,585,,585,585,585,585,,,,,585,585',
+',,,575,575,575,585,575,585,585,585,575,575,,,,575,,575,575,575,575,575',
+'575,575,,,,,,575,575,575,575,575,575,575,,,575,,,,,,,575,,,575,575,575',
+'575,575,575,575,575,575,575,575,575,,575,575,,575,575,575,,,,,,,,,,',
+',,,,,,,,,575,,,575,,,575,575,,,575,,575,,575,,575,,,575,,,,,,575,,,',
+',575,575,575,575,,575,575,575,575,,,,,575,575,,,,298,298,298,575,298',
+'575,575,575,298,298,,,,298,,298,298,298,298,298,298,298,,,,,,298,298',
+'298,298,298,298,298,,,298,,,,,,,298,,,298,298,298,298,298,298,298,298',
+',298,298,298,,298,298,,,,298,,,,,,,,,,,,,,,,,,,,298,,,298,,,298,298',
+',,298,,897,,897,897,897,897,897,,,,,,,,,,897,,298,298,298,298,,298,298',
+'298,298,,,,,298,298,,,,298,,897,298,,298,298,298,574,574,574,,574,897',
+'897,,574,574,897,,,574,,574,574,574,574,574,574,574,,,,,,574,574,574',
+'574,574,574,574,,,574,,,,,,,574,,,574,574,574,574,574,574,574,574,,574',
+'574,574,,574,574,,574,574,574,,,,,,,,,,,,,,,,,,,,574,,,574,,,574,574',
+',,574,,574,,,,574,,,,,,,,,574,,,,,574,574,574,574,,574,574,574,574,',
+',,,574,574,,,,554,554,554,574,554,574,574,574,554,554,,,,554,,554,554',
+'554,554,554,554,554,,,,,,554,554,554,554,554,554,554,,,554,,,,,,,554',
+',,554,554,554,554,554,554,554,554,,554,554,554,,554,554,,554,554,554',
+',,,,,,,,,,,,,,,,,,,554,,,554,,,554,554,,,554,,,,,,554,,,,,,,,,554,,',
+',,554,554,554,554,,554,554,554,554,,,,,554,554,,,,529,529,529,554,529',
+'554,554,554,529,529,,,,529,,529,529,529,529,529,529,529,,,,,,529,529',
+'529,529,529,529,529,,,529,,,,,,,529,,,529,529,529,529,529,529,529,529',
+'529,529,529,529,,529,529,,529,529,529,,,,,,,,,,,,,,,,,,,,529,,,529,',
+',529,529,,,529,,,,,,529,,,529,,,,,,529,,,,,529,529,529,529,,529,529',
+'529,529,,,,,529,529,,,,526,526,526,529,526,529,529,529,526,526,,,,526',
+',526,526,526,526,526,526,526,,,,,,526,526,526,526,526,526,526,,,526',
+',,,,,,526,,,526,526,526,526,526,526,526,526,526,526,526,526,,526,526',
+',526,526,526,,,,,,,,,,,,,,,,,,,,526,,,526,,,526,526,,,526,,526,,,,526',
+',,526,,,,,,526,,,,,526,526,526,526,,526,526,526,526,,,,,526,526,,,,520',
+'520,520,526,520,526,526,526,520,520,,,,520,,520,520,520,520,520,520',
+'520,,,,,,520,520,520,520,520,520,520,,,520,,,,,,,520,,,520,520,520,520',
+'520,520,520,520,,520,520,520,,520,520,,520,520,520,,,,,,,,,,,,,,,,,',
+',,520,,,520,,,520,520,,,520,,,,,,520,,,,,,,,,520,,,,,520,520,520,520',
+',520,520,520,520,,,,,520,520,,,,516,516,516,520,516,520,520,520,516',
+'516,,,,516,,516,516,516,516,516,516,516,,,,,,516,516,516,516,516,516',
+'516,,,516,,,,,,,516,,,516,516,516,516,516,516,516,516,,516,516,516,',
+'516,516,,516,516,516,,,,,,,,,,,,,,,,,,,,516,,,516,,,516,516,,,516,,',
+',,,516,,,,,,,,,516,,,,,516,516,516,516,,516,516,516,516,,,,,516,516',
+',,,515,515,515,516,515,516,516,516,515,515,,,,515,,515,515,515,515,515',
+'515,515,,,,,,515,515,515,515,515,515,515,,,515,,,,,,,515,,,515,515,515',
+'515,515,515,515,515,,515,515,515,,515,515,,515,515,515,,,,,,,,,,,,,',
+',,,,,,515,,,515,,,515,515,,,515,,,,,,515,,,,,,,,,515,,,,,515,515,515',
+'515,,515,515,515,515,,,,,515,515,,,,512,512,512,515,512,515,515,515',
+'512,512,,,,512,,512,512,512,512,512,512,512,,,,,,512,512,512,512,512',
+'512,512,,,512,,,,,,,512,,,512,512,512,512,512,512,512,512,,512,512,512',
+',512,512,,,,512,,,,,,,,,,,,,,,,,,,,512,,,512,,,512,512,,,512,,,,,,,',
+',,,,,,,,,,,,512,512,512,512,,512,512,512,512,,,,,512,512,,,,506,506',
+'506,512,506,512,512,512,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,506,,,,,506,506,,,,315,315,315,506,315,506,506',
+'506,315,315,,,,315,,315,315,315,315,315,315,315,,,,,,315,315,315,315',
+'315,315,315,,,315,,,,,,,315,,,315,315,315,315,315,315,315,315,,315,315',
+'315,,315,315,,,,315,,,,,,,,,,,,,,,,,,,,315,,,315,,,315,315,,,315,,,',
+',,,,,,,,,,,,,,,,315,315,315,315,,315,315,315,315,,,,,315,315,,,,504',
+'504,504,315,504,315,315,315,504,504,,,,504,,504,504,504,504,504,504',
+'504,,,,,,504,504,504,504,504,504,504,,,504,,,,,,,504,,,504,504,504,504',
+'504,504,504,504,,504,504,504,,504,504,,,,504,,,,,,,,,,,,,,,,,,,,504',
+',,504,,,504,504,,,504,,989,,989,989,989,989,989,,,,,,,,,,989,,504,504',
+'504,504,,504,504,504,504,,,,,504,504,,,,,,989,504,,504,504,504,496,496',
+'496,496,496,989,989,,496,496,989,,,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,496,,,,,,496,496,,496,496,496,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,,,,323,323,323,490,323,490,490,490,323,323,,,,323,,323',
+'323,323,323,323,323,323,,,,,,323,323,323,323,323,323,323,,,323,,,,,',
+',323,,,323,323,323,323,323,323,323,323,,323,323,323,,323,323,,323,323',
+'323,,,,,,,,,,,,,,,,,,,,323,,,323,323,,323,323,,,323,,,,,,323,,,,,,,',
+',323,,,,,323,323,323,323,,323,323,323,323,,,,,323,323,,,,325,325,325',
+'323,325,323,323,323,325,325,,,,325,,325,325,325,325,325,325,325,,,,',
+',325,325,325,325,325,325,325,,,325,,,,,,,325,,,325,325,325,325,325,325',
+'325,325,,325,325,325,,325,325,,325,325,325,,,,,,,,,,,,,,,,,,,,325,,',
+'325,,,325,325,,,325,,,,,,325,,,,,,,,,325,,,,,325,325,325,325,,325,325',
+'325,325,,,,,325,325,,,,488,488,488,325,488,325,325,325,488,488,,,,488',
+',488,488,488,488,488,488,488,,,,,,488,488,488,488,488,488,488,,,488',
+',,,,,,488,,,488,488,488,488,488,488,488,488,488,488,488,488,,488,488',
+',488,488,488,,,,,,,,,,,,,,,,,,,,488,,,488,,,488,488,,,488,,,,488,,488',
+',,488,,,,,,488,,,,,488,488,488,488,,488,488,488,488,,,,,488,488,,,,486',
+'486,486,488,486,488,488,488,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,,,,472,472,472,486,472,486',
+'486,486,472,472,,,,472,,472,472,472,472,472,472,472,,,,,,472,472,472',
+'472,472,472,472,,,472,,,,,,,472,,,472,472,472,472,472,472,472,472,,472',
+'472,472,,472,472,,472,472,472,,,,,,,,,,,,,,,,,,,,472,,,472,,,472,472',
+',,472,,,,,,472,,,,,,,,,472,,,,,472,472,472,472,,472,472,472,472,,,,',
+'472,472,,,,446,446,446,472,446,472,472,472,446,446,,,,446,,446,446,446',
+'446,446,446,446,,,,,,446,446,446,446,446,446,446,,,446,,,,,,,446,,,446',
+'446,446,446,446,446,446,446,,446,446,446,,446,446,,446,446,446,,,,,',
+',,,,,,,,,,,,,,446,,,446,,,446,446,,,446,,,,,,446,,,,,,,,,446,,,,,446',
+'446,446,446,,446,446,446,446,,,,,446,446,,,,445,445,445,446,445,446',
+'446,446,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,,,,444,444,444,445,444,445,445,445,444,444,,,,444,,444,444,444',
+'444,444,444,444,,,,,,444,444,444,444,444,444,444,,,444,,,,,,,444,,,444',
+'444,444,444,444,444,444,444,,444,444,444,,444,444,,444,444,444,,,,,',
+',,,,,,,,,,,,,,444,,,444,,,444,444,,,444,,,,,,444,,,,,,,,,444,,,,,444',
+'444,444,444,,444,444,444,444,,,,,444,444,,,,442,442,442,444,442,444',
+'444,444,442,442,,,,442,,442,442,442,442,442,442,442,,,,,,442,442,442',
+'442,442,442,442,,,442,,,,,,,442,,,442,442,442,442,442,442,442,442,442',
+'442,442,442,,442,442,,442,442,442,,,,,,,,,,,,,,,,,,,,442,,,442,,,442',
+'442,,,442,,442,,442,,442,,,442,,,,,,442,,,,,442,442,442,442,,442,442',
+'442,442,,,,,442,442,,,,404,404,404,442,404,442,442,442,404,404,,,,404',
+',404,404,404,404,404,404,404,,,,,,404,404,404,404,404,404,404,,,404',
+',,,,,,404,,,404,404,404,404,404,404,404,404,,404,404,404,,404,404,,404',
+'404,404,,,,,,,,,,,,,,,,,,,,404,,,404,,,404,404,,,404,,,,,,404,,,,,,',
+',,404,,,,,404,404,404,404,,404,404,404,404,,,,,404,404,,,,340,340,340',
+'404,340,404,404,404,340,340,,,,340,,340,340,340,340,340,340,340,,,,',
+',340,340,340,340,340,340,340,,,340,,,,,,,340,,,340,340,340,340,340,340',
+'340,340,,340,340,340,,340,340,,340,340,340,,,,,,,,,,,,,,,,,,,,340,,',
+'340,,,340,340,,,340,,,,,,340,,,,,,,,,340,,,,,340,340,340,340,,340,340',
+'340,340,,,,,340,340,,,,376,376,376,340,376,340,340,340,376,376,,,,376',
+',376,376,376,376,376,376,376,,,,,,376,376,376,376,376,376,376,,,376',
+',,,,,,376,,,376,376,376,376,376,376,376,376,,376,376,376,,376,376,,376',
+'376,376,,,,,,,,,,,,,,,,,,,,376,,,376,,,376,376,,,376,,,,,,376,,,,,,',
+',,376,,,,,376,376,376,376,,376,376,376,376,,,,,376,376,,,,341,341,341',
+'376,341,376,376,376,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,,,,360,360,360,341,360,341,341,341,360,360,,,,360',
+',360,360,360,360,360,360,360,,,,,,360,360,360,360,360,360,360,,,360',
+',,,,,,360,,,360,360,360,360,360,360,360,360,,360,360,360,,360,360,,360',
+'360,360,,,,,,,,,,,,,,,,,,,,360,,,360,,,360,360,,,360,,,,,,360,,,,,,',
+',,360,,,,,360,360,360,360,,360,360,360,360,,,,,360,360,,,,,,,360,,360',
+'360,360,5,5,5,5,5,,,,5,5,,,,5,,5,5,5,5,5,5,5,,,,,,5,5,5,5,5,5,5,,,5',
+',,,,,5,5,5,5,5,5,5,5,5,5,5,5,,5,5,5,,5,5,,5,5,5,,,,,,,,,,,,,,,,,,,,5',
+',,5,,,5,5,,,5,,5,,,,5,,,,,,,,,5,,,,,5,5,5,5,,5,5,5,5,,,,,5,5,,,,923',
+'923,923,5,923,5,5,5,923,923,,,,923,,923,923,923,923,923,923,923,,,,',
+',923,923,923,923,923,923,923,,,923,,,,,,,923,,,923,923,923,923,923,923',
+'923,923,,923,923,923,,923,923,,923,923,923,,,,,,,,,,,,,,,,,,,,923,,',
+'923,,,923,923,,,923,,,,,,923,,,,,,,,,923,,,,,923,923,923,923,,923,923',
+'923,923,,,,,923,923,,,,886,886,886,923,886,923,923,923,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,,,886,886,,,886,,,,,,,,,,,,,,,,,,',
+',886,886,886,886,,886,886,886,886,,,,,886,886,,,,874,874,874,886,874',
+'886,886,886,874,874,,,,874,,874,874,874,874,874,874,874,,,,,,874,874',
+'874,874,874,874,874,,,874,,,,,,,874,,,874,874,874,874,874,874,874,874',
+',874,874,874,,874,874,,,,874,,,,,,,,,,,,,,,,,,,,874,,,874,,,874,874',
+',,874,,,,,,,,,,,,,,,,,,,,874,874,874,874,,874,874,874,874,,,,,874,874',
+',,,860,860,860,874,860,874,874,874,860,860,,,,860,,860,860,860,860,860',
+'860,860,,,,,,860,860,860,860,860,860,860,,,860,,,,,,,860,,,860,860,860',
+'860,860,860,860,860,,860,860,860,,860,860,,860,860,860,,,,,,,,,,,,,',
+',,,,,,860,,,860,,,860,860,,,860,,,,,,860,,,,,,,,,860,,,,,860,860,860',
+'860,,860,860,860,860,,,,,860,860,,,,859,859,859,860,859,860,860,860',
+'859,859,,,,859,,859,859,859,859,859,859,859,,,,,,859,859,859,859,859',
+'859,859,,,859,,,,,,,859,,,859,859,859,859,859,859,859,859,859,859,859',
+'859,,859,859,,859,859,859,,,,,,,,,,,,,,,,,,,,859,,,859,,,859,859,,,859',
+',,,859,,859,,,859,,,,,,859,,,,,859,859,859,859,,859,859,859,859,,,,',
+'859,859,,,,842,842,842,859,842,859,859,859,842,842,,,,842,,842,842,842',
+'842,842,842,842,,,,,,842,842,842,842,842,842,842,,,842,,,,,,,842,,,842',
+'842,842,842,842,842,842,842,,842,842,842,,842,842,,842,842,842,,,,,',
+',,,,,,,,,,,,,,842,,,842,,,842,842,,,842,,842,,,,842,,,,,,,,,842,,,,',
+'842,842,842,842,,842,842,842,842,,,,,842,842,,,,20,20,20,842,20,842',
+'842,842,20,20,,,,20,,20,20,20,20,20,20,20,,,,,,20,20,20,20,20,20,20',
+',,20,,,,,,,20,,,20,20,20,20,20,20,20,20,,20,20,20,,20,20,,20,20,20,',
+',,,,,,,,,,,,,,,,,,20,,,20,,,20,20,,,20,,,,,,20,,,,,,,,,20,,,,,20,20',
+'20,20,,20,20,20,20,,,,,20,20,,,,837,837,837,20,837,20,20,20,837,837',
+',,,837,,837,837,837,837,837,837,837,,,,,,837,837,837,837,837,837,837',
+',,837,,,,,,,837,,,837,837,837,837,837,837,837,837,,837,837,837,,837',
+'837,,837,837,837,,,,,,,,,,,,,,,,,,,,837,,,837,,,837,837,,,837,,,,,,837',
+',,,,,,,,837,,,,,837,837,837,837,,837,837,837,837,,,,,837,837,,,,29,29',
+'29,837,29,837,837,837,29,29,,,,29,,29,29,29,29,29,29,29,,,,,,29,29,29',
+'29,29,29,29,,,29,,,,,,,29,,,29,29,29,29,29,29,29,29,29,29,29,29,,29',
+'29,,29,29,29,,,,,,,,,,,,,,,,,,,,29,,,29,,,29,29,,,29,,29,,29,,29,,,29',
+',,,,,29,,,,,29,29,29,29,,29,29,29,29,,,,,29,29,,,,30,30,30,29,30,29',
+'29,29,30,30,,,,30,,30,30,30,30,30,30,30,,,,,,30,30,30,30,30,30,30,,',
+'30,,,,,,,30,,,30,30,30,30,30,30,30,30,30,30,30,30,,30,30,,30,30,30,',
+',,,,,,,,,,,,,,,,,,30,,,30,,,30,30,,,30,,30,,30,,30,,,30,,,,,,30,,,,',
+'30,30,30,30,,30,30,30,30,,,,,30,30,,,,31,31,31,30,31,30,30,30,31,31',
+',,,31,,31,31,31,31,31,31,31,,,,,,31,31,31,31,31,31,31,,,31,,,,,,,31',
+',,31,31,31,31,31,31,31,31,31,31,31,31,,31,31,,31,31,31,,,,,,,,,,,,,',
+',,,,,,31,,,31,,,31,31,,,31,,31,,31,,31,,,31,,,,,,31,,,,,31,31,31,31',
+',31,31,31,31,,,,,31,31,,,,34,34,34,31,34,31,31,31,34,34,,,,34,,34,34',
+'34,34,34,34,34,,,,,,34,34,34,34,34,34,34,,,34,,,,,,,34,,,34,34,34,34',
+'34,34,34,34,,34,34,34,,34,34,,,,34,,,,,,,,,,,,,,,,,,,,34,,,34,,,34,34',
+',,34,,34,,,,,,,,,,,,,,,,,,34,34,34,34,,34,34,34,34,,,,,34,34,,,,35,35',
+'35,34,35,34,34,34,35,35,,,,35,,35,35,35,35,35,35,35,,,,,,35,35,35,35',
+'35,35,35,,,35,,,,,,,35,,,35,35,35,35,35,35,35,35,,35,35,35,,35,35,,',
+',35,,,,,,,,,,,,,,,,,,,,35,,,35,,,35,35,,,35,,1015,,1015,1015,1015,1015',
+'1015,,,,,,,,,,1015,,35,35,35,35,,35,35,35,35,,,,,35,35,,,,35,,1015,35',
+',35,35,35,787,787,787,,787,1015,1015,,787,787,1015,,,787,,787,787,787',
+'787,787,787,787,,,,,,787,787,787,787,787,787,787,,,787,,,,,,,787,,,787',
+'787,787,787,787,787,787,787,,787,787,787,,787,787,,,,787,,,,,,,,,,,',
+',,,,,,,,787,,,787,,,787,787,,,787,,,,,,,,,,,,,,,,,,,,787,787,787,787',
+',787,787,787,787,,,,,787,787,,,,773,773,773,787,773,787,787,787,773',
+'773,,,,773,,773,773,773,773,773,773,773,,,,,,773,773,773,773,773,773',
+'773,,,773,,,,,,,773,,,773,773,773,773,773,773,773,773,,773,773,773,',
+'773,773,,773,773,773,,,,,,,,,,,,,,,,,,,,773,,,773,,,773,773,,,773,,',
+',,,773,,,,,,,,,773,,,,,773,773,773,773,,773,773,773,773,,,,,773,773',
+',,,772,772,772,773,772,773,773,773,772,772,,,,772,,772,772,772,772,772',
+'772,772,,,,,,772,772,772,772,772,772,772,,,772,,,,,,,772,,,772,772,772',
+'772,772,772,772,772,,772,772,772,,772,772,,772,772,772,,,,,,,,,,,,,',
+',,,,,,772,,,772,,,772,772,,,772,,,,,,772,,,,,,,,,772,,,,,772,772,772',
+'772,,772,772,772,772,,,,,772,772,,,,771,771,771,772,771,772,772,772',
+'771,771,,,,771,,771,771,771,771,771,771,771,,,,,,771,771,771,771,771',
+'771,771,,,771,,,,,,,771,,,771,771,771,771,771,771,771,771,,771,771,771',
+',771,771,,771,771,771,,,,,,,,,,,,,,,,,,,,771,,,771,,,771,771,,,771,',
+',,,,771,,,,,,,,,771,,,,,771,771,771,771,,771,771,771,771,,,,,771,771',
+',,,42,42,42,771,42,771,771,771,42,42,,,,42,,42,42,42,42,42,42,42,,,',
+',,42,42,42,42,42,42,42,,,42,,,,,,,42,,,42,42,42,42,42,42,42,42,,42,42',
+'42,,42,42,,42,42,42,,,,,,,,,,,,,,,,,,,,42,,,42,,,42,42,,,42,,,,,,42',
+',,,,,,,,42,,,,,42,42,42,42,,42,42,42,42,,,,,42,42,,,,43,43,43,42,43',
+'42,42,42,43,43,,,,43,,43,43,43,43,43,43,43,,,,,,43,43,43,43,43,43,43',
+',,43,,,,,,,43,,,43,43,43,43,43,43,43,43,,43,43,43,,43,43,,43,43,43,',
+',,,,,,,,,,,,,,,,,,43,,,43,,,43,43,,,43,,,,,,43,,,,,,,,,43,,,,,43,43',
+'43,43,,43,43,43,43,,,,,43,43,,,,44,44,44,43,44,43,43,43,44,44,,,,44',
+',44,44,44,44,44,44,44,,,,,,44,44,44,44,44,44,44,,,44,,,,,,,44,,,44,44',
+'44,44,44,44,44,44,,44,44,44,,44,44,,44,44,44,,,,,,,,,,,,,,,,,,,,44,',
+',44,,,44,44,,,44,,,,,,44,,,,,,,,,44,,,,,44,44,44,44,,44,44,44,44,,,',
+',44,44,,,,770,770,770,44,770,44,44,44,770,770,,,,770,,770,770,770,770',
+'770,770,770,,,,,,770,770,770,770,770,770,770,,,770,,,,,,,770,,,770,770',
+'770,770,770,770,770,770,,770,770,770,,770,770,,770,770,770,,,,,,,,,',
+',,,,,,,,,,770,,,770,,,770,770,,,770,,,,,,770,,,,,,,,,770,,,,,770,770',
+'770,770,,770,770,770,770,,,,,770,770,,,,756,756,756,770,756,770,770',
+'770,756,756,,,,756,,756,756,756,756,756,756,756,,,,,,756,756,756,756',
+'756,756,756,,,756,,,,,,,756,,,756,756,756,756,756,756,756,756,,756,756',
+'756,,756,756,,756,756,756,,,,,,,,,,,,,,,,,,,,756,,,756,,,756,756,,,756',
+',,,,,756,,,,,,,,,756,,,,,756,756,756,756,,756,756,756,756,,,,,756,756',
+',,,985,985,985,756,985,756,756,756,985,985,,,,985,,985,985,985,985,985',
+'985,985,,,,,,985,985,985,985,985,985,985,,,985,,,,,,,985,,,985,985,985',
+'985,985,985,985,985,985,985,985,985,,985,985,,985,985,985,,,,,,,,,,',
+',,,,,,,,,985,,,985,,,985,985,,,985,,985,,985,,985,,,985,,,,,,985,,,',
+',985,985,985,985,,985,985,985,985,,,,,985,985,,,,754,754,754,985,754',
+'985,985,985,754,754,,,,754,,754,754,754,754,754,754,754,,,,,,754,754',
+'754,754,754,754,754,,,754,,,,,,,754,,,754,754,754,754,754,754,754,754',
+',754,754,754,,754,754,,754,754,754,,,,,,,,,,,,,,,,,,,,754,,,754,,,754',
+'754,,,754,,,,,,754,,,,,,,,,754,,,,,754,754,754,754,,754,754,754,754',
+',,,,754,754,,,,59,59,59,754,59,754,754,754,59,59,,,,59,,59,59,59,59',
+'59,59,59,,,,,,59,59,59,59,59,59,59,,,59,,,,,,,59,,,59,59,59,59,59,59',
+'59,59,59,59,59,59,,59,59,,59,59,59,,,,,,,,,,,,,,,,,,,,59,,,59,,,59,59',
+',,59,,59,,,,59,,,59,,,,,,59,,,,,59,59,59,59,,59,59,59,59,,,,,59,59,',
+',,60,60,60,59,60,59,59,59,60,60,,,,60,,60,60,60,60,60,60,60,,,,,,60',
+'60,60,60,60,60,60,,,60,,,,,,,60,,,60,60,60,60,60,60,60,60,60,60,60,60',
+',60,60,,60,60,60,,,,,,,,,,,,,,,,,,,,60,,,60,,,60,60,,,60,,,,,,60,,,60',
+',,,,,60,,,,,60,60,60,60,,60,60,60,60,,,,,60,60,,,,63,63,63,60,63,60',
+'60,60,63,63,,,,63,,63,63,63,63,63,63,63,,,,,,63,63,63,63,63,63,63,,',
+'63,,,,,,,63,,,63,63,63,63,63,63,63,63,,63,63,63,,63,63,,63,63,63,,,',
+',,,,,,,,,,,,,,,,63,,,63,,,63,63,,,63,,,,,,63,,,,,,,,,63,,,,,63,63,63',
+'63,,63,63,63,63,,,,,63,63,,,,64,64,64,63,64,63,63,63,64,64,,,,64,,64',
+'64,64,64,64,64,64,,,,,,64,64,64,64,64,64,64,,,64,,,,,,,64,,,64,64,64',
+'64,64,64,64,64,,64,64,64,,64,64,,64,64,64,,,,,,,,,,,,,,,,,,,,64,,,64',
+',,64,64,,,64,,,,,,64,,,,,,,,,64,,,,,64,64,64,64,,64,64,64,64,,,,,64',
+'64,,,,67,67,67,64,67,64,64,64,67,67,,,,67,,67,67,67,67,67,67,67,,,,',
+',67,67,67,67,67,67,67,,,67,,,,,,,67,,,67,67,67,67,67,67,67,67,,67,67',
+'67,,67,67,,67,67,67,,,,,,,,,,,,,,,,,,,,67,,,67,,,67,67,,,67,,,,,,67',
+',,,,,,,,67,,,,,67,67,67,67,,67,67,67,67,,,,,67,67,67,,,,,67,67,,67,67',
+'67,68,68,68,,68,,,,68,68,,,,68,,68,68,68,68,68,68,68,,,,,,68,68,68,68',
+'68,68,68,,,68,,,,,,,68,,,68,68,68,68,68,68,68,68,,68,68,68,,68,68,,',
+',68,,,,,,,,,,,,,,,,,,,,68,,,68,,,68,68,,,68,,68,,,,,,,,,,,,,,,,,,68',
+'68,68,68,,68,68,68,68,,,,,68,68,,,,69,69,69,68,69,68,68,68,69,69,,,',
+'69,,69,69,69,69,69,69,69,,,,,,69,69,69,69,69,69,69,,,69,,,,,,,69,,,69',
+'69,69,69,69,69,69,69,,69,69,69,,69,69,,,,69,,,,,,,,,,,,,,,,,69,,,69',
+',,69,,,69,69,,,69,,,,,,,,,,,,,,,,,,,,69,69,69,69,,69,69,69,69,,,,,69',
+'69,,,,70,70,70,69,70,69,69,69,70,70,,,,70,,70,70,70,70,70,70,70,,,,',
+',70,70,70,70,70,70,70,,,70,,,,,,,70,,,70,70,70,70,70,70,70,70,,70,70',
+'70,,70,70,,,,70,,,,,,,,,,,,,,,,,,,,70,,,70,,,70,70,,,70,,,,,,,,,,,,',
+',,,,,,,70,70,70,70,,70,70,70,70,,,,,70,70,,,,731,731,731,70,731,70,70',
+'70,731,731,,,,731,,731,731,731,731,731,731,731,,,,,,731,731,731,731',
+'731,731,731,,,731,,,,,,,731,,,731,731,731,731,731,731,731,731,,731,731',
+'731,,731,731,,731,731,731,,,,,,,,,,,,,,,,,,,,731,,,731,,,731,731,,,731',
+',,,,,731,,,,,,,,,731,,,,,731,731,731,731,,731,731,731,731,,,,,731,731',
+',,,,,,731,,731,731,731,111,111,111,111,111,,,,111,111,,,,111,,111,111',
+'111,111,111,111,111,,,,,,111,111,111,111,111,111,111,,,111,,,,,,111',
+'111,111,111,111,111,111,111,111,111,111,111,,111,111,111,,111,111,,111',
+'111,111,,,,,,,,,,,,,,,,,,,,111,,,111,,,111,111,,,111,,111,,,,111,,,',
+',,,,,111,,,,,111,111,111,111,,111,111,111,111,,,,,111,111,,,,,424,111',
+'111,,111,111,111,424,424,424,,,424,424,424,,424,,,,,,,,,424,424,424',
+'424,,,,,,,,424,424,,424,424,424,424,424,,,,,,,,,,,,,,,,,,,,,,,,424,424',
+'424,424,424,424,424,424,424,424,424,424,424,424,,,424,424,424,,,424',
+',,424,,,424,424,,424,,424,,424,,424,424,,424,424,424,424,424,,424,424',
+'424,,,,,,,,,,,,,,424,,,424,424,424,424,56,424,,424,,,,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,56,56,425,56,,56,,,,425,425,425,,,425,425,425,,425,,,,,',
+',,,425,425,425,425,,,,,,,,425,425,,425,425,425,425,425,,,,,,,,,,,,,',
+',,,,,,,,,,425,425,425,425,425,425,425,425,425,425,425,425,425,425,,',
+'425,425,425,,,425,,,425,,,425,425,,425,,425,,425,,425,425,,425,425,425',
+'425,425,,425,425,425,,,,,,,,,,,,,,425,,,425,425,425,425,27,425,,425',
+',,,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,,474,27,27,,27,,27,474,474,474,,,474,474,474',
+'646,474,646,646,646,646,646,,,,474,474,,,,,646,,,,,474,474,,474,474',
+'474,474,474,,,,,,,,,,646,,,,,,,,,646,646,646,646,,,,646,,,,,,,,,474',
+',28,,,,,474,,28,28,28,474,474,28,28,28,646,28,,,,,,,,,,28,28,,,,,,474',
+'474,,28,28,,28,28,28,28,28,,,,,474,,,474,,,,,474,,,,,,,,,,,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,415,28,,,,,,415,415,415,,,415,415',
+'415,28,415,,28,28,,28,,28,,415,415,415,,,,,,,,,415,415,,415,415,415',
+'415,415,,,,,,,,,,,,,,,,,,,,,,,,415,415,415,415,415,415,415,415,415,415',
+'415,415,415,415,,,415,415,415,,,415,,415,415,,,415,415,,415,,415,,415',
+',415,415,,415,415,415,415,415,,415,415,415,,,,,,,,,,,,,,415,,,415,415',
+',415,,415,616,616,616,616,616,616,616,616,616,616,616,616,616,616,616',
+'616,616,616,616,616,616,616,616,616,,,,616,616,616,616,616,616,616,616',
+'616,616,,,,,,616,616,616,616,616,616,616,616,616,,,616,,,,,,,,,616,616',
+',616,616,616,616,616,616,616,,,616,616,,,,616,616,616,616,,,,,,,,,,',
+',,,616,616,,616,616,616,616,616,616,616,616,616,616,616,616,,,616,616',
+',,,,,,,,,,,,,616,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,,,',
+'8,8,8,8,8,8,8,8,8,8,,,,,,8,8,8,8,8,8,8,8,8,8,,8,,,,,,,,,8,8,,8,8,8,8',
+'8,8,8,,,8,8,,,,8,8,8,8,,,,,,,,,,,,,,8,8,,8,8,8,8,8,8,8,8,8,8,8,8,,,8',
+'8,,,,,,,,,,,,,,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,,,',
+'9,9,9,9,9,9,9,9,9,9,,,,,,9,9,9,9,9,9,9,9,9,,,9,,,,,,,,,9,9,,9,9,9,9',
+'9,9,9,,,9,9,,,,9,9,9,9,,,,,,,,,,,,,,9,9,,9,9,9,9,9,9,9,9,9,9,9,9,,,9',
+'9,,,,,,,,,,,,,,9,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,395,,,395,395,,,,395,395,395,395',
+',,,,,,,,,,,,,395,395,,395,395,395,395,395,395,395,395,395,395,395,395',
+',,395,395,,,,,,,,,,,,,,395,738,738,738,738,738,738,738,738,738,738,738',
+'738,738,738,738,738,738,738,738,738,738,738,738,738,,,,738,738,738,738',
+'738,738,738,738,738,738,,,,,,738,738,738,738,738,738,738,738,738,,,738',
+',,,,,,,,738,738,,738,738,738,738,738,738,738,,,738,738,,,,738,738,738',
+'738,,,,,,,,,,,,,,738,738,,738,738,738,738,738,738,738,738,738,738,738',
+'738,,,738,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71',
+'71,71,71,71,,,,71,71,71,71,71,71,71,71,71,71,,,,,,71,71,71,71,71,71',
+'71,71,71,71,71,71,,71,,,,,,,71,71,,71,71,71,71,71,71,71,,,71,71,,,,71',
+'71,71,71,,,,,,71,,,,,,,,71,71,,71,71,71,71,71,71,71,71,71,71,71,71,508',
+'508,71,,508,,,,,,,,,508,508,,508,508,508,508,508,508,508,,,508,508,',
+',,508,508,508,508,,,,,,508,,,,,,,,508,508,,508,508,508,508,508,508,508',
+'508,508,508,508,508,987,987,508,,987,,,,,,,,,987,987,,987,987,987,987',
+'987,987,987,,,987,987,,,,987,987,987,987,,,,,,987,,,,,,,,987,987,,987',
+'987,987,987,987,987,987,987,987,987,987,987,441,441,987,,441,,,,,,,',
+',441,441,,441,441,441,441,441,441,441,,,441,441,,,,441,441,441,441,',
+',,,,441,,,,,,,,441,441,,441,441,441,441,441,441,441,441,441,441,441',
+'441,440,440,441,,440,,,,,,,,,440,440,,440,440,440,440,440,440,440,,',
+'440,440,,,,440,440,440,440,,,,,,440,,,,,,,,440,440,,440,440,440,440',
+'440,440,440,440,440,440,440,440,507,507,440,,507,,,,,,,,,507,507,,507',
+'507,507,507,507,507,507,,,507,507,,,,507,507,507,507,,,,,,507,,,,,,',
+',507,507,,507,507,507,507,507,507,507,507,507,507,507,507,576,576,507',
+',576,,,,,,,,,576,576,,576,576,576,576,576,576,576,,,576,576,,,,576,576',
+'576,576,,,,,,576,,,,,,,,576,576,,576,576,576,576,576,576,576,576,576',
+'576,576,576,577,577,576,,577,,,,,,,,,577,577,,577,577,577,577,577,577',
+'577,,,577,577,,,,577,577,577,577,,,,,,577,,,,,,,,577,577,,577,577,577',
+'577,577,577,577,577,577,577,577,577,939,939,577,,939,,,,,,,,,939,939',
+',939,939,939,939,939,939,939,,,939,939,,,,939,939,939,939,,,,,,939,',
+',,,,,,939,939,,939,939,939,939,939,939,939,939,939,939,939,939,583,583',
+'939,,583,,,,,,,,,583,583,,583,583,583,583,583,583,583,,,583,583,,,,583',
+'583,583,583,,,,,,583,,,,,,,,583,583,,583,583,583,583,583,583,583,583',
+'583,583,583,583,517,517,583,,517,,,,,,,,,517,517,,517,517,517,517,517',
+'517,517,,,517,517,,,,517,517,517,517,,,,,,517,,,,,,,,517,517,,517,517',
+'517,517,517,517,517,517,517,517,517,517,584,584,517,,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,518',
+'518,584,,518,,,,,,,,,518,518,,518,518,518,518,518,518,518,,,518,518',
+',,,518,518,518,518,,,,,,518,,,,,,,,518,518,,518,518,518,518,518,518',
+'518,518,518,518,518,518,259,259,518,,259,,,,,,,,,259,259,,259,259,259',
+'259,259,259,259,,,259,259,,,,259,259,259,259,,,,,,,,,,,,,,259,259,,259',
+'259,259,259,259,259,259,259,259,259,259,259,210,210,259,,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,986,986,210,,986,,,,,,,,,986,986,,986,986,986,986,986,986,986,,',
+'986,986,,,,986,986,986,986,,,,,,986,,,,,,,,986,986,,986,986,986,986',
+'986,986,986,986,986,986,986,986,211,211,986,,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,,893,211,893',
+'893,893,893,893,,977,,977,977,977,977,977,,893,336,,336,336,336,336',
+'336,977,534,,534,534,534,534,534,,336,,,,,893,,,534,,,,,977,893,893',
+'893,893,,,,893,336,336,977,977,,,,977,534,336,336,336,336,,,,336,534',
+'534,534,534,,,975,534,975,975,975,975,975,973,,973,973,973,973,973,',
+'971,975,971,971,971,971,971,,973,,,,,,,737,971,737,737,737,737,737,',
+'975,,,,,,,973,737,,,975,975,,,971,975,,973,973,,,,973,971,971,971,971',
+',,737,971,736,,736,736,736,736,736,737,737,737,737,,,,737,693,736,693',
+'693,693,693,693,,865,,865,865,865,865,865,,693,,,,,,,736,865,867,,867',
+'867,867,867,867,736,736,736,736,,,693,736,,867,,,,,865,693,693,693,693',
+',,,693,865,865,865,865,,,,865,867,869,,869,869,869,869,869,,867,867',
+'867,867,,,,867,869,695,,695,695,695,695,695,697,,697,697,697,697,697',
+',,695,,,,,869,,697,899,,899,899,899,899,899,,869,869,,,,869,695,,899',
+',,,,697,,695,695,695,695,,,,695,,697,697,,,,697,899,895,,895,895,895',
+'895,895,,,,899,899,,,,899,895,,,,,,,,,,,,,,,,,,,,,,895,,,,,,,,,,,895',
+'895,,,,895' ]
+ racc_action_check = arr = ::Array.new(25310, 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 = [
+ 3995, 568, nil, -83, nil, 17702, 1301, 370, 23341, 23470,
+ 1210, nil, 1170, 1222, 425, 419, 1157, 605, nil, -75,
+ 18626, 2726, 1263, nil, 476, nil, 162, 22754, 22964, 18890,
+ 19022, 19154, nil, 1739, 19286, 19418, nil, 1069, -77, 140,
+ 1112, 197, 20086, 20218, 20350, 1034, 965, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, 22484, nil, -70, 21010,
+ 21142, 71, nil, 21274, 21406, nil, nil, 21538, 21678, 21810,
+ 21942, 23842, nil, nil, nil, nil, nil, 143, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, 359, nil, nil, 472, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 1121,
+ nil, 22214, nil, nil, nil, nil, 5114, 5246, 5378, 5510,
+ 5650, 2021, nil, 585, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, 928, nil, 2585, 6046, 6178, 6310,
+ 24710, 24834, 6706, 6838, 6970, 7102, 7234, 7366, nil, nil,
+ 1175, 110, 358, 953, 205, 863, 897, nil, 7894, 1598,
+ 890, 8026, 8158, 8290, 8422, 8554, 8686, 8818, 8950, 9082,
+ 9214, 9346, 9478, 9610, 9742, 9874, 10006, 10138, 10270, 10402,
+ 10534, 10666, 10798, 10930, 11062, 11194, nil, nil, nil, 24648,
+ nil, nil, 878, 11590, 11722, nil, nil, nil, nil, nil,
+ nil, nil, 11854, nil, 1598, nil, 815, 800, nil, 12382,
+ 845, 12646, nil, nil, 12778, 12910, nil, nil, 285, nil,
+ 13182, 1442, 817, 786, 4277, 770, 809, 756, 13974, 4841,
+ 896, 794, 935, 812, 1037, nil, 752, 681, 10, nil,
+ nil, nil, 690, 252, 632, 15302, nil, 490, 671, 752,
+ nil, 664, nil, 15846, 2726, 15978, 578, nil, 373, 247,
+ 811, 803, 170, 905, nil, nil, 24914, 688, 32, -11,
+ 17166, 17430, -72, 185, 392, 7, 38, 580, 1104, 5,
+ 1124, nil, nil, 217, 507, 134, nil, 617, nil, 16,
+ 17562, nil, nil, nil, 108, 576, 185, 312, 397, 513,
+ 554, -20, 562, nil, 251, nil, 17298, nil, 410, 404,
+ 395, 463, 283, -22, 30, 351, nil, nil, nil, nil,
+ nil, nil, nil, nil, 1025, 23599, nil, nil, nil, nil,
+ 1020, nil, nil, 995, 17034, 963, nil, nil, 1034, 963,
+ nil, 956, 942, 318, 143, 23077, nil, nil, nil, 248,
+ 137, 970, nil, nil, 22349, 22619, nil, 1316, nil, 885,
+ nil, nil, 752, nil, nil, nil, nil, -14, nil, 936,
+ 24090, 24028, 16902, 150, 16770, 16638, 16506, 3713, 4136, 527,
+ 321, 724, 711, 666, 605, 5246, 5378, 5510, 3995, 4277,
+ 3290, 3431, 3854, 4418, 4700, 4841, 4559, 5114, 3149, 3155,
+ 3572, 4982, 16374, 115, 22884, nil, nil, nil, nil, 544,
+ nil, 86, 144, 568, nil, nil, 16242, nil, 16110, nil,
+ 15714, nil, 219, nil, nil, nil, 15574, 1457, 2162, 615,
+ 616, nil, nil, 625, 15434, 634, 15170, 24152, 23904, 329,
+ 686, nil, 15038, 645, nil, 14906, 14774, 24462, 24586, 1457,
+ 14642, 808, 825, 712, 748, nil, 14510, nil, nil, 14378,
+ nil, nil, nil, nil, 24922, nil, 709, 713, nil, 718,
+ 723, 731, nil, nil, nil, nil, nil, nil, nil, nil,
+ 723, 616, nil, nil, 14246, nil, nil, nil, 826, nil,
+ nil, nil, 827, nil, nil, 829, 893, 871, nil, 752,
+ 67, 63, 869, 878, 14114, 13842, 24214, 24276, 58, nil,
+ nil, 1106, nil, 24400, 24524, 13710, nil, nil, nil, 281,
+ -18, 4136, 815, nil, -12, nil, nil, nil, 735, nil,
+ nil, nil, 787, nil, nil, 391, nil, 239, nil, nil,
+ 784, nil, 785, nil, nil, nil, 23212, nil, 787, 13578,
+ 13446, 485, 837, 13314, 13042, 12514, 12250, 838, nil, nil,
+ 12118, 11986, 859, nil, 11458, 11326, nil, nil, 316, 276,
+ 609, 0, 857, 893, 1739, nil, 22848, nil, 1316, 980,
+ 27, 157, nil, 1175, 1034, nil, 884, nil, 931, 7762,
+ nil, nil, 7630, nil, 907, -80, 7498, 890, nil, 895,
+ 92, 57, 941, 480, 1034, 952, 912, 6574, 1880, 980,
+ 145, 1034, 6442, nil, 927, nil, 465, 27, 930, 634,
+ nil, nil, 348, 25060, nil, 25141, nil, 25148, nil, 5914,
+ nil, 609, nil, 936, 243, 940, nil, nil, nil, nil,
+ 599, nil, 1059, nil, nil, nil, nil, 1065, nil, 33,
+ 944, 25, 22, 68, 8, 5782, 328, 517, nil, 985,
+ 4418, 22074, nil, nil, 1116, 3713, 25045, 25005, 23728, nil,
+ nil, nil, nil, nil, nil, 2444, nil, nil, nil, nil,
+ nil, nil, nil, 1013, 20878, 2021, 20614, nil, 1015, nil,
+ 1175, nil, 2162, nil, nil, 2303, nil, 2444, nil, 2585,
+ 20482, 19954, 19822, 19690, -83, 1035, 1035, 1038, nil, 1048,
+ 1049, 1053, nil, 1078, 1058, 1063, 1058, 19558, nil, nil,
+ 1193, nil, nil, 2867, 1097, 1208, nil, nil, nil, nil,
+ 1097, 256, nil, nil, 1227, nil, 4559, 534, 1150, nil,
+ nil, 1165, nil, nil, 3854, 3572, 1166, 1128, nil, nil,
+ nil, 1129, 1131, nil, 1132, 1136, nil, 1138, nil, nil,
+ 1144, 3135, 1146, 675, nil, 1279, nil, 18758, 1280, 3290,
+ 3149, nil, 18494, 1880, -19, 24, nil, 1286, 358, 1457,
+ nil, 1292, 1171, 98, nil, 1175, 1172, nil, 2867, 18362,
+ 18230, nil, 3118, nil, nil, 25068, nil, 25085, nil, 25124,
+ nil, nil, 1198, 1161, 18098, 1076, 1255, nil, 1197, nil,
+ nil, nil, 3008, nil, nil, 35, 17966, nil, nil, 1210,
+ -3, nil, nil, 24897, nil, 25204, nil, 14021, nil, 25165,
+ nil, nil, nil, nil, 255, 3174, -114, nil, -1, nil,
+ 77, 93, nil, 289, nil, nil, nil, 102, nil, nil,
+ nil, 105, nil, 17834, 84, nil, nil, 99, 105, 132,
+ 144, nil, 206, nil, 393, nil, nil, nil, 440, 24338,
+ nil, nil, nil, 4700, 642, 666, 683, 315, 755, nil,
+ nil, nil, 260, 270, 281, 306, 323, 3276, 340, 3309,
+ 3431, nil, nil, nil, nil, nil, 2303, nil, 4982, 3008,
+ nil, 24990, nil, 24982, nil, 24975, nil, 24905, nil, nil,
+ nil, 1302, 443, 448, 557, 20746, 24772, 23966, 824, 15481,
+ nil, nil, nil, nil, 602, 449, 20, 578, 605, 493,
+ 495, 674, 819, nil, nil, 867, -9, -10, 39, 893,
+ 1026, 1028, nil, nil, nil, 19465, nil, nil, nil, nil,
+ 18, nil, 907, nil ]
+
+racc_action_default = [
+ -3, -597, -1, -583, -4, -597, -7, -597, -597, -597,
+ -597, -29, -597, -597, -597, -281, -597, -40, -43, -585,
+ -597, -48, -50, -51, -52, -56, -258, -258, -258, -295,
+ -330, -331, -68, -11, -72, -80, -82, -597, -488, -489,
+ -597, -597, -597, -597, -597, -585, -239, -272, -273, -274,
+ -275, -276, -277, -278, -279, -280, -573, -283, -285, -596,
+ -563, -303, -391, -597, -597, -308, -311, -583, -597, -597,
+ -597, -597, -332, -333, -429, -430, -431, -432, -433, -454,
+ -436, -437, -456, -458, -441, -446, -450, -452, -468, -456,
+ -470, -472, -473, -474, -475, -571, -477, -478, -572, -480,
+ -481, -482, -483, -484, -485, -486, -487, -492, -493, -597,
+ -2, -584, -592, -593, -594, -6, -597, -597, -597, -597,
+ -597, -3, -17, -597, -111, -112, -113, -114, -115, -116,
+ -117, -118, -119, -123, -124, -125, -126, -127, -128, -129,
+ -130, -131, -132, -133, -134, -135, -136, -137, -138, -139,
+ -140, -141, -142, -143, -144, -145, -146, -147, -148, -149,
+ -150, -151, -152, -153, -154, -155, -156, -157, -158, -159,
+ -160, -161, -162, -163, -164, -165, -166, -167, -168, -169,
+ -170, -171, -172, -173, -174, -175, -176, -177, -178, -179,
+ -180, -181, -182, -183, -184, -185, -186, -187, -188, -189,
+ -190, -191, -192, -193, -22, -120, -11, -597, -597, -248,
+ -597, -597, -597, -597, -597, -597, -597, -585, -586, -47,
+ -597, -488, -489, -597, -281, -597, -597, -229, -597, -11,
+ -597, -597, -597, -597, -597, -597, -597, -597, -597, -597,
+ -597, -597, -597, -597, -597, -597, -597, -597, -597, -597,
+ -597, -597, -597, -597, -597, -597, -236, -398, -400, -597,
+ -581, -582, -57, -248, -597, -302, -404, -413, -415, -63,
+ -410, -64, -585, -65, -240, -253, -262, -262, -257, -597,
+ -263, -597, -454, -565, -597, -597, -66, -67, -583, -12,
+ -597, -15, -597, -70, -11, -585, -597, -73, -76, -11,
+ -88, -89, -597, -597, -96, -295, -298, -585, -597, -330,
+ -331, -334, -411, -597, -78, -597, -84, -292, -471, -597,
+ -214, -215, -230, -597, -11, -597, -585, -241, -589, -589,
+ -597, -597, -589, -597, -304, -305, -521, -49, -597, -597,
+ -597, -597, -583, -597, -584, -488, -489, -597, -597, -281,
+ -597, -344, -345, -106, -107, -597, -109, -597, -281, -597,
+ -597, -488, -489, -323, -111, -112, -153, -154, -155, -171,
+ -176, -183, -186, -325, -597, -561, -597, -434, -597, -597,
+ -597, -597, -597, -597, -597, -597, 1024, -5, -595, -23,
+ -24, -25, -26, -27, -597, -597, -19, -20, -21, -121,
+ -597, -30, -39, -268, -597, -597, -267, -31, -196, -585,
+ -249, -262, -262, -574, -575, -258, -408, -576, -577, -575,
+ -574, -258, -407, -409, -576, -577, -37, -204, -38, -597,
+ -41, -42, -194, -263, -44, -45, -46, -585, -301, -597,
+ -597, -597, -248, -292, -597, -597, -597, -205, -206, -207,
+ -208, -209, -210, -211, -212, -216, -217, -218, -219, -220,
+ -221, -222, -223, -224, -225, -226, -227, -228, -231, -232,
+ -233, -234, -597, -380, -258, -574, -575, -54, -58, -585,
+ -259, -380, -380, -585, -297, -254, -597, -255, -597, -260,
+ -597, -264, -597, -568, -570, -10, -584, -14, -3, -585,
+ -69, -290, -85, -74, -597, -585, -248, -597, -597, -95,
+ -597, -471, -597, -81, -86, -597, -597, -597, -597, -235,
+ -597, -421, -597, -286, -597, -242, -591, -590, -244, -591,
+ -293, -294, -564, -392, -521, -395, -560, -560, -504, -506,
+ -506, -506, -520, -522, -523, -524, -525, -526, -527, -528,
+ -529, -597, -531, -533, -535, -540, -542, -543, -545, -550,
+ -552, -553, -555, -556, -557, -597, -11, -335, -336, -11,
+ -597, -597, -597, -597, -597, -248, -597, -597, -292, -316,
+ -106, -107, -108, -597, -597, -248, -319, -494, -495, -597,
+ -597, -11, -499, -327, -585, -435, -455, -460, -597, -462,
+ -438, -457, -597, -459, -440, -597, -443, -597, -445, -448,
+ -597, -449, -597, -469, -8, -18, -597, -28, -271, -597,
+ -597, -412, -597, -250, -252, -597, -597, -59, -247, -405,
+ -597, -597, -61, -406, -597, -597, -300, -587, -574, -575,
+ -574, -575, -585, -194, -585, -381, -585, -383, -11, -53,
+ -401, -380, -245, -11, -11, -296, -262, -261, -265, -597,
+ -566, -567, -597, -13, -597, -71, -597, -77, -83, -585,
+ -574, -575, -246, -92, -94, -597, -79, -597, -203, -213,
+ -585, -596, -596, -284, -585, -289, -589, -597, -585, -597,
+ -502, -503, -597, -597, -513, -597, -516, -597, -518, -597,
+ -346, -597, -348, -350, -357, -585, -534, -544, -554, -558,
+ -596, -337, -596, -309, -338, -339, -312, -597, -315, -597,
+ -585, -574, -575, -578, -291, -597, -106, -107, -110, -585,
+ -11, -597, -497, -321, -597, -11, -521, -521, -597, -562,
+ -461, -464, -465, -466, -467, -11, -439, -442, -444, -447,
+ -451, -453, -122, -269, -597, -197, -597, -588, -262, -33,
+ -199, -34, -200, -60, -35, -202, -36, -201, -62, -195,
+ -597, -597, -597, -597, -412, -597, -560, -560, -362, -364,
+ -364, -364, -379, -597, -585, -385, -529, -537, -538, -548,
+ -597, -403, -402, -11, -597, -597, -256, -266, -569, -16,
+ -75, -90, -87, -299, -596, -342, -11, -422, -596, -423,
+ -424, -597, -243, -393, -11, -11, -597, -560, -541, -559,
+ -505, -506, -506, -532, -506, -506, -551, -506, -529, -546,
+ -585, -597, -355, -597, -530, -597, -340, -597, -597, -11,
+ -11, -314, -597, -11, -412, -597, -412, -597, -597, -11,
+ -324, -597, -585, -597, -328, -597, -270, -32, -198, -251,
+ -597, -237, -597, -360, -361, -370, -372, -597, -375, -597,
+ -377, -382, -597, -597, -597, -536, -597, -399, -597, -414,
+ -416, -9, -11, -428, -343, -597, -597, -426, -287, -597,
+ -597, -394, -501, -597, -509, -597, -511, -597, -514, -597,
+ -517, -519, -347, -349, -353, -597, -358, -306, -597, -307,
+ -597, -597, -265, -596, -317, -320, -496, -597, -326, -498,
+ -500, -499, -463, -597, -560, -539, -363, -364, -364, -364,
+ -364, -549, -364, -384, -585, -387, -389, -390, -547, -597,
+ -292, -55, -427, -11, -97, -98, -597, -597, -105, -425,
+ -396, -397, -506, -506, -506, -506, -351, -597, -356, -597,
+ -11, -310, -313, -417, -418, -419, -11, -322, -11, -238,
+ -359, -597, -367, -597, -369, -597, -373, -597, -376, -378,
+ -386, -597, -291, -578, -421, -248, -597, -597, -104, -597,
+ -507, -510, -512, -515, -597, -354, -596, -597, -597, -364,
+ -364, -364, -364, -388, -420, -585, -574, -575, -578, -103,
+ -506, -352, -341, -318, -329, -597, -365, -368, -371, -374,
+ -412, -508, -364, -366 ]
+
+clist = [
+'216,275,275,275,14,373,681,415,421,14,327,522,409,334,266,270,311,311',
+'258,431,130,130,573,110,220,535,323,2,735,438,700,127,127,220,220,220',
+'406,14,302,302,487,259,428,566,569,297,276,276,276,660,311,311,311,111',
+'114,835,474,513,338,339,378,318,342,122,205,478,479,220,220,219,937',
+'220,347,357,357,705,328,582,132,132,6,542,690,691,484,6,293,343,337',
+'337,660,621,337,823,127,295,780,277,277,277,903,262,269,271,314,525',
+'528,500,826,532,783,389,390,391,392,14,804,966,114,935,220,220,220,220',
+'14,14,115,329,332,713,716,906,730,379,657,849,657,359,363,931,385,337',
+'337,337,337,605,607,838,394,591,781,592,816,13,738,921,684,325,13,324',
+'374,601,603,606,606,782,586,601,648,350,335,331,694,696,698,487,653',
+'654,937,784,700,275,375,832,650,660,13,330,273,286,287,6,923,934,1,533',
+'550,822,416,824,393,6,813,958,336,687,472,616,473,481,14,220,220,220',
+'482,963,220,220,220,220,220,220,808,688,405,830,885,1003,903,377,405',
+'380,387,14,425,275,275,415,421,434,435,436,437,931,275,642,667,381,872',
+'636,651,717,382,383,676,995,401,407,384,740,745,426,430,492,13,823,731',
+'220,220,395,402,657,657,13,13,821,220,352,734,542,311,276,204,663,818',
+'925,881,340,510,276,326,652,1011,839,14,655,266,311,14,823,270,341,302',
+'14,672,728,826,524,495,669,700,665,700,840,672,927,725,668,,302,,,863',
+'864,774,,514,,14,220,,,277,511,,570,571,,496,114,277,1012,,,220,220',
+'793,293,964,,523,801,293,,,,499,968,,13,,505,572,892,220,337,337,503',
+',928,497,929,,672,,,,823,720,,220,672,13,956,700,590,,748,729,748,622',
+'593,,114,550,,,952,,,,594,844,628,914,,739,130,800,633,587,846,,,275',
+',,847,127,796,660,,851,480,843,852,853,,416,,763,483,,,,768,700,,700',
+',431,,,13,,,220,13,,,615,,13,,894,896,,898,900,,901,,628,812,425,132',
+',,,1004,970,,,700,,999,,13,275,,296,542,542,,,,311,,,,627,,803,,311',
+'416,632,,,26,14,,14,,26,416,786,657,302,,220,809,,,,514,302,834,,26',
+',796,,514,220,664,,,26,26,26,425,26,,,,917,,,,,425,,,,680,,275,,649',
+',,,550,656,550,,275,,,,,26,26,416,,26,,,,14,,416,14,,,,,6,220,,,,,,990',
+'991,992,993,220,943,719,965,,686,14,550,550,,,425,,792,,,,425,,,,26',
+',,960,,26,26,26,26,26,26,714,714,622,,775,,785,130,220,220,,,810,220',
+'220,,,220,127,732,733,902,1021,,791,,,311,13,622,13,14,400,,998,,14',
+'14,311,628,,,633,919,811,,,,785,302,752,854,,759,761,296,514,,764,766',
+'302,,430,,,132,1020,802,,,758,,787,,,,,,405,,622,777,,,26,26,26,26,',
+'622,26,26,26,26,26,26,,,13,845,,13,,,786,848,786,26,220,,,,,14,220,',
+',,14,,296,,,13,817,296,,,14,337,,15,550,,883,337,15,,887,220,127,26',
+'26,,785,,,,311,,26,,,,,,,866,868,870,,,672,,15,304,304,1005,26,,875',
+',26,,,,14,26,,,13,,,,857,13,13,,778,14,,,,,,,,14,14,349,358,358,26,26',
+',,,,,,786,908,,,,779,,,26,26,220,,14,14,,,14,,,,,819,14,,819,311,,,26',
+',,337,15,,,,,311,,,,15,15,,26,,,938,,,,,13,,825,14,827,13,,946,,,,,',
+'714,,13,916,,,,,920,,,,,787,,,787,,787,980,787,,924,,,777,,777,,777',
+'972,974,976,978,,979,,,,,,,,,,26,,,,,13,14,,,333,,,,,,,275,15,13,,,425',
+',14,,,13,13,,14,,14,,416,,,,,,,15,,,,,622,,,220,,,13,13,,26,13,26,1016',
+'1017,1018,1019,13,,,26,,16,,,425,,16,710,,,712,,787,26,787,1023,787',
+',787,819,,777,778,777,778,777,778,777,,13,,,,,16,,15,,,,15,,,,304,15',
+',,,,,930,,932,,,787,,,26,,304,26,,,777,,39,26,351,15,,39,,,,,953,26',
+'954,,955,,,26,,,,,790,13,403,,,794,795,,433,,,39,301,301,,,,,13,,,,',
+'16,13,,13,,,26,26,,16,16,26,26,,,26,778,,778,,778,,778,346,362,362,362',
+',,26,,,,,26,26,,,,,,,,1000,,1001,,1002,,,,489,,491,,,493,494,,,778,1010',
+',,,,39,,,,,,,,855,39,39,,,,,,,,,,,1022,,,,,,,,16,,,,,,,429,,,,26,,,',
+',26,26,,,,26,,16,,,,878,,,,26,,,,15,,15,,,884,,26,304,,,,,889,890,,304',
+',,,,,,,,,,,,,,39,,,,,,,910,911,,,913,,26,,618,,,16,,,,16,39,,,26,16',
+',,,,,,26,26,,,,15,,,15,,,,,,,,942,,16,,,,,26,,26,26,,,26,15,,,,,26,',
+'744,,,,,,,,,,,,,39,,,,39,,,,301,39,,,,658,,333,,661,26,,,,,,,301,,984',
+',,,,,,39,,,15,,,,,15,15,996,,,,,,997,,,658,,304,333,,,,,,,,,,304,,,',
+',,,,,,,,,26,,706,,,,,,,,,,,,,,,26,,,,,433,26,,26,,,,,,,,,,,,,,,15,,26',
+',38,15,,,,38,,,,,,15,,,,,,16,,16,,,,753,,,,658,333,,,,,38,300,300,,',
+',,,,,,,,,,,,,,,358,,,,,,15,,,,797,,,798,,345,361,361,361,15,,,,,,,,15',
+'15,,39,,39,807,16,,,16,301,,,,,,,,301,,,,829,,15,15,,,15,,38,16,,,15',
+',,,,38,38,,,,,,,,,,,,,,,,,,,358,,,,,,,,15,,,,948,39,,429,39,,856,,,',
+',,,,,,,16,,,,,16,16,,,39,,,,,,,,,,,,,,,,,,,,,,,,,,,,38,,,15,,,,,,,,',
+',,,,,,,,15,,,38,,,15,,15,39,,,,,39,39,,,,,912,,,,,16,,301,,,16,,,,,',
+',333,301,,16,,,,,,,,,,,,,,,,,,,,,,,,38,,,,38,,,,300,38,,,,,,,,,,,,,',
+',16,300,,39,,,,,39,,38,,,16,,,,,39,,,16,16,,,,,,,,,,,,,,,,,,,,,,,,16',
+'16,,,16,,,,,,16,,,,362,,,,,,39,,,,,,,,,,,,,39,,,,,,,,39,39,16,,,,949',
+',,,,,,,,,,,,,,,,,,39,39,,,39,,,,,,39,,,,,,,,,,,,,,,,,,,,,,,,,362,,,16',
+',,,227,39,,,,945,,,,274,274,274,,16,,,,,,16,,16,320,321,322,,,,38,,38',
+',,,,,300,,,274,274,,,,300,,,,,,,,,,,,,,,,,,39,,,,,,,,,,,,,,,,,39,,,',
+',,39,,39,,,,,,,,,,,38,,,38,,,,,,,,,,,,,,,,,,,,,,38,,,,,,,,,,,,,,,,,',
+',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,38,,,,,38,38,274,408,274,,,427',
+'432,,,,,300,,,,,,,,,,227,300,,447,448,449,450,451,452,453,454,455,456',
+'457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,,,,,,,,274',
+'274,,,,,,,,274,,,,,,,274,,274,38,,274,274,,38,,,,,,,,,,38,,,,,,,,,,',
+',,,,,,,,,,,,,,,519,,,,,,,,,,,,,,,,361,,,,,,38,,,,,,,,,,,,,38,,,,,,,',
+'38,38,,,,,,,,,,,,,,,,,,,,,,,,38,38,,,38,,,,,,38,,,274,,,,,,,,,,,,,,',
+',,,,,,,361,,,,,,,,38,,,,944,,,,274,,427,643,408,,,,,,,,,,,,,,,,,,,,',
+',,,,,644,,,,,,,,,,,,,,274,,274,,274,,,,,38,,,,,,,,,,,274,,,,,,38,,,678',
+'679,,38,,38,,,,,,274,,,274,,,,,,,,,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,,',
+',,,,,,274,274,,,,,,,,,,274,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274,755',
+',,274,274,760,762,,,,765,767,,,643,769,,,,,,,,,,,,,,,,,,,,,,,,274,,',
+'274,,,,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,,,,,,,,,,',
+',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274,,858,,,,,,,,,,,,,,760,762,767,765',
+',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
+'274,,,,,,,,,,,,,,,,,274,858,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
+',,,,,,,,,,,,,,,,,,,,,,969,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
+',,,,,,,,,,,,,,,,,,,274' ]
+ racc_goto_table = arr = ::Array.new(2920, 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 = [
+'31,33,33,33,22,56,10,37,37,22,69,8,23,88,73,73,64,64,140,18,60,60,94',
+'4,22,139,31,2,98,47,117,57,57,22,22,22,27,22,22,22,75,36,27,91,91,49',
+'70,70,70,178,64,64,64,6,97,92,37,51,17,17,151,63,17,15,15,39,23,22,22',
+'20,134,22,22,22,22,118,70,54,61,61,7,163,123,123,47,7,45,4,29,29,178',
+'24,29,169,57,46,128,72,72,72,116,38,38,38,50,71,71,47,174,71,131,17',
+'17,17,17,22,11,109,97,133,22,22,22,22,22,22,5,72,72,93,93,119,110,152',
+'76,111,76,55,55,175,152,29,29,29,29,155,155,11,2,112,129,113,131,21',
+'114,115,102,101,21,100,99,156,156,156,156,120,96,156,40,95,90,87,166',
+'166,166,75,40,40,134,126,117,33,86,117,74,178,21,68,44,44,44,7,67,132',
+'1,135,168,129,73,129,7,7,136,119,137,138,66,62,141,143,22,22,22,22,144',
+'145,22,22,22,22,22,22,146,139,70,118,147,133,116,150,70,153,5,22,57',
+'33,33,37,37,29,29,29,29,175,33,23,51,154,131,47,42,94,157,158,51,119',
+'20,20,159,160,161,20,20,151,21,169,162,22,22,30,28,76,76,21,21,167,22',
+'19,8,163,64,70,16,14,171,172,12,104,31,70,103,47,119,105,22,47,73,64',
+'22,169,73,106,22,22,37,54,174,31,4,23,117,47,117,107,37,128,108,47,',
+'22,,,123,123,24,,49,,22,22,,,72,63,,17,17,,6,97,72,92,,,22,22,40,45',
+'11,,29,24,45,,,,46,98,,21,,46,4,123,22,29,29,50,,129,7,129,,37,,,,169',
+'23,,22,37,21,117,117,29,,156,23,156,31,36,,97,168,,,129,,,,29,24,73',
+'93,,47,60,51,73,97,24,,,33,,,8,57,75,178,,8,44,91,139,139,,73,,39,44',
+',,,39,117,,117,,18,,,21,,,22,21,,,15,,21,,166,166,,166,166,,166,,73',
+'71,57,61,,,,10,123,,,117,,129,,21,33,,9,163,163,,,,64,,,,38,,47,,64',
+'73,38,,,41,22,,22,,41,73,168,76,22,,22,27,,,,49,22,47,,41,,75,,49,22',
+'2,,,41,41,41,57,41,,,,8,,,,,57,,,,29,,33,,38,,,,168,72,168,,33,,,,,41',
+'41,73,,41,,,,22,,73,22,,,,,7,22,,,,,,166,166,166,166,22,91,70,94,,72',
+'22,168,168,,,57,,88,,,,57,,,,41,,,91,,41,41,41,41,41,41,97,97,31,,31',
+',31,60,22,22,,,69,22,22,,,22,57,97,97,47,166,,140,,,64,21,31,21,22,9',
+',8,,22,22,64,73,,,73,47,31,,,,31,22,15,56,,20,20,9,49,,20,20,22,,20',
+',,61,24,49,,,72,,170,,,,,,70,,31,122,,,41,41,41,41,,31,41,41,41,41,41',
+'41,,,21,17,,21,,,168,17,168,41,22,,,,,22,22,,,,22,,9,,,21,122,9,,,22',
+'29,,25,168,,69,29,25,,69,22,57,41,41,,31,,,,64,,41,,,,,,,125,125,125',
+',,37,,25,25,25,23,41,,22,,41,,,,22,41,,,21,,,,20,21,21,,124,22,,,,,',
+',,22,22,25,25,25,41,41,,,,,,,168,17,,,,127,,,41,41,22,,22,22,,,22,,',
+',,124,22,,124,64,,,41,,,29,25,,,,,64,,,,25,25,,41,,,22,,,,,21,,127,22',
+'127,21,,22,,,,,,97,,21,97,,,,,97,,,,,170,,,170,,170,31,170,,122,,,122',
+',122,,122,125,125,125,125,,125,,,,,,,,,,41,,,,,21,22,,,65,,,,,,,33,25',
+'21,,,57,,22,,,21,21,,22,,22,,73,,,,,,,25,,,,,31,,,22,,,21,21,,41,21',
+'41,125,125,125,125,21,,,41,,26,,,57,,26,9,,,9,,170,41,170,125,170,,170',
+'124,,122,124,122,124,122,124,122,,21,,,,,26,,25,,,,25,,,,25,25,,,,,',
+'127,,127,,,170,,,41,,25,41,,,122,,53,41,26,25,,53,,,,,127,41,127,,127',
+',,41,,,,,9,21,65,,,9,9,,65,,,53,53,53,,,,,21,,,,,26,21,,21,,,41,41,',
+'26,26,41,41,,,41,124,,124,,124,,124,53,53,53,53,,,41,,,,,41,41,,,,,',
+',,127,,127,,127,,,,65,,65,,,65,65,,,124,127,,,,,53,,,,,,,,9,53,53,,',
+',,,,,,,,127,,,,,,,,26,,,,,,,26,,,,41,,,,,41,41,,,,41,,26,,,,9,,,,41',
+',,,25,,25,,,9,,41,25,,,,,9,9,,25,,,,,,,,,,,,,,,53,,,,,,,9,9,,,9,,41',
+',65,,,26,,,,26,53,,,41,26,,,,,,,41,41,,,,25,,,25,,,,,,,,9,,26,,,,,41',
+',41,41,,,41,25,,,,,41,,25,,,,,,,,,,,,,53,,,,53,,,,53,53,,,,65,,65,,65',
+'41,,,,,,,53,,9,,,,,,,53,,,25,,,,,25,25,9,,,,,,9,,,65,,25,65,,,,,,,,',
+',25,,,,,,,,,,,,,41,,65,,,,,,,,,,,,,,,41,,,,,65,41,,41,,,,,,,,,,,,,,',
+'25,,41,,52,25,,,,52,,,,,,25,,,,,,26,,26,,,,65,,,,65,65,,,,,52,52,52',
+',,,,,,,,,,,,,,,,,25,,,,,,25,,,,65,,,65,,52,52,52,52,25,,,,,,,,25,25',
+',53,,53,65,26,,,26,53,,,,,,,,53,,,,65,,25,25,,,25,,52,26,,,25,,,,,52',
+'52,,,,,,,,,,,,,,,,,,,25,,,,,,,,25,,,,25,53,,26,53,,65,,,,,,,,,,,26,',
+',,,26,26,,,53,,,,,,,,,,,,,,,,,,,,,,,,,,,,52,,,25,,,,,,,,,,,,,,,,,25',
+',,52,,,25,,25,53,,,,,53,53,,,,,65,,,,,26,,53,,,26,,,,,,,65,53,,26,,',
+',,,,,,,,,,,,,,,,,,,,,52,,,,52,,,,52,52,,,,,,,,,,,,,,,26,52,,53,,,,,53',
+',52,,,26,,,,,53,,,26,26,,,,,,,,,,,,,,,,,,,,,,,,26,26,,,26,,,,,,26,,',
+',53,,,,,,53,,,,,,,,,,,,,53,,,,,,,,53,53,26,,,,26,,,,,,,,,,,,,,,,,,,53',
+'53,,,53,,,,,,53,,,,,,,,,,,,,,,,,,,,,,,,,53,,,26,,,,32,53,,,,53,,,,32',
+'32,32,,26,,,,,,26,,26,32,32,32,,,,52,,52,,,,,,52,,,32,32,,,,52,,,,,',
+',,,,,,,,,,,,53,,,,,,,,,,,,,,,,,53,,,,,,53,,53,,,,,,,,,,,52,,,52,,,,',
+',,,,,,,,,,,,,,,,,52,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
+',,,,,,,,52,,,,,52,52,32,32,32,,,32,32,,,,,52,,,,,,,,,,32,52,,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,52,,32,32,,52,,,,,,,,,,52,,,,,,,,',
+',,,,,,,,,,,,,,,,,32,,,,,,,,,,,,,,,,52,,,,,,52,,,,,,,,,,,,,52,,,,,,,',
+'52,52,,,,,,,,,,,,,,,,,,,,,,,,52,52,,,52,,,,,,52,,,32,,,,,,,,,,,,,,,',
+',,,,,,52,,,,,,,,52,,,,52,,,,32,,32,32,32,,,,,,,,,,,,,,,,,,,,,,,,,,32',
+',,,,,,,,,,,,,32,,32,,32,,,,,52,,,,,,,,,,,32,,,,,,52,,,32,32,,52,,52',
+',,,,,32,,,32,,,,,,,,,,,,,,,,,,,,,,,,,32,,,,,,,,,,,,,,,,,,,,32,32,,,',
+',,,,,,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,32,32,,,32,32,32,32,,,,32',
+'32,,,32,32,,,,,,,,,,,,,,,,,,,,,,,,32,,,32,,,,,,,,,,,,,,,,,,,,32,,,,',
+',,,,,,,,,,,,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
+',32,,32,,,,,,,,,,,,,,32,32,32,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
+',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,32,,,,,,,,,,,,,,,,,32,32,,,,,,,,,,',
+',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,32,,,,,,,,,,,,,',
+',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,32' ]
+ racc_goto_check = arr = ::Array.new(2920, 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, 194, 27, nil, 20, 121, 50, 80, -313, 447,
+ -515, -565, -518, nil, -213, 55, 273, -5, -194, 209,
+ 49, 153, 4, -197, -318, 752, 1007, -171, 63, 25,
+ 147, -19, 1934, -28, nil, nil, 17, -203, 75, -197,
+ -305, 499, -227, nil, 159, 53, 62, -188, nil, 11,
+ 69, -258, 1486, 1073, -278, 68, -66, 23, nil, nil,
+ 12, 70, -192, 20, -18, 890, -50, -669, 128, -49,
+ 17, -223, 68, -12, -290, -237, -352, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, 111, 111, -48, nil,
+ 108, -295, -655, -441, -321, 101, -193, 51, -564, 89,
+ 102, 99, -367, 232, 222, -420, 235, -403, -263, -797,
+ -454, -598, -214, -222, -439, -699, -731, -521, -476, -702,
+ -481, nil, 56, -454, 163, -1, -467, 190, -550, -496,
+ nil, -536, -680, -754, -803, -141, -485, 142, -328, -311,
+ -4, -49, nil, -58, -54, -698, -460, -582, nil, nil,
+ 152, -19, 51, 148, 163, -236, -218, 167, 167, 171,
+ -339, -339, -322, -255, nil, nil, -367, -418, -140, -600,
+ 47, -405, -577, nil, -587, -728, nil, nil, -439 ]
+
+racc_goto_default = [
+ nil, nil, nil, 3, nil, 4, 344, 291, nil, 521,
+ nil, 836, nil, 288, 289, nil, nil, nil, 11, 12,
+ 18, 226, 319, nil, nil, 224, 225, nil, nil, 17,
+ nil, 439, 21, 22, 23, 24, nil, 675, nil, nil,
+ nil, 308, nil, 25, 410, 32, nil, nil, 34, 37,
+ 36, nil, 221, 222, 356, nil, 129, 418, 128, 131,
+ 75, 76, nil, 90, 46, 280, nil, nil, nil, 805,
+ 411, nil, 412, 423, 629, 485, 278, 264, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, nil, 265, 61,
+ nil, nil, nil, nil, nil, nil, nil, 567, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, 702, 549, nil, 703,
+ 926, 776, 537, nil, 538, nil, nil, 539, nil, 541,
+ 645, nil, nil, nil, 547, nil, nil, nil, nil, nil,
+ nil, nil, 422, nil, nil, nil, nil, nil, 74, 77,
+ 78, nil, nil, nil, nil, nil, 596, nil, nil, nil,
+ nil, nil, nil, 820, 737, 536, nil, 540, 828, 552,
+ 554, 555, 788, 558, 559, 789, 562, 565, 283 ]
+
+racc_reduce_table = [
+ 0, 0, :racc_error,
+ 1, 146, :_reduce_none,
+ 2, 147, :_reduce_2,
+ 0, 148, :_reduce_3,
+ 1, 148, :_reduce_4,
+ 3, 148, :_reduce_5,
+ 2, 148, :_reduce_6,
+ 1, 150, :_reduce_none,
+ 4, 150, :_reduce_8,
+ 4, 153, :_reduce_9,
+ 2, 154, :_reduce_10,
+ 0, 158, :_reduce_11,
+ 1, 158, :_reduce_12,
+ 3, 158, :_reduce_13,
+ 2, 158, :_reduce_14,
+ 1, 159, :_reduce_none,
+ 4, 159, :_reduce_16,
+ 0, 175, :_reduce_17,
+ 4, 152, :_reduce_18,
+ 3, 152, :_reduce_19,
+ 3, 152, :_reduce_20,
+ 3, 152, :_reduce_21,
+ 2, 152, :_reduce_22,
+ 3, 152, :_reduce_23,
+ 3, 152, :_reduce_24,
+ 3, 152, :_reduce_25,
+ 3, 152, :_reduce_26,
+ 3, 152, :_reduce_27,
+ 4, 152, :_reduce_28,
+ 1, 152, :_reduce_none,
+ 3, 152, :_reduce_30,
+ 3, 152, :_reduce_31,
+ 6, 152, :_reduce_32,
+ 5, 152, :_reduce_33,
+ 5, 152, :_reduce_34,
+ 5, 152, :_reduce_35,
+ 5, 152, :_reduce_36,
+ 3, 152, :_reduce_37,
+ 3, 152, :_reduce_38,
+ 3, 152, :_reduce_39,
+ 1, 152, :_reduce_none,
+ 3, 163, :_reduce_41,
+ 3, 163, :_reduce_42,
+ 1, 174, :_reduce_none,
+ 3, 174, :_reduce_44,
+ 3, 174, :_reduce_45,
+ 3, 174, :_reduce_46,
+ 2, 174, :_reduce_47,
+ 1, 174, :_reduce_none,
+ 1, 162, :_reduce_none,
+ 1, 165, :_reduce_none,
+ 1, 165, :_reduce_none,
+ 1, 179, :_reduce_none,
+ 4, 179, :_reduce_53,
+ 0, 187, :_reduce_54,
+ 5, 184, :_reduce_55,
+ 1, 186, :_reduce_none,
+ 2, 178, :_reduce_57,
+ 3, 178, :_reduce_58,
+ 4, 178, :_reduce_59,
+ 5, 178, :_reduce_60,
+ 4, 178, :_reduce_61,
+ 5, 178, :_reduce_62,
+ 2, 178, :_reduce_63,
+ 2, 178, :_reduce_64,
+ 2, 178, :_reduce_65,
+ 2, 178, :_reduce_66,
+ 2, 178, :_reduce_67,
+ 1, 164, :_reduce_68,
+ 3, 164, :_reduce_69,
+ 1, 191, :_reduce_70,
+ 3, 191, :_reduce_71,
+ 1, 190, :_reduce_none,
+ 2, 190, :_reduce_73,
+ 3, 190, :_reduce_74,
+ 5, 190, :_reduce_75,
+ 2, 190, :_reduce_76,
+ 4, 190, :_reduce_77,
+ 2, 190, :_reduce_78,
+ 4, 190, :_reduce_79,
+ 1, 190, :_reduce_80,
+ 3, 190, :_reduce_81,
+ 1, 194, :_reduce_none,
+ 3, 194, :_reduce_83,
+ 2, 193, :_reduce_84,
+ 3, 193, :_reduce_85,
+ 1, 196, :_reduce_86,
+ 3, 196, :_reduce_87,
+ 1, 195, :_reduce_88,
+ 1, 195, :_reduce_89,
+ 4, 195, :_reduce_90,
+ 3, 195, :_reduce_91,
+ 3, 195, :_reduce_92,
+ 3, 195, :_reduce_93,
+ 3, 195, :_reduce_94,
+ 2, 195, :_reduce_95,
+ 1, 195, :_reduce_96,
+ 1, 171, :_reduce_97,
+ 1, 171, :_reduce_98,
+ 4, 171, :_reduce_99,
+ 3, 171, :_reduce_100,
+ 3, 171, :_reduce_101,
+ 3, 171, :_reduce_102,
+ 3, 171, :_reduce_103,
+ 2, 171, :_reduce_104,
+ 1, 171, :_reduce_105,
+ 1, 199, :_reduce_106,
+ 1, 199, :_reduce_none,
+ 2, 200, :_reduce_108,
+ 1, 200, :_reduce_109,
+ 3, 200, :_reduce_110,
+ 1, 201, :_reduce_none,
+ 1, 201, :_reduce_none,
+ 1, 201, :_reduce_none,
+ 1, 201, :_reduce_none,
+ 1, 201, :_reduce_none,
+ 1, 204, :_reduce_116,
+ 1, 204, :_reduce_none,
+ 1, 160, :_reduce_none,
+ 1, 160, :_reduce_none,
+ 1, 161, :_reduce_120,
+ 0, 207, :_reduce_121,
+ 4, 161, :_reduce_122,
+ 1, 202, :_reduce_none,
+ 1, 202, :_reduce_none,
+ 1, 202, :_reduce_none,
+ 1, 202, :_reduce_none,
+ 1, 202, :_reduce_none,
+ 1, 202, :_reduce_none,
+ 1, 202, :_reduce_none,
+ 1, 202, :_reduce_none,
+ 1, 202, :_reduce_none,
+ 1, 202, :_reduce_none,
+ 1, 202, :_reduce_none,
+ 1, 202, :_reduce_none,
+ 1, 202, :_reduce_none,
+ 1, 202, :_reduce_none,
+ 1, 202, :_reduce_none,
+ 1, 202, :_reduce_none,
+ 1, 202, :_reduce_none,
+ 1, 202, :_reduce_none,
+ 1, 202, :_reduce_none,
+ 1, 202, :_reduce_none,
+ 1, 202, :_reduce_none,
+ 1, 202, :_reduce_none,
+ 1, 202, :_reduce_none,
+ 1, 202, :_reduce_none,
+ 1, 202, :_reduce_none,
+ 1, 202, :_reduce_none,
+ 1, 202, :_reduce_none,
+ 1, 202, :_reduce_none,
+ 1, 202, :_reduce_none,
+ 1, 202, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 1, 203, :_reduce_none,
+ 3, 177, :_reduce_194,
+ 5, 177, :_reduce_195,
+ 3, 177, :_reduce_196,
+ 5, 177, :_reduce_197,
+ 6, 177, :_reduce_198,
+ 5, 177, :_reduce_199,
+ 5, 177, :_reduce_200,
+ 5, 177, :_reduce_201,
+ 5, 177, :_reduce_202,
+ 4, 177, :_reduce_203,
+ 3, 177, :_reduce_204,
+ 3, 177, :_reduce_205,
+ 3, 177, :_reduce_206,
+ 3, 177, :_reduce_207,
+ 3, 177, :_reduce_208,
+ 3, 177, :_reduce_209,
+ 3, 177, :_reduce_210,
+ 3, 177, :_reduce_211,
+ 3, 177, :_reduce_212,
+ 4, 177, :_reduce_213,
+ 2, 177, :_reduce_214,
+ 2, 177, :_reduce_215,
+ 3, 177, :_reduce_216,
+ 3, 177, :_reduce_217,
+ 3, 177, :_reduce_218,
+ 3, 177, :_reduce_219,
+ 3, 177, :_reduce_220,
+ 3, 177, :_reduce_221,
+ 3, 177, :_reduce_222,
+ 3, 177, :_reduce_223,
+ 3, 177, :_reduce_224,
+ 3, 177, :_reduce_225,
+ 3, 177, :_reduce_226,
+ 3, 177, :_reduce_227,
+ 3, 177, :_reduce_228,
+ 2, 177, :_reduce_229,
+ 2, 177, :_reduce_230,
+ 3, 177, :_reduce_231,
+ 3, 177, :_reduce_232,
+ 3, 177, :_reduce_233,
+ 3, 177, :_reduce_234,
+ 3, 177, :_reduce_235,
+ 0, 211, :_reduce_236,
+ 0, 212, :_reduce_237,
+ 8, 177, :_reduce_238,
+ 1, 177, :_reduce_none,
+ 1, 210, :_reduce_none,
+ 1, 213, :_reduce_none,
+ 2, 213, :_reduce_none,
+ 4, 213, :_reduce_243,
+ 2, 213, :_reduce_244,
+ 3, 218, :_reduce_245,
+ 0, 219, :_reduce_246,
+ 1, 219, :_reduce_none,
+ 0, 168, :_reduce_248,
+ 1, 168, :_reduce_none,
+ 2, 168, :_reduce_none,
+ 4, 168, :_reduce_251,
+ 2, 168, :_reduce_252,
+ 1, 189, :_reduce_253,
+ 2, 189, :_reduce_254,
+ 2, 189, :_reduce_255,
+ 4, 189, :_reduce_256,
+ 1, 189, :_reduce_257,
+ 0, 222, :_reduce_258,
+ 2, 183, :_reduce_259,
+ 2, 221, :_reduce_260,
+ 2, 220, :_reduce_261,
+ 0, 220, :_reduce_262,
+ 1, 215, :_reduce_263,
+ 2, 215, :_reduce_264,
+ 3, 215, :_reduce_265,
+ 4, 215, :_reduce_266,
+ 1, 173, :_reduce_267,
+ 1, 173, :_reduce_none,
+ 3, 172, :_reduce_269,
+ 4, 172, :_reduce_270,
+ 2, 172, :_reduce_271,
+ 1, 209, :_reduce_none,
+ 1, 209, :_reduce_none,
+ 1, 209, :_reduce_none,
+ 1, 209, :_reduce_none,
+ 1, 209, :_reduce_none,
+ 1, 209, :_reduce_none,
+ 1, 209, :_reduce_none,
+ 1, 209, :_reduce_none,
+ 1, 209, :_reduce_none,
+ 1, 209, :_reduce_none,
+ 1, 209, :_reduce_282,
+ 0, 245, :_reduce_283,
+ 4, 209, :_reduce_284,
+ 0, 246, :_reduce_285,
+ 0, 247, :_reduce_286,
+ 6, 209, :_reduce_287,
+ 0, 248, :_reduce_288,
+ 4, 209, :_reduce_289,
+ 3, 209, :_reduce_290,
+ 3, 209, :_reduce_291,
+ 2, 209, :_reduce_292,
+ 3, 209, :_reduce_293,
+ 3, 209, :_reduce_294,
+ 1, 209, :_reduce_295,
+ 4, 209, :_reduce_296,
+ 3, 209, :_reduce_297,
+ 1, 209, :_reduce_298,
+ 5, 209, :_reduce_299,
+ 4, 209, :_reduce_300,
+ 3, 209, :_reduce_301,
+ 2, 209, :_reduce_302,
+ 1, 209, :_reduce_none,
+ 2, 209, :_reduce_304,
+ 2, 209, :_reduce_305,
+ 6, 209, :_reduce_306,
+ 6, 209, :_reduce_307,
+ 0, 249, :_reduce_308,
+ 0, 250, :_reduce_309,
+ 7, 209, :_reduce_310,
+ 0, 251, :_reduce_311,
+ 0, 252, :_reduce_312,
+ 7, 209, :_reduce_313,
+ 5, 209, :_reduce_314,
+ 4, 209, :_reduce_315,
+ 0, 253, :_reduce_316,
+ 0, 254, :_reduce_317,
+ 9, 209, :_reduce_318,
+ 0, 255, :_reduce_319,
+ 6, 209, :_reduce_320,
+ 0, 256, :_reduce_321,
+ 7, 209, :_reduce_322,
+ 0, 257, :_reduce_323,
+ 5, 209, :_reduce_324,
+ 0, 258, :_reduce_325,
+ 6, 209, :_reduce_326,
+ 0, 259, :_reduce_327,
+ 0, 260, :_reduce_328,
+ 9, 209, :_reduce_329,
+ 1, 209, :_reduce_330,
+ 1, 209, :_reduce_331,
+ 1, 209, :_reduce_332,
+ 1, 209, :_reduce_333,
+ 1, 167, :_reduce_none,
+ 1, 236, :_reduce_none,
+ 1, 236, :_reduce_none,
+ 2, 236, :_reduce_337,
+ 1, 238, :_reduce_none,
+ 1, 238, :_reduce_none,
+ 1, 237, :_reduce_none,
+ 5, 237, :_reduce_341,
+ 1, 156, :_reduce_none,
+ 2, 156, :_reduce_343,
+ 1, 240, :_reduce_none,
+ 1, 240, :_reduce_none,
+ 1, 261, :_reduce_346,
+ 3, 261, :_reduce_347,
+ 1, 264, :_reduce_348,
+ 3, 264, :_reduce_349,
+ 1, 263, :_reduce_none,
+ 4, 263, :_reduce_351,
+ 6, 263, :_reduce_352,
+ 3, 263, :_reduce_353,
+ 5, 263, :_reduce_354,
+ 2, 263, :_reduce_355,
+ 4, 263, :_reduce_356,
+ 1, 263, :_reduce_357,
+ 3, 263, :_reduce_358,
+ 4, 265, :_reduce_359,
+ 2, 265, :_reduce_360,
+ 2, 265, :_reduce_361,
+ 1, 265, :_reduce_362,
+ 2, 270, :_reduce_363,
+ 0, 270, :_reduce_364,
+ 6, 271, :_reduce_365,
+ 8, 271, :_reduce_366,
+ 4, 271, :_reduce_367,
+ 6, 271, :_reduce_368,
+ 4, 271, :_reduce_369,
+ 2, 271, :_reduce_none,
+ 6, 271, :_reduce_371,
+ 2, 271, :_reduce_372,
+ 4, 271, :_reduce_373,
+ 6, 271, :_reduce_374,
+ 2, 271, :_reduce_375,
+ 4, 271, :_reduce_376,
+ 2, 271, :_reduce_377,
+ 4, 271, :_reduce_378,
+ 1, 271, :_reduce_none,
+ 0, 185, :_reduce_380,
+ 1, 185, :_reduce_381,
+ 3, 275, :_reduce_382,
+ 1, 275, :_reduce_383,
+ 4, 275, :_reduce_384,
+ 1, 276, :_reduce_385,
+ 4, 276, :_reduce_386,
+ 1, 277, :_reduce_387,
+ 3, 277, :_reduce_388,
+ 1, 278, :_reduce_389,
+ 1, 278, :_reduce_none,
+ 0, 282, :_reduce_391,
+ 0, 283, :_reduce_392,
+ 4, 235, :_reduce_393,
+ 4, 280, :_reduce_394,
+ 1, 280, :_reduce_395,
+ 3, 281, :_reduce_396,
+ 3, 281, :_reduce_397,
+ 0, 286, :_reduce_398,
+ 5, 285, :_reduce_399,
+ 2, 180, :_reduce_400,
+ 4, 180, :_reduce_401,
+ 5, 180, :_reduce_402,
+ 5, 180, :_reduce_403,
+ 2, 234, :_reduce_404,
+ 4, 234, :_reduce_405,
+ 4, 234, :_reduce_406,
+ 3, 234, :_reduce_407,
+ 3, 234, :_reduce_408,
+ 3, 234, :_reduce_409,
+ 2, 234, :_reduce_410,
+ 1, 234, :_reduce_411,
+ 4, 234, :_reduce_412,
+ 0, 288, :_reduce_413,
+ 5, 233, :_reduce_414,
+ 0, 289, :_reduce_415,
+ 5, 233, :_reduce_416,
+ 5, 239, :_reduce_417,
+ 1, 290, :_reduce_418,
+ 1, 290, :_reduce_none,
+ 6, 155, :_reduce_420,
+ 0, 155, :_reduce_421,
+ 1, 291, :_reduce_422,
+ 1, 291, :_reduce_none,
+ 1, 291, :_reduce_none,
+ 2, 292, :_reduce_425,
+ 1, 292, :_reduce_none,
+ 2, 157, :_reduce_427,
+ 1, 157, :_reduce_none,
+ 1, 223, :_reduce_none,
+ 1, 223, :_reduce_none,
+ 1, 223, :_reduce_none,
+ 1, 224, :_reduce_432,
+ 1, 294, :_reduce_433,
+ 2, 294, :_reduce_434,
+ 3, 295, :_reduce_435,
+ 1, 295, :_reduce_436,
+ 1, 295, :_reduce_437,
+ 3, 225, :_reduce_438,
+ 4, 226, :_reduce_439,
+ 3, 227, :_reduce_440,
+ 0, 299, :_reduce_441,
+ 3, 299, :_reduce_442,
+ 1, 300, :_reduce_443,
+ 2, 300, :_reduce_444,
+ 3, 229, :_reduce_445,
+ 0, 302, :_reduce_446,
+ 3, 302, :_reduce_447,
+ 3, 228, :_reduce_448,
+ 3, 230, :_reduce_449,
+ 0, 303, :_reduce_450,
+ 3, 303, :_reduce_451,
+ 0, 304, :_reduce_452,
+ 3, 304, :_reduce_453,
+ 0, 296, :_reduce_454,
+ 2, 296, :_reduce_455,
+ 0, 297, :_reduce_456,
+ 2, 297, :_reduce_457,
+ 0, 298, :_reduce_458,
+ 2, 298, :_reduce_459,
+ 1, 301, :_reduce_460,
+ 2, 301, :_reduce_461,
+ 0, 306, :_reduce_462,
+ 4, 301, :_reduce_463,
+ 1, 305, :_reduce_464,
+ 1, 305, :_reduce_465,
+ 1, 305, :_reduce_466,
+ 1, 305, :_reduce_none,
+ 1, 205, :_reduce_468,
+ 3, 206, :_reduce_469,
+ 1, 293, :_reduce_470,
+ 2, 293, :_reduce_471,
+ 1, 208, :_reduce_472,
+ 1, 208, :_reduce_473,
+ 1, 208, :_reduce_474,
+ 1, 208, :_reduce_475,
+ 1, 197, :_reduce_476,
+ 1, 197, :_reduce_477,
+ 1, 197, :_reduce_478,
+ 1, 197, :_reduce_479,
+ 1, 197, :_reduce_480,
+ 1, 198, :_reduce_481,
+ 1, 198, :_reduce_482,
+ 1, 198, :_reduce_483,
+ 1, 198, :_reduce_484,
+ 1, 198, :_reduce_485,
+ 1, 198, :_reduce_486,
+ 1, 198, :_reduce_487,
+ 1, 231, :_reduce_488,
+ 1, 231, :_reduce_489,
+ 1, 166, :_reduce_490,
+ 1, 166, :_reduce_491,
+ 1, 170, :_reduce_492,
+ 1, 170, :_reduce_493,
+ 1, 241, :_reduce_494,
+ 0, 307, :_reduce_495,
+ 4, 241, :_reduce_496,
+ 2, 241, :_reduce_497,
+ 3, 243, :_reduce_498,
+ 0, 309, :_reduce_499,
+ 3, 243, :_reduce_500,
+ 4, 308, :_reduce_501,
+ 2, 308, :_reduce_502,
+ 2, 308, :_reduce_503,
+ 1, 308, :_reduce_504,
+ 2, 311, :_reduce_505,
+ 0, 311, :_reduce_506,
+ 6, 284, :_reduce_507,
+ 8, 284, :_reduce_508,
+ 4, 284, :_reduce_509,
+ 6, 284, :_reduce_510,
+ 4, 284, :_reduce_511,
+ 6, 284, :_reduce_512,
+ 2, 284, :_reduce_513,
+ 4, 284, :_reduce_514,
+ 6, 284, :_reduce_515,
+ 2, 284, :_reduce_516,
+ 4, 284, :_reduce_517,
+ 2, 284, :_reduce_518,
+ 4, 284, :_reduce_519,
+ 1, 284, :_reduce_520,
+ 0, 284, :_reduce_521,
+ 1, 279, :_reduce_522,
+ 1, 279, :_reduce_523,
+ 1, 279, :_reduce_524,
+ 1, 279, :_reduce_525,
+ 1, 262, :_reduce_none,
+ 1, 262, :_reduce_527,
+ 1, 313, :_reduce_528,
+ 1, 314, :_reduce_529,
+ 3, 314, :_reduce_530,
+ 1, 272, :_reduce_531,
+ 3, 272, :_reduce_532,
+ 1, 315, :_reduce_533,
+ 2, 316, :_reduce_534,
+ 1, 316, :_reduce_535,
+ 2, 317, :_reduce_536,
+ 1, 317, :_reduce_537,
+ 1, 266, :_reduce_538,
+ 3, 266, :_reduce_539,
+ 1, 310, :_reduce_540,
+ 3, 310, :_reduce_541,
+ 1, 318, :_reduce_none,
+ 1, 318, :_reduce_none,
+ 2, 267, :_reduce_544,
+ 1, 267, :_reduce_545,
+ 3, 319, :_reduce_546,
+ 3, 320, :_reduce_547,
+ 1, 273, :_reduce_548,
+ 3, 273, :_reduce_549,
+ 1, 312, :_reduce_550,
+ 3, 312, :_reduce_551,
+ 1, 321, :_reduce_none,
+ 1, 321, :_reduce_none,
+ 2, 274, :_reduce_554,
+ 1, 274, :_reduce_555,
+ 1, 322, :_reduce_none,
+ 1, 322, :_reduce_none,
+ 2, 269, :_reduce_558,
+ 2, 268, :_reduce_559,
+ 0, 268, :_reduce_560,
+ 1, 244, :_reduce_none,
+ 3, 244, :_reduce_562,
+ 0, 232, :_reduce_563,
+ 2, 232, :_reduce_none,
+ 1, 217, :_reduce_565,
+ 3, 217, :_reduce_566,
+ 3, 323, :_reduce_567,
+ 2, 323, :_reduce_568,
+ 4, 323, :_reduce_569,
+ 2, 323, :_reduce_570,
+ 1, 188, :_reduce_none,
+ 1, 188, :_reduce_none,
+ 1, 188, :_reduce_none,
+ 1, 182, :_reduce_none,
+ 1, 182, :_reduce_none,
+ 1, 182, :_reduce_none,
+ 1, 182, :_reduce_none,
+ 1, 287, :_reduce_none,
+ 1, 287, :_reduce_none,
+ 1, 287, :_reduce_none,
+ 1, 181, :_reduce_none,
+ 1, 181, :_reduce_none,
+ 0, 149, :_reduce_none,
+ 1, 149, :_reduce_none,
+ 0, 176, :_reduce_none,
+ 1, 176, :_reduce_none,
+ 2, 192, :_reduce_587,
+ 2, 169, :_reduce_588,
+ 0, 216, :_reduce_none,
+ 1, 216, :_reduce_none,
+ 1, 216, :_reduce_none,
+ 1, 242, :_reduce_592,
+ 1, 242, :_reduce_none,
+ 1, 151, :_reduce_none,
+ 2, 151, :_reduce_none,
+ 0, 214, :_reduce_596 ]
+
+racc_reduce_n = 597
+
+racc_shift_n = 1024
+
+racc_token_table = {
+ false => 0,
+ :error => 1,
+ :kCLASS => 2,
+ :kMODULE => 3,
+ :kDEF => 4,
+ :kUNDEF => 5,
+ :kBEGIN => 6,
+ :kRESCUE => 7,
+ :kENSURE => 8,
+ :kEND => 9,
+ :kIF => 10,
+ :kUNLESS => 11,
+ :kTHEN => 12,
+ :kELSIF => 13,
+ :kELSE => 14,
+ :kCASE => 15,
+ :kWHEN => 16,
+ :kWHILE => 17,
+ :kUNTIL => 18,
+ :kFOR => 19,
+ :kBREAK => 20,
+ :kNEXT => 21,
+ :kREDO => 22,
+ :kRETRY => 23,
+ :kIN => 24,
+ :kDO => 25,
+ :kDO_COND => 26,
+ :kDO_BLOCK => 27,
+ :kDO_LAMBDA => 28,
+ :kRETURN => 29,
+ :kYIELD => 30,
+ :kSUPER => 31,
+ :kSELF => 32,
+ :kNIL => 33,
+ :kTRUE => 34,
+ :kFALSE => 35,
+ :kAND => 36,
+ :kOR => 37,
+ :kNOT => 38,
+ :kIF_MOD => 39,
+ :kUNLESS_MOD => 40,
+ :kWHILE_MOD => 41,
+ :kUNTIL_MOD => 42,
+ :kRESCUE_MOD => 43,
+ :kALIAS => 44,
+ :kDEFINED => 45,
+ :klBEGIN => 46,
+ :klEND => 47,
+ :k__LINE__ => 48,
+ :k__FILE__ => 49,
+ :k__ENCODING__ => 50,
+ :tIDENTIFIER => 51,
+ :tFID => 52,
+ :tGVAR => 53,
+ :tIVAR => 54,
+ :tCONSTANT => 55,
+ :tLABEL => 56,
+ :tCVAR => 57,
+ :tNTH_REF => 58,
+ :tBACK_REF => 59,
+ :tSTRING_CONTENT => 60,
+ :tINTEGER => 61,
+ :tFLOAT => 62,
+ :tREGEXP_END => 63,
+ :tUPLUS => 64,
+ :tUMINUS => 65,
+ :tUMINUS_NUM => 66,
+ :tPOW => 67,
+ :tCMP => 68,
+ :tEQ => 69,
+ :tEQQ => 70,
+ :tNEQ => 71,
+ :tGEQ => 72,
+ :tLEQ => 73,
+ :tANDOP => 74,
+ :tOROP => 75,
+ :tMATCH => 76,
+ :tNMATCH => 77,
+ :tDOT => 78,
+ :tDOT2 => 79,
+ :tDOT3 => 80,
+ :tAREF => 81,
+ :tASET => 82,
+ :tLSHFT => 83,
+ :tRSHFT => 84,
+ :tCOLON2 => 85,
+ :tCOLON3 => 86,
+ :tOP_ASGN => 87,
+ :tASSOC => 88,
+ :tLPAREN => 89,
+ :tLPAREN2 => 90,
+ :tRPAREN => 91,
+ :tLPAREN_ARG => 92,
+ :tLBRACK => 93,
+ :tLBRACK2 => 94,
+ :tRBRACK => 95,
+ :tLBRACE => 96,
+ :tLBRACE_ARG => 97,
+ :tSTAR => 98,
+ :tSTAR2 => 99,
+ :tAMPER => 100,
+ :tAMPER2 => 101,
+ :tTILDE => 102,
+ :tPERCENT => 103,
+ :tDIVIDE => 104,
+ :tDSTAR => 105,
+ :tPLUS => 106,
+ :tMINUS => 107,
+ :tLT => 108,
+ :tGT => 109,
+ :tPIPE => 110,
+ :tBANG => 111,
+ :tCARET => 112,
+ :tLCURLY => 113,
+ :tRCURLY => 114,
+ :tBACK_REF2 => 115,
+ :tSYMBEG => 116,
+ :tSTRING_BEG => 117,
+ :tXSTRING_BEG => 118,
+ :tREGEXP_BEG => 119,
+ :tREGEXP_OPT => 120,
+ :tWORDS_BEG => 121,
+ :tQWORDS_BEG => 122,
+ :tSYMBOLS_BEG => 123,
+ :tQSYMBOLS_BEG => 124,
+ :tSTRING_DBEG => 125,
+ :tSTRING_DVAR => 126,
+ :tSTRING_END => 127,
+ :tSTRING_DEND => 128,
+ :tSTRING => 129,
+ :tSYMBOL => 130,
+ :tNL => 131,
+ :tEH => 132,
+ :tCOLON => 133,
+ :tCOMMA => 134,
+ :tSPACE => 135,
+ :tSEMI => 136,
+ :tLAMBDA => 137,
+ :tLAMBEG => 138,
+ :tCHARACTER => 139,
+ :tRATIONAL => 140,
+ :tIMAGINARY => 141,
+ :tLABEL_END => 142,
+ :tEQL => 143,
+ :tLOWEST => 144 }
+
+racc_nt_base = 145
+
+racc_use_result_var = true
+
+Racc_arg = [
+ racc_action_table,
+ racc_action_check,
+ racc_action_default,
+ racc_action_pointer,
+ racc_goto_table,
+ racc_goto_check,
+ racc_goto_default,
+ racc_goto_pointer,
+ racc_nt_base,
+ racc_reduce_table,
+ racc_token_table,
+ racc_shift_n,
+ racc_reduce_n,
+ racc_use_result_var ]
+
+Racc_token_to_s_table = [
+ "$end",
+ "error",
+ "kCLASS",
+ "kMODULE",
+ "kDEF",
+ "kUNDEF",
+ "kBEGIN",
+ "kRESCUE",
+ "kENSURE",
+ "kEND",
+ "kIF",
+ "kUNLESS",
+ "kTHEN",
+ "kELSIF",
+ "kELSE",
+ "kCASE",
+ "kWHEN",
+ "kWHILE",
+ "kUNTIL",
+ "kFOR",
+ "kBREAK",
+ "kNEXT",
+ "kREDO",
+ "kRETRY",
+ "kIN",
+ "kDO",
+ "kDO_COND",
+ "kDO_BLOCK",
+ "kDO_LAMBDA",
+ "kRETURN",
+ "kYIELD",
+ "kSUPER",
+ "kSELF",
+ "kNIL",
+ "kTRUE",
+ "kFALSE",
+ "kAND",
+ "kOR",
+ "kNOT",
+ "kIF_MOD",
+ "kUNLESS_MOD",
+ "kWHILE_MOD",
+ "kUNTIL_MOD",
+ "kRESCUE_MOD",
+ "kALIAS",
+ "kDEFINED",
+ "klBEGIN",
+ "klEND",
+ "k__LINE__",
+ "k__FILE__",
+ "k__ENCODING__",
+ "tIDENTIFIER",
+ "tFID",
+ "tGVAR",
+ "tIVAR",
+ "tCONSTANT",
+ "tLABEL",
+ "tCVAR",
+ "tNTH_REF",
+ "tBACK_REF",
+ "tSTRING_CONTENT",
+ "tINTEGER",
+ "tFLOAT",
+ "tREGEXP_END",
+ "tUPLUS",
+ "tUMINUS",
+ "tUMINUS_NUM",
+ "tPOW",
+ "tCMP",
+ "tEQ",
+ "tEQQ",
+ "tNEQ",
+ "tGEQ",
+ "tLEQ",
+ "tANDOP",
+ "tOROP",
+ "tMATCH",
+ "tNMATCH",
+ "tDOT",
+ "tDOT2",
+ "tDOT3",
+ "tAREF",
+ "tASET",
+ "tLSHFT",
+ "tRSHFT",
+ "tCOLON2",
+ "tCOLON3",
+ "tOP_ASGN",
+ "tASSOC",
+ "tLPAREN",
+ "tLPAREN2",
+ "tRPAREN",
+ "tLPAREN_ARG",
+ "tLBRACK",
+ "tLBRACK2",
+ "tRBRACK",
+ "tLBRACE",
+ "tLBRACE_ARG",
+ "tSTAR",
+ "tSTAR2",
+ "tAMPER",
+ "tAMPER2",
+ "tTILDE",
+ "tPERCENT",
+ "tDIVIDE",
+ "tDSTAR",
+ "tPLUS",
+ "tMINUS",
+ "tLT",
+ "tGT",
+ "tPIPE",
+ "tBANG",
+ "tCARET",
+ "tLCURLY",
+ "tRCURLY",
+ "tBACK_REF2",
+ "tSYMBEG",
+ "tSTRING_BEG",
+ "tXSTRING_BEG",
+ "tREGEXP_BEG",
+ "tREGEXP_OPT",
+ "tWORDS_BEG",
+ "tQWORDS_BEG",
+ "tSYMBOLS_BEG",
+ "tQSYMBOLS_BEG",
+ "tSTRING_DBEG",
+ "tSTRING_DVAR",
+ "tSTRING_END",
+ "tSTRING_DEND",
+ "tSTRING",
+ "tSYMBOL",
+ "tNL",
+ "tEH",
+ "tCOLON",
+ "tCOMMA",
+ "tSPACE",
+ "tSEMI",
+ "tLAMBDA",
+ "tLAMBEG",
+ "tCHARACTER",
+ "tRATIONAL",
+ "tIMAGINARY",
+ "tLABEL_END",
+ "tEQL",
+ "tLOWEST",
+ "$start",
+ "program",
+ "top_compstmt",
+ "top_stmts",
+ "opt_terms",
+ "top_stmt",
+ "terms",
+ "stmt",
+ "bodystmt",
+ "compstmt",
+ "opt_rescue",
+ "opt_else",
+ "opt_ensure",
+ "stmts",
+ "stmt_or_begin",
+ "fitem",
+ "undef_list",
+ "expr_value",
+ "command_asgn",
+ "mlhs",
+ "command_call",
+ "var_lhs",
+ "primary_value",
+ "opt_call_args",
+ "rbracket",
+ "backref",
+ "lhs",
+ "mrhs",
+ "mrhs_arg",
+ "expr",
+ "@1",
+ "opt_nl",
+ "arg",
+ "command",
+ "block_command",
+ "block_call",
+ "dot_or_colon",
+ "operation2",
+ "command_args",
+ "cmd_brace_block",
+ "opt_block_param",
+ "fcall",
+ "@2",
+ "operation",
+ "call_args",
+ "mlhs_basic",
+ "mlhs_inner",
+ "rparen",
+ "mlhs_head",
+ "mlhs_item",
+ "mlhs_node",
+ "mlhs_post",
+ "user_variable",
+ "keyword_variable",
+ "cname",
+ "cpath",
+ "fname",
+ "op",
+ "reswords",
+ "fsym",
+ "symbol",
+ "dsym",
+ "@3",
+ "simple_numeric",
+ "primary",
+ "arg_value",
+ "@4",
+ "@5",
+ "aref_args",
+ "none",
+ "args",
+ "trailer",
+ "assocs",
+ "paren_args",
+ "opt_paren_args",
+ "opt_block_arg",
+ "block_arg",
+ "@6",
+ "literal",
+ "strings",
+ "xstring",
+ "regexp",
+ "words",
+ "qwords",
+ "symbols",
+ "qsymbols",
+ "var_ref",
+ "assoc_list",
+ "brace_block",
+ "method_call",
+ "lambda",
+ "then",
+ "if_tail",
+ "do",
+ "case_body",
+ "for_var",
+ "superclass",
+ "term",
+ "f_arglist",
+ "singleton",
+ "@7",
+ "@8",
+ "@9",
+ "@10",
+ "@11",
+ "@12",
+ "@13",
+ "@14",
+ "@15",
+ "@16",
+ "@17",
+ "@18",
+ "@19",
+ "@20",
+ "@21",
+ "@22",
+ "f_marg",
+ "f_norm_arg",
+ "f_margs",
+ "f_marg_list",
+ "block_args_tail",
+ "f_block_kwarg",
+ "f_kwrest",
+ "opt_f_block_arg",
+ "f_block_arg",
+ "opt_block_args_tail",
+ "block_param",
+ "f_arg",
+ "f_block_optarg",
+ "f_rest_arg",
+ "block_param_def",
+ "opt_bv_decl",
+ "bv_decls",
+ "bvar",
+ "f_bad_arg",
+ "f_larglist",
+ "lambda_body",
+ "@23",
+ "@24",
+ "f_args",
+ "do_block",
+ "@25",
+ "operation3",
+ "@26",
+ "@27",
+ "cases",
+ "exc_list",
+ "exc_var",
+ "numeric",
+ "string",
+ "string1",
+ "string_contents",
+ "xstring_contents",
+ "regexp_contents",
+ "word_list",
+ "word",
+ "string_content",
+ "symbol_list",
+ "qword_list",
+ "qsym_list",
+ "string_dvar",
+ "@28",
+ "@29",
+ "args_tail",
+ "@30",
+ "f_kwarg",
+ "opt_args_tail",
+ "f_optarg",
+ "f_arg_asgn",
+ "f_arg_item",
+ "f_label",
+ "f_kw",
+ "f_block_kw",
+ "kwrest_mark",
+ "f_opt",
+ "f_block_opt",
+ "restarg_mark",
+ "blkarg_mark",
+ "assoc" ]
+
+Racc_debug_parser = false
+
+##### State transition tables end #####
+
+# reduce 0 omitted
+
+# reduce 1 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 78)
+ def _reduce_2(val, _values, result)
+ result = @builder.compstmt(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 83)
+ def _reduce_3(val, _values, result)
+ result = []
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 87)
+ def _reduce_4(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 91)
+ def _reduce_5(val, _values, result)
+ result = val[0] << val[2]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 95)
+ def _reduce_6(val, _values, result)
+ result = [ val[1] ]
+
+ result
+ end
+.,.,
+
+# reduce 7 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 101)
+ def _reduce_8(val, _values, result)
+ result = @builder.preexe(val[0], val[1], val[2], val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 106)
+ def _reduce_9(val, _values, result)
+ rescue_bodies = val[1]
+ else_t, else_ = val[2]
+ ensure_t, ensure_ = val[3]
+
+ if rescue_bodies.empty? && !else_.nil?
+ diagnostic :warning, :useless_else, nil, else_t
+ end
+
+ result = @builder.begin_body(val[0],
+ rescue_bodies,
+ else_t, else_,
+ ensure_t, ensure_)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 122)
+ def _reduce_10(val, _values, result)
+ result = @builder.compstmt(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 127)
+ def _reduce_11(val, _values, result)
+ result = []
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 131)
+ def _reduce_12(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 135)
+ def _reduce_13(val, _values, result)
+ result = val[0] << val[2]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 139)
+ def _reduce_14(val, _values, result)
+ result = [ val[1] ]
+
+ result
+ end
+.,.,
+
+# reduce 15 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 145)
+ def _reduce_16(val, _values, result)
+ diagnostic :error, :begin_in_method, nil, val[0]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 150)
+ def _reduce_17(val, _values, result)
+ @lexer.state = :expr_fname
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 154)
+ def _reduce_18(val, _values, result)
+ result = @builder.alias(val[0], val[1], val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 158)
+ def _reduce_19(val, _values, result)
+ result = @builder.alias(val[0],
+ @builder.gvar(val[1]),
+ @builder.gvar(val[2]))
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 164)
+ def _reduce_20(val, _values, result)
+ result = @builder.alias(val[0],
+ @builder.gvar(val[1]),
+ @builder.back_ref(val[2]))
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 170)
+ def _reduce_21(val, _values, result)
+ diagnostic :error, :nth_ref_alias, nil, val[2]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 174)
+ def _reduce_22(val, _values, result)
+ result = @builder.undef_method(val[0], val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 178)
+ def _reduce_23(val, _values, result)
+ result = @builder.condition_mod(val[0], nil,
+ val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 183)
+ def _reduce_24(val, _values, result)
+ result = @builder.condition_mod(nil, val[0],
+ val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 188)
+ def _reduce_25(val, _values, result)
+ result = @builder.loop_mod(:while, val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 192)
+ def _reduce_26(val, _values, result)
+ result = @builder.loop_mod(:until, val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 196)
+ def _reduce_27(val, _values, result)
+ rescue_body = @builder.rescue_body(val[1],
+ nil, nil, nil,
+ nil, val[2])
+
+ result = @builder.begin_body(val[0], [ rescue_body ])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 204)
+ def _reduce_28(val, _values, result)
+ result = @builder.postexe(val[0], val[1], val[2], val[3])
+
+ result
+ end
+.,.,
+
+# reduce 29 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 209)
+ def _reduce_30(val, _values, result)
+ result = @builder.multi_assign(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 213)
+ def _reduce_31(val, _values, result)
+ result = @builder.op_assign(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 217)
+ def _reduce_32(val, _values, result)
+ result = @builder.op_assign(
+ @builder.index(
+ val[0], val[1], val[2], val[3]),
+ val[4], val[5])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 224)
+ def _reduce_33(val, _values, result)
+ result = @builder.op_assign(
+ @builder.call_method(
+ val[0], val[1], val[2]),
+ val[3], val[4])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 231)
+ def _reduce_34(val, _values, result)
+ result = @builder.op_assign(
+ @builder.call_method(
+ val[0], val[1], val[2]),
+ val[3], val[4])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 238)
+ def _reduce_35(val, _values, result)
+ result = @builder.op_assign(
+ @builder.call_method(
+ val[0], val[1], val[2]),
+ val[3], val[4])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 245)
+ def _reduce_36(val, _values, result)
+ result = @builder.op_assign(
+ @builder.call_method(
+ val[0], val[1], val[2]),
+ val[3], val[4])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 252)
+ def _reduce_37(val, _values, result)
+ @builder.op_assign(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 256)
+ def _reduce_38(val, _values, result)
+ result = @builder.assign(val[0], val[1],
+ @builder.array(nil, val[2], nil))
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 261)
+ def _reduce_39(val, _values, result)
+ result = @builder.multi_assign(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+# reduce 40 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 267)
+ def _reduce_41(val, _values, result)
+ result = @builder.assign(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 271)
+ def _reduce_42(val, _values, result)
+ result = @builder.assign(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+# reduce 43 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 277)
+ def _reduce_44(val, _values, result)
+ result = @builder.logical_op(:and, val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 281)
+ def _reduce_45(val, _values, result)
+ result = @builder.logical_op(:or, val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 285)
+ def _reduce_46(val, _values, result)
+ result = @builder.not_op(val[0], nil, val[2], nil)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 289)
+ def _reduce_47(val, _values, result)
+ result = @builder.not_op(val[0], nil, val[1], nil)
+
+ result
+ end
+.,.,
+
+# reduce 48 omitted
+
+# reduce 49 omitted
+
+# reduce 50 omitted
+
+# reduce 51 omitted
+
+# reduce 52 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 301)
+ def _reduce_53(val, _values, result)
+ result = @builder.call_method(val[0], val[1], val[2],
+ nil, val[3], nil)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 307)
+ def _reduce_54(val, _values, result)
+ @static_env.extend_dynamic
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 311)
+ def _reduce_55(val, _values, result)
+ result = [ val[0], val[2], val[3], val[4] ]
+
+ @static_env.unextend
+
+ result
+ end
+.,.,
+
+# reduce 56 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 320)
+ def _reduce_57(val, _values, result)
+ result = @builder.call_method(nil, nil, val[0],
+ nil, val[1], nil)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 325)
+ def _reduce_58(val, _values, result)
+ method_call = @builder.call_method(nil, nil, val[0],
+ nil, val[1], nil)
+
+ begin_t, args, body, end_t = val[2]
+ result = @builder.block(method_call,
+ begin_t, args, body, end_t)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 334)
+ def _reduce_59(val, _values, result)
+ result = @builder.call_method(val[0], val[1], val[2],
+ nil, val[3], nil)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 339)
+ def _reduce_60(val, _values, result)
+ method_call = @builder.call_method(val[0], val[1], val[2],
+ nil, val[3], nil)
+
+ begin_t, args, body, end_t = val[4]
+ result = @builder.block(method_call,
+ begin_t, args, body, end_t)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 348)
+ def _reduce_61(val, _values, result)
+ result = @builder.call_method(val[0], val[1], val[2],
+ nil, val[3], nil)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 353)
+ def _reduce_62(val, _values, result)
+ method_call = @builder.call_method(val[0], val[1], val[2],
+ nil, val[3], nil)
+
+ begin_t, args, body, end_t = val[4]
+ result = @builder.block(method_call,
+ begin_t, args, body, end_t)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 362)
+ def _reduce_63(val, _values, result)
+ result = @builder.keyword_cmd(:super, val[0],
+ nil, val[1], nil)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 367)
+ def _reduce_64(val, _values, result)
+ result = @builder.keyword_cmd(:yield, val[0],
+ nil, val[1], nil)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 372)
+ def _reduce_65(val, _values, result)
+ result = @builder.keyword_cmd(:return, val[0],
+ nil, val[1], nil)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 377)
+ def _reduce_66(val, _values, result)
+ result = @builder.keyword_cmd(:break, val[0],
+ nil, val[1], nil)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 382)
+ def _reduce_67(val, _values, result)
+ result = @builder.keyword_cmd(:next, val[0],
+ nil, val[1], nil)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 388)
+ def _reduce_68(val, _values, result)
+ result = @builder.multi_lhs(nil, val[0], nil)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 392)
+ def _reduce_69(val, _values, result)
+ result = @builder.begin(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 397)
+ def _reduce_70(val, _values, result)
+ result = @builder.multi_lhs(nil, val[0], nil)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 401)
+ def _reduce_71(val, _values, result)
+ result = @builder.multi_lhs(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+# reduce 72 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 407)
+ def _reduce_73(val, _values, result)
+ result = val[0].
+ push(val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 412)
+ def _reduce_74(val, _values, result)
+ result = val[0].
+ push(@builder.splat(val[1], val[2]))
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 417)
+ def _reduce_75(val, _values, result)
+ result = val[0].
+ push(@builder.splat(val[1], val[2])).
+ concat(val[4])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 423)
+ def _reduce_76(val, _values, result)
+ result = val[0].
+ push(@builder.splat(val[1]))
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 428)
+ def _reduce_77(val, _values, result)
+ result = val[0].
+ push(@builder.splat(val[1])).
+ concat(val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 434)
+ def _reduce_78(val, _values, result)
+ result = [ @builder.splat(val[0], val[1]) ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 438)
+ def _reduce_79(val, _values, result)
+ result = [ @builder.splat(val[0], val[1]),
+ *val[3] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 443)
+ def _reduce_80(val, _values, result)
+ result = [ @builder.splat(val[0]) ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 447)
+ def _reduce_81(val, _values, result)
+ result = [ @builder.splat(val[0]),
+ *val[2] ]
+
+ result
+ end
+.,.,
+
+# reduce 82 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 454)
+ def _reduce_83(val, _values, result)
+ result = @builder.begin(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 459)
+ def _reduce_84(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 463)
+ def _reduce_85(val, _values, result)
+ result = val[0] << val[1]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 468)
+ def _reduce_86(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 472)
+ def _reduce_87(val, _values, result)
+ result = val[0] << val[2]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 477)
+ def _reduce_88(val, _values, result)
+ result = @builder.assignable(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 481)
+ def _reduce_89(val, _values, result)
+ result = @builder.assignable(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 485)
+ def _reduce_90(val, _values, result)
+ result = @builder.index_asgn(val[0], val[1], val[2], val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 489)
+ def _reduce_91(val, _values, result)
+ result = @builder.attr_asgn(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 493)
+ def _reduce_92(val, _values, result)
+ result = @builder.attr_asgn(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 497)
+ def _reduce_93(val, _values, result)
+ result = @builder.attr_asgn(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 501)
+ def _reduce_94(val, _values, result)
+ result = @builder.assignable(
+ @builder.const_fetch(val[0], val[1], val[2]))
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 506)
+ def _reduce_95(val, _values, result)
+ result = @builder.assignable(
+ @builder.const_global(val[0], val[1]))
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 511)
+ def _reduce_96(val, _values, result)
+ result = @builder.assignable(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 516)
+ def _reduce_97(val, _values, result)
+ result = @builder.assignable(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 520)
+ def _reduce_98(val, _values, result)
+ result = @builder.assignable(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 524)
+ def _reduce_99(val, _values, result)
+ result = @builder.index_asgn(val[0], val[1], val[2], val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 528)
+ def _reduce_100(val, _values, result)
+ result = @builder.attr_asgn(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 532)
+ def _reduce_101(val, _values, result)
+ result = @builder.attr_asgn(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 536)
+ def _reduce_102(val, _values, result)
+ result = @builder.attr_asgn(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 540)
+ def _reduce_103(val, _values, result)
+ result = @builder.assignable(
+ @builder.const_fetch(val[0], val[1], val[2]))
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 545)
+ def _reduce_104(val, _values, result)
+ result = @builder.assignable(
+ @builder.const_global(val[0], val[1]))
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 550)
+ def _reduce_105(val, _values, result)
+ result = @builder.assignable(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 555)
+ def _reduce_106(val, _values, result)
+ diagnostic :error, :module_name_const, nil, val[0]
+
+ result
+ end
+.,.,
+
+# reduce 107 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 561)
+ def _reduce_108(val, _values, result)
+ result = @builder.const_global(val[0], val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 565)
+ def _reduce_109(val, _values, result)
+ result = @builder.const(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 569)
+ def _reduce_110(val, _values, result)
+ result = @builder.const_fetch(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+# reduce 111 omitted
+
+# reduce 112 omitted
+
+# reduce 113 omitted
+
+# reduce 114 omitted
+
+# reduce 115 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 578)
+ def _reduce_116(val, _values, result)
+ result = @builder.symbol(val[0])
+
+ result
+ end
+.,.,
+
+# reduce 117 omitted
+
+# reduce 118 omitted
+
+# reduce 119 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 587)
+ def _reduce_120(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 591)
+ def _reduce_121(val, _values, result)
+ @lexer.state = :expr_fname
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 595)
+ def _reduce_122(val, _values, result)
+ result = val[0] << val[3]
+
+ result
+ end
+.,.,
+
+# reduce 123 omitted
+
+# reduce 124 omitted
+
+# reduce 125 omitted
+
+# reduce 126 omitted
+
+# reduce 127 omitted
+
+# reduce 128 omitted
+
+# reduce 129 omitted
+
+# reduce 130 omitted
+
+# reduce 131 omitted
+
+# reduce 132 omitted
+
+# reduce 133 omitted
+
+# reduce 134 omitted
+
+# reduce 135 omitted
+
+# reduce 136 omitted
+
+# reduce 137 omitted
+
+# reduce 138 omitted
+
+# reduce 139 omitted
+
+# reduce 140 omitted
+
+# reduce 141 omitted
+
+# reduce 142 omitted
+
+# reduce 143 omitted
+
+# reduce 144 omitted
+
+# reduce 145 omitted
+
+# reduce 146 omitted
+
+# reduce 147 omitted
+
+# reduce 148 omitted
+
+# reduce 149 omitted
+
+# reduce 150 omitted
+
+# reduce 151 omitted
+
+# reduce 152 omitted
+
+# reduce 153 omitted
+
+# reduce 154 omitted
+
+# reduce 155 omitted
+
+# reduce 156 omitted
+
+# reduce 157 omitted
+
+# reduce 158 omitted
+
+# reduce 159 omitted
+
+# reduce 160 omitted
+
+# reduce 161 omitted
+
+# reduce 162 omitted
+
+# reduce 163 omitted
+
+# reduce 164 omitted
+
+# reduce 165 omitted
+
+# reduce 166 omitted
+
+# reduce 167 omitted
+
+# reduce 168 omitted
+
+# reduce 169 omitted
+
+# reduce 170 omitted
+
+# reduce 171 omitted
+
+# reduce 172 omitted
+
+# reduce 173 omitted
+
+# reduce 174 omitted
+
+# reduce 175 omitted
+
+# reduce 176 omitted
+
+# reduce 177 omitted
+
+# reduce 178 omitted
+
+# reduce 179 omitted
+
+# reduce 180 omitted
+
+# reduce 181 omitted
+
+# reduce 182 omitted
+
+# reduce 183 omitted
+
+# reduce 184 omitted
+
+# reduce 185 omitted
+
+# reduce 186 omitted
+
+# reduce 187 omitted
+
+# reduce 188 omitted
+
+# reduce 189 omitted
+
+# reduce 190 omitted
+
+# reduce 191 omitted
+
+# reduce 192 omitted
+
+# reduce 193 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 616)
+ def _reduce_194(val, _values, result)
+ result = @builder.assign(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 620)
+ def _reduce_195(val, _values, result)
+ rescue_body = @builder.rescue_body(val[3],
+ nil, nil, nil,
+ nil, val[4])
+
+ rescue_ = @builder.begin_body(val[2], [ rescue_body ])
+
+ result = @builder.assign(val[0], val[1], rescue_)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 630)
+ def _reduce_196(val, _values, result)
+ result = @builder.op_assign(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 634)
+ def _reduce_197(val, _values, result)
+ rescue_body = @builder.rescue_body(val[3],
+ nil, nil, nil,
+ nil, val[4])
+
+ rescue_ = @builder.begin_body(val[2], [ rescue_body ])
+
+ result = @builder.op_assign(val[0], val[1], rescue_)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 644)
+ def _reduce_198(val, _values, result)
+ result = @builder.op_assign(
+ @builder.index(
+ val[0], val[1], val[2], val[3]),
+ val[4], val[5])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 651)
+ def _reduce_199(val, _values, result)
+ result = @builder.op_assign(
+ @builder.call_method(
+ val[0], val[1], val[2]),
+ val[3], val[4])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 658)
+ def _reduce_200(val, _values, result)
+ result = @builder.op_assign(
+ @builder.call_method(
+ val[0], val[1], val[2]),
+ val[3], val[4])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 665)
+ def _reduce_201(val, _values, result)
+ result = @builder.op_assign(
+ @builder.call_method(
+ val[0], val[1], val[2]),
+ val[3], val[4])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 672)
+ def _reduce_202(val, _values, result)
+ const = @builder.const_op_assignable(
+ @builder.const_fetch(val[0], val[1], val[2]))
+ result = @builder.op_assign(const, val[3], val[4])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 678)
+ def _reduce_203(val, _values, result)
+ const = @builder.const_op_assignable(
+ @builder.const_global(val[0], val[1]))
+ result = @builder.op_assign(const, val[2], val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 684)
+ def _reduce_204(val, _values, result)
+ result = @builder.op_assign(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 688)
+ def _reduce_205(val, _values, result)
+ result = @builder.range_inclusive(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 692)
+ def _reduce_206(val, _values, result)
+ result = @builder.range_exclusive(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 696)
+ def _reduce_207(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 700)
+ def _reduce_208(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 704)
+ def _reduce_209(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 708)
+ def _reduce_210(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 712)
+ def _reduce_211(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 716)
+ def _reduce_212(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 720)
+ def _reduce_213(val, _values, result)
+ result = @builder.unary_op(val[0],
+ @builder.binary_op(
+ val[1], val[2], val[3]))
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 726)
+ def _reduce_214(val, _values, result)
+ result = @builder.unary_op(val[0], val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 730)
+ def _reduce_215(val, _values, result)
+ result = @builder.unary_op(val[0], val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 734)
+ def _reduce_216(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 738)
+ def _reduce_217(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 742)
+ def _reduce_218(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 746)
+ def _reduce_219(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 750)
+ def _reduce_220(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 754)
+ def _reduce_221(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 758)
+ def _reduce_222(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 762)
+ def _reduce_223(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 766)
+ def _reduce_224(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 770)
+ def _reduce_225(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 774)
+ def _reduce_226(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 778)
+ def _reduce_227(val, _values, result)
+ result = @builder.match_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 782)
+ def _reduce_228(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 786)
+ def _reduce_229(val, _values, result)
+ result = @builder.not_op(val[0], nil, val[1], nil)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 790)
+ def _reduce_230(val, _values, result)
+ result = @builder.unary_op(val[0], val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 794)
+ def _reduce_231(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 798)
+ def _reduce_232(val, _values, result)
+ result = @builder.binary_op(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 802)
+ def _reduce_233(val, _values, result)
+ result = @builder.logical_op(:and, val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 806)
+ def _reduce_234(val, _values, result)
+ result = @builder.logical_op(:or, val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 810)
+ def _reduce_235(val, _values, result)
+ result = @builder.keyword_cmd(:defined?, val[0], nil, [ val[2] ], nil)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 820)
+ def _reduce_236(val, _values, result)
+ @lexer.push_cond
+ @lexer.cond.push(true)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 825)
+ def _reduce_237(val, _values, result)
+ @lexer.pop_cond
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 829)
+ def _reduce_238(val, _values, result)
+ result = @builder.ternary(val[0], val[1],
+ val[3], val[5], val[7])
+
+ result
+ end
+.,.,
+
+# reduce 239 omitted
+
+# reduce 240 omitted
+
+# reduce 241 omitted
+
+# reduce 242 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 840)
+ def _reduce_243(val, _values, result)
+ result = val[0] << @builder.associate(nil, val[2], nil)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 844)
+ def _reduce_244(val, _values, result)
+ result = [ @builder.associate(nil, val[0], nil) ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 849)
+ def _reduce_245(val, _values, result)
+ result = val
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 854)
+ def _reduce_246(val, _values, result)
+ result = [ nil, [], nil ]
+
+ result
+ end
+.,.,
+
+# reduce 247 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 860)
+ def _reduce_248(val, _values, result)
+ result = []
+
+ result
+ end
+.,.,
+
+# reduce 249 omitted
+
+# reduce 250 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 866)
+ def _reduce_251(val, _values, result)
+ result = val[0] << @builder.associate(nil, val[2], nil)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 870)
+ def _reduce_252(val, _values, result)
+ result = [ @builder.associate(nil, val[0], nil) ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 875)
+ def _reduce_253(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 879)
+ def _reduce_254(val, _values, result)
+ result = val[0].concat(val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 883)
+ def _reduce_255(val, _values, result)
+ result = [ @builder.associate(nil, val[0], nil) ]
+ result.concat(val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 888)
+ def _reduce_256(val, _values, result)
+ assocs = @builder.associate(nil, val[2], nil)
+ result = val[0] << assocs
+ result.concat(val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 894)
+ def _reduce_257(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 898)
+ def _reduce_258(val, _values, result)
+ result = @lexer.cmdarg.dup
+ @lexer.cmdarg.push(true)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 903)
+ def _reduce_259(val, _values, result)
+ @lexer.cmdarg = val[0]
+
+ result = val[1]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 910)
+ def _reduce_260(val, _values, result)
+ result = @builder.block_pass(val[0], val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 915)
+ def _reduce_261(val, _values, result)
+ result = [ val[1] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 919)
+ def _reduce_262(val, _values, result)
+ result = []
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 924)
+ def _reduce_263(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 928)
+ def _reduce_264(val, _values, result)
+ result = [ @builder.splat(val[0], val[1]) ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 932)
+ def _reduce_265(val, _values, result)
+ result = val[0] << val[2]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 936)
+ def _reduce_266(val, _values, result)
+ result = val[0] << @builder.splat(val[2], val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 941)
+ def _reduce_267(val, _values, result)
+ result = @builder.array(nil, val[0], nil)
+
+ result
+ end
+.,.,
+
+# reduce 268 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 947)
+ def _reduce_269(val, _values, result)
+ result = val[0] << val[2]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 951)
+ def _reduce_270(val, _values, result)
+ result = val[0] << @builder.splat(val[2], val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 955)
+ def _reduce_271(val, _values, result)
+ result = [ @builder.splat(val[0], val[1]) ]
+
+ result
+ end
+.,.,
+
+# reduce 272 omitted
+
+# reduce 273 omitted
+
+# reduce 274 omitted
+
+# reduce 275 omitted
+
+# reduce 276 omitted
+
+# reduce 277 omitted
+
+# reduce 278 omitted
+
+# reduce 279 omitted
+
+# reduce 280 omitted
+
+# reduce 281 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 970)
+ def _reduce_282(val, _values, result)
+ result = @builder.call_method(nil, nil, val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 974)
+ def _reduce_283(val, _values, result)
+ result = @lexer.cmdarg.dup
+ @lexer.cmdarg.clear
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 979)
+ def _reduce_284(val, _values, result)
+ @lexer.cmdarg = val[1]
+
+ result = @builder.begin_keyword(val[0], val[2], val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 985)
+ def _reduce_285(val, _values, result)
+ result = @lexer.cmdarg.dup
+ @lexer.cmdarg.clear
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 990)
+ def _reduce_286(val, _values, result)
+ @lexer.state = :expr_endarg
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 994)
+ def _reduce_287(val, _values, result)
+ @lexer.cmdarg = val[1]
+
+ result = @builder.begin(val[0], val[2], val[5])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1000)
+ def _reduce_288(val, _values, result)
+ @lexer.state = :expr_endarg
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1004)
+ def _reduce_289(val, _values, result)
+ result = @builder.begin(val[0], nil, val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1008)
+ def _reduce_290(val, _values, result)
+ result = @builder.begin(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1012)
+ def _reduce_291(val, _values, result)
+ result = @builder.const_fetch(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1016)
+ def _reduce_292(val, _values, result)
+ result = @builder.const_global(val[0], val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1020)
+ def _reduce_293(val, _values, result)
+ result = @builder.array(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1024)
+ def _reduce_294(val, _values, result)
+ result = @builder.associate(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1028)
+ def _reduce_295(val, _values, result)
+ result = @builder.keyword_cmd(:return, val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1032)
+ def _reduce_296(val, _values, result)
+ result = @builder.keyword_cmd(:yield, val[0], val[1], val[2], val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1036)
+ def _reduce_297(val, _values, result)
+ result = @builder.keyword_cmd(:yield, val[0], val[1], [], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1040)
+ def _reduce_298(val, _values, result)
+ result = @builder.keyword_cmd(:yield, val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1044)
+ def _reduce_299(val, _values, result)
+ result = @builder.keyword_cmd(:defined?, val[0],
+ val[2], [ val[3] ], val[4])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1049)
+ def _reduce_300(val, _values, result)
+ result = @builder.not_op(val[0], val[1], val[2], val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1053)
+ def _reduce_301(val, _values, result)
+ result = @builder.not_op(val[0], val[1], nil, val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1057)
+ def _reduce_302(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 303 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 1066)
+ def _reduce_304(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(<<'.,.,', 'ruby22.y', 1072)
+ def _reduce_305(val, _values, result)
+ lambda_call = @builder.call_lambda(val[0])
+
+ args, (begin_t, body, end_t) = val[1]
+ result = @builder.block(lambda_call,
+ begin_t, args, body, end_t)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1080)
+ def _reduce_306(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(<<'.,.,', 'ruby22.y', 1087)
+ def _reduce_307(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(<<'.,.,', 'ruby22.y', 1094)
+ def _reduce_308(val, _values, result)
+ @lexer.cond.push(true)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1098)
+ def _reduce_309(val, _values, result)
+ @lexer.cond.pop
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1102)
+ def _reduce_310(val, _values, result)
+ result = @builder.loop(:while, val[0], val[2], val[3],
+ val[5], val[6])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1107)
+ def _reduce_311(val, _values, result)
+ @lexer.cond.push(true)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1111)
+ def _reduce_312(val, _values, result)
+ @lexer.cond.pop
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1115)
+ def _reduce_313(val, _values, result)
+ result = @builder.loop(:until, val[0], val[2], val[3],
+ val[5], val[6])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1120)
+ def _reduce_314(val, _values, result)
+ *when_bodies, (else_t, else_body) = *val[3]
+
+ result = @builder.case(val[0], val[1],
+ when_bodies, else_t, else_body,
+ val[4])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1128)
+ def _reduce_315(val, _values, result)
+ *when_bodies, (else_t, else_body) = *val[2]
+
+ result = @builder.case(val[0], nil,
+ when_bodies, else_t, else_body,
+ val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1136)
+ def _reduce_316(val, _values, result)
+ @lexer.cond.push(true)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1140)
+ def _reduce_317(val, _values, result)
+ @lexer.cond.pop
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1144)
+ def _reduce_318(val, _values, result)
+ result = @builder.for(val[0], val[1],
+ val[2], val[4],
+ val[5], val[7], val[8])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1150)
+ def _reduce_319(val, _values, result)
+ @static_env.extend_static
+ @lexer.push_cmdarg
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1155)
+ def _reduce_320(val, _values, result)
+ if in_def?
+ diagnostic :error, :class_in_def, nil, val[0]
+ end
+
+ lt_t, superclass = val[2]
+ result = @builder.def_class(val[0], val[1],
+ lt_t, superclass,
+ val[4], val[5])
+
+ @lexer.pop_cmdarg
+ @static_env.unextend
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1169)
+ def _reduce_321(val, _values, result)
+ result = @def_level
+ @def_level = 0
+
+ @static_env.extend_static
+ @lexer.push_cmdarg
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1177)
+ def _reduce_322(val, _values, result)
+ result = @builder.def_sclass(val[0], val[1], val[2],
+ val[5], val[6])
+
+ @lexer.pop_cmdarg
+ @static_env.unextend
+
+ @def_level = val[4]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1187)
+ def _reduce_323(val, _values, result)
+ @static_env.extend_static
+ @lexer.push_cmdarg
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1192)
+ def _reduce_324(val, _values, result)
+ if in_def?
+ diagnostic :error, :module_in_def, nil, val[0]
+ end
+
+ result = @builder.def_module(val[0], val[1],
+ val[3], val[4])
+
+ @lexer.pop_cmdarg
+ @static_env.unextend
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1204)
+ def _reduce_325(val, _values, result)
+ @def_level += 1
+ @static_env.extend_static
+ @lexer.push_cmdarg
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1210)
+ def _reduce_326(val, _values, result)
+ result = @builder.def_method(val[0], val[1],
+ val[3], val[4], val[5])
+
+ @lexer.pop_cmdarg
+ @static_env.unextend
+ @def_level -= 1
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1219)
+ def _reduce_327(val, _values, result)
+ @lexer.state = :expr_fname
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1223)
+ def _reduce_328(val, _values, result)
+ @def_level += 1
+ @static_env.extend_static
+ @lexer.push_cmdarg
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1229)
+ def _reduce_329(val, _values, result)
+ result = @builder.def_singleton(val[0], val[1], val[2],
+ val[4], val[6], val[7], val[8])
+
+ @lexer.pop_cmdarg
+ @static_env.unextend
+ @def_level -= 1
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1238)
+ def _reduce_330(val, _values, result)
+ result = @builder.keyword_cmd(:break, val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1242)
+ def _reduce_331(val, _values, result)
+ result = @builder.keyword_cmd(:next, val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1246)
+ def _reduce_332(val, _values, result)
+ result = @builder.keyword_cmd(:redo, val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1250)
+ def _reduce_333(val, _values, result)
+ result = @builder.keyword_cmd(:retry, val[0])
+
+ result
+ end
+.,.,
+
+# reduce 334 omitted
+
+# reduce 335 omitted
+
+# reduce 336 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 1259)
+ def _reduce_337(val, _values, result)
+ result = val[1]
+
+ result
+ end
+.,.,
+
+# reduce 338 omitted
+
+# reduce 339 omitted
+
+# reduce 340 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 1268)
+ def _reduce_341(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 342 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 1279)
+ def _reduce_343(val, _values, result)
+ result = val
+
+ result
+ end
+.,.,
+
+# reduce 344 omitted
+
+# reduce 345 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 1287)
+ def _reduce_346(val, _values, result)
+ result = @builder.arg(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1291)
+ def _reduce_347(val, _values, result)
+ result = @builder.multi_lhs(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1296)
+ def _reduce_348(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1300)
+ def _reduce_349(val, _values, result)
+ result = val[0] << val[2]
+
+ result
+ end
+.,.,
+
+# reduce 350 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 1306)
+ def _reduce_351(val, _values, result)
+ result = val[0].
+ push(@builder.restarg(val[2], val[3]))
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1311)
+ def _reduce_352(val, _values, result)
+ result = val[0].
+ push(@builder.restarg(val[2], val[3])).
+ concat(val[5])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1317)
+ def _reduce_353(val, _values, result)
+ result = val[0].
+ push(@builder.restarg(val[2]))
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1322)
+ def _reduce_354(val, _values, result)
+ result = val[0].
+ push(@builder.restarg(val[2])).
+ concat(val[4])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1328)
+ def _reduce_355(val, _values, result)
+ result = [ @builder.restarg(val[0], val[1]) ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1332)
+ def _reduce_356(val, _values, result)
+ result = [ @builder.restarg(val[0], val[1]),
+ *val[3] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1337)
+ def _reduce_357(val, _values, result)
+ result = [ @builder.restarg(val[0]) ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1341)
+ def _reduce_358(val, _values, result)
+ result = [ @builder.restarg(val[0]),
+ *val[2] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1347)
+ def _reduce_359(val, _values, result)
+ result = val[0].concat(val[2]).concat(val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1351)
+ def _reduce_360(val, _values, result)
+ result = val[0].concat(val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1355)
+ def _reduce_361(val, _values, result)
+ result = val[0].concat(val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1359)
+ def _reduce_362(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1365)
+ def _reduce_363(val, _values, result)
+ result = val[1]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1369)
+ def _reduce_364(val, _values, result)
+ result = []
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1374)
+ def _reduce_365(val, _values, result)
+ result = val[0].
+ concat(val[2]).
+ concat(val[4]).
+ concat(val[5])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1381)
+ def _reduce_366(val, _values, result)
+ result = val[0].
+ concat(val[2]).
+ concat(val[4]).
+ concat(val[6]).
+ concat(val[7])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1389)
+ def _reduce_367(val, _values, result)
+ result = val[0].
+ concat(val[2]).
+ concat(val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1395)
+ def _reduce_368(val, _values, result)
+ result = val[0].
+ concat(val[2]).
+ concat(val[4]).
+ concat(val[5])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1402)
+ def _reduce_369(val, _values, result)
+ result = val[0].
+ concat(val[2]).
+ concat(val[3])
+
+ result
+ end
+.,.,
+
+# reduce 370 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 1409)
+ def _reduce_371(val, _values, result)
+ result = val[0].
+ concat(val[2]).
+ concat(val[4]).
+ concat(val[5])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1416)
+ def _reduce_372(val, _values, result)
+ result = val[0].concat(val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1420)
+ def _reduce_373(val, _values, result)
+ result = val[0].
+ concat(val[2]).
+ concat(val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1426)
+ def _reduce_374(val, _values, result)
+ result = val[0].
+ concat(val[2]).
+ concat(val[4]).
+ concat(val[5])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1433)
+ def _reduce_375(val, _values, result)
+ result = val[0].
+ concat(val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1438)
+ def _reduce_376(val, _values, result)
+ result = val[0].
+ concat(val[2]).
+ concat(val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1444)
+ def _reduce_377(val, _values, result)
+ result = val[0].
+ concat(val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1449)
+ def _reduce_378(val, _values, result)
+ result = val[0].
+ concat(val[2]).
+ concat(val[3])
+
+ result
+ end
+.,.,
+
+# reduce 379 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 1457)
+ def _reduce_380(val, _values, result)
+ result = @builder.args(nil, [], nil)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1461)
+ def _reduce_381(val, _values, result)
+ @lexer.state = :expr_value
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1466)
+ def _reduce_382(val, _values, result)
+ result = @builder.args(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1470)
+ def _reduce_383(val, _values, result)
+ result = @builder.args(val[0], [], val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1474)
+ def _reduce_384(val, _values, result)
+ result = @builder.args(val[0], val[1].concat(val[2]), val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1479)
+ def _reduce_385(val, _values, result)
+ result = []
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1483)
+ def _reduce_386(val, _values, result)
+ result = val[2]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1488)
+ def _reduce_387(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1492)
+ def _reduce_388(val, _values, result)
+ result = val[0] << val[2]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1497)
+ def _reduce_389(val, _values, result)
+ result = @builder.shadowarg(val[0])
+
+ result
+ end
+.,.,
+
+# reduce 390 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 1502)
+ def _reduce_391(val, _values, result)
+ @static_env.extend_dynamic
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1506)
+ def _reduce_392(val, _values, result)
+ result = @lexer.cmdarg.dup
+ @lexer.cmdarg.clear
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1511)
+ def _reduce_393(val, _values, result)
+ @lexer.cmdarg = val[2]
+ @lexer.cmdarg.lexpop
+
+ result = [ val[1], val[3] ]
+
+ @static_env.unextend
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1521)
+ def _reduce_394(val, _values, result)
+ result = @builder.args(val[0], val[1].concat(val[2]), val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1525)
+ def _reduce_395(val, _values, result)
+ result = @builder.args(nil, val[0], nil)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1530)
+ def _reduce_396(val, _values, result)
+ result = [ val[0], val[1], val[2] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1534)
+ def _reduce_397(val, _values, result)
+ result = [ val[0], val[1], val[2] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1539)
+ def _reduce_398(val, _values, result)
+ @static_env.extend_dynamic
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1543)
+ def _reduce_399(val, _values, result)
+ result = [ val[0], val[2], val[3], val[4] ]
+
+ @static_env.unextend
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1550)
+ def _reduce_400(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(<<'.,.,', 'ruby22.y', 1556)
+ def _reduce_401(val, _values, result)
+ lparen_t, args, rparen_t = val[3]
+ result = @builder.call_method(val[0], val[1], val[2],
+ lparen_t, args, rparen_t)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1562)
+ def _reduce_402(val, _values, result)
+ lparen_t, args, rparen_t = val[3]
+ method_call = @builder.call_method(val[0], val[1], val[2],
+ lparen_t, args, rparen_t)
+
+ begin_t, args, body, end_t = val[4]
+ result = @builder.block(method_call,
+ begin_t, args, body, end_t)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1572)
+ def _reduce_403(val, _values, result)
+ method_call = @builder.call_method(val[0], val[1], val[2],
+ nil, val[3], nil)
+
+ begin_t, args, body, end_t = val[4]
+ result = @builder.block(method_call,
+ begin_t, args, body, end_t)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1582)
+ def _reduce_404(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(<<'.,.,', 'ruby22.y', 1588)
+ def _reduce_405(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(<<'.,.,', 'ruby22.y', 1594)
+ def _reduce_406(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(<<'.,.,', 'ruby22.y', 1600)
+ def _reduce_407(val, _values, result)
+ result = @builder.call_method(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1604)
+ def _reduce_408(val, _values, result)
+ lparen_t, args, rparen_t = val[2]
+ result = @builder.call_method(val[0], val[1], nil,
+ lparen_t, args, rparen_t)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1610)
+ def _reduce_409(val, _values, result)
+ lparen_t, args, rparen_t = val[2]
+ result = @builder.call_method(val[0], val[1], nil,
+ lparen_t, args, rparen_t)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1616)
+ def _reduce_410(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(<<'.,.,', 'ruby22.y', 1622)
+ def _reduce_411(val, _values, result)
+ result = @builder.keyword_cmd(:zsuper, val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1626)
+ def _reduce_412(val, _values, result)
+ result = @builder.index(val[0], val[1], val[2], val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1631)
+ def _reduce_413(val, _values, result)
+ @static_env.extend_dynamic
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1635)
+ def _reduce_414(val, _values, result)
+ result = [ val[0], val[2], val[3], val[4] ]
+
+ @static_env.unextend
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1641)
+ def _reduce_415(val, _values, result)
+ @static_env.extend_dynamic
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1645)
+ def _reduce_416(val, _values, result)
+ result = [ val[0], val[2], val[3], val[4] ]
+
+ @static_env.unextend
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1652)
+ def _reduce_417(val, _values, result)
+ result = [ @builder.when(val[0], val[1], val[2], val[3]),
+ *val[4] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1658)
+ def _reduce_418(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+# reduce 419 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 1664)
+ def _reduce_420(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(<<'.,.,', 'ruby22.y', 1677)
+ def _reduce_421(val, _values, result)
+ result = []
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1682)
+ def _reduce_422(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+# reduce 423 omitted
+
+# reduce 424 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 1689)
+ def _reduce_425(val, _values, result)
+ result = [ val[0], val[1] ]
+
+ result
+ end
+.,.,
+
+# reduce 426 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 1695)
+ def _reduce_427(val, _values, result)
+ result = [ val[0], val[1] ]
+
+ result
+ end
+.,.,
+
+# reduce 428 omitted
+
+# reduce 429 omitted
+
+# reduce 430 omitted
+
+# reduce 431 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 1705)
+ def _reduce_432(val, _values, result)
+ result = @builder.string_compose(nil, val[0], nil)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1710)
+ def _reduce_433(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1714)
+ def _reduce_434(val, _values, result)
+ result = val[0] << val[1]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1719)
+ def _reduce_435(val, _values, result)
+ result = @builder.string_compose(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1723)
+ def _reduce_436(val, _values, result)
+ result = @builder.string(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1727)
+ def _reduce_437(val, _values, result)
+ result = @builder.character(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1732)
+ def _reduce_438(val, _values, result)
+ result = @builder.xstring_compose(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1737)
+ def _reduce_439(val, _values, result)
+ opts = @builder.regexp_options(val[3])
+ result = @builder.regexp_compose(val[0], val[1], val[2], opts)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1743)
+ def _reduce_440(val, _values, result)
+ result = @builder.words_compose(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1748)
+ def _reduce_441(val, _values, result)
+ result = []
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1752)
+ def _reduce_442(val, _values, result)
+ result = val[0] << @builder.word(val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1757)
+ def _reduce_443(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1761)
+ def _reduce_444(val, _values, result)
+ result = val[0] << val[1]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1766)
+ def _reduce_445(val, _values, result)
+ result = @builder.symbols_compose(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1771)
+ def _reduce_446(val, _values, result)
+ result = []
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1775)
+ def _reduce_447(val, _values, result)
+ result = val[0] << @builder.word(val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1780)
+ def _reduce_448(val, _values, result)
+ result = @builder.words_compose(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1785)
+ def _reduce_449(val, _values, result)
+ result = @builder.symbols_compose(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1790)
+ def _reduce_450(val, _values, result)
+ result = []
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1794)
+ def _reduce_451(val, _values, result)
+ result = val[0] << @builder.string_internal(val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1799)
+ def _reduce_452(val, _values, result)
+ result = []
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1803)
+ def _reduce_453(val, _values, result)
+ result = val[0] << @builder.symbol_internal(val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1808)
+ def _reduce_454(val, _values, result)
+ result = []
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1812)
+ def _reduce_455(val, _values, result)
+ result = val[0] << val[1]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1817)
+ def _reduce_456(val, _values, result)
+ result = []
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1821)
+ def _reduce_457(val, _values, result)
+ result = val[0] << val[1]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1826)
+ def _reduce_458(val, _values, result)
+ result = []
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1830)
+ def _reduce_459(val, _values, result)
+ result = val[0] << val[1]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1835)
+ def _reduce_460(val, _values, result)
+ result = @builder.string_internal(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1839)
+ def _reduce_461(val, _values, result)
+ result = val[1]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1843)
+ def _reduce_462(val, _values, result)
+ @lexer.cond.push(false)
+ @lexer.cmdarg.push(false)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1848)
+ def _reduce_463(val, _values, result)
+ @lexer.cond.lexpop
+ @lexer.cmdarg.lexpop
+
+ result = @builder.begin(val[0], val[2], val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1856)
+ def _reduce_464(val, _values, result)
+ result = @builder.gvar(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1860)
+ def _reduce_465(val, _values, result)
+ result = @builder.ivar(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1864)
+ def _reduce_466(val, _values, result)
+ result = @builder.cvar(val[0])
+
+ result
+ end
+.,.,
+
+# reduce 467 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 1871)
+ def _reduce_468(val, _values, result)
+ result = @builder.symbol(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1876)
+ def _reduce_469(val, _values, result)
+ result = @builder.symbol_compose(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1881)
+ def _reduce_470(val, _values, result)
+ result = val[0]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1885)
+ def _reduce_471(val, _values, result)
+ result = @builder.negate(val[0], val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1890)
+ def _reduce_472(val, _values, result)
+ result = @builder.integer(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1894)
+ def _reduce_473(val, _values, result)
+ result = @builder.float(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1898)
+ def _reduce_474(val, _values, result)
+ result = @builder.rational(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1902)
+ def _reduce_475(val, _values, result)
+ result = @builder.complex(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1907)
+ def _reduce_476(val, _values, result)
+ result = @builder.ident(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1911)
+ def _reduce_477(val, _values, result)
+ result = @builder.ivar(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1915)
+ def _reduce_478(val, _values, result)
+ result = @builder.gvar(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1919)
+ def _reduce_479(val, _values, result)
+ result = @builder.const(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1923)
+ def _reduce_480(val, _values, result)
+ result = @builder.cvar(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1928)
+ def _reduce_481(val, _values, result)
+ result = @builder.nil(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1932)
+ def _reduce_482(val, _values, result)
+ result = @builder.self(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1936)
+ def _reduce_483(val, _values, result)
+ result = @builder.true(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1940)
+ def _reduce_484(val, _values, result)
+ result = @builder.false(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1944)
+ def _reduce_485(val, _values, result)
+ result = @builder.__FILE__(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1948)
+ def _reduce_486(val, _values, result)
+ result = @builder.__LINE__(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1952)
+ def _reduce_487(val, _values, result)
+ result = @builder.__ENCODING__(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1957)
+ def _reduce_488(val, _values, result)
+ result = @builder.accessible(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1961)
+ def _reduce_489(val, _values, result)
+ result = @builder.accessible(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1966)
+ def _reduce_490(val, _values, result)
+ result = @builder.assignable(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1970)
+ def _reduce_491(val, _values, result)
+ result = @builder.assignable(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1975)
+ def _reduce_492(val, _values, result)
+ result = @builder.nth_ref(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1979)
+ def _reduce_493(val, _values, result)
+ result = @builder.back_ref(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1984)
+ def _reduce_494(val, _values, result)
+ result = nil
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1988)
+ def _reduce_495(val, _values, result)
+ @lexer.state = :expr_value
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1992)
+ def _reduce_496(val, _values, result)
+ result = [ val[0], val[2] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 1996)
+ def _reduce_497(val, _values, result)
+ yyerrok
+ result = nil
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2002)
+ def _reduce_498(val, _values, result)
+ result = @builder.args(val[0], val[1], val[2])
+
+ @lexer.state = :expr_value
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2007)
+ def _reduce_499(val, _values, result)
+ result = @lexer.in_kwarg
+ @lexer.in_kwarg = true
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2012)
+ def _reduce_500(val, _values, result)
+ @lexer.in_kwarg = val[0]
+ result = @builder.args(nil, val[1], nil)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2018)
+ def _reduce_501(val, _values, result)
+ result = val[0].concat(val[2]).concat(val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2022)
+ def _reduce_502(val, _values, result)
+ result = val[0].concat(val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2026)
+ def _reduce_503(val, _values, result)
+ result = val[0].concat(val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2030)
+ def _reduce_504(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2035)
+ def _reduce_505(val, _values, result)
+ result = val[1]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2039)
+ def _reduce_506(val, _values, result)
+ result = []
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2044)
+ def _reduce_507(val, _values, result)
+ result = val[0].
+ concat(val[2]).
+ concat(val[4]).
+ concat(val[5])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2051)
+ def _reduce_508(val, _values, result)
+ result = val[0].
+ concat(val[2]).
+ concat(val[4]).
+ concat(val[6]).
+ concat(val[7])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2059)
+ def _reduce_509(val, _values, result)
+ result = val[0].
+ concat(val[2]).
+ concat(val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2065)
+ def _reduce_510(val, _values, result)
+ result = val[0].
+ concat(val[2]).
+ concat(val[4]).
+ concat(val[5])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2072)
+ def _reduce_511(val, _values, result)
+ result = val[0].
+ concat(val[2]).
+ concat(val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2078)
+ def _reduce_512(val, _values, result)
+ result = val[0].
+ concat(val[2]).
+ concat(val[4]).
+ concat(val[5])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2085)
+ def _reduce_513(val, _values, result)
+ result = val[0].
+ concat(val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2090)
+ def _reduce_514(val, _values, result)
+ result = val[0].
+ concat(val[2]).
+ concat(val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2096)
+ def _reduce_515(val, _values, result)
+ result = val[0].
+ concat(val[2]).
+ concat(val[4]).
+ concat(val[5])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2103)
+ def _reduce_516(val, _values, result)
+ result = val[0].
+ concat(val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2108)
+ def _reduce_517(val, _values, result)
+ result = val[0].
+ concat(val[2]).
+ concat(val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2114)
+ def _reduce_518(val, _values, result)
+ result = val[0].
+ concat(val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2119)
+ def _reduce_519(val, _values, result)
+ result = val[0].
+ concat(val[2]).
+ concat(val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2125)
+ def _reduce_520(val, _values, result)
+ result = val[0]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2129)
+ def _reduce_521(val, _values, result)
+ result = []
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2134)
+ def _reduce_522(val, _values, result)
+ diagnostic :error, :argument_const, nil, val[0]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2138)
+ def _reduce_523(val, _values, result)
+ diagnostic :error, :argument_ivar, nil, val[0]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2142)
+ def _reduce_524(val, _values, result)
+ diagnostic :error, :argument_gvar, nil, val[0]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2146)
+ def _reduce_525(val, _values, result)
+ diagnostic :error, :argument_cvar, nil, val[0]
+
+ result
+ end
+.,.,
+
+# reduce 526 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 2152)
+ def _reduce_527(val, _values, result)
+ @static_env.declare val[0][0]
+
+ result = val[0]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2159)
+ def _reduce_528(val, _values, result)
+ result = val[0]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2164)
+ def _reduce_529(val, _values, result)
+ result = @builder.arg(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2168)
+ def _reduce_530(val, _values, result)
+ result = @builder.multi_lhs(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2173)
+ def _reduce_531(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2177)
+ def _reduce_532(val, _values, result)
+ result = val[0] << val[2]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2182)
+ def _reduce_533(val, _values, result)
+ check_kwarg_name(val[0])
+
+ @static_env.declare val[0][0]
+
+ result = val[0]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2191)
+ def _reduce_534(val, _values, result)
+ result = @builder.kwoptarg(val[0], val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2195)
+ def _reduce_535(val, _values, result)
+ result = @builder.kwarg(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2200)
+ def _reduce_536(val, _values, result)
+ result = @builder.kwoptarg(val[0], val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2204)
+ def _reduce_537(val, _values, result)
+ result = @builder.kwarg(val[0])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2209)
+ def _reduce_538(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2213)
+ def _reduce_539(val, _values, result)
+ result = val[0] << val[2]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2218)
+ def _reduce_540(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2222)
+ def _reduce_541(val, _values, result)
+ result = val[0] << val[2]
+
+ result
+ end
+.,.,
+
+# reduce 542 omitted
+
+# reduce 543 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 2229)
+ def _reduce_544(val, _values, result)
+ @static_env.declare val[1][0]
+
+ result = [ @builder.kwrestarg(val[0], val[1]) ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2235)
+ def _reduce_545(val, _values, result)
+ result = [ @builder.kwrestarg(val[0]) ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2240)
+ def _reduce_546(val, _values, result)
+ result = @builder.optarg(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2245)
+ def _reduce_547(val, _values, result)
+ result = @builder.optarg(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2250)
+ def _reduce_548(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2254)
+ def _reduce_549(val, _values, result)
+ result = val[0] << val[2]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2259)
+ def _reduce_550(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2263)
+ def _reduce_551(val, _values, result)
+ result = val[0] << val[2]
+
+ result
+ end
+.,.,
+
+# reduce 552 omitted
+
+# reduce 553 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 2270)
+ def _reduce_554(val, _values, result)
+ @static_env.declare val[1][0]
+
+ result = [ @builder.restarg(val[0], val[1]) ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2276)
+ def _reduce_555(val, _values, result)
+ result = [ @builder.restarg(val[0]) ]
+
+ result
+ end
+.,.,
+
+# reduce 556 omitted
+
+# reduce 557 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 2283)
+ def _reduce_558(val, _values, result)
+ @static_env.declare val[1][0]
+
+ result = @builder.blockarg(val[0], val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2290)
+ def _reduce_559(val, _values, result)
+ result = [ val[1] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2294)
+ def _reduce_560(val, _values, result)
+ result = []
+
+ result
+ end
+.,.,
+
+# reduce 561 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 2300)
+ def _reduce_562(val, _values, result)
+ result = val[1]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2305)
+ def _reduce_563(val, _values, result)
+ result = []
+
+ result
+ end
+.,.,
+
+# reduce 564 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 2311)
+ def _reduce_565(val, _values, result)
+ result = [ val[0] ]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2315)
+ def _reduce_566(val, _values, result)
+ result = val[0] << val[2]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2320)
+ def _reduce_567(val, _values, result)
+ result = @builder.pair(val[0], val[1], val[2])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2324)
+ def _reduce_568(val, _values, result)
+ result = @builder.pair_keyword(val[0], val[1])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2328)
+ def _reduce_569(val, _values, result)
+ result = @builder.pair_quoted(val[0], val[1], val[2], val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2332)
+ def _reduce_570(val, _values, result)
+ result = @builder.kwsplat(val[0], val[1])
+
+ result
+ end
+.,.,
+
+# reduce 571 omitted
+
+# reduce 572 omitted
+
+# reduce 573 omitted
+
+# reduce 574 omitted
+
+# reduce 575 omitted
+
+# reduce 576 omitted
+
+# reduce 577 omitted
+
+# reduce 578 omitted
+
+# reduce 579 omitted
+
+# reduce 580 omitted
+
+# reduce 581 omitted
+
+# reduce 582 omitted
+
+# reduce 583 omitted
+
+# reduce 584 omitted
+
+# reduce 585 omitted
+
+# reduce 586 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 2343)
+ def _reduce_587(val, _values, result)
+ result = val[1]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'ruby22.y', 2347)
+ def _reduce_588(val, _values, result)
+ result = val[1]
+
+ result
+ end
+.,.,
+
+# reduce 589 omitted
+
+# reduce 590 omitted
+
+# reduce 591 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 2353)
+ def _reduce_592(val, _values, result)
+ yyerrok
+
+ result
+ end
+.,.,
+
+# reduce 593 omitted
+
+# reduce 594 omitted
+
+# reduce 595 omitted
+
+module_eval(<<'.,.,', 'ruby22.y', 2362)
+ def _reduce_596(val, _values, result)
+ result = nil
+
+ result
+ end
+.,.,
+
+def _reduce_none(val, _values, result)
+ val[0]
+end
+
+ end # class Ruby22
+ end # module Parser