HEX
Server: Apache
System: Linux s198.coreserver.jp 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
User: nagasaki (10062)
PHP: 7.1.33
Disabled: NONE
Upload Files
File: //usr/local/rvm/src/ruby-2.7.4/test/racc/regress/ruby22
#
# DO NOT MODIFY!!!!
# This file is automatically generated by Racc 1.4.16
# from Racc grammar file "".
#

require 'racc/parser.rb'


require 'parser'

Parser.check_for_encoding_support

module Parser
  class Ruby22 < Racc::Parser

module_eval(<<'...end ruby22.y/module_eval...', 'ruby22.y', 2374)

  def version
    22
  end

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

clist = [
'-291,568,-102,-100,860,-99,951,-291,-291,-291,-490,568,-291,-291,-291',
'217,-291,589,214,215,959,-288,214,215,214,215,-291,-291,-291,-105,-99',
'-97,-103,837,806,268,-291,-291,610,-291,-291,-291,-291,-291,568,568',
'-102,568,113,-100,715,-101,268,112,-83,815,218,-88,-482,113,-99,-288',
'-98,-69,112,-482,-97,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291',
'-291,-291,-291,-291,-93,-104,-291,-291,-291,961,773,-291,715,612,-291',
'-101,715,-291,-291,268,-291,-575,-291,263,-291,962,-291,-291,609,-291',
'-291,-291,-291,-291,967,-291,113,-291,-90,-91,218,112,218,113,-102,-100',
'267,588,112,-102,-100,-291,-574,113,-291,-291,-291,-291,112,-291,-578',
'-291,-96,267,-88,-94,-103,-578,-578,-578,113,-93,-99,-578,-578,112,-578',
'-99,113,-93,611,-574,-91,112,647,-578,113,113,814,113,842,112,112,-101',
'112,-89,-578,-578,-101,-578,-578,-578,-578,-578,214,215,-91,267,580',
'-476,268,-93,581,647,-93,-95,-476,113,736,646,-490,113,112,-93,574,-92',
'112,-578,-578,-578,-578,-578,-578,-578,-578,-578,-578,-578,-578,-578',
'-578,692,647,-578,-578,-578,-91,631,646,-91,-491,-578,113,626,-578,647',
'971,112,-91,-578,515,-578,973,-578,-578,-571,-578,-578,-578,-578,-578',
'-291,-578,-578,-578,263,-97,646,-291,-291,-291,91,92,79,-291,-291,-486',
'-291,-578,975,646,-578,-578,-486,-92,80,-578,-89,267,218,-93,977,597',
'-101,-412,81,-98,-291,-291,-102,-291,-291,-291,-291,-291,444,-104,548',
'-476,545,544,543,597,546,527,-476,806,529,574,548,-571,545,544,543,-476',
'546,91,92,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291',
'-291,-291,260,-571,-291,-291,-291,-412,630,261,93,94,-291,977,-412,-291',
'597,599,598,595,-291,-105,-291,-412,-291,-291,-578,-291,-291,-291,-291',
'-291,-476,-291,662,-291,771,599,598,-476,-476,-476,-412,988,-476,-476',
'-476,749,-476,-291,833,527,-291,-291,529,-94,-476,-291,-476,-476,-476',
'238,957,-485,-103,93,94,989,-476,-476,-485,-476,-476,-476,-476,-476',
'770,899,625,-578,-292,599,598,608,597,113,-578,-292,899,113,112,-574',
'-102,235,112,-578,-292,237,236,-476,-476,-476,-476,-476,-476,-476,-476',
'-476,-476,-476,-476,-476,-476,899,-578,-476,-476,-476,-491,-476,-476',
'564,563,-476,597,-91,-476,-476,597,-476,994,-476,-100,-476,-100,-476',
'-476,597,-476,-476,-476,-476,-476,597,-476,-479,-476,959,-487,599,598',
'613,-479,-479,-479,-487,121,-479,-479,-479,-476,-479,113,-476,-476,-476',
'-476,112,-476,-479,-476,-479,-479,-479,-98,-476,210,527,-578,212,526',
'-479,-479,211,-479,-479,-479,-479,-479,599,598,584,209,599,598,602,597',
'218,939,747,981,388,599,598,600,-572,-575,585,599,598,595,-574,-479',
'-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-96',
'260,-479,-479,-479,-578,-479,-479,261,-105,-479,682,-578,-479,-479,109',
'-479,-574,-479,756,-479,-578,-479,-479,515,-479,-479,-479,-479,-479',
'959,-479,-479,-479,1013,599,598,604,-484,-479,-578,238,-291,527,-572',
'-484,529,-479,-479,-291,-479,-479,-479,-479,-575,-479,-578,-479,-291',
'837,806,1014,-479,-578,-578,-578,-90,-572,-578,-578,-578,-95,-578,235',
'1015,-99,977,237,236,-481,-104,-578,-578,-578,-578,396,-481,-483,214',
'215,398,397,-578,-578,-483,-578,-578,-578,-578,-578,548,-479,545,544',
'543,576,546,548,-479,545,544,543,577,546,548,-263,545,544,543,238,546',
'575,218,-578,-578,-578,-578,-578,-578,-578,-578,-578,-578,-578,-578',
'-578,-578,553,701,-578,-578,-578,584,772,-578,701,218,-578,556,583,-578',
'-578,701,-578,704,-578,218,-578,585,-578,-578,704,-578,-578,-578,-578',
'-578,-488,-578,-578,-578,214,215,548,-488,545,544,543,238,546,238,564',
'563,-488,-578,516,557,-578,-578,-578,-578,-489,-578,218,-578,214,215',
'-83,-489,-101,290,69,70,71,9,57,666,-489,986,63,64,701,218,512,67,987',
'65,66,68,30,31,72,73,520,985,238,677,263,29,28,27,101,100,102,103,741',
'742,19,238,743,107,108,635,8,45,292,10,105,104,106,95,56,97,96,98,977',
'99,107,108,218,91,92,682,42,43,41,238,242,247,248,249,244,246,254,255',
'250,251,517,231,232,-281,683,252,253,518,40,685,-281,33,272,689,58,59',
'442,692,60,-281,35,235,693,241,44,237,236,695,233,234,245,243,239,20',
'240,697,699,509,89,79,82,83,-489,84,86,85,87,707,708,-489,709,80,88',
'711,256,574,-240,718,-489,62,502,81,93,94,290,69,70,71,9,57,501,218',
'-292,63,64,736,530,746,67,-292,65,66,68,30,31,72,73,531,-292,750,751',
'-264,29,28,27,101,100,102,103,-68,498,19,757,490,488,477,635,8,45,292',
'10,105,104,106,95,56,97,96,98,486,99,107,108,977,91,92,477,42,43,41',
'238,242,247,248,249,244,246,254,255,250,251,-291,231,232,-488,477,252',
'253,-291,40,217,-488,33,-575,446,58,59,-291,218,60,-488,35,235,490,241',
'44,237,236,218,233,234,245,243,239,20,240,445,257,443,89,79,82,83,507',
'84,86,85,87,488,490,508,799,80,88,677,256,218,637,634,506,62,263,81',
'93,94,290,69,70,71,9,57,977,263,-334,63,64,677,238,806,67,-334,65,66',
'68,30,31,72,73,218,-334,263,218,399,29,28,27,101,100,102,103,831,218',
'19,806,841,218,624,620,8,45,292,10,105,104,106,95,56,97,96,98,623,99',
'107,108,218,91,92,619,42,43,41,238,242,247,248,249,244,246,254,255,250',
'251,-291,231,232,-281,218,252,253,-291,40,386,-281,33,-575,850,58,59',
'-291,-263,60,-281,35,235,617,241,44,237,236,614,233,234,245,243,239',
'20,240,-265,579,859,89,79,82,83,584,84,86,85,87,578,899,939,959,80,88',
'218,256,317,861,862,585,62,692,81,93,94,290,69,70,71,9,57,865,867,-292',
'63,64,869,871,218,67,-292,65,66,68,30,31,72,73,873,-292,874,877,316',
'29,28,27,101,100,102,103,879,936,19,545,544,543,880,546,8,45,292,10',
'105,104,106,95,56,97,96,98,677,99,107,108,882,91,92,886,42,43,41,238',
'242,247,248,249,244,246,254,255,250,251,440,231,232,888,891,252,253',
'441,40,692,893,33,895,897,58,59,442,899,60,899,35,235,218,241,44,237',
'236,905,233,234,245,243,239,20,240,907,909,257,89,79,82,83,915,84,86',
'85,87,213,918,218,922,80,88,-266,256,933,208,940,941,62,207,81,93,94',
'290,69,70,71,9,57,206,950,,63,64,,,,67,,65,66,68,30,31,72,73,116,117',
'118,119,120,29,28,27,101,100,102,103,,936,19,545,544,543,,546,8,45,292',
'10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,238,242,247',
'248,249,244,246,254,255,250,251,,231,232,,,252,253,,40,,,33,,,58,59',
',,60,,35,235,,241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,256,,,,,62,,81,93,94,290,69,70,71,9,57,,',
',63,64,,,,67,,65,66,68,30,31,72,73,116,117,118,119,120,29,28,27,101',
'100,102,103,,,19,116,117,118,119,120,8,45,292,10,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,,42,43,41,238,242,247,248,249,244,246,254,255',
'250,251,,231,232,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237',
'236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',256,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30',
'31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,238,242,247,248,249',
'244,246,254,255,250,251,,231,232,,,252,253,,40,,,33,,,58,59,,,60,,35',
'235,,241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,256,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,',
'67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45',
'292,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,238,242',
'247,248,249,244,246,254,255,250,251,,231,232,,,252,253,,40,,,294,,,58',
'59,,,60,,35,235,,241,44,237,236,,233,234,245,243,239,20,240,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,218,256,,,,,62,,81,93,94,290,69,70,71,9',
'57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103',
',,19,,,,,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
',42,43,41,238,242,247,248,249,244,246,254,255,250,251,,231,232,,,252',
'253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245,243,239',
'20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,256,,,,,62,,81,93,94,5',
'69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
'100,102,103,,,19,,,,,,8,45,7,10,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,,42,43,41,238,242,247,248,249,244,246,254,255,250,251,,231,232',
',,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245',
'243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,256,,,,,62,,81',
'93,94,5,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
'27,101,100,102,103,,,19,,,,,,8,45,7,10,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,,42,43,41,238,242,247,248,249,244,246,254,255,250,251',
',231,232,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233',
'234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,256,,',
',,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,,42,43,41,238,242,247,248,249,244,246,254',
'255,250,251,,231,232,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44',
'237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,',
'80,88,,256,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66',
'68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,238,242,247,248',
'249,244,246,254,255,250,251,,231,232,,,252,253,,40,,,33,,,58,59,,,60',
',35,235,,241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,256,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,',
',,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
'41,238,242,247,248,249,244,246,254,255,250,251,,231,232,,,252,253,,40',
',,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245,243,239,20,240',
',,,89,79,82,83,,84,86,85,87,,,,,80,88,,256,,,,,62,,81,93,94,290,69,70',
'71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
'103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,,42,43,41,238,242,247,248,249,244,246,254,255,250,251,,231,232,,',
'252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,245,243',
'239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,256,,,,,62,,81,93',
'94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
'27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,,42,43,41,238,242,247,248,249,244,246,254,255,250',
'251,,231,232,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236',
',233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,256',
',,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72',
'73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,,42,43,41,238,242,247,248,249,244,246',
'254,255,250,251,,231,232,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241',
'44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,',
',,,80,88,,256,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65',
'66,68,30,31,72,73,,553,,,,29,28,27,101,100,102,103,556,548,19,545,544',
'543,,546,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,',
'42,43,41,238,,564,563,,,238,557,701,548,,545,544,543,,546,,904,,40,',
',33,,,58,59,,,60,,35,235,,,44,237,236,235,233,234,,237,236,20,233,234',
'701,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,290,69,70',
'71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
'103,,548,19,545,544,543,,546,8,45,292,10,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,,42,43,41,238,,,548,,545,544,543,701,546,,,,,,,252',
'253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234,701,,239',
'20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,290',
'69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
'100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,,42,43,41,238,,,,,,,,,,,,,,,,252,253,,40,,,33,,,58,59,,,60',
',35,235,,241,44,237,236,,233,234,,,239,20,240,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67',
',65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292',
'10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,238,242,247',
'248,249,244,246,,,250,251,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235',
',241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10',
'105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,238,242,247',
'248,249,244,246,254,255,250,251,,-597,-597,,,252,253,,40,,,33,,,58,59',
',,60,,35,235,,241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,',
',,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
'41,238,,,,,,,,,,,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44',
'237,236,,233,234,,,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',,,,,,62,,81,93,94,5,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72',
'73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,7,10,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,,42,43,41,238,-597,-597,-597,-597,244',
'246,,,-597,-597,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237',
'236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,,42,43,41,238,242,247,248,249,244',
'246,254,255,250,251,,-597,-597,,,252,253,,40,,,33,,,58,59,,,60,,35,235',
',241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10',
'105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,238,,,,,,,,',
',,,,,,,252,253,,40,,,294,,,58,59,,,60,,35,235,,241,44,237,236,,233,234',
',,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94',
'290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,,42,43,41,238,-597,-597,-597,-597,244,246,,,-597,-597',
',,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233,234',
'245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81',
'93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,,42,43,41,238,-597,-597,-597,-597,244,246,,,-597',
'-597,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236,,233',
'234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62',
',81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,',
',,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,,42,43,41,238,-597,-597,-597,-597,244,246,',
',-597,-597,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235,,241,44,237,236',
',233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,',
',,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72',
'73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,,42,43,41,238,-597,-597,-597,-597,244',
'246,,,-597,-597,,,,,,252,253,,40,,,294,,,58,59,,,60,,35,235,,241,44',
'237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,',
'80,88,,,,,,,62,,81,93,94,290,69,70,71,9,57,,,,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,292,10,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,238,242,247,248',
'249,244,246,254,,250,251,,,,,,252,253,,40,,,33,,,58,59,,,60,,35,235',
',241,44,237,236,,233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,,42,43,41,238,-597,-597,-597,-597,244,246',
',,-597,-597,,,,,,252,253,,223,,,229,,,58,59,,,60,,,235,,241,44,237,236',
',233,234,245,243,239,20,240,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,',
',69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
'27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,,42,43,41,238,,,,,,,,,,,,,,,,252,253,,223,,,229,,,58,59,',
',60,,,235,,241,44,237,236,,233,234,,,,20,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72',
'73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,,42,43,41,238,,,,,,,,,,,,,,,,252,253,,223,',
',229,,,58,59,,,60,,,235,,241,44,237,236,,233,234,,,,20,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,238,,,,,,,,,,,,',
',,,252,253,,223,,,229,,,58,59,,,60,,,235,,,44,237,236,,233,234,,,,20',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,69,70,71,9',
'57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103',
',,19,,,,,,8,45,,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42',
'43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,',
',,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,',
',,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,',
',,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,',
',,,223,,,229,,,58,59,,,60,,404,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,',
',229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,',
',,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73',
',,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97',
'96,98,284,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,',
',58,59,,,60,,281,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85',
'87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310',
'72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,',
',229,,,58,59,,,60,,404,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,307,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,,,,313,,,,,,,,,,,,,,,,,,,,303,,,299,',
',58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,',
',69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28',
'27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,',
'44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62',
'57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,404,,,,44,,',
',,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103',
',,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
'41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,',
'89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,',
',,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,',
',,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30',
'31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
',,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,218,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73',
',,,,,305,306,312,101,100,102,103,,,230,,,,,,,307,,,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,,,,313,,,,,,,,,,,,,,,,,,,,303,,,299,,,58',
'59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69',
'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306',
'312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,',
',,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,',
'44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62',
'57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101',
'100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,',
',,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100',
'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,',
',,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,',
'42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
'230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
'41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,',
',89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230',
',,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,',
',,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,',
',,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,',
',,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,',
',,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83',
',84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,',
',,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309',
'310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
',,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,',
',,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58',
'59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305',
'306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,',
'60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69',
'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306',
'312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,',
',,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,',
'44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62',
'57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101',
'100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,',
',,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100',
'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,',
',,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,',
'42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
'230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
'41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,',
',89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230',
',,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,',
',,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,',
',,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,',
',,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,',
',,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83',
',84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,',
',,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309',
'310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
',,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,',
',,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58',
'59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29',
'28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,',
',,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108,',
'91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279',
',44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
'100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108',
',91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279',
',44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
'100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108',
',91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279',
',44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,218,,,69',
'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,',
'44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62',
'57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,',
',,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,',
',230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
'41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,',
',89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230',
',,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,',
',,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,',
',,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83',
',84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,',
',,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309',
'310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
',,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,',
',,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97',
'96,98,284,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,',
',58,59,,,60,,,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87',
',,,,80,88,,,,,,,62,,81,93,94,69,70,71,9,57,,,,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,8,45,,10,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,40',
',,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,284,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,',
',229,,,58,59,,,60,,659,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,',
',,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309',
'310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,754,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,284,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,',
',229,,,58,59,,,60,,281,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106',
'95,56,97,96,98,284,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,281,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,307,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,,,,313,,,,,,,,,,,,,,,,,,,',
'303,,,229,,,58,59,,,60,,548,,545,544,543,553,546,,,,,,,,,,556,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,504,,551,62,,81,93,94,69,70,71,,57,564',
'563,,63,64,557,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100',
'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,,,44,,',
',,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,',
'42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
'230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108,,91,92,,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,285,,,,,,228',
',,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
'230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108,,91,92,,42',
'43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,659,,,,44,,,285,,,',
',,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,',
',19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
'41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,',
'89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230',
',,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,',
',,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,',
',,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
',307,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,,313,,,,,,,,',
',,,,,,,,,,,303,,,299,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106',
'95,56,97,96,98,284,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,281,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,307,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,,,,313,,,,,,,,,,,,,,,,,,,',
'303,,,299,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,',
',,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,307,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,,,,313,,,,,,,,,,,,,,,,,,,,303,,,299,',
',58,59,,,60,,548,,545,544,543,553,546,,,,,,,,,,556,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,,,551,62,,81,93,94,69,70,71,9,57,564,563,,63,64',
'557,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,',
',,,8,45,292,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
'41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,,20,,,,',
'89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,388,62,,81,93,94,69,70,71,,57',
',,,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,',
'42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
'230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
'41,,,,,,,,,,,,,,,,,,,,223,,,229,520,,58,59,,,60,,,,,,44,,,,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,',
',,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
',45,,,105,104,106,95,56,97,96,98,284,99,107,108,,91,92,,42,43,41,,,',
',,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,279,,44,,,285,,,,,,228,,,',
',89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230',
',,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108,,91,92,,42,43,41',
',,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,659,,279,,44,,,285,,,,,,228',
',,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
'230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
'41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,',
',89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230',
',,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,',
',,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,',
',,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,',
',,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,284,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,',
',,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,285,,,,,,228,,,,,89,282',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,',
',,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,',
',,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30',
'31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
',,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,',
',29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,',
'60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
'100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,',
'91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,',
',,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,69',
'70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
'102,103,,,19,,,,,,8,45,7,10,105,104,106,95,56,97,96,98,,99,107,108,',
'91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,',
',,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,',
'42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
'230,,,,,,,307,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,,313',
',,,,,,,,,,,,,,,,,,,947,,,229,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,307',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,,313,,,,,,,,,,,,,',
',,,,,,876,,,229,,,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310',
'72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,',
',229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,',
',,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72',
'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,284,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,',
',229,,,58,59,,,60,,,,279,,44,,,285,,,,,,228,,,,,89,282,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309',
'310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223',
',,229,,,58,59,,,60,,659,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
',,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,',
',29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,',
'60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
'100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108',
',91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279',
',44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
'100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108',
',91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279',
',44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101',
'100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108',
',91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,279',
',44,,,285,,,,,,228,,,,,89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312',
'101,100,102,103,,,230,,,,,,,307,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,,,,313,,,,,,,,,,,,,,,,,,,,303,,,299,,,58,59,,,60,,298,,,',
',,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102',
'103,,,230,,,,,,,307,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
',,,313,,,,,,,,,,,,,,,,,,,,303,,,229,,,58,59,,,60,,548,,545,544,543,553',
'546,,,,,,,,,,556,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,315,,551,62',
',81,93,94,69,70,71,,57,564,563,,63,64,557,,,67,,65,66,68,309,310,72',
'73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,307,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,,,,313,,,,,,,,,,,,,,,,,,,,876,,,229,',
',58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,',
',69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305',
'306,312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,',
'60,,,,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69',
'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306',
'312,101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,',
',,,,44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71',
'62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312',
'101,100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,',
'44,,,,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62',
'57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101',
'100,102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,',
',,,,,,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100',
'102,103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,',
',,,228,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102',
'103,,,230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,',
'42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,',
'230,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43',
'41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,',
',89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,',
',,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,',
',,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,230,,,,,,,45,,,105',
'104,106,95,56,97,96,98,284,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,',
',,,,,,223,,,229,,,58,59,,,60,,281,,279,,44,,,285,,,,,,228,,,,,89,282',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,',
',,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,228,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,45',
',,105,104,106,95,56,97,96,98,284,99,107,108,,91,92,,42,43,41,,,,,,,',
',,,,,,,,,,,,223,,,229,,,58,59,,,60,,281,,,,44,,,285,,,,,,228,,,,,89',
'282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,',
',67,,65,66,68,309,310,72,73,,,,,,305,306,312,101,100,102,103,,,230,',
',,,,,45,,,105,104,106,95,56,97,96,98,284,99,107,108,,91,92,,42,43,41',
',,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,285,,,,,,228,,,',
',89,282,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,',
',,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,30,31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,',
',,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,30',
'31,72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,,42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229',
',,58,59,,,60,,,,,,44,,,,,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,113,,,,,112,62,,81,93,94,69,70,71,,57,,,,63,64,,,,67,,65,66,68,309',
'310,72,73,,,,,,305,306,312,101,100,102,103,,,230,,,,,,,307,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,,,,313,,,,,,,,,,,,,,,,,,,,348',
',,33,,,58,59,,,60,,35,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,',
'80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73',
',,,,,305,306,312,101,100,102,103,,,230,,,,,,,307,,,105,104,106,353,56',
'97,96,354,,99,107,108,,91,92,,,,313,,,,,,,,,,,,,,,,,360,,,355,,,229',
',,58,59,,,60,,,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,309,310,72,73,,,,,,305',
'306,312,101,100,102,103,,,230,,,,,,,307,,,105,104,106,353,56,97,96,354',
',99,107,108,,91,92,,,,313,,,,,,,,,,,,,,,,,,,,355,,,229,,,58,59,,,60',
',,,,,,,,,,,,,,,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62',
'57,81,93,94,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100',
'102,103,,,19,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
',42,43,41,,,,,,,,,,,,,,,,,,,,223,,,229,,,58,59,,,60,,,,,,44,,,,,,,,',
'20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,69,70,71',
'9,57,,,,63,64,,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
'103,,,19,,,,,,8,45,7,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
',42,43,41,,,,,,,,,,,,,,,,,,,,40,,,33,,,58,59,,,60,,35,,,,44,,,,,,,,',
'20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,-579,388,62,,81,93,94',
'-579,-579,-579,,,-579,-579,-579,,-579,,,,,,,,,-579,-579,-579,-579,,',
',,,,,-579,-579,,-579,-579,-579,-579,-579,,,,,,,,,,,,,,,,,,,,,,,,-579',
'-579,-579,-579,-579,-579,-579,-579,-579,-579,-579,-579,-579,-579,,,-579',
'-579,-579,,,-579,,,-579,,,-579,-579,,-579,,-579,,-579,,-579,-579,,-579',
'-579,-579,-579,-579,,-579,-579,-579,,,,,,,,,,,,,,-579,,,-579,-579,-579',
'-579,-282,-579,,-579,,,,-282,-282,-282,,,-282,-282,-282,,-282,,,,,,',
',,,-282,-282,-282,,,,,,,,-282,-282,,-282,-282,-282,-282,-282,,,,,,,',
',,,,,,,,,,,,,,,,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282',
'-282,-282,-282,,,-282,-282,-282,,,-282,,,-282,,,-282,-282,,-282,,-282',
',-282,,-282,-282,,-282,-282,-282,-282,-282,,-282,,-282,,,,,,,,,,,,,',
'-282,,,-282,-282,-282,-282,-580,-282,,-282,,,,-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,-580,-411,-580,,-580',
',,,-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,,263,-411,,,-411,-411,,-411,,-411,,-411,,-411,-411',
',-411,-411,-411,-411,-411,,-411,-411,-411,,,,,,,,,,,,,,-411,,-246,-411',
'-411,,-411,,-411,-246,-246,-246,,,-246,-246,-246,548,-246,545,544,543',
'553,546,,,,-246,-246,,,,,556,,,,,-246,-246,,-246,-246,-246,-246,-246',
',,,,,,,,,551,,,,,,,,,561,560,564,563,,,,557,,,,,,,,,-246,,-298,,,,,-246',
',-298,-298,-298,263,-246,-298,-298,-298,218,-298,,,,,,,,,,-298,-298',
',,,,,-246,-246,,-298,-298,,-298,-298,-298,-298,-298,,,,,-246,,,-246',
',,,,-246,,,,,,,,,,,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298',
'-298,-298,-298,-298,,,-298,-298,-298,,,-298,,272,-298,,,-298,-298,,-298',
',-298,,-298,,-298,-298,,-298,-298,-298,-298,-298,,-298,-246,-298,,,',
',,-246,-246,-246,,,-246,-246,-246,-298,-246,,-298,-298,,-298,,-298,',
'-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,,263,-246,,,-246,-246,,-246,',
'-246,,-246,,-246,-246,,-246,-246,-246,-246,-246,,-246,-246,-246,,,,',
',,,,,,,,,-246,,,-246,-246,,-246,,-246,173,184,174,197,170,190,180,179',
'200,201,195,178,177,172,198,202,203,182,171,185,189,191,183,176,,,,192',
'199,194,193,186,196,181,169,188,187,,,,,,168,175,166,167,163,164,165',
'124,126,,,125,,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140',
',,,159,160,146,147,,,,,,,,,,,,,,151,150,,135,156,153,152,161,148,149',
'143,141,133,155,134,,,162,89,,,,,,,,,,,,,,88,173,184,174,197,170,190',
'180,179,200,201,195,178,177,172,198,202,203,182,171,185,189,191,183',
'176,,,,192,199,194,193,186,196,181,169,188,187,,,,,,168,175,166,167',
'163,164,165,124,126,123,,125,,,,,,,,,157,158,,154,136,137,138,145,142',
'144,,,139,140,,,,159,160,146,147,,,,,,,,,,,,,,151,150,,135,156,153,152',
'161,148,149,143,141,133,155,134,,,162,89,,,,,,,,,,,,,,88,173,184,174',
'197,170,190,180,179,200,201,195,178,177,172,198,202,203,182,171,185',
'189,191,183,176,,,,192,199,194,193,186,196,181,169,188,187,,,,,,168',
'175,166,167,163,164,165,124,126,,,125,,,,,,,,,157,158,,154,136,137,138',
'145,142,144,,,139,140,,,,159,160,146,147,,,,,,,,,,,,,,151,150,,135,156',
'153,152,161,148,149,143,141,133,155,134,,,162,89,,,,,,,,,,,,,,88,173',
'184,174,197,170,190,180,179,200,201,195,178,177,172,198,202,203,182',
'171,185,189,191,183,176,,,,192,199,194,193,186,196,181,169,188,187,',
',,,,168,175,166,167,163,164,165,124,126,,,125,,,,,,,,,157,158,,154,136',
'137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,,,,,,,,,151,150',
',135,156,153,152,161,148,149,143,141,133,155,134,,,162,89,,,,,,,,,,',
',,,88,173,184,174,197,170,190,180,179,200,201,195,178,177,172,198,202',
'203,182,171,185,189,191,183,176,,,,192,199,194,193,186,196,181,169,188',
'187,,,,,,168,175,166,167,163,164,165,124,126,,,125,,,,,,,,,157,158,',
'154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,,,,,,',
',,151,150,,135,156,153,152,161,148,149,143,141,133,155,134,,,162,173',
'184,174,197,170,190,180,179,200,201,195,178,177,172,198,202,203,182',
'171,185,189,191,183,176,,,,192,199,194,371,370,372,369,169,188,187,',
',,,,168,175,166,167,366,367,368,364,126,97,96,365,,99,,,,,,,157,158',
',154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,376,',
',,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155,134,673,424',
'162,,674,,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159',
'160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152,161,148,149,143',
'141,133,155,134,1008,424,162,,1009,,,,,,,,,157,158,,154,136,137,138',
'145,142,144,,,139,140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135',
'156,153,152,161,148,149,143,141,133,155,134,640,424,162,,641,,,,,,,',
',157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,',
',,,,263,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155',
'134,638,417,162,,639,,,,,,,,,157,158,,154,136,137,138,145,142,144,,',
'139,140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152',
'161,148,149,143,141,133,155,134,670,417,162,,671,,,,,,,,,157,158,,154',
'136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,263,,,,,,',
',151,150,,135,156,153,152,161,148,149,143,141,133,155,134,721,417,162',
',722,,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160',
'146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141',
'133,155,134,723,424,162,,724,,,,,,,,,157,158,,154,136,137,138,145,142',
'144,,,139,140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153',
'152,161,148,149,143,141,133,155,134,983,424,162,,982,,,,,,,,,157,158',
',154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,263,',
',,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155,134,726,424',
'162,,727,,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159',
'160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152,161,148,149,143',
'141,133,155,134,638,417,162,,639,,,,,,,,,157,158,,154,136,137,138,145',
'142,144,,,139,140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156',
'153,152,161,148,149,143,141,133,155,134,475,417,162,,476,,,,,,,,,157',
'158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,263',
',,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155,134,640',
'424,162,,641,,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140',
',,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152,161,148',
'149,143,141,133,155,134,475,417,162,,476,,,,,,,,,157,158,,154,136,137',
'138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,,,,,,,,,151,150,,135',
'156,153,152,161,148,149,143,141,133,155,134,413,417,162,,414,,,,,,,',
',157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,',
',,,,263,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155',
'134,1006,417,162,,1007,,,,,,,,,157,158,,154,136,137,138,145,142,144',
',,139,140,,,,159,160,146,147,,,,,,263,,,,,,,,151,150,,135,156,153,152',
'161,148,149,143,141,133,155,134,420,424,162,,419,,,,,,,,,157,158,,154',
'136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,263,,,,,,',
',151,150,,135,156,153,152,161,148,149,143,141,133,155,134,,548,162,545',
'544,543,553,546,,548,,545,544,543,553,546,,556,548,,545,544,543,553',
'546,556,548,,545,544,543,553,546,,556,,,,,551,,,556,,,,,551,561,560',
'564,563,,,,557,551,534,564,563,,,,557,551,561,560,564,563,,,,557,561',
'560,564,563,,,548,557,545,544,543,553,546,548,,545,544,543,553,546,',
'548,556,545,544,543,553,546,,556,,,,,,,548,556,545,544,543,553,546,',
'551,,,,,,,551,556,,,564,563,,,551,557,,564,563,,,,557,561,560,564,563',
',,551,557,548,,545,544,543,553,546,561,560,564,563,,,,557,548,556,545',
'544,543,553,546,,548,,545,544,543,553,546,,556,,,,,,,551,556,548,,545',
'544,543,553,546,561,560,564,563,,,551,557,,556,,,,,551,561,560,564,563',
',,,557,561,560,564,563,,,,557,551,548,,545,544,543,553,546,,561,560',
'564,563,,,,557,556,548,,545,544,543,553,546,548,,545,544,543,553,546',
',,556,,,,,551,,556,548,,545,544,543,553,546,,564,563,,,,557,551,,556',
',,,,551,,561,560,564,563,,,,557,,564,563,,,,557,551,548,,545,544,543',
'553,546,,,,564,563,,,,557,556,,,,,,,,,,,,,,,,,,,,,,551,,,,,,,,,,,564',
'563,,,,557' ]
        racc_action_table = arr = ::Array.new(25310, 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 = [
'641,339,1007,1006,774,844,890,641,641,641,38,908,641,641,641,19,641',
'359,590,590,906,58,437,437,594,594,641,641,641,349,1020,345,724,996',
'996,308,641,641,383,641,641,641,641,641,338,719,722,885,3,721,845,1008',
'650,3,665,687,19,38,371,342,774,58,346,665,342,371,38,641,641,641,641',
'641,641,641,641,641,641,641,641,641,641,671,578,641,641,641,910,641',
'641,571,384,641,723,570,641,641,61,641,724,641,308,641,911,641,641,383',
'641,641,641,641,641,917,641,590,641,844,670,437,590,594,339,1007,1006',
'308,359,339,1007,1006,641,1008,908,641,641,641,641,908,641,420,641,349',
'650,345,724,641,420,420,420,359,671,1020,420,420,359,420,1020,845,722',
'384,723,721,845,481,420,338,719,687,885,719,338,719,1008,885,346,420',
'420,1008,420,420,420,420,420,680,680,670,61,355,364,26,671,355,473,671',
'578,364,571,921,481,221,570,571,671,343,723,570,420,420,420,420,420',
'420,420,420,420,420,420,420,420,420,924,482,420,420,420,670,420,473',
'670,39,420,853,414,420,651,927,853,670,420,443,420,928,420,420,353,420',
'420,420,420,420,419,420,420,420,26,221,482,419,419,419,41,41,77,419',
'419,366,419,420,929,651,420,420,366,420,77,420,39,26,680,414,930,492',
'420,801,77,39,419,419,414,419,419,419,419,419,224,443,704,353,704,704',
'704,607,704,332,353,913,332,913,904,353,904,904,904,353,904,313,313',
'419,419,419,419,419,419,419,419,419,419,419,419,419,419,374,353,419',
'419,419,801,419,374,41,41,419,932,801,419,382,492,492,492,419,224,419',
'801,419,419,726,419,419,419,419,419,95,419,492,419,639,607,607,95,95',
'95,801,947,95,95,95,607,95,419,704,329,419,419,329,419,95,419,95,95',
'95,450,904,367,419,313,313,952,95,95,367,95,95,95,95,95,638,953,413',
'726,509,382,382,382,385,589,726,509,954,288,589,726,639,450,288,726',
'509,450,450,95,95,95,95,95,95,95,95,95,95,95,95,95,95,955,726,95,95',
'95,222,95,95,692,692,95,605,413,95,95,380,95,956,95,638,95,413,95,95',
'379,95,95,95,95,95,378,95,98,95,958,368,385,385,385,98,98,98,368,7,98',
'98,98,95,98,848,95,95,95,95,848,95,98,95,98,98,98,222,95,14,328,673',
'15,328,98,98,14,98,98,98,98,98,605,605,938,14,380,380,380,381,934,938',
'605,934,344,379,379,379,354,982,938,378,378,378,983,98,98,98,98,98,98',
'98,98,98,98,98,98,98,98,15,24,98,98,98,673,98,98,24,15,98,984,673,98',
'98,1,98,673,98,621,98,673,98,98,317,98,98,98,98,98,995,98,354,98,997',
'381,381,381,369,354,673,449,727,686,354,369,686,98,354,727,98,98,98',
'98,727,98,640,98,727,710,710,998,98,640,640,640,621,354,640,640,640',
'317,640,449,999,621,1000,449,449,370,317,640,640,640,640,123,370,372',
'17,17,123,123,640,640,372,640,640,640,640,640,994,365,994,994,994,347',
'994,701,365,701,701,701,347,701,551,807,551,551,551,454,551,347,479',
'640,640,640,640,640,640,640,640,640,640,640,640,640,640,689,994,640',
'640,640,357,640,640,701,483,640,689,357,640,640,551,640,701,640,326',
'640,357,640,640,551,640,640,640,640,640,944,640,640,640,337,337,833',
'944,833,833,833,321,833,453,689,689,944,640,318,689,640,640,640,640',
'945,640,499,640,523,523,500,945,640,569,569,569,569,569,569,503,945',
'946,569,569,833,505,314,569,946,569,569,569,569,569,569,569,510,946',
'452,513,312,569,569,569,569,569,569,569,598,598,569,451,598,598,598',
'432,569,569,569,569,569,569,569,569,569,569,569,569,1001,569,569,569',
'307,569,569,521,569,569,569,432,432,432,432,432,432,432,432,432,432',
'432,319,432,432,948,522,432,432,319,569,524,948,569,306,536,569,569',
'319,537,569,948,569,432,539,432,569,432,432,540,432,432,432,432,432',
'569,432,541,550,303,569,569,569,569,301,569,569,569,569,558,562,301',
'565,569,569,567,432,572,432,573,301,569,297,569,569,569,566,566,566',
'566,566,566,296,295,988,566,566,592,330,602,566,988,566,566,566,566',
'566,566,566,331,988,610,612,618,566,566,566,566,566,566,566,293,292',
'566,622,280,277,627,643,566,566,566,566,566,566,566,566,566,566,566',
'566,276,566,566,566,1002,566,566,632,566,566,566,643,643,643,643,643',
'643,643,643,643,643,643,1009,643,643,300,262,643,643,1009,566,230,300',
'566,1009,226,566,566,1009,642,566,300,566,643,333,643,566,643,643,1005',
'643,643,643,643,643,566,643,225,649,223,566,566,566,566,302,566,566',
'566,566,656,658,302,664,566,566,667,643,669,439,429,302,566,672,566',
'566,566,654,654,654,654,654,654,1022,675,46,654,654,676,679,681,654',
'46,654,654,654,654,654,654,654,684,46,421,688,204,654,654,654,654,654',
'654,654,703,705,654,712,717,720,412,408,654,654,654,654,654,654,654',
'654,654,654,654,654,411,654,654,654,409,654,654,405,654,654,654,408',
'408,408,408,408,408,408,408,408,408,408,674,408,408,304,729,408,408',
'674,654,109,304,654,674,734,654,654,674,403,654,304,654,408,400,408',
'654,408,408,394,408,408,408,408,408,654,408,753,350,758,654,654,654',
'654,875,654,654,654,654,348,1010,875,1011,654,654,45,408,40,775,776',
'875,654,777,654,654,654,653,653,653,653,653,653,779,780,581,653,653',
'781,783,784,653,581,653,653,653,653,653,653,653,785,581,786,790,37,653',
'653,653,653,653,653,653,794,873,653,873,873,873,795,873,653,653,653',
'653,653,653,653,653,653,653,653,653,800,653,653,653,804,653,653,808',
'653,653,653,760,760,760,760,760,760,760,760,760,760,760,220,760,760',
'811,816,760,760,220,653,817,821,653,822,824,653,653,220,825,653,827',
'653,760,830,760,653,760,760,832,760,760,760,760,760,653,760,835,838',
'22,653,653,653,653,847,653,653,653,653,16,851,852,855,653,653,856,760',
'872,13,876,878,653,12,653,653,653,648,648,648,648,648,648,10,889,,648',
'648,,,,648,,648,648,648,648,648,648,648,6,6,6,6,6,648,648,648,648,648',
'648,648,,981,648,981,981,981,,981,648,648,648,648,648,648,648,648,648',
'648,648,648,,648,648,648,,648,648,,648,648,648,427,427,427,427,427,427',
'427,427,427,427,427,,427,427,,,427,427,,648,,,648,,,648,648,,,648,,648',
'427,,427,648,427,427,,427,427,427,427,427,648,427,,,,648,648,648,648',
',648,648,648,648,,,,,648,648,,427,,,,,648,,648,648,648,849,849,849,849',
'849,849,,,,849,849,,,,849,,849,849,849,849,849,849,849,291,291,291,291',
'291,849,849,849,849,849,849,849,,,849,497,497,497,497,497,849,849,849',
'849,849,849,849,849,849,849,849,849,,849,849,849,,849,849,,849,849,849',
'519,519,519,519,519,519,519,519,519,519,519,,519,519,,,519,519,,849',
',,849,,,849,849,,,849,,849,519,,519,849,519,519,,519,519,519,519,519',
'849,519,,,,849,849,849,849,,849,849,849,849,,,,,849,849,,519,,,,,849',
',849,849,849,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,274,274,274,274,274,274,274,274,274,274,274,,274,274,,,274,274,',
'229,,,229,,,229,229,,,229,,229,274,,274,229,274,274,,274,274,274,274',
'274,229,274,,,,229,229,229,229,,229,229,229,229,,,,,229,229,,274,,,',
',229,,229,229,229,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,644,644,644,644,644,644,644,644,644',
'644,644,,644,644,,,644,644,,33,,,33,,,33,33,,,33,,33,644,,644,33,644',
'644,,644,644,644,644,644,33,644,,,,33,33,33,33,,33,33,33,33,,,,,33,33',
'644,644,,,,,33,,33,33,33,843,843,843,843,843,843,,,,843,843,,,,843,',
'843,843,843,843,843,843,843,,,,,,843,843,843,843,843,843,843,,,843,',
',,,,843,843,843,843,843,843,843,843,843,843,843,843,,843,843,843,,843',
'843,,843,843,843,678,678,678,678,678,678,678,678,678,678,678,,678,678',
',,678,678,,843,,,843,,,843,843,,,843,,843,678,,678,843,678,678,,678',
'678,678,678,678,843,678,,,,843,843,843,843,,843,843,843,843,,,,,843',
'843,,678,,,,,843,,843,843,843,121,121,121,121,121,121,,,,121,121,,,',
'121,,121,121,121,121,121,121,121,,,,,,121,121,121,121,121,121,121,,',
'121,,,,,,121,121,121,121,121,121,121,121,121,121,121,121,,121,121,121',
',121,121,,121,121,121,755,755,755,755,755,755,755,755,755,755,755,,755',
'755,,,755,755,,121,,,121,,,121,121,,,121,,121,755,,755,121,755,755,',
'755,755,755,755,755,121,755,,,,121,121,121,121,,121,121,121,121,,,,',
'121,121,,755,,,,,121,,121,121,121,498,498,498,498,498,498,,,,498,498',
',,,498,,498,498,498,498,498,498,498,,,,,,498,498,498,498,498,498,498',
',,498,,,,,,498,498,498,498,498,498,498,498,498,498,498,498,,498,498',
'498,,498,498,,498,498,498,762,762,762,762,762,762,762,762,762,762,762',
',762,762,,,762,762,,498,,,498,,,498,498,,,498,,498,762,,762,498,762',
'762,,762,762,762,762,762,498,762,,,,498,498,498,498,,498,498,498,498',
',,,,498,498,,762,,,,,498,,498,498,498,966,966,966,966,966,966,,,,966',
'966,,,,966,,966,966,966,966,966,966,966,,,,,,966,966,966,966,966,966',
'966,,,966,,,,,,966,966,966,966,966,966,966,966,966,966,966,966,,966',
'966,966,,966,966,,966,966,966,765,765,765,765,765,765,765,765,765,765',
'765,,765,765,,,765,765,,966,,,966,,,966,966,,,966,,966,765,,765,966',
'765,765,,765,765,765,765,765,966,765,,,,966,966,966,966,,966,966,966',
'966,,,,,966,966,,765,,,,,966,,966,966,966,745,745,745,745,745,745,,',
',745,745,,,,745,,745,745,745,745,745,745,745,,,,,,745,745,745,745,745',
'745,745,,,745,,,,,,745,745,745,745,745,745,745,745,745,745,745,745,',
'745,745,745,,745,745,,745,745,745,767,767,767,767,767,767,767,767,767',
'767,767,,767,767,,,767,767,,745,,,745,,,745,745,,,745,,745,767,,767',
'745,767,767,,767,767,767,767,767,745,767,,,,745,745,745,745,,745,745',
'745,745,,,,,745,745,,767,,,,,745,,745,745,745,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,769,769,769,769,769,769,769,769,769',
'769,769,,769,769,,,769,769,,206,,,206,,,206,206,,,206,,206,769,,769',
'206,769,769,,769,769,769,769,769,206,769,,,,206,206,206,206,,206,206',
'206,206,,,,,206,206,,769,,,,,206,,206,206,206,324,324,324,324,324,324',
',,,324,324,,,,324,,324,324,324,324,324,324,324,,,,,,324,324,324,324',
'324,324,324,,,324,,,,,,324,324,324,324,324,324,324,324,324,324,324,324',
',324,324,324,,324,324,,324,324,324,21,21,21,21,21,21,21,21,21,21,21',
',21,21,,,21,21,,324,,,324,,,324,324,,,324,,324,21,,21,324,21,21,,21',
'21,21,21,21,324,21,,,,324,324,324,324,,324,324,324,324,,,,,324,324,',
'21,,,,,324,,324,324,324,793,793,793,793,793,793,,,,793,793,,,,793,,793',
'793,793,793,793,793,793,,,,,,793,793,793,793,793,793,793,,,793,,,,,',
'793,793,793,793,793,793,793,793,793,793,793,793,,793,793,793,,793,793',
',793,793,793,858,858,858,858,858,858,858,858,858,858,858,,858,858,,',
'858,858,,793,,,793,,,793,793,,,793,,793,858,,858,793,858,858,,858,858',
'858,858,858,793,858,,,,793,793,793,793,,793,793,793,793,,,,,793,793',
',858,,,,,793,,793,793,793,882,882,882,882,882,882,,,,882,882,,,,882',
',882,882,882,882,882,882,882,,,,,,882,882,882,882,882,882,882,,,882',
',,,,,882,882,882,882,882,882,882,882,882,882,882,882,,882,882,882,,882',
'882,,882,882,882,969,969,969,969,969,969,969,969,969,969,969,,969,969',
',,969,969,,882,,,882,,,882,882,,,882,,882,969,,969,882,969,969,,969',
'969,969,969,969,882,969,,,,882,882,882,882,,882,882,882,882,,,,,882',
'882,,969,,,,,882,,882,882,882,840,840,840,840,840,840,,,,840,840,,,',
'840,,840,840,840,840,840,840,840,,862,,,,840,840,840,840,840,840,840',
'862,831,840,831,831,831,,831,840,840,840,840,840,840,840,840,840,840',
'840,840,,840,840,840,,840,840,,840,840,840,468,,862,862,,,469,862,831',
'905,,905,905,905,,905,,831,,840,,,840,,,840,840,,,840,,840,468,,,840',
'468,468,469,468,468,,469,469,840,469,469,905,,840,840,840,840,,840,840',
'840,840,,,,,840,840,,,,,,,840,,840,840,840,839,839,839,839,839,839,',
',,839,839,,,,839,,839,839,839,839,839,839,839,,,,,,839,839,839,839,839',
'839,839,,957,839,957,957,957,,957,839,839,839,839,839,839,839,839,839',
'839,839,839,,839,839,839,,839,839,,839,839,839,460,,,959,,959,959,959',
'957,959,,,,,,,460,460,,839,,,839,,,839,839,,,839,,839,460,,460,839,460',
'460,,460,460,959,,460,839,460,,,,839,839,839,839,,839,839,839,839,,',
',,839,839,,,,,,,839,,839,839,839,960,960,960,960,960,960,,,,960,960',
',,,960,,960,960,960,960,960,960,960,,,,,,960,960,960,960,960,960,960',
',,960,,,,,,960,960,960,960,960,960,960,960,960,960,960,960,,960,960',
'960,,960,960,,960,960,960,461,,,,,,,,,,,,,,,,461,461,,960,,,960,,,960',
'960,,,960,,960,461,,461,960,461,461,,461,461,,,461,960,461,,,,960,960',
'960,960,,960,960,960,960,,,,,960,960,,,,,,,960,,960,960,960,815,815',
'815,815,815,815,,,,815,815,,,,815,,815,815,815,815,815,815,815,,,,,',
'815,815,815,815,815,815,815,,,815,,,,,,815,815,815,815,815,815,815,815',
'815,815,815,815,,815,815,815,,815,815,,815,815,815,470,470,470,470,470',
'470,470,,,470,470,,,,,,470,470,,815,,,815,,,815,815,,,815,,815,470,',
'470,815,470,470,,470,470,470,470,470,815,470,,,,815,815,815,815,,815',
'815,815,815,,,,,815,815,,,,,,,815,,815,815,815,735,735,735,735,735,735',
',,,735,735,,,,735,,735,735,735,735,735,735,735,,,,,,735,735,735,735',
'735,735,735,,,735,,,,,,735,735,735,735,735,735,735,735,735,735,735,735',
',735,735,735,,735,735,,735,735,735,447,447,447,447,447,447,447,447,447',
'447,447,,447,447,,,447,447,,735,,,735,,,735,735,,,735,,735,447,,447',
'735,447,447,,447,447,447,447,447,735,447,,,,735,735,735,735,,735,735',
'735,735,,,,,735,735,,,,,,,735,,735,735,735,814,814,814,814,814,814,',
',,814,814,,,,814,,814,814,814,814,814,814,814,,,,,,814,814,814,814,814',
'814,814,,,814,,,,,,814,814,814,814,814,814,814,814,814,814,814,814,',
'814,814,814,,814,814,,814,814,814,462,,,,,,,,,,,,,,,,462,462,,814,,',
'814,,,814,814,,,814,,814,462,,462,814,462,462,,462,462,,,462,814,462',
',,,814,814,814,814,,814,814,814,814,,,,,814,814,,,,,,,814,,814,814,814',
'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,458,458,458,458,458,458,458',
',,458,458,,,,,,458,458,,0,,,0,,,0,0,,,0,,0,458,,458,0,458,458,,458,458',
'458,458,458,0,458,,,,0,0,0,0,,0,0,0,0,,,,,0,0,,,,,,,0,,0,0,0,591,591',
'591,591,591,591,,,,591,591,,,,591,,591,591,591,591,591,591,591,,,,,',
'591,591,591,591,591,591,591,,,591,,,,,,591,591,591,591,591,591,591,591',
'591,591,591,591,,591,591,591,,591,591,,591,591,591,448,448,448,448,448',
'448,448,448,448,448,448,,448,448,,,448,448,,591,,,591,,,591,591,,,591',
',591,448,,448,591,448,448,,448,448,448,448,448,591,448,,,,591,591,591',
'591,,591,591,591,591,,,,,591,591,,,,,,,591,,591,591,591,294,294,294',
'294,294,294,,,,294,294,,,,294,,294,294,294,294,294,294,294,,,,,,294',
'294,294,294,294,294,294,,,294,,,,,,294,294,294,294,294,294,294,294,294',
'294,294,294,,294,294,294,,294,294,,294,294,294,459,,,,,,,,,,,,,,,,459',
'459,,294,,,294,,,294,294,,,294,,294,459,,459,294,459,459,,459,459,,',
'459,294,459,,,,294,294,294,294,,294,294,294,294,,,,,294,294,,,,,,,294',
',294,294,294,730,730,730,730,730,730,,,,730,730,,,,730,,730,730,730',
'730,730,730,730,,,,,,730,730,730,730,730,730,730,,,730,,,,,,730,730',
'730,730,730,730,730,730,730,730,730,730,,730,730,730,,730,730,,730,730',
'730,463,463,463,463,463,463,463,,,463,463,,,,,,463,463,,730,,,730,,',
'730,730,,,730,,730,463,,463,730,463,463,,463,463,463,463,463,730,463',
',,,730,730,730,730,,730,730,730,730,,,,,730,730,,,,,,,730,,730,730,730',
'806,806,806,806,806,806,,,,806,806,,,,806,,806,806,806,806,806,806,806',
',,,,,806,806,806,806,806,806,806,,,806,,,,,,806,806,806,806,806,806',
'806,806,806,806,806,806,,806,806,806,,806,806,,806,806,806,466,466,466',
'466,466,466,466,,,466,466,,,,,,466,466,,806,,,806,,,806,806,,,806,,806',
'466,,466,806,466,466,,466,466,466,466,466,806,466,,,,806,806,806,806',
',806,806,806,806,,,,,806,806,,,,,,,806,,806,806,806,943,943,943,943',
'943,943,,,,943,943,,,,943,,943,943,943,943,943,943,943,,,,,,943,943',
'943,943,943,943,943,,,943,,,,,,943,943,943,943,943,943,943,943,943,943',
'943,943,,943,943,943,,943,943,,943,943,943,464,464,464,464,464,464,464',
',,464,464,,,,,,464,464,,943,,,943,,,943,943,,,943,,943,464,,464,943',
'464,464,,464,464,464,464,464,943,464,,,,943,943,943,943,,943,943,943',
'943,,,,,943,943,,,,,,,943,,943,943,943,299,299,299,299,299,299,,,,299',
'299,,,,299,,299,299,299,299,299,299,299,,,,,,299,299,299,299,299,299',
'299,,,299,,,,,,299,299,299,299,299,299,299,299,299,299,299,299,,299',
'299,299,,299,299,,299,299,299,465,465,465,465,465,465,465,,,465,465',
',,,,,465,465,,299,,,299,,,299,299,,,299,,299,465,,465,299,465,465,,465',
'465,465,465,465,299,465,,,,299,299,299,299,,299,299,299,299,,,,,299',
'299,,,,,,,299,,299,299,299,968,968,968,968,968,968,,,,968,968,,,,968',
',968,968,968,968,968,968,968,,,,,,968,968,968,968,968,968,968,,,968',
',,,,,968,968,968,968,968,968,968,968,968,968,968,968,,968,968,968,,968',
'968,,968,968,968,471,471,471,471,471,471,471,471,,471,471,,,,,,471,471',
',968,,,968,,,968,968,,,968,,968,471,,471,968,471,471,,471,471,471,471',
'471,968,471,,,,968,968,968,968,,968,968,968,968,,,,,968,968,,,,116,116',
'116,968,116,968,968,968,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,467,467,467,467,467,467',
'467,,,467,467,,,,,,467,467,,116,,,116,,,116,116,,,116,,,467,,467,116',
'467,467,,467,467,467,467,467,116,467,,,,116,116,116,116,,116,116,116',
'116,,,,,116,116,,,,117,117,117,116,117,116,116,116,117,117,,,,117,,117',
'117,117,117,117,117,117,,,,,,117,117,117,117,117,117,117,,,117,,,,,',
',117,,,117,117,117,117,117,117,117,117,,117,117,117,,117,117,,117,117',
'117,455,,,,,,,,,,,,,,,,455,455,,117,,,117,,,117,117,,,117,,,455,,455',
'117,455,455,,455,455,,,,117,,,,,117,117,117,117,,117,117,117,117,,,',
',117,117,,,,118,118,118,117,118,117,117,117,118,118,,,,118,,118,118',
'118,118,118,118,118,,,,,,118,118,118,118,118,118,118,,,118,,,,,,,118',
',,118,118,118,118,118,118,118,118,,118,118,118,,118,118,,118,118,118',
'456,,,,,,,,,,,,,,,,456,456,,118,,,118,,,118,118,,,118,,,456,,456,118',
'456,456,,456,456,,,,118,,,,,118,118,118,118,,118,118,118,118,,,,,118',
'118,,,,119,119,119,118,119,118,118,118,119,119,,,,119,,119,119,119,119',
'119,119,119,,,,,,119,119,119,119,119,119,119,,,119,,,,,,,119,,,119,119',
'119,119,119,119,119,119,,119,119,119,,119,119,,119,119,119,457,,,,,',
',,,,,,,,,,457,457,,119,,,119,,,119,119,,,119,,,457,,,119,457,457,,457',
'457,,,,119,,,,,119,119,119,119,,119,119,119,119,,,,,119,119,,,,,,,119',
',119,119,119,120,120,120,120,120,,,,120,120,,,,120,,120,120,120,120',
'120,120,120,,,,,,120,120,120,120,120,120,120,,,120,,,,,,120,120,,120',
'120,120,120,120,120,120,120,120,,120,120,120,,120,120,,120,120,120,',
',,,,,,,,,,,,,,,,,,120,,,120,,,120,120,,,120,,120,,,,120,,,,,,,,,120',
',,,,120,120,120,120,,120,120,120,120,,,,,120,120,,,,725,725,725,120',
'725,120,120,120,725,725,,,,725,,725,725,725,725,725,725,725,,,,,,725',
'725,725,725,725,725,725,,,725,,,,,,,725,,,725,725,725,725,725,725,725',
'725,,725,725,725,,725,725,,725,725,725,,,,,,,,,,,,,,,,,,,,725,,,725',
',,725,725,,,725,,,,,,725,,,,,,,,,725,,,,,725,725,725,725,,725,725,725',
'725,,,,,725,725,,,,699,699,699,725,699,725,725,725,699,699,,,,699,,699',
'699,699,699,699,699,699,,,,,,699,699,699,699,699,699,699,,,699,,,,,',
',699,,,699,699,699,699,699,699,699,699,,699,699,699,,699,699,,699,699',
'699,,,,,,,,,,,,,,,,,,,,699,,,699,,,699,699,,,699,,,,,,699,,,,,,,,,699',
',,,,699,699,699,699,,699,699,699,699,,,,,699,699,,,,207,207,207,699',
'207,699,699,699,207,207,,,,207,,207,207,207,207,207,207,207,,,,,,207',
'207,207,207,207,207,207,,,207,,,,,,,207,,,207,207,207,207,207,207,207',
'207,,207,207,207,,207,207,,207,207,207,,,,,,,,,,,,,,,,,,,,207,,,207',
',,207,207,,,207,,207,,,,207,,,,,,,,,207,,,,,207,207,207,207,,207,207',
'207,207,,,,,207,207,,,,208,208,208,207,208,207,207,207,208,208,,,,208',
',208,208,208,208,208,208,208,,,,,,208,208,208,208,208,208,208,,,208',
',,,,,,208,,,208,208,208,208,208,208,208,208,,208,208,208,,208,208,,208',
'208,208,,,,,,,,,,,,,,,,,,,,208,,,208,,,208,208,,,208,,,,,,208,,,,,,',
',,208,,,,,208,208,208,208,,208,208,208,208,,,,,208,208,,,,209,209,209',
'208,209,208,208,208,209,209,,,,209,,209,209,209,209,209,209,209,,,,',
',209,209,209,209,209,209,209,,,209,,,,,,,209,,,209,209,209,209,209,209',
'209,209,209,209,209,209,,209,209,,209,209,209,,,,,,,,,,,,,,,,,,,,209',
',,209,,,209,209,,,209,,209,,209,,209,,,209,,,,,,209,,,,,209,209,209',
'209,,209,209,209,209,,,,,209,209,,,,682,682,682,209,682,209,209,209',
'682,682,,,,682,,682,682,682,682,682,682,682,,,,,,682,682,682,682,682',
'682,682,,,682,,,,,,,682,,,682,682,682,682,682,682,682,682,,682,682,682',
',682,682,,682,682,682,,,,,,,,,,,,,,,,,,,,682,,,682,,,682,682,,,682,',
'682,,,,682,,,,,,,,,682,,,,,682,682,682,682,,682,682,682,682,,,,,682',
'682,,,,677,677,677,682,677,682,682,682,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,,,,212,212,212,677,212,677,677,677,212,212,',
',,212,,212,212,212,212,212,212,212,,,,,,212,212,212,212,212,212,212',
',,212,,,,,,,212,,,212,212,212,212,212,212,212,212,,212,212,212,,212',
'212,,212,212,212,,,,,,,,,,,,,,,,,,,,212,,,212,,,212,212,,,212,,,,,,212',
',,,,,,,,212,,,,,212,212,212,212,,212,212,212,212,,,,,212,212,,,,213',
'213,213,212,213,212,212,212,213,213,,,,213,,213,213,213,213,213,213',
'213,,,,,,213,213,213,213,213,213,213,,,213,,,,,,,213,,,213,213,213,213',
'213,213,213,213,,213,213,213,,213,213,,213,213,213,,,,,,,,,,,,,,,,,',
',,213,,,213,,,213,213,,,213,,213,,,,213,,,,,,,,,213,,,,,213,213,213',
'213,,213,213,213,213,,,,,213,213,,,,214,214,214,213,214,213,213,213',
'214,214,,,,214,,214,214,214,214,214,214,214,,,,,,214,214,214,214,214',
'214,214,,,214,,,,,,,214,,,214,214,214,214,214,214,214,214,,214,214,214',
',214,214,,214,214,214,,,,,,,,,,,,,,,,,,,,214,,,214,,,214,214,,,214,',
',,,,214,,,,,,,,,214,,,,,214,214,214,214,,214,214,214,214,,,,,214,214',
',,,215,215,215,214,215,214,214,214,215,215,,,,215,,215,215,215,215,215',
'215,215,,,,,,215,215,215,215,215,215,215,,,215,,,,,,,215,,,215,215,215',
'215,215,215,215,215,,215,215,215,,215,215,,215,215,215,,,,,,,,,,,,,',
',,,,,,215,,,215,,,215,215,,,215,,,,,,215,,,,,,,,,215,,,,,215,215,215',
'215,,215,215,215,215,,,,,215,215,,,,216,216,216,215,216,215,215,215',
'216,216,,,,216,,216,216,216,216,216,216,216,,,,,,216,216,216,216,216',
'216,216,,,216,,,,,,,216,,,216,216,216,216,216,216,216,216,,216,216,216',
',216,216,,216,216,216,,,,,,,,,,,,,,,,,,,,216,,,216,,,216,216,,,216,',
',,,,216,,,,,,,,,216,,,,,216,216,216,216,,216,216,216,216,,,,,216,216',
',,,217,217,217,216,217,216,216,216,217,217,,,,217,,217,217,217,217,217',
'217,217,,,,,,217,217,217,217,217,217,217,,,217,,,,,,,217,,,217,217,217',
'217,217,217,217,217,,217,217,217,,217,217,,217,217,217,,,,,,,,,,,,,',
',,,,,,217,,,217,,,217,217,,,217,,,,,,217,,,,,,,,,217,,,,,217,217,217',
'217,,217,217,217,217,,,,,217,217,217,,,666,666,666,217,666,217,217,217',
'666,666,,,,666,,666,666,666,666,666,666,666,,,,,,666,666,666,666,666',
'666,666,,,666,,,,,,,666,,,666,666,666,666,666,666,666,666,,666,666,666',
',666,666,,,,666,,,,,,,,,,,,,,,,,,,,666,,,666,,,666,666,,,666,,,,,,,',
',,,,,,,,,,,,666,666,666,666,,666,666,666,666,,,,,666,666,,,,662,662',
'662,666,662,666,666,666,662,662,,,,662,,662,662,662,662,662,662,662',
',,,,,662,662,662,662,662,662,662,,,662,,,,,,,662,,,662,662,662,662,662',
'662,662,662,,662,662,662,,662,662,,662,662,662,,,,,,,,,,,,,,,,,,,,662',
',,662,,,662,662,,,662,,,,,,662,,,,,,,,,662,,,,,662,662,662,662,,662',
'662,662,662,,,,,662,662,,,,659,659,659,662,659,662,662,662,659,659,',
',,659,,659,659,659,659,659,659,659,,,,,,659,659,659,659,659,659,659',
',,659,,,,,,,659,,,659,659,659,659,659,659,659,659,,659,659,659,,659',
'659,,659,659,659,,,,,,,,,,,,,,,,,,,,659,,,659,,,659,659,,,659,,,,,,659',
',,,,,,,,659,,,,,659,659,659,659,,659,659,659,659,,,,,659,659,,,,228',
'228,228,659,228,659,659,659,228,228,,,,228,,228,228,228,228,228,228',
'228,,,,,,228,228,228,228,228,228,228,,,228,,,,,,,228,,,228,228,228,228',
'228,228,228,228,,228,228,228,,228,228,,228,228,228,,,,,,,,,,,,,,,,,',
',,228,,,228,,,228,228,,,228,,,,,,228,,,,,,,,,228,,,,,228,228,228,228',
',228,228,228,228,,,,,228,228,,,,231,231,231,228,231,228,228,228,231',
'231,,,,231,,231,231,231,231,231,231,231,,,,,,231,231,231,231,231,231',
'231,,,231,,,,,,,231,,,231,231,231,231,231,231,231,231,,231,231,231,',
'231,231,,231,231,231,,,,,,,,,,,,,,,,,,,,231,,,231,,,231,231,,,231,,',
',,,231,,,,,,,,,231,,,,,231,231,231,231,,231,231,231,231,,,,,231,231',
',,,232,232,232,231,232,231,231,231,232,232,,,,232,,232,232,232,232,232',
'232,232,,,,,,232,232,232,232,232,232,232,,,232,,,,,,,232,,,232,232,232',
'232,232,232,232,232,,232,232,232,,232,232,,232,232,232,,,,,,,,,,,,,',
',,,,,,232,,,232,,,232,232,,,232,,,,,,232,,,,,,,,,232,,,,,232,232,232',
'232,,232,232,232,232,,,,,232,232,,,,233,233,233,232,233,232,232,232',
'233,233,,,,233,,233,233,233,233,233,233,233,,,,,,233,233,233,233,233',
'233,233,,,233,,,,,,,233,,,233,233,233,233,233,233,233,233,,233,233,233',
',233,233,,233,233,233,,,,,,,,,,,,,,,,,,,,233,,,233,,,233,233,,,233,',
',,,,233,,,,,,,,,233,,,,,233,233,233,233,,233,233,233,233,,,,,233,233',
',,,234,234,234,233,234,233,233,233,234,234,,,,234,,234,234,234,234,234',
'234,234,,,,,,234,234,234,234,234,234,234,,,234,,,,,,,234,,,234,234,234',
'234,234,234,234,234,,234,234,234,,234,234,,234,234,234,,,,,,,,,,,,,',
',,,,,,234,,,234,,,234,234,,,234,,,,,,234,,,,,,,,,234,,,,,234,234,234',
'234,,234,234,234,234,,,,,234,234,,,,235,235,235,234,235,234,234,234',
'235,235,,,,235,,235,235,235,235,235,235,235,,,,,,235,235,235,235,235',
'235,235,,,235,,,,,,,235,,,235,235,235,235,235,235,235,235,,235,235,235',
',235,235,,235,235,235,,,,,,,,,,,,,,,,,,,,235,,,235,,,235,235,,,235,',
',,,,235,,,,,,,,,235,,,,,235,235,235,235,,235,235,235,235,,,,,235,235',
',,,236,236,236,235,236,235,235,235,236,236,,,,236,,236,236,236,236,236',
'236,236,,,,,,236,236,236,236,236,236,236,,,236,,,,,,,236,,,236,236,236',
'236,236,236,236,236,,236,236,236,,236,236,,236,236,236,,,,,,,,,,,,,',
',,,,,,236,,,236,,,236,236,,,236,,,,,,236,,,,,,,,,236,,,,,236,236,236',
'236,,236,236,236,236,,,,,236,236,,,,237,237,237,236,237,236,236,236',
'237,237,,,,237,,237,237,237,237,237,237,237,,,,,,237,237,237,237,237',
'237,237,,,237,,,,,,,237,,,237,237,237,237,237,237,237,237,,237,237,237',
',237,237,,237,237,237,,,,,,,,,,,,,,,,,,,,237,,,237,,,237,237,,,237,',
',,,,237,,,,,,,,,237,,,,,237,237,237,237,,237,237,237,237,,,,,237,237',
',,,238,238,238,237,238,237,237,237,238,238,,,,238,,238,238,238,238,238',
'238,238,,,,,,238,238,238,238,238,238,238,,,238,,,,,,,238,,,238,238,238',
'238,238,238,238,238,,238,238,238,,238,238,,238,238,238,,,,,,,,,,,,,',
',,,,,,238,,,238,,,238,238,,,238,,,,,,238,,,,,,,,,238,,,,,238,238,238',
'238,,238,238,238,238,,,,,238,238,,,,239,239,239,238,239,238,238,238',
'239,239,,,,239,,239,239,239,239,239,239,239,,,,,,239,239,239,239,239',
'239,239,,,239,,,,,,,239,,,239,239,239,239,239,239,239,239,,239,239,239',
',239,239,,239,239,239,,,,,,,,,,,,,,,,,,,,239,,,239,,,239,239,,,239,',
',,,,239,,,,,,,,,239,,,,,239,239,239,239,,239,239,239,239,,,,,239,239',
',,,240,240,240,239,240,239,239,239,240,240,,,,240,,240,240,240,240,240',
'240,240,,,,,,240,240,240,240,240,240,240,,,240,,,,,,,240,,,240,240,240',
'240,240,240,240,240,,240,240,240,,240,240,,240,240,240,,,,,,,,,,,,,',
',,,,,,240,,,240,,,240,240,,,240,,,,,,240,,,,,,,,,240,,,,,240,240,240',
'240,,240,240,240,240,,,,,240,240,,,,241,241,241,240,241,240,240,240',
'241,241,,,,241,,241,241,241,241,241,241,241,,,,,,241,241,241,241,241',
'241,241,,,241,,,,,,,241,,,241,241,241,241,241,241,241,241,,241,241,241',
',241,241,,241,241,241,,,,,,,,,,,,,,,,,,,,241,,,241,,,241,241,,,241,',
',,,,241,,,,,,,,,241,,,,,241,241,241,241,,241,241,241,241,,,,,241,241',
',,,242,242,242,241,242,241,241,241,242,242,,,,242,,242,242,242,242,242',
'242,242,,,,,,242,242,242,242,242,242,242,,,242,,,,,,,242,,,242,242,242',
'242,242,242,242,242,,242,242,242,,242,242,,242,242,242,,,,,,,,,,,,,',
',,,,,,242,,,242,,,242,242,,,242,,,,,,242,,,,,,,,,242,,,,,242,242,242',
'242,,242,242,242,242,,,,,242,242,,,,243,243,243,242,243,242,242,242',
'243,243,,,,243,,243,243,243,243,243,243,243,,,,,,243,243,243,243,243',
'243,243,,,243,,,,,,,243,,,243,243,243,243,243,243,243,243,,243,243,243',
',243,243,,243,243,243,,,,,,,,,,,,,,,,,,,,243,,,243,,,243,243,,,243,',
',,,,243,,,,,,,,,243,,,,,243,243,243,243,,243,243,243,243,,,,,243,243',
',,,244,244,244,243,244,243,243,243,244,244,,,,244,,244,244,244,244,244',
'244,244,,,,,,244,244,244,244,244,244,244,,,244,,,,,,,244,,,244,244,244',
'244,244,244,244,244,,244,244,244,,244,244,,244,244,244,,,,,,,,,,,,,',
',,,,,,244,,,244,,,244,244,,,244,,,,,,244,,,,,,,,,244,,,,,244,244,244',
'244,,244,244,244,244,,,,,244,244,,,,245,245,245,244,245,244,244,244',
'245,245,,,,245,,245,245,245,245,245,245,245,,,,,,245,245,245,245,245',
'245,245,,,245,,,,,,,245,,,245,245,245,245,245,245,245,245,,245,245,245',
',245,245,,245,245,245,,,,,,,,,,,,,,,,,,,,245,,,245,,,245,245,,,245,',
',,,,245,,,,,,,,,245,,,,,245,245,245,245,,245,245,245,245,,,,,245,245',
',,,246,246,246,245,246,245,245,245,246,246,,,,246,,246,246,246,246,246',
'246,246,,,,,,246,246,246,246,246,246,246,,,246,,,,,,,246,,,246,246,246',
'246,246,246,246,246,,246,246,246,,246,246,,246,246,246,,,,,,,,,,,,,',
',,,,,,246,,,246,,,246,246,,,246,,,,,,246,,,,,,,,,246,,,,,246,246,246',
'246,,246,246,246,246,,,,,246,246,,,,247,247,247,246,247,246,246,246',
'247,247,,,,247,,247,247,247,247,247,247,247,,,,,,247,247,247,247,247',
'247,247,,,247,,,,,,,247,,,247,247,247,247,247,247,247,247,,247,247,247',
',247,247,,247,247,247,,,,,,,,,,,,,,,,,,,,247,,,247,,,247,247,,,247,',
',,,,247,,,,,,,,,247,,,,,247,247,247,247,,247,247,247,247,,,,,247,247',
',,,248,248,248,247,248,247,247,247,248,248,,,,248,,248,248,248,248,248',
'248,248,,,,,,248,248,248,248,248,248,248,,,248,,,,,,,248,,,248,248,248',
'248,248,248,248,248,,248,248,248,,248,248,,248,248,248,,,,,,,,,,,,,',
',,,,,,248,,,248,,,248,248,,,248,,,,,,248,,,,,,,,,248,,,,,248,248,248',
'248,,248,248,248,248,,,,,248,248,,,,249,249,249,248,249,248,248,248',
'249,249,,,,249,,249,249,249,249,249,249,249,,,,,,249,249,249,249,249',
'249,249,,,249,,,,,,,249,,,249,249,249,249,249,249,249,249,,249,249,249',
',249,249,,249,249,249,,,,,,,,,,,,,,,,,,,,249,,,249,,,249,249,,,249,',
',,,,249,,,,,,,,,249,,,,,249,249,249,249,,249,249,249,249,,,,,249,249',
',,,250,250,250,249,250,249,249,249,250,250,,,,250,,250,250,250,250,250',
'250,250,,,,,,250,250,250,250,250,250,250,,,250,,,,,,,250,,,250,250,250',
'250,250,250,250,250,,250,250,250,,250,250,,250,250,250,,,,,,,,,,,,,',
',,,,,,250,,,250,,,250,250,,,250,,,,,,250,,,,,,,,,250,,,,,250,250,250',
'250,,250,250,250,250,,,,,250,250,,,,251,251,251,250,251,250,250,250',
'251,251,,,,251,,251,251,251,251,251,251,251,,,,,,251,251,251,251,251',
'251,251,,,251,,,,,,,251,,,251,251,251,251,251,251,251,251,,251,251,251',
',251,251,,251,251,251,,,,,,,,,,,,,,,,,,,,251,,,251,,,251,251,,,251,',
',,,,251,,,,,,,,,251,,,,,251,251,251,251,,251,251,251,251,,,,,251,251',
',,,252,252,252,251,252,251,251,251,252,252,,,,252,,252,252,252,252,252',
'252,252,,,,,,252,252,252,252,252,252,252,,,252,,,,,,,252,,,252,252,252',
'252,252,252,252,252,,252,252,252,,252,252,,252,252,252,,,,,,,,,,,,,',
',,,,,,252,,,252,,,252,252,,,252,,,,,,252,,,,,,,,,252,,,,,252,252,252',
'252,,252,252,252,252,,,,,252,252,,,,253,253,253,252,253,252,252,252',
'253,253,,,,253,,253,253,253,253,253,253,253,,,,,,253,253,253,253,253',
'253,253,,,253,,,,,,,253,,,253,253,253,253,253,253,253,253,,253,253,253',
',253,253,,253,253,253,,,,,,,,,,,,,,,,,,,,253,,,253,,,253,253,,,253,',
',,,,253,,,,,,,,,253,,,,,253,253,253,253,,253,253,253,253,,,,,253,253',
',,,254,254,254,253,254,253,253,253,254,254,,,,254,,254,254,254,254,254',
'254,254,,,,,,254,254,254,254,254,254,254,,,254,,,,,,,254,,,254,254,254',
'254,254,254,254,254,,254,254,254,,254,254,,254,254,254,,,,,,,,,,,,,',
',,,,,,254,,,254,,,254,254,,,254,,,,,,254,,,,,,,,,254,,,,,254,254,254',
'254,,254,254,254,254,,,,,254,254,,,,255,255,255,254,255,254,254,254',
'255,255,,,,255,,255,255,255,255,255,255,255,,,,,,255,255,255,255,255',
'255,255,,,255,,,,,,,255,,,255,255,255,255,255,255,255,255,,255,255,255',
',255,255,,255,255,255,,,,,,,,,,,,,,,,,,,,255,,,255,,,255,255,,,255,',
',,,,255,,,,,,,,,255,,,,,255,255,255,255,,255,255,255,255,,,,,255,255',
',,,635,635,635,255,635,255,255,255,635,635,,,,635,,635,635,635,635,635',
'635,635,,,,,,635,635,635,635,635,635,635,,,635,,,,,,,635,,,635,635,635',
'635,635,635,635,635,,635,635,635,,635,635,,635,635,635,,,,,,,,,,,,,',
',,,,,,635,,,635,,,635,635,,,635,,,,,,635,,,,,,,,,635,,,,,635,635,635',
'635,,635,635,635,635,,,,,635,635,,,,634,634,634,635,634,635,635,635',
'634,634,,,,634,,634,634,634,634,634,634,634,,,,,,634,634,634,634,634',
'634,634,,,634,,,,,,,634,,,634,634,634,634,634,634,634,634,,634,634,634',
',634,634,,634,634,634,,,,,,,,,,,,,,,,,,,,634,,,634,,,634,634,,,634,',
',,,,634,,,,,,,,,634,,,,,634,634,634,634,,634,634,634,634,,,,,634,634',
',,,263,263,263,634,263,634,634,634,263,263,,,,263,,263,263,263,263,263',
'263,263,,,,,,263,263,263,263,263,263,263,,,263,,,,,,,263,,,263,263,263',
'263,263,263,263,263,263,263,263,263,,263,263,,263,263,263,,,,,,,,,,',
',,,,,,,,,263,,,263,,,263,263,,,263,,263,,263,,263,,,263,,,,,,263,,,',
',263,263,263,263,,263,263,263,263,,,,,263,263,,,,264,264,264,263,264',
'263,263,263,264,264,,,,264,,264,264,264,264,264,264,264,,,,,,264,264',
'264,264,264,264,264,,,264,,,,,,,264,,,264,264,264,264,264,264,264,264',
'264,264,264,264,,264,264,,264,264,264,,,,,,,,,,,,,,,,,,,,264,,,264,',
',264,264,,,264,,264,,264,,264,,,264,,,,,,264,,,,,264,264,264,264,,264',
'264,264,264,,,,,264,264,,,,272,272,272,264,272,264,264,264,272,272,',
',,272,,272,272,272,272,272,272,272,,,,,,272,272,272,272,272,272,272',
',,272,,,,,,,272,,,272,272,272,272,272,272,272,272,272,272,272,272,,272',
'272,,272,272,272,,,,,,,,,,,,,,,,,,,,272,,,272,,,272,272,,,272,,272,',
'272,,272,,,272,,,,,,272,,,,,272,272,272,272,,272,272,272,272,,,,,272',
'272,272,,,631,631,631,272,631,272,272,272,631,631,,,,631,,631,631,631',
'631,631,631,631,,,,,,631,631,631,631,631,631,631,,,631,,,,,,,631,,,631',
'631,631,631,631,631,631,631,,631,631,631,,631,631,,631,631,631,,,,,',
',,,,,,,,,,,,,,631,,,631,,,631,631,,,631,,,,,,631,,,,,,,,,631,,,,,631',
'631,631,631,,631,631,631,631,,,,,631,631,,,,630,630,630,631,630,631',
'631,631,630,630,,,,630,,630,630,630,630,630,630,630,,,,,,630,630,630',
'630,630,630,630,,,630,,,,,,,630,,,630,630,630,630,630,630,630,630,,630',
'630,630,,630,630,,630,630,630,,,,,,,,,,,,,,,,,,,,630,,,630,,,630,630',
',,630,,,,,,630,,,,,,,,,630,,,,,630,630,630,630,,630,630,630,630,,,,',
'630,630,,,,626,626,626,630,626,630,630,630,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,,,,279,279,279,626,279,626',
'626,626,279,279,,,,279,,279,279,279,279,279,279,279,,,,,,279,279,279',
'279,279,279,279,,,279,,,,,,,279,,,279,279,279,279,279,279,279,279,,279',
'279,279,,279,279,,279,279,279,,,,,,,,,,,,,,,,,,,,279,,,279,,,279,279',
',,279,,,,,,279,,,,,,,,,279,,,,,279,279,279,279,,279,279,279,279,,,,',
'279,279,,,,625,625,625,279,625,279,279,279,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,,,,281,281,281,625,281,625',
'625,625,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,,,,284,284,284,281,284,281,281,281,284,284,,,,284,,284,284,284',
'284,284,284,284,,,,,,284,284,284,284,284,284,284,,,284,,,,,,,284,,,284',
'284,284,284,284,284,284,284,,284,284,284,,284,284,,284,284,284,,,,,',
',,,,,,,,,,,,,,284,,,284,,,284,284,,,284,,,,,,284,,,,,,,,,284,,,,,284',
'284,284,284,,284,284,284,284,,,,,284,284,,,,285,285,285,284,285,284',
'284,284,285,285,,,,285,,285,285,285,285,285,285,285,,,,,,285,285,285',
'285,285,285,285,,,285,,,,,,,285,,,285,285,285,285,285,285,285,285,,285',
'285,285,,285,285,,285,285,285,,,,,,,,,,,,,,,,,,,,285,,,285,,,285,285',
',,285,,,,,,285,,,,,,,,,285,,,,,285,285,285,285,,285,285,285,285,,,,',
'285,285,,,,624,624,624,285,624,285,285,285,624,624,,,,624,,624,624,624',
'624,624,624,624,,,,,,624,624,624,624,624,624,624,,,624,,,,,,,624,,,624',
'624,624,624,624,624,624,624,624,624,624,624,,624,624,,624,624,624,,',
',,,,,,,,,,,,,,,,,624,,,624,,,624,624,,,624,,,,624,,624,,,624,,,,,,624',
',,,,624,624,624,624,,624,624,624,624,,,,,624,624,,,,,,,624,,624,624',
'624,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,290,,290,290,290,,,,,,,,,,,,,',
',,,,,,290,,,290,,,290,290,,,290,,290,,,,290,,,,,,,,,290,,,,,290,290',
'290,290,,290,290,290,290,,,,,290,290,,,,623,623,623,290,623,290,290',
'290,623,623,,,,623,,623,623,623,623,623,623,623,,,,,,623,623,623,623',
'623,623,623,,,623,,,,,,,623,,,623,623,623,623,623,623,623,623,623,623',
'623,623,,623,623,,623,623,623,,,,,,,,,,,,,,,,,,,,623,,,623,,,623,623',
',,623,,623,,623,,623,,,623,,,,,,623,,,,,623,623,623,623,,623,623,623',
'623,,,,,623,623,,,,620,620,620,623,620,623,623,623,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,,,,619,619,619,620',
'619,620,620,620,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,,,,585,585,585,619,585,619,619,619,585,585,,,,585',
',585,585,585,585,585,585,585,,,,,,585,585,585,585,585,585,585,,,585',
',,,,,,585,,,585,585,585,585,585,585,585,585,585,585,585,585,,585,585',
',585,585,585,,,,,,,,,,,,,,,,,,,,585,,,585,,,585,585,,,585,,585,,585',
',585,,,585,,,,,,585,,,,,585,585,585,585,,585,585,585,585,,,,,585,585',
',,,575,575,575,585,575,585,585,585,575,575,,,,575,,575,575,575,575,575',
'575,575,,,,,,575,575,575,575,575,575,575,,,575,,,,,,,575,,,575,575,575',
'575,575,575,575,575,575,575,575,575,,575,575,,575,575,575,,,,,,,,,,',
',,,,,,,,,575,,,575,,,575,575,,,575,,575,,575,,575,,,575,,,,,,575,,,',
',575,575,575,575,,575,575,575,575,,,,,575,575,,,,298,298,298,575,298',
'575,575,575,298,298,,,,298,,298,298,298,298,298,298,298,,,,,,298,298',
'298,298,298,298,298,,,298,,,,,,,298,,,298,298,298,298,298,298,298,298',
',298,298,298,,298,298,,,,298,,,,,,,,,,,,,,,,,,,,298,,,298,,,298,298',
',,298,,897,,897,897,897,897,897,,,,,,,,,,897,,298,298,298,298,,298,298',
'298,298,,,,,298,298,,,,298,,897,298,,298,298,298,574,574,574,,574,897',
'897,,574,574,897,,,574,,574,574,574,574,574,574,574,,,,,,574,574,574',
'574,574,574,574,,,574,,,,,,,574,,,574,574,574,574,574,574,574,574,,574',
'574,574,,574,574,,574,574,574,,,,,,,,,,,,,,,,,,,,574,,,574,,,574,574',
',,574,,574,,,,574,,,,,,,,,574,,,,,574,574,574,574,,574,574,574,574,',
',,,574,574,,,,554,554,554,574,554,574,574,574,554,554,,,,554,,554,554',
'554,554,554,554,554,,,,,,554,554,554,554,554,554,554,,,554,,,,,,,554',
',,554,554,554,554,554,554,554,554,,554,554,554,,554,554,,554,554,554',
',,,,,,,,,,,,,,,,,,,554,,,554,,,554,554,,,554,,,,,,554,,,,,,,,,554,,',
',,554,554,554,554,,554,554,554,554,,,,,554,554,,,,529,529,529,554,529',
'554,554,554,529,529,,,,529,,529,529,529,529,529,529,529,,,,,,529,529',
'529,529,529,529,529,,,529,,,,,,,529,,,529,529,529,529,529,529,529,529',
'529,529,529,529,,529,529,,529,529,529,,,,,,,,,,,,,,,,,,,,529,,,529,',
',529,529,,,529,,,,,,529,,,529,,,,,,529,,,,,529,529,529,529,,529,529',
'529,529,,,,,529,529,,,,526,526,526,529,526,529,529,529,526,526,,,,526',
',526,526,526,526,526,526,526,,,,,,526,526,526,526,526,526,526,,,526',
',,,,,,526,,,526,526,526,526,526,526,526,526,526,526,526,526,,526,526',
',526,526,526,,,,,,,,,,,,,,,,,,,,526,,,526,,,526,526,,,526,,526,,,,526',
',,526,,,,,,526,,,,,526,526,526,526,,526,526,526,526,,,,,526,526,,,,520',
'520,520,526,520,526,526,526,520,520,,,,520,,520,520,520,520,520,520',
'520,,,,,,520,520,520,520,520,520,520,,,520,,,,,,,520,,,520,520,520,520',
'520,520,520,520,,520,520,520,,520,520,,520,520,520,,,,,,,,,,,,,,,,,',
',,520,,,520,,,520,520,,,520,,,,,,520,,,,,,,,,520,,,,,520,520,520,520',
',520,520,520,520,,,,,520,520,,,,516,516,516,520,516,520,520,520,516',
'516,,,,516,,516,516,516,516,516,516,516,,,,,,516,516,516,516,516,516',
'516,,,516,,,,,,,516,,,516,516,516,516,516,516,516,516,,516,516,516,',
'516,516,,516,516,516,,,,,,,,,,,,,,,,,,,,516,,,516,,,516,516,,,516,,',
',,,516,,,,,,,,,516,,,,,516,516,516,516,,516,516,516,516,,,,,516,516',
',,,515,515,515,516,515,516,516,516,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,515,,515,515,515,,,,,,,,,,,,,',
',,,,,,515,,,515,,,515,515,,,515,,,,,,515,,,,,,,,,515,,,,,515,515,515',
'515,,515,515,515,515,,,,,515,515,,,,512,512,512,515,512,515,515,515',
'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,,,,506,506',
'506,512,506,512,512,512,506,506,,,,506,,506,506,506,506,506,506,506',
',,,,,506,506,506,506,506,506,506,,,506,,,,,,,506,,,506,506,506,506,506',
'506,506,506,506,506,506,506,,506,506,,506,506,506,,,,,,,,,,,,,,,,,,',
',506,,,506,,,506,506,,,506,,506,,506,,506,,,506,,,,,,506,,,,,506,506',
'506,506,,506,506,506,506,,,,,506,506,,,,315,315,315,506,315,506,506',
'506,315,315,,,,315,,315,315,315,315,315,315,315,,,,,,315,315,315,315',
'315,315,315,,,315,,,,,,,315,,,315,315,315,315,315,315,315,315,,315,315',
'315,,315,315,,,,315,,,,,,,,,,,,,,,,,,,,315,,,315,,,315,315,,,315,,,',
',,,,,,,,,,,,,,,,315,315,315,315,,315,315,315,315,,,,,315,315,,,,504',
'504,504,315,504,315,315,315,504,504,,,,504,,504,504,504,504,504,504',
'504,,,,,,504,504,504,504,504,504,504,,,504,,,,,,,504,,,504,504,504,504',
'504,504,504,504,,504,504,504,,504,504,,,,504,,,,,,,,,,,,,,,,,,,,504',
',,504,,,504,504,,,504,,989,,989,989,989,989,989,,,,,,,,,,989,,504,504',
'504,504,,504,504,504,504,,,,,504,504,,,,,,989,504,,504,504,504,496,496',
'496,496,496,989,989,,496,496,989,,,496,,496,496,496,496,496,496,496',
',,,,,496,496,496,496,496,496,496,,,496,,,,,,496,496,496,496,496,496',
'496,496,496,496,496,496,,496,496,496,,496,496,,496,496,496,,,,,,,,,',
',,,,,,,,,,496,,,496,,,496,496,,,496,,496,,,,496,,,,,,,,,496,,,,,496',
'496,496,496,,496,496,496,496,,,,,496,496,,,,,,496,496,,496,496,496,490',
'490,490,,490,,,,490,490,,,,490,,490,490,490,490,490,490,490,,,,,,490',
'490,490,490,490,490,490,,,490,,,,,,,490,,,490,490,490,490,490,490,490',
'490,,490,490,490,,490,490,,490,490,490,,,,,,,,,,,,,,,,,,,,490,,,490',
',,490,490,,,490,,,,,,490,,,,,,,,,490,,,,,490,490,490,490,,490,490,490',
'490,,,,,490,490,,,,323,323,323,490,323,490,490,490,323,323,,,,323,,323',
'323,323,323,323,323,323,,,,,,323,323,323,323,323,323,323,,,323,,,,,',
',323,,,323,323,323,323,323,323,323,323,,323,323,323,,323,323,,323,323',
'323,,,,,,,,,,,,,,,,,,,,323,,,323,323,,323,323,,,323,,,,,,323,,,,,,,',
',323,,,,,323,323,323,323,,323,323,323,323,,,,,323,323,,,,325,325,325',
'323,325,323,323,323,325,325,,,,325,,325,325,325,325,325,325,325,,,,',
',325,325,325,325,325,325,325,,,325,,,,,,,325,,,325,325,325,325,325,325',
'325,325,,325,325,325,,325,325,,325,325,325,,,,,,,,,,,,,,,,,,,,325,,',
'325,,,325,325,,,325,,,,,,325,,,,,,,,,325,,,,,325,325,325,325,,325,325',
'325,325,,,,,325,325,,,,488,488,488,325,488,325,325,325,488,488,,,,488',
',488,488,488,488,488,488,488,,,,,,488,488,488,488,488,488,488,,,488',
',,,,,,488,,,488,488,488,488,488,488,488,488,488,488,488,488,,488,488',
',488,488,488,,,,,,,,,,,,,,,,,,,,488,,,488,,,488,488,,,488,,,,488,,488',
',,488,,,,,,488,,,,,488,488,488,488,,488,488,488,488,,,,,488,488,,,,486',
'486,486,488,486,488,488,488,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,,,,472,472,472,486,472,486',
'486,486,472,472,,,,472,,472,472,472,472,472,472,472,,,,,,472,472,472',
'472,472,472,472,,,472,,,,,,,472,,,472,472,472,472,472,472,472,472,,472',
'472,472,,472,472,,472,472,472,,,,,,,,,,,,,,,,,,,,472,,,472,,,472,472',
',,472,,,,,,472,,,,,,,,,472,,,,,472,472,472,472,,472,472,472,472,,,,',
'472,472,,,,446,446,446,472,446,472,472,472,446,446,,,,446,,446,446,446',
'446,446,446,446,,,,,,446,446,446,446,446,446,446,,,446,,,,,,,446,,,446',
'446,446,446,446,446,446,446,,446,446,446,,446,446,,446,446,446,,,,,',
',,,,,,,,,,,,,,446,,,446,,,446,446,,,446,,,,,,446,,,,,,,,,446,,,,,446',
'446,446,446,,446,446,446,446,,,,,446,446,,,,445,445,445,446,445,446',
'446,446,445,445,,,,445,,445,445,445,445,445,445,445,,,,,,445,445,445',
'445,445,445,445,,,445,,,,,,,445,,,445,445,445,445,445,445,445,445,,445',
'445,445,,445,445,,445,445,445,,,,,,,,,,,,,,,,,,,,445,,,445,,,445,445',
',,445,,,,,,445,,,,,,,,,445,,,,,445,445,445,445,,445,445,445,445,,,,',
'445,445,,,,444,444,444,445,444,445,445,445,444,444,,,,444,,444,444,444',
'444,444,444,444,,,,,,444,444,444,444,444,444,444,,,444,,,,,,,444,,,444',
'444,444,444,444,444,444,444,,444,444,444,,444,444,,444,444,444,,,,,',
',,,,,,,,,,,,,,444,,,444,,,444,444,,,444,,,,,,444,,,,,,,,,444,,,,,444',
'444,444,444,,444,444,444,444,,,,,444,444,,,,442,442,442,444,442,444',
'444,444,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',
'442,442,,,,,442,442,,,,404,404,404,442,404,442,442,442,404,404,,,,404',
',404,404,404,404,404,404,404,,,,,,404,404,404,404,404,404,404,,,404',
',,,,,,404,,,404,404,404,404,404,404,404,404,,404,404,404,,404,404,,404',
'404,404,,,,,,,,,,,,,,,,,,,,404,,,404,,,404,404,,,404,,,,,,404,,,,,,',
',,404,,,,,404,404,404,404,,404,404,404,404,,,,,404,404,,,,340,340,340',
'404,340,404,404,404,340,340,,,,340,,340,340,340,340,340,340,340,,,,',
',340,340,340,340,340,340,340,,,340,,,,,,,340,,,340,340,340,340,340,340',
'340,340,,340,340,340,,340,340,,340,340,340,,,,,,,,,,,,,,,,,,,,340,,',
'340,,,340,340,,,340,,,,,,340,,,,,,,,,340,,,,,340,340,340,340,,340,340',
'340,340,,,,,340,340,,,,376,376,376,340,376,340,340,340,376,376,,,,376',
',376,376,376,376,376,376,376,,,,,,376,376,376,376,376,376,376,,,376',
',,,,,,376,,,376,376,376,376,376,376,376,376,,376,376,376,,376,376,,376',
'376,376,,,,,,,,,,,,,,,,,,,,376,,,376,,,376,376,,,376,,,,,,376,,,,,,',
',,376,,,,,376,376,376,376,,376,376,376,376,,,,,376,376,,,,341,341,341',
'376,341,376,376,376,341,341,,,,341,,341,341,341,341,341,341,341,,,,',
',341,341,341,341,341,341,341,,,341,,,,,,,341,,,341,341,341,341,341,341',
'341,341,,341,341,341,,341,341,,341,341,341,,,,,,,,,,,,,,,,,,,,341,,',
'341,,,341,341,,,341,,,,,,341,,,,,,,,,341,,,,,341,341,341,341,,341,341',
'341,341,,,,,341,341,,,,360,360,360,341,360,341,341,341,360,360,,,,360',
',360,360,360,360,360,360,360,,,,,,360,360,360,360,360,360,360,,,360',
',,,,,,360,,,360,360,360,360,360,360,360,360,,360,360,360,,360,360,,360',
'360,360,,,,,,,,,,,,,,,,,,,,360,,,360,,,360,360,,,360,,,,,,360,,,,,,',
',,360,,,,,360,360,360,360,,360,360,360,360,,,,,360,360,,,,,,,360,,360',
'360,360,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,5,5,5,,,,,5,5,,,,923',
'923,923,5,923,5,5,5,923,923,,,,923,,923,923,923,923,923,923,923,,,,',
',923,923,923,923,923,923,923,,,923,,,,,,,923,,,923,923,923,923,923,923',
'923,923,,923,923,923,,923,923,,923,923,923,,,,,,,,,,,,,,,,,,,,923,,',
'923,,,923,923,,,923,,,,,,923,,,,,,,,,923,,,,,923,923,923,923,,923,923',
'923,923,,,,,923,923,,,,886,886,886,923,886,923,923,923,886,886,,,,886',
',886,886,886,886,886,886,886,,,,,,886,886,886,886,886,886,886,,,886',
',,,,,,886,,,886,886,886,886,886,886,886,886,,886,886,886,,886,886,,',
',886,,,,,,,,,,,,,,,,,,,,886,,,886,,,886,886,,,886,,,,,,,,,,,,,,,,,,',
',886,886,886,886,,886,886,886,886,,,,,886,886,,,,874,874,874,886,874',
'886,886,886,874,874,,,,874,,874,874,874,874,874,874,874,,,,,,874,874',
'874,874,874,874,874,,,874,,,,,,,874,,,874,874,874,874,874,874,874,874',
',874,874,874,,874,874,,,,874,,,,,,,,,,,,,,,,,,,,874,,,874,,,874,874',
',,874,,,,,,,,,,,,,,,,,,,,874,874,874,874,,874,874,874,874,,,,,874,874',
',,,860,860,860,874,860,874,874,874,860,860,,,,860,,860,860,860,860,860',
'860,860,,,,,,860,860,860,860,860,860,860,,,860,,,,,,,860,,,860,860,860',
'860,860,860,860,860,,860,860,860,,860,860,,860,860,860,,,,,,,,,,,,,',
',,,,,,860,,,860,,,860,860,,,860,,,,,,860,,,,,,,,,860,,,,,860,860,860',
'860,,860,860,860,860,,,,,860,860,,,,859,859,859,860,859,860,860,860',
'859,859,,,,859,,859,859,859,859,859,859,859,,,,,,859,859,859,859,859',
'859,859,,,859,,,,,,,859,,,859,859,859,859,859,859,859,859,859,859,859',
'859,,859,859,,859,859,859,,,,,,,,,,,,,,,,,,,,859,,,859,,,859,859,,,859',
',,,859,,859,,,859,,,,,,859,,,,,859,859,859,859,,859,859,859,859,,,,',
'859,859,,,,842,842,842,859,842,859,859,859,842,842,,,,842,,842,842,842',
'842,842,842,842,,,,,,842,842,842,842,842,842,842,,,842,,,,,,,842,,,842',
'842,842,842,842,842,842,842,,842,842,842,,842,842,,842,842,842,,,,,',
',,,,,,,,,,,,,,842,,,842,,,842,842,,,842,,842,,,,842,,,,,,,,,842,,,,',
'842,842,842,842,,842,842,842,842,,,,,842,842,,,,20,20,20,842,20,842',
'842,842,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,20,837,20,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,,,,29,29',
'29,837,29,837,837,837,29,29,,,,29,,29,29,29,29,29,29,29,,,,,,29,29,29',
'29,29,29,29,,,29,,,,,,,29,,,29,29,29,29,29,29,29,29,29,29,29,29,,29',
'29,,29,29,29,,,,,,,,,,,,,,,,,,,,29,,,29,,,29,29,,,29,,29,,29,,29,,,29',
',,,,,29,,,,,29,29,29,29,,29,29,29,29,,,,,29,29,,,,30,30,30,29,30,29',
'29,29,30,30,,,,30,,30,30,30,30,30,30,30,,,,,,30,30,30,30,30,30,30,,',
'30,,,,,,,30,,,30,30,30,30,30,30,30,30,30,30,30,30,,30,30,,30,30,30,',
',,,,,,,,,,,,,,,,,,30,,,30,,,30,30,,,30,,30,,30,,30,,,30,,,,,,30,,,,',
'30,30,30,30,,30,30,30,30,,,,,30,30,,,,31,31,31,30,31,30,30,30,31,31',
',,,31,,31,31,31,31,31,31,31,,,,,,31,31,31,31,31,31,31,,,31,,,,,,,31',
',,31,31,31,31,31,31,31,31,31,31,31,31,,31,31,,31,31,31,,,,,,,,,,,,,',
',,,,,,31,,,31,,,31,31,,,31,,31,,31,,31,,,31,,,,,,31,,,,,31,31,31,31',
',31,31,31,31,,,,,31,31,,,,34,34,34,31,34,31,31,31,34,34,,,,34,,34,34',
'34,34,34,34,34,,,,,,34,34,34,34,34,34,34,,,34,,,,,,,34,,,34,34,34,34',
'34,34,34,34,,34,34,34,,34,34,,,,34,,,,,,,,,,,,,,,,,,,,34,,,34,,,34,34',
',,34,,34,,,,,,,,,,,,,,,,,,34,34,34,34,,34,34,34,34,,,,,34,34,,,,35,35',
'35,34,35,34,34,34,35,35,,,,35,,35,35,35,35,35,35,35,,,,,,35,35,35,35',
'35,35,35,,,35,,,,,,,35,,,35,35,35,35,35,35,35,35,,35,35,35,,35,35,,',
',35,,,,,,,,,,,,,,,,,,,,35,,,35,,,35,35,,,35,,1015,,1015,1015,1015,1015',
'1015,,,,,,,,,,1015,,35,35,35,35,,35,35,35,35,,,,,35,35,,,,35,,1015,35',
',35,35,35,787,787,787,,787,1015,1015,,787,787,1015,,,787,,787,787,787',
'787,787,787,787,,,,,,787,787,787,787,787,787,787,,,787,,,,,,,787,,,787',
'787,787,787,787,787,787,787,,787,787,787,,787,787,,,,787,,,,,,,,,,,',
',,,,,,,,787,,,787,,,787,787,,,787,,,,,,,,,,,,,,,,,,,,787,787,787,787',
',787,787,787,787,,,,,787,787,,,,773,773,773,787,773,787,787,787,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',
',,,772,772,772,773,772,773,773,773,772,772,,,,772,,772,772,772,772,772',
'772,772,,,,,,772,772,772,772,772,772,772,,,772,,,,,,,772,,,772,772,772',
'772,772,772,772,772,,772,772,772,,772,772,,772,772,772,,,,,,,,,,,,,',
',,,,,,772,,,772,,,772,772,,,772,,,,,,772,,,,,,,,,772,,,,,772,772,772',
'772,,772,772,772,772,,,,,772,772,,,,771,771,771,772,771,772,772,772',
'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',
',,,42,42,42,771,42,771,771,771,42,42,,,,42,,42,42,42,42,42,42,42,,,',
',,42,42,42,42,42,42,42,,,42,,,,,,,42,,,42,42,42,42,42,42,42,42,,42,42',
'42,,42,42,,42,42,42,,,,,,,,,,,,,,,,,,,,42,,,42,,,42,42,,,42,,,,,,42',
',,,,,,,,42,,,,,42,42,42,42,,42,42,42,42,,,,,42,42,,,,43,43,43,42,43',
'42,42,42,43,43,,,,43,,43,43,43,43,43,43,43,,,,,,43,43,43,43,43,43,43',
',,43,,,,,,,43,,,43,43,43,43,43,43,43,43,,43,43,43,,43,43,,43,43,43,',
',,,,,,,,,,,,,,,,,,43,,,43,,,43,43,,,43,,,,,,43,,,,,,,,,43,,,,,43,43',
'43,43,,43,43,43,43,,,,,43,43,,,,44,44,44,43,44,43,43,43,44,44,,,,44',
',44,44,44,44,44,44,44,,,,,,44,44,44,44,44,44,44,,,44,,,,,,,44,,,44,44',
'44,44,44,44,44,44,,44,44,44,,44,44,,44,44,44,,,,,,,,,,,,,,,,,,,,44,',
',44,,,44,44,,,44,,,,,,44,,,,,,,,,44,,,,,44,44,44,44,,44,44,44,44,,,',
',44,44,,,,770,770,770,44,770,44,44,44,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,,,,756,756,756,770,756,770,770',
'770,756,756,,,,756,,756,756,756,756,756,756,756,,,,,,756,756,756,756',
'756,756,756,,,756,,,,,,,756,,,756,756,756,756,756,756,756,756,,756,756',
'756,,756,756,,756,756,756,,,,,,,,,,,,,,,,,,,,756,,,756,,,756,756,,,756',
',,,,,756,,,,,,,,,756,,,,,756,756,756,756,,756,756,756,756,,,,,756,756',
',,,985,985,985,756,985,756,756,756,985,985,,,,985,,985,985,985,985,985',
'985,985,,,,,,985,985,985,985,985,985,985,,,985,,,,,,,985,,,985,985,985',
'985,985,985,985,985,985,985,985,985,,985,985,,985,985,985,,,,,,,,,,',
',,,,,,,,,985,,,985,,,985,985,,,985,,985,,985,,985,,,985,,,,,,985,,,',
',985,985,985,985,,985,985,985,985,,,,,985,985,,,,754,754,754,985,754',
'985,985,985,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,,,,59,59,59,754,59,754,754,754,59,59,,,,59,,59,59,59,59',
'59,59,59,,,,,,59,59,59,59,59,59,59,,,59,,,,,,,59,,,59,59,59,59,59,59',
'59,59,59,59,59,59,,59,59,,59,59,59,,,,,,,,,,,,,,,,,,,,59,,,59,,,59,59',
',,59,,59,,,,59,,,59,,,,,,59,,,,,59,59,59,59,,59,59,59,59,,,,,59,59,',
',,60,60,60,59,60,59,59,59,60,60,,,,60,,60,60,60,60,60,60,60,,,,,,60',
'60,60,60,60,60,60,,,60,,,,,,,60,,,60,60,60,60,60,60,60,60,60,60,60,60',
',60,60,,60,60,60,,,,,,,,,,,,,,,,,,,,60,,,60,,,60,60,,,60,,,,,,60,,,60',
',,,,,60,,,,,60,60,60,60,,60,60,60,60,,,,,60,60,,,,63,63,63,60,63,60',
'60,60,63,63,,,,63,,63,63,63,63,63,63,63,,,,,,63,63,63,63,63,63,63,,',
'63,,,,,,,63,,,63,63,63,63,63,63,63,63,,63,63,63,,63,63,,63,63,63,,,',
',,,,,,,,,,,,,,,,63,,,63,,,63,63,,,63,,,,,,63,,,,,,,,,63,,,,,63,63,63',
'63,,63,63,63,63,,,,,63,63,,,,64,64,64,63,64,63,63,63,64,64,,,,64,,64',
'64,64,64,64,64,64,,,,,,64,64,64,64,64,64,64,,,64,,,,,,,64,,,64,64,64',
'64,64,64,64,64,,64,64,64,,64,64,,64,64,64,,,,,,,,,,,,,,,,,,,,64,,,64',
',,64,64,,,64,,,,,,64,,,,,,,,,64,,,,,64,64,64,64,,64,64,64,64,,,,,64',
'64,,,,67,67,67,64,67,64,64,64,67,67,,,,67,,67,67,67,67,67,67,67,,,,',
',67,67,67,67,67,67,67,,,67,,,,,,,67,,,67,67,67,67,67,67,67,67,,67,67',
'67,,67,67,,67,67,67,,,,,,,,,,,,,,,,,,,,67,,,67,,,67,67,,,67,,,,,,67',
',,,,,,,,67,,,,,67,67,67,67,,67,67,67,67,,,,,67,67,67,,,,,67,67,,67,67',
'67,68,68,68,,68,,,,68,68,,,,68,,68,68,68,68,68,68,68,,,,,,68,68,68,68',
'68,68,68,,,68,,,,,,,68,,,68,68,68,68,68,68,68,68,,68,68,68,,68,68,,',
',68,,,,,,,,,,,,,,,,,,,,68,,,68,,,68,68,,,68,,68,,,,,,,,,,,,,,,,,,68',
'68,68,68,,68,68,68,68,,,,,68,68,,,,69,69,69,68,69,68,68,68,69,69,,,',
'69,,69,69,69,69,69,69,69,,,,,,69,69,69,69,69,69,69,,,69,,,,,,,69,,,69',
'69,69,69,69,69,69,69,,69,69,69,,69,69,,,,69,,,,,,,,,,,,,,,,,69,,,69',
',,69,,,69,69,,,69,,,,,,,,,,,,,,,,,,,,69,69,69,69,,69,69,69,69,,,,,69',
'69,,,,70,70,70,69,70,69,69,69,70,70,,,,70,,70,70,70,70,70,70,70,,,,',
',70,70,70,70,70,70,70,,,70,,,,,,,70,,,70,70,70,70,70,70,70,70,,70,70',
'70,,70,70,,,,70,,,,,,,,,,,,,,,,,,,,70,,,70,,,70,70,,,70,,,,,,,,,,,,',
',,,,,,,70,70,70,70,,70,70,70,70,,,,,70,70,,,,731,731,731,70,731,70,70',
'70,731,731,,,,731,,731,731,731,731,731,731,731,,,,,,731,731,731,731',
'731,731,731,,,731,,,,,,,731,,,731,731,731,731,731,731,731,731,,731,731',
'731,,731,731,,731,731,731,,,,,,,,,,,,,,,,,,,,731,,,731,,,731,731,,,731',
',,,,,731,,,,,,,,,731,,,,,731,731,731,731,,731,731,731,731,,,,,731,731',
',,,,,,731,,731,731,731,111,111,111,111,111,,,,111,111,,,,111,,111,111',
'111,111,111,111,111,,,,,,111,111,111,111,111,111,111,,,111,,,,,,111',
'111,111,111,111,111,111,111,111,111,111,111,,111,111,111,,111,111,,111',
'111,111,,,,,,,,,,,,,,,,,,,,111,,,111,,,111,111,,,111,,111,,,,111,,,',
',,,,,111,,,,,111,111,111,111,,111,111,111,111,,,,,111,111,,,,,424,111',
'111,,111,111,111,424,424,424,,,424,424,424,,424,,,,,,,,,424,424,424',
'424,,,,,,,,424,424,,424,424,424,424,424,,,,,,,,,,,,,,,,,,,,,,,,424,424',
'424,424,424,424,424,424,424,424,424,424,424,424,,,424,424,424,,,424',
',,424,,,424,424,,424,,424,,424,,424,424,,424,424,424,424,424,,424,424',
'424,,,,,,,,,,,,,,424,,,424,424,424,424,56,424,,424,,,,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,425,56,,56,,,,425,425,425,,,425,425,425,,425,,,,,',
',,,425,425,425,425,,,,,,,,425,425,,425,425,425,425,425,,,,,,,,,,,,,',
',,,,,,,,,,425,425,425,425,425,425,425,425,425,425,425,425,425,425,,',
'425,425,425,,,425,,,425,,,425,425,,425,,425,,425,,425,425,,425,425,425',
'425,425,,425,425,425,,,,,,,,,,,,,,425,,,425,425,425,425,27,425,,425',
',,,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,,474,27,27,,27,,27,474,474,474,,,474,474,474',
'646,474,646,646,646,646,646,,,,474,474,,,,,646,,,,,474,474,,474,474',
'474,474,474,,,,,,,,,,646,,,,,,,,,646,646,646,646,,,,646,,,,,,,,,474',
',28,,,,,474,,28,28,28,474,474,28,28,28,646,28,,,,,,,,,,28,28,,,,,,474',
'474,,28,28,,28,28,28,28,28,,,,,474,,,474,,,,,474,,,,,,,,,,,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,415,28,,,,,,415,415,415,,,415,415',
'415,28,415,,28,28,,28,,28,,415,415,415,,,,,,,,,415,415,,415,415,415',
'415,415,,,,,,,,,,,,,,,,,,,,,,,,415,415,415,415,415,415,415,415,415,415',
'415,415,415,415,,,415,415,415,,,415,,415,415,,,415,415,,415,,415,,415',
',415,415,,415,415,415,415,415,,415,415,415,,,,,,,,,,,,,,415,,,415,415',
',415,,415,616,616,616,616,616,616,616,616,616,616,616,616,616,616,616',
'616,616,616,616,616,616,616,616,616,,,,616,616,616,616,616,616,616,616',
'616,616,,,,,,616,616,616,616,616,616,616,616,616,,,616,,,,,,,,,616,616',
',616,616,616,616,616,616,616,,,616,616,,,,616,616,616,616,,,,,,,,,,',
',,,616,616,,616,616,616,616,616,616,616,616,616,616,616,616,,,616,616',
',,,,,,,,,,,,,616,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,395,395,395,395,395,395,395,395,395,395,395,395,395',
'395,395,395,395,395,395,395,395,395,395,395,,,,395,395,395,395,395,395',
'395,395,395,395,,,,,,395,395,395,395,395,395,395,395,395,,,395,,,,,',
',,,395,395,,395,395,395,395,395,395,395,,,395,395,,,,395,395,395,395',
',,,,,,,,,,,,,395,395,,395,395,395,395,395,395,395,395,395,395,395,395',
',,395,395,,,,,,,,,,,,,,395,738,738,738,738,738,738,738,738,738,738,738',
'738,738,738,738,738,738,738,738,738,738,738,738,738,,,,738,738,738,738',
'738,738,738,738,738,738,,,,,,738,738,738,738,738,738,738,738,738,,,738',
',,,,,,,,738,738,,738,738,738,738,738,738,738,,,738,738,,,,738,738,738',
'738,,,,,,,,,,,,,,738,738,,738,738,738,738,738,738,738,738,738,738,738',
'738,,,738,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,508',
'508,71,,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,987,987,508,,987,,,,,,,,,987,987,,987,987,987,987',
'987,987,987,,,987,987,,,,987,987,987,987,,,,,,987,,,,,,,,987,987,,987',
'987,987,987,987,987,987,987,987,987,987,987,441,441,987,,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,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,507,507,440,,507,,,,,,,,,507,507,,507',
'507,507,507,507,507,507,,,507,507,,,,507,507,507,507,,,,,,507,,,,,,',
',507,507,,507,507,507,507,507,507,507,507,507,507,507,507,576,576,507',
',576,,,,,,,,,576,576,,576,576,576,576,576,576,576,,,576,576,,,,576,576',
'576,576,,,,,,576,,,,,,,,576,576,,576,576,576,576,576,576,576,576,576',
'576,576,576,577,577,576,,577,,,,,,,,,577,577,,577,577,577,577,577,577',
'577,,,577,577,,,,577,577,577,577,,,,,,577,,,,,,,,577,577,,577,577,577',
'577,577,577,577,577,577,577,577,577,939,939,577,,939,,,,,,,,,939,939',
',939,939,939,939,939,939,939,,,939,939,,,,939,939,939,939,,,,,,939,',
',,,,,,939,939,,939,939,939,939,939,939,939,939,939,939,939,939,583,583',
'939,,583,,,,,,,,,583,583,,583,583,583,583,583,583,583,,,583,583,,,,583',
'583,583,583,,,,,,583,,,,,,,,583,583,,583,583,583,583,583,583,583,583',
'583,583,583,583,517,517,583,,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,584,584,517,,584,,,,,,,,,584',
'584,,584,584,584,584,584,584,584,,,584,584,,,,584,584,584,584,,,,,,584',
',,,,,,,584,584,,584,584,584,584,584,584,584,584,584,584,584,584,518',
'518,584,,518,,,,,,,,,518,518,,518,518,518,518,518,518,518,,,518,518',
',,,518,518,518,518,,,,,,518,,,,,,,,518,518,,518,518,518,518,518,518',
'518,518,518,518,518,518,259,259,518,,259,,,,,,,,,259,259,,259,259,259',
'259,259,259,259,,,259,259,,,,259,259,259,259,,,,,,,,,,,,,,259,259,,259',
'259,259,259,259,259,259,259,259,259,259,259,210,210,259,,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,986,986,210,,986,,,,,,,,,986,986,,986,986,986,986,986,986,986,,',
'986,986,,,,986,986,986,986,,,,,,986,,,,,,,,986,986,,986,986,986,986',
'986,986,986,986,986,986,986,986,211,211,986,,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,,893,211,893',
'893,893,893,893,,977,,977,977,977,977,977,,893,336,,336,336,336,336',
'336,977,534,,534,534,534,534,534,,336,,,,,893,,,534,,,,,977,893,893',
'893,893,,,,893,336,336,977,977,,,,977,534,336,336,336,336,,,,336,534',
'534,534,534,,,975,534,975,975,975,975,975,973,,973,973,973,973,973,',
'971,975,971,971,971,971,971,,973,,,,,,,737,971,737,737,737,737,737,',
'975,,,,,,,973,737,,,975,975,,,971,975,,973,973,,,,973,971,971,971,971',
',,737,971,736,,736,736,736,736,736,737,737,737,737,,,,737,693,736,693',
'693,693,693,693,,865,,865,865,865,865,865,,693,,,,,,,736,865,867,,867',
'867,867,867,867,736,736,736,736,,,693,736,,867,,,,,865,693,693,693,693',
',,,693,865,865,865,865,,,,865,867,869,,869,869,869,869,869,,867,867',
'867,867,,,,867,869,695,,695,695,695,695,695,697,,697,697,697,697,697',
',,695,,,,,869,,697,899,,899,899,899,899,899,,869,869,,,,869,695,,899',
',,,,697,,695,695,695,695,,,,695,,697,697,,,,697,899,895,,895,895,895',
'895,895,,,,899,899,,,,899,895,,,,,,,,,,,,,,,,,,,,,,895,,,,,,,,,,,895',
'895,,,,895' ]
        racc_action_check = arr = ::Array.new(25310, 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 = [
  3995,   568,   nil,   -83,   nil, 17702,  1301,   370, 23341, 23470,
  1210,   nil,  1170,  1222,   425,   419,  1157,   605,   nil,   -75,
 18626,  2726,  1263,   nil,   476,   nil,   162, 22754, 22964, 18890,
 19022, 19154,   nil,  1739, 19286, 19418,   nil,  1069,   -77,   140,
  1112,   197, 20086, 20218, 20350,  1034,   965,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil, 22484,   nil,   -70, 21010,
 21142,    71,   nil, 21274, 21406,   nil,   nil, 21538, 21678, 21810,
 21942, 23842,   nil,   nil,   nil,   nil,   nil,   143,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   359,   nil,   nil,   472,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,  1121,
   nil, 22214,   nil,   nil,   nil,   nil,  5114,  5246,  5378,  5510,
  5650,  2021,   nil,   585,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   928,   nil,  2585,  6046,  6178,  6310,
 24710, 24834,  6706,  6838,  6970,  7102,  7234,  7366,   nil,   nil,
  1175,   110,   358,   953,   205,   863,   897,   nil,  7894,  1598,
   890,  8026,  8158,  8290,  8422,  8554,  8686,  8818,  8950,  9082,
  9214,  9346,  9478,  9610,  9742,  9874, 10006, 10138, 10270, 10402,
 10534, 10666, 10798, 10930, 11062, 11194,   nil,   nil,   nil, 24648,
   nil,   nil,   878, 11590, 11722,   nil,   nil,   nil,   nil,   nil,
   nil,   nil, 11854,   nil,  1598,   nil,   815,   800,   nil, 12382,
   845, 12646,   nil,   nil, 12778, 12910,   nil,   nil,   285,   nil,
 13182,  1442,   817,   786,  4277,   770,   809,   756, 13974,  4841,
   896,   794,   935,   812,  1037,   nil,   752,   681,    10,   nil,
   nil,   nil,   690,   252,   632, 15302,   nil,   490,   671,   752,
   nil,   664,   nil, 15846,  2726, 15978,   578,   nil,   373,   247,
   811,   803,   170,   905,   nil,   nil, 24914,   688,    32,   -11,
 17166, 17430,   -72,   185,   392,     7,    38,   580,  1104,     5,
  1124,   nil,   nil,   217,   507,   134,   nil,   617,   nil,    16,
 17562,   nil,   nil,   nil,   108,   576,   185,   312,   397,   513,
   554,   -20,   562,   nil,   251,   nil, 17298,   nil,   410,   404,
   395,   463,   283,   -22,    30,   351,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,  1025, 23599,   nil,   nil,   nil,   nil,
  1020,   nil,   nil,   995, 17034,   963,   nil,   nil,  1034,   963,
   nil,   956,   942,   318,   143, 23077,   nil,   nil,   nil,   248,
   137,   970,   nil,   nil, 22349, 22619,   nil,  1316,   nil,   885,
   nil,   nil,   752,   nil,   nil,   nil,   nil,   -14,   nil,   936,
 24090, 24028, 16902,   150, 16770, 16638, 16506,  3713,  4136,   527,
   321,   724,   711,   666,   605,  5246,  5378,  5510,  3995,  4277,
  3290,  3431,  3854,  4418,  4700,  4841,  4559,  5114,  3149,  3155,
  3572,  4982, 16374,   115, 22884,   nil,   nil,   nil,   nil,   544,
   nil,    86,   144,   568,   nil,   nil, 16242,   nil, 16110,   nil,
 15714,   nil,   219,   nil,   nil,   nil, 15574,  1457,  2162,   615,
   616,   nil,   nil,   625, 15434,   634, 15170, 24152, 23904,   329,
   686,   nil, 15038,   645,   nil, 14906, 14774, 24462, 24586,  1457,
 14642,   808,   825,   712,   748,   nil, 14510,   nil,   nil, 14378,
   nil,   nil,   nil,   nil, 24922,   nil,   709,   713,   nil,   718,
   723,   731,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   723,   616,   nil,   nil, 14246,   nil,   nil,   nil,   826,   nil,
   nil,   nil,   827,   nil,   nil,   829,   893,   871,   nil,   752,
    67,    63,   869,   878, 14114, 13842, 24214, 24276,    58,   nil,
   nil,  1106,   nil, 24400, 24524, 13710,   nil,   nil,   nil,   281,
   -18,  4136,   815,   nil,   -12,   nil,   nil,   nil,   735,   nil,
   nil,   nil,   787,   nil,   nil,   391,   nil,   239,   nil,   nil,
   784,   nil,   785,   nil,   nil,   nil, 23212,   nil,   787, 13578,
 13446,   485,   837, 13314, 13042, 12514, 12250,   838,   nil,   nil,
 12118, 11986,   859,   nil, 11458, 11326,   nil,   nil,   316,   276,
   609,     0,   857,   893,  1739,   nil, 22848,   nil,  1316,   980,
    27,   157,   nil,  1175,  1034,   nil,   884,   nil,   931,  7762,
   nil,   nil,  7630,   nil,   907,   -80,  7498,   890,   nil,   895,
    92,    57,   941,   480,  1034,   952,   912,  6574,  1880,   980,
   145,  1034,  6442,   nil,   927,   nil,   465,    27,   930,   634,
   nil,   nil,   348, 25060,   nil, 25141,   nil, 25148,   nil,  5914,
   nil,   609,   nil,   936,   243,   940,   nil,   nil,   nil,   nil,
   599,   nil,  1059,   nil,   nil,   nil,   nil,  1065,   nil,    33,
   944,    25,    22,    68,     8,  5782,   328,   517,   nil,   985,
  4418, 22074,   nil,   nil,  1116,  3713, 25045, 25005, 23728,   nil,
   nil,   nil,   nil,   nil,   nil,  2444,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,  1013, 20878,  2021, 20614,   nil,  1015,   nil,
  1175,   nil,  2162,   nil,   nil,  2303,   nil,  2444,   nil,  2585,
 20482, 19954, 19822, 19690,   -83,  1035,  1035,  1038,   nil,  1048,
  1049,  1053,   nil,  1078,  1058,  1063,  1058, 19558,   nil,   nil,
  1193,   nil,   nil,  2867,  1097,  1208,   nil,   nil,   nil,   nil,
  1097,   256,   nil,   nil,  1227,   nil,  4559,   534,  1150,   nil,
   nil,  1165,   nil,   nil,  3854,  3572,  1166,  1128,   nil,   nil,
   nil,  1129,  1131,   nil,  1132,  1136,   nil,  1138,   nil,   nil,
  1144,  3135,  1146,   675,   nil,  1279,   nil, 18758,  1280,  3290,
  3149,   nil, 18494,  1880,   -19,    24,   nil,  1286,   358,  1457,
   nil,  1292,  1171,    98,   nil,  1175,  1172,   nil,  2867, 18362,
 18230,   nil,  3118,   nil,   nil, 25068,   nil, 25085,   nil, 25124,
   nil,   nil,  1198,  1161, 18098,  1076,  1255,   nil,  1197,   nil,
   nil,   nil,  3008,   nil,   nil,    35, 17966,   nil,   nil,  1210,
    -3,   nil,   nil, 24897,   nil, 25204,   nil, 14021,   nil, 25165,
   nil,   nil,   nil,   nil,   255,  3174,  -114,   nil,    -1,   nil,
    77,    93,   nil,   289,   nil,   nil,   nil,   102,   nil,   nil,
   nil,   105,   nil, 17834,    84,   nil,   nil,    99,   105,   132,
   144,   nil,   206,   nil,   393,   nil,   nil,   nil,   440, 24338,
   nil,   nil,   nil,  4700,   642,   666,   683,   315,   755,   nil,
   nil,   nil,   260,   270,   281,   306,   323,  3276,   340,  3309,
  3431,   nil,   nil,   nil,   nil,   nil,  2303,   nil,  4982,  3008,
   nil, 24990,   nil, 24982,   nil, 24975,   nil, 24905,   nil,   nil,
   nil,  1302,   443,   448,   557, 20746, 24772, 23966,   824, 15481,
   nil,   nil,   nil,   nil,   602,   449,    20,   578,   605,   493,
   495,   674,   819,   nil,   nil,   867,    -9,   -10,    39,   893,
  1026,  1028,   nil,   nil,   nil, 19465,   nil,   nil,   nil,   nil,
    18,   nil,   907,   nil ]

racc_action_default = [
    -3,  -597,    -1,  -583,    -4,  -597,    -7,  -597,  -597,  -597,
  -597,   -29,  -597,  -597,  -597,  -281,  -597,   -40,   -43,  -585,
  -597,   -48,   -50,   -51,   -52,   -56,  -258,  -258,  -258,  -295,
  -330,  -331,   -68,   -11,   -72,   -80,   -82,  -597,  -488,  -489,
  -597,  -597,  -597,  -597,  -597,  -585,  -239,  -272,  -273,  -274,
  -275,  -276,  -277,  -278,  -279,  -280,  -573,  -283,  -285,  -596,
  -563,  -303,  -391,  -597,  -597,  -308,  -311,  -583,  -597,  -597,
  -597,  -597,  -332,  -333,  -429,  -430,  -431,  -432,  -433,  -454,
  -436,  -437,  -456,  -458,  -441,  -446,  -450,  -452,  -468,  -456,
  -470,  -472,  -473,  -474,  -475,  -571,  -477,  -478,  -572,  -480,
  -481,  -482,  -483,  -484,  -485,  -486,  -487,  -492,  -493,  -597,
    -2,  -584,  -592,  -593,  -594,    -6,  -597,  -597,  -597,  -597,
  -597,    -3,   -17,  -597,  -111,  -112,  -113,  -114,  -115,  -116,
  -117,  -118,  -119,  -123,  -124,  -125,  -126,  -127,  -128,  -129,
  -130,  -131,  -132,  -133,  -134,  -135,  -136,  -137,  -138,  -139,
  -140,  -141,  -142,  -143,  -144,  -145,  -146,  -147,  -148,  -149,
  -150,  -151,  -152,  -153,  -154,  -155,  -156,  -157,  -158,  -159,
  -160,  -161,  -162,  -163,  -164,  -165,  -166,  -167,  -168,  -169,
  -170,  -171,  -172,  -173,  -174,  -175,  -176,  -177,  -178,  -179,
  -180,  -181,  -182,  -183,  -184,  -185,  -186,  -187,  -188,  -189,
  -190,  -191,  -192,  -193,   -22,  -120,   -11,  -597,  -597,  -248,
  -597,  -597,  -597,  -597,  -597,  -597,  -597,  -585,  -586,   -47,
  -597,  -488,  -489,  -597,  -281,  -597,  -597,  -229,  -597,   -11,
  -597,  -597,  -597,  -597,  -597,  -597,  -597,  -597,  -597,  -597,
  -597,  -597,  -597,  -597,  -597,  -597,  -597,  -597,  -597,  -597,
  -597,  -597,  -597,  -597,  -597,  -597,  -236,  -398,  -400,  -597,
  -581,  -582,   -57,  -248,  -597,  -302,  -404,  -413,  -415,   -63,
  -410,   -64,  -585,   -65,  -240,  -253,  -262,  -262,  -257,  -597,
  -263,  -597,  -454,  -565,  -597,  -597,   -66,   -67,  -583,   -12,
  -597,   -15,  -597,   -70,   -11,  -585,  -597,   -73,   -76,   -11,
   -88,   -89,  -597,  -597,   -96,  -295,  -298,  -585,  -597,  -330,
  -331,  -334,  -411,  -597,   -78,  -597,   -84,  -292,  -471,  -597,
  -214,  -215,  -230,  -597,   -11,  -597,  -585,  -241,  -589,  -589,
  -597,  -597,  -589,  -597,  -304,  -305,  -521,   -49,  -597,  -597,
  -597,  -597,  -583,  -597,  -584,  -488,  -489,  -597,  -597,  -281,
  -597,  -344,  -345,  -106,  -107,  -597,  -109,  -597,  -281,  -597,
  -597,  -488,  -489,  -323,  -111,  -112,  -153,  -154,  -155,  -171,
  -176,  -183,  -186,  -325,  -597,  -561,  -597,  -434,  -597,  -597,
  -597,  -597,  -597,  -597,  -597,  -597,  1024,    -5,  -595,   -23,
   -24,   -25,   -26,   -27,  -597,  -597,   -19,   -20,   -21,  -121,
  -597,   -30,   -39,  -268,  -597,  -597,  -267,   -31,  -196,  -585,
  -249,  -262,  -262,  -574,  -575,  -258,  -408,  -576,  -577,  -575,
  -574,  -258,  -407,  -409,  -576,  -577,   -37,  -204,   -38,  -597,
   -41,   -42,  -194,  -263,   -44,   -45,   -46,  -585,  -301,  -597,
  -597,  -597,  -248,  -292,  -597,  -597,  -597,  -205,  -206,  -207,
  -208,  -209,  -210,  -211,  -212,  -216,  -217,  -218,  -219,  -220,
  -221,  -222,  -223,  -224,  -225,  -226,  -227,  -228,  -231,  -232,
  -233,  -234,  -597,  -380,  -258,  -574,  -575,   -54,   -58,  -585,
  -259,  -380,  -380,  -585,  -297,  -254,  -597,  -255,  -597,  -260,
  -597,  -264,  -597,  -568,  -570,   -10,  -584,   -14,    -3,  -585,
   -69,  -290,   -85,   -74,  -597,  -585,  -248,  -597,  -597,   -95,
  -597,  -471,  -597,   -81,   -86,  -597,  -597,  -597,  -597,  -235,
  -597,  -421,  -597,  -286,  -597,  -242,  -591,  -590,  -244,  -591,
  -293,  -294,  -564,  -392,  -521,  -395,  -560,  -560,  -504,  -506,
  -506,  -506,  -520,  -522,  -523,  -524,  -525,  -526,  -527,  -528,
  -529,  -597,  -531,  -533,  -535,  -540,  -542,  -543,  -545,  -550,
  -552,  -553,  -555,  -556,  -557,  -597,   -11,  -335,  -336,   -11,
  -597,  -597,  -597,  -597,  -597,  -248,  -597,  -597,  -292,  -316,
  -106,  -107,  -108,  -597,  -597,  -248,  -319,  -494,  -495,  -597,
  -597,   -11,  -499,  -327,  -585,  -435,  -455,  -460,  -597,  -462,
  -438,  -457,  -597,  -459,  -440,  -597,  -443,  -597,  -445,  -448,
  -597,  -449,  -597,  -469,    -8,   -18,  -597,   -28,  -271,  -597,
  -597,  -412,  -597,  -250,  -252,  -597,  -597,   -59,  -247,  -405,
  -597,  -597,   -61,  -406,  -597,  -597,  -300,  -587,  -574,  -575,
  -574,  -575,  -585,  -194,  -585,  -381,  -585,  -383,   -11,   -53,
  -401,  -380,  -245,   -11,   -11,  -296,  -262,  -261,  -265,  -597,
  -566,  -567,  -597,   -13,  -597,   -71,  -597,   -77,   -83,  -585,
  -574,  -575,  -246,   -92,   -94,  -597,   -79,  -597,  -203,  -213,
  -585,  -596,  -596,  -284,  -585,  -289,  -589,  -597,  -585,  -597,
  -502,  -503,  -597,  -597,  -513,  -597,  -516,  -597,  -518,  -597,
  -346,  -597,  -348,  -350,  -357,  -585,  -534,  -544,  -554,  -558,
  -596,  -337,  -596,  -309,  -338,  -339,  -312,  -597,  -315,  -597,
  -585,  -574,  -575,  -578,  -291,  -597,  -106,  -107,  -110,  -585,
   -11,  -597,  -497,  -321,  -597,   -11,  -521,  -521,  -597,  -562,
  -461,  -464,  -465,  -466,  -467,   -11,  -439,  -442,  -444,  -447,
  -451,  -453,  -122,  -269,  -597,  -197,  -597,  -588,  -262,   -33,
  -199,   -34,  -200,   -60,   -35,  -202,   -36,  -201,   -62,  -195,
  -597,  -597,  -597,  -597,  -412,  -597,  -560,  -560,  -362,  -364,
  -364,  -364,  -379,  -597,  -585,  -385,  -529,  -537,  -538,  -548,
  -597,  -403,  -402,   -11,  -597,  -597,  -256,  -266,  -569,   -16,
   -75,   -90,   -87,  -299,  -596,  -342,   -11,  -422,  -596,  -423,
  -424,  -597,  -243,  -393,   -11,   -11,  -597,  -560,  -541,  -559,
  -505,  -506,  -506,  -532,  -506,  -506,  -551,  -506,  -529,  -546,
  -585,  -597,  -355,  -597,  -530,  -597,  -340,  -597,  -597,   -11,
   -11,  -314,  -597,   -11,  -412,  -597,  -412,  -597,  -597,   -11,
  -324,  -597,  -585,  -597,  -328,  -597,  -270,   -32,  -198,  -251,
  -597,  -237,  -597,  -360,  -361,  -370,  -372,  -597,  -375,  -597,
  -377,  -382,  -597,  -597,  -597,  -536,  -597,  -399,  -597,  -414,
  -416,    -9,   -11,  -428,  -343,  -597,  -597,  -426,  -287,  -597,
  -597,  -394,  -501,  -597,  -509,  -597,  -511,  -597,  -514,  -597,
  -517,  -519,  -347,  -349,  -353,  -597,  -358,  -306,  -597,  -307,
  -597,  -597,  -265,  -596,  -317,  -320,  -496,  -597,  -326,  -498,
  -500,  -499,  -463,  -597,  -560,  -539,  -363,  -364,  -364,  -364,
  -364,  -549,  -364,  -384,  -585,  -387,  -389,  -390,  -547,  -597,
  -292,   -55,  -427,   -11,   -97,   -98,  -597,  -597,  -105,  -425,
  -396,  -397,  -506,  -506,  -506,  -506,  -351,  -597,  -356,  -597,
   -11,  -310,  -313,  -417,  -418,  -419,   -11,  -322,   -11,  -238,
  -359,  -597,  -367,  -597,  -369,  -597,  -373,  -597,  -376,  -378,
  -386,  -597,  -291,  -578,  -421,  -248,  -597,  -597,  -104,  -597,
  -507,  -510,  -512,  -515,  -597,  -354,  -596,  -597,  -597,  -364,
  -364,  -364,  -364,  -388,  -420,  -585,  -574,  -575,  -578,  -103,
  -506,  -352,  -341,  -318,  -329,  -597,  -365,  -368,  -371,  -374,
  -412,  -508,  -364,  -366 ]

clist = [
'216,275,275,275,14,373,681,415,421,14,327,522,409,334,266,270,311,311',
'258,431,130,130,573,110,220,535,323,2,735,438,700,127,127,220,220,220',
'406,14,302,302,487,259,428,566,569,297,276,276,276,660,311,311,311,111',
'114,835,474,513,338,339,378,318,342,122,205,478,479,220,220,219,937',
'220,347,357,357,705,328,582,132,132,6,542,690,691,484,6,293,343,337',
'337,660,621,337,823,127,295,780,277,277,277,903,262,269,271,314,525',
'528,500,826,532,783,389,390,391,392,14,804,966,114,935,220,220,220,220',
'14,14,115,329,332,713,716,906,730,379,657,849,657,359,363,931,385,337',
'337,337,337,605,607,838,394,591,781,592,816,13,738,921,684,325,13,324',
'374,601,603,606,606,782,586,601,648,350,335,331,694,696,698,487,653',
'654,937,784,700,275,375,832,650,660,13,330,273,286,287,6,923,934,1,533',
'550,822,416,824,393,6,813,958,336,687,472,616,473,481,14,220,220,220',
'482,963,220,220,220,220,220,220,808,688,405,830,885,1003,903,377,405',
'380,387,14,425,275,275,415,421,434,435,436,437,931,275,642,667,381,872',
'636,651,717,382,383,676,995,401,407,384,740,745,426,430,492,13,823,731',
'220,220,395,402,657,657,13,13,821,220,352,734,542,311,276,204,663,818',
'925,881,340,510,276,326,652,1011,839,14,655,266,311,14,823,270,341,302',
'14,672,728,826,524,495,669,700,665,700,840,672,927,725,668,,302,,,863',
'864,774,,514,,14,220,,,277,511,,570,571,,496,114,277,1012,,,220,220',
'793,293,964,,523,801,293,,,,499,968,,13,,505,572,892,220,337,337,503',
',928,497,929,,672,,,,823,720,,220,672,13,956,700,590,,748,729,748,622',
'593,,114,550,,,952,,,,594,844,628,914,,739,130,800,633,587,846,,,275',
',,847,127,796,660,,851,480,843,852,853,,416,,763,483,,,,768,700,,700',
',431,,,13,,,220,13,,,615,,13,,894,896,,898,900,,901,,628,812,425,132',
',,,1004,970,,,700,,999,,13,275,,296,542,542,,,,311,,,,627,,803,,311',
'416,632,,,26,14,,14,,26,416,786,657,302,,220,809,,,,514,302,834,,26',
',796,,514,220,664,,,26,26,26,425,26,,,,917,,,,,425,,,,680,,275,,649',
',,,550,656,550,,275,,,,,26,26,416,,26,,,,14,,416,14,,,,,6,220,,,,,,990',
'991,992,993,220,943,719,965,,686,14,550,550,,,425,,792,,,,425,,,,26',
',,960,,26,26,26,26,26,26,714,714,622,,775,,785,130,220,220,,,810,220',
'220,,,220,127,732,733,902,1021,,791,,,311,13,622,13,14,400,,998,,14',
'14,311,628,,,633,919,811,,,,785,302,752,854,,759,761,296,514,,764,766',
'302,,430,,,132,1020,802,,,758,,787,,,,,,405,,622,777,,,26,26,26,26,',
'622,26,26,26,26,26,26,,,13,845,,13,,,786,848,786,26,220,,,,,14,220,',
',,14,,296,,,13,817,296,,,14,337,,15,550,,883,337,15,,887,220,127,26',
'26,,785,,,,311,,26,,,,,,,866,868,870,,,672,,15,304,304,1005,26,,875',
',26,,,,14,26,,,13,,,,857,13,13,,778,14,,,,,,,,14,14,349,358,358,26,26',
',,,,,,786,908,,,,779,,,26,26,220,,14,14,,,14,,,,,819,14,,819,311,,,26',
',,337,15,,,,,311,,,,15,15,,26,,,938,,,,,13,,825,14,827,13,,946,,,,,',
'714,,13,916,,,,,920,,,,,787,,,787,,787,980,787,,924,,,777,,777,,777',
'972,974,976,978,,979,,,,,,,,,,26,,,,,13,14,,,333,,,,,,,275,15,13,,,425',
',14,,,13,13,,14,,14,,416,,,,,,,15,,,,,622,,,220,,,13,13,,26,13,26,1016',
'1017,1018,1019,13,,,26,,16,,,425,,16,710,,,712,,787,26,787,1023,787',
',787,819,,777,778,777,778,777,778,777,,13,,,,,16,,15,,,,15,,,,304,15',
',,,,,930,,932,,,787,,,26,,304,26,,,777,,39,26,351,15,,39,,,,,953,26',
'954,,955,,,26,,,,,790,13,403,,,794,795,,433,,,39,301,301,,,,,13,,,,',
'16,13,,13,,,26,26,,16,16,26,26,,,26,778,,778,,778,,778,346,362,362,362',
',,26,,,,,26,26,,,,,,,,1000,,1001,,1002,,,,489,,491,,,493,494,,,778,1010',
',,,,39,,,,,,,,855,39,39,,,,,,,,,,,1022,,,,,,,,16,,,,,,,429,,,,26,,,',
',26,26,,,,26,,16,,,,878,,,,26,,,,15,,15,,,884,,26,304,,,,,889,890,,304',
',,,,,,,,,,,,,,39,,,,,,,910,911,,,913,,26,,618,,,16,,,,16,39,,,26,16',
',,,,,,26,26,,,,15,,,15,,,,,,,,942,,16,,,,,26,,26,26,,,26,15,,,,,26,',
'744,,,,,,,,,,,,,39,,,,39,,,,301,39,,,,658,,333,,661,26,,,,,,,301,,984',
',,,,,,39,,,15,,,,,15,15,996,,,,,,997,,,658,,304,333,,,,,,,,,,304,,,',
',,,,,,,,,26,,706,,,,,,,,,,,,,,,26,,,,,433,26,,26,,,,,,,,,,,,,,,15,,26',
',38,15,,,,38,,,,,,15,,,,,,16,,16,,,,753,,,,658,333,,,,,38,300,300,,',
',,,,,,,,,,,,,,,358,,,,,,15,,,,797,,,798,,345,361,361,361,15,,,,,,,,15',
'15,,39,,39,807,16,,,16,301,,,,,,,,301,,,,829,,15,15,,,15,,38,16,,,15',
',,,,38,38,,,,,,,,,,,,,,,,,,,358,,,,,,,,15,,,,948,39,,429,39,,856,,,',
',,,,,,,16,,,,,16,16,,,39,,,,,,,,,,,,,,,,,,,,,,,,,,,,38,,,15,,,,,,,,',
',,,,,,,,15,,,38,,,15,,15,39,,,,,39,39,,,,,912,,,,,16,,301,,,16,,,,,',
',333,301,,16,,,,,,,,,,,,,,,,,,,,,,,,38,,,,38,,,,300,38,,,,,,,,,,,,,',
',16,300,,39,,,,,39,,38,,,16,,,,,39,,,16,16,,,,,,,,,,,,,,,,,,,,,,,,16',
'16,,,16,,,,,,16,,,,362,,,,,,39,,,,,,,,,,,,,39,,,,,,,,39,39,16,,,,949',
',,,,,,,,,,,,,,,,,,39,39,,,39,,,,,,39,,,,,,,,,,,,,,,,,,,,,,,,,362,,,16',
',,,227,39,,,,945,,,,274,274,274,,16,,,,,,16,,16,320,321,322,,,,38,,38',
',,,,,300,,,274,274,,,,300,,,,,,,,,,,,,,,,,,39,,,,,,,,,,,,,,,,,39,,,',
',,39,,39,,,,,,,,,,,38,,,38,,,,,,,,,,,,,,,,,,,,,,38,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,38,,,,,38,38,274,408,274,,,427',
'432,,,,,300,,,,,,,,,,227,300,,447,448,449,450,451,452,453,454,455,456',
'457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,,,,,,,,274',
'274,,,,,,,,274,,,,,,,274,,274,38,,274,274,,38,,,,,,,,,,38,,,,,,,,,,',
',,,,,,,,,,,,,,,519,,,,,,,,,,,,,,,,361,,,,,,38,,,,,,,,,,,,,38,,,,,,,',
'38,38,,,,,,,,,,,,,,,,,,,,,,,,38,38,,,38,,,,,,38,,,274,,,,,,,,,,,,,,',
',,,,,,,361,,,,,,,,38,,,,944,,,,274,,427,643,408,,,,,,,,,,,,,,,,,,,,',
',,,,,644,,,,,,,,,,,,,,274,,274,,274,,,,,38,,,,,,,,,,,274,,,,,,38,,,678',
'679,,38,,38,,,,,,274,,,274,,,,,,,,,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,,',
',,,,,,274,274,,,,,,,,,,274,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274,755',
',,274,274,760,762,,,,765,767,,,643,769,,,,,,,,,,,,,,,,,,,,,,,,274,,',
'274,,,,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,,,,,,274,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,274,,858,,,,,,,,,,,,,,760,762,767,765',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
'274,,,,,,,,,,,,,,,,,274,858,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,969,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,274' ]
        racc_goto_table = arr = ::Array.new(2920, 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,33,33,33,22,56,10,37,37,22,69,8,23,88,73,73,64,64,140,18,60,60,94',
'4,22,139,31,2,98,47,117,57,57,22,22,22,27,22,22,22,75,36,27,91,91,49',
'70,70,70,178,64,64,64,6,97,92,37,51,17,17,151,63,17,15,15,39,23,22,22',
'20,134,22,22,22,22,118,70,54,61,61,7,163,123,123,47,7,45,4,29,29,178',
'24,29,169,57,46,128,72,72,72,116,38,38,38,50,71,71,47,174,71,131,17',
'17,17,17,22,11,109,97,133,22,22,22,22,22,22,5,72,72,93,93,119,110,152',
'76,111,76,55,55,175,152,29,29,29,29,155,155,11,2,112,129,113,131,21',
'114,115,102,101,21,100,99,156,156,156,156,120,96,156,40,95,90,87,166',
'166,166,75,40,40,134,126,117,33,86,117,74,178,21,68,44,44,44,7,67,132',
'1,135,168,129,73,129,7,7,136,119,137,138,66,62,141,143,22,22,22,22,144',
'145,22,22,22,22,22,22,146,139,70,118,147,133,116,150,70,153,5,22,57',
'33,33,37,37,29,29,29,29,175,33,23,51,154,131,47,42,94,157,158,51,119',
'20,20,159,160,161,20,20,151,21,169,162,22,22,30,28,76,76,21,21,167,22',
'19,8,163,64,70,16,14,171,172,12,104,31,70,103,47,119,105,22,47,73,64',
'22,169,73,106,22,22,37,54,174,31,4,23,117,47,117,107,37,128,108,47,',
'22,,,123,123,24,,49,,22,22,,,72,63,,17,17,,6,97,72,92,,,22,22,40,45',
'11,,29,24,45,,,,46,98,,21,,46,4,123,22,29,29,50,,129,7,129,,37,,,,169',
'23,,22,37,21,117,117,29,,156,23,156,31,36,,97,168,,,129,,,,29,24,73',
'93,,47,60,51,73,97,24,,,33,,,8,57,75,178,,8,44,91,139,139,,73,,39,44',
',,,39,117,,117,,18,,,21,,,22,21,,,15,,21,,166,166,,166,166,,166,,73',
'71,57,61,,,,10,123,,,117,,129,,21,33,,9,163,163,,,,64,,,,38,,47,,64',
'73,38,,,41,22,,22,,41,73,168,76,22,,22,27,,,,49,22,47,,41,,75,,49,22',
'2,,,41,41,41,57,41,,,,8,,,,,57,,,,29,,33,,38,,,,168,72,168,,33,,,,,41',
'41,73,,41,,,,22,,73,22,,,,,7,22,,,,,,166,166,166,166,22,91,70,94,,72',
'22,168,168,,,57,,88,,,,57,,,,41,,,91,,41,41,41,41,41,41,97,97,31,,31',
',31,60,22,22,,,69,22,22,,,22,57,97,97,47,166,,140,,,64,21,31,21,22,9',
',8,,22,22,64,73,,,73,47,31,,,,31,22,15,56,,20,20,9,49,,20,20,22,,20',
',,61,24,49,,,72,,170,,,,,,70,,31,122,,,41,41,41,41,,31,41,41,41,41,41',
'41,,,21,17,,21,,,168,17,168,41,22,,,,,22,22,,,,22,,9,,,21,122,9,,,22',
'29,,25,168,,69,29,25,,69,22,57,41,41,,31,,,,64,,41,,,,,,,125,125,125',
',,37,,25,25,25,23,41,,22,,41,,,,22,41,,,21,,,,20,21,21,,124,22,,,,,',
',,22,22,25,25,25,41,41,,,,,,,168,17,,,,127,,,41,41,22,,22,22,,,22,,',
',,124,22,,124,64,,,41,,,29,25,,,,,64,,,,25,25,,41,,,22,,,,,21,,127,22',
'127,21,,22,,,,,,97,,21,97,,,,,97,,,,,170,,,170,,170,31,170,,122,,,122',
',122,,122,125,125,125,125,,125,,,,,,,,,,41,,,,,21,22,,,65,,,,,,,33,25',
'21,,,57,,22,,,21,21,,22,,22,,73,,,,,,,25,,,,,31,,,22,,,21,21,,41,21',
'41,125,125,125,125,21,,,41,,26,,,57,,26,9,,,9,,170,41,170,125,170,,170',
'124,,122,124,122,124,122,124,122,,21,,,,,26,,25,,,,25,,,,25,25,,,,,',
'127,,127,,,170,,,41,,25,41,,,122,,53,41,26,25,,53,,,,,127,41,127,,127',
',,41,,,,,9,21,65,,,9,9,,65,,,53,53,53,,,,,21,,,,,26,21,,21,,,41,41,',
'26,26,41,41,,,41,124,,124,,124,,124,53,53,53,53,,,41,,,,,41,41,,,,,',
',,127,,127,,127,,,,65,,65,,,65,65,,,124,127,,,,,53,,,,,,,,9,53,53,,',
',,,,,,,,127,,,,,,,,26,,,,,,,26,,,,41,,,,,41,41,,,,41,,26,,,,9,,,,41',
',,,25,,25,,,9,,41,25,,,,,9,9,,25,,,,,,,,,,,,,,,53,,,,,,,9,9,,,9,,41',
',65,,,26,,,,26,53,,,41,26,,,,,,,41,41,,,,25,,,25,,,,,,,,9,,26,,,,,41',
',41,41,,,41,25,,,,,41,,25,,,,,,,,,,,,,53,,,,53,,,,53,53,,,,65,,65,,65',
'41,,,,,,,53,,9,,,,,,,53,,,25,,,,,25,25,9,,,,,,9,,,65,,25,65,,,,,,,,',
',25,,,,,,,,,,,,,41,,65,,,,,,,,,,,,,,,41,,,,,65,41,,41,,,,,,,,,,,,,,',
'25,,41,,52,25,,,,52,,,,,,25,,,,,,26,,26,,,,65,,,,65,65,,,,,52,52,52',
',,,,,,,,,,,,,,,,,25,,,,,,25,,,,65,,,65,,52,52,52,52,25,,,,,,,,25,25',
',53,,53,65,26,,,26,53,,,,,,,,53,,,,65,,25,25,,,25,,52,26,,,25,,,,,52',
'52,,,,,,,,,,,,,,,,,,,25,,,,,,,,25,,,,25,53,,26,53,,65,,,,,,,,,,,26,',
',,,26,26,,,53,,,,,,,,,,,,,,,,,,,,,,,,,,,,52,,,25,,,,,,,,,,,,,,,,,25',
',,52,,,25,,25,53,,,,,53,53,,,,,65,,,,,26,,53,,,26,,,,,,,65,53,,26,,',
',,,,,,,,,,,,,,,,,,,,,52,,,,52,,,,52,52,,,,,,,,,,,,,,,26,52,,53,,,,,53',
',52,,,26,,,,,53,,,26,26,,,,,,,,,,,,,,,,,,,,,,,,26,26,,,26,,,,,,26,,',
',53,,,,,,53,,,,,,,,,,,,,53,,,,,,,,53,53,26,,,,26,,,,,,,,,,,,,,,,,,,53',
'53,,,53,,,,,,53,,,,,,,,,,,,,,,,,,,,,,,,,53,,,26,,,,32,53,,,,53,,,,32',
'32,32,,26,,,,,,26,,26,32,32,32,,,,52,,52,,,,,,52,,,32,32,,,,52,,,,,',
',,,,,,,,,,,,53,,,,,,,,,,,,,,,,,53,,,,,,53,,53,,,,,,,,,,,52,,,52,,,,',
',,,,,,,,,,,,,,,,,52,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,52,,,,,52,52,32,32,32,,,32,32,,,,,52,,,,,,,,,,32,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,52,,32,32,,52,,,,,,,,,,52,,,,,,,,',
',,,,,,,,,,,,,,,,,32,,,,,,,,,,,,,,,,52,,,,,,52,,,,,,,,,,,,,52,,,,,,,',
'52,52,,,,,,,,,,,,,,,,,,,,,,,,52,52,,,52,,,,,,52,,,32,,,,,,,,,,,,,,,',
',,,,,,52,,,,,,,,52,,,,52,,,,32,,32,32,32,,,,,,,,,,,,,,,,,,,,,,,,,,32',
',,,,,,,,,,,,,32,,32,,32,,,,,52,,,,,,,,,,,32,,,,,,52,,,32,32,,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' ]
        racc_goto_check = arr = ::Array.new(2920, 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,   194,    27,   nil,    20,   121,    50,    80,  -313,   447,
  -515,  -565,  -518,   nil,  -213,    55,   273,    -5,  -194,   209,
    49,   153,     4,  -197,  -318,   752,  1007,  -171,    63,    25,
   147,   -19,  1934,   -28,   nil,   nil,    17,  -203,    75,  -197,
  -305,   499,  -227,   nil,   159,    53,    62,  -188,   nil,    11,
    69,  -258,  1486,  1073,  -278,    68,   -66,    23,   nil,   nil,
    12,    70,  -192,    20,   -18,   890,   -50,  -669,   128,   -49,
    17,  -223,    68,   -12,  -290,  -237,  -352,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   111,   111,   -48,   nil,
   108,  -295,  -655,  -441,  -321,   101,  -193,    51,  -564,    89,
   102,    99,  -367,   232,   222,  -420,   235,  -403,  -263,  -797,
  -454,  -598,  -214,  -222,  -439,  -699,  -731,  -521,  -476,  -702,
  -481,   nil,    56,  -454,   163,    -1,  -467,   190,  -550,  -496,
   nil,  -536,  -680,  -754,  -803,  -141,  -485,   142,  -328,  -311,
    -4,   -49,   nil,   -58,   -54,  -698,  -460,  -582,   nil,   nil,
   152,   -19,    51,   148,   163,  -236,  -218,   167,   167,   171,
  -339,  -339,  -322,  -255,   nil,   nil,  -367,  -418,  -140,  -600,
    47,  -405,  -577,   nil,  -587,  -728,   nil,   nil,  -439 ]

racc_goto_default = [
   nil,   nil,   nil,     3,   nil,     4,   344,   291,   nil,   521,
   nil,   836,   nil,   288,   289,   nil,   nil,   nil,    11,    12,
    18,   226,   319,   nil,   nil,   224,   225,   nil,   nil,    17,
   nil,   439,    21,    22,    23,    24,   nil,   675,   nil,   nil,
   nil,   308,   nil,    25,   410,    32,   nil,   nil,    34,    37,
    36,   nil,   221,   222,   356,   nil,   129,   418,   128,   131,
    75,    76,   nil,    90,    46,   280,   nil,   nil,   nil,   805,
   411,   nil,   412,   423,   629,   485,   278,   264,    47,    48,
    49,    50,    51,    52,    53,    54,    55,   nil,   265,    61,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   567,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   702,   549,   nil,   703,
   926,   776,   537,   nil,   538,   nil,   nil,   539,   nil,   541,
   645,   nil,   nil,   nil,   547,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   422,   nil,   nil,   nil,   nil,   nil,    74,    77,
    78,   nil,   nil,   nil,   nil,   nil,   596,   nil,   nil,   nil,
   nil,   nil,   nil,   820,   737,   536,   nil,   540,   828,   552,
   554,   555,   788,   558,   559,   789,   562,   565,   283 ]

racc_reduce_table = [
  0, 0, :racc_error,
  1, 146, :_reduce_none,
  2, 147, :_reduce_2,
  0, 148, :_reduce_3,
  1, 148, :_reduce_4,
  3, 148, :_reduce_5,
  2, 148, :_reduce_6,
  1, 150, :_reduce_none,
  4, 150, :_reduce_8,
  4, 153, :_reduce_9,
  2, 154, :_reduce_10,
  0, 158, :_reduce_11,
  1, 158, :_reduce_12,
  3, 158, :_reduce_13,
  2, 158, :_reduce_14,
  1, 159, :_reduce_none,
  4, 159, :_reduce_16,
  0, 175, :_reduce_17,
  4, 152, :_reduce_18,
  3, 152, :_reduce_19,
  3, 152, :_reduce_20,
  3, 152, :_reduce_21,
  2, 152, :_reduce_22,
  3, 152, :_reduce_23,
  3, 152, :_reduce_24,
  3, 152, :_reduce_25,
  3, 152, :_reduce_26,
  3, 152, :_reduce_27,
  4, 152, :_reduce_28,
  1, 152, :_reduce_none,
  3, 152, :_reduce_30,
  3, 152, :_reduce_31,
  6, 152, :_reduce_32,
  5, 152, :_reduce_33,
  5, 152, :_reduce_34,
  5, 152, :_reduce_35,
  5, 152, :_reduce_36,
  3, 152, :_reduce_37,
  3, 152, :_reduce_38,
  3, 152, :_reduce_39,
  1, 152, :_reduce_none,
  3, 163, :_reduce_41,
  3, 163, :_reduce_42,
  1, 174, :_reduce_none,
  3, 174, :_reduce_44,
  3, 174, :_reduce_45,
  3, 174, :_reduce_46,
  2, 174, :_reduce_47,
  1, 174, :_reduce_none,
  1, 162, :_reduce_none,
  1, 165, :_reduce_none,
  1, 165, :_reduce_none,
  1, 179, :_reduce_none,
  4, 179, :_reduce_53,
  0, 187, :_reduce_54,
  5, 184, :_reduce_55,
  1, 186, :_reduce_none,
  2, 178, :_reduce_57,
  3, 178, :_reduce_58,
  4, 178, :_reduce_59,
  5, 178, :_reduce_60,
  4, 178, :_reduce_61,
  5, 178, :_reduce_62,
  2, 178, :_reduce_63,
  2, 178, :_reduce_64,
  2, 178, :_reduce_65,
  2, 178, :_reduce_66,
  2, 178, :_reduce_67,
  1, 164, :_reduce_68,
  3, 164, :_reduce_69,
  1, 191, :_reduce_70,
  3, 191, :_reduce_71,
  1, 190, :_reduce_none,
  2, 190, :_reduce_73,
  3, 190, :_reduce_74,
  5, 190, :_reduce_75,
  2, 190, :_reduce_76,
  4, 190, :_reduce_77,
  2, 190, :_reduce_78,
  4, 190, :_reduce_79,
  1, 190, :_reduce_80,
  3, 190, :_reduce_81,
  1, 194, :_reduce_none,
  3, 194, :_reduce_83,
  2, 193, :_reduce_84,
  3, 193, :_reduce_85,
  1, 196, :_reduce_86,
  3, 196, :_reduce_87,
  1, 195, :_reduce_88,
  1, 195, :_reduce_89,
  4, 195, :_reduce_90,
  3, 195, :_reduce_91,
  3, 195, :_reduce_92,
  3, 195, :_reduce_93,
  3, 195, :_reduce_94,
  2, 195, :_reduce_95,
  1, 195, :_reduce_96,
  1, 171, :_reduce_97,
  1, 171, :_reduce_98,
  4, 171, :_reduce_99,
  3, 171, :_reduce_100,
  3, 171, :_reduce_101,
  3, 171, :_reduce_102,
  3, 171, :_reduce_103,
  2, 171, :_reduce_104,
  1, 171, :_reduce_105,
  1, 199, :_reduce_106,
  1, 199, :_reduce_none,
  2, 200, :_reduce_108,
  1, 200, :_reduce_109,
  3, 200, :_reduce_110,
  1, 201, :_reduce_none,
  1, 201, :_reduce_none,
  1, 201, :_reduce_none,
  1, 201, :_reduce_none,
  1, 201, :_reduce_none,
  1, 204, :_reduce_116,
  1, 204, :_reduce_none,
  1, 160, :_reduce_none,
  1, 160, :_reduce_none,
  1, 161, :_reduce_120,
  0, 207, :_reduce_121,
  4, 161, :_reduce_122,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  3, 177, :_reduce_194,
  5, 177, :_reduce_195,
  3, 177, :_reduce_196,
  5, 177, :_reduce_197,
  6, 177, :_reduce_198,
  5, 177, :_reduce_199,
  5, 177, :_reduce_200,
  5, 177, :_reduce_201,
  5, 177, :_reduce_202,
  4, 177, :_reduce_203,
  3, 177, :_reduce_204,
  3, 177, :_reduce_205,
  3, 177, :_reduce_206,
  3, 177, :_reduce_207,
  3, 177, :_reduce_208,
  3, 177, :_reduce_209,
  3, 177, :_reduce_210,
  3, 177, :_reduce_211,
  3, 177, :_reduce_212,
  4, 177, :_reduce_213,
  2, 177, :_reduce_214,
  2, 177, :_reduce_215,
  3, 177, :_reduce_216,
  3, 177, :_reduce_217,
  3, 177, :_reduce_218,
  3, 177, :_reduce_219,
  3, 177, :_reduce_220,
  3, 177, :_reduce_221,
  3, 177, :_reduce_222,
  3, 177, :_reduce_223,
  3, 177, :_reduce_224,
  3, 177, :_reduce_225,
  3, 177, :_reduce_226,
  3, 177, :_reduce_227,
  3, 177, :_reduce_228,
  2, 177, :_reduce_229,
  2, 177, :_reduce_230,
  3, 177, :_reduce_231,
  3, 177, :_reduce_232,
  3, 177, :_reduce_233,
  3, 177, :_reduce_234,
  3, 177, :_reduce_235,
  0, 211, :_reduce_236,
  0, 212, :_reduce_237,
  8, 177, :_reduce_238,
  1, 177, :_reduce_none,
  1, 210, :_reduce_none,
  1, 213, :_reduce_none,
  2, 213, :_reduce_none,
  4, 213, :_reduce_243,
  2, 213, :_reduce_244,
  3, 218, :_reduce_245,
  0, 219, :_reduce_246,
  1, 219, :_reduce_none,
  0, 168, :_reduce_248,
  1, 168, :_reduce_none,
  2, 168, :_reduce_none,
  4, 168, :_reduce_251,
  2, 168, :_reduce_252,
  1, 189, :_reduce_253,
  2, 189, :_reduce_254,
  2, 189, :_reduce_255,
  4, 189, :_reduce_256,
  1, 189, :_reduce_257,
  0, 222, :_reduce_258,
  2, 183, :_reduce_259,
  2, 221, :_reduce_260,
  2, 220, :_reduce_261,
  0, 220, :_reduce_262,
  1, 215, :_reduce_263,
  2, 215, :_reduce_264,
  3, 215, :_reduce_265,
  4, 215, :_reduce_266,
  1, 173, :_reduce_267,
  1, 173, :_reduce_none,
  3, 172, :_reduce_269,
  4, 172, :_reduce_270,
  2, 172, :_reduce_271,
  1, 209, :_reduce_none,
  1, 209, :_reduce_none,
  1, 209, :_reduce_none,
  1, 209, :_reduce_none,
  1, 209, :_reduce_none,
  1, 209, :_reduce_none,
  1, 209, :_reduce_none,
  1, 209, :_reduce_none,
  1, 209, :_reduce_none,
  1, 209, :_reduce_none,
  1, 209, :_reduce_282,
  0, 245, :_reduce_283,
  4, 209, :_reduce_284,
  0, 246, :_reduce_285,
  0, 247, :_reduce_286,
  6, 209, :_reduce_287,
  0, 248, :_reduce_288,
  4, 209, :_reduce_289,
  3, 209, :_reduce_290,
  3, 209, :_reduce_291,
  2, 209, :_reduce_292,
  3, 209, :_reduce_293,
  3, 209, :_reduce_294,
  1, 209, :_reduce_295,
  4, 209, :_reduce_296,
  3, 209, :_reduce_297,
  1, 209, :_reduce_298,
  5, 209, :_reduce_299,
  4, 209, :_reduce_300,
  3, 209, :_reduce_301,
  2, 209, :_reduce_302,
  1, 209, :_reduce_none,
  2, 209, :_reduce_304,
  2, 209, :_reduce_305,
  6, 209, :_reduce_306,
  6, 209, :_reduce_307,
  0, 249, :_reduce_308,
  0, 250, :_reduce_309,
  7, 209, :_reduce_310,
  0, 251, :_reduce_311,
  0, 252, :_reduce_312,
  7, 209, :_reduce_313,
  5, 209, :_reduce_314,
  4, 209, :_reduce_315,
  0, 253, :_reduce_316,
  0, 254, :_reduce_317,
  9, 209, :_reduce_318,
  0, 255, :_reduce_319,
  6, 209, :_reduce_320,
  0, 256, :_reduce_321,
  7, 209, :_reduce_322,
  0, 257, :_reduce_323,
  5, 209, :_reduce_324,
  0, 258, :_reduce_325,
  6, 209, :_reduce_326,
  0, 259, :_reduce_327,
  0, 260, :_reduce_328,
  9, 209, :_reduce_329,
  1, 209, :_reduce_330,
  1, 209, :_reduce_331,
  1, 209, :_reduce_332,
  1, 209, :_reduce_333,
  1, 167, :_reduce_none,
  1, 236, :_reduce_none,
  1, 236, :_reduce_none,
  2, 236, :_reduce_337,
  1, 238, :_reduce_none,
  1, 238, :_reduce_none,
  1, 237, :_reduce_none,
  5, 237, :_reduce_341,
  1, 156, :_reduce_none,
  2, 156, :_reduce_343,
  1, 240, :_reduce_none,
  1, 240, :_reduce_none,
  1, 261, :_reduce_346,
  3, 261, :_reduce_347,
  1, 264, :_reduce_348,
  3, 264, :_reduce_349,
  1, 263, :_reduce_none,
  4, 263, :_reduce_351,
  6, 263, :_reduce_352,
  3, 263, :_reduce_353,
  5, 263, :_reduce_354,
  2, 263, :_reduce_355,
  4, 263, :_reduce_356,
  1, 263, :_reduce_357,
  3, 263, :_reduce_358,
  4, 265, :_reduce_359,
  2, 265, :_reduce_360,
  2, 265, :_reduce_361,
  1, 265, :_reduce_362,
  2, 270, :_reduce_363,
  0, 270, :_reduce_364,
  6, 271, :_reduce_365,
  8, 271, :_reduce_366,
  4, 271, :_reduce_367,
  6, 271, :_reduce_368,
  4, 271, :_reduce_369,
  2, 271, :_reduce_none,
  6, 271, :_reduce_371,
  2, 271, :_reduce_372,
  4, 271, :_reduce_373,
  6, 271, :_reduce_374,
  2, 271, :_reduce_375,
  4, 271, :_reduce_376,
  2, 271, :_reduce_377,
  4, 271, :_reduce_378,
  1, 271, :_reduce_none,
  0, 185, :_reduce_380,
  1, 185, :_reduce_381,
  3, 275, :_reduce_382,
  1, 275, :_reduce_383,
  4, 275, :_reduce_384,
  1, 276, :_reduce_385,
  4, 276, :_reduce_386,
  1, 277, :_reduce_387,
  3, 277, :_reduce_388,
  1, 278, :_reduce_389,
  1, 278, :_reduce_none,
  0, 282, :_reduce_391,
  0, 283, :_reduce_392,
  4, 235, :_reduce_393,
  4, 280, :_reduce_394,
  1, 280, :_reduce_395,
  3, 281, :_reduce_396,
  3, 281, :_reduce_397,
  0, 286, :_reduce_398,
  5, 285, :_reduce_399,
  2, 180, :_reduce_400,
  4, 180, :_reduce_401,
  5, 180, :_reduce_402,
  5, 180, :_reduce_403,
  2, 234, :_reduce_404,
  4, 234, :_reduce_405,
  4, 234, :_reduce_406,
  3, 234, :_reduce_407,
  3, 234, :_reduce_408,
  3, 234, :_reduce_409,
  2, 234, :_reduce_410,
  1, 234, :_reduce_411,
  4, 234, :_reduce_412,
  0, 288, :_reduce_413,
  5, 233, :_reduce_414,
  0, 289, :_reduce_415,
  5, 233, :_reduce_416,
  5, 239, :_reduce_417,
  1, 290, :_reduce_418,
  1, 290, :_reduce_none,
  6, 155, :_reduce_420,
  0, 155, :_reduce_421,
  1, 291, :_reduce_422,
  1, 291, :_reduce_none,
  1, 291, :_reduce_none,
  2, 292, :_reduce_425,
  1, 292, :_reduce_none,
  2, 157, :_reduce_427,
  1, 157, :_reduce_none,
  1, 223, :_reduce_none,
  1, 223, :_reduce_none,
  1, 223, :_reduce_none,
  1, 224, :_reduce_432,
  1, 294, :_reduce_433,
  2, 294, :_reduce_434,
  3, 295, :_reduce_435,
  1, 295, :_reduce_436,
  1, 295, :_reduce_437,
  3, 225, :_reduce_438,
  4, 226, :_reduce_439,
  3, 227, :_reduce_440,
  0, 299, :_reduce_441,
  3, 299, :_reduce_442,
  1, 300, :_reduce_443,
  2, 300, :_reduce_444,
  3, 229, :_reduce_445,
  0, 302, :_reduce_446,
  3, 302, :_reduce_447,
  3, 228, :_reduce_448,
  3, 230, :_reduce_449,
  0, 303, :_reduce_450,
  3, 303, :_reduce_451,
  0, 304, :_reduce_452,
  3, 304, :_reduce_453,
  0, 296, :_reduce_454,
  2, 296, :_reduce_455,
  0, 297, :_reduce_456,
  2, 297, :_reduce_457,
  0, 298, :_reduce_458,
  2, 298, :_reduce_459,
  1, 301, :_reduce_460,
  2, 301, :_reduce_461,
  0, 306, :_reduce_462,
  4, 301, :_reduce_463,
  1, 305, :_reduce_464,
  1, 305, :_reduce_465,
  1, 305, :_reduce_466,
  1, 305, :_reduce_none,
  1, 205, :_reduce_468,
  3, 206, :_reduce_469,
  1, 293, :_reduce_470,
  2, 293, :_reduce_471,
  1, 208, :_reduce_472,
  1, 208, :_reduce_473,
  1, 208, :_reduce_474,
  1, 208, :_reduce_475,
  1, 197, :_reduce_476,
  1, 197, :_reduce_477,
  1, 197, :_reduce_478,
  1, 197, :_reduce_479,
  1, 197, :_reduce_480,
  1, 198, :_reduce_481,
  1, 198, :_reduce_482,
  1, 198, :_reduce_483,
  1, 198, :_reduce_484,
  1, 198, :_reduce_485,
  1, 198, :_reduce_486,
  1, 198, :_reduce_487,
  1, 231, :_reduce_488,
  1, 231, :_reduce_489,
  1, 166, :_reduce_490,
  1, 166, :_reduce_491,
  1, 170, :_reduce_492,
  1, 170, :_reduce_493,
  1, 241, :_reduce_494,
  0, 307, :_reduce_495,
  4, 241, :_reduce_496,
  2, 241, :_reduce_497,
  3, 243, :_reduce_498,
  0, 309, :_reduce_499,
  3, 243, :_reduce_500,
  4, 308, :_reduce_501,
  2, 308, :_reduce_502,
  2, 308, :_reduce_503,
  1, 308, :_reduce_504,
  2, 311, :_reduce_505,
  0, 311, :_reduce_506,
  6, 284, :_reduce_507,
  8, 284, :_reduce_508,
  4, 284, :_reduce_509,
  6, 284, :_reduce_510,
  4, 284, :_reduce_511,
  6, 284, :_reduce_512,
  2, 284, :_reduce_513,
  4, 284, :_reduce_514,
  6, 284, :_reduce_515,
  2, 284, :_reduce_516,
  4, 284, :_reduce_517,
  2, 284, :_reduce_518,
  4, 284, :_reduce_519,
  1, 284, :_reduce_520,
  0, 284, :_reduce_521,
  1, 279, :_reduce_522,
  1, 279, :_reduce_523,
  1, 279, :_reduce_524,
  1, 279, :_reduce_525,
  1, 262, :_reduce_none,
  1, 262, :_reduce_527,
  1, 313, :_reduce_528,
  1, 314, :_reduce_529,
  3, 314, :_reduce_530,
  1, 272, :_reduce_531,
  3, 272, :_reduce_532,
  1, 315, :_reduce_533,
  2, 316, :_reduce_534,
  1, 316, :_reduce_535,
  2, 317, :_reduce_536,
  1, 317, :_reduce_537,
  1, 266, :_reduce_538,
  3, 266, :_reduce_539,
  1, 310, :_reduce_540,
  3, 310, :_reduce_541,
  1, 318, :_reduce_none,
  1, 318, :_reduce_none,
  2, 267, :_reduce_544,
  1, 267, :_reduce_545,
  3, 319, :_reduce_546,
  3, 320, :_reduce_547,
  1, 273, :_reduce_548,
  3, 273, :_reduce_549,
  1, 312, :_reduce_550,
  3, 312, :_reduce_551,
  1, 321, :_reduce_none,
  1, 321, :_reduce_none,
  2, 274, :_reduce_554,
  1, 274, :_reduce_555,
  1, 322, :_reduce_none,
  1, 322, :_reduce_none,
  2, 269, :_reduce_558,
  2, 268, :_reduce_559,
  0, 268, :_reduce_560,
  1, 244, :_reduce_none,
  3, 244, :_reduce_562,
  0, 232, :_reduce_563,
  2, 232, :_reduce_none,
  1, 217, :_reduce_565,
  3, 217, :_reduce_566,
  3, 323, :_reduce_567,
  2, 323, :_reduce_568,
  4, 323, :_reduce_569,
  2, 323, :_reduce_570,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 188, :_reduce_none,
  1, 182, :_reduce_none,
  1, 182, :_reduce_none,
  1, 182, :_reduce_none,
  1, 182, :_reduce_none,
  1, 287, :_reduce_none,
  1, 287, :_reduce_none,
  1, 287, :_reduce_none,
  1, 181, :_reduce_none,
  1, 181, :_reduce_none,
  0, 149, :_reduce_none,
  1, 149, :_reduce_none,
  0, 176, :_reduce_none,
  1, 176, :_reduce_none,
  2, 192, :_reduce_587,
  2, 169, :_reduce_588,
  0, 216, :_reduce_none,
  1, 216, :_reduce_none,
  1, 216, :_reduce_none,
  1, 242, :_reduce_592,
  1, 242, :_reduce_none,
  1, 151, :_reduce_none,
  2, 151, :_reduce_none,
  0, 214, :_reduce_596 ]

racc_reduce_n = 597

racc_shift_n = 1024

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,
  :tRATIONAL => 140,
  :tIMAGINARY => 141,
  :tLABEL_END => 142,
  :tEQL => 143,
  :tLOWEST => 144 }

racc_nt_base = 145

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",
  "tRATIONAL",
  "tIMAGINARY",
  "tLABEL_END",
  "tEQL",
  "tLOWEST",
  "$start",
  "program",
  "top_compstmt",
  "top_stmts",
  "opt_terms",
  "top_stmt",
  "terms",
  "stmt",
  "bodystmt",
  "compstmt",
  "opt_rescue",
  "opt_else",
  "opt_ensure",
  "stmts",
  "stmt_or_begin",
  "fitem",
  "undef_list",
  "expr_value",
  "command_asgn",
  "mlhs",
  "command_call",
  "var_lhs",
  "primary_value",
  "opt_call_args",
  "rbracket",
  "backref",
  "lhs",
  "mrhs",
  "mrhs_arg",
  "expr",
  "@1",
  "opt_nl",
  "arg",
  "command",
  "block_command",
  "block_call",
  "dot_or_colon",
  "operation2",
  "command_args",
  "cmd_brace_block",
  "opt_block_param",
  "fcall",
  "@2",
  "operation",
  "call_args",
  "mlhs_basic",
  "mlhs_inner",
  "rparen",
  "mlhs_head",
  "mlhs_item",
  "mlhs_node",
  "mlhs_post",
  "user_variable",
  "keyword_variable",
  "cname",
  "cpath",
  "fname",
  "op",
  "reswords",
  "fsym",
  "symbol",
  "dsym",
  "@3",
  "simple_numeric",
  "primary",
  "arg_value",
  "@4",
  "@5",
  "aref_args",
  "none",
  "args",
  "trailer",
  "assocs",
  "paren_args",
  "opt_paren_args",
  "opt_block_arg",
  "block_arg",
  "@6",
  "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",
  "@7",
  "@8",
  "@9",
  "@10",
  "@11",
  "@12",
  "@13",
  "@14",
  "@15",
  "@16",
  "@17",
  "@18",
  "@19",
  "@20",
  "@21",
  "@22",
  "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",
  "@23",
  "@24",
  "f_args",
  "do_block",
  "@25",
  "operation3",
  "@26",
  "@27",
  "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",
  "@28",
  "@29",
  "args_tail",
  "@30",
  "f_kwarg",
  "opt_args_tail",
  "f_optarg",
  "f_arg_asgn",
  "f_arg_item",
  "f_label",
  "f_kw",
  "f_block_kw",
  "kwrest_mark",
  "f_opt",
  "f_block_opt",
  "restarg_mark",
  "blkarg_mark",
  "assoc" ]

