File Manager
Viewing File: ruby21.rb
# -*- encoding:utf-8; warn-indent:false; frozen_string_literal: true -*-
#
# DO NOT MODIFY!!!!
# This file is automatically generated by Racc 1.4.14
# from Racc grammer file "".
#
require 'racc/parser.rb'
require 'parser'
Parser.check_for_encoding_support
module Parser
class Ruby21 < Parser::Base
def version
21
end
def default_encoding
Encoding::UTF_8
end
##### State transition tables begin ###
clist = [
'-474,214,215,214,215,268,-97,-474,-474,-474,217,565,-474,-474,-474,644',
'-474,268,-286,607,109,644,214,215,-474,609,-474,-474,-474,525,268,121',
'524,-98,-105,268,-474,-474,586,-474,-474,-474,-474,-474,206,565,-488',
'565,565,-104,643,218,810,711,644,711,643,113,-286,801,207,571,112,-489',
'-100,-102,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474',
'-474,-474,208,263,-474,-474,-474,606,-474,-474,-99,643,-474,608,267',
'-474,-474,218,-474,218,-474,263,-474,-97,-474,-474,267,-474,-474,-474',
'-474,-474,565,-474,-477,-474,-100,-88,218,267,-98,-477,-477,-477,267',
'-102,-477,-477,-477,-474,-477,113,-474,-474,-474,-474,112,-474,-477',
'-474,-477,-477,-477,-474,-89,-96,585,212,-101,711,-477,-477,-101,-477',
'-477,-477,-477,-477,-99,113,-95,113,-91,809,112,113,112,113,113,113',
'112,837,112,112,112,-91,-93,-103,214,215,-477,-477,-477,-477,-477,-477',
'-477,-477,-477,-477,-477,-477,-477,-477,-96,443,-477,-477,-477,-90,-477',
'-477,-105,-93,-477,91,92,-477,-477,213,-477,577,-477,-570,-477,578,-477',
'-477,513,-477,-477,-477,-477,-477,-289,-477,257,-477,-91,-570,113,-289',
'-289,-289,-100,112,315,-289,-289,-100,-289,-477,-571,-102,-477,-477',
'-477,-477,-102,-477,-105,-477,260,113,594,-477,766,-92,112,261,-289',
'-289,316,-289,-289,-289,-289,-289,-91,-93,-101,-91,113,-104,594,-101',
'-99,112,644,-91,113,-99,218,93,94,112,-94,-488,91,92,-289,-289,-289',
'-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,594,767,-289',
'-289,-289,-93,627,-100,-93,643,-289,-83,-489,-289,596,595,-93,385,-289',
'-69,-289,398,-289,-289,743,-289,-289,-289,-289,-289,-88,-289,-574,-289',
'596,595,513,855,-97,-574,-574,-574,622,442,745,-574,-574,-289,-574,113',
'-289,-289,444,-94,112,-289,-102,-574,445,-89,-567,-103,93,94,596,595',
'592,-98,-574,-574,-474,-574,-574,-574,-574,-574,546,-474,543,542,541',
'217,544,-95,546,594,543,542,541,-91,544,-104,-99,214,215,476,-568,-100',
'-574,-574,-574,-574,-574,-574,-574,-574,-574,-574,-574,-574,-574,-574',
'-474,210,-574,-574,-574,485,628,-474,211,487,-574,594,-567,-574,550',
'489,-474,209,-574,623,-574,-574,-574,-574,553,-574,-574,-574,-574,-574',
'496,-574,-574,-574,-477,-567,-477,596,595,597,594,-477,-68,-477,218',
'594,828,-574,-568,594,-574,-574,-477,-92,951,-574,-574,561,560,499,-484',
'-101,554,-574,-574,-574,-93,-484,-574,-574,-574,-568,-574,-574,-102',
'596,595,599,500,79,-574,-574,-574,-574,-574,-570,507,-332,272,-574,752',
'80,-574,-574,-332,-574,-574,-574,-574,-574,439,81,218,-332,596,595,601',
'440,-574,596,595,605,-483,596,595,610,441,525,525,-483,527,527,-574',
'-574,-574,-574,-574,-574,-574,-574,-574,-574,-574,-574,-574,-574,263',
'-90,-574,-574,-574,238,768,-574,-486,-99,-574,510,-485,-574,-574,-486',
'-574,514,-574,-485,-574,238,-574,-574,-486,-574,-574,-574,-574,-574',
'113,-574,-574,-574,218,112,-482,235,528,-479,529,237,236,-482,233,234',
'-479,-574,489,113,-574,-574,-574,-574,112,-574,-289,-574,69,70,71,-101',
'57,-289,-289,-289,63,64,-289,-289,-289,67,-289,65,66,68,30,31,72,73',
'214,215,-289,-289,-289,29,28,27,101,100,102,103,-289,-289,230,-289,-289',
'-289,-289,-289,525,45,571,527,105,104,106,95,56,97,96,98,387,99,107',
'108,575,91,92,42,43,41,-289,-289,-289,-289,-289,-289,-289,-289,-289',
'-289,-289,-289,-289,-289,214,215,-289,-289,-289,223,769,-289,229,576',
'-289,58,59,-289,-289,60,-289,-480,-289,611,-289,44,-289,-289,-480,-289',
'-289,-289,-289,-289,228,-289,-481,-289,614,89,79,82,83,-481,84,86,85',
'87,561,560,-261,-289,80,88,-289,-289,-289,-289,616,-289,62,-289,81,93',
'94,-103,5,69,70,71,9,57,260,113,218,63,64,974,112,261,67,218,65,66,68',
'30,31,72,73,620,-574,832,801,621,29,28,27,101,100,102,103,395,263,19',
'832,801,397,396,632,8,45,7,10,105,104,106,95,56,97,96,98,631,99,107',
'108,634,91,92,42,43,41,238,242,247,248,249,244,246,254,255,250,251,-574',
'231,232,-487,238,252,253,-574,40,238,-487,33,-570,238,58,59,-574,238',
'60,-487,35,235,218,241,44,237,236,550,233,234,245,243,239,20,240,-574',
'218,553,89,79,82,83,505,84,86,85,87,218,-83,506,662,80,88,218,256,518',
'-238,673,504,62,678,81,93,94,289,69,70,71,9,57,561,560,679,63,64,554',
'681,685,67,688,65,66,68,30,31,72,73,689,-410,691,693,695,29,28,27,101',
'100,102,103,737,738,19,703,739,107,108,617,8,45,291,10,105,104,106,95',
'56,97,96,98,704,99,107,108,705,91,92,42,43,41,238,242,247,248,249,244',
'246,254,255,250,251,-410,231,232,-279,707,252,253,-410,40,571,-279,293',
'714,732,58,59,-410,742,60,-279,35,235,746,241,44,237,236,747,233,234',
'245,243,239,20,240,-410,-262,753,89,79,82,83,515,84,86,85,87,476,476',
'516,218,80,88,771,256,257,487,489,441,62,794,81,93,94,5,69,70,71,9,57',
'673,218,573,63,64,263,263,673,67,574,65,66,68,30,31,72,73,238,572,801',
'218,218,29,28,27,101,100,102,103,826,218,19,801,836,218,218,632,8,45',
'7,10,105,104,106,95,56,97,96,98,845,99,107,108,-263,91,92,42,43,41,238',
'242,247,248,249,244,246,254,255,250,251,581,231,232,-290,854,252,253',
'580,40,857,-290,33,688,860,58,59,582,862,60,-290,35,235,864,241,44,237',
'236,866,233,234,245,243,239,20,240,218,868,869,89,79,82,83,-290,84,86',
'85,87,872,874,-290,875,80,88,673,256,877,-261,881,-290,62,883,81,93',
'94,289,69,70,71,9,57,886,688,581,63,64,888,890,892,67,933,65,66,68,30',
'31,72,73,894,582,894,218,900,29,28,27,101,100,102,103,902,930,19,543',
'542,541,904,544,8,45,291,10,105,104,106,95,56,97,96,98,910,99,107,108',
'913,91,92,42,43,41,238,242,247,248,249,244,246,254,255,250,251,-289',
'231,232,581,218,252,253,-289,40,917,933,33,-571,-264,58,59,-289,927',
'60,582,35,235,934,241,44,237,236,935,233,234,245,243,239,20,240,944',
'945,953,89,79,82,83,-486,84,86,85,87,955,956,-486,961,80,88,732,256',
'688,964,966,-486,62,968,81,93,94,289,69,70,71,9,57,970,970,-487,63,64',
'981,982,894,67,-487,65,66,68,30,31,72,73,894,-487,894,987,953,29,28',
'27,101,100,102,103,-571,930,19,543,542,541,-570,544,8,45,291,10,105',
'104,106,95,56,97,96,98,678,99,107,108,953,91,92,42,43,41,238,242,247',
'248,249,244,246,254,255,250,251,-289,231,232,979,1006,252,253,-289,40',
'1007,980,33,-571,1008,58,59,-289,970,60,978,35,235,970,241,44,237,236',
'970,233,234,245,243,239,20,240,218,894,953,89,79,82,83,-279,84,86,85',
'87,970,,-279,,80,88,,256,,,,-279,62,,81,93,94,289,69,70,71,9,57,,,-290',
'63,64,,,,67,-290,65,66,68,30,31,72,73,,-290,,,,29,28,27,101,100,102',
'103,,,19,116,117,118,119,120,8,45,291,10,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,238,242,247,248,249,244,246,254,255,250',
'251,-289,231,232,,,252,253,-289,40,,,293,-571,,58,59,-289,,60,,35,235',
',241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,256,,,,,62,,81,93,94,289,69,70,71,9,57,,,,63,64,,,,67',
',65,66,68,30,31,72,73,116,117,118,119,120,29,28,27,101,100,102,103,',
',19,116,117,118,119,120,8,45,291,10,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,238,242,247,248,249,244,246,254,255,250,251,,231',
'232,,,252,253,,40,,,293,,,58,59,,,60,,35,235,,241,44,237,236,,233,234',
'245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,218,256,,,',
',62,,81,93,94,289,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,291,10,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,42,43,41,238,242,247,248,249,244,246,254',
'255,250,251,,231,232,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44',
'237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,',
'80,88,,256,,,,,62,,81,93,94,5,69,70,71,9,57,,,,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,7,10,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,242,247,248,249,244',
'246,254,255,250,251,,231,232,,,252,253,,40,,,33,,,58,59,,,60,,35,235',
',241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,256,,,,,62,,81,93,94,289,69,70,71,9,57,,,,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,291',
'10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,242,247',
'248,249,244,246,254,255,250,251,,231,232,,,252,253,,40,,,33,,,58,59',
',,60,,35,235,,241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,256,,,,,62,,81,93,94,289,69,70,71,9,57,,',
',63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19',
',,,,,8,45,291,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43',
'41,238,242,247,248,249,244,246,254,255,250,251,,231,232,,,252,253,,40',
',,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245,243,239,20,240',
',,,89,79,82,83,,84,86,85,87,,,,,80,88,,256,,,,,62,,81,93,94,289,69,70',
'71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
'103,,,19,,,,,,8,45,291,10,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,238,242,247,248,249,244,246,254,255,250,251,,231,232,,,252',
'253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245,243,239',
'20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,256,,,,,62,,81,93,94,289',
'69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
'100,102,103,,,19,,,,,,8,45,291,10,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,238,242,247,248,249,244,246,254,255,250,251,,231',
'232,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234',
'245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,256,,,,,62',
',81,93,94,289,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,',
',,29,28,27,101,100,102,103,,,19,,,,,,8,45,291,10,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,238,242,247,248,249,244,246,254,255',
'250,251,,231,232,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237',
'236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',256,,,,,62,,81,93,94,289,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30',
'31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,291,10,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,242,247,248,249,244',
'246,254,255,250,251,,231,232,,,252,253,,40,,,33,,,58,59,,,60,,35,235',
',241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,256,,,,,62,,81,93,94,289,69,70,71,9,57,,,,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,291',
'10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,242,247',
'248,249,244,246,254,255,250,251,,231,232,,,252,253,,40,,,33,,,58,59',
',,60,,35,235,,241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,256,,,,,62,,81,93,94,289,69,70,71,9,57,,',
',63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19',
',,,,,8,45,291,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43',
'41,238,242,247,248,249,244,246,254,255,250,251,,231,232,,,252,253,,40',
',,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245,243,239,20,240',
',,,89,79,82,83,,84,86,85,87,,,,,80,88,,256,,,,,62,,81,93,94,289,69,70',
'71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
'103,,546,19,543,542,541,,544,8,45,291,10,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,546,,543,542,541,,544,,697,,,238,,,,,,700',
',40,,,33,,,58,59,,,60,,35,,,,44,,697,,,,,,235,20,,700,237,236,89,79',
'82,83,,84,86,85,87,,,,,80,88,,546,,543,542,541,62,544,81,93,94,289,69',
'70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,697,29,28,27,101',
'100,102,103,,899,19,,,,,,8,45,291,10,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,42,43,41,238,242,247,248,249,244,246,254,255,250,251',
',-593,-593,,,252,253,,40,,,33,,,58,59,,238,60,,35,235,,241,44,237,236',
',233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,235,,80,88',
'237,236,,233,234,,62,,81,93,94,289,69,70,71,9,57,,,,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,291,10',
'105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,242,247,248',
'249,244,246,254,255,250,251,,-593,-593,,,252,253,,40,,,33,,,58,59,,238',
'60,,35,235,,241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83',
',84,86,85,87,,,235,,80,88,237,236,,,,,62,,81,93,94,289,69,70,71,9,57',
',,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,',
'546,19,543,542,541,,544,8,45,291,10,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,238,-593,-593,-593,-593,244,246,,697,-593,-593,',
',,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245',
'243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,546,,543,542,541',
'62,544,81,93,94,289,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72',
'73,,,,,697,29,28,27,101,100,102,103,,546,19,543,542,541,,544,8,45,291',
'10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,546,,543',
'542,541,,544,697,546,,543,542,541,,544,252,253,,40,,,33,,,58,59,,,60',
',35,235,,241,44,237,236,697,233,234,,,239,20,240,697,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,289,69,70,71,9,57,,,,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,',
'8,45,291,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,238',
',,,,,,,,,,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236',
',233,234,,,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62',
',81,93,94,289,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,',
',,29,28,27,101,100,102,103,,,19,,,,,,8,45,291,10,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,238,,,,,,,,,,,,,,,,252,253,,40,,,33',
',,58,59,,,60,,35,235,,241,44,237,236,,233,234,,,239,20,240,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,289,69,70,71,9,57,,',
',63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19',
',,,,,8,45,291,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43',
'41,238,,,,,,,,,,,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44',
'237,236,,233,234,,,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',,,,,,62,,81,93,94,289,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,291,10,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,-593,-593,-593,-593,244',
'246,,,-593,-593,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237',
'236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',,,,,,62,,81,93,94,289,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,291,10,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,-593,-593,-593,-593,244',
'246,,,-593,-593,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237',
'236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',,,,,,62,,81,93,94,289,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,291,10,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,-593,-593,-593,-593,244',
'246,,,-593,-593,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237',
'236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',,,,,,62,,81,93,94,289,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,291,10,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,-593,-593,-593,-593,244',
'246,,,-593,-593,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237',
'236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',,,,,,62,,81,93,94,289,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,291,10,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,-593,-593,-593,-593,244',
'246,,,-593,-593,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237',
'236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',,,,,,62,,81,93,94,289,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,291,10,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,238,242,247,248,249,244,246',
',,250,251,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236',
',233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,',
',,,,62,,81,93,94,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,7,10,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,42,43,41,238,242,247,248,249,244,246,254',
',250,251,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236',
',233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,',
',69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
'27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,283,99',
'107,108,,91,92,42,43,41,238,,,,,,,,,,,,,,,,252,253,,223,,,229,,,58,59',
',,60,,281,235,279,241,44,237,236,284,233,234,,,,228,,,,,89,79,82,83',
',84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104',
'106,95,56,97,96,98,283,99,107,108,,91,92,42,43,41,238,,,,,,,,,,,,,,',
',252,253,,223,,,229,,,58,59,,,60,,281,235,279,241,44,237,236,284,233',
'234,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,283,99,107,108,,91,92',
'42,43,41,238,,,,,,,,,,,,,,,,252,253,,223,,,229,,,58,59,,,60,,281,235',
'279,,44,237,236,284,233,234,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,',
'80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,308,309,72,73',
',,,,,304,305,311,101,100,102,103,,,230,,,,,,,306,,,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,,,312,,,,,,,,,,,,,,,,,,,,302,,,298,,,58',
'59,,,60,,297,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,',
'69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,308,309,72,73,,,,,,304',
'305,311,101,100,102,103,,,230,,,,,,,306,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,,,312,,,,,,,,,,,,,,,,,,,,302,,,229,,,58,59,,,60,',
',546,,543,542,541,550,544,,,,,,,,,553,,89,79,82,83,,84,86,85,87,,,,',
'80,88,,,,314,,548,62,,81,93,94,69,70,71,,57,561,560,,63,64,554,,,67',
',65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,',
',,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,308',
'309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105,104',
'106,95,56,97,96,98,283,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,',
',223,,,229,,,58,59,,,60,,281,,,,44,,,284,,,,,,228,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,283,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,',
',,,,,223,,,229,,,58,59,,,60,,,,,,44,,,284,,,,,,228,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,',
',,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59',
',,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69',
'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,',
',,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,113,,,,,112,62,,81,93',
'94,69,70,71,,57,,,,63,64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305',
'311,101,100,102,103,,,230,,,,,,,306,,,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,,,312,,,,,,,,,,,,,,,,,,,,347,,,33,,,58,59,,,60,,35,,',
',,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311,101,100',
'102,103,,,230,,,,,,,306,,,105,104,106,352,56,97,96,353,,99,107,108,',
'91,92,,,312,,,,,,,,,,,,,,,,,359,,,354,,,229,,,58,59,,,60,,,,,,,,,,,',
',,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94',
'63,64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103',
',,230,,,,,,,306,,,105,104,106,352,56,97,96,353,,99,107,108,,91,92,,',
'312,,,,,,,,,,,,,,,,,,,,354,,,229,,,58,59,,,60,,,546,,543,542,541,550',
'544,,,,,,,,,553,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,548,62,,81',
'93,94,69,70,71,9,57,561,560,,63,64,554,,,67,,65,66,68,30,31,72,73,,',
',,,29,28,27,101,100,102,103,,,19,,,,,,8,45,7,10,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59',
',,60,,35,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,',
',,387,62,,81,93,94,69,70,71,,57,,,,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59',
',,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69',
'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,',
',,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103',
',,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43',
'41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,',
'89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,',
',,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83',
',84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,69,70,71,9,57,,,,63,64,,,',
'67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45',
',10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,',
',,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,89,79,82,83',
',84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,403,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
',,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,',
',29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98',
'283,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59',
',,60,,281,,279,,44,,,284,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,',
',29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60',
',,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
'100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,403,,,,44',
',,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
'103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,',
',,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,',
'58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
'218,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,308,309,72,73,,',
',,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58',
'59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,308,309,72,73,,,,,,304',
'305,311,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60',
',,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44',
',,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311,101,100',
'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,',
',,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,',
'230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,',
',,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,308',
'309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,308,309,72',
'73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
',,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,308,309,72,73,,',
',,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58',
'59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,308,309,72,73,,,,,,304',
'305,311,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60',
',,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44',
',,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311,101,100',
'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,',
',,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,',
'230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,',
',,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,308',
'309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,308,309,72',
'73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
',,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,308,309,72,73,,',
',,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58',
'59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,308,309,72,73,,,,,,304',
'305,311,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60',
',,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44',
',,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,283,99,107,108,,91,92',
'42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,284',
',,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103',
',,230,,,,,,,45,,,105,104,106,95,56,97,96,98,283,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,284',
',,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103',
',,230,,,,,,,45,,,105,104,106,95,56,97,96,98,283,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,284',
',,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,218,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311,101,100',
'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,',
',,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,',
'230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,69,70,71,9,57,,,,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,',
',,,8,45,,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,',
',,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,',
',306,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,312,,,,,,,,,',
',,,,,,,,,,302,,,229,,,58,59,,,60,,,546,,543,542,541,550,544,,,,,,,,',
'553,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,502,,548,62,,81,93,94,69',
'70,71,,57,561,560,,63,64,554,,,67,,65,66,68,308,309,72,73,,,,,,304,305',
'311,101,100,102,103,,,230,,,,,,,306,,,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,,,312,,,,,,,,,,,,,,,,,,,,302,,,298,,,58,59,,,60,,,,,',
',,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,518,,58,59,,,60,,,,,,44,,,,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,',
'58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,',
',,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
'102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
'42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,',
'230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45',
',,105,104,106,95,56,97,96,98,283,99,107,108,,91,92,42,43,41,,,,,,,,',
',,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,284,,,,,,228,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,',
',,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,283,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,',
',,,,,223,,,229,,,58,59,,,60,,656,,279,,44,,,284,,,,,,228,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45',
',,105,104,106,95,56,97,96,98,283,99,107,108,,91,92,42,43,41,,,,,,,,',
',,,,,,,,,,,223,,,229,,,58,59,,,60,,,,279,,44,,,284,,,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,',
',,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,69,70,71,9,57,,,,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,',
'8,45,291,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,',
',,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,,,387,62,,81,93,94,69,70,71,,57,,,,63',
'64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,',
'230,,,,,,,306,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,312',
',,,,,,,,,,,,,,,,,,,302,,,298,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,283,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,',
',,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,284,,,,,,228,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,306',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,312,,,,,,,,,,,,,,',
',,,,,302,,,298,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,308,309',
'72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,',
'229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,',
',,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,308,309,72',
'73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
',,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,',
',29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60',
',,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,283,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,656,',
',,44,,,284,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,283,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44',
',,284,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62',
'57,81,93,94,63,64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311,101',
'100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,',
',,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,,,44,,,,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,',
',,,,,45,,,105,104,106,95,56,97,96,98,283,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,284,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,',
',,,,,45,,,105,104,106,95,56,97,96,98,283,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,284,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,',
'230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,750,,,,44,,,,,,,,,228,,,',
',89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230',
',,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,',
',,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,',
',45,,,105,104,106,95,56,97,96,98,283,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,656,,279,,44,,,284,,,,,,228,',
',,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,',
'230,,,,,,,45,,,105,104,106,95,56,97,96,98,283,99,107,108,,91,92,42,43',
'41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,279,,44,,,284,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,',
',,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,',
',,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,',
',105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,',
',,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,',
'229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,',
',,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58',
'59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,',
',,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44',
',,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311,101,100',
'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,',
',,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102',
'103,,,230,,,,,,,306,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
',,312,,,,,,,,,,,,,,,,,,,,302,,,298,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,',
',,,,306,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,312,,,,,,',
',,,,,,,,,,,,,302,,,298,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,223,,,229,,,58,59,,,60,,403,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30',
'31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
',,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,',
',29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60',
',,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44',
',,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,',
'230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,',
',,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,308',
'309,72,73,,,,,,304,305,311,101,100,102,103,,,230,,,,,,,306,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,,,312,,,,,,,,,,,,,,,,,,,,871,',
',229,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,',
',29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60',
',,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,656,',
',,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,283,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,279',
',44,,,284,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44',
',,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,308,309,72,73,,,,,,304,305,311,101,100',
'102,103,,,230,,,,,,,306,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,,,312,,,,,,,,,,,,,,,,,,,,871,,,229,,,58,59,,,60,,,,,,,,,,,,,,,,,',
',,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,308,309,72,73,,,,,,304,305,311,101,100,102,103,,,230',
',,,,,,306,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,312,,,,',
',,,,,,,,,,,,,,,941,,,229,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83',
',84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104',
'106,95,56,97,96,98,283,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,',
',223,,,229,,,58,59,,,60,,281,,279,,44,,,284,,,,,,228,,,,,89,79,82,83',
',84,86,85,87,,,,,80,88,,,,,-280,,62,,81,93,94,-280,-280,-280,,,-280',
'-280,-280,,-280,,,,,,,,,,-280,-280,-280,,,,,,,,-280,-280,,-280,-280',
'-280,-280,-280,,,,,,,,,,,,,,,,,,,,,,,-280,-280,-280,-280,-280,-280,-280',
'-280,-280,-280,-280,-280,-280,-280,,,-280,-280,-280,,,-280,,,-280,,',
'-280,-280,,-280,,-280,,-280,,-280,-280,,-280,-280,-280,-280,-280,,-280',
',-280,,,,,,,,,,,,,,-280,,,-280,-280,-280,-280,-575,-280,,-280,,,,-575',
'-575,-575,,,-575,-575,-575,,-575,,,,,,,,,-575,-575,-575,-575,,,,,,,',
'-575,-575,,-575,-575,-575,-575,-575,,,,,,,,,,,,,,,,,,,,,,,-575,-575',
'-575,-575,-575,-575,-575,-575,-575,-575,-575,-575,-575,-575,,,-575,-575',
'-575,,,-575,,,-575,,,-575,-575,,-575,,-575,,-575,,-575,-575,,-575,-575',
'-575,-575,-575,,-575,-575,-575,,,,,,,,,,,,,,-575,,,-575,-575,-575,-575',
'-576,-575,,-575,,,,-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,-576,,-576,-576,-576,-576,-576,,-576,-576,-576,546,,543,542,541',
'550,544,,,,,,,-576,,553,-576,-576,-576,-576,-409,-576,,-576,,,,-409',
'-409,-409,,,-409,-409,-409,,-409,548,,,,,,,,-409,-409,-409,561,560,',
',,554,,,-409,-409,,-409,-409,-409,-409,-409,,,,,,,,,,,,,,,,,,,,,,,-409',
'-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,,,-409',
'-409,-409,,,-409,,263,-409,,,-409,-409,,-409,,-409,,-409,,-409,-409',
',-409,-409,-409,-409,-409,-296,-409,-409,-409,,,,-296,-296,-296,,,-296',
'-296,-296,,-296,-409,,,-409,-409,,-409,,-409,-296,-296,,,,,,,,,-296',
'-296,,-296,-296,-296,-296,-296,,,,,,,,,,,,,,,,,,,,,,,-296,-296,-296',
'-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,,,-296,-296,-296',
',,-296,,272,-296,,,-296,-296,,-296,,-296,,-296,,-296,-296,,-296,-296',
'-296,-296,-296,,-296,-244,-296,,,,,,-244,-244,-244,,,-244,-244,-244',
'-296,-244,,-296,-296,,-296,,-296,,-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',
',263,-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,546,-244,543,542,541,550,544,,,,-244,-244',
',,,553,,,,,,-244,-244,,-244,-244,-244,-244,-244,,,,,,,,,548,,546,,543',
'542,541,550,544,558,557,561,560,,,,554,553,,,,,,,,-244,,,,,,,-244,,',
',,263,-244,548,532,,218,,,,,,558,557,561,560,,,,554,,,,,-244,-244,,',
',,,,,,,,,,,-244,,,-244,,,,,-244,173,184,174,197,170,190,180,179,200',
'201,195,178,177,172,198,202,203,182,171,185,189,191,183,176,,,,192,199',
'194,193,186,196,181,169,188,187,,,,,,168,175,166,167,163,164,165,124',
'126,123,,125,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,',
',,159,160,146,147,,,,,,,,,,,,,,151,150,,135,156,153,152,161,148,149',
'143,141,133,155,134,,,162,89,,,,,,,,,,,,,,88,173,184,174,197,170,190',
'180,179,200,201,195,178,177,172,198,202,203,182,171,185,189,191,183',
'176,,,,192,199,194,193,186,196,181,169,188,187,,,,,,168,175,166,167',
'163,164,165,124,126,,,125,,,,,,,,157,158,,154,136,137,138,145,142,144',
',,139,140,,,,159,160,146,147,,,,,,,,,,,,,,151,150,,135,156,153,152,161',
'148,149,143,141,133,155,134,,,162,89,,,,,,,,,,,,,,88,173,184,174,197',
'170,190,180,179,200,201,195,178,177,172,198,202,203,182,171,185,189',
'191,183,176,,,,192,199,194,193,186,196,181,169,188,187,,,,,,168,175',
'166,167,163,164,165,124,126,,,125,,,,,,,,157,158,,154,136,137,138,145',
'142,144,,,139,140,,,,159,160,146,147,,,,,,,,,,,,,,151,150,,135,156,153',
'152,161,148,149,143,141,133,155,134,,,162,89,,,,,,,,,,,,,,88,173,184',
'174,197,170,190,180,179,200,201,195,178,177,172,198,202,203,182,171',
'185,189,191,183,176,,,,192,199,194,193,186,196,181,169,188,187,,,,,',
'168,175,166,167,163,164,165,124,126,,,125,,,,,,,,157,158,,154,136,137',
'138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,,,,,,,,,151,150,,135',
'156,153,152,161,148,149,143,141,133,155,134,,,162,89,,,,,,,,,,,,,,88',
'173,184,174,197,170,190,180,179,200,201,195,178,177,172,198,202,203',
'182,171,185,189,191,183,176,,,,192,199,194,370,369,371,368,169,188,187',
',,,,,168,175,166,167,365,366,367,363,126,97,96,364,,99,,,,,,157,158',
',154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,375,',
',,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155,134,,,162',
'173,184,174,197,170,190,180,179,200,201,195,178,177,172,198,202,203',
'182,171,185,189,191,183,176,,,,192,199,194,193,186,196,181,169,188,187',
',,,,,168,175,166,167,163,164,165,124,126,,,125,,,,,,,,157,158,,154,136',
'137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,,,,,,,,,151,150',
',135,156,153,152,161,148,149,143,141,133,155,134,412,416,162,,413,,',
',,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147',
',,,,,263,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155',
'134,419,423,162,,418,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139',
'140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152,161',
'148,149,143,141,133,155,134,474,416,162,,475,,,,,,,,157,158,,154,136',
'137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,,,,,,,,,151,150',
',135,156,153,152,161,148,149,143,141,133,155,134,635,416,162,,636,,',
',,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147',
',,,,,263,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155',
'134,637,423,162,,638,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139',
'140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152,161',
'148,149,143,141,133,155,134,666,416,162,,667,,,,,,,,157,158,,154,136',
'137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,263,,,,,,,,151',
'150,,135,156,153,152,161,148,149,143,141,133,155,134,669,423,162,,670',
',,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146',
'147,,,,,,263,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133',
'155,134,635,416,162,,636,,,,,,,,157,158,,154,136,137,138,145,142,144',
',,139,140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152',
'161,148,149,143,141,133,155,134,637,423,162,,638,,,,,,,,157,158,,154',
'136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,263,,,,,,',
',151,150,,135,156,153,152,161,148,149,143,141,133,155,134,717,416,162',
',718,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160',
'146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141',
'133,155,134,719,423,162,,720,,,,,,,,157,158,,154,136,137,138,145,142',
'144,,,139,140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153',
'152,161,148,149,143,141,133,155,134,722,423,162,,723,,,,,,,,157,158',
',154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,263,',
',,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155,134,474,416',
'162,,475,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159',
'160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152,161,148,149,143',
'141,133,155,134,976,423,162,,975,,,,,,,,157,158,,154,136,137,138,145',
'142,144,,,139,140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156',
'153,152,161,148,149,143,141,133,155,134,999,416,162,,1000,,,,,,,,157',
'158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,263',
',,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155,134,1001',
'423,162,,1002,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140',
',,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152,161,148',
'149,143,141,133,155,134,,546,162,543,542,541,550,544,,546,,543,542,541',
'550,544,553,,,,,,,,553,,546,,543,542,541,550,544,,,,,,548,,,553,,,,',
'548,558,557,561,560,,,,554,558,557,561,560,,,,554,548,,546,,543,542',
'541,550,544,558,557,561,560,,,,554,553,,546,,543,542,541,550,544,,546',
',543,542,541,550,544,553,,,,,548,,,553,,,,,,558,557,561,560,,,,554,548',
',,,,,,,548,558,557,561,560,,,,554,558,557,561,560,,,546,554,543,542',
'541,550,544,,546,,543,542,541,550,544,553,,,,,,,,553,,546,,543,542,541',
'550,544,,,,,,548,,,553,,,,,548,558,557,561,560,,,,554,558,557,561,560',
',,,554,548,,546,,543,542,541,550,544,,,561,560,,,,554,553,,546,,543',
'542,541,550,544,546,,543,542,541,550,544,,553,,,,,548,,553,,,,,,,558',
'557,561,560,,,,554,548,,,,,,,548,,,,561,560,,,,554,,561,560,,,546,554',
'543,542,541,550,544,546,,543,542,541,550,544,546,553,543,542,541,550',
'544,,553,,,,,,,553,,,,,,,,548,,,,,,,548,,,,561,560,,548,,554,,561,560',
',,,554,,561,560,,,,554' ]
racc_action_table = arr = ::Array.new(24879, 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,436,436,591,591,61,344,95,95,95,19,337,95,95,95,472,95,26,58,382',
'1,480,676,676,95,383,95,95,95,327,647,7,327,345,348,307,95,95,358,95',
'95,95,95,95,10,338,221,880,715,575,472,19,683,567,481,568,480,3,58,908',
'12,908,3,222,717,718,95,95,95,95,95,95,95,95,95,95,95,95,95,95,13,26',
'95,95,95,382,95,95,839,481,95,383,61,95,95,436,95,591,95,307,95,221',
'95,95,26,95,95,95,95,95,903,95,98,95,999,344,676,647,222,98,98,98,307',
'1000,98,98,98,95,98,337,95,95,95,95,337,95,98,95,98,98,98,95,345,348',
'358,15,719,840,98,98,1001,98,98,98,98,98,1013,567,575,568,666,683,567',
'338,568,880,715,358,338,715,880,715,358,717,718,720,587,587,98,98,98',
'98,98,98,98,98,98,98,98,98,98,98,15,224,98,98,98,839,98,98,15,667,98',
'41,41,98,98,16,98,354,98,719,98,354,98,98,442,98,98,98,98,98,418,98',
'22,98,666,1001,903,418,418,418,999,903,37,418,418,999,418,98,720,1000',
'98,98,98,98,1000,98,224,98,24,840,602,98,635,719,840,24,418,418,40,418',
'418,418,418,418,666,667,1001,666,587,442,604,1001,1013,587,648,666,287',
'1013,45,41,41,287,720,38,312,312,418,418,418,418,418,418,418,418,418',
'418,418,418,418,418,377,636,418,418,418,667,418,635,667,648,418,661',
'39,418,602,602,667,109,418,661,418,204,418,418,602,418,418,418,418,418',
'38,418,419,418,604,604,316,770,38,419,419,419,412,223,604,419,419,418',
'419,341,418,418,225,418,341,418,636,419,226,39,352,418,312,312,377,377',
'377,39,419,419,363,419,419,419,419,419,700,363,700,700,700,230,700,316',
'899,378,899,899,899,412,899,316,770,17,17,262,353,412,419,419,419,419',
'419,419,419,419,419,419,419,419,419,419,352,14,419,419,419,276,419,352',
'14,277,419,379,352,419,685,280,352,14,419,413,419,669,419,419,685,419',
'419,419,419,419,291,419,419,419,364,352,353,378,378,378,380,364,292',
'353,294,381,700,419,353,384,419,419,353,419,899,419,637,685,685,295',
'365,419,685,637,637,637,413,365,637,637,637,353,637,669,413,379,379',
'379,296,77,669,637,637,637,637,669,302,46,305,669,618,77,637,637,46',
'637,637,637,637,637,220,77,306,46,380,380,380,220,669,381,381,381,366',
'384,384,384,220,328,331,366,328,331,637,637,637,637,637,637,637,637',
'637,637,637,637,637,637,311,618,637,637,637,467,637,637,299,618,637',
'313,367,637,637,299,637,317,637,367,637,320,637,637,299,637,637,637',
'637,637,586,637,637,637,325,586,368,467,329,369,330,467,467,368,467',
'467,369,637,332,843,637,637,637,637,843,637,638,637,20,20,20,637,20',
'638,638,638,20,20,638,638,638,20,638,20,20,20,20,20,20,20,336,336,638',
'638,638,20,20,20,20,20,20,20,638,638,20,638,638,638,638,638,682,20,342',
'682,20,20,20,20,20,20,20,20,343,20,20,20,347,20,20,20,20,20,638,638',
'638,638,638,638,638,638,638,638,638,638,638,638,521,521,638,638,638',
'20,638,638,20,349,638,20,20,638,638,20,638,370,638,393,638,20,638,638',
'370,638,638,638,638,638,20,638,371,638,399,20,20,20,20,371,20,20,20',
'20,688,688,402,638,20,20,638,638,638,638,404,638,20,638,20,20,20,638',
'0,0,0,0,0,0,373,848,928,0,0,928,848,373,0,408,0,0,0,0,0,0,0,410,722',
'706,706,411,0,0,0,0,0,0,0,123,420,0,989,989,123,123,431,0,0,0,0,0,0',
'0,0,0,0,0,0,428,0,0,0,438,0,0,0,0,0,431,431,431,431,431,431,431,431',
'431,431,431,722,431,431,300,450,431,431,722,0,451,300,0,722,452,0,0',
'722,453,0,300,0,431,478,431,0,431,431,857,431,431,431,431,431,0,431',
'722,482,857,0,0,0,0,301,0,0,0,0,497,498,301,501,0,0,503,431,508,431',
'511,301,0,519,0,0,0,33,33,33,33,33,33,857,857,520,33,33,857,522,534',
'33,535,33,33,33,33,33,33,33,537,796,538,539,547,33,33,33,33,33,33,33',
'595,595,33,555,595,595,595,407,33,33,33,33,33,33,33,33,33,33,33,33,559',
'33,33,33,562,33,33,33,33,33,407,407,407,407,407,407,407,407,407,407',
'407,796,407,407,303,564,407,407,796,33,569,303,33,570,589,33,33,796',
'599,33,303,33,407,607,407,33,407,407,609,407,407,407,407,407,33,407',
'796,615,619,33,33,33,33,318,33,33,33,33,624,629,318,639,33,33,641,407',
'646,653,655,318,33,660,33,33,33,121,121,121,121,121,121,663,665,346',
'121,121,668,671,672,121,346,121,121,121,121,121,121,121,675,346,677',
'680,684,121,121,121,121,121,121,121,699,701,121,708,713,716,725,640',
'121,121,121,121,121,121,121,121,121,121,121,121,730,121,121,121,749',
'121,121,121,121,121,640,640,640,640,640,640,640,640,640,640,640,356',
'640,640,507,754,640,640,356,121,772,507,121,773,775,121,121,356,776',
'121,507,121,640,777,640,121,640,640,779,640,640,640,640,640,121,640',
'780,781,782,121,121,121,121,578,121,121,121,121,786,790,578,791,121',
'121,795,640,799,802,803,578,121,806,121,121,121,206,206,206,206,206',
'206,811,812,870,206,206,816,817,819,206,870,206,206,206,206,206,206',
'206,820,870,822,825,827,206,206,206,206,206,206,206,830,868,206,868',
'868,868,833,868,206,206,206,206,206,206,206,206,206,206,206,206,842',
'206,206,206,846,206,206,206,206,206,21,21,21,21,21,21,21,21,21,21,21',
'670,21,21,932,847,21,21,670,206,850,932,206,670,851,206,206,670,867',
'206,932,206,21,871,21,206,21,21,873,21,21,21,21,21,206,21,884,885,901',
'206,206,206,206,938,206,206,206,206,905,906,938,912,206,206,916,21,918',
'921,922,938,206,923,206,206,206,229,229,229,229,229,229,924,926,939',
'229,229,941,946,947,229,939,229,229,229,229,229,229,229,948,939,949',
'950,952,229,229,229,229,229,229,229,975,974,229,974,974,974,976,974',
'229,229,229,229,229,229,229,229,229,229,229,229,977,229,229,229,988',
'229,229,229,229,229,274,274,274,274,274,274,274,274,274,274,274,723',
'274,274,940,990,274,274,723,229,991,940,229,723,992,229,229,723,993',
'229,940,229,274,994,274,229,274,274,995,274,274,274,274,274,229,274',
'998,1003,1004,229,229,229,229,942,229,229,229,229,1015,,942,,229,229',
',274,,,,942,229,,229,229,229,293,293,293,293,293,293,,,981,293,293,',
',,293,981,293,293,293,293,293,293,293,,981,,,,293,293,293,293,293,293',
'293,,,293,6,6,6,6,6,293,293,293,293,293,293,293,293,293,293,293,293',
',293,293,293,,293,293,293,293,293,426,426,426,426,426,426,426,426,426',
'426,426,1002,426,426,,,426,426,1002,293,,,293,1002,,293,293,1002,,293',
',293,426,,426,293,426,426,,426,426,426,426,426,293,426,,,,293,293,293',
'293,,293,293,293,293,,,,,293,293,,426,,,,,293,,293,293,293,298,298,298',
'298,298,298,,,,298,298,,,,298,,298,298,298,298,298,298,298,290,290,290',
'290,290,298,298,298,298,298,298,298,,,298,495,495,495,495,495,298,298',
'298,298,298,298,298,298,298,298,298,298,,298,298,298,,298,298,298,298',
'298,471,471,471,471,471,471,471,471,471,471,471,,471,471,,,471,471,',
'298,,,298,,,298,298,,,298,,298,471,,471,298,471,471,,471,471,471,471',
'471,298,471,,,,298,298,298,298,,298,298,298,298,,,,,298,298,471,471',
',,,,298,,298,298,298,323,323,323,323,323,323,,,,323,323,,,,323,,323',
'323,323,323,323,323,323,,,,,,323,323,323,323,323,323,323,,,323,,,,,',
'323,323,323,323,323,323,323,323,323,323,323,323,,323,323,323,,323,323',
'323,323,323,517,517,517,517,517,517,517,517,517,517,517,,517,517,,,517',
'517,,323,,,323,,,323,323,,,323,,323,517,,517,323,517,517,,517,517,517',
'517,517,323,517,,,,323,323,323,323,,323,323,323,323,,,,,323,323,,517',
',,,,323,,323,323,323,496,496,496,496,496,496,,,,496,496,,,,496,,496',
'496,496,496,496,496,496,,,,,,496,496,496,496,496,496,496,,,496,,,,,',
'496,496,496,496,496,496,496,496,496,496,496,496,,496,496,496,,496,496',
'496,496,496,674,674,674,674,674,674,674,674,674,674,674,,674,674,,,674',
'674,,496,,,496,,,496,496,,,496,,496,674,,674,496,674,674,,674,674,674',
'674,674,496,674,,,,496,496,496,496,,496,496,496,496,,,,,496,496,,674',
',,,,496,,496,496,496,563,563,563,563,563,563,,,,563,563,,,,563,,563',
'563,563,563,563,563,563,,,,,,563,563,563,563,563,563,563,,,563,,,,,',
'563,563,563,563,563,563,563,563,563,563,563,563,,563,563,563,,563,563',
'563,563,563,751,751,751,751,751,751,751,751,751,751,751,,751,751,,,751',
'751,,563,,,563,,,563,563,,,563,,563,751,,751,563,751,751,,751,751,751',
'751,751,563,751,,,,563,563,563,563,,563,563,563,563,,,,,563,563,,751',
',,,,563,,563,563,563,566,566,566,566,566,566,,,,566,566,,,,566,,566',
'566,566,566,566,566,566,,,,,,566,566,566,566,566,566,566,,,566,,,,,',
'566,566,566,566,566,566,566,566,566,566,566,566,,566,566,566,,566,566',
'566,566,566,756,756,756,756,756,756,756,756,756,756,756,,756,756,,,756',
'756,,566,,,566,,,566,566,,,566,,566,756,,756,566,756,756,,756,756,756',
'756,756,566,756,,,,566,566,566,566,,566,566,566,566,,,,,566,566,,756',
',,,,566,,566,566,566,588,588,588,588,588,588,,,,588,588,,,,588,,588',
'588,588,588,588,588,588,,,,,,588,588,588,588,588,588,588,,,588,,,,,',
'588,588,588,588,588,588,588,588,588,588,588,588,,588,588,588,,588,588',
'588,588,588,758,758,758,758,758,758,758,758,758,758,758,,758,758,,,758',
'758,,588,,,588,,,588,588,,,588,,588,758,,758,588,758,758,,758,758,758',
'758,758,588,758,,,,588,588,588,588,,588,588,588,588,,,,,588,588,,758',
',,,,588,,588,588,588,645,645,645,645,645,645,,,,645,645,,,,645,,645',
'645,645,645,645,645,645,,,,,,645,645,645,645,645,645,645,,,645,,,,,',
'645,645,645,645,645,645,645,645,645,645,645,645,,645,645,645,,645,645',
'645,645,645,761,761,761,761,761,761,761,761,761,761,761,,761,761,,,761',
'761,,645,,,645,,,645,645,,,645,,645,761,,761,645,761,761,,761,761,761',
'761,761,645,761,,,,645,645,645,645,,645,645,645,645,,,,,645,645,,761',
',,,,645,,645,645,645,650,650,650,650,650,650,,,,650,650,,,,650,,650',
'650,650,650,650,650,650,,,,,,650,650,650,650,650,650,650,,,650,,,,,',
'650,650,650,650,650,650,650,650,650,650,650,650,,650,650,650,,650,650',
'650,650,650,763,763,763,763,763,763,763,763,763,763,763,,763,763,,,763',
'763,,650,,,650,,,650,650,,,650,,650,763,,763,650,763,763,,763,763,763',
'763,763,650,763,,,,650,650,650,650,,650,650,650,650,,,,,650,650,,763',
',,,,650,,650,650,650,651,651,651,651,651,651,,,,651,651,,,,651,,651',
'651,651,651,651,651,651,,,,,,651,651,651,651,651,651,651,,,651,,,,,',
'651,651,651,651,651,651,651,651,651,651,651,651,,651,651,651,,651,651',
'651,651,651,765,765,765,765,765,765,765,765,765,765,765,,765,765,,,765',
'765,,651,,,651,,,651,651,,,651,,651,765,,765,651,765,765,,765,765,765',
'765,765,651,765,,,,651,651,651,651,,651,651,651,651,,,,,651,651,,765',
',,,,651,,651,651,651,726,726,726,726,726,726,,,,726,726,,,,726,,726',
'726,726,726,726,726,726,,,,,,726,726,726,726,726,726,726,,,726,,,,,',
'726,726,726,726,726,726,726,726,726,726,726,726,,726,726,726,,726,726',
'726,726,726,853,853,853,853,853,853,853,853,853,853,853,,853,853,,,853',
'853,,726,,,726,,,726,726,,,726,,726,853,,853,726,853,853,,853,853,853',
'853,853,726,853,,,,726,726,726,726,,726,726,726,726,,,,,726,726,,853',
',,,,726,,726,726,726,731,731,731,731,731,731,,,,731,731,,,,731,,731',
'731,731,731,731,731,731,,,,,,731,731,731,731,731,731,731,,,731,,,,,',
'731,731,731,731,731,731,731,731,731,731,731,731,,731,731,731,,731,731',
'731,731,731,856,856,856,856,856,856,856,856,856,856,856,,856,856,,,856',
'856,,731,,,731,,,731,731,,,731,,731,856,,856,731,856,856,,856,856,856',
'856,856,731,856,,,,731,731,731,731,,731,731,731,731,,,,,731,731,,856',
',,,,731,,731,731,731,741,741,741,741,741,741,,,,741,741,,,,741,,741',
'741,741,741,741,741,741,,,,,,741,741,741,741,741,741,741,,548,741,548',
'548,548,,548,741,741,741,741,741,741,741,741,741,741,741,741,,741,741',
'741,,741,741,741,741,741,697,,697,697,697,,697,,548,,,448,,,,,,548,',
'741,,,741,,,741,741,,,741,,741,,,,741,,697,,,,,,448,741,,697,448,448',
'741,741,741,741,,741,741,741,741,,,,,741,741,,826,,826,826,826,741,826',
'741,741,741,789,789,789,789,789,789,,,,789,789,,,,789,,789,789,789,789',
'789,789,789,,,,,826,789,789,789,789,789,789,789,,826,789,,,,,,789,789',
'789,789,789,789,789,789,789,789,789,789,,789,789,789,,789,789,789,789',
'789,446,446,446,446,446,446,446,446,446,446,446,,446,446,,,446,446,',
'789,,,789,,,789,789,,468,789,,789,446,,446,789,446,446,,446,446,446',
'446,446,789,446,,,,789,789,789,789,,789,789,789,789,,,468,,789,789,468',
'468,,468,468,,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,447,447,447,447,447,447,447,447,447,447,447,,447',
'447,,,447,447,,801,,,801,,,801,801,,449,801,,801,447,,447,801,447,447',
',447,447,447,447,447,801,447,,,,801,801,801,801,,801,801,801,801,,,449',
',801,801,449,449,,,,,801,,801,801,801,809,809,809,809,809,809,,,,809',
'809,,,,809,,809,809,809,809,809,809,809,,,,,,809,809,809,809,809,809',
'809,,828,809,828,828,828,,828,809,809,809,809,809,809,809,809,809,809',
'809,809,,809,809,809,,809,809,809,809,809,457,457,457,457,457,457,457',
',828,457,457,,,,,,457,457,,809,,,809,,,809,809,,,809,,809,457,,457,809',
'457,457,,457,457,457,457,457,809,457,,,,809,809,809,809,,809,809,809',
'809,,,,,809,809,,900,,900,900,900,809,900,809,809,809,810,810,810,810',
'810,810,,,,810,810,,,,810,,810,810,810,810,810,810,810,,,,,900,810,810',
'810,810,810,810,810,,951,810,951,951,951,,951,810,810,810,810,810,810',
'810,810,810,810,810,810,,810,810,810,,810,810,810,810,810,458,953,,953',
'953,953,,953,951,987,,987,987,987,,987,458,458,,810,,,810,,,810,810',
',,810,,810,458,,458,810,458,458,953,458,458,,,458,810,458,987,,,810',
'810,810,810,,810,810,810,810,,,,,810,810,,,,,,,810,,810,810,810,834',
'834,834,834,834,834,,,,834,834,,,,834,,834,834,834,834,834,834,834,',
',,,,834,834,834,834,834,834,834,,,834,,,,,,834,834,834,834,834,834,834',
'834,834,834,834,834,,834,834,834,,834,834,834,834,834,459,,,,,,,,,,',
',,,,,459,459,,834,,,834,,,834,834,,,834,,834,459,,459,834,459,459,,459',
'459,,,459,834,459,,,,834,834,834,834,,834,834,834,834,,,,,834,834,,',
',,,,834,,834,834,834,835,835,835,835,835,835,,,,835,835,,,,835,,835',
'835,835,835,835,835,835,,,,,,835,835,835,835,835,835,835,,,835,,,,,',
'835,835,835,835,835,835,835,835,835,835,835,835,,835,835,835,,835,835',
'835,835,835,460,,,,,,,,,,,,,,,,460,460,,835,,,835,,,835,835,,,835,,835',
'460,,460,835,460,460,,460,460,,,460,835,460,,,,835,835,835,835,,835',
'835,835,835,,,,,835,835,,,,,,,835,,835,835,835,838,838,838,838,838,838',
',,,838,838,,,,838,,838,838,838,838,838,838,838,,,,,,838,838,838,838',
'838,838,838,,,838,,,,,,838,838,838,838,838,838,838,838,838,838,838,838',
',838,838,838,,838,838,838,838,838,461,,,,,,,,,,,,,,,,461,461,,838,,',
'838,,,838,838,,,838,,838,461,,461,838,461,461,,461,461,,,461,838,461',
',,,838,838,838,838,,838,838,838,838,,,,,838,838,,,,,,,838,,838,838,838',
'844,844,844,844,844,844,,,,844,844,,,,844,,844,844,844,844,844,844,844',
',,,,,844,844,844,844,844,844,844,,,844,,,,,,844,844,844,844,844,844',
'844,844,844,844,844,844,,844,844,844,,844,844,844,844,844,462,462,462',
'462,462,462,462,,,462,462,,,,,,462,462,,844,,,844,,,844,844,,,844,,844',
'462,,462,844,462,462,,462,462,462,462,462,844,462,,,,844,844,844,844',
',844,844,844,844,,,,,844,844,,,,,,,844,,844,844,844,877,877,877,877',
'877,877,,,,877,877,,,,877,,877,877,877,877,877,877,877,,,,,,877,877',
'877,877,877,877,877,,,877,,,,,,877,877,877,877,877,877,877,877,877,877',
'877,877,,877,877,877,,877,877,877,877,877,463,463,463,463,463,463,463',
',,463,463,,,,,,463,463,,877,,,877,,,877,877,,,877,,877,463,,463,877',
'463,463,,463,463,463,463,463,877,463,,,,877,877,877,877,,877,877,877',
'877,,,,,877,877,,,,,,,877,,877,877,877,937,937,937,937,937,937,,,,937',
'937,,,,937,,937,937,937,937,937,937,937,,,,,,937,937,937,937,937,937',
'937,,,937,,,,,,937,937,937,937,937,937,937,937,937,937,937,937,,937',
'937,937,,937,937,937,937,937,464,464,464,464,464,464,464,,,464,464,',
',,,,464,464,,937,,,937,,,937,937,,,937,,937,464,,464,937,464,464,,464',
'464,464,464,464,937,464,,,,937,937,937,937,,937,937,937,937,,,,,937',
'937,,,,,,,937,,937,937,937,954,954,954,954,954,954,,,,954,954,,,,954',
',954,954,954,954,954,954,954,,,,,,954,954,954,954,954,954,954,,,954',
',,,,,954,954,954,954,954,954,954,954,954,954,954,954,,954,954,954,,954',
'954,954,954,954,465,465,465,465,465,465,465,,,465,465,,,,,,465,465,',
'954,,,954,,,954,954,,,954,,954,465,,465,954,465,465,,465,465,465,465',
'465,954,465,,,,954,954,954,954,,954,954,954,954,,,,,954,954,,,,,,,954',
',954,954,954,960,960,960,960,960,960,,,,960,960,,,,960,,960,960,960',
'960,960,960,960,,,,,,960,960,960,960,960,960,960,,,960,,,,,,960,960',
'960,960,960,960,960,960,960,960,960,960,,960,960,960,,960,960,960,960',
'960,466,466,466,466,466,466,466,,,466,466,,,,,,466,466,,960,,,960,,',
'960,960,,,960,,960,466,,466,960,466,466,,466,466,466,466,466,960,466',
',,,960,960,960,960,,960,960,960,960,,,,,960,960,,,,,,,960,,960,960,960',
'962,962,962,962,962,962,,,,962,962,,,,962,,962,962,962,962,962,962,962',
',,,,,962,962,962,962,962,962,962,,,962,,,,,,962,962,962,962,962,962',
'962,962,962,962,962,962,,962,962,962,,962,962,962,962,962,469,469,469',
'469,469,469,469,,,469,469,,,,,,469,469,,962,,,962,,,962,962,,,962,,962',
'469,,469,962,469,469,,469,469,469,469,469,962,469,,,,962,962,962,962',
',962,962,962,962,,,,,962,962,,,,,,,962,,962,962,962,5,5,5,5,5,,,,5,5',
',,,5,,5,5,5,5,5,5,5,,,,,,5,5,5,5,5,5,5,,,5,,,,,,5,5,5,5,5,5,5,5,5,5',
'5,5,,5,5,5,,5,5,5,5,5,470,470,470,470,470,470,470,470,,470,470,,,,,',
'470,470,,5,,,5,,,5,5,,,5,,5,470,,470,5,470,470,,470,470,470,470,470',
'5,470,,,,5,5,5,5,,5,5,5,5,,,,,5,5,,,,29,29,29,5,29,5,5,5,29,29,,,,29',
',29,29,29,29,29,29,29,,,,,,29,29,29,29,29,29,29,,,29,,,,,,,29,,,29,29',
'29,29,29,29,29,29,29,29,29,29,,29,29,29,29,29,454,,,,,,,,,,,,,,,,454',
'454,,29,,,29,,,29,29,,,29,,29,454,29,454,29,454,454,29,454,454,,,,29',
',,,,29,29,29,29,,29,29,29,29,,,,,29,29,,,,30,30,30,29,30,29,29,29,30',
'30,,,,30,,30,30,30,30,30,30,30,,,,,,30,30,30,30,30,30,30,,,30,,,,,,',
'30,,,30,30,30,30,30,30,30,30,30,30,30,30,,30,30,30,30,30,455,,,,,,,',
',,,,,,,,455,455,,30,,,30,,,30,30,,,30,,30,455,30,455,30,455,455,30,455',
'455,,,,30,,,,,30,30,30,30,,30,30,30,30,,,,,30,30,,,,31,31,31,30,31,30',
'30,30,31,31,,,,31,,31,31,31,31,31,31,31,,,,,,31,31,31,31,31,31,31,,',
'31,,,,,,,31,,,31,31,31,31,31,31,31,31,31,31,31,31,,31,31,31,31,31,456',
',,,,,,,,,,,,,,,456,456,,31,,,31,,,31,31,,,31,,31,456,31,,31,456,456',
'31,456,456,,,,31,,,,,31,31,31,31,,31,31,31,31,,,,,31,31,,,,34,34,34',
'31,34,31,31,31,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,,,,35,35,35,34,35,34,34,34,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,,,693,,693,693,693,693,693,,,,,,,,,693,,35,35,35,35,,35,35,35',
'35,,,,,35,35,,,,35,,693,35,,35,35,35,42,42,42,,42,693,693,,42,42,693',
',,42,,42,42,42,42,42,42,42,,,,,,42,42,42,42,42,42,42,,,42,,,,,,,42,',
',42,42,42,42,42,42,42,42,,42,42,42,,42,42,42,42,42,,,,,,,,,,,,,,,,,',
',,42,,,42,,,42,42,,,42,,,,,,42,,,,,,,,,42,,,,,42,42,42,42,,42,42,42',
'42,,,,,42,42,,,,43,43,43,42,43,42,42,42,43,43,,,,43,,43,43,43,43,43',
'43,43,,,,,,43,43,43,43,43,43,43,,,43,,,,,,,43,,,43,43,43,43,43,43,43',
'43,,43,43,43,,43,43,43,43,43,,,,,,,,,,,,,,,,,,,,43,,,43,,,43,43,,,43',
',,,,,43,,,,,,,,,43,,,,,43,43,43,43,,43,43,43,43,,,,,43,43,,,,44,44,44',
'43,44,43,43,43,44,44,,,,44,,44,44,44,44,44,44,44,,,,,,44,44,44,44,44',
'44,44,,,44,,,,,,,44,,,44,44,44,44,44,44,44,44,,44,44,44,,44,44,44,44',
'44,,,,,,,,,,,,,,,,,,,,44,,,44,,,44,44,,,44,,,,,,44,,,,,,,,,44,,,,,44',
'44,44,44,,44,44,44,44,,,,,44,44,,,,59,59,59,44,59,44,44,44,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,59,59,,59,59,59',
'59,,,,,59,59,,,,60,60,60,59,60,59,59,59,60,60,,,,60,,60,60,60,60,60',
'60,60,,,,,,60,60,60,60,60,60,60,,,60,,,,,,,60,,,60,60,60,60,60,60,60',
'60,60,60,60,60,,60,60,60,60,60,,,,,,,,,,,,,,,,,,,,60,,,60,,,60,60,,',
'60,,,,,,60,,,60,,,,,,60,,,,,60,60,60,60,,60,60,60,60,,,,,60,60,,,,63',
'63,63,60,63,60,60,60,63,63,,,,63,,63,63,63,63,63,63,63,,,,,,63,63,63',
'63,63,63,63,,,63,,,,,,,63,,,63,63,63,63,63,63,63,63,,63,63,63,,63,63',
'63,63,63,,,,,,,,,,,,,,,,,,,,63,,,63,,,63,63,,,63,,,,,,63,,,,,,,,,63',
',,,,63,63,63,63,,63,63,63,63,,,,,63,63,,,,64,64,64,63,64,63,63,63,64',
'64,,,,64,,64,64,64,64,64,64,64,,,,,,64,64,64,64,64,64,64,,,64,,,,,,',
'64,,,64,64,64,64,64,64,64,64,,64,64,64,,64,64,64,64,64,,,,,,,,,,,,,',
',,,,,,64,,,64,,,64,64,,,64,,,,,,64,,,,,,,,,64,,,,,64,64,64,64,,64,64',
'64,64,,,,,64,64,,,,67,67,67,64,67,64,64,64,67,67,,,,67,,67,67,67,67',
'67,67,67,,,,,,67,67,67,67,67,67,67,,,67,,,,,,,67,,,67,67,67,67,67,67',
'67,67,,67,67,67,,67,67,67,67,67,,,,,,,,,,,,,,,,,,,,67,,,67,,,67,67,',
',67,,,,,,67,,,,,,,,,67,,,,,67,67,67,67,,67,67,67,67,,,,,67,67,67,,,',
',67,67,,67,67,67,68,68,68,,68,,,,68,68,,,,68,,68,68,68,68,68,68,68,',
',,,,68,68,68,68,68,68,68,,,68,,,,,,,68,,,68,68,68,68,68,68,68,68,,68',
'68,68,,68,68,,,68,,,,,,,,,,,,,,,,,,,,68,,,68,,,68,68,,,68,,68,,,,,,',
',,,,,,,,,,,68,68,68,68,,68,68,68,68,,,,,68,68,,,,69,69,69,68,69,68,68',
'68,69,69,,,,69,,69,69,69,69,69,69,69,,,,,,69,69,69,69,69,69,69,,,69',
',,,,,,69,,,69,69,69,69,69,69,69,69,,69,69,69,,69,69,,,69,,,,,,,,,,,',
',,,,,69,,,69,,,69,,,69,69,,,69,,,,,,,,,,,,,,,,,,,,69,69,69,69,,69,69',
'69,69,,,,,69,69,,,,70,70,70,69,70,69,69,69,70,70,,,,70,,70,70,70,70',
'70,70,70,,,,,,70,70,70,70,70,70,70,,,70,,,,,,,70,,,70,70,70,70,70,70',
'70,70,,70,70,70,,70,70,,,70,,,,,,,,,,,,,,,,,,,,70,,,70,,,70,70,,,70',
',,864,,864,864,864,864,864,,,,,,,,,864,,70,70,70,70,,70,70,70,70,,,',
',70,70,,,,,,864,70,,70,70,70,111,111,111,111,111,864,864,,111,111,864',
',,111,,111,111,111,111,111,111,111,,,,,,111,111,111,111,111,111,111',
',,111,,,,,,111,111,111,111,111,111,111,111,111,111,111,111,,111,111',
'111,,111,111,111,111,111,,,,,,,,,,,,,,,,,,,,111,,,111,,,111,111,,,111',
',111,,,,111,,,,,,,,,111,,,,,111,111,111,111,,111,111,111,111,,,,,111',
'111,,,,,,111,111,,111,111,111,116,116,116,,116,,,,116,116,,,,116,,116',
'116,116,116,116,116,116,,,,,,116,116,116,116,116,116,116,,,116,,,,,',
',116,,,116,116,116,116,116,116,116,116,,116,116,116,,116,116,116,116',
'116,,,,,,,,,,,,,,,,,,,,116,,,116,,,116,116,,,116,,,,,,116,,,,,,,,,116',
',,,,116,116,116,116,,116,116,116,116,,,,,116,116,,,,117,117,117,116',
'117,116,116,116,117,117,,,,117,,117,117,117,117,117,117,117,,,,,,117',
'117,117,117,117,117,117,,,117,,,,,,,117,,,117,117,117,117,117,117,117',
'117,,117,117,117,,117,117,117,117,117,,,,,,,,,,,,,,,,,,,,117,,,117,',
',117,117,,,117,,,,,,117,,,,,,,,,117,,,,,117,117,117,117,,117,117,117',
'117,,,,,117,117,,,,118,118,118,117,118,117,117,117,118,118,,,,118,,118',
'118,118,118,118,118,118,,,,,,118,118,118,118,118,118,118,,,118,,,,,',
',118,,,118,118,118,118,118,118,118,118,,118,118,118,,118,118,118,118',
'118,,,,,,,,,,,,,,,,,,,,118,,,118,,,118,118,,,118,,,,,,118,,,,,,,,,118',
',,,,118,118,118,118,,118,118,118,118,,,,,118,118,,,,119,119,119,118',
'119,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,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',
',,,207,207,207,120,207,120,120,120,207,207,,,,207,,207,207,207,207,207',
'207,207,,,,,,207,207,207,207,207,207,207,,,207,,,,,,,207,,,207,207,207',
'207,207,207,207,207,,207,207,207,,207,207,207,207,207,,,,,,,,,,,,,,',
',,,,,207,,,207,,,207,207,,,207,,207,,,,207,,,,,,,,,207,,,,,207,207,207',
'207,,207,207,207,207,,,,,207,207,,,,208,208,208,207,208,207,207,207',
'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,208,209,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,,,,212,212,212,209,212',
'209,209,209,212,212,,,,212,,212,212,212,212,212,212,212,,,,,,212,212',
'212,212,212,212,212,,,212,,,,,,,212,,,212,212,212,212,212,212,212,212',
',212,212,212,,212,212,212,212,212,,,,,,,,,,,,,,,,,,,,212,,,212,,,212',
'212,,,212,,,,,,212,,,,,,,,,212,,,,,212,212,212,212,,212,212,212,212',
',,,,212,212,,,,213,213,213,212,213,212,212,212,213,213,,,,213,,213,213',
'213,213,213,213,213,,,,,,213,213,213,213,213,213,213,,,213,,,,,,,213',
',,213,213,213,213,213,213,213,213,,213,213,213,,213,213,213,213,213',
',,,,,,,,,,,,,,,,,,,213,,,213,,,213,213,,,213,,213,,,,213,,,,,,,,,213',
',,,,213,213,213,213,,213,213,213,213,,,,,213,213,,,,214,214,214,213',
'214,213,213,213,214,214,,,,214,,214,214,214,214,214,214,214,,,,,,214',
'214,214,214,214,214,214,,,214,,,,,,,214,,,214,214,214,214,214,214,214',
'214,,214,214,214,,214,214,214,214,214,,,,,,,,,,,,,,,,,,,,214,,,214,',
',214,214,,,214,,,,,,214,,,,,,,,,214,,,,,214,214,214,214,,214,214,214',
'214,,,,,214,214,,,,215,215,215,214,215,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,,,,216,216,216,215',
'216,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,,,,217,217,217,216,217,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,,,228,228,228,217',
'228,217,217,217,228,228,,,,228,,228,228,228,228,228,228,228,,,,,,228',
'228,228,228,228,228,228,,,228,,,,,,,228,,,228,228,228,228,228,228,228',
'228,,228,228,228,,228,228,228,228,228,,,,,,,,,,,,,,,,,,,,228,,,228,',
',228,228,,,228,,,,,,228,,,,,,,,,228,,,,,228,228,228,228,,228,228,228',
'228,,,,,228,228,,,,231,231,231,228,231,228,228,228,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,231,231,231,,231,231,231,231,,,,,231,231,,,,232,232,232,231',
'232,231,231,231,232,232,,,,232,,232,232,232,232,232,232,232,,,,,,232',
'232,232,232,232,232,232,,,232,,,,,,,232,,,232,232,232,232,232,232,232',
'232,,232,232,232,,232,232,232,232,232,,,,,,,,,,,,,,,,,,,,232,,,232,',
',232,232,,,232,,,,,,232,,,,,,,,,232,,,,,232,232,232,232,,232,232,232',
'232,,,,,232,232,,,,233,233,233,232,233,232,232,232,233,233,,,,233,,233',
'233,233,233,233,233,233,,,,,,233,233,233,233,233,233,233,,,233,,,,,',
',233,,,233,233,233,233,233,233,233,233,,233,233,233,,233,233,233,233',
'233,,,,,,,,,,,,,,,,,,,,233,,,233,,,233,233,,,233,,,,,,233,,,,,,,,,233',
',,,,233,233,233,233,,233,233,233,233,,,,,233,233,,,,234,234,234,233',
'234,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,,,,235,235,235,234,235,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,,,,236,236,236,235',
'236,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,,,,237,237,237,236,237,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,,,,238,238,238,237',
'238,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,,,,239,239,239,238,239,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,,,,240,240,240,239',
'240,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,,,,241,241,241,240,241,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,,,,242,242,242,241',
'242,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,,,,243,243,243,242,243,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,,,,244,244,244,243',
'244,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,,,,245,245,245,244,245,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,,,,246,246,246,245',
'246,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,,,,247,247,247,246,247,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,,,,248,248,248,247',
'248,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,,,,249,249,249,248,249,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,,,,250,250,250,249',
'250,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,,,,251,251,251,250,251,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,,,,252,252,252,251',
'252,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,,,,253,253,253,252,253,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,,,,254,254,254,253',
'254,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,,,,255,255,255,254,255,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,,,,256,256,256,255',
'256,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,,,,263,263,263,256,263,256,256,256,263,263,,,,263,,263',
'263,263,263,263,263,263,,,,,,263,263,263,263,263,263,263,,,263,,,,,',
',263,,,263,263,263,263,263,263,263,263,263,263,263,263,,263,263,263',
'263,263,,,,,,,,,,,,,,,,,,,,263,,,263,,,263,263,,,263,,263,,263,,263',
',,263,,,,,,263,,,,,263,263,263,263,,263,263,263,263,,,,,263,263,,,,264',
'264,264,263,264,263,263,263,264,264,,,,264,,264,264,264,264,264,264',
'264,,,,,,264,264,264,264,264,264,264,,,264,,,,,,,264,,,264,264,264,264',
'264,264,264,264,264,264,264,264,,264,264,264,264,264,,,,,,,,,,,,,,,',
',,,,264,,,264,,,264,264,,,264,,264,,264,,264,,,264,,,,,,264,,,,,264',
'264,264,264,,264,264,264,264,,,,,264,264,,,,272,272,272,264,272,264',
'264,264,272,272,,,,272,,272,272,272,272,272,272,272,,,,,,272,272,272',
'272,272,272,272,,,272,,,,,,,272,,,272,272,272,272,272,272,272,272,272',
'272,272,272,,272,272,272,272,272,,,,,,,,,,,,,,,,,,,,272,,,272,,,272',
'272,,,272,,272,,272,,272,,,272,,,,,,272,,,,,272,272,272,272,,272,272',
'272,272,,,,,272,272,272,,,279,279,279,272,279,272,272,272,279,279,,',
',279,,279,279,279,279,279,279,279,,,,,,279,279,279,279,279,279,279,',
',279,,,,,,,279,,,279,279,279,279,279,279,279,279,,279,279,279,,279,279',
'279,279,279,,,,,,,,,,,,,,,,,,,,279,,,279,,,279,279,,,279,,,,,,279,,',
',,,,,,279,,,,,279,279,279,279,,279,279,279,279,,,,,279,279,,,,281,281',
'281,279,281,279,279,279,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,281,283,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,,,,284',
'284,284,283,284,283,283,283,284,284,,,,284,,284,284,284,284,284,284',
'284,,,,,,284,284,284,284,284,284,284,,,284,,,,,,,284,,,284,284,284,284',
'284,284,284,284,,284,284,284,,284,284,284,284,284,,,,,,,,,,,,,,,,,,',
',284,,,284,,,284,284,,,284,,,,,,284,,,,,,,,,284,,,,,284,284,284,284',
',284,284,284,284,,,,,284,284,,,,,,,284,,284,284,284,289,289,289,289',
'289,,,,289,289,,,,289,,289,289,289,289,289,289,289,,,,,,289,289,289',
'289,289,289,289,,,289,,,,,,289,289,,289,289,289,289,289,289,289,289',
'289,,289,289,289,,289,289,289,289,289,,,,,,,,,,,,,,,,,,,,289,,,289,',
',289,289,,,289,,289,,,,289,,,,,,,,,289,,,,,289,289,289,289,,289,289',
'289,289,,,,,289,289,,,,297,297,297,289,297,289,289,289,297,297,,,,297',
',297,297,297,297,297,297,297,,,,,,297,297,297,297,297,297,297,,,297',
',,,,,,297,,,297,297,297,297,297,297,297,297,,297,297,297,,297,297,,',
'297,,,,,,,,,,,,,,,,,,,,297,,,297,,,297,297,,,297,,,890,,890,890,890',
'890,890,,,,,,,,,890,,297,297,297,297,,297,297,297,297,,,,,297,297,,',
',297,,890,297,,297,297,297,314,314,314,,314,890,890,,314,314,890,,,314',
',314,314,314,314,314,314,314,,,,,,314,314,314,314,314,314,314,,,314',
',,,,,,314,,,314,314,314,314,314,314,314,314,,314,314,314,,314,314,,',
'314,,,,,,,,,,,,,,,,,,,,314,,,314,,,314,314,,,314,,,,,,,,,,,,,,,,,,,',
'314,314,314,314,,314,314,314,314,,,,,314,314,,,,322,322,322,314,322',
'314,314,314,322,322,,,,322,,322,322,322,322,322,322,322,,,,,,322,322',
'322,322,322,322,322,,,322,,,,,,,322,,,322,322,322,322,322,322,322,322',
',322,322,322,,322,322,322,322,322,,,,,,,,,,,,,,,,,,,,322,,,322,322,',
'322,322,,,322,,,,,,322,,,,,,,,,322,,,,,322,322,322,322,,322,322,322',
'322,,,,,322,322,,,,324,324,324,322,324,322,322,322,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,,,,339,339,339,324',
'339,324,324,324,339,339,,,,339,,339,339,339,339,339,339,339,,,,,,339',
'339,339,339,339,339,339,,,339,,,,,,,339,,,339,339,339,339,339,339,339',
'339,,339,339,339,,339,339,339,339,339,,,,,,,,,,,,,,,,,,,,339,,,339,',
',339,339,,,339,,,,,,339,,,,,,,,,339,,,,,339,339,339,339,,339,339,339',
'339,,,,,339,339,,,,340,340,340,339,340,339,339,339,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,,,,359,359,359,340',
'359,340,340,340,359,359,,,,359,,359,359,359,359,359,359,359,,,,,,359',
'359,359,359,359,359,359,,,359,,,,,,,359,,,359,359,359,359,359,359,359',
'359,,359,359,359,,359,359,359,359,359,,,,,,,,,,,,,,,,,,,,359,,,359,',
',359,359,,,359,,,,,,359,,,,,,,,,359,,,,,359,359,359,359,,359,359,359',
'359,,,,,359,359,,,,375,375,375,359,375,359,359,359,375,375,,,,375,,375',
'375,375,375,375,375,375,,,,,,375,375,375,375,375,375,375,,,375,,,,,',
',375,,,375,375,375,375,375,375,375,375,,375,375,375,,375,375,375,375',
'375,,,,,,,,,,,,,,,,,,,,375,,,375,,,375,375,,,375,,,,,,375,,,,,,,,,375',
',,,,375,375,375,375,,375,375,375,375,,,,,375,375,,,,403,403,403,375',
'403,375,375,375,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,403,403,,403,403,403',
'403,,,,,403,403,,,,441,441,441,403,441,403,403,403,441,441,,,,441,,441',
'441,441,441,441,441,441,,,,,,441,441,441,441,441,441,441,,,441,,,,,',
',441,,,441,441,441,441,441,441,441,441,441,441,441,441,,441,441,441',
'441,441,,,,,,,,,,,,,,,,,,,,441,,,441,,,441,441,,,441,,441,,441,,441',
',,441,,,,,,441,,,,,441,441,441,441,,441,441,441,441,,,,,441,441,,,,443',
'443,443,441,443,441,441,441,443,443,,,,443,,443,443,443,443,443,443',
'443,,,,,,443,443,443,443,443,443,443,,,443,,,,,,,443,,,443,443,443,443',
'443,443,443,443,,443,443,443,,443,443,443,443,443,,,,,,,,,,,,,,,,,,',
',443,,,443,,,443,443,,,443,,,,,,443,,,,,,,,,443,,,,,443,443,443,443',
',443,443,443,443,,,,,443,443,,,,444,444,444,443,444,443,443,443,444',
'444,,,,444,,444,444,444,444,444,444,444,,,,,,444,444,444,444,444,444',
'444,,,444,,,,,,,444,,,444,444,444,444,444,444,444,444,,444,444,444,',
'444,444,444,444,444,,,,,,,,,,,,,,,,,,,,444,,,444,,,444,444,,,444,,,',
',,444,,,,,,,,,444,,,,,444,444,444,444,,444,444,444,444,,,,,444,444,',
',,445,445,445,444,445,444,444,444,445,445,,,,445,,445,445,445,445,445',
'445,445,,,,,,445,445,445,445,445,445,445,,,445,,,,,,,445,,,445,445,445',
'445,445,445,445,445,,445,445,445,,445,445,445,445,445,,,,,,,,,,,,,,',
',,,,,445,,,445,,,445,445,,,445,,,,,,445,,,,,,,,,445,,,,,445,445,445',
'445,,445,445,445,445,,,,,445,445,,,,485,485,485,445,485,445,445,445',
'485,485,,,,485,,485,485,485,485,485,485,485,,,,,,485,485,485,485,485',
'485,485,,,485,,,,,,,485,,,485,485,485,485,485,485,485,485,485,485,485',
'485,,485,485,485,485,485,,,,,,,,,,,,,,,,,,,,485,,,485,,,485,485,,,485',
',485,,485,,485,,,485,,,,,,485,,,,,485,485,485,485,,485,485,485,485,',
',,,485,485,,,,487,487,487,485,487,485,485,485,487,487,,,,487,,487,487',
'487,487,487,487,487,,,,,,487,487,487,487,487,487,487,,,487,,,,,,,487',
',,487,487,487,487,487,487,487,487,487,487,487,487,,487,487,487,487,487',
',,,,,,,,,,,,,,,,,,,487,,,487,,,487,487,,,487,,,,487,,487,,,487,,,,,',
'487,,,,,487,487,487,487,,487,487,487,487,,,,,487,487,,,,489,489,489',
'487,489,487,487,487,489,489,,,,489,,489,489,489,489,489,489,489,,,,',
',489,489,489,489,489,489,489,,,489,,,,,,,489,,,489,489,489,489,489,489',
'489,489,,489,489,489,,489,489,489,489,489,,,,,,,,,,,,,,,,,,,,489,,,489',
',,489,489,,,489,,,,,,489,,,,,,,,,489,,,,,489,489,489,489,,489,489,489',
'489,,,,,489,489,,,,,,,489,,489,489,489,494,494,494,494,494,,,,494,494',
',,,494,,494,494,494,494,494,494,494,,,,,,494,494,494,494,494,494,494',
',,494,,,,,,494,494,494,494,494,494,494,494,494,494,494,494,,494,494',
'494,,494,494,494,494,494,,,,,,,,,,,,,,,,,,,,494,,,494,,,494,494,,,494',
',494,,,,494,,,,,,,,,494,,,,,494,494,494,494,,494,494,494,494,,,,,494',
'494,,,,,,494,494,,494,494,494,502,502,502,,502,,,,502,502,,,,502,,502',
'502,502,502,502,502,502,,,,,,502,502,502,502,502,502,502,,,502,,,,,',
',502,,,502,502,502,502,502,502,502,502,,502,502,502,,502,502,,,502,',
',,,,,,,,,,,,,,,,,,502,,,502,,,502,502,,,502,,,,,,,,,,,,,,,,,,,,502,502',
'502,502,,502,502,502,502,,,,,502,502,,,,504,504,504,502,504,502,502',
'502,504,504,,,,504,,504,504,504,504,504,504,504,,,,,,504,504,504,504',
'504,504,504,,,504,,,,,,,504,,,504,504,504,504,504,504,504,504,504,504',
'504,504,,504,504,504,504,504,,,,,,,,,,,,,,,,,,,,504,,,504,,,504,504',
',,504,,504,,504,,504,,,504,,,,,,504,,,,,504,504,504,504,,504,504,504',
'504,,,,,504,504,,,,510,510,510,504,510,504,504,504,510,510,,,,510,,510',
'510,510,510,510,510,510,,,,,,510,510,510,510,510,510,510,,,510,,,,,',
',510,,,510,510,510,510,510,510,510,510,,510,510,510,,510,510,,,510,',
',,,,,,,,,,,,,,,,,,510,,,510,,,510,510,,,510,,,,,,,,,,,,,,,,,,,,510,510',
'510,510,,510,510,510,510,,,,,510,510,,,,513,513,513,510,513,510,510',
'510,513,513,,,,513,,513,513,513,513,513,513,513,,,,,,513,513,513,513',
'513,513,513,,,513,,,,,,,513,,,513,513,513,513,513,513,513,513,,513,513',
'513,,513,513,513,513,513,,,,,,,,,,,,,,,,,,,,513,,,513,,,513,513,,,513',
',,,,,513,,,,,,,,,513,,,,,513,513,513,513,,513,513,513,513,,,,,513,513',
',,,514,514,514,513,514,513,513,513,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,,,,518,518,518,514,518,514,514,514',
'518,518,,,,518,,518,518,518,518,518,518,518,,,,,,518,518,518,518,518',
'518,518,,,518,,,,,,,518,,,518,518,518,518,518,518,518,518,,518,518,518',
',518,518,518,518,518,,,,,,,,,,,,,,,,,,,,518,,,518,,,518,518,,,518,,',
',,,518,,,,,,,,,518,,,,,518,518,518,518,,518,518,518,518,,,,,518,518',
',,,524,524,524,518,524,518,518,518,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,,,,527,527,527,524,527,524',
'524,524,527,527,,,,527,,527,527,527,527,527,527,527,,,,,,527,527,527',
'527,527,527,527,,,527,,,,,,,527,,,527,527,527,527,527,527,527,527,527',
'527,527,527,,527,527,527,527,527,,,,,,,,,,,,,,,,,,,,527,,,527,,,527',
'527,,,527,,,,,,527,,,527,,,,,,527,,,,,527,527,527,527,,527,527,527,527',
',,,,527,527,,,,551,551,551,527,551,527,527,527,551,551,,,,551,,551,551',
'551,551,551,551,551,,,,,,551,551,551,551,551,551,551,,,551,,,,,,,551',
',,551,551,551,551,551,551,551,551,,551,551,551,,551,551,551,551,551',
',,,,,,,,,,,,,,,,,,,551,,,551,,,551,551,,,551,,,,,,551,,,,,,,,,551,,',
',,551,551,551,551,,551,551,551,551,,,,,551,551,,,,571,571,571,551,571',
'551,551,551,571,571,,,,571,,571,571,571,571,571,571,571,,,,,,571,571',
'571,571,571,571,571,,,571,,,,,,,571,,,571,571,571,571,571,571,571,571',
',571,571,571,,571,571,571,571,571,,,,,,,,,,,,,,,,,,,,571,,,571,,,571',
'571,,,571,,571,,,,571,,,,,,,,,571,,,,,571,571,571,571,,571,571,571,571',
',,,,571,571,,,,572,572,572,571,572,571,571,571,572,572,,,,572,,572,572',
'572,572,572,572,572,,,,,,572,572,572,572,572,572,572,,,572,,,,,,,572',
',,572,572,572,572,572,572,572,572,572,572,572,572,,572,572,572,572,572',
',,,,,,,,,,,,,,,,,,,572,,,572,,,572,572,,,572,,572,,572,,572,,,572,,',
',,,572,,,,,572,572,572,572,,572,572,572,572,,,,,572,572,,,,582,582,582',
'572,582,572,572,572,582,582,,,,582,,582,582,582,582,582,582,582,,,,',
',582,582,582,582,582,582,582,,,582,,,,,,,582,,,582,582,582,582,582,582',
'582,582,582,582,582,582,,582,582,582,582,582,,,,,,,,,,,,,,,,,,,,582',
',,582,,,582,582,,,582,,582,,582,,582,,,582,,,,,,582,,,,,582,582,582',
'582,,582,582,582,582,,,,,582,582,,,,616,616,616,582,616,582,582,582',
'616,616,,,,616,,616,616,616,616,616,616,616,,,,,,616,616,616,616,616',
'616,616,,,616,,,,,,,616,,,616,616,616,616,616,616,616,616,,616,616,616',
',616,616,616,616,616,,,,,,,,,,,,,,,,,,,,616,,,616,,,616,616,,,616,,616',
',,,616,,,,,,,,,616,,,,,616,616,616,616,,616,616,616,616,,,,,616,616',
',,,617,617,617,616,617,616,616,616,617,617,,,,617,,617,617,617,617,617',
'617,617,,,,,,617,617,617,617,617,617,617,,,617,,,,,,,617,,,617,617,617',
'617,617,617,617,617,,617,617,617,,617,617,617,617,617,,,,,,,,,,,,,,',
',,,,,617,,,617,,,617,617,,,617,,,,,,617,,,,,,,,,617,,,,,617,617,617',
'617,,617,617,617,617,,,,,617,617,,,,620,620,620,617,620,617,617,617',
'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,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,',
',,,620,620,,,,621,621,621,620,621,620,620,620,621,621,,,,621,,621,621',
'621,621,621,621,621,,,,,,621,621,621,621,621,621,621,,,621,,,,,,,621',
',,621,621,621,621,621,621,621,621,621,621,621,621,,621,621,621,621,621',
',,,,,,,,,,,,,,,,,,,621,,,621,,,621,621,,,621,,,,621,,621,,,621,,,,,',
'621,,,,,621,621,621,621,,621,621,621,621,,,,,621,621,,,,622,622,622',
'621,622,621,621,621,622,622,,,,622,,622,622,622,622,622,622,622,,,,',
',622,622,622,622,622,622,622,,,622,,,,,,,622,,,622,622,622,622,622,622',
'622,622,,622,622,622,,622,622,622,622,622,,,,,,,,,,,,,,,,,,,,622,,,622',
',,622,622,,,622,,,,,,622,,,,,,,,,622,,,,,622,622,622,622,,622,622,622',
'622,,,,,622,622,,,,623,623,623,622,623,622,622,622,623,623,,,,623,,623',
'623,623,623,623,623,623,,,,,,623,623,623,623,623,623,623,,,623,,,,,',
',623,,,623,623,623,623,623,623,623,623,,623,623,623,,623,623,623,623',
'623,,,,,,,,,,,,,,,,,,,,623,,,623,,,623,623,,,623,,,,,,623,,,,,,,,,623',
',,,,623,623,623,623,,623,623,623,623,,,,,623,623,,,,627,627,627,623',
'627,623,623,623,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,,,,628,628,628,627,628,627,627,627,628,628,,,,628,,628',
'628,628,628,628,628,628,,,,,,628,628,628,628,628,628,628,,,628,,,,,',
',628,,,628,628,628,628,628,628,628,628,,628,628,628,,628,628,628,628',
'628,,,,,,,,,,,,,,,,,,,,628,,,628,,,628,628,,,628,,,,,,628,,,,,,,,,628',
',,,,628,628,628,628,,628,628,628,628,,,,,628,628,,,,631,631,631,628',
'631,628,628,628,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,,,,632,632,632,631,632,631,631,631,632,632,,,,632,,632',
'632,632,632,632,632,632,,,,,,632,632,632,632,632,632,632,,,632,,,,,',
',632,,,632,632,632,632,632,632,632,632,,632,632,632,,632,632,632,632',
'632,,,,,,,,,,,,,,,,,,,,632,,,632,,,632,632,,,632,,,,,,632,,,,,,,,,632',
',,,,632,632,632,632,,632,632,632,632,,,,,632,632,,,,656,656,656,632',
'656,632,632,632,656,656,,,,656,,656,656,656,656,656,656,656,,,,,,656',
'656,656,656,656,656,656,,,656,,,,,,,656,,,656,656,656,656,656,656,656',
'656,,656,656,656,,656,656,656,656,656,,,,,,,,,,,,,,,,,,,,656,,,656,',
',656,656,,,656,,,,,,656,,,,,,,,,656,,,,,656,656,656,656,,656,656,656',
'656,,,,,656,656,,,,662,662,662,656,662,656,656,656,662,662,,,,662,,662',
'662,662,662,662,662,662,,,,,,662,662,662,662,662,662,662,,,662,,,,,',
',662,,,662,662,662,662,662,662,662,662,,662,662,662,,662,662,,,662,',
',,,,,,,,,,,,,,,,,,662,,,662,,,662,662,,,662,,,,,,,,,,,,,,,,,,,,662,662',
'662,662,,662,662,662,662,,,,,662,662,,,,673,673,673,662,673,662,662',
'662,673,673,,,,673,,673,673,673,673,673,673,673,,,,,,673,673,673,673',
'673,673,673,,,673,,,,,,,673,,,673,673,673,673,673,673,673,673,,673,673',
'673,,673,673,,,673,,,,,,,,,,,,,,,,,,,,673,,,673,,,673,673,,,673,,,,',
',,,,,,,,,,,,,,,673,673,673,673,,673,673,673,673,,,,,673,673,,,,678,678',
'678,673,678,673,673,673,678,678,,,,678,,678,678,678,678,678,678,678',
',,,,,678,678,678,678,678,678,678,,,678,,,,,,,678,,,678,678,678,678,678',
'678,678,678,,678,678,678,,678,678,678,678,678,,,,,,,,,,,,,,,,,,,,678',
',,678,,,678,678,,,678,,678,,,,678,,,,,,,,,678,,,,,678,678,678,678,,678',
'678,678,678,,,,,678,678,,,,695,695,695,678,695,678,678,678,695,695,',
',,695,,695,695,695,695,695,695,695,,,,,,695,695,695,695,695,695,695',
',,695,,,,,,,695,,,695,695,695,695,695,695,695,695,,695,695,695,,695',
'695,695,695,695,,,,,,,,,,,,,,,,,,,,695,,,695,,,695,695,,,695,,,,,,695',
',,,,,,,,695,,,,,695,695,695,695,,695,695,695,695,,,,,695,695,,,,721',
'721,721,695,721,695,695,695,721,721,,,,721,,721,721,721,721,721,721',
'721,,,,,,721,721,721,721,721,721,721,,,721,,,,,,,721,,,721,721,721,721',
'721,721,721,721,,721,721,721,,721,721,721,721,721,,,,,,,,,,,,,,,,,,',
',721,,,721,,,721,721,,,721,,,,,,721,,,,,,,,,721,,,,,721,721,721,721',
',721,721,721,721,,,,,721,721,,,,727,727,727,721,727,721,721,721,727',
'727,,,,727,,727,727,727,727,727,727,727,,,,,,727,727,727,727,727,727',
'727,,,727,,,,,,,727,,,727,727,727,727,727,727,727,727,,727,727,727,',
'727,727,727,727,727,,,,,,,,,,,,,,,,,,,,727,,,727,,,727,727,,,727,,,',
',,727,,,,,,,,,727,,,,,727,727,727,727,,727,727,727,727,,,,,727,727,',
',,750,750,750,727,750,727,727,727,750,750,,,,750,,750,750,750,750,750',
'750,750,,,,,,750,750,750,750,750,750,750,,,750,,,,,,,750,,,750,750,750',
'750,750,750,750,750,,750,750,750,,750,750,750,750,750,,,,,,,,,,,,,,',
',,,,,750,,,750,,,750,750,,,750,,,,,,750,,,,,,,,,750,,,,,750,750,750',
'750,,750,750,750,750,,,,,750,750,,,,752,752,752,750,752,750,750,750',
'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,752,752,752,,752,752,752,752,,,,,752,752',
',,,766,766,766,752,766,752,752,752,766,766,,,,766,,766,766,766,766,766',
'766,766,,,,,,766,766,766,766,766,766,766,,,766,,,,,,,766,,,766,766,766',
'766,766,766,766,766,,766,766,766,,766,766,766,766,766,,,,,,,,,,,,,,',
',,,,,766,,,766,,,766,766,,,766,,,,,,766,,,,,,,,,766,,,,,766,766,766',
'766,,766,766,766,766,,,,,766,766,,,,767,767,767,766,767,766,766,766',
'767,767,,,,767,,767,767,767,767,767,767,767,,,,,,767,767,767,767,767',
'767,767,,,767,,,,,,,767,,,767,767,767,767,767,767,767,767,,767,767,767',
',767,767,767,767,767,,,,,,,,,,,,,,,,,,,,767,,,767,,,767,767,,,767,,',
',,,767,,,,,,,,,767,,,,,767,767,767,767,,767,767,767,767,,,,,767,767',
',,,768,768,768,767,768,767,767,767,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,,,,769,769,769,768,769,768,768,768',
'769,769,,,,769,,769,769,769,769,769,769,769,,,,,,769,769,769,769,769',
'769,769,,,769,,,,,,,769,,,769,769,769,769,769,769,769,769,,769,769,769',
',769,769,769,769,769,,,,,,,,,,,,,,,,,,,,769,,,769,,,769,769,,,769,,',
',,,769,,,,,,,,,769,,,,,769,769,769,769,,769,769,769,769,,,,,769,769',
',,,771,771,771,769,771,769,769,769,771,771,,,,771,,771,771,771,771,771',
'771,771,,,,,,771,771,771,771,771,771,771,,,771,,,,,,,771,,,771,771,771',
'771,771,771,771,771,,771,771,771,,771,771,771,771,771,,,,,,,,,,,,,,',
',,,,,771,,,771,,,771,771,,,771,,,,,,771,,,,,,,,,771,,,,,771,771,771',
'771,,771,771,771,771,,,,,771,771,,,,783,783,783,771,783,771,771,771',
'783,783,,,,783,,783,783,783,783,783,783,783,,,,,,783,783,783,783,783',
'783,783,,,783,,,,,,,783,,,783,783,783,783,783,783,783,783,,783,783,783',
',783,783,,,783,,,,,,,,,,,,,,,,,,,,783,,,783,,,783,783,,,783,,,,,,,,',
',,,,,,,,,,,783,783,783,783,,783,783,783,783,,,,,783,783,,,,832,832,832',
'783,832,783,783,783,832,832,,,,832,,832,832,832,832,832,832,832,,,,',
',832,832,832,832,832,832,832,,,832,,,,,,,832,,,832,832,832,832,832,832',
'832,832,,832,832,832,,832,832,832,832,832,,,,,,,,,,,,,,,,,,,,832,,,832',
',,832,832,,,832,,,,,,832,,,,,,,,,832,,,,,832,832,832,832,,832,832,832',
'832,,,,,832,832,,,,837,837,837,832,837,832,832,832,837,837,,,,837,,837',
'837,837,837,837,837,837,,,,,,837,837,837,837,837,837,837,,,837,,,,,',
',837,,,837,837,837,837,837,837,837,837,,837,837,837,,837,837,837,837',
'837,,,,,,,,,,,,,,,,,,,,837,,,837,,,837,837,,,837,,837,,,,837,,,,,,,',
',837,,,,,837,837,837,837,,837,837,837,837,,,,,837,837,,,,854,854,854',
'837,854,837,837,837,854,854,,,,854,,854,854,854,854,854,854,854,,,,',
',854,854,854,854,854,854,854,,,854,,,,,,,854,,,854,854,854,854,854,854',
'854,854,854,854,854,854,,854,854,854,854,854,,,,,,,,,,,,,,,,,,,,854',
',,854,,,854,854,,,854,,,,854,,854,,,854,,,,,,854,,,,,854,854,854,854',
',854,854,854,854,,,,,854,854,,,,855,855,855,854,855,854,854,854,855',
'855,,,,855,,855,855,855,855,855,855,855,,,,,,855,855,855,855,855,855',
'855,,,855,,,,,,,855,,,855,855,855,855,855,855,855,855,,855,855,855,',
'855,855,855,855,855,,,,,,,,,,,,,,,,,,,,855,,,855,,,855,855,,,855,,,',
',,855,,,,,,,,,855,,,,,855,855,855,855,,855,855,855,855,,,,,855,855,',
',,869,869,869,855,869,855,855,855,869,869,,,,869,,869,869,869,869,869',
'869,869,,,,,,869,869,869,869,869,869,869,,,869,,,,,,,869,,,869,869,869',
'869,869,869,869,869,,869,869,869,,869,869,,,869,,,,,,,,,,,,,,,,,,,,869',
',,869,,,869,869,,,869,,,,,,,,,,,,,,,,,,,,869,869,869,869,,869,869,869',
'869,,,,,869,869,,,,881,881,881,869,881,869,869,869,881,881,,,,881,,881',
'881,881,881,881,881,881,,,,,,881,881,881,881,881,881,881,,,881,,,,,',
',881,,,881,881,881,881,881,881,881,881,,881,881,881,,881,881,,,881,',
',,,,,,,,,,,,,,,,,,881,,,881,,,881,881,,,881,,,,,,,,,,,,,,,,,,,,881,881',
'881,881,,881,881,881,881,,,,,881,881,,,,978,978,978,881,978,881,881',
'881,978,978,,,,978,,978,978,978,978,978,978,978,,,,,,978,978,978,978',
'978,978,978,,,978,,,,,,,978,,,978,978,978,978,978,978,978,978,978,978',
'978,978,,978,978,978,978,978,,,,,,,,,,,,,,,,,,,,978,,,978,,,978,978',
',,978,,978,,978,,978,,,978,,,,,,978,,,,,978,978,978,978,,978,978,978',
'978,,,,,978,978,,,,,56,,978,,978,978,978,56,56,56,,,56,56,56,,56,,,',
',,,,,,56,56,56,,,,,,,,56,56,,56,56,56,56,56,,,,,,,,,,,,,,,,,,,,,,,56',
'56,56,56,56,56,56,56,56,56,56,56,56,56,,,56,56,56,,,56,,,56,,,56,56',
',56,,56,,56,,56,56,,56,56,56,56,56,,56,,56,,,,,,,,,,,,,,56,,,56,56,56',
'56,423,56,,56,,,,423,423,423,,,423,423,423,,423,,,,,,,,,423,423,423',
'423,,,,,,,,423,423,,423,423,423,423,423,,,,,,,,,,,,,,,,,,,,,,,423,423',
'423,423,423,423,423,423,423,423,423,423,423,423,,,423,423,423,,,423',
',,423,,,423,423,,423,,423,,423,,423,423,,423,423,423,423,423,,423,423',
'423,,,,,,,,,,,,,,423,,,423,423,423,423,424,423,,423,,,,424,424,424,',
',424,424,424,,424,,,,,,,,,424,424,424,424,,,,,,,,424,424,,424,424,424',
'424,424,,,,,,,,,,,,,,,,,,,,,,,424,424,424,424,424,424,424,424,424,424',
'424,424,424,424,,,424,424,424,,,424,,,424,,,424,424,,424,,424,,424,',
'424,424,,424,424,424,424,424,,424,424,424,892,,892,892,892,892,892,',
',,,,,424,,892,424,424,424,424,27,424,,424,,,,27,27,27,,,27,27,27,,27',
'892,,,,,,,,27,27,27,892,892,,,,892,,,27,27,,27,27,27,27,27,,,,,,,,,',
',,,,,,,,,,,,,27,27,27,27,27,27,27,27,27,27,27,27,27,27,,,27,27,27,,',
'27,,27,27,,,27,27,,27,,27,,27,,27,27,,27,27,27,27,27,28,27,27,27,,,',
'28,28,28,,,28,28,28,,28,27,,,27,27,,27,,27,28,28,,,,,,,,,28,28,,28,28',
'28,28,28,,,,,,,,,,,,,,,,,,,,,,,28,28,28,28,28,28,28,28,28,28,28,28,28',
'28,,,28,28,28,,,28,,28,28,,,28,28,,28,,28,,28,,28,28,,28,28,28,28,28',
',28,414,28,,,,,,414,414,414,,,414,414,414,28,414,,28,28,,28,,28,,414',
'414,414,,,,,,,,,414,414,,414,414,414,414,414,,,,,,,,,,,,,,,,,,,,,,,414',
'414,414,414,414,414,414,414,414,414,414,414,414,414,,,414,414,414,,',
'414,,414,414,,,414,414,,414,,414,,414,,414,414,,414,414,414,414,414',
',414,414,414,,,,,,,,,,,,,,414,,473,414,414,,414,,414,473,473,473,,,473',
'473,473,643,473,643,643,643,643,643,,,,473,473,,,,643,,,,,,473,473,',
'473,473,473,473,473,,,,,,,,,643,,335,,335,335,335,335,335,643,643,643',
'643,,,,643,335,,,,,,,,473,,,,,,,473,,,,,473,473,335,335,,643,,,,,,335',
'335,335,335,,,,335,,,,,473,473,,,,,,,,,,,,,,473,,,473,,,,,473,8,8,8',
'8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,,,,8,8,8,8,8,8,8,8,8,8,,,',
',,8,8,8,8,8,8,8,8,8,8,,8,,,,,,,,8,8,,8,8,8,8,8,8,8,,,8,8,,,,8,8,8,8',
',,,,,,,,,,,,,8,8,,8,8,8,8,8,8,8,8,8,8,8,8,,,8,8,,,,,,,,,,,,,,8,9,9,9',
'9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,,,,9,9,9,9,9,9,9,9,9,9,,,',
',,9,9,9,9,9,9,9,9,9,,,9,,,,,,,,9,9,,9,9,9,9,9,9,9,,,9,9,,,,9,9,9,9,',
',,,,,,,,,,,,9,9,,9,9,9,9,9,9,9,9,9,9,9,9,,,9,9,,,,,,,,,,,,,,9,394,394',
'394,394,394,394,394,394,394,394,394,394,394,394,394,394,394,394,394',
'394,394,394,394,394,,,,394,394,394,394,394,394,394,394,394,394,,,,,',
'394,394,394,394,394,394,394,394,394,,,394,,,,,,,,394,394,,394,394,394',
'394,394,394,394,,,394,394,,,,394,394,394,394,,,,,,,,,,,,,,394,394,,394',
'394,394,394,394,394,394,394,394,394,394,394,,,394,394,,,,,,,,,,,,,,394',
'613,613,613,613,613,613,613,613,613,613,613,613,613,613,613,613,613',
'613,613,613,613,613,613,613,,,,613,613,613,613,613,613,613,613,613,613',
',,,,,613,613,613,613,613,613,613,613,613,,,613,,,,,,,,613,613,,613,613',
'613,613,613,613,613,,,613,613,,,,613,613,613,613,,,,,,,,,,,,,,613,613',
',613,613,613,613,613,613,613,613,613,613,613,613,,,613,613,,,,,,,,,',
',,,,613,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71',
'71,71,71,71,,,,71,71,71,71,71,71,71,71,71,71,,,,,,71,71,71,71,71,71',
'71,71,71,71,71,71,,71,,,,,,71,71,,71,71,71,71,71,71,71,,,71,71,,,,71',
'71,71,71,,,,,,71,,,,,,,,71,71,,71,71,71,71,71,71,71,71,71,71,71,71,',
',71,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,,,,,,,,,,,,,,734',
'734,,734,734,734,734,734,734,734,734,734,734,734,734,210,210,734,,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,211,211,210,,211,,,,,,,,211,211,,211,211,211,211,211,211,211',
',,211,211,,,,211,211,211,211,,,,,,211,,,,,,,,211,211,,211,211,211,211',
'211,211,211,211,211,211,211,211,259,259,211,,259,,,,,,,,259,259,,259',
'259,259,259,259,259,259,,,259,259,,,,259,259,259,259,,,,,,,,,,,,,,259',
'259,,259,259,259,259,259,259,259,259,259,259,259,259,439,439,259,,439',
',,,,,,,439,439,,439,439,439,439,439,439,439,,,439,439,,,,439,439,439',
'439,,,,,,439,,,,,,,,439,439,,439,439,439,439,439,439,439,439,439,439',
'439,439,440,440,439,,440,,,,,,,,440,440,,440,440,440,440,440,440,440',
',,440,440,,,,440,440,440,440,,,,,,440,,,,,,,,440,440,,440,440,440,440',
'440,440,440,440,440,440,440,440,505,505,440,,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,506,506,505',
',506,,,,,,,,506,506,,506,506,506,506,506,506,506,,,506,506,,,,506,506',
'506,506,,,,,,506,,,,,,,,506,506,,506,506,506,506,506,506,506,506,506',
'506,506,506,515,515,506,,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,515,515,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,516,516,516,573,573',
'516,,573,,,,,,,,573,573,,573,573,573,573,573,573,573,,,573,573,,,,573',
'573,573,573,,,,,,573,,,,,,,,573,573,,573,573,573,573,573,573,573,573',
'573,573,573,573,574,574,573,,574,,,,,,,,574,574,,574,574,574,574,574',
'574,574,,,574,574,,,,574,574,574,574,,,,,,574,,,,,,,,574,574,,574,574',
'574,574,574,574,574,574,574,574,574,574,580,580,574,,580,,,,,,,,580',
'580,,580,580,580,580,580,580,580,,,580,580,,,,580,580,580,580,,,,,,580',
',,,,,,,580,580,,580,580,580,580,580,580,580,580,580,580,580,580,581',
'581,580,,581,,,,,,,,581,581,,581,581,581,581,581,581,581,,,581,581,',
',,581,581,581,581,,,,,,581,,,,,,,,581,581,,581,581,581,581,581,581,581',
'581,581,581,581,581,933,933,581,,933,,,,,,,,933,933,,933,933,933,933',
'933,933,933,,,933,933,,,,933,933,933,933,,,,,,933,,,,,,,,933,933,,933',
'933,933,933,933,933,933,933,933,933,933,933,979,979,933,,979,,,,,,,',
'979,979,,979,979,979,979,979,979,979,,,979,979,,,,979,979,979,979,,',
',,,979,,,,,,,,979,979,,979,979,979,979,979,979,979,979,979,979,979,979',
'980,980,979,,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,,532,980,532,532,532,532,532,,689,,689,689,689',
'689,689,532,,,,,,,,689,,691,,691,691,691,691,691,,,,,,532,,,691,,,,',
'689,532,532,532,532,,,,532,689,689,689,689,,,,689,691,,732,,732,732',
'732,732,732,691,691,691,691,,,,691,732,,733,,733,733,733,733,733,,860',
',860,860,860,860,860,733,,,,,732,,,860,,,,,,732,732,732,732,,,,732,733',
',,,,,,,860,733,733,733,733,,,,733,860,860,860,860,,,862,860,862,862',
'862,862,862,,888,,888,888,888,888,888,862,,,,,,,,888,,894,,894,894,894',
'894,894,,,,,,862,,,894,,,,,888,862,862,862,862,,,,862,888,888,888,888',
',,,888,894,,964,,964,964,964,964,964,,,894,894,,,,894,964,,966,,966',
'966,966,966,966,968,,968,968,968,968,968,,966,,,,,964,,968,,,,,,,964',
'964,964,964,,,,964,966,,,,,,,968,,,,966,966,,,,966,,968,968,,,970,968',
'970,970,970,970,970,982,,982,982,982,982,982,1008,970,1008,1008,1008',
'1008,1008,,982,,,,,,,1008,,,,,,,,970,,,,,,,982,,,,970,970,,1008,,970',
',982,982,,,,982,,1008,1008,,,,1008' ]
racc_action_check = arr = ::Array.new(24879, 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 = [
747, 20, nil, -73, nil, 5086, 1447, -81, 22816, 22944,
-68, nil, -81, -6, 338, 59, 66, 359, nil, -79,
606, 1167, 197, nil, 173, nil, -8, 22331, 22441, 5217,
5348, 5479, nil, 887, 5610, 5741, nil, 101, 199, 228,
205, 142, 5880, 6011, 6142, 150, 424, nil, nil, nil,
nil, nil, nil, nil, nil, nil, 21929, nil, -72, 6273,
6404, -20, nil, 6535, 6666, nil, nil, 6797, 6936, 7067,
7198, 23328, nil, nil, nil, nil, nil, 377, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, 0, nil, nil, 112, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, 319,
nil, 7337, nil, nil, nil, nil, 7476, 7607, 7738, 7869,
8008, 1027, nil, 730, 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, 190, nil, 1167, 8139, 8270, 8401,
23502, 23563, 8532, 8663, 8794, 8925, 9056, 9187, nil, nil,
437, -40, -23, 290, 107, 213, 274, nil, 9318, 1307,
294, 9449, 9580, 9711, 9842, 9973, 10104, 10235, 10366, 10497,
10628, 10759, 10890, 11021, 11152, 11283, 11414, 11545, 11676, 11807,
11938, 12069, 12200, 12331, 12462, 12593, 12724, nil, nil, 23624,
nil, nil, 301, 12855, 12986, nil, nil, nil, nil, nil,
nil, nil, 13117, nil, 1307, nil, 286, 290, nil, 13248,
342, 13379, nil, 13510, 13641, nil, nil, 148, nil, 13780,
1572, 332, 315, 1447, 328, 383, 359, 13911, 1587, 481,
750, 789, 445, 890, nil, 413, 386, 10, nil, nil,
nil, 461, 225, 428, 14050, nil, 252, 501, 929, nil,
505, nil, 14181, 1727, 14312, 454, nil, -101, 401, 494,
477, 402, 511, nil, nil, 22685, 594, -1, 33, 14443,
14574, 221, 636, 527, -18, 9, 959, 611, 10, 671,
nil, nil, 337, 373, 158, nil, 1027, nil, 37, 14705,
nil, nil, nil, 295, 371, 397, 449, 485, 509, 512,
626, 641, nil, 677, nil, 14836, nil, 242, 327, 365,
394, 399, -41, -35, 403, nil, nil, nil, nil, nil,
nil, nil, nil, 592, 23072, nil, nil, nil, nil, 607,
nil, nil, 599, 14967, 607, nil, nil, 887, 633, nil,
638, 642, 258, 347, 22553, nil, nil, nil, 222, 334,
695, nil, nil, 22063, 22197, nil, 1447, nil, 662, nil,
nil, 747, nil, nil, nil, nil, -35, nil, 717, 23685,
23746, 15098, 130, 15229, 15360, 15491, 3267, 3407, 3138, 3435,
762, 767, 771, 775, 5217, 5348, 5479, 3547, 3687, 3827,
3967, 4107, 4247, 4387, 4527, 4667, 4807, 489, 3295, 4947,
5086, 1587, -59, 22682, nil, nil, nil, nil, 716, nil,
-53, -20, 730, nil, nil, 15622, nil, 15753, nil, 15884,
nil, nil, nil, nil, 16023, 1587, 1867, 741, 739, nil,
nil, 741, 16162, 747, 16293, 23807, 23868, 1030, 790, nil,
16424, 748, nil, 16555, 16686, 23929, 23990, 1727, 16817, 877,
887, 650, 810, nil, 16948, nil, nil, 17079, nil, nil,
nil, nil, 24479, nil, 768, 770, nil, 778, 780, 781,
nil, nil, nil, nil, nil, nil, nil, 774, 3113, nil,
nil, 17210, nil, nil, nil, 875, nil, nil, nil, 892,
nil, nil, 896, 2007, 956, nil, 2147, 27, 29, 957,
967, 17341, 17472, 24051, 24112, 25, nil, nil, 1069, nil,
24173, 24234, 17603, nil, nil, nil, 450, 140, 2287, 888,
nil, -33, nil, nil, nil, 870, nil, nil, nil, 862,
nil, nil, 192, nil, 212, nil, nil, 852, nil, 857,
nil, nil, nil, 23200, nil, 867, 17734, 17865, 418, 907,
17996, 18127, 18258, 18389, 915, nil, nil, 18520, 18651, 916,
nil, 18782, 18913, nil, nil, 168, 217, 470, 606, 884,
1027, 885, nil, 22646, nil, 2427, 992, 5, 202, nil,
2567, 2707, nil, 887, nil, 934, 19044, nil, nil, nil,
911, 180, 19175, 901, nil, 905, 136, 177, 950, 410,
1167, 951, 908, 19306, 1867, 985, -14, 1039, 19437, nil,
924, nil, 520, 24, 925, 372, nil, nil, 631, 24487,
nil, 24504, nil, 5788, nil, 19568, nil, 3142, nil, 930,
327, 934, nil, nil, nil, nil, 760, nil, 1052, nil,
nil, nil, nil, 1058, nil, 36, 938, 40, 41, 122,
151, 19699, 747, 1307, nil, 939, 2847, 19830, nil, nil,
1074, 2987, 24543, 24560, 23441, nil, nil, nil, nil, nil,
nil, 3127, nil, nil, nil, nil, nil, nil, nil, 954,
19961, 2007, 20092, nil, 975, nil, 2147, nil, 2287, nil,
nil, 2427, nil, 2567, nil, 2707, 20223, 20354, 20485, 20616,
253, 20747, 980, 983, nil, 984, 988, 993, nil, 1022,
1009, 1005, 1000, 20878, nil, nil, 1142, nil, nil, 3267,
1039, 1145, nil, nil, nil, 1024, 887, nil, nil, 1151,
nil, 3407, 1027, 1074, nil, nil, 1074, nil, nil, 3547,
3687, 1084, 1042, nil, nil, nil, 1046, 1047, nil, 1048,
1058, nil, 1060, nil, nil, 1064, 3207, 1062, 3533, nil,
1194, nil, 21009, 1200, 3827, 3967, nil, 21140, 4107, 64,
121, nil, 1214, 469, 4247, nil, 1218, 1118, 625, nil,
1126, 1124, nil, 2847, 21271, 21402, 2987, 795, nil, nil,
24568, nil, 24620, nil, 7245, nil, nil, 1152, 1153, 21533,
1099, 1211, nil, 1158, nil, nil, nil, 4387, nil, nil,
35, 21664, nil, nil, 1166, 1271, nil, nil, 24628, nil,
13958, nil, 22260, nil, 24645, nil, nil, nil, nil, 335,
3627, 1148, nil, 98, nil, 1282, 1283, nil, 45, nil,
nil, nil, 1285, nil, nil, nil, 1208, nil, 1166, nil,
nil, 1167, 1168, 1171, 1181, nil, 1182, nil, 626, nil,
nil, nil, 1170, 24295, nil, nil, nil, 4527, 1209, 1239,
1310, 1264, 1349, nil, nil, nil, 1187, 1188, 1198, 1200,
1201, 3673, 1202, 3703, 4667, nil, nil, nil, nil, nil,
4807, nil, 4947, nil, 24684, nil, 24701, nil, 24708, nil,
24760, nil, nil, nil, 1293, 1254, 1260, 1356, 21795, 24356,
24417, 1379, 24767, nil, nil, nil, nil, 3711, 1234, 773,
1379, 1384, 1264, 1268, 1273, 1278, nil, nil, 1289, 102,
111, 138, 1447, 1287, 1288, nil, nil, nil, 24774, nil,
nil, nil, nil, 144, nil, 1298, nil ]
racc_action_default = [
-3, -593, -1, -579, -4, -593, -7, -593, -593, -593,
-593, -29, -593, -593, -593, -279, -593, -40, -43, -581,
-593, -48, -50, -51, -52, -56, -256, -256, -256, -293,
-328, -329, -68, -11, -72, -80, -82, -593, -486, -487,
-593, -593, -593, -593, -593, -581, -237, -270, -271, -272,
-273, -274, -275, -276, -277, -278, -569, -281, -283, -592,
-560, -301, -389, -593, -593, -306, -309, -579, -593, -593,
-593, -593, -330, -331, -427, -428, -429, -430, -431, -452,
-434, -435, -454, -456, -439, -444, -448, -450, -466, -454,
-468, -470, -471, -472, -473, -567, -475, -476, -568, -478,
-479, -480, -481, -482, -483, -484, -485, -490, -491, -593,
-2, -580, -588, -589, -590, -6, -593, -593, -593, -593,
-593, -3, -17, -593, -111, -112, -113, -114, -115, -116,
-117, -118, -119, -123, -124, -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, -22, -120, -11, -593, -593, -246,
-593, -593, -593, -593, -593, -593, -593, -581, -582, -47,
-593, -486, -487, -593, -279, -593, -593, -229, -593, -11,
-593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
-593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
-593, -593, -593, -593, -593, -593, -593, -396, -398, -593,
-577, -578, -57, -246, -593, -300, -402, -411, -413, -63,
-408, -64, -581, -65, -238, -251, -260, -260, -255, -593,
-261, -593, -562, -593, -593, -66, -67, -579, -12, -593,
-15, -593, -70, -11, -581, -593, -73, -76, -11, -88,
-89, -593, -593, -96, -293, -296, -581, -593, -328, -329,
-332, -409, -593, -78, -593, -84, -290, -469, -593, -214,
-215, -230, -593, -11, -593, -581, -239, -585, -585, -593,
-593, -585, -593, -302, -303, -519, -49, -593, -593, -593,
-593, -579, -593, -580, -486, -487, -593, -593, -279, -593,
-342, -343, -106, -107, -593, -109, -593, -279, -593, -593,
-486, -487, -321, -111, -112, -153, -154, -155, -171, -176,
-183, -186, -323, -593, -558, -593, -432, -593, -593, -593,
-593, -593, -593, -593, -593, 1017, -5, -591, -23, -24,
-25, -26, -27, -593, -593, -19, -20, -21, -121, -593,
-30, -39, -266, -593, -593, -265, -31, -196, -581, -247,
-260, -260, -570, -571, -256, -406, -572, -573, -571, -570,
-256, -405, -407, -572, -573, -37, -204, -38, -593, -41,
-42, -194, -261, -44, -45, -46, -581, -299, -593, -593,
-593, -246, -290, -593, -593, -593, -205, -206, -207, -208,
-209, -210, -211, -212, -216, -217, -218, -219, -220, -221,
-222, -223, -224, -225, -226, -227, -228, -231, -232, -233,
-234, -581, -378, -256, -570, -571, -54, -58, -581, -257,
-378, -378, -581, -295, -252, -593, -253, -593, -258, -593,
-262, -565, -566, -10, -580, -14, -3, -581, -69, -288,
-85, -74, -593, -581, -246, -593, -593, -95, -593, -469,
-593, -81, -86, -593, -593, -593, -593, -235, -593, -419,
-593, -284, -593, -240, -587, -586, -242, -587, -291, -292,
-561, -390, -519, -393, -557, -557, -502, -504, -504, -504,
-518, -520, -521, -522, -523, -524, -525, -526, -593, -528,
-530, -532, -537, -539, -540, -542, -547, -549, -550, -552,
-553, -554, -593, -11, -333, -334, -11, -593, -593, -593,
-593, -593, -246, -593, -593, -290, -314, -106, -107, -108,
-593, -593, -246, -317, -492, -493, -593, -593, -11, -497,
-325, -581, -433, -453, -458, -593, -460, -436, -455, -593,
-457, -438, -593, -441, -593, -443, -446, -593, -447, -593,
-467, -8, -18, -593, -28, -269, -593, -593, -410, -593,
-248, -250, -593, -593, -59, -245, -403, -593, -593, -61,
-404, -593, -593, -298, -583, -570, -571, -570, -571, -581,
-194, -593, -379, -581, -381, -11, -53, -399, -378, -243,
-11, -11, -294, -260, -259, -263, -593, -563, -564, -13,
-593, -71, -593, -77, -83, -581, -570, -571, -244, -92,
-94, -593, -79, -593, -203, -213, -581, -592, -592, -282,
-581, -287, -585, -593, -581, -593, -500, -501, -593, -593,
-511, -593, -514, -593, -516, -593, -344, -593, -346, -348,
-355, -581, -531, -541, -551, -555, -592, -335, -592, -307,
-336, -337, -310, -593, -313, -593, -581, -570, -571, -574,
-289, -593, -106, -107, -110, -581, -11, -593, -495, -319,
-593, -11, -519, -519, -593, -559, -459, -462, -463, -464,
-465, -11, -437, -440, -442, -445, -449, -451, -122, -267,
-593, -197, -593, -584, -260, -33, -199, -34, -200, -60,
-35, -202, -36, -201, -62, -195, -593, -593, -593, -593,
-410, -593, -557, -557, -360, -362, -362, -362, -377, -593,
-581, -383, -526, -534, -535, -545, -593, -401, -400, -11,
-593, -593, -254, -264, -16, -75, -90, -87, -297, -592,
-340, -11, -420, -592, -421, -422, -593, -241, -391, -11,
-11, -593, -557, -538, -556, -503, -504, -504, -529, -504,
-504, -548, -504, -526, -543, -581, -593, -353, -593, -527,
-593, -338, -593, -593, -11, -11, -312, -593, -11, -410,
-593, -410, -593, -593, -11, -322, -593, -581, -593, -326,
-593, -268, -32, -198, -249, -593, -236, -593, -358, -359,
-368, -370, -593, -373, -593, -375, -380, -593, -593, -593,
-533, -593, -397, -593, -412, -414, -9, -11, -426, -341,
-593, -593, -424, -285, -593, -593, -392, -499, -593, -507,
-593, -509, -593, -512, -593, -515, -517, -345, -347, -351,
-593, -356, -304, -593, -305, -593, -593, -263, -592, -315,
-318, -494, -593, -324, -496, -498, -497, -461, -557, -536,
-361, -362, -362, -362, -362, -546, -362, -382, -581, -385,
-387, -388, -544, -593, -290, -55, -425, -11, -97, -98,
-593, -593, -105, -423, -394, -395, -504, -504, -504, -504,
-349, -593, -354, -593, -11, -308, -311, -415, -416, -417,
-11, -320, -11, -357, -593, -365, -593, -367, -593, -371,
-593, -374, -376, -384, -593, -289, -574, -419, -246, -593,
-593, -104, -593, -505, -508, -510, -513, -593, -352, -592,
-593, -593, -362, -362, -362, -362, -386, -418, -581, -570,
-571, -574, -103, -504, -350, -339, -316, -327, -593, -363,
-366, -369, -372, -410, -506, -362, -364 ]
clist = [
'216,372,333,618,14,275,275,275,570,14,408,276,276,276,310,310,258,520',
'326,2,296,414,420,677,220,6,322,486,127,127,6,114,533,220,220,220,430',
'14,301,301,654,327,654,477,266,270,563,566,310,310,310,259,657,122,205',
'731,405,130,130,511,313,111,427,110,478,219,540,220,220,317,473,220',
'346,356,356,830,337,338,818,799,341,292,132,132,262,269,271,579,277',
'277,277,127,657,709,712,114,701,898,821,686,687,523,526,115,776,530',
'779,294,929,931,833,295,358,362,1,14,777,876,328,331,220,220,220,220',
'14,14,659,342,204,388,389,390,391,645,925,593,6,600,603,603,393,650',
'651,378,351,392,6,811,602,604,384,13,401,394,648,613,13,329,901,647',
'374,486,817,330,819,334,349,583,690,692,694,373,323,324,783,654,654',
'680,273,285,286,325,339,834,13,275,657,340,835,404,721,960,726,844,588',
'404,589,734,916,778,780,928,531,808,335,683,472,480,481,386,14,220,220',
'220,996,931,220,220,220,220,220,220,957,803,898,880,376,377,415,684',
'952,424,379,14,770,713,925,380,381,275,275,382,639,867,383,825,276,663',
'275,818,414,420,400,406,276,672,736,425,429,741,796,727,13,540,816,813',
'919,220,220,,,13,13,,,,220,310,,,,988,730,818,399,,,508,,,,,,14,310',
'821,,14,,,512,301,14,,,665,522,295,,789,958,839,,724,495,114,668,1004',
'301,,841,921,501,277,,266,668,14,220,270,,277,,922,,923,,858,859,,509',
'292,,220,220,494,292,493,,,,,567,568,,,,13,1005,818,744,946,744,220',
',,909,497,,114,,295,503,716,,,295,887,,220,13,,962,725,668,,584,,783',
'619,,783,668,783,,783,,,,,590,569,,792,,759,,795,,654,764,,,479,127',
',,275,,657,842,482,,,838,846,,,,847,848,,625,,,,,992,630,612,13,,,130',
'13,220,,889,891,13,893,895,641,896,430,,807,415,,,424,,,540,540,,,,132',
',,,624,,13,,,,629,,275,997,310,963,,,,26,512,,310,625,26,,,783,512,783',
'14,783,14,783,,,792,,301,26,220,,,,,,301,660,26,26,26,,26,6,220,415',
',,424,804,,,,646,,415,,,424,,912,783,,,,,653,,,,275,,26,26,,715,26,',
',,275,,,,,,,,,14,,,14,,,,959,,220,983,984,985,986,,,682,,,220,,788,937',
',415,14,1013,424,710,710,,26,415,424,,,26,26,26,26,26,26,,,,954,,728',
'729,,,,,619,,,,781,,220,220,,,,220,220,127,1014,220,,805,,,787,706,310',
',708,13,619,13,512,14,,,,310,14,14,991,,748,797,404,806,130,,849,781',
'301,755,757,,,,760,762,,,429,301,15,754,,,,15,,,625,132,,630,,,,26,26',
'26,26,619,,26,26,26,26,26,26,,619,,,,,15,303,303,13,,26,13,773,,,,,786',
',220,,,790,791,14,220,,,840,14,,,,13,843,,,,16,14,348,357,357,16,26',
'26,,,127,,220,,878,26,812,781,882,310,,,,,,,,,,,,,26,16,,998,26,,,,',
'26,,870,,15,668,,,14,,,13,852,15,15,,13,13,,,14,,,774,,26,26,350,14',
'14,,,,,850,,,,,,332,26,26,,,,,,,,,220,,14,14,,,14,,,903,26,,14,310,814',
',,814,,16,,,,,,310,26,,16,16,,873,710,,,911,,932,,,915,13,,879,,14,13',
',15,940,,884,885,,,,13,,,,,,,,,,,,,,,15,,973,,,905,906,,,908,,,,,,,',
',,,,26,,,,918,,,773,,773,,773,13,14,,,437,,,861,863,865,16,,13,424,275',
'936,,428,14,,13,13,,,14,,14,15,,,775,15,402,16,,303,15,,432,619,,26',
'220,26,,13,13,,,13,,26,303,,,13,,415,,483,424,15,,,,26,,,,,,,,,,977',
',,820,,822,498,814,,,774,,774,13,774,,,989,16,,,547,16,990,773,,773',
'16,773,488,773,490,,491,492,26,,,26,,,,,,26,,,,,,,,16,,26,,,,38,,26',
',,38,,,,,773,,,,,13,,,,,965,967,969,971,,972,,,,,,,13,38,299,299,26',
'26,13,,13,26,26,,,26,,,,,,,,,,,774,,774,26,774,,774,,26,26,,,344,360',
'360,360,,,,,,,,,,,,,,,,,,,633,1009,1010,1011,1012,615,,,,15,774,15,',
',,,,303,,,,38,,,1016,303,924,,926,,38,38,,,,,,,,,,,649,,,26,652,,,,26',
'26,947,,948,26,949,,,,,661,,,,26,,664,,,547,,,,,16,26,16,15,,,15,,,',
',696,655,,332,,658,,,,,,,,,,,,15,,,,,,,740,,,26,,,38,,,,,,,,,26,655',
',993,332,994,,995,26,26,,,,,38,,,,,16,,1003,16,,,,,,702,,735,26,,26',
'26,15,,26,,,15,15,,26,16,,,1015,432,,,,303,,,,782,,,,,,,303,,,,,,336',
'336,,,336,38,,26,,38,,,,299,38,,,,428,,,,,,749,,,,655,332,299,,16,547',
',547,,16,16,38,,696,,,827,,798,15,,,,,15,336,336,336,336,,,,,,15,,793',
',,26,,,,829,,,,,547,547,,,,,,,26,,802,,,,26,,26,,,,,,,,,,,824,357,,',
',26,39,15,,,16,39,,,,16,,,,15,,,,,,16,,15,15,,,,,,,,,,,39,300,300,,',
',,,,433,434,435,436,15,15,,851,15,,,,,,15,,,,,696,,696,,,,16,345,361',
'361,361,,,,,,,,16,,357,,,,,897,16,16,15,,,,942,,782,,782,,,,38,,38,',
',,,914,299,,39,16,16,,,16,299,,,39,39,16,547,,,,,,,,,,,950,696,907,',
',,,,,,,,,,,15,,,521,332,,16,,,,943,,,,,,,15,336,336,,38,,15,38,15,,',
',,,,,,,,,696,587,696,,,,,,,38,,,,782,,,,591,,,39,,,,,,,,,16,,,,,,,696',
',,,,,,39,,,16,,,,,,16,,16,,,,,,,,,,,,38,,,,,38,38,,,,,,,,,,,299,,,,',
',,,,,,299,,,,,,,,,39,,,,39,,,,300,39,,,,,,,,,,,,,,,,300,,,,,,,,,39,',
',,,,,,,,38,,,,,38,,,,,,,,676,,38,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,360,,,,,,38,,,,,,,,,,,,38,,,,,,,,38,38,,,,,,,,,,,,,,,,,,,,,,,',
'38,38,,,38,,,,,,38,,,,,,,,,,,,,,,,,,,,,,,,,360,,,,,,,,38,,,,938,,,,',
',39,,39,,,,,,300,,,,,,,,300,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,38,,,,',
'336,,,,,,336,,,,,,38,,39,,,39,38,,38,,,,,,,,,,,,,,,,,,,39,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,,,,,39,39,,,,,,,,,336',
',300,,,,,,,,,227,,300,,,,,,,274,274,274,,,,,,,,,,,319,320,321,,,,,,',
',,,,,,,,274,274,,,,,,,,,,,,,,,39,,,,,39,,,,,,,,,,39,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,361,,,,,,39,,,,,,,,,,,,39,,,,,,,,39,39,,,,',
',,,,,,,,,,,,,,,,,,,39,39,,,39,,,,,,39,,,,,,,,,,,,,,274,407,274,,,426',
'431,,,,,361,,,,,,,,39,,227,,939,446,447,448,449,450,451,452,453,454',
'455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471',
',,,,,,274,274,,,,,,,,274,,,,,,,274,,274,,274,274,,39,,,,,,,,,,,,,,,',
',39,,,,,,39,,39,,,,,,,,,,,517,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,274,,426,640,407,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,274,,274,,274,,,,,,,,,,,,,,,274,,,,,,,,,674,675,,,,,,,,,,274,,,274',
',,,,,,,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,,,,,,,,,274,274,,,,,,,,,,274,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274,751,,,274,274,756,758,,,,761,763',
',,640,765,,,,,,,,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,,,,,,,,,,,274,,,,,,',
',,,,,,,,,,274,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
'274,,853,,,,,,,,,,,,,,756,758,763,761,,856,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,,,,,,274,853',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274' ]
racc_goto_table = arr = ::Array.new(3096, 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 = [
'31,56,86,24,22,33,33,33,92,22,23,68,68,68,64,64,138,8,67,2,49,37,37',
'10,22,7,31,73,57,57,7,95,137,22,22,22,18,22,22,22,74,68,74,39,71,71',
'89,89,64,64,64,36,175,15,15,96,27,60,60,51,50,6,27,4,23,20,161,22,22',
'63,37,22,22,22,22,90,17,17,166,11,17,45,61,61,38,38,38,54,70,70,70,57',
'175,91,91,95,116,114,171,121,121,69,69,5,126,69,129,46,131,132,11,9',
'55,55,1,22,127,12,70,70,22,22,22,22,22,22,14,4,16,17,17,17,17,40,172',
'154,7,154,154,154,2,40,40,150,19,7,7,129,153,153,150,21,28,30,42,62',
'21,66,117,72,84,73,127,85,127,88,93,94,164,164,164,97,98,99,167,74,74',
'100,44,44,44,101,102,103,21,33,175,104,105,68,106,107,108,109,110,68',
'111,112,113,118,124,130,133,134,135,136,139,141,142,5,22,22,22,22,131',
'132,22,22,22,22,22,22,143,144,114,145,148,149,71,137,117,57,151,22,24',
'92,172,152,155,33,33,156,23,129,157,116,68,51,33,166,37,37,20,20,68',
'51,158,20,20,159,24,160,21,161,165,168,169,22,22,,,21,21,,,,22,64,,',
',117,8,166,9,,,31,,,,,,22,64,171,,22,,,49,22,22,,,23,31,9,,40,11,24',
',54,7,95,37,117,22,,24,126,50,70,,71,37,22,22,71,,70,,127,,127,,121',
'121,,63,45,,22,22,6,45,4,,,,,17,17,,,,21,90,166,154,127,154,22,,,91',
'46,,95,,9,46,23,,,9,121,,22,21,,96,23,37,,95,,167,31,,167,37,167,,167',
',,,,36,4,,73,,39,,51,,74,39,,,44,57,,,33,,175,8,44,,,89,8,,,,137,137',
',71,,,,,127,71,15,21,,,60,21,22,,164,164,21,164,164,31,164,18,,69,71',
',,57,,,161,161,,,,61,,,,38,,21,,,,38,,33,10,64,121,,,,41,49,,64,71,41',
',,167,49,167,22,167,22,167,,,73,,22,41,22,,,,,,22,2,41,41,41,,41,7,22',
'71,,,57,27,,,,38,,71,,,57,,8,167,,,,,70,,,,33,,41,41,,68,41,,,,33,,',
',,,,,,22,,,22,,,,92,,22,164,164,164,164,,,70,,,22,,86,89,,71,22,24,57',
'95,95,,41,71,57,,,41,41,41,41,41,41,,,,89,,95,95,,,,,31,,,,31,,22,22',
',,,22,22,57,164,22,,67,,,138,9,64,,9,21,31,21,49,22,,,,64,22,22,8,,15',
'49,68,31,60,,56,31,22,20,20,,,,20,20,,,20,22,25,70,,,,25,,,71,61,,71',
',,,41,41,41,41,31,,41,41,41,41,41,41,,31,,,,,25,25,25,21,,41,21,120',
',,,,9,,22,,,9,9,22,22,,,17,22,,,,21,17,,,,26,22,25,25,25,26,41,41,,',
'57,,22,,67,41,120,31,67,64,,,,,,,,,,,,,41,26,,23,41,,,,,41,,22,,25,37',
',,22,,,21,20,25,25,,21,21,,,22,,,122,,41,41,26,22,22,,,,,9,,,,,,65,41',
'41,,,,,,,,,22,,22,22,,,22,,,17,41,,22,64,122,,,122,,26,,,,,,64,41,,26',
'26,,9,95,,,95,,22,,,95,21,,9,,22,21,,25,22,,9,9,,,,21,,,,,,,,,,,,,,',
'25,,31,,,9,9,,,9,,,,,,,,,,,,41,,,,120,,,120,,120,,120,21,22,,,47,,,123',
'123,123,26,,21,57,33,9,,26,22,,21,21,,,22,,22,25,,,125,25,65,26,,25',
'25,,65,31,,41,22,41,,21,21,,,21,,41,25,,,21,,71,,47,57,25,,,,41,,,,',
',,,,,9,,,125,,125,47,122,,,122,,122,21,122,,,9,26,,,115,26,9,120,,120',
'26,120,65,120,65,,65,65,41,,,41,,,,,,41,,,,,,,,26,,41,,,,52,,41,,,52',
',,,,120,,,,,21,,,,,123,123,123,123,,123,,,,,,,21,52,52,52,41,41,21,',
'21,41,41,,,41,,,,,,,,,,,122,,122,41,122,,122,,41,41,,,52,52,52,52,,',
',,,,,,,,,,,,,,,,47,123,123,123,123,65,,,,25,122,25,,,,,,25,,,,52,,,123',
'25,125,,125,,52,52,,,,,,,,,,,47,,,41,47,,,,41,41,125,,125,41,125,,,',
',47,,,,41,,47,,,115,,,,,26,41,26,25,,,25,,,,,115,65,,65,,65,,,,,,,,',
',,,25,,,,,,,25,,,41,,,52,,,,,,,,,41,65,,125,65,125,,125,41,41,,,,,52',
',,,,26,,125,26,,,,,,65,,47,41,,41,41,25,,41,,,25,25,,41,26,,,125,65',
',,,25,,,,115,,,,,,,25,,,,,,29,29,,,29,52,,41,,52,,,,52,52,,,,26,,,,',
',65,,,,65,65,52,,26,115,,115,,26,26,52,,115,,,115,,47,25,,,,,25,29,29',
'29,29,,,,,,25,,65,,,41,,,,47,,,,,115,115,,,,,,,41,,65,,,,41,,41,,,,',
',,,,,,65,25,,,,41,53,25,,,26,53,,,,26,,,,25,,,,,,26,,25,25,,,,,,,,,',
',53,53,53,,,,,,,29,29,29,29,25,25,,65,25,,,,,,25,,,,,115,,115,,,,26',
'53,53,53,53,,,,,,,,26,,25,,,,,47,26,26,25,,,,25,,115,,115,,,,52,,52',
',,,,47,52,,53,26,26,,,26,52,,,53,53,26,115,,,,,,,,,,,115,115,65,,,,',
',,,,,,,,25,,,29,65,,26,,,,26,,,,,,,25,29,29,,52,,25,52,25,,,,,,,,,,',
',115,29,115,,,,,,,52,,,,115,,,,29,,,53,,,,,,,,,26,,,,,,,115,,,,,,,53',
',,26,,,,,,26,,26,,,,,,,,,,,,52,,,,,52,52,,,,,,,,,,,52,,,,,,,,,,,52,',
',,,,,,,53,,,,53,,,,53,53,,,,,,,,,,,,,,,,53,,,,,,,,,53,,,,,,,,,,52,,',
',,52,,,,,,,,29,,52,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,52,,,,,',
'52,,,,,,,,,,,,52,,,,,,,,52,52,,,,,,,,,,,,,,,,,,,,,,,,52,52,,,52,,,,',
',52,,,,,,,,,,,,,,,,,,,,,,,,,52,,,,,,,,52,,,,52,,,,,,53,,53,,,,,,53,',
',,,,,,53,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,52,,,,,29,,,,,,29,,,,,,52',
',53,,,53,52,,52,,,,,,,,,,,,,,,,,,,53,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,53,,,,,53,53,,,,,,,,,29,,53,,,,,,,,,32,,53',
',,,,,,32,32,32,,,,,,,,,,,32,32,32,,,,,,,,,,,,,,,32,32,,,,,,,,,,,,,,',
'53,,,,,53,,,,,,,,,,53,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,53,,',
',,,53,,,,,,,,,,,,53,,,,,,,,53,53,,,,,,,,,,,,,,,,,,,,,,,,53,53,,,53,',
',,,,53,,,,,,,,,,,,,,32,32,32,,,32,32,,,,,53,,,,,,,,53,,32,,53,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,,53,,,,,,,,,,,,,,,,,53',
',,,,,53,,53,,,,,,,,,,,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,32,,32,32,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,32,,32',
',32,,,,,,,,,,,,,,,32,,,,,,,,,32,32,,,,,,,,,,32,,,32,,,,,,,,,,,,,,,,',
',,,,,,,32,,,,,,,,,,,,,,,,,,,,32,32,,,,,,,,,,32,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,32,32,,,32,32,32,32,,,,32,32,,,32,32,,,,,,,,,,,,,,,,,,,',
',,,,32,,,,,,,,,,,,,,,,,,,,,,32,,,,,,,,,,,,,,,,,32,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,32,,32,,,,,,,,,,,,,,32,32,32,32',
',32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',32,,,,,,,,,,,,,,,,,32,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,32' ]
racc_goto_check = arr = ::Array.new(3096, 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, 114, 19, nil, 60, 98, 58, 25, -306, 78,
-496, -598, -682, nil, -368, 45, 119, 13, -177, 76,
45, 151, 4, -199, -405, 678, 744, -151, -55, 1294,
31, -19, 2117, -24, nil, nil, 27, -189, 58, -219,
-339, 487, -322, nil, 149, 48, 74, 727, nil, -14,
25, -255, 1073, 1466, -267, 43, -70, 20, nil, nil,
49, 74, -243, 28, -20, 765, 98, -41, -18, -226,
59, 18, -314, -250, -445, nil, nil, nil, nil, nil,
nil, nil, nil, nil, 89, 103, -59, nil, 103, -291,
-631, -474, -334, 98, -191, 28, -534, 100, 115, 115,
-344, 123, 117, -526, 121, -524, -386, -718, -391, -536,
-168, -176, -393, -651, -729, 701, -452, -670, -444, nil,
75, -435, 165, 172, -443, 327, -539, -527, nil, -537,
-667, -760, -759, -133, -480, 142, -326, -303, -6, -51,
nil, -60, -60, -686, -455, -578, nil, nil, 149, 148,
61, 149, 153, -232, -242, 153, 155, 157, -339, -337,
-324, -269, nil, nil, -369, -425, -611, -469, -420, -591,
nil, -593, -728, nil, nil, -435 ]
racc_goto_default = [
nil, nil, nil, 3, nil, 4, 343, 290, nil, 519,
nil, 831, nil, 287, 288, nil, nil, nil, 11, 12,
18, 226, 318, nil, nil, 224, 225, nil, nil, 17,
nil, 438, 21, 22, 23, 24, nil, 671, nil, nil,
nil, 307, nil, 25, 409, 32, nil, nil, 34, 37,
36, nil, 221, 222, 355, nil, 129, 417, 128, 131,
75, 76, nil, 90, 46, 280, nil, 800, 410, nil,
411, 422, 626, 484, 278, 264, 47, 48, 49, 50,
51, 52, 53, 54, 55, nil, 265, 61, nil, nil,
nil, nil, nil, nil, nil, 564, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, 698, 823, nil, 699, 920, 772,
535, nil, 536, nil, nil, 537, nil, 539, 642, nil,
nil, nil, 545, nil, nil, nil, nil, nil, nil, nil,
421, nil, nil, nil, nil, nil, 74, 77, 78, nil,
nil, nil, nil, nil, 598, nil, nil, nil, nil, nil,
nil, 815, 733, 534, nil, 538, 549, 551, 552, 784,
555, 556, 785, 559, 562, 282 ]
racc_reduce_table = [
0, 0, :racc_error,
1, 144, :_reduce_none,
2, 145, :_reduce_2,
0, 146, :_reduce_3,
1, 146, :_reduce_4,
3, 146, :_reduce_5,
2, 146, :_reduce_6,
1, 148, :_reduce_none,
4, 148, :_reduce_8,
4, 151, :_reduce_9,
2, 152, :_reduce_10,
0, 156, :_reduce_11,
1, 156, :_reduce_12,
3, 156, :_reduce_13,
2, 156, :_reduce_14,
1, 157, :_reduce_none,
4, 157, :_reduce_16,
0, 173, :_reduce_17,
4, 150, :_reduce_18,
3, 150, :_reduce_19,
3, 150, :_reduce_20,
3, 150, :_reduce_21,
2, 150, :_reduce_22,
3, 150, :_reduce_23,
3, 150, :_reduce_24,
3, 150, :_reduce_25,
3, 150, :_reduce_26,
3, 150, :_reduce_27,
4, 150, :_reduce_28,
1, 150, :_reduce_none,
3, 150, :_reduce_30,
3, 150, :_reduce_31,
6, 150, :_reduce_32,
5, 150, :_reduce_33,
5, 150, :_reduce_34,
5, 150, :_reduce_35,
5, 150, :_reduce_36,
3, 150, :_reduce_37,
3, 150, :_reduce_38,
3, 150, :_reduce_39,
1, 150, :_reduce_none,
3, 161, :_reduce_41,
3, 161, :_reduce_42,
1, 172, :_reduce_none,
3, 172, :_reduce_44,
3, 172, :_reduce_45,
3, 172, :_reduce_46,
2, 172, :_reduce_47,
1, 172, :_reduce_none,
1, 160, :_reduce_none,
1, 163, :_reduce_none,
1, 163, :_reduce_none,
1, 177, :_reduce_none,
4, 177, :_reduce_53,
0, 185, :_reduce_54,
5, 182, :_reduce_55,
1, 184, :_reduce_none,
2, 176, :_reduce_57,
3, 176, :_reduce_58,
4, 176, :_reduce_59,
5, 176, :_reduce_60,
4, 176, :_reduce_61,
5, 176, :_reduce_62,
2, 176, :_reduce_63,
2, 176, :_reduce_64,
2, 176, :_reduce_65,
2, 176, :_reduce_66,
2, 176, :_reduce_67,
1, 162, :_reduce_68,
3, 162, :_reduce_69,
1, 189, :_reduce_70,
3, 189, :_reduce_71,
1, 188, :_reduce_none,
2, 188, :_reduce_73,
3, 188, :_reduce_74,
5, 188, :_reduce_75,
2, 188, :_reduce_76,
4, 188, :_reduce_77,
2, 188, :_reduce_78,
4, 188, :_reduce_79,
1, 188, :_reduce_80,
3, 188, :_reduce_81,
1, 192, :_reduce_none,
3, 192, :_reduce_83,
2, 191, :_reduce_84,
3, 191, :_reduce_85,
1, 194, :_reduce_86,
3, 194, :_reduce_87,
1, 193, :_reduce_88,
1, 193, :_reduce_89,
4, 193, :_reduce_90,
3, 193, :_reduce_91,
3, 193, :_reduce_92,
3, 193, :_reduce_93,
3, 193, :_reduce_94,
2, 193, :_reduce_95,
1, 193, :_reduce_96,
1, 169, :_reduce_97,
1, 169, :_reduce_98,
4, 169, :_reduce_99,
3, 169, :_reduce_100,
3, 169, :_reduce_101,
3, 169, :_reduce_102,
3, 169, :_reduce_103,
2, 169, :_reduce_104,
1, 169, :_reduce_105,
1, 197, :_reduce_106,
1, 197, :_reduce_none,
2, 198, :_reduce_108,
1, 198, :_reduce_109,
3, 198, :_reduce_110,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 202, :_reduce_116,
1, 202, :_reduce_none,
1, 158, :_reduce_none,
1, 158, :_reduce_none,
1, 159, :_reduce_120,
0, 205, :_reduce_121,
4, 159, :_reduce_122,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 200, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
1, 201, :_reduce_none,
3, 175, :_reduce_194,
5, 175, :_reduce_195,
3, 175, :_reduce_196,
5, 175, :_reduce_197,
6, 175, :_reduce_198,
5, 175, :_reduce_199,
5, 175, :_reduce_200,
5, 175, :_reduce_201,
5, 175, :_reduce_202,
4, 175, :_reduce_203,
3, 175, :_reduce_204,
3, 175, :_reduce_205,
3, 175, :_reduce_206,
3, 175, :_reduce_207,
3, 175, :_reduce_208,
3, 175, :_reduce_209,
3, 175, :_reduce_210,
3, 175, :_reduce_211,
3, 175, :_reduce_212,
4, 175, :_reduce_213,
2, 175, :_reduce_214,
2, 175, :_reduce_215,
3, 175, :_reduce_216,
3, 175, :_reduce_217,
3, 175, :_reduce_218,
3, 175, :_reduce_219,
3, 175, :_reduce_220,
3, 175, :_reduce_221,
3, 175, :_reduce_222,
3, 175, :_reduce_223,
3, 175, :_reduce_224,
3, 175, :_reduce_225,
3, 175, :_reduce_226,
3, 175, :_reduce_227,
3, 175, :_reduce_228,
2, 175, :_reduce_229,
2, 175, :_reduce_230,
3, 175, :_reduce_231,
3, 175, :_reduce_232,
3, 175, :_reduce_233,
3, 175, :_reduce_234,
3, 175, :_reduce_235,
6, 175, :_reduce_236,
1, 175, :_reduce_none,
1, 208, :_reduce_none,
1, 209, :_reduce_none,
2, 209, :_reduce_none,
4, 209, :_reduce_241,
2, 209, :_reduce_242,
3, 214, :_reduce_243,
0, 215, :_reduce_244,
1, 215, :_reduce_none,
0, 166, :_reduce_246,
1, 166, :_reduce_none,
2, 166, :_reduce_none,
4, 166, :_reduce_249,
2, 166, :_reduce_250,
1, 187, :_reduce_251,
2, 187, :_reduce_252,
2, 187, :_reduce_253,
4, 187, :_reduce_254,
1, 187, :_reduce_255,
0, 218, :_reduce_256,
2, 181, :_reduce_257,
2, 217, :_reduce_258,
2, 216, :_reduce_259,
0, 216, :_reduce_260,
1, 211, :_reduce_261,
2, 211, :_reduce_262,
3, 211, :_reduce_263,
4, 211, :_reduce_264,
1, 171, :_reduce_265,
1, 171, :_reduce_none,
3, 170, :_reduce_267,
4, 170, :_reduce_268,
2, 170, :_reduce_269,
1, 207, :_reduce_none,
1, 207, :_reduce_none,
1, 207, :_reduce_none,
1, 207, :_reduce_none,
1, 207, :_reduce_none,
1, 207, :_reduce_none,
1, 207, :_reduce_none,
1, 207, :_reduce_none,
1, 207, :_reduce_none,
1, 207, :_reduce_none,
1, 207, :_reduce_280,
0, 241, :_reduce_281,
4, 207, :_reduce_282,
0, 242, :_reduce_283,
0, 243, :_reduce_284,
6, 207, :_reduce_285,
0, 244, :_reduce_286,
4, 207, :_reduce_287,
3, 207, :_reduce_288,
3, 207, :_reduce_289,
2, 207, :_reduce_290,
3, 207, :_reduce_291,
3, 207, :_reduce_292,
1, 207, :_reduce_293,
4, 207, :_reduce_294,
3, 207, :_reduce_295,
1, 207, :_reduce_296,
5, 207, :_reduce_297,
4, 207, :_reduce_298,
3, 207, :_reduce_299,
2, 207, :_reduce_300,
1, 207, :_reduce_none,
2, 207, :_reduce_302,
2, 207, :_reduce_303,
6, 207, :_reduce_304,
6, 207, :_reduce_305,
0, 245, :_reduce_306,
0, 246, :_reduce_307,
7, 207, :_reduce_308,
0, 247, :_reduce_309,
0, 248, :_reduce_310,
7, 207, :_reduce_311,
5, 207, :_reduce_312,
4, 207, :_reduce_313,
0, 249, :_reduce_314,
0, 250, :_reduce_315,
9, 207, :_reduce_316,
0, 251, :_reduce_317,
6, 207, :_reduce_318,
0, 252, :_reduce_319,
7, 207, :_reduce_320,
0, 253, :_reduce_321,
5, 207, :_reduce_322,
0, 254, :_reduce_323,
6, 207, :_reduce_324,
0, 255, :_reduce_325,
0, 256, :_reduce_326,
9, 207, :_reduce_327,
1, 207, :_reduce_328,
1, 207, :_reduce_329,
1, 207, :_reduce_330,
1, 207, :_reduce_331,
1, 165, :_reduce_none,
1, 232, :_reduce_none,
1, 232, :_reduce_none,
2, 232, :_reduce_335,
1, 234, :_reduce_none,
1, 234, :_reduce_none,
1, 233, :_reduce_none,
5, 233, :_reduce_339,
1, 154, :_reduce_none,
2, 154, :_reduce_341,
1, 236, :_reduce_none,
1, 236, :_reduce_none,
1, 257, :_reduce_344,
3, 257, :_reduce_345,
1, 260, :_reduce_346,
3, 260, :_reduce_347,
1, 259, :_reduce_none,
4, 259, :_reduce_349,
6, 259, :_reduce_350,
3, 259, :_reduce_351,
5, 259, :_reduce_352,
2, 259, :_reduce_353,
4, 259, :_reduce_354,
1, 259, :_reduce_355,
3, 259, :_reduce_356,
4, 261, :_reduce_357,
2, 261, :_reduce_358,
2, 261, :_reduce_359,
1, 261, :_reduce_360,
2, 266, :_reduce_361,
0, 266, :_reduce_362,
6, 267, :_reduce_363,
8, 267, :_reduce_364,
4, 267, :_reduce_365,
6, 267, :_reduce_366,
4, 267, :_reduce_367,
2, 267, :_reduce_none,
6, 267, :_reduce_369,
2, 267, :_reduce_370,
4, 267, :_reduce_371,
6, 267, :_reduce_372,
2, 267, :_reduce_373,
4, 267, :_reduce_374,
2, 267, :_reduce_375,
4, 267, :_reduce_376,
1, 267, :_reduce_none,
0, 183, :_reduce_378,
1, 183, :_reduce_379,
3, 271, :_reduce_380,
1, 271, :_reduce_381,
4, 271, :_reduce_382,
1, 272, :_reduce_383,
4, 272, :_reduce_384,
1, 273, :_reduce_385,
3, 273, :_reduce_386,
1, 274, :_reduce_387,
1, 274, :_reduce_none,
0, 278, :_reduce_389,
0, 279, :_reduce_390,
4, 231, :_reduce_391,
4, 276, :_reduce_392,
1, 276, :_reduce_393,
3, 277, :_reduce_394,
3, 277, :_reduce_395,
0, 282, :_reduce_396,
5, 281, :_reduce_397,
2, 178, :_reduce_398,
4, 178, :_reduce_399,
5, 178, :_reduce_400,
5, 178, :_reduce_401,
2, 230, :_reduce_402,
4, 230, :_reduce_403,
4, 230, :_reduce_404,
3, 230, :_reduce_405,
3, 230, :_reduce_406,
3, 230, :_reduce_407,
2, 230, :_reduce_408,
1, 230, :_reduce_409,
4, 230, :_reduce_410,
0, 284, :_reduce_411,
5, 229, :_reduce_412,
0, 285, :_reduce_413,
5, 229, :_reduce_414,
5, 235, :_reduce_415,
1, 286, :_reduce_416,
1, 286, :_reduce_none,
6, 153, :_reduce_418,
0, 153, :_reduce_419,
1, 287, :_reduce_420,
1, 287, :_reduce_none,
1, 287, :_reduce_none,
2, 288, :_reduce_423,
1, 288, :_reduce_none,
2, 155, :_reduce_425,
1, 155, :_reduce_none,
1, 219, :_reduce_none,
1, 219, :_reduce_none,
1, 219, :_reduce_none,
1, 220, :_reduce_430,
1, 290, :_reduce_431,
2, 290, :_reduce_432,
3, 291, :_reduce_433,
1, 291, :_reduce_434,
1, 291, :_reduce_435,
3, 221, :_reduce_436,
4, 222, :_reduce_437,
3, 223, :_reduce_438,
0, 295, :_reduce_439,
3, 295, :_reduce_440,
1, 296, :_reduce_441,
2, 296, :_reduce_442,
3, 225, :_reduce_443,
0, 298, :_reduce_444,
3, 298, :_reduce_445,
3, 224, :_reduce_446,
3, 226, :_reduce_447,
0, 299, :_reduce_448,
3, 299, :_reduce_449,
0, 300, :_reduce_450,
3, 300, :_reduce_451,
0, 292, :_reduce_452,
2, 292, :_reduce_453,
0, 293, :_reduce_454,
2, 293, :_reduce_455,
0, 294, :_reduce_456,
2, 294, :_reduce_457,
1, 297, :_reduce_458,
2, 297, :_reduce_459,
0, 302, :_reduce_460,
4, 297, :_reduce_461,
1, 301, :_reduce_462,
1, 301, :_reduce_463,
1, 301, :_reduce_464,
1, 301, :_reduce_none,
1, 203, :_reduce_466,
3, 204, :_reduce_467,
1, 289, :_reduce_468,
2, 289, :_reduce_469,
1, 206, :_reduce_470,
1, 206, :_reduce_471,
1, 206, :_reduce_472,
1, 206, :_reduce_473,
1, 195, :_reduce_474,
1, 195, :_reduce_475,
1, 195, :_reduce_476,
1, 195, :_reduce_477,
1, 195, :_reduce_478,
1, 196, :_reduce_479,
1, 196, :_reduce_480,
1, 196, :_reduce_481,
1, 196, :_reduce_482,
1, 196, :_reduce_483,
1, 196, :_reduce_484,
1, 196, :_reduce_485,
1, 227, :_reduce_486,
1, 227, :_reduce_487,
1, 164, :_reduce_488,
1, 164, :_reduce_489,
1, 168, :_reduce_490,
1, 168, :_reduce_491,
1, 237, :_reduce_492,
0, 303, :_reduce_493,
4, 237, :_reduce_494,
2, 237, :_reduce_495,
3, 239, :_reduce_496,
0, 305, :_reduce_497,
3, 239, :_reduce_498,
4, 304, :_reduce_499,
2, 304, :_reduce_500,
2, 304, :_reduce_501,
1, 304, :_reduce_502,
2, 307, :_reduce_503,
0, 307, :_reduce_504,
6, 280, :_reduce_505,
8, 280, :_reduce_506,
4, 280, :_reduce_507,
6, 280, :_reduce_508,
4, 280, :_reduce_509,
6, 280, :_reduce_510,
2, 280, :_reduce_511,
4, 280, :_reduce_512,
6, 280, :_reduce_513,
2, 280, :_reduce_514,
4, 280, :_reduce_515,
2, 280, :_reduce_516,
4, 280, :_reduce_517,
1, 280, :_reduce_518,
0, 280, :_reduce_519,
1, 275, :_reduce_520,
1, 275, :_reduce_521,
1, 275, :_reduce_522,
1, 275, :_reduce_523,
1, 258, :_reduce_none,
1, 258, :_reduce_525,
1, 309, :_reduce_526,
3, 309, :_reduce_527,
1, 268, :_reduce_528,
3, 268, :_reduce_529,
1, 310, :_reduce_530,
2, 311, :_reduce_531,
1, 311, :_reduce_532,
2, 312, :_reduce_533,
1, 312, :_reduce_534,
1, 262, :_reduce_535,
3, 262, :_reduce_536,
1, 306, :_reduce_537,
3, 306, :_reduce_538,
1, 313, :_reduce_none,
1, 313, :_reduce_none,
2, 263, :_reduce_541,
1, 263, :_reduce_542,
3, 314, :_reduce_543,
3, 315, :_reduce_544,
1, 269, :_reduce_545,
3, 269, :_reduce_546,
1, 308, :_reduce_547,
3, 308, :_reduce_548,
1, 316, :_reduce_none,
1, 316, :_reduce_none,
2, 270, :_reduce_551,
1, 270, :_reduce_552,
1, 317, :_reduce_none,
1, 317, :_reduce_none,
2, 265, :_reduce_555,
2, 264, :_reduce_556,
0, 264, :_reduce_557,
1, 240, :_reduce_none,
3, 240, :_reduce_559,
0, 228, :_reduce_560,
2, 228, :_reduce_none,
1, 213, :_reduce_562,
3, 213, :_reduce_563,
3, 318, :_reduce_564,
2, 318, :_reduce_565,
2, 318, :_reduce_566,
1, 186, :_reduce_none,
1, 186, :_reduce_none,
1, 186, :_reduce_none,
1, 180, :_reduce_none,
1, 180, :_reduce_none,
1, 180, :_reduce_none,
1, 180, :_reduce_none,
1, 283, :_reduce_none,
1, 283, :_reduce_none,
1, 283, :_reduce_none,
1, 179, :_reduce_none,
1, 179, :_reduce_none,
0, 147, :_reduce_none,
1, 147, :_reduce_none,
0, 174, :_reduce_none,
1, 174, :_reduce_none,
2, 190, :_reduce_583,
2, 167, :_reduce_584,
0, 212, :_reduce_none,
1, 212, :_reduce_none,
1, 212, :_reduce_none,
1, 238, :_reduce_588,
1, 238, :_reduce_none,
1, 149, :_reduce_none,
2, 149, :_reduce_none,
0, 210, :_reduce_592 ]
racc_reduce_n = 593
racc_shift_n = 1017
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,
:tUPLUS => 63,
:tUMINUS => 64,
:tUMINUS_NUM => 65,
:tPOW => 66,
:tCMP => 67,
:tEQ => 68,
:tEQQ => 69,
:tNEQ => 70,
:tGEQ => 71,
:tLEQ => 72,
:tANDOP => 73,
:tOROP => 74,
:tMATCH => 75,
:tNMATCH => 76,
:tDOT => 77,
:tDOT2 => 78,
:tDOT3 => 79,
:tAREF => 80,
:tASET => 81,
:tLSHFT => 82,
:tRSHFT => 83,
:tCOLON2 => 84,
:tCOLON3 => 85,
:tOP_ASGN => 86,
:tASSOC => 87,
:tLPAREN => 88,
:tLPAREN2 => 89,
:tRPAREN => 90,
:tLPAREN_ARG => 91,
:tLBRACK => 92,
:tLBRACK2 => 93,
:tRBRACK => 94,
:tLBRACE => 95,
:tLBRACE_ARG => 96,
:tSTAR => 97,
:tSTAR2 => 98,
:tAMPER => 99,
:tAMPER2 => 100,
:tTILDE => 101,
:tPERCENT => 102,
:tDIVIDE => 103,
:tDSTAR => 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,
:tREGEXP_OPT => 119,
:tWORDS_BEG => 120,
:tQWORDS_BEG => 121,
:tSYMBOLS_BEG => 122,
:tQSYMBOLS_BEG => 123,
:tSTRING_DBEG => 124,
:tSTRING_DVAR => 125,
:tSTRING_END => 126,
:tSTRING_DEND => 127,
:tSTRING => 128,
:tSYMBOL => 129,
:tNL => 130,
:tEH => 131,
:tCOLON => 132,
:tCOMMA => 133,
:tSPACE => 134,
:tSEMI => 135,
:tLAMBDA => 136,
:tLAMBEG => 137,
:tCHARACTER => 138,
:tRATIONAL => 139,
:tIMAGINARY => 140,
:tEQL => 141,
:tLOWEST => 142 }
racc_nt_base = 143
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",
"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",
"tDSTAR",
"tPLUS",
"tMINUS",
"tLT",
"tGT",
"tPIPE",
"tBANG",
"tCARET",
"tLCURLY",
"tRCURLY",
"tBACK_REF2",
"tSYMBEG",
"tSTRING_BEG",
"tXSTRING_BEG",
"tREGEXP_BEG",
"tREGEXP_OPT",
"tWORDS_BEG",
"tQWORDS_BEG",
"tSYMBOLS_BEG",
"tQSYMBOLS_BEG",
"tSTRING_DBEG",
"tSTRING_DVAR",
"tSTRING_END",
"tSTRING_DEND",
"tSTRING",
"tSYMBOL",
"tNL",
"tEH",
"tCOLON",
"tCOMMA",
"tSPACE",
"tSEMI",
"tLAMBDA",
"tLAMBEG",
"tCHARACTER",
"tRATIONAL",
"tIMAGINARY",
"tEQL",
"tLOWEST",
"$start",
"program",
"top_compstmt",
"top_stmts",
"opt_terms",
"top_stmt",
"terms",
"stmt",
"bodystmt",
"compstmt",
"opt_rescue",
"opt_else",
"opt_ensure",
"stmts",
"stmt_or_begin",
"fitem",
"undef_list",
"expr_value",
"command_asgn",
"mlhs",
"command_call",
"var_lhs",
"primary_value",
"opt_call_args",
"rbracket",
"backref",
"lhs",
"mrhs",
"mrhs_arg",
"expr",
"@1",
"opt_nl",
"arg",
"command",
"block_command",
"block_call",
"dot_or_colon",
"operation2",
"command_args",
"cmd_brace_block",
"opt_block_param",
"fcall",
"@2",
"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",
"@3",
"simple_numeric",
"primary",
"arg_value",
"aref_args",
"none",
"args",
"trailer",
"assocs",
"paren_args",
"opt_paren_args",
"opt_block_arg",
"block_arg",
"@4",
"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",
"@5",
"@6",
"@7",
"@8",
"@9",
"@10",
"@11",
"@12",
"@13",
"@14",
"@15",
"@16",
"@17",
"@18",
"@19",
"@20",
"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",
"@21",
"@22",
"f_args",
"do_block",
"@23",
"operation3",
"@24",
"@25",
"cases",
"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",
"@26",
"@27",
"args_tail",
"@28",
"f_kwarg",
"opt_args_tail",
"f_optarg",
"f_arg_item",
"f_label",
"f_kw",
"f_block_kw",
"kwrest_mark",
"f_opt",
"f_block_opt",
"restarg_mark",
"blkarg_mark",
"assoc" ]
Racc_debug_parser = false
##### State transition tables end #####
# reduce 0 omitted
# reduce 1 omitted
def _reduce_2(val, _values, result)
result = @builder.compstmt(val[0])
result
end
def _reduce_3(val, _values, result)
result = []
result
end
def _reduce_4(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_5(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_6(val, _values, result)
result = [ val[1] ]
result
end
# reduce 7 omitted
def _reduce_8(val, _values, result)
result = @builder.preexe(val[0], val[1], val[2], val[3])
result
end
def _reduce_9(val, _values, result)
rescue_bodies = val[1]
else_t, else_ = val[2]
ensure_t, ensure_ = val[3]
if rescue_bodies.empty? && !else_.nil?
diagnostic :warning, :useless_else, nil, else_t
end
result = @builder.begin_body(val[0],
rescue_bodies,
else_t, else_,
ensure_t, ensure_)
result
end
def _reduce_10(val, _values, result)
result = @builder.compstmt(val[0])
result
end
def _reduce_11(val, _values, result)
result = []
result
end
def _reduce_12(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_13(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_14(val, _values, result)
result = [ val[1] ]
result
end
# reduce 15 omitted
def _reduce_16(val, _values, result)
diagnostic :error, :begin_in_method, nil, val[0]
result
end
def _reduce_17(val, _values, result)
@lexer.state = :expr_fname
result
end
def _reduce_18(val, _values, result)
result = @builder.alias(val[0], val[1], val[3])
result
end
def _reduce_19(val, _values, result)
result = @builder.alias(val[0],
@builder.gvar(val[1]),
@builder.gvar(val[2]))
result
end
def _reduce_20(val, _values, result)
result = @builder.alias(val[0],
@builder.gvar(val[1]),
@builder.back_ref(val[2]))
result
end
def _reduce_21(val, _values, result)
diagnostic :error, :nth_ref_alias, nil, val[2]
result
end
def _reduce_22(val, _values, result)
result = @builder.undef_method(val[0], val[1])
result
end
def _reduce_23(val, _values, result)
result = @builder.condition_mod(val[0], nil,
val[1], val[2])
result
end
def _reduce_24(val, _values, result)
result = @builder.condition_mod(nil, val[0],
val[1], val[2])
result
end
def _reduce_25(val, _values, result)
result = @builder.loop_mod(:while, val[0], val[1], val[2])
result
end
def _reduce_26(val, _values, result)
result = @builder.loop_mod(:until, val[0], val[1], val[2])
result
end
def _reduce_27(val, _values, result)
rescue_body = @builder.rescue_body(val[1],
nil, nil, nil,
nil, val[2])
result = @builder.begin_body(val[0], [ rescue_body ])
result
end
def _reduce_28(val, _values, result)
result = @builder.postexe(val[0], val[1], val[2], val[3])
result
end
# reduce 29 omitted
def _reduce_30(val, _values, result)
result = @builder.multi_assign(val[0], val[1], val[2])
result
end
def _reduce_31(val, _values, result)
result = @builder.op_assign(val[0], val[1], val[2])
result
end
def _reduce_32(val, _values, result)
result = @builder.op_assign(
@builder.index(
val[0], val[1], val[2], val[3]),
val[4], val[5])
result
end
def _reduce_33(val, _values, result)
result = @builder.op_assign(
@builder.call_method(
val[0], val[1], val[2]),
val[3], val[4])
result
end
def _reduce_34(val, _values, result)
result = @builder.op_assign(
@builder.call_method(
val[0], val[1], val[2]),
val[3], val[4])
result
end
def _reduce_35(val, _values, result)
const = @builder.const_op_assignable(
@builder.const_fetch(val[0], val[1], val[2]))
result = @builder.op_assign(const, val[3], val[4])
result
end
def _reduce_36(val, _values, result)
result = @builder.op_assign(
@builder.call_method(
val[0], val[1], val[2]),
val[3], val[4])
result
end
def _reduce_37(val, _values, result)
@builder.op_assign(val[0], val[1], val[2])
result
end
def _reduce_38(val, _values, result)
result = @builder.assign(val[0], val[1],
@builder.array(nil, val[2], nil))
result
end
def _reduce_39(val, _values, result)
result = @builder.multi_assign(val[0], val[1], val[2])
result
end
# reduce 40 omitted
def _reduce_41(val, _values, result)
result = @builder.assign(val[0], val[1], val[2])
result
end
def _reduce_42(val, _values, result)
result = @builder.assign(val[0], val[1], val[2])
result
end
# reduce 43 omitted
def _reduce_44(val, _values, result)
result = @builder.logical_op(:and, val[0], val[1], val[2])
result
end
def _reduce_45(val, _values, result)
result = @builder.logical_op(:or, val[0], val[1], val[2])
result
end
def _reduce_46(val, _values, result)
result = @builder.not_op(val[0], nil, val[2], nil)
result
end
def _reduce_47(val, _values, result)
result = @builder.not_op(val[0], nil, val[1], nil)
result
end
# reduce 48 omitted
# reduce 49 omitted
# reduce 50 omitted
# reduce 51 omitted
# reduce 52 omitted
def _reduce_53(val, _values, result)
result = @builder.call_method(val[0], val[1], val[2],
nil, val[3], nil)
result
end
def _reduce_54(val, _values, result)
@static_env.extend_dynamic
result
end
def _reduce_55(val, _values, result)
result = [ val[0], val[2], val[3], val[4] ]
@static_env.unextend
result
end
# reduce 56 omitted
def _reduce_57(val, _values, result)
result = @builder.call_method(nil, nil, val[0],
nil, val[1], nil)
result
end
def _reduce_58(val, _values, result)
method_call = @builder.call_method(nil, nil, val[0],
nil, val[1], nil)
begin_t, args, body, end_t = val[2]
result = @builder.block(method_call,
begin_t, args, body, end_t)
result
end
def _reduce_59(val, _values, result)
result = @builder.call_method(val[0], val[1], val[2],
nil, val[3], nil)
result
end
def _reduce_60(val, _values, result)
method_call = @builder.call_method(val[0], val[1], val[2],
nil, val[3], nil)
begin_t, args, body, end_t = val[4]
result = @builder.block(method_call,
begin_t, args, body, end_t)
result
end
def _reduce_61(val, _values, result)
result = @builder.call_method(val[0], val[1], val[2],
nil, val[3], nil)
result
end
def _reduce_62(val, _values, result)
method_call = @builder.call_method(val[0], val[1], val[2],
nil, val[3], nil)
begin_t, args, body, end_t = val[4]
result = @builder.block(method_call,
begin_t, args, body, end_t)
result
end
def _reduce_63(val, _values, result)
result = @builder.keyword_cmd(:super, val[0],
nil, val[1], nil)
result
end
def _reduce_64(val, _values, result)
result = @builder.keyword_cmd(:yield, val[0],
nil, val[1], nil)
result
end
def _reduce_65(val, _values, result)
result = @builder.keyword_cmd(:return, val[0],
nil, val[1], nil)
result
end
def _reduce_66(val, _values, result)
result = @builder.keyword_cmd(:break, val[0],
nil, val[1], nil)
result
end
def _reduce_67(val, _values, result)
result = @builder.keyword_cmd(:next, val[0],
nil, val[1], nil)
result
end
def _reduce_68(val, _values, result)
result = @builder.multi_lhs(nil, val[0], nil)
result
end
def _reduce_69(val, _values, result)
result = @builder.begin(val[0], val[1], val[2])
result
end
def _reduce_70(val, _values, result)
result = @builder.multi_lhs(nil, val[0], nil)
result
end
def _reduce_71(val, _values, result)
result = @builder.multi_lhs(val[0], val[1], val[2])
result
end
# reduce 72 omitted
def _reduce_73(val, _values, result)
result = val[0].
push(val[1])
result
end
def _reduce_74(val, _values, result)
result = val[0].
push(@builder.splat(val[1], val[2]))
result
end
def _reduce_75(val, _values, result)
result = val[0].
push(@builder.splat(val[1], val[2])).
concat(val[4])
result
end
def _reduce_76(val, _values, result)
result = val[0].
push(@builder.splat(val[1]))
result
end
def _reduce_77(val, _values, result)
result = val[0].
push(@builder.splat(val[1])).
concat(val[3])
result
end
def _reduce_78(val, _values, result)
result = [ @builder.splat(val[0], val[1]) ]
result
end
def _reduce_79(val, _values, result)
result = [ @builder.splat(val[0], val[1]),
*val[3] ]
result
end
def _reduce_80(val, _values, result)
result = [ @builder.splat(val[0]) ]
result
end
def _reduce_81(val, _values, result)
result = [ @builder.splat(val[0]),
*val[2] ]
result
end
# reduce 82 omitted
def _reduce_83(val, _values, result)
result = @builder.begin(val[0], val[1], val[2])
result
end
def _reduce_84(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_85(val, _values, result)
result = val[0] << val[1]
result
end
def _reduce_86(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_87(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_88(val, _values, result)
result = @builder.assignable(val[0])
result
end
def _reduce_89(val, _values, result)
result = @builder.assignable(val[0])
result
end
def _reduce_90(val, _values, result)
result = @builder.index_asgn(val[0], val[1], val[2], val[3])
result
end
def _reduce_91(val, _values, result)
result = @builder.attr_asgn(val[0], val[1], val[2])
result
end
def _reduce_92(val, _values, result)
result = @builder.attr_asgn(val[0], val[1], val[2])
result
end
def _reduce_93(val, _values, result)
result = @builder.attr_asgn(val[0], val[1], val[2])
result
end
def _reduce_94(val, _values, result)
result = @builder.assignable(
@builder.const_fetch(val[0], val[1], val[2]))
result
end
def _reduce_95(val, _values, result)
result = @builder.assignable(
@builder.const_global(val[0], val[1]))
result
end
def _reduce_96(val, _values, result)
result = @builder.assignable(val[0])
result
end
def _reduce_97(val, _values, result)
result = @builder.assignable(val[0])
result
end
def _reduce_98(val, _values, result)
result = @builder.assignable(val[0])
result
end
def _reduce_99(val, _values, result)
result = @builder.index_asgn(val[0], val[1], val[2], val[3])
result
end
def _reduce_100(val, _values, result)
result = @builder.attr_asgn(val[0], val[1], val[2])
result
end
def _reduce_101(val, _values, result)
result = @builder.attr_asgn(val[0], val[1], val[2])
result
end
def _reduce_102(val, _values, result)
result = @builder.attr_asgn(val[0], val[1], val[2])
result
end
def _reduce_103(val, _values, result)
result = @builder.assignable(
@builder.const_fetch(val[0], val[1], val[2]))
result
end
def _reduce_104(val, _values, result)
result = @builder.assignable(
@builder.const_global(val[0], val[1]))
result
end
def _reduce_105(val, _values, result)
result = @builder.assignable(val[0])
result
end
def _reduce_106(val, _values, result)
diagnostic :error, :module_name_const, nil, val[0]
result
end
# reduce 107 omitted
def _reduce_108(val, _values, result)
result = @builder.const_global(val[0], val[1])
result
end
def _reduce_109(val, _values, result)
result = @builder.const(val[0])
result
end
def _reduce_110(val, _values, result)
result = @builder.const_fetch(val[0], val[1], val[2])
result
end
# reduce 111 omitted
# reduce 112 omitted
# reduce 113 omitted
# reduce 114 omitted
# reduce 115 omitted
def _reduce_116(val, _values, result)
result = @builder.symbol(val[0])
result
end
# reduce 117 omitted
# reduce 118 omitted
# reduce 119 omitted
def _reduce_120(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_121(val, _values, result)
@lexer.state = :expr_fname
result
end
def _reduce_122(val, _values, result)
result = val[0] << val[3]
result
end
# reduce 123 omitted
# reduce 124 omitted
# 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
def _reduce_194(val, _values, result)
result = @builder.assign(val[0], val[1], val[2])
result
end
def _reduce_195(val, _values, result)
rescue_body = @builder.rescue_body(val[3],
nil, nil, nil,
nil, val[4])
rescue_ = @builder.begin_body(val[2], [ rescue_body ])
result = @builder.assign(val[0], val[1], rescue_)
result
end
def _reduce_196(val, _values, result)
result = @builder.op_assign(val[0], val[1], val[2])
result
end
def _reduce_197(val, _values, result)
rescue_body = @builder.rescue_body(val[3],
nil, nil, nil,
nil, val[4])
rescue_ = @builder.begin_body(val[2], [ rescue_body ])
result = @builder.op_assign(val[0], val[1], rescue_)
result
end
def _reduce_198(val, _values, result)
result = @builder.op_assign(
@builder.index(
val[0], val[1], val[2], val[3]),
val[4], val[5])
result
end
def _reduce_199(val, _values, result)
result = @builder.op_assign(
@builder.call_method(
val[0], val[1], val[2]),
val[3], val[4])
result
end
def _reduce_200(val, _values, result)
result = @builder.op_assign(
@builder.call_method(
val[0], val[1], val[2]),
val[3], val[4])
result
end
def _reduce_201(val, _values, result)
result = @builder.op_assign(
@builder.call_method(
val[0], val[1], val[2]),
val[3], val[4])
result
end
def _reduce_202(val, _values, result)
const = @builder.const_op_assignable(
@builder.const_fetch(val[0], val[1], val[2]))
result = @builder.op_assign(const, val[3], val[4])
result
end
def _reduce_203(val, _values, result)
const = @builder.const_op_assignable(
@builder.const_global(val[0], val[1]))
result = @builder.op_assign(const, val[2], val[3])
result
end
def _reduce_204(val, _values, result)
result = @builder.op_assign(val[0], val[1], val[2])
result
end
def _reduce_205(val, _values, result)
result = @builder.range_inclusive(val[0], val[1], val[2])
result
end
def _reduce_206(val, _values, result)
result = @builder.range_exclusive(val[0], val[1], val[2])
result
end
def _reduce_207(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_208(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_209(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_210(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_211(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_212(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_213(val, _values, result)
result = @builder.unary_op(val[0],
@builder.binary_op(
val[1], val[2], val[3]))
result
end
def _reduce_214(val, _values, result)
result = @builder.unary_op(val[0], val[1])
result
end
def _reduce_215(val, _values, result)
result = @builder.unary_op(val[0], val[1])
result
end
def _reduce_216(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_217(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_218(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_219(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_220(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_221(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_222(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_223(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_224(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_225(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_226(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_227(val, _values, result)
result = @builder.match_op(val[0], val[1], val[2])
result
end
def _reduce_228(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_229(val, _values, result)
result = @builder.not_op(val[0], nil, val[1], nil)
result
end
def _reduce_230(val, _values, result)
result = @builder.unary_op(val[0], val[1])
result
end
def _reduce_231(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_232(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_233(val, _values, result)
result = @builder.logical_op(:and, val[0], val[1], val[2])
result
end
def _reduce_234(val, _values, result)
result = @builder.logical_op(:or, val[0], val[1], val[2])
result
end
def _reduce_235(val, _values, result)
result = @builder.keyword_cmd(:defined?, val[0], nil, [ val[2] ], nil)
result
end
def _reduce_236(val, _values, result)
result = @builder.ternary(val[0], val[1],
val[2], val[4], val[5])
result
end
# reduce 237 omitted
# reduce 238 omitted
# reduce 239 omitted
# reduce 240 omitted
def _reduce_241(val, _values, result)
result = val[0] << @builder.associate(nil, val[2], nil)
result
end
def _reduce_242(val, _values, result)
result = [ @builder.associate(nil, val[0], nil) ]
result
end
def _reduce_243(val, _values, result)
result = val
result
end
def _reduce_244(val, _values, result)
result = [ nil, [], nil ]
result
end
# reduce 245 omitted
def _reduce_246(val, _values, result)
result = []
result
end
# reduce 247 omitted
# reduce 248 omitted
def _reduce_249(val, _values, result)
result = val[0] << @builder.associate(nil, val[2], nil)
result
end
def _reduce_250(val, _values, result)
result = [ @builder.associate(nil, val[0], nil) ]
result
end
def _reduce_251(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_252(val, _values, result)
result = val[0].concat(val[1])
result
end
def _reduce_253(val, _values, result)
result = [ @builder.associate(nil, val[0], nil) ]
result.concat(val[1])
result
end
def _reduce_254(val, _values, result)
assocs = @builder.associate(nil, val[2], nil)
result = val[0] << assocs
result.concat(val[3])
result
end
def _reduce_255(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_256(val, _values, result)
result = @lexer.cmdarg.dup
@lexer.cmdarg.push(true)
result
end
def _reduce_257(val, _values, result)
@lexer.cmdarg = val[0]
result = val[1]
result
end
def _reduce_258(val, _values, result)
result = @builder.block_pass(val[0], val[1])
result
end
def _reduce_259(val, _values, result)
result = [ val[1] ]
result
end
def _reduce_260(val, _values, result)
result = []
result
end
def _reduce_261(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_262(val, _values, result)
result = [ @builder.splat(val[0], val[1]) ]
result
end
def _reduce_263(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_264(val, _values, result)
result = val[0] << @builder.splat(val[2], val[3])
result
end
def _reduce_265(val, _values, result)
result = @builder.array(nil, val[0], nil)
result
end
# reduce 266 omitted
def _reduce_267(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_268(val, _values, result)
result = val[0] << @builder.splat(val[2], val[3])
result
end
def _reduce_269(val, _values, result)
result = [ @builder.splat(val[0], val[1]) ]
result
end
# reduce 270 omitted
# reduce 271 omitted
# reduce 272 omitted
# reduce 273 omitted
# reduce 274 omitted
# reduce 275 omitted
# reduce 276 omitted
# reduce 277 omitted
# reduce 278 omitted
# reduce 279 omitted
def _reduce_280(val, _values, result)
result = @builder.call_method(nil, nil, val[0])
result
end
def _reduce_281(val, _values, result)
result = @lexer.cmdarg.dup
@lexer.cmdarg.clear
result
end
def _reduce_282(val, _values, result)
@lexer.cmdarg = val[1]
result = @builder.begin_keyword(val[0], val[2], val[3])
result
end
def _reduce_283(val, _values, result)
result = @lexer.cmdarg.dup
@lexer.cmdarg.clear
result
end
def _reduce_284(val, _values, result)
@lexer.state = :expr_endarg
result
end
def _reduce_285(val, _values, result)
@lexer.cmdarg = val[1]
result = @builder.begin(val[0], val[2], val[5])
result
end
def _reduce_286(val, _values, result)
@lexer.state = :expr_endarg
result
end
def _reduce_287(val, _values, result)
result = @builder.begin(val[0], nil, val[3])
result
end
def _reduce_288(val, _values, result)
result = @builder.begin(val[0], val[1], val[2])
result
end
def _reduce_289(val, _values, result)
result = @builder.const_fetch(val[0], val[1], val[2])
result
end
def _reduce_290(val, _values, result)
result = @builder.const_global(val[0], val[1])
result
end
def _reduce_291(val, _values, result)
result = @builder.array(val[0], val[1], val[2])
result
end
def _reduce_292(val, _values, result)
result = @builder.associate(val[0], val[1], val[2])
result
end
def _reduce_293(val, _values, result)
result = @builder.keyword_cmd(:return, val[0])
result
end
def _reduce_294(val, _values, result)
result = @builder.keyword_cmd(:yield, val[0], val[1], val[2], val[3])
result
end
def _reduce_295(val, _values, result)
result = @builder.keyword_cmd(:yield, val[0], val[1], [], val[2])
result
end
def _reduce_296(val, _values, result)
result = @builder.keyword_cmd(:yield, val[0])
result
end
def _reduce_297(val, _values, result)
result = @builder.keyword_cmd(:defined?, val[0],
val[2], [ val[3] ], val[4])
result
end
def _reduce_298(val, _values, result)
result = @builder.not_op(val[0], val[1], val[2], val[3])
result
end
def _reduce_299(val, _values, result)
result = @builder.not_op(val[0], val[1], nil, val[2])
result
end
def _reduce_300(val, _values, result)
method_call = @builder.call_method(nil, nil, val[0])
begin_t, args, body, end_t = val[1]
result = @builder.block(method_call,
begin_t, args, body, end_t)
result
end
# reduce 301 omitted
def _reduce_302(val, _values, result)
begin_t, args, body, end_t = val[1]
result = @builder.block(val[0],
begin_t, args, body, end_t)
result
end
def _reduce_303(val, _values, result)
lambda_call = @builder.call_lambda(val[0])
args, (begin_t, body, end_t) = val[1]
result = @builder.block(lambda_call,
begin_t, args, body, end_t)
result
end
def _reduce_304(val, _values, result)
else_t, else_ = val[4]
result = @builder.condition(val[0], val[1], val[2],
val[3], else_t,
else_, val[5])
result
end
def _reduce_305(val, _values, result)
else_t, else_ = val[4]
result = @builder.condition(val[0], val[1], val[2],
else_, else_t,
val[3], val[5])
result
end
def _reduce_306(val, _values, result)
@lexer.cond.push(true)
result
end
def _reduce_307(val, _values, result)
@lexer.cond.pop
result
end
def _reduce_308(val, _values, result)
result = @builder.loop(:while, val[0], val[2], val[3],
val[5], val[6])
result
end
def _reduce_309(val, _values, result)
@lexer.cond.push(true)
result
end
def _reduce_310(val, _values, result)
@lexer.cond.pop
result
end
def _reduce_311(val, _values, result)
result = @builder.loop(:until, val[0], val[2], val[3],
val[5], val[6])
result
end
def _reduce_312(val, _values, result)
*when_bodies, (else_t, else_body) = *val[3]
result = @builder.case(val[0], val[1],
when_bodies, else_t, else_body,
val[4])
result
end
def _reduce_313(val, _values, result)
*when_bodies, (else_t, else_body) = *val[2]
result = @builder.case(val[0], nil,
when_bodies, else_t, else_body,
val[3])
result
end
def _reduce_314(val, _values, result)
@lexer.cond.push(true)
result
end
def _reduce_315(val, _values, result)
@lexer.cond.pop
result
end
def _reduce_316(val, _values, result)
result = @builder.for(val[0], val[1],
val[2], val[4],
val[5], val[7], val[8])
result
end
def _reduce_317(val, _values, result)
@static_env.extend_static
@lexer.push_cmdarg
result
end
def _reduce_318(val, _values, result)
if in_def?
diagnostic :error, :class_in_def, nil, val[0]
end
lt_t, superclass = val[2]
result = @builder.def_class(val[0], val[1],
lt_t, superclass,
val[4], val[5])
@lexer.pop_cmdarg
@static_env.unextend
result
end
def _reduce_319(val, _values, result)
result = @def_level
@def_level = 0
@static_env.extend_static
@lexer.push_cmdarg
result
end
def _reduce_320(val, _values, result)
result = @builder.def_sclass(val[0], val[1], val[2],
val[5], val[6])
@lexer.pop_cmdarg
@static_env.unextend
@def_level = val[4]
result
end
def _reduce_321(val, _values, result)
@static_env.extend_static
@lexer.push_cmdarg
result
end
def _reduce_322(val, _values, result)
if in_def?
diagnostic :error, :module_in_def, nil, val[0]
end
result = @builder.def_module(val[0], val[1],
val[3], val[4])
@lexer.pop_cmdarg
@static_env.unextend
result
end
def _reduce_323(val, _values, result)
@def_level += 1
@static_env.extend_static
@lexer.push_cmdarg
result
end
def _reduce_324(val, _values, result)
result = @builder.def_method(val[0], val[1],
val[3], val[4], val[5])
@lexer.pop_cmdarg
@static_env.unextend
@def_level -= 1
result
end
def _reduce_325(val, _values, result)
@lexer.state = :expr_fname
result
end
def _reduce_326(val, _values, result)
@def_level += 1
@static_env.extend_static
@lexer.push_cmdarg
result
end
def _reduce_327(val, _values, result)
result = @builder.def_singleton(val[0], val[1], val[2],
val[4], val[6], val[7], val[8])
@lexer.pop_cmdarg
@static_env.unextend
@def_level -= 1
result
end
def _reduce_328(val, _values, result)
result = @builder.keyword_cmd(:break, val[0])
result
end
def _reduce_329(val, _values, result)
result = @builder.keyword_cmd(:next, val[0])
result
end
def _reduce_330(val, _values, result)
result = @builder.keyword_cmd(:redo, val[0])
result
end
def _reduce_331(val, _values, result)
result = @builder.keyword_cmd(:retry, val[0])
result
end
# reduce 332 omitted
# reduce 333 omitted
# reduce 334 omitted
def _reduce_335(val, _values, result)
result = val[1]
result
end
# reduce 336 omitted
# reduce 337 omitted
# reduce 338 omitted
def _reduce_339(val, _values, result)
else_t, else_ = val[4]
result = [ val[0],
@builder.condition(val[0], val[1], val[2],
val[3], else_t,
else_, nil),
]
result
end
# reduce 340 omitted
def _reduce_341(val, _values, result)
result = val
result
end
# reduce 342 omitted
# reduce 343 omitted
def _reduce_344(val, _values, result)
result = @builder.arg(val[0])
result
end
def _reduce_345(val, _values, result)
result = @builder.multi_lhs(val[0], val[1], val[2])
result
end
def _reduce_346(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_347(val, _values, result)
result = val[0] << val[2]
result
end
# reduce 348 omitted
def _reduce_349(val, _values, result)
result = val[0].
push(@builder.restarg(val[2], val[3]))
result
end
def _reduce_350(val, _values, result)
result = val[0].
push(@builder.restarg(val[2], val[3])).
concat(val[5])
result
end
def _reduce_351(val, _values, result)
result = val[0].
push(@builder.restarg(val[2]))
result
end
def _reduce_352(val, _values, result)
result = val[0].
push(@builder.restarg(val[2])).
concat(val[4])
result
end
def _reduce_353(val, _values, result)
result = [ @builder.restarg(val[0], val[1]) ]
result
end
def _reduce_354(val, _values, result)
result = [ @builder.restarg(val[0], val[1]),
*val[3] ]
result
end
def _reduce_355(val, _values, result)
result = [ @builder.restarg(val[0]) ]
result
end
def _reduce_356(val, _values, result)
result = [ @builder.restarg(val[0]),
*val[2] ]
result
end
def _reduce_357(val, _values, result)
result = val[0].concat(val[2]).concat(val[3])
result
end
def _reduce_358(val, _values, result)
result = val[0].concat(val[1])
result
end
def _reduce_359(val, _values, result)
result = val[0].concat(val[1])
result
end
def _reduce_360(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_361(val, _values, result)
result = val[1]
result
end
def _reduce_362(val, _values, result)
result = []
result
end
def _reduce_363(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
def _reduce_364(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[6]).
concat(val[7])
result
end
def _reduce_365(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
def _reduce_366(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
def _reduce_367(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
# reduce 368 omitted
def _reduce_369(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
def _reduce_370(val, _values, result)
if val[1].empty? && val[0].size == 1
result = [@builder.procarg0(val[0][0])]
else
result = val[0].concat(val[1])
end
result
end
def _reduce_371(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
def _reduce_372(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
def _reduce_373(val, _values, result)
result = val[0].
concat(val[1])
result
end
def _reduce_374(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
def _reduce_375(val, _values, result)
result = val[0].
concat(val[1])
result
end
def _reduce_376(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
# reduce 377 omitted
def _reduce_378(val, _values, result)
result = @builder.args(nil, [], nil)
result
end
def _reduce_379(val, _values, result)
@lexer.state = :expr_value
result
end
def _reduce_380(val, _values, result)
result = @builder.args(val[0], val[1], val[2])
result
end
def _reduce_381(val, _values, result)
result = @builder.args(val[0], [], val[0])
result
end
def _reduce_382(val, _values, result)
result = @builder.args(val[0], val[1].concat(val[2]), val[3])
result
end
def _reduce_383(val, _values, result)
result = []
result
end
def _reduce_384(val, _values, result)
result = val[2]
result
end
def _reduce_385(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_386(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_387(val, _values, result)
@static_env.declare val[0][0]
result = @builder.shadowarg(val[0])
result
end
# reduce 388 omitted
def _reduce_389(val, _values, result)
@static_env.extend_dynamic
result
end
def _reduce_390(val, _values, result)
result = @lexer.cmdarg.dup
@lexer.cmdarg.clear
result
end
def _reduce_391(val, _values, result)
@lexer.cmdarg = val[2]
@lexer.cmdarg.lexpop
result = [ val[1], val[3] ]
@static_env.unextend
result
end
def _reduce_392(val, _values, result)
result = @builder.args(val[0], val[1].concat(val[2]), val[3])
result
end
def _reduce_393(val, _values, result)
result = @builder.args(nil, val[0], nil)
result
end
def _reduce_394(val, _values, result)
result = [ val[0], val[1], val[2] ]
result
end
def _reduce_395(val, _values, result)
result = [ val[0], val[1], val[2] ]
result
end
def _reduce_396(val, _values, result)
@static_env.extend_dynamic
result
end
def _reduce_397(val, _values, result)
result = [ val[0], val[2], val[3], val[4] ]
@static_env.unextend
result
end
def _reduce_398(val, _values, result)
begin_t, block_args, body, end_t = val[1]
result = @builder.block(val[0],
begin_t, block_args, body, end_t)
result
end
def _reduce_399(val, _values, result)
lparen_t, args, rparen_t = val[3]
result = @builder.call_method(val[0], val[1], val[2],
lparen_t, args, rparen_t)
result
end
def _reduce_400(val, _values, result)
lparen_t, args, rparen_t = val[3]
method_call = @builder.call_method(val[0], val[1], val[2],
lparen_t, args, rparen_t)
begin_t, args, body, end_t = val[4]
result = @builder.block(method_call,
begin_t, args, body, end_t)
result
end
def _reduce_401(val, _values, result)
method_call = @builder.call_method(val[0], val[1], val[2],
nil, val[3], nil)
begin_t, args, body, end_t = val[4]
result = @builder.block(method_call,
begin_t, args, body, end_t)
result
end
def _reduce_402(val, _values, result)
lparen_t, args, rparen_t = val[1]
result = @builder.call_method(nil, nil, val[0],
lparen_t, args, rparen_t)
result
end
def _reduce_403(val, _values, result)
lparen_t, args, rparen_t = val[3]
result = @builder.call_method(val[0], val[1], val[2],
lparen_t, args, rparen_t)
result
end
def _reduce_404(val, _values, result)
lparen_t, args, rparen_t = val[3]
result = @builder.call_method(val[0], val[1], val[2],
lparen_t, args, rparen_t)
result
end
def _reduce_405(val, _values, result)
result = @builder.call_method(val[0], val[1], val[2])
result
end
def _reduce_406(val, _values, result)
lparen_t, args, rparen_t = val[2]
result = @builder.call_method(val[0], val[1], nil,
lparen_t, args, rparen_t)
result
end
def _reduce_407(val, _values, result)
lparen_t, args, rparen_t = val[2]
result = @builder.call_method(val[0], val[1], nil,
lparen_t, args, rparen_t)
result
end
def _reduce_408(val, _values, result)
lparen_t, args, rparen_t = val[1]
result = @builder.keyword_cmd(:super, val[0],
lparen_t, args, rparen_t)
result
end
def _reduce_409(val, _values, result)
result = @builder.keyword_cmd(:zsuper, val[0])
result
end
def _reduce_410(val, _values, result)
result = @builder.index(val[0], val[1], val[2], val[3])
result
end
def _reduce_411(val, _values, result)
@static_env.extend_dynamic
result
end
def _reduce_412(val, _values, result)
result = [ val[0], val[2], val[3], val[4] ]
@static_env.unextend
result
end
def _reduce_413(val, _values, result)
@static_env.extend_dynamic
result
end
def _reduce_414(val, _values, result)
result = [ val[0], val[2], val[3], val[4] ]
@static_env.unextend
result
end
def _reduce_415(val, _values, result)
result = [ @builder.when(val[0], val[1], val[2], val[3]),
*val[4] ]
result
end
def _reduce_416(val, _values, result)
result = [ val[0] ]
result
end
# reduce 417 omitted
def _reduce_418(val, _values, result)
assoc_t, exc_var = val[2]
if val[1]
exc_list = @builder.array(nil, val[1], nil)
end
result = [ @builder.rescue_body(val[0],
exc_list, assoc_t, exc_var,
val[3], val[4]),
*val[5] ]
result
end
def _reduce_419(val, _values, result)
result = []
result
end
def _reduce_420(val, _values, result)
result = [ val[0] ]
result
end
# reduce 421 omitted
# reduce 422 omitted
def _reduce_423(val, _values, result)
result = [ val[0], val[1] ]
result
end
# reduce 424 omitted
def _reduce_425(val, _values, result)
result = [ val[0], val[1] ]
result
end
# reduce 426 omitted
# reduce 427 omitted
# reduce 428 omitted
# reduce 429 omitted
def _reduce_430(val, _values, result)
result = @builder.string_compose(nil, val[0], nil)
result
end
def _reduce_431(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_432(val, _values, result)
result = val[0] << val[1]
result
end
def _reduce_433(val, _values, result)
result = @builder.string_compose(val[0], val[1], val[2])
result
end
def _reduce_434(val, _values, result)
result = @builder.string(val[0])
result
end
def _reduce_435(val, _values, result)
result = @builder.character(val[0])
result
end
def _reduce_436(val, _values, result)
result = @builder.xstring_compose(val[0], val[1], val[2])
result
end
def _reduce_437(val, _values, result)
opts = @builder.regexp_options(val[3])
result = @builder.regexp_compose(val[0], val[1], val[2], opts)
result
end
def _reduce_438(val, _values, result)
result = @builder.words_compose(val[0], val[1], val[2])
result
end
def _reduce_439(val, _values, result)
result = []
result
end
def _reduce_440(val, _values, result)
result = val[0] << @builder.word(val[1])
result
end
def _reduce_441(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_442(val, _values, result)
result = val[0] << val[1]
result
end
def _reduce_443(val, _values, result)
result = @builder.symbols_compose(val[0], val[1], val[2])
result
end
def _reduce_444(val, _values, result)
result = []
result
end
def _reduce_445(val, _values, result)
result = val[0] << @builder.word(val[1])
result
end
def _reduce_446(val, _values, result)
result = @builder.words_compose(val[0], val[1], val[2])
result
end
def _reduce_447(val, _values, result)
result = @builder.symbols_compose(val[0], val[1], val[2])
result
end
def _reduce_448(val, _values, result)
result = []
result
end
def _reduce_449(val, _values, result)
result = val[0] << @builder.string_internal(val[1])
result
end
def _reduce_450(val, _values, result)
result = []
result
end
def _reduce_451(val, _values, result)
result = val[0] << @builder.symbol_internal(val[1])
result
end
def _reduce_452(val, _values, result)
result = []
result
end
def _reduce_453(val, _values, result)
result = val[0] << val[1]
result
end
def _reduce_454(val, _values, result)
result = []
result
end
def _reduce_455(val, _values, result)
result = val[0] << val[1]
result
end
def _reduce_456(val, _values, result)
result = []
result
end
def _reduce_457(val, _values, result)
result = val[0] << val[1]
result
end
def _reduce_458(val, _values, result)
result = @builder.string_internal(val[0])
result
end
def _reduce_459(val, _values, result)
result = val[1]
result
end
def _reduce_460(val, _values, result)
@lexer.cond.push(false)
@lexer.cmdarg.push(false)
result
end
def _reduce_461(val, _values, result)
@lexer.cond.lexpop
@lexer.cmdarg.lexpop
result = @builder.begin(val[0], val[2], val[3])
result
end
def _reduce_462(val, _values, result)
result = @builder.gvar(val[0])
result
end
def _reduce_463(val, _values, result)
result = @builder.ivar(val[0])
result
end
def _reduce_464(val, _values, result)
result = @builder.cvar(val[0])
result
end
# reduce 465 omitted
def _reduce_466(val, _values, result)
result = @builder.symbol(val[0])
result
end
def _reduce_467(val, _values, result)
result = @builder.symbol_compose(val[0], val[1], val[2])
result
end
def _reduce_468(val, _values, result)
result = val[0]
result
end
def _reduce_469(val, _values, result)
result = @builder.negate(val[0], val[1])
result
end
def _reduce_470(val, _values, result)
result = @builder.integer(val[0])
result
end
def _reduce_471(val, _values, result)
result = @builder.float(val[0])
result
end
def _reduce_472(val, _values, result)
result = @builder.rational(val[0])
result
end
def _reduce_473(val, _values, result)
result = @builder.complex(val[0])
result
end
def _reduce_474(val, _values, result)
result = @builder.ident(val[0])
result
end
def _reduce_475(val, _values, result)
result = @builder.ivar(val[0])
result
end
def _reduce_476(val, _values, result)
result = @builder.gvar(val[0])
result
end
def _reduce_477(val, _values, result)
result = @builder.const(val[0])
result
end
def _reduce_478(val, _values, result)
result = @builder.cvar(val[0])
result
end
def _reduce_479(val, _values, result)
result = @builder.nil(val[0])
result
end
def _reduce_480(val, _values, result)
result = @builder.self(val[0])
result
end
def _reduce_481(val, _values, result)
result = @builder.true(val[0])
result
end
def _reduce_482(val, _values, result)
result = @builder.false(val[0])
result
end
def _reduce_483(val, _values, result)
result = @builder.__FILE__(val[0])
result
end
def _reduce_484(val, _values, result)
result = @builder.__LINE__(val[0])
result
end
def _reduce_485(val, _values, result)
result = @builder.__ENCODING__(val[0])
result
end
def _reduce_486(val, _values, result)
result = @builder.accessible(val[0])
result
end
def _reduce_487(val, _values, result)
result = @builder.accessible(val[0])
result
end
def _reduce_488(val, _values, result)
result = @builder.assignable(val[0])
result
end
def _reduce_489(val, _values, result)
result = @builder.assignable(val[0])
result
end
def _reduce_490(val, _values, result)
result = @builder.nth_ref(val[0])
result
end
def _reduce_491(val, _values, result)
result = @builder.back_ref(val[0])
result
end
def _reduce_492(val, _values, result)
result = nil
result
end
def _reduce_493(val, _values, result)
@lexer.state = :expr_value
result
end
def _reduce_494(val, _values, result)
result = [ val[0], val[2] ]
result
end
def _reduce_495(val, _values, result)
yyerrok
result = nil
result
end
def _reduce_496(val, _values, result)
result = @builder.args(val[0], val[1], val[2])
@lexer.state = :expr_value
result
end
def _reduce_497(val, _values, result)
result = @lexer.in_kwarg
@lexer.in_kwarg = true
result
end
def _reduce_498(val, _values, result)
@lexer.in_kwarg = val[0]
result = @builder.args(nil, val[1], nil)
result
end
def _reduce_499(val, _values, result)
result = val[0].concat(val[2]).concat(val[3])
result
end
def _reduce_500(val, _values, result)
result = val[0].concat(val[1])
result
end
def _reduce_501(val, _values, result)
result = val[0].concat(val[1])
result
end
def _reduce_502(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_503(val, _values, result)
result = val[1]
result
end
def _reduce_504(val, _values, result)
result = []
result
end
def _reduce_505(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
def _reduce_506(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[6]).
concat(val[7])
result
end
def _reduce_507(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
def _reduce_508(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
def _reduce_509(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
def _reduce_510(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
def _reduce_511(val, _values, result)
result = val[0].
concat(val[1])
result
end
def _reduce_512(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
def _reduce_513(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
def _reduce_514(val, _values, result)
result = val[0].
concat(val[1])
result
end
def _reduce_515(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
def _reduce_516(val, _values, result)
result = val[0].
concat(val[1])
result
end
def _reduce_517(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
def _reduce_518(val, _values, result)
result = val[0]
result
end
def _reduce_519(val, _values, result)
result = []
result
end
def _reduce_520(val, _values, result)
diagnostic :error, :argument_const, nil, val[0]
result
end
def _reduce_521(val, _values, result)
diagnostic :error, :argument_ivar, nil, val[0]
result
end
def _reduce_522(val, _values, result)
diagnostic :error, :argument_gvar, nil, val[0]
result
end
def _reduce_523(val, _values, result)
diagnostic :error, :argument_cvar, nil, val[0]
result
end
# reduce 524 omitted
def _reduce_525(val, _values, result)
@static_env.declare val[0][0]
result = val[0]
result
end
def _reduce_526(val, _values, result)
result = @builder.arg(val[0])
result
end
def _reduce_527(val, _values, result)
result = @builder.multi_lhs(val[0], val[1], val[2])
result
end
def _reduce_528(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_529(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_530(val, _values, result)
check_kwarg_name(val[0])
@static_env.declare val[0][0]
result = val[0]
result
end
def _reduce_531(val, _values, result)
result = @builder.kwoptarg(val[0], val[1])
result
end
def _reduce_532(val, _values, result)
result = @builder.kwarg(val[0])
result
end
def _reduce_533(val, _values, result)
result = @builder.kwoptarg(val[0], val[1])
result
end
def _reduce_534(val, _values, result)
result = @builder.kwarg(val[0])
result
end
def _reduce_535(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_536(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_537(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_538(val, _values, result)
result = val[0] << val[2]
result
end
# reduce 539 omitted
# reduce 540 omitted
def _reduce_541(val, _values, result)
@static_env.declare val[1][0]
result = [ @builder.kwrestarg(val[0], val[1]) ]
result
end
def _reduce_542(val, _values, result)
result = [ @builder.kwrestarg(val[0]) ]
result
end
def _reduce_543(val, _values, result)
result = @builder.optarg(val[0], val[1], val[2])
result
end
def _reduce_544(val, _values, result)
result = @builder.optarg(val[0], val[1], val[2])
result
end
def _reduce_545(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_546(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_547(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_548(val, _values, result)
result = val[0] << val[2]
result
end
# reduce 549 omitted
# reduce 550 omitted
def _reduce_551(val, _values, result)
@static_env.declare val[1][0]
result = [ @builder.restarg(val[0], val[1]) ]
result
end
def _reduce_552(val, _values, result)
result = [ @builder.restarg(val[0]) ]
result
end
# reduce 553 omitted
# reduce 554 omitted
def _reduce_555(val, _values, result)
@static_env.declare val[1][0]
result = @builder.blockarg(val[0], val[1])
result
end
def _reduce_556(val, _values, result)
result = [ val[1] ]
result
end
def _reduce_557(val, _values, result)
result = []
result
end
# reduce 558 omitted
def _reduce_559(val, _values, result)
result = val[1]
result
end
def _reduce_560(val, _values, result)
result = []
result
end
# reduce 561 omitted
def _reduce_562(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_563(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_564(val, _values, result)
result = @builder.pair(val[0], val[1], val[2])
result
end
def _reduce_565(val, _values, result)
result = @builder.pair_keyword(val[0], val[1])
result
end
def _reduce_566(val, _values, result)
result = @builder.kwsplat(val[0], val[1])
result
end
# reduce 567 omitted
# reduce 568 omitted
# reduce 569 omitted
# reduce 570 omitted
# reduce 571 omitted
# reduce 572 omitted
# reduce 573 omitted
# reduce 574 omitted
# reduce 575 omitted
# reduce 576 omitted
# reduce 577 omitted
# reduce 578 omitted
# reduce 579 omitted
# reduce 580 omitted
# reduce 581 omitted
# reduce 582 omitted
def _reduce_583(val, _values, result)
result = val[1]
result
end
def _reduce_584(val, _values, result)
result = val[1]
result
end
# reduce 585 omitted
# reduce 586 omitted
# reduce 587 omitted
def _reduce_588(val, _values, result)
yyerrok
result
end
# reduce 589 omitted
# reduce 590 omitted
# reduce 591 omitted
def _reduce_592(val, _values, result)
result = nil
result
end
def _reduce_none(val, _values, result)
val[0]
end
end # class Ruby21
end # module Parser