lib/parser/ruby20.rb



# -*- encoding:utf-8; warn-indent:false -*-
#
# DO NOT MODIFY!!!!
# This file is automatically generated by Racc 1.4.9
# from Racc grammer file "".
#

require 'racc/parser.rb'


require 'parser'

Parser.check_for_encoding_support

module Parser
  class Ruby20 < Parser::Base

module_eval(<<'...end ruby20.y/module_eval...', 'ruby20.y', 2317)

  def version
    20
  end

  def default_encoding
    Encoding::UTF_8
  end
...end ruby20.y/module_eval...
##### State transition tables begin ###

clist = [
'-289,265,-103,-99,-486,-100,-485,-289,-289,-289,211,212,713,-289,-289',
'605,-289,214,-290,-98,-104,642,563,607,-286,-290,584,642,855,803,569',
'569,-105,-101,-290,684,-289,-289,-102,-289,-289,-289,-289,-289,-101',
'563,-100,563,563,511,826,-90,215,-89,211,212,641,-99,215,-98,211,212',
'641,-106,-286,-103,260,-289,-289,-289,-289,-289,-289,-289,-289,-289',
'-289,-289,-289,-289,-289,-100,604,-289,-289,-289,-564,625,265,264,606',
'-289,563,-94,-289,110,215,211,212,-289,109,-289,-105,-289,-289,215,-289',
'-289,-289,-289,-289,-471,-289,-90,-289,-91,-563,110,-471,-471,-471,-103',
'109,-471,-471,-471,-103,-471,-289,-89,-95,-289,-289,583,-95,-471,-289',
'-471,-471,-471,-104,110,-96,-92,837,683,109,-471,-471,215,-471,-471',
'-471,-471,-471,215,110,-102,713,-92,-94,109,-102,-101,110,-100,110,110',
'-101,109,-100,109,109,-97,713,-94,264,265,-471,-471,-471,-471,-471,-471',
'-471,-471,-471,-471,-471,-471,-471,-471,110,396,-471,-471,-471,109,-471',
'-471,-94,-102,-471,-94,768,-471,-471,803,-471,-94,-471,110,-471,265',
'-471,-471,109,-471,-471,-471,-471,-471,836,-471,769,-471,-92,702,-485',
'542,541,540,592,543,832,803,642,592,440,-471,-567,-486,-471,-471,-471',
'-471,-474,-471,575,-471,-84,-471,576,-474,-474,-474,-70,-101,-474,-474',
'-474,642,-474,110,215,264,-92,-563,109,-92,-474,641,-474,-474,-474,-92',
'215,-103,260,110,803,-98,-474,-474,109,-474,-474,-474,-474,-474,235',
'-106,502,-567,-99,621,641,594,593,503,-567,264,594,593,-560,-563,235',
'747,501,-567,948,-93,745,-474,-474,-474,-474,-474,-474,-474,-474,-474',
'-474,-474,-474,-474,-474,671,-567,-474,-474,-474,257,-474,-474,592,260',
'-474,-561,258,-474,-474,-94,-474,-476,-474,592,-474,-103,-474,-474,-476',
'-474,-474,-474,-474,-474,-471,-474,702,-474,542,541,540,-471,543,592',
'215,260,-560,971,592,209,-471,-474,-567,-479,-474,-474,-474,-474,-567',
'-474,-479,-474,215,-474,215,-567,-567,-567,-474,-560,79,-567,-567,671',
'-567,-474,110,594,593,597,-561,109,80,-567,-474,796,-409,845,594,593',
'603,486,81,484,-567,-567,-97,-567,-567,-567,-567,-567,-106,-561,207',
'-567,439,620,594,593,599,208,-567,594,593,595,-478,-563,254,828,206',
'-567,773,-478,-265,-567,-567,-567,-567,-567,-567,-567,-567,-567,-567',
'-567,-567,-567,-567,-409,-567,-567,-567,-567,524,626,-409,526,592,-567',
'215,592,-567,110,-92,-409,-482,-567,109,-567,-101,-567,-567,-482,-567',
'-567,-567,-567,-567,-289,-567,-567,-567,511,-409,754,-289,-289,-289',
'110,549,-289,-289,-289,109,-289,-567,832,803,-567,-567,551,-93,-480',
'-567,-289,-289,-289,-102,110,-480,215,110,441,109,-289,-289,109,-289',
'-289,-289,-289,-289,594,593,608,594,593,590,854,-96,442,-91,-481,559',
'558,-105,-474,-100,552,-481,214,524,473,-474,526,-289,-289,-289,-289',
'-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,785,579,-289,-289',
'-289,-279,771,-289,932,473,-289,551,-279,-289,-289,473,-289,580,-289',
'313,-289,-279,-289,-289,482,-289,-289,-289,-289,-289,436,-289,524,-289',
'257,523,702,437,542,541,540,258,543,484,559,558,438,-289,312,552,-289',
'-289,-289,-289,-567,-289,486,-289,-471,-104,755,-567,-567,-567,857,-471',
'-567,-567,-567,702,-567,542,541,540,698,543,689,-477,860,-567,-567,-567',
'-567,701,-477,113,114,115,116,117,-567,-567,571,-567,-567,-567,-567',
'-567,702,572,542,541,540,-483,543,211,212,698,570,702,-483,542,541,540',
'524,543,701,526,862,-483,864,-567,-567,-567,-567,-567,-567,-567,-567',
'-567,-567,-567,-567,-567,-567,866,698,-567,-567,-567,235,770,-567,514',
'215,-567,868,698,-567,-567,515,-567,869,-567,493,-567,899,-567,-567',
'438,-567,-567,-567,-567,-567,872,-567,-567,-567,393,235,-264,232,874',
'395,394,234,233,875,230,231,671,-567,559,558,-567,-567,-567,-567,749',
'-567,877,-567,748,-102,286,69,70,71,9,57,-263,232,-279,63,64,234,233',
'881,67,-279,65,66,68,30,31,72,73,883,-279,506,507,884,29,28,27,98,97',
'99,100,739,740,19,885,741,104,105,630,8,45,288,10,102,101,103,92,56',
'94,93,95,886,96,104,105,689,90,91,888,42,43,41,235,239,244,245,246,241',
'243,251,252,247,248,-289,228,229,579,890,249,250,-289,40,892,578,33',
'-564,894,58,59,-289,894,60,580,35,232,215,238,44,234,233,744,230,231',
'242,240,236,20,237,211,212,900,89,79,82,83,-484,84,86,85,87,211,212',
'-484,579,80,88,235,253,-568,-240,932,-484,62,-69,81,-568,-568,-568,902',
'580,-568,-568,-568,235,-568,254,702,904,542,541,540,215,543,-568,-568',
'-568,-568,383,232,249,250,496,234,233,-568,-568,210,-568,-568,-568,-568',
'-568,314,315,-332,232,497,238,235,234,233,-332,230,231,698,716,236,910',
'237,569,-332,709,913,215,916,-568,-568,-568,-568,-568,-568,-568,-568',
'-568,-568,-568,-568,-568,-568,-266,232,-568,-568,-568,234,233,-568,230',
'231,-568,707,706,-568,-568,205,-568,705,-568,696,-568,694,-568,-568',
'692,-568,-568,-568,-568,-568,690,-568,-568,-568,926,702,689,542,541',
'540,929,543,542,541,540,204,543,-568,686,-290,-568,-568,-568,-568,933',
'-568,-290,-568,286,69,70,71,9,57,934,-290,203,63,64,504,680,678,67,698',
'65,66,68,30,31,72,73,113,114,115,116,117,29,28,27,98,97,99,100,677,269',
'19,215,260,671,950,615,8,45,288,10,102,101,103,92,56,94,93,95,517,96',
'104,105,952,90,91,953,42,43,41,235,239,244,245,246,241,243,251,252,247',
'248,-289,228,229,976,508,249,250,-289,40,958,977,33,-564,215,58,59,-289',
'689,60,975,35,232,961,238,44,234,233,963,230,231,242,240,236,20,237',
'965,967,967,89,79,82,83,-483,84,86,85,87,660,-84,-483,-290,80,88,215',
'253,-569,512,-290,-483,62,513,81,-569,-569,-569,235,-290,-569,-569,-569',
'235,-569,215,702,978,542,541,540,215,543,-569,-569,-569,-569,979,894',
'249,250,894,894,984,-569,-569,215,-569,-569,-569,-569,-569,950,235,118',
'232,235,238,-289,234,233,235,230,231,698,-289,236,235,237,527,-564,528',
'632,629,-289,-569,-569,-569,-569,-569,-569,-569,-569,-569,-569,-569',
'-569,-569,-569,-564,-484,-569,-569,-569,-563,677,-569,-484,106,-569',
'486,260,-569,-569,619,-569,-484,-569,618,-569,215,-569,-569,950,-569',
'-569,-569,-569,-569,614,-569,-569,-569,1003,702,1004,542,541,540,929',
'543,542,541,540,1005,543,-569,967,967,-569,-569,-569,-569,967,-569,215',
'-569,286,69,70,71,9,57,-263,612,609,63,64,574,894,950,67,698,65,66,68',
'30,31,72,73,113,114,115,116,117,29,28,27,98,97,99,100,573,385,19,967',
',,,,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,5,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,,,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',
'252,247,248,,-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,,,,,,,,,,,,,,,,249,250,,40,,,33,,,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,,,,,,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,,,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,,,290,,,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,251,252,247,248,,-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,,,290,,,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,,,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,,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,,,,,,,,,,,,,,,,,,,,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,,,290,,,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,5,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,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,5,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,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,,,,,630,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,,253,-280',
',,,62,,81,-280,-280,-280,,,-280,-280,-280,,-280,,,,,,,,,,-280,-280,-280',
',,,,,,,-280,-280,,-280,-280,-280,-280,-280,,,,,,,,,,,,,,,,,,,,,,,,-280',
'-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,,,-280',
'-280,-280,,,-280,,,-280,,,-280,-280,,-280,,-280,,-280,,-280,-280,,-280',
'-280,-280,-280,-280,,-280,,-280,,,,,,,,,,,,,,-280,,,-280,-280,-280,-280',
',-280,,-280,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,,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,,,,,,,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,,,,,,,,,,,,,,,,,,,,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',
',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,,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,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,,,,,,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,,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,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',
',,,,,,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,,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',
',,,,,,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,,,,,,,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,,,,,,,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,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,,,,,,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,,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,,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,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,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,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,,,,,,,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,,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,,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,,,,,,,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,,,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,,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,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,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,,,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,,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',
',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,,,,,,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,,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,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,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',
'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,,,,,,,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,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,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,,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,,',
',,,,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,,,,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,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,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,,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,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,,,,,,,,,,,,,,,,,,,,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,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,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,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,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,,253,-246,,,,62,,81,-246',
'-246,-246,,,-246,-246,-246,784,-246,542,541,540,785,543,,,,-246,-246',
',,,,551,,,,,-246,-246,,-246,-246,-246,-246,-246,,,,,,,,,,547,,,,,,,',
',556,555,559,558,,,,552,,,,,,,,,-246,,-296,,,,,-246,,-296,-296,-296',
'260,-246,-296,-296,-296,215,-296,,,,,,,,,,-296,-296,,,,,,-246,-246,',
'-296,-296,,-296,-296,-296,-296,-296,,,,,-246,,,-246,,,,,-246,,,,,,,',
',,,-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,,-408,-246',
'-246,,-246,,-246,-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,,-408,-408,-408,,,,,,,,,',
',,,,-408,,,-408,-408,,-408,,-408,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,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,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,,784,,542,541,540',
'785,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,,,702,,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,,249,250,,253,',
',,,,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,,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,215,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,,249',
'250,,253,,,,556,555,559,558,,,,552,,232,,238,,234,233,,230,231,242,240',
'236,,237,,,,,471,413,,,472,,,,,,,,,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,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,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,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,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,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,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,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,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,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,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,409,413,159,,410,,,,,,,,,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,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,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,,784',
'159,542,541,540,785,543,702,,542,541,540,785,543,,702,551,542,541,540',
'785,543,,551,545,,542,541,540,549,543,551,,,,,,,547,,551,,,,,547,,556',
'555,559,558,,,547,552,,559,558,,,,552,547,,559,558,,,,552,,556,555,559',
'558,,,545,552,542,541,540,549,543,,784,,542,541,540,785,543,,551,,,',
',,,,551,545,,542,541,540,549,543,,,,,,,547,,,551,,,,,547,556,555,559',
'558,,,,552,556,555,559,558,,,,552,547,734,545,,542,541,540,549,543,556',
'555,559,558,,,,552,702,551,542,541,540,549,543,,,702,,542,541,540,785',
'543,551,,,,,,,547,734,551,,,,,,,556,555,559,558,,,547,552,545,,542,541',
'540,549,543,547,,559,558,,,,552,,551,,559,558,,,,552,702,,542,541,540',
'549,543,,,,,,,,547,702,551,542,541,540,549,543,,556,555,559,558,,,,552',
'551,,,,,,,547,545,,542,541,540,549,543,,,,559,558,,,547,552,551,702',
',542,541,540,785,543,,559,558,,,,552,,,551,,,,,547,531,702,,542,541',
'540,549,543,556,555,559,558,,,,552,547,551,702,,542,541,540,785,543',
',,559,558,,,,552,,551,,,,,547,,,,,,,,,,,559,558,,,,552,547,,,,,,,,,',
',559,558,,,,552' ]
        racc_action_table = arr = ::Array.new(25103, 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 = [
'415,304,997,343,39,839,38,415,415,415,589,589,566,415,415,380,415,19',
'576,342,722,646,717,381,58,576,356,477,772,908,340,908,573,719,576,530',
'415,415,998,415,415,415,415,415,996,335,1010,880,336,439,700,39,685',
'38,675,675,646,39,19,38,433,433,477,346,58,720,304,415,415,415,415,415',
'415,415,415,415,415,415,415,415,415,772,380,415,415,415,722,415,645',
'304,381,415,903,665,415,339,703,585,585,415,339,415,439,415,415,589',
'415,415,415,415,415,92,415,343,415,839,998,566,92,92,92,997,566,92,92',
'92,997,92,415,342,722,415,415,356,415,92,415,92,92,92,415,717,573,719',
'717,530,717,92,92,675,92,92,92,92,92,433,356,998,840,664,665,356,998',
'996,335,1010,880,336,996,335,1010,880,336,346,565,720,645,61,92,92,92',
'92,92,92,92,92,92,92,92,92,92,92,585,201,92,92,92,585,92,92,665,721',
'92,665,633,92,92,710,92,665,92,903,92,26,92,92,903,92,92,92,92,92,715',
'92,634,92,664,899,218,899,899,899,602,899,986,986,469,600,221,92,724',
'219,92,92,92,92,95,92,352,92,659,92,352,95,95,95,659,633,95,95,95,478',
'95,840,679,61,664,721,840,664,95,469,95,95,95,664,718,634,26,565,676',
'218,95,95,565,95,95,95,95,95,674,221,298,724,219,410,478,602,602,298',
'724,26,600,600,350,724,673,602,298,724,899,721,600,95,95,95,95,95,95',
'95,95,95,95,95,95,95,95,670,724,95,95,95,371,95,95,377,669,95,351,371',
'95,95,410,95,367,95,379,95,410,95,95,367,95,95,95,95,95,350,95,701,95',
'701,701,701,350,701,378,927,666,350,927,376,15,350,95,667,366,95,95',
'95,95,416,95,366,95,663,95,727,416,416,416,351,350,77,416,416,661,416',
'351,843,377,377,377,351,843,77,416,351,658,798,732,379,379,379,653,77',
'651,416,416,15,416,416,416,416,416,15,351,14,667,220,409,378,378,378',
'14,667,376,376,376,369,667,644,701,14,667,639,369,751,416,416,416,416',
'416,416,416,416,416,416,416,416,416,416,798,667,416,416,416,681,416',
'798,681,382,416,45,375,416,584,409,798,365,416,584,416,409,416,416,365',
'416,416,416,416,416,636,416,416,416,313,798,616,636,636,636,284,686',
'636,636,636,284,636,416,708,708,416,416,686,416,364,416,636,636,636',
'416,3,364,637,735,222,3,636,636,735,636,636,636,636,636,382,382,382',
'375,375,375,756,313,223,616,363,686,686,313,362,616,686,363,227,329',
'627,362,329,636,636,636,636,636,636,636,636,636,636,636,636,636,636',
'857,931,636,636,636,300,636,636,931,259,636,857,300,636,636,622,636',
'931,636,40,636,300,636,636,273,636,636,636,636,636,217,636,325,636,24',
'325,547,217,547,547,547,24,547,274,857,857,217,636,37,857,636,636,636',
'636,635,636,277,636,361,636,617,635,635,635,774,361,635,635,635,698',
'635,698,698,698,547,698,775,368,777,635,635,635,635,547,368,287,287',
'287,287,287,635,635,344,635,635,635,635,635,900,344,900,900,900,937',
'900,520,520,698,344,826,937,826,826,826,326,826,698,326,778,937,779',
'635,635,635,635,635,635,635,635,635,635,635,635,635,635,781,900,635',
'635,635,464,635,635,316,782,635,783,826,635,635,316,635,784,635,288',
'635,826,635,635,316,635,635,635,635,635,788,635,635,635,120,446,613',
'464,792,120,120,464,464,793,464,464,797,635,689,689,635,635,635,635',
'607,635,801,635,605,635,791,791,791,791,791,791,804,446,941,791,791',
'446,446,805,791,941,791,791,791,791,791,791,791,808,941,309,309,810',
'791,791,791,791,791,791,791,593,593,791,811,593,593,593,428,791,791',
'791,791,791,791,791,791,791,791,791,791,812,791,791,791,813,791,791',
'817,791,791,791,428,428,428,428,428,428,428,428,428,428,428,999,428',
'428,354,818,428,428,999,791,820,354,791,999,821,791,791,999,823,791',
'354,791,428,825,428,791,428,428,597,428,428,428,428,428,791,428,17,17',
'827,791,791,791,791,297,791,791,791,791,334,334,297,870,791,791,445',
'428,420,428,870,297,791,289,791,420,420,420,830,870,420,420,420,458',
'420,22,950,833,950,950,950,291,950,420,420,420,420,106,445,458,458,292',
'445,445,420,420,16,420,420,420,420,420,41,41,46,458,293,458,465,458',
'458,46,458,458,950,568,458,842,458,567,46,562,846,847,850,420,420,420',
'420,420,420,420,420,420,420,420,420,420,420,851,465,420,420,420,465',
'465,420,465,465,420,560,557,420,420,13,420,553,420,545,420,538,420,420',
'537,420,420,420,420,420,536,420,420,420,867,828,534,828,828,828,971',
'828,971,971,971,12,971,420,533,504,420,420,420,420,871,420,504,420,877',
'877,877,877,877,877,873,504,10,877,877,299,521,519,877,828,877,877,877',
'877,877,877,877,6,6,6,6,6,877,877,877,877,877,877,877,518,302,877,303',
'308,509,901,404,877,877,877,877,877,877,877,877,877,877,877,877,505',
'877,877,877,905,877,877,906,877,877,877,404,404,404,404,404,404,404',
'404,404,404,404,668,404,404,939,310,404,404,668,877,912,939,877,668',
'500,877,877,668,917,877,939,877,404,920,404,877,404,404,921,404,404',
'404,404,404,877,404,922,923,925,877,877,877,877,296,877,877,877,877',
'498,495,296,978,877,877,494,404,421,314,978,296,877,315,877,421,421',
'421,318,978,421,421,421,457,421,323,948,940,948,948,948,479,948,421',
'421,421,421,943,944,457,457,945,946,947,421,421,475,421,421,421,421',
'421,949,450,7,457,449,457,725,457,457,448,457,457,948,725,457,447,457',
'327,725,328,435,425,725,421,421,421,421,421,421,421,421,421,421,421',
'421,421,421,972,938,421,421,421,973,974,421,938,1,421,330,417,421,421',
'408,421,938,421,407,421,405,421,421,985,421,421,421,421,421,402,421',
'421,421,987,984,988,984,984,984,868,984,868,868,868,989,868,421,990',
'991,421,421,421,421,992,421,995,421,321,321,321,321,321,321,399,397',
'391,321,321,347,1000,1001,321,984,321,321,321,321,321,321,321,492,492',
'492,492,492,321,321,321,321,321,321,321,345,341,321,1012,,,,,321,321',
'321,321,321,321,321,321,321,321,321,321,,321,321,321,,321,321,,321,321',
'321,461,461,461,461,461,461,461,,,461,461,,,,,,461,461,,321,,,321,,',
'321,321,,,321,,321,461,,461,321,461,461,,461,461,461,461,461,321,461',
',,,321,321,321,321,,321,321,321,321,,,,,321,321,493,493,493,493,493',
'493,321,,321,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,466,466,466,466,466,466,466',
',,466,466,,,,,,466,466,,493,,,493,,,493,493,,,493,,493,466,,466,493',
'466,466,,466,466,466,466,466,493,466,,,,493,493,493,493,,493,493,493',
'493,,,,,493,493,844,844,844,844,844,844,493,,493,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,444,444,444,444,444,444,444,444,444,444,444,,444,444,,',
'444,444,,844,,,844,,,844,844,,,844,,844,444,,444,844,444,444,,444,444',
'444,444,444,844,444,,,,844,844,844,844,,844,844,844,844,,,,,844,844',
'838,838,838,838,838,838,844,,844,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,462',
'462,462,462,462,462,462,,,462,462,,,,,,462,462,,838,,,838,,,838,838',
',,838,,838,462,,462,838,462,462,,462,462,462,462,462,838,462,,,,838',
'838,838,838,,838,838,838,838,,,,,838,838,561,561,561,561,561,561,838',
',838,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,463,463,463,463,463,463,463,,,463',
'463,,,,,,463,463,,561,,,561,,,561,561,,,561,,561,463,,463,561,463,463',
',463,463,463,463,463,561,463,,,,561,561,561,561,,561,561,561,561,,,',
',561,561,835,835,835,835,835,835,561,,561,835,835,,,,835,,835,835,835',
'835,835,835,835,,,,,,835,835,835,835,835,835,835,,,835,,,,,,835,835',
'835,835,835,835,835,835,835,835,835,835,,835,835,835,,835,835,,835,835',
'835,460,460,460,460,460,460,460,,,460,460,,,,,,460,460,,835,,,835,,',
'835,835,,,835,,835,460,,460,835,460,460,,460,460,460,460,460,835,460',
',,,835,835,835,835,,835,835,835,835,,,,,835,835,564,564,564,564,564',
'564,835,,835,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,456,,,,,,,,,,,,,,,,456,456',
',564,,,564,,,564,564,,,564,,564,456,,456,564,456,456,,456,456,,,456',
'564,456,,,,564,564,564,564,,564,564,564,564,,,,,564,564,834,834,834',
'834,834,834,564,,564,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,455,,,,,,,,,',
',,,,,,455,455,,834,,,834,,,834,834,,,834,,834,455,,455,834,455,455,',
'455,455,,,455,834,455,,,,834,834,834,834,,834,834,834,834,,,,,834,834',
'295,295,295,295,295,295,834,,834,295,295,,,,295,,295,295,295,295,295',
'295,295,,,,,,295,295,295,295,295,295,295,,,295,,,,,,295,295,295,295',
'295,295,295,295,295,295,295,295,,295,295,295,,295,295,,295,295,295,467',
'467,467,467,467,467,467,467,,467,467,,,,,,467,467,,295,,,295,,,295,295',
',,295,,295,467,,467,295,467,467,,467,467,467,467,467,295,467,,,,295',
'295,295,295,,295,295,295,295,,,,,295,295,803,803,803,803,803,803,295',
',295,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,454,454,454,454,454,454,454,,,454',
'454,,,,,,454,454,,803,,,803,,,803,803,,,803,,803,454,,454,803,454,454',
',454,454,454,454,454,803,454,,,,803,803,803,803,,803,803,803,803,,,',
',803,803,936,936,936,936,936,936,803,,803,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,443,443,443,443,443,443,443,443,443,443,443,,443,443,,,443,443,',
'936,,,936,,,936,936,,,936,,936,443,,443,936,443,443,,443,443,443,443',
'443,936,443,,,,936,936,936,936,,936,936,936,936,,,,,936,936,290,290',
'290,290,290,290,936,,936,290,290,,,,290,,290,290,290,290,290,290,290',
',,,,,290,290,290,290,290,290,290,,,290,,,,,,290,290,290,290,290,290',
'290,290,290,290,290,290,,290,290,290,,290,290,,290,290,290,459,459,459',
'459,459,459,459,,,459,459,,,,,,459,459,,290,,,290,,,290,290,,,290,,290',
'459,,459,290,459,459,,459,459,459,459,459,290,459,,,,290,290,290,290',
',290,290,290,290,,,,,290,290,586,586,586,586,586,586,290,,290,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,453,,,,,,,,,,,,,,,,453,453,,586,,,586,,,586',
'586,,,586,,586,453,,,586,453,453,,453,453,,,,586,,,,,586,586,586,586',
',586,586,586,586,,,,,586,586,226,226,226,226,226,226,586,,586,226,226',
',,,226,,226,226,226,226,226,226,226,,,,,,226,226,226,226,226,226,226',
',,226,,,,,,226,226,226,226,226,226,226,226,226,226,226,226,,226,226',
'226,,226,226,,226,226,226,452,,,,,,,,,,,,,,,,452,452,,226,,,226,,,226',
'226,,,226,,226,452,,452,226,452,452,,452,452,,,,226,,,,,226,226,226',
'226,,226,226,226,226,,,,,226,226,951,951,951,951,951,951,226,,226,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,451,,,,,,,,,,,,,,,,451,451,,951,,,951',
',,951,951,,,951,,951,451,,451,951,451,451,,451,451,,,,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,33,33,33,33,33,33,957,,957,33,33,,,,33,,33,33,33,33,33,33',
'33,,,,,,33,33,33,33,33,33,33,,,33,,,,,,33,33,33,33,33,33,33,33,33,33',
'33,33,,33,33,33,,33,33,,33,33,33,,,,,,,,,,,,,,,,,,,,33,,,33,,,33,33',
',,33,,33,,,,33,,,,,,,,,33,,,,,33,33,33,33,,33,33,33,33,,,,,33,33,643',
'643,643,643,643,643,33,,33,643,643,,,,643,,643,643,643,643,643,643,643',
',,,,,643,643,643,643,643,643,643,,,643,,,,,,643,643,643,643,643,643',
'643,643,643,643,643,643,,643,643,643,,643,643,,643,643,643,,,,,,,,,',
',,,,,,,,,,643,,,643,,,643,643,,,643,,643,,,,643,,,,,,,,,643,,,,,643',
'643,643,643,,643,643,643,643,,,,,643,643,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,,,,,,,,,,,,,,,,,,,,648,,,648,,,648',
'648,,,648,,648,,,,648,,,,,,,,,648,,,,,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,,,,,,,,,,,,,,,,,,,,649,,,649,,,649,649,,,649,,649,,,,649,,,',
',,,,,649,,,,,649,649,649,649,,649,649,649,649,,,,,649,649,203,203,203',
'203,203,203,649,,649,203,203,,,,203,,203,203,203,203,203,203,203,,,',
',,203,203,203,203,203,203,203,,,203,,,,,,203,203,203,203,203,203,203',
'203,203,203,203,203,,203,203,203,,203,203,,203,203,203,,,,,,,,,,,,,',
',,,,,,203,,,203,,,203,203,,,203,,203,,,,203,,,,,,,,,203,,,,,203,203',
'203,203,,203,203,203,203,,,,,203,203,683,683,683,683,683,683,203,,203',
'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,,,,,,,,,,,,,,,,,,,,683,,,683,,,683',
'683,,,683,,683,,,,683,,,,,,,,,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,,,,,,,,,,,,,,,,,,,,684,,,684,,,684,684,,,684,,684,,,,684,,,',
',,,,,684,,,,,684,684,684,684,,684,684,684,684,,,,,684,684,118,118,118',
'118,118,118,684,,684,118,118,,,,118,,118,118,118,118,118,118,118,,,',
',,118,118,118,118,118,118,118,,,118,,,,,,118,118,118,118,118,118,118',
'118,118,118,118,118,,118,118,118,,118,118,,118,118,118,,,,,,,,,,,,,',
',,,,,,118,,,118,,,118,118,,,118,,118,,,,118,,,,,,,,,118,,,,,118,118',
'118,118,,118,118,118,118,,,,,118,118,959,959,959,959,959,959,118,,118',
'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,0,0,0,0,0,0,959,,959,0,0,,,,0,,0,0,0,0,0,0,0,,,,,,0,0,0',
'0,0,0,0,,,0,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,0,,0,0,,0,0,0,,,,,,,,',
',,,,,,,,,,,0,,,0,,,0,0,,,0,,0,,,,0,,,,,,,,,0,,,,,0,0,0,0,,0,0,0,0,,',
',,0,0,728,728,728,728,728,728,0,,0,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,',
',,,,,,,,,,,,,,,,,,728,,,728,,,728,728,,,728,,728,,,,728,,,,,,,,,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,,,,,638,743,743,743,743,743,743,743,743,743,743,743,743,,743,743',
'743,,743,743,,743,743,743,638,638,638,638,638,638,638,638,638,638,638',
',638,638,,,638,638,,743,,,743,,,743,743,,,743,,743,638,,638,743,638',
'638,,638,638,638,638,638,743,638,,,,743,743,743,743,,743,743,743,743',
',,,,743,743,,638,56,,,,743,,743,56,56,56,,,56,56,56,,56,,,,,,,,,,56',
'56,56,,,,,,,,56,56,,56,56,56,56,56,,,,,,,,,,,,,,,,,,,,,,,,56,56,56,56',
'56,56,56,56,56,56,56,56,56,56,,,56,56,56,,,56,,,56,,,56,56,,56,,56,',
'56,,56,56,,56,56,56,56,56,,56,,56,,,,,,,,,,,,,,56,,,56,56,56,56,,56',
',56,286,286,286,286,286,,,,286,286,,,,286,,286,286,286,286,286,286,286',
',,,,,286,286,286,286,286,286,286,,,286,,,,,,286,286,,286,286,286,286',
'286,286,286,286,286,,286,286,286,,286,286,,286,286,286,,,,,,,,,,,,,',
',,,,,,286,,,286,,,286,286,,,286,,286,,,,286,,,,,,,,,286,,,,,286,286',
'286,286,,286,286,286,286,,,,,286,286,,59,59,59,,59,286,,286,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,,729',
'729,729,,729,60,,60,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,,63,63,63,,63,729,,729,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,760,760,760,760,760,760,760',
'760,760,760,760,,760,760,,,760,760,,67,,,67,,,67,67,,,67,,,760,,760',
'67,760,760,,760,760,760,760,760,67,760,,,,67,67,67,67,,67,67,67,67,',
',,,67,67,67,760,,,,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,,44,44,44,,44',
'70,,70,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,,723,723,723,,723,44,,44,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,,43,43,43,,43,723,',
'723,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,,42,42,42,,42,43,,43,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,,696',
'696,696,,696,42,,42,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,,108,108,108,108,108,696,,696,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,,754,754,754,,754,117,,117,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,,204,204,204,,204,770',
',770,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',
',677,677,677,,677,206,,206,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,,671,671,671,,671,677,,677,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,,209,209,209,,209,671,,671',
'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,,357,357,357,,357,210,,210,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,,212,212,212,,212,357',
',357,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,660,660,660,,660',
'214,,214,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,,654',
'654,654,,654,660,,660,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,,771,771,771,,771,654,,654,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,,35,35,35,,35,771,',
'771,35,35,,,,35,,35,35,35,35,35,35,35,,,,,,35,35,35,35,35,35,35,,,35',
',,,,,,35,,,35,35,35,35,35,35,35,35,,35,35,35,,35,35,,,,35,765,765,765',
'765,765,765,765,765,765,765,765,,765,765,,,765,765,,35,,,35,,,35,35',
',,35,,,765,,765,,765,765,,765,765,765,765,765,,765,,,,35,35,35,35,,35',
'35,35,35,,,,,35,35,,765,,35,,,35,,35,34,34,34,,34,,,,34,34,,,,34,,34',
'34,34,34,34,34,34,,,,,,34,34,34,34,34,34,34,,,34,,,,,,,34,,,34,34,34',
'34,34,34,34,34,,34,34,34,,34,34,,,,34,,,,,,,,,,,,,,,,,,,,34,,,34,,,34',
'34,,,34,,34,,,,,,,,,,,,,,,,,,34,34,34,34,,34,34,34,34,,,,,34,34,,31',
'31,31,,31,34,,34,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,,30,30,30,,30,31,,31,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,,225,225,225,,225,30,,30,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,,29,29,29,,29,225,',
'225,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,,630,630,630,,630,29,,29,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,,228,228',
'228,,228,630,,630,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,,629,629,629,,629,253',
',253,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',
',626,626,626,,626,629,,629,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,,260,260,260,,260,626,,626,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,625,625,625,,625,269,,269,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,,621,621,621,,621,625,,625',
'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',
',620,620,620,,620,621,,621,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,,276,276,276,,276,620,,620,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,,619,619,619,,619,276',
',276,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,,278,278,278,,278,619,,619,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,,618,618,618,,618,281,,281,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,,752',
'752,752,,752,618,,618,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,,615,615,615,,615,752,,752,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,,614,614,614,,614,615',
',615,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,,773,773,773,,773,614,,614,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,,580,580,580,,580,785',
',785,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,,570,570,570,,570,580,,580,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,,569,569,569,',
'569,570,,570,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,,294,294,294,,294,569,,569,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,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,832,832,,,,,832,832',
',20,20,20,,20,832,,832,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,,837,837,837,,837,20,,20',
'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,,549,549,549,,549,837,,837,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,,526,526,526,,526,549,,549,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,,523',
'523,523,,523,526,,526,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,,517,517,517,,517,523,,523,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,,513,513',
'513,,513,517,,517,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,,512,512,512,,512,513,,513,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,,511,511,511,,511,512,,512',
'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',
',508,508,508,,508,511,,511,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,,501,501,501,,501,508,,508,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,,311,311,311,,311,501',
',501,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,,499,499',
'499,,499,311,,311,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,,854,854,854,,854,499,,499,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,,491,491,491,491,491,854,,854,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,21,21,21,21,21,21,21,21,21,21,21,,21,21',
',,21,21,,491,,,491,,,491,491,,,491,,491,21,,21,491,21,21,,21,21,21,21',
'21,491,21,,,,491,491,491,491,,491,491,491,491,,,,,491,491,,21,,,,491',
'491,,491,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,486,486,,,,,486,486,,484,484,484,,484,486,,486,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,,320',
'320,320,,320,484,,484,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,,855,855,855,,855,320,,320,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,,322,322,322,,322,855',
',855,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',
',482,482,482,,482,322,,322,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,,442,442,442,,442,482,,482,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',
',441,441,441,,441,442,,442,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,,440,440,440,,440,441,,441,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,,438,438,438,,438,440',
',440,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,,869,869,869,,869,438,,438,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,,5,5,5,5,5,881,,881,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,,975,975,975,,975,5,,5,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,,,,,,,,,,,,,,,,,,,,975,,,975,,,975,975,,,975,,975,',
'975,,975,,,975,,,,,,975,,,,,975,975,975,975,,975,975,975,975,,,,,975',
'975,,401,401,401,,401,975,,975,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,,373,373,373,,373,401,,401,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,,337,337,337',
',337,373,,373,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,,211,211,211,,211,338,,338,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,763,763,763,763,763,763,763,763,763,763,763,,763',
'763,,,763,763,,211,,,211,,,211,211,,,211,,,763,,763,211,763,763,,763',
'763,763,763,763,211,763,,,,211,211,211,211,,211,211,211,211,,,,,211',
'211,,763,470,,,,211,,211,470,470,470,,,470,470,470,641,470,641,641,641',
'641,641,,,,470,470,,,,,641,,,,,470,470,,470,470,470,470,470,,,,,,,,',
',641,,,,,,,,,641,641,641,641,,,,641,,,,,,,,,470,,28,,,,,470,,28,28,28',
'470,470,28,28,28,641,28,,,,,,,,,,28,28,,,,,,470,470,,28,28,,28,28,28',
'28,28,,,,,470,,,470,,,,,470,,,,,,,,,,,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,,27,411,411,,411,,411,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,,27,27,27,,,',
',,,,,,,,,,27,,,27,27,,27,,27,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,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,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,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,516,516,516,516,516,516,516,516,516',
'516,516,,516,516,,,516,516,,860,,860,860,860,860,860,,,,,,,516,,516',
'860,516,516,,516,516,516,516,516,,516,758,758,758,758,758,758,758,758',
'758,758,758,860,758,758,,,758,758,,516,860,860,860,860,,,,860,,,,,758',
',758,,758,758,,758,758,758,758,758,,758,856,856,856,856,856,856,856',
'856,856,856,856,,856,856,,,856,856,,758,,,694,,694,694,694,694,694,',
',,856,,856,,856,856,694,856,856,856,856,856,,856,753,753,753,753,753',
'753,753,753,753,753,753,,753,753,694,,753,753,,856,,,,,,694,694,,,,694',
',753,,753,,753,753,,753,753,753,753,753,,753,767,767,767,767,767,767',
'767,767,767,767,767,,767,767,,,767,767,,753,,,692,,692,692,692,692,692',
',,,767,,767,,767,767,692,767,767,767,767,767,,767,468,468,468,468,468',
'468,468,468,468,468,468,,468,468,692,,468,468,,767,,,,692,692,692,692',
',,,692,,468,,468,,468,468,,468,468,468,468,468,,468,672,672,672,672',
'672,672,672,672,672,672,672,,672,672,,,672,672,468,468,,,690,,690,690',
'690,690,690,,,,672,,672,,672,672,690,672,672,672,672,672,,672,853,853',
'853,853,853,853,853,853,853,853,853,,853,853,690,,853,853,,672,,,,690',
'690,690,690,,,,690,,853,,853,,853,853,,853,853,853,853,853,,853,,,,',
'579,579,,,579,,,,,,,,,579,579,853,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,572,572,579,,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,437,437,578,,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,976,976,437,,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,515,515,976',
',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,514,514,515,,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,977,977,514,,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,256,256',
'977,,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,571,571,256,,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,208,208,571,,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,503,503',
'208,,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,207,207,503,,207,,,,,,,,,207,207,,207,207,207,207,207',
'207,207,,,207,207,,,,207,207,207,207,,,,,,207,,,,,,,,207,207,,207,207',
'207,207,207,207,207,207,207,207,207,207,502,502,207,,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,932',
'932,502,,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,436,436,932,,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,,862,436,862,862,862',
'862,862,1005,,1005,1005,1005,1005,1005,,864,862,864,864,864,864,864',
',1005,734,,734,734,734,734,734,864,,,,,,,862,,734,,,,,1005,,862,862',
'862,862,,,864,862,,1005,1005,,,,1005,734,,864,864,,,,864,,734,734,734',
'734,,,531,734,531,531,531,531,531,,961,,961,961,961,961,961,,531,,,',
',,,,961,587,,587,587,587,587,587,,,,,,,531,,,587,,,,,961,531,531,531',
'531,,,,531,961,961,961,961,,,,961,587,587,915,,915,915,915,915,915,587',
'587,587,587,,,,587,979,915,979,979,979,979,979,,,963,,963,963,963,963',
'963,979,,,,,,,915,915,963,,,,,,,915,915,915,915,,,979,915,888,,888,888',
'888,888,888,963,,979,979,,,,979,,888,,963,963,,,,963,890,,890,890,890',
'890,890,,,,,,,,888,892,890,892,892,892,892,892,,888,888,888,888,,,,888',
'892,,,,,,,890,333,,333,333,333,333,333,,,,890,890,,,892,890,333,967',
',967,967,967,967,967,,892,892,,,,892,,,967,,,,,333,333,894,,894,894',
'894,894,894,333,333,333,333,,,,333,967,894,965,,965,965,965,965,965',
',,967,967,,,,967,,965,,,,,894,,,,,,,,,,,894,894,,,,894,965,,,,,,,,,',
',965,965,,,,965' ]
        racc_action_check = arr = ::Array.new(25103, 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 = [
  4559,  1261,   nil,   391,   nil, 21249,  1023,  1104, 22878, 23007,
   934,   nil,   886,   909,   349,   285,   798,   844,   nil,   -73,
 17731, 19551,   890,   nil,   529,   nil,   188, 22485, 22242, 10963,
 10703, 10573,   nil,  3389, 10443, 10305,   nil,   487,   -81,   -83,
   537,   883,  6917,  6787,  6527,   342,   868,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,  5082,   nil,   -67,  5349,
  5479,   152,   nil,  5739,  5869,   nil,   nil,  5999,  6137,  6267,
  6397, 23136,   nil,   nil,   nil,   nil,   nil,   276,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   111,   nil,   nil,   246,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   929,   nil,  7177,   nil,
   nil,   nil,   nil,  7315,  7445,  7575,  7705,  7835,  4299,   nil,
   689,   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,    59,   nil,  3909,  8485,  8615,  8745, 24431, 24307,  9135,
  9265, 22029,  9525,  9655,  9785,   nil,   nil,   525,   141,   154,
   374,   151,   386,   457,   nil, 10833,  2999,   464, 11223, 11353,
 11483, 11613, 11743, 11873, 12003, 12133, 12263, 12393, 12523, 12653,
 12783, 12913, 13043, 13173, 13303, 13433, 13563, 13693, 13823, 13953,
 14083, 14213, 14343, 14473,   nil,   nil, 24183,   nil,   nil,   485,
 14863, 14993,   nil,   nil,   nil,   nil,   nil,   nil,   nil, 15123,
   nil,  7177,   nil,   463,   482,   nil, 15643,   541, 15903,   nil,
 16033, 16163,   nil,   nil,   371,   nil,  5219,   619,   614,   765,
  2739,   792,   842,   814, 17463,  2349,  1080,   809,   214,   995,
   500,   nil,   985,   946,   -24,   nil,   nil,   nil,   988,   732,
   986, 19161,   nil,   409,  1105,  1109,   638,   nil,  1114,   nil,
 19949,  1309, 20209,  1057,   nil,   474,   556,  1137,  1120,   424,
  1175,   nil,   nil, 24940,   856,    33,    36, 21769, 21899,   -36,
    14,  1210,    -5,   -21,   587,  1290,    39,  1297,   nil,   nil,
   279,   313,   197,   nil,   770,   nil,    25,  9395,   nil,   nil,
   nil,   553,   472,   468,   438,   401,   298,   266,   572,   361,
   nil,   254,   nil, 21639,   nil,   414,   311,   275,   306,   286,
   -45,   -37,   411,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,  1204, 22749,   nil,   nil,   nil,   nil,  1203,   nil,  1182,
   nil, 21509,  1148,   nil,  1038,  1142,   nil,  1137,  1133,   343,
   208, 22355,   nil,   nil,   nil,     0,   381,  1174,   nil,   nil,
   900,  1171,   nil, 17463,   nil,  1096,   nil,   nil,   767,   nil,
   nil,   nil,   nil,    24,   nil,  1144, 24617, 23873, 20859,   -38,
 20729, 20599, 20469,  2609,  1569,   831,   676,  1163,  1157,  1152,
  1149,  3129,  2999,  2869,  2479,  2219,  2089,  1119,   848,  2739,
  1959,  1309,  1699,  1829,   646,   883,  1439,  2349, 23529,   161,
 22162,   nil,   nil,   nil,   nil,  1078,   nil,   -48,   186,  1063,
   nil,   nil, 20339,   nil, 19819,   nil, 19689,   nil,   nil,   nil,
   nil, 19551,  1294,  1439,  1038,  1030,   nil,   nil,  1029, 19291,
   998, 19031, 24493, 24369,   952,  1004,   nil,   nil, 18901,   945,
   nil, 18771, 18641, 18511, 24059, 23997, 23299, 18381,  1067,  1043,
   642,   960,   nil, 18251,   nil,   nil, 18121,   nil,   nil,   nil,
     7, 24757,   nil,   895,   883,   nil,   877,   871,   868,   nil,
   nil,   nil,   nil,   nil,   nil,   860,   nil,   558,   nil, 17991,
   nil,   nil,   nil,   947,   nil,   nil,   nil,   942,   nil,   nil,
   941,  1829,   951,   nil,  2089,   148,   -14,   945,   948, 17333,
 17203, 24245, 23749,     8,   nil,   nil,   -60,   nil, 23811, 23687,
 17073,   nil,   nil,   nil,   345,    61,  2869, 24782,   nil,   -26,
   nil,   nil,   nil,   750,   nil,   nil,   nil,   752,   nil,   nil,
   177,   nil,   172,   nil,   nil,   631,   nil,   627,   nil,   nil,
   nil, 22620,   nil,   610, 16683, 16553,   411,   538, 16293, 15773,
 15513, 15383,   491,   nil,   nil, 15253, 14733,   459,   nil, 14603,
 11093,   nil,   nil,   117,   137,   627,   492,   393,  4949,   312,
   nil, 22126,   nil,  3519,   414,    63,   -54,   nil,  3649,  3779,
   nil,   282,   nil,   326, 10045,   nil,   nil,   nil,   294,   116,
  9915,   262,   nil,   254,   135,    69,   278,   350,  1038,   246,
   193,  9005, 23575,   239,   223,    18,   266,  8875,   nil,   133,
   nil,   336,   nil,  4039,  4169,   -79,   447,   nil,   nil,   656,
 23613,   nil, 23521,   nil, 23429,   nil,  7047,   nil,   591,   nil,
   -84,   308,   nil,   -35,   nil,   nil,   nil,   nil,   497,   nil,
   193,   nil,   nil,   nil,   nil,   213,   nil,    10,   145,     9,
    41,   177,    -4,  6657,   215,  1143,   nil,   256,  4689,  5609,
   nil,   nil,   401,  4819, 24704,   394, 23250,   nil,   nil,   nil,
   nil,   nil,   nil,  4949,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   313, 16423, 23437,  7965,   nil,   408,   nil, 23345,   nil,
  5999,   nil,   nil, 22029,   nil, 10305,   nil, 23483,  8095,  8225,
  8355, 10175,   -59, 16813,   503,   515,   nil,   517,   557,   559,
   nil,   598,   586,   583,   585, 16943,   nil,   nil,   729,   nil,
   nil,   767,   632,   742,   nil,   nil,   nil,   620,   384,   nil,
   nil,   756,   nil,  2479,   640,   693,   nil,   nil,   700,   nil,
   681,   797,   732,   693,   nil,   nil,   nil,   696,   715,   nil,
   720,   724,   nil,   728,   nil,   736,   631,   748,   965,   nil,
   901,   nil, 17601,   910,  2219,  1959,   nil, 17861,  1699,   -19,
   132,   nil,   950,   268,  1569,   nil,   955,   834,   nil,   nil,
   838,   847,   nil, 23621, 19421, 20079, 23391,   517,   nil,   nil,
 23334,   nil, 24680,   nil, 24695,   nil,   nil,   905,  1241, 20989,
   817,   980,   nil,   931,   nil,   nil,   nil,  1038,   nil,   nil,
    35, 21119,   nil,   nil,   nil,   nil,   nil,   nil, 24877,   nil,
 24901,   nil, 24916,   nil, 24980,   nil,   nil,   nil,   nil,   176,
   620,   946,   nil,    80,   nil,  1089,  1092,   nil,    15,   nil,
   nil,   nil,  1116,   nil,   nil, 24822,   nil,   999,   nil,   nil,
  1004,  1009,  1017,  1018,   nil,  1019,   nil,   236,   nil,   nil,
   nil,   496, 24555,   nil,   nil,   nil,  2609,   598,  1175,  1041,
  1135,   698,   nil,  1066,  1067,  1070,  1071,  1072,  1138,  1081,
   867,  3129,   nil,   nil,   nil,   nil,   nil,  3259,   nil,  4429,
   nil, 24765,   nil, 24846,   nil, 24997,   nil, 24957,   nil,   nil,
   nil,   970,  1162,  1167,  1251, 21379, 23935, 24121,  1088, 24837,
   nil,   nil,   nil,   nil,  1236,  1142,   221,  1277,  1279,  1163,
  1166,  1167,  1172,   nil,   nil,  1177,    32,   -10,    26,   767,
  1188,  1189,   nil,   nil,   nil, 24687,   nil,   nil,   nil,   nil,
    34,   nil,  1214,   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,411,417,26,370,307,307,331,26,324,124,124,255,263,267,405,127,127',
'119,202,539,519,111,26,568,2,320,272,272,272,129,129,26,26,26,676,26',
'293,474,307,307,307,483,561,564,427,532,335,336,216,470,339,6,733,655',
'801,400,6,256,259,266,268,424,898,687,688,26,26,830,475,26,107,108,124',
'334,334,901,616,334,819,273,273,273,274,274,274,111,522,525,833,652',
'529,652,509,711,714,655,386,387,388,389,577,289,822,310,581,697,778',
'728,292,325,26,781,326,329,779,26,26,26,26,26,26,703,376,334,334,334',
'334,844,924,382,691,693,695,930,340,643,112,270,282,283,586,928,391',
'648,649,291,591,949,598,601,601,356,360,600,602,812,587,736,915,6,723',
'347,835,818,338,820,780,332,390,6,328,372,645,782,327,483,611,834,337',
'927,323,679,530,682,333,646,898,392,655,469,477,478,954,412,805,985',
'880,374,375,322,377,378,957,272,349,26,26,26,26,421,775,26,26,26,26',
'26,26,539,379,380,381,430,431,432,433,652,652,924,26,411,417,1001,398',
'403,738,743,930,422,426,384,729,201,657,685,993,817,637,876,819,814',
'715,918,867,321,402,813,697,272,272,827,402,371,26,26,307,1,272,,,,',
'26,825,539,,,,,397,,661,307,819,505,,732,955,,26,670,263,,26,,267,666',
',26,822,,,292,111,521,858,859,,666,772,663,,273,791,510,274,,,,,273',
'565,566,274,26,26,920,726,,,,,,520,921,798,922,,492,,26,26,,,887,,1002',
',334,334,,,490,491,,,819,,111,289,26,,943,498,289,666,292,,585,909,476',
'292,746,666,746,582,26,,479,718,,959,,,589,697,617,697,,727,839,,,,124',
',434,,623,841,127,761,610,494,628,588,766,567,500,,,,889,891,129,893',
'895,,896,794,,539,,412,655,838,,917,842,,775,,775,846,775,989,272,,',
'421,,26,797,809,622,,,847,960,639,627,480,,,,,,623,947,697,,,652,,427',
',,,,,307,,,495,,,,,,307,,,,,,,,,,412,,994,14,,26,,26,14,,272,,412,510',
'644,26,421,,697,,697,,510,217,,,,,421,658,,26,217,217,217,794,14,298',
'298,675,806,,775,,775,,775,651,775,980,981,982,983,,697,912,6,,,,,,',
',,,217,217,,412,217,344,354,354,,26,,412,26,272,,,,330,26,421,775,,681',
'272,,421,,,26,712,712,,,936,26,,790,956,,,1011,,,,,14,,539,730,731,217',
'217,217,217,14,14,951,,124,,631,,,617,127,717,750,783,26,26,,,807,26',
'26,,307,26,129,789,,,708,,,710,,307,,617,,26,,,757,759,26,26,623,762',
'764,628,647,426,988,808,650,,510,,,783,1010,,849,,,756,,799,,659,,,',
',,662,,,,26,26,,,,,,,,14,217,217,217,617,,217,217,217,217,217,217,840',
'617,,,,,843,,,399,,14,788,,,429,,792,793,26,,402,,,26,26,,334,,26,,124',
',334,,,,,,26,,,,,878,217,217,848,882,307,26,,810,811,217,,783,15,,,',
',15,666,737,,,,,,,14,,,,14,852,995,,298,14,485,,487,,488,489,26,,,15',
'300,300,,,,298,,,26,,,,,,,14,217,16,903,,,850,16,,,776,,,,,,217,217',
',346,355,355,26,,26,26,,307,26,,334,,,,26,16,217,,,307,,,,,800,,712',
',,911,,,217,,873,815,,,815,15,,,,861,863,865,879,26,15,15,348,,829,',
',,,,,,,,,13,,,,,13,,,777,,,,970,,905,906,,613,908,,,,,,,,,16,,,,,,13',
'217,,16,16,421,,,,,26,,,,,,,,,,,,,,935,26,821,,823,,,26,,26,412,,,,15',
',,,,,272,,,617,,26,421,,,,14,,14,,,,,15,298,,217,653,,330,,656,,298',
',,,13,,,897,,217,,,974,13,13,,,,16,962,964,966,968,,969,425,,986,,914',
',,,987,,653,,,330,815,,16,776,,776,,776,,,,15,,,14,15,,14,,300,15,,704',
'217,,,,,,,,,,217,,,300,,,14,,,429,,,,15,,,1006,1007,1008,1009,,,,,,',
',13,,16,,,,16,,,,,16,1013,217,217,,,,217,217,,,217,13,,,923,751,925',
',,653,330,,,,14,16,,,,14,14,,776,,776,,776,,776,,944,298,945,,946,,',
',,,,,298,,,795,,,,,,,,,14,14,,,,,,13,,,,13,776,,804,,13,,,,,,,,,,,,',
',,,,824,,,,,,,217,,13,,,14,217,,,990,14,991,,992,,,,,,,14,,,,,,,1000',
',,,217,,,,,,,,,15,,15,,,,,,300,851,,,,1012,,,,300,,,,39,870,,,,39,,14',
',,,,,,,,,,,14,,,,,,,,,,,16,,16,39,297,297,,,,,,,,,,,,,217,15,14,14,15',
',14,,,,,,14,,,,,,,,343,359,359,359,,907,15,,,,,,,742,,,,931,,,,,330',
',,14,,,,939,,,16,,,16,,,,,39,,,13,,13,,,,39,39,,,,,,,16,,,,,,15,,,,',
'15,15,,,,,,,,,,,300,,,,14,,,,,,,300,,,,,,,,14,425,,,15,15,14,,14,,,',
',,13,16,,13,,,16,16,,,217,,,,,,,,,,,,39,,,13,,,,,,,,,,15,,,,,15,16,16',
',,39,,,,,15,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,13,,,,16,13,13,,,16,355,',
',,,,15,,,16,,,,39,,,,39,15,,,297,39,,,,,,,,13,13,,,,,,,297,,,,,,,,,',
'39,15,15,,,15,,,,16,,15,38,,,,,38,,,,16,,,,,,13,,,,,13,,,,355,,,,,,13',
',15,38,296,296,941,,,,16,16,,,16,,,,,,16,,,,,,,,,,,,,,,,,,342,358,358',
'358,,,,,,,13,,,,,16,,,,942,,,13,15,,,,,,,,,,,,,,,15,,38,,,,15,,15,,',
'38,38,,,13,13,,,13,,,,,,13,,,,,,,,,,,16,,,,,,,,,,,,,,,16,39,,39,,,16',
'13,16,297,,,,,,,,,297,,,,,,,,,,,,,,,,,,,,,,,,,,,,38,,,,,,,,,,,,,,,,',
',,,13,,,38,,39,,,39,,,,,,,13,,,,,,13,,13,,,,,,,39,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,38,,,,38,,,,296,38,,,,,,,,,,,,,,,39,296,,,,39,39,,,,,38',
',,,,,297,,,,,,,,,,,297,,,,,,,,,,,,39,39,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,39,,,,,39,,,,,,,,,,39,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,359,,,,,,39,,,,,,,,,,,,39,,,,,,,,,,,,,,,,,,,,,38,,38,,,,,',
'296,,39,39,,,39,,,296,,,39,,,,,,,,,,,,,,,,,,,,,,,,,359,,,,,,,,39,,,',
'938,,,,,,,,,,,,,38,,,38,,,,,,,,,,,,,,,,,,,,,,38,,,,,,,,,,,,,,,,,39,',
',,,,,,,,,,,,,39,,,,,,39,,39,,,,,,,,,,,,,,,,,38,,,,,38,38,,,,,,,,,,,296',
',,,,,,,,,,296,,,,,,224,,,,,,38,38,,271,271,271,,,,,,,,,,,317,318,319',
',,,,,,,,,,,,,,271,271,,,,,,,,,,,38,,,,,38,,,,,,,,,,38,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,358,,,,,,38,,,,,,,,,,,,38,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,38,38,,,38,,,,,,38,,,,,,,,,,,,,,,,,271,404,271,,,423',
'428,,358,,,,,,,,38,,,,937,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,38,271,271,,,,,,,,,,,,,38,,',
',,,38,,38,,,,,,,,,,,,,,,,,,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(3242, 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,37,37,41,56,63,63,84,41,65,57,57,135,69,69,23,60,60,15,15,158,8,93',
'41,90,2,31,33,33,33,61,61,41,41,41,10,41,49,39,63,63,63,71,87,87,18',
'134,17,17,20,37,17,7,94,170,11,27,7,36,38,38,38,27,112,119,119,41,41',
'88,23,41,4,6,57,29,29,115,24,29,162,66,66,66,68,68,68,93,67,67,11,72',
'67,72,51,89,89,170,17,17,17,17,54,45,166,50,92,113,124,106,9,66,41,127',
'68,68,125,41,41,41,41,41,41,114,147,29,29,29,29,107,167,147,160,160',
'160,130,4,40,5,44,44,44,108,129,2,40,40,46,151,115,151,151,151,55,55',
'150,150,127,109,110,111,7,104,91,103,125,102,125,116,86,7,7,83,82,70',
'122,64,71,62,101,100,128,99,98,131,132,133,42,112,30,170,136,138,139',
'140,69,141,115,142,145,146,97,148,149,105,33,19,41,41,41,41,57,118,41',
'41,41,41,41,41,158,152,153,154,29,29,29,29,72,72,167,41,37,37,115,20',
'20,155,156,130,20,20,5,157,16,14,134,129,161,23,12,162,163,90,164,127',
'96,66,118,113,33,33,113,66,95,41,41,63,1,33,,,,,41,114,158,,,,,9,,51',
'63,162,31,,8,11,,41,51,69,,41,,69,37,,41,166,,,9,93,31,119,119,,37,24',
'23,,66,40,49,68,,,,,66,17,17,68,41,41,124,54,,,,,,29,125,24,125,,7,',
'41,41,,,119,,88,,29,29,,,4,6,,,162,,93,45,41,,125,50,45,37,9,,29,89',
'44,9,151,37,151,93,41,,44,23,,94,,,29,113,31,113,,23,24,,,,57,,47,,69',
'24,60,39,15,46,69,36,39,4,46,,,,160,160,61,160,160,,160,71,,158,,69',
'170,87,,118,8,,118,,118,8,118,125,33,,,57,,41,51,67,38,,,134,119,31',
'38,47,,,,,,69,113,113,,,72,,18,,,,,,63,,,47,,,,,,63,,,,,,,,,,69,,10',
'22,,41,,41,22,,33,,69,49,38,41,57,,113,,113,,49,22,,,,,57,2,,41,22,22',
'22,71,22,22,22,29,27,,118,,118,,118,68,118,160,160,160,160,,113,8,7',
',,,,,,,,,22,22,,69,22,22,22,22,,41,,69,41,33,,,,28,41,57,118,,68,33',
',57,,,41,93,93,,,87,41,,84,90,,,160,,,,,22,,158,93,93,22,22,22,22,22',
'22,87,,57,,47,,,31,60,66,15,31,41,41,,,65,41,41,,63,41,61,135,,,9,,',
'9,,63,,31,,41,,,20,20,41,41,69,20,20,69,47,20,8,31,47,,49,,,31,24,,56',
',,68,,49,,47,,,,,,47,,,,41,41,,,,,,,,22,22,22,22,31,,22,22,22,22,22',
'22,17,31,,,,,17,,,28,,22,9,,,28,,9,9,41,,66,,,41,41,,29,,41,,57,,29',
',,,,,41,,,,,65,22,22,93,65,63,41,,9,9,22,,31,25,,,,,25,37,47,,,,,,,22',
',,,22,20,23,,22,22,28,,28,,28,28,41,,,25,25,25,,,,22,,,41,,,,,,,22,22',
'26,17,,,9,26,,,120,,,,,,22,22,,25,25,25,41,,41,41,,63,41,,29,,,,41,26',
'22,,,63,,,,,47,,93,,,93,,,22,,9,120,,,120,25,,,,121,121,121,9,41,25',
'25,26,,47,,,,,,,,,,,21,,,,,21,,,123,,,,31,,9,9,,28,9,,,,,,,,,26,,,,',
',21,22,,26,26,57,,,,,41,,,,,,,,,,,,,,9,41,123,,123,,,41,,41,69,,,,25',
',,,,,33,,,31,,41,57,,,,22,,22,,,,,25,22,,22,28,,28,,28,,22,,,,21,,,47',
',22,,,9,21,21,,,,26,121,121,121,121,,121,26,,9,,47,,,,9,,28,,,28,120',
',26,120,,120,,120,,,,25,,,22,25,,22,,25,25,,28,22,,,,,,,,,,22,,,25,',
',22,,,28,,,,25,,,121,121,121,121,,,,,,,,21,,26,,,,26,,,,,26,121,22,22',
',,,22,22,,,22,21,,,123,28,123,,,28,28,,,,22,26,,,,22,22,,120,,120,,120',
',120,,123,22,123,,123,,,,,,,,22,,,28,,,,,,,,,22,22,,,,,,21,,,,21,120',
',28,,21,,,,,,,,,,,,,,,,,28,,,,,,,22,,21,,,22,22,,,123,22,123,,123,,',
',,,,22,,,,,,,123,,,,22,,,,,,,,,25,,25,,,,,,25,28,,,,123,,,,25,,,,53',
'22,,,,53,,22,,,,,,,,,,,,22,,,,,,,,,,,26,,26,53,53,53,,,,,,,,,,,,,22',
'25,22,22,25,,22,,,,,,22,,,,,,,,53,53,53,53,,28,25,,,,,,,25,,,,22,,,',
',28,,,22,,,,22,,,26,,,26,,,,,53,,,21,,21,,,,53,53,,,,,,,26,,,,,,25,',
',,,25,25,,,,,,,,,,,25,,,,22,,,,,,,25,,,,,,,,22,26,,,25,25,22,,22,,,',
',,21,26,,21,,,26,26,,,22,,,,,,,,,,,,53,,,21,,,,,,,,,,25,,,,,25,26,26',
',,53,,,,,25,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,21,,,,26,21,21,,,26,25,,',
',,,25,,,26,,,,53,,,,53,25,,,53,53,,,,,,,,21,21,,,,,,,53,,,,,,,,,,53',
'25,25,,,25,,,,26,,25,52,,,,,52,,,,26,,,,,,21,,,,,21,,,,25,,,,,,21,,25',
'52,52,52,25,,,,26,26,,,26,,,,,,26,,,,,,,,,,,,,,,,,,52,52,52,52,,,,,',
',21,,,,,26,,,,26,,,21,25,,,,,,,,,,,,,,,25,,52,,,,25,,25,,,52,52,,,21',
'21,,,21,,,,,,21,,,,,,,,,,,26,,,,,,,,,,,,,,,26,53,,53,,,26,21,26,53,',
',,,,,,,53,,,,,,,,,,,,,,,,,,,,,,,,,,,,52,,,,,,,,,,,,,,,,,,,,21,,,52,',
'53,,,53,,,,,,,21,,,,,,21,,21,,,,,,,53,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,52,,,,52,,,,52,52,,,,,,,,,,,,,,,53,52,,,,53,53,,,,,52,,,,,,53,,,,',
',,,,,,53,,,,,,,,,,,,53,53,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',53,,,,,53,,,,,,,,,,53,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,53,',
',,,,53,,,,,,,,,,,,53,,,,,,,,,,,,,,,,,,,,,52,,52,,,,,,52,,53,53,,,53',
',,52,,,53,,,,,,,,,,,,,,,,,,,,,,,,,53,,,,,,,,53,,,,53,,,,,,,,,,,,,52',
',,52,,,,,,,,,,,,,,,,,,,,,,52,,,,,,,,,,,,,,,,,53,,,,,,,,,,,,,,,53,,,',
',,53,,53,,,,,,,,,,,,,,,,,52,,,,,52,52,,,,,,,,,,,52,,,,,,,,,,,52,,,,',
',32,,,,,,52,52,,32,32,32,,,,,,,,,,,32,32,32,,,,,,,,,,,,,,,32,32,,,,',
',,,,,,52,,,,,52,,,,,,,,,,52,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',52,,,,,,52,,,,,,,,,,,,52,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,52,52,,,52,',
',,,,52,,,,,,,,,,,,,,,,,32,32,32,,,32,32,,52,,,,,,,,52,,,,52,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,52,32,32,,,,,,,,,,,,,52,,,',
',,52,,52,,,,,,,,,,,,,,,,,,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(3242, 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,   266,    25,   nil,    68,   132,    69,    52,  -300,    76,
  -483,  -621,  -553,   nil,  -248,    10,   233,   -16,  -165,   137,
    29,   896,   492,  -191,  -328,   764,   815,  -148,   512,    11,
    69,   -19,  2266,    -2,   nil,   nil,    34,  -206,    33,  -221,
  -333,     3,  -287,   nil,   109,    69,   113,   182,   nil,     3,
    69,  -218,  1609,  1276,  -251,    83,   -67,     2,   nil,   nil,
     8,    22,  -219,   -29,   116,   -50,    51,  -238,    54,   -13,
  -297,  -232,  -392,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   101,   111,   -54,   nil,   106,  -292,  -640,  -471,
  -316,    94,  -251,    19,  -534,   191,   197,   142,  -338,   123,
   114,  -533,    99,  -551,  -413,  -706,  -473,  -603,  -219,  -213,
  -430,  -690,  -763,  -441,  -425,  -752,  -474,   nil,  -430,  -469,
   182,    99,  -467,   263,  -534,  -526,   nil,  -529,  -688,  -726,
  -734,  -150,  -346,   123,  -287,   -10,   -64,   nil,   -73,   -73,
  -715,  -482,  -608,   nil,   nil,   121,   120,    41,   118,   118,
  -224,  -228,   134,   134,   134,  -358,  -358,  -342,  -313,   nil,
  -405,  -444,  -611,  -436,  -605,   nil,  -589,  -733,   nil,   nil,
  -430 ]

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, 143, :_reduce_none,
  2, 144, :_reduce_2,
  0, 145, :_reduce_3,
  1, 145, :_reduce_4,
  3, 145, :_reduce_5,
  2, 145, :_reduce_6,
  1, 147, :_reduce_none,
  4, 147, :_reduce_8,
  4, 150, :_reduce_9,
  2, 151, :_reduce_10,
  0, 155, :_reduce_11,
  1, 155, :_reduce_12,
  3, 155, :_reduce_13,
  2, 155, :_reduce_14,
  1, 156, :_reduce_none,
  4, 156, :_reduce_16,
  0, 172, :_reduce_17,
  4, 149, :_reduce_18,
  3, 149, :_reduce_19,
  3, 149, :_reduce_20,
  3, 149, :_reduce_21,
  2, 149, :_reduce_22,
  3, 149, :_reduce_23,
  3, 149, :_reduce_24,
  3, 149, :_reduce_25,
  3, 149, :_reduce_26,
  3, 149, :_reduce_27,
  4, 149, :_reduce_28,
  1, 149, :_reduce_none,
  3, 149, :_reduce_30,
  3, 149, :_reduce_31,
  6, 149, :_reduce_32,
  5, 149, :_reduce_33,
  5, 149, :_reduce_34,
  5, 149, :_reduce_35,
  5, 149, :_reduce_36,
  3, 149, :_reduce_37,
  3, 149, :_reduce_38,
  3, 149, :_reduce_39,
  3, 149, :_reduce_40,
  1, 149, :_reduce_none,
  3, 160, :_reduce_42,
  3, 160, :_reduce_43,
  1, 171, :_reduce_none,
  3, 171, :_reduce_45,
  3, 171, :_reduce_46,
  3, 171, :_reduce_47,
  2, 171, :_reduce_48,
  1, 171, :_reduce_none,
  1, 159, :_reduce_none,
  1, 162, :_reduce_none,
  1, 162, :_reduce_none,
  1, 176, :_reduce_none,
  4, 176, :_reduce_54,
  0, 184, :_reduce_55,
  5, 181, :_reduce_56,
  1, 183, :_reduce_none,
  2, 175, :_reduce_58,
  3, 175, :_reduce_59,
  4, 175, :_reduce_60,
  5, 175, :_reduce_61,
  4, 175, :_reduce_62,
  5, 175, :_reduce_63,
  2, 175, :_reduce_64,
  2, 175, :_reduce_65,
  2, 175, :_reduce_66,
  2, 175, :_reduce_67,
  2, 175, :_reduce_68,
  1, 161, :_reduce_69,
  3, 161, :_reduce_70,
  1, 188, :_reduce_71,
  3, 188, :_reduce_72,
  1, 187, :_reduce_none,
  2, 187, :_reduce_74,
  3, 187, :_reduce_75,
  5, 187, :_reduce_76,
  2, 187, :_reduce_77,
  4, 187, :_reduce_78,
  2, 187, :_reduce_79,
  4, 187, :_reduce_80,
  1, 187, :_reduce_81,
  3, 187, :_reduce_82,
  1, 191, :_reduce_none,
  3, 191, :_reduce_84,
  2, 190, :_reduce_85,
  3, 190, :_reduce_86,
  1, 193, :_reduce_87,
  3, 193, :_reduce_88,
  1, 192, :_reduce_89,
  1, 192, :_reduce_90,
  4, 192, :_reduce_91,
  3, 192, :_reduce_92,
  3, 192, :_reduce_93,
  3, 192, :_reduce_94,
  3, 192, :_reduce_95,
  2, 192, :_reduce_96,
  1, 192, :_reduce_97,
  1, 168, :_reduce_98,
  1, 168, :_reduce_99,
  4, 168, :_reduce_100,
  3, 168, :_reduce_101,
  3, 168, :_reduce_102,
  3, 168, :_reduce_103,
  3, 168, :_reduce_104,
  2, 168, :_reduce_105,
  1, 168, :_reduce_106,
  1, 196, :_reduce_107,
  1, 196, :_reduce_none,
  2, 197, :_reduce_109,
  1, 197, :_reduce_110,
  3, 197, :_reduce_111,
  1, 198, :_reduce_none,
  1, 198, :_reduce_none,
  1, 198, :_reduce_none,
  1, 198, :_reduce_none,
  1, 198, :_reduce_none,
  1, 201, :_reduce_117,
  1, 201, :_reduce_none,
  1, 157, :_reduce_none,
  1, 157, :_reduce_none,
  1, 158, :_reduce_121,
  0, 204, :_reduce_122,
  4, 158, :_reduce_123,
  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, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  1, 200, :_reduce_none,
  3, 174, :_reduce_195,
  5, 174, :_reduce_196,
  3, 174, :_reduce_197,
  5, 174, :_reduce_198,
  6, 174, :_reduce_199,
  5, 174, :_reduce_200,
  5, 174, :_reduce_201,
  5, 174, :_reduce_202,
  5, 174, :_reduce_203,
  4, 174, :_reduce_204,
  3, 174, :_reduce_205,
  3, 174, :_reduce_206,
  3, 174, :_reduce_207,
  3, 174, :_reduce_208,
  3, 174, :_reduce_209,
  3, 174, :_reduce_210,
  3, 174, :_reduce_211,
  3, 174, :_reduce_212,
  3, 174, :_reduce_213,
  4, 174, :_reduce_214,
  4, 174, :_reduce_215,
  2, 174, :_reduce_216,
  2, 174, :_reduce_217,
  3, 174, :_reduce_218,
  3, 174, :_reduce_219,
  3, 174, :_reduce_220,
  3, 174, :_reduce_221,
  3, 174, :_reduce_222,
  3, 174, :_reduce_223,
  3, 174, :_reduce_224,
  3, 174, :_reduce_225,
  3, 174, :_reduce_226,
  3, 174, :_reduce_227,
  3, 174, :_reduce_228,
  3, 174, :_reduce_229,
  3, 174, :_reduce_230,
  2, 174, :_reduce_231,
  2, 174, :_reduce_232,
  3, 174, :_reduce_233,
  3, 174, :_reduce_234,
  3, 174, :_reduce_235,
  3, 174, :_reduce_236,
  3, 174, :_reduce_237,
  6, 174, :_reduce_238,
  1, 174, :_reduce_none,
  1, 170, :_reduce_none,
  1, 206, :_reduce_none,
  2, 206, :_reduce_none,
  4, 206, :_reduce_243,
  2, 206, :_reduce_244,
  3, 211, :_reduce_245,
  0, 212, :_reduce_246,
  1, 212, :_reduce_none,
  0, 165, :_reduce_248,
  1, 165, :_reduce_none,
  2, 165, :_reduce_none,
  4, 165, :_reduce_251,
  2, 165, :_reduce_252,
  1, 186, :_reduce_253,
  2, 186, :_reduce_254,
  2, 186, :_reduce_255,
  4, 186, :_reduce_256,
  1, 186, :_reduce_257,
  0, 215, :_reduce_258,
  2, 180, :_reduce_259,
  2, 214, :_reduce_260,
  2, 213, :_reduce_261,
  0, 213, :_reduce_262,
  1, 208, :_reduce_263,
  2, 208, :_reduce_264,
  3, 208, :_reduce_265,
  4, 208, :_reduce_266,
  3, 169, :_reduce_267,
  4, 169, :_reduce_268,
  2, 169, :_reduce_269,
  1, 205, :_reduce_none,
  1, 205, :_reduce_none,
  1, 205, :_reduce_none,
  1, 205, :_reduce_none,
  1, 205, :_reduce_none,
  1, 205, :_reduce_none,
  1, 205, :_reduce_none,
  1, 205, :_reduce_none,
  1, 205, :_reduce_none,
  1, 205, :_reduce_none,
  1, 205, :_reduce_280,
  0, 238, :_reduce_281,
  4, 205, :_reduce_282,
  0, 239, :_reduce_283,
  0, 240, :_reduce_284,
  6, 205, :_reduce_285,
  0, 241, :_reduce_286,
  4, 205, :_reduce_287,
  3, 205, :_reduce_288,
  3, 205, :_reduce_289,
  2, 205, :_reduce_290,
  3, 205, :_reduce_291,
  3, 205, :_reduce_292,
  1, 205, :_reduce_293,
  4, 205, :_reduce_294,
  3, 205, :_reduce_295,
  1, 205, :_reduce_296,
  5, 205, :_reduce_297,
  4, 205, :_reduce_298,
  3, 205, :_reduce_299,
  2, 205, :_reduce_300,
  1, 205, :_reduce_none,
  2, 205, :_reduce_302,
  2, 205, :_reduce_303,
  6, 205, :_reduce_304,
  6, 205, :_reduce_305,
  0, 242, :_reduce_306,
  0, 243, :_reduce_307,
  7, 205, :_reduce_308,
  0, 244, :_reduce_309,
  0, 245, :_reduce_310,
  7, 205, :_reduce_311,
  5, 205, :_reduce_312,
  4, 205, :_reduce_313,
  0, 246, :_reduce_314,
  0, 247, :_reduce_315,
  9, 205, :_reduce_316,
  0, 248, :_reduce_317,
  6, 205, :_reduce_318,
  0, 249, :_reduce_319,
  7, 205, :_reduce_320,
  0, 250, :_reduce_321,
  5, 205, :_reduce_322,
  0, 251, :_reduce_323,
  6, 205, :_reduce_324,
  0, 252, :_reduce_325,
  0, 253, :_reduce_326,
  9, 205, :_reduce_327,
  1, 205, :_reduce_328,
  1, 205, :_reduce_329,
  1, 205, :_reduce_330,
  1, 205, :_reduce_331,
  1, 164, :_reduce_none,
  1, 229, :_reduce_none,
  1, 229, :_reduce_none,
  2, 229, :_reduce_335,
  1, 231, :_reduce_none,
  1, 231, :_reduce_none,
  1, 230, :_reduce_none,
  5, 230, :_reduce_339,
  1, 153, :_reduce_none,
  2, 153, :_reduce_341,
  1, 233, :_reduce_none,
  1, 233, :_reduce_none,
  1, 254, :_reduce_344,
  3, 254, :_reduce_345,
  1, 257, :_reduce_346,
  3, 257, :_reduce_347,
  1, 256, :_reduce_none,
  4, 256, :_reduce_349,
  6, 256, :_reduce_350,
  3, 256, :_reduce_351,
  5, 256, :_reduce_352,
  2, 256, :_reduce_353,
  4, 256, :_reduce_354,
  1, 256, :_reduce_355,
  3, 256, :_reduce_356,
  4, 258, :_reduce_357,
  2, 258, :_reduce_358,
  2, 258, :_reduce_359,
  1, 258, :_reduce_360,
  2, 263, :_reduce_361,
  0, 263, :_reduce_362,
  6, 264, :_reduce_363,
  8, 264, :_reduce_364,
  4, 264, :_reduce_365,
  6, 264, :_reduce_366,
  4, 264, :_reduce_367,
  2, 264, :_reduce_none,
  6, 264, :_reduce_369,
  2, 264, :_reduce_370,
  4, 264, :_reduce_371,
  6, 264, :_reduce_372,
  2, 264, :_reduce_373,
  4, 264, :_reduce_374,
  2, 264, :_reduce_375,
  4, 264, :_reduce_376,
  1, 264, :_reduce_none,
  0, 182, :_reduce_378,
  1, 182, :_reduce_379,
  3, 268, :_reduce_380,
  1, 268, :_reduce_381,
  4, 268, :_reduce_382,
  1, 269, :_reduce_383,
  4, 269, :_reduce_384,
  1, 270, :_reduce_385,
  3, 270, :_reduce_386,
  1, 271, :_reduce_387,
  1, 271, :_reduce_none,
  0, 275, :_reduce_389,
  3, 228, :_reduce_390,
  4, 273, :_reduce_391,
  1, 273, :_reduce_392,
  3, 274, :_reduce_393,
  3, 274, :_reduce_394,
  0, 278, :_reduce_395,
  5, 277, :_reduce_396,
  2, 177, :_reduce_397,
  4, 177, :_reduce_398,
  5, 177, :_reduce_399,
  5, 177, :_reduce_400,
  2, 227, :_reduce_401,
  4, 227, :_reduce_402,
  4, 227, :_reduce_403,
  3, 227, :_reduce_404,
  3, 227, :_reduce_405,
  3, 227, :_reduce_406,
  2, 227, :_reduce_407,
  1, 227, :_reduce_408,
  4, 227, :_reduce_409,
  0, 280, :_reduce_410,
  5, 226, :_reduce_411,
  0, 281, :_reduce_412,
  5, 226, :_reduce_413,
  5, 232, :_reduce_414,
  1, 282, :_reduce_415,
  1, 282, :_reduce_none,
  6, 152, :_reduce_417,
  0, 152, :_reduce_418,
  1, 283, :_reduce_419,
  1, 283, :_reduce_none,
  1, 283, :_reduce_none,
  2, 284, :_reduce_422,
  1, 284, :_reduce_none,
  2, 154, :_reduce_424,
  1, 154, :_reduce_none,
  1, 216, :_reduce_none,
  1, 216, :_reduce_none,
  1, 216, :_reduce_none,
  1, 217, :_reduce_429,
  1, 286, :_reduce_430,
  2, 286, :_reduce_431,
  3, 287, :_reduce_432,
  1, 287, :_reduce_433,
  1, 287, :_reduce_434,
  3, 218, :_reduce_435,
  4, 219, :_reduce_436,
  3, 220, :_reduce_437,
  0, 291, :_reduce_438,
  3, 291, :_reduce_439,
  1, 292, :_reduce_440,
  2, 292, :_reduce_441,
  3, 222, :_reduce_442,
  0, 294, :_reduce_443,
  3, 294, :_reduce_444,
  3, 221, :_reduce_445,
  3, 223, :_reduce_446,
  0, 295, :_reduce_447,
  3, 295, :_reduce_448,
  0, 296, :_reduce_449,
  3, 296, :_reduce_450,
  0, 288, :_reduce_451,
  2, 288, :_reduce_452,
  0, 289, :_reduce_453,
  2, 289, :_reduce_454,
  0, 290, :_reduce_455,
  2, 290, :_reduce_456,
  1, 293, :_reduce_457,
  2, 293, :_reduce_458,
  0, 298, :_reduce_459,
  4, 293, :_reduce_460,
  1, 297, :_reduce_461,
  1, 297, :_reduce_462,
  1, 297, :_reduce_463,
  1, 297, :_reduce_none,
  1, 202, :_reduce_465,
  3, 203, :_reduce_466,
  1, 285, :_reduce_467,
  1, 285, :_reduce_468,
  2, 285, :_reduce_469,
  2, 285, :_reduce_470,
  1, 194, :_reduce_471,
  1, 194, :_reduce_472,
  1, 194, :_reduce_473,
  1, 194, :_reduce_474,
  1, 194, :_reduce_475,
  1, 195, :_reduce_476,
  1, 195, :_reduce_477,
  1, 195, :_reduce_478,
  1, 195, :_reduce_479,
  1, 195, :_reduce_480,
  1, 195, :_reduce_481,
  1, 195, :_reduce_482,
  1, 224, :_reduce_483,
  1, 224, :_reduce_484,
  1, 163, :_reduce_485,
  1, 163, :_reduce_486,
  1, 167, :_reduce_487,
  1, 167, :_reduce_488,
  1, 234, :_reduce_489,
  0, 299, :_reduce_490,
  4, 234, :_reduce_491,
  2, 234, :_reduce_492,
  3, 236, :_reduce_493,
  2, 236, :_reduce_494,
  4, 300, :_reduce_495,
  2, 300, :_reduce_496,
  2, 300, :_reduce_497,
  1, 300, :_reduce_498,
  2, 302, :_reduce_499,
  0, 302, :_reduce_500,
  6, 276, :_reduce_501,
  8, 276, :_reduce_502,
  4, 276, :_reduce_503,
  6, 276, :_reduce_504,
  4, 276, :_reduce_505,
  6, 276, :_reduce_506,
  2, 276, :_reduce_507,
  4, 276, :_reduce_508,
  6, 276, :_reduce_509,
  2, 276, :_reduce_510,
  4, 276, :_reduce_511,
  2, 276, :_reduce_512,
  4, 276, :_reduce_513,
  1, 276, :_reduce_514,
  0, 276, :_reduce_515,
  1, 272, :_reduce_516,
  1, 272, :_reduce_517,
  1, 272, :_reduce_518,
  1, 272, :_reduce_519,
  1, 255, :_reduce_none,
  1, 255, :_reduce_none,
  1, 304, :_reduce_522,
  3, 304, :_reduce_523,
  1, 265, :_reduce_524,
  3, 265, :_reduce_525,
  2, 305, :_reduce_526,
  2, 306, :_reduce_527,
  1, 259, :_reduce_528,
  3, 259, :_reduce_529,
  1, 301, :_reduce_530,
  3, 301, :_reduce_531,
  1, 307, :_reduce_none,
  1, 307, :_reduce_none,
  2, 260, :_reduce_534,
  1, 260, :_reduce_535,
  3, 308, :_reduce_536,
  3, 309, :_reduce_537,
  1, 266, :_reduce_538,
  3, 266, :_reduce_539,
  1, 303, :_reduce_540,
  3, 303, :_reduce_541,
  1, 310, :_reduce_none,
  1, 310, :_reduce_none,
  2, 267, :_reduce_544,
  1, 267, :_reduce_545,
  1, 311, :_reduce_none,
  1, 311, :_reduce_none,
  2, 262, :_reduce_548,
  2, 261, :_reduce_549,
  0, 261, :_reduce_550,
  1, 237, :_reduce_none,
  3, 237, :_reduce_552,
  0, 225, :_reduce_553,
  2, 225, :_reduce_none,
  1, 210, :_reduce_555,
  3, 210, :_reduce_556,
  3, 312, :_reduce_557,
  2, 312, :_reduce_558,
  2, 312, :_reduce_559,
  1, 185, :_reduce_none,
  1, 185, :_reduce_none,
  1, 185, :_reduce_none,
  1, 179, :_reduce_none,
  1, 179, :_reduce_none,
  1, 179, :_reduce_none,
  1, 179, :_reduce_none,
  1, 279, :_reduce_none,
  1, 279, :_reduce_none,
  1, 279, :_reduce_none,
  1, 178, :_reduce_none,
  1, 178, :_reduce_none,
  0, 146, :_reduce_none,
  1, 146, :_reduce_none,
  0, 173, :_reduce_none,
  1, 173, :_reduce_none,
  2, 189, :_reduce_576,
  2, 166, :_reduce_577,
  0, 209, :_reduce_none,
  1, 209, :_reduce_none,
  1, 209, :_reduce_none,
  1, 235, :_reduce_581,
  1, 235, :_reduce_none,
  1, 148, :_reduce_none,
  2, 148, :_reduce_none,
  0, 207, :_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,
  :tREGEXP_END => 63,
  :tUPLUS => 64,
  :tUMINUS => 65,
  :tUMINUS_NUM => 66,
  :tPOW => 67,
  :tCMP => 68,
  :tEQ => 69,
  :tEQQ => 70,
  :tNEQ => 71,
  :tGEQ => 72,
  :tLEQ => 73,
  :tANDOP => 74,
  :tOROP => 75,
  :tMATCH => 76,
  :tNMATCH => 77,
  :tDOT => 78,
  :tDOT2 => 79,
  :tDOT3 => 80,
  :tAREF => 81,
  :tASET => 82,
  :tLSHFT => 83,
  :tRSHFT => 84,
  :tCOLON2 => 85,
  :tCOLON3 => 86,
  :tOP_ASGN => 87,
  :tASSOC => 88,
  :tLPAREN => 89,
  :tLPAREN2 => 90,
  :tRPAREN => 91,
  :tLPAREN_ARG => 92,
  :tLBRACK => 93,
  :tLBRACK2 => 94,
  :tRBRACK => 95,
  :tLBRACE => 96,
  :tLBRACE_ARG => 97,
  :tSTAR => 98,
  :tSTAR2 => 99,
  :tAMPER => 100,
  :tAMPER2 => 101,
  :tTILDE => 102,
  :tPERCENT => 103,
  :tDIVIDE => 104,
  :tDSTAR => 105,
  :tPLUS => 106,
  :tMINUS => 107,
  :tLT => 108,
  :tGT => 109,
  :tPIPE => 110,
  :tBANG => 111,
  :tCARET => 112,
  :tLCURLY => 113,
  :tRCURLY => 114,
  :tBACK_REF2 => 115,
  :tSYMBEG => 116,
  :tSTRING_BEG => 117,
  :tXSTRING_BEG => 118,
  :tREGEXP_BEG => 119,
  :tREGEXP_OPT => 120,
  :tWORDS_BEG => 121,
  :tQWORDS_BEG => 122,
  :tSYMBOLS_BEG => 123,
  :tQSYMBOLS_BEG => 124,
  :tSTRING_DBEG => 125,
  :tSTRING_DVAR => 126,
  :tSTRING_END => 127,
  :tSTRING_DEND => 128,
  :tSTRING => 129,
  :tSYMBOL => 130,
  :tNL => 131,
  :tEH => 132,
  :tCOLON => 133,
  :tCOMMA => 134,
  :tSPACE => 135,
  :tSEMI => 136,
  :tLAMBDA => 137,
  :tLAMBEG => 138,
  :tCHARACTER => 139,
  :tEQL => 140,
  :tLOWEST => 141 }

racc_nt_base = 142

racc_use_result_var = true

Racc_arg = [
  racc_action_table,
  racc_action_check,
  racc_action_default,
  racc_action_pointer,
  racc_goto_table,
  racc_goto_check,
  racc_goto_default,
  racc_goto_pointer,
  racc_nt_base,
  racc_reduce_table,
  racc_token_table,
  racc_shift_n,
  racc_reduce_n,
  racc_use_result_var ]

Racc_token_to_s_table = [
  "$end",
  "error",
  "kCLASS",
  "kMODULE",
  "kDEF",
  "kUNDEF",
  "kBEGIN",
  "kRESCUE",
  "kENSURE",
  "kEND",
  "kIF",
  "kUNLESS",
  "kTHEN",
  "kELSIF",
  "kELSE",
  "kCASE",
  "kWHEN",
  "kWHILE",
  "kUNTIL",
  "kFOR",
  "kBREAK",
  "kNEXT",
  "kREDO",
  "kRETRY",
  "kIN",
  "kDO",
  "kDO_COND",
  "kDO_BLOCK",
  "kDO_LAMBDA",
  "kRETURN",
  "kYIELD",
  "kSUPER",
  "kSELF",
  "kNIL",
  "kTRUE",
  "kFALSE",
  "kAND",
  "kOR",
  "kNOT",
  "kIF_MOD",
  "kUNLESS_MOD",
  "kWHILE_MOD",
  "kUNTIL_MOD",
  "kRESCUE_MOD",
  "kALIAS",
  "kDEFINED",
  "klBEGIN",
  "klEND",
  "k__LINE__",
  "k__FILE__",
  "k__ENCODING__",
  "tIDENTIFIER",
  "tFID",
  "tGVAR",
  "tIVAR",
  "tCONSTANT",
  "tLABEL",
  "tCVAR",
  "tNTH_REF",
  "tBACK_REF",
  "tSTRING_CONTENT",
  "tINTEGER",
  "tFLOAT",
  "tREGEXP_END",
  "tUPLUS",
  "tUMINUS",
  "tUMINUS_NUM",
  "tPOW",
  "tCMP",
  "tEQ",
  "tEQQ",
  "tNEQ",
  "tGEQ",
  "tLEQ",
  "tANDOP",
  "tOROP",
  "tMATCH",
  "tNMATCH",
  "tDOT",
  "tDOT2",
  "tDOT3",
  "tAREF",
  "tASET",
  "tLSHFT",
  "tRSHFT",
  "tCOLON2",
  "tCOLON3",
  "tOP_ASGN",
  "tASSOC",
  "tLPAREN",
  "tLPAREN2",
  "tRPAREN",
  "tLPAREN_ARG",
  "tLBRACK",
  "tLBRACK2",
  "tRBRACK",
  "tLBRACE",
  "tLBRACE_ARG",
  "tSTAR",
  "tSTAR2",
  "tAMPER",
  "tAMPER2",
  "tTILDE",
  "tPERCENT",
  "tDIVIDE",
  "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

module_eval(<<'.,.,', 'ruby20.y', 51)
  def _reduce_2(val, _values, result)
                          result = @builder.compstmt(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 56)
  def _reduce_3(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 60)
  def _reduce_4(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 64)
  def _reduce_5(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 68)
  def _reduce_6(val, _values, result)
                          result = [ val[1] ]
                    
    result
  end
.,.,

# reduce 7 omitted

module_eval(<<'.,.,', 'ruby20.y', 74)
  def _reduce_8(val, _values, result)
                          result = @builder.preexe(val[0], val[1], val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 79)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 95)
  def _reduce_10(val, _values, result)
                          result = @builder.compstmt(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 100)
  def _reduce_11(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 104)
  def _reduce_12(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 108)
  def _reduce_13(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 112)
  def _reduce_14(val, _values, result)
                          result = [ val[1] ]
                    
    result
  end
.,.,

# reduce 15 omitted

module_eval(<<'.,.,', 'ruby20.y', 118)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 127)
  def _reduce_17(val, _values, result)
                          @lexer.state = :expr_fname
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 131)
  def _reduce_18(val, _values, result)
                          result = @builder.alias(val[0], val[1], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 135)
  def _reduce_19(val, _values, result)
                          result = @builder.alias(val[0],
                                  @builder.gvar(val[1]),
                                  @builder.gvar(val[2]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 141)
  def _reduce_20(val, _values, result)
                          result = @builder.alias(val[0],
                                  @builder.gvar(val[1]),
                                  @builder.back_ref(val[2]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 147)
  def _reduce_21(val, _values, result)
                          diagnostic :error, :nth_ref_alias, nil, val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 151)
  def _reduce_22(val, _values, result)
                          result = @builder.undef_method(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 155)
  def _reduce_23(val, _values, result)
                          result = @builder.condition_mod(val[0], nil,
                                                      val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 160)
  def _reduce_24(val, _values, result)
                          result = @builder.condition_mod(nil, val[0],
                                                      val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 165)
  def _reduce_25(val, _values, result)
                          result = @builder.loop_mod(:while, val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 169)
  def _reduce_26(val, _values, result)
                          result = @builder.loop_mod(:until, val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 173)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 181)
  def _reduce_28(val, _values, result)
                          result = @builder.postexe(val[0], val[1], val[2], val[3])
                    
    result
  end
