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

require 'racc/parser.rb'


require 'parser'

module Parser
  class Ruby23 < Parser::Base


  def version
    23
  end

  def default_encoding
    Encoding::UTF_8
  end
##### State transition tables begin ###

clist = [
'-578,-98,538,-101,516,-104,693,-578,-578,-578,270,-103,-578,-578,-578',
'113,-578,270,538,580,112,219,216,217,-83,-578,-578,-578,-578,578,538',
'783,965,544,-69,869,-578,-578,538,-578,-578,-578,-578,-578,-491,-105',
'-99,815,783,-97,-97,-91,397,538,109,216,217,399,398,-286,-98,-104,220',
'121,-100,-102,-578,-578,-578,-578,-578,-578,-578,-578,-578,-578,-578',
'-578,-578,-578,-574,693,-578,-578,-578,579,749,-578,-575,-105,-578,693',
'-104,-578,-578,577,-578,269,-578,-286,-578,-97,-578,-578,269,-578,-578',
'-578,-578,-578,113,-578,-578,-578,-100,112,220,-91,-102,-98,113,-101',
'206,-104,-98,112,-101,-578,-104,-103,-578,-578,-578,-578,-103,-578,113',
'-578,-480,820,-99,112,-578,-101,868,-480,-480,-480,113,220,-480,-480',
'-480,112,-480,-90,113,-91,207,-88,-91,112,-480,-105,-480,-480,-480,-97',
'-105,-89,-91,113,-97,-90,-480,-480,112,-480,-480,-480,-480,-480,-100',
'-102,208,113,215,-100,-102,-101,112,615,216,217,-92,113,747,259,-96',
'550,112,-95,-103,551,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480',
'-480,-480,-480,-480,318,270,-480,-480,-480,-91,-480,-480,614,-93,-480',
'319,-93,-480,-480,220,-480,387,-480,400,-480,-90,-480,-480,748,-480',
'-480,-480,-480,-480,-289,-480,-492,-480,444,-100,-574,-289,-289,-289',
'-99,-574,-92,-289,-289,-99,-289,-480,615,-575,-480,-480,-480,-480,445',
'-480,446,-480,-578,615,447,-90,-480,-480,-90,265,-289,-289,220,-289',
'-289,-289,-289,-289,-90,216,217,-477,-93,212,-92,-102,-92,614,-477,-92',
'263,528,269,-98,530,270,615,-94,614,-92,-289,-289,-289,-289,-289,-289',
'-289,-289,-289,-289,-289,-289,-289,-289,-578,-105,-289,-289,-289,219',
'598,-578,-93,478,-289,-93,-574,-289,91,92,-578,614,-289,838,-289,-93',
'-289,-289,487,-289,-289,-289,-289,-289,-477,-289,-477,-289,213,-578',
'489,-477,-477,-477,91,92,-477,-477,-477,265,-477,-289,491,528,-289,-289',
'530,-94,-477,-289,-477,-477,-477,113,686,685,-289,-103,112,-578,-477',
'-477,269,-477,-477,-477,-477,-477,-492,528,-99,670,527,667,666,665,670',
'668,667,666,665,-484,668,499,113,-68,93,94,-484,112,-477,-477,-477,-477',
'-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,113,220,-477,-477',
'-477,112,-477,-477,93,94,-477,-89,565,-477,-477,565,-477,565,-477,565',
'-477,-98,-477,-477,502,-477,-477,-477,-477,-477,565,-477,-289,-477,220',
'216,217,969,113,-289,-289,-289,-484,112,-289,-289,-289,-477,-289,984',
'-477,-477,-477,-477,887,-477,113,-477,-289,-289,-289,112,-477,-477,528',
'-571,214,530,-289,-289,503,-289,-289,-289,-289,-289,567,566,563,567',
'566,567,566,567,566,563,815,783,510,726,274,724,220,630,567,566,568',
'265,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289',
'-289,240,-96,-289,-289,-289,-477,750,-289,216,217,-289,-105,-477,-289',
'-289,565,-289,-571,-289,513,-289,-477,-289,-289,517,-289,-289,-289,-289',
'-289,240,-289,237,-289,216,217,239,238,565,670,-571,667,666,665,675',
'668,565,-289,220,565,-289,-289,-289,-289,678,-289,79,-289,-578,531,733',
'532,-289,-103,491,-578,-578,-578,80,544,-477,-578,-578,389,-578,548',
'673,549,81,567,566,570,557,-578,582,683,682,686,685,-489,585,-572,679',
'-261,-578,-578,-489,-578,-578,-578,-578,-578,567,566,576,-489,587,-90',
'220,-483,567,566,572,567,566,581,-483,-99,220,116,117,118,119,120,-578',
'-578,-578,-578,-578,-578,-578,-578,-578,-578,-578,-578,-578,-578,591',
'592,-578,-578,-578,-480,599,-482,212,265,-578,602,-480,-578,-482,553',
'-489,-572,-578,605,-578,-480,-578,-578,555,-578,-578,-578,-578,-578',
'240,-578,-578,-578,240,240,-483,-485,-490,516,-572,212,-279,-491,-485',
'-490,240,-578,509,-279,-578,-578,-580,-92,-490,-578,220,507,-279,-580',
'-580,-580,-578,-101,-580,-580,-580,212,-580,220,-480,220,-482,213,547',
'-83,634,-580,-580,-580,-580,220,521,545,645,650,-95,651,-580,-580,-88',
'-580,-580,-580,-580,-580,-104,212,653,689,-97,-333,-485,-490,442,544',
'213,-279,-333,-488,696,713,723,443,727,728,-488,-333,-580,-580,-580',
'-580,-580,-580,-580,-580,-580,-580,-580,-580,-580,-580,213,212,-580',
'-580,-580,-262,734,-580,519,478,-580,478,-486,-580,-580,220,-580,443',
'-580,-486,-580,752,-580,-580,259,-580,-580,-580,-580,-580,213,-580,-580',
'-580,-333,489,212,-487,-290,-480,491,776,-488,263,-487,-290,-480,-580',
'240,645,-580,-580,-580,-580,-290,-580,-412,-580,220,593,265,594,-580',
'-412,-412,-412,213,265,-412,-412,-412,212,-412,645,240,783,220,-486',
'211,792,237,-412,-412,-412,239,238,795,209,796,798,800,802,-412,-412',
'810,-412,-412,-412,-412,-412,811,213,-487,-290,-480,-289,-91,670,-93',
'667,666,665,-289,668,812,783,-100,-575,-102,819,220,-289,-412,-412,-412',
'-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,213,220,-412',
'-412,-412,828,-263,-412,804,265,-412,837,840,-412,-412,795,-412,807',
'-412,843,-412,845,-412,-412,847,-412,-412,-412,-412,-412,-296,-412,-412',
'-412,-289,849,220,-296,-296,-296,851,852,-296,-296,-296,212,-296,-412',
'240,855,-412,-412,920,-412,857,-412,-296,-296,858,718,719,555,-412,720',
'107,108,-296,-296,645,-296,-296,-296,-296,-296,860,212,-261,864,866',
'212,237,220,920,885,239,238,975,235,236,220,889,555,891,897,900,973',
'-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296',
'213,-290,-296,-296,-296,220,904,-296,-290,274,-296,-264,914,-296,-296',
'921,-296,-290,-296,922,-296,933,-296,-296,795,-296,-296,-296,-296,-296',
'213,-296,-579,-296,213,935,937,939,941,-579,-579,-579,675,941,-579,-579',
'-579,-296,-579,220,-296,-296,678,-296,947,-296,950,-579,-579,-579,-579',
'917,-296,667,666,665,-290,668,-579,-579,951,-579,-579,-579,-579,-579',
'917,-289,667,666,665,956,668,713,-289,686,685,795,959,-575,679,961,963',
'-289,965,965,976,986,-579,-579,-579,-579,-579,-579,-579,-579,-579,-579',
'-579,-579,-579,-579,-575,675,-579,-579,-579,-574,650,-579,1001,1002',
'-579,678,1003,-579,-579,941,-579,941,-579,941,-579,1008,-579,-579,986',
'-579,-579,-579,-579,-579,-289,-579,-579,-579,116,117,118,119,120,116',
'117,118,119,120,686,685,1011,-579,1012,679,-579,-579,-579,-579,1013',
'-579,-244,-579,965,965,965,220,-579,-244,-244,-244,986,941,-244,-244',
'-244,670,-244,667,666,665,675,668,240,986,,-244,-244,,,670,678,667,666',
'665,,668,-244,-244,,-244,-244,-244,-244,-244,670,,667,666,665,,668,',
'673,,237,,,,239,238,,235,236,686,685,,804,670,679,667,666,665,,668,',
'946,,-244,,-280,,804,,,-244,,-280,-280,-280,265,-244,-280,-280,-280',
'670,-280,667,666,665,,668,,,,804,-280,-280,-280,,,,,-244,-244,,-280',
'-280,,-280,-280,-280,-280,-280,,,,,-244,,,-244,804,,,,-244,,,,,807,',
'-244,,,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280',
'-280,,,-280,-280,-280,,,-280,,,-280,,,-280,-280,,-280,,-280,,-280,,-280',
'-280,,-280,-280,-280,-280,-280,,-280,,-280,,,670,,667,666,665,,668,',
',,,-280,,,-280,-280,-280,-280,,-280,-244,-280,,,,,-280,-244,-244,-244',
',,-244,-244,-244,240,-244,804,,,,,,,,-244,-244,-244,,,,254,255,,,,-244',
'-244,,-244,-244,-244,-244,-244,,,,237,,243,,239,238,,235,236,,,241,',
'242,,,,,,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244',
'-244,-244,,,-244,-244,-244,,,-244,,265,-244,,,-244,-244,,-244,,-244',
',-244,,-244,-244,,-244,-244,-244,-244,-244,,-244,-244,-244,670,,667',
'666,665,,668,,670,,667,666,665,-244,668,,-244,-244,,-244,,-244,292,69',
'70,71,9,57,-244,,,63,64,,,,67,804,65,66,68,30,31,72,73,804,,,,,29,28',
'27,101,100,102,103,,,19,,,,,603,8,45,294,10,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,42,43,41,240,244,249,250,251,246,248,256,257,252',
'253,,233,234,,,254,255,,40,,,33,,,58,59,,,60,,35,237,,243,44,239,238',
',235,236,247,245,241,20,242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,258',
',-238,,,62,,81,93,94,292,69,70,71,9,57,,,,63,64,,,,67,,65,66,68,30,31',
'72,73,,,,,,29,28,27,101,100,102,103,,,19,,,,,603,8,45,294,10,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,240,244,249,250,251,246',
'248,256,257,252,253,,233,234,,,254,255,,40,,,33,,,58,59,,,60,,35,237',
',243,44,239,238,,235,236,247,245,241,20,242,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,258,,,,,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,,,,,588,8,45,7',
'10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,240,244,249',
'250,251,246,248,256,257,252,253,,233,234,,,254,255,,40,,,33,,,58,59',
',,60,,35,237,,243,44,239,238,,235,236,247,245,241,20,242,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,258,,,,,62,,81,93,94,292,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,294,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43',
'41,240,244,249,250,251,246,248,256,257,252,253,,233,234,,,254,255,,40',
',,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236,247,245,241,20,242',
',,,89,79,82,83,,84,86,85,87,,,,,80,88,,258,,,,,62,,81,93,94,292,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,294,10,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,240,244,249,250,251,246,248,256,257,252,253,,233,234,,,254',
'255,,40,,,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236,247,245,241',
'20,242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,258,,,,,62,,81,93,94,292',
'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,294,10,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,240,244,249,250,251,246,248,256,257,252,253,,233',
'234,,,254,255,,40,,,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236',
'247,245,241,20,242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,258,,,,,62',
',81,93,94,292,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,294,10,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,240,244,249,250,251,246,248,256,257',
'252,253,,233,234,,,254,255,,40,,,33,,,58,59,,,60,,35,237,,243,44,239',
'238,,235,236,247,245,241,20,242,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',258,,,,,62,,81,93,94,292,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,294,10,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,240,244,249,250,251,246',
'248,256,257,252,253,,233,234,,,254,255,,40,,,33,,,58,59,,,60,,35,237',
',243,44,239,238,,235,236,247,245,241,20,242,,,,89,79,82,83,,84,86,85',
'87,,,,,80,88,,258,,,,,62,,81,93,94,292,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,294',
'10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,240,244,249',
'250,251,246,248,256,257,252,253,,233,234,,,254,255,,40,,,33,,,58,59',
',,60,,35,237,,243,44,239,238,,235,236,247,245,241,20,242,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,258,,,,,62,,81,93,94,292,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,294,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43',
'41,240,244,249,250,251,246,248,256,257,252,253,,233,234,,,254,255,,40',
',,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236,247,245,241,20,242',
',,,89,79,82,83,,84,86,85,87,,,,,80,88,,258,,,,,62,,81,93,94,292,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,294,10,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,240,244,249,250,251,246,248,256,257,252,253,,233,234,,,254',
'255,,40,,,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236,247,245,241',
'20,242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,258,,,,,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,240,244,249,250,251,246,248,256,257,252,253,,233,234',
',,254,255,,40,,,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236,247',
'245,241,20,242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,258,,,,,62,,81',
'93,94,292,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,294,10,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,42,43,41,240,244,249,250,251,246,248,256,257,252',
'253,,233,234,,,254,255,,40,,,33,,,58,59,,,60,,35,237,,243,44,239,238',
',235,236,247,245,241,20,242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,258',
',,,,62,,81,93,94,292,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,294,10,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,240,244,249,250,251,246,248',
'256,257,252,253,,233,234,,,254,255,,40,,,33,,,58,59,,,60,,35,237,,243',
'44,239,238,,235,236,247,245,241,20,242,,,,89,79,82,83,,84,86,85,87,',
',,,80,88,,258,,,,,62,,81,93,94,292,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,294,10',
'105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,240,244,249,250',
'251,246,248,256,257,252,253,,233,234,,,254,255,,40,,,33,,,58,59,,,60',
',35,237,,243,44,239,238,,235,236,247,245,241,20,242,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,258,,,,,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,240',
'244,249,250,251,246,248,256,257,252,253,,233,234,,,254,255,,40,,,33',
',,58,59,,,60,,35,237,,243,44,239,238,,235,236,247,245,241,20,242,,,',
'89,79,82,83,,84,86,85,87,,,,,80,88,220,258,,,,,62,,81,93,94,292,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,294,10,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,240,244,249,250,251,246,248,256,257,252,253,,233,234,,,254',
'255,,40,,,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236,247,245,241',
'20,242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,258,,,,,62,,81,93,94,292',
'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,294,10,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,240,244,249,250,251,246,248,,,252,253,,,,,,254,255',
',40,,,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236,247,245,241,20',
'242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,292,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,294,10,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,42,43,41,240,-599,-599,-599,-599,246,248,,,-599,-599,,,,,,254',
'255,,40,,,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236,247,245,241',
'20,242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,292',
'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,294,10,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,240,-599,-599,-599,-599,246,248,,,-599,-599,,,,',
',254,255,,40,,,296,,,58,59,,,60,,35,237,,243,44,239,238,,235,236,247',
'245,241,20,242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93',
'94,292,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,294,10,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,240,244,249,250,251,246,248,256,,252,253',
',,,,,254,255,,40,,,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236',
'247,245,241,20,242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81',
'93,94,292,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,294,10,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,42,43,41,240,,,,,,,,,,,,,,,,254,255,,40,,,296',
',,58,59,,,60,,35,237,,243,44,239,238,,235,236,,,241,20,242,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,292,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,294,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43',
'41,240,-599,-599,-599,-599,246,248,,,-599,-599,,,,,,254,255,,40,,,33',
',,58,59,,,60,,35,237,,243,44,239,238,,235,236,247,245,241,20,242,,,',
'89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,292,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,294,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
'42,43,41,240,-599,-599,-599,-599,246,248,,,-599,-599,,,,,,254,255,,40',
',,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236,247,245,241,20,242',
',,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,292,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,294,10,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,240,244,249,250,251,246,248,256,257,252,253,,-599,-599,',
',254,255,,40,,,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236,247',
'245,241,20,242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93',
'94,292,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,294,10,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,240,-599,-599,-599,-599,246,248,,,-599,-599',
',,,,,254,255,,40,,,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236',
'247,245,241,20,242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81',
'93,94,292,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,294,10,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,42,43,41,240,-599,-599,-599,-599,246,248,,,-599',
'-599,,,,,,254,255,,40,,,33,,,58,59,,,60,,35,237,,243,44,239,238,,235',
'236,247,245,241,20,242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62',
',81,93,94,292,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,294,10,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,240,,,,,,,,,,,,,,,,254,255,,40,,,33',
',,58,59,,,60,,35,237,,243,44,239,238,,235,236,,,241,20,242,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,292,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,294,10,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43',
'41,240,244,249,250,251,246,248,256,257,252,253,,-599,-599,,,254,255',
',40,,,33,,,58,59,,,60,,35,237,,243,44,239,238,,235,236,247,245,241,20',
'242,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,,,,62,,81,93,94,292,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,294,10,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,42,43,41,240,,,,,,,,,,,,,,,,254,255,,40,,,33,,,58,59,,,60,,35',
'237,,243,44,239,238,,235,236,,,241,20,242,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,,,,62,,81,93,94,292,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,294,10,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,240,,,,,,,,,,,,,',
',,254,255,,40,,,296,,,58,59,,,60,,35,237,,,44,239,238,,235,236,,,,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,311,312,72,73,,,,,,307,308,314,101,100,102,103,,',
'232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
'240,,,,,,,,,,,,,,,,254,255,,225,,,231,,,58,59,,,60,,,237,,243,44,239',
'238,,235,236,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314',
'101,100,102,103,,,232,,,,,,,309,,240,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,254,255,315,,,,,,,,,,,,,,237,,243,,239,238,305,235,236',
'301,,,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,311,312,72,73,,',
',,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58',
'59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307',
'308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60',
',,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314',
'101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44',
',,,,,,,,230,,,,,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,311,312,72,73,,,,,,307,308,314,101,100,102',
'103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230',
',,,,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,,,,',
',,,,,,,,,,,,,,,225,,,231,,,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,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,225,,,231,,,58,59,,,60,,627,,,,44,,,,,,,,,230,,,,,89,79,82,83',
',84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,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,,,232,,,,,,,45,,,105,104,106',
'95,56,97,96,98,286,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225',
',,231,,,58,59,,,60,,283,,281,,44,,,287,,,,,,230,,,,,89,284,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,,,232,,,,,,,45,,,105,104,106',
'95,56,97,96,98,286,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225',
',,231,,,58,59,,,60,,283,,281,,44,,,287,,,,,,230,,,,,89,284,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,,,232,,,,,,,45,,,105,104,106',
'95,56,97,96,98,286,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225',
',,231,,,58,59,,,60,,283,,281,,44,,,287,,,,,,230,,,,,89,284,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,309,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,,,315,,,,,,,,,,,,,,,,,,,,305',
',,231,,,58,59,,,60,,,670,,667,666,665,675,668,,,,,,,,,678,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,505,,673,62,,81,93,94,69,70,71,,57,686',
'685,,63,64,679,,,67,,65,66,68,30,31,72,73,,,,,,29,28,27,101,100,102',
'103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,',
'232,,,,,,,45,,,105,104,106,95,56,97,96,98,286,99,107,108,,91,92,42,43',
'41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,281,,44,,,287,,,,,,230',
',,,,89,284,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,',
'232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,',
',,,,309,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,315,,,,,,',
',,,,,,,,,,,,,305,,,301,,,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,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311',
'312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225',
',,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72',
'73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231',
',,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,',
',,,307,308,314,101,100,102,103,,,232,,,,,,,309,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,,,315,,,,,,,,,,,,,,,,,,,,854,,,231,,,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,311,312,72,73,,,,,,307,308,314',
'101,100,102,103,,,232,,,,,,,309,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,,,315,,,,,,,,,,,,,,,,,,,,928,,,231,,,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,311,312,72,73,,,,,,307,308,314,101,100,102',
'103,,,232,,,,,,,309,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92',
',,315,,,,,,,,,,,,,,,,,,,,305,,,301,,,58,59,,,60,,300,,,,,,,,,,,,,,,',
',,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232',
',,,,,,309,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,315,,,,',
',,,,,,,,,,,,,,,305,,,231,,,58,59,,,60,,,670,,667,666,665,675,668,,,',
',,,,,678,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,317,,673,62,,81,93,94',
'69,70,71,,57,686,685,,63,64,679,,,67,,65,66,68,311,312,72,73,,,,,,307',
'308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60',
',,,,,44,,,,,,,,,230,,,,,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,30,31,72,73,,,,,,29,28,27,101',
'100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108',
',91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,',
',,,,,,230,,,,,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',
',,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43',
'41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,',
',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,,,232,,,,',
',,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,',
',,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,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,,,232,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311',
'312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,309,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,,,315,,,,,,,,,,,,,,,,,,,,305,',
',301,,,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,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60',
',,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314',
'101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,281',
',44,,,287,,,,,,230,,,,,89,284,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314',
'101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,627,',
'281,,44,,,287,,,,,,230,,,,,89,284,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,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,',
',,,,,,20,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,220,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100',
'102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,',
',,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102',
'103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,225,,,231,521,,58,59,,,60,,,,,,44,,,,,,,,,230',
',,,,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,,,,',
',,,,,,,,,,,,,,,225,,,231,,,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,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,225,,,231,,,58,59,,,60,,731,,,,44,,,,,,,,,230,,,,,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,,,,,,,,,,,,,,,,,,,,225',
',,231,,,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,,,,,,,,,,,,,,,,,,,,225,,,231,,,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,,,,,,,,,,,,,,,,,,,,225,,,231,,,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',
',,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43',
'41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,405,,,,44,,,,,,,,,230',
',,,,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,,,232,',
',,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,',
',,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,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,,,232,,,,,,,45,',
',105,104,106,95,56,97,96,98,286,99,107,108,,91,92,42,43,41,,,,,,,,,',
',,,,,,,,,,225,,,231,,,58,59,,,60,,283,,281,,44,,,287,,,,,,230,,,,,89',
'284,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,,,232,,,,,,',
'45,,,105,104,106,95,56,97,96,98,286,99,107,108,,91,92,42,43,41,,,,,',
',,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,283,,281,,44,,,287,,,,,,230,,',
',,89,284,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,',
'232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,283,,,,44,,,,,,,,,230,,,',
',89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232',
',,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,',
',,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,',
',309,,,105,104,106,354,56,97,96,355,,99,107,108,,91,92,,,315,,,,,,,',
',,,,,,,,,361,,,356,,,231,,,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,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,309,,',
'105,104,106,95,56,97,96,98,,99,107,108,,91,92,,,315,,,,,,,,,,,,,,,,',
',,,349,,,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,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,,,,,,,,,,,,,,,,,,,,225,,,231,,',
'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,311,312,72,73,,,,,',
'307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96',
'98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59',
',,60,,,,,,44,,,,,,,,,230,,,,,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,,,,,,,,,,,,,,,,,,,,225,,,231,,,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,,,,,,,,,,,,,,,,,,,,225,,,231,,,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,311,312,72,73,,,,,,307,308,314,101,100',
'102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,',
',,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102',
'103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,',
'232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,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,,,232,,,,,,,45,',
',105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,',
',,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84',
'86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68',
'311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311',
'312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225',
',,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72',
'73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231',
',,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,',
',,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58',
'59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307',
'308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60',
',,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314',
'101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44',
',,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100',
'102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,',
',,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102',
'103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230',
',,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63',
'64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,',
'232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41',
',,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89',
'79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,',
'67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,',
',,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,',
',,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,',
',,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311',
'312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225',
',,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72',
'73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231',
',,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,',
',,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58',
'59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,',
',,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307',
'308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60',
',,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70',
'71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314',
'101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44',
',,,,,,,,230,,,,,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,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286,99,107,108,,91,92',
'42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,283,,281,,44,,,287',
',,,,,230,,,,,89,284,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',
',,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,283,,281,,44,,,287',
',,,,,230,,,,,89,284,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',
',,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,283,,281,,44,,,287',
',,,,,230,,,,,89,284,82,83,,84,86,85,87,,,,,80,88,220,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100',
'102,103,,,232,,,,,,,309,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,,,315,,,,,,,,,,,,,,,,,,,,854,,,231,,,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,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232',
',,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,',
',,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79',
'82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67',
',65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,',
',45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,',
',,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82',
'83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65',
'66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45',
',,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,',
',,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,',
'84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86',
'85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311',
'312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104',
'106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225',
',,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87',
',,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72',
'73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231',
',,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,',
',,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58',
'59,,,60,,,,,,44,,,,,,,,,230,,,,,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,,,,,,,,,,,,,,,,,,,,225,,,231,,,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,311,312,72,73,,,,,,307,308,314',
'101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107',
'108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44',
',,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57',
'81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100',
'102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,405,,,,44,,,',
',,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102',
'103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230',
',,,,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,,,,',
',,,,,,,,,,,,,,,225,,,231,,,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,,,,,,,,,,,,,,,,,',
',,225,,,231,,,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,311,312',
'72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,',
'231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,',
',,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72',
'73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,309,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,,,315,,,,,,,,,,,,,,,,,,,,305,,,301,,',
'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,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286,99',
'107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,283',
',281,,44,,,287,,,,,,230,,,,,89,284,82,83,,84,86,85,87,,,,,80,88,,,,69',
'70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308',
'314,101,100,102,103,,,232,,,,,,,309,,,105,104,106,95,56,97,96,98,,99',
'107,108,,91,92,,,315,,,,,,,,,,,,,,,,,,,,305,,,301,,,58,59,,,60,,,670',
',667,666,665,675,668,,,,,,,,,678,,89,79,82,83,,84,86,85,87,,,,,80,88',
',,,,,673,62,,81,93,94,69,70,71,9,57,686,685,,63,64,679,,,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,,,,,,,,,,,,,,,,,,,,225,,,231,,,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,311,312,72,73,,,,,,307',
'308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98',
',99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60',
',,,,,44,,,,,,,,,230,,,,,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,,,,,,,,,,,,,,,,,,,,225,,,231,,,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,,,,,,,,,,,,,,,,,,,,225,,,231,,,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,294,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,,,,,,389,62,,81,93,94,69,70,71',
',57,,,,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100',
'102,103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91',
'92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,',
',,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102',
'103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286,99,107,108,,91,92',
'42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,281,,44,,,287',
',,,,,230,,,,,89,284,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102',
'103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286,99,107,108,,91,92',
'42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,627,,281,,44,,,287',
',,,,,230,,,,,89,284,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102',
'103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286,99,107,108,,91,92',
'42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,283,,,,44,,,287',
',,,,,230,,,,,89,284,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,,,,,,,,,,,,,,,,,,,,225,,,231,,,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,,,,,,,',
',,,,,,,,,,,,225,,,231,,,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,,,,,,,,,,,,,,,,,,,,225',
',,231,,,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,,,,,,389,62,,81,93,94,69,70,71,,57,,,,63,64,,,,67,,65,66,68,311,312',
'72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106',
'95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,',
'231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,',
',,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72',
'73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95',
'56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231',
',,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80',
'88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66,68,311,312,72,73,,',
',,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56,97',
'96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58',
'59,,,60,,,,,,44,,,,,,,,,230,,,,,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,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286',
'99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60',
',283,,281,,44,,,287,,,,,,230,,,,,89,284,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,,,,,,,,,,,,,,,,,,,,225,,,231,,,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,311,312,72,73,,,,,,307,308,314',
'101,100,102,103,,,232,,,,,,,309,,,105,104,106,354,56,97,96,355,,99,107',
'108,,91,92,,,315,,,,,,,,,,,,,,,,,,,,356,,,231,,,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,311,312,72,73,,,,,,307,308,314,101,100,102',
'103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286,99,107,108,,91,92',
'42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,287,,,',
',,230,,,,,89,284,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,',
',232,,,,,,,45,,,105,104,106,95,56,97,96,98,286,99,107,108,,91,92,42',
'43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,283,,281,,44,,,287',
',,,,,230,,,,,89,284,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81',
'93,94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102',
'103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286,99,107,108,,91,92',
'42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,287,,,',
',,230,,,,,89,284,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93',
'94,63,64,,,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102',
'103,,,232,,,,,,,45,,,105,104,106,95,56,97,96,98,286,99,107,108,,91,92',
'42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,627,,,,44,,,287',
',,,,,230,,,,,89,284,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',
',,232,,,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43',
'41,,,,,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,',
',89,79,82,83,,84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64',
',,,67,,65,66,68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232',
',,,,,,45,,,105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,',
',,,,,,,,,,,,,,,,,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,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,,,232,,,,,,,45,',
',105,104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,',
',,,,,,,225,,,231,,,58,59,,,60,,405,,,,44,,,,,,,,,230,,,,,89,79,82,83',
',84,86,85,87,,,,,80,88,,,,69,70,71,62,57,81,93,94,63,64,,,,67,,65,66',
'68,311,312,72,73,,,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105',
'104,106,95,56,97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,',
',,225,,,231,,,58,59,,,60,,,,,,44,,,,,,,,,230,,,,,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,,,232,,,,,,,45,,,105,104,106',
'95,56,97,96,98,286,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225',
',,231,,,58,59,,,60,,283,,281,,44,,,287,,,,,,230,,,,,89,284,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,,,,,,,,,,,,,,,,,,,,225,,',
'231,,,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,311,312,72,73',
',,,,,307,308,314,101,100,102,103,,,232,,,,,,,45,,,105,104,106,95,56',
'97,96,98,,99,107,108,,91,92,42,43,41,,,,,,,,,,,,,,,,,,,,225,,,231,,',
'58,59,,,60,,,,,,44,,,,,,,,,230,,,,,89,79,82,83,,84,86,85,87,,,,,80,88',
',,,,,,62,,81,93,94,173,184,174,197,170,190,180,179,200,201,195,178,177',
'172,198,202,203,182,171,185,189,191,183,176,,,,192,199,194,193,186,196',
'181,169,188,187,,,,,,168,175,166,167,163,164,165,124,126,,,125,,,,,',
',,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147',
',,,,,,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155,134',
',,162,89,,,,,,,,,,,,,,88,173,184,174,197,170,190,180,179,200,201,195',
'178,177,172,198,202,203,182,171,185,189,191,183,176,,,,192,199,194,193',
'186,196,181,169,188,187,,,,,,168,175,166,167,163,164,165,124,126,,,125',
',,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146',
'147,,,,,,,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155',
'134,,,162,89,,,,,,,,,,,,,,88,173,184,174,197,170,190,180,179,200,201',
'195,178,177,172,198,202,203,182,171,185,189,191,183,176,,,,192,199,194',
'193,186,196,181,169,188,187,,,,,,168,175,166,167,163,164,165,124,126',
',,125,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160',
'146,147,,,,,,,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133',
'155,134,,,162,89,,,,,,,,,,,,,,88,173,184,174,197,170,190,180,179,200',
'201,195,178,177,172,198,202,203,182,171,185,189,191,183,176,,,,192,199',
'194,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,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,372,371,373,370,169,188,187,,,,,,168,175,166,167,367,368,369,365',
'126,97,96,366,,99,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140',
',,,159,160,146,147,,,,,,377,,,,,,,,151,150,,135,156,153,152,161,148',
'149,143,141,133,155,134,971,425,162,,970,,,,,,,,157,158,,154,136,137',
'138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,265,,,,,,,,151,150',
',135,156,153,152,161,148,149,143,141,133,155,134,606,418,162,,607,,',
',,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147',
',,,,,265,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155',
'134,608,425,162,,609,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139',
'140,,,,159,160,146,147,,,,,,265,,,,,,,,151,150,,135,156,153,152,161',
'148,149,143,141,133,155,134,701,425,162,,702,,,,,,,,157,158,,154,136',
'137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,265,,,,,,,,151',
'150,,135,156,153,152,161,148,149,143,141,133,155,134,999,425,162,,1000',
',,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146',
'147,,,,,,265,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133',
'155,134,997,418,162,,998,,,,,,,,157,158,,154,136,137,138,145,142,144',
',,139,140,,,,159,160,146,147,,,,,,265,,,,,,,,151,150,,135,156,153,152',
'161,148,149,143,141,133,155,134,608,425,162,,609,,,,,,,,157,158,,154',
'136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,265,,,,,,',
',151,150,,135,156,153,152,161,148,149,143,141,133,155,134,414,418,162',
',415,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160',
'146,147,,,,,,265,,,,,,,,151,150,,135,156,153,152,161,148,149,143,141',
'133,155,134,606,418,162,,607,,,,,,,,157,158,,154,136,137,138,145,142',
'144,,,139,140,,,,159,160,146,147,,,,,,265,,,,,,,,151,150,,135,156,153',
'152,161,148,149,143,141,133,155,134,421,425,162,,420,,,,,,,,157,158',
',154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,265,',
',,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155,134,476,418',
'162,,477,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,,,,159',
'160,146,147,,,,,,265,,,,,,,,151,150,,135,156,153,152,161,148,149,143',
'141,133,155,134,699,418,162,,700,,,,,,,,157,158,,154,136,137,138,145',
'142,144,,,139,140,,,,159,160,146,147,,,,,,265,,,,,,,,151,150,,135,156',
'153,152,161,148,149,143,141,133,155,134,641,425,162,,642,,,,,,,,157',
'158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,,,,,,265',
',,,,,,,151,150,,135,156,153,152,161,148,149,143,141,133,155,134,704',
'425,162,,705,,,,,,,,157,158,,154,136,137,138,145,142,144,,,139,140,',
',,159,160,146,147,,,,,,265,,,,,,,,151,150,,135,156,153,152,161,148,149',
'143,141,133,155,134,638,418,162,,639,,,,,,,,157,158,,154,136,137,138',
'145,142,144,,,139,140,,,,159,160,146,147,,,,,,265,,,,,,,,151,150,,135',
'156,153,152,161,148,149,143,141,133,155,134,476,418,162,,477,,,,,,,',
'157,158,,154,136,137,138,145,142,144,,,139,140,,,,159,160,146,147,670',
',667,666,665,675,668,,,,,,,151,150,678,135,156,153,152,161,148,149,143',
'141,133,155,134,,670,162,667,666,665,675,668,670,673,667,666,665,675',
'668,,678,,,,686,685,,678,,679,670,,667,666,665,675,668,,,,,,673,656',
',678,,,,673,,683,682,686,685,,,,679,,686,685,,,,679,670,673,667,666',
'665,675,668,,,,683,682,686,685,,678,,679,670,,667,666,665,675,668,670',
',667,666,665,675,668,,678,,,,673,,670,678,667,666,665,675,668,683,682',
'686,685,,,,679,678,673,,,,,,,673,,,,686,685,,,,679,,686,685,,673,,679',
',,,,,,683,682,686,685,,,670,679,667,666,665,675,668,,670,,667,666,665',
'675,668,678,,,,,,,,678,,670,,667,666,665,675,668,,,,,,673,,,678,,,,',
'673,683,682,686,685,,,,679,683,682,686,685,,,,679,673,,670,,667,666',
'665,675,668,683,682,686,685,,,,679,678,,670,,667,666,665,675,668,,670',
',667,666,665,675,668,678,,,,,673,,,678,,,,,,683,682,686,685,,,,679,673',
',,,,,,,673,,,686,685,,,,679,683,682,686,685,,,670,679,667,666,665,675',
'668,670,,667,666,665,675,668,,678,,,,,,,678,,,,,,,,,,,,,,,673,,,,,,',
'673,,683,682,686,685,,,,679,,686,685,,,,679' ]
        racc_action_table = arr = ::Array.new(25101, 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 = [
'608,926,863,999,444,976,540,608,608,608,61,1000,608,608,608,3,608,618',
'697,385,3,19,648,648,633,608,608,608,608,384,339,895,1021,895,633,790',
'608,608,340,608,608,608,608,608,223,929,822,987,987,925,346,638,123',
'890,1,438,438,123,123,58,347,444,19,7,997,998,608,608,608,608,608,608',
'608,608,608,608,608,608,608,608,999,823,608,608,608,385,608,608,1000',
'350,608,541,548,608,608,384,608,61,608,58,608,223,608,608,618,608,608',
'608,608,608,540,608,608,608,699,540,648,638,700,926,863,999,10,976,926',
'863,999,608,976,1000,608,608,608,608,1000,608,697,608,98,697,1018,697',
'608,608,790,98,98,98,339,438,98,98,98,339,98,822,340,638,12,346,638',
'340,98,929,98,98,98,925,929,347,638,890,925,778,98,98,890,98,98,98,98',
'98,997,998,13,823,16,997,998,701,823,619,562,562,641,541,606,22,350',
'356,541,548,702,356,98,98,98,98,98,98,98,98,98,98,98,98,98,98,37,310',
'98,98,98,699,98,98,619,700,98,40,639,98,98,45,98,109,98,204,98,778,98',
'98,607,98,98,98,98,98,420,98,224,98,225,606,701,420,420,420,1018,641',
'641,420,420,1018,420,98,474,702,98,98,98,98,226,98,227,98,704,482,228',
'778,98,98,778,310,420,420,562,420,420,420,420,420,778,558,558,365,639',
'375,701,607,641,474,365,641,375,331,310,224,331,26,483,702,482,641,420',
'420,420,420,420,420,420,420,420,420,420,420,420,420,704,226,420,420',
'420,232,420,704,639,264,420,639,704,420,41,41,704,483,420,751,420,639',
'420,420,278,420,420,420,420,420,95,420,365,420,375,704,279,95,95,95',
'315,315,95,95,95,26,95,420,282,654,420,420,654,420,95,420,95,95,95,558',
'795,795,420,420,558,704,95,95,26,95,95,95,95,95,39,330,751,946,330,946',
'946,946,807,946,807,807,807,373,807,294,290,295,41,41,373,290,95,95',
'95,95,95,95,95,95,95,95,95,95,95,95,826,297,95,95,95,826,95,95,315,315',
'95,39,493,95,95,575,95,573,95,379,95,39,95,95,298,95,95,95,95,95,380',
'95,609,95,915,338,338,915,831,609,609,609,373,831,609,609,609,95,609',
'946,95,95,95,95,807,95,343,95,609,609,609,343,95,95,334,354,15,334,609',
'609,299,609,609,609,609,609,493,493,493,575,575,573,573,379,379,379',
'688,688,305,575,308,573,309,493,380,380,380,314,609,609,609,609,609',
'609,609,609,609,609,609,609,609,609,450,15,609,609,609,354,609,609,524',
'524,609,15,354,609,609,381,609,354,609,316,609,354,609,609,320,609,609',
'609,609,609,323,609,450,609,17,17,450,450,383,614,354,614,614,614,614',
'614,382,609,328,386,609,609,609,609,614,609,77,609,421,332,589,333,609',
'609,335,421,421,421,77,344,354,421,421,345,421,349,614,351,77,381,381',
'381,360,421,395,614,614,614,614,302,401,355,614,404,421,421,302,421',
'421,421,421,421,383,383,383,302,406,589,410,372,382,382,382,386,386',
'386,372,589,614,6,6,6,6,6,421,421,421,421,421,421,421,421,421,421,421',
'421,421,421,412,413,421,421,421,355,421,371,358,422,421,430,355,421',
'371,358,302,355,421,440,421,355,421,421,358,421,421,421,421,421,452',
'421,421,421,453,454,372,370,303,319,355,304,306,38,370,303,455,421,304',
'306,421,421,426,421,303,421,480,304,306,426,426,426,421,421,426,426',
'426,348,426,484,355,500,371,358,348,501,504,426,426,426,426,506,511',
'348,514,522,319,523,426,426,38,426,426,426,426,426,319,222,525,537,38',
'46,370,303,222,542,304,306,46,369,543,560,570,222,578,580,369,46,426',
'426,426,426,426,426,426,426,426,426,426,426,426,426,348,321,426,426',
'426,586,590,426,321,595,426,600,368,426,426,610,426,321,426,368,426',
'612,426,426,617,426,426,426,426,426,222,426,426,426,46,624,24,367,510',
'366,626,632,369,24,367,510,366,426,451,635,426,426,426,426,510,426,27',
'426,637,414,640,415,426,27,27,27,321,643,27,27,27,14,27,644,647,649',
'652,368,14,658,451,27,27,27,451,451,659,14,661,662,663,672,27,27,680',
'27,27,27,27,27,684,24,367,510,366,642,414,804,415,804,804,804,642,804',
'687,690,414,642,415,695,698,642,27,27,27,27,27,27,27,27,27,27,27,27',
'27,27,14,707,27,27,27,711,730,27,804,27,27,735,753,27,27,754,27,804',
'27,756,27,757,27,27,758,27,27,27,27,27,28,27,27,27,642,760,761,28,28',
'28,762,763,28,28,28,853,28,27,469,767,27,27,853,27,771,27,28,28,772',
'566,566,853,27,566,566,566,28,28,777,28,28,28,28,28,781,919,784,785',
'788,927,469,791,919,806,469,469,927,469,469,808,813,919,816,825,829',
'927,28,28,28,28,28,28,28,28,28,28,28,28,28,28,853,551,28,28,28,830,833',
'28,551,28,28,834,850,28,28,854,28,551,28,856,28,870,28,28,871,28,28',
'28,28,28,919,28,425,28,927,875,876,878,879,425,425,425,792,881,425,425',
'425,28,425,884,28,28,792,28,886,28,892,425,425,425,425,851,28,851,851',
'851,551,851,425,425,893,425,425,425,425,425,969,705,969,969,969,899',
'969,903,705,792,792,905,908,705,792,909,910,705,911,913,928,948,425',
'425,425,425,425,425,425,425,425,425,425,425,425,425,970,840,425,425',
'425,971,972,425,977,978,425,840,979,425,425,980,425,981,425,982,425',
'983,425,425,985,425,425,425,425,425,705,425,425,425,293,293,293,293',
'293,498,498,498,498,498,840,840,988,425,989,840,425,425,425,425,990',
'425,475,425,991,992,993,996,425,475,475,475,1009,1019,475,475,475,1013',
'475,1013,1013,1013,1013,1013,470,1020,,475,475,,,885,1013,885,885,885',
',885,475,475,,475,475,475,475,475,1008,,1008,1008,1008,,1008,,1013,',
'470,,,,470,470,,470,470,1013,1013,,885,887,1013,887,887,887,,887,,885',
',475,,56,,1008,,,475,,56,56,56,475,475,56,56,56,673,56,673,673,673,',
'673,,,,887,56,56,56,,,,,475,475,,56,56,,56,56,56,56,56,,,,,475,,,475',
'673,,,,475,,,,,673,,475,,,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,,,986,,986,986,986,,986,,,,,56,,,56,56,56,56,,56,416,56,,,,,56,416',
'416,416,,,416,416,416,462,416,986,,,,,,,,416,416,416,,,,462,462,,,,416',
'416,,416,416,416,416,416,,,,462,,462,,462,462,,462,462,,,462,,462,,',
',,,416,416,416,416,416,416,416,416,416,416,416,416,416,416,,,416,416',
'416,,,416,,416,416,,,416,416,,416,,416,,416,,416,416,,416,416,416,416',
'416,,416,416,416,984,,984,984,984,,984,,947,,947,947,947,416,947,,416',
'416,,416,,416,622,622,622,622,622,622,416,,,622,622,,,,622,984,622,622',
'622,622,622,622,622,947,,,,,622,622,622,622,622,622,622,,,622,,,,,433',
'622,622,622,622,622,622,622,622,622,622,622,622,,622,622,622,,622,622',
'622,622,622,433,433,433,433,433,433,433,433,433,433,433,,433,433,,,433',
'433,,622,,,622,,,622,622,,,622,,622,433,,433,622,433,433,,433,433,433',
'433,433,622,433,,,,622,622,622,622,,622,622,622,622,,,,,622,622,,433',
',433,,,622,,622,622,622,924,924,924,924,924,924,,,,924,924,,,,924,,924',
'924,924,924,924,924,924,,,,,,924,924,924,924,924,924,924,,,924,,,,,611',
'924,924,924,924,924,924,924,924,924,924,924,924,,924,924,924,,924,924',
'924,924,924,611,611,611,611,611,611,611,611,611,611,611,,611,611,,,611',
'611,,924,,,924,,,924,924,,,924,,924,611,,611,924,611,611,,611,611,611',
'611,611,924,611,,,,924,924,924,924,,924,924,924,924,,,,,924,924,,611',
',,,,924,,924,924,924,121,121,121,121,121,121,,,,121,121,,,,121,,121',
'121,121,121,121,121,121,,,,,,121,121,121,121,121,121,121,,,121,,,,,409',
'121,121,121,121,121,121,121,121,121,121,121,121,,121,121,121,,121,121',
'121,121,121,409,409,409,409,409,409,409,409,409,409,409,,409,409,,,409',
'409,,121,,,121,,,121,121,,,121,,121,409,,409,121,409,409,,409,409,409',
'409,409,121,409,,,,121,121,121,121,,121,121,121,121,,,,,121,121,,409',
',,,,121,,121,121,121,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,428,428,428,428,428,428,428,428,428,428,428,,428,428,,,428',
'428,,206,,,206,,,206,206,,,206,,206,428,,428,206,428,428,,428,428,428',
'428,428,206,428,,,,206,206,206,206,,206,206,206,206,,,,,206,206,,428',
',,,,206,,206,206,206,783,783,783,783,783,783,,,,783,783,,,,783,,783',
'783,783,783,783,783,783,,,,,,783,783,783,783,783,783,783,,,783,,,,,',
'783,783,783,783,783,783,783,783,783,783,783,783,,783,783,783,,783,783',
'783,783,783,732,732,732,732,732,732,732,732,732,732,732,,732,732,,,732',
'732,,783,,,783,,,783,783,,,783,,783,732,,732,783,732,732,,732,732,732',
'732,732,783,732,,,,783,783,783,783,,783,783,783,783,,,,,783,783,,732',
',,,,783,,783,783,783,621,621,621,621,621,621,,,,621,621,,,,621,,621',
'621,621,621,621,621,621,,,,,,621,621,621,621,621,621,621,,,621,,,,,',
'621,621,621,621,621,621,621,621,621,621,621,621,,621,621,621,,621,621',
'621,621,621,737,737,737,737,737,737,737,737,737,737,737,,737,737,,,737',
'737,,621,,,621,,,621,621,,,621,,621,737,,737,621,737,737,,737,737,737',
'737,737,621,737,,,,621,621,621,621,,621,621,621,621,,,,,621,621,,737',
',,,,621,,621,621,621,536,536,536,536,536,536,,,,536,536,,,,536,,536',
'536,536,536,536,536,536,,,,,,536,536,536,536,536,536,536,,,536,,,,,',
'536,536,536,536,536,536,536,536,536,536,536,536,,536,536,536,,536,536',
'536,536,536,739,739,739,739,739,739,739,739,739,739,739,,739,739,,,739',
'739,,536,,,536,,,536,536,,,536,,536,739,,739,536,739,739,,739,739,739',
'739,739,536,739,,,,536,536,536,536,,536,536,536,536,,,,,536,536,,739',
',,,,536,,536,536,536,931,931,931,931,931,931,,,,931,931,,,,931,,931',
'931,931,931,931,931,931,,,,,,931,931,931,931,931,931,931,,,931,,,,,',
'931,931,931,931,931,931,931,931,931,931,931,931,,931,931,931,,931,931',
'931,931,931,742,742,742,742,742,742,742,742,742,742,742,,742,742,,,742',
'742,,931,,,931,,,931,931,,,931,,931,742,,742,931,742,742,,742,742,742',
'742,742,931,742,,,,931,931,931,931,,931,931,931,931,,,,,931,931,,742',
',,,,931,,931,931,931,932,932,932,932,932,932,,,,932,932,,,,932,,932',
'932,932,932,932,932,932,,,,,,932,932,932,932,932,932,932,,,932,,,,,',
'932,932,932,932,932,932,932,932,932,932,932,932,,932,932,932,,932,932',
'932,932,932,744,744,744,744,744,744,744,744,744,744,744,,744,744,,,744',
'744,,932,,,932,,,932,932,,,932,,932,744,,744,932,744,744,,744,744,744',
'744,744,932,744,,,,932,932,932,932,,932,932,932,932,,,,,932,932,,744',
',,,,932,,932,932,932,559,559,559,559,559,559,,,,559,559,,,,559,,559',
'559,559,559,559,559,559,,,,,,559,559,559,559,559,559,559,,,559,,,,,',
'559,559,559,559,559,559,559,559,559,559,559,559,,559,559,559,,559,559',
'559,559,559,746,746,746,746,746,746,746,746,746,746,746,,746,746,,,746',
'746,,559,,,559,,,559,559,,,559,,559,746,,746,559,746,746,,746,746,746',
'746,746,559,746,,,,559,559,559,559,,559,559,559,559,,,,,559,559,,746',
',,,,559,,559,559,559,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,21,21,21,21,21,21,21,21,21,21,21,,21,21,,,21,21,,616,,,616',
',,616,616,,,616,,616,21,,21,616,21,21,,21,21,21,21,21,616,21,,,,616',
'616,616,616,,616,616,616,616,,,,,616,616,,21,,,,,616,,616,616,616,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,276,276,276,276,276,276,276,276',
'276,276,276,,276,276,,,276,276,,0,,,0,,,0,0,,,0,,0,276,,276,0,276,276',
',276,276,276,276,276,0,276,,,,0,0,0,0,,0,0,0,0,,,,,0,0,,276,,,,,0,,0',
'0,0,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,646,646',
'646,646,646,646,646,646,646,646,646,,646,646,,,646,646,,860,,,860,,',
'860,860,,,860,,860,646,,646,860,646,646,,646,646,646,646,646,860,646',
',,,860,860,860,860,,860,860,860,860,,,,,860,860,,646,,,,,860,,860,860',
'860,957,957,957,957,957,957,,,,957,957,,,,957,,957,957,957,957,957,957',
'957,,,,,,957,957,957,957,957,957,957,,,957,,,,,,957,957,957,957,957',
'957,957,957,957,957,957,957,,957,957,957,,957,957,957,957,957,836,836',
'836,836,836,836,836,836,836,836,836,,836,836,,,836,836,,957,,,957,,',
'957,957,,,957,,957,836,,836,957,836,836,,836,836,836,836,836,957,836',
',,,957,957,957,957,,957,957,957,957,,,,,957,957,,836,,,,,957,,957,957',
'957,539,539,539,539,539,539,,,,539,539,,,,539,,539,539,539,539,539,539',
'539,,,,,,539,539,539,539,539,539,539,,,539,,,,,,539,539,539,539,539',
'539,539,539,539,539,539,539,,539,539,539,,539,539,539,539,539,839,839',
'839,839,839,839,839,839,839,839,839,,839,839,,,839,839,,539,,,539,,',
'539,539,,,539,,539,839,,839,539,839,839,,839,839,839,839,839,539,839',
',,,539,539,539,539,,539,539,539,539,,,,,539,539,,839,,,,,539,,539,539',
'539,499,499,499,499,499,499,,,,499,499,,,,499,,499,499,499,499,499,499',
'499,,,,,,499,499,499,499,499,499,499,,,499,,,,,,499,499,499,499,499',
'499,499,499,499,499,499,499,,499,499,499,,499,499,499,499,499,473,473',
'473,473,473,473,473,473,473,473,473,,473,473,,,473,473,,499,,,499,,',
'499,499,,,499,,499,473,,473,499,473,473,,473,473,473,473,473,499,473',
',,,499,499,499,499,,499,499,499,499,,,,,499,499,473,473,,,,,499,,499',
'499,499,949,949,949,949,949,949,,,,949,949,,,,949,,949,949,949,949,949',
'949,949,,,,,,949,949,949,949,949,949,949,,,949,,,,,,949,949,949,949',
'949,949,949,949,949,949,949,949,,949,949,949,,949,949,949,949,949,520',
'520,520,520,520,520,520,520,520,520,520,,520,520,,,520,520,,949,,,949',
',,949,949,,,949,,949,520,,520,949,520,520,,520,520,520,520,520,949,520',
',,,949,949,949,949,,949,949,949,949,,,,,949,949,,520,,,,,949,,949,949',
'949,821,821,821,821,821,821,,,,821,821,,,,821,,821,821,821,821,821,821',
'821,,,,,,821,821,821,821,821,821,821,,,821,,,,,,821,821,821,821,821',
'821,821,821,821,821,821,821,,821,821,821,,821,821,821,821,821,471,471',
'471,471,471,471,471,,,471,471,,,,,,471,471,,821,,,821,,,821,821,,,821',
',821,471,,471,821,471,471,,471,471,471,471,471,821,471,,,,821,821,821',
'821,,821,821,821,821,,,,,821,821,,,,,,,821,,821,821,821,955,955,955',
'955,955,955,,,,955,955,,,,955,,955,955,955,955,955,955,955,,,,,,955',
'955,955,955,955,955,955,,,955,,,,,,955,955,955,955,955,955,955,955,955',
'955,955,955,,955,955,955,,955,955,955,955,955,467,467,467,467,467,467',
'467,,,467,467,,,,,,467,467,,955,,,955,,,955,955,,,955,,955,467,,467',
'955,467,467,,467,467,467,467,467,955,467,,,,955,955,955,955,,955,955',
'955,955,,,,,955,955,,,,,,,955,,955,955,955,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,468,468,468',
'468,468,468,468,,,468,468,,,,,,468,468,,33,,,33,,,33,33,,,33,,33,468',
',468,33,468,468,,468,468,468,468,468,33,468,,,,33,33,33,33,,33,33,33',
'33,,,,,33,33,,,,,,,33,,33,33,33,708,708,708,708,708,708,,,,708,708,',
',,708,,708,708,708,708,708,708,708,,,,,,708,708,708,708,708,708,708',
',,708,,,,,,708,708,708,708,708,708,708,708,708,708,708,708,,708,708',
'708,,708,708,708,708,708,472,472,472,472,472,472,472,472,,472,472,,',
',,,472,472,,708,,,708,,,708,708,,,708,,708,472,,472,708,472,472,,472',
'472,472,472,472,708,472,,,,708,708,708,708,,708,708,708,708,,,,,708',
'708,,,,,,,708,,708,708,708,296,296,296,296,296,296,,,,296,296,,,,296',
',296,296,296,296,296,296,296,,,,,,296,296,296,296,296,296,296,,,296',
',,,,,296,296,296,296,296,296,296,296,296,296,296,296,,296,296,296,,296',
'296,296,296,296,463,,,,,,,,,,,,,,,,463,463,,296,,,296,,,296,296,,,296',
',296,463,,463,296,463,463,,463,463,,,463,296,463,,,,296,296,296,296',
',296,296,296,296,,,,,296,296,,,,,,,296,,296,296,296,827,827,827,827',
'827,827,,,,827,827,,,,827,,827,827,827,827,827,827,827,,,,,,827,827',
'827,827,827,827,827,,,827,,,,,,827,827,827,827,827,827,827,827,827,827',
'827,827,,827,827,827,,827,827,827,827,827,464,464,464,464,464,464,464',
',,464,464,,,,,,464,464,,827,,,827,,,827,827,,,827,,827,464,,464,827',
'464,464,,464,464,464,464,464,827,464,,,,827,827,827,827,,827,827,827',
'827,,,,,827,827,,,,,,,827,,827,827,827,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,465,465,465,465,465,465,465,,,465,465,',
',,,,465,465,,770,,,770,,,770,770,,,770,,770,465,,465,770,465,465,,465',
'465,465,465,465,770,465,,,,770,770,770,770,,770,770,770,770,,,,,770',
'770,,,,,,,770,,770,770,770,712,712,712,712,712,712,,,,712,712,,,,712',
',712,712,712,712,712,712,712,,,,,,712,712,712,712,712,712,712,,,712',
',,,,,712,712,712,712,712,712,712,712,712,712,712,712,,712,712,712,,712',
'712,712,712,712,449,449,449,449,449,449,449,449,449,449,449,,449,449',
',,449,449,,712,,,712,,,712,712,,,712,,712,449,,449,712,449,449,,449',
'449,449,449,449,712,449,,,,712,712,712,712,,712,712,712,712,,,,,712',
'712,,,,,,,712,,712,712,712,722,722,722,722,722,722,,,,722,722,,,,722',
',722,722,722,722,722,722,722,,,,,,722,722,722,722,722,722,722,,,722',
',,,,,722,722,722,722,722,722,722,722,722,722,722,722,,722,722,722,,722',
'722,722,722,722,466,466,466,466,466,466,466,,,466,466,,,,,,466,466,',
'722,,,722,,,722,722,,,722,,722,466,,466,722,466,466,,466,466,466,466',
'466,722,466,,,,722,722,722,722,,722,722,722,722,,,,,722,722,,,,,,,722',
',722,722,722,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,459,459,459,459,459,459,459,,,459,459,,,,,,459,459,,231,,,231,,',
'231,231,,,231,,231,459,,459,231,459,459,,459,459,459,459,459,231,459',
',,,231,231,231,231,,231,231,231,231,,,,,231,231,,,,,,,231,,231,231,231',
'326,326,326,326,326,326,,,,326,326,,,,326,,326,326,326,326,326,326,326',
',,,,,326,326,326,326,326,326,326,,,326,,,,,,326,326,326,326,326,326',
'326,326,326,326,326,326,,326,326,326,,326,326,326,326,326,460,,,,,,',
',,,,,,,,,460,460,,326,,,326,,,326,326,,,326,,326,460,,460,326,460,460',
',460,460,,,460,326,460,,,,326,326,326,326,,326,326,326,326,,,,,326,326',
',,,,,,326,,326,326,326,817,817,817,817,817,817,,,,817,817,,,,817,,817',
'817,817,817,817,817,817,,,,,,817,817,817,817,817,817,817,,,817,,,,,',
'817,817,817,817,817,817,817,817,817,817,817,817,,817,817,817,,817,817',
'817,817,817,448,448,448,448,448,448,448,448,448,448,448,,448,448,,,448',
'448,,817,,,817,,,817,817,,,817,,817,448,,448,817,448,448,,448,448,448',
'448,448,817,448,,,,817,817,817,817,,817,817,817,817,,,,,817,817,,,,',
',,817,,817,817,817,818,818,818,818,818,818,,,,818,818,,,,818,,818,818',
'818,818,818,818,818,,,,,,818,818,818,818,818,818,818,,,818,,,,,,818',
'818,818,818,818,818,818,818,818,818,818,818,,818,818,818,,818,818,818',
'818,818,461,,,,,,,,,,,,,,,,461,461,,818,,,818,,,818,818,,,818,,818,461',
',461,818,461,461,,461,461,,,461,818,461,,,,818,818,818,818,,818,818',
'818,818,,,,,818,818,,,,,,,818,,818,818,818,301,301,301,301,301,301,',
',,301,301,,,,301,,301,301,301,301,301,301,301,,,,,,301,301,301,301,301',
'301,301,,,301,,,,,,301,301,301,301,301,301,301,301,301,301,301,301,',
'301,301,301,,301,301,301,301,301,458,,,,,,,,,,,,,,,,458,458,,301,,,301',
',,301,301,,,301,,301,458,,,301,458,458,,458,458,,,,301,,,,,301,301,301',
'301,,301,301,301,301,,,,,301,301,,,,236,236,236,301,236,301,301,301',
'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,456,,,,,,,,,,,,,,,,456,456,,236,,,236,,,236,236',
',,236,,,456,,456,236,456,456,,456,456,,,,236,,,,,236,236,236,236,,236',
'236,236,236,,,,,236,236,,,,645,645,645,236,645,236,236,236,645,645,',
',,645,,645,645,645,645,645,645,645,,,,,,645,645,645,645,645,645,645',
',,645,,,,,,,645,,457,645,645,645,645,645,645,645,645,,645,645,645,,645',
'645,457,457,645,,,,,,,,,,,,,,457,,457,,457,457,645,457,457,645,,,645',
'645,,,645,,,,,,,,,,,,,,,,,,,,645,645,645,645,,645,645,645,645,,,,,645',
'645,,,,235,235,235,645,235,645,645,645,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,,,,802,802,802,235,802,235,235',
'235,802,802,,,,802,,802,802,802,802,802,802,802,,,,,,802,802,802,802',
'802,802,802,,,802,,,,,,,802,,,802,802,802,802,802,802,802,802,,802,802',
'802,,802,802,802,802,802,,,,,,,,,,,,,,,,,,,,802,,,802,,,802,802,,,802',
',,,,,802,,,,,,,,,802,,,,,802,802,802,802,,802,802,802,802,,,,,802,802',
',,,234,234,234,802,234,802,802,802,234,234,,,,234,,234,234,234,234,234',
'234,234,,,,,,234,234,234,234,234,234,234,,,234,,,,,,,234,,,234,234,234',
'234,234,234,234,234,,234,234,234,,234,234,234,234,234,,,,,,,,,,,,,,',
',,,,,234,,,234,,,234,234,,,234,,,,,,234,,,,,,,,,234,,,,,234,234,234',
'234,,234,234,234,234,,,,,234,234,,,,,,,234,,234,234,234,292,292,292',
'292,292,,,,292,292,,,,292,,292,292,292,292,292,292,292,,,,,,292,292',
'292,292,292,292,292,,,292,,,,,,292,292,,292,292,292,292,292,292,292',
'292,292,,292,292,292,,292,292,292,292,292,,,,,,,,,,,,,,,,,,,,292,,,292',
',,292,292,,,292,,292,,,,292,,,,,,,,,292,,,,,292,292,292,292,,292,292',
'292,292,,,,,292,292,,,,233,233,233,292,233,292,292,292,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,,,,815,815,815',
'233,815,233,233,233,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,815,815,,815,815,815',
'815,,,,,815,815,,,,820,820,820,815,820,815,815,815,820,820,,,,820,,820',
'820,820,820,820,820,820,,,,,,820,820,820,820,820,820,820,,,820,,,,,',
',820,,,820,820,820,820,820,820,820,820,,820,820,820,,820,820,820,820',
'820,,,,,,,,,,,,,,,,,,,,820,,,820,,,820,820,,,820,,820,,,,820,,,,,,,',
',820,,,,,820,820,820,820,,820,820,820,820,,,,,820,820,,,,251,251,251',
'820,251,820,820,820,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,,,,29,29,29,251,29,251,251,251,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,,,,300,300,300,31,300,31,31',
'31,300,300,,,,300,,300,300,300,300,300,300,300,,,,,,300,300,300,300',
'300,300,300,,,300,,,,,,,300,,,300,300,300,300,300,300,300,300,,300,300',
'300,,300,300,,,300,,,,,,,,,,,,,,,,,,,,300,,,300,,,300,300,,,300,,,1003',
',1003,1003,1003,1003,1003,,,,,,,,,1003,,300,300,300,300,,300,300,300',
'300,,,,,300,300,,,,300,,1003,300,,300,300,300,20,20,20,,20,1003,1003',
',20,20,1003,,,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,837,,,,,837,837,,,,838',
'838,838,837,838,837,837,837,838,838,,,,838,,838,838,838,838,838,838',
'838,,,,,,838,838,838,838,838,838,838,,,838,,,,,,,838,,,838,838,838,838',
'838,838,838,838,,838,838,838,,838,838,838,838,838,,,,,,,,,,,,,,,,,,',
',838,,,838,,,838,838,,,838,,,,,,838,,,,,,,,,838,,,,,838,838,838,838',
',838,838,838,838,,,,,838,838,,,,634,634,634,838,634,838,838,838,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,,,,230,230,230',
'634,230,634,634,634,230,230,,,,230,,230,230,230,230,230,230,230,,,,',
',230,230,230,230,230,230,230,,,230,,,,,,,230,,,230,230,230,230,230,230',
'230,230,,230,230,230,,230,230,230,230,230,,,,,,,,,,,,,,,,,,,,230,,,230',
',,230,230,,,230,,,,,,230,,,,,,,,,230,,,,,230,230,230,230,,230,230,230',
'230,,,,,230,230,,,,630,630,630,230,630,230,230,230,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,,,,627,627,627,630',
'627,630,630,630,627,627,,,,627,,627,627,627,627,627,627,627,,,,,,627',
'627,627,627,627,627,627,,,627,,,,,,,627,,,627,627,627,627,627,627,627',
'627,,627,627,627,,627,627,627,627,627,,,,,,,,,,,,,,,,,,,,627,,,627,',
',627,627,,,627,,,,,,627,,,,,,,,,627,,,,,627,627,627,627,,627,627,627',
'627,,,,,627,627,,,,852,852,852,627,852,627,627,627,852,852,,,,852,,852',
'852,852,852,852,852,852,,,,,,852,852,852,852,852,852,852,,,852,,,,,',
',852,,,852,852,852,852,852,852,852,852,,852,852,852,,852,852,,,852,',
',,,,,,,,,,,,,,,,,,852,,,852,,,852,852,,,852,,,,,,,,,,,,,,,,,,,,852,852',
'852,852,,852,852,852,852,,,,,852,852,,,,864,864,864,852,864,852,852',
'852,864,864,,,,864,,864,864,864,864,864,864,864,,,,,,864,864,864,864',
'864,864,864,,,864,,,,,,,864,,,864,864,864,864,864,864,864,864,,864,864',
'864,,864,864,,,864,,,,,,,,,,,,,,,,,,,,864,,,864,,,864,864,,,864,,,,',
',,,,,,,,,,,,,,,864,864,864,864,,864,864,864,864,,,,,864,864,,,,34,34',
'34,864,34,864,864,864,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,,,965,,965,965,965,965,965,,,,,,,,,965,,35,35,35,35,,35',
'35,35,35,,,,,35,35,,,,35,,965,35,,35,35,35,603,603,603,,603,965,965',
',603,603,965,,,603,,603,603,603,603,603,603,603,,,,,,603,603,603,603',
'603,603,603,,,603,,,,,,,603,,,603,603,603,603,603,603,603,603,,603,603',
'603,,603,603,603,603,603,,,,,,,,,,,,,,,,,,,,603,,,603,,,603,603,,,603',
',,,,,603,,,,,,,,,603,,,,,603,603,603,603,,603,603,603,603,,,,,603,603',
',,,,,,603,,603,603,603,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,,,,602,602,602,5,602,5,5,5,602,602,,,,602,,602,602,602,602,602',
'602,602,,,,,,602,602,602,602,602,602,602,,,602,,,,,,,602,,,602,602,602',
'602,602,602,602,602,,602,602,602,,602,602,602,602,602,,,,,,,,,,,,,,',
',,,,,602,,,602,,,602,602,,,602,,,,,,602,,,,,,,,,602,,,,,602,602,602',
'602,,602,602,602,602,,,,,602,602,,,,599,599,599,602,599,602,602,602',
'599,599,,,,599,,599,599,599,599,599,599,599,,,,,,599,599,599,599,599',
'599,599,,,599,,,,,,,599,,,599,599,599,599,599,599,599,599,,599,599,599',
',599,599,599,599,599,,,,,,,,,,,,,,,,,,,,599,,,599,,,599,599,,,599,,',
',,,599,,,,,,,,,599,,,,,599,599,599,599,,599,599,599,599,,,,,599,599',
',,,598,598,598,599,598,599,599,599,598,598,,,,598,,598,598,598,598,598',
'598,598,,,,,,598,598,598,598,598,598,598,,,598,,,,,,,598,,,598,598,598',
'598,598,598,598,598,,598,598,598,,598,598,598,598,598,,,,,,,,,,,,,,',
',,,,,598,,,598,,,598,598,,,598,,,,,,598,,,,,,,,,598,,,,,598,598,598',
'598,,598,598,598,598,,,,,598,598,,,,594,594,594,598,594,598,598,598',
'594,594,,,,594,,594,594,594,594,594,594,594,,,,,,594,594,594,594,594',
'594,594,,,594,,,,,,,594,,,594,594,594,594,594,594,594,594,,594,594,594',
',594,594,594,594,594,,,,,,,,,,,,,,,,,,,,594,,,594,,,594,594,,,594,,',
',,,594,,,,,,,,,594,,,,,594,594,594,594,,594,594,594,594,,,,,594,594',
',,,317,317,317,594,317,594,594,594,317,317,,,,317,,317,317,317,317,317',
'317,317,,,,,,317,317,317,317,317,317,317,,,317,,,,,,,317,,,317,317,317',
'317,317,317,317,317,,317,317,317,,317,317,,,317,,,,,,,,,,,,,,,,,,,,317',
',,317,,,317,317,,,317,,,,,,,,,,,,,,,,,,,,317,317,317,317,,317,317,317',
'317,,,,,317,317,,,,593,593,593,317,593,317,317,317,593,593,,,,593,,593',
'593,593,593,593,593,593,,,,,,593,593,593,593,593,593,593,,,593,,,,,',
',593,,,593,593,593,593,593,593,593,593,,593,593,593,,593,593,593,593',
'593,,,,,,,,,,,,,,,,,,,,593,,,593,,,593,593,,,593,,,,,,593,,,,,,,,,593',
',,,,593,593,593,593,,593,593,593,593,,,,,593,593,,,,592,592,592,593',
'592,593,593,593,592,592,,,,592,,592,592,592,592,592,592,592,,,,,,592',
'592,592,592,592,592,592,,,592,,,,,,,592,,,592,592,592,592,592,592,592',
'592,592,592,592,592,,592,592,592,592,592,,,,,,,,,,,,,,,,,,,,592,,,592',
',,592,592,,,592,,,,592,,592,,,592,,,,,,592,,,,,592,592,592,592,,592',
'592,592,592,,,,,592,592,,,,591,591,591,592,591,592,592,592,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,,,591,,,,,,591,,,,,591,591,591,591,,591,591,591,591,,,,,591,591',
',,,219,219,219,591,219,591,591,591,219,219,,,,219,,219,219,219,219,219',
'219,219,,,,,,219,219,219,219,219,219,219,,,219,,,,,,,219,,,219,219,219',
'219,219,219,219,219,,219,219,219,,219,219,219,219,219,,,,,,,,,,,,,,',
',,,,,219,,,219,,,219,219,,,219,,,,,,219,,,,,,,,,219,,,,,219,219,219',
'219,,219,219,219,219,,,,,219,219,219,,,588,588,588,219,588,219,219,219',
'588,588,,,,588,,588,588,588,588,588,588,588,,,,,,588,588,588,588,588',
'588,588,,,588,,,,,,,588,,,588,588,588,588,588,588,588,588,,588,588,588',
',588,588,588,588,588,,,,,,,,,,,,,,,,,,,,588,,,588,,,588,588,,,588,,',
',,,588,,,,,,,,,588,,,,,588,588,588,588,,588,588,588,588,,,,,588,588',
',,,325,325,325,588,325,588,588,588,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,325,,,,327,327,327,325,327,325,325,325',
'327,327,,,,327,,327,327,327,327,327,327,327,,,,,,327,327,327,327,327',
'327,327,,,327,,,,,,,327,,,327,327,327,327,327,327,327,327,,327,327,327',
',327,327,327,327,327,,,,,,,,,,,,,,,,,,,,327,,,327,,,327,327,,,327,,',
',,,327,,,,,,,,,327,,,,,327,327,327,327,,327,327,327,327,,,,,327,327',
',,,587,587,587,327,587,327,327,327,587,587,,,,587,,587,587,587,587,587',
'587,587,,,,,,587,587,587,587,587,587,587,,,587,,,,,,,587,,,587,587,587',
'587,587,587,587,587,,587,587,587,,587,587,587,587,587,,,,,,,,,,,,,,',
',,,,,587,,,587,,,587,587,,,587,,587,,,,587,,,,,,,,,587,,,,,587,587,587',
'587,,587,587,587,587,,,,,587,587,,,,218,218,218,587,218,587,587,587',
'218,218,,,,218,,218,218,218,218,218,218,218,,,,,,218,218,218,218,218',
'218,218,,,218,,,,,,,218,,,218,218,218,218,218,218,218,218,,218,218,218',
',218,218,218,218,218,,,,,,,,,,,,,,,,,,,,218,,,218,,,218,218,,,218,,',
',,,218,,,,,,,,,218,,,,,218,218,218,218,,218,218,218,218,,,,,218,218',
',,,217,217,217,218,217,218,218,218,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,,,,216,216,216,217,216,217,217,217',
'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',
',,,215,215,215,216,215,216,216,216,215,215,,,,215,,215,215,215,215,215',
'215,215,,,,,,215,215,215,215,215,215,215,,,215,,,,,,,215,,,215,215,215',
'215,215,215,215,215,,215,215,215,,215,215,215,215,215,,,,,,,,,,,,,,',
',,,,,215,,,215,,,215,215,,,215,,215,,,,215,,,,,,,,,215,,,,,215,215,215',
'215,,215,215,215,215,,,,,215,215,,,,214,214,214,215,214,215,215,215',
'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',
',,,555,555,555,214,555,214,214,214,555,555,,,,555,,555,555,555,555,555',
'555,555,,,,,,555,555,555,555,555,555,555,,,555,,,,,,,555,,,555,555,555',
'555,555,555,555,555,555,555,555,555,,555,555,555,555,555,,,,,,,,,,,',
',,,,,,,,555,,,555,,,555,555,,,555,,555,,555,,555,,,555,,,,,,555,,,,',
'555,555,555,555,,555,555,555,555,,,,,555,555,,,,545,545,545,555,545',
'555,555,555,545,545,,,,545,,545,545,545,545,545,545,545,,,,,,545,545',
'545,545,545,545,545,,,545,,,,,,,545,,,545,545,545,545,545,545,545,545',
'545,545,545,545,,545,545,545,545,545,,,,,,,,,,,,,,,,,,,,545,,,545,,',
'545,545,,,545,,545,,545,,545,,,545,,,,,,545,,,,,545,545,545,545,,545',
'545,545,545,,,,,545,545,,,,544,544,544,545,544,545,545,545,544,544,',
',,544,,544,544,544,544,544,544,544,,,,,,544,544,544,544,544,544,544',
',,544,,,,,,,544,,,544,544,544,544,544,544,544,544,,544,544,544,,544',
'544,544,544,544,,,,,,,,,,,,,,,,,,,,544,,,544,,,544,544,,,544,,544,,',
',544,,,,,,,,,544,,,,,544,544,544,544,,544,544,544,544,,,,,544,544,,',
',42,42,42,544,42,544,544,544,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,,,,69,69,69,42,69,42',
'42,42,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,,,,68,68,68,69,68,69,69,69,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,,,,63,63',
'63,68,63,68,68,68,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,,,,405,405,405,63,405,63,63,63,405',
'405,,,,405,,405,405,405,405,405,405,405,,,,,,405,405,405,405,405,405',
'405,,,405,,,,,,,405,,,405,405,405,405,405,405,405,405,,405,405,405,',
'405,405,405,405,405,,,,,,,,,,,,,,,,,,,,405,,,405,,,405,405,,,405,,,',
',,405,,,,,,,,,405,,,,,405,405,405,405,,405,405,405,405,,,,,405,405,',
',,64,64,64,405,64,405,405,405,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,250,250,250,,250,,',
',250,250,,,,250,,250,250,250,250,250,250,250,,,,,,250,250,250,250,250',
'250,250,,,250,,,,,,,250,,,250,250,250,250,250,250,250,250,,250,250,250',
',250,250,250,250,250,,,,,,,,,,,,,,,,,,,,250,,,250,,,250,250,,,250,,',
',,,250,,,,,,,,,250,,,,,250,250,250,250,,250,250,250,250,,,,,250,250',
',,,253,253,253,250,253,250,250,250,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,,,,731,731,731,253,731,253,253,253',
'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',
',,,249,249,249,731,249,731,731,731,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,,,,733,733,733,249,733,249,249,249',
'733,733,,,,733,,733,733,733,733,733,733,733,,,,,,733,733,733,733,733',
'733,733,,,733,,,,,,,733,,,733,733,733,733,733,733,733,733,,733,733,733',
',733,733,733,733,733,,,,,,,,,,,,,,,,,,,,733,,,733,,,733,733,,,733,,',
',,,733,,,,,,,,,733,,,,,733,733,733,733,,733,733,733,733,,,,,733,733',
',,,254,254,254,733,254,733,733,733,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,,,,248,248,248,254,248,254,254,254',
'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',
',,,247,247,247,248,247,248,248,248,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,,,,246,246,246,247,246,247,247,247',
'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',
',,,245,245,245,246,245,246,246,246,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,,,,676,676,676,245,676,245,245,245',
'676,676,,,,676,,676,676,676,676,676,676,676,,,,,,676,676,676,676,676',
'676,676,,,676,,,,,,,676,,,676,676,676,676,676,676,676,676,,676,676,676',
',676,676,676,676,676,,,,,,,,,,,,,,,,,,,,676,,,676,,,676,676,,,676,,',
',,,676,,,,,,,,,676,,,,,676,676,676,676,,676,676,676,676,,,,,676,676',
',,,747,747,747,676,747,676,676,676,747,747,,,,747,,747,747,747,747,747',
'747,747,,,,,,747,747,747,747,747,747,747,,,747,,,,,,,747,,,747,747,747',
'747,747,747,747,747,,747,747,747,,747,747,747,747,747,,,,,,,,,,,,,,',
',,,,,747,,,747,,,747,747,,,747,,,,,,747,,,,,,,,,747,,,,,747,747,747',
'747,,747,747,747,747,,,,,747,747,,,,748,748,748,747,748,747,747,747',
'748,748,,,,748,,748,748,748,748,748,748,748,,,,,,748,748,748,748,748',
'748,748,,,748,,,,,,,748,,,748,748,748,748,748,748,748,748,,748,748,748',
',748,748,748,748,748,,,,,,,,,,,,,,,,,,,,748,,,748,,,748,748,,,748,,',
',,,748,,,,,,,,,748,,,,,748,748,748,748,,748,748,748,748,,,,,748,748',
',,,749,749,749,748,749,748,748,748,749,749,,,,749,,749,749,749,749,749',
'749,749,,,,,,749,749,749,749,749,749,749,,,749,,,,,,,749,,,749,749,749',
'749,749,749,749,749,,749,749,749,,749,749,749,749,749,,,,,,,,,,,,,,',
',,,,,749,,,749,,,749,749,,,749,,,,,,749,,,,,,,,,749,,,,,749,749,749',
'749,,749,749,749,749,,,,,749,749,,,,750,750,750,749,750,749,749,749',
'750,750,,,,750,,750,750,750,750,750,750,750,,,,,,750,750,750,750,750',
'750,750,,,750,,,,,,,750,,,750,750,750,750,750,750,750,750,,750,750,750',
',750,750,750,750,750,,,,,,,,,,,,,,,,,,,,750,,,750,,,750,750,,,750,,',
',,,750,,,,,,,,,750,,,,,750,750,750,750,,750,750,750,750,,,,,750,750',
',,,244,244,244,750,244,750,750,750,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,,,,752,752,752,244,752,244,244,244',
'752,752,,,,752,,752,752,752,752,752,752,752,,,,,,752,752,752,752,752',
'752,752,,,752,,,,,,,752,,,752,752,752,752,752,752,752,752,,752,752,752',
',752,752,752,752,752,,,,,,,,,,,,,,,,,,,,752,,,752,,,752,752,,,752,,',
',,,752,,,,,,,,,752,,,,,752,752,752,752,,752,752,752,752,,,,,752,752',
',,,255,255,255,752,255,752,752,752,255,255,,,,255,,255,255,255,255,255',
'255,255,,,,,,255,255,255,255,255,255,255,,,255,,,,,,,255,,,255,255,255',
'255,255,255,255,255,,255,255,255,,255,255,255,255,255,,,,,,,,,,,,,,',
',,,,,255,,,255,,,255,255,,,255,,,,,,255,,,,,,,,,255,,,,,255,255,255',
'255,,255,255,255,255,,,,,255,255,,,,256,256,256,255,256,255,255,255',
'256,256,,,,256,,256,256,256,256,256,256,256,,,,,,256,256,256,256,256',
'256,256,,,256,,,,,,,256,,,256,256,256,256,256,256,256,256,,256,256,256',
',256,256,256,256,256,,,,,,,,,,,,,,,,,,,,256,,,256,,,256,256,,,256,,',
',,,256,,,,,,,,,256,,,,,256,256,256,256,,256,256,256,256,,,,,256,256',
',,,257,257,257,256,257,256,256,256,257,257,,,,257,,257,257,257,257,257',
'257,257,,,,,,257,257,257,257,257,257,257,,,257,,,,,,,257,,,257,257,257',
'257,257,257,257,257,,257,257,257,,257,257,257,257,257,,,,,,,,,,,,,,',
',,,,,257,,,257,,,257,257,,,257,,,,,,257,,,,,,,,,257,,,,,257,257,257',
'257,,257,257,257,257,,,,,257,257,,,,258,258,258,257,258,257,257,257',
'258,258,,,,258,,258,258,258,258,258,258,258,,,,,,258,258,258,258,258',
'258,258,,,258,,,,,,,258,,,258,258,258,258,258,258,258,258,,258,258,258',
',258,258,258,258,258,,,,,,,,,,,,,,,,,,,,258,,,258,,,258,258,,,258,,',
',,,258,,,,,,,,,258,,,,,258,258,258,258,,258,258,258,258,,,,,258,258',
',,,243,243,243,258,243,258,258,258,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,,,,242,242,242,243,242,243,243,243',
'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',
',,,265,265,265,242,265,242,242,242,265,265,,,,265,,265,265,265,265,265',
'265,265,,,,,,265,265,265,265,265,265,265,,,265,,,,,,,265,,,265,265,265',
'265,265,265,265,265,265,265,265,265,,265,265,265,265,265,,,,,,,,,,,',
',,,,,,,,265,,,265,,,265,265,,,265,,265,,265,,265,,,265,,,,,,265,,,,',
'265,265,265,265,,265,265,265,265,,,,,265,265,,,,266,266,266,265,266',
'265,265,265,266,266,,,,266,,266,266,266,266,266,266,266,,,,,,266,266',
'266,266,266,266,266,,,266,,,,,,,266,,,266,266,266,266,266,266,266,266',
'266,266,266,266,,266,266,266,266,266,,,,,,,,,,,,,,,,,,,,266,,,266,,',
'266,266,,,266,,266,,266,,266,,,266,,,,,,266,,,,,266,266,266,266,,266',
'266,266,266,,,,,266,266,,,,274,274,274,266,274,266,266,266,274,274,',
',,274,,274,274,274,274,274,274,274,,,,,,274,274,274,274,274,274,274',
',,274,,,,,,,274,,,274,274,274,274,274,274,274,274,274,274,274,274,,274',
'274,274,274,274,,,,,,,,,,,,,,,,,,,,274,,,274,,,274,274,,,274,,274,,274',
',274,,,274,,,,,,274,,,,,274,274,274,274,,274,274,274,274,,,,,274,274',
'274,,,764,764,764,274,764,274,274,274,764,764,,,,764,,764,764,764,764',
'764,764,764,,,,,,764,764,764,764,764,764,764,,,764,,,,,,,764,,,764,764',
'764,764,764,764,764,764,,764,764,764,,764,764,,,764,,,,,,,,,,,,,,,,',
',,,764,,,764,,,764,764,,,764,,,,,,,,,,,,,,,,,,,,764,764,764,764,,764',
'764,764,764,,,,,764,764,,,,241,241,241,764,241,764,764,764,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,,,,240',
'240,240,241,240,241,241,241,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,,,,281,281,281,240,281,240,240,240,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,',
',,239,239,239,281,239,281,281,281,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,,,,283,283,283,239,283,239,239,239',
'283,283,,,,283,,283,283,283,283,283,283,283,,,,,,283,283,283,283,283',
'283,283,,,283,,,,,,,283,,,283,283,283,283,283,283,283,283,,283,283,283',
',283,283,283,283,283,,,,,,,,,,,,,,,,,,,,283,,,283,,,283,283,,,283,,',
',,,283,,,,,,,,,283,,,,,283,283,283,283,,283,283,283,283,,,,,283,283',
',,,286,286,286,283,286,283,283,283,286,286,,,,286,,286,286,286,286,286',
'286,286,,,,,,286,286,286,286,286,286,286,,,286,,,,,,,286,,,286,286,286',
'286,286,286,286,286,,286,286,286,,286,286,286,286,286,,,,,,,,,,,,,,',
',,,,,286,,,286,,,286,286,,,286,,,,,,286,,,,,,,,,286,,,,,286,286,286',
'286,,286,286,286,286,,,,,286,286,,,,287,287,287,286,287,286,286,286',
'287,287,,,,287,,287,287,287,287,287,287,287,,,,,,287,287,287,287,287',
'287,287,,,287,,,,,,,287,,,287,287,287,287,287,287,287,287,,287,287,287',
',287,287,287,287,287,,,,,,,,,,,,,,,,,,,,287,,,287,,,287,287,,,287,,',
',,,287,,,,,,,,,287,,,,,287,287,287,287,,287,287,287,287,,,,,287,287',
',,,703,703,703,287,703,287,287,287,703,703,,,,703,,703,703,703,703,703',
'703,703,,,,,,703,703,703,703,703,703,703,,,703,,,,,,,703,,,703,703,703',
'703,703,703,703,703,,703,703,703,,703,703,703,703,703,,,,,,,,,,,,,,',
',,,,,703,,,703,,,703,703,,,703,,,,,,703,,,,,,,,,703,,,,,703,703,703',
'703,,703,703,703,703,,,,,703,703,,,,238,238,238,703,238,703,703,703',
'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',
',,,650,650,650,238,650,238,238,238,650,650,,,,650,,650,650,650,650,650',
'650,650,,,,,,650,650,650,650,650,650,650,,,650,,,,,,,650,,,650,650,650',
'650,650,650,650,650,,650,650,650,,650,650,650,650,650,,,,,,,,,,,,,,',
',,,,,650,,,650,,,650,650,,,650,,650,,,,650,,,,,,,,,650,,,,,650,650,650',
'650,,650,650,650,650,,,,,650,650,,,,237,237,237,650,237,650,650,650',
'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',
',,,341,341,341,237,341,237,237,237,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,,,,342,342,342,341,342,341,341,341',
'342,342,,,,342,,342,342,342,342,342,342,342,,,,,,342,342,342,342,342',
'342,342,,,342,,,,,,,342,,,342,342,342,342,342,342,342,342,,342,342,342',
',342,342,342,342,342,,,,,,,,,,,,,,,,,,,,342,,,342,,,342,342,,,342,,',
',,,342,,,,,,,,,342,,,,,342,342,342,342,,342,342,342,342,,,,,342,342',
',,,516,516,516,342,516,342,342,342,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,,,,513,513,513,516,513,516,516,516',
'513,513,,,,513,,513,513,513,513,513,513,513,,,,,,513,513,513,513,513',
'513,513,,,513,,,,,,,513,,,513,513,513,513,513,513,513,513,,513,513,513',
',513,513,,,513,,,,,,,,,,,,,,,,,,,,513,,,513,,,513,513,,,513,,,,,,,,',
',,,,,,,,,,,513,513,513,513,,513,513,513,513,,,,,513,513,,,,507,507,507',
'513,507,513,513,513,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,,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,,,,505,505,505,507,505,507,507,507',
'505,505,,,,505,,505,505,505,505,505,505,505,,,,,,505,505,505,505,505',
'505,505,,,505,,,,,,,505,,,505,505,505,505,505,505,505,505,,505,505,505',
',505,505,,,505,,,,,,,,,,,,,,,,,,,,505,,,505,,,505,505,,,505,,,937,,937',
'937,937,937,937,,,,,,,,,937,,505,505,505,505,,505,505,505,505,,,,,505',
'505,,,,,,937,505,,505,505,505,120,120,120,120,120,937,937,,120,120,937',
',,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',
',,,709,709,709,120,709,120,120,120,709,709,,,,709,,709,709,709,709,709',
'709,709,,,,,,709,709,709,709,709,709,709,,,709,,,,,,,709,,,709,709,709',
'709,709,709,709,709,,709,709,709,,709,709,709,709,709,,,,,,,,,,,,,,',
',,,,,709,,,709,,,709,709,,,709,,,,,,709,,,,,,,,,709,,,,,709,709,709',
'709,,709,709,709,709,,,,,709,709,,,,252,252,252,709,252,709,709,709',
'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',
',,,119,119,119,252,119,252,252,252,119,119,,,,119,,119,119,119,119,119',
'119,119,,,,,,119,119,119,119,119,119,119,,,119,,,,,,,119,,,119,119,119',
'119,119,119,119,119,,119,119,119,,119,119,119,119,119,,,,,,,,,,,,,,',
',,,,,119,,,119,,,119,119,,,119,,,,,,119,,,,,,,,,119,,,,,119,119,119',
'119,,119,119,119,119,,,,,119,119,,,,118,118,118,119,118,119,119,119',
'118,118,,,,118,,118,118,118,118,118,118,118,,,,,,118,118,118,118,118',
'118,118,,,118,,,,,,,118,,,118,118,118,118,118,118,118,118,,118,118,118',
',118,118,118,118,118,,,,,,,,,,,,,,,,,,,,118,,,118,,,118,118,,,118,,',
',,,118,,,,,,,,,118,,,,,118,118,118,118,,118,118,118,118,,,,,118,118',
',,,,,,118,,118,118,118,497,497,497,497,497,,,,497,497,,,,497,,497,497',
'497,497,497,497,497,,,,,,497,497,497,497,497,497,497,,,497,,,,,,497',
'497,497,497,497,497,497,497,497,497,497,497,,497,497,497,,497,497,497',
'497,497,,,,,,,,,,,,,,,,,,,,497,,,497,,,497,497,,,497,,497,,,,497,,,',
',,,,,497,,,,,497,497,497,497,,497,497,497,497,,,,,497,497,,,,,,497,497',
',497,497,497,491,491,491,,491,,,,491,491,,,,491,,491,491,491,491,491',
'491,491,,,,,,491,491,491,491,491,491,491,,,491,,,,,,,491,,,491,491,491',
'491,491,491,491,491,,491,491,491,,491,491,491,491,491,,,,,,,,,,,,,,',
',,,,,491,,,491,,,491,491,,,491,,,,,,491,,,,,,,,,491,,,,,491,491,491',
'491,,491,491,491,491,,,,,491,491,,,,489,489,489,491,489,491,491,491',
'489,489,,,,489,,489,489,489,489,489,489,489,,,,,,489,489,489,489,489',
'489,489,,,489,,,,,,,489,,,489,489,489,489,489,489,489,489,489,489,489',
'489,,489,489,489,489,489,,,,,,,,,,,,,,,,,,,,489,,,489,,,489,489,,,489',
',,,489,,489,,,489,,,,,,489,,,,,489,489,489,489,,489,489,489,489,,,,',
'489,489,,,,487,487,487,489,487,489,489,489,487,487,,,,487,,487,487,487',
'487,487,487,487,,,,,,487,487,487,487,487,487,487,,,487,,,,,,,487,,,487',
'487,487,487,487,487,487,487,487,487,487,487,,487,487,487,487,487,,,',
',,,,,,,,,,,,,,,,487,,,487,,,487,487,,,487,,487,,487,,487,,,487,,,,,',
'487,,,,,487,487,487,487,,487,487,487,487,,,,,487,487,,,,59,59,59,487',
'59,487,487,487,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,,,,361,361,361,59,361,59,59,59',
'361,361,,,,361,,361,361,361,361,361,361,361,,,,,,361,361,361,361,361',
'361,361,,,361,,,,,,,361,,,361,361,361,361,361,361,361,361,,361,361,361',
',361,361,361,361,361,,,,,,,,,,,,,,,,,,,,361,,,361,,,361,361,,,361,,',
',,,361,,,,,,,,,361,,,,,361,361,361,361,,361,361,361,361,,,,,361,361',
',,,117,117,117,361,117,361,361,361,117,117,,,,117,,117,117,117,117,117',
'117,117,,,,,,117,117,117,117,117,117,117,,,117,,,,,,,117,,,117,117,117',
'117,117,117,117,117,,117,117,117,,117,117,117,117,117,,,,,,,,,,,,,,',
',,,,,117,,,117,,,117,117,,,117,,,,,,117,,,,,,,,,117,,,,,117,117,117',
'117,,117,117,117,117,,,,,117,117,,,,116,116,116,117,116,117,117,117',
'116,116,,,,116,,116,116,116,116,116,116,116,,,,,,116,116,116,116,116',
'116,116,,,116,,,,,,,116,,,116,116,116,116,116,116,116,116,,116,116,116',
',116,116,116,116,116,,,,,,,,,,,,,,,,,,,,116,,,116,,,116,116,,,116,,',
',,,116,,,,,,,,,116,,,,,116,116,116,116,,116,116,116,116,,,,,116,116',
',,,,,,116,,116,116,116,111,111,111,111,111,,,,111,111,,,,111,,111,111',
'111,111,111,111,111,,,,,,111,111,111,111,111,111,111,,,111,,,,,,111',
'111,111,111,111,111,111,111,111,111,111,111,,111,111,111,,111,111,111',
'111,111,,,,,,,,,,,,,,,,,,,,111,,,111,,,111,111,,,111,,111,,,,111,,,',
',,,,,111,,,,,111,111,111,111,,111,111,111,111,,,,,111,111,,,,,,111,111',
',111,111,111,447,447,447,,447,,,,447,447,,,,447,,447,447,447,447,447',
'447,447,,,,,,447,447,447,447,447,447,447,,,447,,,,,,,447,,,447,447,447',
'447,447,447,447,447,,447,447,447,,447,447,447,447,447,,,,,,,,,,,,,,',
',,,,,447,,,447,,,447,447,,,447,,,,,,447,,,,,,,,,447,,,,,447,447,447',
'447,,447,447,447,447,,,,,447,447,,,,446,446,446,447,446,447,447,447',
'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,,,,443,443,443,445,443,445,445,445',
'443,443,,,,443,,443,443,443,443,443,443,443,,,,,,443,443,443,443,443',
'443,443,,,443,,,,,,,443,,,443,443,443,443,443,443,443,443,443,443,443',
'443,,443,443,443,443,443,,,,,,,,,,,,,,,,,,,,443,,,443,,,443,443,,,443',
',443,,443,,443,,,443,,,,,,443,,,,,443,443,443,443,,443,443,443,443,',
',,,443,443,,,,377,377,377,443,377,443,443,443,377,377,,,,377,,377,377',
'377,377,377,377,377,,,,,,377,377,377,377,377,377,377,,,377,,,,,,,377',
',,377,377,377,377,377,377,377,377,,377,377,377,,377,377,377,377,377',
',,,,,,,,,,,,,,,,,,,377,,,377,,,377,377,,,377,,,,,,377,,,,,,,,,377,,',
',,377,377,377,377,,377,377,377,377,,,,,377,377,,,,70,70,70,377,70,377',
'377,377,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,,,,60,60,60,70,60,70,70,70,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',
',,,209,209,209,60,209,60,60,60,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,,,,530,530,530,209,530,209',
'209,209,530,530,,,,530,,530,530,530,530,530,530,530,,,,,,530,530,530',
'530,530,530,530,,,530,,,,,,,530,,,530,530,530,530,530,530,530,530,530',
'530,530,530,,530,530,530,530,530,,,,,,,,,,,,,,,,,,,,530,,,530,,,530',
'530,,,530,,,,,,530,,,530,,,,,,530,,,,,530,530,530,530,,530,530,530,530',
',,,,530,530,,,,527,527,527,530,527,530,530,530,527,527,,,,527,,527,527',
'527,527,527,527,527,,,,,,527,527,527,527,527,527,527,,,527,,,,,,,527',
',,527,527,527,527,527,527,527,527,527,527,527,527,,527,527,527,527,527',
',,,,,,,,,,,,,,,,,,,527,,,527,,,527,527,,,527,,527,,,,527,,,527,,,,,',
'527,,,,,527,527,527,527,,527,527,527,527,,,,,527,527,,,,208,208,208',
'527,208,527,527,527,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,,,,43,43,43,208,43,208,208,208,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,,,,207',
'207,207,43,207,43,43,43,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,,,,44,44,44,207,44,207,207,207,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,,,,973,973,973,44,973,44,44,44,973,973,,,,973,,973,973,973,973',
'973,973,973,,,,,,973,973,973,973,973,973,973,,,973,,,,,,,973,,,973,973',
'973,973,973,973,973,973,973,973,973,973,,973,973,973,973,973,,,,,,,',
',,,,,,,,,,,,973,,,973,,,973,973,,,973,,973,,973,,973,,,973,,,,,,973',
',,,,973,973,973,973,,973,973,973,973,,,,,973,973,,,,521,521,521,973',
'521,973,973,973,521,521,,,,521,,521,521,521,521,521,521,521,,,,,,521',
'521,521,521,521,521,521,,,521,,,,,,,521,,,521,521,521,521,521,521,521',
'521,,521,521,521,,521,521,521,521,521,,,,,,,,,,,,,,,,,,,,521,,,521,',
',521,521,,,521,,,,,,521,,,,,,,,,521,,,,,521,521,521,521,,521,521,521',
'521,,,,,521,521,,,,517,517,517,521,517,521,521,521,517,517,,,,517,,517',
'517,517,517,517,517,517,,,,,,517,517,517,517,517,517,517,,,517,,,,,',
',517,,,517,517,517,517,517,517,517,517,,517,517,517,,517,517,517,517',
'517,,,,,,,,,,,,,,,,,,,,517,,,517,,,517,517,,,517,,,,,,517,,,,,,,,,517',
',,,,517,517,517,517,,517,517,517,517,,,,,517,517,,,,,,,517,,517,517',
'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,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,584,584,584,584,584,584,584,584,584,584,584,,,584,584,,,,,',
',,,,,,,,584,396,396,396,396,396,396,396,396,396,396,396,396,396,396',
'396,396,396,396,396,396,396,396,396,396,,,,396,396,396,396,396,396,396',
'396,396,396,,,,,,396,396,396,396,396,396,396,396,396,,,396,,,,,,,,396',
'396,,396,396,396,396,396,396,396,,,396,396,,,,396,396,396,396,,,,,,',
',,,,,,,396,396,,396,396,396,396,396,396,396,396,396,396,396,396,,,396',
'396,,,,,,,,,,,,,,396,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,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,715,715,715,715,715,715,715,715,715,715,715,715',
'715,715,715,715,715,715,715,715,715,715,715,715,,,,715,715,715,715,715',
'715,715,715,715,715,,,,,,715,715,715,715,715,715,715,715,715,,,715,',
',,,,,,715,715,,715,715,715,715,715,715,715,,,715,715,,,,715,715,715',
'715,,,,,,,,,,,,,,715,715,,715,715,715,715,715,715,715,715,715,715,715',
'715,,,715,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,920',
'920,71,,920,,,,,,,,920,920,,920,920,920,920,920,920,920,,,920,920,,',
',920,920,920,920,,,,,,920,,,,,,,,920,920,,920,920,920,920,920,920,920',
'920,920,920,920,920,518,518,920,,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,519,519,518,,519,,,,,,,',
'519,519,,519,519,519,519,519,519,519,,,519,519,,,,519,519,519,519,,',
',,,519,,,,,,,,519,519,,519,519,519,519,519,519,519,519,519,519,519,519',
'547,547,519,,547,,,,,,,,547,547,,547,547,547,547,547,547,547,,,547,547',
',,,547,547,547,547,,,,,,547,,,,,,,,547,547,,547,547,547,547,547,547',
'547,547,547,547,547,547,975,975,547,,975,,,,,,,,975,975,,975,975,975',
'975,975,975,975,,,975,975,,,,975,975,975,975,,,,,,975,,,,,,,,975,975',
',975,975,975,975,975,975,975,975,975,975,975,975,974,974,975,,974,,',
',,,,,974,974,,974,974,974,974,974,974,974,,,974,974,,,,974,974,974,974',
',,,,,974,,,,,,,,974,974,,974,974,974,974,974,974,974,974,974,974,974',
'974,442,442,974,,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,210,210,442,,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,441,441,210,,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,211,211,441,,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,554,554,211,,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,546,546,554',
',546,,,,,,,,546,546,,546,546,546,546,546,546,546,,,546,546,,,,546,546',
'546,546,,,,,,546,,,,,,,,546,546,,546,546,546,546,546,546,546,546,546',
'546,546,546,509,509,546,,509,,,,,,,,509,509,,509,509,509,509,509,509',
'509,,,509,509,,,,509,509,509,509,,,,,,509,,,,,,,,509,509,,509,509,509',
'509,509,509,509,509,509,509,509,509,553,553,509,,553,,,,,,,,553,553',
',553,553,553,553,553,553,553,,,553,553,,,,553,553,553,553,,,,,,553,',
',,,,,,553,553,,553,553,553,553,553,553,553,553,553,553,553,553,508,508',
'553,,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,261,261,508,,261,,,,,,,,261,261,,261,261,261,261,261',
'261,261,,,261,261,,,,261,261,261,261,963,,963,963,963,963,963,,,,,,',
'261,261,963,261,261,261,261,261,261,261,261,261,261,261,261,,535,261',
'535,535,535,535,535,961,963,961,961,961,961,961,,535,,,,963,963,,961',
',963,959,,959,959,959,959,959,,,,,,535,535,,959,,,,961,,535,535,535',
'535,,,,535,,961,961,,,,961,713,959,713,713,713,713,713,,,,959,959,959',
'959,,713,,959,939,,939,939,939,939,939,941,,941,941,941,941,941,,939',
',,,713,,656,941,656,656,656,656,656,713,713,713,713,,,,713,656,939,',
',,,,,941,,,,939,939,,,,939,,941,941,,656,,941,,,,,,,656,656,656,656',
',,935,656,935,935,935,935,935,,714,,714,714,714,714,714,935,,,,,,,,714',
',796,,796,796,796,796,796,,,,,,935,,,796,,,,,714,935,935,935,935,,,',
'935,714,714,714,714,,,,714,796,,798,,798,798,798,798,798,796,796,796',
'796,,,,796,798,,800,,800,800,800,800,800,,843,,843,843,843,843,843,800',
',,,,798,,,843,,,,,,798,798,798,798,,,,798,800,,,,,,,,843,,,800,800,',
',,800,843,843,843,843,,,845,843,845,845,845,845,845,847,,847,847,847',
'847,847,,845,,,,,,,847,,,,,,,,,,,,,,,845,,,,,,,847,,845,845,845,845',
',,,845,,847,847,,,,847' ]
        racc_action_check = arr = ::Array.new(25101, 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 = [
  3124,    54,   nil,  -115,   nil,  9353,   630,   -49, 23417, 23289,
    10,   nil,    15,    98,   814,   418,    43,   548,   nil,   -68,
  7765,  2984,   170,   nil,   779,   nil,   284,   876,   986,  7233,
  7364,  7495,   nil,  4244,  8944,  9075,   nil,    85,   645,   316,
   174,   281, 12235, 22239, 22501,   103,   712,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,  1313,   nil,   -31, 20127,
 21584,   -15,   nil, 12628, 12890,   nil,   nil, 13021, 12497, 12366,
 21453, 23658,   nil,   nil,   nil,   nil,   nil,   490,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   358,   nil,   nil,   138,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   235,
   nil, 20659,   nil,   nil,   nil,   nil, 20520, 20389, 19456, 19325,
 18932,  1864,   nil,    -1,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   104,   nil,  2004, 22370, 22108, 21715,
 24146, 24268,   nil,   nil, 11711, 11580, 11449, 11318, 11187, 10532,
   nil,   nil,   708,   -42,   164,   197,   186,   131,   192,   nil,
  8289,  5224,   244,  6709,  6439,  6177,  5915, 18007, 17745, 17090,
 16828, 16697, 16042, 15911, 15125, 14339, 14208, 14077, 13946, 13553,
 13160,  7102, 19194, 13291, 13815, 15387, 15518, 15649, 15780,   nil,
   nil, 24634,   nil,   nil,   241, 16173, 16304,   nil,   nil,   nil,
   nil,   nil,   nil,   nil, 16435,   nil,  3124,   nil,   219,   231,
   nil, 16959,   289, 17221,   nil,   nil, 17352, 17483,   nil,   nil,
   288,   nil,  6578,  1173,   305,   276,  4524,   309,   372,   375,
  7626,  5784,   562,   649,   652,   471,   653,   nil,   439,   400,
   194,   nil,   nil,   nil,   446,   307,   436, 10008,   nil,   641,
   508,   744,   nil,   514,   nil, 10794,  5364, 10925,   468,   nil,
   273,   175,   515,   498,   372,   527,   nil,   nil,   437,    18,
    26, 18138, 18269,   364,   603,   488,    26,    36,   678,   570,
    65,   603,   nil,   nil,   478,   616,   148,   nil,   619,   nil,
   525, 20258,   nil,   nil,   nil,   218,   782,   780,   755,   720,
   648,   618,   582,   338,   nil,   220,   nil, 21322,   nil,   397,
   408,   505,   536,   528,   -31,   -41,   539,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   521, 23161,   nil,   nil,   nil,
   nil,   527,   nil,   nil,   510, 12759,   523,   nil,   nil,  1864,
   528,   nil,   555,   556,   793,   795,  1449,   nil,   nil,   nil,
   248,   608,   608,   nil,   nil,  1098,   740,   nil,  2004,   nil,
   556,   nil,   nil,  1584,   nil,   nil,   nil,   nil,    19,   nil,
   617, 24207, 24085, 21191,   -82, 21060, 20929, 20798,  5504,  4944,
   484,   802,   652,   656,   657,   668,  5915,  6027,  5784,  5224,
  5364,  5644,  1398,  4524,  4664,  4804,  5084,  4104,  4244,   938,
  1190,  3964,  4384,  3684,   192,  1234,   nil,   nil,   nil,   nil,
   614,   nil,   203,   236,   627,   nil,   nil, 19996,   nil, 19865,
   nil, 19734,   nil,   390,   nil,   nil,   nil, 19595,  1178,  3684,
   629,   630,   nil,   nil,   631, 18793,   639, 18662, 24573, 24451,
   781,   681,   nil, 18531,   639,   nil, 18400, 22894, 23780, 23841,
  3824, 22763,   766,   766,   522,   696,   nil, 21977,   nil,   nil,
 21846,   nil,   nil,   nil,   nil, 24696,  2424,   775,   nil,  3544,
   -20,    65,   777,   789, 12104, 11973, 24390, 23902,    68,   nil,
   nil,   990,   nil, 24512, 24329, 11842,   nil,   nil,   257,  2844,
   710,   nil,   156,   nil,   nil,   nil,   962,   nil,   nil,   nil,
   681,   nil,   nil,   395,   nil,   393,   nil,   nil,   668,   nil,
   669,   nil,   nil,   nil, 23033,   nil,   692, 11056, 10663,   524,
   732, 10401, 10270, 10139,  9877,   733,   nil,   nil,  9746,  9615,
   735,   nil,  9484,  9214,   nil,   nil,   110,   156,     0,   470,
   705,  1724,   709,   nil,   538,   nil,  2984,   817,    -8,   117,
   nil,  2284,  1584,   nil,   722,   nil,   773,  8551,   nil,   nil,
  8420,   nil,   748,  -109,  8158,   736,   nil,   748,    27,   206,
   791,   170,   848,   798,   760,  6046,  3264,   828,   -14,   881,
 17876,   nil,   766,   nil,   247,   nil, 24796,   nil,   766,   773,
   nil,   775,   776,   777,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   768,  1277,   nil,   nil, 14470,   nil,   nil,   nil,
   863,   nil,   nil,   nil,   869,   nil,   nil,   883,   511,   nil,
   921,   nil,   nil,   nil,   nil,   930,   nil,     6,   810,    90,
    94,   165,   178, 17614,   251,  1066,   nil,   827,  4384, 19063,
   nil,   952,  4944, 24757, 24856, 23545,   nil,   nil,   nil,   nil,
   nil,   nil,  5084,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   829, 13422,  2144, 13684,   nil,   834,   nil,  2284,   nil,  2424,
   nil,   nil,  2564,   nil,  2704,   nil,  2844, 14601, 14732, 14863,
 14994,   261, 15256,   835,   838,   nil,   842,   844,   847,   nil,
   882,   862,   861,   854, 16566,   nil,   nil,   996,   nil,   nil,
  4804,   897,  1005,   nil,   nil,   nil,   nil,   891,   149,   nil,
   nil,  1022,   nil,  2144,   899,   946,   nil,   nil,   944,   nil,
     7,   907,  1052,   nil,   nil,   289, 24873,   nil, 24912,   nil,
 24929,   nil,  6308,   nil,   876,   nil,   906,   359,   915,   nil,
   nil,   nil,   nil,  1037,   nil,  6840,  1039,  5504,  5644,   nil,
  6971,  3964,    22,    55,   nil,  1040,   308,  4664,   nil,  1041,
   941,   346,   nil,   945,   944,   nil,  3404,  7896,  8027,  3544,
  1123,   nil,   nil, 24937,   nil, 24989,   nil, 24996,   nil,   nil,
   969,  1076,  8682,   924,  1026,   nil,   972,   nil,   nil,   nil,
  3264,   nil,   nil,   -10,  8813,   nil,   nil,   nil,   nil,   nil,
   997,   957,   nil,   nil,   nil,   968,   969,   nil,   970,   971,
   nil,   976,   nil,   nil,   985,  1212,   987,  1250,   nil,   nil,
    41,   nil,  1113,  1127,   nil,    17,   nil,   nil,   nil,  1138,
   nil,   nil,   nil,  1060,   nil,  1020,   nil,   nil,  1021,  1024,
  1025,  1027,   nil,  1028,   nil,   342,   nil,   nil,   nil,   954,
 23719,   nil,   nil,   nil,  1724,    37,   -11,   958,  1107,    33,
   nil,  2564,  2704,   nil,   nil, 24848,   nil, 18840,   nil, 24775,
   nil, 24782,   nil,   nil,   nil,   nil,   354,  1520,  1030,  3824,
   nil,   nil,   nil,   nil,   nil,  4104,   nil,  3404,   nil, 24721,
   nil, 24703,   nil, 24667,   nil,  9122,   nil,   nil,   nil,  1091,
  1089,  1094,  1177, 22632, 24024, 23963,    -7,  1073,  1178,  1057,
  1060,  1062,  1064,  1066,  1512,  1069,  1378,    34,  1215,  1217,
  1099,  1103,  1104,  1105,   nil,   nil,  1109,    52,    53,    -9,
    -1,   nil,   nil,  7673,   nil,   nil,   nil,   nil,  1227,  1111,
   nil,   nil,   nil,  1198,   nil,   nil,   nil,   nil,   128,  1112,
  1124,  -101,   nil,   nil ]

racc_action_default = [
    -3,  -599,    -1,  -585,    -4,  -599,    -7,  -599,  -599,  -599,
  -599,   -29,  -599,  -599,  -599,  -279,  -599,   -40,   -43,  -587,
  -599,   -48,   -50,   -51,   -52,   -56,  -256,  -256,  -256,  -293,
  -329,  -330,   -68,   -11,   -72,   -80,   -82,  -599,  -489,  -490,
  -599,  -599,  -599,  -599,  -599,  -587,  -237,  -270,  -271,  -272,
  -273,  -274,  -275,  -276,  -277,  -278,  -573,  -281,  -283,  -598,
  -563,  -301,  -303,  -599,  -599,  -307,  -310,  -585,  -599,  -599,
  -599,  -599,  -331,  -332,  -430,  -431,  -432,  -433,  -434,  -455,
  -437,  -438,  -457,  -459,  -442,  -447,  -451,  -453,  -469,  -457,
  -471,  -473,  -474,  -475,  -476,  -571,  -478,  -479,  -572,  -481,
  -482,  -483,  -484,  -485,  -486,  -487,  -488,  -493,  -494,  -599,
    -2,  -586,  -594,  -595,  -596,    -6,  -599,  -599,  -599,  -599,
  -599,    -3,   -17,  -599,  -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,  -599,  -599,  -246,
  -599,  -599,  -583,  -584,  -599,  -599,  -599,  -599,  -599,  -587,
  -588,   -47,  -599,  -489,  -490,  -599,  -279,  -599,  -599,  -229,
  -599,   -11,  -599,  -599,  -599,  -599,  -599,  -599,  -599,  -599,
  -599,  -599,  -599,  -599,  -599,  -599,  -599,  -599,  -599,  -599,
  -599,  -599,  -599,  -599,  -599,  -599,  -599,  -599,  -599,  -399,
  -401,  -599,  -581,  -582,   -57,  -246,  -599,  -300,  -405,  -414,
  -416,   -63,  -411,   -64,  -587,   -65,  -238,  -251,  -260,  -260,
  -255,  -599,  -261,  -599,  -455,  -565,  -599,  -599,   -66,   -67,
  -585,   -12,  -599,   -15,  -599,   -70,   -11,  -587,  -599,   -73,
   -76,   -11,   -88,   -89,  -599,  -599,   -96,  -293,  -296,  -587,
  -599,  -329,  -330,  -333,  -412,  -599,   -78,  -599,   -84,  -290,
  -472,  -599,  -214,  -215,  -230,  -599,   -11,  -599,  -587,  -239,
  -591,  -591,  -599,  -599,  -591,  -599,  -302,  -390,   -49,  -599,
  -599,  -599,  -599,  -585,  -599,  -586,  -489,  -490,  -599,  -599,
  -279,  -599,  -343,  -344,  -106,  -107,  -599,  -109,  -599,  -279,
  -497,  -599,  -489,  -490,  -322,  -111,  -112,  -153,  -154,  -155,
  -171,  -176,  -183,  -186,  -324,  -599,  -561,  -599,  -435,  -599,
  -599,  -599,  -599,  -599,  -599,  -599,  -599,  1024,    -5,  -597,
   -23,   -24,   -25,   -26,   -27,  -599,  -599,   -19,   -20,   -21,
  -121,  -599,   -30,   -39,  -266,  -599,  -599,  -265,   -31,  -196,
  -587,  -247,  -260,  -260,  -574,  -575,  -256,  -409,  -576,  -577,
  -575,  -574,  -256,  -408,  -410,  -576,  -577,   -37,  -204,   -38,
  -599,   -41,   -42,  -194,  -261,   -44,   -45,   -46,  -587,  -299,
  -599,  -599,  -599,  -246,  -290,  -599,  -599,  -599,  -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,  -587,  -379,  -256,  -574,  -575,   -54,   -58,
  -587,  -257,  -379,  -379,  -587,  -295,  -252,  -599,  -253,  -599,
  -258,  -599,  -262,  -599,  -568,  -570,   -10,  -586,   -14,    -3,
  -587,   -69,  -288,   -85,   -74,  -599,  -587,  -246,  -599,  -599,
   -95,  -599,  -472,  -599,   -81,   -86,  -599,  -599,  -599,  -599,
  -235,  -599,  -422,  -599,  -284,  -599,  -240,  -593,  -592,  -242,
  -593,  -291,  -292,  -564,  -304,  -521,   -11,  -334,  -335,   -11,
  -599,  -599,  -599,  -599,  -599,  -246,  -599,  -599,  -290,  -315,
  -106,  -107,  -108,  -599,  -599,  -246,  -318,  -495,  -599,   -11,
  -499,  -326,  -587,  -436,  -456,  -461,  -599,  -463,  -439,  -458,
  -599,  -460,  -441,  -599,  -444,  -599,  -446,  -449,  -599,  -450,
  -599,  -470,    -8,   -18,  -599,   -28,  -269,  -599,  -599,  -413,
  -599,  -248,  -250,  -599,  -599,   -59,  -245,  -406,  -599,  -599,
   -61,  -407,  -599,  -599,  -298,  -589,  -574,  -575,  -574,  -575,
  -587,  -194,  -599,  -380,  -587,  -382,   -11,   -53,  -402,  -379,
  -243,   -11,   -11,  -294,  -260,  -259,  -263,  -599,  -566,  -567,
  -599,   -13,  -599,   -71,  -599,   -77,   -83,  -587,  -574,  -575,
  -244,  -578,   -94,  -599,   -79,  -599,  -203,  -213,  -587,  -598,
  -598,  -282,  -587,  -287,  -591,  -391,  -521,  -394,  -560,  -560,
  -504,  -506,  -506,  -506,  -520,  -522,  -523,  -524,  -525,  -526,
  -527,  -528,  -529,  -599,  -531,  -533,  -535,  -540,  -542,  -543,
  -545,  -550,  -552,  -553,  -555,  -556,  -557,  -599,  -598,  -336,
  -598,  -308,  -337,  -338,  -311,  -599,  -314,  -599,  -587,  -574,
  -575,  -578,  -289,  -599,  -106,  -107,  -110,  -587,   -11,  -599,
  -320,  -599,   -11,  -521,  -521,  -599,  -562,  -462,  -465,  -466,
  -467,  -468,   -11,  -440,  -443,  -445,  -448,  -452,  -454,  -122,
  -267,  -599,  -197,  -599,  -590,  -260,   -33,  -199,   -34,  -200,
   -60,   -35,  -202,   -36,  -201,   -62,  -195,  -599,  -599,  -599,
  -599,  -413,  -599,  -560,  -560,  -361,  -363,  -363,  -363,  -378,
  -599,  -587,  -384,  -529,  -537,  -538,  -548,  -599,  -404,  -403,
   -11,  -599,  -599,  -254,  -264,  -569,   -16,   -75,  -413,   -87,
  -297,  -598,  -341,   -11,  -423,  -598,  -424,  -425,  -599,  -241,
  -599,  -587,  -599,  -502,  -503,  -599,  -599,  -513,  -599,  -516,
  -599,  -518,  -599,  -345,  -599,  -347,  -349,  -356,  -587,  -534,
  -544,  -554,  -558,  -599,  -339,  -599,  -599,   -11,   -11,  -313,
  -599,   -11,  -413,  -599,  -413,  -599,  -599,   -11,  -323,  -599,
  -587,  -599,  -327,  -599,  -268,   -32,  -198,  -249,  -599,  -236,
  -599,  -359,  -360,  -369,  -371,  -599,  -374,  -599,  -376,  -381,
  -599,  -599,  -599,  -536,  -599,  -400,  -599,  -415,  -417,    -9,
   -11,  -429,  -342,  -599,  -599,  -427,  -285,  -392,  -395,  -397,
  -599,  -560,  -541,  -559,  -505,  -506,  -506,  -532,  -506,  -506,
  -551,  -506,  -529,  -546,  -587,  -599,  -354,  -599,  -530,  -305,
  -599,  -306,  -599,  -599,  -263,  -598,  -316,  -319,  -496,  -599,
  -325,  -498,  -500,  -499,  -464,  -560,  -539,  -362,  -363,  -363,
  -363,  -363,  -549,  -363,  -383,  -587,  -386,  -388,  -389,  -547,
  -599,  -290,   -55,  -428,   -11,  -489,  -490,  -599,  -599,  -279,
  -426,   -11,   -11,  -393,  -501,  -599,  -509,  -599,  -511,  -599,
  -514,  -599,  -517,  -519,  -346,  -348,  -352,  -599,  -357,   -11,
  -309,  -312,  -418,  -419,  -420,   -11,  -321,   -11,  -358,  -599,
  -366,  -599,  -368,  -599,  -372,  -599,  -375,  -377,  -385,  -599,
  -289,  -578,  -422,  -246,  -599,  -599,  -290,  -599,  -599,  -506,
  -506,  -506,  -506,  -350,  -599,  -355,  -599,  -598,  -599,  -599,
  -363,  -363,  -363,  -363,  -387,  -421,  -587,  -574,  -575,  -578,
  -289,  -396,  -398,  -599,  -507,  -510,  -512,  -515,  -599,  -353,
  -340,  -317,  -328,  -599,  -364,  -367,  -370,  -373,  -413,  -506,
  -351,  -363,  -508,  -365 ]

clist = [
'218,329,374,26,523,410,122,205,26,336,299,221,260,589,536,539,2,649',
'130,130,488,111,261,26,813,543,325,210,432,297,127,127,26,26,26,712',
'26,262,781,416,422,132,132,268,272,264,271,273,479,114,6,277,277,277',
'407,6,295,628,320,880,316,480,429,808,514,757,26,26,379,625,26,625,313',
'313,526,529,110,552,533,816,339,340,115,912,343,691,694,616,945,916',
'475,715,380,127,859,621,622,631,628,386,204,760,360,364,573,575,313',
'313,313,275,288,289,353,114,26,403,396,948,918,26,26,26,26,26,26,279',
'279,279,619,584,332,618,376,390,391,392,393,395,758,333,344,534,351',
'556,375,326,13,327,652,328,337,13,341,817,488,331,334,877,342,818,628',
'6,278,278,278,703,955,708,827,559,394,6,560,625,625,1,903,985,759,13',
'793,794,761,915,655,867,535,790,388,945,931,932,330,474,884,14,880,912',
'402,408,14,439,482,483,877,427,431,994,952,26,26,26,26,751,1009,222',
'785,26,26,26,26,26,26,695,222,222,222,417,14,304,304,277,770,426,26',
'441,918,711,1020,610,778,569,571,574,574,657,863,569,850,378,381,382',
'635,664,383,298,485,13,222,222,644,384,222,348,358,358,13,13,26,26,416',
'422,385,493,706,841,842,26,870,501,717,722,709,875,953,872,906,277,277',
',511,,500,515,908,26,277,506,,26,,822,877,637,26,,14,,497,525,824,222',
'222,222,222,14,14,508,,295,876,,878,1010,295,504,877,268,,26,26,272',
'512,,518,,114,640,313,,406,698,498,,26,26,481,640,406,,,707,13,,484',
'313,,,540,541,,546,279,496,26,773,791,909,896,910,279,,821,561,664,640',
',13,957,740,26,777,,640,745,,825,,262,114,829,590,,934,583,,,,789,278',
',14,222,222,222,628,130,278,764,222,222,222,222,222,222,432,542,,127',
'625,604,,,830,831,,14,958,401,132,803,664,664,596,725,595,725,,13,601',
',600,13,,,,26,13,,,,,,298,612,,,,417,979,222,222,620,,426,277,623,995',
',222,,,13,,,,773,,,,,515,633,990,,,,14,636,515,,14,596,,617,304,14,786',
',,26,,26,,,899,,,,,26,,304,,,632,,,298,,,14,222,298,26,417,,,,277,,426',
',,,417,222,222,924,26,,426,26,313,716,39,,,26,6,39,313,,,,,222,,26,',
',803,26,417,886,949,769,277,,426,672,417,222,,,426,954,277,39,303,303',
',729,624,736,738,692,692,,741,743,590,787,431,130,762,26,26,,1018,,26',
'26,,710,26,127,768,,,515,,,347,363,363,363,132,590,26,,779,,654,26,26',
',,,,780,,,788,764,989,,764,222,764,,764,803,13,803,13,832,,,763,,,,',
',,39,596,,,601,,,,,39,39,,,,,,313,,,,,697,,590,,,13,313,,13,,735,590',
',,672,14,,14,,844,846,848,,304,,222,983,803,13,26,,304,,,26,26,,,26',
'222,,,,823,,,861,835,26,826,865,,,,14,,,14,,26,127,,,222,803,762,803',
',,,,672,672,222,39,,764,14,764,,764,688,764,,690,13,,,803,,13,13,996',
',,762,26,,,39,,,,,,,406,,,26,,222,222,888,,,222,222,,,222,,,,,313,640',
',,,764,,,,14,901,,,,14,14,26,,26,26,,,26,,,,,304,26,672,890,672,,756',
',39,767,,304,39,,771,772,303,39,,960,962,964,966,,967,13,,,,13,,755',
',303,26,,,944,,13,692,,39,898,,,,754,902,763,,763,,16,,,,,16,,,313,',
',,,,968,,222,,,,313,14,222,,,14,,,,,,,38,16,13,14,,38,,,,,,,,26,222',
'13,1014,1015,1016,1017,26,26,,,,,974,,426,,833,,,38,302,302,352,,26',
',,,,,26,853,26,1023,,13,13,14,,13,,,672,,,13,,,26,590,14,,,,346,362',
'362,362,,,,,,417,856,16,763,277,,426,,,,,16,16,,862,13,,,,222,,14,14',
',335,14,,,879,,881,14,,,38,,,,,797,799,801,,38,38,,,873,892,893,873',
'39,895,39,,,919,,,303,,,,871,14,,,303,927,,,,,,,911,,913,,13,,,,,,,13',
'13,,,39,923,,39,,873,,16,755,,755,,755,,13,,430,,,,13,905,13,39,754',
',754,,754,,,,16,,,,,,14,38,,,,,,14,14,,,,,,,,,,,,,,,,,14,38,972,,,,14',
',14,977,978,,980,,981,,982,39,404,,,,39,39,222,,434,987,,,16,,,988,16',
'303,991,,992,16,993,,,,,,303,,,,,,,,,,,,,,,755,38,755,16,755,38,755',
',,302,38,,,,,,754,,754,1019,754,,754,,,,302,,,1021,,490,,492,,38,494',
'495,,936,938,,940,942,,943,,,39,,,,39,,755,,,,,,,15,39,,,,15,,,,754',
',,,,,,,,,,,,,,,,,,,,,,,15,306,306,,,,,,,,363,,,,,,39,,,,,,,,,,,,,39',
',,,,,350,359,359,338,338,,,338,,,,,,,1004,1005,1006,1007,,,,,,,,,586',
',39,39,,,39,,,,,,39,,,,,15,,16,,16,,,,,15,15,1022,,338,338,338,338,',
',,363,,,,,,,,39,,,,926,,38,,38,,,,,16,302,,16,,,,,,302,,,,,,,,,,,,,',
'16,626,,335,,629,,,,38,,,38,,,,,,,,,,,,,,,,39,,,15,38,,,39,39,,,,,626',
',430,335,,,,,435,436,437,438,39,,,15,16,434,39,,39,16,16,,,,,,,,,,,',
',,,,,,,,,,,,,,38,,,,,38,38,,,,,,730,,,,626,335,302,,,,,,,,,,15,302,',
',15,,,,306,15,,,,,,,,,,,,,,,774,306,,775,,,,,16,,15,,16,,,,,,,524,,',
'16,784,,,,,,,,,,338,338,,,,,,38,,,,38,,,,,809,,,,558,38,,,,,,,,,,,,',
',,562,16,,,,,,,,,,,,,16,,,,,,,,,,,,,362,,,,,,38,,834,,,,,,,,,,,38,,16',
'16,,,16,,,,,,16,,,,,,,,,,,,,,,,,,,,,,38,38,,,38,,,,,,38,16,,,,930,,',
',,,,,,,,883,,,,,,15,,15,362,,,,,306,,,38,894,,229,925,306,,,,,,,276',
'276,276,,,,335,,,648,,,,322,323,324,15,,,15,16,,,,,,,16,16,,276,276',
',,,,,,,15,,,,,,16,721,,,,,16,38,16,,,,,,38,38,,,,,,,,,,,,,,,,,38,,,',
',,38,,38,,,,,,,,,,,15,,,,,15,15,,,,,,,,,,,,306,,,,,,,,,,,306,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,276,409,276,,,,,428,433',
',15,,,338,15,,,,,338,,,,229,15,,448,449,450,451,452,453,454,455,456',
'457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473',
',,,,,,276,276,,,,,,,359,276,,,,,15,,276,,276,,,276,276,,,,,15,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,520,15,15,,,15,,338,,,,15,,,,,,,,,,,,,,,,',
',,,,,,,,359,,,,,,,,15,,,,929,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,276,,,,',
',,,,,,,,,,,,,,,,,,,,,,,15,,,,,,,15,15,,276,,428,611,409,,,,,,,,,,,15',
',,,,,15,,15,,,,,,,,,,,,,,,,,,,,,276,,276,,276,,,,,,,,,,,,,,,,276,,,',
',,,,,646,647,,,,,,,,,,276,,,276,,,,,,,,,,,,,,276,276,,,,,,,,,,276,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,276,732,,,276,276,737,739,,,,742,744,,',
'611,746,,,,,,,,,,,,,,,,,,,,,,,,276,,,276,,,,,,,,,,,,,,,,,,,,276,,,,',
',,,,,,,,,,,,,,,,,,,,,276,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,276,,836,,,,,,,,,,,,,,737,739,744,742,,839,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,276,,,,,,,,,,,,,,,,,,276,,,,,,,,',
',,,,,,,,276,836,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',,,,,,,,,,,,,,276' ]
        racc_goto_table = arr = ::Array.new(2731, 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 = [
'32,68,57,42,8,23,15,15,42,87,50,20,140,24,90,90,2,10,61,61,74,6,37,42',
'91,93,32,25,18,47,58,58,42,42,42,97,42,25,11,38,38,62,62,72,72,39,39',
'39,40,96,7,34,34,34,28,7,46,180,64,176,51,23,28,118,52,128,42,42,153',
'75,42,75,65,65,70,70,4,55,70,11,17,17,5,177,17,92,92,41,116,133,38,114',
'154,58,12,41,41,14,180,154,16,131,56,56,157,157,65,65,65,45,45,45,19',
'96,42,29,31,119,134,42,42,42,42,42,42,71,71,71,43,63,67,73,85,17,17',
'17,17,2,129,86,4,89,94,95,98,99,21,100,101,102,103,21,104,105,74,71',
'71,171,106,107,180,7,69,69,69,108,109,110,111,112,7,7,113,75,75,1,115',
'119,120,21,123,123,126,132,135,136,137,138,5,116,141,142,69,143,118',
'22,176,177,20,20,22,48,145,146,171,20,20,133,147,42,42,42,42,24,119',
'22,148,42,42,42,42,42,42,93,22,22,22,72,22,22,22,34,41,58,42,25,134',
'8,119,23,24,158,158,158,158,139,149,158,131,152,155,156,52,165,159,9',
'48,21,22,22,52,160,22,22,22,22,21,21,42,42,38,38,161,153,55,123,123',
'42,131,48,162,163,164,169,11,173,174,34,34,,32,,47,50,128,42,34,47,',
'42,,24,171,23,42,,22,,6,32,24,22,22,22,22,22,22,25,,46,129,,129,91,46',
'51,171,72,,42,42,72,64,,25,,96,38,65,,69,23,7,,42,42,45,38,69,,,23,21',
',45,65,,,17,17,,25,71,4,42,74,139,129,92,129,71,,90,37,165,38,,21,97',
'40,42,52,,38,40,,8,,25,96,8,32,,123,15,,,,70,69,,22,22,22,22,180,61',
'69,172,22,22,22,22,22,22,18,4,,58,75,48,,,139,139,,22,123,9,62,117,165',
'165,72,158,39,158,,21,72,,39,21,,,,42,21,,,,,,9,32,,,,72,129,22,22,48',
',58,34,48,10,,22,,,21,,,,74,,,,,50,48,129,,,,22,48,50,,22,72,,39,22',
'22,28,,,42,,42,,,8,,,,,42,,22,,,2,,,9,,,22,22,9,42,72,,,,34,,58,,,,72',
'22,22,90,42,,58,42,65,48,54,,,42,7,54,65,,,,,22,,42,,,117,42,72,117',
'90,87,34,,58,170,72,22,,,58,93,34,54,54,54,,15,71,20,20,96,96,,20,20',
'32,68,20,61,32,42,42,,24,,42,42,,96,42,58,140,,,50,,,54,54,54,54,62',
'32,42,,50,,71,42,42,,,,,48,,,32,172,8,,172,22,172,,172,117,21,117,21',
'57,,,170,,,,,,,54,72,,,72,,,,,54,54,,,,,,65,,,,,69,,32,,,21,65,,21,',
'71,32,,,170,22,,22,,125,125,125,,22,,22,117,117,21,42,,22,,,42,42,,',
'42,22,,,,17,,,68,20,42,17,68,,,,22,,,22,,42,58,,,22,117,32,117,,,,,170',
'170,22,54,,172,22,172,,172,9,172,,9,21,,,117,,21,21,23,,,32,42,,,54',
',,,,,,69,,,42,,22,22,48,,,22,22,,,22,,,,,65,38,,,,172,,,,22,48,,,,22',
'22,42,,42,42,,,42,,,,,22,42,170,17,170,,127,,54,9,,22,54,,9,9,54,54',
',125,125,125,125,,125,21,,,,21,,124,,54,42,,,48,,21,96,,54,96,,,,122',
'96,170,,170,,27,,,,,27,,,65,,,,,,32,,22,,,,65,22,22,,,22,,,,,,,53,27',
'21,22,,53,,,,,,,,42,22,21,125,125,125,125,42,42,,,,,25,,58,,9,,,53,53',
'53,27,,42,,,,,,42,22,42,125,,21,21,22,,21,,,170,,,21,,,42,32,22,,,,53',
'53,53,53,,,,,,72,9,27,170,34,,58,,,,,27,27,,9,21,,,,22,,22,22,,66,22',
',,127,,127,22,,,53,,,,,168,168,168,,53,53,,,124,9,9,124,54,9,54,,,22',
',,54,,,,122,22,,,54,22,,,,,,,127,,127,,21,,,,,,,21,21,,,54,9,,54,,124',
',27,124,,124,,124,,21,,27,,,,21,122,21,54,122,,122,,122,,,,27,,,,,,22',
'53,,,,,,22,22,,,,,,,,,,,,,,,,,22,53,9,,,,22,,22,9,9,,127,,127,,127,54',
'66,,,,54,54,22,,66,9,,,27,,,9,27,54,127,,127,27,127,,,,,,54,,,,,,,,',
',,,,,,124,53,124,27,124,53,124,,,53,53,,,,,,122,,122,127,122,,122,,',
',53,,,127,,66,,66,,53,66,66,,168,168,,168,168,,168,,,54,,,,54,,124,',
',,,,,26,54,,,,26,,,,122,,,,,,,,,,,,,,,,,,,,,,,,26,26,26,,,,,,,,54,,',
',,,54,,,,,,,,,,,,,54,,,,,,26,26,26,30,30,,,30,,,,,,,168,168,168,168',
',,,,,,,,66,,54,54,,,54,,,,,,54,,,,,26,,27,,27,,,,,26,26,168,,30,30,30',
'30,,,,54,,,,,,,,54,,,,54,,53,,53,,,,,27,53,,27,,,,,,53,,,,,,,,,,,,,',
'27,66,,66,,66,,,,53,,,53,,,,,,,,,,,,,,,,54,,,26,53,,,54,54,,,,,66,,27',
'66,,,,,30,30,30,30,54,,,26,27,66,54,,54,27,27,,,,,,,,,,,,,,,,,,,,,,',
',,,53,,,,,53,53,,,,,,66,,,,66,66,53,,,,,,,,,,26,53,,,26,,,,26,26,,,',
',,,,,,,,,,,66,26,,66,,,,,27,,26,,27,,,,,,,30,,,27,66,,,,,,,,,,30,30',
',,,,,53,,,,53,,,,,66,,,,30,53,,,,,,,,,,,,,,,30,27,,,,,,,,,,,,,27,,,',
',,,,,,,,,53,,,,,,53,,66,,,,,,,,,,,53,,27,27,,,27,,,,,,27,,,,,,,,,,,',
',,,,,,,,,,53,53,,,53,,,,,,53,27,,,,27,,,,,,,,,,,66,,,,,,26,,26,53,,',
',,26,,,53,66,,33,53,26,,,,,,,33,33,33,,,,66,,,30,,,,33,33,33,26,,,26',
'27,,,,,,,27,27,,33,33,,,,,,,,26,,,,,,27,26,,,,,27,53,27,,,,,,53,53,',
',,,,,,,,,,,,,,,53,,,,,,53,,53,,,,,,,,,,,26,,,,,26,26,,,,,,,,,,,,26,',
',,,,,,,,,26,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,33,33',
'33,,,,,33,33,,26,,,30,26,,,,,30,,,,33,26,,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,,,,,',
',26,33,,,,,26,,33,,33,,,33,33,,,,,26,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
',33,26,26,,,26,,30,,,,26,,,,,,,,,,,,,,,,,,,,,,,,,26,,,,,,,,26,,,,26',
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,33,,,,,,,,,,,,,,,,,,,,,,,,,,,,26,,,,',
',,26,26,,33,,33,33,33,,,,,,,,,,,26,,,,,,26,,26,,,,,,,,,,,,,,,,,,,,,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' ]
        racc_goto_check = arr = ::Array.new(2731, 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,   175,    16,   nil,    73,    77,    18,    50,  -322,   222,
  -505,  -611,  -687,   nil,  -400,    -2,    91,    17,  -187,    44,
    -9,   146,   195,  -204,  -397,    13,  1266,   882,  -153,   -92,
  1274,    -6,   -19,  1757,    22,   nil,   nil,    -2,  -171,    19,
  -216,  -387,     3,  -350,   nil,    80,    23,    -4,   -18,   nil,
   -24,    25,  -253,   914,   545,  -279,    33,   -69,    22,   nil,
   nil,    10,    33,  -271,    17,    38,   955,    71,   -58,   133,
  -256,    96,    17,  -344,  -259,  -418,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,    61,    79,   -52,   nil,  -196,
  -325,  -664,  -455,  -319,    74,  -217,    46,  -525,    73,    88,
    89,  -376,    91,    88,    87,  -538,    92,  -535,  -384,  -730,
  -389,  -542,  -195,  -202,  -470,  -656,  -797,  -243,  -610,  -770,
  -436,   nil,   262,  -478,   246,   -60,  -432,   221,  -549,  -476,
   nil,  -513,  -668,  -762,  -733,  -351,  -605,  -151,  -468,  -290,
   -10,  -678,  -678,   -66,   nil,   -67,   -67,  -687,  -434,  -539,
   nil,   nil,   172,   -11,    10,   167,   167,  -278,  -139,   169,
   175,   185,  -286,  -286,  -275,  -282,   nil,   nil,   369,  -513,
    35,  -639,  -206,  -507,  -554,   nil,  -739,  -762,   nil,   nil,
  -432 ]

racc_goto_default = [
   nil,   nil,   nil,     3,   nil,     4,   345,   293,   nil,   522,
   nil,   814,   nil,   290,   291,   nil,   nil,   nil,    11,    12,
    18,   228,   321,   nil,   nil,   554,   226,   227,   nil,   nil,
    17,   nil,   440,    21,    22,    23,    24,   nil,   643,   nil,
   nil,   nil,   310,   nil,    25,   411,    32,   nil,   nil,    34,
    37,    36,   nil,   223,   224,   357,   nil,   129,   419,   128,
   131,    75,    76,   nil,    90,    46,   282,   nil,   782,   412,
   nil,   413,   424,   597,   486,   280,   266,    47,    48,    49,
    50,    51,    52,    53,    54,    55,   nil,   267,    61,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   537,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   805,   671,   nil,   806,
   907,   753,   659,   nil,   660,   nil,   nil,   661,   nil,   663,
   613,   nil,   nil,   nil,   669,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   423,   nil,   nil,   nil,   nil,   nil,
    74,    77,    78,   nil,   nil,   nil,   nil,   nil,   564,   nil,
   nil,   nil,   nil,   nil,   nil,   874,   714,   658,   nil,   662,
   882,   674,   676,   677,   765,   680,   681,   766,   684,   687,
   285 ]

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, 176, :_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, 175, :_reduce_none,
  3, 175, :_reduce_44,
  3, 175, :_reduce_45,
  3, 175, :_reduce_46,
  2, 175, :_reduce_47,
  1, 175, :_reduce_none,
  1, 162, :_reduce_none,
  1, 165, :_reduce_none,
  1, 165, :_reduce_none,
  1, 180, :_reduce_none,
  4, 180, :_reduce_53,
  0, 188, :_reduce_54,
  5, 185, :_reduce_55,
  1, 187, :_reduce_none,
  2, 179, :_reduce_57,
  3, 179, :_reduce_58,
  4, 179, :_reduce_59,
  5, 179, :_reduce_60,
  4, 179, :_reduce_61,
  5, 179, :_reduce_62,
  2, 179, :_reduce_63,
  2, 179, :_reduce_64,
  2, 179, :_reduce_65,
  2, 179, :_reduce_66,
  2, 179, :_reduce_67,
  1, 164, :_reduce_68,
  3, 164, :_reduce_69,
  1, 192, :_reduce_70,
  3, 192, :_reduce_71,
  1, 191, :_reduce_none,
  2, 191, :_reduce_73,
  3, 191, :_reduce_74,
  5, 191, :_reduce_75,
  2, 191, :_reduce_76,
  4, 191, :_reduce_77,
  2, 191, :_reduce_78,
  4, 191, :_reduce_79,
  1, 191, :_reduce_80,
  3, 191, :_reduce_81,
  1, 195, :_reduce_none,
  3, 195, :_reduce_83,
  2, 194, :_reduce_84,
  3, 194, :_reduce_85,
  1, 197, :_reduce_86,
  3, 197, :_reduce_87,
  1, 196, :_reduce_88,
  1, 196, :_reduce_89,
  4, 196, :_reduce_90,
  3, 196, :_reduce_91,
  3, 196, :_reduce_92,
  3, 196, :_reduce_93,
  3, 196, :_reduce_94,
  2, 196, :_reduce_95,
  1, 196, :_reduce_96,
  1, 172, :_reduce_97,
  1, 172, :_reduce_98,
  4, 172, :_reduce_99,
  3, 172, :_reduce_100,
  3, 172, :_reduce_101,
  3, 172, :_reduce_102,
  3, 172, :_reduce_103,
  2, 172, :_reduce_104,
  1, 172, :_reduce_105,
  1, 200, :_reduce_106,
  1, 200, :_reduce_none,
  2, 201, :_reduce_108,
  1, 201, :_reduce_109,
  3, 201, :_reduce_110,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 202, :_reduce_none,
  1, 205, :_reduce_116,
  1, 205, :_reduce_none,
  1, 160, :_reduce_none,
  1, 160, :_reduce_none,
  1, 161, :_reduce_120,
  0, 208, :_reduce_121,
  4, 161, :_reduce_122,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 203, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  1, 204, :_reduce_none,
  3, 178, :_reduce_194,
  5, 178, :_reduce_195,
  3, 178, :_reduce_196,
  5, 178, :_reduce_197,
  6, 178, :_reduce_198,
  5, 178, :_reduce_199,
  5, 178, :_reduce_200,
  5, 178, :_reduce_201,
  5, 178, :_reduce_202,
  4, 178, :_reduce_203,
  3, 178, :_reduce_204,
  3, 178, :_reduce_205,
  3, 178, :_reduce_206,
  3, 178, :_reduce_207,
  3, 178, :_reduce_208,
  3, 178, :_reduce_209,
  3, 178, :_reduce_210,
  3, 178, :_reduce_211,
  3, 178, :_reduce_212,
  4, 178, :_reduce_213,
  2, 178, :_reduce_214,
  2, 178, :_reduce_215,
  3, 178, :_reduce_216,
  3, 178, :_reduce_217,
  3, 178, :_reduce_218,
  3, 178, :_reduce_219,
  3, 178, :_reduce_220,
  3, 178, :_reduce_221,
  3, 178, :_reduce_222,
  3, 178, :_reduce_223,
  3, 178, :_reduce_224,
  3, 178, :_reduce_225,
  3, 178, :_reduce_226,
  3, 178, :_reduce_227,
  3, 178, :_reduce_228,
  2, 178, :_reduce_229,
  2, 178, :_reduce_230,
  3, 178, :_reduce_231,
  3, 178, :_reduce_232,
  3, 178, :_reduce_233,
  3, 178, :_reduce_234,
  3, 178, :_reduce_235,
  6, 178, :_reduce_236,
  1, 178, :_reduce_none,
  1, 211, :_reduce_none,
  1, 212, :_reduce_none,
  2, 212, :_reduce_none,
  4, 212, :_reduce_241,
  2, 212, :_reduce_242,
  3, 217, :_reduce_243,
  0, 218, :_reduce_244,
  1, 218, :_reduce_none,
  0, 168, :_reduce_246,
  1, 168, :_reduce_none,
  2, 168, :_reduce_none,
  4, 168, :_reduce_249,
  2, 168, :_reduce_250,
  1, 190, :_reduce_251,
  2, 190, :_reduce_252,
  2, 190, :_reduce_253,
  4, 190, :_reduce_254,
  1, 190, :_reduce_255,
  0, 221, :_reduce_256,
  2, 184, :_reduce_257,
  2, 220, :_reduce_258,
  2, 219, :_reduce_259,
  0, 219, :_reduce_260,
  1, 214, :_reduce_261,
  2, 214, :_reduce_262,
  3, 214, :_reduce_263,
  4, 214, :_reduce_264,
  1, 174, :_reduce_265,
  1, 174, :_reduce_none,
  3, 173, :_reduce_267,
  4, 173, :_reduce_268,
  2, 173, :_reduce_269,
  1, 210, :_reduce_none,
  1, 210, :_reduce_none,
  1, 210, :_reduce_none,
  1, 210, :_reduce_none,
  1, 210, :_reduce_none,
  1, 210, :_reduce_none,
  1, 210, :_reduce_none,
  1, 210, :_reduce_none,
  1, 210, :_reduce_none,
  1, 210, :_reduce_none,
  1, 210, :_reduce_280,
  0, 244, :_reduce_281,
  4, 210, :_reduce_282,
  0, 245, :_reduce_283,
  0, 246, :_reduce_284,
  6, 210, :_reduce_285,
  0, 247, :_reduce_286,
  4, 210, :_reduce_287,
  3, 210, :_reduce_288,
  3, 210, :_reduce_289,
  2, 210, :_reduce_290,
  3, 210, :_reduce_291,
  3, 210, :_reduce_292,
  1, 210, :_reduce_293,
  4, 210, :_reduce_294,
  3, 210, :_reduce_295,
  1, 210, :_reduce_296,
  5, 210, :_reduce_297,
  4, 210, :_reduce_298,
  3, 210, :_reduce_299,
  2, 210, :_reduce_300,
  1, 210, :_reduce_none,
  2, 210, :_reduce_302,
  0, 248, :_reduce_303,
  3, 210, :_reduce_304,
  6, 210, :_reduce_305,
  6, 210, :_reduce_306,
  0, 249, :_reduce_307,
  0, 250, :_reduce_308,
  7, 210, :_reduce_309,
  0, 251, :_reduce_310,
  0, 252, :_reduce_311,
  7, 210, :_reduce_312,
  5, 210, :_reduce_313,
  4, 210, :_reduce_314,
  0, 253, :_reduce_315,
  0, 254, :_reduce_316,
  9, 210, :_reduce_317,
  0, 255, :_reduce_318,
  6, 210, :_reduce_319,
  0, 256, :_reduce_320,
  7, 210, :_reduce_321,
  0, 257, :_reduce_322,
  5, 210, :_reduce_323,
  0, 258, :_reduce_324,
  6, 210, :_reduce_325,
  0, 259, :_reduce_326,
  0, 260, :_reduce_327,
  9, 210, :_reduce_328,
  1, 210, :_reduce_329,
  1, 210, :_reduce_330,
  1, 210, :_reduce_331,
  1, 210, :_reduce_332,
  1, 167, :_reduce_none,
  1, 235, :_reduce_none,
  1, 235, :_reduce_none,
  2, 235, :_reduce_336,
  1, 237, :_reduce_none,
  1, 237, :_reduce_none,
  1, 236, :_reduce_none,
  5, 236, :_reduce_340,
  1, 156, :_reduce_none,
  2, 156, :_reduce_342,
  1, 239, :_reduce_none,
  1, 239, :_reduce_none,
  1, 261, :_reduce_345,
  3, 261, :_reduce_346,
  1, 264, :_reduce_347,
  3, 264, :_reduce_348,
  1, 263, :_reduce_none,
  4, 263, :_reduce_350,
  6, 263, :_reduce_351,
  3, 263, :_reduce_352,
  5, 263, :_reduce_353,
  2, 263, :_reduce_354,
  4, 263, :_reduce_355,
  1, 263, :_reduce_356,
  3, 263, :_reduce_357,
  4, 265, :_reduce_358,
  2, 265, :_reduce_359,
  2, 265, :_reduce_360,
  1, 265, :_reduce_361,
  2, 270, :_reduce_362,
  0, 270, :_reduce_363,
  6, 271, :_reduce_364,
  8, 271, :_reduce_365,
  4, 271, :_reduce_366,
  6, 271, :_reduce_367,
  4, 271, :_reduce_368,
  2, 271, :_reduce_none,
  6, 271, :_reduce_370,
  2, 271, :_reduce_371,
  4, 271, :_reduce_372,
  6, 271, :_reduce_373,
  2, 271, :_reduce_374,
  4, 271, :_reduce_375,
  2, 271, :_reduce_376,
  4, 271, :_reduce_377,
  1, 271, :_reduce_none,
  0, 186, :_reduce_379,
  1, 186, :_reduce_380,
  3, 275, :_reduce_381,
  1, 275, :_reduce_382,
  4, 275, :_reduce_383,
  1, 276, :_reduce_384,
  4, 276, :_reduce_385,
  1, 277, :_reduce_386,
  3, 277, :_reduce_387,
  1, 278, :_reduce_388,
  1, 278, :_reduce_none,
  0, 282, :_reduce_390,
  0, 283, :_reduce_391,
  4, 234, :_reduce_392,
  4, 280, :_reduce_393,
  1, 280, :_reduce_394,
  0, 286, :_reduce_395,
  4, 281, :_reduce_396,
  0, 287, :_reduce_397,
  4, 281, :_reduce_398,
  0, 288, :_reduce_399,
  5, 285, :_reduce_400,
  2, 181, :_reduce_401,
  4, 181, :_reduce_402,
  5, 181, :_reduce_403,
  5, 181, :_reduce_404,
  2, 233, :_reduce_405,
  4, 233, :_reduce_406,
  4, 233, :_reduce_407,
  3, 233, :_reduce_408,
  3, 233, :_reduce_409,
  3, 233, :_reduce_410,
  2, 233, :_reduce_411,
  1, 233, :_reduce_412,
  4, 233, :_reduce_413,
  0, 290, :_reduce_414,
  5, 232, :_reduce_415,
  0, 291, :_reduce_416,
  5, 232, :_reduce_417,
  5, 238, :_reduce_418,
  1, 292, :_reduce_419,
  1, 292, :_reduce_none,
  6, 155, :_reduce_421,
  0, 155, :_reduce_422,
  1, 293, :_reduce_423,
  1, 293, :_reduce_none,
  1, 293, :_reduce_none,
  2, 294, :_reduce_426,
  1, 294, :_reduce_none,
  2, 157, :_reduce_428,
  1, 157, :_reduce_none,
  1, 222, :_reduce_none,
  1, 222, :_reduce_none,
  1, 222, :_reduce_none,
  1, 223, :_reduce_433,
  1, 296, :_reduce_434,
  2, 296, :_reduce_435,
  3, 297, :_reduce_436,
  1, 297, :_reduce_437,
  1, 297, :_reduce_438,
  3, 224, :_reduce_439,
  4, 225, :_reduce_440,
  3, 226, :_reduce_441,
  0, 301, :_reduce_442,
  3, 301, :_reduce_443,
  1, 302, :_reduce_444,
  2, 302, :_reduce_445,
  3, 228, :_reduce_446,
  0, 304, :_reduce_447,
  3, 304, :_reduce_448,
  3, 227, :_reduce_449,
  3, 229, :_reduce_450,
  0, 305, :_reduce_451,
  3, 305, :_reduce_452,
  0, 306, :_reduce_453,
  3, 306, :_reduce_454,
  0, 298, :_reduce_455,
  2, 298, :_reduce_456,
  0, 299, :_reduce_457,
  2, 299, :_reduce_458,
  0, 300, :_reduce_459,
  2, 300, :_reduce_460,
  1, 303, :_reduce_461,
  2, 303, :_reduce_462,
  0, 308, :_reduce_463,
  4, 303, :_reduce_464,
  1, 307, :_reduce_465,
  1, 307, :_reduce_466,
  1, 307, :_reduce_467,
  1, 307, :_reduce_none,
  1, 206, :_reduce_469,
  3, 207, :_reduce_470,
  1, 295, :_reduce_471,
  2, 295, :_reduce_472,
  1, 209, :_reduce_473,
  1, 209, :_reduce_474,
  1, 209, :_reduce_475,
  1, 209, :_reduce_476,
  1, 198, :_reduce_477,
  1, 198, :_reduce_478,
  1, 198, :_reduce_479,
  1, 198, :_reduce_480,
  1, 198, :_reduce_481,
  1, 199, :_reduce_482,
  1, 199, :_reduce_483,
  1, 199, :_reduce_484,
  1, 199, :_reduce_485,
  1, 199, :_reduce_486,
  1, 199, :_reduce_487,
  1, 199, :_reduce_488,
  1, 230, :_reduce_489,
  1, 230, :_reduce_490,
  1, 166, :_reduce_491,
  1, 166, :_reduce_492,
  1, 171, :_reduce_493,
  1, 171, :_reduce_494,
  0, 309, :_reduce_495,
  4, 240, :_reduce_496,
  0, 240, :_reduce_497,
  3, 242, :_reduce_498,
  0, 311, :_reduce_499,
  3, 242, :_reduce_500,
  4, 310, :_reduce_501,
  2, 310, :_reduce_502,
  2, 310, :_reduce_503,
  1, 310, :_reduce_504,
  2, 313, :_reduce_505,
  0, 313, :_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, 315, :_reduce_528,
  1, 316, :_reduce_529,
  3, 316, :_reduce_530,
  1, 272, :_reduce_531,
  3, 272, :_reduce_532,
  1, 317, :_reduce_533,
  2, 318, :_reduce_534,
  1, 318, :_reduce_535,
  2, 319, :_reduce_536,
  1, 319, :_reduce_537,
  1, 266, :_reduce_538,
  3, 266, :_reduce_539,
  1, 312, :_reduce_540,
  3, 312, :_reduce_541,
  1, 320, :_reduce_none,
  1, 320, :_reduce_none,
  2, 267, :_reduce_544,
  1, 267, :_reduce_545,
  3, 321, :_reduce_546,
  3, 322, :_reduce_547,
  1, 273, :_reduce_548,
  3, 273, :_reduce_549,
  1, 314, :_reduce_550,
  3, 314, :_reduce_551,
  1, 323, :_reduce_none,
  1, 323, :_reduce_none,
  2, 274, :_reduce_554,
  1, 274, :_reduce_555,
  1, 324, :_reduce_none,
  1, 324, :_reduce_none,
  2, 269, :_reduce_558,
  2, 268, :_reduce_559,
  0, 268, :_reduce_560,
  1, 243, :_reduce_none,
  3, 243, :_reduce_562,
  0, 231, :_reduce_563,
  2, 231, :_reduce_none,
  1, 216, :_reduce_565,
  3, 216, :_reduce_566,
  3, 325, :_reduce_567,
  2, 325, :_reduce_568,
  4, 325, :_reduce_569,
  2, 325, :_reduce_570,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 189, :_reduce_none,
  1, 183, :_reduce_none,
  1, 183, :_reduce_none,
  1, 183, :_reduce_none,
  1, 183, :_reduce_none,
  1, 289, :_reduce_none,
  1, 289, :_reduce_none,
  1, 289, :_reduce_none,
  1, 182, :_reduce_none,
  1, 182, :_reduce_none,
  1, 170, :_reduce_583,
  1, 170, :_reduce_584,
  0, 149, :_reduce_none,
  1, 149, :_reduce_none,
  0, 177, :_reduce_none,
  1, 177, :_reduce_none,
  2, 193, :_reduce_589,
  2, 169, :_reduce_590,
  0, 215, :_reduce_none,
  1, 215, :_reduce_none,
  1, 215, :_reduce_none,
  1, 241, :_reduce_594,
  1, 241, :_reduce_none,
  1, 151, :_reduce_none,
  2, 151, :_reduce_none,
  0, 213, :_reduce_598 ]

racc_reduce_n = 599

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,
  :tUPLUS => 63,
  :tUMINUS => 64,
  :tUNARY_NUM => 65,
  :tPOW => 66,
  :tCMP => 67,
  :tEQ => 68,
  :tEQQ => 69,
  :tNEQ => 70,
  :tGEQ => 71,
  :tLEQ => 72,
  :tANDOP => 73,
  :tOROP => 74,
  :tMATCH => 75,
  :tNMATCH => 76,
  :tDOT => 77,
  :tDOT2 => 78,
  :tDOT3 => 79,
  :tAREF => 80,
  :tASET => 81,
  :tLSHFT => 82,
  :tRSHFT => 83,
  :tCOLON2 => 84,
  :tCOLON3 => 85,
  :tOP_ASGN => 86,
  :tASSOC => 87,
  :tLPAREN => 88,
  :tLPAREN2 => 89,
  :tRPAREN => 90,
  :tLPAREN_ARG => 91,
  :tLBRACK => 92,
  :tLBRACK2 => 93,
  :tRBRACK => 94,
  :tLBRACE => 95,
  :tLBRACE_ARG => 96,
  :tSTAR => 97,
  :tSTAR2 => 98,
  :tAMPER => 99,
  :tAMPER2 => 100,
  :tTILDE => 101,
  :tPERCENT => 102,
  :tDIVIDE => 103,
  :tDSTAR => 104,
  :tPLUS => 105,
  :tMINUS => 106,
  :tLT => 107,
  :tGT => 108,
  :tPIPE => 109,
  :tBANG => 110,
  :tCARET => 111,
  :tLCURLY => 112,
  :tRCURLY => 113,
  :tBACK_REF2 => 114,
  :tSYMBEG => 115,
  :tSTRING_BEG => 116,
  :tXSTRING_BEG => 117,
  :tREGEXP_BEG => 118,
  :tREGEXP_OPT => 119,
  :tWORDS_BEG => 120,
  :tQWORDS_BEG => 121,
  :tSYMBOLS_BEG => 122,
  :tQSYMBOLS_BEG => 123,
  :tSTRING_DBEG => 124,
  :tSTRING_DVAR => 125,
  :tSTRING_END => 126,
  :tSTRING_DEND => 127,
  :tSTRING => 128,
  :tSYMBOL => 129,
  :tNL => 130,
  :tEH => 131,
  :tCOLON => 132,
  :tCOMMA => 133,
  :tSPACE => 134,
  :tSEMI => 135,
  :tLAMBDA => 136,
  :tLAMBEG => 137,
  :tCHARACTER => 138,
  :tRATIONAL => 139,
  :tIMAGINARY => 140,
  :tLABEL_END => 141,
  :tANDDOT => 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",
  "tUPLUS",
  "tUMINUS",
  "tUNARY_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",
  "tANDDOT",
  "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",
  "call_op",
  "backref",
  "lhs",
  "mrhs",
  "mrhs_arg",
  "expr",
  "@1",
  "opt_nl",
  "arg",
  "command",
  "block_command",
  "block_call",
  "dot_or_colon",
  "operation2",
  "command_args",
  "cmd_brace_block",
  "opt_block_param",
  "fcall",
  "@2",
  "operation",
  "call_args",
  "mlhs_basic",
  "mlhs_inner",
  "rparen",
  "mlhs_head",
  "mlhs_item",
  "mlhs_node",
  "mlhs_post",
  "user_variable",
  "keyword_variable",
  "cname",
  "cpath",
  "fname",
  "op",
  "reswords",
  "fsym",
  "symbol",
  "dsym",
  "@3",
  "simple_numeric",
  "primary",
  "arg_value",
  "aref_args",
  "none",
  "args",
  "trailer",
  "assocs",
  "paren_args",
  "opt_paren_args",
  "opt_block_arg",
  "block_arg",
  "@4",
  "literal",
  "strings",
  "xstring",
  "regexp",
  "words",
  "qwords",
  "symbols",
  "qsymbols",
  "var_ref",
  "assoc_list",
  "brace_block",
  "method_call",
  "lambda",
  "then",
  "if_tail",
  "do",
  "case_body",
  "for_var",
  "superclass",
  "term",
  "f_arglist",
  "singleton",
  "@5",
  "@6",
  "@7",
  "@8",
  "@9",
  "@10",
  "@11",
  "@12",
  "@13",
  "@14",
  "@15",
  "@16",
  "@17",
  "@18",
  "@19",
  "@20",
  "@21",
  "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",
  "@22",
  "@23",
  "f_args",
  "do_block",
  "@24",
  "@25",
  "@26",
  "operation3",
  "@27",
  "@28",
  "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",
  "@29",
  "@30",
  "args_tail",
  "@31",
  "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

def _reduce_2(val, _values, result)
                      result = @builder.compstmt(val[0])
                    
    result
end

def _reduce_3(val, _values, result)
                      result = []
                    
    result
end

def _reduce_4(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_5(val, _values, result)
                      result = val[0] << val[2]
                    
    result
end

def _reduce_6(val, _values, result)
                      result = [ val[1] ]
                    
    result
end

# reduce 7 omitted

def _reduce_8(val, _values, result)
                      result = @builder.preexe(val[0], val[1], val[2], val[3])
                    
    result
end

def _reduce_9(val, _values, result)
                      rescue_bodies     = val[1]
                      else_t,   else_   = val[2]
                      ensure_t, ensure_ = val[3]

                      if rescue_bodies.empty? && !else_t.nil?
                        diagnostic :warning, :useless_else, nil, else_t
                      end

                      result = @builder.begin_body(val[0],
                                  rescue_bodies,
                                  else_t,   else_,
                                  ensure_t, ensure_)
                    
    result
end

def _reduce_10(val, _values, result)
                      result = @builder.compstmt(val[0])
                    
    result
end

def _reduce_11(val, _values, result)
                      result = []
                    
    result
end

def _reduce_12(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_13(val, _values, result)
                      result = val[0] << val[2]
                    
    result
end

def _reduce_14(val, _values, result)
                      result = [ val[1] ]
                    
    result
end

# reduce 15 omitted

def _reduce_16(val, _values, result)
                      diagnostic :error, :begin_in_method, nil, val[0]
                    
    result
end

def _reduce_17(val, _values, result)
                      @lexer.state = :expr_fname
                    
    result
end

def _reduce_18(val, _values, result)
                      result = @builder.alias(val[0], val[1], val[3])
                    
    result
end

def _reduce_19(val, _values, result)
                      result = @builder.alias(val[0],
                                  @builder.gvar(val[1]),
                                  @builder.gvar(val[2]))
                    
    result
end

def _reduce_20(val, _values, result)
                      result = @builder.alias(val[0],
                                  @builder.gvar(val[1]),
                                  @builder.back_ref(val[2]))
                    
    result
end

def _reduce_21(val, _values, result)
                      diagnostic :error, :nth_ref_alias, nil, val[2]
                    
    result
end

def _reduce_22(val, _values, result)
                      result = @builder.undef_method(val[0], val[1])
                    
    result
end

def _reduce_23(val, _values, result)
                      result = @builder.condition_mod(val[0], nil,
                                                      val[1], val[2])
                    
    result
end

def _reduce_24(val, _values, result)
                      result = @builder.condition_mod(nil, val[0],
                                                      val[1], val[2])
                    
    result
end

def _reduce_25(val, _values, result)
                      result = @builder.loop_mod(:while, val[0], val[1], val[2])
                    
    result
end

def _reduce_26(val, _values, result)
                      result = @builder.loop_mod(:until, val[0], val[1], val[2])
                    
    result
end

def _reduce_27(val, _values, result)
                      rescue_body = @builder.rescue_body(val[1],
                                        nil, nil, nil,
                                        nil, val[2])

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

def _reduce_28(val, _values, result)
                      result = @builder.postexe(val[0], val[1], val[2], val[3])
                    
    result
end

# reduce 29 omitted

def _reduce_30(val, _values, result)
                      result = @builder.multi_assign(val[0], val[1], val[2])
                    
    result
end

def _reduce_31(val, _values, result)
                      result = @builder.op_assign(val[0], val[1], val[2])
                    
    result
end

def _reduce_32(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.index(
                                    val[0], val[1], val[2], val[3]),
                                  val[4], val[5])
                    
    result
end

def _reduce_33(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])
                    
    result
end

def _reduce_34(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])
                    
    result
end

def _reduce_35(val, _values, result)
                      const  = @builder.const_op_assignable(
                                  @builder.const_fetch(val[0], val[1], val[2]))
                      result = @builder.op_assign(const, val[3], val[4])
                    
    result
end

def _reduce_36(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])
                    
    result
end

def _reduce_37(val, _values, result)
                      @builder.op_assign(val[0], val[1], val[2])
                    
    result
end

def _reduce_38(val, _values, result)
                      result = @builder.assign(val[0], val[1],
                                  @builder.array(nil, val[2], nil))
                    
    result
end

def _reduce_39(val, _values, result)
                      result = @builder.multi_assign(val[0], val[1], val[2])
                    
    result
end

# reduce 40 omitted

def _reduce_41(val, _values, result)
                      result = @builder.assign(val[0], val[1], val[2])
                    
    result
end

def _reduce_42(val, _values, result)
                      result = @builder.assign(val[0], val[1], val[2])
                    
    result
end

# reduce 43 omitted

def _reduce_44(val, _values, result)
                      result = @builder.logical_op(:and, val[0], val[1], val[2])
                    
    result
end

def _reduce_45(val, _values, result)
                      result = @builder.logical_op(:or, val[0], val[1], val[2])
                    
    result
end

def _reduce_46(val, _values, result)
                      result = @builder.not_op(val[0], nil, val[2], nil)
                    
    result
end

def _reduce_47(val, _values, result)
                      result = @builder.not_op(val[0], nil, val[1], nil)
                    
    result
end

# reduce 48 omitted

# reduce 49 omitted

# reduce 50 omitted

# reduce 51 omitted

# reduce 52 omitted

def _reduce_53(val, _values, result)
                      result = @builder.call_method(val[0], val[1], val[2],
                                  nil, val[3], nil)
                    
    result
end

def _reduce_54(val, _values, result)
                      @static_env.extend_dynamic
                      @context.push(:block)
                    
    result
end

def _reduce_55(val, _values, result)
                      result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                      @context.pop
                    
    result
end

# reduce 56 omitted

def _reduce_57(val, _values, result)
                      result = @builder.call_method(nil, nil, val[0],
                                  nil, val[1], nil)
                    
    result
end

def _reduce_58(val, _values, result)
                      method_call = @builder.call_method(nil, nil, val[0],
                                        nil, val[1], nil)

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

def _reduce_59(val, _values, result)
                      result = @builder.call_method(val[0], val[1], val[2],
                                  nil, val[3], nil)
                    
    result
end

def _reduce_60(val, _values, result)
                      method_call = @builder.call_method(val[0], val[1], val[2],
                                        nil, val[3], nil)

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

def _reduce_61(val, _values, result)
                      result = @builder.call_method(val[0], val[1], val[2],
                                  nil, val[3], nil)
                    
    result
end

def _reduce_62(val, _values, result)
                      method_call = @builder.call_method(val[0], val[1], val[2],
                                        nil, val[3], nil)

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

def _reduce_63(val, _values, result)
                      result = @builder.keyword_cmd(:super, val[0],
                                  nil, val[1], nil)
                    
    result
end

def _reduce_64(val, _values, result)
                      result = @builder.keyword_cmd(:yield, val[0],
                                  nil, val[1], nil)
                    
    result
end

def _reduce_65(val, _values, result)
                      result = @builder.keyword_cmd(:return, val[0],
                                  nil, val[1], nil)
                    
    result
end

def _reduce_66(val, _values, result)
                      result = @builder.keyword_cmd(:break, val[0],
                                  nil, val[1], nil)
                    
    result
end

def _reduce_67(val, _values, result)
                      result = @builder.keyword_cmd(:next, val[0],
                                  nil, val[1], nil)
                    
    result
end

def _reduce_68(val, _values, result)
                      result = @builder.multi_lhs(nil, val[0], nil)
                    
    result
end

def _reduce_69(val, _values, result)
                      result = @builder.begin(val[0], val[1], val[2])
                    
    result
end

def _reduce_70(val, _values, result)
                      result = @builder.multi_lhs(nil, val[0], nil)
                    
    result
end

def _reduce_71(val, _values, result)
                      result = @builder.multi_lhs(val[0], val[1], val[2])
                    
    result
end

# reduce 72 omitted

def _reduce_73(val, _values, result)
                      result = val[0].
                                  push(val[1])
                    
    result
end

def _reduce_74(val, _values, result)
                      result = val[0].
                                  push(@builder.splat(val[1], val[2]))
                    
    result
end

def _reduce_75(val, _values, result)
                      result = val[0].
                                  push(@builder.splat(val[1], val[2])).
                                  concat(val[4])
                    
    result
end

def _reduce_76(val, _values, result)
                      result = val[0].
                                  push(@builder.splat(val[1]))
                    
    result
end

def _reduce_77(val, _values, result)
                      result = val[0].
                                  push(@builder.splat(val[1])).
                                  concat(val[3])
                    
    result
end

def _reduce_78(val, _values, result)
                      result = [ @builder.splat(val[0], val[1]) ]
                    
    result
end

def _reduce_79(val, _values, result)
                      result = [ @builder.splat(val[0], val[1]),
                                 *val[3] ]
                    
    result
end

def _reduce_80(val, _values, result)
                      result = [ @builder.splat(val[0]) ]
                    
    result
end

def _reduce_81(val, _values, result)
                      result = [ @builder.splat(val[0]),
                                 *val[2] ]
                    
    result
end

# reduce 82 omitted

def _reduce_83(val, _values, result)
                      result = @builder.begin(val[0], val[1], val[2])
                    
    result
end

def _reduce_84(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_85(val, _values, result)
                      result = val[0] << val[1]
                    
    result
end

def _reduce_86(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_87(val, _values, result)
                      result = val[0] << val[2]
                    
    result
end

def _reduce_88(val, _values, result)
                      result = @builder.assignable(val[0])
                    
    result
end

def _reduce_89(val, _values, result)
                      result = @builder.assignable(val[0])
                    
    result
end

def _reduce_90(val, _values, result)
                      result = @builder.index_asgn(val[0], val[1], val[2], val[3])
                    
    result
end

def _reduce_91(val, _values, result)
                      result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
end

def _reduce_92(val, _values, result)
                      result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
end

def _reduce_93(val, _values, result)
                      result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
end

def _reduce_94(val, _values, result)
                      result = @builder.assignable(
                                  @builder.const_fetch(val[0], val[1], val[2]))
                    
    result
end

def _reduce_95(val, _values, result)
                      result = @builder.assignable(
                                  @builder.const_global(val[0], val[1]))
                    
    result
end

def _reduce_96(val, _values, result)
                      result = @builder.assignable(val[0])
                    
    result
end

def _reduce_97(val, _values, result)
                      result = @builder.assignable(val[0])
                    
    result
end

def _reduce_98(val, _values, result)
                      result = @builder.assignable(val[0])
                    
    result
end

def _reduce_99(val, _values, result)
                      result = @builder.index_asgn(val[0], val[1], val[2], val[3])
                    
    result
end

def _reduce_100(val, _values, result)
                      result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
end

def _reduce_101(val, _values, result)
                      result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
end

def _reduce_102(val, _values, result)
                      result = @builder.attr_asgn(val[0], val[1], val[2])
                    
    result
end

def _reduce_103(val, _values, result)
                      result = @builder.assignable(
                                  @builder.const_fetch(val[0], val[1], val[2]))
                    
    result
end

def _reduce_104(val, _values, result)
                      result = @builder.assignable(
                                  @builder.const_global(val[0], val[1]))
                    
    result
end

def _reduce_105(val, _values, result)
                      result = @builder.assignable(val[0])
                    
    result
end

def _reduce_106(val, _values, result)
                      diagnostic :error, :module_name_const, nil, val[0]
                    
    result
end

# reduce 107 omitted

def _reduce_108(val, _values, result)
                      result = @builder.const_global(val[0], val[1])
                    
    result
end

def _reduce_109(val, _values, result)
                      result = @builder.const(val[0])
                    
    result
end

def _reduce_110(val, _values, result)
                      result = @builder.const_fetch(val[0], val[1], val[2])
                    
    result
end

# reduce 111 omitted

# reduce 112 omitted

# reduce 113 omitted

# reduce 114 omitted

# reduce 115 omitted

def _reduce_116(val, _values, result)
                      result = @builder.symbol_internal(val[0])
                    
    result
end

# reduce 117 omitted

# reduce 118 omitted

# reduce 119 omitted

def _reduce_120(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_121(val, _values, result)
                      @lexer.state = :expr_fname
                    
    result
end

def _reduce_122(val, _values, result)
                      result = val[0] << val[3]
                    
    result
end

# reduce 123 omitted

# reduce 124 omitted

# reduce 125 omitted

# reduce 126 omitted

# reduce 127 omitted

# reduce 128 omitted

# reduce 129 omitted

# reduce 130 omitted

# reduce 131 omitted

# reduce 132 omitted

# reduce 133 omitted

# reduce 134 omitted

# reduce 135 omitted

# reduce 136 omitted

# reduce 137 omitted

# reduce 138 omitted

# reduce 139 omitted

# reduce 140 omitted

# reduce 141 omitted

# reduce 142 omitted

# reduce 143 omitted

# reduce 144 omitted

# reduce 145 omitted

# reduce 146 omitted

# reduce 147 omitted

# reduce 148 omitted

# reduce 149 omitted

# reduce 150 omitted

# reduce 151 omitted

# reduce 152 omitted

# reduce 153 omitted

# reduce 154 omitted

# reduce 155 omitted

# reduce 156 omitted

# reduce 157 omitted

# reduce 158 omitted

# reduce 159 omitted

# reduce 160 omitted

# reduce 161 omitted

# reduce 162 omitted

# reduce 163 omitted

# reduce 164 omitted

# reduce 165 omitted

# reduce 166 omitted

# reduce 167 omitted

# reduce 168 omitted

# reduce 169 omitted

# reduce 170 omitted

# reduce 171 omitted

# reduce 172 omitted

# reduce 173 omitted

# reduce 174 omitted

# reduce 175 omitted

# reduce 176 omitted

# reduce 177 omitted

# reduce 178 omitted

# reduce 179 omitted

# reduce 180 omitted

# reduce 181 omitted

# reduce 182 omitted

# reduce 183 omitted

# reduce 184 omitted

# reduce 185 omitted

# reduce 186 omitted

# reduce 187 omitted

# reduce 188 omitted

# reduce 189 omitted

# reduce 190 omitted

# reduce 191 omitted

# reduce 192 omitted

# reduce 193 omitted

def _reduce_194(val, _values, result)
                      result = @builder.assign(val[0], val[1], val[2])
                    
    result
end

def _reduce_195(val, _values, result)
                      rescue_body = @builder.rescue_body(val[3],
                                        nil, nil, nil,
                                        nil, val[4])

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

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

def _reduce_196(val, _values, result)
                      result = @builder.op_assign(val[0], val[1], val[2])
                    
    result
end

def _reduce_197(val, _values, result)
                      rescue_body = @builder.rescue_body(val[3],
                                        nil, nil, nil,
                                        nil, val[4])

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

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

def _reduce_198(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.index(
                                    val[0], val[1], val[2], val[3]),
                                  val[4], val[5])
                    
    result
end

def _reduce_199(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])
                    
    result
end

def _reduce_200(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])
                    
    result
end

def _reduce_201(val, _values, result)
                      result = @builder.op_assign(
                                  @builder.call_method(
                                    val[0], val[1], val[2]),
                                  val[3], val[4])
                    
    result
end

def _reduce_202(val, _values, result)
                      const  = @builder.const_op_assignable(
                                  @builder.const_fetch(val[0], val[1], val[2]))
                      result = @builder.op_assign(const, val[3], val[4])
                    
    result
end

def _reduce_203(val, _values, result)
                      const  = @builder.const_op_assignable(
                                  @builder.const_global(val[0], val[1]))
                      result = @builder.op_assign(const, val[2], val[3])
                    
    result
end

def _reduce_204(val, _values, result)
                      result = @builder.op_assign(val[0], val[1], val[2])
                    
    result
end

def _reduce_205(val, _values, result)
                      result = @builder.range_inclusive(val[0], val[1], val[2])
                    
    result
end

def _reduce_206(val, _values, result)
                      result = @builder.range_exclusive(val[0], val[1], val[2])
                    
    result
end

def _reduce_207(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_208(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_209(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_210(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_211(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_212(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_213(val, _values, result)
                      result = @builder.unary_op(val[0],
                                  @builder.binary_op(
                                    val[1], val[2], val[3]))
                    
    result
end

def _reduce_214(val, _values, result)
                      result = @builder.unary_op(val[0], val[1])
                    
    result
end

def _reduce_215(val, _values, result)
                      result = @builder.unary_op(val[0], val[1])
                    
    result
end

def _reduce_216(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_217(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_218(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_219(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_220(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_221(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_222(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_223(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_224(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_225(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_226(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_227(val, _values, result)
                      result = @builder.match_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_228(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_229(val, _values, result)
                      result = @builder.not_op(val[0], nil, val[1], nil)
                    
    result
end

def _reduce_230(val, _values, result)
                      result = @builder.unary_op(val[0], val[1])
                    
    result
end

def _reduce_231(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_232(val, _values, result)
                      result = @builder.binary_op(val[0], val[1], val[2])
                    
    result
end

def _reduce_233(val, _values, result)
                      result = @builder.logical_op(:and, val[0], val[1], val[2])
                    
    result
end

def _reduce_234(val, _values, result)
                      result = @builder.logical_op(:or, val[0], val[1], val[2])
                    
    result
end

def _reduce_235(val, _values, result)
                      result = @builder.keyword_cmd(:defined?, val[0], nil, [ val[2] ], nil)
                    
    result
end

def _reduce_236(val, _values, result)
                      result = @builder.ternary(val[0], val[1],
                                                val[2], val[4], val[5])
                    
    result
end

# reduce 237 omitted

# reduce 238 omitted

# reduce 239 omitted

# reduce 240 omitted

def _reduce_241(val, _values, result)
                      result = val[0] << @builder.associate(nil, val[2], nil)
                    
    result
end

def _reduce_242(val, _values, result)
                      result = [ @builder.associate(nil, val[0], nil) ]
                    
    result
end

def _reduce_243(val, _values, result)
                      result = val
                    
    result
end

def _reduce_244(val, _values, result)
                      result = [ nil, [], nil ]
                    
    result
end

# reduce 245 omitted

def _reduce_246(val, _values, result)
                      result = []
                    
    result
end

# reduce 247 omitted

# reduce 248 omitted

def _reduce_249(val, _values, result)
                      result = val[0] << @builder.associate(nil, val[2], nil)
                    
    result
end

def _reduce_250(val, _values, result)
                      result = [ @builder.associate(nil, val[0], nil) ]
                    
    result
end

def _reduce_251(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_252(val, _values, result)
                      result = val[0].concat(val[1])
                    
    result
end

def _reduce_253(val, _values, result)
                      result = [ @builder.associate(nil, val[0], nil) ]
                      result.concat(val[1])
                    
    result
end

def _reduce_254(val, _values, result)
                      assocs = @builder.associate(nil, val[2], nil)
                      result = val[0] << assocs
                      result.concat(val[3])
                    
    result
end

def _reduce_255(val, _values, result)
                      result =  [ val[0] ]
                    
    result
end

def _reduce_256(val, _values, result)
                      result = @lexer.cmdarg.dup
                      @lexer.cmdarg.push(true)
                    
    result
end

def _reduce_257(val, _values, result)
                      @lexer.cmdarg = val[0]

                      result = val[1]
                    
    result
end

def _reduce_258(val, _values, result)
                      result = @builder.block_pass(val[0], val[1])
                    
    result
end

def _reduce_259(val, _values, result)
                      result = [ val[1] ]
                    
    result
end

def _reduce_260(val, _values, result)
                      result = []
                    
    result
end

def _reduce_261(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_262(val, _values, result)
                      result = [ @builder.splat(val[0], val[1]) ]
                    
    result
end

def _reduce_263(val, _values, result)
                      result = val[0] << val[2]
                    
    result
end

def _reduce_264(val, _values, result)
                      result = val[0] << @builder.splat(val[2], val[3])
                    
    result
end

def _reduce_265(val, _values, result)
                      result = @builder.array(nil, val[0], nil)
                    
    result
end

# reduce 266 omitted

def _reduce_267(val, _values, result)
                      result = val[0] << val[2]
                    
    result
end

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

def _reduce_269(val, _values, result)
                      result = [ @builder.splat(val[0], val[1]) ]
                    
    result
end

# reduce 270 omitted

# reduce 271 omitted

# reduce 272 omitted

# reduce 273 omitted

# reduce 274 omitted

# reduce 275 omitted

# reduce 276 omitted

# reduce 277 omitted

# reduce 278 omitted

# reduce 279 omitted

def _reduce_280(val, _values, result)
                      result = @builder.call_method(nil, nil, val[0])
                    
    result
end

def _reduce_281(val, _values, result)
                      result = @lexer.cmdarg.dup
                      @lexer.cmdarg.clear
                    
    result
end

def _reduce_282(val, _values, result)
                      @lexer.cmdarg = val[1]

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

def _reduce_283(val, _values, result)
                      result = @lexer.cmdarg.dup
                      @lexer.cmdarg.clear
                    
    result
end

def _reduce_284(val, _values, result)
                      @lexer.state = :expr_endarg
                    
    result
end

def _reduce_285(val, _values, result)
                      @lexer.cmdarg = val[1]

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

def _reduce_286(val, _values, result)
                      @lexer.state = :expr_endarg
                    
    result
end

def _reduce_287(val, _values, result)
                      result = @builder.begin(val[0], nil, val[3])
                    
    result
end

def _reduce_288(val, _values, result)
                      result = @builder.begin(val[0], val[1], val[2])
                    
    result
end

def _reduce_289(val, _values, result)
                      result = @builder.const_fetch(val[0], val[1], val[2])
                    
    result
end

def _reduce_290(val, _values, result)
                      result = @builder.const_global(val[0], val[1])
                    
    result
end

def _reduce_291(val, _values, result)
                      result = @builder.array(val[0], val[1], val[2])
                    
    result
end

def _reduce_292(val, _values, result)
                      result = @builder.associate(val[0], val[1], val[2])
                    
    result
end

def _reduce_293(val, _values, result)
                      result = @builder.keyword_cmd(:return, val[0])
                    
    result
end

def _reduce_294(val, _values, result)
                      result = @builder.keyword_cmd(:yield, val[0], val[1], val[2], val[3])
                    
    result
end

def _reduce_295(val, _values, result)
                      result = @builder.keyword_cmd(:yield, val[0], val[1], [], val[2])
                    
    result
end

def _reduce_296(val, _values, result)
                      result = @builder.keyword_cmd(:yield, val[0])
                    
    result
end

def _reduce_297(val, _values, result)
                      result = @builder.keyword_cmd(:defined?, val[0],
                                                    val[2], [ val[3] ], val[4])
                    
    result
end

def _reduce_298(val, _values, result)
                      result = @builder.not_op(val[0], val[1], val[2], val[3])
                    
    result
end

def _reduce_299(val, _values, result)
                      result = @builder.not_op(val[0], val[1], nil, val[2])
                    
    result
end

def _reduce_300(val, _values, result)
                      method_call = @builder.call_method(nil, nil, val[0])

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

# reduce 301 omitted

def _reduce_302(val, _values, result)
                      begin_t, args, body, end_t = val[1]
                      result      = @builder.block(val[0],
                                      begin_t, args, body, end_t)
                    
    result
end

def _reduce_303(val, _values, result)
                      @context.push(:lambda)
                    
    result
end

def _reduce_304(val, _values, result)
                      lambda_call = @builder.call_lambda(val[0])

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

def _reduce_305(val, _values, result)
                      else_t, else_ = val[4]
                      result = @builder.condition(val[0], val[1], val[2],
                                                  val[3], else_t,
                                                  else_,  val[5])
                    
    result
end

def _reduce_306(val, _values, result)
                      else_t, else_ = val[4]
                      result = @builder.condition(val[0], val[1], val[2],
                                                  else_,  else_t,
                                                  val[3], val[5])
                    
    result
end

def _reduce_307(val, _values, result)
                      @lexer.cond.push(true)
                    
    result
end

def _reduce_308(val, _values, result)
                      @lexer.cond.pop
                    
    result
end

def _reduce_309(val, _values, result)
                      result = @builder.loop(:while, val[0], val[2], val[3],
                                             val[5], val[6])
                    
    result
end

def _reduce_310(val, _values, result)
                      @lexer.cond.push(true)
                    
    result
end

def _reduce_311(val, _values, result)
                      @lexer.cond.pop
                    
    result
end

def _reduce_312(val, _values, result)
                      result = @builder.loop(:until, val[0], val[2], val[3],
                                             val[5], val[6])
                    
    result
end

def _reduce_313(val, _values, result)
                      *when_bodies, (else_t, else_body) = *val[3]

                      result = @builder.case(val[0], val[1],
                                             when_bodies, else_t, else_body,
                                             val[4])
                    
    result
end

def _reduce_314(val, _values, result)
                      *when_bodies, (else_t, else_body) = *val[2]

                      result = @builder.case(val[0], nil,
                                             when_bodies, else_t, else_body,
                                             val[3])
                    
    result
end

def _reduce_315(val, _values, result)
                      @lexer.cond.push(true)
                    
    result
end

def _reduce_316(val, _values, result)
                      @lexer.cond.pop
                    
    result
end

def _reduce_317(val, _values, result)
                      result = @builder.for(val[0], val[1],
                                            val[2], val[4],
                                            val[5], val[7], val[8])
                    
    result
end

def _reduce_318(val, _values, result)
                      @static_env.extend_static
                      @lexer.push_cmdarg
                      @context.push(:class)
                    
    result
end

def _reduce_319(val, _values, result)
                      unless @context.class_definition_allowed?
                        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
                      @context.pop
                    
    result
end

def _reduce_320(val, _values, result)
                      @static_env.extend_static
                      @lexer.push_cmdarg
                      @context.push(:sclass)
                    
    result
end

def _reduce_321(val, _values, result)
                      result = @builder.def_sclass(val[0], val[1], val[2],
                                                   val[5], val[6])

                      @lexer.pop_cmdarg
                      @static_env.unextend
                      @context.pop
                    
    result
end

def _reduce_322(val, _values, result)
                      @static_env.extend_static
                      @lexer.push_cmdarg
                      @context.push(:module)
                    
    result
end

def _reduce_323(val, _values, result)
                      unless @context.module_definition_allowed?
                        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
                      @context.pop
                    
    result
end

def _reduce_324(val, _values, result)
                      @static_env.extend_static
                      @lexer.push_cmdarg
                      @context.push(:def)
                    
    result
end

def _reduce_325(val, _values, result)
                      result = @builder.def_method(val[0], val[1],
                                  val[3], val[4], val[5])

                      @lexer.pop_cmdarg
                      @static_env.unextend
                      @context.pop
                    
    result
end

def _reduce_326(val, _values, result)
                      @lexer.state = :expr_fname
                    
    result
end

def _reduce_327(val, _values, result)
                      @static_env.extend_static
                      @lexer.push_cmdarg
                      @context.push(:defs)
                    
    result
end

def _reduce_328(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
                      @context.pop
                    
    result
end

def _reduce_329(val, _values, result)
                      result = @builder.keyword_cmd(:break, val[0])
                    
    result
end

def _reduce_330(val, _values, result)
                      result = @builder.keyword_cmd(:next, val[0])
                    
    result
end

def _reduce_331(val, _values, result)
                      result = @builder.keyword_cmd(:redo, val[0])
                    
    result
end

def _reduce_332(val, _values, result)
                      result = @builder.keyword_cmd(:retry, val[0])
                    
    result
end

# reduce 333 omitted

# reduce 334 omitted

# reduce 335 omitted

def _reduce_336(val, _values, result)
                      result = val[1]
                    
    result
end

# reduce 337 omitted

# reduce 338 omitted

# reduce 339 omitted

def _reduce_340(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 341 omitted

def _reduce_342(val, _values, result)
                      result = val
                    
    result
end

# reduce 343 omitted

# reduce 344 omitted

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

def _reduce_346(val, _values, result)
                      result = @builder.multi_lhs(val[0], val[1], val[2])
                    
    result
end

def _reduce_347(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_348(val, _values, result)
                      result = val[0] << val[2]
                    
    result
end

# reduce 349 omitted

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

def _reduce_351(val, _values, result)
                      result = val[0].
                                  push(@builder.restarg(val[2], val[3])).
                                  concat(val[5])
                    
    result
end

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

def _reduce_353(val, _values, result)
                      result = val[0].
                                  push(@builder.restarg(val[2])).
                                  concat(val[4])
                    
    result
end

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

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

def _reduce_356(val, _values, result)
                      result = [ @builder.restarg(val[0]) ]
                    
    result
end

def _reduce_357(val, _values, result)
                      result = [ @builder.restarg(val[0]),
                                 *val[2] ]
                    
    result
end

def _reduce_358(val, _values, result)
                      result = val[0].concat(val[2]).concat(val[3])
                    
    result
end

def _reduce_359(val, _values, result)
                      result = val[0].concat(val[1])
                    
    result
end

def _reduce_360(val, _values, result)
                      result = val[0].concat(val[1])
                    
    result
end

def _reduce_361(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_362(val, _values, result)
                      result = val[1]
                    
    result
end

def _reduce_363(val, _values, result)
                      result = []
                    
    result
end

def _reduce_364(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
end

def _reduce_365(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[6]).
                                  concat(val[7])
                    
    result
end

def _reduce_366(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
end

def _reduce_367(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
end

def _reduce_368(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
end

# reduce 369 omitted

def _reduce_370(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
end

def _reduce_371(val, _values, result)
                      if val[1].empty? && val[0].size == 1
                        result = [@builder.procarg0(val[0][0])]
                      else
                        result = val[0].concat(val[1])
                      end
                    
    result
end

def _reduce_372(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
end

def _reduce_373(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
end

def _reduce_374(val, _values, result)
                      result = val[0].
                                  concat(val[1])
                    
    result
end

def _reduce_375(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
end

def _reduce_376(val, _values, result)
                      result = val[0].
                                  concat(val[1])
                    
    result
end

def _reduce_377(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
end

# reduce 378 omitted

def _reduce_379(val, _values, result)
                      result = @builder.args(nil, [], nil)
                    
    result
end

def _reduce_380(val, _values, result)
                      @lexer.state = :expr_value
                    
    result
end

def _reduce_381(val, _values, result)
                      result = @builder.args(val[0], val[1], val[2])
                    
    result
end

def _reduce_382(val, _values, result)
                      result = @builder.args(val[0], [], val[0])
                    
    result
end

def _reduce_383(val, _values, result)
                      result = @builder.args(val[0], val[1].concat(val[2]), val[3])
                    
    result
end

def _reduce_384(val, _values, result)
                      result = []
                    
    result
end

def _reduce_385(val, _values, result)
                      result = val[2]
                    
    result
end

def _reduce_386(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_387(val, _values, result)
                      result = val[0] << val[2]
                    
    result
end

def _reduce_388(val, _values, result)
                      @static_env.declare val[0][0]
                      result = @builder.shadowarg(val[0])
                    
    result
end

# reduce 389 omitted

def _reduce_390(val, _values, result)
                      @static_env.extend_dynamic
                    
    result
end

def _reduce_391(val, _values, result)
                      result = @lexer.cmdarg.dup
                      @lexer.cmdarg.clear
                      @context.pop
                    
    result
end

def _reduce_392(val, _values, result)
                      @lexer.cmdarg = val[2]
                      @lexer.cmdarg.lexpop

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

                      @static_env.unextend
                    
    result
end

def _reduce_393(val, _values, result)
                      result = @builder.args(val[0], val[1].concat(val[2]), val[3])
                    
    result
end

def _reduce_394(val, _values, result)
                      result = @builder.args(nil, val[0], nil)
                    
    result
end

def _reduce_395(val, _values, result)
                      @context.push(:lambda)
                    
    result
end

def _reduce_396(val, _values, result)
                      result = [ val[0], val[2], val[3] ]
                      @context.pop
                    
    result
end

def _reduce_397(val, _values, result)
                      @context.push(:lambda)
                    
    result
end

def _reduce_398(val, _values, result)
                      result = [ val[0], val[2], val[3] ]
                      @context.pop
                    
    result
end

def _reduce_399(val, _values, result)
                      @static_env.extend_dynamic
                      @context.push(:block)
                    
    result
end

def _reduce_400(val, _values, result)
                      result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                      @context.pop
                    
    result
end

def _reduce_401(val, _values, result)
                      begin_t, block_args, body, end_t = val[1]
                      result      = @builder.block(val[0],
                                      begin_t, block_args, body, end_t)
                    
    result
end

def _reduce_402(val, _values, result)
                      lparen_t, args, rparen_t = val[3]
                      result = @builder.call_method(val[0], val[1], val[2],
                                  lparen_t, args, rparen_t)
                    
    result
end

def _reduce_403(val, _values, result)
                      lparen_t, args, rparen_t = val[3]
                      method_call = @builder.call_method(val[0], val[1], val[2],
                                      lparen_t, args, rparen_t)

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

def _reduce_404(val, _values, result)
                      method_call = @builder.call_method(val[0], val[1], val[2],
                                      nil, val[3], nil)

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

def _reduce_405(val, _values, result)
                      lparen_t, args, rparen_t = val[1]
                      result = @builder.call_method(nil, nil, val[0],
                                  lparen_t, args, rparen_t)
                    
    result
end

def _reduce_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

def _reduce_407(val, _values, result)
                      lparen_t, args, rparen_t = val[3]
                      result = @builder.call_method(val[0], val[1], val[2],
                                  lparen_t, args, rparen_t)
                    
    result
end

def _reduce_408(val, _values, result)
                      result = @builder.call_method(val[0], val[1], val[2])
                    
    result
end

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

def _reduce_410(val, _values, result)
                      lparen_t, args, rparen_t = val[2]
                      result = @builder.call_method(val[0], val[1], nil,
                                  lparen_t, args, rparen_t)
                    
    result
end

def _reduce_411(val, _values, result)
                      lparen_t, args, rparen_t = val[1]
                      result = @builder.keyword_cmd(:super, val[0],
                                  lparen_t, args, rparen_t)
                    
    result
end

def _reduce_412(val, _values, result)
                      result = @builder.keyword_cmd(:zsuper, val[0])
                    
    result
end

def _reduce_413(val, _values, result)
                      result = @builder.index(val[0], val[1], val[2], val[3])
                    
    result
end

def _reduce_414(val, _values, result)
                      @static_env.extend_dynamic
                      @context.push(:block)
                    
    result
end

def _reduce_415(val, _values, result)
                      result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                      @context.pop
                    
    result
end

def _reduce_416(val, _values, result)
                      @static_env.extend_dynamic
                      @context.push(:block)
                    
    result
end

def _reduce_417(val, _values, result)
                      result = [ val[0], val[2], val[3], val[4] ]

                      @static_env.unextend
                      @context.pop
                    
    result
end

def _reduce_418(val, _values, result)
                      result = [ @builder.when(val[0], val[1], val[2], val[3]),
                                 *val[4] ]
                    
    result
end

def _reduce_419(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

# reduce 420 omitted

def _reduce_421(val, _values, result)
                      assoc_t, exc_var = val[2]

                      if val[1]
                        exc_list = @builder.array(nil, val[1], nil)
                      end

                      result = [ @builder.rescue_body(val[0],
                                      exc_list, assoc_t, exc_var,
                                      val[3], val[4]),
                                 *val[5] ]
                    
    result
end

def _reduce_422(val, _values, result)
                      result = []
                    
    result
end

def _reduce_423(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

# reduce 424 omitted

# reduce 425 omitted

def _reduce_426(val, _values, result)
                      result = [ val[0], val[1] ]
                    
    result
end

# reduce 427 omitted

def _reduce_428(val, _values, result)
                      result = [ val[0], val[1] ]
                    
    result
end

# reduce 429 omitted

# reduce 430 omitted

# reduce 431 omitted

# reduce 432 omitted

def _reduce_433(val, _values, result)
                      result = @builder.string_compose(nil, val[0], nil)
                    
    result
end

def _reduce_434(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_435(val, _values, result)
                      result = val[0] << val[1]
                    
    result
end

def _reduce_436(val, _values, result)
                      string = @builder.string_compose(val[0], val[1], val[2])
                      result = @builder.dedent_string(string, @lexer.dedent_level)
                    
    result
end

def _reduce_437(val, _values, result)
                      string = @builder.string(val[0])
                      result = @builder.dedent_string(string, @lexer.dedent_level)
                    
    result
end

def _reduce_438(val, _values, result)
                      result = @builder.character(val[0])
                    
    result
end

def _reduce_439(val, _values, result)
                      string = @builder.xstring_compose(val[0], val[1], val[2])
                      result = @builder.dedent_string(string, @lexer.dedent_level)
                    
    result
end

def _reduce_440(val, _values, result)
                      opts   = @builder.regexp_options(val[3])
                      result = @builder.regexp_compose(val[0], val[1], val[2], opts)
                    
    result
end

def _reduce_441(val, _values, result)
                      result = @builder.words_compose(val[0], val[1], val[2])
                    
    result
end

def _reduce_442(val, _values, result)
                      result = []
                    
    result
end

def _reduce_443(val, _values, result)
                      result = val[0] << @builder.word(val[1])
                    
    result
end

def _reduce_444(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_445(val, _values, result)
                      result = val[0] << val[1]
                    
    result
end

def _reduce_446(val, _values, result)
                      result = @builder.symbols_compose(val[0], val[1], val[2])
                    
    result
end

def _reduce_447(val, _values, result)
                      result = []
                    
    result
end

def _reduce_448(val, _values, result)
                      result = val[0] << @builder.word(val[1])
                    
    result
end

def _reduce_449(val, _values, result)
                      result = @builder.words_compose(val[0], val[1], val[2])
                    
    result
end

def _reduce_450(val, _values, result)
                      result = @builder.symbols_compose(val[0], val[1], val[2])
                    
    result
end

def _reduce_451(val, _values, result)
                      result = []
                    
    result
end

def _reduce_452(val, _values, result)
                      result = val[0] << @builder.string_internal(val[1])
                    
    result
end

def _reduce_453(val, _values, result)
                      result = []
                    
    result
end

def _reduce_454(val, _values, result)
                      result = val[0] << @builder.symbol_internal(val[1])
                    
    result
end

def _reduce_455(val, _values, result)
                      result = []
                    
    result
end

def _reduce_456(val, _values, result)
                      result = val[0] << val[1]
                    
    result
end

def _reduce_457(val, _values, result)
                      result = []
                    
    result
end

def _reduce_458(val, _values, result)
                      result = val[0] << val[1]
                    
    result
end

def _reduce_459(val, _values, result)
                      result = []
                    
    result
end

def _reduce_460(val, _values, result)
                      result = val[0] << val[1]
                    
    result
end

def _reduce_461(val, _values, result)
                      result = @builder.string_internal(val[0])
                    
    result
end

def _reduce_462(val, _values, result)
                      result = val[1]
                    
    result
end

def _reduce_463(val, _values, result)
                      @lexer.cond.push(false)
                      @lexer.cmdarg.push(false)
                    
    result
end

def _reduce_464(val, _values, result)
                      @lexer.cond.lexpop
                      @lexer.cmdarg.lexpop

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

def _reduce_465(val, _values, result)
                      result = @builder.gvar(val[0])
                    
    result
end

def _reduce_466(val, _values, result)
                      result = @builder.ivar(val[0])
                    
    result
end

def _reduce_467(val, _values, result)
                      result = @builder.cvar(val[0])
                    
    result
end

# reduce 468 omitted

def _reduce_469(val, _values, result)
                      result = @builder.symbol(val[0])
                    
    result
end

def _reduce_470(val, _values, result)
                      result = @builder.symbol_compose(val[0], val[1], val[2])
                    
    result
end

def _reduce_471(val, _values, result)
                      result = val[0]
                    
    result
end

def _reduce_472(val, _values, result)
                      if @builder.respond_to? :negate
                        # AST builder interface compatibility
                        result = @builder.negate(val[0], val[1])
                      else
                        result = @builder.unary_num(val[0], val[1])
                      end
                    
    result
end

def _reduce_473(val, _values, result)
                      result = @builder.integer(val[0])
                    
    result
end

def _reduce_474(val, _values, result)
                      result = @builder.float(val[0])
                    
    result
end

def _reduce_475(val, _values, result)
                      result = @builder.rational(val[0])
                    
    result
end

def _reduce_476(val, _values, result)
                      result = @builder.complex(val[0])
                    
    result
end

def _reduce_477(val, _values, result)
                      result = @builder.ident(val[0])
                    
    result
end

def _reduce_478(val, _values, result)
                      result = @builder.ivar(val[0])
                    
    result
end

def _reduce_479(val, _values, result)
                      result = @builder.gvar(val[0])
                    
    result
end

def _reduce_480(val, _values, result)
                      result = @builder.const(val[0])
                    
    result
end

def _reduce_481(val, _values, result)
                      result = @builder.cvar(val[0])
                    
    result
end

def _reduce_482(val, _values, result)
                      result = @builder.nil(val[0])
                    
    result
end

def _reduce_483(val, _values, result)
                      result = @builder.self(val[0])
                    
    result
end

def _reduce_484(val, _values, result)
                      result = @builder.true(val[0])
                    
    result
end

def _reduce_485(val, _values, result)
                      result = @builder.false(val[0])
                    
    result
end

def _reduce_486(val, _values, result)
                      result = @builder.__FILE__(val[0])
                    
    result
end

def _reduce_487(val, _values, result)
                      result = @builder.__LINE__(val[0])
                    
    result
end

def _reduce_488(val, _values, result)
                      result = @builder.__ENCODING__(val[0])
                    
    result
end

def _reduce_489(val, _values, result)
                      result = @builder.accessible(val[0])
                    
    result
end

def _reduce_490(val, _values, result)
                      result = @builder.accessible(val[0])
                    
    result
end

def _reduce_491(val, _values, result)
                      result = @builder.assignable(val[0])
                    
    result
end

def _reduce_492(val, _values, result)
                      result = @builder.assignable(val[0])
                    
    result
end

def _reduce_493(val, _values, result)
                      result = @builder.nth_ref(val[0])
                    
    result
end

def _reduce_494(val, _values, result)
                      result = @builder.back_ref(val[0])
                    
    result
end

def _reduce_495(val, _values, result)
                      @lexer.state = :expr_value
                    
    result
end

def _reduce_496(val, _values, result)
                      result = [ val[0], val[2] ]
                    
    result
end

def _reduce_497(val, _values, result)
                      result = nil
                    
    result
end

def _reduce_498(val, _values, result)
                      result = @builder.args(val[0], val[1], val[2])

                      @lexer.state = :expr_value
                    
    result
end

def _reduce_499(val, _values, result)
                      result = @lexer.in_kwarg
                      @lexer.in_kwarg = true
                    
    result
end

def _reduce_500(val, _values, result)
                      @lexer.in_kwarg = val[0]
                      result = @builder.args(nil, val[1], nil)
                    
    result
end

def _reduce_501(val, _values, result)
                      result = val[0].concat(val[2]).concat(val[3])
                    
    result
end

def _reduce_502(val, _values, result)
                      result = val[0].concat(val[1])
                    
    result
end

def _reduce_503(val, _values, result)
                      result = val[0].concat(val[1])
                    
    result
end

def _reduce_504(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_505(val, _values, result)
                      result = val[1]
                    
    result
end

def _reduce_506(val, _values, result)
                      result = []
                    
    result
end

def _reduce_507(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
end

def _reduce_508(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[6]).
                                  concat(val[7])
                    
    result
end

def _reduce_509(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
end

def _reduce_510(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
end

def _reduce_511(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
end

def _reduce_512(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
end

def _reduce_513(val, _values, result)
                      result = val[0].
                                  concat(val[1])
                    
    result
end

def _reduce_514(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
end

def _reduce_515(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[4]).
                                  concat(val[5])
                    
    result
end

def _reduce_516(val, _values, result)
                      result = val[0].
                                  concat(val[1])
                    
    result
end

def _reduce_517(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
end

def _reduce_518(val, _values, result)
                      result = val[0].
                                  concat(val[1])
                    
    result
end

def _reduce_519(val, _values, result)
                      result = val[0].
                                  concat(val[2]).
                                  concat(val[3])
                    
    result
end

def _reduce_520(val, _values, result)
                      result = val[0]
                    
    result
end

def _reduce_521(val, _values, result)
                      result = []
                    
    result
end

def _reduce_522(val, _values, result)
                      diagnostic :error, :argument_const, nil, val[0]
                    
    result
end

def _reduce_523(val, _values, result)
                      diagnostic :error, :argument_ivar, nil, val[0]
                    
    result
end

def _reduce_524(val, _values, result)
                      diagnostic :error, :argument_gvar, nil, val[0]
                    
    result
end

def _reduce_525(val, _values, result)
                      diagnostic :error, :argument_cvar, nil, val[0]
                    
    result
end

# reduce 526 omitted

def _reduce_527(val, _values, result)
                      @static_env.declare val[0][0]

                      result = val[0]
                    
    result
end

def _reduce_528(val, _values, result)
                      result = val[0]
                    
    result
end

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

def _reduce_530(val, _values, result)
                      result = @builder.multi_lhs(val[0], val[1], val[2])
                    
    result
end

def _reduce_531(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_532(val, _values, result)
                      result = val[0] << val[2]
                    
    result
end

def _reduce_533(val, _values, result)
                      check_kwarg_name(val[0])

                      @static_env.declare val[0][0]

                      result = val[0]
                    
    result
end

def _reduce_534(val, _values, result)
                      result = @builder.kwoptarg(val[0], val[1])
                    
    result
end

def _reduce_535(val, _values, result)
                      result = @builder.kwarg(val[0])
                    
    result
end

def _reduce_536(val, _values, result)
                      result = @builder.kwoptarg(val[0], val[1])
                    
    result
end

def _reduce_537(val, _values, result)
                      result = @builder.kwarg(val[0])
                    
    result
end

def _reduce_538(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_539(val, _values, result)
                      result = val[0] << val[2]
                    
    result
end

def _reduce_540(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_541(val, _values, result)
                      result = val[0] << val[2]
                    
    result
end

# reduce 542 omitted

# reduce 543 omitted

def _reduce_544(val, _values, result)
                      @static_env.declare val[1][0]

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

def _reduce_545(val, _values, result)
                      result = [ @builder.kwrestarg(val[0]) ]
                    
    result
end

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

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

def _reduce_548(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_549(val, _values, result)
                      result = val[0] << val[2]
                    
    result
end

def _reduce_550(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_551(val, _values, result)
                      result = val[0] << val[2]
                    
    result
end

# reduce 552 omitted

# reduce 553 omitted

def _reduce_554(val, _values, result)
                      @static_env.declare val[1][0]

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

def _reduce_555(val, _values, result)
                      result = [ @builder.restarg(val[0]) ]
                    
    result
end

# reduce 556 omitted

# reduce 557 omitted

def _reduce_558(val, _values, result)
                      @static_env.declare val[1][0]

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

def _reduce_559(val, _values, result)
                      result = [ val[1] ]
                    
    result
end

def _reduce_560(val, _values, result)
                      result = []
                    
    result
end

# reduce 561 omitted

def _reduce_562(val, _values, result)
                      result = val[1]
                    
    result
end

def _reduce_563(val, _values, result)
                      result = []
                    
    result
end

# reduce 564 omitted

def _reduce_565(val, _values, result)
                      result = [ val[0] ]
                    
    result
end

def _reduce_566(val, _values, result)
                      result = val[0] << val[2]
                    
    result
end

def _reduce_567(val, _values, result)
                      result = @builder.pair(val[0], val[1], val[2])
                    
    result
end

def _reduce_568(val, _values, result)
                      result = @builder.pair_keyword(val[0], val[1])
                    
    result
end

def _reduce_569(val, _values, result)
                      result = @builder.pair_quoted(val[0], val[1], val[2], val[3])
                    
    result
end

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

def _reduce_583(val, _values, result)
                      result = [:dot, val[0][1]]
                    
    result
end

def _reduce_584(val, _values, result)
                      result = [:anddot, val[0][1]]
                    
    result
end

# reduce 585 omitted

# reduce 586 omitted

# reduce 587 omitted

# reduce 588 omitted

def _reduce_589(val, _values, result)
                      result = val[1]
                    
    result
end

def _reduce_590(val, _values, result)
                      result = val[1]
                    
    result
end

# reduce 591 omitted

# reduce 592 omitted

# reduce 593 omitted

def _reduce_594(val, _values, result)
                    yyerrok
                  
    result
end

# reduce 595 omitted

# reduce 596 omitted

# reduce 597 omitted

def _reduce_598(val, _values, result)
                    result = nil
                  
    result
end

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

  end   # class Ruby23
  end   # module Parser
