File Manager
Viewing File: ruby20.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 Ruby20 < Parser::Base
def version
20
end
def default_encoding
Encoding::UTF_8
end
##### State transition tables begin ###
clist = [
'-471,5,69,70,71,9,57,-471,-471,-471,63,64,-471,-471,-471,67,-471,65',
'66,68,30,31,72,73,-471,265,-471,-471,-471,29,28,27,98,97,99,100,-471',
'-471,19,-471,-471,-471,-471,-471,8,45,7,10,102,101,103,92,56,94,93,95',
'-98,96,104,105,584,90,91,42,43,41,-471,-471,-471,-471,-471,-471,-471',
'-471,-471,-471,-471,-471,-471,-471,265,-99,-471,-471,-471,40,-471,-471',
'33,-106,-471,58,59,-471,-471,60,-471,35,-471,265,-471,44,-471,-471,265',
'-471,-471,-471,-471,-471,20,-471,264,-471,214,89,79,82,83,605,84,86',
'85,87,684,106,-105,-471,80,88,-471,-471,-471,-471,-474,-471,62,-471',
'81,-471,-101,-474,-474,-474,260,563,-474,-474,-474,607,-474,118,563',
'-103,110,215,563,-286,-474,109,-474,-474,-474,-100,642,-89,583,264,260',
'-485,-474,-474,563,-474,-474,-474,-474,-474,563,-101,-103,-100,-102',
'-102,713,604,264,110,257,110,-90,264,109,-486,109,258,203,-286,-97,641',
'-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474',
'204,606,-474,-474,-474,-471,-474,-474,-98,-92,-474,440,-471,-474,-474',
'511,-474,713,-474,683,-474,-96,-474,-474,768,-474,-474,-474,-474,-474',
'-289,-474,-99,-474,-563,-92,713,-289,-289,-289,211,212,769,-289,-289',
'-563,-289,-474,-94,110,-474,-474,-474,-474,109,-474,110,-474,-91,-474',
'110,109,-104,837,-106,109,-289,-289,-105,-289,-289,-289,-289,-289,110',
'-92,110,-101,-93,109,-94,109,110,-101,-103,-100,-102,109,-101,-103,-100',
'-102,205,211,212,-103,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289',
'-289,-289,-289,-289,211,212,-289,-289,-289,-92,625,210,-92,209,-289',
'110,855,-289,-92,-84,109,-564,-289,642,-289,-70,-289,-289,215,-289,-289',
'-289,-289,-289,110,-289,-567,-289,254,109,-94,211,212,-567,-567,-567',
'-485,642,-486,-567,-567,-289,-567,524,-289,-289,523,-95,641,-289,-97',
'-567,642,-104,-560,-95,-106,-474,524,-100,312,526,-567,-567,-474,-567',
'-567,-567,-567,-567,-94,110,641,-94,511,803,109,569,702,-94,542,541',
'540,-89,543,-90,592,641,215,-98,-561,-99,-567,-567,-567,-567,-567,-567',
'-567,-567,-567,-567,-567,-567,-567,-567,-471,207,-567,-567,-567,592',
'626,-471,208,313,-567,215,-560,-567,-567,-96,-471,206,-567,215,-567',
'-105,-567,-567,383,-567,-567,-567,-567,-567,592,-567,-567,-567,620,-560',
'-474,110,524,211,212,526,109,-474,594,593,590,-567,-561,-567,-567,-567',
'-474,-93,828,-567,-567,-567,-567,-102,-481,-567,-567,-567,575,-567,-567',
'-481,576,594,593,-561,396,-567,-567,-567,-567,-567,-563,745,524,-92',
'-567,526,439,-567,-567,-101,-567,-567,-567,-567,-567,441,594,593,702',
'621,542,541,540,-567,543,592,747,-480,-482,-567,592,110,314,315,-480',
'-482,109,-567,-567,-567,-567,-567,-567,-567,-567,-567,-567,-567,-567',
'-567,-567,506,507,-567,-567,-567,-479,770,-567,592,442,-567,754,-479',
'-567,-567,-94,-567,-409,-567,110,-567,-103,-567,-567,109,-567,-567,-567',
'-567,-567,-567,-567,-567,-567,592,211,212,-567,594,593,595,592,-563',
'594,593,597,-567,-567,214,948,-567,-567,-567,-567,-289,-567,473,-567',
'-91,-102,482,-289,-289,-289,-100,-567,-289,-289,-289,-409,-289,-332',
'594,593,599,484,-409,-476,-332,-477,-289,-289,-289,393,-476,-409,-477',
'-332,395,394,-289,-289,486,-289,-289,-289,-289,-289,594,593,603,436',
'493,-483,-409,594,593,608,437,702,-483,542,541,540,-69,543,215,438,496',
'-483,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289',
'-289,235,549,-289,-289,-289,497,771,-289,-478,504,-289,551,698,-289',
'-289,-478,-289,269,-289,215,-289,701,-289,-289,785,-289,-289,-289,-289',
'-289,260,-289,232,-289,551,257,234,233,110,230,231,508,258,109,559,558',
'512,-289,513,552,-289,-289,-289,-289,235,-289,215,-289,527,-104,286',
'69,70,71,9,57,528,559,558,63,64,486,552,79,67,569,65,66,68,30,31,72',
'73,215,385,80,971,573,29,28,27,98,97,99,100,81,574,19,211,212,559,558',
'630,8,45,288,10,102,101,103,92,56,94,93,95,609,96,104,105,612,90,91',
'42,43,41,235,239,244,245,246,241,243,251,252,247,248,-484,228,229,502',
'-263,249,250,-484,40,614,503,290,832,803,58,59,-484,215,60,501,35,232',
'618,238,44,234,233,619,230,231,242,240,236,20,237,832,803,260,89,79',
'82,83,-279,84,86,85,87,629,235,-279,514,80,88,632,253,-280,-240,515',
'-279,62,235,81,-280,-280,-280,235,438,-280,-280,-280,702,-280,542,541',
'540,235,543,235,215,215,232,-280,-280,-280,234,233,571,230,231,215,-84',
'-280,-280,572,-280,-280,-280,-280,-280,660,215,517,570,671,235,677,702',
'698,542,541,540,678,543,739,740,680,701,741,104,105,686,-280,-280,-280',
'-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,235,232,-280',
'-280,-280,234,233,-280,698,689,-280,690,692,-280,-280,694,-280,899,-280',
'696,-280,705,-280,-280,706,-280,-280,-280,-280,-280,707,-280,232,-280',
'709,569,234,233,579,716,929,744,542,541,540,578,543,-280,748,-290,-280',
'-280,-280,-280,580,-280,-290,-280,5,69,70,71,9,57,749,-290,-290,63,64',
'-264,755,473,67,-290,65,66,68,30,31,72,73,473,-290,215,773,254,29,28',
'27,98,97,99,100,484,929,19,542,541,540,486,543,8,45,7,10,102,101,103',
'92,56,94,93,95,796,96,104,105,671,90,91,42,43,41,235,239,244,245,246',
'241,243,251,252,247,248,-289,-586,-586,579,215,249,250,-289,40,260,932',
'33,-564,260,58,59,-289,671,60,580,35,232,235,238,44,234,233,235,230',
'231,242,240,236,20,237,803,215,215,89,79,82,83,826,84,86,85,87,215,803',
'836,215,80,88,286,69,70,71,9,57,62,215,81,63,64,845,-265,854,67,857',
'65,66,68,30,31,72,73,113,114,115,116,117,29,28,27,98,97,99,100,689,860',
'19,113,114,115,116,117,8,45,288,10,102,101,103,92,56,94,93,95,862,96',
'104,105,864,90,91,42,43,41,235,239,244,245,246,241,243,251,252,247,248',
'-289,-586,-586,579,866,249,250,-289,40,215,932,33,-564,868,58,59,-289',
'869,60,580,35,232,872,238,44,234,233,874,230,231,242,240,236,20,237',
'875,671,877,89,79,82,83,-263,84,86,85,87,881,883,884,885,80,88,286,69',
'70,71,9,57,62,886,81,63,64,689,888,890,67,892,65,66,68,30,31,72,73,113',
'114,115,116,117,29,28,27,98,97,99,100,894,702,19,542,541,540,894,543',
'8,45,288,10,102,101,103,92,56,94,93,95,215,96,104,105,900,90,91,42,43',
'41,235,-586,-586,-586,-586,241,243,-483,698,-586,-586,-484,902,904,-483',
'910,249,250,-484,40,913,215,33,-483,916,58,59,-484,-266,60,926,35,232',
'933,238,44,234,233,934,230,231,242,240,236,20,237,950,952,953,89,79',
'82,83,958,84,86,85,87,689,961,963,965,80,88,286,69,70,71,9,57,62,967',
'81,63,64,967,978,979,67,894,65,66,68,30,31,72,73,894,894,984,950,-564',
'29,28,27,98,97,99,100,-563,702,19,542,541,540,677,543,8,45,288,10,102',
'101,103,92,56,94,93,95,950,96,104,105,1003,90,91,42,43,41,235,702,1004',
'542,541,540,1005,543,698,702,967,542,541,540,976,543,249,250,967,40',
'967,977,290,215,894,58,59,950,967,60,975,35,232,,238,44,234,233,698',
'230,231,,,236,20,237,698,,,89,79,82,83,,84,86,85,87,,,,,80,88,286,69',
'70,71,9,57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,98',
'97,99,100,,702,19,542,541,540,,543,8,45,288,10,102,101,103,92,56,94',
'93,95,,96,104,105,-279,90,91,42,43,41,235,-279,-290,,,,,,698,-290,-279',
',,,,,249,250,-290,40,,,290,,,58,59,,,60,,35,232,,238,44,234,233,,230',
'231,,,236,20,237,,,,89,79,82,83,,84,86,85,87,,,,,80,88,286,69,70,71',
'9,57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,98,97,99',
'100,,,19,,,,,615,8,45,288,10,102,101,103,92,56,94,93,95,,96,104,105',
',90,91,42,43,41,235,239,244,245,246,241,243,251,252,247,248,-289,228',
'229,,,249,250,-289,40,,,33,-564,,58,59,-289,,60,,35,232,,238,44,234',
'233,,230,231,242,240,236,20,237,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',253,-568,,,,62,,81,-568,-568,-568,,,-568,-568,-568,235,-568,,,,,,,',
',-568,-568,-568,-568,,,249,250,,,,-568,-568,,-568,-568,-568,-568,-568',
',,,232,,238,,234,233,,230,231,,,236,,237,,,,,,-568,-568,-568,-568,-568',
'-568,-568,-568,-568,-568,-568,-568,-568,-568,,,-568,-568,-568,,,-568',
',,-568,,,-568,-568,,-568,,-568,,-568,,-568,-568,,-568,-568,-568,-568',
'-568,,-568,-568,-568,,,,,,,,,,,,,,-568,,,-568,-568,-568,-568,-569,-568',
',-568,,,,-569,-569,-569,,,-569,-569,-569,235,-569,,,,,,,,,-569,-569',
'-569,-569,,,249,250,,,,-569,-569,,-569,-569,-569,-569,-569,,,,232,,238',
',234,233,,230,231,,,236,,237,,,,,,-569,-569,-569,-569,-569,-569,-569',
'-569,-569,-569,-569,-569,-569,-569,,,-569,-569,-569,,,-569,,,-569,,',
'-569,-569,,-569,,-569,,-569,,-569,-569,,-569,-569,-569,-569,-569,,-569',
'-569,-569,,,,,,,,,,,,,,-569,,,-569,-569,-569,-569,,-569,,-569,5,69,70',
'71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,98,97,99',
'100,,,19,,,,,,8,45,7,10,102,101,103,92,56,94,93,95,,96,104,105,,90,91',
'42,43,41,235,-586,-586,-586,-586,241,243,,,-586,-586,,,,,,249,250,,40',
',,33,,,58,59,,,60,,35,232,,238,44,234,233,,230,231,242,240,236,20,237',
',,,89,79,82,83,,84,86,85,87,,,,,80,88,286,69,70,71,9,57,62,,81,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,98,97,99,100,,,19,,,,,,8,45',
'288,10,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,235,-586',
'-586,-586,-586,241,243,,,-586,-586,,,,,,249,250,,40,,,33,,,58,59,,,60',
',35,232,,238,44,234,233,,230,231,242,240,236,20,237,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,286,69,70,71,9,57,62,,81,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,98,97,99,100,,,19,,,,,,8,45,288,10,102,101',
'103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,235,-586,-586,-586,-586',
'241,243,,,-586,-586,,,,,,249,250,,40,,,33,,,58,59,,,60,,35,232,,238',
'44,234,233,,230,231,242,240,236,20,237,,,,89,79,82,83,,84,86,85,87,',
',,,80,88,286,69,70,71,9,57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,98,97,99,100,,,19,,,,,,8,45,288,10,102,101,103,92,56,94',
'93,95,,96,104,105,,90,91,42,43,41,235,-586,-586,-586,-586,241,243,,',
'-586,-586,,,,,,249,250,,40,,,33,,,58,59,,,60,,35,232,,238,44,234,233',
',230,231,242,240,236,20,237,,,,89,79,82,83,,84,86,85,87,,,,,80,88,286',
'69,70,71,9,57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'98,97,99,100,,,19,,,,,,8,45,288,10,102,101,103,92,56,94,93,95,,96,104',
'105,,90,91,42,43,41,235,-586,-586,-586,-586,241,243,,,-586,-586,,,,',
',249,250,,40,,,33,,,58,59,,,60,,35,232,,238,44,234,233,,230,231,242',
'240,236,20,237,,,,89,79,82,83,,84,86,85,87,,,,,80,88,286,69,70,71,9',
'57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,98,97,99,100',
',,19,,,,,,8,45,288,10,102,101,103,92,56,94,93,95,,96,104,105,,90,91',
'42,43,41,235,239,244,245,246,241,243,,,247,248,,,,,,249,250,,40,,,33',
',,58,59,,,60,,35,232,,238,44,234,233,,230,231,242,240,236,20,237,,,',
'89,79,82,83,,84,86,85,87,,,,,80,88,286,69,70,71,9,57,62,,81,63,64,,',
',67,,65,66,68,30,31,72,73,,,,,,29,28,27,98,97,99,100,,,19,,,,,,8,45',
'288,10,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,235,239',
'244,245,246,241,243,251,,247,248,,,,,,249,250,,40,,,33,,,58,59,,,60',
',35,232,,238,44,234,233,,230,231,242,240,236,20,237,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,286,69,70,71,9,57,62,,81,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,98,97,99,100,,,19,,,,,,8,45,288,10,102,101',
'103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,235,,,,,,,,,,,,,,,,249',
'250,,40,,,33,,,58,59,,,60,,35,232,,238,44,234,233,,230,231,,,,20,,,',
',89,79,82,83,,84,86,85,87,,,,,80,88,286,69,70,71,9,57,62,,81,63,64,',
',,67,,65,66,68,30,31,72,73,,,,,,29,28,27,98,97,99,100,,,19,,,,,,8,45',
'288,10,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,235,,',
',,,,,,,,,,,,,249,250,,40,,,33,,,58,59,,,60,,35,232,,238,44,234,233,',
'230,231,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,286,69,70,71,9',
'57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,98,97,99,100',
',,19,,,,,,8,45,288,10,102,101,103,92,56,94,93,95,,96,104,105,,90,91',
'42,43,41,235,,,,,,,,,,,,,,,,249,250,,40,,,33,,,58,59,,,60,,35,232,,',
'44,234,233,,230,231,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,286',
'69,70,71,9,57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'98,97,99,100,,,19,,,,,,8,45,288,10,102,101,103,92,56,94,93,95,,96,104',
'105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44',
',,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,286,69,70,71,9,57',
'62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,98,97,99,100',
',,19,,,,,,8,45,288,10,102,101,103,92,56,94,93,95,,96,104,105,,90,91',
'42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,286,69,70,71,9,57,62,,81,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,98,97,99,100,,,19,,,,,,8,45',
'288,10,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,',
',,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,286,69,70,71,9,57,62,,81,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,,29,28,27,98,97,99,100,,,19,,,,,,8,45,288,10,102',
'101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,',
',,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,286,69,70,71,9,57,62,,81,63,64,,,,67,,65,66,68,30,31,72',
'73,,,,,,29,28,27,98,97,99,100,,,19,,,,,,8,45,288,10,102,101,103,92,56',
'94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58',
'59,,,60,,35,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
'286,69,70,71,9,57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
'27,98,97,99,100,,,19,,,,,,8,45,288,10,102,101,103,92,56,94,93,95,,96',
'104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35',
',,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,286,69,70,71',
'9,57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,98,97,99',
'100,,,19,,,,,,8,45,288,10,102,101,103,92,56,94,93,95,,96,104,105,,90',
'91,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,',
',,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,286,69,70,71,9,57,62,,81',
'63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,98,97,99,100,,,19,,',
',,,8,45,288,10,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41',
',,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,286,69,70,71,9,57,62,,81,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,98,97,99,100,,,19,,,,,,8,45,288',
'10,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,',
',,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,286,69,70,71,9,57,62,,81,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,98,97,99,100,,,19,,,,,,8,45,288,10,102,101',
'103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,40',
',,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,286,69,70,71,9,57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,98,97,99,100,,,19,,,,,,8,45,288,10,102,101,103,92,56,94',
'93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59',
',,60,,35,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,286',
'69,70,71,9,57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'98,97,99,100,,,19,,,,,,8,45,288,10,102,101,103,92,56,94,93,95,,96,104',
'105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44',
',,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,286,69,70,71,9,57',
'62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,98,97,99,100',
',,19,,,,,,8,45,288,10,102,101,103,92,56,94,93,95,,96,104,105,,90,91',
'42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,9,57,62,,81,63,64,',
',,67,,65,66,68,30,31,72,73,,,,,,29,28,27,98,97,99,100,,,19,,,,,,8,45',
'7,10,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,',
',,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,89,79,82,83',
',84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,30',
'31,72,73,,,,,,29,28,27,98,97,99,100,,,227,,,,,,,45,,,102,101,103,92',
'56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226',
',,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
'27,98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56,94,93,95,280,96,104',
'105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,278,',
'276,,44,,,281,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70',
'71,,57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,98,97',
'99,100,,,227,,,,,,,45,,,102,101,103,92,56,94,93,95,280,96,104,105,,90',
'91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,278,,276,,44',
',,281,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57',
'62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,98,97,99,100',
',,227,,,,,,,45,,,102,101,103,92,56,94,93,95,280,96,104,105,,90,91,42',
'43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,278,,276,,44,,,281',
',,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81',
'63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,',
'227,,,,,,,303,,,102,101,103,92,56,94,93,95,,96,104,105,,90,91,,,309',
',,,,,,,,,,,,,,,,,,,299,,,295,,,58,59,,,60,,294,,,,,,,,,,,,,,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66',
'68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,,630,,303,,',
'102,101,103,92,56,94,93,95,,96,104,105,,90,91,,,309,235,239,244,245',
'246,241,243,251,252,247,248,,228,229,,,249,250,,299,,,226,,,58,59,,',
'60,,,232,,238,,234,233,,230,231,242,240,236,,237,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,253,,311,,,62,,81,69,70,71,,57,,,,63,64,,,,67,,65',
'66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,45,,,102',
'101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,',
',,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,305,306,72',
'73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56',
'94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,',
'58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302',
'308,98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56,94,93,95,,96,104',
'105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44',
',,,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62',
',81,63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100',
',,227,,,,,,,45,,,102,101,103,92,56,94,93,95,280,96,104,105,,90,91,42',
'43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,278,,,,44,,,281,,,',
',,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63',
'64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,,227',
',,,,,,45,,,102,101,103,92,56,94,93,95,280,96,104,105,,90,91,42,43,41',
',,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,281,,,,,,225,,,',
',89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,98,97,99,100,,,19,,,,,,,45,,,102',
'101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,',
',,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,98,97,99,100,,,19,,,,,,,45,,,102,101,103,92,56,94,93,95',
',96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60',
',,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71',
',57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,98,97,99',
'100,,,19,,,,,,,45,,,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42',
'43,41,235,239,244,245,246,241,243,251,252,247,248,,228,229,,,249,250',
',220,,,226,,,58,59,,,60,,,232,,238,44,234,233,,230,231,242,240,236,20',
'237,,,,89,79,82,83,,84,86,85,87,,,,,80,88,110,253,,,,109,62,,81,69,70',
'71,,57,,,,63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302,308,98,97',
'99,100,,,227,,,,,,,303,,,102,101,103,92,56,94,93,95,,96,104,105,,90',
'91,,,309,,,,,,,,,,,,,,,,,,,,345,,,33,,,58,59,,,60,,35,,,,,,,,,,,,,,',
',,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,',
'67,,65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,,',
',303,,,102,101,103,350,56,94,93,351,,96,104,105,,90,91,,,309,,,,,,,',
',,,,,,,,,357,,,352,,,226,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83',
',84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,305',
'306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,303,,,102,101,103',
'350,56,94,93,351,,96,104,105,,90,91,,,309,,,,,,,,,,,,,,,,,,,,352,,,226',
',,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
'69,70,71,9,57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'98,97,99,100,,,19,,,,,,8,45,7,10,102,101,103,92,56,94,93,95,,96,104',
'105,,90,91,42,43,41,235,239,244,245,246,241,243,251,252,247,248,,228',
'229,,,249,250,,40,,,33,,,58,59,,,60,,35,232,,238,44,234,233,,230,231',
'242,240,236,20,237,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,253,,,,385',
'62,,81,69,70,71,,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
'27,98,97,99,100,,,19,,,,,,,45,,,102,101,103,92,56,94,93,95,,96,104,105',
',90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,',
',,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81',
'63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,98,97,99,100,,,19,,',
',,,,45,,,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,',
',,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,98,97,99,100,,,19,,,,,,,45,,,102,101,103,92',
'56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226',
',,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
'27,98,97,99,100,,,19,,,,,,,45,,,102,101,103,92,56,94,93,95,,96,104,105',
',90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,',
',,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,9,57,62,,81',
'63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,98,97,99,100,,,19,,',
',,,8,45,,10,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,',
',,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,,29,28,27,98,97,99,100,,,227,,,,,,,45,,,102,101,103',
'92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,',
'226,,,58,59,,,60,,401,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,',
',,29,28,27,98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56,94,93,95',
',96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60',
',,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71',
',57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,98,97,99',
'100,,,227,,,,,,,45,,,102,101,103,92,56,94,93,95,280,96,104,105,,90,91',
'42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,278,,276,,44,,,281',
',,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81',
'63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,98,97,99,100,,,227,',
',,,,,45,,,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,',
',,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,,29,28,27,98,97,99,100,,,227,,,,,,,45,,,102,101,103',
'92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,',
'226,,,58,59,,,60,,401,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,',
',,29,28,27,98,97,99,100,,,19,,,,,,,45,,,102,101,103,92,56,94,93,95,',
'96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60',
',,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71',
',57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,98,97,99',
'100,,,19,,,,,,,45,,,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42',
'43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,20,',
',,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,',
'67,,65,66,68,30,31,72,73,,,,,,29,28,27,98,97,99,100,,,19,,,,,,,45,,',
'102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,',
',,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,98,97,99,100,,,19,,,,,,,45,,,102,101,103,92,56,94',
'93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58',
'59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,215',
'69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302',
'308,98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56,94,93,95,,96,104',
'105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44',
',,,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62',
',81,63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100',
',,227,,,,,,,45,,,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43',
'41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,',
',89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67',
',65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,45',
',,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,',
',,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,305',
'306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,45,,,102,101,103',
'92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,',
'226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,',
',,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,305,306,72,73,,,',
',,301,302,308,98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56,94,93',
'95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59',
',,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69',
'70,71,,57,62,,81,63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302,308',
'98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56,94,93,95,,96,104,105',
',90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,',
',,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81',
'63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,',
'227,,,,,,,45,,,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41',
',,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65',
'66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,45,,,102',
'101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,',
',,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,305,306,72',
'73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56',
'94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,',
'58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302',
'308,98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56,94,93,95,,96,104',
'105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44',
',,,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62',
',81,63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100',
',,227,,,,,,,45,,,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43',
'41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,',
',89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67',
',65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,45',
',,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,',
',,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,305',
'306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,45,,,102,101,103',
'92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,',
'226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,',
',,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,305,306,72,73,,,',
',,301,302,308,98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56,94,93',
'95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59',
',,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69',
'70,71,,57,62,,81,63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302,308',
'98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56,94,93,95,,96,104,105',
',90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,',
',,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81',
'63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,',
'227,,,,,,,45,,,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41',
',,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65',
'66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,45,,,102',
'101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,',
',,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,305,306,72',
'73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56',
'94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,',
'58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302',
'308,98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56,94,93,95,,96,104',
'105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44',
',,,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62',
',81,63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100',
',,227,,,,,,,45,,,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43',
'41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,',
',89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67',
',65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,45',
',,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,',
',,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,305',
'306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,45,,,102,101,103',
'92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,',
'226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,',
',,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,305,306,72,73,,,',
',,301,302,308,98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56,94,93',
'95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59',
',,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69',
'70,71,,57,62,,81,63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302,308',
'98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56,94,93,95,,96,104,105',
',90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,',
',,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81',
'63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,',
'227,,,,,,,45,,,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41',
',,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65',
'66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,45,,,102',
'101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,',
',,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,305,306,72',
'73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56',
'94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,',
'58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56,94,93,95,280,96,104',
'105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,278,',
'276,,44,,,281,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70',
'71,,57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,98,97',
'99,100,,,227,,,,,,,45,,,102,101,103,92,56,94,93,95,280,96,104,105,,90',
'91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,278,,276,,44',
',,281,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57',
'62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,98,97,99,100',
',,227,,,,,,,45,,,102,101,103,92,56,94,93,95,280,96,104,105,,90,91,42',
'43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,278,,276,,44,,,281',
',,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,215,69,70,71,,57,62',
',81,63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100',
',,227,,,,,,,45,,,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43',
'41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,',
',89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67',
',65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,45',
',,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,',
',,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,305',
'306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,45,,,102,101,103',
'92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,',
'226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,',
',,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,305,306,72,73,,,',
',,301,302,308,98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56,94,93',
'95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59',
',,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69',
'70,71,9,57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,98',
'97,99,100,,,19,,,,,,8,45,,10,102,101,103,92,56,94,93,95,,96,104,105',
',90,91,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,',
',,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81',
'63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,',
'227,,,,,,,303,,,102,101,103,92,56,94,93,95,,96,104,105,,90,91,,,309',
'235,239,244,245,246,241,243,251,252,247,248,,228,229,,,249,250,,299',
',,226,,,58,59,,,60,,,232,,238,,234,233,,230,231,242,240,236,,237,,,',
'89,79,82,83,,84,86,85,87,,,,,80,88,,253,,499,,,62,,81,69,70,71,,57,',
',,63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100',
',,227,,,,,,,303,,,102,101,103,92,56,94,93,95,,96,104,105,,90,91,,,309',
',,,,,,,,,,,,,,,,,,,299,,,295,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68',
'305,306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,45,,,102,101',
'103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220',
',,226,517,,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,98,97,99,100,,,19,,,,,,,45,,,102,101,103,92,56,94,93,95',
',96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60',
',,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71',
',57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,98,97,99',
'100,,,19,,,,,,,45,,,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42',
'43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,20,',
',,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,',
'67,,65,66,68,30,31,72,73,,,,,,29,28,27,98,97,99,100,,,19,,,,,,,45,,',
'102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,',
',,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,98,97,99,100,,,19,,,,,,,45,,,102,101,103,92,56,94',
'93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58',
'59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69',
'70,71,,57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,98',
'97,99,100,,,19,,,,,,,45,,,102,101,103,92,56,94,93,95,,96,104,105,,90',
'91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,,,,',
',,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63',
'64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,,227',
',,,,,,45,,,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,,',
',,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,,29,28,27,98,97,99,100,,,227,,,,,,,45,,,102,101,103',
'92,56,94,93,95,280,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220',
',,226,,,58,59,,,60,,278,,276,,44,,,281,,,,,,225,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,305,306',
'72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,45,,,102,101,103,92',
'56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226',
',,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301',
'302,308,98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56,94,93,95,,96',
'104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,',
',,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,',
'57,62,,81,63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302,308,98,97',
'99,100,,,227,,,,,,,45,,,102,101,103,92,56,94,93,95,,96,104,105,,90,91',
'42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,225',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,',
',67,,65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,',
',,45,,,102,101,103,92,56,94,93,95,280,96,104,105,,90,91,42,43,41,,,',
',,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,654,,276,,44,,,281,,,,,,225',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,',
',67,,65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,',
',,45,,,102,101,103,92,56,94,93,95,280,96,104,105,,90,91,42,43,41,,,',
',,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,276,,44,,,281,,,,,,225,,,',
',89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67',
',65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,45',
',,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,',
',,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,69,70,71,9,57,62,,81,63,64,,,,67,,65,66,68,30',
'31,72,73,,,,,,29,28,27,98,97,99,100,,,19,,,,,,8,45,288,10,102,101,103',
'92,56,94,93,95,,96,104,105,,90,91,42,43,41,235,239,244,245,246,241,243',
'251,252,247,248,,228,229,,,249,250,,40,,,33,,,58,59,,,60,,35,232,,238',
'44,234,233,,230,231,242,240,236,20,237,,,,89,79,82,83,,84,86,85,87,',
',,,80,88,215,253,,,,385,62,,81,69,70,71,,57,,,,63,64,,,,67,,65,66,68',
'305,306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,303,,,102,101',
'103,92,56,94,93,95,,96,104,105,,90,91,,,309,,,,,,,,,,,,,,,,,,,,299,',
',295,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
'27,98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56,94,93,95,280,96,104',
'105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,278,',
'276,,44,,,281,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70',
'71,,57,62,,81,63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302,308,98',
'97,99,100,,,227,,,,,,,303,,,102,101,103,92,56,94,93,95,,96,104,105,',
'90,91,,,309,,,,,,,,,,,,,,,,,,,,299,,,295,,,58,59,,,60,,,,,,,,,,,,,,',
',,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,',
',,67,,65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,',
',,,45,,,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,',
',,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68',
'305,306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,45,,,102,101',
'103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220',
',,226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,305,306,72,73,',
',,,,301,302,308,98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56,94,93',
'95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59',
',,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69',
'70,71,,57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,98',
'97,99,100,,,19,,,,,,,45,,,102,101,103,92,56,94,93,95,,96,104,105,,90',
'91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,,,,',
',,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63',
'64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,,227',
',,,,,,45,,,102,101,103,92,56,94,93,95,280,96,104,105,,90,91,42,43,41',
',,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,654,,,,44,,,281,,,,,,225',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,',
',67,,65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,',
',,45,,,102,101,103,92,56,94,93,95,280,96,104,105,,90,91,42,43,41,,,',
',,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,281,,,,,,225,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65',
'66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,45,,,102',
'101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,',
',,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,305,306,72',
'73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56',
'94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,',
'58,59,,,60,,278,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
'27,98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56,94,93,95,280,96,104',
'105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,278,',
'276,,44,,,281,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70',
'71,,57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,98,97',
'99,100,,,227,,,,,,,45,,,102,101,103,92,56,94,93,95,280,96,104,105,,90',
'91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,278,,276,,44',
',,281,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57',
'62,,81,63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99',
'100,,,227,,,,,,,45,,,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42',
'43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,752,,,,44,,,,,,,,,225',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,',
',67,,65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,',
',,45,,,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,',
',,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68',
'305,306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,45,,,102,101',
'103,92,56,94,93,95,280,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,',
',220,,,226,,,58,59,,,60,,654,,276,,44,,,281,,,,,,225,,,,,89,79,82,83',
',84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,305',
'306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,45,,,102,101,103',
'92,56,94,93,95,280,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220',
',,226,,,58,59,,,60,,,,276,,44,,,281,,,,,,225,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,30,31,72',
'73,,,,,,29,28,27,98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56,94',
'93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58',
'59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
'69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56,94,93,95,,96,104,105',
',90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,',
',,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81',
'63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,98,97,99,100,,,227,',
',,,,,45,,,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,',
',,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,,29,28,27,98,97,99,100,,,227,,,,,,,45,,,102,101,103',
'92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,',
'226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,',
',,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,',
'29,28,27,98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56,94,93,95,,96',
'104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,',
',,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,',
'57,62,,81,63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302,308,98,97',
'99,100,,,227,,,,,,,45,,,102,101,103,92,56,94,93,95,,96,104,105,,90,91',
'42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,225',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,',
',67,,65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,',
',,45,,,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,',
',,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68',
'305,306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,303,,,102,101',
'103,92,56,94,93,95,,96,104,105,,90,91,,,309,,,,,,,,,,,,,,,,,,,,299,',
',295,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301',
'302,308,98,97,99,100,,,227,,,,,,,303,,,102,101,103,92,56,94,93,95,,96',
'104,105,,90,91,,,309,,,,,,,,,,,,,,,,,,,,299,,,295,,,58,59,,,60,,,,,',
',,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81',
'63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,',
'227,,,,,,,45,,,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41',
',,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,401,,,,44,,,,,,,,,225,,,',
',89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67',
',65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,45',
',,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,',
',,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,30',
'31,72,73,,,,,,29,28,27,98,97,99,100,,,19,,,,,,,45,,,102,101,103,92,56',
'94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,',
'58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'98,97,99,100,,,19,,,,,,,45,,,102,101,103,92,56,94,93,95,,96,104,105',
',90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,',
',,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81',
'63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,',
'227,,,,,,,45,,,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41',
',,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,98,97,99,100,,,227,,,,,,,45,,,102,101',
'103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220',
',,226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,305,306,72,73,',
',,,,301,302,308,98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56,94,93',
'95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59',
',,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69',
'70,71,,57,62,,81,63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302,308',
'98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56,94,93,95,,96,104,105',
',90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,',
',,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81',
'63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,',
'227,,,,,,,45,,,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41',
',,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65',
'66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,45,,,102',
'101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,',
',,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,305,306,72',
'73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56',
'94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,',
'58,59,,,60,,,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302',
'308,98,97,99,100,,,227,,,,,,,303,,,102,101,103,92,56,94,93,95,,96,104',
'105,,90,91,,,309,,,,,,,,,,,,,,,,,,,,871,,,226,,,58,59,,,60,,,,,,,,,',
',,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,98,97,99,100,,,19,,,,,',
',45,,,102,101,103,92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,',
',,,,,,,,,,,,220,,,226,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83',
',84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,305',
'306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,45,,,102,101,103',
'92,56,94,93,95,,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,',
'226,,,58,59,,,60,,654,,,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,305,306,72,73,',
',,,,301,302,308,98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56,94,93',
'95,280,96,104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58',
'59,,,60,,,,276,,44,,,281,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301',
'302,308,98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56,94,93,95,,96',
'104,105,,90,91,42,43,41,,,,,,,,,,,,,,,,,,,,220,,,226,,,58,59,,,60,,',
',,,44,,,,,,,,,225,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,',
'57,62,,81,63,64,,,,67,,65,66,68,305,306,72,73,,,,,,301,302,308,98,97',
'99,100,,,227,,,,,,,303,,,102,101,103,92,56,94,93,95,,96,104,105,,90',
'91,,,309,,,,,,,,,,,,,,,,,,,,871,,,226,,,58,59,,,60,,,,,,,,,,,,,,,,,',
',,89,79,82,83,,84,86,85,87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67',
',65,66,68,305,306,72,73,,,,,,301,302,308,98,97,99,100,,,227,,,,,,,303',
',,102,101,103,92,56,94,93,95,,96,104,105,,90,91,,,309,,,,,,,,,,,,,,',
',,,,,940,,,226,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,69,70,71,,57,62,,81,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,98,97,99,100,,,227,,,,,,,45,,,102,101,103,92,56,94,93',
'95,280,96,104,105,,90,91,42,43,41,235,239,244,245,246,241,243,251,252',
'247,248,,228,229,,,249,250,,220,,,226,,,58,59,,,60,,278,232,276,238',
'44,234,233,281,230,231,242,240,236,225,237,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,253,-408,,,,62,,81,-408,-408,-408,,,-408,-408,-408,,-408',
',,,,,,,,-408,-408,-408,,,,,,,,,-408,-408,,-408,-408,-408,-408,-408,',
',,,,,,,,,,,,,,,,,,,,,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408',
'-408,-408,-408,-408,,,-408,-408,-408,,,-408,,260,-408,,,-408,-408,,-408',
',-408,,-408,,-408,-408,,-408,-408,-408,-408,-408,-296,-408,-408,-408',
',,,-296,-296,-296,,,-296,-296,-296,,-296,-408,,,-408,-408,,-408,,-408',
'-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,,269,-296,,,-296,-296,,-296,,-296',
',-296,,-296,-296,,-296,-296,-296,-296,-296,,-296,-246,-296,,,,,,-246',
'-246,-246,,,-246,-246,-246,-296,-246,,-296,-296,,-296,,-296,,-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,,260,-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,784,-246',
'542,541,540,785,543,,,,-246,-246,,,,551,,,,,,-246,-246,,-246,-246,-246',
'-246,-246,,,,,,,,,547,,545,,542,541,540,549,543,556,555,559,558,,,,552',
'551,,,,,,,,-246,,,,,,,-246,,,,,260,-246,547,531,,215,,,,,,556,555,559',
'558,,,,552,,,,,-246,-246,,,,,,,,,,,,,,-246,,,-246,,,,,-246,170,181,171',
'194,167,187,177,176,197,198,192,175,174,169,195,199,200,179,168,182',
'186,188,180,173,,,,189,196,191,190,183,193,178,166,185,184,,,,,,165',
'172,163,164,160,161,162,121,123,120,,122,,,,,,,,154,155,,151,133,134',
'135,142,139,141,,,136,137,,,,156,157,143,144,,,,,,,,,,,,,,148,147,,132',
'153,150,149,158,145,146,140,138,130,152,131,,,159,89,,,,,,,,,,,,,,88',
'170,181,171,194,167,187,177,176,197,198,192,175,174,169,195,199,200',
'179,168,182,186,188,180,173,,,,189,196,191,190,183,193,178,166,185,184',
',,,,,165,172,163,164,160,161,162,121,123,,,122,,,,,,,,154,155,,151,133',
'134,135,142,139,141,,,136,137,,,,156,157,143,144,,,,,,,,,,,,,,148,147',
',132,153,150,149,158,145,146,140,138,130,152,131,,,159,89,,,,,,,,,,',
',,,88,170,181,171,194,167,187,177,176,197,198,192,175,174,169,195,199',
'200,179,168,182,186,188,180,173,,,,189,196,191,190,183,193,178,166,185',
'184,,,,,,165,172,163,164,160,161,162,121,123,,,122,,,,,,,,154,155,,151',
'133,134,135,142,139,141,,,136,137,,,,156,157,143,144,,,,,,,,,,,,,,148',
'147,,132,153,150,149,158,145,146,140,138,130,152,131,,,159,89,,,,,,',
',,,,,,,88,170,181,171,194,167,187,177,176,197,198,192,175,174,169,195',
'199,200,179,168,182,186,188,180,173,,,,189,196,191,190,183,193,178,166',
'185,184,,,,,,165,172,163,164,160,161,162,121,123,,,122,,,,,,,,154,155',
',151,133,134,135,142,139,141,,,136,137,,,,156,157,143,144,,,,,,,,,,',
',,,148,147,,132,153,150,149,158,145,146,140,138,130,152,131,,,159,89',
',,,,,,,,,,,,,88,170,181,171,194,167,187,177,176,197,198,192,175,174',
'169,195,199,200,179,168,182,186,188,180,173,,,,189,196,191,368,367,369',
'366,166,185,184,,,,,,165,172,163,164,363,364,365,361,123,94,93,362,',
'96,,,,,,154,155,,151,133,134,135,142,139,141,,,136,137,,,,156,157,143',
'144,,,,,,373,,,,,,,,148,147,,132,153,150,149,158,145,146,140,138,130',
'152,131,,,159,170,181,171,194,167,187,177,176,197,198,192,175,174,169',
'195,199,200,179,168,182,186,188,180,173,,,,189,196,191,190,183,193,178',
'166,185,184,,,,,,165,172,163,164,160,161,162,121,123,,,122,,,,,,,,154',
'155,,151,133,134,135,142,139,141,,,136,137,,,,156,157,143,144,,,,,,',
',,,,,,,148,147,,132,153,150,149,158,145,146,140,138,130,152,131,,,159',
'235,239,244,245,246,241,243,251,252,247,248,,228,229,,,249,250,,,545',
',542,541,540,549,543,,,,,,232,,238,551,234,233,,230,231,242,240,236',
',237,235,239,244,245,246,241,243,251,252,247,248,547,228,229,,,249,250',
',253,556,555,559,558,,,,552,,,,,232,,238,,234,233,,230,231,242,240,236',
',237,235,239,244,245,246,241,243,251,252,247,248,,228,229,,,249,250',
',253,,,,545,,542,541,540,549,543,,,232,,238,,234,233,551,230,231,242',
'240,236,,237,235,239,244,245,246,241,243,251,252,247,248,,228,229,547',
'734,249,250,,253,,,,556,555,559,558,,,,552,,232,,238,,234,233,,230,231',
'242,240,236,,237,235,239,244,245,246,241,243,251,252,247,248,,228,229',
',,249,250,,253,545,,542,541,540,549,543,,,,,,232,,238,551,234,233,,230',
'231,242,240,236,,237,235,239,244,245,246,241,243,251,252,247,248,547',
'228,229,,,249,250,,253,556,555,559,558,,,,552,,,,,232,,238,,234,233',
',230,231,242,240,236,,237,235,239,244,245,246,241,243,251,252,247,248',
',228,229,,,249,250,,253,545,,542,541,540,549,543,,,,,,232,,238,551,234',
'233,,230,231,242,240,236,,237,235,239,244,245,246,241,243,251,252,247',
'248,547,228,229,,,249,250,,253,556,555,559,558,,,,552,,,,,232,,238,',
'234,233,,230,231,242,240,236,,237,235,239,244,245,246,241,243,251,252',
'247,248,,228,229,,,249,250,,253,,,,,,,,,,,,,232,,238,,234,233,,230,231',
'242,240,236,,237,,,,,,409,413,,,410,,,,,,,,154,155,253,151,133,134,135',
'142,139,141,,,136,137,,,,156,157,143,144,,,,,,260,,,,,,,,148,147,,132',
'153,150,149,158,145,146,140,138,130,152,131,416,420,159,,415,,,,,,,',
'154,155,,151,133,134,135,142,139,141,,,136,137,,,,156,157,143,144,,',
',,,260,,,,,,,,148,147,,132,153,150,149,158,145,146,140,138,130,152,131',
'471,413,159,,472,,,,,,,,154,155,,151,133,134,135,142,139,141,,,136,137',
',,,156,157,143,144,,,,,,,,,,,,,,148,147,,132,153,150,149,158,145,146',
'140,138,130,152,131,633,413,159,,634,,,,,,,,154,155,,151,133,134,135',
'142,139,141,,,136,137,,,,156,157,143,144,,,,,,260,,,,,,,,148,147,,132',
'153,150,149,158,145,146,140,138,130,152,131,635,420,159,,636,,,,,,,',
'154,155,,151,133,134,135,142,139,141,,,136,137,,,,156,157,143,144,,',
',,,260,,,,,,,,148,147,,132,153,150,149,158,145,146,140,138,130,152,131',
'664,413,159,,665,,,,,,,,154,155,,151,133,134,135,142,139,141,,,136,137',
',,,156,157,143,144,,,,,,260,,,,,,,,148,147,,132,153,150,149,158,145',
'146,140,138,130,152,131,667,420,159,,668,,,,,,,,154,155,,151,133,134',
'135,142,139,141,,,136,137,,,,156,157,143,144,,,,,,260,,,,,,,,148,147',
',132,153,150,149,158,145,146,140,138,130,152,131,633,413,159,,634,,',
',,,,,154,155,,151,133,134,135,142,139,141,,,136,137,,,,156,157,143,144',
',,,,,260,,,,,,,,148,147,,132,153,150,149,158,145,146,140,138,130,152',
'131,635,420,159,,636,,,,,,,,154,155,,151,133,134,135,142,139,141,,,136',
'137,,,,156,157,143,144,,,,,,260,,,,,,,,148,147,,132,153,150,149,158',
'145,146,140,138,130,152,131,719,413,159,,720,,,,,,,,154,155,,151,133',
'134,135,142,139,141,,,136,137,,,,156,157,143,144,,,,,,260,,,,,,,,148',
'147,,132,153,150,149,158,145,146,140,138,130,152,131,721,420,159,,722',
',,,,,,,154,155,,151,133,134,135,142,139,141,,,136,137,,,,156,157,143',
'144,,,,,,260,,,,,,,,148,147,,132,153,150,149,158,145,146,140,138,130',
'152,131,724,420,159,,725,,,,,,,,154,155,,151,133,134,135,142,139,141',
',,136,137,,,,156,157,143,144,,,,,,260,,,,,,,,148,147,,132,153,150,149',
'158,145,146,140,138,130,152,131,471,413,159,,472,,,,,,,,154,155,,151',
'133,134,135,142,139,141,,,136,137,,,,156,157,143,144,,,,,,260,,,,,,',
',148,147,,132,153,150,149,158,145,146,140,138,130,152,131,973,420,159',
',972,,,,,,,,154,155,,151,133,134,135,142,139,141,,,136,137,,,,156,157',
'143,144,,,,,,260,,,,,,,,148,147,,132,153,150,149,158,145,146,140,138',
'130,152,131,996,413,159,,997,,,,,,,,154,155,,151,133,134,135,142,139',
'141,,,136,137,,,,156,157,143,144,,,,,,260,,,,,,,,148,147,,132,153,150',
'149,158,145,146,140,138,130,152,131,998,420,159,,999,,,,,,,,154,155',
',151,133,134,135,142,139,141,,,136,137,,,,156,157,143,144,,,,,,260,',
',,,,,,148,147,,132,153,150,149,158,145,146,140,138,130,152,131,,702',
'159,542,541,540,549,543,,545,,542,541,540,549,543,551,,,,,,,,551,,784',
',542,541,540,785,543,,,,,,547,,,551,,,,,547,,,559,558,,,,552,556,555',
'559,558,,,,552,547,,784,,542,541,540,785,543,556,555,559,558,,,,552',
'551,,702,,542,541,540,785,543,,545,,542,541,540,549,543,551,,,,,547',
',,551,,,,,,556,555,559,558,,,,552,547,,,,,,,,547,,,559,558,,,,552,556',
'555,559,558,,,702,552,542,541,540,549,543,702,,542,541,540,549,543,702',
'551,542,541,540,549,543,,551,,,,,,545,551,542,541,540,549,543,,,547',
',,,,,551,547,,,,559,558,,547,,552,,559,558,,,,552,,559,558,,547,734',
'552,,,,,,,556,555,559,558,,,784,552,542,541,540,785,543,702,,542,541',
'540,785,543,702,551,542,541,540,785,543,702,551,542,541,540,785,543',
'702,551,542,541,540,549,543,,551,547,,,,,,551,547,,556,555,559,558,',
'547,,552,,559,558,,547,,552,,559,558,,547,,552,,559,558,,,,552,,559',
'558,,,702,552,542,541,540,785,543,,,,,,,,,551,,,,,,,,,,,,,,,,,,,,,,547',
',,,,,,,,,,559,558,,,,552' ]
racc_action_table = arr = ::Array.new(24831, 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 = [
'92,0,0,0,0,0,0,92,92,92,0,0,92,92,92,0,92,0,0,0,0,0,0,0,92,61,92,92',
'92,0,0,0,0,0,0,0,92,92,0,92,92,92,92,92,0,0,0,0,0,0,0,0,0,0,0,0,342',
'0,0,0,356,0,0,0,0,0,92,92,92,92,92,92,92,92,92,92,92,92,92,92,26,343',
'92,92,92,0,92,92,0,346,92,0,0,92,92,0,92,0,92,645,92,0,92,92,304,92',
'92,92,92,92,0,92,61,92,19,0,0,0,0,380,0,0,0,0,530,1,573,92,0,0,92,92',
'92,92,95,92,0,92,0,92,719,95,95,95,26,335,95,95,95,381,95,7,336,720',
'3,19,717,58,95,3,95,95,95,839,469,342,356,26,304,218,95,95,880,95,95',
'95,95,95,903,996,997,1010,998,721,565,380,645,284,24,356,343,304,284',
'219,356,24,10,58,346,469,95,95,95,95,95,95,95,95,95,95,95,95,95,95,12',
'381,95,95,95,361,95,95,218,664,95,221,361,95,95,439,95,566,95,530,95',
'573,95,95,633,95,95,95,95,95,415,95,219,95,721,719,840,415,415,415,433',
'433,634,415,415,998,415,95,720,335,95,95,95,95,335,95,336,95,839,95',
'717,336,722,717,221,717,415,415,439,415,415,415,415,415,565,664,880',
'633,721,565,665,880,903,996,997,1010,998,903,996,997,1010,998,13,585',
'585,634,415,415,415,415,415,415,415,415,415,415,415,415,415,415,589',
'589,415,415,415,664,415,16,664,15,415,566,772,415,664,659,566,722,415',
'477,415,659,415,415,433,415,415,415,415,415,840,415,416,415,22,840,665',
'675,675,416,416,416,38,478,39,416,416,415,416,325,415,415,325,415,477',
'415,15,416,646,415,350,722,15,362,326,772,37,326,416,416,362,416,416',
'416,416,416,665,585,478,665,313,908,585,908,701,665,701,701,701,38,701',
'39,375,646,589,38,351,39,416,416,416,416,416,416,416,416,416,416,416',
'416,416,416,350,14,416,416,416,600,416,350,14,40,416,45,350,416,667',
'313,350,14,416,675,416,313,416,416,106,416,416,416,416,416,602,416,416',
'416,409,350,351,339,329,17,17,329,339,351,375,375,375,416,351,635,416',
'416,351,416,701,416,635,635,635,416,363,635,635,635,352,635,667,363',
'352,600,600,351,201,667,635,635,635,635,667,600,681,409,667,681,220',
'635,635,409,635,635,635,635,635,222,602,602,899,410,899,899,899,667',
'899,376,602,364,365,724,377,584,41,41,364,365,584,635,635,635,635,635',
'635,635,635,635,635,635,635,635,635,309,309,635,635,635,366,635,635',
'378,223,635,616,366,635,635,410,635,798,635,735,635,410,635,635,735',
'635,635,635,635,635,724,635,635,635,379,334,334,724,376,376,376,382',
'724,377,377,377,724,635,227,899,635,635,635,635,636,635,259,635,616',
'635,273,636,636,636,616,724,636,636,636,798,636,46,378,378,378,274,798',
'367,46,368,636,636,636,120,367,798,368,46,120,120,636,636,277,636,636',
'636,636,636,379,379,379,217,288,296,798,382,382,382,217,547,296,547',
'547,547,289,547,291,217,292,296,636,636,636,636,636,636,636,636,636',
'636,636,636,636,636,464,686,636,636,636,293,636,636,369,299,636,686',
'547,636,636,369,636,302,636,303,636,547,636,636,857,636,636,636,636',
'636,308,636,464,636,857,371,464,464,843,464,464,310,371,843,686,686',
'314,636,315,686,636,636,636,636,318,636,323,636,327,636,33,33,33,33',
'33,33,328,857,857,33,33,330,857,77,33,340,33,33,33,33,33,33,33,927,341',
'77,927,345,33,33,33,33,33,33,33,77,347,33,520,520,689,689,428,33,33',
'33,33,33,33,33,33,33,33,33,33,391,33,33,33,397,33,33,33,33,33,428,428',
'428,428,428,428,428,428,428,428,428,297,428,428,298,399,428,428,297',
'33,402,298,33,708,708,33,33,297,405,33,298,33,428,407,428,33,428,428',
'408,428,428,428,428,428,33,428,986,986,417,33,33,33,33,300,33,33,33',
'33,425,465,300,316,33,33,435,428,56,428,316,300,33,447,33,56,56,56,448',
'316,56,56,56,698,56,698,698,698,449,698,450,475,479,465,56,56,56,465',
'465,344,465,465,494,495,56,56,344,56,56,56,56,56,498,500,505,344,509',
'445,518,826,698,826,826,826,519,826,593,593,521,698,593,593,593,533',
'56,56,56,56,56,56,56,56,56,56,56,56,56,56,446,445,56,56,56,445,445,56',
'826,534,56,536,537,56,56,538,56,826,56,545,56,553,56,56,557,56,56,56',
'56,56,560,56,446,56,562,567,446,446,354,568,868,597,868,868,868,354',
'868,56,605,504,56,56,56,56,354,56,504,56,118,118,118,118,118,118,607',
'504,576,118,118,613,617,622,118,576,118,118,118,118,118,118,118,627',
'576,637,639,644,118,118,118,118,118,118,118,651,971,118,971,971,971',
'653,971,118,118,118,118,118,118,118,118,118,118,118,118,658,118,118',
'118,661,118,118,118,118,118,443,443,443,443,443,443,443,443,443,443',
'443,668,443,443,870,663,443,443,668,118,666,870,118,668,669,118,118',
'668,670,118,870,118,443,673,443,118,443,443,674,443,443,443,443,443',
'118,443,676,679,685,118,118,118,118,700,118,118,118,118,703,710,715',
'718,118,118,203,203,203,203,203,203,118,727,118,203,203,732,751,756',
'203,774,203,203,203,203,203,203,203,6,6,6,6,6,203,203,203,203,203,203',
'203,775,777,203,287,287,287,287,287,203,203,203,203,203,203,203,203',
'203,203,203,203,778,203,203,203,779,203,203,203,203,203,444,444,444',
'444,444,444,444,444,444,444,444,725,444,444,931,781,444,444,725,203',
'782,931,203,725,783,203,203,725,784,203,931,203,444,788,444,203,444',
'444,792,444,444,444,444,444,203,444,793,797,801,203,203,203,203,804',
'203,203,203,203,805,808,810,811,203,203,226,226,226,226,226,226,203',
'812,203,226,226,813,817,818,226,820,226,226,226,226,226,226,226,492',
'492,492,492,492,226,226,226,226,226,226,226,821,828,226,828,828,828',
'823,828,226,226,226,226,226,226,226,226,226,226,226,226,825,226,226',
'226,827,226,226,226,226,226,454,454,454,454,454,454,454,937,828,454',
'454,938,830,833,937,842,454,454,938,226,846,847,226,937,850,226,226',
'938,851,226,867,226,454,871,454,226,454,454,873,454,454,454,454,454',
'226,454,901,905,906,226,226,226,226,912,226,226,226,226,917,920,921',
'922,226,226,290,290,290,290,290,290,226,923,226,290,290,925,940,943',
'290,944,290,290,290,290,290,290,290,945,946,947,949,972,290,290,290',
'290,290,290,290,973,900,290,900,900,900,974,900,290,290,290,290,290',
'290,290,290,290,290,290,290,985,290,290,290,987,290,290,290,290,290',
'455,948,988,948,948,948,989,948,900,950,990,950,950,950,939,950,455',
'455,991,290,992,939,290,995,1000,290,290,1001,1012,290,939,290,455,',
'455,290,455,455,948,455,455,,,455,290,455,950,,,290,290,290,290,,290',
'290,290,290,,,,,290,290,295,295,295,295,295,295,290,,290,295,295,,,',
'295,,295,295,295,295,295,295,295,,,,,,295,295,295,295,295,295,295,,984',
'295,984,984,984,,984,295,295,295,295,295,295,295,295,295,295,295,295',
',295,295,295,941,295,295,295,295,295,456,941,978,,,,,,984,978,941,,',
',,,456,456,978,295,,,295,,,295,295,,,295,,295,456,,456,295,456,456,',
'456,456,,,456,295,456,,,,295,295,295,295,,295,295,295,295,,,,,295,295',
'321,321,321,321,321,321,295,,295,321,321,,,,321,,321,321,321,321,321',
'321,321,,,,,,321,321,321,321,321,321,321,,,321,,,,,404,321,321,321,321',
'321,321,321,321,321,321,321,321,,321,321,321,,321,321,321,321,321,404',
'404,404,404,404,404,404,404,404,404,404,999,404,404,,,404,404,999,321',
',,321,999,,321,321,999,,321,,321,404,,404,321,404,404,,404,404,404,404',
'404,321,404,,,,321,321,321,321,,321,321,321,321,,,,,321,321,,404,420',
',,,321,,321,420,420,420,,,420,420,420,457,420,,,,,,,,,420,420,420,420',
',,457,457,,,,420,420,,420,420,420,420,420,,,,457,,457,,457,457,,457',
'457,,,457,,457,,,,,,420,420,420,420,420,420,420,420,420,420,420,420',
'420,420,,,420,420,420,,,420,,,420,,,420,420,,420,,420,,420,,420,420',
',420,420,420,420,420,,420,420,420,,,,,,,,,,,,,,420,,,420,420,420,420',
'421,420,,420,,,,421,421,421,,,421,421,421,458,421,,,,,,,,,421,421,421',
'421,,,458,458,,,,421,421,,421,421,421,421,421,,,,458,,458,,458,458,',
'458,458,,,458,,458,,,,,,421,421,421,421,421,421,421,421,421,421,421',
'421,421,421,,,421,421,421,,,421,,,421,,,421,421,,421,,421,,421,,421',
'421,,421,421,421,421,421,,421,421,421,,,,,,,,,,,,,,421,,,421,421,421',
'421,,421,,421,493,493,493,493,493,493,,,,493,493,,,,493,,493,493,493',
'493,493,493,493,,,,,,493,493,493,493,493,493,493,,,493,,,,,,493,493',
'493,493,493,493,493,493,493,493,493,493,,493,493,493,,493,493,493,493',
'493,459,459,459,459,459,459,459,,,459,459,,,,,,459,459,,493,,,493,,',
'493,493,,,493,,493,459,,459,493,459,459,,459,459,459,459,459,493,459',
',,,493,493,493,493,,493,493,493,493,,,,,493,493,561,561,561,561,561',
'561,493,,493,561,561,,,,561,,561,561,561,561,561,561,561,,,,,,561,561',
'561,561,561,561,561,,,561,,,,,,561,561,561,561,561,561,561,561,561,561',
'561,561,,561,561,561,,561,561,561,561,561,460,460,460,460,460,460,460',
',,460,460,,,,,,460,460,,561,,,561,,,561,561,,,561,,561,460,,460,561',
'460,460,,460,460,460,460,460,561,460,,,,561,561,561,561,,561,561,561',
'561,,,,,561,561,564,564,564,564,564,564,561,,561,564,564,,,,564,,564',
'564,564,564,564,564,564,,,,,,564,564,564,564,564,564,564,,,564,,,,,',
'564,564,564,564,564,564,564,564,564,564,564,564,,564,564,564,,564,564',
'564,564,564,461,461,461,461,461,461,461,,,461,461,,,,,,461,461,,564',
',,564,,,564,564,,,564,,564,461,,461,564,461,461,,461,461,461,461,461',
'564,461,,,,564,564,564,564,,564,564,564,564,,,,,564,564,586,586,586',
'586,586,586,564,,564,586,586,,,,586,,586,586,586,586,586,586,586,,,',
',,586,586,586,586,586,586,586,,,586,,,,,,586,586,586,586,586,586,586',
'586,586,586,586,586,,586,586,586,,586,586,586,586,586,462,462,462,462',
'462,462,462,,,462,462,,,,,,462,462,,586,,,586,,,586,586,,,586,,586,462',
',462,586,462,462,,462,462,462,462,462,586,462,,,,586,586,586,586,,586',
'586,586,586,,,,,586,586,643,643,643,643,643,643,586,,586,643,643,,,',
'643,,643,643,643,643,643,643,643,,,,,,643,643,643,643,643,643,643,,',
'643,,,,,,643,643,643,643,643,643,643,643,643,643,643,643,,643,643,643',
',643,643,643,643,643,463,463,463,463,463,463,463,,,463,463,,,,,,463',
'463,,643,,,643,,,643,643,,,643,,643,463,,463,643,463,463,,463,463,463',
'463,463,643,463,,,,643,643,643,643,,643,643,643,643,,,,,643,643,648',
'648,648,648,648,648,643,,643,648,648,,,,648,,648,648,648,648,648,648',
'648,,,,,,648,648,648,648,648,648,648,,,648,,,,,,648,648,648,648,648',
'648,648,648,648,648,648,648,,648,648,648,,648,648,648,648,648,466,466',
'466,466,466,466,466,,,466,466,,,,,,466,466,,648,,,648,,,648,648,,,648',
',648,466,,466,648,466,466,,466,466,466,466,466,648,466,,,,648,648,648',
'648,,648,648,648,648,,,,,648,648,649,649,649,649,649,649,648,,648,649',
'649,,,,649,,649,649,649,649,649,649,649,,,,,,649,649,649,649,649,649',
'649,,,649,,,,,,649,649,649,649,649,649,649,649,649,649,649,649,,649',
'649,649,,649,649,649,649,649,467,467,467,467,467,467,467,467,,467,467',
',,,,,467,467,,649,,,649,,,649,649,,,649,,649,467,,467,649,467,467,,467',
'467,467,467,467,649,467,,,,649,649,649,649,,649,649,649,649,,,,,649',
'649,683,683,683,683,683,683,649,,649,683,683,,,,683,,683,683,683,683',
'683,683,683,,,,,,683,683,683,683,683,683,683,,,683,,,,,,683,683,683',
'683,683,683,683,683,683,683,683,683,,683,683,683,,683,683,683,683,683',
'451,,,,,,,,,,,,,,,,451,451,,683,,,683,,,683,683,,,683,,683,451,,451',
'683,451,451,,451,451,,,,683,,,,,683,683,683,683,,683,683,683,683,,,',
',683,683,684,684,684,684,684,684,683,,683,684,684,,,,684,,684,684,684',
'684,684,684,684,,,,,,684,684,684,684,684,684,684,,,684,,,,,,684,684',
'684,684,684,684,684,684,684,684,684,684,,684,684,684,,684,684,684,684',
'684,452,,,,,,,,,,,,,,,,452,452,,684,,,684,,,684,684,,,684,,684,452,',
'452,684,452,452,,452,452,,,,684,,,,,684,684,684,684,,684,684,684,684',
',,,,684,684,728,728,728,728,728,728,684,,684,728,728,,,,728,,728,728',
'728,728,728,728,728,,,,,,728,728,728,728,728,728,728,,,728,,,,,,728',
'728,728,728,728,728,728,728,728,728,728,728,,728,728,728,,728,728,728',
'728,728,453,,,,,,,,,,,,,,,,453,453,,728,,,728,,,728,728,,,728,,728,453',
',,728,453,453,,453,453,,,,728,,,,,728,728,728,728,,728,728,728,728,',
',,,728,728,733,733,733,733,733,733,728,,728,733,733,,,,733,,733,733',
'733,733,733,733,733,,,,,,733,733,733,733,733,733,733,,,733,,,,,,733',
'733,733,733,733,733,733,733,733,733,733,733,,733,733,733,,733,733,733',
'733,733,,,,,,,,,,,,,,,,,,,,733,,,733,,,733,733,,,733,,733,,,,733,,,',
',,,,,733,,,,,733,733,733,733,,733,733,733,733,,,,,733,733,743,743,743',
'743,743,743,733,,733,743,743,,,,743,,743,743,743,743,743,743,743,,,',
',,743,743,743,743,743,743,743,,,743,,,,,,743,743,743,743,743,743,743',
'743,743,743,743,743,,743,743,743,,743,743,743,743,743,,,,,,,,,,,,,,',
',,,,,743,,,743,,,743,743,,,743,,743,,,,743,,,,,,,,,743,,,,,743,743,743',
'743,,743,743,743,743,,,,,743,743,791,791,791,791,791,791,743,,743,791',
'791,,,,791,,791,791,791,791,791,791,791,,,,,,791,791,791,791,791,791',
'791,,,791,,,,,,791,791,791,791,791,791,791,791,791,791,791,791,,791',
'791,791,,791,791,791,791,791,,,,,,,,,,,,,,,,,,,,791,,,791,,,791,791',
',,791,,791,,,,791,,,,,,,,,791,,,,,791,791,791,791,,791,791,791,791,',
',,,791,791,803,803,803,803,803,803,791,,791,803,803,,,,803,,803,803',
'803,803,803,803,803,,,,,,803,803,803,803,803,803,803,,,803,,,,,,803',
'803,803,803,803,803,803,803,803,803,803,803,,803,803,803,,803,803,803',
'803,803,,,,,,,,,,,,,,,,,,,,803,,,803,,,803,803,,,803,,803,,,,803,,,',
',,,,,803,,,,,803,803,803,803,,803,803,803,803,,,,,803,803,834,834,834',
'834,834,834,803,,803,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,,,,834,,,,,,,,,834,,,,,834,834,834',
'834,,834,834,834,834,,,,,834,834,835,835,835,835,835,835,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,,,,835,,,,,,,,,835,,,,,835,835,835,835,,835,835,835,835,',
',,,835,835,838,838,838,838,838,838,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,,,,838,,,',
',,,,,838,,,,,838,838,838,838,,838,838,838,838,,,,,838,838,844,844,844',
'844,844,844,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,,,,844,,,,,,,,,844,,,,,844,844,844',
'844,,844,844,844,844,,,,,844,844,877,877,877,877,877,877,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,,,,877,,,,,,,,,877,,,,,877,877,877,877,,877,877,877,877,',
',,,877,877,936,936,936,936,936,936,877,,877,936,936,,,,936,,936,936',
'936,936,936,936,936,,,,,,936,936,936,936,936,936,936,,,936,,,,,,936',
'936,936,936,936,936,936,936,936,936,936,936,,936,936,936,,936,936,936',
'936,936,,,,,,,,,,,,,,,,,,,,936,,,936,,,936,936,,,936,,936,,,,936,,,',
',,,,,936,,,,,936,936,936,936,,936,936,936,936,,,,,936,936,951,951,951',
'951,951,951,936,,936,951,951,,,,951,,951,951,951,951,951,951,951,,,',
',,951,951,951,951,951,951,951,,,951,,,,,,951,951,951,951,951,951,951',
'951,951,951,951,951,,951,951,951,,951,951,951,951,951,,,,,,,,,,,,,,',
',,,,,951,,,951,,,951,951,,,951,,951,,,,951,,,,,,,,,951,,,,,951,951,951',
'951,,951,951,951,951,,,,,951,951,957,957,957,957,957,957,951,,951,957',
'957,,,,957,,957,957,957,957,957,957,957,,,,,,957,957,957,957,957,957',
'957,,,957,,,,,,957,957,957,957,957,957,957,957,957,957,957,957,,957',
'957,957,,957,957,957,957,957,,,,,,,,,,,,,,,,,,,,957,,,957,,,957,957',
',,957,,957,,,,957,,,,,,,,,957,,,,,957,957,957,957,,957,957,957,957,',
',,,957,957,959,959,959,959,959,959,957,,957,959,959,,,,959,,959,959',
'959,959,959,959,959,,,,,,959,959,959,959,959,959,959,,,959,,,,,,959',
'959,959,959,959,959,959,959,959,959,959,959,,959,959,959,,959,959,959',
'959,959,,,,,,,,,,,,,,,,,,,,959,,,959,,,959,959,,,959,,959,,,,959,,,',
',,,,,959,,,,,959,959,959,959,,959,959,959,959,,,,,959,959,,5,5,5,5,5',
'959,,959,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',
',5,,,,5,,,,,,,,,5,,,,,5,5,5,5,,5,5,5,5,,,,,5,5,,20,20,20,,20,5,,5,20',
'20,,,,20,,20,20,20,20,20,20,20,,,,,,20,20,20,20,20,20,20,,,20,,,,,,',
'20,,,20,20,20,20,20,20,20,20,,20,20,20,,20,20,20,20,20,,,,,,,,,,,,,',
',,,,,,20,,,20,,,20,20,,,20,,,,,,20,,,,,,,,,20,,,,,20,20,20,20,,20,20',
'20,20,,,,,20,20,,29,29,29,,29,20,,20,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,,,,,,,,,,,,,,,,,,,,29,,,29,,,29,29,,,29',
',29,,29,,29,,,29,,,,,,29,,,,,29,29,29,29,,29,29,29,29,,,,,29,29,,30',
'30,30,,30,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,,,,,,,,,,,,,,,,,,,,30,,,30,,,30,30,,,30,,30,,30,,30,,,30,,',
',,,30,,,,,30,30,30,30,,30,30,30,30,,,,,30,30,,31,31,31,,31,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,,,,,,,,,,,',
',,,,,,,,31,,,31,,,31,31,,,31,,31,,31,,31,,,31,,,,,,31,,,,,31,31,31,31',
',31,31,31,31,,,,,31,31,,34,34,34,,34,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,,35',
'34,,34,35,35,,,,35,,35,35,35,35,35,35,35,,,,,,35,35,35,35,35,35,35,',
',35,,,,,638,,35,,,35,35,35,35,35,35,35,35,,35,35,35,,35,35,,,35,638',
'638,638,638,638,638,638,638,638,638,638,,638,638,,,638,638,,35,,,35',
',,35,35,,,35,,,638,,638,,638,638,,638,638,638,638,638,,638,,,,35,35',
'35,35,,35,35,35,35,,,,,35,35,,638,,35,,,35,,35,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,,42,42,42',
'42,,,,,42,42,,43,43,43,,43,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,,44,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,,59,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,,60,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,,63,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,,64,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,,67',
'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,21',
'21,21,21,21,21,21,21,21,21,21,,21,21,,,21,21,,67,,,67,,,67,67,,,67,',
',21,,21,67,21,21,,21,21,21,21,21,67,21,,,,67,67,67,67,,67,67,67,67,',
',,,67,67,67,21,,,,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,,69',
'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,,70,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,,,',
',,,,,,,,,,,,,,,,70,70,70,70,,70,70,70,70,,,,,70,70,,108,108,108,108',
'108,70,,70,108,108,,,,108,,108,108,108,108,108,108,108,,,,,,108,108',
'108,108,108,108,108,,,108,,,,,,108,108,108,108,108,108,108,108,108,108',
'108,108,,108,108,108,,108,108,108,108,108,271,271,271,271,271,271,271',
'271,271,271,271,,271,271,,,271,271,,108,,,108,,,108,108,,,108,,108,271',
',271,108,271,271,,271,271,271,271,271,108,271,,,,108,108,108,108,,108',
'108,108,108,,,,,108,108,,271,,,,108,108,,108,113,113,113,,113,,,,113',
'113,,,,113,,113,113,113,113,113,113,113,,,,,,113,113,113,113,113,113',
'113,,,113,,,,,,,113,,,113,113,113,113,113,113,113,113,,113,113,113,',
'113,113,113,113,113,,,,,,,,,,,,,,,,,,,,113,,,113,,,113,113,,,113,,,',
',,113,,,,,,,,,113,,,,,113,113,113,113,,113,113,113,113,,,,,113,113,',
'114,114,114,,114,113,,113,114,114,,,,114,,114,114,114,114,114,114,114',
',,,,,114,114,114,114,114,114,114,,,114,,,,,,,114,,,114,114,114,114,114',
'114,114,114,,114,114,114,,114,114,114,114,114,,,,,,,,,,,,,,,,,,,,114',
',,114,,,114,114,,,114,,,,,,114,,,,,,,,,114,,,,,114,114,114,114,,114',
'114,114,114,,,,,114,114,,115,115,115,,115,114,,114,115,115,,,,115,,115',
'115,115,115,115,115,115,,,,,,115,115,115,115,115,115,115,,,115,,,,,',
',115,,,115,115,115,115,115,115,115,115,,115,115,115,,115,115,115,115',
'115,,,,,,,,,,,,,,,,,,,,115,,,115,,,115,115,,,115,,,,,,115,,,,,,,,,115',
',,,,115,115,115,115,,115,115,115,115,,,,,115,115,,116,116,116,,116,115',
',115,116,116,,,,116,,116,116,116,116,116,116,116,,,,,,116,116,116,116',
'116,116,116,,,116,,,,,,,116,,,116,116,116,116,116,116,116,116,,116,116',
'116,,116,116,116,116,116,,,,,,,,,,,,,,,,,,,,116,,,116,,,116,116,,,116',
',,,,,116,,,,,,,,,116,,,,,116,116,116,116,,116,116,116,116,,,,,116,116',
',117,117,117,117,117,116,,116,117,117,,,,117,,117,117,117,117,117,117',
'117,,,,,,117,117,117,117,117,117,117,,,117,,,,,,117,117,,117,117,117',
'117,117,117,117,117,117,,117,117,117,,117,117,117,117,117,,,,,,,,,,',
',,,,,,,,,117,,,117,,,117,117,,,117,,117,,,,117,,,,,,,,,117,,,,,117,117',
'117,117,,117,117,117,117,,,,,117,117,,204,204,204,,204,117,,117,204',
'204,,,,204,,204,204,204,204,204,204,204,,,,,,204,204,204,204,204,204',
'204,,,204,,,,,,,204,,,204,204,204,204,204,204,204,204,,204,204,204,',
'204,204,204,204,204,,,,,,,,,,,,,,,,,,,,204,,,204,,,204,204,,,204,,204',
',,,204,,,,,,,,,204,,,,,204,204,204,204,,204,204,204,204,,,,,204,204',
',205,205,205,,205,204,,204,205,205,,,,205,,205,205,205,205,205,205,205',
',,,,,205,205,205,205,205,205,205,,,205,,,,,,,205,,,205,205,205,205,205',
'205,205,205,,205,205,205,,205,205,205,205,205,,,,,,,,,,,,,,,,,,,,205',
',,205,,,205,205,,,205,,,,,,205,,,,,,,,,205,,,,,205,205,205,205,,205',
'205,205,205,,,,,205,205,,206,206,206,,206,205,,205,206,206,,,,206,,206',
'206,206,206,206,206,206,,,,,,206,206,206,206,206,206,206,,,206,,,,,',
',206,,,206,206,206,206,206,206,206,206,206,206,206,206,,206,206,206',
'206,206,,,,,,,,,,,,,,,,,,,,206,,,206,,,206,206,,,206,,206,,206,,206',
',,206,,,,,,206,,,,,206,206,206,206,,206,206,206,206,,,,,206,206,,209',
'209,209,,209,206,,206,209,209,,,,209,,209,209,209,209,209,209,209,,',
',,,209,209,209,209,209,209,209,,,209,,,,,,,209,,,209,209,209,209,209',
'209,209,209,,209,209,209,,209,209,209,209,209,,,,,,,,,,,,,,,,,,,,209',
',,209,,,209,209,,,209,,,,,,209,,,,,,,,,209,,,,,209,209,209,209,,209',
'209,209,209,,,,,209,209,,210,210,210,,210,209,,209,210,210,,,,210,,210',
'210,210,210,210,210,210,,,,,,210,210,210,210,210,210,210,,,210,,,,,',
',210,,,210,210,210,210,210,210,210,210,,210,210,210,,210,210,210,210',
'210,,,,,,,,,,,,,,,,,,,,210,,,210,,,210,210,,,210,,210,,,,210,,,,,,,',
',210,,,,,210,210,210,210,,210,210,210,210,,,,,210,210,,211,211,211,',
'211,210,,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,211,211,211,211,,,,,,,,,,,,,,,,,,,,211,,,211,,,211',
'211,,,211,,,,,,211,,,,,,,,,211,,,,,211,211,211,211,,211,211,211,211',
',,,,211,211,,212,212,212,,212,211,,211,212,212,,,,212,,212,212,212,212',
'212,212,212,,,,,,212,212,212,212,212,212,212,,,212,,,,,,,212,,,212,212',
'212,212,212,212,212,212,,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,,213,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,',
'214,214,214,,214,213,,213,214,214,,,,214,,214,214,214,214,214,214,214',
',,,,,214,214,214,214,214,214,214,,,214,,,,,,,214,,,214,214,214,214,214',
'214,214,214,,214,214,214,,214,214,214,214,214,,,,,,,,,,,,,,,,,,,,214',
',,214,,,214,214,,,214,,,,,,214,,,,,,,,,214,,,,,214,214,214,214,,214',
'214,214,214,,,,,214,214,214,225,225,225,,225,214,,214,225,225,,,,225',
',225,225,225,225,225,225,225,,,,,,225,225,225,225,225,225,225,,,225',
',,,,,,225,,,225,225,225,225,225,225,225,225,,225,225,225,,225,225,225',
'225,225,,,,,,,,,,,,,,,,,,,,225,,,225,,,225,225,,,225,,,,,,225,,,,,,',
',,225,,,,,225,225,225,225,,225,225,225,225,,,,,225,225,,228,228,228',
',228,225,,225,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,,229,229,229,,229,228,,228,229,229,,,,229,,229,229,229,229',
'229,229,229,,,,,,229,229,229,229,229,229,229,,,229,,,,,,,229,,,229,229',
'229,229,229,229,229,229,,229,229,229,,229,229,229,229,229,,,,,,,,,,',
',,,,,,,,,229,,,229,,,229,229,,,229,,,,,,229,,,,,,,,,229,,,,,229,229',
'229,229,,229,229,229,229,,,,,229,229,,230,230,230,,230,229,,229,230',
'230,,,,230,,230,230,230,230,230,230,230,,,,,,230,230,230,230,230,230',
'230,,,230,,,,,,,230,,,230,230,230,230,230,230,230,230,,230,230,230,',
'230,230,230,230,230,,,,,,,,,,,,,,,,,,,,230,,,230,,,230,230,,,230,,,',
',,230,,,,,,,,,230,,,,,230,230,230,230,,230,230,230,230,,,,,230,230,',
'231,231,231,,231,230,,230,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,,232,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,,233,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,,234,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,,235,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,,236,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,,237,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,,238,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,,239,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,,240,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,,241,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,,242,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,,243,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,,244,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,,245,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,,246,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,,247,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,,248,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,,249,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,,250,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,,251,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,,252,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,,253,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,,260,260,260,,260,253',
',253,260,260,,,,260,,260,260,260,260,260,260,260,,,,,,260,260,260,260',
'260,260,260,,,260,,,,,,,260,,,260,260,260,260,260,260,260,260,260,260',
'260,260,,260,260,260,260,260,,,,,,,,,,,,,,,,,,,,260,,,260,,,260,260',
',,260,,260,,260,,260,,,260,,,,,,260,,,,,260,260,260,260,,260,260,260',
'260,,,,,260,260,,261,261,261,,261,260,,260,261,261,,,,261,,261,261,261',
'261,261,261,261,,,,,,261,261,261,261,261,261,261,,,261,,,,,,,261,,,261',
'261,261,261,261,261,261,261,261,261,261,261,,261,261,261,261,261,,,',
',,,,,,,,,,,,,,,,261,,,261,,,261,261,,,261,,261,,261,,261,,,261,,,,,',
'261,,,,,261,261,261,261,,261,261,261,261,,,,,261,261,,269,269,269,,269',
'261,,261,269,269,,,,269,,269,269,269,269,269,269,269,,,,,,269,269,269',
'269,269,269,269,,,269,,,,,,,269,,,269,269,269,269,269,269,269,269,269',
'269,269,269,,269,269,269,269,269,,,,,,,,,,,,,,,,,,,,269,,,269,,,269',
'269,,,269,,269,,269,,269,,,269,,,,,,269,,,,,269,269,269,269,,269,269',
'269,269,,,,,269,269,269,276,276,276,,276,269,,269,276,276,,,,276,,276',
'276,276,276,276,276,276,,,,,,276,276,276,276,276,276,276,,,276,,,,,',
',276,,,276,276,276,276,276,276,276,276,,276,276,276,,276,276,276,276',
'276,,,,,,,,,,,,,,,,,,,,276,,,276,,,276,276,,,276,,,,,,276,,,,,,,,,276',
',,,,276,276,276,276,,276,276,276,276,,,,,276,276,,278,278,278,,278,276',
',276,278,278,,,,278,,278,278,278,278,278,278,278,,,,,,278,278,278,278',
'278,278,278,,,278,,,,,,,278,,,278,278,278,278,278,278,278,278,,278,278',
'278,,278,278,278,278,278,,,,,,,,,,,,,,,,,,,,278,,,278,,,278,278,,,278',
',,,,,278,,,,,,,,,278,,,,,278,278,278,278,,278,278,278,278,,,,,278,278',
',280,280,280,,280,278,,278,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,,281,281,281,,281,280,,280,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,,286,286,286,286,286',
'281,,281,286,286,,,,286,,286,286,286,286,286,286,286,,,,,,286,286,286',
'286,286,286,286,,,286,,,,,,286,286,,286,286,286,286,286,286,286,286',
'286,,286,286,286,,286,286,286,286,286,,,,,,,,,,,,,,,,,,,,286,,,286,',
',286,286,,,286,,286,,,,286,,,,,,,,,286,,,,,286,286,286,286,,286,286',
'286,286,,,,,286,286,,294,294,294,,294,286,,286,294,294,,,,294,,294,294',
'294,294,294,294,294,,,,,,294,294,294,294,294,294,294,,,294,,,,,,,294',
',,294,294,294,294,294,294,294,294,,294,294,294,,294,294,,,294,423,423',
'423,423,423,423,423,423,423,423,423,,423,423,,,423,423,,294,,,294,,',
'294,294,,,294,,,423,,423,,423,423,,423,423,423,423,423,,423,,,,294,294',
'294,294,,294,294,294,294,,,,,294,294,,423,,294,,,294,,294,311,311,311',
',311,,,,311,311,,,,311,,311,311,311,311,311,311,311,,,,,,311,311,311',
'311,311,311,311,,,311,,,,,,,311,,,311,311,311,311,311,311,311,311,,311',
'311,311,,311,311,,,311,,,,,,,,,,,,,,,,,,,,311,,,311,,,311,311,,,311',
',,,,,,,,,,,,,,,,,,,311,311,311,311,,311,311,311,311,,,,,311,311,,320',
'320,320,,320,311,,311,320,320,,,,320,,320,320,320,320,320,320,320,,',
',,,320,320,320,320,320,320,320,,,320,,,,,,,320,,,320,320,320,320,320',
'320,320,320,,320,320,320,,320,320,320,320,320,,,,,,,,,,,,,,,,,,,,320',
',,320,320,,320,320,,,320,,,,,,320,,,,,,,,,320,,,,,320,320,320,320,,320',
'320,320,320,,,,,320,320,,322,322,322,,322,320,,320,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,,337,337,337,,337,322',
',322,337,337,,,,337,,337,337,337,337,337,337,337,,,,,,337,337,337,337',
'337,337,337,,,337,,,,,,,337,,,337,337,337,337,337,337,337,337,,337,337',
'337,,337,337,337,337,337,,,,,,,,,,,,,,,,,,,,337,,,337,,,337,337,,,337',
',,,,,337,,,,,,,,,337,,,,,337,337,337,337,,337,337,337,337,,,,,337,337',
',338,338,338,,338,337,,337,338,338,,,,338,,338,338,338,338,338,338,338',
',,,,,338,338,338,338,338,338,338,,,338,,,,,,,338,,,338,338,338,338,338',
'338,338,338,,338,338,338,,338,338,338,338,338,,,,,,,,,,,,,,,,,,,,338',
',,338,,,338,338,,,338,,,,,,338,,,,,,,,,338,,,,,338,338,338,338,,338',
'338,338,338,,,,,338,338,,357,357,357,,357,338,,338,357,357,,,,357,,357',
'357,357,357,357,357,357,,,,,,357,357,357,357,357,357,357,,,357,,,,,',
',357,,,357,357,357,357,357,357,357,357,,357,357,357,,357,357,357,357',
'357,,,,,,,,,,,,,,,,,,,,357,,,357,,,357,357,,,357,,,,,,357,,,,,,,,,357',
',,,,357,357,357,357,,357,357,357,357,,,,,357,357,,373,373,373,,373,357',
',357,373,373,,,,373,,373,373,373,373,373,373,373,,,,,,373,373,373,373',
'373,373,373,,,373,,,,,,,373,,,373,373,373,373,373,373,373,373,,373,373',
'373,,373,373,373,373,373,,,,,,,,,,,,,,,,,,,,373,,,373,,,373,373,,,373',
',,,,,373,,,,,,,,,373,,,,,373,373,373,373,,373,373,373,373,,,,,373,373',
',401,401,401,,401,373,,373,401,401,,,,401,,401,401,401,401,401,401,401',
',,,,,401,401,401,401,401,401,401,,,401,,,,,,,401,,,401,401,401,401,401',
'401,401,401,,401,401,401,,401,401,401,401,401,,,,,,,,,,,,,,,,,,,,401',
',,401,,,401,401,,,401,,,,,,401,,,,,,,,,401,,,,,401,401,401,401,,401',
'401,401,401,,,,,401,401,,438,438,438,,438,401,,401,438,438,,,,438,,438',
'438,438,438,438,438,438,,,,,,438,438,438,438,438,438,438,,,438,,,,,',
',438,,,438,438,438,438,438,438,438,438,438,438,438,438,,438,438,438',
'438,438,,,,,,,,,,,,,,,,,,,,438,,,438,,,438,438,,,438,,438,,438,,438',
',,438,,,,,,438,,,,,438,438,438,438,,438,438,438,438,,,,,438,438,,440',
'440,440,,440,438,,438,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,440,440,440,440,,,,,,,,,,,,,,,,,,,,440',
',,440,,,440,440,,,440,,,,,,440,,,,,,,,,440,,,,,440,440,440,440,,440',
'440,440,440,,,,,440,440,,441,441,441,,441,440,,440,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,,442,442,442,,442,441',
',441,442,442,,,,442,,442,442,442,442,442,442,442,,,,,,442,442,442,442',
'442,442,442,,,442,,,,,,,442,,,442,442,442,442,442,442,442,442,,442,442',
'442,,442,442,442,442,442,,,,,,,,,,,,,,,,,,,,442,,,442,,,442,442,,,442',
',,,,,442,,,,,,,,,442,,,,,442,442,442,442,,442,442,442,442,,,,,442,442',
',482,482,482,,482,442,,442,482,482,,,,482,,482,482,482,482,482,482,482',
',,,,,482,482,482,482,482,482,482,,,482,,,,,,,482,,,482,482,482,482,482',
'482,482,482,482,482,482,482,,482,482,482,482,482,,,,,,,,,,,,,,,,,,,',
'482,,,482,,,482,482,,,482,,482,,482,,482,,,482,,,,,,482,,,,,482,482',
'482,482,,482,482,482,482,,,,,482,482,,484,484,484,,484,482,,482,484',
'484,,,,484,,484,484,484,484,484,484,484,,,,,,484,484,484,484,484,484',
'484,,,484,,,,,,,484,,,484,484,484,484,484,484,484,484,484,484,484,484',
',484,484,484,484,484,,,,,,,,,,,,,,,,,,,,484,,,484,,,484,484,,,484,,',
',484,,484,,,484,,,,,,484,,,,,484,484,484,484,,484,484,484,484,,,,,484',
'484,,486,486,486,,486,484,,484,486,486,,,,486,,486,486,486,486,486,486',
'486,,,,,,486,486,486,486,486,486,486,,,486,,,,,,,486,,,486,486,486,486',
'486,486,486,486,,486,486,486,,486,486,486,486,486,,,,,,,,,,,,,,,,,,',
',486,,,486,,,486,486,,,486,,,,,,486,,,,,,,,,486,,,,,486,486,486,486',
',486,486,486,486,,,,,486,486,,491,491,491,491,491,486,,486,491,491,',
',,491,,491,491,491,491,491,491,491,,,,,,491,491,491,491,491,491,491',
',,491,,,,,,491,491,491,491,491,491,491,491,491,491,491,491,,491,491',
'491,,491,491,491,491,491,468,468,468,468,468,468,468,468,468,468,468',
',468,468,,,468,468,,491,,,491,,,491,491,,,491,,491,468,,468,491,468',
'468,,468,468,468,468,468,491,468,,,,491,491,491,491,,491,491,491,491',
',,,,491,491,468,468,,,,491,491,,491,499,499,499,,499,,,,499,499,,,,499',
',499,499,499,499,499,499,499,,,,,,499,499,499,499,499,499,499,,,499',
',,,,,,499,,,499,499,499,499,499,499,499,499,,499,499,499,,499,499,,',
'499,,,,,,,,,,,,,,,,,,,,499,,,499,,,499,499,,,499,,,,,,,,,,,,,,,,,,,',
'499,499,499,499,,499,499,499,499,,,,,499,499,,501,501,501,,501,499,',
'499,501,501,,,,501,,501,501,501,501,501,501,501,,,,,,501,501,501,501',
'501,501,501,,,501,,,,,,,501,,,501,501,501,501,501,501,501,501,501,501',
'501,501,,501,501,501,501,501,,,,,,,,,,,,,,,,,,,,501,,,501,,,501,501',
',,501,,501,,501,,501,,,501,,,,,,501,,,,,501,501,501,501,,501,501,501',
'501,,,,,501,501,,508,508,508,,508,501,,501,508,508,,,,508,,508,508,508',
'508,508,508,508,,,,,,508,508,508,508,508,508,508,,,508,,,,,,,508,,,508',
'508,508,508,508,508,508,508,,508,508,508,,508,508,,,508,,,,,,,,,,,,',
',,,,,,,508,,,508,,,508,508,,,508,,,,,,,,,,,,,,,,,,,,508,508,508,508',
',508,508,508,508,,,,,508,508,,511,511,511,,511,508,,508,511,511,,,,511',
',511,511,511,511,511,511,511,,,,,,511,511,511,511,511,511,511,,,511',
',,,,,,511,,,511,511,511,511,511,511,511,511,,511,511,511,,511,511,511',
'511,511,,,,,,,,,,,,,,,,,,,,511,,,511,,,511,511,,,511,,,,,,511,,,,,,',
',,511,,,,,511,511,511,511,,511,511,511,511,,,,,511,511,,512,512,512',
',512,511,,511,512,512,,,,512,,512,512,512,512,512,512,512,,,,,,512,512',
'512,512,512,512,512,,,512,,,,,,,512,,,512,512,512,512,512,512,512,512',
',512,512,512,,512,512,512,512,512,,,,,,,,,,,,,,,,,,,,512,,,512,,,512',
'512,,,512,,,,,,512,,,,,,,,,512,,,,,512,512,512,512,,512,512,512,512',
',,,,512,512,,513,513,513,,513,512,,512,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,,517,517,517,,517,513,,513,517',
'517,,,,517,,517,517,517,517,517,517,517,,,,,,517,517,517,517,517,517',
'517,,,517,,,,,,,517,,,517,517,517,517,517,517,517,517,,517,517,517,',
'517,517,517,517,517,,,,,,,,,,,,,,,,,,,,517,,,517,,,517,517,,,517,,,',
',,517,,,,,,,,,517,,,,,517,517,517,517,,517,517,517,517,,,,,517,517,',
'523,523,523,,523,517,,517,523,523,,,,523,,523,523,523,523,523,523,523',
',,,,,523,523,523,523,523,523,523,,,523,,,,,,,523,,,523,523,523,523,523',
'523,523,523,523,523,523,523,,523,523,523,523,523,,,,,,,,,,,,,,,,,,,',
'523,,,523,,,523,523,,,523,,523,,,,523,,,523,,,,,,523,,,,,523,523,523',
'523,,523,523,523,523,,,,,523,523,,526,526,526,,526,523,,523,526,526',
',,,526,,526,526,526,526,526,526,526,,,,,,526,526,526,526,526,526,526',
',,526,,,,,,,526,,,526,526,526,526,526,526,526,526,526,526,526,526,,526',
'526,526,526,526,,,,,,,,,,,,,,,,,,,,526,,,526,,,526,526,,,526,,,,,,526',
',,526,,,,,,526,,,,,526,526,526,526,,526,526,526,526,,,,,526,526,,549',
'549,549,,549,526,,526,549,549,,,,549,,549,549,549,549,549,549,549,,',
',,,549,549,549,549,549,549,549,,,549,,,,,,,549,,,549,549,549,549,549',
'549,549,549,,549,549,549,,549,549,549,549,549,,,,,,,,,,,,,,,,,,,,549',
',,549,,,549,549,,,549,,,,,,549,,,,,,,,,549,,,,,549,549,549,549,,549',
'549,549,549,,,,,549,549,,569,569,569,,569,549,,549,569,569,,,,569,,569',
'569,569,569,569,569,569,,,,,,569,569,569,569,569,569,569,,,569,,,,,',
',569,,,569,569,569,569,569,569,569,569,,569,569,569,,569,569,569,569',
'569,,,,,,,,,,,,,,,,,,,,569,,,569,,,569,569,,,569,,569,,,,569,,,,,,,',
',569,,,,,569,569,569,569,,569,569,569,569,,,,,569,569,,570,570,570,',
'570,569,,569,570,570,,,,570,,570,570,570,570,570,570,570,,,,,,570,570',
'570,570,570,570,570,,,570,,,,,,,570,,,570,570,570,570,570,570,570,570',
'570,570,570,570,,570,570,570,570,570,,,,,,,,,,,,,,,,,,,,570,,,570,,',
'570,570,,,570,,570,,570,,570,,,570,,,,,,570,,,,,570,570,570,570,,570',
'570,570,570,,,,,570,570,,580,580,580,,580,570,,570,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,,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,,614',
'614,614,,614,580,,580,614,614,,,,614,,614,614,614,614,614,614,614,,',
',,,614,614,614,614,614,614,614,,,614,,,,,,,614,,,614,614,614,614,614',
'614,614,614,,614,614,614,,614,614,614,614,614,,,,,,,,,,,,,,,,,,,,614',
',,614,,,614,614,,,614,,614,,,,614,,,,,,,,,614,,,,,614,614,614,614,,614',
'614,614,614,,,,,614,614,,615,615,615,,615,614,,614,615,615,,,,615,,615',
'615,615,615,615,615,615,,,,,,615,615,615,615,615,615,615,,,615,,,,,',
',615,,,615,615,615,615,615,615,615,615,,615,615,615,,615,615,615,615',
'615,,,,,,,,,,,,,,,,,,,,615,,,615,,,615,615,,,615,,,,,,615,,,,,,,,,615',
',,,,615,615,615,615,,615,615,615,615,,,,,615,615,,618,618,618,,618,615',
',615,618,618,,,,618,,618,618,618,618,618,618,618,,,,,,618,618,618,618',
'618,618,618,,,618,,,,,,,618,,,618,618,618,618,618,618,618,618,618,618',
'618,618,,618,618,618,618,618,,,,,,,,,,,,,,,,,,,,618,,,618,,,618,618',
',,618,,618,,618,,618,,,618,,,,,,618,,,,,618,618,618,618,,618,618,618',
'618,,,,,618,618,,619,619,619,,619,618,,618,619,619,,,,619,,619,619,619',
'619,619,619,619,,,,,,619,619,619,619,619,619,619,,,619,,,,,,,619,,,619',
'619,619,619,619,619,619,619,619,619,619,619,,619,619,619,619,619,,,',
',,,,,,,,,,,,,,,,619,,,619,,,619,619,,,619,,,,619,,619,,,619,,,,,,619',
',,,,619,619,619,619,,619,619,619,619,,,,,619,619,,620,620,620,,620,619',
',619,620,620,,,,620,,620,620,620,620,620,620,620,,,,,,620,620,620,620',
'620,620,620,,,620,,,,,,,620,,,620,620,620,620,620,620,620,620,,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,,621,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,,625,625,625,,625,621,,621,625,625,,,,625,,625',
'625,625,625,625,625,625,,,,,,625,625,625,625,625,625,625,,,625,,,,,',
',625,,,625,625,625,625,625,625,625,625,,625,625,625,,625,625,625,625',
'625,,,,,,,,,,,,,,,,,,,,625,,,625,,,625,625,,,625,,,,,,625,,,,,,,,,625',
',,,,625,625,625,625,,625,625,625,625,,,,,625,625,,626,626,626,,626,625',
',625,626,626,,,,626,,626,626,626,626,626,626,626,,,,,,626,626,626,626',
'626,626,626,,,626,,,,,,,626,,,626,626,626,626,626,626,626,626,,626,626',
'626,,626,626,626,626,626,,,,,,,,,,,,,,,,,,,,626,,,626,,,626,626,,,626',
',,,,,626,,,,,,,,,626,,,,,626,626,626,626,,626,626,626,626,,,,,626,626',
',629,629,629,,629,626,,626,629,629,,,,629,,629,629,629,629,629,629,629',
',,,,,629,629,629,629,629,629,629,,,629,,,,,,,629,,,629,629,629,629,629',
'629,629,629,,629,629,629,,629,629,629,629,629,,,,,,,,,,,,,,,,,,,,629',
',,629,,,629,629,,,629,,,,,,629,,,,,,,,,629,,,,,629,629,629,629,,629',
'629,629,629,,,,,629,629,,630,630,630,,630,629,,629,630,630,,,,630,,630',
'630,630,630,630,630,630,,,,,,630,630,630,630,630,630,630,,,630,,,,,',
',630,,,630,630,630,630,630,630,630,630,,630,630,630,,630,630,630,630',
'630,,,,,,,,,,,,,,,,,,,,630,,,630,,,630,630,,,630,,,,,,630,,,,,,,,,630',
',,,,630,630,630,630,,630,630,630,630,,,,,630,630,,654,654,654,,654,630',
',630,654,654,,,,654,,654,654,654,654,654,654,654,,,,,,654,654,654,654',
'654,654,654,,,654,,,,,,,654,,,654,654,654,654,654,654,654,654,,654,654',
'654,,654,654,654,654,654,,,,,,,,,,,,,,,,,,,,654,,,654,,,654,654,,,654',
',,,,,654,,,,,,,,,654,,,,,654,654,654,654,,654,654,654,654,,,,,654,654',
',660,660,660,,660,654,,654,660,660,,,,660,,660,660,660,660,660,660,660',
',,,,,660,660,660,660,660,660,660,,,660,,,,,,,660,,,660,660,660,660,660',
'660,660,660,,660,660,660,,660,660,,,660,,,,,,,,,,,,,,,,,,,,660,,,660',
',,660,660,,,660,,,,,,,,,,,,,,,,,,,,660,660,660,660,,660,660,660,660',
',,,,660,660,,671,671,671,,671,660,,660,671,671,,,,671,,671,671,671,671',
'671,671,671,,,,,,671,671,671,671,671,671,671,,,671,,,,,,,671,,,671,671',
'671,671,671,671,671,671,,671,671,671,,671,671,,,671,,,,,,,,,,,,,,,,',
',,,671,,,671,,,671,671,,,671,,,,,,,,,,,,,,,,,,,,671,671,671,671,,671',
'671,671,671,,,,,671,671,,677,677,677,,677,671,,671,677,677,,,,677,,677',
'677,677,677,677,677,677,,,,,,677,677,677,677,677,677,677,,,677,,,,,',
',677,,,677,677,677,677,677,677,677,677,,677,677,677,,677,677,677,677',
'677,,,,,,,,,,,,,,,,,,,,677,,,677,,,677,677,,,677,,677,,,,677,,,,,,,',
',677,,,,,677,677,677,677,,677,677,677,677,,,,,677,677,,696,696,696,',
'696,677,,677,696,696,,,,696,,696,696,696,696,696,696,696,,,,,,696,696',
'696,696,696,696,696,,,696,,,,,,,696,,,696,696,696,696,696,696,696,696',
',696,696,696,,696,696,696,696,696,,,,,,,,,,,,,,,,,,,,696,,,696,,,696',
'696,,,696,,,,,,696,,,,,,,,,696,,,,,696,696,696,696,,696,696,696,696',
',,,,696,696,,723,723,723,,723,696,,696,723,723,,,,723,,723,723,723,723',
'723,723,723,,,,,,723,723,723,723,723,723,723,,,723,,,,,,,723,,,723,723',
'723,723,723,723,723,723,,723,723,723,,723,723,723,723,723,,,,,,,,,,',
',,,,,,,,,723,,,723,,,723,723,,,723,,,,,,723,,,,,,,,,723,,,,,723,723',
'723,723,,723,723,723,723,,,,,723,723,,729,729,729,,729,723,,723,729',
'729,,,,729,,729,729,729,729,729,729,729,,,,,,729,729,729,729,729,729',
'729,,,729,,,,,,,729,,,729,729,729,729,729,729,729,729,,729,729,729,',
'729,729,729,729,729,,,,,,,,,,,,,,,,,,,,729,,,729,,,729,729,,,729,,,',
',,729,,,,,,,,,729,,,,,729,729,729,729,,729,729,729,729,,,,,729,729,',
'752,752,752,,752,729,,729,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,,754,754,754,,754,752,,752,754,754,,,,754,,754',
'754,754,754,754,754,754,,,,,,754,754,754,754,754,754,754,,,754,,,,,',
',754,,,754,754,754,754,754,754,754,754,,754,754,754,,754,754,754,754',
'754,,,,,,,,,,,,,,,,,,,,754,,,754,,,754,754,,,754,,,,,,754,,,,,,,,,754',
',,,,754,754,754,754,,754,754,754,754,,,,,754,754,,768,768,768,,768,754',
',754,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,,769,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,,770,770,770,,770,769,,769,770,770,,,,770,,770',
'770,770,770,770,770,770,,,,,,770,770,770,770,770,770,770,,,770,,,,,',
',770,,,770,770,770,770,770,770,770,770,,770,770,770,,770,770,770,770',
'770,,,,,,,,,,,,,,,,,,,,770,,,770,,,770,770,,,770,,,,,,770,,,,,,,,,770',
',,,,770,770,770,770,,770,770,770,770,,,,,770,770,,771,771,771,,771,770',
',770,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',
',773,773,773,,773,771,,771,773,773,,,,773,,773,773,773,773,773,773,773',
',,,,,773,773,773,773,773,773,773,,,773,,,,,,,773,,,773,773,773,773,773',
'773,773,773,,773,773,773,,773,773,773,773,773,,,,,,,,,,,,,,,,,,,,773',
',,773,,,773,773,,,773,,,,,,773,,,,,,,,,773,,,,,773,773,773,773,,773',
'773,773,773,,,,,773,773,,785,785,785,,785,773,,773,785,785,,,,785,,785',
'785,785,785,785,785,785,,,,,,785,785,785,785,785,785,785,,,785,,,,,',
',785,,,785,785,785,785,785,785,785,785,,785,785,785,,785,785,,,785,',
',,,,,,,,,,,,,,,,,,785,,,785,,,785,785,,,785,,,,,,,,,,,,,,,,,,,,785,785',
'785,785,,785,785,785,785,,,,,785,785,,832,832,832,,832,785,,785,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,,837,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,,854,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',
',855,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,,869,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,,881,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,,975,975,975,,975,881,,881,975',
'975,,,,975,,975,975,975,975,975,975,975,,,,,,975,975,975,975,975,975',
'975,,,975,,,,,,,975,,,975,975,975,975,975,975,975,975,975,975,975,975',
',975,975,975,975,975,516,516,516,516,516,516,516,516,516,516,516,,516',
'516,,,516,516,,975,,,975,,,975,975,,,975,,975,516,975,516,975,516,516',
'975,516,516,516,516,516,975,516,,,,975,975,975,975,,975,975,975,975',
',,,,975,975,,516,27,,,,975,,975,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,,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,411,28,,,,,,411,411,411',
',,411,411,411,28,411,,28,28,,28,,28,,411,411,411,,,,,,,,,411,411,,411',
'411,411,411,411,,,,,,,,,,,,,,,,,,,,,,,411,411,411,411,411,411,411,411',
'411,411,411,411,411,411,,,411,411,411,,,411,,411,411,,,411,411,,411',
',411,,411,,411,411,,411,411,411,411,411,,411,411,411,,,,,,,,,,,,,,411',
',470,411,411,,411,,411,470,470,470,,,470,470,470,641,470,641,641,641',
'641,641,,,,470,470,,,,641,,,,,,470,470,,470,470,470,470,470,,,,,,,,',
'641,,333,,333,333,333,333,333,641,641,641,641,,,,641,333,,,,,,,,470',
',,,,,,470,,,,,470,470,333,333,,641,,,,,,333,333,333,333,,,,333,,,,,470',
'470,,,,,,,,,,,,,,470,,,470,,,,,470,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,392,392,392,392,392,392,392,392,392',
'392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,,,,392,392',
'392,392,392,392,392,392,392,392,,,,,,392,392,392,392,392,392,392,392',
'392,,,392,,,,,,,,392,392,,392,392,392,392,392,392,392,,,392,392,,,,392',
'392,392,392,,,,,,,,,,,,,,392,392,,392,392,392,392,392,392,392,392,392',
'392,392,392,,,392,392,,,,,,,,,,,,,,392,611,611,611,611,611,611,611,611',
'611,611,611,611,611,611,611,611,611,611,611,611,611,611,611,611,,,,611',
'611,611,611,611,611,611,611,611,611,,,,,,611,611,611,611,611,611,611',
'611,611,,,611,,,,,,,,611,611,,611,611,611,611,611,611,611,,,611,611',
',,,611,611,611,611,,,,,,,,,,,,,,611,611,,611,611,611,611,611,611,611',
'611,611,611,611,611,,,611,611,,,,,,,,,,,,,,611,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,736,736,736,736,736,736,736',
'736,736,736,736,736,736,736,736,736,736,736,736,736,736,736,736,736',
',,,736,736,736,736,736,736,736,736,736,736,,,,,,736,736,736,736,736',
'736,736,736,736,,,736,,,,,,,,736,736,,736,736,736,736,736,736,736,,',
'736,736,,,,736,736,736,736,,,,,,,,,,,,,,736,736,,736,736,736,736,736',
'736,736,736,736,736,736,736,,,736,672,672,672,672,672,672,672,672,672',
'672,672,,672,672,,,672,672,,,531,,531,531,531,531,531,,,,,,672,,672',
'531,672,672,,672,672,672,672,672,,672,753,753,753,753,753,753,753,753',
'753,753,753,531,753,753,,,753,753,,672,531,531,531,531,,,,531,,,,,753',
',753,,753,753,,753,753,753,753,753,,753,758,758,758,758,758,758,758',
'758,758,758,758,,758,758,,,758,758,,753,,,,587,,587,587,587,587,587',
',,758,,758,,758,758,587,758,758,758,758,758,,758,760,760,760,760,760',
'760,760,760,760,760,760,,760,760,587,587,760,760,,758,,,,587,587,587',
'587,,,,587,,760,,760,,760,760,,760,760,760,760,760,,760,763,763,763',
'763,763,763,763,763,763,763,763,,763,763,,,763,763,,760,690,,690,690',
'690,690,690,,,,,,763,,763,690,763,763,,763,763,763,763,763,,763,765',
'765,765,765,765,765,765,765,765,765,765,690,765,765,,,765,765,,763,690',
'690,690,690,,,,690,,,,,765,,765,,765,765,,765,765,765,765,765,,765,767',
'767,767,767,767,767,767,767,767,767,767,,767,767,,,767,767,,765,692',
',692,692,692,692,692,,,,,,767,,767,692,767,767,,767,767,767,767,767',
',767,853,853,853,853,853,853,853,853,853,853,853,692,853,853,,,853,853',
',767,692,692,692,692,,,,692,,,,,853,,853,,853,853,,853,853,853,853,853',
',853,856,856,856,856,856,856,856,856,856,856,856,,856,856,,,856,856',
',853,,,,,,,,,,,,,856,,856,,856,856,,856,856,856,856,856,,856,,,,,,207',
'207,,,207,,,,,,,,207,207,856,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,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,256,256,208,,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',
'436,436,256,,436,,,,,,,,436,436,,436,436,436,436,436,436,436,,,436,436',
',,,436,436,436,436,,,,,,436,,,,,,,,436,436,,436,436,436,436,436,436',
'436,436,436,436,436,436,437,437,436,,437,,,,,,,,437,437,,437,437,437',
'437,437,437,437,,,437,437,,,,437,437,437,437,,,,,,437,,,,,,,,437,437',
',437,437,437,437,437,437,437,437,437,437,437,437,502,502,437,,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,503,503,502,,503,,,,,,,,503,503,,503,503,503,503,503,503,503,,,503',
'503,,,,503,503,503,503,,,,,,503,,,,,,,,503,503,,503,503,503,503,503',
'503,503,503,503,503,503,503,514,514,503,,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,515,515,514,,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,571,571,515,,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,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,578,578,572',
',578,,,,,,,,578,578,,578,578,578,578,578,578,578,,,578,578,,,,578,578',
'578,578,,,,,,578,,,,,,,,578,578,,578,578,578,578,578,578,578,578,578',
'578,578,578,579,579,578,,579,,,,,,,,579,579,,579,579,579,579,579,579',
'579,,,579,579,,,,579,579,579,579,,,,,,579,,,,,,,,579,579,,579,579,579',
'579,579,579,579,579,579,579,579,579,932,932,579,,932,,,,,,,,932,932',
',932,932,932,932,932,932,932,,,932,932,,,,932,932,932,932,,,,,,932,',
',,,,,,932,932,,932,932,932,932,932,932,932,932,932,932,932,932,976,976',
'932,,976,,,,,,,,976,976,,976,976,976,976,976,976,976,,,976,976,,,,976',
'976,976,976,,,,,,976,,,,,,,,976,976,,976,976,976,976,976,976,976,976',
'976,976,976,976,977,977,976,,977,,,,,,,,977,977,,977,977,977,977,977',
'977,977,,,977,977,,,,977,977,977,977,,,,,,977,,,,,,,,977,977,,977,977',
'977,977,977,977,977,977,977,977,977,977,,694,977,694,694,694,694,694',
',734,,734,734,734,734,734,694,,,,,,,,734,,860,,860,860,860,860,860,',
',,,,694,,,860,,,,,734,,,694,694,,,,694,734,734,734,734,,,,734,860,,862',
',862,862,862,862,862,860,860,860,860,,,,860,862,,864,,864,864,864,864',
'864,,888,,888,888,888,888,888,864,,,,,862,,,888,,,,,,862,862,862,862',
',,,862,864,,,,,,,,888,,,864,864,,,,864,888,888,888,888,,,890,888,890',
'890,890,890,890,892,,892,892,892,892,892,894,890,894,894,894,894,894',
',892,,,,,,915,894,915,915,915,915,915,,,890,,,,,,915,892,,,,890,890',
',894,,890,,892,892,,,,892,,894,894,,915,915,894,,,,,,,915,915,915,915',
',,961,915,961,961,961,961,961,963,,963,963,963,963,963,965,961,965,965',
'965,965,965,967,963,967,967,967,967,967,979,965,979,979,979,979,979',
',967,961,,,,,,979,963,,961,961,961,961,,965,,961,,963,963,,967,,963',
',965,965,,979,,965,,967,967,,,,967,,979,979,,,1005,979,1005,1005,1005',
'1005,1005,,,,,,,,,1005,,,,,,,,,,,,,,,,,,,,,,1005,,,,,,,,,,,1005,1005',
',,,1005' ]
racc_action_check = arr = ::Array.new(24831, 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 = [
0, 125, nil, 24, nil, 5042, 1141, 39, 22340, 22468,
84, nil, 75, 220, 360, 247, 192, 439, nil, 25,
5171, 6856, 331, nil, 111, nil, 55, 21855, 21965, 5300,
5429, 5558, nil, 758, 5687, 5816, nil, 257, 280, 282,
390, 485, 5953, 6082, 6211, 317, 559, nil, nil, nil,
nil, nil, nil, nil, nil, nil, 890, nil, 67, 6340,
6469, 0, nil, 6598, 6727, nil, nil, 6856, 6993, 7122,
7251, 22852, nil, nil, nil, nil, nil, 656, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, 0, nil, nil, 134, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, 460, nil, 7380, nil,
nil, nil, nil, 7517, 7646, 7775, 7904, 8033, 1027, nil,
595, 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, 375, nil, 1156, 8162, 8291, 8420, 23448, 23509, 8549,
8678, 8807, 8936, 9065, 9194, nil, nil, 589, 83, 107,
465, 139, 390, 488, nil, 9323, 1285, 524, 9452, 9581,
9710, 9839, 9968, 10097, 10226, 10355, 10484, 10613, 10742, 10871,
11000, 11129, 11258, 11387, 11516, 11645, 11774, 11903, 12032, 12161,
12290, 12419, 12548, 12677, nil, nil, 23570, nil, nil, 525,
12806, 12935, nil, nil, nil, nil, nil, nil, nil, 13064,
nil, 7380, nil, 492, 507, nil, 13193, 570, 13322, nil,
13451, 13580, nil, nil, 57, nil, 13709, 1156, 555, 540,
1414, 551, 593, 571, 13838, 1543, 591, 758, 761, 653,
800, nil, 627, 588, 79, nil, nil, nil, 640, 504,
607, 13975, nil, 318, 679, 681, 808, nil, 687, nil,
14104, 1672, 14233, 625, nil, 243, 258, 663, 652, 344,
683, nil, nil, 22209, 564, 133, 140, 14362, 14491, 343,
758, 648, 32, 57, 844, 731, 65, 771, nil, nil,
359, 395, 449, nil, 931, nil, 59, 14620, nil, nil,
nil, 142, 310, 419, 464, 465, 493, 565, 567, 630,
nil, 657, nil, 14749, nil, 356, 479, 484, 513, 539,
59, 89, 546, nil, nil, nil, nil, nil, nil, nil,
nil, 701, 22596, nil, nil, nil, nil, 705, nil, 706,
nil, 14878, 711, nil, 1672, 722, nil, 724, 729, 384,
447, 22077, nil, nil, nil, 244, 356, 783, nil, nil,
1804, 1938, nil, 13838, nil, 743, nil, nil, 758, nil,
nil, nil, nil, 218, nil, 798, 23631, 23692, 15007, 143,
15136, 15265, 15394, 1027, 1156, 873, 904, 829, 834, 844,
846, 2978, 3107, 3236, 1285, 1414, 1543, 1753, 1887, 2075,
2204, 2333, 2462, 2591, 633, 817, 2720, 2849, 15910, 90,
22206, nil, nil, nil, nil, 783, nil, 269, 293, 784,
nil, nil, 15523, nil, 15652, nil, 15781, nil, nil, nil,
nil, 15910, 1270, 2075, 794, 792, nil, nil, 801, 16047,
805, 16176, 23753, 23814, 942, 847, nil, nil, 16305, 805,
nil, 16434, 16563, 16692, 23875, 23936, 21723, 16821, 933, 937,
761, 860, nil, 16950, nil, nil, 17079, nil, nil, nil,
96, 23049, nil, 822, 846, nil, 848, 849, 852, nil,
nil, nil, nil, nil, nil, 850, nil, 623, nil, 17208,
nil, nil, nil, 940, nil, nil, nil, 943, nil, nil,
949, 2204, 992, nil, 2333, 158, 205, 989, 1000, 17337,
17466, 23997, 24058, 102, nil, nil, 959, nil, 24119, 24180,
17595, nil, nil, nil, 415, 271, 2462, 23144, nil, 288,
nil, nil, nil, 895, nil, nil, nil, 892, nil, nil,
381, nil, 406, nil, nil, 884, nil, 900, nil, nil,
nil, 22724, nil, 906, 17724, 17853, 490, 946, 17982, 18111,
18240, 18369, 945, nil, nil, 18498, 18627, 955, nil, 18756,
18885, nil, nil, 152, 170, 485, 619, 923, 5816, 922,
nil, 22170, nil, 2591, 1028, 74, 308, nil, 2720, 2849,
nil, 930, nil, 982, 19014, nil, nil, nil, 970, 206,
19143, 954, nil, 978, 199, 270, 1024, 425, 1027, 1028,
988, 19272, 23014, 1060, 1065, 325, 1125, 19401, nil, 1010,
nil, 386, nil, 2978, 3107, 1011, 644, nil, nil, 700,
23233, nil, 23325, nil, 24425, nil, 19530, nil, 854, nil,
1013, 357, nil, 1021, nil, nil, nil, nil, 834, nil,
1138, nil, nil, nil, nil, 1144, nil, 144, 1024, 116,
129, 159, 252, 19659, 518, 1156, nil, 1034, 3236, 19788,
nil, nil, 1159, 3365, 24433, 454, 22965, nil, nil, nil,
nil, nil, nil, 3494, nil, nil, nil, nil, nil, nil,
nil, 1036, 19917, 23060, 20046, nil, 1037, nil, 23106, nil,
23152, nil, nil, 23198, nil, 23244, nil, 23290, 20175, 20304,
20433, 20562, 250, 20691, 1039, 1059, nil, 1060, 1079, 1083,
nil, 1128, 1112, 1111, 1111, 20820, nil, nil, 1246, nil,
nil, 3623, 1147, 1259, nil, nil, nil, 1136, 557, nil,
nil, 1262, nil, 3752, 1142, 1193, nil, nil, 1191, nil,
1169, 1274, 1203, 1164, nil, nil, nil, 1165, 1166, nil,
1168, 1188, nil, 1194, nil, 1211, 890, 1212, 1271, nil,
1354, nil, 20949, 1355, 3881, 4010, nil, 21078, 4139, 139,
224, nil, 1357, 607, 4268, nil, 1362, 1242, nil, nil,
1248, 1246, nil, 23336, 21207, 21336, 23382, 667, nil, nil,
24450, nil, 24489, nil, 24506, nil, nil, 1272, 959, 21465,
1030, 1329, nil, 1276, nil, nil, nil, 4397, nil, nil,
160, 21594, nil, nil, nil, nil, nil, nil, 24514, nil,
24566, nil, 24573, nil, 24580, nil, nil, nil, nil, 481,
1400, 1264, nil, 166, nil, 1389, 1390, nil, 391, nil,
nil, nil, 1395, nil, nil, 24594, nil, 1276, nil, nil,
1277, 1278, 1279, 1289, nil, 1293, nil, 652, nil, nil,
nil, 1159, 24241, nil, nil, nil, 4526, 1281, 1285, 1417,
1372, 1526, nil, 1295, 1297, 1305, 1306, 1307, 1430, 1308,
1438, 4655, nil, nil, nil, nil, nil, 4784, nil, 4913,
nil, 24646, nil, 24653, nil, 24660, nil, 24667, nil, nil,
nil, 1013, 1353, 1361, 1449, 21723, 24302, 24363, 1534, 24674,
nil, nil, nil, nil, 1529, 1337, 857, 1465, 1473, 1353,
1357, 1365, 1367, nil, nil, 1373, 167, 168, 170, 1672,
1371, 1374, nil, nil, nil, 24726, nil, nil, nil, nil,
169, nil, 1375, nil ]
racc_action_default = [
-3, -586, -1, -572, -4, -586, -7, -586, -586, -586,
-586, -29, -586, -586, -586, -279, -586, -41, -44, -574,
-586, -49, -51, -52, -53, -57, -258, -258, -258, -293,
-328, -329, -69, -11, -73, -81, -83, -586, -483, -484,
-586, -586, -586, -586, -586, -574, -239, -270, -271, -272,
-273, -274, -275, -276, -277, -278, -562, -281, -283, -585,
-553, -301, -389, -586, -586, -306, -309, -572, -586, -586,
-586, -586, -330, -331, -426, -427, -428, -429, -430, -451,
-433, -434, -453, -455, -438, -443, -447, -449, -465, -453,
-467, -468, -560, -472, -473, -561, -475, -476, -477, -478,
-479, -480, -481, -482, -487, -488, -586, -2, -573, -581,
-582, -583, -6, -586, -586, -586, -586, -586, -3, -17,
-586, -112, -113, -114, -115, -116, -117, -118, -119, -120,
-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,
-194, -22, -121, -11, -586, -586, -248, -586, -586, -586,
-586, -586, -586, -586, -574, -575, -48, -586, -483, -484,
-586, -279, -586, -586, -231, -586, -11, -586, -586, -586,
-586, -586, -586, -586, -586, -586, -586, -586, -586, -586,
-586, -586, -586, -586, -586, -586, -586, -586, -586, -586,
-586, -586, -586, -586, -395, -397, -586, -570, -571, -58,
-248, -586, -300, -401, -410, -412, -64, -407, -65, -574,
-66, -240, -253, -262, -262, -257, -586, -263, -586, -555,
-586, -586, -67, -68, -572, -12, -586, -15, -586, -71,
-11, -574, -586, -74, -77, -11, -89, -90, -586, -586,
-97, -293, -296, -574, -586, -328, -329, -332, -408, -586,
-79, -586, -85, -290, -469, -470, -586, -216, -217, -232,
-586, -11, -586, -574, -241, -578, -578, -586, -586, -578,
-586, -302, -303, -515, -50, -586, -586, -586, -586, -572,
-586, -573, -483, -484, -586, -586, -279, -586, -342, -343,
-107, -108, -586, -110, -586, -279, -586, -586, -483, -484,
-321, -112, -113, -154, -155, -156, -172, -177, -184, -187,
-323, -586, -551, -586, -431, -586, -586, -586, -586, -586,
-586, -586, -586, 1014, -5, -584, -23, -24, -25, -26,
-27, -586, -586, -19, -20, -21, -122, -586, -30, -39,
-40, -586, -586, -31, -197, -574, -249, -262, -262, -563,
-564, -258, -405, -565, -566, -564, -563, -258, -404, -406,
-565, -566, -37, -205, -38, -586, -42, -43, -195, -263,
-45, -46, -47, -574, -299, -586, -586, -586, -248, -290,
-586, -586, -586, -206, -207, -208, -209, -210, -211, -212,
-213, -218, -219, -220, -221, -222, -223, -224, -225, -226,
-227, -228, -229, -230, -233, -234, -235, -236, -574, -378,
-258, -563, -564, -55, -59, -574, -259, -378, -378, -574,
-295, -254, -586, -255, -586, -260, -586, -264, -558, -559,
-10, -573, -14, -3, -574, -70, -288, -86, -75, -586,
-574, -248, -586, -586, -96, -586, -469, -470, -586, -82,
-87, -586, -586, -586, -586, -586, -237, -586, -418, -586,
-284, -586, -242, -580, -579, -244, -580, -291, -292, -554,
-586, -515, -392, -550, -550, -498, -500, -500, -500, -514,
-516, -517, -518, -519, -520, -521, -522, -586, -524, -586,
-530, -532, -533, -535, -540, -542, -543, -545, -546, -547,
-586, -11, -333, -334, -11, -586, -586, -586, -586, -586,
-248, -586, -586, -290, -314, -107, -108, -109, -586, -586,
-248, -317, -489, -490, -586, -586, -11, -515, -325, -574,
-432, -452, -457, -586, -459, -435, -454, -586, -456, -437,
-586, -440, -586, -442, -445, -586, -446, -586, -466, -8,
-18, -586, -28, -269, -586, -586, -409, -586, -250, -252,
-586, -586, -60, -247, -402, -586, -586, -62, -403, -586,
-586, -298, -576, -563, -564, -563, -564, -574, -195, -586,
-379, -574, -381, -11, -54, -398, -378, -245, -11, -11,
-294, -262, -261, -265, -586, -556, -557, -13, -586, -72,
-586, -78, -84, -574, -563, -564, -246, -93, -95, -586,
-80, -586, -204, -214, -215, -574, -585, -585, -282, -574,
-287, -578, -390, -11, -11, -574, -586, -496, -497, -586,
-586, -507, -586, -510, -586, -512, -586, -344, -586, -346,
-348, -355, -521, -574, -526, -534, -544, -548, -585, -335,
-585, -307, -336, -337, -310, -586, -313, -586, -574, -563,
-564, -567, -289, -586, -107, -108, -111, -574, -11, -586,
-492, -319, -586, -11, -515, -586, -586, -552, -458, -461,
-462, -463, -464, -11, -436, -439, -441, -444, -448, -450,
-123, -267, -586, -198, -586, -577, -262, -33, -200, -34,
-201, -61, -35, -203, -36, -202, -63, -196, -586, -586,
-586, -586, -409, -586, -550, -550, -360, -362, -362, -362,
-377, -586, -574, -383, -521, -586, -528, -538, -586, -400,
-399, -11, -586, -586, -256, -266, -16, -76, -91, -88,
-297, -585, -340, -11, -419, -585, -420, -421, -586, -243,
-586, -586, -586, -550, -531, -549, -499, -500, -500, -525,
-500, -500, -541, -500, -536, -574, -586, -353, -586, -523,
-586, -338, -586, -586, -11, -11, -312, -586, -11, -409,
-586, -409, -586, -586, -11, -322, -586, -574, -494, -326,
-586, -268, -32, -199, -251, -586, -238, -586, -358, -359,
-368, -370, -586, -373, -586, -375, -380, -586, -586, -586,
-527, -586, -396, -586, -411, -413, -9, -11, -425, -341,
-586, -586, -423, -285, -393, -394, -391, -495, -586, -503,
-586, -505, -586, -508, -586, -511, -513, -345, -347, -351,
-586, -356, -304, -586, -305, -586, -586, -265, -585, -315,
-318, -491, -586, -324, -493, -515, -460, -550, -529, -361,
-362, -362, -362, -362, -539, -362, -382, -574, -385, -387,
-388, -537, -586, -290, -56, -424, -11, -98, -99, -586,
-586, -106, -422, -500, -500, -500, -500, -349, -586, -354,
-586, -11, -308, -311, -414, -415, -416, -11, -320, -11,
-357, -586, -365, -586, -367, -586, -371, -586, -374, -376,
-384, -586, -289, -567, -418, -248, -586, -586, -105, -586,
-501, -504, -506, -509, -586, -352, -585, -586, -586, -362,
-362, -362, -362, -386, -417, -574, -563, -564, -567, -104,
-500, -350, -339, -316, -327, -586, -363, -366, -369, -372,
-409, -502, -362, -364 ]
clist = [
'213,324,370,14,272,272,272,331,14,519,405,255,676,119,202,427,561,564',
'111,274,274,274,568,217,483,292,320,127,127,263,267,2,217,217,217,733',
'14,298,298,655,124,124,307,307,259,266,268,256,216,326,329,411,417,400',
'335,336,129,129,339,424,616,108,532,539,475,474,217,217,509,830,217',
'344,354,354,293,13,307,307,307,703,13,655,111,6,310,901,107,652,6,652',
'577,711,714,778,273,273,273,687,688,822,470,898,1,124,386,387,388,389',
'13,522,525,14,779,529,643,876,217,217,217,217,14,14,648,649,325,112',
'819,781,928,657,289,291,376,201,775,924,801,356,360,382,270,282,283',
'930,600,602,349,392,646,391,340,611,327,645,372,328,332,949,483,347',
'581,818,371,820,321,322,434,679,323,697,833,812,337,834,655,338,835',
'723,957,813,728,272,844,13,586,591,587,598,601,601,736,6,13,13,915,397',
'780,782,927,530,390,6,682,333,469,985,14,217,217,217,412,477,217,217',
'217,217,217,217,292,478,954,480,805,652,652,898,880,374,384,14,825,993',
'398,403,924,272,272,422,426,375,421,1001,637,495,272,377,930,378,379',
'715,380,274,381,738,743,729,661,817,814,274,685,539,918,217,217,670',
',,867,402,,,217,,732,402,,,13,,411,417,292,,505,,,292,,14,,791,772,14',
',822,819,298,14,111,,13,307,,521,663,,263,,,,267,920,,298,,726,539,798',
'307,697,,,827,14,217,273,,565,566,819,921,,922,273,,,,858,859,217,217',
'491,498,,,666,1002,,,917,510,,775,111,775,,775,666,943,217,13,,959,',
'13,909,490,955,492,13,582,476,839,718,,217,887,,,479,,841,,727,631,617',
'289,494,,,,289,500,588,,13,610,838,,,794,,819,,,,,,655,746,127,746,272',
'623,666,842,797,,,628,846,567,666,124,,,647,761,622,,650,989,766,427',
'627,,,,412,129,217,,,,,659,,697,639,697,,662,,775,,775,,775,652,775',
',,847,539,809,,,994,421,,,651,623,,,272,,,26,,960,,,26,,,,644,,,,,,14',
',14,,775,26,,,298,,217,412,794,307,26,26,26,298,26,681,,,307,412,,,217',
'947,697,,658,,806,,,,,,912,,,421,,,,510,,737,26,26,,272,26,421,510,',
',,,708,,272,710,,,,,936,,,14,,13,14,13,,697,,697,217,412,,6,,,,712,712',
'412,217,951,,,26,,14,956,790,26,26,26,26,26,26,,730,731,,,,421,,697',
',756,,421,,,,,,750,,617,807,,,783,217,217,,,800,217,217,127,,217,789',
'717,788,13,,,13,792,793,,124,617,539,14,988,757,759,1010,14,14,762,764',
'829,,426,,129,808,13,,298,,,783,849,307,623,,,628,,298,810,811,,,307',
',,26,26,26,26,14,14,26,26,26,26,26,26,,,,,,617,510,,,,,26,,,617,,,799',
',,840,,,,13,,843,,,13,13,,217,,,,,14,217,,,850,14,,,26,26,,402,878,',
',14,882,26,,848,,,,,,,217,13,13,,,,783,,26,,,124,26,,,,,26,,,897,,995',
'15,,852,873,,15,,,870,,,,,307,14,879,,776,,914,26,26,,13,,,14,,13,,',
',,15,300,300,26,26,13,,666,,,903,,,905,906,,,908,,,,,217,26,14,14,,',
'14,815,,,815,,14,346,355,355,,26,,,712,,16,911,,,,16,,,,13,,,935,,,931',
',,,,307,13,,14,,,,939,,,,15,307,16,,,,330,,,15,15,691,693,695,,,,,,',
'970,13,13,,,13,,,,26,,13,,,,,,348,,,974,,,,,,,,334,334,,14,334,,,986',
',,,,,987,272,,13,,14,,,,,,14,,14,,421,16,,,,,26,,26,,16,16,617,,217',
'412,26,,,15,,,334,334,334,334,,,,,,,26,,,,,,,,,,15,,,421,,13,,815,,',
'776,,776,,776,,,,,,13,,,,,,13,,13,,,,399,,26,,,26,429,,,,,26,,,,,,,',
',,26,16,,,,,26,15,425,,,15,,,,300,15,,,,,,,,16,430,431,432,433,,,,300',
',,,,,,38,26,26,15,,38,26,26,,,26,,485,,487,,488,489,,776,,776,,776,26',
'776,,,,26,26,,,38,296,296,,,,,,,,,,16,,,,16,,,,,16,,,,,,,,,776,26,26',
',,342,358,358,358,,,,,,,,,16,,889,891,,893,895,,896,861,863,865,777',
',,,,520,,,,,,,26,,,,38,26,26,,334,334,26,,,38,38,,,,,,26,,,,,,,,585',
',,26,,613,,,,,,821,,823,,,589,,,,,,,,,,,39,,,,,39,,,,,,,,26,15,,15,',
',,,,300,,,26,,,,,,300,,39,297,297,,,,,,,,,38,,,,,980,981,982,983,,26',
',26,26,,653,26,330,,656,,,26,38,343,359,359,359,,962,964,966,968,,969',
',,,,,15,,,15,,,,16,,16,,,,,,26,653,,,330,,,1011,,39,15,,,,,,,742,39',
'39,,,,,,,,704,38,,,,38,,675,,296,38,,,,,,1006,1007,1008,1009,429,,,',
',,296,,923,,925,,26,,,16,38,,16,1013,15,,,,,15,15,26,,,,,,26,944,26',
'945,300,946,,16,,,,,751,,,300,653,330,26,,,,,,39,,,15,15,,,,,,,,,,,',
',,,,,,,39,,,425,,795,,,,,,,,,,,,16,,,,,16,16,,15,,990,804,991,15,992',
',,,,,,,,15,,,,,1000,,824,,,,,,,,,,16,16,,39,,,,39,,,,297,39,,1012,,',
',,,,,,,,355,,,297,,,15,,,,,,,39,,,,,15,,16,851,,,38,16,38,,,,,334,296',
',,16,,334,,,,296,,,,,,,,15,15,,,15,,,,,,15,,,,,,,,,,,,,,,,,,,,,,,,16',
'355,,,,,,,,15,,38,16,941,38,,,,,,,,,907,,,,,,,,,,,,,38,,,,330,,,16,16',
',,16,,,,,,16,,,,334,,,,,,,,,,,15,,,,,,,,,,,,,,,15,,,16,,,15,942,15,',
'38,,,,,38,38,39,,39,,,,,,297,,296,,,,,,,297,,,,296,,,,,,,,,,,,38,38',
',,,,,,,,,,16,,,,,,,,,,,,,,,16,,,,,,16,,16,,39,,,39,,,,,38,,,,,38,,,',
',,,,,,38,,39,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,358,,,,,,38,,,,',
',,,,,,39,38,,,,39,39,,,,,,,,,,,297,,,,,,,,,,,297,,,,38,38,224,,38,,',
',39,39,38,271,271,271,,,,,,,,,,,317,318,319,,,,,,,,,358,,,,,,271,271',
'38,,,,937,,,,,,39,,,,,39,,,,,,,,,,39,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,38,,,,,,,,359,,,,,,39,38,,,,,,38,,38,,,39,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,39,39,,,39,,,,,,39,,,,,,,,,,,,,,,,,271,404,271,,,423,428,,359',
',,,,,,,39,,,,938,224,,,443,444,445,446,447,448,449,450,451,452,453,454',
'455,456,457,458,459,460,461,462,463,464,465,466,467,468,,,,,,,271,271',
',,,,,,,271,,,,,,,271,,271,39,271,271,,,,,,,,,,,,,39,,,,,,39,,39,,,,',
',,,,,,,,,,,,,516,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,271,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',271,,423,638,404,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,271,,271,,271',
',,,,,,,,,,,,,,271,,,,,,,,,,672,673,674,,,,,,,,,,271,,,271,,,,,,,,,,',
',,,,,,,,,,,,271,,,,,,,,,,,,,,,,,,,,271,271,,,,,,,,,,271,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,271,753,,,271,271,758,760,,,,763,765,,,638,767',
',,,,,,,,,,,,,,,,,,,,,,,271,,,,,,,,,,,,,,,,,,,,,,,271,,,,,,,,,,,,,,,',
',,,271,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,271,,853',
',,,,,,,,,,,,,758,760,765,763,,856,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,271,,,,,,,,,,,,,,,,,271,853,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,271' ]
racc_goto_table = arr = ::Array.new(2890, 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,65,56,22,33,33,33,84,22,8,23,135,10,15,15,18,87,87,93,68,68,68,90',
'22,71,9,31,60,60,69,69,2,22,22,22,94,22,22,22,170,57,57,63,63,38,38',
'38,36,20,68,68,37,37,27,17,17,61,61,17,27,24,6,134,158,23,39,22,22,51',
'88,22,22,22,22,49,21,63,63,63,114,21,170,93,7,50,115,4,72,7,72,54,89',
'89,124,66,66,66,119,119,166,37,112,1,57,17,17,17,17,21,67,67,22,125',
'67,40,12,22,22,22,22,22,22,40,40,66,5,162,127,129,14,45,46,147,16,118',
'167,11,55,55,147,44,44,44,130,150,150,19,30,42,2,4,62,64,70,82,83,86',
'115,71,91,92,125,95,125,96,97,47,98,99,113,11,127,100,101,170,102,103',
'104,105,118,106,33,107,21,108,151,109,151,151,151,110,7,21,21,111,9',
'116,122,128,131,7,7,132,133,136,115,22,22,22,22,69,138,22,22,22,22,22',
'22,9,139,140,47,141,72,72,112,142,145,5,22,114,129,20,20,167,33,33,20',
'20,146,57,115,23,47,33,148,130,149,152,90,153,68,154,155,156,157,51',
'161,163,68,134,158,164,22,22,51,,,127,66,,,22,,8,66,,,21,,37,37,9,,31',
',,9,,22,,40,24,22,,166,162,22,22,93,,21,63,,31,23,,69,,,,69,124,,22',
',54,158,24,63,113,,,113,22,22,66,,17,17,162,125,,125,66,,,,119,119,22',
'22,6,50,,,37,88,,,118,49,,118,93,118,,118,37,125,22,21,,94,,21,89,4',
'11,7,21,93,44,24,23,,22,119,,,44,,24,,23,47,31,45,46,,,,45,46,36,,21',
'15,87,,,71,,162,,,,,,170,151,60,151,33,69,37,8,51,,,69,8,4,37,57,,,47',
'39,38,,47,125,39,18,38,,,,69,61,22,,,,,47,,113,31,113,,47,,118,,118',
',118,72,118,,,134,158,67,,,10,57,,,68,69,,,33,,,41,,119,,,41,,,,38,',
',,,,22,,22,,118,41,,,22,,22,69,71,63,41,41,41,22,41,68,,,63,69,,,22',
'113,113,,2,,27,,,,,,8,,,57,,,,49,,47,41,41,,33,41,57,49,,,,,9,,33,9',
',,,,87,,,22,,21,22,21,,113,,113,22,69,,7,,,,93,93,69,22,87,,,41,,22',
'90,84,41,41,41,41,41,41,,93,93,,,,57,,113,,68,,57,,,,,,15,,31,65,,,31',
'22,22,,,47,22,22,60,,22,135,66,9,21,,,21,9,9,,57,31,158,22,8,20,20,24',
'22,22,20,20,47,,20,,61,31,21,,22,,,31,56,63,69,,,69,,22,9,9,,,63,,,41',
'41,41,41,22,22,41,41,41,41,41,41,,,,,,31,49,,,,,41,,,31,,,49,,,17,,',
',21,,17,,,21,21,,22,,,,,22,22,,,9,22,,,41,41,,66,65,,,22,65,41,,93,',
',,,,,22,21,21,,,,31,,41,,,57,41,,,,,41,,,47,,23,25,,20,9,,25,,,22,,',
',,63,22,9,,120,,47,41,41,,21,,,22,,21,,,,,25,25,25,41,41,21,,37,,,17',
',,9,9,,,9,,,,,22,41,22,22,,,22,120,,,120,,22,25,25,25,,41,,,93,,26,93',
',,,26,,,,21,,,9,,,22,,,,,63,21,,22,,,,22,,,,25,63,26,,,,28,,,25,25,160',
'160,160,,,,,,,31,21,21,,,21,,,,41,,21,,,,,,26,,,9,,,,,,,,29,29,,22,29',
',,9,,,,,,9,33,,21,,22,,,,,,22,,22,,57,26,,,,,41,,41,,26,26,31,,22,69',
'41,,,25,,,29,29,29,29,,,,,,,41,,,,,,,,,,25,,,57,,21,,120,,,120,,120',
',120,,,,,,21,,,,,,21,,21,,,,28,,41,,,41,28,,,,,41,,,,,,,,,,41,26,,,',
',41,25,26,,,25,,,,25,25,,,,,,,,26,29,29,29,29,,,,25,,,,,,,52,41,41,25',
',52,41,41,,,41,,28,,28,,28,28,,120,,120,,120,41,120,,,,41,41,,,52,52',
'52,,,,,,,,,,26,,,,26,,,,,26,,,,,,,,,120,41,41,,,52,52,52,52,,,,,,,,',
'26,,160,160,,160,160,,160,121,121,121,123,,,,,29,,,,,,,41,,,,52,41,41',
',29,29,41,,,52,52,,,,,,41,,,,,,,,29,,,41,,28,,,,,,123,,123,,,29,,,,',
',,,,,,53,,,,,53,,,,,,,,41,25,,25,,,,,,25,,,41,,,,,,25,,53,53,53,,,,',
',,,,52,,,,,160,160,160,160,,41,,41,41,,28,41,28,,28,,,41,52,53,53,53',
'53,,121,121,121,121,,121,,,,,,25,,,25,,,,26,,26,,,,,,41,28,,,28,,,160',
',53,25,,,,,,,25,53,53,,,,,,,,28,52,,,,52,,29,,52,52,,,,,,121,121,121',
'121,28,,,,,,52,,123,,123,,41,,,26,52,,26,121,25,,,,,25,25,41,,,,,,41',
'123,41,123,25,123,,26,,,,,28,,,25,28,28,41,,,,,,53,,,25,25,,,,,,,,,',
',,,,,,,,,53,,,26,,28,,,,,,,,,,,,26,,,,,26,26,,25,,123,28,123,25,123',
',,,,,,,,25,,,,,123,,28,,,,,,,,,,26,26,,53,,,,53,,,,53,53,,123,,,,,,',
',,,,25,,,53,,,25,,,,,,,53,,,,,25,,26,28,,,52,26,52,,,,,29,52,,,26,,29',
',,,52,,,,,,,,25,25,,,25,,,,,,25,,,,,,,,,,,,,,,,,,,,,,,,26,25,,,,,,,',
'25,,52,26,25,52,,,,,,,,,28,,,,,,,,,,,,,52,,,,28,,,26,26,,,26,,,,,,26',
',,,29,,,,,,,,,,,25,,,,,,,,,,,,,,,25,,,26,,,25,26,25,,52,,,,,52,52,53',
',53,,,,,,53,,52,,,,,,,53,,,,52,,,,,,,,,,,,52,52,,,,,,,,,,,26,,,,,,,',
',,,,,,,26,,,,,,26,,26,,53,,,53,,,,,52,,,,,52,,,,,,,,,,52,,53,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,52,,,,,,52,,,,,,,,,,,53,52,,,,53,53',
',,,,,,,,,,53,,,,,,,,,,,53,,,,52,52,32,,52,,,,53,53,52,32,32,32,,,,,',
',,,,,32,32,32,,,,,,,,,52,,,,,,32,32,52,,,,52,,,,,,53,,,,,53,,,,,,,,',
',53,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,52,,,,,,,,53,,,,,,53,52,,,,,,52',
',52,,,53,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,53,53,,,53,,,,,,53,,,,,,,,,,',
',,,,,,32,32,32,,,32,32,,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,53,32,32,,,,,,,,,,,,,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,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,32' ]
racc_goto_check = arr = ::Array.new(2890, 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, 102, 31, nil, 83, 120, 58, 83, -312, -8,
-506, -540, -686, nil, -362, 5, 124, -9, -195, 78,
28, 75, 3, -196, -345, 780, 857, -151, 834, 873,
28, -19, 1914, -25, nil, nil, 23, -156, 18, -194,
-355, 479, -325, nil, 111, 97, 98, -48, nil, 40,
49, -243, 1098, 1257, -262, 68, -69, 32, nil, nil,
19, 48, -245, 8, 93, -58, 65, -216, -10, 3,
-317, -250, -395, nil, nil, nil, nil, nil, nil, nil,
nil, nil, 83, 95, -54, nil, 94, -319, -639, -474,
-318, 91, -196, 15, -552, 91, 107, 107, -353, 110,
107, -538, 109, -538, -397, -731, -401, -549, -176, -184,
-398, -655, -725, -378, -468, -743, -445, nil, -507, -436,
156, 410, -444, 549, -548, -529, nil, -514, -670, -740,
-725, -134, -328, 141, -271, -11, -50, nil, -53, -46,
-688, -455, -579, nil, nil, 150, 160, 50, 162, 163,
-234, -190, 163, 164, 165, -340, -340, -328, -270, nil,
363, -433, -564, -428, -595, nil, -593, -727, nil, nil,
-445 ]
racc_goto_default = [
nil, nil, nil, 3, nil, 4, 341, 287, nil, 518,
nil, 831, nil, 284, 285, nil, nil, nil, 11, 12,
18, 223, 316, nil, nil, 221, 222, nil, 277, 17,
nil, 435, 21, 22, 23, 24, nil, 669, nil, nil,
nil, 304, nil, 25, 406, 32, nil, nil, 34, 37,
36, nil, 218, 219, 353, nil, 126, 414, 125, 128,
75, 76, nil, 46, nil, 802, 407, nil, 408, 419,
624, 481, 275, 261, 47, 48, 49, 50, 51, 52,
53, 54, 55, nil, 262, 61, nil, nil, nil, nil,
nil, nil, nil, 562, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, 699, 546, nil, 700, 919, 774, 534, nil,
535, nil, nil, 536, nil, 538, 640, nil, nil, nil,
544, nil, nil, nil, 735, nil, nil, 418, nil, nil,
nil, nil, nil, 74, 77, 78, nil, nil, nil, nil,
nil, 596, nil, nil, nil, nil, nil, nil, 816, 533,
nil, 537, 548, 550, 786, 553, 554, 787, 557, 560,
279 ]
racc_reduce_table = [
0, 0, :racc_error,
1, 142, :_reduce_none,
2, 143, :_reduce_2,
0, 144, :_reduce_3,
1, 144, :_reduce_4,
3, 144, :_reduce_5,
2, 144, :_reduce_6,
1, 146, :_reduce_none,
4, 146, :_reduce_8,
4, 149, :_reduce_9,
2, 150, :_reduce_10,
0, 154, :_reduce_11,
1, 154, :_reduce_12,
3, 154, :_reduce_13,
2, 154, :_reduce_14,
1, 155, :_reduce_none,
4, 155, :_reduce_16,
0, 171, :_reduce_17,
4, 148, :_reduce_18,
3, 148, :_reduce_19,
3, 148, :_reduce_20,
3, 148, :_reduce_21,
2, 148, :_reduce_22,
3, 148, :_reduce_23,
3, 148, :_reduce_24,
3, 148, :_reduce_25,
3, 148, :_reduce_26,
3, 148, :_reduce_27,
4, 148, :_reduce_28,
1, 148, :_reduce_none,
3, 148, :_reduce_30,
3, 148, :_reduce_31,
6, 148, :_reduce_32,
5, 148, :_reduce_33,
5, 148, :_reduce_34,
5, 148, :_reduce_35,
5, 148, :_reduce_36,
3, 148, :_reduce_37,
3, 148, :_reduce_38,
3, 148, :_reduce_39,
3, 148, :_reduce_40,
1, 148, :_reduce_none,
3, 159, :_reduce_42,
3, 159, :_reduce_43,
1, 170, :_reduce_none,
3, 170, :_reduce_45,
3, 170, :_reduce_46,
3, 170, :_reduce_47,
2, 170, :_reduce_48,
1, 170, :_reduce_none,
1, 158, :_reduce_none,
1, 161, :_reduce_none,
1, 161, :_reduce_none,
1, 175, :_reduce_none,
4, 175, :_reduce_54,
0, 183, :_reduce_55,
5, 180, :_reduce_56,
1, 182, :_reduce_none,
2, 174, :_reduce_58,
3, 174, :_reduce_59,
4, 174, :_reduce_60,
5, 174, :_reduce_61,
4, 174, :_reduce_62,
5, 174, :_reduce_63,
2, 174, :_reduce_64,
2, 174, :_reduce_65,
2, 174, :_reduce_66,
2, 174, :_reduce_67,
2, 174, :_reduce_68,
1, 160, :_reduce_69,
3, 160, :_reduce_70,
1, 187, :_reduce_71,
3, 187, :_reduce_72,
1, 186, :_reduce_none,
2, 186, :_reduce_74,
3, 186, :_reduce_75,
5, 186, :_reduce_76,
2, 186, :_reduce_77,
4, 186, :_reduce_78,
2, 186, :_reduce_79,
4, 186, :_reduce_80,
1, 186, :_reduce_81,
3, 186, :_reduce_82,
1, 190, :_reduce_none,
3, 190, :_reduce_84,
2, 189, :_reduce_85,
3, 189, :_reduce_86,
1, 192, :_reduce_87,
3, 192, :_reduce_88,
1, 191, :_reduce_89,
1, 191, :_reduce_90,
4, 191, :_reduce_91,
3, 191, :_reduce_92,
3, 191, :_reduce_93,
3, 191, :_reduce_94,
3, 191, :_reduce_95,
2, 191, :_reduce_96,
1, 191, :_reduce_97,
1, 167, :_reduce_98,
1, 167, :_reduce_99,
4, 167, :_reduce_100,
3, 167, :_reduce_101,
3, 167, :_reduce_102,
3, 167, :_reduce_103,
3, 167, :_reduce_104,
2, 167, :_reduce_105,
1, 167, :_reduce_106,
1, 195, :_reduce_107,
1, 195, :_reduce_none,
2, 196, :_reduce_109,
1, 196, :_reduce_110,
3, 196, :_reduce_111,
1, 197, :_reduce_none,
1, 197, :_reduce_none,
1, 197, :_reduce_none,
1, 197, :_reduce_none,
1, 197, :_reduce_none,
1, 200, :_reduce_117,
1, 200, :_reduce_none,
1, 156, :_reduce_none,
1, 156, :_reduce_none,
1, 157, :_reduce_121,
0, 203, :_reduce_122,
4, 157, :_reduce_123,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 198, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
1, 199, :_reduce_none,
3, 173, :_reduce_195,
5, 173, :_reduce_196,
3, 173, :_reduce_197,
5, 173, :_reduce_198,
6, 173, :_reduce_199,
5, 173, :_reduce_200,
5, 173, :_reduce_201,
5, 173, :_reduce_202,
5, 173, :_reduce_203,
4, 173, :_reduce_204,
3, 173, :_reduce_205,
3, 173, :_reduce_206,
3, 173, :_reduce_207,
3, 173, :_reduce_208,
3, 173, :_reduce_209,
3, 173, :_reduce_210,
3, 173, :_reduce_211,
3, 173, :_reduce_212,
3, 173, :_reduce_213,
4, 173, :_reduce_214,
4, 173, :_reduce_215,
2, 173, :_reduce_216,
2, 173, :_reduce_217,
3, 173, :_reduce_218,
3, 173, :_reduce_219,
3, 173, :_reduce_220,
3, 173, :_reduce_221,
3, 173, :_reduce_222,
3, 173, :_reduce_223,
3, 173, :_reduce_224,
3, 173, :_reduce_225,
3, 173, :_reduce_226,
3, 173, :_reduce_227,
3, 173, :_reduce_228,
3, 173, :_reduce_229,
3, 173, :_reduce_230,
2, 173, :_reduce_231,
2, 173, :_reduce_232,
3, 173, :_reduce_233,
3, 173, :_reduce_234,
3, 173, :_reduce_235,
3, 173, :_reduce_236,
3, 173, :_reduce_237,
6, 173, :_reduce_238,
1, 173, :_reduce_none,
1, 169, :_reduce_none,
1, 205, :_reduce_none,
2, 205, :_reduce_none,
4, 205, :_reduce_243,
2, 205, :_reduce_244,
3, 210, :_reduce_245,
0, 211, :_reduce_246,
1, 211, :_reduce_none,
0, 164, :_reduce_248,
1, 164, :_reduce_none,
2, 164, :_reduce_none,
4, 164, :_reduce_251,
2, 164, :_reduce_252,
1, 185, :_reduce_253,
2, 185, :_reduce_254,
2, 185, :_reduce_255,
4, 185, :_reduce_256,
1, 185, :_reduce_257,
0, 214, :_reduce_258,
2, 179, :_reduce_259,
2, 213, :_reduce_260,
2, 212, :_reduce_261,
0, 212, :_reduce_262,
1, 207, :_reduce_263,
2, 207, :_reduce_264,
3, 207, :_reduce_265,
4, 207, :_reduce_266,
3, 168, :_reduce_267,
4, 168, :_reduce_268,
2, 168, :_reduce_269,
1, 204, :_reduce_none,
1, 204, :_reduce_none,
1, 204, :_reduce_none,
1, 204, :_reduce_none,
1, 204, :_reduce_none,
1, 204, :_reduce_none,
1, 204, :_reduce_none,
1, 204, :_reduce_none,
1, 204, :_reduce_none,
1, 204, :_reduce_none,
1, 204, :_reduce_280,
0, 237, :_reduce_281,
4, 204, :_reduce_282,
0, 238, :_reduce_283,
0, 239, :_reduce_284,
6, 204, :_reduce_285,
0, 240, :_reduce_286,
4, 204, :_reduce_287,
3, 204, :_reduce_288,
3, 204, :_reduce_289,
2, 204, :_reduce_290,
3, 204, :_reduce_291,
3, 204, :_reduce_292,
1, 204, :_reduce_293,
4, 204, :_reduce_294,
3, 204, :_reduce_295,
1, 204, :_reduce_296,
5, 204, :_reduce_297,
4, 204, :_reduce_298,
3, 204, :_reduce_299,
2, 204, :_reduce_300,
1, 204, :_reduce_none,
2, 204, :_reduce_302,
2, 204, :_reduce_303,
6, 204, :_reduce_304,
6, 204, :_reduce_305,
0, 241, :_reduce_306,
0, 242, :_reduce_307,
7, 204, :_reduce_308,
0, 243, :_reduce_309,
0, 244, :_reduce_310,
7, 204, :_reduce_311,
5, 204, :_reduce_312,
4, 204, :_reduce_313,
0, 245, :_reduce_314,
0, 246, :_reduce_315,
9, 204, :_reduce_316,
0, 247, :_reduce_317,
6, 204, :_reduce_318,
0, 248, :_reduce_319,
7, 204, :_reduce_320,
0, 249, :_reduce_321,
5, 204, :_reduce_322,
0, 250, :_reduce_323,
6, 204, :_reduce_324,
0, 251, :_reduce_325,
0, 252, :_reduce_326,
9, 204, :_reduce_327,
1, 204, :_reduce_328,
1, 204, :_reduce_329,
1, 204, :_reduce_330,
1, 204, :_reduce_331,
1, 163, :_reduce_none,
1, 228, :_reduce_none,
1, 228, :_reduce_none,
2, 228, :_reduce_335,
1, 230, :_reduce_none,
1, 230, :_reduce_none,
1, 229, :_reduce_none,
5, 229, :_reduce_339,
1, 152, :_reduce_none,
2, 152, :_reduce_341,
1, 232, :_reduce_none,
1, 232, :_reduce_none,
1, 253, :_reduce_344,
3, 253, :_reduce_345,
1, 256, :_reduce_346,
3, 256, :_reduce_347,
1, 255, :_reduce_none,
4, 255, :_reduce_349,
6, 255, :_reduce_350,
3, 255, :_reduce_351,
5, 255, :_reduce_352,
2, 255, :_reduce_353,
4, 255, :_reduce_354,
1, 255, :_reduce_355,
3, 255, :_reduce_356,
4, 257, :_reduce_357,
2, 257, :_reduce_358,
2, 257, :_reduce_359,
1, 257, :_reduce_360,
2, 262, :_reduce_361,
0, 262, :_reduce_362,
6, 263, :_reduce_363,
8, 263, :_reduce_364,
4, 263, :_reduce_365,
6, 263, :_reduce_366,
4, 263, :_reduce_367,
2, 263, :_reduce_none,
6, 263, :_reduce_369,
2, 263, :_reduce_370,
4, 263, :_reduce_371,
6, 263, :_reduce_372,
2, 263, :_reduce_373,
4, 263, :_reduce_374,
2, 263, :_reduce_375,
4, 263, :_reduce_376,
1, 263, :_reduce_none,
0, 181, :_reduce_378,
1, 181, :_reduce_379,
3, 267, :_reduce_380,
1, 267, :_reduce_381,
4, 267, :_reduce_382,
1, 268, :_reduce_383,
4, 268, :_reduce_384,
1, 269, :_reduce_385,
3, 269, :_reduce_386,
1, 270, :_reduce_387,
1, 270, :_reduce_none,
0, 274, :_reduce_389,
3, 227, :_reduce_390,
4, 272, :_reduce_391,
1, 272, :_reduce_392,
3, 273, :_reduce_393,
3, 273, :_reduce_394,
0, 277, :_reduce_395,
5, 276, :_reduce_396,
2, 176, :_reduce_397,
4, 176, :_reduce_398,
5, 176, :_reduce_399,
5, 176, :_reduce_400,
2, 226, :_reduce_401,
4, 226, :_reduce_402,
4, 226, :_reduce_403,
3, 226, :_reduce_404,
3, 226, :_reduce_405,
3, 226, :_reduce_406,
2, 226, :_reduce_407,
1, 226, :_reduce_408,
4, 226, :_reduce_409,
0, 279, :_reduce_410,
5, 225, :_reduce_411,
0, 280, :_reduce_412,
5, 225, :_reduce_413,
5, 231, :_reduce_414,
1, 281, :_reduce_415,
1, 281, :_reduce_none,
6, 151, :_reduce_417,
0, 151, :_reduce_418,
1, 282, :_reduce_419,
1, 282, :_reduce_none,
1, 282, :_reduce_none,
2, 283, :_reduce_422,
1, 283, :_reduce_none,
2, 153, :_reduce_424,
1, 153, :_reduce_none,
1, 215, :_reduce_none,
1, 215, :_reduce_none,
1, 215, :_reduce_none,
1, 216, :_reduce_429,
1, 285, :_reduce_430,
2, 285, :_reduce_431,
3, 286, :_reduce_432,
1, 286, :_reduce_433,
1, 286, :_reduce_434,
3, 217, :_reduce_435,
4, 218, :_reduce_436,
3, 219, :_reduce_437,
0, 290, :_reduce_438,
3, 290, :_reduce_439,
1, 291, :_reduce_440,
2, 291, :_reduce_441,
3, 221, :_reduce_442,
0, 293, :_reduce_443,
3, 293, :_reduce_444,
3, 220, :_reduce_445,
3, 222, :_reduce_446,
0, 294, :_reduce_447,
3, 294, :_reduce_448,
0, 295, :_reduce_449,
3, 295, :_reduce_450,
0, 287, :_reduce_451,
2, 287, :_reduce_452,
0, 288, :_reduce_453,
2, 288, :_reduce_454,
0, 289, :_reduce_455,
2, 289, :_reduce_456,
1, 292, :_reduce_457,
2, 292, :_reduce_458,
0, 297, :_reduce_459,
4, 292, :_reduce_460,
1, 296, :_reduce_461,
1, 296, :_reduce_462,
1, 296, :_reduce_463,
1, 296, :_reduce_none,
1, 201, :_reduce_465,
3, 202, :_reduce_466,
1, 284, :_reduce_467,
1, 284, :_reduce_468,
2, 284, :_reduce_469,
2, 284, :_reduce_470,
1, 193, :_reduce_471,
1, 193, :_reduce_472,
1, 193, :_reduce_473,
1, 193, :_reduce_474,
1, 193, :_reduce_475,
1, 194, :_reduce_476,
1, 194, :_reduce_477,
1, 194, :_reduce_478,
1, 194, :_reduce_479,
1, 194, :_reduce_480,
1, 194, :_reduce_481,
1, 194, :_reduce_482,
1, 223, :_reduce_483,
1, 223, :_reduce_484,
1, 162, :_reduce_485,
1, 162, :_reduce_486,
1, 166, :_reduce_487,
1, 166, :_reduce_488,
1, 233, :_reduce_489,
0, 298, :_reduce_490,
4, 233, :_reduce_491,
2, 233, :_reduce_492,
3, 235, :_reduce_493,
2, 235, :_reduce_494,
4, 299, :_reduce_495,
2, 299, :_reduce_496,
2, 299, :_reduce_497,
1, 299, :_reduce_498,
2, 301, :_reduce_499,
0, 301, :_reduce_500,
6, 275, :_reduce_501,
8, 275, :_reduce_502,
4, 275, :_reduce_503,
6, 275, :_reduce_504,
4, 275, :_reduce_505,
6, 275, :_reduce_506,
2, 275, :_reduce_507,
4, 275, :_reduce_508,
6, 275, :_reduce_509,
2, 275, :_reduce_510,
4, 275, :_reduce_511,
2, 275, :_reduce_512,
4, 275, :_reduce_513,
1, 275, :_reduce_514,
0, 275, :_reduce_515,
1, 271, :_reduce_516,
1, 271, :_reduce_517,
1, 271, :_reduce_518,
1, 271, :_reduce_519,
1, 254, :_reduce_none,
1, 254, :_reduce_none,
1, 303, :_reduce_522,
3, 303, :_reduce_523,
1, 264, :_reduce_524,
3, 264, :_reduce_525,
2, 304, :_reduce_526,
2, 305, :_reduce_527,
1, 258, :_reduce_528,
3, 258, :_reduce_529,
1, 300, :_reduce_530,
3, 300, :_reduce_531,
1, 306, :_reduce_none,
1, 306, :_reduce_none,
2, 259, :_reduce_534,
1, 259, :_reduce_535,
3, 307, :_reduce_536,
3, 308, :_reduce_537,
1, 265, :_reduce_538,
3, 265, :_reduce_539,
1, 302, :_reduce_540,
3, 302, :_reduce_541,
1, 309, :_reduce_none,
1, 309, :_reduce_none,
2, 266, :_reduce_544,
1, 266, :_reduce_545,
1, 310, :_reduce_none,
1, 310, :_reduce_none,
2, 261, :_reduce_548,
2, 260, :_reduce_549,
0, 260, :_reduce_550,
1, 236, :_reduce_none,
3, 236, :_reduce_552,
0, 224, :_reduce_553,
2, 224, :_reduce_none,
1, 209, :_reduce_555,
3, 209, :_reduce_556,
3, 311, :_reduce_557,
2, 311, :_reduce_558,
2, 311, :_reduce_559,
1, 184, :_reduce_none,
1, 184, :_reduce_none,
1, 184, :_reduce_none,
1, 178, :_reduce_none,
1, 178, :_reduce_none,
1, 178, :_reduce_none,
1, 178, :_reduce_none,
1, 278, :_reduce_none,
1, 278, :_reduce_none,
1, 278, :_reduce_none,
1, 177, :_reduce_none,
1, 177, :_reduce_none,
0, 145, :_reduce_none,
1, 145, :_reduce_none,
0, 172, :_reduce_none,
1, 172, :_reduce_none,
2, 188, :_reduce_576,
2, 165, :_reduce_577,
0, 208, :_reduce_none,
1, 208, :_reduce_none,
1, 208, :_reduce_none,
1, 234, :_reduce_581,
1, 234, :_reduce_none,
1, 147, :_reduce_none,
2, 147, :_reduce_none,
0, 206, :_reduce_585 ]
racc_reduce_n = 586
racc_shift_n = 1014
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,
:tEQL => 139,
:tLOWEST => 140 }
racc_nt_base = 141
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",
"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",
"arg_value",
"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",
"primary",
"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",
"f_args",
"do_block",
"@22",
"operation3",
"@23",
"@24",
"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",
"@25",
"@26",
"args_tail",
"f_kwarg",
"opt_args_tail",
"f_optarg",
"f_arg_item",
"f_kw",
"f_block_kw",
"kwrest_mark",
"f_opt",
"f_block_opt",
"restarg_mark",
"blkarg_mark",
"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)
if in_def?
diagnostic :error, :begin_in_method, nil, val[0]
end
result = @builder.preexe(val[0], val[1], val[2], val[3])
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
def _reduce_40(val, _values, result)
result = @builder.multi_assign(val[0], val[1],
@builder.array(nil, val[2], nil))
result
end
# reduce 41 omitted
def _reduce_42(val, _values, result)
result = @builder.assign(val[0], val[1], val[2])
result
end
def _reduce_43(val, _values, result)
result = @builder.assign(val[0], val[1], val[2])
result
end
# reduce 44 omitted
def _reduce_45(val, _values, result)
result = @builder.logical_op(:and, val[0], val[1], val[2])
result
end
def _reduce_46(val, _values, result)
result = @builder.logical_op(:or, val[0], val[1], val[2])
result
end
def _reduce_47(val, _values, result)
result = @builder.not_op(val[0], nil, val[2], nil)
result
end
def _reduce_48(val, _values, result)
result = @builder.not_op(val[0], nil, val[1], nil)
result
end
# reduce 49 omitted
# reduce 50 omitted
# reduce 51 omitted
# reduce 52 omitted
# reduce 53 omitted
def _reduce_54(val, _values, result)
result = @builder.call_method(val[0], val[1], val[2],
nil, val[3], nil)
result
end
def _reduce_55(val, _values, result)
@static_env.extend_dynamic
result
end
def _reduce_56(val, _values, result)
result = [ val[0], val[2], val[3], val[4] ]
@static_env.unextend
result
end
# reduce 57 omitted
def _reduce_58(val, _values, result)
result = @builder.call_method(nil, nil, val[0],
nil, val[1], nil)
result
end
def _reduce_59(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_60(val, _values, result)
result = @builder.call_method(val[0], val[1], val[2],
nil, val[3], nil)
result
end
def _reduce_61(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_62(val, _values, result)
result = @builder.call_method(val[0], val[1], val[2],
nil, val[3], nil)
result
end
def _reduce_63(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_64(val, _values, result)
result = @builder.keyword_cmd(:super, val[0],
nil, val[1], nil)
result
end
def _reduce_65(val, _values, result)
result = @builder.keyword_cmd(:yield, val[0],
nil, val[1], nil)
result
end
def _reduce_66(val, _values, result)
result = @builder.keyword_cmd(:return, val[0],
nil, val[1], nil)
result
end
def _reduce_67(val, _values, result)
result = @builder.keyword_cmd(:break, val[0],
nil, val[1], nil)
result
end
def _reduce_68(val, _values, result)
result = @builder.keyword_cmd(:next, val[0],
nil, val[1], nil)
result
end
def _reduce_69(val, _values, result)
result = @builder.multi_lhs(nil, val[0], nil)
result
end
def _reduce_70(val, _values, result)
result = @builder.begin(val[0], val[1], val[2])
result
end
def _reduce_71(val, _values, result)
result = @builder.multi_lhs(nil, val[0], nil)
result
end
def _reduce_72(val, _values, result)
result = @builder.multi_lhs(val[0], val[1], val[2])
result
end
# reduce 73 omitted
def _reduce_74(val, _values, result)
result = val[0].
push(val[1])
result
end
def _reduce_75(val, _values, result)
result = val[0].
push(@builder.splat(val[1], val[2]))
result
end
def _reduce_76(val, _values, result)
result = val[0].
push(@builder.splat(val[1], val[2])).
concat(val[4])
result
end
def _reduce_77(val, _values, result)
result = val[0].
push(@builder.splat(val[1]))
result
end
def _reduce_78(val, _values, result)
result = val[0].
push(@builder.splat(val[1])).
concat(val[3])
result
end
def _reduce_79(val, _values, result)
result = [ @builder.splat(val[0], val[1]) ]
result
end
def _reduce_80(val, _values, result)
result = [ @builder.splat(val[0], val[1]),
*val[3] ]
result
end
def _reduce_81(val, _values, result)
result = [ @builder.splat(val[0]) ]
result
end
def _reduce_82(val, _values, result)
result = [ @builder.splat(val[0]),
*val[2] ]
result
end
# reduce 83 omitted
def _reduce_84(val, _values, result)
result = @builder.begin(val[0], val[1], val[2])
result
end
def _reduce_85(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_86(val, _values, result)
result = val[0] << val[1]
result
end
def _reduce_87(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_88(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_89(val, _values, result)
result = @builder.assignable(val[0])
result
end
def _reduce_90(val, _values, result)
result = @builder.assignable(val[0])
result
end
def _reduce_91(val, _values, result)
result = @builder.index_asgn(val[0], val[1], val[2], val[3])
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.attr_asgn(val[0], val[1], val[2])
result
end
def _reduce_95(val, _values, result)
result = @builder.assignable(
@builder.const_fetch(val[0], val[1], val[2]))
result
end
def _reduce_96(val, _values, result)
result = @builder.assignable(
@builder.const_global(val[0], val[1]))
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.assignable(val[0])
result
end
def _reduce_100(val, _values, result)
result = @builder.index_asgn(val[0], val[1], val[2], val[3])
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.attr_asgn(val[0], val[1], val[2])
result
end
def _reduce_104(val, _values, result)
result = @builder.assignable(
@builder.const_fetch(val[0], val[1], val[2]))
result
end
def _reduce_105(val, _values, result)
result = @builder.assignable(
@builder.const_global(val[0], val[1]))
result
end
def _reduce_106(val, _values, result)
result = @builder.assignable(val[0])
result
end
def _reduce_107(val, _values, result)
diagnostic :error, :module_name_const, nil, val[0]
result
end
# reduce 108 omitted
def _reduce_109(val, _values, result)
result = @builder.const_global(val[0], val[1])
result
end
def _reduce_110(val, _values, result)
result = @builder.const(val[0])
result
end
def _reduce_111(val, _values, result)
result = @builder.const_fetch(val[0], val[1], val[2])
result
end
# reduce 112 omitted
# reduce 113 omitted
# reduce 114 omitted
# reduce 115 omitted
# reduce 116 omitted
def _reduce_117(val, _values, result)
result = @builder.symbol(val[0])
result
end
# reduce 118 omitted
# reduce 119 omitted
# reduce 120 omitted
def _reduce_121(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_122(val, _values, result)
@lexer.state = :expr_fname
result
end
def _reduce_123(val, _values, result)
result = val[0] << val[3]
result
end
# 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
# reduce 194 omitted
def _reduce_195(val, _values, result)
result = @builder.assign(val[0], val[1], val[2])
result
end
def _reduce_196(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_197(val, _values, result)
result = @builder.op_assign(val[0], val[1], val[2])
result
end
def _reduce_198(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_199(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_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)
result = @builder.op_assign(
@builder.call_method(
val[0], val[1], val[2]),
val[3], val[4])
result
end
def _reduce_203(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_204(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_205(val, _values, result)
result = @builder.op_assign(val[0], val[1], val[2])
result
end
def _reduce_206(val, _values, result)
result = @builder.range_inclusive(val[0], val[1], val[2])
result
end
def _reduce_207(val, _values, result)
result = @builder.range_exclusive(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.binary_op(val[0], val[1], val[2])
result
end
def _reduce_214(val, _values, result)
result = @builder.unary_op(val[0],
@builder.binary_op(
@builder.integer(val[1]),
val[2], val[3]))
result
end
def _reduce_215(val, _values, result)
result = @builder.unary_op(val[0],
@builder.binary_op(
@builder.float(val[1]),
val[2], val[3]))
result
end
def _reduce_216(val, _values, result)
result = @builder.unary_op(val[0], val[1])
result
end
def _reduce_217(val, _values, result)
result = @builder.unary_op(val[0], val[1])
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.binary_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.match_op(val[0], val[1], val[2])
result
end
def _reduce_230(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_231(val, _values, result)
result = @builder.not_op(val[0], nil, val[1], nil)
result
end
def _reduce_232(val, _values, result)
result = @builder.unary_op(val[0], val[1])
result
end
def _reduce_233(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_234(val, _values, result)
result = @builder.binary_op(val[0], val[1], val[2])
result
end
def _reduce_235(val, _values, result)
result = @builder.logical_op(:and, val[0], val[1], val[2])
result
end
def _reduce_236(val, _values, result)
result = @builder.logical_op(:or, val[0], val[1], val[2])
result
end
def _reduce_237(val, _values, result)
result = @builder.keyword_cmd(:defined?, val[0], nil, [ val[2] ], nil)
result
end
def _reduce_238(val, _values, result)
result = @builder.ternary(val[0], val[1],
val[2], val[4], val[5])
result
end
# reduce 239 omitted
# reduce 240 omitted
# reduce 241 omitted
# reduce 242 omitted
def _reduce_243(val, _values, result)
result = val[0] << @builder.associate(nil, val[2], nil)
result
end
def _reduce_244(val, _values, result)
result = [ @builder.associate(nil, val[0], nil) ]
result
end
def _reduce_245(val, _values, result)
result = val
result
end
def _reduce_246(val, _values, result)
result = [ nil, [], nil ]
result
end
# reduce 247 omitted
def _reduce_248(val, _values, result)
result = []
result
end
# reduce 249 omitted
# reduce 250 omitted
def _reduce_251(val, _values, result)
result = val[0] << @builder.associate(nil, val[2], nil)
result
end
def _reduce_252(val, _values, result)
result = [ @builder.associate(nil, val[0], nil) ]
result
end
def _reduce_253(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_254(val, _values, result)
result = val[0].concat(val[1])
result
end
def _reduce_255(val, _values, result)
result = [ @builder.associate(nil, val[0], nil) ]
result.concat(val[1])
result
end
def _reduce_256(val, _values, result)
assocs = @builder.associate(nil, val[2], nil)
result = val[0] << assocs
result.concat(val[3])
result
end
def _reduce_257(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_258(val, _values, result)
result = @lexer.cmdarg.dup
@lexer.cmdarg.push(true)
result
end
def _reduce_259(val, _values, result)
@lexer.cmdarg = val[0]
result = val[1]
result
end
def _reduce_260(val, _values, result)
result = @builder.block_pass(val[0], val[1])
result
end
def _reduce_261(val, _values, result)
result = [ val[1] ]
result
end
def _reduce_262(val, _values, result)
result = []
result
end
def _reduce_263(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_264(val, _values, result)
result = [ @builder.splat(val[0], val[1]) ]
result
end
def _reduce_265(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_266(val, _values, result)
result = val[0] << @builder.splat(val[2], val[3])
result
end
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)
@static_env.declare val[0][0]
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)
@static_env.declare val[3][0]
result = val[0].
push(@builder.restarg(val[2], val[3]))
result
end
def _reduce_350(val, _values, result)
@static_env.declare val[3][0]
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)
@static_env.declare val[1][0]
result = [ @builder.restarg(val[0], val[1]) ]
result
end
def _reduce_354(val, _values, result)
@static_env.declare val[1][0]
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 = [ val[1], val[2] ]
@static_env.unextend
result
end
def _reduce_391(val, _values, result)
result = @builder.args(val[0], val[1].concat(val[2]), val[3])
result
end
def _reduce_392(val, _values, result)
result = @builder.args(nil, val[0], nil)
result
end
def _reduce_393(val, _values, result)
result = [ val[0], val[1], val[2] ]
result
end
def _reduce_394(val, _values, result)
result = [ val[0], val[1], val[2] ]
result
end
def _reduce_395(val, _values, result)
@static_env.extend_dynamic
result
end
def _reduce_396(val, _values, result)
result = [ val[0], val[2], val[3], val[4] ]
@static_env.unextend
result
end
def _reduce_397(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_398(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_399(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_400(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_401(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_402(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_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)
result = @builder.call_method(val[0], val[1], val[2])
result
end
def _reduce_405(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_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[1]
result = @builder.keyword_cmd(:super, val[0],
lparen_t, args, rparen_t)
result
end
def _reduce_408(val, _values, result)
result = @builder.keyword_cmd(:zsuper, val[0])
result
end
def _reduce_409(val, _values, result)
result = @builder.index(val[0], val[1], val[2], val[3])
result
end
def _reduce_410(val, _values, result)
@static_env.extend_dynamic
result
end
def _reduce_411(val, _values, result)
result = [ val[0], val[2], val[3], val[4] ]
@static_env.unextend
result
end
def _reduce_412(val, _values, result)
@static_env.extend_dynamic
result
end
def _reduce_413(val, _values, result)
result = [ val[0], val[2], val[3], val[4] ]
@static_env.unextend
result
end
def _reduce_414(val, _values, result)
result = [ @builder.when(val[0], val[1], val[2], val[3]),
*val[4] ]
result
end
def _reduce_415(val, _values, result)
result = [ val[0] ]
result
end
# reduce 416 omitted
def _reduce_417(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_418(val, _values, result)
result = []
result
end
def _reduce_419(val, _values, result)
result = [ val[0] ]
result
end
# reduce 420 omitted
# reduce 421 omitted
def _reduce_422(val, _values, result)
result = [ val[0], val[1] ]
result
end
# reduce 423 omitted
def _reduce_424(val, _values, result)
result = [ val[0], val[1] ]
result
end
# reduce 425 omitted
# reduce 426 omitted
# reduce 427 omitted
# reduce 428 omitted
def _reduce_429(val, _values, result)
result = @builder.string_compose(nil, val[0], nil)
result
end
def _reduce_430(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_431(val, _values, result)
result = val[0] << val[1]
result
end
def _reduce_432(val, _values, result)
result = @builder.string_compose(val[0], val[1], val[2])
result
end
def _reduce_433(val, _values, result)
result = @builder.string(val[0])
result
end
def _reduce_434(val, _values, result)
result = @builder.character(val[0])
result
end
def _reduce_435(val, _values, result)
result = @builder.xstring_compose(val[0], val[1], val[2])
result
end
def _reduce_436(val, _values, result)
opts = @builder.regexp_options(val[3])
result = @builder.regexp_compose(val[0], val[1], val[2], opts)
result
end
def _reduce_437(val, _values, result)
result = @builder.words_compose(val[0], val[1], val[2])
result
end
def _reduce_438(val, _values, result)
result = []
result
end
def _reduce_439(val, _values, result)
result = val[0] << @builder.word(val[1])
result
end
def _reduce_440(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_441(val, _values, result)
result = val[0] << val[1]
result
end
def _reduce_442(val, _values, result)
result = @builder.symbols_compose(val[0], val[1], val[2])
result
end
def _reduce_443(val, _values, result)
result = []
result
end
def _reduce_444(val, _values, result)
result = val[0] << @builder.word(val[1])
result
end
def _reduce_445(val, _values, result)
result = @builder.words_compose(val[0], val[1], val[2])
result
end
def _reduce_446(val, _values, result)
result = @builder.symbols_compose(val[0], val[1], val[2])
result
end
def _reduce_447(val, _values, result)
result = []
result
end
def _reduce_448(val, _values, result)
result = val[0] << @builder.string_internal(val[1])
result
end
def _reduce_449(val, _values, result)
result = []
result
end
def _reduce_450(val, _values, result)
result = val[0] << @builder.symbol_internal(val[1])
result
end
def _reduce_451(val, _values, result)
result = []
result
end
def _reduce_452(val, _values, result)
result = val[0] << val[1]
result
end
def _reduce_453(val, _values, result)
result = []
result
end
def _reduce_454(val, _values, result)
result = val[0] << val[1]
result
end
def _reduce_455(val, _values, result)
result = []
result
end
def _reduce_456(val, _values, result)
result = val[0] << val[1]
result
end
def _reduce_457(val, _values, result)
result = @builder.string_internal(val[0])
result
end
def _reduce_458(val, _values, result)
result = val[1]
result
end
def _reduce_459(val, _values, result)
@lexer.cond.push(false)
@lexer.cmdarg.push(false)
result
end
def _reduce_460(val, _values, result)
@lexer.cond.lexpop
@lexer.cmdarg.lexpop
result = @builder.begin(val[0], val[2], val[3])
result
end
def _reduce_461(val, _values, result)
result = @builder.gvar(val[0])
result
end
def _reduce_462(val, _values, result)
result = @builder.ivar(val[0])
result
end
def _reduce_463(val, _values, result)
result = @builder.cvar(val[0])
result
end
# reduce 464 omitted
def _reduce_465(val, _values, result)
result = @builder.symbol(val[0])
result
end
def _reduce_466(val, _values, result)
result = @builder.symbol_compose(val[0], val[1], val[2])
result
end
def _reduce_467(val, _values, result)
result = @builder.integer(val[0])
result
end
def _reduce_468(val, _values, result)
result = @builder.float(val[0])
result
end
def _reduce_469(val, _values, result)
result = @builder.negate(val[0],
@builder.integer(val[1]))
result
end
def _reduce_470(val, _values, result)
result = @builder.negate(val[0],
@builder.float(val[1]))
result
end
def _reduce_471(val, _values, result)
result = @builder.ident(val[0])
result
end
def _reduce_472(val, _values, result)
result = @builder.ivar(val[0])
result
end
def _reduce_473(val, _values, result)
result = @builder.gvar(val[0])
result
end
def _reduce_474(val, _values, result)
result = @builder.const(val[0])
result
end
def _reduce_475(val, _values, result)
result = @builder.cvar(val[0])
result
end
def _reduce_476(val, _values, result)
result = @builder.nil(val[0])
result
end
def _reduce_477(val, _values, result)
result = @builder.self(val[0])
result
end
def _reduce_478(val, _values, result)
result = @builder.true(val[0])
result
end
def _reduce_479(val, _values, result)
result = @builder.false(val[0])
result
end
def _reduce_480(val, _values, result)
result = @builder.__FILE__(val[0])
result
end
def _reduce_481(val, _values, result)
result = @builder.__LINE__(val[0])
result
end
def _reduce_482(val, _values, result)
result = @builder.__ENCODING__(val[0])
result
end
def _reduce_483(val, _values, result)
result = @builder.accessible(val[0])
result
end
def _reduce_484(val, _values, result)
result = @builder.accessible(val[0])
result
end
def _reduce_485(val, _values, result)
result = @builder.assignable(val[0])
result
end
def _reduce_486(val, _values, result)
result = @builder.assignable(val[0])
result
end
def _reduce_487(val, _values, result)
result = @builder.nth_ref(val[0])
result
end
def _reduce_488(val, _values, result)
result = @builder.back_ref(val[0])
result
end
def _reduce_489(val, _values, result)
result = nil
result
end
def _reduce_490(val, _values, result)
@lexer.state = :expr_value
result
end
def _reduce_491(val, _values, result)
result = [ val[0], val[2] ]
result
end
def _reduce_492(val, _values, result)
yyerrok
result = nil
result
end
def _reduce_493(val, _values, result)
result = @builder.args(val[0], val[1], val[2])
@lexer.state = :expr_value
result
end
def _reduce_494(val, _values, result)
result = @builder.args(nil, val[0], nil)
result
end
def _reduce_495(val, _values, result)
result = val[0].concat(val[2]).concat(val[3])
result
end
def _reduce_496(val, _values, result)
result = val[0].concat(val[1])
result
end
def _reduce_497(val, _values, result)
result = val[0].concat(val[1])
result
end
def _reduce_498(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_499(val, _values, result)
result = val[1]
result
end
def _reduce_500(val, _values, result)
result = []
result
end
def _reduce_501(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
def _reduce_502(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[6]).
concat(val[7])
result
end
def _reduce_503(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
def _reduce_504(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
def _reduce_505(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
def _reduce_506(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
def _reduce_507(val, _values, result)
result = val[0].
concat(val[1])
result
end
def _reduce_508(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
def _reduce_509(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[4]).
concat(val[5])
result
end
def _reduce_510(val, _values, result)
result = val[0].
concat(val[1])
result
end
def _reduce_511(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
def _reduce_512(val, _values, result)
result = val[0].
concat(val[1])
result
end
def _reduce_513(val, _values, result)
result = val[0].
concat(val[2]).
concat(val[3])
result
end
def _reduce_514(val, _values, result)
result = val[0]
result
end
def _reduce_515(val, _values, result)
result = []
result
end
def _reduce_516(val, _values, result)
diagnostic :error, :argument_const, nil, val[0]
result
end
def _reduce_517(val, _values, result)
diagnostic :error, :argument_ivar, nil, val[0]
result
end
def _reduce_518(val, _values, result)
diagnostic :error, :argument_gvar, nil, val[0]
result
end
def _reduce_519(val, _values, result)
diagnostic :error, :argument_cvar, nil, val[0]
result
end
# reduce 520 omitted
# reduce 521 omitted
def _reduce_522(val, _values, result)
@static_env.declare val[0][0]
result = @builder.arg(val[0])
result
end
def _reduce_523(val, _values, result)
result = @builder.multi_lhs(val[0], val[1], val[2])
result
end
def _reduce_524(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_525(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_526(val, _values, result)
check_kwarg_name(val[0])
@static_env.declare val[0][0]
result = @builder.kwoptarg(val[0], val[1])
result
end
def _reduce_527(val, _values, result)
check_kwarg_name(val[0])
@static_env.declare val[0][0]
result = @builder.kwoptarg(val[0], val[1])
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)
result = [ val[0] ]
result
end
def _reduce_531(val, _values, result)
result = val[0] << val[2]
result
end
# reduce 532 omitted
# reduce 533 omitted
def _reduce_534(val, _values, result)
@static_env.declare val[1][0]
result = [ @builder.kwrestarg(val[0], val[1]) ]
result
end
def _reduce_535(val, _values, result)
result = [ @builder.kwrestarg(val[0]) ]
result
end
def _reduce_536(val, _values, result)
@static_env.declare val[0][0]
result = @builder.optarg(val[0], val[1], val[2])
result
end
def _reduce_537(val, _values, result)
@static_env.declare val[0][0]
result = @builder.optarg(val[0], val[1], val[2])
result
end
def _reduce_538(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_539(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_540(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_541(val, _values, result)
result = val[0] << val[2]
result
end
# reduce 542 omitted
# reduce 543 omitted
def _reduce_544(val, _values, result)
@static_env.declare val[1][0]
result = [ @builder.restarg(val[0], val[1]) ]
result
end
def _reduce_545(val, _values, result)
result = [ @builder.restarg(val[0]) ]
result
end
# reduce 546 omitted
# reduce 547 omitted
def _reduce_548(val, _values, result)
@static_env.declare val[1][0]
result = @builder.blockarg(val[0], val[1])
result
end
def _reduce_549(val, _values, result)
result = [ val[1] ]
result
end
def _reduce_550(val, _values, result)
result = []
result
end
# reduce 551 omitted
def _reduce_552(val, _values, result)
result = val[1]
result
end
def _reduce_553(val, _values, result)
result = []
result
end
# reduce 554 omitted
def _reduce_555(val, _values, result)
result = [ val[0] ]
result
end
def _reduce_556(val, _values, result)
result = val[0] << val[2]
result
end
def _reduce_557(val, _values, result)
result = @builder.pair(val[0], val[1], val[2])
result
end
def _reduce_558(val, _values, result)
result = @builder.pair_keyword(val[0], val[1])
result
end
def _reduce_559(val, _values, result)
result = @builder.kwsplat(val[0], val[1])
result
end
# reduce 560 omitted
# reduce 561 omitted
# reduce 562 omitted
# reduce 563 omitted
# reduce 564 omitted
# reduce 565 omitted
# reduce 566 omitted
# 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
def _reduce_576(val, _values, result)
result = val[1]
result
end
def _reduce_577(val, _values, result)
result = val[1]
result
end
# reduce 578 omitted
# reduce 579 omitted
# reduce 580 omitted
def _reduce_581(val, _values, result)
yyerrok
result
end
# reduce 582 omitted
# reduce 583 omitted
# reduce 584 omitted
def _reduce_585(val, _values, result)
result = nil
result
end
def _reduce_none(val, _values, result)
val[0]
end
end # class Ruby20
end # module Parser