.,.,

# reduce 29 omitted

module_eval(<<'.,.,', 'ruby20.y', 186)
  def _reduce_30(val, _values, result)
                          result = @builder.multi_assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 190)
  def _reduce_31(val, _values, result)
                          result = @builder.op_assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 194)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 201)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 208)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 215)
  def _reduce_35(val, _values, result)
                          result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 222)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 229)
  def _reduce_37(val, _values, result)
                          @builder.op_assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 233)
  def _reduce_38(val, _values, result)
                          result = @builder.assign(val[0], val[1],
                                  @builder.array(nil, val[2], nil))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 238)
  def _reduce_39(val, _values, result)
                          result = @builder.multi_assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 242)
  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

module_eval(<<'.,.,', 'ruby20.y', 249)
  def _reduce_42(val, _values, result)
                          result = @builder.assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 253)
  def _reduce_43(val, _values, result)
                          result = @builder.assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

# reduce 44 omitted

module_eval(<<'.,.,', 'ruby20.y', 259)
  def _reduce_45(val, _values, result)
                          result = @builder.logical_op(:and, val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 263)
  def _reduce_46(val, _values, result)
                          result = @builder.logical_op(:or, val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 267)
  def _reduce_47(val, _values, result)
                          result = @builder.not_op(val[0], nil, val[2], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 271)
  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

