From 78a4974de90ce94100e5b51128e1b17f6b8b7cc8 Mon Sep 17 00:00:00 2001 From: Jeremy Ashkenas Date: Mon, 8 Feb 2010 11:48:43 -0500 Subject: [PATCH] allowing numbers to be used as object keys --- lib/coffee_script/grammar.y | 1 + lib/coffee_script/parser.rb | 2097 +++++++++--------- src/parser.coffee | 1 + test/fixtures/execution/test_literals.coffee | 2 + 4 files changed, 1063 insertions(+), 1038 deletions(-) diff --git a/lib/coffee_script/grammar.y b/lib/coffee_script/grammar.y index 5f841374..746a0df8 100644 --- a/lib/coffee_script/grammar.y +++ b/lib/coffee_script/grammar.y @@ -115,6 +115,7 @@ rule AssignObj: IDENTIFIER ASSIGN Expression { result = AssignNode.new(ValueNode.new(val[0]), val[2], :object) } | STRING ASSIGN Expression { result = AssignNode.new(ValueNode.new(LiteralNode.new(val[0])), val[2], :object) } + | NUMBER ASSIGN Expression { result = AssignNode.new(ValueNode.new(LiteralNode.new(val[0])), val[2], :object) } | Comment { result = val[0] } ; diff --git a/lib/coffee_script/parser.rb b/lib/coffee_script/parser.rb index d66a470b..b0740ca6 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', 461) +module_eval(<<'...end grammar.y/module_eval...', 'grammar.y', 462) # Lex and parse a CoffeeScript. def parse(code) # Uncomment the following line to enable grammar debugging, in combination @@ -34,110 +34,120 @@ module_eval(<<'...end grammar.y/module_eval...', 'grammar.y', 461) ##### State transition tables begin ### clist = [ -'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', +'135,200,143,28,31,34,38,42,45,51,56,61,64,289,290,182,264,104,105,106', +'252,264,273,59,49,293,102,59,103,49,57,65,131,136,8,14,192,152,190,289', +'290,166,147,151,302,8,14,202,54,200,186,59,199,8,14,-186,-186,147,151', +'155,158,161,163,165,130,134,139,142,146,150,154,157,160,164,168,129', +'133,138,141,145,149,153,156,159,162,167,128,132,137,140,144,148,181', +'8,14,202,12,26,314,32,35,12,40,206,28,31,34,38,42,45,51,56,61,64,296', +'281,59,211,2,147,151,21,25,-186,-186,95,97,41,95,97,52,57,65,66,94,147', +'151,94,7,13,125,22,200,33,36,59,269,187,49,54,208,209,264,283,71,74', +'5,10,16,19,49,8,14,298,59,44,47,214,215,49,72,3,49,59,98,188,95,97,-186', +'-186,95,97,8,14,259,94,8,14,202,94,8,14,192,72,3,-186,-186,121,26,59', +'32,35,12,40,292,28,31,34,38,42,45,51,56,61,64,285,8,14,59,2,49,196,21', +'25,49,197,98,115,41,95,97,52,57,65,66,-186,-186,198,94,7,13,282,22,110', +'33,36,-186,-186,59,49,54,81,104,105,106,71,74,5,10,16,19,102,280,103', +'147,151,44,47,104,105,106,214,215,49,8,14,319,102,78,103,104,105,106', +'171,172,-186,-186,-186,-186,102,210,103,8,14,72,3,81,213,78,26,180,32', +'35,12,40,125,28,31,34,38,42,45,51,56,61,64,104,105,106,,2,,,21,25,102', +',103,,41,,,52,57,65,66,,,,,7,13,,22,,33,36,,,,49,54,,104,105,106,71', +'74,5,10,16,19,102,,103,,,44,47,147,151,155,158,161,163,165,130,134,139', +'142,146,150,154,157,160,164,168,129,133,138,141,145,,,,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,147', +'151,155,158,161,163,165,130,134,139,142,146,150,154,157,160,164,168', +'129,133,138,141,145,,,,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', +'54,,,,,71,74,5,10,16,19,,,,,,44,47,147,151,155,158,161,163,165,130,134', +'139,142,146,150,154,157,160,164,168,129,133,138,141,145,,,,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', +'147,151,155,158,161,163,165,130,134,139,142,146,150,154,157,160,164', +'168,129,133,138,141,145,,,,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', +',,49,54,,,,,71,74,5,10,16,19,,,,,,44,47,147,151,155,158,161,163,165', +'130,134,139,142,146,150,154,157,160,164,168,129,133,138,141,145,,,,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', +',,,,,44,47,147,151,155,158,161,163,165,130,134,139,142,146,150,154,157', +'160,164,168,129,133,138,141,145,,,,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,,,', +',33,36,,,,49,54,,,,,71,74,5,10,16,19,,,,,,44,47,147,151,155,158,161', +'163,165,130,134,139,142,146,150,154,157,160,164,168,129,133,138,141', +'145,,,,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,147,151,155,158,161,163,165,130,134,139,142,146', +'150,154,157,160,164,168,129,133,138,141,145,,,,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,147,151', +'155,158,161,163,165,130,134,139,142,146,150,154,157,147,151,155,158', +'161,163,165,130,134,,,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,147,151,155,158,161,163,165,130,134', +'139,142,146,150,154,157,147,151,155,158,161,163,165,130,134,,,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,147,151,155,158,161,163,165,130,134,139,142,146,150,154,157,147', +'151,155,158,161,163,165,130,134,,,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,147,151,155,158,161', +'163,165,130,134,139,142,146,150,154,157,147,151,155,158,161,163,165', +'130,134,,,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', +'74,5,10,16,19,,,,,,44,47,147,151,155,158,161,163,165,130,134,147,151', +'155,158,161,163,165,130,134,147,151,155,158,161,163,165,,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', +'147,151,155,158,161,163,165,,,,,,,,,,,,,,,,,,,,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,113,,,,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,,,,,315,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,,123,,,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,,,,,305,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,278,,,,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,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', +',,,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', @@ -186,52 +196,34 @@ clist = [ ',,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,,,,,,,,,,,,,,,,,,,,,', +'36,,,,49,54,113,,,,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', +'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', +'66,,,,,7,13,,22,,33,36,,,,49,54,113,,,,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,,,', @@ -248,136 +240,149 @@ clist = [ ',,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) +',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,135,,143,,71,74,5,10,16,19', +',,,,,44,47,,,,,,,,,,,,,,,,131,136,,,,152,,,,166,,72,3,,,,26,,32,35,', +'40,,,,147,151,155,158,161,163,165,130,134,139,142,146,150,154,157,160', +'164,168,129,133,138,141,145,149,153,156,159,162,167,128,132,137,140', +'144,148,135,,143,,,,,,,324,,,,,,,,,,,,,,,,,,,,,,,131,136,,,,152,,,,166', +',,,,,,,,,,,,,,,147,151,155,158,161,163,165,130,134,139,142,146,150,154', +'157,160,164,168,129,133,138,141,145,149,153,156,159,162,167,128,132', +'137,140,144,148,,,,,,,,,,318,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,,,,,2,,,21,25,,,,,41,72', +'3,52,57,65,26,,32,35,,40,13,,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,,,,,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,,,,,71,74,5,10,16,19,28,31,34,38', +'42,45,51,56,61,64,,,,,,,,,,,,,,,,,,57,65,,,,,72,3,,,,26,,32,35,,40,135', +'54,143,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,131,136,,,,152,,,,166,,,,,,,,,26', +',32,35,,40,,147,151,155,158,161,163,165,130,134,139,142,146,150,154', +'157,160,164,168,129,133,138,141,145,149,153,156,159,162,167,128,132', +'137,140,144,148,135,,143,,,,,,,,,,,,,,,,,,,,,,,323,,,,,,,131,136,,,', +'152,,,,166,,,,,,,,,,,,,,,,147,151,155,158,161,163,165,130,134,139,142', +'146,150,154,157,160,164,168,129,133,138,141,145,149,153,156,159,162', +'167,128,132,137,140,144,148,135,,143,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,131', +'136,,,,152,,,,166,,,,,,,,,,,,,,,,147,151,155,158,161,163,165,130,134', +'139,142,146,150,154,157,160,164,168,129,133,138,141,145,149,153,156', +'159,162,167,128,132,137,140,144,148,135,,143,,,,,,,,,,,,,,,,,,,,,,,', +',,,,,,131,136,,,,152,,,,166,,,,,,,,,,,,,,,,147,151,155,158,161,163,165', +'130,134,139,142,146,150,154,157,160,164,168,129,133,138,141,145,149', +'153,156,159,162,167,128,132,137,140,144,148,135,,143,,,,,,,,,,,,,,,', +',,,,,,,,,,,,,,131,136,,,,152,,,,166,,,,,,,,,,,,,,,,147,151,155,158,161', +'163,165,130,134,139,142,146,150,154,157,160,164,168,129,133,138,141', +'145,149,153,156,159,162,167,128,132,137,140,144,148,135,,143,,,,,,,', +',,,,,,,,,,,,,,,274,,,,,,,131,136,,,,152,,,,166,,,,,,,,,,,,,,,,147,151', +'155,158,161,163,275,130,134,139,142,146,150,154,157,160,164,168,129', +'133,138,141,145,149,153,156,159,162,167,128,132,137,140,144,148,135', +',143,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,131,136,,,,152,,,,166,,,,,,,,,,,,', +',,,147,151,155,158,161,163,165,130,134,139,142,146,150,154,157,160,164', +'168,129,133,138,141,145,149,153,156,159,162,167,128,132,137,140,144', +'148,135,,143,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,131,136,,,,152,,,,166,,,,', +',,,,,,,,,,,147,151,155,158,161,163,165,130,134,139,142,146,150,154,157', +'160,164,168,129,133,138,141,145,149,153,156,159,162,167,128,132,137', +'140,144,148,135,,143,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,131,136,,,,152,,,', +'166,,,,,,,,,,,,,,,,147,151,155,158,161,163,204,130,134,139,142,146,150', +'154,157,160,164,168,129,133,138,141,145,149,153,156,159,162,167,128', +'132,137,140,144,148,135,,143,,,,,,,,,,,,,,,,,,,,,,,325,,,,,,,131,136', +',,,152,,,,166,,,,,,,,,,,,,,,,147,151,155,158,161,163,165,130,134,139', +'142,146,150,154,157,160,164,168,129,133,138,141,145,149,153,156,159', +'162,167,128,132,137,140,144,148,135,,143,,,,,,,,,,,,,,,,,,,,,,,,,,,', +',,131,136,,,,152,,,,166,,,,,,,,,,,,,,,,147,151,155,158,161,163,165,130', +'134,139,142,146,150,154,157,160,164,168,129,133,138,141,145,149,153', +'156,159,162,167,128,132,137,140,144,148,135,,143,,,,,,,,,,,,,,,,,,,', +',,,,,,,,,,131,136,,,,152,,,,166,,,,,,,,,,,,,,,,147,151,155,158,161,163', +'165,130,134,139,142,146,150,154,157,160,164,168,129,133,138,141,145', +'149,153,156,159,162,167,128,132,137,140,144,148,135,,143,,,,,,,,,,,', +',,,,,,,,,,,,,,,,,,131,136,,,,152,,,,166,,,,,,,,,,,,,,,,147,151,155,158', +'161,163,165,130,134,139,142,146,150,154,157,160,164,168,129,133,138', +'141,145,149,153,156,159,162,167,128,132,137,140,144,148,135,,143,,,', +',,,,,,,,,,,,,,,,,,,,,,,,,,131,136,,,,152,,,,166,,,,,,,,,,,,,,,,147,151', +'155,158,161,163,165,130,134,139,142,146,150,154,157,160,164,168,129', +'133,138,141,145,149,153,156,159,162,167,128,132,137,140,144,148,135', +',143,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,131,136,,,,152,,,,166,,,,,,,,59,,', +',,,,,147,151,155,158,161,163,165,130,134,139,142,146,150,154,157,160', +'164,168,129,133,138,141,145,149,153,156,159,162,167,128,132,137,140', +'144,148,135,,143,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,131,136,,,,152,,,,166', +',,,,,,,59,,,,,,,,147,151,155,158,161,163,165,130,134,139,142,146,150', +'154,157,160,164,168,129,133,138,141,145,149,153,156,159,162,167,128', +'132,137,140,144,148,135,,143,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,131,136,,', +',152,,,,166,,,,,,,,,,,,,,,,147,151,155,158,161,163,165,130,134,139,142', +'146,150,154,157,160,164,168,129,133,138,141,145,149,153,156,159,162', +'167,128,132,137,140,144,148,135,,143,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,131', +'136,,,,152,,,,166,,,,,,,,,,,,,,,,147,151,155,158,161,163,165,130,134', +'139,142,146,150,154,157,160,164,168,129,133,138,141,145,149,153,156', +'159,162,167,128,132,137,140,144,148,135,,143,,,,,,,,,,,,,,,,,,,,,,,', +',,,,,,131,136,,,,152,,,,166,,,,,,,,,,,,,,,,147,151,155,158,161,163,165', +'130,134,139,142,146,150,154,157,160,164,168,129,133,138,141,145,149', +'153,156,159,162,167,128,132,137,140,144,148,135,,143,,,,,,,,,,,,,,,', +',,,,,,,,,,,,,,131,136,,,,152,,,,166,,,,,,,,,,,,,,,,147,151,155,158,161', +'163,165,130,134,139,142,146,150,154,157,160,164,168,129,133,138,141', +'145,149,153,156,159,162,167,128,132,137,140,144,148,135,,143,,,,,,,', +',,,,,,,,,,,,,,,,,,,,,,131,136,,,,152,,,,166,,,,,,,,,,,,,,,,147,151,155', +'158,161,163,165,130,134,139,142,146,150,154,157,160,164,168,129,133', +'138,141,145,149,153,156,159,162,167,128,132,137,140,144,148,135,,143', +',,,,,,,,,,,,,,,,,,,,,,,,,,,,,131,136,,,,152,,,,166,,,,,,,,,,,,,,,,147', +'151,155,158,161,163,165,130,134,139,142,146,150,154,157,160,164,168', +'129,133,138,141,145,149,153,156,159,162,167,128,132,137,140,144,148', +'135,,143,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,131,136,,,,152,,,,166,,,,,,,,185', +',,,,,,,147,151,155,158,161,163,165,130,134,139,142,146,150,154,157,160', +'164,168,129,133,138,141,145,149,153,156,159,162,167,128,132,137,140', +'144,148,131,136,,,,,,,,166,,,,,,,,,,,,,,,,147,151,155,158,161,163,165', +'130,134,139,142,146,150,154,157,160,164,168,129,133,138,141,145,149', +'153,156,159,162,167,128,132,137,140,144,148,131,136,,,,,,,,166,,,,,', +',,,,,,,,,,147,151,155,158,161,163,165,130,134,139,142,146,150,154,157', +'160,164,168,129,133,138,141,145,149,153,156,159,162,167,128,132,137', +'140,144,148,131,136,,,,,,,,166,,,,,,,,,,,,,,,,147,151,155,158,161,163', +'165,130,134,139,142,146,150,154,157,160,164,168,129,133,138,141,145', +'149,153,156,159,162,167,128,132,137,140,144,148,136,,,,,,,,166,,,,,', +',,,,,,,,,,147,151,155,158,161,163,165,130,134,139,142,146,150,154,157', +'160,164,168,129,133,138,141,145,149,153,156,159,162,167,128,132,137', +'140,144,148,136,,,,,,,,166,,,,,,,,,,,,,,,,147,151,155,158,161,163,165', +'130,134,139,142,146,150,154,157,160,164,168,129,133,138,141,145,149', +'153,156,159,162,167,128,132,137,140,144,148,136,,,,,,,,166,,,,,,,,,', +',,,,,,147,151,155,158,161,163,165,130,134,139,142,146,150,154,157,160', +'164,168,129,133,138,141,145,149,153,156,159,162,167,128,132,137,140', +'144,148,136,,,,,,,,166,,,,,,,,,,,,,,,,147,151,155,158,161,163,165,130', +'134,139,142,146,150,154,157,160,164,168,129,133,138,141,145,149,153', +'156,159,162,167,128,132,137,140,144,148,136,,,,,,,,166,,,,,,,,,,,,,', +',,147,151,155,158,161,163,165,130,134,139,142,146,150,154,157,160,164', +'168,129,133,138,141,145,149,153,156,159,162,167,128,132,137,140,144', +'148,166,,,,,,,,,,,,,,,,147,151,155,158,161,163,165,130,134,139,142,146', +'150,154,157,160,164,168,129,133,138,141,145,149,153,156,159,162,167', +'128,132,137,140,144,148,166,,,,,,,,,,,,,,,,147,151,155,158,161,163,165', +'130,134,139,142,146,150,154,157,160,164,168,129,133,138,141,145,149', +'153,156,159,162,167,128,132,137,140,144,148,166,,,,,,,,,,,,,,,,147,151', +'155,158,161,163,165,130,134,139,142,146,150,154,157,160,164,168,129', +'133,138,141,145,149,153,156,159,162,167,128,132,137,140,144,148,147', +'151,155,158,161,163,165,130,134,139,142,146,150,154,157,160,164,168', +'129,133,138,141,145,149,153,156,159,162,167,128,132,137,140,144,148', +'147,151,155,158,161,163,165,130,134,139,142,146,150,154,157,160,164', +'168,129,133,138,141,145,149,153,156,159,162,167,128,132,137,140,144', +'148,147,151,155,158,161,163,165,130,134,139,142,146,150,154,157,160', +'164,168,129,133,138,141,145,149,153,156,159,162,167,128,132,137,140', +'144,148,147,151,155,158,161,163,165,130,134,139,142,146,150,154,157', +'160,164,168,129,133,138,141,145,149,153,156,159,162,167,128,132,137', +'140,144,148,147,151,155,158,161,163,165,130,134,139,142,146,150,154', +'157,160,164,168,129,133,138,141,145,149,153,156,159,162,167,128,132', +'137,140,144,148,147,151,155,158,161,163,165,130,134,139,142,146,150', +'154,157,160,164,168,129,133,138,141,145,149,153,156,159,162,167,128', +'132,137,140,144,148,147,151,155,158,161,163,165,130,134,139,142,146', +'150,154,157,160,164,168,129,133,138,141,145,149,153,156,159,162,167', +'128,132,137,140,144,148,147,151,155,158,161,163,165,130,134,139,142', +'146,150,154,157,160,164,168,129,133,138,141,145,149,153,156,159,162', +'167,128,132,137,140,144,148' ] + racc_action_table = arr = Array.new(11137, nil) idx = 0 clist.each do |str| str.split(',', -1).each do |i| @@ -387,382 +392,388 @@ clist = [ end clist = [ -'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,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', -'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,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,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,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', +'116,112,116,21,21,21,21,21,21,21,21,21,21,216,216,82,295,30,30,30,165', +'185,193,261,295,259,30,216,30,185,21,21,116,116,100,100,100,116,100', +'291,291,116,245,245,275,112,112,112,21,193,94,299,112,313,313,119,119', +'116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116', +'116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116', +'116,82,193,193,193,78,21,299,21,21,103,21,116,103,103,103,103,103,103', +'103,103,103,103,263,205,209,122,103,248,248,103,103,118,118,192,192', +'103,98,98,103,103,103,103,192,250,250,98,103,103,66,103,205,103,103', +'78,189,95,103,103,117,117,263,208,103,103,103,103,103,103,263,122,122', +'263,282,103,103,126,126,192,182,182,98,283,98,97,191,191,175,175,26', +'26,62,62,180,191,205,205,205,26,189,189,189,103,103,83,83,53,103,41', +'103,103,135,103,252,135,135,135,135,135,135,135,135,135,135,213,192', +'192,296,135,191,104,135,135,26,105,26,36,135,272,272,135,135,135,135', +'89,89,106,272,135,135,207,135,32,135,135,174,174,69,135,135,181,70,70', +'70,135,135,135,135,135,135,70,204,70,242,242,135,135,90,90,90,220,220', +'272,262,262,312,90,75,90,91,91,91,70,70,85,85,88,88,91,121,91,67,67', +'135,135,2,125,1,135,81,135,135,5,135,131,5,5,5,5,5,5,5,5,5,5,257,257', +'257,,5,,,5,5,257,,257,,5,,,5,5,5,5,,,,,5,5,,5,,5,5,,,,5,5,,256,256,256', +'5,5,5,5,5,5,256,,256,,,5,5,237,237,237,237,237,237,237,237,237,237,237', +'237,237,237,237,237,237,237,237,237,237,237,237,,,,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,240,240,240,240,240,240,240,240,240,240', +'240,240,240,240,240,240,240,240,240,240,240,240,240,,,,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,234', +'234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234', +'234,234,234,234,234,,,,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,243,243,243,243,243,243,243', +'243,243,243,243,243,243,243,243,243,243,243,243,243,243,243,243,,,,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,230,230,230,230,230,230,230,230,230,230,230,230,230,230', +'230,230,230,230,230,230,230,230,230,,,,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,246,246,246', +'246,246,246,246,246,246,246,246,246,246,246,246,246,246,246,246,246', +'246,246,246,,,,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,222,222,222,222,222,222,222,222,222', +'222,222,222,222,222,222,222,222,222,222,222,222,222,222,,,,19,19,,,', +'19,,19,19,134,19,,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,227,227,227,227,227,227,227', +'227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,,,,134', +'134,,,,134,,134,134,22,134,,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,218,218,218,218,218,218,218,218,218,218,218,218,218', +'218,218,231,231,231,231,231,231,231,231,231,,,22,22,,,,22,,22,22,133', +'22,,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,255,255,255,255,255,255,255,255,255,255,255', +'255,255,255,255,244,244,244,244,244,244,244,244,244,,,133,133,,,,133', +',133,133,314,133,,314,314,314,314,314,314,314,314,314,314,,,,,314,,', +'314,314,,,,,314,,,314,314,314,314,,,,,314,314,,314,,314,314,,,,314,314', +',,,,314,314,314,314,314,314,,,,,,314,314,251,251,251,251,251,251,251', +'251,251,251,251,251,251,251,251,228,228,228,228,228,228,228,228,228', +',,314,314,,,,314,,314,314,132,314,,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,247,247,247', +'247,247,247,247,247,247,247,247,247,247,247,247,238,238,238,238,238', +'238,238,238,238,,,132,132,,,,132,,132,132,138,132,,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,241,241,241,241,241,241,241,241,241,235,235,235,235,235,235,235', +'235,235,223,223,223,223,223,223,223,,138,138,,,,138,,138,138,33,138', +',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,219,219', +'219,219,219,219,219,,,,,,,,,,,,,,,,,,,,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,302,35,,302,302,302,302,302,302,302', +'302,302,302,,,,,302,,,302,302,,,,,302,,,302,302,302,302,,,,,302,302', +',302,,302,302,,,,302,302,,,,,302,302,302,302,302,302,,,,,302,302,302', +',,,,,,,,,,,,,,,,,,,,,,,,,,302,302,,,,302,,302,302,40,302,,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,290,40,,290,290,290,290,290,290,290,290,290', +'290,,,,,290,,,290,290,,,,,290,,,290,290,290,290,,,,,290,290,,290,,290', +'290,,,,290,290,,,,,290,290,290,290,290,290,,,,,,290,290,,,,,,,,,,,,', +',,,,,,,,,,,,,,290,290,,,,290,,290,290,44,290,,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,289,52,,289,289,289,289,289,289,289,289', +'289,289,,,,,289,,,289,289,,,,,289,,,289,289,289,289,,,,,289,289,,289', +',289,289,,,,289,289,,,,,289,289,289,289,289,289,,,,,,289,289,,,,,,,', +',,,,,,,,,,,,,,,,,,,289,289,,,,289,,289,289,59,289,,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,280,59,,280,280,280,280,280,280,280,280,280,280', +',,,,280,,,280,280,,,,,280,,,280,280,280,280,,,,,280,280,,280,,280,280', +',,,280,280,,,,,280,280,280,280,280,280,,,,,280,280,280,,,,,,,,,,,,,', +',,,,,,,,,,,,,280,280,,,,280,,280,280,278,280,,278,278,278,278,278,278', +'278,278,278,278,,,,,278,,,278,278,,,,,278,,,278,278,278,278,,,,,278', +'278,,278,,278,278,,,,278,278,,,,,278,278,278,278,278,278,,,,,,278,278', +',,,,,,,,,,,,,,,,,,,,,,,,,,278,278,,,,278,,278,278,277,278,,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,264,277', +',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,215,264,,215,215,215,215,215,215,215,215,215,215,,,,,215,,,215,215', +',,,,215,,,215,215,215,215,,,,,215,215,,215,,215,215,,,,215,215,,,,,215', +'215,215,215,215,215,,,,,,215,215,,,,,,,,,,,,,,,,,,,,,,,,,,,215,215,', +',,215,,215,215,214,215,,214,214,214,214,214,214,214,214,214,214,,,,', +'214,,,214,214,,,,,214,,,214,214,214,214,,,,,214,214,,214,,214,214,,', +',214,214,,,,,214,214,214,214,214,214,,,,,,214,214,,,,,,,,,,,,,,,,,,', +',,,,,,,,214,214,,,,214,,214,214,71,214,,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,202,74,,202,202', +'202,202,202,202,202,202,202,202,,,,,202,,,202,202,,,,,202,,,202,202', +'202,202,,,,,202,202,,202,,202,202,,,,202,202,202,,,,202,202,202,202', +'202,202,,,,,,202,202,,,,,,,,,,,,,,,,,,,,,,,,,,,202,202,202,202,,202', +',202,202,201,202,,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,188,201,,188,188,188,188,188,188,188,188,188,188', +',,,,188,,,188,188,,,,,188,,,188,188,188,188,,,,,188,188,,188,,188,188', +',,,188,188,,,,,188,188,188,188,188,188,,,,,,188,188,,,,,,,,,,,,,,,,', +',,,,,,,,,,188,188,,,,188,,188,188,187,188,,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,186,187,,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,172,186', +',172,172,172,172,172,172,172,172,172,172,,,,,172,,,172,172,,,,,172,', +',172,172,172,172,,,,,172,172,,172,,172,172,,,,172,172,,,,,172,172,172', +'172,172,172,,,,,,172,172,,,,,,,,,,,,,,,,,,,,,,,,,,,172,172,,,,172,,172', +'172,137,172,,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,168,137,,168,168,168,168,168,168,168,168,168,168,,,,', +'168,,,168,168,,,,,168,,,168,168,168,168,,,,,168,168,,168,,168,168,,', +',168,168,,,,,168,168,168,168,168,168,,,,,,168,168,,,,,,,,,,,,,,,,,,', +',,,,,,,,168,168,,,,168,,168,168,167,168,,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,166,167,,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,164,166', +',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,130,164,,130,130,130,130,130,130,130,130,130,130,,,,,130,,,130,130', +',,,,130,,,130,130,130,130,,,,,130,130,,130,,130,130,,,,130,130,,,,,130', +'130,130,130,130,130,,,,,,130,130,,,,,,,,,,,,,,,,,,,,,,,,,,,130,130,', +',,130,,130,130,162,130,,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,161,162,,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,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,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,102,155', +',102,102,102,102,102,102,102,102,102,102,,,,,102,,,102,102,,,,,102,', +',102,102,102,102,,,,,102,102,,102,,102,102,,,,102,102,102,,,,102,102', +'102,102,102,102,,,,,,102,102,,,,,,,,,,,,,,,,,,,,,,,,,,,102,102,,,,102', +',102,102,136,102,,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,154,136,,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', +',,,,,152,152,,,,,,,,,,,,,,,,,,,,,,,,,,,152,152,,,,152,,152,152,150,152', +',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,149,150,,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,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,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,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,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,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,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,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,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,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,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,284,284,306,,,,,,,,306,,,,,', -',,,,,,,,,,306,306,306,306,306,306,306,306,306,306,306,306,306,306,306', +',,149,,149,149,129,149,,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,148,129,,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,115,148,,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,0', +'115,,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,146,0,,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,142,143', +',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,124,141,,124,124,124,124,124,124,124,124,124,124,,,,', +'124,,,124,124,,,,,124,,,124,124,124,124,,,,,124,124,,124,,124,124,,', +',124,124,,,,,124,124,124,124,124,124,,,,,,124,124,,,,,,,,,,,,,,,,,,', +',,,,,,,,124,124,,,,124,,124,124,140,124,,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,128,139', +',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,113,128,,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,317,', +'317,,113,113,113,113,113,113,,,,,,113,113,,,,,,,,,,,,,,,,317,317,,,', +'317,,,,317,,113,113,,,,113,,113,113,,113,,,,317,317,317,317,317,317', +'317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317', +'317,317,317,317,317,317,317,317,317,317,317,317,306,,306,,,,,,,317,', +',,,,,,,,,,,,,,,,,,,,,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,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,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', +'306,306,306,306,306,306,306,306,306,306,306,306,306,306,306,,,,,,,,', +',306,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,,,305', +'305,305,305,305,305,305,305,305,305,,,,,305,,,305,305,,,,,305,25,25', +'305,305,305,25,,25,25,,25,305,,305,,305,305,,,,305,305,,,,,305,305,305', +'305,305,305,,,,,,,,,,315,315,315,315,315,315,315,315,315,315,,,,,315', +',,315,315,,,,,315,305,305,315,315,315,305,,305,305,,305,315,,315,,315', +'315,,,,315,315,,,,,315,315,315,315,315,315,,,,,,,,,,163,163,163,163', +'163,163,163,163,163,163,,,,,163,,,163,163,,,,,163,315,315,163,163,163', +'315,,315,315,,315,163,,163,,163,163,,,,163,163,,,,,163,163,163,163,163', +'163,171,171,171,171,171,171,171,171,171,171,,,,,,,,,,,,,,,,,,171,171', +',,,,163,163,,,,163,,163,163,,163,232,171,232,,,,,,,,,,,,,,,,,,,,,,,', +',,,,,,232,232,,,,232,,,,232,,,,,,,,,171,,171,171,,171,,232,232,232,232', +'232,232,232,232,232,232,232,232,232,232,232,232,232,232,232,232,232', +'232,232,232,232,232,232,232,232,232,232,232,232,232,232,316,,316,,,', +',,,,,,,,,,,,,,,,,,,316,,,,,,,316,316,,,,316,,,,316,,,,,,,,,,,,,,,,316', +'316,316,316,316,316,316,316,316,316,316,316,316,316,316,316,316,316', +'316,316,316,316,316,316,316,316,316,316,316,316,316,316,316,316,316', +'212,,212,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,212,212,,,,212,,,,212,,,,,,,,', +',,,,,,,212,212,212,212,212,212,212,212,212,212,212,212,212,212,212,212', +'212,212,212,212,212,212,212,212,212,212,212,212,212,212,212,212,212', +'212,212,224,,224,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,224,224,,,,224,,,,224', +',,,,,,,,,,,,,,,224,224,224,224,224,224,224,224,224,224,224,224,224,224', '224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224', -'224,224,224,224,224,224,224,224,224,224,224,224,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,227,227,227,227,227,227,227,227,227,227' ] - racc_action_check = arr = Array.new(10987, nil) +'224,224,224,224,203,,203,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,203,203,,,,203', +',,,203,,,,,,,,,,,,,,,,203,203,203,203,203,203,203,203,203,203,203,203', +'203,203,203,203,203,203,203,203,203,203,203,203,203,203,203,203,203', +'203,203,203,203,203,203,195,,195,,,,,,,,,,,,,,,,,,,,,,,195,,,,,,,195', +'195,,,,195,,,,195,,,,,,,,,,,,,,,,195,195,195,195,195,195,195,195,195', +'195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195', +'195,195,195,195,195,195,195,195,195,194,,194,,,,,,,,,,,,,,,,,,,,,,,', +',,,,,,194,194,,,,194,,,,194,,,,,,,,,,,,,,,,194,194,194,194,194,194,194', +'194,194,194,194,194,194,194,194,194,194,194,194,194,194,194,194,194', +'194,194,194,194,194,194,194,194,194,194,194,304,,304,,,,,,,,,,,,,,,', +',,,,,,,,,,,,,,304,304,,,,304,,,,304,,,,,,,,,,,,,,,,304,304,304,304,304', +'304,304,304,304,304,304,304,304,304,304,304,304,304,304,304,304,304', +'304,304,304,304,304,304,304,304,304,304,304,304,304,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,114,114,322,,322', +',,,,,,,,,,,,,,,,,,,,,,322,,,,,,,322,322,,,,322,,,,322,,,,,,,,,,,,,,', +',322,322,322,322,322,322,322,322,322,322,322,322,322,322,322,322,322', +'322,322,322,322,322,322,322,322,322,322,322,322,322,322,322,322,322', +'322,321,,321,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,321,321,,,,321,,,,321,,,,', +',,,,,,,,,,,321,321,321,321,321,321,321,321,321,321,321,321,321,321,321', +'321,321,321,321,321,321,321,321,321,321,321,321,321,321,321,321,321', +'321,321,321,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,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,300,300,300,300,300,239,,239,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,239', +'239,,,,239,,,,239,,,,,,,,,,,,,,,,239,239,239,239,239,239,239,239,239', +'239,239,239,239,239,239,239,239,239,239,239,239,239,239,239,239,239', +'239,239,239,239,239,239,239,239,239,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,268,,268,,,,,,,,,,,,,,,,,', +',,,,,,,,,,,,268,268,,,,268,,,,268,,,,,,,,,,,,,,,,268,268,268,268,268', +'268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268', +'268,268,268,268,268,268,268,268,268,268,268,268,268,279,,279,,,,,,,', +',,,,,,,,,,,,,,,,,,,,,,279,279,,,,279,,,,279,,,,,,,,,,,,,,,,279,279,279', +'279,279,279,279,279,279,279,279,279,279,279,279,279,279,279,279,279', +'279,279,279,279,279,279,279,279,279,279,279,279,279,279,279,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', +'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,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,267,,267,,,,,,,,,,,,,,,', +',,,,,,,,,,,,,,267,267,,,,267,,,,267,,,,,,,,,,,,,,,,267,267,267,267,267', +'267,267,267,267,267,267,267,267,267,267,267,267,267,267,267,267,267', +'267,267,267,267,267,267,267,267,267,267,267,267,267,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,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,120,120,,,,,,,,120,,,,,,,,,,,,,,,,120,120,120,120', +'120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120', +'120,120,120,120,120,120,120,120,120,120,120,120,120,120,258,258,,,,', +',,,258,,,,,,,,,,,,,,,,258,258,258,258,258,258,258,258,258,258,258,258', +'258,258,258,258,258,258,258,258,258,258,258,258,258,258,258,258,258', +'258,258,258,258,258,258,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,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,310,,,,,,,,310,,,,,,,,,,,,,,,,310,310,310,310,310,310', +'310,310,310,310,310,310,310,310,310,310,310,310,310,310,310,310,310', +'310,310,310,310,310,310,310,310,310,310,310,310,309,,,,,,,,309,,,,,', +',,,,,,,,,,309,309,309,309,309,309,309,309,309,309,309,309,309,309,309', +'309,309,309,309,309,309,309,309,309,309,309,309,309,309,309,309,309', +'309,309,309,225,,,,,,,,225,,,,,,,,,,,,,,,,225,225,225,225,225,225,225', +'225,225,225,225,225,225,225,225,225,225,225,225,225,225,225,225,225', +'225,225,225,225,225,225,225,225,225,225,225,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,253,,,,,,,,,,,,,,,,253,253,253,253,253', +'253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253', +'253,253,253,253,253,253,253,253,253,253,253,253,253,111,,,,,,,,,,,,', +',,,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111', +'111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111', +'111,233,233,233,233,233,233,233,233,233,233,233,233,233,233,233,233', +'233,233,233,233,233,233,233,233,233,233,233,233,233,233,233,233,233', +'233,233,226,226,226,226,226,226,226,226,226,226,226,226,226,226,226', +'226,226,226,226,226,226,226,226,226,226,226,226,226,226,226,226,226', +'226,226,226,217,217,217,217,217,217,217,217,217,217,217,217,217,217', +'217,217,217,217,217,217,217,217,217,217,217,217,217,217,217,217,217', +'217,217,217,217,249,249,249,249,249,249,249,249,249,249,249,249,249', +'249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249', +'249,249,249,249,249,254,254,254,254,254,254,254,254,254,254,254,254', +'254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254', +'254,254,254,254,254,254,221,221,221,221,221,221,221,221,221,221,221', +'221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221', +'221,221,221,221,221,221,221,236,236,236,236,236,236,236,236,236,236', +'236,236,236,236,236,236,236,236,236,236,236,236,236,236,236,236,236', +'236,236,236,236,236,236,236,236,229,229,229,229,229,229,229,229,229', +'229,229,229,229,229,229,229,229,229,229,229,229,229,229,229,229,229', +'229,229,229,229,229,229,229,229,229' ] + racc_action_check = arr = Array.new(11137, nil) idx = 0 clist.each do |str| str.split(',', -1).each do |i| @@ -772,156 +783,158 @@ clist = [ end racc_action_pointer = [ - 6361, 294, 195, nil, nil, 301, nil, 402, nil, nil, + 6462, 295, 276, 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 ] + nil, -2, 1109, nil, nil, 7813, 175, nil, nil, nil, + 2, nil, 229, 1614, nil, 1715, 203, nil, nil, nil, + 1917, 148, nil, nil, 2119, nil, nil, 2220, nil, nil, + nil, nil, 2321, 197, nil, nil, nil, nil, nil, 2523, + nil, nil, 86, nil, nil, nil, 126, 196, 9859, 197, + 237, 3230, nil, nil, 3331, 275, nil, nil, 94, nil, + nil, 235, -6, 136, 9399, 226, 9491, 10135, 228, 176, + 253, 265, 10661, 10195, 3, 100, nil, 128, 123, nil, + -62, nil, 5452, 99, 207, 211, 223, nil, nil, nil, + nil, 10763, -51, 7573, 8847, 6361, -2, 121, 64, -4, + 10255, 290, 65, nil, 7169, 199, 132, nil, 7472, 6159, + 4543, 291, 1412, 1210, 1008, 200, 5553, 4038, 1513, 7371, + 7270, 7068, 6967, 6866, 6765, 6664, 6563, nil, 6260, 6058, + 5957, nil, 5856, 5755, 5654, 5351, 5250, 5149, 5048, 4947, + 4846, 4745, 4644, 8008, 4442, -45, 4341, 4240, 4139, nil, + nil, 8064, 3937, nil, 187, 119, nil, nil, nil, nil, + 119, 231, 76, nil, nil, -20, 3836, 3735, 3634, 94, + nil, 171, 120, -3, 8663, 8571, nil, nil, nil, nil, + nil, 3533, 3432, 8479, 197, 90, nil, 211, 139, 65, + nil, nil, 8295, 201, 3129, 3028, -24, 10868, 1118, 1623, + 236, 10973, 916, 1540, 8387, 10610, 10833, 1017, 1335, 11043, + 714, 1133, 8111, 10798, 512, 1531, 11008, 310, 1436, 9307, + 411, 1522, 205, 613, 1234, -17, 815, 1421, 60, 10903, + 76, 1320, 139, 10712, 10938, 1219, 338, 301, 10315, -40, + nil, -28, 178, 111, 2927, nil, 9951, 10043, 9583, nil, + nil, nil, 224, nil, nil, -21, 9767, 2826, 2725, 9675, + 2624, nil, 113, 122, nil, nil, 10433, 10374, nil, 2422, + 2018, 2, nil, nil, nil, -25, 167, nil, nil, 0, + 9215, nil, 1816, 9123, 8755, 7878, 7714, nil, nil, 10551, + 10492, nil, 224, -43, 1311, 7943, 8203, 7622, nil, nil, + nil, 9031, 8939, 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, -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, -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, -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, -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, -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 ] + -1, -179, -186, -98, -10, -186, -106, -186, -26, -11, + -186, -107, -186, -186, -27, -12, -186, -108, -13, -186, + -109, -186, -186, -14, -110, -46, -120, -15, -28, -16, + -126, -29, -134, -186, -31, -141, -186, -17, -34, -18, + -186, -186, -35, -19, -186, -36, -20, -186, -128, -47, + -21, -37, -186, -186, -30, -22, -38, -32, -2, -186, + -23, -39, -3, -105, -104, -33, -186, -186, -5, -186, + -8, -186, -97, -9, -186, -179, -181, -183, -186, -177, + -99, -101, -186, -49, -158, -53, -186, -186, -55, -54, + -186, -127, -56, -45, -186, -186, -44, -186, -120, -121, + -186, -131, -141, -186, -186, -186, -186, -112, -116, -117, + -135, -57, -186, -186, -142, -141, -186, -186, -51, -50, + -155, -186, -186, -25, -7, -162, -186, -4, -186, -186, + -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, + -186, -186, -186, -186, -186, -186, -186, -59, -186, -186, + -186, -58, -186, -186, -186, -186, -186, -186, -186, -186, + -186, -186, -186, -94, -186, -186, -186, -186, -186, -96, + -130, -186, -186, -111, -52, -48, -182, -178, -180, -176, + -186, -186, -186, -157, -175, -186, -186, -186, -186, -186, + -119, -186, -186, -186, -142, -186, -113, -114, -115, -140, + -148, -186, -186, -143, -186, -186, -156, -151, -186, -186, + 326, -24, -6, -186, -186, -186, -186, -86, -74, -63, + -186, -87, -75, -64, -184, -93, -88, -76, -65, -89, + -77, -66, -185, -90, -78, -67, -91, -79, -68, -159, + -80, -69, -60, -81, -70, -61, -82, -71, -62, -84, + -83, -72, -186, -92, -85, -73, -129, -186, -40, -186, + -100, -186, -186, -186, -186, -170, -41, -43, -42, -125, + -123, -122, -186, -132, -118, -186, -145, -186, -186, -144, + -186, -133, -186, -186, -152, -163, -164, -165, -161, -186, + -186, -160, -103, -102, -95, -186, -186, -171, -168, -186, + -149, -124, -186, -146, -147, -103, -186, -153, -154, -167, + -166, -174, -186, -172, -186, -103, -186, -186, -136, -169, + -173, -150, -186, -138, -137, -139 ] racc_goto_table = [ - 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, + 58, 173, 80, 216, 270, 271, 265, 170, 112, 90, + 100, 126, 67, 91, 62, 76, 53, 83, 79, 84, + 299, 173, 85, 263, 86, 87, 207, 170, 88, 96, + 179, 89, 261, 75, 92, 82, 77, 93, nil, nil, + nil, nil, nil, nil, nil, 111, nil, 114, nil, nil, + nil, nil, 116, 117, nil, nil, 118, nil, nil, 119, + nil, nil, 124, nil, 120, nil, nil, 127, nil, nil, + nil, nil, nil, 122, nil, 193, 220, nil, nil, nil, + nil, 169, 189, 174, 297, 301, 175, nil, 205, 176, + 178, nil, 177, nil, nil, nil, 183, 291, 184, nil, + 191, 96, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, 194, 195, 311, nil, nil, nil, + nil, nil, 124, nil, nil, 203, nil, 194, nil, nil, + nil, nil, nil, nil, nil, nil, 212, nil, nil, nil, + 217, 218, 219, nil, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 256, + 236, 237, 238, 257, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 250, 251, nil, 253, 254, + 255, 260, nil, nil, 258, nil, nil, 173, 262, 191, + nil, nil, 272, 170, 96, 96, nil, nil, 266, 267, + 268, nil, 277, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, 276, 279, nil, nil, nil, nil, nil, + nil, 284, nil, nil, nil, nil, 286, 287, 288, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, 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 ] + nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, 295, nil, nil, nil, 262, nil, nil, nil, + nil, nil, nil, 294, nil, 96, 300, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, 303, + 304, nil, 306, nil, 307, 308, nil, nil, 262, nil, + nil, 309, 310, nil, nil, nil, nil, nil, 312, nil, + nil, 313, nil, 320, 316, nil, nil, 317, nil, nil, + nil, nil, nil, nil, nil, nil, 321, 322 ] racc_goto_check = [ - 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, + 2, 32, 26, 43, 23, 23, 45, 38, 39, 6, + 36, 42, 4, 33, 3, 49, 1, 5, 47, 5, + 40, 32, 5, 44, 5, 5, 41, 38, 5, 21, + 46, 5, 25, 48, 5, 24, 50, 5, nil, nil, + nil, nil, nil, nil, nil, 5, nil, 5, nil, nil, + nil, nil, 5, 4, nil, nil, 5, nil, nil, 5, + nil, nil, 2, nil, 5, nil, nil, 2, nil, nil, + nil, nil, nil, 3, nil, 39, 42, nil, nil, nil, + nil, 4, 36, 5, 45, 23, 5, nil, 39, 49, + 4, nil, 47, nil, nil, nil, 4, 43, 4, nil, + 2, 21, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, 5, 5, 45, nil, nil, nil, + nil, nil, 2, nil, nil, 5, nil, 5, nil, nil, + nil, nil, 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, 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, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, + 5, 5, 5, 33, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, nil, 5, 5, + 5, 26, nil, nil, 5, nil, nil, 32, 21, 2, + nil, nil, 2, 38, 21, 21, nil, nil, 5, 5, + 5, nil, 2, nil, nil, nil, nil, nil, nil, nil, + nil, nil, 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, 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 ] + nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, 2, nil, nil, nil, 21, nil, nil, nil, + nil, nil, nil, 4, nil, 21, 5, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, 5, + 5, nil, 5, nil, 4, 4, nil, nil, 21, nil, + nil, 5, 5, nil, nil, nil, nil, nil, 4, nil, + nil, 4, nil, 2, 5, nil, nil, 5, nil, nil, + nil, nil, nil, nil, nil, nil, 5, 5 ] racc_goto_pointer = [ - nil, 23, 0, 29, 3, 3, -17, nil, nil, nil, + nil, 16, 0, 14, 12, 12, -12, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - 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 ] + nil, 3, nil, -187, 33, -150, 0, nil, nil, nil, + nil, nil, -69, -8, nil, nil, -16, nil, -63, -27, + -244, -91, -55, -123, -162, -179, -48, 17, 32, 14, + 35 ] racc_goto_default = [ - nil, nil, 199, nil, nil, 68, 70, 73, 4, 9, + nil, nil, 201, 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, + 55, 60, 63, 99, nil, 69, nil, 6, 11, 17, + 20, 24, 107, 30, 108, 109, nil, 48, 101, nil, nil, nil, nil, nil, nil, nil, 1, nil, nil, nil, nil ] @@ -969,11 +982,11 @@ racc_reduce_table = [ 3, 116, :_reduce_40, 3, 129, :_reduce_41, 3, 129, :_reduce_42, - 1, 129, :_reduce_43, - 2, 120, :_reduce_44, - 1, 120, :_reduce_45, - 1, 127, :_reduce_46, - 2, 115, :_reduce_47, + 3, 129, :_reduce_43, + 1, 129, :_reduce_44, + 2, 120, :_reduce_45, + 1, 120, :_reduce_46, + 1, 127, :_reduce_47, 2, 115, :_reduce_48, 2, 115, :_reduce_49, 2, 115, :_reduce_50, @@ -985,7 +998,7 @@ racc_reduce_table = [ 2, 115, :_reduce_56, 2, 115, :_reduce_57, 2, 115, :_reduce_58, - 3, 115, :_reduce_59, + 2, 115, :_reduce_59, 3, 115, :_reduce_60, 3, 115, :_reduce_61, 3, 115, :_reduce_62, @@ -1019,102 +1032,103 @@ racc_reduce_table = [ 3, 115, :_reduce_90, 3, 115, :_reduce_91, 3, 115, :_reduce_92, - 2, 126, :_reduce_93, - 5, 114, :_reduce_94, - 2, 114, :_reduce_95, - 1, 131, :_reduce_96, + 3, 115, :_reduce_93, + 2, 126, :_reduce_94, + 5, 114, :_reduce_95, + 2, 114, :_reduce_96, 1, 131, :_reduce_97, - 1, 130, :_reduce_98, - 3, 130, :_reduce_99, + 1, 131, :_reduce_98, + 1, 130, :_reduce_99, + 3, 130, :_reduce_100, 1, 132, :_reduce_none, - 4, 132, :_reduce_101, - 4, 125, :_reduce_102, - 1, 112, :_reduce_103, + 4, 132, :_reduce_102, + 4, 125, :_reduce_103, 1, 112, :_reduce_104, 1, 112, :_reduce_105, 1, 112, :_reduce_106, 1, 112, :_reduce_107, 1, 112, :_reduce_108, 1, 112, :_reduce_109, - 2, 112, :_reduce_110, + 1, 112, :_reduce_110, 2, 112, :_reduce_111, - 2, 138, :_reduce_112, + 2, 112, :_reduce_112, 2, 138, :_reduce_113, 2, 138, :_reduce_114, - 1, 138, :_reduce_115, + 2, 138, :_reduce_115, 1, 138, :_reduce_116, - 3, 140, :_reduce_117, - 3, 134, :_reduce_118, - 0, 142, :_reduce_119, - 1, 142, :_reduce_120, - 3, 142, :_reduce_121, + 1, 138, :_reduce_117, + 3, 140, :_reduce_118, + 3, 134, :_reduce_119, + 0, 142, :_reduce_120, + 1, 142, :_reduce_121, 3, 142, :_reduce_122, - 4, 142, :_reduce_123, - 3, 142, :_reduce_124, - 1, 113, :_reduce_125, - 2, 113, :_reduce_126, - 1, 113, :_reduce_127, - 3, 124, :_reduce_128, - 2, 139, :_reduce_129, + 3, 142, :_reduce_123, + 4, 142, :_reduce_124, + 3, 142, :_reduce_125, + 1, 113, :_reduce_126, + 2, 113, :_reduce_127, + 1, 113, :_reduce_128, + 3, 124, :_reduce_129, 2, 139, :_reduce_130, - 3, 144, :_reduce_131, - 4, 143, :_reduce_132, - 1, 137, :_reduce_133, - 2, 137, :_reduce_134, - 6, 136, :_reduce_135, - 7, 136, :_reduce_136, - 6, 141, :_reduce_137, - 7, 141, :_reduce_138, - 3, 133, :_reduce_139, - 0, 145, :_reduce_140, - 1, 145, :_reduce_141, - 2, 145, :_reduce_142, - 3, 145, :_reduce_143, + 2, 139, :_reduce_131, + 3, 144, :_reduce_132, + 4, 143, :_reduce_133, + 1, 137, :_reduce_134, + 2, 137, :_reduce_135, + 6, 136, :_reduce_136, + 7, 136, :_reduce_137, + 6, 141, :_reduce_138, + 7, 141, :_reduce_139, + 3, 133, :_reduce_140, + 0, 145, :_reduce_141, + 1, 145, :_reduce_142, + 2, 145, :_reduce_143, 3, 145, :_reduce_144, - 4, 145, :_reduce_145, + 3, 145, :_reduce_145, 4, 145, :_reduce_146, - 2, 145, :_reduce_147, - 1, 146, :_reduce_148, - 3, 146, :_reduce_149, - 3, 118, :_reduce_150, - 4, 118, :_reduce_151, - 5, 118, :_reduce_152, - 3, 147, :_reduce_153, - 2, 119, :_reduce_154, - 3, 135, :_reduce_155, - 3, 121, :_reduce_156, - 2, 121, :_reduce_157, - 3, 121, :_reduce_158, - 4, 122, :_reduce_159, + 4, 145, :_reduce_147, + 2, 145, :_reduce_148, + 1, 146, :_reduce_149, + 3, 146, :_reduce_150, + 3, 118, :_reduce_151, + 4, 118, :_reduce_152, + 5, 118, :_reduce_153, + 3, 147, :_reduce_154, + 2, 119, :_reduce_155, + 3, 135, :_reduce_156, + 3, 121, :_reduce_157, + 2, 121, :_reduce_158, + 3, 121, :_reduce_159, 4, 122, :_reduce_160, - 1, 148, :_reduce_161, - 3, 148, :_reduce_162, - 2, 149, :_reduce_163, + 4, 122, :_reduce_161, + 1, 148, :_reduce_162, + 3, 148, :_reduce_163, 2, 149, :_reduce_164, - 3, 149, :_reduce_165, + 2, 149, :_reduce_165, 3, 149, :_reduce_166, - 5, 123, :_reduce_167, - 7, 123, :_reduce_168, - 1, 150, :_reduce_169, - 2, 150, :_reduce_170, - 3, 151, :_reduce_171, - 4, 151, :_reduce_172, - 3, 151, :_reduce_173, - 3, 152, :_reduce_174, - 2, 153, :_reduce_175, - 1, 154, :_reduce_176, - 2, 154, :_reduce_177, - 0, 155, :_reduce_178, - 2, 155, :_reduce_179, - 1, 156, :_reduce_180, - 2, 156, :_reduce_181, - 2, 117, :_reduce_182, - 3, 117, :_reduce_183, - 3, 117, :_reduce_184 ] + 3, 149, :_reduce_167, + 5, 123, :_reduce_168, + 7, 123, :_reduce_169, + 1, 150, :_reduce_170, + 2, 150, :_reduce_171, + 3, 151, :_reduce_172, + 4, 151, :_reduce_173, + 3, 151, :_reduce_174, + 3, 152, :_reduce_175, + 2, 153, :_reduce_176, + 1, 154, :_reduce_177, + 2, 154, :_reduce_178, + 0, 155, :_reduce_179, + 2, 155, :_reduce_180, + 1, 156, :_reduce_181, + 2, 156, :_reduce_182, + 2, 117, :_reduce_183, + 3, 117, :_reduce_184, + 3, 117, :_reduce_185 ] -racc_reduce_n = 185 +racc_reduce_n = 186 -racc_shift_n = 323 +racc_shift_n = 326 racc_token_table = { false => 0, @@ -1615,35 +1629,35 @@ module_eval(<<'.,.,', 'grammar.y', 116) module_eval(<<'.,.,', 'grammar.y', 117) def _reduce_43(val, _values, result) - result = val[0] + result = AssignNode.new(ValueNode.new(LiteralNode.new(val[0])), val[2], :object) result end .,., -module_eval(<<'.,.,', 'grammar.y', 122) +module_eval(<<'.,.,', 'grammar.y', 118) def _reduce_44(val, _values, result) - result = ReturnNode.new(val[1]) + result = val[0] result end .,., module_eval(<<'.,.,', 'grammar.y', 123) def _reduce_45(val, _values, result) + result = ReturnNode.new(val[1]) + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 124) + def _reduce_46(val, _values, result) result = ReturnNode.new(ValueNode.new(Value.new('null'))) result end .,., -module_eval(<<'.,.,', 'grammar.y', 128) - def _reduce_46(val, _values, result) - result = CommentNode.new(val[0]) - result - end -.,., - -module_eval(<<'.,.,', 'grammar.y', 135) +module_eval(<<'.,.,', 'grammar.y', 129) def _reduce_47(val, _values, result) - result = OpNode.new(val[0], val[1]) + result = CommentNode.new(val[0]) result end .,., @@ -1713,7 +1727,7 @@ 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 = OpNode.new(val[0], val[1]) result end .,., @@ -1725,9 +1739,9 @@ module_eval(<<'.,.,', 'grammar.y', 146) end .,., -module_eval(<<'.,.,', 'grammar.y', 148) +module_eval(<<'.,.,', 'grammar.y', 147) def _reduce_59(val, _values, result) - result = OpNode.new(val[1], val[0], val[2]) + result = OpNode.new(val[1], val[0], nil, true) result end .,., @@ -1746,7 +1760,7 @@ module_eval(<<'.,.,', 'grammar.y', 150) end .,., -module_eval(<<'.,.,', 'grammar.y', 152) +module_eval(<<'.,.,', 'grammar.y', 151) def _reduce_62(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result @@ -1760,7 +1774,7 @@ module_eval(<<'.,.,', 'grammar.y', 153) end .,., -module_eval(<<'.,.,', 'grammar.y', 155) +module_eval(<<'.,.,', 'grammar.y', 154) def _reduce_64(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result @@ -1781,7 +1795,7 @@ module_eval(<<'.,.,', 'grammar.y', 157) end .,., -module_eval(<<'.,.,', 'grammar.y', 159) +module_eval(<<'.,.,', 'grammar.y', 158) def _reduce_67(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result @@ -1802,7 +1816,7 @@ module_eval(<<'.,.,', 'grammar.y', 161) end .,., -module_eval(<<'.,.,', 'grammar.y', 163) +module_eval(<<'.,.,', 'grammar.y', 162) def _reduce_70(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result @@ -1830,7 +1844,7 @@ module_eval(<<'.,.,', 'grammar.y', 166) end .,., -module_eval(<<'.,.,', 'grammar.y', 168) +module_eval(<<'.,.,', 'grammar.y', 167) def _reduce_74(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result @@ -1858,7 +1872,7 @@ module_eval(<<'.,.,', 'grammar.y', 171) end .,., -module_eval(<<'.,.,', 'grammar.y', 173) +module_eval(<<'.,.,', 'grammar.y', 172) def _reduce_78(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result @@ -1893,7 +1907,7 @@ module_eval(<<'.,.,', 'grammar.y', 177) end .,., -module_eval(<<'.,.,', 'grammar.y', 179) +module_eval(<<'.,.,', 'grammar.y', 178) def _reduce_83(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result @@ -1949,7 +1963,7 @@ module_eval(<<'.,.,', 'grammar.y', 186) end .,., -module_eval(<<'.,.,', 'grammar.y', 188) +module_eval(<<'.,.,', 'grammar.y', 187) def _reduce_91(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result @@ -1963,74 +1977,74 @@ module_eval(<<'.,.,', 'grammar.y', 189) end .,., -module_eval(<<'.,.,', 'grammar.y', 194) +module_eval(<<'.,.,', 'grammar.y', 190) def _reduce_93(val, _values, result) - result = ExistenceNode.new(val[0]) + result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 200) +module_eval(<<'.,.,', 'grammar.y', 195) def _reduce_94(val, _values, result) - result = CodeNode.new(val[1], val[4], val[3]) + result = ExistenceNode.new(val[0]) result end .,., module_eval(<<'.,.,', 'grammar.y', 201) def _reduce_95(val, _values, result) - result = CodeNode.new([], val[1], val[0]) + result = CodeNode.new(val[1], val[4], val[3]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 206) +module_eval(<<'.,.,', 'grammar.y', 202) def _reduce_96(val, _values, result) - result = :func + result = CodeNode.new([], val[1], val[0]) result end .,., module_eval(<<'.,.,', 'grammar.y', 207) def _reduce_97(val, _values, result) - result = :boundfunc + result = :func result end .,., -module_eval(<<'.,.,', 'grammar.y', 212) +module_eval(<<'.,.,', 'grammar.y', 208) def _reduce_98(val, _values, result) - result = val + result = :boundfunc result end .,., module_eval(<<'.,.,', 'grammar.y', 213) def _reduce_99(val, _values, result) + result = val + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 214) + def _reduce_100(val, _values, result) result = val[0] << val[2] result end .,., -# reduce 100 omitted +# reduce 101 omitted -module_eval(<<'.,.,', 'grammar.y', 219) - def _reduce_101(val, _values, result) - result = SplatNode.new(val[0]) - result - end -.,., - -module_eval(<<'.,.,', 'grammar.y', 224) +module_eval(<<'.,.,', 'grammar.y', 220) def _reduce_102(val, _values, result) result = SplatNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 229) +module_eval(<<'.,.,', 'grammar.y', 225) def _reduce_103(val, _values, result) - result = ValueNode.new(val[0]) + result = SplatNode.new(val[0]) result end .,., @@ -2079,84 +2093,84 @@ module_eval(<<'.,.,', 'grammar.y', 235) module_eval(<<'.,.,', 'grammar.y', 236) def _reduce_110(val, _values, result) - result = val[0] << val[1] + result = ValueNode.new(val[0]) result end .,., module_eval(<<'.,.,', 'grammar.y', 237) def _reduce_111(val, _values, result) - result = ValueNode.new(val[0], [val[1]]) + result = val[0] << val[1] result end .,., -module_eval(<<'.,.,', 'grammar.y', 242) +module_eval(<<'.,.,', 'grammar.y', 238) def _reduce_112(val, _values, result) - result = AccessorNode.new(val[1]) + result = ValueNode.new(val[0], [val[1]]) result end .,., module_eval(<<'.,.,', 'grammar.y', 243) def _reduce_113(val, _values, result) - result = AccessorNode.new(val[1], :prototype) + result = AccessorNode.new(val[1]) result end .,., module_eval(<<'.,.,', 'grammar.y', 244) def _reduce_114(val, _values, result) - result = AccessorNode.new(val[1], :soak) + result = AccessorNode.new(val[1], :prototype) result end .,., module_eval(<<'.,.,', 'grammar.y', 245) def _reduce_115(val, _values, result) - result = val[0] + result = AccessorNode.new(val[1], :soak) result end .,., module_eval(<<'.,.,', 'grammar.y', 246) def _reduce_116(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 247) + def _reduce_117(val, _values, result) result = SliceNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 251) - def _reduce_117(val, _values, result) +module_eval(<<'.,.,', 'grammar.y', 252) + def _reduce_118(val, _values, result) result = IndexNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 256) - def _reduce_118(val, _values, result) - result = ObjectNode.new(val[1]) - result - end -.,., - -module_eval(<<'.,.,', 'grammar.y', 261) +module_eval(<<'.,.,', 'grammar.y', 257) def _reduce_119(val, _values, result) - result = [] + result = ObjectNode.new(val[1]) result end .,., module_eval(<<'.,.,', 'grammar.y', 262) def _reduce_120(val, _values, result) - result = val + result = [] result end .,., module_eval(<<'.,.,', 'grammar.y', 263) def _reduce_121(val, _values, result) - result = val[0] << val[2] + result = val result end .,., @@ -2168,51 +2182,51 @@ module_eval(<<'.,.,', 'grammar.y', 264) end .,., -module_eval(<<'.,.,', 'grammar.y', 266) +module_eval(<<'.,.,', 'grammar.y', 265) def _reduce_123(val, _values, result) - result = val[0] << val[3] + result = val[0] << val[2] result end .,., module_eval(<<'.,.,', 'grammar.y', 267) def _reduce_124(val, _values, result) - result = val[1] + result = val[0] << val[3] result end .,., -module_eval(<<'.,.,', 'grammar.y', 272) +module_eval(<<'.,.,', 'grammar.y', 268) def _reduce_125(val, _values, result) - result = val[0] + result = val[1] result end .,., module_eval(<<'.,.,', 'grammar.y', 273) def _reduce_126(val, _values, result) - result = val[1].new_instance + result = val[0] result end .,., module_eval(<<'.,.,', 'grammar.y', 274) def _reduce_127(val, _values, result) + result = val[1].new_instance + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 275) + def _reduce_128(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 279) - def _reduce_128(val, _values, result) - result = ExtendsNode.new(val[0], val[2]) - result - end -.,., - -module_eval(<<'.,.,', 'grammar.y', 284) +module_eval(<<'.,.,', 'grammar.y', 280) def _reduce_129(val, _values, result) - result = CallNode.new(val[0], val[1]) + result = ExtendsNode.new(val[0], val[2]) result end .,., @@ -2224,93 +2238,93 @@ module_eval(<<'.,.,', 'grammar.y', 285) end .,., -module_eval(<<'.,.,', 'grammar.y', 290) +module_eval(<<'.,.,', 'grammar.y', 286) def _reduce_131(val, _values, result) + result = CallNode.new(val[0], val[1]) + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 291) + def _reduce_132(val, _values, result) result = val[1] result end .,., -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', 300) +module_eval(<<'.,.,', 'grammar.y', 296) def _reduce_133(val, _values, result) - result = ThisNode.new + result = CallNode.new(Value.new('super'), val[2]) result end .,., module_eval(<<'.,.,', 'grammar.y', 301) def _reduce_134(val, _values, result) + result = ThisNode.new + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 302) + def _reduce_135(val, _values, result) result = ThisNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 307) - def _reduce_135(val, _values, result) - result = RangeNode.new(val[1], val[4]) - result - end -.,., - -module_eval(<<'.,.,', 'grammar.y', 309) +module_eval(<<'.,.,', 'grammar.y', 308) def _reduce_136(val, _values, result) - result = RangeNode.new(val[1], val[5], true) - result - end -.,., - -module_eval(<<'.,.,', 'grammar.y', 315) - def _reduce_137(val, _values, result) result = RangeNode.new(val[1], val[4]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 317) - def _reduce_138(val, _values, result) +module_eval(<<'.,.,', 'grammar.y', 310) + def _reduce_137(val, _values, result) result = RangeNode.new(val[1], val[5], true) result end .,., -module_eval(<<'.,.,', 'grammar.y', 322) - def _reduce_139(val, _values, result) - result = ArrayNode.new(val[1]) +module_eval(<<'.,.,', 'grammar.y', 316) + def _reduce_138(val, _values, result) + result = RangeNode.new(val[1], val[4]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 327) +module_eval(<<'.,.,', 'grammar.y', 318) + def _reduce_139(val, _values, result) + result = RangeNode.new(val[1], val[5], true) + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 323) def _reduce_140(val, _values, result) - result = [] + result = ArrayNode.new(val[1]) result end .,., module_eval(<<'.,.,', 'grammar.y', 328) def _reduce_141(val, _values, result) - result = val + result = [] result end .,., module_eval(<<'.,.,', 'grammar.y', 329) def _reduce_142(val, _values, result) - result = [val[1]] + result = val result end .,., module_eval(<<'.,.,', 'grammar.y', 330) def _reduce_143(val, _values, result) - result = val[0] << val[2] + result = [val[1]] result end .,., @@ -2324,7 +2338,7 @@ module_eval(<<'.,.,', 'grammar.y', 331) module_eval(<<'.,.,', 'grammar.y', 332) def _reduce_145(val, _values, result) - result = val[0] << val[3] + result = val[0] << val[2] result end .,., @@ -2338,12 +2352,12 @@ module_eval(<<'.,.,', 'grammar.y', 333) module_eval(<<'.,.,', 'grammar.y', 334) def _reduce_147(val, _values, result) - result = val[0] + result = val[0] << val[3] result end .,., -module_eval(<<'.,.,', 'grammar.y', 339) +module_eval(<<'.,.,', 'grammar.y', 335) def _reduce_148(val, _values, result) result = val[0] result @@ -2352,166 +2366,166 @@ module_eval(<<'.,.,', 'grammar.y', 339) module_eval(<<'.,.,', 'grammar.y', 340) def _reduce_149(val, _values, result) - result = ([val[0]] << val[2]).flatten + result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 345) +module_eval(<<'.,.,', 'grammar.y', 341) def _reduce_150(val, _values, result) - result = TryNode.new(val[1], val[2][0], val[2][1]) + result = ([val[0]] << val[2]).flatten result end .,., module_eval(<<'.,.,', 'grammar.y', 346) def _reduce_151(val, _values, result) + result = TryNode.new(val[1], val[2][0], val[2][1]) + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 347) + def _reduce_152(val, _values, result) result = TryNode.new(val[1], nil, nil, val[3]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 348) - def _reduce_152(val, _values, result) +module_eval(<<'.,.,', 'grammar.y', 349) + def _reduce_153(val, _values, result) result = TryNode.new(val[1], val[2][0], val[2][1], val[4]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 353) - def _reduce_153(val, _values, result) +module_eval(<<'.,.,', 'grammar.y', 354) + def _reduce_154(val, _values, result) result = [val[1], val[2]] result end .,., -module_eval(<<'.,.,', 'grammar.y', 358) - def _reduce_154(val, _values, result) +module_eval(<<'.,.,', 'grammar.y', 359) + def _reduce_155(val, _values, result) result = ThrowNode.new(val[1]) result end .,., -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', 368) +module_eval(<<'.,.,', 'grammar.y', 364) def _reduce_156(val, _values, result) - result = WhileNode.new(val[1], val[2]) + result = ParentheticalNode.new(val[1], val[0].line) result end .,., module_eval(<<'.,.,', 'grammar.y', 369) def _reduce_157(val, _values, result) - result = WhileNode.new(val[1], nil) + result = WhileNode.new(val[1], val[2]) result end .,., module_eval(<<'.,.,', 'grammar.y', 370) def _reduce_158(val, _values, result) - result = WhileNode.new(val[2], Expressions.wrap(val[0])) + result = WhileNode.new(val[1], nil) result end .,., -module_eval(<<'.,.,', 'grammar.y', 377) +module_eval(<<'.,.,', 'grammar.y', 371) def _reduce_159(val, _values, result) - result = ForNode.new(val[0], val[3], val[2][0], val[2][1]) + result = WhileNode.new(val[2], Expressions.wrap(val[0])) result end .,., 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 = ForNode.new(val[0], val[3], val[2][0], val[2][1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 383) +module_eval(<<'.,.,', 'grammar.y', 379) def _reduce_161(val, _values, result) - result = val + result = ForNode.new(val[3], val[2], val[1][0], val[1][1]) result end .,., module_eval(<<'.,.,', 'grammar.y', 384) def _reduce_162(val, _values, result) - result = [val[0], val[2]] + result = val result end .,., -module_eval(<<'.,.,', 'grammar.y', 389) +module_eval(<<'.,.,', 'grammar.y', 385) def _reduce_163(val, _values, result) - result = {:source => val[1]} + result = [val[0], val[2]] result end .,., module_eval(<<'.,.,', 'grammar.y', 390) def _reduce_164(val, _values, result) + result = {:source => val[1]} + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 391) + def _reduce_165(val, _values, result) result = {:source => val[1], :object => true} result end .,., -module_eval(<<'.,.,', 'grammar.y', 392) - def _reduce_165(val, _values, result) +module_eval(<<'.,.,', 'grammar.y', 393) + def _reduce_166(val, _values, result) result = val[0].merge(:filter => val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 394) - def _reduce_166(val, _values, result) +module_eval(<<'.,.,', 'grammar.y', 395) + def _reduce_167(val, _values, result) result = val[0].merge(:step => val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 400) - def _reduce_167(val, _values, result) +module_eval(<<'.,.,', 'grammar.y', 401) + def _reduce_168(val, _values, result) result = val[3].rewrite_condition(val[1]) result end .,., -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', 407) +module_eval(<<'.,.,', 'grammar.y', 403) def _reduce_169(val, _values, result) - result = val[0] + result = val[3].rewrite_condition(val[1]).add_else(val[5]) result end .,., module_eval(<<'.,.,', 'grammar.y', 408) def _reduce_170(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 409) + def _reduce_171(val, _values, result) result = val[0] << val[1] result end .,., -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', 415) +module_eval(<<'.,.,', 'grammar.y', 414) def _reduce_172(val, _values, result) result = IfNode.new(val[1], val[2], nil, {:statement => true}) result @@ -2520,68 +2534,68 @@ module_eval(<<'.,.,', 'grammar.y', 415) module_eval(<<'.,.,', 'grammar.y', 416) def _reduce_173(val, _values, result) + result = IfNode.new(val[1], val[2], nil, {:statement => true}) + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 417) + def _reduce_174(val, _values, result) result = val[2].add_comment(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 421) - def _reduce_174(val, _values, result) +module_eval(<<'.,.,', 'grammar.y', 422) + def _reduce_175(val, _values, result) result = IfNode.new(val[1], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 426) - def _reduce_175(val, _values, result) - result = val[1].force_statement - result - end -.,., - -module_eval(<<'.,.,', 'grammar.y', 431) +module_eval(<<'.,.,', 'grammar.y', 427) def _reduce_176(val, _values, result) - result = val[0] + result = val[1].force_statement result end .,., module_eval(<<'.,.,', 'grammar.y', 432) def _reduce_177(val, _values, result) - result = val[0].add_else(val[1]) + result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 437) +module_eval(<<'.,.,', 'grammar.y', 433) def _reduce_178(val, _values, result) - result = nil + result = val[0].add_else(val[1]) result end .,., module_eval(<<'.,.,', 'grammar.y', 438) def _reduce_179(val, _values, result) - result = val[1] + result = nil result end .,., -module_eval(<<'.,.,', 'grammar.y', 443) +module_eval(<<'.,.,', 'grammar.y', 439) def _reduce_180(val, _values, result) - result = val[0] + result = val[1] result end .,., module_eval(<<'.,.,', 'grammar.y', 444) def _reduce_181(val, _values, result) - result = val[0].add_else(val[1]) + result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 449) +module_eval(<<'.,.,', 'grammar.y', 445) def _reduce_182(val, _values, result) result = val[0].add_else(val[1]) result @@ -2590,13 +2604,20 @@ 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 = val[0].add_else(val[1]) result end .,., module_eval(<<'.,.,', 'grammar.y', 451) def _reduce_184(val, _values, result) + result = IfNode.new(val[2], Expressions.wrap(val[0]), nil, {:statement => true}) + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 452) + def _reduce_185(val, _values, result) result = IfNode.new(val[2], Expressions.wrap(val[0]), nil, {:statement => true, :invert => true}) result end diff --git a/src/parser.coffee b/src/parser.coffee index bc33c519..88cdd251 100644 --- a/src/parser.coffee +++ b/src/parser.coffee @@ -112,6 +112,7 @@ grammar: { AssignObj: [ o "IDENTIFIER ASSIGN Expression", -> new AssignNode(new ValueNode(yytext), $3, 'object') o "STRING ASSIGN Expression", -> new AssignNode(new ValueNode(new LiteralNode(yytext)), $3, 'object') + o "NUMBER ASSIGN Expression", -> new AssignNode(new ValueNode(new LiteralNode(yytext)), $3, 'object') o "Comment" ] diff --git a/test/fixtures/execution/test_literals.coffee b/test/fixtures/execution/test_literals.coffee index c38f63d8..43746ec5 100644 --- a/test/fixtures/execution/test_literals.coffee +++ b/test/fixtures/execution/test_literals.coffee @@ -43,6 +43,8 @@ bob: { salutation + " " + @name hello: -> @greet "Hello" + 10: 'number' } puts bob.hello() is "Hello Bob" +puts bob[10] is 'number'