Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
   package org.jruby.parser;
   
   public class Ruby19YyTables {
      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[] {
  
            200,  200,  273,   91,  276,  199,  572,  256,  256,  275, 
            375,  256,  631,  417,  270,  649,  518,  269,  619,  501, 
            213,  200,  215,  437,  306,  101,  260,  260,  118,  118, 
            260,  542,  606,  580,  543,  637,  607,  514,  118,  240, 
            213,  472,  215,  555,  473,  272,  200,  736,  291,  295, 
            649,  312,  628,  501,  544,  302,  797,  326,  293,  296, 
            325,  234,  237,  448,  648,  795,  642,  648,  501,  758, 
            705,  562,  568,  118,  575,  576,  236,  495,  379,  386, 
            465,    8,  544,  765,  380,  520,  507,   71,  357,  378, 
            518,    8,   78,   78,  501,  488,  556,  601,  286,  493, 
            865,  323,  269,  555,  259,  259,  708,   84,  259,  236, 
            272,  325,  774,  469,   72,  555,  118,  562,  568,  671, 
            507,  520,  463,  858,   70,  235,  495,  240,  501,  924, 
            236,  601,  555,  250,  520,  507,  292,  357,   69,  550, 
              8,  700,  555,  501,  252,  390,  787,  468,   84,  265, 
            675,  555,  555,  515,  693,  495,  372,  550,  235,  469, 
            272,  805,  537,  855,  601,   70,  555,  286,  282,  283, 
            520,  323,  236,  251,  701,  313,  226,  226,  226,  235, 
            268,  280,  324,  495,  601,  236,  495,  515,  350,  343, 
             81,  555,  372,  471,  910,  348,  537,  924,  518,  351, 
            555,  406,  515,  346,  495,  450,  761,  349,  437,  372, 
            587,  537,  405,  289,  344,  555,  347,  476,  345,  686, 
            865,  235,  555,  694,  313,  372,  368,  418,  797,  795, 
            650,  268,  649,  369,  235,  495,  907,  592,  654,  655, 
            272,   81,  735,  537,  858,  759,  337,   73,  795,   79, 
            240,  544,  324,  741,  809,  663,   77,  256,  664,  256, 
            256,  878,  496,  614,  816,  240,  278,  497,   74,  443, 
            821,  555,  451,  452,   82,  676,  260,  352,  260,  383, 
            432,  354,  355,  648,  648,  432,  317,  544,  936,  319, 
            397,  384,  422,  423,  284,  385,   75,  398,   73,  555, 
             79,   80,   53,  518,  544,  370,   78,   77,  618,  401, 
            419,  287,   76,  367,  544,  371,  101,  958,  363,   74, 
            544,  372,  387,  118,  739,   82,  376,   83,   83,  119, 
            119,  457,  400,   83,  228,  228,  228,  271,  286,  244, 
            228,  228,   70,  577,  228,  581,  404,   75,  555,  591, 
            594,  377,   80,  544,  259,  407,  259,   78,  605,  256, 
            570,  564,  682,   76,  544,  101,  408,  501,  443,  402, 
             83,  228,  495,  955,  300,  271,  228,  555,  851,  729, 
            589,  525,  526,  527,  528,  256,  570,  564,  580,  501, 
            335,  336,  414,  542,  443,  804,  543,  533,  118,  476, 
            738,  596,  415,  617,  620,  256,  570,  564,  226,  226, 
            768,  762,  421,  772,  443,  598,  520,  300,   71,  256, 
            570,  564,  388,  555,  529,  501,  286,  556,  443,  408, 
            556,  649,  537,  520,  507,  656,  357,  228,  447,   83, 
            449,  495,  902,    8,  647,   72,  555,  200,  515,  770, 
            636,  636,  520,  570,  564,  555,  634,   91,  501,   81, 
             92,  586,  622,  900,  250,  586,  213,  250,  215,   78, 
            630,  892,  256,  570,  564,  252,  555,  786,  252,  665, 
            537,  443,  555,  648,  515,  520,  495,  537,  482,  483, 
            692,  586,  533,  407,   92,  485,  621,  226,  226,  226, 
            226,  515,  530,  531,  251,  118,  476,  251,  632,   91, 
            537,   92,  280,  537,  495,  419,   73,  515,   79,  350, 
            343,   81,  704,  704,  841,   77,  348,  263,  518,  416, 
            351,  832,  768,  707,  346,  927,  932,   74,  349,  682, 
            784,  533,  407,   82,   83,  344,   78,  347,  720,  345, 
            365,  287,  555,  555,  432,  712,  397,  366,  711,  704, 
            544,  718,  608,  714,  717,   75,  228,  228,  721,  723, 
             80,  711,  711,  101,  854,   78,  714,  714,   73,  294, 
             79,   76,  720,  393,  773,  424,  533,   77,  335,  336, 
            228,  428,  228,  228,  413,  743,  228,  711,  228,   74, 
            717,  601,  714,   83,  720,   82,  200,  200,  456,  427, 
             83,  742,  118,  433,  413,  436,  783,  746,  720,  555, 
            750,  657,  899,  620,  300,  733,  213,   75,  215,  544, 
            337,  620,   80,  460,  533,  461,  672,   78,  740,  287, 
            462,  533,  682,   76,  682,  467,  533,  720,  480,  476, 
            734,  381,  382,  475,  106,  228,  228,  228,  228,   83, 
            228,  228,  692,  769,  464,  257,  263,  533,  555,  264, 
            474,  747,  100,  555,  482,  483,  481,  692,  523,  897, 
            590,  485,  812,  814,  490,  406,  406,  555,  817,  819, 
            118,  406,  228,  393,  766,  228,  491,  228,   83,  300, 
            581,  228,  228,  106,   83,  751,  618,  704,  776,  777, 
            495,  778,  454,  263,  618,  682,  909,  633,  228,   83, 
           228,  100,  555,  263,  555,  623,  775,  555,  555,   92, 
           533,   83,  315,  316,   83,  277,  555,  651,  228,  722, 
           724,  652,   83,  730,  100,  397,  791,  792,  653,  659, 
           407,  666,  228,  397,  677,  118,  807,  263,  808,  678, 
           687,  811,  830,  688,  689,  682,  226,  682,  118,  696, 
           698,  709,  263,  555,  728,   59,   60,  692,  533,  228, 
           710,   83,  429,  430,  431,  533,   97,  731,  715,   95, 
           533,   92,  716,  397,  636,  889,  682,  482,  483,  484, 
           397,  842,  843,  737,  485,  228,  300,  727,  744,  748, 
           226,  533,   92,  754,   94,  848,  849,  850,  755,  756, 
           391,  407,  757,   95,   98,   99,  397,  392,   64,   64, 
           760,  411,  785,  277,   64,   64,   64,   64,  412,  911, 
            95,   64,   64,  790,  810,   64,  425,  822,   94,  620, 
           771,  458,  823,  426,   87,   87,  120,  120,  459,  533, 
            87,  831,  886,   14,  833,   94,  245,  844,  846,  845, 
           283,   64,   64,   98,   99,  852,  555,   64,  679,  853, 
           499,  500,  501,  502,  859,  478,  827,  856,  860,  256, 
           570,  564,  479,  866,  898,  534,  867,   87,  443,  118, 
           868,  301,  870,  584,  872,  469,  470,  593,  720,  875, 
           876,  106,   14,  300,  879,  438,  895,  441,  226,  881, 
           883,   16,  884,  896,  228,   83,  894,  555,  888,  100, 
           391,  903,  555,  615,  555,  620,   83,  945,   64,  570, 
            64,  555,  397,   83,  301,  555,  555,  555,  885,  904, 
           584,  906,  934,   96,   96,  121,  121,  121,  935,   96, 
           925,  937,  940,  644,  646,  249,   87,  294,  228,  919, 
            16,  944,  277,   89,  926,  263,  263,  263,  555,  277, 
           263,  263,  263,  555,  263,  482,  483,  487,  555,  947, 
           397,  300,  485,  949,  263,  263,   96,  397,   83,  646, 
           303,  951,  294,  263,  263,  954,  263,  263,  263,  263, 
           263,  103,  330,  331,  332,  333,  334,  104,   83,   83, 
           469,  106,  957,  397,  968,  542,   49,  555,   83,  544, 
            83,  555,  543,   83,  228,  228,   49,  555,  548,  550, 
           228,  228,  544,  303,  548,   64,  544,  101,  533,  544, 
           328,   15,  228,  555,  263,  123,  300,  263,   95,  263, 
           103,  956,  202,  893,  794,   96,  104,   64,   64,  836, 
           277,   87,  329,   83,  921,  263,  228,  277,  247,   90, 
           933,   98,   99,   94,  534,   49,  782,   83,   83,   83, 
           658,   64,  534,   64,   64,    0,  533,   64,  283,   64, 
            15,  938,    0,  533,   64,   95,  283,  283,  533,    0, 
           725,   64,    0,    0,  283,   14,   14,   14,    0,  534, 
            95,   14,   14,  102,   14,    0,  470,    0,    0,  533, 
            87,    0,  534,    0,   83,    0,    0,   87,    0,  534, 
           283,    0,  469,  470,  534,   94,    0,  228,    0,  469, 
           470,  301,  283,    0,   83,  283,   64,   64,   64,   64, 
            64,   64,   64,    0,    0,  534,   83,   96,    0,    0, 
            96,    0,  102,   16,   16,   16,  767,    0,    0,   16, 
            16,    0,   16,  646,  294,    0,   87,  283,    0,    0, 
           482,  483,  489,   64,   14,  908,   64,  485,   64,   64, 
           917,    0,   64,   64,  537,   64,    0,    0,   98,  781, 
           482,  483,  492,   51,  284,   14,    0,  485,   83,   64, 
            64,   64,  228,   51,   83,   87,  301,    0,    0,   96, 
            83,   87,   64,    0,  105,   64,   96,    0,    0,   64, 
           555,  555,  555,   64,    0,   97,   87,  555,    0,    0, 
           303,    0,   16,   64,    0,    0,    0,  469,   87,  826, 
           793,   87,  796,    0,  469,  800,    0,    0,  103,   87, 
             0,    0,   51,   16,  104,    0,    0,    0,    0,   97, 
            64,  534,   64,  105,    0,   96,    0,    0,   49,   49, 
            49,    0,  847,   49,   49,   49,   97,   49,    0,    0, 
             0,    0,    0,   15,   15,   15,   64,   49,   87,   15, 
            15,    0,   15,  337,   99,  284,   49,   49,   89,   49, 
            49,   49,   49,   49,   96,  303,  277,    0,    0,  534, 
            96,    0,    0,  301,    0,  283,  534,    0,    0,   93, 
           104,  534,  283,    0,  352,   96,    0,  534,  354,  355, 
           356,  357,   89,    0,    0,    0,  891,   96,   90,    0, 
            96,   91,  534,  470,  436,  436,  436,   49,   96,   89, 
           470,  436,    0,   93,    0,   97,   97,  122,  122,  122, 
           102,   97,   15,  294,  426,  426,  426,  250,   49,  283, 
            93,  426,   90,  537,    0,   91,  283,    0,    0,  469, 
             0,  534,  105,   15,   90,   90,    0,   96,    0,   90, 
            90,    0,   91,    0,    0,    0,  246,    0,   97,    0, 
           537,    0,  304,    0,  283,   64,   64,    0,    0,    0, 
             0,  283,  303,    0,  913,    0,  534,   64,   94,  470, 
           301,  537,  397,  920,   64,  922,    0,   90,  537,    0, 
             0,  284,   87,  533,  283,    0,    0,  679,  284,  499, 
           500,  501,  502,   87,    0,  304,    0,    0,    0,   64, 
            87,    0,    0,    0,  537,   51,   51,   51,    0,    0, 
            51,   51,   51,    0,   51,  534,    0,   97,    0,    0, 
             0,  105,    0,  862,   51,  499,  500,  501,  502,   64, 
             0,    0,    0,   51,   51,    0,   51,   51,   51,   51, 
            51,  697,  699,  963,   97,    0,   90,    0,  301,   64, 
            64,    0,  183,    0,    0,   87,  780,    0,    0,   64, 
             0,   64,    0,    0,   64,   64,   64,    0,    0,  303, 
             0,   64,   64,    0,    0,   87,   87,    0,    0,    0, 
             0,   96,  284,   64,   51,   87,    0,   87,    0,  284, 
            87,    0,   96,  277,    0,    0,    0,    0,    0,   96, 
           277,  183,    0,    0,   64,   51,   97,   64,    0,    0, 
             0,    0,    0,  301,    0,    0,    0,   89,   64,   64, 
            64,    0,   97,    0,    0,    0,  837,   95,   95,    0, 
            87,  556,    0,   95,    0,    0,    0,    0,   93,  537, 
             0,  556,    0,    0,   87,   87,   87,  303,    0,    0, 
             0,   90,    0,    0,   96,    0,    0,   90,    0,    0, 
            91,  397,  542,  542,  542,   64,  469,    0,  542,  542, 
            95,  542,    0,  469,   96,   96,    0,    0,   64,   89, 
             0,   97,    0,   93,   96,   64,   96,  537,   97,   96, 
           556,   87,    0,    0,  537,    0,    0,   64,    0,  533, 
            93,    0,  304,  103,  534,    0,  470,    0,    0,  397, 
            90,   87,  303,  470,    0,    0,  397,   90,    0,   90, 
           537,    0,   91,   87,  272,  839,    0,    0,    0,   96, 
           537,    0,    0,    0,    0,    0,    0,   97,    0,   95, 
             0,  542,  397,   96,   96,   96,    0,    0,    0,   64, 
             0,    0,  534,   64,    0,   64,    0,  120,    0,  534, 
             0,   64,  542,    0,  534,  679,   90,  499,  500,  501, 
           502,    0,    0,    0,    0,   87,   97,  304,    0,    0, 
             0,   87,   97,    0,    0,  534,    0,   87,    0,    0, 
            96,    0,    0,    0,    0,    0,    0,   97,  680,    0, 
             0,    0,    0,    0,  585,   90,  681,    0,    0,   97, 
            96,   90,   97,  861,    0,    0,    0,    0,  869,  871, 
            97,  873,   96,  874,   96,  877,   90,  880,  882,    0, 
           543,  543,  543,    0,    0,    0,  543,  543,   90,  543, 
             0,   90,    0,    0,   95,    0,    0,    0,  183,   90, 
           183,  183,  183,  183,    0,    0,  121,    0,   96,   97, 
             0,    0,    0,    0,  679,    0,  499,  500,  501,  502, 
           463,    0,    0,    0,   96,   96,    0,  463,    0,    0, 
            96,  183,  183,    0,  304,    0,   96,    0,   90,  183, 
           183,  183,  183,  556,  556,  556,    0,  503,  556,  556, 
           556,    0,  556,   95,    0,  284,   50,  507,  508,  543, 
            95,    0,  556,  556,    0,    0,   50,    0,  102,  537, 
             0,  556,  556,    0,  556,  556,  556,  556,  556,  679, 
           543,  499,  500,  501,  502,    0,    0,  939,  941,  942, 
           943,    0,    0,  946,    0,  948,  950,  952,  953,  679, 
             0,  499,  500,  501,  502,    0,    0,    0,    0,   95, 
             0,    0,  680,    0,    0,   50,    0,  537,    0,    0, 
           857,  788,  556,    0,  537,  556,    0,  556,    0,  533, 
           798,    0,  680,  802,  966,    0,    0,  967,  969,  970, 
           971,  304,    0,  556,    0,  265,    0,  973,   95,    0, 
           537,    0,    0,   97,   95,  265,    0,    0,    0,    0, 
           337,    0,    0,    0,   97,    0,    0,    0,    0,   95, 
           799,   97,  499,  500,  501,  502,  350,  351,    0,    0, 
             0,   95,   90,    0,   95,    0,    0,    0,    0,  265, 
             0,  352,   95,   90,    0,  354,  355,  356,  357,    0, 
            90,  337,    0,  503,  265,    0,  342,  343,    0,    0, 
             0,  505,  506,  507,  508,    0,    0,  350,  351,  304, 
             0,    0,    0,    0,    0,    0,   97,    0,    0,    0, 
             0,   95,  352,  337,  353,  208,  354,  355,  356,  357, 
           358,  359,  360,   96,  361,  208,   97,   97,    0,  350, 
           351,    0,    0,    0,    0,   90,   97,    0,   97,    0, 
             0,   97,    0,    0,  352,    0,  353,    0,  354,  355, 
           356,  357,    0,    0,    0,   90,   90,    0,    0,  208, 
             0,    0,    0,    0,  304,   90,    0,   90,    0,    0, 
            90,    0,  284,  208,  208,    0,    0,  840,  208,  284, 
           912,   97,  914,    0,  915,   96,    0,    0,  918,  585, 
             0,    0,    0,  923,    0,   97,   97,   97,   50,   50, 
            50,    0,    0,   50,   50,   50,  838,   50,    0,    0, 
            90,    0,    0,    0,    0,    0,    0,   50,    0,    0, 
             0,    0,    0,    0,   90,   90,   90,    0,    0,   50, 
            50,   50,   50,   50,    0,    0,    0,    0,    0,    0, 
             0,    0,   97,    0,    0,    0,    0,    0,    0,  255, 
           255,    0,  959,  255,    0,   95,    0,    0,    0,  962, 
             0,  964,   97,  965,    0,    0,   95,    0,   58,    0, 
             0,   90,    0,   95,   97,  279,  281,   50,   58,    0, 
           972,  255,  255,    0,  305,  307,    0,  265,  265,  265, 
             0,   90,  265,  265,  265,    0,  265,    0,   50,    0, 
             0,    0,    0,   90,    0,    0,  265,  265,  122,  498, 
             0,  499,  500,  501,  502,  265,  265,    0,  265,  265, 
           265,  265,  265,    0,    0,    0,   97,   58,   95,    0, 
             0,    0,   97,    0,    0,    0,    0,    0,   97,    0, 
             0,    0,  503,  504,    0,    0,    0,    0,   95,   95, 
           505,  506,  507,  508,    0,   90,    0,    0,   95,    0, 
            95,   90,    0,   95,    0,    0,  265,   90,    0,  265, 
             0,  265,    0,    0,    0,    0,    0,  208,  208,  208, 
             0,    0,  208,  208,  208,    0,  208,  265,  498,    0, 
           499,  500,  501,  502,    0,    0,  208,  208,    0,    0, 
             0,    0,    0,   95,    0,  208,  208,    0,  208,  208, 
           208,  208,  208,    0,    0,    0,    0,   95,   95,   95, 
           208,  503,  609,    0,    0,    0,    0,    0,    0,  505, 
           506,  507,  508,  208,  208,  208,  208,  208,  208,  208, 
           208,  208,  208,    0,  208,  208,    0,    0,  208,  208, 
             0,    0,    0,  208,    0,    0,  208,    0,  555,  208, 
             0,  208,    0,    0,   95,  208,    0,    0,  555,  208, 
           208,  208,  208,  208,    0,  208,    0,  208,  498,    0, 
           499,  500,  501,  502,   95,  255,  255,  255,  307,  208, 
             0,    0,    0,    0,    0,    0,   95,    0,    0,  255, 
             0,  255,  255,    0,    0,    0,    0,    0,    0,    0, 
           455,  503,    0,    0,    0,    0,    0,  555,    0,  505, 
           506,  507,  508,    0,    0,    0,    0,    0,    0,    0, 
            58,   58,   58,    0,    0,   58,   58,   58,    0,   58, 
             0,    0,    0,    0,    0,    0,    0,    0,   95,   58, 
            58,    0,    0,    0,   95,    0,    0,    0,   58,   58, 
            95,   58,   58,   58,   58,   58,    0,    0,    0,    0, 
             0,  532,  533,  534,  535,  536,  537,  538,  539,  540, 
           541,  542,  543,  544,  545,  546,  547,  548,  549,  550, 
           551,  552,  553,  554,  555,  556,  557,    0,    0,    0, 
             0,  255,    0,    0,  578,    0,  582,    0,    0,   58, 
           255,  595,   58,  799,  269,  499,  500,  501,  502,    0, 
             0,    0,    0,    0,  269,    0,    0,  255,    0,    0, 
            58,    0,    0,    0,  206,    0,  255,    0,    0,    0, 
             0,    0,    0,    0,  206,    0,  503,  255,  578,  629, 
           595,    0,    0,  255,  505,  506,  507,  508,  264,    0, 
             0,  255,    0,    0,    0,    0,  255,  255,    0,    0, 
           255,    0,    0,  269,    0,    0,    0,    0,  206,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,  206,  206,  660,  661,  662,  206,    0,    0, 
             0,    0,  255,    0,    0,  255,    0,    0,    0,    0, 
             0,    0,    0,    0,  255,  258,  258,  258,    0,  258, 
           555,  555,  555,  258,  258,  555,  555,  555,  258,  555, 
           258,  258,  258,  258,  258,  258,  258,    0,    0,  555, 
             0,  258,  258,  258,  258,  258,  258,  258,  555,  555, 
           258,  555,  555,  555,  555,  555,    0,  258,    0,    0, 
           258,  258,  258,    0,  258,  258,  258,  258,  258,  258, 
           258,  258,  258,  258,  258,    0,  362,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,  555,    0,    0,    0, 
             0,    0,    0,  555,  258,    0,    0,  258,    0,  555, 
           258,  258,    0,  258,    0,  258,    0,  258,    0,  258, 
             0,    0,  337,  255,    0,    0,    0,  258,    0,    0, 
           555,    0,  258,  258,  258,  258,  258,  258,  350,  351, 
           457,  258,    0,  258,  258,    0,  258,  258,    0,    0, 
           457,    0,    0,  352,    0,  353,    0,  354,  355,  356, 
           357,    0,    0,  360,    0,  361,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,  457,    0,  269,  269,  269,  255, 
             0,  269,  269,  269,    0,  269,  255,  255,  457,  457, 
             0,  457,    0,  457,    0,    0,  206,  206,  206,    0, 
             0,  206,  206,  206,    0,  206,    0,  269,  269,  269, 
           269,  269,  255,    0,    0,  206,  206,    0,    0,    0, 
             0,  457,    0,    0,  206,  206,    0,  206,  206,  206, 
           206,  206,    0,    0,    0,    0,    0,    0,    0,  206, 
             0,    0,    0,  813,  815,    0,    0,    0,    0,  818, 
           820,    0,  269,    0,  460,  269,    0,    0,    0,    0, 
           824,  629,  255,    0,  460,    0,  828,    0,    0,    0, 
             0,    0,  206,    0,    0,  206,  269,    0,  206,    0, 
           206,    0,    0,    0,    0,    0,    0,    0,  813,  815, 
           818,  820,    0,    0,    0,  255,  206,    0,  460,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,  206,    0, 
           726,    0,  460,  460,    0,  460,    0,  460,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,  272, 
           337,  338,  339,  340,  341,  342,  343,  344,  345,  346, 
           347,    0,  348,  349,  887,  460,  350,  351,    0,    0, 
             0,    0,    0,    0,    0,    0,  890,    0,    0,  255, 
             0,  352,    0,  353,    0,  354,  355,  356,  357,  358, 
           359,  360,    0,  361,    0,    0,    0,    0,    0,  890, 
             0,    0,  362,    0,    0,    0,  255,  530,  530,  530, 
             0,  530,  457,  457,  457,  530,  530,  457,  457,  457, 
           530,  457,  530,  530,  530,  530,  530,  530,  530,  457, 
           530,  457,  457,  530,  530,  530,  530,  530,  530,  530, 
           457,  457,  530,  457,  457,  457,  457,  457,    0,  530, 
             0,  255,  530,  530,  530,  457,  530,  530,  530,  530, 
           530,  530,  530,  530,  530,  530,  530,  457,  457,  457, 
           457,  457,  457,  457,  457,  457,  457,  457,  457,  457, 
           457,    0,    0,  457,  457,  457,  530,  457,  457,  530, 
           530,  457,  530,  530,  457,  530,  457,  530,  457,  530, 
           457,  530,  457,  457,  457,  457,  457,  457,  457,  530, 
           457,  530,  457,    0,  530,  530,  530,  530,  530,  530, 
             0,    0,    0,  530,  457,  530,  530,  362,  530,  530, 
             0,  531,  531,  531,    0,  531,  460,  460,  460,  531, 
           531,  460,  460,  460,  531,  460,  531,  531,  531,  531, 
           531,  531,  531,  460,  531,  460,  460,  531,  531,  531, 
           531,  531,  531,  531,  460,  460,  531,  460,  460,  460, 
           460,  460,    0,  531,    0,    0,  531,  531,  531,  460, 
           531,  531,  531,  531,  531,  531,  531,  531,  531,  531, 
           531,  460,  460,  460,  460,  460,  460,  460,  460,  460, 
           460,  460,  460,  460,  460,    0,    0,  460,  460,  460, 
           531,  460,  460,  531,  531,  460,  531,  531,  460,  531, 
           460,  531,  460,  531,  460,  531,  460,  460,  460,  460, 
           460,  460,  460,  531,  460,  531,  460,    0,  531,  531, 
           531,  531,  531,  531,  533,    0,    0,  531,  460,  531, 
           531,    0,  531,  531,  533,    0,  337,  338,  339,  340, 
           341,  342,  343,  344,  345,  346,  347,    0,  348,  349, 
             0,    0,  350,  351,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,  352,  533,  353, 
             0,  354,  355,  356,  357,  358,  359,  360,    0,  361, 
           559,  560,  533,  533,  561,  101,    0,  533,  169,  170, 
             0,  171,  172,  173,  174,  175,  176,  177,    0,    0, 
           178,  179,    0,    0,    0,  180,  181,  182,  183,    0, 
             0,    0,    0,    0,  268,  533,    0,    0,    0,    0, 
             0,  185,  186,    0,  187,  188,  189,  190,  191,  192, 
           193,  194,  195,  196,  197,    0,    0,  198,    0,    0, 
             0,  732,    0,    0,    0,    0,    0,  534,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,  534,    0,    0, 
             0,  337,  338,  339,  340,  341,  342,  343,  344,  345, 
           346,  347,    0,  348,  349,    0,    0,  350,  351,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,  534,  352,    0,  353,    0,  354,  355,  356,  357, 
           358,  359,  360,    0,  361,  534,  534,    0,  103,    0, 
           534,    0,    0,    0,  565,  566,    0,    0,  567,    0, 
             0,    0,  169,  170,    0,  171,  172,  173,  174,  175, 
           176,  177,    0,    0,  178,  179,    0,    0,  534,  180, 
           181,  182,  183,    0,    0,    0,    0,    0,  268,    0, 
             0,    0,    0,    0,  176,  185,  186,    0,  187,  188, 
           189,  190,  191,  192,  193,  194,  195,  196,  197,    0, 
             0,  198,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,  533,  533,  533,    0,  533,  533,  533,  533,  533, 
           533,  533,  533,  533,  533,  533,  533,  533,  533,  533, 
           533,  533,  533,  176,  533,  533,  533,  533,  533,  533, 
           533,  533,  533,  533,  533,  533,  533,  533,  533,  533, 
           533,  533,    0,  533,    0,    0,  533,  533,  533,  533, 
           533,  533,  533,  533,  533,  533,  533,  533,  533,  533, 
           533,  533,  533,  533,  533,  533,  533,  533,  533,  533, 
           533,  533,  533,  533,  533,    0,    0,  533,  533,  533, 
           533,    0,  533,  533,  533,  533,  533,  533,  533,  533, 
           533,  533,  533,  533,  533,  533,  533,  533,  533,  533, 
           533,  533,  533,  533,  533,  533,  533,    0,  533,  533, 
           533,  533,  533,  533,    0,    0,  186,  533,  533,  533, 
           533,    0,  533,  533,  534,  534,  534,    0,  534,  534, 
           534,  534,  534,  534,  534,  534,  534,  534,  534,  534, 
           534,  534,  534,  534,  534,  534,    0,  534,  534,  534, 
           534,  534,  534,  534,  534,  534,  534,  534,  534,  534, 
           534,  534,  534,  534,  534,  186,  534,    0,    0,  534, 
           534,  534,  534,  534,  534,  534,  534,  534,  534,  534, 
           534,  534,  534,  534,  534,  534,  534,  534,  534,  534, 
           534,  534,  534,  534,  534,  534,  534,  534,    0,    0, 
           534,  534,  534,  534,    0,  534,  534,  534,  534,  534, 
           534,  534,  534,  534,  534,  534,  534,  534,  534,  534, 
           534,  534,  534,  534,  534,  534,  534,  534,  534,  534, 
             0,  534,  534,  534,  534,  534,  534,  537,    0,    0, 
           534,  534,  534,  534,    0,  534,  534,  537,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
           176,    0,  176,  176,  176,  176,    0,    0,    0,    0, 
             0,  537,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,  462,    0,    0,  537,  537,    0,  102,  462, 
           537,    0,    0,  176,  176,    0,    0,    0,    0,    0, 
             0,  176,  176,  176,  176,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,  537,    0, 
           573,  560,    0,    0,  574,    0,    0,    0,  169,  170, 
             0,  171,  172,  173,  174,  175,  176,  177,    0,    0, 
           178,  179,    0,    0,    0,  180,  181,  182,  183,    0, 
           278,    0,    0,    0,  268,    0,    0,    0,    0,    0, 
           278,  185,  186,    0,  187,  188,  189,  190,  191,  192, 
           193,  194,  195,  196,  197,    0,    0,  198,    0,  337, 
           338,  339,  340,  341,  342,  343,  344,  345,  346,  347, 
             0,    0,    0,    0,  278,  350,  351,    0,    0,    0, 
             0,    0,  186,    0,  186,  186,  186,  186,  278,  278, 
           352,    0,  353,  278,  354,  355,  356,  357,  358,  359, 
           360,    0,  361,    0,  464,    0,    0,    0,    0,    0, 
             0,  464,    0,    0,    0,  186,  186,    0,    0,    0, 
             0,  278,    0,  186,  186,  186,  186,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,  533,  533,  533,    0,  533,  537, 
           537,  537,  533,  533,  537,  537,  537,  533,  537,  533, 
           533,  533,  533,  533,  533,  533,    0,  537,  537,  537, 
           533,  533,  533,  533,  533,  533,  533,  537,  537,  533, 
           537,  537,  537,  537,  537,  272,  533,    0,    0,  533, 
           533,  533,  537,  533,  533,  533,  533,  533,  533,  533, 
           533,  533,  533,  533,  537,  537,  537,  537,  537,  537, 
           537,  537,  537,  537,  537,  537,  537,  537,    0,    0, 
           537,  537,  537,  533,    0,  537,  533,  533,  537,  533, 
           533,  537,  533,  537,  533,  537,  533,  537,  533,  537, 
           537,  537,  537,  537,  537,  537,  533,  537,  537,  537, 
             0,  533,  533,  533,  533,  533,  533,    0,    0,  171, 
           533,  537,  533,  533,    0,  533,  533,  532,  532,  532, 
             0,  532,  278,  278,  278,  532,  532,  278,  278,  278, 
           532,  278,  532,  532,  532,  532,  532,  532,  532,    0, 
           532,  278,  278,  532,  532,  532,  532,  532,  532,  532, 
           278,  278,  532,  278,  278,  278,  278,  278,  171,  532, 
             0,    0,  532,  532,  532,  278,  532,  532,  532,  532, 
           532,  532,  532,  532,  532,  532,  532,  278,  278,  278, 
           278,  278,  278,  278,  278,  278,  278,  278,  278,  278, 
           278,    0,    0,  278,  278,  278,  532,    0,  278,  532, 
           532,  278,  532,  532,  278,  532,  278,  532,  278,  532, 
           278,  532,  278,  278,  278,  278,  278,  278,  278,  532, 
           278,  532,  278,    0,  532,  532,  532,  532,  532,  532, 
           538,    0,    0,  532,  278,  532,  532,    0,  532,  532, 
           538,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,  538,    0,    0,    0,    0,    0, 
             0,    0,    4,    5,    6,    0,    8,    0,  538,  538, 
             9,   10,    0,  538,    0,   11,    0,   12,   13,   14, 
            15,   16,   17,   18,    0,    0,    0,    0,   19,   20, 
            21,   22,   23,   24,   25,    0,    0,  107,    0,    0, 
             0,  538,    0,    0,   28,    0,    0,   31,   32,   33, 
             0,   34,   35,   36,   37,   38,   39,  251,   40,   41, 
            42,   43,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,  539,    0,    0,    0,    0,    0,    0, 
             0,  225,    0,  539,  114,    0,    0,   46,   47,    0, 
            48,    0,  252,    0,  253,    0,   50,    0,    0,    0, 
             0,    0,    0,    0,  254,    0,    0,    0,    0,   52, 
            53,   54,   55,   56,   57,    0,    0,  539,   58,    0, 
            59,   60,    0,   61,   62,  171,    0,  171,  171,  171, 
           171,  539,  539,    0,    0,    0,  539,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,  465,    0,    0, 
             0,    0,    0,    0,  465,    0,    0,    0,  171,  171, 
             0,    0,    0,    0,  539,    0,  171,  171,  171,  171, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
           153,    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,  535,  535,  535, 
             0,  535,  538,  538,  538,  535,  535,  538,  538,  538, 
           535,  538,  535,  535,  535,  535,  535,  535,  535,  153, 
           538,  538,  538,  535,  535,  535,  535,  535,  535,  535, 
           538,  538,  535,  538,  538,  538,  538,  538,    0,  535, 
             0,    0,  535,  535,  535,  538,  535,  535,  535,  535, 
           535,  535,  535,  535,  535,  535,  535,  538,  538,  538, 
           538,  538,  538,  538,  538,  538,  538,  538,  538,  538, 
           538,    0,    0,  538,  538,  538,  535,    0,  538,  535, 
           535,  538,  535,  535,  538,  535,  538,  535,  538,  535, 
           538,  535,  538,  538,  538,  538,  538,  538,  538,  535, 
           538,  538,  538,    0,  535,  535,  535,  535,  535,  535, 
             0,    0,  154,  535,  538,  535,  535,    0,  535,  535, 
           536,  536,  536,    0,  536,  539,  539,  539,  536,  536, 
           539,  539,  539,  536,  539,  536,  536,  536,  536,  536, 
           536,  536,    0,  539,  539,  539,  536,  536,  536,  536, 
           536,  536,  536,  539,  539,  536,  539,  539,  539,  539, 
           539,  154,  536,    0,    0,  536,  536,  536,  539,  536, 
           536,  536,  536,  536,  536,  536,  536,  536,  536,  536, 
           539,  539,  539,  539,  539,  539,  539,  539,  539,  539, 
           539,  539,  539,  539,    0,    0,  539,  539,  539,  536, 
             0,  539,  536,  536,  539,  536,  536,  539,  536,  539, 
           536,  539,  536,  539,  536,  539,  539,  539,  539,  539, 
           539,  539,  536,  539,  539,  539,    0,  536,  536,  536, 
           536,  536,  536,  283,    0,    0,  536,  539,  536,  536, 
             0,  536,  536,  283,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,  153,    0,  153,  153, 
           153,  153,    0,    0,    0,    0,    0,  283,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,  467,    0, 
             0,  283,  283,    0,  104,  467,  283,    0,    0,  153, 
           153,    0,    0,    0,    0,    0,    0,  153,  153,  153, 
           153,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,  283,    0,  602,  566,    0,    0, 
           603,    0,    0,    0,  169,  170,    0,  171,  172,  173, 
           174,  175,  176,  177,    0,    0,  178,  179,    0,    0, 
             0,  180,  181,  182,  183,    0,  396,    0,    0,    0, 
           268,    0,    0,    0,    0,    0,  396,  185,  186,    0, 
           187,  188,  189,  190,  191,  192,  193,  194,  195,  196, 
           197,    0,    0,  198,    0,  337,  338,  339,  340,  341, 
           342,  343,  344,    0,  346,  347,    0,    0,    0,    0, 
           396,  350,  351,    0,    0,    0,    0,    0,  154,    0, 
           154,  154,  154,  154,    0,  396,  352,    0,  353,  396, 
           354,  355,  356,  357,  358,  359,  360,    0,  361,    0, 
           466,    0,    0, 
       };
    }
 
    private static final short[] yyTable2() {
       return new short[] {
 
             0,    0,    0,    0,  466,    0,    0,    0,  154,  154, 
             0,    0,    0,    0,  396,    0,  154,  154,  154,  154, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,  534,  534,  534, 
             0,  534,  283,  283,  283,  534,  534,  283,  283,  283, 
           534,  283,  534,  534,  534,  534,  534,  534,  534,    0, 
             0,  283,  283,  534,  534,  534,  534,  534,  534,  534, 
           283,  283,  534,  283,  283,  283,  283,  283,  272,  534, 
             0,    0,  534,  534,  534,  283,  534,  534,  534,  534, 
           534,  534,  534,  534,  534,  534,  534,  283,  283,  283, 
           283,  283,  283,  283,  283,  283,  283,  283,  283,  283, 
           283,    0,    0,  283,  283,  283,  534,    0,  283,  534, 
           534,  283,  534,  534,  283,  534,  283,  534,  283,  534, 
           283,  534,  283,  283,  283,  283,  283,  283,  283,  534, 
           283,    0,  283,    0,  534,  534,  534,  534,  534,  534, 
             0,    0,  155,  534,  283,  534,  534,    0,  534,  534, 
           258,  258,  258,    0,  258,  396,  396,  396,  258,  258, 
           396,  396,  396,  258,  396,  258,  258,  258,  258,  258, 
           258,  258,    0,  396,  396,  396,  258,  258,  258,  258, 
           258,  258,  258,  396,  396,  258,  396,  396,  396,  396, 
           396,  155,  258,    0,    0,  258,  258,  258,    0,  258, 
           258,  258,  258,  258,  258,  258,  258,  258,  258,  258, 
           396,  396,  396,  396,  396,  396,  396,  396,  396,  396, 
           396,  396,  396,  396,    0,    0,  396,  396,  396,  258, 
             0,  396,  258,    0,  396,  258,  258,  396,  258,  396, 
           258,  396,  258,  396,  258,  396,  396,  396,  396,  396, 
           396,  396,  258,  396,  396,  396,    0,  258,  258,  258, 
           258,  258,  258,  555,    0,    0,  258,    0,  258,  258, 
             0,  258,  258,  555,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,  555,    0,    0, 
             0,    0,    0,    0,    0,    4,    5,    6,    0,    8, 
             0,    0,  555,    9,   10,    0,  555,    0,   11,    0, 
            12,   13,   14,   15,   16,   17,   18,    0,    0,    0, 
             0,   19,   20,   21,   22,   23,   24,   25,    0,    0, 
            26,    0,    0,    0,  555,    0,    0,   28,    0,    0, 
            31,   32,   33,    0,   34,   35,   36,   37,   38,   39, 
             0,   40,   41,   42,   43,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,  290,    0,    0,    0, 
             0,    0,    0,    0,  225,    0,  290,  114,    0,    0, 
            46,   47,    0,   48,    0,    0,    0,    0,    0,   50, 
             0,    0,    0,    0,    0,    0,    0,   51,    0,    0, 
             0,    0,   52,   53,   54,   55,   56,   57,    0,    0, 
           290,   58,    0,   59,   60,    0,   61,   62,  155,    0, 
           155,  155,  155,  155,    0,  290,    0,    0,    0,  290, 
             0,    0,  337,  338,  339,  340,  341,  342,  343,    0, 
           468,  346,  347,    0,    0,    0,    0,  468,  350,  351, 
             0,  155,  155,    0,    0,    0,    0,  290,    0,  155, 
           155,  155,  155,  352,    0,  353,    0,  354,  355,  356, 
           357,  358,  359,  360,    0,  361,    0,    0,    0,    0, 
             0,    0,    0,    0,   60,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,   60,    0,    0,    0,    0,    0, 
           258,  258,  258,    0,  258,  555,  555,  555,  258,  258, 
           555,  555,  555,  258,  555,  258,  258,  258,  258,  258, 
           258,  258,    0,  555,  555,  555,  258,  258,  258,  258, 
           258,  258,  258,  555,  555,  258,  555,  555,  555,  555, 
           555,    0,  258,   60,  362,  258,  258,  258,    0,  258, 
           258,  258,  258,  258,  258,  258,  258,  258,  258,  258, 
           555,  555,  555,  555,  555,  555,  555,  555,  555,  555, 
           555,  555,  555,  555,    0,    0,  555,  555,  555,  258, 
             0,  555,  258,    0,  555,  258,  258,  555,  258,  555, 
           258,  555,  258,  555,  258,  555,  555,  555,  555,  555, 
           555,  555,  258,  555,  555,  555,    0,  258,  258,  258, 
           258,  258,  258,    0,    0,    0,  258,    0,  258,  258, 
             0,  258,  258,  258,  258,  258,    0,  258,  290,  290, 
           290,  258,  258,  290,  290,  290,  258,  290,  258,  258, 
           258,  258,  258,  258,  258,    0,    0,  290,  290,  258, 
           258,  258,  258,  258,  258,  258,  290,  290,  258,  290, 
           290,  290,  290,  290,    0,  258,    0,    0,  258,  258, 
           258,    0,  258,  258,  258,  258,  258,  258,  258,  258, 
           258,  258,  258,  290,  290,  290,  290,  290,  290,  290, 
           290,  290,  290,  290,  290,  290,  290,    0,    0,  290, 
           290,  290,  258,    0,  290,  258,    0,  290,  258,  258, 
           290,  258,  290,  258,  290,  258,  290,  258,  290,  290, 
           290,  290,  290,  290,  290,  258,  290,  533,  290,    0, 
           258,  258,  258,  258,  258,  258,    0,  533,    0,  258, 
             0,  258,  258,    0,  258,  258,   60,   60,   60,    0, 
             0,   60,   60,   60,    0,   60,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,   60,   60,    0,    0,    0, 
             0,   92,    0,    0,   60,   60,    0,   60,   60,   60, 
            60,   60,    0,    0,    0,    0,  533,    0,  101,    0, 
           533,    0,    0,    0,    0,    0,    0,    0,  337,  338, 
           339,  340,  341,  342,  343,  344,  345,  346,  347,    0, 
           348,  349,    0,    0,  350,  351,    0,    0,  533,    0, 
             0,    0,    0,    0,    0,   60,    0,    0,   60,  352, 
             0,  353,    0,  354,  355,  356,  357,  358,  359,  360, 
             0,  361,    0,    0,    0,    0,   60,    0,    0,    0, 
           534,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
           534,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,  624,  560,    0,    0, 
           625,    0,    0,    0,  169,  170,    0,  171,  172,  173, 
           174,  175,  176,  177,   94,    0,  178,  179,    0,    0, 
             0,  180,  181,  182,  183,    0,    0,    0,    0,  534, 
           268,  103,    0,  534,    0,    0,    0,  185,  186,    0, 
           187,  188,  189,  190,  191,  192,  193,  194,  195,  196, 
           197,    0,    0,  198,    0,    0,    0,    0,    0,    0, 
             0,  534,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,  112,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,   41,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,   41,  533,  533,  533,    0,  533,  533, 
           533,  533,  533,  533,    0,  533,  533,  533,  533,  533, 
           533,  533,  533,  533,  533,  533,  112,  533,    0,  113, 
           533,  533,  533,  533,  533,  533,  533,  533,  533,  533, 
           533,  533,  533,  533,  533,    0,  533,    0,    0,  533, 
           533,  533,   41,  533,  533,  533,  533,  533,  533,  533, 
           533,  533,  533,  533,  533,  533,  533,  533,  533,  533, 
           533,  533,  533,  533,  533,  533,  533,  533,  113,    0, 
           533,  533,  533,  533,    0,    0,  533,  533,  533,  533, 
           533,    0,  533,    0,  533,  533,  533,  533,  533,  533, 
           533,  533,  533,  533,  533,  533,  533,  533,  533,  533, 
             0,  533,  533,  533,  533,  533,  533,    0,    0,    0, 
           533,    0,  533,  533,    0,  533,  533,  534,  534,  534, 
             0,  534,  534,  534,  534,  534,  534,    0,  534,  534, 
           534,  534,  534,  534,  534,  534,  534,  534,  534,    0, 
           534,    0,    0,  534,  534,  534,  534,  534,  534,  534, 
           534,  534,  534,  534,  534,  534,  534,  534,    0,  534, 
             0,    0,  534,  534,  534,    0,  534,  534,  534,  534, 
           534,  534,  534,  534,  534,  534,  534,  534,  534,  534, 
           534,  534,  534,  534,  534,  534,  534,  534,  534,  534, 
           534,    0,    0,  534,  534,  534,  534,    0,    0,  534, 
           534,  534,  534,  534,    0,  534,    0,  534,  534,  534, 
           534,  534,  534,  534,  534,  534,  534,  534,  534,  534, 
           534,  534,  534,    0,  534,  534,  534,  534,  534,  534, 
           537,    0,    0,  534,    0,  534,  534,    0,  534,  534, 
           537,    0,    0,    0,    0,   41,   41,   41,    0,    0, 
             0,   41,   41,    0,   41,    0,    0,    0,    0,    0, 
             0,    0,    0,  112,    0,  112,  112,  112,  112,    0, 
             0,    0,    0,    0,   93,    0,   41,   41,   41,   41, 
            41,    0,    0,    0,    0,  457,    0,    0,    0,  537, 
             0,  102,  457,  537,    0,    0,  112,  112,    0,    0, 
             0,    0,    0,    0,  112,  112,  112,  112,    0,    0, 
             0,    0,    0,    0,    0,  113,    0,  113,  113,  113, 
           113,  537,    0,    0,   41,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,  460,    0,    0, 
             0,    0,    0,    0,  460,   41,    0,    0,  113,  113, 
             0,    0,    0,  283,    0,    0,  113,  113,  113,  113, 
             0,    0,    0,  283,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,  626, 
           566,    0,    0,  627,    0,    0,    0,  169,  170,    0, 
           171,  172,  173,  174,  175,  176,  177,   95,    0,  178, 
           179,    0,    0,    0,  180,  181,  182,  183,    0,    0, 
             0,    0,  283,  268,  104,    0,  283,    0,    0,    0, 
           185,  186,    0,  187,  188,  189,  190,  191,  192,  193, 
           194,  195,  196,  197,    0,    0,  198,    0,    0,    0, 
             0,    0,    0,    0,  283,    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,   62,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,   62,    0,    0,    0,    0,  533,  533,  533, 
             0,  533,  537,  537,  537,  533,  533,    0,  537,  537, 
           533,  537,  533,  533,  533,  533,  533,  533,  533,    0, 
           537,    0,    0,  533,  533,  533,  533,  533,  533,  533, 
           537,  537,  533,  537,  537,  537,  537,  537,    0,  533, 
             0,   62,  533,  533,  533,    0,  533,  533,  533,  533, 
           533,  533,  533,  533,  533,  533,  533,  537,  537,  537, 
           537,  537,  537,  537,  537,  537,  537,  537,  537,  537, 
           537,    0,    0,  537,  537,  537,  533,    0,    0,  533, 
           533,  537,  533,  533,    0,  533,    0,  533,  537,  533, 
           537,  533,  537,  537,  537,  537,  537,  537,  537,  533, 
           537,  537,  537,    0,  533,  533,  533,  533,  533,  533, 
             0,    0,    0,  533,    0,  533,  533,    0,  533,  533, 
           534,  534,  534,    0,  534,  283,  283,  283,  534,  534, 
             0,  283,  283,  534,  283,  534,  534,  534,  534,  534, 
           534,  534,    0,    0,    0,    0,  534,  534,  534,  534, 
           534,  534,  534,  283,  283,  534,  283,  283,  283,  283, 
           283,    0,  534,    0,    0,  534,  534,  534,    0,  534, 
           534,  534,  534,  534,  534,  534,  534,  534,  534,  534, 
           283,  283,  283,  283,  283,  283,  283,  283,  283,  283, 
           283,  283,  283,  283,    0,    0,  283,  283,  283,  534, 
             0,    0,  534,  534,  283,  534,  534,    0,  534,    0, 
           534,  283,  534,  283,  534,  283,  283,  283,  283,  283, 
           283,  283,  534,  283,  397,  283,    0,  534,  534,  534, 
           534,  534,  534,    0,  397,    0,  534,    0,  534,  534, 
             0,  534,  534,    0,   62,   62,   62,    0,    0,   62, 
            62,   62,    0,   62,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,   62,   62,    0,    0,    0,  397,    0, 
             0,    0,   62,   62,    0,   62,   62,   62,   62,   62, 
             0,    0,  397,  397,    0,  100,    0,  397,    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,  397,    0,    0,    0,    0, 
             0,    0,    0,   62,    0,  396,   62,    0,    0,    0, 
             0,    0,    0,    0,    0,  396,    0,    0,    0,    0, 
             0,    0,    0,    0,   62,    4,    5,    6,    0,    8, 
             0,    0,    0,    9,   10,    0,    0,    0,   11,    0, 
            12,   13,   14,  102,  103,   17,   18,    0,    0,  396, 
             0,  104,  105,  106,   22,   23,   24,   25,    0,    0, 
           107,    0,    0,  396,  396,    0,    0,  108,  396,    0, 
            31,   32,   33,    0,  109,   35,   36,   37,  110,   39, 
             0,   40,    0,    0,  111,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,  396,    0,    0,    0, 
             0,  112,    0,    0,  113,    0,    0,  114,    0,    0, 
            46,   47,    0,   48,    0,    0,    0,    0,    0,  469, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,  469, 
             0,    0,   52,   53,   54,   55,   56,   57,    0,    0, 
             0,   58,    0,   59,   60,    0,   61,   62,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,  469,    0,    0,  397,  397,  397,    0, 
             0,  397,  397,  397,    0,  397,    0,  469,  469,    0, 
            98,    0,  469,    0,  397,  397,  397,    0,    0,    0, 
             0,    0,    0,    0,  397,  397,    0,  397,  397,  397, 
           397,  397,    0,    0,    0,    0,    0,    0,    0,  397, 
           469,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,  397,  397,  397,  397,  397,  397,  397,  397,  397, 
           397,  397,  397,  397,  397,    0,    0,  397,  397,  397, 
             0,    0,  397,    0,    0,  397,    0,    0,  397,    0, 
           397,    0,  397,  470,  397,    0,  397,  397,  397,  397, 
           397,  397,  397,  470,  397,  397,  397,  396,  396,  396, 
             0,    0,  396,  396,  396,    0,  396,    0,  397,    0, 
             0,    0,    0,    0,    0,  396,  396,  396,    0,    0, 
             0,    0,    0,    0,    0,  396,  396,  470,  396,  396, 
           396,  396,  396,    0,    0,    0,    0,    0,    0,    0, 
           396,  470,  470,    0,   99,    0,  470,    0,    0,    0, 
             0,    0,  396,  396,  396,  396,  396,  396,  396,  396, 
           396,  396,  396,  396,  396,  396,    0,    0,  396,  396, 
           396,    0,    0,  396,  470,    0,  396,    0,    0,  396, 
             0,  396,    0,  396,    0,  396,    0,  396,  396,  396, 
           396,  396,  396,  396,    0,  396,  396,  396,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,  396, 
             0,  469,  469,  469,    0,    0,  469,  469,  469,    0, 
           469,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
           469,  469,    0,    0,    0,    0,    0,    0,    0,  469, 
           469,    0,  469,  469,  469,  469,  469,    0,    0,    0, 
             0,    0,    0,    0,  469,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,  469,  469,  469,  469, 
           469,  469,  469,  469,  469,  469,  469,  469,  469,  469, 
             0,  555,  469,  469,  469,    0,  471,  469,    0,    0, 
           469,  555,    0,  469,    0,  469,    0,  469,    0,  469, 
             0,  469,  469,  469,  469,  469,  469,  469,    0,  469, 
             0,  469,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,  469,    0,  555,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,  555, 
           555,    0,    0,    0,  555,  470,  470,  470,    0,    0, 
           470,  470,  470,    0,  470,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,  470,  470,    0,    0,    0,    0, 
             0,    0,  555,  470,  470,    0,  470,  470,  470,  470, 
           470,    0,    0,    0,    0,    0,    0,    0,  470,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
           470,  470,  470,  470,  470,  470,  470,  470,  470,  470, 
           470,  470,  470,  470,    0,  277,  470,  470,  470,    0, 
           472,  470,    0,    0,  470,  277,    0,  470,    0,  470, 
             0,  470,    0,  470,    0,  470,  470,  470,  470,  470, 
           470,  470,    0,  470,    0,  470,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,  470,    0,  277, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,  638,  560,  277,  277,  639,  106,    0,  277,  169, 
           170,    0,  171,  172,  173,  174,  175,  176,  177,    0, 
             0,  178,  179,    0,    0,    0,  180,  181,  182,  183, 
             0,    0,    0,    0,    0,  268,  277,    0,    0,    0, 
             0,    0,  185,  186,    0,  187,  188,  189,  190,  191, 
           192,  193,  194,  195,  196,  197,    0,    0,  198,  284, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,  284, 
             0,    0,    0,  555,  555,  555,    0,    0,  555,  555, 
           555,    0,  555,    0,    0,    0,    0,    0,    0,    0, 
             0,  555,  555,  555,    0,    0,    0,    0,    0,    0, 
             0,  555,  555,  284,  555,  555,  555,  555,  555,    0, 
             0,    0,    0,    0,    0,    0,  555,  284,  284,    0, 
           105,    0,  284,    0,    0,    0,    0,    0,  555,  555, 
           555,  555,  555,  555,  555,  555,  555,  555,  555,  555, 
           555,  555,    0,    0,  555,  555,  555,    0,    0,  555, 
           284,    0,  555,    0,    0,  555,    0,  555,    0,  555, 
           417,  555,    0,  555,  555,  555,  555,  555,  555,  555, 
           417,  555,  555,  555,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,  555,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,  417,    0,    0,  277,  277,  277, 
             0,    0,  277,  277,  277,    0,  277,    0,  417,  417, 
             0,    0,    0,  417,    0,    0,  277,  277,    0,    0, 
             0,    0,    0,    0,    0,  277,  277,    0,  277,  277, 
           277,  277,  277,    0,    0,    0,    0,    0,    0,    0, 
           277,  417,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,  277,  277,  277,  277,  277,  277,  277,  277, 
           277,  277,  277,  277,  277,  277,    0,    0,  277,  277, 
           277,    0,    0,  277,    0,    0,  277,    0,    0,  277, 
             0,  277,    0,  277,    0,  277,    0,  277,  277,  277, 
           277,  277,  277,  277,  295,  277,    0,  277,    0,    0, 
             0,    0,    0,    0,  295,    0,    0,    0,    0,  277, 
             0,  284,  284,  284,    0,    0,  284,  284,  284,    0, 
           284,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
           284,  284,    0,    0,    0,    0,    0,    0,  295,  284, 
           284,    0,  284,  284,  284,  284,  284,    0,    0,    0, 
             0,    0,  295,  295,  284,    0,    0,  295,    0,    0, 
             0,    0,    0,    0,    0,    0,  284,  284,  284,  284, 
           284,  284,  284,  284,  284,  284,  284,  284,  284,  284, 
             0,    0,  284,  284,  284,  295,    0,  284,    0,    0, 
           284,    0,    0,  284,    0,  284,    0,  284,  239,  284, 
             0,  284,  284,  284,  284,  284,  284,  284,  239,  284, 
             0,  284,  417,  417,  417,    0,    0,  417,  417,  417, 
             0,  417,    0,  284,    0,    0,    0,    0,    0,    0, 
             0,  417,  417,    0,    0,    0,    0,    0,    0,    0, 
           417,  417,  239,  417,  417,  417,  417,  417,    0,    0, 
             0,    0,    0,    0,    0,  417,  239,  239,    0,    0, 
             0,  239,    0,    0,    0,    0,    0,  417,  417,  417, 
           417,  417,  417,  417,  417,  417,  417,  417,  417,  417, 
           417,    0,    0,  417,  417,  417,    0,    0,  417,  327, 
             0,  417,    0,    0,  417,    0,  417,    0,  417,    0, 
           417,    0,  417,  417,  417,  417,  417,  417,  417,    0, 
           417,  290,  417,    0,    0,    0,    0,    0,    0,    0, 
             0,  290,    0,    0,  417,    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,  290,  295,  295,  295,    0, 
             0,  295,  295,  295,    0,  295,    0,    0,    0,  290, 
           290,    0,    0,    0,  290,  295,  295,    0,    0,    0, 
             0,    0,    0,    0,  295,  295,    0,  295,  295,  295, 
           295,  295,    0,    0,    0,    0,    0,    0,    0,  295, 
             0,    0,  290,    0,    0,    0,    0,    0,    0,    0, 
             0,  295,  295,  295,  295,  295,  295,  295,  295,  295, 
           295,  295,  295,  295,  295,    0,    0,  295,  295,  295, 
             0,    0,  295,    0,    0,  295,    0,    0,  295,    0, 
           295,    0,  295,  455,  295,    0,  295,  295,  295,  295, 
           295,  295,  295,  455,  295,    0,  295,    0,    0,    0, 
           239,  239,  239,    0,    0,  239,  239,  239,  295,  239, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,  239, 
           239,    0,    0,    0,    0,    0,    0,  455,  239,  239, 
             0,  239,  239,  239,  239,  239,    0,    0,    0,    0, 
             0,  455,  455,  239,    0,    0,  455,    0,    0,    0, 
             0,    0,    0,    0,    0,  239,  239,  239,  239,  239, 
           239,  239,  239,  239,  239,  239,  327,  239,  239,    0, 
             0,  239,  239,  327,  455,    0,  239,    0,    0,  239, 
             0,    0,  239,    0,  239,    0,  239,    0,  239,    0, 
           239,  239,  239,  239,  239,  239,  239,    0,  239,  456, 
           239,    0,    0,    0,    0,    0,    0,    0,    0,  456, 
             0,    0,  239,  290,  290,  290,    0,    0,  290,  290, 
           290,    0,  290,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,  290,  290,    0,    0,    0,    0,    0,    0, 
             0,  290,  290,  456,  290,  290,  290,  290,  290,    0, 
             0,    0,    0,    0,    0,    0,  290,  456,  456,    0, 
             0,    0,  456,    0,    0,    0,    0,    0,  290,  290, 
           290,  290,  290,  290,  290,  290,  290,  290,  290,  290, 
           290,  290,    0,    0,  290,  290,  290,    0,    0,  290, 
           456,    0,  290,    0,    0,  290,    0,  290,    0,  290, 
           217,  290,    0,  290,  290,  290,  290,  290,  290,  290, 
           217,  290,    0,  290,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,  290,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,  217,  455,  455,  455,    0,    0, 
           455,  455,  455,    0,  455,    0,    0,    0,  217,  217, 
             0,    0,    0,  217,  455,  455,    0,    0,    0,    0, 
             0,    0,    0,  455,  455,    0,  455,  455,  455,  455, 
           455,    0,    0,    0,    0,    0,    0,    0,  455,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,  455,  455,  455,  455,  455,  455,  455,  455,  455, 
           455,  455,  455,  455,    0,  213,  455,  455,  455,    0, 
             0,  455,    0,    0,  455,  213,    0,  455,    0,  455, 
             0,  455,    0,  455,    0,  455,  455,  455,  455,  455, 
           455,  455,    0,  455,    0,  455,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,  455,    0,  213, 
             0,  456,  456,  456,    0,    0,  456,  456,  456,    0, 
           456,    0,    0,  213,  213,    0,    0,    0,  213,    0, 
           456,  456,    0,    0,    0,    0,    0,    0,    0,  456, 
           456,    0,  456,  456,  456,  456,  456,    0,    0,    0, 
             0,    0,    0,    0,  456,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,  456,  456,  456, 
           456,  456,  456,  456,  456,  456,  456,  456,  456,  456, 
             0,    0,  456,  456,  456,    0,    0,  456,    0,    0, 
           456,    0,    0,  456,    0,  456,    0,  456,  210,  456, 
             0,  456,  456,  456,  456,  456,  456,  456,  210,  456, 
             0,  456,  217,  217,  217,    0,    0,  217,  217,  217, 
             0,  217,    0,  456,    0,    0,    0,    0,    0,    0, 
             0,  217,  217,    0,    0,    0,    0,    0,    0,    0, 
           217,  217,  210,  217,  217,  217,  217,  217,    0,    0, 
             0,    0,    0,    0,    0,  217,  210,  210,    0,    0, 
             0,  210,    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,    0, 
           217,    0,  217,  217,  217,  217,  217,  217,  217,    0, 
           217,    0,  217,  212,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,  212,  217,    0,    0,  213,  213,  213, 
             0,    0,  213,  213,  213,    0,  213,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,  213,  213,    0,    0, 
             0,    0,    0,    0,    0,  213,  213,  212,  213,  213, 
           213,  213,  213,    0,    0,    0,    0,    0,    0,    0, 
           213,  212,  212,    0,    0,    0,  212,    0,    0,    0, 
             0,    0,    0,  213,  213,  213,  213,  213,  213,  213, 
           213,  213,  213,    0,  213,  213,    0,    0,  213,  213, 
             0,    0,    0,  213,    0,    0,  213,    0,    0,  213, 
             0,  213,    0,  213,  211,  213,    0,  213,  213,  213, 
           213,  213,  213,  213,  211,  213,    0,  213,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,  213, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,  211,    0, 
           210,  210,  210,    0,    0,  210,  210,  210,    0,  210, 
             0,    0,  211,  211,    0,    0,    0,  211,    0,  210, 
           210,    0,    0,    0,    0,    0,    0,    0,  210,  210, 
             0,  210,  210,  210,  210,  210,    0,    0,    0,    0, 
             0,    0,    0,  210,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,  210,  210,  210,  210, 
           210,  210,  210,  210,  210,  210,    0,  210,  210,    0, 
           214,  210,  210,    0,    0,    0,  210,    0,    0,  210, 
           214,    0,  210,    0,  210,    0,  210,    0,  210,    0, 
           210,  210,  210,  210,  210,  210,  210,    0,  210,    0, 
           210,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,  210,    0,  214,  212,  212,  212,    0,    0, 
           212,  212,  212,    0,  212,    0,    0,    0,  214,  214, 
             0,    0,    0,  214,  212,  212,    0,    0,    0,    0, 
             0,    0,    0,  212,  212,    0,  212,  212,  212,  212, 
           212,    0,    0,    0,    0,    0,    0,    0,  212,    0, 
             0,    0,    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,  212,  215,  212,    0,  212,  212,  212,  212,  212, 
           212,  212,  215,  212,    0,  212,  211,  211,  211,    0, 
             0,  211,  211,  211,    0,  211,    0,  212,    0,    0, 
             0,    0,    0,    0,    0,  211,  211,    0,    0,    0, 
             0,    0,    0,    0,  211,  211,  215,  211,  211,  211, 
           211,  211,    0,    0,    0,    0,    0,    0,    0,  211, 
           215,  215,    0,    0,    0,  215,    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,  211,    0,  211,    0,  211,  211,  211,  211, 
           211,  211,  211,    0,  211,  209,  211,    0,    0,    0, 
             0,    0,    0,    0,    0,  209,    0,    0,  211,    0, 
             0,    0,  214,  214,  214,    0,    0,  214,  214,  214, 
             0,  214,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,  214,  214,    0,    0,    0,    0,    0,    0,  209, 
           214,  214,    0,  214,  214,  214,  214,  214,    0,    0, 
             0,    0,    0,  209,  209,  214,    0,    0,  209,    0, 
             0,    0,    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,  233, 
           214,    0,  214,  214,  214,  214,  214,  214,  214,  233, 
           214,    0,  214,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,  214,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,  233,  215,  215,  215,    0,    0,  215, 
           215,  215,    0,  215,    0,    0,    0,  233,  233,    0, 
             0,    0,  233,  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,  234,    0,  215,    0,    0,  215,    0,  215,    0, 
           215,  234,  215,    0,  215,  215,  215,  215,  215,  215, 
           215,    0,  215,    0,  215,    0,    0,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,  215,  209,  209,  209, 
             0,    0,  209,  209,  209,  234,  209,    0,    0,    0, 
             0,    0,    0,    0,    0,    0,  209,  209,    0,  234, 
           234,    0,    0,    0,  234,  209,  209,    0,  209,  209, 
           209,  209,  209,    0,    0,    0,    0,    0,    0,    0, 
           209,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,  209,  209,  209,  209,  209,  209,  209, 
           209,  209,  209,    0,  209,  209,    0,    0,  209,  209, 
             0,    0,    0,  209,    0,    0,  209,    0,    0,  209, 
             0,  209,    0,    0,  220,  209,    0,    0,    0,  209, 
           209,  209,  209,  209,  220,  209,    0,  209,    0,    0, 
             0,  233,  233,  233,    0,    0,  233,  233,  233,  209, 
           233,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
           233,  233,    0,    0,    0,    0,    0,    0,  220,  233, 
           233,    0,  233,  233,  233,  233,  233,    0,    0,    0, 
             0,    0,  220,  220,  233,    0,    0,  220,    0,    0, 
             0,    0,    0,    0,    0,    0,    0,  233,  233,  233, 
           233,  233,  233,  233,  233,  233,  233,    0,  233,  233, 
             0,    0,  233,  233,    0,    0,    0,  233,    0,    0, 
           233,    0,    0,  233,    0,  233,    0,    0,    0,  233, 
             0,    0,    0,    0,    0,  233,  233,  233,    0,  233, 
             0,  233,  218,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,  218,  233,    0,    0,    0,    0,    0,    0, 
             0,    0,    0,  234,  234,  234,    0,    0,  234,  234, 
           234,    0,  234,    0,    0,    0,    0,    0,    0,    0, 
             0,    0,  234,  234,    0,    0,  218,    0,    0,    0, 
             0,  234,  234,    0,  234,  234,  234,  234,  234,    0, 
          218,  218,    0,    0,    0,  218,  234,    0,    0,    0, 
            0,    0,    0,    0,    0,    0,    0,    0,    0,  234, 
          234,  234,  234,  234,  234,  234,  234,  234,  234,    0, 
          234,  234,    0,    0,  234,  234,    0,    0,    0,  234, 
            0,    0,  234,    0,    0,  234,    0,  234,    0,    0, 
          219,  234,    0,    0,    0,    0,    0,  234,  234,  234, 
          219,  234,    0,  234,    0,    0,    0,    0,    0,    0, 
            0,    0,    0,    0,    0,  234,    0,    0,    0,    0, 
            0,    0,    0,    0,    0,    0,  220,  220,  220,    0, 
            0,  220,  220,  220,  219,  220,    0,    0,    0,    0, 
            0,    0,    0,    0,    0,  220,  220,    0,  219,  219, 
            0,    0,    0,  219,  220,  220,    0,  220,  220,  220, 
          220,  220,    0,    0,    0,    0,    0,    0,    0,  220, 
            0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
            0,    0,  220,  220,  220,  220,  220,  220,  220,  220, 
          220,  220,    0,  220,  220,    0,    0,    0,    0,  223, 
            0,    0,  220,    0,    0,  220,    0,    0,  220,  223, 
          220,    0,    0,    0,  220,    0,    0,    0,    0,    0, 
          220,  220,  220,    0,  220,    0,  220,    0,    0,    0, 
            0,    0,    0,    0,    0,    0,    0,    0,  220,    0, 
            0,    0,    0,  223,  218,  218,  218,    0,    0,  218, 
          218,  218,    0,  218,    0,    0,    0,  223,  223,    0, 
            0,    0,  223,  218,  218,    0,    0,    0,    0,    0, 
            0,    0,  218,  218, 
      };
   }
   private static final short[] yyTable3() {
      return new short[] {
            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,    0,    0,    0,    0,  225,  218,    0,    0,  218, 
            0,    0,  218,    0,  218,  225,    0,    0,    0,    0, 
            0,    0,    0,    0,  218,  218,  218,    0,  218,    0, 
          218,    0,    0,    0,    0,    0,    0,    0,  219,  219, 
          219,    0,  218,  219,  219,  219,    0,  219,    0,  225, 
            0,    0,    0,    0,    0,    0,    0,  219,  219,    0, 
            0,    0,    0,  225,  225,    0,  219,  219,  225,  219, 
          219,  219,  219,  219,    0,    0,    0,    0,    0,    0, 
            0,  219,    0,    0,    0,    0,    0,    0,    0,    0, 
            0,    0,    0,    0,  219,  219,  219,  219,  219,  219, 
          219,  219,  219,  219,    0,  219,  219,    0,    0,    0, 
            0,    0,    0,    0,  219,    0,    0,  219,    0,    0, 
          219,    0,  219,    0,    0,  224,    0,    0,    0,    0, 
            0,    0,  219,  219,  219,  224,  219,    0,  219,    0, 
            0,    0,    0,    0,    0,    0,    0,  223,  223,  223, 
          219,    0,  223,  223,  223,    0,  223,    0,    0,    0, 
            0,    0,    0,    0,    0,    0,  223,  223,    0,  224, 
            0,    0,    0,    0,    0,  223,  223,    0,  223,  223, 
          223,  223,  223,  224,  224,    0,    0,    0,  224,    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,  222,  223,    0,    0,  223,    0,    0,  223, 
            0,  223,  222,    0,    0,    0,    0,    0,    0,    0, 
            0,  223,  223,    0,    0,    0,    0,  223,    0,    0, 
            0,    0,    0,    0,    0,    0,    0,    0,    0,  223, 
            0,    0,    0,    0,    0,    0,  222,  225,  225,  225, 
            0,    0,  225,  225,  225,    0,  225,    0,    0,    0, 
          222,  222,    0,    0,    0,  222,  225,  225,    0,    0, 
            0,    0,    0,    0,    0,  225,  225,    0,  225,  225, 
          225,  225,  225,    0,    0,    0,    0,    0,    0,    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, 
          221,    0,    0,  225,    0,    0,  225,    0,    0,  225, 
          221,  225,    0,    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,  221,    0,    0,  224,  224,  224, 
            0,    0,  224,  224,  224,    0,  224,    0,  221,  221, 
            0,    0,    0,  221,    0,    0,  224,  224,    0,    0, 
            0,    0,    0,    0,    0,  224,  224,    0,  224,  224, 
          224,  224,  224,    0,    0,    0,    0,    0,    0,    0, 
          224,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
            0,    0,    0,  224,  224,  224,  224,  224,  224,  224, 
          224,  224,  224,    0,  224,  224,    0,    0,    0,    0, 
            0,    0,  226,  224,    0,    0,  224,    0,    0,  224, 
            0,  224,  226,    0,    0,    0,    0,    0,    0,    0, 
            0,  224,  224,    0,  222,  222,  222,  224,    0,  222, 
          222,  222,    0,  222,    0,    0,    0,    0,    0,  224, 
            0,    0,    0,  222,  222,    0,  226,    0,    0,    0, 
            0,    0,  222,  222,    0,  222,  222,  222,  222,  222, 
          226,  226,    0,    0,    0,  226,    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,    0, 
          222,    0,    0,  222,    0,    0,  222,    0,  222,    0, 
            0,    0,    0,    0,    0,    0,    0,    0,  222,  222, 
          227,    0,    0,    0,  222,    0,    0,    0,    0,    0, 
          227,    0,    0,    0,    0,    0,  222,    0,    0,    0, 
            0,    0,  221,  221,  221,    0,    0,  221,  221,  221, 
            0,  221,    0,    0,    0,    0,    0,    0,    0,    0, 
            0,  221,  221,    0,  227,    0,    0,    0,    0,    0, 
          221,  221,    0,  221,  221,  221,  221,  221,  227,  227, 
            0,    0,    0,  227,    0,  221,    0,    0,    0,    0, 
            0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
            0,    0,    0,    0,  221,  221,    0,    0,    0,  221, 
          221,    0,    0,    0,    0,    0,    0,  228,  221,    0, 
            0,  221,    0,    0,  221,    0,  221,  228,    0,    0, 
            0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
            0,    0,  221,    0,    0,    0,    0,    0,    0,    0, 
            0,    0,    0,    0,  221,    0,    0,    0,    0,    0, 
            0,  228,    0,    0,  226,  226,  226,    0,    0,  226, 
          226,  226,    0,  226,    0,  228,  228,    0,    0,    0, 
          228,    0,    0,  226,  226,    0,    0,    0,    0,    0, 
            0,    0,  226,  226,    0,  226,  226,  226,  226,  226, 
            0,    0,    0,  235,    0,    0,    0,  226,    0,    0, 
            0,    0,    0,  235,    0,    0,    0,    0,    0,    0, 
            0,    0,    0,    0,    0,    0,  226,  226,    0,    0, 
            0,  226,  226,    0,    0,    0,    0,    0,    0,    0, 
          226,    0,    0,  226,    0,    0,  226,  235,  226,    0, 
            0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
            0,  235,  235,    0,  226,    0,  235,    0,    0,    0, 
            0,    0,    0,    0,    0,    0,  226,    0,    0,    0, 
            0,    0,  227,  227,  227,    0,    0,  227,  227,  227, 
            0,  227,    0,  229,    0,    0,    0,    0,    0,    0, 
            0,  227,  227,  229,    0,    0,    0,    0,    0,    0, 
          227,  227,    0,  227,  227,  227,  227,  227,    0,    0, 
            0,    0,    0,    0,    0,  227,    0,    0,    0,    0, 
            0,    0,    0,    0,    0,    0,    0,  229,    0,    0, 
            0,    0,    0,    0,  227,  227,    0,    0,    0,  227, 
          227,  229,  229,    0,    0,    0,  229,    0,  227,    0, 
            0,  227,    0,    0,  227,    0,  227,    0,    0,    0, 
            0,    0,    0,    0,    0,    0,    0,    0,    0,  228, 
          228,  228,  227,    0,  228,  228,  228,    0,  228,    0, 
          230,    0,    0,    0,  227,    0,    0,    0,  228,  228, 
          230,    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,  230,    0,    0,    0,    0,    0, 
            0,  228,  228,    0,    0,    0,  228,  228,  230,  230, 
            0,    0,    0,  230,    0,  228,    0,    0,  228,    0, 
            0,  228,    0,  228,    0,  235,  235,  235,    0,    0, 
          235,  235,  235,    0,  235,    0,  236,    0,    0,  228, 
            0,    0,    0,    0,  235,  235,  236,    0,    0,    0, 
            0,  228,    0,  235,  235,    0,  235,  235,  235,  235, 
          235,    0,    0,    0,    0,    0,    0,    0,  235,    0, 
            0,    0,    0,    0,   39,    0,    0,    0,    0,    0, 
          236,    0,    0,    0,   39,    0,    0,  235,  235,    0, 
            0,    0,  235,  235,  236,  236,    0,    0,    0,  236, 
            0,  235,    0,    0,  235,    0,    0,  235,    0,  235, 
            0,    0,    0,    0,    0,  229,  229,  229,  263,    0, 
          229,  229,  229,    0,  229,  235,  207,    0,    0,    0, 
            0,    0,    0,   39,  229,  229,  207,  235,    0,    0, 
            0,    0,    0,  229,  229,    0,  229,  229,  229,  229, 
          229,    0,    0,    0,    0,    0,    0,    0,  229,    0, 
            0,    0,    0,    0,    0,    0,  237,    0,    0,    0, 
          207,    0,    0,    0,    0,    0,  237,  229,  229,    0, 
            0,    0,  229,  229,  207,  207,    0,    0,    0,  207, 
            0,  229,    0,    0,  229,    0,    0,  229,    0,  229, 
            0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
          237,    0,  230,  230,  230,  229,    0,  230,  230,  230, 
            0,  230,    0,    0,  237,  237,    0,  229,    0,    0, 
            0,  230,  230,    0,    0,    0,    0,    0,    0,    0, 
          230,  230,    0,  230,  230,  230,  230,  230,    0,    0, 
            0,  205,    0,    0,    0,  230,    0,    0,    0,    0, 
            0,  205,    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,  205,  230,    0,  236,  236, 
          236,    0,    0,  236,  236,  236,    0,  236,    0,  205, 
          205,    0,  230,    0,    0,    0,    0,  236,  236,    0, 
            0,    0,    0,    0,  230,    0,  236,  236,    0,  236, 
          236,  236,  236,  236,    0,    0,   39,   39,   39,    0, 
            0,  236,   39,   39,    0,   39,    0,  204,    0,    0, 
            0,    0,    0,    0,    0,    0,    0,  204,    0,    0, 
            0,  236,    0,    0,    0,  236,  236,   39,   39,   39, 
           39,   39,    0,    0,  236,    0,    0,  236,    0,    0, 
          236,    0,  236,    0,    0,    0,    0,    0,  207,  207, 
          207,  204,    0,  207,  207,  207,    0,  207,  236,    0, 
            0,    0,    0,    0,    0,  204,  204,  207,  207,    0, 
          236,    0,    0,    0,    0,   39,  207,  207,    0,  207, 
          207,  207,  207,  207,    0,    0,    0,    0,  237,  237, 
          237,  207,  200,  237,  237,  237,   39,  237,    0,    0, 
            0,    0,  200,    0,    0,    0,    0,  237,  237,    0, 
            0,    0,    0,    0,    0,   &n