module_eval(<<'.,.,', 'ruby20.y', 283)
  def _reduce_54(val, _values, result)
                          result = @builder.call_method(val[0], val[1], val[2],
                                  nil, val[3], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 289)
  def _reduce_55(val, _values, result)
                          @static_env.extend_dynamic
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 293)
  def _reduce_56(val, _values, result)
                          result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                    
    result
  end
.,.,

# reduce 57 omitted

module_eval(<<'.,.,', 'ruby20.y', 302)
  def _reduce_58(val, _values, result)
                          result = @builder.call_method(nil, nil, val[0],
                                  nil, val[1], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 307)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 316)
  def _reduce_60(val, _values, result)
                          result = @builder.call_method(val[0], val[1], val[2],
                                  nil, val[3], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 321)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 330)
  def _reduce_62(val, _values, result)
                          result = @builder.call_method(val[0], val[1], val[2],
                                  nil, val[3], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 335)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 344)
  def _reduce_64(val, _values, result)
                          result = @builder.keyword_cmd(:super, val[0],
                                  nil, val[1], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 349)
  def _reduce_65(val, _values, result)
                          result = @builder.keyword_cmd(:yield, val[0],
                                  nil, val[1], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 354)
  def _reduce_66(val, _values, result)
                          result = @builder.keyword_cmd(:return, val[0],
                                  nil, val[1], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 359)
  def _reduce_67(val, _values, result)
                          result = @builder.keyword_cmd(:break, val[0],
                                  nil, val[1], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 364)
  def _reduce_68(val, _values, result)
                          result = @builder.keyword_cmd(:next, val[0],
                                  nil, val[1], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 370)
  def _reduce_69(val, _values, result)
                          result = @builder.multi_lhs(nil, val[0], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 374)
  def _reduce_70(val, _values, result)
                          result = @builder.begin(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 379)
  def _reduce_71(val, _values, result)
                          result = @builder.multi_lhs(nil, val[0], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 383)
  def _reduce_72(val, _values, result)
                          result = @builder.multi_lhs(val[0], val[1], val[2])
                    
    result
  end