Racc_debug_parser = false

##### State transition tables end #####

# reduce 0 omitted

# reduce 1 omitted

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

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 83)
  def _reduce_3(val, _values, result)
                          result = []

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 87)
  def _reduce_4(val, _values, result)
                          result = [ val[0] ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 91)
  def _reduce_5(val, _values, result)
                          result = val[0] << val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 95)
  def _reduce_6(val, _values, result)
                          result = [ val[1] ]

    result
  end
.,.,

# reduce 7 omitted

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

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 106)
  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(<<'.,.,', 'ruby22.y', 122)
  def _reduce_10(val, _values, result)
                          result = @builder.compstmt(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 127)
  def _reduce_11(val, _values, result)
                          result = []

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 131)
  def _reduce_12(val, _values, result)
                          result = [ val[0] ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 135)
  def _reduce_13(val, _values, result)
                          result = val[0] << val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 139)
  def _reduce_14(val, _values, result)
                          result = [ val[1] ]

    result
  end
.,.,

# reduce 15 omitted

module_eval(<<'.,.,', 'ruby22.y', 145)
  def _reduce_16(val, _values, result)
                          diagnostic :error, :begin_in_method, nil, val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 150)
  def _reduce_17(val, _values, result)
                          @lexer.state = :expr_fname

    result
  end
