diff --git a/lib/coffee_script/grammar.y b/lib/coffee_script/grammar.y index 8808d9fc..5f841374 100644 --- a/lib/coffee_script/grammar.y +++ b/lib/coffee_script/grammar.y @@ -13,6 +13,7 @@ token FOR IN OF BY WHEN WHILE token SWITCH LEADING_WHEN token DELETE INSTANCEOF TYPEOF token SUPER EXTENDS +token ASSIGN RETURN token NEWLINE token COMMENT token JS diff --git a/lib/coffee_script/parser.rb b/lib/coffee_script/parser.rb index f0ba032b..d66a470b 100644 --- a/lib/coffee_script/parser.rb +++ b/lib/coffee_script/parser.rb @@ -10,7 +10,7 @@ module CoffeeScript class Parser < Racc::Parser -module_eval(<<'...end grammar.y/module_eval...', 'grammar.y', 460) +module_eval(<<'...end grammar.y/module_eval...', 'grammar.y', 461) # Lex and parse a CoffeeScript. def parse(code) # Uncomment the following line to enable grammar debugging, in combination @@ -34,348 +34,350 @@ module_eval(<<'...end grammar.y/module_eval...', 'grammar.y', 460) ##### State transition tables begin ### clist = [ -'134,54,143,27,30,33,38,42,45,51,56,60,63,102,103,104,181,247,102,103', -'104,262,100,270,101,286,287,100,46,101,57,64,130,135,102,103,104,151', -'54,262,299,164,123,100,170,101,46,49,280,199,8,14,190,123,188,185,142', -'147,150,154,157,159,161,167,129,133,138,141,146,149,153,156,160,163', -'166,128,132,137,140,145,148,152,155,158,162,165,127,131,136,139,144', -'171,12,180,8,14,201,25,278,31,34,12,40,204,27,30,33,38,42,45,51,56,60', -'63,199,54,8,14,2,54,96,20,24,54,199,54,96,41,93,293,52,57,64,65,93,265', -'187,96,7,13,54,21,209,32,35,93,282,46,49,142,147,72,3,67,71,74,5,10', -'16,8,14,201,46,311,37,44,198,262,46,8,14,201,142,147,46,119,96,294,54', -'46,8,14,190,96,93,-185,-185,8,14,-185,-185,93,290,72,3,212,213,54,25', -'54,31,34,12,40,194,27,30,33,38,42,45,51,56,60,63,195,8,14,46,2,94,113', -'20,24,196,46,279,94,41,8,14,52,57,64,65,-185,-185,-185,-185,7,13,108', -'21,277,32,35,142,147,46,49,78,102,103,104,67,71,74,5,10,16,100,257,101', -'206,207,37,44,142,147,150,154,157,159,161,167,129,133,138,141,146,149', -'153,156,160,163,166,128,132,137,140,212,213,-185,-185,72,3,-185,-185', -'316,25,179,31,34,12,40,208,27,30,33,38,42,45,51,56,60,63,102,103,104', -'81,2,286,287,20,24,100,211,101,78,41,8,14,52,57,64,65,142,147,-185,-185', -'7,13,81,21,289,32,35,-185,-185,46,49,,102,103,104,67,71,74,5,10,16,100', -',101,8,14,37,44,142,147,150,154,157,159,161,167,129,133,138,141,146', -'149,153,156,160,163,166,128,132,137,140,,,,,72,3,,,,25,,31,34,12,40', -',27,30,33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,', -',,7,13,,21,,32,35,,,46,49,,,,,67,71,74,5,10,16,,,,,,37,44,142,147,150', -'154,157,159,161,167,129,133,138,141,146,149,153,156,160,163,166,128', -'132,137,140,,,,,72,3,,,,25,,31,34,12,40,,27,30,33,38,42,45,51,56,60', -'63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,,,46,49,,', -',,67,71,74,5,10,16,,,,,,37,44,142,147,150,154,157,159,161,167,129,133', -'138,141,146,149,153,156,160,163,166,128,132,137,140,,,,,72,3,,,,25,', -'31,34,12,40,,27,30,33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52', -'57,64,65,,,,,7,13,,21,,32,35,,,46,49,,,,,67,71,74,5,10,16,,,,,,37,44', -'142,147,150,154,157,159,161,167,129,133,138,141,146,149,153,156,160', -'163,166,128,132,137,140,,,,,72,3,,,,25,,31,34,12,40,,27,30,33,38,42', -'45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35', -',,46,49,,,,,67,71,74,5,10,16,,,,,,37,44,142,147,150,154,157,159,161', -'167,129,133,138,141,146,149,153,156,160,163,166,128,132,137,140,,,,', -'72,3,,,,25,,31,34,12,40,,27,30,33,38,42,45,51,56,60,63,,,,,2,,,20,24', -',,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,,,46,49,,,,,67,71,74,5,10,16', -',,,,,37,44,142,147,150,154,157,159,161,167,129,133,138,141,146,149,153', -'156,160,163,166,128,132,137,140,,,,,72,3,,,,25,,31,34,12,40,,27,30,33', -'38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13,,21', -',32,35,,,46,49,,,,,67,71,74,5,10,16,,,,,,37,44,142,147,150,154,157,159', -'161,167,129,133,138,141,146,149,153,156,160,163,166,128,132,137,140', -',,,,72,3,,,,25,,31,34,12,40,,27,30,33,38,42,45,51,56,60,63,,,,,2,,,20', -'24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,,,46,49,,,,,67,71,74,5,10', -'16,,,,,,37,44,142,147,150,154,157,159,161,167,129,133,138,141,146,149', -'153,142,147,150,154,157,159,161,167,129,,,,72,3,,,,25,,31,34,12,40,', -'27,30,33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,,', -',7,13,,21,,32,35,,,46,49,,,,,67,71,74,5,10,16,,,,,,37,44,142,147,150', -'154,157,159,161,167,129,133,138,141,146,149,153,142,147,150,154,157', -'159,161,167,129,,,,72,3,,,,25,,31,34,12,40,,27,30,33,38,42,45,51,56', -'60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,,,46,49', -',,,,67,71,74,5,10,16,,,,,,37,44,142,147,150,154,157,159,161,167,129', -'133,138,141,146,149,153,142,147,150,154,157,159,161,167,129,,,,72,3', -',,,25,,31,34,12,40,,27,30,33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,', -'41,,,52,57,64,65,,,,,7,13,,21,,32,35,,,46,49,,,,,67,71,74,5,10,16,,', -',,,37,44,142,147,150,154,157,159,161,167,129,133,138,141,146,149,153', -'142,147,150,154,157,159,161,167,129,,,,72,3,,,,25,,31,34,12,40,,27,30', -'33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13', -',21,,32,35,,,46,49,,,,,67,71,74,5,10,16,,,,,,37,44,142,147,150,154,157', -'159,161,167,129,142,147,150,154,157,159,161,167,129,142,147,150,154', -'157,159,161,,,72,3,,,,25,,31,34,12,40,,27,30,33,38,42,45,51,56,60,63', -',,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,,,46,49,,,,,67', -'71,74,5,10,16,,,,,,37,44,142,147,150,154,157,159,161,,,,,,,,,,,,,,,', -',,,,,72,3,,,,25,,31,34,12,40,,27,30,33,38,42,45,51,56,60,63,,,,,2,,', -'20,24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,,,46,49,110,,,,67,71', -'74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34,12', -'40,,27,30,33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65', -',,,,7,13,,21,,32,35,,,46,49,,,,,67,71,74,5,10,16,,,,,312,37,44,,,,,', -',,,,,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34,12,40,,27,30,33,38,42,45,51', -'56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,,,46', -'49,,,,,67,71,74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,', -',,25,,31,34,12,40,,27,30,33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41', -',,52,57,64,65,,,,,7,13,,21,,32,35,,,46,49,,,,,67,71,74,5,10,16,,,,,', -'37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34,12,40,,27,30,33,38', -'42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32', -'35,,,46,49,,,,,67,71,74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,', -',,72,3,,,,25,,31,34,12,40,,27,30,33,38,42,45,51,56,60,63,,,,,2,,,20', -'24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,,,46,49,,,,,67,71,74,5,10', -'16,,,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34,12,40,,27', -'30,33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7', -'13,,21,,32,35,,,46,49,,,,,67,71,74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,', -',,,,,,,,,,,,,72,3,,,,25,,31,34,12,40,,27,30,33,38,42,45,51,56,60,63', -',,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,,,46,49,,,,,67', -'71,74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34', -'12,40,,27,30,33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64', -'65,,,,,7,13,,21,,32,35,,,46,49,,120,,,67,71,74,5,10,16,,,,,,37,44,,', -',,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34,12,40,,27,30,33,38,42,45', -'51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,', -',46,49,,,,,67,71,74,5,10,16,,,,,302,37,44,,,,,,,,,,,,,,,,,,,,,,,,,,', -',72,3,,,,25,,31,34,12,40,,27,30,33,38,42,45,51,56,60,63,,,,,2,,,20,24', -',,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,,,46,49,,,,,67,71,74,5,10,16', -',,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34,12,40,,27,30', -'33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13', -',21,,32,35,,,46,49,,,,,67,71,74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,,,,', -',,,,,,,,,,72,3,,,,25,,31,34,12,40,,27,30,33,38,42,45,51,56,60,63,,,', -',2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,,,46,49,,,,,67,71', -'74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34,12', -'40,,27,30,33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65', -',,,,7,13,,21,,32,35,,,46,49,,,,,67,71,74,5,10,16,,,,,,37,44,,,,,,,,', -',,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34,12,40,,27,30,33,38,42,45,51,56', -'60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,,,46,49', -',,,,67,71,74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,25', -',31,34,12,40,,27,30,33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52', -'57,64,65,,,,,7,13,,21,,32,35,,,46,49,,,,,67,71,74,5,10,16,,,,,,37,44', -',,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34,12,40,,27,30,33,38,42,45', -'51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,', -',46,49,,,,,67,71,74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72', -'3,,,,25,,31,34,12,40,,27,30,33,38,42,45,51,56,60,63,,,,,2,,,20,24,,', -',,41,,,52,57,64,65,,,,,7,13,,21,,32,35,,,46,49,,,,,67,71,74,5,10,16', -',,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34,12,40,,27,30', -'33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13', -',21,,32,35,,,46,49,274,,,,67,71,74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,', -',,,,,,,,,,,,,72,3,8,14,,25,,31,34,12,40,,27,30,33,38,42,45,51,56,60', -'63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,,,46,49,,', -',,67,71,74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,25', -',31,34,12,40,,27,30,33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52', -'57,64,65,,,,,7,13,,21,,32,35,,,46,49,,,,,67,71,74,5,10,16,,,,,,37,44', -',,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34,12,40,,27,30,33,38,42,45', -'51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,', -',46,49,,,,,67,71,74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72', -'3,,,,25,,31,34,12,40,,27,30,33,38,42,45,51,56,60,63,,,,,2,,,20,24,,', -',,41,,,52,57,64,65,,,,,7,13,,21,,32,35,,,46,49,,,,,67,71,74,5,10,16', -',,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34,12,40,,27,30', -'33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13', -',21,,32,35,,,46,49,,,,,67,71,74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,,,,', -',,,,,,,,,,72,3,,,,25,,31,34,12,40,,27,30,33,38,42,45,51,56,60,63,,,', -',2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,,,46,49,,,,,67,71', -'74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34,12', -'40,,27,30,33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65', -',,,,7,13,,21,,32,35,,,46,49,,,,,67,71,74,5,10,16,,,,,,37,44,,,,,,,,', -',,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34,12,40,,27,30,33,38,42,45,51,56', -'60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,,,46,49', -',,,,67,71,74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,25', -',31,34,12,40,,27,30,33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52', -'57,64,65,,,,,7,13,,21,,32,35,,,46,49,,,,,67,71,74,5,10,16,,,,,,37,44', -',,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34,12,40,,27,30,33,38,42,45', -'51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,', -',46,49,,,,,67,71,74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72', -'3,,,,25,,31,34,12,40,,27,30,33,38,42,45,51,56,60,63,,,,,2,,,20,24,,', -',,41,,,52,57,64,65,,,,,7,13,,21,,32,35,,,46,49,,,,,67,71,74,5,10,16', -',,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34,12,40,,27,30', -'33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13', -',21,,32,35,,,46,49,,,,,67,71,74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,,,,', -',,,,,,,,,,72,3,,,,25,,31,34,12,40,,27,30,33,38,42,45,51,56,60,63,,,', -',2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,,,46,49,,,,,67,71', -'74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34,12', -'40,,27,30,33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65', -',,,,7,13,,21,,32,35,,,46,49,,,,,67,71,74,5,10,16,,,,,,37,44,,,,,,,,', -',,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34,12,40,,27,30,33,38,42,45,51,56', -'60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,,,46,49', -',,,,67,71,74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,25', -',31,34,12,40,,27,30,33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52', -'57,64,65,,,,,7,13,,21,,32,35,,,46,49,,,,,67,71,74,5,10,16,,,,,,37,44', -',,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34,12,40,,27,30,33,38,42,45', -'51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,', -',46,49,,,,,67,71,74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72', -'3,,,,25,,31,34,12,40,,27,30,33,38,42,45,51,56,60,63,,,,,2,,,20,24,,', -',,41,,,52,57,64,65,,,,,7,13,,21,,32,35,,,46,49,110,,,,67,71,74,5,10', -'16,,,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34,12,40,,27', -'30,33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7', -'13,,21,,32,35,,,46,49,,,,,67,71,74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,', -',,,,,,,,,,,,,72,3,,,,25,,31,34,12,40,,27,30,33,38,42,45,51,56,60,63', -',,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,,,46,49,,,,,67', -'71,74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34', -'12,40,,27,30,33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64', -'65,,,,,7,13,,21,,32,35,,,46,49,,,,,67,71,74,5,10,16,,,,,,37,44,,,,,', -',,,,,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34,12,40,,27,30,33,38,42,45,51', -'56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,,,46', -'49,,,,,67,71,74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,', -',,25,,31,34,12,40,,27,30,33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41', -',,52,57,64,65,,,,,7,13,,21,,32,35,,,46,49,,,,,67,71,74,5,10,16,,,,,', -'37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34,12,40,,27,30,33,38', -'42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32', -'35,,,46,49,,,,,67,71,74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,', -',,72,3,,,,25,,31,34,12,40,,27,30,33,38,42,45,51,56,60,63,,,,,2,,,20', -'24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,,,46,49,,,,,67,71,74,5,10', -'16,,,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34,12,40,,27', -'30,33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7', -'13,,21,,32,35,,,46,49,,,,,67,71,74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,', -',,,,,,,,,,,,,72,3,,,,25,,31,34,12,40,,27,30,33,38,42,45,51,56,60,63', -',,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,,,46,49,110,', -',,67,71,74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,25', -',31,34,12,40,,27,30,33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52', -'57,64,65,,,,,7,13,,21,,32,35,,,46,49,,,,,67,71,74,5,10,16,,,,,,37,44', -',,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34,12,40,,27,30,33,38,42,45', -'51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,', -',46,49,54,,,,67,71,74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,', -'72,3,8,14,,25,,31,34,12,40,,27,30,33,38,42,45,51,56,60,63,,,,,2,,,20', -'24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,,,46,49,,,,,67,71,74,5,10', -'16,,,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34,12,40,,27', -'30,33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7', -'13,,21,,32,35,,,46,49,,,,,67,71,74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,', -',,,,,,,,,,,,,72,3,,,,25,,31,34,12,40,,27,30,33,38,42,45,51,56,60,63', -',,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,,,46,49,,,,,67', -'71,74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34', -'12,40,,27,30,33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64', -'65,,,,,7,13,,21,,32,35,,,46,49,,,,,67,71,74,5,10,16,,,,,,37,44,,,,,', -',,,,,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34,12,40,,27,30,33,38,42,45,51', -'56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,,,46', -'49,,,,,67,71,74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,', -',,25,,31,34,12,40,,27,30,33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41', -',,52,57,64,65,,,,,7,13,,21,,32,35,,,46,49,,,,,67,71,74,5,10,16,,,,,', -'37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34,12,40,,27,30,33,38', -'42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32', -'35,,,46,49,,,,,67,71,74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,', -',,72,3,,,,25,,31,34,12,40,,27,30,33,38,42,45,51,56,60,63,,,,,2,,,20', -'24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,,,46,49,,,,,67,71,74,5,10', -'16,,,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34,12,40,,27', -'30,33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7', -'13,,21,,32,35,,,46,49,,,,,67,71,74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,', -',,,,,,,,,,,,,72,3,,,,25,,31,34,12,40,,27,30,33,38,42,45,51,56,60,63', -',,,,2,,,20,24,,,,,41,,,52,57,64,65,,,,,7,13,,21,,32,35,,,46,49,,,,,67', -'71,74,5,10,16,,,,,,37,44,,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,25,,31,34', -'12,40,,27,30,33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64', -'65,,,,,7,13,,21,,32,35,,,46,49,134,,143,,67,71,74,5,10,16,,,,,,37,44', -',,,,,,,,,,,,,,,130,135,,,,151,,,,164,,,72,3,,,,25,,31,34,,40,,142,147', -'150,154,157,159,161,167,129,133,138,141,146,149,153,156,160,163,166', -'128,132,137,140,145,148,152,155,158,162,165,127,131,136,139,144,134', -',143,,,,,,,,321,,,,,,,,,,,,,,,,,,,,,,130,135,,,,151,,,,164,,,,,,,,,', -',,,,,142,147,150,154,157,159,161,167,129,133,138,141,146,149,153,156', -'160,163,166,128,132,137,140,145,148,152,155,158,162,165,127,131,136', -'139,144,27,30,33,38,42,45,51,56,60,63,315,,,,2,,,20,24,,,,,41,,,52,57', -'64,,,,,,,13,,21,,32,35,,,46,49,,,,,67,71,74,5,10,16,,,,,,,,,,,27,30', -'33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,72,3,52,57,64,25,,31,34', -',40,13,,21,,32,35,,,46,49,,,,,67,71,74,5,10,16,,,,,,,,,,,27,30,33,38', -'42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,72,3,52,57,64,25,,31,34,,40,13', -',21,,32,35,,,46,49,,,,,67,71,74,5,10,16,,27,30,33,38,42,45,51,56,60', -'63,,,,,,,,,,,,,,,,,,57,64,,,,,72,3,,,,25,,31,34,,40,49,,,,,,,,,,,,,', -',,,,,27,30,33,38,42,45,51,56,60,63,,,,,2,,,20,24,,,,,41,,,52,57,64,65', -',25,,31,34,13,40,21,,32,35,,,46,49,134,,143,,67,71,74,5,10,16,,,,,,37', -'44,,,,,,,,,,,,,,,,130,135,,,,151,,,,164,,,72,3,,,,25,,31,34,,40,,142', -'147,150,154,157,159,161,167,129,133,138,141,146,149,153,156,160,163', -'166,128,132,137,140,145,148,152,155,158,162,165,127,131,136,139,144', -'134,,143,,,,,,,,,,,,,,,,,,,,,,,322,,,,,,,130,135,,,,151,,,,164,,,,,', -',,,,,,,,,142,147,150,154,157,159,161,167,129,133,138,141,146,149,153', -'156,160,163,166,128,132,137,140,145,148,152,155,158,162,165,127,131', -'136,139,144,134,,143,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,130,135,,,,151,,,', -'164,,,,,,,,,,,,,,,142,147,150,154,157,159,161,167,129,133,138,141,146', -'149,153,156,160,163,166,128,132,137,140,145,148,152,155,158,162,165', -'127,131,136,139,144,134,,143,,,,,,,,,,,,,,,,,,,,,,,320,,,,,,,130,135', -',,,151,,,,164,,,,,,,,,,,,,,,142,147,150,154,157,159,161,167,129,133', -'138,141,146,149,153,156,160,163,166,128,132,137,140,145,148,152,155', -'158,162,165,127,131,136,139,144,134,,143,,,,,,,,,,,,,,,,,,,,,,,,,,,', -',,130,135,,,,151,,,,164,,,,,,,,,,,,,,,142,147,150,154,157,159,161,167', -'129,133,138,141,146,149,153,156,160,163,166,128,132,137,140,145,148', -'152,155,158,162,165,127,131,136,139,144,134,,143,,,,,,,,,,,,,,,,,,,', -',,,271,,,,,,,130,135,,,,151,,,,164,,,,,,,,,,,,,,,142,147,150,154,157', -'159,272,167,129,133,138,141,146,149,153,156,160,163,166,128,132,137', -'140,145,148,152,155,158,162,165,127,131,136,139,144,134,,143,,,,,,,', -',,,,,,,,,,,,,,,,,,,,,,130,135,,,,151,,,,164,,,,,,,,,,,,,,,142,147,150', -'154,157,159,161,167,129,133,138,141,146,149,153,156,160,163,166,128', -'132,137,140,145,148,152,155,158,162,165,127,131,136,139,144,134,,143', -',,,,,,,,,,,,,,,,,,,,,,,,,,,,,130,135,,,,151,,,,164,,,,,,,,,,,,,,,142', -'147,150,154,157,159,161,167,129,133,138,141,146,149,153,156,160,163', -'166,128,132,137,140,145,148,152,155,158,162,165,127,131,136,139,144', -'134,,143,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,130,135,,,,151,,,,164,,,,,,,,', -',,,,,,142,147,150,154,157,159,161,167,129,133,138,141,146,149,153,156', -'160,163,166,128,132,137,140,145,148,152,155,158,162,165,127,131,136', -'139,144,134,,143,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,130,135,,,,151,,,,164', -',,,,,,,,,,,,,,142,147,150,154,157,159,161,167,129,133,138,141,146,149', -'153,156,160,163,166,128,132,137,140,145,148,152,155,158,162,165,127', -'131,136,139,144,134,,143,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,130,135,,,,151', -',,,164,,,,,,,,,,,,,,,142,147,150,154,157,159,202,167,129,133,138,141', -'146,149,153,156,160,163,166,128,132,137,140,145,148,152,155,158,162', -'165,127,131,136,139,144,134,,143,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,130,135', -',,,151,,,,164,,,,,,,,,,,,,,,142,147,150,154,157,159,161,167,129,133', -'138,141,146,149,153,156,160,163,166,128,132,137,140,145,148,152,155', -'158,162,165,127,131,136,139,144,134,,143,,,,,,,,,,,,,,,,,,,,,,,,,,,', -',,130,135,,,,151,,,,164,,,,,,,,,,,,,,,142,147,150,154,157,159,161,167', -'129,133,138,141,146,149,153,156,160,163,166,128,132,137,140,145,148', -'152,155,158,162,165,127,131,136,139,144,134,,143,,,,,,,,,,,,,,,,,,,', -',,,,,,,,,,130,135,,,,151,,,,164,,,,,,,,,,,,,,,142,147,150,154,157,159', -'161,167,129,133,138,141,146,149,153,156,160,163,166,128,132,137,140', -'145,148,152,155,158,162,165,127,131,136,139,144,134,,143,,,,,,,,,,,', -',,,,,,,,,,,,,,,,,,130,135,,,,151,,,,164,,,,,,,,,,,,,,,142,147,150,154', -'157,159,161,167,129,133,138,141,146,149,153,156,160,163,166,128,132', -'137,140,145,148,152,155,158,162,165,127,131,136,139,144,134,,143,,,', -',,,,,,,,,,,,,,,,,,,,,,,,,,130,135,,,,151,,,,164,,,,,,,54,,,,,,,,142', -'147,150,154,157,159,161,167,129,133,138,141,146,149,153,156,160,163', -'166,128,132,137,140,145,148,152,155,158,162,165,127,131,136,139,144', -'134,,143,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,130,135,,,,151,,,,164,,,,,,,54', -',,,,,,,142,147,150,154,157,159,161,167,129,133,138,141,146,149,153,156', -'160,163,166,128,132,137,140,145,148,152,155,158,162,165,127,131,136', -'139,144,134,,143,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,130,135,,,,151,,,,164', -',,,,,,184,,,,,,,,142,147,150,154,157,159,161,167,129,133,138,141,146', -'149,153,156,160,163,166,128,132,137,140,145,148,152,155,158,162,165', -'127,131,136,139,144,134,,143,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,130,135,,', -',151,,,,164,,,,,,,,,,,,,,,142,147,150,154,157,159,161,167,129,133,138', -'141,146,149,153,156,160,163,166,128,132,137,140,145,148,152,155,158', -'162,165,127,131,136,139,144,134,,143,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,130', -'135,,,,151,,,,164,,,,,,,,,,,,,,,142,147,150,154,157,159,161,167,129', -'133,138,141,146,149,153,156,160,163,166,128,132,137,140,145,148,152', -'155,158,162,165,127,131,136,139,144,134,,143,,,,,,,,,,,,,,,,,,,,,,,', -',,,,,,130,135,,,,151,,,,164,,,,,,,,,,,,,,,142,147,150,154,157,159,161', -'167,129,133,138,141,146,149,153,156,160,163,166,128,132,137,140,145', -'148,152,155,158,162,165,127,131,136,139,144,134,,143,,,,,,,,,,,,,,,', -',,,,,,,,,,,,,,130,135,,,,151,,,,164,,,,,,,,,,,,,,,142,147,150,154,157', -'159,161,167,129,133,138,141,146,149,153,156,160,163,166,128,132,137', -'140,145,148,152,155,158,162,165,127,131,136,139,144,130,135,,,,,,,,164', -',,,,,,,,,,,,,,142,147,150,154,157,159,161,167,129,133,138,141,146,149', -'153,156,160,163,166,128,132,137,140,145,148,152,155,158,162,165,127', -'131,136,139,144,130,135,,,,,,,,164,,,,,,,,,,,,,,,142,147,150,154,157', -'159,161,167,129,133,138,141,146,149,153,156,160,163,166,128,132,137', -'140,145,148,152,155,158,162,165,127,131,136,139,144,130,135,,,,,,,,164', -',,,,,,,,,,,,,,142,147,150,154,157,159,161,167,129,133,138,141,146,149', -'153,156,160,163,166,128,132,137,140,145,148,152,155,158,162,165,127', -'131,136,139,144,135,,,,,,,,164,,,,,,,,,,,,,,,142,147,150,154,157,159', -'161,167,129,133,138,141,146,149,153,156,160,163,166,128,132,137,140', -'145,148,152,155,158,162,165,127,131,136,139,144,135,,,,,,,,164,,,,,', -',,,,,,,,,142,147,150,154,157,159,161,167,129,133,138,141,146,149,153', -'156,160,163,166,128,132,137,140,145,148,152,155,158,162,165,127,131', -'136,139,144,135,,,,,,,,164,,,,,,,,,,,,,,,142,147,150,154,157,159,161', -'167,129,133,138,141,146,149,153,156,160,163,166,128,132,137,140,145', -'148,152,155,158,162,165,127,131,136,139,144,135,,,,,,,,164,,,,,,,,,', -',,,,,142,147,150,154,157,159,161,167,129,133,138,141,146,149,153,156', -'160,163,166,128,132,137,140,145,148,152,155,158,162,165,127,131,136', -'139,144,135,,,,,,,,164,,,,,,,,,,,,,,,142,147,150,154,157,159,161,167', -'129,133,138,141,146,149,153,156,160,163,166,128,132,137,140,145,148', -'152,155,158,162,165,127,131,136,139,144,164,,,,,,,,,,,,,,,142,147,150', -'154,157,159,161,167,129,133,138,141,146,149,153,156,160,163,166,128', -'132,137,140,145,148,152,155,158,162,165,127,131,136,139,144,164,,,,', -',,,,,,,,,,142,147,150,154,157,159,161,167,129,133,138,141,146,149,153', -'156,160,163,166,128,132,137,140,145,148,152,155,158,162,165,127,131', -'136,139,144,164,,,,,,,,,,,,,,,142,147,150,154,157,159,161,167,129,133', -'138,141,146,149,153,156,160,163,166,128,132,137,140,145,148,152,155', -'158,162,165,127,131,136,139,144,142,147,150,154,157,159,161,167,129', -'133,138,141,146,149,153,156,160,163,166,128,132,137,140,145,148,152', -'155,158,162,165,127,131,136,139,144,142,147,150,154,157,159,161,167', -'129,133,138,141,146,149,153,156,160,163,166,128,132,137,140,145,148', -'152,155,158,162,165,127,131,136,139,144,142,147,150,154,157,159,161', -'167,129,133,138,141,146,149,153,156,160,163,166,128,132,137,140,145', -'148,152,155,158,162,165,127,131,136,139,144,142,147,150,154,157,159', -'161,167,129,133,138,141,146,149,153,156,160,163,166,128,132,137,140', -'145,148,152,155,158,162,165,127,131,136,139,144,142,147,150,154,157', -'159,161,167,129,133,138,141,146,149,153,156,160,163,166,128,132,137', -'140,145,148,152,155,158,162,165,127,131,136,139,144,142,147,150,154', -'157,159,161,167,129,133,138,141,146,149,153,156,160,163,166,128,132', -'137,140,145,148,152,155,158,162,165,127,131,136,139,144,142,147,150', -'154,157,159,161,167,129,133,138,141,146,149,153,156,160,163,166,128', -'132,137,140,145,148,152,155,158,162,165,127,131,136,139,144,142,147', -'150,154,157,159,161,167,129,133,138,141,146,149,153,156,160,163,166', -'128,132,137,140,145,148,152,155,158,162,165,127,131,136,139,144' ] - racc_action_table = arr = Array.new(10897, nil) +'134,198,142,28,31,34,38,42,45,51,56,61,64,96,114,181,59,103,104,105', +'299,94,270,290,286,287,101,262,102,109,57,65,130,135,262,49,289,151', +'59,146,150,165,49,146,150,8,14,200,54,198,185,59,197,212,213,179,49', +'146,150,154,157,160,162,164,129,133,138,141,145,149,153,156,159,163', +'167,128,132,137,140,144,148,152,155,158,161,166,127,131,136,139,143', +'147,180,8,14,200,12,26,311,32,35,12,40,204,28,31,34,38,42,45,51,56,61', +'64,293,278,59,209,2,286,287,21,25,146,150,59,96,41,266,186,52,57,65', +'66,94,-185,-185,59,7,13,120,22,198,33,36,59,146,150,49,54,206,207,262', +'194,71,74,5,10,16,19,49,8,14,295,282,44,47,-185,-185,49,8,14,8,14,190', +'96,8,14,190,250,188,96,96,94,-185,-185,8,14,200,94,94,8,14,72,3,-185', +'-185,59,26,59,32,35,12,40,195,28,31,34,38,42,45,51,56,61,64,81,8,14', +'49,2,97,196,21,25,49,49,97,280,41,-185,-185,52,57,65,66,-185,-185,8', +'14,7,13,279,22,277,33,36,-185,-185,78,49,54,124,103,104,105,71,74,5', +'10,16,19,101,316,102,59,312,44,47,146,150,154,157,160,162,164,129,133', +'138,141,145,149,153,156,170,171,8,14,103,104,105,72,3,-185,-185,72,3', +'101,78,102,26,208,32,35,12,40,257,28,31,34,38,42,45,51,56,61,64,103', +'104,105,211,2,212,213,21,25,101,124,102,81,41,,,52,57,65,66,,,,,7,13', +',22,,33,36,,,,49,54,,103,104,105,71,74,5,10,16,19,101,,102,,,44,47,146', +'150,154,157,160,162,164,129,133,138,141,145,149,153,156,159,163,167', +'128,132,137,140,144,,,,72,3,,,,26,,32,35,12,40,,28,31,34,38,42,45,51', +'56,61,64,103,104,105,,2,,,21,25,101,,102,,41,,,52,57,65,66,,,,,7,13', +',22,,33,36,,,,49,54,,,,,71,74,5,10,16,19,,,,,,44,47,146,150,154,157', +'160,162,164,129,133,138,141,145,149,153,156,159,163,167,128,132,137', +'140,144,,,,72,3,,,,26,,32,35,12,40,,28,31,34,38,42,45,51,56,61,64,,', +',,2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71', +'74,5,10,16,19,,,,,,44,47,146,150,154,157,160,162,164,129,133,138,141', +'145,149,153,156,159,163,167,128,132,137,140,144,,,,72,3,,,,26,,32,35', +'12,40,,28,31,34,38,42,45,51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65', +'66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71,74,5,10,16,19,,,,,,44,47,146', +'150,154,157,160,162,164,129,133,138,141,145,149,153,156,159,163,167', +'128,132,137,140,144,,,,72,3,,,,26,,32,35,12,40,,28,31,34,38,42,45,51', +'56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33,36,,,,49', +'54,,,,,71,74,5,10,16,19,,,,,,44,47,146,150,154,157,160,162,164,129,133', +'138,141,145,149,153,156,159,163,167,128,132,137,140,144,,,,72,3,,,,26', +',32,35,12,40,,28,31,34,38,42,45,51,56,61,64,,,,,2,,,21,25,,,,,41,,,52', +'57,65,66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71,74,5,10,16,19,,,,,,44,47', +'146,150,154,157,160,162,164,129,133,138,141,145,149,153,156,159,163', +'167,128,132,137,140,144,,,,72,3,,,,26,,32,35,12,40,,28,31,34,38,42,45', +'51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33,36,', +',,49,54,,,,,71,74,5,10,16,19,,,,,,44,47,146,150,154,157,160,162,164', +'129,133,138,141,145,149,153,156,159,163,167,128,132,137,140,144,,,,72', +'3,,,,26,,32,35,12,40,,28,31,34,38,42,45,51,56,61,64,,,,,2,,,21,25,,', +',,41,,,52,57,65,66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71,74,5,10,16,19', +',,,,,44,47,146,150,154,157,160,162,164,129,133,138,141,145,149,153,156', +'159,163,167,128,132,137,140,144,,,,72,3,,,,26,,32,35,12,40,,28,31,34', +'38,42,45,51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22', +',33,36,,,,49,54,,,,,71,74,5,10,16,19,,,,,,44,47,146,150,154,157,160', +'162,164,129,133,138,141,145,149,153,156,146,150,154,157,160,162,164', +'129,133,,,72,3,,,,26,,32,35,12,40,,28,31,34,38,42,45,51,56,61,64,,,', +',2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71', +'74,5,10,16,19,,,,,,44,47,146,150,154,157,160,162,164,129,133,138,141', +'145,149,153,156,146,150,154,157,160,162,164,129,133,,,72,3,,,,26,,32', +'35,12,40,,28,31,34,38,42,45,51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57', +'65,66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71,74,5,10,16,19,,,,,302,44,47', +'146,150,154,157,160,162,164,129,133,138,141,145,149,153,156,146,150', +'154,157,160,162,164,129,133,,,72,3,,,,26,,32,35,12,40,,28,31,34,38,42', +'45,51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33,36', +',,,49,54,,,,,71,74,5,10,16,19,,,,,,44,47,146,150,154,157,160,162,164', +'129,133,146,150,154,157,160,162,164,129,133,146,150,154,157,160,162', +'164,,72,3,,,,26,,32,35,12,40,,28,31,34,38,42,45,51,56,61,64,,,,,2,,', +'21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71,74,5', +'10,16,19,,,,,,44,47,146,150,154,157,160,162,164,129,133,146,150,154', +'157,160,162,164,,,,,,,,,,,72,3,,,,26,,32,35,12,40,,28,31,34,38,42,45', +'51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33,36,', +',,49,54,,,,,71,74,5,10,16,19,,,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72', +'3,,,,26,,32,35,12,40,,28,31,34,38,42,45,51,56,61,64,,,,,2,,,21,25,,', +',,41,,,52,57,65,66,,,,,7,13,,22,,33,36,,,,49,54,112,,,,71,74,5,10,16', +'19,,,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,26,,32,35,12,40,,28', +'31,34,38,42,45,51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,,,7', +'13,,22,,33,36,,,,49,54,,,,,71,74,5,10,16,19,,,,,,44,47,,,,,,,,,,,,,', +',,,,,,,,,,,,,72,3,,,,26,,32,35,12,40,,28,31,34,38,42,45,51,56,61,64', +',,,,2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33,36,,,,49,54,,,,', +'71,74,5,10,16,19,,,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,26,,32', +'35,12,40,,28,31,34,38,42,45,51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57', +'65,66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71,74,5,10,16,19,,,,,,44,47,', +',,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,26,,32,35,12,40,,28,31,34,38,42,45', +'51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33,36,', +',,49,54,,,,,71,74,5,10,16,19,,,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72', +'3,,,,26,,32,35,12,40,,28,31,34,38,42,45,51,56,61,64,,,,,2,,,21,25,,', +',,41,,,52,57,65,66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71,74,5,10,16,19', +',,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,26,,32,35,12,40,,28,31', +'34,38,42,45,51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13', +',22,,33,36,,,,49,54,,,,,71,74,5,10,16,19,,,,,,44,47,,,,,,,,,,,,,,,,', +',,,,,,,,,,72,3,,,,26,,32,35,12,40,,28,31,34,38,42,45,51,56,61,64,,,', +',2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71', +'74,5,10,16,19,,,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,26,,32,35', +'12,40,,28,31,34,38,42,45,51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65', +'66,,,,,7,13,,22,,33,36,,,,49,54,,122,,,71,74,5,10,16,19,,,,,,44,47,', +',,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,26,,32,35,12,40,,28,31,34,38,42,45', +'51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33,36,', +',,49,54,275,,,,71,74,5,10,16,19,,,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,,', +',72,3,8,14,,26,,32,35,12,40,,28,31,34,38,42,45,51,56,61,64,,,,,2,,,21', +'25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71,74,5,10', +'16,19,,,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,26,,32,35,12,40,', +'28,31,34,38,42,45,51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,', +',7,13,,22,,33,36,,,,49,54,,,,,71,74,5,10,16,19,,,,,,44,47,,,,,,,,,,', +',,,,,,,,,,,,,,,,72,3,,,,26,,32,35,12,40,,28,31,34,38,42,45,51,56,61', +'64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33,36,,,,49,54,', +',,,71,74,5,10,16,19,,,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,26', +',32,35,12,40,,28,31,34,38,42,45,51,56,61,64,,,,,2,,,21,25,,,,,41,,,52', +'57,65,66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71,74,5,10,16,19,,,,,,44,47', +',,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,26,,32,35,12,40,,28,31,34,38,42,45', +'51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33,36,', +',,49,54,,,,,71,74,5,10,16,19,,,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72', +'3,,,,26,,32,35,12,40,,28,31,34,38,42,45,51,56,61,64,,,,,2,,,21,25,,', +',,41,,,52,57,65,66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71,74,5,10,16,19', +',,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,26,,32,35,12,40,,28,31', +'34,38,42,45,51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13', +',22,,33,36,,,,49,54,,,,,71,74,5,10,16,19,,,,,,44,47,,,,,,,,,,,,,,,,', +',,,,,,,,,,72,3,,,,26,,32,35,12,40,,28,31,34,38,42,45,51,56,61,64,,,', +',2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71', +'74,5,10,16,19,,,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,26,,32,35', +'12,40,,28,31,34,38,42,45,51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65', +'66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71,74,5,10,16,19,,,,,,44,47,,,,', +',,,,,,,,,,,,,,,,,,,,,,72,3,,,,26,,32,35,12,40,,28,31,34,38,42,45,51', +'56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33,36,,,,49', +'54,,,,,71,74,5,10,16,19,,,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,', +',26,,32,35,12,40,,28,31,34,38,42,45,51,56,61,64,,,,,2,,,21,25,,,,,41', +',,52,57,65,66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71,74,5,10,16,19,,,,', +',44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,26,,32,35,12,40,,28,31,34,38', +'42,45,51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33', +'36,,,,49,54,,,,,71,74,5,10,16,19,,,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,', +',,72,3,,,,26,,32,35,12,40,,28,31,34,38,42,45,51,56,61,64,,,,,2,,,21', +'25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71,74,5,10', +'16,19,,,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,26,,32,35,12,40,', +'28,31,34,38,42,45,51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,', +',7,13,,22,,33,36,,,,49,54,,,,,71,74,5,10,16,19,,,,,,44,47,,,,,,,,,,', +',,,,,,,,,,,,,,,,72,3,,,,26,,32,35,12,40,,28,31,34,38,42,45,51,56,61', +'64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33,36,,,,49,54,', +',,,71,74,5,10,16,19,,,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,26', +',32,35,12,40,,28,31,34,38,42,45,51,56,61,64,,,,,2,,,21,25,,,,,41,,,52', +'57,65,66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71,74,5,10,16,19,,,,,,44,47', +',,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,26,,32,35,12,40,,28,31,34,38,42,45', +'51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33,36,', +',,49,54,,,,,71,74,5,10,16,19,,,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72', +'3,,,,26,,32,35,12,40,,28,31,34,38,42,45,51,56,61,64,,,,,2,,,21,25,,', +',,41,,,52,57,65,66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71,74,5,10,16,19', +',,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,26,,32,35,12,40,,28,31', +'34,38,42,45,51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13', +',22,,33,36,,,,49,54,,,,,71,74,5,10,16,19,,,,,,44,47,,,,,,,,,,,,,,,,', +',,,,,,,,,,72,3,,,,26,,32,35,12,40,,28,31,34,38,42,45,51,56,61,64,,,', +',2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71', +'74,5,10,16,19,,,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,26,,32,35', +'12,40,,28,31,34,38,42,45,51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65', +'66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71,74,5,10,16,19,,,,,,44,47,,,,', +',,,,,,,,,,,,,,,,,,,,,,72,3,,,,26,,32,35,12,40,,28,31,34,38,42,45,51', +'56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33,36,,,,49', +'54,,,,,71,74,5,10,16,19,,,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,', +',26,,32,35,12,40,,28,31,34,38,42,45,51,56,61,64,,,,,2,,,21,25,,,,,41', +',,52,57,65,66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71,74,5,10,16,19,,,,', +',44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,26,,32,35,12,40,,28,31,34,38', +'42,45,51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33', +'36,,,,49,54,,,,,71,74,5,10,16,19,,,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,', +',,72,3,,,,26,,32,35,12,40,,28,31,34,38,42,45,51,56,61,64,,,,,2,,,21', +'25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71,74,5,10', +'16,19,,,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,26,,32,35,12,40,', +'28,31,34,38,42,45,51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,', +',7,13,,22,,33,36,,,,49,54,,,,,71,74,5,10,16,19,,,,,,44,47,,,,,,,,,,', +',,,,,,,,,,,,,,,,72,3,,,,26,,32,35,12,40,,28,31,34,38,42,45,51,56,61', +'64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33,36,,,,49,54,112', +',,,71,74,5,10,16,19,,,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,26', +',32,35,12,40,,28,31,34,38,42,45,51,56,61,64,,,,,2,,,21,25,,,,,41,,,52', +'57,65,66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71,74,5,10,16,19,,,,,,44,47', +',,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,26,,32,35,12,40,,28,31,34,38,42,45', +'51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33,36,', +',,49,54,,,,,71,74,5,10,16,19,,,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72', +'3,,,,26,,32,35,12,40,,28,31,34,38,42,45,51,56,61,64,,,,,2,,,21,25,,', +',,41,,,52,57,65,66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71,74,5,10,16,19', +',,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,26,,32,35,12,40,,28,31', +'34,38,42,45,51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13', +',22,,33,36,,,,49,54,,,,,71,74,5,10,16,19,,,,,,44,47,,,,,,,,,,,,,,,,', +',,,,,,,,,,72,3,,,,26,,32,35,12,40,,28,31,34,38,42,45,51,56,61,64,,,', +',2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71', +'74,5,10,16,19,,,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,26,,32,35', +'12,40,,28,31,34,38,42,45,51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65', +'66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71,74,5,10,16,19,,,,,,44,47,,,,', +',,,,,,,,,,,,,,,,,,,,,,72,3,,,,26,,32,35,12,40,,28,31,34,38,42,45,51', +'56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33,36,,,,49', +'54,,,,,71,74,5,10,16,19,,,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,', +',26,,32,35,12,40,,28,31,34,38,42,45,51,56,61,64,,,,,2,,,21,25,,,,,41', +',,52,57,65,66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71,74,5,10,16,19,,,,', +',44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,26,,32,35,12,40,,28,31,34,38', +'42,45,51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33', +'36,,,,49,54,112,,,,71,74,5,10,16,19,,,,,,44,47,,,,,,,,,,,,,,,,,,,,,', +',,,,,72,3,,,,26,,32,35,12,40,,28,31,34,38,42,45,51,56,61,64,,,,,2,,', +'21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33,36,,,,49,54,59,,,,71,74', +'5,10,16,19,,,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,8,14,,26,,32,35', +'12,40,,28,31,34,38,42,45,51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65', +'66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71,74,5,10,16,19,,,,,,44,47,,,,', +',,,,,,,,,,,,,,,,,,,,,,72,3,,,,26,,32,35,12,40,,28,31,34,38,42,45,51', +'56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33,36,,,,49', +'54,,,,,71,74,5,10,16,19,,,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,', +',26,,32,35,12,40,,28,31,34,38,42,45,51,56,61,64,,,,,2,,,21,25,,,,,41', +',,52,57,65,66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71,74,5,10,16,19,,,,', +',44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,26,,32,35,12,40,,28,31,34,38', +'42,45,51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33', +'36,,,,49,54,,,,,71,74,5,10,16,19,,,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,', +',,72,3,,,,26,,32,35,12,40,,28,31,34,38,42,45,51,56,61,64,,,,,2,,,21', +'25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71,74,5,10', +'16,19,,,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,26,,32,35,12,40,', +'28,31,34,38,42,45,51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,', +',7,13,,22,,33,36,,,,49,54,,,,,71,74,5,10,16,19,,,,,,44,47,,,,,,,,,,', +',,,,,,,,,,,,,,,,72,3,,,,26,,32,35,12,40,,28,31,34,38,42,45,51,56,61', +'64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33,36,,,,49,54,', +',,,71,74,5,10,16,19,,,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,26', +',32,35,12,40,,28,31,34,38,42,45,51,56,61,64,,,,,2,,,21,25,,,,,41,,,52', +'57,65,66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71,74,5,10,16,19,,,,,,44,47', +',,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,26,,32,35,12,40,,28,31,34,38,42,45', +'51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13,,22,,33,36,', +',,49,54,,,,,71,74,5,10,16,19,,,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72', +'3,,,,26,,32,35,12,40,,28,31,34,38,42,45,51,56,61,64,,,,,2,,,21,25,,', +',,41,,,52,57,65,66,,,,,7,13,,22,,33,36,,,,49,54,,,,,71,74,5,10,16,19', +',,,,,44,47,,,,,,,,,,,,,,,,,,,,,,,,,,,72,3,,,,26,,32,35,12,40,,28,31', +'34,38,42,45,51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,,,7,13', +',22,,33,36,,,,49,54,134,,142,,71,74,5,10,16,19,,,,,,44,47,,,,,,,,,,', +',,,,,130,135,,,,151,,,,165,,72,3,,,,26,,32,35,,40,,,,146,150,154,157', +'160,162,164,129,133,138,141,145,149,153,156,159,163,167,128,132,137', +'140,144,148,152,155,158,161,166,127,131,136,139,143,147,134,,142,,,', +',,,321,,,,,,,,,,,,,,,,,,,,,,,130,135,,,,151,,,,165,,,,,,,,,,,,,,,,146', +'150,154,157,160,162,164,129,133,138,141,145,149,153,156,159,163,167', +'128,132,137,140,144,148,152,155,158,161,166,127,131,136,139,143,147', +',,,,,,,,,315,28,31,34,38,42,45,51,56,61,64,,,,,2,,,21,25,,,,,41,,,52', +'57,65,,,,,,,13,,22,,33,36,,,,49,54,,,,,71,74,5,10,16,19,,,,,,,,,,,,', +',,,,,,,,,,,,,,,,,,,,,72,3,,,,26,,32,35,,40,28,31,34,38,42,45,51,56,61', +'64,,,,,2,,,21,25,,,,,41,,,52,57,65,66,,,,,,13,,22,,33,36,,,,49,54,,', +',,71,74,5,10,16,19,,,,,,44,47,,28,31,34,38,42,45,51,56,61,64,,,,,,,', +',,,,,,,,72,3,57,65,,26,,32,35,,40,,,,,,,,,,54,,,,,,,,,,,,,,,,,,28,31', +'34,38,42,45,51,56,61,64,,,,,2,,,21,25,,,,,41,,,52,57,65,,,26,,32,35', +'13,40,22,,33,36,,,,49,54,,,,,71,74,5,10,16,19,,,,,,,,,,28,31,34,38,42', +'45,51,56,61,64,,,,,2,,,21,25,,,,,41,72,3,52,57,65,26,,32,35,,40,13,', +'22,,33,36,,,,49,54,134,,142,,71,74,5,10,16,19,,,,,,,,,,,,,,,,,,,,,,', +'130,135,,,,151,,,,165,,72,3,,,,26,,32,35,,40,,,,146,150,154,157,160', +'162,164,129,133,138,141,145,149,153,156,159,163,167,128,132,137,140', +'144,148,152,155,158,161,166,127,131,136,139,143,147,134,,142,,,,,,,', +',,,,,,,,,,,,,,,,,,,,,,130,135,,,,151,,,,165,,,,,,,,,,,,,,,,146,150,154', +'157,160,162,202,129,133,138,141,145,149,153,156,159,163,167,128,132', +'137,140,144,148,152,155,158,161,166,127,131,136,139,143,147,134,,142', +',,,,,,,,,,,,,,,,,,,,,,,,,,,,,130,135,,,,151,,,,165,,,,,,,,,,,,,,,,146', +'150,154,157,160,162,164,129,133,138,141,145,149,153,156,159,163,167', +'128,132,137,140,144,148,152,155,158,161,166,127,131,136,139,143,147', +'134,,142,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,130,135,,,,151,,,,165,,,,,,,,', +',,,,,,,146,150,154,157,160,162,164,129,133,138,141,145,149,153,156,159', +'163,167,128,132,137,140,144,148,152,155,158,161,166,127,131,136,139', +'143,147,134,,142,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,130,135,,,,151,,,,165', +',,,,,,,,,,,,,,,146,150,154,157,160,162,164,129,133,138,141,145,149,153', +'156,159,163,167,128,132,137,140,144,148,152,155,158,161,166,127,131', +'136,139,143,147,134,,142,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,130,135,,,,151', +',,,165,,,,,,,,,,,,,,,,146,150,154,157,160,162,164,129,133,138,141,145', +'149,153,156,159,163,167,128,132,137,140,144,148,152,155,158,161,166', +'127,131,136,139,143,147,134,,142,,,,,,,,,,,,,,,,,,,,,,,320,,,,,,,130', +'135,,,,151,,,,165,,,,,,,,,,,,,,,,146,150,154,157,160,162,164,129,133', +'138,141,145,149,153,156,159,163,167,128,132,137,140,144,148,152,155', +'158,161,166,127,131,136,139,143,147,134,,142,,,,,,,,,,,,,,,,,,,,,,,', +',,,,,,130,135,,,,151,,,,165,,,,,,,,,,,,,,,,146,150,154,157,160,162,164', +'129,133,138,141,145,149,153,156,159,163,167,128,132,137,140,144,148', +'152,155,158,161,166,127,131,136,139,143,147,134,,142,,,,,,,,,,,,,,,', +',,,,,,,271,,,,,,,130,135,,,,151,,,,165,,,,,,,,,,,,,,,,146,150,154,157', +'160,162,272,129,133,138,141,145,149,153,156,159,163,167,128,132,137', +'140,144,148,152,155,158,161,166,127,131,136,139,143,147,134,,142,,,', +',,,,,,,,,,,,,,,,,,,,,,,,,,130,135,,,,151,,,,165,,,,,,,,,,,,,,,,146,150', +'154,157,160,162,164,129,133,138,141,145,149,153,156,159,163,167,128', +'132,137,140,144,148,152,155,158,161,166,127,131,136,139,143,147,134', +',142,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,130,135,,,,151,,,,165,,,,,,,,,,,,', +',,,146,150,154,157,160,162,164,129,133,138,141,145,149,153,156,159,163', +'167,128,132,137,140,144,148,152,155,158,161,166,127,131,136,139,143', +'147,134,,142,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,130,135,,,,151,,,,165,,,,', +',,,,,,,,,,,146,150,154,157,160,162,164,129,133,138,141,145,149,153,156', +'159,163,167,128,132,137,140,144,148,152,155,158,161,166,127,131,136', +'139,143,147,134,,142,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,130,135,,,,151,,,', +'165,,,,,,,,,,,,,,,,146,150,154,157,160,162,164,129,133,138,141,145,149', +'153,156,159,163,167,128,132,137,140,144,148,152,155,158,161,166,127', +'131,136,139,143,147,134,,142,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,130,135,,', +',151,,,,165,,,,,,,,,,,,,,,,146,150,154,157,160,162,164,129,133,138,141', +'145,149,153,156,159,163,167,128,132,137,140,144,148,152,155,158,161', +'166,127,131,136,139,143,147,134,,142,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,130', +'135,,,,151,,,,165,,,,,,,,,,,,,,,,146,150,154,157,160,162,164,129,133', +'138,141,145,149,153,156,159,163,167,128,132,137,140,144,148,152,155', +'158,161,166,127,131,136,139,143,147,134,,142,,,,,,,,,,,,,,,,,,,,,,,', +',,,,,,130,135,,,,151,,,,165,,,,,,,,,,,,,,,,146,150,154,157,160,162,164', +'129,133,138,141,145,149,153,156,159,163,167,128,132,137,140,144,148', +'152,155,158,161,166,127,131,136,139,143,147,134,,142,,,,,,,,,,,,,,,', +',,,,,,,322,,,,,,,130,135,,,,151,,,,165,,,,,,,,,,,,,,,,146,150,154,157', +'160,162,164,129,133,138,141,145,149,153,156,159,163,167,128,132,137', +'140,144,148,152,155,158,161,166,127,131,136,139,143,147,134,,142,,,', +',,,,,,,,,,,,,,,,,,,,,,,,,,130,135,,,,151,,,,165,,,,,,,,59,,,,,,,,146', +'150,154,157,160,162,164,129,133,138,141,145,149,153,156,159,163,167', +'128,132,137,140,144,148,152,155,158,161,166,127,131,136,139,143,147', +'134,,142,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,130,135,,,,151,,,,165,,,,,,,,', +',,,,,,,146,150,154,157,160,162,164,129,133,138,141,145,149,153,156,159', +'163,167,128,132,137,140,144,148,152,155,158,161,166,127,131,136,139', +'143,147,134,,142,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,130,135,,,,151,,,,165', +',,,,,,,59,,,,,,,,146,150,154,157,160,162,164,129,133,138,141,145,149', +'153,156,159,163,167,128,132,137,140,144,148,152,155,158,161,166,127', +'131,136,139,143,147,134,,142,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,130,135,,', +',151,,,,165,,,,,,,,,,,,,,,,146,150,154,157,160,162,164,129,133,138,141', +'145,149,153,156,159,163,167,128,132,137,140,144,148,152,155,158,161', +'166,127,131,136,139,143,147,134,,142,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,130', +'135,,,,151,,,,165,,,,,,,,184,,,,,,,,146,150,154,157,160,162,164,129', +'133,138,141,145,149,153,156,159,163,167,128,132,137,140,144,148,152', +'155,158,161,166,127,131,136,139,143,147,130,135,,,,,,,,165,,,,,,,,,', +',,,,,,146,150,154,157,160,162,164,129,133,138,141,145,149,153,156,159', +'163,167,128,132,137,140,144,148,152,155,158,161,166,127,131,136,139', +'143,147,130,135,,,,,,,,165,,,,,,,,,,,,,,,,146,150,154,157,160,162,164', +'129,133,138,141,145,149,153,156,159,163,167,128,132,137,140,144,148', +'152,155,158,161,166,127,131,136,139,143,147,130,135,,,,,,,,165,,,,,', +',,,,,,,,,,146,150,154,157,160,162,164,129,133,138,141,145,149,153,156', +'159,163,167,128,132,137,140,144,148,152,155,158,161,166,127,131,136', +'139,143,147,135,,,,,,,,165,,,,,,,,,,,,,,,,146,150,154,157,160,162,164', +'129,133,138,141,145,149,153,156,159,163,167,128,132,137,140,144,148', +'152,155,158,161,166,127,131,136,139,143,147,135,,,,,,,,165,,,,,,,,,', +',,,,,,146,150,154,157,160,162,164,129,133,138,141,145,149,153,156,159', +'163,167,128,132,137,140,144,148,152,155,158,161,166,127,131,136,139', +'143,147,135,,,,,,,,165,,,,,,,,,,,,,,,,146,150,154,157,160,162,164,129', +'133,138,141,145,149,153,156,159,163,167,128,132,137,140,144,148,152', +'155,158,161,166,127,131,136,139,143,147,135,,,,,,,,165,,,,,,,,,,,,,', +',,146,150,154,157,160,162,164,129,133,138,141,145,149,153,156,159,163', +'167,128,132,137,140,144,148,152,155,158,161,166,127,131,136,139,143', +'147,135,,,,,,,,165,,,,,,,,,,,,,,,,146,150,154,157,160,162,164,129,133', +'138,141,145,149,153,156,159,163,167,128,132,137,140,144,148,152,155', +'158,161,166,127,131,136,139,143,147,165,,,,,,,,,,,,,,,,146,150,154,157', +'160,162,164,129,133,138,141,145,149,153,156,159,163,167,128,132,137', +'140,144,148,152,155,158,161,166,127,131,136,139,143,147,165,,,,,,,,', +',,,,,,,146,150,154,157,160,162,164,129,133,138,141,145,149,153,156,159', +'163,167,128,132,137,140,144,148,152,155,158,161,166,127,131,136,139', +'143,147,165,,,,,,,,,,,,,,,,146,150,154,157,160,162,164,129,133,138,141', +'145,149,153,156,159,163,167,128,132,137,140,144,148,152,155,158,161', +'166,127,131,136,139,143,147,146,150,154,157,160,162,164,129,133,138', +'141,145,149,153,156,159,163,167,128,132,137,140,144,148,152,155,158', +'161,166,127,131,136,139,143,147,146,150,154,157,160,162,164,129,133', +'138,141,145,149,153,156,159,163,167,128,132,137,140,144,148,152,155', +'158,161,166,127,131,136,139,143,147,146,150,154,157,160,162,164,129', +'133,138,141,145,149,153,156,159,163,167,128,132,137,140,144,148,152', +'155,158,161,166,127,131,136,139,143,147,146,150,154,157,160,162,164', +'129,133,138,141,145,149,153,156,159,163,167,128,132,137,140,144,148', +'152,155,158,161,166,127,131,136,139,143,147,146,150,154,157,160,162', +'164,129,133,138,141,145,149,153,156,159,163,167,128,132,137,140,144', +'148,152,155,158,161,166,127,131,136,139,143,147,146,150,154,157,160', +'162,164,129,133,138,141,145,149,153,156,159,163,167,128,132,137,140', +'144,148,152,155,158,161,166,127,131,136,139,143,147,146,150,154,157', +'160,162,164,129,133,138,141,145,149,153,156,159,163,167,128,132,137', +'140,144,148,152,155,158,161,166,127,131,136,139,143,147,146,150,154', +'157,160,162,164,129,133,138,141,145,149,153,156,159,163,167,128,132', +'137,140,144,148,152,155,158,161,166,127,131,136,139,143,147' ] + racc_action_table = arr = Array.new(10987, nil) idx = 0 clist.each do |str| str.split(',', -1).each do |i| @@ -385,382 +387,382 @@ clist = [ end clist = [ -'115,207,115,170,170,170,170,170,170,170,170,170,170,70,70,70,82,161', -'255,255,255,184,70,191,70,214,214,255,184,255,170,170,115,115,29,29', -'29,115,214,292,272,115,130,29,70,29,292,170,206,191,98,98,98,65,98,93', +'115,111,115,170,170,170,170,170,170,170,170,170,170,269,36,82,259,254', +'254,254,272,269,191,257,214,214,254,184,254,32,170,170,115,115,292,184', +'250,115,214,246,246,115,292,243,243,111,111,111,170,191,94,296,111,218', +'218,81,269,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115', '115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115', -'115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115', -'115,70,78,82,191,191,191,170,203,170,170,154,170,115,154,154,154,154', -'154,154,154,154,154,154,111,296,260,260,154,259,189,154,154,279,203', -'280,190,154,189,261,154,154,154,154,190,186,96,269,154,154,78,154,121', -'154,154,269,211,154,154,243,243,181,181,154,154,154,154,154,154,111', -'111,111,189,296,154,154,111,261,190,203,203,203,245,245,261,53,25,261', -'41,269,186,186,186,94,25,83,83,121,121,126,126,94,257,154,154,124,124', -'69,154,293,154,154,136,154,102,136,136,136,136,136,136,136,136,136,136', -'103,190,190,25,136,25,35,136,136,104,94,205,94,136,310,310,136,136,136', -'136,117,117,174,174,136,136,31,136,202,136,136,236,236,136,136,75,90', -'90,90,136,136,136,136,136,136,90,179,90,116,116,136,136,225,225,225', -'225,225,225,225,225,225,225,225,225,225,225,225,225,225,225,225,225', -'225,225,225,218,218,114,114,136,136,173,173,309,136,81,136,136,5,136', -'119,5,5,5,5,5,5,5,5,5,5,254,254,254,2,5,288,288,5,5,254,123,254,1,5', -'66,66,5,5,5,5,240,240,85,85,5,5,180,5,247,5,5,88,88,5,5,,89,89,89,5', -'5,5,5,5,5,89,,89,61,61,5,5,241,241,241,241,241,241,241,241,241,241,241', -'241,241,241,241,241,241,241,241,241,241,241,241,,,,,5,5,,,,5,,5,5,7', -'5,,7,7,7,7,7,7,7,7,7,7,,,,,7,,,7,7,,,,,7,,,7,7,7,7,,,,,7,7,,7,,7,7,', -',7,7,,,,,7,7,7,7,7,7,,,,,,7,7,220,220,220,220,220,220,220,220,220,220', -'220,220,220,220,220,220,220,220,220,220,220,220,220,,,,,7,7,,,,7,,7', -'7,10,7,,10,10,10,10,10,10,10,10,10,10,,,,,10,,,10,10,,,,,10,,,10,10', -'10,10,,,,,10,10,,10,,10,10,,,10,10,,,,,10,10,10,10,10,10,,,,,,10,10', -'216,216,216,216,216,216,216,216,216,216,216,216,216,216,216,216,216', -'216,216,216,216,216,216,,,,,10,10,,,,10,,10,10,12,10,,12,12,12,12,12', -'12,12,12,12,12,,,,,12,,,12,12,,,,,12,,,12,12,12,12,,,,,12,12,,12,,12', -'12,,,12,12,,,,,12,12,12,12,12,12,,,,,,12,12,238,238,238,238,238,238', -'238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238', -',,,,12,12,,,,12,,12,12,13,12,,13,13,13,13,13,13,13,13,13,13,,,,,13,', -',13,13,,,,,13,,,13,13,13,13,,,,,13,13,,13,,13,13,,,13,13,,,,,13,13,13', -'13,13,13,,,,,,13,13,232,232,232,232,232,232,232,232,232,232,232,232', -'232,232,232,232,232,232,232,232,232,232,232,,,,,13,13,,,,13,,13,13,16', -'13,,16,16,16,16,16,16,16,16,16,16,,,,,16,,,16,16,,,,,16,,,16,16,16,16', -',,,,16,16,,16,,16,16,,,16,16,,,,,16,16,16,16,16,16,,,,,,16,16,234,234', -'234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234', -'234,234,234,234,,,,,16,16,,,,16,,16,16,135,16,,135,135,135,135,135,135', -'135,135,135,135,,,,,135,,,135,135,,,,,135,,,135,135,135,135,,,,,135', -'135,,135,,135,135,,,135,135,,,,,135,135,135,135,135,135,,,,,,135,135', -'228,228,228,228,228,228,228,228,228,228,228,228,228,228,228,228,228', -'228,228,228,228,228,228,,,,,135,135,,,,135,,135,135,21,135,,21,21,21', -'21,21,21,21,21,21,21,,,,,21,,,21,21,,,,,21,,,21,21,21,21,,,,,21,21,', -'21,,21,21,,,21,21,,,,,21,21,21,21,21,21,,,,,,21,21,249,249,249,249,249', -'249,249,249,249,249,249,249,249,249,249,221,221,221,221,221,221,221', -'221,221,,,,21,21,,,,21,,21,21,134,21,,134,134,134,134,134,134,134,134', -'134,134,,,,,134,,,134,134,,,,,134,,,134,134,134,134,,,,,134,134,,134', -',134,134,,,134,134,,,,,134,134,134,134,134,134,,,,,,134,134,252,252', -'252,252,252,252,252,252,252,252,252,252,252,252,252,229,229,229,229', -'229,229,229,229,229,,,,134,134,,,,134,,134,134,311,134,,311,311,311', -'311,311,311,311,311,311,311,,,,,311,,,311,311,,,,,311,,,311,311,311', -'311,,,,,311,311,,311,,311,311,,,311,311,,,,,311,311,311,311,311,311', -',,,,,311,311,246,246,246,246,246,246,246,246,246,246,246,246,246,246', -'246,233,233,233,233,233,233,233,233,233,,,,311,311,,,,311,,311,311,133', -'311,,133,133,133,133,133,133,133,133,133,133,,,,,133,,,133,133,,,,,133', -',,133,133,133,133,,,,,133,133,,133,,133,133,,,133,133,,,,,133,133,133', -'133,133,133,,,,,,133,133,242,242,242,242,242,242,242,242,242,242,242', -'242,242,242,242,239,239,239,239,239,239,239,239,239,,,,133,133,,,,133', -',133,133,132,133,,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,235,235,235,235,235,235,235', -'235,235,226,226,226,226,226,226,226,226,226,217,217,217,217,217,217', -'217,,,132,132,,,,132,,132,132,32,132,,32,32,32,32,32,32,32,32,32,32', -',,,,32,,,32,32,,,,,32,,,32,32,32,32,,,,,32,32,,32,,32,32,,,32,32,,,', -',32,32,32,32,32,32,,,,,,32,32,253,253,253,253,253,253,253,,,,,,,,,,', -',,,,,,,,,,32,32,,,,32,,32,32,34,32,,34,34,34,34,34,34,34,34,34,34,,', -',,34,,,34,34,,,,,34,,,34,34,34,34,,,,,34,34,,34,,34,34,,,34,34,34,,', -',34,34,34,34,34,34,,,,,,34,34,,,,,,,,,,,,,,,,,,,,,,,,,,,,34,34,,,,34', -',34,34,299,34,,299,299,299,299,299,299,299,299,299,299,,,,,299,,,299', -'299,,,,,299,,,299,299,299,299,,,,,299,299,,299,,299,299,,,299,299,,', -',,299,299,299,299,299,299,,,,,299,299,299,,,,,,,,,,,,,,,,,,,,,,,,,,', -',299,299,,,,299,,299,299,37,299,,37,37,37,37,37,37,37,37,37,37,,,,,37', -',,37,37,,,,,37,,,37,37,37,37,,,,,37,37,,37,,37,37,,,37,37,,,,,37,37', -'37,37,37,37,,,,,,37,37,,,,,,,,,,,,,,,,,,,,,,,,,,,,37,37,,,,37,,37,37', -'40,37,,40,40,40,40,40,40,40,40,40,40,,,,,40,,,40,40,,,,,40,,,40,40,40', -'40,,,,,40,40,,40,,40,40,,,40,40,,,,,40,40,40,40,40,40,,,,,,40,40,,,', -',,,,,,,,,,,,,,,,,,,,,,,,40,40,,,,40,,40,40,287,40,,287,287,287,287,287', -'287,287,287,287,287,,,,,287,,,287,287,,,,,287,,,287,287,287,287,,,,', -'287,287,,287,,287,287,,,287,287,,,,,287,287,287,287,287,287,,,,,,287', -'287,,,,,,,,,,,,,,,,,,,,,,,,,,,,287,287,,,,287,,287,287,44,287,,44,44', -'44,44,44,44,44,44,44,44,,,,,44,,,44,44,,,,,44,,,44,44,44,44,,,,,44,44', -',44,,44,44,,,44,44,,,,,44,44,44,44,44,44,,,,,,44,44,,,,,,,,,,,,,,,,', -',,,,,,,,,,,44,44,,,,44,,44,44,52,44,,52,52,52,52,52,52,52,52,52,52,', -',,,52,,,52,52,,,,,52,,,52,52,52,52,,,,,52,52,,52,,52,52,,,52,52,,,,', -'52,52,52,52,52,52,,,,,,52,52,,,,,,,,,,,,,,,,,,,,,,,,,,,,52,52,,,,52', -',52,52,286,52,,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,54,286,,54,54,54,54,54,54,54,54,54,54,,,,,54,,,54', -'54,,,,,54,,,54,54,54,54,,,,,54,54,,54,,54,54,,,54,54,,54,,,54,54,54', -'54,54,54,,,,,,54,54,,,,,,,,,,,,,,,,,,,,,,,,,,,,54,54,,,,54,,54,54,277', -'54,,277,277,277,277,277,277,277,277,277,277,,,,,277,,,277,277,,,,,277', -',,277,277,277,277,,,,,277,277,,277,,277,277,,,277,277,,,,,277,277,277', -'277,277,277,,,,,277,277,277,,,,,,,,,,,,,,,,,,,,,,,,,,,,277,277,,,,277', -',277,277,275,277,,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,274,275,,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,67,274,,67,67,67,67,67,67,67,67', -'67,67,,,,,67,,,67,67,,,,,67,,,67,67,67,67,,,,,67,67,,67,,67,67,,,67', -'67,,,,,67,67,67,67,67,67,,,,,,67,67,,,,,,,,,,,,,,,,,,,,,,,,,,,,67,67', -',,,67,,67,67,262,67,,262,262,262,262,262,262,262,262,262,262,,,,,262', -',,262,262,,,,,262,,,262,262,262,262,,,,,262,262,,262,,262,262,,,262', -'262,,,,,262,262,262,262,262,262,,,,,,262,262,,,,,,,,,,,,,,,,,,,,,,,', -',,,,262,262,,,,262,,262,262,213,262,,213,213,213,213,213,213,213,213', -'213,213,,,,,213,,,213,213,,,,,213,,,213,213,213,213,,,,,213,213,,213', -',213,213,,,213,213,,,,,213,213,213,213,213,213,,,,,,213,213,,,,,,,,', -',,,,,,,,,,,,,,,,,,,213,213,,,,213,,213,213,212,213,,212,212,212,212', -'212,212,212,212,212,212,,,,,212,,,212,212,,,,,212,,,212,212,212,212', -',,,,212,212,,212,,212,212,,,212,212,,,,,212,212,212,212,212,212,,,,', -',212,212,,,,,,,,,,,,,,,,,,,,,,,,,,,,212,212,,,,212,,212,212,71,212,', -'71,71,71,71,71,71,71,71,71,71,,,,,71,,,71,71,,,,,71,,,71,71,71,71,,', -',,71,71,,71,,71,71,,,71,71,,,,,71,71,71,71,71,71,,,,,,71,71,,,,,,,,', -',,,,,,,,,,,,,,,,,,,71,71,,,,71,,71,71,74,71,,74,74,74,74,74,74,74,74', -'74,74,,,,,74,,,74,74,,,,,74,,,74,74,74,74,,,,,74,74,,74,,74,74,,,74', -'74,,,,,74,74,74,74,74,74,,,,,,74,74,,,,,,,,,,,,,,,,,,,,,,,,,,,,74,74', -',,,74,,74,74,201,74,,201,201,201,201,201,201,201,201,201,201,,,,,201', -',,201,201,,,,,201,,,201,201,201,201,,,,,201,201,,201,,201,201,,,201', -'201,201,,,,201,201,201,201,201,201,,,,,,201,201,,,,,,,,,,,,,,,,,,,,', -',,,,,,,201,201,201,201,,201,,201,201,200,201,,200,200,200,200,200,200', -'200,200,200,200,,,,,200,,,200,200,,,,,200,,,200,200,200,200,,,,,200', -'200,,200,,200,200,,,200,200,,,,,200,200,200,200,200,200,,,,,,200,200', -',,,,,,,,,,,,,,,,,,,,,,,,,,,200,200,,,,200,,200,200,131,200,,131,131', -'131,131,131,131,131,131,131,131,,,,,131,,,131,131,,,,,131,,,131,131', -'131,131,,,,,131,131,,131,,131,131,,,131,131,,,,,131,131,131,131,131', -'131,,,,,,131,131,,,,,,,,,,,,,,,,,,,,,,,,,,,,131,131,,,,131,,131,131', -'187,131,,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,185,187,,185,185,185,185,185,185,185,185,185,185,,,', -',185,,,185,185,,,,,185,,,185,185,185,185,,,,,185,185,,185,,185,185,', +'115,115,115,82,191,191,191,78,170,296,170,170,143,170,115,143,143,143', +'143,143,143,143,143,143,143,261,203,279,121,143,288,288,143,143,240', +'240,280,190,143,187,96,143,143,143,143,190,88,88,41,143,143,53,143,203', +'143,143,78,248,248,143,143,116,116,261,103,143,143,143,143,143,143,261', +'121,121,261,211,143,143,117,117,190,62,62,187,187,187,26,99,99,99,164', +'99,97,189,26,118,118,203,203,203,97,189,310,310,143,143,173,173,293', +'143,207,143,143,299,143,104,299,299,299,299,299,299,299,299,299,299', +'2,190,190,26,299,26,105,299,299,97,189,97,206,299,174,174,299,299,299', +'299,89,89,67,67,299,299,205,299,202,299,299,83,83,75,299,299,66,70,70', +'70,299,299,299,299,299,299,70,309,70,69,299,299,299,249,249,249,249', +'249,249,249,249,249,249,249,249,249,249,249,70,70,260,260,255,255,255', +'181,181,85,85,299,299,255,1,255,299,120,299,299,5,299,179,5,5,5,5,5', +'5,5,5,5,5,30,30,30,124,5,125,125,5,5,30,130,30,180,5,,,5,5,5,5,,,,,5', +'5,,5,,5,5,,,,5,5,,90,90,90,5,5,5,5,5,5,90,,90,,,5,5,244,244,244,244', +'244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,244', +'244,244,,,,5,5,,,,5,,5,5,7,5,,7,7,7,7,7,7,7,7,7,7,91,91,91,,7,,,7,7', +'91,,91,,7,,,7,7,7,7,,,,,7,7,,7,,7,7,,,,7,7,,,,,7,7,7,7,7,7,,,,,,7,7', +'232,232,232,232,232,232,232,232,232,232,232,232,232,232,232,232,232', +'232,232,232,232,232,232,,,,7,7,,,,7,,7,7,10,7,,10,10,10,10,10,10,10', +'10,10,10,,,,,10,,,10,10,,,,,10,,,10,10,10,10,,,,,10,10,,10,,10,10,,', +',10,10,,,,,10,10,10,10,10,10,,,,,,10,10,228,228,228,228,228,228,228', +'228,228,228,228,228,228,228,228,228,228,228,228,228,228,228,228,,,,10', +'10,,,,10,,10,10,12,10,,12,12,12,12,12,12,12,12,12,12,,,,,12,,,12,12', +',,,,12,,,12,12,12,12,,,,,12,12,,12,,12,12,,,,12,12,,,,,12,12,12,12,12', +'12,,,,,,12,12,225,225,225,225,225,225,225,225,225,225,225,225,225,225', +'225,225,225,225,225,225,225,225,225,,,,12,12,,,,12,,12,12,13,12,,13', +'13,13,13,13,13,13,13,13,13,,,,,13,,,13,13,,,,,13,,,13,13,13,13,,,,,13', +'13,,13,,13,13,,,,13,13,,,,,13,13,13,13,13,13,,,,,,13,13,241,241,241', +'241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241', +'241,241,241,,,,13,13,,,,13,,13,13,16,13,,16,16,16,16,16,16,16,16,16', +'16,,,,,16,,,16,16,,,,,16,,,16,16,16,16,,,,,16,16,,16,,16,16,,,,16,16', +',,,,16,16,16,16,16,16,,,,,,16,16,238,238,238,238,238,238,238,238,238', +'238,238,238,238,238,238,238,238,238,238,238,238,238,238,,,,16,16,,,', +'16,,16,16,19,16,,19,19,19,19,19,19,19,19,19,19,,,,,19,,,19,19,,,,,19', +',,19,19,19,19,,,,,19,19,,19,,19,19,,,,19,19,,,,,19,19,19,19,19,19,,', +',,,19,19,235,235,235,235,235,235,235,235,235,235,235,235,235,235,235', +'235,235,235,235,235,235,235,235,,,,19,19,,,,19,,19,19,287,19,,287,287', +'287,287,287,287,287,287,287,287,,,,,287,,,287,287,,,,,287,,,287,287', +'287,287,,,,,287,287,,287,,287,287,,,,287,287,,,,,287,287,287,287,287', +'287,,,,,,287,287,220,220,220,220,220,220,220,220,220,220,220,220,220', +'220,220,220,220,220,220,220,220,220,220,,,,287,287,,,,287,,287,287,22', +'287,,22,22,22,22,22,22,22,22,22,22,,,,,22,,,22,22,,,,,22,,,22,22,22', +'22,,,,,22,22,,22,,22,22,,,,22,22,,,,,22,22,22,22,22,22,,,,,,22,22,245', +'245,245,245,245,245,245,245,245,245,245,245,245,245,245,226,226,226', +'226,226,226,226,226,226,,,22,22,,,,22,,22,22,286,22,,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,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253', +'229,229,229,229,229,229,229,229,229,,,286,286,,,,286,,286,286,277,286', +',277,277,277,277,277,277,277,277,277,277,,,,,277,,,277,277,,,,,277,', +',277,277,277,277,,,,,277,277,,277,,277,277,,,,277,277,,,,,277,277,277', +'277,277,277,,,,,277,277,277,216,216,216,216,216,216,216,216,216,216', +'216,216,216,216,216,233,233,233,233,233,233,233,233,233,,,277,277,,', +',277,,277,277,275,277,,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,242,242,242,242,242,242', +'242,242,242,239,239,239,239,239,239,239,239,239,217,217,217,217,217', +'217,217,,275,275,,,,275,,275,275,274,275,,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,236', +'236,236,236,236,236,236,236,236,221,221,221,221,221,221,221,,,,,,,,', +',,274,274,,,,274,,274,274,33,274,,33,33,33,33,33,33,33,33,33,33,,,,', +'33,,,33,33,,,,,33,,,33,33,33,33,,,,,33,33,,33,,33,33,,,,33,33,,,,,33', +'33,33,33,33,33,,,,,,33,33,,,,,,,,,,,,,,,,,,,,,,,,,,,33,33,,,,33,,33', +'33,35,33,,35,35,35,35,35,35,35,35,35,35,,,,,35,,,35,35,,,,,35,,,35,35', +'35,35,,,,,35,35,,35,,35,35,,,,35,35,35,,,,35,35,35,35,35,35,,,,,,35', +'35,,,,,,,,,,,,,,,,,,,,,,,,,,,35,35,,,,35,,35,35,262,35,,262,262,262', +'262,262,262,262,262,262,262,,,,,262,,,262,262,,,,,262,,,262,262,262', +'262,,,,,262,262,,262,,262,262,,,,262,262,,,,,262,262,262,262,262,262', +',,,,,262,262,,,,,,,,,,,,,,,,,,,,,,,,,,,262,262,,,,262,,262,262,40,262', +',40,40,40,40,40,40,40,40,40,40,,,,,40,,,40,40,,,,,40,,,40,40,40,40,', +',,,40,40,,40,,40,40,,,,40,40,,,,,40,40,40,40,40,40,,,,,,40,40,,,,,,', +',,,,,,,,,,,,,,,,,,,,40,40,,,,40,,40,40,213,40,,213,213,213,213,213,213', +'213,213,213,213,,,,,213,,,213,213,,,,,213,,,213,213,213,213,,,,,213', +'213,,213,,213,213,,,,213,213,,,,,213,213,213,213,213,213,,,,,,213,213', +',,,,,,,,,,,,,,,,,,,,,,,,,,213,213,,,,213,,213,213,44,213,,44,44,44,44', +'44,44,44,44,44,44,,,,,44,,,44,44,,,,,44,,,44,44,44,44,,,,,44,44,,44', +',44,44,,,,44,44,,,,,44,44,44,44,44,44,,,,,,44,44,,,,,,,,,,,,,,,,,,,', +',,,,,,,44,44,,,,44,,44,44,47,44,,47,47,47,47,47,47,47,47,47,47,,,,,47', +',,47,47,,,,,47,,,47,47,47,47,,,,,47,47,,47,,47,47,,,,47,47,,,,,47,47', +'47,47,47,47,,,,,,47,47,,,,,,,,,,,,,,,,,,,,,,,,,,,47,47,,,,47,,47,47', +'52,47,,52,52,52,52,52,52,52,52,52,52,,,,,52,,,52,52,,,,,52,,,52,52,52', +'52,,,,,52,52,,52,,52,52,,,,52,52,,,,,52,52,52,52,52,52,,,,,,52,52,,', +',,,,,,,,,,,,,,,,,,,,,,,,52,52,,,,52,,52,52,212,52,,212,212,212,212,212', +'212,212,212,212,212,,,,,212,,,212,212,,,,,212,,,212,212,212,212,,,,', +'212,212,,212,,212,212,,,,212,212,,,,,212,212,212,212,212,212,,,,,,212', +'212,,,,,,,,,,,,,,,,,,,,,,,,,,,212,212,,,,212,,212,212,59,212,,59,59', +'59,59,59,59,59,59,59,59,,,,,59,,,59,59,,,,,59,,,59,59,59,59,,,,,59,59', +',59,,59,59,,,,59,59,,59,,,59,59,59,59,59,59,,,,,,59,59,,,,,,,,,,,,,', +',,,,,,,,,,,,,59,59,,,,59,,59,59,200,59,,200,200,200,200,200,200,200', +'200,200,200,,,,,200,,,200,200,,,,,200,,,200,200,200,200,,,,,200,200', +',200,,200,200,,,,200,200,200,,,,200,200,200,200,200,200,,,,,,200,200', +',,,,,,,,,,,,,,,,,,,,,,,,,,200,200,200,200,,200,,200,200,199,200,,199', +'199,199,199,199,199,199,199,199,199,,,,,199,,,199,199,,,,,199,,,199', +'199,199,199,,,,,199,199,,199,,199,199,,,,199,199,,,,,199,199,199,199', +'199,199,,,,,,199,199,,,,,,,,,,,,,,,,,,,,,,,,,,,199,199,,,,199,,199,199', +'186,199,,186,186,186,186,186,186,186,186,186,186,,,,,186,,,186,186,', +',,,186,,,186,186,186,186,,,,,186,186,,186,,186,186,,,,186,186,,,,,186', +'186,186,186,186,186,,,,,,186,186,,,,,,,,,,,,,,,,,,,,,,,,,,,186,186,', +',,186,,186,186,185,186,,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,,,,,,185,185,,,,,,,,,,,,,,,,,,', -',,,,,,,,,185,185,,,,185,,185,185,171,185,,171,171,171,171,171,171,171', +',,,,,,,,185,185,,,,185,,185,185,171,185,,171,171,171,171,171,171,171', '171,171,171,,,,,171,,,171,171,,,,,171,,,171,171,171,171,,,,,171,171', -',171,,171,171,,,171,171,,,,,171,171,171,171,171,171,,,,,,171,171,,,', -',,,,,,,,,,,,,,,,,,,,,,,,171,171,,,,171,,171,171,138,171,,138,138,138', -'138,138,138,138,138,138,138,,,,,138,,,138,138,,,,,138,,,138,138,138', -'138,,,,,138,138,,138,,138,138,,,138,138,,,,,138,138,138,138,138,138', -',,,,,138,138,,,,,,,,,,,,,,,,,,,,,,,,,,,,138,138,,,,138,,138,138,167', -'138,,167,167,167,167,167,167,167,167,167,167,,,,,167,,,167,167,,,,,167', -',,167,167,167,167,,,,,167,167,,167,,167,167,,,167,167,,,,,167,167,167', -'167,167,167,,,,,,167,167,,,,,,,,,,,,,,,,,,,,,,,,,,,,167,167,,,,167,', -'167,167,128,167,,128,128,128,128,128,128,128,128,128,128,,,,,128,,,128', -'128,,,,,128,,,128,128,128,128,,,,,128,128,,128,,128,128,,,128,128,,', -',,128,128,128,128,128,128,,,,,,128,128,,,,,,,,,,,,,,,,,,,,,,,,,,,,128', -'128,,,,128,,128,128,165,128,,165,165,165,165,165,165,165,165,165,165', -',,,,165,,,165,165,,,,,165,,,165,165,165,165,,,,,165,165,,165,,165,165', -',,165,165,,,,,165,165,165,165,165,165,,,,,,165,165,,,,,,,,,,,,,,,,,', -',,,,,,,,,,165,165,,,,165,,165,165,164,165,,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,164,,,', -',,,,,,,,,,,,,,,,,,,,,,,,164,164,,,,164,,164,164,163,164,,163,163,163', -'163,163,163,163,163,163,163,,,,,163,,,163,163,,,,,163,,,163,163,163', -'163,,,,,163,163,,163,,163,163,,,163,163,,,,,163,163,163,163,163,163', -',,,,,163,163,,,,,,,,,,,,,,,,,,,,,,,,,,,,163,163,,,,163,,163,163,162', -'163,,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,162,,,,,,,,,,,,,,,,,,,,,,,,,,,,162,162,,,,162,', -'162,162,160,162,,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,160,129,160,,129,129,129,129,129,129,129,129,129,129', -',,,,129,,,129,129,,,,,129,,,129,129,129,129,,,,,129,129,,129,,129,129', -',,129,129,,,,,129,129,129,129,129,129,,,,,,129,129,,,,,,,,,,,,,,,,,', -',,,,,,,,,,129,129,,,,129,,129,129,158,129,,158,158,158,158,158,158,158', +',171,,171,171,,,,171,171,,,,,171,171,171,171,171,171,,,,,,171,171,,', +',,,,,,,,,,,,,,,,,,,,,,,,171,171,,,,171,,171,171,167,171,,167,167,167', +'167,167,167,167,167,167,167,,,,,167,,,167,167,,,,,167,,,167,167,167', +'167,,,,,167,167,,167,,167,167,,,,167,167,,,,,167,167,167,167,167,167', +',,,,,167,167,,,,,,,,,,,,,,,,,,,,,,,,,,,167,167,,,,167,,167,167,71,167', +',71,71,71,71,71,71,71,71,71,71,,,,,71,,,71,71,,,,,71,,,71,71,71,71,', +',,,71,71,,71,,71,71,,,,71,71,,,,,71,71,71,71,71,71,,,,,,71,71,,,,,,', +',,,,,,,,,,,,,,,,,,,,71,71,,,,71,,71,71,74,71,,74,74,74,74,74,74,74,74', +'74,74,,,,,74,,,74,74,,,,,74,,,74,74,74,74,,,,,74,74,,74,,74,74,,,,74', +'74,,,,,74,74,74,74,74,74,,,,,,74,74,,,,,,,,,,,,,,,,,,,,,,,,,,,74,74', +',,,74,,74,74,166,74,,166,166,166,166,166,166,166,166,166,166,,,,,166', +',,166,166,,,,,166,,,166,166,166,166,,,,,166,166,,166,,166,166,,,,166', +'166,,,,,166,166,166,166,166,166,,,,,,166,166,,,,,,,,,,,,,,,,,,,,,,,', +',,,166,166,,,,166,,166,166,165,166,,165,165,165,165,165,165,165,165', +'165,165,,,,,165,,,165,165,,,,,165,,,165,165,165,165,,,,,165,165,,165', +',165,165,,,,165,165,,,,,165,165,165,165,165,165,,,,,,165,165,,,,,,,', +',,,,,,,,,,,,,,,,,,,165,165,,,,165,,165,165,163,165,,163,163,163,163', +'163,163,163,163,163,163,,,,,163,,,163,163,,,,,163,,,163,163,163,163', +',,,,163,163,,163,,163,163,,,,163,163,,,,,163,163,163,163,163,163,,,', +',,163,163,,,,,,,,,,,,,,,,,,,,,,,,,,,163,163,,,,163,,163,163,161,163', +',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,160,161,,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,160,159,160,,159,159,159,159,159,159,159,159,159,159,,,,', +'159,,,159,159,,,,,159,,,159,159,159,159,,,,,159,159,,159,,159,159,,', +',159,159,,,,,159,159,159,159,159,159,,,,,,159,159,,,,,,,,,,,,,,,,,,', +',,,,,,,,159,159,,,,159,,159,159,158,159,,158,158,158,158,158,158,158', '158,158,158,,,,,158,,,158,158,,,,,158,,,158,158,158,158,,,,,158,158', -',158,,158,158,,,158,158,,,,,158,158,158,158,158,158,,,,,,158,158,,,', +',158,,158,158,,,,158,158,,,,,158,158,158,158,158,158,,,,,,158,158,,', ',,,,,,,,,,,,,,,,,,,,,,,,158,158,,,,158,,158,158,157,158,,157,157,157', '157,157,157,157,157,157,157,,,,,157,,,157,157,,,,,157,,,157,157,157', -'157,,,,,157,157,,157,,157,157,,,157,157,,,,,157,157,157,157,157,157', -',,,,,157,157,,,,,,,,,,,,,,,,,,,,,,,,,,,,157,157,,,,157,,157,157,156', -'157,,156,156,156,156,156,156,156,156,156,156,,,,,156,,,156,156,,,,,156', -',,156,156,156,156,,,,,156,156,,156,,156,156,,,156,156,,,,,156,156,156', -'156,156,156,,,,,,156,156,,,,,,,,,,,,,,,,,,,,,,,,,,,,156,156,,,,156,', -'156,156,100,156,,100,100,100,100,100,100,100,100,100,100,,,,,100,,,100', -'100,,,,,100,,,100,100,100,100,,,,,100,100,,100,,100,100,,,100,100,100', -',,,100,100,100,100,100,100,,,,,,100,100,,,,,,,,,,,,,,,,,,,,,,,,,,,,100', -'100,,,,100,,100,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,101,155,101,,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,,155,155,137,155,,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,137,153', -'137,,153,153,153,153,153,153,153,153,153,153,,,,,153,,,153,153,,,,,153', -',,153,153,153,153,,,,,153,153,,153,,153,153,,,153,153,,,,,153,153,153', -'153,153,153,,,,,,153,153,,,,,,,,,,,,,,,,,,,,,,,,,,,,153,153,,,,153,', -'153,153,152,153,,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,110,152,,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,110,151,110,,151,151,151,151,151,151,151', -'151,151,151,,,,,151,,,151,151,,,,,151,,,151,151,151,151,,,,,151,151', -',151,,151,151,,,151,151,,,,,151,151,151,151,151,151,,,,,,151,151,,,', -',,,,,,,,,,,,,,,,,,,,,,,,151,151,,,,151,,151,151,150,151,,150,150,150', -'150,150,150,150,150,150,150,,,,,150,,,150,150,,,,,150,,,150,150,150', -'150,,,,,150,150,,150,,150,150,,,150,150,,,,,150,150,150,150,150,150', -',,,,,150,150,,,,,,,,,,,,,,,,,,,,,,,,,,,,150,150,,,,150,,150,150,113', -'150,,113,113,113,113,113,113,113,113,113,113,,,,,113,,,113,113,,,,,113', -',,113,113,113,113,,,,,113,113,,113,,113,113,,,113,113,113,,,,113,113', -'113,113,113,113,,,,,,113,113,,,,,,,,,,,,,,,,,,,,,,,,,,,,113,113,,,,113', -',113,113,149,113,,149,149,149,149,149,149,149,149,149,149,,,,,149,,', -'149,149,,,,,149,,,149,149,149,149,,,,,149,149,,149,,149,149,,,149,149', -',,,,149,149,149,149,149,149,,,,,,149,149,,,,,,,,,,,,,,,,,,,,,,,,,,,', -'149,149,,,,149,,149,149,0,149,,0,0,0,0,0,0,0,0,0,0,,,,,0,,,0,0,,,,,0', -',,0,0,0,0,,,,,0,0,,0,,0,0,,,0,0,0,,,,0,0,0,0,0,0,,,,,,0,0,,,,,,,,,,', -',,,,,,,,,,,,,,,,,0,0,0,0,,0,,0,0,148,0,,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,146,148,,146,146,146', -'146,146,146,146,146,146,146,,,,,146,,,146,146,,,,,146,,,146,146,146', -'146,,,,,146,146,,146,,146,146,,,146,146,,,,,146,146,146,146,146,146', -',,,,,146,146,,,,,,,,,,,,,,,,,,,,,,,,,,,,146,146,,,,146,,146,146,145', -'146,,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,144,143,144,,143,143,143,143,143,143,143,143,143,143', -',,,,143,,,143,143,,,,,143,,,143,143,143,143,,,,,143,143,,143,,143,143', -',,143,143,,,,,143,143,143,143,143,143,,,,,,143,143,,,,,,,,,,,,,,,,,', -',,,,,,,,,,143,143,,,,143,,143,143,122,143,,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,,122,122,141,122,,141,141,141', -'141,141,141,141,141,141,141,,,,,141,,,141,141,,,,,141,,,141,141,141', -'141,,,,,141,141,,141,,141,141,,,141,141,,,,,141,141,141,141,141,141', -',,,,,141,141,,,,,,,,,,,,,,,,,,,,,,,,,,,,141,141,,,,141,,141,141,140', -'141,,140,140,140,140,140,140,140,140,140,140,,,,,140,,,140,140,,,,,140', -',,140,140,140,140,,,,,140,140,,140,,140,140,,,140,140,,,,,140,140,140', -'140,140,140,,,,,,140,140,,,,,,,,,,,,,,,,,,,,,,,,,,,,140,140,,,,140,', -'140,140,139,140,,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,139,127,139,,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,127,166,127,,166,166,166,166,166,166,166', -'166,166,166,,,,,166,,,166,166,,,,,166,,,166,166,166,166,,,,,166,166', -',166,,166,166,,,166,166,314,,314,,166,166,166,166,166,166,,,,,,166,166', -',,,,,,,,,,,,,,,314,314,,,,314,,,,314,,,166,166,,,,166,,166,166,,166', -',314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314', +'157,,,,,157,157,,157,,157,157,,,,157,157,,,,,157,157,157,157,157,157', +',,,,,157,157,,,,,,,,,,,,,,,,,,,,,,,,,,,157,157,,,,157,,157,157,156,157', +',156,156,156,156,156,156,156,156,156,156,,,,,156,,,156,156,,,,,156,', +',156,156,156,156,,,,,156,156,,156,,156,156,,,,156,156,,,,,156,156,156', +'156,156,156,,,,,,156,156,,,,,,,,,,,,,,,,,,,,,,,,,,,156,156,,,,156,,156', +'156,155,156,,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,,155,155,154,155,,154,154,154,154,154,154,154,154,154,154,,,,', +'154,,,154,154,,,,,154,,,154,154,154,154,,,,,154,154,,154,,154,154,,', +',154,154,,,,,154,154,154,154,154,154,,,,,,154,154,,,,,,,,,,,,,,,,,,', +',,,,,,,,154,154,,,,154,,154,154,153,154,,153,153,153,153,153,153,153', +'153,153,153,,,,,153,,,153,153,,,,,153,,,153,153,153,153,,,,,153,153', +',153,,153,153,,,,153,153,,,,,153,153,153,153,153,153,,,,,,153,153,,', +',,,,,,,,,,,,,,,,,,,,,,,,153,153,,,,153,,153,153,152,153,,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,151,152', +',151,151,151,151,151,151,151,151,151,151,,,,,151,,,151,151,,,,,151,', +',151,151,151,151,,,,,151,151,,151,,151,151,,,,151,151,,,,,151,151,151', +'151,151,151,,,,,,151,151,,,,,,,,,,,,,,,,,,,,,,,,,,,151,151,,,,151,,151', +'151,149,151,,149,149,149,149,149,149,149,149,149,149,,,,,149,,,149,149', +',,,,149,,,149,149,149,149,,,,,149,149,,149,,149,149,,,,149,149,,,,,149', +'149,149,149,149,149,,,,,,149,149,,,,,,,,,,,,,,,,,,,,,,,,,,,149,149,', +',,149,,149,149,148,149,,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,147,148,,147,147,147,147,147,147,147', +'147,147,147,,,,,147,,,147,147,,,,,147,,,147,147,147,147,,,,,147,147', +',147,,147,147,,,,147,147,,,,,147,147,147,147,147,147,,,,,,147,147,,', +',,,,,,,,,,,,,,,,,,,,,,,,147,147,,,,147,,147,147,145,147,,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', +'144,101,144,,101,101,101,101,101,101,101,101,101,101,,,,,101,,,101,101', +',,,,101,,,101,101,101,101,,,,,101,101,,101,,101,101,,,,101,101,101,', +',,101,101,101,101,101,101,,,,,,101,101,,,,,,,,,,,,,,,,,,,,,,,,,,,101', +'101,,,,101,,101,101,102,101,,102,102,102,102,102,102,102,102,102,102', +',,,,102,,,102,102,,,,,102,,,102,102,102,102,,,,,102,102,,102,,102,102', +',,,102,102,,,,,102,102,102,102,102,102,,,,,,102,102,,,,,,,,,,,,,,,,', +',,,,,,,,,,102,102,,,,102,,102,102,311,102,,311,311,311,311,311,311,311', +'311,311,311,,,,,311,,,311,311,,,,,311,,,311,311,311,311,,,,,311,311', +',311,,311,311,,,,311,311,,,,,311,311,311,311,311,311,,,,,,311,311,,', +',,,,,,,,,,,,,,,,,,,,,,,,311,311,,,,311,,311,311,142,311,,142,142,142', +'142,142,142,142,142,142,142,,,,,142,,,142,142,,,,,142,,,142,142,142', +'142,,,,,142,142,,142,,142,142,,,,142,142,,,,,142,142,142,142,142,142', +',,,,,142,142,,,,,,,,,,,,,,,,,,,,,,,,,,,142,142,,,,142,,142,142,141,142', +',141,141,141,141,141,141,141,141,141,141,,,,,141,,,141,141,,,,,141,', +',141,141,141,141,,,,,141,141,,141,,141,141,,,,141,141,,,,,141,141,141', +'141,141,141,,,,,,141,141,,,,,,,,,,,,,,,,,,,,,,,,,,,141,141,,,,141,,141', +'141,140,141,,140,140,140,140,140,140,140,140,140,140,,,,,140,,,140,140', +',,,,140,,,140,140,140,140,,,,,140,140,,140,,140,140,,,,140,140,,,,,140', +'140,140,140,140,140,,,,,,140,140,,,,,,,,,,,,,,,,,,,,,,,,,,,140,140,', +',,140,,140,140,139,140,,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,139,112,139,,112,112,112,112,112,112,112', +'112,112,112,,,,,112,,,112,112,,,,,112,,,112,112,112,112,,,,,112,112', +',112,,112,112,,,,112,112,,,,,112,112,112,112,112,112,,,,,,112,112,,', +',,,,,,,,,,,,,,,,,,,,,,,,112,112,,,,112,,112,112,138,112,,138,138,138', +'138,138,138,138,138,138,138,,,,,138,,,138,138,,,,,138,,,138,138,138', +'138,,,,,138,138,,138,,138,138,,,,138,138,,,,,138,138,138,138,138,138', +',,,,,138,138,,,,,,,,,,,,,,,,,,,,,,,,,,,138,138,,,,138,,138,138,114,138', +',114,114,114,114,114,114,114,114,114,114,,,,,114,,,114,114,,,,,114,', +',114,114,114,114,,,,,114,114,,114,,114,114,,,,114,114,114,,,,114,114', +'114,114,114,114,,,,,,114,114,,,,,,,,,,,,,,,,,,,,,,,,,,,114,114,,,,114', +',114,114,0,114,,0,0,0,0,0,0,0,0,0,0,,,,,0,,,0,0,,,,,0,,,0,0,0,0,,,,', +'0,0,,0,,0,0,,,,0,0,0,,,,0,0,0,0,0,0,,,,,,0,0,,,,,,,,,,,,,,,,,,,,,,,', +',,,0,0,0,0,,0,,0,0,137,0,,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,137,136,137,,136,136,136,136,136,136,136', +'136,136,136,,,,,136,,,136,136,,,,,136,,,136,136,136,136,,,,,136,136', +',136,,136,136,,,,136,136,,,,,136,136,136,136,136,136,,,,,,136,136,,', +',,,,,,,,,,,,,,,,,,,,,,,,136,136,,,,136,,136,136,128,136,,128,128,128', +'128,128,128,128,128,128,128,,,,,128,,,128,128,,,,,128,,,128,128,128', +'128,,,,,128,128,,128,,128,128,,,,128,128,,,,,128,128,128,128,128,128', +',,,,,128,128,,,,,,,,,,,,,,,,,,,,,,,,,,,128,128,,,,128,,128,128,134,128', +',134,134,134,134,134,134,134,134,134,134,,,,,134,,,134,134,,,,,134,', +',134,134,134,134,,,,,134,134,,134,,134,134,,,,134,134,,,,,134,134,134', +'134,134,134,,,,,,134,134,,,,,,,,,,,,,,,,,,,,,,,,,,,134,134,,,,134,,134', +'134,133,134,,133,133,133,133,133,133,133,133,133,133,,,,,133,,,133,133', +',,,,133,,,133,133,133,133,,,,,133,133,,133,,133,133,,,,133,133,,,,,133', +'133,133,133,133,133,,,,,,133,133,,,,,,,,,,,,,,,,,,,,,,,,,,,133,133,', +',,133,,133,133,132,133,,132,132,132,132,132,132,132,132,132,132,,,,', +'132,,,132,132,,,,,132,,,132,132,132,132,,,,,132,132,,132,,132,132,,', +',132,132,,,,,132,132,132,132,132,132,,,,,,132,132,,,,,,,,,,,,,,,,,,', +',,,,,,,,132,132,,,,132,,132,132,123,132,,123,123,123,123,123,123,123', +'123,123,123,,,,,123,,,123,123,,,,,123,,,123,123,123,123,,,,,123,123', +',123,,123,123,,,,123,123,,,,,123,123,123,123,123,123,,,,,,123,123,,', +',,,,,,,,,,,,,,,,,,,,,,,,123,123,,,,123,,123,123,131,123,,131,131,131', +'131,131,131,131,131,131,131,,,,,131,,,131,131,,,,,131,,,131,131,131', +'131,,,,,131,131,,131,,131,131,,,,131,131,,,,,131,131,131,131,131,131', +',,,,,131,131,,,,,,,,,,,,,,,,,,,,,,,,,,,131,131,,,,131,,131,131,129,131', +',129,129,129,129,129,129,129,129,129,129,,,,,129,,,129,129,,,,,129,', +',129,129,129,129,,,,,129,129,,129,,129,129,,,,129,129,,,,,129,129,129', +'129,129,129,,,,,,129,129,,,,,,,,,,,,,,,,,,,,,,,,,,,129,129,,,,129,,129', +'129,127,129,,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,127,135,127,,135,135,135,135,135,135,135,135,135,135,,,,', +'135,,,135,135,,,,,135,,,135,135,135,135,,,,,135,135,,135,,135,135,,', +',135,135,314,,314,,135,135,135,135,135,135,,,,,,135,135,,,,,,,,,,,,', +',,,314,314,,,,314,,,,314,,135,135,,,,135,,135,135,,135,,,,314,314,314', '314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314', -'314,303,,303,,,,,,,,314,,,,,,,,,,,,,,,,,,,,,,303,303,,,,303,,,,303,', -',,,,,,,,,,,,,303,303,303,303,303,303,303,303,303,303,303,303,303,303', +'314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,303,,303', +',,,,,,314,,,,,,,,,,,,,,,,,,,,,,,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,303,303,159,159,159,159,159,159,159,159,159,159,303,,,,159,', -',159,159,,,,,159,,,159,159,159,,,,,,,159,,159,,159,159,,,159,159,,,', -',159,159,159,159,159,159,,,,,,,,,,,302,302,302,302,302,302,302,302,302', -'302,,,,,302,,,302,302,,,,,302,159,159,302,302,302,159,,159,159,,159', -'302,,302,,302,302,,,302,302,,,,,302,302,302,302,302,302,,,,,,,,,,,312', -'312,312,312,312,312,312,312,312,312,,,,,312,,,312,312,,,,,312,302,302', -'312,312,312,302,,302,302,,302,312,,312,,312,312,,,312,312,,,,,312,312', -'312,312,312,312,,20,20,20,20,20,20,20,20,20,20,,,,,,,,,,,,,,,,,,20,20', -',,,,312,312,,,,312,,312,312,,312,20,,,,,,,,,,,,,,,,,,,24,24,24,24,24', -'24,24,24,24,24,,,,,24,,,24,24,,,,,24,,,24,24,24,24,,20,,20,20,24,20', -'24,,24,24,,,24,24,273,,273,,24,24,24,24,24,24,,,,,,24,24,,,,,,,,,,,', -',,,,273,273,,,,273,,,,273,,,24,24,,,,24,,24,24,,24,,273,273,273,273', +'303,,,,,,,,,,303,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', +',162,162,,162,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,,21,21,21,21,21,21,21,21,21,21,,,,,,,,,,,,,,,,25,25,21,21,,25,,25', +'25,,25,,,,,,,,,,21,,,,,,,,,,,,,,,,,,302,302,302,302,302,302,302,302', +'302,302,,,,,302,,,302,302,,,,,302,,,302,302,302,,,21,,21,21,302,21,302', +',302,302,,,,302,302,,,,,302,302,302,302,302,302,,,,,,,,,,312,312,312', +'312,312,312,312,312,312,312,,,,,312,,,312,312,,,,,312,302,302,312,312', +'312,302,,302,302,,302,312,,312,,312,312,,,,312,312,273,,273,,312,312', +'312,312,312,312,,,,,,,,,,,,,,,,,,,,,,,273,273,,,,273,,,,273,,312,312', +',,,312,,312,312,,312,,,,273,273,273,273,273,273,273,273,273,273,273', '273,273,273,273,273,273,273,273,273,273,273,273,273,273,273,273,273', -'273,273,273,273,273,273,273,273,273,273,273,273,273,273,319,,319,,,', -',,,,,,,,,,,,,,,,,,,319,,,,,,,319,319,,,,319,,,,319,,,,,,,,,,,,,,,319', -'319,319,319,319,319,319,319,319,319,319,319,319,319,319,319,319,319', -'319,319,319,319,319,319,319,319,319,319,319,319,319,319,319,319,319', -'318,,318,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,318,318,,,,318,,,,318,,,,,,,,', -',,,,,,318,318,318,318,318,318,318,318,318,318,318,318,318,318,318,318', -'318,318,318,318,318,318,318,318,318,318,318,318,318,318,318,318,318', -'318,318,313,,313,,,,,,,,,,,,,,,,,,,,,,,313,,,,,,,313,313,,,,313,,,,313', -',,,,,,,,,,,,,,313,313,313,313,313,313,313,313,313,313,313,313,313,313', -'313,313,313,313,313,313,313,313,313,313,313,313,313,313,313,313,313', -'313,313,313,313,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,197,197,197,197', -'197,197,197,197,197,197,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,193,193', -'193,193,193,193,193,193,193,193,193,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,192,192,192,192,192,192,192,192,192,237,,237,,,,,,,,,,,,,,,', -',,,,,,,,,,,,,,237,237,,,,237,,,,237,,,,,,,,,,,,,,,237,237,237,237,237', -'237,237,237,237,237,237,237,237,237,237,237,237,237,237,237,237,237', -'237,237,237,237,237,237,237,237,237,237,237,237,237,230,,230,,,,,,,', -',,,,,,,,,,,,,,,,,,,,,,230,230,,,,230,,,,230,,,,,,,,,,,,,,,230,230,230', -'230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230', -'230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,301,,301', -',,,,,,,,,,,,,,,,,,,,,,,,,,,,,301,301,,,,301,,,,301,,,,,,,,,,,,,,,301', +'273,273,273,273,273,273,273,113,,113,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,113', +'113,,,,113,,,,113,,,,,,,,,,,,,,,,113,113,113,113,113,113,113,113,113', +'113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113', +'113,113,113,113,113,113,113,113,113,301,,301,,,,,,,,,,,,,,,,,,,,,,,', +',,,,,,301,301,,,,301,,,,301,,,,,,,,,,,,,,,,301,301,301,301,301,301,301', '301,301,301,301,301,301,301,301,301,301,301,301,301,301,301,301,301', -'301,301,301,301,301,301,301,301,301,301,301,301,301,301,301,301,301', -'112,,112,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,112,112,,,,112,,,,112,,,,,,,,', -',,,,,,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112', -'112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112', -'112,112,210,,210,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,210,210,,,,210,,,,210', -',,,,,,,,,,,,,,210,210,210,210,210,210,210,210,210,210,210,210,210,210', -'210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210', -'210,210,210,210,222,,222,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,222,222,,,,222', -',,,222,,,,,,,,,,,,,,,222,222,222,222,222,222,222,222,222,222,222,222', -'222,222,222,222,222,222,222,222,222,222,222,222,222,222,222,222,222', -'222,222,222,222,222,222,300,,300,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,300,300', -',,,300,,,,300,,,,,,,,,,,,,,,300,300,300,300,300,300,300,300,300,300', +'301,301,301,301,301,301,301,301,301,301,301,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,300,300,300,297,,297,,,,,,,,,,,,,,,,,,,,,,,,,,,', -',,297,297,,,,297,,,,297,,,,,,,,,,,,,,,297,297,297,297,297,297,297,297', +'300,300,300,300,300,300,300,300,300,300,300,300,300,297,,297,,,,,,,', +',,,,,,,,,,,,,,,,,,,,,,297,297,,,,297,,,,297,,,,,,,,,,,,,,,,297,297,297', '297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297', -'297,297,297,297,297,297,297,297,297,297,84,,84,,,,,,,,,,,,,,,,,,,,,', -',,,,,,,,84,84,,,,84,,,,84,,,,,,,84,,,,,,,,84,84,84,84,84,84,84,84,84', -'84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84', -'84,84,84,86,,86,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,86,86,,,,86,,,,86,,,,,', -',86,,,,,,,,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86', -'86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,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,87', -'87,87,87,87,87,87,68,,68,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,68,68,,,,68,,', -',68,,,,,,,,,,,,,,,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68', -'68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,276,,276,,,,,', -',,,,,,,,,,,,,,,,,,,,,,,,276,276,,,,276,,,,276,,,,,,,,,,,,,,,276,276', +'297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,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,192,192,192,192,192,192,192,192,192', +'313,,313,,,,,,,,,,,,,,,,,,,,,,,313,,,,,,,313,313,,,,313,,,,313,,,,,', +',,,,,,,,,,313,313,313,313,313,313,313,313,313,313,313,313,313,313,313', +'313,313,313,313,313,313,313,313,313,313,313,313,313,313,313,313,313', +'313,313,313,318,,318,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,318,318,,,,318,,,', +'318,,,,,,,,,,,,,,,,318,318,318,318,318,318,318,318,318,318,318,318,318', +'318,318,318,318,318,318,318,318,318,318,318,318,318,318,318,318,318', +'318,318,318,318,318,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,193,193,193', +'193,193,193,193,193,193,193,193,276,,276,,,,,,,,,,,,,,,,,,,,,,,,,,,', +',,276,276,,,,276,,,,276,,,,,,,,,,,,,,,,276,276,276,276,276,276,276,276', '276,276,276,276,276,276,276,276,276,276,276,276,276,276,276,276,276', -'276,276,276,276,276,276,276,276,276,276,276,276,276,276,276,276,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,266', -'266,264,,264,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,264,264,,,,264,,,,264,,,,', -',,,,,,,,,,264,264,264,264,264,264,264,264,264,264,264,264,264,264,264', +'276,276,276,276,276,276,276,276,276,276,201,,201,,,,,,,,,,,,,,,,,,,', +',,,,,,,,,,201,201,,,,201,,,,201,,,,,,,,,,,,,,,,201,201,201,201,201,201', +'201,201,201,201,201,201,201,201,201,201,201,201,201,201,201,201,201', +'201,201,201,201,201,201,201,201,201,201,201,201,210,,210,,,,,,,,,,,', +',,,,,,,,,,,,,,,,,,210,210,,,,210,,,,210,,,,,,,,,,,,,,,,210,210,210,210', +'210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210', +'210,210,210,210,210,210,210,210,210,210,210,210,210,210,265,,265,,,', +',,,,,,,,,,,,,,,,,,,,,,,,,,265,265,,,,265,,,,265,,,,,,,,,,,,,,,,265,265', +'265,265,265,265,265,265,265,265,265,265,265,265,265,265,265,265,265', +'265,265,265,265,265,265,265,265,265,265,265,265,265,265,265,265,264', +',264,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,264,264,,,,264,,,,264,,,,,,,,,,,,', +',,,264,264,264,264,264,264,264,264,264,264,264,264,264,264,264,264,264', '264,264,264,264,264,264,264,264,264,264,264,264,264,264,264,264,264', -'264,264,264,118,118,,,,,,,,118,,,,,,,,,,,,,,,118,118,118,118,118,118', -'118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118', -'118,118,118,118,118,118,118,118,118,118,118,118,92,92,,,,,,,,92,,,,', -',,,,,,,,,,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92', -'92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,256,256,,,,,,,,256,,,,', -',,,,,,,,,,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256', +'264,222,,222,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,222,222,,,,222,,,,222,,,,', +',,,,,,,,,,,222,222,222,222,222,222,222,222,222,222,222,222,222,222,222', +'222,222,222,222,222,222,222,222,222,222,222,222,222,222,222,222,222', +'222,222,222,237,,237,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,237,237,,,,237,,,', +'237,,,,,,,,,,,,,,,,237,237,237,237,237,237,237,237,237,237,237,237,237', +'237,237,237,237,237,237,237,237,237,237,237,237,237,237,237,237,237', +'237,237,237,237,237,319,,319,,,,,,,,,,,,,,,,,,,,,,,319,,,,,,,319,319', +',,,319,,,,319,,,,,,,,,,,,,,,,319,319,319,319,319,319,319,319,319,319', +'319,319,319,319,319,319,319,319,319,319,319,319,319,319,319,319,319', +'319,319,319,319,319,319,319,319,86,,86,,,,,,,,,,,,,,,,,,,,,,,,,,,,,', +'86,86,,,,86,,,,86,,,,,,,,86,,,,,,,,86,86,86,86,86,86,86,86,86,86,86', +'86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86', +'86,230,,230,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,230,230,,,,230,,,,230,,,,,', +',,,,,,,,,,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230', +'230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230', +'230,230,230,84,,84,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,84,84,,,,84,,,,84,,', +',,,,,84,,,,,,,,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84', +'84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,68,,68,,,,,,,,,,', +',,,,,,,,,,,,,,,,,,,68,68,,,,68,,,,68,,,,,,,,,,,,,,,,68,68,68,68,68,68', +'68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68', +'68,68,68,68,68,68,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,87,87,87,87,87,87,87,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', -'256,256,256,307,,,,,,,,307,,,,,,,,,,,,,,,307,307,307,307,307,307,307', -'307,307,307,307,307,307,307,307,307,307,307,307,307,307,307,307,307', -'307,307,307,307,307,307,307,307,307,307,307,283,,,,,,,,283,,,,,,,,,', -',,,,,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283', +'256,256,256,256,256,256,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,93,119,119,,,,,,,,119,,,,,,,,,,,,,,,,119,119,119,119', +'119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119', +'119,119,119,119,119,119,119,119,119,119,119,119,119,119,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,283,284,,,,,,,,284,,,,,,,,,,,,,,,284,284,284,284,284,284,284,284', +'283,283,283,283,284,,,,,,,,284,,,,,,,,,,,,,,,,284,284,284,284,284,284', '284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284', -'284,284,284,284,284,284,284,284,284,284,223,,,,,,,,223,,,,,,,,,,,,,', -',223,223,223,223,223,223,223,223,223,223,223,223,223,223,223,223,223', -'223,223,223,223,223,223,223,223,223,223,223,223,223,223,223,223,223', -'223,306,,,,,,,,306,,,,,,,,,,,,,,,306,306,306,306,306,306,306,306,306', +'284,284,284,284,284,284,284,284,284,284,284,284,306,,,,,,,,306,,,,,', +',,,,,,,,,,306,306,306,306,306,306,306,306,306,306,306,306,306,306,306', '306,306,306,306,306,306,306,306,306,306,306,306,306,306,306,306,306', -'306,306,306,306,306,306,306,306,306,250,,,,,,,,,,,,,,,250,250,250,250', -'250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250', -'250,250,250,250,250,250,250,250,250,250,250,250,250,250,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,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,251', +'306,306,306,307,,,,,,,,307,,,,,,,,,,,,,,,,307,307,307,307,307,307,307', +'307,307,307,307,307,307,307,307,307,307,307,307,307,307,307,307,307', +'307,307,307,307,307,307,307,307,307,307,307,223,,,,,,,,223,,,,,,,,,', +',,,,,,223,223,223,223,223,223,223,223,223,223,223,223,223,223,223,223', +'223,223,223,223,223,223,223,223,223,223,223,223,223,223,223,223,223', +'223,223,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,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,251,,,,,,,,,,,,,,,,251,251,251,251,251,251,251,251,251,251', '251,251,251,251,251,251,251,251,251,251,251,251,251,251,251,251,251', -'251,251,251,251,251,251,251,251,251,251,251,251,251,251,251,251,251', -'219,219,219,219,219,219,219,219,219,219,219,219,219,219,219,219,219', -'219,219,219,219,219,219,219,219,219,219,219,219,219,219,219,219,219', -'219,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231', -'231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231', -'231,231,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248', -'248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248', -'248,248,248,215,215,215,215,215,215,215,215,215,215,215,215,215,215', -'215,215,215,215,215,215,215,215,215,215,215,215,215,215,215,215,215', -'215,215,215,215,224,224,224,224,224,224,224,224,224,224,224,224,224', +'251,251,251,251,251,251,251,251,252,252,252,252,252,252,252,252,252', +'252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252', +'252,252,252,252,252,252,252,252,252,234,234,234,234,234,234,234,234', +'234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234', +'234,234,234,234,234,234,234,234,234,234,247,247,247,247,247,247,247', +'247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247', +'247,247,247,247,247,247,247,247,247,247,247,224,224,224,224,224,224', '224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224', -'224,224,224,224,224,227,227,227,227,227,227,227,227,227,227,227,227', +'224,224,224,224,224,224,224,224,224,224,224,224,231,231,231,231,231', +'231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231', +'231,231,231,231,231,231,231,231,231,231,231,231,231,215,215,215,215', +'215,215,215,215,215,215,215,215,215,215,215,215,215,215,215,215,215', +'215,215,215,215,215,215,215,215,215,215,215,215,215,215,219,219,219', +'219,219,219,219,219,219,219,219,219,219,219,219,219,219,219,219,219', +'219,219,219,219,219,219,219,219,219,219,219,219,219,219,219,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,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' ] - racc_action_check = arr = Array.new(10897, nil) +'227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227' ] + racc_action_check = arr = Array.new(10987, nil) idx = 0 clist.each do |str| str.split(',', -1).each do |i| @@ -770,156 +772,156 @@ clist = [ end racc_action_pointer = [ - 6361, 325, 299, nil, nil, 301, nil, 402, nil, nil, - 503, nil, 604, 705, nil, nil, 806, nil, nil, nil, - 7885, 1008, nil, nil, 7948, 170, nil, nil, nil, 19, - nil, 227, 1513, nil, 1614, 197, nil, 1816, nil, nil, - 1917, 128, nil, nil, 2119, nil, nil, nil, nil, nil, - nil, nil, 2220, 175, 2422, nil, nil, nil, nil, nil, - nil, 268, nil, nil, nil, 39, 234, 2826, 9634, 147, - -2, 3230, nil, nil, 3331, 247, nil, nil, 90, nil, - nil, 236, -5, 127, 9361, 280, 9452, 9543, 289, 337, - 236, 10474, 10025, -38, 177, nil, 43, nil, -46, nil, - 5250, 5351, 190, 201, 210, nil, nil, nil, nil, 10524, - 5856, 63, 8906, 6159, 234, -2, 234, 177, 9966, 305, - nil, 91, 6967, 228, 160, nil, 131, 7371, 4240, 4846, - 28, 3634, 1412, 1311, 1109, 907, 200, 5553, 4038, 7270, - 7169, 7068, nil, 6866, 6765, 6664, 6563, nil, 6462, 6260, - 6058, 5957, 5755, 5654, 99, 5452, 5149, 5048, 4947, 7699, - 4745, -47, 4644, 4543, 4442, 4341, 7472, 4139, nil, nil, - -2, 3937, nil, 238, 179, nil, nil, nil, nil, 197, - 322, 57, nil, nil, -20, 3836, 84, 3735, nil, 114, - 120, -2, 8542, 8451, nil, nil, nil, 8360, nil, nil, - 3533, 3432, 179, 73, nil, 196, 34, -49, nil, nil, - 8997, 132, 3129, 3028, -12, 10699, 512, 1439, 255, 10594, - 411, 1032, 9088, 10316, 10734, 209, 1430, 10769, 916, 1133, - 8724, 10629, 714, 1234, 815, 1421, 188, 8633, 613, 1335, - 278, 310, 1320, 91, 10804, 114, 1219, 280, 10664, 1017, - 10424, 10559, 1118, 1522, 301, 3, 10084, 128, nil, 69, - 20, 126, 2927, nil, 9907, nil, 9816, nil, nil, 131, - nil, nil, -24, 7996, 2725, 2624, 9725, 2523, nil, 73, - 75, nil, nil, 10200, 10258, nil, 2321, 2018, 284, nil, - nil, nil, -2, 149, nil, nil, 65, 9270, nil, 1715, - 9179, 8815, 7764, 7611, nil, nil, 10374, 10142, nil, 247, - 133, 1210, 7829, 8269, 7520, nil, nil, nil, 8178, 8087, + 6361, 294, 195, nil, nil, 301, nil, 402, nil, nil, + 503, nil, 604, 705, nil, nil, 806, nil, nil, 907, + nil, 7876, 1109, nil, nil, 7812, 169, nil, nil, nil, + 301, nil, 15, 1614, nil, 1715, -10, nil, nil, nil, + 1917, 86, nil, nil, 2119, nil, nil, 2220, nil, nil, + nil, nil, 2321, 140, nil, nil, nil, nil, nil, 2523, + nil, nil, 74, nil, nil, nil, 237, 141, 9893, 213, + 237, 3230, nil, nil, 3331, 245, nil, nil, 94, nil, + nil, -10, -6, 187, 9801, 233, 9617, 9985, 76, 176, + 338, 402, 10562, 10105, 3, nil, 82, 175, nil, 80, + nil, 5351, 5452, 139, 190, 207, nil, nil, nil, nil, + 10511, -51, 6058, 8145, 6260, -2, 121, 108, 125, 10165, + 300, 65, nil, 7068, 221, 286, nil, 7371, 6664, 7270, + 312, 7169, 6967, 6866, 6765, 7472, 6563, 6462, 6159, 5957, + 5856, 5755, 5654, 99, 5250, 5149, nil, 5048, 4947, 4846, + nil, 4745, 4644, 4543, 4442, 4341, 4240, 4139, 4038, 3937, + 3836, 3735, 7712, 3634, 114, 3533, 3432, 3129, nil, nil, + -2, 3028, nil, 136, 170, nil, nil, nil, nil, 240, + 308, 196, nil, nil, -14, 2927, 2826, 76, nil, 176, + 120, -3, 8513, 8789, nil, nil, nil, nil, nil, 2725, + 2624, 8973, 178, 90, nil, 211, 213, 148, nil, nil, + 9065, 150, 2422, 2018, -13, 10823, 1320, 1439, 18, 10858, + 1017, 1531, 9341, 10460, 10753, 613, 1133, 10893, 512, 1234, + 9709, 10788, 411, 1335, 10683, 916, 1522, 9433, 815, 1430, + 64, 714, 1421, -16, 310, 1118, -20, 10718, 87, 209, + -29, 10613, 10648, 1219, 2, 272, 10045, -42, nil, -35, + 189, 111, 1816, nil, 9249, 9157, nil, nil, nil, 7, + nil, nil, -45, 8053, 1513, 1412, 8881, 1311, nil, 65, + 74, nil, nil, 10224, 10283, nil, 1210, 1008, 82, nil, + nil, nil, -7, 146, nil, nil, 0, 8421, nil, 200, + 8329, 8237, 7939, 7613, nil, nil, 10342, 10401, nil, 210, + 95, 5553, 8004, 8605, 7521, nil, nil, nil, 8697, 9525, nil, nil, nil ] racc_action_default = [ -1, -178, -185, -97, -10, -185, -105, -185, -26, -11, - -185, -106, -185, -185, -27, -12, -185, -107, -13, -108, - -185, -185, -14, -109, -45, -119, -15, -28, -16, -125, - -29, -133, -185, -31, -140, -185, -17, -185, -34, -18, - -185, -185, -35, -19, -185, -36, -46, -20, -127, -30, - -21, -37, -185, -185, -185, -22, -38, -32, -2, -23, - -39, -3, -104, -103, -33, -185, -185, -185, -5, -185, + -185, -106, -185, -185, -27, -12, -185, -107, -13, -185, + -108, -185, -185, -14, -109, -45, -119, -15, -28, -16, + -125, -29, -133, -185, -31, -140, -185, -17, -34, -18, + -185, -185, -35, -19, -185, -36, -20, -185, -127, -46, + -21, -37, -185, -185, -30, -22, -38, -32, -2, -185, + -23, -39, -3, -104, -103, -33, -185, -185, -5, -185, -8, -185, -96, -9, -185, -178, -180, -182, -185, -176, - -98, -100, -185, -52, -157, -54, -185, -185, -53, -185, - -126, -55, -44, -185, -119, -43, -185, -120, -185, -130, - -140, -185, -185, -185, -185, -111, -115, -116, -134, -56, - -185, -185, -141, -140, -50, -185, -185, -49, -154, -185, - -25, -185, -7, -161, -185, -4, -51, -185, -185, -185, + -98, -100, -185, -48, -157, -52, -185, -185, -54, -53, + -185, -126, -55, -44, -185, -43, -185, -119, -120, -185, + -130, -140, -185, -185, -185, -185, -111, -115, -116, -134, + -56, -185, -185, -141, -140, -185, -185, -50, -49, -154, + -185, -185, -25, -7, -161, -185, -4, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, - -185, -185, -58, -185, -185, -185, -185, -57, -185, -185, - -185, -185, -185, -185, -185, -185, -185, -185, -185, -93, - -185, -185, -185, -185, -185, -185, -185, -185, -95, -129, - -185, -185, -110, -47, -48, -181, -177, -179, -175, -185, + -185, -185, -185, -185, -185, -185, -58, -185, -185, -185, + -57, -185, -185, -185, -185, -185, -185, -185, -185, -185, + -185, -185, -93, -185, -185, -185, -185, -185, -95, -129, + -185, -185, -110, -51, -47, -181, -177, -179, -175, -185, -185, -185, -156, -174, -185, -185, -185, -185, -118, -185, - -185, -185, -141, -185, -112, -113, -114, -142, -139, -147, - -185, -185, -185, -185, -155, -150, -185, -185, 323, -24, - -6, -185, -185, -185, -185, -86, -74, -63, -185, -87, - -75, -64, -183, -92, -88, -76, -65, -89, -77, -66, - -184, -90, -78, -67, -79, -68, -59, -158, -80, -69, - -60, -81, -70, -61, -83, -82, -71, -185, -84, -72, - -91, -85, -73, -62, -128, -185, -40, -185, -99, -185, - -185, -185, -185, -169, -41, -124, -42, -122, -121, -185, + -185, -185, -141, -185, -112, -113, -114, -139, -147, -185, + -185, -142, -185, -185, -155, -150, -185, -185, 323, -24, + -6, -185, -185, -185, -185, -85, -73, -62, -185, -86, + -74, -63, -183, -92, -87, -75, -64, -88, -76, -65, + -184, -89, -77, -66, -90, -78, -67, -158, -79, -68, + -59, -80, -69, -60, -81, -70, -61, -83, -82, -71, + -185, -91, -84, -72, -128, -185, -40, -185, -99, -185, + -185, -185, -185, -169, -41, -42, -124, -122, -121, -185, -131, -117, -185, -144, -185, -185, -143, -185, -132, -185, -185, -151, -162, -163, -164, -160, -185, -185, -159, -102, - -101, -94, -185, -185, -167, -170, -185, -148, -123, -185, - -146, -145, -102, -185, -152, -153, -166, -165, -173, -185, + -101, -94, -185, -185, -170, -167, -185, -148, -123, -185, + -145, -146, -102, -185, -152, -153, -166, -165, -173, -185, -171, -185, -102, -185, -185, -135, -168, -172, -149, -185, -137, -136, -138 ] racc_goto_table = [ - 58, 83, 80, 84, 172, 95, 85, 169, 86, 87, - 214, 263, 88, 267, 268, 89, 90, 91, 76, 124, - 92, 66, 98, 172, 61, 53, 169, 79, 109, 111, - 112, 296, 261, 114, 205, 178, 115, 259, 75, 82, - 117, 77, nil, nil, nil, nil, nil, nil, 118, nil, + 58, 172, 80, 67, 90, 263, 125, 169, 83, 95, + 84, 267, 268, 85, 214, 86, 87, 111, 76, 88, + 79, 172, 89, 53, 99, 92, 91, 169, 93, 62, + 296, 261, 205, 178, 259, 75, 110, 82, 113, 77, + nil, nil, nil, 115, 116, nil, nil, 117, nil, nil, + 118, nil, nil, nil, nil, 119, nil, nil, nil, nil, + nil, nil, 123, nil, nil, nil, nil, 126, nil, nil, + 218, nil, 168, nil, 173, nil, nil, 174, nil, nil, + 95, 177, 294, 191, nil, nil, nil, 182, 121, 183, + nil, 298, 175, nil, 176, 187, 203, nil, nil, 189, + nil, nil, nil, nil, 192, 193, nil, 288, nil, nil, + nil, nil, nil, 308, nil, 201, nil, 192, nil, nil, + nil, 123, nil, nil, nil, nil, 210, nil, nil, nil, + 215, 216, 217, nil, 219, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, nil, + 234, 235, 236, 254, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 248, 249, 260, 251, 252, + 253, nil, 95, 95, 256, 255, nil, nil, nil, nil, + 258, nil, nil, nil, nil, 172, nil, 189, 264, 265, + 269, 169, nil, nil, nil, nil, nil, nil, nil, nil, + 274, nil, 273, 276, nil, nil, nil, nil, nil, nil, + 281, nil, nil, nil, nil, 283, 284, 285, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, 122, 116, 126, nil, nil, 125, 173, nil, nil, - 174, nil, nil, nil, 95, nil, nil, nil, 121, nil, - nil, nil, nil, nil, 218, nil, nil, nil, 295, nil, - 168, 186, 175, 298, nil, 191, 192, 193, 189, 177, - nil, 176, nil, nil, 288, 182, 197, 183, 203, 192, - nil, nil, nil, nil, nil, nil, nil, nil, 210, 308, - nil, 122, nil, 215, 216, 217, nil, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, 229, nil, 230, - 231, 232, 233, nil, 234, 235, 236, 237, 238, 239, - 240, 241, 242, 243, 244, 245, 246, nil, 248, 249, - 250, 251, 252, 253, 260, 254, 255, 256, nil, 95, - 95, nil, nil, nil, nil, nil, nil, nil, nil, nil, - 258, 264, nil, 266, nil, nil, 189, nil, 172, nil, - 269, 169, nil, nil, nil, nil, 273, 276, nil, nil, - nil, 275, nil, nil, nil, nil, nil, nil, 283, 284, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, 281, nil, - nil, nil, nil, nil, nil, 285, nil, nil, nil, nil, - nil, 260, nil, nil, nil, nil, nil, nil, nil, 95, - nil, nil, nil, nil, nil, nil, nil, nil, 297, nil, - 292, nil, nil, nil, nil, nil, nil, nil, nil, nil, - 300, 301, 260, 303, nil, nil, nil, nil, nil, nil, - 291, nil, 306, 307, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, 313, nil, nil, 314, nil, - 304, 305, nil, nil, nil, nil, nil, 318, 319, nil, - 317, nil, nil, nil, 309, nil, nil, 310 ] + nil, nil, nil, nil, 260, nil, nil, nil, nil, nil, + nil, nil, 95, nil, nil, nil, nil, nil, nil, nil, + 292, nil, 291, nil, nil, 297, nil, nil, nil, nil, + nil, nil, nil, nil, nil, 260, nil, 300, 301, nil, + 303, nil, 304, 305, nil, nil, nil, nil, nil, 306, + 307, nil, nil, nil, nil, nil, 309, nil, nil, 310, + nil, nil, 313, nil, nil, 314, nil, nil, nil, nil, + 317, nil, nil, nil, 318, 319 ] racc_goto_check = [ - 2, 5, 26, 5, 32, 21, 5, 38, 5, 5, - 43, 45, 5, 23, 23, 6, 33, 5, 49, 42, - 5, 4, 36, 32, 3, 1, 38, 47, 5, 39, - 5, 40, 44, 5, 41, 46, 5, 25, 48, 24, - 5, 50, nil, nil, nil, nil, nil, nil, 5, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, 2, 4, 5, nil, nil, 2, 5, nil, nil, - 5, nil, nil, nil, 21, nil, nil, nil, 3, nil, - nil, nil, nil, nil, 42, nil, nil, nil, 45, nil, - 4, 36, 49, 23, nil, 39, 5, 5, 2, 4, - nil, 47, nil, nil, 43, 4, 5, 4, 39, 5, - nil, nil, nil, nil, nil, nil, nil, nil, 5, 45, - nil, 2, nil, 5, 5, 5, nil, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, nil, 5, + 2, 32, 26, 4, 6, 45, 42, 38, 5, 21, + 5, 23, 23, 5, 43, 5, 5, 39, 49, 5, + 47, 32, 5, 1, 36, 5, 33, 38, 5, 3, + 40, 44, 41, 46, 25, 48, 5, 24, 5, 50, + nil, nil, nil, 5, 4, nil, nil, 5, nil, nil, + 5, nil, nil, nil, nil, 5, nil, nil, nil, nil, + nil, nil, 2, nil, nil, nil, nil, 2, nil, nil, + 42, nil, 4, nil, 5, nil, nil, 5, nil, nil, + 21, 4, 45, 39, nil, nil, nil, 4, 3, 4, + nil, 23, 49, nil, 47, 36, 39, nil, nil, 2, + nil, nil, nil, nil, 5, 5, nil, 43, nil, nil, + nil, nil, nil, 45, nil, 5, nil, 5, nil, nil, + nil, 2, nil, nil, nil, nil, 5, nil, nil, nil, 5, 5, 5, nil, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, nil, 5, 5, - 5, 5, 5, 5, 21, 6, 33, 5, nil, 21, - 21, nil, nil, nil, nil, nil, nil, nil, nil, nil, - 26, 5, nil, 5, nil, nil, 2, nil, 32, nil, - 2, 38, nil, nil, nil, nil, 5, 5, nil, nil, - nil, 2, nil, nil, nil, nil, nil, nil, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, nil, + 5, 5, 5, 6, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 21, 5, 5, + 5, nil, 21, 21, 5, 33, nil, nil, nil, nil, + 26, nil, nil, nil, nil, 32, nil, 2, 5, 5, + 2, 38, nil, nil, nil, nil, nil, nil, nil, nil, + 2, nil, 5, 5, nil, nil, nil, nil, nil, nil, + 4, nil, nil, nil, nil, 5, 5, 4, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, 4, nil, - nil, nil, nil, nil, nil, 4, nil, nil, nil, nil, - nil, 21, nil, nil, nil, nil, nil, nil, nil, 21, - nil, nil, nil, nil, nil, nil, nil, nil, 5, nil, - 2, nil, nil, nil, nil, nil, nil, nil, nil, nil, - 5, 5, 21, 5, nil, nil, nil, nil, nil, nil, - 4, nil, 5, 5, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, 5, nil, nil, 5, nil, - 4, 4, nil, nil, nil, nil, nil, 5, 5, nil, - 2, nil, nil, nil, 4, nil, nil, 4 ] + nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, 21, nil, nil, nil, nil, nil, + nil, nil, 21, nil, nil, nil, nil, nil, nil, nil, + 2, nil, 4, nil, nil, 5, nil, nil, nil, nil, + nil, nil, nil, nil, nil, 21, nil, 5, 5, nil, + 5, nil, 4, 4, nil, nil, nil, nil, nil, 5, + 5, nil, nil, nil, nil, nil, 4, nil, nil, 4, + nil, nil, 5, nil, nil, 5, nil, nil, nil, nil, + 2, nil, nil, nil, 5, 5 ] racc_goto_pointer = [ - nil, 25, 0, 24, 21, -4, -5, nil, nil, nil, + nil, 23, 0, 29, 3, 3, -17, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, -20, nil, -176, 37, -144, 0, nil, nil, nil, - nil, nil, -66, -4, nil, nil, -3, nil, -63, -5, - -231, -82, -46, -114, -152, -173, -43, 26, 37, 17, - 40 ] + nil, -17, nil, -178, 35, -147, 0, nil, nil, nil, + nil, nil, -69, 5, nil, nil, -2, nil, -63, -18, + -232, -84, -60, -111, -153, -179, -45, 19, 34, 17, + 38 ] racc_goto_default = [ - nil, nil, 200, nil, nil, 68, 70, 73, 4, 9, - 15, 18, 22, 26, 28, 36, 39, 43, 47, 50, - 55, 59, 62, 97, nil, 69, nil, 6, 11, 17, - 19, 23, 105, 29, 106, 107, nil, 48, 99, nil, + nil, nil, 199, nil, nil, 68, 70, 73, 4, 9, + 15, 18, 23, 27, 29, 37, 39, 43, 46, 50, + 55, 60, 63, 98, nil, 69, nil, 6, 11, 17, + 20, 24, 106, 30, 107, 108, nil, 48, 100, nil, nil, nil, nil, nil, nil, nil, 1, nil, nil, nil, nil ] @@ -1162,53 +1164,53 @@ racc_token_table = { :TYPEOF => 44, :SUPER => 45, :EXTENDS => 46, - :NEWLINE => 47, - :COMMENT => 48, - :JS => 49, - :INDENT => 50, - :OUTDENT => 51, - :UMINUS => 52, - :UPLUS => 53, - :NOT => 54, - "!" => 55, - "!!" => 56, - "~" => 57, - "++" => 58, - "--" => 59, - "*" => 60, - "/" => 61, - "%" => 62, - "?" => 63, - "." => 64, - "+" => 65, - "-" => 66, - "<<" => 67, - ">>" => 68, - ">>>" => 69, - "&" => 70, - "|" => 71, - "^" => 72, - "<=" => 73, - "<" => 74, - ">" => 75, - ">=" => 76, - "==" => 77, - "!=" => 78, - :IS => 79, - :ISNT => 80, - "&&" => 81, - "||" => 82, - :AND => 83, - :OR => 84, - "-=" => 85, - "+=" => 86, - "/=" => 87, - "*=" => 88, - "%=" => 89, - "||=" => 90, - "&&=" => 91, - "?=" => 92, - :ASSIGN => 93, + :ASSIGN => 47, + :NEWLINE => 48, + :COMMENT => 49, + :JS => 50, + :INDENT => 51, + :OUTDENT => 52, + :UMINUS => 53, + :UPLUS => 54, + :NOT => 55, + "!" => 56, + "!!" => 57, + "~" => 58, + "++" => 59, + "--" => 60, + "*" => 61, + "/" => 62, + "%" => 63, + "?" => 64, + "." => 65, + "+" => 66, + "-" => 67, + "<<" => 68, + ">>" => 69, + ">>>" => 70, + "&" => 71, + "|" => 72, + "^" => 73, + "<=" => 74, + "<" => 75, + ">" => 76, + ">=" => 77, + "==" => 78, + "!=" => 79, + :IS => 80, + :ISNT => 81, + "&&" => 82, + "||" => 83, + :AND => 84, + :OR => 85, + "-=" => 86, + "+=" => 87, + "/=" => 88, + "*=" => 89, + "%=" => 90, + "||=" => 91, + "&&=" => 92, + "?=" => 93, "->" => 94, "=>" => 95, "\n" => 96, @@ -1290,6 +1292,7 @@ Racc_token_to_s_table = [ "TYPEOF", "SUPER", "EXTENDS", + "ASSIGN", "NEWLINE", "COMMENT", "JS", @@ -1336,7 +1339,6 @@ Racc_token_to_s_table = [ "\"||=\"", "\"&&=\"", "\"?=\"", - "ASSIGN", "\"->\"", "\"=>\"", "\"\\n\"", @@ -1407,49 +1409,49 @@ Racc_debug_parser = false # reduce 0 omitted -module_eval(<<'.,.,', 'grammar.y', 44) +module_eval(<<'.,.,', 'grammar.y', 45) def _reduce_1(val, _values, result) result = Expressions.new result end .,., -module_eval(<<'.,.,', 'grammar.y', 45) +module_eval(<<'.,.,', 'grammar.y', 46) def _reduce_2(val, _values, result) result = Expressions.new result end .,., -module_eval(<<'.,.,', 'grammar.y', 46) +module_eval(<<'.,.,', 'grammar.y', 47) def _reduce_3(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 47) +module_eval(<<'.,.,', 'grammar.y', 48) def _reduce_4(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 52) +module_eval(<<'.,.,', 'grammar.y', 53) def _reduce_5(val, _values, result) result = Expressions.wrap(val) result end .,., -module_eval(<<'.,.,', 'grammar.y', 53) +module_eval(<<'.,.,', 'grammar.y', 54) def _reduce_6(val, _values, result) result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 54) +module_eval(<<'.,.,', 'grammar.y', 55) def _reduce_7(val, _values, result) result = val[0] result @@ -1488,14 +1490,14 @@ module_eval(<<'.,.,', 'grammar.y', 54) # reduce 23 omitted -module_eval(<<'.,.,', 'grammar.y', 81) +module_eval(<<'.,.,', 'grammar.y', 82) def _reduce_24(val, _values, result) result = val[1] result end .,., -module_eval(<<'.,.,', 'grammar.y', 82) +module_eval(<<'.,.,', 'grammar.y', 83) def _reduce_25(val, _values, result) result = Expressions.new result @@ -1506,504 +1508,504 @@ module_eval(<<'.,.,', 'grammar.y', 82) # reduce 27 omitted -module_eval(<<'.,.,', 'grammar.y', 93) +module_eval(<<'.,.,', 'grammar.y', 94) def _reduce_28(val, _values, result) result = LiteralNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 94) +module_eval(<<'.,.,', 'grammar.y', 95) def _reduce_29(val, _values, result) result = LiteralNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 95) +module_eval(<<'.,.,', 'grammar.y', 96) def _reduce_30(val, _values, result) result = LiteralNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 96) +module_eval(<<'.,.,', 'grammar.y', 97) def _reduce_31(val, _values, result) result = LiteralNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 97) +module_eval(<<'.,.,', 'grammar.y', 98) def _reduce_32(val, _values, result) result = LiteralNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 98) +module_eval(<<'.,.,', 'grammar.y', 99) def _reduce_33(val, _values, result) result = LiteralNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 99) +module_eval(<<'.,.,', 'grammar.y', 100) def _reduce_34(val, _values, result) result = LiteralNode.new(Value.new(true)) result end .,., -module_eval(<<'.,.,', 'grammar.y', 100) +module_eval(<<'.,.,', 'grammar.y', 101) def _reduce_35(val, _values, result) result = LiteralNode.new(Value.new(false)) result end .,., -module_eval(<<'.,.,', 'grammar.y', 101) +module_eval(<<'.,.,', 'grammar.y', 102) def _reduce_36(val, _values, result) result = LiteralNode.new(Value.new(true)) result end .,., -module_eval(<<'.,.,', 'grammar.y', 102) +module_eval(<<'.,.,', 'grammar.y', 103) def _reduce_37(val, _values, result) result = LiteralNode.new(Value.new(false)) result end .,., -module_eval(<<'.,.,', 'grammar.y', 103) +module_eval(<<'.,.,', 'grammar.y', 104) def _reduce_38(val, _values, result) result = LiteralNode.new(Value.new(true)) result end .,., -module_eval(<<'.,.,', 'grammar.y', 104) +module_eval(<<'.,.,', 'grammar.y', 105) def _reduce_39(val, _values, result) result = LiteralNode.new(Value.new(false)) result end .,., -module_eval(<<'.,.,', 'grammar.y', 109) +module_eval(<<'.,.,', 'grammar.y', 110) def _reduce_40(val, _values, result) result = AssignNode.new(val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 114) +module_eval(<<'.,.,', 'grammar.y', 115) def _reduce_41(val, _values, result) result = AssignNode.new(ValueNode.new(val[0]), val[2], :object) result end .,., -module_eval(<<'.,.,', 'grammar.y', 115) +module_eval(<<'.,.,', 'grammar.y', 116) def _reduce_42(val, _values, result) result = AssignNode.new(ValueNode.new(LiteralNode.new(val[0])), val[2], :object) result end .,., -module_eval(<<'.,.,', 'grammar.y', 116) +module_eval(<<'.,.,', 'grammar.y', 117) def _reduce_43(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 121) +module_eval(<<'.,.,', 'grammar.y', 122) def _reduce_44(val, _values, result) result = ReturnNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 122) +module_eval(<<'.,.,', 'grammar.y', 123) def _reduce_45(val, _values, result) result = ReturnNode.new(ValueNode.new(Value.new('null'))) result end .,., -module_eval(<<'.,.,', 'grammar.y', 127) +module_eval(<<'.,.,', 'grammar.y', 128) def _reduce_46(val, _values, result) result = CommentNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 134) +module_eval(<<'.,.,', 'grammar.y', 135) def _reduce_47(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 135) +module_eval(<<'.,.,', 'grammar.y', 136) def _reduce_48(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 136) +module_eval(<<'.,.,', 'grammar.y', 137) def _reduce_49(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 137) +module_eval(<<'.,.,', 'grammar.y', 138) def _reduce_50(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 138) +module_eval(<<'.,.,', 'grammar.y', 139) def _reduce_51(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 139) +module_eval(<<'.,.,', 'grammar.y', 140) def _reduce_52(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 140) +module_eval(<<'.,.,', 'grammar.y', 141) def _reduce_53(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 141) +module_eval(<<'.,.,', 'grammar.y', 142) def _reduce_54(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 142) +module_eval(<<'.,.,', 'grammar.y', 143) def _reduce_55(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 143) +module_eval(<<'.,.,', 'grammar.y', 144) def _reduce_56(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 144) +module_eval(<<'.,.,', 'grammar.y', 145) def _reduce_57(val, _values, result) result = OpNode.new(val[1], val[0], nil, true) result end .,., -module_eval(<<'.,.,', 'grammar.y', 145) +module_eval(<<'.,.,', 'grammar.y', 146) def _reduce_58(val, _values, result) result = OpNode.new(val[1], val[0], nil, true) result end .,., -module_eval(<<'.,.,', 'grammar.y', 147) +module_eval(<<'.,.,', 'grammar.y', 148) def _reduce_59(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 148) +module_eval(<<'.,.,', 'grammar.y', 149) def _reduce_60(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 149) +module_eval(<<'.,.,', 'grammar.y', 150) def _reduce_61(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 151) +module_eval(<<'.,.,', 'grammar.y', 152) def _reduce_62(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 152) +module_eval(<<'.,.,', 'grammar.y', 153) def _reduce_63(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 154) +module_eval(<<'.,.,', 'grammar.y', 155) def _reduce_64(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 155) +module_eval(<<'.,.,', 'grammar.y', 156) def _reduce_65(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 156) +module_eval(<<'.,.,', 'grammar.y', 157) def _reduce_66(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 158) +module_eval(<<'.,.,', 'grammar.y', 159) def _reduce_67(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 159) +module_eval(<<'.,.,', 'grammar.y', 160) def _reduce_68(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 160) +module_eval(<<'.,.,', 'grammar.y', 161) def _reduce_69(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 162) +module_eval(<<'.,.,', 'grammar.y', 163) def _reduce_70(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 163) +module_eval(<<'.,.,', 'grammar.y', 164) def _reduce_71(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 164) +module_eval(<<'.,.,', 'grammar.y', 165) def _reduce_72(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 165) +module_eval(<<'.,.,', 'grammar.y', 166) def _reduce_73(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 167) +module_eval(<<'.,.,', 'grammar.y', 168) def _reduce_74(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 168) +module_eval(<<'.,.,', 'grammar.y', 169) def _reduce_75(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 169) +module_eval(<<'.,.,', 'grammar.y', 170) def _reduce_76(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 170) +module_eval(<<'.,.,', 'grammar.y', 171) def _reduce_77(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 172) +module_eval(<<'.,.,', 'grammar.y', 173) def _reduce_78(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 173) +module_eval(<<'.,.,', 'grammar.y', 174) def _reduce_79(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 174) +module_eval(<<'.,.,', 'grammar.y', 175) def _reduce_80(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 175) +module_eval(<<'.,.,', 'grammar.y', 176) def _reduce_81(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 176) +module_eval(<<'.,.,', 'grammar.y', 177) def _reduce_82(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 178) +module_eval(<<'.,.,', 'grammar.y', 179) def _reduce_83(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 179) +module_eval(<<'.,.,', 'grammar.y', 180) def _reduce_84(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 180) +module_eval(<<'.,.,', 'grammar.y', 181) def _reduce_85(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 181) +module_eval(<<'.,.,', 'grammar.y', 182) def _reduce_86(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 182) +module_eval(<<'.,.,', 'grammar.y', 183) def _reduce_87(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 183) +module_eval(<<'.,.,', 'grammar.y', 184) def _reduce_88(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 184) +module_eval(<<'.,.,', 'grammar.y', 185) def _reduce_89(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 185) +module_eval(<<'.,.,', 'grammar.y', 186) def _reduce_90(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 187) +module_eval(<<'.,.,', 'grammar.y', 188) def _reduce_91(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 188) +module_eval(<<'.,.,', 'grammar.y', 189) def _reduce_92(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 193) +module_eval(<<'.,.,', 'grammar.y', 194) def _reduce_93(val, _values, result) result = ExistenceNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 199) +module_eval(<<'.,.,', 'grammar.y', 200) def _reduce_94(val, _values, result) result = CodeNode.new(val[1], val[4], val[3]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 200) +module_eval(<<'.,.,', 'grammar.y', 201) def _reduce_95(val, _values, result) result = CodeNode.new([], val[1], val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 205) +module_eval(<<'.,.,', 'grammar.y', 206) def _reduce_96(val, _values, result) result = :func result end .,., -module_eval(<<'.,.,', 'grammar.y', 206) +module_eval(<<'.,.,', 'grammar.y', 207) def _reduce_97(val, _values, result) result = :boundfunc result end .,., -module_eval(<<'.,.,', 'grammar.y', 211) +module_eval(<<'.,.,', 'grammar.y', 212) def _reduce_98(val, _values, result) result = val result end .,., -module_eval(<<'.,.,', 'grammar.y', 212) +module_eval(<<'.,.,', 'grammar.y', 213) def _reduce_99(val, _values, result) result = val[0] << val[2] result @@ -2012,588 +2014,588 @@ module_eval(<<'.,.,', 'grammar.y', 212) # reduce 100 omitted -module_eval(<<'.,.,', 'grammar.y', 218) +module_eval(<<'.,.,', 'grammar.y', 219) def _reduce_101(val, _values, result) result = SplatNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 223) +module_eval(<<'.,.,', 'grammar.y', 224) def _reduce_102(val, _values, result) result = SplatNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 228) +module_eval(<<'.,.,', 'grammar.y', 229) def _reduce_103(val, _values, result) result = ValueNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 229) +module_eval(<<'.,.,', 'grammar.y', 230) def _reduce_104(val, _values, result) result = ValueNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 230) +module_eval(<<'.,.,', 'grammar.y', 231) def _reduce_105(val, _values, result) result = ValueNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 231) +module_eval(<<'.,.,', 'grammar.y', 232) def _reduce_106(val, _values, result) result = ValueNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 232) +module_eval(<<'.,.,', 'grammar.y', 233) def _reduce_107(val, _values, result) result = ValueNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 233) +module_eval(<<'.,.,', 'grammar.y', 234) def _reduce_108(val, _values, result) result = ValueNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 234) +module_eval(<<'.,.,', 'grammar.y', 235) def _reduce_109(val, _values, result) result = ValueNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 235) +module_eval(<<'.,.,', 'grammar.y', 236) def _reduce_110(val, _values, result) result = val[0] << val[1] result end .,., -module_eval(<<'.,.,', 'grammar.y', 236) +module_eval(<<'.,.,', 'grammar.y', 237) def _reduce_111(val, _values, result) result = ValueNode.new(val[0], [val[1]]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 241) +module_eval(<<'.,.,', 'grammar.y', 242) def _reduce_112(val, _values, result) result = AccessorNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 242) +module_eval(<<'.,.,', 'grammar.y', 243) def _reduce_113(val, _values, result) result = AccessorNode.new(val[1], :prototype) result end .,., -module_eval(<<'.,.,', 'grammar.y', 243) +module_eval(<<'.,.,', 'grammar.y', 244) def _reduce_114(val, _values, result) result = AccessorNode.new(val[1], :soak) result end .,., -module_eval(<<'.,.,', 'grammar.y', 244) +module_eval(<<'.,.,', 'grammar.y', 245) def _reduce_115(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 245) +module_eval(<<'.,.,', 'grammar.y', 246) def _reduce_116(val, _values, result) result = SliceNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 250) +module_eval(<<'.,.,', 'grammar.y', 251) def _reduce_117(val, _values, result) result = IndexNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 255) +module_eval(<<'.,.,', 'grammar.y', 256) def _reduce_118(val, _values, result) result = ObjectNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 260) +module_eval(<<'.,.,', 'grammar.y', 261) def _reduce_119(val, _values, result) result = [] result end .,., -module_eval(<<'.,.,', 'grammar.y', 261) +module_eval(<<'.,.,', 'grammar.y', 262) def _reduce_120(val, _values, result) result = val result end .,., -module_eval(<<'.,.,', 'grammar.y', 262) +module_eval(<<'.,.,', 'grammar.y', 263) def _reduce_121(val, _values, result) result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 263) +module_eval(<<'.,.,', 'grammar.y', 264) def _reduce_122(val, _values, result) result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 265) +module_eval(<<'.,.,', 'grammar.y', 266) def _reduce_123(val, _values, result) result = val[0] << val[3] result end .,., -module_eval(<<'.,.,', 'grammar.y', 266) +module_eval(<<'.,.,', 'grammar.y', 267) def _reduce_124(val, _values, result) result = val[1] result end .,., -module_eval(<<'.,.,', 'grammar.y', 271) +module_eval(<<'.,.,', 'grammar.y', 272) def _reduce_125(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 272) +module_eval(<<'.,.,', 'grammar.y', 273) def _reduce_126(val, _values, result) result = val[1].new_instance result end .,., -module_eval(<<'.,.,', 'grammar.y', 273) +module_eval(<<'.,.,', 'grammar.y', 274) def _reduce_127(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 278) +module_eval(<<'.,.,', 'grammar.y', 279) def _reduce_128(val, _values, result) result = ExtendsNode.new(val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 283) +module_eval(<<'.,.,', 'grammar.y', 284) def _reduce_129(val, _values, result) result = CallNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 284) +module_eval(<<'.,.,', 'grammar.y', 285) def _reduce_130(val, _values, result) result = CallNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 289) +module_eval(<<'.,.,', 'grammar.y', 290) def _reduce_131(val, _values, result) result = val[1] result end .,., -module_eval(<<'.,.,', 'grammar.y', 294) +module_eval(<<'.,.,', 'grammar.y', 295) def _reduce_132(val, _values, result) result = CallNode.new(Value.new('super'), val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 299) +module_eval(<<'.,.,', 'grammar.y', 300) def _reduce_133(val, _values, result) result = ThisNode.new result end .,., -module_eval(<<'.,.,', 'grammar.y', 300) +module_eval(<<'.,.,', 'grammar.y', 301) def _reduce_134(val, _values, result) result = ThisNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 306) +module_eval(<<'.,.,', 'grammar.y', 307) def _reduce_135(val, _values, result) result = RangeNode.new(val[1], val[4]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 308) +module_eval(<<'.,.,', 'grammar.y', 309) def _reduce_136(val, _values, result) result = RangeNode.new(val[1], val[5], true) result end .,., -module_eval(<<'.,.,', 'grammar.y', 314) +module_eval(<<'.,.,', 'grammar.y', 315) def _reduce_137(val, _values, result) result = RangeNode.new(val[1], val[4]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 316) +module_eval(<<'.,.,', 'grammar.y', 317) def _reduce_138(val, _values, result) result = RangeNode.new(val[1], val[5], true) result end .,., -module_eval(<<'.,.,', 'grammar.y', 321) +module_eval(<<'.,.,', 'grammar.y', 322) def _reduce_139(val, _values, result) result = ArrayNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 326) +module_eval(<<'.,.,', 'grammar.y', 327) def _reduce_140(val, _values, result) result = [] result end .,., -module_eval(<<'.,.,', 'grammar.y', 327) +module_eval(<<'.,.,', 'grammar.y', 328) def _reduce_141(val, _values, result) result = val result end .,., -module_eval(<<'.,.,', 'grammar.y', 328) +module_eval(<<'.,.,', 'grammar.y', 329) def _reduce_142(val, _values, result) result = [val[1]] result end .,., -module_eval(<<'.,.,', 'grammar.y', 329) +module_eval(<<'.,.,', 'grammar.y', 330) def _reduce_143(val, _values, result) result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 330) +module_eval(<<'.,.,', 'grammar.y', 331) def _reduce_144(val, _values, result) result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 331) +module_eval(<<'.,.,', 'grammar.y', 332) def _reduce_145(val, _values, result) result = val[0] << val[3] result end .,., -module_eval(<<'.,.,', 'grammar.y', 332) +module_eval(<<'.,.,', 'grammar.y', 333) def _reduce_146(val, _values, result) result = val[0] << val[3] result end .,., -module_eval(<<'.,.,', 'grammar.y', 333) +module_eval(<<'.,.,', 'grammar.y', 334) def _reduce_147(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 338) +module_eval(<<'.,.,', 'grammar.y', 339) def _reduce_148(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 339) +module_eval(<<'.,.,', 'grammar.y', 340) def _reduce_149(val, _values, result) result = ([val[0]] << val[2]).flatten result end .,., -module_eval(<<'.,.,', 'grammar.y', 344) +module_eval(<<'.,.,', 'grammar.y', 345) def _reduce_150(val, _values, result) result = TryNode.new(val[1], val[2][0], val[2][1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 345) +module_eval(<<'.,.,', 'grammar.y', 346) def _reduce_151(val, _values, result) result = TryNode.new(val[1], nil, nil, val[3]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 347) +module_eval(<<'.,.,', 'grammar.y', 348) def _reduce_152(val, _values, result) result = TryNode.new(val[1], val[2][0], val[2][1], val[4]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 352) +module_eval(<<'.,.,', 'grammar.y', 353) def _reduce_153(val, _values, result) result = [val[1], val[2]] result end .,., -module_eval(<<'.,.,', 'grammar.y', 357) +module_eval(<<'.,.,', 'grammar.y', 358) def _reduce_154(val, _values, result) result = ThrowNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 362) +module_eval(<<'.,.,', 'grammar.y', 363) def _reduce_155(val, _values, result) result = ParentheticalNode.new(val[1], val[0].line) result end .,., -module_eval(<<'.,.,', 'grammar.y', 367) +module_eval(<<'.,.,', 'grammar.y', 368) def _reduce_156(val, _values, result) result = WhileNode.new(val[1], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 368) +module_eval(<<'.,.,', 'grammar.y', 369) def _reduce_157(val, _values, result) result = WhileNode.new(val[1], nil) result end .,., -module_eval(<<'.,.,', 'grammar.y', 369) +module_eval(<<'.,.,', 'grammar.y', 370) def _reduce_158(val, _values, result) result = WhileNode.new(val[2], Expressions.wrap(val[0])) result end .,., -module_eval(<<'.,.,', 'grammar.y', 376) +module_eval(<<'.,.,', 'grammar.y', 377) def _reduce_159(val, _values, result) result = ForNode.new(val[0], val[3], val[2][0], val[2][1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 377) +module_eval(<<'.,.,', 'grammar.y', 378) def _reduce_160(val, _values, result) result = ForNode.new(val[3], val[2], val[1][0], val[1][1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 382) +module_eval(<<'.,.,', 'grammar.y', 383) def _reduce_161(val, _values, result) result = val result end .,., -module_eval(<<'.,.,', 'grammar.y', 383) +module_eval(<<'.,.,', 'grammar.y', 384) def _reduce_162(val, _values, result) result = [val[0], val[2]] result end .,., -module_eval(<<'.,.,', 'grammar.y', 388) +module_eval(<<'.,.,', 'grammar.y', 389) def _reduce_163(val, _values, result) result = {:source => val[1]} result end .,., -module_eval(<<'.,.,', 'grammar.y', 389) +module_eval(<<'.,.,', 'grammar.y', 390) def _reduce_164(val, _values, result) result = {:source => val[1], :object => true} result end .,., -module_eval(<<'.,.,', 'grammar.y', 391) +module_eval(<<'.,.,', 'grammar.y', 392) def _reduce_165(val, _values, result) result = val[0].merge(:filter => val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 393) +module_eval(<<'.,.,', 'grammar.y', 394) def _reduce_166(val, _values, result) result = val[0].merge(:step => val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 399) +module_eval(<<'.,.,', 'grammar.y', 400) def _reduce_167(val, _values, result) result = val[3].rewrite_condition(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 401) +module_eval(<<'.,.,', 'grammar.y', 402) def _reduce_168(val, _values, result) result = val[3].rewrite_condition(val[1]).add_else(val[5]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 406) +module_eval(<<'.,.,', 'grammar.y', 407) def _reduce_169(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 407) +module_eval(<<'.,.,', 'grammar.y', 408) def _reduce_170(val, _values, result) result = val[0] << val[1] result end .,., -module_eval(<<'.,.,', 'grammar.y', 412) +module_eval(<<'.,.,', 'grammar.y', 413) def _reduce_171(val, _values, result) result = IfNode.new(val[1], val[2], nil, {:statement => true}) result end .,., -module_eval(<<'.,.,', 'grammar.y', 414) +module_eval(<<'.,.,', 'grammar.y', 415) def _reduce_172(val, _values, result) result = IfNode.new(val[1], val[2], nil, {:statement => true}) result end .,., -module_eval(<<'.,.,', 'grammar.y', 415) +module_eval(<<'.,.,', 'grammar.y', 416) def _reduce_173(val, _values, result) result = val[2].add_comment(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 420) +module_eval(<<'.,.,', 'grammar.y', 421) def _reduce_174(val, _values, result) result = IfNode.new(val[1], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 425) +module_eval(<<'.,.,', 'grammar.y', 426) def _reduce_175(val, _values, result) result = val[1].force_statement result end .,., -module_eval(<<'.,.,', 'grammar.y', 430) +module_eval(<<'.,.,', 'grammar.y', 431) def _reduce_176(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 431) +module_eval(<<'.,.,', 'grammar.y', 432) def _reduce_177(val, _values, result) result = val[0].add_else(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 436) +module_eval(<<'.,.,', 'grammar.y', 437) def _reduce_178(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'grammar.y', 437) +module_eval(<<'.,.,', 'grammar.y', 438) def _reduce_179(val, _values, result) result = val[1] result end .,., -module_eval(<<'.,.,', 'grammar.y', 442) +module_eval(<<'.,.,', 'grammar.y', 443) def _reduce_180(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 443) +module_eval(<<'.,.,', 'grammar.y', 444) def _reduce_181(val, _values, result) result = val[0].add_else(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 448) +module_eval(<<'.,.,', 'grammar.y', 449) def _reduce_182(val, _values, result) result = val[0].add_else(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 449) +module_eval(<<'.,.,', 'grammar.y', 450) def _reduce_183(val, _values, result) result = IfNode.new(val[2], Expressions.wrap(val[0]), nil, {:statement => true}) result end .,., -module_eval(<<'.,.,', 'grammar.y', 450) +module_eval(<<'.,.,', 'grammar.y', 451) def _reduce_184(val, _values, result) result = IfNode.new(val[2], Expressions.wrap(val[0]), nil, {:statement => true, :invert => true}) result