.,.,

# reduce 73 omitted

module_eval(<<'.,.,', 'ruby20.y', 389)
  def _reduce_74(val, _values, result)
                          result = val[0].
                                  push(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 394)
  def _reduce_75(val, _values, result)
                          result = val[0].
                                  push(@builder.splat(val[1], val[2]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 399)
  def _reduce_76(val, _values, result)
                          result = val[0].
                                  push(@builder.splat(val[1], val[2])).
                                  concat(val[4])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 405)
  def _reduce_77(val, _values, result)
                          result = val[0].
                                  push(@builder.splat(val[1]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 410)
  def _reduce_78(val, _values, result)
                          result = val[0].
                                  push(@builder.splat(val[1])).
                                  concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 416)
  def _reduce_79(val, _values, result)
                          result = [ @builder.splat(val[0], val[1]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 420)
  def _reduce_80(val, _values, result)
                          result = [ @builder.splat(val[0], val[1]),
                                 *val[3] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 425)
  def _reduce_81(val, _values, result)
                          result = [ @builder.splat(val[0]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 429)
  def _reduce_82(val, _values, result)
                          result = [ @builder.splat(val[0]),
                                 *val[2] ]
                    
    result
  end
.,.,

# reduce 83 omitted

module_eval(<<'.,.,', 'ruby20.y', 436)
  def _reduce_84(val, _values, result)
                          result = @builder.begin(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 441)
  def _reduce_85(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 445)
  def _reduce_86(val, _values, result)
                          result = val[0] << val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 450)
  def _reduce_87(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 454)
  def _reduce_88(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 459)
  def _reduce_89(val, _values, result)
                          result = @builder.assignable(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 463)
  def _reduce_90(val, _values, result)
                          result = @builder.assignable(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 467)
  def _reduce_91(val, _values, result)
                          result = @builder.index_asgn(val[0], val[1], val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 471)
  def _reduce_92(val, _values, result)
                          result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 475)
  def _reduce_93(val, _values, result)
                          result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 479)
  def _reduce_94(val, _values, result)
                          result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 483)
  def _reduce_95(val, _values, result)
                          result = @builder.assignable(
                                  @builder.const_fetch(val[0], val[1], val[2]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 488)
  def _reduce_96(val, _values, result)
                          result = @builder.assignable(
                                  @builder.const_global(val[0], val[1]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 493)
  def _reduce_97(val, _values, result)
                          result = @builder.assignable(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 498)
  def _reduce_98(val, _values, result)
                          result = @builder.assignable(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 502)
  def _reduce_99(val, _values, result)
                          result = @builder.assignable(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 506)
  def _reduce_100(val, _values, result)
                          result = @builder.index_asgn(val[0], val[1], val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 510)
  def _reduce_101(val, _values, result)
                          result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 514)
  def _reduce_102(val, _values, result)
                          result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 518)
  def _reduce_103(val, _values, result)
                          result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 522)
  def _reduce_104(val, _values, result)
                          result = @builder.assignable(
                                  @builder.const_fetch(val[0], val[1], val[2]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 527)
  def _reduce_105(val, _values, result)
                          result = @builder.assignable(
                                  @builder.const_global(val[0], val[1]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 532)
  def _reduce_106(val, _values, result)
                          result = @builder.assignable(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 537)
  def _reduce_107(val, _values, result)
                          diagnostic :error, :module_name_const, nil, val[0]
                    
    result
  end
.,.,

# reduce 108 omitted

module_eval(<<'.,.,', 'ruby20.y', 543)
  def _reduce_109(val, _values, result)
                          result = @builder.const_global(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 547)
  def _reduce_110(val, _values, result)
                          result = @builder.const(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 551)
  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

module_eval(<<'.,.,', 'ruby20.y', 560)
  def _reduce_117(val, _values, result)
                          result = @builder.symbol(val[0])
                    
    result
  end
.,.,

# reduce 118 omitted

# reduce 119 omitted

# reduce 120 omitted

module_eval(<<'.,.,', 'ruby20.y', 569)
  def _reduce_121(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 573)
  def _reduce_122(val, _values, result)
                          @lexer.state = :expr_fname
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 577)
  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

module_eval(<<'.,.,', 'ruby20.y', 598)
  def _reduce_195(val, _values, result)
                          result = @builder.assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 602)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 612)
  def _reduce_197(val, _values, result)
                          result = @builder.op_assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 616)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 626)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 633)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 640)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 647)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 654)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 660)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 666)
  def _reduce_205(val, _values, result)
                          result = @builder.op_assign(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 670)
  def _reduce_206(val, _values, result)
                          result = @builder.range_inclusive(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 674)
  def _reduce_207(val, _values, result)
                          result = @builder.range_exclusive(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 678)
  def _reduce_208(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 682)
  def _reduce_209(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 686)
  def _reduce_210(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 690)
  def _reduce_211(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 694)
  def _reduce_212(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 698)
  def _reduce_213(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 702)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 709)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 716)
  def _reduce_216(val, _values, result)
                          result = @builder.unary_op(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 720)
  def _reduce_217(val, _values, result)
                          result = @builder.unary_op(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 724)
  def _reduce_218(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 728)
  def _reduce_219(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 732)
  def _reduce_220(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 736)
  def _reduce_221(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 740)
  def _reduce_222(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 744)
  def _reduce_223(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 748)
  def _reduce_224(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 752)
  def _reduce_225(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 756)
  def _reduce_226(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 760)
  def _reduce_227(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 764)
  def _reduce_228(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 768)
  def _reduce_229(val, _values, result)
                          result = @builder.match_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 772)
  def _reduce_230(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 776)
  def _reduce_231(val, _values, result)
                          result = @builder.not_op(val[0], nil, val[1], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 780)
  def _reduce_232(val, _values, result)
                          result = @builder.unary_op(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 784)
  def _reduce_233(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 788)
  def _reduce_234(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 792)
  def _reduce_235(val, _values, result)
                          result = @builder.logical_op(:and, val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 796)
  def _reduce_236(val, _values, result)
                          result = @builder.logical_op(:or, val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 800)
  def _reduce_237(val, _values, result)
                          result = @builder.keyword_cmd(:defined?, val[0], nil, [ val[2] ], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 805)
  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