.,.,

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

    result
  end
.,.,

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

    result
  end
.,.,

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

    result
  end
.,.,

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

    result
  end
.,.,

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

    result
  end
.,.,

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

    result
  end
.,.,

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

    result
  end
.,.,

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

    result
  end
.,.,

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

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 196)
  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(<<'.,.,', 'ruby22.y', 204)
  def _reduce_28(val, _values, result)
                          result = @builder.postexe(val[0], val[1], val[2], val[3])

    result
  end
.,.,

# reduce 29 omitted

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

    result
  end
.,.,

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

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 217)
  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(<<'.,.,', 'ruby22.y', 224)
  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(<<'.,.,', 'ruby22.y', 231)
  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(<<'.,.,', 'ruby22.y', 238)
  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(<<'.,.,', 'ruby22.y', 245)
  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(<<'.,.,', 'ruby22.y', 252)
  def _reduce_37(val, _values, result)
                          @builder.op_assign(val[0], val[1], val[2])

    result
  end
.,.,

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

    result
  end
.,.,

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

    result
  end
.,.,

# reduce 40 omitted

module_eval(<<'.,.,', 'ruby22.y', 267)
  def _reduce_41(val, _values, result)
                          result = @builder.assign(val[0], val[1], val[2])

    result
  end
.,.,

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

    result
  end
