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