module_eval(<<'.,.,', 'ruby20.y', 816)
  def _reduce_243(val, _values, result)
                          result = val[0] << @builder.associate(nil, val[2], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 820)
  def _reduce_244(val, _values, result)
                          result = [ @builder.associate(nil, val[0], nil) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 825)
  def _reduce_245(val, _values, result)
                          result = val
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 830)
  def _reduce_246(val, _values, result)
                          result = [ nil, [], nil ]
                    
    result
  end
.,.,

# reduce 247 omitted

module_eval(<<'.,.,', 'ruby20.y', 836)
  def _reduce_248(val, _values, result)
                          result = []
                    
    result
  end
.,.,

# reduce 249 omitted

# reduce 250 omitted

module_eval(<<'.,.,', 'ruby20.y', 842)
  def _reduce_251(val, _values, result)
                          result = val[0] << @builder.associate(nil, val[2], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 846)
  def _reduce_252(val, _values, result)
                          result = [ @builder.associate(nil, val[0], nil) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 851)
  def _reduce_253(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 855)
  def _reduce_254(val, _values, result)
                          result = val[0].concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 859)
  def _reduce_255(val, _values, result)
                          result = [ @builder.associate(nil, val[0], nil) ]
                      result.concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 864)
  def _reduce_256(val, _values, result)
                          assocs = @builder.associate(nil, val[2], nil)
                      result = val[0] << assocs
                      result.concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 870)
  def _reduce_257(val, _values, result)
                          result =  [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 874)
  def _reduce_258(val, _values, result)
                          result = @lexer.cmdarg.dup
                      @lexer.cmdarg.push(true)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 879)
  def _reduce_259(val, _values, result)
                          @lexer.cmdarg = val[0]

                      result = val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 886)
  def _reduce_260(val, _values, result)
                          result = @builder.block_pass(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 891)
  def _reduce_261(val, _values, result)
                          result = [ val[1] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 895)
  def _reduce_262(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 900)
  def _reduce_263(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 904)
  def _reduce_264(val, _values, result)
                          result = [ @builder.splat(val[0], val[1]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 908)
  def _reduce_265(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 912)
  def _reduce_266(val, _values, result)
                          result = val[0] << @builder.splat(val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 917)
  def _reduce_267(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 921)
  def _reduce_268(val, _values, result)
                          result = val[0] << @builder.splat(val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 925)
  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

module_eval(<<'.,.,', 'ruby20.y', 940)
  def _reduce_280(val, _values, result)
                          result = @builder.call_method(nil, nil, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 944)
  def _reduce_281(val, _values, result)
                          result = @lexer.cmdarg.dup
                      @lexer.cmdarg.clear
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 949)
  def _reduce_282(val, _values, result)
                          @lexer.cmdarg = val[1]

                      result = @builder.begin_keyword(val[0], val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 955)
  def _reduce_283(val, _values, result)
                          result = @lexer.cmdarg.dup
                      @lexer.cmdarg.clear
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 960)
  def _reduce_284(val, _values, result)
                          @lexer.state = :expr_endarg
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 964)
  def _reduce_285(val, _values, result)
                          @lexer.cmdarg = val[1]

                      result = @builder.begin(val[0], val[2], val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 970)
  def _reduce_286(val, _values, result)
                          @lexer.state = :expr_endarg
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 974)
  def _reduce_287(val, _values, result)
                          result = @builder.begin(val[0], nil, val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 978)
  def _reduce_288(val, _values, result)
                          result = @builder.begin(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 982)
  def _reduce_289(val, _values, result)
                          result = @builder.const_fetch(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 986)
  def _reduce_290(val, _values, result)
                          result = @builder.const_global(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 990)
  def _reduce_291(val, _values, result)
                          result = @builder.array(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 994)
  def _reduce_292(val, _values, result)
                          result = @builder.associate(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 998)
  def _reduce_293(val, _values, result)
                          result = @builder.keyword_cmd(:return, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1002)
  def _reduce_294(val, _values, result)
                          result = @builder.keyword_cmd(:yield, val[0], val[1], val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1006)
  def _reduce_295(val, _values, result)
                          result = @builder.keyword_cmd(:yield, val[0], val[1], [], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1010)
  def _reduce_296(val, _values, result)
                          result = @builder.keyword_cmd(:yield, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1014)
  def _reduce_297(val, _values, result)
                          result = @builder.keyword_cmd(:defined?, val[0],
                                                    val[2], [ val[3] ], val[4])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1019)
  def _reduce_298(val, _values, result)
                          result = @builder.not_op(val[0], val[1], val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1023)
  def _reduce_299(val, _values, result)
                          result = @builder.not_op(val[0], val[1], nil, val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1027)
  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