.,.,

# reduce 43 omitted

module_eval(<<'.,.,', 'ruby22.y', 277)
  def _reduce_44(val, _values, result)
                          result = @builder.logical_op(:and, val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 281)
  def _reduce_45(val, _values, result)
                          result = @builder.logical_op(:or, val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 285)
  def _reduce_46(val, _values, result)
                          result = @builder.not_op(val[0], nil, val[2], nil)

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 289)
  def _reduce_47(val, _values, result)
                          result = @builder.not_op(val[0], nil, val[1], nil)

    result
  end
.,.,

# reduce 48 omitted

# reduce 49 omitted

# reduce 50 omitted

# reduce 51 omitted

# reduce 52 omitted

module_eval(<<'.,.,', 'ruby22.y', 301)
  def _reduce_53(val, _values, result)
                          result = @builder.call_method(val[0], val[1], val[2],
                                  nil, val[3], nil)

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 307)
  def _reduce_54(val, _values, result)
                          @static_env.extend_dynamic

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 311)
  def _reduce_55(val, _values, result)
                          result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend

    result
  end
.,.,

# reduce 56 omitted

module_eval(<<'.,.,', 'ruby22.y', 320)
  def _reduce_57(val, _values, result)
                          result = @builder.call_method(nil, nil, val[0],
                                  nil, val[1], nil)

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 325)
  def _reduce_58(val, _values, result)
                          method_call = @builder.call_method(nil, nil, val[0],
                                        nil, val[1], nil)

                      begin_t, args, body, end_t = val[2]
                      result      = @builder.block(method_call,
                                      begin_t, args, body, end_t)

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 334)
  def _reduce_59(val, _values, result)
                          result = @builder.call_method(val[0], val[1], val[2],
                                  nil, val[3], nil)

    result
  end
