lib/coffee_script/parser.rb in coffee-script-0.2.5 vs lib/coffee_script/parser.rb in coffee-script-0.2.6

- old
+ new

@@ -8,11 +8,11 @@ module CoffeeScript class Parser < Racc::Parser -module_eval(<<'...end grammar.y/module_eval...', 'grammar.y', 446) +module_eval(<<'...end grammar.y/module_eval...', 'grammar.y', 450) # Lex and parse a CoffeeScript. def parse(code) # Uncomment the following line to enable grammar debugging, in combination # with the -g flag in the Rake build task. # @yydebug = true @@ -32,978 +32,1020 @@ ...end grammar.y/module_eval... ##### State transition tables begin ### clist = [ -'95,25,104,8,288,178,165,264,259,260,264,136,165,165,164,14,25,96,14', -'25,164,164,25,121,124,108,112,134,39,43,125,96,130,71,100,264,279,121', -'124,128,91,94,14,14,96,25,287,297,14,14,121,124,128,91,94,99,103,107', -'111,114,117,120,123,127,90,93,98,102,106,110,113,116,119,122,126,89', -'92,97,101,105,109,8,115,118,20,22,26,32,35,38,47,51,57,62,171,52,58', -'71,2,5,9,39,43,17,23,27,31,52,58,247,244,53,59,248,67,245,72,3,238,10', -'25,14,18,249,180,140,141,41,45,49,55,61,63,96,272,96,251,7,96,-178,-178', -'121,124,238,121,124,128,91,94,25,140,141,140,141,200,140,141,140,141', -'225,227,52,58,239,230,39,43,52,58,263,65,229,69,8,1,169,20,22,26,32', -'35,38,47,51,57,62,52,58,239,71,2,5,9,224,250,17,23,27,31,238,134,139', -'165,53,59,145,67,273,72,3,164,10,25,14,18,175,176,140,141,41,45,49,55', -'61,63,253,139,71,139,7,145,139,145,139,25,145,256,145,14,83,163,142', -'52,58,239,255,240,96,25,96,52,58,247,121,124,-178,-178,39,43,52,58,304', -'65,78,69,8,1,136,20,22,26,32,35,38,47,51,57,62,52,58,,71,2,5,9,144,165', -'17,23,27,31,52,58,139,164,53,59,145,67,,72,3,96,10,,14,18,,-178,-178', -',41,45,49,55,61,63,225,227,96,,7,14,,163,121,124,128,91,94,99,103,107', -'111,114,117,120,123,127,90,93,98,102,106,110,113,96,259,260,39,43,,-178', -'-178,65,,69,8,1,,20,22,26,32,35,38,47,51,57,62,,96,,71,2,5,9,-178,-178', -'17,23,27,31,52,58,,,53,59,,67,,72,3,96,10,,14,18,,-178,-178,,41,45,49', -'55,61,63,96,,,,7,,121,124,128,91,94,99,103,107,111,114,117,120,123,127', -'90,93,98,102,106,110,113,,96,,,,39,43,-178,-178,,65,,69,8,1,,20,22,26', -'32,35,38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,,72,3,', -'10,,14,18,,,,,41,45,49,55,61,63,96,,,,7,,121,124,128,91,94,99,103,107', -'111,114,117,120,123,127,90,93,98,102,106,110,113,,,,,,39,43,,,,65,,69', -'8,1,,20,22,26,32,35,38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53', -'59,,67,,72,3,,10,,14,18,,,,,41,45,49,55,61,63,96,,,,7,,121,124,128,91', -'94,99,103,107,111,114,117,120,123,127,90,93,98,102,106,110,113,,,,,', -'39,43,,,,65,,69,8,1,,20,22,26,32,35,38,47,51,57,62,,,,71,2,5,9,,,17', -'23,27,31,,,,,53,59,,67,,72,3,,10,,14,18,,,,,41,45,49,55,61,63,96,,,', -'7,,121,124,128,91,94,99,103,107,111,114,117,120,123,127,90,93,98,102', -'106,110,113,,,,,,39,43,,,,65,,69,8,1,,20,22,26,32,35,38,47,51,57,62', -',,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,,72,3,,10,,14,18,,,,,41,45,49', -'55,61,63,96,,,,7,,121,124,128,91,94,99,103,107,111,114,117,120,123,127', -'90,93,98,102,106,110,113,,,,,,39,43,,,,65,,69,8,1,,20,22,26,32,35,38', -'47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,,72,3,,10,,14,18', -',,,,41,45,49,55,61,63,96,,,,7,,121,124,128,91,94,99,103,107,111,114', -'117,120,123,127,90,93,98,102,106,110,113,,,,,,39,43,,,,65,,69,8,1,,20', -'22,26,32,35,38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,', -'72,3,,10,,14,18,,,,,41,45,49,55,61,63,96,,,,7,,121,124,128,91,94,99', -'103,107,111,114,117,120,123,127,90,93,98,102,106,110,113,,,,,,39,43', -',,,65,,69,8,1,,20,22,26,32,35,38,47,51,57,62,,,,71,2,5,9,,,17,23,27', -'31,,,,,53,59,,67,,72,3,,10,,14,18,,,,,41,45,49,55,61,63,96,,,,7,,121', -'124,128,91,94,99,103,107,111,114,117,120,123,,,,,,,,,,293,,,,39,43,', -',,65,,69,8,1,,20,22,26,32,35,38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31', -',,,,53,59,,67,,72,3,,10,,14,18,,88,,,41,45,49,55,61,63,96,,,,7,,121', -'124,128,91,94,99,103,107,111,114,117,120,123,96,,,,,,121,124,128,91', -'94,99,103,39,43,,,,65,,69,8,1,,20,22,26,32,35,38,47,51,57,62,,,,71,2', -'5,9,,,17,23,27,31,,,,,53,59,,67,,72,3,,10,,14,18,,,,,41,45,49,55,61', -'63,96,,,,7,,121,124,128,91,94,99,103,107,111,114,117,120,123,96,,,,', -',121,124,128,91,94,99,103,39,43,,,,65,,69,8,1,,20,22,26,32,35,38,47', -'51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,,72,3,,10,,14,18,,', -',,41,45,49,55,61,63,96,,,,7,,121,124,128,91,94,99,103,107,111,114,117', -'120,123,96,,,,,,121,124,128,91,94,99,103,39,43,,,,65,,69,8,1,,20,22', -'26,32,35,38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,,72', -'3,,10,,14,18,,,,,41,45,49,55,61,63,96,,,,7,,121,124,128,91,94,99,103', -'107,111,114,96,,,,,,121,124,128,91,94,99,103,107,111,114,39,43,,,,65', -',69,8,1,,20,22,26,32,35,38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,', -',53,59,,67,,72,3,,10,,14,18,,,,,41,45,49,55,61,63,96,,,,7,,121,124,128', -'91,94,99,103,107,111,114,,,,,,,,,,,,,,,,,39,43,,,,65,,69,8,1,,20,22', -'26,32,35,38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,,72', -'3,,10,,14,18,,,,,41,45,49,55,61,63,,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,,', -'39,43,,,,65,,69,8,1,,20,22,26,32,35,38,47,51,57,62,,,,71,2,5,9,,,17', -'23,27,31,,,,,53,59,,67,,72,3,,10,,14,18,,,,,41,45,49,55,61,63,,,,,7', -',,,,,,,,,,,,,,,,,,,,,,,,,,,39,43,,,,65,,69,8,1,,20,22,26,32,35,38,47', -'51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,,72,3,,10,,14,18,,', -',,41,45,49,55,61,63,,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,43,,,,65,,69', -'8,1,,20,22,26,32,35,38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53', -'59,,67,,72,3,,10,,14,18,,,,,41,45,49,55,61,63,,,,,7,,,,,,,,,,,,,,,,', -',,,,,,,,,,,39,43,,,,65,,69,8,1,,20,22,26,32,35,38,47,51,57,62,,,,71', -'2,5,9,,,17,23,27,31,,,,,53,59,,67,,72,3,,10,,14,18,,,,,41,45,49,55,61', -'63,,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,43,,,,65,,69,8,1,,20,22,26,32', -'35,38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,,72,3,,10', -',14,18,,,,,41,45,49,55,61,63,,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,43', -',,,65,,69,8,1,,20,22,26,32,35,38,47,51,57,62,,,,71,2,5,9,,,17,23,27', -'31,,,,,53,59,,67,,72,3,,10,,14,18,,,,,41,45,49,55,61,63,,,,,7,,,,,,', -',,,,,,,,,,,,,,,,,,,,,39,43,,,,65,,69,8,1,,20,22,26,32,35,38,47,51,57', -'62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,,72,3,,10,,14,18,,,,,41,45', -'49,55,61,63,,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,43,,,,65,,69,8,1,,20', -'22,26,32,35,38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,', -'72,3,,10,,14,18,,,,,41,45,49,55,61,63,,,,,7,,,,,,,,,,,,,,,,,,,,,,,,', -',,,39,43,,,,65,,69,8,1,,20,22,26,32,35,38,47,51,57,62,,,,71,2,5,9,,', -'17,23,27,31,,,,,53,59,,67,,72,3,,10,,14,18,,,,,41,45,49,55,61,63,,,', -',7,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,43,,,,65,,69,8,1,,20,22,26,32,35,38', -'47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,,72,3,,10,,14,18', -',,,,41,45,49,55,61,63,,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,43,,,,65,', -'69,8,1,,20,22,26,32,35,38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,', -'53,59,,67,,72,3,,10,,14,18,160,,,,41,45,49,55,61,63,,,,,7,,,,,,,,,,', -',,,,,,,,,,,,,,,,,39,43,,,,65,,69,8,1,,20,22,26,32,35,38,47,51,57,62', -',,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,,72,3,,10,,14,18,,,,,41,45,49', -'55,61,63,,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,43,,,,65,,69,8,1,,20,22', -'26,32,35,38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,,72', -'3,,10,,14,18,270,,,,41,45,49,55,61,63,,,,,7,,,,,,,,,,,,,,,,,,,,,,,,', -',,,39,43,52,58,,65,,69,8,1,,20,22,26,32,35,38,47,51,57,62,,,,71,2,5', -'9,,,17,23,27,31,,,,,53,59,,67,,72,3,,10,,14,18,,,,,41,45,49,55,61,63', -',,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,43,,,,65,,69,8,1,,20,22,26,32,35', -'38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,,72,3,,10,,14', -'18,,,,,41,45,49,55,61,63,,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,43,,,,65', -',69,8,1,,20,22,26,32,35,38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,', -',53,59,,67,,72,3,,10,,14,18,25,,,,41,45,49,55,61,63,,,,,7,,,,,,,,,,', -',,,,,,,,,,,,,,,,,39,43,52,58,,65,,69,8,1,,20,22,26,32,35,38,47,51,57', -'62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,,72,3,,10,,14,18,,,,,41,45', -'49,55,61,63,,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,43,,,,65,,69,8,1,,20', -'22,26,32,35,38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,', -'72,3,,10,,14,18,,,,,41,45,49,55,61,63,,,,,7,,,,,,,,,,,,,,,,,,,,,,,,', -',,,39,43,,,,65,,69,8,1,,20,22,26,32,35,38,47,51,57,62,,,,71,2,5,9,,', -'17,23,27,31,,,,,53,59,,67,,72,3,,10,,14,18,160,,,,41,45,49,55,61,63', -',,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,43,,,,65,,69,8,1,,20,22,26,32,35', -'38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,,72,3,,10,,14', -'18,,,,,41,45,49,55,61,63,,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,43,,,,65', -',69,8,1,,20,22,26,32,35,38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,', -',53,59,,67,,72,3,,10,,14,18,,,,,41,45,49,55,61,63,,,,,7,,,,,,,,,,,,', -',,,,,,,,,,,,,,,39,43,,,,65,,69,8,1,,20,22,26,32,35,38,47,51,57,62,,', -',71,2,5,9,,,17,23,27,31,,,,,53,59,,67,,72,3,,10,,14,18,160,,,,41,45', -'49,55,61,63,,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,43,,,,65,,69,8,1,,20', -'22,26,32,35,38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,', -'72,3,,10,,14,18,,,,,41,45,49,55,61,63,,,,,7,,,,,,,,,,,,,,,,,,,,,,,,', -',,,39,43,,,,65,,69,8,1,,20,22,26,32,35,38,47,51,57,62,,,,71,2,5,9,,', -'17,23,27,31,,,,,53,59,,67,,72,3,,10,,14,18,,,,,41,45,49,55,61,63,,,', -',7,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,43,,,,65,,69,8,1,,20,22,26,32,35,38', -'47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,,72,3,,10,,14,18', -',,,,41,45,49,55,61,63,,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,43,,,,65,', -'69,8,1,,20,22,26,32,35,38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,', -'53,59,,67,,72,3,,10,,14,18,,,,,41,45,49,55,61,63,,,,,7,,,,,,,,,,,,,', -',,,,,,,,,,,,,,39,43,,,,65,,69,8,1,,20,22,26,32,35,38,47,51,57,62,,,', -'71,2,5,9,,,17,23,27,31,,,,,53,59,,67,,72,3,,10,,14,18,,,,,41,45,49,55', -'61,63,,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,43,,,,65,,69,8,1,,20,22,26', -'32,35,38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,,72,3,', -'10,,14,18,,,,,41,45,49,55,61,63,,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,39', -'43,,,,65,,69,8,1,,20,22,26,32,35,38,47,51,57,62,,,,71,2,5,9,,,17,23', -'27,31,,,,,53,59,,67,,72,3,,10,,14,18,,,,,41,45,49,55,61,63,,,,,7,,,', -',,,,,,,,,,,,,,,,,,,,,,,,39,43,,,,65,,69,8,1,,20,22,26,32,35,38,47,51', -'57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,,72,3,,10,,14,18,,,,,41', -'45,49,55,61,63,,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,43,,,,65,,69,8,1', -',20,22,26,32,35,38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,', -'67,,72,3,,10,,14,18,,,,,41,45,49,55,61,63,,,,,7,,,,,,,,,,,,,,,,,,,,', -',,,,,,,39,43,,,,65,,69,8,1,,20,22,26,32,35,38,47,51,57,62,,,,71,2,5', -'9,,,17,23,27,31,,,,,53,59,,67,,72,3,,10,,14,18,,,,,41,45,49,55,61,63', -',,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,43,,,,65,,69,8,1,,20,22,26,32,35', -'38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,,72,3,,10,,14', -'18,,,,,41,45,49,55,61,63,,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,43,,,,65', -',69,8,1,,20,22,26,32,35,38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,', -',53,59,,67,,72,3,,10,,14,18,,,,,41,45,49,55,61,63,,,,,7,,,,,,,,,,,,', -',,,,,,,,,,,,,,,39,43,,,,65,,69,8,1,,20,22,26,32,35,38,47,51,57,62,,', -',71,2,5,9,,,17,23,27,31,,,,,53,59,,67,,72,3,,10,,14,18,,,,,41,45,49', -'55,61,63,,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,43,,,,65,,69,8,1,,20,22', -'26,32,35,38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,,72', -'3,,10,,14,18,,,,,41,45,49,55,61,63,,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,,', -'39,43,,,,65,,69,8,1,,20,22,26,32,35,38,47,51,57,62,,,,71,2,5,9,,,17', -'23,27,31,,,,,53,59,,67,,72,3,,10,,14,18,,,,,41,45,49,55,61,63,,,,,7', -',,,,,,,,,,,,,,,,,,,,,,,,,,,39,43,,,,65,,69,8,1,,20,22,26,32,35,38,47', -'51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,,72,3,,10,,14,18,,', -',,41,45,49,55,61,63,,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,43,,,,65,,69', -'8,1,,20,22,26,32,35,38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53', -'59,,67,,72,3,,10,,14,18,,,,,41,45,49,55,61,63,,,,,7,,,,,,,,,,,,,,,,', -',,,,,,,,,,,39,43,,,,65,,69,8,1,,20,22,26,32,35,38,47,51,57,62,,,,71', -'2,5,9,,,17,23,27,31,,,,,53,59,,67,,72,3,,10,,14,18,,,,,41,45,49,55,61', -'63,,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,43,,,,65,,69,8,1,,20,22,26,32', -'35,38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,,72,3,,10', -',14,18,,,,,41,45,49,55,61,63,,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,43', -',,,65,,69,8,1,,20,22,26,32,35,38,47,51,57,62,,,,71,2,5,9,,,17,23,27', -'31,,,,,53,59,,67,,72,3,,10,,14,18,,,,,41,45,49,55,61,63,,,,,7,,,,,,', -',,,,,,,,,,,,,,,,,,,,,39,43,,,,65,,69,8,1,,20,22,26,32,35,38,47,51,57', -'62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,,72,3,,10,,14,18,,,,,41,45', -'49,55,61,63,,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,43,,,,65,,69,8,1,,20', -'22,26,32,35,38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,', -'72,3,,10,,14,18,,,,,41,45,49,55,61,63,,,,,7,,,,,,,,,,,,,,,,,,,,,,,,', -',,,39,43,,,,65,,69,8,1,,20,22,26,32,35,38,47,51,57,62,,,,71,2,5,9,,', -'17,23,27,31,,,,,53,59,,67,,72,3,,10,,14,18,,,,,41,45,49,55,61,63,,,', -',7,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,43,,,,65,,69,8,1,,20,22,26,32,35,38', -'47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,,72,3,,10,,14,18', -',,,,41,45,49,55,61,63,,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,43,,,,65,', -'69,8,1,,20,22,26,32,35,38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,', -'53,59,,67,,72,3,,10,,14,18,,,,,41,45,49,55,61,63,,,,,7,,,,,,,,,,,,,', -',,,,,,,,,,,,,,39,43,,,,65,,69,8,1,,20,22,26,32,35,38,47,51,57,62,,,', -'71,2,5,9,,,17,23,27,31,,,,,53,59,,67,,72,3,,10,,14,18,,,,,41,45,49,55', -'61,63,,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,43,,,,65,,69,8,1,,20,22,26', -'32,35,38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,,72,3,', -'10,,14,18,,,,,41,45,49,55,61,63,,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,39', -'43,,,,65,,69,8,1,,20,22,26,32,35,38,47,51,57,62,,,,71,2,5,9,,,17,23', -'27,31,,,,,53,59,,67,,72,3,,10,,14,18,,,,,41,45,49,55,61,63,,,,,7,,,', -',,,,,,,,,,,,,,,,,,,,,,,,39,43,,,,65,,69,8,1,,20,22,26,32,35,38,47,51', -'57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,,72,3,,10,,14,18,,,,,41', -'45,49,55,61,63,,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,43,,,,65,,69,8,1', -',20,22,26,32,35,38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,', -'67,,72,3,,10,,14,18,,,,,41,45,49,55,61,63,,,,,7,,,,,,,,,,,,,,,,,,,,', -',,,,,,,39,43,,,,65,,69,8,1,,20,22,26,32,35,38,47,51,57,62,,,,71,2,5', -'9,,,17,23,27,31,,,,,53,59,,67,,72,3,,10,,14,18,,,,,41,45,49,55,61,63', -',,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,43,,,,65,,69,8,1,,20,22,26,32,35', -'38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31,,,,,53,59,,67,,72,3,,10,,14', -'18,,,,,41,45,49,55,61,63,,,,,7,20,22,26,32,35,38,47,51,57,62,,,,,,,', -',,,23,27,,,,,,39,43,,,,65,,69,10,1,,18,,,95,,104,,,,,,,,,,,,,,,,,,,', -',,,108,112,,,,125,,,,100,,,,,,,,,,96,65,,69,,1,121,124,128,91,94,99', -'103,107,111,114,117,120,123,127,90,93,98,102,106,110,113,116,119,122', -'126,89,92,97,101,105,242,,115,118,,,,,,,262,20,22,26,32,35,38,47,51', -'57,62,,,,71,2,5,9,,,17,23,27,,,,,,,59,,67,,72,3,,10,,14,18,,,,,41,45', -'49,55,61,63,95,,104,,7,,,,,,,,,,,,,,,,,,,,,108,112,,,,125,,39,43,100', -',,65,,69,,1,,,96,,,,,,121,124,128,91,94,99,103,107,111,114,117,120,123', -'127,90,93,98,102,106,110,113,116,119,122,126,89,92,97,101,105,109,,115', -'118,,,,,,,301,20,22,26,32,35,38,47,51,57,62,,,,71,2,5,9,,,17,23,27,31', -',,,,,59,,67,,72,3,,10,,14,18,,,,,41,45,49,55,61,63,95,,104,,7,,,20,22', -'26,32,35,38,47,51,57,62,,,,,,,,,108,112,23,27,,125,,39,43,100,,,65,', -'69,,1,10,,96,18,,,,,121,124,128,91,94,99,103,107,111,114,117,120,123', -'127,90,93,98,102,106,110,113,116,119,122,126,89,92,97,101,105,109,,115', -'118,95,,104,,,,305,,,65,,69,,1,,,,,,,,,,,,108,112,,,,125,,,,100,,,,', -',,,,,96,,,,,,121,124,128,91,94,99,103,107,111,114,117,120,123,127,90', -'93,98,102,106,110,113,116,119,122,126,89,92,97,101,105,242,,115,118', -'95,,104,,,,,,,,,,,,,,,,,,,,,,,108,112,,,,125,,,,100,,,,,,,,,,96,,,,', -',121,124,128,91,94,99,103,107,111,114,117,120,123,127,90,93,98,102,106', -'110,113,116,119,122,126,89,92,97,101,105,109,,115,118,95,,104,,,,,,', -',,,,,,,,,,,,,,,,108,112,,,,125,,,,100,,,,,,,,,,96,,,,,,121,124,128,91', -'94,99,103,107,111,114,117,120,123,127,90,93,98,102,106,110,113,116,119', -'122,126,89,92,97,101,105,109,,115,118,95,,104,,,,,,,,,,,,,,,,,,,,,,', -'108,112,,,,125,,,,100,,,,,,,,,,96,,,,,,121,124,128,91,94,99,103,107', -'111,114,117,120,123,127,90,93,98,102,106,110,113,116,119,122,126,89', -'92,97,101,105,109,,115,118,95,,104,,,,,,,,,,,,,,,,,,,,,,,108,112,,,', -'125,,,,100,,,,,,,,,,96,,,,,,121,124,128,91,94,99,103,107,111,114,117', -'120,123,127,90,93,98,102,106,110,113,116,119,122,126,89,92,97,101,105', -'109,,115,118,95,,104,,,,,,,,,,,,,,,,,,,,,,,108,112,,,,125,,,,100,,,', -',,,,,,96,,,,,,121,124,128,91,94,99,103,107,111,114,117,120,123,127,90', -'93,98,102,106,110,113,116,119,122,126,89,92,97,101,105,109,,115,118', -'95,,104,,,,,,,,,,,,,,,,,,,,,,,108,112,,,,125,,,,100,,,,,,,,,,96,,,,', -',121,124,128,91,94,99,103,107,111,114,117,120,123,127,90,93,98,102,106', -'110,113,116,119,122,126,89,92,97,101,105,109,,115,118,95,,104,,,,,,', -',,,,,,,,,,,,,,,,108,112,,,,125,,,,100,,,,,,,,,,96,,,,,,121,124,128,91', -'94,99,103,107,111,114,117,120,123,127,90,93,98,102,106,110,113,116,119', -'122,126,89,92,97,101,105,109,,115,118,95,,104,,,,,,,,,,,,,,,,,,,,,,', -'108,112,,,,125,,,,100,,,,,,,,,,96,,,,,,121,124,128,91,94,99,103,107', -'111,114,117,120,123,127,90,93,98,102,106,110,113,116,119,122,126,89', -'92,97,101,105,109,,115,118,95,,104,,,,,,,,,,,,,,,,,,,,,,,108,112,,,', -'125,,,,100,,,,,,,,,,96,,,,,,121,124,128,91,94,99,103,107,111,114,117', -'120,123,127,90,93,98,102,106,110,113,116,119,122,126,89,92,97,101,105', -'109,,115,118,95,,104,,,,,,,,,,,,,,,,,,,,,,,108,112,,,,125,,,,100,,,', -',,,,236,,96,,,,,,121,124,128,91,94,99,103,107,111,114,117,120,123,127', -'90,93,98,102,106,110,113,116,119,122,126,89,92,97,101,105,109,,115,118', -'95,,104,,,,,,,,,,,,,,,,,,,,,,,108,112,,,,125,,,,100,,,,,,,,,,96,,,,', -',121,124,128,91,94,99,103,107,111,114,117,120,123,127,90,93,98,102,106', -'110,113,116,119,122,126,89,92,97,101,105,109,,115,118,95,,104,,,,,,', -',,,,,,,,,,,,,,,,108,112,,,,125,,,,100,,,,,,,,,,96,,,,,,121,124,128,91', -'94,99,103,107,111,114,117,120,123,127,90,93,98,102,106,110,113,116,119', -'122,126,89,92,97,101,105,109,,115,118,95,,104,,,,,,,,,,,,,,,,,,,,,,', -'108,112,,,,125,,,,100,,,,,,,,25,,96,,,,,,121,124,128,91,94,99,103,107', -'111,114,117,120,123,127,90,93,98,102,106,110,113,116,119,122,126,89', -'92,97,101,105,109,,115,118,95,,104,,,,,,,,,,,,,,,,,,,,,,,108,112,,,', -'125,,,,100,,,,,,,,,,96,,,,,,121,124,128,91,94,99,103,107,111,114,117', -'120,123,127,90,93,98,102,106,110,113,116,119,122,126,89,92,97,101,105', -'109,,115,118,95,,104,,,,,,,,,,,,,,,,,,,,,,,108,112,,,,125,,,,100,,,', -',,,,,,96,,,,,,121,124,128,91,94,99,103,107,111,114,117,120,123,127,90', -'93,98,102,106,110,113,116,119,122,126,89,92,97,101,105,109,,115,118', -'95,,104,,,,,,,,,,,,,,,,,,,,,,,108,112,,,,125,,,,100,,,,,,,,,,96,,,,', -',121,124,128,91,94,99,103,107,111,114,117,120,123,127,90,93,98,102,106', -'110,113,116,119,122,126,89,92,97,101,105,109,,115,118,95,,104,,,,,,', -',,,,,,,,,,,,,,,,108,112,,,,125,,,,100,,,,,,,,25,,96,,,,,,121,124,128', -'91,94,99,103,107,111,114,117,120,123,127,90,93,98,102,106,110,113,116', -'119,122,126,89,92,97,101,105,109,,115,118,95,,104,,,,,,,,,,,,,,,,,,', -',,,,108,112,,,,125,,,,100,,,,,,,,,,96,,,,,,121,124,128,91,94,99,103', -'107,111,114,117,120,123,127,90,93,98,102,106,110,113,116,119,122,126', -'89,92,97,101,105,109,,115,118,108,112,,,,,,,,100,,,,,,,,,,96,,,,,,121', -'124,128,91,94,99,103,107,111,114,117,120,123,127,90,93,98,102,106,110', -'113,116,119,122,126,89,92,97,101,105,109,,115,118,108,112,,,,,,,,100', -',,,,,,,,,96,,,,,,121,124,128,91,94,99,103,107,111,114,117,120,123,127', -'90,93,98,102,106,110,113,116,119,122,126,89,92,97,101,105,109,108,112', -',,,,,,,100,,,,,,,,,,96,,,,,,121,124,128,91,94,99,103,107,111,114,117', -'120,123,127,90,93,98,102,106,110,113,116,119,122,126,89,92,97,101,105', -'109,108,112,,,,,,,,100,,,,,,,,,,96,,,,,,121,124,128,91,94,99,103,107', -'111,114,117,120,123,127,90,93,98,102,106,110,113,116,119,122,126,89', -'92,97,101,105,109,108,112,,,,,,,,100,,,,,,,,,,96,,,,,,121,124,128,91', -'94,99,103,107,111,114,117,120,123,127,90,93,98,102,106,110,113,116,119', -'122,126,89,92,97,101,105,109,112,,,,,,,,100,,,,,,,,,,96,,,,,,121,124', -'128,91,94,99,103,107,111,114,117,120,123,127,90,93,98,102,106,110,113', -'116,119,122,126,89,92,97,101,105,109,112,,,,,,,,100,,,,,,,,,,96,,,,', -',121,124,128,91,94,99,103,107,111,114,117,120,123,127,90,93,98,102,106', -'110,113,116,119,122,126,89,92,97,101,105,109,112,,,,,,,,100,,,,,,,,', -',96,,,,,,121,124,128,91,94,99,103,107,111,114,117,120,123,127,90,93', -'98,102,106,110,113,116,119,122,126,89,92,97,101,105,109,112,,,,,,,,100', -',,,,,,,,,96,,,,,,121,124,128,91,94,99,103,107,111,114,117,120,123,127', -'90,93,98,102,106,110,113,116,119,122,126,89,92,97,101,105,109,112,,', -',,,,,100,,,,,,,,,,96,,,,,,121,124,128,91,94,99,103,107,111,114,117,120', -'123,127,90,93,98,102,106,110,113,116,119,122,126,89,92,97,101,105,109', -'100,,,,,,,,,,96,,,,,,121,124,128,91,94,99,103,107,111,114,117,120,123', -'127,90,93,98,102,106,110,113,116,119,122,126,89,92,97,101,105,100,,', -',,,,,,,96,,,,,,121,124,128,91,94,99,103,107,111,114,117,120,123,127', -'90,93,98,102,106,110,113,116,119,122,126,89,92,97,101,105,100,,,,,,', -',,,96,,,,,,121,124,128,91,94,99,103,107,111,114,117,120,123,127,90,93', -'98,102,106,110,113,116,119,122,126,89,92,97,101,105,96,,,,,,121,124', -'128,91,94,99,103,107,111,114,117,120,123,127,90,93,98,102,106,110,113', -'116,119,122,126,89,92,97,101,105,96,,,,,,121,124,128,91,94,99,103,107', -'111,114,117,120,123,127,90,93,98,102,106,110,113,116,119,122,126,89', -'92,97,101,105,96,,,,,,121,124,128,91,94,99,103,107,111,114,117,120,123', -'127,90,93,98,102,106,110,113,116,119,122,126,89,92,97,101,105,96,,,', -',,121,124,128,91,94,99,103,107,111,114,117,120,123,127,90,93,98,102', -'106,110,113,116,119,122,126,89,92,97,101,105,96,,,,,,121,124,128,91', -'94,99,103,107,111,114,117,120,123,127,90,93,98,102,106,110,113,116,119', -'122,126,89,92,97,101,105' ] - racc_action_table = arr = Array.new(9455, nil) +'104,30,113,20,23,27,33,35,39,45,49,55,61,82,82,95,268,269,264,274,274', +'81,81,24,28,117,122,15,15,110,134,30,183,184,108,133,138,30,11,8,110', +'18,26,73,73,110,-181,-181,301,15,15,133,138,100,103,107,112,116,120', +'124,126,129,132,137,99,102,106,111,115,119,123,125,128,131,136,98,101', +'105,109,114,118,121,30,127,130,135,148,150,148,150,144,70,30,2,8,9,182', +'20,23,27,33,35,39,45,49,55,61,253,148,150,73,1,5,10,50,56,17,24,28,32', +'82,171,293,238,51,57,261,68,81,74,3,82,11,30,15,18,26,30,254,81,82,43', +'47,53,59,63,67,189,81,148,150,13,144,274,190,191,15,30,188,78,283,15', +'62,65,149,292,149,15,154,240,154,148,150,62,65,186,15,148,150,78,50', +'56,62,65,175,70,149,2,8,9,154,20,23,27,33,35,39,45,49,55,61,151,62,65', +'73,1,5,10,190,191,17,24,28,32,282,62,65,247,51,57,247,68,30,74,3,177', +'11,149,15,18,26,154,247,62,65,43,47,53,59,63,67,110,62,65,110,13,152', +'-181,-181,149,133,138,95,154,178,149,50,56,91,154,140,62,65,249,62,65', +'249,268,269,260,30,263,273,84,50,56,62,65,249,70,250,2,8,9,308,20,23', +'27,33,35,39,45,49,55,61,271,110,216,73,1,5,10,133,138,17,24,28,32,62', +'65,175,,51,57,176,68,,74,3,110,11,110,15,18,26,-181,-181,-181,-181,43', +'47,53,59,63,67,110,,,,13,,133,138,100,103,107,112,116,120,124,126,129', +'132,137,99,102,106,111,115,119,123,125,,,110,,,,50,56,-181,-181,,70', +',2,8,9,,20,23,27,33,35,39,45,49,55,61,,110,,73,1,5,10,-181,-181,17,24', +'28,32,,,,,51,57,,68,,74,3,110,11,,15,18,26,-181,-181,,,43,47,53,59,63', +'67,110,,,,13,,133,138,100,103,107,112,116,120,124,126,129,132,137,99', +'102,106,111,115,119,123,125,,,,,,,50,56,,,,70,,2,8,9,,20,23,27,33,35', +'39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15', +'18,26,,,,,43,47,53,59,63,67,110,,,,13,,133,138,100,103,107,112,116,120', +'124,126,129,132,137,99,102,106,111,115,119,123,125,,,,,,,50,56,,,,70', +',2,8,9,,20,23,27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,', +',51,57,,68,,74,3,,11,,15,18,26,,,,,43,47,53,59,63,67,110,,,,13,,133', +'138,100,103,107,112,116,120,124,126,129,132,137,99,102,106,111,115,119', +'123,125,,,,,,,50,56,,,,70,,2,8,9,,20,23,27,33,35,39,45,49,55,61,,,,73', +'1,5,10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15,18,26,,,,,43,47,53', +'59,63,67,110,,,,13,,133,138,100,103,107,112,116,120,124,126,129,132', +'137,99,102,106,111,115,119,123,125,,,,,,,50,56,,,,70,,2,8,9,,20,23,27', +'33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,,,51,57,,68,,74,3', +',11,,15,18,26,,,,,43,47,53,59,63,67,110,,,,13,,133,138,100,103,107,112', +'116,120,124,126,129,132,137,99,102,106,111,115,119,123,125,,,,,,,50', +'56,,,,70,,2,8,9,,20,23,27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24', +'28,32,,,,,51,57,,68,,74,3,,11,,15,18,26,,,,,43,47,53,59,63,67,110,,', +',13,,133,138,100,103,107,112,116,120,124,126,129,132,137,99,102,106', +'111,115,119,123,125,,,,,,,50,56,,,,70,,2,8,9,,20,23,27,33,35,39,45,49', +'55,61,,,,73,1,5,10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15,18,26,', +',,,43,47,53,59,63,67,110,,,,13,,133,138,100,103,107,112,116,120,124', +'126,129,132,137,99,102,106,111,115,119,123,125,,,,,,,50,56,,,,70,,2', +'8,9,,20,23,27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,,,51', +'57,,68,,74,3,,11,,15,18,26,,,,,43,47,53,59,63,67,110,,,,13,,133,138', +'100,103,107,112,116,120,124,126,129,132,137,110,,,,,,133,138,100,103', +'107,112,116,,50,56,,,,70,,2,8,9,,20,23,27,33,35,39,45,49,55,61,,,,73', +'1,5,10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15,18,26,,94,,,43,47,53', +'59,63,67,110,,,,13,,133,138,100,103,107,112,116,120,124,126,129,132', +'137,110,,,,,,133,138,100,103,107,112,116,,50,56,,,,70,,2,8,9,,20,23', +'27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,,,51,57,,68,,74', +'3,,11,,15,18,26,,,,,43,47,53,59,63,67,110,,,,13,,133,138,100,103,107', +'112,116,120,124,126,129,132,137,110,,,,,,133,138,100,103,107,112,116', +',50,56,,,,70,,2,8,9,,20,23,27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17', +'24,28,32,,,,,51,57,,68,,74,3,,11,,15,18,26,,,,,43,47,53,59,63,67,110', +',,,13,,133,138,100,103,107,112,116,120,124,126,129,132,137,110,,,,,', +'133,138,100,103,107,,,,50,56,,,,70,,2,8,9,,20,23,27,33,35,39,45,49,55', +'61,,,,73,1,5,10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15,18,26,,,,', +'43,47,53,59,63,67,110,,,,13,,133,138,100,103,107,112,116,120,124,126', +'110,,,,,,133,138,100,103,107,112,116,120,124,126,,50,56,,,,70,,2,8,9', +',20,23,27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,,,51,57', +',68,,74,3,,11,,15,18,26,,,,,43,47,53,59,63,67,110,,,,13,,133,138,100', +'103,107,112,116,120,124,126,110,,,,,,133,138,100,103,107,,298,,,,,50', +'56,,,,70,,2,8,9,,20,23,27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24', +'28,32,,,,,51,57,,68,,74,3,,11,,15,18,26,,,,,43,47,53,59,63,67,,,,,13', +',,,,,,,,,,,,,,,,,,,,,,,,,,,,50,56,,,,70,,2,8,9,,20,23,27,33,35,39,45', +'49,55,61,,,,73,1,5,10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15,18,26', +',,,,43,47,53,59,63,67,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,56,,,,70', +',2,8,9,,20,23,27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,', +',51,57,,68,,74,3,,11,,15,18,26,,,,,43,47,53,59,63,67,,,,,13,,,,,,,,', +',,,,,,,,,,,,,,,,,,,,50,56,,,,70,,2,8,9,,20,23,27,33,35,39,45,49,55,61', +',,,73,1,5,10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15,18,26,,,,,43', +'47,53,59,63,67,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,56,,,,70,,2,8,9', +',20,23,27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,,,51,57', +',68,,74,3,,11,,15,18,26,,,,,43,47,53,59,63,67,,,,,13,,,,,,,,,,,,,,,', +',,,,,,,,,,,,,50,56,,,,70,,2,8,9,,20,23,27,33,35,39,45,49,55,61,,,,73', +'1,5,10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15,18,26,,,,,43,47,53', +'59,63,67,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,56,,,,70,,2,8,9,,20,23', +'27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,,,51,57,,68,,74', +'3,,11,,15,18,26,,,,,43,47,53,59,63,67,,,,,13,,,,,,,,,,,,,,,,,,,,,,,', +',,,,,50,56,,,,70,,2,8,9,,20,23,27,33,35,39,45,49,55,61,,,,73,1,5,10', +',,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15,18,26,,,,,43,47,53,59,63,67', +',,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,56,,,,70,,2,8,9,,20,23,27,33,35', +'39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15', +'18,26,,,,,43,47,53,59,63,67,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,56', +',,,70,,2,8,9,,20,23,27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28', +'32,,,,,51,57,,68,,74,3,,11,,15,18,26,,,,,43,47,53,59,63,67,,,,,13,,', +',,,,,,,,,,,,,,,,,,,,,,,,,,50,56,,,,70,,2,8,9,,20,23,27,33,35,39,45,49', +'55,61,,,,73,1,5,10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15,18,26,', +',,,43,47,53,59,63,67,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,56,,,,70', +',2,8,9,,20,23,27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,', +',51,57,,68,,74,3,,11,,15,18,26,,,,,43,47,53,59,63,67,,,,,13,,,,,,,,', +',,,,,,,,,,,,,,,,,,,,50,56,,,,70,,2,8,9,,20,23,27,33,35,39,45,49,55,61', +',,,73,1,5,10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15,18,26,167,,,', +'43,47,53,59,63,67,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,56,,,,70,,2', +'8,9,,20,23,27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,,,51', +'57,,68,,74,3,,11,,15,18,26,,,,,43,47,53,59,63,67,,,,,13,,,,,,,,,,,,', +',,,,,,,,,,,,,,,,50,56,,,,70,,2,8,9,,20,23,27,33,35,39,45,49,55,61,,', +',73,1,5,10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15,18,26,,,,,43,47', +'53,59,63,67,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,56,,,,70,,2,8,9,,20', +'23,27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,,,51,57,,68', +',74,3,,11,,15,18,26,,,,,43,47,53,59,63,67,,,,,13,,,,,,,,,,,,,,,,,,,', +',,,,,,,,,50,56,,,,70,,2,8,9,,20,23,27,33,35,39,45,49,55,61,,,,73,1,5', +'10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15,18,26,,,,,43,47,53,59,63', +'67,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,56,,,,70,,2,8,9,,20,23,27,33', +'35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11', +',15,18,26,,,,,43,47,53,59,63,67,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50', +'56,,,,70,,2,8,9,,20,23,27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24', +'28,32,,,,,51,57,,68,,74,3,,11,,15,18,26,,,,,43,47,53,59,63,67,,,,,13', +',,,,,,,,,,,,,,,,,,,,,,,,,,,,50,56,,,,70,,2,8,9,,20,23,27,33,35,39,45', +'49,55,61,,,,73,1,5,10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15,18,26', +',,,,43,47,53,59,63,67,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,56,,,,70', +',2,8,9,,20,23,27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,', +',51,57,,68,,74,3,,11,,15,18,26,,,,,43,47,53,59,63,67,,,,,13,,,,,,,,', +',,,,,,,,,,,,,,,,,,,,50,56,,,,70,,2,8,9,,20,23,27,33,35,39,45,49,55,61', +',,,73,1,5,10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15,18,26,280,,,', +'43,47,53,59,63,67,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,56,62,65,,70', +',2,8,9,,20,23,27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,', +',51,57,,68,,74,3,,11,,15,18,26,167,,,,43,47,53,59,63,67,,,,,13,,,,,', +',,,,,,,,,,,,,,,,,,,,,,,50,56,,,,70,,2,8,9,,20,23,27,33,35,39,45,49,55', +'61,,,,73,1,5,10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15,18,26,,,,', +'43,47,53,59,63,67,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,56,,,,70,,2', +'8,9,,20,23,27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,,,51', +'57,,68,,74,3,,11,,15,18,26,,,,,43,47,53,59,63,67,,,,,13,,,,,,,,,,,,', +',,,,,,,,,,,,,,,,50,56,,,,70,,2,8,9,,20,23,27,33,35,39,45,49,55,61,,', +',73,1,5,10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15,18,26,30,,,,43', +'47,53,59,63,67,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,56,62,65,,70,,2', +'8,9,,20,23,27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,,,51', +'57,,68,,74,3,,11,,15,18,26,,,,,43,47,53,59,63,67,,,,,13,,,,,,,,,,,,', +',,,,,,,,,,,,,,,,50,56,,,,70,,2,8,9,,20,23,27,33,35,39,45,49,55,61,,', +',73,1,5,10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15,18,26,,,,,43,47', +'53,59,63,67,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,56,,,,70,,2,8,9,,20', +'23,27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,,,51,57,,68', +',74,3,,11,,15,18,26,,,,,43,47,53,59,63,67,,,,,13,,,,,,,,,,,,,,,,,,,', +',,,,,,,,,50,56,,,,70,,2,8,9,,20,23,27,33,35,39,45,49,55,61,,,,73,1,5', +'10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15,18,26,,,,,43,47,53,59,63', +'67,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,56,,,,70,,2,8,9,,20,23,27,33', +'35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11', +',15,18,26,,,,,43,47,53,59,63,67,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50', +'56,,,,70,,2,8,9,,20,23,27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24', +'28,32,,,,,51,57,,68,,74,3,,11,,15,18,26,,,,,43,47,53,59,63,67,,,,,13', +',,,,,,,,,,,,,,,,,,,,,,,,,,,,50,56,,,,70,,2,8,9,,20,23,27,33,35,39,45', +'49,55,61,,,,73,1,5,10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15,18,26', +',,,,43,47,53,59,63,67,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,56,,,,70', +',2,8,9,,20,23,27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,', +',51,57,,68,,74,3,,11,,15,18,26,,,,,43,47,53,59,63,67,,,,,13,,,,,,,,', +',,,,,,,,,,,,,,,,,,,,50,56,,,,70,,2,8,9,,20,23,27,33,35,39,45,49,55,61', +',,,73,1,5,10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15,18,26,,,,,43', +'47,53,59,63,67,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,56,,,,70,,2,8,9', +',20,23,27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,,,51,57', +',68,,74,3,,11,,15,18,26,,,,,43,47,53,59,63,67,,,,,13,,,,,,,,,,,,,,,', +',,,,,,,,,,,,,50,56,,,,70,,2,8,9,,20,23,27,33,35,39,45,49,55,61,,,,73', +'1,5,10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15,18,26,,,,,43,47,53', +'59,63,67,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,56,,,,70,,2,8,9,,20,23', +'27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,,,51,57,,68,,74', +'3,,11,,15,18,26,167,,,,43,47,53,59,63,67,,,,,13,,,,,,,,,,,,,,,,,,,,', +',,,,,,,,50,56,,,,70,,2,8,9,,20,23,27,33,35,39,45,49,55,61,,,,73,1,5', +'10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15,18,26,,,,,43,47,53,59,63', +'67,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,56,,,,70,,2,8,9,,20,23,27,33', +'35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11', +',15,18,26,,,,,43,47,53,59,63,67,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50', +'56,,,,70,,2,8,9,,20,23,27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24', +'28,32,,,,,51,57,,68,,74,3,,11,,15,18,26,,,,,43,47,53,59,63,67,,,,,13', +',,,,,,,,,,,,,,,,,,,,,,,,,,,,50,56,,,,70,,2,8,9,,20,23,27,33,35,39,45', +'49,55,61,,,,73,1,5,10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15,18,26', +',,,,43,47,53,59,63,67,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,56,,,,70', +',2,8,9,,20,23,27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,', +',51,57,,68,,74,3,,11,,15,18,26,,,,,43,47,53,59,63,67,,,,,13,,,,,,,,', +',,,,,,,,,,,,,,,,,,,,50,56,,,,70,,2,8,9,,20,23,27,33,35,39,45,49,55,61', +',,,73,1,5,10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15,18,26,,,,,43', +'47,53,59,63,67,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,56,,,,70,,2,8,9', +',20,23,27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,,,51,57', +',68,,74,3,,11,,15,18,26,,,,,43,47,53,59,63,67,,,,,13,,,,,,,,,,,,,,,', +',,,,,,,,,,,,,50,56,,,,70,,2,8,9,,20,23,27,33,35,39,45,49,55,61,,,,73', +'1,5,10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15,18,26,,,,,43,47,53', +'59,63,67,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,56,,,,70,,2,8,9,,20,23', +'27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,,,51,57,,68,,74', +'3,,11,,15,18,26,,,,,43,47,53,59,63,67,,,,,13,,,,,,,,,,,,,,,,,,,,,,,', +',,,,,50,56,,,,70,,2,8,9,,20,23,27,33,35,39,45,49,55,61,,,,73,1,5,10', +',,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15,18,26,,,,,43,47,53,59,63,67', +',,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,56,,,,70,,2,8,9,,20,23,27,33,35', +'39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15', +'18,26,,,,,43,47,53,59,63,67,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,56', +',,,70,,2,8,9,,20,23,27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28', +'32,,,,,51,57,,68,,74,3,,11,,15,18,26,,,,,43,47,53,59,63,67,,,,,13,,', +',,,,,,,,,,,,,,,,,,,,,,,,,,50,56,,,,70,,2,8,9,,20,23,27,33,35,39,45,49', +'55,61,,,,73,1,5,10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15,18,26,', +',,,43,47,53,59,63,67,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,56,,,,70', +',2,8,9,,20,23,27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,', +',51,57,,68,,74,3,,11,,15,18,26,,,,,43,47,53,59,63,67,,,,,13,,,,,,,,', +',,,,,,,,,,,,,,,,,,,,50,56,,,,70,,2,8,9,,20,23,27,33,35,39,45,49,55,61', +',,,73,1,5,10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15,18,26,,,,,43', +'47,53,59,63,67,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,56,,,,70,,2,8,9', +',20,23,27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,,,51,57', +',68,,74,3,,11,,15,18,26,,,,,43,47,53,59,63,67,,,,,13,,,,,,,,,,,,,,,', +',,,,,,,,,,,,,50,56,,,,70,,2,8,9,,20,23,27,33,35,39,45,49,55,61,,,,73', +'1,5,10,,,17,24,28,32,,,,,51,57,,68,,74,3,,11,,15,18,26,,,,,43,47,53', +'59,63,67,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,56,,,,70,,2,8,9,,20,23', +'27,33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,,,51,57,,68,,74', +'3,,11,,15,18,26,,,,,43,47,53,59,63,67,,104,,113,13,,,,,,,,,,,,,,,,,', +',,,,117,122,,,,134,,50,56,108,,,70,,2,,9,,,,110,,,,,,133,138,100,103', +'107,112,116,120,124,126,129,132,137,99,102,106,111,115,119,123,125,128', +'131,136,98,101,105,109,114,118,121,,127,130,135,,,,,,,309,20,23,27,33', +'35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28,,,,,,,57,,68,,74,3,,11,,15', +'18,26,,,,,43,47,53,59,,,,,,,,,20,23,27,33,35,39,45,49,55,61,,,,,,,,', +',,24,28,,,,,,50,56,,,,70,,2,11,9,,18,26,,,,,,,,,,,,,,,,,,,,,,20,23,27', +'33,35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28,32,,,,,70,57,2,68,9,74', +'3,,11,,15,18,26,,,,,43,47,53,59,63,67,,104,,113,13,,,,,,,,,,,,,,,,,', +',,,,117,122,,,,134,,50,56,108,,,70,,2,,9,,,,110,,,,,,133,138,100,103', +'107,112,116,120,124,126,129,132,137,99,102,106,111,115,119,123,125,128', +'131,136,98,101,105,109,114,118,121,,127,130,135,,,,,,,305,20,23,27,33', +'35,39,45,49,55,61,,,,73,1,5,10,,,17,24,28,,,,,,,57,,68,,74,3,,11,,15', +'18,26,,,,,43,47,53,59,63,67,,104,,113,13,,,,,,,,,,,,,,,,,,,,,,117,122', +',,,134,,50,56,108,,,70,,2,,9,,,,110,,,,,,133,138,100,103,107,112,116', +'120,124,126,129,132,137,99,102,106,111,115,119,123,125,128,131,136,98', +'101,105,109,114,118,252,,127,130,135,104,,113,,,,272,,,,,,,,,,,,,,,', +',,,117,122,,,,134,,,,108,,,,,,,,,,,110,,,,,,133,138,100,103,107,112', +'116,120,124,126,129,132,137,99,102,106,111,115,119,123,125,128,131,136', +'98,101,105,109,114,118,121,,127,130,135,104,,113,,,,,,,,,,,,,,,,,,,', +',,,117,122,,,,134,,,,108,,,,,,,,,,,110,,,,,,133,138,100,103,107,112', +'116,120,124,126,129,132,137,99,102,106,111,115,119,123,125,128,131,136', +'98,101,105,109,114,118,121,,127,130,135,104,,113,,,,,,,,,,,,,,,,,,,', +',,,117,122,,,,134,,,,108,,,,,,,,,,,110,,,,,,133,138,100,103,107,112', +'116,120,124,126,129,132,137,99,102,106,111,115,119,123,125,128,131,136', +'98,101,105,109,114,118,121,,127,130,135,104,,113,,,,,,,,,,,,,,,,,,,', +',,,117,122,,,,134,,,,108,,,,,,,,,,,110,,,,,,133,138,100,103,107,112', +'116,120,124,126,129,132,137,99,102,106,111,115,119,123,125,128,131,136', +'98,101,105,109,114,118,121,,127,130,135,104,,113,,,,,,,,,,,,,,,,,,,', +',,,117,122,,,,134,,,,108,,,,,,,,,,,110,,,,,,133,138,100,103,107,112', +'116,120,124,126,129,132,137,99,102,106,111,115,119,123,125,128,131,136', +'98,101,105,109,114,118,121,,127,130,135,104,,113,,,,,,,,,,,,,,,,,,,', +',,,117,122,,,,134,,,,108,,,,,,,,,30,,110,,,,,,133,138,100,103,107,112', +'116,120,124,126,129,132,137,99,102,106,111,115,119,123,125,128,131,136', +'98,101,105,109,114,118,121,,127,130,135,104,,113,,,,,,,,,,,,,,,,,,,', +',,,117,122,,,,134,,,,108,,,,,,,,,,,110,,,,,,133,138,100,103,107,112', +'116,120,124,126,129,132,137,99,102,106,111,115,119,123,125,128,131,136', +'98,101,105,109,114,118,121,,127,130,135,104,,113,,,,,,,,,,,,,,,,,,,', +',,,117,122,,,,134,,,,108,,,,,,,,,,,110,,,,,,133,138,100,103,107,112', +'116,120,124,126,129,132,137,99,102,106,111,115,119,123,125,128,131,136', +'98,101,105,109,114,118,121,,127,130,135,104,,113,,,,,,,,,,,,,,,,,,,', +',,,117,122,,,,134,,,,108,,,,,,,,,,,110,,,,,,133,138,100,103,107,112', +'116,120,124,126,129,132,137,99,102,106,111,115,119,123,125,128,131,136', +'98,101,105,109,114,118,121,,127,130,135,104,,113,,,,,,,,,,,,,,,,,,,', +',,,117,122,,,,134,,,,108,,,,,,,,,,,110,,,,,,133,138,100,103,107,112', +'116,120,124,126,129,132,137,99,102,106,111,115,119,123,125,128,131,136', +'98,101,105,109,114,118,121,,127,130,135,104,,113,,,,,,,,,,,,,,,,,,,', +',,,117,122,,,,134,,,,108,,,,,,,,,,,110,,,,,,133,138,100,103,107,112', +'116,120,124,126,129,132,137,99,102,106,111,115,119,123,125,128,131,136', +'98,101,105,109,114,118,121,,127,130,135,104,,113,,,,,,,,,,,,,,,,,,,', +',,,117,122,,,,134,,,,108,,,,,,,,,,,110,,,,,,133,138,100,103,107,112', +'116,120,124,126,129,132,137,99,102,106,111,115,119,123,125,128,131,136', +'98,101,105,109,114,118,252,,127,130,135,104,,113,,,,,,,,,,,,,,,,,,,', +',,,117,122,,,,134,,,,108,,,,,,,,,,,110,,,,,,133,138,100,103,107,112', +'116,120,124,126,129,132,137,99,102,106,111,115,119,123,125,128,131,136', +'98,101,105,109,114,118,121,,127,130,135,104,,113,,,,,,,,,,,,,,,,,,,', +',,,117,122,,,,134,,,,108,,,,,,,,,,,110,,,,,,133,138,100,103,107,112', +'116,120,124,126,129,132,137,99,102,106,111,115,119,123,125,128,131,136', +'98,101,105,109,114,118,121,,127,130,135,104,,113,,,,,,,,,,,,,,,,,,,', +',,,117,122,,,,134,,,,108,,,,,,,,,246,,110,,,,,,133,138,100,103,107,112', +'116,120,124,126,129,132,137,99,102,106,111,115,119,123,125,128,131,136', +'98,101,105,109,114,118,121,,127,130,135,104,,113,,,,,,,,,,,,,,,,,,,', +',,,117,122,,,,134,,,,108,,,,,,,,,30,,110,,,,,,133,138,100,103,107,112', +'116,120,124,126,129,132,137,99,102,106,111,115,119,123,125,128,131,136', +'98,101,105,109,114,118,121,,127,130,135,104,,113,,,,,,,,,,,,,,,,,,,', +',,,117,122,,,,134,,,,108,,,,,,,,,,,110,,,,,,133,138,100,103,107,112', +'116,120,124,126,129,132,137,99,102,106,111,115,119,123,125,128,131,136', +'98,101,105,109,114,118,121,,127,130,135,104,,113,,,,,,,,,,,,,,,,,,,', +',,,117,122,,,,134,,,,108,,,,,,,,,,,110,,,,,,133,138,100,103,107,112', +'116,120,124,126,129,132,137,99,102,106,111,115,119,123,125,128,131,136', +'98,101,105,109,114,118,121,,127,130,135,104,,113,,,,,,,,,,,,,,,,,,,', +',,,117,122,,,,134,,,,108,,,,,,,,,,,110,,,,,,133,138,100,103,107,112', +'116,120,124,126,129,132,137,99,102,106,111,115,119,123,125,128,131,136', +'98,101,105,109,114,118,121,,127,130,135,117,122,,,,,,,,108,,,,,,,,,', +',110,,,,,,133,138,100,103,107,112,116,120,124,126,129,132,137,99,102', +'106,111,115,119,123,125,128,131,136,98,101,105,109,114,118,121,,127', +'130,135,117,122,,,,,,,,108,,,,,,,,,,,110,,,,,,133,138,100,103,107,112', +'116,120,124,126,129,132,137,99,102,106,111,115,119,123,125,128,131,136', +'98,101,105,109,114,118,121,117,122,,,,,,,,108,,,,,,,,,,,110,,,,,,133', +'138,100,103,107,112,116,120,124,126,129,132,137,99,102,106,111,115,119', +'123,125,128,131,136,98,101,105,109,114,118,121,117,122,,,,,,,,108,,', +',,,,,,,,110,,,,,,133,138,100,103,107,112,116,120,124,126,129,132,137', +'99,102,106,111,115,119,123,125,128,131,136,98,101,105,109,114,118,121', +'117,122,,,,,,,,108,,,,,,,,,,,110,,,,,,133,138,100,103,107,112,116,120', +'124,126,129,132,137,99,102,106,111,115,119,123,125,128,131,136,98,101', +'105,109,114,118,121,117,122,,,,,,,,108,,,,,,,,,,,110,,,,,,133,138,100', +'103,107,112,116,120,124,126,129,132,137,99,102,106,111,115,119,123,125', +'128,131,136,98,101,105,109,114,118,121,122,,,,,,,,108,,,,,,,,,,,110', +',,,,,133,138,100,103,107,112,116,120,124,126,129,132,137,99,102,106', +'111,115,119,123,125,128,131,136,98,101,105,109,114,118,121,122,,,,,', +',,108,,,,,,,,,,,110,,,,,,133,138,100,103,107,112,116,120,124,126,129', +'132,137,99,102,106,111,115,119,123,125,128,131,136,98,101,105,109,114', +'118,121,122,,,,,,,,108,,,,,,,,,,,110,,,,,,133,138,100,103,107,112,116', +'120,124,126,129,132,137,99,102,106,111,115,119,123,125,128,131,136,98', +'101,105,109,114,118,121,122,,,,,,,,108,,,,,,,,,,,110,,,,,,133,138,100', +'103,107,112,116,120,124,126,129,132,137,99,102,106,111,115,119,123,125', +'128,131,136,98,101,105,109,114,118,121,122,,,,,,,,108,,,,,,,,,,,110', +',,,,,133,138,100,103,107,112,116,120,124,126,129,132,137,99,102,106', +'111,115,119,123,125,128,131,136,98,101,105,109,114,118,121,108,,,,,', +',,,,,110,,,,,,133,138,100,103,107,112,116,120,124,126,129,132,137,99', +'102,106,111,115,119,123,125,128,131,136,98,101,105,109,114,118,108,', +',,,,,,,,,110,,,,,,133,138,100,103,107,112,116,120,124,126,129,132,137', +'99,102,106,111,115,119,123,125,128,131,136,98,101,105,109,114,118,108', +',,,,,,,,,,110,,,,,,133,138,100,103,107,112,116,120,124,126,129,132,137', +'99,102,106,111,115,119,123,125,128,131,136,98,101,105,109,114,118,110', +',,,,,133,138,100,103,107,112,116,120,124,126,129,132,137,99,102,106', +'111,115,119,123,125,128,131,136,98,101,105,109,114,118,110,,,,,,133', +'138,100,103,107,112,116,120,124,126,129,132,137,99,102,106,111,115,119', +'123,125,128,131,136,98,101,105,109,114,118,110,,,,,,133,138,100,103', +'107,112,116,120,124,126,129,132,137,99,102,106,111,115,119,123,125,128', +'131,136,98,101,105,109,114,118,110,,,,,,133,138,100,103,107,112,116', +'120,124,126,129,132,137,99,102,106,111,115,119,123,125,128,131,136,98', +'101,105,109,114,118,110,,,,,,133,138,100,103,107,112,116,120,124,126', +'129,132,137,99,102,106,111,115,119,123,125,128,131,136,98,101,105,109', +'114,118' ] + racc_action_table = arr = Array.new(9894, 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 = [ -'75,285,75,134,265,83,246,290,226,226,236,31,277,247,246,290,253,183', -'236,251,277,247,226,183,183,75,75,30,29,29,75,190,29,263,75,265,249', -'190,190,190,190,190,246,265,75,134,265,285,277,247,75,75,75,75,75,75', -'75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75', -'75,75,97,75,75,97,97,97,97,97,97,97,97,97,97,75,247,247,97,97,97,97', -'263,263,97,97,97,97,168,168,168,164,97,97,168,97,165,97,97,234,97,34', -'97,97,169,87,232,232,97,97,97,97,97,97,80,242,186,175,97,194,80,80,186', -'186,172,194,194,194,194,194,176,231,231,76,76,109,64,64,77,77,137,137', -'234,234,234,141,97,97,87,87,234,97,140,97,125,97,71,125,125,125,125', -'125,125,125,125,125,125,172,172,172,125,125,125,125,136,172,125,125', -'125,125,159,131,232,163,125,125,232,125,243,125,125,163,125,288,125', -'125,82,82,33,33,125,125,125,125,125,125,177,231,130,76,125,231,64,76', -'77,129,64,224,77,163,12,163,33,159,159,159,200,159,217,9,156,243,243', -'243,217,217,156,156,125,125,266,266,298,125,3,125,123,125,108,123,123', -'123,123,123,123,123,123,123,123,24,24,,123,123,123,123,33,69,123,123', -'123,123,296,296,33,69,123,123,33,123,,123,123,155,123,,123,123,,155', -'155,,123,123,123,123,123,123,199,199,210,,123,69,,69,210,210,210,210', +'87,290,87,1,1,1,1,1,1,1,1,1,1,257,174,117,192,192,189,295,246,257,174', +'1,1,87,87,295,246,202,87,192,88,88,87,202,202,139,1,144,157,1,1,140', +'273,87,157,157,290,257,174,87,87,87,87,87,87,87,87,87,87,87,87,87,87', +'87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,144,87,87,87,241', +'241,242,242,142,1,261,1,101,1,87,101,101,101,101,101,101,101,101,101', +'101,171,76,76,101,101,101,101,273,273,101,101,101,101,78,73,275,148', +'101,101,183,101,78,101,101,175,101,263,101,101,101,41,173,175,2,101', +'101,101,101,101,101,95,2,71,71,101,38,275,212,212,78,184,93,78,253,275', +'34,34,241,275,242,175,241,150,242,77,77,29,29,91,2,40,40,2,101,101,173', +'173,173,101,76,101,152,101,76,152,152,152,152,152,152,152,152,152,152', +'40,93,93,152,152,152,152,96,96,152,152,152,152,252,175,175,179,152,152', +'244,152,293,152,152,81,152,71,152,152,152,71,166,300,300,152,152,152', +'152,152,152,160,276,276,198,152,40,160,160,77,198,198,32,77,82,40,37', +'37,21,40,37,179,179,179,244,244,244,270,270,179,10,185,244,3,152,152', +'166,166,166,152,166,152,301,152,302,301,301,301,301,301,301,301,301', +'301,301,216,195,121,301,301,301,301,195,195,301,301,301,301,80,80,80', +',301,301,80,301,,301,301,162,301,163,301,301,301,162,162,163,163,301', +'301,301,301,301,301,223,,,,301,,223,223,223,223,223,223,223,223,223', +'223,223,223,223,223,223,223,223,223,223,223,223,,,164,,,,301,301,164', +'164,,301,,301,149,301,,149,149,149,149,149,149,149,149,149,149,,89,', +'149,149,149,149,89,89,149,149,149,149,,,,,149,149,,149,,149,149,158', +'149,,149,149,149,158,158,,,149,149,149,149,149,149,220,,,,149,,220,220', +'220,220,220,220,220,220,220,220,220,220,220,220,220,220,220,220,220', +'220,220,,,,,,,149,149,,,,149,,149,8,149,,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,214,,,,8,,214', +'214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214', +'214,214,214,,,,,,,8,8,,,,8,,8,9,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,226,,,,9,,226,226', +'226,226,226,226,226,226,226,226,226,226,226,226,226,226,226,226,226', +'226,226,,,,,,,9,9,,,,9,,9,167,9,,167,167,167,167,167,167,167,167,167', +'167,,,,167,167,167,167,,,167,167,167,167,,,,,167,167,,167,,167,167,', +'167,,167,167,167,,,,,167,167,167,167,167,167,230,,,,167,,230,230,230', +'230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230', +'230,,,,,,,167,167,,,,167,,167,13,167,,13,13,13,13,13,13,13,13,13,13', +',,,13,13,13,13,,,13,13,13,13,,,,,13,13,,13,,13,13,,13,,13,13,13,,,,', +'13,13,13,13,13,13,193,,,,13,,193,193,193,193,193,193,193,193,193,193', +'193,193,193,193,193,193,193,193,193,193,193,,,,,,,13,13,,,,13,,13,17', +'13,,17,17,17,17,17,17,17,17,17,17,,,,17,17,17,17,,,17,17,17,17,,,,,17', +'17,,17,,17,17,,17,,17,17,17,,,,,17,17,17,17,17,17,210,,,,17,,210,210', '210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210', -'153,254,254,123,123,,153,153,123,,123,122,123,,122,122,122,122,122,122', -'122,122,122,122,,151,,122,122,122,122,151,151,122,122,122,122,21,21', -',,122,122,,122,,122,122,149,122,,122,122,,149,149,,122,122,122,122,122', -'122,212,,,,122,,212,212,212,212,212,212,212,212,212,212,212,212,212', -'212,212,212,212,212,212,212,212,,150,,,,122,122,150,150,,122,,122,7', -'122,,7,7,7,7,7,7,7,7,7,7,,,,7,7,7,7,,,7,7,7,7,,,,,7,7,,7,,7,7,,7,,7', -'7,,,,,7,7,7,7,7,7,201,,,,7,,201,201,201,201,201,201,201,201,201,201', -'201,201,201,201,201,201,201,201,201,201,201,,,,,,7,7,,,,7,,7,8,7,,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,197,,,,8,,197,197,197,197,197,197,197,197,197,197,197,197', -'197,197,197,197,197,197,197,197,197,,,,,,8,8,,,,8,,8,297,8,,297,297', -'297,297,297,297,297,297,297,297,,,,297,297,297,297,,,297,297,297,297', -',,,,297,297,,297,,297,297,,297,,297,297,,,,,297,297,297,297,297,297', -'215,,,,297,,215,215,215,215,215,215,215,215,215,215,215,215,215,215', -'215,215,215,215,215,215,215,,,,,,297,297,,,,297,,297,120,297,,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', -'204,,,,120,,204,204,204,204,204,204,204,204,204,204,204,204,204,204', -'204,204,204,204,204,204,204,,,,,,120,120,,,,120,,120,17,120,,17,17,17', -'17,17,17,17,17,17,17,,,,17,17,17,17,,,17,17,17,17,,,,,17,17,,17,,17', -'17,,17,,17,17,,,,,17,17,17,17,17,17,193,,,,17,,193,193,193,193,193,193', -'193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,,,,,,17', -'17,,,,17,,17,119,17,,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,207,,,,119,,207,207,207,207,207,207,207', -'207,207,207,207,207,207,207,207,207,207,207,207,207,207,,,,,,119,119', -',,,119,,119,272,119,,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,189,,,,272,,189,189,189,189,189,189,189', -'189,189,189,189,189,189,,,,,,,,,,272,,,,272,272,,,,272,,272,25,272,', -'25,25,25,25,25,25,25,25,25,25,,,,25,25,25,25,,,25,25,25,25,,,,,25,25', -',25,,25,25,,25,,25,25,,25,,,25,25,25,25,25,25,182,,,,25,,182,182,182', -'182,182,182,182,182,182,182,182,182,182,198,,,,,,198,198,198,198,198', -'198,198,25,25,,,,25,,25,270,25,,270,270,270,270,270,270,270,270,270', -'270,,,,270,270,270,270,,,270,270,270,270,,,,,270,270,,270,,270,270,', -'270,,270,270,,,,,270,270,270,270,270,270,185,,,,270,,185,185,185,185', -'185,185,185,185,185,185,185,185,185,205,,,,,,205,205,205,205,205,205', -'205,270,270,,,,270,,270,269,270,,269,269,269,269,269,269,269,269,269', +'210,210,,,,,,,17,17,,,,17,,17,177,17,,177,177,177,177,177,177,177,177', +'177,177,,,,177,177,177,177,,,177,177,177,177,,,,,177,177,,177,,177,177', +',177,,177,177,177,,,,,177,177,177,177,177,177,218,,,,177,,218,218,218', +'218,218,218,218,218,218,218,218,218,218,218,218,218,218,218,218,218', +'218,,,,,,,177,177,,,,177,,177,178,177,,178,178,178,178,178,178,178,178', +'178,178,,,,178,178,178,178,,,178,178,178,178,,,,,178,178,,178,,178,178', +',178,,178,178,178,,,,,178,178,178,178,178,178,197,,,,178,,197,197,197', +'197,197,197,197,197,197,197,197,197,197,219,,,,,,219,219,219,219,219', +'219,219,,178,178,,,,178,,178,30,178,,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,194,,,,30,,194,194,194,194,194,194,194,194,194,194', +'194,194,194,221,,,,,,221,221,221,221,221,221,221,,30,30,,,,30,,30,137', +'30,,137,137,137,137,137,137,137,137,137,137,,,,137,137,137,137,,,137', +'137,137,137,,,,,137,137,,137,,137,137,,137,,137,137,137,,,,,137,137', +'137,137,137,137,206,,,,137,,206,206,206,206,206,206,206,206,206,206', +'206,206,206,215,,,,,,215,215,215,215,215,215,215,,137,137,,,,137,,137', +'136,137,,136,136,136,136,136,136,136,136,136,136,,,,136,136,136,136', +',,136,136,136,136,,,,,136,136,,136,,136,136,,136,,136,136,136,,,,,136', +'136,136,136,136,136,201,,,,136,,201,201,201,201,201,201,201,201,201', +'201,201,201,201,207,,,,,,207,207,207,207,207,,,,136,136,,,,136,,136', +'135,136,,135,135,135,135,135,135,135,135,135,135,,,,135,135,135,135', +',,135,135,135,135,,,,,135,135,,135,,135,135,,135,,135,135,135,,,,,135', +'135,135,135,135,135,231,,,,135,,231,231,231,231,231,231,231,231,231', +'231,227,,,,,,227,227,227,227,227,227,227,227,227,227,,135,135,,,,135', +',135,282,135,,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,224,,,,282,,224,224,224,224,224,224,224,224', +'224,224,211,,,,,,211,211,211,211,211,,282,,,,,282,282,,,,282,,282,134', +'282,,134,134,134,134,134,134,134,134,134,134,,,,134,134,134,134,,,134', +'134,134,134,,,,,134,134,,134,,134,134,,134,,134,134,134,,,,,134,134', +'134,134,134,134,,,,,134,,,,,,,,,,,,,,,,,,,,,,,,,,,,,134,134,,,,134,', +'134,280,134,,280,280,280,280,280,280,280,280,280,280,,,,280,280,280', +'280,,,280,280,280,280,,,,,280,280,,280,,280,280,,280,,280,280,280,,', +',,280,280,280,280,280,280,,,,,280,,,,,,,,,,,,,,,,,,,,,,,,,,,,,280,280', +',,,280,,280,279,280,,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,43,279,,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,47,43,,47,47', +'47,47,47,47,47,47,47,47,,,,47,47,47,47,,,47,47,47,47,,,,,47,47,,47,', +'47,47,,47,,47,47,47,,,,,47,47,47,47,47,47,,,,,47,,,,,,,,,,,,,,,,,,,', +',,,,,,,,,47,47,,,,47,,47,51,47,,51,51,51,51,51,51,51,51,51,51,,,,51', +'51,51,51,,,51,51,51,51,,,,,51,51,,51,,51,51,,51,,51,51,51,,,,,51,51', +'51,51,51,51,,,,,51,,,,,,,,,,,,,,,,,,,,,,,,,,,,,51,51,,,,51,,51,53,51', +',53,53,53,53,53,53,53,53,53,53,,,,53,53,53,53,,,53,53,53,53,,,,,53,53', +',53,,53,53,,53,,53,53,53,,,,,53,53,53,53,53,53,,,,,53,,,,,,,,,,,,,,', +',,,,,,,,,,,,,,53,53,,,,53,,53,57,53,,57,57,57,57,57,57,57,57,57,57,', +',,57,57,57,57,,,57,57,57,57,,,,,57,57,,57,,57,57,,57,,57,57,57,,,,,57', +'57,57,57,57,57,,,,,57,,,,,,,,,,,,,,,,,,,,,,,,,,,,,57,57,,,,57,,57,59', +'57,,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,63,59,,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', +'67,63,,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,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,70,68,,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,132,70,,132,132,132,132,132', +'132,132,132,132,132,,,,132,132,132,132,,,132,132,132,132,,,,,132,132', +',132,,132,132,,132,,132,132,132,,,,,132,132,132,132,132,132,,,,,132', +',,,,,,,,,,,,,,,,,,,,,,,,,,,,132,132,,,,132,,132,274,132,,274,274,274', +'274,274,274,274,274,274,274,,,,274,274,274,274,,,274,274,274,274,,,', +',274,274,,274,,274,274,,274,,274,274,274,,,,,274,274,274,274,274,274', +',,,,274,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274,274,,,,274,,274,74,274,,74,74', +'74,74,74,74,74,74,74,74,,,,74,74,74,74,,,74,74,74,74,,,,,74,74,,74,', +'74,74,,74,,74,74,74,,,,,74,74,74,74,74,74,,,,,74,,,,,,,,,,,,,,,,,,,', +',,,,,,,,,74,74,,,,74,,74,269,74,,269,269,269,269,269,269,269,269,269', '269,,,,269,269,269,269,,,269,269,269,269,,,,,269,269,,269,,269,269,', -'269,,269,269,,,,,269,269,269,269,269,269,216,,,,269,,216,216,216,216', -'216,216,216,216,216,216,216,216,216,202,,,,,,202,202,202,202,202,202', -'202,269,269,,,,269,,269,264,269,,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,211,,,,264,,211,211,211,211', -'211,211,211,211,211,211,208,,,,,,208,208,208,208,208,208,208,208,208', -'208,264,264,,,,264,,264,260,264,,260,260,260,260,260,260,260,260,260', -'260,,,,260,260,260,260,,,260,260,260,260,,,,,260,260,,260,,260,260,', -'260,,260,260,,,,,260,260,260,260,260,260,213,,,,260,,213,213,213,213', -'213,213,213,213,213,213,,,,,,,,,,,,,,,,,260,260,,,,260,,260,259,260', -',259,259,259,259,259,259,259,259,259,259,,,,259,259,259,259,,,259,259', -'259,259,,,,,259,259,,259,,259,259,,259,,259,259,,,,,259,259,259,259', -'259,259,,,,,259,,,,,,,,,,,,,,,,,,,,,,,,,,,,259,259,,,,259,,259,245,259', -',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,41,245', -',41,41,41,41,41,41,41,41,41,41,,,,41,41,41,41,,,41,41,41,41,,,,,41,41', -',41,,41,41,,41,,41,41,,,,,41,41,41,41,41,41,,,,,41,,,,,,,,,,,,,,,,,', -',,,,,,,,,,41,41,,,,41,,41,45,41,,45,45,45,45,45,45,45,45,45,45,,,,45', -'45,45,45,,,45,45,45,45,,,,,45,45,,45,,45,45,,45,,45,45,,,,,45,45,45', -'45,45,45,,,,,45,,,,,,,,,,,,,,,,,,,,,,,,,,,,45,45,,,,45,,45,49,45,,49', -'49,49,49,49,49,49,49,49,49,,,,49,49,49,49,,,49,49,49,49,,,,,49,49,,49', -',49,49,,49,,49,49,,,,,49,49,49,49,49,49,,,,,49,,,,,,,,,,,,,,,,,,,,,', -',,,,,,49,49,,,,49,,49,53,49,,53,53,53,53,53,53,53,53,53,53,,,,53,53', -'53,53,,,53,53,53,53,,,,,53,53,,53,,53,53,,53,,53,53,,,,,53,53,53,53', -'53,53,,,,,53,,,,,,,,,,,,,,,,,,,,,,,,,,,,53,53,,,,53,,53,55,53,,55,55', -'55,55,55,55,55,55,55,55,,,,55,55,55,55,,,55,55,55,55,,,,,55,55,,55,', -'55,55,,55,,55,55,,,,,55,55,55,55,55,55,,,,,55,,,,,,,,,,,,,,,,,,,,,,', -',,,,,55,55,,,,55,,55,59,55,,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,61,59,,61,61,61', -'61,61,61,61,61,61,61,,,,61,61,61,61,,,61,61,61,61,,,,,61,61,,61,,61', -'61,,61,,61,61,,,,,61,61,61,61,61,61,,,,,61,,,,,,,,,,,,,,,,,,,,,,,,,', -',,61,61,,,,61,,61,63,61,,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,244,63,,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,65,244,,65,65,65', -'65,65,65,65,65,65,65,,,,65,65,65,65,,,65,65,65,65,,,,,65,65,,65,,65', -'65,,65,,65,65,65,,,,65,65,65,65,65,65,,,,,65,,,,,,,,,,,,,,,,,,,,,,,', -',,,,65,65,,,,65,,65,67,65,,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,239,67,,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,237,239', -',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,72,237', -',72,72,72,72,72,72,72,72,72,72,,,,72,72,72,72,,,72,72,72,72,,,,,72,72', -',72,,72,72,,72,,72,72,,,,,72,72,72,72,72,72,,,,,72,,,,,,,,,,,,,,,,,', -',,,,,,,,,,72,72,,,,72,,72,0,72,,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,118,0,,118,118,118,118,118,118,118,118,118,118', -',,,118,118,118,118,,,118,118,118,118,,,,,118,118,,118,,118,118,,118', -',118,118,,,,,118,118,118,118,118,118,,,,,118,,,,,,,,,,,,,,,,,,,,,,,', -',,,,118,118,,,,118,,118,227,118,,227,227,227,227,227,227,227,227,227', -'227,,,,227,227,227,227,,,227,227,227,227,,,,,227,227,,227,,227,227,', -'227,,227,227,,,,,227,227,227,227,227,227,,,,,227,,,,,,,,,,,,,,,,,,,', -',,,,,,,,227,227,,,,227,,227,78,227,,78,78,78,78,78,78,78,78,78,78,,', -',78,78,78,78,,,78,78,78,78,,,,,78,78,,78,,78,78,,78,,78,78,78,,,,78', -'78,78,78,78,78,,,,,78,,,,,,,,,,,,,,,,,,,,,,,,,,,,78,78,,,,78,,78,225', -'78,,225,225,225,225,225,225,225,225,225,225,,,,225,225,225,225,,,225', -'225,225,225,,,,,225,225,,225,,225,225,,225,,225,225,,,,,225,225,225', -'225,225,225,,,,,225,,,,,,,,,,,,,,,,,,,,,,,,,,,,225,225,,,,225,,225,160', -'225,,160,160,160,160,160,160,160,160,160,160,,,,160,160,160,160,,,160', -'160,160,160,,,,,160,160,,160,,160,160,,160,,160,160,,,,,160,160,160', -'160,160,160,,,,,160,,,,,,,,,,,,,,,,,,,,,,,,,,,,160,160,,,,160,,160,145', -'160,,145,145,145,145,145,145,145,145,145,145,,,,145,145,145,145,,,145', -'145,145,145,,,,,145,145,,145,,145,145,,145,,145,145,145,,,,145,145,145', -'145,145,145,,,,,145,,,,,,,,,,,,,,,,,,,,,,,,,,,,145,145,,,,145,,145,144', -'145,,144,144,144,144,144,144,144,144,144,144,,,,144,144,144,144,,,144', -'144,144,144,,,,,144,144,,144,,144,144,,144,,144,144,,,,,144,144,144', -'144,144,144,,,,,144,,,,,,,,,,,,,,,,,,,,,,,,,,,,144,144,,,,144,,144,117', -'144,,117,117,117,117,117,117,117,117,117,117,,,,117,117,117,117,,,117', -'117,117,117,,,,,117,117,,117,,117,117,,117,,117,117,,,,,117,117,117', -'117,117,117,,,,,117,,,,,,,,,,,,,,,,,,,,,,,,,,,,117,117,,,,117,,117,139', -'117,,139,139,139,139,139,139,139,139,139,139,,,,139,139,139,139,,,139', -'139,139,139,,,,,139,139,,139,,139,139,,139,,139,139,,,,,139,139,139', -'139,139,139,,,,,139,,,,,,,,,,,,,,,,,,,,,,,,,,,,139,139,,,,139,,139,85', -'139,,85,85,85,85,85,85,85,85,85,85,,,,85,85,85,85,,,85,85,85,85,,,,', -'85,85,,85,,85,85,,85,,85,85,,,,,85,85,85,85,85,85,,,,,85,,,,,,,,,,,', -',,,,,,,,,,,,,,,,85,85,,,,85,,85,128,85,,128,128,128,128,128,128,128', -'128,128,128,,,,128,128,128,128,,,128,128,128,128,,,,,128,128,,128,,128', -'128,,128,,128,128,,,,,128,128,128,128,128,128,,,,,128,,,,,,,,,,,,,,', -',,,,,,,,,,,,,128,128,,,,128,,128,89,128,,89,89,89,89,89,89,89,89,89', -'89,,,,89,89,89,89,,,89,89,89,89,,,,,89,89,,89,,89,89,,89,,89,89,,,,', -'89,89,89,89,89,89,,,,,89,,,,,,,,,,,,,,,,,,,,,,,,,,,,89,89,,,,89,,89', -'90,89,,90,90,90,90,90,90,90,90,90,90,,,,90,90,90,90,,,90,90,90,90,,', -',,90,90,,90,,90,90,,90,,90,90,,,,,90,90,90,90,90,90,,,,,90,,,,,,,,,', -',,,,,,,,,,,,,,,,,,90,90,,,,90,,90,91,90,,91,91,91,91,91,91,91,91,91', -'91,,,,91,91,91,91,,,91,91,91,91,,,,,91,91,,91,,91,91,,91,,91,91,,,,', -'91,91,91,91,91,91,,,,,91,,,,,,,,,,,,,,,,,,,,,,,,,,,,91,91,,,,91,,91', -'92,91,,92,92,92,92,92,92,92,92,92,92,,,,92,92,92,92,,,92,92,92,92,,', -',,92,92,,92,,92,92,,92,,92,92,,,,,92,92,92,92,92,92,,,,,92,,,,,,,,,', -',,,,,,,,,,,,,,,,,,92,92,,,,92,,92,93,92,,93,93,93,93,93,93,93,93,93', -'93,,,,93,93,93,93,,,93,93,93,93,,,,,93,93,,93,,93,93,,93,,93,93,,,,', -'93,93,93,93,93,93,,,,,93,,,,,,,,,,,,,,,,,,,,,,,,,,,,93,93,,,,93,,93', -'94,93,,94,94,94,94,94,94,94,94,94,94,,,,94,94,94,94,,,94,94,94,94,,', -',,94,94,,94,,94,94,,94,,94,94,,,,,94,94,94,94,94,94,,,,,94,,,,,,,,,', -',,,,,,,,,,,,,,,,,,94,94,,,,94,,94,95,94,,95,95,95,95,95,95,95,95,95', -'95,,,,95,95,95,95,,,95,95,95,95,,,,,95,95,,95,,95,95,,95,,95,95,,,,', -'95,95,95,95,95,95,,,,,95,,,,,,,,,,,,,,,,,,,,,,,,,,,,95,95,,,,95,,95', -'1,95,,1,1,1,1,1,1,1,1,1,1,,,,1,1,1,1,,,1,1,1,1,,,,,1,1,,1,,1,1,,1,,1', -'1,,,,,1,1,1,1,1,1,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,1,,1,98,1', -',98,98,98,98,98,98,98,98,98,98,,,,98,98,98,98,,,98,98,98,98,,,,,98,98', -',98,,98,98,,98,,98,98,,,,,98,98,98,98,98,98,,,,,98,,,,,,,,,,,,,,,,,', -',,,,,,,,,,98,98,,,,98,,98,99,98,,99,99,99,99,99,99,99,99,99,99,,,,99', -'99,99,99,,,99,99,99,99,,,,,99,99,,99,,99,99,,99,,99,99,,,,,99,99,99', -'99,99,99,,,,,99,,,,,,,,,,,,,,,,,,,,,,,,,,,,99,99,,,,99,,99,100,99,,100', -'100,100,100,100,100,100,100,100,100,,,,100,100,100,100,,,100,100,100', -'100,,,,,100,100,,100,,100,100,,100,,100,100,,,,,100,100,100,100,100', -'100,,,,,100,,,,,,,,,,,,,,,,,,,,,,,,,,,,100,100,,,,100,,100,101,100,', -'101,101,101,101,101,101,101,101,101,101,,,,101,101,101,101,,,101,101', -'101,101,,,,,101,101,,101,,101,101,,101,,101,101,,,,,101,101,101,101', -'101,101,,,,,101,,,,,,,,,,,,,,,,,,,,,,,,,,,,101,101,,,,101,,101,102,101', -',102,102,102,102,102,102,102,102,102,102,,,,102,102,102,102,,,102,102', -'102,102,,,,,102,102,,102,,102,102,,102,,102,102,,,,,102,102,102,102', -'102,102,,,,,102,,,,,,,,,,,,,,,,,,,,,,,,,,,,102,102,,,,102,,102,116,102', -',116,116,116,116,116,116,116,116,116,116,,,,116,116,116,116,,,116,116', -'116,116,,,,,116,116,,116,,116,116,,116,,116,116,,,,,116,116,116,116', -'116,116,,,,,116,,,,,,,,,,,,,,,,,,,,,,,,,,,,116,116,,,,116,,116,104,116', -',104,104,104,104,104,104,104,104,104,104,,,,104,104,104,104,,,104,104', -'104,104,,,,,104,104,,104,,104,104,,104,,104,104,,,,,104,104,104,104', -'104,104,,,,,104,,,,,,,,,,,,,,,,,,,,,,,,,,,,104,104,,,,104,,104,105,104', -',105,105,105,105,105,105,105,105,105,105,,,,105,105,105,105,,,105,105', -'105,105,,,,,105,105,,105,,105,105,,105,,105,105,,,,,105,105,105,105', -'105,105,,,,,105,,,,,,,,,,,,,,,,,,,,,,,,,,,,105,105,,,,105,,105,106,105', -',106,106,106,106,106,106,106,106,106,106,,,,106,106,106,106,,,106,106', -'106,106,,,,,106,106,,106,,106,106,,106,,106,106,,,,,106,106,106,106', -'106,106,,,,,106,,,,,,,,,,,,,,,,,,,,,,,,,,,,106,106,,,,106,,106,107,106', -',107,107,107,107,107,107,107,107,107,107,,,,107,107,107,107,,,107,107', -'107,107,,,,,107,107,,107,,107,107,,107,,107,107,,,,,107,107,107,107', -'107,107,,,,,107,,,,,,,,,,,,,,,,,,,,,,,,,,,,107,107,,,,107,,107,127,107', +'269,,269,269,269,,,,,269,269,269,269,269,269,,,,,269,,,,,,,,,,,,,,,', +',,,,,,,,,,,,,269,269,,,,269,,269,268,269,,268,268,268,268,268,268,268', +'268,268,268,,,,268,268,268,268,,,268,268,268,268,,,,,268,268,,268,,268', +'268,,268,,268,268,268,,,,,268,268,268,268,268,268,,,,,268,,,,,,,,,,', +',,,,,,,,,,,,,,,,,,268,268,,,,268,,268,131,268,,131,131,131,131,131,131', +'131,131,131,131,,,,131,131,131,131,,,131,131,131,131,,,,,131,131,,131', +',131,131,,131,,131,131,131,,,,,131,131,131,131,131,131,,,,,131,,,,,', +',,,,,,,,,,,,,,,,,,,,,,,131,131,,,,131,,131,130,131,,130,130,130,130', +'130,130,130,130,130,130,,,,130,130,130,130,,,130,130,130,130,,,,,130', +'130,,130,,130,130,,130,,130,130,130,,,,,130,130,130,130,130,130,,,,', +'130,,,,,,,,,,,,,,,,,,,,,,,,,,,,,130,130,,,,130,,130,129,130,,129,129', +'129,129,129,129,129,129,129,129,,,,129,129,129,129,,,129,129,129,129', +',,,,129,129,,129,,129,129,,129,,129,129,129,,,,,129,129,129,129,129', +'129,,,,,129,,,,,,,,,,,,,,,,,,,,,,,,,,,,,129,129,,,,129,,129,249,129', +',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,84,249,,84,84,84,84,84,84,84,84,84,84,,,,84,84,84,84,,,84,84,84', +'84,,,,,84,84,,84,,84,84,,84,,84,84,84,84,,,,84,84,84,84,84,84,,,,,84', +',,,,,,,,,,,,,,,,,,,,,,,,,,,,84,84,,,,84,,84,248,84,,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,128,248,,128,128', +'128,128,128,128,128,128,128,128,,,,128,128,128,128,,,128,128,128,128', +',,,,128,128,,128,,128,128,,128,,128,128,128,,,,,128,128,128,128,128', +'128,,,,,128,,,,,,,,,,,,,,,,,,,,,,,,,,,,,128,128,,,,128,,128,0,128,,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,127,0', ',127,127,127,127,127,127,127,127,127,127,,,,127,127,127,127,,,127,127', -'127,127,,,,,127,127,,127,,127,127,,127,,127,127,,,,,127,127,127,127', -'127,127,,,,,127,,,,,,,,,,,,,,,,,,,,,,,,,,,,127,127,,,,127,,127,126,127', -',126,126,126,126,126,126,126,126,126,126,,,,126,126,126,126,,,126,126', -'126,126,,,,,126,126,,126,,126,126,,126,,126,126,,,,,126,126,126,126', -'126,126,,,,,126,,,,,,,,,,,,,,,,,,,,,,,,,,,,126,126,,,,126,,126,110,126', -',110,110,110,110,110,110,110,110,110,110,,,,110,110,110,110,,,110,110', -'110,110,,,,,110,110,,110,,110,110,,110,,110,110,,,,,110,110,110,110', -'110,110,,,,,110,,,,,,,,,,,,,,,,,,,,,,,,,,,,110,110,,,,110,,110,111,110', -',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,112,111', -',112,112,112,112,112,112,112,112,112,112,,,,112,112,112,112,,,112,112', -'112,112,,,,,112,112,,112,,112,112,,112,,112,112,,,,,112,112,112,112', -'112,112,,,,,112,,,,,,,,,,,,,,,,,,,,,,,,,,,,112,112,,,,112,,112,113,112', -',113,113,113,113,113,113,113,113,113,113,,,,113,113,113,113,,,113,113', -'113,113,,,,,113,113,,113,,113,113,,113,,113,113,,,,,113,113,113,113', -'113,113,,,,,113,,,,,,,,,,,,,,,,,,,,,,,,,,,,113,113,,,,113,,113,114,113', -',114,114,114,114,114,114,114,114,114,114,,,,114,114,114,114,,,114,114', -'114,114,,,,,114,114,,114,,114,114,,114,,114,114,,,,,114,114,114,114', -'114,114,,,,,114,,,,,,,,,,,,,,,,,,,,,,,,,,,,114,114,,,,114,,114,115,114', +'127,127,,,,,127,127,,127,,127,127,,127,,127,127,127,,,,,127,127,127', +'127,127,127,,,,,127,,,,,,,,,,,,,,,,,,,,,,,,,,,,,127,127,,,,127,,127', +'126,127,,126,126,126,126,126,126,126,126,126,126,,,,126,126,126,126', +',,126,126,126,126,,,,,126,126,,126,,126,126,,126,,126,126,126,,,,,126', +'126,126,126,126,126,,,,,126,,,,,,,,,,,,,,,,,,,,,,,,,,,,,126,126,,,,126', +',126,125,126,,125,125,125,125,125,125,125,125,125,125,,,,125,125,125', +'125,,,125,125,125,125,,,,,125,125,,125,,125,125,,125,,125,125,125,,', +',,125,125,125,125,125,125,,,,,125,,,,,,,,,,,,,,,,,,,,,,,,,,,,,125,125', +',,,125,,125,124,125,,124,124,124,124,124,124,124,124,124,124,,,,124', +'124,124,124,,,124,124,124,124,,,,,124,124,,124,,124,124,,124,,124,124', +'124,,,,,124,124,124,124,124,124,,,,,124,,,,,,,,,,,,,,,,,,,,,,,,,,,,', +'124,124,,,,124,,124,92,124,,92,92,92,92,92,92,92,92,92,92,,,,92,92,92', +'92,,,92,92,92,92,,,,,92,92,,92,,92,92,,92,,92,92,92,,,,,92,92,92,92', +'92,92,,,,,92,,,,,,,,,,,,,,,,,,,,,,,,,,,,,92,92,,,,92,,92,123,92,,123', +'123,123,123,123,123,123,123,123,123,,,,123,123,123,123,,,123,123,123', +'123,,,,,123,123,,123,,123,123,,123,,123,123,123,,,,,123,123,123,123', +'123,123,,,,,123,,,,,,,,,,,,,,,,,,,,,,,,,,,,,123,123,,,,123,,123,191', +'123,,191,191,191,191,191,191,191,191,191,191,,,,191,191,191,191,,,191', +'191,191,191,,,,,191,191,,191,,191,191,,191,,191,191,191,,,,,191,191', +'191,191,191,191,,,,,191,,,,,,,,,,,,,,,,,,,,,,,,,,,,,191,191,,,,191,', +'191,190,191,,190,190,190,190,190,190,190,190,190,190,,,,190,190,190', +'190,,,190,190,190,190,,,,,190,190,,190,,190,190,,190,,190,190,190,,', +',,190,190,190,190,190,190,,,,,190,,,,,,,,,,,,,,,,,,,,,,,,,,,,,190,190', +',,,190,,190,98,190,,98,98,98,98,98,98,98,98,98,98,,,,98,98,98,98,,,98', +'98,98,98,,,,,98,98,,98,,98,98,,98,,98,98,98,,,,,98,98,98,98,98,98,,', +',,98,,,,,,,,,,,,,,,,,,,,,,,,,,,,,98,98,,,,98,,98,99,98,,99,99,99,99', +'99,99,99,99,99,99,,,,99,99,99,99,,,99,99,99,99,,,,,99,99,,99,,99,99', +',99,,99,99,99,,,,,99,99,99,99,99,99,,,,,99,,,,,,,,,,,,,,,,,,,,,,,,,', +',,,99,99,,,,99,,99,100,99,,100,100,100,100,100,100,100,100,100,100,', +',,100,100,100,100,,,100,100,100,100,,,,,100,100,,100,,100,100,,100,', +'100,100,100,,,,,100,100,100,100,100,100,,,,,100,,,,,,,,,,,,,,,,,,,,', +',,,,,,,,100,100,,,,100,,100,154,100,,154,154,154,154,154,154,154,154', +'154,154,,,,154,154,154,154,,,154,154,154,154,,,,,154,154,,154,,154,154', +',154,,154,154,154,154,,,,154,154,154,154,154,154,,,,,154,,,,,,,,,,,', +',,,,,,,,,,,,,,,,,154,154,,,,154,,154,102,154,,102,102,102,102,102,102', +'102,102,102,102,,,,102,102,102,102,,,102,102,102,102,,,,,102,102,,102', +',102,102,,102,,102,102,102,,,,,102,102,102,102,102,102,,,,,102,,,,,', +',,,,,,,,,,,,,,,,,,,,,,,102,102,,,,102,,102,103,102,,103,103,103,103', +'103,103,103,103,103,103,,,,103,103,103,103,,,103,103,103,103,,,,,103', +'103,,103,,103,103,,103,,103,103,103,,,,,103,103,103,103,103,103,,,,', +'103,,,,,,,,,,,,,,,,,,,,,,,,,,,,,103,103,,,,103,,103,104,103,,104,104', +'104,104,104,104,104,104,104,104,,,,104,104,104,104,,,104,104,104,104', +',,,,104,104,,104,,104,104,,104,,104,104,104,,,,,104,104,104,104,104', +'104,,,,,104,,,,,,,,,,,,,,,,,,,,,,,,,,,,,104,104,,,,104,,104,105,104', +',105,105,105,105,105,105,105,105,105,105,,,,105,105,105,105,,,105,105', +'105,105,,,,,105,105,,105,,105,105,,105,,105,105,105,,,,,105,105,105', +'105,105,105,,,,,105,,,,,,,,,,,,,,,,,,,,,,,,,,,,,105,105,,,,105,,105', +'106,105,,106,106,106,106,106,106,106,106,106,106,,,,106,106,106,106', +',,106,106,106,106,,,,,106,106,,106,,106,106,,106,,106,106,106,,,,,106', +'106,106,106,106,106,,,,,106,,,,,,,,,,,,,,,,,,,,,,,,,,,,,106,106,,,,106', +',106,107,106,,107,107,107,107,107,107,107,107,107,107,,,,107,107,107', +'107,,,107,107,107,107,,,,,107,107,,107,,107,107,,107,,107,107,107,,', +',,107,107,107,107,107,107,,,,,107,,,,,,,,,,,,,,,,,,,,,,,,,,,,,107,107', +',,,107,,107,108,107,,108,108,108,108,108,108,108,108,108,108,,,,108', +'108,108,108,,,108,108,108,108,,,,,108,108,,108,,108,108,,108,,108,108', +'108,,,,,108,108,108,108,108,108,,,,,108,,,,,,,,,,,,,,,,,,,,,,,,,,,,', +'108,108,,,,108,,108,109,108,,109,109,109,109,109,109,109,109,109,109', +',,,109,109,109,109,,,109,109,109,109,,,,,109,109,,109,,109,109,,109', +',109,109,109,,,,,109,109,109,109,109,109,,,,,109,,,,,,,,,,,,,,,,,,,', +',,,,,,,,,109,109,,,,109,,109,119,109,,119,119,119,119,119,119,119,119', +'119,119,,,,119,119,119,119,,,119,119,119,119,,,,,119,119,,119,,119,119', +',119,,119,119,119,,,,,119,119,119,119,119,119,,,,,119,,,,,,,,,,,,,,', +',,,,,,,,,,,,,,119,119,,,,119,,119,111,119,,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,112,111,,112,112,112,112,112,112', +'112,112,112,112,,,,112,112,112,112,,,112,112,112,112,,,,,112,112,,112', +',112,112,,112,,112,112,112,,,,,112,112,112,112,112,112,,,,,112,,,,,', +',,,,,,,,,,,,,,,,,,,,,,,112,112,,,,112,,112,113,112,,113,113,113,113', +'113,113,113,113,113,113,,,,113,113,113,113,,,113,113,113,113,,,,,113', +'113,,113,,113,113,,113,,113,113,113,,,,,113,113,113,113,113,113,,,,', +'113,,,,,,,,,,,,,,,,,,,,,,,,,,,,,113,113,,,,113,,113,114,113,,114,114', +'114,114,114,114,114,114,114,114,,,,114,114,114,114,,,114,114,114,114', +',,,,114,114,,114,,114,114,,114,,114,114,114,,,,,114,114,114,114,114', +'114,,,,,114,,,,,,,,,,,,,,,,,,,,,,,,,,,,,114,114,,,,114,,114,115,114', ',115,115,115,115,115,115,115,115,115,115,,,,115,115,115,115,,,115,115', -'115,115,,,,,115,115,,115,,115,115,,115,,115,115,,,,,115,115,115,115', -'115,115,,,,,115,,,,,,,,,,,,,,,,,,,,,,,,,,,,115,115,,,,115,,115,103,115', -',103,103,103,103,103,103,103,103,103,103,,,,103,103,103,103,,,103,103', -'103,103,,,,,103,103,,103,,103,103,,103,,103,103,,,,,103,103,103,103', -'103,103,,,,,103,142,142,142,142,142,142,142,142,142,142,,,,,,,,,,,142', -'142,,,,,,103,103,,,,103,,103,142,103,,142,,,228,,228,,,,,,,,,,,,,,,', -',,,,,,,228,228,,,,228,,,,228,,,,,,,,,,228,142,,142,,142,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,293,293', -'293,293,293,293,293,293,293,293,,,,293,293,293,293,,,293,293,293,,,', -',,,293,,293,,293,293,,293,,293,293,,,,,293,293,293,293,293,293,294,', -'294,,293,,,,,,,,,,,,,,,,,,,,,294,294,,,,294,,293,293,294,,,293,,293', -',293,,,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,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,300,,300,,5,,,2,2,2,2,2,2,2,2,2,2', -',,,,,,,,300,300,2,2,,300,,5,5,300,,,5,,5,,5,2,,300,2,,,,,300,300,300', -'300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300', -'300,300,300,300,300,300,300,300,300,300,300,,300,300,161,,161,,,,300', -',,2,,2,,2,,,,,,,,,,,,161,161,,,,161,,,,161,,,,,,,,,,161,,,,,,161,161', -'161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161', -'161,161,161,161,161,161,161,161,161,161,161,161,,161,161,303,,303,,', -',,,,,,,,,,,,,,,,,,,,303,303,,,,303,,,,303,,,,,,,,,,303,,,,,,303,303', -'303,303,303,303,303,303,303,303,303,303,303,303,303,303,303,303,303', -'303,303,303,303,303,303,303,303,303,303,303,303,,303,303,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,292,,292,,', -',,,,,,,,,,,,,,,,,,,,292,292,,,,292,,,,292,,,,,,,,,,292,,,,,,292,292', -'292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292', -'292,292,292,292,292,292,292,292,292,292,292,292,,292,292,291,,291,,', -',,,,,,,,,,,,,,,,,,,,291,291,,,,291,,,,291,,,,,,,,,,291,,,,,,291,291', +'115,115,,,,,115,115,,115,,115,115,,115,,115,115,115,,,,,115,115,115', +'115,115,115,,,,,115,,,,,,,,,,,,,,,,,,,,,,,,,,,,,115,115,,,,115,,115', +'116,115,,116,116,116,116,116,116,116,116,116,116,,,,116,116,116,116', +',,116,116,116,116,,,,,116,116,,116,,116,116,,116,,116,116,116,,,,,116', +'116,116,116,116,116,,,,,116,,,,,,,,,,,,,,,,,,,,,,,,,,,,,116,116,,,,116', +',116,120,116,,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,118,120,,118,118,118,118,118,118,118,118,118,118,,,,118', +'118,118,118,,,118,118,118,118,,,,,118,118,,118,,118,118,,118,,118,118', +'118,,,,,118,118,118,118,118,118,,,,,118,,,,,,,,,,,,,,,,,,,,,,,,,,,,', +'118,118,,,,118,,118,122,118,,122,122,122,122,122,122,122,122,122,122', +',,,122,122,122,122,,,122,122,122,122,,,,,122,122,,122,,122,122,,122', +',122,122,122,,,,,122,122,122,122,122,122,,304,,304,122,,,,,,,,,,,,,', +',,,,,,,,304,304,,,,304,,122,122,304,,,122,,122,,122,,,,304,,,,,,304', +'304,304,304,304,304,304,304,304,304,304,304,304,304,304,304,304,304', +'304,304,304,304,304,304,304,304,304,304,304,304,304,,304,304,304,,,', +',,,304,110,110,110,110,110,110,110,110,110,110,,,,110,110,110,110,,', +'110,110,110,,,,,,,110,,110,,110,110,,110,,110,110,110,,,,,110,110,110', +'110,,,,,,,,,151,151,151,151,151,151,151,151,151,151,,,,,,,,,,,151,151', +',,,,,110,110,,,,110,,110,151,110,,151,151,,,,,,,,,,,,,,,,,,,,,,5,5,5', +'5,5,5,5,5,5,5,,,,5,5,5,5,,,5,5,5,5,,,,,151,5,151,5,151,5,5,,5,,5,5,5', +',,,,5,5,5,5,5,5,,299,,299,5,,,,,,,,,,,,,,,,,,,,,,299,299,,,,299,,5,5', +'299,,,5,,5,,5,,,,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,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,,239,,239,298,,,,,,,,,,,,,,,,,,', +',,,239,239,,,,239,,298,298,239,,,298,,298,,298,,,,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,281,,281,,', +',239,,,,,,,,,,,,,,,,,,,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,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', +'258,,258,,,,,,,,,,,,,,,,,,,,,,,258,258,,,,258,,,,258,,,,,,,,,,,258,', +',,,,258,258,258,258,258,258,258,258,258,258,258,258,258,258,258,258', +'258,258,258,258,258,258,258,258,258,258,258,258,258,258,258,,258,258', +'258,259,,259,,,,,,,,,,,,,,,,,,,,,,,259,259,,,,259,,,,259,,,,,,,,,,,259', +',,,,,259,259,259,259,259,259,259,259,259,259,259,259,259,259,259,259', +'259,259,259,259,259,259,259,259,259,259,259,259,259,259,259,,259,259', +'259,278,,278,,,,,,,,,,,,,,,,,,,,,,,278,278,,,,278,,,,278,,,,,,,,,,,278', +',,,,,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278', +'278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,,278,278', +'278,86,,86,,,,,,,,,,,,,,,,,,,,,,,86,86,,,,86,,,,86,,,,,,,,,86,,86,,', +',,,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86', +'86,86,86,86,86,86,86,86,86,,86,86,86,36,,36,,,,,,,,,,,,,,,,,,,,,,,36', +'36,,,,36,,,,36,,,,,,,,,,,36,,,,,,36,36,36,36,36,36,36,36,36,36,36,36', +'36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,,36,36,36,291', +',291,,,,,,,,,,,,,,,,,,,,,,,291,291,,,,291,,,,291,,,,,,,,,,,291,,,,,', '291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291', -'291,291,291,291,291,291,291,291,291,291,291,291,,291,291,286,,286,,', -',,,,,,,,,,,,,,,,,,,,286,286,,,,286,,,,286,,,,,,,,,,286,,,,,,286,286', -'286,286,286,286,286,286,286,286,286,286,286,286,286,286,286,286,286', -'286,286,286,286,286,286,286,286,286,286,286,286,,286,286,195,,195,,', -',,,,,,,,,,,,,,,,,,,,195,195,,,,195,,,,195,,,,,,,,,,195,,,,,,195,195', -'195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195', -'195,195,195,195,195,195,195,195,195,195,195,195,,195,195,187,,187,,', -',,,,,,,,,,,,,,,,,,,,187,187,,,,187,,,,187,,,,,,,,,,187,,,,,,187,187', +'291,291,291,291,291,291,291,291,291,291,291,291,291,291,,291,291,291', +'296,,296,,,,,,,,,,,,,,,,,,,,,,,296,296,,,,296,,,,296,,,,,,,,,,,296,', +',,,,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296', +'296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,,296,296', +'296,297,,297,,,,,,,,,,,,,,,,,,,,,,,297,297,,,,297,,,,297,,,,,,,,,,,297', +',,,,,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297', +'297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,,297,297', +'297,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,168,,168,,,,,,,,,,,,,,,,,,,,,,,168,168,,,,168,,,,168,,,,,,,,,,,168', +',,,,,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168', +'168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,,168,168', +'168,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,199,,199,,,,,,,,,,,,,,,,,,,,,,,199,199,,,,199,,,,199,,,,,,,,,,,199', +',,,,,199,199,199,199,199,199,199,199,199,199,199,199,199,199,199,199', +'199,199,199,199,199,199,199,199,199,199,199,199,199,199,199,,199,199', +'199,161,,161,,,,,,,,,,,,,,,,,,,,,,,161,161,,,,161,,,,161,,,,,,,,,161', +',161,,,,,,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161', +'161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,,161', +'161,161,159,,159,,,,,,,,,,,,,,,,,,,,,,,159,159,,,,159,,,,159,,,,,,,', +',159,,159,,,,,,159,159,159,159,159,159,159,159,159,159,159,159,159,159', +'159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159', +',159,159,159,180,,180,,,,,,,,,,,,,,,,,,,,,,,180,180,,,,180,,,,180,,', +',,,,,,,,180,,,,,,180,180,180,180,180,180,180,180,180,180,180,180,180', +'180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180', +'180,,180,180,180,187,,187,,,,,,,,,,,,,,,,,,,,,,,187,187,,,,187,,,,187', +',,,,,,,,,,187,,,,,,187,187,187,187,187,187,187,187,187,187,187,187,187', '187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,187', -'187,187,187,187,187,187,187,187,187,187,187,187,,187,187,173,,173,,', -',,,,,,,,,,,,,,,,,,,,173,173,,,,173,,,,173,,,,,,,,,,173,,,,,,173,173', -'173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173', -'173,173,173,173,173,173,173,173,173,173,173,173,,173,173,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,154,,154,,', -',,,,,,,,,,,,,,,,,,,,154,154,,,,154,,,,154,,,,,,,,154,,154,,,,,,154,154', -'154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154', -'154,154,154,154,154,154,154,154,154,154,154,154,,154,154,275,,275,,', -',,,,,,,,,,,,,,,,,,,,275,275,,,,275,,,,275,,,,,,,,,,275,,,,,,275,275', -'275,275,275,275,275,275,275,275,275,275,275,275,275,275,275,275,275', -'275,275,275,275,275,275,275,275,275,275,275,275,,275,275,179,,179,,', -',,,,,,,,,,,,,,,,,,,,179,179,,,,179,,,,179,,,,,,,,,,179,,,,,,179,179', -'179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179', -'179,179,179,179,179,179,179,179,179,179,179,179,,179,179,81,,81,,,,', -',,,,,,,,,,,,,,,,,,81,81,,,,81,,,,81,,,,,,,,81,,81,,,,,,81,81,81,81,81', -'81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81', -'81,81,81,,81,81,271,,271,,,,,,,,,,,,,,,,,,,,,,,271,271,,,,271,,,,271', -',,,,,,,,,271,,,,,,271,271,271,271,271,271,271,271,271,271,271,271,271', -'271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271', -'271,,271,271,28,,28,,,,,,,,,,,,,,,,,,,,,,,28,28,,,,28,,,,28,,,,,,,,', -',28,,,,,,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28', -'28,28,28,28,28,28,28,28,28,28,28,,28,28,268,,268,,,,,,,,,,,,,,,,,,,', -',,,268,268,,,,268,,,,268,,,,,,,,,,268,,,,,,268,268,268,268,268,268,268', -'268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268', -'268,268,268,268,268,268,268,,268,268,152,,152,,,,,,,,,,,,,,,,,,,,,,', -'152,152,,,,152,,,,152,,,,,,,,152,,152,,,,,,152,152,152,152,152,152,152', -'152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152', -'152,152,152,152,152,152,152,,152,152,274,,274,,,,,,,,,,,,,,,,,,,,,,', -'274,274,,,,274,,,,274,,,,,,,,,,274,,,,,,274,274,274,274,274,274,274', -'274,274,274,274,274,274,274,274,274,274,274,274,274,274,274,274,274', -'274,274,274,274,274,274,274,,274,274,79,79,,,,,,,,79,,,,,,,,,,79,,,', -',,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79', -'79,79,79,79,79,79,79,79,79,,79,79,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,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,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,84,84,,,,,,,,84,,,,,,,,,,84,,,,', -',84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84', -'84,84,84,84,84,84,84,84,257,,,,,,,,257,,,,,,,,,,257,,,,,,257,257,257', -'257,257,257,257,257,257,257,257,257,257,257,257,257,257,257,257,257', -'257,257,257,257,257,257,257,257,257,257,257,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,261', -',,,,,,,261,,,,,,,,,,261,,,,,,261,261,261,261,261,261,261,261,261,261', -'261,261,261,261,261,261,261,261,261,261,261,261,261,261,261,261,261', -'261,261,261,261,203,,,,,,,,203,,,,,,,,,,203,,,,,,203,203,203,203,203', +'187,,187,187,187,307,,307,,,,,,,,,,,,,,,,,,,,,,,307,307,,,,307,,,,307', +',,,,,,,,,,307,,,,,,307,307,307,307,307,307,307,307,307,307,307,307,307', +'307,307,307,307,307,307,307,307,307,307,307,307,307,307,307,307,307', +'307,,307,307,307,85,85,,,,,,,,85,,,,,,,,,,,85,,,,,,85,85,85,85,85,85', +'85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85', +'85,85,,85,85,85,222,222,,,,,,,,222,,,,,,,,,,,222,,,,,,222,222,222,222', +'222,222,222,222,222,222,222,222,222,222,222,222,222,222,222,222,222', +'222,222,222,222,222,222,222,222,222,222,225,225,,,,,,,,225,,,,,,,,,', +',225,,,,,,225,225,225,225,225,225,225,225,225,225,225,225,225,225,225', +'225,225,225,225,225,225,225,225,225,225,225,225,225,225,225,225,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,90,90,,,,,,,,90,,,,,,,,,,,90,,,,,,90,90,90,90,90', +'90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90', +'90,90,90,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,265,,,,,,,,265,,,,,,,,,,,265,,,,,,265', +'265,265,265,265,265,265,265,265,265,265,265,265,265,265,265,265,265', +'265,265,265,265,265,265,265,265,265,265,265,265,265,287,,,,,,,,287,', +',,,,,,,,,287,,,,,,287,287,287,287,287,287,287,287,287,287,287,287,287', +'287,287,287,287,287,287,287,287,287,287,287,287,287,287,287,287,287', +'287,288,,,,,,,,288,,,,,,,,,,,288,,,,,,288,288,288,288,288,288,288,288', +'288,288,288,288,288,288,288,288,288,288,288,288,288,288,288,288,288', +'288,288,288,288,288,288,266,,,,,,,,266,,,,,,,,,,,266,,,,,,266,266,266', +'266,266,266,266,266,266,266,266,266,266,266,266,266,266,266,266,266', +'266,266,266,266,266,266,266,266,266,266,266,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,172', +',,,,,,,,,,172,,,,,,172,172,172,172,172,172,172,172,172,172,172,172,172', +'172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172', +'165,,,,,,,,,,,165,,,,,,165,165,165,165,165,165,165,165,165,165,165,165', +'165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165', +'165,203,,,,,,,,,,,203,,,,,,203,203,203,203,203,203,203,203,203,203,203', '203,203,203,203,203,203,203,203,203,203,203,203,203,203,203,203,203', -'203,203,203,203,203,203,203,203,203,283,,,,,,,,283,,,,,,,,,,283,,,,', -',283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283', -'283,283,283,283,283,283,283,283,283,283,283,283,283,283,170,,,,,,,,', -',170,,,,,,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170', -'170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,191,,,,', -',,,,,191,,,,,,191,191,191,191,191,191,191,191,191,191,191,191,191,191', -'191,191,191,191,191,191,191,191,191,191,191,191,191,191,191,191,162', -',,,,,,,,,162,,,,,,162,162,162,162,162,162,162,162,162,162,162,162,162', -'162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162', -'196,,,,,,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196', -'196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,192,,,,', -',192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192', -'192,192,192,192,192,192,192,192,192,192,192,192,192,188,,,,,,188,188', -'188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188', -'188,188,188,188,188,188,188,188,188,188,188,184,,,,,,184,184,184,184', -'184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184', -'184,184,184,184,184,184,184,184,184,181,,,,,,181,181,181,181,181,181', -'181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181', -'181,181,181,181,181,181,181' ] - racc_action_check = arr = Array.new(9455, nil) +'203,203,196,,,,,,196,196,196,196,196,196,196,196,196,196,196,196,196', +'196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196', +'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,200,,,,', +',200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200', +'200,200,200,200,200,200,200,200,200,200,200,200,200,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,204,,,,,,204,204,204,204', +'204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204', +'204,204,204,204,204,204,204,204,204' ] + racc_action_check = arr = Array.new(9894, 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 = [ - 3023, 4771, 6901, 168, nil, 6845, nil, 447, 539, 204, - nil, nil, 239, nil, nil, nil, nil, 815, nil, nil, - nil, 295, nil, nil, 190, 1091, nil, nil, 8241, -58, - 24, -3, nil, 202, 76, nil, nil, nil, nil, nil, - nil, 1735, nil, nil, nil, 1827, nil, nil, nil, 1919, - nil, nil, nil, 2011, nil, 2103, nil, nil, nil, 2195, - nil, 2287, nil, 2379, 140, 2563, nil, 2655, nil, 280, - nil, 93, 2931, nil, nil, -2, 137, 142, 3299, 8552, - 87, 8073, 193, 5, 8779, 3943, nil, 79, nil, 4127, - 4219, 4311, 4403, 4495, 4587, 4679, nil, 79, 4863, 4955, - 5047, 5139, 5231, 6519, 5415, 5507, 5599, 5691, 253, 72, - 5967, 6059, 6151, 6243, 6335, 6427, 5323, 3759, 3115, 907, - 723, nil, 355, 263, nil, 171, 5875, 5783, 4035, 190, - 209, 197, nil, nil, 1, nil, 103, 131, nil, 3851, - 157, 150, 6573, nil, 3667, 3575, nil, nil, nil, 348, - 391, 325, 8409, 300, 7821, 256, 203, nil, nil, 154, - 3483, 6981, 9193, 196, 27, 32, nil, nil, 19, 41, - 9101, nil, 98, 7653, nil, 122, 105, 202, nil, 7989, - nil, 9373, 1099, -29, 9337, 1191, 89, 7569, 9301, 1007, - -15, 9147, 9265, 823, 92, 7485, 9229, 547, 1118, 289, - 163, 455, 1302, 8999, 731, 1210, 8723, 915, 1391, 8667, - 273, 1375, 363, 1467, 7149, 639, 1283, 201, nil, nil, - nil, nil, nil, nil, 222, 3391, -22, 3207, 6617, nil, - nil, 135, 110, 8611, 73, nil, -24, 2839, nil, 2747, - nil, 7737, 52, 162, 2471, 1643, 0, 7, nil, -46, - nil, -25, nil, -28, 317, nil, nil, 8834, nil, 1551, - 1459, 8944, nil, 15, 1367, 1, 171, nil, 8325, 1275, - 1183, 8157, 999, nil, 8493, 7905, nil, 6, nil, nil, - nil, nil, 8889, 9054, nil, -43, 7401, nil, 168, nil, - -27, 7317, 7233, 6705, 6757, nil, 203, 631, 216, nil, - 6897, nil, nil, 7065, nil, nil ] + 3946, -2, 134, 176, nil, 7027, nil, nil, 468, 562, + 225, nil, nil, 750, nil, nil, nil, 844, nil, nil, + nil, 258, nil, nil, nil, nil, nil, nil, nil, 83, + 1126, nil, 238, nil, 72, nil, 7827, 168, 149, nil, + 162, 92, nil, 1878, nil, nil, nil, 1972, nil, nil, + nil, 2066, nil, 2160, nil, nil, nil, 2254, nil, 2348, + nil, nil, nil, 2442, nil, nil, nil, 2536, 2630, nil, + 2724, 134, nil, 38, 3006, nil, 93, 156, 114, nil, + 218, 141, 170, nil, 3664, 8920, 7741, -2, 10, 343, + 9152, 175, 4416, 112, nil, 55, 180, nil, 4792, 4886, + 4980, 92, 5168, 5262, 5356, 5450, 5544, 5638, 5732, 5826, + 6910, 6014, 6108, 6202, 6296, 6390, 6484, 1, 6672, 5920, + 6578, 214, 6766, 4510, 4322, 4228, 4134, 4040, 3852, 3476, + 3382, 3288, 2818, nil, 1596, 1408, 1314, 1220, nil, -8, + 25, nil, 87, nil, 37, nil, nil, nil, 109, 374, + 155, 6966, 186, nil, 5074, nil, nil, -7, 366, 8601, + 194, 8515, 272, 274, 317, 9584, 186, 656, 8257, nil, + nil, 24, 9537, 92, 8, 125, nil, 938, 1032, 171, + 8687, nil, nil, 112, 112, 248, nil, 8773, nil, 4, + 4698, 4604, -14, 758, 1134, 249, 9667, 1040, 197, 8429, + 9739, 1322, -18, 9631, 9811, nil, 1228, 1341, 8343, 9703, + 852, 1526, 126, 9775, 476, 1247, 212, 9489, 946, 1059, + 382, 1153, 8981, 288, 1510, 9038, 570, 1432, 8171, 9209, + 664, 1416, nil, nil, nil, nil, nil, nil, nil, 7225, + nil, 71, 73, 9095, 174, nil, -14, nil, 3758, 3570, + nil, 7397, 131, 77, nil, nil, nil, 7, 7483, 7569, + nil, 47, nil, 88, nil, 9265, 9433, nil, 3194, 3100, + 237, nil, nil, 26, 2912, 119, 152, nil, 7655, 1784, + 1690, 7311, 1502, nil, nil, nil, nil, 9321, 9377, nil, + -44, 7913, nil, 177, nil, -15, 7999, 8085, 7171, 7081, + 143, 280, 238, nil, 6820, nil, nil, 8859, nil, nil ] racc_action_default = [ - -1, -178, -178, -178, -19, -46, -20, -178, -178, -178, - -34, -21, -178, -22, -47, -23, -2, -178, -30, -102, - -28, -3, -29, -32, -178, -178, -31, -33, -5, -178, - -171, -178, -35, -8, -178, -36, -9, -96, -37, -94, - -10, -178, -103, -95, -11, -178, -104, -38, -12, -178, - -105, -39, -26, -178, -13, -178, -106, -40, -27, -178, - -14, -178, -101, -178, -121, -133, -15, -178, -16, -115, - -17, -98, -178, -18, -123, -178, -178, -122, -133, -45, - -50, -178, -178, -178, -147, -7, -4, -178, -25, -178, - -178, -178, -178, -178, -178, -178, -91, -178, -178, -178, - -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, - -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, - -178, -58, -178, -178, -57, -178, -178, -178, -178, -178, - -178, -171, -173, -175, -178, -169, -154, -178, -125, -178, - -178, -178, -178, -112, -178, -133, -107, -111, -93, -51, - -48, -49, -150, -52, -178, -54, -53, -126, -108, -178, - -178, -134, -55, -115, -178, -178, -44, -116, -178, -178, - -56, -148, -178, -134, -167, -178, -178, -143, 306, -6, - -24, -82, -71, -60, -83, -72, -61, -176, -84, -73, - -62, -89, -85, -74, -63, -177, -86, -75, -64, -178, - -178, -76, -65, -90, -77, -66, -87, -78, -67, -88, - -79, -68, -80, -69, -151, -81, -70, -59, -92, -97, - -174, -170, -172, -168, -178, -178, -178, -178, -178, -109, - -110, -124, -178, -41, -178, -149, -178, -178, -140, -178, - -132, -135, -178, -178, -178, -178, -178, -178, -114, -178, - -129, -178, -144, -178, -152, -100, -155, -156, -153, -178, - -178, -157, -113, -127, -178, -178, -178, -162, -137, -178, - -178, -136, -178, -120, -42, -43, -118, -178, -117, -99, - -146, -145, -159, -158, -128, -178, -141, -160, -178, -163, - -178, -138, -139, -100, -178, -119, -164, -178, -178, -166, - -178, -130, -165, -142, -161, -131 ] + -1, -181, -118, -181, -17, -46, -18, -126, -181, -181, + -181, -34, -19, -181, -20, -47, -21, -181, -30, -22, + -28, -181, -23, -29, -32, -2, -111, -31, -33, -3, + -181, -104, -181, -35, -181, -36, -5, -181, -174, -37, + -8, -181, -9, -181, -98, -38, -10, -181, -105, -39, + -96, -181, -11, -181, -106, -40, -97, -181, -12, -181, + -107, -103, -26, -181, -108, -27, -13, -181, -181, -14, + -136, -124, -15, -100, -181, -16, -181, -125, -118, -119, + -181, -181, -181, -44, -136, -45, -181, -181, -181, -50, + -150, -181, -7, -181, -25, -157, -181, -4, -181, -181, + -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, + -93, -181, -181, -181, -181, -181, -181, -181, -181, -181, + -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, + -181, -181, -181, -58, -181, -181, -181, -181, -57, -181, + -181, -172, -174, -176, -181, -178, -114, -128, -181, -181, + -181, -181, -181, -115, -136, -109, -95, -51, -48, -153, + -49, -181, -52, -54, -53, -55, -181, -181, -137, -129, + -110, -181, -56, -181, -181, -181, -117, -181, -181, -181, + -137, -170, -151, -181, -181, -146, 310, -6, -24, -181, + -181, -181, -181, -81, -70, -59, -83, -71, -60, -179, + -84, -72, -61, -91, -85, -82, -73, -62, -180, -86, + -74, -63, -181, -87, -75, -64, -181, -92, -76, -65, + -77, -66, -88, -78, -67, -89, -79, -68, -154, -90, + -80, -69, -94, -99, -173, -177, -171, -175, -112, -181, + -113, -127, -181, -41, -181, -152, -181, -143, -181, -181, + -135, -138, -181, -181, -123, -121, -120, -181, -42, -43, + -132, -181, -147, -181, -158, -159, -160, -156, -181, -181, + -155, -102, -116, -130, -181, -181, -181, -165, -140, -181, + -181, -139, -181, -101, -122, -149, -148, -162, -161, -131, + -181, -144, -163, -181, -166, -181, -141, -142, -102, -181, + -167, -181, -181, -169, -181, -133, -168, -145, -164, -134 ] racc_goto_table = [ - 75, 24, 143, 137, 79, 158, 80, 81, 16, 77, - 82, 157, 76, 166, 168, 12, 84, 226, 158, 132, - 267, 285, 135, 177, 157, 21, 276, 278, 265, 85, - 219, 223, 86, 143, 129, 148, 131, 284, 133, nil, - 149, nil, nil, nil, 150, 143, 143, nil, 151, 289, - 87, nil, 152, nil, 153, nil, 159, 295, 154, nil, - 155, nil, 156, nil, 161, nil, 162, nil, nil, 172, - nil, 170, nil, nil, 299, nil, nil, 173, nil, 254, - 199, nil, 174, nil, 179, nil, nil, nil, 181, 182, - 183, 184, 185, 186, 187, 85, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 166, 243, 201, + 25, 153, 80, 34, 77, 96, 83, 21, 85, 76, + 166, 86, 87, 88, 277, 169, 89, 170, 29, 290, + 90, 169, 185, 170, 179, 192, 275, 233, 236, 92, + 139, 142, 153, 289, 97, 145, nil, 153, 153, 143, + 141, 255, 256, 294, 156, nil, 157, nil, 93, nil, + 158, nil, nil, nil, 159, nil, 160, nil, nil, nil, + 161, nil, 162, 303, nil, nil, 163, nil, nil, nil, + 164, 165, nil, 168, nil, nil, nil, 172, 173, nil, + 174, nil, 83, nil, nil, nil, nil, 180, nil, 181, + 212, nil, nil, 92, 244, 187, nil, nil, nil, nil, + nil, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, - 220, 212, 213, 221, 214, 215, 216, 217, nil, nil, - 218, nil, nil, nil, nil, 222, 234, nil, 228, nil, - nil, nil, nil, 233, 173, nil, nil, nil, nil, 232, - nil, nil, 231, 235, nil, nil, nil, nil, nil, 241, + nil, 213, 214, 215, 284, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 226, 227, nil, 228, 229, 230, + 231, 270, 232, 235, 234, nil, nil, 237, nil, nil, + nil, nil, 239, nil, 242, 243, nil, 180, nil, 241, + nil, nil, 245, nil, nil, nil, nil, nil, nil, nil, + 251, nil, nil, 174, nil, 257, nil, nil, 83, 83, + 258, 259, nil, nil, nil, nil, 169, 262, 170, nil, + nil, nil, nil, 265, 266, 267, nil, nil, nil, nil, + nil, nil, 153, 153, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, 158, nil, nil, 246, 252, nil, 157, - 266, nil, nil, nil, nil, nil, nil, nil, nil, nil, - 166, 166, nil, nil, nil, nil, nil, nil, nil, nil, - 143, 143, nil, nil, nil, nil, nil, nil, nil, 266, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, 166, nil, nil, 257, nil, 261, 258, nil, nil, - nil, nil, nil, nil, 266, nil, 268, nil, 271, nil, - nil, nil, nil, 274, 275, nil, nil, 269, nil, nil, - nil, 246, 280, nil, 281, 277, nil, nil, 282, 283, - nil, nil, nil, 286, nil, nil, nil, nil, 291, 292, - nil, 294, nil, nil, 290, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, 296, nil, nil, 298, - nil, nil, 300, nil, nil, nil, 303, nil, nil, nil, - nil, nil, nil, nil, 302 ] + nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, 279, + 276, 278, 281, nil, nil, nil, nil, nil, nil, nil, + nil, 83, nil, nil, 285, nil, 286, nil, nil, nil, + nil, 287, 288, nil, nil, nil, 295, 291, nil, 276, + nil, nil, 296, 297, nil, 299, nil, nil, nil, nil, + nil, nil, nil, 300, nil, nil, 302, nil, nil, 276, + 306, 304, nil, nil, 307 ] racc_goto_check = [ - 5, 4, 30, 40, 5, 31, 5, 5, 2, 32, - 4, 36, 6, 21, 34, 1, 5, 41, 31, 47, - 43, 38, 45, 39, 36, 3, 23, 23, 42, 2, - 26, 44, 2, 30, 25, 4, 46, 8, 48, nil, - 5, nil, nil, nil, 5, 30, 30, nil, 5, 43, - 3, nil, 5, nil, 5, nil, 37, 23, 5, nil, - 5, nil, 5, nil, 5, nil, 5, nil, nil, 37, - nil, 5, nil, nil, 43, nil, nil, 5, nil, 41, - 40, nil, 4, nil, 5, nil, nil, nil, 5, 5, - 5, 5, 5, 5, 5, 2, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 21, 34, 5, + 2, 30, 34, 4, 32, 40, 21, 1, 5, 6, + 37, 5, 5, 4, 43, 36, 5, 31, 3, 38, + 5, 36, 39, 31, 37, 41, 42, 26, 44, 2, + 25, 46, 30, 8, 2, 48, nil, 30, 30, 47, + 45, 23, 23, 43, 4, nil, 5, nil, 3, nil, + 5, nil, nil, nil, 5, nil, 5, nil, nil, nil, + 5, nil, 5, 43, nil, nil, 5, nil, nil, nil, + 5, 5, nil, 5, nil, nil, nil, 5, 34, nil, + 2, nil, 21, nil, nil, nil, nil, 5, nil, 4, + 40, nil, nil, 2, 37, 5, nil, nil, nil, nil, + nil, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 47, 5, 5, 45, 5, 5, 5, 5, nil, nil, - 4, nil, nil, nil, nil, 4, 37, nil, 5, nil, - nil, nil, nil, 5, 5, nil, nil, nil, nil, 32, - nil, nil, 6, 4, nil, nil, nil, nil, nil, 5, + nil, 5, 5, 5, 23, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, nil, 5, 5, 5, + 5, 41, 4, 47, 45, nil, nil, 4, nil, nil, + nil, nil, 5, nil, 32, 5, nil, 5, nil, 6, + nil, nil, 4, nil, nil, nil, nil, nil, nil, nil, + 5, nil, nil, 2, nil, 2, nil, nil, 21, 21, + 5, 5, nil, nil, nil, nil, 36, 4, 31, nil, + nil, nil, nil, 5, 5, 4, nil, nil, nil, nil, + nil, nil, 30, 30, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, 31, nil, nil, 2, 4, nil, 36, - 21, nil, nil, nil, nil, nil, nil, nil, nil, nil, - 21, 21, nil, nil, nil, nil, nil, nil, nil, nil, - 30, 30, nil, nil, nil, nil, nil, nil, nil, 21, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, 21, nil, nil, 5, nil, 5, 4, nil, nil, - nil, nil, nil, nil, 21, nil, 5, nil, 5, nil, - nil, nil, nil, 5, 5, nil, nil, 2, nil, nil, - nil, 2, 4, nil, 4, 2, nil, nil, 5, 5, - nil, nil, nil, 5, nil, nil, nil, nil, 5, 5, - nil, 5, nil, nil, 2, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, 4, nil, nil, 4, - nil, nil, 5, nil, nil, nil, 5, nil, nil, nil, - nil, nil, nil, nil, 2 ] + nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, 2, + 21, 5, 5, nil, nil, nil, nil, nil, nil, nil, + nil, 21, nil, nil, 4, nil, 4, nil, nil, nil, + nil, 5, 5, nil, nil, nil, 2, 5, nil, 21, + nil, nil, 5, 5, nil, 5, nil, nil, nil, nil, + nil, nil, nil, 4, nil, nil, 4, nil, nil, 21, + 2, 5, nil, nil, 5 ] racc_goto_pointer = [ - nil, 15, 8, 25, 1, -1, 10, nil, -226, nil, + nil, 7, 0, 18, 3, 3, 8, nil, -240, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, -56, nil, -220, nil, 5, -100, nil, nil, nil, - -31, -59, 7, nil, -55, nil, -53, -9, -243, -59, - -28, -120, -208, -216, -103, -8, 6, -11, 8 ] + nil, 4, nil, -133, nil, -7, -113, nil, nil, nil, + -39, -54, 3, nil, 0, nil, -56, -60, -255, -66, + -27, -71, -220, -232, -116, 2, -7, 1, -3 ] racc_goto_default = [ - nil, nil, 237, nil, nil, 28, 33, 36, 40, 44, - 48, 54, 60, 66, 68, 70, 73, 4, 6, 11, - 13, 15, 19, 167, 29, 34, 37, 42, 46, 50, - 56, 146, 64, 147, nil, 74, 138, nil, nil, nil, - nil, nil, nil, nil, 30, nil, nil, nil, nil ] + nil, nil, 248, nil, nil, 36, 40, 42, 46, 52, + 58, 66, 69, 72, 75, 4, 6, 12, 14, 16, + 19, 22, 31, 79, 37, 41, 44, 48, 54, 60, + 64, 155, 71, 146, nil, 7, 147, nil, nil, nil, + nil, nil, nil, nil, 38, nil, nil, nil, nil ] racc_reduce_table = [ 0, 0, :racc_error, - 0, 98, :_reduce_1, - 1, 98, :_reduce_2, - 1, 98, :_reduce_3, - 2, 98, :_reduce_4, - 1, 100, :_reduce_5, - 3, 100, :_reduce_6, - 2, 100, :_reduce_7, - 1, 102, :_reduce_none, - 1, 102, :_reduce_none, - 1, 102, :_reduce_none, - 1, 102, :_reduce_none, - 1, 102, :_reduce_none, - 1, 102, :_reduce_none, - 1, 102, :_reduce_none, - 1, 102, :_reduce_none, - 1, 102, :_reduce_none, - 1, 102, :_reduce_none, - 1, 102, :_reduce_none, - 1, 102, :_reduce_none, - 1, 102, :_reduce_none, - 1, 102, :_reduce_none, - 1, 102, :_reduce_none, - 1, 102, :_reduce_none, - 3, 101, :_reduce_24, - 2, 101, :_reduce_25, - 1, 99, :_reduce_none, - 1, 99, :_reduce_none, - 1, 119, :_reduce_28, - 1, 119, :_reduce_29, - 1, 119, :_reduce_30, - 1, 119, :_reduce_31, - 1, 119, :_reduce_32, - 1, 119, :_reduce_33, - 1, 119, :_reduce_34, - 1, 119, :_reduce_35, - 1, 119, :_reduce_36, - 1, 119, :_reduce_37, - 1, 119, :_reduce_38, - 1, 119, :_reduce_39, - 1, 119, :_reduce_40, - 3, 107, :_reduce_41, - 3, 120, :_reduce_42, - 3, 120, :_reduce_43, - 1, 120, :_reduce_44, - 2, 111, :_reduce_45, - 1, 111, :_reduce_46, - 1, 118, :_reduce_47, - 2, 106, :_reduce_48, - 2, 106, :_reduce_49, - 2, 106, :_reduce_50, - 2, 106, :_reduce_51, - 2, 106, :_reduce_52, - 2, 106, :_reduce_53, - 2, 106, :_reduce_54, - 2, 106, :_reduce_55, - 2, 106, :_reduce_56, - 2, 106, :_reduce_57, - 2, 106, :_reduce_58, - 3, 106, :_reduce_59, - 3, 106, :_reduce_60, - 3, 106, :_reduce_61, - 3, 106, :_reduce_62, - 3, 106, :_reduce_63, - 3, 106, :_reduce_64, - 3, 106, :_reduce_65, - 3, 106, :_reduce_66, - 3, 106, :_reduce_67, - 3, 106, :_reduce_68, - 3, 106, :_reduce_69, - 3, 106, :_reduce_70, - 3, 106, :_reduce_71, - 3, 106, :_reduce_72, - 3, 106, :_reduce_73, - 3, 106, :_reduce_74, - 3, 106, :_reduce_75, - 3, 106, :_reduce_76, - 3, 106, :_reduce_77, - 3, 106, :_reduce_78, - 3, 106, :_reduce_79, - 3, 106, :_reduce_80, - 3, 106, :_reduce_81, - 3, 106, :_reduce_82, - 3, 106, :_reduce_83, - 3, 106, :_reduce_84, - 3, 106, :_reduce_85, - 3, 106, :_reduce_86, - 3, 106, :_reduce_87, - 3, 106, :_reduce_88, - 3, 106, :_reduce_89, - 3, 106, :_reduce_90, - 2, 117, :_reduce_91, - 3, 105, :_reduce_92, - 2, 105, :_reduce_93, - 1, 122, :_reduce_94, - 1, 122, :_reduce_95, - 1, 121, :_reduce_96, - 3, 121, :_reduce_97, - 1, 123, :_reduce_none, - 4, 123, :_reduce_99, - 4, 116, :_reduce_100, - 1, 103, :_reduce_101, - 1, 103, :_reduce_102, - 1, 103, :_reduce_103, - 1, 103, :_reduce_104, - 1, 103, :_reduce_105, - 1, 103, :_reduce_106, - 2, 103, :_reduce_107, - 2, 103, :_reduce_108, - 2, 128, :_reduce_109, - 2, 128, :_reduce_110, - 1, 128, :_reduce_111, - 1, 128, :_reduce_112, - 3, 130, :_reduce_113, - 3, 125, :_reduce_114, - 0, 131, :_reduce_115, - 1, 131, :_reduce_116, - 3, 131, :_reduce_117, - 3, 131, :_reduce_118, - 4, 131, :_reduce_119, - 3, 131, :_reduce_120, - 1, 104, :_reduce_121, - 2, 104, :_reduce_122, - 1, 104, :_reduce_123, - 3, 115, :_reduce_124, - 2, 129, :_reduce_125, - 2, 129, :_reduce_126, - 3, 133, :_reduce_127, - 4, 133, :_reduce_128, - 4, 132, :_reduce_129, - 6, 127, :_reduce_130, - 7, 127, :_reduce_131, - 3, 124, :_reduce_132, - 0, 134, :_reduce_133, - 1, 134, :_reduce_134, - 2, 134, :_reduce_135, - 3, 134, :_reduce_136, - 3, 134, :_reduce_137, - 4, 134, :_reduce_138, - 4, 134, :_reduce_139, - 2, 134, :_reduce_140, - 1, 135, :_reduce_141, - 3, 135, :_reduce_142, - 3, 109, :_reduce_143, - 4, 109, :_reduce_144, - 5, 109, :_reduce_145, - 3, 136, :_reduce_146, - 2, 110, :_reduce_147, - 3, 126, :_reduce_148, - 3, 112, :_reduce_149, + 0, 100, :_reduce_1, + 1, 100, :_reduce_2, + 1, 100, :_reduce_3, + 2, 100, :_reduce_4, + 1, 102, :_reduce_5, + 3, 102, :_reduce_6, + 2, 102, :_reduce_7, + 1, 104, :_reduce_none, + 1, 104, :_reduce_none, + 1, 104, :_reduce_none, + 1, 104, :_reduce_none, + 1, 104, :_reduce_none, + 1, 104, :_reduce_none, + 1, 104, :_reduce_none, + 1, 104, :_reduce_none, + 1, 104, :_reduce_none, + 1, 104, :_reduce_none, + 1, 104, :_reduce_none, + 1, 104, :_reduce_none, + 1, 104, :_reduce_none, + 1, 104, :_reduce_none, + 1, 104, :_reduce_none, + 1, 104, :_reduce_none, + 3, 103, :_reduce_24, + 2, 103, :_reduce_25, + 1, 101, :_reduce_none, + 1, 101, :_reduce_none, + 1, 121, :_reduce_28, + 1, 121, :_reduce_29, + 1, 121, :_reduce_30, + 1, 121, :_reduce_31, + 1, 121, :_reduce_32, + 1, 121, :_reduce_33, + 1, 121, :_reduce_34, + 1, 121, :_reduce_35, + 1, 121, :_reduce_36, + 1, 121, :_reduce_37, + 1, 121, :_reduce_38, + 1, 121, :_reduce_39, + 1, 121, :_reduce_40, + 3, 109, :_reduce_41, + 3, 122, :_reduce_42, + 3, 122, :_reduce_43, + 1, 122, :_reduce_44, + 2, 113, :_reduce_45, + 1, 113, :_reduce_46, + 1, 120, :_reduce_47, + 2, 108, :_reduce_48, + 2, 108, :_reduce_49, + 2, 108, :_reduce_50, + 2, 108, :_reduce_51, + 2, 108, :_reduce_52, + 2, 108, :_reduce_53, + 2, 108, :_reduce_54, + 2, 108, :_reduce_55, + 2, 108, :_reduce_56, + 2, 108, :_reduce_57, + 2, 108, :_reduce_58, + 3, 108, :_reduce_59, + 3, 108, :_reduce_60, + 3, 108, :_reduce_61, + 3, 108, :_reduce_62, + 3, 108, :_reduce_63, + 3, 108, :_reduce_64, + 3, 108, :_reduce_65, + 3, 108, :_reduce_66, + 3, 108, :_reduce_67, + 3, 108, :_reduce_68, + 3, 108, :_reduce_69, + 3, 108, :_reduce_70, + 3, 108, :_reduce_71, + 3, 108, :_reduce_72, + 3, 108, :_reduce_73, + 3, 108, :_reduce_74, + 3, 108, :_reduce_75, + 3, 108, :_reduce_76, + 3, 108, :_reduce_77, + 3, 108, :_reduce_78, + 3, 108, :_reduce_79, + 3, 108, :_reduce_80, + 3, 108, :_reduce_81, + 3, 108, :_reduce_82, + 3, 108, :_reduce_83, + 3, 108, :_reduce_84, + 3, 108, :_reduce_85, + 3, 108, :_reduce_86, + 3, 108, :_reduce_87, + 3, 108, :_reduce_88, + 3, 108, :_reduce_89, + 3, 108, :_reduce_90, + 3, 108, :_reduce_91, + 3, 108, :_reduce_92, + 2, 119, :_reduce_93, + 3, 107, :_reduce_94, + 2, 107, :_reduce_95, + 1, 124, :_reduce_96, + 1, 124, :_reduce_97, + 1, 123, :_reduce_98, + 3, 123, :_reduce_99, + 1, 125, :_reduce_none, + 4, 125, :_reduce_101, + 4, 118, :_reduce_102, + 1, 105, :_reduce_103, + 1, 105, :_reduce_104, + 1, 105, :_reduce_105, + 1, 105, :_reduce_106, + 1, 105, :_reduce_107, + 1, 105, :_reduce_108, + 2, 105, :_reduce_109, + 2, 105, :_reduce_110, + 1, 105, :_reduce_111, + 2, 130, :_reduce_112, + 2, 130, :_reduce_113, + 1, 130, :_reduce_114, + 1, 130, :_reduce_115, + 3, 132, :_reduce_116, + 3, 127, :_reduce_117, + 0, 133, :_reduce_118, + 1, 133, :_reduce_119, + 3, 133, :_reduce_120, + 3, 133, :_reduce_121, + 4, 133, :_reduce_122, + 3, 133, :_reduce_123, + 1, 106, :_reduce_124, + 2, 106, :_reduce_125, + 1, 106, :_reduce_126, + 3, 117, :_reduce_127, + 2, 131, :_reduce_128, + 2, 131, :_reduce_129, + 3, 135, :_reduce_130, + 4, 135, :_reduce_131, + 4, 134, :_reduce_132, + 6, 129, :_reduce_133, + 7, 129, :_reduce_134, + 3, 126, :_reduce_135, + 0, 136, :_reduce_136, + 1, 136, :_reduce_137, + 2, 136, :_reduce_138, + 3, 136, :_reduce_139, + 3, 136, :_reduce_140, + 4, 136, :_reduce_141, + 4, 136, :_reduce_142, + 2, 136, :_reduce_143, + 1, 137, :_reduce_144, + 3, 137, :_reduce_145, + 3, 111, :_reduce_146, + 4, 111, :_reduce_147, + 5, 111, :_reduce_148, + 3, 138, :_reduce_149, 2, 112, :_reduce_150, - 3, 112, :_reduce_151, - 4, 113, :_reduce_152, - 4, 113, :_reduce_153, - 1, 137, :_reduce_154, - 3, 137, :_reduce_155, - 2, 138, :_reduce_156, - 2, 138, :_reduce_157, - 3, 138, :_reduce_158, - 3, 138, :_reduce_159, - 5, 114, :_reduce_160, - 7, 114, :_reduce_161, - 1, 139, :_reduce_162, - 2, 139, :_reduce_163, - 3, 140, :_reduce_164, - 4, 140, :_reduce_165, - 3, 140, :_reduce_166, - 3, 141, :_reduce_167, - 2, 142, :_reduce_168, - 1, 143, :_reduce_169, - 2, 143, :_reduce_170, - 0, 144, :_reduce_171, - 2, 144, :_reduce_172, - 1, 145, :_reduce_173, - 2, 145, :_reduce_174, - 2, 108, :_reduce_175, - 3, 108, :_reduce_176, - 3, 108, :_reduce_177 ] + 3, 128, :_reduce_151, + 3, 114, :_reduce_152, + 2, 114, :_reduce_153, + 3, 114, :_reduce_154, + 4, 115, :_reduce_155, + 4, 115, :_reduce_156, + 1, 139, :_reduce_157, + 3, 139, :_reduce_158, + 2, 140, :_reduce_159, + 2, 140, :_reduce_160, + 3, 140, :_reduce_161, + 3, 140, :_reduce_162, + 5, 116, :_reduce_163, + 7, 116, :_reduce_164, + 1, 141, :_reduce_165, + 2, 141, :_reduce_166, + 3, 142, :_reduce_167, + 4, 142, :_reduce_168, + 3, 142, :_reduce_169, + 3, 143, :_reduce_170, + 2, 144, :_reduce_171, + 1, 145, :_reduce_172, + 2, 145, :_reduce_173, + 0, 146, :_reduce_174, + 2, 146, :_reduce_175, + 1, 147, :_reduce_176, + 2, 147, :_reduce_177, + 2, 110, :_reduce_178, + 3, 110, :_reduce_179, + 3, 110, :_reduce_180 ] -racc_reduce_n = 178 +racc_reduce_n = 181 -racc_shift_n = 306 +racc_shift_n = 310 racc_token_table = { false => 0, :error => 1, :IF => 2, @@ -1046,65 +1088,67 @@ :EXTENDS => 39, :ARGUMENTS => 40, :NEWLINE => 41, :COMMENT => 42, :JS => 43, - :INDENT => 44, - :OUTDENT => 45, - "?" => 46, - :UMINUS => 47, - :NOT => 48, - "!" => 49, - "!!" => 50, - "~" => 51, - "++" => 52, - "--" => 53, - "*" => 54, - "/" => 55, - "%" => 56, - "+" => 57, - "-" => 58, - "<<" => 59, - ">>" => 60, - ">>>" => 61, - "&" => 62, - "|" => 63, - "^" => 64, - "<=" => 65, - "<" => 66, - ">" => 67, - ">=" => 68, - "==" => 69, - "!=" => 70, - :IS => 71, - :ISNT => 72, - "&&" => 73, - "||" => 74, - :AND => 75, - :OR => 76, - "-=" => 77, - "+=" => 78, - "/=" => 79, - "*=" => 80, - "%=" => 81, - "." => 82, - :ASSIGN => 83, - "||=" => 84, - "&&=" => 85, - "=>" => 86, - "==>" => 87, - "\n" => 88, - ";" => 89, - "," => 90, - "[" => 91, - "]" => 92, - "{" => 93, - "}" => 94, - "(" => 95, - ")" => 96 } + :THIS => 44, + :INDENT => 45, + :OUTDENT => 46, + "?" => 47, + :UMINUS => 48, + :NOT => 49, + "!" => 50, + "!!" => 51, + "~" => 52, + "++" => 53, + "--" => 54, + "*" => 55, + "/" => 56, + "%" => 57, + "+" => 58, + "-" => 59, + "<<" => 60, + ">>" => 61, + ">>>" => 62, + "&" => 63, + "|" => 64, + "^" => 65, + "<=" => 66, + "<" => 67, + ">" => 68, + ">=" => 69, + "==" => 70, + "!=" => 71, + :IS => 72, + :ISNT => 73, + "&&" => 74, + "||" => 75, + :AND => 76, + :OR => 77, + "-=" => 78, + "+=" => 79, + "/=" => 80, + "*=" => 81, + "%=" => 82, + "." => 83, + :ASSIGN => 84, + "||=" => 85, + "&&=" => 86, + "?=" => 87, + "=>" => 88, + "==>" => 89, + "\n" => 90, + ";" => 91, + "," => 92, + "[" => 93, + "]" => 94, + "{" => 95, + "}" => 96, + "(" => 97, + ")" => 98 } -racc_nt_base = 97 +racc_nt_base = 99 racc_use_result_var = true Racc_arg = [ racc_action_table, @@ -1165,10 +1209,11 @@ "EXTENDS", "ARGUMENTS", "NEWLINE", "COMMENT", "JS", + "THIS", "INDENT", "OUTDENT", "\"?\"", "UMINUS", "NOT", @@ -1207,10 +1252,11 @@ "\"%=\"", "\".\"", "ASSIGN", "\"||=\"", "\"&&=\"", + "\"?=\"", "\"=>\"", "\"==>\"", "\"\\n\"", "\";\"", "\",\"", @@ -1274,53 +1320,53 @@ ##### State transition tables end ##### # reduce 0 omitted -module_eval(<<'.,.,', 'grammar.y', 48) +module_eval(<<'.,.,', 'grammar.y', 49) def _reduce_1(val, _values, result) result = Expressions.new result end .,., -module_eval(<<'.,.,', 'grammar.y', 49) +module_eval(<<'.,.,', 'grammar.y', 50) def _reduce_2(val, _values, result) result = Expressions.new result end .,., -module_eval(<<'.,.,', 'grammar.y', 50) +module_eval(<<'.,.,', 'grammar.y', 51) def _reduce_3(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 51) +module_eval(<<'.,.,', 'grammar.y', 52) def _reduce_4(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 56) +module_eval(<<'.,.,', 'grammar.y', 57) def _reduce_5(val, _values, result) result = Expressions.wrap(val) result end .,., -module_eval(<<'.,.,', 'grammar.y', 57) +module_eval(<<'.,.,', 'grammar.y', 58) def _reduce_6(val, _values, result) result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 58) +module_eval(<<'.,.,', 'grammar.y', 59) def _reduce_7(val, _values, result) result = val[0] result end .,., @@ -1355,400 +1401,400 @@ # reduce 22 omitted # reduce 23 omitted -module_eval(<<'.,.,', 'grammar.y', 85) +module_eval(<<'.,.,', 'grammar.y', 86) def _reduce_24(val, _values, result) result = val[1] result end .,., -module_eval(<<'.,.,', 'grammar.y', 86) +module_eval(<<'.,.,', 'grammar.y', 87) def _reduce_25(val, _values, result) result = Expressions.new result end .,., # reduce 26 omitted # reduce 27 omitted -module_eval(<<'.,.,', 'grammar.y', 97) +module_eval(<<'.,.,', 'grammar.y', 98) def _reduce_28(val, _values, result) result = LiteralNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 98) +module_eval(<<'.,.,', 'grammar.y', 99) def _reduce_29(val, _values, result) result = LiteralNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 99) +module_eval(<<'.,.,', 'grammar.y', 100) def _reduce_30(val, _values, result) result = LiteralNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 100) +module_eval(<<'.,.,', 'grammar.y', 101) def _reduce_31(val, _values, result) result = LiteralNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 101) +module_eval(<<'.,.,', 'grammar.y', 102) def _reduce_32(val, _values, result) result = LiteralNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 102) +module_eval(<<'.,.,', 'grammar.y', 103) def _reduce_33(val, _values, result) result = LiteralNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 103) +module_eval(<<'.,.,', 'grammar.y', 104) def _reduce_34(val, _values, result) result = LiteralNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 104) +module_eval(<<'.,.,', 'grammar.y', 105) def _reduce_35(val, _values, result) - result = LiteralNode.new(true) + result = LiteralNode.new(Value.new(true)) result end .,., -module_eval(<<'.,.,', 'grammar.y', 105) +module_eval(<<'.,.,', 'grammar.y', 106) def _reduce_36(val, _values, result) - result = LiteralNode.new(false) + result = LiteralNode.new(Value.new(false)) result end .,., -module_eval(<<'.,.,', 'grammar.y', 106) +module_eval(<<'.,.,', 'grammar.y', 107) def _reduce_37(val, _values, result) - result = LiteralNode.new(true) + result = LiteralNode.new(Value.new(true)) result end .,., -module_eval(<<'.,.,', 'grammar.y', 107) +module_eval(<<'.,.,', 'grammar.y', 108) def _reduce_38(val, _values, result) - result = LiteralNode.new(false) + result = LiteralNode.new(Value.new(false)) result end .,., -module_eval(<<'.,.,', 'grammar.y', 108) +module_eval(<<'.,.,', 'grammar.y', 109) def _reduce_39(val, _values, result) - result = LiteralNode.new(true) + result = LiteralNode.new(Value.new(true)) result end .,., -module_eval(<<'.,.,', 'grammar.y', 109) +module_eval(<<'.,.,', 'grammar.y', 110) def _reduce_40(val, _values, result) - result = LiteralNode.new(false) + result = LiteralNode.new(Value.new(false)) result end .,., -module_eval(<<'.,.,', 'grammar.y', 114) +module_eval(<<'.,.,', 'grammar.y', 115) def _reduce_41(val, _values, result) result = AssignNode.new(val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 119) +module_eval(<<'.,.,', 'grammar.y', 120) def _reduce_42(val, _values, result) result = AssignNode.new(ValueNode.new(val[0]), val[2], :object) result end .,., -module_eval(<<'.,.,', 'grammar.y', 120) +module_eval(<<'.,.,', 'grammar.y', 121) def _reduce_43(val, _values, result) result = AssignNode.new(ValueNode.new(LiteralNode.new(val[0])), val[2], :object) result end .,., -module_eval(<<'.,.,', 'grammar.y', 121) +module_eval(<<'.,.,', 'grammar.y', 122) def _reduce_44(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 126) +module_eval(<<'.,.,', 'grammar.y', 127) def _reduce_45(val, _values, result) result = ReturnNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 127) +module_eval(<<'.,.,', 'grammar.y', 128) def _reduce_46(val, _values, result) result = ReturnNode.new(ValueNode.new(Value.new('null'))) result end .,., -module_eval(<<'.,.,', 'grammar.y', 132) +module_eval(<<'.,.,', 'grammar.y', 133) def _reduce_47(val, _values, result) result = CommentNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 139) +module_eval(<<'.,.,', 'grammar.y', 140) def _reduce_48(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 140) +module_eval(<<'.,.,', 'grammar.y', 141) def _reduce_49(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 141) +module_eval(<<'.,.,', 'grammar.y', 142) def _reduce_50(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 142) +module_eval(<<'.,.,', 'grammar.y', 143) def _reduce_51(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 143) +module_eval(<<'.,.,', 'grammar.y', 144) def _reduce_52(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 144) +module_eval(<<'.,.,', 'grammar.y', 145) def _reduce_53(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 145) +module_eval(<<'.,.,', 'grammar.y', 146) def _reduce_54(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 146) +module_eval(<<'.,.,', 'grammar.y', 147) def _reduce_55(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 147) +module_eval(<<'.,.,', 'grammar.y', 148) def _reduce_56(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 148) +module_eval(<<'.,.,', 'grammar.y', 149) def _reduce_57(val, _values, result) result = OpNode.new(val[1], val[0], nil, true) result end .,., -module_eval(<<'.,.,', 'grammar.y', 149) +module_eval(<<'.,.,', 'grammar.y', 150) def _reduce_58(val, _values, result) result = OpNode.new(val[1], val[0], nil, true) result end .,., -module_eval(<<'.,.,', 'grammar.y', 151) +module_eval(<<'.,.,', 'grammar.y', 152) def _reduce_59(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 152) +module_eval(<<'.,.,', 'grammar.y', 153) def _reduce_60(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 153) +module_eval(<<'.,.,', 'grammar.y', 154) def _reduce_61(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 155) +module_eval(<<'.,.,', 'grammar.y', 156) def _reduce_62(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 156) +module_eval(<<'.,.,', 'grammar.y', 157) def _reduce_63(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 158) +module_eval(<<'.,.,', 'grammar.y', 159) def _reduce_64(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 159) +module_eval(<<'.,.,', 'grammar.y', 160) def _reduce_65(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 160) +module_eval(<<'.,.,', 'grammar.y', 161) def _reduce_66(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 162) +module_eval(<<'.,.,', 'grammar.y', 163) def _reduce_67(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 163) +module_eval(<<'.,.,', 'grammar.y', 164) def _reduce_68(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 164) +module_eval(<<'.,.,', 'grammar.y', 165) def _reduce_69(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 166) +module_eval(<<'.,.,', 'grammar.y', 167) def _reduce_70(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 167) +module_eval(<<'.,.,', 'grammar.y', 168) def _reduce_71(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 168) +module_eval(<<'.,.,', 'grammar.y', 169) def _reduce_72(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 169) +module_eval(<<'.,.,', 'grammar.y', 170) def _reduce_73(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 171) +module_eval(<<'.,.,', 'grammar.y', 172) def _reduce_74(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 172) +module_eval(<<'.,.,', 'grammar.y', 173) def _reduce_75(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 173) +module_eval(<<'.,.,', 'grammar.y', 174) def _reduce_76(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 174) +module_eval(<<'.,.,', 'grammar.y', 175) def _reduce_77(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 176) +module_eval(<<'.,.,', 'grammar.y', 177) def _reduce_78(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 177) +module_eval(<<'.,.,', 'grammar.y', 178) def _reduce_79(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 178) +module_eval(<<'.,.,', 'grammar.y', 179) def _reduce_80(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 179) +module_eval(<<'.,.,', 'grammar.y', 180) def _reduce_81(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., @@ -1758,46 +1804,46 @@ result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 182) +module_eval(<<'.,.,', 'grammar.y', 183) def _reduce_83(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 183) +module_eval(<<'.,.,', 'grammar.y', 184) def _reduce_84(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 184) +module_eval(<<'.,.,', 'grammar.y', 185) def _reduce_85(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 185) +module_eval(<<'.,.,', 'grammar.y', 186) def _reduce_86(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 186) +module_eval(<<'.,.,', 'grammar.y', 187) def _reduce_87(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 187) +module_eval(<<'.,.,', 'grammar.y', 188) def _reduce_88(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., @@ -1814,608 +1860,629 @@ result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 195) +module_eval(<<'.,.,', 'grammar.y', 192) def _reduce_91(val, _values, result) - result = ExistenceNode.new(val[0]) + result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 200) +module_eval(<<'.,.,', 'grammar.y', 193) def _reduce_92(val, _values, result) - result = CodeNode.new(val[0], val[2], val[1]) + result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 201) +module_eval(<<'.,.,', 'grammar.y', 198) def _reduce_93(val, _values, result) - result = CodeNode.new([], val[1], val[0]) + result = ExistenceNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 206) +module_eval(<<'.,.,', 'grammar.y', 203) def _reduce_94(val, _values, result) - result = :func + result = CodeNode.new(val[0], val[2], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 207) +module_eval(<<'.,.,', 'grammar.y', 204) def _reduce_95(val, _values, result) - result = :boundfunc + result = CodeNode.new([], val[1], val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 212) +module_eval(<<'.,.,', 'grammar.y', 209) def _reduce_96(val, _values, result) - result = val + result = :func result end .,., -module_eval(<<'.,.,', 'grammar.y', 213) +module_eval(<<'.,.,', 'grammar.y', 210) def _reduce_97(val, _values, result) - result = val[0] << val[2] + result = :boundfunc result end .,., -# reduce 98 omitted - -module_eval(<<'.,.,', 'grammar.y', 219) - def _reduce_99(val, _values, result) - result = SplatNode.new(val[0]) +module_eval(<<'.,.,', 'grammar.y', 215) + def _reduce_98(val, _values, result) + result = val result end .,., -module_eval(<<'.,.,', 'grammar.y', 224) - def _reduce_100(val, _values, result) - result = SplatNode.new(val[0]) +module_eval(<<'.,.,', 'grammar.y', 216) + def _reduce_99(val, _values, result) + result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 229) +# reduce 100 omitted + +module_eval(<<'.,.,', 'grammar.y', 222) def _reduce_101(val, _values, result) - result = ValueNode.new(val[0]) + result = SplatNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 230) +module_eval(<<'.,.,', 'grammar.y', 227) def _reduce_102(val, _values, result) - result = ValueNode.new(val[0]) + result = SplatNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 231) +module_eval(<<'.,.,', 'grammar.y', 232) def _reduce_103(val, _values, result) result = ValueNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 232) +module_eval(<<'.,.,', 'grammar.y', 233) def _reduce_104(val, _values, result) result = ValueNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 233) +module_eval(<<'.,.,', 'grammar.y', 234) def _reduce_105(val, _values, result) result = ValueNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 234) +module_eval(<<'.,.,', 'grammar.y', 235) def _reduce_106(val, _values, result) result = ValueNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 235) +module_eval(<<'.,.,', 'grammar.y', 236) def _reduce_107(val, _values, result) - result = val[0] << val[1] + result = ValueNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 236) +module_eval(<<'.,.,', 'grammar.y', 237) def _reduce_108(val, _values, result) - result = ValueNode.new(val[0], [val[1]]) + result = ValueNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 241) +module_eval(<<'.,.,', 'grammar.y', 238) def _reduce_109(val, _values, result) - result = AccessorNode.new(val[1]) + result = val[0] << val[1] result end .,., -module_eval(<<'.,.,', 'grammar.y', 242) +module_eval(<<'.,.,', 'grammar.y', 239) def _reduce_110(val, _values, result) - result = AccessorNode.new(val[1], true) + result = ValueNode.new(val[0], [val[1]]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 243) +module_eval(<<'.,.,', 'grammar.y', 240) def _reduce_111(val, _values, result) - result = val[0] + result = ValueNode.new(ThisNode.new) result end .,., -module_eval(<<'.,.,', 'grammar.y', 244) +module_eval(<<'.,.,', 'grammar.y', 245) def _reduce_112(val, _values, result) - result = SliceNode.new(val[0]) + result = AccessorNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 249) +module_eval(<<'.,.,', 'grammar.y', 246) def _reduce_113(val, _values, result) - result = IndexNode.new(val[1]) + result = AccessorNode.new(val[1], true) result end .,., -module_eval(<<'.,.,', 'grammar.y', 254) +module_eval(<<'.,.,', 'grammar.y', 247) def _reduce_114(val, _values, result) - result = ObjectNode.new(val[1]) + result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 259) +module_eval(<<'.,.,', 'grammar.y', 248) def _reduce_115(val, _values, result) - result = [] + result = SliceNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 260) +module_eval(<<'.,.,', 'grammar.y', 253) def _reduce_116(val, _values, result) - result = val + result = IndexNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 261) +module_eval(<<'.,.,', 'grammar.y', 258) def _reduce_117(val, _values, result) - result = val[0] << val[2] + result = ObjectNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 262) +module_eval(<<'.,.,', 'grammar.y', 263) def _reduce_118(val, _values, result) - result = val[0] << val[2] + result = [] result end .,., module_eval(<<'.,.,', 'grammar.y', 264) def _reduce_119(val, _values, result) - result = val[0] << val[3] + result = val result end .,., module_eval(<<'.,.,', 'grammar.y', 265) def _reduce_120(val, _values, result) - result = val[1] + result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 270) +module_eval(<<'.,.,', 'grammar.y', 266) def _reduce_121(val, _values, result) - result = val[0] + result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 271) +module_eval(<<'.,.,', 'grammar.y', 268) def _reduce_122(val, _values, result) - result = val[1].new_instance + result = val[0] << val[3] result end .,., -module_eval(<<'.,.,', 'grammar.y', 272) +module_eval(<<'.,.,', 'grammar.y', 269) def _reduce_123(val, _values, result) - result = val[0] + result = val[1] result end .,., -module_eval(<<'.,.,', 'grammar.y', 277) +module_eval(<<'.,.,', 'grammar.y', 274) def _reduce_124(val, _values, result) - result = ExtendsNode.new(val[0], val[2]) + result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 282) +module_eval(<<'.,.,', 'grammar.y', 275) def _reduce_125(val, _values, result) - result = CallNode.new(val[0], val[1]) + result = val[1].new_instance result end .,., -module_eval(<<'.,.,', 'grammar.y', 283) +module_eval(<<'.,.,', 'grammar.y', 276) def _reduce_126(val, _values, result) - result = CallNode.new(val[0], val[1]) + result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 288) +module_eval(<<'.,.,', 'grammar.y', 281) def _reduce_127(val, _values, result) - result = val[1] + result = ExtendsNode.new(val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 289) +module_eval(<<'.,.,', 'grammar.y', 286) def _reduce_128(val, _values, result) - result = val[1] << val[3] + result = CallNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 294) +module_eval(<<'.,.,', 'grammar.y', 287) def _reduce_129(val, _values, result) - result = CallNode.new(:super, val[2]) + result = CallNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 300) +module_eval(<<'.,.,', 'grammar.y', 292) def _reduce_130(val, _values, result) - result = RangeNode.new(val[1], val[4]) + result = val[1] result end .,., -module_eval(<<'.,.,', 'grammar.y', 302) +module_eval(<<'.,.,', 'grammar.y', 293) def _reduce_131(val, _values, result) - result = RangeNode.new(val[1], val[5], true) + result = val[1] << val[3] result end .,., -module_eval(<<'.,.,', 'grammar.y', 307) +module_eval(<<'.,.,', 'grammar.y', 298) def _reduce_132(val, _values, result) - result = ArrayNode.new(val[1]) + result = CallNode.new(Value.new('super'), val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 312) +module_eval(<<'.,.,', 'grammar.y', 304) def _reduce_133(val, _values, result) - result = [] + result = RangeNode.new(val[1], val[4]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 313) +module_eval(<<'.,.,', 'grammar.y', 306) def _reduce_134(val, _values, result) - result = val + result = RangeNode.new(val[1], val[5], true) result end .,., -module_eval(<<'.,.,', 'grammar.y', 314) +module_eval(<<'.,.,', 'grammar.y', 311) def _reduce_135(val, _values, result) - result = [val[1]] + result = ArrayNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 315) +module_eval(<<'.,.,', 'grammar.y', 316) def _reduce_136(val, _values, result) - result = val[0] << val[2] + result = [] result end .,., -module_eval(<<'.,.,', 'grammar.y', 316) +module_eval(<<'.,.,', 'grammar.y', 317) def _reduce_137(val, _values, result) - result = val[0] << val[2] + result = val result end .,., -module_eval(<<'.,.,', 'grammar.y', 317) +module_eval(<<'.,.,', 'grammar.y', 318) def _reduce_138(val, _values, result) - result = val[0] << val[3] + result = [val[1]] result end .,., -module_eval(<<'.,.,', 'grammar.y', 318) +module_eval(<<'.,.,', 'grammar.y', 319) def _reduce_139(val, _values, result) - result = val[0] << val[3] + result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 319) +module_eval(<<'.,.,', 'grammar.y', 320) def _reduce_140(val, _values, result) - result = val[0] + result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 324) +module_eval(<<'.,.,', 'grammar.y', 321) def _reduce_141(val, _values, result) - result = val[0] + result = val[0] << val[3] result end .,., -module_eval(<<'.,.,', 'grammar.y', 325) +module_eval(<<'.,.,', 'grammar.y', 322) def _reduce_142(val, _values, result) - result = ([val[0]] << val[2]).flatten + result = val[0] << val[3] result end .,., -module_eval(<<'.,.,', 'grammar.y', 330) +module_eval(<<'.,.,', 'grammar.y', 323) def _reduce_143(val, _values, result) - result = TryNode.new(val[1], val[2][0], val[2][1]) + result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 331) +module_eval(<<'.,.,', 'grammar.y', 328) def _reduce_144(val, _values, result) - result = TryNode.new(val[1], nil, nil, val[3]) + result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 333) +module_eval(<<'.,.,', 'grammar.y', 329) def _reduce_145(val, _values, result) - result = TryNode.new(val[1], val[2][0], val[2][1], val[4]) + result = ([val[0]] << val[2]).flatten result end .,., -module_eval(<<'.,.,', 'grammar.y', 338) +module_eval(<<'.,.,', 'grammar.y', 334) def _reduce_146(val, _values, result) - result = [val[1], val[2]] + result = TryNode.new(val[1], val[2][0], val[2][1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 343) +module_eval(<<'.,.,', 'grammar.y', 335) def _reduce_147(val, _values, result) - result = ThrowNode.new(val[1]) + result = TryNode.new(val[1], nil, nil, val[3]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 348) +module_eval(<<'.,.,', 'grammar.y', 337) def _reduce_148(val, _values, result) - result = ParentheticalNode.new(val[1], val[0].line) + result = TryNode.new(val[1], val[2][0], val[2][1], val[4]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 353) +module_eval(<<'.,.,', 'grammar.y', 342) def _reduce_149(val, _values, result) - result = WhileNode.new(val[1], val[2]) + result = [val[1], val[2]] result end .,., -module_eval(<<'.,.,', 'grammar.y', 354) +module_eval(<<'.,.,', 'grammar.y', 347) def _reduce_150(val, _values, result) - result = WhileNode.new(val[1], nil) + result = ThrowNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 355) +module_eval(<<'.,.,', 'grammar.y', 352) def _reduce_151(val, _values, result) - result = WhileNode.new(val[2], Expressions.wrap(val[0])) + result = ParentheticalNode.new(val[1], val[0].line) result end .,., -module_eval(<<'.,.,', 'grammar.y', 362) +module_eval(<<'.,.,', 'grammar.y', 357) def _reduce_152(val, _values, result) - result = ForNode.new(val[0], val[3], val[2][0], val[2][1]) + result = WhileNode.new(val[1], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 363) +module_eval(<<'.,.,', 'grammar.y', 358) def _reduce_153(val, _values, result) - result = ForNode.new(val[3], val[2], val[1][0], val[1][1]) + result = WhileNode.new(val[1], nil) result end .,., -module_eval(<<'.,.,', 'grammar.y', 368) +module_eval(<<'.,.,', 'grammar.y', 359) def _reduce_154(val, _values, result) - result = val + result = WhileNode.new(val[2], Expressions.wrap(val[0])) result end .,., -module_eval(<<'.,.,', 'grammar.y', 369) +module_eval(<<'.,.,', 'grammar.y', 366) def _reduce_155(val, _values, result) - result = [val[0], val[2]] + result = ForNode.new(val[0], val[3], val[2][0], val[2][1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 374) +module_eval(<<'.,.,', 'grammar.y', 367) def _reduce_156(val, _values, result) - result = {:source => val[1]} + result = ForNode.new(val[3], val[2], val[1][0], val[1][1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 375) +module_eval(<<'.,.,', 'grammar.y', 372) def _reduce_157(val, _values, result) - result = {:source => val[1], :object => true} + result = val result end .,., -module_eval(<<'.,.,', 'grammar.y', 377) +module_eval(<<'.,.,', 'grammar.y', 373) def _reduce_158(val, _values, result) - result = val[0].merge(:filter => val[2]) + result = [val[0], val[2]] result end .,., -module_eval(<<'.,.,', 'grammar.y', 379) +module_eval(<<'.,.,', 'grammar.y', 378) def _reduce_159(val, _values, result) - result = val[0].merge(:step => val[2]) + result = {:source => val[1]} result end .,., -module_eval(<<'.,.,', 'grammar.y', 385) +module_eval(<<'.,.,', 'grammar.y', 379) def _reduce_160(val, _values, result) - result = val[3].rewrite_condition(val[1]) + result = {:source => val[1], :object => true} result end .,., -module_eval(<<'.,.,', 'grammar.y', 387) +module_eval(<<'.,.,', 'grammar.y', 381) def _reduce_161(val, _values, result) - result = val[3].rewrite_condition(val[1]).add_else(val[5]) + result = val[0].merge(:filter => val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 392) +module_eval(<<'.,.,', 'grammar.y', 383) def _reduce_162(val, _values, result) - result = val[0] + result = val[0].merge(:step => val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 393) +module_eval(<<'.,.,', 'grammar.y', 389) def _reduce_163(val, _values, result) - result = val[0] << val[1] + result = val[3].rewrite_condition(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 398) +module_eval(<<'.,.,', 'grammar.y', 391) def _reduce_164(val, _values, result) - result = IfNode.new(val[1], val[2], nil, {:statement => true}) + result = val[3].rewrite_condition(val[1]).add_else(val[5]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 400) +module_eval(<<'.,.,', 'grammar.y', 396) def _reduce_165(val, _values, result) - result = IfNode.new(val[1], val[2], nil, {:statement => true}) + result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 401) +module_eval(<<'.,.,', 'grammar.y', 397) def _reduce_166(val, _values, result) - result = val[2].add_comment(val[0]) + result = val[0] << val[1] result end .,., -module_eval(<<'.,.,', 'grammar.y', 406) +module_eval(<<'.,.,', 'grammar.y', 402) def _reduce_167(val, _values, result) - result = IfNode.new(val[1], val[2]) + result = IfNode.new(val[1], val[2], nil, {:statement => true}) result end .,., -module_eval(<<'.,.,', 'grammar.y', 411) +module_eval(<<'.,.,', 'grammar.y', 404) def _reduce_168(val, _values, result) - result = val[1].force_statement + result = IfNode.new(val[1], val[2], nil, {:statement => true}) result end .,., -module_eval(<<'.,.,', 'grammar.y', 416) +module_eval(<<'.,.,', 'grammar.y', 405) def _reduce_169(val, _values, result) - result = val[0] + result = val[2].add_comment(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 417) +module_eval(<<'.,.,', 'grammar.y', 410) def _reduce_170(val, _values, result) - result = val[0].add_else(val[1]) + result = IfNode.new(val[1], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 422) +module_eval(<<'.,.,', 'grammar.y', 415) def _reduce_171(val, _values, result) - result = nil + result = val[1].force_statement result end .,., -module_eval(<<'.,.,', 'grammar.y', 423) +module_eval(<<'.,.,', 'grammar.y', 420) def _reduce_172(val, _values, result) - result = val[1] + result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 428) +module_eval(<<'.,.,', 'grammar.y', 421) def _reduce_173(val, _values, result) - result = val[0] + result = val[0].add_else(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 429) +module_eval(<<'.,.,', 'grammar.y', 426) def _reduce_174(val, _values, result) - result = val[0].add_else(val[1]) + result = nil result end .,., -module_eval(<<'.,.,', 'grammar.y', 434) +module_eval(<<'.,.,', 'grammar.y', 427) def _reduce_175(val, _values, result) - result = val[0].add_else(val[1]) + result = val[1] result end .,., -module_eval(<<'.,.,', 'grammar.y', 435) +module_eval(<<'.,.,', 'grammar.y', 432) def _reduce_176(val, _values, result) - result = IfNode.new(val[2], Expressions.wrap(val[0]), nil, {:statement => true}) + result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 436) +module_eval(<<'.,.,', 'grammar.y', 433) def _reduce_177(val, _values, result) + result = val[0].add_else(val[1]) + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 438) + def _reduce_178(val, _values, result) + result = val[0].add_else(val[1]) + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 439) + def _reduce_179(val, _values, result) + result = IfNode.new(val[2], Expressions.wrap(val[0]), nil, {:statement => true}) + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 440) + def _reduce_180(val, _values, result) result = IfNode.new(val[2], Expressions.wrap(val[0]), nil, {:statement => true, :invert => true}) result end .,.,