module_eval(<<'.,.,', 'ruby20.y', 1036)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1042)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1050)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1057)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1064)
  def _reduce_306(val, _values, result)
                          @lexer.cond.push(true)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1068)
  def _reduce_307(val, _values, result)
                          @lexer.cond.pop
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1072)
  def _reduce_308(val, _values, result)
                          result = @builder.loop(:while, val[0], val[2], val[3],
                                             val[5], val[6])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1077)
  def _reduce_309(val, _values, result)
                          @lexer.cond.push(true)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1081)
  def _reduce_310(val, _values, result)
                          @lexer.cond.pop
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1085)
  def _reduce_311(val, _values, result)
                          result = @builder.loop(:until, val[0], val[2], val[3],
                                             val[5], val[6])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1090)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1098)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1106)
  def _reduce_314(val, _values, result)
                          @lexer.cond.push(true)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1110)
  def _reduce_315(val, _values, result)
                          @lexer.cond.pop
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1114)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1120)
  def _reduce_317(val, _values, result)
                          @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1125)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1139)
  def _reduce_319(val, _values, result)
                          result = @def_level
                      @def_level = 0

                      @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1147)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1157)
  def _reduce_321(val, _values, result)
                          @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1162)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1174)
  def _reduce_323(val, _values, result)
                          @def_level += 1
                      @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1180)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1189)
  def _reduce_325(val, _values, result)
                          @lexer.state = :expr_fname
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1193)
  def _reduce_326(val, _values, result)
                          @def_level += 1
                      @static_env.extend_static
                      @lexer.push_cmdarg
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1199)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1208)
  def _reduce_328(val, _values, result)
                          result = @builder.keyword_cmd(:break, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1212)
  def _reduce_329(val, _values, result)
                          result = @builder.keyword_cmd(:next, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1216)
  def _reduce_330(val, _values, result)
                          result = @builder.keyword_cmd(:redo, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1220)
  def _reduce_331(val, _values, result)
                          result = @builder.keyword_cmd(:retry, val[0])
                    
    result
  end