.,.,

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

                      begin_t, args, body, end_t = val[4]
                      result      = @builder.block(method_call,
                                      begin_t, args, body, end_t)

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 348)
  def _reduce_61(val, _values, result)
                          result = @builder.call_method(val[0], val[1], val[2],
                                  nil, val[3], nil)

    result
  end
.,.,

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

                      begin_t, args, body, end_t = val[4]
                      result      = @builder.block(method_call,
                                      begin_t, args, body, end_t)

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 362)
  def _reduce_63(val, _values, result)
                          result = @builder.keyword_cmd(:super, val[0],
                                  nil, val[1], nil)

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 367)
  def _reduce_64(val, _values, result)
                          result = @builder.keyword_cmd(:yield, val[0],
                                  nil, val[1], nil)

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 372)
  def _reduce_65(val, _values, result)
                          result = @builder.keyword_cmd(:return, val[0],
                                  nil, val[1], nil)

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 377)
  def _reduce_66(val, _values, result)
                          result = @builder.keyword_cmd(:break, val[0],
                                  nil, val[1], nil)

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 382)
  def _reduce_67(val, _values, result)
                          result = @builder.keyword_cmd(:next, val[0],
                                  nil, val[1], nil)

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 388)
  def _reduce_68(val, _values, result)
                          result = @builder.multi_lhs(nil, val[0], nil)

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 392)
  def _reduce_69(val, _values, result)
                          result = @builder.begin(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 397)
  def _reduce_70(val, _values, result)
                          result = @builder.multi_lhs(nil, val[0], nil)

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 401)
  def _reduce_71(val, _values, result)
                          result = @builder.multi_lhs(val[0], val[1], val[2])

    result
  end
