Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
   package org.jruby.parser;
   
   public class Ruby20YyTables {
      private static short[] combine(short[] t1short[] t2
                                     short[] t3short[] t4) {
         short[] t = new short[t1.length + t2.length + t3.length + t4.length];
         int index = 0;
         System.arraycopy(t1, 0, tindext1.length);
         index += t1.length;
        System.arraycopy(t2, 0, tindext2.length);
        index += t2.length;
        System.arraycopy(t3, 0, tindext3.length);
        index += t3.length;
        System.arraycopy(t4, 0, tindext4.length);
        return t;
     }
  
     public static final short[] yyTable() {
        return combine(yyTable1(), yyTable2(), yyTable3(), yyTable4());
     }
  
     public static final short[] yyCheck() {
        return combine(yyCheck1(), yyCheck2(), yyCheck3(), yyCheck4());
     }
     private static final short[] yyTable1() {
        return new short[] {
  
             93,  389,  205,  205,  342,  283,  539,  281,  278,  284, 
            122,  122,  264,  264,  241,  244,  264,  233,  233,  233, 
            122,  430,  602,  205,  218,  582,  268,  268,  595,  679, 
            268,  277,  451,  204,  609,  661,  667,   99,   99,  649, 
            311,  220,  595,   99,  218,  300,  304,  487,  205,  635, 
            488,  592,  598,  339,  297,  122,  605,  105,  302,  305, 
            636,  220,  285,  280,  678,  679,  584,  678,  658,  525, 
            906,  247,  584,   80,   80,  688,  338,    8,  630,  321, 
             99,  913,  672,  531,  583,  539,  380,    8,  595,   86, 
            835,  595,  407,  394,  477,  280,  903,  592,  598,  743, 
            824,  738,  122,  595,  772,  537,   72,  273,  393,  400, 
            735,  630,  267,  267,  336,  595,  267,  531,  525,  559, 
            277,  426,  850,  364,  397,  554,  546,  795,  982,  338, 
            727,  276,  531,  370,  739,  746,    8,  701,  833,  537, 
            861,  802,  421,  535,  301,  630,  866,  525,  280,  531, 
            713,  243,  595,   99,  537,  287,  385,  559,  243,  554, 
            546,  243,  292,  247,  595,  392,  630,  510,  559,  243, 
            811,  315,  364,  464,  554,  546,  266,   74,   73,  286, 
            961,  404,  370,  531,  590,  798,  320,  705,  616,  702, 
            584,  421,  385,  326,  336,  337,  525,  539,  531,  728, 
            242,  982,  590,  328,  596,  484,  559,  242,  906,  385, 
            242,   86,  290,  491,  525,  357,  510,  913,  242,  736, 
            525,  484,  350,  451,  355,  385,  930,  295,   72,   71, 
            358,  595,  584,  419,   53,  320,  353,  595,  994,  483, 
            465,  466,  356,  384,  253,  280,  290,  595,  780,  351, 
            255,   83,  435,  436,  276,  486,  233,  233,  376,   99, 
             99,  290,  679,  354,  386,  352,  385,   75,  584,  525, 
            264, 1018,  264,  264,  457,  337,  835,  731,  733,  964, 
            595,  771,  102,  796,  268,  584,  268,  461,  247,  463, 
            418,  854,  777,  290,   81,  413,  595,  243,  381,  678, 
            678,  584,   83,  294,  247,  382,  431,  621,  332,  648, 
            766,  432,  584,  539,  122,  334,  833,  254,   75,  420, 
            420,   99,  512,  378,   72,  420,  390,  513,   99,  405, 
            379,  102,  644,  549,  717,  412,  406,  415,  550,  833, 
            713,  821,  462,  348,  349,   81,  242,  555,  556,  557, 
            558,  233,  233,  233,  233,  279,  560,  561,  424,  479, 
             17,  481,  595,  411,  525,  425,  391,  595,  595,  595, 
            267,  584,  267,  595,  595,  600,  294,  264,  457,  618, 
            420,  584,   99,   85,   85,  123,  123,  582,  594,   85, 
            235,  235,  235,  285,  122,  251,  235,  235,  634,  421, 
            235,  491,  600,  899,  264,  457,  923,  401,  421,   17, 
            927,  609,  833,  647,  650,  594,  934,  637,  559,  595, 
            554,  600,   99,  264,  457,  279,   85,  235,   99,  664, 
            309,  531,  235,  525,  594,  600,  417,  264,  457,    8, 
            809,  805,  799,   99,  531,  686,  583,  625,  594,  713, 
            775,  713,  559,  537,   99,  595,  554,   99,  677, 1015, 
            874,  627,  510,  205,   80,   99,   18,  559,   93,  600, 
            421,  364,  584,  554,  546,  295,  687,  309,  525,  679, 
            531,  370,  594,  615,  218,  595,  287,  615,  559,  554, 
            600,  820,  264,  457,  695,  666,  666,  235,  510,   85, 
            956,  220,  122,  594,  606,   99,  610,  402,   74,   73, 
            620,  623,  615,  531,   94,  680,  726,  678,  427,  954, 
             83,  559,  491,  684,  685,  497,  498,  428,  946,  662, 
            290,  510,  500,  713,  963,  596,   75,  290,  596,  102, 
            693,   80,  574,  694,  471,  525,  357, 1010,   94,  742, 
            742,  294,  411,  350,  421,  355,  539,  497,  498,   79, 
            290,  358,  889,   81,  500,   94,  909,  353,  745,  295, 
            805,  917,  919,  356,  921,  253,  922,  432,  253,  750, 
            351,  255,   83,  758,  255,  756,  742,  290,  291,  713, 
            752,  713,  759,  990,  354,  573,  352,  186,   75,  985, 
            411,  810,  749,  752,  429,   85,   85,  411,  755,  434, 
             79,  440,   17,   17,   17,  749,  758,  595,   17,   17, 
            779,   17,  630,  122,  713,   81,  452,  437,  752,  235, 
            235,  452,  770,  411,   76,  426,  233,  205,  205,  758, 
            749,   93,  446,  755,  783,  294,  186,  787,  254,  441, 
            650,  254,   84,  758,  235,  108,  235,  235,  650,  218, 
            235,  595,  235,  495,   99,  454,  595,   85,  778,  398, 
            454,  953,  491,  399,   85,   99,  220,  803,   99,  765, 
            652,  233,  758,   99,  595,   76,  769,  447,  660,  309, 
            595,   17,  870,  806,  450,   77,  951,   82,  726,  776, 
            774,  470,  122,   84,  108,  350,  997,  999, 1000, 1001, 
            595,  474,   17,  475,   80,   80,  476,  265,  271,  478, 
           726,  272,  489,   97,  235,  235,  235,  235,   85,  235, 
           235,  482,  407,  595,   78,  490,  282,  595,   99,  595, 
           348,  349,  742,  395,  396,  496,   77,  507,   82,  511, 
           807,  619,  595,  710,   42,  515,  516,  517,  518, 1024, 
           553,  235,   99,   99,   42,  235,   80,  235,   85,  309, 
           290,  235,  235,  122,   85,  545,   99,  548,   99,  823, 
            99,   99,  468,   94,  573,   78,  595,  122,  235,   85, 
           235,  643,  891,  788,  648,  648,  233,  653,  266,  663, 
            85,  595,  681,   85,  525,  526,  682,  235,  962,   66, 
            66,   85,  683,   42,  689,   66,   66,   66,   66,  696, 
            99,  235,   66,   66,  726,  303,   66,  282,   79,  718, 
           877,  707,  573,  708,   99,   99,   99,  719,  879,  573, 
           720,   91,  595,  595,  573,   94,  122,  721,  438,  235, 
           350,   85,   66,   66,  723,  439,  730,  732,   66,  734, 
           100,  101,  737,  666,  747,  573,  748,  857,  859,  753, 
           595,  595,  472,  862,  864,  754,  235,  309,  763,  473, 
           764,  365,  902,  610,   93,  367,  368,  767,  493,   99, 
            79,  773,  965,  186,  650,  186,  186,  186,  186,  186, 
           493,  781,  785,   76,  186,  791,  784,  494,  792,  100, 
           101,   99,  108,  793,  794,  487,  797,  808,  595,  822, 
           828,   84,  487,   66,   99,   66,  186,  186,  855,  867, 
           122,  411,  868,  949,  186,  186,  186,  186,  595,  878, 
           950,  493,  494,  595,  882,  595,  600,  595,  264,  457, 
            89,   89,  124,  124,  880,  892,   89,  893,  106,  594, 
           894,  812,  252,  900,   77,   76,   82,  904,  600,  405, 
           186,  758,  901,  282,  907,  452,  972,  455,  908,  914, 
           282,  915,   99,   84,   80,  829,  830,  943,   99,  595, 
           650,  595,   16,   89,   99,  595,  595,  310,  309,  852, 
           916,  853,  918,   78,  856,  920,  595,  290,  924,  235, 
            85,  595,  595,  179,  290,  108,   42,   42,   42,  574, 
           928,   85,   42,   42,   85,   42,   77,  931,   82,   85, 
           933,   66,   66,  935,  937,  442,  443,  444,   92,  445, 
           938,   16,  942,  890,  310,  939,   80,   42,   42,   42, 
            42,   42,  957,  948,  235,   66,   66,  896,  897,  898, 
           958,  595,  179,  960,  282,   78,   89,  350,  971,  975, 
           710,  282,  515,  516,  517,  518,  100,  309,  983,   99, 
            66,  995,   66,   66,   85,  494,   66,  984,   66,  106, 
           107,  189,  998,   66, 1004,   42, 1006, 1008,  365, 1011, 
            66, 1014,  367,  368,  369,  370, 1017,   96,   85,   85, 
          1026,  595,  940,   99,  595,  582,   42,  100,  101,  102, 
           411,  584,   85,  583,   85,  493,  584,   85,  235,  235, 
            99,  588,  493,  588,  235,  235,  497,  498,  106,  107, 
           189,   96,  590,  500,  235,  584,  505,  952,  309,  584, 
            66,   66,   66,   66,   66,   66,   66,  595,   96,  411, 
           282,  341,  884,  613,  324,   94,   85,  622,  411,  235, 
           290,  291,   89,   89,  547,  411,  127, 1016,  493,  494, 
            85,   85,   85,  207,  651,  493,  494,   66,  574,  760, 
           174,   66,  645,   66,   66,  947,  845,   66,   66,  832, 
            66,  411,  910,  979,  515,  516,  517,  518,   91,  613, 
            44,  992,  573,  103,   66,   66,   66,  993,  838,  977, 
            44,  926,  869,  674,  676,  254,   66,  303,  819,   66, 
           991,    0,  996,   66,   89,   85,    0,   66,    0,  174, 
             0,   89,   91,    0,   16,   16,   16,   66,  235,   97, 
            16,   16,    0,   16,    0,    0,  310,   85,    0,   91, 
           676,   98,  103,  303,  595,  595,  595,    0,    0,   44, 
            85,  595,    0,  101,    0,   66,    0,   66,  100,  100, 
           125,  125,  125,   97,  100,  497,  498,  499,    0,  493, 
           256,    0,  500,    0,  573,   89,  709,  497,  498,  502, 
            97,    0,   66,    0,  500,  970,    0,    0,  291,  179, 
             0,  179,  179,  179,  179,  179,    0,    0,    0,  280, 
           179,  100,  494,   16,    0,  312,    0,    0,   85,  494, 
           290,  486,  235,    0,   85,   89,  310,    0,  486,    0, 
            85,   89,  179,  179,   16,    0,  106,  107,   99,    0, 
           179,  179,  179,  179,    0,    0,   89,    0,    0,  101, 
           101,  126,  126,  126,    0,  101,    0,   89,    0,    0, 
            89,  257,  312,    0,    0,  519,   96,  574,   89,    0, 
           520,  497,  498,  504,    0,  761,  179,  189,  500,  189, 
           189,  189,  189,  189,  100,    0,    0,  282,  189,    0, 
           103,  573,  101,    0,  282,    0,  313,  290,  291,  488, 
            99,    0,  525,  526,  290,  291,  488,    0,   89,  574, 
           189,  189,    0,    0,    0,  574,    0,  825,  189,  189, 
           189,  189,  574,    0,    0,   66,   66,  574,   96,    0, 
           825,  497,  498,  508,  310,  849,  527,   66,  500,  573, 
            66,    0,  804,  313,    0,   66,  573,    0,  574,  676, 
           303,  573,    0,    0,  189,   93,    0,    0,    0,    0, 
           103,    0,   44,   44,   44,  101,    0,   91,   44,   44, 
            66,   44,  573,  573,    0,  818,  174,  577,  174,  174, 
           174,  174,  174,  156,    0,    0,  107,  174,    0,   93, 
           100,  100,    0,   44,   44,   44,   44,   44,  489,    0, 
            66,    0,    0,    0,    0,  489,   93,    0,   97,  174, 
           174,  577,    0,  831,    0,  834,  493,  174,  174,  174, 
           174,  573,  842,  493,   66,   66,  577,    0,  573,   91, 
             0,  873,  156,  573,    0,  291,  411,    0,   66,    0, 
            66,   44,  291,   66,   66,   66,    0,    0,    0,    0, 
            66,   66,  100,  174,  573,  310,    0,  290,  577,  100, 
            66,    0,   44,    0,  290,  895,    0,   89,    0,  574, 
            97,  101,  101,    0,  312,    0,    0,  240,   89,    0, 
             0,   89,   66,    0,    0,   66,   89,  240,  497,  498, 
           546,    0,  458,  458,  458,  500,   66,   66,   66,  458, 
             0,    0,  503,    0,  506,  839,  509,  515,  516,  517, 
           518,  840,  509,  100,   92,   92,  520,    0,    0,    0, 
            92,  240,  813,  814,  849,  815,  253,  849,    0,  825, 
             0,  849,  840,  101,  310,  240,  240,  520,  521,  945, 
           101,   89,  817,    0,    0,    0,  523,  524,  525,  526, 
           105,   66,    0,  100,  312,  313,    0,   92,    0,  100, 
             0,    0,  200,    0,   66,   89,   89,  303,    0,  525, 
           526,    0,  200,   66,  100,    0,  440,  440,  440,   89, 
             0,   89,  527,  440,   89,  100,   66,    0,  100,   59, 
            60,    0,    0,  104,  101,    0,  100,    0,    0,  105, 
           849,  967,  849,  527,  849,  310,  200,  849,  710,    0, 
           515,  516,  517,  518,  976,    0,    0,    0,  980,  885, 
           200,  200,  849,   89,   93,  411,  446,  446,  446,    0, 
            92,  574,    0,  446,  101,  313,  100,   89,   89,   89, 
           101,  711,  104,    0,   66,    0,    0,  577,   66,  712, 
            66,  582,  582,  582,    0,  101,   66,  582,  582,    0, 
           582,    0,  312,    0,    0,    0,  101,    0,    0,  101, 
             0,    0,    0,  411,  577,    0,    0,  101,  124,  156, 
           411,  156,  156,  156,  156,  156,   93,    0,    0,  706, 
           156, 1021,   89,    0,    0,  577,    0,    0,    0,   95, 
             0,  491,  577,    0,    0,    0,  411,  573,  491,    0, 
             0,    0,  156,  156,   89,    0,    0,  101,    0,    0, 
           156,  156,  156,  156,    0,  577,  706,   89,  577,    0, 
           582,    0,    0,   95,    0,    0,   92,   92,  157,  240, 
           240,  240,    0,  313,  240,  240,  240,    0,  240,  932, 
            95,  582,    0,  936,    0,    0,  156,    0,  240,  240, 
             0,  710,  124,  515,  516,  517,  518,  240,  240,    0, 
           240,  240,  240,  240,  240,  343,  344,  345,  346,  347, 
           577,    0,  240,  312,    0,   89,    0,  157,    0,    0, 
             0,   89,    0,    0,  711,  100,    0,   89,   92,    0, 
             0,    0,  224,   92,    0,   92,  100,  105,    0,  100, 
             0,    0,  224,    0,  100,  240,    0,    0,  240,    0, 
           574,  240,    0,  240,  200,  200,  200,    0,    0,  200, 
           200,  200,    0,  200,    0,    0,    0,   92,    0,  240, 
             0,    0,    0,  200,  200,    0,  224,    0,    0,    0, 
           104,  240,  200,  200,   92,  200,  200,  200,  200,   92, 
           224,  224,  312,  577,  313,  224,    0,  200,  574,  100, 
            96,    0,    0,    0,   95,  574,  101,    0, 1005,    0, 
           574, 1007, 1009,  158,  494, 1012, 1013,  101,    0,    0, 
           101,    0,    0,  100,  100,  101,    0,    0,  614,   92, 
           200,  574,    0,  200,    0,   92,  200,  100,  200,  100, 
             0,  577,  100,    0,    0,    0,    0,  574,  577,    0, 
            92,  577,    0,  573,  200, 1025, 1027, 1028, 1029,    0, 
             0,   92,  158,  312,   92, 1031,  200,    0,    0,    0, 
             0,    0,   92,  313,  577,   98,    0,  887,    0,    0, 
           101,  100,  583,  583,  583,    0,    0,    0,  583,  583, 
             0,  583,    0,    0,  350,  100,  100,  100,   95,  577, 
             0,    0,    0,    0,  101,  101,    0,    0,    0,   98, 
           363,  364,   92,  263,  263,    0,    0,  263,  101,    0, 
           101,    0,    0,  101,    0,  365,   98,  366,    0,  367, 
           368,  369,  370,    0,    0,  373,  125,  374,  837,  287, 
           289,    0,    0,  841,  313,  263,  263,  577,  314,  316, 
           100,    0,    0,    0,  577,    0,  291,    0,  888,  573, 
            95,  583,  101,    0,  157,    0,  157,  157,  157,  157, 
           157,    0,  100,    0,    0,  157,  101,  101,  101,    0, 
           577,    0,  583,    0,    0,  100,  490,    0,    0,    0, 
             0,    0,    0,  490,  224,  224,  224,  157,  157,  224, 
           224,  224,   92,  224,    0,  157,  157,  157,  157,    0, 
             0,    0,    0,  224,  224,    0,    0,  126,    0,    0, 
           125,    0,  224,  224,    0,  224,  224,  224,  224,  224, 
             0,  101,    0,    0,    0,  105,  574,  224,    0,  104, 
           577,  157,  710,  100,  515,  516,  517,  518,    0,  100, 
             0,  494,    0,  101,    0,  100,  224,  224,  494,    0, 
             0,  224,  224,    0,   92,    0,  101,    0,    0,    0, 
           224,   92,    0,  224,    0,  711,  224,    0,  224,    0, 
             0,    0,   92,  905,  574,   92,    0,    0,  577,    0, 
            92,  574,    0,    0,  224,  577,  574,    0,    0,    0, 
           573,  126,    0,    0,    0,    0,  224,    0,    0,  158, 
             0,  158,  158,  158,  158,  158,    0,  574,    0,    0, 
           158,  577,    0,    0,  101,    0,    0,    0,    0,    0, 
           101,  492,  841,    0,    0,  841,  101,  978,  492,  841, 
             0,    0,  158,  158,   98,   92,    0,    0,    0,    0, 
           158,  158,  158,  158,    0,    0,  263,  263,  263,  316, 
           263,  350,  595,    0,    0,    0,    0,    0,    0,   92, 
            92,  263,  595,  263,  263,    0,    0,  363,  364,    0, 
             0,    0,  469,   92,    0,   92,  158,    0,   92,    0, 
             0,    0,  365,  291,  366,    0,  367,  368,  369,  370, 
           291,  350,    0,    0,    0,  614,   98,    0,  841,    0, 
           841,    0,  841,    0,    0,  841,    0,  363,  364,    0, 
             0,  595,    0,  886,    0,    0,    0,   92,    0,    0, 
           841,    0,  365,    0,    0,    0,  367,  368,  369,  370, 
             0,   92,   92,   92,    0,    0,    0,    0,  562,  563, 
           564,  565,  566,  567,  568,  569,  570,  571,  572,  573, 
           574,  575,  576,  577,  578,  579,  580,  581,  582,  583, 
           584,  585,  586,  587,    0,    0,    0,    0,  263,    0, 
             0,    0,  607,    0,  611,    0,    0,    0,  263,  624, 
             0,    0,    0,  229,    0,    0,   92,    0,    0,    0, 
             0,    0,    0,  229,    0,  263,    0,    0,    0,    0, 
             0,    0,    0,  263,    0,    0,    0,  514,   92,  515, 
           516,  517,  518,  519,  263,  607,  659,  624,  520,    0, 
           263,   92,  272,    0,    0,    0,    0,  229,  263,    0, 
             0,    0,  272,    0,  263,  263,    0,    0,  263,    0, 
           521,  229,  229,    0,    0,    0,  229,    0,  523,  524, 
           525,  526,    0,    0,  514,    0,  515,  516,  517,  518, 
           519,    0,  690,  691,  692,  520,  267,    0,    0,    0, 
             0,  263,    0,    0,  263,    0,    0,    0,    0,   92, 
             0,  272,    0,  263,  527,   92,    0,  521,  522,    0, 
             0,   92,    0,    0,    0,  523,  524,  525,  526,    0, 
             0,  114,    0,    0,    0,    0,    0,  263,    0,  261, 
           261,  261,    0,  261,  595,  595,  595,  261,  261,  595, 
           595,  595,  261,  595,  261,  261,  261,  261,  261,  261, 
           261,  527,  595,  595,    0,  261,  261,  261,  261,  261, 
           261,  261,  595,  595,  261,  595,  595,  595,  595,  595, 
           114,  261,    0,    0,  261,  261,  261,    0,  261,  261, 
           261,  261,  261,  261,  261,  261,  261,  261,  261,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,  710, 
           595,  515,  516,  517,  518,  519,    0,  595,  261,    0, 
           520,  261,    0,  595,  261,  261,  263,  261,    0,  261, 
             0,  261,    0,  261,    0,    0,    0,    0,    0,    0, 
             0,  261,  521,  595,  595,    0,  261,  261,  261,  261, 
           261,  261,  525,  526,    0,  261,    0,  261,  261,    0, 
           261,  261,    0,  261,  261,  261,    0,    0,    0,  481, 
             0,    0,    0,    0,    0,  229,  229,  229,    0,  481, 
           229,  229,  229,    0,  229,    0,  527,    0,    0,    0, 
             0,    0,    0,  263,  229,  229,    0,    0,    0,    0, 
           263,  263,    0,  229,  229,    0,  229,  229,  229,  229, 
           229,    0,    0,  481,  272,  272,  272,    0,  229,  272, 
           272,  272,    0,  272,    0,    0,  263,  481,  481,    0, 
           481,    0,  481,    0,    0,    0,    0,  229,  229,    0, 
             0,    0,  229,  229,    0,  272,  272,  272,  272,  272, 
             0,  229,    0,    0,  229,    0,    0,  229,    0,  229, 
           481,    0,    0,    0,    0,  858,  860,    0,    0,    0, 
             0,  863,  865,    0,    0,  229,    0,    0,    0,    0, 
           871,  659,  263,    0,    0,    0,  875,  229,    0,    0, 
           272,    0,    0,  272,    0,    0,  484,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,  484,    0,    0,  858, 
           860,  863,  865,    0,  272,    0,  263,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,  114,    0,  114, 
           114,  114,  114,  114,    0,    0,    0,    0,  114,  839, 
           484,  515,  516,  517,  518,  840,    0,    0,    0,  481, 
           520,    0,    0,    0,  484,  484,  481,  484,  350,  484, 
           114,  114,    0,  355,  356,    0,    0,    0,  114,  114, 
           114,  114,  521,  941,  363,  364,    0,    0,    0,    0, 
           523,  524,  525,  526,    0,  944,    0,  484,    0,  365, 
           263,  366,    0,  367,  368,  369,  370,  371,  372,  373, 
             0,  374,    0,    0,  114,    0,    0,    0,    0,    0, 
             0,  944,    0,    0,    0,    0,  527,    0,  263,    0, 
             0,  115,    0,    0,    0,    0,  570,  570,  570,    0, 
           570,  481,  481,  481,  570,  570,  481,  481,  481,  570, 
           481,  570,  570,  570,  570,  570,  570,  570,  481,  570, 
           481,  481,  570,  570,  570,  570,  570,  570,  570,  481, 
           481,  570,  481,  481,  481,  481,  481,    0,  570,  263, 
           115,  570,  570,  570,  481,  570,  570,  570,  570,  570, 
           570,  570,  570,  570,  570,  570,  481,  481,  481,  481, 
           481,  481,  481,  481,  481,  481,  481,  481,  481,  481, 
             0,    0,  481,  481,  481,  570,  481,  481,  570,  570, 
           481,  570,  570,  481,  570,  481,  570,  481,  570,  481, 
           570,  481,  481,  481,  481,  481,  481,  481,  570,  481, 
           570,  481,    0,  570,  570,  570,  570,  570,  570,    0, 
           826,    0,  570,  481,  570,  570,    0,  570,  570,  836, 
           570,  570,  570,  571,  571,  571,  844,  571,  484,  484, 
           484,  571,  571,  484,  484,  484,  571,  484,  571,  571, 
           571,  571,  571,  571,  571,  484,  571,  484,  484,  571, 
           571,  571,  571,  571,  571,  571,  484,  484,  571,  484, 
           484,  484,  484,  484,    0,  571,    0,    0,  571,  571, 
           571,  484,  571,  571,  571,  571,  571,  571,  571,  571, 
           571,  571,  571,  484,  484,  484,  484,  484,  484,  484, 
           484,  484,  484,  484,  484,  484,  484,    0,    0,  484, 
           484,  484,  571,  484,  484,  571,  571,  484,  571,  571, 
           484,  571,  484,  571,  484,  571,  484,  571,  484,  484, 
           484,  484,  484,  484,  484,  571,  484,  571,  484,    0, 
           571,  571,  571,  571,  571,  571,  573,    0,    0,  571, 
           484,  571,  571,    0,  571,  571,  573,  571,  571,  571, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,  710,    0, 
           515,  516,  517,  518,  840,    0,    0,    0,    0,  520, 
           573,    0,    0,    0,    0,    0,    0,  115,    0,  115, 
           115,  115,  115,  115,  573,  573,    0,  103,  115,  573, 
             0,  521,    0,  966,    0,  968,    0,  969,    0,  484, 
             0,  525,  526,    0,    0,  973,  484,    0,    0,    0, 
           115,  115,  981,    0,    0,    0,    0,  573,  115,  115, 
           115,  115,    0,  514,    0,  515,  516,  517,  518,  519, 
             0,    0,    0,    0,  520,  527,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,  574,  115,    0,  521,  638,    0,    0, 
             0,    0,    0,  574,  523,  524,  525,  526,    0,    0, 
             0,    0,    0,    0,    0, 1019,    0,    0,    0,    0, 
             0,    0,    0, 1020,    0, 1022,    0,    0, 1023,    0, 
             0,    0,    0,    0,    0,    0,    0,  574,    0,    0, 
           527,    0,    0, 1030,    0,    0,    0,    0,    0,  589, 
           590,  574,  574,  591,  105,    0,  574,  173,  174,    0, 
           175,  176,  177,  178,  179,  180,  181,    0,    0,  182, 
           183,    0,    0,    0,  184,  185,  186,  187,    0,    0, 
             0,    0,    0,  276,  574,    0,    0,    0,    0,    0, 
           189,  190,    0,  191,  192,  193,  194,  195,  196,  197, 
           198,  199,  200,  201,    0,    0,  202,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,  573,  573,  573,  203,  573,  573,  573, 
           573,  573,  573,  573,  573,  573,  573,  573,  573,  573, 
           573,  573,  573,  573,  573,    0,  573,  573,  573,  573, 
           573,  573,  573,  573,  573,  573,  573,  573,  573,  573, 
           573,  573,  573,  573,    0,  573,    0,    0,  573,  573, 
           573,  573,  573,  573,  573,  573,  573,  573,  573,  573, 
           573,  573,  573,  573,  573,  573,  573,  573,  573,  573, 
           573,  573,  573,  573,  573,  573,  573,    0,    0,  573, 
           573,  573,  573,    0,  573,  573,  573,  573,  573,  573, 
           573,  573,  573,  573,  573,  573,  573,  573,  573,  573, 
           573,  573,  573,  573,  573,  573,  573,  573,  573,    0, 
           573,  573,  573,  573,  573,  573,    0,    0,    0,  573, 
           573,  573,  573,    0,  573,  573,    0,  573,  573,  573, 
           574,  574,  574,    0,  574,  574,  574,  574,  574,  574, 
           574,  574,  574,  574,  574,  574,  574,  574,  574,  574, 
           574,  574,    0,  574,  574,  574,  574,  574,  574,  574, 
           574,  574,  574,  574,  574,  574,  574,  574,  574,  574, 
           574,    0,  574,    0,    0,  574,  574,  574,  574,  574, 
           574,  574,  574,  574,  574,  574,  574,  574,  574,  574, 
           574,  574,  574,  574,  574,  574,  574,  574,  574,  574, 
           574,  574,  574,  574,    0,    0,  574,  574,  574,  574, 
             0,  574,  574,  574,  574,  574,  574,  574,  574,  574, 
           574,  574,  574,  574,  574,  574,  574,  574,  574,  574, 
           574,  574,  574,  574,  574,  574,    0,  574,  574,  574, 
           574,  574,  574,  577,    0,    0,  574,  574,  574,  574, 
             0,  574,  574,  577,  574,  574,  574,    0,    0,    0, 
             0,    0,    0,    0,    0,    4,    5,    6,    0,    8, 
             0,    0,    0,    9,   10,    0,    0,    0,   11,    0, 
            12,   13,   14,   15,   16,   17,   18,  577,    0,    0, 
             0,   19,   20,   21,   22,   23,   24,   25,    0,    0, 
           111,  577,  577,    0,  104,    0,  577,   28,    0,    0, 
            31,   32,   33,    0,   34,   35,   36,   37,   38,   39, 
           258,   40,   41,   42,   43,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,  577,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,  232,    0,    0,  118,    0,    0, 
            46,   47,    0,   48,    0,  259,    0,  260,    0,   50, 
             0,    0,    0,    0,    0,    0,    0,  261,    0,    0, 
           283,    0,   52,   53,   54,   55,   56,   57,    0,    0, 
           283,   58,    0,   59,   60,    0,   61,   62,    0,   63, 
            64,  262,    0,    0,    0,    0,  595,  596,    0,    0, 
           597,    0,    0,    0,  173,  174,    0,  175,  176,  177, 
           178,  179,  180,  181,  283,    0,  182,  183,    0,    0, 
             0,  184,  185,  186,  187,    0,    0,    0,  283,  283, 
           276,    0,    0,  283,    0,    0,    0,  189,  190,    0, 
           191,  192,  193,  194,  195,  196,  197,  198,  199,  200, 
           201,    0,    0,  202,  350,  351,  352,  353,  354,  355, 
           356,  283,    0,  359,  360,    0,    0,    0,    0,    0, 
           363,  364,    0,  203,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,  365,    0,  366,    0,  367, 
           368,  369,  370,  371,  372,  373,    0,  374,    0,    0, 
           573,  573,  573,    0,  573,  577,  577,  577,  573,  573, 
           577,  577,  577,  573,  577,  573,  573,  573,  573,  573, 
           573,  573,    0,  577,  577,  577,  573,  573,  573,  573, 
           573,  573,  573,  577,  577,  573,  577,  577,  577,  577, 
           577,    0,  573,    0,    0,  573,  573,  573,  577,  573, 
           573,  573,  573,  573,  573,  573,  573,  573,  573,  573, 
           577,  577,  577,  577,  577,  577,  577,  577,  577,  577, 
           577,  577,  577,  577,    0,    0,  577,  577,  577,  573, 
             0,  577,  573,  573,  577,  573,  573,  577,  573,  577, 
           573,  577,  573,  577,  573,  577,  577,  577,  577,  577, 
           577,  577,  573,  577,  577,  577,    0,  573,  573,  573, 
           573,  573,  573,    0,    0,    0,  573,  577,  573,  573, 
             0,  573,  573,    0,  573,  573,  573,  572,  572,  572, 
             0,  572,  283,  283,  283,  572,  572,  283,  283,  283, 
           572,  283,  572,  572,  572,  572,  572,  572,  572,    0, 
           572,  283,  283,  572,  572,  572,  572,  572,  572,  572, 
           283,  283,  572,  283,  283,  283,  283,  283,    0,  572, 
             0,    0,  572,  572,  572,  283,  572,  572,  572,  572, 
           572,  572,  572,  572,  572,  572,  572,  283,  283,  283, 
           283,  283,  283,  283,  283,  283,  283,  283,  283,  283, 
           283,    0,    0,  283,  283,  283,  572,    0,  283,  572, 
           572,  283,  572,  572,  283,  572,  283,  572,  283,  572, 
           283,  572,  283,  283,  283,  283,  283,  283,  283,  572, 
           283,  572,  283,    0,  572,  572,  572,  572,  572,  572, 
           578,    0,    0,  572,  283,  572,  572,    0,  572,  572, 
           578,  572,  572,  572,    0,    0,    0,    0,    0,    0, 
             0,    0,    4,    5,    6,    0,    8,    0,    0,    0, 
             9,   10,    0,    0,    0,   11,    0,   12,   13,   14, 
           106,  107,   17,   18,  578,    0,    0,    0,  108,  109, 
           110,   22,   23,   24,   25,    0,    0,  111,  578,  578, 
             0,    0,    0,  578,   28,    0,    0,   31,   32,   33, 
             0,   34,   35,   36,   37,   38,   39,  258,   40,   41, 
            42,   43,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,  578,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,  232,    0,    0,  118,    0,    0,   46,   47,    0, 
            48,    0,  675,    0,  260,    0,   50,    0,    0,    0, 
             0,    0,    0,    0,  261,    0,    0,  579,    0,   52, 
            53,   54,   55,   56,   57,    0,    0,  579,   58,    0, 
            59,   60,    0,   61,   62,    0,   63,   64,  262,    0, 
             0,    0,    0,  603,  590,    0,    0,  604,    0,    0, 
             0,  173,  174,    0,  175,  176,  177,  178,  179,  180, 
           181,  579,    0,  182,  183,    0,    0,    0,  184,  185, 
           186,  187,    0,    0,    0,  579,  579,  276,    0,    0, 
           579,    0,    0,    0,  189,  190,    0,  191,  192,  193, 
           194,  195,  196,  197,  198,  199,  200,  201,    0,    0, 
           202,    0,    0,    0,    0,    0,    0,    0,  579,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
           203,    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,  575,  575,  575, 
             0,  575,  578,  578,  578,  575,  575,  578,  578,  578, 
           575,  578,  575,  575,  575,  575,  575,  575,  575,    0, 
           578,  578,  578,  575,  575,  575,  575,  575,  575,  575, 
           578,  578,  575,  578,  578,  578,  578,  578,    0,  575, 
             0,    0,  575,  575,  575,  578,  575,  575,  575,  575, 
           575,  575,  575,  575,  575,  575,  575,  578,  578,  578, 
           578,  578,  578,  578,  578,  578,  578,  578,  578,  578, 
           578,    0,    0,  578,  578,  578,  575,    0,  578,  575, 
           575,  578,  575,  575,  578,  575,  578,  575,  578,  575, 
           578,  575,  578,  578,  578,  578,  578,  578,  578,  575, 
           578,  578,  578,    0,  575,  575,  575,  575,  575,  575, 
             0,    0,    0,  575,  578,  575,  575,    0,  575,  575, 
             0,  575,  575,  575,  576,  576,  576,  308,  576,  579, 
           579,  579,  576,  576,  579,  579,  579,  576,  579,  576, 
           576,  576,  576,  576,  576,  576,    0,  579,  579,  579, 
           576,  576,  576,  576,  576,  576,  576,  579,  579,  576, 
           579,  579,  579,  579,  579,    0,  576,    0,    0,  576, 
           576,  576,  579,  576,  576,  576,  576,  576,  576,  576, 
           576,  576,  576,  576,  579,  579,  579,  579,  579,  579, 
           579,  579,  579,  579,  579,  579,  579,  579,    0,    0, 
           579,  579,  579,  576,    0,  579,  576,  576,  579,  576, 
           576,  579,  576,  579,  576,  579,  576,  579,  576,  579, 
           579,  579,  579,  579,  579,  579,  576,  579,  579,  579, 
             0,  576,  576,  576,  576,  576,  576,  290,    0,    0, 
           576,  579,  576,  576,    0,  576,  576,  290,  576,  576, 
           576,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,  603,  590,    0,    0,  604,    0,    0,    0, 
           173,  174,    0,  175,  176,  177,  178,  179,  180,  181, 
             0,  290,  182,  183,    0,    0,    0,  184,  185,  186, 
           187,    0,    0,    0,    0,  290,  290,    0,  106,    0, 
           290,    0,    0,  189,  190,    0,  191,  192,  193,  194, 
           195,  196,  197,  198,  199,  200,  201,    0,    0,  202, 
             0,    0,    0,    0,    0,    0,    0,    0,  290,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,  203, 
             4,    5,    6,    0,    8,    0,    0,    0,    9,   10, 
             0,    0,    0,   11,    0,   12,   13,   14,  106,  107, 
            17,   18,    0,    0,  410,    0,  108,  109,  110,   22, 
            23,   24,   25,    0,  410,  111,    0,    0,    0,    0, 
             0,    0,  112,    0,    0,   31,   32,   33,    0,   34, 
            35,   36,   37,   38,   39,    0,   40,    0,    0,  115, 
             0,    0,    0,    0,    0,    0,    0,    0,  410,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,  307, 
             0,    0,  118,  410,    0,   46,   47,  410,   48,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,  280,    0,    0,   52,   53,   54, 
            55,   56,   57,    0,    0,  410,   58,    0,   59,   60, 
             0,   61,   62,    0,   63,   64,    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,  574,  574,  574,  375,  574,  290, 
           290,  290,  574,  574,  290,  290,  290,  574,  290,  574, 
           574,  574,  574,  574,  574,  574,    0,    0,  290,  290, 
           574,  574,  574,  574,  574,  574,  574,  290,  290,  574, 
           290,  290,  290,  290,  290,    0,  574, 
       };
    }
 
    private static final short[] yyTable2() {
       return new short[] {
 
             0,    0,  574,  574,  574,  290,  574,  574,  574,  574, 
           574,  574,  574,  574,  574,  574,  574,  290,  290,  290, 
           290,  290,  290,  290,  290,  290,  290,  290,  290,  290, 
           290,    0,    0,  290,  290,  290,  574,    0,  290,  574, 
           574,  290,  574,  574,  290,  574,  290,  574,  290,  574, 
           290,  574,  290,  290,  290,  290,  290,  290,  290,  574, 
           290,    0,  290,    0,  574,  574,  574,  574,  574,  574, 
             0,    0,    0,  574,  290,  574,  574,    0,  574,  574, 
             0,  574,  574,  574,  261,  261,  261,  617,  261,  410, 
           410,  410,  261,  261,  410,  410,  410,  261,  410,  261, 
           261,  261,  261,  261,  261,  261,    0,  410,  410,  410, 
           261,  261,  261,  261,  261,  261,  261,  410,  410,  261, 
           410,  410,  410,  410,  410,    0,  261,    0,    0,  261, 
           261,  261,    0,  261,  261,  261,  261,  261,  261,  261, 
           261,  261,  261,  261,  410,  410,  410,  410,  410,  410, 
           410,  410,  410,  410,  410,  410,  410,  410,    0,    0, 
           410,  410,  410,  261,    0,  410,  261,    0,  410,  261, 
           261,  410,  261,  410,  261,  410,  261,  410,  261,  410, 
           410,  410,  410,  410,  410,  410,  261,  410,  410,  410, 
             0,  261,  261,  261,  261,  261,  261,  595,    0,    0, 
           261,    0,  261,  261,    0,  261,  261,  595,  261,  261, 
           261,    0,    0,    0,  350,  351,  352,  353,  354,  355, 
           356,  357,  358,  359,  360,    0,  361,  362,    0,    0, 
           363,  364,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,  595,    0,    0,    0,  365,    0,  366,    0,  367, 
           368,  369,  370,  371,  372,  373,  595,  374,    0,    0, 
           595,    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,  595,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             4,    5,    6,    0,    8,    0,    0,    0,    9,   10, 
             0,    0,    0,   11,    0,   12,   13,   14,  106,  107, 
            17,   18,    0,    0,  297,    0,  108,  109,  110,   22, 
            23,   24,   25,    0,  297,  111,    0,    0,    0,    0, 
             0,    0,  112,    0,    0,   31,   32,   33,    0,   34, 
            35,   36,   37,   38,   39,    0,   40,    0,    0,  115, 
             0,    0,    0,    0,    0,    0,    0,    0,  297,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,  307, 
             0,    0,  118,  297,    0,   46,   47,  297,   48,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,   52,   53,   54, 
            55,   56,   57,    0,    0,  297,   58,    0,   59,   60, 
             0,   61,   62,    0,   63,   64,    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,  261,  261,  261,    0,  261,  595, 
           595,  595,  261,  261,  595,  595,  595,  261,  595,  261, 
           261,  261,  261,  261,  261,  261,    0,  595,  595,  595, 
           261,  261,  261,  261,  261,  261,  261,  595,  595,  261, 
           595,  595,  595,  595,  595,    0,  261,  375,    0,  261, 
           261,  261,    0,  261,  261,  261,  261,  261,  261,  261, 
           261,  261,  261,  261,  595,  595,  595,  595,  595,  595, 
           595,  595,  595,  595,  595,  595,  595,  595,    0,    0, 
           595,  595,  595,  261,    0,  595,  261,    0,  595,  261, 
           261,  595,  261,  595,  261,  595,  261,  595,  261,  595, 
           595,  595,  595,  595,  595,  595,  261,  595,  595,  595, 
             0,  261,  261,  261,  261,  261,  261,    0,    0,    0, 
           261,    0,  261,  261,    0,  261,  261,    0,  261,  261, 
           261,  261,  261,  261,    0,  261,  297,  297,  297,  261, 
           261,  297,  297,  297,  261,  297,  261,  261,  261,  261, 
           261,  261,  261,    0,    0,  297,  297,  261,  261,  261, 
           261,  261,  261,  261,  297,  297,  261,  297,  297,  297, 
           297,  297,    0,  261,  375,    0,  261,  261,  261,    0, 
           261,  261,  261,  261,  261,  261,  261,  261,  261,  261, 
           261,  297,  297,  297,  297,  297,  297,  297,  297,  297, 
           297,  297,  297,  297,  297,    0,    0,  297,  297,  297, 
           261,    0,  297,  261,    0,  297,  261,  261,  297,  261, 
           297,  261,  297,  261,  297,  261,  297,  297,  297,  297, 
           297,  297,  297,  261,  297,  573,  297,    0,  261,  261, 
           261,  261,  261,  261,    0,  573,    0,  261,    0,  261, 
           261,    0,  261,  261,    0,  261,  261,  261,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,   94, 
             0,  762,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,  573,    0,  103,    0,  573,    0, 
             0,  350,  351,  352,  353,  354,  355,  356,  357,  358, 
           359,  360,    0,  361,  362,    0,    0,  363,  364,    0, 
             0,    0,    0,    0,    0,    0,  573,    0,    0,    0, 
             0,    0,  365,    0,  366,    0,  367,  368,  369,  370, 
           371,  372,  373,    0,  374,    0,    0,  350,  351,  352, 
           353,  354,  355,  356,  357,  358,  359,  360,    0,    0, 
             0,    0,  574,  363,  364,    0,    0,    0,    0,    0, 
             0,    0,  574,    0,    0,    0,    0,    0,  365,    0, 
           366,    0,  367,  368,  369,  370,  371,  372,  373,    0, 
           374,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,   96,    0,  768,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,  574,    0,  105,    0,  574,    0,    0,  350,  351, 
           352,  353,  354,  355,  356,  357,  358,  359,  360,    0, 
           361,  362,    0,    0,  363,  364,    0,    0,    0,    0, 
             0,    0,    0,  574,    0,    0,    0,    0,    0,  365, 
             0,  366,    0,  367,  368,  369,  370,  371,  372,  373, 
             0,  374,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,  573,  573,  573,  375,  573,  573,  573,  573, 
           573,  573,    0,  573,  573,  573,  573,  573,  573,  573, 
           573,  573,  573,  573,    0,  573,    0,    0,  573,  573, 
           573,  573,  573,  573,  573,  573,  573,  573,  573,  573, 
           573,  573,  573,    0,  573,    0,    0,  573,  573,  573, 
             0,  573,  573,  573,  573,  573,  573,  573,  573,  573, 
           573,  573,  573,  573,  573,  573,  573,  573,  573,  573, 
           573,  573,  573,  573,  573,  573,    0,    0,  573,  573, 
           573,  573,    0,    0,  573,  573,  573,  573,  573,    0, 
           573,    0,  573,  573,  573,  573,  573,  573,  573,  573, 
           573,  573,  573,  573,  573,  573,  573,  573,    0,  573, 
           573,  573,  573,  573,  573,    0,    0,    0,  573,    0, 
           573,  573,    0,  573,  573,    0,  573,  573,  573,  574, 
           574,  574,    0,  574,  574,  574,  574,  574,  574,    0, 
           574,  574,  574,  574,  574,  574,  574,  574,  574,  574, 
           574,    0,  574,    0,    0,  574,  574,  574,  574,  574, 
           574,  574,  574,  574,  574,  574,  574,  574,  574,  574, 
             0,  574,    0,    0,  574,  574,  574,    0,  574,  574, 
           574,  574,  574,  574,  574,  574,  574,  574,  574,  574, 
           574,  574,  574,  574,  574,  574,  574,  574,  574,  574, 
           574,  574,  574,    0,    0,  574,  574,  574,  574,    0, 
             0,  574,  574,  574,  574,  574,    0,  574,    0,  574, 
           574,  574,  574,  574,  574,  574,  574,  574,  574,  574, 
           574,  574,  574,  574,  574,    0,  574,  574,  574,  574, 
           574,  574,  577,    0,    0,  574,    0,  574,  574,    0, 
           574,  574,  577,  574,  574,  574,    0,    0,    0,  350, 
           351,  352,  353,  354,  355,  356,  357,  358,  359,  360, 
             0,  361,  362,    0,    0,  363,  364,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,   95,    0,    0,    0, 
           365,    0,  366,    0,  367,  368,  369,  370,  371,  372, 
           373,  577,  374,  104,    0,  577,  350,  351,  352,  353, 
           354,  355,  356,  357,    0,  359,  360,    0,    0,    0, 
             0,    0,  363,  364,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,  577,    0,    0,    0,  365,    0,  366, 
             0,  367,  368,  369,  370,  371,  372,  373,    0,  374, 
             0,    0,    0,    0,    0,    4,    5,    6,    0,    8, 
             0,    0,    0,    9,   10,    0,    0,    0,   11,  290, 
            12,   13,   14,  106,  107,   17,   18,    0,    0,  290, 
             0,  108,  109,  110,   22,   23,   24,   25,    0,    0, 
           111,    0,    0,    0,    0,    0,    0,  112,    0,    0, 
            31,   32,   33,    0,  113,   35,   36,   37,  114,   39, 
             0,   40,    0,   97,  115,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,  290,    0, 
           106,  116,  290,    0,  117,    0,    0,  118,    0,    0, 
            46,   47,    0,   48,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
           290,    0,   52,   53,   54,   55,   56,   57,    0,    0, 
             0,   58,    0,   59,   60,    0,   61,   62,    0,   63, 
            64,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,  573, 
           573,  573,    0,  573,  577,  577,  577,  573,  573,    0, 
           577,  577,  573,  577,  573,  573,  573,  573,  573,  573, 
           573,    0,  577,    0,    0,  573,  573,  573,  573,  573, 
           573,  573,  577,  577,  573,  577,  577,  577,  577,  577, 
             0,  573,    0,    0,  573,  573,  573,    0,  573,  573, 
           573,  573,  573,  573,  573,  573,  573,  573,  573,  577, 
           577,  577,  577,  577,  577,  577,  577,  577,  577,  577, 
           577,  577,  577,    0,    0,  577,  577,  577,  573,    0, 
             0,  573,  573,  577,  573,  573,    0,  573,    0,  573, 
           577,  573,  577,  573,  577,  577,  577,  577,  577,  577, 
           577,  573,  577,  577,  577,    0,  573,  573,  573,  573, 
           573,  573,    0,    0,    0,  573,    0,  573,  573,    0, 
           573,  573,    0,  573,  573,  573,  574,  574,  574,    0, 
           574,  290,  290,  290,  574,  574,    0,  290,  290,  574, 
           290,  574,  574,  574,  574,  574,  574,  574,    0,    0, 
             0,    0,  574,  574,  574,  574,  574,  574,  574,  290, 
           290,  574,  290,  290,  290,  290,  290,    0,  574,    0, 
             0,  574,  574,  574,    0,  574,  574,  574,  574,  574, 
           574,  574,  574,  574,  574,  574,  290,  290,  290,  290, 
           290,  290,  290,  290,  290,  290,  290,  290,  290,  290, 
             0,    0,  290,  290,  290,  574,    0,    0,  574,  574, 
           290,  574,  574,    0,  574,    0,  574,  290,  574,  290, 
           574,  290,  290,  290,  290,  290,  290,  290,  574,  290, 
           411,  290,    0,  574,  574,  574,  574,  574,  574,    0, 
           411,    0,  574,    0,  574,  574,    0,  574,  574,    0, 
           574,  574,  574,    0,    0,    0,  631,  596,    0,    0, 
           632,    0,    0,    0,  173,  174,    0,  175,  176,  177, 
           178,  179,  180,  181,  411,    0,  182,  183,    0,    0, 
             0,  184,  185,  186,  187,    0,    0,    0,  411,  411, 
           276,  102,    0,  411,    0,    0,    0,  189,  190,    0, 
           191,  192,  193,  194,  195,  196,  197,  198,  199,  200, 
           201,    0,    0,  202,    0,    0,    0,    0,    0,    0, 
             0,  411,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,  410,    0,  203,    0,    0,    0,    0,    0,    0, 
             0,  410,    0,    0,    0,    0,    0,    0,    0,    0, 
           261,  261,  261,    0,  261,    0,    0,    0,  261,  261, 
             0,    0,    0,  261,    0,  261,  261,  261,  261,  261, 
           261,  261,    0,    0,    0,  410,  261,  261,  261,  261, 
           261,  261,  261,    0,    0,  261,    0,    0,    0,  410, 
           410,    0,  261,    0,  410,  261,  261,  261,    0,  261, 
           261,  261,  261,  261,  261,  261,  261,  261,  261,  261, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,  410,    0,    0,    0,    0,    0,    0,  261, 
             0,    0,  261,    0,    0,  261,  261,    0,  261,    0, 
           261,    0,  261,    0,  261,  493,    0,    0,    0,    0, 
             0,    0,  261,    0,    0,  493,    0,  261,  261,  261, 
           261,  261,  261,    0,    0,    0,  261,    0,  261,  261, 
             0,  261,  261,    0,  261,  261,  261,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,  493, 
             0,    0,  411,  411,  411,    0,    0,  411,  411,  411, 
             0,  411,    0,  493,  493,    0,  100,    0,  493,    0, 
           411,  411,  411,    0,    0,    0,    0,    0,    0,    0, 
           411,  411,    0,  411,  411,  411,  411,  411,    0,    0, 
             0,    0,    0,    0,    0,  411,  493,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,  411,  411,  411, 
           411,  411,  411,  411,  411,  411,  411,  411,  411,  411, 
           411,    0,    0,  411,  411,  411,    0,    0,  411,    0, 
             0,  411,    0,    0,  411,    0,  411,    0,  411,  494, 
           411,    0,  411,  411,  411,  411,  411,  411,  411,  494, 
           411,  411,  411,  410,  410,  410,    0,    0,  410,  410, 
           410,    0,  410,    0,  411,    0,    0,    0,    0,    0, 
             0,  410,  410,  410,    0,    0,    0,    0,    0,    0, 
             0,  410,  410,  494,  410,  410,  410,  410,  410,    0, 
             0,    0,    0,    0,    0,    0,  410,  494,  494,    0, 
           101,    0,  494,    0,    0,    0,    0,    0,  410,  410, 
           410,  410,  410,  410,  410,  410,  410,  410,  410,  410, 
           410,  410,    0,    0,  410,  410,  410,    0,    0,  410, 
           494,    0,  410,    0,    0,  410,    0,  410,    0,  410, 
             0,  410,    0,  410,  410,  410,  410,  410,  410,  410, 
             0,  410,  410,  410,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,  410,    0,  493,  493,  493, 
             0,    0,  493,  493,  493,    0,  493,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,  493,  493,    0,    0, 
             0,    0,    0,    0,    0,  493,  493,    0,  493,  493, 
           493,  493,  493,    0,    0,    0,    0,    0,    0,    0, 
           493,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,  493,  493,  493,  493,  493,  493,  493,  493, 
           493,  493,  493,  493,  493,  493,    0,  595,  493,  493, 
           493,    0,  495,  493,    0,    0,  493,  595,    0,  493, 
             0,  493,    0,  493,    0,  493,    0,  493,  493,  493, 
           493,  493,  493,  493,    0,  493,    0,  493,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,  493, 
             0,  595,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,  595,  595,    0,    0,    0, 
           595,  494,  494,  494,    0,    0,  494,  494,  494,    0, 
           494,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
           494,  494,    0,    0,    0,    0,    0,    0,  595,  494, 
           494,    0,  494,  494,  494,  494,  494,    0,    0,    0, 
             0,    0,    0,    0,  494,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,  494,  494,  494,  494, 
           494,  494,  494,  494,  494,  494,  494,  494,  494,  494, 
             0,  282,  494,  494,  494,    0,  496,  494,    0,    0, 
           494,  282,    0,  494,    0,  494,    0,  494,    0,  494, 
             0,  494,  494,  494,  494,  494,  494,  494,    0,  494, 
             0,  494,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,  494,    0,  282,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,  282, 
           282,    0,  108,    0,  282,    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,  282,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,  291,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,  291,    0,    0,    0,  595, 
           595,  595,    0,    0,  595,  595,  595,    0,  595,    0, 
             0,    0,    0,    0,    0,    0,    0,  595,  595,  595, 
             0,    0,    0,    0,    0,    0,    0,  595,  595,  291, 
           595,  595,  595,  595,  595,    0,    0,    0,    0,    0, 
             0,    0,  595,  291,  291,    0,  107,    0,  291,    0, 
             0,    0,    0,    0,  595,  595,  595,  595,  595,  595, 
           595,  595,  595,  595,  595,  595,  595,  595,    0,    0, 
           595,  595,  595,    0,    0,  595,  291,    0,  595,    0, 
             0,  595,    0,  595,    0,  595,  431,  595,    0,  595, 
           595,  595,  595,  595,  595,  595,  431,  595,  595,  595, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,  595,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
           431,    0,    0,  282,  282,  282,    0,    0,  282,  282, 
           282,    0,  282,    0,  431,  431,    0,    0,    0,  431, 
             0,    0,  282,  282,    0,    0,    0,    0,    0,    0, 
             0,  282,  282,    0,  282,  282,  282,  282,  282,    0, 
             0,    0,    0,    0,    0,    0,  282,  431,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,  282,  282, 
           282,  282,  282,  282,  282,  282,  282,  282,  282,  282, 
           282,  282,    0,    0,  282,  282,  282,    0,    0,  282, 
             0,    0,  282,    0,    0,  282,    0,  282,    0,  282, 
             0,  282,    0,  282,  282,  282,  282,  282,  282,  282, 
           302,  282,    0,  282,    0,    0,    0,    0,    0,    0, 
           302,    0,    0,    0,    0,  282,    0,  291,  291,  291, 
             0,    0,  291,  291,  291,    0,  291,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,  291,  291,    0,    0, 
             0,    0,    0,    0,  302,  291,  291,    0,  291,  291, 
           291,  291,  291,    0,    0,    0,    0,    0,  302,  302, 
           291,    0,    0,  302,    0,    0,    0,    0,    0,    0, 
             0,    0,  291,  291,  291,  291,  291,  291,  291,  291, 
           291,  291,  291,  291,  291,  291,    0,    0,  291,  291, 
           291,  302,    0,  291,    0,    0,  291,    0,    0,  291, 
             0,  291,    0,  291,  242,  291,    0,  291,  291,  291, 
           291,  291,  291,  291,  242,  291,    0,  291,  431,  431, 
           431,    0,    0,  431,  431,  431,    0,  431,    0,  291, 
             0,    0,    0,    0,    0,    0,    0,  431,  431,    0, 
             0,    0,    0,    0,    0,    0,  431,  431,  242,  431, 
           431,  431,  431,  431,    0,    0,    0,    0,    0,    0, 
             0,  431,  242,  242,    0,    0,    0,  242,    0,    0, 
             0,    0,    0,  431,  431,  431,  431,  431,  431,  431, 
           431,  431,  431,  431,  431,  431,  431,    0,    0,  431, 
           431,  431,    0,    0,  431,  334,    0,  431,    0,    0, 
           431,    0,  431,    0,  431,    0,  431,    0,  431,  431, 
           431,  431,  431,  431,  431,    0,  431,  297,  431,    0, 
             0,    0,    0,    0,    0,    0,    0,  297,    0,    0, 
           431,    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,  297,  302,  302,  302,    0,    0,  302,  302,  302, 
             0,  302,    0,    0,    0,  297,  297,    0,    0,    0, 
           297,  302,  302,    0,    0,    0,    0,    0,    0,    0, 
           302,  302,    0,  302,  302,  302,  302,  302,    0,    0, 
             0,    0,    0,    0,    0,  302,    0,    0,  297,    0, 
             0,    0,    0,    0,    0,    0,    0,  302,  302,  302, 
           302,  302,  302,  302,  302,  302,  302,  302,  302,  302, 
           302,    0,    0,  302,  302,  302,    0,    0,  302,    0, 
             0,  302,    0,    0,  302,    0,  302,    0,  302,  479, 
           302,    0,  302,  302,  302,  302,  302,  302,  302,  479, 
           302,    0,  302,    0,    0,    0,  242,  242,  242,    0, 
             0,  242,  242,  242,  302,  242,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,  242,  242,    0,    0,    0, 
             0,    0,    0,  479,  242,  242,    0,  242,  242,  242, 
           242,  242,    0,    0,    0,    0,    0,  479,  479,  242, 
             0,    0,  479,    0,    0,    0,    0,    0,    0,    0, 
             0,  242,  242,  242,  242,  242,  242,  242,  242,  242, 
           242,  242,  334,  242,  242,    0,    0,  242,  242,  334, 
           479,    0,  242,    0,    0,  242,    0,    0,  242,    0, 
           242,    0,  242,    0,  242,    0,  242,  242,  242,  242, 
           242,  242,  242,    0,  242,  480,  242,    0,    0,    0, 
             0,    0,    0,    0,    0,  480,    0,    0,  242,  297, 
           297,  297,    0,    0,  297,  297,  297,    0,  297,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,  297,  297, 
             0,    0,    0,    0,    0,    0,    0,  297,  297,  480, 
           297,  297,  297,  297,  297,    0,    0,    0,    0,    0, 
             0,    0,  297,  480,  480,    0,    0,    0,  480,    0, 
             0,    0,    0,    0,  297,  297,  297,  297,  297,  297, 
           297,  297,  297,  297,  297,  297,  297,  297,    0,    0, 
           297,  297,  297,    0,    0,  297,  480,    0,  297,    0, 
             0,  297,    0,  297,    0,  297,  220,  297,    0,  297, 
           297,  297,  297,  297,  297,  297,  220,  297,    0,  297, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,  297,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
           220,  479,  479,  479,    0,    0,  479,  479,  479,    0, 
           479,    0,    0,    0,  220,  220,    0,    0,    0,  220, 
           479,  479,    0,    0,    0,    0,    0,    0,    0,  479, 
           479,    0,  479,  479,  479,  479,  479,    0,    0,    0, 
             0,    0,    0,    0,  479,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,  479,  479,  479, 
           479,  479,  479,  479,  479,  479,  479,  479,  479,  479, 
             0,  216,  479,  479,  479,    0,    0,  479,    0,    0, 
           479,  216,    0,  479,    0,  479,    0,  479,    0,  479, 
             0,  479,  479,  479,  479,  479,  479,  479,    0,  479, 
             0,  479,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,  479,    0,  216,    0,  480,  480,  480, 
             0,    0,  480,  480,  480,    0,  480,    0,    0,  216, 
           216,    0,    0,    0,  216,    0,  480,  480,    0,    0, 
             0,    0,    0,    0,    0,  480,  480,    0,  480,  480, 
           480,  480,  480,    0,    0,    0,    0,    0,    0,    0, 
           480,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,  480,  480,  480,  480,  480,  480,  480, 
           480,  480,  480,  480,  480,  480,    0,    0,  480,  480, 
           480,    0,    0,  480,    0,    0,  480,    0,    0,  480, 
             0,  480,    0,  480,  213,  480,    0,  480,  480,  480, 
           480,  480,  480,  480,  213,  480,    0,  480,  220,  220, 
           220,    0,    0,  220,  220,  220,    0,  220,    0,  480, 
             0,    0,    0,    0,    0,    0,    0,  220,  220,    0, 
             0,    0,    0,    0,    0,    0,  220,  220,  213,  220, 
           220,  220,  220,  220,    0,    0,    0,    0,    0,    0, 
             0,  220,  213,  213,    0,    0,    0,  213,    0,    0, 
             0,    0,    0,    0,  220,  220,  220,  220,  220,  220, 
           220,  220,  220,  220,    0,  220,  220,    0,    0,  220, 
           220,    0,    0,    0,  220,    0,    0,  220,    0,    0, 
           220,    0,  220,    0,  220,    0,  220,    0,  220,  220, 
           220,  220,  220,  220,  220,    0,  220,    0,  220,  215, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,  215, 
           220,    0,    0,  216,  216,  216,    0,    0,  216,  216, 
           216,    0,  216,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,  216,  216,    0,    0,    0,    0,    0,    0, 
             0,  216,  216,  215,  216,  216,  216,  216,  216,    0, 
             0,    0,    0,    0,    0,    0,  216,  215,  215,    0, 
             0,    0,  215,    0,    0,    0,    0,    0,    0,  216, 
           216,  216,  216,  216,  216,  216,  216,  216,  216,    0, 
           216,  216,    0,    0,  216,  216,    0,    0,    0,  216, 
             0,    0,  216,    0,    0,  216,    0,  216,    0,  216, 
           214,  216,    0,  216,  216,  216,  216,  216,  216,  216, 
           214,  216,    0,  216,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,  216,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,  214,    0,  213,  213,  213,    0, 
             0,  213,  213,  213,    0,  213,    0,    0,  214,  214, 
             0,    0,    0,  214,    0,  213,  213,    0,    0,    0, 
             0,    0,    0,    0,  213,  213,    0,  213,  213,  213, 
           213,  213,    0,    0,    0,    0,    0,    0,    0,  213, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,  213,  213,  213,  213,  213,  213,  213,  213, 
           213,  213,    0,  213,  213,    0,  217,  213,  213,    0, 
             0,    0,  213,    0,    0,  213,  217,    0,  213,    0, 
           213,    0,  213,    0,  213,    0,  213,  213,  213,  213, 
           213,  213,  213,    0,  213,    0,  213,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,  213,    0, 
           217,  215,  215,  215,    0,    0,  215,  215,  215,    0, 
           215,    0,    0,    0,  217,  217,    0,    0,    0,  217, 
           215,  215,    0,    0,    0,    0,    0,    0,    0,  215, 
           215,    0,  215,  215,  215,  215,  215,    0,    0,    0, 
             0,    0,    0,    0,  215,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,  215,  215,  215, 
           215,  215,  215,  215,  215,  215,  215,    0,  215,  215, 
             0,    0,  215,  215,    0,    0,    0,  215,    0,    0, 
           215,    0,    0,  215,    0,  215,    0,  215,  218,  215, 
             0,  215,  215,  215,  215,  215,  215,  215,  218,  215, 
             0,  215,  214,  214,  214,    0,    0,  214,  214,  214, 
             0,  214,    0,  215,    0,    0,    0,    0,    0,    0, 
             0,  214,  214,    0,    0,    0,    0,    0,    0,    0, 
           214,  214,  218,  214,  214,  214,  214,  214,    0,    0, 
             0,    0,    0,    0,    0,  214,  218,  218,    0,    0, 
             0,  218,    0,    0,    0,    0,    0,    0,  214,  214, 
           214,  214,  214,  214,  214,  214,  214,  214,    0,  214, 
           214,    0,    0,  214,  214,    0,    0,    0,  214,    0, 
             0,  214,    0,    0,  214,    0,  214,    0,  214,    0, 
           214,    0,  214,  214,  214,  214,  214,  214,  214,    0, 
           214,  211,  214,    0,    0,    0,    0,    0,    0,    0, 
             0,  211,    0,    0,  214,    0,    0,    0,  217,  217, 
           217,    0,    0,  217,  217,  217,    0,  217,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,  217,  217,    0, 
             0,    0,    0,    0,    0,  211,  217,  217,    0,  217, 
           217,  217,  217,  217,    0,    0,    0,    0,    0,  211, 
           211,  217,    0,    0,  211,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,  217,  217,  217,  217,  217,  217, 
           217,  217,  217,  217,    0,  217,  217,    0,    0,  217, 
           217,    0,    0,    0,  217,    0,    0,  217,    0,    0, 
           217,    0,  217,    0,  217,  212,  217,    0,  217,  217, 
           217,  217,  217,  217,  217,  212,  217,    0,  217,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
           217,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,  212, 
           218,  218,  218,    0,    0,  218,  218,  218,    0,  218, 
             0,    0,    0,  212,  212,    0,    0,    0,  212,  218, 
           218,    0,    0,    0,    0,    0,    0,    0,  218,  218, 
             0,  218,  218,  218,  218,  218,    0,    0,    0,    0, 
             0,    0,    0,  218,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,  218,  218,  218,  218, 
           218,  218,  218,  218,  218,  218,    0,  218,  218,    0, 
             0,  218,  218,    0,    0,    0,  218,  236,    0,  218, 
             0,    0,  218,    0,  218,    0,  218,  236,  218,    0, 
           218,  218,  218,  218,  218,  218,  218,    0,  218,    0, 
           218,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,  218,  211,  211,  211,    0,    0,  211,  211, 
           211,  236,  211,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,  211,  211,    0,  236,  236,    0,    0,    0, 
           236,  211,  211,    0,  211,  211,  211,  211,  211,    0, 
             0,    0,    0,    0,    0,    0,  211,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,  211, 
           211,  211,  211,  211,  211,  211,  211,  211,  211,    0, 
           211,  211,    0,    0,  211,  211,    0,    0,    0,  211, 
             0,    0,  211,    0,    0,  211,    0,  211,    0,    0, 
           237,  211,    0,    0,    0,  211,  211,  211,  211,  211, 
           237,  211,    0,  211,    0,    0,    0,  212,  212,  212, 
             0,    0,  212,  212,  212,  211,  212,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,  212,  212,    0,    0, 
             0,    0,    0,    0,  237,  212,  212,    0,  212,  212, 
           212,  212,  212,    0,    0,    0,    0,    0,  237,  237, 
           212,    0,    0,  237,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,  212,  212,  212,  212,  212,  212,  212, 
           212,  212,  212,    0,  212,  212,    0,    0,  212,  212, 
             0,    0,    0,  212,    0,    0,  212,    0,    0,  212, 
             0,  212,    0,    0,    0,  212,    0,    0,    0,  212, 
           212,  212,  212,  212,    0,  212,    0,  212,  223,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,  223,  212, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,  236, 
           236,  236,    0,    0,  236,  236,  236,    0,  236,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,  236,  236, 
             0,    0,  223,    0,    0,    0,    0,  236,  236,    0, 
           236,  236,  236,  236,  236,    0,  223,  223,    0,    0, 
             0,  223,  236,    0,    0,    0,    0,    0,    0,    0, 
            0,    0,    0,    0,    0,  236,  236,  236,  236,  236, 
          236,  236,  236,  236,  236,    0,  236,  236,    0,    0, 
          236,  236,    0,    0,    0,  236,    0,    0,  236,    0, 
            0,  236,    0,  236,    0,    0,  221,  236,    0,    0, 
            0,    0,    0,  236,  236,  236,  221,  236,    0,  236, 
            0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
            0,  236,    0,    0,    0,    0,    0,    0,    0,    0, 
            0,    0,  237,  237,  237,    0,    0,  237,  237,  237, 
          221,  237,    0,    0,    0,    0,    0,    0,    0,    0, 
            0,  237,  237,    0,  221,  221,    0,    0,    0,  221, 
          237,  237,    0,  237,  237,  237,  237,  237,    0,    0, 
            0,    0,    0,    0,    0,  237,    0,    0,    0,    0, 
            0,    0,    0,    0,    0,    0,    0,    0,  237,  237, 
          237,  237,  237,  237,  237,  237,  237,  237,    0,  237, 
          237,    0,    0,  237,  237,  222,    0,    0,  237,    0, 
            0,  237,    0,    0,  237,  222,  237,    0,    0,    0, 
          237,    0,    0,    0,    0,    0,  237,  237,  237,    0, 
          237,    0,  237,    0,    0,    0,    0,    0,    0,    0, 
            0,    0,    0,    0,  237,    0,    0,    0,    0,  222, 
          223,  223,  223,    0,    0,  223,  223,  223,    0,  223, 
            0,    0,    0,  222,  222,    0,    0,    0,  222,  223, 
          223,    0,    0,    0,    0,    0,    0,    0,  223,  223, 
            0,  223,  223,  223,  223,  223,    0,    0,    0,    0, 
            0,    0,    0,  223,    0,    0,    0,    0,    0,    0, 
            0,    0,    0,    0,    0,    0,  223,  223,  223,  223, 
          223,  223,  223,  223,  223,  223,    0,  223,  223,    0, 
            0,    0,    0,    0,    0,  226,  223,    0,    0,  223, 
            0,    0,  223,    0,  223,  226,    0,    0,  223,    0, 
            0,    0,    0,    0,  223,  223,  223,    0,  223,    0, 
          223,    0,    0,    0,    0,    0,    0,    0,  221,  221, 
          221,    0,  223,  221,  221,  221,    0,  221,    0,  226, 
            0,    0,    0,    0,    0,    0,    0,  221,  221,    0, 
            0,    0,    0,  226,  226,    0,  221,  221,  226,  221, 
          221,  221,  221,  221,    0,    0,    0,    0,    0,    0, 
            0,  221,    0,    0,    0,    0,    0,    0,    0,    0, 
            0,    0,    0,    0,  221,  221,  221,  221,  221,  221, 
          221,  221,  221,  221,    0,  221,  221,    0,    0,    0, 
            0,    0,    0,    0,  221,    0,    0, 
      };
   }
   private static final short[] yyTable3() {
      return new short[] {
          221,    0,    0,  221,    0,  221,    0,    0,  228,    0, 
            0,    0,    0,    0,    0,  221,  221,  221,  228,  221, 
            0,  221,    0,    0,    0,    0,    0,    0,    0,    0, 
          222,  222,  222,  221,    0,  222,  222,  222,    0,  222, 
            0,    0,    0,    0,    0,    0,    0,    0,    0,  222, 
          222,    0,  228,    0,    0,    0,    0,    0,  222,  222, 
            0,  222,  222,  222,  222,  222,  228,  228,    0,    0, 
            0,  228,    0,  222,    0,    0,    0,    0,    0,    0, 
            0,    0,    0,    0,    0,    0,  222,  222,  222,  222, 
          222,  222,  222,  222,  222,  222,    0,  222,  222,    0, 
            0,    0,    0,    0,    0,  227,  222,    0,    0,  222, 
            0,    0,  222,    0,  222,  227,    0,    0,    0,    0, 
            0,    0,    0,    0,  222,  222,  222,    0,  222,    0, 
          222,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
            0,    0,  222,    0,    0,    0,    0,    0,    0,  227, 
          226,  226,  226,    0,    0,  226,  226,  226,    0,  226, 
            0,    0,    0,  227,  227,    0,    0,    0,  227,  226, 
          226,    0,    0,    0,    0,    0,    0,    0,  226,  226, 
            0,  226,  226,  226,  226,  226,    0,    0,    0,    0, 
            0,    0,    0,  226,    0,    0,    0,    0,    0,    0, 
            0,    0,    0,    0,    0,    0,  226,  226,  226,  226, 
          226,  226,  226,  226,  226,  226,    0,  226,  226,    0, 
            0,    0,    0,  225,    0,    0,  226,    0,    0,  226, 
            0,    0,  226,  225,  226,    0,    0,    0,    0,    0, 
            0,    0,    0,    0,  226,  226,    0,    0,    0,    0, 
          226,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
            0,    0,  226,    0,    0,    0,    0,  225,    0,    0, 
          228,  228,  228,    0,    0,  228,  228,  228,    0,  228, 
            0,  225,  225,    0,    0,    0,  225,    0,    0,  228, 
          228,    0,    0,    0,    0,    0,    0,    0,  228,  228, 
            0,  228,  228,  228,  228,  228,    0,    0,    0,    0, 
            0,    0,    0,  228,    0,    0,    0,    0,    0,    0, 
            0,    0,    0,    0,    0,    0,  228,  228,  228,  228, 
          228,  228,  228,  228,  228,  228,    0,  228,  228,    0, 
            0,    0,    0,    0,    0,  230,  228,    0,    0,  228, 
            0,    0,  228,    0,  228,  230,    0,    0,    0,    0, 
            0,    0,    0,    0,  228,  228,    0,  227,  227,  227, 
          228,    0,  227,  227,  227,    0,  227,    0,    0,    0, 
            0,    0,  228,    0,    0,    0,  227,  227,    0,  230, 
            0,    0,    0,    0,    0,  227,  227,    0,  227,  227, 
          227,  227,  227,  230,  230,    0,    0,    0,  230,    0, 
          227,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
            0,    0,    0,  227,  227,  227,  227,  227,  227,  227, 
          227,  227,  227,    0,  227,  227,    0,    0,    0,    0, 
            0,    0,    0,  227,    0,    0,  227,    0,    0,  227, 
            0,  227,    0,    0,    0,    0,    0,    0,    0,    0, 
            0,  227,  227,  231,    0,    0,    0,  227,    0,    0, 
            0,    0,    0,  231,    0,    0,    0,    0,    0,  227, 
            0,    0,    0,    0,    0,  225,  225,  225,    0,    0, 
          225,  225,  225,    0,  225,    0,    0,    0,    0,    0, 
            0,    0,    0,    0,  225,  225,    0,  231,    0,    0, 
            0,    0,    0,  225,  225,    0,  225,  225,  225,  225, 
          225,  231,  231,    0,    0,    0,  231,    0,  225,    0, 
            0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
            0,  225,  225,  225,  225,  225,  225,  225,  225,  225, 
          225,    0,  225,  225,    0,    0,    0,    0,    0,    0, 
          238,  225,    0,    0,  225,    0,    0,  225,    0,  225, 
          238,    0,    0,    0,    0,    0,    0,    0,    0,  225, 
          225,    0,    0,    0,    0,  225,    0,    0,    0,    0, 
            0,    0,    0,    0,    0,    0,    0,  225,    0,    0, 
            0,    0,    0,    0,  238,    0,    0,  230,  230,  230, 
            0,    0,  230,  230,  230,    0,  230,    0,  238,  238, 
            0,    0,    0,  238,    0,    0,  230,  230,    0,    0, 
            0,    0,    0,    0,    0,  230,  230,    0,  230,  230, 
          230,  230,  230,    0,    0,    0,  232,    0,    0,    0, 
          230,    0,    0,    0,    0,    0,  232,    0,    0,    0, 
            0,    0,    0,    0,    0,    0,    0,    0,    0,  230, 
          230,    0,    0,    0,  230,  230,    0,    0,    0,    0, 
            0,    0,    0,  230,    0,    0,  230,    0,    0,  230, 
          232,  230,    0,    0,    0,    0,    0,    0,    0,    0, 
            0,    0,    0,    0,  232,  232,    0,  230,    0,  232, 
            0,    0,    0,    0,    0,    0,    0,    0,    0,  230, 
            0,    0,    0,    0,    0,  231,  231,  231,    0,    0, 
          231,  231,  231,    0,  231,    0,  233,    0,    0,    0, 
            0,    0,    0,    0,  231,  231,  233,    0,    0,    0, 
            0,    0,    0,  231,  231,    0,  231,  231,  231,  231, 
          231,    0,    0,    0,    0,    0,    0,    0,  231,    0, 
            0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
          233,    0,    0,    0,    0,    0,    0,  231,  231,    0, 
            0,    0,  231,  231,  233,  233,    0,    0,    0,  233, 
            0,  231,    0,    0,  231,    0,    0,  231,    0,  231, 
            0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
            0,    0,  238,  238,  238,  231,    0,  238,  238,  238, 
            0,  238,    0,  239,    0,    0,    0,  231,    0,    0, 
            0,  238,  238,  239,    0,    0,    0,    0,    0,    0, 
          238,  238,    0,  238,  238,  238,  238,  238,    0,    0, 
            0,    0,    0,    0,    0,  238,    0,    0,    0,    0, 
            0,    0,    0,    0,    0,    0,    0,  239,    0,    0, 
            0,    0,    0,    0,  238,  238,    0,    0,    0,  238, 
          238,  239,  239,    0,    0,    0,  239,    0,  238,    0, 
            0,  238,    0,    0,  238,    0,  238,    0,  232,  232, 
          232,    0,    0,  232,  232,  232,    0,  232,    0,  209, 
            0,    0,  238,    0,    0,    0,    0,  232,  232,  209, 
            0,    0,    0,    0,  238,    0,  232,  232,    0,  232, 
          232,  232,  232,  232,    0,    0,    0,    0,    0,    0, 
            0,  232,    0,    0,    0,    0,    0,  198,    0,    0, 
            0,    0,    0,  209,    0,    0,    0,  198,    0,    0, 
          232,  232,    0,    0,    0,  232,  232,  209,  209,    0, 
            0,    0,  209,    0,  232,    0,    0,  232,    0,    0, 
          232,    0,  232,    0,    0,    0,    0,    0,  233,  233, 
          233,  243,    0,  233,  233,  233,    0,  233,  232,  210, 
            0,    0,    0,    0,    0,    0,  198,  233,  233,  210, 
          232,    0,    0,    0,    0,    0,  233,  233,    0,  233, 
          233,  233,  233,  233,    0,    0,    0,    0,    0,    0, 
            0,  233,    0,    0,    0,    0,    0,    0,    0,  208, 
            0,    0,    0,  210,    0,    0,    0,    0,    0,  208, 
          233,  233,    0,    0,    0,  233,  233,  210,  210,    0, 
            0,    0,  210,    0,  233,    0,    0,  233,    0,    0, 
          233,    0,  233,    0,    0,    0,    0,    0,    0,    0, 
            0,    0,    0,  208,    0,  239,  239,  239,  233,    0, 
          239,  239,  239,    0,  239,    0,    0,  208,  208,    0, 
          233,    0,    0,    0,  239,  239,    0,    0,    0,    0, 
            0,    0,    0,  239,  239,    0,  239,  239,  239,  239, 
          239,    0,    0,    0,  207,    0,    0,    0,  239,    0, 
            0,    0,    0,    0,  207,    0,    0,    0,    0,    0, 
            0,    0,    0,    0,    0,    0,    0,    0,  239,    0, 
            0,    0,  239,  239,    0,    0,    0,    0,    0,    0, 
            0,  239,    0,    0,  239,    0,    0,  239,  207,  239, 
            0,  209,  209,  209,    0,    0,  209,  209,  209,    0, 
          209,    0,  207,  207,    0,  239,    0,    0,    0,    0, 
          209,  209,    0,    0,    0,    0,    0,  239,    0,  209, 
          209,    0,  209,  209,  209,  209,  209,    0,    0,  198, 
          198,  198,    0,    0,  209,  198,  198,    0,  198,    0, 
          203,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
          203,    0,    0,    0,    0,    0,    0,  198,  198,    0, 
          198,  198,  198,  198,    0,    0,    0,  209,    0,    0, 
          209,    0,    0,  209,    0,  209,    0,    0,    0,    0, 
            0,  210,  210,  210,  203,    0,  210,  210,  210,    0, 
          210,  209,    0,    0,    0,    0,    0,    0,  203,  203, 
          210,  210,    0,  209,    0,    0,    0,    0,  198,  210, 
          210,    0,  210,  210,  210,  210,  210,    0,    0,    0, 
            0,  208,  208,  208,  210,  204,  208,  208,  208,  198, 
          208,    0,    0,    0,    0,  204,    0,    0,    0,    0, 
          208,  208,    0,    0,    0,    0,    0,    0,    0,  208, 
          208,    0,  208,  208,  208,  208,  208,  210,    0,    0,