.,.,

# reduce 332 omitted

# reduce 333 omitted

# reduce 334 omitted

module_eval(<<'.,.,', 'ruby20.y', 1229)
  def _reduce_335(val, _values, result)
                          result = val[1]
                    
    result
  end
.,.,

# reduce 336 omitted

# reduce 337 omitted

# reduce 338 omitted

module_eval(<<'.,.,', 'ruby20.y', 1238)
  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

module_eval(<<'.,.,', 'ruby20.y', 1249)
  def _reduce_341(val, _values, result)
                          result = val
                    
    result
  end
.,.,

# reduce 342 omitted

# reduce 343 omitted

module_eval(<<'.,.,', 'ruby20.y', 1257)
  def _reduce_344(val, _values, result)
                          @static_env.declare val[0][0]

                      result = @builder.arg(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1263)
  def _reduce_345(val, _values, result)
                          result = @builder.multi_lhs(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1268)
  def _reduce_346(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1272)
  def _reduce_347(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

# reduce 348 omitted

module_eval(<<'.,.,', 'ruby20.y', 1278)
  def _reduce_349(val, _values, result)
                          @static_env.declare val[3][0]

                      result = val[0].
                                  push(@builder.restarg(val[2], val[3]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1285)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1293)
  def _reduce_351(val, _values, result)
                          result = val[0].
                                  push(@builder.restarg(val[2]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1298)
  def _reduce_352(val, _values, result)
                          result = val[0].
                                  push(@builder.restarg(val[2])).
                                  concat(val[4])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1304)
  def _reduce_353(val, _values, result)
                          @static_env.declare val[1][0]

                      result = [ @builder.restarg(val[0], val[1]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1310)
  def _reduce_354(val, _values, result)
                          @static_env.declare val[1][0]

                      result = [ @builder.restarg(val[0], val[1]),
                                 *val[3] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1317)
  def _reduce_355(val, _values, result)
                          result = [ @builder.restarg(val[0]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1321)
  def _reduce_356(val, _values, result)
                          result = [ @builder.restarg(val[0]),
                                 *val[2] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1327)
  def _reduce_357(val, _values, result)
                          result = val[0].concat(val[2]).concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1331)
  def _reduce_358(val, _values, result)
                          result = val[0].concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1335)
  def _reduce_359(val, _values, result)
                          result = val[0].concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1339)
  def _reduce_360(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1345)
  def _reduce_361(val, _values, result)
                          result = val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1349)
  def _reduce_362(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1354)
  def _reduce_363(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1361)
  def _reduce_364(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[6]).
                                  concat(val[7])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1369)
  def _reduce_365(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1375)
  def _reduce_366(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1382)
  def _reduce_367(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

# reduce 368 omitted

module_eval(<<'.,.,', 'ruby20.y', 1389)
  def _reduce_369(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1396)
  def _reduce_370(val, _values, result)
                          result = val[0].concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1400)
  def _reduce_371(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1406)
  def _reduce_372(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1413)
  def _reduce_373(val, _values, result)
                          result = val[0].
                                  concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1418)
  def _reduce_374(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1424)
  def _reduce_375(val, _values, result)
                          result = val[0].
                                  concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1429)
  def _reduce_376(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

# reduce 377 omitted

module_eval(<<'.,.,', 'ruby20.y', 1437)
  def _reduce_378(val, _values, result)
                          result = @builder.args(nil, [], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1441)
  def _reduce_379(val, _values, result)
                          @lexer.state = :expr_value
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1446)
  def _reduce_380(val, _values, result)
                          result = @builder.args(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1450)
  def _reduce_381(val, _values, result)
                          result = @builder.args(val[0], [], val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1454)
  def _reduce_382(val, _values, result)
                          result = @builder.args(val[0], val[1].concat(val[2]), val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1459)
  def _reduce_383(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1463)
  def _reduce_384(val, _values, result)
                          result = val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1468)
  def _reduce_385(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1472)
  def _reduce_386(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1477)
  def _reduce_387(val, _values, result)
                          result = @builder.shadowarg(val[0])
                    
    result
  end