.,.,

# reduce 72 omitted

module_eval(<<'.,.,', 'ruby22.y', 407)
  def _reduce_73(val, _values, result)
                          result = val[0].
                                  push(val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 412)
  def _reduce_74(val, _values, result)
                          result = val[0].
                                  push(@builder.splat(val[1], val[2]))

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 417)
  def _reduce_75(val, _values, result)
                          result = val[0].
                                  push(@builder.splat(val[1], val[2])).
                                  concat(val[4])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 423)
  def _reduce_76(val, _values, result)
                          result = val[0].
                                  push(@builder.splat(val[1]))

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 428)
  def _reduce_77(val, _values, result)
                          result = val[0].
                                  push(@builder.splat(val[1])).
                                  concat(val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 434)
  def _reduce_78(val, _values, result)
                          result = [ @builder.splat(val[0], val[1]) ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 438)
  def _reduce_79(val, _values, result)
                          result = [ @builder.splat(val[0], val[1]),
                                 *val[3] ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 443)
  def _reduce_80(val, _values, result)
                          result = [ @builder.splat(val[0]) ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 447)
  def _reduce_81(val, _values, result)
                          result = [ @builder.splat(val[0]),
                                 *val[2] ]

    result
  end
.,.,

# reduce 82 omitted

module_eval(<<'.,.,', 'ruby22.y', 454)
  def _reduce_83(val, _values, result)
                          result = @builder.begin(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 459)
  def _reduce_84(val, _values, result)
                          result = [ val[0] ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 463)
  def _reduce_85(val, _values, result)
                          result = val[0] << val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 468)
  def _reduce_86(val, _values, result)
                          result = [ val[0] ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 472)
  def _reduce_87(val, _values, result)
                          result = val[0] << val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 477)
  def _reduce_88(val, _values, result)
                          result = @builder.assignable(val[0])

    result
  end
