# # DO NOT MODIFY!!!! # This file is automatically generated by Racc 1.4.14 # from Racc grammer file "". # require 'racc/parser.rb' class Ruby20Parser < RubyParser::Parser require "ruby_lexer" require "ruby_parser_extras" # :stopdoc: # Local Variables: ** # racc-token-length-max:14 ** # End: ** ##### State transition tables begin ### clist = [ '-503,578,578,269,578,578,269,-503,-503,-503,3,750,-503,-503,-503,269', '-503,240,620,219,216,217,216,217,-503,659,-503,-503,-503,623,-99,578', '659,-102,-104,537,-503,-503,536,-503,-503,-503,-503,-503,-100,-101,-107', '-517,741,237,701,-85,742,239,238,220,-106,-102,-93,658,-104,-608,-71', '-101,659,109,658,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503', '-503,-503,-503,619,730,-503,-503,-503,730,-503,-503,730,268,-503,622', '268,-503,-503,220,-503,658,-503,-99,-503,268,-503,-503,-503,-503,-503', '-503,-503,220,-503,220,-503,-95,113,113,749,113,113,112,112,931,112', '112,-93,-503,-503,-503,-503,-506,-503,-518,-503,-103,-90,113,-506,-506', '-506,-503,112,-506,-506,-506,113,-506,-102,-104,-91,112,-98,-102,-104', '-506,700,-506,-506,-506,-101,-93,-97,-93,-93,-101,-95,-506,-506,-92', '-506,-506,-506,-506,-506,-93,269,-103,537,-105,452,539,-95,113,262,604', '-100,113,112,604,113,263,112,216,217,112,216,217,-506,-506,-506,-506', '-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-428,-596,-506,-506', '-506,-95,-506,-506,-95,83,-506,524,207,-506,-506,-593,-506,84,-506,-95', '-506,-107,-506,-506,-506,-506,-506,-506,-506,-419,-506,-596,-506,-597', '606,605,602,-103,606,605,607,208,-103,-594,-600,-506,-506,-506,-506', '-290,-506,268,-506,-428,784,209,-290,-290,-290,-506,-428,785,-290,-290', '-106,-290,564,659,-503,-428,-94,220,-96,405,-503,-503,-506,566,407,406', '-593,-503,-600,-506,-503,-290,-290,-428,-290,-290,-290,-290,-290,879', '801,113,-506,-600,215,213,112,658,-593,-506,-600,566,212,-102,-594,-596', '574,573,-506,-600,-104,210,-290,-290,-290,-290,-290,-290,-290,-290,-290', '-290,-290,-290,-290,-290,-594,-600,-290,-290,-290,-600,642,259,574,573', '-290,604,-600,-290,567,604,-101,-596,-290,316,-290,-600,-290,-290,-290', '-290,-290,-290,-290,604,-290,719,-290,557,556,555,604,558,113,-600,604', '317,567,112,-600,-290,-290,214,-96,220,-290,-600,-600,-600,-517,-338', '240,-600,-600,-105,-600,719,-338,557,556,555,354,558,-513,-600,378,-338', '606,605,612,-513,606,605,617,604,-600,-600,609,-600,-600,-600,-600,-600', '237,-98,606,605,239,238,235,236,-90,606,605,760,-107,606,605,624,381', '113,762,-99,384,843,112,-600,-600,-600,-600,-600,-600,-600,-600,-600', '-600,-600,-600,-600,-600,-512,-518,-600,-600,-600,-514,643,-512,537', '387,-600,539,-514,-600,977,606,605,818,-600,584,-600,524,-600,-600,-600', '-600,-600,-600,-600,403,-600,-600,-600,213,-511,636,637,770,318,319', '449,-511,113,-91,-600,-600,-600,112,-94,450,-600,-600,-600,-600,-100', '408,-600,-600,-600,-103,-600,451,719,-97,557,556,555,453,558,-600,-600', '-600,-600,537,-106,-515,539,-93,-95,-92,-600,-600,-515,-600,-600,-600', '-600,-600,-102,-104,-101,-515,519,520,454,719,-508,557,556,555,715,558', '719,-508,557,556,555,220,558,718,1001,-600,-600,-600,-600,-600,-600', '-600,-600,-600,-600,-600,-600,-600,-600,216,217,-600,-600,-600,-516', '786,-600,715,219,-600,485,-516,-600,-600,715,-600,718,-600,271,-600', '-516,-600,-600,-600,-600,-600,-600,-600,495,-600,-600,-600,498,719,500', '557,556,555,-70,558,220,240,509,213,-600,-600,-600,-600,-290,-600,516', '-600,216,217,510,-290,-290,-290,-103,514,-290,-290,-290,560,-290,557', '556,555,564,558,517,715,274,237,-290,-290,-290,239,238,566,923,574,573', '220,-290,-290,-509,-290,-290,-290,-290,-290,-281,-509,271,113,521,-510', '525,-281,112,562,546,719,-510,557,556,555,-281,558,571,570,574,573,526', '-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290', '113,240,-290,-290,-290,112,787,-290,262,240,-290,534,715,-290,-290,263', '-290,567,-290,240,-290,540,-290,-290,-290,-290,-290,-290,-290,113,-290', '584,-290,237,112,254,255,239,238,235,236,847,818,216,217,-290,-290,-290', '-290,397,-290,237,-290,243,588,239,238,235,236,-105,174,185,175,198', '171,191,181,180,201,202,196,179,178,173,199,203,204,183,172,186,190', '192,184,177,847,818,589,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,611,125,870', '871,240,615,872,107,108,618,158,159,621,154,136,137,138,145,142,144', '254,255,139,140,628,-265,630,160,161,146,147,719,220,557,556,555,237', '558,243,634,239,238,235,236,151,150,635,135,157,153,152,148,149,143', '141,133,156,134,271,646,162,91,240,213,240,240,213,240,220,715,528,92', '719,587,557,556,555,220,558,450,155,220,585,-85,676,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,715,220,530,193,200,195,194,187,197,182,170,189,188', '116,117,118,119,120,169,176,167,168,164,165,166,124,126,687,693,125', '694,955,240,557,556,555,697,558,158,159,500,154,136,137,138,145,142', '144,254,255,139,140,703,706,707,160,161,146,147,719,709,557,556,555', '237,558,711,713,239,238,235,236,151,150,722,135,157,153,152,148,149', '143,141,133,156,134,-291,213,162,91,723,-291,724,-291,744,726,584,715', '-291,92,733,763,-291,746,764,765,-266,-291,155,771,485,485,220,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,789,259,498,193,200,195,363,362,364,361,170', '189,188,116,117,118,119,120,169,176,167,168,358,359,360,356,126,97,96', '357,500,99,687,213,220,271,271,687,158,159,958,154,136,137,138,145,142', '144,240,746,139,140,213,-290,-290,160,161,146,147,958,-290,-290,240', '818,370,-597,-597,220,746,-290,-290,220,151,150,841,135,157,153,152', '148,149,143,141,133,156,134,-515,-516,162,213,-281,-291,220,-515,-516', '818,1008,-281,-291,851,220,-267,-515,-516,878,1006,-281,-291,155,881', '706,884,887,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,889,891,220,193,200,195', '194,187,197,182,170,189,188,116,117,118,119,120,169,176,167,168,164', '165,166,124,126,394,393,125,955,395,557,556,555,893,558,894,158,159', '687,154,136,137,138,145,142,144,902,-265,139,140,-290,906,908,160,161', '146,147,-290,909,220,706,912,-597,914,916,918,-290,918,220,924,151,150', '926,135,157,153,152,148,149,143,141,133,156,134,928,220,162,938,939', '220,942,-268,952,959,960,962,963,979,981,982,986,706,991,993,995,997', '155,997,1004,1009,1010,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,918,918,918,193', '200,195,194,187,197,182,170,189,188,1015,979,-597,-596,693,169,176,167', '168,164,165,166,124,126,979,1038,125,1039,1040,1041,997,997,997,220', '918,158,159,979,154,136,137,138,145,142,144,997,,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,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,,,,,,,,,,,,8,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,10,13,105,104,106,95,59,97,96,98,,99', '107,108,,93,94,,45,46,44,240,244,249,250,251,246,248,256,257,252,253', ',233,234,,,254,255,,43,,,36,,,61,62,,,63,,38,237,,243,47,239,238,235', '236,247,245,241,23,242,,,,91,83,85,86,87,89,,,,84,92,,258,,-242,,,65', ',,81,88,90,292,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,240,244,249,250,251,246,248,256', '257,252,253,,233,234,,,254,255,,43,,,294,,,61,62,,,63,,38,237,,243,47', '239,238,235,236,247,245,241,23,242,,,,91,83,85,86,87,89,,,,84,92,,258', ',,,,65,,,81,88,90,292,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,240,244,249,250,251,246', '248,256,257,252,253,,233,234,,,254,255,,43,,,36,,,61,62,,,63,,38,237', ',243,47,239,238,235,236,247,245,241,23,242,,,,91,83,85,86,87,89,,,,84', '92,,258,,,,,65,,,81,88,90,292,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,240,244,249,250,251', '246,248,256,257,252,253,,233,234,,,254,255,,43,,,36,,,61,62,,,63,,38', '237,,243,47,239,238,235,236,247,245,241,23,242,,,,91,83,85,86,87,89', ',,,84,92,,258,,,,,65,,,81,88,90,292,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,240,244,249', '250,251,246,248,256,257,252,253,,233,234,,,254,255,,43,,,294,,,61,62', ',,63,,38,237,,243,47,239,238,235,236,247,245,241,23,242,,,,91,83,85', '86,87,89,,,,84,92,,258,,,,,65,,,81,88,90,292,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,240', '244,249,250,251,246,248,256,257,252,253,,233,234,,,254,255,,43,,,294', ',,61,62,,,63,,38,237,,243,47,239,238,235,236,247,245,241,23,242,,,,91', '83,85,86,87,89,,,,84,92,,258,,,,,65,,,81,88,90,292,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,240,244,249,250,251,246,248,256,257,252,253,,233,234,,,254,255,,43', ',,36,,,61,62,,,63,,38,237,,243,47,239,238,235,236,247,245,241,23,242', ',,,91,83,85,86,87,89,,,,84,92,220,258,,,,,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,240,244,249,250,251,246,248,256,257,252,253,,233,234,,,254', '255,,43,,,36,,,61,62,,,63,,38,237,,243,47,239,238,235,236,247,245,241', '23,242,,,,91,83,85,86,87,89,,,,84,92,,258,,,,,65,,,81,88,90,292,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,240,244,249,250,251,246,248,256,257,252,253,,233,234', ',,254,255,,43,,,36,,,61,62,,,63,,38,237,,243,47,239,238,235,236,247', '245,241,23,242,,,,91,83,85,86,87,89,,,,84,92,,258,,,,,65,,,81,88,90', '292,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,240,244,249,250,251,246,248,256,257,252,253,,233', '234,,,254,255,,43,,,36,,,61,62,,,63,,38,237,,243,47,239,238,235,236', '247,245,241,23,242,,,,91,83,85,86,87,89,,,,84,92,,258,,,,,65,,,81,88', '90,292,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,240,244,249,250,251,246,248,256,257,252,253', ',233,234,,,254,255,,43,,,36,,,61,62,,,63,,38,237,,243,47,239,238,235', '236,247,245,241,23,242,,,,91,83,85,86,87,89,,,,84,92,,258,,,,,65,,,81', '88,90,292,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,240,244,249,250,251,246,248,256,257,252', '253,,233,234,,,254,255,,43,,,36,,,61,62,,,63,,38,237,,243,47,239,238', '235,236,247,245,241,23,242,,,,91,83,85,86,87,89,,,,84,92,,258,,,,,65', ',,81,88,90,292,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,240,244,249,250,251,246,248,256,257', '252,253,,233,234,,,254,255,,43,,,36,,,61,62,,,63,,38,237,,243,47,239', '238,235,236,247,245,241,23,242,,,,91,83,85,86,87,89,,,,84,92,,258,,', ',,65,,,81,88,90,292,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,240,244,249,250,251,246,248', '256,257,252,253,,233,234,,,254,255,,43,,,36,,,61,62,,,63,,38,237,,243', '47,239,238,235,236,247,245,241,23,242,,,,91,83,85,86,87,89,,,,84,92', ',258,,,,,65,,,81,88,90,292,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,240,244,249,250,251,246', '248,256,257,252,253,,233,234,,,254,255,,43,,,36,,,61,62,,,63,,38,237', ',243,47,239,238,235,236,247,245,241,23,242,,,,91,83,85,86,87,89,,,,84', '92,,258,,,,,65,,,81,88,90,292,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,240,244,249,250,251', '246,248,256,257,252,253,,233,234,,,254,255,,43,,,36,,,61,62,,,63,,38', '237,,243,47,239,238,235,236,247,245,241,23,242,,,,91,83,85,86,87,89', ',,,84,92,,258,,,,,65,,,81,88,90,292,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,240,244,249', '250,251,246,248,256,257,252,253,,233,234,,,254,255,,43,,,36,,,61,62', ',,63,,38,237,,243,47,239,238,235,236,247,245,241,23,242,,,,91,83,85', '86,87,89,,,,84,92,,258,,,,,65,,,81,88,90,292,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,240', '244,249,250,251,246,248,256,257,252,253,,-620,-620,,,254,255,,43,,,36', ',,61,62,,,63,,38,237,,243,47,239,238,235,236,247,245,241,23,242,,,,91', '83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,292,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', '240,244,249,250,251,246,248,256,257,252,253,,-620,-620,,,254,255,,43', ',,36,,,61,62,,,63,,38,237,,243,47,239,238,235,236,247,245,241,23,242', ',,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,292,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,240,-620,-620,-620,-620,246,248,,,-620,-620,,,,,,254,255,,43,', ',36,,,61,62,,,63,,38,237,,243,47,239,238,235,236,247,245,241,23,242', ',,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,292,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,240,,,,,,,,,,,,,,,,254,255,,43,,,36,,,61,62,,,63,,38,237,,243', '47,239,238,235,236,,,241,23,242,,,,91,83,85,86,87,89,,,,84,92,,,,,,', '65,,,81,88,90,292,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,240,,,,,,,,,,,,,,,,254,255,,43', ',,36,,,61,62,,,63,,38,237,,243,47,239,238,235,236,,,241,23,242,,,,91', '83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,292,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', '240,,,,,,,,,,,,,,,,254,255,,43,,,36,,,61,62,,,63,,38,237,,243,47,239', '238,235,236,,,241,23,242,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81', '88,90,292,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,240,,,,,,,,,,,,,,,,254,255,,43,,,36,,,61', '62,,,63,,38,237,,243,47,239,238,235,236,,,241,23,242,,,,91,83,85,86', '87,89,,,,84,92,,,,,,,65,,,81,88,90,292,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,240,-620', '-620,-620,-620,246,248,,,-620,-620,,,,,,254,255,,43,,,36,,,61,62,,,63', ',38,237,,243,47,239,238,235,236,247,245,241,23,242,,,,91,83,85,86,87', '89,,,,84,92,,,,,,,65,,,81,88,90,292,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,240,-620,-620', '-620,-620,246,248,,,-620,-620,,,,,,254,255,,43,,,36,,,61,62,,,63,,38', '237,,243,47,239,238,235,236,247,245,241,23,242,,,,91,83,85,86,87,89', ',,,84,92,,,,,,,65,,,81,88,90,292,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,240,-620,-620,-620', '-620,246,248,,,-620,-620,,,,,,254,255,,43,,,36,,,61,62,,,63,,38,237', ',243,47,239,238,235,236,247,245,241,23,242,,,,91,83,85,86,87,89,,,,84', '92,,,,,,,65,,,81,88,90,292,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,240,-620,-620,-620,-620', '246,248,,,-620,-620,,,,,,254,255,,43,,,36,,,61,62,,,63,,38,237,,243', '47,239,238,235,236,247,245,241,23,242,,,,91,83,85,86,87,89,,,,84,92', ',,,,,,65,,,81,88,90,292,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,240,-620,-620,-620,-620', '246,248,,,-620,-620,,,,,,254,255,,43,,,36,,,61,62,,,63,,38,237,,243', '47,239,238,235,236,247,245,241,23,242,,,,91,83,85,86,87,89,,,,84,92', ',,,,,,65,,,81,88,90,292,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,240,244,249,250,251,246', '248,,,252,253,,,,,,254,255,,43,,,36,,,61,62,,,63,,38,237,,243,47,239', '238,235,236,247,245,241,23,242,,,,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,240,244,249,250,251,246,248,256,', '252,253,,,,,,254,255,,43,,,36,,,61,62,,,63,,38,237,,243,47,239,238,235', '236,247,245,241,23,242,,,,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,,,232,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108', ',93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,719,63,557,556', '555,564,558,47,,,,,,,,230,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,,,232,,,,567,,,48,,,105,104,106,95,59', '97,96,98,285,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231', ',,61,62,,,63,,283,,281,,47,,,,,,,,230,,,,,91,83,85,86,87,89,,,,84,92', ',,,,,,65,,286,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,33,34,75', '76,,,,,,32,31,30,101,100,102,103,,,232,,,,,,,48,,,105,104,106,95,59', '97,96,98,285,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231', ',,61,62,,,63,,283,,281,,47,,,,,,,,230,,,,,91,83,85,86,87,89,,,,84,92', ',,,,,,65,,286,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,33,34,75', '76,,,,,,32,31,30,101,100,102,103,,,232,,,,,,,48,,,105,104,106,95,59', '97,96,98,285,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231', ',,61,62,,,63,,283,,281,,47,,,,,,,,230,,,,,91,83,85,86,87,89,,,,84,92', ',,,,,,65,,286,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,309,310', '75,76,,,,,,305,306,312,101,100,102,103,,,232,,,,,,,307,,,105,104,106', '95,59,97,96,98,,99,107,108,,93,94,,,,313,,,,,,,,,,,,,,,,,,,,303,,,299', ',,61,62,,,63,,298,,,,,,,,,,,,,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65', ',,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,309,310,75,76,,,,,', '305,306,312,101,100,102,103,,,232,,,,,,,307,,,105,104,106,95,59,97,96', '98,,99,107,108,,93,94,,,,313,,,,,,,,,,,,,,,,,,,,303,,,231,,,61,62,,719', '63,557,556,555,801,558,,,,,,,,,,566,,,,91,83,85,86,87,89,,,,84,92,,', ',315,,,65,562,,81,88,90,72,73,74,,60,,574,573,66,67,,,,70,,68,69,71', '309,310,75,76,,,,,,305,306,312,101,100,102,103,,,232,,,,567,,,48,,,105', '104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,', ',,,225,,,231,,,61,62,,719,63,557,556,555,564,558,47,,,,,,,,230,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,309,310,75,76,,,,,,305,306,312,101,100,102', '103,,,232,,,,567,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94', ',45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,719,63,557,556,555,564', '558,47,,,,,,,,230,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,309,310,75,76,,,,', ',305,306,312,101,100,102,103,,,232,,,,567,,,48,,,105,104,106,95,59,97', '96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61', '62,,719,63,557,556,555,564,558,47,,,,,,,,230,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,309,310,75,76,,,,,,305,306,312,101,100,102,103,,,232,,,,567,,', '48,,,105,104,106,95,59,97,96,98,285,99,107,108,,93,94,,45,46,44,,,,', ',,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,283,,,,47,,,,,,,,230,,,,,91,83', '85,86,87,89,,,,84,92,,,,,,,65,,286,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,,,,,,,,,,', ',,,,,,,,,225,,,231,,,61,62,,719,63,557,556,555,801,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,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,719,63,557,556,555,801', '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,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,719', '63,557,556,555,801,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,309,310,75,76,,,,,,305,306,312,101,100,102,103,,,232,,,,567,,,307', ',,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,,,313,,,,,,,,,,,,,', ',,,,,,348,,,36,,,61,62,,,63,,38,,,,,,,,,,,,,,,,,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', ',,,,,397,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,,,,,,,,,,,,,,,,,,,,225,,,231,,,61', '62,,719,63,557,556,555,564,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,,,,,,,,,,,,,,,,', ',,,225,,,231,,,61,62,,719,63,557,556,555,801,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,,,,,,,,,,,,,,,,,,,,225,,,231,,,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,,,', ',,,,,,,,,,,,,,,,225,,,231,,,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,,,232,,,,,,,48,,,105,104', '106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225', ',,231,,,61,62,,,63,,413,,,,47,,,,,,,,230,,,,,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,,,232,,,,,,,48,,,105,104,106,95,59', '97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,', ',61,62,,,63,,,,,,47,,,,,,,,230,,,,,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,,,232,,,,,,,48,,,105,104,106,95,59,97,96,98', '285,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62', ',,63,,283,,281,,47,,,,,,,,230,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65', ',286,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,33,34,75,76,,,,', ',32,31,30,101,100,102,103,,,232,,,,,,,48,,,105,104,106,95,59,97,96,98', ',99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,', '63,,,,,,47,,,,,,,,230,,,,,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,,,232,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108', ',93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,413,,,,47', ',,,,,,,230,,,,,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,,,,,,,,,,,,,,,,,,,,225,,,231,,,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,,,', ',,,,,,,,,,,,,,,,225,,,231,,,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,,,,,,,,,,,,,,,,', ',,,225,,,231,,,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,,,,,,,,,,,,,,,,,,,,225,,,231', ',,61,62,,,63,,,,,,47,,,,,,,,23,,,,,91,83,85,86,87,89,,,,84,92,220,,', ',,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,309,310,75,76', ',,,,,305,306,312,101,100,102,103,,,232,,,,,,,48,,,105,104,106,95,59', '97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,', ',61,62,,,63,,,,,,47,,,,,,,,230,,,,,91,83,85,86,87,89,,,,84,92,,,,,,', '65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,309,310,75,76,,', ',,,305,306,312,101,100,102,103,,,232,,,,,,,48,,,105,104,106,95,59,97', '96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61', '62,,,63,,,,,,47,,,,,,,,230,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,', ',81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,309,310,75,76,,,,,,305', '306,312,101,100,102,103,,,232,,,,,,,48,,,105,104,106,95,59,97,96,98', ',99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,', '63,,,,,,47,,,,,,,,230,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88', '90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,309,310,75,76,,,,,,305,306', '312,101,100,102,103,,,232,,,,,,,48,,,105,104,106,95,59,97,96,98,,99', '107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,', ',,,,47,,,,,,,,230,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90', '72,73,74,,60,,,,66,67,,,,70,,68,69,71,309,310,75,76,,,,,,305,306,312', '101,100,102,103,,,232,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107', '108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,,,,', '47,,,,,,,,230,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72', '73,74,,60,,,,66,67,,,,70,,68,69,71,309,310,75,76,,,,,,305,306,312,101', '100,102,103,,,232,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108', ',93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,,,,,47,', ',,,,,,230,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74', ',60,,,,66,67,,,,70,,68,69,71,309,310,75,76,,,,,,305,306,312,101,100', '102,103,,,232,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93', '94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,,,,,47,,,,,', ',,230,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60', ',,,66,67,,,,70,,68,69,71,309,310,75,76,,,,,,305,306,312,101,100,102', '103,,,232,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,', '45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,,,,,47,,,,,,,,230', ',,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66', '67,,,,70,,68,69,71,309,310,75,76,,,,,,305,306,312,101,100,102,103,,', '232,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46', '44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,,,,,47,,,,,,,,230,,,,', '91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67', ',,,70,,68,69,71,309,310,75,76,,,,,,305,306,312,101,100,102,103,,,232', ',,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,', ',,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,,,,,47,,,,,,,,230,,,,,91,83', '85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70', ',68,69,71,309,310,75,76,,,,,,305,306,312,101,100,102,103,,,232,,,,,', ',48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,', ',,,,,,,,,,,,,225,,,231,,,61,62,,,63,,,,,,47,,,,,,,,230,,,,,91,83,85', '86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68', '69,71,309,310,75,76,,,,,,305,306,312,101,100,102,103,,,232,,,,,,,48', ',,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,', ',,,,,,,,,225,,,231,,,61,62,,,63,,,,,,47,,,,,,,,230,,,,,91,83,85,86,87', '89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71', '309,310,75,76,,,,,,305,306,312,101,100,102,103,,,232,,,,,,,48,,,105', '104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,', ',,,225,,,231,,,61,62,,,63,,,,,,47,,,,,,,,230,,,,,91,83,85,86,87,89,', ',,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,309', '310,75,76,,,,,,305,306,312,101,100,102,103,,,232,,,,,,,48,,,105,104', '106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225', ',,231,,,61,62,,,63,,,,,,47,,,,,,,,230,,,,,91,83,85,86,87,89,,,,84,92', ',,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,309,310,75', '76,,,,,,305,306,312,101,100,102,103,,,232,,,,,,,48,,,105,104,106,95', '59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231', ',,61,62,,,63,,,,,,47,,,,,,,,230,,,,,91,83,85,86,87,89,,,,84,92,,,,,', ',65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,309,310,75,76,', ',,,,305,306,312,101,100,102,103,,,232,,,,,,,48,,,105,104,106,95,59,97', '96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61', '62,,,63,,,,,,47,,,,,,,,230,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,', ',81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,309,310,75,76,,,,,,305', '306,312,101,100,102,103,,,232,,,,,,,48,,,105,104,106,95,59,97,96,98', ',99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,', '63,,,,,,47,,,,,,,,230,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88', '90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,309,310,75,76,,,,,,305,306', '312,101,100,102,103,,,232,,,,,,,48,,,105,104,106,95,59,97,96,98,,99', '107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,', ',,,,47,,,,,,,,230,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90', '72,73,74,,60,,,,66,67,,,,70,,68,69,71,309,310,75,76,,,,,,305,306,312', '101,100,102,103,,,232,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107', '108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,,,,', '47,,,,,,,,230,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72', '73,74,,60,,,,66,67,,,,70,,68,69,71,309,310,75,76,,,,,,305,306,312,101', '100,102,103,,,232,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108', ',93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,,,,,47,', ',,,,,,230,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74', ',60,,,,66,67,,,,70,,68,69,71,309,310,75,76,,,,,,305,306,312,101,100', '102,103,,,232,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93', '94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,,,,,47,,,,,', ',,230,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60', ',,,66,67,,,,70,,68,69,71,309,310,75,76,,,,,,305,306,312,101,100,102', '103,,,232,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,', '45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,,,,,47,,,,,,,,230', ',,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66', '67,,,,70,,68,69,71,309,310,75,76,,,,,,305,306,312,101,100,102,103,,', '232,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46', '44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,,,,,47,,,,,,,,230,,,,', '91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67', ',,,70,,68,69,71,309,310,75,76,,,,,,305,306,312,101,100,102,103,,,232', ',,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,', ',,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,,,,,47,,,,,,,,230,,,,,91,83', '85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70', ',68,69,71,309,310,75,76,,,,,,305,306,312,101,100,102,103,,,232,,,,,', ',48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,', ',,,,,,,,,,,,,225,,,231,,,61,62,,,63,,,,,,47,,,,,,,,230,,,,,91,83,85', '86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68', '69,71,309,310,75,76,,,,,,305,306,312,101,100,102,103,,,232,,,,,,,48', ',,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,', ',,,,,,,,,225,,,231,,,61,62,,,63,,,,,,47,,,,,,,,230,,,,,91,83,85,86,87', '89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71', '309,310,75,76,,,,,,305,306,312,101,100,102,103,,,232,,,,,,,48,,,105', '104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,', ',,,225,,,231,,,61,62,,,63,,,,,,47,,,,,,,,230,,,,,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,,,232,,,,,,,48,,,105,104,106', '95,59,97,96,98,285,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225', ',,231,,,61,62,,,63,,283,,281,,47,,,,,,,,230,,,,,91,83,85,86,87,89,,', ',84,92,,,,,,,65,,286,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71', '33,34,75,76,,,,,,32,31,30,101,100,102,103,,,232,,,,,,,48,,,105,104,106', '95,59,97,96,98,285,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225', ',,231,,,61,62,,,63,,283,,281,,47,,,,,,,,230,,,,,91,83,85,86,87,89,,', ',84,92,,,,,,,65,,286,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71', '33,34,75,76,,,,,,32,31,30,101,100,102,103,,,232,,,,,,,48,,,105,104,106', '95,59,97,96,98,285,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225', ',,231,,,61,62,,,63,,283,,281,,47,,,,,,,,230,,,,,91,83,85,86,87,89,,', ',84,92,220,,,,,,65,,286,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69', '71,309,310,75,76,,,,,,305,306,312,101,100,102,103,,,232,,,,,,,48,,,105', '104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,', ',,,225,,,231,,,61,62,,,63,,,,,,47,,,,,,,,230,,,,,91,83,85,86,87,89,', ',,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,309', '310,75,76,,,,,,305,306,312,101,100,102,103,,,232,,,,,,,48,,,105,104', '106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225', ',,231,,,61,62,,,63,,,,,,47,,,,,,,,230,,,,,91,83,85,86,87,89,,,,84,92', ',,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,309,310,75', '76,,,,,,305,306,312,101,100,102,103,,,232,,,,,,,48,,,105,104,106,95', '59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231', ',,61,62,,,63,,,,,,47,,,,,,,,230,,,,,91,83,85,86,87,89,,,,84,92,,,,,', ',65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,309,310,75,76,', ',,,,305,306,312,101,100,102,103,,,232,,,,,,,48,,,105,104,106,95,59,97', '96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61', '62,,,63,,,,,,47,,,,,,,,230,,,,,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,309,310,75,76,,,,,,305,306', '312,101,100,102,103,,,232,,,,,,,307,,,105,104,106,95,59,97,96,98,,99', '107,108,,93,94,,,,313,,,,,,,,,,,,,,,,,,,,303,,,231,,,61,62,,,63,,,,', ',,,,,,,,,,,,,,91,83,85,86,87,89,,,,84,92,,,,512,,,65,,,81,88,90,72,73', '74,,60,,,,66,67,,,,70,,68,69,71,309,310,75,76,,,,,,305,306,312,101,100', '102,103,,,232,,,,,,,307,,,105,104,106,95,59,97,96,98,,99,107,108,,93', '94,,,,313,,,,,,,,,,,,,,,,,,,,303,,,299,,,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,309,310,75,76,,,,,,305,306,312,101,100,102,103,,', '232,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46', '44,,,,,,,,,,,,,,,,,,,,225,,,231,530,,61,62,,,63,,,,,,47,,,,,,,,230,', ',,,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,,,', ',,,,,,,,,,,,,,,,225,,,231,,,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,309,310,75,76,,,,,,305,306,312,101,100,102,103,,,232,,,,,,,48', ',,105,104,106,95,59,97,96,98,285,99,107,108,,93,94,,45,46,44,,,,,,,', ',,,,,,,,,,,,225,,,231,,,61,62,,,63,,,,,,47,,,,,,,,230,,,,,91,83,85,86', '87,89,,,,84,92,,,,,,,65,,286,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,,,,,,,,,,,,,,,,', ',,,225,,,231,,,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,,,,,,,,,,,,,,,,,,,,225,,,231', ',,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,309,310,75,76,,', ',,,305,306,312,101,100,102,103,,,232,,,,,,,307,,,105,104,106,590,59', '97,96,591,,99,107,108,,93,94,,,,313,,,,,,,,,,,,,,,,,,,,592,,,231,,,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,309,310,75,76,,,,,,305,306', '312,101,100,102,103,,,232,,,,,,,307,,,105,104,106,590,59,97,96,591,', '99,107,108,,93,94,,,,313,,,,,,,,,,,,,,,,,,,,592,,,231,,,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,309,310,75,76,,,,,,305,306,312,101,100', '102,103,,,232,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93', '94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,,,,,47,,,,,', ',,230,,,,,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,', ',232,,,,,,,48,,,105,104,106,95,59,97,96,98,285,99,107,108,,93,94,,45', '46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,283,,281,,47,,,,,,', ',230,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,286,81,88,90,72,73,74', ',60,,,,66,67,,,,70,,68,69,71,309,310,75,76,,,,,,305,306,312,101,100', '102,103,,,232,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93', '94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,,,,,47,,,,,', ',,230,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60', ',,,66,67,,,,70,,68,69,71,309,310,75,76,,,,,,305,306,312,101,100,102', '103,,,232,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,', '45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,,,,,47,,,,,,,,230', ',,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66', '67,,,,70,,68,69,71,309,310,75,76,,,,,,305,306,312,101,100,102,103,,', '232,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46', '44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,,,,,47,,,,,,,,230,,,,', '91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67', ',,,70,,68,69,71,309,310,75,76,,,,,,305,306,312,101,100,102,103,,,232', ',,,,,,48,,,105,104,106,95,59,97,96,98,285,99,107,108,,93,94,,45,46,44', ',,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,671,,281,,47,,,,,,,,230,', ',,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,286,81,88,90,72,73,74,,60,,', ',66,67,,,,70,,68,69,71,309,310,75,76,,,,,,305,306,312,101,100,102,103', ',,232,,,,,,,48,,,105,104,106,95,59,97,96,98,285,99,107,108,,93,94,,45', '46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,,,281,,47,,,,,,,,230', ',,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,286,81,88,90,72,73,74,,60,', ',,66,67,,,,70,,68,69,71,309,310,75,76,,,,,,305,306,312,101,100,102,103', ',,232,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46', '44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,,,,,47,,,,,,,,230,,,,', '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,,,,,,397,65,,,81,88,90,72,73,74,,60,,,,66,67,,', ',70,,68,69,71,309,310,75,76,,,,,,305,306,312,101,100,102,103,,,232,', ',,,,,307,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,,,313,,,,', ',,,,,,,,,,,,,,,303,,,299,,,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,,,232,,,,,,,48,,,105,104', '106,95,59,97,96,98,285,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,', ',,225,,,231,,,61,62,,,63,,283,,281,,47,,,,,,,,230,,,,,91,83,85,86,87', '89,,,,84,92,,,,,,,65,,286,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69', '71,309,310,75,76,,,,,,305,306,312,101,100,102,103,,,232,,,,,,,307,,', '105,104,106,95,59,97,96,98,,99,107,108,,93,94,,,,313,,,,,,,,,,,,,,,', ',,,,303,,,299,,,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,309,310', '75,76,,,,,,305,306,312,101,100,102,103,,,232,,,,,,,48,,,105,104,106', '95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,', ',231,,,61,62,,,63,,,,,,47,,,,,,,,230,,,,,91,83,85,86,87,89,,,,84,92', ',,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,309,310,75', '76,,,,,,305,306,312,101,100,102,103,,,232,,,,,,,48,,,105,104,106,95', '59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231', ',,61,62,,,63,,,,,,47,,,,,,,,230,,,,,91,83,85,86,87,89,,,,84,92,,,,,', ',65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,309,310,75,76,', ',,,,305,306,312,101,100,102,103,,,232,,,,,,,48,,,105,104,106,95,59,97', '96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61', '62,,,63,,,,,,47,,,,,,,,230,,,,,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,,,,,,,,,,,,,,,,,,,,225,,,231,,,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,309,310,75,76,,,,,,305,306,312', '101,100,102,103,,,232,,,,,,,48,,,105,104,106,95,59,97,96,98,285,99,107', '108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,671', ',,,47,,,,,,,,230,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,286,81,88', '90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,309,310,75,76,,,,,,305,306', '312,101,100,102,103,,,232,,,,,,,48,,,105,104,106,95,59,97,96,98,285', '99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63', ',,,,,47,,,,,,,,230,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,286,81,88', '90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,309,310,75,76,,,,,,305,306', '312,101,100,102,103,,,232,,,,,,,48,,,105,104,106,95,59,97,96,98,,99', '107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,', ',,,,47,,,,,,,,230,,,,,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,,,232,,,,,,,48,,,105,104,106,95,59,97,96,98,285,99,107,108', ',93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,283,,281', ',47,,,,,,,,230,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,286,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,,,,,,,,,,,,,,,,,,,,225,,,231,,,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,,,,,,,,,,,,,,,,,,,,225,,,231,,,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,309,310,75,76,,,,,,305,306,312,101,100,102,103,,,232,', ',,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,', ',,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,768,,,,47,,,,,,,,230,,,,,91', '83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,', ',70,,68,69,71,309,310,75,76,,,,,,305,306,312,101,100,102,103,,,232,', ',,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,', ',,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,,,,,47,,,,,,,,230,,,,,91,83', '85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70', ',68,69,71,309,310,75,76,,,,,,305,306,312,101,100,102,103,,,232,,,,,', ',48,,,105,104,106,95,59,97,96,98,285,99,107,108,,93,94,,45,46,44,,,', ',,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,671,,281,,47,,,,,,,,230,,,,', '91,83,85,86,87,89,,,,84,92,,,,,,,65,,286,81,88,90,72,73,74,,60,,,,66', '67,,,,70,,68,69,71,309,310,75,76,,,,,,305,306,312,101,100,102,103,,', '232,,,,,,,48,,,105,104,106,95,59,97,96,98,285,99,107,108,,93,94,,45', '46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,,,281,,47,,,,,,,,230', ',,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,286,81,88,90,72,73,74,,60,', ',,66,67,,,,70,,68,69,71,33,34,75,76,,,,,,32,31,30,101,100,102,103,,', '232,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46', '44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,,,,,47,,,,,,,,230,,,,', '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,,,232,,,,', ',,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,', ',,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,,,,,47,,,,,,,,230,,,,,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,,,232,,,,,,,48,,,105', '104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,', ',,,225,,,231,,,61,62,,,63,,,,,,47,,,,,,,,230,,,,,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,,,232,,,,,,,48,,,105,104,106', '95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,', ',231,,,61,62,,,63,,,,,,47,,,,,,,,230,,,,,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,,,232,,,,,,,48,,,105,104,106,95,59,97', '96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61', '62,,,63,,,,,,47,,,,,,,,230,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,', ',81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,309,310,75,76,,,,,,305', '306,312,101,100,102,103,,,232,,,,,,,48,,,105,104,106,95,59,97,96,98', ',99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,', '63,,,,,,47,,,,,,,,230,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88', '90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,309,310,75,76,,,,,,305,306', '312,101,100,102,103,,,232,,,,,,,48,,,105,104,106,95,59,97,96,98,,99', '107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,', ',,,,47,,,,,,,,230,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90', '72,73,74,,60,,,,66,67,,,,70,,68,69,71,309,310,75,76,,,,,,305,306,312', '101,100,102,103,,,232,,,,,,,307,,,105,104,106,95,59,97,96,98,,99,107', '108,,93,94,,,,313,,,,,,,,,,,,,,,,,,,,303,,,299,,,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,309,310,75,76,,,,,,305,306,312,101,100,102', '103,,,232,,,,,,,307,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94', ',,,313,,,,,,,,,,,,,,,,,,,,303,,,299,,,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,309,310,75,76,,,,,,305,306,312,101,100,102,103,,,232,', ',,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,', ',,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,413,,,,47,,,,,,,,230,,,,,91', '83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,', ',70,,68,69,71,309,310,75,76,,,,,,305,306,312,101,100,102,103,,,232,', ',,,,,48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,', ',,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,,,,,47,,,,,,,,230,,,,,91,83', '85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70', ',68,69,71,309,310,75,76,,,,,,305,306,312,101,100,102,103,,,232,,,,,', ',48,,,105,104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,', ',,,,,,,,,,,,,225,,,231,,,61,62,,,63,,283,,,,47,,,,,,,,230,,,,,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,,,,,,,,,,,,', ',,,,,,,225,,,231,,,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,,,232,,,,,,,48,,,105,104,106', '95,59,97,96,98,285,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225', ',,231,,,61,62,,,63,,283,,281,,47,,,,,,,,230,,,,,91,83,85,86,87,89,,', ',84,92,,,,,,,65,,286,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71', '309,310,75,76,,,,,,305,306,312,101,100,102,103,,,232,,,,,,,48,,,105', '104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,', ',,,225,,,231,,,61,62,,,63,,,,,,47,,,,,,,,230,,,,,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,,,232,,,,,,,48,,,105,104,106', '95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,', ',231,,,61,62,,,63,,,,,,47,,,,,,,,230,,,,,91,83,85,86,87,89,,,,84,92', ',,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,309,310,75', '76,,,,,,305,306,312,101,100,102,103,,,232,,,,,,,48,,,105,104,106,95', '59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231', ',,61,62,,,63,,,,,,47,,,,,,,,230,,,,,91,83,85,86,87,89,,,,84,92,,,,,', ',65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,309,310,75,76,', ',,,,305,306,312,101,100,102,103,,,232,,,,,,,48,,,105,104,106,95,59,97', '96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61', '62,,,63,,,,,,47,,,,,,,,230,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,', ',81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,309,310,75,76,,,,,,305', '306,312,101,100,102,103,,,232,,,,,,,48,,,105,104,106,95,59,97,96,98', ',99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,', '63,,,,,,47,,,,,,,,230,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88', '90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,309,310,75,76,,,,,,305,306', '312,101,100,102,103,,,232,,,,,,,48,,,105,104,106,95,59,97,96,98,,99', '107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,', ',,,,47,,,,,,,,230,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90', '72,73,74,,60,,,,66,67,,,,70,,68,69,71,309,310,75,76,,,,,,305,306,312', '101,100,102,103,,,232,,,,,,,48,,,105,104,106,95,59,97,96,98,,99,107', '108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,,,,', '47,,,,,,,,230,,,,,91,83,85,86,87,89,,,,84,92,,,,,,,65,,,81,88,90,72', '73,74,,60,,,,66,67,,,,70,,68,69,71,309,310,75,76,,,,,,305,306,312,101', '100,102,103,,,232,,,,,,,307,,,105,104,106,95,59,97,96,98,,99,107,108', ',93,94,,,,313,,,,,,,,,,,,,,,,,,,,896,,,231,,,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,', ',,,,,,,,,,,,,,,,,,225,,,231,,,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,,,,,,,,,,,,', ',,,,,,,225,,,231,,,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,309', '310,75,76,,,,,,305,306,312,101,100,102,103,,,232,,,,,,,48,,,105,104', '106,95,59,97,96,98,285,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,', ',,225,,,231,,,61,62,,,63,,,,281,,47,,,,,,,,230,,,,,91,83,85,86,87,89', ',,,84,92,,,,,,,65,,286,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71', '309,310,75,76,,,,,,305,306,312,101,100,102,103,,,232,,,,,,,48,,,105', '104,106,95,59,97,96,98,,99,107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,', ',,,225,,,231,,,61,62,,,63,,,,,,47,,,,,,,,230,,,,,91,83,85,86,87,89,', ',,84,92,,,,,,,65,,,81,88,90,72,73,74,,60,,,,66,67,,,,70,,68,69,71,309', '310,75,76,,,,,,305,306,312,101,100,102,103,,,232,,,,,,,307,,,105,104', '106,95,59,97,96,98,,99,107,108,,93,94,,,,313,,,,,,,,,,,,,,,,,,,,896', ',,231,,,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,309,310,75,76', ',,,,,305,306,312,101,100,102,103,,,232,,,,,,,307,,,105,104,106,95,59', '97,96,98,,99,107,108,,93,94,,,,313,,,,,,,,,,,,,,,,,,,,969,,,231,,,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,309,310,75,76,,,,,,305,306', '312,101,100,102,103,,,232,,,,,,,48,,,105,104,106,95,59,97,96,98,,99', '107,108,,93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,', '671,,,,47,,,,,,,,230,,,,,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,,,232,,,,,,,48,,,105,104,106,95,59,97,96,98,285,99,107,108', ',93,94,,45,46,44,,,,,,,,,,,,,,,,,,,,225,,,231,,,61,62,,,63,,283,,281', ',47,,,,,,,,230,,,,-282,91,83,85,86,87,89,-282,-282,-282,84,92,-282,-282', '-282,,-282,,65,,286,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,-282,-282,-282', '-282,,-282,,-282,,,,,,,,,,,,,-282,-282,-282,-282,-601,-282,,-282,,,', '-601,-601,-601,,,-601,-601,-601,560,-601,557,556,555,564,558,,,,-601', '-601,-601,-601,,,566,,,,,-601,-601,,-601,-601,-601,-601,-601,,,,,,,', ',,562,,,,,,,,,571,570,574,573,,-601,-601,-601,-601,-601,-601,-601,-601', '-601,-601,-601,-601,-601,-601,,,-601,-601,-601,,,-601,,,-601,,,-601', '-601,,-601,567,-601,,-601,,-601,-601,-601,-601,-601,-601,-601,,-601', '-601,-601,,,,,,,,,,,,,-601,-601,-601,-601,-602,-601,,-601,,,,-602,-602', '-602,,,-602,-602,-602,560,-602,557,556,555,564,558,,,,-602,-602,-602', '-602,,,566,,,,,-602,-602,,-602,-602,-602,-602,-602,,,,,,,,,,562,754', ',,,,,,,571,570,574,573,,-602,-602,-602,-602,-602,-602,-602,-602,-602', '-602,-602,-602,-602,-602,,,-602,-602,-602,,,-602,,,-602,,,-602,-602', ',-602,567,-602,,-602,,-602,-602,-602,-602,-602,-602,-602,,-602,-602', '-602,,,,,,,,,,,,,-602,-602,-602,-602,-427,-602,,-602,,,,-427,-427,-427', ',,-427,-427,-427,560,-427,557,556,555,564,558,,,,-427,-427,-427,,,,566', ',,,,-427,-427,,-427,-427,-427,-427,-427,,,,,,,,,,562,,,,,,,,,571,570', '574,573,,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427', '-427,-427,,,-427,-427,-427,,,-427,,271,-427,,,-427,-427,,-427,567,-427', ',-427,,-427,-427,-427,-427,-427,-427,-427,,-427,-427,-427,,,,,,,,,,', ',-298,-427,-427,,-427,,-427,-298,-298,-298,,,-298,-298,-298,560,-298', '557,556,555,564,558,,,,,-298,-298,,,,566,,,,,-298,-298,,-298,-298,-298', '-298,-298,,,,,,,,,,562,,,,,,,,,571,570,574,573,,-298,-298,-298,-298', '-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,,,-298,-298,-298,', ',-298,,274,-298,,,-298,-298,,-298,567,-298,,-298,,-298,-298,-298,-298', '-298,-298,-298,,-298,,-298,,,,,,,,,,,,-619,-298,-298,,-298,,-298,-619', '-619,-619,,,-619,-619,-619,560,-619,557,556,555,564,558,,,,-619,-619', '-619,,,,566,,,,,-619,-619,,-619,-619,-619,-619,-619,,,,,,,,,,562,,,', ',,,,,571,570,574,573,,-619,-619,-619,-619,-619,-619,-619,-619,-619,-619', '-619,-619,-619,-619,,,-619,-619,-619,,,-619,,271,-619,,,-619,-619,,-619', '567,-619,,-619,,-619,-619,-619,-619,-619,-619,-619,,-619,-619,-619,', ',,,,,,,,,,-619,-619,-619,,-619,,-619,-619,-619,-619,,,-619,-619,-619', ',-619,800,,557,556,555,801,558,,-619,-619,,,,,,,566,,,-619,-619,,-619', '-619,-619,-619,-619,,,800,,557,556,555,801,558,,,562,,,,,,,566,,571', '570,574,573,,,,,,,,,,,-619,,,,,,562,-619,,,,,271,-619,220,571,570,574', '573,,,,567,,422,426,,,423,,,,,,-619,-619,,158,159,,154,136,137,138,145', '142,144,,-619,139,140,567,,-619,160,161,146,147,,,,,,271,,,,,,,,151', '150,,135,157,153,152,148,149,143,141,133,156,134,,,162,,,,,,,,,,429', '433,,,428,,,,,,155,,,158,159,163,154,136,137,138,145,142,144,,,139,140', ',,,160,161,146,147,,,,,,271,,,,,,,,151,150,,135,157,153,152,148,149', '143,141,133,156,134,,800,162,557,556,555,801,558,,,,,483,426,,,484,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,649,426,,,650,,,,,,155,,,158,159', '163,154,136,137,138,145,142,144,,,139,140,,,,160,161,146,147,,,,,,271', ',,,,,,,151,150,,135,157,153,152,148,149,143,141,133,156,134,,,162,,', ',,,,,,,651,433,,,652,,,,,,155,,,158,159,163,154,136,137,138,145,142', '144,,,139,140,,,,160,161,146,147,,,,,,271,,,,,,,,151,150,,135,157,153', '152,148,149,143,141,133,156,134,,,162,,,,,,,,,,680,426,,,681,,,,,,155', ',,158,159,163,154,136,137,138,145,142,144,,,139,140,,,,160,161,146,147', ',,,,,271,,,,,,,,151,150,,135,157,153,152,148,149,143,141,133,156,134', ',,162,,,,,,,,,,683,433,,,684,,,,,,155,,,158,159,163,154,136,137,138', '145,142,144,,,139,140,,,,160,161,146,147,,,,,,271,,,,,,,,151,150,,135', '157,153,152,148,149,143,141,133,156,134,,,162,,,,,,,,,,649,426,,,650', ',,,,,155,,,158,159,163,154,136,137,138,145,142,144,,,139,140,,,,160', '161,146,147,,,,,,271,,,,,,,,151,150,,135,157,153,152,148,149,143,141', '133,156,134,,,162,,,,,,,,,,651,433,,,652,,,,,,155,,,158,159,163,154', '136,137,138,145,142,144,,,139,140,,,,160,161,146,147,,,,,,271,,,,,,', ',151,150,,135,157,153,152,148,149,143,141,133,156,134,,,162,,,,,,,,', ',736,426,,,737,,,,,,155,,,158,159,163,154,136,137,138,145,142,144,,', '139,140,,,,160,161,146,147,,,,,,271,,,,,,,,151,150,,135,157,153,152', '148,149,143,141,133,156,134,,,162,,,,,,,,,,738,433,,,739,,,,,,155,,', '158,159,163,154,136,137,138,145,142,144,,,139,140,,,,160,161,146,147', ',,,,,271,,,,,,,,151,150,,135,157,153,152,148,149,143,141,133,156,134', ',,162,,,,,,,,,,855,433,,,856,,,,,,155,,,158,159,163,154,136,137,138', '145,142,144,,,139,140,,,,160,161,146,147,,,,,,271,,,,,,,,151,150,,135', '157,153,152,148,149,143,141,133,156,134,,,162,,,,,,,,,,483,426,,,484', ',,,,,155,,,158,159,163,154,136,137,138,145,142,144,,,139,140,,,,160', '161,146,147,,,,,,271,,,,,,,,151,150,,135,157,153,152,148,149,143,141', '133,156,134,,,162,,,,,,,,,,1003,433,,,1002,,,,,,155,,,158,159,163,154', '136,137,138,145,142,144,,,139,140,,,,160,161,146,147,,,,,,271,,,,,,', ',151,150,,135,157,153,152,148,149,143,141,133,156,134,,,162,,,,,,,,', ',1031,426,,,1032,,,,,,155,,,158,159,163,154,136,137,138,145,142,144', ',,139,140,,,,160,161,146,147,,,,,,271,,,,,,,,151,150,,135,157,153,152', '148,149,143,141,133,156,134,,,162,,,,,,,,,,1033,433,,,1034,,,,,,155', ',,158,159,163,154,136,137,138,145,142,144,,,139,140,,,,160,161,146,147', ',,,,,271,,,,,,,,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,,800,163,557,556,555,801,558,,,,,,,562,,,566,,,,562,754,571,570', '574,573,,,,571,570,574,573,,,,,,562,,,,,,,,,571,570,574,573,,,,,,,,567', ',,,,,,567,,,,,,,,,,,,,,,,,,567' ] racc_action_table = arr = ::Array.new(25632, 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 = [ '95,338,339,64,905,852,308,95,95,95,1,596,95,95,95,662,95,457,385,22', '446,446,691,691,95,481,95,95,95,388,345,927,489,1031,1032,330,95,95', '330,95,95,95,95,95,346,1046,349,223,592,457,545,675,592,457,457,22,588', '736,680,481,737,61,675,853,490,3,489,95,95,95,95,95,95,95,95,95,95,95', '95,95,95,385,580,95,95,95,581,95,95,854,64,95,388,308,95,95,61,95,490', '95,223,95,662,95,95,95,95,95,95,95,446,95,691,95,681,338,339,596,905', '852,338,339,852,905,852,680,95,95,95,95,98,95,224,95,1033,345,596,98', '98,98,95,596,98,98,98,927,98,1031,1032,346,927,349,1031,1032,98,545', '98,98,98,1046,680,588,736,680,1046,737,98,98,853,98,98,98,98,98,680', '29,738,331,739,226,331,681,580,27,372,224,581,580,374,854,27,581,757', '757,854,20,20,98,98,98,98,98,98,98,98,98,98,98,98,98,98,813,1033,98', '98,98,681,98,98,681,80,98,451,13,98,98,590,98,80,98,681,98,226,98,98', '98,98,98,98,98,29,98,738,98,739,372,372,372,1033,374,374,374,15,1033', '591,683,98,98,98,98,428,98,29,98,813,649,16,428,428,428,98,813,650,428', '428,451,428,703,663,590,813,738,757,739,123,356,590,357,703,123,123', '590,356,855,357,590,428,428,813,428,428,428,428,428,788,881,5,591,683', '19,17,5,663,590,591,683,881,17,649,591,683,703,703,591,683,650,17,428', '428,428,428,428,428,428,428,428,428,428,428,428,428,591,683,428,428', '428,855,428,25,881,881,428,379,855,428,703,382,788,855,428,40,428,855', '428,428,428,428,428,428,428,613,428,718,428,718,718,718,616,718,289', '855,390,43,881,289,429,428,428,18,428,48,428,429,429,429,41,49,476,429', '429,428,429,923,49,923,923,923,72,923,358,429,87,49,379,379,379,358', '382,382,382,376,429,429,376,429,429,429,429,429,476,18,613,613,476,476', '476,476,41,616,616,613,18,390,390,390,88,342,616,41,89,718,342,429,429', '429,429,429,429,429,429,429,429,429,429,429,429,359,42,429,429,429,360', '429,359,543,90,429,543,360,429,923,376,376,984,429,984,429,317,429,429', '429,429,429,429,429,121,429,429,429,222,361,422,423,632,44,44,222,361', '750,42,651,429,429,750,429,222,429,651,651,651,42,205,651,651,651,429', '651,225,562,317,562,562,562,227,562,651,651,651,651,696,317,300,696', '422,423,632,651,651,300,651,651,651,651,651,422,423,632,300,313,313', '228,715,362,715,715,715,562,715,843,362,843,843,843,953,843,562,953', '651,651,651,651,651,651,651,651,651,651,651,651,651,651,337,337,651', '651,651,301,651,651,715,232,651,264,301,651,651,843,651,715,651,267', '651,301,651,651,651,651,651,651,651,278,651,651,651,279,841,282,841', '841,841,293,841,295,458,296,302,651,651,651,651,652,651,302,651,533', '533,297,652,652,652,651,302,652,652,652,336,652,336,336,336,336,336', '303,841,306,458,652,652,652,458,458,336,841,706,706,307,652,652,363', '652,652,652,652,652,304,363,312,755,314,364,318,304,755,336,336,924', '364,924,924,924,304,924,336,336,336,336,319,652,652,652,652,652,652', '652,652,652,652,652,652,652,652,862,477,652,652,652,862,652,652,366', '322,652,328,924,652,652,366,652,336,652,463,652,332,652,652,652,652', '652,652,652,936,652,343,652,477,936,463,463,477,477,477,477,725,725', '751,751,652,652,652,652,344,652,463,652,463,348,463,463,463,463,652', '11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11', '11,1017,1017,350,11,11,11,11,11,11,11,11,11,11,9,9,9,9,9,11,11,11,11', '11,11,11,11,11,11,378,11,758,758,464,381,758,758,758,384,11,11,387,11', '11,11,11,11,11,11,464,464,11,11,409,411,414,11,11,11,11,977,417,977', '977,977,464,977,464,420,464,464,464,464,11,11,421,11,11,11,11,11,11', '11,11,11,11,11,430,438,11,11,459,320,460,461,347,462,491,977,320,11', '979,347,979,979,979,492,979,320,11,507,347,508,511,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,979,513,518', '12,12,12,12,12,12,12,12,12,12,291,291,291,291,291,12,12,12,12,12,12', '12,12,12,522,531,12,532,893,465,893,893,893,541,893,12,12,544,12,12', '12,12,12,12,12,465,465,12,12,548,549,551,12,12,12,12,1015,552,1015,1015', '1015,465,1015,553,560,465,465,465,465,12,12,568,12,12,12,12,12,12,12', '12,12,12,12,517,594,12,12,572,742,575,517,594,577,582,1015,742,12,583', '620,517,594,623,625,629,742,12,633,638,644,653,12,74,74,74,74,74,74', '74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,655,661,668,74', '74,74,74,74,74,74,74,74,74,506,506,506,506,506,74,74,74,74,74,74,74', '74,74,74,74,74,670,74,677,895,679,682,685,686,74,74,895,74,74,74,74', '74,74,74,689,895,74,74,957,684,856,74,74,74,74,957,684,856,690,692,74', '684,856,695,957,684,856,702,74,74,717,74,74,74,74,74,74,74,74,74,74', '74,966,967,74,968,970,1009,720,966,967,727,968,970,1009,732,735,767', '966,967,772,968,970,1009,74,790,791,793,794,74,91,91,91,91,91,91,91', '91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,795,797,798,91,91', '91,91,91,91,91,91,91,91,674,674,674,674,674,91,91,91,91,91,91,91,91', '91,91,91,91,1001,91,1001,1001,1001,799,1001,800,91,91,812,91,91,91,91', '91,91,91,816,819,91,91,1034,820,825,91,91,91,91,1034,826,827,828,832', '1034,833,835,836,1034,838,840,842,91,91,845,91,91,91,91,91,91,91,91', '91,91,91,848,858,91,863,864,865,874,875,892,896,897,899,900,925,929', '930,935,943,946,947,948,949,91,951,961,969,972,91,404,404,404,404,404', '404,404,404,404,404,404,404,404,404,404,404,404,404,404,404,404,404', '404,404,973,974,975,404,404,404,404,404,404,404,404,404,404,976,978', '1002,1003,1005,404,404,404,404,404,404,404,404,404,1016,1021,404,1022', '1023,1024,1025,1026,1027,1030,1035,404,404,1036,404,404,404,404,404', '404,404,1048,,404,404,,,,404,404,404,404,,,,,,,,,,,,,,404,404,,404,404', '404,404,404,404,404,404,404,404,404,,,404,404,,,,,,,,,,404,,,,,,,,,404', ',,,,404,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,756,756,756,756,756,756,756,756,756,756', '756,756,756,756,756,756,756,756,756,756,756,756,756,756,,,,756,756,756', '756,756,756,756,756,756,756,,,,,,756,756,756,756,756,756,756,756,756', ',,756,,,,,,,,,756,756,,756,756,756,756,756,756,756,,,756,756,,,,756', '756,756,756,,,,,,,,,,,,,,756,756,,756,756,756,756,756,756,756,756,756', '756,756,,,756,,,,,,,,,,,,2,2,2,2,2,2,,,756,2,2,,,756,2,,2,2,2,2,2,2', '2,,,,,,2,2,2,2,2,2,2,,,2,,,,,441,2,2,2,2,2,2,2,2,2,2,2,2,,2,2,2,,2,2', ',2,2,2,441,441,441,441,441,441,441,441,441,441,441,,441,441,,,441,441', ',2,,,2,,,2,2,,,2,,2,441,,441,2,441,441,441,441,441,441,441,2,441,,,', '2,2,2,2,2,2,,,,2,2,,441,,441,,,2,,,2,2,2,36,36,36,36,36,36,,,,36,36', ',,,36,,36,36,36,36,36,36,36,,,,,,36,36,36,36,36,36,36,,,36,,,,,416,36', '36,,36,36,36,36,36,36,36,36,36,,36,36,36,,36,36,,36,36,36,416,416,416', '416,416,416,416,416,416,416,416,,416,416,,,416,416,,36,,,36,,,36,36', ',,36,,36,416,,416,36,416,416,416,416,416,416,416,36,416,,,,36,36,36', '36,36,36,,,,36,36,,416,,,,,36,,,36,36,36,207,207,207,207,207,207,,,', '207,207,,,,207,,207,207,207,207,207,207,207,,,,,,207,207,207,207,207', '207,207,,,207,,,,,654,207,207,,207,207,207,207,207,207,207,207,207,', '207,207,207,,207,207,,207,207,207,654,654,654,654,654,654,654,654,654', '654,654,,654,654,,,654,654,,207,,,207,,,207,207,,,207,,207,654,,654', '207,654,654,654,654,654,654,654,207,654,,,,207,207,207,207,207,207,', ',,207,207,,654,,,,,207,,,207,207,207,231,231,231,231,231,231,,,,231', '231,,,,231,,231,231,231,231,231,231,231,,,,,,231,231,231,231,231,231', '231,,,231,,,,,,231,231,,231,231,231,231,231,231,231,231,231,,231,231', '231,,231,231,,231,231,231,24,24,24,24,24,24,24,24,24,24,24,,24,24,,', '24,24,,231,,,231,,,231,231,,,231,,231,24,,24,231,24,24,24,24,24,24,24', '231,24,,,,231,231,231,231,231,231,,,,231,231,,24,,,,,231,,,231,231,231', '294,294,294,294,294,294,,,,294,294,,,,294,,294,294,294,294,294,294,294', ',,,,,294,294,294,294,294,294,294,,,294,,,,,,294,294,,294,294,294,294', '294,294,294,294,294,,294,294,294,,294,294,,294,294,294,276,276,276,276', '276,276,276,276,276,276,276,,276,276,,,276,276,,294,,,294,,,294,294', ',,294,,294,276,,276,294,276,276,276,276,276,276,276,294,276,,,,294,294', '294,294,294,294,,,,294,294,,276,,,,,294,,,294,294,294,299,299,299,299', '299,299,,,,299,299,,,,299,,299,299,299,299,299,299,299,,,,,,299,299', '299,299,299,299,299,,,299,,,,,,299,299,,299,299,299,299,299,299,299', '299,299,,299,299,299,,299,299,,299,299,299,436,436,436,436,436,436,436', '436,436,436,436,,436,436,,,436,436,,299,,,299,,,299,299,,,299,,299,436', ',436,299,436,436,436,436,436,436,436,299,436,,,,299,299,299,299,299', '299,,,,299,299,,436,,,,,299,,,299,299,299,325,325,325,325,325,325,,', ',325,325,,,,325,,325,325,325,325,325,325,325,,,,,,325,325,325,325,325', '325,325,,,325,,,,,,325,325,,325,325,325,325,325,325,325,325,325,,325', '325,325,,325,325,,325,325,325,480,480,480,480,480,480,480,480,480,480', '480,,480,480,,,480,480,,325,,,325,,,325,325,,,325,,325,480,,480,325', '480,480,480,480,480,480,480,325,480,,,,325,325,325,325,325,325,,,,325', '325,480,480,,,,,325,,,325,325,325,403,403,403,403,403,403,,,,403,403', ',,,403,,403,403,403,403,403,403,403,,,,,,403,403,403,403,403,403,403', ',,403,,,,,,403,403,403,403,403,403,403,403,403,403,403,403,,403,403', '403,,403,403,,403,403,403,529,529,529,529,529,529,529,529,529,529,529', ',529,529,,,529,529,,403,,,403,,,403,403,,,403,,403,529,,529,403,529', '529,529,529,529,529,529,403,529,,,,403,403,403,403,403,403,,,,403,403', ',529,,,,,403,,,403,403,403,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,688,688,688,688,688,688,688,688,688,688,688,,688,688', ',,688,688,,576,,,576,,,576,576,,,576,,576,688,,688,576,688,688,688,688', '688,688,688,576,688,,,,576,576,576,576,576,576,,,,576,576,,688,,,,,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,769,769,769,769,769,769,769,769,769,769,769,,769,769,,,769,769,', '579,,,579,,,579,579,,,579,,579,769,,769,579,769,769,769,769,769,769', '769,579,769,,,,579,579,579,579,579,579,,,,579,579,,769,,,,,579,,,579', '579,579,700,700,700,700,700,700,,,,700,700,,,,700,,700,700,700,700,700', '700,700,,,,,,700,700,700,700,700,700,700,,,700,,,,,,700,700,,700,700', '700,700,700,700,700,700,700,,700,700,700,,700,700,,700,700,700,774,774', '774,774,774,774,774,774,774,774,774,,774,774,,,774,774,,700,,,700,,', '700,700,,,700,,700,774,,774,700,774,774,774,774,774,774,774,700,774', ',,,700,700,700,700,700,700,,,,700,700,,774,,,,,700,,,700,700,700,701', '701,701,701,701,701,,,,701,701,,,,701,,701,701,701,701,701,701,701,', ',,,,701,701,701,701,701,701,701,,,701,,,,,,701,701,,701,701,701,701', '701,701,701,701,701,,701,701,701,,701,701,,701,701,701,776,776,776,776', '776,776,776,776,776,776,776,,776,776,,,776,776,,701,,,701,,,701,701', ',,701,,701,776,,776,701,776,776,776,776,776,776,776,701,776,,,,701,701', '701,701,701,701,,,,701,701,,776,,,,,701,,,701,701,701,752,752,752,752', '752,752,,,,752,752,,,,752,,752,752,752,752,752,752,752,,,,,,752,752', '752,752,752,752,752,,,752,,,,,,752,752,,752,752,752,752,752,752,752', '752,752,,752,752,752,,752,752,,752,752,752,779,779,779,779,779,779,779', '779,779,779,779,,779,779,,,779,779,,752,,,752,,,752,752,,,752,,752,779', ',779,752,779,779,779,779,779,779,779,752,779,,,,752,752,752,752,752', '752,,,,752,752,,779,,,,,752,,,752,752,752,753,753,753,753,753,753,,', ',753,753,,,,753,,753,753,753,753,753,753,753,,,,,,753,753,753,753,753', '753,753,,,753,,,,,,753,753,,753,753,753,753,753,753,753,753,753,,753', '753,753,,753,753,,753,753,753,781,781,781,781,781,781,781,781,781,781', '781,,781,781,,,781,781,,753,,,753,,,753,753,,,753,,753,781,,781,753', '781,781,781,781,781,781,781,753,781,,,,753,753,753,753,753,753,,,,753', '753,,781,,,,,753,,,753,753,753,759,759,759,759,759,759,,,,759,759,,', ',759,,759,759,759,759,759,759,759,,,,,,759,759,759,759,759,759,759,', ',759,,,,,,759,759,,759,759,759,759,759,759,759,759,759,,759,759,759', ',759,759,,759,759,759,783,783,783,783,783,783,783,783,783,783,783,,783', '783,,,783,783,,759,,,759,,,759,759,,,759,,759,783,,783,759,783,783,783', '783,783,783,783,759,783,,,,759,759,759,759,759,759,,,,759,759,,783,', ',,,759,,,759,759,759,804,804,804,804,804,804,,,,804,804,,,,804,,804', '804,804,804,804,804,804,,,,,,804,804,804,804,804,804,804,,,804,,,,,', '804,804,,804,804,804,804,804,804,804,804,804,,804,804,804,,804,804,', '804,804,804,877,877,877,877,877,877,877,877,877,877,877,,877,877,,,877', '877,,804,,,804,,,804,804,,,804,,804,877,,877,804,877,877,877,877,877', '877,877,804,877,,,,804,804,804,804,804,804,,,,804,804,,877,,,,,804,', ',804,804,804,808,808,808,808,808,808,,,,808,808,,,,808,,808,808,808', '808,808,808,808,,,,,,808,808,808,808,808,808,808,,,808,,,,,,808,808', ',808,808,808,808,808,808,808,808,808,,808,808,808,,808,808,,808,808', '808,880,880,880,880,880,880,880,880,880,880,880,,880,880,,,880,880,', '808,,,808,,,808,808,,,808,,808,880,,880,808,880,880,880,880,880,880', '880,808,880,,,,808,808,808,808,808,808,,,,808,808,,880,,,,,808,,,808', '808,808,809,809,809,809,809,809,,,,809,809,,,,809,,809,809,809,809,809', '809,809,,,,,,809,809,809,809,809,809,809,,,809,,,,,,809,809,,809,809', '809,809,809,809,809,809,809,,809,809,809,,809,809,,809,809,809,455,455', '455,455,455,455,455,455,455,455,455,,455,455,,,455,455,,809,,,809,,', '809,809,,,809,,809,455,,455,809,455,455,455,455,455,455,455,809,455', ',,,809,809,809,809,809,809,,,,809,809,,,,,,,809,,,809,809,809,818,818', '818,818,818,818,,,,818,818,,,,818,,818,818,818,818,818,818,818,,,,,', '818,818,818,818,818,818,818,,,818,,,,,,818,818,,818,818,818,818,818', '818,818,818,818,,818,818,818,,818,818,,818,818,818,456,456,456,456,456', '456,456,456,456,456,456,,456,456,,,456,456,,818,,,818,,,818,818,,,818', ',818,456,,456,818,456,456,456,456,456,456,456,818,456,,,,818,818,818', '818,818,818,,,,818,818,,,,,,,818,,,818,818,818,849,849,849,849,849,849', ',,,849,849,,,,849,,849,849,849,849,849,849,849,,,,,,849,849,849,849', '849,849,849,,,849,,,,,,849,849,,849,849,849,849,849,849,849,849,849', ',849,849,849,,849,849,,849,849,849,466,466,466,466,466,466,466,,,466', '466,,,,,,466,466,,849,,,849,,,849,849,,,849,,849,466,,466,849,466,466', '466,466,466,466,466,849,466,,,,849,849,849,849,849,849,,,,849,849,,', ',,,,849,,,849,849,849,850,850,850,850,850,850,,,,850,850,,,,850,,850', '850,850,850,850,850,850,,,,,,850,850,850,850,850,850,850,,,850,,,,,', '850,850,,850,850,850,850,850,850,850,850,850,,850,850,850,,850,850,', '850,850,850,467,,,,,,,,,,,,,,,,467,467,,850,,,850,,,850,850,,,850,,850', '467,,467,850,467,467,467,467,,,467,850,467,,,,850,850,850,850,850,850', ',,,850,850,,,,,,,850,,,850,850,850,859,859,859,859,859,859,,,,859,859', ',,,859,,859,859,859,859,859,859,859,,,,,,859,859,859,859,859,859,859', ',,859,,,,,,859,859,,859,859,859,859,859,859,859,859,859,,859,859,859', ',859,859,,859,859,859,468,,,,,,,,,,,,,,,,468,468,,859,,,859,,,859,859', ',,859,,859,468,,468,859,468,468,468,468,,,468,859,468,,,,859,859,859', '859,859,859,,,,859,859,,,,,,,859,,,859,859,859,898,898,898,898,898,898', ',,,898,898,,,,898,,898,898,898,898,898,898,898,,,,,,898,898,898,898', '898,898,898,,,898,,,,,,898,898,,898,898,898,898,898,898,898,898,898', ',898,898,898,,898,898,,898,898,898,469,,,,,,,,,,,,,,,,469,469,,898,', ',898,,,898,898,,,898,,898,469,,469,898,469,469,469,469,,,469,898,469', ',,,898,898,898,898,898,898,,,,898,898,,,,,,,898,,,898,898,898,902,902', '902,902,902,902,,,,902,902,,,,902,,902,902,902,902,902,902,902,,,,,', '902,902,902,902,902,902,902,,,902,,,,,,902,902,,902,902,902,902,902', '902,902,902,902,,902,902,902,,902,902,,902,902,902,470,,,,,,,,,,,,,', ',,470,470,,902,,,902,,,902,902,,,902,,902,470,,470,902,470,470,470,470', ',,470,902,470,,,,902,902,902,902,902,902,,,,902,902,,,,,,,902,,,902', '902,902,932,932,932,932,932,932,,,,932,932,,,,932,,932,932,932,932,932', '932,932,,,,,,932,932,932,932,932,932,932,,,932,,,,,,932,932,,932,932', '932,932,932,932,932,932,932,,932,932,932,,932,932,,932,932,932,471,471', '471,471,471,471,471,,,471,471,,,,,,471,471,,932,,,932,,,932,932,,,932', ',932,471,,471,932,471,471,471,471,471,471,471,932,471,,,,932,932,932', '932,932,932,,,,932,932,,,,,,,932,,,932,932,932,965,965,965,965,965,965', ',,,965,965,,,,965,,965,965,965,965,965,965,965,,,,,,965,965,965,965', '965,965,965,,,965,,,,,,965,965,,965,965,965,965,965,965,965,965,965', ',965,965,965,,965,965,,965,965,965,472,472,472,472,472,472,472,,,472', '472,,,,,,472,472,,965,,,965,,,965,965,,,965,,965,472,,472,965,472,472', '472,472,472,472,472,965,472,,,,965,965,965,965,965,965,,,,965,965,,', ',,,,965,,,965,965,965,980,980,980,980,980,980,,,,980,980,,,,980,,980', '980,980,980,980,980,980,,,,,,980,980,980,980,980,980,980,,,980,,,,,', '980,980,,980,980,980,980,980,980,980,980,980,,980,980,980,,980,980,', '980,980,980,473,473,473,473,473,473,473,,,473,473,,,,,,473,473,,980', ',,980,,,980,980,,,980,,980,473,,473,980,473,473,473,473,473,473,473', '980,473,,,,980,980,980,980,980,980,,,,980,980,,,,,,,980,,,980,980,980', '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,474,474,474,474', '474,474,474,,,474,474,,,,,,474,474,,985,,,985,,,985,985,,,985,,985,474', ',474,985,474,474,474,474,474,474,474,985,474,,,,985,985,985,985,985', '985,,,,985,985,,,,,,,985,,,985,985,985,988,988,988,988,988,988,,,,988', '988,,,,988,,988,988,988,988,988,988,988,,,,,,988,988,988,988,988,988', '988,,,988,,,,,,988,988,,988,988,988,988,988,988,988,988,988,,988,988', '988,,988,988,,988,988,988,475,475,475,475,475,475,475,,,475,475,,,,', ',475,475,,988,,,988,,,988,988,,,988,,988,475,,475,988,475,475,475,475', '475,475,475,988,475,,,,988,988,988,988,988,988,,,,988,988,,,,,,,988', ',,988,988,988,989,989,989,989,989,989,,,,989,989,,,,989,,989,989,989', '989,989,989,989,,,,,,989,989,989,989,989,989,989,,,989,,,,,,989,989', ',989,989,989,989,989,989,989,989,989,,989,989,989,,989,989,,989,989', '989,478,478,478,478,478,478,478,,,478,478,,,,,,478,478,,989,,,989,,', '989,989,,,989,,989,478,,478,989,478,478,478,478,478,478,478,989,478', ',,,989,989,989,989,989,989,,,,989,989,,,,,,,989,,,989,989,989,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,479,479,479,479,479,479,479,479,,479', '479,,,,,,479,479,,8,,,8,,,8,8,,,8,,8,479,,479,8,479,479,479,479,479', '479,479,8,479,,,,8,8,8,8,8,8,,,,8,8,,,,,,,8,,,8,8,8,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,,711,23,711,711,711,711,711,23,,,,,,,,23,711', ',,,23,23,23,23,23,23,,,,23,23,,,,,,,23,711,,23,23,23,32,32,32,,32,,711', '711,32,32,,,,32,,32,32,32,32,32,32,32,,,,,,32,32,32,32,32,32,32,,,32', ',,,711,,,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,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,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,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,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,,889,38,889,889,889,889,889,,,,,,,,,,889', ',,,38,38,38,38,38,38,,,,38,38,,,,38,,,38,889,,38,38,38,45,45,45,,45', ',889,889,45,45,,,,45,,45,45,45,45,45,45,45,,,,,,45,45,45,45,45,45,45', ',,45,,,,889,,,45,,,45,45,45,45,45,45,45,45,,45,45,45,,45,45,,45,45,45', ',,,,,,,,,,,,,,,,,,,45,,,45,,,45,45,,914,45,914,914,914,914,914,45,,', ',,,,,45,914,,,,45,45,45,45,45,45,,,,45,45,,,,,,,45,914,,45,45,45,46', '46,46,,46,,914,914,46,46,,,,46,,46,46,46,46,46,46,46,,,,,,46,46,46,46', '46,46,46,,,46,,,,914,,,46,,,46,46,46,46,46,46,46,46,,46,46,46,,46,46', ',46,46,46,,,,,,,,,,,,,,,,,,,,46,,,46,,,46,46,,916,46,916,916,916,916', '916,46,,,,,,,,46,916,,,,46,46,46,46,46,46,,,,46,46,,,,,,,46,916,,46', '46,46,47,47,47,,47,,916,916,47,47,,,,47,,47,47,47,47,47,47,47,,,,,,47', '47,47,47,47,47,47,,,47,,,,916,,,47,,,47,47,47,47,47,47,47,47,,47,47', '47,,47,47,,47,47,47,,,,,,,,,,,,,,,,,,,,47,,,47,,,47,47,,918,47,918,918', '918,918,918,47,,,,,,,,47,918,,,,47,47,47,47,47,47,,,,47,47,,,,,,,47', '918,,47,47,47,62,62,62,,62,,918,918,62,62,,,,62,,62,62,62,62,62,62,62', ',,,,,62,62,62,62,62,62,62,,,62,,,,918,,,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,66,66,66,,66,,,,66,66,,,,66,,66,66,66,66,66,66,66,,,,,,66,66,66,66', '66,66,66,,,66,,,,,,,66,,,66,66,66,66,66,66,66,66,,66,66,66,,66,66,,66', '66,66,,,,,,,,,,,,,,,,,,,,66,,,66,,,66,66,,993,66,993,993,993,993,993', '66,,,,,,,,66,993,,,,66,66,66,66,66,66,,,,66,66,,,,,,,66,993,,66,66,66', '67,67,67,,67,,993,993,67,67,,,,67,,67,67,67,67,67,67,67,,,,,,67,67,67', '67,67,67,67,,,67,,,,993,,,67,,,67,67,67,67,67,67,67,67,,67,67,67,,67', '67,,67,67,67,,,,,,,,,,,,,,,,,,,,67,,,67,,,67,67,,995,67,995,995,995', '995,995,67,,,,,,,,67,995,,,,67,67,67,67,67,67,,,,67,67,,,,,,,67,995', ',67,67,67,70,70,70,,70,,995,995,70,70,,,,70,,70,70,70,70,70,70,70,,', ',,,70,70,70,70,70,70,70,,,70,,,,995,,,70,,,70,70,70,70,70,70,70,70,', '70,70,70,,70,70,,70,70,70,,,,,,,,,,,,,,,,,,,,70,,,70,,,70,70,,997,70', '997,997,997,997,997,70,,,,,,,,70,997,,,,70,70,70,70,70,70,,,,70,70,70', ',,,,70,70,997,,70,70,70,71,71,71,,71,,997,997,71,71,,,,71,,71,71,71', '71,71,71,71,,,,,,71,71,71,71,71,71,71,,,71,,,,997,,,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,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,,1010', '116,1010,1010,1010,1010,1010,116,,,,,,,,116,1010,,,,116,116,116,116', '116,116,,,,116,116,,,,,,,116,1010,,116,116,116,117,117,117,,117,,1010', '1010,117,117,,,,117,,117,117,117,117,117,117,117,,,,,,117,117,117,117', '117,117,117,,,117,,,,1010,,,117,,,117,117,117,117,117,117,117,117,,117', '117,117,,117,117,,117,117,117,,,,,,,,,,,,,,,,,,,,117,,,117,,,117,117', ',1041,117,1041,1041,1041,1041,1041,117,,,,,,,,117,1041,,,,117,117,117', '117,117,117,,,,117,117,,,,,,,117,1041,,117,117,117,118,118,118,,118', ',1041,1041,118,118,,,,118,,118,118,118,118,118,118,118,,,,,,118,118', '118,118,118,118,118,,,118,,,,1041,,,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,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,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,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,219,219', '219,,219,,,,219,219,,,,219,,219,219,219,219,219,219,219,,,,,,219,219', '219,219,219,219,219,,,219,,,,,,,219,,,219,219,219,219,219,219,219,219', ',219,219,219,,219,219,,219,219,219,,,,,,,,,,,,,,,,,,,,219,,,219,,,219', '219,,,219,,,,,,219,,,,,,,,219,,,,,219,219,219,219,219,219,,,,219,219', '219,,,,,,219,,,219,219,219,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,,,230,,,,,,230,,,,,,,,230,,,', ',230,230,230,230,230,230,,,,230,230,,,,,,,230,,,230,230,230,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,258,258,258,,258,,,,258,258,,,,258,,258,258', '258,258,258,258,258,,,,,,258,258,258,258,258,258,258,,,258,,,,,,,258', ',,258,258,258,258,258,258,258,258,,258,258,258,,258,258,,258,258,258', ',,,,,,,,,,,,,,,,,,,258,,,258,,,258,258,,,258,,,,,,258,,,,,,,,258,,,', ',258,258,258,258,258,258,,,,258,258,,,,,,,258,,,258,258,258,265,265', '265,,265,,,,265,265,,,,265,,265,265,265,265,265,265,265,,,,,,265,265', '265,265,265,265,265,,,265,,,,,,,265,,,265,265,265,265,265,265,265,265', '265,265,265,265,,265,265,,265,265,265,,,,,,,,,,,,,,,,,,,,265,,,265,', ',265,265,,,265,,265,,265,,265,,,,,,,,265,,,,,265,265,265,265,265,265', ',,,265,265,,,,,,,265,,265,265,265,265,271,271,271,,271,,,,271,271,,', ',271,,271,271,271,271,271,271,271,,,,,,271,271,271,271,271,271,271,', ',271,,,,,,,271,,,271,271,271,271,271,271,271,271,271,271,271,271,,271', '271,,271,271,271,,,,,,,,,,,,,,,,,,,,271,,,271,,,271,271,,,271,,271,', '271,,271,,,,,,,,271,,,,,271,271,271,271,271,271,,,,271,271,,,,,,,271', ',271,271,271,271,274,274,274,,274,,,,274,274,,,,274,,274,274,274,274', '274,274,274,,,,,,274,274,274,274,274,274,274,,,274,,,,,,,274,,,274,274', '274,274,274,274,274,274,274,274,274,274,,274,274,,274,274,274,,,,,,', ',,,,,,,,,,,,,274,,,274,,,274,274,,,274,,274,,274,,274,,,,,,,,274,,,', ',274,274,274,274,274,274,,,,274,274,274,,,,,,274,,274,274,274,274,281', '281,281,,281,,,,281,281,,,,281,,281,281,281,281,281,281,281,,,,,,281', '281,281,281,281,281,281,,,281,,,,,,,281,,,281,281,281,281,281,281,281', '281,,281,281,281,,281,281,,281,281,281,,,,,,,,,,,,,,,,,,,,281,,,281', ',,281,281,,,281,,,,,,281,,,,,,,,281,,,,,281,281,281,281,281,281,,,,281', '281,,,,,,,281,,,281,281,281,283,283,283,,283,,,,283,283,,,,283,,283', '283,283,283,283,283,283,,,,,,283,283,283,283,283,283,283,,,283,,,,,', ',283,,,283,283,283,283,283,283,283,283,,283,283,283,,283,283,,283,283', '283,,,,,,,,,,,,,,,,,,,,283,,,283,,,283,283,,,283,,,,,,283,,,,,,,,283', ',,,,283,283,283,283,283,283,,,,283,283,,,,,,,283,,,283,283,283,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,286,286,286,,286,,,,286,286,,,,286,,286,286', '286,286,286,286,286,,,,,,286,286,286,286,286,286,286,,,286,,,,,,,286', ',,286,286,286,286,286,286,286,286,,286,286,286,,286,286,,286,286,286', ',,,,,,,,,,,,,,,,,,,286,,,286,,,286,286,,,286,,,,,,286,,,,,,,,286,,,', ',286,286,286,286,286,286,,,,286,286,,,,,,,286,,,286,286,286,292,292', '292,292,292,,,,292,292,,,,292,,292,292,292,292,292,292,292,,,,,,292', '292,292,292,292,292,292,,,292,,,,,,292,292,,292,292,292,292,292,292', '292,292,292,,292,292,292,,292,292,,292,292,292,,,,,,,,,,,,,,,,,,,,292', ',,292,,,292,292,,,292,,292,,,,292,,,,,,,,292,,,,,292,292,292,292,292', '292,,,,292,292,,,,,,,292,,,292,292,292,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,298,298,298,298,298,,,,298,298,,,,298,,,298,,,298,298,298', '315,315,315,,315,,,,315,315,,,,315,,315,315,315,315,315,315,315,,,,', ',315,315,315,315,315,315,315,,,315,,,,,,,315,,,315,315,315,315,315,315', '315,315,,315,315,315,,315,315,,,,315,,,,,,,,,,,,,,,,,,,,315,,,315,,', '315,315,,,315,,,,,,,,,,,,,,,,,,,315,315,315,315,315,315,,,,315,315,', ',,,,,315,,,315,315,315,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,324,,,324,,,,,,324,,,,,,,,324,,,,,324', '324,324,324,324,324,,,,324,324,,,,,,,324,,,324,324,324,327,327,327,', '327,,,,327,327,,,,327,,327,327,327,327,327,327,327,,,,,,327,327,327', '327,327,327,327,,,327,,,,,,,327,,,327,327,327,327,327,327,327,327,,327', '327,327,,327,327,,327,327,327,,,,,,,,,,,,,,,,,,,,327,,,327,,,327,327', ',,327,,,,,,327,,,,,,,,327,,,,,327,327,327,327,327,327,,,,327,327,,,', ',,,327,,,327,327,327,333,333,333,,333,,,,333,333,,,,333,,333,333,333', '333,333,333,333,,,,,,333,333,333,333,333,333,333,,,333,,,,,,,333,,,333', '333,333,333,333,333,333,333,333,333,333,333,,333,333,,333,333,333,,', ',,,,,,,,,,,,,,,,,333,,,333,,,333,333,,,333,,,,,,333,,,,,,,,333,,,,,333', '333,333,333,333,333,,,,333,333,,,,,,,333,,333,333,333,333,340,340,340', ',340,,,,340,340,,,,340,,340,340,340,340,340,340,340,,,,,,340,340,340', '340,340,340,340,,,340,,,,,,,340,,,340,340,340,340,340,340,340,340,,340', '340,340,,340,340,,340,340,340,,,,,,,,,,,,,,,,,,,,340,,,340,,,340,340', ',,340,,,,,,340,,,,,,,,340,,,,,340,340,340,340,340,340,,,,340,340,,,', ',,,340,,,340,340,340,341,341,341,,341,,,,341,341,,,,341,,341,341,341', '341,341,341,341,,,,,,341,341,341,341,341,341,341,,,341,,,,,,,341,,,341', '341,341,341,341,341,341,341,,341,341,341,,341,341,,341,341,341,,,,,', ',,,,,,,,,,,,,,341,,,341,,,341,341,,,341,,,,,,341,,,,,,,,341,,,,,341', '341,341,341,341,341,,,,341,341,,,,,,,341,,,341,341,341,353,353,353,', '353,,,,353,353,,,,353,,353,353,353,353,353,353,353,,,,,,353,353,353', '353,353,353,353,,,353,,,,,,,353,,,353,353,353,353,353,353,353,353,,353', '353,353,,353,353,,,,353,,,,,,,,,,,,,,,,,,,,353,,,353,,,353,353,,,353', ',,,,,,,,,,,,,,,,,,353,353,353,353,353,353,,,,353,353,,,,,,,353,,,353', '353,353,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,413,413,413,,413,,,,413,413,,,,413,,413', '413,413,413,413,413,413,,,,,,413,413,413,413,413,413,413,,,413,,,,,', ',413,,,413,413,413,413,413,413,413,413,,413,413,413,,413,413,,413,413', '413,,,,,,,,,,,,,,,,,,,,413,,,413,,,413,413,,,413,,,,,,413,,,,,,,,413', ',,,,413,413,413,413,413,413,,,,413,413,,,,,,,413,,,413,413,413,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,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,450,,,,,,,450,,450,450,450,450,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,453,453,453,,453,,,,453,453,,,,453,,453,453,453,453,453,453,453', ',,,,,453,453,453,453,453,453,453,,,453,,,,,,,453,,,453,453,453,453,453', '453,453,453,,453,453,453,,453,453,,453,453,453,,,,,,,,,,,,,,,,,,,,453', ',,453,,,453,453,,,453,,,,,,453,,,,,,,,453,,,,,453,453,453,453,453,453', ',,,453,453,,,,,,,453,,,453,453,453,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', '495,495,495,,495,,,,495,495,,,,495,,495,495,495,495,495,495,495,,,,', ',495,495,495,495,495,495,495,,,495,,,,,,,495,,,495,495,495,495,495,495', '495,495,495,495,495,495,,495,495,,495,495,495,,,,,,,,,,,,,,,,,,,,495', ',,495,,,495,495,,,495,,495,,495,,495,,,,,,,,495,,,,,495,495,495,495', '495,495,,,,495,495,,,,,,,495,,495,495,495,495,498,498,498,,498,,,,498', '498,,,,498,,498,498,498,498,498,498,498,,,,,,498,498,498,498,498,498', '498,,,498,,,,,,,498,,,498,498,498,498,498,498,498,498,498,498,498,498', ',498,498,,498,498,498,,,,,,,,,,,,,,,,,,,,498,,,498,,,498,498,,,498,', ',,498,,498,,,,,,,,498,,,,,498,498,498,498,498,498,,,,498,498,,,,,,,498', ',498,498,498,498,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,505,505,505,505,505', ',,,505,505,,,,505,,505,505,505,505,505,505,505,,,,,,505,505,505,505', '505,505,505,,,505,,,,,,505,505,,505,505,505,505,505,505,505,505,505', ',505,505,505,,505,505,,505,505,505,,,,,,,,,,,,,,,,,,,,505,,,505,,,505', '505,,,505,,505,,,,505,,,,,,,,505,,,,,505,505,505,505,505,505,,,,505', '505,,,,,,505,505,,,505,505,505,512,512,512,,512,,,,512,512,,,,512,,512', '512,512,512,512,512,512,,,,,,512,512,512,512,512,512,512,,,512,,,,,', ',512,,,512,512,512,512,512,512,512,512,,512,512,512,,512,512,,,,512', ',,,,,,,,,,,,,,,,,,,512,,,512,,,512,512,,,512,,,,,,,,,,,,,,,,,,,512,512', '512,512,512,512,,,,512,512,,,,,,,512,,,512,512,512,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,514,,,,514,514', ',,,,,,514,,514,514,514,514,521,521,521,,521,,,,521,521,,,,521,,521,521', '521,521,521,521,521,,,,,,521,521,521,521,521,521,521,,,521,,,,,,,521', ',,521,521,521,521,521,521,521,521,,521,521,521,,521,521,,,,521,,,,,', ',,,,,,,,,,,,,,521,,,521,,,521,521,,,521,,,,,,,,,,,,,,,,,,,521,521,521', '521,521,521,,,,521,521,,,,,,,521,,,521,521,521,524,524,524,,524,,,,524', '524,,,,524,,524,524,524,524,524,524,524,,,,,,524,524,524,524,524,524', '524,,,524,,,,,,,524,,,524,524,524,524,524,524,524,524,,524,524,524,', '524,524,,524,524,524,,,,,,,,,,,,,,,,,,,,524,,,524,,,524,524,,,524,,', ',,,524,,,,,,,,524,,,,,524,524,524,524,524,524,,,,524,524,,,,,,,524,', ',524,524,524,525,525,525,,525,,,,525,525,,,,525,,525,525,525,525,525', '525,525,,,,,,525,525,525,525,525,525,525,,,525,,,,,,,525,,,525,525,525', '525,525,525,525,525,,525,525,525,,525,525,,525,525,525,,,,,,,,,,,,,', ',,,,,,525,,,525,,,525,525,,,525,,,,,,525,,,,,,,,525,,,,,525,525,525', '525,525,525,,,,525,525,,,,,,,525,,,525,525,525,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,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,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,530,530,536,536,536,,536,,,,536', '536,,,,536,,536,536,536,536,536,536,536,,,,,,536,536,536,536,536,536', '536,,,536,,,,,,,536,,,536,536,536,536,536,536,536,536,536,536,536,536', ',536,536,,536,536,536,,,,,,,,,,,,,,,,,,,,536,,,536,,,536,536,,,536,', '536,,,,536,,,,,,,,536,,,,,536,536,536,536,536,536,,,,536,536,,,,,,,536', ',536,536,536,536,539,539,539,,539,,,,539,539,,,,539,,539,539,539,539', '539,539,539,,,,,,539,539,539,539,539,539,539,,,539,,,,,,,539,,,539,539', '539,539,539,539,539,539,539,539,539,539,,539,539,,539,539,539,,,,,,', ',,,,,,,,,,,,,539,,,539,,,539,539,,,539,,,,,,539,,,,,,,,539,,,,,539,539', '539,539,539,539,,,,539,539,,,,,,,539,,539,539,539,539,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,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,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,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,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,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,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,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,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,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,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,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,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,,,646,,,,,,646,,,,,,,,646,,,,,646,646,646', '646,646,646,,,,646,646,,,,,,,646,,,646,646,646,647,647,647,,647,,,,647', '647,,,,647,,647,647,647,647,647,647,647,,,,,,647,647,647,647,647,647', '647,,,647,,,,,,,647,,,647,647,647,647,647,647,647,647,,647,647,647,', '647,647,,647,647,647,,,,,,,,,,,,,,,,,,,,647,,,647,,,647,647,,,647,,', ',,,647,,,,,,,,647,,,,,647,647,647,647,647,647,,,,647,647,,,,,,,647,', ',647,647,647,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,,671,671,671,,,,,,,,,,,,,', ',,,,,,671,,,671,,,671,671,,,671,,,,,,671,,,,,,,,671,,,,,671,671,671', '671,671,671,,,,671,671,,,,,,,671,,,671,671,671,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', '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,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,713,713,713,', '713,,,,713,713,,,,713,,713,713,713,713,713,713,713,,,,,,713,713,713', '713,713,713,713,,,713,,,,,,,713,,,713,713,713,713,713,713,713,713,,713', '713,713,,713,713,,713,713,713,,,,,,,,,,,,,,,,,,,,713,,,713,,,713,713', ',,713,,,,,,713,,,,,,,,713,,,,,713,713,713,713,713,713,,,,713,713,,,', ',,,713,,,713,713,713,734,734,734,,734,,,,734,734,,,,734,,734,734,734', '734,734,734,734,,,,,,734,734,734,734,734,734,734,,,734,,,,,,,734,,,734', '734,734,734,734,734,734,734,,734,734,734,,734,734,,734,734,734,,,,,', ',,,,,,,,,,,,,,734,,,734,,,734,734,,,734,,734,,,,734,,,,,,,,734,,,,,734', '734,734,734,734,734,,,,734,734,,,,,,,734,,,734,734,734,740,740,740,', '740,,,,740,740,,,,740,,740,740,740,740,740,740,740,,,,,,740,740,740', '740,740,740,740,,,740,,,,,,,740,,,740,740,740,740,740,740,740,740,,740', '740,740,,740,740,,740,740,740,,,,,,,,,,,,,,,,,,,,740,,,740,,,740,740', ',,740,,,,,,740,,,,,,,,740,,,,,740,740,740,740,740,740,,,,740,740,,,', ',,,740,,,740,740,740,746,746,746,,746,,,,746,746,,,,746,,746,746,746', '746,746,746,746,,,,,,746,746,746,746,746,746,746,,,746,,,,,,,746,,,746', '746,746,746,746,746,746,746,746,746,746,746,,746,746,,746,746,746,,', ',,,,,,,,,,,,,,,,,746,,,746,,,746,746,,,746,,746,,746,,746,,,,,,,,746', ',,,,746,746,746,746,746,746,,,,746,746,,,,,,,746,,746,746,746,746,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,770,770,770,,770,,,,770,770,,,,770,,770', '770,770,770,770,770,770,,,,,,770,770,770,770,770,770,770,,,770,,,,,', ',770,,,770,770,770,770,770,770,770,770,,770,770,770,,770,770,,770,770', '770,,,,,,,,,,,,,,,,,,,,770,,,770,,,770,770,,,770,,,,,,770,,,,,,,,770', ',,,,770,770,770,770,770,770,,,,770,770,,,,,,,770,,,770,770,770,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,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,786,786', '786,,786,,,,786,786,,,,786,,786,786,786,786,786,786,786,,,,,,786,786', '786,786,786,786,786,,,786,,,,,,,786,,,786,786,786,786,786,786,786,786', ',786,786,786,,786,786,,786,786,786,,,,,,,,,,,,,,,,,,,,786,,,786,,,786', '786,,,786,,,,,,786,,,,,,,,786,,,,,786,786,786,786,786,786,,,,786,786', ',,,,,,786,,,786,786,786,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,789,789', '789,,789,,,,789,789,,,,789,,789,789,789,789,789,789,789,,,,,,789,789', '789,789,789,789,789,,,789,,,,,,,789,,,789,789,789,789,789,789,789,789', ',789,789,789,,789,789,,789,789,789,,,,,,,,,,,,,,,,,,,,789,,,789,,,789', '789,,,789,,,,,,789,,,,,,,,789,,,,,789,789,789,789,789,789,,,,789,789', ',,,,,,789,,,789,789,789,801,801,801,,801,,,,801,801,,,,801,,801,801', '801,801,801,801,801,,,,,,801,801,801,801,801,801,801,,,801,,,,,,,801', ',,801,801,801,801,801,801,801,801,,801,801,801,,801,801,,,,801,,,,,', ',,,,,,,,,,,,,,801,,,801,,,801,801,,,801,,,,,,,,,,,,,,,,,,,801,801,801', '801,801,801,,,,801,801,,,,,,,801,,,801,801,801,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,,,847,,', ',,,847,,,,,,,,847,,,,,847,847,847,847,847,847,,,,847,847,,,,,,,847,', ',847,847,847,860,860,860,,860,,,,860,860,,,,860,,860,860,860,860,860', '860,860,,,,,,860,860,860,860,860,860,860,,,860,,,,,,,860,,,860,860,860', '860,860,860,860,860,,860,860,860,,860,860,,860,860,860,,,,,,,,,,,,,', ',,,,,,860,,,860,,,860,860,,,860,,,,,,860,,,,,,,,860,,,,,860,860,860', '860,860,860,,,,860,860,,,,,,,860,,,860,860,860,878,878,878,,878,,,,878', '878,,,,878,,878,878,878,878,878,878,878,,,,,,878,878,878,878,878,878', '878,,,878,,,,,,,878,,,878,878,878,878,878,878,878,878,878,878,878,878', ',878,878,,878,878,878,,,,,,,,,,,,,,,,,,,,878,,,878,,,878,878,,,878,', ',,878,,878,,,,,,,,878,,,,,878,878,878,878,878,878,,,,878,878,,,,,,,878', ',878,878,878,878,879,879,879,,879,,,,879,879,,,,879,,879,879,879,879', '879,879,879,,,,,,879,879,879,879,879,879,879,,,879,,,,,,,879,,,879,879', '879,879,879,879,879,879,,879,879,879,,879,879,,879,879,879,,,,,,,,,', ',,,,,,,,,,879,,,879,,,879,879,,,879,,,,,,879,,,,,,,,879,,,,,879,879', '879,879,879,879,,,,879,879,,,,,,,879,,,879,879,879,894,894,894,,894', ',,,894,894,,,,894,,894,894,894,894,894,894,894,,,,,,894,894,894,894', '894,894,894,,,894,,,,,,,894,,,894,894,894,894,894,894,894,894,,894,894', '894,,894,894,,,,894,,,,,,,,,,,,,,,,,,,,894,,,894,,,894,894,,,894,,,', ',,,,,,,,,,,,,,,894,894,894,894,894,894,,,,894,894,,,,,,,894,,,894,894', '894,906,906,906,,906,,,,906,906,,,,906,,906,906,906,906,906,906,906', ',,,,,906,906,906,906,906,906,906,,,906,,,,,,,906,,,906,906,906,906,906', '906,906,906,,906,906,906,,906,906,,,,906,,,,,,,,,,,,,,,,,,,,906,,,906', ',,906,906,,,906,,,,,,,,,,,,,,,,,,,906,906,906,906,906,906,,,,906,906', ',,,,,,906,,,906,906,906,931,931,931,,931,,,,931,931,,,,931,,931,931', '931,931,931,931,931,,,,,,931,931,931,931,931,931,931,,,931,,,,,,,931', ',,931,931,931,931,931,931,931,931,,931,931,931,,931,931,,931,931,931', ',,,,,,,,,,,,,,,,,,,931,,,931,,,931,931,,,931,,931,,,,931,,,,,,,,931', ',,,,931,931,931,931,931,931,,,,931,931,,,,,,,931,,,931,931,931,1006', '1006,1006,,1006,,,,1006,1006,,,,1006,,1006,1006,1006,1006,1006,1006', '1006,,,,,,1006,1006,1006,1006,1006,1006,1006,,,1006,,,,,,,1006,,,1006', '1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,,1006,1006,,1006', '1006,1006,,,,,,,,,,,,,,,,,,,,1006,,,1006,,,1006,1006,,,1006,,1006,,1006', ',1006,,,,,,,,1006,,,,59,1006,1006,1006,1006,1006,1006,59,59,59,1006', '1006,59,59,59,,59,,1006,,1006,1006,1006,1006,,,59,59,59,,,,,,,,59,59', ',59,59,59,59,59,,,,,,,,,,,,,,,,,,,,,,,,59,59,59,59,59,59,59,59,59,59', '59,59,59,59,,,59,59,59,,,59,,,59,,,59,59,,59,,59,,59,,59,59,59,59,59', '59,59,,59,,59,,,,,,,,,,,,,59,59,59,59,433,59,,59,,,,433,433,433,,,433', '433,433,546,433,546,546,546,546,546,,,,433,433,433,433,,,546,,,,,433', '433,,433,433,433,433,433,,,,,,,,,,546,,,,,,,,,546,546,546,546,,433,433', '433,433,433,433,433,433,433,433,433,433,433,433,,,433,433,433,,,433', ',,433,,,433,433,,433,546,433,,433,,433,433,433,433,433,433,433,,433', '433,433,,,,,,,,,,,,,433,433,433,433,434,433,,433,,,,434,434,434,,,434', '434,434,599,434,599,599,599,599,599,,,,434,434,434,434,,,599,,,,,434', '434,,434,434,434,434,434,,,,,,,,,,599,599,,,,,,,,599,599,599,599,,434', '434,434,434,434,434,434,434,434,434,434,434,434,434,,,434,434,434,,', '434,,,434,,,434,434,,434,599,434,,434,,434,434,434,434,434,434,434,', '434,434,434,,,,,,,,,,,,,434,434,434,434,30,434,,434,,,,30,30,30,,,30', '30,30,707,30,707,707,707,707,707,,,,30,30,30,,,,707,,,,,30,30,,30,30', '30,30,30,,,,,,,,,,707,,,,,,,,,707,707,707,707,,30,30,30,30,30,30,30', '30,30,30,30,30,30,30,,,30,30,30,,,30,,30,30,,,30,30,,30,707,30,,30,', '30,30,30,30,30,30,30,,30,30,30,,,,,,,,,,,,31,30,30,,30,,30,31,31,31', ',,31,31,31,709,31,709,709,709,709,709,,,,,31,31,,,,709,,,,,31,31,,31', '31,31,31,31,,,,,,,,,,709,,,,,,,,,709,709,709,709,,31,31,31,31,31,31', '31,31,31,31,31,31,31,31,,,31,31,31,,,31,,31,31,,,31,31,,31,709,31,,31', ',31,31,31,31,31,31,31,,31,,31,,,,,,,,,,,,424,31,31,,31,,31,424,424,424', ',,424,424,424,754,424,754,754,754,754,754,,,,424,424,424,,,,754,,,,', '424,424,,424,424,424,424,424,,,,,,,,,,754,,,,,,,,,754,754,754,754,,424', '424,424,424,424,424,424,424,424,424,424,424,424,424,,,424,424,424,,', '424,,424,424,,,424,424,,424,754,424,,424,,424,424,424,424,424,424,424', ',424,424,424,,,,,,,,,,,,482,424,424,,424,,424,482,482,482,,,482,482', '482,,482,658,,658,658,658,658,658,,482,482,,,,,,,658,,,482,482,,482', '482,482,482,482,,,884,,884,884,884,884,884,,,658,,,,,,,884,,658,658', '658,658,,,,,,,,,,,482,,,,,,884,482,,,,,482,482,658,884,884,884,884,', ',,658,,211,211,,,211,,,,,,482,482,,211,211,,211,211,211,211,211,211', '211,,482,211,211,884,,482,211,211,211,211,,,,,,211,,,,,,,,211,211,,211', '211,211,211,211,211,211,211,211,211,211,,,211,,,,,,,,,,212,212,,,212', ',,,,,211,,,212,212,211,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,,887,212,887,887,887,887,887,,,,,261,261,,,261,887,,,,,212', ',,261,261,212,261,261,261,261,261,261,261,,,261,261,887,,,261,261,261', '261,,,887,887,887,887,,,,,,,,261,261,,261,261,261,261,261,261,261,261', '261,261,261,,,261,,,,,,,,,887,448,448,,,448,,,,,,261,,,448,448,261,448', '448,448,448,448,448,448,,,448,448,,,,448,448,448,448,,,,,,448,,,,,,', ',448,448,,448,448,448,448,448,448,448,448,448,448,448,,,448,,,,,,,,', ',449,449,,,449,,,,,,448,,,449,449,448,449,449,449,449,449,449,449,,', '449,449,,,,449,449,449,449,,,,,,449,,,,,,,,449,449,,449,449,449,449', '449,449,449,449,449,449,449,,,449,,,,,,,,,,515,515,,,515,,,,,,449,,', '515,515,449,515,515,515,515,515,515,515,,,515,515,,,,515,515,515,515', ',,,,,515,,,,,,,,515,515,,515,515,515,515,515,515,515,515,515,515,515', ',,515,,,,,,,,,,516,516,,,516,,,,,,515,,,516,516,515,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,,,,,,,,,,527,527,,,527', ',,,,,516,,,527,527,516,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,,,,,,,,,,528,528,,,528,,,,,,527,,,528,528,527,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,,,,,,,,', ',586,586,,,586,,,,,,528,,,586,586,528,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,,,,,,,,,,587,587,,,587,,,,,,586,,', '587,587,586,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,,,,,,,,,,744,744,,,744,,,,,,587,,,744,744,587,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,,,,,,,,,,745,745,,,745', ',,,,,744,,,745,745,744,745,745,745,745,745,745,745,,,745,745,,,,745', '745,745,745,,,,,,745,,,,,,,,745,745,,745,745,745,745,745,745,745,745', '745,745,745,,,745,,,,,,,,,,958,958,,,958,,,,,,745,,,958,958,745,958', '958,958,958,958,958,958,,,958,958,,,,958,958,958,958,,,,,,958,,,,,,', ',958,958,,958,958,958,958,958,958,958,958,958,958,958,,,958,,,,,,,,', ',1007,1007,,,1007,,,,,,958,,,1007,1007,958,1007,1007,1007,1007,1007', '1007,1007,,,1007,1007,,,,1007,1007,1007,1007,,,,,,1007,,,,,,,,1007,1007', ',1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,,,1007,,,,,', ',,,,1008,1008,,,1008,,,,,,1007,,,1008,1008,1007,1008,1008,1008,1008', '1008,1008,1008,,,1008,1008,,,,1008,1008,1008,1008,,,,,,1008,,,,,,,,1008', '1008,,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,,912,1008', '912,912,912,912,912,941,,941,941,941,941,941,,,912,,,,,1008,,941,,991', '1008,991,991,991,991,991,,,,,,,912,,,991,,,,941,941,912,912,912,912', ',,,941,941,941,941,,,,,,991,,,,,,,,,991,991,991,991,,,,,,,,912,,,,,', ',941,,,,,,,,,,,,,,,,,,991' ] racc_action_check = arr = ::Array.new(25632, 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, 1732, 65, nil, 180, nil, nil, 5841, 779, nil, 779, 917, 111, nil, 112, 179, 232, 301, 169, 159, nil, -71, 5977, 2143, 321, nil, 105, nil, 150, 23889, 24014, 6113, 6249, 6385, nil, 1869, 6521, 6657, nil, 231, 308, 380, 327, 443, 6793, 6929, 7065, 264, 318, nil, nil, nil, nil, nil, nil, nil, nil, nil, 23499, nil, -30, 7201, nil, -22, nil, 7337, 7473, nil, nil, 7609, 7745, 324, nil, 1055, nil, nil, nil, nil, nil, 104, nil, nil, nil, nil, nil, nil, 281, 315, 319, 345, 1193, nil, nil, nil, 0, nil, nil, 130, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 7881, nil, nil, nil, nil, 8017, 8153, 8289, 8425, 8561, 383, nil, 231, 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, 392, nil, 2006, 8697, 8833, 8969, 24315, 24388, nil, 9105, 9241, 9377, 9513, 9649, 9785, nil, nil, 421, -40, 45, 472, 92, 393, 473, nil, 9921, 2143, 510, 10057, 10193, 10329, 10465, 10601, 10737, 10873, 11009, 11145, 11281, 11417, 11553, 11689, 11825, 11961, 12097, 12233, 12369, 12505, 12641, 12777, 12913, 13049, 13185, 13321, 13457, nil, nil, 24461, nil, nil, 505, 13593, nil, 520, nil, nil, nil, 13729, nil, nil, 13865, nil, 2280, nil, 491, 495, nil, 14001, 538, 14137, nil, 14273, 14409, nil, nil, 253, nil, 917, 14545, 490, 2280, 506, 543, 517, 14681, 2417, 463, 518, 557, 607, 606, nil, 574, 549, -19, nil, nil, nil, 596, 497, 559, 14817, nil, 400, 623, 639, 818, nil, 663, nil, 14953, 2554, nil, 15089, 641, nil, -91, 51, 647, 15225, nil, nil, 604, 555, -11, -10, 15361, 15497, 320, 736, 639, 6, 20, 821, 720, 22, 783, nil, nil, 15633, nil, 15769, 207, 209, 331, 388, 393, 422, 484, 600, 611, nil, 651, nil, nil, nil, nil, nil, 124, nil, 128, nil, 360, nil, 710, 292, nil, 715, 296, nil, 719, -42, nil, 722, -31, nil, 321, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 2691, 1331, nil, nil, nil, nil, 744, nil, 729, nil, 15905, 730, nil, 1869, 739, nil, nil, 743, 750, 414, 415, 24139, nil, nil, nil, 260, 385, 801, nil, nil, 23629, 23759, nil, 2417, nil, 752, nil, nil, 1732, nil, nil, nil, nil, -16, nil, 24534, 24607, 16041, 135, 16177, 16313, 16449, 4061, 4198, -50, 566, 828, 830, 831, 833, 673, 770, 908, 4335, 4472, 4609, 4746, 4883, 5020, 5157, 5294, 5431, 5568, 330, 655, 5705, 5841, 2554, -50, 24264, nil, nil, nil, nil, nil, nil, -43, -11, 775, 784, nil, nil, 16585, nil, nil, 16721, nil, 16857, nil, nil, nil, nil, 16993, 1055, 788, 787, nil, nil, 788, 17129, 818, 17265, 24680, 24753, 951, 855, nil, nil, 17401, 841, nil, 17537, 17673, 17809, 24826, 24899, 2691, 17945, 964, 964, 608, nil, nil, 18081, nil, nil, 18217, nil, 866, nil, 348, 895, 22, 23593, nil, 866, 867, nil, 868, 874, 880, nil, nil, nil, nil, nil, nil, 870, nil, 477, nil, 18353, nil, nil, nil, 966, nil, nil, nil, 982, nil, nil, 984, 2828, 1026, nil, 2965, 56, 60, 1023, 1034, nil, 18489, 24972, 25045, 32, nil, 201, 229, -3, nil, 952, nil, 10, 18625, nil, 23723, nil, 18761, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 310, nil, nil, 317, nil, nil, nil, 914, nil, nil, 917, nil, 935, nil, 1469, nil, 920, 18897, 19033, 416, 957, 19169, 19305, 19441, 19577, 956, nil, nil, nil, 19713, 19849, 957, nil, 19985, 20121, nil, 178, 185, 510, 640, 929, 2006, 953, nil, nil, 24230, nil, nil, 1055, -10, 203, nil, nil, nil, nil, 954, nil, 1023, 20257, nil, nil, 1193, -78, 20393, 984, nil, 989, 34, 90, 1026, 230, 1056, 1027, 989, 20529, 2828, 1062, 1076, -14, 1130, 20665, nil, 1022, 413, nil, nil, nil, 3102, 3239, 1026, 221, nil, nil, 573, 23853, nil, 23978, nil, 6021, nil, 20801, nil, 510, nil, 1026, 321, nil, 1047, nil, nil, nil, nil, 749, nil, 1162, nil, nil, nil, nil, 1171, nil, 20937, 1055, 33, 36, 152, 154, 21073, nil, 956, nil, 25118, 25191, 21209, nil, nil, nil, 382, 728, 3376, 3513, 24103, 561, 1607, 156, 782, 3650, nil, nil, nil, nil, nil, nil, nil, 1053, 21345, 2965, 21481, nil, 1056, nil, 3102, nil, 3239, nil, nil, 3376, nil, 3513, nil, 3650, 21617, 21753, 21889, 22025, 217, 22161, 1061, 1062, nil, 1063, 1064, 1090, nil, 1111, 1095, 1123, 1116, 22297, nil, nil, 3787, nil, nil, nil, 3924, 4061, nil, nil, 1130, 186, nil, nil, 1259, nil, 4198, 1139, 1184, nil, nil, nil, nil, 1160, 1270, 1154, 1152, nil, nil, nil, 1153, 1155, nil, 1156, 1157, nil, 1159, nil, 1163, 574, 1161, 517, nil, 1284, nil, 22433, 1296, 4335, 4472, nil, -7, 39, 63, 268, 1057, nil, 1180, 4609, 22569, nil, 595, 1299, 1300, 1184, nil, nil, nil, nil, nil, nil, nil, nil, 1198, 1183, nil, 3787, 22705, 22841, 3924, 249, nil, nil, 24259, nil, nil, 24450, nil, 6701, nil, nil, 1204, 923, 22977, 1036, 1259, 1306, 4746, 1203, 1308, nil, 4883, nil, nil, -8, 23113, nil, nil, nil, nil, nil, 25472, nil, 6837, nil, 6973, nil, 7109, nil, nil, nil, nil, 351, 644, 1189, nil, 19, nil, 1310, 1311, 23249, 5020, nil, nil, 1312, 624, nil, nil, nil, nil, 25479, nil, 1193, nil, nil, 1194, 1195, 1196, 1197, nil, 1199, nil, 447, nil, nil, nil, 1055, 25264, nil, nil, 1216, nil, nil, nil, 5157, 1089, 1090, 1092, 1275, 1093, nil, 1202, 1228, 1229, 1230, 1241, 813, 1242, 854, 5294, nil, nil, nil, 469, 5431, nil, nil, 5568, 5705, nil, 25497, nil, 7381, nil, 7517, nil, 7653, nil, nil, nil, 1198, 1282, 1283, nil, 1367, 23385, 25337, 25410, 1094, 8061, nil, nil, nil, nil, 951, 1255, 792, nil, nil, nil, 1376, 1378, 1379, 1260, 1261, 1262, 1263, nil, nil, 1267, 21, 22, 122, 1193, 1265, 1268, nil, nil, nil, nil, 8197, nil, nil, nil, nil, 33, nil, 1276, nil ] racc_action_default = [ -1, -620, -619, -620, -2, -606, -4, -5, -620, -8, -9, -620, -620, -620, -29, -620, -620, -620, -281, -620, -41, -44, -608, -620, -49, -51, -52, -53, -58, -260, -260, -260, -295, -334, -335, -70, -619, -74, -82, -84, -620, -515, -516, -620, -620, -620, -620, -620, -608, -241, -272, -273, -274, -275, -276, -277, -278, -279, -280, -595, -283, -286, -619, -293, -303, -406, -620, -620, -308, -311, -606, -620, -319, -326, -620, -336, -337, -448, -449, -450, -451, -452, -453, -619, -456, -619, -619, -619, -619, -619, -619, -619, -493, -499, -500, -593, -504, -505, -594, -507, -508, -509, -510, -511, -512, -513, -514, -519, -520, 1050, -3, -607, -615, -616, -617, -7, -620, -620, -620, -620, -620, -620, -17, -620, -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, -619, -620, -620, -619, -620, -620, -605, -620, -620, -620, -620, -620, -608, -609, -48, -620, -515, -516, -620, -281, -620, -620, -233, -620, -619, -620, -620, -620, -620, -620, -620, -620, -620, -620, -620, -620, -620, -620, -620, -620, -620, -620, -620, -620, -620, -620, -620, -620, -620, -620, -620, -620, -412, -415, -620, -603, -604, -59, -620, -302, -620, -429, -432, -65, -619, -426, -66, -608, -67, -242, -255, -619, -619, -259, -620, -265, -620, -588, -620, -620, -68, -69, -606, -13, -14, -620, -72, -619, -608, -620, -75, -78, -619, -90, -91, -620, -620, -98, -295, -298, -608, -419, -334, -335, -338, -427, -620, -80, -620, -86, -291, -501, -502, -620, -218, -219, -234, -620, -619, -285, -620, -620, -243, -612, -612, -620, -619, -304, -305, -547, -50, -620, -620, -620, -620, -606, -620, -607, -515, -516, -620, -620, -281, -620, -359, -360, -620, -322, -620, -113, -114, -156, -157, -158, -174, -179, -186, -189, -329, -620, -515, -516, -583, -584, -454, -620, -477, -620, -479, -620, -481, -620, -620, -461, -620, -620, -467, -620, -620, -473, -620, -620, -475, -620, -492, -494, -495, -496, -497, -6, -618, -23, -24, -25, -26, -27, -619, -620, -19, -20, -21, -123, -620, -30, -39, -40, -620, -620, -31, -199, -608, -250, -251, -619, -619, -596, -597, -260, -424, -598, -599, -597, -596, -260, -423, -425, -598, -599, -37, -207, -38, -620, -42, -43, -197, -265, -45, -46, -47, -608, -301, -620, -620, -619, -291, -620, -620, -620, -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, -608, -619, -260, -596, -597, -55, -60, -261, -420, -619, -619, -608, -608, -297, -256, -620, -264, -257, -620, -262, -620, -266, -591, -592, -12, -607, -16, -608, -71, -289, -87, -76, -620, -608, -619, -620, -620, -97, -620, -501, -502, -620, -83, -88, -620, -620, -620, -620, -620, -239, -620, -440, -620, -287, -610, -244, -614, -613, -246, -614, -292, -620, -586, -612, -620, -620, -547, -409, -582, -582, -530, -532, -532, -532, -546, -548, -549, -550, -551, -552, -553, -554, -620, -556, -620, -562, -564, -565, -567, -572, -574, -575, -577, -578, -579, -620, -619, -350, -351, -619, -620, -620, -620, -620, -435, -619, -620, -620, -291, -316, -108, -109, -620, -111, -620, -281, -620, -620, -327, -547, -331, -620, -455, -478, -483, -484, -486, -457, -480, -458, -482, -459, -460, -620, -463, -465, -620, -466, -469, -470, -620, -471, -472, -620, -498, -620, -18, -620, -28, -271, -620, -620, -428, -620, -252, -254, -620, -620, -61, -248, -249, -421, -620, -620, -63, -422, -620, -620, -300, -596, -597, -596, -597, -608, -197, -620, -395, -396, -608, -398, -413, -54, -416, -619, -430, -433, -247, -296, -619, -263, -267, -620, -589, -590, -15, -73, -620, -79, -85, -608, -596, -597, -619, -94, -96, -620, -81, -620, -206, -216, -217, -608, -619, -619, -284, -608, -612, -294, -587, -407, -619, -619, -608, -620, -528, -529, -620, -620, -539, -620, -542, -620, -544, -620, -361, -620, -363, -365, -372, -553, -608, -558, -566, -576, -580, -619, -352, -619, -309, -353, -354, -312, -620, -315, -620, -608, -596, -597, -600, -290, -620, -108, -109, -110, -620, -620, -619, -320, -521, -522, -620, -323, -619, -619, -547, -620, -620, -608, -620, -619, -462, -464, -468, -474, -476, -10, -124, -269, -620, -200, -620, -611, -619, -33, -202, -34, -203, -62, -35, -205, -36, -204, -64, -198, -620, -620, -620, -620, -428, -620, -582, -582, -377, -619, -619, -619, -394, -620, -608, -400, -553, -620, -560, -570, -619, -418, -417, -56, -619, -619, -258, -268, -77, -92, -89, -299, -619, -357, -619, -441, -619, -442, -443, -288, -245, -620, -620, -608, -582, -563, -581, -531, -532, -532, -557, -532, -532, -573, -532, -568, -608, -620, -370, -620, -555, -620, -355, -620, -620, -619, -619, -314, -620, -428, -620, -108, -109, -112, -608, -619, -620, -524, -620, -620, -620, -608, -526, -332, -585, -485, -488, -489, -490, -491, -620, -270, -32, -201, -253, -620, -240, -620, -375, -376, -385, -379, -387, -620, -390, -620, -392, -397, -620, -620, -620, -559, -620, -620, -619, -620, -620, -11, -619, -447, -358, -620, -620, -445, -410, -411, -408, -527, -620, -535, -620, -537, -620, -540, -620, -543, -545, -362, -364, -368, -620, -373, -306, -620, -307, -620, -620, -620, -619, -317, -428, -620, -620, -324, -328, -330, -525, -547, -487, -582, -561, -378, -619, -619, -619, -619, -571, -619, -399, -608, -402, -404, -405, -569, -620, -291, -414, -620, -431, -434, -446, -619, -99, -100, -620, -620, -107, -444, -532, -532, -532, -532, -366, -620, -371, -620, -619, -310, -313, -267, -619, -619, -321, -523, -619, -619, -374, -620, -382, -620, -384, -620, -388, -620, -391, -393, -401, -620, -290, -600, -57, -440, -619, -620, -620, -106, -620, -533, -536, -538, -541, -620, -369, -619, -436, -437, -438, -620, -620, -620, -619, -619, -619, -619, -403, -439, -608, -596, -597, -600, -105, -532, -367, -356, -318, -325, -333, -620, -380, -383, -386, -389, -428, -534, -619, -381 ] clist = [ '6,218,277,277,277,221,334,211,532,554,17,365,417,127,127,583,17,692', '278,278,278,440,632,326,260,486,753,324,392,4,672,222,122,206,497,297', '130,130,704,705,222,222,222,547,17,302,302,261,330,412,272,424,430,132', '132,114,437,111,535,538,329,279,279,279,9,311,311,110,845,314,9,672', '816,491,222,222,127,522,222,347,743,373,795,375,377,380,383,386,389', '375,837,331,922,127,669,728,731,669,834,311,797,482,794,576,579,338', '339,848,293,342,264,270,273,720,295,1,950,374,115,17,114,954,2,390,222', '222,222,222,17,925,660,833,343,835,956,121,901,613,664,665,616,603,205', '352,827,610,404,596,614,598,663,614,898,627,332,398,399,400,401,662', '275,287,288,369,541,335,350,672,747,366,411,325,327,9,695,333,497,442', '340,849,277,447,402,341,850,740,985,353,859,597,410,415,862,988,414', '355,435,439,752,599,756,414,941,796,798,953,545,699,418,336,978,481', '448,804,434,17,222,222,222,554,950,396,222,222,222,222,222,222,489,1028', '922,425,857,669,669,277,493,808,490,17,892,277,956,499,277,501,809,502', '503,1018,734,278,653,702,732,820,905,508,788,371,278,372,376,1016,379', '382,840,385,388,418,869,698,554,222,677,834,496,496,758,222,882,883', '222,686,813,16,518,488,424,430,759,16,515,837,279,544,391,860,832,829', '17,1036,17,279,944,601,302,17,947,834,527,948,807,523,,,679,,911,16', ',,,302,,,311,,946,511,,542,272,17,,222,972,586,,114,853,505,,311,,,', ',222,222,,504,,,506,682,,,,,1037,594,543,594,1019,,293,682,989,933,', '293,507,,,629,,513,,580,581,311,761,311,,761,600,735,834,,,,114,487', '16,,633,,,777,,6,492,16,582,782,127,,648,,672,17,,,,1024,,,496,496,277', ',639,810,824,626,682,554,,130,625,,,990,,863,864,,812,,,,,,640,,132', ',418,,645,434,440,666,667,,,670,222,655,544,865,673,934,,9,,,425,675', ',,,,,678,,669,,656,639,,,,277,,,656,656,,16,1029,,,,,,,670,,,544,640', ',,638,,,,,523,644,418,17,16,,,,434,523,302,,222,,668,,721,810,,302,434', ',,,821,425,,,222,,311,,935,,,,,425,858,311,,,,,,277,,,,,,,,661,,696', ',674,,,,,,,,16,,16,,,,,16,418,17,682,,17,,434,337,337,767,222,337,,670', '544,,,,,,,806,222,425,,16,222,,,,714,554,,,932,773,775,,,,,778,780,', ',439,127,729,729,633,811,,1046,,799,,,337,337,337,337,222,222,748,,766', ',222,222,130,815,222,819,1020,823,633,,805,656,,772,,,496,29,,132,965', '1022,1023,29,523,839,,,,414,639,799,844,,302,814,16,,29,,817,822,980', '867,,302,442,29,29,29,,29,640,,311,645,,,17,17,,,,,633,311,277,,,868', '852,18,,817,,817,,18,,,875,29,29,,,29,,,,,443,444,445,446,418,,434,', '222,,,,876,,222,18,304,304,127,,17,17,,,,425,714,17,,842,496,,,,,,29', '799,222,854,,29,29,29,29,29,,,16,910,349,885,885,885,,,,,,,861,,921', ',,866,,,1030,895,,,17,,903,,17,17,907,,,,,,,,17,940,,311,18,,,,,,,633', ',18,544,,,,,,,682,,,,533,,791,19,222,,17,17,16,19,,16,,337,337,,17,222', ',,,29,29,29,29,,,,29,29,29,29,29,29,,927,,19,,,,714,983,714,,29,,828', '936,296,,957,,729,,17,886,888,890,17,,937,,968,708,710,712,,,,,311,351', ',,18,,,,29,,1000,,311,,29,,,29,17,,,,885,885,885,885,,885,18,,,,,,,29', '1007,29,434,,,19,29,,,,,,,,19,17,976,714,277,,,,,792,817,16,16,,987', ',17,,29,,29,17,,,17,17,793,,,,,,418,29,29,,,633,434,18,,18,222,817,', '304,18,,,,885,885,885,885,830,425,714,830,714,,,,304,16,16,,,,,,16,', '18,,885,,,836,,838,,,691,,,,,19,992,994,996,998,,999,714,438,29,,,409', '595,,595,,943,,,791,,,791,19,791,,,16,,,,16,16,,,296,,,,,41,16,,,,,41', ',,,,,,,,29,,,,,,751,18,,,757,,,,,,,16,16,41,300,300,,1042,1043,1044', '1045,16,,19,,19,,,,,19,,,,,,,296,,,,1049,296,,,,,,345,29,,367,,,,,19', ',29,,16,,,,16,791,,791,,791,,791,,,29,913,915,,917,919,,920,,830,,,792', ',41,792,,792,,,16,,,41,,,,,,18,,,949,,951,,304,,,,,791,,,,304,29,,,29', ',,,16,,29,,973,,974,19,975,,,,,,29,16,337,,29,,16,,,16,16,,,,,,,,,,', ',,,,,,,,,,,,18,,,18,,,29,29,,,41,,29,29,,,29,,,792,,792,,792,,792,,', ',,,,,,41,,1025,,1026,,1027,1011,1012,1013,1014,,,,,,,,,,,1035,,,,,,', '19,,,,,,,792,29,29,42,,,,337,,42,,,,,,,,1048,,,337,,,,,,41,,41,,,304', '300,41,,1047,,42,301,301,,29,304,,,,,29,,300,,,,29,29,18,18,,,41,29', ',,,19,,,19,,,,29,346,,,368,725,,,727,,,,,,,,367,,367,,,,,,,,,,,,,,,', '29,,18,18,29,29,,42,873,18,,,,,29,,42,,,,,,,,,,,,,438,,,41,,,,,,,,,', ',29,,29,29,,,,,595,,,18,29,29,,18,18,,,,,,,,,18,,,,,,,,,,,,,,,19,19', ',,,,,,,,,29,825,826,,29,18,18,,,42,,,,,,18,,,,,,,,,,,,,,,,,,42,29,,', ',,,41,19,19,,,,,300,19,,595,,,,18,,300,,18,,874,,970,,,,,29,,,,,,,,', ',,,,,,29,,,,,29,18,,29,29,,19,42,,42,19,19,,301,42,,,,897,,19,29,899', '900,41,,,41,,,301,,904,,18,,,,,,42,,,,,,,,,18,,19,19,,18,,,18,18,,,19', ',929,930,,,,368,,368,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,19,,,,19,,,,971,,', ',961,,,,964,,42,,,,,,300,,,,,,,,,,19,300,,,,,,,,,,,984,,41,41,,,,,,', ',,,,,,,,,,,19,,,,,,,,,,,,1005,,,19,,,,,19,,,19,19,,,1017,,,,,1021,41', '41,,,,,,41,,,,,,,,,,,,,42,,,,,,,301,,,,,,,,,301,,,,,,,,,,,,,367,,,41', ',,,41,41,,,,,,,,,41,,,,,,,,,,,,229,,,,,,,,,276,276,276,,42,,,42,,,41', '41,,321,322,323,,,,,41,,,,,,,,,,276,,,,,,,,,,,,,,,,,,,,,,,,,367,,,,41', ',,,41,,,,966,,,,,,,,,,,,,,,,,,,,,,,,,,41,,,,,,,,,,,301,,,,,,,,,,,301', ',,,,,,,,,,41,,42,42,,,,,,,,,,,,41,,,,,41,,,41,41,,,,,,,,,,,,,,,,,,,', ',,,,,,276,416,276,,42,42,436,441,,,,42,,,,,,,,,,,229,,,455,456,457,458', '459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475', '476,477,478,479,480,,,368,,,42,276,,,42,42,,276,,,276,,,,42,,,276,,276', ',276,276,,,,,,,,,,,,,,,,,,,,,,,42,42,,,,,,,,,42,,,,,529,,,,,,,,,276', ',,,,,,,,,,,,,,,,,,,,368,,,,42,,,,42,,,,967,,,,,,,,,,,,,,,,,,,,,,,,,', '42,,,,,,,,,,,,,,,,,,,,,276,,,,,,,,,,,,42,,,,,,,,,,,,,,,42,,,,,42,,,42', '42,276,,436,654,416,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,276,,,276', ',276,,,,,,,,,,,,,,276,,,,,,,,,,688,689,690,,,,,,,,,,276,,,276,,,,,,', ',,,,,,,,,,,,,,,,,,276,,,,,,,,,,,,,,,,,,,,,276,,,,,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,276,769,,,276,276,774,776,,,,,779,781,,,654,783', ',,,,,,,,,,,,,,,,,,,,,,,276,,,,,,,,,,,,,,,,,,,,,,276,,,,,,,,,,,,,,,,', ',,,276,,,,,,,,,,,,,,,,,,,,,276,,,,,,,,,,,,276,,,,,,,,,,,,,,,,,,,,,,276', ',877,,,,,,,,,,,,,,774,776,781,779,,880,,,,,,,,,,,,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,276,877,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,276,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,276' ] racc_goto_table = arr = ::Array.new(2912, 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,34,36,36,36,22,87,27,10,183,24,60,25,61,61,93,24,13,69,69,69,20,26', '51,153,42,97,34,60,2,196,24,17,17,74,53,64,64,137,137,24,24,24,152,24', '24,24,39,69,30,72,40,40,65,65,96,30,8,70,70,6,71,71,71,9,67,67,5,91', '54,9,196,14,25,24,24,61,55,24,24,58,6,143,6,6,6,6,6,6,6,191,71,130,61', '75,92,92,75,187,67,145,40,142,90,90,19,19,14,49,19,41,41,41,132,50,1', '192,170,7,24,96,147,3,170,24,24,24,24,24,133,43,143,5,143,148,11,15', '173,43,43,173,174,18,21,145,174,33,59,174,59,45,174,46,66,68,19,19,19', '19,73,48,48,48,85,86,89,94,196,95,98,31,99,100,9,101,102,74,31,103,104', '36,51,9,105,106,107,108,109,110,111,22,22,112,113,69,114,22,22,115,116', '117,69,118,134,140,146,149,150,6,151,133,154,27,155,61,24,24,24,24,183', '192,7,24,24,24,24,24,24,158,147,130,72,58,75,75,36,51,159,160,24,145', '36,148,31,36,31,161,31,31,162,163,69,25,152,93,164,165,51,26,168,69', '169,171,133,172,175,132,176,177,6,178,70,183,24,55,187,6,6,179,24,137', '137,24,55,26,23,34,72,40,40,180,23,27,191,71,31,181,182,186,188,24,133', '24,71,189,195,24,24,143,187,27,143,43,53,,,25,,137,23,,,,24,,,67,,142', '54,,6,72,24,,24,143,27,,96,26,8,,67,,,,,24,24,,5,,,9,40,,,,,91,24,71', '24,14,,49,40,97,92,,49,50,,,31,,50,,19,19,67,174,67,,174,39,25,187,', ',,96,48,23,,34,,,42,,6,48,23,5,42,61,,51,,196,24,,,,143,,,6,6,36,,6', '74,70,17,40,183,,64,2,,,137,,10,10,,55,,,,,,72,,65,,6,,72,61,20,51,51', ',,31,24,34,31,152,31,26,,9,,,72,51,,,,,,51,,75,,6,6,,,,36,,,6,6,,23', '13,,,,,,,31,,,31,72,,,41,,,,,53,41,6,24,23,,,,61,53,24,,24,,71,,31,74', ',24,61,,,,30,72,,,24,,67,,10,,,,,72,25,67,,,,,,36,,,,,,,,41,,71,,9,', ',,,,,,23,,23,,,,,23,6,24,40,,24,,61,32,32,31,24,32,,31,31,,,,,,,87,24', '72,,23,24,,,,131,183,,,90,22,22,,,,,22,22,,,22,61,96,96,34,31,,26,,34', ',,32,32,32,32,24,24,96,,17,,24,24,64,51,24,31,93,51,34,,153,6,,71,,', '6,44,,65,90,10,10,44,53,31,,,,69,6,34,51,,24,53,23,,44,,6,6,90,60,,24', '31,44,44,44,,44,72,,67,72,,,24,24,,,,,34,67,36,,,51,69,28,,6,,6,,28', ',,31,44,44,,,44,,,,,32,32,32,32,6,,61,,24,,,,22,,24,28,28,28,61,,24', '24,,,,72,131,24,,131,6,,,,,,44,34,24,19,,44,44,44,44,44,,,23,51,28,6', '6,6,,,,,,,96,,51,,,96,,,25,24,,,24,,6,,24,24,6,,,,,,,,24,51,,67,28,', ',,,,,34,,28,31,,,,,,,40,,,,32,,136,29,24,,24,24,23,29,,23,,32,32,,24', '24,,,,44,44,44,44,,,,44,44,44,44,44,44,,19,,29,,,,131,31,131,,44,,136', '19,12,,24,,96,,24,139,139,139,24,,96,,24,185,185,185,,,,,67,29,,,28', ',,,44,,34,,67,,44,,,44,24,,,,6,6,6,6,,6,28,,,,,,,44,27,44,61,,,29,44', ',,,,,,,29,24,131,131,36,,,,,138,6,23,23,,96,,24,,44,,44,24,,,24,24,141', ',,,,,6,44,44,,,34,61,28,,28,24,6,,28,28,,,,6,6,6,6,138,72,131,138,131', ',,,28,23,23,,,,,,23,,28,,6,,,141,,141,,,32,,,,,29,139,139,139,139,,139', '131,29,44,,,12,28,,28,,136,,,136,,,136,29,136,,,23,,,,23,23,,,12,,,', ',56,23,,,,,56,,,,,,,,,44,,,,,,32,28,,,32,,,,,,,23,23,56,56,56,,139,139', '139,139,23,,29,,29,,,,,29,,,,,,,12,,,,139,12,,,,,,56,44,,56,,,,,29,', '44,,23,,,,23,136,,136,,136,,136,,,44,185,185,,185,185,,185,,138,,,138', ',56,138,,138,,,23,,,56,,,,,,28,,,141,,141,,28,,,,,136,,,,28,44,,,44', ',,,23,,44,,141,,141,29,141,,,,,,44,23,32,,44,,23,,,23,23,,,,,,,,,,,', ',,,,,,,,,,,28,,,28,,,44,44,,,56,,44,44,,,44,,,138,,138,,138,,138,,,', ',,,,,56,,141,,141,,141,185,185,185,185,,,,,,,,,,,141,,,,,,,29,,,,,,', '138,44,44,57,,,,32,,57,,,,,,,,141,,,32,,,,,,56,,56,,,28,56,56,,185,', '57,57,57,,44,28,,,,,44,,56,,,,44,44,28,28,,,56,44,,,,29,,,29,,,,44,57', ',,57,12,,,12,,,,,,,,56,,56,,,,,,,,,,,,,,,,44,,28,28,44,44,,57,28,28', ',,,,44,,57,,,,,,,,,,,,,29,,,56,,,,,,,,,,,44,,44,44,,,,,28,,,28,44,44', ',28,28,,,,,,,,,28,,,,,,,,,,,,,,,29,29,,,,,,,,,,44,12,12,,44,28,28,,', '57,,,,,,28,,,,,,,,,,,,,,,,,,57,44,,,,,,56,29,29,,,,,56,29,,28,,,,28', ',56,,28,,12,,28,,,,,44,,,,,,,,,,,,,,,44,,,,,44,28,,44,44,,29,57,,57', '29,29,,57,57,,,,12,,29,44,12,12,56,,,56,,,57,,12,,28,,,,,,57,,,,,,,', ',28,,29,29,,28,,,28,28,,,29,,12,12,,,,57,,57,,,,,,,,,,,,,,,,,,,,,,,', ',,,,,,29,,,,29,,,,29,,,,12,,,,12,,57,,,,,,56,,,,,,,,,,29,56,,,,,,,,', ',,12,,56,56,,,,,,,,,,,,,,,,,,29,,,,,,,,,,,,12,,,29,,,,,29,,,29,29,,', '12,,,,,12,56,56,,,,,,56,,,,,,,,,,,,,57,,,,,,,57,,,,,,,,,57,,,,,,,,,', ',,,56,,,56,,,,56,56,,,,,,,,,56,,,,,,,,,,,,35,,,,,,,,,35,35,35,,57,,', '57,,,56,56,,35,35,35,,,,,56,,,,,,,,,,35,,,,,,,,,,,,,,,,,,,,,,,,,56,', ',,56,,,,56,,,,56,,,,,,,,,,,,,,,,,,,,,,,,,,56,,,,,,,,,,,57,,,,,,,,,,', '57,,,,,,,,,,,56,,57,57,,,,,,,,,,,,56,,,,,56,,,56,56,,,,,,,,,,,,,,,,', ',,,,,,,,,35,35,35,,57,57,35,35,,,,57,,,,,,,,,,,35,,,35,35,35,35,35,35', '35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,,,57,,,57', '35,,,57,57,,35,,,35,,,,57,,,35,,35,,35,35,,,,,,,,,,,,,,,,,,,,,,,57,57', ',,,,,,,,57,,,,,35,,,,,,,,,35,,,,,,,,,,,,,,,,,,,,,57,,,,57,,,,57,,,,57', ',,,,,,,,,,,,,,,,,,,,,,,,,57,,,,,,,,,,,,,,,,,,,,,35,,,,,,,,,,,,57,,,', ',,,,,,,,,,,57,,,,,57,,,57,57,35,,35,35,35,,,,,,,,,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,35,,,35,,35,,,,,,,,,,,,,,35,,,,,,,,,,35,35,35,,,,,,,,', ',35,,,35,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,,,,,,,,,,,,,,,,,,35,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,35,,,35,35,35,35,,,,,35,35,,,35', '35,,,,,,,,,,,,,,,,,,,,,,,,35,,,,,,,,,,,,,,,,,,,,,,35,,,,,,,,,,,,,,,', ',,,,35,,,,,,,,,,,,,,,,,,,,,35,,,,,,,,,,,,35,,,,,,,,,,,,,,,,,,,,,,35', ',35,,,,,,,,,,,,,,35,35,35,35,,35,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,35,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,,,,,,,,,,,,,,,,,,,,', ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,35' ] racc_goto_check = arr = ::Array.new(2912, 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, 115, 27, 122, nil, 62, -2, 110, 52, 62, -317, 125, 864, -514, -620, -680, nil, 21, 130, 39, -194, 72, -18, 283, 8, -198, -395, -10, 719, 852, -159, -38, 524, 24, -21, 1905, -30, nil, nil, 20, -160, 81, -239, -351, 665, -335, -655, nil, 128, 72, 78, -38, nil, -2, 31, -238, 1098, 1365, -512, -206, -63, 2, nil, nil, 25, 42, -255, 28, 92, -14, -272, 29, 20, -323, -245, -401, nil, nil, nil, nil, nil, nil, nil, nil, nil, 89, -169, -58, nil, 100, -235, -657, -485, -328, 95, -428, 50, -573, 95, 111, 111, -359, 112, 110, -549, 114, -547, -404, -747, 115, -559, -165, -559, -744, 122, -400, -166, -400, -665, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, -749, 51, -449, -714, -455, nil, 195, -510, 323, 114, -454, 340, -556, -576, nil, -558, -688, -772, -759, -130, -338, 144, -293, -1, -48, -447, nil, nil, -40, -427, -31, -419, -735, -334, -438, -564, nil, nil, 179, 178, 32, 176, 177, -242, -231, 177, 178, 178, -488, -327, -316, 205, -452, -327, nil, 364, -409, -609, -404, -577, nil, -619, -771, nil, nil, -65, -468 ] racc_goto_default = [ nil, nil, nil, nil, 5, nil, 290, 7, 344, 291, nil, nil, 531, nil, 846, nil, 289, nil, nil, nil, 14, 15, 21, 228, 320, nil, nil, 745, 226, 227, nil, 282, 20, nil, 328, 24, 25, 26, 27, nil, 685, nil, nil, nil, 308, nil, nil, 28, 419, 35, nil, nil, 37, 40, 39, nil, 223, 224, 593, nil, 129, 427, 128, 131, 78, 79, nil, 49, nil, 420, nil, 421, 432, 641, 494, 280, 265, 50, 51, 52, 53, 54, 55, 56, 57, 58, nil, 266, 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, nil, nil, 716, 561, nil, 717, 945, 790, 549, nil, 550, nil, nil, 551, nil, 553, 657, nil, nil, nil, 559, nil, nil, nil, 755, nil, nil, nil, 431, 267, 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, 831, 548, nil, 552, 563, 565, 802, 568, 569, 803, 572, 575, nil, 284 ] 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, 175, :_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, 174, :_reduce_none, 3, 174, :_reduce_45, 3, 174, :_reduce_46, 3, 174, :_reduce_47, 2, 174, :_reduce_48, 1, 174, :_reduce_none, 1, 161, :_reduce_50, 1, 164, :_reduce_none, 1, 164, :_reduce_none, 1, 179, :_reduce_none, 4, 179, :_reduce_54, 0, 187, :_reduce_55, 0, 188, :_reduce_56, 6, 184, :_reduce_57, 1, 186, :_reduce_58, 2, 178, :_reduce_59, 3, 178, :_reduce_60, 4, 178, :_reduce_61, 5, 178, :_reduce_62, 4, 178, :_reduce_63, 5, 178, :_reduce_64, 2, 178, :_reduce_65, 2, 178, :_reduce_66, 2, 178, :_reduce_67, 2, 178, :_reduce_68, 2, 178, :_reduce_69, 1, 163, :_reduce_none, 3, 163, :_reduce_71, 1, 192, :_reduce_none, 3, 192, :_reduce_73, 1, 191, :_reduce_74, 2, 191, :_reduce_75, 3, 191, :_reduce_76, 5, 191, :_reduce_77, 2, 191, :_reduce_78, 4, 191, :_reduce_79, 2, 191, :_reduce_80, 4, 191, :_reduce_81, 1, 191, :_reduce_82, 3, 191, :_reduce_83, 1, 195, :_reduce_none, 3, 195, :_reduce_85, 2, 194, :_reduce_86, 3, 194, :_reduce_87, 1, 197, :_reduce_88, 3, 197, :_reduce_89, 1, 196, :_reduce_90, 1, 196, :_reduce_91, 4, 196, :_reduce_92, 3, 196, :_reduce_93, 3, 196, :_reduce_94, 3, 196, :_reduce_95, 3, 196, :_reduce_96, 2, 196, :_reduce_97, 1, 196, :_reduce_98, 1, 171, :_reduce_99, 1, 171, :_reduce_100, 4, 171, :_reduce_101, 3, 171, :_reduce_102, 3, 171, :_reduce_103, 3, 171, :_reduce_104, 3, 171, :_reduce_105, 2, 171, :_reduce_106, 1, 171, :_reduce_107, 1, 200, :_reduce_108, 1, 200, :_reduce_none, 2, 201, :_reduce_110, 1, 201, :_reduce_111, 3, 201, :_reduce_112, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 202, :_reduce_none, 1, 202, :_reduce_116, 1, 202, :_reduce_117, 1, 205, :_reduce_none, 1, 205, :_reduce_none, 1, 159, :_reduce_120, 1, 159, :_reduce_none, 1, 160, :_reduce_122, 0, 208, :_reduce_123, 4, 160, :_reduce_124, 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, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 1, 204, :_reduce_none, 3, 177, :_reduce_197, 5, 177, :_reduce_198, 3, 177, :_reduce_199, 5, 177, :_reduce_200, 6, 177, :_reduce_201, 5, 177, :_reduce_202, 5, 177, :_reduce_203, 5, 177, :_reduce_204, 5, 177, :_reduce_205, 4, 177, :_reduce_206, 3, 177, :_reduce_207, 3, 177, :_reduce_208, 3, 177, :_reduce_209, 3, 177, :_reduce_210, 3, 177, :_reduce_211, 3, 177, :_reduce_212, 3, 177, :_reduce_213, 3, 177, :_reduce_214, 3, 177, :_reduce_215, 4, 177, :_reduce_216, 4, 177, :_reduce_217, 2, 177, :_reduce_218, 2, 177, :_reduce_219, 3, 177, :_reduce_220, 3, 177, :_reduce_221, 3, 177, :_reduce_222, 3, 177, :_reduce_223, 3, 177, :_reduce_224, 3, 177, :_reduce_225, 3, 177, :_reduce_226, 3, 177, :_reduce_227, 3, 177, :_reduce_228, 3, 177, :_reduce_229, 3, 177, :_reduce_230, 3, 177, :_reduce_231, 3, 177, :_reduce_232, 2, 177, :_reduce_233, 2, 177, :_reduce_234, 3, 177, :_reduce_235, 3, 177, :_reduce_236, 3, 177, :_reduce_237, 3, 177, :_reduce_238, 3, 177, :_reduce_239, 6, 177, :_reduce_240, 1, 177, :_reduce_none, 1, 173, :_reduce_242, 1, 210, :_reduce_none, 2, 210, :_reduce_244, 4, 210, :_reduce_245, 2, 210, :_reduce_246, 3, 214, :_reduce_247, 1, 215, :_reduce_none, 1, 215, :_reduce_none, 1, 167, :_reduce_250, 1, 167, :_reduce_251, 2, 167, :_reduce_252, 4, 167, :_reduce_253, 2, 167, :_reduce_254, 1, 190, :_reduce_255, 2, 190, :_reduce_256, 2, 190, :_reduce_257, 4, 190, :_reduce_258, 1, 190, :_reduce_259, 0, 218, :_reduce_260, 2, 183, :_reduce_261, 2, 217, :_reduce_262, 2, 216, :_reduce_263, 1, 216, :_reduce_none, 1, 211, :_reduce_265, 2, 211, :_reduce_266, 3, 211, :_reduce_267, 4, 211, :_reduce_268, 3, 172, :_reduce_269, 4, 172, :_reduce_270, 2, 172, :_reduce_271, 1, 209, :_reduce_none, 1, 209, :_reduce_none, 1, 209, :_reduce_none, 1, 209, :_reduce_none, 1, 209, :_reduce_none, 1, 209, :_reduce_none, 1, 209, :_reduce_none, 1, 209, :_reduce_none, 1, 209, :_reduce_none, 1, 209, :_reduce_none, 1, 209, :_reduce_282, 0, 241, :_reduce_283, 4, 209, :_reduce_284, 2, 209, :_reduce_285, 0, 242, :_reduce_286, 0, 243, :_reduce_287, 5, 209, :_reduce_288, 3, 209, :_reduce_289, 3, 209, :_reduce_290, 2, 209, :_reduce_291, 3, 209, :_reduce_292, 0, 244, :_reduce_293, 4, 209, :_reduce_294, 1, 209, :_reduce_295, 4, 209, :_reduce_296, 3, 209, :_reduce_297, 1, 209, :_reduce_298, 5, 209, :_reduce_299, 4, 209, :_reduce_300, 3, 209, :_reduce_301, 2, 209, :_reduce_302, 1, 209, :_reduce_none, 2, 209, :_reduce_304, 2, 209, :_reduce_305, 6, 209, :_reduce_306, 6, 209, :_reduce_307, 0, 245, :_reduce_308, 0, 246, :_reduce_309, 7, 209, :_reduce_310, 0, 247, :_reduce_311, 0, 248, :_reduce_312, 7, 209, :_reduce_313, 5, 209, :_reduce_314, 4, 209, :_reduce_315, 0, 249, :_reduce_316, 0, 250, :_reduce_317, 9, 209, :_reduce_318, 0, 251, :_reduce_319, 0, 252, :_reduce_320, 7, 209, :_reduce_321, 0, 253, :_reduce_322, 0, 254, :_reduce_323, 0, 255, :_reduce_324, 9, 209, :_reduce_325, 0, 256, :_reduce_326, 0, 257, :_reduce_327, 6, 209, :_reduce_328, 0, 258, :_reduce_329, 6, 209, :_reduce_330, 0, 259, :_reduce_331, 0, 260, :_reduce_332, 9, 209, :_reduce_333, 1, 209, :_reduce_334, 1, 209, :_reduce_335, 1, 209, :_reduce_336, 1, 209, :_reduce_337, 1, 166, :_reduce_338, 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, 269, :_reduce_none, 1, 270, :_reduce_none, 1, 271, :_reduce_none, 1, 232, :_reduce_none, 1, 232, :_reduce_none, 2, 232, :_reduce_none, 1, 234, :_reduce_none, 1, 234, :_reduce_none, 1, 233, :_reduce_none, 5, 233, :_reduce_356, 1, 156, :_reduce_none, 2, 156, :_reduce_358, 1, 236, :_reduce_none, 1, 236, :_reduce_360, 1, 272, :_reduce_none, 3, 272, :_reduce_362, 1, 275, :_reduce_363, 3, 275, :_reduce_364, 1, 274, :_reduce_365, 4, 274, :_reduce_366, 6, 274, :_reduce_367, 3, 274, :_reduce_368, 5, 274, :_reduce_369, 2, 274, :_reduce_370, 4, 274, :_reduce_371, 1, 274, :_reduce_372, 3, 274, :_reduce_373, 4, 276, :_reduce_374, 2, 276, :_reduce_375, 2, 276, :_reduce_376, 1, 276, :_reduce_377, 2, 281, :_reduce_378, 1, 281, :_reduce_none, 6, 282, :_reduce_380, 8, 282, :_reduce_381, 4, 282, :_reduce_382, 6, 282, :_reduce_383, 4, 282, :_reduce_384, 2, 282, :_reduce_385, 6, 282, :_reduce_386, 2, 282, :_reduce_387, 4, 282, :_reduce_388, 6, 282, :_reduce_389, 2, 282, :_reduce_390, 4, 282, :_reduce_391, 2, 282, :_reduce_392, 4, 282, :_reduce_393, 1, 282, :_reduce_394, 1, 185, :_reduce_395, 1, 185, :_reduce_none, 3, 286, :_reduce_397, 1, 286, :_reduce_398, 4, 286, :_reduce_399, 1, 287, :_reduce_none, 4, 287, :_reduce_401, 1, 288, :_reduce_402, 3, 288, :_reduce_403, 1, 289, :_reduce_404, 1, 289, :_reduce_none, 0, 293, :_reduce_406, 3, 231, :_reduce_407, 4, 291, :_reduce_408, 1, 291, :_reduce_409, 3, 292, :_reduce_410, 3, 292, :_reduce_411, 0, 296, :_reduce_412, 0, 297, :_reduce_413, 6, 295, :_reduce_414, 2, 180, :_reduce_415, 4, 180, :_reduce_416, 5, 180, :_reduce_417, 5, 180, :_reduce_418, 0, 299, :_reduce_419, 3, 230, :_reduce_420, 4, 230, :_reduce_421, 4, 230, :_reduce_422, 3, 230, :_reduce_423, 3, 230, :_reduce_424, 3, 230, :_reduce_425, 2, 230, :_reduce_426, 1, 230, :_reduce_427, 4, 230, :_reduce_428, 0, 300, :_reduce_429, 0, 301, :_reduce_430, 6, 229, :_reduce_431, 0, 302, :_reduce_432, 0, 303, :_reduce_433, 6, 229, :_reduce_434, 0, 305, :_reduce_435, 6, 235, :_reduce_436, 1, 304, :_reduce_none, 1, 304, :_reduce_none, 6, 155, :_reduce_439, 0, 155, :_reduce_440, 1, 306, :_reduce_441, 1, 306, :_reduce_none, 1, 306, :_reduce_none, 2, 307, :_reduce_444, 1, 307, :_reduce_none, 2, 157, :_reduce_446, 1, 157, :_reduce_none, 1, 219, :_reduce_448, 1, 219, :_reduce_449, 1, 219, :_reduce_none, 1, 220, :_reduce_451, 1, 309, :_reduce_452, 1, 309, :_reduce_none, 2, 309, :_reduce_454, 3, 310, :_reduce_455, 1, 310, :_reduce_456, 3, 221, :_reduce_457, 3, 222, :_reduce_458, 3, 223, :_reduce_459, 3, 223, :_reduce_460, 1, 314, :_reduce_461, 3, 314, :_reduce_462, 1, 315, :_reduce_none, 2, 315, :_reduce_464, 3, 225, :_reduce_465, 3, 225, :_reduce_466, 1, 317, :_reduce_467, 3, 317, :_reduce_468, 3, 224, :_reduce_469, 3, 224, :_reduce_470, 3, 226, :_reduce_471, 3, 226, :_reduce_472, 1, 318, :_reduce_473, 3, 318, :_reduce_474, 1, 319, :_reduce_475, 3, 319, :_reduce_476, 1, 311, :_reduce_477, 2, 311, :_reduce_478, 1, 312, :_reduce_479, 2, 312, :_reduce_480, 1, 313, :_reduce_481, 2, 313, :_reduce_482, 1, 316, :_reduce_483, 0, 321, :_reduce_484, 3, 316, :_reduce_485, 0, 322, :_reduce_486, 4, 316, :_reduce_487, 1, 320, :_reduce_488, 1, 320, :_reduce_489, 1, 320, :_reduce_490, 1, 320, :_reduce_none, 2, 206, :_reduce_492, 1, 206, :_reduce_493, 1, 323, :_reduce_none, 1, 323, :_reduce_none, 1, 323, :_reduce_none, 1, 323, :_reduce_none, 3, 207, :_reduce_498, 1, 308, :_reduce_none, 1, 308, :_reduce_none, 2, 308, :_reduce_501, 2, 308, :_reduce_502, 1, 198, :_reduce_none, 1, 198, :_reduce_none, 1, 198, :_reduce_none, 1, 198, :_reduce_none, 1, 198, :_reduce_none, 1, 199, :_reduce_508, 1, 199, :_reduce_509, 1, 199, :_reduce_510, 1, 199, :_reduce_511, 1, 199, :_reduce_512, 1, 199, :_reduce_513, 1, 199, :_reduce_514, 1, 227, :_reduce_515, 1, 227, :_reduce_516, 1, 165, :_reduce_517, 1, 165, :_reduce_518, 1, 170, :_reduce_519, 1, 170, :_reduce_520, 1, 237, :_reduce_521, 0, 324, :_reduce_522, 4, 237, :_reduce_523, 2, 237, :_reduce_524, 3, 239, :_reduce_525, 2, 239, :_reduce_526, 4, 325, :_reduce_527, 2, 325, :_reduce_528, 2, 325, :_reduce_529, 1, 325, :_reduce_none, 2, 327, :_reduce_531, 0, 327, :_reduce_532, 6, 294, :_reduce_533, 8, 294, :_reduce_534, 4, 294, :_reduce_535, 6, 294, :_reduce_536, 4, 294, :_reduce_537, 6, 294, :_reduce_538, 2, 294, :_reduce_539, 4, 294, :_reduce_540, 6, 294, :_reduce_541, 2, 294, :_reduce_542, 4, 294, :_reduce_543, 2, 294, :_reduce_544, 4, 294, :_reduce_545, 1, 294, :_reduce_546, 0, 294, :_reduce_547, 1, 290, :_reduce_548, 1, 290, :_reduce_549, 1, 290, :_reduce_550, 1, 290, :_reduce_551, 1, 273, :_reduce_none, 1, 273, :_reduce_553, 1, 329, :_reduce_none, 3, 329, :_reduce_555, 1, 283, :_reduce_556, 3, 283, :_reduce_557, 2, 330, :_reduce_558, 2, 331, :_reduce_559, 1, 277, :_reduce_none, 3, 277, :_reduce_561, 1, 326, :_reduce_none, 3, 326, :_reduce_563, 1, 332, :_reduce_none, 1, 332, :_reduce_none, 2, 278, :_reduce_566, 1, 278, :_reduce_567, 3, 333, :_reduce_568, 3, 334, :_reduce_569, 1, 284, :_reduce_570, 3, 284, :_reduce_571, 1, 328, :_reduce_572, 3, 328, :_reduce_573, 1, 335, :_reduce_none, 1, 335, :_reduce_none, 2, 285, :_reduce_576, 1, 285, :_reduce_577, 1, 336, :_reduce_none, 1, 336, :_reduce_none, 2, 280, :_reduce_580, 2, 279, :_reduce_581, 0, 279, :_reduce_582, 1, 240, :_reduce_none, 0, 337, :_reduce_584, 4, 240, :_reduce_585, 1, 228, :_reduce_586, 2, 228, :_reduce_587, 1, 213, :_reduce_none, 3, 213, :_reduce_589, 3, 338, :_reduce_590, 2, 338, :_reduce_591, 2, 338, :_reduce_592, 1, 189, :_reduce_none, 1, 189, :_reduce_none, 1, 189, :_reduce_none, 1, 182, :_reduce_none, 1, 182, :_reduce_none, 1, 182, :_reduce_none, 1, 182, :_reduce_none, 1, 298, :_reduce_none, 1, 298, :_reduce_none, 1, 298, :_reduce_none, 1, 181, :_reduce_none, 1, 181, :_reduce_none, 1, 169, :_reduce_none, 0, 147, :_reduce_none, 1, 147, :_reduce_none, 0, 176, :_reduce_none, 1, 176, :_reduce_none, 2, 193, :_reduce_none, 2, 168, :_reduce_none, 0, 212, :_reduce_none, 1, 212, :_reduce_none, 1, 212, :_reduce_none, 1, 238, :_reduce_615, 1, 238, :_reduce_none, 1, 150, :_reduce_none, 2, 150, :_reduce_618, 0, 148, :_reduce_619 ] racc_reduce_n = 620 racc_shift_n = 1050 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", "call_op", "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", "@26", "@27", "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", "@28", "f_args", "do_block", "@29", "@30", "operation3", "@31", "@32", "@33", "@34", "@35", "cases", "@36", "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", "@37", "@38", "sym", "@39", "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", "@40", "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) if val[1] == '&.' result.sexp_type = :safe_op_asgn end result.line = val[0].line result end def _reduce_34(val, _values, result) result = s(:op_asgn, val[0], val[4], val[2].to_sym, val[3].to_sym) if val[1] == '&.' result.sexp_type = :safe_op_asgn end result.line = val[0].line 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 = new_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 = new_assign val[0], val[2] result end def _reduce_43(val, _values, result) result = new_assign val[0], val[2] result end # reduce 44 omitted def _reduce_45(val, _values, result) result = logical_op :and, val[0], val[2] result end def _reduce_46(val, _values, result) result = logical_op :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].sexp_body # REFACTOR pattern result end def _reduce_60(val, _values, result) result = val[0].concat val[1].sexp_body 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], val[1] result end def _reduce_62(val, _values, result) recv, _, msg, args, block = val call = new_call recv, msg.to_sym, args, val[1] 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.sexp_body 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].sexp_body 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].sexp_body 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].sexp_body)) 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 = new_attrasgn val[0], val[2], val[1] result end def _reduce_94(val, _values, result) result = s(:attrasgn, val[0], :"#{val[2]}=") result end def _reduce_95(val, _values, result) result = new_attrasgn val[0], val[2], val[1] 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 = new_attrasgn val[0], val[2], val[1] result end def _reduce_103(val, _values, result) result = s(:attrasgn, val[0], :"#{val[2]}=") result end def _reduce_104(val, _values, result) result = new_attrasgn val[0], val[2], val[1] 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 = new_assign val[0], val[2] result end def _reduce_198(val, _values, result) result = new_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].sexp_type = :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 = new_op_asgn2 val result end def _reduce_203(val, _values, result) result = new_op_asgn2 val 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 Integer === v1.last and Integer === 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 Integer === v1.last and Integer === 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 = new_match val[0], val[2] result end def _reduce_232(val, _values, result) result = s(:not, new_match(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 = logical_op :and, val[0], val[2] result end def _reduce_238(val, _values, result) result = logical_op :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) result = self.lexer.cmdarg.stack.dup lexer.cmdarg.stack.replace [false] # TODO add api for these result end def _reduce_287(val, _values, result) lexer.lex_state = :expr_endarg result end def _reduce_288(val, _values, result) warning "(...) interpreted as grouped expression" lexer.cmdarg.stack.replace val[1] result = val[2] result end def _reduce_289(val, _values, result) result = val[1] || s(:nil) result.paren = true result end def _reduce_290(val, _values, result) result = s(:colon2, val[0], val[2].to_sym) result end def _reduce_291(val, _values, result) result = s(:colon3, val[1].to_sym) result end def _reduce_292(val, _values, result) result = val[1] || s(:array) result.sexp_type = :array # aref_args is :args result end def _reduce_293(val, _values, result) result = self.lexer.lineno result end def _reduce_294(val, _values, result) result = new_hash val result end def _reduce_295(val, _values, result) result = s(:return) result end def _reduce_296(val, _values, result) result = new_yield val[2] result end def _reduce_297(val, _values, result) result = new_yield result end def _reduce_298(val, _values, result) result = new_yield result end def _reduce_299(val, _values, result) result = s(:defined, val[3]) result end def _reduce_300(val, _values, result) result = s(:call, val[2], :"!") result end def _reduce_301(val, _values, result) debug20 14, val, result result end def _reduce_302(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 303 omitted def _reduce_304(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_305(val, _values, result) result = val[1] # TODO: fix lineno result end def _reduce_306(val, _values, result) result = new_if val[1], val[3], val[4] result end def _reduce_307(val, _values, result) result = new_if val[1], val[4], val[3] result end def _reduce_308(val, _values, result) lexer.cond.push true result end def _reduce_309(val, _values, result) lexer.cond.pop result end def _reduce_310(val, _values, result) result = new_while val[5], val[2], true result end def _reduce_311(val, _values, result) lexer.cond.push true result end def _reduce_312(val, _values, result) lexer.cond.pop result end def _reduce_313(val, _values, result) result = new_until val[5], val[2], true result end def _reduce_314(val, _values, result) (_, line), expr, _, body, _ = val result = new_case expr, body, line result end def _reduce_315(val, _values, result) (_, line), _, body, _ = val result = new_case nil, body, line result end def _reduce_316(val, _values, result) lexer.cond.push true result end def _reduce_317(val, _values, result) lexer.cond.pop result end def _reduce_318(val, _values, result) result = new_for val[4], val[1], val[7] result end def _reduce_319(val, _values, result) result = self.lexer.lineno result end def _reduce_320(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_321(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_322(val, _values, result) result = self.lexer.lineno result end def _reduce_323(val, _values, result) result = self.in_def self.in_def = false result end def _reduce_324(val, _values, result) result = self.in_single self.in_single = 0 self.env.extend result end def _reduce_325(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_326(val, _values, result) result = self.lexer.lineno result end def _reduce_327(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_328(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_329(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_330(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_331(val, _values, result) self.comments.push self.lexer.comments lexer.lex_state = :expr_fname result end def _reduce_332(val, _values, result) self.in_single += 1 self.env.extend lexer.lex_state = :expr_endfn # force for args result = [lexer.lineno, self.lexer.cmdarg.stack.dup] lexer.cmdarg.stack.replace [false] result end def _reduce_333(val, _values, result) line, cmdarg = val[5] result = new_defs val result[3].line line lexer.cmdarg.stack.replace cmdarg self.env.unextend self.in_single -= 1 self.lexer.comments # we don't care about comments in the body result end def _reduce_334(val, _values, result) result = s(:break) result end def _reduce_335(val, _values, result) result = s(:next) result end def _reduce_336(val, _values, result) result = s(:redo) result end def _reduce_337(val, _values, result) result = s(:retry) result end def _reduce_338(val, _values, result) result = value_expr(val[0]) result end # 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 # reduce 354 omitted # reduce 355 omitted def _reduce_356(val, _values, result) result = s(:if, val[1], val[3], val[4]) result end # reduce 357 omitted def _reduce_358(val, _values, result) result = val[1] result end # reduce 359 omitted def _reduce_360(val, _values, result) val[0].delete_at 1 if val[0][1].nil? # HACK result end # reduce 361 omitted def _reduce_362(val, _values, result) result = val[1] result end def _reduce_363(val, _values, result) result = s(:array, val[0]) result end def _reduce_364(val, _values, result) result = list_append val[0], val[2] result end def _reduce_365(val, _values, result) args, = val result = block_var args result end def _reduce_366(val, _values, result) args, _, _, splat = val result = block_var args, "*#{splat}".to_sym result end def _reduce_367(val, _values, result) args, _, _, splat, _, args2 = val result = block_var args, "*#{splat}".to_sym, args2 result end def _reduce_368(val, _values, result) args, _, _ = val result = block_var args, :* result end def _reduce_369(val, _values, result) args, _, _, _, args2 = val result = block_var args, :*, args2 result end def _reduce_370(val, _values, result) _, splat = val result = block_var :"*#{splat}" result end def _reduce_371(val, _values, result) _, splat, _, args = val result = block_var :"*#{splat}", args result end def _reduce_372(val, _values, result) result = block_var :* result end def _reduce_373(val, _values, result) _, _, args = val result = block_var :*, args 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 = call_args val result end def _reduce_377(val, _values, result) result = call_args val result end def _reduce_378(val, _values, result) result = args val result end # reduce 379 omitted 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 = args val result end def _reduce_394(val, _values, result) result = args val result end def _reduce_395(val, _values, result) result = 0 result end # reduce 396 omitted def _reduce_397(val, _values, result) result = args val result end def _reduce_398(val, _values, result) self.lexer.command_start = true result = s(:args) result end def _reduce_399(val, _values, result) result = args val result end # reduce 400 omitted def _reduce_401(val, _values, result) result = args val result end def _reduce_402(val, _values, result) result = args val result end def _reduce_403(val, _values, result) result = args val result end def _reduce_404(val, _values, result) result = s(:shadow, val[0].to_sym) result end # reduce 405 omitted def _reduce_406(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_407(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_408(val, _values, result) result = args val result end def _reduce_409(val, _values, result) result = val[0] result = 0 if result == s(:args) result end def _reduce_410(val, _values, result) result = val[1] result end def _reduce_411(val, _values, result) result = val[1] result end def _reduce_412(val, _values, result) self.env.extend :dynamic result = self.lexer.lineno result end def _reduce_413(val, _values, result) result = nil # self.env.dynamic.keys result end def _reduce_414(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_415(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_416(val, _values, result) result = new_call val[0], val[2].to_sym, val[3] result end def _reduce_417(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_418(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_419(val, _values, result) result = self.lexer.lineno result end def _reduce_420(val, _values, result) args = self.call_args val[2..-1] result = val[0].concat args.sexp_body result end def _reduce_421(val, _values, result) result = new_call val[0], val[2].to_sym, val[3], val[1] result end def _reduce_422(val, _values, result) result = new_call val[0], val[2].to_sym, val[3] result end def _reduce_423(val, _values, result) result = new_call val[0], val[2].to_sym result end def _reduce_424(val, _values, result) result = new_call val[0], :call, val[2], val[1] result end def _reduce_425(val, _values, result) result = new_call val[0], :call, val[2] result end def _reduce_426(val, _values, result) result = new_super val[1] result end def _reduce_427(val, _values, result) result = s(:zsuper) result end def _reduce_428(val, _values, result) result = new_aref val result end def _reduce_429(val, _values, result) self.env.extend :dynamic result = self.lexer.lineno result end def _reduce_430(val, _values, result) result = nil # self.env.dynamic.keys result end def _reduce_431(val, _values, result) _, line, args, _, body, _ = val result = new_iter nil, args, body result.line = line self.env.unextend result end def _reduce_432(val, _values, result) self.env.extend :dynamic result = self.lexer.lineno result end def _reduce_433(val, _values, result) result = nil # self.env.dynamic.keys result end def _reduce_434(val, _values, result) _, line, args, _, body, _ = val result = new_iter nil, args, body result.line = line self.env.unextend result end def _reduce_435(val, _values, result) result = self.lexer.lineno result end def _reduce_436(val, _values, result) result = new_when(val[2], val[4]) result.line = val[1] result << val[5] if val[5] result end # reduce 437 omitted # reduce 438 omitted def _reduce_439(val, _values, result) (_, line), klasses, var, _, body, rest = val klasses ||= s(:array) klasses << new_assign(var, s(:gvar, :"$!")) if var klasses.line line result = new_resbody(klasses, body) result << rest if rest # UGH, rewritten above result end def _reduce_440(val, _values, result) result = nil result end def _reduce_441(val, _values, result) result = s(:array, val[0]) result end # reduce 442 omitted # reduce 443 omitted def _reduce_444(val, _values, result) result = val[1] result end # reduce 445 omitted def _reduce_446(val, _values, result) _, body = val result = body || s(:nil) result end # reduce 447 omitted def _reduce_448(val, _values, result) result = s(:lit, val[0]) result end def _reduce_449(val, _values, result) result = s(:lit, val[0]) result end # reduce 450 omitted def _reduce_451(val, _values, result) val[0] = s(:dstr, val[0].value) if val[0].sexp_type == :evstr result = val[0] result end def _reduce_452(val, _values, result) debug20 23, val, result result end # reduce 453 omitted def _reduce_454(val, _values, result) result = self.literal_concat val[0], val[1] result end def _reduce_455(val, _values, result) result = val[1] result end def _reduce_456(val, _values, result) result = new_string val result end def _reduce_457(val, _values, result) result = new_xstring val[1] result end def _reduce_458(val, _values, result) result = new_regexp val result end def _reduce_459(val, _values, result) result = s(:array) result end def _reduce_460(val, _values, result) result = val[1] result end def _reduce_461(val, _values, result) result = new_word_list result end def _reduce_462(val, _values, result) result = val[0].dup << new_word_list_entry(val) result end # reduce 463 omitted def _reduce_464(val, _values, result) result = self.literal_concat val[0], val[1] result end def _reduce_465(val, _values, result) result = s(:array) result end def _reduce_466(val, _values, result) result = val[1] result end def _reduce_467(val, _values, result) result = new_symbol_list result end def _reduce_468(val, _values, result) result = val[0].dup << new_symbol_list_entry(val) 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[1] result end def _reduce_473(val, _values, result) result = new_qword_list result end def _reduce_474(val, _values, result) result = val[0].dup << new_qword_list_entry(val) result end def _reduce_475(val, _values, result) result = new_qsym_list result end def _reduce_476(val, _values, result) result = val[0].dup << new_qsym_list_entry(val) result end def _reduce_477(val, _values, result) result = s(:str, "") 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 = nil result end def _reduce_482(val, _values, result) result = literal_concat(val[0], val[1]) result end def _reduce_483(val, _values, result) result = new_string val result end def _reduce_484(val, _values, result) result = lexer.lex_strterm lexer.lex_strterm = nil lexer.lex_state = :expr_beg # TODO: expr_value ? result end def _reduce_485(val, _values, result) lexer.lex_strterm = val[1] result = s(:evstr, val[2]) result end def _reduce_486(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_value result end def _reduce_487(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.sexp_type 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_488(val, _values, result) result = s(:gvar, val[0].to_sym) result end def _reduce_489(val, _values, result) result = s(:ivar, val[0].to_sym) result end def _reduce_490(val, _values, result) result = s(:cvar, val[0].to_sym) result end # reduce 491 omitted def _reduce_492(val, _values, result) lexer.lex_state = :expr_end result = val[1].to_sym result end def _reduce_493(val, _values, result) result = val[0].to_sym result end # reduce 494 omitted # reduce 495 omitted # reduce 496 omitted # reduce 497 omitted def _reduce_498(val, _values, result) lexer.lex_state = :expr_end result = val[1] result ||= s(:str, "") case result.sexp_type when :dstr then result.sexp_type = :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 499 omitted # reduce 500 omitted def _reduce_501(val, _values, result) result = -val[1] # TODO: pt_testcase result end def _reduce_502(val, _values, result) result = -val[1] # TODO: pt_testcase result end # reduce 503 omitted # reduce 504 omitted # reduce 505 omitted # reduce 506 omitted # reduce 507 omitted def _reduce_508(val, _values, result) result = s(:nil) result end def _reduce_509(val, _values, result) result = s(:self) result end def _reduce_510(val, _values, result) result = s(:true) result end def _reduce_511(val, _values, result) result = s(:false) result end def _reduce_512(val, _values, result) result = s(:str, self.file) result end def _reduce_513(val, _values, result) result = s(:lit, lexer.lineno) result end def _reduce_514(val, _values, result) result = if defined? Encoding then s(:colon2, s(:const, :Encoding), :UTF_8) else s(:str, "Unsupported!") end result end def _reduce_515(val, _values, result) var = val[0] result = Sexp === var ? var : self.gettable(var) result end def _reduce_516(val, _values, result) var = val[0] result = Sexp === var ? var : self.gettable(var) result end def _reduce_517(val, _values, result) result = self.assignable val[0] result end def _reduce_518(val, _values, result) result = self.assignable val[0] debug20 29, val, result result end def _reduce_519(val, _values, result) result = s(:nth_ref, val[0]) result end def _reduce_520(val, _values, result) result = s(:back_ref, val[0]) result end def _reduce_521(val, _values, result) result = nil result end def _reduce_522(val, _values, result) lexer.lex_state = :expr_beg result end def _reduce_523(val, _values, result) result = val[2] result end def _reduce_524(val, _values, result) yyerrok result = nil debug20 30, val, result result end def _reduce_525(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_526(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_527(val, _values, result) result = args val result end def _reduce_528(val, _values, result) result = args val result end def _reduce_529(val, _values, result) result = args val result end # reduce 530 omitted def _reduce_531(val, _values, result) result = val[1] result end def _reduce_532(val, _values, result) result = nil 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) result = args val result end def _reduce_547(val, _values, result) result = args val result end def _reduce_548(val, _values, result) yyerror "formal argument cannot be a constant" result end def _reduce_549(val, _values, result) yyerror "formal argument cannot be an instance variable" result end def _reduce_550(val, _values, result) yyerror "formal argument cannot be a global variable" result end def _reduce_551(val, _values, result) yyerror "formal argument cannot be a class variable" result end # reduce 552 omitted def _reduce_553(val, _values, result) identifier = val[0].to_sym self.env[identifier] = :lvar result = identifier result end # reduce 554 omitted def _reduce_555(val, _values, result) result = val[1] result end def _reduce_556(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_557(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_558(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_559(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 560 omitted def _reduce_561(val, _values, result) list, _, item = val result = list << item.last result end # reduce 562 omitted def _reduce_563(val, _values, result) result = args val result end # reduce 564 omitted # reduce 565 omitted def _reduce_566(val, _values, result) result = :"**#{val[1]}" result end def _reduce_567(val, _values, result) result = :"**" result end def _reduce_568(val, _values, result) result = self.assignable val[0], val[2] # TODO: detect duplicate names result end def _reduce_569(val, _values, result) result = self.assignable val[0], val[2] result end def _reduce_570(val, _values, result) result = s(:block, val[0]) result end def _reduce_571(val, _values, result) result = val[0] result << val[2] result end def _reduce_572(val, _values, result) result = s(:block, val[0]) result end def _reduce_573(val, _values, result) result = self.block_append val[0], val[2] result end # reduce 574 omitted # reduce 575 omitted def _reduce_576(val, _values, result) # TODO: differs from parse.y - needs tests name = val[1].to_sym self.assignable name result = :"*#{name}" result end def _reduce_577(val, _values, result) name = :"*" self.env[name] = :lvar result = name result end # reduce 578 omitted # reduce 579 omitted def _reduce_580(val, _values, result) identifier = val[1].to_sym self.env[identifier] = :lvar result = "&#{identifier}".to_sym result end def _reduce_581(val, _values, result) result = val[1] result end def _reduce_582(val, _values, result) result = nil result end # reduce 583 omitted def _reduce_584(val, _values, result) lexer.lex_state = :expr_beg result end def _reduce_585(val, _values, result) result = val[2] yyerror "Can't define single method for literals." if result.sexp_type == :lit result end def _reduce_586(val, _values, result) result = s(:array) result end def _reduce_587(val, _values, result) result = val[0] result end # reduce 588 omitted def _reduce_589(val, _values, result) list = val[0].dup more = val[2].sexp_body list.push(*more) unless more.empty? result = list result.sexp_type = :hash result end def _reduce_590(val, _values, result) result = s(:array, val[0], val[2]) result end def _reduce_591(val, _values, result) result = s(:array, s(:lit, val[0][0].to_sym), val[1]) result end def _reduce_592(val, _values, result) result = s(:array, s(:kwsplat, val[1])) result end # 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 # reduce 612 omitted # reduce 613 omitted # reduce 614 omitted def _reduce_615(val, _values, result) yyerrok result end # reduce 616 omitted # reduce 617 omitted def _reduce_618(val, _values, result) yyerrok result end def _reduce_619(val, _values, result) result = nil; result end def _reduce_none(val, _values, result) val[0] end end # class Ruby20Parser