.,.,

# reduce 388 omitted

module_eval(<<'.,.,', 'ruby20.y', 1482)
  def _reduce_389(val, _values, result)
                          @static_env.extend_dynamic
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1486)
  def _reduce_390(val, _values, result)
                          result = [ val[1], val[2] ]

                      @static_env.unextend
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1493)
  def _reduce_391(val, _values, result)
                          result = @builder.args(val[0], val[1].concat(val[2]), val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1497)
  def _reduce_392(val, _values, result)
                          result = @builder.args(nil, val[0], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1502)
  def _reduce_393(val, _values, result)
                          result = [ val[0], val[1], val[2] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1506)
  def _reduce_394(val, _values, result)
                          result = [ val[0], val[1], val[2] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1511)
  def _reduce_395(val, _values, result)
                          @static_env.extend_dynamic
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1515)
  def _reduce_396(val, _values, result)
                          result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1522)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1528)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1534)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1544)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1554)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1560)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1566)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1572)
  def _reduce_404(val, _values, result)
                          result = @builder.call_method(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1576)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1582)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1588)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1594)
  def _reduce_408(val, _values, result)
                          result = @builder.keyword_cmd(:zsuper, val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1598)
  def _reduce_409(val, _values, result)
                          result = @builder.index(val[0], val[1], val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1603)
  def _reduce_410(val, _values, result)
                          @static_env.extend_dynamic
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1607)
  def _reduce_411(val, _values, result)
                          result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1613)
  def _reduce_412(val, _values, result)
                          @static_env.extend_dynamic
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1617)
  def _reduce_413(val, _values, result)
                          result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1624)
  def _reduce_414(val, _values, result)
                          result = [ @builder.when(val[0], val[1], val[2], val[3]),
                                 *val[4] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1630)
  def _reduce_415(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

# reduce 416 omitted

module_eval(<<'.,.,', 'ruby20.y', 1636)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1649)
  def _reduce_418(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1654)
  def _reduce_419(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

# reduce 420 omitted

# reduce 421 omitted

module_eval(<<'.,.,', 'ruby20.y', 1661)
  def _reduce_422(val, _values, result)
                          result = [ val[0], val[1] ]
                    
    result
  end
.,.,

# reduce 423 omitted

module_eval(<<'.,.,', 'ruby20.y', 1667)
  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

module_eval(<<'.,.,', 'ruby20.y', 1677)
  def _reduce_429(val, _values, result)
                          result = @builder.string_compose(nil, val[0], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1682)
  def _reduce_430(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1686)
  def _reduce_431(val, _values, result)
                          result = val[0] << val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1691)
  def _reduce_432(val, _values, result)
                          result = @builder.string_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1695)
  def _reduce_433(val, _values, result)
                          result = @builder.string(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1699)
  def _reduce_434(val, _values, result)
                          result = @builder.character(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1704)
  def _reduce_435(val, _values, result)
                          result = @builder.xstring_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1709)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1715)
  def _reduce_437(val, _values, result)
                          result = @builder.words_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1720)
  def _reduce_438(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1724)
  def _reduce_439(val, _values, result)
                          result = val[0] << @builder.word(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1729)
  def _reduce_440(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1733)
  def _reduce_441(val, _values, result)
                          result = val[0] << val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1738)
  def _reduce_442(val, _values, result)
                          result = @builder.symbols_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1743)
  def _reduce_443(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1747)
  def _reduce_444(val, _values, result)
                          result = val[0] << @builder.word(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1752)
  def _reduce_445(val, _values, result)
                          result = @builder.words_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1757)
  def _reduce_446(val, _values, result)
                          result = @builder.symbols_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1762)
  def _reduce_447(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1766)
  def _reduce_448(val, _values, result)
                          result = val[0] << @builder.string_internal(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1771)
  def _reduce_449(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1775)
  def _reduce_450(val, _values, result)
                          result = val[0] << @builder.symbol_internal(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1780)
  def _reduce_451(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1784)
  def _reduce_452(val, _values, result)
                          result = val[0] << val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1789)
  def _reduce_453(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1793)
  def _reduce_454(val, _values, result)
                          result = val[0] << val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1798)
  def _reduce_455(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1802)
  def _reduce_456(val, _values, result)
                          result = val[0] << val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1807)
  def _reduce_457(val, _values, result)
                          result = @builder.string_internal(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1811)
  def _reduce_458(val, _values, result)
                          result = val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1815)
  def _reduce_459(val, _values, result)
                          @lexer.cond.push(false)
                      @lexer.cmdarg.push(false)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1820)
  def _reduce_460(val, _values, result)
                          @lexer.cond.lexpop
                      @lexer.cmdarg.lexpop

                      result = @builder.begin(val[0], val[2], val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1828)
  def _reduce_461(val, _values, result)
                          result = @builder.gvar(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1832)
  def _reduce_462(val, _values, result)
                          result = @builder.ivar(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1836)
  def _reduce_463(val, _values, result)
                          result = @builder.cvar(val[0])
                    
    result
  end
.,.,

# reduce 464 omitted

module_eval(<<'.,.,', 'ruby20.y', 1843)
  def _reduce_465(val, _values, result)
                          result = @builder.symbol(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1848)
  def _reduce_466(val, _values, result)
                          result = @builder.symbol_compose(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1853)
  def _reduce_467(val, _values, result)
                          result = @builder.integer(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1857)
  def _reduce_468(val, _values, result)
                          result = @builder.float(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1861)
  def _reduce_469(val, _values, result)
                          result = @builder.negate(val[0],
                                  @builder.integer(val[1]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1866)
  def _reduce_470(val, _values, result)
                          result = @builder.negate(val[0],
                                  @builder.float(val[1]))
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1872)
  def _reduce_471(val, _values, result)
                          result = @builder.ident(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1876)
  def _reduce_472(val, _values, result)
                          result = @builder.ivar(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1880)
  def _reduce_473(val, _values, result)
                          result = @builder.gvar(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1884)
  def _reduce_474(val, _values, result)
                          result = @builder.const(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1888)
  def _reduce_475(val, _values, result)
                          result = @builder.cvar(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1893)
  def _reduce_476(val, _values, result)
                          result = @builder.nil(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1897)
  def _reduce_477(val, _values, result)
                          result = @builder.self(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1901)
  def _reduce_478(val, _values, result)
                          result = @builder.true(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1905)
  def _reduce_479(val, _values, result)
                          result = @builder.false(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1909)
  def _reduce_480(val, _values, result)
                          result = @builder.__FILE__(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1913)
  def _reduce_481(val, _values, result)
                          result = @builder.__LINE__(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1917)
  def _reduce_482(val, _values, result)
                          result = @builder.__ENCODING__(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1922)
  def _reduce_483(val, _values, result)
                          result = @builder.accessible(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1926)
  def _reduce_484(val, _values, result)
                          result = @builder.accessible(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1931)
  def _reduce_485(val, _values, result)
                          result = @builder.assignable(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1935)
  def _reduce_486(val, _values, result)
                          result = @builder.assignable(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1940)
  def _reduce_487(val, _values, result)
                          result = @builder.nth_ref(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1944)
  def _reduce_488(val, _values, result)
                          result = @builder.back_ref(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1949)
  def _reduce_489(val, _values, result)
                          result = nil
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1953)
  def _reduce_490(val, _values, result)
                          @lexer.state = :expr_value
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1957)
  def _reduce_491(val, _values, result)
                          result = [ val[0], val[2] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1961)
  def _reduce_492(val, _values, result)
                          yyerrok
                      result = nil
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1967)
  def _reduce_493(val, _values, result)
                          result = @builder.args(val[0], val[1], val[2])

                      @lexer.state = :expr_value
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1973)
  def _reduce_494(val, _values, result)
                          result = @builder.args(nil, val[0], nil)
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1978)
  def _reduce_495(val, _values, result)
                          result = val[0].concat(val[2]).concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1982)
  def _reduce_496(val, _values, result)
                          result = val[0].concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1986)
  def _reduce_497(val, _values, result)
                          result = val[0].concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1990)
  def _reduce_498(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1995)
  def _reduce_499(val, _values, result)
                          result = val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 1999)
  def _reduce_500(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2004)
  def _reduce_501(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2011)
  def _reduce_502(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[6]).
                                  concat(val[7])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2019)
  def _reduce_503(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2025)
  def _reduce_504(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2032)
  def _reduce_505(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2038)
  def _reduce_506(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2045)
  def _reduce_507(val, _values, result)
                          result = val[0].
                                  concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2050)
  def _reduce_508(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2056)
  def _reduce_509(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2063)
  def _reduce_510(val, _values, result)
                          result = val[0].
                                  concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2068)
  def _reduce_511(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2074)
  def _reduce_512(val, _values, result)
                          result = val[0].
                                  concat(val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2079)
  def _reduce_513(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2085)
  def _reduce_514(val, _values, result)
                          result = val[0]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2089)
  def _reduce_515(val, _values, result)
                          result = []
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2094)
  def _reduce_516(val, _values, result)
                          diagnostic :error, :argument_const, nil, val[0]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2098)
  def _reduce_517(val, _values, result)
                          diagnostic :error, :argument_ivar, nil, val[0]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2102)
  def _reduce_518(val, _values, result)
                          diagnostic :error, :argument_gvar, nil, val[0]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2106)
  def _reduce_519(val, _values, result)
                          diagnostic :error, :argument_cvar, nil, val[0]
                    
    result
  end
.,.,

# reduce 520 omitted

# reduce 521 omitted

module_eval(<<'.,.,', 'ruby20.y', 2114)
  def _reduce_522(val, _values, result)
                          @static_env.declare val[0][0]

                      result = @builder.arg(val[0])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2120)
  def _reduce_523(val, _values, result)
                          result = @builder.multi_lhs(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2125)
  def _reduce_524(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2129)
  def _reduce_525(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2134)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2143)
  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
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2152)
  def _reduce_528(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2156)
  def _reduce_529(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2161)
  def _reduce_530(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2165)
  def _reduce_531(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

# reduce 532 omitted

# reduce 533 omitted

module_eval(<<'.,.,', 'ruby20.y', 2172)
  def _reduce_534(val, _values, result)
                          @static_env.declare val[1][0]

                      result = [ @builder.kwrestarg(val[0], val[1]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2178)
  def _reduce_535(val, _values, result)
                          result = [ @builder.kwrestarg(val[0]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2183)
  def _reduce_536(val, _values, result)
                          @static_env.declare val[0][0]

                      result = @builder.optarg(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2190)
  def _reduce_537(val, _values, result)
                          @static_env.declare val[0][0]

                      result = @builder.optarg(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2197)
  def _reduce_538(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2201)
  def _reduce_539(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2206)
  def _reduce_540(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2210)
  def _reduce_541(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

# reduce 542 omitted

# reduce 543 omitted

module_eval(<<'.,.,', 'ruby20.y', 2217)
  def _reduce_544(val, _values, result)
                          @static_env.declare val[1][0]

                      result = [ @builder.restarg(val[0], val[1]) ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2223)
  def _reduce_545(val, _values, result)
                          result = [ @builder.restarg(val[0]) ]
                    
    result
  end
.,.,

# reduce 546 omitted

# reduce 547 omitted

module_eval(<<'.,.,', 'ruby20.y', 2230)
  def _reduce_548(val, _values, result)
                          @static_env.declare val[1][0]

                      result = @builder.blockarg(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2237)
  def _reduce_549(val, _values, result)
                          result = [ val[1] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2241)
  def _reduce_550(val, _values, result)
                          result = []
                    
    result
  end
.,.,

# reduce 551 omitted

module_eval(<<'.,.,', 'ruby20.y', 2247)
  def _reduce_552(val, _values, result)
                          result = val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2252)
  def _reduce_553(val, _values, result)
                          result = []
                    
    result
  end
.,.,

# reduce 554 omitted

module_eval(<<'.,.,', 'ruby20.y', 2258)
  def _reduce_555(val, _values, result)
                          result = [ val[0] ]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2262)
  def _reduce_556(val, _values, result)
                          result = val[0] << val[2]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2267)
  def _reduce_557(val, _values, result)
                          result = @builder.pair(val[0], val[1], val[2])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2271)
  def _reduce_558(val, _values, result)
                          result = @builder.pair_keyword(val[0], val[1])
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2275)
  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

module_eval(<<'.,.,', 'ruby20.y', 2286)
  def _reduce_576(val, _values, result)
                          result = val[1]
                    
    result
  end
.,.,

module_eval(<<'.,.,', 'ruby20.y', 2290)
  def _reduce_577(val, _values, result)
                          result = val[1]
                    
    result
  end
.,.,

# reduce 578 omitted

# reduce 579 omitted

# reduce 580 omitted

module_eval(<<'.,.,', 'ruby20.y', 2296)
  def _reduce_581(val, _values, result)
                        yyerrok
                  
    result
  end
.,.,

# reduce 582 omitted

# reduce 583 omitted

# reduce 584 omitted

module_eval(<<'.,.,', 'ruby20.y', 2305)
  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