.,.,

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

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 485)
  def _reduce_90(val, _values, result)
                          result = @builder.index_asgn(val[0], val[1], val[2], val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 489)
  def _reduce_91(val, _values, result)
                          result = @builder.attr_asgn(val[0], val[1], val[2])

    result
  end
.,.,

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

    result
  end
.,.,

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

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 501)
  def _reduce_94(val, _values, result)
                          result = @builder.assignable(
                                  @builder.const_fetch(val[0], val[1], val[2]))

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 506)
  def _reduce_95(val, _values, result)
                          result = @builder.assignable(
                                  @builder.const_global(val[0], val[1]))

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 511)
  def _reduce_96(val, _values, result)
                          result = @builder.assignable(val[0])

    result
  end
.,.,

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

    result
  end
.,.,

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

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 524)
  def _reduce_99(val, _values, result)
                          result = @builder.index_asgn(val[0], val[1], val[2], val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 528)
  def _reduce_100(val, _values, result)
                          result = @builder.attr_asgn(val[0], val[1], val[2])

    result
  end
.,.,

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

    result
  end
.,.,

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

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 540)
  def _reduce_103(val, _values, result)
                          result = @builder.assignable(
                                  @builder.const_fetch(val[0], val[1], val[2]))

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 545)
  def _reduce_104(val, _values, result)
                          result = @builder.assignable(
                                  @builder.const_global(val[0], val[1]))

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 550)
  def _reduce_105(val, _values, result)
                          result = @builder.assignable(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 555)
  def _reduce_106(val, _values, result)
                          diagnostic :error, :module_name_const, nil, val[0]

    result
  end
.,.,

# reduce 107 omitted

module_eval(<<'.,.,', 'ruby22.y', 561)
  def _reduce_108(val, _values, result)
                          result = @builder.const_global(val[0], val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 565)
  def _reduce_109(val, _values, result)
                          result = @builder.const(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 569)
  def _reduce_110(val, _values, result)
                          result = @builder.const_fetch(val[0], val[1], val[2])

    result
  end
.,.,

# reduce 111 omitted

# reduce 112 omitted

# reduce 113 omitted

# reduce 114 omitted

# reduce 115 omitted

module_eval(<<'.,.,', 'ruby22.y', 578)
  def _reduce_116(val, _values, result)
                          result = @builder.symbol(val[0])

    result
  end
.,.,

# reduce 117 omitted

# reduce 118 omitted

# reduce 119 omitted

module_eval(<<'.,.,', 'ruby22.y', 587)
  def _reduce_120(val, _values, result)
                          result = [ val[0] ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 591)
  def _reduce_121(val, _values, result)
                          @lexer.state = :expr_fname

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 595)
  def _reduce_122(val, _values, result)
                          result = val[0] << val[3]

    result
  end
.,.,

# reduce 123 omitted

# reduce 124 omitted

# reduce 125 omitted

# reduce 126 omitted

# reduce 127 omitted

# reduce 128 omitted

# reduce 129 omitted

# reduce 130 omitted

# reduce 131 omitted

# reduce 132 omitted

# reduce 133 omitted

# reduce 134 omitted

# reduce 135 omitted

# reduce 136 omitted

# reduce 137 omitted

# reduce 138 omitted

# reduce 139 omitted

# reduce 140 omitted

# reduce 141 omitted

# reduce 142 omitted

# reduce 143 omitted

# reduce 144 omitted

# reduce 145 omitted

# reduce 146 omitted

# reduce 147 omitted

# reduce 148 omitted

# reduce 149 omitted

# reduce 150 omitted

# reduce 151 omitted

# reduce 152 omitted

# reduce 153 omitted

# reduce 154 omitted

# reduce 155 omitted

# reduce 156 omitted

# reduce 157 omitted

# reduce 158 omitted

# reduce 159 omitted

# reduce 160 omitted

# reduce 161 omitted

# reduce 162 omitted

# reduce 163 omitted

# reduce 164 omitted

# reduce 165 omitted

# reduce 166 omitted

# reduce 167 omitted

# reduce 168 omitted

# reduce 169 omitted

# reduce 170 omitted

# reduce 171 omitted

# reduce 172 omitted

# reduce 173 omitted

# reduce 174 omitted

# reduce 175 omitted

# reduce 176 omitted

# reduce 177 omitted

# reduce 178 omitted

# reduce 179 omitted

# reduce 180 omitted

# reduce 181 omitted

# reduce 182 omitted

# reduce 183 omitted

# reduce 184 omitted

# reduce 185 omitted

# reduce 186 omitted

# reduce 187 omitted

# reduce 188 omitted

# reduce 189 omitted

# reduce 190 omitted

# reduce 191 omitted

# reduce 192 omitted

# reduce 193 omitted

module_eval(<<'.,.,', 'ruby22.y', 616)
  def _reduce_194(val, _values, result)
                          result = @builder.assign(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 620)
  def _reduce_195(val, _values, result)
                          rescue_body = @builder.rescue_body(val[3],
                                        nil, nil, nil,
                                        nil, val[4])

                      rescue_ = @builder.begin_body(val[2], [ rescue_body ])

                      result  = @builder.assign(val[0], val[1], rescue_)

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 630)
  def _reduce_196(val, _values, result)
                          result = @builder.op_assign(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 634)
  def _reduce_197(val, _values, result)
                          rescue_body = @builder.rescue_body(val[3],
                                        nil, nil, nil,
                                        nil, val[4])

                      rescue_ = @builder.begin_body(val[2], [ rescue_body ])

                      result = @builder.op_assign(val[0], val[1], rescue_)

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 644)
  def _reduce_198(val, _values, result)
                          result = @builder.op_assign(
                                  @builder.index(
                                    val[0], val[1], val[2], val[3]),
                                  val[4], val[5])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 651)
  def _reduce_199(val, _values, result)
                          result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 658)
  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(<<'.,.,', 'ruby22.y', 665)
  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(<<'.,.,', 'ruby22.y', 672)
  def _reduce_202(val, _values, result)
                          const  = @builder.const_op_assignable(
                                  @builder.const_fetch(val[0], val[1], val[2]))
                      result = @builder.op_assign(const, val[3], val[4])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 678)
  def _reduce_203(val, _values, result)
                          const  = @builder.const_op_assignable(
                                  @builder.const_global(val[0], val[1]))
                      result = @builder.op_assign(const, val[2], val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 684)
  def _reduce_204(val, _values, result)
                          result = @builder.op_assign(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 688)
  def _reduce_205(val, _values, result)
                          result = @builder.range_inclusive(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 692)
  def _reduce_206(val, _values, result)
                          result = @builder.range_exclusive(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 696)
  def _reduce_207(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])

    result
  end
.,.,

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

    result
  end
.,.,

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

    result
  end
.,.,

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

    result
  end
.,.,

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

    result
  end
.,.,

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

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 720)
  def _reduce_213(val, _values, result)
                          result = @builder.unary_op(val[0],
                                  @builder.binary_op(
                                    val[1], val[2], val[3]))

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 726)
  def _reduce_214(val, _values, result)
                          result = @builder.unary_op(val[0], val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 730)
  def _reduce_215(val, _values, result)
                          result = @builder.unary_op(val[0], val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 734)
  def _reduce_216(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 738)
  def _reduce_217(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])

    result
  end
.,.,

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

    result
  end
.,.,

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

    result
  end
.,.,

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

    result
  end
.,.,

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

    result
  end
.,.,

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

    result
  end
.,.,

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

    result
  end
.,.,

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

    result
  end
.,.,

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

    result
  end
.,.,

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

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 778)
  def _reduce_227(val, _values, result)
                          result = @builder.match_op(val[0], val[1], val[2])

    result
  end
.,.,

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

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 786)
  def _reduce_229(val, _values, result)
                          result = @builder.not_op(val[0], nil, val[1], nil)

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 790)
  def _reduce_230(val, _values, result)
                          result = @builder.unary_op(val[0], val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 794)
  def _reduce_231(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 798)
  def _reduce_232(val, _values, result)
                          result = @builder.binary_op(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 802)
  def _reduce_233(val, _values, result)
                          result = @builder.logical_op(:and, val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 806)
  def _reduce_234(val, _values, result)
                          result = @builder.logical_op(:or, val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 810)
  def _reduce_235(val, _values, result)
                          result = @builder.keyword_cmd(:defined?, val[0], nil, [ val[2] ], nil)

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 820)
  def _reduce_236(val, _values, result)
                          @lexer.push_cond
                      @lexer.cond.push(true)

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 825)
  def _reduce_237(val, _values, result)
                          @lexer.pop_cond

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 829)
  def _reduce_238(val, _values, result)
                          result = @builder.ternary(val[0], val[1],
                                                val[3], val[5], val[7])

    result
  end
.,.,

# reduce 239 omitted

# reduce 240 omitted

# reduce 241 omitted

# reduce 242 omitted

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

    result
  end
.,.,

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

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 849)
  def _reduce_245(val, _values, result)
                          result = val

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 854)
  def _reduce_246(val, _values, result)
                          result = [ nil, [], nil ]

    result
  end
.,.,

# reduce 247 omitted

module_eval(<<'.,.,', 'ruby22.y', 860)
  def _reduce_248(val, _values, result)
                          result = []

    result
  end
.,.,

# reduce 249 omitted

# reduce 250 omitted

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

    result
  end
.,.,

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

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 875)
  def _reduce_253(val, _values, result)
                          result = [ val[0] ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 879)
  def _reduce_254(val, _values, result)
                          result = val[0].concat(val[1])

    result
  end
