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

- old
+ new

@@ -8,11 +8,11 @@ module CoffeeScript class Parser < Racc::Parser -module_eval(<<'...end grammar.y/module_eval...', 'grammar.y', 434) +module_eval(<<'...end grammar.y/module_eval...', 'grammar.y', 446) # 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,947 +32,978 @@ ...end grammar.y/module_eval... ##### State transition tables begin ### clist = [ -'97,7,106,19,23,27,32,35,38,47,50,56,60,160,255,256,70,90,82,260,89,159', -'260,24,28,110,114,14,26,98,14,227,228,98,102,-173,-173,245,10,123,126', -'18,247,26,98,227,228,171,172,14,123,126,129,93,96,101,105,109,113,116', -'119,122,125,128,92,95,100,104,108,112,115,118,121,124,127,91,94,99,103', -'107,111,160,117,120,39,134,135,166,61,159,65,7,69,244,19,23,27,32,35', -'38,47,50,56,60,26,134,135,70,1,4,8,234,160,20,24,28,31,14,43,51,159', -'52,57,26,66,249,71,2,234,10,275,14,18,251,218,134,135,41,45,49,54,59', -'62,43,51,98,259,6,14,26,158,-173,-173,43,51,235,43,51,43,51,132,246', -'43,51,137,134,135,134,135,264,43,51,235,134,135,39,43,51,253,61,132', -'65,7,69,137,19,23,27,32,35,38,47,50,56,60,283,98,138,70,1,4,8,-173,-173', -'20,24,28,31,255,256,132,234,52,57,137,66,269,71,2,229,10,80,14,18,239', -'143,260,160,41,45,49,54,59,62,14,159,174,282,6,160,132,139,132,98,137', -'221,137,159,132,123,126,220,137,43,51,235,82,236,43,51,241,98,70,14', -'26,158,39,-173,-173,240,61,26,65,7,69,14,19,23,27,32,35,38,47,50,56', -'60,75,98,26,70,1,4,8,-173,-173,20,24,28,31,43,51,241,143,52,57,242,66', -'26,71,2,98,10,297,14,18,201,-173,-173,,41,45,49,54,59,62,98,,,,6,,123', -'126,129,93,96,101,105,109,113,116,119,122,125,128,92,95,100,104,108', -'112,115,98,,,,,39,123,126,,61,,65,7,69,,19,23,27,32,35,38,47,50,56,60', -',98,,70,1,4,8,-173,-173,20,24,28,31,,,,,52,57,,66,,71,2,,10,,14,18,', -',,,41,45,49,54,59,62,98,,,,6,,123,126,129,93,96,101,105,109,113,116', -'119,122,125,128,92,95,100,104,108,112,115,,,,,,39,,,,61,,65,7,69,,19', -'23,27,32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,', -'71,2,,10,,14,18,,,,,41,45,49,54,59,62,98,,,,6,,123,126,129,93,96,101', -'105,109,113,116,119,122,125,128,92,95,100,104,108,112,115,,,,,,39,,', -',61,,65,7,69,,19,23,27,32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28,31', -',,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49,54,59,62,98,,,,6,,123,126', -'129,93,96,101,105,109,113,116,119,122,125,128,92,95,100,104,108,112', -'115,,,,,,39,,,,61,,65,7,69,,19,23,27,32,35,38,47,50,56,60,,,,70,1,4', -'8,,,20,24,28,31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49,54,59,62', -'98,,,,6,,123,126,129,93,96,101,105,109,113,116,119,122,125,128,92,95', -'100,104,108,112,115,,,,,,39,,,,61,,65,7,69,,19,23,27,32,35,38,47,50', -'56,60,,,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41', -'45,49,54,59,62,98,,,,6,,123,126,129,93,96,101,105,109,113,116,119,122', -'125,128,92,95,100,104,108,112,115,,,,,,39,,,,61,,65,7,69,,19,23,27,32', -'35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,,10', -',14,18,,,,,41,45,49,54,59,62,98,,,,6,,123,126,129,93,96,101,105,109', -'113,116,119,122,125,128,92,95,100,104,108,112,115,,287,,,,39,,,,61,', -'65,7,69,,19,23,27,32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28,31,,,', -',52,57,,66,,71,2,,10,,14,18,,,,,41,45,49,54,59,62,98,,,,6,,123,126,129', -'93,96,101,105,109,113,116,119,122,125,128,92,95,100,104,108,112,115', -',,,,,39,,,,61,,65,7,69,,19,23,27,32,35,38,47,50,56,60,,,,70,1,4,8,,', -'20,24,28,31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49,54,59,62,98', -',,,6,,123,126,129,93,96,101,105,109,113,116,119,122,125,98,,,,,,123', -'126,129,93,96,101,105,39,,,,61,,65,7,69,,19,23,27,32,35,38,47,50,56', -'60,,,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45', -'49,54,59,62,98,,,,6,,123,126,129,93,96,101,105,109,113,116,119,122,125', -'98,,,,,,123,126,129,93,96,101,105,39,,,,61,,65,7,69,,19,23,27,32,35', -'38,47,50,56,60,,,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,,10,,14', -'18,,,,,41,45,49,54,59,62,98,,,,6,,123,126,129,93,96,101,105,109,113', -'116,119,122,125,98,,,,,,123,126,129,93,96,101,105,39,,,,61,,65,7,69', -',19,23,27,32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28,31,,,,,52,57,', -'66,,71,2,,10,,14,18,,131,,,41,45,49,54,59,62,98,,,,6,,123,126,129,93', -'96,101,105,109,113,116,119,122,125,98,,,,,,123,126,129,93,96,,,39,,', -',61,,65,7,69,,19,23,27,32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28,31', -',,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49,54,59,62,98,,,,6,,123,126', -'129,93,96,101,105,109,113,116,98,,,,,,123,126,129,93,96,101,105,109', -'113,116,39,,,,61,,65,7,69,,19,23,27,32,35,38,47,50,56,60,,,,70,1,4,8', -',,20,24,28,31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49,54,59,62,98', -',,,6,,123,126,129,93,96,101,105,109,113,116,98,,,,,,123,126,129,93,96', -',,,,,39,,,,61,,65,7,69,,19,23,27,32,35,38,47,50,56,60,,,,70,1,4,8,,', -'20,24,28,31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49,54,59,62,,,', -',6,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,,,,61,,65,7,69,,19,23,27,32,35,38,47', -'50,56,60,,,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,,10,,14,18,,', -',,41,45,49,54,59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,,,,61,,65,7', -'69,,19,23,27,32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28,31,,,,,52,57', -',66,,71,2,,10,,14,18,,,,,41,45,49,54,59,62,,,,,6,,,,,,,,,,,,,,,,,,,', -',,,,,,,,39,,,,61,,65,7,69,,19,23,27,32,35,38,47,50,56,60,,,,70,1,4,8', -',,20,24,28,31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49,54,59,62,', -',,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,,,,61,,65,7,69,,19,23,27,32,35,38', -'47,50,56,60,,,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,,10,,14,18', -',,,,41,45,49,54,59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,,,,61,,65', -'7,69,,19,23,27,32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28,31,,,,,52', -'57,,66,,71,2,,10,,14,18,,,,,41,45,49,54,59,62,,,,,6,,,,,,,,,,,,,,,,', -',,,,,,,,,,,39,,,,61,,65,7,69,,19,23,27,32,35,38,47,50,56,60,,,,70,1', -'4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,,10,,14,18,267,,,,41,45,49,54', -'59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,43,51,,61,,65,7,69,,19,23', -'27,32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71', -'2,,10,,14,18,,,,,41,45,49,54,59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,', -'39,,,,61,,65,7,69,,19,23,27,32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24', -'28,31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49,54,59,62,,,,,6,,,', -',,,,,,,,,,,,,,,,,,,,,,,,39,,,,61,,65,7,69,,19,23,27,32,35,38,47,50,56', -'60,,,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,,10,,14,18,155,,,,41', -'45,49,54,59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,,,,61,,65,7,69,,19', -'23,27,32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,', -'71,2,,10,,14,18,,,,,41,45,49,54,59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,', -',,,39,,,,61,,65,7,69,,19,23,27,32,35,38,47,50,56,60,,,,70,1,4,8,,,20', -'24,28,31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49,54,59,62,,,,,6', -',,,,,,,,,,,,,,,,,,,,,,,,,,,39,,,,61,,65,7,69,,19,23,27,32,35,38,47,50', -'56,60,,,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41', -'45,49,54,59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,,,,61,,65,7,69,,19', -'23,27,32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,', -'71,2,,10,,14,18,,,,,41,45,49,54,59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,', -',,,39,,,,61,,65,7,69,,19,23,27,32,35,38,47,50,56,60,,,,70,1,4,8,,,20', -'24,28,31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49,54,59,62,,,,,6', -',,,,,,,,,,,,,,,,,,,,,,,,,,,39,,,,61,,65,7,69,,19,23,27,32,35,38,47,50', -'56,60,,,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41', -'45,49,54,59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,,,,61,,65,7,69,,19', -'23,27,32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,', -'71,2,,10,,14,18,,,,,41,45,49,54,59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,', -',,,39,,,,61,,65,7,69,,19,23,27,32,35,38,47,50,56,60,,,,70,1,4,8,,,20', -'24,28,31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49,54,59,62,,,,,6', -',,,,,,,,,,,,,,,,,,,,,,,,,,,39,,,,61,,65,7,69,,19,23,27,32,35,38,47,50', -'56,60,,,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,,10,,14,18,155,', -',,41,45,49,54,59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,,,,61,,65,7', -'69,,19,23,27,32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28,31,,,,,52,57', -',66,,71,2,,10,,14,18,26,,,,41,45,49,54,59,62,,,,,6,,,,,,,,,,,,,,,,,', -',,,,,,,,,,39,43,51,,61,,65,7,69,,19,23,27,32,35,38,47,50,56,60,,,,70', -'1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49,54,59', -'62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,,,,61,,65,7,69,,19,23,27,32,35', -'38,47,50,56,60,,,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,,10,,14', -'18,,,,,41,45,49,54,59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,,,,61,', -'65,7,69,,19,23,27,32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28,31,,,', -',52,57,,66,,71,2,,10,,14,18,,,,,41,45,49,54,59,62,,,,,6,,,,,,,,,,,,', -',,,,,,,,,,,,,,,39,,,,61,,65,7,69,,19,23,27,32,35,38,47,50,56,60,,,,70', -'1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,,10,,14,18,155,,,,41,45,49,54', -'59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,,,,61,,65,7,69,,19,23,27,32', -'35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,,10', -',14,18,,,,,41,45,49,54,59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,,,', -'61,,65,7,69,,19,23,27,32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28,31', -',,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49,54,59,62,,,,,6,,,,,,,,,', -',,,,,,,,,,,,,,,,,,39,,,,61,,65,7,69,,19,23,27,32,35,38,47,50,56,60,', -',,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49', -'54,59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,,,,61,,65,7,69,,19,23,27', -'32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,', -'10,,14,18,,,,,41,45,49,54,59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,39', -',,,61,,65,7,69,,19,23,27,32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28', -'31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49,54,59,62,,,,,6,,,,,,', -',,,,,,,,,,,,,,,,,,,,,39,,,,61,,65,7,69,,19,23,27,32,35,38,47,50,56,60', -',,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49', -'54,59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,,,,61,,65,7,69,,19,23,27', -'32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,', -'10,,14,18,,,,,41,45,49,54,59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,39', -',,,61,,65,7,69,,19,23,27,32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28', -'31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49,54,59,62,,,,,6,,,,,,', -',,,,,,,,,,,,,,,,,,,,,39,,,,61,,65,7,69,,19,23,27,32,35,38,47,50,56,60', -',,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49', -'54,59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,,,,61,,65,7,69,,19,23,27', -'32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,', -'10,,14,18,,,,,41,45,49,54,59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,39', -',,,61,,65,7,69,,19,23,27,32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28', -'31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49,54,59,62,,,,,6,,,,,,', -',,,,,,,,,,,,,,,,,,,,,39,,,,61,,65,7,69,,19,23,27,32,35,38,47,50,56,60', -',,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49', -'54,59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,,,,61,,65,7,69,,19,23,27', -'32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,', -'10,,14,18,,,,,41,45,49,54,59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,39', -',,,61,,65,7,69,,19,23,27,32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28', -'31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49,54,59,62,,,,,6,,,,,,', -',,,,,,,,,,,,,,,,,,,,,39,,,,61,,65,7,69,,19,23,27,32,35,38,47,50,56,60', -',,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49', -'54,59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,,,,61,,65,7,69,,19,23,27', -'32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,', -'10,,14,18,,,,,41,45,49,54,59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,39', -',,,61,,65,7,69,,19,23,27,32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28', -'31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49,54,59,62,,,,,6,,,,,,', -',,,,,,,,,,,,,,,,,,,,,39,,,,61,,65,7,69,,19,23,27,32,35,38,47,50,56,60', -',,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49', -'54,59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,,,,61,,65,7,69,,19,23,27', -'32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,', -'10,,14,18,,,,,41,45,49,54,59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,39', -',,,61,,65,7,69,,19,23,27,32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28', -'31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49,54,59,62,,,,,6,,,,,,', -',,,,,,,,,,,,,,,,,,,,,39,,,,61,,65,7,69,,19,23,27,32,35,38,47,50,56,60', -',,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49', -'54,59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,,,,61,,65,7,69,,19,23,27', -'32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,', -'10,,14,18,,,,,41,45,49,54,59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,39', -',,,61,,65,7,69,,19,23,27,32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28', -'31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49,54,59,62,,,,,6,,,,,,', -',,,,,,,,,,,,,,,,,,,,,39,,,,61,,65,7,69,,19,23,27,32,35,38,47,50,56,60', -',,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49', -'54,59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,,,,61,,65,7,69,,19,23,27', -'32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,', -'10,,14,18,,,,,41,45,49,54,59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,39', -',,,61,,65,7,69,,19,23,27,32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28', -'31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49,54,59,62,,,,,6,,,,,,', -',,,,,,,,,,,,,,,,,,,,,39,,,,61,,65,7,69,,19,23,27,32,35,38,47,50,56,60', -',,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49', -'54,59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,,,,61,,65,7,69,,19,23,27', -'32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,', -'10,,14,18,,,,,41,45,49,54,59,62,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,39', -',,,61,,65,7,69,,19,23,27,32,35,38,47,50,56,60,,,,70,1,4,8,,,20,24,28', -'31,,,,,52,57,,66,,71,2,,10,,14,18,,97,,106,41,45,49,54,59,62,,,,,6,', -',,,,,,,,,,110,114,,,,,,,,102,,,,,,,39,,,98,61,,65,,69,123,126,129,93', -'96,101,105,109,113,116,119,122,125,128,92,95,100,104,108,112,115,118', -'121,124,127,91,94,99,103,107,232,,117,120,97,,106,,,252,,,,,,,,,,,,', -',,,,,,,110,114,,,,,,,,102,,,,,,,,,,98,,,,,,123,126,129,93,96,101,105', -'109,113,116,119,122,125,128,92,95,100,104,108,112,115,118,121,124,127', -'91,94,99,103,107,111,,117,120,,,,,,294,19,23,27,32,35,38,47,50,56,60', -',,,70,1,4,8,,,20,24,28,31,,,,,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49', -'54,59,62,,,,,6,,,,,,,,,,19,23,27,32,35,38,47,50,56,60,,,,70,1,4,8,,39', -'20,24,28,61,,65,,69,52,57,,66,,71,2,,10,,14,18,,,,,41,45,49,54,59,62', -',,,97,6,106,19,23,27,32,35,38,47,50,56,60,,,,,,,,,,,24,28,110,114,,', -'39,,,,61,102,65,,69,10,,,18,,,98,,,,,,123,126,129,93,96,101,105,109', -'113,116,119,122,125,128,92,95,100,104,108,112,115,118,121,124,127,91', -'94,99,103,107,111,,117,120,97,,106,,61,298,65,,69,,,,,,,,,,,,,,,,,110', -'114,,,,,,,,102,,,,,,,,,,98,,,,,,123,126,129,93,96,101,105,109,113,116', -'119,122,125,128,92,95,100,104,108,112,115,118,121,124,127,91,94,99,103', -'107,111,,117,120,97,,106,,,,,,,,,,,,,,,,,,,,,,,110,114,,,,,,,,102,,', -',,,,,,,98,,,,,,123,126,129,93,96,101,105,109,113,116,119,122,125,128', -'92,95,100,104,108,112,115,118,121,124,127,91,94,99,103,107,111,,117', -'120,97,,106,,,,,,,,,,,,,,,,,,,,,,,110,114,,,,,,,,102,,,,,,,,,,98,,,', -',,123,126,129,93,96,101,105,109,113,116,119,122,125,128,92,95,100,104', -'108,112,115,118,121,124,127,91,94,99,103,107,111,,117,120,97,,106,,', -',,,,,,,,,,,,,,,,,,,,110,114,,,,,,,,102,,,,,,,,26,,98,,,,,,123,126,129', -'93,96,101,105,109,113,116,119,122,125,128,92,95,100,104,108,112,115', -'118,121,124,127,91,94,99,103,107,111,,117,120,97,,106,,,,,,,,,,,,,,', -',,,,,,,,110,114,,,,,,,,102,,,,,,,,,,98,,,,,,123,126,129,93,96,101,105', -'109,113,116,119,122,125,128,92,95,100,104,108,112,115,118,121,124,127', -'91,94,99,103,107,111,,117,120,97,,106,,,,,,,,,,,,,,,,,,,,,,,110,114', -',,,,,,,102,,,,,,,,,,98,,,,,,123,126,129,93,96,101,105,109,113,116,119', -'122,125,128,92,95,100,104,108,112,115,118,121,124,127,91,94,99,103,107', -'111,,117,120,97,,106,,,,,,,,,,,,,,,,,,,,,,,110,114,,,,,,,,102,,,,,,', -',,,98,,,,,,123,126,129,93,96,101,105,109,113,116,119,122,125,128,92', -'95,100,104,108,112,115,118,121,124,127,91,94,99,103,107,111,,117,120', -'97,,106,,,,,,,,,,,,,,,,,,,,,,,110,114,,,,,,,,102,,,,,,,,,,98,,,,,,123', -'126,129,93,96,101,105,109,113,116,119,122,125,128,92,95,100,104,108', -'112,115,118,121,124,127,91,94,99,103,107,111,,117,120,97,,106,,,,,,', -',,,,,,,,,,,,,,,,110,114,,,,,,,,102,,,,,,,,,,98,,,,,,123,126,129,93,96', -'101,105,109,113,116,119,122,125,128,92,95,100,104,108,112,115,118,121', -'124,127,91,94,99,103,107,232,,117,120,97,,106,,,,,,,,,,,,,,,,,,,,,,', -'110,114,,,,,,,,102,,,,,,,,231,,98,,,,,,123,126,129,93,96,101,105,109', -'113,116,119,122,125,128,92,95,100,104,108,112,115,118,121,124,127,91', -'94,99,103,107,111,,117,120,97,,106,,,,,,,,,,,,,,,,,,,,,,,110,114,,,', -',,,,102,,,,,,,,,,98,,,,,,123,126,129,93,96,101,105,109,113,116,119,122', -'125,128,92,95,100,104,108,112,115,118,121,124,127,91,94,99,103,107,111', -',117,120,97,,106,,,,,,,,,,,,,,,,,,,,,,,110,114,,,,,,,,102,,,,,,,,,,98', -',,,,,123,126,129,93,96,101,105,109,113,116,119,122,125,128,92,95,100', -'104,108,112,115,118,121,124,127,91,94,99,103,107,111,,117,120,97,,106', -',,,,,,,,,,,,,,,,,,,,,,110,114,,,,,,,,102,,,,,,,,26,,98,,,,,,123,126', -'129,93,96,101,105,109,113,116,119,122,125,128,92,95,100,104,108,112', -'115,118,121,124,127,91,94,99,103,107,111,,117,120,97,,106,,,,,,,,,,', -',,,,,,,,,,,,110,114,,,,,,,,102,,,,,,,,,,98,,,,,,123,126,129,93,96,101', -'105,109,113,116,119,122,125,128,92,95,100,104,108,112,115,118,121,124', -'127,91,94,99,103,107,111,,117,120,97,,106,,,,,,,,,,,,,,,,,,,,,,,110', -'114,,,,,,,,102,,,,,,,,,,98,,,,,,123,126,129,93,96,101,105,109,113,116', -'119,122,125,128,92,95,100,104,108,112,115,118,121,124,127,91,94,99,103', -'107,111,,117,120,97,,106,,,,,,,,,,,,,,,,,,,,,,,110,114,,,,,,,,102,,', -',,,,,,,98,,,,,,123,126,129,93,96,101,105,109,113,116,119,122,125,128', -'92,95,100,104,108,112,115,118,121,124,127,91,94,99,103,107,111,,117', -'120,97,,106,,,,,,,,,,,,,,,,,,,,,,,110,114,,,,,,,,102,,,,,,,,26,,98,', -',,,,123,126,129,93,96,101,105,109,113,116,119,122,125,128,92,95,100', -'104,108,112,115,118,121,124,127,91,94,99,103,107,111,,117,120,110,114', -',,,,,,,102,,,,,,,,,,98,,,,,,123,126,129,93,96,101,105,109,113,116,119', -'122,125,128,92,95,100,104,108,112,115,118,121,124,127,91,94,99,103,107', -'111,,117,120,110,114,,,,,,,,102,,,,,,,,,,98,,,,,,123,126,129,93,96,101', -'105,109,113,116,119,122,125,128,92,95,100,104,108,112,115,118,121,124', -'127,91,94,99,103,107,111,110,114,,,,,,,,102,,,,,,,,,,98,,,,,,123,126', -'129,93,96,101,105,109,113,116,119,122,125,128,92,95,100,104,108,112', -'115,118,121,124,127,91,94,99,103,107,111,110,114,,,,,,,,102,,,,,,,,', -',98,,,,,,123,126,129,93,96,101,105,109,113,116,119,122,125,128,92,95', -'100,104,108,112,115,118,121,124,127,91,94,99,103,107,111,110,114,,,', -',,,,102,,,,,,,,,,98,,,,,,123,126,129,93,96,101,105,109,113,116,119,122', -'125,128,92,95,100,104,108,112,115,118,121,124,127,91,94,99,103,107,111', -'114,,,,,,,,102,,,,,,,,,,98,,,,,,123,126,129,93,96,101,105,109,113,116', -'119,122,125,128,92,95,100,104,108,112,115,118,121,124,127,91,94,99,103', -'107,111,114,,,,,,,,102,,,,,,,,,,98,,,,,,123,126,129,93,96,101,105,109', -'113,116,119,122,125,128,92,95,100,104,108,112,115,118,121,124,127,91', -'94,99,103,107,111,114,,,,,,,,102,,,,,,,,,,98,,,,,,123,126,129,93,96', -'101,105,109,113,116,119,122,125,128,92,95,100,104,108,112,115,118,121', -'124,127,91,94,99,103,107,111,114,,,,,,,,102,,,,,,,,,,98,,,,,,123,126', -'129,93,96,101,105,109,113,116,119,122,125,128,92,95,100,104,108,112', -'115,118,121,124,127,91,94,99,103,107,111,114,,,,,,,,102,,,,,,,,,,98', -',,,,,123,126,129,93,96,101,105,109,113,116,119,122,125,128,92,95,100', -'104,108,112,115,118,121,124,127,91,94,99,103,107,111,102,,,,,,,,,,98', -',,,,,123,126,129,93,96,101,105,109,113,116,119,122,125,128,92,95,100', -'104,108,112,115,118,121,124,127,91,94,99,103,107,102,,,,,,,,,,98,,,', -',,123,126,129,93,96,101,105,109,113,116,119,122,125,128,92,95,100,104', -'108,112,115,118,121,124,127,91,94,99,103,107,102,,,,,,,,,,98,,,,,,123', -'126,129,93,96,101,105,109,113,116,119,122,125,128,92,95,100,104,108', -'112,115,118,121,124,127,91,94,99,103,107,98,,,,,,123,126,129,93,96,101', -'105,109,113,116,119,122,125,128,92,95,100,104,108,112,115,118,121,124', -'127,91,94,99,103,107,98,,,,,,123,126,129,93,96,101,105,109,113,116,119', -'122,125,128,92,95,100,104,108,112,115,118,121,124,127,91,94,99,103,107', -'98,,,,,,123,126,129,93,96,101,105,109,113,116,119,122,125,128,92,95', -'100,104,108,112,115,118,121,124,127,91,94,99,103,107,98,,,,,,123,126', -'129,93,96,101,105,109,113,116,119,122,125,128,92,95,100,104,108,112', -'115,118,121,124,127,91,94,99,103,107,98,,,,,,123,126,129,93,96,101,105', -'109,113,116,119,122,125,128,92,95,100,104,108,112,115,118,121,124,127', -'91,94,99,103,107' ] - racc_action_table = arr = Array.new(8999, nil) +'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) 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 = [ -'165,82,165,138,138,138,138,138,138,138,138,138,138,273,226,226,253,22', -'17,231,22,273,285,138,138,165,165,231,226,147,285,142,142,187,165,147', -'147,166,138,187,187,138,171,82,165,200,200,79,79,273,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,241,165,165,253,74,74,70,138', -'241,138,95,138,165,95,95,95,95,95,95,95,95,95,95,247,55,55,95,95,95', -'95,169,65,95,95,95,95,241,291,291,65,95,95,172,95,173,95,95,222,95,245', -'95,95,201,130,223,223,95,95,95,95,95,95,16,16,146,229,95,65,249,65,146', -'146,169,169,169,263,263,21,21,74,169,241,241,74,73,73,224,224,232,222', -'222,222,29,29,95,130,130,222,95,55,95,119,95,55,119,119,119,119,119', -'119,119,119,119,119,261,145,29,119,119,119,119,145,145,119,119,119,119', -'250,250,223,156,119,119,223,119,238,119,119,143,119,9,119,119,159,31', -'261,158,119,119,119,119,119,119,261,158,80,261,119,243,73,29,224,184', -'73,135,224,243,29,184,184,134,29,156,156,156,84,156,238,238,238,149', -'89,158,283,158,119,149,149,160,119,8,119,118,119,243,118,118,118,118', -'118,118,118,118,118,118,2,153,90,118,118,118,118,153,153,118,118,118', -'118,162,162,162,110,118,118,162,118,39,118,118,77,118,292,118,118,111', -'77,77,,118,118,118,118,118,118,213,,,,118,,213,213,213,213,213,213,213', -'213,213,213,213,213,213,213,213,213,213,213,213,213,213,217,,,,,118', -'217,217,,118,,118,6,118,,6,6,6,6,6,6,6,6,6,6,,157,,6,6,6,6,157,157,6', -'6,6,6,,,,,6,6,,6,,6,6,,6,,6,6,,,,,6,6,6,6,6,6,194,,,,6,,194,194,194', -'194,194,194,194,194,194,194,194,194,194,194,194,194,194,194,194,194', -'194,,,,,,6,,,,6,,6,7,6,,7,7,7,7,7,7,7,7,7,7,,,,7,7,7,7,,,7,7,7,7,,,', -',7,7,,7,,7,7,,7,,7,7,,,,,7,7,7,7,7,7,198,,,,7,,198,198,198,198,198,198', -'198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,,,,,,7,', -',,7,,7,117,7,,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,208,,,,117,,208,208,208,208,208,208,208,208,208', -'208,208,208,208,208,208,208,208,208,208,208,208,,,,,,117,,,,117,,117', -'267,117,,267,267,267,267,267,267,267,267,267,267,,,,267,267,267,267', -',,267,267,267,267,,,,,267,267,,267,,267,267,,267,,267,267,,,,,267,267', -'267,267,267,267,211,,,,267,,211,211,211,211,211,211,211,211,211,211', -'211,211,211,211,211,211,211,211,211,211,211,,,,,,267,,,,267,,267,265', -'267,,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,205,,,,265,,205,205,205,205,205,205,205,205,205,205,205', -'205,205,205,205,205,205,205,205,205,205,,,,,,265,,,,265,,265,264,265', -',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,202,,,,264,,202,202,202,202,202,202,202,202,202,202,202,202', -'202,202,202,202,202,202,202,202,202,,264,,,,264,,,,264,,264,20,264,', -'20,20,20,20,20,20,20,20,20,20,,,,20,20,20,20,,,20,20,20,20,,,,,20,20', -',20,,20,20,,20,,20,20,,,,,20,20,20,20,20,20,215,,,,20,,215,215,215,215', -'215,215,215,215,215,215,215,215,215,215,215,215,215,215,215,215,215', -',,,,,20,,,,20,,20,260,20,,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,216,,,,260,,216,216,216,216,216,216', -'216,216,216,216,216,216,216,206,,,,,,206,206,206,206,206,206,206,260', -',,,260,,260,256,260,,256,256,256,256,256,256,256,256,256,256,,,,256', -'256,256,256,,,256,256,256,256,,,,,256,256,,256,,256,256,,256,,256,256', -',,,,256,256,256,256,256,256,183,,,,256,,183,183,183,183,183,183,183', -'183,183,183,183,183,183,199,,,,,,199,199,199,199,199,199,199,256,,,', -'256,,256,255,256,,255,255,255,255,255,255,255,255,255,255,,,,255,255', -'255,255,,,255,255,255,255,,,,,255,255,,255,,255,255,,255,,255,255,,', -',,255,255,255,255,255,255,190,,,,255,,190,190,190,190,190,190,190,190', -'190,190,190,190,190,203,,,,,,203,203,203,203,203,203,203,255,,,,255', -',255,26,255,,26,26,26,26,26,26,26,26,26,26,,,,26,26,26,26,,,26,26,26', -'26,,,,,26,26,,26,,26,26,,26,,26,26,,26,,,26,26,26,26,26,26,186,,,,26', -',186,186,186,186,186,186,186,186,186,186,186,186,186,191,,,,,,191,191', -'191,191,191,,,26,,,,26,,26,240,26,,240,240,240,240,240,240,240,240,240', -'240,,,,240,240,240,240,,,240,240,240,240,,,,,240,240,,240,,240,240,', -'240,,240,240,,,,,240,240,240,240,240,240,212,,,,240,,212,212,212,212', -'212,212,212,212,212,212,209,,,,,,209,209,209,209,209,209,209,209,209', -'209,240,,,,240,,240,239,240,,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,214,,,,239,,214,214,214,214,214', -'214,214,214,214,214,195,,,,,,195,195,195,195,195,,,,,,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,41', -'237,,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,49,45,,49', +'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', +'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', +'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,52,49,,52,52,52,52,52,52,52,52,52,52,,,,52,52,52', -'52,,,52,52,52,52,,,,,52,52,,52,,52,52,,52,,52,52,,,,,52,52,52,52,52', -'52,,,,,52,,,,,,,,,,,,,,,,,,,,,,,,,,,,52,,,,52,,52,54,52,,54,54,54,54', -'54,54,54,54,54,54,,,,54,54,54,54,,,54,54,54,54,,,,,54,54,,54,,54,54', -',54,,54,54,,,,,54,54,54,54,54,54,,,,,54,,,,,,,,,,,,,,,,,,,,,,,,,,,,54', -',,,54,,54,235,54,,235,235,235,235,235,235,235,235,235,235,,,,235,235', -'235,235,,,235,235,235,235,,,,,235,235,,235,,235,235,,235,,235,235,235', -',,,235,235,235,235,235,235,,,,,235,,,,,,,,,,,,,,,,,,,,,,,,,,,,235,235', -'235,,235,,235,57,235,,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,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,62,61,,62,62,62,62,62,62,62', -'62,62,62,,,,62,62,62,62,,,62,62,62,62,,,,,62,62,,62,,62,62,,62,,62,62', -',,,,62,62,62,62,62,62,,,,,62,,,,,,,,,,,,,,,,,,,,,,,,,,,,62,,,,62,,62', -'228,62,,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,66', -'228,,66,66,66,66,66,66,66,66,66,66,,,,66,66,66,66,,,66,66,66,66,,,,', -'66,66,,66,,66,66,,66,,66,66,,,,,66,66,66,66,66,66,,,,,66,,,,,,,,,,,', -',,,,,,,,,,,,,,,,66,,,,66,,66,69,66,,69,69,69,69,69,69,69,69,69,69,,', -',69,69,69,69,,,69,69,69,69,,,,,69,69,,69,,69,69,,69,,69,69,,,,,69,69', -'69,69,69,69,,,,,69,,,,,,,,,,,,,,,,,,,,,,,,,,,,69,,,,69,,69,227,69,,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,71,227,,71,71', -'71,71,71,71,71,71,71,71,,,,71,71,71,71,,,71,71,71,71,,,,,71,71,,71,', -'71,71,,71,,71,71,,,,,71,71,71,71,71,71,,,,,71,,,,,,,,,,,,,,,,,,,,,,', -',,,,,71,,,,71,,71,116,71,,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,121,116,,121,121,121,121,121,121,121,121,121,121,,,,121', -'121,121,121,,,121,121,121,121,,,,,121,121,,121,,121,121,,121,,121,121', -',,,,121,121,121,121,121,121,,,,,121,,,,,,,,,,,,,,,,,,,,,,,,,,,,121,', -',,121,,121,75,121,,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,75,75,,,', -',75,,,,,,,,,,,,,,,,,,,,,,,,,,,,75,,,,75,,75,0,75,,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,155,0,,155,155,155,155,155', -'155,155,155,155,155,,,,155,155,155,155,,,155,155,155,155,,,,,155,155', -',155,,155,155,,155,,155,155,,,,,155,155,155,155,155,155,,,,,155,,,,', -',,,,,,,,,,,,,,,,,,,,,,,155,,,,155,,155,139,155,,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,115,139,,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,137,115,,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,,,,,137,', -',,,,,,,,,,,,,,,,,,,,,,,,,,137,,,,137,,137,81,137,,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,132,81,,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,129', -'132,,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,128,129', -',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,127,128,', -'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,125,127,', -'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,91,125,,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,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,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,120,94,,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,96,120,,96,96,96,96,96,96,96,96,96', -'96,,,,96,96,96,96,,,96,96,96,96,,,,,96,96,,96,,96,96,,96,,96,96,,,,', -'96,96,96,96,96,96,,,,,96,,,,,,,,,,,,,,,,,,,,,,,,,,,,96,,,,96,,96,97', -'96,,97,97,97,97,97,97,97,97,97,97,,,,97,97,97,97,,,97,97,97,97,,,,,97', -'97,,97,,97,97,,97,,97,97,,,,,97,97,97,97,97,97,,,,,97,,,,,,,,,,,,,,', -',,,,,,,,,,,,,97,,,,97,,97,99,97,,99,99,99,99,99,99,99,99,99,99,,,,99', +',,,,,,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,100,99,,100', +'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,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,114,101,,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,103,114,,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,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,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,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,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,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,124,109,,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,122,124,,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,,,,,,,,,,,,,,,,,,,,,,,,,,,,122,,,,122,,122,112,122,,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,102,113,,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,,219,,219,102,102,102,102', -'102,102,,,,,102,,,,,,,,,,,,219,219,,,,,,,,219,,,,,,,102,,,219,102,,102', -',102,219,219,219,219,219,219,219,219,219,219,219,219,219,219,219,219', -'219,219,219,219,219,219,219,219,219,219,219,219,219,219,219,,219,219', -'286,,286,,,219,,,,,,,,,,,,,,,,,,,,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,4,4,4,4,4,4,4,4,4,4,,,,4,4,4,4,,,4,4,4,4,,,,,4,4,,4,,4,4,,4,,4', -'4,,,,,4,4,4,4,4,4,,,,,4,,,,,,,,,,287,287,287,287,287,287,287,287,287', -'287,,,,287,287,287,287,,4,287,287,287,4,,4,,4,287,287,,287,,287,287', -',287,,287,287,,,,,287,287,287,287,287,287,,,,295,287,295,1,1,1,1,1,1', -'1,1,1,1,,,,,,,,,,,1,1,295,295,,,287,,,,287,295,287,,287,1,,,1,,,295', -',,,,,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295', -'295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,,295,295', -'196,,196,,1,295,1,,1,,,,,,,,,,,,,,,,,196,196,,,,,,,,196,,,,,,,,,,196', -',,,,,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196', -'196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,,196,196', -'289,,289,,,,,,,,,,,,,,,,,,,,,,,289,289,,,,,,,,289,,,,,,,,,,289,,,,,', -'289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289', -'289,289,289,289,289,289,289,289,289,289,289,289,289,289,,289,289,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,288,288,288,,288,288,281,,281', -',,,,,,,,,,,,,,,,,,,,,,281,281,,,,,,,,281,,,,,,,,281,,281,,,,,,281,281', -'281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281', -'281,281,281,281,281,281,281,281,281,281,281,281,,281,281,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,175,,175,,,,,,', -',,,,,,,,,,,,,,,,175,175,,,,,,,,175,,,,,,,,,,175,,,,,,175,175,175,175', -'175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175', -'175,175,175,175,175,175,175,175,175,175,,175,175,188,,188,,,,,,,,,,', -',,,,,,,,,,,,188,188,,,,,,,,188,,,,,,,,,,188,,,,,,188,188,188,188,188', -'188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188', -'188,188,188,188,188,188,188,188,188,,188,188,233,,233,,,,,,,,,,,,,,', -',,,,,,,,233,233,,,,,,,,233,,,,,,,,,,233,,,,,,233,233,233,233,233,233', -'233,233,233,233,233,233,233,233,233,233,233,233,233,233,233,233,233', -'233,233,233,233,233,233,233,233,,233,233,154,,154,,,,,,,,,,,,,,,,,,', -',,,,154,154,,,,,,,,154,,,,,,,,,,154,,,,,,154,154,154,154,154,154,154', +'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', +',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', +',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', +'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', +'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,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,271,,271,,,,,,,,,,,,,,,,,,,,,,', -'271,271,,,,,,,,271,,,,,,,,,,271,,,,,,271,271,271,271,271,271,271,271', +'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,271,271,271,,271,271,270,,270,,,,,,,,,,,,,,,,,,,,,,,270', -'270,,,,,,,,270,,,,,,,,,,270,,,,,,270,270,270,270,270,270,270,270,270', -'270,270,270,270,270,270,270,270,270,270,270,270,270,270,270,270,270', -'270,270,270,270,270,,270,270,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,,78,78,268,,268,,,,', -',,,,,,,,,,,,,,,,,,268,268,,,,,,,,268,,,,,,,,,,268,,,,,,268,268,268,268', +'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,268,,268,268,266,,266,,,,,,,,,,', -',,,,,,,,,,,,266,266,,,,,,,,266,,,,,,,,,,266,,,,,,266,266,266,266,266', -'266,266,266,266,266,266,266,266,266,266,266,266,266,266,266,266,266', -'266,266,266,266,266,266,266,266,266,,266,266,25,,25,,,,,,,,,,,,,,,,', -',,,,,,25,25,,,,,,,,25,,,,,,,,,,25,,,,,,25,25,25,25,25,25,25,25,25,25', -'25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,,25,25', -'148,,148,,,,,,,,,,,,,,,,,,,,,,,148,148,,,,,,,,148,,,,,,,,148,,148,,', -',,,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148', -'148,148,148,148,148,148,148,148,148,148,148,148,148,148,,148,148,76', -'76,,,,,,,,76,,,,,,,,,,76,,,,,,76,76,76,76,76,76,76,76,76,76,76,76,76', -'76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,,76,76,207,207', -',,,,,,,207,,,,,,,,,,207,,,,,,207,207,207,207,207,207,207,207,207,207', -'207,207,207,207,207,207,207,207,207,207,207,207,207,207,207,207,207', -'207,207,207,207,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,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,87,87,87,87,210,210,,,,,,,,210,,,,,,,,,,210,,,,,,210', -'210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210', -'210,210,210,210,210,210,210,210,210,210,210,210,210,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,257,,,,,,,,257,,,,,,,,,,257,,,,,,257,257,257,257,257,257,257,257', +'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,204,,,,,,,,204,,,,,,,,,,204,,,,,,204,204,204', -'204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204', -'204,204,204,204,204,204,204,204,204,204,204,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', -',,,,,,,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,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,192,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,164,,,,,,,,,,164,,,,,,164,164,164,164,164,164', -'164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164', -'164,164,164,164,164,164,164,185,,,,,,185,185,185,185,185,185,185,185', -'185,185,185,185,185,185,185,185,185,185,185,185,185,185,185,185,185', -'185,185,185,185,185,189,,,,,,189,189,189,189,189,189,189,189,189,189', -'189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189', -'189,189,189,193,,,,,,193,193,193,193,193,193,193,193,193,193,193,193', -'193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193', -'193,197,,,,,,197,197,197,197,197,197,197,197,197,197,197,197,197,197', -'197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,182', -',,,,,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182', -'182,182,182,182,182,182,182,182,182,182,182,182,182,182' ] - racc_action_check = arr = Array.new(8999, nil) +'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', +'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) 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 = [ - 3274, 6609, 192, nil, 6491, nil, 362, 453, 227, 221, - nil, nil, nil, nil, nil, nil, 56, 15, nil, nil, - 908, 71, -69, nil, nil, 7953, 1272, nil, nil, 158, - nil, 211, nil, nil, nil, nil, nil, nil, nil, 263, - nil, 1636, nil, nil, nil, 1727, nil, nil, nil, 1818, - nil, nil, 1909, nil, 2000, 90, nil, 2182, nil, 2273, - nil, 2364, 2455, nil, nil, 106, 2637, nil, nil, 2728, - 5, 2910, nil, 150, 70, 3183, 8096, 264, 7701, 25, - 236, 3729, -1, nil, 253, nil, nil, 8267, nil, 244, - 244, 4275, 4366, 4457, 4548, 89, 4730, 4821, nil, 4912, - 5003, 5094, 6277, 5276, 5367, 5458, 5549, 5640, 5731, 5822, - 288, 233, 6095, 6186, 5185, 3547, 3001, 544, 271, 180, - 4639, 3092, 6004, nil, 5913, 4184, nil, 4093, 4002, 3911, - 89, nil, 3820, nil, 237, 231, nil, 3638, -2, 3456, - nil, nil, 3, 130, nil, 150, 99, -17, 8037, 215, - nil, nil, 7449, 241, 7365, 3365, 166, 332, 221, 141, - 186, nil, 212, nil, 8737, -2, -45, 8691, 7029, 66, - nil, 28, 79, 102, nil, 7113, nil, nil, nil, nil, - nil, nil, 8917, 1098, 197, 8773, 1280, -13, 7197, 8809, - 1189, 1299, 8645, 8845, 370, 1478, 6693, 8881, 461, 1117, - 17, 51, 825, 1208, 8488, 734, 1026, 8155, 552, 1387, - 8323, 643, 1371, 279, 1462, 916, 1007, 306, nil, 6320, - nil, nil, 83, 120, 152, 8211, -16, 2819, 2546, 132, - nil, -15, 87, 7281, nil, 2091, nil, 1545, 171, 1454, - 1363, 75, nil, 233, nil, 48, nil, 60, nil, 105, - 178, nil, nil, -2, nil, 1181, 1090, 8433, 8378, nil, - 999, 192, nil, 69, 817, 726, 7869, 635, 7785, nil, - 7617, 7533, nil, 7, nil, nil, nil, nil, nil, 8598, - 8543, 6945, nil, 220, nil, -12, 6404, 6554, 6861, 6777, - nil, 31, 267, nil, nil, 6609, nil, nil, nil ] + 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 ] racc_action_default = [ - -1, -173, -173, -20, -46, -21, -173, -173, -173, -173, - -34, -22, -2, -23, -47, -100, -3, -166, -30, -28, - -173, -173, -173, -29, -32, -5, -173, -31, -33, -8, - -94, -173, -35, -9, -101, -36, -10, -102, -37, -173, - -11, -173, -103, -26, -12, -173, -104, -38, -13, -173, - -39, -27, -173, -14, -173, -119, -40, -173, -15, -173, - -99, -131, -173, -16, -121, -113, -173, -17, -18, -173, - -96, -173, -19, -173, -120, -131, -45, -50, -173, -173, - -173, -7, -173, -164, -166, -168, -170, -143, -4, -173, - -173, -173, -173, -173, -173, -173, -173, -173, -91, -173, - -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, - -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, - -173, -173, -173, -58, -173, -173, -57, -173, -173, -173, - -173, -25, -173, -110, -173, -173, -105, -131, -173, -173, - -109, -123, -173, -149, -93, -51, -48, -49, -146, -52, - -106, -124, -173, -54, -132, -173, -173, -53, -113, -173, - -173, -44, -173, -114, -55, -173, -173, -56, -132, -173, - -162, -173, -173, -139, 299, -6, -167, -163, -165, -169, - -95, -92, -82, -71, -60, -83, -72, -61, -171, -84, - -73, -62, -89, -85, -74, -63, -172, -86, -75, -64, - -173, -173, -76, -65, -90, -77, -66, -87, -78, -67, - -88, -79, -68, -80, -69, -81, -70, -59, -24, -173, - -107, -108, -173, -122, -173, -41, -173, -173, -173, -173, - -145, -173, -173, -133, -138, -173, -130, -173, -173, -173, - -173, -173, -112, -173, -144, -173, -127, -173, -140, -173, - -147, -98, -111, -125, -148, -173, -173, -151, -152, -150, - -173, -173, -157, -173, -173, -173, -134, -173, -135, -118, - -42, -43, -115, -173, -116, -97, -142, -141, -126, -154, - -153, -173, -155, -173, -158, -173, -173, -98, -136, -137, - -117, -159, -173, -161, -128, -173, -160, -156, -129 ] + -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 ] racc_goto_table = [ - 12, 76, 161, 77, 78, 150, 151, 74, 73, 156, - 85, 226, 83, 262, 162, 16, 81, 87, 272, 9, - 274, 88, 261, 169, 150, 151, 133, 173, 177, 142, - 180, 84, 278, 86, nil, nil, nil, nil, 145, nil, - nil, 130, 146, 284, nil, 21, 147, nil, nil, 148, - 290, 149, 133, 79, 152, nil, 153, nil, 154, 157, - nil, nil, nil, 164, nil, nil, 165, 293, 167, 250, - 133, 133, 168, nil, nil, nil, nil, 179, 175, 178, - nil, nil, nil, nil, 144, 222, nil, nil, 182, 183, - 184, 185, 186, 187, 188, 161, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 238, 200, 202, - 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, - nil, 213, 214, 170, 215, 216, 217, 176, nil, 219, - 81, nil, nil, nil, 168, 181, 225, nil, nil, nil, - nil, nil, nil, nil, 224, 223, nil, nil, nil, nil, - nil, nil, 233, nil, nil, nil, nil, nil, nil, nil, - nil, nil, 243, nil, nil, nil, nil, nil, 263, nil, - nil, nil, nil, nil, 150, 151, nil, nil, 161, nil, - 161, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, 230, nil, nil, nil, nil, 263, nil, + 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, + 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, nil, nil, nil, nil, nil, nil, nil, nil, nil, - 161, nil, nil, nil, nil, nil, nil, 248, nil, nil, - 133, 133, 263, nil, 257, 258, nil, nil, nil, nil, - nil, nil, 266, nil, 268, 265, 270, 271, 243, nil, - nil, 273, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, 279, 280, nil, nil, nil, 281, nil, nil, - nil, 286, 288, 285, 289, nil, nil, nil, nil, nil, - nil, 254, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, 295, nil, nil, nil, nil, nil, - nil, 296, 276, nil, 277, 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, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, 291, nil, 292 ] + 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 ] racc_goto_check = [ - 2, 5, 21, 5, 5, 30, 35, 31, 6, 36, - 45, 39, 43, 41, 33, 3, 2, 5, 23, 1, - 23, 2, 40, 36, 30, 35, 29, 37, 42, 38, - 25, 44, 8, 46, nil, nil, nil, nil, 5, nil, - nil, 3, 5, 41, nil, 4, 5, nil, nil, 5, - 23, 5, 29, 4, 5, nil, 5, nil, 5, 5, - nil, nil, nil, 5, nil, nil, 5, 41, 5, 39, - 29, 29, 5, nil, nil, nil, nil, 45, 5, 43, - nil, nil, nil, nil, 4, 36, nil, nil, 5, 5, - 5, 5, 5, 5, 5, 21, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 33, 38, 5, + 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, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - nil, 5, 5, 4, 5, 5, 5, 4, nil, 5, - 2, nil, nil, nil, 5, 4, 5, nil, nil, nil, - nil, nil, nil, nil, 31, 6, nil, nil, nil, nil, - nil, nil, 5, nil, nil, nil, nil, nil, nil, nil, - nil, nil, 2, nil, nil, nil, nil, nil, 21, nil, - nil, nil, nil, nil, 30, 35, nil, nil, 21, nil, + 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, 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, - nil, nil, nil, 4, nil, nil, nil, nil, 21, 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, - 21, nil, nil, nil, nil, nil, nil, 4, nil, nil, - 29, 29, 21, nil, 5, 5, nil, nil, nil, nil, - nil, nil, 5, nil, 5, 2, 5, 5, 2, nil, - nil, 2, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, 5, 5, nil, nil, nil, 5, nil, nil, - nil, 5, 5, 2, 5, nil, nil, nil, nil, nil, - nil, 4, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, 5, nil, nil, nil, nil, nil, - nil, 2, 4, nil, 4, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, 4, nil, 4 ] + 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 ] racc_goto_pointer = [ - nil, 19, 0, 15, 45, -3, 7, nil, -221, nil, + nil, 15, 8, 25, 1, -1, 10, nil, -226, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, -63, nil, -223, nil, -59, nil, nil, nil, -3, - -50, 6, nil, -51, nil, -49, -52, -52, -2, -131, - -209, -218, -54, -5, 14, -7, 16 ] + 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 ] racc_goto_default = [ - nil, nil, 237, nil, nil, 25, 29, 33, 36, 40, - 44, 48, 53, 58, 63, 67, 68, 72, 3, 5, - 11, 13, 15, 163, 22, 30, 34, 37, 42, 46, - 136, 55, 140, nil, 64, 141, nil, nil, nil, nil, - nil, nil, 17, nil, nil, nil, nil ] + 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 ] racc_reduce_table = [ 0, 0, :racc_error, - 0, 97, :_reduce_1, - 1, 97, :_reduce_2, - 1, 97, :_reduce_3, - 2, 97, :_reduce_4, - 1, 99, :_reduce_5, - 3, 99, :_reduce_6, - 2, 99, :_reduce_7, - 1, 101, :_reduce_none, - 1, 101, :_reduce_none, - 1, 101, :_reduce_none, - 1, 101, :_reduce_none, - 1, 101, :_reduce_none, - 1, 101, :_reduce_none, - 1, 101, :_reduce_none, - 1, 101, :_reduce_none, - 1, 101, :_reduce_none, - 1, 101, :_reduce_none, - 1, 101, :_reduce_none, - 1, 101, :_reduce_none, - 1, 101, :_reduce_none, - 1, 101, :_reduce_none, - 1, 101, :_reduce_none, - 1, 101, :_reduce_none, - 3, 100, :_reduce_24, - 2, 100, :_reduce_25, - 1, 98, :_reduce_none, - 1, 98, :_reduce_none, - 1, 118, :_reduce_28, - 1, 118, :_reduce_29, - 1, 118, :_reduce_30, - 1, 118, :_reduce_31, - 1, 118, :_reduce_32, - 1, 118, :_reduce_33, - 1, 118, :_reduce_34, - 1, 118, :_reduce_35, - 1, 118, :_reduce_36, - 1, 118, :_reduce_37, - 1, 118, :_reduce_38, - 1, 118, :_reduce_39, - 1, 118, :_reduce_40, - 3, 106, :_reduce_41, - 3, 119, :_reduce_42, - 3, 119, :_reduce_43, - 1, 119, :_reduce_44, - 2, 110, :_reduce_45, - 1, 110, :_reduce_46, - 1, 117, :_reduce_47, - 2, 105, :_reduce_48, - 2, 105, :_reduce_49, - 2, 105, :_reduce_50, - 2, 105, :_reduce_51, - 2, 105, :_reduce_52, - 2, 105, :_reduce_53, - 2, 105, :_reduce_54, - 2, 105, :_reduce_55, - 2, 105, :_reduce_56, - 2, 105, :_reduce_57, - 2, 105, :_reduce_58, - 3, 105, :_reduce_59, - 3, 105, :_reduce_60, - 3, 105, :_reduce_61, - 3, 105, :_reduce_62, - 3, 105, :_reduce_63, - 3, 105, :_reduce_64, - 3, 105, :_reduce_65, - 3, 105, :_reduce_66, - 3, 105, :_reduce_67, - 3, 105, :_reduce_68, - 3, 105, :_reduce_69, - 3, 105, :_reduce_70, - 3, 105, :_reduce_71, - 3, 105, :_reduce_72, - 3, 105, :_reduce_73, - 3, 105, :_reduce_74, - 3, 105, :_reduce_75, - 3, 105, :_reduce_76, - 3, 105, :_reduce_77, - 3, 105, :_reduce_78, - 3, 105, :_reduce_79, - 3, 105, :_reduce_80, - 3, 105, :_reduce_81, - 3, 105, :_reduce_82, - 3, 105, :_reduce_83, - 3, 105, :_reduce_84, - 3, 105, :_reduce_85, - 3, 105, :_reduce_86, - 3, 105, :_reduce_87, - 3, 105, :_reduce_88, - 3, 105, :_reduce_89, - 3, 105, :_reduce_90, - 2, 116, :_reduce_91, - 3, 104, :_reduce_92, - 2, 104, :_reduce_93, - 1, 120, :_reduce_94, - 3, 120, :_reduce_95, - 1, 121, :_reduce_none, - 4, 121, :_reduce_97, - 4, 115, :_reduce_98, - 1, 102, :_reduce_99, - 1, 102, :_reduce_100, - 1, 102, :_reduce_101, - 1, 102, :_reduce_102, - 1, 102, :_reduce_103, - 1, 102, :_reduce_104, - 2, 102, :_reduce_105, - 2, 102, :_reduce_106, - 2, 126, :_reduce_107, - 2, 126, :_reduce_108, - 1, 126, :_reduce_109, - 1, 126, :_reduce_110, - 3, 128, :_reduce_111, - 3, 123, :_reduce_112, - 0, 129, :_reduce_113, - 1, 129, :_reduce_114, - 3, 129, :_reduce_115, - 3, 129, :_reduce_116, - 4, 129, :_reduce_117, - 3, 129, :_reduce_118, - 1, 103, :_reduce_119, - 2, 103, :_reduce_120, - 1, 103, :_reduce_121, - 3, 114, :_reduce_122, - 2, 127, :_reduce_123, - 2, 127, :_reduce_124, - 3, 131, :_reduce_125, - 4, 131, :_reduce_126, - 4, 130, :_reduce_127, - 6, 125, :_reduce_128, - 7, 125, :_reduce_129, - 3, 122, :_reduce_130, - 0, 132, :_reduce_131, - 1, 132, :_reduce_132, - 2, 132, :_reduce_133, - 3, 132, :_reduce_134, - 3, 132, :_reduce_135, - 4, 132, :_reduce_136, - 4, 132, :_reduce_137, - 2, 132, :_reduce_138, - 3, 108, :_reduce_139, - 4, 108, :_reduce_140, - 5, 108, :_reduce_141, - 3, 133, :_reduce_142, - 2, 109, :_reduce_143, - 3, 124, :_reduce_144, - 3, 111, :_reduce_145, - 2, 111, :_reduce_146, - 4, 112, :_reduce_147, - 4, 112, :_reduce_148, - 1, 134, :_reduce_149, - 3, 134, :_reduce_150, - 2, 135, :_reduce_151, - 2, 135, :_reduce_152, - 3, 135, :_reduce_153, - 3, 135, :_reduce_154, - 5, 113, :_reduce_155, - 7, 113, :_reduce_156, - 1, 136, :_reduce_157, - 2, 136, :_reduce_158, - 3, 137, :_reduce_159, - 4, 137, :_reduce_160, - 3, 137, :_reduce_161, - 3, 138, :_reduce_162, + 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, + 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, - 1, 140, :_reduce_164, - 2, 140, :_reduce_165, - 0, 141, :_reduce_166, - 2, 141, :_reduce_167, - 1, 142, :_reduce_168, - 2, 142, :_reduce_169, - 2, 107, :_reduce_170, - 3, 107, :_reduce_171, - 3, 107, :_reduce_172 ] + 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 ] -racc_reduce_n = 173 +racc_reduce_n = 178 -racc_shift_n = 299 +racc_shift_n = 306 racc_token_table = { false => 0, :error => 1, :IF => 2, @@ -1058,21 +1089,22 @@ "." => 82, :ASSIGN => 83, "||=" => 84, "&&=" => 85, "=>" => 86, - "\n" => 87, - ";" => 88, - "," => 89, - "[" => 90, - "]" => 91, - "{" => 92, - "}" => 93, - "(" => 94, - ")" => 95 } + "==>" => 87, + "\n" => 88, + ";" => 89, + "," => 90, + "[" => 91, + "]" => 92, + "{" => 93, + "}" => 94, + "(" => 95, + ")" => 96 } -racc_nt_base = 96 +racc_nt_base = 97 racc_use_result_var = true Racc_arg = [ racc_action_table, @@ -1176,10 +1208,11 @@ "\".\"", "ASSIGN", "\"||=\"", "\"&&=\"", "\"=>\"", + "\"==>\"", "\"\\n\"", "\";\"", "\",\"", "\"[\"", "\"]\"", @@ -1210,10 +1243,11 @@ "Existence", "Comment", "Literal", "AssignObj", "ParamList", + "FuncGlyph", "Param", "Array", "Object", "Parenthetical", "Range", @@ -1222,10 +1256,11 @@ "Index", "AssignList", "Super", "Arguments", "ArgList", + "SimpleArgs", "Catch", "ForVariables", "ForSource", "Whens", "When", @@ -1788,564 +1823,599 @@ end .,., module_eval(<<'.,.,', 'grammar.y', 200) def _reduce_92(val, _values, result) - result = CodeNode.new(val[0], val[2]) + result = CodeNode.new(val[0], val[2], val[1]) result end .,., module_eval(<<'.,.,', 'grammar.y', 201) def _reduce_93(val, _values, result) - result = CodeNode.new([], val[1]) + result = CodeNode.new([], val[1], val[0]) result end .,., module_eval(<<'.,.,', 'grammar.y', 206) def _reduce_94(val, _values, result) - result = val + result = :func result end .,., module_eval(<<'.,.,', 'grammar.y', 207) def _reduce_95(val, _values, result) - result = val[0] << val[2] + result = :boundfunc result end .,., -# reduce 96 omitted - -module_eval(<<'.,.,', 'grammar.y', 213) - def _reduce_97(val, _values, result) - result = ParamSplatNode.new(val[0]) +module_eval(<<'.,.,', 'grammar.y', 212) + def _reduce_96(val, _values, result) + result = val result end .,., -module_eval(<<'.,.,', 'grammar.y', 218) - def _reduce_98(val, _values, result) - result = ArgSplatNode.new(val[0]) +module_eval(<<'.,.,', 'grammar.y', 213) + def _reduce_97(val, _values, result) + result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 223) +# reduce 98 omitted + +module_eval(<<'.,.,', 'grammar.y', 219) def _reduce_99(val, _values, result) - result = ValueNode.new(val[0]) + result = SplatNode.new(val[0]) result end .,., module_eval(<<'.,.,', 'grammar.y', 224) def _reduce_100(val, _values, result) - result = ValueNode.new(val[0]) + result = SplatNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 225) +module_eval(<<'.,.,', 'grammar.y', 229) def _reduce_101(val, _values, result) result = ValueNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 226) +module_eval(<<'.,.,', 'grammar.y', 230) def _reduce_102(val, _values, result) result = ValueNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 227) +module_eval(<<'.,.,', 'grammar.y', 231) def _reduce_103(val, _values, result) result = ValueNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 228) +module_eval(<<'.,.,', 'grammar.y', 232) def _reduce_104(val, _values, result) result = ValueNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 229) +module_eval(<<'.,.,', 'grammar.y', 233) def _reduce_105(val, _values, result) - result = val[0] << val[1] + result = ValueNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 230) +module_eval(<<'.,.,', 'grammar.y', 234) def _reduce_106(val, _values, result) - result = ValueNode.new(val[0], [val[1]]) + result = ValueNode.new(val[0]) result end .,., module_eval(<<'.,.,', 'grammar.y', 235) def _reduce_107(val, _values, result) - result = AccessorNode.new(val[1]) + result = val[0] << val[1] result end .,., module_eval(<<'.,.,', 'grammar.y', 236) def _reduce_108(val, _values, result) - result = AccessorNode.new(val[1], true) + result = ValueNode.new(val[0], [val[1]]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 237) +module_eval(<<'.,.,', 'grammar.y', 241) def _reduce_109(val, _values, result) - result = val[0] + result = AccessorNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 238) +module_eval(<<'.,.,', 'grammar.y', 242) def _reduce_110(val, _values, result) - result = SliceNode.new(val[0]) + result = AccessorNode.new(val[1], true) result end .,., module_eval(<<'.,.,', 'grammar.y', 243) def _reduce_111(val, _values, result) - result = IndexNode.new(val[1]) + result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 248) +module_eval(<<'.,.,', 'grammar.y', 244) def _reduce_112(val, _values, result) - result = ObjectNode.new(val[1]) + result = SliceNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 253) +module_eval(<<'.,.,', 'grammar.y', 249) def _reduce_113(val, _values, result) - result = [] + result = IndexNode.new(val[1]) result end .,., module_eval(<<'.,.,', 'grammar.y', 254) def _reduce_114(val, _values, result) - result = val + result = ObjectNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 255) +module_eval(<<'.,.,', 'grammar.y', 259) def _reduce_115(val, _values, result) - result = val[0] << val[2] + result = [] result end .,., -module_eval(<<'.,.,', 'grammar.y', 256) +module_eval(<<'.,.,', 'grammar.y', 260) def _reduce_116(val, _values, result) - result = val[0] << val[2] + result = val result end .,., -module_eval(<<'.,.,', 'grammar.y', 258) +module_eval(<<'.,.,', 'grammar.y', 261) def _reduce_117(val, _values, result) - result = val[0] << val[3] + result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 259) +module_eval(<<'.,.,', 'grammar.y', 262) def _reduce_118(val, _values, result) - result = val[1] + result = val[0] << val[2] result end .,., module_eval(<<'.,.,', 'grammar.y', 264) def _reduce_119(val, _values, result) - result = val[0] + result = val[0] << val[3] result end .,., module_eval(<<'.,.,', 'grammar.y', 265) def _reduce_120(val, _values, result) - result = val[1].new_instance + result = val[1] result end .,., -module_eval(<<'.,.,', 'grammar.y', 266) +module_eval(<<'.,.,', 'grammar.y', 270) def _reduce_121(val, _values, result) result = val[0] result end .,., module_eval(<<'.,.,', 'grammar.y', 271) def _reduce_122(val, _values, result) - result = ExtendsNode.new(val[0], val[2]) + result = val[1].new_instance result end .,., -module_eval(<<'.,.,', 'grammar.y', 276) +module_eval(<<'.,.,', 'grammar.y', 272) def _reduce_123(val, _values, result) - result = CallNode.new(val[0], val[1]) + result = val[0] result end .,., module_eval(<<'.,.,', 'grammar.y', 277) def _reduce_124(val, _values, result) - result = CallNode.new(val[0], val[1]) + result = ExtendsNode.new(val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 283) +module_eval(<<'.,.,', 'grammar.y', 282) def _reduce_125(val, _values, result) - result = val[1] + result = CallNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 284) +module_eval(<<'.,.,', 'grammar.y', 283) def _reduce_126(val, _values, result) - result = val[1] << val[3] + result = CallNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 289) +module_eval(<<'.,.,', 'grammar.y', 288) def _reduce_127(val, _values, result) - result = CallNode.new(:super, val[2]) + result = val[1] result end .,., -module_eval(<<'.,.,', 'grammar.y', 295) +module_eval(<<'.,.,', 'grammar.y', 289) def _reduce_128(val, _values, result) - result = RangeNode.new(val[1], val[4]) + result = val[1] << val[3] result end .,., -module_eval(<<'.,.,', 'grammar.y', 297) +module_eval(<<'.,.,', 'grammar.y', 294) def _reduce_129(val, _values, result) - result = RangeNode.new(val[1], val[5], true) + result = CallNode.new(:super, val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 302) +module_eval(<<'.,.,', 'grammar.y', 300) def _reduce_130(val, _values, result) - result = ArrayNode.new(val[1]) + result = RangeNode.new(val[1], val[4]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 307) +module_eval(<<'.,.,', 'grammar.y', 302) def _reduce_131(val, _values, result) - result = [] + result = RangeNode.new(val[1], val[5], true) result end .,., -module_eval(<<'.,.,', 'grammar.y', 308) +module_eval(<<'.,.,', 'grammar.y', 307) def _reduce_132(val, _values, result) - result = val + result = ArrayNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 309) +module_eval(<<'.,.,', 'grammar.y', 312) def _reduce_133(val, _values, result) - result = [val[1]] + result = [] result end .,., -module_eval(<<'.,.,', 'grammar.y', 310) +module_eval(<<'.,.,', 'grammar.y', 313) def _reduce_134(val, _values, result) - result = val[0] << val[2] + result = val result end .,., -module_eval(<<'.,.,', 'grammar.y', 311) +module_eval(<<'.,.,', 'grammar.y', 314) def _reduce_135(val, _values, result) - result = val[0] << val[2] + result = [val[1]] result end .,., -module_eval(<<'.,.,', 'grammar.y', 312) +module_eval(<<'.,.,', 'grammar.y', 315) def _reduce_136(val, _values, result) - result = val[0] << val[3] + result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 313) +module_eval(<<'.,.,', 'grammar.y', 316) def _reduce_137(val, _values, result) - result = val[0] << val[3] + result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 314) +module_eval(<<'.,.,', 'grammar.y', 317) def _reduce_138(val, _values, result) - result = val[0] + result = val[0] << val[3] result end .,., -module_eval(<<'.,.,', 'grammar.y', 319) +module_eval(<<'.,.,', 'grammar.y', 318) def _reduce_139(val, _values, result) - result = TryNode.new(val[1], val[2][0], val[2][1]) + result = val[0] << val[3] result end .,., -module_eval(<<'.,.,', 'grammar.y', 320) +module_eval(<<'.,.,', 'grammar.y', 319) def _reduce_140(val, _values, result) - result = TryNode.new(val[1], nil, nil, val[3]) + result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 322) +module_eval(<<'.,.,', 'grammar.y', 324) def _reduce_141(val, _values, result) - result = TryNode.new(val[1], val[2][0], val[2][1], val[4]) + result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 327) +module_eval(<<'.,.,', 'grammar.y', 325) def _reduce_142(val, _values, result) - result = [val[1], val[2]] + result = ([val[0]] << val[2]).flatten result end .,., -module_eval(<<'.,.,', 'grammar.y', 332) +module_eval(<<'.,.,', 'grammar.y', 330) def _reduce_143(val, _values, result) - result = ThrowNode.new(val[1]) + result = TryNode.new(val[1], val[2][0], val[2][1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 337) +module_eval(<<'.,.,', 'grammar.y', 331) def _reduce_144(val, _values, result) - result = ParentheticalNode.new(val[1], val[0].line) + result = TryNode.new(val[1], nil, nil, val[3]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 342) +module_eval(<<'.,.,', 'grammar.y', 333) def _reduce_145(val, _values, result) - result = WhileNode.new(val[1], val[2]) + result = TryNode.new(val[1], val[2][0], val[2][1], val[4]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 343) +module_eval(<<'.,.,', 'grammar.y', 338) def _reduce_146(val, _values, result) - result = WhileNode.new(val[1], nil) + result = [val[1], val[2]] result end .,., -module_eval(<<'.,.,', 'grammar.y', 350) +module_eval(<<'.,.,', 'grammar.y', 343) def _reduce_147(val, _values, result) - result = ForNode.new(val[0], val[3], val[2][0], val[2][1]) + result = ThrowNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 351) +module_eval(<<'.,.,', 'grammar.y', 348) def _reduce_148(val, _values, result) - result = ForNode.new(val[3], val[2], val[1][0], val[1][1]) + result = ParentheticalNode.new(val[1], val[0].line) result end .,., -module_eval(<<'.,.,', 'grammar.y', 356) +module_eval(<<'.,.,', 'grammar.y', 353) def _reduce_149(val, _values, result) - result = val + result = WhileNode.new(val[1], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 357) +module_eval(<<'.,.,', 'grammar.y', 354) def _reduce_150(val, _values, result) - result = [val[0], val[2]] + result = WhileNode.new(val[1], nil) result end .,., -module_eval(<<'.,.,', 'grammar.y', 362) +module_eval(<<'.,.,', 'grammar.y', 355) def _reduce_151(val, _values, result) - result = {:source => val[1]} + result = WhileNode.new(val[2], Expressions.wrap(val[0])) result end .,., -module_eval(<<'.,.,', 'grammar.y', 363) +module_eval(<<'.,.,', 'grammar.y', 362) def _reduce_152(val, _values, result) - result = {:source => val[1], :object => true} + result = ForNode.new(val[0], val[3], val[2][0], val[2][1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 365) +module_eval(<<'.,.,', 'grammar.y', 363) def _reduce_153(val, _values, result) - result = val[0].merge(:filter => val[2]) + result = ForNode.new(val[3], val[2], val[1][0], val[1][1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 367) +module_eval(<<'.,.,', 'grammar.y', 368) def _reduce_154(val, _values, result) - result = val[0].merge(:step => val[2]) + result = val result end .,., -module_eval(<<'.,.,', 'grammar.y', 373) +module_eval(<<'.,.,', 'grammar.y', 369) def _reduce_155(val, _values, result) - result = val[3].rewrite_condition(val[1]) + result = [val[0], val[2]] result end .,., -module_eval(<<'.,.,', 'grammar.y', 375) +module_eval(<<'.,.,', 'grammar.y', 374) def _reduce_156(val, _values, result) - result = val[3].rewrite_condition(val[1]).add_else(val[5]) + result = {:source => val[1]} result end .,., -module_eval(<<'.,.,', 'grammar.y', 380) +module_eval(<<'.,.,', 'grammar.y', 375) def _reduce_157(val, _values, result) - result = val[0] + result = {:source => val[1], :object => true} result end .,., -module_eval(<<'.,.,', 'grammar.y', 381) +module_eval(<<'.,.,', 'grammar.y', 377) def _reduce_158(val, _values, result) - result = val[0] << val[1] + result = val[0].merge(:filter => val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 386) +module_eval(<<'.,.,', 'grammar.y', 379) def _reduce_159(val, _values, result) - result = IfNode.new(val[1], val[2], nil, {:statement => true}) + result = val[0].merge(:step => val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 388) +module_eval(<<'.,.,', 'grammar.y', 385) def _reduce_160(val, _values, result) - result = IfNode.new(val[1], val[2], nil, {:statement => true}) + result = val[3].rewrite_condition(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 389) +module_eval(<<'.,.,', 'grammar.y', 387) def _reduce_161(val, _values, result) - result = val[2].add_comment(val[0]) + result = val[3].rewrite_condition(val[1]).add_else(val[5]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 394) +module_eval(<<'.,.,', 'grammar.y', 392) def _reduce_162(val, _values, result) - result = IfNode.new(val[1], val[2]) + result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 399) +module_eval(<<'.,.,', 'grammar.y', 393) def _reduce_163(val, _values, result) - result = val[1].force_statement + result = val[0] << val[1] result end .,., -module_eval(<<'.,.,', 'grammar.y', 404) +module_eval(<<'.,.,', 'grammar.y', 398) def _reduce_164(val, _values, result) - result = val[0] + result = IfNode.new(val[1], val[2], nil, {:statement => true}) result end .,., -module_eval(<<'.,.,', 'grammar.y', 405) +module_eval(<<'.,.,', 'grammar.y', 400) def _reduce_165(val, _values, result) - result = val[0].add_else(val[1]) + result = IfNode.new(val[1], val[2], nil, {:statement => true}) result end .,., -module_eval(<<'.,.,', 'grammar.y', 410) +module_eval(<<'.,.,', 'grammar.y', 401) def _reduce_166(val, _values, result) - result = nil + result = val[2].add_comment(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 411) +module_eval(<<'.,.,', 'grammar.y', 406) def _reduce_167(val, _values, result) - result = val[1] + result = IfNode.new(val[1], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 416) +module_eval(<<'.,.,', 'grammar.y', 411) def _reduce_168(val, _values, result) + result = val[1].force_statement + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 416) + def _reduce_169(val, _values, result) result = val[0] result end .,., module_eval(<<'.,.,', 'grammar.y', 417) - def _reduce_169(val, _values, result) + def _reduce_170(val, _values, result) result = val[0].add_else(val[1]) result end .,., module_eval(<<'.,.,', 'grammar.y', 422) - def _reduce_170(val, _values, result) - result = val[0].add_else(val[1]) + def _reduce_171(val, _values, result) + result = nil result end .,., module_eval(<<'.,.,', 'grammar.y', 423) - def _reduce_171(val, _values, result) + def _reduce_172(val, _values, result) + result = val[1] + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 428) + def _reduce_173(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 429) + def _reduce_174(val, _values, result) + result = val[0].add_else(val[1]) + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 434) + def _reduce_175(val, _values, result) + result = val[0].add_else(val[1]) + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 435) + def _reduce_176(val, _values, result) result = IfNode.new(val[2], Expressions.wrap(val[0]), nil, {:statement => true}) result end .,., -module_eval(<<'.,.,', 'grammar.y', 424) - def _reduce_172(val, _values, result) +module_eval(<<'.,.,', 'grammar.y', 436) + def _reduce_177(val, _values, result) result = IfNode.new(val[2], Expressions.wrap(val[0]), nil, {:statement => true, :invert => true}) result end .,.,