# # DO NOT MODIFY!!!! # This file is automatically generated by Racc 1.4.13 # from Racc grammer file "". # require 'racc/parser.rb' class Ruby20Parser < Racc::Parser require "ruby_lexer" require "ruby_parser_extras" # :stopdoc: # Local Variables: ** # racc-token-length-max:14 ** # End: ** ##### State transition tables begin ### clist = [ '-289,578,578,620,-103,578,636,-289,-289,-289,3,748,-289,-289,-289,268', '-289,-106,218,848,-103,239,215,216,-85,-507,-289,-289,-289,-107,-104', '578,-507,-104,-101,-71,-289,-289,816,-289,-289,-289,-289,-289,-105,578', '-102,-515,-93,219,-100,739,83,236,219,740,-99,238,237,-102,84,215,216', '728,215,216,619,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289', '-289,-289,-289,-101,-594,-289,-289,-289,-594,785,-289,699,728,-289,215', '216,-289,-289,268,-289,268,-289,-99,-289,267,-289,-289,-289,-289,-289', '-289,-289,-595,-289,219,-289,-95,113,113,747,-103,113,112,112,-97,-103', '112,-94,-289,-289,-289,-289,-504,-289,838,-289,-98,-95,113,-504,-504', '-504,-105,112,-504,-504,-504,113,-504,-104,-101,-96,112,219,-104,-101', '-504,-91,-504,-504,-504,113,-102,-90,928,113,112,-102,-504,-504,112', '-504,-504,-504,-504,-504,-102,-93,219,623,728,268,816,-95,219,267,604', '267,-92,609,113,659,113,113,659,112,698,112,112,-504,-504,-504,-504', '-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,239,-516,-504,-504', '-504,-95,-504,-504,-95,604,-504,526,658,-504,-504,658,-504,659,-504', '-95,-504,239,-504,-504,-504,-504,-504,-504,-504,622,-504,-93,-504,-417', '606,605,717,604,557,556,555,687,558,-598,-598,-504,-504,-504,-504,-598', '-504,658,-504,-97,-100,267,-598,-598,-598,-504,270,-598,-598,-598,-106', '-598,-93,113,-93,-93,606,605,112,270,-598,-598,-598,-598,407,758,-93', '219,-426,409,408,-598,-598,687,-598,-598,-598,-598,-598,-504,564,219', '-598,-598,606,605,-504,113,604,-598,-598,566,112,760,-594,-594,502,659', '-598,-598,974,876,-598,-598,-598,-598,-598,-598,-598,-598,-598,-598', '-598,-598,-598,-598,-598,-598,-598,-598,-598,-426,784,-598,574,573,-598', '500,-426,-598,-598,658,-598,604,-598,526,-598,-426,-598,-598,-598,-598', '-598,-598,-598,213,-598,-598,-598,606,605,617,113,604,-101,-426,454', '112,567,-591,-592,-598,-598,-598,-598,-501,-598,258,-598,-281,783,787', '-501,-501,-501,-103,-281,-501,-501,-501,717,-501,557,556,555,-281,558', '-98,-106,-501,-510,-501,-501,-501,606,605,612,-510,-107,-267,219,-501', '-501,998,-501,-501,-501,-501,-501,-107,799,219,-501,-504,606,605,607', '487,604,-501,-504,566,604,-104,-591,-592,113,539,-501,-504,538,112,-501', '-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-591', '-592,-501,-501,-501,487,-501,-501,574,573,-501,875,840,-501,-501,816', '-501,584,-501,768,-501,782,-501,-501,-501,-501,-501,-501,-501,637,-501', '-516,-501,606,605,624,-511,606,605,602,769,-515,567,-511,-513,-501,-501', '-501,-501,-289,-501,-513,-501,317,318,-266,-289,-289,-289,-501,-513', '-92,-289,-289,717,-289,557,556,555,564,558,-95,-101,-91,-102,952,763', '557,556,555,566,558,-104,-90,-100,-289,-289,762,-289,-289,-289,-289', '-289,539,-99,761,541,717,261,557,556,555,562,558,717,262,557,556,555', '239,558,731,539,574,573,541,-289,-289,-289,-289,-289,-289,-289,-289', '-289,-289,-289,-289,-289,-289,-508,-501,-289,-289,-289,713,642,-508', '-501,584,-289,236,713,-289,716,238,237,567,-289,724,-289,920,-289,-289', '-289,-289,-289,-289,-289,-512,-289,539,-289,-513,541,717,-512,557,556', '555,-513,558,215,216,-598,-289,-289,-290,-96,-513,-289,-598,-598,-598', '-290,-514,722,-598,-598,-105,-598,239,-514,-290,721,-509,720,261,-506', '-598,239,-514,-509,713,262,-506,878,253,254,704,-598,-598,716,-598,-598', '-598,-598,-598,717,881,557,556,555,236,558,242,113,238,237,234,235,112', '236,240,884,241,238,237,234,235,886,-598,-598,-598,-598,-598,-598,-598', '-598,-598,-598,-598,-598,-598,-598,450,713,-598,-598,-598,239,643,451', '888,113,-598,844,816,-598,112,219,452,239,-598,890,-598,891,-598,-598', '-598,-598,-598,-598,-598,711,-598,-598,-598,253,254,844,816,236,215', '216,709,238,237,234,235,-598,-598,707,-94,236,-598,215,216,238,237,234', '235,521,522,-103,174,185,175,198,171,191,181,180,201,202,196,179,178', '173,199,203,204,183,172,186,190,192,184,177,574,573,705,193,200,195', '194,187,197,182,170,189,188,116,117,118,119,120,169,176,167,168,164', '165,166,124,126,123,687,125,704,952,239,557,556,555,899,558,158,159', '701,154,136,137,138,145,142,144,253,254,139,140,-265,903,905,160,161', '146,147,717,906,557,556,555,236,558,242,219,238,237,234,235,151,150', '704,135,157,153,152,148,149,143,141,133,156,134,909,911,162,91,913,1004', '915,915,-514,219,219,713,1005,92,717,-514,557,556,555,921,558,1003,155', '694,-514,923,693,163,174,185,175,198,171,191,181,180,201,202,196,179', '178,173,199,203,204,183,172,186,190,192,184,177,713,925,687,193,200', '195,194,187,197,182,170,189,188,116,117,118,119,120,169,176,167,168', '164,165,166,124,126,532,219,125,867,868,239,676,869,107,108,-85,158', '159,219,154,136,137,138,145,142,144,253,254,139,140,219,219,219,160', '161,146,147,717,239,557,556,555,236,558,242,239,238,237,234,235,151', '150,935,135,157,153,152,148,149,143,141,133,156,134,936,219,162,91,939', '743,-268,239,211,239,646,713,742,92,717,212,557,556,555,270,558,744', '155,635,210,634,219,163,174,185,175,198,171,191,181,180,201,202,196', '179,178,173,199,203,204,183,172,186,190,192,184,177,713,630,949,193', '200,195,194,187,197,182,170,189,188,116,117,118,119,120,169,176,167', '168,164,165,166,124,126,396,395,125,-265,397,628,-290,621,956,957,618', '158,159,-290,154,136,137,138,145,142,144,959,-290,139,140,-289,-289', '743,160,161,146,147,-289,-289,955,960,615,-595,-595,611,589,-289,-289', '744,588,151,150,399,135,157,153,152,148,149,143,141,133,156,134,743', '-336,162,586,-281,-290,584,955,-336,502,587,-281,-290,543,542,976,744', '-336,536,585,-281,-290,155,978,979,239,528,163,174,185,175,198,171,191', '181,180,201,202,196,179,178,173,199,203,204,183,172,186,190,192,184', '177,983,527,523,193,200,195,194,187,197,182,170,189,188,116,117,118', '119,120,169,176,167,168,164,165,166,124,126,704,988,125,990,992,994', '517,994,270,219,273,158,159,518,154,136,137,138,145,142,144,1001,516', '139,140,-289,529,519,160,161,146,147,-289,530,512,511,219,-595,1006', '-70,1007,-289,452,915,915,151,150,915,135,157,153,152,148,149,143,141', '133,156,134,1012,502,162,976,500,497,270,487,218,456,455,453,410,405', '389,-595,-594,693,386,383,380,356,155,219,316,976,315,163,174,185,175', '198,171,191,181,180,201,202,196,179,178,173,199,203,204,183,172,186', '190,192,184,177,1035,1036,1037,193,200,195,194,187,197,182,170,189,188', '1038,994,994,994,219,169,176,167,168,164,165,166,124,126,258,214,125', '209,208,915,976,207,109,994,,158,159,,154,136,137,138,145,142,144,,', '139,140,,,,160,161,146,147,,,,,,,,,,,,,,151,150,,135,157,153,152,148', '149,143,141,133,156,134,,,162,91,,,,,,,,,,92,,,,,,,,,155,,,,,163,174', '185,175,198,171,191,181,180,201,202,196,179,178,173,199,203,204,183', '172,186,190,192,184,177,,,,193,200,195,194,187,197,182,170,189,188,', ',,,,169,176,167,168,164,165,166,124,126,,,125,,,,,,,,,158,159,,154,136', '137,138,145,142,144,,,139,140,,,,160,161,146,147,,,,,,,,,,,,,,151,150', ',135,157,153,152,148,149,143,141,133,156,134,,,162,91,,,,,,,,,,92,,', ',,,,,,155,,,,,163,174,185,175,198,171,191,181,180,201,202,196,179,178', '173,199,203,204,183,172,186,190,192,184,177,,,,193,200,195,365,364,366', '363,170,189,188,,,,,,169,176,167,168,360,361,362,358,126,97,96,359,', '99,,,,,,,158,159,,154,136,137,138,145,142,144,,,139,140,,,,160,161,146', '147,,,,,,372,,,,,,,,151,150,,135,157,153,152,148,149,143,141,133,156', '134,,,162,,,,,,,,,,,,291,72,73,74,12,60,,,155,66,67,,,163,70,,68,69', '71,33,34,75,76,,,,,,32,31,30,101,100,102,103,,,22,,,,,647,11,48,,13', '105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,239,243,248', '249,250,245,247,255,256,251,252,,232,233,,,253,254,,43,,,36,,,61,62', ',,63,,38,236,,242,47,238,237,234,235,246,244,240,23,241,,,,91,83,85', '86,87,89,,,,84,92,,257,,-242,,,65,,,81,88,90,291,72,73,74,12,60,,,,66', '67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101,100,102,103,,,22,,', ',,647,11,48,,13,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46', '44,239,243,248,249,250,245,247,255,256,251,252,,232,233,,,253,254,,43', ',,36,,,61,62,,,63,,38,236,,242,47,238,237,234,235,246,244,240,23,241', ',,,91,83,85,86,87,89,,,,84,92,,257,,,,,65,,,81,88,90,291,72,73,74,12', '60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101,100,102,103', ',,22,,,,,631,11,48,,13,105,104,106,95,59,97,96,98,,99,107,108,,93,94', ',45,46,44,239,243,248,249,250,245,247,255,256,251,252,,232,233,,,253', '254,,43,,,36,,,61,62,,,63,,38,236,,242,47,238,237,234,235,246,244,240', '23,241,,,,91,83,85,86,87,89,,,,84,92,,257,,,,,65,,,81,88,90,291,72,73', '74,12,60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101,100', '102,103,,,22,,,,,,11,48,,13,105,104,106,95,59,97,96,98,,99,107,108,', '93,94,,45,46,44,239,243,248,249,250,245,247,255,256,251,252,,232,233', ',,253,254,,43,,,36,,,61,62,,,63,,38,236,,242,47,238,237,234,235,246', '244,240,23,241,,,,91,83,85,86,87,89,,,,84,92,219,257,,,,,65,,,81,88', '90,291,72,73,74,12,60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31', '30,101,100,102,103,,,22,,,,,,11,48,,13,105,104,106,95,59,97,96,98,,99', '107,108,,93,94,,45,46,44,239,243,248,249,250,245,247,255,256,251,252', ',232,233,,,253,254,,43,,,36,,,61,62,,,63,,38,236,,242,47,238,237,234', '235,246,244,240,23,241,,,,91,83,85,86,87,89,,,,84,92,,257,,,,,65,,,81', '88,90,8,72,73,74,12,60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32', '31,30,101,100,102,103,,,22,,,,,,11,48,10,13,105,104,106,95,59,97,96', '98,,99,107,108,,93,94,,45,46,44,239,243,248,249,250,245,247,255,256', '251,252,,232,233,,,253,254,,43,,,36,,,61,62,,,63,,38,236,,242,47,238', '237,234,235,246,244,240,23,241,,,,91,83,85,86,87,89,,,,84,92,,257,,', ',,65,,,81,88,90,291,72,73,74,12,60,,,,66,67,,,,70,,68,69,71,33,34,75', '76,,,,,,32,31,30,101,100,102,103,,,22,,,,,,11,48,,13,105,104,106,95', '59,97,96,98,,99,107,108,,93,94,,45,46,44,239,243,248,249,250,245,247', '255,256,251,252,,232,233,,,253,254,,43,,,36,,,61,62,,,63,,38,236,,242', '47,238,237,234,235,246,244,240,23,241,,,,91,83,85,86,87,89,,,,84,92', ',257,,,,,65,,,81,88,90,291,72,73,74,12,60,,,,66,67,,,,70,,68,69,71,33', '34,75,76,,,,,,32,31,30,101,100,102,103,,,22,,,,,,11,48,,13,105,104,106', '95,59,97,96,98,,99,107,108,,93,94,,45,46,44,239,243,248,249,250,245', '247,255,256,251,252,,232,233,,,253,254,,43,,,36,,,61,62,,,63,,38,236', ',242,47,238,237,234,235,246,244,240,23,241,,,,91,83,85,86,87,89,,,,84', '92,,257,,,,,65,,,81,88,90,291,72,73,74,12,60,,,,66,67,,,,70,,68,69,71', '33,34,75,76,,,,,,32,31,30,101,100,102,103,,,22,,,,,,11,48,,13,105,104', '106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,239,243,248,249,250', '245,247,255,256,251,252,,232,233,,,253,254,,43,,,36,,,61,62,,,63,,38', '236,,242,47,238,237,234,235,246,244,240,23,241,,,,91,83,85,86,87,89', ',,,84,92,,257,,,,,65,,,81,88,90,291,72,73,74,12,60,,,,66,67,,,,70,,68', '69,71,33,34,75,76,,,,,,32,31,30,101,100,102,103,,,22,,,,,,11,48,,13', '105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,239,243,248', '249,250,245,247,255,256,251,252,,232,233,,,253,254,,43,,,36,,,61,62', ',,63,,38,236,,242,47,238,237,234,235,246,244,240,23,241,,,,91,83,85', '86,87,89,,,,84,92,,257,,,,,65,,,81,88,90,291,72,73,74,12,60,,,,66,67', ',,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101,100,102,103,,,22,,,,,', '11,48,,13,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,239', '243,248,249,250,245,247,255,256,251,252,,232,233,,,253,254,,43,,,36', ',,61,62,,,63,,38,236,,242,47,238,237,234,235,246,244,240,23,241,,,,91', '83,85,86,87,89,,,,84,92,,257,,,,,65,,,81,88,90,291,72,73,74,12,60,,', ',66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101,100,102,103,,,22', ',,,,,11,48,,13,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46', '44,239,243,248,249,250,245,247,255,256,251,252,,232,233,,,253,254,,43', ',,293,,,61,62,,,63,,38,236,,242,47,238,237,234,235,246,244,240,23,241', ',,,91,83,85,86,87,89,,,,84,92,,257,,,,,65,,,81,88,90,291,72,73,74,12', '60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101,100,102,103', ',,22,,,,,,11,48,,13,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45', '46,44,239,243,248,249,250,245,247,255,256,251,252,,232,233,,,253,254', ',43,,,36,,,61,62,,,63,,38,236,,242,47,238,237,234,235,246,244,240,23', '241,,,,91,83,85,86,87,89,,,,84,92,,257,,,,,65,,,81,88,90,291,72,73,74', '12,60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101,100,102', '103,,,22,,,,,,11,48,,13,105,104,106,95,59,97,96,98,,99,107,108,,93,94', ',45,46,44,239,243,248,249,250,245,247,255,256,251,252,,232,233,,,253', '254,,43,,,293,,,61,62,,,63,,38,236,,242,47,238,237,234,235,246,244,240', '23,241,,,,91,83,85,86,87,89,,,,84,92,,257,,,,,65,,,81,88,90,291,72,73', '74,12,60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101,100', '102,103,,,22,,,,,,11,48,,13,105,104,106,95,59,97,96,98,,99,107,108,', '93,94,,45,46,44,239,243,248,249,250,245,247,255,256,251,252,,232,233', ',,253,254,,43,,,36,,,61,62,,,63,,38,236,,242,47,238,237,234,235,246', '244,240,23,241,,,,91,83,85,86,87,89,,,,84,92,,257,,,,,65,,,81,88,90', '291,72,73,74,12,60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31,30', '101,100,102,103,,,22,,,,,,11,48,,13,105,104,106,95,59,97,96,98,,99,107', '108,,93,94,,45,46,44,239,243,248,249,250,245,247,255,256,251,252,,232', '233,,,253,254,,43,,,36,,,61,62,,,63,,38,236,,242,47,238,237,234,235', '246,244,240,23,241,,,,91,83,85,86,87,89,,,,84,92,,257,,,,,65,,,81,88', '90,291,72,73,74,12,60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31', '30,101,100,102,103,,,22,,,,,,11,48,,13,105,104,106,95,59,97,96,98,,99', '107,108,,93,94,,45,46,44,239,243,248,249,250,245,247,255,256,251,252', ',232,233,,,253,254,,43,,,36,,,61,62,,,63,,38,236,,242,47,238,237,234', '235,246,244,240,23,241,,,,91,83,85,86,87,89,,,,84,92,,257,,,,,65,,,81', '88,90,291,72,73,74,12,60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32', '31,30,101,100,102,103,,,22,,,,,,11,48,,13,105,104,106,95,59,97,96,98', ',99,107,108,,93,94,,45,46,44,239,-617,-617,-617,-617,245,247,,,-617', '-617,,,,,,253,254,,43,,,36,,,61,62,,,63,,38,236,,242,47,238,237,234', '235,246,244,240,23,241,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88', '90,291,72,73,74,12,60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31', '30,101,100,102,103,,,22,,,,,,11,48,,13,105,104,106,95,59,97,96,98,,99', '107,108,,93,94,,45,46,44,239,,,,,,,,,,,,,,,,253,254,,43,,,36,,,61,62', ',,63,,38,236,,242,47,238,237,234,235,,,240,23,241,,,,91,83,85,86,87', '89,,,,84,92,,,,,,,65,,,81,88,90,291,72,73,74,12,60,,,,66,67,,,,70,,68', '69,71,33,34,75,76,,,,,,32,31,30,101,100,102,103,,,22,,,,,,11,48,,13', '105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,239,-617,-617', '-617,-617,245,247,,,-617,-617,,,,,,253,254,,43,,,36,,,61,62,,,63,,38', '236,,242,47,238,237,234,235,246,244,240,23,241,,,,91,83,85,86,87,89', ',,,84,92,,,,,,,65,,,81,88,90,291,72,73,74,12,60,,,,66,67,,,,70,,68,69', '71,33,34,75,76,,,,,,32,31,30,101,100,102,103,,,22,,,,,,11,48,,13,105', '104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,239,-617,-617,-617', '-617,245,247,,,-617,-617,,,,,,253,254,,43,,,36,,,61,62,,,63,,38,236', ',242,47,238,237,234,235,246,244,240,23,241,,,,91,83,85,86,87,89,,,,84', '92,,,,,,,65,,,81,88,90,291,72,73,74,12,60,,,,66,67,,,,70,,68,69,71,33', '34,75,76,,,,,,32,31,30,101,100,102,103,,,22,,,,,,11,48,,13,105,104,106', '95,59,97,96,98,,99,107,108,,93,94,,45,46,44,239,-617,-617,-617,-617', '245,247,,,-617,-617,,,,,,253,254,,43,,,36,,,61,62,,,63,,38,236,,242', '47,238,237,234,235,246,244,240,23,241,,,,91,83,85,86,87,89,,,,84,92', ',,,,,,65,,,81,88,90,291,72,73,74,12,60,,,,66,67,,,,70,,68,69,71,33,34', '75,76,,,,,,32,31,30,101,100,102,103,,,22,,,,,,11,48,,13,105,104,106', '95,59,97,96,98,,99,107,108,,93,94,,45,46,44,239,,,,,,,,,,,,,,,,253,254', ',43,,,36,,,61,62,,,63,,38,236,,242,47,238,237,234,235,,,240,23,241,', ',,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,291,72,73,74,12,60', ',,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101,100,102,103,', ',22,,,,,,11,48,,13,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45', '46,44,239,,,,,,,,,,,,,,,,253,254,,43,,,36,,,61,62,,,63,,38,236,,242', '47,238,237,234,235,,,240,23,241,,,,91,83,85,86,87,89,,,,84,92,,,,,,', '65,,,81,88,90,291,72,73,74,12,60,,,,66,67,,,,70,,68,69,71,33,34,75,76', ',,,,,32,31,30,101,100,102,103,,,22,,,,,,11,48,,13,105,104,106,95,59', '97,96,98,,99,107,108,,93,94,,45,46,44,239,243,248,249,250,245,247,255', '256,251,252,,-617,-617,,,253,254,,43,,,36,,,61,62,,,63,,38,236,,242', '47,238,237,234,235,246,244,240,23,241,,,,91,83,85,86,87,89,,,,84,92', ',,,,,,65,,,81,88,90,291,72,73,74,12,60,,,,66,67,,,,70,,68,69,71,33,34', '75,76,,,,,,32,31,30,101,100,102,103,,,22,,,,,,11,48,,13,105,104,106', '95,59,97,96,98,,99,107,108,,93,94,,45,46,44,239,243,248,249,250,245', '247,,,251,252,,,,,,253,254,,43,,,36,,,61,62,,,63,,38,236,,242,47,238', '237,234,235,246,244,240,23,241,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65', ',,81,88,90,291,72,73,74,12,60,,,,66,67,,,,70,,68,69,71,33,34,75,76,', ',,,,32,31,30,101,100,102,103,,,22,,,,,,11,48,,13,105,104,106,95,59,97', '96,98,,99,107,108,,93,94,,45,46,44,239,243,248,249,250,245,247,255,256', '251,252,,-617,-617,,,253,254,,43,,,36,,,61,62,,,63,,38,236,,242,47,238', '237,234,235,246,244,240,23,241,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65', ',,81,88,90,8,72,73,74,12,60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,', ',,32,31,30,101,100,102,103,,,22,,,,,,11,48,10,13,105,104,106,95,59,97', '96,98,,99,107,108,,93,94,,45,46,44,239,-617,-617,-617,-617,245,247,', ',-617,-617,,,,,,253,254,,43,,,36,,,61,62,,,63,,38,236,,242,47,238,237', '234,235,246,244,240,23,241,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,', '81,88,90,291,72,73,74,12,60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,', ',,32,31,30,101,100,102,103,,,22,,,,,,11,48,,13,105,104,106,95,59,97', '96,98,,99,107,108,,93,94,,45,46,44,239,243,248,249,250,245,247,255,', '251,252,,,,,,253,254,,43,,,293,,,61,62,,,63,,38,236,,242,47,238,237', '234,235,246,244,240,23,241,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,', '81,88,90,291,72,73,74,12,60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,', ',,32,31,30,101,100,102,103,,,22,,,,,,11,48,,13,105,104,106,95,59,97', '96,98,,99,107,108,,93,94,,45,46,44,239,-617,-617,-617,-617,245,247,', ',-617,-617,,,,,,253,254,,43,,,36,,,61,62,,,63,,38,236,,242,47,238,237', '234,235,246,244,240,23,241,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,', '81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304', '305,311,101,100,102,103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98', '284,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62', ',717,63,557,556,555,564,558,47,,,,,,,,229,566,,,,91,83,85,86,87,89,', ',,84,92,,,,,,,65,562,285,81,88,90,72,73,74,,60,,574,573,66,67,,,,70', ',68,69,71,33,34,75,76,,,,,,32,31,30,101,100,102,103,,,22,,,,567,,,48', ',,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,', ',,,,,,,,,224,,,230,,,61,62,,717,63,557,556,555,799,558,47,,,,,,,,23', '566,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,562,,81,88,90,72,73,74,,60', ',574,573,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101,100,102', '103,,,22,,,,567,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94', ',45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,717,63,557,556,555,799', '558,47,,,,,,,,23,566,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,562,,81', '88,90,72,73,74,,60,,574,573,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32', '31,30,101,100,102,103,,,22,,,,567,,,48,,,105,104,106,95,59,97,96,98', ',99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,717', '63,557,556,555,799,558,47,,,,,,,,23,566,,,,91,83,85,86,87,89,,,,84,92', '113,,,,,112,65,562,,81,88,90,72,73,74,,60,,574,573,66,67,,,,70,,68,69', '71,308,309,75,76,,,,,,304,305,311,101,100,102,103,,,231,,,,567,,,306', ',,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,,,312,,,,,,,,,,,,,', ',,,,,,350,,,36,,,61,62,,,63,,38,,,,,,,,,,,,,,,,,91,83,85,86,87,89,,', ',84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,308', '309,75,76,,,,,,304,305,311,101,100,102,103,,,231,,,,,,,48,,,105,104', '106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224', ',,230,,,61,62,,717,63,557,556,555,564,558,47,,,,,,,,229,566,,,,91,83', '85,86,87,89,,,,84,92,,,,,,,65,562,,81,88,90,72,73,74,,60,,574,573,66', '67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305,311,101,100,102,103,,', '231,,,,567,,,48,,,105,104,106,95,59,97,96,98,284,99,107,108,,93,94,', '45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,282,,,,47,,,,,,', ',229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,285,81,88,90,72,73,74', ',60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101,100,102,103', ',,22,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46', '44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,717,63,557,556,555,564,558', '47,,,,,,,,23,566,,,,91,83,85,86,87,89,,,,84,92,219,,,,,,65,562,,81,88', '90,72,73,74,,60,,574,573,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304', '305,311,101,100,102,103,,,231,,,,567,,,48,,,105,104,106,95,59,97,96', '98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62', ',717,63,557,556,555,799,558,47,,,,,,,,229,566,,,,91,83,85,86,87,89,', ',,84,92,,,,,,,65,562,,81,88,90,72,73,74,,60,,574,573,66,67,,,,70,,68', '69,71,308,309,75,76,,,,,,304,305,311,101,100,102,103,,,231,,,,567,,', '48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,', ',,,,,,,,,,,,224,,,230,,,61,62,,717,63,557,556,555,799,558,47,,,,,,,', '229,566,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,562,,81,88,90,72,73,74', ',60,,574,573,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101,100', '102,103,,,231,,,,567,,,48,,,105,104,106,95,59,97,96,98,284,99,107,108', ',93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,282,,280', ',47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,285,81,88,90', '72,73,74,,60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101', '100,102,103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108', ',93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,717,63,557,556', '555,564,558,47,,,,,,,,229,566,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65', '562,,81,88,90,72,73,74,,60,,574,573,66,67,,,,70,,68,69,71,308,309,75', '76,,,,,,304,305,311,101,100,102,103,,,231,,,,567,,,48,,,105,104,106', '95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,', ',230,,,61,62,,,63,,,,,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92', ',,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75', '76,,,,,,304,305,311,101,100,102,103,,,231,,,,,,,48,,,105,104,106,95', '59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230', ',,61,62,,,63,,,,,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,', ',65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75,76,', ',,,,304,305,311,101,100,102,103,,,231,,,,,,,48,,,105,104,106,95,59,97', '96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61', '62,,,63,,,,,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,', ',81,88,90,72,73,74,12,60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32', '31,30,101,100,102,103,,,22,,,,,,11,48,10,13,105,104,106,95,59,97,96', '98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,43,,,36,,,61,62,', ',63,,38,,,,47,,,,,,,,23,,,,,91,83,85,86,87,89,,,,84,92,,,,,,399,65,', ',81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32', '31,30,101,100,102,103,,,22,,,,,,,48,,,105,104,106,95,59,97,96,98,,99', '107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,', ',,,,47,,,,,,,,23,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90', '72,73,74,,60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101', '100,102,103,,,22,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,', '93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,', ',,,,,23,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74', ',60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101,100,102,103', ',,22,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46', '44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,,,,,,,23,,,,,91', '83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,', ',70,,68,69,71,33,34,75,76,,,,,,32,31,30,101,100,102,103,,,22,,,,,,,48', ',,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,', ',,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,,,,,,,23,,,,,91,83,85,86,87', '89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,12,60,,,,66,67,,,,70,,68,69', '71,33,34,75,76,,,,,,32,31,30,101,100,102,103,,,22,,,,,,11,48,,13,105', '104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,', ',,,43,,,36,,,61,62,,,63,,38,,,,47,,,,,,,,23,,,,,91,83,85,86,87,89,,', ',84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,33', '34,75,76,,,,,,32,31,30,101,100,102,103,,,231,,,,,,,48,,,105,104,106', '95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,', ',230,,,61,62,,,63,,,,,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92', ',,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,33,34,75,76', ',,,,,32,31,30,101,100,102,103,,,231,,,,,,,48,,,105,104,106,95,59,97', '96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61', '62,,,63,,,,,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,', ',81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32', '31,30,101,100,102,103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,,99', '107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,', ',,,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90', '72,73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305,311', '101,100,102,103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107', '108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,', '47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72', '73,74,,60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101,100', '102,103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93', '94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,415,,,,47,,', ',,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74', ',60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101,100,102,103', ',,231,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46', '44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,,,,,,,229,,,,', '91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67', ',,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101,100,102,103,,,231,,,,', ',,48,,,105,104,106,95,59,97,96,98,284,99,107,108,,93,94,,45,46,44,,', ',,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,282,,280,,47,,,,,,,,229,,,', ',91,83,85,86,87,89,,,,84,92,,,,,,,65,,285,81,88,90,72,73,74,,60,,,,66', '67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101,100,102,103,,,231,', ',,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,', ',,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,,,,,,,229,,,,,91,83', '85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70', ',68,69,71,33,34,75,76,,,,,,32,31,30,101,100,102,103,,,231,,,,,,,48,', ',105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,', ',,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,,,,,,,229,,,,,91,83,85,86,87', '89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71', '33,34,75,76,,,,,,32,31,30,101,100,102,103,,,231,,,,,,,48,,,105,104,106', '95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,', ',230,,,61,62,,,63,,,,,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92', ',,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,33,34,75,76', ',,,,,32,31,30,101,100,102,103,,,231,,,,,,,48,,,105,104,106,95,59,97', '96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61', '62,,,63,,415,,,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65', ',,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32', '31,30,101,100,102,103,,,22,,,,,,,48,,,105,104,106,95,59,97,96,98,,99', '107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,', ',,,,47,,,,,,,,23,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90', '72,73,74,,60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101', '100,102,103,,,22,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,', '93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,', ',,,,,23,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74', ',60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101,100,102,103', ',,22,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46', '44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,,,,,,,23,,,,,91', '83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,', ',70,,68,69,71,33,34,75,76,,,,,,32,31,30,101,100,102,103,,,22,,,,,,,48', ',,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,', ',,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,,,,,,,23,,,,,91,83,85,86,87', '89,,,,84,92,219,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69', '71,308,309,75,76,,,,,,304,305,311,101,100,102,103,,,231,,,,,,,48,,,105', '104,106,95,59,97,96,98,284,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,', ',,,,,,224,,,230,,,61,62,,,63,,,,280,,47,,,,,,,,229,,,,,91,83,85,86,87', '89,,,,84,92,,,,,,,65,,285,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69', '71,308,309,75,76,,,,,,304,305,311,101,100,102,103,,,231,,,,,,,48,,,105', '104,106,95,59,97,96,98,284,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,', ',,,,,,224,,,230,,,61,62,,,63,,671,,280,,47,,,,,,,,229,,,,,91,83,85,86', '87,89,,,,84,92,,,,,,,65,,285,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68', '69,71,308,309,75,76,,,,,,304,305,311,101,100,102,103,,,231,,,,,,,48', ',,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,', ',,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,,,,,,,229,,,,,91,83,85,86,87', '89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71', '308,309,75,76,,,,,,304,305,311,101,100,102,103,,,231,,,,,,,48,,,105', '104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,', ',,,224,,,230,,,61,62,,,63,,766,,,,47,,,,,,,,229,,,,,91,83,85,86,87,89', ',,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,308', '309,75,76,,,,,,304,305,311,101,100,102,103,,,231,,,,,,,306,,,105,104', '106,95,59,97,96,98,,99,107,108,,93,94,,,,312,,,,,,,,,,,,,,,,,,,,302', ',,298,,,61,62,,,63,,,,,,,,,,,,,,,,,,,91,83,85,86,87,89,,,,84,92,,,,', ',,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,', ',,,32,31,30,101,100,102,103,,,22,,,,,,,48,,,105,104,106,95,59,97,96', '98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62', ',,63,,,,,,47,,,,,,,,23,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81', '88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305', '311,101,100,102,103,,,231,,,,,,,306,,,105,104,106,95,59,97,96,98,,99', '107,108,,93,94,,,,312,,,,,,,,,,,,,,,,,,,,893,,,230,,,61,62,,,63,,,,', ',,,,,,,,,,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74', ',60,,,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305,311,101,100', '102,103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93', '94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,,,,', ',,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60', ',,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305,311,101,100,102', '103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,', '45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,,,,,,,229', ',,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66', '67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305,311,101,100,102,103,,', '231,,,,,,,306,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,,,312', ',,,,,,,,,,,,,,,,,,,302,,,230,,,61,62,,,63,,,,,,,,,,,,,,,,,,,91,83,85', '86,87,89,,,,84,92,,,,314,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70', ',68,69,71,308,309,75,76,,,,,,304,305,311,101,100,102,103,,,231,,,,,', ',48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,', ',,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,,,,,,,229,,,,,91,83,85', '86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68', '69,71,308,309,75,76,,,,,,304,305,311,101,100,102,103,,,231,,,,,,,48', ',,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,', ',,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,,,,,,,229,,,,,91,83,85,86,87', '89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71', '308,309,75,76,,,,,,304,305,311,101,100,102,103,,,231,,,,,,,48,,,105', '104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,', ',,,224,,,230,,,61,62,,,63,,,,,,47,,,,,,,,229,,,,,91,83,85,86,87,89,', ',,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,308', '309,75,76,,,,,,304,305,311,101,100,102,103,,,231,,,,,,,48,,,105,104', '106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224', ',,230,,,61,62,,,63,,,,,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92', ',,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75', '76,,,,,,304,305,311,101,100,102,103,,,231,,,,,,,48,,,105,104,106,95', '59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230', ',,61,62,,,63,,,,,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,', ',65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75,76,', ',,,,304,305,311,101,100,102,103,,,231,,,,,,,48,,,105,104,106,95,59,97', '96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61', '62,,,63,,,,,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,', ',81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304', '305,311,101,100,102,103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98', ',99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,', '63,,,,,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88', '90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305', '311,101,100,102,103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,,99', '107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,', ',,,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90', '72,73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305,311', '101,100,102,103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107', '108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,', '47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72', '73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305,311,101', '100,102,103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108', ',93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,', ',,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74', ',60,,,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305,311,101,100', '102,103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93', '94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,,,,', ',,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60', ',,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305,311,101,100,102', '103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,', '45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,,,,,,,229', ',,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66', '67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305,311,101,100,102,103,,', '231,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46', '44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,,,,,,,229,,,,', '91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67', ',,,70,,68,69,71,308,309,75,76,,,,,,304,305,311,101,100,102,103,,,231', ',,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,', ',,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,,,,,,,229,,,,,91,83', '85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70', ',68,69,71,308,309,75,76,,,,,,304,305,311,101,100,102,103,,,231,,,,,', ',48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,', ',,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,,,,,,,229,,,,,91,83,85', '86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68', '69,71,308,309,75,76,,,,,,304,305,311,101,100,102,103,,,231,,,,,,,48', ',,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,', ',,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,,,,,,,229,,,,,91,83,85,86,87', '89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71', '308,309,75,76,,,,,,304,305,311,101,100,102,103,,,231,,,,,,,48,,,105', '104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,', ',,,224,,,230,,,61,62,,,63,,,,,,47,,,,,,,,229,,,,,91,83,85,86,87,89,', ',,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,308', '309,75,76,,,,,,304,305,311,101,100,102,103,,,231,,,,,,,48,,,105,104', '106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224', ',,230,,,61,62,,,63,,,,,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92', ',,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75', '76,,,,,,304,305,311,101,100,102,103,,,231,,,,,,,48,,,105,104,106,95', '59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230', ',,61,62,,,63,,,,,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,', ',65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75,76,', ',,,,304,305,311,101,100,102,103,,,231,,,,,,,48,,,105,104,106,95,59,97', '96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61', '62,,,63,,,,,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,', ',81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304', '305,311,101,100,102,103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98', ',99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,', '63,,,,,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88', '90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305', '311,101,100,102,103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,,99', '107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,', ',,,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90', '72,73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305,311', '101,100,102,103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107', '108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,', '47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72', '73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305,311,101', '100,102,103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108', ',93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,', ',,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74', ',60,,,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305,311,101,100', '102,103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93', '94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,,,,', ',,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60', ',,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305,311,101,100,102', '103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,', '45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,,,,,,,229', ',,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66', '67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101,100,102,103,,,22,,', ',,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,', ',,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,,,,,,,23,,,,,91,83,85', '86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68', '69,71,308,309,75,76,,,,,,304,305,311,101,100,102,103,,,231,,,,,,,306', ',,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,,,312,,,,,,,,,,,,,', ',,,,,,302,,,298,,,61,62,,,63,,297,,,,,,,,,,,,,,,,,91,83,85,86,87,89', ',,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,33', '34,75,76,,,,,,32,31,30,101,100,102,103,,,231,,,,,,,48,,,105,104,106', '95,59,97,96,98,284,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224', ',,230,,,61,62,,,63,,282,,280,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,', ',84,92,,,,,,,65,,285,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71', '308,309,75,76,,,,,,304,305,311,101,100,102,103,,,231,,,,,,,48,,,105', '104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,', ',,,224,,,230,,,61,62,,,63,,282,,,,47,,,,,,,,229,,,,,91,83,85,86,87,89', ',,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,33', '34,75,76,,,,,,32,31,30,101,100,102,103,,,231,,,,,,,48,,,105,104,106', '95,59,97,96,98,284,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224', ',,230,,,61,62,,,63,,282,,280,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,', ',84,92,,,,,,,65,,285,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71', '33,34,75,76,,,,,,32,31,30,101,100,102,103,,,231,,,,,,,48,,,105,104,106', '95,59,97,96,98,284,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224', ',,230,,,61,62,,,63,,282,,280,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,', ',84,92,219,,,,,,65,,285,81,88,90,72,73,74,12,60,,,,66,67,,,,70,,68,69', '71,33,34,75,76,,,,,,32,31,30,101,100,102,103,,,22,,,,,,11,48,10,13,105', '104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,', ',,,43,,,36,,,61,62,,,63,,38,,,,47,,,,,,,,23,,,,,91,83,85,86,87,89,,', ',84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,33', '34,75,76,,,,,,32,31,30,101,100,102,103,,,231,,,,,,,48,,,105,104,106', '95,59,97,96,98,284,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224', ',,230,,,61,62,,,63,,282,,280,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,', ',84,92,,,,,,,65,,285,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71', '33,34,75,76,,,,,,32,31,30,101,100,102,103,,,231,,,,,,,48,,,105,104,106', '95,59,97,96,98,284,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224', ',,230,,,61,62,,,63,,282,,280,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,', ',84,92,,,,,,,65,,285,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71', '308,309,75,76,,,,,,304,305,311,101,100,102,103,,,231,,,,,,,48,,,105', '104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,', ',,,224,,,230,,,61,62,,,63,,,,,,47,,,,,,,,229,,,,,91,83,85,86,87,89,', ',,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,308', '309,75,76,,,,,,304,305,311,101,100,102,103,,,231,,,,,,,48,,,105,104', '106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224', ',,230,,,61,62,,,63,,,,,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92', ',,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75', '76,,,,,,304,305,311,101,100,102,103,,,231,,,,,,,48,,,105,104,106,95', '59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230', ',,61,62,,,63,,,,,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,', ',65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75,76,', ',,,,304,305,311,101,100,102,103,,,231,,,,,,,48,,,105,104,106,95,59,97', '96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61', '62,,,63,,,,,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,', ',81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304', '305,311,101,100,102,103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98', ',99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,', '63,,,,,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88', '90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305', '311,101,100,102,103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,,99', '107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,', ',,,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90', '72,73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305,311', '101,100,102,103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107', '108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,', '47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72', '73,74,12,60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101,100', '102,103,,,22,,,,,,11,48,,13,105,104,106,95,59,97,96,98,,99,107,108,', '93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,43,,,36,,,61,62,,,63,,38,,,,47,,', ',,,,,23,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74', ',60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101,100,102,103', ',,231,,,,,,,48,,,105,104,106,95,59,97,96,98,284,99,107,108,,93,94,,45', '46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,282,,280,,47,,,,,,', ',229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,285,81,88,90,72,73,74', ',60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101,100,102,103', ',,231,,,,,,,48,,,105,104,106,95,59,97,96,98,284,99,107,108,,93,94,,45', '46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,282,,280,,47,,,,,,', ',229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,285,81,88,90,72,73,74', ',60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101,100,102,103', ',,231,,,,,,,48,,,105,104,106,95,59,97,96,98,284,99,107,108,,93,94,,45', '46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,282,,280,,47,,,,,,', ',229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,285,81,88,90,72,73,74', ',60,,,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305,311,101,100', '102,103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93', '94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,,,,', ',,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60', ',,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305,311,101,100,102', '103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,', '45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,,,,,,,229', ',,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66', '67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305,311,101,100,102,103,,', '231,,,,,,,306,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,,,312', ',,,,,,,,,,,,,,,,,,,302,,,230,,,61,62,,,63,,,,,,,,,,,,,,,,,,,91,83,85', '86,87,89,,,,84,92,,,,514,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70', ',68,69,71,308,309,75,76,,,,,,304,305,311,101,100,102,103,,,231,,,,,', ',48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,', ',,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,,,,,,,229,,,,,91,83,85', '86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68', '69,71,308,309,75,76,,,,,,304,305,311,101,100,102,103,,,231,,,,,,,48', ',,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,', ',,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,,,,,,,229,,,,,91,83,85,86,87', '89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71', '308,309,75,76,,,,,,304,305,311,101,100,102,103,,,231,,,,,,,48,,,105', '104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,', ',,,224,,,230,,,61,62,,,63,,,,,,47,,,,,,,,229,,,,,91,83,85,86,87,89,', ',,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,308', '309,75,76,,,,,,304,305,311,101,100,102,103,,,231,,,,,,,48,,,105,104', '106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224', ',,230,,,61,62,,,63,,,,,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92', ',,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75', '76,,,,,,304,305,311,101,100,102,103,,,231,,,,,,,306,,,105,104,106,95', '59,97,96,98,,99,107,108,,93,94,,,,312,,,,,,,,,,,,,,,,,,,,302,,,298,', ',61,62,,,63,,,,,,,,,,,,,,,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,', '81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304', '305,311,101,100,102,103,,,231,,,,,,,306,,,105,104,106,95,59,97,96,98', ',99,107,108,,93,94,,,,312,,,,,,,,,,,,,,,,,,,,893,,,230,,,61,62,,,63', ',,,,,,,,,,,,,,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72', '73,74,,60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101,100', '102,103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,284,99,107,108,', '93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,282,,280', ',47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,285,81,88,90', '72,73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305,311', '101,100,102,103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107', '108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,', '47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72', '73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305,311,101', '100,102,103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108', ',93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,415,,,,47', ',,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73', '74,,60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101,100,102', '103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,', '45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,,,,,,,229', ',,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66', '67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305,311,101,100,102,103,,', '231,,,,,,,48,,,105,104,106,95,59,97,96,98,284,99,107,108,,93,94,,45', '46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,280,,47,,,,,,,,229', ',,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,285,81,88,90,72,73,74,,60,', ',,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305,311,101,100,102,103', ',,231,,,,,,,48,,,105,104,106,95,59,97,96,98,284,99,107,108,,93,94,,45', '46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,,,,,,,229,', ',,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,285,81,88,90,72,73,74,,60,,', ',66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305,311,101,100,102,103', ',,231,,,,,,,306,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,,,312', ',,,,,,,,,,,,,,,,,,,302,,,298,,,61,62,,,63,,,,,,,,,,,,,,,,,,,91,83,85', '86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68', '69,71,308,309,75,76,,,,,,304,305,311,101,100,102,103,,,231,,,,,,,48', ',,105,104,106,95,59,97,96,98,284,99,107,108,,93,94,,45,46,44,,,,,,,', ',,,,,,,,,,,,224,,,230,,,61,62,,,63,,671,,,,47,,,,,,,,229,,,,,91,83,85', '86,87,89,,,,84,92,,,,,,,65,,285,81,88,90,72,73,74,,60,,,,66,67,,,,70', ',68,69,71,33,34,75,76,,,,,,32,31,30,101,100,102,103,,,22,,,,,,,48,,', '105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,', ',,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,,,,,,,23,,,,,91,83,85,86,87,89', ',,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,33', '34,75,76,,,,,,32,31,30,101,100,102,103,,,22,,,,,,,48,,,105,104,106,95', '59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230', ',,61,62,,,63,,,,,,47,,,,,,,,23,,,,,91,83,85,86,87,89,,,,84,92,,,,,,', '65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,', ',32,31,30,101,100,102,103,,,22,,,,,,,48,,,105,104,106,95,59,97,96,98', ',99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,', '63,,,,,,47,,,,,,,,23,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88', '90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305', '311,101,100,102,103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,,99', '107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,', '671,,,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88', '90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305', '311,101,100,102,103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,,99', '107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,532,,61,62,,,63', ',,,,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90', '72,73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305,311', '101,100,102,103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107', '108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,', '47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72', '73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305,311,101', '100,102,103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108', ',93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,', ',,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74', ',60,,,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305,311,101,100', '102,103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,284,99,107,108,', '93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,671,,280', ',47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,285,81,88,90', '72,73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305,311', '101,100,102,103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107', '108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,', '47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72', '73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305,311,101', '100,102,103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108', ',93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,', ',,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74', ',60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101,100,102,103', ',,22,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46', '44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,,,,,,,23,,,,,91', '83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,12,60,,,,66,67', ',,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101,100,102,103,,,22,,,,,', '11,48,,13,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,', ',,,,,,,,,,,,,,,,,43,,,36,,,61,62,,,63,,38,,,,47,,,,,,,,23,,,,,91,83', '85,86,87,89,,,,84,92,,,,,,399,65,,,81,88,90,72,73,74,,60,,,,66,67,,', ',70,,68,69,71,308,309,75,76,,,,,,304,305,311,101,100,102,103,,,231,', ',,,,,306,,,105,104,106,590,59,97,96,591,,99,107,108,,93,94,,,,312,,', ',,,,,,,,,,,,,,,,,592,,,230,,,61,62,,,63,,,,,,,,,,,,,,,,,,,91,83,85,86', '87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69', '71,33,34,75,76,,,,,,32,31,30,101,100,102,103,,,231,,,,,,,48,,,105,104', '106,95,59,97,96,98,284,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,', ',,224,,,230,,,61,62,,,63,,282,,280,,47,,,,,,,,229,,,,,91,83,85,86,87', '89,,,,84,92,,,,,,,65,,285,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69', '71,308,309,75,76,,,,,,304,305,311,101,100,102,103,,,231,,,,,,,306,,', '105,104,106,590,59,97,96,591,,99,107,108,,93,94,,,,312,,,,,,,,,,,,,', ',,,,,,592,,,230,,,61,62,,,63,,,,,,,,,,,,,,,,,,,91,83,85,86,87,89,,,', '84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,308', '309,75,76,,,,,,304,305,311,101,100,102,103,,,231,,,,,,,306,,,105,104', '106,95,59,97,96,98,,99,107,108,,93,94,,,,312,,,,,,,,,,,,,,,,,,,,302', ',,298,,,61,62,,,63,,,,,,,,,,,,,,,,,,,91,83,85,86,87,89,,,,84,92,,,,', ',,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75,76', ',,,,,304,305,311,101,100,102,103,,,231,,,,,,,306,,,105,104,106,95,59', '97,96,98,,99,107,108,,93,94,,,,312,,,,,,,,,,,,,,,,,,,,966,,,230,,,61', '62,,,63,,,,,,,,,,,,,,,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88', '90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,308,309,75,76,,,,,,304,305', '311,101,100,102,103,,,231,,,,,,,48,,,105,104,106,95,59,97,96,98,284', '99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63', ',,,280,,47,,,,,,,,229,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,285,81', '88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31,30', '101,100,102,103,,,22,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108', ',93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,', ',,,,,,23,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74', ',60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101,100,102,103', ',,22,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46', '44,,,,,,,,,,,,,,,,,,,,224,,,230,,,61,62,,,63,,,,,,47,,,,,,,,23,,,,,91', '83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,', ',70,,68,69,71,308,309,75,76,,,,,,304,305,311,101,100,102,103,,,231,', ',,,,,306,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,,,312,,,,', '-282,,,,,,,-282,-282,-282,,,-282,-282,-282,302,-282,,298,,,61,62,,,63', '-282,-282,-282,,,,,,,,-282,-282,,-282,-282,-282,-282,-282,91,83,85,86', '87,89,,,,84,92,,,,,,,65,,,81,88,90,-282,-282,-282,-282,-282,-282,-282', '-282,-282,-282,-282,-282,-282,-282,,,-282,-282,-282,,,-282,,,-282,,', '-282,-282,,-282,,-282,,-282,,-282,-282,-282,-282,-282,-282,-282,,-282', ',-282,,,,,,,,,,,,,-282,-282,-282,-282,-600,-282,,-282,,,,-600,-600,-600', ',,-600,-600,-600,560,-600,557,556,555,564,558,,,,-600,-600,-600,-600', ',,566,,,,,-600,-600,,-600,-600,-600,-600,-600,,,,,,,,,,562,,,,,,,,,571', '570,574,573,,-600,-600,-600,-600,-600,-600,-600,-600,-600,-600,-600', '-600,-600,-600,,,-600,-600,-600,,,-600,,,-600,,,-600,-600,,-600,567', '-600,,-600,,-600,-600,-600,-600,-600,-600,-600,,-600,-600,-600,,,,,', ',,,,,,,-600,-600,-600,-600,-599,-600,,-600,,,,-599,-599,-599,,,-599', '-599,-599,560,-599,557,556,555,564,558,,,,-599,-599,-599,-599,,,566', ',,,,-599,-599,,-599,-599,-599,-599,-599,,,,,,,,,,562,546,,,,,,,,571', '570,574,573,,-599,-599,-599,-599,-599,-599,-599,-599,-599,-599,-599', '-599,-599,-599,,,-599,-599,-599,,,-599,,,-599,,,-599,-599,,-599,567', '-599,,-599,,-599,-599,-599,-599,-599,-599,-599,,-599,-599,-599,,,,,', ',,,,,,,-599,-599,-599,-599,-616,-599,,-599,,,,-616,-616,-616,,,-616', '-616,-616,560,-616,557,556,555,564,558,,,,-616,-616,-616,,,,566,,,,', '-616,-616,,-616,-616,-616,-616,-616,,,,,,,,,,562,,,,,,,,,571,570,574', '573,,-616,-616,-616,-616,-616,-616,-616,-616,-616,-616,-616,-616,-616', '-616,,,-616,-616,-616,,,-616,,270,-616,,,-616,-616,,-616,567,-616,,-616', ',-616,-616,-616,-616,-616,-616,-616,,-616,-616,-616,,,,,,,,,,,,-296', '-616,-616,,-616,,-616,-296,-296,-296,,,-296,-296,-296,560,-296,557,556', '555,564,558,,,,,-296,-296,,,,566,,,,,-296,-296,,-296,-296,-296,-296', '-296,,,,,,,,,,562,752,,,,,,,,571,570,574,573,,-296,-296,-296,-296,-296', '-296,-296,-296,-296,-296,-296,-296,-296,-296,,,-296,-296,-296,,,-296', ',273,-296,,,-296,-296,,-296,567,-296,,-296,,-296,-296,-296,-296,-296', '-296,-296,,-296,,-296,,,,,,,,,,,,-616,-296,-296,,-296,,-296,-616,-616', '-616,,,-616,-616,-616,560,-616,557,556,555,564,558,,,,-616,-616,,,,', '566,,,,,-616,-616,,-616,-616,-616,-616,-616,,,,,,,,,,562,,,,,,,,,571', '570,574,573,,-425,,,,,,,-425,-425,-425,,-616,-425,-425,-425,,-425,,-616', ',,,,270,-616,-425,-425,-425,,,,567,,,,,-425,-425,,-425,-425,-425,-425', '-425,,-616,-616,,,,,,,,,,,,,-616,,,,,-616,,,-425,-425,-425,-425,-425', '-425,-425,-425,-425,-425,-425,-425,-425,-425,,,-425,-425,-425,,,-425', ',270,-425,,,-425,-425,,-425,,-425,,-425,,-425,-425,-425,-425,-425,-425', '-425,,-425,-425,-425,,,,,,424,428,,,425,,,-425,-425,,-425,,-425,158', '159,,154,136,137,138,145,142,144,,,139,140,,,,160,161,146,147,,,,,,270', ',,,,,,,151,150,,135,157,153,152,148,149,143,141,133,156,134,,798,162', '557,556,555,799,558,,,,,485,428,,,486,566,,,,,155,,,158,159,163,154', '136,137,138,145,142,144,,,139,140,562,,,160,161,146,147,,,571,570,574', '573,,,,,,,,151,150,,135,157,153,152,148,149,143,141,133,156,134,,,162', ',,,,,,,,567,736,435,,,737,,,,,,155,,,158,159,163,154,136,137,138,145', '142,144,,,139,140,,,,160,161,146,147,,,,,,270,,,,,,,,151,150,,135,157', '153,152,148,149,143,141,133,156,134,,,162,,,,,,,,,,485,428,,,486,,,', ',,155,,,158,159,163,154,136,137,138,145,142,144,,,139,140,,,,160,161', '146,147,,,,,,270,,,,,,,,151,150,,135,157,153,152,148,149,143,141,133', '156,134,,,162,,,,,,,,,,734,428,,,735,,,,,,155,,,158,159,163,154,136', '137,138,145,142,144,,,139,140,,,,160,161,146,147,,,,,,270,,,,,,,,151', '150,,135,157,153,152,148,149,143,141,133,156,134,,,162,,,,,,,,,,1028', '428,,,1029,,,,,,155,,,158,159,163,154,136,137,138,145,142,144,,,139', '140,,,,160,161,146,147,,,,,,270,,,,,,,,151,150,,135,157,153,152,148', '149,143,141,133,156,134,,,162,,,,,,,,,,852,435,,,853,,,,,,155,,,158', '159,163,154,136,137,138,145,142,144,,,139,140,,,,160,161,146,147,,,', ',,270,,,,,,,,151,150,,135,157,153,152,148,149,143,141,133,156,134,,', '162,,,,,,,,,,1030,435,,,1031,,,,,,155,,,158,159,163,154,136,137,138', '145,142,144,,,139,140,,,,160,161,146,147,,,,,,270,,,,,,,,151,150,,135', '157,153,152,148,149,143,141,133,156,134,,,162,,,,,,,,,,1000,435,,,999', ',,,,,155,,,158,159,163,154,136,137,138,145,142,144,,,139,140,,,,160', '161,146,147,,,,,,270,,,,,,,,151,150,,135,157,153,152,148,149,143,141', '133,156,134,,,162,,,,,,,,,,651,435,,,652,,,,,,155,,,158,159,163,154', '136,137,138,145,142,144,,,139,140,,,,160,161,146,147,,,,,,270,,,,,,', ',151,150,,135,157,153,152,148,149,143,141,133,156,134,,,162,,,,,,,,', ',649,428,,,650,,,,,,155,,,158,159,163,154,136,137,138,145,142,144,,', '139,140,,,,160,161,146,147,,,,,,270,,,,,,,,151,150,,135,157,153,152', '148,149,143,141,133,156,134,,,162,,,,,,,,,,680,428,,,681,,,,,,155,,', '158,159,163,154,136,137,138,145,142,144,,,139,140,,,,160,161,146,147', ',,,,,270,,,,,,,,151,150,,135,157,153,152,148,149,143,141,133,156,134', ',,162,,,,,,,,,,649,428,,,650,,,,,,155,,,158,159,163,154,136,137,138', '145,142,144,,,139,140,,,,160,161,146,147,,,,,,270,,,,,,,,151,150,,135', '157,153,152,148,149,143,141,133,156,134,,,162,,,,,,,,,,431,435,,,430', ',,,,,155,,,158,159,163,154,136,137,138,145,142,144,,,139,140,,,,160', '161,146,147,,,,,,270,,,,,,,,151,150,,135,157,153,152,148,149,143,141', '133,156,134,,,162,,,,,,,,,,651,435,,,652,,,,,,155,,,158,159,163,154', '136,137,138,145,142,144,,,139,140,,,,160,161,146,147,,,,,,270,,,,,,', ',151,150,,135,157,153,152,148,149,143,141,133,156,134,,,162,,,,,,,,', ',683,435,,,684,,,,,,155,,,158,159,163,154,136,137,138,145,142,144,,', '139,140,,,,160,161,146,147,,,,,,270,,,,,,,,151,150,,135,157,153,152', '148,149,143,141,133,156,134,,560,162,557,556,555,564,558,560,,557,556', '555,564,558,,,566,,,,,155,,566,,798,163,557,556,555,799,558,,,,,,,562', ',,566,,,,562,752,571,570,574,573,,,,571,570,574,573,,,,,798,562,557', '556,555,799,558,,,,571,570,574,573,,,566,,,,798,567,557,556,555,799', '558,,567,,,,,,,,566,,562,560,,557,556,555,564,558,567,571,570,574,573', ',,,,566,,,562,,,,,,,,,571,570,574,573,,,,,219,,562,,,,,,567,,,571,570', '574,573,,,,,,,,,,,,,,567,,,,,,,,,,,,,,,,,,,567' ] racc_action_table = arr = ::Array.new(25629, nil) idx = 0 clist.each do |str| str.split(',', -1).each do |i| arr[idx] = i.to_i unless i.empty? idx += 1 end end clist = [ '652,902,924,387,1030,341,424,652,652,652,1,596,652,652,652,307,652,588', '22,730,736,459,755,755,675,365,652,652,652,351,735,340,365,1029,1043', '675,652,652,725,652,652,652,652,652,737,849,1028,222,424,718,348,592', '80,459,22,592,347,459,459,424,80,448,448,581,749,749,387,652,652,652', '652,652,652,652,652,652,652,652,652,652,652,850,1030,652,652,652,736', '652,652,545,580,652,691,691,652,652,662,652,64,652,222,652,307,652,652', '652,652,652,652,652,737,652,755,652,681,902,924,596,1030,341,902,924', '588,1030,341,736,652,652,652,652,98,652,715,652,351,735,596,98,98,98', '652,596,98,98,98,340,98,1029,1043,737,340,448,1029,1043,98,348,98,98', '98,849,1028,347,849,581,849,1028,98,98,581,98,98,98,98,98,734,680,700', '390,851,29,692,681,691,662,378,64,850,378,748,491,580,5,663,748,545', '580,5,98,98,98,98,98,98,98,98,98,98,98,98,98,98,690,223,98,98,98,681', '98,98,681,613,98,316,491,98,98,663,98,483,98,681,98,689,98,98,98,98', '98,98,98,390,98,680,98,29,378,378,920,616,920,920,920,686,920,683,852', '98,98,98,98,651,98,483,98,316,223,29,651,651,651,98,685,651,651,651', '316,651,680,851,734,680,613,613,851,682,651,651,651,651,123,613,680', '679,811,123,123,651,651,677,651,651,651,651,651,359,701,733,683,852', '616,616,359,288,384,683,852,701,288,616,683,852,670,492,683,852,920', '786,651,651,651,651,651,651,651,651,651,651,651,651,651,651,683,852', '651,651,651,811,651,651,701,701,651,668,811,651,651,492,651,381,651', '453,651,811,651,651,651,651,651,651,651,18,651,651,651,384,384,384,753', '376,786,811,225,753,701,590,591,651,651,651,651,95,651,661,651,967,650', '655,95,95,95,651,967,95,95,95,716,95,716,716,716,967,716,18,453,95,361', '95,95,95,381,381,381,361,18,765,950,95,95,950,95,95,95,95,95,225,878', '653,590,591,376,376,376,644,392,590,591,878,374,650,590,591,344,329', '590,591,329,344,95,95,95,95,95,95,95,95,95,95,95,95,95,95,590,591,95', '95,95,638,95,95,878,878,95,770,716,95,95,981,95,981,95,632,95,649,95', '95,95,95,95,95,95,425,95,42,95,392,392,392,360,374,374,374,633,41,878', '360,299,95,95,95,95,430,95,299,95,44,44,629,430,430,430,95,299,632,430', '430,709,430,709,709,709,709,709,425,632,42,649,998,625,998,998,998,709', '998,425,41,42,430,430,623,430,430,430,430,430,696,41,620,696,562,368', '562,562,562,709,562,838,368,838,838,838,460,838,583,330,709,709,330', '430,430,430,430,430,430,430,430,430,430,430,430,430,430,366,358,430', '430,430,562,430,366,358,582,430,460,838,430,562,460,460,709,430,577', '430,838,430,430,430,430,430,430,430,362,430,334,430,963,334,713,362', '713,713,713,963,713,339,339,431,430,430,740,430,963,430,431,431,431', '740,964,575,431,431,430,431,469,964,740,572,363,568,27,364,431,479,964', '363,713,27,364,788,469,469,789,431,431,713,431,431,431,431,431,976,791', '976,976,976,469,976,469,933,469,469,469,469,933,479,469,792,469,479', '479,479,479,793,431,431,431,431,431,431,431,431,431,431,431,431,431', '431,221,976,431,431,431,478,431,221,795,859,431,1014,1014,431,859,796', '221,467,431,797,431,798,431,431,431,431,431,431,431,560,431,431,431', '467,467,723,723,478,325,325,553,478,478,478,478,431,431,552,431,467', '431,20,20,467,467,467,467,312,312,431,11,11,11,11,11,11,11,11,11,11', '11,11,11,11,11,11,11,11,11,11,11,11,11,11,704,704,551,11,11,11,11,11', '11,11,11,11,11,674,674,674,674,674,11,11,11,11,11,11,11,11,11,11,810', '11,549,890,465,890,890,890,814,890,11,11,548,11,11,11,11,11,11,11,465', '465,11,11,817,818,822,11,11,11,11,840,823,840,840,840,465,840,465,824', '465,465,465,465,11,11,825,11,11,11,11,11,11,11,11,11,11,11,829,830,11', '11,832,965,833,835,300,837,535,840,965,11,921,300,921,921,921,839,921', '965,11,534,300,842,533,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12', '12,12,12,12,12,12,12,12,12,12,921,845,524,12,12,12,12,12,12,12,12,12', '12,508,508,508,508,508,12,12,12,12,12,12,12,12,12,520,515,12,756,756', '466,513,756,756,756,510,12,12,509,12,12,12,12,12,12,12,466,466,12,12', '494,855,493,12,12,12,12,974,464,974,974,974,466,974,466,463,466,466', '466,466,12,12,860,12,12,12,12,12,12,12,12,12,12,12,861,862,12,12,871', '594,872,462,17,461,440,974,594,12,1012,17,1012,1012,1012,432,1012,594', '12,423,17,422,419,12,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91', '91,91,91,91,91,91,91,91,1012,416,889,91,91,91,91,91,91,91,91,91,91,290', '290,290,290,290,91,91,91,91,91,91,91,91,91,91,91,91,413,91,411,519,389', '893,894,386,91,91,519,91,91,91,91,91,91,91,896,519,91,91,684,1031,892', '91,91,91,91,684,1031,892,897,383,684,1031,380,352,684,1031,892,350,91', '91,346,91,91,91,91,91,91,91,91,91,91,91,954,49,91,349,303,1006,345,954', '49,335,349,303,1006,332,331,922,954,49,327,349,303,1006,91,926,927,321', '318,91,754,754,754,754,754,754,754,754,754,754,754,754,754,754,754,754', '754,754,754,754,754,754,754,754,932,317,313,754,754,754,754,754,754', '754,754,754,754,9,9,9,9,9,754,754,754,754,754,754,754,754,754,940,943', '754,944,945,946,301,948,311,306,305,754,754,301,754,754,754,754,754', '754,754,958,301,754,754,853,319,302,754,754,754,754,853,319,296,295', '294,853,966,292,969,853,319,970,971,754,754,972,754,754,754,754,754', '754,754,754,754,754,754,973,281,754,975,278,277,266,263,231,227,226', '224,205,121,90,999,1000,1002,89,88,87,72,754,48,43,1013,40,754,406,406', '406,406,406,406,406,406,406,406,406,406,406,406,406,406,406,406,406', '406,406,406,406,406,1018,1019,1020,406,406,406,406,406,406,406,406,406', '406,1021,1022,1023,1024,1027,406,406,406,406,406,406,406,406,406,25', '19,406,16,15,1032,1033,13,3,1045,,406,406,,406,406,406,406,406,406,406', ',,406,406,,,,406,406,406,406,,,,,,,,,,,,,,406,406,,406,406,406,406,406', '406,406,406,406,406,406,,,406,406,,,,,,,,,,406,,,,,,,,,406,,,,,406,627', '627,627,627,627,627,627,627,627,627,627,627,627,627,627,627,627,627', '627,627,627,627,627,627,,,,627,627,627,627,627,627,627,627,627,627,', ',,,,627,627,627,627,627,627,627,627,627,,,627,,,,,,,,,627,627,,627,627', '627,627,627,627,627,,,627,627,,,,627,627,627,627,,,,,,,,,,,,,,627,627', ',627,627,627,627,627,627,627,627,627,627,627,,,627,627,,,,,,,,,,627', ',,,,,,,,627,,,,,627,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,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,,,74,,,,,,,,,,,,929,929,929,929,929,929,,,74,929,929,,,74,929', ',929,929,929,929,929,929,929,,,,,,929,929,929,929,929,929,929,,,929', ',,,,443,929,929,,929,929,929,929,929,929,929,929,929,,929,929,929,,929', '929,,929,929,929,443,443,443,443,443,443,443,443,443,443,443,,443,443', ',,443,443,,929,,,929,,,929,929,,,929,,929,443,,443,929,443,443,443,443', '443,443,443,929,443,,,,929,929,929,929,929,929,,,,929,929,,443,,443', ',,929,,,929,929,929,699,699,699,699,699,699,,,,699,699,,,,699,,699,699', '699,699,699,699,699,,,,,,699,699,699,699,699,699,699,,,699,,,,,654,699', '699,,699,699,699,699,699,699,699,699,699,,699,699,699,,699,699,,699', '699,699,654,654,654,654,654,654,654,654,654,654,654,,654,654,,,654,654', ',699,,,699,,,699,699,,,699,,699,654,,654,699,654,654,654,654,654,654', '654,699,654,,,,699,699,699,699,699,699,,,,699,699,,654,,,,,699,,,699', '699,699,698,698,698,698,698,698,,,,698,698,,,,698,,698,698,698,698,698', '698,698,,,,,,698,698,698,698,698,698,698,,,698,,,,,418,698,698,,698', '698,698,698,698,698,698,698,698,,698,698,698,,698,698,,698,698,698,418', '418,418,418,418,418,418,418,418,418,418,,418,418,,,418,418,,698,,,698', ',,698,698,,,698,,698,418,,418,698,418,418,418,418,418,418,418,698,418', ',,,698,698,698,698,698,698,,,,698,698,,418,,,,,698,,,698,698,698,816', '816,816,816,816,816,,,,816,816,,,,816,,816,816,816,816,816,816,816,', ',,,,816,816,816,816,816,816,816,,,816,,,,,,816,816,,816,816,816,816', '816,816,816,816,816,,816,816,816,,816,816,,816,816,816,482,482,482,482', '482,482,482,482,482,482,482,,482,482,,,482,482,,816,,,816,,,816,816', ',,816,,816,482,,482,816,482,482,482,482,482,482,482,816,482,,,,816,816', '816,816,816,816,,,,816,816,482,482,,,,,816,,,816,816,816,807,807,807', '807,807,807,,,,807,807,,,,807,,807,807,807,807,807,807,807,,,,,,807', '807,807,807,807,807,807,,,807,,,,,,807,807,,807,807,807,807,807,807', '807,807,807,,807,807,807,,807,807,,807,807,807,779,779,779,779,779,779', '779,779,779,779,779,,779,779,,,779,779,,807,,,807,,,807,807,,,807,,807', '779,,779,807,779,779,779,779,779,779,779,807,779,,,,807,807,807,807', '807,807,,,,807,807,,779,,,,,807,,,807,807,807,405,405,405,405,405,405', ',,,405,405,,,,405,,405,405,405,405,405,405,405,,,,,,405,405,405,405', '405,405,405,,,405,,,,,,405,405,405,405,405,405,405,405,405,405,405,405', ',405,405,405,,405,405,,405,405,405,688,688,688,688,688,688,688,688,688', '688,688,,688,688,,,688,688,,405,,,405,,,405,405,,,405,,405,688,,688', '405,688,688,688,688,688,688,688,405,688,,,,405,405,405,405,405,405,', ',,405,405,,688,,,,,405,,,405,405,405,802,802,802,802,802,802,,,,802', '802,,,,802,,802,802,802,802,802,802,802,,,,,,802,802,802,802,802,802', '802,,,802,,,,,,802,802,,802,802,802,802,802,802,802,802,802,,802,802', '802,,802,802,,802,802,802,874,874,874,874,874,874,874,874,874,874,874', ',874,874,,,874,874,,802,,,802,,,802,802,,,802,,802,874,,874,802,874', '874,874,874,874,874,874,802,874,,,,802,802,802,802,802,802,,,,802,802', ',874,,,,,802,,,802,802,802,962,962,962,962,962,962,,,,962,962,,,,962', ',962,962,962,962,962,962,962,,,,,,962,962,962,962,962,962,962,,,962', ',,,,,962,962,,962,962,962,962,962,962,962,962,962,,962,962,962,,962', '962,,962,962,962,24,24,24,24,24,24,24,24,24,24,24,,24,24,,,24,24,,962', ',,962,,,962,962,,,962,,962,24,,24,962,24,24,24,24,24,24,24,962,24,,', ',962,962,962,962,962,962,,,,962,962,,24,,,,,962,,,962,962,962,324,324', '324,324,324,324,,,,324,324,,,,324,,324,324,324,324,324,324,324,,,,,', '324,324,324,324,324,324,324,,,324,,,,,,324,324,,324,324,324,324,324', '324,324,324,324,,324,324,324,,324,324,,324,324,324,774,774,774,774,774', '774,774,774,774,774,774,,774,774,,,774,774,,324,,,324,,,324,324,,,324', ',324,774,,774,324,774,774,774,774,774,774,774,324,774,,,,324,324,324', '324,324,324,,,,324,324,,774,,,,,324,,,324,324,324,576,576,576,576,576', '576,,,,576,576,,,,576,,576,576,576,576,576,576,576,,,,,,576,576,576', '576,576,576,576,,,576,,,,,,576,576,,576,576,576,576,576,576,576,576', '576,,576,576,576,,576,576,,576,576,576,275,275,275,275,275,275,275,275', '275,275,275,,275,275,,,275,275,,576,,,576,,,576,576,,,576,,576,275,', '275,576,275,275,275,275,275,275,275,576,275,,,,576,576,576,576,576,576', ',,,576,576,,275,,,,,576,,,576,576,576,579,579,579,579,579,579,,,,579', '579,,,,579,,579,579,579,579,579,579,579,,,,,,579,579,579,579,579,579', '579,,,579,,,,,,579,579,,579,579,579,579,579,579,579,579,579,,579,579', '579,,579,579,,579,579,579,767,767,767,767,767,767,767,767,767,767,767', ',767,767,,,767,767,,579,,,579,,,579,579,,,579,,579,767,,767,579,767', '767,767,767,767,767,767,579,767,,,,579,579,579,579,579,579,,,,579,579', ',767,,,,,579,,,579,579,579,293,293,293,293,293,293,,,,293,293,,,,293', ',293,293,293,293,293,293,293,,,,,,293,293,293,293,293,293,293,,,293', ',,,,,293,293,,293,293,293,293,293,293,293,293,293,,293,293,293,,293', '293,,293,293,293,777,777,777,777,777,777,777,777,777,777,777,,777,777', ',,777,777,,293,,,293,,,293,293,,,293,,293,777,,777,293,777,777,777,777', '777,777,777,293,777,,,,293,293,293,293,293,293,,,,293,293,,777,,,,,293', ',,293,293,293,977,977,977,977,977,977,,,,977,977,,,,977,,977,977,977', '977,977,977,977,,,,,,977,977,977,977,977,977,977,,,977,,,,,,977,977', ',977,977,977,977,977,977,977,977,977,,977,977,977,,977,977,,977,977', '977,877,877,877,877,877,877,877,877,877,877,877,,877,877,,,877,877,', '977,,,977,,,977,977,,,977,,977,877,,877,977,877,877,877,877,877,877', '877,977,877,,,,977,977,977,977,977,977,,,,977,977,,877,,,,,977,,,977', '977,977,36,36,36,36,36,36,,,,36,36,,,,36,,36,36,36,36,36,36,36,,,,,', '36,36,36,36,36,36,36,,,36,,,,,,36,36,,36,36,36,36,36,36,36,36,36,,36', '36,36,,36,36,,36,36,36,781,781,781,781,781,781,781,781,781,781,781,', '781,781,,,781,781,,36,,,36,,,36,36,,,36,,36,781,,781,36,781,781,781', '781,781,781,781,36,781,,,,36,36,36,36,36,36,,,,36,36,,781,,,,,36,,,36', '36,36,982,982,982,982,982,982,,,,982,982,,,,982,,982,982,982,982,982', '982,982,,,,,,982,982,982,982,982,982,982,,,982,,,,,,982,982,,982,982', '982,982,982,982,982,982,982,,982,982,982,,982,982,,982,982,982,772,772', '772,772,772,772,772,772,772,772,772,,772,772,,,772,772,,982,,,982,,', '982,982,,,982,,982,772,,772,982,772,772,772,772,772,772,772,982,772', ',,,982,982,982,982,982,982,,,,982,982,,772,,,,,982,,,982,982,982,985', '985,985,985,985,985,,,,985,985,,,,985,,985,985,985,985,985,985,985,', ',,,,985,985,985,985,985,985,985,,,985,,,,,,985,985,,985,985,985,985', '985,985,985,985,985,,985,985,985,,985,985,,985,985,985,531,531,531,531', '531,531,531,531,531,531,531,,531,531,,,531,531,,985,,,985,,,985,985', ',,985,,985,531,,531,985,531,531,531,531,531,531,531,985,531,,,,985,985', '985,985,985,985,,,,985,985,,531,,,,,985,,,985,985,985,750,750,750,750', '750,750,,,,750,750,,,,750,,750,750,750,750,750,750,750,,,,,,750,750', '750,750,750,750,750,,,750,,,,,,750,750,,750,750,750,750,750,750,750', '750,750,,750,750,750,,750,750,,750,750,750,438,438,438,438,438,438,438', '438,438,438,438,,438,438,,,438,438,,750,,,750,,,750,750,,,750,,750,438', ',438,750,438,438,438,438,438,438,438,750,438,,,,750,750,750,750,750', '750,,,,750,750,,438,,,,,750,,,750,750,750,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,230,230,473,473,473,473,473,473,473,,,473,473', ',,,,,473,473,,230,,,230,,,230,230,,,230,,230,473,,473,230,473,473,473', '473,473,473,473,230,473,,,,230,230,230,230,230,230,,,,230,230,,,,,,', '230,,,230,230,230,986,986,986,986,986,986,,,,986,986,,,,986,,986,986', '986,986,986,986,986,,,,,,986,986,986,986,986,986,986,,,986,,,,,,986', '986,,986,986,986,986,986,986,986,986,986,,986,986,986,,986,986,,986', '986,986,472,,,,,,,,,,,,,,,,472,472,,986,,,986,,,986,986,,,986,,986,472', ',472,986,472,472,472,472,,,472,986,472,,,,986,986,986,986,986,986,,', ',986,986,,,,,,,986,,,986,986,986,751,751,751,751,751,751,,,,751,751', ',,,751,,751,751,751,751,751,751,751,,,,,,751,751,751,751,751,751,751', ',,751,,,,,,751,751,,751,751,751,751,751,751,751,751,751,,751,751,751', ',751,751,,751,751,751,474,474,474,474,474,474,474,,,474,474,,,,,,474', '474,,751,,,751,,,751,751,,,751,,751,474,,474,751,474,474,474,474,474', '474,474,751,474,,,,751,751,751,751,751,751,,,,751,751,,,,,,,751,,,751', '751,751,846,846,846,846,846,846,,,,846,846,,,,846,,846,846,846,846,846', '846,846,,,,,,846,846,846,846,846,846,846,,,846,,,,,,846,846,,846,846', '846,846,846,846,846,846,846,,846,846,846,,846,846,,846,846,846,475,475', '475,475,475,475,475,,,475,475,,,,,,475,475,,846,,,846,,,846,846,,,846', ',846,475,,475,846,475,475,475,475,475,475,475,846,475,,,,846,846,846', '846,846,846,,,,846,846,,,,,,,846,,,846,846,846,207,207,207,207,207,207', ',,,207,207,,,,207,,207,207,207,207,207,207,207,,,,,,207,207,207,207', '207,207,207,,,207,,,,,,207,207,,207,207,207,207,207,207,207,207,207', ',207,207,207,,207,207,,207,207,207,477,477,477,477,477,477,477,,,477', '477,,,,,,477,477,,207,,,207,,,207,207,,,207,,207,477,,477,207,477,477', '477,477,477,477,477,207,477,,,,207,207,207,207,207,207,,,,207,207,,', ',,,,207,,,207,207,207,847,847,847,847,847,847,,,,847,847,,,,847,,847', '847,847,847,847,847,847,,,,,,847,847,847,847,847,847,847,,,847,,,,,', '847,847,,847,847,847,847,847,847,847,847,847,,847,847,847,,847,847,', '847,847,847,471,,,,,,,,,,,,,,,,471,471,,847,,,847,,,847,847,,,847,,847', '471,,471,847,471,471,471,471,,,471,847,471,,,,847,847,847,847,847,847', ',,,847,847,,,,,,,847,,,847,847,847,757,757,757,757,757,757,,,,757,757', ',,,757,,757,757,757,757,757,757,757,,,,,,757,757,757,757,757,757,757', ',,757,,,,,,757,757,,757,757,757,757,757,757,757,757,757,,757,757,757', ',757,757,,757,757,757,470,,,,,,,,,,,,,,,,470,470,,757,,,757,,,757,757', ',,757,,757,470,,470,757,470,470,470,470,,,470,757,470,,,,757,757,757', '757,757,757,,,,757,757,,,,,,,757,,,757,757,757,856,856,856,856,856,856', ',,,856,856,,,,856,,856,856,856,856,856,856,856,,,,,,856,856,856,856', '856,856,856,,,856,,,,,,856,856,,856,856,856,856,856,856,856,856,856', ',856,856,856,,856,856,,856,856,856,457,457,457,457,457,457,457,457,457', '457,457,,457,457,,,457,457,,856,,,856,,,856,856,,,856,,856,457,,457', '856,457,457,457,457,457,457,457,856,457,,,,856,856,856,856,856,856,', ',,856,856,,,,,,,856,,,856,856,856,899,899,899,899,899,899,,,,899,899', ',,,899,,899,899,899,899,899,899,899,,,,,,899,899,899,899,899,899,899', ',,899,,,,,,899,899,,899,899,899,899,899,899,899,899,899,,899,899,899', ',899,899,,899,899,899,480,480,480,480,480,480,480,,,480,480,,,,,,480', '480,,899,,,899,,,899,899,,,899,,899,480,,480,899,480,480,480,480,480', '480,480,899,480,,,,899,899,899,899,899,899,,,,899,899,,,,,,,899,,,899', '899,899,895,895,895,895,895,895,,,,895,895,,,,895,,895,895,895,895,895', '895,895,,,,,,895,895,895,895,895,895,895,,,895,,,,,,895,895,,895,895', '895,895,895,895,895,895,895,,895,895,895,,895,895,,895,895,895,458,458', '458,458,458,458,458,458,458,458,458,,458,458,,,458,458,,895,,,895,,', '895,895,,,895,,895,458,,458,895,458,458,458,458,458,458,458,895,458', ',,,895,895,895,895,895,895,,,,895,895,,,,,,,895,,,895,895,895,2,2,2', '2,2,2,,,,2,2,,,,2,,2,2,2,2,2,2,2,,,,,,2,2,2,2,2,2,2,,,2,,,,,,2,2,2,2', '2,2,2,2,2,2,2,2,,2,2,2,,2,2,,2,2,2,468,468,468,468,468,468,468,,,468', '468,,,,,,468,468,,2,,,2,,,2,2,,,2,,2,468,,468,2,468,468,468,468,468', '468,468,2,468,,,,2,2,2,2,2,2,,,,2,2,,,,,,,2,,,2,2,2,298,298,298,298', '298,298,,,,298,298,,,,298,,298,298,298,298,298,298,298,,,,,,298,298', '298,298,298,298,298,,,298,,,,,,298,298,,298,298,298,298,298,298,298', '298,298,,298,298,298,,298,298,,298,298,298,481,481,481,481,481,481,481', '481,,481,481,,,,,,481,481,,298,,,298,,,298,298,,,298,,298,481,,481,298', '481,481,481,481,481,481,481,298,481,,,,298,298,298,298,298,298,,,,298', '298,,,,,,,298,,,298,298,298,806,806,806,806,806,806,,,,806,806,,,,806', ',806,806,806,806,806,806,806,,,,,,806,806,806,806,806,806,806,,,806', ',,,,,806,806,,806,806,806,806,806,806,806,806,806,,806,806,806,,806', '806,,806,806,806,476,476,476,476,476,476,476,,,476,476,,,,,,476,476', ',806,,,806,,,806,806,,,806,,806,476,,476,806,476,476,476,476,476,476', '476,806,476,,,,806,806,806,806,806,806,,,,806,806,,,,,,,806,,,806,806', '806,63,63,63,,63,,,,63,63,,,,63,,63,63,63,63,63,63,63,,,,,,63,63,63', '63,63,63,63,,,63,,,,,,,63,,,63,63,63,63,63,63,63,63,63,63,63,63,,63', '63,,63,63,63,,,,,,,,,,,,,,,,,,,,63,,,63,,,63,63,,915,63,915,915,915', '915,915,63,,,,,,,,63,915,,,,63,63,63,63,63,63,,,,63,63,,,,,,,63,915', '63,63,63,63,66,66,66,,66,,915,915,66,66,,,,66,,66,66,66,66,66,66,66', ',,,,,66,66,66,66,66,66,66,,,66,,,,915,,,66,,,66,66,66,66,66,66,66,66', ',66,66,66,,66,66,,66,66,66,,,,,,,,,,,,,,,,,,,,66,,,66,,,66,66,,994,66', '994,994,994,994,994,66,,,,,,,,66,994,,,,66,66,66,66,66,66,,,,66,66,', ',,,,,66,994,,66,66,66,67,67,67,,67,,994,994,67,67,,,,67,,67,67,67,67', '67,67,67,,,,,,67,67,67,67,67,67,67,,,67,,,,994,,,67,,,67,67,67,67,67', '67,67,67,,67,67,67,,67,67,,67,67,67,,,,,,,,,,,,,,,,,,,,67,,,67,,,67', '67,,992,67,992,992,992,992,992,67,,,,,,,,67,992,,,,67,67,67,67,67,67', ',,,67,67,,,,,,,67,992,,67,67,67,70,70,70,,70,,992,992,70,70,,,,70,,70', '70,70,70,70,70,70,,,,,,70,70,70,70,70,70,70,,,70,,,,992,,,70,,,70,70', '70,70,70,70,70,70,,70,70,70,,70,70,,70,70,70,,,,,,,,,,,,,,,,,,,,70,', ',70,,,70,70,,990,70,990,990,990,990,990,70,,,,,,,,70,990,,,,70,70,70', '70,70,70,,,,70,70,70,,,,,70,70,990,,70,70,70,71,71,71,,71,,990,990,71', '71,,,,71,,71,71,71,71,71,71,71,,,,,,71,71,71,71,71,71,71,,,71,,,,990', ',,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,766,766,766,,766,,,,766,766,,,,766,,766,766,766', '766,766,766,766,,,,,,766,766,766,766,766,766,766,,,766,,,,,,,766,,,766', '766,766,766,766,766,766,766,,766,766,766,,766,766,,766,766,766,,,,,', ',,,,,,,,,,,,,,766,,,766,,,766,766,,913,766,913,913,913,913,913,766,', ',,,,,,766,913,,,,766,766,766,766,766,766,,,,766,766,,,,,,,766,913,,766', '766,766,62,62,62,,62,,913,913,62,62,,,,62,,62,62,62,62,62,62,62,,,,', ',62,62,62,62,62,62,62,,,62,,,,913,,,62,,,62,62,62,62,62,62,62,62,62', '62,62,62,,62,62,,62,62,62,,,,,,,,,,,,,,,,,,,,62,,,62,,,62,62,,,62,,62', ',,,62,,,,,,,,62,,,,,62,62,62,62,62,62,,,,62,62,,,,,,,62,,62,62,62,62', '61,61,61,,61,,,,61,61,,,,61,,61,61,61,61,61,61,61,,,,,,61,61,61,61,61', '61,61,,,61,,,,,,,61,,,61,61,61,61,61,61,61,61,,61,61,61,,61,61,,61,61', '61,,,,,,,,,,,,,,,,,,,,61,,,61,,,61,61,,911,61,911,911,911,911,911,61', ',,,,,,,61,911,,,,61,61,61,61,61,61,,,,61,61,61,,,,,,61,911,,61,61,61', '502,502,502,,502,,911,911,502,502,,,,502,,502,502,502,502,502,502,502', ',,,,,502,502,502,502,502,502,502,,,502,,,,911,,,502,,,502,502,502,502', '502,502,502,502,,502,502,502,,502,502,,502,502,502,,,,,,,,,,,,,,,,,', ',,502,,,502,,,502,502,,886,502,886,886,886,886,886,502,,,,,,,,502,886', ',,,502,502,502,502,502,502,,,,502,502,,,,,,,502,886,,502,502,502,647', '647,647,,647,,886,886,647,647,,,,647,,647,647,647,647,647,647,647,,', ',,,647,647,647,647,647,647,647,,,647,,,,886,,,647,,,647,647,647,647', '647,647,647,647,,647,647,647,,647,647,,647,647,647,,,,,,,,,,,,,,,,,', ',,647,,,647,,,647,647,,1038,647,1038,1038,1038,1038,1038,647,,,,,,,', '647,1038,,,,647,647,647,647,647,647,,,,647,647,,,,,,,647,1038,,647,647', '647,1003,1003,1003,,1003,,1038,1038,1003,1003,,,,1003,,1003,1003,1003', '1003,1003,1003,1003,,,,,,1003,1003,1003,1003,1003,1003,1003,,,1003,', ',,1038,,,1003,,,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003', '1003,,1003,1003,,1003,1003,1003,,,,,,,,,,,,,,,,,,,,1003,,,1003,,,1003', '1003,,,1003,,1003,,1003,,1003,,,,,,,,1003,,,,,1003,1003,1003,1003,1003', '1003,,,,1003,1003,,,,,,,1003,,1003,1003,1003,1003,646,646,646,,646,', ',,646,646,,,,646,,646,646,646,646,646,646,646,,,,,,646,646,646,646,646', '646,646,,,646,,,,,,,646,,,646,646,646,646,646,646,646,646,,646,646,646', ',646,646,,646,646,646,,,,,,,,,,,,,,,,,,,,646,,,646,,,646,646,,1007,646', '1007,1007,1007,1007,1007,646,,,,,,,,646,1007,,,,646,646,646,646,646', '646,,,,646,646,,,,,,,646,1007,,646,646,646,671,671,671,,671,,1007,1007', '671,671,,,,671,,671,671,671,671,671,671,671,,,,,,671,671,671,671,671', '671,671,,,671,,,,1007,,,671,,,671,671,671,671,671,671,671,671,,671,671', '671,,671,671,,671,671,671,,,,,,,,,,,,,,,,,,,,671,,,671,,,671,671,,,671', ',,,,,671,,,,,,,,671,,,,,671,671,671,671,671,671,,,,671,671,,,,,,,671', ',,671,671,671,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,47,,,,,,,,,,,,,,,,,,,,47,,,47,,,47,47,,,47,,,,,,47', ',,,,,,,47,,,,,47,47,47,47,47,47,,,,47,47,,,,,,,47,,,47,47,47,46,46,46', ',46,,,,46,46,,,,46,,46,46,46,46,46,46,46,,,,,,46,46,46,46,46,46,46,', ',46,,,,,,,46,,,46,46,46,46,46,46,46,46,,46,46,46,,46,46,,46,46,46,,', ',,,,,,,,,,,,,,,,,46,,,46,,,46,46,,,46,,,,,,46,,,,,,,,46,,,,,46,46,46', '46,46,46,,,,46,46,,,,,,,46,,,46,46,46,111,111,111,111,111,,,,111,111', ',,,111,,111,111,111,111,111,111,111,,,,,,111,111,111,111,111,111,111', ',,111,,,,,,111,111,111,111,111,111,111,111,111,111,111,111,,111,111', '111,,111,111,,111,111,111,,,,,,,,,,,,,,,,,,,,111,,,111,,,111,111,,,111', ',111,,,,111,,,,,,,,111,,,,,111,111,111,111,111,111,,,,111,111,,,,,,111', '111,,,111,111,111,116,116,116,,116,,,,116,116,,,,116,,116,116,116,116', '116,116,116,,,,,,116,116,116,116,116,116,116,,,116,,,,,,,116,,,116,116', '116,116,116,116,116,116,,116,116,116,,116,116,,116,116,116,,,,,,,,,', ',,,,,,,,,,116,,,116,,,116,116,,,116,,,,,,116,,,,,,,,116,,,,,116,116', '116,116,116,116,,,,116,116,,,,,,,116,,,116,116,116,117,117,117,,117', ',,,117,117,,,,117,,117,117,117,117,117,117,117,,,,,,117,117,117,117', '117,117,117,,,117,,,,,,,117,,,117,117,117,117,117,117,117,117,,117,117', '117,,117,117,,117,117,117,,,,,,,,,,,,,,,,,,,,117,,,117,,,117,117,,,117', ',,,,,117,,,,,,,,117,,,,,117,117,117,117,117,117,,,,117,117,,,,,,,117', ',,117,117,117,118,118,118,,118,,,,118,118,,,,118,,118,118,118,118,118', '118,118,,,,,,118,118,118,118,118,118,118,,,118,,,,,,,118,,,118,118,118', '118,118,118,118,118,,118,118,118,,118,118,,118,118,118,,,,,,,,,,,,,', ',,,,,,118,,,118,,,118,118,,,118,,,,,,118,,,,,,,,118,,,,,118,118,118', '118,118,118,,,,118,118,,,,,,,118,,,118,118,118,119,119,119,,119,,,,119', '119,,,,119,,119,119,119,119,119,119,119,,,,,,119,119,119,119,119,119', '119,,,119,,,,,,,119,,,119,119,119,119,119,119,119,119,,119,119,119,', '119,119,,119,119,119,,,,,,,,,,,,,,,,,,,,119,,,119,,,119,119,,,119,,', ',,,119,,,,,,,,119,,,,,119,119,119,119,119,119,,,,119,119,,,,,,,119,', ',119,119,119,120,120,120,120,120,,,,120,120,,,,120,,120,120,120,120', '120,120,120,,,,,,120,120,120,120,120,120,120,,,120,,,,,,120,120,,120', '120,120,120,120,120,120,120,120,,120,120,120,,120,120,,120,120,120,', ',,,,,,,,,,,,,,,,,,120,,,120,,,120,120,,,120,,120,,,,120,,,,,,,,120,', ',,,120,120,120,120,120,120,,,,120,120,,,,,,,120,,,120,120,120,643,643', '643,,643,,,,643,643,,,,643,,643,643,643,643,643,643,643,,,,,,643,643', '643,643,643,643,643,,,643,,,,,,,643,,,643,643,643,643,643,643,643,643', ',643,643,643,,643,643,,643,643,643,,,,,,,,,,,,,,,,,,,,643,,,643,,,643', '643,,,643,,,,,,643,,,,,,,,643,,,,,643,643,643,643,643,643,,,,643,643', ',,,,,,643,,,643,643,643,642,642,642,,642,,,,642,642,,,,642,,642,642', '642,642,642,642,642,,,,,,642,642,642,642,642,642,642,,,642,,,,,,,642', ',,642,642,642,642,642,642,642,642,,642,642,642,,642,642,,642,642,642', ',,,,,,,,,,,,,,,,,,,642,,,642,,,642,642,,,642,,,,,,642,,,,,,,,642,,,', ',642,642,642,642,642,642,,,,642,642,,,,,,,642,,,642,642,642,768,768', '768,,768,,,,768,768,,,,768,,768,768,768,768,768,768,768,,,,,,768,768', '768,768,768,768,768,,,768,,,,,,,768,,,768,768,768,768,768,768,768,768', ',768,768,768,,768,768,,768,768,768,,,,,,,,,,,,,,,,,,,,768,,,768,,,768', '768,,,768,,,,,,768,,,,,,,,768,,,,,768,768,768,768,768,768,,,,768,768', ',,,,,,768,,,768,768,768,45,45,45,,45,,,,45,45,,,,45,,45,45,45,45,45', '45,45,,,,,,45,45,45,45,45,45,45,,,45,,,,,,,45,,,45,45,45,45,45,45,45', '45,,45,45,45,,45,45,,45,45,45,,,,,,,,,,,,,,,,,,,,45,,,45,,,45,45,,,45', ',,,,,45,,,,,,,,45,,,,,45,45,45,45,45,45,,,,45,45,,,,,,,45,,,45,45,45', '208,208,208,,208,,,,208,208,,,,208,,208,208,208,208,208,208,208,,,,', ',208,208,208,208,208,208,208,,,208,,,,,,,208,,,208,208,208,208,208,208', '208,208,,208,208,208,,208,208,,208,208,208,,,,,,,,,,,,,,,,,,,,208,,', '208,,,208,208,,,208,,208,,,,208,,,,,,,,208,,,,,208,208,208,208,208,208', ',,,208,208,,,,,,,208,,,208,208,208,209,209,209,,209,,,,209,209,,,,209', ',209,209,209,209,209,209,209,,,,,,209,209,209,209,209,209,209,,,209', ',,,,,,209,,,209,209,209,209,209,209,209,209,,209,209,209,,209,209,,209', '209,209,,,,,,,,,,,,,,,,,,,,209,,,209,,,209,209,,,209,,,,,,209,,,,,,', ',209,,,,,209,209,209,209,209,209,,,,209,209,,,,,,,209,,,209,209,209', '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', ',,210,,,210,210,,,210,,210,,210,,210,,,,,,,,210,,,,,210,210,210,210', '210,210,,,,210,210,,,,,,,210,,210,210,210,210,637,637,637,,637,,,,637', '637,,,,637,,637,637,637,637,637,637,637,,,,,,637,637,637,637,637,637', '637,,,637,,,,,,,637,,,637,637,637,637,637,637,637,637,,637,637,637,', '637,637,,637,637,637,,,,,,,,,,,,,,,,,,,,637,,,637,,,637,637,,,637,,', ',,,637,,,,,,,,637,,,,,637,637,637,637,637,637,,,,637,637,,,,,,,637,', ',637,637,637,636,636,636,,636,,,,636,636,,,,636,,636,636,636,636,636', '636,636,,,,,,636,636,636,636,636,636,636,,,636,,,,,,,636,,,636,636,636', '636,636,636,636,636,,636,636,636,,636,636,,636,636,636,,,,,,,,,,,,,', ',,,,,,636,,,636,,,636,636,,,636,,,,,,636,,,,,,,,636,,,,,636,636,636', '636,636,636,,,,636,636,,,,,,,636,,,636,636,636,213,213,213,,213,,,,213', '213,,,,213,,213,213,213,213,213,213,213,,,,,,213,213,213,213,213,213', '213,,,213,,,,,,,213,,,213,213,213,213,213,213,213,213,,213,213,213,', '213,213,,213,213,213,,,,,,,,,,,,,,,,,,,,213,,,213,,,213,213,,,213,,', ',,,213,,,,,,,,213,,,,,213,213,213,213,213,213,,,,213,213,,,,,,,213,', ',213,213,213,214,214,214,,214,,,,214,214,,,,214,,214,214,214,214,214', '214,214,,,,,,214,214,214,214,214,214,214,,,214,,,,,,,214,,,214,214,214', '214,214,214,214,214,,214,214,214,,214,214,,214,214,214,,,,,,,,,,,,,', ',,,,,,214,,,214,,,214,214,,,214,,214,,,,214,,,,,,,,214,,,,,214,214,214', '214,214,214,,,,214,214,,,,,,,214,,,214,214,214,215,215,215,,215,,,,215', '215,,,,215,,215,215,215,215,215,215,215,,,,,,215,215,215,215,215,215', '215,,,215,,,,,,,215,,,215,215,215,215,215,215,215,215,,215,215,215,', '215,215,,215,215,215,,,,,,,,,,,,,,,,,,,,215,,,215,,,215,215,,,215,,', ',,,215,,,,,,,,215,,,,,215,215,215,215,215,215,,,,215,215,,,,,,,215,', ',215,215,215,216,216,216,,216,,,,216,216,,,,216,,216,216,216,216,216', '216,216,,,,,,216,216,216,216,216,216,216,,,216,,,,,,,216,,,216,216,216', '216,216,216,216,216,,216,216,216,,216,216,,216,216,216,,,,,,,,,,,,,', ',,,,,,216,,,216,,,216,216,,,216,,,,,,216,,,,,,,,216,,,,,216,216,216', '216,216,216,,,,216,216,,,,,,,216,,,216,216,216,217,217,217,,217,,,,217', '217,,,,217,,217,217,217,217,217,217,217,,,,,,217,217,217,217,217,217', '217,,,217,,,,,,,217,,,217,217,217,217,217,217,217,217,,217,217,217,', '217,217,,217,217,217,,,,,,,,,,,,,,,,,,,,217,,,217,,,217,217,,,217,,', ',,,217,,,,,,,,217,,,,,217,217,217,217,217,217,,,,217,217,,,,,,,217,', ',217,217,217,218,218,218,,218,,,,218,218,,,,218,,218,218,218,218,218', '218,218,,,,,,218,218,218,218,218,218,218,,,218,,,,,,,218,,,218,218,218', '218,218,218,218,218,,218,218,218,,218,218,,218,218,218,,,,,,,,,,,,,', ',,,,,,218,,,218,,,218,218,,,218,,,,,,218,,,,,,,,218,,,,,218,218,218', '218,218,218,,,,218,218,218,,,,,,218,,,218,218,218,635,635,635,,635,', ',,635,635,,,,635,,635,635,635,635,635,635,635,,,,,,635,635,635,635,635', '635,635,,,635,,,,,,,635,,,635,635,635,635,635,635,635,635,635,635,635', '635,,635,635,,635,635,635,,,,,,,,,,,,,,,,,,,,635,,,635,,,635,635,,,635', ',,,635,,635,,,,,,,,635,,,,,635,635,635,635,635,635,,,,635,635,,,,,,', '635,,635,635,635,635,634,634,634,,634,,,,634,634,,,,634,,634,634,634', '634,634,634,634,,,,,,634,634,634,634,634,634,634,,,634,,,,,,,634,,,634', '634,634,634,634,634,634,634,634,634,634,634,,634,634,,634,634,634,,', ',,,,,,,,,,,,,,,,,634,,,634,,,634,634,,,634,,634,,634,,634,,,,,,,,634', ',,,,634,634,634,634,634,634,,,,634,634,,,,,,,634,,634,634,634,634,631', '631,631,,631,,,,631,631,,,,631,,631,631,631,631,631,631,631,,,,,,631', '631,631,631,631,631,631,,,631,,,,,,,631,,,631,631,631,631,631,631,631', '631,,631,631,631,,631,631,,631,631,631,,,,,,,,,,,,,,,,,,,,631,,,631', ',,631,631,,,631,,,,,,631,,,,,,,,631,,,,,631,631,631,631,631,631,,,,631', '631,,,,,,,631,,,631,631,631,630,630,630,,630,,,,630,630,,,,630,,630', '630,630,630,630,630,630,,,,,,630,630,630,630,630,630,630,,,630,,,,,', ',630,,,630,630,630,630,630,630,630,630,,630,630,630,,630,630,,630,630', '630,,,,,,,,,,,,,,,,,,,,630,,,630,,,630,630,,,630,,630,,,,630,,,,,,,', '630,,,,,630,630,630,630,630,630,,,,630,630,,,,,,,630,,,630,630,630,676', '676,676,,676,,,,676,676,,,,676,,676,676,676,676,676,676,676,,,,,,676', '676,676,676,676,676,676,,,676,,,,,,,676,,,676,676,676,676,676,676,676', '676,,676,676,676,,676,676,,,,676,,,,,,,,,,,,,,,,,,,,676,,,676,,,676', '676,,,676,,,,,,,,,,,,,,,,,,,676,676,676,676,676,676,,,,676,676,,,,,', ',676,,,676,676,676,601,601,601,,601,,,,601,601,,,,601,,601,601,601,601', '601,601,601,,,,,,601,601,601,601,601,601,601,,,601,,,,,,,601,,,601,601', '601,601,601,601,601,601,,601,601,601,,601,601,,601,601,601,,,,,,,,,', ',,,,,,,,,,601,,,601,,,601,601,,,601,,,,,,601,,,,,,,,601,,,,,601,601', '601,601,601,601,,,,601,601,,,,,,,601,,,601,601,601,891,891,891,,891', ',,,891,891,,,,891,,891,891,891,891,891,891,891,,,,,,891,891,891,891', '891,891,891,,,891,,,,,,,891,,,891,891,891,891,891,891,891,891,,891,891', '891,,891,891,,,,891,,,,,,,,,,,,,,,,,,,,891,,,891,,,891,891,,,891,,,', ',,,,,,,,,,,,,,,891,891,891,891,891,891,,,,891,891,,,,,,,891,,,891,891', '891,229,229,229,,229,,,,229,229,,,,229,,229,229,229,229,229,229,229', ',,,,,229,229,229,229,229,229,229,,,229,,,,,,,229,,,229,229,229,229,229', '229,229,229,,229,229,229,,229,229,,229,229,229,,,,,,,,,,,,,,,,,,,,229', ',,229,,,229,229,,,229,,,,,,229,,,,,,,,229,,,,,229,229,229,229,229,229', ',,,229,229,,,,,,,229,,,229,229,229,415,415,415,,415,,,,415,415,,,,415', ',415,415,415,415,415,415,415,,,,,,415,415,415,415,415,415,415,,,415', ',,,,,,415,,,415,415,415,415,415,415,415,415,,415,415,415,,415,415,,415', '415,415,,,,,,,,,,,,,,,,,,,,415,,,415,,,415,415,,,415,,,,,,415,,,,,,', ',415,,,,,415,415,415,415,415,415,,,,415,415,,,,,,,415,,,415,415,415', '38,38,38,,38,,,,38,38,,,,38,,38,38,38,38,38,38,38,,,,,,38,38,38,38,38', '38,38,,,38,,,,,,,38,,,38,38,38,38,38,38,38,38,,38,38,38,,38,38,,,,38', ',,,,,,,,,,,,,,,,,,,38,,,38,,,38,38,,,38,,,,,,,,,,,,,,,,,,,38,38,38,38', '38,38,,,,38,38,,,,38,,,38,,,38,38,38,232,232,232,,232,,,,232,232,,,', '232,,232,232,232,232,232,232,232,,,,,,232,232,232,232,232,232,232,,', '232,,,,,,,232,,,232,232,232,232,232,232,232,232,,232,232,232,,232,232', ',232,232,232,,,,,,,,,,,,,,,,,,,,232,,,232,,,232,232,,,232,,,,,,232,', ',,,,,,232,,,,,232,232,232,232,232,232,,,,232,232,,,,,,,232,,,232,232', '232,233,233,233,,233,,,,233,233,,,,233,,233,233,233,233,233,233,233', ',,,,,233,233,233,233,233,233,233,,,233,,,,,,,233,,,233,233,233,233,233', '233,233,233,,233,233,233,,233,233,,233,233,233,,,,,,,,,,,,,,,,,,,,233', ',,233,,,233,233,,,233,,,,,,233,,,,,,,,233,,,,,233,233,233,233,233,233', ',,,233,233,,,,,,,233,,,233,233,233,234,234,234,,234,,,,234,234,,,,234', ',234,234,234,234,234,234,234,,,,,,234,234,234,234,234,234,234,,,234', ',,,,,,234,,,234,234,234,234,234,234,234,234,,234,234,234,,234,234,,234', '234,234,,,,,,,,,,,,,,,,,,,,234,,,234,,,234,234,,,234,,,,,,234,,,,,,', ',234,,,,,234,234,234,234,234,234,,,,234,234,,,,,,,234,,,234,234,234', '235,235,235,,235,,,,235,235,,,,235,,235,235,235,235,235,235,235,,,,', ',235,235,235,235,235,235,235,,,235,,,,,,,235,,,235,235,235,235,235,235', '235,235,,235,235,235,,235,235,,235,235,235,,,,,,,,,,,,,,,,,,,,235,,', '235,,,235,235,,,235,,,,,,235,,,,,,,,235,,,,,235,235,235,235,235,235', ',,,235,235,,,,,,,235,,,235,235,235,236,236,236,,236,,,,236,236,,,,236', ',236,236,236,236,236,236,236,,,,,,236,236,236,236,236,236,236,,,236', ',,,,,,236,,,236,236,236,236,236,236,236,236,,236,236,236,,236,236,,236', '236,236,,,,,,,,,,,,,,,,,,,,236,,,236,,,236,236,,,236,,,,,,236,,,,,,', ',236,,,,,236,236,236,236,236,236,,,,236,236,,,,,,,236,,,236,236,236', '237,237,237,,237,,,,237,237,,,,237,,237,237,237,237,237,237,237,,,,', ',237,237,237,237,237,237,237,,,237,,,,,,,237,,,237,237,237,237,237,237', '237,237,,237,237,237,,237,237,,237,237,237,,,,,,,,,,,,,,,,,,,,237,,', '237,,,237,237,,,237,,,,,,237,,,,,,,,237,,,,,237,237,237,237,237,237', ',,,237,237,,,,,,,237,,,237,237,237,238,238,238,,238,,,,238,238,,,,238', ',238,238,238,238,238,238,238,,,,,,238,238,238,238,238,238,238,,,238', ',,,,,,238,,,238,238,238,238,238,238,238,238,,238,238,238,,238,238,,238', '238,238,,,,,,,,,,,,,,,,,,,,238,,,238,,,238,238,,,238,,,,,,238,,,,,,', ',238,,,,,238,238,238,238,238,238,,,,238,238,,,,,,,238,,,238,238,238', '239,239,239,,239,,,,239,239,,,,239,,239,239,239,239,239,239,239,,,,', ',239,239,239,239,239,239,239,,,239,,,,,,,239,,,239,239,239,239,239,239', '239,239,,239,239,239,,239,239,,239,239,239,,,,,,,,,,,,,,,,,,,,239,,', '239,,,239,239,,,239,,,,,,239,,,,,,,,239,,,,,239,239,239,239,239,239', ',,,239,239,,,,,,,239,,,239,239,239,240,240,240,,240,,,,240,240,,,,240', ',240,240,240,240,240,240,240,,,,,,240,240,240,240,240,240,240,,,240', ',,,,,,240,,,240,240,240,240,240,240,240,240,,240,240,240,,240,240,,240', '240,240,,,,,,,,,,,,,,,,,,,,240,,,240,,,240,240,,,240,,,,,,240,,,,,,', ',240,,,,,240,240,240,240,240,240,,,,240,240,,,,,,,240,,,240,240,240', '241,241,241,,241,,,,241,241,,,,241,,241,241,241,241,241,241,241,,,,', ',241,241,241,241,241,241,241,,,241,,,,,,,241,,,241,241,241,241,241,241', '241,241,,241,241,241,,241,241,,241,241,241,,,,,,,,,,,,,,,,,,,,241,,', '241,,,241,241,,,241,,,,,,241,,,,,,,,241,,,,,241,241,241,241,241,241', ',,,241,241,,,,,,,241,,,241,241,241,242,242,242,,242,,,,242,242,,,,242', ',242,242,242,242,242,242,242,,,,,,242,242,242,242,242,242,242,,,242', ',,,,,,242,,,242,242,242,242,242,242,242,242,,242,242,242,,242,242,,242', '242,242,,,,,,,,,,,,,,,,,,,,242,,,242,,,242,242,,,242,,,,,,242,,,,,,', ',242,,,,,242,242,242,242,242,242,,,,242,242,,,,,,,242,,,242,242,242', '243,243,243,,243,,,,243,243,,,,243,,243,243,243,243,243,243,243,,,,', ',243,243,243,243,243,243,243,,,243,,,,,,,243,,,243,243,243,243,243,243', '243,243,,243,243,243,,243,243,,243,243,243,,,,,,,,,,,,,,,,,,,,243,,', '243,,,243,243,,,243,,,,,,243,,,,,,,,243,,,,,243,243,243,243,243,243', ',,,243,243,,,,,,,243,,,243,243,243,244,244,244,,244,,,,244,244,,,,244', ',244,244,244,244,244,244,244,,,,,,244,244,244,244,244,244,244,,,244', ',,,,,,244,,,244,244,244,244,244,244,244,244,,244,244,244,,244,244,,244', '244,244,,,,,,,,,,,,,,,,,,,,244,,,244,,,244,244,,,244,,,,,,244,,,,,,', ',244,,,,,244,244,244,244,244,244,,,,244,244,,,,,,,244,,,244,244,244', '245,245,245,,245,,,,245,245,,,,245,,245,245,245,245,245,245,245,,,,', ',245,245,245,245,245,245,245,,,245,,,,,,,245,,,245,245,245,245,245,245', '245,245,,245,245,245,,245,245,,245,245,245,,,,,,,,,,,,,,,,,,,,245,,', '245,,,245,245,,,245,,,,,,245,,,,,,,,245,,,,,245,245,245,245,245,245', ',,,245,245,,,,,,,245,,,245,245,245,246,246,246,,246,,,,246,246,,,,246', ',246,246,246,246,246,246,246,,,,,,246,246,246,246,246,246,246,,,246', ',,,,,,246,,,246,246,246,246,246,246,246,246,,246,246,246,,246,246,,246', '246,246,,,,,,,,,,,,,,,,,,,,246,,,246,,,246,246,,,246,,,,,,246,,,,,,', ',246,,,,,246,246,246,246,246,246,,,,246,246,,,,,,,246,,,246,246,246', '247,247,247,,247,,,,247,247,,,,247,,247,247,247,247,247,247,247,,,,', ',247,247,247,247,247,247,247,,,247,,,,,,,247,,,247,247,247,247,247,247', '247,247,,247,247,247,,247,247,,247,247,247,,,,,,,,,,,,,,,,,,,,247,,', '247,,,247,247,,,247,,,,,,247,,,,,,,,247,,,,,247,247,247,247,247,247', ',,,247,247,,,,,,,247,,,247,247,247,248,248,248,,248,,,,248,248,,,,248', ',248,248,248,248,248,248,248,,,,,,248,248,248,248,248,248,248,,,248', ',,,,,,248,,,248,248,248,248,248,248,248,248,,248,248,248,,248,248,,248', '248,248,,,,,,,,,,,,,,,,,,,,248,,,248,,,248,248,,,248,,,,,,248,,,,,,', ',248,,,,,248,248,248,248,248,248,,,,248,248,,,,,,,248,,,248,248,248', '249,249,249,,249,,,,249,249,,,,249,,249,249,249,249,249,249,249,,,,', ',249,249,249,249,249,249,249,,,249,,,,,,,249,,,249,249,249,249,249,249', '249,249,,249,249,249,,249,249,,249,249,249,,,,,,,,,,,,,,,,,,,,249,,', '249,,,249,249,,,249,,,,,,249,,,,,,,,249,,,,,249,249,249,249,249,249', ',,,249,249,,,,,,,249,,,249,249,249,250,250,250,,250,,,,250,250,,,,250', ',250,250,250,250,250,250,250,,,,,,250,250,250,250,250,250,250,,,250', ',,,,,,250,,,250,250,250,250,250,250,250,250,,250,250,250,,250,250,,250', '250,250,,,,,,,,,,,,,,,,,,,,250,,,250,,,250,250,,,250,,,,,,250,,,,,,', ',250,,,,,250,250,250,250,250,250,,,,250,250,,,,,,,250,,,250,250,250', '251,251,251,,251,,,,251,251,,,,251,,251,251,251,251,251,251,251,,,,', ',251,251,251,251,251,251,251,,,251,,,,,,,251,,,251,251,251,251,251,251', '251,251,,251,251,251,,251,251,,251,251,251,,,,,,,,,,,,,,,,,,,,251,,', '251,,,251,251,,,251,,,,,,251,,,,,,,,251,,,,,251,251,251,251,251,251', ',,,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,252,,252', '252,252,,,,,,,,,,,,,,,,,,,,252,,,252,,,252,252,,,252,,,,,,252,,,,,,', ',252,,,,,252,252,252,252,252,252,,,,252,252,,,,,,,252,,,252,252,252', '253,253,253,,253,,,,253,253,,,,253,,253,253,253,253,253,253,253,,,,', ',253,253,253,253,253,253,253,,,253,,,,,,,253,,,253,253,253,253,253,253', '253,253,,253,253,253,,253,253,,253,253,253,,,,,,,,,,,,,,,,,,,,253,,', '253,,,253,253,,,253,,,,,,253,,,,,,,,253,,,,,253,253,253,253,253,253', ',,,253,253,,,,,,,253,,,253,253,253,254,254,254,,254,,,,254,254,,,,254', ',254,254,254,254,254,254,254,,,,,,254,254,254,254,254,254,254,,,254', ',,,,,,254,,,254,254,254,254,254,254,254,254,,254,254,254,,254,254,,254', '254,254,,,,,,,,,,,,,,,,,,,,254,,,254,,,254,254,,,254,,,,,,254,,,,,,', ',254,,,,,254,254,254,254,254,254,,,,254,254,,,,,,,254,,,254,254,254', '255,255,255,,255,,,,255,255,,,,255,,255,255,255,255,255,255,255,,,,', ',255,255,255,255,255,255,255,,,255,,,,,,,255,,,255,255,255,255,255,255', '255,255,,255,255,255,,255,255,,255,255,255,,,,,,,,,,,,,,,,,,,,255,,', '255,,,255,255,,,255,,,,,,255,,,,,,,,255,,,,,255,255,255,255,255,255', ',,,255,255,,,,,,,255,,,255,255,255,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,256,,,,,,,,,,,,,,,,,,,,256,,,256,,,256,256,,,256,,,,,,256,,,,,,', ',256,,,,,256,256,256,256,256,256,,,,256,256,,,,,,,256,,,256,256,256', '257,257,257,,257,,,,257,257,,,,257,,257,257,257,257,257,257,257,,,,', ',257,257,257,257,257,257,257,,,257,,,,,,,257,,,257,257,257,257,257,257', '257,257,,257,257,257,,257,257,,257,257,257,,,,,,,,,,,,,,,,,,,,257,,', '257,,,257,257,,,257,,,,,,257,,,,,,,,257,,,,,257,257,257,257,257,257', ',,,257,257,,,,,,,257,,,257,257,257,597,597,597,,597,,,,597,597,,,,597', ',597,597,597,597,597,597,597,,,,,,597,597,597,597,597,597,597,,,597', ',,,,,,597,,,597,597,597,597,597,597,597,597,,597,597,597,,597,597,,597', '597,597,,,,,,,,,,,,,,,,,,,,597,,,597,,,597,597,,,597,,,,,,597,,,,,,', ',597,,,,,597,597,597,597,597,597,,,,597,597,,,,,,,597,,,597,597,597', '37,37,37,,37,,,,37,37,,,,37,,37,37,37,37,37,37,37,,,,,,37,37,37,37,37', '37,37,,,37,,,,,,,37,,,37,37,37,37,37,37,37,37,,37,37,37,,37,37,,,,37', ',,,,,,,,,,,,,,,,,,,37,,,37,,,37,37,,,37,,37,,,,,,,,,,,,,,,,,37,37,37', '37,37,37,,,,37,37,,,,,,,37,,,37,37,37,264,264,264,,264,,,,264,264,,', ',264,,264,264,264,264,264,264,264,,,,,,264,264,264,264,264,264,264,', ',264,,,,,,,264,,,264,264,264,264,264,264,264,264,264,264,264,264,,264', '264,,264,264,264,,,,,,,,,,,,,,,,,,,,264,,,264,,,264,264,,,264,,264,', '264,,264,,,,,,,,264,,,,,264,264,264,264,264,264,,,,264,264,,,,,,,264', ',264,264,264,264,732,732,732,,732,,,,732,732,,,,732,,732,732,732,732', '732,732,732,,,,,,732,732,732,732,732,732,732,,,732,,,,,,,732,,,732,732', '732,732,732,732,732,732,,732,732,732,,732,732,,732,732,732,,,,,,,,,', ',,,,,,,,,,732,,,732,,,732,732,,,732,,732,,,,732,,,,,,,,732,,,,,732,732', '732,732,732,732,,,,732,732,,,,,,,732,,,732,732,732,270,270,270,,270', ',,,270,270,,,,270,,270,270,270,270,270,270,270,,,,,,270,270,270,270', '270,270,270,,,270,,,,,,,270,,,270,270,270,270,270,270,270,270,270,270', '270,270,,270,270,,270,270,270,,,,,,,,,,,,,,,,,,,,270,,,270,,,270,270', ',,270,,270,,270,,270,,,,,,,,270,,,,,270,270,270,270,270,270,,,,270,270', ',,,,,,270,,270,270,270,270,273,273,273,,273,,,,273,273,,,,273,,273,273', '273,273,273,273,273,,,,,,273,273,273,273,273,273,273,,,273,,,,,,,273', ',,273,273,273,273,273,273,273,273,273,273,273,273,,273,273,,273,273', '273,,,,,,,,,,,,,,,,,,,,273,,,273,,,273,273,,,273,,273,,273,,273,,,,', ',,,273,,,,,273,273,273,273,273,273,,,,273,273,273,,,,,,273,,273,273', '273,273,8,8,8,8,8,,,,8,8,,,,8,,8,8,8,8,8,8,8,,,,,,8,8,8,8,8,8,8,,,8', ',,,,,8,8,8,8,8,8,8,8,8,8,8,8,,8,8,8,,8,8,,8,8,8,,,,,,,,,,,,,,,,,,,,8', ',,8,,,8,8,,,8,,8,,,,8,,,,,,,,8,,,,,8,8,8,8,8,8,,,,8,8,,,,,,,8,,,8,8', '8,34,34,34,,34,,,,34,34,,,,34,,34,34,34,34,34,34,34,,,,,,34,34,34,34', '34,34,34,,,34,,,,,,,34,,,34,34,34,34,34,34,34,34,34,34,34,34,,34,34', ',34,34,34,,,,,,,,,,,,,,,,,,,,34,,,34,,,34,34,,,34,,34,,34,,34,,,,,,', ',34,,,,,34,34,34,34,34,34,,,,34,34,,,,,,,34,,34,34,34,34,585,585,585', ',585,,,,585,585,,,,585,,585,585,585,585,585,585,585,,,,,,585,585,585', '585,585,585,585,,,585,,,,,,,585,,,585,585,585,585,585,585,585,585,585', '585,585,585,,585,585,,585,585,585,,,,,,,,,,,,,,,,,,,,585,,,585,,,585', '585,,,585,,585,,585,,585,,,,,,,,585,,,,,585,585,585,585,585,585,,,,585', '585,,,,,,,585,,585,585,585,585,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,,,,,,,,,,,,,,,,,,,,280,,,280,,,280,280,,,280,,,,,,280,,,,,,,,280', ',,,,280,280,280,280,280,280,,,,280,280,,,,,,,280,,,280,280,280,782,782', '782,,782,,,,782,782,,,,782,,782,782,782,782,782,782,782,,,,,,782,782', '782,782,782,782,782,,,782,,,,,,,782,,,782,782,782,782,782,782,782,782', ',782,782,782,,782,782,,782,782,782,,,,,,,,,,,,,,,,,,,,782,,,782,,,782', '782,,,782,,,,,,782,,,,,,,,782,,,,,782,782,782,782,782,782,,,,782,782', ',,,,,,782,,,782,782,782,282,282,282,,282,,,,282,282,,,,282,,282,282', '282,282,282,282,282,,,,,,282,282,282,282,282,282,282,,,282,,,,,,,282', ',,282,282,282,282,282,282,282,282,,282,282,282,,282,282,,282,282,282', ',,,,,,,,,,,,,,,,,,,282,,,282,,,282,282,,,282,,,,,,282,,,,,,,,282,,,', ',282,282,282,282,282,282,,,,282,282,,,,,,,282,,,282,282,282,284,284', '284,,284,,,,284,284,,,,284,,284,284,284,284,284,284,284,,,,,,284,284', '284,284,284,284,284,,,284,,,,,,,284,,,284,284,284,284,284,284,284,284', ',284,284,284,,284,284,,284,284,284,,,,,,,,,,,,,,,,,,,,284,,,284,,,284', '284,,,284,,,,,,284,,,,,,,,284,,,,,284,284,284,284,284,284,,,,284,284', ',,,,,,284,,,284,284,284,285,285,285,,285,,,,285,285,,,,285,,285,285', '285,285,285,285,285,,,,,,285,285,285,285,285,285,285,,,285,,,,,,,285', ',,285,285,285,285,285,285,285,285,,285,285,285,,285,285,,285,285,285', ',,,,,,,,,,,,,,,,,,,285,,,285,,,285,285,,,285,,,,,,285,,,,,,,,285,,,', ',285,285,285,285,285,285,,,,285,285,,,,,,,285,,,285,285,285,783,783', '783,,783,,,,783,783,,,,783,,783,783,783,783,783,783,783,,,,,,783,783', '783,783,783,783,783,,,783,,,,,,,783,,,783,783,783,783,783,783,783,783', ',783,783,783,,783,783,,783,783,783,,,,,,,,,,,,,,,,,,,,783,,,783,,,783', '783,,,783,,,,,,783,,,,,,,,783,,,,,783,783,783,783,783,783,,,,783,783', ',,,,,,783,,,783,783,783,876,876,876,,876,,,,876,876,,,,876,,876,876', '876,876,876,876,876,,,,,,876,876,876,876,876,876,876,,,876,,,,,,,876', ',,876,876,876,876,876,876,876,876,,876,876,876,,876,876,,876,876,876', ',,,,,,,,,,,,,,,,,,,876,,,876,,,876,876,,,876,,,,,,876,,,,,,,,876,,,', ',876,876,876,876,876,876,,,,876,876,,,,,,,876,,,876,876,876,291,291', '291,291,291,,,,291,291,,,,291,,291,291,291,291,291,291,291,,,,,,291', '291,291,291,291,291,291,,,291,,,,,,291,291,,291,291,291,291,291,291', '291,291,291,,291,291,291,,291,291,,291,291,291,,,,,,,,,,,,,,,,,,,,291', ',,291,,,291,291,,,291,,291,,,,291,,,,,,,,291,,,,,291,291,291,291,291', '291,,,,291,291,,,,,,,291,,,291,291,291,452,452,452,,452,,,,452,452,', ',,452,,452,452,452,452,452,452,452,,,,,,452,452,452,452,452,452,452', ',,452,,,,,,,452,,,452,452,452,452,452,452,452,452,452,452,452,452,,452', '452,,452,452,452,,,,,,,,,,,,,,,,,,,,452,,,452,,,452,452,,,452,,452,', '452,,452,,,,,,,,452,,,,,452,452,452,452,452,452,,,,452,452,,,,,,,452', ',452,452,452,452,33,33,33,,33,,,,33,33,,,,33,,33,33,33,33,33,33,33,', ',,,,33,33,33,33,33,33,33,,,33,,,,,,,33,,,33,33,33,33,33,33,33,33,33', '33,33,33,,33,33,,33,33,33,,,,,,,,,,,,,,,,,,,,33,,,33,,,33,33,,,33,,33', ',33,,33,,,,,,,,33,,,,,33,33,33,33,33,33,,,,33,33,,,,,,,33,,33,33,33', '33,32,32,32,,32,,,,32,32,,,,32,,32,32,32,32,32,32,32,,,,,,32,32,32,32', '32,32,32,,,32,,,,,,,32,,,32,32,32,32,32,32,32,32,32,32,32,32,,32,32', ',32,32,32,,,,,,,,,,,,,,,,,,,,32,,,32,,,32,32,,,32,,32,,32,,32,,,,,,', ',32,,,,,32,32,32,32,32,32,,,,32,32,,,,,,,32,,32,32,32,32,784,784,784', ',784,,,,784,784,,,,784,,784,784,784,784,784,784,784,,,,,,784,784,784', '784,784,784,784,,,784,,,,,,,784,,,784,784,784,784,784,784,784,784,,784', '784,784,,784,784,,784,784,784,,,,,,,,,,,,,,,,,,,,784,,,784,,,784,784', ',,784,,,,,,784,,,,,,,,784,,,,,784,784,784,784,784,784,,,,784,784,,,', ',,,784,,,784,784,784,454,454,454,,454,,,,454,454,,,,454,,454,454,454', '454,454,454,454,,,,,,454,454,454,454,454,454,454,,,454,,,,,,,454,,,454', '454,454,454,454,454,454,454,,454,454,454,,454,454,,454,454,454,,,,,', ',,,,,,,,,,,,,,454,,,454,,,454,454,,,454,,,,,,454,,,,,,,,454,,,,,454', '454,454,454,454,454,,,,454,454,,,,,,,454,,,454,454,454,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,,,297', ',,,,,,,,,,,,,,,,,,297,297,297,297,297,297,,,,297,297,,,,297,,,297,,', '297,297,297,455,455,455,,455,,,,455,455,,,,455,,455,455,455,455,455', '455,455,,,,,,455,455,455,455,455,455,455,,,455,,,,,,,455,,,455,455,455', '455,455,455,455,455,,455,455,455,,455,455,,455,455,455,,,,,,,,,,,,,', ',,,,,,455,,,455,,,455,455,,,455,,,,,,455,,,,,,,,455,,,,,455,455,455', '455,455,455,,,,455,455,,,,,,,455,,,455,455,455,785,785,785,,785,,,,785', '785,,,,785,,785,785,785,785,785,785,785,,,,,,785,785,785,785,785,785', '785,,,785,,,,,,,785,,,785,785,785,785,785,785,785,785,,785,785,785,', '785,785,,785,785,785,,,,,,,,,,,,,,,,,,,,785,,,785,,,785,785,,,785,,', ',,,785,,,,,,,,785,,,,,785,785,785,785,785,785,,,,785,785,,,,,,,785,', ',785,785,785,787,787,787,,787,,,,787,787,,,,787,,787,787,787,787,787', '787,787,,,,,,787,787,787,787,787,787,787,,,787,,,,,,,787,,,787,787,787', '787,787,787,787,787,,787,787,787,,787,787,,787,787,787,,,,,,,,,,,,,', ',,,,,,787,,,787,,,787,787,,,787,,,,,,787,,,,,,,,787,,,,,787,787,787', '787,787,787,,,,787,787,,,,,,,787,,,787,787,787,564,564,564,,564,,,,564', '564,,,,564,,564,564,564,564,564,564,564,,,,,,564,564,564,564,564,564', '564,,,564,,,,,,,564,,,564,564,564,564,564,564,564,564,,564,564,564,', '564,564,,564,564,564,,,,,,,,,,,,,,,,,,,,564,,,564,,,564,564,,,564,,', ',,,564,,,,,,,,564,,,,,564,564,564,564,564,564,,,,564,564,,,,,,,564,', ',564,564,564,687,687,687,,687,,,,687,687,,,,687,,687,687,687,687,687', '687,687,,,,,,687,687,687,687,687,687,687,,,687,,,,,,,687,,,687,687,687', '687,687,687,687,687,,687,687,687,,687,687,,,,687,,,,,,,,,,,,,,,,,,,', '687,,,687,,,687,687,,,687,,,,,,,,,,,,,,,,,,,687,687,687,687,687,687', ',,,687,687,,,,,,,687,,,687,687,687,799,799,799,,799,,,,799,799,,,,799', ',799,799,799,799,799,799,799,,,,,,799,799,799,799,799,799,799,,,799', ',,,,,,799,,,799,799,799,799,799,799,799,799,,799,799,799,,799,799,,', ',799,,,,,,,,,,,,,,,,,,,,799,,,799,,,799,799,,,799,,,,,,,,,,,,,,,,,,', '799,799,799,799,799,799,,,,799,799,,,,,,,799,,,799,799,799,744,744,744', ',744,,,,744,744,,,,744,,744,744,744,744,744,744,744,,,,,,744,744,744', '744,744,744,744,,,744,,,,,,,744,,,744,744,744,744,744,744,744,744,744', '744,744,744,,744,744,,744,744,744,,,,,,,,,,,,,,,,,,,,744,,,744,,,744', '744,,,744,,744,,744,,744,,,,,,,,744,,,,,744,744,744,744,744,744,,,,744', '744,,,,,,,744,,744,744,744,744,456,456,456,,456,,,,456,456,,,,456,,456', '456,456,456,456,456,456,,,,,,456,456,456,456,456,456,456,,,456,,,,,', ',456,,,456,456,456,456,456,456,456,456,,456,456,456,,456,456,,456,456', '456,,,,,,,,,,,,,,,,,,,,456,,,456,,,456,456,,,456,,,,,,456,,,,,,,,456', ',,,,456,456,456,456,456,456,,,,456,456,,,,,,,456,,,456,456,456,693,693', '693,,693,,,,693,693,,,,693,,693,693,693,693,693,693,693,,,,,,693,693', '693,693,693,693,693,,,693,,,,,,,693,,,693,693,693,693,693,693,693,693', ',693,693,693,,693,693,,693,693,693,,,,,,,,,,,,,,,,,,,,693,,,693,,,693', '693,,,693,,693,,,,693,,,,,,,,693,,,,,693,693,693,693,693,693,,,,693', '693,,,,,,,693,,,693,693,693,23,23,23,,23,,,,23,23,,,,23,,23,23,23,23', '23,23,23,,,,,,23,23,23,23,23,23,23,,,23,,,,,,,23,,,23,23,23,23,23,23', '23,23,,23,23,23,,23,23,,23,23,23,,,,,,,,,,,,,,,,,,,,23,,,23,,,23,23', ',,23,,,,,,23,,,,,,,,23,,,,,23,23,23,23,23,23,,,,23,23,,,,,,,23,,,23', '23,23,875,875,875,,875,,,,875,875,,,,875,,875,875,875,875,875,875,875', ',,,,,875,875,875,875,875,875,875,,,875,,,,,,,875,,,875,875,875,875,875', '875,875,875,875,875,875,875,,875,875,,875,875,875,,,,,,,,,,,,,,,,,,', ',875,,,875,,,875,875,,,875,,,,875,,875,,,,,,,,875,,,,,875,875,875,875', '875,875,,,,875,875,,,,,,,875,,875,875,875,875,541,541,541,,541,,,,541', '541,,,,541,,541,541,541,541,541,541,541,,,,,,541,541,541,541,541,541', '541,,,541,,,,,,,541,,,541,541,541,541,541,541,541,541,541,541,541,541', ',541,541,,541,541,541,,,,,,,,,,,,,,,,,,,,541,,,541,,,541,541,,,541,', ',,,,541,,,,,,,,541,,,,,541,541,541,541,541,541,,,,541,541,,,,,,,541', ',541,541,541,541,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,314,,,,314,,,,,,,,,,,,,,,', ',,,,314,,,314,,,314,314,,,314,,,,,,,,,,,,,,,,,,,314,314,314,314,314', '314,,,,314,314,,,,,,,314,,,314,314,314,538,538,538,,538,,,,538,538,', ',,538,,538,538,538,538,538,538,538,,,,,,538,538,538,538,538,538,538', ',,538,,,,,,,538,,,538,538,538,538,538,538,538,538,538,538,538,538,,538', '538,,538,538,538,,,,,,,,,,,,,,,,,,,,538,,,538,,,538,538,,,538,,538,', ',,538,,,,,,,,538,,,,,538,538,538,538,538,538,,,,538,538,,,,,,,538,,538', '538,538,538,844,844,844,,844,,,,844,844,,,,844,,844,844,844,844,844', '844,844,,,,,,844,844,844,844,844,844,844,,,844,,,,,,,844,,,844,844,844', '844,844,844,844,844,,844,844,844,,844,844,,844,844,844,,,,,,,,,,,,,', ',,,,,,844,,,844,,,844,844,,,844,,,,,,844,,,,,,,,844,,,,,844,844,844', '844,844,844,,,,844,844,,,,,,,844,,,844,844,844,857,857,857,,857,,,,857', '857,,,,857,,857,857,857,857,857,857,857,,,,,,857,857,857,857,857,857', '857,,,857,,,,,,,857,,,857,857,857,857,857,857,857,857,,857,857,857,', '857,857,,857,857,857,,,,,,,,,,,,,,,,,,,,857,,,857,,,857,857,,,857,,', ',,,857,,,,,,,,857,,,,,857,857,857,857,857,857,,,,857,857,,,,,,,857,', ',857,857,857,532,532,532,,532,,,,532,532,,,,532,,532,532,532,532,532', '532,532,,,,,,532,532,532,532,532,532,532,,,532,,,,,,,532,,,532,532,532', '532,532,532,532,532,,532,532,532,,532,532,,532,532,532,,,,,,,,,,,,,', ',,,,,,532,,,532,,,532,532,,,532,,,,,,532,,,,,,,,532,,,,,532,532,532', '532,532,532,,,,532,532,,,,,,,532,,,532,532,532,928,928,928,,928,,,,928', '928,,,,928,,928,928,928,928,928,928,928,,,,,,928,928,928,928,928,928', '928,,,928,,,,,,,928,,,928,928,928,928,928,928,928,928,,928,928,928,', '928,928,,928,928,928,,,,,,,,,,,,,,,,,,,,928,,,928,,,928,928,,,928,,928', ',,,928,,,,,,,,928,,,,,928,928,928,928,928,928,,,,928,928,,,,,,,928,', ',928,928,928,323,323,323,,323,,,,323,323,,,,323,,323,323,323,323,323', '323,323,,,,,,323,323,323,323,323,323,323,,,323,,,,,,,323,,,323,323,323', '323,323,323,323,323,,323,323,323,,323,323,,323,323,323,,,,,,,,,,,,,', ',,,,,,323,,,323,323,,323,323,,,323,,,,,,323,,,,,,,,323,,,,,323,323,323', '323,323,323,,,,323,323,,,,,,,323,,,323,323,323,711,711,711,,711,,,,711', '711,,,,711,,711,711,711,711,711,711,711,,,,,,711,711,711,711,711,711', '711,,,711,,,,,,,711,,,711,711,711,711,711,711,711,711,,711,711,711,', '711,711,,711,711,711,,,,,,,,,,,,,,,,,,,,711,,,711,,,711,711,,,711,,', ',,,711,,,,,,,,711,,,,,711,711,711,711,711,711,,,,711,711,,,,,,,711,', ',711,711,711,528,528,528,,528,,,,528,528,,,,528,,528,528,528,528,528', '528,528,,,,,,528,528,528,528,528,528,528,,,528,,,,,,,528,,,528,528,528', '528,528,528,528,528,,528,528,528,,528,528,,528,528,528,,,,,,,,,,,,,', ',,,,,,528,,,528,,,528,528,,,528,,,,,,528,,,,,,,,528,,,,,528,528,528', '528,528,528,,,,528,528,,,,,,,528,,,528,528,528,497,497,497,,497,,,,497', '497,,,,497,,497,497,497,497,497,497,497,,,,,,497,497,497,497,497,497', '497,,,497,,,,,,,497,,,497,497,497,497,497,497,497,497,497,497,497,497', ',497,497,,497,497,497,,,,,,,,,,,,,,,,,,,,497,,,497,,,497,497,,,497,', '497,,497,,497,,,,,,,,497,,,,,497,497,497,497,497,497,,,,497,497,,,,', ',,497,,497,497,497,497,527,527,527,,527,,,,527,527,,,,527,,527,527,527', '527,527,527,527,,,,,,527,527,527,527,527,527,527,,,527,,,,,,,527,,,527', '527,527,527,527,527,527,527,,527,527,527,,527,527,,527,527,527,,,,,', ',,,,,,,,,,,,,,527,,,527,,,527,527,,,527,,,,,,527,,,,,,,,527,,,,,527', '527,527,527,527,527,,,,527,527,,,,,,,527,,,527,527,527,526,526,526,', '526,,,,526,526,,,,526,,526,526,526,526,526,526,526,,,,,,526,526,526', '526,526,526,526,,,526,,,,,,,526,,,526,526,526,526,526,526,526,526,,526', '526,526,,526,526,,526,526,526,,,,,,,,,,,,,,,,,,,,526,,,526,,,526,526', ',,526,,,,,,526,,,,,,,,526,,,,,526,526,526,526,526,526,,,,526,526,,,', ',,,526,,,526,526,526,738,738,738,,738,,,,738,738,,,,738,,738,738,738', '738,738,738,738,,,,,,738,738,738,738,738,738,738,,,738,,,,,,,738,,,738', '738,738,738,738,738,738,738,,738,738,738,,738,738,,738,738,738,,,,,', ',,,,,,,,,,,,,,738,,,738,,,738,738,,,738,,,,,,738,,,,,,,,738,,,,,738', '738,738,738,738,738,,,,738,738,,,,,,,738,,,738,738,738,507,507,507,507', '507,,,,507,507,,,,507,,507,507,507,507,507,507,507,,,,,,507,507,507', '507,507,507,507,,,507,,,,,,507,507,,507,507,507,507,507,507,507,507', '507,,507,507,507,,507,507,,507,507,507,,,,,,,,,,,,,,,,,,,,507,,,507', ',,507,507,,,507,,507,,,,507,,,,,,,,507,,,,,507,507,507,507,507,507,', ',,507,507,,,,,,507,507,,,507,507,507,357,357,357,,357,,,,357,357,,,', '357,,357,357,357,357,357,357,357,,,,,,357,357,357,357,357,357,357,,', '357,,,,,,,357,,,357,357,357,357,357,357,357,357,,357,357,357,,357,357', ',,,357,,,,,,,,,,,,,,,,,,,,357,,,357,,,357,357,,,357,,,,,,,,,,,,,,,,', ',,357,357,357,357,357,357,,,,357,357,,,,,,,357,,,357,357,357,516,516', '516,,516,,,,516,516,,,,516,,516,516,516,516,516,516,516,,,,,,516,516', '516,516,516,516,516,,,516,,,,,,,516,,,516,516,516,516,516,516,516,516', '516,516,516,516,,516,516,,516,516,516,,,,,,,,,,,,,,,,,,,,516,,,516,', ',516,516,,,516,,516,,516,,516,,,,,,,,516,,,,,516,516,516,516,516,516', ',,,516,516,,,,,,,516,,516,516,516,516,355,355,355,,355,,,,355,355,,', ',355,,355,355,355,355,355,355,355,,,,,,355,355,355,355,355,355,355,', ',355,,,,,,,355,,,355,355,355,355,355,355,355,355,,355,355,355,,355,355', ',,,355,,,,,,,,,,,,,,,,,,,,355,,,355,,,355,355,,,355,,,,,,,,,,,,,,,,', ',,355,355,355,355,355,355,,,,355,355,,,,,,,355,,,355,355,355,514,514', '514,,514,,,,514,514,,,,514,,514,514,514,514,514,514,514,,,,,,514,514', '514,514,514,514,514,,,514,,,,,,,514,,,514,514,514,514,514,514,514,514', ',514,514,514,,514,514,,,,514,,,,,,,,,,,,,,,,,,,,514,,,514,,,514,514', ',,514,,,,,,,,,,,,,,,,,,,514,514,514,514,514,514,,,,514,514,,,,,,,514', ',,514,514,514,903,903,903,,903,,,,903,903,,,,903,,903,903,903,903,903', '903,903,,,,,,903,903,903,903,903,903,903,,,903,,,,,,,903,,,903,903,903', '903,903,903,903,903,,903,903,903,,903,903,,,,903,,,,,,,,,,,,,,,,,,,', '903,,,903,,,903,903,,,903,,,,,,,,,,,,,,,,,,,903,903,903,903,903,903', ',,,903,903,,,,,,,903,,,903,903,903,500,500,500,,500,,,,500,500,,,,500', ',500,500,500,500,500,500,500,,,,,,500,500,500,500,500,500,500,,,500', ',,,,,,500,,,500,500,500,500,500,500,500,500,500,500,500,500,,500,500', ',500,500,500,,,,,,,,,,,,,,,,,,,,500,,,500,,,500,500,,,500,,,,500,,500', ',,,,,,,500,,,,,500,500,500,500,500,500,,,,500,500,,,,,,,500,,500,500', '500,500,342,342,342,,342,,,,342,342,,,,342,,342,342,342,342,342,342', '342,,,,,,342,342,342,342,342,342,342,,,342,,,,,,,342,,,342,342,342,342', '342,342,342,342,,342,342,342,,342,342,,342,342,342,,,,,,,,,,,,,,,,,', ',,342,,,342,,,342,342,,,342,,,,,,342,,,,,,,,342,,,,,342,342,342,342', '342,342,,,,342,342,,,,,,,342,,,342,342,342,343,343,343,,343,,,,343,343', ',,,343,,343,343,343,343,343,343,343,,,,,,343,343,343,343,343,343,343', ',,343,,,,,,,343,,,343,343,343,343,343,343,343,343,,343,343,343,,343', '343,,343,343,343,,,,,,,,,,,,,,,,,,,,343,,,343,,,343,343,,,343,,,,,,343', ',,,,,,,343,,,,,343,343,343,343,343,343,,,,343,343,,,,,,,343,,,343,343', '343,523,523,523,,523,,,,523,523,,,,523,,523,523,523,523,523,523,523', ',,,,,523,523,523,523,523,523,523,,,523,,,,,,,523,,,523,523,523,523,523', '523,523,523,,523,523,523,,523,523,,,,523,,,,,59,,,,,,,59,59,59,,,59', '59,59,523,59,,523,,,523,523,,,523,59,59,59,,,,,,,,59,59,,59,59,59,59', '59,523,523,523,523,523,523,,,,523,523,,,,,,,523,,,523,523,523,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,436,59', ',59,,,,436,436,436,,,436,436,436,705,436,705,705,705,705,705,,,,436', '436,436,436,,,705,,,,,436,436,,436,436,436,436,436,,,,,,,,,,705,,,,', ',,,,705,705,705,705,,436,436,436,436,436,436,436,436,436,436,436,436', '436,436,,,436,436,436,,,436,,,436,,,436,436,,436,705,436,,436,,436,436', '436,436,436,436,436,,436,436,436,,,,,,,,,,,,,436,436,436,436,435,436', ',436,,,,435,435,435,,,435,435,435,338,435,338,338,338,338,338,,,,435', '435,435,435,,,338,,,,,435,435,,435,435,435,435,435,,,,,,,,,,338,338', ',,,,,,,338,338,338,338,,435,435,435,435,435,435,435,435,435,435,435', '435,435,435,,,435,435,435,,,435,,,435,,,435,435,,435,338,435,,435,,435', '435,435,435,435,435,435,,435,435,435,,,,,,,,,,,,,435,435,435,435,426', '435,,435,,,,426,426,426,,,426,426,426,707,426,707,707,707,707,707,,', ',426,426,426,,,,707,,,,,426,426,,426,426,426,426,426,,,,,,,,,,707,,', ',,,,,,707,707,707,707,,426,426,426,426,426,426,426,426,426,426,426,426', '426,426,,,426,426,426,,,426,,426,426,,,426,426,,426,707,426,,426,,426', '426,426,426,426,426,426,,426,426,426,,,,,,,,,,,,31,426,426,,426,,426', '31,31,31,,,31,31,31,938,31,938,938,938,938,938,,,,,31,31,,,,938,,,,', '31,31,,31,31,31,31,31,,,,,,,,,,938,938,,,,,,,,938,938,938,938,,31,31', '31,31,31,31,31,31,31,31,31,31,31,31,,,31,31,31,,,31,,31,31,,,31,31,', '31,938,31,,31,,31,31,31,31,31,31,31,,31,,31,,,,,,,,,,,,484,31,31,,31', ',31,484,484,484,,,484,484,484,546,484,546,546,546,546,546,,,,484,484', ',,,,546,,,,,484,484,,484,484,484,484,484,,,,,,,,,,546,,,,,,,,,546,546', '546,546,,30,,,,,,,30,30,30,,484,30,30,30,,30,,484,,,,,484,484,30,30', '30,,,,546,,,,,30,30,,30,30,30,30,30,,484,484,,,,,,,,,,,,,484,,,,,484', ',,30,30,30,30,30,30,30,30,30,30,30,30,30,30,,,30,30,30,,,30,,30,30,', ',30,30,,30,,30,,30,,30,30,30,30,30,30,30,,30,30,30,,,,,,211,211,,,211', ',,30,30,,30,,30,211,211,,211,211,211,211,211,211,211,,,211,211,,,,211', '211,211,211,,,,,,211,,,,,,,,211,211,,211,211,211,211,211,211,211,211', '211,211,211,,988,211,988,988,988,988,988,,,,,260,260,,,260,988,,,,,211', ',,260,260,211,260,260,260,260,260,260,260,,,260,260,988,,,260,260,260', '260,,,988,988,988,988,,,,,,,,260,260,,260,260,260,260,260,260,260,260', '260,260,260,,,260,,,,,,,,,988,587,587,,,587,,,,,,260,,,587,587,260,587', '587,587,587,587,587,587,,,587,587,,,,587,587,587,587,,,,,,587,,,,,,', ',587,587,,587,587,587,587,587,587,587,587,587,587,587,,,587,,,,,,,,', ',743,743,,,743,,,,,,587,,,743,743,587,743,743,743,743,743,743,743,,', '743,743,,,,743,743,743,743,,,,,,743,,,,,,,,743,743,,743,743,743,743', '743,743,743,743,743,743,743,,,743,,,,,,,,,,586,586,,,586,,,,,,743,,', '586,586,743,586,586,586,586,586,586,586,,,586,586,,,,586,586,586,586', ',,,,,586,,,,,,,,586,586,,586,586,586,586,586,586,586,586,586,586,586', ',,586,,,,,,,,,,1004,1004,,,1004,,,,,,586,,,1004,1004,586,1004,1004,1004', '1004,1004,1004,1004,,,1004,1004,,,,1004,1004,1004,1004,,,,,,1004,,,', ',,,,1004,1004,,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004', ',,1004,,,,,,,,,,742,742,,,742,,,,,,1004,,,742,742,1004,742,742,742,742', '742,742,742,,,742,742,,,,742,742,742,742,,,,,,742,,,,,,,,742,742,,742', '742,742,742,742,742,742,742,742,742,742,,,742,,,,,,,,,,1005,1005,,,1005', ',,,,,742,,,1005,1005,742,1005,1005,1005,1005,1005,1005,1005,,,1005,1005', ',,,1005,1005,1005,1005,,,,,,1005,,,,,,,,1005,1005,,1005,1005,1005,1005', '1005,1005,1005,1005,1005,1005,1005,,,1005,,,,,,,,,,955,955,,,955,,,', ',,1005,,,955,955,1005,955,955,955,955,955,955,955,,,955,955,,,,955,955', '955,955,,,,,,955,,,,,,,,955,955,,955,955,955,955,955,955,955,955,955', '955,955,,,955,,,,,,,,,,451,451,,,451,,,,,,955,,,451,451,955,451,451', '451,451,451,451,451,,,451,451,,,,451,451,451,451,,,,,,451,,,,,,,,451', '451,,451,451,451,451,451,451,451,451,451,451,451,,,451,,,,,,,,,,450', '450,,,450,,,,,,451,,,450,450,451,450,450,450,450,450,450,450,,,450,450', ',,,450,450,450,450,,,,,,450,,,,,,,,450,450,,450,450,450,450,450,450', '450,450,450,450,450,,,450,,,,,,,,,,517,517,,,517,,,,,,450,,,517,517', '450,517,517,517,517,517,517,517,,,517,517,,,,517,517,517,517,,,,,,517', ',,,,,,,517,517,,517,517,517,517,517,517,517,517,517,517,517,,,517,,', ',,,,,,,529,529,,,529,,,,,,517,,,529,529,517,529,529,529,529,529,529', '529,,,529,529,,,,529,529,529,529,,,,,,529,,,,,,,,529,529,,529,529,529', '529,529,529,529,529,529,529,529,,,529,,,,,,,,,,212,212,,,212,,,,,,529', ',,212,212,529,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,,,,,,,,,,530,530,,,530,,,,,,212,,,530,530,212,530,530,530,530', '530,530,530,,,530,530,,,,530,530,530,530,,,,,,530,,,,,,,,530,530,,530', '530,530,530,530,530,530,530,530,530,530,,,530,,,,,,,,,,518,518,,,518', ',,,,,530,,,518,518,530,518,518,518,518,518,518,518,,,518,518,,,,518', '518,518,518,,,,,,518,,,,,,,,518,518,,518,518,518,518,518,518,518,518', '518,518,518,,909,518,909,909,909,909,909,599,,599,599,599,599,599,,', '909,,,,,518,,599,,881,518,881,881,881,881,881,,,,,,,909,,,881,,,,599', '599,909,909,909,909,,,,599,599,599,599,,,,,658,881,658,658,658,658,658', ',,,881,881,881,881,,,658,,,,884,909,884,884,884,884,884,,599,,,,,,,', '884,,658,752,,752,752,752,752,752,881,658,658,658,658,,,,,752,,,884', ',,,,,,,,884,884,884,884,,,,,658,,752,,,,,,658,,,752,752,752,752,,,,', ',,,,,,,,,884,,,,,,,,,,,,,,,,,,,752' ] racc_action_check = arr = ::Array.new(25629, nil) idx = 0 clist.each do |str| str.split(',', -1).each do |i| arr[idx] = i.to_i unless i.empty? idx += 1 end end racc_action_pointer = [ nil, 10, 5436, 1397, nil, 65, nil, nil, 16454, 1198, nil, 784, 922, 1284, nil, 1253, 1305, 964, 283, 1250, 741, nil, -72, 19990, 2696, 1362, nil, 590, nil, 154, 24168, 23976, 18222, 18086, 16590, nil, 3518, 15774, 11966, nil, 1207, 425, 415, 1279, 463, 9110, 7750, 7614, 1207, 1095, nil, nil, nil, nil, nil, nil, nil, nil, nil, 23461, nil, 6798, 6662, 5846, 73, nil, 5982, 6118, nil, nil, 6254, 6390, 1248, nil, 1612, nil, nil, nil, nil, nil, -64, nil, nil, nil, nil, nil, nil, 1200, 1199, 1198, 1194, 1060, nil, nil, nil, 390, nil, nil, 130, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 7886, nil, nil, nil, nil, 8022, 8158, 8294, 8430, 8566, 1211, nil, 236, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 1193, nil, 4614, 9246, 9382, 9518, 24236, 25185, 9926, 10062, 10198, 10334, 10470, 10606, nil, nil, 648, -40, 125, 1266, 294, 1180, 1232, nil, 11694, 4066, 1228, 12102, 12238, 12374, 12510, 12646, 12782, 12918, 13054, 13190, 13326, 13462, 13598, 13734, 13870, 14006, 14142, 14278, 14414, 14550, 14686, 14822, 14958, 15094, 15230, 15366, 15502, nil, nil, 24309, nil, nil, 1220, 15910, nil, 1226, nil, nil, nil, 16182, nil, nil, 16318, nil, 2970, nil, 1186, 1185, nil, 16862, 1223, 17134, nil, 17270, 17406, nil, nil, 186, nil, 1060, 17814, 1150, 3244, 1161, 1195, 1156, 18630, 5573, 437, 826, 1179, 1223, 1098, nil, 1171, 1134, -10, nil, nil, nil, 1169, 722, 1097, 20398, nil, 135, 1158, 1131, 1199, nil, 1130, nil, 21214, 2833, 728, nil, 1099, nil, 326, 457, 1091, 1072, nil, 506, 1093, nil, nil, 23685, 607, 19, -7, 23118, 23254, 325, 1162, 1029, 32, 26, 1097, 1102, 5, 1129, nil, nil, 22574, nil, 22302, 524, 226, 429, 337, 552, 588, 591, -53, 523, nil, 491, nil, nil, nil, nil, nil, 387, nil, 318, nil, 124, nil, 1029, 298, nil, 1026, 253, nil, 1000, -57, nil, 997, 117, nil, 383, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 2422, 1336, nil, nil, nil, nil, 1005, nil, 987, nil, 11830, 958, nil, 2011, 934, nil, nil, 930, 928, -81, 413, 23851, nil, nil, nil, 520, 645, 963, nil, nil, 23721, 23591, nil, 3929, nil, 904, nil, nil, 1737, nil, nil, nil, nil, 25, nil, 24966, 24893, 17950, 273, 18494, 18766, 19718, 5025, 5299, -46, 513, 976, 974, 948, 941, 775, 913, 676, 5436, 595, 4888, 4751, 4203, 4066, 4340, 4477, 5710, 4614, 664, 604, 5162, 5573, 2148, 153, 24101, nil, nil, nil, nil, nil, nil, 114, 247, 876, 874, nil, nil, 21622, nil, nil, 22982, nil, 6934, nil, nil, nil, nil, 22166, 922, 862, 856, nil, nil, 852, 22710, 850, 22438, 25039, 25331, 1041, 885, nil, nil, 23390, 821, nil, 21894, 21758, 21486, 25112, 25258, 3792, 20942, 915, 910, 780, nil, nil, 20534, nil, nil, 20262, nil, nil, nil, 61, 24065, nil, 721, 711, nil, 683, 644, 637, nil, nil, nil, nil, nil, nil, 615, nil, 517, nil, 19174, nil, nil, nil, 616, nil, nil, nil, 614, nil, nil, 606, 2970, 608, nil, 3107, 64, 37, 594, 573, nil, 16726, 24528, 24382, -7, nil, 359, 360, 0, nil, 961, nil, 10, 15638, nil, 25400, nil, 11422, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 160, nil, nil, 188, nil, nil, nil, 436, nil, nil, 428, nil, 434, nil, 1474, nil, 397, 11150, 11014, 403, 416, 10878, 10742, 9790, 9654, 379, nil, nil, nil, 8838, 8702, 345, nil, 7342, 7070, nil, 405, 308, 260, 0, 310, 1874, 268, nil, nil, 25455, nil, nil, 365, 71, 117, nil, nil, nil, nil, 223, nil, 233, 7478, nil, nil, 784, -105, 11286, 169, nil, 166, 151, 90, 194, 229, 1060, 181, 123, 19310, 2422, 165, 144, 56, 166, 19854, nil, nil, 438, nil, 2011, 1874, 50, 249, nil, nil, 710, 23555, nil, 23815, nil, 484, nil, 21350, nil, 585, nil, 3, 354, nil, -77, nil, nil, nil, nil, 748, nil, 24, nil, nil, nil, nil, 10, nil, 16046, 180, 150, 6, -4, 20, 22030, nil, 570, nil, 24674, 24455, 19582, nil, nil, nil, 62, 28, 3929, 4340, 25494, 251, 1198, -14, 925, 4888, nil, nil, nil, nil, nil, nil, nil, 295, 6526, 3107, 8974, nil, 353, nil, 3655, nil, 2833, nil, nil, 3244, nil, 2285, nil, 3518, 16998, 17542, 18358, 18902, 239, 19038, 548, 551, nil, 561, 576, 582, nil, 625, 615, 614, 607, 19446, nil, nil, 2559, nil, nil, nil, 5710, 2285, nil, nil, 709, 268, nil, nil, 838, nil, 2148, 733, 775, nil, nil, nil, 751, 861, 751, 755, nil, nil, nil, 767, 768, nil, 771, 773, nil, 774, nil, 779, 524, 786, 818, nil, 912, nil, 20670, 940, 4477, 4751, nil, 33, 57, 152, 230, 1198, nil, 875, 5025, 20806, nil, 609, 1013, 1025, 909, nil, nil, nil, nil, nil, nil, nil, nil, 925, 911, nil, 2559, 20126, 17678, 3381, 379, nil, nil, 25418, nil, nil, 25475, nil, 6978, nil, nil, 979, 790, 11558, 1062, 1066, 1113, 5299, 1021, 1139, nil, 5162, nil, nil, -11, 22846, nil, nil, nil, nil, nil, 25393, nil, 6842, nil, 6570, nil, 5890, nil, nil, nil, nil, 196, 859, 1058, nil, -10, nil, 1186, 1187, 21078, 1737, nil, nil, 1215, 571, nil, nil, nil, nil, 23940, nil, 1122, nil, nil, 1123, 1125, 1126, 1127, nil, 1129, nil, 299, nil, nil, nil, 1094, 24820, nil, nil, 1159, nil, nil, nil, 2696, 556, 578, 823, 1234, 316, nil, 1162, 1165, 1166, 1169, 1181, 956, 1184, 638, 3381, nil, nil, nil, 472, 3655, nil, nil, 3792, 4203, nil, 24298, nil, 6298, nil, 6162, nil, 6026, nil, nil, nil, 495, 1235, 1236, nil, 1320, 7206, 24601, 24747, 1099, 7386, nil, nil, nil, nil, 997, 1206, 724, nil, nil, nil, 1353, 1354, 1355, 1246, 1247, 1248, 1249, nil, nil, 1253, 34, 21, -8, 1061, 1265, 1266, nil, nil, nil, nil, 7114, nil, nil, nil, nil, 22, nil, 1269, nil ] racc_action_default = [ -1, -617, -616, -617, -2, -603, -4, -5, -617, -8, -9, -617, -617, -617, -29, -617, -617, -617, -281, -617, -41, -44, -605, -617, -49, -51, -52, -53, -58, -260, -260, -260, -293, -332, -333, -70, -616, -74, -82, -84, -617, -513, -514, -617, -617, -617, -617, -617, -605, -241, -272, -273, -274, -275, -276, -277, -278, -279, -280, -593, -283, -605, -616, -616, -301, -404, -617, -617, -306, -309, -603, -617, -317, -324, -617, -334, -335, -446, -447, -448, -449, -450, -451, -616, -454, -616, -616, -616, -616, -616, -616, -616, -491, -497, -498, -591, -502, -503, -592, -505, -506, -507, -508, -509, -510, -511, -512, -517, -518, 1047, -3, -604, -612, -613, -614, -7, -617, -617, -617, -617, -617, -617, -17, -617, -113, -114, -115, -116, -117, -118, -119, -120, -121, -125, -126, -127, -128, -129, -130, -131, -132, -133, -134, -135, -136, -137, -138, -139, -140, -141, -142, -143, -144, -145, -146, -147, -148, -149, -150, -151, -152, -153, -154, -155, -156, -157, -158, -159, -160, -161, -162, -163, -164, -165, -166, -167, -168, -169, -170, -171, -172, -173, -174, -175, -176, -177, -178, -179, -180, -181, -182, -183, -184, -185, -186, -187, -188, -189, -190, -191, -192, -193, -194, -195, -196, -22, -122, -616, -617, -617, -616, -617, -617, -617, -617, -617, -617, -617, -605, -606, -48, -617, -513, -514, -617, -281, -617, -617, -233, -617, -616, -617, -617, -617, -617, -617, -617, -617, -617, -617, -617, -617, -617, -617, -617, -617, -617, -617, -617, -617, -617, -617, -617, -617, -617, -617, -617, -617, -410, -413, -617, -601, -602, -59, -617, -300, -617, -427, -430, -65, -616, -424, -66, -605, -67, -242, -255, -616, -616, -259, -617, -265, -617, -586, -617, -617, -68, -69, -603, -13, -14, -617, -72, -616, -605, -617, -75, -78, -616, -90, -91, -617, -617, -98, -293, -296, -605, -417, -332, -333, -336, -425, -617, -80, -617, -86, -290, -499, -500, -617, -218, -219, -234, -617, -616, -286, -285, -617, -243, -609, -609, -617, -617, -584, -609, -617, -302, -303, -545, -50, -617, -617, -617, -617, -603, -617, -604, -513, -514, -617, -617, -281, -617, -357, -358, -617, -320, -617, -113, -114, -156, -157, -158, -174, -179, -186, -189, -327, -617, -513, -514, -581, -582, -452, -617, -475, -617, -477, -617, -479, -617, -617, -459, -617, -617, -465, -617, -617, -471, -617, -617, -473, -617, -490, -492, -493, -494, -495, -6, -615, -23, -24, -25, -26, -27, -616, -617, -19, -20, -21, -123, -617, -30, -39, -40, -617, -617, -31, -199, -605, -250, -251, -616, -616, -594, -595, -260, -422, -596, -597, -595, -594, -260, -421, -423, -596, -597, -37, -207, -38, -617, -42, -43, -197, -265, -45, -46, -47, -605, -299, -617, -617, -616, -290, -617, -617, -617, -208, -209, -210, -211, -212, -213, -214, -215, -220, -221, -222, -223, -224, -225, -226, -227, -228, -229, -230, -231, -232, -235, -236, -237, -238, -605, -616, -260, -594, -595, -55, -60, -261, -418, -616, -616, -605, -605, -295, -256, -617, -264, -257, -617, -262, -617, -266, -589, -590, -12, -604, -16, -605, -71, -288, -87, -76, -617, -605, -616, -617, -617, -97, -617, -499, -500, -617, -83, -88, -617, -617, -617, -617, -617, -239, -617, -438, -617, -605, -607, -244, -611, -610, -246, -611, -291, -292, -585, -617, -545, -407, -580, -580, -528, -530, -530, -530, -544, -546, -547, -548, -549, -550, -551, -552, -617, -554, -617, -560, -562, -563, -565, -570, -572, -573, -575, -576, -577, -617, -616, -348, -349, -616, -617, -617, -617, -617, -433, -616, -617, -617, -290, -314, -108, -109, -617, -111, -617, -281, -617, -617, -325, -545, -329, -617, -453, -476, -481, -482, -484, -455, -478, -456, -480, -457, -458, -617, -461, -463, -617, -464, -467, -468, -617, -469, -470, -617, -496, -617, -18, -617, -28, -271, -617, -617, -426, -617, -252, -254, -617, -617, -61, -248, -249, -419, -617, -617, -63, -420, -617, -617, -298, -594, -595, -594, -595, -605, -197, -617, -393, -394, -605, -396, -411, -54, -414, -616, -428, -431, -247, -294, -616, -263, -267, -617, -587, -588, -15, -73, -617, -79, -85, -605, -594, -595, -616, -94, -96, -617, -81, -617, -206, -216, -217, -605, -616, -616, -284, -287, -609, -405, -616, -616, -605, -617, -526, -527, -617, -617, -537, -617, -540, -617, -542, -617, -359, -617, -361, -363, -370, -551, -605, -556, -564, -574, -578, -616, -350, -616, -307, -351, -352, -310, -617, -313, -617, -605, -594, -595, -598, -289, -617, -108, -109, -110, -617, -617, -616, -318, -519, -520, -617, -321, -616, -616, -545, -617, -617, -605, -617, -616, -460, -462, -466, -472, -474, -10, -124, -269, -617, -200, -617, -608, -616, -33, -202, -34, -203, -62, -35, -205, -36, -204, -64, -198, -617, -617, -617, -617, -426, -617, -580, -580, -375, -616, -616, -616, -392, -617, -605, -398, -551, -617, -558, -568, -616, -416, -415, -56, -616, -616, -258, -268, -77, -92, -89, -297, -616, -355, -616, -439, -616, -440, -441, -245, -617, -617, -605, -580, -561, -579, -529, -530, -530, -555, -530, -530, -571, -530, -566, -605, -617, -368, -617, -553, -617, -353, -617, -617, -616, -616, -312, -617, -426, -617, -108, -109, -112, -605, -616, -617, -522, -617, -617, -617, -605, -524, -330, -583, -483, -486, -487, -488, -489, -617, -270, -32, -201, -253, -617, -240, -617, -373, -374, -383, -377, -385, -617, -388, -617, -390, -395, -617, -617, -617, -557, -617, -617, -616, -617, -617, -11, -616, -445, -356, -617, -617, -443, -408, -409, -406, -525, -617, -533, -617, -535, -617, -538, -617, -541, -543, -360, -362, -366, -617, -371, -304, -617, -305, -617, -617, -617, -616, -315, -426, -617, -617, -322, -326, -328, -523, -545, -485, -580, -559, -376, -616, -616, -616, -616, -569, -616, -397, -605, -400, -402, -403, -567, -617, -290, -412, -617, -429, -432, -444, -616, -99, -100, -617, -617, -107, -442, -530, -530, -530, -530, -364, -617, -369, -617, -616, -308, -311, -267, -616, -616, -319, -521, -616, -616, -372, -617, -380, -617, -382, -617, -386, -617, -389, -391, -399, -617, -289, -598, -57, -438, -616, -617, -617, -106, -617, -531, -534, -536, -539, -617, -367, -616, -434, -435, -436, -617, -617, -617, -616, -616, -616, -616, -401, -437, -605, -594, -595, -598, -105, -530, -365, -354, -316, -323, -331, -617, -378, -381, -384, -387, -426, -532, -616, -379 ] clist = [ '6,217,276,276,276,426,432,259,367,534,17,220,336,271,576,579,17,583', '692,127,127,499,442,130,130,394,414,323,9,554,326,221,439,296,9,488', '114,260,4,547,221,221,221,842,17,301,301,122,206,751,672,419,669,110', '484,669,295,132,132,831,328,333,313,294,814,524,310,310,792,221,951', '111,795,632,221,221,726,729,221,349,292,375,127,377,379,382,385,388', '391,377,718,672,340,341,922,834,344,845,741,127,310,114,263,269,272', '702,703,537,540,947,373,493,544,712,824,596,115,598,345,17,277,277,277', '919,221,221,221,221,17,376,355,953,278,278,278,392,856,9,274,286,287', '597,400,401,402,403,404,859,660,613,329,603,616,985,357,610,664,665', '614,750,599,614,330,334,754,938,499,738,406,847,343,794,354,205,898', '975,846,796,1025,342,276,535,324,368,950,672,663,449,745,669,669,545', '697,338,427,121,412,417,352,483,802,437,441,491,806,492,793,807,420', '1015,889,732,818,947,902,17,221,221,221,398,436,221,221,221,221,221', '221,411,1013,982,374,895,378,381,276,831,337,554,17,953,276,837,495', '276,426,432,332,700,854,490,295,384,387,830,730,832,390,866,756,757', '393,919,857,510,712,677,1033,839,420,831,371,2,221,829,686,498,498,662', '221,826,941,221,331,325,627,520,601,1,339,339,554,943,339,653,271,,416', '834,,17,,17,416,,,301,17,786,,,525,682,,295,,,,508,295,114,509,513,301', '682,,515,310,,805,,,,17,811,1034,,506,292,339,339,339,339,292,310,,879', '880,930,831,,221,221,277,1016,507,,,679,,,,277,,594,278,594,,,580,581', '489,,,278,,114,,,600,494,682,,908,,310,,310,850,986,712,759,712,582', '759,,,,,633,,,,,6,,,,,,640,775,808,,17,127,645,780,648,130,,498,498', '276,,639,672,733,810,,944,669,9,945,427,,860,861,445,446,447,448,625', '626,554,,,,,,,420,,132,862,442,,,969,,436,221,655,666,667,,,,640,,,', '973,712,,821,,,,675,,,656,639,,678,,276,1026,,656,656,,,,,,,987,,638', '427,,,,695,644,,,,931,525,819,427,808,420,17,,,,525,,,301,929,221,712', '436,712,,,,301,,674,,,1021,682,436,,221,932,,310,,,,,,,,,310,,,276,', '661,,,,,,712,339,339,,,,427,,,,,,,962,,,,,,,420,17,855,,17,,,,,,221', ',436,723,668,977,725,,,,,,221,,,,221,804,727,727,,,,,,,,,,,,771,773', ',746,,554,776,778,633,,441,127,,797,696,130,,,,803,221,221,,883,885', '887,221,221,,1017,221,,,,633,,813,656,,764,,640,498,,645,,1019,1020', '525,132,,,,,,797,639,1043,,812,301,,,841,864,,815,820,,,,301,,,789,706', '708,710,,,,310,17,17,,,,,633,,276,,310,,822,823,,815,,815,865,,427,', ',,,,,,770,,,,,,,825,420,,,,221,,,,436,,221,,691,,873,,17,17,,,127,,851', '17,,,498,,,,,,,797,221,871,,858,,416,,,863,,,,,882,882,882,,907,,,,', '682,989,991,993,995,,996,,918,892,,,17,,900,,17,17,904,,,749,849,,894', '755,17,,896,897,310,,,937,,,633,,901,,,,,29,,,1027,,,29,,,,,221,,17', '17,,16,,,,,29,16,17,221,926,927,,,924,29,29,29,,29,,1039,1040,1041,1042', ',727,933,,790,,,,,934,16,,,,,,,,954,29,1046,,17,,29,29,17,,29,,965,', ',,958,,42,940,961,310,789,,42,789,,789,,827,997,,827,310,,,,,17,,,,882', '882,882,882,,882,791,,981,29,42,300,300,,29,29,29,29,29,339,,,436,984', ',16,,,,17,,,276,,16,,910,912,815,914,916,1002,917,,17,348,427,,370,17', ',,17,17,,833,1014,835,,,420,1018,,,,633,,,,,221,815,436,,,,,,882,882', '882,882,,,,42,,789,,789,,789,,789,42,,,,,,,,882,,,29,29,29,29,,,29,29', '29,29,29,29,,,,,16,,,,339,,,29,,,,,,,,,789,339,,,,,,16,,,,,,,,,,,,,', ',,,,29,,827,,,790,29,,790,29,790,,,,1008,1009,1010,1011,,42,,,,,,,,29', ',29,,,,,29,,,,,,,,42,16,,16,,,,,16,,,,,,,,,,29,,,,,,,,,,946,,948,,,', '16,1044,29,29,,,,,,,,,,,,,,,,970,,971,,972,,,,42,,42,,,,300,42,41,790', ',790,,790,41,790,,,,,,,,300,,,,,,,,,,42,,,,,29,,,,41,299,299,,,,,,,', ',,16,,,,,790,,,,,370,,370,,,,,1022,,1023,,1024,,347,,,369,,,,,29,,,', ',1032,,,,,,,,,,,,,,,,335,,,,,,,,42,,,41,,,,1045,,,,,41,,,,,,18,,,,,', '18,,29,,,,,,,,,29,,,,,,,16,,,,,,,,,29,18,303,303,,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,351,,,,,,,,29,,,29,41,,,42,,29,,,,,300,,16,,,16,,29,,300', ',29,,41,,,,,18,,,,,,,,,18,413,,,,,,444,,,,,,,,,,,,29,29,,,,,29,29,,', '29,,,,,,42,,,42,,,,,,,,,41,,41,,,,299,41,,,,,,,,,,,,,,,,299,,,501,,503', ',504,505,,41,29,29,,,,,18,,,,,,,,,,16,16,,,,,,,,,,,,18,369,,369,,,,', ',,,29,,,,,,29,,,,,,29,29,300,,,,,29,,,,,,300,,,16,16,29,,,,,16,42,42', ',,41,,,,,,,,,,18,,18,,,,303,18,,,,,,,29,,,,29,29,,,,303,,,,,29,,16,', ',18,16,16,19,629,42,42,,,19,,16,42,,,,,,,,,,,29,,29,29,,,,,595,,595', ',29,29,19,,,,16,16,,,,,,,,,16,,,370,,,42,,41,,42,42,,,,299,,,,,42,353', ',29,299,,,29,,,18,,,,,670,,,335,16,673,,,16,,,,,,,42,42,,,,,,29,,,42', '19,,,,,,,,,19,,,16,,,670,41,,335,41,,,,,,,,,,29,,,,,370,,,,42,,,719', '42,,29,16,964,,,29,,,29,29,,,,,,,16,,,,,16,,,16,16,29,18,42,,,,,,303', ',,,,,,,,303,,,,,,,,,19,,,,,,,440,,42,,765,,,,670,335,,,,299,,,19,42', ',,,,42,,299,42,42,,,,,,,,,41,41,18,,,18,,,,,809,,,,,,,,,,,,,,,,,,,,', ',817,,,,,,,,,,19,,19,,,,,19,836,,41,41,,,,,,41,,,,,,,,,,,,444,,,,19', ',,,,,,,,,,,,,,,,,,,,,,,,,369,303,,41,872,,,41,41,,,,303,,,,,41,,,,,', '18,18,,,,,,,,,,,,,,,,,,,,,,,41,41,,,,,,,19,,41,,,,,,,,,,,,,,,,,,18,18', ',,,,870,18,,,,,,,,,,369,,,,41,,,,41,,,,963,,,,,,,,,335,,,,,,,,,,,595', ',,18,,,41,18,18,,,,,,,,,18,,,,,,,,,,,,,,,,19,,,,,,41,,,980,,,,,18,18', ',,,,,41,,,18,,41,,,41,41,,,,,,,,,,,,,,,,,,,,,228,,,,,,,,595,275,275', '275,18,,,,18,,19,,967,19,320,321,322,,,,,,,,,,,,,,,275,275,,,,,,18,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,18,,,,,,,,,440,,,,,,18,,,,,18,,,18,18', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,19,19,,,,,,,,,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,275,418,275,,,438,443,19,19,,,,,,19,,,,,,,228,,,457', '458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474', '475,476,477,478,479,480,481,482,,,,,,,275,,,19,,,275,19,19,275,,,,,', ',275,19,275,,275,275,,,,,,,,,,,,,,,,,,,,,,,,,,19,19,,,,,,,,,19,,531', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,19,,,,19,,,,968,,,,,,,,,,,,,,,,', ',,,,,,,,,19,,,,,,,,,,,,,,,,,,,,,275,,,,,,,,,,,,19,,,,,,,,,,,,,,,19,', ',,,19,,,19,19,275,,438,654,418,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,', ',,,275,,,275,,275,,,,,,,,,,,,,,275,,,,,,,,,,688,689,690,,,,,,,,,,275', ',,275,,,,,,,,,,,,,,,,,,,,,,,275,,,,,,,,,,,,,,,,,,,,,275,,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,275,767,,,275,275,772,774,,,,,777,779', ',,654,781,,,,,,,,,,,,,,,,,,,,,,,,275,,,,,,,,,,,,,,,,,,,,,,275,,,,,,', ',,,,,,,,,,,275,,,,,,,,,,,,,,,,,,,,,275,,,,,,,,,,,,275,,,,,,,,,,,,,,', ',,,,,,,275,,874,,,,,,,,,,,,,,772,774,779,777,,877,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,', ',275,874,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,275,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,', ',,275' ] racc_goto_table = arr = ::Array.new(3200, nil) idx = 0 clist.each do |str| str.split(',', -1).each do |i| arr[idx] = i.to_i unless i.empty? idx += 1 end end clist = [ '6,33,35,35,35,39,39,150,59,10,24,22,86,71,89,89,24,92,13,60,60,73,20', '63,63,59,29,33,9,180,50,24,29,52,9,41,95,38,2,149,24,24,24,90,24,24', '24,17,17,96,193,25,74,5,39,74,12,64,64,184,6,6,53,49,14,54,66,66,139', '24,144,8,142,26,24,24,91,91,24,24,48,6,60,6,6,6,6,6,6,6,129,193,19,19', '130,188,19,14,57,60,66,95,40,40,40,134,134,69,69,189,165,25,69,128,142', '58,7,58,5,24,68,68,68,127,24,24,24,24,24,167,106,145,70,70,70,167,107', '9,47,47,47,108,19,19,19,19,9,109,42,170,68,171,170,110,111,171,42,42', '171,112,113,171,70,70,114,115,73,104,32,103,102,131,21,18,15,130,101', '137,144,100,35,99,98,97,143,193,44,50,94,74,74,146,147,148,71,11,22', '22,93,151,152,22,22,155,156,157,140,158,6,159,142,160,161,189,162,24', '24,24,24,7,60,24,24,24,24,24,24,12,130,105,166,45,168,169,35,184,88', '180,24,145,35,129,50,35,39,39,85,149,57,71,12,172,173,140,92,140,174', '175,176,177,178,127,179,50,128,54,130,128,6,184,84,3,24,183,54,6,6,72', '24,185,186,24,67,31,65,33,192,1,31,31,180,139,31,25,71,,68,188,,24,', '24,68,,,24,24,26,,,52,39,,12,,,,9,12,95,49,53,24,39,,49,66,,42,,,,24', '26,90,,5,48,31,31,31,31,48,66,,134,134,91,184,,24,24,68,14,8,,,25,,', ',68,,24,70,24,,,19,19,47,,,70,,95,,,38,47,39,,134,,66,,66,26,96,128', '171,128,5,171,,,,,33,,,,,6,,,,,,71,41,73,,24,60,71,41,50,63,,6,6,35', ',6,193,25,54,,140,74,9,140,71,,10,10,31,31,31,31,2,17,180,,,,,,,6,,64', '149,20,,,140,,60,24,33,50,50,,,,71,,,,128,128,,69,,,,50,,,6,6,,50,,35', '13,,6,6,,,,,,,134,,40,71,,,,50,40,,,,26,52,29,71,73,6,24,,,,52,,,24', '89,24,128,60,128,,,,24,,9,,,140,39,60,,24,10,,66,,,,,,,,,66,,,35,,40', ',,,,,128,31,31,,,,71,,,,,,,89,,,,,,,6,24,25,,24,,,,,,24,,60,12,70,89', '12,,,,,,24,,,,24,86,95,95,,,,,,,,,,,,22,22,,95,,180,22,22,33,,22,60', ',33,70,63,,,,150,24,24,,136,136,136,24,24,,92,24,,,,33,,50,6,,17,,71', '6,,71,,10,10,52,64,,,,,,33,6,26,,52,24,,,50,59,,6,6,,,,24,,,133,182', '182,182,,,,66,24,24,,,,,33,,35,,66,,12,12,,6,,6,50,,71,,,,,,,,70,,,', ',,,133,6,,,,24,,,,60,,24,,31,,22,,24,24,,,60,,19,24,,,6,,,,,,,33,24', '12,,95,,68,,,95,,,,,6,6,6,,50,,,,,39,136,136,136,136,,136,,50,24,,,24', ',6,,24,24,6,,,31,68,,12,31,24,,12,12,66,,,50,,,33,,12,,,,,43,,,25,,', '43,,,,,24,,24,24,,23,,,,,43,23,24,24,12,12,,,19,43,43,43,,43,,136,136', '136,136,,95,19,,135,,,,,95,23,,,,,,,,24,43,136,,24,,43,43,24,,43,,24', ',,,12,,56,133,12,66,133,,56,133,,133,,135,33,,135,66,,,,,24,,,,6,6,6', '6,,6,138,,12,43,56,56,56,,43,43,43,43,43,31,,,60,95,,23,,,,24,,,35,', '23,,182,182,6,182,182,12,182,,24,56,71,,56,24,,,24,24,,138,12,138,,', '6,12,,,,33,,,,,24,6,60,,,,,,6,6,6,6,,,,56,,133,,133,,133,,133,56,,,', ',,,,6,,,43,43,43,43,,,43,43,43,43,43,43,,,,,23,,,,31,,,43,,,,,,,,,133', '31,,,,,,23,,,,,,,,,,,,,,,,,,43,,135,,,135,43,,135,43,135,,,,182,182', '182,182,,56,,,,,,,,43,,43,,,,,43,,,,,,,,56,23,,23,,,,,23,,,,,,,,,,43', ',,,,,,,,,138,,138,,,,23,182,43,43,,,,,,,,,,,,,,,,138,,138,,138,,,,56', ',56,,,,56,56,55,135,,135,,135,55,135,,,,,,,,56,,,,,,,,,,56,,,,,43,,', ',55,55,55,,,,,,,,,,23,,,,,135,,,,,56,,56,,,,,138,,138,,138,,55,,,55', ',,,,43,,,,,138,,,,,,,,,,,,,,,,30,,,,,,,,56,,,55,,,,138,,,,,55,,,,,,27', ',,,,,27,,43,,,,,,,,,43,,,,,,,23,,,,,,,,,43,27,27,27,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,,,27,,,,,,,,43,,,43,55,,,56,,43,,,,,56,,23,,,23,,43,,56', ',43,,55,,,,,27,,,,,,,,,27,30,,,,,,30,,,,,,,,,,,,43,43,,,,,43,43,,,43', ',,,,,56,,,56,,,,,,,,,55,,55,,,,55,55,,,,,,,,,,,,,,,,55,,,30,,30,,30', '30,,55,43,43,,,,,27,,,,,,,,,,23,23,,,,,,,,,,,,27,55,,55,,,,,,,,43,,', ',,,43,,,,,,43,43,56,,,,,43,,,,,,56,,,23,23,43,,,,,23,56,56,,,55,,,,', ',,,,,27,,27,,,,27,27,,,,,,,43,,,,43,43,,,,27,,,,,43,,23,,,27,23,23,28', '30,56,56,,,28,,23,56,,,,,,,,,,,43,,43,43,,,,,27,,27,,43,43,28,,,,23', '23,,,,,,,,,23,,,56,,,56,,55,,56,56,,,,55,,,,,56,28,,43,55,,,43,,,27', ',,,,30,,,30,23,30,,,23,,,,,,,56,56,,,,,,43,,,56,28,,,,,,,,,28,,,23,', ',30,55,,30,55,,,,,,,,,,43,,,,,56,,,,56,,,30,56,,43,23,56,,,43,,,43,43', ',,,,,,23,,,,,23,,,23,23,43,27,56,,,,,,27,,,,,,,,,27,,,,,,,,,28,,,,,', ',28,,56,,30,,,,30,30,,,,55,,,28,56,,,,,56,,55,56,56,,,,,,,,,55,55,27', ',,27,,,,,30,,,,,,,,,,,,,,,,,,,,,,30,,,,,,,,,,28,,28,,,,,28,30,,55,55', ',,,,,55,,,,,,,,,,,,30,,,,28,,,,,,,,,,,,,,,,,,,,,,,,,,55,27,,55,30,,', '55,55,,,,27,,,,,55,,,,,,27,27,,,,,,,,,,,,,,,,,,,,,,,55,55,,,,,,,28,', '55,,,,,,,,,,,,,,,,,,27,27,,,,,27,27,,,,,,,,,,55,,,,55,,,,55,,,,55,,', ',,,,,,30,,,,,,,,,,,27,,,27,,,55,27,27,,,,,,,,,27,,,,,,,,,,,,,,,,28,', ',,,,55,,,30,,,,,27,27,,,,,,55,,,27,,55,,,55,55,,,,,,,,,,,,,,,,,,,,,34', ',,,,,,,27,34,34,34,27,,,,27,,28,,27,28,34,34,34,,,,,,,,,,,,,,,34,34', ',,,,,27,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,27,,,,,,,,,28,,,,,,27,,,,,27', ',,27,27,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,28,28,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,34,34,34,,,34,34,28,28,,,,,,28,,,,,,,34,,,34', '34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34', '34,34,,,,,,,34,,,28,,,34,28,28,34,,,,,,,34,28,34,,34,34,,,,,,,,,,,,', ',,,,,,,,,,,,,28,28,,,,,,,,,28,,34,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,', ',,28,,,,28,,,,28,,,,,,,,,,,,,,,,,,,,,,,,,,28,,,,,,,,,,,,,,,,,,,,,34', ',,,,,,,,,,,28,,,,,,,,,,,,,,,28,,,,,28,,,28,28,34,,34,34,34,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,34,,,34,,34,,,,,,,,,,,,,,34,,,,,,,,,', '34,34,34,,,,,,,,,,34,,,34,,,,,,,,,,,,,,,,,,,,,,,34,,,,,,,,,,,,,,,,,', ',,,34,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,34,34,,,34,34,34,34', ',,,,34,34,,,34,34,,,,,,,,,,,,,,,,,,,,,,,,34,,,,,,,,,,,,,,,,,,,,,,34', ',,,,,,,,,,,,,,,,,34,,,,,,,,,,,,,,,,,,,,,34,,,,,,,,,,,,34,,,,,,,,,,,', ',,,,,,,,,,34,,34,,,,,,,,,,,,,,34,34,34,34,,34,,,,,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,34', '34,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,34,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,34' ] racc_goto_check = arr = ::Array.new(3200, nil) idx = 0 clist.each do |str| str.split(',', -1).each do |i| arr[idx] = i.to_i unless i.empty? idx += 1 end end racc_goto_pointer = [ nil, 287, 36, 271, nil, 48, -2, 108, 66, 26, -315, 185, 20, -515, -628, -640, nil, 36, 161, 26, -192, 101, -12, 855, 8, -159, -346, 1336, 1661, -182, 1249, 222, 46, -21, 2196, -30, nil, nil, 10, -206, 73, -228, -335, 839, -301, -574, nil, 106, 44, 27, -31, nil, -4, 24, -249, 1212, 915, -494, -240, -66, 8, nil, nil, 12, 46, -126, 29, 220, 88, -222, 100, -17, -207, -257, -445, nil, nil, nil, nil, nil, nil, nil, nil, nil, 196, 183, -52, nil, 171, -326, -680, -504, -328, 127, -408, 31, -550, 109, 122, -144, 111, -550, 101, -560, -422, -701, 58, -609, -215, -602, -781, 81, -439, -207, -436, -699, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, -715, -449, -472, -746, -487, nil, 40, -443, 227, -144, -481, 289, -590, -452, nil, -586, -706, -820, -759, -147, -353, 128, -299, -18, -59, -460, nil, nil, -64, -460, -63, -458, -772, -373, -481, -604, nil, nil, 30, 147, 44, 146, 146, -232, -223, 163, 163, 166, -499, -347, -347, 169, -485, -309, nil, 148, -432, -646, -422, -598, nil, -612, -775, nil, nil, -86, -450 ] racc_goto_default = [ nil, nil, nil, nil, 5, nil, 289, 7, 346, 290, nil, nil, 533, nil, 843, nil, 288, nil, nil, nil, 14, 15, 21, 227, 319, nil, nil, 225, 226, nil, 281, 20, nil, 327, 24, 25, 26, 27, nil, 685, nil, nil, nil, 307, nil, nil, 28, 421, 35, nil, nil, 37, 40, 39, nil, 222, 223, 593, nil, 129, 429, 128, 131, 78, 79, nil, 49, nil, 422, nil, 423, 434, 641, 496, 279, 264, 50, 51, 52, 53, 54, 55, 56, 57, 58, nil, 265, 64, nil, nil, nil, nil, nil, nil, nil, 577, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 714, 561, nil, 715, 942, 788, 549, nil, 550, nil, nil, 551, nil, 553, 657, nil, nil, nil, 559, nil, nil, nil, 753, nil, nil, nil, 433, 266, nil, nil, nil, nil, nil, nil, nil, nil, 77, 80, 82, nil, nil, nil, nil, nil, 608, nil, nil, nil, nil, nil, nil, nil, nil, 828, 548, nil, 552, 563, 565, 800, 568, 569, 801, 572, 575, nil, 283 ] racc_reduce_table = [ 0, 0, :racc_error, 0, 145, :_reduce_1, 2, 143, :_reduce_2, 2, 144, :_reduce_3, 1, 146, :_reduce_none, 1, 146, :_reduce_none, 3, 146, :_reduce_6, 2, 146, :_reduce_none, 1, 149, :_reduce_8, 0, 153, :_reduce_9, 5, 149, :_reduce_10, 4, 152, :_reduce_11, 2, 154, :_reduce_12, 1, 158, :_reduce_none, 1, 158, :_reduce_none, 3, 158, :_reduce_15, 2, 158, :_reduce_16, 0, 174, :_reduce_17, 4, 151, :_reduce_18, 3, 151, :_reduce_19, 3, 151, :_reduce_20, 3, 151, :_reduce_21, 2, 151, :_reduce_22, 3, 151, :_reduce_23, 3, 151, :_reduce_24, 3, 151, :_reduce_25, 3, 151, :_reduce_26, 3, 151, :_reduce_27, 4, 151, :_reduce_28, 1, 151, :_reduce_none, 3, 151, :_reduce_30, 3, 151, :_reduce_31, 6, 151, :_reduce_32, 5, 151, :_reduce_33, 5, 151, :_reduce_34, 5, 151, :_reduce_35, 5, 151, :_reduce_36, 3, 151, :_reduce_37, 3, 151, :_reduce_38, 3, 151, :_reduce_39, 3, 151, :_reduce_40, 1, 151, :_reduce_none, 3, 162, :_reduce_42, 3, 162, :_reduce_43, 1, 173, :_reduce_none, 3, 173, :_reduce_45, 3, 173, :_reduce_46, 3, 173, :_reduce_47, 2, 173, :_reduce_48, 1, 173, :_reduce_none, 1, 161, :_reduce_50, 1, 164, :_reduce_none, 1, 164, :_reduce_none, 1, 178, :_reduce_none, 4, 178, :_reduce_54, 0, 186, :_reduce_55, 0, 187, :_reduce_56, 6, 183, :_reduce_57, 1, 185, :_reduce_58, 2, 177, :_reduce_59, 3, 177, :_reduce_60, 4, 177, :_reduce_61, 5, 177, :_reduce_62, 4, 177, :_reduce_63, 5, 177, :_reduce_64, 2, 177, :_reduce_65, 2, 177, :_reduce_66, 2, 177, :_reduce_67, 2, 177, :_reduce_68, 2, 177, :_reduce_69, 1, 163, :_reduce_none, 3, 163, :_reduce_71, 1, 191, :_reduce_none, 3, 191, :_reduce_73, 1, 190, :_reduce_74, 2, 190, :_reduce_75, 3, 190, :_reduce_76, 5, 190, :_reduce_77, 2, 190, :_reduce_78, 4, 190, :_reduce_79, 2, 190, :_reduce_80, 4, 190, :_reduce_81, 1, 190, :_reduce_82, 3, 190, :_reduce_83, 1, 194, :_reduce_none, 3, 194, :_reduce_85, 2, 193, :_reduce_86, 3, 193, :_reduce_87, 1, 196, :_reduce_88, 3, 196, :_reduce_89, 1, 195, :_reduce_90, 1, 195, :_reduce_91, 4, 195, :_reduce_92, 3, 195, :_reduce_93, 3, 195, :_reduce_94, 3, 195, :_reduce_95, 3, 195, :_reduce_96, 2, 195, :_reduce_97, 1, 195, :_reduce_98, 1, 170, :_reduce_99, 1, 170, :_reduce_100, 4, 170, :_reduce_101, 3, 170, :_reduce_102, 3, 170, :_reduce_103, 3, 170, :_reduce_104, 3, 170, :_reduce_105, 2, 170, :_reduce_106, 1, 170, :_reduce_107, 1, 199, :_reduce_108, 1, 199, :_reduce_none, 2, 200, :_reduce_110, 1, 200, :_reduce_111, 3, 200, :_reduce_112, 1, 201, :_reduce_none, 1, 201, :_reduce_none, 1, 201, :_reduce_none, 1, 201, :_reduce_116, 1, 201, :_reduce_117, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 159, :_reduce_120, 1, 159, :_reduce_none, 1, 160, :_reduce_122, 0, 207, :_reduce_123, 4, 160, :_reduce_124, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 1, 203, :_reduce_none, 3, 176, :_reduce_197, 5, 176, :_reduce_198, 3, 176, :_reduce_199, 5, 176, :_reduce_200, 6, 176, :_reduce_201, 5, 176, :_reduce_202, 5, 176, :_reduce_203, 5, 176, :_reduce_204, 5, 176, :_reduce_205, 4, 176, :_reduce_206, 3, 176, :_reduce_207, 3, 176, :_reduce_208, 3, 176, :_reduce_209, 3, 176, :_reduce_210, 3, 176, :_reduce_211, 3, 176, :_reduce_212, 3, 176, :_reduce_213, 3, 176, :_reduce_214, 3, 176, :_reduce_215, 4, 176, :_reduce_216, 4, 176, :_reduce_217, 2, 176, :_reduce_218, 2, 176, :_reduce_219, 3, 176, :_reduce_220, 3, 176, :_reduce_221, 3, 176, :_reduce_222, 3, 176, :_reduce_223, 3, 176, :_reduce_224, 3, 176, :_reduce_225, 3, 176, :_reduce_226, 3, 176, :_reduce_227, 3, 176, :_reduce_228, 3, 176, :_reduce_229, 3, 176, :_reduce_230, 3, 176, :_reduce_231, 3, 176, :_reduce_232, 2, 176, :_reduce_233, 2, 176, :_reduce_234, 3, 176, :_reduce_235, 3, 176, :_reduce_236, 3, 176, :_reduce_237, 3, 176, :_reduce_238, 3, 176, :_reduce_239, 6, 176, :_reduce_240, 1, 176, :_reduce_none, 1, 172, :_reduce_242, 1, 209, :_reduce_none, 2, 209, :_reduce_244, 4, 209, :_reduce_245, 2, 209, :_reduce_246, 3, 213, :_reduce_247, 1, 214, :_reduce_none, 1, 214, :_reduce_none, 1, 167, :_reduce_250, 1, 167, :_reduce_251, 2, 167, :_reduce_252, 4, 167, :_reduce_253, 2, 167, :_reduce_254, 1, 189, :_reduce_255, 2, 189, :_reduce_256, 2, 189, :_reduce_257, 4, 189, :_reduce_258, 1, 189, :_reduce_259, 0, 217, :_reduce_260, 2, 182, :_reduce_261, 2, 216, :_reduce_262, 2, 215, :_reduce_263, 1, 215, :_reduce_none, 1, 210, :_reduce_265, 2, 210, :_reduce_266, 3, 210, :_reduce_267, 4, 210, :_reduce_268, 3, 171, :_reduce_269, 4, 171, :_reduce_270, 2, 171, :_reduce_271, 1, 208, :_reduce_none, 1, 208, :_reduce_none, 1, 208, :_reduce_none, 1, 208, :_reduce_none, 1, 208, :_reduce_none, 1, 208, :_reduce_none, 1, 208, :_reduce_none, 1, 208, :_reduce_none, 1, 208, :_reduce_none, 1, 208, :_reduce_none, 1, 208, :_reduce_282, 0, 240, :_reduce_283, 4, 208, :_reduce_284, 2, 208, :_reduce_285, 0, 241, :_reduce_286, 4, 208, :_reduce_287, 3, 208, :_reduce_288, 3, 208, :_reduce_289, 2, 208, :_reduce_290, 3, 208, :_reduce_291, 3, 208, :_reduce_292, 1, 208, :_reduce_293, 4, 208, :_reduce_294, 3, 208, :_reduce_295, 1, 208, :_reduce_296, 5, 208, :_reduce_297, 4, 208, :_reduce_298, 3, 208, :_reduce_299, 2, 208, :_reduce_300, 1, 208, :_reduce_none, 2, 208, :_reduce_302, 2, 208, :_reduce_303, 6, 208, :_reduce_304, 6, 208, :_reduce_305, 0, 242, :_reduce_306, 0, 243, :_reduce_307, 7, 208, :_reduce_308, 0, 244, :_reduce_309, 0, 245, :_reduce_310, 7, 208, :_reduce_311, 5, 208, :_reduce_312, 4, 208, :_reduce_313, 0, 246, :_reduce_314, 0, 247, :_reduce_315, 9, 208, :_reduce_316, 0, 248, :_reduce_317, 0, 249, :_reduce_318, 7, 208, :_reduce_319, 0, 250, :_reduce_320, 0, 251, :_reduce_321, 0, 252, :_reduce_322, 9, 208, :_reduce_323, 0, 253, :_reduce_324, 0, 254, :_reduce_325, 6, 208, :_reduce_326, 0, 255, :_reduce_327, 6, 208, :_reduce_328, 0, 256, :_reduce_329, 0, 257, :_reduce_330, 9, 208, :_reduce_331, 1, 208, :_reduce_332, 1, 208, :_reduce_333, 1, 208, :_reduce_334, 1, 208, :_reduce_335, 1, 166, :_reduce_336, 1, 258, :_reduce_none, 1, 259, :_reduce_none, 1, 260, :_reduce_none, 1, 261, :_reduce_none, 1, 262, :_reduce_none, 1, 263, :_reduce_none, 1, 264, :_reduce_none, 1, 265, :_reduce_none, 1, 266, :_reduce_none, 1, 267, :_reduce_none, 1, 268, :_reduce_none, 1, 231, :_reduce_none, 1, 231, :_reduce_none, 2, 231, :_reduce_none, 1, 233, :_reduce_none, 1, 233, :_reduce_none, 1, 232, :_reduce_none, 5, 232, :_reduce_354, 1, 156, :_reduce_none, 2, 156, :_reduce_356, 1, 235, :_reduce_none, 1, 235, :_reduce_358, 1, 269, :_reduce_none, 3, 269, :_reduce_360, 1, 272, :_reduce_361, 3, 272, :_reduce_362, 1, 271, :_reduce_363, 4, 271, :_reduce_364, 6, 271, :_reduce_365, 3, 271, :_reduce_366, 5, 271, :_reduce_367, 2, 271, :_reduce_368, 4, 271, :_reduce_369, 1, 271, :_reduce_370, 3, 271, :_reduce_371, 4, 273, :_reduce_372, 2, 273, :_reduce_373, 2, 273, :_reduce_374, 1, 273, :_reduce_375, 2, 278, :_reduce_376, 1, 278, :_reduce_none, 6, 279, :_reduce_378, 8, 279, :_reduce_379, 4, 279, :_reduce_380, 6, 279, :_reduce_381, 4, 279, :_reduce_382, 2, 279, :_reduce_383, 6, 279, :_reduce_384, 2, 279, :_reduce_385, 4, 279, :_reduce_386, 6, 279, :_reduce_387, 2, 279, :_reduce_388, 4, 279, :_reduce_389, 2, 279, :_reduce_390, 4, 279, :_reduce_391, 1, 279, :_reduce_392, 1, 184, :_reduce_393, 1, 184, :_reduce_none, 3, 283, :_reduce_395, 1, 283, :_reduce_396, 4, 283, :_reduce_397, 1, 284, :_reduce_none, 4, 284, :_reduce_399, 1, 285, :_reduce_400, 3, 285, :_reduce_401, 1, 286, :_reduce_402, 1, 286, :_reduce_none, 0, 290, :_reduce_404, 3, 230, :_reduce_405, 4, 288, :_reduce_406, 1, 288, :_reduce_407, 3, 289, :_reduce_408, 3, 289, :_reduce_409, 0, 293, :_reduce_410, 0, 294, :_reduce_411, 6, 292, :_reduce_412, 2, 179, :_reduce_413, 4, 179, :_reduce_414, 5, 179, :_reduce_415, 5, 179, :_reduce_416, 0, 296, :_reduce_417, 3, 229, :_reduce_418, 4, 229, :_reduce_419, 4, 229, :_reduce_420, 3, 229, :_reduce_421, 3, 229, :_reduce_422, 3, 229, :_reduce_423, 2, 229, :_reduce_424, 1, 229, :_reduce_425, 4, 229, :_reduce_426, 0, 297, :_reduce_427, 0, 298, :_reduce_428, 6, 228, :_reduce_429, 0, 299, :_reduce_430, 0, 300, :_reduce_431, 6, 228, :_reduce_432, 0, 302, :_reduce_433, 6, 234, :_reduce_434, 1, 301, :_reduce_none, 1, 301, :_reduce_none, 6, 155, :_reduce_437, 0, 155, :_reduce_438, 1, 303, :_reduce_439, 1, 303, :_reduce_none, 1, 303, :_reduce_none, 2, 304, :_reduce_442, 1, 304, :_reduce_none, 2, 157, :_reduce_444, 1, 157, :_reduce_none, 1, 218, :_reduce_446, 1, 218, :_reduce_447, 1, 218, :_reduce_none, 1, 219, :_reduce_449, 1, 306, :_reduce_450, 1, 306, :_reduce_none, 2, 306, :_reduce_452, 3, 307, :_reduce_453, 1, 307, :_reduce_454, 3, 220, :_reduce_455, 3, 221, :_reduce_456, 3, 222, :_reduce_457, 3, 222, :_reduce_458, 1, 311, :_reduce_459, 3, 311, :_reduce_460, 1, 312, :_reduce_none, 2, 312, :_reduce_462, 3, 224, :_reduce_463, 3, 224, :_reduce_464, 1, 314, :_reduce_465, 3, 314, :_reduce_466, 3, 223, :_reduce_467, 3, 223, :_reduce_468, 3, 225, :_reduce_469, 3, 225, :_reduce_470, 1, 315, :_reduce_471, 3, 315, :_reduce_472, 1, 316, :_reduce_473, 3, 316, :_reduce_474, 1, 308, :_reduce_475, 2, 308, :_reduce_476, 1, 309, :_reduce_477, 2, 309, :_reduce_478, 1, 310, :_reduce_479, 2, 310, :_reduce_480, 1, 313, :_reduce_481, 0, 318, :_reduce_482, 3, 313, :_reduce_483, 0, 319, :_reduce_484, 4, 313, :_reduce_485, 1, 317, :_reduce_486, 1, 317, :_reduce_487, 1, 317, :_reduce_488, 1, 317, :_reduce_none, 2, 205, :_reduce_490, 1, 205, :_reduce_491, 1, 320, :_reduce_none, 1, 320, :_reduce_none, 1, 320, :_reduce_none, 1, 320, :_reduce_none, 3, 206, :_reduce_496, 1, 305, :_reduce_none, 1, 305, :_reduce_none, 2, 305, :_reduce_499, 2, 305, :_reduce_500, 1, 197, :_reduce_none, 1, 197, :_reduce_none, 1, 197, :_reduce_none, 1, 197, :_reduce_none, 1, 197, :_reduce_none, 1, 198, :_reduce_506, 1, 198, :_reduce_507, 1, 198, :_reduce_508, 1, 198, :_reduce_509, 1, 198, :_reduce_510, 1, 198, :_reduce_511, 1, 198, :_reduce_512, 1, 226, :_reduce_513, 1, 226, :_reduce_514, 1, 165, :_reduce_515, 1, 165, :_reduce_516, 1, 169, :_reduce_517, 1, 169, :_reduce_518, 1, 236, :_reduce_519, 0, 321, :_reduce_520, 4, 236, :_reduce_521, 2, 236, :_reduce_522, 3, 238, :_reduce_523, 2, 238, :_reduce_524, 4, 322, :_reduce_525, 2, 322, :_reduce_526, 2, 322, :_reduce_527, 1, 322, :_reduce_none, 2, 324, :_reduce_529, 0, 324, :_reduce_530, 6, 291, :_reduce_531, 8, 291, :_reduce_532, 4, 291, :_reduce_533, 6, 291, :_reduce_534, 4, 291, :_reduce_535, 6, 291, :_reduce_536, 2, 291, :_reduce_537, 4, 291, :_reduce_538, 6, 291, :_reduce_539, 2, 291, :_reduce_540, 4, 291, :_reduce_541, 2, 291, :_reduce_542, 4, 291, :_reduce_543, 1, 291, :_reduce_544, 0, 291, :_reduce_545, 1, 287, :_reduce_546, 1, 287, :_reduce_547, 1, 287, :_reduce_548, 1, 287, :_reduce_549, 1, 270, :_reduce_none, 1, 270, :_reduce_551, 1, 326, :_reduce_none, 3, 326, :_reduce_553, 1, 280, :_reduce_554, 3, 280, :_reduce_555, 2, 327, :_reduce_556, 2, 328, :_reduce_557, 1, 274, :_reduce_none, 3, 274, :_reduce_559, 1, 323, :_reduce_none, 3, 323, :_reduce_561, 1, 329, :_reduce_none, 1, 329, :_reduce_none, 2, 275, :_reduce_564, 1, 275, :_reduce_565, 3, 330, :_reduce_566, 3, 331, :_reduce_567, 1, 281, :_reduce_568, 3, 281, :_reduce_569, 1, 325, :_reduce_570, 3, 325, :_reduce_571, 1, 332, :_reduce_none, 1, 332, :_reduce_none, 2, 282, :_reduce_574, 1, 282, :_reduce_575, 1, 333, :_reduce_none, 1, 333, :_reduce_none, 2, 277, :_reduce_578, 2, 276, :_reduce_579, 0, 276, :_reduce_580, 1, 239, :_reduce_none, 0, 334, :_reduce_582, 4, 239, :_reduce_583, 1, 227, :_reduce_584, 2, 227, :_reduce_585, 1, 212, :_reduce_none, 3, 212, :_reduce_587, 3, 335, :_reduce_588, 2, 335, :_reduce_589, 2, 335, :_reduce_590, 1, 188, :_reduce_none, 1, 188, :_reduce_none, 1, 188, :_reduce_none, 1, 181, :_reduce_none, 1, 181, :_reduce_none, 1, 181, :_reduce_none, 1, 181, :_reduce_none, 1, 295, :_reduce_none, 1, 295, :_reduce_none, 1, 295, :_reduce_none, 1, 180, :_reduce_none, 1, 180, :_reduce_none, 0, 147, :_reduce_none, 1, 147, :_reduce_none, 0, 175, :_reduce_none, 1, 175, :_reduce_none, 2, 192, :_reduce_none, 2, 168, :_reduce_none, 0, 211, :_reduce_none, 1, 211, :_reduce_none, 1, 211, :_reduce_none, 1, 237, :_reduce_612, 1, 237, :_reduce_none, 1, 150, :_reduce_none, 2, 150, :_reduce_615, 0, 148, :_reduce_616 ] racc_reduce_n = 617 racc_shift_n = 1047 racc_token_table = { false => 0, :error => 1, :kCLASS => 2, :kMODULE => 3, :kDEF => 4, :kUNDEF => 5, :kBEGIN => 6, :kRESCUE => 7, :kENSURE => 8, :kEND => 9, :kIF => 10, :kUNLESS => 11, :kTHEN => 12, :kELSIF => 13, :kELSE => 14, :kCASE => 15, :kWHEN => 16, :kWHILE => 17, :kUNTIL => 18, :kFOR => 19, :kBREAK => 20, :kNEXT => 21, :kREDO => 22, :kRETRY => 23, :kIN => 24, :kDO => 25, :kDO_COND => 26, :kDO_BLOCK => 27, :kDO_LAMBDA => 28, :kRETURN => 29, :kYIELD => 30, :kSUPER => 31, :kSELF => 32, :kNIL => 33, :kTRUE => 34, :kFALSE => 35, :kAND => 36, :kOR => 37, :kNOT => 38, :kIF_MOD => 39, :kUNLESS_MOD => 40, :kWHILE_MOD => 41, :kUNTIL_MOD => 42, :kRESCUE_MOD => 43, :kALIAS => 44, :kDEFINED => 45, :klBEGIN => 46, :klEND => 47, :k__LINE__ => 48, :k__FILE__ => 49, :k__ENCODING__ => 50, :tIDENTIFIER => 51, :tFID => 52, :tGVAR => 53, :tIVAR => 54, :tCONSTANT => 55, :tLABEL => 56, :tCVAR => 57, :tNTH_REF => 58, :tBACK_REF => 59, :tSTRING_CONTENT => 60, :tINTEGER => 61, :tFLOAT => 62, :tREGEXP_END => 63, :tUPLUS => 64, :tUMINUS => 65, :tUMINUS_NUM => 66, :tPOW => 67, :tCMP => 68, :tEQ => 69, :tEQQ => 70, :tNEQ => 71, :tGEQ => 72, :tLEQ => 73, :tANDOP => 74, :tOROP => 75, :tMATCH => 76, :tNMATCH => 77, :tDOT => 78, :tDOT2 => 79, :tDOT3 => 80, :tAREF => 81, :tASET => 82, :tLSHFT => 83, :tRSHFT => 84, :tCOLON2 => 85, :tCOLON3 => 86, :tOP_ASGN => 87, :tASSOC => 88, :tLPAREN => 89, :tLPAREN2 => 90, :tRPAREN => 91, :tLPAREN_ARG => 92, :tLBRACK => 93, :tLBRACK2 => 94, :tRBRACK => 95, :tLBRACE => 96, :tLBRACE_ARG => 97, :tSTAR => 98, :tSTAR2 => 99, :tAMPER => 100, :tAMPER2 => 101, :tTILDE => 102, :tPERCENT => 103, :tDIVIDE => 104, :tPLUS => 105, :tMINUS => 106, :tLT => 107, :tGT => 108, :tPIPE => 109, :tBANG => 110, :tCARET => 111, :tLCURLY => 112, :tRCURLY => 113, :tBACK_REF2 => 114, :tSYMBEG => 115, :tSTRING_BEG => 116, :tXSTRING_BEG => 117, :tREGEXP_BEG => 118, :tWORDS_BEG => 119, :tQWORDS_BEG => 120, :tSTRING_DBEG => 121, :tSTRING_DVAR => 122, :tSTRING_END => 123, :tSTRING => 124, :tSYMBOL => 125, :tNL => 126, :tEH => 127, :tCOLON => 128, :tCOMMA => 129, :tSPACE => 130, :tSEMI => 131, :tLAMBDA => 132, :tLAMBEG => 133, :tDSTAR => 134, :tCHAR => 135, :tSYMBOLS_BEG => 136, :tQSYMBOLS_BEG => 137, :tSTRING_DEND => 138, :tUBANG => 139, :tEQL => 140, :tLOWEST => 141 } racc_nt_base = 142 racc_use_result_var = true Racc_arg = [ racc_action_table, racc_action_check, racc_action_default, racc_action_pointer, racc_goto_table, racc_goto_check, racc_goto_default, racc_goto_pointer, racc_nt_base, racc_reduce_table, racc_token_table, racc_shift_n, racc_reduce_n, racc_use_result_var ] Racc_token_to_s_table = [ "$end", "error", "kCLASS", "kMODULE", "kDEF", "kUNDEF", "kBEGIN", "kRESCUE", "kENSURE", "kEND", "kIF", "kUNLESS", "kTHEN", "kELSIF", "kELSE", "kCASE", "kWHEN", "kWHILE", "kUNTIL", "kFOR", "kBREAK", "kNEXT", "kREDO", "kRETRY", "kIN", "kDO", "kDO_COND", "kDO_BLOCK", "kDO_LAMBDA", "kRETURN", "kYIELD", "kSUPER", "kSELF", "kNIL", "kTRUE", "kFALSE", "kAND", "kOR", "kNOT", "kIF_MOD", "kUNLESS_MOD", "kWHILE_MOD", "kUNTIL_MOD", "kRESCUE_MOD", "kALIAS", "kDEFINED", "klBEGIN", "klEND", "k__LINE__", "k__FILE__", "k__ENCODING__", "tIDENTIFIER", "tFID", "tGVAR", "tIVAR", "tCONSTANT", "tLABEL", "tCVAR", "tNTH_REF", "tBACK_REF", "tSTRING_CONTENT", "tINTEGER", "tFLOAT", "tREGEXP_END", "tUPLUS", "tUMINUS", "tUMINUS_NUM", "tPOW", "tCMP", "tEQ", "tEQQ", "tNEQ", "tGEQ", "tLEQ", "tANDOP", "tOROP", "tMATCH", "tNMATCH", "tDOT", "tDOT2", "tDOT3", "tAREF", "tASET", "tLSHFT", "tRSHFT", "tCOLON2", "tCOLON3", "tOP_ASGN", "tASSOC", "tLPAREN", "tLPAREN2", "tRPAREN", "tLPAREN_ARG", "tLBRACK", "tLBRACK2", "tRBRACK", "tLBRACE", "tLBRACE_ARG", "tSTAR", "tSTAR2", "tAMPER", "tAMPER2", "tTILDE", "tPERCENT", "tDIVIDE", "tPLUS", "tMINUS", "tLT", "tGT", "tPIPE", "tBANG", "tCARET", "tLCURLY", "tRCURLY", "tBACK_REF2", "tSYMBEG", "tSTRING_BEG", "tXSTRING_BEG", "tREGEXP_BEG", "tWORDS_BEG", "tQWORDS_BEG", "tSTRING_DBEG", "tSTRING_DVAR", "tSTRING_END", "tSTRING", "tSYMBOL", "tNL", "tEH", "tCOLON", "tCOMMA", "tSPACE", "tSEMI", "tLAMBDA", "tLAMBEG", "tDSTAR", "tCHAR", "tSYMBOLS_BEG", "tQSYMBOLS_BEG", "tSTRING_DEND", "tUBANG", "tEQL", "tLOWEST", "$start", "program", "top_compstmt", "@1", "top_stmts", "opt_terms", "none", "top_stmt", "terms", "stmt", "bodystmt", "@2", "compstmt", "opt_rescue", "opt_else", "opt_ensure", "stmts", "fitem", "undef_list", "expr_value", "command_asgn", "mlhs", "command_call", "var_lhs", "primary_value", "opt_call_args", "rbracket", "backref", "lhs", "mrhs", "arg_value", "expr", "@3", "opt_nl", "arg", "command", "block_command", "block_call", "dot_or_colon", "operation2", "command_args", "cmd_brace_block", "opt_block_param", "fcall", "@4", "@5", "operation", "call_args", "mlhs_basic", "mlhs_inner", "rparen", "mlhs_head", "mlhs_item", "mlhs_node", "mlhs_post", "user_variable", "keyword_variable", "cname", "cpath", "fname", "op", "reswords", "fsym", "symbol", "dsym", "@6", "primary", "aref_args", "args", "trailer", "assocs", "paren_args", "opt_paren_args", "opt_block_arg", "block_arg", "@7", "literal", "strings", "xstring", "regexp", "words", "qwords", "symbols", "qsymbols", "var_ref", "assoc_list", "brace_block", "method_call", "lambda", "then", "if_tail", "do", "case_body", "for_var", "superclass", "term", "f_arglist", "singleton", "@8", "@9", "@10", "@11", "@12", "@13", "@14", "@15", "@16", "@17", "@18", "@19", "@20", "@21", "@22", "@23", "@24", "@25", "k_begin", "k_if", "k_unless", "k_while", "k_until", "k_case", "k_for", "k_class", "k_module", "k_def", "k_end", "f_marg", "f_norm_arg", "f_margs", "f_marg_list", "block_args_tail", "f_block_kwarg", "f_kwrest", "opt_f_block_arg", "f_block_arg", "opt_block_args_tail", "block_param", "f_arg", "f_block_optarg", "f_rest_arg", "block_param_def", "opt_bv_decl", "bv_decls", "bvar", "f_bad_arg", "f_larglist", "lambda_body", "@26", "f_args", "do_block", "@27", "@28", "operation3", "@29", "@30", "@31", "@32", "@33", "cases", "@34", "exc_list", "exc_var", "numeric", "string", "string1", "string_contents", "xstring_contents", "regexp_contents", "word_list", "word", "string_content", "symbol_list", "qword_list", "qsym_list", "string_dvar", "@35", "@36", "sym", "@37", "args_tail", "f_kwarg", "opt_args_tail", "f_optarg", "f_arg_item", "f_kw", "f_block_kw", "kwrest_mark", "f_opt", "f_block_opt", "restarg_mark", "blkarg_mark", "@38", "assoc" ] Racc_debug_parser = false ##### State transition tables end ##### # reduce 0 omitted def _reduce_1(val, _values, result) self.lexer.lex_state = :expr_beg result end def _reduce_2(val, _values, result) result = new_compstmt val result end def _reduce_3(val, _values, result) result = val[0] result end # reduce 4 omitted # reduce 5 omitted def _reduce_6(val, _values, result) result = self.block_append val[0], val[2] result end # reduce 7 omitted def _reduce_8(val, _values, result) result = val[0] # TODO: remove once I have more confidence this is fixed # result.each_of_type :call_args do |s| # debug20 666, s, result # end result end def _reduce_9(val, _values, result) if (self.in_def || self.in_single > 0) then debug20 1 yyerror "BEGIN in method" end self.env.extend result end def _reduce_10(val, _values, result) result = new_iter s(:preexe), nil, val[3] result end def _reduce_11(val, _values, result) result = new_body val result end def _reduce_12(val, _values, result) result = new_compstmt val result end # reduce 13 omitted # reduce 14 omitted def _reduce_15(val, _values, result) result = self.block_append val[0], val[2] result end def _reduce_16(val, _values, result) result = val[1] debug20 2, val, result result end def _reduce_17(val, _values, result) lexer.lex_state = :expr_fname result = self.lexer.lineno result end def _reduce_18(val, _values, result) result = s(:alias, val[1], val[3]).line(val[2]) result end def _reduce_19(val, _values, result) result = s(:valias, val[1].to_sym, val[2].to_sym) result end def _reduce_20(val, _values, result) result = s(:valias, val[1].to_sym, :"$#{val[2]}") result end def _reduce_21(val, _values, result) yyerror "can't make alias for the number variables" result end def _reduce_22(val, _values, result) result = val[1] result end def _reduce_23(val, _values, result) result = new_if val[2], val[0], nil result end def _reduce_24(val, _values, result) result = new_if val[2], nil, val[0] result end def _reduce_25(val, _values, result) result = new_while val[0], val[2], true result end def _reduce_26(val, _values, result) result = new_until val[0], val[2], true result end def _reduce_27(val, _values, result) result = s(:rescue, val[0], new_resbody(s(:array), val[2])) result end def _reduce_28(val, _values, result) if (self.in_def || self.in_single > 0) then debug20 3 yyerror "END in method; use at_exit" end result = new_iter s(:postexe), 0, val[2] result end # reduce 29 omitted def _reduce_30(val, _values, result) result = new_masgn val[0], val[2], :wrap result end def _reduce_31(val, _values, result) result = new_op_asgn val result end def _reduce_32(val, _values, result) result = s(:op_asgn1, val[0], val[2], val[4].to_sym, val[5]) result end def _reduce_33(val, _values, result) result = s(:op_asgn, val[0], val[4], val[2].to_sym, val[3].to_sym) result end def _reduce_34(val, _values, result) result = s(:op_asgn, val[0], val[4], val[2].to_sym, val[3].to_sym) result end def _reduce_35(val, _values, result) result = s(:op_asgn, val[0], val[4], val[2], val[3]) debug20 4, val, result result end def _reduce_36(val, _values, result) result = s(:op_asgn, val[0], val[4], val[2], val[3]) debug20 5, val, result result end def _reduce_37(val, _values, result) self.backref_assign_error val[0] result end def _reduce_38(val, _values, result) result = self.node_assign val[0], s(:svalue, val[2]) result end def _reduce_39(val, _values, result) result = new_masgn val[0], val[2], :wrap result end def _reduce_40(val, _values, result) result = new_masgn val[0], val[2] result end # reduce 41 omitted def _reduce_42(val, _values, result) result = self.node_assign val[0], val[2] result end def _reduce_43(val, _values, result) result = self.node_assign val[0], val[2] result end # reduce 44 omitted def _reduce_45(val, _values, result) result = logop(:and, val[0], val[2]) result end def _reduce_46(val, _values, result) result = logop(:or, val[0], val[2]) result end def _reduce_47(val, _values, result) result = s(:call, val[2], :"!") result end def _reduce_48(val, _values, result) result = s(:call, val[1], :"!") result end # reduce 49 omitted def _reduce_50(val, _values, result) result = value_expr(val[0]) result end # reduce 51 omitted # reduce 52 omitted # reduce 53 omitted def _reduce_54(val, _values, result) result = new_call val[0], val[2].to_sym, val[3] result end def _reduce_55(val, _values, result) self.env.extend(:dynamic) result = self.lexer.lineno result end def _reduce_56(val, _values, result) result = nil # self.env.dynamic.keys result end def _reduce_57(val, _values, result) result = new_iter nil, val[2], val[4] result.line = val[1] self.env.unextend result end def _reduce_58(val, _values, result) result = new_call nil, val[0].to_sym result end def _reduce_59(val, _values, result) result = val[0].concat val[1][1..-1] # REFACTOR pattern result end def _reduce_60(val, _values, result) result = val[0].concat val[1][1..-1] if val[2] then block_dup_check result, val[2] result, operation = val[2], result result.insert 1, operation end result end def _reduce_61(val, _values, result) result = new_call val[0], val[2].to_sym, val[3] result end def _reduce_62(val, _values, result) recv, _, msg, args, block = val call = new_call recv, msg.to_sym, args block_dup_check call, block block.insert 1, call result = block result end def _reduce_63(val, _values, result) result = new_call val[0], val[2].to_sym, val[3] result end def _reduce_64(val, _values, result) recv, _, msg, args, block = val call = new_call recv, msg.to_sym, args block_dup_check call, block block.insert 1, call result = block result end def _reduce_65(val, _values, result) result = new_super val[1] result end def _reduce_66(val, _values, result) result = new_yield val[1] result end def _reduce_67(val, _values, result) line = val[0].last result = s(:return, ret_args(val[1])).line(line) result end def _reduce_68(val, _values, result) line = val[0].last result = s(:break, ret_args(val[1])).line(line) result end def _reduce_69(val, _values, result) line = val[0].last result = s(:next, ret_args(val[1])).line(line) result end # reduce 70 omitted def _reduce_71(val, _values, result) result = val[1] result end # reduce 72 omitted def _reduce_73(val, _values, result) result = s(:masgn, s(:array, val[1])) result end def _reduce_74(val, _values, result) result = s(:masgn, val[0]) result end def _reduce_75(val, _values, result) result = s(:masgn, val[0] << val[1].compact) result end def _reduce_76(val, _values, result) result = s(:masgn, val[0] << s(:splat, val[2])) result end def _reduce_77(val, _values, result) ary1, _, splat, _, ary2 = val result = list_append ary1, s(:splat, splat) result.concat ary2[1..-1] result = s(:masgn, result) result end def _reduce_78(val, _values, result) result = s(:masgn, val[0] << s(:splat)) result end def _reduce_79(val, _values, result) ary = list_append val[0], s(:splat) ary.concat val[3][1..-1] result = s(:masgn, ary) result end def _reduce_80(val, _values, result) result = s(:masgn, s(:array, s(:splat, val[1]))) result end def _reduce_81(val, _values, result) ary = s(:array, s(:splat, val[1])) ary.concat val[3][1..-1] result = s(:masgn, ary) result end def _reduce_82(val, _values, result) result = s(:masgn, s(:array, s(:splat))) result end def _reduce_83(val, _values, result) result = s(:masgn, s(:array, s(:splat), *val[2][1..-1])) result end # reduce 84 omitted def _reduce_85(val, _values, result) result = val[1] result end def _reduce_86(val, _values, result) result = s(:array, val[0]) result end def _reduce_87(val, _values, result) result = val[0] << val[1].compact result end def _reduce_88(val, _values, result) result = s(:array, val[0]) result end def _reduce_89(val, _values, result) result = list_append val[0], val[2] result end def _reduce_90(val, _values, result) result = self.assignable val[0] result end def _reduce_91(val, _values, result) result = self.assignable val[0] result end def _reduce_92(val, _values, result) result = self.aryset val[0], val[2] result end def _reduce_93(val, _values, result) result = s(:attrasgn, val[0], :"#{val[2]}=") result end def _reduce_94(val, _values, result) result = s(:attrasgn, val[0], :"#{val[2]}=") result end def _reduce_95(val, _values, result) result = s(:attrasgn, val[0], :"#{val[2]}=") result end def _reduce_96(val, _values, result) if (self.in_def || self.in_single > 0) then debug20 7 yyerror "dynamic constant assignment" end result = s(:const, s(:colon2, val[0], val[2].to_sym), nil) result end def _reduce_97(val, _values, result) if (self.in_def || self.in_single > 0) then debug20 8 yyerror "dynamic constant assignment" end result = s(:const, nil, s(:colon3, val[1].to_sym)) result end def _reduce_98(val, _values, result) self.backref_assign_error val[0] result end def _reduce_99(val, _values, result) result = self.assignable val[0] result end def _reduce_100(val, _values, result) result = self.assignable val[0] debug20 9, val, result result end def _reduce_101(val, _values, result) result = self.aryset val[0], val[2] result end def _reduce_102(val, _values, result) result = s(:attrasgn, val[0], :"#{val[2]}=") result end def _reduce_103(val, _values, result) result = s(:attrasgn, val[0], :"#{val[2]}=") result end def _reduce_104(val, _values, result) result = s(:attrasgn, val[0], :"#{val[2]}=") result end def _reduce_105(val, _values, result) if (self.in_def || self.in_single > 0) then debug20 10 yyerror "dynamic constant assignment" end result = s(:const, s(:colon2, val[0], val[2].to_sym)) result end def _reduce_106(val, _values, result) if (self.in_def || self.in_single > 0) then debug20 11 yyerror "dynamic constant assignment" end result = s(:const, s(:colon3, val[1].to_sym)) result end def _reduce_107(val, _values, result) self.backref_assign_error val[0] result end def _reduce_108(val, _values, result) yyerror "class/module name must be CONSTANT" result end # reduce 109 omitted def _reduce_110(val, _values, result) result = s(:colon3, val[1].to_sym) result end def _reduce_111(val, _values, result) result = val[0].to_sym result end def _reduce_112(val, _values, result) result = s(:colon2, val[0], val[2].to_sym) result end # reduce 113 omitted # reduce 114 omitted # reduce 115 omitted def _reduce_116(val, _values, result) lexer.lex_state = :expr_end result = val[0] result end def _reduce_117(val, _values, result) lexer.lex_state = :expr_end result = val[0] result end # reduce 118 omitted # reduce 119 omitted def _reduce_120(val, _values, result) result = s(:lit, val[0].to_sym) result end # reduce 121 omitted def _reduce_122(val, _values, result) result = new_undef val[0] result end def _reduce_123(val, _values, result) lexer.lex_state = :expr_fname result end def _reduce_124(val, _values, result) result = new_undef val[0], val[3] result end # reduce 125 omitted # reduce 126 omitted # reduce 127 omitted # reduce 128 omitted # reduce 129 omitted # reduce 130 omitted # reduce 131 omitted # reduce 132 omitted # reduce 133 omitted # reduce 134 omitted # reduce 135 omitted # reduce 136 omitted # reduce 137 omitted # reduce 138 omitted # reduce 139 omitted # reduce 140 omitted # reduce 141 omitted # reduce 142 omitted # reduce 143 omitted # reduce 144 omitted # reduce 145 omitted # reduce 146 omitted # reduce 147 omitted # reduce 148 omitted # reduce 149 omitted # reduce 150 omitted # reduce 151 omitted # reduce 152 omitted # reduce 153 omitted # reduce 154 omitted # reduce 155 omitted # reduce 156 omitted # reduce 157 omitted # reduce 158 omitted # reduce 159 omitted # reduce 160 omitted # reduce 161 omitted # reduce 162 omitted # reduce 163 omitted # reduce 164 omitted # reduce 165 omitted # reduce 166 omitted # reduce 167 omitted # reduce 168 omitted # reduce 169 omitted # reduce 170 omitted # reduce 171 omitted # reduce 172 omitted # reduce 173 omitted # reduce 174 omitted # reduce 175 omitted # reduce 176 omitted # reduce 177 omitted # reduce 178 omitted # reduce 179 omitted # reduce 180 omitted # reduce 181 omitted # reduce 182 omitted # reduce 183 omitted # reduce 184 omitted # reduce 185 omitted # reduce 186 omitted # reduce 187 omitted # reduce 188 omitted # reduce 189 omitted # reduce 190 omitted # reduce 191 omitted # reduce 192 omitted # reduce 193 omitted # reduce 194 omitted # reduce 195 omitted # reduce 196 omitted def _reduce_197(val, _values, result) result = self.node_assign val[0], val[2] result end def _reduce_198(val, _values, result) result = self.node_assign val[0], s(:rescue, val[2], new_resbody(s(:array), val[4])) result end def _reduce_199(val, _values, result) result = new_op_asgn val result end def _reduce_200(val, _values, result) result = new_op_asgn val result = s(:rescue, result, new_resbody(s(:array), val[4])) result end def _reduce_201(val, _values, result) val[2][0] = :arglist if val[2] result = s(:op_asgn1, val[0], val[2], val[4].to_sym, val[5]) result end def _reduce_202(val, _values, result) result = s(:op_asgn2, val[0], :"#{val[2]}=", val[3].to_sym, val[4]) result end def _reduce_203(val, _values, result) result = s(:op_asgn2, val[0], :"#{val[2]}=", val[3].to_sym, val[4]) result end def _reduce_204(val, _values, result) result = s(:op_asgn, val[0], val[4], val[2].to_sym, val[3].to_sym) result end def _reduce_205(val, _values, result) yyerror "constant re-assignment" result end def _reduce_206(val, _values, result) yyerror "constant re-assignment" result end def _reduce_207(val, _values, result) self.backref_assign_error val[0] result end def _reduce_208(val, _values, result) v1, v2 = val[0], val[2] if v1.node_type == :lit and v2.node_type == :lit and Fixnum === v1.last and Fixnum === v2.last then result = s(:lit, (v1.last)..(v2.last)) else result = s(:dot2, v1, v2) end result end def _reduce_209(val, _values, result) v1, v2 = val[0], val[2] if v1.node_type == :lit and v2.node_type == :lit and Fixnum === v1.last and Fixnum === v2.last then result = s(:lit, (v1.last)...(v2.last)) else result = s(:dot3, v1, v2) end result end def _reduce_210(val, _values, result) result = new_call val[0], :+, argl(val[2]) result end def _reduce_211(val, _values, result) result = new_call val[0], :-, argl(val[2]) result end def _reduce_212(val, _values, result) result = new_call val[0], :*, argl(val[2]) result end def _reduce_213(val, _values, result) result = new_call val[0], :"/", argl(val[2]) result end def _reduce_214(val, _values, result) result = new_call val[0], :"%", argl(val[2]) result end def _reduce_215(val, _values, result) result = new_call val[0], :**, argl(val[2]) result end def _reduce_216(val, _values, result) result = new_call(new_call(s(:lit, val[1]), :"**", argl(val[3])), :"-@") result end def _reduce_217(val, _values, result) result = new_call(new_call(s(:lit, val[1]), :"**", argl(val[3])), :"-@") ## TODO: why is this 2.0 only? debug20 12, val, result result end def _reduce_218(val, _values, result) result = new_call val[1], :"+@" result end def _reduce_219(val, _values, result) result = new_call val[1], :"-@" result end def _reduce_220(val, _values, result) result = new_call val[0], :"|", argl(val[2]) result end def _reduce_221(val, _values, result) result = new_call val[0], :"^", argl(val[2]) result end def _reduce_222(val, _values, result) result = new_call val[0], :"&", argl(val[2]) result end def _reduce_223(val, _values, result) result = new_call val[0], :"<=>", argl(val[2]) result end def _reduce_224(val, _values, result) result = new_call val[0], :">", argl(val[2]) result end def _reduce_225(val, _values, result) result = new_call val[0], :">=", argl(val[2]) result end def _reduce_226(val, _values, result) result = new_call val[0], :"<", argl(val[2]) result end def _reduce_227(val, _values, result) result = new_call val[0], :"<=", argl(val[2]) result end def _reduce_228(val, _values, result) result = new_call val[0], :"==", argl(val[2]) result end def _reduce_229(val, _values, result) result = new_call val[0], :"===", argl(val[2]) result end def _reduce_230(val, _values, result) result = new_call val[0], :"!=", argl(val[2]) result end def _reduce_231(val, _values, result) result = self.get_match_node val[0], val[2] result end def _reduce_232(val, _values, result) result = s(:not, self.get_match_node(val[0], val[2])) result end def _reduce_233(val, _values, result) result = new_call val[1], :"!" result end def _reduce_234(val, _values, result) result = new_call value_expr(val[1]), :"~" result end def _reduce_235(val, _values, result) val[0] = value_expr val[0] val[2] = value_expr val[2] result = new_call val[0], :"\<\<", argl(val[2]) result end def _reduce_236(val, _values, result) val[0] = value_expr val[0] val[2] = value_expr val[2] result = new_call val[0], :">>", argl(val[2]) result end def _reduce_237(val, _values, result) result = logop(:and, val[0], val[2]) result end def _reduce_238(val, _values, result) result = logop(:or, val[0], val[2]) result end def _reduce_239(val, _values, result) result = s(:defined, val[2]) result end def _reduce_240(val, _values, result) result = s(:if, val[0], val[2], val[5]) result end # reduce 241 omitted def _reduce_242(val, _values, result) result = value_expr(val[0]) result end # reduce 243 omitted def _reduce_244(val, _values, result) result = args [val[0]] result end def _reduce_245(val, _values, result) result = args [val[0], array_to_hash(val[2])] result end def _reduce_246(val, _values, result) result = args [array_to_hash(val[0])] result end def _reduce_247(val, _values, result) result = val[1] result end # reduce 248 omitted # reduce 249 omitted def _reduce_250(val, _values, result) result = val[0] result end def _reduce_251(val, _values, result) result = val[0] result end def _reduce_252(val, _values, result) result = args val result end def _reduce_253(val, _values, result) result = args [val[0], array_to_hash(val[2])] result end def _reduce_254(val, _values, result) result = args [array_to_hash(val[0])] result end def _reduce_255(val, _values, result) warning "parenthesize argument(s) for future version" result = call_args val result end def _reduce_256(val, _values, result) result = call_args val result = self.arg_blk_pass val[0], val[1] result end def _reduce_257(val, _values, result) result = call_args [array_to_hash(val[0])] result = self.arg_blk_pass result, val[1] result end def _reduce_258(val, _values, result) result = call_args [val[0], array_to_hash(val[2])] result = self.arg_blk_pass result, val[3] result end def _reduce_259(val, _values, result) result = call_args val result end def _reduce_260(val, _values, result) result = lexer.cmdarg.stack.dup # TODO: smell? lexer.cmdarg.push true result end def _reduce_261(val, _values, result) lexer.cmdarg.stack.replace val[0] result = val[1] result end def _reduce_262(val, _values, result) result = s(:block_pass, val[1]) result end def _reduce_263(val, _values, result) result = val[1] result end # reduce 264 omitted def _reduce_265(val, _values, result) result = s(:array, val[0]) result end def _reduce_266(val, _values, result) result = s(:array, s(:splat, val[1])) result end def _reduce_267(val, _values, result) result = self.list_append val[0], val[2] result end def _reduce_268(val, _values, result) result = self.list_append val[0], s(:splat, val[3]) result end def _reduce_269(val, _values, result) result = val[0] << val[2] result end def _reduce_270(val, _values, result) result = self.arg_concat val[0], val[3] result end def _reduce_271(val, _values, result) result = s(:splat, val[1]) result end # reduce 272 omitted # reduce 273 omitted # reduce 274 omitted # reduce 275 omitted # reduce 276 omitted # reduce 277 omitted # reduce 278 omitted # reduce 279 omitted # reduce 280 omitted # reduce 281 omitted def _reduce_282(val, _values, result) result = new_call nil, val[0].to_sym result end def _reduce_283(val, _values, result) result = self.lexer.lineno result end def _reduce_284(val, _values, result) unless val[2] then result = s(:nil) else result = s(:begin, val[2]) end result.line = val[1] result end def _reduce_285(val, _values, result) debug20 13, val, result result end def _reduce_286(val, _values, result) lexer.lex_state = :expr_endarg result end def _reduce_287(val, _values, result) warning "(...) interpreted as grouped expression" result = val[1] result end def _reduce_288(val, _values, result) result = val[1] || s(:nil) result.paren = true result end def _reduce_289(val, _values, result) result = s(:colon2, val[0], val[2].to_sym) result end def _reduce_290(val, _values, result) result = s(:colon3, val[1].to_sym) result end def _reduce_291(val, _values, result) result = val[1] || s(:array) result[0] = :array # aref_args is :args result end def _reduce_292(val, _values, result) result = s(:hash, *val[1].values) # TODO: array_to_hash? result end def _reduce_293(val, _values, result) result = s(:return) result end def _reduce_294(val, _values, result) result = new_yield val[2] result end def _reduce_295(val, _values, result) result = new_yield result end def _reduce_296(val, _values, result) result = new_yield result end def _reduce_297(val, _values, result) result = s(:defined, val[3]) result end def _reduce_298(val, _values, result) result = s(:call, val[2], :"!") result end def _reduce_299(val, _values, result) debug20 14, val, result result end def _reduce_300(val, _values, result) oper, iter = val[0], val[1] call = oper # FIX iter.insert 1, call result = iter call.line = iter.line result end # reduce 301 omitted def _reduce_302(val, _values, result) call, iter = val[0], val[1] block_dup_check call, iter iter.insert 1, call # FIX result = iter result end def _reduce_303(val, _values, result) result = val[1] # TODO: fix lineno result end def _reduce_304(val, _values, result) result = new_if val[1], val[3], val[4] result end def _reduce_305(val, _values, result) result = new_if val[1], val[4], val[3] result end def _reduce_306(val, _values, result) lexer.cond.push true result end def _reduce_307(val, _values, result) lexer.cond.pop result end def _reduce_308(val, _values, result) result = new_while val[5], val[2], true result end def _reduce_309(val, _values, result) lexer.cond.push true result end def _reduce_310(val, _values, result) lexer.cond.pop result end def _reduce_311(val, _values, result) result = new_until val[5], val[2], true result end def _reduce_312(val, _values, result) (_, line), expr, _, body, _ = val result = new_case expr, body, line result end def _reduce_313(val, _values, result) (_, line), _, body, _ = val result = new_case nil, body, line result end def _reduce_314(val, _values, result) lexer.cond.push true result end def _reduce_315(val, _values, result) lexer.cond.pop result end def _reduce_316(val, _values, result) result = new_for val[4], val[1], val[7] result end def _reduce_317(val, _values, result) result = self.lexer.lineno result end def _reduce_318(val, _values, result) self.comments.push self.lexer.comments if (self.in_def || self.in_single > 0) then yyerror "class definition in method body" end self.env.extend result end def _reduce_319(val, _values, result) result = new_class val self.env.unextend self.lexer.comments # we don't care about comments in the body result end def _reduce_320(val, _values, result) result = self.lexer.lineno result end def _reduce_321(val, _values, result) result = self.in_def self.in_def = false result end def _reduce_322(val, _values, result) result = self.in_single self.in_single = 0 self.env.extend result end def _reduce_323(val, _values, result) result = new_sclass val self.env.unextend self.lexer.comments # we don't care about comments in the body result end def _reduce_324(val, _values, result) result = self.lexer.lineno result end def _reduce_325(val, _values, result) self.comments.push self.lexer.comments yyerror "module definition in method body" if self.in_def or self.in_single > 0 self.env.extend result end def _reduce_326(val, _values, result) result = new_module val self.env.unextend self.lexer.comments # we don't care about comments in the body result end def _reduce_327(val, _values, result) result = [self.in_def, self.lexer.cmdarg.stack.dup] self.comments.push self.lexer.comments self.in_def = true self.env.extend # TODO: local->cmdargs = cmdarg_stack; # TODO: port local_push_gen and local_pop_gen lexer.cmdarg.stack.replace [false] result end def _reduce_328(val, _values, result) in_def, cmdarg = val[2] result = new_defn val lexer.cmdarg.stack.replace cmdarg self.env.unextend self.in_def = in_def self.lexer.comments # we don't care about comments in the body result end def _reduce_329(val, _values, result) self.comments.push self.lexer.comments lexer.lex_state = :expr_fname result end def _reduce_330(val, _values, result) self.in_single += 1 self.env.extend lexer.lex_state = :expr_endfn # force for args result = lexer.lineno result end def _reduce_331(val, _values, result) result = new_defs val result[3].line val[5] self.env.unextend self.in_single -= 1 self.lexer.comments # we don't care about comments in the body result end def _reduce_332(val, _values, result) result = s(:break) result end def _reduce_333(val, _values, result) result = s(:next) result end def _reduce_334(val, _values, result) result = s(:redo) result end def _reduce_335(val, _values, result) result = s(:retry) result end def _reduce_336(val, _values, result) result = value_expr(val[0]) result end # reduce 337 omitted # reduce 338 omitted # reduce 339 omitted # reduce 340 omitted # reduce 341 omitted # reduce 342 omitted # reduce 343 omitted # reduce 344 omitted # reduce 345 omitted # reduce 346 omitted # reduce 347 omitted # reduce 348 omitted # reduce 349 omitted # reduce 350 omitted # reduce 351 omitted # reduce 352 omitted # reduce 353 omitted def _reduce_354(val, _values, result) result = s(:if, val[1], val[3], val[4]) result end # reduce 355 omitted def _reduce_356(val, _values, result) result = val[1] result end # reduce 357 omitted def _reduce_358(val, _values, result) val[0].delete_at 1 if val[0][1].nil? # HACK result end # reduce 359 omitted def _reduce_360(val, _values, result) result = val[1] result end def _reduce_361(val, _values, result) result = s(:array, val[0]) result end def _reduce_362(val, _values, result) result = list_append val[0], val[2] result end def _reduce_363(val, _values, result) args, = val result = block_var args result end def _reduce_364(val, _values, result) args, _, _, splat = val result = block_var args, "*#{splat}".to_sym result end def _reduce_365(val, _values, result) args, _, _, splat, _, args2 = val result = block_var args, "*#{splat}".to_sym, args2 result end def _reduce_366(val, _values, result) args, _, _ = val result = block_var args, :* result end def _reduce_367(val, _values, result) args, _, _, _, args2 = val result = block_var args, :*, args2 debug20 16, val, result result end def _reduce_368(val, _values, result) _, splat = val result = block_var :"*#{splat}" result end def _reduce_369(val, _values, result) _, splat, _, args = val result = block_var :"*#{splat}", args debug20 17, val, result result end def _reduce_370(val, _values, result) result = block_var :* debug20 18, val, result result end def _reduce_371(val, _values, result) _, _, args = val result = block_var :*, args result end def _reduce_372(val, _values, result) result = call_args val result end def _reduce_373(val, _values, result) result = call_args val result end def _reduce_374(val, _values, result) result = call_args val result end def _reduce_375(val, _values, result) result = call_args val result end def _reduce_376(val, _values, result) result = args val result end # reduce 377 omitted def _reduce_378(val, _values, result) result = args val result end def _reduce_379(val, _values, result) result = args val result end def _reduce_380(val, _values, result) result = args val result end def _reduce_381(val, _values, result) result = args val result end def _reduce_382(val, _values, result) result = args val result end def _reduce_383(val, _values, result) result = args val result end def _reduce_384(val, _values, result) result = args val result end def _reduce_385(val, _values, result) result = args val result end def _reduce_386(val, _values, result) result = args val result end def _reduce_387(val, _values, result) result = args val result end def _reduce_388(val, _values, result) result = args val result end def _reduce_389(val, _values, result) result = args val result end def _reduce_390(val, _values, result) result = args val result end def _reduce_391(val, _values, result) result = args val result end def _reduce_392(val, _values, result) result = args val result end def _reduce_393(val, _values, result) result = 0 result end # reduce 394 omitted def _reduce_395(val, _values, result) result = args val result end def _reduce_396(val, _values, result) self.lexer.command_start = true result = s(:args) result end def _reduce_397(val, _values, result) result = args val result end # reduce 398 omitted def _reduce_399(val, _values, result) result = args val result end def _reduce_400(val, _values, result) result = args val result end def _reduce_401(val, _values, result) result = args val result end def _reduce_402(val, _values, result) result = s(:shadow, val[0].to_sym) result end # reduce 403 omitted def _reduce_404(val, _values, result) self.env.extend :dynamic result = self.lexer.lineno result = lexer.lpar_beg lexer.paren_nest += 1 lexer.lpar_beg = lexer.paren_nest result end def _reduce_405(val, _values, result) lpar, args, body = val lexer.lpar_beg = lpar call = new_call nil, :lambda result = new_iter call, args, body self.env.unextend result end def _reduce_406(val, _values, result) result = args val result end def _reduce_407(val, _values, result) result = val[0] result = 0 if result == s(:args) result end def _reduce_408(val, _values, result) result = val[1] result end def _reduce_409(val, _values, result) result = val[1] result end def _reduce_410(val, _values, result) self.env.extend :dynamic result = self.lexer.lineno result end def _reduce_411(val, _values, result) result = nil # self.env.dynamic.keys result end def _reduce_412(val, _values, result) args = val[2] body = val[4] result = new_iter nil, args, body result.line = val[1] self.env.unextend result end def _reduce_413(val, _values, result) # TODO: ## if (nd_type($1) == NODE_YIELD) { ## compile_error(PARSER_ARG "block given to yield"); syntax_error "Both block arg and actual block given." if val[0].block_pass? val = invert_block_call val if inverted? val result = val[1] result.insert 1, val[0] result end def _reduce_414(val, _values, result) result = new_call val[0], val[2].to_sym, val[3] result end def _reduce_415(val, _values, result) iter1, _, name, args, iter2 = val call = new_call iter1, name.to_sym, args iter2.insert 1, call result = iter2 result end def _reduce_416(val, _values, result) iter1, _, name, args, iter2 = val call = new_call iter1, name.to_sym, args iter2.insert 1, call result = iter2 result end def _reduce_417(val, _values, result) result = self.lexer.lineno result end def _reduce_418(val, _values, result) args = self.call_args val[2..-1] result = val[0].concat args[1..-1] result end def _reduce_419(val, _values, result) result = new_call val[0], val[2].to_sym, val[3] result end def _reduce_420(val, _values, result) result = new_call val[0], val[2].to_sym, val[3] result end def _reduce_421(val, _values, result) result = new_call val[0], val[2].to_sym result end def _reduce_422(val, _values, result) result = new_call val[0], :call, val[2] result end def _reduce_423(val, _values, result) result = new_call val[0], :call, val[2] result end def _reduce_424(val, _values, result) result = new_super val[1] result end def _reduce_425(val, _values, result) result = s(:zsuper) result end def _reduce_426(val, _values, result) result = new_aref val result end def _reduce_427(val, _values, result) self.env.extend :dynamic result = self.lexer.lineno result end def _reduce_428(val, _values, result) result = nil # self.env.dynamic.keys result end def _reduce_429(val, _values, result) _, line, args, _, body, _ = val result = new_iter nil, args, body result.line = line self.env.unextend result end def _reduce_430(val, _values, result) self.env.extend :dynamic result = self.lexer.lineno result end def _reduce_431(val, _values, result) result = nil # self.env.dynamic.keys result end def _reduce_432(val, _values, result) _, line, args, _, body, _ = val result = new_iter nil, args, body result.line = line self.env.unextend result end def _reduce_433(val, _values, result) result = self.lexer.lineno result end def _reduce_434(val, _values, result) result = new_when(val[2], val[4]) result.line = val[1] result << val[5] if val[5] result end # reduce 435 omitted # reduce 436 omitted def _reduce_437(val, _values, result) _, klasses, var, _, body, rest = val klasses ||= s(:array) klasses << node_assign(var, s(:gvar, :"$!")) if var result = new_resbody(klasses, body) result << rest if rest # UGH, rewritten above result end def _reduce_438(val, _values, result) result = nil result end def _reduce_439(val, _values, result) result = s(:array, val[0]) result end # reduce 440 omitted # reduce 441 omitted def _reduce_442(val, _values, result) result = val[1] result end # reduce 443 omitted def _reduce_444(val, _values, result) _, body = val result = body || s(:nil) result end # reduce 445 omitted def _reduce_446(val, _values, result) result = s(:lit, val[0]) result end def _reduce_447(val, _values, result) result = s(:lit, val[0]) result end # reduce 448 omitted def _reduce_449(val, _values, result) val[0] = s(:dstr, val[0].value) if val[0][0] == :evstr result = val[0] result end def _reduce_450(val, _values, result) debug20 23, val, result result end # reduce 451 omitted def _reduce_452(val, _values, result) result = self.literal_concat val[0], val[1] result end def _reduce_453(val, _values, result) result = val[1] result end def _reduce_454(val, _values, result) result = new_string val result end def _reduce_455(val, _values, result) result = new_xstring val[1] result end def _reduce_456(val, _values, result) result = new_regexp val result end def _reduce_457(val, _values, result) result = s(:array) result end def _reduce_458(val, _values, result) result = val[1] result end def _reduce_459(val, _values, result) result = s(:array) result end def _reduce_460(val, _values, result) word = val[1][0] == :evstr ? s(:dstr, "", val[1]) : val[1] result = val[0].dup << word result end # reduce 461 omitted def _reduce_462(val, _values, result) result = self.literal_concat val[0], val[1] result end def _reduce_463(val, _values, result) result = s(:array) result end def _reduce_464(val, _values, result) result = val[1] result end def _reduce_465(val, _values, result) result = s(:array) result end def _reduce_466(val, _values, result) list, sym, _ = val case sym[0] when :dstr then sym[0] = :dsym when :str then sym = s(:lit, sym.last.to_sym) else debug20 24 sym = s(:dsym, "", result) end result = list.dup << sym result end def _reduce_467(val, _values, result) result = s(:array) result end def _reduce_468(val, _values, result) result = val[1] result end def _reduce_469(val, _values, result) result = s(:array) result end def _reduce_470(val, _values, result) result = val[1] result end def _reduce_471(val, _values, result) result = s(:array) result end def _reduce_472(val, _values, result) result = val[0].dup << s(:str, val[1]) result end def _reduce_473(val, _values, result) result = s(:array) result end def _reduce_474(val, _values, result) result = val[0].dup << s(:lit, val[1].to_sym) result end def _reduce_475(val, _values, result) result = s(:str, "") result end def _reduce_476(val, _values, result) result = literal_concat(val[0], val[1]) result end def _reduce_477(val, _values, result) result = nil result end def _reduce_478(val, _values, result) result = literal_concat(val[0], val[1]) result end def _reduce_479(val, _values, result) result = nil result end def _reduce_480(val, _values, result) result = literal_concat(val[0], val[1]) result end def _reduce_481(val, _values, result) result = new_string val result end def _reduce_482(val, _values, result) result = lexer.lex_strterm lexer.lex_strterm = nil lexer.lex_state = :expr_beg result end def _reduce_483(val, _values, result) lexer.lex_strterm = val[1] result = s(:evstr, val[2]) result end def _reduce_484(val, _values, result) result = [lexer.lex_strterm, lexer.brace_nest, lexer.string_nest, # TODO: remove lexer.cond.store, lexer.cmdarg.store, lexer.lex_state, ] lexer.lex_strterm = nil lexer.brace_nest = 0 lexer.string_nest = 0 lexer.lex_state = :expr_beg result end def _reduce_485(val, _values, result) # TODO: tRCURLY -> tSTRING_DEND _, memo, stmt, _ = val lex_strterm, brace_nest, string_nest, oldcond, oldcmdarg, oldlex_state = memo lexer.lex_strterm = lex_strterm lexer.brace_nest = brace_nest lexer.string_nest = string_nest lexer.cond.restore oldcond lexer.cmdarg.restore oldcmdarg lexer.lex_state = oldlex_state case stmt when Sexp then case stmt[0] when :str, :dstr, :evstr then result = stmt else result = s(:evstr, stmt) end when nil then result = s(:evstr) else debug20 25 raise "unknown string body: #{stmt.inspect}" end result end def _reduce_486(val, _values, result) result = s(:gvar, val[0].to_sym) result end def _reduce_487(val, _values, result) result = s(:ivar, val[0].to_sym) result end def _reduce_488(val, _values, result) result = s(:cvar, val[0].to_sym) result end # reduce 489 omitted def _reduce_490(val, _values, result) lexer.lex_state = :expr_end result = val[1].to_sym result end def _reduce_491(val, _values, result) result = val[0].to_sym result end # reduce 492 omitted # reduce 493 omitted # reduce 494 omitted # reduce 495 omitted def _reduce_496(val, _values, result) lexer.lex_state = :expr_end result = val[1] result ||= s(:str, "") case result[0] when :dstr then result[0] = :dsym when :str then result = s(:lit, result.last.to_sym) when :evstr then result = s(:dsym, "", result) else debug20 26, val, result end result end # reduce 497 omitted # reduce 498 omitted def _reduce_499(val, _values, result) result = -val[1] # TODO: pt_testcase result end def _reduce_500(val, _values, result) result = -val[1] # TODO: pt_testcase result end # reduce 501 omitted # reduce 502 omitted # reduce 503 omitted # reduce 504 omitted # reduce 505 omitted def _reduce_506(val, _values, result) result = s(:nil) result end def _reduce_507(val, _values, result) result = s(:self) result end def _reduce_508(val, _values, result) result = s(:true) result end def _reduce_509(val, _values, result) result = s(:false) result end def _reduce_510(val, _values, result) result = s(:str, self.file) result end def _reduce_511(val, _values, result) result = s(:lit, lexer.lineno) result end def _reduce_512(val, _values, result) result = if defined? Encoding then s(:colon2, s(:const, :Encoding), :UTF_8) else s(:str, "Unsupported!") end result end def _reduce_513(val, _values, result) var = val[0] result = Sexp === var ? var : self.gettable(var) result end def _reduce_514(val, _values, result) var = val[0] result = Sexp === var ? var : self.gettable(var) result end def _reduce_515(val, _values, result) result = self.assignable val[0] result end def _reduce_516(val, _values, result) result = self.assignable val[0] debug20 29, val, result result end def _reduce_517(val, _values, result) result = s(:nth_ref, val[0]) result end def _reduce_518(val, _values, result) result = s(:back_ref, val[0]) result end def _reduce_519(val, _values, result) result = nil result end def _reduce_520(val, _values, result) lexer.lex_state = :expr_beg result end def _reduce_521(val, _values, result) result = val[2] result end def _reduce_522(val, _values, result) yyerrok result = nil debug20 30, val, result result end def _reduce_523(val, _values, result) result = val[1] self.lexer.lex_state = :expr_beg self.lexer.command_start = true # TODO: # $$ = parser->parser_in_kwarg; # parser->parser_in_kwarg = 1; result end def _reduce_524(val, _values, result) # TODO: parser->parser_in_kwarg = $1; result = val[0] self.lexer.lex_state = :expr_beg self.lexer.command_start = true result end def _reduce_525(val, _values, result) result = args val result end def _reduce_526(val, _values, result) result = args val result end def _reduce_527(val, _values, result) result = args val result end # reduce 528 omitted def _reduce_529(val, _values, result) result = val[1] result end def _reduce_530(val, _values, result) result = nil result end def _reduce_531(val, _values, result) result = args val result end def _reduce_532(val, _values, result) result = args val result end def _reduce_533(val, _values, result) result = args val result end def _reduce_534(val, _values, result) result = args val result end def _reduce_535(val, _values, result) result = args val result end def _reduce_536(val, _values, result) result = args val result end def _reduce_537(val, _values, result) result = args val result end def _reduce_538(val, _values, result) result = args val result end def _reduce_539(val, _values, result) result = args val result end def _reduce_540(val, _values, result) result = args val result end def _reduce_541(val, _values, result) result = args val result end def _reduce_542(val, _values, result) result = args val result end def _reduce_543(val, _values, result) result = args val result end def _reduce_544(val, _values, result) result = args val result end def _reduce_545(val, _values, result) result = args val result end def _reduce_546(val, _values, result) yyerror "formal argument cannot be a constant" result end def _reduce_547(val, _values, result) yyerror "formal argument cannot be an instance variable" result end def _reduce_548(val, _values, result) yyerror "formal argument cannot be a global variable" result end def _reduce_549(val, _values, result) yyerror "formal argument cannot be a class variable" result end # reduce 550 omitted def _reduce_551(val, _values, result) identifier = val[0].to_sym self.env[identifier] = :lvar result = identifier result end # reduce 552 omitted def _reduce_553(val, _values, result) result = val[1] result end def _reduce_554(val, _values, result) case val[0] when Symbol then result = s(:args) result << val[0] when Sexp then result = val[0] else debug20 32 raise "Unknown f_arg type: #{val.inspect}" end result end def _reduce_555(val, _values, result) list, _, item = val if list.sexp_type == :args then result = list else result = s(:args, list) end result << item result end def _reduce_556(val, _values, result) # TODO: call_args label, _ = val[0] # TODO: fix lineno? identifier = label.to_sym self.env[identifier] = :lvar result = s(:array, s(:kwarg, identifier, val[1])) result end def _reduce_557(val, _values, result) # TODO: call_args label, _ = val[0] # TODO: fix lineno? identifier = label.to_sym self.env[identifier] = :lvar result = s(:array, s(:kwarg, identifier, val[1])) result end # reduce 558 omitted def _reduce_559(val, _values, result) list, _, item = val result = list << item.last result end # reduce 560 omitted def _reduce_561(val, _values, result) result = args val result end # reduce 562 omitted # reduce 563 omitted def _reduce_564(val, _values, result) result = :"**#{val[1]}" result end def _reduce_565(val, _values, result) debug20 36, val, result result end def _reduce_566(val, _values, result) result = self.assignable val[0], val[2] # TODO: detect duplicate names result end def _reduce_567(val, _values, result) result = self.assignable val[0], val[2] result end def _reduce_568(val, _values, result) result = s(:block, val[0]) result end def _reduce_569(val, _values, result) result = val[0] result << val[2] result end def _reduce_570(val, _values, result) result = s(:block, val[0]) result end def _reduce_571(val, _values, result) result = self.block_append val[0], val[2] result end # reduce 572 omitted # reduce 573 omitted def _reduce_574(val, _values, result) # TODO: differs from parse.y - needs tests name = val[1].to_sym self.assignable name result = :"*#{name}" result end def _reduce_575(val, _values, result) name = :"*" self.env[name] = :lvar result = name result end # reduce 576 omitted # reduce 577 omitted def _reduce_578(val, _values, result) identifier = val[1].to_sym self.env[identifier] = :lvar result = "&#{identifier}".to_sym result end def _reduce_579(val, _values, result) result = val[1] result end def _reduce_580(val, _values, result) result = nil result end # reduce 581 omitted def _reduce_582(val, _values, result) lexer.lex_state = :expr_beg result end def _reduce_583(val, _values, result) result = val[2] yyerror "Can't define single method for literals." if result[0] == :lit result end def _reduce_584(val, _values, result) result = s(:array) result end def _reduce_585(val, _values, result) result = val[0] result end # reduce 586 omitted def _reduce_587(val, _values, result) list = val[0].dup more = val[2][1..-1] list.push(*more) unless more.empty? result = list result[0] = :hash # TODO: shouldn't this be a hash? result end def _reduce_588(val, _values, result) result = s(:array, val[0], val[2]) result end def _reduce_589(val, _values, result) result = s(:array, s(:lit, val[0][0].to_sym), val[1]) result end def _reduce_590(val, _values, result) result = s(:array, s(:kwsplat, val[1])) result end # reduce 591 omitted # reduce 592 omitted # reduce 593 omitted # reduce 594 omitted # reduce 595 omitted # reduce 596 omitted # reduce 597 omitted # reduce 598 omitted # reduce 599 omitted # reduce 600 omitted # reduce 601 omitted # reduce 602 omitted # reduce 603 omitted # reduce 604 omitted # reduce 605 omitted # reduce 606 omitted # reduce 607 omitted # reduce 608 omitted # reduce 609 omitted # reduce 610 omitted # reduce 611 omitted def _reduce_612(val, _values, result) yyerrok result end # reduce 613 omitted # reduce 614 omitted def _reduce_615(val, _values, result) yyerrok result end def _reduce_616(val, _values, result) result = nil; result end def _reduce_none(val, _values, result) val[0] end end # class Ruby20Parser