.,.,

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

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 888)
  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(<<'.,.,', 'ruby22.y', 894)
  def _reduce_257(val, _values, result)
                          result =  [ val[0] ]

    result
  end
.,.,

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

    result
  end
.,.,

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

                      result = val[1]

    result
  end
.,.,

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

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 915)
  def _reduce_261(val, _values, result)
                          result = [ val[1] ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 919)
  def _reduce_262(val, _values, result)
                          result = []

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 924)
  def _reduce_263(val, _values, result)
                          result = [ val[0] ]

    result
  end
.,.,

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

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 932)
  def _reduce_265(val, _values, result)
                          result = val[0] << val[2]

    result
  end
.,.,

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

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 941)
  def _reduce_267(val, _values, result)
                          result = @builder.array(nil, val[0], nil)

    result
  end
.,.,

# reduce 268 omitted

module_eval(<<'.,.,', 'ruby22.y', 947)
  def _reduce_269(val, _values, result)
                          result = val[0] << val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 951)
  def _reduce_270(val, _values, result)
                          result = val[0] << @builder.splat(val[2], val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 955)
  def _reduce_271(val, _values, result)
                          result = [ @builder.splat(val[0], val[1]) ]

    result
  end
.,.,

# reduce 272 omitted

# reduce 273 omitted

# reduce 274 omitted

# reduce 275 omitted

# reduce 276 omitted

# reduce 277 omitted

# reduce 278 omitted

# reduce 279 omitted

# reduce 280 omitted

# reduce 281 omitted

module_eval(<<'.,.,', 'ruby22.y', 970)
  def _reduce_282(val, _values, result)
                          result = @builder.call_method(nil, nil, val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 974)
  def _reduce_283(val, _values, result)
                          result = @lexer.cmdarg.dup
                      @lexer.cmdarg.clear

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 979)
  def _reduce_284(val, _values, result)
                          @lexer.cmdarg = val[1]

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

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 985)
  def _reduce_285(val, _values, result)
                          result = @lexer.cmdarg.dup
                      @lexer.cmdarg.clear

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 990)
  def _reduce_286(val, _values, result)
                          @lexer.state = :expr_endarg

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 994)
  def _reduce_287(val, _values, result)
                          @lexer.cmdarg = val[1]

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

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1000)
  def _reduce_288(val, _values, result)
                          @lexer.state = :expr_endarg

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1004)
  def _reduce_289(val, _values, result)
                          result = @builder.begin(val[0], nil, val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1008)
  def _reduce_290(val, _values, result)
                          result = @builder.begin(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1012)
  def _reduce_291(val, _values, result)
                          result = @builder.const_fetch(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1016)
  def _reduce_292(val, _values, result)
                          result = @builder.const_global(val[0], val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1020)
  def _reduce_293(val, _values, result)
                          result = @builder.array(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1024)
  def _reduce_294(val, _values, result)
                          result = @builder.associate(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1028)
  def _reduce_295(val, _values, result)
                          result = @builder.keyword_cmd(:return, val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1032)
  def _reduce_296(val, _values, result)
                          result = @builder.keyword_cmd(:yield, val[0], val[1], val[2], val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1036)
  def _reduce_297(val, _values, result)
                          result = @builder.keyword_cmd(:yield, val[0], val[1], [], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1040)
  def _reduce_298(val, _values, result)
                          result = @builder.keyword_cmd(:yield, val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1044)
  def _reduce_299(val, _values, result)
                          result = @builder.keyword_cmd(:defined?, val[0],
                                                    val[2], [ val[3] ], val[4])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1049)
  def _reduce_300(val, _values, result)
                          result = @builder.not_op(val[0], val[1], val[2], val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1053)
  def _reduce_301(val, _values, result)
                          result = @builder.not_op(val[0], val[1], nil, val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1057)
  def _reduce_302(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 303 omitted

module_eval(<<'.,.,', 'ruby22.y', 1066)
  def _reduce_304(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(<<'.,.,', 'ruby22.y', 1072)
  def _reduce_305(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(<<'.,.,', 'ruby22.y', 1080)
  def _reduce_306(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(<<'.,.,', 'ruby22.y', 1087)
  def _reduce_307(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(<<'.,.,', 'ruby22.y', 1094)
  def _reduce_308(val, _values, result)
                          @lexer.cond.push(true)

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1098)
  def _reduce_309(val, _values, result)
                          @lexer.cond.pop

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1102)
  def _reduce_310(val, _values, result)
                          result = @builder.loop(:while, val[0], val[2], val[3],
                                             val[5], val[6])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1107)
  def _reduce_311(val, _values, result)
                          @lexer.cond.push(true)

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1111)
  def _reduce_312(val, _values, result)
                          @lexer.cond.pop

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1115)
  def _reduce_313(val, _values, result)
                          result = @builder.loop(:until, val[0], val[2], val[3],
                                             val[5], val[6])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1120)
  def _reduce_314(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(<<'.,.,', 'ruby22.y', 1128)
  def _reduce_315(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(<<'.,.,', 'ruby22.y', 1136)
  def _reduce_316(val, _values, result)
                          @lexer.cond.push(true)

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1140)
  def _reduce_317(val, _values, result)
                          @lexer.cond.pop

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1144)
  def _reduce_318(val, _values, result)
                          result = @builder.for(val[0], val[1],
                                            val[2], val[4],
                                            val[5], val[7], val[8])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1150)
  def _reduce_319(val, _values, result)
                          @static_env.extend_static
                      @lexer.push_cmdarg

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1155)
  def _reduce_320(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(<<'.,.,', 'ruby22.y', 1169)
  def _reduce_321(val, _values, result)
                          result = @def_level
                      @def_level = 0

                      @static_env.extend_static
                      @lexer.push_cmdarg

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1177)
  def _reduce_322(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(<<'.,.,', 'ruby22.y', 1187)
  def _reduce_323(val, _values, result)
                          @static_env.extend_static
                      @lexer.push_cmdarg

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1192)
  def _reduce_324(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(<<'.,.,', 'ruby22.y', 1204)
  def _reduce_325(val, _values, result)
                          @def_level += 1
                      @static_env.extend_static
                      @lexer.push_cmdarg

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1210)
  def _reduce_326(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(<<'.,.,', 'ruby22.y', 1219)
  def _reduce_327(val, _values, result)
                          @lexer.state = :expr_fname

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1223)
  def _reduce_328(val, _values, result)
                          @def_level += 1
                      @static_env.extend_static
                      @lexer.push_cmdarg

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1229)
  def _reduce_329(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(<<'.,.,', 'ruby22.y', 1238)
  def _reduce_330(val, _values, result)
                          result = @builder.keyword_cmd(:break, val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1242)
  def _reduce_331(val, _values, result)
                          result = @builder.keyword_cmd(:next, val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1246)
  def _reduce_332(val, _values, result)
                          result = @builder.keyword_cmd(:redo, val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1250)
  def _reduce_333(val, _values, result)
                          result = @builder.keyword_cmd(:retry, val[0])

    result
  end
.,.,

# reduce 334 omitted

# reduce 335 omitted

# reduce 336 omitted

module_eval(<<'.,.,', 'ruby22.y', 1259)
  def _reduce_337(val, _values, result)
                          result = val[1]

    result
  end
.,.,

# reduce 338 omitted

# reduce 339 omitted

# reduce 340 omitted

module_eval(<<'.,.,', 'ruby22.y', 1268)
  def _reduce_341(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 342 omitted

module_eval(<<'.,.,', 'ruby22.y', 1279)
  def _reduce_343(val, _values, result)
                          result = val

    result
  end
.,.,

# reduce 344 omitted

# reduce 345 omitted

module_eval(<<'.,.,', 'ruby22.y', 1287)
  def _reduce_346(val, _values, result)
                          result = @builder.arg(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1291)
  def _reduce_347(val, _values, result)
                          result = @builder.multi_lhs(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1296)
  def _reduce_348(val, _values, result)
                          result = [ val[0] ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1300)
  def _reduce_349(val, _values, result)
                          result = val[0] << val[2]

    result
  end
.,.,

# reduce 350 omitted

module_eval(<<'.,.,', 'ruby22.y', 1306)
  def _reduce_351(val, _values, result)
                          result = val[0].
                                  push(@builder.restarg(val[2], val[3]))

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1311)
  def _reduce_352(val, _values, result)
                          result = val[0].
                                  push(@builder.restarg(val[2], val[3])).
                                  concat(val[5])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1317)
  def _reduce_353(val, _values, result)
                          result = val[0].
                                  push(@builder.restarg(val[2]))

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1322)
  def _reduce_354(val, _values, result)
                          result = val[0].
                                  push(@builder.restarg(val[2])).
                                  concat(val[4])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1328)
  def _reduce_355(val, _values, result)
                          result = [ @builder.restarg(val[0], val[1]) ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1332)
  def _reduce_356(val, _values, result)
                          result = [ @builder.restarg(val[0], val[1]),
                                 *val[3] ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1337)
  def _reduce_357(val, _values, result)
                          result = [ @builder.restarg(val[0]) ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1341)
  def _reduce_358(val, _values, result)
                          result = [ @builder.restarg(val[0]),
                                 *val[2] ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1347)
  def _reduce_359(val, _values, result)
                          result = val[0].concat(val[2]).concat(val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1351)
  def _reduce_360(val, _values, result)
                          result = val[0].concat(val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1355)
  def _reduce_361(val, _values, result)
                          result = val[0].concat(val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1359)
  def _reduce_362(val, _values, result)
                          result = [ val[0] ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1365)
  def _reduce_363(val, _values, result)
                          result = val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1369)
  def _reduce_364(val, _values, result)
                          result = []

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1374)
  def _reduce_365(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1381)
  def _reduce_366(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[6]).
                                  concat(val[7])

    result
  end
.,.,

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

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1395)
  def _reduce_368(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1402)
  def _reduce_369(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])

    result
  end
.,.,

# reduce 370 omitted

module_eval(<<'.,.,', 'ruby22.y', 1409)
  def _reduce_371(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1416)
  def _reduce_372(val, _values, result)
                          result = val[0].concat(val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1420)
  def _reduce_373(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1426)
  def _reduce_374(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1433)
  def _reduce_375(val, _values, result)
                          result = val[0].
                                  concat(val[1])

    result
  end
.,.,

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

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1444)
  def _reduce_377(val, _values, result)
                          result = val[0].
                                  concat(val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1449)
  def _reduce_378(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])

    result
  end
.,.,

# reduce 379 omitted

module_eval(<<'.,.,', 'ruby22.y', 1457)
  def _reduce_380(val, _values, result)
                          result = @builder.args(nil, [], nil)

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1461)
  def _reduce_381(val, _values, result)
                          @lexer.state = :expr_value

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1466)
  def _reduce_382(val, _values, result)
                          result = @builder.args(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1470)
  def _reduce_383(val, _values, result)
                          result = @builder.args(val[0], [], val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1474)
  def _reduce_384(val, _values, result)
                          result = @builder.args(val[0], val[1].concat(val[2]), val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1479)
  def _reduce_385(val, _values, result)
                          result = []

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1483)
  def _reduce_386(val, _values, result)
                          result = val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1488)
  def _reduce_387(val, _values, result)
                          result = [ val[0] ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1492)
  def _reduce_388(val, _values, result)
                          result = val[0] << val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1497)
  def _reduce_389(val, _values, result)
                          result = @builder.shadowarg(val[0])

    result
  end
.,.,

# reduce 390 omitted

module_eval(<<'.,.,', 'ruby22.y', 1502)
  def _reduce_391(val, _values, result)
                          @static_env.extend_dynamic

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1506)
  def _reduce_392(val, _values, result)
                          result = @lexer.cmdarg.dup
                      @lexer.cmdarg.clear

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1511)
  def _reduce_393(val, _values, result)
                          @lexer.cmdarg = val[2]
                      @lexer.cmdarg.lexpop

                      result = [ val[1], val[3] ]

                      @static_env.unextend

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1521)
  def _reduce_394(val, _values, result)
                          result = @builder.args(val[0], val[1].concat(val[2]), val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1525)
  def _reduce_395(val, _values, result)
                          result = @builder.args(nil, val[0], nil)

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1530)
  def _reduce_396(val, _values, result)
                          result = [ val[0], val[1], val[2] ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1534)
  def _reduce_397(val, _values, result)
                          result = [ val[0], val[1], val[2] ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1539)
  def _reduce_398(val, _values, result)
                          @static_env.extend_dynamic

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1543)
  def _reduce_399(val, _values, result)
                          result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1550)
  def _reduce_400(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(<<'.,.,', 'ruby22.y', 1556)
  def _reduce_401(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(<<'.,.,', 'ruby22.y', 1562)
  def _reduce_402(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(<<'.,.,', 'ruby22.y', 1572)
  def _reduce_403(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(<<'.,.,', 'ruby22.y', 1582)
  def _reduce_404(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(<<'.,.,', 'ruby22.y', 1588)
  def _reduce_405(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(<<'.,.,', 'ruby22.y', 1594)
  def _reduce_406(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(<<'.,.,', 'ruby22.y', 1600)
  def _reduce_407(val, _values, result)
                          result = @builder.call_method(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1604)
  def _reduce_408(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(<<'.,.,', 'ruby22.y', 1610)
  def _reduce_409(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(<<'.,.,', 'ruby22.y', 1616)
  def _reduce_410(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(<<'.,.,', 'ruby22.y', 1622)
  def _reduce_411(val, _values, result)
                          result = @builder.keyword_cmd(:zsuper, val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1626)
  def _reduce_412(val, _values, result)
                          result = @builder.index(val[0], val[1], val[2], val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1631)
  def _reduce_413(val, _values, result)
                          @static_env.extend_dynamic

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1635)
  def _reduce_414(val, _values, result)
                          result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1641)
  def _reduce_415(val, _values, result)
                          @static_env.extend_dynamic

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1645)
  def _reduce_416(val, _values, result)
                          result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1652)
  def _reduce_417(val, _values, result)
                          result = [ @builder.when(val[0], val[1], val[2], val[3]),
                                 *val[4] ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1658)
  def _reduce_418(val, _values, result)
                          result = [ val[0] ]

    result
  end
.,.,

# reduce 419 omitted

module_eval(<<'.,.,', 'ruby22.y', 1664)
  def _reduce_420(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(<<'.,.,', 'ruby22.y', 1677)
  def _reduce_421(val, _values, result)
                          result = []

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1682)
  def _reduce_422(val, _values, result)
                          result = [ val[0] ]

    result
  end
.,.,

# reduce 423 omitted

# reduce 424 omitted

module_eval(<<'.,.,', 'ruby22.y', 1689)
  def _reduce_425(val, _values, result)
                          result = [ val[0], val[1] ]

    result
  end
.,.,

# reduce 426 omitted

module_eval(<<'.,.,', 'ruby22.y', 1695)
  def _reduce_427(val, _values, result)
                          result = [ val[0], val[1] ]

    result
  end
.,.,

# reduce 428 omitted

# reduce 429 omitted

# reduce 430 omitted

# reduce 431 omitted

module_eval(<<'.,.,', 'ruby22.y', 1705)
  def _reduce_432(val, _values, result)
                          result = @builder.string_compose(nil, val[0], nil)

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1710)
  def _reduce_433(val, _values, result)
                          result = [ val[0] ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1714)
  def _reduce_434(val, _values, result)
                          result = val[0] << val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1719)
  def _reduce_435(val, _values, result)
                          result = @builder.string_compose(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1723)
  def _reduce_436(val, _values, result)
                          result = @builder.string(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1727)
  def _reduce_437(val, _values, result)
                          result = @builder.character(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1732)
  def _reduce_438(val, _values, result)
                          result = @builder.xstring_compose(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1737)
  def _reduce_439(val, _values, result)
                          opts   = @builder.regexp_options(val[3])
                      result = @builder.regexp_compose(val[0], val[1], val[2], opts)

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1743)
  def _reduce_440(val, _values, result)
                          result = @builder.words_compose(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1748)
  def _reduce_441(val, _values, result)
                          result = []

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1752)
  def _reduce_442(val, _values, result)
                          result = val[0] << @builder.word(val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1757)
  def _reduce_443(val, _values, result)
                          result = [ val[0] ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1761)
  def _reduce_444(val, _values, result)
                          result = val[0] << val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1766)
  def _reduce_445(val, _values, result)
                          result = @builder.symbols_compose(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1771)
  def _reduce_446(val, _values, result)
                          result = []

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1775)
  def _reduce_447(val, _values, result)
                          result = val[0] << @builder.word(val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1780)
  def _reduce_448(val, _values, result)
                          result = @builder.words_compose(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1785)
  def _reduce_449(val, _values, result)
                          result = @builder.symbols_compose(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1790)
  def _reduce_450(val, _values, result)
                          result = []

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1794)
  def _reduce_451(val, _values, result)
                          result = val[0] << @builder.string_internal(val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1799)
  def _reduce_452(val, _values, result)
                          result = []

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1803)
  def _reduce_453(val, _values, result)
                          result = val[0] << @builder.symbol_internal(val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1808)
  def _reduce_454(val, _values, result)
                          result = []

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1812)
  def _reduce_455(val, _values, result)
                          result = val[0] << val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1817)
  def _reduce_456(val, _values, result)
                          result = []

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1821)
  def _reduce_457(val, _values, result)
                          result = val[0] << val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1826)
  def _reduce_458(val, _values, result)
                          result = []

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1830)
  def _reduce_459(val, _values, result)
                          result = val[0] << val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1835)
  def _reduce_460(val, _values, result)
                          result = @builder.string_internal(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1839)
  def _reduce_461(val, _values, result)
                          result = val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1843)
  def _reduce_462(val, _values, result)
                          @lexer.cond.push(false)
                      @lexer.cmdarg.push(false)

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1848)
  def _reduce_463(val, _values, result)
                          @lexer.cond.lexpop
                      @lexer.cmdarg.lexpop

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

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1856)
  def _reduce_464(val, _values, result)
                          result = @builder.gvar(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1860)
  def _reduce_465(val, _values, result)
                          result = @builder.ivar(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1864)
  def _reduce_466(val, _values, result)
                          result = @builder.cvar(val[0])

    result
  end
.,.,

# reduce 467 omitted

module_eval(<<'.,.,', 'ruby22.y', 1871)
  def _reduce_468(val, _values, result)
                          result = @builder.symbol(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1876)
  def _reduce_469(val, _values, result)
                          result = @builder.symbol_compose(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1881)
  def _reduce_470(val, _values, result)
                          result = val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1885)
  def _reduce_471(val, _values, result)
                          result = @builder.negate(val[0], val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1890)
  def _reduce_472(val, _values, result)
                          result = @builder.integer(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1894)
  def _reduce_473(val, _values, result)
                          result = @builder.float(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1898)
  def _reduce_474(val, _values, result)
                          result = @builder.rational(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1902)
  def _reduce_475(val, _values, result)
                          result = @builder.complex(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1907)
  def _reduce_476(val, _values, result)
                          result = @builder.ident(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1911)
  def _reduce_477(val, _values, result)
                          result = @builder.ivar(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1915)
  def _reduce_478(val, _values, result)
                          result = @builder.gvar(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1919)
  def _reduce_479(val, _values, result)
                          result = @builder.const(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1923)
  def _reduce_480(val, _values, result)
                          result = @builder.cvar(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1928)
  def _reduce_481(val, _values, result)
                          result = @builder.nil(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1932)
  def _reduce_482(val, _values, result)
                          result = @builder.self(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1936)
  def _reduce_483(val, _values, result)
                          result = @builder.true(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1940)
  def _reduce_484(val, _values, result)
                          result = @builder.false(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1944)
  def _reduce_485(val, _values, result)
                          result = @builder.__FILE__(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1948)
  def _reduce_486(val, _values, result)
                          result = @builder.__LINE__(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1952)
  def _reduce_487(val, _values, result)
                          result = @builder.__ENCODING__(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1957)
  def _reduce_488(val, _values, result)
                          result = @builder.accessible(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1961)
  def _reduce_489(val, _values, result)
                          result = @builder.accessible(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1966)
  def _reduce_490(val, _values, result)
                          result = @builder.assignable(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1970)
  def _reduce_491(val, _values, result)
                          result = @builder.assignable(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1975)
  def _reduce_492(val, _values, result)
                          result = @builder.nth_ref(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1979)
  def _reduce_493(val, _values, result)
                          result = @builder.back_ref(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1984)
  def _reduce_494(val, _values, result)
                          result = nil

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1988)
  def _reduce_495(val, _values, result)
                          @lexer.state = :expr_value

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1992)
  def _reduce_496(val, _values, result)
                          result = [ val[0], val[2] ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 1996)
  def _reduce_497(val, _values, result)
                          yyerrok
                      result = nil

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2002)
  def _reduce_498(val, _values, result)
                          result = @builder.args(val[0], val[1], val[2])

                      @lexer.state = :expr_value

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2007)
  def _reduce_499(val, _values, result)
                          result = @lexer.in_kwarg
                      @lexer.in_kwarg = true

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2012)
  def _reduce_500(val, _values, result)
                          @lexer.in_kwarg = val[0]
                      result = @builder.args(nil, val[1], nil)

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2018)
  def _reduce_501(val, _values, result)
                          result = val[0].concat(val[2]).concat(val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2022)
  def _reduce_502(val, _values, result)
                          result = val[0].concat(val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2026)
  def _reduce_503(val, _values, result)
                          result = val[0].concat(val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2030)
  def _reduce_504(val, _values, result)
                          result = [ val[0] ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2035)
  def _reduce_505(val, _values, result)
                          result = val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2039)
  def _reduce_506(val, _values, result)
                          result = []

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2044)
  def _reduce_507(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2051)
  def _reduce_508(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[6]).
                                  concat(val[7])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2059)
  def _reduce_509(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2065)
  def _reduce_510(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])

    result
  end
.,.,

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

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2078)
  def _reduce_512(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2085)
  def _reduce_513(val, _values, result)
                          result = val[0].
                                  concat(val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2090)
  def _reduce_514(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2096)
  def _reduce_515(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2103)
  def _reduce_516(val, _values, result)
                          result = val[0].
                                  concat(val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2108)
  def _reduce_517(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2114)
  def _reduce_518(val, _values, result)
                          result = val[0].
                                  concat(val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2119)
  def _reduce_519(val, _values, result)
                          result = val[0].
                                  concat(val[2]).
                                  concat(val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2125)
  def _reduce_520(val, _values, result)
                          result = val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2129)
  def _reduce_521(val, _values, result)
                          result = []

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2134)
  def _reduce_522(val, _values, result)
                          diagnostic :error, :argument_const, nil, val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2138)
  def _reduce_523(val, _values, result)
                          diagnostic :error, :argument_ivar, nil, val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2142)
  def _reduce_524(val, _values, result)
                          diagnostic :error, :argument_gvar, nil, val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2146)
  def _reduce_525(val, _values, result)
                          diagnostic :error, :argument_cvar, nil, val[0]

    result
  end
.,.,

# reduce 526 omitted

module_eval(<<'.,.,', 'ruby22.y', 2152)
  def _reduce_527(val, _values, result)
                          @static_env.declare val[0][0]

                      result = val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2159)
  def _reduce_528(val, _values, result)
                          result = val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2164)
  def _reduce_529(val, _values, result)
                          result = @builder.arg(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2168)
  def _reduce_530(val, _values, result)
                          result = @builder.multi_lhs(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2173)
  def _reduce_531(val, _values, result)
                          result = [ val[0] ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2177)
  def _reduce_532(val, _values, result)
                          result = val[0] << val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2182)
  def _reduce_533(val, _values, result)
                          check_kwarg_name(val[0])

                      @static_env.declare val[0][0]

                      result = val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2191)
  def _reduce_534(val, _values, result)
                          result = @builder.kwoptarg(val[0], val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2195)
  def _reduce_535(val, _values, result)
                          result = @builder.kwarg(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2200)
  def _reduce_536(val, _values, result)
                          result = @builder.kwoptarg(val[0], val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2204)
  def _reduce_537(val, _values, result)
                          result = @builder.kwarg(val[0])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2209)
  def _reduce_538(val, _values, result)
                          result = [ val[0] ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2213)
  def _reduce_539(val, _values, result)
                          result = val[0] << val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2218)
  def _reduce_540(val, _values, result)
                          result = [ val[0] ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2222)
  def _reduce_541(val, _values, result)
                          result = val[0] << val[2]

    result
  end
.,.,

# reduce 542 omitted

# reduce 543 omitted

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

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

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2235)
  def _reduce_545(val, _values, result)
                          result = [ @builder.kwrestarg(val[0]) ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2240)
  def _reduce_546(val, _values, result)
                          result = @builder.optarg(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2245)
  def _reduce_547(val, _values, result)
                          result = @builder.optarg(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2250)
  def _reduce_548(val, _values, result)
                          result = [ val[0] ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2254)
  def _reduce_549(val, _values, result)
                          result = val[0] << val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2259)
  def _reduce_550(val, _values, result)
                          result = [ val[0] ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2263)
  def _reduce_551(val, _values, result)
                          result = val[0] << val[2]

    result
  end
.,.,

# reduce 552 omitted

# reduce 553 omitted

module_eval(<<'.,.,', 'ruby22.y', 2270)
  def _reduce_554(val, _values, result)
                          @static_env.declare val[1][0]

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

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2276)
  def _reduce_555(val, _values, result)
                          result = [ @builder.restarg(val[0]) ]

    result
  end
.,.,

# reduce 556 omitted

# reduce 557 omitted

module_eval(<<'.,.,', 'ruby22.y', 2283)
  def _reduce_558(val, _values, result)
                          @static_env.declare val[1][0]

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

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2290)
  def _reduce_559(val, _values, result)
                          result = [ val[1] ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2294)
  def _reduce_560(val, _values, result)
                          result = []

    result
  end
.,.,

# reduce 561 omitted

module_eval(<<'.,.,', 'ruby22.y', 2300)
  def _reduce_562(val, _values, result)
                          result = val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2305)
  def _reduce_563(val, _values, result)
                          result = []

    result
  end
.,.,

# reduce 564 omitted

module_eval(<<'.,.,', 'ruby22.y', 2311)
  def _reduce_565(val, _values, result)
                          result = [ val[0] ]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2315)
  def _reduce_566(val, _values, result)
                          result = val[0] << val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2320)
  def _reduce_567(val, _values, result)
                          result = @builder.pair(val[0], val[1], val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2324)
  def _reduce_568(val, _values, result)
                          result = @builder.pair_keyword(val[0], val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2328)
  def _reduce_569(val, _values, result)
                          result = @builder.pair_quoted(val[0], val[1], val[2], val[3])

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2332)
  def _reduce_570(val, _values, result)
                          result = @builder.kwsplat(val[0], val[1])

    result
  end
.,.,

# reduce 571 omitted

# reduce 572 omitted

# reduce 573 omitted

# reduce 574 omitted

# reduce 575 omitted

# reduce 576 omitted

# reduce 577 omitted

# reduce 578 omitted

# reduce 579 omitted

# reduce 580 omitted

# reduce 581 omitted

# reduce 582 omitted

# reduce 583 omitted

# reduce 584 omitted

# reduce 585 omitted

# reduce 586 omitted

module_eval(<<'.,.,', 'ruby22.y', 2343)
  def _reduce_587(val, _values, result)
                          result = val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'ruby22.y', 2347)
  def _reduce_588(val, _values, result)
                          result = val[1]

    result
  end
.,.,

# reduce 589 omitted

# reduce 590 omitted

# reduce 591 omitted

module_eval(<<'.,.,', 'ruby22.y', 2353)
  def _reduce_592(val, _values, result)
                        yyerrok

    result
  end
.,.,

# reduce 593 omitted

# reduce 594 omitted

# reduce 595 omitted

module_eval(<<'.,.,', 'ruby22.y', 2362)
  def _reduce_596(val, _values, result)
                        result = nil

    result
  end
.,.,

def _reduce_none(val, _values, result)
  val[0]
end

  end   # class Ruby22
end   # module Parser